From ba39b551936e4f2898709d8749dd1fae6aeee321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 26 Dec 2023 12:11:34 +0100 Subject: [PATCH] feat: integrate home manager with the system config --- flake.nix | 36 ++++++------------ home/default.nix | 26 ++++++++++++- home/desktops/hyprland/darkman.nix | 10 ++--- .../wallpapers/Lakeside-2}/Lakeside-2-1.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-10.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-11.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-12.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-13.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-14.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-15.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-16.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-17.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-2.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-3.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-4.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-5.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-6.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-7.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-8.jpg | Bin .../wallpapers/Lakeside-2}/Lakeside-2-9.jpg | Bin hosts/MONSTER/default.nix | 12 +++--- 21 files changed, 47 insertions(+), 37 deletions(-) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-1.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-10.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-11.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-12.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-13.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-14.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-15.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-16.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-17.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-2.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-3.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-4.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-5.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-6.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-7.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-8.jpg (100%) rename {Lakeside-2 => home/desktops/hyprland/wallpapers/Lakeside-2}/Lakeside-2-9.jpg (100%) diff --git a/flake.nix b/flake.nix index 1a9b706..2df3984 100644 --- a/flake.nix +++ b/flake.nix @@ -39,27 +39,10 @@ ]; }); - mkHome = { - username, - desktop, - system, - }: - home-manager.lib.homeManagerConfiguration rec { - homeDirectory = "/home/${username}"; - modules = [ - ags.homeManagerModules.default - nixvim.homeManagerModules.nixvim - anyrun.homeManagerModules.default - ./home/packages - ./home/programs - ./home/services - ./home/desktops/${desktop} - ]; - pkgs = legacyPackages.${system}; - }; - mkHost = { hostname, + username, + desktop, system, stateVersion, }: @@ -68,21 +51,26 @@ modules = [ ./modules/nixos/hid-fanatecff ./hosts/${hostname} + home-manager.nixosModules.home-manager { + _module.args = {inherit username;}; networking.hostName = hostname; system.stateVersion = stateVersion; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = {inherit username desktop stateVersion inputs;}; + users.${username} = import ./home; + }; } ]; specialArgs = inputs; }; in { - homeConfigurations.theaninova = mkHome { - username = "theaninova"; - desktop = "hyprland"; - }; - nixosConfigurations.MONSTER = mkHost { hostname = "MONSTER"; + username = "theaninova"; + desktop = "hyprland"; system = "x86_64-linux"; stateVersion = "23.05"; }; diff --git a/home/default.nix b/home/default.nix index ea8f50d..6f2127d 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,2 +1,26 @@ -{...}: { +{ + username, + desktop, + stateVersion, + osConfig, + inputs, + ... +}: { + home = { + inherit username stateVersion; + homeDirectory = "/home/${username}"; + shellAliases = { + nix-reload-home = "home-manager switch --flake ${./..}"; + nix-reload-system = "nixos-rebuild switch --flake ${./..}"; + }; + }; + imports = [ + inputs.ags.homeManagerModules.default + inputs.nixvim.homeManagerModules.nixvim + inputs.anyrun.homeManagerModules.default + ./packages + ./programs + ./services + ./desktops/${desktop} + ]; } diff --git a/home/desktops/hyprland/darkman.nix b/home/desktops/hyprland/darkman.nix index 37c5e01..2079977 100644 --- a/home/desktops/hyprland/darkman.nix +++ b/home/desktops/hyprland/darkman.nix @@ -1,6 +1,6 @@ { pkgs, - homeDirectory, + config, ... }: { services.darkman = { @@ -68,10 +68,10 @@ bash */ '' - ${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Frappe + ${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${config.home.homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Frappe ''; wallpaper = '' - ${pkgs.swww}/bin/swww img ${./Lakeside-2/Lakeside-2-1.jpg} + ${pkgs.swww}/bin/swww img ${./wallpapers/Lakeside-2/Lakeside-2-1.jpg} ''; }; lightModeScripts = { @@ -88,10 +88,10 @@ bash */ '' - ${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Latte + ${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${config.home.homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Latte ''; wallpaper = '' - ${pkgs.swww}/bin/swww img ${./Lakeside-2/Lakeside-2-10.jpg} + ${pkgs.swww}/bin/swww img ${./wallpapers/Lakeside-2/Lakeside-2-10.jpg} ''; }; }; diff --git a/Lakeside-2/Lakeside-2-1.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-1.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-1.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-1.jpg diff --git a/Lakeside-2/Lakeside-2-10.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-10.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-10.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-10.jpg diff --git a/Lakeside-2/Lakeside-2-11.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-11.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-11.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-11.jpg diff --git a/Lakeside-2/Lakeside-2-12.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-12.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-12.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-12.jpg diff --git a/Lakeside-2/Lakeside-2-13.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-13.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-13.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-13.jpg diff --git a/Lakeside-2/Lakeside-2-14.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-14.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-14.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-14.jpg diff --git a/Lakeside-2/Lakeside-2-15.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-15.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-15.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-15.jpg diff --git a/Lakeside-2/Lakeside-2-16.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-16.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-16.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-16.jpg diff --git a/Lakeside-2/Lakeside-2-17.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-17.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-17.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-17.jpg diff --git a/Lakeside-2/Lakeside-2-2.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-2.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-2.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-2.jpg diff --git a/Lakeside-2/Lakeside-2-3.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-3.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-3.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-3.jpg diff --git a/Lakeside-2/Lakeside-2-4.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-4.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-4.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-4.jpg diff --git a/Lakeside-2/Lakeside-2-5.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-5.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-5.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-5.jpg diff --git a/Lakeside-2/Lakeside-2-6.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-6.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-6.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-6.jpg diff --git a/Lakeside-2/Lakeside-2-7.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-7.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-7.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-7.jpg diff --git a/Lakeside-2/Lakeside-2-8.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-8.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-8.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-8.jpg diff --git a/Lakeside-2/Lakeside-2-9.jpg b/home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-9.jpg similarity index 100% rename from Lakeside-2/Lakeside-2-9.jpg rename to home/desktops/hyprland/wallpapers/Lakeside-2/Lakeside-2-9.jpg diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 6a1c0e5..7f02bb3 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -4,6 +4,7 @@ { config, pkgs, + username, ... }: { imports = [ @@ -145,14 +146,13 @@ }; # Define a user account. Don't forget to set a password with ‘passwd’. - services.getty.autologinUser = "theaninova"; + services.getty.autologinUser = "${username}"; services.getty.extraArgs = ["--noclear" "--noissue" "--nonewline"]; services.getty.loginOptions = "-p -f -- \\u"; # preserve environment programs.hyprland.enable = true; programs.hyprland.enableNvidiaPatches = true; - users.users.theaninova = { + users.users.${username} = { isNormalUser = true; - description = "Thea Schöbl"; extraGroups = ["networkmanager" "wheel" "audio" "video" "dialout" "plugdev" "scanner" "lp" "input" "adbusers" "cdrom"]; }; @@ -193,9 +193,6 @@ (nerdfonts.override {fonts = ["JetBrainsMono" "Noto" "NerdFontsSymbolsOnly"];}) ]; - programs.fish.enable = true; - users.users.theaninova.shell = pkgs.fish; - networking = { firewall = { allowedTCPPorts = [8100 5037]; @@ -204,7 +201,8 @@ networkmanager.enable = true; hosts = { - "192.168.0.184" = ["kookaborrow"]; + "192.168.0.219" = ["kookaborrow"]; + "192.168.0.1" = ["router"]; }; };