Initial config
This commit is contained in:
commit
3687de6151
28 changed files with 541 additions and 0 deletions
4
bibi.nix
Normal file
4
bibi.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
}
|
40
configuration.nix
Normal file
40
configuration.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
./hackens
|
||||
];
|
||||
|
||||
# Use the GRUB 2 boot loader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.version = 2;
|
||||
boot.loader.grub.efiSupport = true;
|
||||
boot.loader.grub.efiInstallAsRemovable = true;
|
||||
boot.loader.efi.efiSysMountPoint = "/boot";
|
||||
boot.loader.grub.device = "nodev"; # or "nodev" for efi only
|
||||
boot.loader.grub.configurationLimit = 2;
|
||||
|
||||
networking.hostName = "hackens-milieu"; # Define your hostname.
|
||||
|
||||
|
||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||
# replicates the default behaviour.
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.enp2s0.useDHCP = true;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "20.09"; # Did you read the comment?
|
||||
}
|
||||
|
39
configuration.nix~
Normal file
39
configuration.nix~
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
./hackens
|
||||
];
|
||||
|
||||
# Use the GRUB 2 boot loader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.version = 2;
|
||||
boot.loader.grub.efiSupport = true;
|
||||
boot.loader.grub.efiInstallAsRemovable = true;
|
||||
boot.loader.efi.efiSysMountPoint = "/boot";
|
||||
boot.loader.grub.device = "nodev"; # or "nodev" for efi only
|
||||
boot.loader.grub.configurationLimit = 2;
|
||||
|
||||
networking.hostName = "hackens-milieu"; # Define your hostname.
|
||||
|
||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||
# replicates the default behaviour.
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.enp2s0.useDHCP = true;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "20.09"; # Did you read the comment?
|
||||
}
|
||||
|
3
hackens/aarch64.nix
Normal file
3
hackens/aarch64.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
}
|
6
hackens/audio.nix
Normal file
6
hackens/audio.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
# Enable sound.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
}
|
11
hackens/backups.nix
Normal file
11
hackens/backups.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ pkgs, ... }: {
|
||||
# BorgBackup repositories
|
||||
services.borgbackup.repos = {
|
||||
hackens-desktop = {
|
||||
authorizedKeys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDcKULx/AgnqBsgwRX2BfV8waq6JXIkvZHhu9Y8paofM8awq6Om56BZoA7AV45YOcJxO/eFDOxSegXXmt22s4WjIf8I049aMdsW54BNpFpC/h18cMzm5ylKVGHl1ier/WXxpBsA8YU++YdRlGHPpKnhCtYLnBzD4Q5h+05GMIHismNZP1aGpE9s01FuP8eaDDkZUba7oSpn03AA77DBw4/2ZreSbqo96Z6WwiG09KeZvxFtEIk98EQtmiExB2fwsK3/JIxIBCoZHh4SzERcslxxGgzdppd6NhhSh7g523zhiihLaTAPNXBovGm5wcKOU9uWe+pUWEbwV04E+809aVbkJOdYBCtIf8M91meqpupA8jK38uquePHEFvpNr5UmY0qUlJCoqTvoqg9XgrfJVjlPEmYknj/QjQzkA4k19y8njsyEjnYOBL6tsztg6Igl+NZXjBAPuAzxCsfHOtWw1WM5gANwqOL0V9f7+14yST3HwweqjHRj4xky6ritxK+ujfc= hackens@hackens-desktop-1"
|
||||
];
|
||||
path = "/var/backups/hackens-desktop";
|
||||
};
|
||||
};
|
||||
}
|
21
hackens/default.nix
Normal file
21
hackens/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./system.nix
|
||||
./backups.nix
|
||||
./vpn-network
|
||||
./hosts.nix
|
||||
./syncthing.nix
|
||||
./programs.nix
|
||||
./audio.nix
|
||||
./graphics.nix
|
||||
./monitoring.nix
|
||||
./users.nix
|
||||
./i18n.nix
|
||||
./vim.nix
|
||||
./dns.nix
|
||||
./nightworker.nix
|
||||
./ssd.nix
|
||||
./aarch64.nix
|
||||
# ./netboot-server.nix # -- fix quick xyz mode.
|
||||
];
|
||||
}
|
29
hackens/dns.nix
Normal file
29
hackens/dns.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
networking = {
|
||||
nameservers = [ "127.0.0.1" "::1" ];
|
||||
};
|
||||
|
||||
services.dnscrypt-proxy2 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipv6_servers = true;
|
||||
require_dnssec = true;
|
||||
|
||||
forwarding_rules = ./dns/forwarding.txt;
|
||||
|
||||
sources.public-resolvers = {
|
||||
urls = [
|
||||
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
||||
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
||||
];
|
||||
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
|
||||
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.dnscrypt-proxy2.serviceConfig = {
|
||||
StateDirectory = lib.mkForce "dnscrypt-proxy2";
|
||||
};
|
||||
}
|
3
hackens/dns/forwarding.txt
Normal file
3
hackens/dns/forwarding.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Résolution hackENS locale
|
||||
# e.g. hackens-milieu.lan
|
||||
.lan 192.168.1.1
|
10
hackens/graphics.nix
Normal file
10
hackens/graphics.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./i3.nix ];
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
services.xserver.layout = "fr";
|
||||
|
||||
services.autorandr.enable = true;
|
||||
}
|
3
hackens/hosts.nix
Normal file
3
hackens/hosts.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
}
|
8
hackens/i18n.nix
Normal file
8
hackens/i18n.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }: {
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "fr";
|
||||
};
|
||||
time.timeZone = "Europe/Paris";
|
||||
}
|
52
hackens/i3.nix
Normal file
52
hackens/i3.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.pathsToLink = [ "/libexec" ];
|
||||
environment.sessionVariables.TERMINAL = [ "kitty" ];
|
||||
environment.variables = {
|
||||
TERMINAL = "kitty";
|
||||
BROWSER = "firefox";
|
||||
};
|
||||
services.xserver = {
|
||||
displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "hackens";
|
||||
};
|
||||
};
|
||||
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
extraSessionCommands = ''
|
||||
${pkgs.xlibs.xset}/bin/xset r rate 200 50
|
||||
'';
|
||||
extraPackages = with pkgs; [
|
||||
rofi
|
||||
dunst
|
||||
i3status-rust
|
||||
i3lock
|
||||
kitty
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fonts = with pkgs; [
|
||||
hack-font
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
mplus-outline-fonts
|
||||
dina-font
|
||||
proggyfonts
|
||||
powerline-fonts
|
||||
font-awesome
|
||||
];
|
||||
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
};
|
||||
}
|
||||
|
6
hackens/kde.nix
Normal file
6
hackens/kde.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ ... }:
|
||||
{
|
||||
# Enable the KDE Desktop Environment.
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
}
|
55
hackens/monitoring.nix
Normal file
55
hackens/monitoring.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
# Monitoring
|
||||
services.netdata.enable = true;
|
||||
environment.etc."netdata/stream.conf" = {
|
||||
user = "netdata";
|
||||
group = "netdata";
|
||||
mode = "0600";
|
||||
text = ''
|
||||
# hackens-desktop
|
||||
[074e699a-4206-4e13-baa7-e4524326f1e0]
|
||||
enabled = yes
|
||||
default history = 3600
|
||||
default memory mode = dbengine
|
||||
health enabled by default = auto
|
||||
allow from = 192.168.1.117, 2001:470:1f13:21d:49fd:1d82:d2ff:d868
|
||||
|
||||
# hackens-openwrt
|
||||
[cab3fe1e-576b-420d-b301-84308e44f340]
|
||||
enabled = yes
|
||||
default history = 3600
|
||||
default memory mode = dbengine
|
||||
health enabled by default = auto
|
||||
allow from = 192.168.1.1, 2001:470:1f13:21d::1
|
||||
'';
|
||||
};
|
||||
environment.etc."netdata/health_alarm_notify.conf" = {
|
||||
user = "netdata";
|
||||
group = "netdata";
|
||||
mode = "0600";
|
||||
text = ''
|
||||
# External tools
|
||||
nc="${pkgs.netcat}/bin/nc"
|
||||
|
||||
# IRC configuration
|
||||
SEND_IRC="YES"
|
||||
DEFAULT_RECIPIENT_IRC="#hackens-status"
|
||||
IRC_NETWORK="ens.wtf"
|
||||
IRC_NICKNAME="hackens"
|
||||
IRC_REALNAME="hackENS netdata monitoring"
|
||||
'';
|
||||
};
|
||||
services.smartd.enable = true;
|
||||
services.smartd.extraOptions = [ "-A /var/log/smartd/" ]; # For netdata.
|
||||
|
||||
# MQTT for every usage, notably OctoPrint events.
|
||||
services.mosquitto = {
|
||||
enable = true;
|
||||
host = "192.168.1.118";
|
||||
users = {};
|
||||
settings = {
|
||||
allow_anonymous = true;
|
||||
};
|
||||
};
|
||||
}
|
8
hackens/netboot-server.nix
Normal file
8
hackens/netboot-server.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.pixiecore = {
|
||||
enable = true;
|
||||
openFirwalle = true;
|
||||
dhcpNoBind = true;
|
||||
};
|
||||
}
|
11
hackens/nightworker.nix
Normal file
11
hackens/nightworker.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
location = {
|
||||
latitude = 48.8422;
|
||||
longitude = 2.3452;
|
||||
};
|
||||
|
||||
services.redshift = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
77
hackens/programs.nix
Normal file
77
hackens/programs.nix
Normal file
|
@ -0,0 +1,77 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.mtr.enable = true;
|
||||
programs.mosh.enable = true;
|
||||
programs.tmux.enable = true;
|
||||
programs.wireshark.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
# Todolist
|
||||
taskwarrior
|
||||
|
||||
# Slicers
|
||||
prusa-slicer super-slicer
|
||||
|
||||
# CAD/3D
|
||||
blender freecad openscad kicad-with-packages3d
|
||||
# Microcontrollers
|
||||
arduino arduino-cli stm32flash stm32loader
|
||||
# FPGA
|
||||
# python38Packages.nmigen python38Packages.nmigen-soc python38Packages.nmigen-boards
|
||||
verilog verilator yosys symbiyosys mcy
|
||||
# Reverse engineering
|
||||
ghidra-bin apktool pwndbg
|
||||
radare2
|
||||
|
||||
# IRC
|
||||
weechat
|
||||
|
||||
# Editors
|
||||
vscodium emacs neovim
|
||||
|
||||
# Utilities
|
||||
minicom
|
||||
smartmontools
|
||||
starship
|
||||
wget firefox ripgrep chromium
|
||||
nmap
|
||||
htop
|
||||
dnsutils
|
||||
ncdu
|
||||
|
||||
# Networking
|
||||
speedtest-cli iperf
|
||||
|
||||
# CNC
|
||||
inkscape
|
||||
];
|
||||
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
|
||||
extensions = [
|
||||
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin
|
||||
"gcbommkclmclpchllfjekcdonpmejbdp" # HTTPS Everywhere
|
||||
"mbniclmhobmnbdlbpiphghaielnnpgdp" # Lightshot
|
||||
"ldlghkoiihaelfnggonhjnfiabmaficg" # QuicKey
|
||||
];
|
||||
|
||||
homepageLocation = "https://hackens.org";
|
||||
|
||||
extraOpts = {
|
||||
"BrowserSignin" = 0;
|
||||
"SyncDisabled" = true;
|
||||
"PasswordManagerEnabled" = false;
|
||||
"SafeBrowsingEnabled" = false;
|
||||
"AdvancedProtectionAllowed" = false;
|
||||
"BrowserGuestModeEnabled" = true;
|
||||
"SpellcheckEnabled" = true;
|
||||
"NewTabPageLocation" = "https://hackens.org";
|
||||
"SpellcheckLanguage" = [
|
||||
"fr-FR"
|
||||
"en-US"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
2
hackens/pubkeys/gdd.keys
Normal file
2
hackens/pubkeys/gdd.keys
Normal file
|
@ -0,0 +1,2 @@
|
|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICE7TN5NQKGojNGIeTFiHjLHTDQGT8i05JFqX/zLW2zc gab@ThinkGab
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFbkPWWZzOBaRdx4+7xQUgxDwuncSl2fxAeVuYfVUPZ
|
3
hackens/pubkeys/raito.keys
Normal file
3
hackens/pubkeys/raito.keys
Normal file
|
@ -0,0 +1,3 @@
|
|||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcEkYM1r8QVNM/G5CxJInEdoBCWjEHHDdHlzDYNSUIdHHsn04QY+XI67AdMCm8w30GZnLUIj5RiJEWXREUApby0GrfxGGcy8otforygfgtmuUKAUEHdU2MMwrQI7RtTZ8oQ0USRGuqvmegxz3l5caVU7qGvBllJ4NUHXrkZSja2/51vq80RF4MKkDGiz7xUTixI2UcBwQBCA/kQedKV9G28EH+1XfvePqmMivZjl+7VyHsgUVj9eRGA1XWFw59UPZG8a7VkxO/Eb3K9NF297HUAcFMcbY6cPFi9AaBgu3VC4eetDnoN/+xT1owiHi7BReQhGAy/6cdf7C/my5ehZwD
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGtS70Y1Merif66/G4bsP1/E3jyjiqjf7ZMsU07lw+Wf
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKIIcqryU28FkV+UpiTnGCOfwKO5jFhkdvU7a7Ew2KoZ
|
6
hackens/ssd.nix
Normal file
6
hackens/ssd.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.fstrim = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
9
hackens/syncthing.nix
Normal file
9
hackens/syncthing.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
user = "hackens";
|
||||
openDefaultPorts = true;
|
||||
dataDir = "/home/hackens";
|
||||
};
|
||||
}
|
30
hackens/system.nix
Normal file
30
hackens/system.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ pkgs, ... }: {
|
||||
# Upgrades
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
allowReboot = false;
|
||||
};
|
||||
|
||||
# Auto-GC and store optimizations
|
||||
nix = {
|
||||
trustedUsers = [ "root" "hackens" ];
|
||||
package = pkgs.nixUnstable;
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 60d";
|
||||
};
|
||||
optimise.automatic = true;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
# Thank you
|
||||
min-free = ${toString (100 * 1024 * 1024)}
|
||||
max-free = ${toString (1024 * 1024 * 1024)}
|
||||
'';
|
||||
};
|
||||
|
||||
services.locate.enable = true;
|
||||
services.openssh.enable = true;
|
||||
networking.firewall.enable = false;
|
||||
documentation.info.enable = false;
|
||||
}
|
23
hackens/users.nix
Normal file
23
hackens/users.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
users.users.hackens = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDcKULx/AgnqBsgwRX2BfV8waq6JXIkvZHhu9Y8paofM8awq6Om56BZoA7AV45YOcJxO/eFDOxSegXXmt22s4WjIf8I049aMdsW54BNpFpC/h18cMzm5ylKVGHl1ier/WXxpBsA8YU++YdRlGHPpKnhCtYLnBzD4Q5h+05GMIHismNZP1aGpE9s01FuP8eaDDkZUba7oSpn03AA77DBw4/2ZreSbqo96Z6WwiG09KeZvxFtEIk98EQtmiExB2fwsK3/JIxIBCoZHh4SzERcslxxGgzdppd6NhhSh7g523zhiihLaTAPNXBovGm5wcKOU9uWe+pUWEbwV04E+809aVbkJOdYBCtIf8M91meqpupA8jK38uquePHEFvpNr5UmY0qUlJCoqTvoqg9XgrfJVjlPEmYknj/QjQzkA4k19y8njsyEjnYOBL6tsztg6Igl+NZXjBAPuAzxCsfHOtWw1WM5gANwqOL0V9f7+14yST3HwweqjHRj4xky6ritxK+ujfc= hackens@hackens-desktop"
|
||||
];
|
||||
openssh.authorizedKeys.keyFiles = [
|
||||
./pubkeys/raito.keys
|
||||
./pubkeys/gdd.keys
|
||||
];
|
||||
};
|
||||
|
||||
users.users.root = {
|
||||
openssh.authorizedKeys.keyFiles = [
|
||||
./pubkeys/raito.keys
|
||||
./pubkeys/gdd.keys
|
||||
];
|
||||
};
|
||||
|
||||
}
|
10
hackens/vim.nix
Normal file
10
hackens/vim.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
nixfmt
|
||||
git
|
||||
(neovim.override {
|
||||
vimAlias = true;
|
||||
configure.plug.plugins = with vimPlugins; [ vim-nix vim-lastplace ];
|
||||
})
|
||||
];
|
||||
}
|
17
hackens/vpn-network/default.nix
Normal file
17
hackens/vpn-network/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./wg-peers.nix
|
||||
];
|
||||
|
||||
networking.wireguard.interfaces.wghackens = {
|
||||
ips = [ "192.168.2.1/24" ];
|
||||
listenPort = 51820;
|
||||
|
||||
privateKeyFile = "/etc/secrets/wghackens";
|
||||
generatePrivateKeyFile = true;
|
||||
};
|
||||
|
||||
boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
|
||||
}
|
||||
|
22
hackens/vpn-network/wg-peers.nix
Normal file
22
hackens/vpn-network/wg-peers.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ ... }:
|
||||
let
|
||||
startPrefix = "192.168.2";
|
||||
mkPeer = i: publicKey: {
|
||||
inherit publicKey;
|
||||
allowedIPs = [ "${startPrefix}.${toString i}/32" ]; # Only one IP.
|
||||
};
|
||||
in
|
||||
{
|
||||
# Comment s'ajouter ?
|
||||
# Ajouter un élément dans la liste sous la forme
|
||||
# (mkPeer i "publicKey")
|
||||
# i := c'est le i dans 192.168.2.i qui sera l'IP « allouée » sur le tunnel
|
||||
# publicKey := votre clef publique WireGuard
|
||||
# si on veut mettre une presharedKey, faut rajouter une entrée manuellement en suivant la doc :).
|
||||
# Ne pas oublier un commentaire à la fin de l'entrée pour documenter qui est quoi.
|
||||
# Clef publique actuelle: 95dW/JJDnbOelgot/yWMJMswCzHdQGCqPDvriwq9CT4=
|
||||
networking.wireguard.interfaces.wghackens.peers = [
|
||||
(mkPeer 2 "ed5ib4LwK6YvRDqUPyvLnbS0onrBQpFApv5HreYuMHs=") # Raito
|
||||
(mkPeer 3 "cm0G/YTSnu4sD72wMqXjNqDuauTh5XJHf/nvE0gOpFk=") # BiBi
|
||||
];
|
||||
}
|
33
hardware-configuration.nix
Normal file
33
hardware-configuration.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usbhid" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/nixos-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "ssd" "noatime" "ssd_spread" "discard" "space_cache" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-label/BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-label/SWAP"; }
|
||||
];
|
||||
|
||||
nix.maxJobs = lib.mkDefault 4;
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||
}
|
Loading…
Reference in a new issue