From 7f4ad08cb3e96c655ca3e16d63ccd104771a10ec Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 22 Apr 2018 13:38:44 +0200 Subject: Start tracking NixOS home-manager configuration Placed in ~/.config/nixpkgs/ --- conf/xmonad/xmonad.hs | 60 ++++++++++++++++++ config.nix | 3 + home.nix | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 235 insertions(+) create mode 100644 conf/xmonad/xmonad.hs create mode 100644 config.nix create mode 100644 home.nix diff --git a/conf/xmonad/xmonad.hs b/conf/xmonad/xmonad.hs new file mode 100644 index 0000000..32f4813 --- /dev/null +++ b/conf/xmonad/xmonad.hs @@ -0,0 +1,60 @@ +import XMonad +import XMonad.Util.EZConfig +import XMonad.Hooks.EwmhDesktops +import XMonad.StackSet + +import XMonad.Layout.NoBorders +import XMonad.Layout.Tabbed +import XMonad.Layout.Reflect +import XMonad.Util.Themes + +import XMonad.Actions.SpawnOn +import XMonad.Actions.CycleWS + +customTabTheme = (theme xmonadTheme) + { fontName = "xft:Iosevka Medium-12" + , decoHeight = 20 + , activeTextColor = "#222222" + , activeColor = "#aadb0f" + , inactiveTextColor = "#999999" + , inactiveColor = "#161616" + , activeBorderColor = "#aadb0f" + , inactiveBorderColor = "#161616" } + +availableLayouts = smartBorders $ tabs ||| tilesLM ||| tilesRM ||| tilesTM ||| tilesBM + where + tabs = tabbed shrinkText customTabTheme + tilesLM = Tall 1 delta ratio + tilesRM = reflectHoriz tilesLM + tilesTM = Mirror tilesLM + tilesBM = reflectVert tilesTM + ratio = 1/2 + delta = 3/100 + +main = xmonad $ ewmh defaultConfig + { modMask = mod4Mask -- super key as modifier + , borderWidth = 3 + , normalBorderColor = "#161616" + , focusedBorderColor = "#aadb0f" + , terminal = "urxvt" + , handleEventHook = handleEventHook defaultConfig <+> fullscreenEventHook + , layoutHook = availableLayouts + } + `removeKeysP` + [ "M-S-" ] + `additionalKeysP` +-- application launchers + [ ("M-p" , spawn "rofi -show combi") + , ("M-" , spawn "urxvt") + , ("M-" , spawn "vim -g") +-- actual window management + , ("M-" , prevWS) + , ("M-" , nextWS) + , ("M-S-" , shiftToPrev >> prevWS) + , ("M-S-" , shiftToNext >> nextWS) + , ("M-S-m" , windows swapMaster) +-- system control + , ("M-s " , spawn "amixer sset Master 10%+") + , ("M-s " , spawn "amixer sset Master 10%-") + , ("M-s m" , spawn "amixer sset Master toggle") + ] diff --git a/config.nix b/config.nix new file mode 100644 index 0000000..1dd1750 --- /dev/null +++ b/config.nix @@ -0,0 +1,3 @@ +{ + allowUnfree = true; +} diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..4d39cd7 --- /dev/null +++ b/home.nix @@ -0,0 +1,172 @@ +{ pkgs, ... }: + +{ + programs.home-manager = { + enable = true; + path = ''https://github.com/rycee/home-manager/archive/master.tar.gz''; + }; + + home.packages = with pkgs; [ + rxvt_unicode + pcmanfm + zathura + sxiv + mpv + iosevka + tdesktop + veracrypt + ]; + + programs.git = { + enable = true; + userName = "Adrian Kummerlaender"; + userEmail = "knairda@t-online.de"; + extraConfig.core.editor = "vim"; + }; + + home.keyboard.layout = "de"; + + services.gpg-agent = { + enable = true; + defaultCacheTtl = 120; + enableSshSupport = true; + defaultCacheTtlSsh = 120; + enableScDaemon = false; + }; + + xsession = { + enable = true; + initExtra = '' + xsetroot -cursor_name left_ptr + xset b off + ''; + + windowManager.xmonad = { + enable = true; + enableContribAndExtras = true; + config = ./conf/xmonad/xmonad.hs; + }; + }; + + xresources.extraConfig = '' + URxvt.saveLines: 10000 + URxvt.scrollBar: false + URxvt.font: xft:Iosevka:pixelsize=12 + URxvt.letterSpace: 0 + URxvt.transparent: false + URxvt.inheritPixmap: false + URxvt.fading: 20 + URxvt.dynamicColors: on + + URxvt.perl-ext-common: default,matcher,clipboard,resize-font + URxvt.matcher.button: 1 + URxvt.matcher.pattern.1: \\bwww\\.[\\w-]\\.[\\w./?&@#-]*[\\w/-] + URxvt.url-launcher: firefox + + URxvt.keysym.Control-Up: \033[1;5A + URxvt.keysym.Control-Down: \033[1;5B + URxvt.keysym.Control-Left: \033[1;5D + URxvt.keysym.Control-Right: \033[1;5C + + URxvt.keysym.M-Down: \033[1;3B + URxvt.keysym.M-Up: \033[1;3A + URxvt.keysym.M-Left: \033[1;3D + URxvt.keysym.M-Right: \033[1;3C + + URxvt.keysym.M-c: perl:clipboard:copy + URxvt.keysym.M-v: perl:clipboard:paste + + URxvt.background: #161616 + URxvt.foreground: #F2F2F2 + + ! black + URxvt.color0: #161616 + URxvt.color8: #F2F2F2 + ! red + URxvt.color1: #8C3346 + URxvt.color9: #ff0000 + ! green + URxvt.color2: #aadb0f + URxvt.color10: #909636 + ! yellow + URxvt.color3: #E4E093 + URxvt.color11: #ffff00 + ! blue + URxvt.color4: #352F6A + URxvt.color12: #0000ff + ! magenta + URxvt.color5: #ce5c00 + URxvt.color13: #f57900 + ! cyan + URxvt.color6: #89b6e2 + URxvt.color14: #46a4ff + ! white + URxvt.color7: #F2F2F2 + URxvt.color15: #ffffff + ''; + + home.file.".gvimrc".text = '' + set guifont=Iosevka\ 10 + set linespace=2 + set guioptions=agim + set guioptions-=m + 2match SpecialKeyTab /\t/ + ''; + + programs.rofi = { + enable = true; + location = "top"; + font = "Iosevka 12"; + separator = "none"; + scrollbar = false; + borderWidth = 6; + yoffset = -6; + + colors = { + window = { + background = "#222222"; + border = "#aadb0f"; + separator = "#000000"; + }; + rows = { + normal = { + background = "#222222"; + foreground = "#8e8e8e"; + backgroundAlt = "#161616"; + highlight = { + background = "#111111"; + foreground = "#aadb0f"; + }; + }; + active = { + background = "#222222"; + foreground = "#8e8e8e"; + backgroundAlt = "#161616"; + highlight = { + background = "#111111"; + foreground = "#aadb0f"; + }; + }; + urgent = { + background = "#222222"; + foreground = "#dc322f"; + backgroundAlt = "#161616"; + highlight = { + background = "#dc322f"; + foreground = "#161616"; + }; + }; + }; + }; + + extraConfig = '' + rofi.modi: combi + rofi.combi-modi: windowcd,drun,ssh + ''; + }; + + programs.firefox = { + enable = true; + enableAdobeFlash = true; + }; +} -- cgit v1.2.3