Compare commits
9 commits
45c2ea8b1e
...
40c45e6e29
| Author | SHA1 | Date | |
|---|---|---|---|
| 40c45e6e29 | |||
| 8f9c06a956 | |||
| d4b8d63d57 | |||
| 4bf89379a9 | |||
| 1ebe2d8a34 | |||
| d823926714 | |||
| 958a045b4b | |||
| c04b76f2e0 | |||
| f77a07d781 |
10 changed files with 174 additions and 46 deletions
107
flake.lock
generated
107
flake.lock
generated
|
|
@ -178,11 +178,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780894562,
|
||||
"narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=",
|
||||
"lastModified": 1781152676,
|
||||
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc",
|
||||
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -457,11 +457,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780883961,
|
||||
"narHash": "sha256-WU6SUrESuPiEXEUvX4D51AgWrXRJty+sLJBwBaDBGqE=",
|
||||
"lastModified": 1783221248,
|
||||
"narHash": "sha256-ESQnuNHEDChsB4IxoLRhscVahqkDWkTb+qdIz8euYt4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4eb4fec41674d5b059aa2eedf0f98453890546fa",
|
||||
"rev": "af2beae5f0fae0a4310cc0e6aef2572f56090353",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -552,6 +552,22 @@
|
|||
"url": "https://git.lelgenio.com/lelgenio/made-you-look"
|
||||
}
|
||||
},
|
||||
"netlinkrb": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1562850306,
|
||||
"narHash": "sha256-0bXTWUdUDr2XP+bEIfIbxXap8Niva/IoPXTxFeXXImg=",
|
||||
"owner": "vpsfreecz",
|
||||
"repo": "netlinkrb",
|
||||
"rev": "d9de53d843d2586ffa5b7b404887fa801c697ddf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "vpsfreecz",
|
||||
"repo": "netlinkrb",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -559,11 +575,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780816331,
|
||||
"narHash": "sha256-0BYqs8yKWkOz2Q7+SP18N5E5gmDKSo6LSxIVIa0wWes=",
|
||||
"lastModified": 1783233851,
|
||||
"narHash": "sha256-jzisD+3wWZPC4QvAsKtYguiGsmlH2SN3Mjx5LWd68Ok=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "1a2ea89c917781e88508d9fd2b507f2d2a0e173c",
|
||||
"rev": "fab14c7b63499d57cb6673d5690168c3ec42b99a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -582,11 +598,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780704867,
|
||||
"narHash": "sha256-JuatomIQeXXZhdfEnBid9VoWyh6IfQgTE/FsM94UsRk=",
|
||||
"lastModified": 1781301671,
|
||||
"narHash": "sha256-rq6WOopxq3U2AGEWO80o9LIJDYcYIdgw6jyl+y+19w8=",
|
||||
"owner": "simple-nixos-mailserver",
|
||||
"repo": "nixos-mailserver",
|
||||
"rev": "da29f6cc3d7e15eb7bfdae599918851cbd5ea142",
|
||||
"rev": "661ec59a97ccee13a63f79280b282eb6f7d3f817",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -614,12 +630,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1780749050,
|
||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
||||
"type": "github"
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-FGQ8TfSm9WviNE/fQAWsKs+y4GkX8fU4EScewpw54Y8=",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1027867.d407951447dc/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
|
|
@ -629,11 +644,11 @@
|
|||
},
|
||||
"nixpkgsUnstable": {
|
||||
"locked": {
|
||||
"lastModified": 1780749050,
|
||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -707,12 +722,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1780902259,
|
||||
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
|
||||
"type": "github"
|
||||
"lastModified": 1783148766,
|
||||
"narHash": "sha256-H9+N+GFtsbVC8ZniHliChM7ndizxtqVZs6bnGOLM3WQ=",
|
||||
"rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.4193.a50de1b7d8a5/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
|
|
@ -754,11 +768,11 @@
|
|||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1780734595,
|
||||
"narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=",
|
||||
"lastModified": 1783148766,
|
||||
"narHash": "sha256-uslt2pqShTIXDdAHRHv2QkYLsVdY8Oqwz0EA48/RSM8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9b696460ac78b5ccfc17c854d8c976f20456e943",
|
||||
"rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -844,6 +858,23 @@
|
|||
"youre-wrong": "youre-wrong"
|
||||
}
|
||||
},
|
||||
"ruby-lxc": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1780499941,
|
||||
"narHash": "sha256-guAdOSP9MyCL3BQ1LGXAhcCoXgEU1fUE69d2ATMqUGE=",
|
||||
"owner": "vpsfreecz",
|
||||
"repo": "ruby-lxc",
|
||||
"rev": "004bf35eb90d41ba60b347b5b1e73d868a4f95d9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "vpsfreecz",
|
||||
"ref": "2026-06-03-nixos-26-05-port",
|
||||
"repo": "ruby-lxc",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
@ -895,11 +926,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780547341,
|
||||
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
|
||||
"lastModified": 1783174389,
|
||||
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
|
||||
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1056,15 +1087,17 @@
|
|||
"vpsadminos": {
|
||||
"inputs": {
|
||||
"impermanence": "impermanence",
|
||||
"netlinkrb": "netlinkrb",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgsUnstable": "nixpkgsUnstable"
|
||||
"nixpkgsUnstable": "nixpkgsUnstable",
|
||||
"ruby-lxc": "ruby-lxc"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780902784,
|
||||
"narHash": "sha256-xqY+ApLpKx8/sVGx6a6Tt1NUqU8FPaNlitR3R396HFo=",
|
||||
"lastModified": 1783331081,
|
||||
"narHash": "sha256-sJS1tI/SqjOGBm/8RqEIi7M/rSFVtzTIshYdZYmPqWA=",
|
||||
"owner": "vpsfreecz",
|
||||
"repo": "vpsadminos",
|
||||
"rev": "a791e6b372bb0fb6c9ffd65383517c140f510f8b",
|
||||
"rev": "849282e6be436743a47fb0e592041e6fba9ad41f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ in
|
|||
"zenpower"
|
||||
];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_7_1;
|
||||
|
||||
systemd.sleep.settings.Sleep = {
|
||||
HibernateDelaySec = "30s";
|
||||
SuspendState = "mem";
|
||||
|
|
@ -120,9 +122,14 @@ in
|
|||
virtualisation.virtualbox.host.enable = true;
|
||||
|
||||
services.udev.extraRules = ''
|
||||
# Arm all USB root hubs (vendor 1d6b) so any USB device can wake the system.
|
||||
# Wakeup only fires if the device on the end also has wakeup enabled, so we still
|
||||
# disable it individually for devices that must NOT wake the system (see below).
|
||||
ACTION=="add" SUBSYSTEM=="usb" ATTR{idVendor}=="1d6b" ATTR{power/wakeup}="enabled"
|
||||
# Fix broken suspend with Logitech USB dongle
|
||||
# The mouse/mousepad receiver wakes the system right after suspend, so disable its wakeup.
|
||||
# `lsusb | grep Logitech` will return "vendor:product"
|
||||
ACTION=="add" SUBSYSTEM=="usb" ATTR{idVendor}=="046d" ATTR{idProduct}=="c547" ATTR{power/wakeup}="disabled"
|
||||
ACTION=="add" SUBSYSTEM=="usb" ATTR{idVendor}=="046d" ATTR{idProduct}=="c53a" ATTR{power/wakeup}="disabled"
|
||||
# Force all disks to use kyber scheduler
|
||||
# For some reason "noop" is used by default which is kinda bad when io is saturated
|
||||
ACTION=="add|change", KERNEL=="sd[a-z]*[0-9]*|mmcblk[0-9]*p[0-9]*|nvme[0-9]*n[0-9]*p[0-9]*", ATTR{../queue/scheduler}="kyber"
|
||||
|
|
|
|||
|
|
@ -71,11 +71,6 @@ rec {
|
|||
patches = old.patches ++ [ ../patches/sway/fix-hide_cursor-clearing-focus.patch ];
|
||||
});
|
||||
};
|
||||
deluge = prev.deluge.overrideAttrs (old: {
|
||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [
|
||||
prev.libappindicator-gtk3
|
||||
];
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{ factorio-headless, pkgs }:
|
||||
|
||||
factorio-headless.overrideAttrs (_: rec {
|
||||
version = "2.0.76";
|
||||
version = "2.0.77";
|
||||
src = pkgs.fetchurl {
|
||||
name = "factorio_headless_x64-${version}.tar.xz";
|
||||
url = "https://www.factorio.com/get-download/${version}/headless/linux64";
|
||||
hash = "sha256-7zZj9mFG12NC98CaP3Q3kmNvjNlcOeomz8pb0uDpJDA=";
|
||||
hash = "sha256-xO/BFSn3TTfJaTPikeDbc/2fWqRziRPZMBskaAs+lH8=";
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -146,6 +146,16 @@
|
|||
xorg.setxkbmap
|
||||
jq
|
||||
];
|
||||
kde-sync-xkbmap = [
|
||||
xorg.setxkbmap
|
||||
dbus
|
||||
gnugrep
|
||||
gnused
|
||||
gawk
|
||||
];
|
||||
obs-studio-autostart = [
|
||||
obs-studio
|
||||
];
|
||||
print-battery-icon = [ ];
|
||||
controller-battery = [ print-battery-icon ];
|
||||
mouse-battery = [ print-battery-icon ];
|
||||
|
|
|
|||
51
scripts/kde-sync-xkbmap
Executable file
51
scripts/kde-sync-xkbmap
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
get_layout_display_name() {
|
||||
idx="$1"
|
||||
dbus-send --session --print-reply --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.getLayoutsList 2>/dev/null \
|
||||
| grep 'string "' \
|
||||
| sed 's/.*string "\([^"]*\)".*/\1/' \
|
||||
| awk -v idx="$idx" 'NR%3==0 { if (c++ == idx) { print; exit } }'
|
||||
}
|
||||
|
||||
get_layout_index() {
|
||||
dbus-send --session --print-reply --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.getLayout 2>/dev/null \
|
||||
| awk '/uint32/ { print $2; exit }'
|
||||
}
|
||||
|
||||
LAST_LAYOUT=""
|
||||
|
||||
apply_layout() {
|
||||
idx="$1"
|
||||
CURRENT_LAYOUT=$(get_layout_display_name "$idx")
|
||||
|
||||
if test "$LAST_LAYOUT" = "$CURRENT_LAYOUT"; then
|
||||
return 0
|
||||
elif test "$CURRENT_LAYOUT" = "English (Colemak)"; then
|
||||
echo "Setting layout to colemak"
|
||||
setxkbmap us colemak
|
||||
elif test "$CURRENT_LAYOUT" = "Portuguese (Brazil)"; then
|
||||
echo "Setting layout to br"
|
||||
setxkbmap br
|
||||
fi
|
||||
|
||||
LAST_LAYOUT="$CURRENT_LAYOUT"
|
||||
}
|
||||
|
||||
update_layout() {
|
||||
INDEX=$(get_layout_index)
|
||||
apply_layout "$INDEX"
|
||||
}
|
||||
|
||||
while ! get_layout_index; do
|
||||
sleep 1s
|
||||
done
|
||||
update_layout
|
||||
|
||||
dbus-monitor --session \
|
||||
"type='signal',interface='org.kde.KeyboardLayouts',member='layoutChanged',path='/Layouts'" \
|
||||
| while read -r line; do
|
||||
update_layout
|
||||
done
|
||||
6
scripts/obs-studio-autostart
Executable file
6
scripts/obs-studio-autostart
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# The --disable-shutdown-check has been removed apparently
|
||||
rm -rf "$HOME/.config/obs-studio/.sentinel"
|
||||
|
||||
exec obs --startreplaybuffer "$@"
|
||||
|
|
@ -17,6 +17,7 @@ in
|
|||
unstable.yt-dlp
|
||||
ffmpeg
|
||||
obs-studio
|
||||
obs-studio-autostart
|
||||
imagemagick
|
||||
mpc
|
||||
crosspipe
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
config,
|
||||
...
|
||||
}:
|
||||
lib.mkIf (config.my.desktop == "kde") {
|
||||
{
|
||||
imports = [ ./kde/kde-sync-xkbmap.nix ];
|
||||
}
|
||||
// lib.mkIf (config.my.desktop == "kde") {
|
||||
services.gpg-agent.pinentry.package = lib.mkForce pkgs.pinentry-qt;
|
||||
}
|
||||
|
|
|
|||
22
user/kde/kde-sync-xkbmap.nix
Normal file
22
user/kde/kde-sync-xkbmap.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
lib.mkIf (config.my.desktop == "kde") {
|
||||
systemd.user.services.kde-sync-xkbmap = {
|
||||
Unit = {
|
||||
Description = "Sync xkbmap with KDE keyboard layout";
|
||||
PartOf = [ "plasma-workspace.target" ];
|
||||
After = [ "plasma-workspace.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = lib.getExe pkgs.kde-sync-xkbmap;
|
||||
Restart = "on-failure";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "plasma-workspace.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue