Compare commits
48 Commits
80508b51b3
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4abb2bf1eb | |||
| 9a336f76dc | |||
| b0d8309d65 | |||
| d319db25bb | |||
| 961e9c475e | |||
|
|
27fb3915b6 | ||
| 73de596c29 | |||
| 37a04ee295 | |||
| a175338e9d | |||
|
|
90a2fcdc43 | ||
| 1ed75f156b | |||
| 709f96436d | |||
| 367e86389a | |||
| e30d2d5641 | |||
| 5ad6fa0f09 | |||
|
|
c18d5adbc3 | ||
| 033dabbd17 | |||
| fcf06511d4 | |||
| f9bfcbac85 | |||
| 493f1bc25e | |||
| eacb5795b6 | |||
| bbda5534f4 | |||
| ee4185f519 | |||
| 0d693c6e11 | |||
| f5e8be7432 | |||
| 639dfb6276 | |||
| a89996a6df | |||
| ee4e8d6b1e | |||
| 9d061556ff | |||
| 3b7e77e9d8 | |||
| e105020552 | |||
|
|
933ebb980a | ||
|
|
bda184fc02 | ||
| c2dc087510 | |||
| 0c522ead1f | |||
|
|
1cb02d2249 | ||
|
|
06b4c1b187 | ||
|
|
7286b93459 | ||
|
|
7fa5f7e492 | ||
|
|
f5f8476652 | ||
| e7dead2c9e | |||
| b68f3829b7 | |||
| a7fa0cefc7 | |||
| 115a7c334b | |||
|
|
681759c8a7 | ||
|
|
3211b0c84f | ||
| 0f0d4ca519 | |||
| d7e1e8e018 |
18
flake.lock
generated
18
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768923567,
|
"lastModified": 1769524058,
|
||||||
"narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=",
|
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28",
|
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -54,11 +54,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768886240,
|
"lastModified": 1770115704,
|
||||||
"narHash": "sha256-C2TjvwYZ2VDxYWeqvvJ5XPPp6U7H66zeJlRaErJKoEM=",
|
"narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "80e4adbcf8992d3fd27ad4964fbb84907f9478b0",
|
"rev": "e6eae2ee2110f3d31110d5c222cd395303343b08",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -84,11 +84,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768863606,
|
"lastModified": 1770145881,
|
||||||
"narHash": "sha256-1IHAeS8WtBiEo5XiyJBHOXMzECD6aaIOJmpQKzRRl64=",
|
"narHash": "sha256-ktjWTq+D5MTXQcL9N6cDZXUf9kX8JBLLBLT0ZyOTSYY=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c7067be8db2c09ab1884de67ef6c4f693973f4a2",
|
"rev": "17eea6f3816ba6568b8c81db8a4e6ca438b30b7c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./grub.nix
|
./grub.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
|
./sops.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./system.nix
|
./system.nix
|
||||||
./tty.nix
|
./tty.nix
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
pkgs.sops
|
pkgs.sops
|
||||||
pkgs.ssh-to-age
|
pkgs.ssh-to-age
|
||||||
|
pkgs.age
|
||||||
pkgs.nixos-anywhere
|
pkgs.nixos-anywhere
|
||||||
pkgs.nixos-generators
|
pkgs.nixos-generators
|
||||||
pkgs.efibootmgr
|
pkgs.efibootmgr
|
||||||
@@ -25,7 +26,7 @@
|
|||||||
pkgs.fzf
|
pkgs.fzf
|
||||||
pkgs.bc
|
pkgs.bc
|
||||||
pkgs.wakeonlan
|
pkgs.wakeonlan
|
||||||
pkgs.samba
|
pkgs.openssl
|
||||||
];
|
];
|
||||||
services = {
|
services = {
|
||||||
locate = {
|
locate = {
|
||||||
|
|||||||
19
modules/core/sops.nix
Normal file
19
modules/core/sops.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
secretsPath = builtins.toString inputs.mysecrets;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
sops = {
|
||||||
|
defaultSopsFile = "${secretsPath}/secrets.yaml";
|
||||||
|
age = {
|
||||||
|
sshKeyPaths = [
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key"
|
||||||
|
];
|
||||||
|
keyFile = "/var/lib/sops-nix/key.txt";
|
||||||
|
generateKey = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -5,6 +5,11 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
sops.secrets = {
|
||||||
|
"users_password/beastie" = {
|
||||||
|
neededForUsers = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
users = {
|
users = {
|
||||||
users = {
|
users = {
|
||||||
${username} = {
|
${username} = {
|
||||||
@@ -18,7 +23,7 @@
|
|||||||
"video"
|
"video"
|
||||||
];
|
];
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
config.sops.secrets."ssh_keys/beastie_priv".path
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAKMJ3TkEmRQcX7RQijNa2km6a2xXJk6M6FERh7C9nTJ"
|
||||||
];
|
];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -95,5 +95,7 @@ in
|
|||||||
pkgs.ansible
|
pkgs.ansible
|
||||||
pkgs.python313
|
pkgs.python313
|
||||||
pkgs.claude-code
|
pkgs.claude-code
|
||||||
|
pkgs.nodejs
|
||||||
|
pkgs.php
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -314,8 +314,11 @@ bindl = , XF86AudioPrev, exec, playerctl previous
|
|||||||
# windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
# windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||||
|
|
||||||
# Supprimer la transparence pour des applications spécifiques
|
# Supprimer la transparence pour des applications spécifiques
|
||||||
windowrulev2 = opacity 1.0 override,class:^(firefox)$
|
# Opacity order : active, inactive, fullscreen
|
||||||
windowrulev2 = opacity 1.0 override,class:^(chromium)$
|
windowrule = match:class firefox, opacity 1.0 override 0.95 override 1.0 override
|
||||||
windowrulev2 = opacity 1.0 override,class:^(mpv)$
|
windowrule = match:class chromium, opacity 1.0 override 0.95 override 1.0 override
|
||||||
|
windowrule = match:class mpv, opacity 0.95 override 0.80 override 1.0 override
|
||||||
|
|
||||||
|
#windowrule = match:class mpv, fullscreen override
|
||||||
|
#windowrulev2 = fullscreen,class:^(mpv)$
|
||||||
|
|
||||||
windowrulev2 = fullscreen,class:^(mpv)$
|
|
||||||
|
|||||||
@@ -26,6 +26,11 @@
|
|||||||
pkgs.catppuccin-cursors
|
pkgs.catppuccin-cursors
|
||||||
pkgs.catppuccin-gtk
|
pkgs.catppuccin-gtk
|
||||||
pkgs.postman
|
pkgs.postman
|
||||||
|
pkgs.samba
|
||||||
|
pkgs.openldap
|
||||||
|
pkgs.argocd
|
||||||
|
pkgs.talosctl
|
||||||
|
pkgs.talhelper
|
||||||
];
|
];
|
||||||
fonts.packages = [
|
fonts.packages = [
|
||||||
pkgs.nerd-fonts.dejavu-sans-mono
|
pkgs.nerd-fonts.dejavu-sans-mono
|
||||||
|
|||||||
8
modules/optionnals/docker.nix
Normal file
8
modules/optionnals/docker.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
users.users.${username}.extraGroups = [ "docker" ];
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
#../ai.nix
|
#../ai.nix
|
||||||
../autologin.nix
|
../autologin.nix
|
||||||
|
../docker.nix
|
||||||
../k8s.nix
|
../k8s.nix
|
||||||
../libvirt.nix
|
../libvirt.nix
|
||||||
../openfortivpn.nix
|
../openfortivpn.nix
|
||||||
@@ -80,6 +81,8 @@
|
|||||||
#172.18.20.37 sso.grandbesancon.fr
|
#172.18.20.37 sso.grandbesancon.fr
|
||||||
#172.18.20.229 auth.grandbesancon.fr
|
#172.18.20.229 auth.grandbesancon.fr
|
||||||
#172.18.20.181 traefikauth.grandbesancon.fr
|
#172.18.20.181 traefikauth.grandbesancon.fr
|
||||||
|
172.18.21.174 test-patchmon.grandbesancon.fr
|
||||||
|
172.18.229.240 test-mycarto-autonome.grandbesancon.fr
|
||||||
'';
|
'';
|
||||||
wireguard = {
|
wireguard = {
|
||||||
interfaces = {
|
interfaces = {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../autologin.nix
|
../autologin.nix
|
||||||
|
../docker.nix
|
||||||
../k8s.nix
|
../k8s.nix
|
||||||
../libvirt.nix
|
../libvirt.nix
|
||||||
../openfortivpn.nix
|
../openfortivpn.nix
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
extraHosts = ''
|
extraHosts = ''
|
||||||
carto-interavtive 172.18.20.134
|
carto-interavtive 172.18.20.134
|
||||||
|
test-patchmon.grandbesancon.fr 172.18.21.174
|
||||||
test-crowdsec.grandbesancon.fr 172.18.21.67
|
test-crowdsec.grandbesancon.fr 172.18.21.67
|
||||||
test-syslog.grandbesancon.fr 172.18.21.67
|
test-syslog.grandbesancon.fr 172.18.21.67
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
users.users.${username} = {
|
||||||
|
extraGroups = [ "libvirtd" ];
|
||||||
|
};
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
libvirtd = {
|
libvirtd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -12,11 +15,13 @@
|
|||||||
#package = pkgs.qemu;
|
#package = pkgs.qemu;
|
||||||
runAsRoot = true;
|
runAsRoot = true;
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
|
vhostUserPackages = [
|
||||||
|
pkgs.virtiofsd
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
|
||||||
users.users.${username} = {
|
|
||||||
extraGroups = [ "libvirtd" ];
|
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
virtiofsd
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,9 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
|
||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
secretsPath = builtins.toString inputs.mysecrets;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
sops = {
|
sops.secrets = {
|
||||||
defaultSopsFile = "${secretsPath}/secrets.yaml";
|
|
||||||
age = {
|
|
||||||
sshKeyPaths = [
|
|
||||||
"/etc/ssh/ssh_host_ed25519_key"
|
|
||||||
];
|
|
||||||
keyFile = "/var/lib/sops-nix/key.txt";
|
|
||||||
generateKey = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets = {
|
|
||||||
"users_password/beastie" = {
|
"users_password/beastie" = {
|
||||||
neededForUsers = true;
|
neededForUsers = true;
|
||||||
};
|
};
|
||||||
@@ -72,5 +58,4 @@ in
|
|||||||
path = "/home/${username}/.ssh/id_ed25519_wol.priv";
|
path = "/home/${username}/.ssh/id_ed25519_wol.priv";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
};
|
};
|
||||||
environment.systemPackages = [ pkgs.ethtool ];
|
environment.systemPackages = [ pkgs.ethtool ];
|
||||||
|
|
||||||
my.wolipv6address = "2a01:e0a:9cc:99d0:8f3a:6b2c:41d7:e9f5";
|
my.wolipv6address = "2a01:e0a:f5d:3400:6b2c:41d7:e9f5";
|
||||||
|
|
||||||
boot.initrd = {
|
boot.initrd = {
|
||||||
network = {
|
network = {
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
};
|
};
|
||||||
postCommands = ''
|
postCommands = ''
|
||||||
ip -6 addr add ${config.my.wolipv6address}/64 dev ${config.my.laninterface}
|
ip -6 addr add ${config.my.wolipv6address}/64 dev ${config.my.laninterface}
|
||||||
ip -6 route add default via fe80::224:d4ff:fea5:65bd dev ${config.my.laninterface}
|
ip -6 route add default via fe80::3a07:16ff:fe11:45a8 dev ${config.my.laninterface}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
availableKernelModules = [ "r8169" ];
|
availableKernelModules = [ "r8169" ];
|
||||||
|
|||||||
Reference in New Issue
Block a user