Compare commits

..

3 Commits

Author SHA1 Message Date
John Lancaster ca2f5ac7c8 added glibc to runtimeInputs of gdu 2026-04-19 10:32:18 -05:00
John Lancaster 904dd6e329 started wireguard wrapper 2026-04-19 09:38:06 -05:00
John Lancaster 8073125f3e flake.lock update 2026-04-19 09:37:11 -05:00
5 changed files with 70 additions and 71 deletions
Generated
+25 -39
View File
@@ -18,11 +18,11 @@
}, },
"flake-file": { "flake-file": {
"locked": { "locked": {
"lastModified": 1775848911, "lastModified": 1776202746,
"narHash": "sha256-dqva/tlWxsXj32wYPdt06UrrR4l2QdK9JWyvPooWRi4=", "narHash": "sha256-RZVtJefKKy3Z2UvKWSbtRF3cUxt/2fHga2adN6MZQ1U=",
"owner": "vic", "owner": "vic",
"repo": "flake-file", "repo": "flake-file",
"rev": "b36cbd5fc01e9794a001ccb0c58b314efaabae08", "rev": "7d16dfaeb912d5efdff0d0eda2aabc0c934168dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -95,11 +95,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1776046499, "lastModified": 1776562531,
"narHash": "sha256-Wzc4nn07/0RL21ypPHRzNDQZcjhIC8LaYo7QJQjM5T4=", "narHash": "sha256-Lh5Ns9DI67E+lSMOCGK0S+mFPy0mz0yOGiJTUXiR9JI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "287f84846c1eb3b72c986f5f6bebcff0bd67440d", "rev": "5b56ad02dc643808b8af6d5f3ff179e2ce9593f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -215,33 +215,17 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1775888245, "lastModified": 1776329215,
"narHash": "sha256-qTVvODr6edFBLD2lncXPF8yTQeCafZUuKVtpV3Xb3yM=", "narHash": "sha256-mBqzkn7oJti2hqeO8iTbDxKw+1ifxpP53feQ0CEXies=",
"rev": "13043924aaa7375ce482ebe2494338e058282925", "rev": "b86751bc4085f48661017fa226dee99fab6c651b",
"type": "tarball", "type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre978638.13043924aaa7/nixexprs.tar.xz" "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre981196.b86751bc4085/nixexprs.tar.xz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1775579569,
"narHash": "sha256-/m3yyS/EnXqoPGBJYVy4jTOsirdgsEZ3JdN2gGkBr14=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dfd9566f82a6e1d55c30f861879186440614696e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvf": { "nvf": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -254,11 +238,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1775892726, "lastModified": 1776608870,
"narHash": "sha256-1TK1pe33cEHNvGW41TP5xAzrbG1Gp7LfyFL6c3+xf+I=", "narHash": "sha256-lBKrueFu15TdmtMF6GsiSVCifwdrUBYFoa3+zZjYTFM=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "5ab359ee7dfd3fa09a5c6f863efaf810bb9a9436", "rev": "d9ba7f0a9ed6c016dc9e526cc606d1a2f7898cd4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -292,11 +276,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775971308, "lastModified": 1776119890,
"narHash": "sha256-VKp9bhVSm0bT6JWctFy06ocqxGGnWHi1NfoE90IgIcY=", "narHash": "sha256-Zm6bxLNnEOYuS/SzrAGsYuXSwk3cbkRQZY0fJnk8a5M=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "31ac5fe5d015f76b54058c69fcaebb66a55871a4", "rev": "d4971dd58c6627bfee52a1ad4237637c0a2fb0cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -337,14 +321,16 @@
}, },
"wrapper-modules": { "wrapper-modules": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1775940860, "lastModified": 1776464146,
"narHash": "sha256-8Jxnn2uoFhm2H579ycVxFWDtrywJ6Mc8RmqWbZwk5So=", "narHash": "sha256-XwLFfJDz71vIF7BAhnbLhrzQjmDC2uXdo7N0oHUrYzA=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nix-wrapper-modules", "repo": "nix-wrapper-modules",
"rev": "fb62851ffc5f6a4d53ebc00b93743e29b41e6224", "rev": "75febede14a0845f4ef429da692a0698bf433600",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -360,11 +346,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775600302, "lastModified": 1776505856,
"narHash": "sha256-2fgKImv78CXIcfo1RsY7EI4uMZ84x/MggA5rrusYc7c=", "narHash": "sha256-VbnOijrn4EdYYJwiNQFxQNXECKBa60U66UPxUQAGkBE=",
"owner": "lassulus", "owner": "lassulus",
"repo": "wrappers", "repo": "wrappers",
"rev": "9d8397d8ef1ac35763085f3338589f558128f7db", "rev": "738d4bf81cbf306f6917c540a5b798110e3cf1e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
+4 -1
View File
@@ -29,7 +29,10 @@
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wrapper-modules.url = "github:BirdeeHub/nix-wrapper-modules"; wrapper-modules = {
url = "github:BirdeeHub/nix-wrapper-modules";
inputs.nixpkgs.follows = "nixpkgs";
};
wrappers = { wrappers = {
url = "github:lassulus/wrappers"; url = "github:lassulus/wrappers";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
+3 -2
View File
@@ -5,7 +5,7 @@
hostname = "john-p14s"; hostname = "john-p14s";
homeDirectory = config.home-manager.users.john.home.homeDirectory; homeDirectory = config.home-manager.users.john.home.homeDirectory;
flakeDir = "${homeDirectory}/Documents/dendritic"; flakeDir = "${homeDirectory}/Documents/dendritic";
my-neovim = inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.my-neovim; selfPkgs = inputs.self.packages.${pkgs.stdenv.hostPlatform.system};
in in
{ {
imports = [ imports = [
@@ -41,7 +41,8 @@
busybox busybox
dig dig
samba samba
my-neovim selfPkgs.my-neovim
selfPkgs.wg-platform
]; ];
security.pam.services.swaylock = {}; security.pam.services.swaylock = {};
+37 -29
View File
@@ -2,39 +2,13 @@
flake.modules.nixos.wireguard = { config, pkgs, lib, ... }: flake.modules.nixos.wireguard = { config, pkgs, lib, ... }:
let let
wgInterface = "platform"; wgInterface = "platform";
systemctl = lib.getExe' pkgs.systemd "systemctl";
journalctl = lib.getExe' pkgs.systemd "journalctl";
mkConnect = interface:
let
serviceName = "wg-quick-${interface}";
service = "${serviceName}.service";
in
pkgs.writeShellScriptBin "wg-connect-${interface}" ''
${systemctl} start ${service}
start_time=$(${systemctl} show -p ActiveEnterTimestamp ${serviceName} | cut -d= -f2)
${journalctl} -u ${service} --since "$start_time" --no-pager
'';
mkDisconnect = interface:
let
serviceName = "wg-quick-${interface}";
service = "${serviceName}.service";
in
pkgs.writeShellScriptBin "wg-disconnect-${interface}" ''
STOPTIME=$(${lib.getExe' pkgs.coreutils "date"} '+%Y-%m-%d %H:%M:%S')
${systemctl} stop ${service}
start_time=$(${systemctl} show -p ActiveEnterTimestamp ${serviceName} | cut -d= -f2)
${journalctl} -u ${service} --since "$STOPTIME" --no-pager
'';
in in
{ {
imports = [ inputs.sops-nix.nixosModules.sops ]; imports = [ inputs.sops-nix.nixosModules.sops ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wireguard-tools wireguard-tools # https://github.com/WireGuard/wireguard-tools
wg-netmanager # wg-netmanager # https://github.com/gin66/wg_netmanager
(mkConnect "platform")
(mkDisconnect "platform")
]; ];
sops.secrets.wireguard_private_key = { }; sops.secrets.wireguard_private_key = { };
@@ -56,4 +30,38 @@
}; };
}; };
}; };
}
perSystem = { system, pkgs, lib, ... }:
let
connect = pkgs.writeShellApplication {
name = "wg-platform-connect";
text = ''
sudo systemctl start wg-quick-platform.service
START_TIME=$(sudo systemctl show -p ActiveEnterTimestamp wg-quick-platform | cut -d= -f2)
journalctl -u wg-quick-platform --since "$START_TIME" --no-pager
'';
};
disconnect = pkgs.writeShellApplication {
name = "wg-platform-disconnect";
text = ''
STOP_TIME=$(date '+%Y-%m-%d %H:%M:%S')
systemctl stop wg-quick-platform.service
journalctl -u wg-quick-platform.service --since "$STOP_TIME" --no-pager
'';
};
in
{
packages.wg-platform = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
runtimeInputs = with pkgs; [ coreutils systemd wireguard-tools ];
package = pkgs.symlinkJoin {
name = "wg-platform";
paths = [
connect
disconnect
];
};
};
};
}
+1
View File
@@ -140,6 +140,7 @@ in
packages.gdu = inputs.wrappers.lib.wrapPackage { packages.gdu = inputs.wrappers.lib.wrapPackage {
inherit pkgs; inherit pkgs;
package = pkgs.gdu; package = pkgs.gdu;
runtimeInputs = with pkgs; [ glibc ];
args = [ "-x" "--si" "--collapse-path" "--mouse" "$@" ]; args = [ "-x" "--si" "--collapse-path" "--mouse" "$@" ];
}; };
}; };