This commit is contained in:
notgne2 2022-09-21 07:06:15 -07:00
parent cf401b300c
commit 83aa4d9424
Signed by: notgne2
GPG Key ID: 5CE0A245A2DAC84A
15 changed files with 620 additions and 198 deletions

View File

@ -54,6 +54,9 @@
url = "github:nix-community/npmlock2nix";
flake = false;
};
plasma-manager = {
url = "github:pjones/plasma-manager";
};
};
outputs = { self, nixpkgs, ... }@inputs: {
@ -65,6 +68,7 @@
workstation = import ./modules/workstation.nix;
ezpw = import ./modules/ezpw.nix;
de2 = import ./home-manager/modules/de2.nix;
de3 = import ./home-manager/modules/de3.nix;
all = import ./modules/default.nix;
};
@ -73,9 +77,8 @@
colors = import ./home-manager/modules/colors.nix inputs;
fonts = import ./home-manager/modules/fonts.nix;
gaming = import ./home-manager/modules/gaming.nix inputs;
gamerenv = import ./home-manager/modules/gamerenv.nix;
kermit = import ./home-manager/modules/kermit.nix;
de2u = import ./home-manager/modules/de2u.nix inputs;
de3u = import ./home-manager/modules/de3u.nix inputs;
all = import ./home-manager/modules/default.nix inputs;
};

View File

