mirror of
https://github.com/JaxTheWolf/nixos.git
synced 2026-04-01 02:00:22 +02:00
WIP: Laptop config
This commit is contained in:
@@ -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,
|
||||
pkgs,
|
||||
@@ -11,13 +7,8 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
./modules
|
||||
./hardware-configuration.nix
|
||||
./modules/flatpak.nix
|
||||
./modules/gdm-monitors.nix
|
||||
./modules/gnome.nix
|
||||
./modules/packages.nix
|
||||
./modules/programs.nix
|
||||
./modules/services.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
@@ -25,12 +16,6 @@
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
windows = {
|
||||
"w" = {
|
||||
title = "Windows";
|
||||
efiDeviceHandle = "HD3b";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
consoleLogLevel = 3;
|
||||
@@ -38,20 +23,12 @@
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "epiquev2";
|
||||
networkmanager.enable = true;
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Prague";
|
||||
|
||||
# Select internationalisation properties.
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
@@ -68,7 +45,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "cz-lat2";
|
||||
|
||||
xdg.portal.enable = true;
|
||||
@@ -97,18 +73,15 @@
|
||||
};
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
swtpm.enable = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
unix_sock_group = "qemu-libvirtd"
|
||||
'';
|
||||
|
||||
onBoot = "ignore";
|
||||
};
|
||||
spiceUSBRedirection.enable = true;
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.jax = {
|
||||
isNormalUser = true;
|
||||
description = "Roman Lubij";
|
||||
@@ -139,10 +112,6 @@
|
||||
};
|
||||
|
||||
hardware = {
|
||||
amdgpu = {
|
||||
initrd.enable = true;
|
||||
overdrive.enable = true;
|
||||
};
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
package = pkgs.bluez.overrideAttrs (old: {
|
||||
@@ -150,35 +119,29 @@
|
||||
"--enable-sixaxis"
|
||||
];
|
||||
});
|
||||
|
||||
powerOnBoot = true;
|
||||
input.General.ClassicBondedOnly = false;
|
||||
settings = {
|
||||
General = {
|
||||
# FastConnectable = true;
|
||||
Name = "epiquev2";
|
||||
Experimental = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c.enable = true;
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
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 = {
|
||||
enable = true;
|
||||
enableGraphical = true;
|
||||
};
|
||||
};
|
||||
|
||||
# QT stuff
|
||||
qt = {
|
||||
platformTheme = "qt5ct";
|
||||
style = "adwaita-dark";
|
||||
@@ -76,8 +76,7 @@
|
||||
|
||||
install -Dm444 -t $out/share/applications data/io.github.qarmin.krokiet.desktop
|
||||
|
||||
install -Dm444 data/icons/io.github.qarmin.czkawka.krokiet.svg \
|
||||
$out/share/icons/hicolor/scalable/apps/io.github.qarmin.krokiet.svg
|
||||
install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/io.github.qarmin.krokiet.svg \
|
||||
|
||||
install -Dm444 -t $out/share/metainfo data/io.github.qarmin.krokiet.metainfo.xml
|
||||
'';
|
||||
@@ -20,11 +20,11 @@
|
||||
{
|
||||
packages.default = pkgs.stdenv.mkDerivation rec {
|
||||
pname = "fet";
|
||||
version = "7.7.5"; # Current stable version as of Feb 2026
|
||||
version = "7.7.6";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://lalescu.ro/liviu/fet/download/fet-${version}.tar.xz";
|
||||
sha256 = "0ajvpqjxswjxk3mjjh9mc0ks96f07d26pl8vashqs8jfc1isxrd0";
|
||||
sha256 = "06vvxxl5kza3a2v0fkw6bylavpickk8a5ybgabbhylmi59c1q1ns";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@@ -43,7 +43,6 @@
|
||||
qmake fet.pro
|
||||
'';
|
||||
|
||||
# This creates the .desktop file automatically
|
||||
desktopItems = [
|
||||
(pkgs.makeDesktopItem {
|
||||
name = "fet";
|
||||
@@ -64,7 +63,6 @@
|
||||
mkdir -p $out/bin
|
||||
cp fet $out/bin/
|
||||
|
||||
# Install the icon (FET usually provides icons in the source)
|
||||
mkdir -p $out/share/icons/hicolor/128x128/apps
|
||||
cp icons/fet.png $out/share/icons/hicolor/128x128/apps/fet.png
|
||||
|
||||
1
common/hardware-configuration.nix
Normal file
1
common/hardware-configuration.nix
Normal file
@@ -0,0 +1 @@
|
||||
{ ... }: { }
|
||||
11
common/modules/default.nix
Normal file
11
common/modules/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./flatpak.nix
|
||||
./gnome.nix
|
||||
./packages.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
];
|
||||
}
|
||||
@@ -24,7 +24,6 @@
|
||||
];
|
||||
|
||||
systemPackages = with pkgs.gnomeExtensions; [
|
||||
# thanatophobia
|
||||
alphabetical-app-grid
|
||||
appindicator
|
||||
blur-my-shell
|
||||
@@ -32,7 +31,6 @@
|
||||
bubblemail
|
||||
color-picker
|
||||
dash-to-dock
|
||||
# Not for G49 yet
|
||||
# favorites-to-applications-grid
|
||||
middle-click-to-close-in-overview
|
||||
undecorate
|
||||
@@ -9,7 +9,6 @@
|
||||
}:
|
||||
|
||||
{
|
||||
# Allow unfree packages
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
@@ -42,15 +41,14 @@
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
abootimg
|
||||
amdgpu_top
|
||||
android-tools
|
||||
anki
|
||||
appstream
|
||||
arch-install-scripts
|
||||
aspell
|
||||
aspellDicts.cs
|
||||
aspellDicts.en
|
||||
aspellDicts.es
|
||||
attic-client
|
||||
bibata-cursors
|
||||
binwalk
|
||||
brscan4
|
||||
@@ -58,20 +56,16 @@
|
||||
btrfs-progs
|
||||
bubblemail
|
||||
bzip2
|
||||
ccache
|
||||
curl
|
||||
# czkawka
|
||||
czkawka-master.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
fet.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
# czkawka-git.packages.${pkgs.stdenv.hostPlatform.system}.czkawka-gui-wayland
|
||||
ddcutil
|
||||
discord
|
||||
distrobox
|
||||
docker-buildx
|
||||
docker-compose
|
||||
dog
|
||||
element-desktop
|
||||
eza
|
||||
fahclient
|
||||
ffmpeg-full
|
||||
ffmpegthumbnailer
|
||||
file
|
||||
@@ -108,7 +102,6 @@
|
||||
killall
|
||||
kooha
|
||||
krita
|
||||
lact
|
||||
libgsf
|
||||
libnotify
|
||||
libreoffice
|
||||
@@ -128,7 +121,6 @@
|
||||
nixfmt
|
||||
ntfs3g
|
||||
nufraw-thumbnailer
|
||||
nvtopPackages.amd
|
||||
obsidian
|
||||
openrgb-with-all-plugins
|
||||
papirus-icon-theme
|
||||
@@ -139,12 +131,8 @@
|
||||
poppler-utils
|
||||
prismlauncher-unwrapped
|
||||
protonup-qt
|
||||
radeontop
|
||||
rocmPackages.rocm-smi
|
||||
rocmPackages.rocminfo
|
||||
rquickshare
|
||||
saber
|
||||
# solaar
|
||||
solaar-master.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
logitech-udev-rules
|
||||
scrcpy
|
||||
@@ -153,7 +141,6 @@
|
||||
smartmontools
|
||||
starship
|
||||
sushi
|
||||
swtpm
|
||||
telegram-desktop
|
||||
testdisk
|
||||
thunderbird
|
||||
@@ -178,7 +165,6 @@
|
||||
tumbler
|
||||
xz
|
||||
yt-dlp
|
||||
zenmonitor
|
||||
zip
|
||||
zram-generator
|
||||
zsh-autosuggestions
|
||||
53
common/modules/programs.nix
Normal file
53
common/modules/programs.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -6,13 +6,7 @@
|
||||
}:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
zram-generator
|
||||
];
|
||||
|
||||
services = {
|
||||
lact.enable = true;
|
||||
|
||||
sshd.enable = true;
|
||||
displayManager.gdm.enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
@@ -42,12 +36,6 @@
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
hardware.openrgb = {
|
||||
enable = true;
|
||||
motherboard = "amd";
|
||||
package = pkgs.openrgb-with-all-plugins;
|
||||
};
|
||||
|
||||
printing = {
|
||||
enable = true;
|
||||
drivers = [
|
||||
@@ -67,10 +55,6 @@
|
||||
SystemMaxFiles=100
|
||||
'';
|
||||
|
||||
udev.extraRules = ''
|
||||
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="39c48cb1-233c-4921-a614-3a193574df67", ENV{UDISKS_IGNORE}="1"
|
||||
'';
|
||||
|
||||
zram-generator = {
|
||||
enable = true;
|
||||
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 = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
70
desktop/default.nix
Normal file
70
desktop/default.nix
Normal 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";
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
kernelModules = [ ];
|
||||
@@ -26,6 +27,7 @@
|
||||
"sd_mod"
|
||||
];
|
||||
};
|
||||
|
||||
kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
|
||||
kernelModules = [
|
||||
"kvm-amd"
|
||||
@@ -33,9 +35,11 @@
|
||||
"hid-logitech-dj"
|
||||
"hid-logitech-hidpp"
|
||||
];
|
||||
|
||||
extraModulePackages = with config.boot.kernelPackages; [
|
||||
pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower
|
||||
];
|
||||
|
||||
blacklistedKernelModules = [ "k10temp" ];
|
||||
kernelParams = [
|
||||
"amdgpu.seamless=1"
|
||||
@@ -191,5 +195,4 @@
|
||||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = true;
|
||||
}
|
||||
10
desktop/modules/default.nix
Normal file
10
desktop/modules/default.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./gdm-monitors.nix
|
||||
./packages.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
];
|
||||
}
|
||||
@@ -295,7 +295,6 @@ let
|
||||
in
|
||||
{
|
||||
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}"
|
||||
];
|
||||
}
|
||||
41
desktop/modules/packages.nix
Normal file
41
desktop/modules/packages.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
weylus.enable = true;
|
||||
gamescope.enable = true;
|
||||
noisetorch.enable = true;
|
||||
|
||||
ccache = {
|
||||
enable = true;
|
||||
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 = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-backgroundremoval
|
||||
obs-pipewire-audio-capture
|
||||
obs-vaapi # optional AMD hardware acceleration
|
||||
obs-vaapi
|
||||
obs-gstreamer
|
||||
obs-vkcapture
|
||||
];
|
||||
};
|
||||
|
||||
steam = {
|
||||
dedicatedServer.openFirewall = true;
|
||||
enable = true;
|
||||
extest.enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
protontricks.enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
57
desktop/modules/services.nix
Normal file
57
desktop/modules/services.nix
Normal 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
42
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./flakes/czkawka-master",
|
||||
"path": "./common/flakes/czkawka-master",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./flakes/czkawka-master",
|
||||
"path": "./common/flakes/czkawka-master",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
@@ -19,11 +19,11 @@
|
||||
"czkawka-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1770876278,
|
||||
"narHash": "sha256-8wzQV1Ft0VgNauArgog5wY6OmDq5gKIYF6LKJ8qGq9g=",
|
||||
"lastModified": 1771313751,
|
||||
"narHash": "sha256-0mqQAmaa7N7NgOKUgstRed5Ss6PcbfJzh/vOsS9Dg6c=",
|
||||
"owner": "qarmin",
|
||||
"repo": "czkawka",
|
||||
"rev": "cc4d357238246d9d95867801f9c58773710c009d",
|
||||
"rev": "f665807d2e06b72950e0c0f1857ab9efefc32ac6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -61,11 +61,11 @@
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./flakes/fet",
|
||||
"path": "./common/flakes/fet",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./flakes/fet",
|
||||
"path": "./common/flakes/fet",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
@@ -145,11 +145,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1770841267,
|
||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -161,11 +161,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1770841267,
|
||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -177,11 +177,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1770956962,
|
||||
"narHash": "sha256-dakX5wYFRTckgej29qy//68/DjFsEA/XNYfnltnaDlo=",
|
||||
"lastModified": 1771264603,
|
||||
"narHash": "sha256-iCDYLFNZ2kZdfyDa6praAuPZGnI4TAO6r6pBEXicGqA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c4dbe7e217aa8f06a0e5a76169cc28f5de10b4b",
|
||||
"rev": "2859feb957fc4ef8220705fd5524e770b21d7f7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -193,11 +193,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1770841267,
|
||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -240,11 +240,11 @@
|
||||
"solaar-src": "solaar-src"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./flakes/solaar-master",
|
||||
"path": "./common/flakes/solaar-master",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./flakes/solaar-master",
|
||||
"path": "./common/flakes/solaar-master",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
|
||||
35
flake.nix
35
flake.nix
@@ -1,12 +1,10 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
||||
czkawka-master.url = "path:./flakes/czkawka-master";
|
||||
# czkawka-git.url = "github:qarmin/czkawka?dir=misc/nix";
|
||||
solaar-master.url = "path:./flakes/solaar-master";
|
||||
fet.url = "path:./flakes/fet";
|
||||
czkawka-master.url = "path:./common/flakes/czkawka-master";
|
||||
solaar-master.url = "path:./common/flakes/solaar-master";
|
||||
fet.url = "path:./common/flakes/fet";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -14,22 +12,29 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
nix-flatpak,
|
||||
czkawka-master,
|
||||
solaar-master,
|
||||
fet,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
let
|
||||
specialArgs = { inherit (inputs) czkawka-master solaar-master fet; };
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
epiquev2 = nixpkgs.lib.nixosSystem {
|
||||
inherit specialArgs;
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit czkawka-master;
|
||||
inherit solaar-master;
|
||||
inherit fet;
|
||||
};
|
||||
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
|
||||
];
|
||||
};
|
||||
|
||||
32
laptop/default.nix
Normal file
32
laptop/default.nix
Normal 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";
|
||||
}
|
||||
93
laptop/hardware-configuration.nix
Normal file
93
laptop/hardware-configuration.nix
Normal 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
15
laptop/modules/attic.nix
Normal 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" ];
|
||||
};
|
||||
}
|
||||
10
laptop/modules/default.nix
Normal file
10
laptop/modules/default.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./attic.nix
|
||||
./packages.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
];
|
||||
}
|
||||
6
laptop/modules/packages.nix
Normal file
6
laptop/modules/packages.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
}
|
||||
6
laptop/modules/programs.nix
Normal file
6
laptop/modules/programs.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
}
|
||||
6
laptop/modules/services.nix
Normal file
6
laptop/modules/services.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user