mirror of
https://github.com/JaxTheWolf/nixos.git
synced 2026-04-01 02:00:22 +02:00
Compare commits
62 Commits
split-wip
...
401490f581
| Author | SHA1 | Date | |
|---|---|---|---|
| 401490f581 | |||
| 0c59ee08ef | |||
| 5b71825d70 | |||
| 4959baf11c | |||
| b1eb8d16fc | |||
| a4c34f9857 | |||
| 463ce1c6f9 | |||
| 0ce1ea44df | |||
| ea1f1e4e2c | |||
| c384c85035 | |||
| a81caa8e1b | |||
| 1f1a76b92d | |||
| d30200f081 | |||
| 6ff3ca400b | |||
| 2af4cbf42b | |||
| 87985b6384 | |||
| 84915990f9 | |||
| f9a4b97ab2 | |||
| 6926a7a9a6 | |||
| 0551560602 | |||
| a7f46adfdf | |||
| f2dbee1ee8 | |||
| dbde683d41 | |||
| 3e9907c936 | |||
| 16b8b699d1 | |||
| d8ee1a648d | |||
| da228b499f | |||
| 7e1c8c167e | |||
| db06a663ec | |||
| 5008192cc9 | |||
| 4570081b22 | |||
| c08b8b2ae0 | |||
| 6147d3ca27 | |||
| d8ddf42910 | |||
| 956ace75b0 | |||
| 689efaa75b | |||
| 59b43a29c7 | |||
| db20f6fee1 | |||
| 2f474c8413 | |||
| 5bcaf7217a | |||
| d1e6f5d7af | |||
| 9a0d6d06fe | |||
| 777f547501 | |||
| 375ccff408 | |||
| 84b57d81b5 | |||
| 8b5feff5b5 | |||
| 658d722d17 | |||
| 3c14c62256 | |||
| 46db890c53 | |||
| 2476dfaa67 | |||
| 349ed2e891 | |||
| 8a956aa9a5 | |||
| 4dbb21fc9e | |||
| 41d4d204de | |||
| 21a403c3f4 | |||
| 6d39b13483 | |||
| 2fb0e31be8 | |||
| e58d0d2ce9 | |||
| b7ce19d338 | |||
| 1bed41fad3 | |||
| 4231c63c14 | |||
| 398fa0f195 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
result
|
||||||
|
*.qcow2
|
||||||
32
Justfile
Normal file
32
Justfile
Normal 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
|
||||||
@@ -3,27 +3,35 @@
|
|||||||
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;
|
||||||
systemd-boot = {
|
systemd-boot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
memtest86.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;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -45,7 +53,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
console.keyMap = "cz-lat2";
|
console = {
|
||||||
|
keyMap = "cz-lat2";
|
||||||
|
font = "LatArCyrHeb-16";
|
||||||
|
};
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
@@ -54,6 +65,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 +83,7 @@
|
|||||||
storageDriver = "btrfs";
|
storageDriver = "btrfs";
|
||||||
enableOnBoot = true;
|
enableOnBoot = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
libvirtd = {
|
libvirtd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
@@ -79,6 +92,7 @@
|
|||||||
|
|
||||||
onBoot = "ignore";
|
onBoot = "ignore";
|
||||||
};
|
};
|
||||||
|
|
||||||
spiceUSBRedirection.enable = true;
|
spiceUSBRedirection.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -94,7 +108,9 @@
|
|||||||
"video"
|
"video"
|
||||||
"render"
|
"render"
|
||||||
"input"
|
"input"
|
||||||
|
"dialout"
|
||||||
];
|
];
|
||||||
|
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
#packages = with pkgs; [ ];
|
#packages = with pkgs; [ ];
|
||||||
};
|
};
|
||||||
@@ -104,20 +120,24 @@
|
|||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
LIBVIRT_DEFAULT_URI = "qemu:///system";
|
LIBVIRT_DEFAULT_URI = "qemu:///system";
|
||||||
};
|
};
|
||||||
systemPackages = [
|
|
||||||
pkgs.libheif
|
systemPackages = with pkgs; [
|
||||||
pkgs.libheif.out
|
libheif
|
||||||
|
libheif.out
|
||||||
];
|
];
|
||||||
pathsToLink = [ "share/thumbnailers" ];
|
|
||||||
|
pathsToLink = ["share/thumbnailers"];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.bluez.overrideAttrs (old: {
|
package = pkgs.bluez.overrideAttrs (old: {
|
||||||
configureFlags = old.configureFlags ++ [
|
configureFlags =
|
||||||
"--enable-sixaxis"
|
old.configureFlags
|
||||||
];
|
++ [
|
||||||
|
"--enable-sixaxis"
|
||||||
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
@@ -154,6 +174,7 @@
|
|||||||
"flakes"
|
"flakes"
|
||||||
"nix-command"
|
"nix-command"
|
||||||
];
|
];
|
||||||
|
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -7,79 +7,75 @@
|
|||||||
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
|
||||||
}:
|
system = "x86_64-linux";
|
||||||
let
|
pkgs = import nixpkgs {inherit system;};
|
||||||
system = "x86_64-linux";
|
naersk-lib = pkgs.callPackage naersk {};
|
||||||
pkgs = import nixpkgs { inherit system; };
|
|
||||||
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
|
fontconfig
|
||||||
libxkbcommon
|
libglvnd
|
||||||
libglvnd
|
libX11
|
||||||
fontconfig
|
libXcursor
|
||||||
libX11
|
libXi
|
||||||
libXcursor
|
libxkbcommon
|
||||||
libXi
|
libXrandr
|
||||||
libXrandr
|
wayland
|
||||||
];
|
];
|
||||||
|
in {
|
||||||
|
packages.${system}.default = naersk-lib.buildPackage {
|
||||||
|
pname = "krokiet";
|
||||||
|
version = "master";
|
||||||
|
src = czkawka-src;
|
||||||
|
|
||||||
in
|
nativeBuildInputs = nativeBuildInputs;
|
||||||
{
|
buildInputs = runtimeLibs;
|
||||||
packages.${system}.default = naersk-lib.buildPackage {
|
|
||||||
pname = "krokiet";
|
|
||||||
version = "master";
|
|
||||||
src = czkawka-src;
|
|
||||||
|
|
||||||
nativeBuildInputs = nativeBuildInputs;
|
cargoBuildOptions = x:
|
||||||
buildInputs = runtimeLibs;
|
x
|
||||||
|
++ [
|
||||||
cargoBuildOptions =
|
"-p"
|
||||||
x:
|
"krokiet"
|
||||||
x
|
|
||||||
++ [
|
|
||||||
"-p"
|
|
||||||
"krokiet"
|
|
||||||
];
|
|
||||||
|
|
||||||
buildAndCheckFeatures = [
|
|
||||||
"winit_wayland"
|
|
||||||
"winit_x11"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
RUSTFLAGS = "-C target-cpu=native";
|
buildAndCheckFeatures = [
|
||||||
NIX_CFLAGS_COMPILE = "-march=native -mtune=native";
|
"winit_wayland"
|
||||||
|
"winit_x11"
|
||||||
|
];
|
||||||
|
|
||||||
postInstall = ''
|
RUSTFLAGS = "-C target-cpu=native";
|
||||||
wrapProgram $out/bin/krokiet \
|
NIX_CFLAGS_COMPILE = "-march=native -mtune=native";
|
||||||
--prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath runtimeLibs}
|
|
||||||
|
|
||||||
install -Dm444 -t $out/share/applications data/io.github.qarmin.krokiet.desktop
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/krokiet \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath runtimeLibs}
|
||||||
|
|
||||||
install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/io.github.qarmin.krokiet.svg \
|
install -Dm444 -t $out/share/applications data/io.github.qarmin.krokiet.desktop
|
||||||
|
|
||||||
install -Dm444 -t $out/share/metainfo data/io.github.qarmin.krokiet.metainfo.xml
|
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
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = ''
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
|
kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{...}: {
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://attic.awroo.fun/my-config"
|
"https://attic.awroo.fun/my-config"
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./attic.nix
|
||||||
./flatpak.nix
|
./flatpak.nix
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
services.flatpak = {
|
services.flatpak = {
|
||||||
enable = true;
|
enable = true;
|
||||||
update.auto.enable = true;
|
update.auto.enable = true;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
27
common/modules/home/dconf/apps.nix
Normal file
27
common/modules/home/dconf/apps.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
common/modules/home/dconf/default.nix
Normal file
13
common/modules/home/dconf/default.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./apps.nix
|
||||||
|
./extensions.nix
|
||||||
|
./gnome.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"system/locale" = {
|
||||||
|
region = "cs_CZ.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
167
common/modules/home/dconf/extensions.nix
Normal file
167
common/modules/home/dconf/extensions.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
102
common/modules/home/dconf/gnome.nix
Normal file
102
common/modules/home/dconf/gnome.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
common/modules/home/default.nix
Normal file
12
common/modules/home/default.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./dconf
|
||||||
|
./desktop-files.nix
|
||||||
|
./starship.nix
|
||||||
|
./zsh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.enable = true;
|
||||||
|
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
}
|
||||||
31
common/modules/home/desktop-files.nix
Normal file
31
common/modules/home/desktop-files.nix
Normal 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;
|
||||||
|
'';
|
||||||
|
}
|
||||||
102
common/modules/home/starship.nix
Normal file
102
common/modules/home/starship.nix
Normal 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)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
85
common/modules/home/zsh.nix
Normal file
85
common/modules/home/zsh.nix
Normal 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;
|
||||||
|
}
|
||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -38,7 +78,7 @@
|
|||||||
|
|
||||||
nix-ld = {
|
nix-ld = {
|
||||||
enable = true;
|
enable = true;
|
||||||
libraries = with pkgs; [ ];
|
libraries = with pkgs; [];
|
||||||
};
|
};
|
||||||
|
|
||||||
steam = {
|
steam = {
|
||||||
|
|||||||
@@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -77,6 +79,23 @@
|
|||||||
interval = "weekly";
|
interval = "weekly";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kmscon = {
|
||||||
|
enable = true;
|
||||||
|
fonts = [
|
||||||
|
{
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
|
package = pkgs.nerd-fonts.fira-code;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
useXkbConfig = true;
|
||||||
|
hwRender = true;
|
||||||
|
};
|
||||||
|
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
|
|
||||||
|
udev.packages = with pkgs; [
|
||||||
|
platformio-core.udev
|
||||||
|
openocd
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,16 +7,14 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
kernelModules = [ ];
|
kernelModules = [];
|
||||||
verbose = false;
|
verbose = false;
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
"nvme"
|
"nvme"
|
||||||
@@ -37,7 +35,8 @@
|
|||||||
pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower
|
pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower
|
||||||
];
|
];
|
||||||
|
|
||||||
blacklistedKernelModules = [ "k10temp" ];
|
blacklistedKernelModules = ["k10temp"];
|
||||||
|
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"amdgpu.seamless=1"
|
"amdgpu.seamless=1"
|
||||||
"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" = {
|
||||||
@@ -181,7 +179,7 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
7
desktop/modules/flatpak.nix
Normal file
7
desktop/modules/flatpak.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
}
|
||||||
@@ -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
12
desktop/modules/gnome.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs.gnomeExtensions; [
|
||||||
|
control-monitor-brightness-and-volume-with-ddcutil
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
3
desktop/modules/home/dconf/apps.nix
Normal file
3
desktop/modules/home/dconf/apps.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{...}: {
|
||||||
|
dconf.settings = {};
|
||||||
|
}
|
||||||
7
desktop/modules/home/dconf/default.nix
Normal file
7
desktop/modules/home/dconf/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./apps.nix
|
||||||
|
./extensions.nix
|
||||||
|
./gnome.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
3
desktop/modules/home/dconf/extensions.nix
Normal file
3
desktop/modules/home/dconf/extensions.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{...}: {
|
||||||
|
dconf.settings = {};
|
||||||
|
}
|
||||||
22
desktop/modules/home/dconf/gnome.nix
Normal file
22
desktop/modules/home/dconf/gnome.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
desktop/modules/home/default.nix
Normal file
5
desktop/modules/home/default.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./dconf
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
21
desktop/modules/vm.nix
Normal 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
112
flake.lock
generated
@@ -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": 1774539458,
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
"narHash": "sha256-H9GIOqdMfQZ6lFetsQhO9TCq53hYzpTHDWOt3PRh9V0=",
|
||||||
"owner": "numtide",
|
"owner": "nix-community",
|
||||||
"repo": "flake-utils",
|
"repo": "home-manager",
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
"rev": "e2e5f512b33ed19a7a3271d0b73ed5eefcc0be5f",
|
||||||
"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": 1774386573,
|
||||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -161,11 +163,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771008912,
|
"lastModified": 1774386573,
|
||||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -177,11 +179,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771353015,
|
"lastModified": 1774509978,
|
||||||
"narHash": "sha256-gvMwFEdFCM2zFxLVDaAbhV2N9zK0IW/RceBundHUdZs=",
|
"narHash": "sha256-hdl5+yPF2KXSpuFy6dTHe62c5hKiEAhd1fq8UagtTdQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "931ef4db402cdab9dfe66fe4a2b01d50f6fe435d",
|
"rev": "b317a7eaabaea07be8c71aded8b266fddce0a181",
|
||||||
"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",
|
||||||
|
|||||||
91
flake.nix
91
flake.nix
@@ -2,42 +2,71 @@
|
|||||||
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 = {
|
||||||
{
|
epiquev2 = nixpkgs.lib.nixosSystem {
|
||||||
nixosConfigurations = {
|
inherit specialArgs;
|
||||||
epiquev2 = nixpkgs.lib.nixosSystem {
|
system = "x86_64-linux";
|
||||||
inherit specialArgs;
|
modules = [
|
||||||
system = "x86_64-linux";
|
./common
|
||||||
modules = [
|
./desktop
|
||||||
./common
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
./desktop
|
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
dalaptop = nixpkgs.lib.nixosSystem {
|
home-manager.nixosModules.home-manager
|
||||||
inherit specialArgs;
|
{
|
||||||
system = "x86_64-linux";
|
home-manager = {
|
||||||
modules = [
|
useGlobalPkgs = true;
|
||||||
./common
|
useUserPackages = true;
|
||||||
./laptop
|
users.jax = {
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
imports = [
|
||||||
];
|
./common/modules/home
|
||||||
};
|
./desktop/modules/home
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
dalaptop = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./common
|
||||||
|
./laptop
|
||||||
|
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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./attic.nix
|
./flatpak.nix
|
||||||
|
./gnome.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./programs.nix
|
./programs.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
|
|||||||
7
laptop/modules/flatpak.nix
Normal file
7
laptop/modules/flatpak.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
}
|
||||||
11
laptop/modules/gnome.nix
Normal file
11
laptop/modules/gnome.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs.gnomeExtensions; [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
13
laptop/modules/home/dconf/apps.nix
Normal file
13
laptop/modules/home/dconf/apps.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
laptop/modules/home/dconf/default.nix
Normal file
7
laptop/modules/home/dconf/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./apps.nix
|
||||||
|
./extensions.nix
|
||||||
|
./gnome.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
3
laptop/modules/home/dconf/extensions.nix
Normal file
3
laptop/modules/home/dconf/extensions.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{...}: {
|
||||||
|
dconf.settings = {};
|
||||||
|
}
|
||||||
10
laptop/modules/home/dconf/gnome.nix
Normal file
10
laptop/modules/home/dconf/gnome.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
laptop/modules/home/default.nix
Normal file
5
laptop/modules/home/default.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./dconf
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
environment.systemPackages = with pkgs; [
|
||||||
|
btop
|
||||||
|
gnome-power-manager
|
||||||
|
intel-gpu-tools
|
||||||
|
nvtopPackages.intel
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,2 @@
|
|||||||
{
|
{...}: {
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
3
treefmt.toml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[formatter.nix]
|
||||||
|
command = "alejandra"
|
||||||
|
includes = ["*.nix"]
|
||||||
Reference in New Issue
Block a user