not far till perfection
This commit is contained in:
@@ -107,6 +107,7 @@
|
||||
programs.light.enable = true;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
# programs.nushell.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.n = {
|
||||
@@ -115,7 +116,7 @@
|
||||
extraGroups = [ "networkmanager" "wheel" "video" "adbusers" ];
|
||||
packages = with pkgs; [
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
programs.light.enable = true;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
programs.nushell.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.n = {
|
||||
@@ -115,7 +116,7 @@
|
||||
extraGroups = [ "networkmanager" "wheel" "video" "adbusers" ];
|
||||
packages = with pkgs; [
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
|
||||
@@ -137,11 +138,9 @@
|
||||
nodejs
|
||||
musescore
|
||||
anki-bin
|
||||
flutter
|
||||
unzip
|
||||
|
||||
# nvim
|
||||
lunarvim
|
||||
gnumake
|
||||
python312Packages.pip
|
||||
python312
|
||||
@@ -149,7 +148,7 @@
|
||||
ripgrep
|
||||
gcc
|
||||
|
||||
# # sway
|
||||
# sway
|
||||
networkmanagerapplet
|
||||
grim # screenshot functionality
|
||||
slurp # screenshot functionality
|
||||
|
||||
27
home-nico.nix~
Normal file
27
home-nico.nix~
Normal file
@@ -0,0 +1,27 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
home.username = "n";
|
||||
home.homeDirectory = "/home/n";
|
||||
|
||||
imports = [
|
||||
./packages
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
brave
|
||||
go
|
||||
];
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
}
|
||||
@@ -9,6 +9,7 @@
|
||||
./nvim
|
||||
./emacs
|
||||
./kitty
|
||||
# ./qutebrowser
|
||||
# ./hyprland
|
||||
# ./vscode
|
||||
];
|
||||
|
||||
16
packages/default.nix~
Normal file
16
packages/default.nix~
Normal file
@@ -0,0 +1,16 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
# ./ags
|
||||
./other
|
||||
./sway
|
||||
./waybar
|
||||
./wpaperd
|
||||
./nvim
|
||||
./emacs
|
||||
./kitty
|
||||
./qutebrowser
|
||||
# ./hyprland
|
||||
# ./vscode
|
||||
];
|
||||
}
|
||||
273
packages/emacs/#default.nix#
Normal file
273
packages/emacs/#default.nix#
Normal file
@@ -0,0 +1,273 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages;
|
||||
in {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
(global-display-line-numbers-mode 1)
|
||||
(setq-default truncate-lines t)
|
||||
(telephone-line-mode 1)
|
||||
(xterm-mouse-mode 1)
|
||||
|
||||
(setq evil-want-C-u-scroll t)
|
||||
|
||||
(menu-bar--display-line-numbers-mode-relative)
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
(electric-pair-mode)
|
||||
|
||||
;;(menu-bar-mode -1)
|
||||
|
||||
(require 'yasnippet)
|
||||
(yas-global-mode 1)
|
||||
|
||||
(require 'which-key)
|
||||
(which-key-mode)
|
||||
|
||||
(require 'evil-god-state)
|
||||
(evil-define-key 'normal global-map "," 'evil-execute-in-god-state)
|
||||
|
||||
(which-key-enable-god-mode-support)
|
||||
|
||||
(require 'nix-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
|
||||
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(with-eval-after-load 'winum
|
||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||
:config
|
||||
(progn
|
||||
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||
treemacs-deferred-git-apply-delay 0.5
|
||||
treemacs-directory-name-transformer #'identity
|
||||
treemacs-display-in-side-window t
|
||||
treemacs-eldoc-display 'simple
|
||||
treemacs-file-event-delay 2000
|
||||
treemacs-file-extension-regex treemacs-last-period-regex-value
|
||||
treemacs-file-follow-delay 0.2
|
||||
treemacs-file-name-transformer #'identity
|
||||
treemacs-follow-after-init t
|
||||
treemacs-expand-after-init t
|
||||
treemacs-find-workspace-method 'find-for-file-or-pick-first
|
||||
treemacs-git-command-pipe ""
|
||||
treemacs-goto-tag-strategy 'refetch-index
|
||||
treemacs-header-scroll-indicators '(nil . "^^^^^^")
|
||||
treemacs-hide-dot-git-directory t
|
||||
treemacs-indentation 2
|
||||
treemacs-indentation-string " "
|
||||
treemacs-is-never-other-window nil
|
||||
treemacs-max-git-entries 5000
|
||||
treemacs-missing-project-action 'ask
|
||||
treemacs-move-files-by-mouse-dragging t
|
||||
treemacs-move-forward-on-expand nil
|
||||
treemacs-no-png-images nil
|
||||
treemacs-no-delete-other-windows t
|
||||
treemacs-project-follow-cleanup nil
|
||||
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
|
||||
treemacs-position 'left
|
||||
treemacs-read-string-input 'from-child-frame
|
||||
treemacs-recenter-distance 0.1
|
||||
treemacs-recenter-after-file-follow nil
|
||||
treemacs-recenter-after-tag-follow nil
|
||||
treemacs-recenter-after-project-jump 'always
|
||||
treemacs-recenter-after-project-expand 'on-distance
|
||||
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
|
||||
treemacs-project-follow-into-home nil
|
||||
treemacs-show-cursor nil
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-silent-filewatch nil
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-sorting 'alphabetic-asc
|
||||
treemacs-select-when-already-in-treemacs 'move-back
|
||||
treemacs-space-between-root-nodes t
|
||||
treemacs-tag-follow-cleanup t
|
||||
treemacs-tag-follow-delay 1.5
|
||||
treemacs-text-scale nil
|
||||
treemacs-user-mode-line-format nil
|
||||
treemacs-user-header-line-format nil
|
||||
treemacs-wide-toggle-width 70
|
||||
treemacs-width 35
|
||||
treemacs-width-increment 1
|
||||
treemacs-width-is-initially-locked t
|
||||
treemacs-workspace-switch-cleanup nil)
|
||||
|
||||
;; The default width and height of the icons is 22 pixels. If you are
|
||||
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||
;;(treemacs-resize-icons 44)
|
||||
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
(when treemacs-python-executable
|
||||
(treemacs-git-commit-diff-mode t))
|
||||
|
||||
(pcase (cons (not (null (executable-find "git")))
|
||||
(not (null treemacs-python-executable)))
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple)))
|
||||
|
||||
(treemacs-hide-gitignored-files-mode nil))
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t d" . treemacs-select-directory)
|
||||
("C-x t B" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
|
||||
(use-package treemacs-evil
|
||||
:after (treemacs evil)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:after (treemacs projectile)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:hook (dired-mode . treemacs-icons-dired-enable-once)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-magit
|
||||
:after (treemacs magit)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
|
||||
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
|
||||
:after (treemacs)
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Tabs))
|
||||
|
||||
(treemacs-start-on-boot)
|
||||
(treemacs-project-follow-mode)
|
||||
|
||||
(setq evil-want-keybinding nil)
|
||||
(require 'evil)
|
||||
(when (require 'evil-collection nil t)
|
||||
(evil-collection-init))
|
||||
|
||||
(require 'evil)
|
||||
|
||||
(evil-mode 1)
|
||||
|
||||
(defun my-evil-jump-out-or-indent ()
|
||||
"Springe aus Klammern oder Anführungszeichen heraus oder führe eine Einrückung durch."
|
||||
(interactive)
|
||||
(let ((pos (point)))
|
||||
(cond
|
||||
;; Wenn der Cursor auf einem Escape-Zeichen ist, gehe zurück
|
||||
((looking-at-p "[\\]") (backward-char 1))
|
||||
;; Wenn der Cursor auf einem öffnenden Zeichen ist, gehe vorwärts
|
||||
((looking-at-p "[\"'()\\[\\{]") (forward-char 1))
|
||||
;; Wenn der Cursor hinter einem schließenden Zeichen ist, gehe zurück
|
||||
((looking-back "[\"'()\\[\\{]" (line-beginning-position)) (backward-char 1))
|
||||
;; Wenn der Cursor nicht in Klammern oder Anführungszeichen ist, führe eine Einrückung durch
|
||||
(t (indent-for-tab-command)))))
|
||||
|
||||
(define-key evil-insert-state-map (kbd "TAB") 'my-evil-jump-out-or-indent)
|
||||
|
||||
(with-eval-after-load 'flycheck
|
||||
(add-hook 'flycheck-mode-hook #'flycheck-inline-mode))
|
||||
|
||||
(global-flycheck-mode 1)
|
||||
|
||||
(evil-define-key 'god global-map [escape] 'evil-god-state-bail)
|
||||
|
||||
(require 'smex)
|
||||
(smex-initialize)
|
||||
|
||||
(global-set-key (kbd "M-x") 'smex)
|
||||
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
|
||||
;; This is your old M-x.
|
||||
(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command)
|
||||
|
||||
|
||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||
|
||||
(setq gc-cons-threshold (* 100 1024 1024)
|
||||
read-process-output-max (* 1024 1024))
|
||||
|
||||
;;Exit insert mode by pressing j and then k quickly
|
||||
(setq key-chord-two-keys-delay 0.5)
|
||||
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
|
||||
(key-chord-mode 1)
|
||||
|
||||
|
||||
(setq company-idle-delay
|
||||
(lambda () (if (company-in-string-or-comment) nil 0.1)))
|
||||
|
||||
(setq company-minimum-prefix-length 1)
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
|
||||
(custom-set-faces
|
||||
'(company-tooltip
|
||||
((t (:background "black" :foreground "thistle1"))))
|
||||
'(company-tooltip-selection
|
||||
((t (:background "bdarkslateblue" :foreground "thistle1"))))
|
||||
)
|
||||
|
||||
(with-eval-after-load 'evil
|
||||
(define-key evil-normal-state-map (kbd "C-h") 'windmove-left)
|
||||
(define-key evil-normal-state-map (kbd "C-j") 'windmove-down)
|
||||
(define-key evil-normal-state-map (kbd "C-k") 'windmove-up)
|
||||
(define-key evil-normal-state-map (kbd "C-l") 'windmove-right)
|
||||
|
||||
(define-key evil-motion-state-map (kbd "C-h") 'windmove-left)
|
||||
(define-key evil-motion-state-map (kbd "C-j") 'windmove-down)
|
||||
(define-key evil-motion-state-map (kbd "C-k") 'windmove-up)
|
||||
(define-key evil-motion-state-map (kbd "C-l") 'windmove-right))
|
||||
|
||||
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
|
||||
'';
|
||||
package = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
|
||||
catppuccin-theme
|
||||
])
|
||||
++ (with epkgs.melpaPackages; [
|
||||
evil
|
||||
nix-mode
|
||||
lsp-treemacs
|
||||
treemacs-evil
|
||||
treemacs-tab-bar
|
||||
flycheck
|
||||
flycheck-inline
|
||||
lsp-mode
|
||||
company
|
||||
rainbow-delimiters
|
||||
undo-fu
|
||||
key-chord
|
||||
telephone-line
|
||||
smex
|
||||
ranger
|
||||
evil-god-state
|
||||
which-key
|
||||
magit
|
||||
format-all
|
||||
])
|
||||
++ (with epkgs.elpaPackages; [
|
||||
undo-tree
|
||||
])
|
||||
++ [
|
||||
epkgs.yasnippet
|
||||
# epkgs.yasnippet-snippets
|
||||
|
||||
]);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -8,11 +8,21 @@ in {
|
||||
extraConfig = ''
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
(global-display-line-numbers-mode 1)
|
||||
(setq-default truncate-lines t)
|
||||
(telephone-line-mode 1)
|
||||
(xterm-mouse-mode 1)
|
||||
|
||||
(setq evil-want-C-u-scroll t)
|
||||
|
||||
(menu-bar-mode -1)
|
||||
(menu-bar--display-line-numbers-mode-relative)
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
(electric-pair-mode)
|
||||
|
||||
;;(menu-bar-mode -1)
|
||||
|
||||
(require 'yasnippet)
|
||||
(yas-global-mode 1)
|
||||
|
||||
(require 'which-key)
|
||||
(which-key-mode)
|
||||
@@ -25,11 +35,153 @@ in {
|
||||
(require 'nix-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
|
||||
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(with-eval-after-load 'winum
|
||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||
:config
|
||||
(progn
|
||||
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||
treemacs-deferred-git-apply-delay 0.5
|
||||
treemacs-directory-name-transformer #'identity
|
||||
treemacs-display-in-side-window t
|
||||
treemacs-eldoc-display 'simple
|
||||
treemacs-file-event-delay 2000
|
||||
treemacs-file-extension-regex treemacs-last-period-regex-value
|
||||
treemacs-file-follow-delay 0.2
|
||||
treemacs-file-name-transformer #'identity
|
||||
treemacs-follow-after-init t
|
||||
treemacs-expand-after-init t
|
||||
treemacs-find-workspace-method 'find-for-file-or-pick-first
|
||||
treemacs-git-command-pipe ""
|
||||
treemacs-goto-tag-strategy 'refetch-index
|
||||
treemacs-header-scroll-indicators '(nil . "^^^^^^")
|
||||
treemacs-hide-dot-git-directory t
|
||||
treemacs-indentation 2
|
||||
treemacs-indentation-string " "
|
||||
treemacs-is-never-other-window nil
|
||||
treemacs-max-git-entries 5000
|
||||
treemacs-missing-project-action 'ask
|
||||
treemacs-move-files-by-mouse-dragging t
|
||||
treemacs-move-forward-on-expand nil
|
||||
treemacs-no-png-images nil
|
||||
treemacs-no-delete-other-windows t
|
||||
treemacs-project-follow-cleanup nil
|
||||
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
|
||||
treemacs-position 'left
|
||||
treemacs-read-string-input 'from-child-frame
|
||||
treemacs-recenter-distance 0.1
|
||||
treemacs-recenter-after-file-follow nil
|
||||
treemacs-recenter-after-tag-follow nil
|
||||
treemacs-recenter-after-project-jump 'always
|
||||
treemacs-recenter-after-project-expand 'on-distance
|
||||
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
|
||||
treemacs-project-follow-into-home nil
|
||||
treemacs-show-cursor nil
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-silent-filewatch nil
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-sorting 'alphabetic-asc
|
||||
treemacs-select-when-already-in-treemacs 'move-back
|
||||
treemacs-space-between-root-nodes t
|
||||
treemacs-tag-follow-cleanup t
|
||||
treemacs-tag-follow-delay 1.5
|
||||
treemacs-text-scale nil
|
||||
treemacs-user-mode-line-format nil
|
||||
treemacs-user-header-line-format nil
|
||||
treemacs-wide-toggle-width 70
|
||||
treemacs-width 35
|
||||
treemacs-width-increment 1
|
||||
treemacs-width-is-initially-locked t
|
||||
treemacs-workspace-switch-cleanup nil)
|
||||
|
||||
;; The default width and height of the icons is 22 pixels. If you are
|
||||
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||
;;(treemacs-resize-icons 44)
|
||||
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
(when treemacs-python-executable
|
||||
(treemacs-git-commit-diff-mode t))
|
||||
|
||||
(pcase (cons (not (null (executable-find "git")))
|
||||
(not (null treemacs-python-executable)))
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple)))
|
||||
|
||||
(treemacs-hide-gitignored-files-mode nil))
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t d" . treemacs-select-directory)
|
||||
("C-x t B" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
|
||||
(use-package treemacs-evil
|
||||
:after (treemacs evil)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:after (treemacs projectile)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:hook (dired-mode . treemacs-icons-dired-enable-once)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-magit
|
||||
:after (treemacs magit)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
|
||||
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
|
||||
:after (treemacs)
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Tabs))
|
||||
|
||||
(treemacs-start-on-boot)
|
||||
(treemacs-project-follow-mode)
|
||||
|
||||
(setq evil-want-keybinding nil)
|
||||
(require 'evil)
|
||||
(when (require 'evil-collection nil t)
|
||||
(evil-collection-init))
|
||||
|
||||
(require 'evil)
|
||||
|
||||
(evil-mode 1)
|
||||
|
||||
(defun my-evil-jump-out-or-indent ()
|
||||
"Springe aus Klammern oder Anführungszeichen heraus oder führe eine Einrückung durch."
|
||||
(interactive)
|
||||
(let ((pos (point)))
|
||||
(cond
|
||||
;; Wenn der Cursor auf einem Escape-Zeichen ist, gehe zurück
|
||||
((looking-at-p "[\\]") (backward-char 1))
|
||||
;; Wenn der Cursor auf einem öffnenden Zeichen ist, gehe vorwärts
|
||||
((looking-at-p "[\"'()\\[\\{]") (forward-char 1))
|
||||
;; Wenn der Cursor hinter einem schließenden Zeichen ist, gehe zurück
|
||||
((looking-back "[\"'()\\[\\{]" (line-beginning-position)) (backward-char 1))
|
||||
;; Wenn der Cursor nicht in Klammern oder Anführungszeichen ist, führe eine Einrückung durch
|
||||
(t (indent-for-tab-command)))))
|
||||
|
||||
(define-key evil-insert-state-map (kbd "TAB") 'my-evil-jump-out-or-indent)
|
||||
|
||||
(with-eval-after-load 'flycheck
|
||||
(add-hook 'flycheck-mode-hook #'flycheck-inline-mode))
|
||||
|
||||
(global-flycheck-mode 1)
|
||||
|
||||
(evil-define-key 'god global-map [escape] 'evil-god-state-bail)
|
||||
@@ -53,6 +205,33 @@ in {
|
||||
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
|
||||
(key-chord-mode 1)
|
||||
|
||||
|
||||
(setq company-idle-delay
|
||||
(lambda () (if (company-in-string-or-comment) nil 0.1)))
|
||||
|
||||
(setq company-minimum-prefix-length 1)
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
|
||||
(custom-set-faces
|
||||
'(company-tooltip
|
||||
((t (:background "black" :foreground "thistle1"))))
|
||||
'(company-tooltip-selection
|
||||
((t (:background "bdarkslateblue" :foreground "thistle1"))))
|
||||
)
|
||||
|
||||
(with-eval-after-load 'evil
|
||||
(define-key evil-normal-state-map (kbd "C-h") 'windmove-left)
|
||||
(define-key evil-normal-state-map (kbd "C-j") 'windmove-down)
|
||||
(define-key evil-normal-state-map (kbd "C-k") 'windmove-up)
|
||||
(define-key evil-normal-state-map (kbd "C-l") 'windmove-right)
|
||||
|
||||
(define-key evil-motion-state-map (kbd "C-h") 'windmove-left)
|
||||
(define-key evil-motion-state-map (kbd "C-j") 'windmove-down)
|
||||
(define-key evil-motion-state-map (kbd "C-k") 'windmove-up)
|
||||
(define-key evil-motion-state-map (kbd "C-l") 'windmove-right))
|
||||
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
(require 'lsp-mode)
|
||||
'';
|
||||
package = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
|
||||
catppuccin-theme
|
||||
@@ -61,7 +240,10 @@ in {
|
||||
evil
|
||||
nix-mode
|
||||
lsp-treemacs
|
||||
treemacs-evil
|
||||
treemacs-tab-bar
|
||||
flycheck
|
||||
flycheck-inline
|
||||
lsp-mode
|
||||
company
|
||||
rainbow-delimiters
|
||||
@@ -73,12 +255,18 @@ in {
|
||||
evil-god-state
|
||||
which-key
|
||||
magit
|
||||
format-all
|
||||
])
|
||||
++ (with epkgs.elpaPackages; [
|
||||
undo-tree
|
||||
])
|
||||
++ [ pkgs.notmuch ]);
|
||||
++ [
|
||||
epkgs.yasnippet
|
||||
# epkgs.yasnippet-snippets
|
||||
|
||||
]);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,9 +8,21 @@ in {
|
||||
extraConfig = ''
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
(global-display-line-numbers-mode 1)
|
||||
(setq-default truncate-lines t)
|
||||
(telephone-line-mode 1)
|
||||
(xterm-mouse-mode 1)
|
||||
|
||||
(menu-bar-mode -1)
|
||||
(setq evil-want-C-u-scroll t)
|
||||
|
||||
(menu-bar--display-line-numbers-mode-relative)
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
(electric-pair-mode)
|
||||
|
||||
;;(menu-bar-mode -1)
|
||||
|
||||
(require 'yasnippet)
|
||||
(yas-global-mode 1)
|
||||
|
||||
(require 'which-key)
|
||||
(which-key-mode)
|
||||
@@ -23,12 +35,153 @@ in {
|
||||
(require 'nix-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
|
||||
|
||||
(setq evil-want-C-u-scroll t)
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(with-eval-after-load 'winum
|
||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||
:config
|
||||
(progn
|
||||
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||
treemacs-deferred-git-apply-delay 0.5
|
||||
treemacs-directory-name-transformer #'identity
|
||||
treemacs-display-in-side-window t
|
||||
treemacs-eldoc-display 'simple
|
||||
treemacs-file-event-delay 2000
|
||||
treemacs-file-extension-regex treemacs-last-period-regex-value
|
||||
treemacs-file-follow-delay 0.2
|
||||
treemacs-file-name-transformer #'identity
|
||||
treemacs-follow-after-init t
|
||||
treemacs-expand-after-init t
|
||||
treemacs-find-workspace-method 'find-for-file-or-pick-first
|
||||
treemacs-git-command-pipe ""
|
||||
treemacs-goto-tag-strategy 'refetch-index
|
||||
treemacs-header-scroll-indicators '(nil . "^^^^^^")
|
||||
treemacs-hide-dot-git-directory t
|
||||
treemacs-indentation 2
|
||||
treemacs-indentation-string " "
|
||||
treemacs-is-never-other-window nil
|
||||
treemacs-max-git-entries 5000
|
||||
treemacs-missing-project-action 'ask
|
||||
treemacs-move-files-by-mouse-dragging t
|
||||
treemacs-move-forward-on-expand nil
|
||||
treemacs-no-png-images nil
|
||||
treemacs-no-delete-other-windows t
|
||||
treemacs-project-follow-cleanup nil
|
||||
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
|
||||
treemacs-position 'left
|
||||
treemacs-read-string-input 'from-child-frame
|
||||
treemacs-recenter-distance 0.1
|
||||
treemacs-recenter-after-file-follow nil
|
||||
treemacs-recenter-after-tag-follow nil
|
||||
treemacs-recenter-after-project-jump 'always
|
||||
treemacs-recenter-after-project-expand 'on-distance
|
||||
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
|
||||
treemacs-project-follow-into-home nil
|
||||
treemacs-show-cursor nil
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-silent-filewatch nil
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-sorting 'alphabetic-asc
|
||||
treemacs-select-when-already-in-treemacs 'move-back
|
||||
treemacs-space-between-root-nodes t
|
||||
treemacs-tag-follow-cleanup t
|
||||
treemacs-tag-follow-delay 1.5
|
||||
treemacs-text-scale nil
|
||||
treemacs-user-mode-line-format nil
|
||||
treemacs-user-header-line-format nil
|
||||
treemacs-wide-toggle-width 70
|
||||
treemacs-width 35
|
||||
treemacs-width-increment 1
|
||||
treemacs-width-is-initially-locked t
|
||||
treemacs-workspace-switch-cleanup nil)
|
||||
|
||||
;; The default width and height of the icons is 22 pixels. If you are
|
||||
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||
;;(treemacs-resize-icons 44)
|
||||
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
(when treemacs-python-executable
|
||||
(treemacs-git-commit-diff-mode t))
|
||||
|
||||
(pcase (cons (not (null (executable-find "git")))
|
||||
(not (null treemacs-python-executable)))
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple)))
|
||||
|
||||
(treemacs-hide-gitignored-files-mode nil))
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t d" . treemacs-select-directory)
|
||||
("C-x t B" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
|
||||
(use-package treemacs-evil
|
||||
:after (treemacs evil)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:after (treemacs projectile)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:hook (dired-mode . treemacs-icons-dired-enable-once)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-magit
|
||||
:after (treemacs magit)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
|
||||
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
|
||||
:after (treemacs)
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Tabs))
|
||||
|
||||
(treemacs-start-on-boot)
|
||||
(treemacs-project-follow-mode)
|
||||
|
||||
(setq evil-want-keybinding nil)
|
||||
(require 'evil)
|
||||
(when (require 'evil-collection nil t)
|
||||
(evil-collection-init))
|
||||
|
||||
(require 'evil)
|
||||
|
||||
(evil-mode 1)
|
||||
|
||||
(defun my-evil-jump-out-or-indent ()
|
||||
"Springe aus Klammern oder Anführungszeichen heraus oder führe eine Einrückung durch."
|
||||
(interactive)
|
||||
(let ((pos (point)))
|
||||
(cond
|
||||
;; Wenn der Cursor auf einem Escape-Zeichen ist, gehe zurück
|
||||
((looking-at-p "[\\]") (backward-char 1))
|
||||
;; Wenn der Cursor auf einem öffnenden Zeichen ist, gehe vorwärts
|
||||
((looking-at-p "[\"'()\\[\\{]") (forward-char 1))
|
||||
;; Wenn der Cursor hinter einem schließenden Zeichen ist, gehe zurück
|
||||
((looking-back "[\"'()\\[\\{]" (line-beginning-position)) (backward-char 1))
|
||||
;; Wenn der Cursor nicht in Klammern oder Anführungszeichen ist, führe eine Einrückung durch
|
||||
(t (indent-for-tab-command)))))
|
||||
|
||||
(define-key evil-insert-state-map (kbd "TAB") 'my-evil-jump-out-or-indent)
|
||||
|
||||
(with-eval-after-load 'flycheck
|
||||
(add-hook 'flycheck-mode-hook #'flycheck-inline-mode))
|
||||
|
||||
(global-flycheck-mode 1)
|
||||
|
||||
(evil-define-key 'god global-map [escape] 'evil-god-state-bail)
|
||||
@@ -52,6 +205,34 @@ in {
|
||||
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
|
||||
(key-chord-mode 1)
|
||||
|
||||
|
||||
(setq company-idle-delay
|
||||
(lambda () (if (company-in-string-or-comment) nil 0.1)))
|
||||
|
||||
(setq company-minimum-prefix-length 1)
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
|
||||
(custom-set-faces
|
||||
'(company-tooltip
|
||||
((t (:background "black" :foreground "thistle1"))))
|
||||
'(company-tooltip-selection
|
||||
((t (:background "bdarkslateblue" :foreground "thistle1"))))
|
||||
)
|
||||
|
||||
(with-eval-after-load 'evil
|
||||
(define-key evil-normal-state-map (kbd "C-h") 'windmove-left)
|
||||
(define-key evil-normal-state-map (kbd "C-j") 'windmove-down)
|
||||
(define-key evil-normal-state-map (kbd "C-k") 'windmove-up)
|
||||
(define-key evil-normal-state-map (kbd "C-l") 'windmove-right)
|
||||
|
||||
(define-key evil-motion-state-map (kbd "C-h") 'windmove-left)
|
||||
(define-key evil-motion-state-map (kbd "C-j") 'windmove-down)
|
||||
(define-key evil-motion-state-map (kbd "C-k") 'windmove-up)
|
||||
(define-key evil-motion-state-map (kbd "C-l") 'windmove-right))
|
||||
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
(require 'lsp-mode)
|
||||
(add-hook dart-mode-hook #'lsp)
|
||||
'';
|
||||
package = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
|
||||
catppuccin-theme
|
||||
@@ -60,7 +241,10 @@ in {
|
||||
evil
|
||||
nix-mode
|
||||
lsp-treemacs
|
||||
treemacs-evil
|
||||
treemacs-tab-bar
|
||||
flycheck
|
||||
flycheck-inline
|
||||
lsp-mode
|
||||
company
|
||||
rainbow-delimiters
|
||||
@@ -72,12 +256,18 @@ in {
|
||||
evil-god-state
|
||||
which-key
|
||||
magit
|
||||
format-all
|
||||
])
|
||||
++ (with epkgs.elpaPackages; [
|
||||
undo-tree
|
||||
])
|
||||
++ [ pkgs.notmuch ]);
|
||||
++ [
|
||||
epkgs.yasnippet
|
||||
# epkgs.yasnippet-snippets
|
||||
|
||||
]);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
60
packages/emacs/flutter/flake.nix
Normal file
60
packages/emacs/flutter/flake.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
description = "Flutter 3.13.x";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
android_sdk.accept_license = true;
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
buildToolsVersion = "34.0.0";
|
||||
androidComposition = pkgs.androidenv.composeAndroidPackages {
|
||||
buildToolsVersions = [ buildToolsVersion "33.0.1" ];
|
||||
platformVersions = [ "34" "33" "28" ];
|
||||
abiVersions = [ "armeabi-v7a" "arm64-v8a" ];
|
||||
};
|
||||
androidSdk = androidComposition.androidsdk;
|
||||
in
|
||||
{
|
||||
devShell =
|
||||
with pkgs; mkShell rec {
|
||||
shellHook = ''
|
||||
nu
|
||||
exit
|
||||
'';
|
||||
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidSdk}/libexec/android-sdk/build-tools/33.0.1/aapt2";
|
||||
|
||||
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk";
|
||||
buildInputs = [
|
||||
flutter
|
||||
androidSdk # The customized SDK that we've made above
|
||||
jdk17
|
||||
vscode
|
||||
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions; [
|
||||
vscodevim.vim
|
||||
dart-code.dart-code
|
||||
dart-code.flutter
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace[
|
||||
{
|
||||
name = "awesome-flutter-snippets";
|
||||
publisher = "nash";
|
||||
version = "4.0.1";
|
||||
sha256 = "lXdos/xB18h3Z0YfkgEk55G2JvRMYudUUIltugQjylU=";
|
||||
}
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
};
|
||||
});
|
||||
}
|
||||
32
packages/emacs/flutter/init.el
Normal file
32
packages/emacs/flutter/init.el
Normal file
@@ -0,0 +1,32 @@
|
||||
;;; /path/zum/separaten-emacs-init-file.el
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||||
(unless (package-installed-p 'dart-mode)
|
||||
(package-refresh-contents)
|
||||
(package-install 'dart-mode))
|
||||
(unless (package-installed-p 'flutter)
|
||||
(package-install 'flutter))
|
||||
(unless (package-installed-p 'lsp-dart)
|
||||
(package-install 'lsp-dart))
|
||||
(unless (package-installed-p 'hover)
|
||||
(package-install 'hover))
|
||||
|
||||
(setq lsp-keymap-prefix "C-c C-l")
|
||||
|
||||
(require 'lsp-mode)
|
||||
(add-hook 'dart-mode-hook 'lsp)
|
||||
(setq gc-cons-threshold (* 100 1024 1024)
|
||||
read-process-output-max (* 1024 1024))
|
||||
|
||||
;; Assuming usage with dart-mode
|
||||
(use-package dart-mode
|
||||
;; Optional
|
||||
:hook (dart-mode . flutter-test-mode))
|
||||
|
||||
(use-package flutter
|
||||
:after dart-mode
|
||||
:bind (:map dart-mode-map
|
||||
("C-c C-c" . #'flutter-run-or-hot-reload))
|
||||
)
|
||||
|
||||
@@ -5,6 +5,25 @@
|
||||
|
||||
];
|
||||
|
||||
|
||||
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
$env.config = {
|
||||
show_banner: false,
|
||||
edit_mode: vi
|
||||
}
|
||||
'';
|
||||
shellAliases = {
|
||||
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
|
||||
emacs = "emacs -nw";
|
||||
femacs = "emacs -nw --load /etc/nixos/packages/emacs/flutter/init.el";
|
||||
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
|
||||
@@ -13,6 +32,10 @@ programs.starship = {
|
||||
};
|
||||
};
|
||||
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
|
||||
|
||||
programs.zsh = {
|
||||
@@ -60,6 +83,7 @@ programs.kitty = {
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
map ctrl+shift+w no_op
|
||||
|
||||
|
||||
# The basic colors
|
||||
|
||||
161
packages/kitty/default.nix~
Normal file
161
packages/kitty/default.nix~
Normal file
@@ -0,0 +1,161 @@
|
||||
|
||||
{ pkgs, config, lib,... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
|
||||
];
|
||||
|
||||
|
||||
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
$env.config = {
|
||||
show_banner: false,
|
||||
edit_mode: vi
|
||||
}
|
||||
'';
|
||||
shellAliases = {
|
||||
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
|
||||
emacs = "emacs -nw";
|
||||
femacs = "emacs -nw --load /home/n/Documents/Shells/flutter/init.el";
|
||||
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
initExtra = ''
|
||||
eval "$(starship init zsh)"
|
||||
'';
|
||||
|
||||
|
||||
shellAliases = {
|
||||
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
|
||||
emacs = "emacs -nw";
|
||||
femacs = "emacs -nw --load /home/n/Documents/Shells/flutter/init.el";
|
||||
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
|
||||
};
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{ name = "zsh-users/zsh-autosuggestions"; } # Simple plugin installation
|
||||
];
|
||||
};
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" ];
|
||||
theme = "agnoster";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
extraConfig = ''
|
||||
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
map ctrl+shift+w no_op
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #cdd6f4
|
||||
background #1e1e2e
|
||||
selection_foreground #1e1e2e
|
||||
selection_background #f5e0dc
|
||||
|
||||
# Cursor colors
|
||||
cursor #f5e0dc
|
||||
cursor_text_color #1e1e2e
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f5e0dc
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b4befe
|
||||
inactive_border_color #6c7086
|
||||
bell_border_color #f9e2af
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111b
|
||||
active_tab_background #cba6f7
|
||||
inactive_tab_foreground #cdd6f4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111b
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1e1e2e
|
||||
mark1_background #b4befe
|
||||
mark2_foreground #1e1e2e
|
||||
mark2_background #cba6f7
|
||||
mark3_foreground #1e1e2e
|
||||
mark3_background #74c7ec
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475a
|
||||
color8 #585b70
|
||||
|
||||
# red
|
||||
color1 #f38ba8
|
||||
color9 #f38ba8
|
||||
|
||||
# green
|
||||
color2 #a6e3a1
|
||||
color10 #a6e3a1
|
||||
|
||||
# yellow
|
||||
color3 #f9e2af
|
||||
color11 #f9e2af
|
||||
|
||||
# blue
|
||||
color4 #89b4fa
|
||||
color12 #89b4fa
|
||||
|
||||
# magenta
|
||||
color5 #f5c2e7
|
||||
color13 #f5c2e7
|
||||
|
||||
# cyan
|
||||
color6 #94e2d5
|
||||
color14 #94e2d5
|
||||
|
||||
# white
|
||||
color7 #bac2de
|
||||
color15 #a6adc8
|
||||
'';
|
||||
};
|
||||
}
|
||||
13
packages/qutebrowser/default.nix
Normal file
13
packages/qutebrowser/default.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
{ pkgs, config, lib,... }:
|
||||
|
||||
{
|
||||
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
13
packages/qutebrowser/default.nix~
Normal file
13
packages/qutebrowser/default.nix~
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
{ pkgs, config, lib,... }:
|
||||
|
||||
{
|
||||
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user