{ description = "Mr Hedgehog's Nix config with flakes"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixos.url = "github:nixos/nixpkgs?rev=7f9b6e2babf232412682c09e57ed666d8f84ac2d"; nixos-hardware.url = "github:nixos/nixos-hardware"; # my-nixpkgs.url = "github:ModdedGamers/nixpkgs/python-gasp-init"; agenix.url = "github:ryantm/agenix"; agenix.inputs.nixpkgs.follows = "nixpkgs"; alejandra.url = "github:kamadorueda/alejandra"; alejandra.inputs.nixpkgs.follows = "nixpkgs"; doom-emacs.url = "github:nix-community/nix-doom-emacs"; doom-emacs.inputs.nixpkgs.follows = "nixpkgs"; emacs.url = "github:nix-community/emacs-overlay?rev=f920a177e299989ddcdda5d4875879cf0301c96c"; emacs.inputs.nixpkgs.follows = "nixos"; home.url = "github:nix-community/home-manager"; home.inputs.nixpkgs.follows = "nixpkgs"; neovim.url = "github:nix-community/neovim-nightly-overlay"; neovim.inputs.nixpkgs.follows = "nixpkgs"; nixgl.url = "github:guibou/nixGL"; nixgl.inputs.nixpkgs.follows = "nixpkgs"; nixpkgs-update.url = "github:ryantm/nixpkgs-update"; nur.url = "github:nix-community/nur"; nur.inputs.nixpkgs.follows = "nixpkgs"; statix.url = "github:NerdyPepper/statix"; statix.inputs.nixpkgs.follows = "nixpkgs"; tokyo-night-ff.url = "github:rototrash/tokyo-night-fox"; tokyo-night-ff.flake = false; vim-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins"; vim-plugins.inputs.nixpkgs.follows = "nixpkgs"; wayland.url = "github:nix-community/nixpkgs-wayland"; wayland.inputs.nixpkgs.url = "nixpkgs"; }; outputs = inputs @ { self, nixpkgs, nixos, nixos-hardware, # my-nixpkgs, agenix, alejandra, doom-emacs, emacs, home, neovim, nixgl, nixpkgs-update, nur, statix, tokyo-night-ff, vim-plugins, wayland, }: let nixos-overlay = final: prev: { nixos = import nixos { inherit system; config.allowUnfree = true; overlays = [ emacs.overlay ]; }; }; alejandra-overlay = final: prev: {alejandra = alejandra.defaultPackage.${prev.system};}; # my-nixpkgs-overlay = final: prev: { my-nixpkgs = import my-nixpkgs { inherit system;};}; nixpkgs-update-overlay = final: prev: {nixpkgs-update = nixpkgs-update.defaultPackage.${prev.system};}; my-pkgs = final: prev: {my-pkgs = self.packages."${prev.system}";}; system = "x86_64-linux"; pkgs = import nixpkgs { # inherit system; localSystem = "x86_64-linux"; config = { allowUnfree = true; input-fonts.acceptLicense = true; }; overlays = [ (import ./pkgs/default.nix {inherit inputs;}) (import ./overlays/gopass-jsonapi.nix {inherit pkgs;}) # my-nixpkgs-overlay my-pkgs alejandra-overlay nixos-overlay neovim.overlay nixgl.overlay nixpkgs-update-overlay nur.overlay statix.overlay vim-plugins.overlay wayland.overlay ]; }; in { packages.${system} = { "sway-launcher-desktop" = pkgs.callPackage ./pkgs/sway-launcher-desktop.nix {}; "taskwarrior-tui" = pkgs.callPackage ./pkgs/taskwarrior-tui.nix {}; "tokyo-night-gtk" = pkgs.callPackage ./pkgs/tokyo-night-gtk.nix {}; }; nixosConfigurations.zaphod = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [./hosts/zaphod/configuration.nix]; }; homeConfigurations.mrhedgehog = home.lib.homeManagerConfiguration { inherit pkgs system; username = "mrhedgehog"; stateVersion = "22.05"; homeDirectory = "/home/mrhedgehog"; configuration.imports = [./home.nix doom-emacs.hmModule]; }; colmena = import ./hosts/default.nix; }; }