diff --git a/nix/chell.nix b/nix/chell.nix new file mode 100644 index 0000000..d1b9e17 --- /dev/null +++ b/nix/chell.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... } : +{ + environment.systemPackages = with pkgs; [ + mangohud + obs-studio + ]; + + hardware.graphics.extraPackages = with pkgs; [ + vaapiVdpau + libvdpau-va-gl + ]; + hardware.keyboard.qmk.enable = true; + + services.xserver.xkb.options = "caps:escape,compose:102"; +} diff --git a/nix/configuration.nix b/nix/configuration.nix index 0b571ed..ce28ccf 100644 --- a/nix/configuration.nix +++ b/nix/configuration.nix @@ -3,6 +3,7 @@ imports = [ ./hardware-${hostname}.nix + ./${hostname}.nix # ]; @@ -29,8 +30,13 @@ # proxy.default = "naiveproxy+https://fries:8.S%3ECi42%40h%2CF%7D%3EP@ruffling.org/#french_connection:443"; }; - # Set your time zone. - time.timeZone = "Europe/Moscow"; + # The real world + time.timeZone = "Europe/Berlin"; + location = { + latitude = 51.514244; + longitude = 7.468429; + provider = "geoclue2"; + }; # Internationalisation i18n = { @@ -48,15 +54,6 @@ # Enable rtkit so pipewire can aquire real-time priority security.rtkit.enable = true; - # Add nur for more packages! - # nixpkgs.config.packageOverrides = pkgs: { - # nur = - # import ( builtins.fetchTarball "https://github.com/nix-community/NUR/archive/main.tar.gz" ) - # { - # inherit pkgs; - # }; - # }; - # Exception for packages that are not free but we would still like to install. nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ @@ -70,6 +67,21 @@ ]; + ############################### + # Documentation options # + # (man) # + ############################### + documentation = { + enable = true; + dev.enable = true; + man = { + enable = true; + generateCaches = true; + man-db.enable = false; + mandoc.enable = true; + }; + }; + ################################ # Packages for ALL users # ################################ @@ -77,9 +89,6 @@ alacritty asciidoctor-with-extensions bat - bluez - bluez-tools - brightnessctl dunst eww feh @@ -89,6 +98,9 @@ git-lfs helix htop + joshuto + jujutsu + lazygit linux-manual maim man-pages @@ -105,7 +117,6 @@ rofi uutils-coreutils # TODO: Once satisfied switch to `uutils-coreutils-noprefix` vim - webcord wget wine winetricks @@ -124,13 +135,16 @@ fonts.packages = with pkgs; with nerd-fonts; [ agave anonymice + courier-prime daddy-time-mono envy-code-r fantasque-sans-mono hurmit + icon-library iosevka iosevka-term-slab jetbrains-mono + lmodern source-han-mono tamsyn tamzen @@ -140,16 +154,33 @@ # Programs # ################## programs = { + dconf.enable = true; firefox = { enable = true; languagePacks = [ "de" "en-GB" ]; }; + gamemode.enable = true; gnupg.agent = { enable = true; enableSSHSupport = true; pinentryPackage = pkgs.pinentry-curses; }; mtr.enable = true; + nix-ld.enable = true; + steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + }; + thunar = { + enable = true; + plugins = with pkgs.xfce; [ + tumbler + thunar-volman + thunar-media-tags-plugin + thunar-archive-plugin + ]; + }; }; ################## @@ -157,6 +188,7 @@ ################## services = { blueman.enable = true; + geoclue2.enable = true; locate.enable = true; pcscd.enable = true; picom = { @@ -165,8 +197,16 @@ }; pipewire = { enable = true; pulse.enable = true; }; printing.enable = true; + redshift = { + enable = true; + + temperature.night = 4000; + temperature.day = 5500; + }; xserver = { enable = true; + + desktopManager.runXdgAutostartIfNone = true; displayManager.startx.enable = true; windowManager.leftwm.enable = true; xkb.layout = "us"; @@ -184,12 +224,13 @@ extraGroups = [ "wheel" "networkmanager" "video" "kvm" ]; packages = with pkgs; [ nixd - steam + qpwgraph vintagestory element-desktop signal-desktop telegram-desktop + webcord ]; # home.stateVersion = "24.11"; diff --git a/nix/flake.nix b/nix/flake.nix index b91afa7..e2cf8ee 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -26,6 +26,16 @@ nur.modules.nixos.default ]; }; + chell = nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs outputs; + hostname = "chell"; + }; + modules = [ + ./configuration.nix + nur.modules.nixos.default + ]; + }; }; }; } diff --git a/nix/hardware-chell.nix b/nix/hardware-chell.nix new file mode 100644 index 0000000..8cb17dc --- /dev/null +++ b/nix/hardware-chell.nix @@ -0,0 +1,52 @@ +# 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" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/faf9e2b9-5362-4637-aa12-78e2ff0ae9ca"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/F1A2-55DA"; + fsType = "vfat"; + }; + + fileSystems."/Helium" = + { device = "/dev/disk/by-uuid/0cb2606b-8692-4538-a9ad-288e8597b8a4"; + fsType = "ext4"; + }; + + fileSystems."/Barium" = + { device = "/dev/disk/by-uuid/2ce586a1-e8f1-4a0d-bb44-ff3d1f8a79fc"; + fsType = "ext4"; + }; + + fileSystems."/Chlor" = + { device = "/dev/disk/by-uuid/55b5d373-8a07-46af-8f73-17e711c0a8d9"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # 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 + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp5s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nix/lamarr.nix b/nix/lamarr.nix new file mode 100644 index 0000000..464c470 --- /dev/null +++ b/nix/lamarr.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + bluez + bluez-tools + brightnessctl + ]; + + services.xserver.xkb.options = "caps:escape,compose:94"; +}