Compare commits
3 commits
4fbdadbe6f
...
5aae7edaf8
| Author | SHA1 | Date | |
|---|---|---|---|
| 5aae7edaf8 | |||
| 679f12e6a8 | |||
| a4dcf49e41 |
4 changed files with 319 additions and 556 deletions
692
flake.lock
generated
692
flake.lock
generated
File diff suppressed because it is too large
Load diff
165
flake.nix
165
flake.nix
|
|
@ -1,67 +1,4 @@
|
|||
{
|
||||
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";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
||||
nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
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;
|
||||
|
||||
zola-theme.url = "github:Speyll/anemone";
|
||||
zola-theme.flake = false;
|
||||
};
|
||||
|
||||
outputs = inputs @ {flake-parts, ...}:
|
||||
flake-parts.lib.mkFlake {inherit inputs;} ({self, ...}: {
|
||||
# We define our own systems below. you can still use this to add system specific outputs to your flake.
|
||||
|
|
@ -71,7 +8,7 @@
|
|||
# import clan-core modules
|
||||
imports = [
|
||||
inputs.clan-core.flakeModules.default
|
||||
inputs.git-hooks-nix.flakeModule
|
||||
inputs.git-hooks.flakeModule
|
||||
./clanServices/flake-module.nix
|
||||
];
|
||||
|
||||
|
|
@ -84,7 +21,26 @@
|
|||
devShells = rec {
|
||||
default = pkgs.mkShell {
|
||||
inherit (config.pre-commit.devShell) shellHook nativeBuildInputs;
|
||||
packages = [inputs'.clan-core.packages.clan-cli pkgs.alejandra];
|
||||
packages = [
|
||||
inputs'.clan-core.packages.clan-cli
|
||||
pkgs.alejandra
|
||||
(pkgs.writeShellApplication {
|
||||
name = "nix-follows";
|
||||
text = ''
|
||||
nix flake metadata --json | jq -r '(.locks.nodes.root.inputs | keys) as $root_input_keys
|
||||
| .locks.nodes | to_entries[]
|
||||
| select(.key | IN($root_input_keys[]))
|
||||
| select((.value | has("flake") | not) or (.value.flake == true))
|
||||
| select(.value | has("inputs"))
|
||||
| .key as $parent_key
|
||||
| .value.inputs | keys[]
|
||||
| select(IN($root_input_keys[]))
|
||||
| {"key": $parent_key, "value": .}
|
||||
| .key + ".inputs." + .value + ".follows = \"" + .value + "\";"'
|
||||
'';
|
||||
runtimeInputs = [pkgs.jq];
|
||||
})
|
||||
];
|
||||
};
|
||||
zola = let
|
||||
theme = inputs.zola-theme;
|
||||
|
|
@ -140,4 +96,83 @@
|
|||
};
|
||||
};
|
||||
});
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
master.url = "github:nixos/nixpkgs";
|
||||
stable.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
|
||||
# New flake-parts input
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
||||
clan-core.url = "git+https://git.clan.lol/clan/clan-core";
|
||||
clan-core.inputs.nixpkgs.follows = "nixpkgs"; # Needed if your configuration uses nixpkgs unstable.
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
git-hooks.url = "github:cachix/git-hooks.nix";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
jovian.url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
|
||||
nix-index-database.url = "github:Mic92/nix-index-database";
|
||||
nix-monitored.url = "github:ners/nix-monitored";
|
||||
nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
flake-compat.url = "github:edolstra/flake-compat";
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
systems.url = "github:nix-systems/default";
|
||||
|
||||
# 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";
|
||||
|
||||
# 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;
|
||||
|
||||
zola-theme.url = "github:Speyll/anemone";
|
||||
zola-theme.flake = false;
|
||||
|
||||
# NOTE: create follows statements with nix-follows
|
||||
clan-core.inputs.flake-parts.follows = "flake-parts";
|
||||
clan-core.inputs.systems.follows = "systems";
|
||||
clan-core.inputs.treefmt-nix.follows = "treefmt-nix";
|
||||
filetags.inputs.flake-utils.follows = "flake-utils";
|
||||
filetags.inputs.nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.inputs.systems.follows = "systems";
|
||||
git-hooks.inputs.flake-compat.follows = "flake-compat";
|
||||
git-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
jovian.inputs.nixpkgs.follows = "nixpkgs";
|
||||
lix-module.inputs.flake-utils.follows = "flake-utils";
|
||||
lix-module.inputs.nixpkgs.follows = "nixpkgs";
|
||||
neovim-nightly-overlay.inputs.flake-compat.follows = "flake-compat";
|
||||
neovim-nightly-overlay.inputs.flake-parts.follows = "flake-parts";
|
||||
neovim-nightly-overlay.inputs.git-hooks.follows = "git-hooks";
|
||||
neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
||||
neovim-nightly-overlay.inputs.treefmt-nix.follows = "treefmt-nix";
|
||||
niri.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nix-monitored.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixos-mailserver.inputs.flake-compat.follows = "flake-compat";
|
||||
nixos-mailserver.inputs.git-hooks.follows = "git-hooks";
|
||||
nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixvim.inputs.flake-parts.follows = "flake-parts";
|
||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixvim.inputs.systems.follows = "systems";
|
||||
nur.inputs.flake-parts.follows = "flake-parts";
|
||||
nur.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nur.inputs.treefmt-nix.follows = "treefmt-nix";
|
||||
timers.inputs.nixpkgs.follows = "nixpkgs";
|
||||
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{inputs, ...}: {
|
||||
imports = [
|
||||
../../modules/zfs_unencrypted.nix
|
||||
../../modules/shared.nix
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
./ddns.nix
|
||||
./mail-server.nix
|
||||
./website/root
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
|
|
|||
|
|
@ -2,14 +2,16 @@
|
|||
config,
|
||||
lib,
|
||||
inputs,
|
||||
self,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkOption types;
|
||||
|
||||
cfg = config.my.programs.nix;
|
||||
in {
|
||||
imports = [
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
|
||||
options.my.programs.nix = {
|
||||
gc = {
|
||||
enable = mkEnableOption "nix-gc";
|
||||
|
|
@ -23,15 +25,9 @@ in {
|
|||
};
|
||||
|
||||
config = {
|
||||
home-manager.users.moritz.programs.direnv.nix-direnv.package = pkgs.nix-direnv.override {
|
||||
nix = config.nix.package;
|
||||
};
|
||||
|
||||
nix = {
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
|
||||
package = pkgs.nix; # TODO: change this back
|
||||
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
|
|
@ -56,9 +52,6 @@ in {
|
|||
master.flake = inputs.master;
|
||||
nixpkgs.flake = inputs.nixpkgs;
|
||||
stable.flake = inputs.stable;
|
||||
dotfiles.flake = self;
|
||||
default.flake = self;
|
||||
d.flake = self;
|
||||
};
|
||||
|
||||
settings = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue