aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--flake.nix104
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 {