diff --git a/home/alex/home.nix b/home/alex/home.nix index 48cc283..d6211bd 100644 --- a/home/alex/home.nix +++ b/home/alex/home.nix @@ -3,10 +3,8 @@ { imports = [ ./cli.nix - ./programs/rofi - ./services/polybar - ./services/dunst - ./services/udiskie + # ./programs/xmonad/default.nix + ./programs/rofi/default.nix ]; home = { diff --git a/home/alex/programs/rofi/default.nix b/home/alex/programs/rofi/default.nix index 20d548a..2b7f6c4 100644 --- a/home/alex/programs/rofi/default.nix +++ b/home/alex/programs/rofi/default.nix @@ -1,11 +1,10 @@ { config, lib, pkgs, ... }: { - config.programs.rofi = { + programs.rofi = { enable = true; plugins = with pkgs; [ rofi-calc rofi-emoji ]; terminal = "${pkgs.alacritty}/bin/alacritty"; - theme = ./themes/gruvbox-dark-soft.rasi; pass = { enable = true; stores = [ config.programs.password-store.settings.PASSWORD_STORE_DIR ]; @@ -13,5 +12,5 @@ }; # let rofi insert emojis directly - config.home.packages = [ pkgs.xdotool ]; + home.packages = [ pkgs.xdotool ]; } diff --git a/home/alex/programs/rofi/themes/gruvbox-dark-soft.rasi b/home/alex/programs/rofi/themes/gruvbox-dark-soft.rasi deleted file mode 100644 index 597d883..0000000 --- a/home/alex/programs/rofi/themes/gruvbox-dark-soft.rasi +++ /dev/null @@ -1,191 +0,0 @@ -/* ========================================================================== - Rofi color theme - - Based on the Gruvbox color scheme for Vim by morhetz - https://github.com/morhetz/gruvbox - - File: gruvbox-dark-soft.rasi - Desc: Gruvbox dark (soft contrast) color theme for Rofi - Author: bardisty - Source: https://github.com/bardisty/gruvbox-rofi - Modified: Mon Feb 12 2018 06:04:37 PST -0800 - ========================================================================== */ - -* { - /* Theme settings */ - highlight: bold italic; - scrollbar: true; - - /* Gruvbox dark colors */ - gruvbox-dark-bg0-soft: #32302f; - gruvbox-dark-bg1: #3c3836; - gruvbox-dark-bg3: #665c54; - gruvbox-dark-fg0: #fbf1c7; - gruvbox-dark-fg1: #ebdbb2; - gruvbox-dark-red-dark: #cc241d; - gruvbox-dark-red-light: #fb4934; - gruvbox-dark-yellow-dark: #d79921; - gruvbox-dark-yellow-light: #fabd2f; - gruvbox-dark-gray: #a89984; - - /* Theme colors */ - background: @gruvbox-dark-bg0-soft; - background-color: @background; - foreground: @gruvbox-dark-fg1; - border-color: @gruvbox-dark-gray; - separatorcolor: @border-color; - scrollbar-handle: @border-color; - - normal-background: @background; - normal-foreground: @foreground; - alternate-normal-background: @gruvbox-dark-bg1; - alternate-normal-foreground: @foreground; - selected-normal-background: @gruvbox-dark-bg3; - selected-normal-foreground: @gruvbox-dark-fg0; - - active-background: @gruvbox-dark-yellow-dark; - active-foreground: @background; - alternate-active-background: @active-background; - alternate-active-foreground: @active-foreground; - selected-active-background: @gruvbox-dark-yellow-light; - selected-active-foreground: @active-foreground; - - urgent-background: @gruvbox-dark-red-dark; - urgent-foreground: @background; - alternate-urgent-background: @urgent-background; - alternate-urgent-foreground: @urgent-foreground; - selected-urgent-background: @gruvbox-dark-red-light; - selected-urgent-foreground: @urgent-foreground; -} - -/* ========================================================================== - File: gruvbox-common.rasi - Desc: Shared rules between all gruvbox themes - Author: bardisty - Source: https://github.com/bardisty/gruvbox-rofi - Modified: Mon Feb 12 2018 06:06:47 PST -0800 - ========================================================================== */ - -window { - background-color: @background; - border: 2; - padding: 2; -} - -mainbox { - border: 0; - padding: 0; -} - -message { - border: 2px 0 0; - border-color: @separatorcolor; - padding: 1px; -} - -textbox { - highlight: @highlight; - text-color: @foreground; -} - -listview { - border: 2px solid 0 0; - padding: 2px 0 0; - border-color: @separatorcolor; - spacing: 2px; - scrollbar: @scrollbar; -} - -element { - border: 0; - padding: 2px; -} - -element.normal.normal { - background-color: @normal-background; - text-color: @normal-foreground; -} - -element.normal.urgent { - background-color: @urgent-background; - text-color: @urgent-foreground; -} - -element.normal.active { - background-color: @active-background; - text-color: @active-foreground; -} - -element.selected.normal { - background-color: @selected-normal-background; - text-color: @selected-normal-foreground; -} - -element.selected.urgent { - background-color: @selected-urgent-background; - text-color: @selected-urgent-foreground; -} - -element.selected.active { - background-color: @selected-active-background; - text-color: @selected-active-foreground; -} - -element.alternate.normal { - background-color: @alternate-normal-background; - text-color: @alternate-normal-foreground; -} - -element.alternate.urgent { - background-color: @alternate-urgent-background; - text-color: @alternate-urgent-foreground; -} - -element.alternate.active { - background-color: @alternate-active-background; - text-color: @alternate-active-foreground; -} - -scrollbar { - width: 4px; - border: 0; - handle-color: @scrollbar-handle; - handle-width: 8px; - padding: 0; -} - -mode-switcher { - border: 2px 0 0; - border-color: @separatorcolor; -} - -inputbar { - spacing: 0; - text-color: @normal-foreground; - padding: 2px; - children: [ prompt, textbox-prompt-sep, entry, case-indicator ]; -} - -case-indicator, -entry, -prompt, -button { - spacing: 0; - text-color: @normal-foreground; -} - -button.selected { - background-color: @selected-normal-background; - text-color: @selected-normal-foreground; -} - -textbox-prompt-sep { - expand: false; - str: ":"; - text-color: @normal-foreground; - margin: 0 0.3em 0 0; -} -element-text, element-icon { - background-color: inherit; - text-color: inherit; -} diff --git a/home/alex/programs/xmonad/default.nix b/home/alex/programs/xmonad/default.nix new file mode 100644 index 0000000..49af6ae --- /dev/null +++ b/home/alex/programs/xmonad/default.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, ... }: + +{ + xsession = { + windowManager.command = let + xmonad = pkgs.xmonad-with-packages.override { + packages = self: [ self.xmonad-contrib ]; + }; + in "${xmonad}/bin/xmonad"; + }; +} diff --git a/home/alex/services/dunst/default.nix b/home/alex/services/dunst/default.nix deleted file mode 100644 index 4dacb5b..0000000 --- a/home/alex/services/dunst/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - config.services.dunst = { - enable = true; - iconTheme = { - name = "Adwaita"; - package = pkgs.gnome3.adwaita-icon-theme; - size = "16x16"; - }; - settings = { - global = { - monitor = 0; - geometry = "600x50-50+65"; - shrink = "yes"; - transparency = 10; - padding = 16; - horizontal_padding = 16; - font = "JetBrainsMono Nerd Font 10"; - line_height = 4; - format = "%s\\n%b"; - }; - }; - }; -} diff --git a/home/alex/services/polybar/config.ini b/home/alex/services/polybar/config.ini deleted file mode 100644 index ae11e6f..0000000 --- a/home/alex/services/polybar/config.ini +++ /dev/null @@ -1,179 +0,0 @@ -;========================================================== -; -; -; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ -; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ -; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ -; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ -; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ -; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ -; -; -; To learn more about how to configure Polybar -; go to https://github.com/polybar/polybar -; -; The README contains a lot of information -; -;========================================================== - -[colors] -background = #282A2E -background-alt = #373B41 -foreground = #C5C8C6 -primary = #F0C674 -secondary = #8ABEB7 -alert = #A54242 -disabled = #707880 - -[bar/main] -width = 100% -height = 24pt -radius = 6 - -; dpi = 96 - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 3pt - -border-size = 4pt -border-color = #00000000 - -padding-left = 0 -padding-right = 1 - -module-margin = 1 - -separator = | -separator-foreground = ${colors.disabled} - -font-0 = monospace;2 - -modules-left = xworkspaces xwindow -modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date - -cursor-click = pointer -cursor-scroll = ns-resize - -enable-ipc = true - -tray-position = center - -; wm-restack = generic -; wm-restack = bspwm -; wm-restack = i3 - -; override-redirect = true - -[module/systray] -type = internal/tray - -format-margin = 8pt -tray-spacing = 16pt -tray-position = center - -[module/xworkspaces] -type = internal/xworkspaces - -label-active = %name% -label-active-background = ${colors.background-alt} -label-active-underline= ${colors.primary} -label-active-padding = 1 - -label-occupied = %name% -label-occupied-padding = 1 - -label-urgent = %name% -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 - -label-empty = %name% -label-empty-foreground = ${colors.disabled} -label-empty-padding = 1 - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% - -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.disabled} - -[module/pulseaudio] -type = internal/pulseaudio - -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} -format-volume = - -label-volume = %percentage%% - -label-muted = muted -label-muted-foreground = ${colors.disabled} - -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock - -label-layout = %layout% -label-layout-foreground = ${colors.primary} - -label-indicator-padding = 2 -label-indicator-margin = 1 -label-indicator-foreground = ${colors.background} -label-indicator-background = ${colors.secondary} - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = "RAM " -format-prefix-foreground = ${colors.primary} -label = %percentage_used:2%% - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = "CPU " -format-prefix-foreground = ${colors.primary} -label = %percentage:2%% - -[network-base] -type = internal/network -interval = 5 -format-connected = -format-disconnected = -label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected - -[module/wlan] -inherit = network-base -interface-type = wireless -label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% - -[module/eth] -inherit = network-base -interface-type = wired -label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% - -[module/date] -type = internal/date -interval = 1 - -date = %H:%M -date-alt = %Y-%m-%d %H:%M:%S - -label = %date% -label-foreground = ${colors.primary} - -[settings] -screenchange-reload = true -pseudo-transparency = true - -; vim:ft=dosini diff --git a/home/alex/services/polybar/default.nix b/home/alex/services/polybar/default.nix deleted file mode 100644 index c5f07c7..0000000 --- a/home/alex/services/polybar/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, lib, pkgs, ... }: -let - mypolybar = pkgs.polybar.override { - alsaSupport = true; - mpdSupport = true; - pulseSupport = true; - }; -in { - config.home.packages = with pkgs; [ font-awesome material-design-icons ]; - - config.services.polybar = { - enable = true; - package = mypolybar; - config = ./config.ini; - script = '' - polybar & disown - ''; - }; -} diff --git a/home/alex/services/udiskie/default.nix b/home/alex/services/udiskie/default.nix deleted file mode 100644 index da7a5e2..0000000 --- a/home/alex/services/udiskie/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - config.services.udiskie = { - enable = true; - tray = "always"; - }; -} diff --git a/modules/wm/xmonad/config.hs b/modules/wm/xmonad/config.hs index 486ac96..a946326 100644 --- a/modules/wm/xmonad/config.hs +++ b/modules/wm/xmonad/config.hs @@ -1,10 +1,6 @@ import XMonad import XMonad.Util.Ungrab (unGrab) -import XMonad.Layout.ThreeColumns -import XMonad.Layout.Magnifier (magnifiercz') -import XMonad.Hooks.EwmhDesktops -import qualified XMonad.Hooks.ManageDocks as Docks -import qualified XMonad.Util.EZConfig as EZ +import XMonad.Util.EZConfig (additionalKeys, additionalKeysP) import Control.Monad (when) import Text.Printf (printf) import System.Posix.Process (executeFile) @@ -24,28 +20,21 @@ compileRestart resume = do executeFile (cacheDir dirs compiledConfig) False args Nothing ) -myLayout = Docks.avoidStruts (tiled ||| Mirror tiled ||| Full ||| columns) - where - tiled = Tall nmaster delta ratio - columns = magnifiercz' 1.3 $ ThreeColMid nmaster delta ratio - nmaster = 1 -- default number of windows in the master pane - ratio = 1/2 -- default proportion occupied by master pane - delta = 3/100 -- percent of screen to increment when resizing - main :: IO () main = getDirectories >>= launch myConfig -myConfig = ewmhFullscreen $ ewmh $ Docks.docks $ def +myConfig = defaultConfig { modMask = mod4Mask -- Use Super instead of Alt , terminal = "alacritty" - , layoutHook = myLayout } - `EZ.additionalKeysP` + `additionalKeys` + [ ( (mod4Mask,xK_r), compileRestart True) + , ( (mod4Mask,xK_q), restart "xmonad" True ) + ] + `additionalKeysP` [ ("M-S-z", spawn "xscreensaver-command -lock") - , ("M-S-r", compileRestart True) - , ("M-S-q", restart "xmonad" True) - , ("M-C-s", unGrab *> spawn "scrot -s") - , ("M-b", sendMessage Docks.ToggleStruts) + , ("M-C-s", unGrab *> spawn "scrot -s" ) + , ("M-f" , spawn "firefox" ) ] diff --git a/modules/wm/xmonad/default.nix b/modules/wm/xmonad/default.nix index 988cd29..9473dae 100644 --- a/modules/wm/xmonad/default.nix +++ b/modules/wm/xmonad/default.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - config.services = { + services = { upower.enable = true; xserver = { @@ -9,10 +9,9 @@ enable = true; enableContribAndExtras = true; config = ./config.hs; - extraPackages = hp: [ hp.dbus hp.monad-logger hp.xmonad-contrib ]; }; }; }; - config.systemd.services.upower.enable = true; + systemd.services.upower.enable = true; }