nix plasma-manager

This commit is contained in:
js0ny 2025-10-12 06:53:32 +01:00
parent e30bc681cd
commit 39eabd9c51
17 changed files with 247 additions and 39 deletions

1
nixcfgs/.gitignore vendored
View file

@ -0,0 +1 @@
secrets.nix

View file

@ -17,8 +17,9 @@
../../modules/nixos/docker.nix
../../modules/nixos/firefox.nix
../../modules/nixos/desktop/gnome.nix
# ../../modules/nixos/desktop/kde.nix
../../modules/nixos/display-manager/gdm.nix
# ../../modules/nixos/desktop/niri.nix
../../modules/nixos/desktop/kde.nix
../../modules/nixos/display-manager/sddm.nix
./hardware-configuration.nix
./keyd.nix
./packages.nix
@ -26,5 +27,6 @@
nixpkgs.config.allowUnfree = true;
networking.hostName = "zephyrus";
hardware.enableRedistributableFirmware = true;
system.stateVersion = "25.05";
}

View file

@ -1,6 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
asusctl
supergfxctl
@ -9,4 +7,3 @@
services.asusd.enable = true;
services.supergfxd.enable = true;
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}:
{
home.packages = with pkgs; [
gcc
];
}

View file

@ -1,8 +1,15 @@
{pkgs, ...}: {
programs.chromium = {
enable = true;
homepageLocation = "https://duckduckgo.com";
defaultSearchProviderSearchURL = "https://duckduckgo.com?q={searchTerms}";
extraOpts = {
"BrowserSignin" = 0;
"BrowserSignin" = 1;
"PasswordManagerEnabled" = false;
"ExtensionManifestV2Availability" = 2;
};
extensions = [
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
];
};
}

View file

@ -0,0 +1,8 @@
{pkgs, ...}: {
programs.niri.enable = true;
environment.systemPackages = with pkgs; [
waybar
mako
rofi
];
}

View file

@ -1,10 +1,34 @@
{pkgs, ...}: {
{pkgs, ...}:
# See https://www.reddit.com/r/NixOS/comments/1kcj34p/how_to_apply_this_sddm_theme_on_nixos/
let
custom-sddm-astronaut = pkgs.sddm-astronaut.override {
embeddedTheme = "astronaut";
#themeConfig = {
# Background = "path/to/background.jpg";
# Font = "M+1 Nerd Font";
#};
};
in {
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
extraPackages = with pkgs; [
sddm-astronaut
];
# theme = "sddm-astronaut-theme";
custom-sddm-astronaut
];
theme = "sddm-astronaut-theme";
settings = {
Theme = {
Current = "sddm-astronaut-theme";
};
};
};
environment.systemPackages = with pkgs; [
custom-sddm-astronaut
kdePackages.qtmultimedia
];
}

View file

@ -10,23 +10,70 @@
preferences = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
"widget.use-xdg-desktop-portal.mime-handler" = 1;
"screenshots.browser.component.enabled" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.archive.enabled" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.contentblocking.category" = "strict";
"browser.formfill.enable" = false;
"extensions.formautofill.creditCards.enabled" = false;
"dom.forms.autocomplete.formautofill" = false;
"browser.urlbar.update2.engineAliasRefresh" = true;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
};
policies = {
DisableTelemetry = true;
BlockAboutConfig = false;
DisableFirefoxScreenshots = true;
DontCheckDefaultBrowser = true;
ExtensionSettings = let
moz = short: "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi";
in {
"*".installation_mode = "blocked";
"uBlock0@raymondhill.net" = {
install_url = moz "ublock-origin";
installation_mode = "force_installed";
updates_disabled = true;
ExtensionSettings = with builtins; let
extension = short: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi";
installation_mode = "force_installed";
};
};
in
listToAttrs [
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "multi-account-containers" "@testpilot-containers")
(extension "side-view" "@webcompat@mozilla.org")
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
];
SearchEngines = {
Default = "DuckDuckGo";
Add = [
{
Alias = "@np";
Description = "Search in NixOS Packages";
IconURL = "https://nixos.org/favicon.ico";
Method = "GET";
Name = "NixOS Packages";
URLTemplate = "https://search.nixos.org/packages?from=0&size=200&sort=relevance&type=packages&query={searchTerms}";
}
{
Alias = "@no";
Description = "Search in NixOS Options";
IconURL = "https://nixos.org/favicon.ico";
Method = "GET";
Name = "NixOS Options";
URLTemplate = "https://search.nixos.org/options?from=0&size=200&sort=relevance&type=packages&query={searchTerms}";
}
{
Alias = "@hm";
Description = "Search in Home Manager Options";
IconURL = "https://nixos.org/favicon.ico";
Method = "GET";
Name = "Home Manager options";
URLTemplate = "https://home-manager-options.extranix.com/?query={searchTerms}";
}
];
};
};
};

View file

@ -15,6 +15,7 @@
./programs/shell.nix
./programs/vscode.nix
./programs/git.nix
../../modules/home/dev/c.nix
../../modules/home/dev/java.nix
../../modules/home/dev/nix.nix
../../modules/home/dev/python.nix

View file

@ -1,5 +1,5 @@
# https://github.com/gmodena/nix-flatpak
{nix-flatpak, ...}: {
{...}: {
services.flatpak.remotes = [
{
name = "flathub";
@ -23,4 +23,11 @@
# "com.vivaldi.Vivaldi"
"com.getpostman.Postman"
];
services.flatpak.overrides = {
"com.tencent.WeChat" = {
Environment = {
QT_IM_MODULE = "fcitx";
};
};
};
}

View file

@ -24,5 +24,6 @@
cherry-studio
vivaldi
kdePackages.kdeconnect-kde
picard
];
}

View file

@ -3,6 +3,9 @@
enable = true;
commandLineArgs = [
"--enable-wayland-ime"
"--enable-features=WaylandWindowDecorations"
"--enable-features=UseOzonePlatform"
"--ozone-platform-hint=auto"
];
extensions = [
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
@ -10,6 +13,7 @@
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
{id = "gfbliohnnapiefjpjlpjnehglfpaknnc";} # surfingkeys
{id = "bpoadfkcbjbfhfodiogcnhhhpibjhbnh";} # immersive translate
{id = "dhdgffkkebhmkfjojejmpbldmpobfkfo";} # tampermonkey
];
};
}

View file

@ -0,0 +1,5 @@
{pkgs, ...}: {
programs.firefox = {
enable = true;
};
}

View file

@ -2,8 +2,6 @@
home.packages = with pkgs; [
gnome-tweaks
sushi
orchis-theme
adwaita-qt
gnomeExtensions.dash-to-dock
gnomeExtensions.caffeine
gnomeExtensions.logo-menu
@ -32,6 +30,7 @@
icon-theme = "Papirus";
accent-color = "pink";
show-battery-percentage = true;
cursor-theme = "Adwaita";
};
"org/gnome/epiphany" = {
ask-for-default = false;
@ -46,15 +45,14 @@
use-custom-icon = false;
};
"org/gnome/shell" = {
favorite-apps = [
"org.kde.dolphin.desktop"
"com.mitchellh.ghostty.desktop"
"chromium-browser.desktop"
"code.desktop"
];
favorite-apps = [
"org.kde.dolphin.desktop"
"com.mitchellh.ghostty.desktop"
"chromium-browser.desktop"
"code.desktop"
];
};
};
qt.style.name = "adwaita";
# qt.style.name = "adwaita";
}

View file

@ -1,7 +1,33 @@
{pkgs, ...}: {
home.packages = with pkgs.kdePackages; [
yakuake
];
programs.plasma = {
enable = true;
workspace.iconTheme = "Papirus";
session.sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession";
fonts = {
fixedWidth.family = "Maple Mono NF";
fixedWidth.pointSize = 10;
general.family = "LXGW Neo XiHei";
general.pointSize = 10;
};
krunner = {
position = "center";
};
workspace = {
iconTheme = "Papirus";
colorScheme = "BreezeDark";
};
kwin = {
virtualDesktops.number = 8;
titlebarButtons = {
left = [
"more-window-actions"
"on-all-desktops"
"keep-above-windows"
];
};
};
input.touchpads = [
{
disableWhileTyping = true;
@ -24,19 +50,59 @@
{
location = "bottom";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.icontasks"
# "org.kde.plasma.kickoff"
{
name = "org.kde.plasma.kickoff";
config = {
General = {
icon = "distributor-logo-nixos";
alphaSort = true;
};
};
}
{
name = "org.kde.plasma.icontasks";
config = {
General = {
launchers = [
"applications:org.kde.dolphin.desktop"
"applications:chromium-browser.desktop"
"applications:com.mitchellh.ghostty.desktop"
];
};
};
}
"org.kde.plasma.marginsseparator"
"org.kde.plasma.systemtray"
{
name = "org.kde.plasma.digitalclock";
config = {
Appearance = {
dateFormat = "isoDate";
enabledCalendarPlugins = "alternatecalendar,holidaysevents";
firstDayOfWeek = 1;
selectedTimeZones = "Local,Asia/Shanghai,Europe/London";
showSeconds = "Always";
showWeekNumbers = true;
use24hFormat = 2;
};
};
}
"org.kde.plasma.digitalclock"
"org.kde.plasma.showdesktop"
];
}
# Global menu at the top
{
location = "top";
height = 26;
widgets = ["org.kde.plasma.pager"];
height = 20;
widgets = [
"org.kde.plasma.pager"
"org.kde.plasma.windowlist"
"org.kde.plasma.marginsseparator"
];
opacity = "translucent";
hiding = "dodgewindows";
}
];
};
@ -45,4 +111,26 @@
accessibility.changeColors.mode = "InvertLightness";
general.mouseMode = "TextSelect";
};
programs.kate.enable = true;
programs.kate.editor = {
font = {
family = "Maple Mono NF";
pointSize = 10;
};
inputMode = "vi";
};
programs.konsole = {
enable = true;
defaultProfile = "Default";
profiles = {
Default = {
command = "${pkgs.fish}/bin/fish";
colorScheme = "Breeze";
font = {
name = "Maple Mono NF";
size = 12;
};
};
};
};
}