Compare commits

..

No commits in common. "main" and "fcast" have entirely different histories.
main ... fcast

75 changed files with 678 additions and 3390 deletions

1
.envrc
View file

@ -1 +0,0 @@
use flake "git+https://git.lillianviolet.dev/Lillian-Violet/dev-templates.git?dir=nix"

2
.gitignore vendored
View file

@ -1,2 +0,0 @@
/result
.envrc

View file

@ -57,7 +57,7 @@
size = "100%FREE";
content = {
type = "filesystem";
format = "ext4";
format = "bcachefs";
mountpoint = "/";
mountOptions = [
"defaults"

View file

@ -1,45 +0,0 @@
{
disko.devices = {
disk = {
nvme0n1 = {
type = "disk";
device = "/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0";
content = {
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"defaults"
];
};
};
swap = {
size = "16G";
content = {
type = "swap";
resumeDevice = true; # resume from hiberation from this device
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [
"defaults"
];
};
};
};
};
};
};
};
}

1194
flake.lock

File diff suppressed because it is too large Load diff

154
flake.nix
View file

@ -5,44 +5,24 @@
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-edge.url = "nixpkgs/master"; # Only used for bleeding edge packages
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
# Disko for declaratively setting disk formatting
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
bcachefs-tools = {
url = "github:koverstreet/bcachefs-tools";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-parts.follows = "flake-parts";
};
flake-parts = {
url = "github:hercules-ci/flake-parts"; # Flake parts for easy flake management
inputs.nixpkgs-lib.follows = "nixpkgs";
};
# Nixos generators for creating ISOs
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
# catpuccin theme
catppuccin.url = "github:catppuccin/nix";
# Conduit fork without all the fuss and drama
conduwuit = {
conduit = {
url = "github:girlbossceo/conduwuit";
inputs.nixpkgs.follows = "nixpkgs";
};
# Nix index database files
nix-index-database.url = "github:nix-community/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
# Secret management with sops
sops-nix.url = "github:Mic92/sops-nix";
@ -72,50 +52,52 @@
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
zjstatus.url = "github:dj95/zjstatus";
# Fix for steam cursor not being visible under wayland
extest.url = "github:chaorace/extest-nix";
# Add any other flake you might need
# hardware.url = "github:nixos/nixos-hardware";
# Required for making sure that Pi-hole continues running if the executing user has no active session.
linger = {
url = "github:mindsbackyard/linger-flake";
inputs.flake-utils.follows = "flake-utils";
};
pihole = {
url = "github:mindsbackyard/pihole-flake";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs.linger.follows = "linger";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
nixpkgs-edge,
nixos-generators,
catppuccin,
disko,
home-manager,
sops-nix,
simple-nixos-mailserver,
plasma-manager,
zjstatus,
linger,
pihole,
lanzaboote,
jovian,
nixos-hardware,
nix-index-database,
conduwuit,
conduit,
...
} @ inputs: let
inherit (self) outputs;
inherit (inputs) nixpkgs-edge;
# Supported systems for your flake packages, shell, etc.
systems = [
"armv7l-linux"
"x86_64-linux"
];
# This is a function that generates an attribute by calling a function you
# pass to it, with each system as an argument
forAllSystems = nixpkgs.lib.genAttrs systems;
pkgs-edge = import nixpkgs-edge {
system = "x86_64-linux";
config = {
allowUnfree = true;
allowUnfreePredicate = _: true;
};
};
in {
# Your custom packages
# Accessible through 'nix build', 'nix shell', etc
@ -145,7 +127,6 @@
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
{_module.args = {inherit pkgs-edge;};}
nixos-hardware.nixosModules.dell-xps-13-7390
# > Our main nixos configuration file <
./nixos/hosts/EDI/configuration.nix
@ -153,13 +134,8 @@
lanzaboote.nixosModules.lanzaboote
disko.nixosModules.disko
home-manager.nixosModules.home-manager
nix-index-database.nixosModules.nix-index
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
inputs.plasma-manager.homeManagerModules.plasma-manager
];
home-manager.sharedModules = [inputs.plasma-manager.homeManagerModules.plasma-manager];
}
];
};
@ -168,20 +144,14 @@
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
{_module.args = {inherit pkgs-edge;};}
# > Our main nixos configuration file <
./nixos/hosts/GLaDOS/configuration.nix
sops-nix.nixosModules.sops
#lanzaboote.nixosModules.lanzaboote
lanzaboote.nixosModules.lanzaboote
disko.nixosModules.disko
home-manager.nixosModules.home-manager
nix-index-database.nixosModules.nix-index
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
inputs.plasma-manager.homeManagerModules.plasma-manager
];
home-manager.sharedModules = [inputs.plasma-manager.homeManagerModules.plasma-manager];
}
];
};
@ -190,18 +160,11 @@
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
{_module.args = {inherit pkgs-edge;};}
# > Our main nixos configuration file <
./nixos/hosts/queen/configuration.nix
sops-nix.nixosModules.sops
disko.nixosModules.disko
simple-nixos-mailserver.nixosModule
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
];
}
];
};
@ -209,7 +172,6 @@
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
{_module.args = {inherit pkgs-edge;};}
# > Our main nixos configuration file <
./nixos/hosts/shodan/configuration.nix
sops-nix.nixosModules.sops
@ -217,56 +179,40 @@
disko.nixosModules.disko
jovian.nixosModules.jovian
home-manager.nixosModules.home-manager
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
inputs.plasma-manager.homeManagerModules.plasma-manager
];
home-manager.sharedModules = [inputs.plasma-manager.homeManagerModules.plasma-manager];
}
];
};
# ISO = nixpkgs.lib.nixosSystem {
# system = "x86_64-linux";
# specialArgs = {inherit inputs outputs;};
# modules = [
# {_module.args = {inherit pkgs-edge;};}
# "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix"
# "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
# ./nixos/hosts/iso/configuration.nix
# sops-nix.nixosModules.sops
# home-manager.nixosModules.home-manager
# nix-index-database.nixosModules.nix-index
# catppuccin.nixosModules.catppuccin
# {
# home-manager.sharedModules = [
# inputs.plasma-manager.homeManagerModules.plasma-manager
# inputs.catppuccin.homeManagerModules.catppuccin
# ];
# }
# ];
# };
ISO = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix"
"${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
./nixos/hosts/iso/configuration.nix
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
{
home-manager.sharedModules = [inputs.plasma-manager.homeManagerModules.plasma-manager];
}
];
};
# iso_server = nixpkgs.lib.nixosSystem {
# system = "x86_64-linux";
# specialArgs = {inherit inputs outputs;};
# modules = [
# {_module.args = {inherit pkgs-edge;};}
# "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
# "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
# ./nixos/hosts/iso_server/configuration.nix
# sops-nix.nixosModules.sops
# home-manager.nixosModules.home-manager
# nix-index-database.nixosModules.nix-index
# catppuccin.nixosModules.catppuccin
# {
# home-manager.sharedModules = [
# inputs.catppuccin.homeManagerModules.catppuccin
# ];
# }
# ];
# };
wheatley = nixpkgs.lib.nixosSystem {
system = "armv7l-linux";
specialArgs = {inherit inputs outputs;};
modules = [
# make the module declared by the linger flake available to our config
#linger.nixosModules."armv7l-linux".default
#pihole.nixosModules."armv7l-linux".default
disko.nixosModules.disko
# > Our main nixos configuration file <
./nixos/hosts/wheatley/configuration.nix
sops-nix.nixosModules.sops
];
};
};
};
}

View file

@ -16,10 +16,8 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
./package-configs/plasma-desktop.nix
./package-configs/firefox.nix
./package-configs/konsole
./package-configs/foot
../package-configs/zsh.nix
./plasma-desktop
];
nixpkgs = {
# You can add overlays here
@ -33,32 +31,6 @@
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
(final: prev: {
catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: {
accent = "mauve";
boldKeywords = true;
italicComments = true;
italicKeywords = true;
extraBordersEnabled = false;
workbenchMode = "default";
bracketMode = "rainbow";
colorOverrides = {};
customUIColors = {};
});
})
(final: prev: {
catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: {
accent = "mauve";
boldKeywords = true;
italicComments = true;
italicKeywords = true;
extraBordersEnabled = false;
workbenchMode = "default";
bracketMode = "rainbow";
colorOverrides = {};
customUIColors = {};
});
})
];
# Configure your nixpkgs instance
config = {
@ -80,12 +52,11 @@
# Coding:
direnv
git
git-credential-manager
git-credential-manager
ruff
kate
# Chat applications:
nheko
signal-desktop
webcord-vencord
@ -99,6 +70,7 @@
# Office applications:
onlyoffice-bin
teams-for-linux
gimp
thunderbird
@ -109,29 +81,15 @@
nextcloud-client
nitrokey-app
protonvpn-gui
sops
virtualbox
#watchmate
watchmate
qbittorrent
# Theming:
catppuccin-cursors
(catppuccin-kde.override {
flavour = ["macchiato"];
accents = ["mauve"];
})
catppuccin-sddm-corners
# Theming:
catppuccin-cursors
(catppuccin-kde.override {
flavour = ["macchiato"];
accents = ["mauve"];
})
catppuccin-sddm-corners
zsh
# Web browsing:
firefoxpwa
firefoxpwa
firefox
librewolf
ungoogled-chromium
];
@ -139,11 +97,10 @@
enable = true;
package = pkgs.vscodium;
extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
#arrterian.nix-env-selector
#ban.spellright
charliermarsh.ruff
dracula-theme.theme-dracula
eamodio.gitlens
github.vscode-pull-request-github
jnoortheen.nix-ide
@ -152,7 +109,12 @@
ms-toolsai.jupyter
ms-pyright.pyright
ms-python.black-formatter
#ms-python.python
ms-python.vscode-pylance
#ms-vscode-remote.remote-containers
ms-vscode-remote.remote-ssh
oderwat.indent-rainbow
#redhat.java
rust-lang.rust-analyzer
yzhang.markdown-all-in-one
];
@ -182,8 +144,6 @@
"*.direnv"
"*.vscode"
".envrc"
"venv"
"venv"
];
};

View file

@ -1,395 +0,0 @@
{
config,
pkgs,
...
}: {
programs.firefox = {
enable = true;
nativeMessagingHosts = [pkgs.firefoxpwa];
package = pkgs.firefox;
profiles.lillian = {
isDefault = true;
settings = {
"browser.aboutConfig.showWarning" = false;
"browser.bookmarks.addedImportButton" = true;
"browser.bookmarks.restore_default_bookmarks" = false;
"browser.bookmarks.showMobileBookmarks" = true;
"browser.ctrlTab.sortByRecentlyUsed" = true;
"browser.discovery.enabled" = false;
"browser.download.panel.shown" = true;
"browser.firefox-view.feature-tour" = "{\"message\":\"FIREFOX_VIEW_FEATURE_TOUR\",\"screen\":\"\",\"complete\":true}";
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.pageActions.persistedActions" = ''{"ids":["bookmark","_3c078156-979c-498b-8990-85f7987dd929_","firefoxpwa_filips_si"],"idsInUrlbar":["_3c078156-979c-498b-8990-85f7987dd929_","firefoxpwa_filips_si","bookmark"],"idsInUrlbarPreProton":[],"version":1}'';
"browser.search.region" = "NL";
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["jid1-mnnxcxisbpnsxq_jetpack-browser-action","firefoxpwa_filips_si-browser-action","ubo-scope_raymondhill_net-browser-action","treestyletab_piro_sakura_ne_jp-browser-action","wayback_machine_mozilla_org-browser-action","plasma-browser-integration_kde_org-browser-action","kde-connect_0xc0dedbad_com-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","bibitnow018_aqpl_mc2_chalmers_se-browser-action","_09b14d46-21c3-4a7d-b244-e756f497935b_-browser-action","_7fc8ef53-24ec-4205-87a4-1e745953bb0d_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_800215d6-eff0-4a62-9268-09857c048030_-browser-action","_b3e677f4-1150-4387-8629-da738260a48e_-browser-action","_d133e097-46d9-4ecc-9903-fa6a722a6e0e_-browser-action","myallychou_gmail_com-browser-action","_b7f9d2cd-d772-4302-8c3f-eb941af36f76_-browser-action","_cca112bb-1ca6-4593-a2f1-38d808a19dda_-browser-action","gdpr_cavi_au_dk-browser-action","_54da8dcf-a015-4c80-bbb4-db7f226ac7bd_-browser-action","jid1-om7ejgwa1u8akg_jetpack-browser-action","_7c1aa46e-b74f-4325-95d2-84c07d19cdce_-browser-action","_3c078156-979c-498b-8990-85f7987dd929_-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_15b1b2af-e84a-4c70-ac7c-5608b0eeed5a_-browser-action","_b9db16a4-6edc-47ec-a1f4-b86292ed211d_-browser-action","dontfuckwithpaste_raim_ist-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","customizableui-special-spring2","downloads-button","_testpilot-containers-browser-action","addon_darkreader_org-browser-action","umatrix_raymondhill_net-browser-action","ublock0_raymondhill_net-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_3579f63b-d8ee-424f-bbb6-6d0ce3285e6a_-browser-action","woop-noopscoopsnsxq_jetpack-browser-action","jid1-bofifl9vbdl2zq_jetpack-browser-action","cookieautodelete_kennydo_com-browser-action","addon_simplelogin-browser-action","jid1-aqqsmbyb0a8adg_jetpack-browser-action","unified-extensions-button","reset-pbm-toolbar-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button","_c607c8df-14a7-4f28-894f-29e8722976af_-browser-action"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","treestyletab_piro_sakura_ne_jp-browser-action","addon_darkreader_org-browser-action","_testpilot-containers-browser-action","wayback_machine_mozilla_org-browser-action","plasma-browser-integration_kde_org-browser-action","_c607c8df-14a7-4f28-894f-29e8722976af_-browser-action","kde-connect_0xc0dedbad_com-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","ublock0_raymondhill_net-browser-action","cookieautodelete_kennydo_com-browser-action","bibitnow018_aqpl_mc2_chalmers_se-browser-action","_09b14d46-21c3-4a7d-b244-e756f497935b_-browser-action","_7fc8ef53-24ec-4205-87a4-1e745953bb0d_-browser-action","woop-noopscoopsnsxq_jetpack-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_800215d6-eff0-4a62-9268-09857c048030_-browser-action","_3579f63b-d8ee-424f-bbb6-6d0ce3285e6a_-browser-action","_b3e677f4-1150-4387-8629-da738260a48e_-browser-action","_d133e097-46d9-4ecc-9903-fa6a722a6e0e_-browser-action","jid1-bofifl9vbdl2zq_jetpack-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","myallychou_gmail_com-browser-action","_b7f9d2cd-d772-4302-8c3f-eb941af36f76_-browser-action","umatrix_raymondhill_net-browser-action","_cca112bb-1ca6-4593-a2f1-38d808a19dda_-browser-action","gdpr_cavi_au_dk-browser-action","_54da8dcf-a015-4c80-bbb4-db7f226ac7bd_-browser-action","ubo-scope_raymondhill_net-browser-action","jid1-om7ejgwa1u8akg_jetpack-browser-action","_7c1aa46e-b74f-4325-95d2-84c07d19cdce_-browser-action","_3c078156-979c-498b-8990-85f7987dd929_-browser-action","addon_simplelogin-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","jid1-aqqsmbyb0a8adg_jetpack-browser-action","_15b1b2af-e84a-4c70-ac7c-5608b0eeed5a_-browser-action","firefoxpwa_filips_si-browser-action","_b9db16a4-6edc-47ec-a1f4-b86292ed211d_-browser-action","dontfuckwithpaste_raim_ist-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","unified-extensions-area","widget-overflow-fixed-list"],"currentVersion":20,"newElementCount":14}'';
"browser.urlbar.placeholderName" = "DuckDuckGo";
"browser.urlbar.placeholderName.private" = "DuckDuckGo";
"extensions.webextensions.uuid" = ''{"formautofill@mozilla.org":"ea6a95e0-ef85-453b-afdf-44e57e4ca32c","pictureinpicture@mozilla.org":"41fcca40-5f8a-4182-ace9-e1ff2e6fc210","screenshots@mozilla.org":"8c2c3f97-17a1-4240-b640-c9707e3b917e","webcompat-reporter@mozilla.org":"d2c1a84b-03ff-47c6-92be-a623026b79d9","webcompat@mozilla.org":"bb5b827a-1ad3-40d0-8c16-c7d6db11a62b","default-theme@mozilla.org":"83700f73-6c25-4599-9393-3e071be81fe6","wayback_machine@mozilla.org":"ef76899f-67d6-4ffb-973f-0c198a8369e4","uBlock0@raymondhill.net":"24e7b891-a28c-4555-b072-0ee184115cb4","DontFuckWithPaste@raim.ist":"6dbb9616-e8c9-40ff-a729-01dcd6fe09b4","uBO-Scope@raymondhill.net":"6afd83ed-7f93-41ad-960c-28c5ec5ac9bd","gdpr@cavi.au.dk":"4577a4f9-84e4-400c-a995-9b13640f3620","addon@simplelogin":"e492ff49-9c0e-4c42-ab28-465563e953b9","addons-search-detection@mozilla.com":"63a9d1fb-3c16-4b40-bd69-de186c138c5e","plasma-browser-integration@kde.org":"e655920d-846c-4a72-918e-86ebb25362a6","firefoxpwa@filips.si":"3ce26b62-9349-47cc-beaa-584b0c737979","addon@darkreader.org":"510c480d-7737-47ad-91a0-5b8e8f3745c3","shinigamieyes@shinigamieyes":"8f3b1099-f3b1-4468-915d-60fbfbfda8ce","7esoorv3@alefvanoon.anonaddy.me":"947c1016-2e39-48cd-ae1a-c301a6531d2a","CookieAutoDelete@kennydo.com":"28ccdbbd-d179-472a-8658-ae97d228f958","jid1-MnnxcxisBPnSXQ@jetpack":"f361e1b5-74bf-4073-ae95-245429a12cad","jid1-AQqSMBYb0a8ADg@jetpack":"8f3e6fd5-f009-4d2e-b501-0ec6b18dcf9e","wikipedia@search.mozilla.org":"c615bbc5-9fa2-48ae-a78d-7e5546c1a94e","ddg@search.mozilla.org":"4f7e3183-d053-40f6-b7b2-8f405f033281","{446900e4-71c2-419f-a6a7-df9c091e268b}":"bccbf892-7089-4d89-b886-a667e6fd9a03","{3c078156-979c-498b-8990-85f7987dd929}":"f3f046fa-c1b9-415d-b79b-236109b3926b"}'';
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "DuckDuckGo";
};
userChrome = ''
/*
Title: Drannex42's FirefoxSidebar / Vertical Tabs
Description: Vertical tab design for Firefox with dynamic indentation::
Sideberry and TreeStyleTabs (Legacy) themes available!
Repository URL: https://github.com/drannex42/FirefoxSidebar
Version: 12022.04.17
*/
:root {
--sidebar-width: 50px;
--toolbar-height: 10px;
--menubar-height: 100px;
--sidebar-padding: calc(var(--sidebar-width) + 5px);
--toolbar-start-end-padding: 5px !important;
/* Custom Sidebar/Header Backround ::
This sets the background for the other sidebar options (bookmarks, history, in case it is transparent from a theme that is not set up properly
*/
/* --custom-sidebar-bg: Field; /* Default: Field (Disabled) */
/* --custom-sidebar-header-bg: #000; */
/* ====== Extension Settings ====== */
/* Window Control / Client Side Display Settings ===
If you are putting this on the left or right side uncomment the side
preferences below and comment the other
=========================================================================
*/
--csd-width: 100px;
--csd-top: 8px;
/*
CSD - Left Side ===
Default: --csd-left: 50px; --csd-margin-left: 92px;
*/
/*
--csd-left: 50px;
--csd-margin-left: 92px;
*/
/*
CSD - Right Side ===
Defaults: --csd-right: 0px; --csd-margin-right: 95px;
*/
--csd-right: 36px;
--csd-margin-right: 130px;
/* === END: Window Control / Client Side Display Settings === */
/* === END: Extension Settings === */
}
/* ========================================================================= */
/*
Extension (Core): Sidebar
Description: This is the core implementation of the sidebar used in drannex42's FirefoxSidebar.
Repository URL: https://github.com/drannex42/FirefoxSidebar
Version: v12024.05.15 (YYYYY.MM.DD)
*/
#main-window #TabsToolbar {
visibility: collapse;
}
/* As of v12024.05.15 we updated to using this one by MrOtherGuy, with modifications */
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0 */
/* Show sidebar only when the cursor is over it */
/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
#sidebar-box {
--uc-sidebar-width: 50px;
--uc-sidebar-hover-width: 260px;
--uc-autohide-sidebar-delay: 10ms;
/* Wait 0.6s before hiding sidebar */
--uc-autohide-transition-duration: 115ms;
--uc-autohide-transition-type: linear;
position: relative;
min-width: var(--uc-sidebar-width) !important;
width: var(--uc-sidebar-width) !important;
max-width: var(--uc-sidebar-width) !important;
z-index: 1;
margin-top: -40px;
}
#sidebar-box[positionend] {
direction: rtl
}
#sidebar-box[positionend]>* {
direction: ltr
}
#sidebar-box[positionend]:-moz-locale-dir(rtl) {
direction: ltr
}
#sidebar-box[positionend]:-moz-locale-dir(rtl)>* {
direction: rtl
}
#main-window[sizemode="fullscreen"] #sidebar-box {
--uc-sidebar-width: 1px;
}
#sidebar-splitter {
display: none
}
#sidebar-header {
overflow: hidden;
color: var(--chrome-color, inherit) !important;
padding-inline: 0 !important;
background: var(--custom-sidebar-header-bg, inherit) !important;
padding: 8px 12px !important;
padding-top: 9px !important;
border-bottom: none !Important;
}
#sidebar-header::before,
#sidebar-header::after {
content: "";
display: flex;
padding-left: 0px;
}
#sidebar-header,
#sidebar {
transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
min-width: var(--uc-sidebar-width) !important;
will-change: min-width;
}
#sidebar-box:hover>#sidebar-header,
#sidebar-box:hover>#sidebar {
min-width: var(--uc-sidebar-hover-width) !important;
width: var(--uc-sidebar-hover-width) !important;
transition-delay: 0ms !important;
}
#sidebar-box>#sidebar-header #sidebar-title {
opacity: 0;
}
#sidebar-box:hover>#sidebar-header #sidebar-title {
opacity: 1;
}
.sidebar-panel {
background-color: transparent !important;
color: var(--newtab-text-primary-color) !important;
}
.sidebar-panel #search-box {
-moz-appearance: none !important;
background-color: rgba(249, 249, 250, 0.1) !important;
color: inherit !important;
}
/* Add sidebar divider and give it background */
#sidebar,
#sidebar-header {
background-color: inherit !important;
border-right: 1px solid var(--sidebar-border-color);
border-inline-width: 0px 1px;
}
#sidebar-box:not([positionend])> :-moz-locale-dir(rtl),
#sidebar-box[positionend]>* {
border-inline-width: 1px 0px;
}
/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
#sidebar-box:not([positionend]):hover~#appcontent #statuspanel {
inset-inline: auto 0px !important;
}
#sidebar-box:not([positionend]):hover~#appcontent #statuspanel-label {
margin-inline: 0px !important;
border-left-style: solid !important;
}
.browser-toolbar {
padding-left: var(--sidebar-width) !important;
position: relative !important;
}
#PersonalToolbar {
padding: 2px 5px !important;
padding-top: 0px !important;
margin-top: 0px !important;
padding-left: calc(var(--sidebar-width) + 6px) !important;
}
/*
Extensions ::
To enable/disable specific extensions just comment/uncomment the line below.
=========================================================================
*/
/*
Extension: Window Controls / Client Side Decorations (CSD)
Description: This brings the window controls into the main bar (where the address bar exists). Please see the prefs.css folder for switching the sides from left to right.
Repository URL: https://github.com/drannex42/FirefoxSidebar
Contributors: Mr-nUUb, Xanaxus, Drannex42
Issue URL: https://github.com/drannex42/FirefoxSidebar/issues/14
*/
/* allow the buttons to appear */
.browser-toolbar {
position: unset !important;
}
/* reserve space for buttons */
#nav-bar {
padding-right: var(--csd-margin-right) !important;
margin-left: var(--csd-margin-left) !important;
}
/* move buttons next to menu button */
.titlebar-buttonbox-container {
visibility: visible !important;
position: fixed !important;
display: block;
z-index: 999999999;
top: var(--csd-top, inherit);
right: var(--csd-right, inherit);
left: var(--csd-left, inherit);
max-width: var(--csd-width);
}
/* hide buttons in fullscreen mode (video player and F11) */
#main-window[inFullscreen="true"] .titlebar-buttonbox-container,
#main-window[inDOMFullscreen="true"] .titlebar-buttonbox-container {
visibility: hidden !important;
}
/* remove empty space when in fullscreen mode (F11) */
#main-window[inFullscreen="true"] #nav-bar {
padding-right: 0px !important;
margin-left: 0px !important;
}
/* END Client Side Decorations / Window Controls */
/*
Extension: Superbox Removal (and compaction)
Description: This removes the superbox and fixes some padding around the urlbar.
Repository URL: https://github.com/drannex42/FirefoxSidebar
*/
/* --- Prevent enlargement */
#urlbar[breakout-extend] {
/* top: calc( */
/* (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2 */
/* ) !important; */
/* Fix due to deprecation https://www.reddit.com/r/firefox/comments/1cs3g49/address_bar_suggestions_going_up_instead_of_down/ */
top: calc((var(--urlbar-container-height, --urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
left: 0 !important;
width: 100% !important;
}
#urlbar[breakout-extend] #urlbar-input-container {
height: var(--urlbar-height) !important;
/* padding: 0px !important; */
padding-block: 0px !important;
padding-inline: 0px !important;
}
.urlbarView-row {
padding: 0px 2px 0px 2px;
}
/* END Prevent enlargement --- */
/*/* --- Reduce row paddings to make them more compact */
.urlbarView-row {
padding: 2px 0px !important;
line-height: 1.2em !important;
margin: -1px;
margin-bottom: 0px;
}
.urlbarView-row-inner {
padding-bottom: 6px !important;
}
.urlbarView {
margin: 0px !important;
width: 100% !important;
}
/* END Reduce row paddings to make them more compact --- */
/* Disable Urlbar Animation */
#urlbar[breakout][breakout-extend][breakout-extend-animate]>#urlbar-background {
animation-name: none !important;
animation: none !important;
}
/* END Disable Urlbar Animation */
/* --- More compact "Search with Google" rows */
.urlbarView-row[dynamicType="onboardTabToSearch"]>.urlbarView-row-inner {
min-height: auto !important;
width: auto !important;
}
.urlbarView-row[dynamicType="onboardTabToSearch"]>.urlbarView-row-inner>.urlbarView-no-wrap>.urlbarView-favicon {
margin-bottom: -1px;
}
/* END More compact "Search with Google" rows --- */
/* Remove active border on the addressbar when in focus */
#nav-bar {
--toolbar-field-focus-border-color: #ccc;
}
/* Remove box shadow on address bar */
#urlbar-background,
#searchbar {
box-shadow: none !important;
}
'';
bookmarks = [
{
name = "estrogen production";
tags = ["chemistry" "oestrogen" "estrogen" "diy"];
url = "https://crimethinc.com/2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide";
}
{
name = "Nix sites";
toolbar = false;
bookmarks = [
{
name = "packages";
tags = ["packages" "basic" "nix"];
url = "https://search.nixos.org/";
}
{
name = "settings";
tags = ["settings" "services" "packages" "nix"];
url = "https://mynixos.com";
}
];
}
];
};
};
}

