aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/xmonad/xmonad.hs60
-rw-r--r--config.nix3
-rw-r--r--home.nix172
3 files changed, 235 insertions, 0 deletions
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-<Return>" ]
+ `additionalKeysP`
+-- application launchers
+ [ ("M-p" , spawn "rofi -show combi")
+ , ("M-<Return>" , spawn "urxvt")
+ , ("M-<Backspace>" , spawn "vim -g")
+-- actual window management
+ , ("M-<Left>" , prevWS)
+ , ("M-<Right>" , nextWS)
+ , ("M-S-<Left>" , shiftToPrev >> prevWS)
+ , ("M-S-<Right>" , shiftToNext >> nextWS)
+ , ("M-S-m" , windows swapMaster)
+-- system control
+ , ("M-s <Up>" , spawn "amixer sset Master 10%+")
+ , ("M-s <Down>" , 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;
+ };
+}