From 5256730fe15c2e820f74eb9f6b6fd3ba99f175b6 Mon Sep 17 00:00:00 2001 From: Miguel Palhas Date: Fri, 4 Oct 2024 17:35:03 +0100 Subject: [PATCH] code review --- flake.lock | 18 +++- flake.nix | 94 ++++++++----------- {home-manager => home}/arrakis/default.nix | 0 .../common/features/colorscheme.nix | 0 .../common/programs/basePrograms.nix | 0 .../common/programs/default.nix | 0 .../common/programs/eww/default.nix | 0 .../common/programs/eww/eww.scss | 0 .../common/programs/eww/eww.yuck | 0 .../common/programs/hyprland.nix | 0 .../common/programs/kitty.nix | 0 .../common/programs/neovim/default.nix | 0 .../common/programs/zsh.nix | 0 {home-manager => home}/test/default.nix | 0 14 files changed, 58 insertions(+), 54 deletions(-) rename {home-manager => home}/arrakis/default.nix (100%) rename {home-manager => home}/common/features/colorscheme.nix (100%) rename {home-manager => home}/common/programs/basePrograms.nix (100%) rename {home-manager => home}/common/programs/default.nix (100%) rename {home-manager => home}/common/programs/eww/default.nix (100%) rename {home-manager => home}/common/programs/eww/eww.scss (100%) rename {home-manager => home}/common/programs/eww/eww.yuck (100%) rename {home-manager => home}/common/programs/hyprland.nix (100%) rename {home-manager => home}/common/programs/kitty.nix (100%) rename {home-manager => home}/common/programs/neovim/default.nix (100%) rename {home-manager => home}/common/programs/zsh.nix (100%) rename {home-manager => home}/test/default.nix (100%) diff --git a/flake.lock b/flake.lock index f0c6fe9..80badfa 100644 --- a/flake.lock +++ b/flake.lock @@ -899,6 +899,7 @@ "nixvim": "nixvim", "nvchad-starter": "nvchad-starter", "nvchad4nix": "nvchad4nix", + "systems": "systems_3", "utils": "utils" } }, @@ -933,6 +934,21 @@ } }, "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -970,7 +986,7 @@ }, "utils": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1726560853, diff --git a/flake.nix b/flake.nix index 95d97f7..fa5e11f 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + systems.url = "github:nix-systems/default-linux"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; @@ -32,61 +33,48 @@ utils.url = "github:numtide/flake-utils"; }; - outputs = - { self, nixpkgs, home-manager, utils, catppuccin, foundry, ... }@inputs: - utils.lib.eachDefaultSystem (system: - let - inherit (self) outputs; - x86 = nixpkgs.legacyPackages.x86_64-linux; - forEachSystem = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; - forEachPkg = f: forEachSystem (sys: f nixpkgs.legacyPackages.${sys}); - pkgs = import nixpkgs { - inherit x86; - overlays = [ foundry.overlay ]; - }; - mkNixOS = extraModules: - nixpkgs.lib.nixosSystem { - inherit extraModules; - specialArgs = { inherit inputs outputs; }; - modules = extraModules ++ [ - catppuccin.nixosModules.catppuccin - { - nixpkgs = { - overlays = [ - foundry.overlay - (final: prev: { - nvchad = - inputs.nvchad4nix.packages."${pkgs.system}".nvchad; - }) - ]; - }; - } - ]; - }; - - mkHome = modules: pkgs: - home-manager.lib.homeManagerConfiguration { - inherit modules pkgs; - extraSpecialArgs = { inherit inputs outputs catppuccin; }; - }; - in { - nixosConfigurations = { - laptop = mkNixOS [ ./hosts/laptop ]; - arrakis = mkNixOS [ ./hosts/arrakis ]; - desktop = mkNixOS [ ./hosts/desktop ]; - test = mkNixOS [ ./hosts/test ]; - pi = mkNixOS [ ./hosts/pi ]; - live = mkNixOS [ ./hosts/live ]; + outputs = { self, systems, nixpkgs, home-manager, utils, catppuccin, foundry + , ... }@inputs: + let + inherit (self) outputs; + pkgsFor = nixpkgs.lib.genAttrs (import systems) (system: + import nixpkgs { + inherit system; + config.allowUnfree = true; + }); + x86 = nixpkgs.legacyPackages.x86_64-linux; + forEachSystem = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; + forEachPkg = f: forEachSystem (sys: f nixpkgs.legacyPackages.${sys}); + mkNixOS = extraModules: + nixpkgs.lib.nixosSystem { + inherit extraModules; + modules = extraModules ++ [ catppuccin.nixosModules.catppuccin ]; + specialArgs = { inherit inputs outputs; }; }; - homeConfigurations = { - "naps62@laptop" = mkHome [ ./home-manager/laptop ] x86; - "naps62@arrakis" = mkHome [ ./home-manager/arrakis ] x86; - "naps62@desktop" = mkHome [ ./home-manager/desktop ] x86; - "naps62@pi" = mkHome [ ./home-manager/pi ] x86; - "naps62@test" = mkHome [ ./home-manager/test ] x86; + mkHome = modules: pkgs: + home-manager.lib.homeManagerConfiguration { + inherit modules pkgs; + extraSpecialArgs = { inherit inputs outputs catppuccin; }; }; + in { + nixosConfigurations = { + laptop = mkNixOS [ ./hosts/laptop ]; + arrakis = mkNixOS [ ./hosts/arrakis ]; + desktop = mkNixOS [ ./hosts/desktop ]; + test = mkNixOS [ ./hosts/test ]; + pi = mkNixOS [ ./hosts/pi ]; + live = mkNixOS [ ./hosts/live ]; + }; - devShells = forEachPkg (pkgs: import ./shell.nix { inherit pkgs; }); - }); + homeConfigurations = { + laptop = mkHome [ ./home-manager/laptop ] pkgsFor.x86_64-linux; + arrakis = mkHome [ ./home-manager/arrakis ] pkgsFor.x86_64-linux; + desktop = mkHome [ ./home-manager/desktop ] pkgsFor.x86_64-linux; + pi = mkHome [ ./home-manager/pi ] pkgsFor.aarch64-linux; + test = mkHome [ ./home-manager/test ] pkgsFor.x86_64-linux; + }; + + devShells = forEachPkg (pkgs: import ./shell.nix { inherit pkgs; }); + }; } diff --git a/home-manager/arrakis/default.nix b/home/arrakis/default.nix similarity index 100% rename from home-manager/arrakis/default.nix rename to home/arrakis/default.nix diff --git a/home-manager/common/features/colorscheme.nix b/home/common/features/colorscheme.nix similarity index 100% rename from home-manager/common/features/colorscheme.nix rename to home/common/features/colorscheme.nix diff --git a/home-manager/common/programs/basePrograms.nix b/home/common/programs/basePrograms.nix similarity index 100% rename from home-manager/common/programs/basePrograms.nix rename to home/common/programs/basePrograms.nix diff --git a/home-manager/common/programs/default.nix b/home/common/programs/default.nix similarity index 100% rename from home-manager/common/programs/default.nix rename to home/common/programs/default.nix diff --git a/home-manager/common/programs/eww/default.nix b/home/common/programs/eww/default.nix similarity index 100% rename from home-manager/common/programs/eww/default.nix rename to home/common/programs/eww/default.nix diff --git a/home-manager/common/programs/eww/eww.scss b/home/common/programs/eww/eww.scss similarity index 100% rename from home-manager/common/programs/eww/eww.scss rename to home/common/programs/eww/eww.scss diff --git a/home-manager/common/programs/eww/eww.yuck b/home/common/programs/eww/eww.yuck similarity index 100% rename from home-manager/common/programs/eww/eww.yuck rename to home/common/programs/eww/eww.yuck diff --git a/home-manager/common/programs/hyprland.nix b/home/common/programs/hyprland.nix similarity index 100% rename from home-manager/common/programs/hyprland.nix rename to home/common/programs/hyprland.nix diff --git a/home-manager/common/programs/kitty.nix b/home/common/programs/kitty.nix similarity index 100% rename from home-manager/common/programs/kitty.nix rename to home/common/programs/kitty.nix diff --git a/home-manager/common/programs/neovim/default.nix b/home/common/programs/neovim/default.nix similarity index 100% rename from home-manager/common/programs/neovim/default.nix rename to home/common/programs/neovim/default.nix diff --git a/home-manager/common/programs/zsh.nix b/home/common/programs/zsh.nix similarity index 100% rename from home-manager/common/programs/zsh.nix rename to home/common/programs/zsh.nix diff --git a/home-manager/test/default.nix b/home/test/default.nix similarity index 100% rename from home-manager/test/default.nix rename to home/test/default.nix