View file

@ -1,20 +0,0 @@
{
lib,
pkgs,
inputs,
...
}: {
programs.foot = {
enable = true;
catppuccin.enable = true;
settings = {
main = {
font = "Fira Code:size=11";
};
mouse = {
hide-when-typing = "yes";
};
};
};
}

View file

@ -1,96 +0,0 @@
[Background]
Color=36,39,58
[BackgroundFaint]
Color=36,39,58
[BackgroundIntense]
Color=36,39,58
[Color0]
Color=110,115,141
[Color0Faint]
Color=110,115,141
[Color0Intense]
Color=110,115,141
[Color1]
Color=237,135,150
[Color1Faint]
Color=237,135,150
[Color1Intense]
Color=237,135,150
[Color2]
Color=166,218,149
[Color2Faint]
Color=166,218,149
[Color2Intense]
Color=166,218,149
[Color3]
Color=238,212,159
[Color3Faint]
Color=238,212,159
[Color3Intense]
Color=238,212,159
[Color4]
Color=138,173,244
[Color4Faint]
Color=138,173,244
[Color4Intense]
Color=138,173,244
[Color5]
Color=198,160,246
[Color5Faint]
Color=198,160,246
[Color5Intense]
Color=198,160,246
[Color6]
Color=137,220,227
[Color6Faint]
Color=137,220,227
[Color6Intense]
Color=137,220,227
[Color7]
Color=202,211,245
[Color7Faint]
Color=202,211,245
[Color7Intense]
Color=202,211,245
[Foreground]
Color=202,211,245
[ForegroundFaint]
Color=202,211,245
[ForegroundIntense]
Color=202,211,245
[General]
Blur=false
ColorRandomization=false
Description=Catppuccin Macchiato
Opacity=1
Wallpaper=

View file

@ -1,8 +0,0 @@
[Appearance]
ColorScheme=Catppuccin-Macchiato
[General]
Name=Catppuccin
Parent=FALLBACK/
StartInCurrentSessionDir=true
TerminalRows=30

View file

@ -1,25 +0,0 @@
{
lib,
pkgs,
inputs,
...
}: {
home.file = {
"profile" = {
source = ./Catppuccin.profile;
target = ".local/share/konsole/Catppuccin.profile";
};
};
home.file = {
"colorscheme" = {
source = ./Catppuccin-Macchiato.colorscheme;
target = ".local/share/konsole/Catppuccin-Macchiato.colorscheme";
};
};
home.file = {
"konsolerc" = {
source = ./konsolerc;
target = ".config/konsolerc";
};
};
}

View file

@ -1,17 +0,0 @@
[Desktop Entry]
DefaultProfile=Catppuccin.profile
[General]
ConfigVersion=1
[KonsoleWindow]
RememberWindowSize=false
[MainWindow]
1920x1080 screen: Height=512
1920x1080 screen: Width=911
State=AAAA/wAAAAD9AAAAAQAAAAAAAAAAAAAAAPwCAAAAAvsAAAAcAFMAUwBIAE0AYQBuAGEAZwBlAHIARABvAGMAawAAAAAA/////wAAAREA////+wAAACIAUQB1AGkAYwBrAEMAbwBtAG0AYQBuAGQAcwBEAG8AYwBrAAAAAAD/////AAABcgD///8AAAOPAAACDAAAAAQAAAAEAAAACAAAAAj8AAAAAQAAAAIAAAACAAAAFgBtAGEAaQBuAFQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAAAAABwAcwBlAHMAcwBpAG8AbgBUAG8AbwBsAGIAYQByAAAAAAD/////AAAAAAAAAAA=
ToolBarsMovable=Disabled
[UiSettings]
ColorScheme=

View file

@ -1,4 +1,11 @@
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
programs.plasma = {
enable = true;
shortcuts = {
@ -182,7 +189,7 @@
"kwin"."Window to Screen 6" = [];
"kwin"."Window to Screen 7" = [];
"kwin"."view_actual_size" = "Meta+0";
"kwin"."view_zoom_in" = "Meta++";
"kwin"."view_zoom_in" = ["Meta++" "Meta+="];
"kwin"."view_zoom_out" = "Meta+-";
"mediacontrol"."mediavolumedown" = [];
"mediacontrol"."mediavolumeup" = [];
@ -232,35 +239,24 @@
"plasmashell"."switch to next activity" = [];
"plasmashell"."switch to previous activity" = [];
"plasmashell"."toggle do not disturb" = [];
"services/org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"];
"services/org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services/org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"];
"services/org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services/org.kde.spectacle.desktop"."RecordRegion" = [];
"services/org.kde.spectacle.desktop"."RecordScreen" = [];
"services/org.kde.spectacle.desktop"."RecordWindow" = [];
"services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"];
"services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"];
"services/org.kde.spectacle.desktop"."_launch" = "Print";
"services/services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services/services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "Meta+Print" "Ctrl+!"];
"services/services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services/services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "Ctrl+$" "Shift+Print"];
"services/services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services/services.org.kde.spectacle.desktop"."RecordWindow" = [];
"services/services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "Ctrl+@" "Meta+Shift+Print"];
"services/services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"];
"services/services.org.kde.spectacle.desktop"."_launch" = "Print";
"services/services.services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services/services.services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "Meta+Print" "Ctrl+!"];
"services/services.services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services/services.services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "Ctrl+$" "Shift+Print"];
"services/services.services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services/services.services.org.kde.spectacle.desktop"."RecordWindow" = [];
"services/services.services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"];
"services/services.services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"];
"services/services.services.org.kde.spectacle.desktop"."_launch" = "Print";
"services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"];
"services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"];
"services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services.org.kde.spectacle.desktop"."RecordWindow" = [];
"services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"];
"services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"];
"services.org.kde.spectacle.desktop"."_launch" = "Print";
"services.services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services.services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "Meta+Print" "Ctrl+!"];
"services.services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services.services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "Ctrl+$" "Shift+Print"];
"services.services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services.services.org.kde.spectacle.desktop"."RecordWindow" = [];
"services.services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "Ctrl+@" "Meta+Shift+Print"];
"services.services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "Meta+Ctrl+Print" "Ctrl+%"];
"services.services.org.kde.spectacle.desktop"."_launch" = "Print";
};
configFile = {
"baloofilerc"."General"."dbVersion" = 2;
@ -275,16 +271,11 @@
"dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22;
"dolphinrc"."KFileDialog Settings"."detailViewIconSize" = 16;
"dolphinrc"."PreviewSettings"."Plugins" = "mobithumbnail,fontthumbnail,ebookthumbnail,kraorathumbnail,jpegthumbnail,windowsexethumbnail,comicbookthumbnail,djvuthumbnail,opendocumentthumbnail,windowsimagethumbnail,exrthumbnail,audiothumbnail,cursorthumbnail,svgthumbnail,blenderthumbnail,gsthumbnail,rawthumbnail,ffmpegthumbs,imagethumbnail,directorythumbnail";
"dolphinrc"."Search"."Location" = "Everywhere";
"kactivitymanagerdrc"."activities"."a2cd7f51-1f1f-47a8-9544-a4c401f57a12" = "Default";
"kactivitymanagerdrc"."main"."currentActivity" = "a2cd7f51-1f1f-47a8-9544-a4c401f57a12";
"kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."MiddleButtonEmulation" = true;
"kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."NaturalScroll" = true;
"kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."TapToClick" = true;
"kcminputrc"."Libinput/1739/30383/CUST0001:00 06CB:76AF Touchpad"."MiddleButtonEmulation" = true;
"kcminputrc"."Libinput/1739/30383/CUST0001:00 06CB:76AF Touchpad"."NaturalScroll" = true;
"kcminputrc"."Libinput/1739/30383/CUST0001:00 06CB:76AF Touchpad"."TapToClick" = true;
"kcminputrc"."Mouse"."cursorSize" = 32;
"kcminputrc"."Tmp"."update_info" = "delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize";
"kded5rc"."Module-browserintegrationreminder"."autoload" = false;
"kded5rc"."Module-device_automounter"."autoload" = false;
@ -815,46 +806,50 @@
"khotkeysrc"."Data_3_9Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_9Triggers0"."GesturePointData" = "0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1";
"khotkeysrc"."Data_3_9Triggers0"."Type" = "GESTURE";
"khotkeysrc"."General"."AllowKDEAppsToRememberWindowPositions" = "";
"khotkeysrc"."General"."BrowserApplication" = "";
"khotkeysrc"."General"."AllowKDEAppsToRememberWindowPositions[$d]" = "";
"khotkeysrc"."General"."BrowserApplication[$d]" = "";
"khotkeysrc"."General"."ColorSchemeHash[$d]" = "";
"khotkeysrc"."General"."ColorScheme[$d]" = "";
"khotkeysrc"."Gestures"."Disabled" = true;
"khotkeysrc"."Gestures"."MouseButton" = 2;
"khotkeysrc"."Gestures"."Timeout" = 300;
"khotkeysrc"."GesturesExclude"."Comment" = "";
"khotkeysrc"."GesturesExclude"."WindowsCount" = 0;
"khotkeysrc"."KDE"."AnimationDurationFactor" = "";
"khotkeysrc"."KDE"."ShowDeleteCommand" = "";
"khotkeysrc"."KDE"."SingleClick" = "";
"khotkeysrc"."KDE"."widgetStyle" = "";
"khotkeysrc"."KFileDialog Settings"."Allow Expansion" = "";
"khotkeysrc"."KFileDialog Settings"."Automatically select filename extension" = "";
"khotkeysrc"."KFileDialog Settings"."Breadcrumb Navigation" = "";
"khotkeysrc"."KFileDialog Settings"."Decoration position" = "";
"khotkeysrc"."KFileDialog Settings"."LocationCombo Completionmode" = "";
"khotkeysrc"."KFileDialog Settings"."PathCombo Completionmode" = "";
"khotkeysrc"."KFileDialog Settings"."Show Bookmarks" = "";
"khotkeysrc"."KFileDialog Settings"."Show Full Path" = "";
"khotkeysrc"."KFileDialog Settings"."Show Inline Previews" = "";
"khotkeysrc"."KFileDialog Settings"."Show Preview" = "";
"khotkeysrc"."KFileDialog Settings"."Show Speedbar" = "";
"khotkeysrc"."KFileDialog Settings"."Show hidden files" = "";
"khotkeysrc"."KFileDialog Settings"."Sort by" = "";
"khotkeysrc"."KFileDialog Settings"."Sort directories first" = "";
"khotkeysrc"."KFileDialog Settings"."Sort hidden files last" = "";
"khotkeysrc"."KFileDialog Settings"."Sort reversed" = "";
"khotkeysrc"."KFileDialog Settings"."Speedbar Width" = "";
"khotkeysrc"."KFileDialog Settings"."View Style" = "";
"khotkeysrc"."KShortcutsDialog Settings"."Dialog Size" = "";
"khotkeysrc"."Icons"."Theme[$d]" = "";
"khotkeysrc"."KDE"."AnimationDurationFactor[$d]" = "";
"khotkeysrc"."KDE"."LookAndFeelPackage[$d]" = "";
"khotkeysrc"."KDE"."ShowDeleteCommand[$d]" = "";
"khotkeysrc"."KDE"."SingleClick[$d]" = "";
"khotkeysrc"."KDE"."widgetStyle[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Allow Expansion[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Automatically select filename extension[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Breadcrumb Navigation[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Decoration position[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."LocationCombo Completionmode[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."PathCombo Completionmode[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Bookmarks[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Full Path[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Inline Previews[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Preview[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Speedbar[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show hidden files[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort by[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort directories first[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort hidden files last[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort reversed[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Speedbar Width[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."View Style[$d]" = "";
"khotkeysrc"."KShortcutsDialog Settings"."Dialog Size[$d]" = "";
"khotkeysrc"."Main"."AlreadyImported" = "defaults,kde32b1,konqueror_gestures_kde321";
"khotkeysrc"."Main"."Disabled" = false;
"khotkeysrc"."PreviewSettings"."MaximumRemoteSize" = "";
"khotkeysrc"."PreviewSettings"."MaximumRemoteSize[$d]" = "";
"khotkeysrc"."Voice"."Shortcut" = "";
"khotkeysrc"."WM"."activeBackground" = "";
"khotkeysrc"."WM"."activeBlend" = "";
"khotkeysrc"."WM"."activeForeground" = "";
"khotkeysrc"."WM"."inactiveBackground" = "";
"khotkeysrc"."WM"."inactiveBlend" = "";
"khotkeysrc"."WM"."inactiveForeground" = "";
"khotkeysrc"."WM"."activeBackground[$d]" = "";
"khotkeysrc"."WM"."activeBlend[$d]" = "";
"khotkeysrc"."WM"."activeForeground[$d]" = "";
"khotkeysrc"."WM"."inactiveBackground[$d]" = "";
"khotkeysrc"."WM"."inactiveBlend[$d]" = "";
"khotkeysrc"."WM"."inactiveForeground[$d]" = "";
"kiorc"."Confirmations"."ConfirmDelete" = true;
"kiorc"."Confirmations"."ConfirmEmptyTrash" = true;
"kiorc"."Confirmations"."ConfirmTrash" = false;
@ -893,13 +888,10 @@
"kwinrc"."Plugins"."diminactiveEnabled" = true;
"kwinrc"."Plugins"."dimscreenEnabled" = true;
"kwinrc"."Plugins"."wobblywindowsEnabled" = true;
"kwinrc"."Tiling"."padding" = 0;
"kwinrc"."Tiling.5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling.57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling.5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"layoutDirection\":\"vertical\",\"tiles\":x5b{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.5},{\"width\":0.5}x5d},{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.5},{\"width\":0.5}x5d}x5d,\"width\":1}x5d}";
"kwinrc"."Tiling/5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling/57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling/5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5046875000000002},{\"width\":0.4953124999999998}]}";
"kwinrc"."Tiling"."padding" = 4;
"kwinrc"."Tiling.5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"layoutDirection\":\"vertical\",\"tiles\":[{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5},{\"width\":0.5}]},{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5},{\"width\":0.5}]}],\"width\":1}]}";
"kwinrc"."Xwayland"."Scale" = 1;
"kxkbrc"."Layout"."Options" = "compose:caps";
"kxkbrc"."Layout"."ResetOldOptions" = true;
@ -912,7 +904,6 @@
"plasma-localerc"."Formats"."LC_PAPER" = "nl_NL.UTF-8";
"plasma-localerc"."Formats"."LC_TELEPHONE" = "nl_NL.UTF-8";
"plasma-localerc"."Formats"."LC_TIME" = "en_DK.UTF-8";
"plasmarc"."Wallpapers"."usersWallpapers" = "";
"systemsettingsrc"."KFileDialog Settings"."detailViewIconSize" = 16;
};
};

