Compare commits

..

60 Commits

Author SHA1 Message Date
5b71825d70 packages.nix: add Blueman 2026-03-24 18:08:11 +01:00
4959baf11c Update FET to 7.8.1 2026-03-23 21:27:56 +01:00
b1eb8d16fc extensions: dash-to-dock:
- enable autohide-in-fullscreen
2026-03-23 21:24:49 +01:00
a4c34f9857 Reformat with alejandra 2026-03-23 21:24:20 +01:00
463ce1c6f9 Readd obsidian 2026-03-23 07:13:43 +01:00
0ce1ea44df Remove obsidian for now
- due to dependency on EOL Electron
2026-03-21 12:13:36 +01:00
ea1f1e4e2c Remove nixfmt 2026-03-16 00:46:07 +01:00
c384c85035 Add quick settings volume mixer 2026-03-15 17:38:05 +01:00
a81caa8e1b Formatter: Switch to alejandra
I like its style better
2026-03-15 17:37:50 +01:00
1f1a76b92d Use nom for laptop build progress
+ add nix-your-shell
2026-03-15 11:08:32 +01:00
d30200f081 Formatting + misc changes 2026-03-12 00:15:38 +01:00
6ff3ca400b Add new justfile options 2026-03-09 15:01:37 +01:00
2af4cbf42b Show venv in prompt if available 2026-03-09 09:18:40 +01:00
87985b6384 Add gemini-cli 2026-03-09 09:18:06 +01:00
84915990f9 Make pio work in vscode 2026-03-05 16:16:23 +01:00
f9a4b97ab2 Update option for systemd sleep 2026-03-04 17:12:37 +01:00
6926a7a9a6 Add theme override for pt
Dark theme messes up the UI
Also update pt
2026-03-04 17:12:12 +01:00
0551560602 Update lock 2026-03-03 17:57:39 +01:00
a7f46adfdf Commonize gdm settings 2026-03-03 17:43:08 +01:00
f2dbee1ee8 Enable gnome location 2026-03-03 15:21:30 +01:00
dbde683d41 Add direnv zsh hook 2026-03-03 15:21:02 +01:00
3e9907c936 Increase minimal perf on battery
it was pretty laggy in battery saver
2026-03-03 14:08:58 +01:00
16b8b699d1 Update zsh, starship config 2026-03-02 18:06:29 +01:00
d8ee1a648d Update prompt 2026-03-02 12:58:21 +01:00
da228b499f Set console, texteditor font size for laptop 2026-03-02 09:51:56 +01:00
7e1c8c167e Remove gnome app list folders
.. finally. Why do they need to be there by default?
2026-03-02 06:47:06 +01:00
db06a663ec Update lockfile 2026-03-02 06:29:30 +01:00
5008192cc9 Add intel codecs 2026-03-02 06:21:29 +01:00
4570081b22 Commonize virt-manager 2026-03-02 06:21:20 +01:00
c08b8b2ae0 Move clion desktop file to hm 2026-03-01 09:12:10 +01:00
6147d3ca27 Fix up justfile.. again 2026-03-01 08:43:43 +01:00
d8ddf42910 Improve prompt, justfile 2026-03-01 08:36:23 +01:00
956ace75b0 Implement home-manager 2026-03-01 08:19:46 +01:00
689efaa75b Update lockfile 2026-02-28 13:44:35 +01:00
59b43a29c7 We small again 2026-02-27 21:48:04 +01:00
db20f6fee1 Switch to unstable for now 2026-02-27 12:41:51 +01:00
2f474c8413 Laptop: Add gnome power monitor 2026-02-27 12:34:38 +01:00
5bcaf7217a Commonize attic 2026-02-26 00:55:05 +01:00
d1e6f5d7af Use new wine pkg 2026-02-26 00:47:04 +01:00
9a0d6d06fe Add geoclue2 2026-02-25 18:12:17 +01:00
777f547501 Fixup suspend-then-hibernate 2026-02-25 01:29:56 +01:00
375ccff408 Add hibernate for laptop 2026-02-25 01:14:42 +01:00
84b57d81b5 Add a desktop file for CLion launched in a dev shell 2026-02-24 23:11:17 +01:00
8b5feff5b5 Add clion 2026-02-24 20:54:47 +01:00
658d722d17 Remove Krita, Anki for now
- Both fail to build
2026-02-24 19:57:48 +01:00
3c14c62256 Update FET to 7.7.7 2026-02-24 07:53:46 +01:00
46db890c53 Add openconnect NM integration 2026-02-23 20:42:09 +01:00
2476dfaa67 Remove solaar-master flake
- nixpkgs ver is new enough now
2026-02-23 20:41:43 +01:00
349ed2e891 Add wine64 2026-02-22 12:17:38 +01:00
8a956aa9a5 Zenmonitor now builds with sytem cc ver 2026-02-20 17:32:40 +01:00
4dbb21fc9e Add bt quick connect extension 2026-02-19 20:53:24 +01:00
41d4d204de decommonize ddcutil ext 2026-02-19 20:44:19 +01:00
21a403c3f4 Add intel monitoring tools 2026-02-19 18:59:21 +01:00
6d39b13483 mucho updato 2026-02-19 18:38:18 +01:00
2fb0e31be8 Acc PacketTracer 2026-02-19 16:16:39 +01:00
e58d0d2ce9 Cleanup + add laptop packages 2026-02-19 15:49:03 +01:00
b7ce19d338 Decommonize OBS 2026-02-19 13:35:32 +01:00
1bed41fad3 Remove unused apps 2026-02-19 00:14:43 +01:00
4231c63c14 Update lock 2026-02-18 23:04:45 +01:00
398fa0f195 Commonize stateVersion 2026-02-18 19:50:56 +01:00
53 changed files with 1079 additions and 449 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
result
*.qcow2

32
Justfile Normal file
View File

@@ -0,0 +1,32 @@
default: switch build-laptop upload clean
vm-desktop:
nix build .#nixosConfigurations.epiquev2.config.system.build.vm
./result/bin/run-epiquev2-vm
vm-laptop:
nix build .#nixosConfigurations.dalaptop.config.system.build.vm
./result/bin/run-dalaptop-vm
build-laptop:
nix build .#nixosConfigurations.dalaptop.config.system.build.toplevel --log-format internal-json |& nom --json
upload:
attic push my-config result
attic push my-config /run/current-system
clean:
rm -rf result
rm -rf *.qcow2
format:
treefmt .
switch:
nh os switch
switch_update:
nh os switch --refresh --update
help:
@just --list

