diff options
Diffstat (limited to 'accounts/gkleen@sif')
-rw-r--r-- | accounts/gkleen@sif/default.nix | 59 | ||||
-rw-r--r-- | accounts/gkleen@sif/dunst-settings.nix | 3 | ||||
-rw-r--r-- | accounts/gkleen@sif/emacs.el | 7 | ||||
-rwxr-xr-x | accounts/gkleen@sif/scripts/mute.zsh | 18 | ||||
-rw-r--r-- | accounts/gkleen@sif/ssh-hosts.nix | 22 | ||||
-rw-r--r-- | accounts/gkleen@sif/xmobar/xmobar.hs | 2 | ||||
-rw-r--r-- | accounts/gkleen@sif/xmonad/xmonad.hs | 7 |
7 files changed, 100 insertions, 18 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 9dbe4634..991d7f7f 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
@@ -10,6 +10,43 @@ let | |||
10 | mimeType = "text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;"; | 10 | mimeType = "text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;"; |
11 | exec = "${config.home-manager.users.${userName}.programs.emacs.package}/bin/emacsclient -a \"\" %F"; | 11 | exec = "${config.home-manager.users.${userName}.programs.emacs.package}/bin/emacsclient -a \"\" %F"; |
12 | }; | 12 | }; |
13 | emacsScratch = pkgs.stdenv.mkDerivation rec { | ||
14 | pname = "scratch"; | ||
15 | version = "0077334cc299aa7885f804d88f52cdb1b35caf71"; | ||
16 | |||
17 | src = pkgs.fetchFromGitHub { | ||
18 | owner = "ffevotte"; | ||
19 | repo = "scratch.el"; | ||
20 | rev = version; | ||
21 | sha256 = "sha256-FUkKJ+1COGzgllzzv51yUIjMZI6slOFVExdwWl2ZEBA="; | ||
22 | }; | ||
23 | |||
24 | phases = [ "installPhase" ]; | ||
25 | |||
26 | installPhase = '' | ||
27 | mkdir -p $out/share/emacs/site-lisp | ||
28 | cp $src/scratch.el $out/share/emacs/site-lisp/default.el | ||
29 | ''; | ||
30 | }; | ||
31 | muteScript = pkgs.stdenv.mkDerivation { | ||
32 | name = "mute"; | ||
33 | src = ./scripts/mute.zsh; | ||
34 | |||
35 | buildInputs = with pkgs; [ makeWrapper ]; | ||
36 | |||
37 | phases = [ "installPhase" ]; | ||
38 | |||
39 | installPhase = '' | ||
40 | mkdir -p $out/bin | ||
41 | install -m 0755 $src $out/bin/mute | ||
42 | wrapProgram $out/bin/mute \ | ||
43 | --prefix PATH : ${pkgs.zsh}/bin \ | ||
44 | --prefix PATH : ${pkgs.findutils}/bin \ | ||
45 | --prefix PATH : ${pkgs.util-linux}/bin \ | ||
46 | --prefix PATH : ${pkgs.coreutils}/bin \ | ||
47 | --prefix PATH : ${pkgs.pulseaudio}/bin | ||
48 | ''; | ||
49 | }; | ||
13 | in { | 50 | in { |
14 | imports = with flake.nixosModules.userProfiles.${userName}; [ | 51 | imports = with flake.nixosModules.userProfiles.${userName}; [ |
15 | mpv | 52 | mpv |
@@ -20,8 +57,8 @@ in { | |||
20 | ssh = { | 57 | ssh = { |
21 | matchBlocks = import ./ssh-hosts.nix; # customUtils.recImport { dir = ./ssh-hosts; }; | 58 | matchBlocks = import ./ssh-hosts.nix; # customUtils.recImport { dir = ./ssh-hosts; }; |
22 | extraConfig = '' | 59 | extraConfig = '' |
23 | Match host uniworx3.ifi.lmu.de,uniworx4.ifi.lmu.de,uni2workgw.ifi.lmu.de,blackbeard.tcs.ifi.lmu.de,gitlab2.rz.ifi.lmu.de,oregon.tcs.ifi.lmu.de !exec "nc -z -w 1 %h %p &>/dev/null" | 60 | Match host uniworx3.ifi.lmu.de,uniworx4.ifi.lmu.de,uniworx5.ifi.lmu.de,uni2workgw.ifi.lmu.de,blackbeard.tcs.ifi.lmu.de,gitlab2.rz.ifi.lmu.de,oregon.tcs.ifi.lmu.de !exec "nc -z -w 1 %h %p &>/dev/null" |
24 | ProxyJump gate | 61 | ProxyJump gate2 |
25 | 62 | ||
26 | Host * | 63 | Host * |
27 | ''; | 64 | ''; |
@@ -33,8 +70,8 @@ in { | |||
33 | evil evil-dvorak evil-magit undo-tree magit haskell-mode | 70 | evil evil-dvorak evil-magit undo-tree magit haskell-mode |
34 | nix-mode yaml-mode json-mode shakespeare-mode | 71 | nix-mode yaml-mode json-mode shakespeare-mode |
35 | smart-mode-line highlight-parentheses highlight-symbol | 72 | smart-mode-line highlight-parentheses highlight-symbol |
36 | notmuch ag sass-mode lua-mode fira-code-mode | 73 | notmuch ag sass-mode lua-mode fira-code-mode use-package |
37 | use-package use-package-ensure-system-package git-gutter | 74 | use-package-ensure-system-package git-gutter emacsScratch |
38 | ]; | 75 | ]; |
39 | }; | 76 | }; |
40 | firefox = { | 77 | firefox = { |
@@ -97,12 +134,18 @@ in { | |||
97 | docs = "$HOME/documents"; | 134 | docs = "$HOME/documents"; |
98 | dl = "$HOME/Downloads"; | 135 | dl = "$HOME/Downloads"; |
99 | flk = "$HOME/config/nixos-flakes"; | 136 | flk = "$HOME/config/nixos-flakes"; |
137 | fsk-timi = "$HOME/projects/21s/fsk-timi"; | ||
138 | }; | ||
139 | |||
140 | obs-studio = { | ||
141 | enable = true; | ||
142 | plugins = with pkgs; [obs-v4l2sink]; | ||
100 | }; | 143 | }; |
101 | }; | 144 | }; |
102 | 145 | ||
103 | services = { | 146 | services = { |
104 | dunst = { | 147 | dunst = { |
105 | settings = import ./dunst-settings.nix; | 148 | settings = import ./dunst-settings.nix inputs; |
106 | iconTheme = cfg.gtk.iconTheme; | 149 | iconTheme = cfg.gtk.iconTheme; |
107 | enable = true; | 150 | enable = true; |
108 | }; | 151 | }; |
@@ -130,8 +173,8 @@ in { | |||
130 | sxhkd = { | 173 | sxhkd = { |
131 | enable = true; | 174 | enable = true; |
132 | keybindings = { | 175 | keybindings = { |
133 | "button8" = "${pkgs.pulseaudio}/bin/pacmd set-source-mute @DEFAULT_SOURCE@ 0"; | 176 | "button8" = "${muteScript}/bin/mute unmute"; |
134 | "@button8" = "${pkgs.pulseaudio}/bin/pacmd set-source-mute @DEFAULT_SOURCE@ 1"; | 177 | "@button8" = "${muteScript}/bin/mute mute"; |
135 | "button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 1"; | 178 | "button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 1"; |
136 | "@button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 0"; | 179 | "@button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 0"; |
137 | }; | 180 | }; |
@@ -179,7 +222,7 @@ in { | |||
179 | google-play-music-desktop-player qt5ct playerctl evince | 222 | google-play-music-desktop-player qt5ct playerctl evince |
180 | thunderbird zulip zoom-us steam steam-run wireshark skype | 223 | thunderbird zulip zoom-us steam steam-run wireshark skype |
181 | virt-manager rclone cached-nix-shell xournal discord xmonad | 224 | virt-manager rclone cached-nix-shell xournal discord xmonad |
182 | worktime fira-code-symbols emacsclientDesktopItem | 225 | worktime fira-code-symbols emacsclientDesktopItem libreoffice |
183 | ]; | 226 | ]; |
184 | 227 | ||
185 | file = { | 228 | file = { |
diff --git a/accounts/gkleen@sif/dunst-settings.nix b/accounts/gkleen@sif/dunst-settings.nix index 8319da03..8abdfc5a 100644 --- a/accounts/gkleen@sif/dunst-settings.nix +++ b/accounts/gkleen@sif/dunst-settings.nix | |||
@@ -1,3 +1,4 @@ | |||
1 | { pkgs, ... }: | ||
1 | { | 2 | { |
2 | global = { | 3 | global = { |
3 | font = "Monospace 6"; | 4 | font = "Monospace 6"; |
@@ -25,6 +26,8 @@ | |||
25 | icon_position = "right"; | 26 | icon_position = "right"; |
26 | sort = false; | 27 | sort = false; |
27 | sticky_history = false; | 28 | sticky_history = false; |
29 | |||
30 | dmenu = "${pkgs.dmenu}/bin/dmenu"; | ||
28 | }; | 31 | }; |
29 | shortcuts = { | 32 | shortcuts = { |
30 | close = "ctrl+space"; | 33 | close = "ctrl+space"; |
diff --git a/accounts/gkleen@sif/emacs.el b/accounts/gkleen@sif/emacs.el index d7080e36..c8356bf2 100644 --- a/accounts/gkleen@sif/emacs.el +++ b/accounts/gkleen@sif/emacs.el | |||
@@ -31,6 +31,13 @@ | |||
31 | (custom-set-variables '(git-gutter:update-interval 2)) | 31 | (custom-set-variables '(git-gutter:update-interval 2)) |
32 | (custom-set-variables '(git-gutter:hide-gutter t)) | 32 | (custom-set-variables '(git-gutter:hide-gutter t)) |
33 | 33 | ||
34 | ;; (require 'scratch) | ||
35 | (global-set-key (kbd "C-x B") 'scratch-create) | ||
36 | (setq initial-major-mode 'scratch-mode) | ||
37 | (setq initial-scratch-message "") | ||
38 | |||
39 | (global-set-key (kbd "C-x K") 'kill-current-buffer) | ||
40 | |||
34 | (setq backup-directory-alist `(("." . "~/.saves"))) | 41 | (setq backup-directory-alist `(("." . "~/.saves"))) |
35 | (setq undo-tree-history-directory-alist `(("." . "~/.undo"))) | 42 | (setq undo-tree-history-directory-alist `(("." . "~/.undo"))) |
36 | (setq delete-old-versions t | 43 | (setq delete-old-versions t |
diff --git a/accounts/gkleen@sif/scripts/mute.zsh b/accounts/gkleen@sif/scripts/mute.zsh new file mode 100755 index 00000000..1b30ad67 --- /dev/null +++ b/accounts/gkleen@sif/scripts/mute.zsh | |||
@@ -0,0 +1,18 @@ | |||
1 | #!/usr/bin/env zsh | ||
2 | |||
3 | lockFile=~/.mute.flock | ||
4 | |||
5 | case $1 in | ||
6 | mute) | ||
7 | ( | ||
8 | flock -n 9 || exit 1 | ||
9 | sleep 0.2 | ||
10 | pacmd set-source-mute @DEFAULT_SOURCE@ 1 | ||
11 | ) 9<>${lockFile} & | ||
12 | ;; | ||
13 | unmute) | ||
14 | set -o pipefail | ||
15 | while fuser ${lockFile} 2>/dev/null | cut -d ':' -f 2- | xargs -r -- kill; do sleep 0.001; done | ||
16 | pacmd set-source-mute @DEFAULT_SOURCE@ 0 | ||
17 | ;; | ||
18 | esac | ||
diff --git a/accounts/gkleen@sif/ssh-hosts.nix b/accounts/gkleen@sif/ssh-hosts.nix index 8937e743..0db4e342 100644 --- a/accounts/gkleen@sif/ssh-hosts.nix +++ b/accounts/gkleen@sif/ssh-hosts.nix | |||
@@ -77,7 +77,10 @@ | |||
77 | port = 30363; | 77 | port = 30363; |
78 | identityFile = "~/.ssh/testworx"; | 78 | identityFile = "~/.ssh/testworx"; |
79 | }; | 79 | }; |
80 | "remote.cip.ifi.lmu.de".user = "kleen"; | 80 | "remote.cip.ifi.lmu.de" = |
81 | { user = "kleen"; | ||
82 | identityFile = "~/.ssh/gkleen@sif.midgard.yggdrasil"; | ||
83 | }; | ||
81 | "uniworx3" = | 84 | "uniworx3" = |
82 | { hostname = "uniworx3.ifi.lmu.de"; | 85 | { hostname = "uniworx3.ifi.lmu.de"; |
83 | user = "root"; | 86 | user = "root"; |
@@ -93,15 +96,14 @@ | |||
93 | user = "root"; | 96 | user = "root"; |
94 | identityFile = "~/.ssh/uni2work"; | 97 | identityFile = "~/.ssh/uni2work"; |
95 | }; | 98 | }; |
96 | "uniworxdb" = | 99 | "uniworxdb2" = |
97 | { hostname = "uniworxdb"; | 100 | { hostname = "uniworxdb2"; |
98 | proxyJump = "uniworx4"; | 101 | proxyJump = "uniworx4"; |
99 | user = "root"; | 102 | user = "root"; |
100 | identityFile = "~/.ssh/uni2work"; | 103 | identityFile = "~/.ssh/uni2work"; |
101 | }; | 104 | }; |
102 | "uniworxdb2" = | 105 | "uniworx5" = |
103 | { hostname = "uniworxdb2"; | 106 | { hostname = "uniworx5.ifi.lmu.de"; |
104 | proxyJump = "uniworx4"; | ||
105 | user = "root"; | 107 | user = "root"; |
106 | identityFile = "~/.ssh/uni2work"; | 108 | identityFile = "~/.ssh/uni2work"; |
107 | }; | 109 | }; |
@@ -109,12 +111,14 @@ | |||
109 | { hostname = "gate2.tcs.ifi.lmu.de"; | 111 | { hostname = "gate2.tcs.ifi.lmu.de"; |
110 | user = "gkleen"; | 112 | user = "gkleen"; |
111 | identityFile = "~/.ssh/tcs"; | 113 | identityFile = "~/.ssh/tcs"; |
114 | serverAliveInterval = 0; | ||
112 | }; | 115 | }; |
113 | "proxy.gate2" = | 116 | "proxy.gate2" = |
114 | { hostname = "gate2.tcs.ifi.lmu.de"; | 117 | { hostname = "gate2.tcs.ifi.lmu.de"; |
115 | user = "gkleen"; | 118 | user = "gkleen"; |
116 | identityFile = "~/.ssh/proxy.gkleen@tcs.ifi.lmu.de"; | 119 | identityFile = "~/.ssh/proxy.gkleen@tcs.ifi.lmu.de"; |
117 | dynamicForwards = [ { port = 8118; } ]; | 120 | dynamicForwards = [ { port = 8118; } ]; |
121 | serverAliveInterval = 0; | ||
118 | extraOptions = { | 122 | extraOptions = { |
119 | ExitOnForwardFailure = "yes"; | 123 | ExitOnForwardFailure = "yes"; |
120 | }; | 124 | }; |
@@ -123,6 +127,7 @@ | |||
123 | { hostname = "gate2.tcs.ifi.lmu.de"; | 127 | { hostname = "gate2.tcs.ifi.lmu.de"; |
124 | user = "gkleen"; | 128 | user = "gkleen"; |
125 | identityFile = "~/.ssh/proxy.gkleen@tcs.ifi.lmu.de"; | 129 | identityFile = "~/.ssh/proxy.gkleen@tcs.ifi.lmu.de"; |
130 | serverAliveInterval = 0; | ||
126 | extraOptions = { | 131 | extraOptions = { |
127 | ExitOnForwardFailure = "yes"; | 132 | ExitOnForwardFailure = "yes"; |
128 | }; | 133 | }; |
@@ -196,4 +201,9 @@ | |||
196 | { hostname = "gitlab.haskell.org"; | 201 | { hostname = "gitlab.haskell.org"; |
197 | identityFile = "~/.ssh/gkleen@gitlab.haskell.org"; | 202 | identityFile = "~/.ssh/gkleen@gitlab.haskell.org"; |
198 | }; | 203 | }; |
204 | "gitlab.lrz.de" = | ||
205 | { hostname = "gitlab.lrz.de"; | ||
206 | user = "git"; | ||
207 | identityFile = "~/.ssh/gkleen@gitlab.lrz.de"; | ||
208 | }; | ||
199 | } | 209 | } |
diff --git a/accounts/gkleen@sif/xmobar/xmobar.hs b/accounts/gkleen@sif/xmobar/xmobar.hs index ed1f6e55..74ce7347 100644 --- a/accounts/gkleen@sif/xmobar/xmobar.hs +++ b/accounts/gkleen@sif/xmobar/xmobar.hs | |||
@@ -10,7 +10,7 @@ main = xmobar config | |||
10 | { font = "xft:FiraCode Nerd Font Mono:style=Regular:pixelsize=21" | 10 | { font = "xft:FiraCode Nerd Font Mono:style=Regular:pixelsize=21" |
11 | , position = OnScreen 0 $ TopP 0 307 | 11 | , position = OnScreen 0 $ TopP 0 307 |
12 | , bgColor = "black" | 12 | , bgColor = "black" |
13 | , fgColor = "grey" | 13 | , fgColor = "#808080" |
14 | , overrideRedirect = False | 14 | , overrideRedirect = False |
15 | , template = | 15 | , template = |
16 | let left = intercalate " | " | 16 | let left = intercalate " | " |
diff --git a/accounts/gkleen@sif/xmonad/xmonad.hs b/accounts/gkleen@sif/xmonad/xmonad.hs index 7113b4e3..425beaf4 100644 --- a/accounts/gkleen@sif/xmonad/xmonad.hs +++ b/accounts/gkleen@sif/xmonad/xmonad.hs | |||
@@ -234,6 +234,7 @@ hostFromName h | |||
234 | -- , (xK_p, [mkPassPrompt "Type password" pwType xPConfig, mkPassPrompt "Show password" pwShow xPConfig, mkPassPrompt "Copy password" pwClip xPConfig]) | 234 | -- , (xK_p, [mkPassPrompt "Type password" pwType xPConfig, mkPassPrompt "Show password" pwShow xPConfig, mkPassPrompt "Copy password" pwClip xPConfig]) |
235 | , (xK_w, ["sudo rewacom"]) | 235 | , (xK_w, ["sudo rewacom"]) |
236 | , (xK_y, [ "tmux new-window -dt media /var/media/link.hs $(xclip -o)" | 236 | , (xK_y, [ "tmux new-window -dt media /var/media/link.hs $(xclip -o)" |
237 | , "tmux new-window -dt media /var/media/download.hs $(xclip -o)" | ||
237 | , "urxvtc -name media -e tmuxp load /var/media" | 238 | , "urxvtc -name media -e tmuxp load /var/media" |
238 | ]) | 239 | ]) |
239 | , (xK_l, [ "tmux new-window -dt media mpv $(xclip -o)" | 240 | , (xK_l, [ "tmux new-window -dt media mpv $(xclip -o)" |
@@ -548,10 +549,10 @@ main = do | |||
548 | sqrtTwo = approxRational (sqrt 2) (1 / 2560) | 549 | sqrtTwo = approxRational (sqrt 2) (1 / 2560) |
549 | xmobarPP' = xmobarPP { ppTitle = shorten 80 | 550 | xmobarPP' = xmobarPP { ppTitle = shorten 80 |
550 | , ppSort = (liftM2 (.)) getSortByIndex $ return scratchpadFilterOutWorkspace | 551 | , ppSort = (liftM2 (.)) getSortByIndex $ return scratchpadFilterOutWorkspace |
551 | , ppUrgent = wrap "(" ")" . xmobarColor "red" "" | 552 | , ppUrgent = wrap "(" ")" . xmobarColor "#800000" "" |
552 | , ppHiddenNoWindows = xmobarColor "#202020" "" . wrap "(" ")" | 553 | , ppHiddenNoWindows = xmobarColor "#202020" "" . wrap "(" ")" |
553 | , ppVisible = wrap "(" ")" . xmobarColor "yellow" "" | 554 | , ppVisible = wrap "(" ")" . xmobarColor "#808000" "" |
554 | , ppCurrent = wrap "(" ")" . xmobarColor "green" "" | 555 | , ppCurrent = wrap "(" ")" . xmobarColor "#008000" "" |
555 | , ppHidden = wrap "(" ")" | 556 | , ppHidden = wrap "(" ")" |
556 | , ppWsSep = " " | 557 | , ppWsSep = " " |
557 | , ppSep = "\n" | 558 | , ppSep = "\n" |