View file

@ -19,12 +19,11 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../desktop
../../shared
];
home.packages = with pkgs; [
];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.11";
home.stateVersion = "24.05";
}

View file

@ -19,7 +19,6 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../desktop
../../shared
];
home.packages = with pkgs; [
@ -33,5 +32,5 @@
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.11";
home.stateVersion = "24.05";
}

View file

@ -19,12 +19,11 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../desktop
../../shared
];
home.packages = with pkgs; [
];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.11";
home.stateVersion = "24.05";
}

View file

@ -1,13 +0,0 @@
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here
imports = [
./lillian.nix
];
}

View file

@ -1,29 +0,0 @@
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here
imports = [
# If you want to use modules your own flake exports (from modules/home-manager):
# outputs.homeManagerModules.example
# Or modules exported from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModules.default
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../shared
];
home.packages = with pkgs; [
];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.11";
}

View file

@ -18,7 +18,7 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../shared
../../package-configs/zsh.nix
];
nixpkgs = {
@ -42,5 +42,5 @@
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.11";
home.stateVersion = "24.05";
}

View file

@ -18,12 +18,8 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../desktop/package-configs/plasma-desktop.nix
../../desktop/package-configs/firefox.nix
../../desktop/package-configs/konsole
../../desktop/package-configs/foot
../../shared
../../package-configs/zsh.nix
../../desktop/plasma-desktop
];
nixpkgs = {
# You can add overlays here
@ -73,21 +69,12 @@
nitrokey-app
protonvpn-gui
sops
#watchmate
watchmate
qbittorrent
zsh
# Theming:
catppuccin-cursors
(catppuccin-kde.override {
flavour = ["macchiato"];
accents = ["mauve"];
})
catppuccin-plymouth
catppuccin-sddm-corners
# Web browsing:
firefox
librewolf
ungoogled-chromium
];
@ -109,5 +96,5 @@
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.11";
home.stateVersion = "24.05";
}

View file

@ -19,7 +19,6 @@
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
../../package-configs/zsh.nix
../../package-configs/helix.nix
];
nixpkgs = {

View file

@ -6,6 +6,11 @@
pkgs,
...
}: {
# Enable starship
programs.starship = {
enable = true;
};
programs.zoxide = {
enable = true;
};
@ -15,13 +20,7 @@
shellAliases = {
cd = "z";
code = "codium ./";
ls = "eza";
lh = "ls -lah";
cat = "bat";
tree = "tre";
neofetch = "hyfetch";
shutdown = "shutdown 0";
reboot = "reboot 0";
};
plugins = [
{
@ -34,15 +33,6 @@
sha256 = "sha256-Z6EYQdasvpl1P78poj9efnnLj7QQg13Me8x1Ryyw+dM=";
};
}
{
name = "terraform";
src = pkgs.fetchFromGitHub {
owner = "macunha1";
repo = "zsh-terraform";
rev = "fd1471d3757f8ed13f56c4426f88616111de2a87";
sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
};
}
];
autosuggestion.enable = true;
enableCompletion = true;
@ -53,24 +43,64 @@
enable = true;
plugins = [
"git"
"adb"
"battery"
"branch"
"coffee"
"colored-man-pages"
"colorize"
"command-not-found"
"common-aliases"
"compleat"
"composer"
"copypath"
"copybuffer"
"copyfile"
"cp"
"dirhistory"
"dirpersist"
"docker"
"docker-compose"
"extract"
"fancy-ctrl-z"
"fastfile"
"frontend-search"
"git-auto-fetch"
"git-escape-magic"
"git-extras"
"git-flow"
"github"
"gitignore"
"gnu-utils"
"gpg-agent"
"history"
"history-substring-search"
"fancy-ctrl-z"
"git-flow"
"isodate"
"z"
"jsontools"
"keychain"
"man"
"nanoc"
"pip"
"pipenv"
"pyenv"
"python"
"rsync"
"rvm"
"screen"
"sdk"
"sfdx"
"shell-proxy"
"sudo"
"systemadmin"
"systemd"
"themes"
"urltools"
"web-search"
"zsh-interactive-cd"
"zsh-navigation-tools"
"z"
];
theme = "jtriley";
};
# stuff for zoxide & tre
initExtra = ''
eval "$(zoxide init --cmd cd zsh)"
tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; }
'';
};
}

View file

@ -1,29 +0,0 @@
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./shell/helix
./shell/zellij
./shell/zsh.nix
./shell/starship.nix
./shell/eza.nix
./shell/hyfetch.nix
];
home = {
username = "lillian";
homeDirectory = "/home/lillian";
};
home.packages = with pkgs; [
# System tools:
vscode-langservers-extracted
sops
zsh
bat
];
}

View file

@ -1,11 +0,0 @@
{
lib,
pkgs,
...
}: {
programs.bat = {
enable = true;
extraPackages = with pkgs.bat-extras; [batdiff batman batgrep batwatch];
catppuccin.enable = true;
};
}

View file

@ -1,7 +0,0 @@
{lib, ...}: {
programs.eza = {
enable = true;
enableZshIntegration = true;
git = true;
};
}

View file

@ -1,161 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
programs.helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "catppuccin_macchiato";
editor = {
line-number = "relative";
lsp.display-messages = true;
lsp.display-inlay-hints = true;
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
cursorline = true;
bufferline = "always";
color-modes = true;
soft-wrap = {
enable = true;
max-wrap = 25;
wrap-indicator = "";
};
};
};
languages = {
language = [
{
name = "python";
language-id = "python";
auto-format = true;
file-types = ["py"];
language-servers = ["ruff" "scls" "pylsp"];
}
{
name = "typst";
language-id = "typst";
auto-format = false;
file-types = ["typ"];
language-servers = ["typst-lsp" "scls"];
}
{
name = "rust";
language-id = "rust";
auto-format = true;
file-types = ["rs"];
roots = ["Cargo.lock"];
language-servers = ["rust-analyzer" "scls"];
}
{
name = "stub";
scope = "text.stub";
file-types = [];
shebangs = [];
roots = [];
auto-format = false;
language-servers = ["scls"];
}
{
name = "nix";
language-id = "nix";
auto-format = true;
file-types = ["nix"];
roots = ["flake.lock" "flake.nix"];
language-servers = ["nil" "scls"];
formatter = {
command = "alejandra";
args = ["-q"];
};
}
{
name = "html";
language-id = "html";
auto-format = true;
file-types = ["htm" "html"];
language-servers = ["vscode-html-language-server" "vscode-eslint-language-server"];
}
{
name = "css";
language-id = "css";
auto-format = true;
file-types = ["css"];
language-servers = ["vscode-css-language-server" "vscode-eslint-language-server"];
}
{
name = "json";
language-id = "json";
auto-format = true;
file-types = ["json"];
language-servers = ["vscode-json-language-server" "vscode-eslint-language-server"];
}
];
language-server = {
vscode-html-language-server = {
command = "vscode-html-language-server";
};
vscode-css-language-server = {
command = "vscode-css-language-server";
};
vscode-eslint-language-server = {
command = "vscode-eslint-language-server";
};
vscode-json-language-server = {
command = "vscode-json-language-server";
};
pylsp = {
config.pylsp.plugins = {
flake8 = {enabled = false;};
autopep8 = {enabled = false;};
mccabe = {enabled = false;};
pycodestyle = {enabled = false;};
pyflakes = {enabled = false;};
pylint = {enabled = false;};
yapf = {enabled = false;};
ruff = {
enabled = true;
select = ["E" "F" "UP" "B" "SIM" "I" "PD" "NPY" "PERF" "FURB" "DOC" "TRY" "W" "R" "PL" "TCH" "Q" "PT" "ICN" "C4" "COM" "FBT" "S" "N"];
ignore = ["F401"];
lineLength = 120;
};
};
};
ruff = {
command = "ruff-lsp";
};
typst-lsp = {
command = "typst-lsp";
};
rust-analyzer = {
command = "rust-analyzer";
};
nil = {
command = "nil";
};
scls = {
command = "simple-completion-language-server";
config = {
max_completion_items = 20;
snippets_first = true;
feature_words = true;
feature_snippets = true;
feature_unicode_input = true;
feature_paths = true;
};
};
};
};
};
home.file = {
"helix" = {
source = ./snippets.toml;
target = ".config/helix/external-snippets.toml";
};
};
}

View file

@ -1,3 +0,0 @@
[[sources]] # list of sources to load
name = "friendly-snippets" # optional name shown on snippet description
git = "https://github.com/rafamadriz/friendly-snippets.git" # git repo with snippets collections

View file

@ -1,20 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
programs.hyfetch = {
enable = true;
settings = {
preset = "transgender";
mode = "rgb";
light_dark = "dark";
lightness = 0.65;
color_align = {
mode = "horizontal";
};
backend = "neofetch";
};
};
}

View file

@ -1,50 +0,0 @@
{
lib,
pkgs,
...
}: {
programs.starship = let
flavor = "macchiato"; # One of `latte`, `frappe`, `macchiato`, or `mocha`
in {
enable = true;
settings =
{
add_newline = true;
format = lib.concatStrings [
"$sudo"
"$all"
];
character.success_symbol = "[](bold purple)";
package.disabled = true;
sudo = {
symbol = "witch ";
style = "bold blue";
format = "[$symbol]($style)";
disabled = false;
};
hostname = {
ssh_only = false;
format = "[$hostname](bold yellow)[$ssh_symbol](bold blue):";
trim_at = "";
disabled = false;
};
username = {
show_always = true;
format = "[$user]($style)@";
};
git_branch.style = "bold blue";
directory.style = "bold blue";
direnv.disabled = false;
palette = "catppuccin_${flavor}";
}
// builtins.fromTOML (builtins.readFile
(pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "starship";
rev = "5629d23"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
}
+ /palettes/${flavor}.toml));
};
}

