From 938907ca5aa01e1874c6ca40263e3a1bf3fdf24b Mon Sep 17 00:00:00 2001 From: fwastring Date: Sun, 1 Mar 2026 20:51:06 +0100 Subject: [PATCH] la till styrelsedatorn --- maskiner/styrelsen/configuration.nix | 122 ++++++++++++++++++ maskiner/styrelsen/hardware-configuration.nix | 18 +++ maskiner/styrelsen/laptop-disk.nix | 35 +++++ 3 files changed, 175 insertions(+) create mode 100644 maskiner/styrelsen/configuration.nix create mode 100644 maskiner/styrelsen/hardware-configuration.nix create mode 100644 maskiner/styrelsen/laptop-disk.nix diff --git a/maskiner/styrelsen/configuration.nix b/maskiner/styrelsen/configuration.nix new file mode 100644 index 0000000..6598cdb --- /dev/null +++ b/maskiner/styrelsen/configuration.nix @@ -0,0 +1,122 @@ +# 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’). + +{ + inputs, + config, + pkgs, + myhostname, + ... +}: +let + theme = "mocha"; + modulesDirectory = ../../moduler; +in +{ + imports = [ + ./hardware-configuration.nix + + (modulesDirectory + /users.nix) + (modulesDirectory + /git.nix) + (modulesDirectory + /network.nix) + (modulesDirectory + /programs.nix) + (modulesDirectory + /system.nix) + (modulesDirectory + /dev.nix) + (modulesDirectory + /sound.nix) + + (modulesDirectory + /services/base) + + (modulesDirectory + /programs/hyprland) + (modulesDirectory + /programs/kubernetes-tools.nix) + (modulesDirectory + /programs/nixvim) + ]; + + kubernetes-tools.enable = true; + networking.networkmanager = { + enable = true; + }; + + stylix = { + enable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${theme}.yaml"; + }; + + nixvim = { + enable = true; + theme = theme; + }; + + hyprland = { + enable = true; + theme = theme; + }; + + home-manager.extraSpecialArgs = { inherit inputs pkgs; }; + home-manager.users.fw = { + imports = [ + ./../../moduler/home.nix + ./../../moduler/programs/waybar + inputs.catppuccin.homeModules.catppuccin + ]; + waybar = { + enable = true; + configPath = ./../../moduler/programs/waybar/waybar-laptop.jsonc; + stylePath = ./../../moduler/programs/waybar/waybar-${theme}.css; + }; + gtk = { + enable = true; + iconTheme = { + name = "oomox-gruvbox-dark"; + package = pkgs.gruvbox-dark-icons-gtk; + }; + }; + kitty = { + enable = true; + theme = theme; + }; + fish = { + theme = theme; + }; + k9s = { + enable = true; + theme = theme; + }; + oh-my-posh = { + enable = true; + theme = theme; + }; + catppuccin = { + librewolf = { + enable = true; + flavor = theme; + accent = "peach"; + }; + }; + programs.ranger.enable = true; + stylix.targets = { + lazygit.enable = false; + fish.enable = false; + kitty.enable = false; + waybar.enable = false; + tmux.enable = false; + k9s.enable = false; + }; + }; + + security.sudo.wheelNeedsPassword = false; + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII60tdNsG0z9q2jHmoTKvkeLQE6OF0bmTsDX1bpqpoG7 fw@jobb" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFpJBGPIfPB1BwSG7aoKqwfccyZSaU7J3xpJ8behMp9N fw@core" + ]; + + services.upower = { + enable = true; + }; + + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = myhostname; + + system.stateVersion = "25.05"; +} diff --git a/maskiner/styrelsen/hardware-configuration.nix b/maskiner/styrelsen/hardware-configuration.nix new file mode 100644 index 0000000..e41d1fc --- /dev/null +++ b/maskiner/styrelsen/hardware-configuration.nix @@ -0,0 +1,18 @@ +# 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" "ahci" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/maskiner/styrelsen/laptop-disk.nix b/maskiner/styrelsen/laptop-disk.nix new file mode 100644 index 0000000..aaddc32 --- /dev/null +++ b/maskiner/styrelsen/laptop-disk.nix @@ -0,0 +1,35 @@ +{ lib, ... }: + +{ + disko.devices = { + disk = { + main = { + device = lib.mkDefault "/dev/nvme0n1"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + ESP = { + type = "EF00"; + size = "1G"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + root = { + size = "100%"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + }; + }; + }; + }; + }; + }; + }; +}