diff --git a/.gitignore b/.gitignore index db2b2c5..329b006 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,2 @@ ### direnv ### .direnv - -### pre-commit ### -.pre-commit-config.yaml diff --git a/flake.nix b/flake.nix index eea3db1..03cbc53 100644 --- a/flake.nix +++ b/flake.nix @@ -1,66 +1,67 @@ { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - master.url = "github:nixos/nixpkgs"; - stable.url = "github:nixos/nixpkgs/nixos-24.11"; + inputs = + { + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + master.url = "github:nixos/nixpkgs"; + stable.url = "github:nixos/nixpkgs/nixos-24.11"; - # New flake-parts input - flake-parts.url = "github:hercules-ci/flake-parts"; - flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; - git-hooks-nix.url = "github:cachix/git-hooks.nix"; + # New flake-parts input + flake-parts.url = "github:hercules-ci/flake-parts"; + flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; + git-hooks-nix.url = "github:cachix/git-hooks.nix"; - clan-core = { - url = "git+https://git.clan.lol/clan/clan-core"; - inputs.nixpkgs.follows = "nixpkgs"; # Needed if your configuration uses nixpkgs unstable. - inputs.flake-parts.follows = "flake-parts"; + clan-core = { + url = "git+https://git.clan.lol/clan/clan-core"; + inputs.nixpkgs.follows = "nixpkgs"; # Needed if your configuration uses nixpkgs unstable. + inputs.flake-parts.follows = "flake-parts"; + }; + + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; + + impermanence.url = "github:nix-community/impermanence"; + + pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; + + nur.url = "github:nix-community/NUR"; + + nix-index-database.url = "github:Mic92/nix-index-database"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + + nix-monitored.url = "github:ners/nix-monitored"; + nix-monitored.inputs.nixpkgs.follows = "nixpkgs"; + + jovian.url = "github:Jovian-Experiments/Jovian-NixOS"; + + # Programs + timers.url = "git+https://gitea.moritzboeh.me/moritz/timers.git"; + filetags.url = "git+https://gitea.moritzboeh.me/moritz/filetags.git"; + + # Neovim + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + + nixvim.url = "github:nix-community/nixvim"; + nixvim.inputs.flake-parts.follows = "flake-parts"; + nixvim.inputs.nixpkgs.follows = "nixpkgs"; + + # Niri + niri.url = "github:sodiboo/niri-flake"; + niri.inputs.nixpkgs.follows = "nixpkgs"; + + # Laptop + asus-touchpad-numpad-driver.url = "github:MoritzBoehme/asus-touchpad-numpad-driver/german-layout"; + asus-touchpad-numpad-driver.flake = false; + + # Firefox user.js + arkenfox-userjs.url = "github:arkenfox/user.js"; + arkenfox-userjs.flake = false; }; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager"; - - impermanence.url = "github:nix-community/impermanence"; - - pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; - - nur.url = "github:nix-community/NUR"; - - nix-index-database.url = "github:Mic92/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; - - nix-monitored.url = "github:ners/nix-monitored"; - nix-monitored.inputs.nixpkgs.follows = "nixpkgs"; - - jovian.url = "github:Jovian-Experiments/Jovian-NixOS"; - - # Programs - timers.url = "git+https://gitea.moritzboeh.me/moritz/timers.git"; - filetags.url = "git+https://gitea.moritzboeh.me/moritz/filetags.git"; - - # Neovim - neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - - nixvim.url = "github:nix-community/nixvim"; - nixvim.inputs.flake-parts.follows = "flake-parts"; - nixvim.inputs.nixpkgs.follows = "nixpkgs"; - - # Niri - niri.url = "github:sodiboo/niri-flake"; - niri.inputs.nixpkgs.follows = "nixpkgs"; - - # Laptop - asus-touchpad-numpad-driver.url = "github:MoritzBoehme/asus-touchpad-numpad-driver/german-layout"; - asus-touchpad-numpad-driver.flake = false; - - # Firefox user.js - arkenfox-userjs.url = "github:arkenfox/user.js"; - arkenfox-userjs.flake = false; - }; - - outputs = inputs @ {flake-parts, ...}: - flake-parts.lib.mkFlake {inherit inputs;} ({self, ...}: { + outputs = inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } ({ self, pkgs, ... }: { # We define our own systems below. you can still use this to add system specific outputs to your flake. # See: https://flake.parts/getting-started - systems = ["x86_64-linux"]; + systems = [ "x86_64-linux" ]; # import clan-core modules imports = [ @@ -68,23 +69,18 @@ inputs.git-hooks-nix.flakeModule ]; - perSystem = { - config, - inputs', - pkgs, - ... - }: { - devShells.default = - pkgs.mkShell { - packages = [inputs'.clan-core.packages.clan-cli pkgs.alejandra]; - } - // config.pre-commit.devShell; + + perSystem = { config, inputs', pkgs, ... }: { + devShells.default = pkgs.mkShell { + packages = [ inputs'.clan-core.packages.clan-cli pkgs.alejandra ]; + }; pre-commit.settings.hooks = { alejandra.enable = true; check-merge-conflicts.enable = true; flake-checker.enable = true; deadnix.enable = true; nil.enable = true; + statix.enable = true; }; };