Compare commits
3 commits
0b5daa99ed
...
a4d25df5ee
| Author | SHA1 | Date | |
|---|---|---|---|
| a4d25df5ee | |||
| 05b3c065f5 | |||
| 2dcb901ae1 |
11 changed files with 63 additions and 112 deletions
53
flake.lock
generated
53
flake.lock
generated
|
|
@ -250,21 +250,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flakey-profile": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1712898590,
|
|
||||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -328,43 +313,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751235704,
|
|
||||||
"narHash": "sha256-J4ycLoXHPsoBoQtEXFCelL4xlq5pT8U9tNWNKm43+YI=",
|
|
||||||
"rev": "1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6.tar.gz?rev=1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/release-2.93.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix-module": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"flakey-profile": "flakey-profile",
|
|
||||||
"lix": "lix",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751240025,
|
|
||||||
"narHash": "sha256-SXUAlxpjPRkArRMHy5+Hdi+PiC+ND9yzzIjiaHmTvQU=",
|
|
||||||
"rev": "8b1094356f4723d6e89d3f8a95b333ee16d9ab02",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/8b1094356f4723d6e89d3f8a95b333ee16d9ab02.tar.gz?rev=8b1094356f4723d6e89d3f8a95b333ee16d9ab02"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.2-1.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"matrix-appservices": {
|
"matrix-appservices": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
|
|
@ -520,7 +468,6 @@
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"lix-module": "lix-module",
|
|
||||||
"matrix-appservices": "matrix-appservices",
|
"matrix-appservices": "matrix-appservices",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,6 @@ rec {
|
||||||
|
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
|
|
||||||
lix-module = {
|
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.2-1.tar.gz";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
|
||||||
};
|
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
url = "github:nix-community/disko/latest";
|
url = "github:nix-community/disko/latest";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,8 @@ let
|
||||||
home.username = user;
|
home.username = user;
|
||||||
home.homeDirectory = "/home/${user}";
|
home.homeDirectory = "/home/${user}";
|
||||||
}
|
}
|
||||||
] ++ modules;
|
]
|
||||||
|
++ modules;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,8 @@ let
|
||||||
configPath = [
|
configPath = [
|
||||||
"config"
|
"config"
|
||||||
"content" # due to mkIf
|
"content" # due to mkIf
|
||||||
] ++ modulePath;
|
]
|
||||||
|
++ modulePath;
|
||||||
in
|
in
|
||||||
lib.updateManyAttrsByPath
|
lib.updateManyAttrsByPath
|
||||||
[
|
[
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,8 @@ let
|
||||||
categories = [
|
categories = [
|
||||||
"Network"
|
"Network"
|
||||||
"WebBrowser"
|
"WebBrowser"
|
||||||
] ++ lib.optional isSecure "Security";
|
]
|
||||||
|
++ lib.optional isSecure "Security";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
pkgs.runCommand pname { } ''
|
pkgs.runCommand pname { } ''
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,8 @@
|
||||||
count = 60000000;
|
count = 60000000;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
} // user;
|
}
|
||||||
|
// user;
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,8 @@ in
|
||||||
"luci-ssl"
|
"luci-ssl"
|
||||||
"nextdns"
|
"nextdns"
|
||||||
"tailscale"
|
"tailscale"
|
||||||
] ++ packages;
|
]
|
||||||
|
++ packages;
|
||||||
|
|
||||||
# TODO set up SSH config (register public keys, disable password login, ...)
|
# TODO set up SSH config (register public keys, disable password login, ...)
|
||||||
files = pkgs.runCommand "image-files" { } ''
|
files = pkgs.runCommand "image-files" { } ''
|
||||||
|
|
|
||||||
|
|
@ -85,20 +85,18 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services."notify@" =
|
systemd.services."notify@" = {
|
||||||
{
|
|
||||||
onFailure = lib.mkForce [ ];
|
onFailure = lib.mkForce [ ];
|
||||||
}
|
}
|
||||||
// optionalAttrs (cfg.method == "libnotify") {
|
// optionalAttrs (cfg.method == "libnotify") {
|
||||||
description = "Desktop notifications for %i service failure";
|
description = "Desktop notifications for %i service failure";
|
||||||
environment = {
|
environment = {
|
||||||
DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/user/${
|
DISPLAY = ":0";
|
||||||
toString config.users.users.${cfg.libnotify.user}.uid
|
|
||||||
}/bus";
|
|
||||||
INSTANCE = "%i";
|
INSTANCE = "%i";
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
${pkgs.libnotify}/bin/notify-send --urgency=critical \
|
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u '${cfg.libnotify.user}')/bus"
|
||||||
|
${pkgs.libnotify}/bin/notify-send --app-name="$INSTANCE" --urgency=critical \
|
||||||
"Service '$INSTANCE' failed" \
|
"Service '$INSTANCE' failed" \
|
||||||
"$(journalctl -n 6 -o cat -u $INSTANCE)"
|
"$(journalctl -n 6 -o cat -u $INSTANCE)"
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,8 @@ in
|
||||||
# reduce download bandwidth
|
# reduce download bandwidth
|
||||||
"--max-unused 10%"
|
"--max-unused 10%"
|
||||||
"--repack-cacheable-only"
|
"--repack-cacheable-only"
|
||||||
] ++ extraPruneOpts;
|
]
|
||||||
|
++ extraPruneOpts;
|
||||||
}
|
}
|
||||||
// (removeAttrs args [
|
// (removeAttrs args [
|
||||||
"name"
|
"name"
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,22 @@ let
|
||||||
inherit (inputs.self.outputs) nixConfig;
|
inherit (inputs.self.outputs) nixConfig;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
|
||||||
# TODO switch to lixFromNixpkgs once 2.93.2 is available
|
|
||||||
inputs.lix-module.nixosModules.default
|
|
||||||
# inputs.lix-module.nixosModules.lixFromNixpkgs
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
inherit (final.lixPackageSets.stable)
|
||||||
|
nixpkgs-review
|
||||||
|
nix-direnv
|
||||||
|
nix-eval-jobs
|
||||||
|
nix-fast-build
|
||||||
|
colmena
|
||||||
|
;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
package = pkgs.lixPackageSets.stable.lix;
|
||||||
settings = {
|
settings = {
|
||||||
trusted-users = [ "@wheel" ];
|
trusted-users = [ "@wheel" ];
|
||||||
substituters = nixConfig.extra-substituters;
|
substituters = nixConfig.extra-substituters;
|
||||||
|
|
|
||||||
|
|
@ -89,8 +89,7 @@ in
|
||||||
wants = [ "tailscaled.service" ];
|
wants = [ "tailscaled.service" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
script =
|
script = ''
|
||||||
''
|
|
||||||
status=$(${config.systemd.package}/bin/systemctl show -P StatusText tailscaled.service)
|
status=$(${config.systemd.package}/bin/systemctl show -P StatusText tailscaled.service)
|
||||||
if [[ $status != Connected* ]]; then
|
if [[ $status != Connected* ]]; then
|
||||||
${cfg.package}/bin/tailscale up
|
${cfg.package}/bin/tailscale up
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue