Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ca2f5ac7c8 | |||
| 904dd6e329 | |||
| 8073125f3e |
Generated
+25
-39
@@ -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": {
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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 = {};
|
||||||
|
|||||||
@@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -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" "$@" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user