This commit is contained in:
Thilo Billerbeck 2025-04-01 20:48:26 +02:00
commit 67d7bc7813
12 changed files with 157 additions and 206 deletions

View file

@ -15,21 +15,24 @@
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/caa83e18-f2f2-46f9-8c27-0842c3051dc1"; { device = "/dev/disk/by-uuid/ecc9110a-4510-4a67-9227-021e146b59ca";
fsType = "btrfs"; fsType = "ext4";
options = [ "subvol=@" ];
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/DADB-44A9"; { device = "/dev/disk/by-uuid/230E-6756";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = [ "fmask=0077" "dmask=0077" ];
}; };
swapDevices =
[ { device = "/dev/disk/by-uuid/9ad760a9-34e4-4858-96e6-98c7a8e497a4"; }
];
fileSystems = { fileSystems = {
"/data" = { "/data" = {
device = "/dev/disk/by-uuid/a13a2cfa-12af-463d-ae5c-d46c881fcdd6"; device = "/dev/disk/by-uuid/a13a2cfa-12af-463d-ae5c-d46c881fcdd6";

View file

@ -13,6 +13,8 @@
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs;
}; };
backupFileExtension = ".bak";
users.thilo = { users.thilo = {
imports = [ ./../../home-manager/modules/machine.nix ]; imports = [ ./../../home-manager/modules/machine.nix ];
@ -42,6 +44,25 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
lix lix
]; ];
programs.distrobox = {
enable = true;
containers = {
arch = {
image = "quay.io/toolbx/arch-toolbox";
additional_packages = "python python-pip nodejs";
volume = "/etc/static/profiles/per-user:/etc/profiles/per-user:ro";
replace = true;
};
fedora = {
image = "quay.io/fedora/fedora-toolbox:41";
additional_packages = "python python-pip code";
home = "/home/thilo/.distrobox/fedora";
pre_init_hooks = ''rpm --import https://packages.microsoft.com/keys/microsoft.asc && echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null'';
replace = true;
};
};
};
}; };
}; };
} }

View file

