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

View file

@ -24,6 +24,17 @@ scripts
{{ if ne .chezmoi.osRelease.id "arch" }} {{ if ne .chezmoi.osRelease.id "arch" }}
.config/*-flags.conf .config/*-flags.conf
{{ end }} {{ end }}
{{ if eq .chezmoi.osRelease.id "nixos" }}
.config/bash
.config/fcitx5
.config/bat
.config/doom
.config/fish
.config/zsh
.config/lsd
.config/keyd
.config/readline
{{ end }}
{{ end }} {{ end }}
{{ if ne .chezmoi.os "darwin" }} {{ if ne .chezmoi.os "darwin" }}

View file

@ -3,8 +3,8 @@ return {
{ "wakatime/vim-wakatime", lazy = false }, { "wakatime/vim-wakatime", lazy = false },
{ import = "plugins.mod.toggleterm" }, { import = "plugins.mod.toggleterm" },
{ import = "plugins.mod.which-keys-nvim" }, { import = "plugins.mod.which-keys-nvim" },
{ import = "plugins.mod.copilot-lua" }, -- { import = "plugins.mod.copilot-lua" },
{ import = "plugins.mod.avante-nvim" }, -- { import = "plugins.mod.avante-nvim" },
{ {
"kawre/leetcode.nvim", "kawre/leetcode.nvim",
build = ":TSUpdate html", -- if you have `nvim-treesitter` installed build = ":TSUpdate html", -- if you have `nvim-treesitter` installed

1
nixcfgs/.gitignore vendored
View file

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

View file

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

View file

@ -1,6 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
asusctl asusctl
supergfxctl supergfxctl
@ -9,4 +7,3 @@
services.asusd.enable = true; services.asusd.enable = true;
services.supergfxd.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, ...}: { {pkgs, ...}: {
programs.chromium = { programs.chromium = {
enable = true;
homepageLocation = "https://duckduckgo.com";
defaultSearchProviderSearchURL = "https://duckduckgo.com?q={searchTerms}";
extraOpts = { extraOpts = {
"BrowserSignin" = 0; "BrowserSignin" = 1;
"PasswordManagerEnabled" = false; "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 = { services.displayManager.sddm = {
enable = true; enable = true;
wayland.enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
sddm-astronaut custom-sddm-astronaut
]; ];
# theme = "sddm-astronaut-theme";
theme = "sddm-astronaut-theme";
settings = {
Theme = {
Current = "sddm-astronaut-theme";
}; };
};
};
environment.systemPackages = with pkgs; [
custom-sddm-astronaut
kdePackages.qtmultimedia
];
} }

View file

@ -10,24 +10,71 @@
preferences = { preferences = {
"widget.use-xdg-desktop-portal.file-picker" = 1; "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 = { policies = {
DisableTelemetry = true; DisableTelemetry = true;
BlockAboutConfig = false; BlockAboutConfig = false;
DisableFirefoxScreenshots = true;
DontCheckDefaultBrowser = true; DontCheckDefaultBrowser = true;
ExtensionSettings = let ExtensionSettings = with builtins; let
moz = short: "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi"; extension = short: uuid: {
in { name = uuid;
"*".installation_mode = "blocked"; value = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi";
"uBlock0@raymondhill.net" = {
install_url = moz "ublock-origin";
installation_mode = "force_installed"; installation_mode = "force_installed";
updates_disabled = true;
}; };
}; };
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/shell.nix
./programs/vscode.nix ./programs/vscode.nix
./programs/git.nix ./programs/git.nix
../../modules/home/dev/c.nix
../../modules/home/dev/java.nix ../../modules/home/dev/java.nix
../../modules/home/dev/nix.nix ../../modules/home/dev/nix.nix
../../modules/home/dev/python.nix ../../modules/home/dev/python.nix

View file

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

View file

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

View file

@ -3,6 +3,9 @@
enable = true; enable = true;
commandLineArgs = [ commandLineArgs = [
"--enable-wayland-ime" "--enable-wayland-ime"
"--enable-features=WaylandWindowDecorations"
"--enable-features=UseOzonePlatform"
"--ozone-platform-hint=auto"
]; ];
extensions = [ extensions = [
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin {id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
@ -10,6 +13,7 @@
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader {id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
{id = "gfbliohnnapiefjpjlpjnehglfpaknnc";} # surfingkeys {id = "gfbliohnnapiefjpjlpjnehglfpaknnc";} # surfingkeys
{id = "bpoadfkcbjbfhfodiogcnhhhpibjhbnh";} # immersive translate {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; [ home.packages = with pkgs; [
gnome-tweaks gnome-tweaks
sushi sushi
orchis-theme
adwaita-qt
gnomeExtensions.dash-to-dock gnomeExtensions.dash-to-dock
gnomeExtensions.caffeine gnomeExtensions.caffeine
gnomeExtensions.logo-menu gnomeExtensions.logo-menu
@ -32,6 +30,7 @@
icon-theme = "Papirus"; icon-theme = "Papirus";
accent-color = "pink"; accent-color = "pink";
show-battery-percentage = true; show-battery-percentage = true;
cursor-theme = "Adwaita";
}; };
"org/gnome/epiphany" = { "org/gnome/epiphany" = {
ask-for-default = false; ask-for-default = false;
@ -46,15 +45,14 @@
use-custom-icon = false; use-custom-icon = false;
}; };
"org/gnome/shell" = { "org/gnome/shell" = {
favorite-apps = [ favorite-apps = [
"org.kde.dolphin.desktop" "org.kde.dolphin.desktop"
"com.mitchellh.ghostty.desktop" "com.mitchellh.ghostty.desktop"
"chromium-browser.desktop" "chromium-browser.desktop"
"code.desktop" "code.desktop"
]; ];
}; };
}; };
qt.style.name = "adwaita"; # qt.style.name = "adwaita";
} }

View file

@ -1,7 +1,33 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = with pkgs.kdePackages; [
yakuake
];
programs.plasma = { programs.plasma = {
enable = true; 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 = [ input.touchpads = [
{ {
disableWhileTyping = true; disableWhileTyping = true;
@ -24,19 +50,59 @@
{ {
location = "bottom"; location = "bottom";
widgets = [ widgets = [
"org.kde.plasma.kickoff" # "org.kde.plasma.kickoff"
"org.kde.plasma.icontasks" {
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.marginsseparator"
"org.kde.plasma.systemtray" "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.digitalclock"
"org.kde.plasma.showdesktop"
]; ];
} }
# Global menu at the top # Global menu at the top
{ {
location = "top"; location = "top";
height = 26; height = 20;
widgets = ["org.kde.plasma.pager"]; widgets = [
"org.kde.plasma.pager"
"org.kde.plasma.windowlist"
"org.kde.plasma.marginsseparator"
];
opacity = "translucent"; opacity = "translucent";
hiding = "dodgewindows";
} }
]; ];
}; };
@ -45,4 +111,26 @@
accessibility.changeColors.mode = "InvertLightness"; accessibility.changeColors.mode = "InvertLightness";
general.mouseMode = "TextSelect"; 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;
};
};
};
};
} }