From 3ee8467b9a6382641543e2ac485d5c2623e9b0c4 Mon Sep 17 00:00:00 2001 From: ene Date: Mon, 20 Feb 2023 08:45:56 +0100 Subject: Feat(flake): Move the in and outputs to separate files --- flake/inputs/default.nix | 37 +++++++++++++++++ flake/nixosConfigurations/default.nix | 78 +++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 flake/inputs/default.nix create mode 100644 flake/nixosConfigurations/default.nix (limited to 'flake') diff --git a/flake/inputs/default.nix b/flake/inputs/default.nix new file mode 100644 index 00000000..d3300cad --- /dev/null +++ b/flake/inputs/default.nix @@ -0,0 +1,37 @@ +{_}: { + 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; + }; +} diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix new file mode 100644 index 00000000..e5aa8020 --- /dev/null +++ b/flake/nixosConfigurations/default.nix @@ -0,0 +1,78 @@ +# vim: ts=2 +{ + system, + inputs, + ... +}: let + sysLib = import ../../lib { + inherit pkgs; + inherit (inputs) shell-library; + }; + lib = inputs.nixpkgs.lib.extend (_: _: { + inherit (sysLib) makeShellScriptWithLibrary; + }); + + inherit (inputs.nixpkgs.lib) nixosSystem; + + pkgs = import inputs.nixpkgs { + inherit system; + config = { + allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "steam" + "steam-original" + ]; + }; + }; + homeManagerConfig = { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.soispha = import ./home-manager; + extraSpecialArgs = { + inherit pkgs; + inherit + (inputs) + user_js + system + neovim_config + impermanence + snap-sync + ; + }; + }; + }; + defaultModules = [ + inputs.agenix.nixosModules.default + + inputs.home-manager.nixosModules.home-manager + homeManagerConfig + ]; +in { + # full systems + tiamat = nixosSystem { + inherit system; + specialArgs = {inherit inputs pkgs;}; + modules = + [ + ./hosts/tiamat/configuration.nix + ] + ++ defaultModules; + }; + mammun = nixosSystem { + inherit system; + specialArgs = {inherit inputs pkgs;}; + modules = + [ + ./hosts/mammun/configuration.nix + ] + ++ defaultModules; + }; + + # minimal ones + spawn = nixosSystem { + inherit system; + specialArgs = inputs; + modules = [./hosts/spawn/configuration.nix]; + }; +} -- cgit 1.4.1