summaryrefslogtreecommitdiff
path: root/nixos/hosts
diff options
context:
space:
mode:
authorcaley <195605706+cqley@users.noreply.github.com>2026-07-21 14:42:14 +0200
committerGitHub <noreply@github.com>2026-07-21 14:42:14 +0200
commitee2b3e1fcb09ae0fc3e44e1b5e3e615ef3da4efb (patch)
tree576715dbc1115663b1025ff8f61ea9dd76b2caa8 /nixos/hosts
parentb8e7285e178944e00ff417437fe02912a5e90425 (diff)
Create configuration.nix
Diffstat (limited to 'nixos/hosts')
-rw-r--r--nixos/hosts/bed/configuration.nix140
1 files changed, 140 insertions, 0 deletions
diff --git a/nixos/hosts/bed/configuration.nix b/nixos/hosts/bed/configuration.nix
new file mode 100644
index 0000000..0149d1c
--- /dev/null
+++ b/nixos/hosts/bed/configuration.nix
@@ -0,0 +1,140 @@
+{ config, pkgs, pkgs-unstable, ... }:
+
+{
+ imports = [
+ ./hardware-configuration.nix
+ ];
+
+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
+ nix.settings.auto-optimise-store = true;
+
+ nix.gc = {
+ automatic = true;
+ dates = "weekly";
+ options = "--delete-older-than 7d";
+ };
+
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+ boot.kernelPackages = pkgs.linuxPackages_latest;
+ boot.initrd.kernelModules = [ "amdgpu" ];
+
+ zramSwap = {
+ enable = true;
+ memoryPercent = 25;
+ };
+
+ services.getty.autologinUser = "cat";
+ services.fstrim.enable = true;
+
+ networking.hostName = "bed";
+ networking.networkmanager.enable = true;
+ networking.firewall.allowedUDPPorts = [ 51820 ];
+
+ networking.wireguard.interfaces.wg0 = {
+ ips = [ "10.0.0.3/24" ];
+ privateKeyFile = "/var/lib/wireguard/privatekey";
+
+ peers = [
+ {
+ publicKey = "P2LPLBq/6qXE5Mmv8DJUviU89Yu5s7vysbyWncnZchY=";
+ allowedIPs = [ "10.0.0.0/24" ];
+ endpoint = "5.231.118.254:51820";
+ persistentKeepalive = 25;
+ }
+ ];
+ };
+
+ time.timeZone = "Europe/Berlin";
+ i18n.defaultLocale = "en_US.UTF-8";
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "de_DE.UTF-8";
+ LC_IDENTIFICATION = "de_DE.UTF-8";
+ LC_MEASUREMENT = "de_DE.UTF-8";
+ LC_MONETARY = "de_DE.UTF-8";
+ LC_NAME = "de_DE.UTF-8";
+ LC_NUMERIC = "de_DE.UTF-8";
+ LC_PAPER = "de_DE.UTF-8";
+ LC_TELEPHONE = "de_DE.UTF-8";
+ LC_TIME = "de_DE.UTF-8";
+ };
+
+ nixpkgs.config.allowUnfree = true;
+
+ hardware.graphics = {
+ enable = true;
+ enable32Bit = true;
+ };
+
+ services.xserver.videoDrivers = [ "amdgpu" ];
+
+ hardware.bluetooth.enable = true;
+ hardware.bluetooth.powerOnBoot = true;
+
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ jack.enable = true;
+ };
+
+ services.tlp.enable = true;
+ services.mullvad-vpn.enable = true;
+ services.udisks2.enable = true;
+ programs.hyprland.enable = true;
+ programs.fish.enable = true;
+ programs.dconf.enable = true;
+
+ xdg.portal = {
+ enable = true;
+ extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+ };
+
+ services.keyd = {
+ enable = true;
+ keyboards.default = {
+ ids = [ "*" ];
+ settings.main.capslock = "home";
+ };
+ };
+
+ users.users.cat = {
+ isNormalUser = true;
+ extraGroups = [ "networkmanager" "wheel" "video" ];
+ shell = pkgs.fish;
+ };
+
+ environment.systemPackages = with pkgs; [
+ neovim
+ git
+ kitty
+ wl-clipboard
+ libnotify
+ quickshell
+ awww
+ hyprshot
+ hyprpolkitagent
+ wireguard-tools
+ kdePackages.breeze
+ kdePackages.qtsvg
+ imv
+ mpv
+ wiremix
+ zathura
+ ];
+
+ fonts.packages = with pkgs; [
+ cherry
+ noto-fonts
+ noto-fonts-cjk-sans
+ noto-fonts-color-emoji
+ nerd-fonts.jetbrains-mono
+ ];
+
+ documentation.enable = false;
+ documentation.man.enable = false;
+
+ system.stateVersion = "26.05";
+}