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 =
[
./hardware-${hostname}.nix
./${hostname}.nix
# <home-manager/nixos>
];
@ -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";

View file

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

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