View file

@ -1,107 +0,0 @@
{
lib,
pkgs,
inputs,
...
}: let
layout =
pkgs.writeText "default.kdl"
''
layout {
tab {
pane
}
swap_tiled_layout name="vertical" {
tab max_panes=5 {
pane split_direction="vertical" {
pane
pane { children; }
}
}
tab max_panes=8 {
pane split_direction="vertical" {
pane { children; }
pane { pane; pane; pane; pane; }
}
}
tab max_panes=12 {
pane split_direction="vertical" {
pane { children; }
pane { pane; pane; pane; pane; }
pane { pane; pane; pane; pane; }
}
}
}
swap_tiled_layout name="horizontal" {
tab max_panes=5 {
pane
pane
}
tab max_panes=8 {
pane {
pane split_direction="vertical" { children; }
pane split_direction="vertical" { pane; pane; pane; pane; }
}
}
tab max_panes=12 {
pane {
pane split_direction="vertical" { children; }
pane split_direction="vertical" { pane; pane; pane; pane; }
pane split_direction="vertical" { pane; pane; pane; pane; }
}
}
}
default_tab_template {
pane size=1 borderless=true {
plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" {
format_left "#[bg=#1D1D2E,fg=#C9D2F5,bold] {session} {mode} {tabs}"
format_right "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{datetime}#[bg=#1D1D2E,fg=#C9D2F5]"
mode_locked "#[fg=magenta,bold] {name} "
mode_normal "#[fg=green,bold] {name} "
mode_resize "#[fg=orange,bold] {name} "
mode_default_to_mode "resize"
tab_normal "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#1D1D2E,fg=#C9D2F5]"
tab_active "#[bg=#A6DA95,fg=#1D1D2E]#[bg=#A6DA95,fg=#A6DA95]#[bg=#A6DA95,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#A6DA95,fg=#A6DA95]#[bg=#1D1D2E,fg=#A6DA95]"
tab_sync_indicator " "
tab_fullscreen_indicator " "
tab_floating_indicator "󰉈 "
datetime "#[bg=#C9D2F5,fg=#1D1D2E,bold]{format} "
datetime_format "%Y-%m-%d %H:%M"
datetime_timezone "Europe/Amsterdam"
}
}
children
pane size=2 borderless=true {
plugin location="status-bar"
}
}
}
'';
in {
programs.zellij = {
# This autostarts zellij on zsh start
# TODO find specific settings for vscode to avoid
enable = true;
enableZshIntegration = true;
};
home.file = {
"layout" = {
source = "${layout}";
target = ".config/zellij/layouts/default.kdl";
};
};
home.file = {
"config" = {
source = ./zellij.kdl;
target = ".config/zellij/config.kdl";
};
};
}

View file

@ -1,31 +0,0 @@
session_serialization true
theme "catppuccin-macchiato"
themes {
catppuccin-mocha {
bg "#585b70" // Surface2
fg "#cdd6f4"
red "#f38ba8"
green "#a6e3a1"
blue "#89b4fa"
yellow "#f9e2af"
magenta "#f5c2e7" // Pink
orange "#fab387" // Peach
cyan "#89dceb" // Sky
black "#181825" // Mantle
white "#cdd6f4"
}
catppuccin-macchiato {
bg "#5b6078" // Surface2
fg "#cad3f5"
red "#ed8796"
green "#a6da95"
blue "#8aadf4"
yellow "#eed49f"
magenta "#f5bde6" // Pink
orange "#f5a97f" // Peach
cyan "#91d7e3" // Sky
black "#1e2030" // Mantle
white "#cad3f5"
}
}

View file

@ -6,20 +6,15 @@
lib,
config,
pkgs,
pkgs-edge,
...
}: {
imports = [
# Import shared packages
../shared
./package-configs
];
nixpkgs = {
# You can add overlays here
overlays = [
#(final: prev: {
#bcachefs-tools = pkgs-edge.bcachefs-tools;
#})
# Add overlays your own flake exports (from overlays and pkgs dir):
outputs.overlays.additions
outputs.overlays.modifications
@ -30,13 +25,7 @@
};
};
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently
programs.command-not-found.enable = lib.mkForce false;
programs.nix-index.enable = true;
programs.nix-index-database.comma.enable = true;
environment.systemPackages =
(with pkgs; [
environment.systemPackages = with pkgs; [
# Custom tools
dvd
dvt
@ -45,12 +34,8 @@
# System tools
aha
#bcachefs-tools
clinfo
comma
bcachefs-tools
direnv
exfat
exfatprogs
git-filter-repo
gnupg
pciutils
@ -59,11 +44,7 @@
sbctl
tpm2-tools
tpm2-tss
virtualgl
vulkan-tools
waydroid
waypipe
wayland-utils
xwaylandvideobridge
yubikey-personalization
zsh
@ -71,12 +52,10 @@
# KDE/QT
krunner-translator
kdePackages.discover
kdePackages.filelight
kdePackages.kcalc
kdePackages.kdepim-addons
kdePackages.kirigami
kdePackages.kdeconnect-kde
kdePackages.konsole
# kdePackages.krunner-ssh
# kdePackages.krunner-symbols
kdePackages.packagekit-qt
@ -90,12 +69,8 @@
noisetorch
qjackctl
wireplumber
#rustdesk
])
++ (with pkgs-edge; [
# list of latest packages from nixpkgs master
# Can be used to install latest version of some packages
]);
rustdesk
];
programs.direnv = {
enable = true;
@ -108,9 +83,8 @@
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
extest.enable = true;
};
hardware.graphics.enable32Bit = true; # Enables support for 32bit libs that steam uses
hardware.opengl.driSupport32Bit = true; # Enables support for 32bit libs that steam uses
# Set your time zone.
time.timeZone = "Europe/Amsterdam";
@ -119,12 +93,10 @@
services.xserver.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
services.displayManager.defaultSession = "plasma";
services.xserver.displayManager.sddm.wayland.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.displayManager.defaultSession = "plasma";
programs.kdeconnect.enable = true;
# Enable flatpak support
@ -148,6 +120,7 @@
services.fwupd.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
@ -175,12 +148,12 @@
# FIXME: re-enable virtual camera loopback when it build again.
boot.bootspec.enable = true;
#boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
#boot.supportedFilesystems = ["bcachefs"];
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
boot.supportedFilesystems = ["bcachefs"];
# boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
boot.kernelModules = [
# Virtual Camera
"v4l2loopback"
# "v4l2loopback"
# Virtual Microphone, built-in
"snd-aloop"
];
@ -189,7 +162,7 @@
# exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming
# card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams
# https://github.com/umlaeute/v4l2loopback
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
# options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
'';
boot.loader.systemd-boot.configurationLimit = 3;
boot.loader.efi.canTouchEfiVariables = true;

View file

@ -1,12 +0,0 @@
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./firefox
];
}

View file

@ -1,171 +0,0 @@
{
config,
pkgs,
...
}: {
programs.firefox = {
enable = true;
package = pkgs.firefox;
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableProfileImport = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "newtab";
ManualAppUpdateOnly = true;
OfferToSaveLogins = false;
PasswordManagerEnabled = false;
DownloadDirectory = "\${home}/Downloads";
EnableTrackingProtection = {
Value = true;
Cryptomining = true;
Fingerprinting = true;
};
ExtensionSettings = {
# "*".installation_mode = "blocked"; # blocks all addons except the ones specified below
# Catppuccin Macchiato - Lavender theme:
"{6396519b-0923-41a4-948a-3cb54a3918b3}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-macchiato-lavender/latest.xpi";
installation_mode = "force_installed";
};
# Sideberry:
"{3c078156-979c-498b-8990-85f7987dd929}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/sidebery/latest.xpi";
installation_mode = "force_installed";
};
# Privacy Badger:
"jid1-MnnxcxisBPnSXQ@jetpack" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
installation_mode = "force_installed";
};
# Bitwarden:
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
installation_mode = "force_installed";
};
# Libredirect:
"7esoorv3@alefvanoon.anonaddy.me" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/libredirect/latest.xpi";
installation_mode = "force_installed";
};
# DarkReader:
"addon@darkreader.org" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
installation_mode = "force_installed";
};
# SimpleLogin:
"addon@simplelogin" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi";
installation_mode = "force_installed";
};
# Cookie Auto Delete:
"CookieAutoDelete@kennydo.com" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/cookie-autodelete/latest.xpi";
installation_mode = "force_installed";
};
# Don't fuck with paste:
"DontFuckWithPaste@raim.ist" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/don-t-fuck-with-paste/latest.xpi";
installation_mode = "force_installed";
};
# Firefox pwas:
"firefoxpwa@filips.si" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/pwas-for-firefox/latest.xpi";
installation_mode = "force_installed";
};
# Consent o matic:
"gdpr@cavi.au.dk" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/consent-o-matic/latest.xpi";
installation_mode = "force_installed";
};
# Mailvelope:
"jid1-AQqSMBYb0a8ADg@jetpack" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/mailvelope/latest.xpi";
installation_mode = "force_installed";
};
# KDE connect:
"kde-connect@0xc0dedbad.com" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/kde-connect/latest.xpi";
installation_mode = "force_installed";
};
# Plasma browser integration:
"plasma-browser-integration@kde.org" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/plasma-integration/latest.xpi";
installation_mode = "force_installed";
};
# Shinigami eyes:
"shinigamieyes@shinigamieyes" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/shinigami-eyes/latest.xpi";
installation_mode = "force_installed";
};
# uBlock Origin:
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
# uBlock Scope:
"uBO-Scope@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ubo-scope/latest.xpi";
installation_mode = "force_installed";
};
# Wayback machine:
"wayback_machine@mozilla.org" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4047136/wayback_machine_new-3.2.xpi";
installation_mode = "force_installed";
};
"frankerfacez@frankerfacez.com" = {
install_url = "https://cdn.frankerfacez.com/script/frankerfacez-4.0-an+fx.xpi";
installation_mode = "force_installed";
};
};
FirefoxHome = {
Search = true;
TopSites = false;
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
SponsoredPocket = false;
Snippets = false;
};
FirefoxSuggest = {
WebSuggestions = false;
SponsoredSuggestions = false;
ImproveSuggest = false;
};
Preferences = {
"browser.compactmode.show" = true;
"browser.uidensity" = 0;
# "browser.newtabpage.activity-stream.feeds.topsites" = false;
# "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"font.name.serif.x-western" = "Crimson";
"font.name.sans-serif.x-western" = "Atkinson Hyperlegible";
"font.name.monospace.x-western" = "FiraCode Nerd Font";
"font.size.variable.x-western" = 14;
"signon.rememberSignons" = true;
};
# TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks
# Bookmarks = [
# {
# Title = "NixOS wiki";
# Placement = "toolbar";
# URL = "https://nixos.wiki/";
# }
# {
# Title = "NixOS options";
# Placement = "toolbar";
# URL = "https://nixos.org/manual/nixos/stable/options";
# }
# {
# Title = "NixOS home-manager options";
# Placement = "toolbar";
# URL = "https://nix-community.github.io/home-manager/options.xhtml";
# }
# ];
};
};
}

View file

@ -58,5 +58,5 @@
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.11";
system.stateVersion = "unstable";
}

View file

@ -1,21 +1,17 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = ["dm-snapshot"];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
#fileSystems."/" =
# { device = "UUID=65956905-b7a5-4573-81fe-622c42cabdf5";

View file

@ -38,11 +38,11 @@
services.xserver.videoDrivers = ["amdgpu"];
# Add vulkan support to GPU
hardware.graphics.extraPackages = with pkgs; [
hardware.opengl.extraPackages = with pkgs; [
amdvlk
];
# For 32 bit applications
hardware.graphics.extraPackages32 = with pkgs; [
hardware.opengl.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
@ -67,12 +67,12 @@
};
};
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.enable = lib.mkForce false;
# boot.lanzaboote = {
# enable = true;
# pkiBundle = "/etc/secureboot";
# };
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
users.users.lillian.extraGroups = ["gamemode"];
@ -87,5 +87,5 @@
networking.hostName = "GLaDOS";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.11";
system.stateVersion = "unstable";
}

View file

@ -19,10 +19,6 @@
../../shared
];
programs.command-not-found.enable = lib.mkForce false;
programs.nix-index.enable = true;
programs.nix-index-database.comma.enable = true;
boot.tmp.cleanOnBoot = true;
zramSwap.enable = false;
networking.domain = "";
@ -150,5 +146,5 @@
boot.supportedFilesystems = lib.mkForce ["bcachefs" "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.11";
system.stateVersion = "unstable";
}

View file

