This commit is contained in:
Daniel Ziltener 2023-11-20 00:29:24 +01:00
parent b48e348566
commit 718c3bff85
Signed by: zilti
GPG Key ID: B38976E82C9DAE42
4 changed files with 97 additions and 120 deletions

View File

@ -19,6 +19,9 @@ disko: disko-config.nix
--mode disko \ --mode disko \
./disko-config.nix ./disko-config.nix
build-iso: iso.nix
nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=iso.nix
install-system: configuration.nix install-system: configuration.nix
sed -i "s|.*DEVICE_HOSTNAME| networking.hostName = \"$(HOST)\"; # DEVICE_HOSTNAME|g" configuration.nix sed -i "s|.*DEVICE_HOSTNAME| networking.hostName = \"$(HOST)\"; # DEVICE_HOSTNAME|g" configuration.nix
nixos-generate-config --no-filesystems --root /mnt nixos-generate-config --no-filesystems --root /mnt
@ -27,6 +30,6 @@ install-system: configuration.nix
nixos-install nixos-install
install: install:
env NIXPKGS_ALLOW_BROKEN=1 nixos-rebuild switch --flake . --impure env NIXPKGS_ALLOW_BROKEN=1 nixos-rebuild switch --flake . --impure --show-trace
# end # end

View File