@ -1,7 +1,12 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ pkgs, options, ... }: {
pkgs,
inputs,
lib,
...
}:
{ {
imports = [ imports = [
@ -9,6 +14,7 @@
./hardware-configuration.nix ./hardware-configuration.nix
./../../nixos/common.nix ./../../nixos/common.nix
./../../nixos/builders.nix ./../../nixos/builders.nix
inputs.jovian-nixos.nixosModules.jovian
]; ];
# Bootloader. # Bootloader.
@ -17,6 +23,7 @@
grub = { grub = {
efiSupport = true; efiSupport = true;
device = "nodev"; device = "nodev";
useOSProber = true;
}; };
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
@ -43,14 +50,7 @@
layout = "us"; layout = "us";
variant = ""; variant = "";
}; };
# AI envfs.enable = true;
# ollama = {
# enable = true;
# acceleration = "rocm";
# };
# open-webui = {
# enable = true;
# };
}; };
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
@ -167,36 +167,29 @@
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true; hardware.bluetooth.powerOnBoot = true;
programs.steam.gamescopeSession = { specialisation = {
enable = false; game-console.configuration = {
env = { services.displayManager.sddm.enable = lib.mkForce false;
WLR_RENDERER = "vulkan"; jovian = {
DXVK_HDR = "1"; steam = {
STEAM_GAMESCOPE_VRR_SUPPORTED = "1"; autoStart = true;
SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "0"; enable = true;
ENABLE_GAMESCOPE_WSI = "1"; user = "thilo";
WINE_FULLSCREEN_FSR = "1"; desktopSession = "plasma";
};
};
}; };
args = [
"-f"
"-F fsr"
"--rt"
"--adaptive-sync"
"-w 1920"
"-h 1080"
"-r 120"
"--hdr-enabled"
"--hdr-itm-enable"
"-O DP-3"
];
}; };
programs.gamescope.enable = true; programs.gamescope.enable = true;
networking.firewall.enable = false;
system.stateVersion = "24.11"; system.stateVersion = "24.11";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
kdePackages.skanpage kdePackages.skanpage
qt5.qtwayland
]; ];
services.resolved = { services.resolved = {

234
flake.lock generated
View file

@ -1,25 +1,5 @@
{ {
"nodes": { "nodes": {
"dagger": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1741791233,
"narHash": "sha256-NyezPcnXjuZSsIkZZr4rRuThs7u1sYhPU+PwgJjmFgU=",
"owner": "dagger",
"repo": "nix",
"rev": "a16cf50595de02fd3cfa644794e0983d8761d177",
"type": "github"
},
"original": {
"owner": "dagger",
"repo": "nix",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
@ -50,24 +30,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -75,11 +37,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741955947, "lastModified": 1743527271,
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", "narHash": "sha256-EuanEW1qqXZ2h0zJnq7uz8BoHbsgHgUrqWkCZHwZ9FA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", "rev": "f4d9d1e2ad19d544a0a0cf3f8f371c6139c762e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -88,6 +50,26 @@
"type": "github" "type": "github"
} }
}, },
"jovian-nixos": {
"inputs": {
"nix-github-actions": "nix-github-actions",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1743144043,
"narHash": "sha256-QlEk4Xm5KG0jW5Kus9teY3bhxdf0GUTexxTUCaJM5ms=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "1c17514c8558886af0afc34b6c348c1f2ee9fd24",
"type": "github"
},
"original": {
"owner": "Jovian-Experiments",
"ref": "development",
"repo": "Jovian-NixOS",
"type": "github"
}
},
"mmdoc": { "mmdoc": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -110,31 +92,11 @@
"type": "github" "type": "github"
} }
}, },
"muse-sounds-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1711493694,
"narHash": "sha256-u6hPaeOUsV/d/kBNo1vlG6X0/gHvTkHfCECH9pjFnV8=",
"owner": "thilobillerbeck",
"repo": "muse-sounds-manager-nix",
"rev": "06b0da28c54331d5af73efd2ebf264ce914e5936",
"type": "github"
},
"original": {
"owner": "thilobillerbeck",
"repo": "muse-sounds-manager-nix",
"type": "github"
}
},
"nix-alien": { "nix-alien": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1742038403, "lastModified": 1742038403,
@ -150,6 +112,28 @@
"type": "github" "type": "github"
} }
}, },
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"jovian-nixos",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729697500,
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
"owner": "zhaofengli",
"repo": "nix-github-actions",
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"ref": "matrix-name",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-index-database": { "nix-index-database": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -193,6 +177,43 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1739214665,
"narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-update": {
"inputs": {
"mmdoc": "mmdoc",
"nixpkgs": "nixpkgs_4",
"runtimeDeps": "runtimeDeps",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1742857708,
"narHash": "sha256-eKl1y0COzmaD5tPw8MgmEBSsH46t4jmPbneulCLgG3M=",
"owner": "ryantm",
"repo": "nixpkgs-update",
"rev": "30ca7d55d05bfc99bfb04521ba09c26ccbec8625",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "nixpkgs-update",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1741851582, "lastModified": 1741851582,
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
@ -208,34 +229,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-update": { "nixpkgs_3": {
"inputs": {
"mmdoc": "mmdoc",
"nixpkgs": "nixpkgs_3",
"runtimeDeps": "runtimeDeps",
"treefmt-nix": "treefmt-nix"
},
"locked": { "locked": {
"lastModified": 1738838691, "lastModified": 1743315132,
"narHash": "sha256-0vSf4gjSg/MGTdI+b3ZOjdvVZR53MZWRyRUvREc16jo=", "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
"owner": "ryantm",
"repo": "nixpkgs-update",
"rev": "ca25a2a7aaa94faeb209bf488c201b34dddcda27",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "nixpkgs-update",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1742069588,
"narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", "rev": "52faf482a3889b7619003c0daec593a1912fddc1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -245,7 +245,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1672428209, "lastModified": 1672428209,
"narHash": "sha256-eejhqkDz2cb2vc5VeaWphJz8UXNuoNoM8/Op8eWv2tQ=", "narHash": "sha256-eejhqkDz2cb2vc5VeaWphJz8UXNuoNoM8/Op8eWv2tQ=",
@ -259,32 +259,14 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1726142289,
"narHash": "sha256-Jks8O42La+nm5AMTSq/PvM5O+fUAhIy0Ce1QYqLkyZ4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "280db3decab4cbeb22a4599bd472229ab74d25e1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"dagger": "dagger",
"home-manager": "home-manager", "home-manager": "home-manager",
"muse-sounds-manager": "muse-sounds-manager", "jovian-nixos": "jovian-nixos",
"nix-alien": "nix-alien", "nix-alien": "nix-alien",
"nixgl": "nixgl", "nixgl": "nixgl",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"nixpkgs-update": "nixpkgs-update", "nixpkgs-update": "nixpkgs-update"
"suyu": "suyu"
} }
}, },
"runtimeDeps": { "runtimeDeps": {
@ -303,25 +285,6 @@
"type": "github" "type": "github"
} }
}, },
"suyu": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1726259531,
"narHash": "sha256-84sIM3Gd7e6PhjsBT2EiiAInJlKQsb4HpgUPTYr6eg0=",
"owner": "Noodlez1232",
"repo": "suyu-flake",
"rev": "e3ea28163248edaf5fe2a65f92e9ef3593bdc20a",
"type": "github"
},
"original": {
"owner": "Noodlez1232",
"repo": "suyu-flake",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@ -337,21 +300,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [

View file

@ -12,18 +12,12 @@
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
dagger.url = "github:dagger/nix";
dagger.inputs.nixpkgs.follows = "nixpkgs";
nixgl = { nixgl = {
url = "github:guibou/nixGL"; url = "github:guibou/nixGL";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
muse-sounds-manager = {
url = "github:thilobillerbeck/muse-sounds-manager-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
suyu.url = "github:Noodlez1232/suyu-flake";
nix-alien.url = "github:thiagokokada/nix-alien"; nix-alien.url = "github:thiagokokada/nix-alien";
jovian-nixos.url = "github:Jovian-Experiments/Jovian-NixOS/development";
}; };
nixConfig = { nixConfig = {
@ -61,7 +55,7 @@
}; };
in in
{ {
nixosConfigurations.thilo-pc = nixpkgs.lib.nixosSystem { nixosConfigurations."thilo-pc" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager

View file

@ -32,6 +32,7 @@ with lib;
./../programs/hstr.nix ./../programs/hstr.nix
./../programs/thefuck.nix ./../programs/thefuck.nix
./../programs/ssh.nix ./../programs/ssh.nix
./../programs/vscode.nix
./../programs/zed.nix ./../programs/zed.nix
./../../nix.nix ./../../nix.nix
./packages.nix ./packages.nix

View file

@ -14,14 +14,6 @@ let
in in
{ {
config = { config = {
nixpkgs.overlays = [
(_: prev: {
quickemu = prev.quickemu.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [ ./../patches/quickemu.patch ];
});
})
];
home.packages = home.packages =
with pkgs; with pkgs;
[ [
@ -66,19 +58,15 @@ in
ddev ddev
act act
mkcert mkcert
# pulumi
kubectl kubectl
pulumiPackages.pulumi-language-nodejs
ncdu ncdu
devenv devenv
inputs.nixpkgs-update.packages.x86_64-linux.nixpkgs-update inputs.nixpkgs-update.packages.x86_64-linux.nixpkgs-update
inputs.dagger.packages.x86_64-linux.dagger nixpkgs-review
unzip unzip
nil nil
nixd nixd
unrar unrar
# inputs.w17.packages.x86_64-linux.default
aichat
nix-output-monitor nix-output-monitor
nodePackages.pnpm nodePackages.pnpm
npm-check-updates npm-check-updates
@ -94,8 +82,6 @@ in
php php
(lib.hiPrio phpPackages.composer) (lib.hiPrio phpPackages.composer)
nixfmt-rfc-style
] ]
++ ( ++ (
if (!config.machine.isGeneric) then if (!config.machine.isGeneric) then
@ -141,10 +127,8 @@ in
bottles bottles
protontricks protontricks
heroic heroic
(vscode.override { commandLineArgs = electronFlags; })
quickemu quickemu
quickgui quickgui
trilium-desktop
anki anki
muse-sounds-manager muse-sounds-manager
jetbrains-toolbox jetbrains-toolbox
@ -155,7 +139,6 @@ in
inkscape inkscape
musescore musescore
obsidian obsidian
syncthingtray
reaper reaper
yabridge yabridge
torzu torzu
@ -166,6 +149,7 @@ in
telegram-desktop telegram-desktop
thunderbird thunderbird
gearlever gearlever
kdePackages.merkuro
] ]
else else
[ ] [ ]

View file

@ -1,7 +1,7 @@
{ config, ... }: { config, ... }:
{ {
programs.firefox = { programs.floorp = {
enable = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false; enable = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false;
}; };
} }

View file

@ -1,5 +1,5 @@
{ {
services.syncthing = { services.syncthing = {
enable = true; enable = false;
}; };
} }

View file

@ -25,6 +25,7 @@ in
"nix" "nix"
"uv" "uv"
]; ];
nix_arguments = "--builders \"\"";
}; };
git.repos = [ configPath ]; git.repos = [ configPath ];
firmware = { firmware = {

View file

@ -0,0 +1,5 @@
{
programs.vscode = {
enable = true;
};
}

View file

@ -111,6 +111,7 @@ in
}; };
tailscale = { tailscale = {
enable = true; enable = true;
useRoutingFeatures = "both";
}; };
flatpak.enable = true; flatpak.enable = true;
avahi = { avahi = {