@ -1,127 +0,0 @@
{
inputs,
outputs,
lib,
config,
pkgs,
nixpkgs-stable,
...
}: {
imports = [
# If you want to use modules your own flake exports (from modules/home-manager):
# outputs.homeManagerModules.example
# outputs.nixosModules.contabo.wan
inputs.home-manager.nixosModules.home-manager
# Or modules exported from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModules.defaults
# Import shared settings
../../shared
];
programs.command-not-found.enable = lib.mkForce false;
programs.nix-index.enable = true;
programs.nix-index-database.comma.enable = true;
boot.tmp.cleanOnBoot = true;
zramSwap.enable = false;
networking.domain = "";
services.openssh = {
enable = true;
# require public key authentication for better security
settings.PasswordAuthentication = false;
settings.KbdInteractiveAuthentication = false;
};
nixpkgs = {
# You can add overlays here
overlays = [
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
};
};
#Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys
sops.defaultSopsFile = ./secrets/sops.yaml;
environment.systemPackages = with pkgs; [
# Custom tools
dvd
dvt
servo
restart
install-nix
# System tools
aha
direnv
efitools
git-filter-repo
gnupg
pciutils
sbctl
tpm2-tools
tpm2-tss
zsh
];
# Contabo ipv6 nameservers: "2a02:c207::1:53" "2a02:c207::2:53"
networking.firewall.enable = true;
networking.firewall.allowedTCPPorts = [22];
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
options = "terminate:ctrl_alt_bksp,compose:caps_toggle";
};
security.tpm2.enable = true;
security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
users.users.lillian.extraGroups = ["tss"]; # tss group has access to TPM devices
# Set your time zone.
time.timeZone = "Europe/Amsterdam";
programs.git = {
enable = true;
};
programs.direnv = {
enable = true;
};
# Enable completion of system packages by zsh
environment.pathsToLink = ["/share/zsh"];
# kde power settings do not turn off screen
systemd = {
services.sshd.wantedBy = pkgs.lib.mkForce ["multi-user.target"];
targets = {
sleep.enable = false;
suspend.enable = false;
hibernate.enable = false;
hybrid-sleep.enable = false;
};
};
home-manager = {
extraSpecialArgs = {inherit inputs outputs;};
users = {
# Import your home-manager configuration
lillian = import ../../../home-manager/hosts/iso_server;
};
};
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
boot.supportedFilesystems = lib.mkForce ["bcachefs" "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "unstable";
}

View file

