refactor some modules

This commit is contained in:
2025-11-03 20:39:12 +00:00
parent b444354e05
commit 8bc5b9d786
9 changed files with 402 additions and 329 deletions

View File

@@ -11,6 +11,7 @@ in
{ {
imports = [ imports = [
../../modules ../../modules
../../modules/profiles/physical
../../modules/profiles/btrfs ../../modules/profiles/btrfs
]; ];
@@ -224,9 +225,6 @@ in
}; };
services = { services = {
pcscd.enable = true;
acpid.enable = true;
fwupd.enable = true;
logind = { logind = {
lidSwitch = "ignore"; lidSwitch = "ignore";
powerKey = "suspend"; powerKey = "suspend";
@@ -724,10 +722,8 @@ in
environment = { environment = {
enableDebugInfo = true; enableDebugInfo = true;
systemPackages = with pkgs; [ systemPackages = with pkgs; [
acpi
yt-dlp yt-dlp
inferno inferno
nvme-cli
tpm2-tools tpm2-tools
amdgpu_top amdgpu_top
graphicsmagick graphicsmagick

View File

@@ -11,7 +11,7 @@ in
imports = [ imports = [
../../shared/work ../../shared/work
../../modules ../../modules
../../modules/profiles/desktop ../../modules/profiles/workstation
../../modules/profiles/autorandr ../../modules/profiles/autorandr
../../modules/profiles/btrfs ../../modules/profiles/btrfs
]; ];

View File

@@ -12,7 +12,7 @@ in
{ {
imports = [ imports = [
../../modules ../../modules
../../modules/profiles/desktop ../../modules/profiles/workstation
../../modules/profiles/autorandr ../../modules/profiles/autorandr
../../modules/profiles/btrfs ../../modules/profiles/btrfs
]; ];

View File

@@ -10,6 +10,7 @@ in
{ {
imports = [ imports = [
../../modules ../../modules
../../modules/profiles/physical
../../modules/profiles/btrfs ../../modules/profiles/btrfs
]; ];
@@ -71,12 +72,6 @@ in
hardware.cpu.intel.updateMicrocode = true; hardware.cpu.intel.updateMicrocode = true;
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
services = {
pcscd.enable = true;
acpid.enable = true;
fwupd.enable = true;
};
mj = { mj = {
stateVersion = "24.11"; stateVersion = "24.11";
timeZone = "Europe/Vilnius"; timeZone = "Europe/Vilnius";

View File

@@ -110,17 +110,12 @@ in
btdu btdu
lshw lshw
entr entr
cloc
poop # hopefully poof some day poop # hopefully poof some day
pigz pigz
zstd zstd
flex
bison
s-tui # stress and monitor cpu
unrar unrar
iotop iotop
wdiff wdiff
tokei
sshfs sshfs
pwgen pwgen
below # tracking cgroups below # tracking cgroups
@@ -130,10 +125,7 @@ in
bindfs bindfs
spiped spiped
parted parted
bloaty
dhcpcd dhcpcd
hdparm
sdparm
procps procps
unison unison
usbtop usbtop
@@ -144,7 +136,6 @@ in
ethtool ethtool
gettext gettext
exiftool exiftool
bpftrace
keyutils keyutils
libkcapi libkcapi
usbutils usbutils
@@ -152,17 +143,11 @@ in
bsdgames bsdgames
parallel parallel
yamllint yamllint
binutils
dos2unix dos2unix
patchelf
compsize compsize
rtorrent rtorrent
p7zip-rar p7zip-rar
hyperfine
stress-ng
dmidecode
moreutils moreutils
sloccount
cryptsetup cryptsetup
lm_sensors lm_sensors
inotify-info inotify-info
@@ -199,9 +184,6 @@ in
config.boot.kernelPackages.perf config.boot.kernelPackages.perf
config.boot.kernelPackages.vm-tools config.boot.kernelPackages.vm-tools
# non-virtual
powerstat
config.boot.kernelPackages.cpupower
] ]
(lib.mkIf (pkgs.stdenv.hostPlatform.system == "x86_64-linux") [ wrk2 ]) (lib.mkIf (pkgs.stdenv.hostPlatform.system == "x86_64-linux") [ wrk2 ])
]; ];

View File

@@ -18,16 +18,12 @@ let
}; };
in in
{ {
imports = [ ../dev ]; imports = [
../dev
../physical
];
config = { config = {
boot = { boot = {
loader.systemd-boot.enable = true;
initrd.systemd.enable = true;
supportedFilesystems = [
"exfat"
"ntfs"
"xfs"
];
kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
}; };
@@ -66,11 +62,8 @@ in
]; ];
services = { services = {
fwupd.enable = true;
blueman.enable = true; blueman.enable = true;
udev.packages = [ pkgs.yubikey-personalization ]; udev.packages = [ pkgs.yubikey-personalization ];
acpid.enable = true;
pcscd.enable = true;
gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
openssh.settings.X11Forwarding = true; openssh.settings.X11Forwarding = true;
@@ -113,14 +106,6 @@ in
pipewire.enable = false; pipewire.enable = false;
tlp = {
enable = true;
settings = {
START_CHARGE_THRESH_BAT0 = lib.mkDefault 80;
STOP_CHARGE_THRESH_BAT0 = lib.mkDefault 87;
};
};
}; };
programs = { programs = {
@@ -158,186 +143,141 @@ in
xkcd-font xkcd-font
]; ];
environment.systemPackages = environment.systemPackages = with pkgs; [
with pkgs; # packages defined here
[ open
# packages defined here nicer
open tmuxbash
nicer brightness
tmuxbash
brightness
f3 # flight-flash-fraud f3 # flight-flash-fraud
iw iw
rr gdb
gdb ntp
ntp vlc
i7z sox
vlc mpv
sox imv # image viewer
mpv gimp
imv # image viewer qemu
acpi zlib
gimp ninja
josm xclip
pdal pdftk
gdal putty
qemu scrot
zlib tracy
ninja mb2md # mailbox2maildir
xclip cmake
pdftk typst
putty sioyek
scrot (kazam.override {
tracy python3Packages = pkgs.python311Packages;
mb2md # mailbox2maildir }) # alternative to gtk-recordMyDesktop
cmake x11vnc
typst yt-dlp
sioyek skopeo
(kazam.override { ffmpeg
python3Packages = pkgs.python311Packages; tinycc
}) # alternative to gtk-recordMyDesktop scrcpy
x11vnc cheese
yt-dlp arandr
skopeo pandoc
ffmpeg evince
tinycc ioping
scrcpy motion
cheese gthumb
arandr calibre
pandoc gparted
evince glabels-qt
ioping scribus
motion gnumake
gthumb libwebp
calibre librsvg
gparted picocom
glabels-qt inferno
scribus libheif
gnumake csvkit
libwebp mplayer
librsvg tcpflow
neomutt undocker
picocom nautilus
inferno smplayer
libheif inkscape
csvkit chromium
mplayer hunspell
tcpflow tigervnc
cppcheck bsdgames
wasmtime pstoedit
undocker xss-lock
nautilus audacity
smplayer librecad
inkscape colordiff
chromium tesseract
hunspell trayscale
tigervnc espeak-ng
bsdgames man-pages
pstoedit rox-filer
xss-lock distrobox
valgrind miniupnpc
musl.dev v4l-utils
audacity #nerdfonts
graphviz winetricks
powertop #diffoscope # broken on 2025-09-28, not used much
nvme-cli alsa-utils
librecad shellcheck
qgis-ltr # qgis gets recompiled, qgis-ltr is cached by hydra virtualenv
colordiff imagemagick
tesseract #ventoy-full
trayscale ghostscript
espeak-ng libva-utils # intel video tests
man-pages pavucontrol
rox-filer photocollage
distrobox libqalculate # qalc
miniupnpc qalculate-qt # qalculate
v4l-utils google-chrome
#nerdfonts wirelesstools
postgresql poppler_utils
winetricks rkdeveloptool
#diffoscope # broken on 2025-09-28, not used much squashfsTools
alsa-utils joplin-desktop
gcc_latest aspellDicts.en
shellcheck aspellDicts.lt
borgbackup libreoffice-qt
efibootmgr graphicsmagick
virtualenv magic-wormhole
imagemagick signal-desktop
#ventoy-full gnome-calendar
ghostscript element-desktop
libva-utils # intel video tests netsurf-browser
pavucontrol man-pages-posix
photocollage git-filter-repo
libqalculate # qalc gnome-calculator
qalculate-qt # qalculate libsForQt5.okular
google-chrome nvtopPackages.amd
wirelesstools age-plugin-yubikey
poppler_utils nvtopPackages.intel
rkdeveloptool hunspellDicts.en_US
squashfsTools wineWowPackages.full
nixpkgs-review openorienteering-mapper
joplin-desktop samsung-unified-linux-driver
aspellDicts.en
aspellDicts.lt
libreoffice-qt
graphicsmagick
magic-wormhole
signal-desktop
gnome-calendar
intel-gpu-tools
element-desktop
netsurf-browser
man-pages-posix
git-filter-repo
gnome-calculator
libsForQt5.okular
nvtopPackages.amd
age-plugin-yubikey
nvtopPackages.intel
hunspellDicts.en_US
wineWowPackages.full
openorienteering-mapper
samsung-unified-linux-driver
xdotool xdotool
xorg.xev xorg.xev
xorg.xeyes xorg.xeyes
xorg.lndir xorg.lndir
xorg.xinit xorg.xinit
(python3.withPackages ( (python3.withPackages (
ps: with ps; [ ps: with ps; [
numpy numpy
pyyaml pyyaml
ipython ipython
matplotlib matplotlib
] ]
)) ))
(texlive.combine { ];
inherit (texlive)
lithuanian
scheme-medium
hyphen-lithuanian
collection-binextra
collection-bibtexextra
collection-latexextra
collection-publishers
;
})
]
++ (with llvmPackages_19; [
clang
lld.dev
llvm.dev
clang-tools
libllvm.dev
libclang.dev
llvm-manpages
clang-manpages
compiler-rt.dev
]);
# https://discourse.nixos.org/t/nixos-rebuild-switch-upgrade-networkmanager-wait-online-service-failure/30746 # https://discourse.nixos.org/t/nixos-rebuild-switch-upgrade-networkmanager-wait-online-service-failure/30746
systemd.services.NetworkManager-wait-online.enable = false; systemd.services.NetworkManager-wait-online.enable = false;
@@ -347,7 +287,6 @@ in
{ {
imports = [ ./plasma.nix ]; imports = [ ./plasma.nix ];
xdg.configFile = { xdg.configFile = {
"awesome/rc.lua".source = ./rc.lua;
"gdb/gdbinit".text = '' "gdb/gdbinit".text = ''
set style address foreground yellow set style address foreground yellow
set style function foreground cyan set style function foreground cyan
@@ -356,10 +295,6 @@ in
}; };
programs = { programs = {
msmtp.enable = true;
mbsync.enable = true;
neomutt.enable = true;
notmuch.enable = true;
ghostty = { ghostty = {
enable = true; enable = true;
installVimSyntax = true; installVimSyntax = true;
@@ -377,104 +312,6 @@ in
}; };
}; };
tmux.extraConfig =
let
cmd = "${pkgs.extract_url}/bin/extract_url";
cfg = pkgs.writeText "urlviewrc" "COMMAND systemd-run --user --collect xdg-open %s";
in
''
bind-key u capture-pane -J \; \
save-buffer /tmp/tmux-buffer \; \
delete-buffer \; \
split-window -l 10 "${cmd} -c ${cfg} /tmp/tmux-buffer"
'';
};
accounts.email = {
maildirBasePath = "Maildir";
accounts.mj = {
primary = true;
userName = "motiejus@jakstys.lt";
address = "motiejus@jakstys.lt";
realName = "Motiejus Jakštys";
passwordCommand = "cat /home/${username}/.mail-appcode";
imap.host = "imap.gmail.com";
smtp.host = "smtp.gmail.com";
mbsync = {
enable = true;
create = "maildir";
patterns = [
"*"
"![Gmail]/All Mail"
];
};
msmtp = {
enable = true;
};
notmuch = {
enable = true;
neomutt.enable = true;
};
neomutt = {
enable = true;
extraConfig = ''
set index_format="%4C %Z %{%F %H:%M} %-15.15L (%?l?%4l&%4c?) %s"
set mailcap_path = ${pkgs.writeText "mailcaprc" ''
text/html; ${pkgs.elinks}/bin/elinks -dump ; copiousoutput;
application/*; ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null &;
image/*; ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null &;
''}
auto_view text/html
unset record
set send_charset="utf-8"
macro attach 'V' "<pipe-entry>iconv -c --to-code=UTF8 > ~/.cache/mutt/mail.html<enter><shell-escape>firefox ~/.cache/mutt/mail.html<enter>"
macro index,pager \cb "<pipe-message> env BROWSER=firefox urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro attach,compose \cb "<pipe-entry> env BROWSER=firefox urlscan<Enter>" "call urlscan to extract URLs out of a message"
set sort_browser=date
set sort=reverse-threads
set sort_aux=last-date-received
bind pager g top
bind pager G bottom
bind attach,index g first-entry
bind attach,index G last-entry
bind attach,index,pager \CD half-down
bind attach,index,pager \CU half-up
bind attach,index,pager \Ce next-line
bind attach,index,pager \Cy previous-line
bind index,pager B sidebar-toggle-visible
bind index,pager R group-reply
set sidebar_visible = yes
set sidebar_width = 15
bind index,pager \Cp sidebar-prev
bind index,pager \Cn sidebar-next
bind index,pager \Co sidebar-open
bind index,pager B sidebar-toggle-visible
set sidebar_short_path = yes
set sidebar_delim_chars = '/'
set sidebar_format = '%B%* %?N?%N?'
set mail_check_stats
set postponed="+[Gmail]/Drafts"
mailboxes =btrfs
mailboxes =Debian
mailboxes =alerts
mailboxes ="[Gmail]/Drafts"
mailboxes ="[Gmail]/Starred"
mailboxes ="[Gmail]/Sent Mail"
source ${./notmuch-colors.muttrc}
'';
};
};
}; };
services = { services = {

View File

@@ -0,0 +1,51 @@
{
lib,
pkgs,
config,
...
}:
{
config = {
boot = {
loader.systemd-boot.enable = true;
initrd.systemd.enable = true;
supportedFilesystems = [
"exfat"
"ntfs"
"xfs"
];
};
services = {
fwupd.enable = true;
acpid.enable = true;
pcscd.enable = true;
tlp = {
enable = lib.mkDefault true;
settings = {
START_CHARGE_THRESH_BAT0 = lib.mkDefault 80;
STOP_CHARGE_THRESH_BAT0 = lib.mkDefault 87;
};
};
};
environment.systemPackages = with pkgs; [
acpi
i7z
nvme-cli
powertop
efibootmgr
smartmontools
intel-gpu-tools
tpm2-tools
hdparm
sdparm
s-tui
dmidecode
stress-ng
powerstat
config.boot.kernelPackages.cpupower
];
};
}

View File

@@ -0,0 +1,194 @@
{
lib,
pkgs,
config,
...
}:
let
inherit (config.mj) username;
in
{
imports = [ ../desktop ];
config = {
services.xserver = {
windowManager.awesome.enable = true;
};
services.displayManager = {
defaultSession = lib.mkDefault "none+awesome";
};
environment.systemPackages =
with pkgs;
[
rr
josm
pdal
gdal
qgis-ltr
neomutt
valgrind
musl.dev
graphviz
postgresql
cppcheck
wasmtime
gcc_latest
borgbackup
nixpkgs-review
cloc
tokei
bloaty
binutils
patchelf
hyperfine
sloccount
bpftrace
flex
bison
(texlive.combine {
inherit (texlive)
lithuanian
scheme-medium
hyphen-lithuanian
collection-binextra
collection-bibtexextra
collection-latexextra
collection-publishers
;
})
]
++ (with llvmPackages_19; [
clang
lld.dev
llvm.dev
clang-tools
libllvm.dev
libclang.dev
llvm-manpages
clang-manpages
compiler-rt.dev
]);
home-manager.users.${username} =
{ pkgs, ... }:
{
xdg.configFile = {
"awesome/rc.lua".source = ../desktop/rc.lua;
"gdb/gdbinit".text = ''
set style address foreground yellow
set style function foreground cyan
set style string foreground magenta
'';
};
programs = {
msmtp.enable = true;
mbsync.enable = true;
neomutt.enable = true;
notmuch.enable = true;
tmux.extraConfig =
let
cmd = "${pkgs.extract_url}/bin/extract_url";
cfg = pkgs.writeText "urlviewrc" "COMMAND systemd-run --user --collect xdg-open %s";
in
''
bind-key u capture-pane -J \; \
save-buffer /tmp/tmux-buffer \; \
delete-buffer \; \
split-window -l 10 "${cmd} -c ${cfg} /tmp/tmux-buffer"
'';
};
accounts.email = {
maildirBasePath = "Maildir";
accounts.mj = {
primary = true;
userName = "motiejus@jakstys.lt";
address = "motiejus@jakstys.lt";
realName = "Motiejus Jakštys";
passwordCommand = "cat /home/${username}/.mail-appcode";
imap.host = "imap.gmail.com";
smtp.host = "smtp.gmail.com";
mbsync = {
enable = true;
create = "maildir";
patterns = [
"*"
"![Gmail]/All Mail"
];
};
msmtp = {
enable = true;
};
notmuch = {
enable = true;
neomutt.enable = true;
};
neomutt = {
enable = true;
extraConfig = ''
set index_format="%4C %Z %{%F %H:%M} %-15.15L (%?l?%4l&%4c?) %s"
set mailcap_path = ${pkgs.writeText "mailcaprc" ''
text/html; ${pkgs.elinks}/bin/elinks -dump ; copiousoutput;
application/*; ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null &;
image/*; ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null &;
''}
auto_view text/html
unset record
set send_charset="utf-8"
macro attach 'V' "<pipe-entry>iconv -c --to-code=UTF8 > ~/.cache/mutt/mail.html<enter><shell-escape>firefox ~/.cache/mutt/mail.html<enter>"
macro index,pager \cb "<pipe-message> env BROWSER=firefox urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro attach,compose \cb "<pipe-entry> env BROWSER=firefox urlscan<Enter>" "call urlscan to extract URLs out of a message"
set sort_browser=date
set sort=reverse-threads
set sort_aux=last-date-received
bind pager g top
bind pager G bottom
bind attach,index g first-entry
bind attach,index G last-entry
bind attach,index,pager \CD half-down
bind attach,index,pager \CU half-up
bind attach,index,pager \Ce next-line
bind attach,index,pager \Cy previous-line
bind index,pager B sidebar-toggle-visible
bind index,pager R group-reply
set sidebar_visible = yes
set sidebar_width = 15
bind index,pager \Cp sidebar-prev
bind index,pager \Cn sidebar-next
bind index,pager \Co sidebar-open
bind index,pager B sidebar-toggle-visible
set sidebar_short_path = yes
set sidebar_delim_chars = '/'
set sidebar_format = '%B%* %?N?%N?'
set mail_check_stats
set postponed="+[Gmail]/Drafts"
mailboxes =btrfs
mailboxes =Debian
mailboxes =alerts
mailboxes ="[Gmail]/Drafts"
mailboxes ="[Gmail]/Starred"
mailboxes ="[Gmail]/Sent Mail"
source ${../desktop/notmuch-colors.muttrc}
'';
};
};
};
};
};
}

View File

@@ -0,0 +1,18 @@
{
lib,
config,
...
}:
{
imports = [ ../desktop ];
config = {
services.xserver = {
desktopManager.xfce.enable = true;
};
services.displayManager = {
defaultSession = lib.mkForce "xfce";
};
};
}