diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 58 |
1 files changed, 37 insertions, 21 deletions
@@ -1,22 +1,13 @@ - { description = "testing nix flakes for server deployment"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-21.11"; + nixpkgs.url = "github:NixOS/nixpkgs/backport-154729-to-release-21.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; uplcg = { url = "git+https://stuebinm.eu/git/uplcg?ref=main"; flake = false; }; - # woitb = { - # url = "git+https://stuebinm.eu/git/woitb?ref=main"; - # flake = false; - # }; - # workadventure = { - # url = "git+https://stuebinm.eu/git/workadventure-nix"; - # flake = false; - # }; tracktrain = { url = "git+https://stuebinm.eu/git/tracktrain?ref=main"; flake = false; @@ -25,24 +16,49 @@ url = "path:/home/stuebinm/Dokumente/blog"; flake = false; }; + home-manager = { + url = "github:nix-community/home-manager/release-21.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + playground.url = "git+https://stuebinm.eu/git/playground"; + playground.flake = false; + naersk.url = "github:nix-community/naersk"; + sfz.url = "github:weihanglo/sfz"; + sfz.flake = false; + feeds.url = "path:/home/stuebinm/newsboat-feeds-private.nix"; + feeds.flake = false; }; - outputs = { self, nixpkgs, ... }@inputs: { + outputs = { self, nixpkgs, ... }@inputs: + let + mkConfig = imports: config: + nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ config ] ++ imports; - nixosConfigurations = - let mkConfig = imports: config: nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ config ] ++ imports; + specialArgs = { inherit inputs; }; + }; + mkServer = mkConfig [ ./common/headless.nix ]; + mkDesktop = mkConfig [ ./common/desktop.nix ]; + in { - specialArgs = { inherit inputs; }; - }; - mkServer = mkConfig [ ./common/headless.nix ]; - mkDesktop = mkConfig [ ./common/desktop.nix ]; - in { + nixosConfigurations = { chaski = mkServer ./hosts/chaski/configuration.nix; flora = mkServer ./hosts/flora/configuration.nix; abbenay = mkDesktop ./hosts/abbenay/configuration.nix; cyberbox = mkDesktop ./hosts/cyberbox/configuration.nix; }; - }; + + homeConfigurations.stuebinm = + inputs.home-manager.lib.homeManagerConfiguration rec { + system = "x86_64-linux"; + homeDirectory = "/home/stuebinm"; + username = "stuebinm"; + configuration.imports = [ ./home/home.nix ]; + stateVersion = "21.03"; + extraSpecialArgs = { inherit inputs system; }; + }; + + home = self.homeConfigurations.stuebinm.activationPackage; + }; } |