WIP: Laptop config

This commit is contained in:
2026-02-17 20:02:25 +01:00
parent 1d00288f34
commit bfe2094a5f
27 changed files with 467 additions and 190 deletions

View File

@@ -1,7 +1,3 @@
# 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, config,
pkgs, pkgs,
@@ -11,13 +7,8 @@
{ {
imports = [ imports = [
./modules
./hardware-configuration.nix ./hardware-configuration.nix
./modules/flatpak.nix
./modules/gdm-monitors.nix
./modules/gnome.nix
./modules/packages.nix
./modules/programs.nix
./modules/services.nix
]; ];
boot = { boot = {
@@ -25,12 +16,6 @@
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
systemd-boot = { systemd-boot = {
enable = true; enable = true;
windows = {
"w" = {
title = "Windows";
efiDeviceHandle = "HD3b";
};
};
}; };
}; };
consoleLogLevel = 3; consoleLogLevel = 3;
@@ -38,20 +23,12 @@
}; };
networking = { networking = {
hostName = "epiquev2";
networkmanager.enable = true; networkmanager.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
firewall.enable = false; firewall.enable = false;
}; };
# Set your time zone.
time.timeZone = "Europe/Prague"; time.timeZone = "Europe/Prague";
# Select internationalisation properties.
i18n = { i18n = {
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";
@@ -68,7 +45,6 @@
}; };
}; };
# Configure console keymap
console.keyMap = "cz-lat2"; console.keyMap = "cz-lat2";
xdg.portal.enable = true; xdg.portal.enable = true;
@@ -97,18 +73,15 @@
}; };
libvirtd = { libvirtd = {
enable = true; enable = true;
qemu = {
swtpm.enable = true;
};
extraConfig = '' extraConfig = ''
unix_sock_group = "qemu-libvirtd" unix_sock_group = "qemu-libvirtd"
''; '';
onBoot = "ignore"; onBoot = "ignore";
}; };
spiceUSBRedirection.enable = true; spiceUSBRedirection.enable = true;
}; };
# Define a user account. Don't forget to set a password with passwd.
users.users.jax = { users.users.jax = {
isNormalUser = true; isNormalUser = true;
description = "Roman Lubij"; description = "Roman Lubij";
@@ -139,10 +112,6 @@
}; };
hardware = { hardware = {
amdgpu = {
initrd.enable = true;
overdrive.enable = true;
};
bluetooth = { bluetooth = {
enable = true; enable = true;
package = pkgs.bluez.overrideAttrs (old: { package = pkgs.bluez.overrideAttrs (old: {
@@ -150,35 +119,29 @@
"--enable-sixaxis" "--enable-sixaxis"
]; ];
}); });
powerOnBoot = true; powerOnBoot = true;
input.General.ClassicBondedOnly = false; input.General.ClassicBondedOnly = false;
settings = { settings = {
General = { General = {
# FastConnectable = true;
Name = "epiquev2";
Experimental = true; Experimental = true;
}; };
}; };
}; };
i2c.enable = true; i2c.enable = true;
graphics = { graphics = {
enable = true; enable = true;
enable32Bit = true; enable32Bit = true;
package = pkgs.mesa; package = pkgs.mesa;
extraPackages = with pkgs; [
rocmPackages.clr.icd # The ROCm OpenCL ICD
rocmPackages.rocminfo # The utility you want to run
rocmPackages.rocm-smi # Useful for general GPU health checks
];
}; };
amdgpu.opencl.enable = true; # ROCM
logitech.wireless = { logitech.wireless = {
enable = true; enable = true;
enableGraphical = true; enableGraphical = true;
}; };
}; };
# QT stuff
qt = { qt = {
platformTheme = "qt5ct"; platformTheme = "qt5ct";
style = "adwaita-dark"; style = "adwaita-dark";

View File

@@ -76,8 +76,7 @@
install -Dm444 -t $out/share/applications data/io.github.qarmin.krokiet.desktop install -Dm444 -t $out/share/applications data/io.github.qarmin.krokiet.desktop
install -Dm444 data/icons/io.github.qarmin.czkawka.krokiet.svg \ install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/io.github.qarmin.krokiet.svg \
$out/share/icons/hicolor/scalable/apps/io.github.qarmin.krokiet.svg
install -Dm444 -t $out/share/metainfo data/io.github.qarmin.krokiet.metainfo.xml install -Dm444 -t $out/share/metainfo data/io.github.qarmin.krokiet.metainfo.xml
''; '';

View File

@@ -20,11 +20,11 @@
{ {
packages.default = pkgs.stdenv.mkDerivation rec { packages.default = pkgs.stdenv.mkDerivation rec {
pname = "fet"; pname = "fet";
version = "7.7.5"; # Current stable version as of Feb 2026 version = "7.7.6";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://lalescu.ro/liviu/fet/download/fet-${version}.tar.xz"; url = "https://lalescu.ro/liviu/fet/download/fet-${version}.tar.xz";
sha256 = "0ajvpqjxswjxk3mjjh9mc0ks96f07d26pl8vashqs8jfc1isxrd0"; sha256 = "06vvxxl5kza3a2v0fkw6bylavpickk8a5ybgabbhylmi59c1q1ns";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@@ -43,7 +43,6 @@
qmake fet.pro qmake fet.pro
''; '';
# This creates the .desktop file automatically
desktopItems = [ desktopItems = [
(pkgs.makeDesktopItem { (pkgs.makeDesktopItem {
name = "fet"; name = "fet";
@@ -64,7 +63,6 @@
mkdir -p $out/bin mkdir -p $out/bin
cp fet $out/bin/ cp fet $out/bin/
# Install the icon (FET usually provides icons in the source)
mkdir -p $out/share/icons/hicolor/128x128/apps mkdir -p $out/share/icons/hicolor/128x128/apps
cp icons/fet.png $out/share/icons/hicolor/128x128/apps/fet.png cp icons/fet.png $out/share/icons/hicolor/128x128/apps/fet.png

View File

@@ -0,0 +1 @@
{ ... }: { }

View File

@@ -0,0 +1,11 @@
{ ... }:
{
imports = [
./flatpak.nix
./gnome.nix
./packages.nix
./programs.nix
./services.nix
];
}

View File

@@ -24,7 +24,6 @@
]; ];
systemPackages = with pkgs.gnomeExtensions; [ systemPackages = with pkgs.gnomeExtensions; [
# thanatophobia
alphabetical-app-grid alphabetical-app-grid
appindicator appindicator
blur-my-shell blur-my-shell
@@ -32,7 +31,6 @@
bubblemail bubblemail
color-picker color-picker
dash-to-dock dash-to-dock
# Not for G49 yet
# favorites-to-applications-grid # favorites-to-applications-grid
middle-click-to-close-in-overview middle-click-to-close-in-overview
undecorate undecorate

View File

@@ -9,7 +9,6 @@
}: }:
{ {
# Allow unfree packages
nixpkgs = { nixpkgs = {
config = { config = {
allowUnfree = true; allowUnfree = true;
@@ -42,15 +41,14 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
abootimg abootimg
amdgpu_top
android-tools android-tools
anki anki
appstream appstream
arch-install-scripts
aspell aspell
aspellDicts.cs aspellDicts.cs
aspellDicts.en aspellDicts.en
aspellDicts.es aspellDicts.es
attic-client
bibata-cursors bibata-cursors
binwalk binwalk
brscan4 brscan4
@@ -58,20 +56,16 @@
btrfs-progs btrfs-progs
bubblemail bubblemail
bzip2 bzip2
ccache
curl curl
# czkawka
czkawka-master.packages.${pkgs.stdenv.hostPlatform.system}.default
fet.packages.${pkgs.stdenv.hostPlatform.system}.default fet.packages.${pkgs.stdenv.hostPlatform.system}.default
# czkawka-git.packages.${pkgs.stdenv.hostPlatform.system}.czkawka-gui-wayland
ddcutil ddcutil
discord discord
distrobox distrobox
docker-buildx docker-buildx
docker-compose docker-compose
dog dog
element-desktop
eza eza
fahclient
ffmpeg-full ffmpeg-full
ffmpegthumbnailer ffmpegthumbnailer
file file
@@ -108,7 +102,6 @@
killall killall
kooha kooha
krita krita
lact
libgsf libgsf
libnotify libnotify
libreoffice libreoffice
@@ -128,7 +121,6 @@
nixfmt nixfmt
ntfs3g ntfs3g
nufraw-thumbnailer nufraw-thumbnailer
nvtopPackages.amd
obsidian obsidian
openrgb-with-all-plugins openrgb-with-all-plugins
papirus-icon-theme papirus-icon-theme
@@ -139,12 +131,8 @@
poppler-utils poppler-utils
prismlauncher-unwrapped prismlauncher-unwrapped
protonup-qt protonup-qt
radeontop
rocmPackages.rocm-smi
rocmPackages.rocminfo
rquickshare rquickshare
saber saber
# solaar
solaar-master.packages.${pkgs.stdenv.hostPlatform.system}.default solaar-master.packages.${pkgs.stdenv.hostPlatform.system}.default
logitech-udev-rules logitech-udev-rules
scrcpy scrcpy
@@ -153,7 +141,6 @@
smartmontools smartmontools
starship starship
sushi sushi
swtpm
telegram-desktop telegram-desktop
testdisk testdisk
thunderbird thunderbird
@@ -178,7 +165,6 @@
tumbler tumbler
xz xz
yt-dlp yt-dlp
zenmonitor
zip zip
zram-generator zram-generator
zsh-autosuggestions zsh-autosuggestions

View File

@@ -0,0 +1,53 @@
{
config,
pkgs,
lib,
...
}:
{
programs = {
bat.enable = true;
zsh.enable = true;
gamemode.enable = true;
firefox = {
enable = true;
languagePacks = [
"cs"
"en-GB"
"en-US"
];
};
weylus.enable = true;
gamescope.enable = true;
git = {
enable = true;
lfs.enable = true;
};
nh = {
clean = {
enable = true;
extraArgs = "--keep-since 7d --keep 10";
};
enable = true;
flake = "/etc/nixos";
};
nix-ld = {
enable = true;
libraries = with pkgs; [ ];
};
steam = {
dedicatedServer.openFirewall = true;
enable = true;
extest.enable = true;
gamescopeSession.enable = true;
protontricks.enable = true;
remotePlay.openFirewall = true;
};
};
}

View File

@@ -6,13 +6,7 @@
}: }:
{ {
environment.systemPackages = with pkgs; [
zram-generator
];
services = { services = {
lact.enable = true;
sshd.enable = true; sshd.enable = true;
displayManager.gdm.enable = true; displayManager.gdm.enable = true;
desktopManager.gnome.enable = true; desktopManager.gnome.enable = true;
@@ -42,12 +36,6 @@
#media-session.enable = true; #media-session.enable = true;
}; };
hardware.openrgb = {
enable = true;
motherboard = "amd";
package = pkgs.openrgb-with-all-plugins;
};
printing = { printing = {
enable = true; enable = true;
drivers = [ drivers = [
@@ -67,10 +55,6 @@
SystemMaxFiles=100 SystemMaxFiles=100
''; '';
udev.extraRules = ''
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="39c48cb1-233c-4921-a614-3a193574df67", ENV{UDISKS_IGNORE}="1"
'';
zram-generator = { zram-generator = {
enable = true; enable = true;
settings = { settings = {
@@ -88,37 +72,6 @@
}; };
}; };
btrbk.instances = {
daily_ssd = {
onCalendar = "daily";
settings = {
timestamp_format = "long";
snapshot_preserve = "7d";
volume."/" = {
subvolume = "home";
snapshot_dir = "home/.snapshots/daily";
};
};
};
weekly_hdd = {
onCalendar = "weekly";
settings = {
timestamp_format = "long";
snapshot_preserve_min = "latest";
snapshot_preserve = "no";
target_preserve = "20w";
volume."/" = {
subvolume = "home";
snapshot_dir = "home/.snapshots/weekly";
target = "/media/home-backup";
};
};
};
};
fstrim = { fstrim = {
enable = true; enable = true;
interval = "weekly"; interval = "weekly";

70
desktop/default.nix Normal file
View File

@@ -0,0 +1,70 @@
{
config,
pkgs,
lib,
...
}:
{
imports = [
./hardware-configuration.nix
./modules
../common
];
boot = {
loader = {
systemd-boot = {
windows = {
"w" = {
title = "Windows";
efiDeviceHandle = "HD3b";
};
};
};
};
};
networking = {
hostName = "epiquev2";
};
virtualisation = {
libvirtd = {
qemu = {
swtpm.enable = true;
};
};
spiceUSBRedirection.enable = true;
};
hardware = {
cpu.amd.updateMicrocode = true;
amdgpu = {
initrd.enable = true;
overdrive.enable = true;
};
bluetooth = {
settings = {
General = {
Name = "epiquev2";
};
};
};
graphics = {
extraPackages = with pkgs; [
rocmPackages.clr.icd
rocmPackages.rocminfo
rocmPackages.rocm-smi
];
};
amdgpu.opencl.enable = true;
};
system.stateVersion = "25.05";
}

View File

@@ -13,6 +13,7 @@
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot = { boot = {
initrd = { initrd = {
kernelModules = [ ]; kernelModules = [ ];
@@ -26,6 +27,7 @@
"sd_mod" "sd_mod"
]; ];
}; };
kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
kernelModules = [ kernelModules = [
"kvm-amd" "kvm-amd"
@@ -33,9 +35,11 @@
"hid-logitech-dj" "hid-logitech-dj"
"hid-logitech-hidpp" "hid-logitech-hidpp"
]; ];
extraModulePackages = with config.boot.kernelPackages; [ extraModulePackages = with config.boot.kernelPackages; [
pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower
]; ];
blacklistedKernelModules = [ "k10temp" ]; blacklistedKernelModules = [ "k10temp" ];
kernelParams = [ kernelParams = [
"amdgpu.seamless=1" "amdgpu.seamless=1"
@@ -191,5 +195,4 @@
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true;
} }

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./gdm-monitors.nix
./packages.nix
./programs.nix
./services.nix
];
}

View File

@@ -295,7 +295,6 @@ let
in in
{ {
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
# L+ means to create a symbolic link (L) and create the directory if it doesn't exist (+)
"L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}" "L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}"
]; ];
} }

View File

@@ -0,0 +1,41 @@
{
config,
pkgs,
lib,
czkawka-master,
solaar-master,
fet,
...
}:
{
environment.systemPackages = with pkgs; [
amdgpu_top
arch-install-scripts
ccache
czkawka-master.packages.${pkgs.stdenv.hostPlatform.system}.default
fahclient
lact
nvtopPackages.amd
radeontop
rocmPackages.rocm-smi
rocmPackages.rocminfo
swtpm
zenmonitor
];
fonts = {
packages = with pkgs; [
fira-code
font-awesome
nerd-fonts.fira-code
nerd-fonts.fira-mono
nerd-fonts.symbols-only
nerd-fonts.ubuntu-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
ubuntu-classic
];
};
}

View File

@@ -40,61 +40,23 @@
} }
]; ];
bat.enable = true;
zsh.enable = true;
gamemode.enable = true;
firefox = {
enable = true;
languagePacks = ["cs" "en-GB" "en-US"];
};
virt-manager.enable = true; virt-manager.enable = true;
weylus.enable = true;
gamescope.enable = true;
noisetorch.enable = true;
ccache = { ccache = {
enable = true; enable = true;
cacheDir = "/media/data/.ccache"; cacheDir = "/media/data/.ccache";
}; };
git = {
enable = true;
lfs.enable = true;
};
nh = {
clean = {
enable = true;
extraArgs = "--keep-since 7d --keep 10";
};
enable = true;
flake = "/etc/nixos";
};
nix-ld = {
enable = true;
libraries = with pkgs; [ ];
};
obs-studio = { obs-studio = {
enable = true; enable = true;
plugins = with pkgs.obs-studio-plugins; [ plugins = with pkgs.obs-studio-plugins; [
wlrobs wlrobs
obs-backgroundremoval obs-backgroundremoval
obs-pipewire-audio-capture obs-pipewire-audio-capture
obs-vaapi # optional AMD hardware acceleration obs-vaapi
obs-gstreamer obs-gstreamer
obs-vkcapture obs-vkcapture
]; ];
}; };
steam = {
dedicatedServer.openFirewall = true;
enable = true;
extest.enable = true;
gamescopeSession.enable = true;
protontricks.enable = true;
remotePlay.openFirewall = true;
};
}; };
} }

View File

@@ -0,0 +1,57 @@
{
config,
pkgs,
lib,
...
}:
{
environment.systemPackages = with pkgs; [
zram-generator
];
services = {
lact.enable = true;
hardware.openrgb = {
enable = true;
motherboard = "amd";
package = pkgs.openrgb-with-all-plugins;
};
udev.extraRules = ''
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="39c48cb1-233c-4921-a614-3a193574df67", ENV{UDISKS_IGNORE}="1"
'';
btrbk.instances = {
daily_ssd = {
onCalendar = "daily";
settings = {
timestamp_format = "long";
snapshot_preserve = "7d";
volume."/" = {
subvolume = "home";
snapshot_dir = "home/.snapshots/daily";
};
};
};
weekly_hdd = {
onCalendar = "weekly";
settings = {
timestamp_format = "long";
snapshot_preserve_min = "latest";
snapshot_preserve = "no";
target_preserve = "20w";
volume."/" = {
subvolume = "home";
snapshot_dir = "home/.snapshots/weekly";
target = "/media/home-backup";
};
};
};
};
};
}

42
flake.lock generated
View File

@@ -7,11 +7,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"path": "./flakes/czkawka-master", "path": "./common/flakes/czkawka-master",
"type": "path" "type": "path"
}, },
"original": { "original": {
"path": "./flakes/czkawka-master", "path": "./common/flakes/czkawka-master",
"type": "path" "type": "path"
}, },
"parent": [] "parent": []
@@ -19,11 +19,11 @@
"czkawka-src": { "czkawka-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1770876278, "lastModified": 1771313751,
"narHash": "sha256-8wzQV1Ft0VgNauArgog5wY6OmDq5gKIYF6LKJ8qGq9g=", "narHash": "sha256-0mqQAmaa7N7NgOKUgstRed5Ss6PcbfJzh/vOsS9Dg6c=",
"owner": "qarmin", "owner": "qarmin",
"repo": "czkawka", "repo": "czkawka",
"rev": "cc4d357238246d9d95867801f9c58773710c009d", "rev": "f665807d2e06b72950e0c0f1857ab9efefc32ac6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -61,11 +61,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"path": "./flakes/fet", "path": "./common/flakes/fet",
"type": "path" "type": "path"
}, },
"original": { "original": {
"path": "./flakes/fet", "path": "./common/flakes/fet",
"type": "path" "type": "path"
}, },
"parent": [] "parent": []
@@ -145,11 +145,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1770841267, "lastModified": 1771008912,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", "rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -161,11 +161,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1770841267, "lastModified": 1771008912,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", "rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -177,11 +177,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1770956962, "lastModified": 1771264603,
"narHash": "sha256-dakX5wYFRTckgej29qy//68/DjFsEA/XNYfnltnaDlo=", "narHash": "sha256-iCDYLFNZ2kZdfyDa6praAuPZGnI4TAO6r6pBEXicGqA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2c4dbe7e217aa8f06a0e5a76169cc28f5de10b4b", "rev": "2859feb957fc4ef8220705fd5524e770b21d7f7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -193,11 +193,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1770841267, "lastModified": 1771008912,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", "rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -240,11 +240,11 @@
"solaar-src": "solaar-src" "solaar-src": "solaar-src"
}, },
"locked": { "locked": {
"path": "./flakes/solaar-master", "path": "./common/flakes/solaar-master",
"type": "path" "type": "path"
}, },
"original": { "original": {
"path": "./flakes/solaar-master", "path": "./common/flakes/solaar-master",
"type": "path" "type": "path"
}, },
"parent": [] "parent": []

View File

@@ -1,12 +1,10 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
nix-flatpak.url = "github:gmodena/nix-flatpak"; nix-flatpak.url = "github:gmodena/nix-flatpak";
czkawka-master.url = "path:./flakes/czkawka-master"; czkawka-master.url = "path:./common/flakes/czkawka-master";
# czkawka-git.url = "github:qarmin/czkawka?dir=misc/nix"; solaar-master.url = "path:./common/flakes/solaar-master";
solaar-master.url = "path:./flakes/solaar-master"; fet.url = "path:./common/flakes/fet";
fet.url = "path:./flakes/fet";
}; };
outputs = outputs =
@@ -14,22 +12,29 @@
self, self,
nixpkgs, nixpkgs,
nix-flatpak, nix-flatpak,
czkawka-master,
solaar-master,
fet,
... ...
}: }@inputs:
let
specialArgs = { inherit (inputs) czkawka-master solaar-master fet; };
in
{ {
nixosConfigurations = { nixosConfigurations = {
epiquev2 = nixpkgs.lib.nixosSystem { epiquev2 = nixpkgs.lib.nixosSystem {
inherit specialArgs;
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
inherit czkawka-master;
inherit solaar-master;
inherit fet;
};
modules = [ modules = [
./configuration.nix ./common
./desktop
nix-flatpak.nixosModules.nix-flatpak
];
};
laptop = nixpkgs.lib.nixosSystem {
inherit specialArgs;
system = "x86_64-linux";
modules = [
./common
./laptop
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
]; ];
}; };

32
laptop/default.nix Normal file
View File

@@ -0,0 +1,32 @@
{
config,
pkgs,
lib,
...
}:
{
imports = [
./hardware-configuration.nix
./modules
../common
];
networking = {
hostName = "dalaptop";
};
hardware = {
cpu.intel.updateMicrocode = true;
bluetooth = {
settings = {
General = {
Name = "dalaptop";
};
};
};
};
system.stateVersion = "25.05";
}

View File

@@ -0,0 +1,93 @@
# 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"
"ahci"
"nvme"
"uas"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/02dad628-066d-4fba-ada7-bfdfbc2e4ca3";
fsType = "btrfs";
options = [
"subvol=@nix"
"ssd"
"space_cache=v2"
"noatime"
"compress=zstd:8"
"autodefrag"
];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/02dad628-066d-4fba-ada7-bfdfbc2e4ca3";
fsType = "btrfs";
options = [
"subvol=@home"
"ssd"
"space_cache=v2"
"noatime"
"compress=zstd:7"
"autodefrag"
];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/02dad628-066d-4fba-ada7-bfdfbc2e4ca3";
fsType = "btrfs";
options = [
"subvol=@nix_nix"
"ssd"
"space_cache=v2"
"noatime"
"compress=zstd:10"
"autodefrag"
];
};
fileSystems."/var" = {
device = "/dev/disk/by-uuid/02dad628-066d-4fba-ada7-bfdfbc2e4ca3";
fsType = "btrfs";
options = [
"subvol=@nix_var"
"ssd"
"space_cache=v2"
"noatime"
"compress=zstd:10"
"autodefrag"
];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C871-B294";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

15
laptop/modules/attic.nix Normal file
View File

@@ -0,0 +1,15 @@
{ ... }: {
nix.settings = {
substituters = [
"https://attic.awroo.fun/my-config"
"https://cache.nixos.org"
];
trusted-public-keys = [
"my-config:zMLOKdd9wxVtJDK2jgI2fW6Uehtdc4WLyU0bOjNpyxM="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
];
trusted-users = [ "root" "@wheel" ];
};
}

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./attic.nix
./packages.nix
./programs.nix
./services.nix
];
}

View File

@@ -0,0 +1,6 @@
{
...
}:
{
}

View File

@@ -0,0 +1,6 @@
{
...
}:
{
}

View File

@@ -0,0 +1,6 @@
{
...
}:
{
}