@ -2,7 +2,7 @@ inputs:
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.colors;
cfg = config.ezcolors;
pow = n: i: if i == 1 then n else if i == 0 then 1 else n * pow n (i - 1);
@ -77,7 +77,7 @@ let
};
in
{
options.colors = {
options.ezcolors = {
enable = mkEnableOption "Enable automatic colors";
base16Rgb = mkOption {
@ -243,9 +243,9 @@ in
in
mkIf cfg.enable {
# Read only utility attributes
colors.base16 = if builtins.typeOf cfg.baseColors == "set" then cfg.baseColors else base16FromImage;
colors.base16Rgb = builtins.mapAttrs hexToRgb cfg.base16;
colors.base16Split = builtins.mapAttrs splitHex cfg.base16;
ezcolors.base16 = if builtins.typeOf cfg.baseColors == "set" then cfg.baseColors else base16FromImage;
ezcolors.base16Rgb = builtins.mapAttrs hexToRgb cfg.base16;
ezcolors.base16Split = builtins.mapAttrs splitHex cfg.base16;
# Element
xdg.configFile."Riot/config.json".text = builtins.toJSON elementConfig;

View File

@ -22,8 +22,8 @@ in
};
config = mkIf cfg.enable {
colors.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
ezcolors.enable = lib.mkDefault true;
ezfonts.enable = lib.mkDefault true;
systemd.user.services.yubikey-touch-detector = {
Service = {
@ -156,10 +156,7 @@ in
};
xdg.configFile."mimeapps.list".force = true;
xdg.mimeApps = {
enable = true;
defaultApplications =
let
xdg.mimeApps = let
browser =
if config.programs.firefox.enable then
(
@ -170,13 +167,38 @@ in
)
else
"chromium-browser.desktop";
in
{
apps = {
"text/plain" = "org.gnome.TextEditor.desktop";
"inode/directory" = "org.gnome.Nautilus.desktop";
"image/*" = "org.gnome.eog.desktop";
# and because mimeapps.list is DUMB
"image/jpeg" = "org.gnome.eog.desktop";
"image/bmp" = "org.gnome.eog.desktop";
"image/gif" = "org.gnome.eog.desktop";
"image/jpg" = "org.gnome.eog.desktop";
"image/pjpeg" = "org.gnome.eog.desktop";
"image/png" = "org.gnome.eog.desktop";
"image/tiff" = "org.gnome.eog.desktop";
"image/x-bmp" = "org.gnome.eog.desktop";
"image/x-gray" = "org.gnome.eog.desktop";
"image/x-icb" = "org.gnome.eog.desktop";
"image/x-ico" = "org.gnome.eog.desktop";
"image/x-png" = "org.gnome.eog.desktop";
"image/x-portable-anymap" = "org.gnome.eog.desktop";
"image/x-portable-bitmap" = "org.gnome.eog.desktop";
"image/x-portable-graymap" = "org.gnome.eog.desktop";
"image/x-portable-pixmap" = "org.gnome.eog.desktop";
"image/x-xbitmap" = "org.gnome.eog.desktop";
"image/x-xpixmap" = "org.gnome.eog.desktop";
"image/x-pcx" = "org.gnome.eog.desktop";
"image/svg+xml" = "org.gnome.eog.desktop";
"image/svg+xml-compressed" = "org.gnome.eog.desktop";
"image/vnd.wap.wbmp" = "org.gnome.eog.desktop";
"image/x-icns" = "org.gnome.eog.desktop";
"video/*" = "org.gnome.Totem.desktop";
"text/html" = browser;
@ -190,10 +212,13 @@ in
"application/rar" = "org.gnome.FileRoller.desktop";
"application/7z" = "org.gnome.FileRoller.desktop";
"application/*tar" = "org.gnome.FileRoller.desktop";
"x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop";
"x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop";
};
in {
enable = true;
associations.added = apps;
defaultApplications = apps;
};
dconf.settings = with lib.hm.gvariant; {
@ -219,7 +244,7 @@ in
tray-pos = "center";
};
"org/gnome/shell/extensions/user-theme" = {
name = if config.colors.enable then "Generated" else "Default";
name = if config.ezcolors.enable then "Generated" else "Default";
};
"org/gnome/shell/extensions/just-perfection" = {
# activities-button = !cfg.tiling; # conflicts with unite?

View File

@ -0,0 +1,376 @@
inputs:
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.de3u;
in
{
imports = [
inputs.plasma-manager.homeManagerModules.plasma-manager
];
options.de3u = {
enable = mkEnableOption "Enable de3 user stuff";
tiling = mkOption {
type = types.bool;
default = true;
description = "Enable tiling stuff";
};
touch = mkOption {
type = types.bool;
default = false;
description = "Make usable for touchscreens";
};
};
config = mkIf cfg.enable {
ezcolors.enable = lib.mkDefault true;
ezfonts.enable = lib.mkDefault true;
home.file."${config.home.homeDirectory}/.gtkrc-2.0".force = true;
gtk.cursorTheme.name = "breeze_cursors";
gtk.cursorTheme.size = 24;
gtk.iconTheme.name = "breeze-dark";
gtk.gtk2.extraConfig = ''
gtk-primary-button-warps-slider=0
gtk-toolbar-style=3
gtk-menu-images=1
gtk-button-images=1
'';
programs.plasma = {
enable = true;
workspace = {
clickItemTo = "open";
};
files = {
kwinrc = {
Plugins.bismuthEnabled = true;
"Effect-windowview".BorderActivateAll = 9;
Windows = {
SeparateScreenFocus = true;
FocusPolicy = "FocusFollowsMouse";
DelayFocusInterval = 150;
};
Desktops = {
Name_1 = "Desktop 1";
Name_2 = "Desktop 2";
Name_3 = "Desktop 3";
Name_4 = "Desktop 4";
Name_5 = "Desktop 5";
Name_6 = "Desktop 6";
Name_7 = "Desktop 7";
Name_8 = "Desktop 8";
Name_9 = "Desktop 9";
Id_1 = "00b35302-cb53-4916-a0dc-298be5ff8aa5";
Id_2 = "42f85748-5f93-4071-a52e-98d073ffaeb5";
Id_3 = "08fadbbc-5dcd-4cb6-b2f1-c2c75ac7f502";
Id_4 = "cb38b6b0-6027-4ef0-a249-0cdb74bfcb82";
Id_5 = "18e21702-5ee1-4093-85e8-ba7fc2d97f56";
Id_6 = "012bd0db-84ab-4f9a-8eb2-8ea50b23357e";
Id_7 = "97465b5b-3409-47d6-9b89-a57e1906edc3";
Id_8 = "f7d25083-250e-4bcf-84ee-340af7ad0eeb";
Id_9 = "b8c3616c-7cef-4e67-92cf-661f3d32833e";
Number = 9;
};
"Script-bismuth" = {
untileByDragging = false;
};
};
kdeglobals.General = {
BrowserApplication =
if config.programs.firefox.enable then
(
if config.programs.firefox.package.pname == "firefox" then
"firefox.desktop"
else
"librewolf.desktop"
)
else
"chromium-browser.desktop";
TerminalApplication = "kermit";
TerminalService = "kermit.desktop";
};
kwalletrc = {
Wallet.Enabled = false;
"org.freedesktop.secrets".apiEnabled = false;
};
};
hotkeys.commands."Launch Kermit" = {
key = "Meta+T";
command = "kermit";
};
shortcuts = {
"org.kde.krunner.desktop"."_launch" = ["Meta+D" "Search" "Alt+Space"];
plasmashell = {
"activate task manager entry 1" = [ ];
"activate task manager entry 2" = [ ];
"activate task manager entry 3" = [ ];
"activate task manager entry 4" = [ ];
"activate task manager entry 5" = [ ];
"activate task manager entry 6" = [ ];
"activate task manager entry 7" = [ ];
"activate task manager entry 8" = [ ];
"activate task manager entry 9" = [ ];
"activate task manager entry 10" = [ ];
"next activity" = [ ];
"manage activities" = [ ];
};
kwin = {
"Window Quick Tile Left" = [];
"Window Quick Tile Right" = [];
"Window Quick Tile Top" = [];
"Window Quick Tile Bottom" = [];
"Switch to Desktop 1" = "Meta+1";
"Switch to Desktop 2" = "Meta+2";
"Switch to Desktop 3" = "Meta+3";
"Switch to Desktop 4" = "Meta+4";
"Switch to Desktop 5" = "Meta+5";
"Switch to Desktop 6" = "Meta+6";
"Switch to Desktop 7" = "Meta+7";
"Switch to Desktop 8" = "Meta+8";
"Switch to Desktop 9" = "Meta+9";
"Window to Desktop 1" = "Meta+!";
"Window to Desktop 2" = "Meta+@";
"Window to Desktop 3" = "Meta+#";
"Window to Desktop 4" = "Meta+$";
"Window to Desktop 5" = "Meta+%";
"Window to Desktop 6" = "Meta+^";
"Window to Desktop 7" = "Meta+&";
"Window to Desktop 8" = "Meta+*";
"Window to Desktop 9" = "Meta+(";
"Window Close" = "Meta+Q";
"Window Fullscreen" = "Meta+F";
view_zoom_in = "Meta++";
view_zoom_out = "Meta+_";
"Window to Next Screen" = "Meta+>";
"Window to Previous Screen" ="Meta+<";
"Switch to Next Screen" = "Meta+.";
"Switch to Previous Screen" ="Meta+,";
"Show Desktop" = [ ];
"Window On All Desktops" = "Meta+A";
};
bismuth = {
focus_next_window = "Meta+Tab";
focus_prev_window = "Meta+Shift+Tab";
focus_bottom_window = "Meta+Down";
focus_left_window = "Meta+Left";
focus_right_window = "Meta+Right";
focus_upper_window = "Meta+Up";
next_layout = "Meta+Space";
prev_layout = "Meta+Shift+Space";
toggle_window_floating = "Meta+S";
increase_window_height = "Meta+Shift+Up";
decrease_window_height = "Meta+Shift+Down";
increase_window_width = "Meta+Shift+Right";
decrease_window_width = "Meta+Shift+Left";
increase_master_size = "Meta+=";
decrease_master_size = "Meta+-";
decrease_master_win_count = [ ];
increase_master_win_count = [ ];
move_window_to_bottom_pos = [ ];
move_window_to_left_pos = [ ];
move_window_to_next_pos = [ ];
move_window_to_prev_pos = [ ];
move_window_to_right_pos = [ ];
move_window_to_upper_pos = [ ];
push_window_to_master = [ ];
rotate = [ ];
rotate_part = [ ];
rotate_reverse = [ ];
toggle_float_layout = [ ];
toggle_monocle_layout = [ ];
toggle_quarter_layout = [ ];
toggle_spiral_layout = [ ];
toggle_spread_layout = [ ];
toggle_stair_layout = [ ];
toggle_three_column_layout = [ ];
toggle_tile_layout = [ ];
};
};
};
systemd.user.services.yubikey-touch-detector = {
Service = {
ExecStart = toString (pkgs.writeShellScript "yubikey-touch-detector-libnotify" ''
export SSH_AUTH_SOCK="$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)"
${pkgs.yubikey-touch-detector}/bin/yubikey-touch-detector -libnotify
'');
};
Install = rec {
WantedBy = [ "graphical-session.target" ];
};
};
programs.firefox = {
enable = lib.mkDefault true;
package = lib.mkDefault (librewolf.override {
cfg = {
enableGnomeExtensions = true;
pipewireSupport = true;
};
});
extensions = lib.optionals (pkgs ? nur.repos.rycee.firefox-addons) (with pkgs.nur.repos.rycee.firefox-addons; [
darkreader
bitwarden
violentmonkey
canvasblocker
sponsorblock
stylus
vimium
]);
profiles.default = {
settings = {
"browser.startup.homepage" = "https://wizbos.club";
# Make the browser usable, if I wanted autism privacy, I would use TOR browser.
"privacy.resistFingerprinting" = false;
"webgl.disabled" = false;
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.cookies" = false;
"privacy.clearOnShutdown.sessions" = false;
"privacy.clearOnShutdown.cache" = false;
"places.history.enabled" = true;
"network.dns.disableIPv6" = false;
"media.peerconnection.ice.no_host" = false;
# Make Jitsi work sanely
"media.setsinkid.enabled" = true;
"privacy.webrtc.legacyGlobalIndicator" = false;
"privacy.webrtc.hideGlobalIndicator" = true;
# good tweaks
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"layers.acceleration.force-enabled" = true;
"gfx.webrender.all" = true;
"svg.context-properties.content.enabled" = true;
"reader.color_scheme" = "dark";
# # LibreWolf ruins the user agent making sites unusable without RFP, so use the user agent from RFP manually. This also seems sane for compatibility when using Firefox.
# "general.useragent.override" = "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";
# set the user agent to a _realistic_ user agent because cloudflare keeps sniffing my balls
"general.useragent.override" = "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0";
};
};
};
programs.kermit = {
enable = lib.mkDefault true;
settings = {
key = lib.mkDefault "shift";
opacity = lib.mkDefault "1";
};
};
home.packages = with pkgs; [
plasma5Packages.bismuth
plasma5Packages.kate
xdg-desktop-portal-kde
];
systemd.user.sessionVariables = {
MOZ_ENABLE_WAYLAND = "1";
QT_WAYLAND_DISABLE_WINDOWDECORATION = lib.mkIf (cfg.tiling && !cfg.touch) "1";
};
xdg.configFile."mimeapps.list".force = true;
xdg.mimeApps = let
browser =
if config.programs.firefox.enable then
(
if config.programs.firefox.package.pname == "firefox" then
"firefox.desktop"
else
"librewolf.desktop"
)
else
"chromium-browser.desktop";
apps = {
"text/plain" = "org.kde.kate.desktop";
"inode/directory" = "org.kde.dolphin.desktop";
"image/*" = "org.kde.gwenview.desktop";
# and because mimeapps.list is DUMB
"image/jpeg" = "org.kde.gwenview.desktop";
"image/bmp" = "org.kde.gwenview.desktop";
"image/gif" = "org.kde.gwenview.desktop";
"image/jpg" = "org.kde.gwenview.desktop";
"image/pjpeg" = "org.kde.gwenview.desktop";
"image/png" = "org.kde.gwenview.desktop";
"image/tiff" = "org.kde.gwenview.desktop";
"image/x-bmp" = "org.kde.gwenview.desktop";
"image/x-gray" = "org.kde.gwenview.desktop";
"image/x-icb" = "org.kde.gwenview.desktop";
"image/x-ico" = "org.kde.gwenview.desktop";
"image/x-png" = "org.kde.gwenview.desktop";
"image/x-portable-anymap" = "org.kde.gwenview.desktop";
"image/x-portable-bitmap" = "org.kde.gwenview.desktop";
"image/x-portable-graymap" = "org.kde.gwenview.desktop";
"image/x-portable-pixmap" = "org.kde.gwenview.desktop";
"image/x-xbitmap" = "org.kde.gwenview.desktop";
"image/x-xpixmap" = "org.kde.gwenview.desktop";
"image/x-pcx" = "org.kde.gwenview.desktop";
"image/svg+xml" = "org.kde.gwenview.desktop";
"image/svg+xml-compressed" = "org.kde.gwenview.desktop";
"image/vnd.wap.wbmp" = "org.kde.gwenview.desktop";
"image/x-icns" = "org.kde.gwenview.desktop";
# "video/*" = "org.gnome.Totem.desktop";
"text/html" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/about" = browser;
# "x-scheme-handler/mailto" = "org.gnome.Geary.desktop";
# "application/zip" = "org.gnome.FileRoller.desktop";
# "application/rar" = "org.gnome.FileRoller.desktop";
# "application/7z" = "org.gnome.FileRoller.desktop";
# "application/*tar" = "org.gnome.FileRoller.desktop";
# "x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop";
# "x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop";
};
in {
enable = true;
associations.added = apps;
defaultApplications = apps;
};
};
}

View File

@ -9,9 +9,9 @@ inputs:
(import ./ezpcusr.nix inputs)
(import ./colors.nix inputs)
(import ./gaming.nix inputs)
./gamerenv.nix
./fonts.nix
./kermit.nix
(import ./de2u.nix inputs)
(import ./de3u.nix inputs)
];
}

View File

@ -4,7 +4,7 @@ with lib;
let
cfg = config.ezpcusr;
lockCommand = "${pkgs.swaylock-effects}/bin/swaylock --clock --indicator --screenshots --effect-scale 0.8 --effect-blur 8x3 --effect-vignette 0.2:0.5 --fade-in 0.5 --text-color ${config.colors.base16.base08} --inside-color ${config.colors.base16.base00} --ring-color ${config.colors.base16.base01} --datestr \"%Y-%m-%e\" --timestr \"%I:%M %p\"";
lockCommand = "${pkgs.swaylock-effects}/bin/swaylock --clock --indicator --screenshots --effect-scale 0.8 --effect-blur 8x3 --effect-vignette 0.2:0.5 --fade-in 0.5 --text-color ${config.ezcolors.base16.base08} --inside-color ${config.ezcolors.base16.base00} --ring-color ${config.ezcolors.base16.base01} --datestr \"%Y-%m-%e\" --timestr \"%I:%M %p\"";
selshot = pkgs.writeScript "selshot.sh" ''
#!${pkgs.zsh}/bin/zsh
@ -503,13 +503,13 @@ in
style = ''
window#waybar {
background: #${config.colors.base16.base01};
color: #${config.colors.base16.base06};
background: #${config.ezcolors.base16.base01};
color: #${config.ezcolors.base16.base06};
}
#custom-spacer {
font-size: 12px;
color: #${config.colors.base16.base00};
color: #${config.ezcolors.base16.base00};
font-weight: bold;
margin: 0;
padding: 0;
@ -531,7 +531,7 @@ in
#custom-weather-precip,
#custom-weather-wind,
#custom-media {
background: #${config.colors.base16.base00};
background: #${config.ezcolors.base16.base00};
padding: 5px 0;
margin: 0;
}
@ -546,32 +546,32 @@ in
#custom-weather-wind { padding: 0 0 5px 0; }
#custom-media.playing {
color: #${config.colors.base16.base0A};
color: #${config.ezcolors.base16.base0A};
}
#workspaces button.focused {
color: #${config.colors.base16.base0A};
color: #${config.ezcolors.base16.base0A};
}
#workspaces button:hover {
background: #${config.colors.base16.base02};
background: #${config.ezcolors.base16.base02};
}
#pulseaudio {
color: #${config.colors.base16.base0B};
color: #${config.ezcolors.base16.base0B};
}
#memory {
color: #${config.colors.base16.base0C};
color: #${config.ezcolors.base16.base0C};
}
#cpu {
color: #${config.colors.base16.base0D};
color: #${config.ezcolors.base16.base0D};
}
#battery {
color: #${config.colors.base16.base0E};
color: #${config.ezcolors.base16.base0E};
}
* {
font-family: "${config.fonts.favFont.name}";
font-size: ${toString (config.fonts.favFont.size + 1)}px;
font-family: "${config.ezfonts.font.name}";
font-size: ${toString (config.ezfonts.font.size + 1)}px;
border-radius: 0;
border: none;
}
@ -596,8 +596,8 @@ in
};
};
colors.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
ezcolors.enable = lib.mkDefault true;
ezfonts.enable = lib.mkDefault true;
programs.chromium.enable = lib.mkDefault true;

View File

@ -1,13 +1,18 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.fonts;
in
{
options.fonts = {
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.ezfonts;
in {
options.ezfonts = {
enable = mkEnableOption "Enable automatic fonts";
favFont = mkOption {
plasma = mkEnableOption "Enable automatic for plasma (using plasma-manager)";
font = mkOption {
description = "Your favourite font";
default = {};
type = types.submodule {
@ -32,41 +37,54 @@ in
};
};
config =
mkIf cfg.enable {
config = mkMerge [
(mkIf cfg.enable {
fonts.fontconfig.enable = lib.mkDefault true;
home.packages = [ cfg.favFont.package ];
home.packages = [cfg.font.package];
programs.vscode.userSettings = {
"editor.fontFamily" = "\"${cfg.favFont.name}\"";
"editor.fontFamily" = "\"${cfg.font.name}\"";
};
gtk.font = {
package = cfg.favFont.package;
name = "${cfg.favFont.name} ${toString cfg.favFont.size}";
package = cfg.font.package;
name = "${cfg.font.name} ${toString cfg.font.size}";
};
programs.kitty.settings = {
font_family = cfg.favFont.name;
font_size = cfg.favFont.size;
font_family = cfg.font.name;
font_size = cfg.font.size;
};
programs.kermit.settings = {
font = "${cfg.favFont.name}, normal ${toString cfg.favFont.size}";
font = "${cfg.font.name}, normal ${toString cfg.font.size}";
};
programs.rofi.font = "${cfg.favFont.name} ${toString cfg.favFont.size}";
programs.rofi.font = "${cfg.font.name} ${toString cfg.font.size}";
programs.mako.font = "${cfg.favFont.name} ${toString cfg.favFont.size}";
programs.mako.font = "${cfg.font.name} ${toString cfg.font.size}";
wayland.windowManager.sway.config.fonts = {
names = [ cfg.favFont.name ];
size = cfg.favFont.size + 0.0;
names = [cfg.font.name];
size = cfg.font.size + 0.0;
};
xsession.windowManager.i3.config.fonts = [ cfg.favFont.name ];
xsession.windowManager.i3.config.fonts = [cfg.font.name];
programs.neovim.extraConfig = ''
set guifont=${lib.replaceChars [ " " ] [ "\\ " ] cfg.favFont.name}:h${toString (cfg.favFont.size + 0.5)}
set guifont=${lib.replaceChars [" "] ["\\ "] cfg.font.name}:h${toString (cfg.font.size + 0.5)}
'';
})
(mkIf (cfg.enable && cfg.plasma) {
programs.plasma.files = {
kdeglobals.General = {
fixed = "${cfg.font.name},${toString cfg.font.size},-1,5,50,0,0,0,0,0";
font = "${cfg.font.name},${toString cfg.font.size},-1,5,50,0,0,0,0,0";
menuFont = "${cfg.font.name},${toString cfg.font.size},-1,5,50,0,0,0,0,0";
smallestReadableFont = "${cfg.font.name},${toString (cfg.font.size - 2)},-1,5,50,0,0,0,0,0";
toolBarFont = "${cfg.font.name},${toString cfg.font.size},-1,5,50,0,0,0,0,0";
};
kdeglobals.WM.activeFont = "${cfg.font.name},${toString cfg.font.size},-1,5,50,0,0,0,0,0";
};
})
];
}

View File

@ -1,51 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.gamerenv;
in
{
options.gamerenv = {
enable = mkEnableOption "Enable gaming environment stuff";
};
config = mkIf cfg.enable {
programs.rofi = {
enable = lib.mkDefault true;
terminal = lib.mkDefault "${pkgs.kitty}/bin/kitty";
};
programs.kitty.enable = lib.mkDefault true;
programs.chromium.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
colors = {
enable = lib.mkDefault true;
};
home.packages = with pkgs; [
ark
unzip
unrar
mpv
];
xsession.enable = true;
xsession.windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
config = {
modifier = "Mod1";
terminal = "${pkgs.kitty}/bin/kitty";
floating.criteria = [{ class = "[.]*"; }];
defaultWorkspace = "workspace number 1";
keybindings = lib.mkOptionDefault {
"Mod1+F4" = "kill";
"${config.xsession.windowManager.i3.config.modifier}+q" = "kill";
};
};
};
};
}

View File

@ -31,6 +31,10 @@ in
}
cfg.settings) + cfg.extraConfig;
home.packages = [ pkgs.kermit-terminal ];
home.packages = [ (pkgs.kermit-terminal.overrideAttrs (super: {
postInstall = ''
sed -i 's/\/usr\/bin\///' $out/share/applications/kermit.desktop
'';
})) ];
};
}

