diff --git a/configuration.nix b/configuration.nix index dcbc36c..36dac06 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,14 +1,15 @@ # 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’). - -{ config, pkgs, ... }: - { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + config, + pkgs, + ... +}: { + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; # Bootloader. boot.loader.systemd-boot.enable = true; @@ -28,7 +29,7 @@ time.timeZone = "Europe/Berlin"; # NIXOS - nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.settings.experimental-features = ["nix-command" "flakes"]; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; @@ -88,10 +89,10 @@ users.users.max = { isNormalUser = true; description = "Max Känner"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = ["networkmanager" "wheel"]; packages = with pkgs; [ firefox - # thunderbird + # thunderbird ]; }; @@ -101,16 +102,17 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - neovim - wget - fprintd - binutils - usbutils - pciutils - home-manager - git + neovim + wget + fprintd + binutils + usbutils + pciutils + home-manager + git + libclang + alejandra + libnotify ]; # Some programs need SUID wrappers, can be configured further or are @@ -142,6 +144,4 @@ # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.11"; # Did you read the comment? - } - diff --git a/flake.lock b/flake.lock index dc29462..784b5bc 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709204054, + "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "2f3367769a93b226c467551315e9e270c3f78b15", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1709218635, @@ -18,6 +38,7 @@ }, "root": { "inputs": { + "home-manager": "home-manager", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 0cf047b..0f38722 100644 --- a/flake.nix +++ b/flake.nix @@ -4,26 +4,26 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; - # home-manager = { - # url = "github:nix-community/home-manager"; - # inputs.nixpkgs.follows = "nixpkgs"; - # }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, ... }@inputs: - let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in - { - - nixosConfigurations."MaxNixosLaptop" = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - ./configuration.nix - # inputs.home-manager.nixosModules.default - ]; - }; - + outputs = { + self, + nixpkgs, + ... + } @ inputs: let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in { + nixosConfigurations."MaxNixosLaptop" = nixpkgs.lib.nixosSystem { + specialArgs = {inherit inputs;}; + modules = [ + ./configuration.nix + inputs.home-manager.nixosModules.default + ]; }; + }; } diff --git a/hardware-configuration.nix b/hardware-configuration.nix index ac46b71..e01a4d0 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -1,31 +1,35 @@ # 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") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/34201865-cb0f-443d-9fa6-fc8b879f10d7"; - fsType = "f2fs"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/34201865-cb0f-443d-9fa6-fc8b879f10d7"; + fsType = "f2fs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/D497-E78F"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/D497-E78F"; + fsType = "vfat"; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/067162ef-42f5-4f01-8e4d-7d3550a87b73"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/067162ef-42f5-4f01-8e4d-7d3550a87b73";} + ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/home.nix b/home.nix index 5af02ad..a75e3dd 100644 --- a/home.nix +++ b/home.nix @@ -1,6 +1,8 @@ -{ config, pkgs, ... }: - { + config, + pkgs, + ... +}: { # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "max";