From 87f78bac52a496e36f0a60fb459cf9b22fd19cb7 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 27 Jun 2023 00:12:18 +0200 Subject: [PATCH 01/27] Archie: fix typo in archie's hardware-configuration.nix --- machines/Archie/hardware-configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/Archie/hardware-configuration.nix b/machines/Archie/hardware-configuration.nix index 08c86b5..3412764 100644 --- a/machines/Archie/hardware-configuration.nix +++ b/machines/Archie/hardware-configuration.nix @@ -9,6 +9,7 @@ ]; # Enabke support for the Xbox One wireless dongle + # Enable support for the Xbox One wireless dongle hardware.xone.enable = true; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; From 6e6fa9c599b121fed77377a7ac422e2f725c50e0 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 27 Jun 2023 00:26:10 +0200 Subject: [PATCH 02/27] Archie: mount root subvolume of ssd --- machines/Archie/hardware-configuration.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/machines/Archie/hardware-configuration.nix b/machines/Archie/hardware-configuration.nix index 3412764..48133e7 100644 --- a/machines/Archie/hardware-configuration.nix +++ b/machines/Archie/hardware-configuration.nix @@ -40,6 +40,19 @@ fsType = "vfat"; }; + /* + Mount the root subvolume of the SSD + This is helpful for getting things from + my old Arch install, as well as for running btdu + */ + fileSystems = { + "/mnt/ssd" = { + device = config.fileSystems."/".device; + fsType = config.fileSystems."/".fsType; + options = [ "subvolid=5" "ro" ]; + }; + }; + swapDevices = [ ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; From 25ca3bb7cca4c79a28faa356b43581af98f2f73e Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 27 Jun 2023 00:40:33 +0200 Subject: [PATCH 03/27] Install KeePassXC using home-manager --- roles/desktop/default.nix | 1 + roles/desktop/keepassxc.nix | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 roles/desktop/keepassxc.nix diff --git a/roles/desktop/default.nix b/roles/desktop/default.nix index b13a242..ac8b5dc 100755 --- a/roles/desktop/default.nix +++ b/roles/desktop/default.nix @@ -4,5 +4,6 @@ imports = [ ./discord.nix ./firefox.nix + ./keepassxc.nix ]; } diff --git a/roles/desktop/keepassxc.nix b/roles/desktop/keepassxc.nix new file mode 100644 index 0000000..677c828 --- /dev/null +++ b/roles/desktop/keepassxc.nix @@ -0,0 +1,20 @@ +{ config, pkgs, ... }: + +{ + # I'm only using keepass on my user, so I'm installing it with home-manager + home-manager = { + /* + TODO: move home-manager settings into the common role + They are not keepass specific, so they really should + not be here. I'm too lazy to do it now tho :P + */ + backupFileExtension = "backup"; + useGlobalPkgs = true; + users.toast = { config, pkgs, ... }: { + home = { + stateVersion = "23.05"; + packages = [ pkgs.keepassxc ]; + }; + }; + }; +} From ded324e0f303b3ef1bce59fbfd2b724de128a271 Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 28 Jun 2023 14:30:54 +0200 Subject: [PATCH 04/27] KeepassXC: configure keepass and set up autostart --- roles/desktop/keepassxc.nix | 52 +++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/roles/desktop/keepassxc.nix b/roles/desktop/keepassxc.nix index 677c828..8018453 100644 --- a/roles/desktop/keepassxc.nix +++ b/roles/desktop/keepassxc.nix @@ -1,4 +1,25 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: + +let + kpxcSettings = lib.generators.toINI {} { + # Not sure what changing this does, I'll leave it alone + General = { + ConfigVersion = 2; + MinimizeAfterUnlock = true; + }; + GUI = { + ApplicationTheme = "classic"; + MinimizeOnStartup = false; + MinimizeOnClose = true; + MinimizeToTray = true; + ShowTrayIcon = true; + # 0 is icons, 1 is text, 2 is text next to icons, 3 is text under icons, and 4 is follow style + ToolButtonStyle = 0; # Would choose 4 but it's too big for a small window + # monochrome-light, monochrome-dark or colorful + TrayIconAppearance = "monochrome-light"; + }; + }; +in { # I'm only using keepass on my user, so I'm installing it with home-manager @@ -10,11 +31,38 @@ */ backupFileExtension = "backup"; useGlobalPkgs = true; - users.toast = { config, pkgs, ... }: { + + extraSpecialArgs = { kpxcSettings = kpxcSettings; }; + users.toast = { config, pkgs, kpxcSettings, ... }: { home = { stateVersion = "23.05"; packages = [ pkgs.keepassxc ]; + # No module for KeePassXC config :( + file = { + ".config/keepassxc/keepassxc.ini".text = kpxcSettings; + # For some reason the autostart .desktop is not the same as the regular one + ".config/autostart/org.keepassxc.KeePassXC.desktop".text = '' + [Desktop Entry] + Name=KeePassXC + GenericName=Password Manager + Exec=keepassxc + TryExec=keepassxc + Icon=keepassxc + StartupWMClass=keepassxc + StartupNotify=true + Terminal=false + Type=Application + Version=1.0 + Categories=Utility;Security;Qt; + MimeType=application/x-keepass2; + X-GNOME-Autostart-enabled=true + X-GNOME-Autostart-Delay=2 + X-KDE-autostart-after=panel + X-LXQt-Need-Tray=true + ''; + }; }; + }; }; } From 7974ca628c638e113ec40dc49bcf66cf34f0623c Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 16:35:22 +0200 Subject: [PATCH 05/27] Firefox: enable HTTPS only mode --- roles/desktop/firefox.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/desktop/firefox.nix b/roles/desktop/firefox.nix index 797fd9e..76c431a 100644 --- a/roles/desktop/firefox.nix +++ b/roles/desktop/firefox.nix @@ -31,6 +31,10 @@ "Value" = true; "Status" = "default"; }; + "dom.security.https_only_mode" = { + "Value" = true; + "Status" = "locked"; + }; }; "Permissions" = { "Autoplay" = { From f9e71005a428fc5ab29ab2c7893b9db249a57e70 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 16:36:06 +0200 Subject: [PATCH 06/27] Firefox: integrate better with kde --- roles/desktop/firefox.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/roles/desktop/firefox.nix b/roles/desktop/firefox.nix index 76c431a..238149b 100644 --- a/roles/desktop/firefox.nix +++ b/roles/desktop/firefox.nix @@ -35,6 +35,20 @@ "Value" = true; "Status" = "locked"; }; + # Make firefox use the kde file picker + "widget.use-xdg-desktop-portal.file-picker" = { + "Value" = 1; + "Status" = "default"; + }; + /* + Not sure what this does, + but https://wiki.archlinux.org/title/Firefox#KDE_integration + tells me to enable it + */ + "widget.use-xdg-desktop-portal.mime-handler" = { + "Value" = 1; + "Status" = "default"; + }; }; "Permissions" = { "Autoplay" = { From 52f70f88291bb694859e0489ed9c61dd458e4416 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 16:47:17 +0200 Subject: [PATCH 07/27] Firefox: disable the password manager --- roles/desktop/firefox.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/desktop/firefox.nix b/roles/desktop/firefox.nix index 238149b..3e31b0f 100644 --- a/roles/desktop/firefox.nix +++ b/roles/desktop/firefox.nix @@ -50,6 +50,8 @@ "Status" = "default"; }; }; + # I use an external password manager, so the built in one just bothers me + "PasswordManagerEnabled" = false; "Permissions" = { "Autoplay" = { "Allow" = [ "https://www.youtube.com" ]; From 1167b979d9a71fb40264b4eeb8ba490c9ca792d3 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 16:48:13 +0200 Subject: [PATCH 08/27] Firefox: always ask where to download files --- roles/desktop/firefox.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/desktop/firefox.nix b/roles/desktop/firefox.nix index 3e31b0f..5a44b3f 100644 --- a/roles/desktop/firefox.nix +++ b/roles/desktop/firefox.nix @@ -50,6 +50,7 @@ "Status" = "default"; }; }; + "PromptForDownloadLocation" = true; # I use an external password manager, so the built in one just bothers me "PasswordManagerEnabled" = false; "Permissions" = { From e1d352d0193c180d1077e1ad6faea5927d85c3a8 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 17:35:20 +0200 Subject: [PATCH 09/27] Add gaming role --- roles/gaming/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 roles/gaming/default.nix diff --git a/roles/gaming/default.nix b/roles/gaming/default.nix new file mode 100755 index 0000000..f3991a4 --- /dev/null +++ b/roles/gaming/default.nix @@ -0,0 +1,6 @@ +{ ... }: + +{ + imports = [ + ]; +} From 757f60070fc96bfebb18d0ec7af45c7b40d633e1 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 18:42:24 +0200 Subject: [PATCH 10/27] Gaming: enable steam --- roles/gaming/default.nix | 1 + roles/gaming/steam.nix | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 roles/gaming/steam.nix diff --git a/roles/gaming/default.nix b/roles/gaming/default.nix index f3991a4..3a963cc 100755 --- a/roles/gaming/default.nix +++ b/roles/gaming/default.nix @@ -2,5 +2,6 @@ { imports = [ + ./steam.nix ]; } diff --git a/roles/gaming/steam.nix b/roles/gaming/steam.nix new file mode 100644 index 0000000..178dc44 --- /dev/null +++ b/roles/gaming/steam.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + programs.steam = { + enable = true; + # Doubt that I'll use it, but I'll enable it anyways + remotePlay.openFirewall = true; + }; +} From 4ba470cf5d3e9f4178fd53b7d4af35259e2e2c6c Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 18:42:41 +0200 Subject: [PATCH 11/27] Archie: add gaming role --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 5b5c277..6c02a6b 100755 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,7 @@ outputs = {nixpkgs, nixpkgs-unstable, agenix, home-manager, home-manager-unstabl ./roles/common ./roles/desktop ./roles/kde + ./roles/gaming ./machines/Archie ]; }; From 2d69565d91c39c8242c4c24a5e400da54056de0a Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 30 Jun 2023 12:10:07 +0200 Subject: [PATCH 12/27] Firefox: disable widget.use-xdg-desktop-portal.mime-handler --- roles/desktop/firefox.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/desktop/firefox.nix b/roles/desktop/firefox.nix index 5a44b3f..643f174 100644 --- a/roles/desktop/firefox.nix +++ b/roles/desktop/firefox.nix @@ -41,12 +41,12 @@ "Status" = "default"; }; /* - Not sure what this does, - but https://wiki.archlinux.org/title/Firefox#KDE_integration - tells me to enable it + https://wiki.archlinux.org/title/Firefox#KDE_integration tells me to enable this, + but strangely enough doing so makes firefox ask to be set as the default browser + every time you start it up, so I'll disable it */ "widget.use-xdg-desktop-portal.mime-handler" = { - "Value" = 1; + "Value" = 0; "Status" = "default"; }; }; From 8f7e8e3661a991e7bf044bac5c5a5670b293b555 Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 30 Jun 2023 12:15:13 +0200 Subject: [PATCH 13/27] Steam: enable pipewire alsa compatibility --- roles/gaming/steam.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/gaming/steam.nix b/roles/gaming/steam.nix index 178dc44..1c71901 100644 --- a/roles/gaming/steam.nix +++ b/roles/gaming/steam.nix @@ -6,4 +6,6 @@ # Doubt that I'll use it, but I'll enable it anyways remotePlay.openFirewall = true; }; + # Some linux native games (rise of the tomb raider) use alsa for sound + services.pipewire.alsa.enable = true; } From e844d29eaec24bb12f799bcabb458bb658813273 Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 30 Jun 2023 16:43:30 +0200 Subject: [PATCH 14/27] Gaming: enable mangohud --- roles/gaming/default.nix | 1 + roles/gaming/mangohud.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 roles/gaming/mangohud.nix diff --git a/roles/gaming/default.nix b/roles/gaming/default.nix index 3a963cc..fb3cce4 100755 --- a/roles/gaming/default.nix +++ b/roles/gaming/default.nix @@ -3,5 +3,6 @@ { imports = [ ./steam.nix + ./mangohud.nix ]; } diff --git a/roles/gaming/mangohud.nix b/roles/gaming/mangohud.nix new file mode 100644 index 0000000..ff6f5df --- /dev/null +++ b/roles/gaming/mangohud.nix @@ -0,0 +1,19 @@ +{ config, ... }: + +{ + # This does the same as enableSessionWide does on the mangohud config + environment.sessionVariables = { MANGOHUD = "1"; MANGOHUD_DLSYM = "1"; }; + + home-manager.users.toast = { config, ... }: + { + programs.mangohud = { + enable = true; + # TODO: fix envvars set by home manager not applying for some reason + # This only works for Vulkan, openGL programs still need the mangohud wrapper + enableSessionWide = true; + settings = { + preset = 4; + }; + }; + }; +} From 6df7d43e731023e3dfa84a466ab2b3bcc61877be Mon Sep 17 00:00:00 2001 From: Toast Date: Sun, 2 Jul 2023 14:20:57 +0200 Subject: [PATCH 15/27] Mangohud: hide hud by default --- roles/gaming/mangohud.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/gaming/mangohud.nix b/roles/gaming/mangohud.nix index ff6f5df..47b37be 100644 --- a/roles/gaming/mangohud.nix +++ b/roles/gaming/mangohud.nix @@ -13,6 +13,7 @@ enableSessionWide = true; settings = { preset = 4; + no_display = true; }; }; }; From 8975afd18dc3a4b33367c56fc148c3ec01339317 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 3 Jul 2023 01:02:09 +0200 Subject: [PATCH 16/27] Flake: do not set up pkgs --- flake.nix | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/flake.nix b/flake.nix index 6c02a6b..8f48cb0 100755 --- a/flake.nix +++ b/flake.nix @@ -43,20 +43,12 @@ outputs = {nixpkgs, nixpkgs-unstable, agenix, home-manager, home-manager-unstabl nixosConfigurations = { Archie = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; - pkgs = import nixpkgs-unstable { - system = "x86_64-linux"; - config = { allowUnfree = true; }; # TODO: Find why this doesn't work - overlays = - let - discordOverlay = self: super: { - discord = super.discord.override { - withOpenASAR = true; - withVencord = true; - }; - }; - in - [ discordOverlay ]; - }; + /* + I used to set up nixpkgs in the flake, but doing that made + defining overlays in modules impossible (or at least I could + not figure out how) + Also has nice side effect of making it easier to add new systems :3 + */ modules = [ # Needed for nix-index { nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; } @@ -72,10 +64,6 @@ outputs = {nixpkgs, nixpkgs-unstable, agenix, home-manager, home-manager-unstabl Everest = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - pkgs = import nixpkgs { - system = "x86_64-linux"; - config = { allowUnfree = false; }; # TODO: Find why this doesn't work - }; modules = [ # Needed for nix-index { nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; } From 79006c509b57e8f1740dfd2b5b45986e77387b0f Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 3 Jul 2023 01:03:29 +0200 Subject: [PATCH 17/27] Discord: enable OpenASAR and vencord (again) --- roles/desktop/discord.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/roles/desktop/discord.nix b/roles/desktop/discord.nix index bdabdc4..5f47f87 100644 --- a/roles/desktop/discord.nix +++ b/roles/desktop/discord.nix @@ -1,9 +1,5 @@ { config, pkgs, ... }: -{ - # TODO: Find out why this does not do anything. If I put this - # on flake.nix it does work, so it's not completely wrong. - /* nixpkgs.overlays = let discordOverlay = self: super: { discord = super.discord.override { @@ -12,7 +8,8 @@ }; }; in - [ discordOverlay ]; */ +{ + nixpkgs.overlays = [ discordOverlay ]; users.users.toast.packages = with pkgs; [ discord ]; From ad8081bba3f4df2256d5813bb88938f9a7cd49ac Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 3 Jul 2023 12:31:25 +0200 Subject: [PATCH 18/27] Common: configure micro --- roles/common/programs/default.nix | 2 +- roles/common/programs/micro.nix | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 roles/common/programs/micro.nix diff --git a/roles/common/programs/default.nix b/roles/common/programs/default.nix index d28c74d..6262b48 100755 --- a/roles/common/programs/default.nix +++ b/roles/common/programs/default.nix @@ -4,6 +4,7 @@ imports = [ ./htop.nix ./nix.nix + ./micro.nix ./nix-index.nix ./command-not-found.nix ]; @@ -11,7 +12,6 @@ environment.systemPackages = with pkgs; [ speedtest-cli bat - micro nvd ncdu tree diff --git a/roles/common/programs/micro.nix b/roles/common/programs/micro.nix new file mode 100644 index 0000000..a80a708 --- /dev/null +++ b/roles/common/programs/micro.nix @@ -0,0 +1,17 @@ +{ config, pkgs, ... }: + +{ + home-manager = { + users.toast = { config, pkgs, ... }: + { + programs.micro = { + enable = true; + settings = { + clipboard = "terminal"; + indentchar = "|"; + softwrap = true; + }; + }; + }; + }; +} From bb6c9ea5d1128663e2e8fede52db57265b7b283c Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 3 Jul 2023 13:20:11 +0200 Subject: [PATCH 19/27] Desktop: enable external clipboard on micro --- roles/desktop/default.nix | 1 + roles/desktop/micro.nix | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 roles/desktop/micro.nix diff --git a/roles/desktop/default.nix b/roles/desktop/default.nix index ac8b5dc..6aa4825 100755 --- a/roles/desktop/default.nix +++ b/roles/desktop/default.nix @@ -4,6 +4,7 @@ imports = [ ./discord.nix ./firefox.nix + ./micro.nix ./keepassxc.nix ]; } diff --git a/roles/desktop/micro.nix b/roles/desktop/micro.nix new file mode 100644 index 0000000..a09e819 --- /dev/null +++ b/roles/desktop/micro.nix @@ -0,0 +1,21 @@ +{ config, pkgs, lib, ... }: + +{ + home-manager = { + users.toast = { config, pkgs, ... }: + { + programs.micro = { + enable = true; + settings = { + # Use xclip/wl-clipboard for copying and pasting + clipboard = lib.mkForce "external"; + }; + }; + /* + On a kde wayland session micro uses xsel or xclip instead of wl-clipboard + which doesn't work, so I only install wl-clipboard here to make micro use it + */ + home.packages = with pkgs; [ wl-clipboard ]; + }; + }; +} From ade2927e8b2b2da817fb06c20d679bb1f2c293da Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 4 Jul 2023 08:06:17 +0200 Subject: [PATCH 20/27] Desktop: restructure folder structure --- roles/desktop/default.nix | 6 ++---- roles/desktop/programs/default.nix | 10 ++++++++++ roles/desktop/{ => programs}/discord.nix | 0 roles/desktop/{ => programs}/firefox.nix | 0 roles/desktop/{ => programs}/keepassxc.nix | 0 roles/desktop/{ => programs}/micro.nix | 0 roles/desktop/services/default.nix | 7 +++++++ 7 files changed, 19 insertions(+), 4 deletions(-) mode change 100755 => 100644 roles/desktop/default.nix create mode 100755 roles/desktop/programs/default.nix rename roles/desktop/{ => programs}/discord.nix (100%) rename roles/desktop/{ => programs}/firefox.nix (100%) rename roles/desktop/{ => programs}/keepassxc.nix (100%) rename roles/desktop/{ => programs}/micro.nix (100%) create mode 100644 roles/desktop/services/default.nix diff --git a/roles/desktop/default.nix b/roles/desktop/default.nix old mode 100755 new mode 100644 index 6aa4825..cb3d38f --- a/roles/desktop/default.nix +++ b/roles/desktop/default.nix @@ -2,9 +2,7 @@ { imports = [ - ./discord.nix - ./firefox.nix - ./micro.nix - ./keepassxc.nix + ./services + ./programs ]; } diff --git a/roles/desktop/programs/default.nix b/roles/desktop/programs/default.nix new file mode 100755 index 0000000..6aa4825 --- /dev/null +++ b/roles/desktop/programs/default.nix @@ -0,0 +1,10 @@ +{ ... }: + +{ + imports = [ + ./discord.nix + ./firefox.nix + ./micro.nix + ./keepassxc.nix + ]; +} diff --git a/roles/desktop/discord.nix b/roles/desktop/programs/discord.nix similarity index 100% rename from roles/desktop/discord.nix rename to roles/desktop/programs/discord.nix diff --git a/roles/desktop/firefox.nix b/roles/desktop/programs/firefox.nix similarity index 100% rename from roles/desktop/firefox.nix rename to roles/desktop/programs/firefox.nix diff --git a/roles/desktop/keepassxc.nix b/roles/desktop/programs/keepassxc.nix similarity index 100% rename from roles/desktop/keepassxc.nix rename to roles/desktop/programs/keepassxc.nix diff --git a/roles/desktop/micro.nix b/roles/desktop/programs/micro.nix similarity index 100% rename from roles/desktop/micro.nix rename to roles/desktop/programs/micro.nix diff --git a/roles/desktop/services/default.nix b/roles/desktop/services/default.nix new file mode 100644 index 0000000..c6786ec --- /dev/null +++ b/roles/desktop/services/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + + ]; +} From b202fe478dafe8e27c414da91f75137b2c33716f Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 4 Jul 2023 08:46:05 +0200 Subject: [PATCH 21/27] Desktop: start ssh-agent on login --- roles/desktop/services/default.nix | 2 +- roles/desktop/services/ssh-agent.nix | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 roles/desktop/services/ssh-agent.nix diff --git a/roles/desktop/services/default.nix b/roles/desktop/services/default.nix index c6786ec..48f9952 100644 --- a/roles/desktop/services/default.nix +++ b/roles/desktop/services/default.nix @@ -2,6 +2,6 @@ { imports = [ - + ./ssh-agent.nix ]; } diff --git a/roles/desktop/services/ssh-agent.nix b/roles/desktop/services/ssh-agent.nix new file mode 100644 index 0000000..7081761 --- /dev/null +++ b/roles/desktop/services/ssh-agent.nix @@ -0,0 +1,10 @@ +{ config, pkgs, ... }: + +{ + programs.ssh.startAgent = true; + /* + Home assistant added an option that does this + https://github.com/nix-community/home-manager/commit/2d9210f25ed18d5d4e11e6b886de4027c0c51a94 + but since I still need to fix home-manager's envvars not applying I'll stick to the NixOS one + */ +} From 70baaaca0f01ca87bf21e93bfc80b172226de6b6 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 4 Jul 2023 08:48:05 +0200 Subject: [PATCH 22/27] Gitignore: ignore swap files from kate --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 3357b94..1df9283 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,7 @@ # Ignore build outputs from performing a nix-build or `nix build` command result result-* + +# ---> Kate +# Ignore kate's swap files +*.kate-swp From c690057adde405aaa9e5483b065d61a059087c3e Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 4 Jul 2023 09:37:45 +0200 Subject: [PATCH 23/27] KeepassXC: enable ssh-agent integration --- roles/desktop/programs/keepassxc.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/desktop/programs/keepassxc.nix b/roles/desktop/programs/keepassxc.nix index 8018453..53f42da 100644 --- a/roles/desktop/programs/keepassxc.nix +++ b/roles/desktop/programs/keepassxc.nix @@ -18,6 +18,7 @@ let # monochrome-light, monochrome-dark or colorful TrayIconAppearance = "monochrome-light"; }; + SSHAgent.Enabled = true; }; in From 1c35c527a591eafc71b5919beb53ef9c2e69248f Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 4 Jul 2023 09:38:30 +0200 Subject: [PATCH 24/27] Ssh-agent: add temporary workaround --- roles/desktop/services/ssh-agent.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/roles/desktop/services/ssh-agent.nix b/roles/desktop/services/ssh-agent.nix index 7081761..31b9f73 100644 --- a/roles/desktop/services/ssh-agent.nix +++ b/roles/desktop/services/ssh-agent.nix @@ -7,4 +7,15 @@ https://github.com/nix-community/home-manager/commit/2d9210f25ed18d5d4e11e6b886de4027c0c51a94 but since I still need to fix home-manager's envvars not applying I'll stick to the NixOS one */ + /* + TODO: fix SSH_AUTH_SOCK not being set in Plasma + Turns out the NixOS module also has issues :3 + The env is set but only in bash, not in the DE, so + keepass can't pick it up. For now I'll just set it manually + */ + home-manager.users.toast.xdg.configFile."plasma-workspace/env/ssh-agent.sh".text = '' + if [[ -z "$SSH_AUTH_SOCK" ]]; then + export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent + fi + ''; } From b7cbebdd058c475d38a6fe636818c93faf8398a6 Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 7 Jul 2023 23:41:35 +0200 Subject: [PATCH 25/27] Common: install file --- roles/common/programs/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/common/programs/default.nix b/roles/common/programs/default.nix index 6262b48..e3aaa87 100755 --- a/roles/common/programs/default.nix +++ b/roles/common/programs/default.nix @@ -12,6 +12,7 @@ environment.systemPackages = with pkgs; [ speedtest-cli bat + file nvd ncdu tree From c7206aa602d63ec051a19c8fc94039b9b483df53 Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 12 Jul 2023 19:39:38 +0200 Subject: [PATCH 26/27] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a4098ff..4a32b35 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1687647343, - "narHash": "sha256-1/o/i9KEFOBdlF9Cs04kBcqDFbYMt6W4SMqGa+QnnaI=", + "lastModified": 1689134369, + "narHash": "sha256-0G9dutIvhS/WUr3Awcnqw71g8EVVvvkOhVDnDDbY4Fw=", "owner": "nix-community", "repo": "home-manager", - "rev": "0ee5ab611dc1fbb5180bd7d88d2aeb7841a4d179", + "rev": "e42fb59768f0305085abde0dd27ab5e0cc15420c", "type": "github" }, "original": { @@ -70,11 +70,11 @@ ] }, "locked": { - "lastModified": 1687163790, - "narHash": "sha256-CmG/ZdswJrWM0CMgJiVyWfO6LqaI4SKEAx9IrnYDrpI=", + "lastModified": 1687871164, + "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", "owner": "nix-community", "repo": "home-manager", - "rev": "ac53777f52929bc82efcd2830bfc5aa60bcb4337", + "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", "type": "github" }, "original": { @@ -101,11 +101,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1687379288, - "narHash": "sha256-cSuwfiqYfeVyqzCRkU9AvLTysmEuSal8nh6CYr+xWog=", + "lastModified": 1689137672, + "narHash": "sha256-QZoHxr0a73x6rQcAo5CiwYpysHbSnk7lAR8/16um7mM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ef0bc3976340dab9a4e087a0bcff661a8b2e87f3", + "rev": "98da3dd0de6660d4abed7bb74e748694bd803413", "type": "github" }, "original": { @@ -116,11 +116,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1686960236, - "narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=", + "lastModified": 1689098530, + "narHash": "sha256-fxc/9f20wRyo/5ydkmZkX/Sh/ULa7RcT8h+cUv8p/44=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "04af42f3b31dba0ef742d254456dc4c14eedac86", + "rev": "f2406198ea0e4e37d4380d0e20336c575b8f8ef9", "type": "github" }, "original": { From 7c41dfd9b30ffff79fce501a896b752c20ed11a3 Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 12 Jul 2023 21:03:06 +0200 Subject: [PATCH 27/27] Archie: switch kernel to xanmod --- machines/Archie/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Archie/configuration.nix b/machines/Archie/configuration.nix index c01b561..4b56c96 100644 --- a/machines/Archie/configuration.nix +++ b/machines/Archie/configuration.nix @@ -18,6 +18,8 @@ }; boot.loader.efi.canTouchEfiVariables = true; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; + networking.hostName = "Archie"; # Define your hostname. networking.networkmanager.enable = true; # Enable networking