add chell to dotfiles nix configuration

This commit is contained in:
Arne Dußin 2025-04-07 16:50:29 +02:00
parent c5111a4896
commit 7aa69e8675
5 changed files with 144 additions and 16 deletions

15
nix/chell.nix Normal file
View file

@ -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";
}

View file

@ -3,6 +3,7 @@
imports = imports =
[ [
./hardware-${hostname}.nix ./hardware-${hostname}.nix
./${hostname}.nix
# <home-manager/nixos> # <home-manager/nixos>
]; ];
@ -29,8 +30,13 @@
# proxy.default = "naiveproxy+https://fries:8.S%3ECi42%40h%2CF%7D%3EP@ruffling.org/#french_connection:443"; # proxy.default = "naiveproxy+https://fries:8.S%3ECi42%40h%2CF%7D%3EP@ruffling.org/#french_connection:443";
}; };
# Set your time zone. # The real world
time.timeZone = "Europe/Moscow"; time.timeZone = "Europe/Berlin";
location = {
latitude = 51.514244;
longitude = 7.468429;
provider = "geoclue2";
};
# Internationalisation # Internationalisation
i18n = { i18n = {
@ -48,15 +54,6 @@
# Enable rtkit so pipewire can aquire real-time priority # Enable rtkit so pipewire can aquire real-time priority
security.rtkit.enable = true; 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. # Exception for packages that are not free but we would still like to install.
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) 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 # # Packages for ALL users #
################################ ################################
@ -77,9 +89,6 @@
alacritty alacritty
asciidoctor-with-extensions asciidoctor-with-extensions
bat bat
bluez
bluez-tools
brightnessctl
dunst dunst
eww eww
feh feh
@ -89,6 +98,9 @@
git-lfs git-lfs
helix helix
htop htop
joshuto
jujutsu
lazygit
linux-manual linux-manual
maim maim
man-pages man-pages
@ -105,7 +117,6 @@
rofi rofi
uutils-coreutils # TODO: Once satisfied switch to `uutils-coreutils-noprefix` uutils-coreutils # TODO: Once satisfied switch to `uutils-coreutils-noprefix`
vim vim
webcord
wget wget
wine wine
winetricks winetricks
@ -124,13 +135,16 @@
fonts.packages = with pkgs; with nerd-fonts; [ fonts.packages = with pkgs; with nerd-fonts; [
agave agave
anonymice anonymice
courier-prime
daddy-time-mono daddy-time-mono
envy-code-r envy-code-r
fantasque-sans-mono fantasque-sans-mono
hurmit hurmit
icon-library
iosevka iosevka
iosevka-term-slab iosevka-term-slab
jetbrains-mono jetbrains-mono
lmodern
source-han-mono source-han-mono
tamsyn tamsyn
tamzen tamzen
@ -140,16 +154,33 @@
# Programs # # Programs #
################## ##################
programs = { programs = {
dconf.enable = true;
firefox = { firefox = {
enable = true; enable = true;
languagePacks = [ "de" "en-GB" ]; languagePacks = [ "de" "en-GB" ];
}; };
gamemode.enable = true;
gnupg.agent = { gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = true; enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses; pinentryPackage = pkgs.pinentry-curses;
}; };
mtr.enable = true; 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 = { services = {
blueman.enable = true; blueman.enable = true;
geoclue2.enable = true;
locate.enable = true; locate.enable = true;
pcscd.enable = true; pcscd.enable = true;
picom = { picom = {
@ -165,8 +197,16 @@
}; };
pipewire = { enable = true; pulse.enable = true; }; pipewire = { enable = true; pulse.enable = true; };
printing.enable = true; printing.enable = true;
redshift = {
enable = true;
temperature.night = 4000;
temperature.day = 5500;
};
xserver = { xserver = {
enable = true; enable = true;
desktopManager.runXdgAutostartIfNone = true;
displayManager.startx.enable = true; displayManager.startx.enable = true;
windowManager.leftwm.enable = true; windowManager.leftwm.enable = true;
xkb.layout = "us"; xkb.layout = "us";
@ -184,12 +224,13 @@
extraGroups = [ "wheel" "networkmanager" "video" "kvm" ]; extraGroups = [ "wheel" "networkmanager" "video" "kvm" ];
packages = with pkgs; [ packages = with pkgs; [
nixd nixd
steam qpwgraph
vintagestory vintagestory
element-desktop element-desktop
signal-desktop signal-desktop
telegram-desktop telegram-desktop
webcord
]; ];
# home.stateVersion = "24.11"; # home.stateVersion = "24.11";

View file

@ -26,6 +26,16 @@
nur.modules.nixos.default nur.modules.nixos.default
]; ];
}; };
chell = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
hostname = "chell";
};
modules = [
./configuration.nix
nur.modules.nixos.default
];
};
}; };
}; };
} }

52
nix/hardware-chell.nix Normal file
View file

@ -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.<interface>.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;
}

10
nix/lamarr.nix Normal file
View file

@ -0,0 +1,10 @@
{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
bluez
bluez-tools
brightnessctl
];
services.xserver.xkb.options = "caps:escape,compose:94";
}