@ -1,21 +0,0 @@
lillian-password: ENC[AES256_GCM,data:kDP9LpmtLR2UEjCY0kgcdHmYAYLipOd/9I3NuiRHzLDhCX44M5QGfbQrle7bi9EOVD4eNB3uNtk+oBClr7cc21E9YtMIp5vg2g==,iv:EWB/hMRtWZfEn48Qmjo/V30BtSLrOsmo/cuEKnfW6Wk=,tag:vjiOkVga18BLKjf3GnZM2Q==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age12e00qvf4shtmsfq3ujamyaa72pjvad2qhrxkvpl9hryrjvgxev4sjhmkxz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrTFI5MDRiUkp1TGF2eHlG
VmwyVEdXQVR4dFJaZTNxeTRXQXZNbkN6T1dRClZyMU1LbFFmY0RwK1pmNDNWY0hW
bUJGYXI5ZEFIdDhUak1kMzF1WTE2SGsKLS0tIHpUQUVEWml1a251RmhQSGt1dm5E
a1hsN3NaVzNvRXlwcEpPd0RVQndiZk0KJ7/cnWzw1zSmgn+bOJn4Y1xRHqlk+zRM
Om0p+V9tUCCS5yGzacp8pFCa2DQNj0OVdyB2ZpjAiOzK7vWY8EU5XA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-05-03T14:29:41Z"
mac: ENC[AES256_GCM,data:ezq0K/lFSNSog0UzvsVNNpCewzBKmKJdsXlkWzZ8nhXN7/1lHeoONQnoEooNhNhpmFF1yCvcArZ6Suy7+R4UuybKBky+6r62fyz0BKrAO9y0Xb/HFiAJPAYwP7/5sRFq/jDdtMAbjLxJhoH128md5LoHXhUUc3sws/SIQvdan4I=,iv:/IxAO3rw4lc8ZzDWUtfJb3siGCtzCxid5NfhEnad01Q=,tag:IRg7LV7hnFmWl5WhWD2ZSg==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -24,9 +24,6 @@
# Import server settings
../../server
# Import disko
# ../../../disko/queen
];
boot.tmp.cleanOnBoot = true;
@ -46,7 +43,6 @@
];
# Configure your nixpkgs instance
config = {
allowBroken = true;
# Disable if you don't want unfree packages
allowUnfree = true;
};
@ -56,6 +52,7 @@
sops.defaultSopsFile = ./secrets/sops.yaml;
environment.systemPackages = with pkgs; [
akkoma
fzf
matrix-conduit
docker
@ -73,11 +70,9 @@
nextcloud28
nginx
onlyoffice-documentserver
openssl
phanpy
postgresql_16
python310
python310Packages.nbconvert
python3
python311Packages.nbconvert
jupyter
rabbitmq-server
roundcube
@ -92,39 +87,23 @@
];
# Create an auto-update systemd service that runs every day
# system.autoUpgrade = {
# flake = "git+https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git";
# dates = "daily";
# enable = true;
# };
# systemd.services.systemd-networkd.serviceConfig.Environment = "SYSTEMD_LOG_LEVEL=debug";
# Enable networking
# networking.networkmanager.enable = true;
# networking.nat.enable = true;
# networking.nat.internalInterfaces = ["ve-+"];
# networking.nat.externalInterface = "ens18";
networking.enableIPv6 = lib.mkForce true;
networking.nameservers = ["2a02:c207::1:53" "2a02:c207::2:53"];
# networking.interfaces.ens18.ipv4.addresses = [
# {
# address = "62.171.160.195";
# prefixLength = 32;
# }
# ];
networking.interfaces.ens18.ipv6.addresses = [
{
address = "2a02:c207:2063:2448::1";
prefixLength = 64;
}
];
networking.defaultGateway6 = {
address = "fe80::1";
interface = "ens18";
system.autoUpgrade = {
flake = "git+https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git";
dates = "daily";
enable = true;
};
systemd.services.systemd-networkd.serviceConfig.Environment = "SYSTEMD_LOG_LEVEL=debug";
# Enable networking
networking.networkmanager.enable = true;
networking.nat.enable = true;
networking.nat.internalInterfaces = ["ve-+"];
networking.nat.externalInterface = "ens18";
networking.enableIPv6 = lib.mkForce true;
networking.nameservers = ["1.1.1.1"];
# Contabo ipv6 nameservers: "2a02:c207::1:53" "2a02:c207::2:53"
# Open ports in the firewall.
networking.firewall = {
enable = true;
@ -189,5 +168,5 @@
boot.loader.efi.canTouchEfiVariables = true;
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.11";
system.stateVersion = "unstable";
}

View file

@ -7,21 +7,12 @@
}: {
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
boot.loader.grub.device = "/dev/sda";
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod"];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
boot.initrd.kernelModules = ["nvme"];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
networking.useDHCP = lib.mkDefault true;
fileSystems."/" = {
device = "/dev/disk/by-uuid/dc10d09c-9394-4854-acd5-93ceccd2f448";
device = "/dev/sda3";
fsType = "ext4";
};
fileSystems."/nix/store" = {
device = "/nix/store";
fsType = "none";
options = ["bind"];
};
swapDevices = [];
swapDevices = [{device = "/dev/sda2";}];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -9,10 +9,6 @@ rpcSecret: ENC[AES256_GCM,data:gOuQSY2RI6rnSnG1,iv:xz1ueq4/UOKYBs5r9Tk4jL0+GyX8u
wg-private: ENC[AES256_GCM,data:6BEuNqqG//p5UhRmQ4RPEze6jZdvzK4PEXxlbX2ANYIhFpacj0aZnCr9o/A=,iv:tPlwYdV4I5oA8qG+bfVi1Dpbf7xedByantqsmylZXKQ=,tag:k1BqKqlayOWz5QW1XiAjqQ==,type:str]
lillian-password: ENC[AES256_GCM,data:tc+Romv2fL+tdqLLmbwqaF4IHrNZ0VEpnECmW/66FW7IUpjHMyS7YP+pmmvDCzM9afIXMxyPFHGNRwiCmxqstiiNeSeLdo6rDw==,iv:sGeu9aNTgdpThv+0Z/nZKIrat1xNgM0t/KTGPaFbsdI=,tag:kZBHF4X0KO9znog61NwU+Q==,type:str]
coturn-auth-secret: ENC[AES256_GCM,data:RYxyATuYIcrGd8h8Gc4CP9ZQ80ekuuwHehnOPYisHejmycgT8a2mWpk+5r3HkFmBNcLDeNlfnhIif5oLHGuHyw==,iv:M2GdNDxP4xpP35FJPTgljbcKpOm6DmEEnIYRItAxDVI=,tag:IiiNXeTi6Yja5PrnKRkhdA==,type:str]
grafana-telegraf-key: ENC[AES256_GCM,data:agpUzG1/n2NAKDt45IgelmDf0CUlC82fmD4f7JdcszNuUg7uCNA7XeaJ6PZtHQ==,iv:keo3i+qSbtXkA5fyCr2S5z9nJS9bXUn5WDiPgWocPU8=,tag:p/nDff10PRhi9pOszp1PnA==,type:str]
sync-secrets: ENC[AES256_GCM,data:AwCgqfSXmYVGnCV5PJ5Ql44IiutTS76F1H7Ow7gB4mQQ8PtiAsmArzpAXd7LzsXedm55X04U+GvkcbM9cwPcF+psyb3Zi8EnI/mjnI9MgFyySSEcosJZVAtCpXGIMyYgRXtF5OBh5CzupAG059d1TDAqrSpLXMuSDdypTaOMHxnlq5q1swfpzhhY3PVgUKVFXdjZLX8aF3JTE9ceVxFsB+traLzOQsl+QKty0x0mpuqR97zkMCchX7bTwgUgbl7phzTvmwV8Qw==,iv:gkZs5NB9+CLfz4kfV4ha2llZQPP81uuXRKqUlASgpiA=,tag:DXkiG0ZFHLHlVhwLwtv/XQ==,type:str]
writefreely: ENC[AES256_GCM,data:QOj5h/rHCxmgpPNhu3IS4eyruhQokHTJxW6yQM9YDgQ=,iv:qAd+/rAAanzL9FTIX22M+2kwI0WI2d3i86cJrn8MFBo=,tag:3zvpqnovDEoJdvK/qcFDuQ==,type:str]
writefreelymysql: ENC[AES256_GCM,data:1JZwIX04O3DBAo7JvEkeNrFcSdcmk/u4WUf/kkbr2JA=,iv:8H8MR8w1iLfl2r62EbxPnLzs4qWFmwB5gNKEaly8q6c=,tag:K01oKMXkeMOFs3u7frMs0Q==,type:str]
sops:
kms: []
gcp_kms: []
@ -28,8 +24,8 @@ sops:
KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz
NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-08-16T13:34:43Z"
mac: ENC[AES256_GCM,data:IdQmx7/Y2fdQ9gBgKYCUZQuAVRqbP5KWG4EplO6pYqA8b5xzGnmCSCwyYIXU+3NExEZCEKEfX68mdYlWPRTKUdamOBdN+fQrGXwr5lw5dpKe03ccGw7Hayi0B4O8WbLEjw1RU50v2eoK9MpD5FPrUu1AzGz3+txxzV3hoxg6Sp0=,iv:WXvxAvg+sAKYbzjaz1QKDgVrnMraO3EtIgC12zb9Xi0=,tag:FmH84rGBotouvjCOq+xL8w==,type:str]
lastmodified: "2024-03-24T19:25:02Z"
mac: ENC[AES256_GCM,data:Bd2CcyaZk3C5hOFzCo54dKpBduR2fEr6J78pS3bBVvIDMWAL574k2mtYwzixaXPGbUdPMccRhYZcYyhq6x0A+g99kcZYqDV1lRRBUfg6mJ/eEDLcoD3rYd3XgWFzen6PKTsg/rL35EG2EVVSndZKTx4AI0213lcv6BYeb7cZt/0=,iv:UOxGbO07FTcaknwoUMBwlG+AR4EmZeAd3KJkpPwDJL4=,tag:uyoRQVZ3hM6TWsQB3Lin9g==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.0
version: 3.8.1

View file

@ -16,7 +16,7 @@
'';
systemd.services."external-drive-mount@" = {
path = with pkgs; [util-linux udisks bash auto-mount steam jq];
path = with pkgs; [jq coreutils udisks bash util-linux toybox auto-mount steam];
enable = true;
serviceConfig = {
ExecStart = "${pkgs.auto-mount}/bin/auto-mount add %i";

View file

@ -15,9 +15,8 @@
# Or modules exported from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModules.default
# Import the shared settings
# Import the locale settings
../../shared
../../desktop/package-configs/firefox
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
@ -36,6 +35,7 @@
nixpkgs = {
# You can add overlays here
overlays = [
inputs.extest.overlays.default
];
# Configure your nixpkgs instance
config = {
@ -52,20 +52,27 @@
auto-mount
#System:
alejandra
btrfs-progs
decky-loader
efitools
extest
git
git-filter-repo
home-manager
htop
jq
noto-fonts
noto-fonts-emoji-blob-bin
noto-fonts-emoji
#rustdesk
oh-my-zsh
rsync
rustdesk
sbctl
steam
udisks
util-linux
waypipe
python3
protonup-qt
wget
zsh
#KDE:
krunner-translator
@ -83,36 +90,42 @@
#Gaming:
heroic
legendary-gl
protontricks
rare
];
jovian = {
steam = {
enable = true;
autoStart = true;
user = "lillian";
desktopSession = "plasma";
};
decky-loader = {
enable = true;
package = pkgs.decky-loader-prerelease;
extraPackages = [pkgs.python3];
};
devices.steamdeck = {
enable = true;
autoUpdate = true;
enableGyroDsuService = true;
};
};
#Enable steam deck steam interface
jovian.steam.enable = true;
#Autostart this inteface at login
jovian.steam.autoStart = true;
#What desktop to start when switching to desktop session
jovian.steam.desktopSession = "plasma";
jovian.steam.user = "lillian";
#Enable gyro service for CEMU
jovian.devices.steamdeck.enableGyroDsuService = true;
#Enable steam deck specific services
jovian.devices.steamdeck.enable = true;
#Enable auto updates for the BIOS and controller firmware
jovian.devices.steamdeck.autoUpdate = true;
jovian.decky-loader.enable = true;
jovian.hardware.has.amd.gpu = true;
programs.steam = lib.mkForce {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
extest.enable = true;
package = pkgs.steam.override {
extraProfile = ''export LD_PRELOAD=${pkgs.extest}/lib/libextest.so:$LD_PRELOAD'';
};
hardware.graphics.enable32Bit = true; # Enables support for 32bit libs that steam uses
};
hardware.opengl.driSupport32Bit = true; # Enables support for 32bit libs that steam uses
# Enable the X11 windowing system.
services.xserver.enable = true;
@ -121,9 +134,7 @@
services.desktopManager.plasma6.enable = true;
programs.kdeconnect.enable = true;
services.displayManager.defaultSession = "plasma";
services.displayManager.sddm.wayland.enable = lib.mkForce true;
services.displayManager.sddm.settings = {
services.xserver.displayManager.sddm.settings = {
Autologin = {
Session = "plasma.desktop";
User = "lillian";
@ -166,6 +177,7 @@
services.fwupd.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
@ -222,5 +234,5 @@
boot.plymouth.enable = true;
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.11";
system.stateVersion = "unstable";
}

View file

@ -1,23 +0,0 @@
{
config,
pkgs,
inputs,
lib,
...
}: {
services.nginx = {
enable = true;
virtualHosts = {
"cinny.gladtherescake.eu" = {
root = "${pkgs.cinny}";
## Force HTTP redirect to HTTPS
forceSSL = true;
## LetsEncrypt
enableACME = true;
locations."/" = {
index = "index.html";
};
};
};
};
}

View file

@ -36,7 +36,7 @@ in {
# This causes NixOS to use the flake defined in this repository instead of
# the build of Conduit built into nixpkgs.
package = inputs.conduwuit.packages.${pkgs.system}.default;
package = inputs.conduit.packages.${pkgs.system}.default;
settings.global = {
inherit server_name;
@ -44,10 +44,6 @@ in {
allow_registration = false;
turn_uris = ["turn:turn.gladtherescake.eu.url?transport=udp" "turn:turn.gladtherescake.eu?transport=tcp"];
turn_secret = "cPKWEn4Fo5TAJoE7iX3xeVOaMVE4afeRN1iRGWYfbkWbkaZMxTpnmazHyH6c6yXT";
well_known = {
server = "matrix.gladtherescake.eu:443";
client = "https://matrix.gladtherescake.eu";
};
};
};
@ -67,6 +63,7 @@ in {
# Configure NGINX as a reverse proxy
services.nginx = {
enable = true;
recommendedProxySettings = true;
virtualHosts = {
"${server_name}" = {
@ -126,15 +123,6 @@ in {
add_header Access-Control-Allow-Origin "*";
'';
};
locations."/_matrix/client/unstable/org.matrix.msc3575/sync" = {
proxyPass = "http://matrix.gladtherescake.eu/client/unstable/org.matrix.msc3575/sync";
proxyWebsockets = true;
recommendedProxySettings = false;
extraConfig = ''
proxy_set_header Host $host;
proxy_buffering off;
'';
};
extraConfig = ''
merge_slashes off;

View file

@ -8,13 +8,14 @@
users.users.nginx.extraGroups = ["turnserver"];
services.coturn = {
enable = true;
lt-cred-mech = true;
use-auth-secret = true;
static-auth-secret = "cPKWEn4Fo5TAJoE7iX3xeVOaMVE4afeRN1iRGWYfbkWbkaZMxTpnmazHyH6c6yXT";
static-auth-secret-file = config.sops.secrets."coturn-auth-secret".path;
realm = "turn.gladtherescake.eu";
relay-ips = [
"62.171.160.195"
"2a02:c207:2063:2448::1"
];
no-tcp-relay = true;
extraConfig = "
cipher-list=\"HIGH\"
no-loopback-peers

View file

@ -1,15 +0,0 @@
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./grafana
#./loki
./prometheus
./telegraf
];
}

View file

@ -1,48 +0,0 @@
{
config,
pkgs,
...
}: {
# grafana configuration
services.grafana = {
enable = true;
settings.server = {
domain = "grafana.lillianviolet.dev";
http_port = 2342;
http_addr = "127.0.0.1";
};
provision = {
datasources.settings = {
apiVersion = 1;
datasources = [
{
name = "Prometheus";
type = "prometheus";
access = "proxy";
url = "http://localhost:${toString config.services.prometheus.port}";
isDefault = true;
}
# {
# name = "Loki";
# type = "loki";
# access = "proxy";
# url = "http://localhost:${config.services.loki.port}";
# isDefault = true;
# }
];
};
};
};
# nginx reverse proxy
services.nginx.virtualHosts.${config.services.grafana.settings.server.domain} = {
## Force HTTP redirect to HTTPS
forceSSL = true;
## LetsEncrypt
enableACME = true;
locations."/" = {
proxyPass = "http://${toString config.services.grafana.settings.server.http_addr}:${toString config.services.grafana.settings.server.http_port}";
proxyWebsockets = true;
};
};
}

View file

@ -1,10 +0,0 @@
{
config,
pkgs,
...
}: {
services.loki = {
enable = true;
configFile = ./loki.yaml;
};
}

View file

@ -1,40 +0,0 @@
# Enables authentication through the X-Scope-OrgID header, which must be present
# if true. If false, the OrgID will always be set to "fake".
auth_enabled: false
server:
http_listen_address: "0.0.0.0"
http_listen_port: 3100
ingester:
lifecycler:
address: "127.0.0.1"
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
schema_config:
configs:
- from: 2020-05-15
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
storage_config:
boltdb:
directory: /tmp/loki/index
filesystem:
directory: /tmp/loki/chunks
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h

View file

@ -1,38 +0,0 @@
{
config,
pkgs,
...
}: {
services.prometheus = {
enable = true;
port = 9001;
# Export the current system metrics
exporters = {
node = {
enable = true;
enabledCollectors = ["systemd"];
port = 9002;
};
};
scrapeConfigs = [
# Scrape the current system
{
job_name = "GrafanaService system";
static_configs = [
{
targets = ["127.0.0.1:9002"];
}
];
}
# Scrape the Loki service
# {
# job_name = "Loki service";
# static_configs = [
# {
# targets = ["127.0.0.1:3100"];
# }
# ];
# }
];
};
}

View file

@ -1,56 +0,0 @@
{
inputs,
lib,
config,
pkgs,
user,
...
}: {
sops.secrets."grafana-telegraf-key".mode = "0440";
sops.secrets."grafana-telegraf-key".owner = config.users.users.telegraf.name;
services.telegraf = {
enable = true;
extraConfig = {
agent = {
interval = "10s";
round_interval = true;
metric_batch_size = 1000;
metric_buffer_limit = 10000;
collection_jitter = "0s";
flush_interval = "10s";
flush_jitter = "0s";
precision = "";
debug = false;
quiet = false;
logfile = "";
hostname = "queen";
omit_hostname = false;
};
inputs = {
cpu = {
percpu = true;
totalcpu = true;
collect_cpu_time = false;
report_active = false;
core_tags = false;
};
disk = {
ignore_fs = ["tmpfs" "devtmpfs" "devfs" "overlay" "aufs" "squashfs"];
};
diskio = {};
kernel = {};
mem = {};
system = {};
};
outputs = {
websocket = {
url = "ws://localhost:${toString config.services.prometheus.port}/api/live/push/telegraf";
data_format = "influx";
headers = {
Authorisation = "Bearer glsa_lqpcKV34Pp0d7eIhKN79E2HTwzWWwN4m_fe64e398";
};
};
};
};
};
}

View file

@ -12,13 +12,8 @@
./gotosocial
./mail-server
./nextcloud
./phanpy
./postgres
./roundcube
./coturn
./dashboard
#./cinny
#./firefox-sync
./writefreely
];
}

View file

@ -1,30 +0,0 @@
{
config,
pkgs,
...
}: let
port = 5126;
in {
sops.secrets."sync-secrets".mode = "0440";
sops.secrets."sync-secrets".owner = config.users.users.firefox-syncserver.name;
users.groups.firefox-syncserver = {};
users.users.firefox-syncserver = {
isSystemUser = true;
group = "firefox-syncserver";
extraGroups = [config.users.groups.keys.name];
};
services.mysql.package = pkgs.mariadb;
services.firefox-syncserver = {
enable = true;
secrets = config.sops.secrets."sync-secrets".path;
singleNode = {
enable = true;
hostname = "sync.gladtherescake.eu";
url = "http://localhost:${toString port}";
enableNginx = true;
enableTLS = true;
};
};
}

View file

@ -7,15 +7,33 @@
...
}: {
imports = [];
#users.groups.gitea = {};
#users.users = {
# gitea = {
# openssh.authorizedKeys.keys = [
# "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCnYgErCnva8fvLvsmTMC6dHJp2Fvwja0BYL8K/58ugDxNA0PVGj5PpEMar5yhi4AFGGYL4EgD75tRgI/WQU87ZiKjJ6HFIhgX9curncB2kIJ0JoA+FIQMNOT72GFuhjcO4svanrobsMrRmcn193suXY/N6m6F+3pitxBfHPWuPKKjlZqVBzpqCdz9pXoGOk48OSYv7Zyw8roVsUw3fqJqs68LRLM/winWVhVSPabXGyX7PAAW51Nbv6M64REs+V1a+wGvK5sGhRy7lIBAIuD22tuL4/PZojST1hasKN+7cSp7F1QTi4u0yeQ2+gIclQNuhfvghzl6zcVEpOycFouSIJaJjo8jyuHkbm4I2XfALVTFHe7sLpYNNS7Mf6E6i5rHvAvtXI4UBx/LjgPOj7RWZFaotxQRk1D+N0y2xNrO4ft6mS+hrJ/+ybp1XTGdtlkpUDKjiTZkV7Z4fq9J0jtijvtxRfcPhjia50IIHtZ28wVBMCCwYzh5pR15F/XbvKCc= lillian@EDI"
# "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC7+LEQnC/nlYp7nQ4p6hUCqaGiqfsA3Mg8bSy+zA8Fj lillian@GLaDOS"
# ];
# isSystemUser = true;
# isNormalUser = false;
# group = "gitea";
# extraGroups = ["virtualMail"];
# };
#};
#sops.secrets."mailpassunhash".mode = "0440";
#sops.secrets."mailpassunhash".owner = config.users.users.virtualMail.name;
services.forgejo = {
enable = true;
#user = "gitea";
#group = "gitea";
#stateDir = "/var/lib/gitea";
#TODO: different mail passwords for different services
#mailerPasswordFile = config.sops.secrets."mailpassunhash".path;
database = {
#user = "gitea";
#name = "gitea";
type = "postgres";
};
settings = {
@ -46,21 +64,13 @@
ROOT_URL = "https://git.lillianviolet.dev/";
HTTP_PORT = 3218;
};
"markup.jupyter" = {
markup.jupyter = "
ENABLED = true;
FILE_EXTENSIONS = ".ipynb";
RENDER_COMMAND = "${pkgs.jupyter}/bin/jupyter nbconvert --stdout --to html --template full";
IS_INPUT_FILE = true;
RENDER_CONTENT_MODE = "no-sanitizer";
};
"markup.sanitizer.jupyter0" = {
ELEMENT = "div";
ALLOW_ATTR = "class";
REGEXP = "";
};
"markup.sanitizer.jupyter0.img" = {
ALLOW_DATA_URI_IMAGES = true;
};
FILE_EXTENSIONS = .ipynb
RENDER_COMMAND = jupyter nbconvert --stdout --to html --template full
IS_INPUT_FILE = true
RENDER_CONTENT_MODE = no-sanitizer
";
};
};

View file

@ -49,7 +49,7 @@
enable = true;
hostName = "nextcloud.gladtherescake.eu";
package = pkgs.nextcloud29;
package = pkgs.nextcloud28;
# Use HTTPS for links
https = true;

View file

@ -1,23 +0,0 @@
{
config,
pkgs,
inputs,
lib,
...
}: {
services.nginx = {
enable = true;
virtualHosts = {
"phanpy.gladtherescake.eu" = {
root = "${pkgs.phanpy}";
## Force HTTP redirect to HTTPS
forceSSL = true;
## LetsEncrypt
enableACME = true;
locations."/" = {
index = "index.html";
};
};
};
};
}

View file

@ -1,39 +0,0 @@
{
config,
pkgs,
...
}: {
sops.secrets."writefreely".mode = "0440";
sops.secrets."writefreely".owner = config.users.users.writefreely.name;
sops.secrets."writefreelymysql".mode = "0440";
sops.secrets."writefreelymysql".owner = config.users.users.writefreely.name;
services.writefreely = {
enable = true;
host = "writefreely.gladtherescake.eu";
nginx.enable = true;
nginx.forceSSL = true;
acme.enable = true;
# database = {
# type = "mysql";
# createLocally = true;
# passwordFile = config.sops.secrets."writefreelymysql".path;
# };
admin = {
initialPasswordFile = config.sops.secrets."writefreely".path;
name = "GLaDTheresCake";
};
settings = {
app = {
min_username_len = 2;
max_blogs = 100;
default_visibility = "public";
federation = true;
local_timeline = true;
};
server.port = 1212;
};
};
systemd.services.writefreely = {
path = [pkgs.openssl];
};
}

View file

@ -4,7 +4,6 @@
lib,
config,
pkgs,
pkgs-edge,
...
}: {
imports = [
@ -14,12 +13,8 @@
sops.age.keyFile = ../../../../../../var/secrets/keys.txt;
sops.secrets."lillian-password".neededForUsers = true;
#TODO: remove this when unneeded for freetube
nixpkgs.config.permittedInsecurePackages = [
"python3.12-youtube-dl-2021.12.17"
];
nix = {
package = pkgs.lix;
package = pkgs.nixFlakes;
gc = {
automatic = true;
dates = "weekly";
@ -38,35 +33,16 @@
experimental-features = "nix-command flakes";
# Deduplicate and optimize nix store
auto-optimise-store = true;
extra-substituters = [
"https://cache.lix.systems"
"https://nix-community.cachix.org"
"https://nixpkgs-unfree.cachix.org"
"https://0uptime.cachix.org"
];
trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
"0uptime.cachix.org-1:ctw8yknBLg9cZBdqss+5krAem0sHYdISkw/IFdRbYdE="
];
};
};
catppuccin.flavor = "macchiato";
catppuccin.enable = true;
console.catppuccin.enable = true;
home-manager.backupFileExtension = "backup";
users.users.lillian = {
isNormalUser = true;
extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"];
shell = pkgs.zsh;
hashedPasswordFile = config.sops.secrets."lillian-password".path;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILhwA+ZdP2tEBYQNdzLHZzFHxocyeqzhXI6tFpaZA3PZ lillian@EDI"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGatnsrKMoZSW24Lw4meb6BAgHgeyN/8rUib4nZVT+CB lillian@EDI"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC7+LEQnC/nlYp7nQ4p6hUCqaGiqfsA3Mg8bSy+zA8Fj lillian@GLaDOS"
];
};

View file

@ -4,7 +4,6 @@
lib,
config,
pkgs,
pkgs-edge,
...
}: {
nixpkgs = {
@ -16,16 +15,13 @@
];
};
environment.systemPackages =
(with pkgs; [
environment.systemPackages = with pkgs; [
# Custom tools
rebuild
rebuild-no-inhibit
install-nix
install-nix-no-inhibit
update
upgrade
# simple-completion-language-server
# System tools
age
@ -33,40 +29,25 @@
e2fsprogs
git
git-filter-repo
helix
home-manager
htop
killall
libnotify
neofetch
oh-my-zsh
rsync
tre-command
helix
wget
zsh
tldr
# System libraries
])
++ (with pkgs-edge; [
# list of latest packages from nixpkgs master
# Can be used to install latest version of some packages
]);
fonts = {
packages = with pkgs; [
cantarell-fonts
dejavu_fonts
fira-code
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
paratype-pt-sans
paratype-pt-mono
paratype-pt-serif
roboto
twemoji-color-font
font-awesome
atkinson-hyperlegible
];
enableDefaultPackages = false;
};
# fonts.packages = with pkgs; [
# noto-fonts
# noto-fonts-emoji-blob-bin
# noto-fonts-emoji
# (nerdfonts.override {fonts = ["FiraCode" "DroidSansMono"];})
# ];
}

View file

@ -4,9 +4,9 @@
# You can change versions, add patches, set compilation flags, anything really.
# https://nixos.wiki/wiki/Overlays
modifications = final: prev: {
# steam = prev.steam.override {
# extraProfile = ''export LD_PRELOAD=${inputs.extest}/lib/libextest.so:$LD_PRELOAD'';
# };
steam = prev.steam.override {
extraProfile = ''export LD_PRELOAD=${inputs.extest}/lib/libextest.so:$LD_PRELOAD'';
};
};
# This one brings our custom packages from the 'pkgs' directory

View file

@ -3,8 +3,11 @@
stdenv,
system,
pkgs,
util-linux,
jq,
coreutils,
udisks,
toybox,
util-linux,
writeShellApplication,
}:
writeShellApplication
@ -13,7 +16,7 @@ writeShellApplication
name = "auto-mount";
runtimeInputs = [pkgs.steam];
runtimeInputs = [jq coreutils udisks util-linux toybox pkgs.steam pkgs.extest];
text = ''
set -euo pipefail
@ -73,7 +76,7 @@ writeShellApplication
# TODO use -ifrunning and check return value - if there was a steam process and it returns -1, the message wasn't sent
# need to retry until either steam process is gone or -ifrunning returns 0, or timeout i guess
echo "Sent URL to steam: steam://''${command}/''${arg} (steam://''${command}/''${encoded})" >> /home/lillian/steam.txt
systemd-run -M 1000@ --user --collect --wait sh -c "${pkgs.steam}/bin/steam steam://''${command}/''${encoded@Q}"
systemd-run -M 1000@ --user --collect --wait sh -c "export LD_PRELOAD=${pkgs.extest}/lib/libextest.so:$LD_PRELOAD ${pkgs.steam}/bin/steam steam://''${command}/''${encoded@Q}"
else
echo "Could not send steam URL steam://''${command}/''${arg} (steam://''${command}/''${encoded}) -- steam not running"
fi

View file

@ -1,50 +0,0 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
pkgs,
}: let
port = 2143;
configFile =
pkgs.writeText "config.json"
''
{
"defaultHomeserver": 0,
"homeserverList": [
"matrix.gladtherescake.eu"
],
"allowCustomHomeservers": false
}
'';
in
buildNpmPackage rec {
pname = "cinny";
version = "09a0a2d";
src = fetchFromGitHub {
owner = "cinnyapp";
repo = pname;
rev = "${version}";
hash = "sha256-ee8YOJ0fGy26OWXb2Uumzy68M4UpERHH3ni0q+tDY14=";
};
npmDepsHash = "sha256-zelk15/rXXjhWuHj1GsSevnyXVBeDkMJ0qZfPyejq4A=";
# The prepack script runs the build script, which we'd rather do in the build phase.
npmPackFlags = ["--ignore-scripts" "--max_old_space_size=4096"];
installPhase = ''
mkdir $out
npm run build
cp -r dist/* $out
mkdir $out/app
cp ${configFile} $out/app/config.json
'';
meta = with lib; {
description = "Yet another matrix client";
homepage = "https://cinny.in/";
license = licenses.agpl3O;
maintainers = with maintainers; [Lillian-Violet];
};
}

View file

@ -11,7 +11,5 @@ pkgs: {
update = pkgs.callPackage ./update {};
upgrade = pkgs.callPackage ./upgrade {};
restart = pkgs.callPackage ./restart {};
phanpy = pkgs.callPackage ./phanpy {};
auto-mount = pkgs.callPackage ./auto-mount {};
simple-completion-language-server = pkgs.callPackage ./simple-completion-language-server {};
}

View file

@ -16,7 +16,7 @@ writeShellApplication
set -e
pushd /tmp > /dev/null
rm -rf ./install-nix
git clone https://codeberg.org/Lillian-Violet/NixOS-Config.git ./install-nix
git clone https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git ./install-nix
pushd ./install-nix/nixos/hosts > /dev/null
echo "Please choose the hostname you are installing to from the following list:"
i=1
@ -39,11 +39,9 @@ writeShellApplication
"./disko/''${dir}/default.nix"
echo "NixOS Installing..."
sudo nixos-install --flake .#"''${dir}"
sudo nixos-install --flake .#"''${dir}"
popd > /dev/null
echo "Cleaning up repository in '/tmp/install-nix'..."
rm -rf ./install-nix
rm -rf ./install-nix
popd > /dev/null
echo "NixOS Install Succeeded!"
'';

View file

@ -1,36 +0,0 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "phanpy";
version = "2024.04.19.5145730";
src = fetchFromGitHub {
owner = "cheeaun";
repo = pname;
rev = "${version}";
hash = "sha256-+/VtvDYBRy5Y6ZmqNH3id4hph1p3323G2zeE1bqfT1Y=";
};
npmDepsHash = "sha256-9tcZ3jQg+mHeI2K/dNFs0C1k7CfHwxbx+/+I8pdO/wQ=";
# The prepack script runs the build script, which we'd rather do in the build phase.
npmPackFlags = ["--ignore-scripts"];
installPhase = ''
export PHANPY_CLIENT_NAME="Phanpy on gladtherescake.eu"
export PHANPY_WEBSITE="phanpy.gladtherescake.eu"
mkdir $out
npm run build
cp -r dist/* $out
'';
meta = with lib; {
description = "Minimalistic opinionated Mastodon web client.";
homepage = "https://phanpy.social/";
license = licenses.mit;
maintainers = with maintainers; [Lillian-Violet];
};
}

View file

@ -15,7 +15,7 @@ writeShellApplication
set -e
pushd /tmp > /dev/null
rm -rf ./rebuild
git clone https://codeberg.org/Lillian-Violet/NixOS-Config.git ./rebuild
git clone https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git ./rebuild
pushd ./rebuild > /dev/null
echo "NixOS Rebuilding..."
sudo nixos-rebuild switch --flake .#

View file

@ -17,11 +17,11 @@
}:
stdenv.mkDerivation rec {
pname = "servo";
version = "2024-04-12";
version = "2024-01-05";
src = fetchurl {
url = "https://github.com/servo/servo-nightly-builds/releases/download/${version}/servo-latest.tar.gz";
hash = "sha256-sMqjnFrJvlu3Dck/HdyKVzqMZxvMatlt9/5cHqzjusI=";
hash = "sha256-IlmoYIFk0QO0CieJ49m8PnEou1Q3w+Tk9rypI0ya2WQ=";
};
nativeBuildInputs = [

View file

@ -1,24 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "simple-completion-language-server";
version = "ff9f90bc96c347f284571bc6310bc31f95508d55";
src = fetchFromGitHub {
owner = "estin";
repo = pname;
rev = version;
hash = "sha256-qybbZXjKzKcc6UXfAjwmkkB+qEUuGQXABRbMj7bNksM=";
};
cargoHash = "sha256-VTz2Fm+PRUPM5+u9D+2TzGGIEQwb1j0Lz0WRaQ5/Yzo=";
meta = with lib; {
description = "Language server to enable word completion and snippets for Helix editor";
homepage = "https://github.com/estin/simple-completion-language-server";
license = licenses.mit;
maintainers = ["Lillian-Violet"];
};
}

View file

@ -1 +0,0 @@
/nix/store/3l0wgxsvf5sz2q9sgyj0blc1ivzg808b-simple-completion-language-server-ff9f90bc96c347f284571bc6310bc31f95508d55

View file

@ -14,13 +14,13 @@ writeShellApplication
set -e
pushd /tmp > /dev/null
rm -rf ./update
git clone git@codeberg.org:Lillian-Violet/NixOS-Config.git ./update
git clone forgejo@git.lillianviolet.dev:Lillian-Violet/NixOS-Config.git ./update
pushd ./update > /dev/null
echo "Updating flake lock..."
nix flake update
git stage ./flake.lock
git commit -m "update flake lock"
git add flake.lock
sudo nix flake check
git commit -m "update flake lock"
git push
popd > /dev/null
echo "Cleaning up repository in '/tmp/update'..."

1
result Symbolic link
View file

@ -0,0 +1 @@
/nix/store/a9kdf62qv1r5s0nb40a1ij9lm2vsh418-nixos-24.05.20240319.b06025f-x86_64-linux.iso