This commit is contained in:
Mateusz Słodkowicz 2025-05-23 18:07:40 +02:00
parent 9a37d9eb2f
commit 398673494c
Signed by: materus
GPG Key ID: 28D140BCA60B4FD1
7 changed files with 751 additions and 138 deletions

View File

@ -151,11 +151,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1747498832,
"narHash": "sha256-qLzhGOSIZdd4QDpbUgQyt3Tp2o4d4k1N6vcebS+DN4I=",
"lastModified": 1747585320,
"narHash": "sha256-sdJkqFwYlRkijgRoOTH6cg+N6w41qXtFkrC79vMHUYg=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "20bad5faaa8cd9782977d70b8b34638f6449a2a7",
"rev": "527c14f4280d37d857f7e9e70330168ed95a69b4",
"type": "github"
},
"original": {
@ -174,11 +174,11 @@
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1747498832,
"narHash": "sha256-qLzhGOSIZdd4QDpbUgQyt3Tp2o4d4k1N6vcebS+DN4I=",
"lastModified": 1747585320,
"narHash": "sha256-sdJkqFwYlRkijgRoOTH6cg+N6w41qXtFkrC79vMHUYg=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "20bad5faaa8cd9782977d70b8b34638f6449a2a7",
"rev": "527c14f4280d37d857f7e9e70330168ed95a69b4",
"type": "github"
},
"original": {
@ -407,16 +407,16 @@
]
},
"locked": {
"lastModified": 1747331121,
"narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=",
"lastModified": 1747556831,
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1eec32f0efe3b830927989767a9e6ece0d82d608",
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}
@ -429,11 +429,11 @@
]
},
"locked": {
"lastModified": 1747439237,
"narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=",
"lastModified": 1747565775,
"narHash": "sha256-B6jmKHUEX1jxxcdoYHl7RVaeohtAVup8o3nuVkzkloA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708",
"rev": "97118a310eb8e13bc1b9b12d67267e55b7bee6c8",
"type": "github"
},
"original": {
@ -487,11 +487,11 @@
]
},
"locked": {
"lastModified": 1747446936,
"narHash": "sha256-O5HLvg27oWAUHaZvAK8p30whJLlZSAUWMu7RZwWwX/0=",
"lastModified": 1747533823,
"narHash": "sha256-/SRma+VrauAHu8sIIxSU8zYQScE2xCznQzfUalDIT6M=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "c23c72f97fc61391f9022f5f426c1b737b2d639a",
"rev": "047e061d9369a9bf58e5e4bf7cca016ecc72f72c",
"type": "github"
},
"original": {
@ -513,11 +513,11 @@
]
},
"locked": {
"lastModified": 1747446936,
"narHash": "sha256-O5HLvg27oWAUHaZvAK8p30whJLlZSAUWMu7RZwWwX/0=",
"lastModified": 1747533823,
"narHash": "sha256-/SRma+VrauAHu8sIIxSU8zYQScE2xCznQzfUalDIT6M=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "c23c72f97fc61391f9022f5f426c1b737b2d639a",
"rev": "047e061d9369a9bf58e5e4bf7cca016ecc72f72c",
"type": "github"
},
"original": {
@ -540,11 +540,11 @@
"nur": "nur"
},
"locked": {
"lastModified": 1747136507,
"narHash": "sha256-lnt9LypZVMRzRDpl+gQtrInxvsF7CL18TTEMthXz8p8=",
"lastModified": 1747602536,
"narHash": "sha256-XpXAp3tgfPWeV+Wq3/iilz4mCgvRD75Q8kvgHKRIJRw=",
"owner": "materusPL",
"repo": "Nixerus",
"rev": "8c329020c653c04a8f0f50dc7400c01b3b9e3733",
"rev": "84d8b84d1e6883d3e393c889ea62cba503c83a1d",
"type": "github"
},
"original": {
@ -567,11 +567,11 @@
"nur": "nur_3"
},
"locked": {
"lastModified": 1747136507,
"narHash": "sha256-lnt9LypZVMRzRDpl+gQtrInxvsF7CL18TTEMthXz8p8=",
"lastModified": 1747602536,
"narHash": "sha256-XpXAp3tgfPWeV+Wq3/iilz4mCgvRD75Q8kvgHKRIJRw=",
"owner": "materusPL",
"repo": "Nixerus",
"rev": "8c329020c653c04a8f0f50dc7400c01b3b9e3733",
"rev": "84d8b84d1e6883d3e393c889ea62cba503c83a1d",
"type": "github"
},
"original": {
@ -631,11 +631,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1747335874,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=",
"lastModified": 1747485343,
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858",
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
"type": "github"
},
"original": {
@ -647,11 +647,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1747335874,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=",
"lastModified": 1747485343,
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858",
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
"type": "github"
},
"original": {
@ -663,16 +663,16 @@
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1747335874,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=",
"lastModified": 1747428706,
"narHash": "sha256-XVds9FkRrY59xRNNq14FNsFGqDiexXX/mlHcX4hPyyk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858",
"rev": "2e1496bf8652ff4af4e4d4737277f71e4a4f5cb2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
@ -727,11 +727,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {

View File

@ -7,21 +7,19 @@
repo = "nixpkgs";
ref = "nixos-unstable";
};
nixpkgs-stable = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-24.11";
ref = "nixos-25.05";
};
hm-stable = {
type = "github";
owner = "nix-community";
repo = "home-manager";
ref = "release-24.11";
ref = "release-25.05";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
@ -41,5 +39,4 @@
};
};
outputs = inputs: import (builtins.toString ./nix) { inherit inputs; configRootPath = (builtins.toString ./.); };
}

View File

@ -9,9 +9,14 @@
* Flakes
** Main Flake
Flake of entire repo. [[./flake.nix][link]]
#+name: version
#+begin_src txt :noweb-ref version
25.05
#+end_src
#+name: main_flake
#+begin_src nix header-args :tangle ./flake.nix
#+begin_src nix header-args :tangle ./flake.nix :noweb yes
{
description = "MKK flake: NixOS and home manager configs";
inputs = {
@ -21,21 +26,19 @@ Flake of entire repo. [[./flake.nix][link]]
repo = "nixpkgs";
ref = "nixos-unstable";
};
nixpkgs-stable = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-24.11";
ref = "nixos-<<version>>";
};
hm-stable = {
type = "github";
owner = "nix-community";
repo = "home-manager";
ref = "release-24.11";
ref = "release-<<version>>";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
@ -55,7 +58,6 @@ Flake of entire repo. [[./flake.nix][link]]
};
};
outputs = inputs: import (builtins.toString ./nix) { inherit inputs; configRootPath = (builtins.toString ./.); };
}
#+end_src
** Subflake

View File

@ -1,7 +1,10 @@
# * Common OS
{
lib,
pkgs,
mkkArg,
config,
konfig,
...
}:
{
@ -9,6 +12,47 @@
imports = [
mkkArg.current.sops-nix.nixosModules.sops
# * Config
# ** System
# *** Fonts
{
options.mkk.os.fonts.enable = konfig.nixerusPkgs.lib.mkBoolOpt false "Enable MKK font settings for OS";
config = lib.mkIf config.mkk.os.fonts.enable {
fonts.packages = konfig.vars.packageLists.fonts;
fonts.enableDefaultPackages = lib.mkDefault true;
fonts.fontconfig.enable = lib.mkDefault true;
fonts.fontconfig.cache32Bit = lib.mkDefault true;
fonts.fontconfig.defaultFonts.sansSerif = [ "Noto Sans" "DejaVu Sans" "WenQuanYi Zen Hei" "Noto Color Emoji" ];
fonts.fontconfig.defaultFonts.serif = [ "Noto Serif" "DejaVu Serif" "WenQuanYi Zen Hei" "Noto Color Emoji" ];
fonts.fontconfig.defaultFonts.emoji = [ "Noto Color Emoji" "OpenMoji Color" ];
fonts.fontconfig.defaultFonts.monospace = [ "Hack Nerd Font" "Noto Sans Mono" "WenQuanYi Zen Hei Mono" ];
fonts.fontDir.enable = lib.mkDefault true;
};
}
# ** Shells
# *** Zsh
{
options.mkk.os.zsh.enable =
konfig.nixerusPkgs.lib.mkBoolOpt true "Enable MKK system zsh config";
config = lib.mkIf config.mkk.os.zsh.enable {
users.defaultUserShell = pkgs.zsh;
environment.shells = [ pkgs.zsh ];
programs.zsh = {
enable = true;
enableGlobalCompInit = false;
interactiveShellInit = ''
if [[ ''${__MATERUS_HM_ZSH:-0} == 0 ]]; then
source ${pkgs.grml-zsh-config}/etc/zsh/zshrc
fi
'';
promptInit = '''';
};
};
}
# ** Assertions
{
assertions = [
@ -22,7 +66,7 @@
}
];
}
# ** Variables
# ** Variables
{
mkk.commonVariables = {
path = {

View File

@ -17,7 +17,7 @@
nvidia.acceptLicense = lib.mkDefault true;
};
nix.package = lib.mkDefault pkgs.nixVersions.nix_2_28;
nix.package = lib.mkDefault pkgs.nixVersions.latest;
nix.settings = {
experimental-features = [
"nix-command"
@ -172,6 +172,42 @@
};
}
# ** Variables
{
mkk.commonVariables = {
packageLists = rec {
defaultFonts = [
pkgs.dejavu_fonts
pkgs.freefont_ttf
pkgs.gyre-fonts
pkgs.liberation_ttf
pkgs.unifont
];
fonts = [
pkgs.noto-fonts
pkgs.noto-fonts-extra
pkgs.noto-fonts-emoji
pkgs.noto-fonts-cjk-sans
pkgs.noto-fonts-cjk-serif
pkgs.wqy_zenhei
pkgs.corefonts
pkgs.hack-font
pkgs.ubuntu_font_family
pkgs.monocraft
pkgs.nerd-fonts.hack
pkgs.nerd-fonts.meslo-lg
pkgs.nerd-fonts.droid-sans-mono
pkgs.nerd-fonts.profont
pkgs.nerd-fonts.fira-code
] ++ defaultFonts;
};
};
}
# ** Assertions
{
config.assertions = [

View File

@ -32,15 +32,544 @@
}
];
}
# *** Nix System Settings
# *** Nix System Settings
{
nixpkgs.hostPlatform = "x86_64-linux";
system.copySystemConfiguration = false;
system.stateVersion = "23.05";
}
# *** Users
{
users.users.materus = {
isNormalUser = true;
extraGroups = [
"audio"
"video"
"render"
"pipewire"
"wheel"
"networkmanager"
"input"
"kvm"
"libvirt-qemu"
"libvirt"
"libvirtd"
"podman"
"scanner"
"lp"
];
shell = pkgs.zsh;
description = "Mateusz Słodkowicz";
openssh.authorizedKeys.keyFiles = [ ("${konfig.rootFlake}" + "/private/pubkeys/materus.pub") ];
#hashedPasswordFile = config.sops.secrets."users/materus".path;
};
}
# *** Audio
{
security.rtkit.enable = true;
services.pipewire = {
enable = true;
audio.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
systemWide = true;
jack.enable = true;
};
services.pulseaudio.enable = false;
environment.sessionVariables =
let
makePluginPath =
format:
"$HOME/.${format}:"
+ (lib.makeSearchPath format [
"$HOME/.nix-profile/lib"
"/run/current-system/sw/lib"
"/etc/profiles/per-user/$USER/lib"
]);
in
{
ALSOFT_DRIVERS = "pulse";
DSSI_PATH = makePluginPath "dssi";
LADSPA_PATH = makePluginPath "ladspa";
LV2_PATH = makePluginPath "lv2";
LXVST_PATH = makePluginPath "lxvst";
VST_PATH = makePluginPath "vst";
VST3_PATH = makePluginPath "vst3";
};
services.udev.extraRules = ''
KERNEL=="rtc0", GROUP="audio"
KERNEL=="hpet", GROUP="audio"
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
'';
environment.systemPackages = with pkgs; [
openal
pulseaudio
reaper
audacity
yabridge
yabridgectl
vital
odin2
surge
fire
decent-sampler
lsp-plugins
];
}
# *** Other
{
mkk.os.fonts.enable = true;
}
# ** Desktop
# *** XDG
{
xdg.portal.enable = true;
xdg.portal.wlr.enable = true;
xdg.portal.xdgOpenUsePortal = true;
xdg.portal.extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ];
xdg.portal.config.common.default = "*";
environment.sessionVariables = {
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
};
}
# *** KDE Plasma
{
environment.plasma6.excludePackages = with pkgs.kdePackages; [
kwallet
kwalletmanager
kwallet-pam
];
environment.variables = {
# Old fix for black cursor on amdgpu, seems to work fine now
#KWIN_DRM_NO_AMS = "1";
#Fix for amdgpu crashes
KWIN_DRM_USE_MODIFIERS = "0";
KWIN_DRM_NO_DIRECT_SCANOUT = "1";
QT_PLUGIN_PATH = [
"${pkgs.qt6.qtimageformats}/${pkgs.qt6.qtbase.qtPluginPrefix}"
"${pkgs.kdePackages.ffmpegthumbs}/${pkgs.qt6.qtbase.qtPluginPrefix}"
];
XCURSOR_THEME = "breeze_cursors";
};
environment.systemPackages = with pkgs; [
kdePackages.ark
kdePackages.kcalc
kdePackages.kate
];
programs.kdeconnect.enable = true;
programs.firefox.nativeMessagingHosts.packages = [pkgs.kdePackages.plasma-browser-integration ];
programs.chromium.enablePlasmaBrowserIntegration = true;
}
# *** SDDM
(
let
plasma-materus = pkgs.writeScript "plasma-materus" ''
export KWIN_DRM_DEVICES="/dev/dri/by-path/pci-0000\:53\:00.0-card"
${pkgs.kdePackages.plasma-workspace}/libexec/plasma-dbus-run-session-if-needed ${pkgs.kdePackages.plasma-workspace}/bin/startplasma-wayland
'';
westonSddm =
let
xcfg = config.services.xserver;
in
pkgs.writeText "weston.ini" ''
[core]
xwayland=false
shell=fullscreen-shell.so
[keyboard]
keymap_model = ${builtins.toString xcfg.xkb.model};
keymap_layout = ${builtins.toString xcfg.xkb.layout};
keymap_variant = ${builtins.toString xcfg.xkb.variant};
keymap_options = ${builtins.toString xcfg.xkb.options};
[libinput]
enable-tap = ${builtins.toString xcfg.libinput.mouse.tapping};
left-handed = ${builtins.toString xcfg.libinput.mouse.leftHanded};
[output]
name=DP-3
mode=1920x1080@240
[output]
name=DP-4
mode=off
[output]
name=HDMI-A-3
mode=off
'';
in
{
services.displayManager.defaultSession = "plasma-materus";
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.displayManager.sddm.wayland.compositor = lib.mkForce "weston";
services.displayManager.sddm.wayland.compositorCommand = lib.concatStringsSep " " [
"${lib.getExe pkgs.weston}"
"--shell=kiosk"
"-c ${westonSddm}"
];
services.displayManager.sessionPackages = [
(
(pkgs.writeTextDir "share/wayland-sessions/plasma-materus.desktop" ''
[Desktop Entry]
Name=Plasma (Wayland Materus)
Comment=Plasma Desktop with KWIN_DRM_DEVICES env
Exec=${plasma-materus}
DesktopNames=KDE
Type=Application
'').overrideAttrs
(_: {
passthru.providedSessions = [ "plasma-materus" ];
})
)
];
services.displayManager.sddm.settings = {
General = {
InputMethod = "";
};
Theme = {
CursorTheme = "breeze_cursors";
CursorSize = "24";
};
};
}
)
# ** Programs & Services
# *** Java
{
programs = {
java.enable = true;
java.package = pkgs.jdk;
java.binfmt = true;
};
environment.variables = {
JAVA_8_HOME = "${pkgs.jdk8}/lib/openjdk/";
JAVA_17_HOME = "${pkgs.jdk17}/lib/openjdk/";
JAVA_21_HOME = "${pkgs.jdk21}/lib/openjdk/";
};
}
# *** Samba
{
services.samba-wsdd.enable = true;
services.samba-wsdd.openFirewall = true;
services.samba = {
enable = true;
package = pkgs.sambaFull;
openFirewall = true;
settings = {
global = {
"workgroup" = "WORKGROUP";
"server string" = "smbmaterus";
"netbios name " = "smbmaterus";
"security" = "user";
"hosts allow" = "192.168.122. 127.0.0.1 localhost";
"hosts deny" = "0.0.0.0/0";
"guest account" = "nobody";
"map to guest" = "bad user";
"allow insecure wide links" = "yes";
};
windows = {
"path" = "/materus/data/VM/windows_shared";
"browseable" = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
"force user" = "materus";
"force group" = "users";
"follow symlinks" = "yes";
"wide links" = "yes";
};
};
};
}
# *** XServer
{
services.xserver.xkb.layout = "pl";
services.xserver.enable = true;
#services.xserver.videoDrivers = [ "amdgpu" "intel" ];
services.xserver.displayManager.startx.enable = false;
services.xserver.exportConfiguration = true;
services.xserver.extraConfig = pkgs.lib.mkDefault ''
Section "OutputClass"
Identifier "amd-options"
Option "TearFree" "True"
Option "SWCursor" "True"
Option "VariableRefresh" "true"
Option "AsyncFlipSecondaries" "true"
Option "DRI3" "1"
MatchDriver "amdgpu"
EndSection
'';
}
# *** Input
{
environment.sessionVariables = {
QT_XKB_CONFIG_ROOT = "\${XKB_CONFIG_ROOT}";
GTK_IM_MODULE = "fcitx";
QT_IM_MODULE = "fcitx";
XMODIFIERS = "@im=fcitx";
SDL_IM_MODULE = "fcitx";
MOZ_USE_XINPUT2 = "1";
PATH = [ "\${XDG_BIN_HOME}" ];
};
i18n.inputMethod.enable = true;
i18n.inputMethod.type = "fcitx5";
i18n.inputMethod.fcitx5.addons = [
pkgs.kdePackages.fcitx5-configtool
pkgs.fcitx5-lua
pkgs.fcitx5-mozc
pkgs.fcitx5-gtk
pkgs.kdePackages.fcitx5-qt
];
services.libinput.enable = true;
services.libinput.mouse = {
accelProfile = "flat";
};
}
# *** Shell
{
environment.shellInit = ''
if ! [ -z "$DISPLAY" ]; then xhost +si:localuser:root &> /dev/null; fi;
if ! [ -z "$DISPLAY" ]; then xhost +si:localuser:$USER &> /dev/null; fi;
'';
environment.enableAllTerminfo = true;
environment.pathsToLink = [
"/share/zsh"
"/share/bash-completion"
"/share/fish"
];
environment.shells = with pkgs; [
zsh
bashInteractive
fish
];
mkk.os.zsh.enable = true;
}
# *** Other Services
{
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
services.flatpak.enable = true;
services.gvfs.enable = true;
services.dbus.enable = true;
services.dbus.packages = [ pkgs.gcr ];
services.printing.enable = true;
services.teamviewer.enable = true;
services.pcscd.enable = true;
services.davfs2.enable = true;
# GPG
programs.gnupg.agent = {
enable = true;
enableSSHSupport = false;
enableBrowserSocket = true;
};
# SSH
programs.ssh.startAgent = true;
services.openssh.enable = true;
services.openssh.settings.PermitRootLogin = "no";
services.openssh.settings.PasswordAuthentication = false;
services.openssh.openFirewall = true;
# Sunshine
services.sunshine = {
enable = true;
capSysAdmin = true;
openFirewall = true;
autoStart = false;
};
}
# *** Other Apps
{
programs = {
fish.enable = true;
command-not-found.enable = false;
dconf.enable = true;
};
programs.firefox.enable = true;
programs.gamemode.enable = true;
programs.corectrl.enable = true;
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
];
programs.chromium.enable = true;
environment.systemPackages = with pkgs; [
(vivaldi.overrideAttrs (oldAttrs: {
dontWrapQtApps = false;
dontPatchELF = true;
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.kdePackages.wrapQtAppsHook ];
}))
#(pkgs.lutris.override { extraLibraries = pkgs: with pkgs; [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
konfig.nixerusPkgs.amdgpu-pro-libs.prefixes
(pkgs.bottles.override {
extraPkgs = pkgs: [
pkgs.libsForQt5.breeze-qt5
pkgs.kdePackages.breeze-gtk
pkgs.nss_latest
];
extraLibraries = pkgs: [
pkgs.samba
pkgs.jansson
pkgs.tdb
pkgs.libunwind
pkgs.libusb1
pkgs.gnutls
pkgs.gtk3
pkgs.pango
];
})
glibc
glib
gtk3
gtk4
gsettings-desktop-schemas
kdePackages.dolphin
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
vlc
vkbasalt-cli
patchelf
killall
util-linux
xorg.xhost
nix-top
gitFull
curl
wget
config.programs.java.package
nss_latest
pciutils
(aspellWithDicts (
ds: with ds; [
en
en-computers
en-science
pl
]
))
steamtinkerlaunch
distrobox
# WebP support
libwebp
webp-pixbuf-loader
# Compression
p7zip
unrar
bzip2
rar
unzip
zstd
xz
zip
gzip
tree
mc
lf
htop
nmon
iftop
iptraf-ng
mprocs
tldr
bat
##config.materus.profile.packages.home-manager
gcr
# pgcli
# litecli
#zenmonitor
nix-du
wineWowPackages.stagingFull
winetricks
protontricks
gnupg
pinentry
pinentry-gnome3
pinentry-curses
ncurses
monkeysphere
gparted
virt-viewer
inkscape
gimp
git-crypt
bubblewrap
bindfs
binutils
qbittorrent
mkvtoolnix
nicotine-plus
picard
opusTools
aegisub
];
}
# ** Network
# *** Firewall & Others
{
services = {
syncthing = {
enable = true;
@ -146,89 +675,6 @@
};
}
# ** Hardware
# *** Filesystems
{
zramSwap = {
enable = true;
memoryPercent = 25;
};
swapDevices = [
{
label = "NixOS_Swap";
}
];
fileSystems."/etc/nixos" = {
device = "/materus/config/mkk";
fsType = "none";
options = [ "bind" ];
depends = [ "/materus" ];
};
fileSystems."/materus" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@materus"
"noatime"
"compress=zstd"
"ssd"
"space_cache=v2"
];
neededForBoot = true;
};
fileSystems."/" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@"
"noatime"
"ssd"
"space_cache=v2"
"compress=zstd"
];
};
fileSystems."/nix" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@nix"
"noatime"
"compress=zstd"
"ssd"
"space_cache=v2"
];
};
fileSystems."/home" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@home"
"noatime"
"compress=zstd"
"ssd"
"space_cache=v2"
];
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@boot"
"ssd"
];
};
fileSystems."/boot/efi" = {
device = "/dev/disk/by-label/NixOS_EFI";
fsType = "vfat";
};
}
# *** Kernel & Boot
{
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_zen;
@ -326,9 +772,14 @@
# *** Firmware & Others
{
services.udev = {
packages = with pkgs; [
game-devices-udev-rules
];
};
hardware.uinput.enable = true;
hardware.steam-hardware.enable = true;
hardware.firmware = with pkgs; [
konfig.nixerusPkgs.amdgpu-pro-libs.firmware.vcn
konfig.nixerusPkgs.amdgpu-pro-libs.firmware
@ -386,6 +837,89 @@
interval = "weekly";
};
}
# *** Filesystems
{
zramSwap = {
enable = true;
memoryPercent = 25;
};
swapDevices = [
{
label = "NixOS_Swap";
}
];
fileSystems."/etc/nixos" = {
device = "/materus/config/mkk";
fsType = "none";
options = [ "bind" ];
depends = [ "/materus" ];
};
fileSystems."/materus" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@materus"
"noatime"
"compress=zstd"
"ssd"
"space_cache=v2"
];
neededForBoot = true;
};
fileSystems."/" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@"
"noatime"
"ssd"
"space_cache=v2"
"compress=zstd"
];
};
fileSystems."/nix" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@nix"
"noatime"
"compress=zstd"
"ssd"
"space_cache=v2"
];
};
fileSystems."/home" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@home"
"noatime"
"compress=zstd"
"ssd"
"space_cache=v2"
];
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/NixOS_Root";
fsType = "btrfs";
options = [
"subvol=@boot"
"ssd"
];
};
fileSystems."/boot/efi" = {
device = "/dev/disk/by-label/NixOS_EFI";
fsType = "vfat";
};
}
# * materusPC END
];
}

BIN
private/pubkeys/materus.pub Normal file

Binary file not shown.