{ config, pkgs, ... }: let vars = import ./variables.nix; in { # KDE Plasma configuration via xdg config files # This provides basic theming until plasma-manager is available xdg.configFile = { # i3-style keyboard shortcuts for KWin and KDE "kglobalshortcutsrc".text = '' [kwin] # i3-style window management Window Close=Meta+Q,Alt+F4,Close Window Window Fullscreen=Meta+F,none,Make Window Fullscreen Window Maximize=Meta+Shift+F,Meta+PgUp,Maximize Window Window Minimize=Meta+Shift+N,Meta+PgDown,Minimize Window # Virtual desktop switching (like i3 workspaces) Switch to Desktop 1=Meta+1,none,Switch to Desktop 1 Switch to Desktop 2=Meta+2,none,Switch to Desktop 2 Switch to Desktop 3=Meta+3,none,Switch to Desktop 3 Switch to Desktop 4=Meta+4,none,Switch to Desktop 4 Switch to Desktop 5=Meta+5,none,Switch to Desktop 5 Switch to Desktop 6=Meta+6,none,Switch to Desktop 6 Switch to Desktop 7=Meta+7,none,Switch to Desktop 7 Switch to Desktop 8=Meta+8,none,Switch to Desktop 8 Switch to Desktop 9=Meta+9,none,Switch to Desktop 9 # Window movement Window Move Center=Meta+C,none,Move Window to Center Window Quick Tile Bottom=Meta+Shift+Down,Meta+Down,Quick Tile Window to the Bottom Window Quick Tile Top=Meta+Shift+Up,Meta+Up,Quick Tile Window to the Top Window Quick Tile Left=Meta+Shift+Left,Meta+Left,Quick Tile Window to the Left Window Quick Tile Right=Meta+Shift+Right,Meta+Right,Quick Tile Window to the Right [mediacontrol] # Volume controls (i3 media keys) mediavolumedown=XF86AudioLowerVolume,none,Media volume down mediavolumeup=XF86AudioRaiseVolume,none,Media volume up playpausemedia=XF86AudioPlay,none,Play/Pause media playback [org_kde_powerdevil] # Brightness controls (i3 brightness keys) Decrease Screen Brightness=XF86MonBrightnessDown,none,Decrease Screen Brightness Increase Screen Brightness=XF86MonBrightnessUp,none,Increase Screen Brightness [plasmashell] # Application launcher (like dmenu) activate application launcher=Meta+D\tAlt+F1,none,Activate Application Launcher Widget ''; # Plasma color scheme - cassette futurism "kdeglobals".text = '' [ColorEffects:Disabled] Color=${vars.colors.gray3} ColorAmount=0 ColorEffect=0 ContrastAmount=0.65 ContrastEffect=1 IntensityAmount=0.1 IntensityEffect=2 [ColorEffects:Inactive] ChangeSelectionColor=true Color=${vars.colors.gray4} ColorAmount=0.025 ColorEffect=2 ContrastAmount=0.1 ContrastEffect=2 Enable=false IntensityAmount=0 IntensityEffect=0 [Colors:Button] BackgroundAlternate=${vars.colors.backgroundAlt} BackgroundNormal=${vars.colors.background} DecorationFocus=${vars.colors.hotPink} DecorationHover=${vars.colors.cyan} ForegroundActive=${vars.colors.cyan} ForegroundInactive=${vars.colors.gray4} ForegroundLink=${vars.colors.purple} ForegroundNegative=${vars.colors.error} ForegroundNeutral=${vars.colors.warning} ForegroundNormal=${vars.colors.foreground} ForegroundPositive=${vars.colors.success} ForegroundVisited=${vars.colors.magenta} [Colors:Selection] BackgroundAlternate=${vars.colors.purple} BackgroundNormal=${vars.colors.hotPink} DecorationFocus=${vars.colors.cyan} DecorationHover=${vars.colors.magenta} ForegroundActive=${vars.colors.background} ForegroundInactive=${vars.colors.gray2} ForegroundLink=${vars.colors.cyan} ForegroundNegative=${vars.colors.error} ForegroundNeutral=${vars.colors.warning} ForegroundNormal=${vars.colors.background} ForegroundPositive=${vars.colors.success} ForegroundVisited=${vars.colors.purple} [Colors:Tooltip] BackgroundAlternate=${vars.colors.backgroundAlt} BackgroundNormal=${vars.colors.gray2} DecorationFocus=${vars.colors.hotPink} DecorationHover=${vars.colors.cyan} ForegroundActive=${vars.colors.cyan} ForegroundInactive=${vars.colors.gray4} ForegroundLink=${vars.colors.purple} ForegroundNegative=${vars.colors.error} ForegroundNeutral=${vars.colors.warning} ForegroundNormal=${vars.colors.foreground} ForegroundPositive=${vars.colors.success} ForegroundVisited=${vars.colors.magenta} [Colors:View] BackgroundAlternate=${vars.colors.backgroundAlt} BackgroundNormal=${vars.colors.background} DecorationFocus=${vars.colors.hotPink} DecorationHover=${vars.colors.cyan} ForegroundActive=${vars.colors.cyan} ForegroundInactive=${vars.colors.gray4} ForegroundLink=${vars.colors.purple} ForegroundNegative=${vars.colors.error} ForegroundNeutral=${vars.colors.warning} ForegroundNormal=${vars.colors.foreground} ForegroundPositive=${vars.colors.success} ForegroundVisited=${vars.colors.magenta} [Colors:Window] BackgroundAlternate=${vars.colors.backgroundAlt} BackgroundNormal=${vars.colors.background} DecorationFocus=${vars.colors.hotPink} DecorationHover=${vars.colors.cyan} ForegroundActive=${vars.colors.cyan} ForegroundInactive=${vars.colors.gray4} ForegroundLink=${vars.colors.purple} ForegroundNegative=${vars.colors.error} ForegroundNeutral=${vars.colors.warning} ForegroundNormal=${vars.colors.foreground} ForegroundPositive=${vars.colors.success} ForegroundVisited=${vars.colors.magenta} [General] ColorScheme=CassetteFuturism Name=Cassette Futurism shadeSortColumn=true [KDE] contrast=4 LookAndFeelPackage=org.kde.breezedark.desktop widgetStyle=Breeze [Icons] Theme=breeze-dark [Toolbar style] ToolButtonStyle=NoText ToolButtonStyleOtherToolbars=NoText [KDE-Global GUI Settings] GraphicEffectsLevel=5 [PreviewSettings] MaximumRemoteSize=0 [KDE Action Restrictions] action/kwin_rmb=false [Appmenu Style] Style=InApplication [MainToolbarIcons] Size=22 [WM] activeBackground=${vars.colors.background} activeBlend=${vars.colors.foreground} activeForeground=${vars.colors.foreground} inactiveBackground=${vars.colors.backgroundAlt} inactiveBlend=${vars.colors.gray3} inactiveForeground=${vars.colors.gray4} ''; # KWin configuration - effects, compositing, and i3-style shortcuts "kwinrc".text = '' [Compositing] OpenGLIsUnsafe=false Backend=OpenGL [Effect-Blur] BlurStrength=8 [Effect-translucency] Inactive=90 MoveResize=80 [Plugins] blurEnabled=true contrastEnabled=true kwin4_effect_translucencyEnabled=true slideEnabled=true zoomEnabled=false [ModifierOnlyShortcuts] Meta= [Windows] # Hide application titlebars when maximized (clean look like i3) BorderlessMaximizedWindows=true [org.kde.kdecoration2] # Minimal window decorations BorderSize=None ButtonsOnLeft= ButtonsOnRight=X ''; # Konsole color scheme "konsole/CassetteFuturism.colorscheme".text = '' [Background] Color=${vars.colors.background} [BackgroundIntense] Color=${vars.colors.backgroundAlt} [Foreground] Color=${vars.colors.foreground} [ForegroundIntense] Color=${vars.colors.cyan} [Color0] Color=${vars.colors.gray0} [Color0Intense] Color=${vars.colors.gray3} [Color1] Color=${vars.colors.error} [Color1Intense] Color=${vars.colors.hotPink} [Color2] Color=${vars.colors.success} [Color2Intense] Color=${vars.colors.foreground} [Color3] Color=${vars.colors.warning} [Color3Intense] Color=${vars.colors.yellow} [Color4] Color=${vars.colors.purple} [Color4Intense] Color=${vars.colors.magenta} [Color5] Color=${vars.colors.magenta} [Color5Intense] Color=${vars.colors.hotPink} [Color6] Color=${vars.colors.cyan} [Color6Intense] Color=${vars.colors.info} [Color7] Color=${vars.colors.gray5} [Color7Intense] Color=#FFFFFF [General] Description=Cassette Futurism Opacity=0.95 Wallpaper= ''; # Konsole profile "konsole/CassetteFuturism.profile".text = '' [Appearance] ColorScheme=CassetteFuturism Font=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0 [General] Name=Cassette Futurism Parent=FALLBACK/ [MenuBar] MenuBarVisibility=false ''; # Dolphin (file manager) - hide menubar by default "dolphinrc".text = '' [MainWindow] MenuBar=Disabled ToolBarsMovable=Disabled [General] ShowFullPath=true ''; # Kate (text editor) - hide menubar "katerc".text = '' [MainWindow] MenuBar=Disabled ''; }; # Set default Konsole profile home.file.".local/share/konsole/CassetteFuturism.profile".text = '' [Appearance] ColorScheme=CassetteFuturism Font=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0 [General] Name=Cassette Futurism Parent=FALLBACK/ ''; }