5 Commits

Author SHA1 Message Date
349181f35b Add wireshark config
Some checks failed
Update Nix Flake / update-flake (push) Failing after 15s
2026-03-15 09:54:11 +01:00
0b8b7564a1 Make nix gc explicitly persistent
Some checks failed
Update Nix Flake / update-flake (push) Failing after 15s
2026-03-13 08:14:07 +01:00
54e0f94af5 Add garbage-collect for home-manager 2026-03-13 07:51:57 +01:00
977aa539a3 Update flake
Some checks failed
Update Nix Flake / update-flake (push) Failing after 15s
2026-03-12 07:35:43 +01:00
d56605e37a Add nix-index-database and comma 2026-03-12 07:34:13 +01:00
10 changed files with 114 additions and 7 deletions

21
flake.lock generated
View File

@@ -366,6 +366,26 @@
"type": "github" "type": "github"
} }
}, },
"nix-index-database": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772945408,
"narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "1c1d8ea87b047788fd7567adf531418c5da321ec",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-index-database",
"type": "github"
}
},
"nix-matlab": { "nix-matlab": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
@@ -585,6 +605,7 @@
"music-reader": "music-reader", "music-reader": "music-reader",
"nix-colors": "nix-colors", "nix-colors": "nix-colors",
"nix-gl": "nix-gl", "nix-gl": "nix-gl",
"nix-index-database": "nix-index-database",
"nix-matlab": "nix-matlab", "nix-matlab": "nix-matlab",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",

View File

@@ -19,6 +19,10 @@
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -94,7 +98,9 @@
nixosConfigurations = { nixosConfigurations = {
# Main laptop # Main laptop
aspi = lib.nixosSystem { aspi = lib.nixosSystem {
modules = [./hosts/aspi]; modules = [
./hosts/aspi
];
specialArgs = { specialArgs = {
inherit inputs outputs; inherit inputs outputs;
}; };

View File

@@ -19,7 +19,6 @@
links2 # Tui web-browser links2 # Tui web-browser
lnav # log analyzing tool lnav # log analyzing tool
mc # Tui file browser mc # Tui file browser
# nix-index
nmap nmap
p7zip # unzip 7zip archives p7zip # unzip 7zip archives
parted parted

View File

@@ -2,6 +2,7 @@
lib, lib,
pkgs, pkgs,
config, config,
inputs,
outputs, outputs,
... ...
}: { }: {
@@ -9,6 +10,7 @@
[ [
../features/fonts ../features/fonts
../features/nix-helper ../features/nix-helper
inputs.nix-index-database.homeModules.default # nix-locate
] ]
++ (builtins.attrValues outputs.homeManagerModules); ++ (builtins.attrValues outputs.homeManagerModules);
@@ -33,9 +35,19 @@
# systemd.user.startServices = "sd-switch"; # TODO: what is this # systemd.user.startServices = "sd-switch"; # TODO: what is this
# Expire old hm generations
hm-expire = {
enable = true;
dates = "weekly";
expire = "-30 days";
};
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
git.enable = true; git.enable = true;
nix-index.enable = true; # allows command-not-found
nix-index-database.comma.enable = true;
}; };
home = { home = {

View File

@@ -39,6 +39,20 @@
"ca-derivations" "ca-derivations"
]; ];
# Expire old hm generations
hm-expire = {
enable = true;
dates = "weekly";
expire = "-30 days";
};
# Remove unused packets
services.nix-gc = {
enable = true;
automatic = true;
frequency = "weekly";
persistent = true;
};
# nix.settings. # warn-dirty = false; # TODO: do I want this # nix.settings. # warn-dirty = false; # TODO: do I want this
# #
# Ensure we can still build when missing-server is not accessible # Ensure we can still build when missing-server is not accessible

View File

@@ -21,6 +21,7 @@
../common/optional/podman.nix ../common/optional/podman.nix
../common/optional/wireguard.nix ../common/optional/wireguard.nix
../common/optional/wireshark.nix
../common/optional/flatpak.nix ../common/optional/flatpak.nix
../common/optional/avahi.nix ../common/optional/avahi.nix

View File

@@ -1,8 +1,4 @@
{ {outputs, ...}: {
lib,
outputs,
...
}: {
# Apply overlays # Apply overlays
nixpkgs = { nixpkgs = {
# TODO: apply this to hm and nixos without duplicate code # TODO: apply this to hm and nixos without duplicate code
@@ -32,10 +28,12 @@
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 30d"; options = "--delete-older-than 30d";
persistent = true;
}; };
nix.optimise = { nix.optimise = {
automatic = true; automatic = true;
dates = ["weekly"]; # Optional; allows customizing optimisation schedule dates = ["weekly"]; # Optional; allows customizing optimisation schedule
persistent = true;
}; };
programs.nix-ld.enable = true; programs.nix-ld.enable = true;

View File

@@ -0,0 +1,9 @@
{
programs.wireshark = {
enable = true;
dumpcap.enable = true;
usbmon.enable = true;
};
users.users.julian.extraGroups = ["wireshark"];
}

View File

@@ -5,4 +5,5 @@
colors = import ./colors.nix; colors = import ./colors.nix;
hostname = import ./hostname.nix; hostname = import ./hostname.nix;
non-nixos = import ./non-nixos.nix; non-nixos = import ./non-nixos.nix;
hm-expire = import ./hm-expire.nix;
} }

View File

@@ -0,0 +1,46 @@
{
config,
lib,
pkgs,
...
}: let
cfg = config.hm-expire;
in {
options.hm-expire = {
enable = lib.mkEnableOption "Whether to enable hm-expire";
dates = lib.mkOption {
type = lib.types.str;
default = "weekly";
};
expire = lib.mkOption {
type = lib.types.str;
default = "-30 days";
};
};
config = lib.mkIf cfg.enable {
# This creates a user-level systemd service
systemd.user.services.cleanup-home-manager = {
Unit = {
Description = "Cleanup old Home Manager generations";
};
Service = {
Type = "oneshot";
ExecStart = "${pkgs.bash}/bin/bash -c '${pkgs.home-manager}/bin/home-manager expire-generations \"${cfg.expire}\"'";
};
};
systemd.user.timers.cleanup-home-manager = {
Unit = {
Description = "Weekly cleanup of Home Manager generations";
};
Timer = {
OnCalendar = cfg.dates;
Persistent = true;
};
Install = {
WantedBy = ["timers.target"];
};
};
};
}