View File

@ -205,13 +205,13 @@ in
echo "https://p.gen2.space/uploads/$fileid.$extension"
'';
fonts.favFont = {
ezfonts.font = {
name = "Anonymice Nerd Font";
package = pkgs.nerdfonts.override { fonts = [ "AnonymousPro" ]; };
size = 11;
};
colors.baseColors = {
ezcolors.baseColors = {
base00 = "282936";
base01 = "3a3c4e";
base02 = "4d4f68";

39
modules/de3.nix Normal file
View File

@ -0,0 +1,39 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.de3;
in {
options.de3.enable = mkEnableOption "Enable de3 system stuff";
config = mkIf cfg.enable {
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [ typing-booster uniemoji ];
};
xdg.portal.enable = lib.mkDefault true;
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-kde
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
];
services.xserver = {
enable = lib.mkDefault true;
displayManager.sddm.enable = lib.mkDefault true;
desktopManager.plasma5.enable = lib.mkDefault true;
};
hardware.pulseaudio.enable = false;
services.power-profiles-daemon.enable = lib.mkDefault false;
# for KDE connect
networking.firewall.allowedTCPPortRanges = [{
from = 1714;
to = 1764;
}];
networking.firewall.allowedUDPPortRanges = [{
from = 1714;
to = 1764;
}];
};
}

View File

@ -9,5 +9,6 @@
./workstation.nix
./ezpw.nix
./de2.nix
./de3.nix
];
}

View File

@ -199,7 +199,6 @@ in {
'';
xdg.portal.enable = lib.mkDefault true;
xdg.portal.gtkUsePortal = lib.mkDefault true;
xdg.portal.extraPortals = lib.mkDefault (with pkgs; [
xdg-desktop-portal-gnome
xdg-desktop-portal-wlr

View File

@ -16,8 +16,9 @@ in
config = mkIf cfg.enable {
# Enable CUPS and SANE for printing and scanning
services.printing.enable = true;
services.printing.drivers = with pkgs; [
services.printing = {
enable = true;
drivers = with pkgs; [
gutenprint
gutenprintBin
@ -54,7 +55,7 @@ in
cups-dymo
cups-kyocera
# cups-kyocera # mirror is down
cups-kyocera-ecosys-m552x-p502x
# cups-kyodialog3 # Mirror is down
@ -87,14 +88,19 @@ in
})
(fixPlatforms mfcl8690cdwlpr)
];
hardware.sane.enable = true;
hardware.sane.brscan4.enable = true;
hardware.sane.extraBackends = with pkgs; [
};
hardware.sane = {
enable = true;
brscan4.enable = true;
brscan5.enable = true;
dsseries.enable = true;
drivers.scanSnap.enable = true;
extraBackends = with pkgs; [
utsushi
epkowa
hplipWithPlugin
brscan4
dsseries
];
};
services.udev.packages = [ pkgs.utsushi ];
};
}

View File

@ -171,6 +171,8 @@ in {
"podman"
"input"
"uinput"
"scanner"
"lp"
];
subUidRanges = [{