Merge branch 'main' of codeberg.org:muon/home

This commit is contained in:
muon 2025-09-19 11:09:19 +00:00
commit ed2e0b4906
7 changed files with 173 additions and 124 deletions

60
flake.lock generated
View file

@ -5,11 +5,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1746562888, "lastModified": 1755819240,
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -70,11 +70,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1748383148, "lastModified": 1756083905,
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -138,11 +138,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1754487366, "lastModified": 1756770412,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -159,11 +159,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1751413152, "lastModified": 1756770412,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -260,11 +260,11 @@
}, },
"mnw": { "mnw": {
"locked": { "locked": {
"lastModified": 1748710831, "lastModified": 1756659871,
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", "narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "mnw", "repo": "mnw",
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", "rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -384,11 +384,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1751792365, "lastModified": 1756819007,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -410,11 +410,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1751906969, "lastModified": 1756961635,
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", "narHash": "sha256-hETvQcILTg5kChjYNns1fD5ELdsYB/VVgVmBtqKQj9A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", "rev": "6ca27b2654ac55e3f6e0ca434c1b4589ae22b370",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -614,11 +614,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1750770351, "lastModified": 1754779259,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", "narHash": "sha256-8KG2lXGaXLUE0F/JVwLQe7kOVm21IDfNEo0gfga5P4M=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", "rev": "097d751b9e3c8b97ce158e7d141e5a292545b502",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -630,11 +630,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1751159871, "lastModified": 1754788770,
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", "narHash": "sha256-LAu5nBr7pM/jD9jwFc6/kyFY4h7Us4bZz7dvVvehuwo=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", "rev": "fb2175accef8935f6955503ec9dd3c973eec385c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -646,11 +646,11 @@
"tinted-zed": { "tinted-zed": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1751158968, "lastModified": 1755613540,
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", "narHash": "sha256-zBFrrTxHLDMDX/OYxkCwGGbAhPXLi8FrnLhYLsSOKeY=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-zed", "repo": "base16-zed",
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384", "rev": "937bada16cd3200bdbd3a2f5776fc3b686d5cba0",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -10,7 +10,7 @@
cfg = config.mods; cfg = config.mods;
in { in {
# Hardware # Hardware
imports = [./hardware-configuration.nix]; imports = [./hardware-configuration.nix ./openrgb.nix];
environment.systemPackages = with inputs.nix-alien.packages.${system}; [ environment.systemPackages = with inputs.nix-alien.packages.${system}; [
nix-alien nix-alien
@ -19,9 +19,8 @@ in {
pkgs.godot pkgs.godot
pkgs.rustdesk-flutter pkgs.rustdesk-flutter
pkgs.motion pkgs.motion
pkgs.linuxPackages.v4l2loopback
pkgs.v4l-utils
pkgs.qmk pkgs.qmk
pkgs.gnumeric
]; ];
# System # System

View file

@ -1,16 +1,20 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
[ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [];
boot.initrd.kernelModules = [ ]; boot.kernelModules = ["kvm-intel"];
boot.kernelModules = [ "kvm-intel" "v4l2loopback" ];
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ]; boot.supportedFilesystems = ["zfs" "ntfs" "btrfs"];
boot.supportedFilesystems = [ "zfs" "ntfs" "btrfs" ];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/03e49688-cc62-49c9-a906-e2ea87a38891"; device = "/dev/disk/by-uuid/03e49688-cc62-49c9-a906-e2ea87a38891";
@ -18,10 +22,8 @@
}; };
boot.initrd.luks.devices = { boot.initrd.luks.devices = {
"luks-root".device = "luks-root".device = "/dev/disk/by-uuid/86769693-b61c-4712-852d-e0fba612d260";
"/dev/disk/by-uuid/86769693-b61c-4712-852d-e0fba612d260"; "luks-swap".device = "/dev/disk/by-uuid/0418acfc-792c-43f4-a887-cc8bb51fa7c3";
"luks-swap".device =
"/dev/disk/by-uuid/0418acfc-792c-43f4-a887-cc8bb51fa7c3";
}; };
fileSystems."/mnt/bulk" = { fileSystems."/mnt/bulk" = {
@ -32,11 +34,11 @@
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/CCCC-449E"; device = "/dev/disk/by-uuid/CCCC-449E";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
swapDevices = [ swapDevices = [
{ device = "/dev/disk/by-uuid/e7cf209d-386d-41db-8a35-6c9fff014722"; } {device = "/dev/disk/by-uuid/e7cf209d-386d-41db-8a35-6c9fff014722";}
{ {
device = "/var/lib/swapfile"; device = "/var/lib/swapfile";
size = 8 * 1024; size = 8 * 1024;

29
hosts/muon/openrgb.nix Normal file
View file

@ -0,0 +1,29 @@
{
pkgs,
lib,
...
}: let
no-rgb = pkgs.writeScriptBin "no-rgb" ''
#!/bin/sh
NUM_DEVICES=$(${pkgs.openrgb}/bin/openrgb --noautoconnect --list-devices | grep -E '^[0-9]+: ' | wc -l)
for i in $(seq 0 $(($NUM_DEVICES - 1))); do
${pkgs.openrgb}/bin/openrgb --noautoconnect --device $i --mode static --color 000000
done
'';
in {
config = {
services.udev.packages = [pkgs.openrgb];
boot.kernelModules = ["i2c-dev"];
hardware.i2c.enable = true;
systemd.services.no-rgb = {
description = "no-rgb";
serviceConfig = {
ExecStart = "${no-rgb}/bin/no-rgb";
Type = "oneshot";
};
wantedBy = ["multi-user.target"];
};
};
}

View file

@ -1,9 +1,14 @@
{ pkgs, lib, config, ... }: { {
pkgs,
lib,
config,
...
}: {
options.mods.desktop.development.enable = options.mods.desktop.development.enable =
lib.mkEnableOption "enables gui development tools"; lib.mkEnableOption "enables gui development tools";
config = lib.mkIf config.mods.desktop.development.enable { config = lib.mkIf config.mods.desktop.development.enable {
home.packages = with pkgs; [ i3-swallow ]; # home.packages = with pkgs; [ i3-swallow ];
programs.qutebrowser = { programs.qutebrowser = {
enable = true; enable = true;
@ -14,16 +19,14 @@
default_page = "https://online.bonjourr.fr/"; default_page = "https://online.bonjourr.fr/";
start_pages = "https://online.bonjourr.fr/"; start_pages = "https://online.bonjourr.fr/";
}; };
editor.command = editor.command = ["alacritty" "-e" "hx" "{file}:{line}:{column}"];
[ "swallow" "alacritty" "-e" "hx" "{file}:{line}:{column}" ];
}; };
searchEngines = { searchEngines = {
DEFAULT = "https://search.muon.host/?q={}"; DEFAULT = "https://search.muon.host/?q={}";
np = "https://search.nixos.org/packages?channel=unstable&query={}"; np = "https://search.nixos.org/packages?channel=unstable&query={}";
no = "https://search.nixos.org/options?channel=unstable&query={}"; no = "https://search.nixos.org/options?channel=unstable&query={}";
hm = hm = "https://home-manager-options.extranix.com/?release=master&query={}";
"https://home-manager-options.extranix.com/?release=master&query={}";
}; };
extraConfig = '' extraConfig = ''

View file

@ -1,80 +1,86 @@
{ pkgs, lib, config, osConfig, ... }: {
let color = config.lib.stylix.colors.withHashtag; pkgs,
in with lib; { lib,
options.mods.desktop.productivity.enable = config,
lib.mkEnableOption "enables gui productivity tools"; osConfig,
...
}: let
color = config.lib.stylix.colors.withHashtag;
in
with lib; {
options.mods.desktop.productivity.enable =
lib.mkEnableOption "enables gui productivity tools";
config = lib.mkIf config.mods.desktop.productivity.enable { config = lib.mkIf config.mods.desktop.productivity.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
# ISO downloader # ISO downloader
qbittorrent qbittorrent
xd xd
biglybt biglybt
# transmission_4-gtk # transmission_4-gtk
# email # email
thunderbird thunderbird
# webgl # webgl
chromium chromium
mullvad-browser mullvad-browser
# password manager # password manager
bitwarden-desktop bitwarden-desktop
# file management # file management
libsForQt5.breeze-icons libsForQt5.breeze-icons
libsForQt5.qt5ct libsForQt5.qt5ct
libsForQt5.dolphin
# documents # documents
texliveFull texliveFull
# texstudio # texstudio
# 3D # 3D
blender blender
]; ];
# qt.platformTheme = "qtct"; # qt.platformTheme = "qtct";
home.sessionVariables.BROWSER = "librewolf"; home.sessionVariables.BROWSER = "librewolf";
programs.zsh.sessionVariables.BROWSER = "librewolf"; programs.zsh.sessionVariables.BROWSER = "librewolf";
services.flameshot = { services.flameshot = {
enable = false; enable = false;
settings = { settings = {
General = { General = {
disabledTrayIcon = true; disabledTrayIcon = true;
showStartupLaunchMessage = false; showStartupLaunchMessage = false;
startupLaunch = false; startupLaunch = false;
uiColor = color.base01; uiColor = color.base01;
contrastUiColor = color.base00; contrastUiColor = color.base00;
};
}; };
}; };
};
programs.librewolf = { programs.librewolf = {
enable = false; enable = false;
settings = { settings = {
"webgl.disabled" = true; "webgl.disabled" = true;
"privacy.resistFingerprinting" = true; "privacy.resistFingerprinting" = true;
"privacy.clearOnShutdown.history" = false; "privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.cookies" = false; "privacy.clearOnShutdown.cookies" = false;
"network.cookie.lifetimePolicy" = 0; "network.cookie.lifetimePolicy" = 0;
};
}; };
};
xdg.desktopEntries = lib.mkIf osConfig.mods.i2p.enable { xdg.desktopEntries = lib.mkIf osConfig.mods.i2p.enable {
i2p-browser = { i2p-browser = {
name = "i2p Browser"; name = "i2p Browser";
genericName = "Web Browser"; genericName = "Web Browser";
exec = "${pkgs.mullvad-browser}/bin/mullvad-browser -p i2p"; exec = "${pkgs.mullvad-browser}/bin/mullvad-browser -p i2p";
};
}; };
};
# programs.qutebrowser = { # programs.qutebrowser = {
# enable = true; # enable = true;
# }; # };
}; };
} }

View file

@ -1,14 +1,22 @@
{ pkgs, lib, config, ... }: {
let pkgs,
lib,
config,
...
}: let
cfg = config.mods.terminal; cfg = config.mods.terminal;
aliases = with lib; { aliases = with lib; {
la = "ls -lah"; la = "ls -lah";
xc = "${getExe pkgs.xclip} -selection clipboard"; xc = "${getExe pkgs.xclip} -selection clipboard";
".." = "cd ..";
"..." = "cd ../..";
"...." = "cd ../..";
"....." = "cd ../../..";
"......" = "cd ../../../..";
}; };
in { in {
options.mods.terminal = { zsh.enable = lib.mkEnableOption "enables zsh"; }; options.mods.terminal = {zsh.enable = lib.mkEnableOption "enables zsh";};
config = { config = {
programs.starship.enable = true; programs.starship.enable = true;
@ -35,11 +43,13 @@ in {
shellAliases = aliases; shellAliases = aliases;
plugins = with pkgs; [{ plugins = with pkgs; [
name = "zsh-vi-mode"; {
src = zsh-vi-mode; name = "zsh-vi-mode";
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh"; src = zsh-vi-mode;
}]; file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
}
];
}; };
}; };
} }