@ -305,55 +305,48 @@
("g;" . 'goto-last-change-reverse))) ("g;" . 'goto-last-change-reverse)))
;;;; Lisp Navigation and Editing ;;;; Lisp Navigation and Editing
;;;;; Helper Functions
(defun cc/move-sexp-backward ()
"Move balanced expression (sexp) to the right of point backward one sexp.
Point must be at the beginning of balanced expression (sexp)."
(interactive)
(transpose-sexps 1)
(forward-sexp -2))
(defun cc/move-sexp-forward ()
"Move balanced expression (sexp) to the right of point forward one sexp.
Point must be at the beginning of balanced expression (sexp)."
(interactive)
(forward-sexp 1)
(transpose-sexps 1)
(forward-sexp -1))
;;;;; Basic ;;;;; Basic
(use-package smartparens (use-package smartparens
:hook :hook
(smartparens-mode . show-smartparens-mode) (smartparens-mode . show-smartparens-mode)
(smartparens-mode . smartparens-strict-mode) (smartparens-mode . smartparens-strict-mode)
clojure-ts-mode
emacs-lisp-mode
scheme-mode
:config :config
(evil-define-key 'insert smartparens-mode-map (evil-define-key 'insert smartparens-mode-map
(kbd "r") (conditional-keybind (lambda () (looking-at "(")) (kbd "r") (conditional-keybind (lambda () (looking-at "("))
#'sp-raise-sexp) #'sp-raise-sexp)
(kbd "w") (conditional-keybind (lambda () (looking-at "("))
#'cc/move-sexp-backward)
(kbd "s") (conditional-keybind (lambda () (looking-at "("))
#'cc/move-sexp-forward)
(kbd "c") (conditional-keybind (lambda () (looking-at "("))
#'sp-clone-sexp)
(kbd ">") (conditional-keybind (lambda () (thing-at-point-looking-at ")")) (kbd ">") (conditional-keybind (lambda () (thing-at-point-looking-at ")"))
#'sp-forward-slurp-sexp))) #'sp-forward-slurp-sexp)
(kbd "<") (conditional-keybind (lambda () (thing-at-point-looking-at ")"))
#'sp-backward-slurp-sexp)))
(use-package evil-cleverparens (use-package evil-cleverparens
:after smartparens :after smartparens
:hook smartparens) :hook smartparens)
;; (use-package lispy
;; :custom
;; (lispy-close-quotes-at-end-p t)
;; (lispy-compat '("cider" "edebug" "magit-blame-mode"))
;; (lispy-visit-method #'consult-find)
;; (lispy-occur-backend #'consult-line)
;; :hook
;; emacs-lisp-mode
;; scheme-mode
;; :config
;; (evil-define-key 'insert 'clojure-ts-mode-map
;; "(" #'lispy-parens
;; "{" #'lispy-braces
;; "}" #'lispy-brackets
;; ")" #'lispy-right-nostring
;; "\"" #'lispy-quotes
;; (kbd "<DEL>") #'lispy-delete-backward
;; ">" #'special-lispy-slurp
;; "<" #'special-lispy-barf
;; "c" #'special-lispy-clone
;; "q" #'special-lispy-ace-paren
;; "w" #'special-lispy-move-up
;; "s" #'special-lispy-move-down
;; "r" #'special-lispy-raise
;; "e" #'special-lispy-eval))
;; (use-package lispyville
;; :bind
;; (:map evil-normal-state-map
;; ("<leader>," . 'lispyville-comment-or-uncomment)
;; ("<leader>." . 'lispyville-comment-and-clone-dwim)
;; ("<leader>ci" . 'lispyville-comment-or-uncomment-line))
;; :hook
;; (lispy-mode . lispyville-mode))
;;;;; Visual Aid ;;;;; Visual Aid
;; (use-package rainbow-delimiters ;; (use-package rainbow-delimiters

View File

@ -27,11 +27,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1700261679, "lastModified": 1700419052,
"narHash": "sha256-jpQq/rJnjhkUHXz/KOQxk6fSfF7H0vV9PjFvfgTFHG8=", "narHash": "sha256-U6a5f9ynbzcp8PMIHULbHPkbwp7YfPKOYmTcLqlalD4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "3feeb7715584fd45ed1389cec8fb15f6930e8dab", "rev": "993fb02d20760067b8ee19c713d94cee07037759",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -50,11 +50,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1700259892, "lastModified": 1700397206,
"narHash": "sha256-y8yf3HnOghCcruknda0htkZNFe2SE3dIE34mFJ/3nd0=", "narHash": "sha256-ityVJcy3I/E8soXctwWveg58+cXOSQXhDIcU6YR2gjI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "395985f81533417d74e1168ac7ea7a9a84c81d21", "rev": "646f4bc63861e03b01fed3833bb65d1d014e1bf3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -138,11 +138,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1699963925, "lastModified": 1700204040,
"narHash": "sha256-LE7OV/SwkIBsCpAlIPiFhch/J+jBDGEZjNfdnzCnCrY=", "narHash": "sha256-xSVcS5HBYnD3LTer7Y2K8ZQCDCXMa3QUD1MzRjHzuhI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bf744fe90419885eefced41b3e5ae442d732712d", "rev": "c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad",
"type": "github" "type": "github"
}, },
"original": { "original": {

131
home.nix
View File

@ -74,8 +74,10 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
zoom-us zoom-us
]; ];
imports = [ ./hyprland/hyprland.nix ./waybar/settings.nix ./emacs/emacs.nix imports = [ ./hyprland/hyprland.nix
./chicken/chicken.nix ]; ./waybar/settings.nix
./emacs/emacs.nix
./chicken/chicken.nix ];
home.stateVersion = "23.11"; home.stateVersion = "23.11";
programs.home-manager.enable = true; programs.home-manager.enable = true;
@ -97,49 +99,49 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
}; };
accounts = { accounts = {
calendar = { # calendar = {
basePath = "${config.home.homeDirectory}/calendars"; # basePath = "${config.home.homeDirectory}/calendars";
accounts = { # accounts = {
nextcloud = { # nextcloud = {
primary = true; # primary = true;
remote = { # remote = {
type = "caldav"; # type = "caldav";
url = "https://nextcloud.lyrion.ch/remote.php/dav/calendars/zilti"; # url = "https://nextcloud.lyrion.ch/remote.php/dav/calendars/zilti";
userName = "dziltener@lyrion.ch"; # userName = "dziltener@lyrion.ch";
passwordCommand = [ "pass" "Privat/Nextcloud" ]; # passwordCommand = [ "pass" "Privat/Nextcloud" ];
}; # };
vdirsyncer = { # vdirsyncer = {
enable = true; # enable = false;
auth = "guess"; # auth = "guess";
itemTypes = "caldav"; # itemTypes = "caldav";
}; # };
khal = { # khal = {
enable = true; # enable = true;
type = "discover"; # type = "discover";
}; # };
}; # };
}; # };
}; # };
contact = { # contact = {
basePath = "${config.home.homeDirectory}/contacts"; # basePath = "${config.home.homeDirectory}/contacts";
accounts = { # accounts = {
nextcloud = { # nextcloud = {
remote = { # remote = {
type = "carddav"; # type = "carddav";
url = # url =
"https://nextcloud.lyrion.ch/rempte.php/dav/addressbooks/users/zilti"; # "https://nextcloud.lyrion.ch/rempte.php/dav/addressbooks/users/zilti";
userName = "dziltener@lyrion.ch"; # userName = "dziltener@lyrion.ch";
passwordCommand = [ "pass" "Privat/Nextcloud" ]; # passwordCommand = [ "pass" "Privat/Nextcloud" ];
}; # };
vdirsyncer = { # vdirsyncer = {
enable = false; # enable = false;
auth = "digest"; # auth = "digest";
}; # };
khal = { enable = true; }; # khal = { enable = true; };
khard = { enable = true; }; # khard = { enable = true; };
}; # };
}; # };
}; # };
email = { email = {
accounts = { accounts = {
LMail = { LMail = {
@ -260,18 +262,8 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
programs.gpg = { enable = true; }; programs.gpg = { enable = true; };
# services.gpg-agent = { home.file.".gnupg/gpg-agent.conf" = {
# enable = true;
# pinentryFlavor = "qt";
# extraConfig = ''
# allow-emacs-pinentry
# allow-loopback-pinentry
# '';
# };
home.file.gpg-agent-conf = {
enable = true; enable = true;
target = ".gnupg/gpg-agent.conf";
text = '' text = ''
grab grab
pinentry-program ${pkgs.pinentry-qt}/bin/pinentry-qt pinentry-program ${pkgs.pinentry-qt}/bin/pinentry-qt
@ -357,8 +349,6 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# enable = true; # enable = true;
# }; # };
services.vdirsyncer = { enable = true; };
# programs.khal = { # programs.khal = {
# enable = true; # enable = true;
# }; # };
@ -367,10 +357,10 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# enable = true; # enable = true;
# }; # };
programs.aerc = { # programs.aerc = {
enable = true; # enable = true;
extraConfig = { general = { unsafe-accounts-conf = true; }; }; # extraConfig = { general = { unsafe-accounts-conf = true; }; };
}; # };
services.kdeconnect = { services.kdeconnect = {
enable = true; enable = true;
@ -396,8 +386,6 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
}; };
}; };
# services.ssh-agent.enable = true;
services.nextcloud-client = { services.nextcloud-client = {
enable = true; enable = true;
startInBackground = true; startInBackground = true;
@ -440,13 +428,6 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
}; };
}; };
# programs.waybar = {
# enable = true;
# systemd.enable = true;
# style = builtins.readFile ./waybar/style.css;
# settings = import ./waybar/settings.nix;
# };
programs.wlogout = { enable = true; }; programs.wlogout = { enable = true; };
programs.fuzzel = { programs.fuzzel = {
@ -481,10 +462,10 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
} + /catppuccin-latte)); } + /catppuccin-latte));
}; };
qt = { # qt = {
enable = true; # enable = true;
style.name = "breeze"; # style.name = "breeze";
}; # };
programs.firefox = { programs.firefox = {
enable = true; enable = true;