From 2751af00730a71e4ae4e8e24980d1320d8140b90 Mon Sep 17 00:00:00 2001 From: Armel van Ravels Date: Tue, 17 Mar 2026 09:25:18 +0100 Subject: [PATCH] Add work configuration --- home/home.nix | 1 + home/programs/vscode.nix | 25 ++++++++++++++ outputs.nix | 7 ++++ systems/modules/common.nix | 1 + systems/modules/teams-for-linux.nix | 7 ++++ systems/work/default.nix | 45 +++++++++++++++++++++++++ systems/work/hardware-configuration.nix | 33 ++++++++++++++++++ 7 files changed, 119 insertions(+) create mode 100644 home/programs/vscode.nix create mode 100644 systems/modules/teams-for-linux.nix create mode 100644 systems/work/default.nix create mode 100644 systems/work/hardware-configuration.nix diff --git a/home/home.nix b/home/home.nix index 35c01a6..9bfe300 100644 --- a/home/home.nix +++ b/home/home.nix @@ -19,6 +19,7 @@ ./programs/libreoffice.nix ./programs/nvim.nix ./programs/ripgrep.nix + ./programs/vscode.nix ./wm/rofi.nix ./wm/cursor.nix ./wm/dconf.nix diff --git a/home/programs/vscode.nix b/home/programs/vscode.nix new file mode 100644 index 0000000..760c69e --- /dev/null +++ b/home/programs/vscode.nix @@ -0,0 +1,25 @@ +{ pkgs, ... }: + +{ + programs.vscode = { + enable = true; + + package = pkgs.vscode.fhs; + profiles.default.extensions = with pkgs.vscode-extensions; [ + ms-dotnettools.csharp + ms-dotnettools.csdevkit + ms-dotnettools.vscode-dotnet-runtime + mkhl.direnv # Direnv integration for VSCode + ]; + + profiles.default.userSettings = { + "direnv.restart.automatic" = true; + "terminal.integrated.defaultProfile.linux" = "zsh"; + "terminal.integrated.profiles.linux" = { + zsh = { + path = pkgs.zsh; + }; + }; + }; + }; +} diff --git a/outputs.nix b/outputs.nix index 7648346..2ae11ec 100644 --- a/outputs.nix +++ b/outputs.nix @@ -23,5 +23,12 @@ ./systems/legolas ]; }; + "work" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + home-manager.nixosModules.home-manager + ./systems/work + ]; + }; }; } diff --git a/systems/modules/common.nix b/systems/modules/common.nix index 0f45a32..0d8c447 100644 --- a/systems/modules/common.nix +++ b/systems/modules/common.nix @@ -8,6 +8,7 @@ users.defaultUserShell = pkgs.zsh; environment.systemPackages = with pkgs; [ + chromium gnumake git jetbrains-toolbox diff --git a/systems/modules/teams-for-linux.nix b/systems/modules/teams-for-linux.nix new file mode 100644 index 0000000..c8a8626 --- /dev/null +++ b/systems/modules/teams-for-linux.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + teams-for-linux + ]; +} diff --git a/systems/work/default.nix b/systems/work/default.nix new file mode 100644 index 0000000..7a229a5 --- /dev/null +++ b/systems/work/default.nix @@ -0,0 +1,45 @@ +{ config, pkgs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ../modules/home-manager.nix + ../modules/common.nix + ../modules/users.nix + ../modules/locales.nix + ../modules/services.nix + ../modules/programs.nix + ../modules/garbage-collection.nix + ../modules/printing.nix + ../modules/docker.nix + ../modules/teams-for-linux.nix + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + boot.plymouth.enable = true; + boot.plymouth.theme = "spinner"; + boot.initrd.systemd.enable = true; + + programs.nix-ld.enable = true; + + networking.hostName = "laptop-armel"; + + networking.networkmanager.enable = true; + networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ]; + networking.firewall.enable = false; + + hardware.graphics.enable = true; + services.xserver.videoDrivers = [ "intel" ]; + + virtualisation.libvirtd.enable = true; + + networking.hosts = { + "127.0.0.1" = [ "local.wormundco.de" "local.wormundco.nl" "local.wormenco.nl" "local.wurmundco.de" ]; + "149.210.174.226" = [ "kindertelefoon" ]; + }; + + system.stateVersion = "25.11"; # Did you read the comment? +} diff --git a/systems/work/hardware-configuration.nix b/systems/work/hardware-configuration.nix new file mode 100644 index 0000000..b90cb92 --- /dev/null +++ b/systems/work/hardware-configuration.nix @@ -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, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/mapper/luks-5217fae8-1b85-4667-abb7-2b4ca7d443ba"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-5217fae8-1b85-4667-abb7-2b4ca7d443ba".device = "/dev/disk/by-uuid/5217fae8-1b85-4667-abb7-2b4ca7d443ba"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/3892-6129"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}