commit 160bdcfb42bf462d7d54edf28a5a4dd6e009f2d1 Author: mtgmonkey Date: Sun Dec 28 20:12:01 2025 +0100 init diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..6ac1f89 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,74 @@ +{lib, ...}: { + boot.loader = { + efi.canTouchEfiVariables = true; + limine = { + enable = true; + efiSupport = true; + }; + timeout = lib.mkDefault 2; + }; + environment.persistence."/persist" = { + enable = true; + hideMounts = true; + directories = [ + "/var/log" + "/var/lib/bluetooth" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + "/etc/NetworkManager/system-connections" + ]; + users."mtgmonkey" = { + directories = [ + "Downloads" + ".backups" + ".ssh" + ]; + }; + }; + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + }; + i18n.defaultLocale = "de_DE.UTF-8"; + networking = { + dhcpcd.enable = true; + firewall.enable = true; + hostName = "nixos"; + networkmanager.enable = true; + }; + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "steam" + "steam-original" + "steam-unwrapped" + "steam-run" + ]; + programs = { + noshell.enable = true; + steam.enable = true; + sway.enable = true; + }; + services = { + blueman.enable = true; + displayManager = { + enable = true; + ly.enable = true; + }; + libinput.enable = true; + printing.enable = true; + }; + system.stateVersion = "26.05"; + time.timeZone = "Europe/Berlin"; + users.users."mtgmonkey" = { + isNormalUser = true; + description = "mtgmonkey"; + extraGroups = [ + "networkmanager" + "wheel" + ]; + }; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..39dc84f --- /dev/null +++ b/flake.lock @@ -0,0 +1,64 @@ +{ + "nodes": { + "impermanence": { + "locked": { + "lastModified": 1737831083, + "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", + "owner": "nix-community", + "repo": "impermanence", + "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "impermanence", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1766651565, + "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "noshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717396029, + "narHash": "sha256-NPIhvnTYkJZqTY+aabbZ6CAaMAgG6IISvh7GZo1MTfQ=", + "owner": "viperML", + "repo": "noshell", + "rev": "4d194d838a50ea106cd0e47c024e47afc154ab42", + "type": "github" + }, + "original": { + "owner": "viperML", + "repo": "noshell", + "type": "github" + } + }, + "root": { + "inputs": { + "impermanence": "impermanence", + "nixpkgs": "nixpkgs", + "noshell": "noshell" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..e3e665e --- /dev/null +++ b/flake.nix @@ -0,0 +1,29 @@ +{ + inputs = { + impermanence.url = "github:nix-community/impermanence"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + noshell = { + url = "github:viperML/noshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + outputs = { + impermanence, + nixpkgs, + noshell, + self, + ... + }: let + system = "x86_64-linux"; + in { + nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem { + inherit system; + modules = [ + impermanence.nixosModules.impermanence + noshell.nixosModules.default + ./configuration.nix + ./hardware-configuration.nix + ]; + }; + }; +} diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..aa58733 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,48 @@ +# 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" "usbhid" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/6546ea32-a94f-4d2d-8949-fe5f7009bd22"; + fsType = "ext4"; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/038cd71d-c0c6-4e3b-950c-2b239d67670b"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/5AEC-83B7"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/bc77f555-144f-4c8c-86cb-e2785783c49a"; + fsType = "ext4"; + }; + + fileSystems."/home/mtgmonkey/tmp" = + { device = "/dev/mmcblk0p1"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/394f46fe-65c3-4e35-acf8-44d81ed5a674"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}