update
This commit is contained in:
parent
9a37d9eb2f
commit
398673494c
76
flake.lock
76
flake.lock
|
@ -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": {
|
||||
|
|
|
@ -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 ./.); };
|
||||
|
||||
}
|
||||
|
|
16
flake.org
16
flake.org
|
@ -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
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
];
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue