Merge branch 'main' of gitlab.com:jezcope/boxen into main

This commit is contained in:
Jez Cope 2020-11-24 18:01:34 +00:00
commit 1c2caca8e8
10 changed files with 126 additions and 76 deletions

12
bits/amdgpu.nix Normal file
View File

@ -0,0 +1,12 @@
{ configs, pkgs, libs, ... }:
{
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.opengl.extraPackages = with pkgs; [
amdvlk
rocm-opencl-icd
clang_11
];
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ amdvlk ];
}

22
bits/foldingathome.nix Normal file
View File

@ -0,0 +1,22 @@
{ config, pkgs, lib, ... }:
{
services.foldingathome = {
enable = true;
user = "cipherrot";
team = 265265;
extraArgs = [
"--config"
(builtins.toFile "config.xml" ''
<config>
<!-- Network -->
<proxy v=':8080'/>
<!-- Folding Slots -->
<slot id='0' type='CPU'/>
<slot id='1' type='GPU'/>
</config>
'')
];
};
}

14
bits/zfs.nix Normal file
View File

@ -0,0 +1,14 @@
{ configs, pkgs, lib, ... }:
{
boot.supportedFilesystems = [ "zfs" ];
services.zfs = {
trim.enable = true;
autoSnapshot.enable = true;
autoScrub = {
enable = true;
interval = "monthly";
};
};
}

View File

@ -12,6 +12,8 @@ let
in {
imports = [ <home-manager/nixos> ./hardware-configuration.nix ./local.nix ]
++ optionalPath host-config;
# Nix ######################################################################
system.stateVersion = "20.03"; # Leave this alone (see configuration.nix(5))
nixpkgs.config = {
@ -25,6 +27,15 @@ in {
};
};
nix = {
autoOptimiseStore = true;
gc = {
automatic = true;
dates = "12:00";
options = "--delete-older-than 14d";
};
};
# Kernel ###################################################################
boot = {
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];

View File

@ -4,16 +4,18 @@
home.packages = with pkgs; [ editorconfig-core-c ];
home.file = let
spacemacs = builtins.fetchGit {
url = "https://github.com/syl20bnr/spacemacs";
ref = "develop";
spacemacs = pkgs.fetchFromGitHub {
owner = "syl20bnr";
repo = "spacemacs";
# branch "develop" on 2020-11-23
rev = "77d84b14e057aadc6a71c536104b57c617600f35";
sha256 = "07bwcca03kscxl7iwbjv1kk1c73hcn6q1dpilzz7azfhz5gl2y0r";
};
in {
# TODO: work out how to do this properly
# ".emacs.d" = {
# source = spacemacs;
# recursive = true;
# };
".emacs.d" = {
source = spacemacs;
recursive = true;
};
".spacemacs".source = ../dotfiles/spacemacs;
".spacemacs.d/private" = {
source = ../dotfiles/spacemacs-private;

View File

@ -57,7 +57,6 @@ This function should only modify configuration layer settings."
(org :variables
org-enable-reveal-js-support t
org-enable-bootstrap-support t
org-enable-org-journal-support t
org-enable-roam-support t)
org-agendas
(markdown :variables
@ -586,10 +585,6 @@ before packages are loaded."
jc/agenda-files-all (list jc/agenda-file-work jc/agenda-file-home)
org-agenda-files jc/agenda-files-all
org-journal-dir (f-expand "Journal" jc/notes-dir)
org-journal-file-type 'weekly
org-journal-file-format "%Y/%Y-%m-%d.org"
org-refile-targets `((,jc/agenda-files-all . (:maxlevel . 3)))
org-refile-use-outline-path nil
@ -602,14 +597,7 @@ before packages are loaded."
"* %?")
("e" "Exercise log entry" entry
(file+olp+datetree ,(f-expand "exercise-log.org" org-roam-directory))
"* %?")
("l" "Logbook entry" entry
(file+olp+datetree "/home/jez/Notes/Org/logbook.org")
"* %?")
("L" "Logbook entry (date prompt)" entry
(file+olp+datetree "/home/jez/Notes/Org/logbook.org")
"* %?"
:time-prompt t))
"* %?"))
org-enforce-todo-dependencies t
org-agenda-dim-blocked-tasks t
@ -733,26 +721,44 @@ before packages are loaded."
:children ("ONHOLD"))
(:name "Stalled"
:order 0
:anything t))))
org-journal-dir (f-expand "Journal" jc/notes-dir)
org-journal-file-type 'weekly
)
:anything t)))))
;;; org-roam ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq org-roam-directory (f-expand "Roam" jc/notes-dir)
org-roam-db-update-method 'immediate
org-roam-tag-sources '(prop all-directories)
org-roam-dailies-directory "daily/"
org-roam-dailies-capture-templates
'(("w" "work" entry
#'org-roam-capture--get-point
"* %?"
:file-name "daily/work/%<%Y/%m/%Y-%m-%d>"
:head "#+title: Work notes: %<%a %d %b %Y>\n\n")
("h" "home" entry
#'org-roam-capture--get-point
"* %?"
:file-name "daily/home/%<%Y/%m/%Y-%m-%d>"
:head "#+title: Home notes: %<%a %d %b %Y>\n\n")))
org-roam-tag-sources '(prop all-directories))
(unless (f-exists? org-roam-directory)
(f-mkdir org-roam-directory))
(org-roam-mode 1)
(setq deft-recursive t
deft-use-filter-string-for-filename t
deft-default-extension "org"
deft-directory org-roam-directory)
(defun jc/search-org-roam () "search org-roam with ripgrep"
(interactive)
(counsel-rg nil org-roam-directory
"" "org-roam:"))
(spacemacs/set-leader-keys
"jr" #'org-roam-find-file
"jR" #'spacemacs/deft)
"jR" #'jc/search-org-roam
"aordt" #'org-roam-dailies-find-today
"aordy" #'org-roam-dailies-find-yesterday
"aordT" #'org-roam-dailies-find-tomorrow
"aordd" #'org-roam-dailies-find-date)
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"TAB" 'org-cycle-agenda-files)
@ -810,26 +816,38 @@ before packages are loaded."
(defmacro jc/org-ql-view-command (name)
`(lambda () (interactive)
(org-ql-view ,name)))
(defmacro jc/org-todo-list-with-file-command (filename label)
`(lambda ()
(let ((list (org-agenda-files ,filename)))
(defmacro jc/org-todo-list-with-file-command (filename)
`(lambda () (interactive)
(let ((org-agenda-files (list ,filename)))
(org-todo-list))))
(defalias 'jc/describe-leader-key 'spacemacs/declare-prefix)
(spacemacs/declare-prefix "ot" "Todo lists")
(spacemacs/declare-prefix "oc" "Capture")
(spacemacs/set-leader-keys
"oc" 'org-capture
"ott" 'org-todo-list
"otw" (jc/org-todo-list-with-file-command jc/agenda-file-work "Home")
"oth" (jc/org-todo-list-with-file-command jc/agenda-file-home "Work")
"oq" 'org-ql-view
"ok" (jc/org-ql-view-command "Working: Kanban")
"of" (jc/org-ql-view-command "Working: Focus")
"occ" #'org-capture
"oct" #'org-roam-dailies-capture-today
"ocy" #'org-roam-dailies-capture-yesterday
"ocd" #'org-roam-dailies-capture-date
"ott" #'org-todo-list
"otw" (jc/org-todo-list-with-file-command jc/agenda-file-work)
"oth" (jc/org-todo-list-with-file-command jc/agenda-file-home)
"otq" #'org-ql-view
"otk" (jc/org-ql-view-command "Working: Kanban")
"otf" (jc/org-ql-view-command "Working: Focus")
"&" 'async-shell-command)
(jc/describe-leader-key "ott" "current todo list")
(jc/describe-leader-key "otw" "work todo list")
(jc/describe-leader-key "oth" "home todo list")
(jc/describe-leader-key "otk" "kanban view")
(jc/describe-leader-key "otf" "focus view")
(direnv-mode 1)
; Fix git-gutter+ errors with tramp incompatibility
;; Fix git-gutter+ errors with tramp incompatibility
(with-eval-after-load 'git-gutter+
(defun git-gutter+-remote-default-directory (dir file)
(let* ((vec (tramp-dissect-file-name file))

View File

@ -27,7 +27,7 @@ set $tmux_attach kitty --session ~/.config/kitty/sessions/tmux.conf
# set $menu wofi -D drun-print_command=true --show drun | sed 's/%[uU]//g' | xargs swaymsg exec --
# set $menu wofi --show drun
set $menu j4-dmenu-desktop --dmenu='bemenu --fn "Iosevka 15" --ignorecase --bottom --grab --hb "#007D78" --nb "#000000EE" --tb "#000000EE" --tf "#7D2F05" --ff "#CA5010" --fb "#000000EE" --hf "#10C9C2" --prompt "run:" --list 12' --term='kitty' --no-exec | xargs swaymsg exec --
set $menu j4-dmenu-desktop --dmenu='bemenu --fn "Iosevka 15" --ignorecase --bottom --grab --hb "#007D78" --nb "#000000EE" --tb "#000000EE" --tf "#7D2F05" --ff "#CA5010" --fb "#000000EE" --hf "#10C9C2" --prompt "run:" --list 12 --monitor -1' --term='kitty' --no-exec | xargs swaymsg exec --
set $volinc 5
set $media_ppse playerctl play-pause

View File

@ -43,6 +43,7 @@ in {
dnsutils
whois
nixfmt
nix-prefetch-git
yubikey-manager
yubioath-desktop

View File

@ -1,7 +1,7 @@
{ config, pkgs, lib, ... }:
{
imports = [ ../bits/home-common.nix ];
imports = [ ../bits/home-common.nix ../bits/zfs.nix ];
networking.interfaces.enp0s25.useDHCP = true;
networking.interfaces.wlp2s0.useDHCP = true;
@ -9,7 +9,6 @@
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = [ "zfs" ];
services.xserver.videoDrivers = [ "intel" "fbdev" ];
}

View File

@ -1,9 +1,8 @@
{ config, pkgs, lib, ... }:
{
imports = [ ../bits/home-common.nix ];
imports = [ ../bits/home-common.nix ../bits/zfs.nix ../bits/amdgpu.nix ];
boot.supportedFilesystems = [ "zfs" ];
boot.loader = {
efi = {
canTouchEfiVariables = false;
@ -30,32 +29,4 @@
networking.firewall.allowedTCPPorts = [
6600 # mpd
];
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.opengl.extraPackages = with pkgs; [
amdvlk
rocm-opencl-icd
clang_11
];
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ amdvlk ];
services.foldingathome = {
enable = true;
user = "cipherrot";
team = 265265;
extraArgs = [
"--config"
(builtins.toFile "config.xml" ''
<config>
<!-- Network -->
<proxy v=':8080'/>
<!-- Folding Slots -->
<slot id='0' type='CPU'/>
<slot id='1' type='GPU'/>
</config>
'')
];
};
}