View File

@@ -3,14 +3,14 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
imports = [ imports = [
./modules ./modules
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
documentation.nixos.enable = false;
boot = { boot = {
loader = { loader = {
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
@@ -18,12 +18,19 @@
enable = true; enable = true;
}; };
}; };
consoleLogLevel = 3; consoleLogLevel = 3;
plymouth.enable = true; plymouth.enable = true;
}; };
networking = { networking = {
networkmanager.enable = true; networkmanager = {
enable = true;
plugins = with pkgs; [
networkmanager-openconnect
];
};
firewall.enable = false; firewall.enable = false;
}; };
@@ -54,6 +61,7 @@
sudo.extraConfig = '' sudo.extraConfig = ''
Defaults insults Defaults insults
''; '';
polkit.extraConfig = '' polkit.extraConfig = ''
polkit.addRule(function(action, subject) { polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.unix.manage" && if (action.id == "org.libvirt.unix.manage" &&
@@ -71,6 +79,7 @@
storageDriver = "btrfs"; storageDriver = "btrfs";
enableOnBoot = true; enableOnBoot = true;
}; };
libvirtd = { libvirtd = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
@@ -79,6 +88,7 @@
onBoot = "ignore"; onBoot = "ignore";
}; };
spiceUSBRedirection.enable = true; spiceUSBRedirection.enable = true;
}; };
@@ -94,7 +104,9 @@
"video" "video"
"render" "render"
"input" "input"
"dialout"
]; ];
shell = pkgs.zsh; shell = pkgs.zsh;
#packages = with pkgs; [ ]; #packages = with pkgs; [ ];
}; };
@@ -104,10 +116,12 @@
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
LIBVIRT_DEFAULT_URI = "qemu:///system"; LIBVIRT_DEFAULT_URI = "qemu:///system";
}; };
systemPackages = [ systemPackages = [
pkgs.libheif pkgs.libheif
pkgs.libheif.out pkgs.libheif.out
]; ];
pathsToLink = ["share/thumbnailers"]; pathsToLink = ["share/thumbnailers"];
}; };
@@ -115,7 +129,9 @@
bluetooth = { bluetooth = {
enable = true; enable = true;
package = pkgs.bluez.overrideAttrs (old: { package = pkgs.bluez.overrideAttrs (old: {
configureFlags = old.configureFlags ++ [ configureFlags =
old.configureFlags
++ [
"--enable-sixaxis" "--enable-sixaxis"
]; ];
}); });
@@ -154,6 +170,7 @@
"flakes" "flakes"
"nix-command" "nix-command"
]; ];
warn-dirty = false; warn-dirty = false;
}; };

View File

