diff options
Diffstat (limited to 'init/nixos.el')
-rw-r--r-- | init/nixos.el | 133 |
1 files changed, 63 insertions, 70 deletions
diff --git a/init/nixos.el b/init/nixos.el index 431ba705c3bc..f3cefea7f391 100644 --- a/init/nixos.el +++ b/init/nixos.el @@ -6,11 +6,6 @@ (require 'f) (require 'dash) -(defvar is-nixos - (let ((os-f "/etc/os-release")) - (s-contains? - "NixOS" (if (f-file? os-f) (f-read os-f))))) - (defun pulseaudio-ctl (cmd) (shell-command (concat "pulseaudio-ctl " cmd)) (message "Volume command: %s" cmd)) @@ -38,70 +33,68 @@ (0 "eDP1") ,(-map (lambda (n) (list n "eDP1")) (number-sequence 6 9))))) -(if is-nixos - (progn - (message "Running on NixOS, configuring ExWM.") - (require 'exwm) - (require 'exwm-config) - - (fringe-mode 3) - - (setq exwm-workspace-number 10) - ;; Make class name the buffer name - (add-hook 'exwm-update-class-hook - (lambda () - (exwm-workspace-rename-buffer exwm-class-name))) - - ;; 's-r': Reset - (exwm-input-set-key (kbd "s-r") #'exwm-reset) - ;; 's-w': Switch workspace - (exwm-input-set-key (kbd "s-w") #'exwm-workspace-switch) - ;; 's-N': Switch to certain workspace - (dotimes (i 10) - (exwm-input-set-key (kbd (format "s-%d" i)) - `(lambda () - (interactive) - (exwm-workspace-switch-create ,i)))) - - ;; Launch applications with completion (dmenu style!) - (exwm-input-set-key (kbd "s-d") #'ivy-run-external-command) - (exwm-input-set-key (kbd "s-p") #'ivy-password-store) - (exwm-input-set-key (kbd "C-s-p") '(lambda () - (interactive) - (ivy-password-store "~/.aprila-secrets"))) - - ;; Toggle between line-mode / char-mode - (exwm-input-set-key (kbd "C-c C-t C-t") #'exwm-input-toggle-keyboard) - - ;; Volume keys - (exwm-input-set-key (kbd "<XF86AudioMute>") #'volume-mute) - (exwm-input-set-key (kbd "<XF86AudioRaiseVolume>") #'volume-up) - (exwm-input-set-key (kbd "<XF86AudioLowerVolume>") #'volume-down) - - ;; Brightness keys - (exwm-input-set-key (kbd "<XF86MonBrightnessDown>") #'brightness-down) - (exwm-input-set-key (kbd "<XF86MonBrightnessUp>") #'brightness-up) - (exwm-input-set-key (kbd "<XF86Display>") #'lock-screen) - - ;; Line-editing shortcuts - (exwm-input-set-simulation-keys - '(([?\C-d] . delete) - ([?\C-w] . ?\C-c))) - - ;; Enable EXWM - (exwm-enable) - - ;; Show time in the mode line - (display-time-mode) - - ;; Configure xrandr when running on laptop - (when (equal (shell-command-to-string "hostname") "adho\n") - (require 'exwm-randr) - (setq exwm-randr-workspace-output-plist (generate-randr-config)) - (exwm-randr-enable)) - - ;; Let buffers move seamlessly between workspaces - (setq exwm-workspace-show-all-buffers t) - (setq exwm-layout-show-all-buffers t))) +(use-package exwm + :hook ((exwm-update-class . (lambda () + ;; Make class name the buffer name + (exwm-workspace-rename-buffer exwm-class-name)))) + :init + (progn + (require 'exwm-config) + + (fringe-mode 3) + + (setq exwm-workspace-number 10) + + ;; 's-r': Reset + (exwm-input-set-key (kbd "s-r") #'exwm-reset) + ;; 's-w': Switch workspace + (exwm-input-set-key (kbd "s-w") #'exwm-workspace-switch) + ;; 's-N': Switch to certain workspace + (dotimes (i 10) + (exwm-input-set-key (kbd (format "s-%d" i)) + `(lambda () + (interactive) + (exwm-workspace-switch-create ,i)))) + + ;; Launch applications with completion (dmenu style!) + (exwm-input-set-key (kbd "s-d") #'ivy-run-external-command) + (exwm-input-set-key (kbd "s-p") #'ivy-password-store) + (exwm-input-set-key (kbd "C-s-p") '(lambda () + (interactive) + (ivy-password-store "~/.aprila-secrets"))) + + ;; Toggle between line-mode / char-mode + (exwm-input-set-key (kbd "C-c C-t C-t") #'exwm-input-toggle-keyboard) + + ;; Volume keys + (exwm-input-set-key (kbd "<XF86AudioMute>") #'volume-mute) + (exwm-input-set-key (kbd "<XF86AudioRaiseVolume>") #'volume-up) + (exwm-input-set-key (kbd "<XF86AudioLowerVolume>") #'volume-down) + + ;; Brightness keys + (exwm-input-set-key (kbd "<XF86MonBrightnessDown>") #'brightness-down) + (exwm-input-set-key (kbd "<XF86MonBrightnessUp>") #'brightness-up) + (exwm-input-set-key (kbd "<XF86Display>") #'lock-screen) + + ;; Line-editing shortcuts + (exwm-input-set-simulation-keys + '(([?\C-d] . delete) + ([?\C-w] . ?\C-c))) + + ;; Enable EXWM + (exwm-enable) + + ;; Show time in the mode line + (display-time-mode) + + ;; Configure xrandr when running on laptop + (when (equal (shell-command-to-string "hostname") "adho\n") + (require 'exwm-randr) + (setq exwm-randr-workspace-output-plist (generate-randr-config)) + (exwm-randr-enable)) + + ;; Let buffers move seamlessly between workspaces + (setq exwm-workspace-show-all-buffers t) + (setq exwm-layout-show-all-buffers t))) (provide 'nixos) |