Initial commit

This commit is contained in:
2026-01-27 20:17:44 +01:00
commit 5ba014c249
5 changed files with 244 additions and 0 deletions

49
flake.lock generated Normal file
View File

@@ -0,0 +1,49 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1768949235,
"narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1769318308,
"narHash": "sha256-Mjx6p96Pkefks3+aA+72lu1xVehb6mv2yTUUqmSet6Q=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1cd347bf3355fce6c64ab37d3967b4a2cb4b878c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

20
flake.nix Normal file
View File

@@ -0,0 +1,20 @@
{
description = "Planned Disorder";
inputs = {
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-25.11";
};
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
};
# This strange syntax is a workaround for the intentional limitations of `flake.nix` files.
# https://discourse.nixos.org/t/outlining-the-differences-between-flakes-and-nix-configs/72996
#
# It imports the file with the top-level options from [inputs] as arguments.
outputs = inputs: import ./outputs.nix inputs;
}

13
outputs.nix Normal file
View File

@@ -0,0 +1,13 @@
{ nixpkgs, home-manager, ... }:
{
nixosConfigurations = {
"gandalf" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
home-manager.nixosModules.home-manager
./systems/gandalf
];
};
};
}

131
systems/gandalf/default.nix Normal file
View File

@@ -0,0 +1,131 @@
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "gandalf"; # Define your hostname.
networking.networkmanager.enable = true;
time.timeZone = "Europe/Amsterdam";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_NL.UTF-8";
LC_IDENTIFICATION = "nl_NL.UTF-8";
LC_MEASUREMENT = "nl_NL.UTF-8";
LC_MONETARY = "nl_NL.UTF-8";
LC_NAME = "nl_NL.UTF-8";
LC_NUMERIC = "nl_NL.UTF-8";
LC_PAPER = "nl_NL.UTF-8";
LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "nl_NL.UTF-8";
};
users.defaultUserShell = pkgs.zsh;
security.rtkit.enable = true;
users.users.avravels = {
isNormalUser = true;
description = "Armel van Ravels";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
home-manager
discord
spotify
protonvpn-gui
];
shell = pkgs.zsh;
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
gnumake
git
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
services = {
openssh.enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
xserver = {
enable = true;
videoDrivers = ["nvidia"];
xkb = {
layout = "us";
variant = "";
};
};
printing.enable = true;
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
# Bluetooth fixes
udev.extraRules = ''
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{DEVTYPE}=="usb_interface", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", KERNEL=="3-14:*", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", KERNELS=="3-14", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{SOLID_IGNORE}="1"
'';
};
hardware = {
graphics.enable = true;
nvidia = {
modesetting.enable = true;
open = true;
nvidiaSettings = true;
};
};
programs = {
hyprland = {
enable = true;
xwayland.enable = true;
};
zsh.enable = true;
gamescope = {
enable = false;
capSysNice = true;
};
steam = {
enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
};
system.stateVersion = "25.11"; # Did you read the comment?
}

View File

@@ -0,0 +1,31 @@
# 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" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/fbdcecb5-3a2b-4bd5-9586-4de834200363";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/01E4-5DD7";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}