@@ -7,45 +7,42 @@
url = "github:qarmin/czkawka"; url = "github:qarmin/czkawka";
flake = false; flake = false;
}; };
naersk = { naersk = {
url = "github:nix-community/naersk"; url = "github:nix-community/naersk";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = outputs = {
{
self, self,
nixpkgs, nixpkgs,
czkawka-src, czkawka-src,
naersk, naersk,
}: }: let
let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs {inherit system;}; pkgs = import nixpkgs {inherit system;};
naersk-lib = pkgs.callPackage naersk {}; naersk-lib = pkgs.callPackage naersk {};
nativeBuildInputs = with pkgs; [ nativeBuildInputs = with pkgs; [
pkg-config cargo
cmake cmake
makeWrapper makeWrapper
cargo pkg-config
rustc rustc
]; ];
runtimeLibs = with pkgs; [ runtimeLibs = with pkgs; [
wayland
libxkbcommon
libglvnd
fontconfig fontconfig
libglvnd
libX11 libX11
libXcursor libXcursor
libXi libXi
libxkbcommon
libXrandr libXrandr
wayland
]; ];
in {
in
{
packages.${system}.default = naersk-lib.buildPackage { packages.${system}.default = naersk-lib.buildPackage {
pname = "krokiet"; pname = "krokiet";
version = "master"; version = "master";
@@ -54,8 +51,7 @@
nativeBuildInputs = nativeBuildInputs; nativeBuildInputs = nativeBuildInputs;
buildInputs = runtimeLibs; buildInputs = runtimeLibs;
cargoBuildOptions = cargoBuildOptions = x:
x:
x x
++ [ ++ [
"-p" "-p"

View File

@@ -6,37 +6,34 @@
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
}; };
outputs = outputs = {
{
self, self,
nixpkgs, nixpkgs,
flake-utils, flake-utils,
}: }:
flake-utils.lib.eachDefaultSystem ( flake-utils.lib.eachDefaultSystem (
system: system: let
let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
in in {
{
packages.default = pkgs.stdenv.mkDerivation rec { packages.default = pkgs.stdenv.mkDerivation rec {
pname = "fet"; pname = "fet";
version = "7.7.6"; version = "7.8.1";
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 = "06vvxxl5kza3a2v0fkw6bylavpickk8a5ybgabbhylmi59c1q1ns"; sha256 = "0b0g20mgawpv6pp6b1vh0vhz6rr0193g2irqiclnxxlnf174bcfr";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ nativeBuildInputs = with pkgs; [
pkgs.qt6.qmake copyDesktopItems
pkgs.qt6.wrapQtAppsHook qt6.qmake
pkgs.copyDesktopItems qt6.wrapQtAppsHook
]; ];
buildInputs = [ buildInputs = with pkgs; [
pkgs.qt6.qtbase qt6.qtbase
]; ];
configurePhase = '' configurePhase = ''

View File

@@ -1,70 +0,0 @@
{
description = "Solaar built from GitHub master branch";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
solaar-src = {
url = "github:pwr-Solaar/Solaar/master";
flake = false;
};
};
outputs =
{
self,
nixpkgs,
flake-utils,
solaar-src,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
pythonPackages = pkgs.python3Packages;
in
{
packages.default = pythonPackages.buildPythonApplication rec {
pname = "solaar";
version = "master-${solaar-src.shortRev or "dirty"}";
src = solaar-src;
pyproject = true;
nativeBuildInputs =
with pkgs;
[
gobject-introspection
wrapGAppsHook3
pkg-config
]
++ (with pythonPackages; [
setuptools
wheel
]);
propagatedBuildInputs = with pythonPackages; [
pyudev
psutil
xlib
pyyaml
evdev
dbus-python
pygobject3
typing-extensions
pkgs.gtk3
pkgs.libnotify
pkgs.libayatana-appindicator
];
postInstall = ''
install -Dm644 rules.d/42-logitech-unify-permissions.rules \
$out/lib/udev/rules.d/42-logitech-unify-permissions.rules
'';
doCheck = false;
};
}
);
}

View File

@@ -1,8 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}:
{
boot = { boot = {
kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;

View File

@@ -1,7 +1,4 @@
{ {...}: {
...
}:
{
nix.settings = { nix.settings = {
substituters = [ substituters = [
"https://attic.awroo.fun/my-config" "https://attic.awroo.fun/my-config"

View File

@@ -1,7 +1,6 @@
{ ... }: {...}: {
{
imports = [ imports = [
./attic.nix
./flatpak.nix ./flatpak.nix
./gnome.nix ./gnome.nix
./packages.nix ./packages.nix

View File

@@ -3,9 +3,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
services.flatpak = { services.flatpak = {
enable = true; enable = true;
update.auto.enable = true; update.auto.enable = true;

View File

@@ -3,9 +3,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
environment = { environment = {
gnome.excludePackages = with pkgs; [ gnome.excludePackages = with pkgs; [
decibels decibels
@@ -18,6 +16,7 @@
gnome-music gnome-music
gnome-software gnome-software
gnome-system-monitor gnome-system-monitor
showtime
snapshot snapshot
totem totem
yelp yelp
@@ -26,17 +25,20 @@
systemPackages = with pkgs.gnomeExtensions; [ systemPackages = with pkgs.gnomeExtensions; [
alphabetical-app-grid alphabetical-app-grid
appindicator appindicator
bluetooth-quick-connect
blur-my-shell blur-my-shell
control-monitor-brightness-and-volume-with-ddcutil
bubblemail bubblemail
caffeine
color-picker color-picker
dash-to-dock dash-to-dock
# favorites-to-applications-grid
middle-click-to-close-in-overview middle-click-to-close-in-overview
quick-settings-audio-panel
solaar-extension
undecorate undecorate
user-themes user-themes
window-is-ready-remover window-is-ready-remover
solaar-extension
]; ];
}; };
services.gnome.gnome-keyring.enable = true;
} }

View File

@@ -0,0 +1,27 @@
{lib, ...}: {
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
"org/gnome/Console" = {
custom-font = lib.mkDefault "FiraCode Nerd Font 11";
use-system-font = false;
};
"org/gnome/TextEditor" = {
custom-font = lib.mkDefault "Fira Code Nerd Font weight=450 11";
use-system-font = false;
};
"org/gnome/nautilus/preferences" = {
default-folder-viewer = "icon-view";
migrated-gtk-settings = true;
recursive-search = "always";
search-filter-time-type = "last_modified";
show-directory-item-counts = "always";
show-image-thumbnails = "always";
};
};
}

View File

@@ -0,0 +1,13 @@
{...}: {
imports = [
./apps.nix
./extensions.nix
./gnome.nix
];
dconf.settings = {
"system/locale" = {
region = "cs_CZ.UTF-8";
};
};
}

View File

@@ -0,0 +1,167 @@
{lib, ...}: {
dconf.settings = {
"org/gnome/shell/extensions/user-theme" = {
name = "Flat-Remix-Darkest-fullPanel";
};
"org/gnome/shell/extensions/thanatophobia" = {
year = 2004;
month = 11;
day = 23;
hour = 12;
minute = 0;
sex = 1;
expectancy = 74.11;
rounding = 7;
country = "CZE";
countdown = 0;
};
"org/gnome/shell/extensions/appindicator" = {
icon-brightness = 0.0;
icon-contrast = 0.0;
icon-opacity = 240;
icon-saturation = 0.0;
icon-size = 0;
legacy-tray-enabled = true;
};
"org/gnome/shell/extensions/dash-to-dock" = {
apply-custom-theme = false;
autohide-in-fullscreen = true;
background-color = "rgb(0,0,0)";
background-opacity = 0.8;
click-action = "skip";
custom-background-color = true;
custom-theme-shrink = true;
customize-alphas = true;
dash-max-icon-size = 28;
dock-fixed = false;
dock-position = "BOTTOM";
extend-height = false;
height-fraction = 0.9;
hide-tooltip = false;
intellihide-mode = "ALL_WINDOWS";
isolate-workspaces = true;
max-alpha = 0.4;
middle-click-action = "launch";
min-alpha = 0.05;
preferred-monitor = -2;
preview-size-scale = 0.5;
running-indicator-style = "DOTS";
scroll-action = "cycle-windows";
shift-click-action = "minimize";
shift-middle-click-action = "launch";
show-apps-at-top = true;
show-mounts-network = true;
transparency-mode = "DYNAMIC";
};
"org/gnome/shell/extensions/bluetooth-quick-connect" = {
show-battery-value-on = true;
};
"org/gnome/shell/extensions/blur-my-shell" = {
settings-version = 2;
pipelines = lib.hm.gvariant.mkValue ''
{
'pipeline_default': {
'name': <'Default'>,
'effects': <[
{
'type': <'native_static_gaussian_blur'>,
'id': <'effect_27049338116840'>,
'params': <@a{sv} {}>
},
{
'type': <'noise'>,
'id': <'effect_90950561821691'>,
'params': <{'lightness': <0.64>, 'noise': <0.25>}>
}
]>
},
'pipeline_default_rounded': {
'name': <'Default rounded'>,
'effects': <[
{
'type': <'native_static_gaussian_blur'>,
'id': <'effect_000000000001'>,
'params': <{'radius': <30>, 'brightness': <0.6>}>
},
{
'type': <'corner'>,
'id': <'effect_000000000002'>,
'params': <{'radius': <24>}>
}
]>
}
}
'';
};
"org/gnome/shell/extensions/blur-my-shell/appfolder" = {
brightness = 0.6;
sigma = 30;
};
"org/gnome/shell/extensions/blur-my-shell/applications" = {
blur = false;
brightness = 1.0;
opacity = 217;
whitelist = ["org.gnome.Console"];
};
"org/gnome/shell/extensions/blur-my-shell/coverflow-alt-tab" = {
blur = false;
pipeline = "pipeline_default";
};
"org/gnome/shell/extensions/blur-my-shell/dash-to-dock" = {
blur = false;
brightness = 0.6;
pipeline = "pipeline_default_rounded";
sigma = 30;
static-blur = false;
style-dash-to-dock = 0;
};
"org/gnome/shell/extensions/blur-my-shell/lockscreen" = {
pipeline = "pipeline_default";
};
"org/gnome/shell/extensions/blur-my-shell/overview" = {
pipeline = "pipeline_default";
style-components = 2;
};
"org/gnome/shell/extensions/blur-my-shell/panel" = {
brightness = 0.6;
force-light-text = false;
pipeline = "pipeline_default";
sigma = 30;
static-blur = false;
};
"org/gnome/shell/extensions/blur-my-shell/screenshot" = {
pipeline = "pipeline_default";
};
"org/gnome/shell/extensions/blur-my-shell/window-list" = {
brightness = 0.6;
sigma = 30;
};
"org/gnome/shell/extensions/bubblemail" = {
newest-first = true;
};
"org/gnome/shell/extensions/quick-settings-audio-panel" = {
create-applications-volume-sliders = true;
create-balance-slider = false;
create-mpris-controllers = false;
create-perdevice-volume-sliders = false;
group-applications-volume-sliders = true;
panel-type = "merged-panel";
};
};
}

View File

@@ -0,0 +1,102 @@
{lib, ...}: {
dconf.settings = {
"org/gnome/desktop/interface" = {
accent-color = "red";
clock-format = "24h";
clock-show-seconds = true;
color-scheme = "prefer-dark";
cursor-size = 24;
cursor-theme = "Bibata-Modern-Classic";
font-antialiasing = "grayscale";
font-hinting = "slight";
gtk-theme = "Flat-Remix-GTK-Red-Darkest";
icon-theme = "Papirus-Dark";
show-battery-percentage = true;
toolkit-accessibility = true;
overlay-scrolling = true;
};
"org/gnome/desktop/peripherals/mouse" = {
accel-profile = "flat";
natural-scroll = false;
};
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
};
"org/gnome/desktop/background" = {
picture-options = "zoom";
picture-uri = "file:///home/jax/.config/background";
picture-uri-dark = "file:///home/jax/.config/background";
};
"org/gnome/desktop/wm/keybindings" = {
move-to-workspace-left = ["<Shift><Control><Super>Left"];
move-to-workspace-right = ["<Shift><Control><Super>Right"];
switch-to-workspace-left = ["<Control><Super>Left"];
switch-to-workspace-right = ["<Control><Super>Right"];
switch-windows = ["<Alt>Tab"];
switch-windows-backward = ["<Shift><Alt>Tab"];
toggle-fullscreen = ["<Super>F11"];
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,close";
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = lib.mkBefore [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Control><Alt>t";
command = "kgx";
name = "Terminal";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Super>e";
command = "nautilus";
name = "Filus Managus";
};
"org/gnome/mutter" = {
attach-modal-dialogs = false;
experimental-features = [
"scale-monitor-framebuffer"
"variable-refresh-rate"
"xwayland-native-scaling"
];
};
"org/gnome/shell" = {
disable-user-extensions = false;
favorite-apps = [
"vesktop.desktop"
"org.gnome.Nautilus.desktop"
"steam.desktop"
"firefox.desktop"
"org.telegram.desktop.desktop"
"org.gnome.Console.desktop"
"io.missioncenter.MissionCenter.desktop"
"tidal-hifi.desktop"
];
};
"org/gnome/desktop/app-folders" = {
folder-children = [];
};
"org/gnome/desktop/datetime" = {
automatic-timezone = true;
};
"org/gnome/system/location" = {
enabled = true;
};
};
}

View File

@@ -0,0 +1,12 @@
{...}: {
imports = [
./dconf
./desktop-files.nix
./starship.nix
./zsh.nix
];
xdg.enable = true;
home.stateVersion = "25.05";
}

View File

@@ -0,0 +1,31 @@
{
config,
pkgs,
...
}: {
xdg.dataFile."applications/clion.desktop".text = ''
[Desktop Entry]
Type=Application
Name=CLion (Nix Shell)
GenericName=C/C++ IDE from JetBrains
Exec=sh -c "nix develop ${config.xdg.configHome}/nix-shells/cpp -c clion %f"
Icon=clion
Terminal=false
Categories=Development;IDE;
StartupWMClass=jetbrains-clion
MimeType=text/x-c++src;text/x-c++hdr;text/x-csrc;text/x-chdr;
'';
xdg.dataFile."applications/cisco-packet-tracer-9.desktop".text = ''
[Desktop Entry]
StartupWMClass=PacketTracer
Name=Cisco Packet Tracer 9.0.0
Type=Application
Categories=Education;
Exec=env QT_STYLE_OVERRIDE=adwaita packettracer9 %f
Icon=cisco-packet-tracer-9
Terminal=false
StartupNotify=true
MimeType=application/x-pkt;application/x-pka;application/x-pkz;application/x-pks;application/x-pksz;
'';
}

View File

@@ -0,0 +1,102 @@
{lib, ...}: {
programs.starship = {
enable = true;
settings = {
format = lib.concatStrings [
"$hostname"
"\${custom.distrobox}"
"$nix_shell"
"$python"
"$nodejs"
"$rust"
"$golang"
"$php"
"[](fg:#000000)"
"[](#FFFFFF)"
"[ 🐺 ](bg:#FFFFFF fg:#1E91D6)"
"[](bg:#0072BB fg:#FFFFFF)"
"$directory"
"[](fg:#0072BB bg:#E18335)"
"$git_branch"
"$git_status"
"[](fg:#E18335 bg:#061A40)"
"$time"
"[ ](fg:#061A40)"
"\n$character"
];
hostname = {
ssh_only = true;
format = "[](fg:#1E91D6)[󰒍 $hostname](bg:#1E91D6 fg:#FFFFFF)[](fg:#1E91D6) ";
};
custom.distrobox = {
when = "printenv CONTAINER_ID";
command = "echo $CONTAINER_ID";
symbol = "󰙀";
format = "[](fg:#FF5F00)[$symbol $output](bg:#FF5F00 fg:#FFFFFF)[](fg:#FF5F00) ";
};
nix_shell = {
symbol = "";
format = "[](fg:#7EBAE4)[$symbol $state](bg:#7EBAE4 fg:#061A40)[](fg:#7EBAE4) ";
};
python = {
symbol = "󰌠";
format = "[](fg:#4B8BBE)[$symbol $virtualenv $version](bg:#4B8BBE fg:#FFFFFF)[](fg:#4B8BBE) ";
};
nodejs = {
symbol = "󰎙";
format = "[](fg:#68A063)[$symbol $version](bg:#68A063 fg:#FFFFFF)[](fg:#68A063) ";
};
rust = {
symbol = "";
format = "[](fg:#CE412B)[$symbol $version](bg:#CE412B fg:#FFFFFF)[](fg:#CE412B) ";
};
golang = {
symbol = "󰟓";
format = "[](fg:#00ADD8)[$symbol $version](bg:#00ADD8 fg:#FFFFFF)[](fg:#00ADD8) ";
};
php = {
symbol = "󰌟";
format = "[](fg:#8892BF)[$symbol $version](bg:#8892BF fg:#FFFFFF)[](fg:#8892BF) ";
};
directory = {
style = "fg:#e3e5e5 bg:#0072BB";
format = "[ $path ]($style)";
truncation_length = 3;
substitutions = {
"Documents" = "󰈙 ";
"Downloads" = "󰇚 ";
"Music" = "󰝚 ";
"Pictures" = "󰙏 ";
};
};
git_branch = {
symbol = "󰊢";
format = "[ $symbol $branch ](fg:#0072BB bg:#E18335)";
};
git_status = {
format = "[ $all_status$ahead_behind ](fg:#0072BB bg:#E18335)";
};
time = {
disabled = false;
format = "[ 󰥔 $time ](fg:#a0a9cb bg:#061A40)";
};
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
}

View File

@@ -0,0 +1,85 @@
{config, ...}: {
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
dotDir = "${config.xdg.configHome}/zsh";
oh-my-zsh = {
enable = true;
theme = "robbyrussell";
plugins = [
"git"
"docker"
"docker-compose"
"sudo"
"vscode"
"z"
"colorize"
];
};
shellAliases = {
adbauto = "adbauto_";
adbpair = "adbpair_";
};
sessionVariables = {
LIBVIRT_DEFAULT_URI = "qemu:///system";
ZSH_AUTOSUGGEST_STRATEGY = [
"history"
"completion"
];
};
initContent = ''
zstyle ':completion:*' completer _complete _match _approximate
zstyle ':completion:*:approximate:*' max-errors 1 numeric
zstyle ':completion:*' menu select
zstyle ':completion:*' list-colors "''${(s.:.)LS_COLORS}"
zstyle ':completion:*:(scp|rsync):*' tag-order ' hosts:-ipaddr:ip\ address hosts:-host:host files'
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
zstyle ':completion:*' matcher-list "" 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' '+l:|?=** r:|?=**'
# Path Management
export PATH="$HOME/.local/bin:/usr/local/LinkServer/:$PATH"
# Dart Completion
[[ -f /home/jax/.dart-cli-completion/zsh-config.zsh ]] && . /home/jax/.dart-cli-completion/zsh-config.zsh || true
if command -v nix-your-shell > /dev/null; then
nix-your-shell zsh | source /dev/stdin
fi
adbauto_() {
local PORT=$(avahi-browse -rt _adb-tls-connect._tcp -p | grep '^=' | cut -d';' -f8,9 | head -n 1 | sed 's/;/ /' | awk '{print $2}')
local IP=$(avahi-browse -rt _adb-tls-connect._tcp -p | grep '^=' | cut -d';' -f8,9 | head -n 1 | sed 's/;/ /' | awk '{print $1}')
if [ -z "$PORT" ]; then
echo "No Wireless ADB service found. Is Wireless Debugging on?"
else
echo "Connecting to $IP:$PORT..."
adb connect $IP:$PORT
fi
}
adbpair_() {
echo "Looking for Android pairing service..."
local SERVICE=$(avahi-browse -rt _adb-tls-pairing._tcp -p | grep '^=' | head -n 1)
if [ -z "$SERVICE" ]; then
echo "Error: Pairing service not found. Make sure 'Pair device with pairing code' is open on your phone."
return 1
fi
local IP=$(echo "$SERVICE" | cut -d';' -f8)
local PORT=$(echo "$SERVICE" | cut -d';' -f9)
echo "Found device at $IP:$PORT"
adb pair "$IP:$PORT"
}
'';
};
programs.starship.enable = true;
}

View File

@@ -6,14 +6,13 @@
solaar-master, solaar-master,
fet, fet,
... ...
}: }: {
{
nixpkgs = { nixpkgs = {
config = { config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ permittedInsecurePackages = [
"ventoy-gtk3-1.1.10" "ventoy-gtk3-1.1.10"
"cisco-packet-tracer_9"
]; ];
}; };
overlays = [ overlays = [
@@ -22,25 +21,19 @@
buildInputs = buildInputs =
nprev.buildInputs nprev.buildInputs
++ (with pkgs.gst_all_1; [ ++ (with pkgs.gst_all_1; [
gst-plugins-good
gst-plugins-bad gst-plugins-bad
gst-plugins-ugly
gst-plugins-base gst-plugins-base
gst-plugins-good
gst-plugins-ugly
]); ]);
}); });
}) })
(final: prev: {
zenmonitor = prev.zenmonitor.overrideAttrs (oldAttrs: {
env = (oldAttrs.env or { }) // {
NIX_CFLAGS_COMPILE = "-std=gnu17";
};
});
})
]; ];
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
abootimg abootimg
alejandra
android-tools android-tools
anki anki
appstream appstream
@@ -56,21 +49,20 @@
btrfs-progs btrfs-progs
bubblemail bubblemail
bzip2 bzip2
cisco-packet-tracer_9
curl curl
fet.packages.${pkgs.stdenv.hostPlatform.system}.default
ddcutil ddcutil
discord discord
distrobox distrobox
docker-buildx docker-buildx
docker-compose docker-compose
dog
element-desktop element-desktop
eza eza
fet.packages.${pkgs.stdenv.hostPlatform.system}.default
ffmpeg-full ffmpeg-full
ffmpegthumbnailer ffmpegthumbnailer
file file
file-roller file-roller
firmware-manager
flat-remix-gnome flat-remix-gnome
flat-remix-gtk flat-remix-gtk
flatpak-xdg-utils flatpak-xdg-utils
@@ -78,6 +70,7 @@
fuse fuse
fuse3 fuse3
fwupd fwupd
gemini-cli
gimp gimp
gnome-tweaks gnome-tweaks
gnome.gvfs gnome.gvfs
@@ -98,16 +91,17 @@
iftop iftop
inkscape inkscape
iotop iotop
jetbrains.clion
jq jq
just
killall killall
kooha
krita
libgsf libgsf
libnotify libnotify
libreoffice libreoffice-fresh
libsForQt5.qtstyleplugins libsForQt5.qtstyleplugins
linux-firmware linux-firmware
lm_sensors lm_sensors
logitech-udev-rules
lrzip lrzip
lsof lsof
lz4 lz4
@@ -117,12 +111,13 @@
mesa-demos mesa-demos
mission-center mission-center
ncdu ncdu
networkmanager-openconnect
nil nil
nixfmt nix-output-monitor
nix-your-shell
ntfs3g ntfs3g
nufraw-thumbnailer nufraw-thumbnailer
obsidian obsidian
openrgb-with-all-plugins
papirus-icon-theme papirus-icon-theme
pbzip2 pbzip2
pciutils pciutils
@@ -131,15 +126,14 @@
poppler-utils poppler-utils
prismlauncher-unwrapped prismlauncher-unwrapped
protonup-qt protonup-qt
pulseaudio
rquickshare rquickshare
saber saber
solaar-master.packages.${pkgs.stdenv.hostPlatform.system}.default
logitech-udev-rules
scrcpy scrcpy
screen screen
seafile-client seafile-client
smartmontools smartmontools
starship solaar
sushi sushi
telegram-desktop telegram-desktop
testdisk testdisk
@@ -148,6 +142,8 @@
tldr tldr
trash-cli trash-cli
tree tree
treefmt
tumbler
unrar unrar
unzip unzip
usbutils usbutils
@@ -155,26 +151,29 @@
vesktop vesktop
vkbasalt vkbasalt
vlc vlc
vscode-fhs (vscode.fhsWithPackages (
ps:
with ps; [
python3
zlib
gcc
gnumake
]
))
webp-pixbuf-loader webp-pixbuf-loader
wev wev
wget wget
which which
wine wineWow64Packages.waylandFull
wireshark wireshark
tumbler
xz xz
yt-dlp yt-dlp
zip zip
zram-generator zram-generator
zsh-autosuggestions
zsh-completions
zsh-history-substring-search
zsh-syntax-highlighting
zstd zstd
zulu zulu
zulu8
zulu17 zulu17
zulu8
]; ];
fonts = { fonts = {

View File

@@ -3,13 +3,47 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
programs = { programs = {
bat.enable = true; dconf.profiles.gdm.databases = [
{
settings = {
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
remember-numlock-state = true;
};
"org/gnome/desktop/peripherals/mouse" = {
speed-profile = "flat";
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
gtk-theme = "Flat-Remix-GTK-Red-Darkest";
icon-theme = "Papirus-Dark";
cursor-theme = "Bibata-Modern-Classic";
clock-format = "24h";
};
"org/gnome/shell/portal" = {
color-scheme = "prefer-dark";
};
};
}
];
appimage = {
enable = true;
binfmt = true;
};
fuse = {
enable = true;
};
zsh.enable = true; zsh.enable = true;
gamemode.enable = true; gamemode.enable = true;
firefox = { firefox = {
enable = true; enable = true;
languagePacks = [ languagePacks = [
@@ -19,8 +53,14 @@
]; ];
}; };
direnv = {
enable = true;
enableZshIntegration = true;
};
weylus.enable = true; weylus.enable = true;
gamescope.enable = true; gamescope.enable = true;
virt-manager.enable = true;
git = { git = {
enable = true; enable = true;

View File

@@ -3,14 +3,16 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
services = { services = {
sshd.enable = true; sshd.enable = true;
displayManager.gdm.enable = true; displayManager.gdm.enable = true;
desktopManager.gnome.enable = true; desktopManager.gnome.enable = true;
blueman.enable = true;
geoclue2.enable = true;
xserver = { xserver = {
enable = true; enable = true;
excludePackages = with pkgs; [ excludePackages = with pkgs; [
@@ -67,7 +69,7 @@
btrfs = { btrfs = {
autoScrub = { autoScrub = {
enable = true; enable = lib.any (fs: fs.fsType == "btrfs") (lib.attrValues config.fileSystems);
interval = "monthly"; interval = "monthly";
}; };
}; };
@@ -78,5 +80,10 @@
}; };
fwupd.enable = true; fwupd.enable = true;
udev.packages = with pkgs; [
platformio-core.udev
openocd
];
}; };
} }

View File

@@ -3,9 +3,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./modules ./modules
@@ -65,6 +63,4 @@
amdgpu.opencl.enable = true; amdgpu.opencl.enable = true;
}; };
system.stateVersion = "25.05";
} }

View File

@@ -7,9 +7,7 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: }: {
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@@ -38,6 +36,7 @@
]; ];
blacklistedKernelModules = ["k10temp"]; blacklistedKernelModules = ["k10temp"];
kernelParams = [ kernelParams = [
"amdgpu.seamless=1" "amdgpu.seamless=1"
"rd.udev.log_priority=3" "rd.udev.log_priority=3"
@@ -95,7 +94,6 @@
"compress=zstd:10" "compress=zstd:10"
"autodefrag" "autodefrag"
]; ];
}; };
fileSystems."/var" = { fileSystems."/var" = {

View File

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

View File

@@ -0,0 +1,7 @@
{
config,
pkgs,
lib,
...
}: {
}

View File

@@ -3,9 +3,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: let
let
gdmMonitorsXml = pkgs.writeText "gdm-monitor.xml" '' gdmMonitorsXml = pkgs.writeText "gdm-monitor.xml" ''
<monitors version="2"> <monitors version="2">
<configuration> <configuration>
@@ -292,8 +290,7 @@ let
</configuration> </configuration>
</monitors> </monitors>
''; '';
in in {
{
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}" "L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}"
]; ];

12
desktop/modules/gnome.nix Normal file
View File

@@ -0,0 +1,12 @@
{
config,
pkgs,
lib,
...
}: {
environment = {
systemPackages = with pkgs.gnomeExtensions; [
control-monitor-brightness-and-volume-with-ddcutil
];
};
}

View File

@@ -0,0 +1,3 @@
{...}: {
dconf.settings = {};
}

View File

@@ -0,0 +1,7 @@
{...}: {
imports = [
./apps.nix
./extensions.nix
./gnome.nix
];
}

View File

@@ -0,0 +1,3 @@
{...}: {
dconf.settings = {};
}

View File

@@ -0,0 +1,22 @@
{lib, ...}: {
dconf.settings = {
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = lib.mkAfter [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/"
];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
binding = "<Shift><Control><Alt>Home";
command = "ddcutil setvcp 10 + 10";
name = "Bright Up";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = {
binding = "<Shift><Control><Alt>End";
command = "ddcutil setvcp 10 - 10";
name = "Bright Down";
};
};
}

View File

@@ -0,0 +1,5 @@
{...}: {
imports = [
./dconf
];
}

View File

@@ -3,12 +3,8 @@
pkgs, pkgs,
lib, lib,
czkawka-master, czkawka-master,
solaar-master,
fet,
... ...
}: }: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
amdgpu_top amdgpu_top
arch-install-scripts arch-install-scripts
@@ -17,25 +13,11 @@
fahclient fahclient
lact lact
nvtopPackages.amd nvtopPackages.amd
openrgb-with-all-plugins
radeontop radeontop
rocmPackages.rocm-smi rocmPackages.rocm-smi
rocmPackages.rocminfo rocmPackages.rocminfo
swtpm swtpm
zenmonitor 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

@@ -3,45 +3,8 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
programs = { programs = {
dconf.profiles.gdm.databases = [
{
settings = {
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
remember-numlock-state = true;
};
"org/gnome/desktop/peripherals/mouse" = {
speed-profile = "flat";
speed = -0.5;
};
"org/gnome/desktop/peripherals/touchpad" = {
speed-profile = "flat";
speed = -0.5;
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
gtk-theme = "Flat-Remix-GTK-Red-Darkest";
icon-theme = "Papirus-Dark";
cursor-theme = "Bibata-Modern-Classic";
clock-format = "24h";
};
"org/gnome/shell/portal" = {
color-scheme = "prefer-dark";
};
};
}
];
virt-manager.enable = true;
ccache = { ccache = {
enable = true; enable = true;
cacheDir = "/media/data/.ccache"; cacheDir = "/media/data/.ccache";
@@ -50,12 +13,12 @@
obs-studio = { obs-studio = {
enable = true; enable = true;
plugins = with pkgs.obs-studio-plugins; [ plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval obs-backgroundremoval
obs-gstreamer
obs-pipewire-audio-capture obs-pipewire-audio-capture
obs-vaapi obs-vaapi
obs-gstreamer
obs-vkcapture obs-vkcapture
wlrobs
]; ];
}; };
}; };

View File

@@ -3,9 +3,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
zram-generator zram-generator
]; ];

21
desktop/modules/vm.nix Normal file
View File

@@ -0,0 +1,21 @@
{lib, ...}: {
virtualisation.vmVariant = {
virtualisation = {
memorySize = 8192;
cores = 4;
graphics = true;
diskSize = 20 * 1024;
qemu.options = [
"-device virtio-vga-gl"
"-display gtk,gl=on"
"-cpu host"
];
};
users.users.jax.password = "nixos";
services.displayManager.autoLogin = {
enable = true;
user = "jax";
};
};
}

112
flake.lock generated
View File

@@ -19,11 +19,11 @@
"czkawka-src": { "czkawka-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1771313751, "lastModified": 1774297847,
"narHash": "sha256-0mqQAmaa7N7NgOKUgstRed5Ss6PcbfJzh/vOsS9Dg6c=", "narHash": "sha256-iEgM0Wjhyy2H6HxnqY7YDAHiuDIUaw5rmsE1Zsij/nk=",
"owner": "qarmin", "owner": "qarmin",
"repo": "czkawka", "repo": "czkawka",
"rev": "f665807d2e06b72950e0c0f1857ab9efefc32ac6", "rev": "7680c07130f7bbfb5019e328362eaaebdce7aece",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -88,21 +88,23 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": { "home-manager": {
"inputs": { "inputs": {
"systems": "systems_2" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1774371786,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "narHash": "sha256-ag1HUJv0SDBqKAYxwWlvAE2gBsEk3XYFvWtmdAHFz7E=",
"owner": "numtide", "owner": "nix-community",
"repo": "flake-utils", "repo": "home-manager",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "rev": "b8cb89f2c4f7006b17b4aa5d8b39b95b93b559d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "nix-community",
"repo": "flake-utils", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
@@ -145,11 +147,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1771008912, "lastModified": 1774106199,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", "narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa", "rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -161,11 +163,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1771008912, "lastModified": 1774106199,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", "narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa", "rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -177,11 +179,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1771353015, "lastModified": 1774321912,
"narHash": "sha256-gvMwFEdFCM2zFxLVDaAbhV2N9zK0IW/RceBundHUdZs=", "narHash": "sha256-Nna0UkHU2xmhyx0VAel4DDdwpAlA70ZgzAtOD4m3Pc8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "931ef4db402cdab9dfe66fe4a2b01d50f6fe435d", "rev": "b0d3faa43b2bd4cc22fdf98ee00cac4f2f47ac8a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -191,29 +193,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1771008912,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"czkawka-master": "czkawka-master", "czkawka-master": "czkawka-master",
"fet": "fet", "fet": "fet",
"home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3"
"solaar-master": "solaar-master"
} }
}, },
"rust-analyzer-src": { "rust-analyzer-src": {
@@ -233,39 +219,6 @@
"type": "github" "type": "github"
} }
}, },
"solaar-master": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_4",
"solaar-src": "solaar-src"
},
"locked": {
"path": "./common/flakes/solaar-master",
"type": "path"
},
"original": {
"path": "./common/flakes/solaar-master",
"type": "path"
},
"parent": []
},
"solaar-src": {
"flake": false,
"locked": {
"lastModified": 1770306649,
"narHash": "sha256-IEGTggLf2UzXAqCZQm4R0ogohQJHm+sKXEnJJVhM1r8=",
"owner": "pwr-Solaar",
"repo": "Solaar",
"rev": "42e0e391b525695a3c959351df48c92e8171585c",
"type": "github"
},
"original": {
"owner": "pwr-Solaar",
"ref": "master",
"repo": "Solaar",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -280,21 +233,6 @@
"repo": "default", "repo": "default",
"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"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -2,22 +2,24 @@
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";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
czkawka-master.url = "path:./common/flakes/czkawka-master"; czkawka-master.url = "path:./common/flakes/czkawka-master";
solaar-master.url = "path:./common/flakes/solaar-master";
fet.url = "path:./common/flakes/fet"; fet.url = "path:./common/flakes/fet";
}; };
outputs = outputs = {
{
self, self,
nixpkgs, nixpkgs,
nix-flatpak, nix-flatpak,
home-manager,
... ...
}@inputs: } @ inputs: let
let specialArgs = {inherit (inputs) czkawka-master fet;};
specialArgs = { inherit (inputs) czkawka-master solaar-master fet; }; in {
in
{
nixosConfigurations = { nixosConfigurations = {
epiquev2 = nixpkgs.lib.nixosSystem { epiquev2 = nixpkgs.lib.nixosSystem {
inherit specialArgs; inherit specialArgs;
@@ -26,6 +28,20 @@
./common ./common
./desktop ./desktop
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.jax = {
imports = [
./common/modules/home
./desktop/modules/home
];
};
};
}
]; ];
}; };
@@ -36,6 +52,19 @@
./common ./common
./laptop ./laptop
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.jax = {
imports = [
./common/modules/home
./laptop/modules/home
];
};
};
}
]; ];
}; };
}; };

