diff options
Diffstat (limited to '')
-rw-r--r-- | flake.nix | 104 |
1 files changed, 99 insertions, 5 deletions
diff --git a/flake.nix b/flake.nix index 4509c80b..dfb356d7 100644 --- a/flake.nix +++ b/flake.nix @@ -2,14 +2,108 @@ { description = "Nixos system config"; - inputs = import ./flake/inputs; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + agenix = { + url = "github:ryantm/agenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + impermanence = { + url = "github:nix-community/impermanence"; + }; + + neovim_config = { + url = "git+https://codeberg.org/ene/neovim-config.git"; + flake = false; + }; + + strip_js_comments = { + url = "git+https://codeberg.org/ene/strip_js_comments.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + shell-library = { + url = "git+https://git.sils.li/ene/lib-sh.git"; + flake = false; + }; + user_js = { + url = "github:arkenfox/user.js"; + flake = false; + }; + snap-sync = { + url = "github:qubidt/snap-sync"; + flake = false; + }; + }; - outputs = {self, ...} @ inputs: let - pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; + outputs = { + self, + nixpkgs, + home-manager, + neovim_config, + strip_js_comments, + user_js, + impermanence, + agenix, + snap-sync, + shell-library, + ... + } @ inputs: let + # pkgs = nixpkgs.legacyPackages.x86_64-linux; + sysLib = import ./lib {inherit pkgs shell-library;}; system = "x86_64-linux"; + pkgs = import inputs.nixpkgs { + inherit system; + config = { + allowUnfreePredicate = pkg: + builtins.elem (inputs.nixpkgs.lib.getName pkg) [ + "steam" + "steam-original" + ]; + }; + }; in { - nixosConfigurations = - import ./outputs/nixosConfigurations {inherit inputs system;}; + nixosConfigurations.tiamat = nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = + pkgs.lib.recursiveUpdate inputs + sysLib; + modules = [ + ./hosts/tiamat/configuration.nix + agenix.nixosModules.default + + home-manager.nixosModules.home-manager + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.soispha = import ./home-manager; + extraSpecialArgs = { + inherit + pkgs + sysLib + strip_js_comments + user_js + system + neovim_config + impermanence + snap-sync + ; + }; + }; + } + ]; + }; + + nixosConfigurations.mammun = self.outputs.nixosConfigurations.tiamat; + nixosConfigurations.spawn = nixpkgs.lib.nixosSystem { + specialArgs = inputs; + modules = [./hosts/spawn/configuration.nix]; + }; packages."${system}" = { install = import ./bootstrap/install { |