From 3184379170d1f1a588e808d4c5fce90ce72b5243 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Fri, 1 Dec 2023 03:07:17 -0500 Subject: [PATCH] refactor(wip): make common a bit better --- common/default.nix | 37 +++------ common/home/default.nix | 9 +++ common/home/{git.nix => git/default.nix} | 0 common/home/nix-index/default.nix | 11 +++ common/home/{tmux.nix => tmux/default.nix} | 0 common/{ => modules}/cachix.nix | 0 common/modules/default.nix | 7 ++ common/overlays/default.nix | 4 +- flake.lock | 4 +- flake.nix | 87 ++++++++++------------ 10 files changed, 80 insertions(+), 79 deletions(-) create mode 100644 common/home/default.nix rename common/home/{git.nix => git/default.nix} (100%) create mode 100644 common/home/nix-index/default.nix rename common/home/{tmux.nix => tmux/default.nix} (100%) rename common/{ => modules}/cachix.nix (100%) create mode 100644 common/modules/default.nix diff --git a/common/default.nix b/common/default.nix index d25bda6..3ffa786 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,10 +1,7 @@ { config, - home-manager, lib, nixpkgs, - nixpkgs-wayland, - nix-index-database, nh, nur, nix-melt, @@ -13,15 +10,13 @@ ... }: { imports = [ - ./cachix.nix - ./overlays ./device-vars.nix - home-manager.nixosModules.default - nh.nixosModules.default + ./modules + ./overlays - ./modules/locale.nix - ./modules/locate.nix + nur.nixosModules.nur + nh.nixosModules.default ]; nixpkgs.config.allowUnfree = true; @@ -42,9 +37,6 @@ exact = false; }; }; - nixpkgs.overlays = [ - nixpkgs-wayland.overlay - ]; nh = { enable = true; @@ -67,24 +59,13 @@ }; home-manager.users = let + user = config.services.device-vars.username; + default = { imports = [ nur.hmModules.nur - nix-index-database.hmModules.nix-index - { - programs = { - nix-index-database.comma.enable = true; - nix-index = { - enable = true; - enableBashIntegration = true; - }; - }; - } - ./home/bash - ./home/git.nix - ./home/neovim - ./home/tmux.nix + ./home ./device-vars.nix ({osConfig, ...}: { @@ -115,11 +96,11 @@ imagemagick usbutils ]); - home.stateVersion = lib.mkDefault "23.05"; }; in { root = default; - matt = default; + # TODO: make user an array? + ${user} = default; }; } diff --git a/common/home/default.nix b/common/home/default.nix new file mode 100644 index 0000000..43fbb95 --- /dev/null +++ b/common/home/default.nix @@ -0,0 +1,9 @@ +{ + imports = [ + ./bash + ./git + ./neovim + ./nix-index + ./tmux + ]; +} diff --git a/common/home/git.nix b/common/home/git/default.nix similarity index 100% rename from common/home/git.nix rename to common/home/git/default.nix diff --git a/common/home/nix-index/default.nix b/common/home/nix-index/default.nix new file mode 100644 index 0000000..c8d1e1b --- /dev/null +++ b/common/home/nix-index/default.nix @@ -0,0 +1,11 @@ +{nix-index-db, ...}: { + imports = [nix-index-db.hmModules.nix-index]; + + programs = { + nix-index-database.comma.enable = true; + nix-index = { + enable = true; + enableBashIntegration = true; + }; + }; +} diff --git a/common/home/tmux.nix b/common/home/tmux/default.nix similarity index 100% rename from common/home/tmux.nix rename to common/home/tmux/default.nix diff --git a/common/cachix.nix b/common/modules/cachix.nix similarity index 100% rename from common/cachix.nix rename to common/modules/cachix.nix diff --git a/common/modules/default.nix b/common/modules/default.nix new file mode 100644 index 0000000..8ef77d1 --- /dev/null +++ b/common/modules/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./cachix.nix + ./locale.nix + ./locate.nix + ]; +} diff --git a/common/overlays/default.nix b/common/overlays/default.nix index 4998cdc..3fa92ac 100644 --- a/common/overlays/default.nix +++ b/common/overlays/default.nix @@ -1,4 +1,4 @@ -{neovim-flake, ...}: { +{neovim-flake, nixpkgs-wayland, ...}: { imports = [ ./dracula-theme.nix ./regreet.nix @@ -7,7 +7,9 @@ nixpkgs.overlays = [ (import ./blueberry.nix) (import ./squeekboard.nix) + neovim-flake.overlay + nixpkgs-wayland.overlay (final: prev: { spotifywm = final.callPackage ./pkgs/spotifywm.nix {}; diff --git a/flake.lock b/flake.lock index 990e081..0d77f62 100644 --- a/flake.lock +++ b/flake.lock @@ -543,7 +543,7 @@ "type": "github" } }, - "nix-index-database": { + "nix-index-db": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -792,7 +792,7 @@ "neovim-flake": "neovim-flake", "nh": "nh", "nix-gaming": "nix-gaming", - "nix-index-database": "nix-index-database", + "nix-index-db": "nix-index-db", "nix-melt": "nix-melt", "nixpkgs": "nixpkgs_4", "nixpkgs-wayland": "nixpkgs-wayland", diff --git a/flake.nix b/flake.nix index c625b85..bc8f6ac 100644 --- a/flake.nix +++ b/flake.nix @@ -1,4 +1,42 @@ { + outputs = { + self, + home-manager, + nixpkgs, + ... + } @ attrs: let + defaultModules = [ + home-manager.nixosModules.home-manager + { + home-manager.extraSpecialArgs = attrs; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + ./common + ]; + in { + nixosConfigurations = { + wim = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = attrs; + modules = + defaultModules + ++ [./devices/wim]; + }; + + binto = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = attrs; + modules = + defaultModules + ++ [./devices/binto]; + }; + }; + + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; + formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra; + }; + inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; @@ -53,56 +91,9 @@ nix-melt.url = "github:nix-community/nix-melt"; nurl.url = "github:nix-community/nurl"; - nix-index-database = { + nix-index-db = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - - outputs = { - self, - home-manager, - nix-gaming, - nixpkgs, - nur, - ... - } @ attrs: let - defaultModules = [ - nur.nixosModules.nur - - home-manager.nixosModules.home-manager - { - home-manager.extraSpecialArgs = attrs; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - } - - ./common/default.nix - ]; - in { - nixosConfigurations = { - wim = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = attrs; - modules = - defaultModules - ++ [ - ./devices/wim - ]; - }; - - binto = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = attrs; - modules = - defaultModules - ++ [ - ./devices/binto - ]; - }; - }; - - formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; - formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra; - }; }