View File

@@ -3,9 +3,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./modules ./modules
@@ -26,7 +24,13 @@
}; };
}; };
}; };
};
system.stateVersion = "25.05"; graphics = {
enable = true;
extraPackages = with pkgs; [
vaapi-intel-hybrid
vpl-gpu-rt
];
};
};
} }

View File

@@ -7,9 +7,7 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: }: {
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@@ -23,11 +21,13 @@
"uas" "uas"
"sd_mod" "sd_mod"
]; ];
kernelModules = []; kernelModules = [];
}; };
kernelModules = ["kvm-intel"]; kernelModules = ["kvm-intel"];
extraModulePackages = []; extraModulePackages = [];
resumeDevice = "/dev/disk/by-uuid/bea07563-dc23-415b-b12f-ba53138bd492";
kernelParams = [ kernelParams = [
"snd_hda_intel.power_save=1" "snd_hda_intel.power_save=1"
@@ -109,7 +109,6 @@
options = [ options = [
"defaults" "defaults"
]; ];
} }
]; ];

View File

@@ -1,8 +1,7 @@
{ ... }: {...}: {
{
imports = [ imports = [
./attic.nix ./flatpak.nix
./gnome.nix
./packages.nix ./packages.nix
./programs.nix ./programs.nix
./services.nix ./services.nix

View File

@@ -0,0 +1,7 @@
{
config,
pkgs,
lib,
...
}: {
}

11
laptop/modules/gnome.nix Normal file
View File

@@ -0,0 +1,11 @@
{
config,
pkgs,
lib,
...
}: {
environment = {
systemPackages = with pkgs.gnomeExtensions; [
];
};
}

View File

@@ -0,0 +1,13 @@
{...}: {
dconf.settings = {
"org/gnome/Console" = {
custom-font = "FiraCode Nerd Font Mono 11";
use-system-font = false;
};
"org/gnome/TextEditor" = {
custom-font = "Fira Code weight=450 11";
use-system-font = false;
};
};
}

View File

@@ -0,0 +1,7 @@
{...}: {
imports = [
./apps.nix
./extensions.nix
./gnome.nix
];
}

View File

@@ -0,0 +1,3 @@
{...}: {
dconf.settings = {};
}

View File

@@ -0,0 +1,10 @@
{...}: {
dconf.settings = {
"org/gnome/desktop/peripherals/touchpad" = {
click-method = "areas";
disable-while-typing = true;
speed = 0.19548872180451138;
two-finger-scrolling-enabled = true;
};
};
}

View File

@@ -0,0 +1,5 @@
{...}: {
imports = [
./dconf
];
}

View File

@@ -1,6 +1,13 @@
{ {
config,
pkgs,
lib,
... ...
}: }: {
{ environment.systemPackages = with pkgs; [
btop
gnome-power-manager
intel-gpu-tools
nvtopPackages.intel
];
} }

View File

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

View File

@@ -1,18 +1,51 @@
{ {pkgs, ...}: {
... services.thermald.enable = true;
}:
{
services.thermald.enable = true; # Prevents overheating/throttling
services.power-profiles-daemon.enable = false; services.power-profiles-daemon.enable = false;
services.tlp = { services.tlp = {
enable = true; enable = true;
pd.enable = true;
settings = { settings = {
TLP_AUTO_SWITCH = 1;
CPU_DRIVER_OPMODE_ON_AC = "active";
CPU_DRIVER_OPMODE_ON_BAT = "active";
CPU_DRIVER_OPMODE_ON_SAV = "active";
CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power"; CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance"; CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance";
CPU_MIN_PERF_ON_BAT = 0; CPU_MIN_PERF_ON_BAT = 15;
CPU_MAX_PERF_ON_BAT = 80; CPU_MAX_PERF_ON_BAT = 80;
WIFI_PWR_ON_AC = "off";
WIFI_PWR_ON_BAT = "on";
MEM_SLEEP_ON_BAT = "deep";
};
};
services.logind = {
settings = {
Login = {
HandleLidSwitch = "suspend-then-hibernate";
HandleLidSwitchExternalPower = "suspend";
HandleLidSwitchDocked = "ignore";
};
};
};
systemd.sleep.settings.Sleep = {
HibernateDelaySec = "5min";
};
systemd.services.disable-problematic-wakeup = {
description = "Disable only specific noisy wakeup sources";
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.bash}/bin/bash -c 'for device in XHC RP09 RP10 RP13; do if grep -q \"$device.*enabled\" /proc/acpi/wakeup; then echo $device > /proc/acpi/wakeup; fi; done'";
}; };
}; };
} }

3
treefmt.toml Normal file
View File

@@ -0,0 +1,3 @@
[formatter.nix]
command = "alejandra"
includes = ["*.nix"]