Changes to Arendia config

This commit is contained in:
Thomas Avé 2024-11-04 21:45:47 +01:00
parent 72eaf55e6e
commit 1f76c8601a
5 changed files with 205 additions and 1 deletions

View File

@ -111,6 +111,7 @@
Riva = { user = "user"; };
Kell = { user = "user"; };
Aloria = { user = "user"; };
Arendia = { user = "user"; };
};
in
{ nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; };

55
home/Arendia.nix Normal file
View File

@ -0,0 +1,55 @@
{ inputs, config, pkgs, ... }:
{
imports = [
(import ./utils/desktop.nix { inherit inputs config pkgs; })
];
programs.ssh.matchBlocks."*".identityFile = "/home/user/.secrets/SSH/Arendia/id_ed25519";
home.packages = with pkgs; [
distrobox
gnome-disk-utility
moonlight-qt
vscode
texliveFull
zed-editor
];
services.hyprpaper = {
settings = {
wallpaper = [
"HDMI-A-1,${./hyprland/files/wallpaper.png}"
"HDMI-A-2,${./hyprland/files/wallpaper.png}"
"eDP-1,${./hyprland/files/wallpaper.png}"
"eDP-2,${./hyprland/files/wallpaper.png}"
];
};
};
# wayland.windowManager.hyprland.settings.env = ["WLR_DRM_DEVICES,/dev/dri/by-path/pci-0000:01:00.0-card"]; # Nvidia
# wayland.windowManager.hyprland.settings.env = ["WLR_DRM_DEVICES,/dev/dri/by-path/pci-0000:00:02.0-card"]; # Intel
wayland.windowManager.hyprland.settings = {
exec-once = [
# "${pkgs.swaylock-fancy}/bin/swaylock-fancy"
];
monitor = [
"eDP-1,1920x1080@144,0x0,1.25"
# "HDMI-A-2,1920x1080@60,0x-1080,1"
# "HDMI-A-1,1920x1080@60,0x-1080,1"
];
bind = [
", XF86PowerOff, exec, ${pkgs.rofi}/bin/rofi -show power-menu -modi power-menu:${
./hyprland/files/rofi-power-menu.sh
}"
];
general.gaps_out = 1;
};
programs.alacritty.settings.font.size = 13;
programs.kitty.font.size = 13;
programs.zsh.initExtra = pkgs.lib.mkForce ''
LOCAL_SEARCH_DIRS=(~/.dotfiles/)
REMOTE_SEARCH_DIRS=( ~/Workspace)
'';
}

View File

@ -252,7 +252,7 @@ function Bar(monitor = 0) {
monitor,
anchor: ["top", "left", "right"],
exclusivity: "exclusive",
css: "font-size: " + (hyprland.monitors[monitor]["width"] > 2000? "1.2em;": "1em;"),
css: "font-size: " + (hyprland.monitors[monitor]["width"] > 2600? "1.2em;": "1em;"),
child: Widget.CenterBox({
class_name: "window-box",
start_widget: Left(),

104
hosts/Arendia/default.nix Normal file
View File

@ -0,0 +1,104 @@
{ pkgs, lib, inputs, config, ... }:
let
serverIP = "10.0.0.1";
in {
imports = [
(import ../Common/default.nix { inherit inputs pkgs config; })
(import ../Common/desktop.nix { inherit inputs pkgs config; })
(import ../Common/nfs.nix { inherit pkgs serverIP; })
(import ../Common/zfs.nix {inherit inputs pkgs config; })
];
hardware.graphics.extraPackages = [
pkgs.intel-compute-runtime
pkgs.intel-media-driver
];
zramSwap.enable = true;
services.upower.enable = true;
services.logind.extraConfig = ''HandlePowerKey=ignore'';
services.throttled.enable = true;
networking.hostId = "b6c5c9af";
networking.interfaces.wlan0.useDHCP = lib.mkDefault false;
networking.wireless.iwd.enable = true;
networking.wireless.iwd.settings = {
IPv6 = {
Enabled = true;
};
Settings = {
AutoConnect = true;
};
General = {
EnableNetworkConfiguration = true;
};
};
systemd.services.fprintd = {
wantedBy = [ "multi-user.target" ];
serviceConfig.Type = "simple";
};
services.fprintd.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; # Goodix driver module
services.fprintd.tod.enable = true;
# virtualisation
virtualisation.libvirtd.enable = true;
virtualisation.libvirtd.qemu.ovmf.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
programs.virt-manager.enable = true;
users.users.user.extraGroups = [ "libvirtd" ];
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 20;
#Optional helps save long term battery health
START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
};
};
networking.wg-quick.interfaces = {
Tunnel = {
address = [ "10.0.0.7/24" "2a02:a03f:83ad:2101::7/128" ];
privateKeyFile = "/home/user/.secrets/Wireguard/Arendia.key";
listenPort = 51820;
autostart = false;
postUp = "resolvectl dns Tunnel 10.0.0.1; resolvectl domain Tunnel ~thomasave.be;";
dns = ["10.0.0.1"];
peers = [{
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "h.thomasave.be:13231";
persistentKeepalive = 25;
}];
};
OPNsense = {
address = [ "10.0.0.7/24" "2a02:a03f:83ad:2101::7/128" ];
privateKeyFile = "/home/user/.secrets/Wireguard/Arendia.key";
listenPort = 51820;
autostart = true;
postUp = "resolvectl dns OPNsense 10.0.0.1; resolvectl domain OPNsense ~thomasave.be;";
dns = ["10.0.0.1"];
peers = [{
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
allowedIPs = [ "10.0.0.1/8" "192.168.1.2/32" ];
endpoint = "h.thomasave.be:13231";
persistentKeepalive = 25;
}];
};
};
}

View File

@ -0,0 +1,44 @@
# 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, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "rpool/root";
fsType = "zfs";
};
fileSystems."/home" =
{ device = "rpool/home";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/12CE-A600";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}