From 41b8f3f552999090f6754255875792461ee5d5ad Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 00:45:58 +0100 Subject: [PATCH 0001/2258] feat: use nix package manager --- .gitignore | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 953ba526..00000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/nvim/.config/nvim/.netrwhist -/nvim/.config/nvim/plugged/ -/nvim/.config/nvim/plugin/packer_compiled.lua From af1d8d377766013dcfd899e833b6d32ef87ca4bc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 10:01:26 +0100 Subject: [PATCH 0002/2258] feat: initial commit --- home.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 home.nix diff --git a/home.nix b/home.nix new file mode 100644 index 00000000..453f4c9c --- /dev/null +++ b/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the + # paths it should manage. + home.username = "opdavies"; + home.homeDirectory = "/home/opdavies"; + + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + home.stateVersion = "22.05"; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} From a1bc689a01bb8051ebf9cf97fa2c914be19d797c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 10:22:43 +0100 Subject: [PATCH 0003/2258] feat(zsh): enable zsh --- home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home.nix b/home.nix index 453f4c9c..87f2aca4 100644 --- a/home.nix +++ b/home.nix @@ -18,4 +18,6 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; + + programs.zsh.enable = true; } From 503e40b7620961a149368cb9d15f8282369018fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 10:30:11 +0100 Subject: [PATCH 0004/2258] feat(zsh): configure plugins --- home.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 87f2aca4..07c7eb74 100644 --- a/home.nix +++ b/home.nix @@ -19,5 +19,19 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; - programs.zsh.enable = true; + programs.zsh = { + enable = true; + + zplug = { + enable = true; + + plugins = [ + { name = "mollifier/cd-gitroot"; } + { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } + { name = "zsh-users/zsh-autosuggestions"; } + { name = "zsh-users/zsh-completions"; } + { name = "zsh-users/zsh-syntax-highlighting"; } + ]; + }; + }; } From 01910284dcff7e8adca1a828602bfaa6d4bea2e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 10:39:11 +0100 Subject: [PATCH 0005/2258] feat(git): start configuring Git --- home.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home.nix b/home.nix index 07c7eb74..cc4b4ca8 100644 --- a/home.nix +++ b/home.nix @@ -19,6 +19,17 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; + programs.git = { + enable = true; + userName = "Oliver Davies"; + userEmail = "oliver@oliverdavies.uk"; + + aliases = { + b = "branch"; + cm = "commit"; + }; + }; + programs.zsh = { enable = true; From c731e814a529dfc7b66afbe7cc4cd3b21a2d53e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 10:59:11 +0100 Subject: [PATCH 0006/2258] feat(git): add `g` function --- home.nix | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/home.nix b/home.nix index cc4b4ca8..038961da 100644 --- a/home.nix +++ b/home.nix @@ -30,9 +30,111 @@ }; }; + programs.tmux = { + enable = true; + + extraConfig = '' + unbind C-b + + set -g prefix C-s + bind C-s send-prefix + + bind-key -n C-h select-pane -L + bind-key -n C-j select-pane -D + bind-key -n C-k select-pane -U + bind-key -n C-l select-pane -R + + set-option -g status-keys "emacs" + set-option -g default-terminal "xterm-256color" + set-option -ga terminal-overrides ",*256col*:Tc" + + bind-key h split-window -v -c '#{pane_current_path}' + bind-key v split-window -h -c '#{pane_current_path}' + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + set-option -g status-left-length 50 + set-option -g status-right "" + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + + bind-key C-j choose-tree + + # Use vim keybindings in copy mode + setw -g mode-keys vi + + # Setup 'v' to begin selection as in Vim + bind-key -T copy-mode-vi 'v' send -X begin-selection + bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Smart pane switching with awareness of Vim splits. + # See: https://github.com/christoomey/vim-tmux-navigator + is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" + bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' + bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' + bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' + bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' + tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' + if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ + "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" + if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ + bind-key -T copy-mode-vi 'C-h' select-pane -L + bind-key -T copy-mode-vi 'C-j' select-pane -D + bind-key -T copy-mode-vi 'C-k' select-pane -U + bind-key -T copy-mode-vi 'C-l' select-pane -R + bind-key -T copy-mode-vi 'C-\' select-pane -l + + # Allow clearing screen with ctrl-l by using C-l + bind C-l send-keys 'C-l' + bind C-k send-keys 'C-k' + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + ''; + + plugins = with pkgs; [ + tmuxPlugins.resurrect + tmuxPlugins.yank + ]; + }; + programs.zsh = { enable = true; + initExtra = '' + # No arguments: `git status` + # With arguments: acts like `git` + g() { + if [[ $# -gt 0 ]]; then + git "$@" + else + git status + fi + } + ''; + zplug = { enable = true; From b5308adf174f14e3ac928f0baa79543c65e37a3c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 10:59:52 +0100 Subject: [PATCH 0007/2258] chore(zsh): change dotDir --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 038961da..93146455 100644 --- a/home.nix +++ b/home.nix @@ -122,6 +122,7 @@ programs.zsh = { enable = true; + dotDir = ".config/zsh"; initExtra = '' # No arguments: `git status` From 4e2e81c8159d79b1cf6a5537626c97dc97ff1a94 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 12:35:26 +0100 Subject: [PATCH 0008/2258] fix(zsh): disable completion Fix error when running `home-manager switch` by disabling ZSH completions. --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 93146455..92991bd6 100644 --- a/home.nix +++ b/home.nix @@ -122,6 +122,7 @@ programs.zsh = { enable = true; + enableCompletion = false; dotDir = ".config/zsh"; initExtra = '' From b0fdd2429d149938ba7b7cc00672fc4f60d8bd03 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 12:45:39 +0100 Subject: [PATCH 0009/2258] feat(git): re-add aliases --- home.nix | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 92991bd6..26e85cd0 100644 --- a/home.nix +++ b/home.nix @@ -25,8 +25,52 @@ userEmail = "oliver@oliverdavies.uk"; aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; b = "branch"; - cm = "commit"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + nah = "!git reset --hard && git clean -fd"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + staged = "diff --staged"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + wip = "!git add . && git commit -m 'wip'"; + worktrees = "worktree list"; }; }; From dd7f3f0d958beb08faa923e71923841c93b97ba4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 17:08:50 +0100 Subject: [PATCH 0010/2258] feat(git): more configuration --- home.nix | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/home.nix b/home.nix index 26e85cd0..e8222823 100644 --- a/home.nix +++ b/home.nix @@ -72,6 +72,40 @@ wip = "!git add . && git commit -m 'wip'"; worktrees = "worktree list"; }; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + }; + checkout.defaultRemote = "origin"; + color.ui = true; + commit = { + template = "~/.gitmessage"; + verbose = true; + }; + core = { + editor = "nvim"; + excludesFile = "~/.gitignore-global"; + pager = "delta"; + }; + delta.line-numbers = true; + diff.tool = "vimdiff"; + fetch.prune = true; + grep.lineNumber = true; + help.autocorrect = "1"; + init.templatedir = "~/.git_template"; + merge.ff = "only"; + rebase = { + autosquash = true; + autostash = true; + }; + push.default = "upstream"; + pull = { + ff = "only"; + rebase = true; + }; + }; }; programs.tmux = { From 45c7a28ac6a5709ac73249c55955257604460b27 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Sep 2022 17:10:33 +0100 Subject: [PATCH 0011/2258] feat: enable bat --- home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home.nix b/home.nix index e8222823..04c5b306 100644 --- a/home.nix +++ b/home.nix @@ -19,6 +19,8 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; + programs.bat.enable = true; + programs.git = { enable = true; userName = "Oliver Davies"; From 21e0969fe06ccfa1ca09a3f6f87cbf9213b9ee2f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Sep 2022 08:23:22 +0100 Subject: [PATCH 0012/2258] chore: move home.nix --- home.nix => home-manager/home.nix | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename home.nix => home-manager/home.nix (100%) diff --git a/home.nix b/home-manager/home.nix similarity index 100% rename from home.nix rename to home-manager/home.nix From ebdc6bf7718f5bd0c88d1c723ed2590e5aa39d35 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Sep 2022 08:26:12 +0100 Subject: [PATCH 0013/2258] build: add justfile --- justfile | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 justfile diff --git a/justfile b/justfile new file mode 100644 index 00000000..4fd4d334 --- /dev/null +++ b/justfile @@ -0,0 +1,5 @@ +default: + just --list + +update: + home-manager switch -f home-manager/home.nix From 80f76da9813fccbb9197365f8b98225c894a9e60 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Sep 2022 11:14:14 +0100 Subject: [PATCH 0014/2258] fix(tmux): colours --- home-manager/home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 04c5b306..84693592 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -112,6 +112,7 @@ programs.tmux = { enable = true; + terminal = "tmux-256color"; extraConfig = '' unbind C-b @@ -125,8 +126,8 @@ bind-key -n C-l select-pane -R set-option -g status-keys "emacs" - set-option -g default-terminal "xterm-256color" set-option -ga terminal-overrides ",*256col*:Tc" + set-option -g default-terminal "xterm-256color" bind-key h split-window -v -c '#{pane_current_path}' bind-key v split-window -h -c '#{pane_current_path}' From cb812ee0632d30621d0c1bd27ec16732d857f9db Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Sep 2022 12:12:02 +0100 Subject: [PATCH 0015/2258] fix(tmux): syntax error in tmux.conf --- home-manager/home.nix | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 84693592..66300012 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -129,8 +129,8 @@ set-option -ga terminal-overrides ",*256col*:Tc" set-option -g default-terminal "xterm-256color" - bind-key h split-window -v -c '#{pane_current_path}' - bind-key v split-window -h -c '#{pane_current_path}' + bind-key h split-window -v -c "#{pane_current_path}" + bind-key v split-window -h -c "#{pane_current_path}" bind -n S-Left resize-pane -L 2 bind -n S-Right resize-pane -R 2 @@ -166,27 +166,9 @@ bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - # Smart pane switching with awareness of Vim splits. - # See: https://github.com/christoomey/vim-tmux-navigator - is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" - bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' - bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' - bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' - bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' - tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' - if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ - "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" - if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ - bind-key -T copy-mode-vi 'C-h' select-pane -L - bind-key -T copy-mode-vi 'C-j' select-pane -D - bind-key -T copy-mode-vi 'C-k' select-pane -U - bind-key -T copy-mode-vi 'C-l' select-pane -R - bind-key -T copy-mode-vi 'C-\' select-pane -l - # Allow clearing screen with ctrl-l by using C-l - bind C-l send-keys 'C-l' - bind C-k send-keys 'C-k' + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" # Enable mouse support. setw -g mouse on From aad6001ccd114b006001c5a9966b2955796bbd6c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Sep 2022 09:22:59 +0100 Subject: [PATCH 0016/2258] fix(zsh): case insensitive autocompletion --- home-manager/home.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/home.nix b/home-manager/home.nix index 66300012..30316acb 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -189,6 +189,10 @@ dotDir = ".config/zsh"; initExtra = '' + # Case insensitive autocompletion. + zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" + autoload -Uz compinit && compinit + # No arguments: `git status` # With arguments: acts like `git` g() { From 2c4e616026f39c948eeba5782835083e655ef05b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Sep 2022 10:15:23 +0100 Subject: [PATCH 0017/2258] feat(zsh): configure `autocd` and `cdpath` --- home-manager/home.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home-manager/home.nix b/home-manager/home.nix index 30316acb..af1f0941 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -188,6 +188,13 @@ enableCompletion = false; dotDir = ".config/zsh"; + autocd = true; + cdpath = [ + "$HOME/Code" + "$HOME/Code/*" + "$HOME" + ]; + initExtra = '' # Case insensitive autocompletion. zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" From a5fa4e80ab92dd0f94b2566dc07046ccbea3844d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Sep 2022 20:38:04 +0100 Subject: [PATCH 0018/2258] feat(zsh): add run alias --- home-manager/home.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/home.nix b/home-manager/home.nix index af1f0941..c716674e 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -188,6 +188,10 @@ enableCompletion = false; dotDir = ".config/zsh"; + shellAliases = { + run = "./run"; + }; + autocd = true; cdpath = [ "$HOME/Code" From 501fe8533fa6fcdaa6e2f0669cd00309cac10a5b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Sep 2022 21:28:35 +0100 Subject: [PATCH 0019/2258] refactor: use a flake for Pop!_OS --- flake.lock | 156 ++++++++++++++++++++++++++ flake.nix | 24 ++++ home-manager/{home.nix => pop-os.nix} | 23 ++-- justfile | 4 +- 4 files changed, 194 insertions(+), 13 deletions(-) create mode 100644 flake.lock create mode 100644 flake.nix rename home-manager/{home.nix => pop-os.nix} (92%) diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..a3c7a927 --- /dev/null +++ b/flake.lock @@ -0,0 +1,156 @@ +{ + "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1664217366, + "narHash": "sha256-YsqVv0D4YIXjeaz37V4/aRZrkAtEMZpFTn+tduI5fAM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "65b65ce5ef08d54bc09336fe3f35e33be487e2fe", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "neovim-nightly", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1664176858, + "narHash": "sha256-SIF3XyX22GQ2u4AAq5qsVeLZ/2fHSlBX+8hd5IGQ3+Y=", + "owner": "neovim", + "repo": "neovim", + "rev": "6596f7e136b7ceba2a94c708e2a179ec60b6d048", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly": { + "inputs": { + "flake-compat": "flake-compat", + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1664180387, + "narHash": "sha256-5fT/Nnv4QWVASqjMBKuHZKSFV+YHVH5jbTRakvQivuw=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "b7c02b63405cfc346b1faecc0602aeb7aaf79ee7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1664117201, + "narHash": "sha256-6QVOY28vj9eJqTVW5bT65hfY6qwmUi+fclgbRMotAzI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f3e200bd7fa6f62edbfad82fe9fefe7b02f28603", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1664106353, + "narHash": "sha256-HMJP80+DSxFySpWyuxz5+iNozS3+dVt0b4n6YMIU5/8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "79d3ca08920364759c63fd3eb562e99c0c17044a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "neovim-nightly": "neovim-nightly", + "nixpkgs": "nixpkgs_2" + } + }, + "utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..977f92b3 --- /dev/null +++ b/flake.nix @@ -0,0 +1,24 @@ +# https://nix-community.github.io/home-manager/index.html#ch-nix-flakes +{ + inputs = { + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; + neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + }; + + outputs = { self, home-manager, neovim-nightly, nixpkgs, ... }: + let + overlays = [ neovim-nightly.overlay ]; + in { + homeConfigurations = { + pop-os = home-manager.lib.homeManagerConfiguration { + modules = [ + { nixpkgs.overlays = overlays; } + ./home-manager/pop-os.nix + ]; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + }; + }; + }; +} diff --git a/home-manager/home.nix b/home-manager/pop-os.nix similarity index 92% rename from home-manager/home.nix rename to home-manager/pop-os.nix index c716674e..36b93326 100644 --- a/home-manager/home.nix +++ b/home-manager/pop-os.nix @@ -1,24 +1,25 @@ { config, pkgs, ... }: { - # Home Manager needs a bit of information about you and the - # paths it should manage. home.username = "opdavies"; home.homeDirectory = "/home/opdavies"; - # This value determines the Home Manager release that your - # configuration is compatible with. This helps avoid breakage - # when a new Home Manager release introduces backwards - # incompatible changes. - # - # You can update Home Manager without changing this value. See - # the Home Manager release notes for a list of state version - # changes in each release. home.stateVersion = "22.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; + fonts.fontconfig.enable = true; + + home.packages = with pkgs; [ + docker + docker-compose + jetbrains-mono + just + meslo-lg + neovim + ]; + programs.bat.enable = true; programs.git = { @@ -127,7 +128,7 @@ set-option -g status-keys "emacs" set-option -ga terminal-overrides ",*256col*:Tc" - set-option -g default-terminal "xterm-256color" + set-option -g default-terminal "screen-256color" bind-key h split-window -v -c "#{pane_current_path}" bind-key v split-window -h -c "#{pane_current_path}" diff --git a/justfile b/justfile index 4fd4d334..ba1fc555 100644 --- a/justfile +++ b/justfile @@ -1,5 +1,5 @@ default: just --list -update: - home-manager switch -f home-manager/home.nix +pop-os *args: + home-manager switch -f home-manager/home.nix --flake .#pop-os {{ args }} From 8c281cd5d2a094050c7e5da1b8d1040dc4085aed Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Sep 2022 23:50:43 +0100 Subject: [PATCH 0020/2258] refactor: split into modules --- home-manager/modules/git.nix | 91 +++++++++++ home-manager/modules/home-manager.nix | 9 ++ home-manager/modules/tmux.nix | 75 +++++++++ home-manager/modules/zsh.nix | 47 ++++++ home-manager/pop-os.nix | 222 +------------------------- 5 files changed, 229 insertions(+), 215 deletions(-) create mode 100644 home-manager/modules/git.nix create mode 100644 home-manager/modules/home-manager.nix create mode 100644 home-manager/modules/tmux.nix create mode 100644 home-manager/modules/zsh.nix diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix new file mode 100644 index 00000000..fde8465e --- /dev/null +++ b/home-manager/modules/git.nix @@ -0,0 +1,91 @@ +{ config, pkgs, lib, libs, ... }: +{ + programs.git = { + enable = true; + userName = "Oliver Davies"; + userEmail = "oliver@oliverdavies.uk"; + + aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + nah = "!git reset --hard && git clean -fd"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + staged = "diff --staged"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + wip = "!git add . && git commit -m 'wip'"; + worktrees = "worktree list"; + }; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + }; + checkout.defaultRemote = "origin"; + color.ui = true; + commit = { + template = "~/.gitmessage"; + verbose = true; + }; + core = { + editor = "nvim"; + excludesFile = "~/.gitignore-global"; + pager = "delta"; + }; + delta.line-numbers = true; + diff.tool = "vimdiff"; + fetch.prune = true; + grep.lineNumber = true; + help.autocorrect = "1"; + init.templatedir = "~/.git_template"; + merge.ff = "only"; + rebase = { + autosquash = true; + autostash = true; + }; + push.default = "upstream"; + pull = { + ff = "only"; + rebase = true; + }; + }; + }; +} diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix new file mode 100644 index 00000000..21e6d675 --- /dev/null +++ b/home-manager/modules/home-manager.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: +{ + home.username = "opdavies"; + home.homeDirectory = "/home/opdavies"; + + home.stateVersion = "22.05"; + + programs.home-manager.enable = true; +} diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix new file mode 100644 index 00000000..29094f1a --- /dev/null +++ b/home-manager/modules/tmux.nix @@ -0,0 +1,75 @@ +{ config, pkgs, lib, libs, ... }: +{ + programs.tmux = { + enable = true; + terminal = "tmux-256color"; + + extraConfig = '' + unbind C-b + + set -g prefix C-s + bind C-s send-prefix + + bind-key -n C-h select-pane -L + bind-key -n C-j select-pane -D + bind-key -n C-k select-pane -U + bind-key -n C-l select-pane -R + + set-option -g status-keys "emacs" + set-option -ga terminal-overrides ",*256col*:Tc" + set-option -g default-terminal "screen-256color" + + bind-key h split-window -v -c "#{pane_current_path}" + bind-key v split-window -h -c "#{pane_current_path}" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + set-option -g status-left-length 50 + set-option -g status-right "" + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + + bind-key C-j choose-tree + + # Use vim keybindings in copy mode + setw -g mode-keys vi + + # Setup 'v' to begin selection as in Vim + bind-key -T copy-mode-vi 'v' send -X begin-selection + bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + ''; + + plugins = with pkgs; [ + tmuxPlugins.resurrect + tmuxPlugins.yank + ]; + }; +} diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix new file mode 100644 index 00000000..5844392a --- /dev/null +++ b/home-manager/modules/zsh.nix @@ -0,0 +1,47 @@ +{ config, pkgs, lib, libs, ... }: +{ + programs.zsh = { + enable = true; + enableCompletion = false; + dotDir = ".config/zsh"; + + shellAliases = { + run = "./run"; + }; + + autocd = true; + cdpath = [ + "$HOME/Code" + "$HOME/Code/*" + "$HOME" + ]; + + initExtra = '' + # Case insensitive autocompletion. + zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" + autoload -Uz compinit && compinit + + # No arguments: `git status` + # With arguments: acts like `git` + g() { + if [[ $# -gt 0 ]]; then + git "$@" + else + git status + fi + } + ''; + + zplug = { + enable = true; + + plugins = [ + { name = "mollifier/cd-gitroot"; } + { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } + { name = "zsh-users/zsh-autosuggestions"; } + { name = "zsh-users/zsh-completions"; } + { name = "zsh-users/zsh-syntax-highlighting"; } + ]; + }; + }; +} diff --git a/home-manager/pop-os.nix b/home-manager/pop-os.nix index 36b93326..679dc6e1 100644 --- a/home-manager/pop-os.nix +++ b/home-manager/pop-os.nix @@ -1,13 +1,12 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { - home.username = "opdavies"; - home.homeDirectory = "/home/opdavies"; - - home.stateVersion = "22.05"; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; + imports = [ + ./modules/git.nix + ./modules/home-manager.nix + ./modules/tmux.nix + ./modules/zsh.nix + ]; fonts.fontconfig.enable = true; @@ -21,211 +20,4 @@ ]; programs.bat.enable = true; - - programs.git = { - enable = true; - userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.uk"; - - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - nah = "!git reset --hard && git clean -fd"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - staged = "diff --staged"; - unassume = "update-index --no-assume-unchanged"; - uncommit = "reset --soft HEAD^"; - unstage = "reset"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - wip = "!git add . && git commit -m 'wip'"; - worktrees = "worktree list"; - }; - - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - }; - checkout.defaultRemote = "origin"; - color.ui = true; - commit = { - template = "~/.gitmessage"; - verbose = true; - }; - core = { - editor = "nvim"; - excludesFile = "~/.gitignore-global"; - pager = "delta"; - }; - delta.line-numbers = true; - diff.tool = "vimdiff"; - fetch.prune = true; - grep.lineNumber = true; - help.autocorrect = "1"; - init.templatedir = "~/.git_template"; - merge.ff = "only"; - rebase = { - autosquash = true; - autostash = true; - }; - push.default = "upstream"; - pull = { - ff = "only"; - rebase = true; - }; - }; - }; - - programs.tmux = { - enable = true; - terminal = "tmux-256color"; - - extraConfig = '' - unbind C-b - - set -g prefix C-s - bind C-s send-prefix - - bind-key -n C-h select-pane -L - bind-key -n C-j select-pane -D - bind-key -n C-k select-pane -U - bind-key -n C-l select-pane -R - - set-option -g status-keys "emacs" - set-option -ga terminal-overrides ",*256col*:Tc" - set-option -g default-terminal "screen-256color" - - bind-key h split-window -v -c "#{pane_current_path}" - bind-key v split-window -h -c "#{pane_current_path}" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - set-option -g status-left-length 50 - set-option -g status-right "" - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - - bind-key C-j choose-tree - - # Use vim keybindings in copy mode - setw -g mode-keys vi - - # Setup 'v' to begin selection as in Vim - bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - ''; - - plugins = with pkgs; [ - tmuxPlugins.resurrect - tmuxPlugins.yank - ]; - }; - - programs.zsh = { - enable = true; - enableCompletion = false; - dotDir = ".config/zsh"; - - shellAliases = { - run = "./run"; - }; - - autocd = true; - cdpath = [ - "$HOME/Code" - "$HOME/Code/*" - "$HOME" - ]; - - initExtra = '' - # Case insensitive autocompletion. - zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" - autoload -Uz compinit && compinit - - # No arguments: `git status` - # With arguments: acts like `git` - g() { - if [[ $# -gt 0 ]]; then - git "$@" - else - git status - fi - } - ''; - - zplug = { - enable = true; - - plugins = [ - { name = "mollifier/cd-gitroot"; } - { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } - { name = "zsh-users/zsh-autosuggestions"; } - { name = "zsh-users/zsh-completions"; } - { name = "zsh-users/zsh-syntax-highlighting"; } - ]; - }; - }; } From 7e03839b70130f920635bce53c7f14b2537e6445 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 07:37:57 +0100 Subject: [PATCH 0021/2258] feat: add wsl2 flake --- flake.nix | 8 ++++++++ home-manager/wsl2.nix | 18 ++++++++++++++++++ justfile | 3 +++ 3 files changed, 29 insertions(+) create mode 100644 home-manager/wsl2.nix diff --git a/flake.nix b/flake.nix index 977f92b3..e62af6de 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,14 @@ ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; + + wsl2 = home-manager.lib.homeManagerConfiguration { + modules = [ + { nixpkgs.overlays = overlays; } + ./home-manager/wsl2.nix + ]; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + }; }; }; } diff --git a/home-manager/wsl2.nix b/home-manager/wsl2.nix new file mode 100644 index 00000000..45d0b44d --- /dev/null +++ b/home-manager/wsl2.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./modules/git.nix + ./modules/home-manager.nix + ./modules/tmux.nix + ./modules/zsh.nix + ]; + + home.packages = with pkgs; [ + just + neovim + zsh + ]; + + programs.bat.enable = true; +} diff --git a/justfile b/justfile index ba1fc555..7eb763e6 100644 --- a/justfile +++ b/justfile @@ -3,3 +3,6 @@ default: pop-os *args: home-manager switch -f home-manager/home.nix --flake .#pop-os {{ args }} + +wsl2 *args: + home-manager switch -f home-manager/home.nix --flake .#wsl2 {{ args }} From 96ca78cf8d6d27c2ad5fc29c8f5cd17df2ec85e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 07:41:43 +0100 Subject: [PATCH 0022/2258] feat: add Git shell aliases --- home-manager/modules/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 5844392a..45ee9ec1 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -6,7 +6,11 @@ dotDir = ".config/zsh"; shellAliases = { + fetch = "git fetch --all --jobs=4 --progress --prune"; run = "./run"; + pull = "git pull --autostash --jobs=4 --summary origin"; + rebase = "git rebase --autostash --stat"; + update = "fetch && rebase"; }; autocd = true; From c08df2a34291324caa3a0949de967a917684986c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 18:12:25 +0100 Subject: [PATCH 0023/2258] feat(alacritty): configure Alacritty --- home-manager/modules/alacritty.nix | 34 ++++++++++++++++++++++++++++++ home-manager/pop-os.nix | 1 + 2 files changed, 35 insertions(+) create mode 100644 home-manager/modules/alacritty.nix diff --git a/home-manager/modules/alacritty.nix b/home-manager/modules/alacritty.nix new file mode 100644 index 00000000..52fdc648 --- /dev/null +++ b/home-manager/modules/alacritty.nix @@ -0,0 +1,34 @@ +{ config, pkgs, lib, libs, ... }: +{ + programs.alacritty = { + enable = true; + + settings = { + env = { + TERM = "xterm-256color"; + }; + + font = { + bold = { + style = "Regular"; + }; + + bold_italic = { + style = "Italic"; + }; + + normal = { + family = "JetBrains Mono NL"; + style = "Regular"; + }; + + size = 15; + }; + + window = { + decorations = "full"; + dynamic_title = true; + }; + }; + }; +} diff --git a/home-manager/pop-os.nix b/home-manager/pop-os.nix index 679dc6e1..42af21f7 100644 --- a/home-manager/pop-os.nix +++ b/home-manager/pop-os.nix @@ -2,6 +2,7 @@ { imports = [ + ./modules/alacritty.nix ./modules/git.nix ./modules/home-manager.nix ./modules/tmux.nix From ecab676b75f3ca8bdb65115ba72f8faadc5b5ded Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 18:30:42 +0100 Subject: [PATCH 0024/2258] refactor: move OS configuration files --- .../pop-os/default.nix | 11 +++++------ configuration/wsl2/default.nix | 18 ++++++++++++++++++ flake.nix | 4 ++-- home-manager/wsl2.nix | 18 ------------------ 4 files changed, 25 insertions(+), 26 deletions(-) rename home-manager/pop-os.nix => configuration/pop-os/default.nix (51%) create mode 100644 configuration/wsl2/default.nix delete mode 100644 home-manager/wsl2.nix diff --git a/home-manager/pop-os.nix b/configuration/pop-os/default.nix similarity index 51% rename from home-manager/pop-os.nix rename to configuration/pop-os/default.nix index 42af21f7..9ed9e698 100644 --- a/home-manager/pop-os.nix +++ b/configuration/pop-os/default.nix @@ -2,11 +2,11 @@ { imports = [ - ./modules/alacritty.nix - ./modules/git.nix - ./modules/home-manager.nix - ./modules/tmux.nix - ./modules/zsh.nix + ../../home-manager/modules/alacritty.nix + ../../home-manager/modules/git.nix + ../../home-manager/modules/home-manager.nix + ../../home-manager/modules/tmux.nix + ../../home-manager/modules/zsh.nix ]; fonts.fontconfig.enable = true; @@ -16,7 +16,6 @@ docker-compose jetbrains-mono just - meslo-lg neovim ]; diff --git a/configuration/wsl2/default.nix b/configuration/wsl2/default.nix new file mode 100644 index 00000000..84c12423 --- /dev/null +++ b/configuration/wsl2/default.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../home-manager/modules/git.nix + ../../home-manager/modules/home-manager.nix + ../../home-manager/modules/tmux.nix + ../../home-manager/modules/zsh.nix + ]; + + home.packages = with pkgs; [ + just + neovim + zsh + ]; + + programs.bat.enable = true; +} diff --git a/flake.nix b/flake.nix index e62af6de..4ccae06a 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ pop-os = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./home-manager/pop-os.nix + ./configuration/pop-os ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; @@ -23,7 +23,7 @@ wsl2 = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./home-manager/wsl2.nix + ./configuration/wsl2 ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; diff --git a/home-manager/wsl2.nix b/home-manager/wsl2.nix deleted file mode 100644 index 45d0b44d..00000000 --- a/home-manager/wsl2.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - imports = [ - ./modules/git.nix - ./modules/home-manager.nix - ./modules/tmux.nix - ./modules/zsh.nix - ]; - - home.packages = with pkgs; [ - just - neovim - zsh - ]; - - programs.bat.enable = true; -} From a02f5bb68bbc7c6205c5c61c4890ddcf3c1a51fc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 18:37:05 +0100 Subject: [PATCH 0025/2258] refactor: extract a common module diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix index 9ed9e69..2287793 100644 --- a/configuration/pop-os/default.nix +++ b/configuration/pop-os/default.nix @@ -3,6 +3,7 @@ { imports = [ ../../home-manager/modules/alacritty.nix + ../../home-manager/modules/common.nix ../../home-manager/modules/git.nix ../../home-manager/modules/home-manager.nix ../../home-manager/modules/tmux.nix @@ -15,9 +16,5 @@ docker docker-compose jetbrains-mono - just - neovim ]; - - programs.bat.enable = true; } diff --git a/configuration/wsl2/default.nix b/configuration/wsl2/default.nix index 84c1242..de6afe3 100644 --- a/configuration/wsl2/default.nix +++ b/configuration/wsl2/default.nix @@ -2,17 +2,10 @@ { imports = [ + ../../home-manager/modules/common.nix ../../home-manager/modules/git.nix ../../home-manager/modules/home-manager.nix ../../home-manager/modules/tmux.nix ../../home-manager/modules/zsh.nix ]; - - home.packages = with pkgs; [ - just - neovim - zsh - ]; - - programs.bat.enable = true; } diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix new file mode 100644 index 0000000..0a77fe8 --- /dev/null +++ b/home-manager/modules/common.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: +{ + home.packages = with pkgs; [ + just + neovim + ]; + + programs.bat.enable = true; +} --- configuration/pop-os/default.nix | 5 +---- configuration/wsl2/default.nix | 9 +-------- home-manager/modules/common.nix | 9 +++++++++ 3 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 home-manager/modules/common.nix diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix index 9ed9e698..2287793b 100644 --- a/configuration/pop-os/default.nix +++ b/configuration/pop-os/default.nix @@ -3,6 +3,7 @@ { imports = [ ../../home-manager/modules/alacritty.nix + ../../home-manager/modules/common.nix ../../home-manager/modules/git.nix ../../home-manager/modules/home-manager.nix ../../home-manager/modules/tmux.nix @@ -15,9 +16,5 @@ docker docker-compose jetbrains-mono - just - neovim ]; - - programs.bat.enable = true; } diff --git a/configuration/wsl2/default.nix b/configuration/wsl2/default.nix index 84c12423..de6afe33 100644 --- a/configuration/wsl2/default.nix +++ b/configuration/wsl2/default.nix @@ -2,17 +2,10 @@ { imports = [ + ../../home-manager/modules/common.nix ../../home-manager/modules/git.nix ../../home-manager/modules/home-manager.nix ../../home-manager/modules/tmux.nix ../../home-manager/modules/zsh.nix ]; - - home.packages = with pkgs; [ - just - neovim - zsh - ]; - - programs.bat.enable = true; } diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix new file mode 100644 index 00000000..0a77fe82 --- /dev/null +++ b/home-manager/modules/common.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: +{ + home.packages = with pkgs; [ + just + neovim + ]; + + programs.bat.enable = true; +} From 691da2a0537441d9e641bd66fa43051fc214796a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 20:38:56 +0100 Subject: [PATCH 0026/2258] revert(alacritty): configure Alacritty This reverts commit afa768224855f4c1136eb3b62c2b09224f25ade0. --- configuration/pop-os/default.nix | 1 - home-manager/modules/alacritty.nix | 34 ------------------------------ 2 files changed, 35 deletions(-) delete mode 100644 home-manager/modules/alacritty.nix diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix index 2287793b..cfbdd462 100644 --- a/configuration/pop-os/default.nix +++ b/configuration/pop-os/default.nix @@ -2,7 +2,6 @@ { imports = [ - ../../home-manager/modules/alacritty.nix ../../home-manager/modules/common.nix ../../home-manager/modules/git.nix ../../home-manager/modules/home-manager.nix diff --git a/home-manager/modules/alacritty.nix b/home-manager/modules/alacritty.nix deleted file mode 100644 index 52fdc648..00000000 --- a/home-manager/modules/alacritty.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ config, pkgs, lib, libs, ... }: -{ - programs.alacritty = { - enable = true; - - settings = { - env = { - TERM = "xterm-256color"; - }; - - font = { - bold = { - style = "Regular"; - }; - - bold_italic = { - style = "Italic"; - }; - - normal = { - family = "JetBrains Mono NL"; - style = "Regular"; - }; - - size = 15; - }; - - window = { - decorations = "full"; - dynamic_title = true; - }; - }; - }; -} From 228086f19a1fd7dd8bfc0563c7bb304fca1b5c5c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Sep 2022 20:51:24 +0100 Subject: [PATCH 0027/2258] fix(zsh): include powerlevel10k configuration --- home-manager/modules/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 45ee9ec1..6ceb41d5 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -21,6 +21,10 @@ ]; initExtra = '' + if [ -f ~/.config/zsh/.p10k.zsh ]; then + . ~/.config/zsh/.p10k.zsh + fi + # Case insensitive autocompletion. zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit From f4c9e5c83bcab571151d8fbd5ff7ddc9c1222724 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Sep 2022 08:23:10 +0100 Subject: [PATCH 0028/2258] feat(nvim): add Neovim plugins --- home-manager/modules/common.nix | 64 ++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 0a77fe82..c9aba955 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -2,8 +2,70 @@ { home.packages = with pkgs; [ just - neovim ]; programs.bat.enable = true; + + programs.neovim = { + enable = true; + vimAlias = true; + plugins = with pkgs; [ + vimPlugins.comment-nvim + vimPlugins.git-worktree-nvim + vimPlugins.gitsigns-nvim + vimPlugins.harpoon + vimPlugins.impatient-nvim + vimPlugins.nvim-web-devicons + vimPlugins.refactoring-nvim + vimPlugins.rest-nvim + vimPlugins.vim-abolish + vimPlugins.vim-highlightedyank + vimPlugins.vim-polyglot + vimPlugins.vim-repeat + vimPlugins.vim-surround + vimPlugins.vim-test + + # Treesitter + vimPlugins.nvim-treesitter + vimPlugins.nvim-treesitter-context + vimPlugins.nvim-treesitter-textobjects + + # LSP + vimPlugins.null-ls-nvim + vimPlugins.nvim-lspconfig + vimPlugins.lsp-status-nvim + + # Completion + vimPlugins.cmp-buffer + vimPlugins.cmp-cmdline + vimPlugins.cmp-nvim-lsp + vimPlugins.cmp-path + vimPlugins.cmp-treesitter + vimPlugins.cmp-vsnip + vimPlugins.cmp_luasnip + vimPlugins.lspkind-nvim + vimPlugins.nvim-cmp + + vimPlugins.luasnip + + # Telescope + vimPlugins.plenary-nvim + vimPlugins.popup-nvim + vimPlugins.telescope-file-browser-nvim + vimPlugins.telescope-fzf-native-nvim + vimPlugins.telescope-nvim + vimPlugins.telescope-ui-select-nvim + + # Git + vimPlugins.neogit + + # Databases + vimPlugins.vim-dadbod + vimPlugins.vim-dadbod-ui + vimPlugins.vim-dadbod-completion + + # Themes + vimPlugins.nightfox-nvim + ]; + }; } From c7b4055a95accde83e2b75177c8d5077aa6cce60 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Sep 2022 19:25:48 +0100 Subject: [PATCH 0029/2258] feat: add markdownlint --- home-manager/modules/common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index c9aba955..85b6f320 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -2,6 +2,9 @@ { home.packages = with pkgs; [ just + + # LSP + nodePackages.markdownlint-cli ]; programs.bat.enable = true; From e01784d8cefb83fc0d966776ea9e8dd1748e955e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Sep 2022 19:29:50 +0100 Subject: [PATCH 0030/2258] chore: move nix files --- flake.nix | 4 ++-- {configuration => nixpkgs/configuration}/pop-os/default.nix | 0 {configuration => nixpkgs/configuration}/wsl2/default.nix | 0 {home-manager => nixpkgs/home-manager}/modules/common.nix | 0 {home-manager => nixpkgs/home-manager}/modules/git.nix | 0 .../home-manager}/modules/home-manager.nix | 0 {home-manager => nixpkgs/home-manager}/modules/tmux.nix | 0 {home-manager => nixpkgs/home-manager}/modules/zsh.nix | 0 8 files changed, 2 insertions(+), 2 deletions(-) rename {configuration => nixpkgs/configuration}/pop-os/default.nix (100%) rename {configuration => nixpkgs/configuration}/wsl2/default.nix (100%) rename {home-manager => nixpkgs/home-manager}/modules/common.nix (100%) rename {home-manager => nixpkgs/home-manager}/modules/git.nix (100%) rename {home-manager => nixpkgs/home-manager}/modules/home-manager.nix (100%) rename {home-manager => nixpkgs/home-manager}/modules/tmux.nix (100%) rename {home-manager => nixpkgs/home-manager}/modules/zsh.nix (100%) diff --git a/flake.nix b/flake.nix index 4ccae06a..7eb081d3 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ pop-os = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./configuration/pop-os + ./nixpkgs/configuration/pop-os ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; @@ -23,7 +23,7 @@ wsl2 = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./configuration/wsl2 + ./nixpkgs/configuration/wsl2 ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; diff --git a/configuration/pop-os/default.nix b/nixpkgs/configuration/pop-os/default.nix similarity index 100% rename from configuration/pop-os/default.nix rename to nixpkgs/configuration/pop-os/default.nix diff --git a/configuration/wsl2/default.nix b/nixpkgs/configuration/wsl2/default.nix similarity index 100% rename from configuration/wsl2/default.nix rename to nixpkgs/configuration/wsl2/default.nix diff --git a/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix similarity index 100% rename from home-manager/modules/common.nix rename to nixpkgs/home-manager/modules/common.nix diff --git a/home-manager/modules/git.nix b/nixpkgs/home-manager/modules/git.nix similarity index 100% rename from home-manager/modules/git.nix rename to nixpkgs/home-manager/modules/git.nix diff --git a/home-manager/modules/home-manager.nix b/nixpkgs/home-manager/modules/home-manager.nix similarity index 100% rename from home-manager/modules/home-manager.nix rename to nixpkgs/home-manager/modules/home-manager.nix diff --git a/home-manager/modules/tmux.nix b/nixpkgs/home-manager/modules/tmux.nix similarity index 100% rename from home-manager/modules/tmux.nix rename to nixpkgs/home-manager/modules/tmux.nix diff --git a/home-manager/modules/zsh.nix b/nixpkgs/home-manager/modules/zsh.nix similarity index 100% rename from home-manager/modules/zsh.nix rename to nixpkgs/home-manager/modules/zsh.nix From ffdbb50f01e34abd6d78c16dc7454eaba8098464 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Sep 2022 20:59:38 +0100 Subject: [PATCH 0031/2258] feat: install LSP and formatters --- nixpkgs/home-manager/modules/common.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 85b6f320..9292518b 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -1,10 +1,30 @@ { config, lib, pkgs, ... }: { + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "intelephense" + ]; + home.packages = with pkgs; [ just # LSP + # TODO: nodePackages."@ansible/ansible-language-server" + nodePackages."@tailwindcss/language-server" + nodePackages.bash-language-server + nodePackages.dockerfile-language-server-nodejs + nodePackages.eslint + nodePackages.intelephense nodePackages.markdownlint-cli + nodePackages.prettier + nodePackages.typescript + nodePackages.typescript-language-server + nodePackages.vls + nodePackages.vscode-langservers-extracted + nodePackages.yaml-language-server + php81Packages.phpcbf + php81Packages.phpcs + php81Packages.phpstan + shellcheck ]; programs.bat.enable = true; From ccef7209b7aead316637cc057a36a81ba71e38aa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 1 Oct 2022 18:59:33 +0100 Subject: [PATCH 0032/2258] chore: flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index a3c7a927..012d39d8 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1664217366, - "narHash": "sha256-YsqVv0D4YIXjeaz37V4/aRZrkAtEMZpFTn+tduI5fAM=", + "lastModified": 1664573442, + "narHash": "sha256-AovlSIuJfMf8n9QLNUVtsCul+NVHIoen7APH2fLls3k=", "owner": "nix-community", "repo": "home-manager", - "rev": "65b65ce5ef08d54bc09336fe3f35e33be487e2fe", + "rev": "a7f0cc2d7b271b4a5df9b9e351d556c172f7e903", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1664176858, - "narHash": "sha256-SIF3XyX22GQ2u4AAq5qsVeLZ/2fHSlBX+8hd5IGQ3+Y=", + "lastModified": 1664560674, + "narHash": "sha256-l80zOhNZer0sj+HtFCDMFmVSSDQ8Wwh/ad66I58MB98=", "owner": "neovim", "repo": "neovim", - "rev": "6596f7e136b7ceba2a94c708e2a179ec60b6d048", + "rev": "afb7efb3733962649f3c0897a25dc5fff60a66c6", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1664180387, - "narHash": "sha256-5fT/Nnv4QWVASqjMBKuHZKSFV+YHVH5jbTRakvQivuw=", + "lastModified": 1664612391, + "narHash": "sha256-JE/ixF+VZ+ygZ6ArYezXSbITOyYOMpUexA4YcvGWdu0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b7c02b63405cfc346b1faecc0602aeb7aaf79ee7", + "rev": "58cee99580df5bcd2776176a3b873cad735a38b0", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1664117201, - "narHash": "sha256-6QVOY28vj9eJqTVW5bT65hfY6qwmUi+fclgbRMotAzI=", + "lastModified": 1664497144, + "narHash": "sha256-oLTtXSp95umHunc+uFyGxUiZCXQlGFjXMz+w95hGZi4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f3e200bd7fa6f62edbfad82fe9fefe7b02f28603", + "rev": "671fabc93b4d1a3b38499c7b20776477c91b2b15", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1664106353, - "narHash": "sha256-HMJP80+DSxFySpWyuxz5+iNozS3+dVt0b4n6YMIU5/8=", + "lastModified": 1664538465, + "narHash": "sha256-EnlC7dDKX7X1wlnXkB1gmn9rBZQ0J9+biVTZHw//8us=", "owner": "nixos", "repo": "nixpkgs", - "rev": "79d3ca08920364759c63fd3eb562e99c0c17044a", + "rev": "10ecda252ce1b3b1d6403caeadbcc8f30d5ab796", "type": "github" }, "original": { From 60b0e1f82451a6d52d132a9f7bef818bc4a4ac17 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 1 Oct 2022 23:55:00 +0100 Subject: [PATCH 0033/2258] feat(justfile): add update --- justfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/justfile b/justfile index 7eb763e6..71cff1ee 100644 --- a/justfile +++ b/justfile @@ -6,3 +6,6 @@ pop-os *args: wsl2 *args: home-manager switch -f home-manager/home.nix --flake .#wsl2 {{ args }} + +update: + nix flake update From 47ca17f7818972932ee683007d9ad3dcd799c4a7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 2 Oct 2022 23:42:33 +0100 Subject: [PATCH 0034/2258] feat: add NixOS config for Apollo laptop --- flake.nix | 14 ++ justfile | 3 + nixpkgs/home-manager/apollo.nix | 16 ++ nixpkgs/nixos/apollo/configuration.nix | 183 ++++++++++++++++++ nixpkgs/nixos/apollo/default.nix | 21 ++ .../nixos/apollo/hardware-configuration.nix | 40 ++++ 6 files changed, 277 insertions(+) create mode 100644 nixpkgs/home-manager/apollo.nix create mode 100644 nixpkgs/nixos/apollo/configuration.nix create mode 100644 nixpkgs/nixos/apollo/default.nix create mode 100644 nixpkgs/nixos/apollo/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 7eb081d3..5386dce2 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,20 @@ let overlays = [ neovim-nightly.overlay ]; in { + nixosConfigurations = { + nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./nixpkgs/nixos/apollo/configuration.nix + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.opdavies = import ./nixpkgs/home-manager/apollo.nix; + } + ]; + }; + }; + homeConfigurations = { pop-os = home-manager.lib.homeManagerConfiguration { modules = [ diff --git a/justfile b/justfile index 71cff1ee..667a1646 100644 --- a/justfile +++ b/justfile @@ -1,6 +1,9 @@ default: just --list +apollo *args: + sudo nixos-rebuild switch --flake .#apollo {{ args }} + pop-os *args: home-manager switch -f home-manager/home.nix --flake .#pop-os {{ args }} diff --git a/nixpkgs/home-manager/apollo.nix b/nixpkgs/home-manager/apollo.nix new file mode 100644 index 00000000..5bc5c573 --- /dev/null +++ b/nixpkgs/home-manager/apollo.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./modules/common.nix + ./modules/git.nix + ./modules/home-manager.nix + ./modules/tmux.nix + ./modules/zsh.nix + ]; + + home.stateVersion = "22.05"; + + home.username = "opdavies"; + home.homeDirectory = "/home/opdavies"; +} diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix new file mode 100644 index 00000000..850dc9bd --- /dev/null +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -0,0 +1,183 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.efi.efiSysMountPoint = "/boot/efi"; + + networking.hostName = "apollo"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.utf8"; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + + # Configure keymap in X11 + services.xserver = { + layout = "gb"; + xkbVariant = ""; + }; + + # Configure console keymap + console.keyMap = "uk"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.opdavies = { + isNormalUser = true; + description = "Oliver Davies"; + extraGroups = [ "docker" "networkmanager" "wheel" ]; + packages = with pkgs; [ + alacritty + ansible + antibody + bat + bottom + cargo + chromium + copyq + ctop + delta + discord + docker + firefox + flameshot + fzf + gh + gimp + git + git-crypt + github-desktop + html-tidy + htop + jq + just + kdenlive + lua + neofetch + neovim + platformsh + pv + ripgrep + shellcheck + slack + stylua + sumneko-lua-language-server + teams + tldr + tmux + tmuxinator + tree + unzip + vim + vlc + wget + yt-dlp + zoom-us + zsh + ]; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.05"; # Did you read the comment? + + virtualisation.docker.enable = true; + + programs.zsh.enable = true; + programs.zsh.histSize = 5000; + + programs.zsh.shellAliases = { + cat = "bat"; + fetch = "git fetch --all --jobs=4 --progress --prune"; + pull = "git pull --autostash --jobs=4 --summary origin"; + rebase = "git rebase --autostash --stat"; + update = "fetch && rebase"; + }; + + users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; +} diff --git a/nixpkgs/nixos/apollo/default.nix b/nixpkgs/nixos/apollo/default.nix new file mode 100644 index 00000000..71c189ee --- /dev/null +++ b/nixpkgs/nixos/apollo/default.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + # ./configuration.nix + +# ../../../home-manager/modules/common.nix +# ../../../home-manager/modules/git.nix +# ../../../home-manager/modules/home-manager.nix +# ../../../home-manager/modules/tmux.nix +# ../../../home-manager/modules/zsh.nix + ]; + + fonts.fontconfig.enable = true; + + home.packages = with pkgs; [ + docker + docker-compose + jetbrains-mono + ]; +} diff --git a/nixpkgs/nixos/apollo/hardware-configuration.nix b/nixpkgs/nixos/apollo/hardware-configuration.nix new file mode 100644 index 00000000..798cdb3b --- /dev/null +++ b/nixpkgs/nixos/apollo/hardware-configuration.nix @@ -0,0 +1,40 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/62b28eee-5b67-41af-9fcf-95e8171e1897"; + fsType = "ext4"; + }; + + fileSystems."/boot/efi" = + { device = "/dev/disk/by-uuid/378D-387D"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/f95ef42e-09d9-4198-b8f3-2e22ea8c4f9e"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp53s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp54s0.useDHCP = lib.mkDefault true; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From 23d776e53744999b8d8664b137ba5b76c738ff06 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 3 Oct 2022 09:55:36 +0100 Subject: [PATCH 0035/2258] fix(flake): add missing flake name --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 5386dce2..51d1d072 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ overlays = [ neovim-nightly.overlay ]; in { nixosConfigurations = { - nixpkgs.lib.nixosSystem { + apollo = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./nixpkgs/nixos/apollo/configuration.nix From f64b58d6f5f963613dd653e56a61e07fbe7b7ec8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 3 Oct 2022 17:46:49 +0100 Subject: [PATCH 0036/2258] fix: update bash path --- bin/bin/tmux-sessioniser | 2 +- nixpkgs/home-manager/modules/common.nix | 65 ++++--------------------- nixpkgs/nixos/apollo/configuration.nix | 22 +++++---- roles/neovim/tasks/main.yaml | 49 ------------------- 4 files changed, 23 insertions(+), 115 deletions(-) diff --git a/bin/bin/tmux-sessioniser b/bin/bin/tmux-sessioniser index b42fe166..62d4abb8 100755 --- a/bin/bin/tmux-sessioniser +++ b/bin/bin/tmux-sessioniser @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Quickly navigate between different directories using fzf and tmux sessions # (Thanks, ThePrimeagen!). diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 9292518b..0c7c091b 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -31,64 +31,17 @@ programs.neovim = { enable = true; - vimAlias = true; - plugins = with pkgs; [ - vimPlugins.comment-nvim - vimPlugins.git-worktree-nvim - vimPlugins.gitsigns-nvim - vimPlugins.harpoon - vimPlugins.impatient-nvim - vimPlugins.nvim-web-devicons - vimPlugins.refactoring-nvim - vimPlugins.rest-nvim - vimPlugins.vim-abolish - vimPlugins.vim-highlightedyank - vimPlugins.vim-polyglot - vimPlugins.vim-repeat - vimPlugins.vim-surround - vimPlugins.vim-test - # Treesitter - vimPlugins.nvim-treesitter - vimPlugins.nvim-treesitter-context - vimPlugins.nvim-treesitter-textobjects + extraConfig = '' + lua << EOF + vim.opt.number = true + vim.opt.relativenumber = true + EOF + ''; - # LSP - vimPlugins.null-ls-nvim - vimPlugins.nvim-lspconfig - vimPlugins.lsp-status-nvim - - # Completion - vimPlugins.cmp-buffer - vimPlugins.cmp-cmdline - vimPlugins.cmp-nvim-lsp - vimPlugins.cmp-path - vimPlugins.cmp-treesitter - vimPlugins.cmp-vsnip - vimPlugins.cmp_luasnip - vimPlugins.lspkind-nvim - vimPlugins.nvim-cmp - - vimPlugins.luasnip - - # Telescope - vimPlugins.plenary-nvim - vimPlugins.popup-nvim - vimPlugins.telescope-file-browser-nvim - vimPlugins.telescope-fzf-native-nvim - vimPlugins.telescope-nvim - vimPlugins.telescope-ui-select-nvim - - # Git - vimPlugins.neogit - - # Databases - vimPlugins.vim-dadbod - vimPlugins.vim-dadbod-ui - vimPlugins.vim-dadbod-completion - - # Themes - vimPlugins.nightfox-nvim + plugins = with pkgs.vimPlugins; [ + plenary-nvim + telescope-nvim ]; }; } diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 850dc9bd..491672d6 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -34,19 +34,24 @@ in # Select internationalisation properties. i18n.defaultLocale = "en_GB.utf8"; - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the GNOME Desktop Environment. - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - - # Configure keymap in X11 services.xserver = { + enable = true; layout = "gb"; xkbVariant = ""; + + windowManager.awesome = { + enable = true; + + luaModules = with pkgs.luaPackages; [ + luarocks # is the package manager for Lua modules + luadbi-mysql # Database abstraction layer + ]; + }; }; + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + # Configure console keymap console.keyMap = "uk"; @@ -120,7 +125,6 @@ in tmuxinator tree unzip - vim vlc wget yt-dlp diff --git a/roles/neovim/tasks/main.yaml b/roles/neovim/tasks/main.yaml index 552281fa..0807ff5b 100644 --- a/roles/neovim/tasks/main.yaml +++ b/roles/neovim/tasks/main.yaml @@ -1,53 +1,4 @@ --- -- name: Dependencies - ansible.builtin.package: - name: - - autoconf - - automake - - cmake - - curl - - doxygen - - g++ - - gettext - - libtool - - libtool-bin - - ninja-build - - pkg-config - - unzip - state: latest - become: yes - -- name: Clone - ansible.builtin.git: - clone: yes - depth: 1 - dest: "{{ ansible_user_dir }}/build/neovim" - repo: https://github.com/neovim/neovim.git - # single_branch: yes - update: yes - version: "{{ neovim_version | default('master') }}" - register: clone - -- name: Build - make: - chdir: "{{ ansible_user_dir }}/build/neovim" - params: - CMAKE_BUILD_TYPE: RelWithDebInfo - when: clone.changed - -- name: Install - make: - chdir: "{{ ansible_user_dir }}/build/neovim" - target: install - become: yes - when: clone.changed - -- name: Remove build folder - ansible.builtin.file: - path: "{{ ansible_user_dir }}/build/neovim/build" - state: absent - become: yes - - name: Create .config/nvim directory ansible.builtin.file: path: "{{ ansible_user_dir }}/.config/nvim" From 85db57210df9c9f43a53748787622df953a953b6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 3 Oct 2022 17:47:17 +0100 Subject: [PATCH 0037/2258] feat(nvim): add rnix LSP for Nix files --- nixpkgs/home-manager/modules/common.nix | 1 + roles/neovim/files/lua/opdavies/lsp/init.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 0c7c091b..b2824b27 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -24,6 +24,7 @@ php81Packages.phpcbf php81Packages.phpcs php81Packages.phpstan + rnix-lsp shellcheck ]; diff --git a/roles/neovim/files/lua/opdavies/lsp/init.lua b/roles/neovim/files/lua/opdavies/lsp/init.lua index 96d14084..5c406dd9 100644 --- a/roles/neovim/files/lua/opdavies/lsp/init.lua +++ b/roles/neovim/files/lua/opdavies/lsp/init.lua @@ -76,6 +76,7 @@ local servers = { gopls = true, html = true, -- intelephense = true + rnix = true, tsserver = true, vuels = true, yamlls = true, From 1a0707910e27035c98ca08d13213cdd876a3573a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 3 Oct 2022 21:33:14 +0100 Subject: [PATCH 0038/2258] fix(nvim): treesitter paths --- roles/neovim/files/after/plugin/treesitter.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/neovim/files/after/plugin/treesitter.lua b/roles/neovim/files/after/plugin/treesitter.lua index 91a4fb1f..7fb9c845 100644 --- a/roles/neovim/files/after/plugin/treesitter.lua +++ b/roles/neovim/files/after/plugin/treesitter.lua @@ -3,6 +3,9 @@ if not has_configs then return end + +local parser_install_dir = vim.fn.stdpath('data') .. "/site"; + configs.setup { context_commenting = { enable = true, @@ -51,8 +54,11 @@ configs.setup { }, }, }, + parser_install_dir = parser_install_dir, } +vim.opt.runtimepath:append(parser_install_dir) + local nmap = require("opdavies.keymap").nmap nmap { "th", "TSHighlightCapturesUnderCursor" } From 7c206927dcfd0ae5ab29e679b60b1bfa54807552 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 07:29:34 +0100 Subject: [PATCH 0039/2258] build: allow for specifying the command --- justfile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/justfile b/justfile index 667a1646..7f2e8293 100644 --- a/justfile +++ b/justfile @@ -1,14 +1,14 @@ default: just --list -apollo *args: - sudo nixos-rebuild switch --flake .#apollo {{ args }} +apollo command *args: + sudo nixos-rebuild {{ command }} --flake .#apollo {{ args }} -pop-os *args: - home-manager switch -f home-manager/home.nix --flake .#pop-os {{ args }} +pop-os command *args: + home-manager {{ command }} -f home-manager/home.nix --flake .#pop-os {{ args }} -wsl2 *args: - home-manager switch -f home-manager/home.nix --flake .#wsl2 {{ args }} +wsl2 command *args: + home-manager {{ command }} -f home-manager/home.nix --flake .#wsl2 {{ args }} -update: - nix flake update +update *args: + nix flake update {{ args }} From 06440c5f0d718247d57eaeefebcd74d4d22e476c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 08:01:46 +0100 Subject: [PATCH 0040/2258] chore: delete result directory after running --- justfile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/justfile b/justfile index 7f2e8293..5405e796 100644 --- a/justfile +++ b/justfile @@ -1,13 +1,16 @@ default: just --list -apollo command *args: +clean: + rm -rf ./result + +apollo command *args: && clean sudo nixos-rebuild {{ command }} --flake .#apollo {{ args }} -pop-os command *args: +pop-os command *args: && clean home-manager {{ command }} -f home-manager/home.nix --flake .#pop-os {{ args }} -wsl2 command *args: +wsl2 command *args: && clean home-manager {{ command }} -f home-manager/home.nix --flake .#wsl2 {{ args }} update *args: From 493a63dc2ab5ed78310b71f738a971b50a8785a0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 08:07:15 +0100 Subject: [PATCH 0041/2258] chore: remove duplicate shell aliases --- nixpkgs/nixos/apollo/configuration.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 491672d6..99b53ab0 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -175,13 +175,5 @@ in programs.zsh.enable = true; programs.zsh.histSize = 5000; - programs.zsh.shellAliases = { - cat = "bat"; - fetch = "git fetch --all --jobs=4 --progress --prune"; - pull = "git pull --autostash --jobs=4 --summary origin"; - rebase = "git rebase --autostash --stat"; - update = "fetch && rebase"; - }; - users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; } From c4a2baa71e6bb8e4f28a69e21b44767af23dd557 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 08:17:18 +0100 Subject: [PATCH 0042/2258] refactor: re-organise packages --- nixpkgs/home-manager/modules/common.nix | 23 +++++++++++++++++ nixpkgs/nixos/apollo/configuration.nix | 33 ------------------------- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index b2824b27..41b734d5 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -5,10 +5,33 @@ ]; home.packages = with pkgs; [ + bottom + ctop + delta + file + fzf + gcc + gh + git + git-crypt just + tree-sitter + htop + jq + lua + neofetch + platformsh + pv + ripgrep + tldr + tmuxinator + tree + unzip + wget # LSP # TODO: nodePackages."@ansible/ansible-language-server" + html-tidy nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 99b53ab0..c9c72b4f 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -85,51 +85,18 @@ in extraGroups = [ "docker" "networkmanager" "wheel" ]; packages = with pkgs; [ alacritty - ansible - antibody - bat - bottom - cargo chromium copyq - ctop - delta discord - docker firefox flameshot - fzf - gh gimp - git - git-crypt github-desktop - html-tidy - htop - jq - just kdenlive - lua - neofetch - neovim - platformsh - pv - ripgrep - shellcheck slack - stylua - sumneko-lua-language-server teams - tldr - tmux - tmuxinator - tree - unzip vlc - wget - yt-dlp zoom-us - zsh ]; }; From 83c43d07dfbe95919e36f178a52f9aaf4de4ceee Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 09:21:39 +0100 Subject: [PATCH 0043/2258] fix(nvim): re-add plugins --- nixpkgs/home-manager/modules/common.nix | 64 +++++++++++++++++++++---- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 41b734d5..af4f75b3 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -55,17 +55,63 @@ programs.neovim = { enable = true; + plugins = with pkgs; [ + vimPlugins.comment-nvim + vimPlugins.git-worktree-nvim + vimPlugins.gitsigns-nvim + vimPlugins.harpoon + vimPlugins.impatient-nvim + vimPlugins.nvim-web-devicons + vimPlugins.refactoring-nvim + vimPlugins.rest-nvim + vimPlugins.vim-abolish + vimPlugins.vim-highlightedyank + vimPlugins.vim-polyglot + vimPlugins.vim-repeat + vimPlugins.vim-surround + vimPlugins.vim-test - extraConfig = '' - lua << EOF - vim.opt.number = true - vim.opt.relativenumber = true - EOF - ''; + # Treesitter + vimPlugins.nvim-treesitter + vimPlugins.nvim-treesitter-context + vimPlugins.nvim-treesitter-textobjects - plugins = with pkgs.vimPlugins; [ - plenary-nvim - telescope-nvim + # LSP + vimPlugins.null-ls-nvim + vimPlugins.nvim-lspconfig + vimPlugins.lsp-status-nvim + + # Completion + vimPlugins.cmp-buffer + vimPlugins.cmp-cmdline + vimPlugins.cmp-nvim-lsp + vimPlugins.cmp-path + vimPlugins.cmp-treesitter + vimPlugins.cmp-vsnip + vimPlugins.cmp_luasnip + vimPlugins.lspkind-nvim + vimPlugins.nvim-cmp + + vimPlugins.luasnip + + # Telescope + vimPlugins.plenary-nvim + vimPlugins.popup-nvim + vimPlugins.telescope-file-browser-nvim + vimPlugins.telescope-fzf-native-nvim + vimPlugins.telescope-nvim + vimPlugins.telescope-ui-select-nvim + + # Git + # vimPlugins.neogit + + # Databases + vimPlugins.vim-dadbod + vimPlugins.vim-dadbod-ui + vimPlugins.vim-dadbod-completion + + # Themes + vimPlugins.nightfox-nvim ]; }; } From 56304667809a57a297d9cdb215f1a7513a08849a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 09:26:08 +0100 Subject: [PATCH 0044/2258] refactor(nvim): manage Neovim with Home Manager --- .../files => config/neovim}/after/plugin/colorscheme.lua | 0 .../neovim/files => config/neovim}/after/plugin/comment.lua | 0 .../files => config/neovim}/after/plugin/completion.lua | 0 {roles/neovim/files => config/neovim}/after/plugin/dap.lua | 0 {roles/neovim/files => config/neovim}/after/plugin/dial.lua | 0 .../neovim/files => config/neovim}/after/plugin/fidget.lua | 0 {roles/neovim/files => config/neovim}/after/plugin/git.lua | 0 .../neovim/files => config/neovim}/after/plugin/gitsigns.lua | 0 .../neovim/files => config/neovim}/after/plugin/harpoon.lua | 0 .../neovim}/after/plugin/indent-blankline.lua | 0 {roles/neovim/files => config/neovim}/after/plugin/lir.lua | 0 .../neovim/files => config/neovim}/after/plugin/lualine.lua | 0 .../neovim/files => config/neovim}/after/plugin/luasnip.lua | 0 .../neovim}/after/plugin/markdown-preview.lua | 0 .../files => config/neovim}/after/plugin/nvim-rest.lua | 0 .../files => config/neovim}/after/plugin/refactoring.lua | 0 {roles/neovim/files => config/neovim}/after/plugin/seiya.lua | 0 .../files => config/neovim}/after/plugin/statusline.lua | 0 .../neovim/files => config/neovim}/after/plugin/terminal.vim | 0 .../files => config/neovim}/after/plugin/todo-comments.lua | 0 .../files => config/neovim}/after/plugin/treesitter.lua | 0 .../neovim/files => config/neovim}/after/plugin/twilight.lua | 0 .../neovim/files => config/neovim}/after/plugin/vim-test.lua | 0 .../neovim/files => config/neovim}/after/plugin/zen-mode.lua | 0 {roles/neovim/files => config/neovim}/autoload/opdavies.vim | 0 {roles/neovim/files => config/neovim}/init.lua | 0 .../neovim/files => config/neovim}/lua/opdavies/globals.lua | 0 .../neovim/files => config/neovim}/lua/opdavies/keymap.lua | 0 .../neovim/files => config/neovim}/lua/opdavies/lsp/init.lua | 0 .../files => config/neovim}/lua/opdavies/lsp/null-ls.lua | 0 .../files => config/neovim}/lua/opdavies/lsp/signature.lua | 0 .../neovim/files => config/neovim}/lua/opdavies/options.lua | 0 .../neovim/files => config/neovim}/lua/opdavies/plugins.lua | 0 .../neovim}/lua/opdavies/snippets/ft/javascript.lua | 0 .../files => config/neovim}/lua/opdavies/snippets/ft/lua.lua | 0 .../neovim}/lua/opdavies/snippets/ft/markdown.lua | 0 .../files => config/neovim}/lua/opdavies/snippets/ft/php.lua | 0 .../files => config/neovim}/lua/opdavies/snippets/ft/rst.lua | 0 .../files => config/neovim}/lua/opdavies/telescope/init.lua | 0 .../neovim}/lua/opdavies/telescope/mappings.lua | 0 .../files => config/neovim}/lua/opdavies/telescope/setup.lua | 0 nixpkgs/home-manager/modules/common.nix | 5 +++++ 42 files changed, 5 insertions(+) rename {roles/neovim/files => config/neovim}/after/plugin/colorscheme.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/comment.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/completion.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/dap.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/dial.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/fidget.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/git.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/gitsigns.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/harpoon.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/indent-blankline.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/lir.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/lualine.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/luasnip.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/markdown-preview.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/nvim-rest.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/refactoring.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/seiya.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/statusline.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/terminal.vim (100%) rename {roles/neovim/files => config/neovim}/after/plugin/todo-comments.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/treesitter.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/twilight.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/vim-test.lua (100%) rename {roles/neovim/files => config/neovim}/after/plugin/zen-mode.lua (100%) rename {roles/neovim/files => config/neovim}/autoload/opdavies.vim (100%) rename {roles/neovim/files => config/neovim}/init.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/globals.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/keymap.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/lsp/init.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/lsp/null-ls.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/lsp/signature.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/options.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/plugins.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/snippets/ft/javascript.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/snippets/ft/lua.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/snippets/ft/markdown.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/snippets/ft/php.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/snippets/ft/rst.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/telescope/init.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/telescope/mappings.lua (100%) rename {roles/neovim/files => config/neovim}/lua/opdavies/telescope/setup.lua (100%) diff --git a/roles/neovim/files/after/plugin/colorscheme.lua b/config/neovim/after/plugin/colorscheme.lua similarity index 100% rename from roles/neovim/files/after/plugin/colorscheme.lua rename to config/neovim/after/plugin/colorscheme.lua diff --git a/roles/neovim/files/after/plugin/comment.lua b/config/neovim/after/plugin/comment.lua similarity index 100% rename from roles/neovim/files/after/plugin/comment.lua rename to config/neovim/after/plugin/comment.lua diff --git a/roles/neovim/files/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua similarity index 100% rename from roles/neovim/files/after/plugin/completion.lua rename to config/neovim/after/plugin/completion.lua diff --git a/roles/neovim/files/after/plugin/dap.lua b/config/neovim/after/plugin/dap.lua similarity index 100% rename from roles/neovim/files/after/plugin/dap.lua rename to config/neovim/after/plugin/dap.lua diff --git a/roles/neovim/files/after/plugin/dial.lua b/config/neovim/after/plugin/dial.lua similarity index 100% rename from roles/neovim/files/after/plugin/dial.lua rename to config/neovim/after/plugin/dial.lua diff --git a/roles/neovim/files/after/plugin/fidget.lua b/config/neovim/after/plugin/fidget.lua similarity index 100% rename from roles/neovim/files/after/plugin/fidget.lua rename to config/neovim/after/plugin/fidget.lua diff --git a/roles/neovim/files/after/plugin/git.lua b/config/neovim/after/plugin/git.lua similarity index 100% rename from roles/neovim/files/after/plugin/git.lua rename to config/neovim/after/plugin/git.lua diff --git a/roles/neovim/files/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua similarity index 100% rename from roles/neovim/files/after/plugin/gitsigns.lua rename to config/neovim/after/plugin/gitsigns.lua diff --git a/roles/neovim/files/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua similarity index 100% rename from roles/neovim/files/after/plugin/harpoon.lua rename to config/neovim/after/plugin/harpoon.lua diff --git a/roles/neovim/files/after/plugin/indent-blankline.lua b/config/neovim/after/plugin/indent-blankline.lua similarity index 100% rename from roles/neovim/files/after/plugin/indent-blankline.lua rename to config/neovim/after/plugin/indent-blankline.lua diff --git a/roles/neovim/files/after/plugin/lir.lua b/config/neovim/after/plugin/lir.lua similarity index 100% rename from roles/neovim/files/after/plugin/lir.lua rename to config/neovim/after/plugin/lir.lua diff --git a/roles/neovim/files/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua similarity index 100% rename from roles/neovim/files/after/plugin/lualine.lua rename to config/neovim/after/plugin/lualine.lua diff --git a/roles/neovim/files/after/plugin/luasnip.lua b/config/neovim/after/plugin/luasnip.lua similarity index 100% rename from roles/neovim/files/after/plugin/luasnip.lua rename to config/neovim/after/plugin/luasnip.lua diff --git a/roles/neovim/files/after/plugin/markdown-preview.lua b/config/neovim/after/plugin/markdown-preview.lua similarity index 100% rename from roles/neovim/files/after/plugin/markdown-preview.lua rename to config/neovim/after/plugin/markdown-preview.lua diff --git a/roles/neovim/files/after/plugin/nvim-rest.lua b/config/neovim/after/plugin/nvim-rest.lua similarity index 100% rename from roles/neovim/files/after/plugin/nvim-rest.lua rename to config/neovim/after/plugin/nvim-rest.lua diff --git a/roles/neovim/files/after/plugin/refactoring.lua b/config/neovim/after/plugin/refactoring.lua similarity index 100% rename from roles/neovim/files/after/plugin/refactoring.lua rename to config/neovim/after/plugin/refactoring.lua diff --git a/roles/neovim/files/after/plugin/seiya.lua b/config/neovim/after/plugin/seiya.lua similarity index 100% rename from roles/neovim/files/after/plugin/seiya.lua rename to config/neovim/after/plugin/seiya.lua diff --git a/roles/neovim/files/after/plugin/statusline.lua b/config/neovim/after/plugin/statusline.lua similarity index 100% rename from roles/neovim/files/after/plugin/statusline.lua rename to config/neovim/after/plugin/statusline.lua diff --git a/roles/neovim/files/after/plugin/terminal.vim b/config/neovim/after/plugin/terminal.vim similarity index 100% rename from roles/neovim/files/after/plugin/terminal.vim rename to config/neovim/after/plugin/terminal.vim diff --git a/roles/neovim/files/after/plugin/todo-comments.lua b/config/neovim/after/plugin/todo-comments.lua similarity index 100% rename from roles/neovim/files/after/plugin/todo-comments.lua rename to config/neovim/after/plugin/todo-comments.lua diff --git a/roles/neovim/files/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua similarity index 100% rename from roles/neovim/files/after/plugin/treesitter.lua rename to config/neovim/after/plugin/treesitter.lua diff --git a/roles/neovim/files/after/plugin/twilight.lua b/config/neovim/after/plugin/twilight.lua similarity index 100% rename from roles/neovim/files/after/plugin/twilight.lua rename to config/neovim/after/plugin/twilight.lua diff --git a/roles/neovim/files/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua similarity index 100% rename from roles/neovim/files/after/plugin/vim-test.lua rename to config/neovim/after/plugin/vim-test.lua diff --git a/roles/neovim/files/after/plugin/zen-mode.lua b/config/neovim/after/plugin/zen-mode.lua similarity index 100% rename from roles/neovim/files/after/plugin/zen-mode.lua rename to config/neovim/after/plugin/zen-mode.lua diff --git a/roles/neovim/files/autoload/opdavies.vim b/config/neovim/autoload/opdavies.vim similarity index 100% rename from roles/neovim/files/autoload/opdavies.vim rename to config/neovim/autoload/opdavies.vim diff --git a/roles/neovim/files/init.lua b/config/neovim/init.lua similarity index 100% rename from roles/neovim/files/init.lua rename to config/neovim/init.lua diff --git a/roles/neovim/files/lua/opdavies/globals.lua b/config/neovim/lua/opdavies/globals.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/globals.lua rename to config/neovim/lua/opdavies/globals.lua diff --git a/roles/neovim/files/lua/opdavies/keymap.lua b/config/neovim/lua/opdavies/keymap.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/keymap.lua rename to config/neovim/lua/opdavies/keymap.lua diff --git a/roles/neovim/files/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/lsp/init.lua rename to config/neovim/lua/opdavies/lsp/init.lua diff --git a/roles/neovim/files/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/lsp/null-ls.lua rename to config/neovim/lua/opdavies/lsp/null-ls.lua diff --git a/roles/neovim/files/lua/opdavies/lsp/signature.lua b/config/neovim/lua/opdavies/lsp/signature.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/lsp/signature.lua rename to config/neovim/lua/opdavies/lsp/signature.lua diff --git a/roles/neovim/files/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/options.lua rename to config/neovim/lua/opdavies/options.lua diff --git a/roles/neovim/files/lua/opdavies/plugins.lua b/config/neovim/lua/opdavies/plugins.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/plugins.lua rename to config/neovim/lua/opdavies/plugins.lua diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/javascript.lua b/config/neovim/lua/opdavies/snippets/ft/javascript.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/snippets/ft/javascript.lua rename to config/neovim/lua/opdavies/snippets/ft/javascript.lua diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/lua.lua b/config/neovim/lua/opdavies/snippets/ft/lua.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/snippets/ft/lua.lua rename to config/neovim/lua/opdavies/snippets/ft/lua.lua diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/markdown.lua b/config/neovim/lua/opdavies/snippets/ft/markdown.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/snippets/ft/markdown.lua rename to config/neovim/lua/opdavies/snippets/ft/markdown.lua diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/snippets/ft/php.lua rename to config/neovim/lua/opdavies/snippets/ft/php.lua diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/rst.lua b/config/neovim/lua/opdavies/snippets/ft/rst.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/snippets/ft/rst.lua rename to config/neovim/lua/opdavies/snippets/ft/rst.lua diff --git a/roles/neovim/files/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/telescope/init.lua rename to config/neovim/lua/opdavies/telescope/init.lua diff --git a/roles/neovim/files/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/telescope/mappings.lua rename to config/neovim/lua/opdavies/telescope/mappings.lua diff --git a/roles/neovim/files/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua similarity index 100% rename from roles/neovim/files/lua/opdavies/telescope/setup.lua rename to config/neovim/lua/opdavies/telescope/setup.lua diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index af4f75b3..4cc1489b 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -114,4 +114,9 @@ vimPlugins.nightfox-nvim ]; }; + + xdg.configFile.nvim = { + source = ../../../config/neovim; + recursive = true; + }; } From 2d5963dbc401ec860f15df347c88f61aefa5251c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 09:40:42 +0100 Subject: [PATCH 0045/2258] refactor(nvim): delete roles --- group_vars/all | 3 --- roles/neovim-lsp/tasks/main.yaml | 34 ----------------------------- roles/neovim-packer/tasks/main.yaml | 7 ------ roles/neovim/tasks/main.yaml | 18 --------------- 4 files changed, 62 deletions(-) delete mode 100644 roles/neovim-lsp/tasks/main.yaml delete mode 100644 roles/neovim-packer/tasks/main.yaml delete mode 100644 roles/neovim/tasks/main.yaml diff --git a/group_vars/all b/group_vars/all index 8fa0da3b..ebfc7f41 100644 --- a/group_vars/all +++ b/group_vars/all @@ -22,9 +22,6 @@ default_roles: - jq - kdenlive - mysql-client - - neovim - - neovim-lsp - - neovim-packer - notion-app - npm - obs-studio diff --git a/roles/neovim-lsp/tasks/main.yaml b/roles/neovim-lsp/tasks/main.yaml deleted file mode 100644 index 8946c86b..00000000 --- a/roles/neovim-lsp/tasks/main.yaml +++ /dev/null @@ -1,34 +0,0 @@ ---- -- name: Install - community.general.npm: - name: "{{ npm_install_item }}" - state: latest - global: true - loop_control: - loop_var: npm_install_item - with_items: - - "@ansible/ansible-language-server" - - "@tailwindcss/language-server" - - bash-language-server - - dockerfile-language-server-nodejs - - intelephense - - typescript - - typescript-language-server - - vls - - vscode-langservers-extracted - - yaml-language-server - become: true - -- name: Create intelephense directory - ansible.builtin.file: - path: "{{ ansible_user_dir }}/intelephense" - state: directory - when: intelephense_licence is defined - -- name: Add intelephense licence key - ansible.builtin.copy: - content: "{{ intelephense_licence }}" - dest: "{{ ansible_user_dir }}/intelephense/licence.txt" - mode: 0400 - no_log: true - when: intelephense_licence is defined diff --git a/roles/neovim-packer/tasks/main.yaml b/roles/neovim-packer/tasks/main.yaml deleted file mode 100644 index 68584cda..00000000 --- a/roles/neovim-packer/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.git: - depth: 1 - dest: "{{ ansible_user_dir }}/.local/share/nvim/site/pack/packer/start/packer.nvim" - repo: https://github.com/wbthomason/packer.nvim - single_branch: true diff --git a/roles/neovim/tasks/main.yaml b/roles/neovim/tasks/main.yaml deleted file mode 100644 index 0807ff5b..00000000 --- a/roles/neovim/tasks/main.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: Create .config/nvim directory - ansible.builtin.file: - path: "{{ ansible_user_dir }}/.config/nvim" - state: directory - -- name: Configuration files - ansible.builtin.file: - src: "{{ role_path }}/files/{{ neovim_config_item }}" - dest: "{{ ansible_user_dir }}/.config/nvim/{{ neovim_config_item }}" - state: link - loop_control: - loop_var: neovim_config_item - with_items: - - after - - autoload - - init.lua - - lua From 8798a82bbe928c2c5d9411383a4a517e60f32e80 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Oct 2022 23:11:23 +0100 Subject: [PATCH 0046/2258] fix(nixos): enable experimental features --- nixpkgs/nixos/apollo/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index c9c72b4f..745d4fc3 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -13,6 +13,8 @@ in ./hardware-configuration.nix ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; From 14b1b2885e3e56e537e6f6aefb2b98bbb284d5c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 6 Oct 2022 12:33:59 +0100 Subject: [PATCH 0047/2258] fix: use Neovim nightly for NixOS --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 51d1d072..e7f7c6f7 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,7 @@ system = "x86_64-linux"; modules = [ ./nixpkgs/nixos/apollo/configuration.nix + { nixpkgs.overlays = overlays; } home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; From f3f1051f1f680ebf63ba82bb9a16c65c1c34eba8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Oct 2022 15:05:53 +0100 Subject: [PATCH 0048/2258] chore: remove teams --- group_vars/all | 1 - nixpkgs/nixos/apollo/configuration.nix | 1 - roles/teams/tasks/main.yaml | 7 ------- 3 files changed, 9 deletions(-) delete mode 100644 roles/teams/tasks/main.yaml diff --git a/group_vars/all b/group_vars/all index ebfc7f41..15ac061c 100644 --- a/group_vars/all +++ b/group_vars/all @@ -37,7 +37,6 @@ default_roles: - slack - ssh - stylua - - teams - tldr - tmux - tmuxinator diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 745d4fc3..7618ccc7 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -96,7 +96,6 @@ in github-desktop kdenlive slack - teams vlc zoom-us ]; diff --git a/roles/teams/tasks/main.yaml b/roles/teams/tasks/main.yaml deleted file mode 100644 index f1b31897..00000000 --- a/roles/teams/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.github.IsmaelMartinez.teams_for_linux - method: user - state: present From 459428a979a04f66dfe1c7a964918d5fbf44eb8c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Oct 2022 22:09:42 +0100 Subject: [PATCH 0049/2258] refactor: combine bin directories --- bin/dotfiles | 38 ------------------- bin/{bin => }/drupalorg | Bin bin/{bin => }/git-abort | 0 bin/{bin => }/git-close-pull-request | 0 bin/{bin => }/git-cm | 0 bin/{bin => }/git-continue | 0 bin/{bin => }/git-create-new-tracking-branch | 0 bin/{bin => }/git-delete-merged-branches | 0 bin/{bin => }/git-master-to-main-wrapper | 0 bin/{bin => }/git-opr | 0 bin/{bin => }/git-publish | 0 bin/{bin => }/git-up | 0 bin/{bin => }/git.sh | 0 bin/{bin => }/main-or-master-branch | 0 bin/{bin => }/phpunit-or-pest | 0 bin/{bin => }/tmux-sessioniser | 0 16 files changed, 38 deletions(-) delete mode 100755 bin/dotfiles rename bin/{bin => }/drupalorg (100%) rename bin/{bin => }/git-abort (100%) rename bin/{bin => }/git-close-pull-request (100%) rename bin/{bin => }/git-cm (100%) rename bin/{bin => }/git-continue (100%) rename bin/{bin => }/git-create-new-tracking-branch (100%) rename bin/{bin => }/git-delete-merged-branches (100%) rename bin/{bin => }/git-master-to-main-wrapper (100%) rename bin/{bin => }/git-opr (100%) rename bin/{bin => }/git-publish (100%) rename bin/{bin => }/git-up (100%) rename bin/{bin => }/git.sh (100%) rename bin/{bin => }/main-or-master-branch (100%) rename bin/{bin => }/phpunit-or-pest (100%) rename bin/{bin => }/tmux-sessioniser (100%) diff --git a/bin/dotfiles b/bin/dotfiles deleted file mode 100755 index 7983c79d..00000000 --- a/bin/dotfiles +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -set -e - -CONFIG_DIR="$HOME/.config/dotfiles" -DOTFILES_DIR="${DOTFILES_DIR:-$HOME/.dotfiles}" -PATH="${PATH}:${HOME}/.local/bin" - -clone_or_update_dotfiles() { - if ! [[ -d "$DOTFILES_DIR" ]]; then - git clone "https://github.com/opdavies/dotfiles.git" "$DOTFILES_DIR" - else - git -C "$DOTFILES_DIR" pull - fi -} - -create_config_dir() { - mkdir -p "${CONFIG_DIR}" -} - -install_dependencies() { - ansible-galaxy install -r "${DOTFILES_DIR}/requirements.yml" -} - -install_ansible() { - sudo apt-get -yqq update - sudo apt-get -yqq install python3-pip - pip install ansible --user -} - -run_playbook() { - ansible-playbook --diff --extra-vars "@${CONFIG_DIR}/values.yaml" --vault-password-file=${CONFIG_DIR}/vault-password.txt "${DOTFILES_DIR}/main.yaml" "${@}" -} - -clone_or_update_dotfiles -install_ansible -install_dependencies -run_playbook "${@}" diff --git a/bin/bin/drupalorg b/bin/drupalorg similarity index 100% rename from bin/bin/drupalorg rename to bin/drupalorg diff --git a/bin/bin/git-abort b/bin/git-abort similarity index 100% rename from bin/bin/git-abort rename to bin/git-abort diff --git a/bin/bin/git-close-pull-request b/bin/git-close-pull-request similarity index 100% rename from bin/bin/git-close-pull-request rename to bin/git-close-pull-request diff --git a/bin/bin/git-cm b/bin/git-cm similarity index 100% rename from bin/bin/git-cm rename to bin/git-cm diff --git a/bin/bin/git-continue b/bin/git-continue similarity index 100% rename from bin/bin/git-continue rename to bin/git-continue diff --git a/bin/bin/git-create-new-tracking-branch b/bin/git-create-new-tracking-branch similarity index 100% rename from bin/bin/git-create-new-tracking-branch rename to bin/git-create-new-tracking-branch diff --git a/bin/bin/git-delete-merged-branches b/bin/git-delete-merged-branches similarity index 100% rename from bin/bin/git-delete-merged-branches rename to bin/git-delete-merged-branches diff --git a/bin/bin/git-master-to-main-wrapper b/bin/git-master-to-main-wrapper similarity index 100% rename from bin/bin/git-master-to-main-wrapper rename to bin/git-master-to-main-wrapper diff --git a/bin/bin/git-opr b/bin/git-opr similarity index 100% rename from bin/bin/git-opr rename to bin/git-opr diff --git a/bin/bin/git-publish b/bin/git-publish similarity index 100% rename from bin/bin/git-publish rename to bin/git-publish diff --git a/bin/bin/git-up b/bin/git-up similarity index 100% rename from bin/bin/git-up rename to bin/git-up diff --git a/bin/bin/git.sh b/bin/git.sh similarity index 100% rename from bin/bin/git.sh rename to bin/git.sh diff --git a/bin/bin/main-or-master-branch b/bin/main-or-master-branch similarity index 100% rename from bin/bin/main-or-master-branch rename to bin/main-or-master-branch diff --git a/bin/bin/phpunit-or-pest b/bin/phpunit-or-pest similarity index 100% rename from bin/bin/phpunit-or-pest rename to bin/phpunit-or-pest diff --git a/bin/bin/tmux-sessioniser b/bin/tmux-sessioniser similarity index 100% rename from bin/bin/tmux-sessioniser rename to bin/tmux-sessioniser From f7df88b616d294ceaba31244ae1210c3cce59f82 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Oct 2022 22:11:59 +0100 Subject: [PATCH 0050/2258] feat(nvim): re-add neogit --- nixpkgs/home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 4cc1489b..762b9071 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -61,6 +61,7 @@ vimPlugins.gitsigns-nvim vimPlugins.harpoon vimPlugins.impatient-nvim + vimPlugins.neogit vimPlugins.nvim-web-devicons vimPlugins.refactoring-nvim vimPlugins.rest-nvim From 7cfdca5a06ca2fb9b560ed979c31af375c19a245 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 12 Oct 2022 07:59:47 +0100 Subject: [PATCH 0051/2258] feat: add and use zoxide --- bin/tmux-sessioniser | 2 +- nixpkgs/home-manager/modules/common.nix | 10 ++++++++++ nixpkgs/home-manager/modules/zsh.nix | 9 ++------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/bin/tmux-sessioniser b/bin/tmux-sessioniser index 62d4abb8..806f83d9 100755 --- a/bin/tmux-sessioniser +++ b/bin/tmux-sessioniser @@ -11,7 +11,7 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - selected=$(find ~/ ~/Code ~/Code/clients ~/Code/os ~/Code/Personal ~/Documents/Books ~/Documents/Talks/ -mindepth 1 -maxdepth 1 -type d -not -name ".*" | sort | fzf) + selected=$(zoxide query -l | sort | fzf --reverse) fi if [[ -z $selected ]]; then diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 762b9071..25e8d3e1 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -28,6 +28,7 @@ tree unzip wget + zoxide # LSP # TODO: nodePackages."@ansible/ansible-language-server" @@ -116,6 +117,15 @@ ]; }; + home.sessionPath = [ + "$HOME/.config/bin" + ]; + + xdg.configFile.bin = { + source = ../../../bin; + recursive = true; + }; + xdg.configFile.nvim = { source = ../../../config/neovim; recursive = true; diff --git a/nixpkgs/home-manager/modules/zsh.nix b/nixpkgs/home-manager/modules/zsh.nix index 6ceb41d5..5390a88b 100644 --- a/nixpkgs/home-manager/modules/zsh.nix +++ b/nixpkgs/home-manager/modules/zsh.nix @@ -13,18 +13,13 @@ update = "fetch && rebase"; }; - autocd = true; - cdpath = [ - "$HOME/Code" - "$HOME/Code/*" - "$HOME" - ]; - initExtra = '' if [ -f ~/.config/zsh/.p10k.zsh ]; then . ~/.config/zsh/.p10k.zsh fi + eval "$(zoxide init zsh)" + # Case insensitive autocompletion. zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit From a0fc60ce2805ec44cdf8bbb200e5d66b4afa2941 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 12 Oct 2022 16:36:52 +0100 Subject: [PATCH 0052/2258] chore(flake): update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 012d39d8..925e87a3 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1664573442, - "narHash": "sha256-AovlSIuJfMf8n9QLNUVtsCul+NVHIoen7APH2fLls3k=", + "lastModified": 1665520899, + "narHash": "sha256-N8BYMgvrAYhiXeyrcEeLgngZZaU6MVVocSa+tIfyMyg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7f0cc2d7b271b4a5df9b9e351d556c172f7e903", + "rev": "5597b3a7425a9e3f41128308cb1105d3e780f633", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1664560674, - "narHash": "sha256-l80zOhNZer0sj+HtFCDMFmVSSDQ8Wwh/ad66I58MB98=", + "lastModified": 1665548414, + "narHash": "sha256-MZTZLz4DTGnehY6JCbJzx9EtvNuOPg/dOMvMKawaFBY=", "owner": "neovim", "repo": "neovim", - "rev": "afb7efb3733962649f3c0897a25dc5fff60a66c6", + "rev": "f175ca9f7cc29054b1c6fe1fd1076edd78af5684", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1664612391, - "narHash": "sha256-JE/ixF+VZ+ygZ6ArYezXSbITOyYOMpUexA4YcvGWdu0=", + "lastModified": 1665562768, + "narHash": "sha256-/2wag5vXeieg7YRR431tMaZwB9oAnrQ2Hy7zriRWjd4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "58cee99580df5bcd2776176a3b873cad735a38b0", + "rev": "e3841a95c1b6bb49ef634ed496c9489c5f48d8cf", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1664497144, - "narHash": "sha256-oLTtXSp95umHunc+uFyGxUiZCXQlGFjXMz+w95hGZi4=", + "lastModified": 1665483364, + "narHash": "sha256-sisuhAPPjYB92YlcyoVEcTh5teuAkL9NW8UVexRsfoo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "671fabc93b4d1a3b38499c7b20776477c91b2b15", + "rev": "e0ed589d7422c1d7a1bdd1e81289e2428c6ec2a3", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1664538465, - "narHash": "sha256-EnlC7dDKX7X1wlnXkB1gmn9rBZQ0J9+biVTZHw//8us=", + "lastModified": 1665449268, + "narHash": "sha256-cw4xrQIAZUyJGj58Dp5VLICI0rscd+uap83afiFzlcA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10ecda252ce1b3b1d6403caeadbcc8f30d5ab796", + "rev": "285e77efe87df64105ec14b204de6636fb0a7a27", "type": "github" }, "original": { From e670431799a40be4e15cab2e5abc25de7c48d8d6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 14 Oct 2022 10:54:25 +0100 Subject: [PATCH 0053/2258] feat(nvim): re-add DAP plugins --- nixpkgs/home-manager/modules/common.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 25e8d3e1..5f28e697 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -73,6 +73,11 @@ vimPlugins.vim-surround vimPlugins.vim-test + # Debugging + vimPlugins.nvim-dap + vimPlugins.nvim-dap-ui + vimPlugins.nvim-dap-virtual-text + # Treesitter vimPlugins.nvim-treesitter vimPlugins.nvim-treesitter-context From d0d81cdeb18162b228da1386fe948789d8bc85e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 24 Oct 2022 06:49:09 +0100 Subject: [PATCH 0054/2258] chore(flake): update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 925e87a3..aafe1aad 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1665520899, - "narHash": "sha256-N8BYMgvrAYhiXeyrcEeLgngZZaU6MVVocSa+tIfyMyg=", + "lastModified": 1666558342, + "narHash": "sha256-qiH0Zgig28yaSyebehrrYiX1y53Y/xFcQW+EFMRSVI0=", "owner": "nix-community", "repo": "home-manager", - "rev": "5597b3a7425a9e3f41128308cb1105d3e780f633", + "rev": "186d9399f9eb64fb06ea4385732c1cf1624ae2b6", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1665548414, - "narHash": "sha256-MZTZLz4DTGnehY6JCbJzx9EtvNuOPg/dOMvMKawaFBY=", + "lastModified": 1666504365, + "narHash": "sha256-8pFq51tAC45pSVawfTH+tYTG14FypNrD4F4OBniHeOQ=", "owner": "neovim", "repo": "neovim", - "rev": "f175ca9f7cc29054b1c6fe1fd1076edd78af5684", + "rev": "3f80df368e0eec05f80ebb194e128b6da2db7418", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1665562768, - "narHash": "sha256-/2wag5vXeieg7YRR431tMaZwB9oAnrQ2Hy7zriRWjd4=", + "lastModified": 1666513155, + "narHash": "sha256-3w5QK/mpIuUqq9jb8KMXyhjkalKhCE/mjoCe3IUuGqA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e3841a95c1b6bb49ef634ed496c9489c5f48d8cf", + "rev": "af90953f9729b1c003477456db19a7f23bfe7f64", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1665483364, - "narHash": "sha256-sisuhAPPjYB92YlcyoVEcTh5teuAkL9NW8UVexRsfoo=", + "lastModified": 1666424192, + "narHash": "sha256-rb/a7Kg9s31jqkvdOQHFrUc5ig5kB+O2ZKB8mjU2kW8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e0ed589d7422c1d7a1bdd1e81289e2428c6ec2a3", + "rev": "4f8287f3d597c73b0d706cfad028c2d51821f64d", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1665449268, - "narHash": "sha256-cw4xrQIAZUyJGj58Dp5VLICI0rscd+uap83afiFzlcA=", + "lastModified": 1666447894, + "narHash": "sha256-i9WHX4w/et4qPMzEXd9POmnO0/bthjr7R4cblKNHGms=", "owner": "nixos", "repo": "nixpkgs", - "rev": "285e77efe87df64105ec14b204de6636fb0a7a27", + "rev": "95aeaf83c247b8f5aa561684317ecd860476fcd6", "type": "github" }, "original": { From b5c147bf923509855bea53e6b3bd47ab64325609 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 31 Oct 2022 23:37:10 +0000 Subject: [PATCH 0055/2258] chore(flake): update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index aafe1aad..d296319e 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1666558342, - "narHash": "sha256-qiH0Zgig28yaSyebehrrYiX1y53Y/xFcQW+EFMRSVI0=", + "lastModified": 1667234164, + "narHash": "sha256-oPMAvHZBDgamjmIQly5+sw2LtfKwY7qcWZZwKiwKQy8=", "owner": "nix-community", "repo": "home-manager", - "rev": "186d9399f9eb64fb06ea4385732c1cf1624ae2b6", + "rev": "722e8d65d3aba6f527100cc2d1539e4ca04d066f", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1666504365, - "narHash": "sha256-8pFq51tAC45pSVawfTH+tYTG14FypNrD4F4OBniHeOQ=", + "lastModified": 1667144378, + "narHash": "sha256-quxR2b3ZoxA6oLoP8t6TgE3Z7K1hbv5BXFqGq8nbZJY=", "owner": "neovim", "repo": "neovim", - "rev": "3f80df368e0eec05f80ebb194e128b6da2db7418", + "rev": "19dab2ead2dfc49c24e004fcdbbef6948b7bde94", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1666513155, - "narHash": "sha256-3w5QK/mpIuUqq9jb8KMXyhjkalKhCE/mjoCe3IUuGqA=", + "lastModified": 1667228955, + "narHash": "sha256-9aFWMNBWQnJGyxQznxya/NU+vrx1YRMriZgOIBFdfYY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "af90953f9729b1c003477456db19a7f23bfe7f64", + "rev": "4796a65f887bad090cfe8261a8bccb5b0ebd9251", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1666424192, - "narHash": "sha256-rb/a7Kg9s31jqkvdOQHFrUc5ig5kB+O2ZKB8mjU2kW8=", + "lastModified": 1667055375, + "narHash": "sha256-xfSTHYxuKRiqF4dcuAFdti1OUvrC2lHpQqCHWUK5/JA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4f8287f3d597c73b0d706cfad028c2d51821f64d", + "rev": "7f9be6a505a31f88499c5d20d11f98accf5ae6ba", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1666447894, - "narHash": "sha256-i9WHX4w/et4qPMzEXd9POmnO0/bthjr7R4cblKNHGms=", + "lastModified": 1667142599, + "narHash": "sha256-OLJxsg9VqfKjFkerOxWtNIkibsCvxsv5A8wNWO1MeWk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "95aeaf83c247b8f5aa561684317ecd860476fcd6", + "rev": "412b9917cea092f3d39f9cd5dead4effd5bc4053", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667077288, + "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", "type": "github" }, "original": { From db7c1fc27343b46865aa147fabe8e4926becac58 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 31 Oct 2022 23:37:55 +0000 Subject: [PATCH 0056/2258] build: add Ansible language server --- nixpkgs/home-manager/modules/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 5f28e697..baec0a1b 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -31,8 +31,8 @@ zoxide # LSP - # TODO: nodePackages."@ansible/ansible-language-server" html-tidy + nodePackages."@ansible/ansible-language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs From bcbad6715eb8213075f5779c109e11423617b22b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 31 Oct 2022 23:43:47 +0000 Subject: [PATCH 0057/2258] fix(git): disable verbose commits Disable verbose commits as this seems to be causing an issue with Neogit where the diff is unintentionally included within the commit message. --- nixpkgs/home-manager/modules/git.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixpkgs/home-manager/modules/git.nix b/nixpkgs/home-manager/modules/git.nix index fde8465e..33e0e7d3 100644 --- a/nixpkgs/home-manager/modules/git.nix +++ b/nixpkgs/home-manager/modules/git.nix @@ -63,7 +63,6 @@ color.ui = true; commit = { template = "~/.gitmessage"; - verbose = true; }; core = { editor = "nvim"; From 2aff2a28ff859771b68fcec9a83e4d67fccd565d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 1 Nov 2022 20:20:48 +0000 Subject: [PATCH 0058/2258] feat: re-add vim-tmux-navigator --- nixpkgs/home-manager/modules/common.nix | 1 + nixpkgs/home-manager/modules/tmux.nix | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index baec0a1b..233b2305 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -72,6 +72,7 @@ vimPlugins.vim-repeat vimPlugins.vim-surround vimPlugins.vim-test + vimPlugins.vim-tmux-navigator # Debugging vimPlugins.nvim-dap diff --git a/nixpkgs/home-manager/modules/tmux.nix b/nixpkgs/home-manager/modules/tmux.nix index 29094f1a..d034696b 100644 --- a/nixpkgs/home-manager/modules/tmux.nix +++ b/nixpkgs/home-manager/modules/tmux.nix @@ -65,10 +65,28 @@ # Remove delay when switching Vim modes. set -sg escape-time 0 + + # Smart pane switching with awareness of Vim splits. + # See: https://github.com/christoomey/vim-tmux-navigator + is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" + + bind-key -n 'C-\\' if-shell "$is_vim" 'send-keys C-\\\\' 'select-pane -l' + bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' + bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' + bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' + bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' + + bind-key -T copy-mode-vi 'C-h' select-pane -L + bind-key -T copy-mode-vi 'C-j' select-pane -D + bind-key -T copy-mode-vi 'C-k' select-pane -U + bind-key -T copy-mode-vi 'C-l' select-pane -R + bind-key -T copy-mode-vi 'C-\' select-pane -l ''; plugins = with pkgs; [ tmuxPlugins.resurrect + tmuxPlugins.vim-tmux-navigator tmuxPlugins.yank ]; }; From 4604600e042c2e5e73679fecf1ee49dfd0deee6d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 2 Nov 2022 20:35:40 +0000 Subject: [PATCH 0059/2258] feat: add caffeine --- nixpkgs/nixos/apollo/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 7618ccc7..6759b794 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -98,6 +98,8 @@ in slack vlc zoom-us + + gnomeExtensions.caffeine ]; }; From c2cfbe0c85f09aa732111f03dedb23089fd3a31c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 2 Nov 2022 20:41:36 +0000 Subject: [PATCH 0060/2258] chore: remove some unused Gnome packages --- nixpkgs/nixos/apollo/configuration.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 6759b794..6b632a28 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -103,6 +103,24 @@ in ]; }; + environment.gnome.excludePackages = (with pkgs; [ + gnome-photos + gnome-tour + ]) ++ (with pkgs.gnome; [ + atomix + cheese + evince + geary + gedit + gnome-characters + gnome-music + gnome-terminal + hitori + iagno + tali + totem + ]); + # Allow unfree packages nixpkgs.config.allowUnfree = true; From 1b03084975dc8e614c7d82a35869f36e1ecfa97a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Nov 2022 10:40:03 +0000 Subject: [PATCH 0061/2258] fix(nvim): error on startup --- config/neovim/lua/opdavies/lsp/init.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 5c406dd9..0b504d96 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -20,8 +20,8 @@ local buf_inoremap = function(opts) imap(opts) end -local updated_capabilities = vim.lsp.protocol.make_client_capabilities() -updated_capabilities = require("cmp_nvim_lsp").update_capabilities(updated_capabilities) +local default_capabilities = vim.lsp.protocol.make_client_capabilities() +default_capabilities = require("cmp_nvim_lsp").default_capabilities(default_capabilities) local custom_init = function(client) client.config.flags = client.config.flags or {} @@ -143,7 +143,7 @@ local setup_server = function(server, config) config = vim.tbl_deep_extend("force", { on_init = custom_init, on_attach = custom_attach, - capabilities = updated_capabilities, + capabilities = default_capabilities, flags = { debounce_text_changes = nil, }, From 933d2fcf621f001d9832e993f9f2fc6a10816645 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Nov 2022 10:44:56 +0000 Subject: [PATCH 0062/2258] fix(nvim): update dotfiles location --- config/neovim/after/plugin/luasnip.lua | 2 +- config/neovim/lua/opdavies/telescope/init.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/neovim/after/plugin/luasnip.lua b/config/neovim/after/plugin/luasnip.lua index cbb87891..08b59c69 100644 --- a/config/neovim/after/plugin/luasnip.lua +++ b/config/neovim/after/plugin/luasnip.lua @@ -92,4 +92,4 @@ imap { end, } -nmap { "s", "source ~/.config/nvim/after/plugin/luasnip.lua" } +nmap { "s", "source ~/Code/dotfiles/config/neovim/after/plugin/luasnip.lua" } diff --git a/config/neovim/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua index a73c3d47..c42525ec 100644 --- a/config/neovim/lua/opdavies/telescope/init.lua +++ b/config/neovim/lua/opdavies/telescope/init.lua @@ -39,7 +39,7 @@ end function M.edit_neovim() local opts = { - cwd = "~/.config/nvim", + cwd = "~/Code/dotfiles/config/neovim", find_command = { "rg", "--no-ignore", "--files", "--follow" }, path_display = { "shorten" }, prompt_title = "~ dotfiles ~", From ddfdee777dc955d944f7efc52cbbf6b8d1dd4a9f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Nov 2022 10:45:31 +0000 Subject: [PATCH 0063/2258] feat(nvim): re-add vimux --- nixpkgs/home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 233b2305..984c6f86 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -73,6 +73,7 @@ vimPlugins.vim-surround vimPlugins.vim-test vimPlugins.vim-tmux-navigator + vimPlugins.vimux # Debugging vimPlugins.nvim-dap From b877a315a0fb22b398cf07b904da02e5dc89a731 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Nov 2022 10:45:53 +0000 Subject: [PATCH 0064/2258] feat(nvim): re-add cmp-tabnine --- nixpkgs/home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 984c6f86..20169335 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -95,6 +95,7 @@ vimPlugins.cmp-cmdline vimPlugins.cmp-nvim-lsp vimPlugins.cmp-path + vimPlugins.cmp-tabnine vimPlugins.cmp-treesitter vimPlugins.cmp-vsnip vimPlugins.cmp_luasnip From 561fd197ad8dbf0a4cc3b1d61ceb444224be176e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 29 Nov 2022 07:02:11 +0000 Subject: [PATCH 0065/2258] chore: niv init --- nix/sources.json | 14 ++++ nix/sources.nix | 194 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 nix/sources.json create mode 100644 nix/sources.nix diff --git a/nix/sources.json b/nix/sources.json new file mode 100644 index 00000000..5c20860c --- /dev/null +++ b/nix/sources.json @@ -0,0 +1,14 @@ +{ + "nixpkgs": { + "branch": "release-21.05", + "description": "Nix Packages collection", + "homepage": "", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5f244caea76105b63d826911b2a1563d33ff1cdc", + "sha256": "1xlgynfw9svy7nvh9nkxsxdzncv9hg99gbvbwv3gmrhmzc3sar75", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5f244caea76105b63d826911b2a1563d33ff1cdc.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + } +} diff --git a/nix/sources.nix b/nix/sources.nix new file mode 100644 index 00000000..9a01c8ac --- /dev/null +++ b/nix/sources.nix @@ -0,0 +1,194 @@ +# This file has been generated by Niv. + +let + + # + # The fetchers. fetch_ fetches specs of type . + # + + fetch_file = pkgs: name: spec: + let + name' = sanitizeName name + "-src"; + in + if spec.builtin or true then + builtins_fetchurl { inherit (spec) url sha256; name = name'; } + else + pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; + + fetch_tarball = pkgs: name: spec: + let + name' = sanitizeName name + "-src"; + in + if spec.builtin or true then + builtins_fetchTarball { name = name'; inherit (spec) url sha256; } + else + pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; + + fetch_git = name: spec: + let + ref = + if spec ? ref then spec.ref else + if spec ? branch then "refs/heads/${spec.branch}" else + if spec ? tag then "refs/tags/${spec.tag}" else + abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"; + submodules = if spec ? submodules then spec.submodules else false; + submoduleArg = + let + nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0; + emptyArgWithWarning = + if submodules == true + then + builtins.trace + ( + "The niv input \"${name}\" uses submodules " + + "but your nix's (${builtins.nixVersion}) builtins.fetchGit " + + "does not support them" + ) + {} + else {}; + in + if nixSupportsSubmodules + then { inherit submodules; } + else emptyArgWithWarning; + in + builtins.fetchGit + ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg); + + fetch_local = spec: spec.path; + + fetch_builtin-tarball = name: throw + ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`. + $ niv modify ${name} -a type=tarball -a builtin=true''; + + fetch_builtin-url = name: throw + ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`. + $ niv modify ${name} -a type=file -a builtin=true''; + + # + # Various helpers + # + + # https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695 + sanitizeName = name: + ( + concatMapStrings (s: if builtins.isList s then "-" else s) + ( + builtins.split "[^[:alnum:]+._?=-]+" + ((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name) + ) + ); + + # The set of packages used when specs are fetched using non-builtins. + mkPkgs = sources: system: + let + sourcesNixpkgs = + import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; }; + hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath; + hasThisAsNixpkgsPath = == ./.; + in + if builtins.hasAttr "nixpkgs" sources + then sourcesNixpkgs + else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then + import {} + else + abort + '' + Please specify either (through -I or NIX_PATH=nixpkgs=...) or + add a package called "nixpkgs" to your sources.json. + ''; + + # The actual fetching function. + fetch = pkgs: name: spec: + + if ! builtins.hasAttr "type" spec then + abort "ERROR: niv spec ${name} does not have a 'type' attribute" + else if spec.type == "file" then fetch_file pkgs name spec + else if spec.type == "tarball" then fetch_tarball pkgs name spec + else if spec.type == "git" then fetch_git name spec + else if spec.type == "local" then fetch_local spec + else if spec.type == "builtin-tarball" then fetch_builtin-tarball name + else if spec.type == "builtin-url" then fetch_builtin-url name + else + abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}"; + + # If the environment variable NIV_OVERRIDE_${name} is set, then use + # the path directly as opposed to the fetched source. + replace = name: drv: + let + saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name; + ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; + in + if ersatz == "" then drv else + # this turns the string into an actual Nix path (for both absolute and + # relative paths) + if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; + + # Ports of functions for older nix versions + + # a Nix version of mapAttrs if the built-in doesn't exist + mapAttrs = builtins.mapAttrs or ( + f: set: with builtins; + listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)) + ); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 + range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 + stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 + stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); + concatMapStrings = f: list: concatStrings (map f list); + concatStrings = builtins.concatStringsSep ""; + + # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331 + optionalAttrs = cond: as: if cond then as else {}; + + # fetchTarball version that is compatible between all the versions of Nix + builtins_fetchTarball = { url, name ? null, sha256 }@attrs: + let + inherit (builtins) lessThan nixVersion fetchTarball; + in + if lessThan nixVersion "1.12" then + fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) + else + fetchTarball attrs; + + # fetchurl version that is compatible between all the versions of Nix + builtins_fetchurl = { url, name ? null, sha256 }@attrs: + let + inherit (builtins) lessThan nixVersion fetchurl; + in + if lessThan nixVersion "1.12" then + fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) + else + fetchurl attrs; + + # Create the final "sources" from the config + mkSources = config: + mapAttrs ( + name: spec: + if builtins.hasAttr "outPath" spec + then abort + "The values in sources.json should not have an 'outPath' attribute" + else + spec // { outPath = replace name (fetch config.pkgs name spec); } + ) config.sources; + + # The "config" used by the fetchers + mkConfig = + { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null + , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile) + , system ? builtins.currentSystem + , pkgs ? mkPkgs sources system + }: rec { + # The sources, i.e. the attribute set of spec name to spec + inherit sources; + + # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers + inherit pkgs; + }; + +in +mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); } From dc89f5ce8c77ff3eaaa353bca6ffb230c8d3b4cc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 3 Dec 2022 00:52:13 +0000 Subject: [PATCH 0066/2258] feat(nvim): re-add indent-blankline.nvim --- nixpkgs/home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 20169335..34eb9191 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -62,6 +62,7 @@ vimPlugins.gitsigns-nvim vimPlugins.harpoon vimPlugins.impatient-nvim + vimPlugins.indent-blankline-nvim vimPlugins.neogit vimPlugins.nvim-web-devicons vimPlugins.refactoring-nvim From c3189ef0a218ec001d8a051b806902b51b8ea416 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 3 Dec 2022 09:45:50 +0000 Subject: [PATCH 0067/2258] feat(nvim): add splitjoin plugin https://github.com/AndrewRadev/splitjoin.vim --- config/neovim/after/plugin/splitjoin.vim | 3 +++ nixpkgs/home-manager/modules/common.nix | 1 + 2 files changed, 4 insertions(+) create mode 100644 config/neovim/after/plugin/splitjoin.vim diff --git a/config/neovim/after/plugin/splitjoin.vim b/config/neovim/after/plugin/splitjoin.vim new file mode 100644 index 00000000..04684784 --- /dev/null +++ b/config/neovim/after/plugin/splitjoin.vim @@ -0,0 +1,3 @@ +vim.g.splitjoin_html_attributes_bracket_on_new_line = 1 +vim.g.splitjoin_php_method_chain_full = 1 +vim.g.splitjoin_trailing_comma = 1 diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 34eb9191..7b15c14a 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -67,6 +67,7 @@ vimPlugins.nvim-web-devicons vimPlugins.refactoring-nvim vimPlugins.rest-nvim + vimPlugins.splitjoin-vim vimPlugins.vim-abolish vimPlugins.vim-highlightedyank vimPlugins.vim-polyglot From 4404ae5bffdf9a68889d7f7c5d67b4b13791dcbc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 3 Dec 2022 10:46:02 +0000 Subject: [PATCH 0068/2258] fix(nvim): configure splitjoin with lua --- config/neovim/after/plugin/{splitjoin.vim => splitjoin.lua} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename config/neovim/after/plugin/{splitjoin.vim => splitjoin.lua} (100%) diff --git a/config/neovim/after/plugin/splitjoin.vim b/config/neovim/after/plugin/splitjoin.lua similarity index 100% rename from config/neovim/after/plugin/splitjoin.vim rename to config/neovim/after/plugin/splitjoin.lua From 755b3c88a410f73fae4c05e8d79acf7ca5b0a5f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Dec 2022 15:52:32 +0000 Subject: [PATCH 0069/2258] feat(nvim): add phpactor --- nixpkgs/home-manager/modules/common.nix | 116 +++++++++++++----------- 1 file changed, 63 insertions(+), 53 deletions(-) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 7b15c14a..5ea73e38 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -56,74 +56,84 @@ programs.neovim = { enable = true; - plugins = with pkgs; [ - vimPlugins.comment-nvim - vimPlugins.git-worktree-nvim - vimPlugins.gitsigns-nvim - vimPlugins.harpoon - vimPlugins.impatient-nvim - vimPlugins.indent-blankline-nvim - vimPlugins.neogit - vimPlugins.nvim-web-devicons - vimPlugins.refactoring-nvim - vimPlugins.rest-nvim - vimPlugins.splitjoin-vim - vimPlugins.vim-abolish - vimPlugins.vim-highlightedyank - vimPlugins.vim-polyglot - vimPlugins.vim-repeat - vimPlugins.vim-surround - vimPlugins.vim-test - vimPlugins.vim-tmux-navigator - vimPlugins.vimux + plugins = let + phpactor = pkgs.vimUtils.buildVimPlugin { + name = "phpactor"; + src = pkgs.fetchFromGitHub { + owner = "phpactor"; + repo = "phpactor"; + rev = "master"; + sha256 = "j2rGPMiST85feqk5Nj4KrjxyhfbUjYEKAec+bzPEJZQ="; + }; + }; + in + with pkgs.vimPlugins; [ + comment-nvim + git-worktree-nvim + gitsigns-nvim + harpoon + impatient-nvim + indent-blankline-nvim + neogit + nvim-web-devicons + refactoring-nvim + rest-nvim + splitjoin-vim + vim-abolish + vim-highlightedyank + vim-polyglot + vim-repeat + vim-surround + vim-test + vim-tmux-navigator + vimux # Debugging - vimPlugins.nvim-dap - vimPlugins.nvim-dap-ui - vimPlugins.nvim-dap-virtual-text + nvim-dap + nvim-dap-ui + nvim-dap-virtual-text # Treesitter - vimPlugins.nvim-treesitter - vimPlugins.nvim-treesitter-context - vimPlugins.nvim-treesitter-textobjects + nvim-treesitter + nvim-treesitter-context + nvim-treesitter-textobjects # LSP - vimPlugins.null-ls-nvim - vimPlugins.nvim-lspconfig - vimPlugins.lsp-status-nvim + null-ls-nvim + nvim-lspconfig + lsp-status-nvim + phpactor # Completion - vimPlugins.cmp-buffer - vimPlugins.cmp-cmdline - vimPlugins.cmp-nvim-lsp - vimPlugins.cmp-path - vimPlugins.cmp-tabnine - vimPlugins.cmp-treesitter - vimPlugins.cmp-vsnip - vimPlugins.cmp_luasnip - vimPlugins.lspkind-nvim - vimPlugins.nvim-cmp + cmp-buffer + cmp-cmdline + cmp-nvim-lsp + cmp-path + cmp-tabnine + cmp-treesitter + cmp-vsnip + cmp_luasnip + lspkind-nvim + nvim-cmp - vimPlugins.luasnip + # Snippets + luasnip # Telescope - vimPlugins.plenary-nvim - vimPlugins.popup-nvim - vimPlugins.telescope-file-browser-nvim - vimPlugins.telescope-fzf-native-nvim - vimPlugins.telescope-nvim - vimPlugins.telescope-ui-select-nvim - - # Git - # vimPlugins.neogit + plenary-nvim + popup-nvim + telescope-file-browser-nvim + telescope-fzf-native-nvim + telescope-nvim + telescope-ui-select-nvim # Databases - vimPlugins.vim-dadbod - vimPlugins.vim-dadbod-ui - vimPlugins.vim-dadbod-completion + vim-dadbod + vim-dadbod-ui + vim-dadbod-completion # Themes - vimPlugins.nightfox-nvim + nightfox-nvim ]; }; From f9b5aeb8f522830ac0ae4c2aeba7cad7053a06fa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 8 Dec 2022 10:12:06 +0000 Subject: [PATCH 0070/2258] chore(tmux): status line configuration --- nixpkgs/home-manager/modules/tmux.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/nixpkgs/home-manager/modules/tmux.nix b/nixpkgs/home-manager/modules/tmux.nix index d034696b..cf6be3fa 100644 --- a/nixpkgs/home-manager/modules/tmux.nix +++ b/nixpkgs/home-manager/modules/tmux.nix @@ -32,8 +32,16 @@ bind -n C-Down resize-pane -D 5 bind -n C-Up resize-pane -U 5 - set-option -g status-left-length 50 - set-option -g status-right "" + # Status line customisation + set-option -g status-left-length 100 + set-option -g status-right-length 100 + set-option -g status-left " #{session_name} " + set-option -g status-right "#{pane_title} " + set-option -g status-style "fg=#7C7D83 bg=#242631" + set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-style "fg=#E9E9EA" + set-option -g window-status-activity-style none bind c new-window -c "#{pane_current_path}" From e10ec65688c2f3ddc4e1ade51c423c38bc81f3c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 9 Dec 2022 09:18:24 +0000 Subject: [PATCH 0071/2258] feat: add PHP, node, yarn and pulumi --- nixpkgs/home-manager/modules/common.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 5ea73e38..41438270 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -20,7 +20,10 @@ jq lua neofetch + nodejs + php81 platformsh + pulumi-bin pv ripgrep tldr @@ -28,6 +31,7 @@ tree unzip wget + yarn zoxide # LSP From 53c40ee21e6af7546b0fc8beae42083026669bfe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 9 Dec 2022 09:19:51 +0000 Subject: [PATCH 0072/2258] fix: add Fira Code and JetBrains Mono --- nixpkgs/nixos/apollo/configuration.nix | 4 ++++ nixpkgs/nixos/apollo/default.nix | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index 6b632a28..c8eaf843 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -164,4 +164,8 @@ in programs.zsh.histSize = 5000; users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; + + fonts.fonts = with pkgs; [ + (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) + ]; } diff --git a/nixpkgs/nixos/apollo/default.nix b/nixpkgs/nixos/apollo/default.nix index 71c189ee..515387a9 100644 --- a/nixpkgs/nixos/apollo/default.nix +++ b/nixpkgs/nixos/apollo/default.nix @@ -11,11 +11,8 @@ # ../../../home-manager/modules/zsh.nix ]; - fonts.fontconfig.enable = true; - home.packages = with pkgs; [ docker docker-compose - jetbrains-mono ]; } From 2a1927f0739a6f6cc2275b10432548cbfa539bba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 10 Dec 2022 10:05:45 +0000 Subject: [PATCH 0073/2258] feat: enable Tailwind CSS LSP for Astro files Refs: #30 --- config/neovim/lua/opdavies/lsp/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 0b504d96..b463f387 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -108,6 +108,7 @@ local servers = { "typescript", -- mixed + "astro", "vue", }, From b4eb83a5589f467439026de2dfdfbf8907b7446d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 10 Dec 2022 10:56:33 +0000 Subject: [PATCH 0074/2258] feat: add Astro to Treesitter Refs: #30 --- config/neovim/after/plugin/treesitter.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index 7fb9c845..2fa5f0b3 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -11,6 +11,7 @@ configs.setup { enable = true, }, ensure_installed = { + "astro", "bash", "comment", "css", From 9028dbdc87d8108bf951c058ab60c83926198278 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Dec 2022 09:12:09 +0000 Subject: [PATCH 0075/2258] feat: configure Alacritty Configure Alacritty in Home Manager. --- nixpkgs/home-manager/apollo.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/nixpkgs/home-manager/apollo.nix b/nixpkgs/home-manager/apollo.nix index 5bc5c573..1f3897c3 100644 --- a/nixpkgs/home-manager/apollo.nix +++ b/nixpkgs/home-manager/apollo.nix @@ -13,4 +13,28 @@ home.username = "opdavies"; home.homeDirectory = "/home/opdavies"; + + programs.alacritty = { + enable = true; + + settings = { + window.padding = { + x = 15; + y = 15; + }; + + font = { + size = 12.0; + + normal.family = "JetBrainsMono Nerd Font"; + + offset.y = 12; + glyph_offset.y = 6; + }; + + shell = { + program = "zsh"; + }; + }; + }; } From cf2850ba85b8f21814d5d577a0b0598df869fce6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Dec 2022 09:13:21 +0000 Subject: [PATCH 0076/2258] chore: remove unused Alacritty role --- group_vars/all | 1 - roles/alacritty/files/alacritty.yml | 13 ------------- roles/alacritty/tasks/main.yaml | 19 ------------------- 3 files changed, 33 deletions(-) delete mode 100644 roles/alacritty/files/alacritty.yml delete mode 100644 roles/alacritty/tasks/main.yaml diff --git a/group_vars/all b/group_vars/all index 15ac061c..b08b9606 100644 --- a/group_vars/all +++ b/group_vars/all @@ -1,5 +1,4 @@ default_roles: - - alacritty - awesome-wm - cargo - copyq diff --git a/roles/alacritty/files/alacritty.yml b/roles/alacritty/files/alacritty.yml deleted file mode 100644 index 95c3b91f..00000000 --- a/roles/alacritty/files/alacritty.yml +++ /dev/null @@ -1,13 +0,0 @@ -window: - decorations: full - dynamic_title: false - -font: - normal: - family: JetBrainsMono Nerd Font Mono - style: Regular - bold: - style: Regular - bold_italic: - style: Italic - size: 12 diff --git a/roles/alacritty/tasks/main.yaml b/roles/alacritty/tasks/main.yaml deleted file mode 100644 index ccf6fc8b..00000000 --- a/roles/alacritty/tasks/main.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - alacritty - state: latest - become: true - -- name: Config folder - ansible.builtin.file: - mode: "0755" - path: "{{ ansible_user_dir }}/.config/alacritty" - state: directory - -- name: Configure - ansible.builtin.file: - src: "{{ role_path }}/files/alacritty.yml" - dest: "{{ ansible_user_dir }}/.config/alacritty/alacritty.yml" - state: link From 6f61d84d3f7dad7a7f7bf345dc207069b3713542 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Dec 2022 09:14:43 +0000 Subject: [PATCH 0077/2258] fix: autocompletion of the `g` function --- nixpkgs/home-manager/modules/zsh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixpkgs/home-manager/modules/zsh.nix b/nixpkgs/home-manager/modules/zsh.nix index 5390a88b..4d023b8a 100644 --- a/nixpkgs/home-manager/modules/zsh.nix +++ b/nixpkgs/home-manager/modules/zsh.nix @@ -33,6 +33,8 @@ git status fi } + + compdef g=git ''; zplug = { From 0f165b2733fc216bbe2f76d6635bcce907f5107d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Dec 2022 09:18:36 +0000 Subject: [PATCH 0078/2258] feat: switch from Gnome to KDE Plasma --- nixpkgs/nixos/apollo/configuration.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index c8eaf843..be631a7b 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -40,19 +40,10 @@ in enable = true; layout = "gb"; xkbVariant = ""; - - windowManager.awesome = { - enable = true; - - luaModules = with pkgs.luaPackages; [ - luarocks # is the package manager for Lua modules - luadbi-mysql # Database abstraction layer - ]; - }; }; - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; # Configure console keymap console.keyMap = "uk"; From b35e3211dee0583a1cb3ff414b476b9d6a19e33c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Dec 2022 09:20:41 +0000 Subject: [PATCH 0079/2258] feat: enable Bluetooth and Blueman --- nixpkgs/nixos/apollo/configuration.nix | 3 +++ nixpkgs/nixos/apollo/hardware-configuration.nix | 2 ++ 2 files changed, 5 insertions(+) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index be631a7b..b71de702 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -45,6 +45,9 @@ in services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; + # Enable Bluetooth. + services.blueman.enable = true; + # Configure console keymap console.keyMap = "uk"; diff --git a/nixpkgs/nixos/apollo/hardware-configuration.nix b/nixpkgs/nixos/apollo/hardware-configuration.nix index 798cdb3b..68db6d81 100644 --- a/nixpkgs/nixos/apollo/hardware-configuration.nix +++ b/nixpkgs/nixos/apollo/hardware-configuration.nix @@ -37,4 +37,6 @@ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + hardware.bluetooth.enable = true; } From bb90d579edf80f1a51f81d19a6dd723d8582576c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Dec 2022 09:23:54 +0000 Subject: [PATCH 0080/2258] feat: enable SSH service --- nixpkgs/nixos/apollo/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixpkgs/nixos/apollo/configuration.nix index b71de702..a980dec6 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixpkgs/nixos/apollo/configuration.nix @@ -136,7 +136,7 @@ in # List services that you want to enable: # Enable the OpenSSH daemon. - # services.openssh.enable = true; + services.openssh.enable = true; # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; From 6f08c2de826ba5d7831186ff5f78c299b75f1129 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 17 Dec 2022 12:48:51 +0000 Subject: [PATCH 0081/2258] feat: add lua-language-server --- nixpkgs/home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 41438270..943097df 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -54,6 +54,7 @@ php81Packages.phpstan rnix-lsp shellcheck + sumneko-lua-language-server ]; programs.bat.enable = true; From ee44c416524af2da3f309cbabf2ec86a83b7513b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Dec 2022 09:39:39 +0000 Subject: [PATCH 0082/2258] chore: rename tmux-sessioniser - Rename `tmux-sessioniser` to `t`. - Search only within the `~/Code` directory instead of using zoxide. --- bin/{tmux-sessioniser => t} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename bin/{tmux-sessioniser => t} (91%) diff --git a/bin/tmux-sessioniser b/bin/t similarity index 91% rename from bin/tmux-sessioniser rename to bin/t index 806f83d9..9ca8b74e 100755 --- a/bin/tmux-sessioniser +++ b/bin/t @@ -11,7 +11,7 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - selected=$(zoxide query -l | sort | fzf --reverse) + selected=$(find ~/Code -type d -mindepth 1 -maxdepth 2 ! -name .git | sort | fzf --reverse) fi if [[ -z $selected ]]; then From 7ba39d260597e01818c00621d5638212d0e02a29 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Dec 2022 09:41:30 +0000 Subject: [PATCH 0083/2258] feat: add Postman --- nixpkgs/home-manager/modules/common.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index 943097df..de0aea5b 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -2,6 +2,7 @@ { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "intelephense" + "postman" ]; home.packages = with pkgs; [ @@ -23,6 +24,7 @@ nodejs php81 platformsh + postman pulumi-bin pv ripgrep From a2dc676a42480085a7f51c4a79801a50301998e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Dec 2022 09:42:03 +0000 Subject: [PATCH 0084/2258] feat: add `t` keybindings for Tmux --- nixpkgs/home-manager/modules/tmux.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixpkgs/home-manager/modules/tmux.nix b/nixpkgs/home-manager/modules/tmux.nix index cf6be3fa..ee4ad560 100644 --- a/nixpkgs/home-manager/modules/tmux.nix +++ b/nixpkgs/home-manager/modules/tmux.nix @@ -90,6 +90,9 @@ bind-key -T copy-mode-vi 'C-k' select-pane -U bind-key -T copy-mode-vi 'C-l' select-pane -R bind-key -T copy-mode-vi 'C-\' select-pane -l + + bind-key -r F new-window t + bind-key -r D run-shell "t ~/Code/dotfiles" ''; plugins = with pkgs; [ From d4a4f9233e122f6645f9035dcd48922b60f4f254 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Dec 2022 09:44:24 +0000 Subject: [PATCH 0085/2258] chore(nvim): update vim-test key mappings --- config/neovim/after/plugin/vim-test.lua | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index 9d09379a..42121e35 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -4,12 +4,17 @@ local options = { silent = true, } -map("n", "t", ":TestFile", options) -map("n", "t", ":TestVisit", options) -map("n", "t", ":TestLast", options) -map("n", "t", ":TestNearest", options) -map("n", "t", ":TestSuite", options) +map("n", "tf", ":TestFile", options) +map("n", "tg", ":TestVisit", options) +map("n", "tl", ":TestLast", options) +map("n", "tn", ":TestNearest", options) +map("n", "ts", ":TestSuite", options) -vim.g["test#echo_command"] = 0 -vim.g["test#neovim#start_normal"] = 1 -vim.g["test#strategy"] = "vimux" +vim.cmd([[ + let test#echo_command = 0 + let test#neovim#start_normal = 1 + let test#strategy = "vimux" + + let test#php#phpunit#executable = 'just test' + let test#php#phpunit#options = '--colors=always' +]]) From a2bded636e1a202f6a04f8e6b1b7a87251d07017 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Dec 2022 19:02:57 +0000 Subject: [PATCH 0086/2258] feat: add mysql Add MySQL as this is needed for Drush and other CLI tools even though no databases will be run in this instance of MySQL. --- nixpkgs/home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix index de0aea5b..c145584a 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/nixpkgs/home-manager/modules/common.nix @@ -20,6 +20,7 @@ htop jq lua + mysql neofetch nodejs php81 From 7235dc60dd4e04f6dac634fd6a824c781305fb58 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Dec 2022 19:58:39 +0000 Subject: [PATCH 0087/2258] refactor: delete old Ansible configuration - Remove the Ansible files. - Move the Nix files to the root level of the repository. Refs: #39 --- ansible.cfg | 3 - .../pop-os/default.nix | 0 .../wsl2/default.nix | 0 group_vars/all | 47 --- .../home-manager => home-manager}/apollo.nix | 0 .../modules/common.nix | 23 +- .../modules/git.nix | 0 .../modules/home-manager.nix | 0 .../modules/tmux.nix | 0 .../modules/zsh.nix | 0 hosts.ini | 2 - main.yaml | 23 -- nix/sources.json | 14 - nix/sources.nix | 194 ------------ .../nixos => nixos}/apollo/configuration.nix | 8 + {nixpkgs/nixos => nixos}/apollo/default.nix | 0 .../apollo/hardware-configuration.nix | 0 requirements.yml | 2 - roles/awesome-wm/tasks/main.yaml | 7 - roles/cargo/tasks/main.yaml | 7 - roles/copyq/tasks/main.yaml | 7 - roles/ctop/tasks/main.yaml | 7 - roles/dconf/files/dconf-settings.ini | 23 -- roles/dconf/tasks/main.yaml | 6 - roles/debugger/tasks/main.yaml | 4 - roles/debugger/tasks/php.yaml | 22 -- roles/delta/meta/main.yaml | 3 - roles/delta/tasks/main.yaml | 8 - roles/discord/tasks/main.yaml | 7 - roles/docker/tasks/main.yaml | 22 -- roles/filezilla/tasks/main.yaml | 7 - roles/flameshot/tasks/main.yaml | 7 - roles/fonts/tasks/main.yaml | 14 - roles/fzf/tasks/main.yaml | 7 - roles/git/files/.gitconfig | 138 --------- roles/git/files/.gitignore | 10 - roles/git/files/.gitignore-global | 43 --- roles/git/files/.gitmessage | 16 - roles/git/tasks/main.yaml | 24 -- roles/git/templates/gitconfig.local.j2 | 3 - roles/github-cli/tasks/main.yaml | 26 -- roles/github-desktop/tasks/main.yaml | 7 - roles/gnome-tweak-tools/tasks/main.yaml | 7 - roles/google-chrome/tasks/main.yaml | 7 - roles/htop/tasks/main.yaml | 7 - roles/jq/tasks/main.yaml | 7 - roles/kdenlive/tasks/main.yaml | 7 - roles/mysql-client/tasks/main.yaml | 7 - roles/notion-app/tasks/main.yaml | 12 - roles/npm/tasks/main.yaml | 7 - roles/obs-studio/tasks/main.yaml | 7 - roles/pdf-arranger/tasks/main.yaml | 7 - roles/platformsh-cli/tasks/main.yaml | 30 -- roles/pocketcasts/tasks/main.yaml | 7 - roles/postman/tasks/main.yaml | 7 - roles/projects/meta/main.yaml | 3 - roles/projects/tasks/main.yaml | 22 -- roles/pulumi/tasks/main.yaml | 23 -- roles/pv/tasks/main.yaml | 7 - roles/ripgrep/tasks/main.yaml | 7 - roles/skype/tasks/main.yaml | 7 - roles/slack/tasks/main.yaml | 7 - roles/spotify/tasks/main.yaml | 7 - roles/ssh/tasks/main.yaml | 18 -- roles/stylua/meta/main.yaml | 3 - roles/stylua/tasks/main.yaml | 8 - roles/tldr/tasks/main.yaml | 7 - roles/tmux/files/tmux.conf | 95 ------ roles/tmux/tasks/main.yaml | 18 -- roles/tmuxinator/tasks/main.yml | 27 -- roles/todoist/tasks/main.yaml | 7 - roles/tree/tasks/main.yaml | 7 - roles/vlc/tasks/main.yaml | 7 - roles/zoom/tasks/main.yaml | 7 - roles/zsh-antigen/tasks/main.yaml | 5 - roles/zsh/files/.zshenv | 7 - roles/zsh/files/config/.zshrc | 28 -- roles/zsh/files/config/completion-scripts/_g | 3 - roles/zsh/files/config/completion-scripts/_m | 2 - roles/zsh/files/config/configs/aliases.zsh | 11 - roles/zsh/files/config/configs/colour.zsh | 4 - roles/zsh/files/config/configs/functions.zsh | 38 --- roles/zsh/files/config/configs/fzf.zsh | 2 - roles/zsh/files/config/configs/general.zsh | 5 - roles/zsh/files/config/configs/history.zsh | 7 - roles/zsh/files/config/configs/navigation.zsh | 9 - roles/zsh/files/config/configs/nvm.zsh | 2 - roles/zsh/files/config/configs/options.zsh | 3 - roles/zsh/files/config/configs/path.zsh | 25 -- roles/zsh/files/config/configs/platformsh.zsh | 6 - roles/zsh/files/config/configs/plugins.zsh | 10 - .../zsh/files/config/configs/plugins.zsh.zwc | Bin 912 -> 0 bytes .../files/config/configs/post/completion.zsh | 8 - roles/zsh/files/config/configs/prompt.zsh | 34 --- roles/zsh/files/config/functions/g | 9 - roles/zsh/files/config/functions/run | 8 - roles/zsh/files/config/oh-my-zsh/git.zsh | 281 ------------------ roles/zsh/tasks/main.yaml | 34 --- 98 files changed, 28 insertions(+), 1660 deletions(-) delete mode 100644 ansible.cfg rename {nixpkgs/configuration => configuration}/pop-os/default.nix (100%) rename {nixpkgs/configuration => configuration}/wsl2/default.nix (100%) delete mode 100644 group_vars/all rename {nixpkgs/home-manager => home-manager}/apollo.nix (100%) rename {nixpkgs/home-manager => home-manager}/modules/common.nix (84%) rename {nixpkgs/home-manager => home-manager}/modules/git.nix (100%) rename {nixpkgs/home-manager => home-manager}/modules/home-manager.nix (100%) rename {nixpkgs/home-manager => home-manager}/modules/tmux.nix (100%) rename {nixpkgs/home-manager => home-manager}/modules/zsh.nix (100%) delete mode 100644 hosts.ini delete mode 100644 main.yaml delete mode 100644 nix/sources.json delete mode 100644 nix/sources.nix rename {nixpkgs/nixos => nixos}/apollo/configuration.nix (96%) rename {nixpkgs/nixos => nixos}/apollo/default.nix (100%) rename {nixpkgs/nixos => nixos}/apollo/hardware-configuration.nix (100%) delete mode 100644 requirements.yml delete mode 100644 roles/awesome-wm/tasks/main.yaml delete mode 100644 roles/cargo/tasks/main.yaml delete mode 100644 roles/copyq/tasks/main.yaml delete mode 100644 roles/ctop/tasks/main.yaml delete mode 100644 roles/dconf/files/dconf-settings.ini delete mode 100644 roles/dconf/tasks/main.yaml delete mode 100644 roles/debugger/tasks/main.yaml delete mode 100644 roles/debugger/tasks/php.yaml delete mode 100644 roles/delta/meta/main.yaml delete mode 100644 roles/delta/tasks/main.yaml delete mode 100644 roles/discord/tasks/main.yaml delete mode 100644 roles/docker/tasks/main.yaml delete mode 100644 roles/filezilla/tasks/main.yaml delete mode 100644 roles/flameshot/tasks/main.yaml delete mode 100644 roles/fonts/tasks/main.yaml delete mode 100644 roles/fzf/tasks/main.yaml delete mode 100644 roles/git/files/.gitconfig delete mode 100644 roles/git/files/.gitignore delete mode 100644 roles/git/files/.gitignore-global delete mode 100644 roles/git/files/.gitmessage delete mode 100644 roles/git/tasks/main.yaml delete mode 100644 roles/git/templates/gitconfig.local.j2 delete mode 100644 roles/github-cli/tasks/main.yaml delete mode 100644 roles/github-desktop/tasks/main.yaml delete mode 100644 roles/gnome-tweak-tools/tasks/main.yaml delete mode 100644 roles/google-chrome/tasks/main.yaml delete mode 100644 roles/htop/tasks/main.yaml delete mode 100644 roles/jq/tasks/main.yaml delete mode 100644 roles/kdenlive/tasks/main.yaml delete mode 100644 roles/mysql-client/tasks/main.yaml delete mode 100644 roles/notion-app/tasks/main.yaml delete mode 100644 roles/npm/tasks/main.yaml delete mode 100644 roles/obs-studio/tasks/main.yaml delete mode 100644 roles/pdf-arranger/tasks/main.yaml delete mode 100644 roles/platformsh-cli/tasks/main.yaml delete mode 100644 roles/pocketcasts/tasks/main.yaml delete mode 100644 roles/postman/tasks/main.yaml delete mode 100644 roles/projects/meta/main.yaml delete mode 100644 roles/projects/tasks/main.yaml delete mode 100644 roles/pulumi/tasks/main.yaml delete mode 100644 roles/pv/tasks/main.yaml delete mode 100644 roles/ripgrep/tasks/main.yaml delete mode 100644 roles/skype/tasks/main.yaml delete mode 100644 roles/slack/tasks/main.yaml delete mode 100644 roles/spotify/tasks/main.yaml delete mode 100644 roles/ssh/tasks/main.yaml delete mode 100644 roles/stylua/meta/main.yaml delete mode 100644 roles/stylua/tasks/main.yaml delete mode 100644 roles/tldr/tasks/main.yaml delete mode 100644 roles/tmux/files/tmux.conf delete mode 100644 roles/tmux/tasks/main.yaml delete mode 100644 roles/tmuxinator/tasks/main.yml delete mode 100644 roles/todoist/tasks/main.yaml delete mode 100644 roles/tree/tasks/main.yaml delete mode 100644 roles/vlc/tasks/main.yaml delete mode 100644 roles/zoom/tasks/main.yaml delete mode 100644 roles/zsh-antigen/tasks/main.yaml delete mode 100644 roles/zsh/files/.zshenv delete mode 100644 roles/zsh/files/config/.zshrc delete mode 100644 roles/zsh/files/config/completion-scripts/_g delete mode 100644 roles/zsh/files/config/completion-scripts/_m delete mode 100644 roles/zsh/files/config/configs/aliases.zsh delete mode 100644 roles/zsh/files/config/configs/colour.zsh delete mode 100644 roles/zsh/files/config/configs/functions.zsh delete mode 100644 roles/zsh/files/config/configs/fzf.zsh delete mode 100644 roles/zsh/files/config/configs/general.zsh delete mode 100644 roles/zsh/files/config/configs/history.zsh delete mode 100644 roles/zsh/files/config/configs/navigation.zsh delete mode 100644 roles/zsh/files/config/configs/nvm.zsh delete mode 100644 roles/zsh/files/config/configs/options.zsh delete mode 100644 roles/zsh/files/config/configs/path.zsh delete mode 100644 roles/zsh/files/config/configs/platformsh.zsh delete mode 100644 roles/zsh/files/config/configs/plugins.zsh delete mode 100644 roles/zsh/files/config/configs/plugins.zsh.zwc delete mode 100644 roles/zsh/files/config/configs/post/completion.zsh delete mode 100644 roles/zsh/files/config/configs/prompt.zsh delete mode 100644 roles/zsh/files/config/functions/g delete mode 100644 roles/zsh/files/config/functions/run delete mode 100644 roles/zsh/files/config/oh-my-zsh/git.zsh delete mode 100644 roles/zsh/tasks/main.yaml diff --git a/ansible.cfg b/ansible.cfg deleted file mode 100644 index 5b1bf96a..00000000 --- a/ansible.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[defaults] -become = true -inventory = ./hosts.ini diff --git a/nixpkgs/configuration/pop-os/default.nix b/configuration/pop-os/default.nix similarity index 100% rename from nixpkgs/configuration/pop-os/default.nix rename to configuration/pop-os/default.nix diff --git a/nixpkgs/configuration/wsl2/default.nix b/configuration/wsl2/default.nix similarity index 100% rename from nixpkgs/configuration/wsl2/default.nix rename to configuration/wsl2/default.nix diff --git a/group_vars/all b/group_vars/all deleted file mode 100644 index b08b9606..00000000 --- a/group_vars/all +++ /dev/null @@ -1,47 +0,0 @@ -default_roles: - - awesome-wm - - cargo - - copyq - - ctop - - dconf - - debugger - - delta - - discord - - docker - - filezilla - - flameshot - - fonts - - fzf - - git - - github-cli - - github-desktop - - gnome-tweak-tools - - google-chrome - - htop - - jq - - kdenlive - - mysql-client - - notion-app - - npm - - obs-studio - - pdf-arranger - - platformsh-cli - - pocketcasts - - postman - - projects - - pulumi - - pv - - ripgrep - - skype - - slack - - ssh - - stylua - - tldr - - tmux - - tmuxinator - - todoist - - tree - - vlc - - zoom - - zsh - - zsh-antigen diff --git a/nixpkgs/home-manager/apollo.nix b/home-manager/apollo.nix similarity index 100% rename from nixpkgs/home-manager/apollo.nix rename to home-manager/apollo.nix diff --git a/nixpkgs/home-manager/modules/common.nix b/home-manager/modules/common.nix similarity index 84% rename from nixpkgs/home-manager/modules/common.nix rename to home-manager/modules/common.nix index c145584a..dc415f2c 100644 --- a/nixpkgs/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -38,8 +38,9 @@ zoxide # LSP + gopls html-tidy - nodePackages."@ansible/ansible-language-server" + # nodePackages."@ansible/ansible-language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs @@ -71,11 +72,23 @@ owner = "phpactor"; repo = "phpactor"; rev = "master"; - sha256 = "j2rGPMiST85feqk5Nj4KrjxyhfbUjYEKAec+bzPEJZQ="; + sha256 = "0bgfwidrlaqxnjmk14gqc8b0mxh0c5xf098qcjz9mvw236n88xl7"; + }; + }; + + vim-astro = pkgs.vimUtils.buildVimPlugin { + name = "vim-astro"; + src = pkgs.fetchFromGitHub { + owner = "wuelnerdotexe"; + repo = "vim-astro"; + rev = "main"; + sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; }; }; in with pkgs.vimPlugins; [ + vim-astro + comment-nvim git-worktree-nvim gitsigns-nvim @@ -110,7 +123,6 @@ null-ls-nvim nvim-lspconfig lsp-status-nvim - phpactor # Completion cmp-buffer @@ -135,13 +147,18 @@ telescope-nvim telescope-ui-select-nvim + # Git + # neogit + # Databases vim-dadbod vim-dadbod-ui vim-dadbod-completion # Themes + catppuccin-nvim nightfox-nvim + onehalf ]; }; diff --git a/nixpkgs/home-manager/modules/git.nix b/home-manager/modules/git.nix similarity index 100% rename from nixpkgs/home-manager/modules/git.nix rename to home-manager/modules/git.nix diff --git a/nixpkgs/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix similarity index 100% rename from nixpkgs/home-manager/modules/home-manager.nix rename to home-manager/modules/home-manager.nix diff --git a/nixpkgs/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix similarity index 100% rename from nixpkgs/home-manager/modules/tmux.nix rename to home-manager/modules/tmux.nix diff --git a/nixpkgs/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix similarity index 100% rename from nixpkgs/home-manager/modules/zsh.nix rename to home-manager/modules/zsh.nix diff --git a/hosts.ini b/hosts.ini deleted file mode 100644 index 45b5d232..00000000 --- a/hosts.ini +++ /dev/null @@ -1,2 +0,0 @@ -[localhost] -127.0.0.1 ansible_connection=local diff --git a/main.yaml b/main.yaml deleted file mode 100644 index d8884bd7..00000000 --- a/main.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- hosts: localhost - tasks: - - name: Set roles - ansible.builtin.set_fact: - roles: "{{ ansible_run_tags != ['all'] and ansible_run_tags or default_roles | difference(exclude_roles | default([])) }}" - tags: - - always - - - name: Display roles - ansible.builtin.debug: "var=roles" - tags: - - always - - - name: Run roles - ansible.builtin.include_role: - name: "{{ item }}" - apply: - tags: - - "{{ item }}" - with_items: "{{ roles }}" - tags: - - always diff --git a/nix/sources.json b/nix/sources.json deleted file mode 100644 index 5c20860c..00000000 --- a/nix/sources.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "nixpkgs": { - "branch": "release-21.05", - "description": "Nix Packages collection", - "homepage": "", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "5f244caea76105b63d826911b2a1563d33ff1cdc", - "sha256": "1xlgynfw9svy7nvh9nkxsxdzncv9hg99gbvbwv3gmrhmzc3sar75", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5f244caea76105b63d826911b2a1563d33ff1cdc.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - } -} diff --git a/nix/sources.nix b/nix/sources.nix deleted file mode 100644 index 9a01c8ac..00000000 --- a/nix/sources.nix +++ /dev/null @@ -1,194 +0,0 @@ -# This file has been generated by Niv. - -let - - # - # The fetchers. fetch_ fetches specs of type . - # - - fetch_file = pkgs: name: spec: - let - name' = sanitizeName name + "-src"; - in - if spec.builtin or true then - builtins_fetchurl { inherit (spec) url sha256; name = name'; } - else - pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; - - fetch_tarball = pkgs: name: spec: - let - name' = sanitizeName name + "-src"; - in - if spec.builtin or true then - builtins_fetchTarball { name = name'; inherit (spec) url sha256; } - else - pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; - - fetch_git = name: spec: - let - ref = - if spec ? ref then spec.ref else - if spec ? branch then "refs/heads/${spec.branch}" else - if spec ? tag then "refs/tags/${spec.tag}" else - abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"; - submodules = if spec ? submodules then spec.submodules else false; - submoduleArg = - let - nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0; - emptyArgWithWarning = - if submodules == true - then - builtins.trace - ( - "The niv input \"${name}\" uses submodules " - + "but your nix's (${builtins.nixVersion}) builtins.fetchGit " - + "does not support them" - ) - {} - else {}; - in - if nixSupportsSubmodules - then { inherit submodules; } - else emptyArgWithWarning; - in - builtins.fetchGit - ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg); - - fetch_local = spec: spec.path; - - fetch_builtin-tarball = name: throw - ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`. - $ niv modify ${name} -a type=tarball -a builtin=true''; - - fetch_builtin-url = name: throw - ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`. - $ niv modify ${name} -a type=file -a builtin=true''; - - # - # Various helpers - # - - # https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695 - sanitizeName = name: - ( - concatMapStrings (s: if builtins.isList s then "-" else s) - ( - builtins.split "[^[:alnum:]+._?=-]+" - ((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name) - ) - ); - - # The set of packages used when specs are fetched using non-builtins. - mkPkgs = sources: system: - let - sourcesNixpkgs = - import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; }; - hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath; - hasThisAsNixpkgsPath = == ./.; - in - if builtins.hasAttr "nixpkgs" sources - then sourcesNixpkgs - else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then - import {} - else - abort - '' - Please specify either (through -I or NIX_PATH=nixpkgs=...) or - add a package called "nixpkgs" to your sources.json. - ''; - - # The actual fetching function. - fetch = pkgs: name: spec: - - if ! builtins.hasAttr "type" spec then - abort "ERROR: niv spec ${name} does not have a 'type' attribute" - else if spec.type == "file" then fetch_file pkgs name spec - else if spec.type == "tarball" then fetch_tarball pkgs name spec - else if spec.type == "git" then fetch_git name spec - else if spec.type == "local" then fetch_local spec - else if spec.type == "builtin-tarball" then fetch_builtin-tarball name - else if spec.type == "builtin-url" then fetch_builtin-url name - else - abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}"; - - # If the environment variable NIV_OVERRIDE_${name} is set, then use - # the path directly as opposed to the fetched source. - replace = name: drv: - let - saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name; - ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; - in - if ersatz == "" then drv else - # this turns the string into an actual Nix path (for both absolute and - # relative paths) - if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; - - # Ports of functions for older nix versions - - # a Nix version of mapAttrs if the built-in doesn't exist - mapAttrs = builtins.mapAttrs or ( - f: set: with builtins; - listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)) - ); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 - range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 - stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 - stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); - concatMapStrings = f: list: concatStrings (map f list); - concatStrings = builtins.concatStringsSep ""; - - # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331 - optionalAttrs = cond: as: if cond then as else {}; - - # fetchTarball version that is compatible between all the versions of Nix - builtins_fetchTarball = { url, name ? null, sha256 }@attrs: - let - inherit (builtins) lessThan nixVersion fetchTarball; - in - if lessThan nixVersion "1.12" then - fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchTarball attrs; - - # fetchurl version that is compatible between all the versions of Nix - builtins_fetchurl = { url, name ? null, sha256 }@attrs: - let - inherit (builtins) lessThan nixVersion fetchurl; - in - if lessThan nixVersion "1.12" then - fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchurl attrs; - - # Create the final "sources" from the config - mkSources = config: - mapAttrs ( - name: spec: - if builtins.hasAttr "outPath" spec - then abort - "The values in sources.json should not have an 'outPath' attribute" - else - spec // { outPath = replace name (fetch config.pkgs name spec); } - ) config.sources; - - # The "config" used by the fetchers - mkConfig = - { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null - , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile) - , system ? builtins.currentSystem - , pkgs ? mkPkgs sources system - }: rec { - # The sources, i.e. the attribute set of spec name to spec - inherit sources; - - # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers - inherit pkgs; - }; - -in -mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); } diff --git a/nixpkgs/nixos/apollo/configuration.nix b/nixos/apollo/configuration.nix similarity index 96% rename from nixpkgs/nixos/apollo/configuration.nix rename to nixos/apollo/configuration.nix index a980dec6..0e86fcd2 100644 --- a/nixpkgs/nixos/apollo/configuration.nix +++ b/nixos/apollo/configuration.nix @@ -162,4 +162,12 @@ in fonts.fonts = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; + + services.cron = { + enable = true; + + systemCronJobs = [ + "0 9 * * * opdavies find ~/Downloads -daystart -mtime +2 -delete -print >> /tmp/cron.log" + ]; + }; } diff --git a/nixpkgs/nixos/apollo/default.nix b/nixos/apollo/default.nix similarity index 100% rename from nixpkgs/nixos/apollo/default.nix rename to nixos/apollo/default.nix diff --git a/nixpkgs/nixos/apollo/hardware-configuration.nix b/nixos/apollo/hardware-configuration.nix similarity index 100% rename from nixpkgs/nixos/apollo/hardware-configuration.nix rename to nixos/apollo/hardware-configuration.nix diff --git a/requirements.yml b/requirements.yml deleted file mode 100644 index 72fe72df..00000000 --- a/requirements.yml +++ /dev/null @@ -1,2 +0,0 @@ -collections: - - name: community.general diff --git a/roles/awesome-wm/tasks/main.yaml b/roles/awesome-wm/tasks/main.yaml deleted file mode 100644 index 98dcbcf7..00000000 --- a/roles/awesome-wm/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - awesome - state: latest - become: true diff --git a/roles/cargo/tasks/main.yaml b/roles/cargo/tasks/main.yaml deleted file mode 100644 index 793c7d57..00000000 --- a/roles/cargo/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - cargo - state: latest - become: true diff --git a/roles/copyq/tasks/main.yaml b/roles/copyq/tasks/main.yaml deleted file mode 100644 index 10f28fee..00000000 --- a/roles/copyq/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.github.hluk.copyq - method: user - state: present diff --git a/roles/ctop/tasks/main.yaml b/roles/ctop/tasks/main.yaml deleted file mode 100644 index 76fc0dc5..00000000 --- a/roles/ctop/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - ctop - state: latest - become: true diff --git a/roles/dconf/files/dconf-settings.ini b/roles/dconf/files/dconf-settings.ini deleted file mode 100644 index fe38aeb9..00000000 --- a/roles/dconf/files/dconf-settings.ini +++ /dev/null @@ -1,23 +0,0 @@ -[org/gnome/desktop/wm/keybindings] -move-to-workspace-1=['Home', '1'] -move-to-workspace-2=['2'] -move-to-workspace-3=['3'] -move-to-workspace-3=['3'] -move-to-workspace-4=['4'] -move-to-workspace-4=['4'] -move-to-workspace-5=['5'] -move-to-workspace-6=['6'] -move-to-workspace-7=['7'] -move-to-workspace-8=['8'] -move-to-workspace-9=['9'] -move-to-workspace-10=['0'] -switch-to-workspace-1=['1'] -switch-to-workspace-2=['2'] -switch-to-workspace-3=['3'] -switch-to-workspace-4=['4'] -switch-to-workspace-5=['5'] -switch-to-workspace-6=['6'] -switch-to-workspace-7=['7'] -switch-to-workspace-8=['8'] -switch-to-workspace-9=['9'] -switch-to-workspace-10=['0'] diff --git a/roles/dconf/tasks/main.yaml b/roles/dconf/tasks/main.yaml deleted file mode 100644 index dad5c451..00000000 --- a/roles/dconf/tasks/main.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: Configure - ansible.builtin.file: - src: "{{ role_path }}/files/dconf-settings.ini" - dest: "{{ ansible_user_dir }}/.config/dconf-settings.ini" - state: link diff --git a/roles/debugger/tasks/main.yaml b/roles/debugger/tasks/main.yaml deleted file mode 100644 index 59cc5b72..00000000 --- a/roles/debugger/tasks/main.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- include_tasks: php.yaml - tags: - - debugger diff --git a/roles/debugger/tasks/php.yaml b/roles/debugger/tasks/php.yaml deleted file mode 100644 index 966b45de..00000000 --- a/roles/debugger/tasks/php.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: Clone - ansible.builtin.git: - depth: 1 - dest: "{{ ansible_user_dir }}/build/vscode-php-debug" - force: yes - repo: https://github.com/xdebug/vscode-php-debug.git - single_branch: yes - register: clone - tags: - - debugger - -- name: Install - ansible.builtin.command: | - npm install - npm run build - args: - chdir: "{{ ansible_user_dir }}/build/vscode-php-debug" - creates: "{{ ansible_user_dir }}/build/vscode-php-debug/out" - when: clone.changed - tags: - - debugger diff --git a/roles/delta/meta/main.yaml b/roles/delta/meta/main.yaml deleted file mode 100644 index fe55fc75..00000000 --- a/roles/delta/meta/main.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: cargo diff --git a/roles/delta/tasks/main.yaml b/roles/delta/tasks/main.yaml deleted file mode 100644 index 30e3bcfd..00000000 --- a/roles/delta/tasks/main.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Install - community.general.cargo: - name: - - git-delta - path: /usr/local - state: latest - become: true diff --git a/roles/discord/tasks/main.yaml b/roles/discord/tasks/main.yaml deleted file mode 100644 index 1ff87385..00000000 --- a/roles/discord/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.discordapp.Discord - method: user - state: present diff --git a/roles/docker/tasks/main.yaml b/roles/docker/tasks/main.yaml deleted file mode 100644 index a9e07478..00000000 --- a/roles/docker/tasks/main.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - docker - - docker-compose - state: latest - become: yes - -- name: Enable service - ansible.builtin.systemd: - enabled: yes - name: docker - state: started - become: yes - -- name: Add to group - ansible.builtin.user: - append: yes - groups: docker - name: "{{ ansible_env['USER'] }}" - become: yes diff --git a/roles/filezilla/tasks/main.yaml b/roles/filezilla/tasks/main.yaml deleted file mode 100644 index 96aee284..00000000 --- a/roles/filezilla/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - org.filezillaproject.Filezilla - method: user - state: present diff --git a/roles/flameshot/tasks/main.yaml b/roles/flameshot/tasks/main.yaml deleted file mode 100644 index 195154f4..00000000 --- a/roles/flameshot/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - org.flameshot.Flameshot - method: user - state: present diff --git a/roles/fonts/tasks/main.yaml b/roles/fonts/tasks/main.yaml deleted file mode 100644 index 50fc8f2f..00000000 --- a/roles/fonts/tasks/main.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: Download - ansible.builtin.get_url: - dest: "{{ font_item.dest }}" - url: "{{ font_item.url }}" - loop_control: - loop_var: font_item - loop: - - url: "https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/JetBrainsMono/Ligatures/Regular/complete/JetBrains%20Mono%20Regular%20Nerd%20Font%20Complete%20Mono.ttf?raw=true" - dest: /usr/share/fonts/truetype/JetBrainsMono Nerd Font Regular - - - url: "https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/JetBrainsMono/Ligatures/Italic/complete/JetBrains%20Mono%20Italic%20Nerd%20Font%20Complete%20Mono.ttf?raw=true" - dest: /usr/share/fonts/truetype/JetBrainsMono Nerd Font Italic - become: true diff --git a/roles/fzf/tasks/main.yaml b/roles/fzf/tasks/main.yaml deleted file mode 100644 index aa70668f..00000000 --- a/roles/fzf/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - fzf - state: latest - become: true diff --git a/roles/git/files/.gitconfig b/roles/git/files/.gitconfig deleted file mode 100644 index 4c566204..00000000 --- a/roles/git/files/.gitconfig +++ /dev/null @@ -1,138 +0,0 @@ -[alias] - aa = add --all - assume = update-index --assume-unchanged - assumed = !git ls-files -v | grep '^[hsmrck?]' | cut -c 3- - b = branch - browse = !gh repo view --web - ca = commit --amend --verbose - car = commit --amend --no-edit - cl = !hub clone - cl = !hub clone - co = checkout - compare = !hub compare - current-branch = rev-parse --abbrev-ref HEAD - dc = diff --color --word-diff --cached - df = diff --color --word-diff - dup = !git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout - - fixup = commit --fixup - issues = !gh issue list --web - mup = !git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout - - nah = !git reset --hard && git clean -fd - no-ff = merge --no-ff - pl = pull - prune = remote prune origin - ps = push - pulls = !gh pr list --web - rbc = rebase --continue - rdup = !git dup && git rebase develop - remotes = remote -v - repush = !git pull --rebase && git push - ri = rebase --interactive - rid = !git rebase -i $(git merge-base develop HEAD) - rim = !git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD) - rip = !git rebase -i $(git merge-base production HEAD) - ris = !git rebase -i $(git merge-base staging HEAD) - riu = !git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u}) - rmup = !git mup && git master-to-main-wrapper rebase %BRANCH% - sl = log --oneline --decorate -20 - sla = log --oneline --decorate --graph --all -20 - slap = log --oneline --decorate --graph --all - slp = log --oneline --decorate - staged = diff --staged - unassume = update-index --no-assume-unchanged - uncommit = reset --soft HEAD^ - unstage = reset - upstream = rev-parse --abbrev-ref --symbolic-full-name @{u} - ureset = !git reset --hard $(git upstream) - wip = !git add . && git commit -m 'wip' - worktrees = "worktree list" - -[branch] - autosetupmerge = true - autosetuprebase = always - -[checkout] - defaultRemote = origin - -[color] - branch = auto - diff = auto - status = auto - ui = true - -[color "branch"] - current = red reverse - local = blue - remote = green - -[color "diff"] - meta = yellow - frag = magenta - old = red bold - new = green - plain = white - -[color "status"] - added = yellow - changed = green - untracked = cyan - -[commit] - template = ~/.gitmessage - verbose = true - -[core] - editor = nvim - excludesFile = ~/.gitignore-global - pager = delta - -[delta] - line-numbers = true - -[diff] - tool = vimdiff - -[fetch] - prune = true - -[gitsh] - nogreeting = true - -[grep] - lineNumber = true - -[help] - autocorrect = 1 - -[include] - path = ~/.gitconfig.local - -[init] - templatedir = ~/.git_template - -[merge] - ff = only - -[rebase] - autosquash = true - autostash = true - -[rerere] - enabled = true - -[push] - default = upstream - -[url "https://git.drupal.org/project/"] - insteadOf = do: - insteadOf = drupal: - -[pull] - ff = only - rebase = true - -[filter "lfs"] - process = git-lfs filter-process - required = true - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f diff --git a/roles/git/files/.gitignore b/roles/git/files/.gitignore deleted file mode 100644 index b3817e5a..00000000 --- a/roles/git/files/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -* -!*/ -!/bin/** -!/tag-*/** -/tag-php/composer/.env -/tag-php/composer/auth.json -/tag-php/composer/bin/ -/tag-php/composer/config/ -/tag-php/composer/keys.*.pub -/**/*.zwc diff --git a/roles/git/files/.gitignore-global b/roles/git/files/.gitignore-global deleted file mode 100644 index 30ff8574..00000000 --- a/roles/git/files/.gitignore-global +++ /dev/null @@ -1,43 +0,0 @@ -# Ignore archive files. -*.7z -*.dmg -*.gz -*.iso -*.phar -*.phar.version -*.rar -*.tar -*.zip - -# Ignore database exports. -*.*sql - -# Ignore patch files and interdiffs. -*.patch -*.diff -*.rej -*.orig -interdiff*.txt - -# Ignore Vagrant directories. -.vagrant/ - -# Ignore logs. -*.log - -# Ignore IDE and text editor files. -.idea/ -*.sublime-* - -# Ignore temporary directories. -.php_cs.cache -tmp/ - -# Ignore Ansible Playbook retrys. -*.retry - -# Ignore notes within projects. -.notes/ - -# Ignore directory level aliases -.aliases diff --git a/roles/git/files/.gitmessage b/roles/git/files/.gitmessage deleted file mode 100644 index 91df68da..00000000 --- a/roles/git/files/.gitmessage +++ /dev/null @@ -1,16 +0,0 @@ - - -# 50-character subject line -# -# 72-character wrapped longer description. This should answer: -# -# * Why was this change necessary? -# * How does it address the problem? -# * Are there any side effects? -# -# Include a link to the ticket, if any. -# -# Add co-authors if you worked on this code with others: -# -# Co-authored-by: Full Name -# Co-authored-by: Full Name diff --git a/roles/git/tasks/main.yaml b/roles/git/tasks/main.yaml deleted file mode 100644 index d35e7c75..00000000 --- a/roles/git/tasks/main.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - git - state: latest - become: true - -- name: Configuration - ansible.builtin.file: - src: "{{ role_path }}/files/{{ git_config_item }}" - dest: "{{ ansible_user_dir }}/{{ git_config_item }}" - state: link - loop_control: - loop_var: git_config_item - with_items: - - .gitconfig - - .gitignore-global - - .gitmessage - -- name: Local configuration - ansible.builtin.template: - src: gitconfig.local.j2 - dest: "{{ ansible_user_dir }}/.gitconfig.local" diff --git a/roles/git/templates/gitconfig.local.j2 b/roles/git/templates/gitconfig.local.j2 deleted file mode 100644 index 9e0e4ddc..00000000 --- a/roles/git/templates/gitconfig.local.j2 +++ /dev/null @@ -1,3 +0,0 @@ -[user] -email = {{ git_user_email }} -name = {{ git_user_name }} diff --git a/roles/github-cli/tasks/main.yaml b/roles/github-cli/tasks/main.yaml deleted file mode 100644 index 07eccffd..00000000 --- a/roles/github-cli/tasks/main.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: Existing install - ansible.builtin.stat: - path: /usr/bin/gh - register: install - -- name: Keyring - ansible.builtin.get_url: - dest: /usr/share/keyrings/githubcli-archive-keyring.gpg - mode: 644 - url: https://cli.github.com/packages/githubcli-archive-keyring.gpg - when: not install.stat.exists - become: true - -- name: Repository - ansible.builtin.apt_repository: - repo: "deb [arch=amd64 signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" - when: not install.stat.exists - become: true - -- name: Install - ansible.builtin.package: - name: - - gh - state: latest - become: true diff --git a/roles/github-desktop/tasks/main.yaml b/roles/github-desktop/tasks/main.yaml deleted file mode 100644 index bfe6d117..00000000 --- a/roles/github-desktop/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - io.github.shiftey.Desktop - method: user - state: present diff --git a/roles/gnome-tweak-tools/tasks/main.yaml b/roles/gnome-tweak-tools/tasks/main.yaml deleted file mode 100644 index 681ce503..00000000 --- a/roles/gnome-tweak-tools/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - gnome-tweaks - state: latest - become: true diff --git a/roles/google-chrome/tasks/main.yaml b/roles/google-chrome/tasks/main.yaml deleted file mode 100644 index 5f7b731a..00000000 --- a/roles/google-chrome/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.google.Chrome - method: user - state: present diff --git a/roles/htop/tasks/main.yaml b/roles/htop/tasks/main.yaml deleted file mode 100644 index 67e45dd6..00000000 --- a/roles/htop/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - htop - state: latest - become: true diff --git a/roles/jq/tasks/main.yaml b/roles/jq/tasks/main.yaml deleted file mode 100644 index 14b5912b..00000000 --- a/roles/jq/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - jq - state: latest - become: true diff --git a/roles/kdenlive/tasks/main.yaml b/roles/kdenlive/tasks/main.yaml deleted file mode 100644 index fffa23da..00000000 --- a/roles/kdenlive/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - org.kde.kdenlive - method: user - state: present diff --git a/roles/mysql-client/tasks/main.yaml b/roles/mysql-client/tasks/main.yaml deleted file mode 100644 index b1a53c80..00000000 --- a/roles/mysql-client/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - mysql-client - state: latest - become: true diff --git a/roles/notion-app/tasks/main.yaml b/roles/notion-app/tasks/main.yaml deleted file mode 100644 index 6264a478..00000000 --- a/roles/notion-app/tasks/main.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: Repository - ansible.builtin.apt_repository: - repo: "deb [trusted=yes] https://apt.fury.io/notion-repackaged/ /" - become: true - -- name: Install - ansible.builtin.package: - name: - - notion-app - state: latest - become: true diff --git a/roles/npm/tasks/main.yaml b/roles/npm/tasks/main.yaml deleted file mode 100644 index fb6eeb03..00000000 --- a/roles/npm/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - npm - state: latest - become: true diff --git a/roles/obs-studio/tasks/main.yaml b/roles/obs-studio/tasks/main.yaml deleted file mode 100644 index 29591516..00000000 --- a/roles/obs-studio/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.obsproject.Studio - method: user - state: present diff --git a/roles/pdf-arranger/tasks/main.yaml b/roles/pdf-arranger/tasks/main.yaml deleted file mode 100644 index 9f81f636..00000000 --- a/roles/pdf-arranger/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.github.jeromerobert.pdfarranger - method: user - state: present diff --git a/roles/platformsh-cli/tasks/main.yaml b/roles/platformsh-cli/tasks/main.yaml deleted file mode 100644 index 6973fda5..00000000 --- a/roles/platformsh-cli/tasks/main.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -- name: Install dependencies - ansible.builtin.package: - name: - - php - state: latest - become: true - -- name: Existing install - stat: - path: "{{ ansible_user_dir }}/.platformsh/bin/platform" - register: install - -- name: Download installer - ansible.builtin.get_url: - dest: /tmp/platformsh-install.sh - mode: 0755 - url: https://platform.sh/cli/installer - become: true - when: not install.stat.exists - -- name: Execute installer - ansible.builtin.command: php /tmp/platformsh-install.sh - when: not install.stat.exists - -- name: Remove platformsh-install.sh - ansible.builtin.file: - path: /tmp/platformsh-install.sh - state: absent - become: true diff --git a/roles/pocketcasts/tasks/main.yaml b/roles/pocketcasts/tasks/main.yaml deleted file mode 100644 index 69a96028..00000000 --- a/roles/pocketcasts/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - tech.feliciano.pocket-casts - method: user - state: present diff --git a/roles/postman/tasks/main.yaml b/roles/postman/tasks/main.yaml deleted file mode 100644 index 1128a0dd..00000000 --- a/roles/postman/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.getpostman.Postman - method: user - state: present diff --git a/roles/projects/meta/main.yaml b/roles/projects/meta/main.yaml deleted file mode 100644 index 5b79f2a4..00000000 --- a/roles/projects/meta/main.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: ssh diff --git a/roles/projects/tasks/main.yaml b/roles/projects/tasks/main.yaml deleted file mode 100644 index cc417e42..00000000 --- a/roles/projects/tasks/main.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: Create project directories - ansible.builtin.file: - path: "{{ project_directory_item }}" - state: directory - recurse: yes - loop_control: - loop_var: project_directory_item - with_items: "{{ project_directories | default([]) }}" - -- name: Clone projects - ansible.builtin.git: - accept_hostkey: yes - bare: "{{ project_item.bare | default(true) }}" - clone: yes - dest: "{{ ansible_user_dir }}/Code/{{ project_item.dest }}" - repo: "{{ project_item.repo }}" - version: "{{ project_item.version | default('main') }}" - update: no - loop_control: - loop_var: project_item - with_items: "{{ project_projects | default([]) }}" diff --git a/roles/pulumi/tasks/main.yaml b/roles/pulumi/tasks/main.yaml deleted file mode 100644 index 0c1dc2f0..00000000 --- a/roles/pulumi/tasks/main.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: Existing install - stat: - path: "{{ ansible_user_dir }}/.pulumi/bin/pulumi" - register: install - -- name: Download installer - ansible.builtin.get_url: - dest: /tmp/pulumi-install.sh - mode: 0755 - url: https://get.pulumi.com - become: true - when: not install.stat.exists - -- name: Execute installer - ansible.builtin.command: sh /tmp/pulumi-install.sh - when: not install.stat.exists - -- name: Remove pulumi-install.sh - ansible.builtin.file: - path: /tmp/pulumi-install.sh - state: absent - become: true diff --git a/roles/pv/tasks/main.yaml b/roles/pv/tasks/main.yaml deleted file mode 100644 index 78c398ed..00000000 --- a/roles/pv/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - pv - state: latest - become: true diff --git a/roles/ripgrep/tasks/main.yaml b/roles/ripgrep/tasks/main.yaml deleted file mode 100644 index ee389d1d..00000000 --- a/roles/ripgrep/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - ripgrep - state: latest - become: true diff --git a/roles/skype/tasks/main.yaml b/roles/skype/tasks/main.yaml deleted file mode 100644 index c9850b90..00000000 --- a/roles/skype/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.skype.Client - method: user - state: present diff --git a/roles/slack/tasks/main.yaml b/roles/slack/tasks/main.yaml deleted file mode 100644 index 9588720f..00000000 --- a/roles/slack/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.slack.Slack - method: user - state: present diff --git a/roles/spotify/tasks/main.yaml b/roles/spotify/tasks/main.yaml deleted file mode 100644 index 6e53322c..00000000 --- a/roles/spotify/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.spotify.Client - method: user - state: present diff --git a/roles/ssh/tasks/main.yaml b/roles/ssh/tasks/main.yaml deleted file mode 100644 index 44cc7d49..00000000 --- a/roles/ssh/tasks/main.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: Copy SSH keys - copy: - content: "{{ ssh_key_item.value }}" - dest: "{{ ansible_user_dir }}/.ssh/{{ ssh_key_item.key }}" - mode: 0400 - loop_control: - loop_var: ssh_key_item - no_log: true - with_items: "{{ ssh_key | default({}) | dict2items }}" - -- name: Create SSH configuration file - ansible.builtin.copy: - content: "{{ ssh_config }}" - dest: "{{ ansible_user_dir }}/.ssh/config" - mode: 0400 - no_log: true - when: ssh_config is defined diff --git a/roles/stylua/meta/main.yaml b/roles/stylua/meta/main.yaml deleted file mode 100644 index fe55fc75..00000000 --- a/roles/stylua/meta/main.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: cargo diff --git a/roles/stylua/tasks/main.yaml b/roles/stylua/tasks/main.yaml deleted file mode 100644 index 63a110a9..00000000 --- a/roles/stylua/tasks/main.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Install - community.general.cargo: - name: - - stylua - path: /usr/local - state: latest - become: true diff --git a/roles/tldr/tasks/main.yaml b/roles/tldr/tasks/main.yaml deleted file mode 100644 index 08ae98f6..00000000 --- a/roles/tldr/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - tldr - state: latest - become: true diff --git a/roles/tmux/files/tmux.conf b/roles/tmux/files/tmux.conf deleted file mode 100644 index 83c4d3ab..00000000 --- a/roles/tmux/files/tmux.conf +++ /dev/null @@ -1,95 +0,0 @@ -unbind C-b - -set -g prefix C-s -bind C-s send-prefix - -bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded" - -bind-key -n C-h select-pane -L -bind-key -n C-j select-pane -D -bind-key -n C-k select-pane -U -bind-key -n C-l select-pane -R - -set-option -g status-keys "emacs" -set-option -g default-terminal "xterm-256color" -set-option -ga terminal-overrides ",*256col*:Tc" - -bind-key h split-window -v -c '#{pane_current_path}' -bind-key v split-window -h -c '#{pane_current_path}' - -bind -n S-Left resize-pane -L 2 -bind -n S-Right resize-pane -R 2 -bind -n S-Down resize-pane -D 1 -bind -n S-Up resize-pane -U 1 - -bind -n C-Left resize-pane -L 10 -bind -n C-Right resize-pane -R 10 -bind -n C-Down resize-pane -D 5 -bind -n C-Up resize-pane -U 5 - -set-option -g status-left-length 50 -set-option -g status-right "" - -bind c new-window -c "#{pane_current_path}" - -set -g base-index 1 -set -g renumber-windows on - -# Break a pane into a new window. -bind-key b break-pane -d - -bind-key C-j choose-tree - -# Use vim keybindings in copy mode -setw -g mode-keys vi - -# Setup 'v' to begin selection as in Vim -bind-key -T copy-mode-vi 'v' send -X begin-selection -bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" - -# Update default binding of `Enter` to also use copy-pipe -unbind -T copy-mode-vi Enter -bind-key -T copy-mode-vi 'Enter' send -X copy-pipe "reattach-to-user-namespace pbcopy" - -bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - -bind-key C-b send-keys 'tat && exit' 'C-m' -bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - -# Smart pane switching with awareness of Vim splits. -# See: https://github.com/christoomey/vim-tmux-navigator -is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" -bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' -bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' -bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' -bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' -tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' -if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ - "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" -if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ - "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" - -bind-key -T copy-mode-vi 'C-h' select-pane -L -bind-key -T copy-mode-vi 'C-j' select-pane -D -bind-key -T copy-mode-vi 'C-k' select-pane -U -bind-key -T copy-mode-vi 'C-l' select-pane -R -bind-key -T copy-mode-vi 'C-\' select-pane -l - -# Allow clearing screen with ctrl-l by using C-l -bind C-l send-keys 'C-l' -bind C-k send-keys 'C-k' - -# Enable mouse support. -setw -g mouse on - -# Remove delay when switching Vim modes. -set -sg escape-time 0 - -# Plugins -set -g @plugin 'tmux-plugins/tmux-resurrect' -set -g @plugin 'tmux-plugins/tmux-yank' -set -g @plugin 'tmux-plugins/tpm' - -# Initialize TMUX plugin manager -run '~/.tmux/plugins/tpm/tpm' diff --git a/roles/tmux/tasks/main.yaml b/roles/tmux/tasks/main.yaml deleted file mode 100644 index 68ee8039..00000000 --- a/roles/tmux/tasks/main.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - tmux - state: latest - become: true - -- name: Directory - ansible.builtin.file: - path: "{{ ansible_user_dir }}/.config/tmux" - state: directory - -- name: Configuration - ansible.builtin.file: - src: "{{ role_path }}/files/tmux.conf" - dest: "{{ ansible_user_dir }}/.config/tmux/tmux.conf" - state: link diff --git a/roles/tmuxinator/tasks/main.yml b/roles/tmuxinator/tasks/main.yml deleted file mode 100644 index 1c7fd511..00000000 --- a/roles/tmuxinator/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: Dependencies - ansible.builtin.package: - name: ruby - state: latest - become: true - -- name: Install - community.general.gem: - bindir: "{{ ansible_user_dir }}/.local/bin" - name: tmuxinator - state: latest - -- name: Configuration - ansible.builtin.file: - path: "{{ ansible_user_dir }}/.config/tmuxinator" - state: directory - -- name: Copy configuration files - copy: - content: "{{ tmuxinator_config_file.value }}" - dest: "{{ ansible_user_dir }}/.config/tmuxinator/{{ tmuxinator_config_file.key }}.yml" - mode: 0644 - loop_control: - loop_var: tmuxinator_config_file - no_log: true - with_items: "{{ tmuxinator_config | default({}) | dict2items }}" diff --git a/roles/todoist/tasks/main.yaml b/roles/todoist/tasks/main.yaml deleted file mode 100644 index 6c4a861f..00000000 --- a/roles/todoist/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - com.todoist.Todoist - method: user - state: present diff --git a/roles/tree/tasks/main.yaml b/roles/tree/tasks/main.yaml deleted file mode 100644 index da6dd9fb..00000000 --- a/roles/tree/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - tree - state: latest - become: true diff --git a/roles/vlc/tasks/main.yaml b/roles/vlc/tasks/main.yaml deleted file mode 100644 index 1c766eec..00000000 --- a/roles/vlc/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - org.videolan.VLC - method: user - state: present diff --git a/roles/zoom/tasks/main.yaml b/roles/zoom/tasks/main.yaml deleted file mode 100644 index 5b33b5d2..00000000 --- a/roles/zoom/tasks/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install - community.general.flatpak: - name: - - us.zoom.Zoom - method: user - state: present diff --git a/roles/zsh-antigen/tasks/main.yaml b/roles/zsh-antigen/tasks/main.yaml deleted file mode 100644 index 957e1d6e..00000000 --- a/roles/zsh-antigen/tasks/main.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: Download - get_url: - dest: ~/.antigen.zsh - url: https://raw.githubusercontent.com/zsh-users/antigen/master/bin/antigen.zsh diff --git a/roles/zsh/files/.zshenv b/roles/zsh/files/.zshenv deleted file mode 100644 index bf0a74c5..00000000 --- a/roles/zsh/files/.zshenv +++ /dev/null @@ -1,7 +0,0 @@ -export EDITOR=nvim -export ZDOTDIR="$HOME/.config/zsh" - -PROMPT_EOL_MARK='' -TERM=xterm-256color -WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' -ZLE_REMOVE_SUFFIX_CHARS='' diff --git a/roles/zsh/files/config/.zshrc b/roles/zsh/files/config/.zshrc deleted file mode 100644 index 5f2bd58e..00000000 --- a/roles/zsh/files/config/.zshrc +++ /dev/null @@ -1,28 +0,0 @@ -for function in $ZDOTDIR/functions/*; do - source "${function}" -done - -sources=( - 'aliases' - 'colour' - 'functions' - 'fzf' - 'general' - 'history' - 'navigation' - 'nvm' - 'options' - 'path' - 'platformsh' - 'plugins' - 'prompt' - - 'post/completion' -) - -for s in "${sources[@]}"; do - source $ZDOTDIR/configs/${s}.zsh -done - -# Local config -[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local diff --git a/roles/zsh/files/config/completion-scripts/_g b/roles/zsh/files/config/completion-scripts/_g deleted file mode 100644 index 4eca8f38..00000000 --- a/roles/zsh/files/config/completion-scripts/_g +++ /dev/null @@ -1,3 +0,0 @@ -#compdef g -compdef g=git - diff --git a/roles/zsh/files/config/completion-scripts/_m b/roles/zsh/files/config/completion-scripts/_m deleted file mode 100644 index 98a3250d..00000000 --- a/roles/zsh/files/config/completion-scripts/_m +++ /dev/null @@ -1,2 +0,0 @@ -#compdef m -compdef m=make diff --git a/roles/zsh/files/config/configs/aliases.zsh b/roles/zsh/files/config/configs/aliases.zsh deleted file mode 100644 index 728d4838..00000000 --- a/roles/zsh/files/config/configs/aliases.zsh +++ /dev/null @@ -1,11 +0,0 @@ -alias hosts='sudo vim /etc/hosts' -alias rebase='git fetch --all --prune --prune-tags && git rebase' -alias sshconfig='vim ~/.ssh/config' -alias vim='nvim' - -# Allow for pasting lines of code that start with a dollar sign. -alias \$='' - -# Re-implement pbcopy and pbpaste from macOS. -alias pbcopy="xclip -selection clipboard" -alias pbpaste="xclip -selection clipboard -o" diff --git a/roles/zsh/files/config/configs/colour.zsh b/roles/zsh/files/config/configs/colour.zsh deleted file mode 100644 index 534b774f..00000000 --- a/roles/zsh/files/config/configs/colour.zsh +++ /dev/null @@ -1,4 +0,0 @@ -autoload -U colors -colors - -export CLICOLOR=1 \ No newline at end of file diff --git a/roles/zsh/files/config/configs/functions.zsh b/roles/zsh/files/config/configs/functions.zsh deleted file mode 100644 index 0a3aecbd..00000000 --- a/roles/zsh/files/config/configs/functions.zsh +++ /dev/null @@ -1,38 +0,0 @@ -function m() { - if [[ -f .notes/Makefile ]]; - then - make -f .notes/Makefile "$@" - else - make "$@" - fi -} - -function mkd() { - mkdir -p "$@" && cd "$@" -} - -function composer() { - docker run -u $UID -it --rm \ - -v $(pwd):/app \ - -v ~/.composer:/root/.composer \ - -v ~/.ssh:/root/.ssh \ - composer \ - composer $* -} - -# Run 'phpunit' or 'pest' depending on the project. -function p () { - vendor/bin/$(phpunit-or-pest) $*; -} -function pf () { - vendor/bin/$(phpunit-or-pest) --filter $* -} - -nv() { - if [[ $# > 0 ]]; - then - nvim $@ - else - nvim . - fi -} diff --git a/roles/zsh/files/config/configs/fzf.zsh b/roles/zsh/files/config/configs/fzf.zsh deleted file mode 100644 index 6b5afa9b..00000000 --- a/roles/zsh/files/config/configs/fzf.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# Include keybindings for fzf. -. /usr/share/doc/fzf/examples/key-bindings.zsh diff --git a/roles/zsh/files/config/configs/general.zsh b/roles/zsh/files/config/configs/general.zsh deleted file mode 100644 index 26510941..00000000 --- a/roles/zsh/files/config/configs/general.zsh +++ /dev/null @@ -1,5 +0,0 @@ -precmd() { - # Add a blank line before each command. - print '' -} - diff --git a/roles/zsh/files/config/configs/history.zsh b/roles/zsh/files/config/configs/history.zsh deleted file mode 100644 index d85faea5..00000000 --- a/roles/zsh/files/config/configs/history.zsh +++ /dev/null @@ -1,7 +0,0 @@ -setopt histignoredups - -setopt inc_append_history - -HISTSIZE=10000 -SAVEHIST=10000 -HISTFILE=~/.cache/zsh/history diff --git a/roles/zsh/files/config/configs/navigation.zsh b/roles/zsh/files/config/configs/navigation.zsh deleted file mode 100644 index 3bbef6d0..00000000 --- a/roles/zsh/files/config/configs/navigation.zsh +++ /dev/null @@ -1,9 +0,0 @@ -bindkey -s "^f" "tmux-sessioniser\n" - -# Search through history with the up and down arrows. -autoload -U up-line-or-beginning-search -autoload -U down-line-or-beginning-search -zle -N up-line-or-beginning-search -zle -N down-line-or-beginning-search -bindkey "${terminfo[kcuu1]}" up-line-or-beginning-search # Up -bindkey "${terminfo[kcud1]}" up-line-or-beginning-search # Down diff --git a/roles/zsh/files/config/configs/nvm.zsh b/roles/zsh/files/config/configs/nvm.zsh deleted file mode 100644 index 8deff7e7..00000000 --- a/roles/zsh/files/config/configs/nvm.zsh +++ /dev/null @@ -1,2 +0,0 @@ -export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" diff --git a/roles/zsh/files/config/configs/options.zsh b/roles/zsh/files/config/configs/options.zsh deleted file mode 100644 index 095835ce..00000000 --- a/roles/zsh/files/config/configs/options.zsh +++ /dev/null @@ -1,3 +0,0 @@ -# Fix "zsh: no matches found: HEAD^" error. -# See https://github.com/opdavies/dotfiles/issues/14. -setopt NO_NOMATCH diff --git a/roles/zsh/files/config/configs/path.zsh b/roles/zsh/files/config/configs/path.zsh deleted file mode 100644 index 6eaa86ac..00000000 --- a/roles/zsh/files/config/configs/path.zsh +++ /dev/null @@ -1,25 +0,0 @@ -setopt auto_cd - -export PATH=\ -$PATH:\ -/usr/bin:\ -$HOME/.cargo/bin:\ -$HOME/.composer/vendor/bin:\ -$HOME/.dotfiles/bin:\ -$HOME/.dotfiles/bin/bin:\ -$HOME/.local/bin:\ -$HOME/.platformsh/bin:\ -$HOME/.pulumi/bin:\ -$HOME/bin:\ -$HOME/snap/bin:\ -bin:\ -node_modules/.bin:\ -tools/php-cs-fixer/vendor/bin:\ -vendor/bin - -export CDPATH=\ -./:\ -$HOME/Code:\ -$HOME/Code/clients:\ -$HOME/Code/open_source:\ -$HOME diff --git a/roles/zsh/files/config/configs/platformsh.zsh b/roles/zsh/files/config/configs/platformsh.zsh deleted file mode 100644 index 8e8c2b62..00000000 --- a/roles/zsh/files/config/configs/platformsh.zsh +++ /dev/null @@ -1,6 +0,0 @@ -# Platform.sh CLI configuration. -export PATH="$HOME/"'.platformsh/bin':"$PATH" - -if [ -f "$HOME/"'.platformsh/shell-config.rc' ]; then - . "$HOME/"'.platformsh/shell-config.rc'; -fi diff --git a/roles/zsh/files/config/configs/plugins.zsh b/roles/zsh/files/config/configs/plugins.zsh deleted file mode 100644 index 6a1243e0..00000000 --- a/roles/zsh/files/config/configs/plugins.zsh +++ /dev/null @@ -1,10 +0,0 @@ -# antigen.zsh has been downloaded manually for now, -# see https://github.com/zsh-users/antigen/issues/659. -source $HOME/.antigen.zsh - -antigen bundle mollifier/cd-gitroot -antigen bundle zsh-users/zsh-autosuggestions -antigen bundle zsh-users/zsh-completions -antigen bundle zsh-users/zsh-syntax-highlighting - -antigen apply diff --git a/roles/zsh/files/config/configs/plugins.zsh.zwc b/roles/zsh/files/config/configs/plugins.zsh.zwc deleted file mode 100644 index 7a6ac081d644544e2d1de98ee459db18798ee0e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 zcmZQ)V`X7D!N_2$XTd-WkYQk82xo+-T*AP>Ai%)DP{6>zpr4VSo2s8*kdj!InOdx` zS5=&$pPZkUmYH6xUyxIpo|#t+5@T>=U|?VpU|?WoWMFWE7{egTzyJ{!VPI%xWMD{R zU|`5#U|{HAU|?8^BzG7|?gs+{gD4|HA2Sm|Uk@V#!%8GMXCyfRCI$vwCI$vaCWt!@ zGeO(|vTq9$#6iXRrA5i946PpizOMRuiFqZN>8W{O*F)J1Nu_xyIjIb}`8he6X_=`- z`pGG?(=$to^7Bhza#h6{vrCIpi;DF@ti;li{NmE|^wi>#%>2A!?23}}a|?1(@hB*+ z%qvN(n4OWCo{^K8o>7vSm(Gw_P>@r}pwGg}#?C}SJTfpa$S^Q4hC_VJ0FO#y;}H@q zpwMJwW`G1C$S7!3iZC%SFg7zFq68@_!E%R@ /dev/null \ - || [[ "$(__git_prompt_git config --get oh-my-zsh.hide-info 2>/dev/null)" == 1 ]]; then - return 0 - fi - - local ref - ref=$(__git_prompt_git symbolic-ref --short HEAD 2> /dev/null) \ - || ref=$(__git_prompt_git rev-parse --short HEAD 2> /dev/null) \ - || return 0 - - # Use global ZSH_THEME_GIT_SHOW_UPSTREAM=1 for including upstream remote info - local upstream - if (( ${+ZSH_THEME_GIT_SHOW_UPSTREAM} )); then - upstream=$(__git_prompt_git rev-parse --abbrev-ref --symbolic-full-name "@{upstream}" 2>/dev/null) \ - && upstream=" -> ${upstream}" - fi - - echo "${ZSH_THEME_GIT_PROMPT_PREFIX}${ref:gs/%/%%}${upstream:gs/%/%%}$(parse_git_dirty)${ZSH_THEME_GIT_PROMPT_SUFFIX}" -} - -# Checks if working tree is dirty -function parse_git_dirty() { - local STATUS - local -a FLAGS - FLAGS=('--porcelain') - if [[ "$(__git_prompt_git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then - if [[ "${DISABLE_UNTRACKED_FILES_DIRTY:-}" == "true" ]]; then - FLAGS+='--untracked-files=no' - fi - case "${GIT_STATUS_IGNORE_SUBMODULES:-}" in - git) - # let git decide (this respects per-repo config in .gitmodules) - ;; - *) - # if unset: ignore dirty submodules - # other values are passed to --ignore-submodules - FLAGS+="--ignore-submodules=${GIT_STATUS_IGNORE_SUBMODULES:-dirty}" - ;; - esac - STATUS=$(__git_prompt_git status ${FLAGS} 2> /dev/null | tail -n 1) - fi - if [[ -n $STATUS ]]; then - echo "$ZSH_THEME_GIT_PROMPT_DIRTY" - else - echo "$ZSH_THEME_GIT_PROMPT_CLEAN" - fi -} - -# Gets the difference between the local and remote branches -function git_remote_status() { - local remote ahead behind git_remote_status git_remote_status_detailed - remote=${$(__git_prompt_git rev-parse --verify ${hook_com[branch]}@{upstream} --symbolic-full-name 2>/dev/null)/refs\/remotes\/} - if [[ -n ${remote} ]]; then - ahead=$(__git_prompt_git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l) - behind=$(__git_prompt_git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l) - - if [[ $ahead -eq 0 ]] && [[ $behind -eq 0 ]]; then - git_remote_status="$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE" - elif [[ $ahead -gt 0 ]] && [[ $behind -eq 0 ]]; then - git_remote_status="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE" - git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}" - elif [[ $behind -gt 0 ]] && [[ $ahead -eq 0 ]]; then - git_remote_status="$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE" - git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE$((behind))%{$reset_color%}" - elif [[ $ahead -gt 0 ]] && [[ $behind -gt 0 ]]; then - git_remote_status="$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE" - git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE$((behind))%{$reset_color%}" - fi - - if [[ -n $ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_DETAILED ]]; then - git_remote_status="$ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_PREFIX${remote:gs/%/%%}$git_remote_status_detailed$ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_SUFFIX" - fi - - echo $git_remote_status - fi -} - -# Outputs the name of the current branch -# Usage example: git pull origin $(git_current_branch) -# Using '--quiet' with 'symbolic-ref' will not cause a fatal error (128) if -# it's not a symbolic ref, but in a Git repo. -function git_current_branch() { - local ref - ref=$(__git_prompt_git symbolic-ref --quiet HEAD 2> /dev/null) - local ret=$? - if [[ $ret != 0 ]]; then - [[ $ret == 128 ]] && return # no git repo. - ref=$(__git_prompt_git rev-parse --short HEAD 2> /dev/null) || return - fi - echo ${ref#refs/heads/} -} - - -# Gets the number of commits ahead from remote -function git_commits_ahead() { - if __git_prompt_git rev-parse --git-dir &>/dev/null; then - local commits="$(__git_prompt_git rev-list --count @{upstream}..HEAD 2>/dev/null)" - if [[ -n "$commits" && "$commits" != 0 ]]; then - echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$commits$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX" - fi - fi -} - -# Gets the number of commits behind remote -function git_commits_behind() { - if __git_prompt_git rev-parse --git-dir &>/dev/null; then - local commits="$(__git_prompt_git rev-list --count HEAD..@{upstream} 2>/dev/null)" - if [[ -n "$commits" && "$commits" != 0 ]]; then - echo "$ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX$commits$ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX" - fi - fi -} - -# Outputs if current branch is ahead of remote -function git_prompt_ahead() { - if [[ -n "$(__git_prompt_git rev-list origin/$(git_current_branch)..HEAD 2> /dev/null)" ]]; then - echo "$ZSH_THEME_GIT_PROMPT_AHEAD" - fi -} - -# Outputs if current branch is behind remote -function git_prompt_behind() { - if [[ -n "$(__git_prompt_git rev-list HEAD..origin/$(git_current_branch) 2> /dev/null)" ]]; then - echo "$ZSH_THEME_GIT_PROMPT_BEHIND" - fi -} - -# Outputs if current branch exists on remote or not -function git_prompt_remote() { - if [[ -n "$(__git_prompt_git show-ref origin/$(git_current_branch) 2> /dev/null)" ]]; then - echo "$ZSH_THEME_GIT_PROMPT_REMOTE_EXISTS" - else - echo "$ZSH_THEME_GIT_PROMPT_REMOTE_MISSING" - fi -} - -# Formats prompt string for current git commit short SHA -function git_prompt_short_sha() { - local SHA - SHA=$(__git_prompt_git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" -} - -# Formats prompt string for current git commit long SHA -function git_prompt_long_sha() { - local SHA - SHA=$(__git_prompt_git rev-parse HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" -} - -function git_prompt_status() { - [[ "$(__git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]] && return - - # Maps a git status prefix to an internal constant - # This cannot use the prompt constants, as they may be empty - local -A prefix_constant_map - prefix_constant_map=( - '\?\? ' 'UNTRACKED' - 'A ' 'ADDED' - 'M ' 'ADDED' - 'MM ' 'MODIFIED' - ' M ' 'MODIFIED' - 'AM ' 'MODIFIED' - ' T ' 'MODIFIED' - 'R ' 'RENAMED' - ' D ' 'DELETED' - 'D ' 'DELETED' - 'UU ' 'UNMERGED' - 'ahead' 'AHEAD' - 'behind' 'BEHIND' - 'diverged' 'DIVERGED' - 'stashed' 'STASHED' - ) - - # Maps the internal constant to the prompt theme - local -A constant_prompt_map - constant_prompt_map=( - 'UNTRACKED' "$ZSH_THEME_GIT_PROMPT_UNTRACKED" - 'ADDED' "$ZSH_THEME_GIT_PROMPT_ADDED" - 'MODIFIED' "$ZSH_THEME_GIT_PROMPT_MODIFIED" - 'RENAMED' "$ZSH_THEME_GIT_PROMPT_RENAMED" - 'DELETED' "$ZSH_THEME_GIT_PROMPT_DELETED" - 'UNMERGED' "$ZSH_THEME_GIT_PROMPT_UNMERGED" - 'AHEAD' "$ZSH_THEME_GIT_PROMPT_AHEAD" - 'BEHIND' "$ZSH_THEME_GIT_PROMPT_BEHIND" - 'DIVERGED' "$ZSH_THEME_GIT_PROMPT_DIVERGED" - 'STASHED' "$ZSH_THEME_GIT_PROMPT_STASHED" - ) - - # The order that the prompt displays should be added to the prompt - local status_constants - status_constants=( - UNTRACKED ADDED MODIFIED RENAMED DELETED - STASHED UNMERGED AHEAD BEHIND DIVERGED - ) - - local status_text - status_text="$(__git_prompt_git status --porcelain -b 2> /dev/null)" - - # Don't continue on a catastrophic failure - if [[ $? -eq 128 ]]; then - return 1 - fi - - # A lookup table of each git status encountered - local -A statuses_seen - - if __git_prompt_git rev-parse --verify refs/stash &>/dev/null; then - statuses_seen[STASHED]=1 - fi - - local status_lines - status_lines=("${(@f)${status_text}}") - - # If the tracking line exists, get and parse it - if [[ "$status_lines[1]" =~ "^## [^ ]+ \[(.*)\]" ]]; then - local branch_statuses - branch_statuses=("${(@s/,/)match}") - for branch_status in $branch_statuses; do - if [[ ! $branch_status =~ "(behind|diverged|ahead) ([0-9]+)?" ]]; then - continue - fi - local last_parsed_status=$prefix_constant_map[$match[1]] - statuses_seen[$last_parsed_status]=$match[2] - done - fi - - # For each status prefix, do a regex comparison - for status_prefix in ${(k)prefix_constant_map}; do - local status_constant="${prefix_constant_map[$status_prefix]}" - local status_regex=$'(^|\n)'"$status_prefix" - - if [[ "$status_text" =~ $status_regex ]]; then - statuses_seen[$status_constant]=1 - fi - done - - # Display the seen statuses in the order specified - local status_prompt - for status_constant in $status_constants; do - if (( ${+statuses_seen[$status_constant]} )); then - local next_display=$constant_prompt_map[$status_constant] - status_prompt="$next_display$status_prompt" - fi - done - - echo $status_prompt -} - -# Outputs the name of the current user -# Usage example: $(git_current_user_name) -function git_current_user_name() { - __git_prompt_git config user.name 2>/dev/null -} - -# Outputs the email of the current user -# Usage example: $(git_current_user_email) -function git_current_user_email() { - __git_prompt_git config user.email 2>/dev/null -} - -# Output the name of the root directory of the git repository -# Usage example: $(git_repo_name) -function git_repo_name() { - local repo_path - if repo_path="$(__git_prompt_git rev-parse --show-toplevel 2>/dev/null)" && [[ -n "$repo_path" ]]; then - echo ${repo_path:t} - fi -} diff --git a/roles/zsh/tasks/main.yaml b/roles/zsh/tasks/main.yaml deleted file mode 100644 index 225e5989..00000000 --- a/roles/zsh/tasks/main.yaml +++ /dev/null @@ -1,34 +0,0 @@ ---- -- name: Install - ansible.builtin.package: - name: - - zsh - state: latest - become: true - -- name: Set default - user: - name: "{{ ansible_env['USER'] }}" - shell: /usr/bin/zsh - become: yes - -- name: Configuration - ansible.builtin.file: - src: "{{ role_path }}/files/{{ zsh_config_item.src }}" - path: "{{ zsh_config_item.path }}" - state: link - loop_control: - loop_var: zsh_config_item - with_items: - - { src: config, path: "{{ ansible_user_dir }}/.config/zsh" } - - { src: .zshenv, path: "{{ ansible_user_dir }}/.zshenv" } - -- name: Delete old files - ansible.builtin.file: - path: "{{ old_files_item }}" - state: absent - loop_control: - loop_var: old_files_item - with_items: - - "{{ ansible_user_dir }}/.zsh" - - "{{ ansible_user_dir }}/.zshrc" From 3f61fa38246c21309c47a8f2d28ebfdcbc2ab6ee Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Dec 2022 11:40:36 +0000 Subject: [PATCH 0088/2258] fix: update paths --- flake.nix | 8 ++++---- home-manager/modules/common.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index e7f7c6f7..0773130d 100644 --- a/flake.nix +++ b/flake.nix @@ -15,12 +15,12 @@ apollo = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - ./nixpkgs/nixos/apollo/configuration.nix + ./nixos/apollo/configuration.nix { nixpkgs.overlays = overlays; } home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.opdavies = import ./nixpkgs/home-manager/apollo.nix; + home-manager.users.opdavies = import ./home-manager/apollo.nix; } ]; }; @@ -30,7 +30,7 @@ pop-os = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./nixpkgs/configuration/pop-os + ./configuration/pop-os ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; @@ -38,7 +38,7 @@ wsl2 = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./nixpkgs/configuration/wsl2 + ./configuration/wsl2 ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index dc415f2c..ae1654ca 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -167,12 +167,12 @@ ]; xdg.configFile.bin = { - source = ../../../bin; + source = ../../bin; recursive = true; }; xdg.configFile.nvim = { - source = ../../../config/neovim; + source = ../../config/neovim; recursive = true; }; } From fcccc0906bec7128ce09ff5d040c475ecf4350b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Dec 2022 11:41:33 +0000 Subject: [PATCH 0089/2258] feat: add terraform --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index ae1654ca..2e286878 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -29,6 +29,7 @@ pulumi-bin pv ripgrep + terraform tldr tmuxinator tree From e4a1c2fb37852f5084be723ae287939641298720 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Dec 2022 21:06:11 +0000 Subject: [PATCH 0090/2258] feat(nvim): add nvim_lsp_signature_help --- config/neovim/after/plugin/completion.lua | 1 + home-manager/modules/common.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua index ec04244b..b7d05af3 100644 --- a/config/neovim/after/plugin/completion.lua +++ b/config/neovim/after/plugin/completion.lua @@ -26,6 +26,7 @@ cmp.setup { }, sources = { + { name = "nvim_lsp_signature_help" }, { name = "nvim_lsp" }, { name = "nvim_lua" }, { name = "cmp_tabnine" }, diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 2e286878..e61f0025 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -129,6 +129,7 @@ cmp-buffer cmp-cmdline cmp-nvim-lsp + cmp-nvim-lsp-signature-help cmp-path cmp-tabnine cmp-treesitter From 967e443b344d45b46bc45f98a1414cda4c5a499c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Dec 2022 16:36:03 +0000 Subject: [PATCH 0091/2258] feat(nvim): re-add Ansible language server --- home-manager/modules/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index e61f0025..7fceafda 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -41,7 +41,7 @@ # LSP gopls html-tidy - # nodePackages."@ansible/ansible-language-server" + nodePackages."@ansible/ansible-language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs From bd5ec65f8b5ca740b4b59429aec076632c81f938 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Dec 2022 16:36:56 +0000 Subject: [PATCH 0092/2258] chore(nvim): configure backup settings --- config/neovim/lua/opdavies/options.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 8073ced4..622ec372 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -117,6 +117,7 @@ end local function set_vim_o() local settings = { autoindent = true, + backup = true, breakindent = true, conceallevel = 0, cursorline = true, @@ -153,6 +154,7 @@ local function set_vim_o() vim.o[key] = value end + vim.opt.backupdir:remove('.') -- keep backups out of the current directory vim.opt.clipboard:append "unnamedplus" vim.opt.completeopt = { "menu", "menuone", "noselect" } vim.opt.laststatus = 3 From 5c10e51af54e4c9e240e4f75d8963e53c9f58564 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Dec 2022 16:37:39 +0000 Subject: [PATCH 0093/2258] feat(nvim): re-add tabline.vim plugin https://github.com/mkitt/tabline.vim --- home-manager/modules/common.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 7fceafda..5cbd502f 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -86,6 +86,16 @@ sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; }; }; + + customVim.tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; in with pkgs.vimPlugins; [ vim-astro @@ -109,6 +119,7 @@ vim-test vim-tmux-navigator vimux + customVim.tabline-vim # Debugging nvim-dap From e6c7d6e69af7e86fa599288c79f524be65d43049 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Dec 2022 16:48:31 +0000 Subject: [PATCH 0094/2258] feat(nvim): re-add dial.nvim https://github.com/monaqa/dial.nvim --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 5cbd502f..5632da4a 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -101,6 +101,7 @@ vim-astro comment-nvim + dial-nvim git-worktree-nvim gitsigns-nvim harpoon From 373c824cafd4203f58938df797a4e2a99fc4e6b2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Dec 2022 17:01:25 +0000 Subject: [PATCH 0095/2258] chore(nvim): add prefix to Vim plugin names Make it easier to differentiate between Vim plugins that are available in the Nix store and those that have been added and built manually. --- home-manager/modules/common.nix | 128 ++++++++++++++------------------ 1 file changed, 56 insertions(+), 72 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 5632da4a..7c991f94 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -1,5 +1,6 @@ { config, lib, pkgs, ... }: -{ +let +in { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "intelephense" "postman" @@ -67,17 +68,7 @@ programs.neovim = { enable = true; plugins = let - phpactor = pkgs.vimUtils.buildVimPlugin { - name = "phpactor"; - src = pkgs.fetchFromGitHub { - owner = "phpactor"; - repo = "phpactor"; - rev = "master"; - sha256 = "0bgfwidrlaqxnjmk14gqc8b0mxh0c5xf098qcjz9mvw236n88xl7"; - }; - }; - - vim-astro = pkgs.vimUtils.buildVimPlugin { + customVim.vim-astro = pkgs.vimUtils.buildVimPlugin { name = "vim-astro"; src = pkgs.fetchFromGitHub { owner = "wuelnerdotexe"; @@ -96,83 +87,76 @@ sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; }; }; - in - with pkgs.vimPlugins; [ - vim-astro - - comment-nvim - dial-nvim - git-worktree-nvim - gitsigns-nvim - harpoon - impatient-nvim - indent-blankline-nvim - neogit - nvim-web-devicons - refactoring-nvim - rest-nvim - splitjoin-vim - vim-abolish - vim-highlightedyank - vim-polyglot - vim-repeat - vim-surround - vim-test - vim-tmux-navigator - vimux + in with pkgs; [ + vimPlugins.comment-nvim + vimPlugins.dial-nvim + vimPlugins.git-worktree-nvim + vimPlugins.gitsigns-nvim + vimPlugins.harpoon + vimPlugins.impatient-nvim + vimPlugins.indent-blankline-nvim + vimPlugins.neogit + vimPlugins.nvim-web-devicons + vimPlugins.refactoring-nvim + vimPlugins.rest-nvim + vimPlugins.splitjoin-vim + vimPlugins.vim-abolish + vimPlugins.vim-highlightedyank + vimPlugins.vim-polyglot + vimPlugins.vim-repeat + vimPlugins.vim-surround + vimPlugins.vim-test + vimPlugins.vim-tmux-navigator + vimPlugins.vimux + customVim.vim-astro customVim.tabline-vim # Debugging - nvim-dap - nvim-dap-ui - nvim-dap-virtual-text + vimPlugins.nvim-dap + vimPlugins.nvim-dap-ui + vimPlugins.nvim-dap-virtual-text # Treesitter - nvim-treesitter - nvim-treesitter-context - nvim-treesitter-textobjects + vimPlugins.nvim-treesitter + vimPlugins.nvim-treesitter-context + vimPlugins.nvim-treesitter-textobjects # LSP - null-ls-nvim - nvim-lspconfig - lsp-status-nvim + vimPlugins.null-ls-nvim + vimPlugins.nvim-lspconfig + vimPlugins.lsp-status-nvim # Completion - cmp-buffer - cmp-cmdline - cmp-nvim-lsp - cmp-nvim-lsp-signature-help - cmp-path - cmp-tabnine - cmp-treesitter - cmp-vsnip - cmp_luasnip - lspkind-nvim - nvim-cmp + vimPlugins.cmp-buffer + vimPlugins.cmp-cmdline + vimPlugins.cmp-nvim-lsp + vimPlugins.cmp-nvim-lsp-signature-help + vimPlugins.cmp-path + vimPlugins.cmp-tabnine + vimPlugins.cmp-treesitter + vimPlugins.cmp-vsnip + vimPlugins.cmp_luasnip + vimPlugins.lspkind-nvim + vimPlugins.nvim-cmp # Snippets - luasnip + vimPlugins.luasnip # Telescope - plenary-nvim - popup-nvim - telescope-file-browser-nvim - telescope-fzf-native-nvim - telescope-nvim - telescope-ui-select-nvim - - # Git - # neogit + vimPlugins.plenary-nvim + vimPlugins.popup-nvim + vimPlugins.telescope-file-browser-nvim + vimPlugins.telescope-fzf-native-nvim + vimPlugins.telescope-nvim + vimPlugins.telescope-ui-select-nvim # Databases - vim-dadbod - vim-dadbod-ui - vim-dadbod-completion + vimPlugins.vim-dadbod + vimPlugins.vim-dadbod-ui + vimPlugins.vim-dadbod-completion # Themes - catppuccin-nvim - nightfox-nvim - onehalf + vimPlugins.onedark-nvim ]; }; From 0371434311c2faa9f0a8e2ccfd94201c086323b3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Dec 2022 17:35:11 +0000 Subject: [PATCH 0096/2258] feat(nvim): use floaterm for running tests --- config/neovim/after/plugin/floaterm.lua | 4 ++++ config/neovim/after/plugin/vim-test.lua | 2 +- home-manager/modules/common.nix | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 config/neovim/after/plugin/floaterm.lua diff --git a/config/neovim/after/plugin/floaterm.lua b/config/neovim/after/plugin/floaterm.lua new file mode 100644 index 00000000..30d75ddb --- /dev/null +++ b/config/neovim/after/plugin/floaterm.lua @@ -0,0 +1,4 @@ +vim.g.floaterm_autoinsert = 1 +vim.g.floaterm_height = 0.8 +vim.g.floaterm_title = 0 +vim.g.floaterm_width = 0.8 diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index 42121e35..54a82e87 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -13,7 +13,7 @@ map("n", "ts", ":TestSuite", options) vim.cmd([[ let test#echo_command = 0 let test#neovim#start_normal = 1 - let test#strategy = "vimux" + let test#strategy = "floaterm" let test#php#phpunit#executable = 'just test' let test#php#phpunit#options = '--colors=always' diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 7c991f94..19742dab 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -101,6 +101,7 @@ in { vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.vim-abolish + vimPlugins.vim-floaterm vimPlugins.vim-highlightedyank vimPlugins.vim-polyglot vimPlugins.vim-repeat From ce7872c100b0bb46fd325f468abeb35aaba222fa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Dec 2022 17:56:34 +0000 Subject: [PATCH 0097/2258] feat(nvim): use --testdox when running PHPUnit --- config/neovim/after/plugin/vim-test.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index 54a82e87..a76c3bd6 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -16,5 +16,5 @@ vim.cmd([[ let test#strategy = "floaterm" let test#php#phpunit#executable = 'just test' - let test#php#phpunit#options = '--colors=always' + let test#php#phpunit#options = '--colors=always --testdox' ]]) From 5dd5d77b02728a0c6bf952480159f6db5a1e1117 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Jan 2023 12:22:16 +0000 Subject: [PATCH 0098/2258] feat: add doppler --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 19742dab..867c6dcb 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -10,6 +10,7 @@ in { bottom ctop delta + doppler file fzf gcc From 25306a009355a74eb204602b3bfd0432cfffdbf7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Jan 2023 13:05:36 +0000 Subject: [PATCH 0099/2258] feat: add http-server --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 867c6dcb..ef82681e 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -25,6 +25,7 @@ in { mysql neofetch nodejs + nodePackages."http-server" php81 platformsh postman From 07e552df83663d6008965a8e4ea4053e659fbc25 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 4 Jan 2023 22:16:14 +0000 Subject: [PATCH 0100/2258] feat(nvim): add new plugins --- config/neovim/after/plugin/nvim-lastplace.lua | 6 ++ home-manager/modules/common.nix | 56 ++++++++++++++++++- 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 config/neovim/after/plugin/nvim-lastplace.lua diff --git a/config/neovim/after/plugin/nvim-lastplace.lua b/config/neovim/after/plugin/nvim-lastplace.lua new file mode 100644 index 00000000..d54cafb7 --- /dev/null +++ b/config/neovim/after/plugin/nvim-lastplace.lua @@ -0,0 +1,6 @@ +local has_lastplace, lastplace = pcall(require, "nvim-lastplace") +if not has_lastplace then + return +end + +lastplace.setup {} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index ef82681e..203b5c83 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -80,6 +80,36 @@ in { }; }; + customVim.vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + customVim.vim-just = pkgs.vimUtils.buildVimPlugin { + name = "vim-just"; + src = pkgs.fetchFromGitHub { + owner = "NoahTheDuke"; + repo = "vim-just"; + rev = "838c9096d4c5d64d1000a6442a358746324c2123"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + customVim.vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + customVim.tabline-vim = pkgs.vimUtils.buildVimPlugin { name = "tabline-vim"; src = pkgs.fetchFromGitHub { @@ -89,7 +119,24 @@ in { sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; }; }; + + customVim.vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { + name = "vim-visual-star-search"; + src = pkgs.fetchFromGitHub { + owner = "nelstrom"; + repo = "vim-visual-star-search"; + rev = "37259722f45996733fd309add61385a4ad88bdb9"; + sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; + }; + }; in with pkgs; [ + customVim.tabline-vim + customVim.vim-astro + customVim.vim-heritage + customVim.vim-just + customVim.vim-textobj-xmlattr + customVim.vim-visual-star-search + vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.git-worktree-nvim @@ -98,21 +145,26 @@ in { vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim vimPlugins.neogit + vimPlugins.nvim-autopairs + vimPlugins.nvim-lastplace vimPlugins.nvim-web-devicons vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.vim-abolish + vimPlugins.vim-eunuch vimPlugins.vim-floaterm vimPlugins.vim-highlightedyank + vimPlugins.vim-pasta vimPlugins.vim-polyglot vimPlugins.vim-repeat + vimPlugins.vim-sleuth vimPlugins.vim-surround vimPlugins.vim-test + vimPlugins.vim-textobj-user vimPlugins.vim-tmux-navigator + vimPlugins.vim-unimpaired vimPlugins.vimux - customVim.vim-astro - customVim.tabline-vim # Debugging vimPlugins.nvim-dap From 3a693e4ffddb10dc0084aad3415e7ee90009b1e7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Jan 2023 01:37:46 +0000 Subject: [PATCH 0101/2258] feat(nvim): add rst snippets for working with PDFs Fixes #45 --- .../neovim/lua/opdavies/snippets/ft/rst.lua | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/config/neovim/lua/opdavies/snippets/ft/rst.lua b/config/neovim/lua/opdavies/snippets/ft/rst.lua index 657dae18..661d9c58 100644 --- a/config/neovim/lua/opdavies/snippets/ft/rst.lua +++ b/config/neovim/lua/opdavies/snippets/ft/rst.lua @@ -1,3 +1,4 @@ +local fmta = require("luasnip.extras.fmt").fmta local ls = require "luasnip" local i = ls.insert_node @@ -12,11 +13,37 @@ local fill_line = function(char) end local M = { + class = { ".. class:: ", i(1) }, + footer = { ".. footer:: ", i(1) }, link = { ".. _", i(1), ":" }, + raw = { ".. raw:: ", i(1) }, + + -- TODO: add an optional new line and ":width" property. + image = { ".. image:: ", i(1) }, head = f(fill_line "=", {}), sub = f(fill_line "-", {}), subsub = f(fill_line "^", {}), + + -- Add a page break with an optional page template. + pb = fmta( + [[ + .. raw:: pdf + + PageBreak<> + ]], + { i(0) } + ), + + -- Add a new speaker note. + ta = fmta( + [[ + .. raw:: pdf + + TextAnnotation "<>" + ]], + { i(0) } + ) } return M From c363640a93693e8adf714113fbc8f7fced152506 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Jan 2023 08:38:12 +0000 Subject: [PATCH 0102/2258] feat(zsh): set ZSH opts --- home-manager/modules/zsh.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 4d023b8a..73128302 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -35,6 +35,11 @@ } compdef g=git + + setopt auto_cd + setopt auto_pushd + setopt pushd_ignore_dups + setopt pushdminus ''; zplug = { From 4c03eb55e26ba9c8ab5c0692d25c05ca1b3fe5e4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Jan 2023 08:40:26 +0000 Subject: [PATCH 0103/2258] feat: add packages --- home-manager/modules/common.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 203b5c83..d44300e6 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -11,6 +11,7 @@ in { ctop delta doppler + exa file fzf gcc @@ -26,7 +27,9 @@ in { neofetch nodejs nodePackages."http-server" + pdfpc php81 + php81Packages.composer platformsh postman pulumi-bin @@ -38,6 +41,7 @@ in { tree unzip wget + xcp yarn zoxide From 0d25b9348e7eb59dea9f195840ac805f44d74bad Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Jan 2023 08:40:43 +0000 Subject: [PATCH 0104/2258] chore: remove Docker and Docker Compose When using Docker from the Nix store, I couldn't connect to it so I uninstalled it and added it using the https://get.docker.com script. I'm no longer using Docker Compose v1, so I can also remove the `docker-compose` package. --- configuration/pop-os/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix index cfbdd462..008cf1d7 100644 --- a/configuration/pop-os/default.nix +++ b/configuration/pop-os/default.nix @@ -12,8 +12,6 @@ fonts.fontconfig.enable = true; home.packages = with pkgs; [ - docker - docker-compose jetbrains-mono ]; } From ac0c71775db04214a275702fbcd89cdcab8d7e1f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Jan 2023 08:44:28 +0000 Subject: [PATCH 0105/2258] feat(zsh): automatically expand aliases Automatically expand aliases after the space key is pressed, unless it was added using the `ialias` function. This is something that I saw on Sebastian Daschner's videos (https://www.sebastian-daschner.com, https://www.youtube.com/@SebastianDaschnerIT) and is from his dotfiles (https://github.com/sdaschner/dotfiles). --- home-manager/modules/zsh.nix | 60 ++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 73128302..1b158da6 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -36,6 +36,66 @@ compdef g=git + clear-ls-all() { + clear + exa -al + } + zle -N clear-ls-all + bindkey '^K' clear-ls-all + + clear-git-status() { + clear + git status -sb . + } + zle -N clear-git-status + bindkey '^G' clear-git-status + + # auto-completes aliases + # enables to define + # - normal aliases (completed with trailing space) + # - blank aliases (completed without space) + # - ignored aliases (not completed) + + # ignored aliases + typeset -a ialiases + ialiases=() + + ialias() { + alias $@ + args="$@" + args=''${args%%\=*} + ialiases+=(''${args##* }) + } + + # blank aliases + typeset -a baliases + baliases=() + + balias() { + alias $@ + args="$@" + args=''${args%%\=*} + baliases+=(''${args##* }) + } + + expand-alias-space() { + [[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$? + if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then + zle _expand_alias + fi + + zle self-insert + + if [[ "$insertBlank" = "0" ]]; then + zle backward-delete-char + fi + } + + zle -N expand-alias-space + + bindkey " " expand-alias-space + bindkey -M isearch " " magic-space + setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups From e4b8ea9e334359ff2d256a40d6666c64596d1cc6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Jan 2023 19:12:10 +0000 Subject: [PATCH 0106/2258] feat: add Astro language server --- config/neovim/lua/opdavies/lsp/init.lua | 1 + home-manager/modules/common.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index b463f387..6c800132 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -71,6 +71,7 @@ end local servers = { ansiblels = true, + astro = true, bashls = true, cssls = true, gopls = true, diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index d44300e6..23b4052d 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -49,6 +49,7 @@ in { gopls html-tidy nodePackages."@ansible/ansible-language-server" + nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs From 19177de13199344dc90eca3da49be5b4ee93342c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Jan 2023 18:18:27 +0000 Subject: [PATCH 0107/2258] feat(nvim): add vim-caser plugin --- home-manager/modules/common.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 23b4052d..1fc68faa 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -125,6 +125,16 @@ in { }; }; + customVim.vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "master"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + customVim.vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { name = "vim-visual-star-search"; src = pkgs.fetchFromGitHub { @@ -137,6 +147,7 @@ in { in with pkgs; [ customVim.tabline-vim customVim.vim-astro + customVim.vim-caser customVim.vim-heritage customVim.vim-just customVim.vim-textobj-xmlattr From fb8ce83e9f3d445d3ec8e2f86c4e4127eb36503d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 18 Jan 2023 09:47:58 +0000 Subject: [PATCH 0108/2258] alacritty: add configuration Add the whole file rather than adding it via Home Manager as that causes a conflict with Pop!_OS where Alacritty is installed via Flatpak rather than via Nix/Home Manager. This may be something to try again in future. --- config/alacritty/alacritty.yml | 23 +++++++++++++++++++++++ home-manager/modules/common.nix | 5 +++++ 2 files changed, 28 insertions(+) create mode 100644 config/alacritty/alacritty.yml diff --git a/config/alacritty/alacritty.yml b/config/alacritty/alacritty.yml new file mode 100644 index 00000000..0ddaa838 --- /dev/null +++ b/config/alacritty/alacritty.yml @@ -0,0 +1,23 @@ +{ + "font": { + "glyph_offset": { + "y": 6 + }, + "normal": { + "family": "JetBrains Mono NL" + }, + "offset": { + "y": 12 + }, + "size": 12 + }, + "shell": { + "program": "zsh" + }, + "window": { + "padding": { + "x": 15, + "y": 15 + } + } +} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 1fc68faa..47f0c64a 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -235,6 +235,11 @@ in { "$HOME/.config/bin" ]; + xdg.configFile.alacritty = { + source = ../../config/alacritty; + recursive = true; + }; + xdg.configFile.bin = { source = ../../bin; recursive = true; From 196f0969f2405c0c5ac4918f528cd7c0036eca48 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Jan 2023 18:12:25 +0000 Subject: [PATCH 0109/2258] nvim: update gitsigns configuration --- config/neovim/after/plugin/gitsigns.lua | 31 +++++++------------------ 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/config/neovim/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua index 3cd84a21..bba022ca 100644 --- a/config/neovim/after/plugin/gitsigns.lua +++ b/config/neovim/after/plugin/gitsigns.lua @@ -1,31 +1,18 @@ -local colorbuddy_status_ok, colorbuddy = pcall(require, "colorbuddy") -if not colorbuddy_status_ok then - return -end - local gitsigns_status_ok, gitsigns = pcall(require, "gitsigns") if not gitsigns_status_ok then return end -local c = require("colorbuddy.color").colors -local Group = require("colorbuddy.group").Group - -Group.new("GitSignsAdd", c.green) -Group.new("GitSignsChange", c.yellow) -Group.new("GitSignsDelete", c.red) - gitsigns.setup { linehl = false, numhl = true, - - signs = { - add = { hl = "GitSignsAdd", text = "│", numhl = "GitSignsAddNr" }, - change = { hl = "GitSignsChange", text = "│", numhl = "GitSignsChangeNr" }, - delete = { hl = "GitSignsDelete", text = "_", numhl = "GitSignsDeleteNr" }, - topdelete = { hl = "GitSignsDelete", text = "‾", numhl = "GitSignsDeleteNr" }, - changedelete = { hl = "GitSignsDelete", text = "~", numhl = "GitSignsChangeNr" }, - }, - - word_diff = false, } + +local actions = require("gitsigns.actions") + +vim.keymap.set('n', '[h', actions.prev_hunk); +vim.keymap.set('n', ']h', actions.next_hunk); +vim.keymap.set('n', 'gS', actions.undo_stage_hunk); +vim.keymap.set('n', 'gb', actions.blame_line); +vim.keymap.set('n', 'gp', actions.preview_hunk); +vim.keymap.set('n', 'gs', actions.stage_hunk); From 4f097c55ce6d1afb59236c7e985e55764ab05494 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 27 Jan 2023 10:00:53 +0000 Subject: [PATCH 0110/2258] nvim: add phpdoc to treesitter --- config/neovim/after/plugin/treesitter.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index 2fa5f0b3..427a120b 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -24,6 +24,7 @@ configs.setup { "make", "markdown", "php", + "phpdoc", "regex", "rst", "scss", From 78526c78187ff7f6e80b91f29bf899135b697838 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 27 Jan 2023 10:01:41 +0000 Subject: [PATCH 0111/2258] flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index d296319e..4573ce75 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -18,11 +18,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1667234164, - "narHash": "sha256-oPMAvHZBDgamjmIQly5+sw2LtfKwY7qcWZZwKiwKQy8=", + "lastModified": 1674771519, + "narHash": "sha256-U0W3S1nX6yEvLh3Vq70EORbmXecAKXfmEfCfaA4A+I8=", "owner": "nix-community", "repo": "home-manager", - "rev": "722e8d65d3aba6f527100cc2d1539e4ca04d066f", + "rev": "bb4b25b302dbf0f527f190461b080b5262871756", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1667144378, - "narHash": "sha256-quxR2b3ZoxA6oLoP8t6TgE3Z7K1hbv5BXFqGq8nbZJY=", + "lastModified": 1674765306, + "narHash": "sha256-IBiRzqXSrldQi+2wU8uq7hb1sLCErN6jKELDKx1WZDg=", "owner": "neovim", "repo": "neovim", - "rev": "19dab2ead2dfc49c24e004fcdbbef6948b7bde94", + "rev": "843c9025ae8b44b14d0908674c8874a51dc13a38", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1667228955, - "narHash": "sha256-9aFWMNBWQnJGyxQznxya/NU+vrx1YRMriZgOIBFdfYY=", + "lastModified": 1674807264, + "narHash": "sha256-dDPNxNvQOoJ802sC6YZdadz3wzQaiBiSOVhqg+uytH8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4796a65f887bad090cfe8261a8bccb5b0ebd9251", + "rev": "cb8652563dade5b874824472125ad6efe0335d02", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1667055375, - "narHash": "sha256-xfSTHYxuKRiqF4dcuAFdti1OUvrC2lHpQqCHWUK5/JA=", + "lastModified": 1674746945, + "narHash": "sha256-xJ5XrXWPHDArSAJtJVBGRQzHu3ESI13zMNjXbnRaAjY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7f9be6a505a31f88499c5d20d11f98accf5ae6ba", + "rev": "e39a949aaa9e4fc652b1619b56e59584e1fc305b", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1667142599, - "narHash": "sha256-OLJxsg9VqfKjFkerOxWtNIkibsCvxsv5A8wNWO1MeWk=", + "lastModified": 1674641431, + "narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "412b9917cea092f3d39f9cd5dead4effd5bc4053", + "rev": "9b97ad7b4330aacda9b2343396eb3df8a853b4fc", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "utils": { "locked": { - "lastModified": 1667077288, - "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { From f4a3b20f9102b8a18016c036e972081f380436c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 30 Jan 2023 21:57:02 +0000 Subject: [PATCH 0112/2258] Add ionotify tools --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 47f0c64a..2d733706 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -18,6 +18,7 @@ in { gh git git-crypt + inotify-tools just tree-sitter htop From 40d3235275ea85caffea400fa359690a74304691 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 30 Jan 2023 21:59:16 +0000 Subject: [PATCH 0113/2258] nvim: hide numbers in terminals --- config/neovim/after/ftplugin/term.vim | 4 ++++ config/neovim/lua/opdavies/options.lua | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 config/neovim/after/ftplugin/term.vim diff --git a/config/neovim/after/ftplugin/term.vim b/config/neovim/after/ftplugin/term.vim new file mode 100644 index 00000000..16bbc95e --- /dev/null +++ b/config/neovim/after/ftplugin/term.vim @@ -0,0 +1,4 @@ +setlocal norelativenumber +setlocal nonumber + +setlocal scrolloff=0 diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 622ec372..6b2d235b 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -31,6 +31,12 @@ local function set_autocmd() set_cursorline("WinLeave", false) set_cursorline("WinEnter", true) set_cursorline("FileType", false, "TelescopePrompt") + + vim.api.nvim_create_autocmd("TermOpen", { + callback = function() + vim.cmd.set "filetype=term" + end, + }) end local function set_filetypes() From a68a4601311afe7e0f1ead98fa972732d8c2bdb9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 30 Jan 2023 22:00:53 +0000 Subject: [PATCH 0114/2258] Add bin scripts --- bin/switch-to-laptop-screen.sh | 7 +++++++ bin/switch-to-monitor.sh | 7 +++++++ bin/watch-changes | 11 +++++++++++ 3 files changed, 25 insertions(+) create mode 100755 bin/switch-to-laptop-screen.sh create mode 100755 bin/switch-to-monitor.sh create mode 100755 bin/watch-changes diff --git a/bin/switch-to-laptop-screen.sh b/bin/switch-to-laptop-screen.sh new file mode 100755 index 00000000..7de579f6 --- /dev/null +++ b/bin/switch-to-laptop-screen.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ueo pipefail + +xrandr \ + --output eDP-1 --mode 1920x1200 \ + --output DP-3 --off diff --git a/bin/switch-to-monitor.sh b/bin/switch-to-monitor.sh new file mode 100755 index 00000000..b6784fff --- /dev/null +++ b/bin/switch-to-monitor.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ueo pipefail + +xrandr \ + --output DP-3 --mode 2560x1440 \ + --output eDP-1 --off diff --git a/bin/watch-changes b/bin/watch-changes new file mode 100755 index 00000000..29e647b9 --- /dev/null +++ b/bin/watch-changes @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ "$1" ] && [ "$2" ]; then + while true + do + inotifywait --event modify --exclude ".null-ls_*" --recursive $1 2> /dev/null + $2 + done +else + echo "usage: watch-changes " +fi From 17b8a7c815dc5e854dd18e06595ff8b086afb0c9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 30 Jan 2023 22:05:32 +0000 Subject: [PATCH 0115/2258] nvim: null-ls: set the temporary directory --- config/neovim/lua/opdavies/lsp/null-ls.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 5fc1c0e4..04eaba0b 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -33,4 +33,5 @@ null_ls.setup { diagnostics.phpstan, diagnostics.shellcheck, }, + temp_dir = "/tmp", } From 555b954c9af8e58be25ec5c7ab08b24c0356dd71 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 30 Jan 2023 22:07:04 +0000 Subject: [PATCH 0116/2258] nvim: treesitter: enable autotag --- config/neovim/after/plugin/treesitter.lua | 3 +++ home-manager/modules/common.nix | 1 + 2 files changed, 4 insertions(+) diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index 427a120b..9efd97e4 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -7,6 +7,9 @@ end local parser_install_dir = vim.fn.stdpath('data') .. "/site"; configs.setup { + autotag = { + enable = true, + }, context_commenting = { enable = true, }, diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 2d733706..aa7dc332 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -164,6 +164,7 @@ in { vimPlugins.neogit vimPlugins.nvim-autopairs vimPlugins.nvim-lastplace + vimPlugins.nvim-ts-autotag vimPlugins.nvim-web-devicons vimPlugins.refactoring-nvim vimPlugins.rest-nvim From fe77f1cfe0346dab667990e152fb8c962c87f94c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 30 Jan 2023 22:08:56 +0000 Subject: [PATCH 0117/2258] Remove pdfpc --- home-manager/modules/common.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index aa7dc332..fbffa32d 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -28,7 +28,6 @@ in { neofetch nodejs nodePackages."http-server" - pdfpc php81 php81Packages.composer platformsh From 1e2fb5ae8bbb7ba8f04749fd2070ba3ad0d69c9e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 31 Jan 2023 07:17:02 +0000 Subject: [PATCH 0118/2258] revert: flake update This reverts commit 78526c78187ff7f6e80b91f29bf899135b697838. --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 4573ce75..d296319e 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -18,11 +18,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1674771519, - "narHash": "sha256-U0W3S1nX6yEvLh3Vq70EORbmXecAKXfmEfCfaA4A+I8=", + "lastModified": 1667234164, + "narHash": "sha256-oPMAvHZBDgamjmIQly5+sw2LtfKwY7qcWZZwKiwKQy8=", "owner": "nix-community", "repo": "home-manager", - "rev": "bb4b25b302dbf0f527f190461b080b5262871756", + "rev": "722e8d65d3aba6f527100cc2d1539e4ca04d066f", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1674765306, - "narHash": "sha256-IBiRzqXSrldQi+2wU8uq7hb1sLCErN6jKELDKx1WZDg=", + "lastModified": 1667144378, + "narHash": "sha256-quxR2b3ZoxA6oLoP8t6TgE3Z7K1hbv5BXFqGq8nbZJY=", "owner": "neovim", "repo": "neovim", - "rev": "843c9025ae8b44b14d0908674c8874a51dc13a38", + "rev": "19dab2ead2dfc49c24e004fcdbbef6948b7bde94", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1674807264, - "narHash": "sha256-dDPNxNvQOoJ802sC6YZdadz3wzQaiBiSOVhqg+uytH8=", + "lastModified": 1667228955, + "narHash": "sha256-9aFWMNBWQnJGyxQznxya/NU+vrx1YRMriZgOIBFdfYY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "cb8652563dade5b874824472125ad6efe0335d02", + "rev": "4796a65f887bad090cfe8261a8bccb5b0ebd9251", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1674746945, - "narHash": "sha256-xJ5XrXWPHDArSAJtJVBGRQzHu3ESI13zMNjXbnRaAjY=", + "lastModified": 1667055375, + "narHash": "sha256-xfSTHYxuKRiqF4dcuAFdti1OUvrC2lHpQqCHWUK5/JA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e39a949aaa9e4fc652b1619b56e59584e1fc305b", + "rev": "7f9be6a505a31f88499c5d20d11f98accf5ae6ba", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1674641431, - "narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=", + "lastModified": 1667142599, + "narHash": "sha256-OLJxsg9VqfKjFkerOxWtNIkibsCvxsv5A8wNWO1MeWk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b97ad7b4330aacda9b2343396eb3df8a853b4fc", + "rev": "412b9917cea092f3d39f9cd5dead4effd5bc4053", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "utils": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1667077288, + "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", "type": "github" }, "original": { From f1391bc6af51fff9e503cfe1689e3a07f9388f8a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 31 Jan 2023 07:45:58 +0000 Subject: [PATCH 0119/2258] chore: update script names --- bin/{switch-to-laptop-screen.sh => switch-to-laptop-screen} | 0 bin/{switch-to-monitor.sh => switch-to-monitor} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bin/{switch-to-laptop-screen.sh => switch-to-laptop-screen} (100%) rename bin/{switch-to-monitor.sh => switch-to-monitor} (100%) diff --git a/bin/switch-to-laptop-screen.sh b/bin/switch-to-laptop-screen similarity index 100% rename from bin/switch-to-laptop-screen.sh rename to bin/switch-to-laptop-screen diff --git a/bin/switch-to-monitor.sh b/bin/switch-to-monitor similarity index 100% rename from bin/switch-to-monitor.sh rename to bin/switch-to-monitor From 25166dad978c9ee9b22f78873cb6b7d1fefaeac0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Feb 2023 20:16:16 +0000 Subject: [PATCH 0120/2258] chore: flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ flake.nix | 6 +++++- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index d296319e..080ff2b5 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -18,11 +18,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1667234164, - "narHash": "sha256-oPMAvHZBDgamjmIQly5+sw2LtfKwY7qcWZZwKiwKQy8=", + "lastModified": 1675637696, + "narHash": "sha256-tilJS8zCS3PaDfVOfsBZ4zspuam8tc7IMZxtGa/K/uo=", "owner": "nix-community", "repo": "home-manager", - "rev": "722e8d65d3aba6f527100cc2d1539e4ca04d066f", + "rev": "c43d4a3d6d9ef8ddbe2438362f5c775b4186000b", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1667144378, - "narHash": "sha256-quxR2b3ZoxA6oLoP8t6TgE3Z7K1hbv5BXFqGq8nbZJY=", + "lastModified": 1675727673, + "narHash": "sha256-OPfaqAzymG17uT0GZtCzPWFh7fCFkvaOhXeKetb3/oo=", "owner": "neovim", "repo": "neovim", - "rev": "19dab2ead2dfc49c24e004fcdbbef6948b7bde94", + "rev": "1391385ba9f83d32f3b6fc54587f03a1d34960d9", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1667228955, - "narHash": "sha256-9aFWMNBWQnJGyxQznxya/NU+vrx1YRMriZgOIBFdfYY=", + "lastModified": 1675757682, + "narHash": "sha256-YVzI3EcYXboikam7EUmJ+LQKon77gU4o1TUlFNPh0W4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4796a65f887bad090cfe8261a8bccb5b0ebd9251", + "rev": "023cdb90659206a1c1dbac74e2a7ebca1cb47cd7", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1667055375, - "narHash": "sha256-xfSTHYxuKRiqF4dcuAFdti1OUvrC2lHpQqCHWUK5/JA=", + "lastModified": 1671983799, + "narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7f9be6a505a31f88499c5d20d11f98accf5ae6ba", + "rev": "fad51abd42ca17a60fc1d4cb9382e2d79ae31836", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1667142599, - "narHash": "sha256-OLJxsg9VqfKjFkerOxWtNIkibsCvxsv5A8wNWO1MeWk=", + "lastModified": 1675673983, + "narHash": "sha256-8hzNh1jtiPxL5r3ICNzSmpSzV7kGb3KwX+FS5BWJUTo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "412b9917cea092f3d39f9cd5dead4effd5bc4053", + "rev": "5a350a8f31bb7ef0c6e79aea3795a890cf7743d4", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "utils": { "locked": { - "lastModified": 1667077288, - "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0773130d..34fa2441 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,11 @@ inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; - neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; + neovim-nightly = { + # workaround: https://github.com/nix-community/neovim-nightly-overlay/issues/164 + inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836"; + url = "github:nix-community/neovim-nightly-overlay"; + }; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; From 1ed3bc8b57d3b9340420997b6a4043fcf918b17d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Feb 2023 20:23:05 +0000 Subject: [PATCH 0121/2258] feat(nvim): use Neovim nightly --- home-manager/modules/common.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index fbffa32d..b52306a3 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -74,6 +74,8 @@ in { programs.neovim = { enable = true; + package = pkgs.neovim-nightly; + plugins = let customVim.vim-astro = pkgs.vimUtils.buildVimPlugin { name = "vim-astro"; From 7cf17e5550a5613eca75b6d88b3f7127fe6c7a07 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Feb 2023 20:23:44 +0000 Subject: [PATCH 0122/2258] feat(nvim): add telescope-live-grep-args --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index b52306a3..2d3cc4d5 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -221,6 +221,7 @@ in { vimPlugins.popup-nvim vimPlugins.telescope-file-browser-nvim vimPlugins.telescope-fzf-native-nvim + vimPlugins.telescope-live-grep-args-nvim vimPlugins.telescope-nvim vimPlugins.telescope-ui-select-nvim From 22a99b42584985f3e1a55f16aff8ac1cf0c40587 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 Feb 2023 07:37:05 +0000 Subject: [PATCH 0123/2258] feat(nvim): try vim-fugitive and vim-rhubarb --- home-manager/modules/common.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 2d3cc4d5..2db2c697 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -162,7 +162,6 @@ in { vimPlugins.harpoon vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim - vimPlugins.neogit vimPlugins.nvim-autopairs vimPlugins.nvim-lastplace vimPlugins.nvim-ts-autotag @@ -185,6 +184,11 @@ in { vimPlugins.vim-unimpaired vimPlugins.vimux + # Git + vimPlugins.vim-fugitive + vimPlugins.vim-rhubarb + vimPlugins.neogit + # Debugging vimPlugins.nvim-dap vimPlugins.nvim-dap-ui From 223412970a94f7e060c72c14b0aea50e1d9ee432 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 12 Feb 2023 09:51:24 +0000 Subject: [PATCH 0124/2258] feat(nvim): add gitsigns to null-ls code actions --- config/neovim/lua/opdavies/lsp/null-ls.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 04eaba0b..ebb82af9 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -14,13 +14,15 @@ end local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -local completion = null_ls.builtins.completion +local code_actions = null_ls.builtins.code_actions local diagnostics = null_ls.builtins.diagnostics local formatting = null_ls.builtins.formatting null_ls.setup { sources = { formatting.phpcbf, + code_actions.gitsigns, + formatting.markdownlint, formatting.prettier, formatting.rustywind, From f603d40156edbec977c8d29e3a8abf248ede5339 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 Feb 2023 09:40:43 +0000 Subject: [PATCH 0125/2258] feat(nvim): automatically find files Run "nvim +GoToFile" to open Neovim and automatically open Telescope to find the file that I need. The idea was taken from @joshmedeski when he mentioned it in a podcast with @nicknisi. https://youtu.be/17o9QrCcF_o https://github.com/joshmedeski/dotfiles/search?q=GoToFile --- config/neovim/lua/opdavies/telescope/mappings.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 44a5c7a0..865618c4 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -41,4 +41,12 @@ local nmap = require("opdavies.keymap").nmap nmap { "gm", telescope.extensions.git_worktree.create_git_worktree } nmap { "gw", telescope.extensions.git_worktree.git_worktrees } +-- Create a command to open Telescope, can be used when starting nvim - +-- "e.g. nvim +GoToFile". +vim.api.nvim_create_user_command( + "GoToFile", + telescope.fd, + {} +) + return telescope_mapper From d5fa2b558b71e1d63f1a221f69d4a9ad306dbe25 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 14 Mar 2023 11:18:53 +0000 Subject: [PATCH 0126/2258] feat: make working with Pulumi in Python nicer --- config/neovim/lua/opdavies/lsp/null-ls.lua | 1 + home-manager/modules/common.nix | 3 +++ 2 files changed, 4 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index ebb82af9..5945118c 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -23,6 +23,7 @@ null_ls.setup { formatting.phpcbf, code_actions.gitsigns, + formatting.black, formatting.markdownlint, formatting.prettier, formatting.rustywind, diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 2db2c697..4e572bcb 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -34,18 +34,21 @@ in { postman pulumi-bin pv + python3Full ripgrep terraform tldr tmuxinator tree unzip + virtualenv wget xcp yarn zoxide # LSP + black gopls html-tidy nodePackages."@ansible/ansible-language-server" From e3f24d02644dfd72f2417ec78052bd590b4a272d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Mar 2023 22:01:40 +0000 Subject: [PATCH 0127/2258] build: flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 080ff2b5..6ee2651b 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1675637696, - "narHash": "sha256-tilJS8zCS3PaDfVOfsBZ4zspuam8tc7IMZxtGa/K/uo=", + "lastModified": 1679394816, + "narHash": "sha256-1V1esJt2YAxsKmRuGuB62RF5vhDAVFDvJXVNhtEO22A=", "owner": "nix-community", "repo": "home-manager", - "rev": "c43d4a3d6d9ef8ddbe2438362f5c775b4186000b", + "rev": "e386ec640e16dc91120977285cb8c72c77078164", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1675727673, - "narHash": "sha256-OPfaqAzymG17uT0GZtCzPWFh7fCFkvaOhXeKetb3/oo=", + "lastModified": 1679346253, + "narHash": "sha256-ti5tQtWp9FmLP/pnm2Uoay+/xvYwjjAguWs6V37vUiI=", "owner": "neovim", "repo": "neovim", - "rev": "1391385ba9f83d32f3b6fc54587f03a1d34960d9", + "rev": "e789d652974226ce3a763e3052a7c3d9898d875e", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1675757682, - "narHash": "sha256-YVzI3EcYXboikam7EUmJ+LQKon77gU4o1TUlFNPh0W4=", + "lastModified": 1679386441, + "narHash": "sha256-ww4vBrci77t0IcVUnVRuEPCxhFMtSG5h7lfMjqqIWc4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "023cdb90659206a1c1dbac74e2a7ebca1cb47cd7", + "rev": "0a880241804f31cb6d51f0eccb519f160b476574", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1675673983, - "narHash": "sha256-8hzNh1jtiPxL5r3ICNzSmpSzV7kGb3KwX+FS5BWJUTo=", + "lastModified": 1679262748, + "narHash": "sha256-DQCrrAFrkxijC6haUzOC5ZoFqpcv/tg2WxnyW3np1Cc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a350a8f31bb7ef0c6e79aea3795a890cf7743d4", + "rev": "60c1d71f2ba4c80178ec84523c2ca0801522e0a6", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "utils": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1676283394, + "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", "type": "github" }, "original": { From 78242026969c346db3b474c308845dd77ac9abf8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Mar 2023 22:02:18 +0000 Subject: [PATCH 0128/2258] build: allow unfree software --- justfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/justfile b/justfile index 5405e796..4fcddd35 100644 --- a/justfile +++ b/justfile @@ -8,7 +8,7 @@ apollo command *args: && clean sudo nixos-rebuild {{ command }} --flake .#apollo {{ args }} pop-os command *args: && clean - home-manager {{ command }} -f home-manager/home.nix --flake .#pop-os {{ args }} + NIXPKGS_ALLOW_UNFREE=1 home-manager {{ command }} -f home-manager/home.nix --impure --flake .#pop-os {{ args }} wsl2 command *args: && clean home-manager {{ command }} -f home-manager/home.nix --flake .#wsl2 {{ args }} From 5581ebc1f3b1972f421025c9499db87149a7fd82 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Mar 2023 22:16:24 +0000 Subject: [PATCH 0129/2258] fix: re-add Ansible language server --- home-manager/modules/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 4e572bcb..27021c57 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -48,10 +48,10 @@ in { zoxide # LSP + ansible-language-server black gopls html-tidy - nodePackages."@ansible/ansible-language-server" nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server From 8b8a9f1ce54880723463c93d98f696b246e89d2a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 22:22:08 +0000 Subject: [PATCH 0130/2258] feat(nvim): config updates --- config/neovim/after/plugin/colorscheme.lua | 58 ++----------------- config/neovim/after/plugin/gitsigns.lua | 14 ++--- config/neovim/after/plugin/nvim-rest.lua | 15 ++--- config/neovim/lua/opdavies/lsp/init.lua | 13 ++++- config/neovim/lua/opdavies/options.lua | 1 + .../lua/opdavies/snippets/ft/markdown.lua | 2 + config/neovim/lua/opdavies/telescope/init.lua | 22 +++++-- .../lua/opdavies/telescope/mappings.lua | 3 +- .../neovim/lua/opdavies/telescope/setup.lua | 36 ++++++++++++ home-manager/modules/common.nix | 5 ++ 10 files changed, 91 insertions(+), 78 deletions(-) diff --git a/config/neovim/after/plugin/colorscheme.lua b/config/neovim/after/plugin/colorscheme.lua index 32c4d156..ec741345 100644 --- a/config/neovim/after/plugin/colorscheme.lua +++ b/config/neovim/after/plugin/colorscheme.lua @@ -1,58 +1,12 @@ -if not pcall(require, "colorbuddy") then +local status_ok, catppuccin = pcall(require, "catppuccin") +if not status_ok then return end +catppuccin.setup {} + vim.opt.termguicolors = true -require "colorbuddy".colorscheme "gruvbuddy" -require "colorizer".setup {} +vim.g.catppuccin_flavour = "mocha" -local Group = require("colorbuddy.group").Group -local c = require("colorbuddy.color").colors -local g = require("colorbuddy.group").groups -local s = require("colorbuddy.style").styles - --- Global --- Group.new("TSComment", c.none) -Group.new("TSInclude", nil) -Group.new("TSOperator", nil) -Group.new("TSPunctBracket", nil) -Group.new("TSPunctDelimiter", nil) -Group.new("WinSeparator", nil) - --- Lua -Group.new("luaTSConstant", c.blue) -Group.new("luaTSField", nil, nil) -Group.new("luaTSFuncBuiltin", nil) -Group.new("luaTSFunction", nil) -Group.new("luaTSKeyword", nil) -Group.new("luaTSKeywordFunction", c.violet) -Group.new("luaTSKeywordOperator", c.orange) -Group.new("luaTSKeywordReturn", nil) -Group.new("luaTSParameter", nil) -Group.new("luaTSPunctBracket", nil) -Group.new("luaTSString", c.blue) -Group.new("luaTSVariable", nil) - --- PHP -Group.new("phpTSInclude", nil) -Group.new("phpTSKeyword", nil) -Group.new("phpTSKeywordFunction", nil) -Group.new("phpTSMethod", c.blue) -Group.new("phpTSOperator", nil) -Group.new("phpTSVariableBuiltin", nil) -Group.new("phpTSNamespace", c.blue) - --- JavaScript -Group.new("javascriptTSConstructor", c.blue) -Group.new("javascriptTSException", c.red) -Group.new("javascriptTSFunction", c.none) -Group.new("javascriptTSMethod", nil) -Group.new("javascriptTSProperty", nil) -Group.new("javascriptTSVariable", c.blue) - --- TypeScript -Group.new("typescriptTSConditional", c.none) -Group.new("typescriptTSKeyword", c.none) -Group.new("typescriptTSProperty", c.violet) -Group.new("typescriptTSType", c.blue) +vim.cmd([[ colorscheme catppuccin ]]) diff --git a/config/neovim/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua index bba022ca..14dfb742 100644 --- a/config/neovim/after/plugin/gitsigns.lua +++ b/config/neovim/after/plugin/gitsigns.lua @@ -8,11 +8,9 @@ gitsigns.setup { numhl = true, } -local actions = require("gitsigns.actions") - -vim.keymap.set('n', '[h', actions.prev_hunk); -vim.keymap.set('n', ']h', actions.next_hunk); -vim.keymap.set('n', 'gS', actions.undo_stage_hunk); -vim.keymap.set('n', 'gb', actions.blame_line); -vim.keymap.set('n', 'gp', actions.preview_hunk); -vim.keymap.set('n', 'gs', actions.stage_hunk); +vim.keymap.set('n', '[h', "Gitsigns prev_hunk"); +vim.keymap.set('n', ']h', "Gitsigns next_hunk"); +vim.keymap.set('n', 'gS', "Gitsigns undo_stage_hunk"); +vim.keymap.set('n', 'gb', "Gitsigns blame_line"); +vim.keymap.set('n', 'gp', "Gitsigns preview_hunk"); +vim.keymap.set('n', 'gs', "Gitsigns stage_hunk"); diff --git a/config/neovim/after/plugin/nvim-rest.lua b/config/neovim/after/plugin/nvim-rest.lua index 1bc5b33f..857a4330 100644 --- a/config/neovim/after/plugin/nvim-rest.lua +++ b/config/neovim/after/plugin/nvim-rest.lua @@ -3,15 +3,10 @@ if not status_ok then return end +rest_nvim.setup() + local nmap = require("opdavies.keymap").nmap --- Run the request. -nmap { "rr", "require('rest-nvim').run()" } - --- Preview the request. -nmap { "rp", "require('rest-nvim').run(true)" } - --- Re-run the last request. -nmap { "rl", "require('rest-nvim').last()" } - -rest_nvim.setup() +nmap { "rr", "RestNvim" } +nmap { "rp", "RestNvimPreview" } +nmap { "rl", "RestNvimLast" } diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 6c800132..c48ca10a 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -36,10 +36,9 @@ local custom_attach = function(client) -- Keymaps buf_inoremap { "", vim.lsp.buf.signature_help } + buf_nnoremap { "[d", vim.diagnostic.goto_prev } + buf_nnoremap { "]d", vim.diagnostic.goto_next } buf_nnoremap { "ca", vim.lsp.buf.code_action } - buf_nnoremap { "dn", vim.diagnostic.goto_next } - buf_nnoremap { "dp", vim.diagnostic.goto_prev } - buf_nnoremap { "f", vim.lsp.buf.format } buf_nnoremap { "rn", vim.lsp.buf.rename } buf_nnoremap { "rr", "LspRestart" } buf_nnoremap { "K", vim.lsp.buf.hover } @@ -159,11 +158,19 @@ for server, config in pairs(servers) do end vim.diagnostic.config { + float = { + source = true, + }, signs = true, underline = false, update_in_insert = false, virtual_text = { spacing = 2 }, } +vim.keymap.set("n", "f", function() + vim.lsp.buf.format { async = true } +end +); + require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 6b2d235b..a5fa4854 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -125,6 +125,7 @@ local function set_vim_o() autoindent = true, backup = true, breakindent = true, + cmdheight = 0, conceallevel = 0, cursorline = true, expandtab = true, diff --git a/config/neovim/lua/opdavies/snippets/ft/markdown.lua b/config/neovim/lua/opdavies/snippets/ft/markdown.lua index c194d2a0..b2a76e46 100644 --- a/config/neovim/lua/opdavies/snippets/ft/markdown.lua +++ b/config/neovim/lua/opdavies/snippets/ft/markdown.lua @@ -13,6 +13,8 @@ local M = { ]], { i(1), i(0) } ), + + link = fmt([[[{}]({}){} ]], { i(1), i(2), i(0) }), } return M diff --git a/config/neovim/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua index c42525ec..c80a8ab7 100644 --- a/config/neovim/lua/opdavies/telescope/init.lua +++ b/config/neovim/lua/opdavies/telescope/init.lua @@ -97,10 +97,16 @@ function M.file_browser() require("telescope").extensions.file_browser.file_browser(opts) end -function M.fd() +function M.find_files() + local opts = themes.get_ivy { + file_ignore_patterns = { ".git/", "**/{core,contrib}", "vendor" }, + } + + require("telescope.builtin").find_files(opts) +end + +function M.find_all_files() local opts = themes.get_ivy { - file_ignore_patterns = { ".git/" }, - hidden = true, no_ignore = true, } @@ -118,7 +124,7 @@ function M.git_files() end function M.live_grep() - require("telescope.builtin").live_grep { + require("telescope").extensions.live_grep_args.live_grep_args { file_ignore_patterns = { ".git/" }, hidden = true, no_ignore = true, @@ -126,6 +132,14 @@ function M.live_grep() } end +function M.oldfiles() + local opts = themes.get_ivy { + prompt_title = "History", + } + + require("telescope").extensions.frecency.frecency(opts) +end + return setmetatable({}, { __index = function(_, k) reloader() diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 865618c4..3b2ba315 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -23,12 +23,13 @@ local telescope_mapper = function(key, f, options, buffer) end telescope_mapper("fb", "buffers") -telescope_mapper("fd", "fd") +telescope_mapper("fd", "find_files") telescope_mapper("fe", "file_browser") telescope_mapper("ff", "current_buf") telescope_mapper("fg", "git_files") telescope_mapper("fh", "help_tags") telescope_mapper("fl", "live_grep") +telescope_mapper("fo", "oldfiles") telescope_mapper("ds", "lsp_document_symbols") telescope_mapper("dl", "diagnostics") diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua index c0abbf07..5d2643f8 100644 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ b/config/neovim/lua/opdavies/telescope/setup.lua @@ -28,10 +28,16 @@ end local action_layout = require "telescope.actions.layout" local actions = require "telescope.actions" +local lga_actions = require "telescope-live-grep-args.actions" telescope.setup { defaults = { buffer_previewer_maker = new_maker, + file_ignore_patterns = { '.git/' }, + layout_config = { + prompt_position = 'top', + }, + mappings = { i = { [""] = actions.which_key, @@ -41,8 +47,28 @@ telescope.setup { [""] = action_layout.toggle_preview, }, }, + no_ignore = true, + path_display = { truncate = 1 }, prompt_prefix = "$ ", + sorting_strategy = 'ascending', + }, + + pickers = { + find_files = { + hidden = true, + }, + + buffers = { + previewer = false, + layout_config = { + width = 80, + }, + }, + + lsp_references = { + previewer = false, + }, }, extensions = { @@ -50,6 +76,16 @@ telescope.setup { theme = "ivy", }, + live_grep_args = { + auto_quoting = true, + mappings = { + i = { + [""] = lga_actions.quote_prompt {}, + [""] = lga_actions.quote_prompt { postfix = " --iglob " }, + }, + }, + }, + ["ui-select"] = { require("telescope.themes").get_dropdown {}, }, diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 27021c57..07055eb7 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -52,6 +52,7 @@ in { black gopls html-tidy + lua53Packages.lua-lsp nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server @@ -158,6 +159,8 @@ in { customVim.vim-textobj-xmlattr customVim.vim-visual-star-search + vimPlugins.catppuccin-nvim + vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.git-worktree-nvim @@ -176,6 +179,7 @@ in { vimPlugins.vim-eunuch vimPlugins.vim-floaterm vimPlugins.vim-highlightedyank + vimPlugins.vim-nix vimPlugins.vim-pasta vimPlugins.vim-polyglot vimPlugins.vim-repeat @@ -227,6 +231,7 @@ in { vimPlugins.plenary-nvim vimPlugins.popup-nvim vimPlugins.telescope-file-browser-nvim + vimPlugins.telescope-frecency-nvim vimPlugins.telescope-fzf-native-nvim vimPlugins.telescope-live-grep-args-nvim vimPlugins.telescope-nvim From f419f2bd52d1788b3fe5fd568584393a89882cc3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 22:26:30 +0000 Subject: [PATCH 0131/2258] feat(zsh): update plugins --- home-manager/modules/zsh.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 1b158da6..11558442 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -14,11 +14,11 @@ }; initExtra = '' - if [ -f ~/.config/zsh/.p10k.zsh ]; then - . ~/.config/zsh/.p10k.zsh - fi eval "$(zoxide init zsh)" + # Plugins + source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" + source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" # Case insensitive autocompletion. zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" @@ -106,8 +106,9 @@ enable = true; plugins = [ + { name = "plugin/git"; tags = [from:oh-my-zsh]; } + { name = "plugin/vi-mode"; tags = [from:oh-my-zsh]; } { name = "mollifier/cd-gitroot"; } - { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } { name = "zsh-users/zsh-autosuggestions"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } From 2fb374530770546a44c2e74bb626db2175e32a07 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 22:46:08 +0000 Subject: [PATCH 0132/2258] Update common.nix --- home-manager/modules/common.nix | 57 +++++++++++++++++---------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 07055eb7..7d140561 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -47,31 +47,6 @@ in { yarn zoxide - # LSP - ansible-language-server - black - gopls - html-tidy - lua53Packages.lua-lsp - nodePackages."@astrojs/language-server" - nodePackages."@tailwindcss/language-server" - nodePackages.bash-language-server - nodePackages.dockerfile-language-server-nodejs - nodePackages.eslint - nodePackages.intelephense - nodePackages.markdownlint-cli - nodePackages.prettier - nodePackages.typescript - nodePackages.typescript-language-server - nodePackages.vls - nodePackages.vscode-langservers-extracted - nodePackages.yaml-language-server - php81Packages.phpcbf - php81Packages.phpcs - php81Packages.phpstan - rnix-lsp - shellcheck - sumneko-lua-language-server ]; programs.bat.enable = true; @@ -159,8 +134,6 @@ in { customVim.vim-textobj-xmlattr customVim.vim-visual-star-search - vimPlugins.catppuccin-nvim - vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.git-worktree-nvim @@ -243,7 +216,35 @@ in { vimPlugins.vim-dadbod-completion # Themes - vimPlugins.onedark-nvim + vimPlugins.catppuccin-nvim + ]; + + extraPackages = with pkgs; [ + ansible-language-server + black + gopls + html-tidy + lua53Packages.lua-lsp + nodePackages."@astrojs/language-server" + nodePackages."@tailwindcss/language-server" + nodePackages.bash-language-server + nodePackages.dockerfile-language-server-nodejs + nodePackages.eslint + nodePackages.intelephense + nodePackages.markdownlint-cli + nodePackages.prettier + nodePackages.typescript + nodePackages.typescript-language-server + nodePackages.vls + nodePackages.vscode-langservers-extracted + nodePackages.yaml-language-server + php81Packages.phpcbf + php81Packages.phpcs + php81Packages.phpstan + proselint + rnix-lsp + shellcheck + sumneko-lua-language-server ]; }; From 401c9e4660338f5376a09245e0723b8c82ccd5bc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 22:48:06 +0000 Subject: [PATCH 0133/2258] chore(nvim): remove sumneko-lua-language-server --- home-manager/modules/common.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 7d140561..ac8fb01e 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -244,7 +244,6 @@ in { proselint rnix-lsp shellcheck - sumneko-lua-language-server ]; }; From 8211af71e3939a22eaf68721e7bdbd6f2cc6035c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 22:56:56 +0000 Subject: [PATCH 0134/2258] refactor(packages): add packages.nix --- home-manager/modules/common.nix | 43 +------------------------------ home-manager/modules/packages.nix | 43 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 42 deletions(-) create mode 100644 home-manager/modules/packages.nix diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index ac8fb01e..a7b57e2f 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -6,48 +6,7 @@ in { "postman" ]; - home.packages = with pkgs; [ - bottom - ctop - delta - doppler - exa - file - fzf - gcc - gh - git - git-crypt - inotify-tools - just - tree-sitter - htop - jq - lua - mysql - neofetch - nodejs - nodePackages."http-server" - php81 - php81Packages.composer - platformsh - postman - pulumi-bin - pv - python3Full - ripgrep - terraform - tldr - tmuxinator - tree - unzip - virtualenv - wget - xcp - yarn - zoxide - - ]; + home.packages = (import ./packages.nix) { inherit pkgs; }; programs.bat.enable = true; diff --git a/home-manager/modules/packages.nix b/home-manager/modules/packages.nix new file mode 100644 index 00000000..c92cf01e --- /dev/null +++ b/home-manager/modules/packages.nix @@ -0,0 +1,43 @@ +{ pkgs, ... }: + +with pkgs; [ + bottom + ctop + delta + doppler + exa + file + fzf + gcc + gh + git + git-crypt + inotify-tools + just + tree-sitter + htop + jq + lua + mysql + neofetch + nodejs + nodePackages."http-server" + php81 + php81Packages.composer + platformsh + postman + pulumi-bin + pv + python3Full + ripgrep + terraform + tldr + tmuxinator + tree + unzip + virtualenv + wget + xcp + yarn + zoxide +] From 6771dd33d404d7883f3e9e08705bf98ebf43f85b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 22:59:58 +0000 Subject: [PATCH 0135/2258] chore: remove zoxide --- home-manager/modules/zsh.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 11558442..6654cbed 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -15,7 +15,6 @@ initExtra = '' - eval "$(zoxide init zsh)" # Plugins source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" From 8a22a861d46544f19d0e1a1f1336402b66b251cf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 23:21:57 +0000 Subject: [PATCH 0136/2258] refactor(nvim): move custom plugins to an overlay --- configuration/pop-os/default.nix | 7 ++- configuration/shared/nixpkgs.nix | 7 +++ configuration/shared/overlays.nix | 73 +++++++++++++++++++++++++++++++ home-manager/modules/common.nix | 72 +----------------------------- 4 files changed, 87 insertions(+), 72 deletions(-) create mode 100644 configuration/shared/nixpkgs.nix create mode 100644 configuration/shared/overlays.nix diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix index 008cf1d7..7b49010e 100644 --- a/configuration/pop-os/default.nix +++ b/configuration/pop-os/default.nix @@ -1,5 +1,8 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: +let + nixpkgs = import ../shared/nixpkgs.nix { }; +in { imports = [ ../../home-manager/modules/common.nix @@ -9,6 +12,8 @@ ../../home-manager/modules/zsh.nix ]; + nixpkgs = nixpkgs; + fonts.fontconfig.enable = true; home.packages = with pkgs; [ diff --git a/configuration/shared/nixpkgs.nix b/configuration/shared/nixpkgs.nix new file mode 100644 index 00000000..c0aa10c3 --- /dev/null +++ b/configuration/shared/nixpkgs.nix @@ -0,0 +1,7 @@ +{ }: { + config = { + allowUnfree = true; + }; + + overlays = [ (import ./overlays.nix) ]; +} diff --git a/configuration/shared/overlays.nix b/configuration/shared/overlays.nix new file mode 100644 index 00000000..1095d1dc --- /dev/null +++ b/configuration/shared/overlays.nix @@ -0,0 +1,73 @@ +self: super: { + customVim = with self; { + vim-astro = pkgs.vimUtils.buildVimPlugin { + name = "vim-astro"; + src = pkgs.fetchFromGitHub { + owner = "wuelnerdotexe"; + repo = "vim-astro"; + rev = "main"; + sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; + }; + }; + + vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-just = pkgs.vimUtils.buildVimPlugin { + name = "vim-just"; + src = pkgs.fetchFromGitHub { + owner = "NoahTheDuke"; + repo = "vim-just"; + rev = "838c9096d4c5d64d1000a6442a358746324c2123"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "master"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { + name = "vim-visual-star-search"; + src = pkgs.fetchFromGitHub { + owner = "nelstrom"; + repo = "vim-visual-star-search"; + rev = "37259722f45996733fd309add61385a4ad88bdb9"; + sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; + }; + }; + }; +} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index a7b57e2f..d13d0c69 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -14,77 +14,7 @@ in { enable = true; package = pkgs.neovim-nightly; - plugins = let - customVim.vim-astro = pkgs.vimUtils.buildVimPlugin { - name = "vim-astro"; - src = pkgs.fetchFromGitHub { - owner = "wuelnerdotexe"; - repo = "vim-astro"; - rev = "main"; - sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; - }; - }; - - customVim.vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - customVim.vim-just = pkgs.vimUtils.buildVimPlugin { - name = "vim-just"; - src = pkgs.fetchFromGitHub { - owner = "NoahTheDuke"; - repo = "vim-just"; - rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - customVim.vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - customVim.tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - customVim.vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "master"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - customVim.vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { - name = "vim-visual-star-search"; - src = pkgs.fetchFromGitHub { - owner = "nelstrom"; - repo = "vim-visual-star-search"; - rev = "37259722f45996733fd309add61385a4ad88bdb9"; - sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; - }; - }; - in with pkgs; [ + plugins = with pkgs; [ customVim.tabline-vim customVim.vim-astro customVim.vim-caser From 98a47d867ea49d7b0a99b3d3e46fc30eb3933cb8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 23:47:48 +0000 Subject: [PATCH 0137/2258] refactor: change `configuration` to `system` --- configuration/pop-os/default.nix | 22 ------------------- configuration/wsl2/default.nix | 11 ---------- flake.nix | 6 ++--- .../nixos}/apollo/configuration.nix | 0 {nixos => system/nixos}/apollo/default.nix | 0 .../nixos}/apollo/hardware-configuration.nix | 0 system/pop-os.nix | 22 +++++++++++++++++++ {configuration => system}/shared/nixpkgs.nix | 0 {configuration => system}/shared/overlays.nix | 0 system/wsl2.nix | 11 ++++++++++ 10 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 configuration/pop-os/default.nix delete mode 100644 configuration/wsl2/default.nix rename {nixos => system/nixos}/apollo/configuration.nix (100%) rename {nixos => system/nixos}/apollo/default.nix (100%) rename {nixos => system/nixos}/apollo/hardware-configuration.nix (100%) create mode 100644 system/pop-os.nix rename {configuration => system}/shared/nixpkgs.nix (100%) rename {configuration => system}/shared/overlays.nix (100%) create mode 100644 system/wsl2.nix diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix deleted file mode 100644 index 7b49010e..00000000 --- a/configuration/pop-os/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ pkgs, ... }: - -let - nixpkgs = import ../shared/nixpkgs.nix { }; -in -{ - imports = [ - ../../home-manager/modules/common.nix - ../../home-manager/modules/git.nix - ../../home-manager/modules/home-manager.nix - ../../home-manager/modules/tmux.nix - ../../home-manager/modules/zsh.nix - ]; - - nixpkgs = nixpkgs; - - fonts.fontconfig.enable = true; - - home.packages = with pkgs; [ - jetbrains-mono - ]; -} diff --git a/configuration/wsl2/default.nix b/configuration/wsl2/default.nix deleted file mode 100644 index de6afe33..00000000 --- a/configuration/wsl2/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - imports = [ - ../../home-manager/modules/common.nix - ../../home-manager/modules/git.nix - ../../home-manager/modules/home-manager.nix - ../../home-manager/modules/tmux.nix - ../../home-manager/modules/zsh.nix - ]; -} diff --git a/flake.nix b/flake.nix index 34fa2441..d01e2aca 100644 --- a/flake.nix +++ b/flake.nix @@ -19,7 +19,7 @@ apollo = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - ./nixos/apollo/configuration.nix + ./system/nixos/apollo/configuration.nix { nixpkgs.overlays = overlays; } home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; @@ -34,7 +34,7 @@ pop-os = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./configuration/pop-os + ./system/pop-os.nix ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; @@ -42,7 +42,7 @@ wsl2 = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } - ./configuration/wsl2 + ./system/wsl2.nix ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; diff --git a/nixos/apollo/configuration.nix b/system/nixos/apollo/configuration.nix similarity index 100% rename from nixos/apollo/configuration.nix rename to system/nixos/apollo/configuration.nix diff --git a/nixos/apollo/default.nix b/system/nixos/apollo/default.nix similarity index 100% rename from nixos/apollo/default.nix rename to system/nixos/apollo/default.nix diff --git a/nixos/apollo/hardware-configuration.nix b/system/nixos/apollo/hardware-configuration.nix similarity index 100% rename from nixos/apollo/hardware-configuration.nix rename to system/nixos/apollo/hardware-configuration.nix diff --git a/system/pop-os.nix b/system/pop-os.nix new file mode 100644 index 00000000..c264a925 --- /dev/null +++ b/system/pop-os.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: + +let + nixpkgs = import ./shared/nixpkgs.nix { }; +in +{ + imports = [ + ../home-manager/modules/common.nix + ../home-manager/modules/git.nix + ../home-manager/modules/home-manager.nix + ../home-manager/modules/tmux.nix + ../home-manager/modules/zsh.nix + ]; + + nixpkgs = nixpkgs; + + fonts.fontconfig.enable = true; + + home.packages = with pkgs; [ + jetbrains-mono + ]; +} diff --git a/configuration/shared/nixpkgs.nix b/system/shared/nixpkgs.nix similarity index 100% rename from configuration/shared/nixpkgs.nix rename to system/shared/nixpkgs.nix diff --git a/configuration/shared/overlays.nix b/system/shared/overlays.nix similarity index 100% rename from configuration/shared/overlays.nix rename to system/shared/overlays.nix diff --git a/system/wsl2.nix b/system/wsl2.nix new file mode 100644 index 00000000..ff8cddc9 --- /dev/null +++ b/system/wsl2.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../home-manager/modules/common.nix + ../home-manager/modules/git.nix + ../home-manager/modules/home-manager.nix + ../home-manager/modules/tmux.nix + ../home-manager/modules/zsh.nix + ]; +} From 07bc20fc817410b24545792f1476514521360e51 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 23 Mar 2023 00:04:39 +0000 Subject: [PATCH 0138/2258] chore(packages): remove zoxide --- home-manager/modules/packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/packages.nix b/home-manager/modules/packages.nix index c92cf01e..2ac9ae6c 100644 --- a/home-manager/modules/packages.nix +++ b/home-manager/modules/packages.nix @@ -39,5 +39,4 @@ with pkgs; [ wget xcp yarn - zoxide ] From cc7aaa2144722e8370fad63bd45ae9e68a026da5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 23 Mar 2023 21:28:52 +0000 Subject: [PATCH 0139/2258] feat: change Caps Lock behaviour on Pop!_OS --- home-manager/modules/zsh.nix | 5 +++++ system/pop-os.nix | 2 ++ 2 files changed, 7 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 6654cbed..b1f500aa 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -14,6 +14,11 @@ }; initExtra = '' + # Make Caps Lock behave like Ctrl. + setxkbmap -option ctrl:nocaps + + # Make short-pressed Ctrl behave like Escape. + xcape -e 'Control_L=Escape' # Plugins source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" diff --git a/system/pop-os.nix b/system/pop-os.nix index c264a925..da30dd8c 100644 --- a/system/pop-os.nix +++ b/system/pop-os.nix @@ -17,6 +17,8 @@ in fonts.fontconfig.enable = true; home.packages = with pkgs; [ + gnome.gnome-tweaks jetbrains-mono + xcape ]; } From c206afb3b0a163f1163f19063c8663e79d1e8bad Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 23 Mar 2023 21:31:09 +0000 Subject: [PATCH 0140/2258] build(deps): flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6ee2651b..1ce718ca 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1679394816, - "narHash": "sha256-1V1esJt2YAxsKmRuGuB62RF5vhDAVFDvJXVNhtEO22A=", + "lastModified": 1679480702, + "narHash": "sha256-npuRD61YmxUPitI1TqKwlxLrU6iGl5E+BPT196LgUDo=", "owner": "nix-community", "repo": "home-manager", - "rev": "e386ec640e16dc91120977285cb8c72c77078164", + "rev": "363c46b2480f1b73ec37cf68caac61f5daa82a2e", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679346253, - "narHash": "sha256-ti5tQtWp9FmLP/pnm2Uoay+/xvYwjjAguWs6V37vUiI=", + "lastModified": 1679556473, + "narHash": "sha256-1kABkonN3VFGTUqb5vKCd5vrU182FGKww67KdnZ6QdQ=", "owner": "neovim", "repo": "neovim", - "rev": "e789d652974226ce3a763e3052a7c3d9898d875e", + "rev": "ea0b66d208dbcd5d5c0a17810596d769c7a0b6dd", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679386441, - "narHash": "sha256-ww4vBrci77t0IcVUnVRuEPCxhFMtSG5h7lfMjqqIWc4=", + "lastModified": 1679559242, + "narHash": "sha256-2qQlbQPLRLmMgbFsY48qnMmgBlCsN9onqpZHx6DPXG0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0a880241804f31cb6d51f0eccb519f160b476574", + "rev": "583c7d315e87975b3a226cafd3ac099b8fdd0b6b", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679262748, - "narHash": "sha256-DQCrrAFrkxijC6haUzOC5ZoFqpcv/tg2WxnyW3np1Cc=", + "lastModified": 1679437018, + "narHash": "sha256-vOuiDPLHSEo/7NkiWtxpHpHgoXoNmrm+wkXZ6a072Fc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60c1d71f2ba4c80178ec84523c2ca0801522e0a6", + "rev": "19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e", "type": "github" }, "original": { From 70f37ec8aef6e03ad812d49c08c44be6e15b7878 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Mar 2023 14:26:35 +0100 Subject: [PATCH 0141/2258] chore: update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 1ce718ca..c7a14167 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1679480702, - "narHash": "sha256-npuRD61YmxUPitI1TqKwlxLrU6iGl5E+BPT196LgUDo=", + "lastModified": 1680000368, + "narHash": "sha256-TlgC4IJ7aotynUdkGRtaAVxquaiddO38Ws89nB7VGY8=", "owner": "nix-community", "repo": "home-manager", - "rev": "363c46b2480f1b73ec37cf68caac61f5daa82a2e", + "rev": "765e4007b6f9f111469a25d1df6540e8e0ca73a6", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679556473, - "narHash": "sha256-1kABkonN3VFGTUqb5vKCd5vrU182FGKww67KdnZ6QdQ=", + "lastModified": 1680076741, + "narHash": "sha256-Xc4IY54hYDnHotzYGoqvdQWwi19jy6gpt0hNiw4X8r0=", "owner": "neovim", "repo": "neovim", - "rev": "ea0b66d208dbcd5d5c0a17810596d769c7a0b6dd", + "rev": "b7748662ed5b06c12a74560690b728fdf770666f", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679559242, - "narHash": "sha256-2qQlbQPLRLmMgbFsY48qnMmgBlCsN9onqpZHx6DPXG0=", + "lastModified": 1680077682, + "narHash": "sha256-d8NDUvTAR5ff+RbL5hS8P2xBcTjeTyEDe6o7GiPwVPI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "583c7d315e87975b3a226cafd3ac099b8fdd0b6b", + "rev": "6cf1e98e9ec0b48f6f20035fbcae63ef1d6ae18e", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679437018, - "narHash": "sha256-vOuiDPLHSEo/7NkiWtxpHpHgoXoNmrm+wkXZ6a072Fc=", + "lastModified": 1679944645, + "narHash": "sha256-e5Qyoe11UZjVfgRfwNoSU57ZeKuEmjYb77B9IVW7L/M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e", + "rev": "4bb072f0a8b267613c127684e099a70e1f6ff106", "type": "github" }, "original": { From 4e5ab169377b463f81d0d689132c5acbe68347c9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 30 Mar 2023 19:15:51 +0100 Subject: [PATCH 0142/2258] feat: initial commit of NixOS on my Infinitybook --- flake.nix | 85 ++++++----- home-manager/modules/common.nix | 14 +- home-manager/nixedo.nix | 49 +++++++ justfile | 4 +- system/nixos/nixedo/configuration.nix | 136 ++++++++++++++++++ .../nixos/nixedo/hardware-configuration.nix | 43 ++++++ 6 files changed, 286 insertions(+), 45 deletions(-) create mode 100644 home-manager/nixedo.nix create mode 100644 system/nixos/nixedo/configuration.nix create mode 100644 system/nixos/nixedo/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index d01e2aca..fcb86767 100644 --- a/flake.nix +++ b/flake.nix @@ -3,49 +3,62 @@ inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; - neovim-nightly = { - # workaround: https://github.com/nix-community/neovim-nightly-overlay/issues/164 - inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836"; - url = "github:nix-community/neovim-nightly-overlay"; - }; + # workaround: https://github.com/nix-community/neovim-nightly-overlay/issues/164 + neovim-nightly.inputs.nixpkgs.url = + "github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836"; + neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = { self, home-manager, neovim-nightly, nixpkgs, ... }: - let - overlays = [ neovim-nightly.overlay ]; - in { - nixosConfigurations = { - apollo = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./system/nixos/apollo/configuration.nix - { nixpkgs.overlays = overlays; } - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.opdavies = import ./home-manager/apollo.nix; - } - ]; - }; - }; + let overlays = [ neovim-nightly.overlay ]; + in { + nixosConfigurations = { + apollo = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; - homeConfigurations = { - pop-os = home-manager.lib.homeManagerConfiguration { - modules = [ - { nixpkgs.overlays = overlays; } - ./system/pop-os.nix - ]; - pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ + { nixpkgs.overlays = overlays; } + + ./system/nixos/apollo/configuration.nix + + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.opdavies = import ./home-manager/apollo.nix; + } + ]; + }; + + nixedo = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + + modules = [ + { nixpkgs.overlays = overlays; } + + ./system/nixos/nixedo/configuration.nix + + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.opdavies = import ./home-manager/nixedo.nix; + } + ]; + }; }; - wsl2 = home-manager.lib.homeManagerConfiguration { - modules = [ - { nixpkgs.overlays = overlays; } - ./system/wsl2.nix - ]; - pkgs = nixpkgs.legacyPackages.x86_64-linux; + homeConfigurations = { + pop-os = home-manager.lib.homeManagerConfiguration { + modules = [ { nixpkgs.overlays = overlays; } ./system/pop-os.nix ]; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + }; + + wsl2 = home-manager.lib.homeManagerConfiguration { + modules = [ { nixpkgs.overlays = overlays; } ./system/wsl2.nix ]; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + }; }; }; - }; } diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index d13d0c69..fe071058 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -15,13 +15,13 @@ in { package = pkgs.neovim-nightly; plugins = with pkgs; [ - customVim.tabline-vim - customVim.vim-astro - customVim.vim-caser - customVim.vim-heritage - customVim.vim-just - customVim.vim-textobj-xmlattr - customVim.vim-visual-star-search +# customVim.tabline-vim +# customVim.vim-astro +# customVim.vim-caser +# customVim.vim-heritage +# customVim.vim-just +# customVim.vim-textobj-xmlattr +# customVim.vim-visual-star-search vimPlugins.comment-nvim vimPlugins.dial-nvim diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix new file mode 100644 index 00000000..621a2076 --- /dev/null +++ b/home-manager/nixedo.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./modules/common.nix + ./modules/git.nix + ./modules/home-manager.nix + ./modules/tmux.nix + ./modules/zsh.nix + ]; + + home.stateVersion = "22.05"; + + home.username = "opdavies"; + home.homeDirectory = "/home/opdavies"; + + programs.alacritty = { + enable = true; + + settings = { + window.padding = { + x = 15; + y = 15; + }; + + font = { + size = 12.0; + + normal.family = "JetBrainsMono Nerd Font"; + + offset.y = 12; + glyph_offset.y = 6; + }; + + shell = { + program = "zsh"; + }; + }; + }; + + home.packages = with pkgs; [ + discord + slack + teams + vlc + xcape + zoom-us + ]; +} diff --git a/justfile b/justfile index 4fcddd35..7d3a22d0 100644 --- a/justfile +++ b/justfile @@ -4,8 +4,8 @@ default: clean: rm -rf ./result -apollo command *args: && clean - sudo nixos-rebuild {{ command }} --flake .#apollo {{ args }} +nixos command profile: && clean + sudo nixos-rebuild {{ command }} --flake .#{{ profile }} pop-os command *args: && clean NIXPKGS_ALLOW_UNFREE=1 home-manager {{ command }} -f home-manager/home.nix --impure --flake .#pop-os {{ args }} diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix new file mode 100644 index 00000000..30a40e5a --- /dev/null +++ b/system/nixos/nixedo/configuration.nix @@ -0,0 +1,136 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.efi.efiSysMountPoint = "/boot/efi"; + + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = "nixedo"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the KDE Plasma Desktop Environment. + services.xserver.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; + + # Configure keymap in X11 + services.xserver = { + layout = "gb"; + xkbVariant = ""; + }; + + # Configure console keymap + console.keyMap = "uk"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.opdavies = { + isNormalUser = true; + description = "Oliver Davies"; + extraGroups = [ "docker" "networkmanager" "wheel" ]; + packages = with pkgs; [ firefox ]; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; + [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + + virtualisation.docker.enable = true; +} + diff --git a/system/nixos/nixedo/hardware-configuration.nix b/system/nixos/nixedo/hardware-configuration.nix new file mode 100644 index 00000000..6cb9d0d3 --- /dev/null +++ b/system/nixos/nixedo/hardware-configuration.nix @@ -0,0 +1,43 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot.initrd.availableKernelModules = + [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.kernelParams = [ "i8042.reset" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/7c6d69ec-ba06-4ddb-b9c4-62b3994fda91"; + fsType = "ext4"; + }; + + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/B729-9A75"; + fsType = "vfat"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/5db0a0e6-93fb-4d0b-8fb0-fdb3cb76b89d"; }]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s13f0u1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.bluetooth.enable = true; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; + +} From ca495583065ebc74254fd486cf716fa6e83cb132 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 4 Apr 2023 17:07:51 +0100 Subject: [PATCH 0143/2258] chore: remove Pop!_OS configuration This is no longer needed as my laptop is running NixOS again. --- flake.nix | 5 ----- justfile | 11 ++++------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index fcb86767..230f3cd5 100644 --- a/flake.nix +++ b/flake.nix @@ -50,11 +50,6 @@ }; homeConfigurations = { - pop-os = home-manager.lib.homeManagerConfiguration { - modules = [ { nixpkgs.overlays = overlays; } ./system/pop-os.nix ]; - pkgs = nixpkgs.legacyPackages.x86_64-linux; - }; - wsl2 = home-manager.lib.homeManagerConfiguration { modules = [ { nixpkgs.overlays = overlays; } ./system/wsl2.nix ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; diff --git a/justfile b/justfile index 7d3a22d0..7ef93f16 100644 --- a/justfile +++ b/justfile @@ -7,11 +7,8 @@ clean: nixos command profile: && clean sudo nixos-rebuild {{ command }} --flake .#{{ profile }} -pop-os command *args: && clean - NIXPKGS_ALLOW_UNFREE=1 home-manager {{ command }} -f home-manager/home.nix --impure --flake .#pop-os {{ args }} +wsl2 command: && clean + home-manager {{ command }} -f home-manager/home.nix --flake .#wsl2 -wsl2 command *args: && clean - home-manager {{ command }} -f home-manager/home.nix --flake .#wsl2 {{ args }} - -update *args: - nix flake update {{ args }} +update: + nix flake update From 6974d288a528a6a504f93916f06c52c9e8411a63 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 18:00:00 +0100 Subject: [PATCH 0144/2258] feat(nvim): add vim and vi aliases --- home-manager/modules/common.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index fe071058..fb4dfa7a 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -13,6 +13,8 @@ in { programs.neovim = { enable = true; package = pkgs.neovim-nightly; + viAlias = true; + vimAlias = true; plugins = with pkgs; [ # customVim.tabline-vim From 5a08bdc7ea9b68a44cedf14c6439148da87c4d28 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 18:00:00 +0100 Subject: [PATCH 0145/2258] chore(git): remove the `g` function This is now used as an alias for `git`. --- home-manager/modules/zsh.nix | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index b1f500aa..e4ffa75c 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -28,18 +28,6 @@ zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit - # No arguments: `git status` - # With arguments: acts like `git` - g() { - if [[ $# -gt 0 ]]; then - git "$@" - else - git status - fi - } - - compdef g=git - clear-ls-all() { clear exa -al From dacc6af97e4c16e51e002a067547c0bdcb8f2feb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 18:00:00 +0100 Subject: [PATCH 0146/2258] build(justfile): swap profile and command ...arguments --- justfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/justfile b/justfile index 7ef93f16..d6cd3568 100644 --- a/justfile +++ b/justfile @@ -4,7 +4,7 @@ default: clean: rm -rf ./result -nixos command profile: && clean +nixos profile command: && clean sudo nixos-rebuild {{ command }} --flake .#{{ profile }} wsl2 command: && clean From d66f5362cb1c0e3c106e1c24f2fb24e7ff3aded6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 18:00:00 +0100 Subject: [PATCH 0147/2258] fix(zsh): set zsh as the default shell --- system/nixos/nixedo/configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 30a40e5a..c63a96ca 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -132,5 +132,10 @@ system.stateVersion = "22.11"; # Did you read the comment? virtualisation.docker.enable = true; + + programs.zsh.enable = true; + programs.zsh.histSize = 5000; + + users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; } From 601f6b3373d9ebf2a2683d880f7a84e2717e3bcf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 18:00:00 +0100 Subject: [PATCH 0148/2258] fix: fix customVim overlay in NixOS --- home-manager/modules/common.nix | 14 +++++++------- system/nixos/nixedo/configuration.nix | 8 +++++--- system/shared/overlays.nix | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index fb4dfa7a..39869a32 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -17,13 +17,13 @@ in { vimAlias = true; plugins = with pkgs; [ -# customVim.tabline-vim -# customVim.vim-astro -# customVim.vim-caser -# customVim.vim-heritage -# customVim.vim-just -# customVim.vim-textobj-xmlattr -# customVim.vim-visual-star-search + customVim.tabline-vim + customVim.vim-astro + customVim.vim-caser + customVim.vim-heritage + customVim.vim-just + customVim.vim-textobj-xmlattr + customVim.vim-visual-star-search vimPlugins.comment-nvim vimPlugins.dial-nvim diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index c63a96ca..7dea4c94 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -4,7 +4,12 @@ { config, pkgs, ... }: +let + nixpkgs = import ../../shared/nixpkgs.nix { }; +in { + nixpkgs = nixpkgs; + imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; @@ -93,9 +98,6 @@ packages = with pkgs; [ firefox ]; }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; diff --git a/system/shared/overlays.nix b/system/shared/overlays.nix index 1095d1dc..ad7b96f7 100644 --- a/system/shared/overlays.nix +++ b/system/shared/overlays.nix @@ -26,7 +26,7 @@ self: super: { owner = "NoahTheDuke"; repo = "vim-just"; rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; }; }; From 1a9b54fff92acfa3d0c356259c5199116388a703 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 23:09:27 +0100 Subject: [PATCH 0149/2258] fix(zsh): add prompt with zplug --- home-manager/modules/zsh.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index e4ffa75c..8ceca66f 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -5,14 +5,6 @@ enableCompletion = false; dotDir = ".config/zsh"; - shellAliases = { - fetch = "git fetch --all --jobs=4 --progress --prune"; - run = "./run"; - pull = "git pull --autostash --jobs=4 --summary origin"; - rebase = "git rebase --autostash --stat"; - update = "fetch && rebase"; - }; - initExtra = '' # Make Caps Lock behave like Ctrl. setxkbmap -option ctrl:nocaps @@ -88,6 +80,12 @@ bindkey " " expand-alias-space bindkey -M isearch " " magic-space + ialias fetch="git fetch --all --jobs=4 --progress --prune" + ialias run="./run" + ialias pull="git pull --autostash --jobs=4 --summary origin" + ialias rebase="git rebase --autostash --stat" + ialias update="fetch && rebase" + setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups @@ -98,6 +96,7 @@ enable = true; plugins = [ + { name = "themes/robbyrussell"; tags = [from:oh-my-zsh as:theme]; } { name = "plugin/git"; tags = [from:oh-my-zsh]; } { name = "plugin/vi-mode"; tags = [from:oh-my-zsh]; } { name = "mollifier/cd-gitroot"; } From 32876821a9cf3e66106c96366c0c2561b9480eb8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 23:09:47 +0100 Subject: [PATCH 0150/2258] feat: add Meslo font --- home-manager/nixedo.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 621a2076..49142112 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -40,6 +40,7 @@ home.packages = with pkgs; [ discord + meslo-lg slack teams vlc From dc9ee849bb13cfa99a81618714c08f01751c1796 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Apr 2023 23:11:31 +0100 Subject: [PATCH 0151/2258] fix: use the generated Alacritty configuration --- config/alacritty/alacritty.yml | 23 ----------------------- home-manager/modules/common.nix | 5 ----- home-manager/nixedo.nix | 2 +- 3 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 config/alacritty/alacritty.yml diff --git a/config/alacritty/alacritty.yml b/config/alacritty/alacritty.yml deleted file mode 100644 index 0ddaa838..00000000 --- a/config/alacritty/alacritty.yml +++ /dev/null @@ -1,23 +0,0 @@ -{ - "font": { - "glyph_offset": { - "y": 6 - }, - "normal": { - "family": "JetBrains Mono NL" - }, - "offset": { - "y": 12 - }, - "size": 12 - }, - "shell": { - "program": "zsh" - }, - "window": { - "padding": { - "x": 15, - "y": 15 - } - } -} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 39869a32..63fe4d5b 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -142,11 +142,6 @@ in { "$HOME/.config/bin" ]; - xdg.configFile.alacritty = { - source = ../../config/alacritty; - recursive = true; - }; - xdg.configFile.bin = { source = ../../bin; recursive = true; diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 49142112..9d5742e1 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -26,7 +26,7 @@ font = { size = 12.0; - normal.family = "JetBrainsMono Nerd Font"; + normal.family = "Meslo LG M"; offset.y = 12; glyph_offset.y = 6; From 388b423114fdd206fb9932cd9372a2082a31616c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 6 Apr 2023 00:25:49 +0100 Subject: [PATCH 0152/2258] fix(nvim): treesitter parser location issue --- config/neovim/after/plugin/treesitter.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index 9efd97e4..93e7abbd 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -4,7 +4,7 @@ if not has_configs then end -local parser_install_dir = vim.fn.stdpath('data') .. "/site"; +local parser_install_dir = vim.fn.stdpath('cache') .. "treesitters"; configs.setup { autotag = { @@ -62,6 +62,7 @@ configs.setup { parser_install_dir = parser_install_dir, } +vim.fn.mkdir(parser_install_dir, "p") vim.opt.runtimepath:append(parser_install_dir) local nmap = require("opdavies.keymap").nmap From 6efab85b97453e891b436376e7a65bac93a25619 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 6 Apr 2023 00:26:26 +0100 Subject: [PATCH 0153/2258] fix(nvim): remove unused user command --- config/neovim/lua/opdavies/telescope/mappings.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 3b2ba315..3d003070 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -42,12 +42,4 @@ local nmap = require("opdavies.keymap").nmap nmap { "gm", telescope.extensions.git_worktree.create_git_worktree } nmap { "gw", telescope.extensions.git_worktree.git_worktrees } --- Create a command to open Telescope, can be used when starting nvim - --- "e.g. nvim +GoToFile". -vim.api.nvim_create_user_command( - "GoToFile", - telescope.fd, - {} -) - return telescope_mapper From 4add1d9f078995f325578e6b38bb86034dc38a51 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 8 Apr 2023 09:44:29 +0100 Subject: [PATCH 0154/2258] feat(nvim): replace sumneko_lua with lua_ls --- config/neovim/lua/opdavies/lsp/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index c48ca10a..49975b25 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -85,7 +85,7 @@ local servers = { filetypes = { "php", "module", "test", "inc" }, }, - sumneko_lua = { + lua_ls = { settings = { Lua = { diagnostics = { From 017973b0b41fb985bd34b82fdd81650f7c0a6ee4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 8 Apr 2023 09:45:06 +0100 Subject: [PATCH 0155/2258] fix: incorrect shebang Fails on NixOS before making this change. --- bin/watch-changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/watch-changes b/bin/watch-changes index 29e647b9..2978e290 100755 --- a/bin/watch-changes +++ b/bin/watch-changes @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash if [ "$1" ] && [ "$2" ]; then while true From d0d1229d443dea7a012c87b1d69a4437ba6f383d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Apr 2023 20:03:06 +0100 Subject: [PATCH 0156/2258] feat(nvim): add vim-terraform --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 63fe4d5b..abf69556 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -49,6 +49,7 @@ in { vimPlugins.vim-repeat vimPlugins.vim-sleuth vimPlugins.vim-surround + vimPlugins.vim-terraform vimPlugins.vim-test vimPlugins.vim-textobj-user vimPlugins.vim-tmux-navigator From 12c99707e297975676cffc182325319d3dde2431 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Apr 2023 20:03:25 +0100 Subject: [PATCH 0157/2258] chore: don't require root password for wheel users --- system/nixos/nixedo/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 7dea4c94..808dde4d 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -98,6 +98,8 @@ in packages = with pkgs; [ firefox ]; }; + security.sudo.wheelNeedsPassword = false; + # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; From b5fd2d781d0d87584858ee60df691e7c7826be47 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 13 Apr 2023 01:43:50 +0100 Subject: [PATCH 0158/2258] feat(zsh): add Nix and NixOS aliases --- home-manager/modules/zsh.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 8ceca66f..13df624a 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -86,6 +86,22 @@ ialias rebase="git rebase --autostash --stat" ialias update="fetch && rebase" + # Nix and NixOS. + alias nx="nix" + alias nxb="nix build" + alias nxd="nix develop" + alias nxf="nix flake" + alias nxs="nix shell" + ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' + ialias full-system-repair='nix-store --verify --check-contents --repair' + ialias full-system-upgrade="sudo nixos-rebuild switch --upgrade && nix-env -u '*'" + ialias list-system-configurations='\ls -l /nix/var/nix/profiles/system-*-link' + ialias local-upgrade="nix-channel --update nixpkgs && nix-env -u '*'" + ialias set-default-boot='/run/current-system/bin/switch-to-configuration boot' + ialias system-rebuild='sudo nixos-rebuild switch' + ialias system-repair='sudo nixos-rebuild switch --repair' + ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' + setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups From 419d7cac6ae9ca974bd0bd3c0374f1fdb4cac381 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 13 Apr 2023 01:44:03 +0100 Subject: [PATCH 0159/2258] feat(zsh): add Build Configs aliases --- home-manager/modules/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 13df624a..95e7f541 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -102,6 +102,10 @@ ialias system-repair='sudo nixos-rebuild switch --repair' ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' + # Build Configs. + ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" + ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" + setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups From 3d10ad02dba60a7d8d85356990e70cd59452432b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 14 Apr 2023 10:06:23 +0100 Subject: [PATCH 0160/2258] chore: delete unused bin scripts --- bin/git-close-pull-request | 271 ----------------------------- bin/git-create-new-tracking-branch | 15 -- bin/git-delete-merged-branches | 42 ----- bin/git-master-to-main-wrapper | 19 -- bin/git-opr | 26 --- bin/git-publish | 15 -- bin/git.sh | 28 --- bin/phpunit-or-pest | 8 - bin/tmuxinator-fzf | 7 - bin/watch-changes | 11 -- 10 files changed, 442 deletions(-) delete mode 100755 bin/git-close-pull-request delete mode 100755 bin/git-create-new-tracking-branch delete mode 100755 bin/git-delete-merged-branches delete mode 100755 bin/git-master-to-main-wrapper delete mode 100755 bin/git-opr delete mode 100755 bin/git-publish delete mode 100755 bin/git.sh delete mode 100755 bin/phpunit-or-pest delete mode 100755 bin/tmuxinator-fzf delete mode 100755 bin/watch-changes diff --git a/bin/git-close-pull-request b/bin/git-close-pull-request deleted file mode 100755 index 67f3673d..00000000 --- a/bin/git-close-pull-request +++ /dev/null @@ -1,271 +0,0 @@ -#!/usr/bin/env php - - * - * Run this from a branch which has an upstream remote branch, and an associated - * pull request. - * - * The script will merge the branch into master, push master (which will - * automatically close the pull request), and delete both the local and remote - * branches. - * - * Based on a script by @christoomey. Translated into PHP. - */ - -class ClosesPullRequests -{ - private $targetBranch; - private $localBranch; - private $remoteBranch; - - private const RUN_TYPE_COMMAND = 'command'; - private const RUN_TYPE_QUERY = 'query'; - - public function __construct() - { - $this->localBranch = $this->run( - 'git rev-parse --abbrev-ref HEAD', - self::RUN_TYPE_QUERY - ); - $this->targetBranch = $this->getTargetBranchFromArgs(); - - $this->remoteBranch = $this->run( - 'git rev-parse --abbrev-ref --symbolic-full-name @{u}', - self::RUN_TYPE_QUERY - ); - $this->remoteBranch = str_replace('origin/', '', $this->remoteBranch); - } - - public function __invoke(): void - { - $this->confirmCiStatusIsPassing(); - // TODO: Check that the current branch has a tracking branch. - $this->ensureWorkingDirectoryAndIndexAreClean(); - $this->fetchOrigin(); - $this->ensureFeatureBranchInSync(); - $this->ensureTargetBranchInSync(); - $this->checkoutTargetBranch(); - $this->mergeLocalBranch(); - $this->pushTargetBranch(); - $this->deleteRemoteBranch(); - $this->deleteLocalBranch(); - } - - private function ensureWorkingDirectoryAndIndexAreClean(): void - { - echo 'Ensuring that index and working directory are clean...' . PHP_EOL; - - $isIndexClean = $this->run('git diff --cached --exit-code', self::RUN_TYPE_COMMAND); - $isWorkingDirClean = $this->run('git diff --exit-code', self::RUN_TYPE_COMMAND); - - if (!$isIndexClean || !$isWorkingDirClean) { - $this->dieWithMessage('Index or working dir not clean. Aborting.'); - } - } - - private function getTargetBranchFromArgs(): string - { - if (!$targetBranchName = $this->getArg('t:', ['target:'])) { - $this->dieWithMessage('Invalid target branch specified. Aborting.'); - } - - return $targetBranchName; - } - - private function confirmCiStatusIsPassing(): void - { - if ($this->isForce()) { - echo 'Forced. Skipping ci-status check...' . PHP_EOL; - return; - } - - echo 'Confirming ci-status on PR is green...' . PHP_EOL; - - $passedCi = $this->run('gh pr checks', self::RUN_TYPE_COMMAND); - - // TODO: Check if there are no CI checks. Does this return `true` as well? - if (!$passedCi) { - $this->dieWithMessage('CI pending or failed.'); - } - } - - private function fetchOrigin(): void - { - print 'Fetching origin to confirm local and remote in sync...' - . PHP_EOL; - - $this->run('git fetch origin', self::RUN_TYPE_COMMAND); - } - - private function ensureTargetBranchInSync(): void - { - $this->ensureBranchInSyncWithUpstream( - $this->targetBranch, - $this->targetBranch - ); - } - - private function ensureFeatureBranchInSync(): void - { - $this->ensureBranchInSyncWithUpstream( - $this->localBranch, - $this->remoteBranch - ); - } - - private function ensureBranchInSyncWithUpstream( - string $localBranch, - string $remoteBranch - ): void { - echo sprintf( - 'Ensuring that %s is in sync with its upstream...', - $localBranch - ) . PHP_EOL; - - $localCommitTip = $this->tipCommitOfBranch($localBranch); - $remoteCommitTip = $this->tipCommitOfBranch(sprintf( - 'origin/%s', - $remoteBranch - )); - - if ($localCommitTip != $remoteCommitTip) { - $this->dieWithMessage(sprintf( - 'Branch %s was out of date, needs rebasing. Aborting.', - $localBranch - )); - } - } - - private function tipCommitOfBranch(string $branchName): string - { - return $this->run( - sprintf('git rev-parse %s', $branchName), - self::RUN_TYPE_QUERY - ); - } - - private function checkoutTargetBranch(): void - { - echo sprintf('Checking out %s...' . PHP_EOL, $this->targetBranch); - - $this->run( - sprintf('git checkout %s', $this->targetBranch), - self::RUN_TYPE_COMMAND - ); - } - - private function mergeLocalBranch(): void - { - echo sprintf( - 'Merging %s into %s...' . PHP_EOL, - $this->localBranch, - $this->targetBranch - ); - - $mergeCommand = sprintf('git merge --ff-only %s', $this->localBranch); - if (!$this->run($mergeCommand, self::RUN_TYPE_COMMAND)) { - // Switch back to the previous branch. - $this->run('git checkout -', self::RUN_TYPE_COMMAND); - - $this->dieWithMessage(sprintf( - 'Branch %s is not fast-forwardable.', - $this->localBranch - )); - } - } - - public function pushTargetBranch(): void - { - print(sprintf('Pushing updated %s branch...', $this->targetBranch)); - - $this->run( - sprintf('git push origin %s', $this->targetBranch), - self::RUN_TYPE_COMMAND - ); - } - - public function deleteRemoteBranch(): void - { - echo 'Deleting remote branch...' . PHP_EOL; - - $this->run( - sprintf('git push origin :%s', $this->remoteBranch), - self::RUN_TYPE_COMMAND - ); - } - - public function deleteLocalBranch(): void - { - echo 'Deleting local branch...' . PHP_EOL; - - $this->run( - sprintf('git branch -d %s', $this->localBranch), - self::RUN_TYPE_COMMAND - ); - } - - private function getArg(string $shortOpts, array $longOpts = []): ?string - { - if (!$values = getopt($shortOpts, $longOpts)) { - return NULL; - } - - return current($values); - } - - private function hasArg(string $shortOpts, array $longOpts = []): bool - { - return !empty(getopt($shortOpts, $longOpts)); - } - - private function isForce(): bool - { - return $this->hasArg('f::', ['force::']); - } - - /** - * Run the command. - * - * @return bool|string - * If the type is 'command', the method will return if there were any - * errors when running the command based on its return code. - * - * If the type is 'query', then the output of the command will be returned - * as a string. - */ - private function run(string $command, string $type) - { - switch ($type) { - case self::RUN_TYPE_COMMAND: - // Perform the command, hiding the original output and return - // whether or not there were errors. - @exec("$command", $output, $return); - - return $return == 0; - - case self::RUN_TYPE_QUERY: - // Perform the command and return the output. - return exec($command, $output); - } - } - - private function dieWithMessage(string $message): void - { - echo sprintf("\e[31m%s\e[0m", $message); - - exit(1); - } - - private function exitWithWarning(string $message): void - { - echo sprintf("\e[33m%s\e[0m", $message); - - exit(2); - } -} - -(new ClosesPullRequests())->__invoke(); diff --git a/bin/git-create-new-tracking-branch b/bin/git-create-new-tracking-branch deleted file mode 100755 index 0a14fb4b..00000000 --- a/bin/git-create-new-tracking-branch +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -set -e - -if [ "$#" -lt 1 ]; then - echo "Error: Not enough arguments." - exit l -fi - -# Create a new branch including any additional arguments. -git checkout -b "$@" - -# Push the branch to origin, bypassing any Git hooks. -new_branch_name=$1 -git push --no-verify -u origin "${new_branch_name}:opd-${new_branch_name}" diff --git a/bin/git-delete-merged-branches b/bin/git-delete-merged-branches deleted file mode 100755 index 77e7fc00..00000000 --- a/bin/git-delete-merged-branches +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env php -/dev/null - - if [ $? -ne 0 ]; then - echo "Error: gh command not found." - exit 1 - fi - - # Load an existing PR, or create a new one. - gh pr view --web || gh pr create --assignee opdavies --web -} - -ensure_is_published -open_or_build_pull_request diff --git a/bin/git-publish b/bin/git-publish deleted file mode 100755 index ca196bf7..00000000 --- a/bin/git-publish +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env php - /tmp/.git_ssh.$$ - chmod +x /tmp/.git_ssh.$$ - export GIT_SSH=/tmp/.git_ssh.$$ -fi - -# in case the git command is repeated -[ "$1" = "git" ] && shift - -# Run the git command -git "$@" diff --git a/bin/phpunit-or-pest b/bin/phpunit-or-pest deleted file mode 100755 index 781b7124..00000000 --- a/bin/phpunit-or-pest +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -if [[ -f "vendor/bin/pest" ]]; then - echo "pest" - exit 0 -fi - -echo "phpunit" diff --git a/bin/tmuxinator-fzf b/bin/tmuxinator-fzf deleted file mode 100755 index 595a9fa2..00000000 --- a/bin/tmuxinator-fzf +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -# Use fzf to select a project to open with tmuxinator. - -set -euo pipefail - -tmuxinator list -n | tail -n +2 | fzf | xargs tmuxinator start diff --git a/bin/watch-changes b/bin/watch-changes deleted file mode 100755 index 2978e290..00000000 --- a/bin/watch-changes +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -if [ "$1" ] && [ "$2" ]; then - while true - do - inotifywait --event modify --exclude ".null-ls_*" --recursive $1 2> /dev/null - $2 - done -else - echo "usage: watch-changes " -fi From 140b9c13a0dbbbaddaa527c4af400f4f51df7e10 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 14 Apr 2023 10:20:44 +0100 Subject: [PATCH 0161/2258] feat: add create-script and tag-release --- bin/create-script | 18 ++++++++++++++++++ bin/tag-release | 14 ++++++++++++++ home-manager/modules/zsh.nix | 2 ++ 3 files changed, 34 insertions(+) create mode 100755 bin/create-script create mode 100755 bin/tag-release diff --git a/bin/create-script b/bin/create-script new file mode 100755 index 00000000..93aa8632 --- /dev/null +++ b/bin/create-script @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +if [[ "$1" == "" ]]; then + echo "Usage: ${0##*/} "; exit 2 +fi + +set -ueo pipefail + +cat > "${1}" << EOF +#!/usr/bin/env bash + +set -euo pipefail + + +EOF + +chmod +x "${1}" +vim "${1}" diff --git a/bin/tag-release b/bin/tag-release new file mode 100755 index 00000000..eda17dcc --- /dev/null +++ b/bin/tag-release @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +if [[ "$1" == "" ]]; then + echo "Usage: ${0##*/} "; exit 2 +fi + +set -euo pipefail + +commit_sha="${1:-HEAD}" +tag="$(date '+%Y-%m-%d-%H.%M.%S')" + +# Tag the appropriate commit and push to the remote. +git tag "${tag}" "${commit_sha}" +git push origin "refs/tags/${tag}" diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 95e7f541..f8a032a8 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -80,10 +80,12 @@ bindkey " " expand-alias-space bindkey -M isearch " " magic-space + ialias cs="create-script" ialias fetch="git fetch --all --jobs=4 --progress --prune" ialias run="./run" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" + ialias tag="tag-release" ialias update="fetch && rebase" # Nix and NixOS. From d7c70ad5b19e6cf9828581c7dca735ceb7c133a6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 14 Apr 2023 11:13:14 +0100 Subject: [PATCH 0162/2258] feat: add nodemon --- home-manager/modules/packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/packages.nix b/home-manager/modules/packages.nix index 2ac9ae6c..c51ecba1 100644 --- a/home-manager/modules/packages.nix +++ b/home-manager/modules/packages.nix @@ -20,8 +20,9 @@ with pkgs; [ lua mysql neofetch - nodejs nodePackages."http-server" + nodePackages.nodemon + nodejs php81 php81Packages.composer platformsh From c8bd0246ac8f3755ca1c4bb051be5789a983bcce Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 14 Apr 2023 11:50:44 +0100 Subject: [PATCH 0163/2258] chore: remove pop-os.nix --- system/pop-os.nix | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 system/pop-os.nix diff --git a/system/pop-os.nix b/system/pop-os.nix deleted file mode 100644 index da30dd8c..00000000 --- a/system/pop-os.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, ... }: - -let - nixpkgs = import ./shared/nixpkgs.nix { }; -in -{ - imports = [ - ../home-manager/modules/common.nix - ../home-manager/modules/git.nix - ../home-manager/modules/home-manager.nix - ../home-manager/modules/tmux.nix - ../home-manager/modules/zsh.nix - ]; - - nixpkgs = nixpkgs; - - fonts.fontconfig.enable = true; - - home.packages = with pkgs; [ - gnome.gnome-tweaks - jetbrains-mono - xcape - ]; -} From d9af1a2efd765ec20e35c11bc6d9eee8b4e0593f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Apr 2023 10:30:02 +0100 Subject: [PATCH 0164/2258] feat: add `run` alias --- home-manager/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index f8a032a8..a42aed87 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -85,6 +85,7 @@ ialias run="./run" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" + ialias run="./run" ialias tag="tag-release" ialias update="fetch && rebase" From 455cbf3bfcfd397a48315b40885a8823a3fe6d56 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 16 Apr 2023 20:54:20 +0100 Subject: [PATCH 0165/2258] feat: add import-gzip-database script --- bin/import-gzip-database | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 bin/import-gzip-database diff --git a/bin/import-gzip-database b/bin/import-gzip-database new file mode 100755 index 00000000..aa173377 --- /dev/null +++ b/bin/import-gzip-database @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +if [[ "$1" == "" ]]; then + echo "Usage: ${0##*/} "; exit 2 +fi + +set -euo pipefail + +filename="${1}" +shift 1 + +pv "${filename}" \ + | zcat \ + | docker compose exec -T database mysql \ + -p"${DB_PASSWORD:-app}" \ + -u"${DB_USER:-app}" \ + "${DB_NAME:-app}" From 76c327b9b98619b97459d6440fbf5d937fe0262b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 17 Apr 2023 17:44:23 +0100 Subject: [PATCH 0166/2258] chore: remove nvim workaround to get the latest ...version --- flake.lock | 48 ++++++++++++++++-------------------------------- flake.nix | 3 --- 2 files changed, 16 insertions(+), 35 deletions(-) diff --git a/flake.lock b/flake.lock index c7a14167..951a9896 100644 --- a/flake.lock +++ b/flake.lock @@ -35,15 +35,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1680000368, - "narHash": "sha256-TlgC4IJ7aotynUdkGRtaAVxquaiddO38Ws89nB7VGY8=", + "lastModified": 1681746824, + "narHash": "sha256-TRe6SAYqTEyWmHwg5gpAj3arebje/OVi7z9yLqZRYqg=", "owner": "nix-community", "repo": "home-manager", - "rev": "765e4007b6f9f111469a25d1df6540e8e0ca73a6", + "rev": "ae79840bc756e97f9750fc70448ae0efc1b8dcc3", "type": "github" }, "original": { @@ -62,11 +61,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680076741, - "narHash": "sha256-Xc4IY54hYDnHotzYGoqvdQWwi19jy6gpt0hNiw4X8r0=", + "lastModified": 1681719021, + "narHash": "sha256-edYPdId662VSpTngbFinHZDk7hbIO0T4DaIG75QdOoA=", "owner": "neovim", "repo": "neovim", - "rev": "b7748662ed5b06c12a74560690b728fdf770666f", + "rev": "53985a6d31cc60d4b2d7a7af91929922de9ecf4d", "type": "github" }, "original": { @@ -83,11 +82,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680077682, - "narHash": "sha256-d8NDUvTAR5ff+RbL5hS8P2xBcTjeTyEDe6o7GiPwVPI=", + "lastModified": 1681719254, + "narHash": "sha256-bA07zWjG/4mvnXcs08Z0vwAUObpE9nsbtF4wUC0G+Bg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6cf1e98e9ec0b48f6f20035fbcae63ef1d6ae18e", + "rev": "d4ac0e115563dc894323947e2fd679f25bfa788a", "type": "github" }, "original": { @@ -98,11 +97,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1671983799, - "narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=", + "lastModified": 1681693905, + "narHash": "sha256-XdXMvCt+i2ZcmAIPZvu3RUwcdaC9OX7d1WMAJJokzeA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fad51abd42ca17a60fc1d4cb9382e2d79ae31836", + "rev": "db34d7561caa508ece0265a56f382c5d3b7a6c1b", "type": "github" }, "original": { @@ -114,11 +113,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679944645, - "narHash": "sha256-e5Qyoe11UZjVfgRfwNoSU57ZeKuEmjYb77B9IVW7L/M=", + "lastModified": 1681648924, + "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4bb072f0a8b267613c127684e099a70e1f6ff106", + "rev": "f294325aed382b66c7a188482101b0f336d1d7db", "type": "github" }, "original": { @@ -134,21 +133,6 @@ "neovim-nightly": "neovim-nightly", "nixpkgs": "nixpkgs_2" } - }, - "utils": { - "locked": { - "lastModified": 1676283394, - "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 230f3cd5..7a7a986c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,6 @@ inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; - # workaround: https://github.com/nix-community/neovim-nightly-overlay/issues/164 - neovim-nightly.inputs.nixpkgs.url = - "github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836"; neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; From 2a8f42c2672f9ab48b0cdbe33c3db1156cb36ae6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 17 Apr 2023 17:56:53 +0100 Subject: [PATCH 0167/2258] fix(nvim): install Treesitter grammars with Nix Fixes #48 --- config/neovim/after/plugin/treesitter.lua | 29 ----------------------- home-manager/modules/common.nix | 2 +- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index 93e7abbd..609bb6a1 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -4,8 +4,6 @@ if not has_configs then end -local parser_install_dir = vim.fn.stdpath('cache') .. "treesitters"; - configs.setup { autotag = { enable = true, @@ -13,29 +11,6 @@ configs.setup { context_commenting = { enable = true, }, - ensure_installed = { - "astro", - "bash", - "comment", - "css", - "dockerfile", - "go", - "html", - "javascript", - "json", - "lua", - "make", - "markdown", - "php", - "phpdoc", - "regex", - "rst", - "scss", - "typescript", - "vim", - "vue", - "yaml", - }, highlight = { enable = true, }, @@ -59,12 +34,8 @@ configs.setup { }, }, }, - parser_install_dir = parser_install_dir, } -vim.fn.mkdir(parser_install_dir, "p") -vim.opt.runtimepath:append(parser_install_dir) - local nmap = require("opdavies.keymap").nmap nmap { "th", "TSHighlightCapturesUnderCursor" } diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index abf69556..027a3885 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -67,7 +67,7 @@ in { vimPlugins.nvim-dap-virtual-text # Treesitter - vimPlugins.nvim-treesitter + vimPlugins.nvim-treesitter.withAllGrammars vimPlugins.nvim-treesitter-context vimPlugins.nvim-treesitter-textobjects From 80ec00f68b1796892651f31fa50198a8cf36c2bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 17 Apr 2023 18:33:20 +0100 Subject: [PATCH 0168/2258] feat: add awscli Fixes #32 --- home-manager/modules/packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/packages.nix b/home-manager/modules/packages.nix index c51ecba1..0975788b 100644 --- a/home-manager/modules/packages.nix +++ b/home-manager/modules/packages.nix @@ -1,6 +1,7 @@ { pkgs, ... }: with pkgs; [ + awscli2 bottom ctop delta From f58ef51f0f9cc71292d5d1a214e10c61c79b8439 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Apr 2023 11:43:50 +0100 Subject: [PATCH 0169/2258] refactor(nvim): use lsp-zero.nvim --- config/neovim/lua/opdavies/lsp/init.lua | 220 ++++++------------------ home-manager/modules/common.nix | 2 + 2 files changed, 59 insertions(+), 163 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 49975b25..318b07b6 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -1,176 +1,70 @@ -local has_lsp, lspconfig = pcall(require, "lspconfig") -if not has_lsp then - return -end +local lsp = require 'lsp-zero' +local lspconfig = require "lspconfig" -local nvim_status = require "lsp-status" +lsp.preset({ + float_border = 'none', +}); -local imap = require("opdavies.keymap").imap -local nmap = require("opdavies.keymap").nmap +lsp.nvim_workspace() -local telescope_mapper = require "opdavies.telescope.mappings" +lsp.setup_servers({ + 'ansiblels', + 'astro', + 'bashls', + 'cssls', + 'dockerls', + 'html', + 'intelephense', + 'jsonls', + 'tailwindcss', + 'terraformls', + 'tsserver', + 'volar', + 'vuels', + 'yamlls' +}) -local buf_nnoremap = function(opts) - opts.buffer = 0 - nmap(opts) -end - -local buf_inoremap = function(opts) - opts.buffer = 0 - imap(opts) -end - -local default_capabilities = vim.lsp.protocol.make_client_capabilities() -default_capabilities = require("cmp_nvim_lsp").default_capabilities(default_capabilities) - -local custom_init = function(client) - client.config.flags = client.config.flags or {} - client.config.flags.allow_incremental_sync = true -end - -local custom_attach = function(client) - local filetype = vim.api.nvim_buf_get_option(0, "filetype") - - nvim_status.on_attach(client) - - -- Keymaps - buf_inoremap { "", vim.lsp.buf.signature_help } - - buf_nnoremap { "[d", vim.diagnostic.goto_prev } - buf_nnoremap { "]d", vim.diagnostic.goto_next } - buf_nnoremap { "ca", vim.lsp.buf.code_action } - buf_nnoremap { "rn", vim.lsp.buf.rename } - buf_nnoremap { "rr", "LspRestart" } - buf_nnoremap { "K", vim.lsp.buf.hover } - buf_nnoremap { "gD", vim.lsp.buf.declaration } - buf_nnoremap { "gT", vim.lsp.buf.type_definition } - buf_nnoremap { "gd", vim.lsp.buf.definition } - buf_nnoremap { "gi", vim.lsp.buf.implementation } - - if filetype ~= "lua" then - buf_nnoremap { "K", vim.lsp.buf.hover } - end - - telescope_mapper("dl", "diagnostics", nil, true) - - -- Set autocommands conditional on server_capabilities - if client.server_capabilities.document_highlight then - vim.cmd [[ - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]] - end - - -- Attach any filetype specific options to the client - -- filetype_attach[filetype](client) -end - -local servers = { - ansiblels = true, - astro = true, - bashls = true, - cssls = true, - gopls = true, - html = true, - -- intelephense = true - rnix = true, - tsserver = true, - vuels = true, - yamlls = true, - - intelephense = { - filetypes = { "php", "module", "test", "inc" }, +lsp.set_preferences({ + sign_icons = { + error = 'E', + hint = 'H', + info = 'I', + warn = 'W', }, - lua_ls = { - settings = { - Lua = { - diagnostics = { - globals = { "vim" }, - }, - }, - }, + suggest_lsp_servers = false, +}) + +lsp.on_attach(on_attach) + +lsp.setup() + +vim.diagnostic.config({ + virtual_text = true +}) + +lspconfig.intelephense.setup({ + filetypes = { "php", "module", "test", "inc" }, +}) + +lspconfig.tailwindcss.setup({ + filetypes = { + "astro", + "html", + "html.twig", + "javascript", + "php", + "twig", + "typescript", + "vue", }, - tailwindcss = { - filetypes = { - -- html - "html", - "html.twig", - "php", - "twig", - - -- js - "javascript", - "typescript", - - -- mixed - "astro", - "vue", - }, - - init_options = { - userLanguages = { - ["html.twig"] = "html", - }, + init_options = { + userLanguages = { + ["html.twig"] = "html", }, }, - - -- tsserver = { - -- filetypes = { - -- "javascript", - -- "javascriptreact", - -- "javascript.jsx", - -- "typescript", - -- "typescriptreact", - -- "typescript.tsx", - -- "vue", - -- }, - -- }, -} - -local setup_server = function(server, config) - if not config then - return - end - - if type(config) ~= "table" then - config = {} - end - - config = vim.tbl_deep_extend("force", { - on_init = custom_init, - on_attach = custom_attach, - capabilities = default_capabilities, - flags = { - debounce_text_changes = nil, - }, - }, config) - - lspconfig[server].setup(config) -end - -for server, config in pairs(servers) do - setup_server(server, config) -end - -vim.diagnostic.config { - float = { - source = true, - }, - signs = true, - underline = false, - update_in_insert = false, - virtual_text = { spacing = 2 }, -} - -vim.keymap.set("n", "f", function() - vim.lsp.buf.format { async = true } -end -); +}) require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 027a3885..d2e6033a 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -75,6 +75,7 @@ in { vimPlugins.null-ls-nvim vimPlugins.nvim-lspconfig vimPlugins.lsp-status-nvim + vimPlugins.lsp-zero-nvim # Completion vimPlugins.cmp-buffer @@ -127,6 +128,7 @@ in { nodePackages.prettier nodePackages.typescript nodePackages.typescript-language-server + nodePackages.vue-language-server nodePackages.vls nodePackages.vscode-langservers-extracted nodePackages.yaml-language-server From 575e0f694bf7136e7b67a88e3d53965ec366e34f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 24 Apr 2023 19:28:34 +0100 Subject: [PATCH 0170/2258] fix(tmux): `find` warning when using `t` function Fixes #51 --- bin/t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/t b/bin/t index 9ca8b74e..fefc89ca 100755 --- a/bin/t +++ b/bin/t @@ -11,7 +11,7 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - selected=$(find ~/Code -type d -mindepth 1 -maxdepth 2 ! -name .git | sort | fzf --reverse) + selected=$(find ~/Code -mindepth 1 -maxdepth 2 -type d ! -name .git | sort | fzf --reverse) fi if [[ -z $selected ]]; then From 9289ace4c38b5a35bb0bda90592a08d7a039d14f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 26 Apr 2023 00:04:44 +0100 Subject: [PATCH 0171/2258] chore(nvim): tweak indent line colours --- config/neovim/after/plugin/indent-blankline.lua | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/config/neovim/after/plugin/indent-blankline.lua b/config/neovim/after/plugin/indent-blankline.lua index d48f1153..3347ba2f 100644 --- a/config/neovim/after/plugin/indent-blankline.lua +++ b/config/neovim/after/plugin/indent-blankline.lua @@ -4,15 +4,10 @@ if not status_ok then end vim.opt.list = true -vim.opt.listchars = { - eol = "↴", -} -vim.cmd [[highlight IndentBlanklineIndent1 guifg=#555555 gui=nocombine]] +vim.api.nvim_set_hl(0, 'IndentBlankLineChar', { fg = "#2F313C" }) indent_blankline.setup { - char_highlight_list = { - "IndentBlanklineIndent1", - }, show_end_of_line = true, } + From b729416e8228291838473d099ff5ed121db37cba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 26 Apr 2023 11:31:07 +0100 Subject: [PATCH 0172/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 951a9896..fc47befd 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ ] }, "locked": { - "lastModified": 1681746824, - "narHash": "sha256-TRe6SAYqTEyWmHwg5gpAj3arebje/OVi7z9yLqZRYqg=", + "lastModified": 1682419509, + "narHash": "sha256-+/HI3RbJcEKQ5+55dECzh8geginsbabsA0R3ORKi2Us=", "owner": "nix-community", "repo": "home-manager", - "rev": "ae79840bc756e97f9750fc70448ae0efc1b8dcc3", + "rev": "6142193635ecdafb9a231bd7d1880b9b7b210d19", "type": "github" }, "original": { @@ -61,11 +61,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681719021, - "narHash": "sha256-edYPdId662VSpTngbFinHZDk7hbIO0T4DaIG75QdOoA=", + "lastModified": 1682487510, + "narHash": "sha256-dcAOx+9l/ubi4T5pFFCtfUB5MOF4Nb5+Cc8YSs5fuTY=", "owner": "neovim", "repo": "neovim", - "rev": "53985a6d31cc60d4b2d7a7af91929922de9ecf4d", + "rev": "55793bcfa17ccc6f5a3566664ba1e522f74fb50c", "type": "github" }, "original": { @@ -82,11 +82,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681719254, - "narHash": "sha256-bA07zWjG/4mvnXcs08Z0vwAUObpE9nsbtF4wUC0G+Bg=", + "lastModified": 1682496819, + "narHash": "sha256-0oflup3izhEtUCcvnCxXiw2bq29uM/VwqgYizpS+NAU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d4ac0e115563dc894323947e2fd679f25bfa788a", + "rev": "4d7aea71948246ad36d0c0a28bf4999326bb134b", "type": "github" }, "original": { @@ -97,11 +97,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681693905, - "narHash": "sha256-XdXMvCt+i2ZcmAIPZvu3RUwcdaC9OX7d1WMAJJokzeA=", + "lastModified": 1682109806, + "narHash": "sha256-d9g7RKNShMLboTWwukM+RObDWWpHKaqTYXB48clBWXI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "db34d7561caa508ece0265a56f382c5d3b7a6c1b", + "rev": "2362848adf8def2866fabbffc50462e929d7fffb", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681648924, - "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", + "lastModified": 1682453498, + "narHash": "sha256-WoWiAd7KZt5Eh6n+qojcivaVpnXKqBsVgpixpV2L9CE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f294325aed382b66c7a188482101b0f336d1d7db", + "rev": "c8018361fa1d1650ee8d4b96294783cf564e8a7f", "type": "github" }, "original": { From 6c0691800e37dcdf8e4b771e359b94722bda22b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 27 Apr 2023 19:01:36 +0100 Subject: [PATCH 0173/2258] feat: automatically clear between nodemon commands --- home-manager/modules/common.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index d2e6033a..bd804797 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -8,6 +8,18 @@ in { home.packages = (import ./packages.nix) { inherit pkgs; }; + home.file."nodemon.json".text = '' + { + "ignore": [ + ".git" + ], + "verbose": true, + "events": { + "start": "clear" + } + } + ''; + programs.bat.enable = true; programs.neovim = { From 1bcd1357867aa33bae6edb0aa082bd140e48d0cb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 27 Apr 2023 19:03:20 +0100 Subject: [PATCH 0174/2258] chore(update) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index fc47befd..cae0aaf8 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ ] }, "locked": { - "lastModified": 1682419509, - "narHash": "sha256-+/HI3RbJcEKQ5+55dECzh8geginsbabsA0R3ORKi2Us=", + "lastModified": 1682535786, + "narHash": "sha256-NH2a8yB8V25cglvcHDrvaTLvohzMgGLLZ4vnXQn4vOw=", "owner": "nix-community", "repo": "home-manager", - "rev": "6142193635ecdafb9a231bd7d1880b9b7b210d19", + "rev": "d82c9af8175878a461a0fdf914e67cc446664570", "type": "github" }, "original": { @@ -61,11 +61,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682487510, - "narHash": "sha256-dcAOx+9l/ubi4T5pFFCtfUB5MOF4Nb5+Cc8YSs5fuTY=", + "lastModified": 1682581904, + "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", "owner": "neovim", "repo": "neovim", - "rev": "55793bcfa17ccc6f5a3566664ba1e522f74fb50c", + "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", "type": "github" }, "original": { @@ -82,11 +82,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682496819, - "narHash": "sha256-0oflup3izhEtUCcvnCxXiw2bq29uM/VwqgYizpS+NAU=", + "lastModified": 1682583188, + "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4d7aea71948246ad36d0c0a28bf4999326bb134b", + "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682453498, - "narHash": "sha256-WoWiAd7KZt5Eh6n+qojcivaVpnXKqBsVgpixpV2L9CE=", + "lastModified": 1682526928, + "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8018361fa1d1650ee8d4b96294783cf564e8a7f", + "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", "type": "github" }, "original": { From 35bef731701fd26d98445f205edcfcc7ef01f9f5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 26 Apr 2023 07:59:02 +0100 Subject: [PATCH 0175/2258] feat(nvim): finish configuring lsp-zero.nvim Fixes #49 --- config/neovim/after/plugin/completion.lua | 75 ---------------------- config/neovim/lua/opdavies/lsp/init.lua | 54 ++++++++-------- config/neovim/lua/opdavies/lsp/null-ls.lua | 1 + 3 files changed, 28 insertions(+), 102 deletions(-) delete mode 100644 config/neovim/after/plugin/completion.lua diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua deleted file mode 100644 index b7d05af3..00000000 --- a/config/neovim/after/plugin/completion.lua +++ /dev/null @@ -1,75 +0,0 @@ -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - -local snip_status_ok, luasnip = pcall(require, "luasnip") -if not snip_status_ok then - return -end - -vim.opt.shortmess:append "c" - -cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - - mapping = cmp.mapping.preset.insert { - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.close(), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.confirm { select = true }, - [""] = cmp.config.disable, - }, - - sources = { - { name = "nvim_lsp_signature_help" }, - { name = "nvim_lsp" }, - { name = "nvim_lua" }, - { name = "cmp_tabnine" }, - { name = "path" }, - { name = "luasnip" }, - { name = "buffer", keyword_length = 5, max_item_count = 5 }, - }, - - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - cmp.config.compare.score, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - - formatting = { - format = require("lspkind").cmp_format { - with_text = true, - menu = { - buffer = "[buf]", - cmp_tabnine = "[tn]", - luasnip = "[snip]", - nvim_lsp = "[lsp]", - nvim_lua = "[lua]", - path = "[path]", - }, - }, - }, - - experimental = { - ghost_text = false, - native_menu = false, - }, -} - -vim.cmd [[ - augroup DadbodSql - au! - autocmd FileType sql,mysql,plsql lua require('cmp').setup.buffer { sources = { { name = 'vim-dadbod-completion' } } } - augroup END -]] diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 318b07b6..6b787c8e 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -1,11 +1,19 @@ -local lsp = require 'lsp-zero' -local lspconfig = require "lspconfig" +local cmp = require('cmp') +local lsp = require('lsp-zero') +local lspconfig = require('lspconfig') -lsp.preset({ - float_border = 'none', -}); +lsp.preset("recommended") -lsp.nvim_workspace() +local on_attach = function(client, bufnr) + lsp.default_keymaps({buffer = bufnr}) + + local opts = { buffer = true } + + vim.keymap.set("n", "ca", vim.lsp.code_action, opts) + vim.keymap.set("n", "rn", vim.lsp.buf.rename, opts) +end + +lsp.on_attach(on_attach) lsp.setup_servers({ 'ansiblels', @@ -24,30 +32,11 @@ lsp.setup_servers({ 'yamlls' }) -lsp.set_preferences({ - sign_icons = { - error = 'E', - hint = 'H', - info = 'I', - warn = 'W', - }, - - suggest_lsp_servers = false, -}) - -lsp.on_attach(on_attach) - lsp.setup() -vim.diagnostic.config({ - virtual_text = true -}) - -lspconfig.intelephense.setup({ - filetypes = { "php", "module", "test", "inc" }, -}) - lspconfig.tailwindcss.setup({ + on_attach = on_attach, + filetypes = { "astro", "html", @@ -66,5 +55,16 @@ lspconfig.tailwindcss.setup({ }, }) +vim.diagnostic.config({ + virtual_text = false, +}) + +cmp.setup({ + preselect = 'item', + completion = { + completeopt = 'menu,menuone,noinsert' + }, +}) + require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 5945118c..c2f1dd7d 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -36,5 +36,6 @@ null_ls.setup { diagnostics.phpstan, diagnostics.shellcheck, }, + temp_dir = "/tmp", } From d0f59f950b5a792319b3595d228713294dccc817 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 28 Apr 2023 22:34:11 +0100 Subject: [PATCH 0176/2258] refactor(nvim): move custom plugins --- home-manager/modules/common.nix | 83 ++++++++++++++++++++++++++++++--- system/shared/overlays.nix | 69 --------------------------- 2 files changed, 76 insertions(+), 76 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index bd804797..f35a1860 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -1,5 +1,74 @@ { config, lib, pkgs, ... }: let + vim-astro = pkgs.vimUtils.buildVimPlugin { + name = "vim-astro"; + src = pkgs.fetchFromGitHub { + owner = "wuelnerdotexe"; + repo = "vim-astro"; + rev = "main"; + sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; + }; + }; + + vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-just = pkgs.vimUtils.buildVimPlugin { + name = "vim-just"; + src = pkgs.fetchFromGitHub { + owner = "NoahTheDuke"; + repo = "vim-just"; + rev = "838c9096d4c5d64d1000a6442a358746324c2123"; + sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; + }; + }; + + vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "master"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { + name = "vim-visual-star-search"; + src = pkgs.fetchFromGitHub { + owner = "nelstrom"; + repo = "vim-visual-star-search"; + rev = "37259722f45996733fd309add61385a4ad88bdb9"; + sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; + }; + }; in { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "intelephense" @@ -29,13 +98,13 @@ in { vimAlias = true; plugins = with pkgs; [ - customVim.tabline-vim - customVim.vim-astro - customVim.vim-caser - customVim.vim-heritage - customVim.vim-just - customVim.vim-textobj-xmlattr - customVim.vim-visual-star-search + tabline-vim + vim-astro + vim-caser + vim-heritage + vim-just + vim-textobj-xmlattr + vim-visual-star-search vimPlugins.comment-nvim vimPlugins.dial-nvim diff --git a/system/shared/overlays.nix b/system/shared/overlays.nix index ad7b96f7..434e0cef 100644 --- a/system/shared/overlays.nix +++ b/system/shared/overlays.nix @@ -1,73 +1,4 @@ self: super: { customVim = with self; { - vim-astro = pkgs.vimUtils.buildVimPlugin { - name = "vim-astro"; - src = pkgs.fetchFromGitHub { - owner = "wuelnerdotexe"; - repo = "vim-astro"; - rev = "main"; - sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; - }; - }; - - vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-just = pkgs.vimUtils.buildVimPlugin { - name = "vim-just"; - src = pkgs.fetchFromGitHub { - owner = "NoahTheDuke"; - repo = "vim-just"; - rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; - }; - }; - - vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "master"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { - name = "vim-visual-star-search"; - src = pkgs.fetchFromGitHub { - owner = "nelstrom"; - repo = "vim-visual-star-search"; - rev = "37259722f45996733fd309add61385a4ad88bdb9"; - sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; - }; - }; }; } From 1981c62978bbb475569c01dcb37b84e1d38c5375 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 29 Apr 2023 10:57:46 +0100 Subject: [PATCH 0177/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index cae0aaf8..bcef4812 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ ] }, "locked": { - "lastModified": 1682535786, - "narHash": "sha256-NH2a8yB8V25cglvcHDrvaTLvohzMgGLLZ4vnXQn4vOw=", + "lastModified": 1682759296, + "narHash": "sha256-FgBfP1e+TnED0lT3L9G6KJ6j07xQElFMRdLIsmKQ0Ss=", "owner": "nix-community", "repo": "home-manager", - "rev": "d82c9af8175878a461a0fdf914e67cc446664570", + "rev": "27d89b49e3cd3c83b9609a6ff9173a9b8d2d9ad4", "type": "github" }, "original": { @@ -61,11 +61,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682581904, - "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", + "lastModified": 1682734071, + "narHash": "sha256-5PK5tUQ8LIHIzNdz1mWk0CHOzg8Sawqhg8bT7b0ftnY=", "owner": "neovim", "repo": "neovim", - "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", + "rev": "3287fc2ba9284d48e945ab0008b7844e1ec40eec", "type": "github" }, "original": { @@ -82,11 +82,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682583188, - "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", + "lastModified": 1682755921, + "narHash": "sha256-lStvbbnZEXYbWOnIMsKAPL5r76hw0gyo4Z7+j/2isd4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", + "rev": "f4cb6e69d0acdefe16122ee6239626dcb01e0904", "type": "github" }, "original": { @@ -97,11 +97,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1682109806, - "narHash": "sha256-d9g7RKNShMLboTWwukM+RObDWWpHKaqTYXB48clBWXI=", + "lastModified": 1682716666, + "narHash": "sha256-RGKVQ6pt12VWzJ0vPTLTdsmsyTfsfL4WYgLztE2ZACg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2362848adf8def2866fabbffc50462e929d7fffb", + "rev": "358a179550508bf2dafdf1657a94b7f65d91c4bf", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682526928, - "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", + "lastModified": 1682692304, + "narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", + "rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37", "type": "github" }, "original": { From 80c09d27839604c0fc6916e055ed6106f3b76ed3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 29 Apr 2023 11:03:36 +0100 Subject: [PATCH 0178/2258] revert(update) This reverts commit 1981c62978bbb475569c01dcb37b84e1d38c5375. --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index bcef4812..cae0aaf8 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ ] }, "locked": { - "lastModified": 1682759296, - "narHash": "sha256-FgBfP1e+TnED0lT3L9G6KJ6j07xQElFMRdLIsmKQ0Ss=", + "lastModified": 1682535786, + "narHash": "sha256-NH2a8yB8V25cglvcHDrvaTLvohzMgGLLZ4vnXQn4vOw=", "owner": "nix-community", "repo": "home-manager", - "rev": "27d89b49e3cd3c83b9609a6ff9173a9b8d2d9ad4", + "rev": "d82c9af8175878a461a0fdf914e67cc446664570", "type": "github" }, "original": { @@ -61,11 +61,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682734071, - "narHash": "sha256-5PK5tUQ8LIHIzNdz1mWk0CHOzg8Sawqhg8bT7b0ftnY=", + "lastModified": 1682581904, + "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", "owner": "neovim", "repo": "neovim", - "rev": "3287fc2ba9284d48e945ab0008b7844e1ec40eec", + "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", "type": "github" }, "original": { @@ -82,11 +82,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682755921, - "narHash": "sha256-lStvbbnZEXYbWOnIMsKAPL5r76hw0gyo4Z7+j/2isd4=", + "lastModified": 1682583188, + "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f4cb6e69d0acdefe16122ee6239626dcb01e0904", + "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", "type": "github" }, "original": { @@ -97,11 +97,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1682716666, - "narHash": "sha256-RGKVQ6pt12VWzJ0vPTLTdsmsyTfsfL4WYgLztE2ZACg=", + "lastModified": 1682109806, + "narHash": "sha256-d9g7RKNShMLboTWwukM+RObDWWpHKaqTYXB48clBWXI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "358a179550508bf2dafdf1657a94b7f65d91c4bf", + "rev": "2362848adf8def2866fabbffc50462e929d7fffb", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682692304, - "narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=", + "lastModified": 1682526928, + "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37", + "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", "type": "github" }, "original": { From dbfcc977089d1e203507c6fa011ee7d3a6aef442 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Apr 2023 10:51:44 +0100 Subject: [PATCH 0179/2258] fix(nvim): additional LSP keybindings --- config/neovim/lua/opdavies/lsp/init.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 6b787c8e..92bd657d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -9,8 +9,9 @@ local on_attach = function(client, bufnr) local opts = { buffer = true } - vim.keymap.set("n", "ca", vim.lsp.code_action, opts) - vim.keymap.set("n", "rn", vim.lsp.buf.rename, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) + vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) end lsp.on_attach(on_attach) From 7c8dfc5ad4912b82ed6e51a85eb3780b3d855ae6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Apr 2023 10:52:07 +0100 Subject: [PATCH 0180/2258] chore(nvim): remove sign icons --- config/neovim/lua/opdavies/lsp/init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 92bd657d..60ec556d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -16,6 +16,10 @@ end lsp.on_attach(on_attach) +lsp.set_preferences({ + sign_icons = {}, +}) + lsp.setup_servers({ 'ansiblels', 'astro', From fe4833cdbab223284ac6dfbb259de96a1116281e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Apr 2023 10:52:24 +0100 Subject: [PATCH 0181/2258] chore(nvim): re-add virtual text --- config/neovim/lua/opdavies/lsp/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 60ec556d..ce393264 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -61,7 +61,7 @@ lspconfig.tailwindcss.setup({ }) vim.diagnostic.config({ - virtual_text = false, + virtual_text = true, }) cmp.setup({ From 52e323be811b957978e07109cea3c0883cf49f18 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Apr 2023 10:52:47 +0100 Subject: [PATCH 0182/2258] fix(nvim): set `signcolumn` Stop the window moving when a new Gitsigns column is added. --- config/neovim/lua/opdavies/options.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index a5fa4854..f052c743 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -143,6 +143,7 @@ local function set_vim_o() scrolloff = 10, shiftwidth = 2, showmode = false, + signcolumn = "yes:1", smartindent = true, softtabstop = 2, splitbelow = true, From 491b6bcc3fbc054d2bde664626e9295a047476f5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Apr 2023 23:12:20 +0100 Subject: [PATCH 0183/2258] fix(nvim): eslint errors on first lines of buffers Only run eslint when an .eslintrc.js file is present in the project root. --- config/neovim/lua/opdavies/lsp/null-ls.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index c2f1dd7d..189de34d 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -29,7 +29,11 @@ null_ls.setup { formatting.rustywind, formatting.stylua, - diagnostics.eslint, + diagnostics.eslint.with({ + condition = function(utils) + return utils.root_has_file({ '.eslintrc.js' }) + end, + }), diagnostics.markdownlint, diagnostics.php, diagnostics.phpcs, From 9a94a65cad81bc45de22b7364323fd1e1ce28b7c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 1 May 2023 10:04:36 +0100 Subject: [PATCH 0184/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index cae0aaf8..9082744f 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ ] }, "locked": { - "lastModified": 1682535786, - "narHash": "sha256-NH2a8yB8V25cglvcHDrvaTLvohzMgGLLZ4vnXQn4vOw=", + "lastModified": 1682779989, + "narHash": "sha256-H8AjcIBYFYrlRobYJ+n1B+ZJ6TsaaeZpuLn4iRqVvr4=", "owner": "nix-community", "repo": "home-manager", - "rev": "d82c9af8175878a461a0fdf914e67cc446664570", + "rev": "3144311f31194b537808ae6848f86f3dbf977d59", "type": "github" }, "original": { @@ -61,11 +61,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682581904, - "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", + "lastModified": 1682920343, + "narHash": "sha256-G/WhTxlm5BIRoXSK0zAWe+Qw8xZmdhZb+eiHIao2yB8=", "owner": "neovim", "repo": "neovim", - "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", + "rev": "37bc73e9bc2d8af878e49b81c5f49f861bba905c", "type": "github" }, "original": { @@ -82,11 +82,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682583188, - "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", + "lastModified": 1682928826, + "narHash": "sha256-9IpQEFAB2hypFv2M502nNuKcM4fCOEvkuiP/gqy5+/k=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", + "rev": "a0c77dcf972a01257af78e2a475366c18d55e74f", "type": "github" }, "original": { @@ -97,11 +97,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1682109806, - "narHash": "sha256-d9g7RKNShMLboTWwukM+RObDWWpHKaqTYXB48clBWXI=", + "lastModified": 1682900373, + "narHash": "sha256-+ckiCxbGFSs1/wHKCXAZnvb37Htf6k5nmQE3T0Y7hK8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2362848adf8def2866fabbffc50462e929d7fffb", + "rev": "8b3bc690e201c8d3cbd14633dbf3462a820e73f2", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682526928, - "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", + "lastModified": 1682786779, + "narHash": "sha256-m7QFzPS/CE8hbkbIVK4UStihAQMtczr0vSpOgETOM1g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", + "rev": "08e4dc3a907a6dfec8bb3bbf1540d8abbffea22b", "type": "github" }, "original": { From 1be69caabb033867939a0f1531e0ee1f4b72d1b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 2 May 2023 01:11:22 +0100 Subject: [PATCH 0185/2258] fix(nvim): remove plugins.lua --- config/neovim/init.lua | 2 - config/neovim/lua/opdavies/plugins.lua | 137 ------------------------- 2 files changed, 139 deletions(-) delete mode 100644 config/neovim/lua/opdavies/plugins.lua diff --git a/config/neovim/init.lua b/config/neovim/init.lua index 2f8e49dc..dd2b1821 100644 --- a/config/neovim/init.lua +++ b/config/neovim/init.lua @@ -4,8 +4,6 @@ require "opdavies.globals" require("opdavies.options").setup() -require "opdavies.plugins" - require "opdavies.lsp" require "opdavies.telescope.setup" diff --git a/config/neovim/lua/opdavies/plugins.lua b/config/neovim/lua/opdavies/plugins.lua deleted file mode 100644 index 98915f80..00000000 --- a/config/neovim/lua/opdavies/plugins.lua +++ /dev/null @@ -1,137 +0,0 @@ -local status_ok, packer = pcall(require, "packer") -if not status_ok then - return -end - -packer.init { - display = { - open_fn = function() - return require("packer.util").float {} - end, - }, -} - -return packer.startup(function() - local use = packer.use - - use "wbthomason/packer.nvim" - - -- Tmux - use "preservim/vimux" - - -- Utilities - use "aca/emmet-ls" - use "andymass/vim-matchup" - use "cakebaker/scss-syntax.vim" - use "christoomey/vim-sort-motion" - use "christoomey/vim-tmux-navigator" - use "editorconfig/editorconfig-vim" - use "folke/twilight.nvim" - use "folke/zen-mode.nvim" - use "icatalina/vim-case-change" - use "junegunn/vim-easy-align" - use "kazhala/close-buffers.nvim" - use "kyazdani42/nvim-web-devicons" - use "lewis6991/gitsigns.nvim" - use "lewis6991/impatient.nvim" - use "machakann/vim-highlightedyank" - use "miyakogi/seiya.vim" - use "mkitt/tabline.vim" - use "monaqa/dial.nvim" - use "norcalli/nvim-colorizer.lua" - use "numToStr/Comment.nvim" - use "nvim-lua/plenary.nvim" - use "nvim-lua/popup.nvim" - use "sheerun/vim-polyglot" - use "theprimeagen/git-worktree.nvim" - use "theprimeagen/refactoring.nvim" - use "tjdevries/express_line.nvim" - use "tpope/vim-abolish" - use "tpope/vim-repeat" - use "tpope/vim-surround" - use "vim-test/vim-test" - use { "mg979/vim-visual-multi", branch = "master" } - - -- Themes - use { - "tjdevries/gruvbuddy.nvim", - requires = { - "tjdevries/colorbuddy.vim", - }, - } - - -- Navigation - use "ThePrimeagen/harpoon" - use "tamago324/lir-git-status.nvim" - use "tamago324/lir.nvim" - - -- Treesitter - use "nvim-treesitter/playground" - use 'nvim-treesitter/nvim-treesitter-context' - use { - "nvim-treesitter/nvim-treesitter", - run = ":TSUpdate", - } - use "nvim-treesitter/nvim-treesitter-textobjects" - - -- Completion - use { - "hrsh7th/nvim-cmp", - requires = { - "L3MON4D3/LuaSnip", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-path", - "onsails/lspkind-nvim", - "saadparwaiz1/cmp_luasnip", - }, - } - - -- Snippets - use "L3MON4D3/LuaSnip" - use "rafamadriz/friendly-snippets" - - -- LSP - use "jose-elias-alvarez/null-ls.nvim" - use "neovim/nvim-lspconfig" - use "nvim-lua/lsp-status.nvim" - - -- Debugging - use "mfussenegger/nvim-dap" - use "nvim-telescope/telescope-dap.nvim" - use "rcarriga/nvim-dap-ui" - use "theHamsta/nvim-dap-virtual-text" - - -- Telescope - use "nvim-telescope/telescope.nvim" - use "nvim-telescope/telescope-file-browser.nvim" - use { "nvim-telescope/telescope-fzf-native.nvim", run = "make" } - use { "nvim-telescope/telescope-ui-select.nvim" } - - -- Git - use "TimUntersberger/neogit" - - -- Databases - use "tpope/vim-dadbod" - use "kristijanhusak/vim-dadbod-completion" - use "kristijanhusak/vim-dadbod-ui" - - -- HTTP client - use "rest-nvim/rest.nvim" - - -- Text objects - use "kana/vim-textobj-indent" - use "kana/vim-textobj-user" - use "vim-scripts/argtextobj.vim" - use "wellle/targets.vim" - - -- Markdown - use { - "iamcco/markdown-preview.nvim", - run = "cd app && npm install", - setup = function() - vim.g.mkdp_filetypes = { "markdown" } - end, - ft = { "markdown" }, - } -end) From 4b459f08d40d5d0851889db08ddfe0b79ae46c6a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 May 2023 22:19:59 +0100 Subject: [PATCH 0186/2258] style: reformat with nixpkgs-fmt --- flake.lock | 318 ++++++++++++++++-- flake.nix | 15 +- home-manager/apollo.nix | 4 +- home-manager/modules/common.nix | 33 +- home-manager/modules/git.nix | 19 +- home-manager/modules/home-manager.nix | 3 +- home-manager/modules/tmux.nix | 3 +- home-manager/modules/zsh.nix | 18 +- home-manager/nixedo.nix | 16 +- system/nixos/apollo/configuration.nix | 31 +- system/nixos/apollo/default.nix | 15 +- .../nixos/apollo/hardware-configuration.nix | 29 +- system/nixos/nixedo/configuration.nix | 13 +- system/shared/nixpkgs.nix | 6 +- system/shared/overlays.nix | 5 +- 15 files changed, 398 insertions(+), 130 deletions(-) diff --git a/flake.lock b/flake.lock index 9082744f..8c3f3419 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,83 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1680392223, + "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -31,6 +108,105 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "neovim-nightly", + "hercules-ci-effects", + "hercules-ci-agent", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "haskell-flake": { + "locked": { + "lastModified": 1678138103, + "narHash": "sha256-D0lao82bV3t2gEFjHiU6RN233t+1MnkQV+bq8MEu2ic=", + "owner": "hercules-ci", + "repo": "haskell-flake", + "rev": "1e1660e6dd00838ba73bc7952e6e73be67da18d1", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "ref": "0.1-extraLibraries", + "repo": "haskell-flake", + "type": "github" + } + }, + "hercules-ci-agent": { + "inputs": { + "flake-parts": "flake-parts_3", + "haskell-flake": "haskell-flake", + "nix-darwin": "nix-darwin", + "nixpkgs": "nixpkgs", + "pre-commit-hooks-nix": "pre-commit-hooks-nix" + }, + "locked": { + "lastModified": 1678446614, + "narHash": "sha256-Z6Gsba5ahn/N0QlF0vJfIEfnZgCs4qr1IZtXAqjbE7s=", + "owner": "hercules-ci", + "repo": "hercules-ci-agent", + "rev": "0b90d1a87c117a5861785cb85833dd1c9df0b6ef", + "type": "github" + }, + "original": { + "id": "hercules-ci-agent", + "type": "indirect" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "hercules-ci-agent": "hercules-ci-agent", + "nixpkgs": [ + "neovim-nightly", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1681898675, + "narHash": "sha256-nIJ7CAdiHv4i1no/VgDoeTJLzbLYwu5+/Ycoyzn0S78=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -53,7 +229,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": [ "neovim-nightly", "nixpkgs" @@ -61,11 +237,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682920343, - "narHash": "sha256-G/WhTxlm5BIRoXSK0zAWe+Qw8xZmdhZb+eiHIao2yB8=", + "lastModified": 1682581904, + "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", "owner": "neovim", "repo": "neovim", - "rev": "37bc73e9bc2d8af878e49b81c5f49f861bba905c", + "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", "type": "github" }, "original": { @@ -78,15 +254,17 @@ "neovim-nightly": { "inputs": { "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1682928826, - "narHash": "sha256-9IpQEFAB2hypFv2M502nNuKcM4fCOEvkuiP/gqy5+/k=", + "lastModified": 1682955971, + "narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a0c77dcf972a01257af78e2a475366c18d55e74f", + "rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53", "type": "github" }, "original": { @@ -95,29 +273,102 @@ "type": "github" } }, - "nixpkgs": { + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "neovim-nightly", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1682900373, - "narHash": "sha256-+ckiCxbGFSs1/wHKCXAZnvb37Htf6k5nmQE3T0Y7hK8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "8b3bc690e201c8d3cbd14633dbf3462a820e73f2", + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1678293141, + "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1682786779, - "narHash": "sha256-m7QFzPS/CE8hbkbIVK4UStihAQMtczr0vSpOgETOM1g=", + "lastModified": 1682929865, + "narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f2e9a130461950270f87630b11132323706b4d91", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1682879489, + "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08e4dc3a907a6dfec8bb3bbf1540d8abbffea22b", + "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", "type": "github" }, "original": { @@ -127,11 +378,38 @@ "type": "github" } }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "gitignore": "gitignore", + "nixpkgs": [ + "neovim-nightly", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1678376203, + "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "neovim-nightly": "neovim-nightly", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" } } }, diff --git a/flake.nix b/flake.nix index 7a7a986c..0c22668e 100644 --- a/flake.nix +++ b/flake.nix @@ -8,12 +8,15 @@ }; outputs = { self, home-manager, neovim-nightly, nixpkgs, ... }: - let overlays = [ neovim-nightly.overlay ]; - in { + let + overlays = [ neovim-nightly.overlay ]; + system = "x86_64-linux"; + in + { + formatter.${system} = nixpkgs.legacyPackages.${system}.nixpkgs-fmt; + nixosConfigurations = { apollo = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ { nixpkgs.overlays = overlays; } @@ -29,8 +32,6 @@ }; nixedo = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ { nixpkgs.overlays = overlays; } @@ -48,7 +49,7 @@ homeConfigurations = { wsl2 = home-manager.lib.homeManagerConfiguration { - modules = [ { nixpkgs.overlays = overlays; } ./system/wsl2.nix ]; + modules = [{ nixpkgs.overlays = overlays; } ./system/wsl2.nix]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; }; diff --git a/home-manager/apollo.nix b/home-manager/apollo.nix index 1f3897c3..1710c5ee 100644 --- a/home-manager/apollo.nix +++ b/home-manager/apollo.nix @@ -32,9 +32,7 @@ glyph_offset.y = 6; }; - shell = { - program = "zsh"; - }; + shell = { program = "zsh"; }; }; }; } diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index f35a1860..40a3b08d 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -69,24 +69,23 @@ let sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; }; }; -in { - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "intelephense" - "postman" - ]; +in +{ + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ "intelephense" "postman" ]; home.packages = (import ./packages.nix) { inherit pkgs; }; home.file."nodemon.json".text = '' - { - "ignore": [ - ".git" - ], - "verbose": true, - "events": { - "start": "clear" + { + "ignore": [ + ".git" + ], + "verbose": true, + "events": { + "start": "clear" + } } - } ''; programs.bat.enable = true; @@ -213,18 +212,20 @@ in { nodePackages.vls nodePackages.vscode-langservers-extracted nodePackages.yaml-language-server + phpactor php81Packages.phpcbf php81Packages.phpcs php81Packages.phpstan proselint rnix-lsp + rstfmt shellcheck ]; }; - home.sessionPath = [ - "$HOME/.config/bin" - ]; + programs.nnn.enable = true; + + home.sessionPath = [ "$HOME/.config/bin" ]; xdg.configFile.bin = { source = ../../bin; diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 33e0e7d3..20fffcb2 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -1,5 +1,4 @@ -{ config, pkgs, lib, libs, ... }: -{ +{ config, pkgs, lib, libs, ... }: { programs.git = { enable = true; userName = "Oliver Davies"; @@ -19,10 +18,12 @@ current-branch = "rev-parse --abbrev-ref HEAD"; dc = "diff --color --word-diff --cached"; df = "diff --color --word-diff"; - dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + dup = + "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; fixup = "commit --fixup"; issues = "!gh issue list --web"; - mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + mup = + "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; nah = "!git reset --hard && git clean -fd"; no-ff = "merge --no-ff"; pl = "pull"; @@ -35,10 +36,12 @@ repush = "!git pull --rebase && git push"; ri = "rebase --interactive"; rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rim = + "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; rip = "!git rebase -i $(git merge-base production HEAD)"; ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + riu = + "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; sl = "log --oneline --decorate -20"; sla = "log --oneline --decorate --graph --all -20"; @@ -61,9 +64,7 @@ }; checkout.defaultRemote = "origin"; color.ui = true; - commit = { - template = "~/.gitmessage"; - }; + commit = { template = "~/.gitmessage"; }; core = { editor = "nvim"; excludesFile = "~/.gitignore-global"; diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 21e6d675..780a25da 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -1,5 +1,4 @@ -{ config, pkgs, ... }: -{ +{ config, pkgs, ... }: { home.username = "opdavies"; home.homeDirectory = "/home/opdavies"; diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix index ee4ad560..decd7aee 100644 --- a/home-manager/modules/tmux.nix +++ b/home-manager/modules/tmux.nix @@ -1,5 +1,4 @@ -{ config, pkgs, lib, libs, ... }: -{ +{ config, pkgs, lib, libs, ... }: { programs.tmux = { enable = true; terminal = "tmux-256color"; diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index a42aed87..83670f18 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -1,5 +1,4 @@ -{ config, pkgs, lib, libs, ... }: -{ +{ config, pkgs, lib, libs, ... }: { programs.zsh = { enable = true; enableCompletion = false; @@ -119,9 +118,18 @@ enable = true; plugins = [ - { name = "themes/robbyrussell"; tags = [from:oh-my-zsh as:theme]; } - { name = "plugin/git"; tags = [from:oh-my-zsh]; } - { name = "plugin/vi-mode"; tags = [from:oh-my-zsh]; } + { + name = "themes/robbyrussell"; + tags = [ "from:oh-my-zsh" "as:theme" ]; + } + { + name = "plugin/git"; + tags = [ "from:oh-my-zsh" ]; + } + { + name = "plugin/vi-mode"; + tags = [ "from:oh-my-zsh" ]; + } { name = "mollifier/cd-gitroot"; } { name = "zsh-users/zsh-autosuggestions"; } { name = "zsh-users/zsh-completions"; } diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 9d5742e1..f1fec04c 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -26,25 +26,15 @@ font = { size = 12.0; - normal.family = "Meslo LG M"; + normal.family = "JetBrainsMono Nerd Font"; offset.y = 12; glyph_offset.y = 6; }; - shell = { - program = "zsh"; - }; + shell = { program = "zsh"; }; }; }; - home.packages = with pkgs; [ - discord - meslo-lg - slack - teams - vlc - xcape - zoom-us - ]; + home.packages = with pkgs; [ discord meslo-lg slack teams vlc xcape zoom-us ]; } diff --git a/system/nixos/apollo/configuration.nix b/system/nixos/apollo/configuration.nix index 0e86fcd2..33b3dca8 100644 --- a/system/nixos/apollo/configuration.nix +++ b/system/nixos/apollo/configuration.nix @@ -5,13 +5,14 @@ { config, pkgs, ... }: let - home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; + home-manager = builtins.fetchTarball + "https://github.com/nix-community/home-manager/archive/master.tar.gz"; in { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; @@ -97,10 +98,8 @@ in ]; }; - environment.gnome.excludePackages = (with pkgs; [ - gnome-photos - gnome-tour - ]) ++ (with pkgs.gnome; [ + environment.gnome.excludePackages = (with pkgs; [ gnome-photos gnome-tour ]) + ++ (with pkgs.gnome; [ atomix cheese evince @@ -120,10 +119,11 @@ in # List packages installed in system profile. To search, run: # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; + environment.systemPackages = with pkgs; + [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. @@ -159,9 +159,8 @@ in users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; - fonts.fonts = with pkgs; [ - (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) - ]; + fonts.fonts = with pkgs; + [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; services.cron = { enable = true; diff --git a/system/nixos/apollo/default.nix b/system/nixos/apollo/default.nix index 515387a9..9c9b2695 100644 --- a/system/nixos/apollo/default.nix +++ b/system/nixos/apollo/default.nix @@ -4,15 +4,12 @@ imports = [ # ./configuration.nix -# ../../../home-manager/modules/common.nix -# ../../../home-manager/modules/git.nix -# ../../../home-manager/modules/home-manager.nix -# ../../../home-manager/modules/tmux.nix -# ../../../home-manager/modules/zsh.nix + # ../../../home-manager/modules/common.nix + # ../../../home-manager/modules/git.nix + # ../../../home-manager/modules/home-manager.nix + # ../../../home-manager/modules/tmux.nix + # ../../../home-manager/modules/zsh.nix ]; - home.packages = with pkgs; [ - docker - docker-compose - ]; + home.packages = with pkgs; [ docker docker-compose ]; } diff --git a/system/nixos/apollo/hardware-configuration.nix b/system/nixos/apollo/hardware-configuration.nix index 68db6d81..f3fb9e5c 100644 --- a/system/nixos/apollo/hardware-configuration.nix +++ b/system/nixos/apollo/hardware-configuration.nix @@ -4,28 +4,26 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.availableKernelModules = + [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/62b28eee-5b67-41af-9fcf-95e8171e1897"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/62b28eee-5b67-41af-9fcf-95e8171e1897"; + fsType = "ext4"; + }; - fileSystems."/boot/efi" = - { device = "/dev/disk/by-uuid/378D-387D"; - fsType = "vfat"; - }; + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/378D-387D"; + fsType = "vfat"; + }; swapDevices = - [ { device = "/dev/disk/by-uuid/f95ef42e-09d9-4198-b8f3-2e22ea8c4f9e"; } - ]; + [{ device = "/dev/disk/by-uuid/f95ef42e-09d9-4198-b8f3-2e22ea8c4f9e"; }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's @@ -36,7 +34,8 @@ # networking.interfaces.wlp54s0.useDHCP = lib.mkDefault true; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.bluetooth.enable = true; } diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 808dde4d..f4e7e206 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -4,13 +4,12 @@ { config, pkgs, ... }: -let - nixpkgs = import ../../shared/nixpkgs.nix { }; -in -{ +let nixpkgs = import ../../shared/nixpkgs.nix { }; +in { nixpkgs = nixpkgs; - imports = [ # Include the results of the hardware scan. + imports = [ + # Include the results of the hardware scan. ./hardware-configuration.nix ]; @@ -141,5 +140,9 @@ in programs.zsh.histSize = 5000; users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; + + fonts.fonts = with pkgs; + [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; + } diff --git a/system/shared/nixpkgs.nix b/system/shared/nixpkgs.nix index c0aa10c3..a39e65de 100644 --- a/system/shared/nixpkgs.nix +++ b/system/shared/nixpkgs.nix @@ -1,7 +1,5 @@ -{ }: { - config = { - allowUnfree = true; - }; +{}: { + config = { allowUnfree = true; }; overlays = [ (import ./overlays.nix) ]; } diff --git a/system/shared/overlays.nix b/system/shared/overlays.nix index 434e0cef..ddb4f237 100644 --- a/system/shared/overlays.nix +++ b/system/shared/overlays.nix @@ -1,4 +1 @@ -self: super: { - customVim = with self; { - }; -} +self: super: { } From f0560fb7737a722c539e91be8976050c3c76d6d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 May 2023 22:20:53 +0100 Subject: [PATCH 0187/2258] chore(update) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8c3f3419..b926e42b 100644 --- a/flake.lock +++ b/flake.lock @@ -214,11 +214,11 @@ ] }, "locked": { - "lastModified": 1682779989, - "narHash": "sha256-H8AjcIBYFYrlRobYJ+n1B+ZJ6TsaaeZpuLn4iRqVvr4=", + "lastModified": 1682977601, + "narHash": "sha256-F1Va/Uiw2tVNn27FLqWyBkiqDyIm/eCamw9wA/GK8Fw=", "owner": "nix-community", "repo": "home-manager", - "rev": "3144311f31194b537808ae6848f86f3dbf977d59", + "rev": "0e4c33d76006c9080d2f228ba1c2308e3e4d7be6", "type": "github" }, "original": { @@ -364,11 +364,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1682879489, - "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", + "lastModified": 1683014792, + "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", "type": "github" }, "original": { From 967e7e7bf8a1a022f1704778bb2c3faa866debb6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 May 2023 22:41:33 +0100 Subject: [PATCH 0188/2258] refactor: use flake parts --- flake.lock | 48 ++++++++++++++++++++++++++++++++++++++++++------ flake.nix | 13 +++++-------- 2 files changed, 47 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index b926e42b..e0ef1052 100644 --- a/flake.lock +++ b/flake.lock @@ -33,6 +33,23 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1682984683, + "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "86684881e184f41aa322e653880e497b66429f3e", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "neovim-nightly", @@ -53,9 +70,9 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1678379998, @@ -70,7 +87,7 @@ "type": "indirect" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "neovim-nightly", @@ -165,7 +182,7 @@ }, "hercules-ci-agent": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "haskell-flake": "haskell-flake", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs", @@ -186,7 +203,7 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "hercules-ci-agent": "hercules-ci-agent", "nixpkgs": [ "neovim-nightly", @@ -254,7 +271,7 @@ "neovim-nightly": { "inputs": { "flake-compat": "flake-compat", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", "nixpkgs": "nixpkgs_2" @@ -313,6 +330,24 @@ } }, "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1682879489, + "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -407,6 +442,7 @@ }, "root": { "inputs": { + "flake-parts": "flake-parts", "home-manager": "home-manager", "neovim-nightly": "neovim-nightly", "nixpkgs": "nixpkgs_3" diff --git a/flake.nix b/flake.nix index 0c22668e..a97f47de 100644 --- a/flake.nix +++ b/flake.nix @@ -1,13 +1,10 @@ -# https://nix-community.github.io/home-manager/index.html#ch-nix-flakes { - inputs = { - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager"; - neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - }; + inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.url = "github:nix-community/home-manager"; + inputs.neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - outputs = { self, home-manager, neovim-nightly, nixpkgs, ... }: + outputs = inputs@{ home-manager, neovim-nightly, flake-parts, nixpkgs, self, ... }: let overlays = [ neovim-nightly.overlay ]; system = "x86_64-linux"; From 32c6ee2171a3d7c2583d7b9da00a0d14c937f85d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 4 May 2023 00:04:02 +0100 Subject: [PATCH 0189/2258] refactor: use flake parts --- flake.nix | 82 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 37 deletions(-) diff --git a/flake.nix b/flake.nix index a97f47de..e906fdbc 100644 --- a/flake.nix +++ b/flake.nix @@ -4,50 +4,58 @@ inputs.neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - outputs = inputs@{ home-manager, neovim-nightly, flake-parts, nixpkgs, self, ... }: + outputs = + inputs@{ flake-parts, home-manager, neovim-nightly, nixpkgs, self, ... }: let overlays = [ neovim-nightly.overlay ]; - system = "x86_64-linux"; in - { - formatter.${system} = nixpkgs.legacyPackages.${system}.nixpkgs-fmt; + flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" ]; - nixosConfigurations = { - apollo = nixpkgs.lib.nixosSystem { - modules = [ - { nixpkgs.overlays = overlays; } + perSystem = { pkgs, self', nixpkgs, ... }: { + packages.default = self'.packages.activate; - ./system/nixos/apollo/configuration.nix - - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.opdavies = import ./home-manager/apollo.nix; - } - ]; - }; - - nixedo = nixpkgs.lib.nixosSystem { - modules = [ - { nixpkgs.overlays = overlays; } - - ./system/nixos/nixedo/configuration.nix - - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.opdavies = import ./home-manager/nixedo.nix; - } - ]; - }; + formatter = pkgs.nixpkgs-fmt; }; - homeConfigurations = { - wsl2 = home-manager.lib.homeManagerConfiguration { - modules = [{ nixpkgs.overlays = overlays; } ./system/wsl2.nix]; - pkgs = nixpkgs.legacyPackages.x86_64-linux; + flake = { + nixosConfigurations = { + apollo = nixpkgs.lib.nixosSystem { + modules = [ + { nixpkgs.overlays = overlays; } + + ./system/nixos/apollo/configuration.nix + + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.opdavies = import ./home-manager/apollo.nix; + } + ]; + }; + + nixedo = nixpkgs.lib.nixosSystem { + modules = [ + { nixpkgs.overlays = overlays; } + + ./system/nixos/nixedo/configuration.nix + + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.opdavies = import ./home-manager/nixedo.nix; + } + ]; + }; + }; + + homeConfigurations = { + wsl2 = home-manager.lib.homeManagerConfiguration { + modules = [{ nixpkgs.overlays = overlays; } ./system/wsl2.nix]; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + }; }; }; }; From f08fe54d85f58d78d24af7f21c5c138364f4df6a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 May 2023 01:27:35 +0100 Subject: [PATCH 0190/2258] chore(update) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e0ef1052..8bf762e8 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1682977601, - "narHash": "sha256-F1Va/Uiw2tVNn27FLqWyBkiqDyIm/eCamw9wA/GK8Fw=", + "lastModified": 1683276747, + "narHash": "sha256-T3st1VBg3wmhHyBQb0z12sTSGsQgiu3mxkS61nLO8Xs=", "owner": "nix-community", "repo": "home-manager", - "rev": "0e4c33d76006c9080d2f228ba1c2308e3e4d7be6", + "rev": "669669fcb403e3137dfe599bbcc26e60502c3543", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683014792, - "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", + "lastModified": 1683286087, + "narHash": "sha256-xseOd7W7xwF5GOF2RW8qhjmVGrKoBz+caBlreaNzoeI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", + "rev": "3e313808bd2e0a0669430787fb22e43b2f4bf8bf", "type": "github" }, "original": { From 85913acb63b36db61d7f74dcdd8a59ec58f911fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 May 2023 19:54:55 +0100 Subject: [PATCH 0191/2258] chore(update) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8bf762e8..006b6b95 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1682984683, - "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", + "lastModified": 1683560683, + "narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "86684881e184f41aa322e653880e497b66429f3e", + "rev": "006c75898cf814ef9497252b022e91c946ba8e17", "type": "github" }, "original": { @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1683276747, - "narHash": "sha256-T3st1VBg3wmhHyBQb0z12sTSGsQgiu3mxkS61nLO8Xs=", + "lastModified": 1683543852, + "narHash": "sha256-aS9qNcg9GwSYFLCWa3Lw+2nVPG11mmQ3B7Oka1hh04M=", "owner": "nix-community", "repo": "home-manager", - "rev": "669669fcb403e3137dfe599bbcc26e60502c3543", + "rev": "3f3fa731ad0f99741d4dc98e8e1287b45e30b452", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683286087, - "narHash": "sha256-xseOd7W7xwF5GOF2RW8qhjmVGrKoBz+caBlreaNzoeI=", + "lastModified": 1683408522, + "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e313808bd2e0a0669430787fb22e43b2f4bf8bf", + "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", "type": "github" }, "original": { From bc149e3deb726eb9dabbb13424ed53d53192ca6d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 May 2023 19:08:53 +0100 Subject: [PATCH 0192/2258] feat(nvim): ignore key mapping error --- config/neovim/lua/opdavies/lsp/init.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index ce393264..53245d5d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -60,6 +60,14 @@ lspconfig.tailwindcss.setup({ }, }) +lspconfig.yamlls.setup({ + settings = { + yaml = { + keyOrdering = false, + } + } +}) + vim.diagnostic.config({ virtual_text = true, }) From bcfde30e28336a10ccbf11154f3a6645965d77ca Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 May 2023 19:09:12 +0100 Subject: [PATCH 0193/2258] feat: enable zram swap --- system/nixos/nixedo/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index f4e7e206..f18ad146 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -144,5 +144,6 @@ in { fonts.fonts = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; + zramSwap.enable = true; } From 1a65394a0c749f942d39ccff67c95fbda7cf62d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 May 2023 21:43:21 +0100 Subject: [PATCH 0194/2258] chore: update Git user email address --- home-manager/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 20fffcb2..6f2ca05d 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -2,7 +2,7 @@ programs.git = { enable = true; userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.uk"; + userEmail = "oliver@oliverdavies.dev"; aliases = { aa = "add --all"; From b733e63574bfab5fd63c0727130a4668fbf07039 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 01:35:36 +0100 Subject: [PATCH 0195/2258] feat(nvim): add phpactor Refs: #41 --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 40a3b08d..1b16faea 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -169,6 +169,7 @@ in vimPlugins.cmp_luasnip vimPlugins.lspkind-nvim vimPlugins.nvim-cmp + vimPlugins.phpactor # Snippets vimPlugins.luasnip From 9ecc92f7d1a857283c7eb79a01feb514cc33e1be Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 01:41:06 +0100 Subject: [PATCH 0196/2258] feat(nvim): evaluate replacing Intelephense with ...Phpactor Refs: #41 --- config/neovim/lua/opdavies/lsp/init.lua | 1 - home-manager/modules/common.nix | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 53245d5d..461172f2 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -27,7 +27,6 @@ lsp.setup_servers({ 'cssls', 'dockerls', 'html', - 'intelephense', 'jsonls', 'tailwindcss', 'terraformls', diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 1b16faea..2bedce54 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -72,7 +72,7 @@ let in { nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ "intelephense" "postman" ]; + builtins.elem (lib.getName pkg) [ "postman" ]; home.packages = (import ./packages.nix) { inherit pkgs; }; @@ -204,7 +204,6 @@ in nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs nodePackages.eslint - nodePackages.intelephense nodePackages.markdownlint-cli nodePackages.prettier nodePackages.typescript From b975044a9e4436827fc228d226e3d6d0e9be867f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 12:33:19 +0100 Subject: [PATCH 0197/2258] chore(nvim): remove old lir configuration --- config/neovim/after/plugin/lir.lua | 67 ------------------------------ 1 file changed, 67 deletions(-) delete mode 100644 config/neovim/after/plugin/lir.lua diff --git a/config/neovim/after/plugin/lir.lua b/config/neovim/after/plugin/lir.lua deleted file mode 100644 index f59bfc9a..00000000 --- a/config/neovim/after/plugin/lir.lua +++ /dev/null @@ -1,67 +0,0 @@ -local has_lir, lir = pcall(require, "lir") -if not has_lir then - return -end - -local actions = require "lir.actions" -local clipboard_actions = require "lir.clipboard.actions" -local mark_actions = require "lir.mark.actions" - -lir.setup { - hide_cursor = true, - show_hidden_files = true, - devicons_enable = true, - - mappings = { - ["l"] = actions.edit, - [""] = actions.split, - [""] = actions.vsplit, - [""] = actions.tabedit, - - ["h"] = actions.up, - ["q"] = actions.quit, - - ["K"] = actions.mkdir, - ["N"] = actions.newfile, - ["R"] = actions.rename, - ["@"] = actions.cd, - ["Y"] = actions.yank_path, - ["."] = actions.toggle_show_hidden, - ["D"] = actions.delete, - - ["J"] = function() - mark_actions.toggle_mark() - vim.cmd "normal! j" - end, - - ["C"] = clipboard_actions.copy, - ["X"] = clipboard_actions.cut, - ["P"] = clipboard_actions.paste, - }, - - float = { - winblend = 0, - curdir_window = { - enable = false, - highlight_dirname = false, - }, - }, - - on_init = function() - -- use visual mode - vim.api.nvim_buf_set_keymap( - 0, - "x", - "J", - ':lua require"lir.mark.actions".toggle_mark("v")', - { noremap = true, silent = true } - ) - - -- echo cwd - vim.api.nvim_echo({ { vim.fn.expand "%:p", "Normal" } }, false, {}) - end, -} - -require("lir.git_status").setup { - show_ignored = false, -} From fdd48ba14d5a589040c349194121e16021a8aa6e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 12:36:44 +0100 Subject: [PATCH 0198/2258] feat(scripts): stop all Docker containers --- bin/stop-all-docker-containers | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 bin/stop-all-docker-containers diff --git a/bin/stop-all-docker-containers b/bin/stop-all-docker-containers new file mode 100755 index 00000000..69e59a42 --- /dev/null +++ b/bin/stop-all-docker-containers @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Stops all running Docker containers except for the global Traefik proxy. + +set -euo pipefail + +# Show the running containers. +docker container ps + +echo "" + +# Stop the running containers and show any that are still running. +docker container ls | + tail -n +2 | + grep -v traefik-development-reverse-proxy-1 | + awk '{print $1}' | + xargs docker container stop +echo "" +docker container ps From 1e22556f6a52c8e7b2f9686e67d217c24e09838c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 12:20:55 +0100 Subject: [PATCH 0199/2258] feat(nvim): add Phpactor templates for Drupal tests --- config/phpactor/phpactor.yml | 4 ++++ .../SourceCode.php.twig | 21 +++++++++++++++++++ .../drupal-kernel-test/SourceCode.php.twig | 21 +++++++++++++++++++ .../drupal-unit-test/SourceCode.php.twig | 13 ++++++++++++ home-manager/modules/common.nix | 5 +++++ 5 files changed, 64 insertions(+) create mode 100644 config/phpactor/phpactor.yml create mode 100644 config/phpactor/templates/drupal-functional-test/SourceCode.php.twig create mode 100644 config/phpactor/templates/drupal-kernel-test/SourceCode.php.twig create mode 100644 config/phpactor/templates/drupal-unit-test/SourceCode.php.twig diff --git a/config/phpactor/phpactor.yml b/config/phpactor/phpactor.yml new file mode 100644 index 00000000..9b11d77b --- /dev/null +++ b/config/phpactor/phpactor.yml @@ -0,0 +1,4 @@ +code_transform.class_new.variants: + drupal-functional-test: drupal-functional-test + drupal-kernel-test: drupal-kernel-test + drupal-unit-test: drupal-unit-test diff --git a/config/phpactor/templates/drupal-functional-test/SourceCode.php.twig b/config/phpactor/templates/drupal-functional-test/SourceCode.php.twig new file mode 100644 index 00000000..08340a28 --- /dev/null +++ b/config/phpactor/templates/drupal-functional-test/SourceCode.php.twig @@ -0,0 +1,21 @@ + Date: Wed, 10 May 2023 12:33:00 +0100 Subject: [PATCH 0200/2258] feat(nvim): add key bindings for Phpactor --- config/neovim/after/plugin/phpactor.lua | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 config/neovim/after/plugin/phpactor.lua diff --git a/config/neovim/after/plugin/phpactor.lua b/config/neovim/after/plugin/phpactor.lua new file mode 100644 index 00000000..7cc85a8b --- /dev/null +++ b/config/neovim/after/plugin/phpactor.lua @@ -0,0 +1,4 @@ +local nmap = require "opdavies.keymap".nmap + +nmap { "pm", ":PhpactorContextMenu" } +nmap { "pn", ":PhpactorClassNew" } From 281b15d86b7e3cf82df2971eed261e5a9af9ee87 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 13:26:31 +0100 Subject: [PATCH 0201/2258] chore(home-manager): set environment variables --- home-manager/modules/common.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index bed16718..1a1100ef 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -88,6 +88,14 @@ in } ''; + home.sessionVariables = { + EDITOR = "nvim"; + LANG = "en_GB.UTF-8"; + LC_ALL = "en_GB.UTF-8"; + LC_CTYPE = "en_GB.UTF-8"; + PULUMI_SKIP_UPDATE_CHECK = "true"; + }; + programs.bat.enable = true; programs.neovim = { From 8512b1243094cf759cad192e7aff31e246b242bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 20:32:24 +0100 Subject: [PATCH 0202/2258] chore(nvim): no longer using Packer --- config/neovim/lua/opdavies/options.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index f052c743..a43a0fa7 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -5,7 +5,6 @@ local function set_autocmd() autocmd BufRead,BufNewFile *.test set filetype=php autocmd BufWritePost plugins.lua luafile % - autocmd BufWritePost plugins.lua PackerSync autocmd FileType gitcommit highlight ColorColumn ctermbg=8 autocmd FileType gitcommit setlocal colorcolumn=50,72 From bcbdcabd32ae5eda187ef249eba147502f315495 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 20:32:46 +0100 Subject: [PATCH 0203/2258] chore(nvim): stop automated resizing --- config/neovim/lua/opdavies/options.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index a43a0fa7..7f0aa0fe 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -12,9 +12,6 @@ local function set_autocmd() autocmd FileType gitcommit setlocal textwidth=72 ]] - -- Automatically resize buffers when Vim is resized. - vim.api.nvim_create_autocmd("VimResized *", { command = ":wincmd =" }) - -- Cursorline highlighting control. -- Only have it on in the current buffer. local group = vim.api.nvim_create_augroup("CursorLineControl", { clear = true }) From 4814bbea3f7af9f9ff9f4482e1bd25a9d4d087ba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 20:32:54 +0100 Subject: [PATCH 0204/2258] chore(nvim): remove winbar --- config/neovim/lua/opdavies/options.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 7f0aa0fe..82a1d6ab 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -150,7 +150,6 @@ local function set_vim_o() termguicolors = true, textwidth = 0, updatetime = 1000, - winbar = "%=%m %f", wrap = false, } From c5b2bafe34b2506a91ee3d196a524e5e18b09abe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 20:33:01 +0100 Subject: [PATCH 0205/2258] chore(nvim): re-add cmdheight Without this, I can't see when a macro is recording. --- config/neovim/lua/opdavies/options.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 82a1d6ab..3a707d3f 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -121,7 +121,6 @@ local function set_vim_o() autoindent = true, backup = true, breakindent = true, - cmdheight = 0, conceallevel = 0, cursorline = true, expandtab = true, From 9f065ea19d3f7398fcf856b752bf293be41c2ea1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 May 2023 13:55:56 +0100 Subject: [PATCH 0206/2258] feat(nvim): add snippet to create a Pest test --- config/neovim/lua/opdavies/snippets/ft/php.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua index 61e53cb6..8fb0aa7a 100644 --- a/config/neovim/lua/opdavies/snippets/ft/php.lua +++ b/config/neovim/lua/opdavies/snippets/ft/php.lua @@ -73,6 +73,8 @@ local M = { { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } ), + pest = fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) }), + test = fmta( [[ /** @test */ From f468f8aa5f296eac075bed8535ea8bc22ef5a19d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 May 2023 14:14:03 +0100 Subject: [PATCH 0207/2258] feat(nvim): only run PHPCS if there is a ...phpcs.xml.dist file. --- config/neovim/lua/opdavies/lsp/null-ls.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 189de34d..8bafdb0f 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -36,7 +36,11 @@ null_ls.setup { }), diagnostics.markdownlint, diagnostics.php, - diagnostics.phpcs, + diagnostics.phpcs.with({ + condition = function(utils) + return utils.root_has_file({ 'phpcs.xml.dist' }) + end, + }), diagnostics.phpstan, diagnostics.shellcheck, }, From cad984b874851ed5b44ad2093709edbda7605166 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 May 2023 20:52:08 +0100 Subject: [PATCH 0208/2258] chore(home-manager): rename packages.nix --- home-manager/modules/common.nix | 2 +- .../modules/{packages.nix => home-manager-packages.nix} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename home-manager/modules/{packages.nix => home-manager-packages.nix} (100%) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 1a1100ef..172e00db 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -74,7 +74,7 @@ in nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "postman" ]; - home.packages = (import ./packages.nix) { inherit pkgs; }; + home.packages = (import ./home-manager-packages.nix) { inherit pkgs; }; home.file."nodemon.json".text = '' { diff --git a/home-manager/modules/packages.nix b/home-manager/modules/home-manager-packages.nix similarity index 100% rename from home-manager/modules/packages.nix rename to home-manager/modules/home-manager-packages.nix From 458c7fe755589474ceb4718fa43fa450cdabd169 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 13 May 2023 10:39:25 +0100 Subject: [PATCH 0209/2258] chore(update) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 006b6b95..0a141282 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1683543852, - "narHash": "sha256-aS9qNcg9GwSYFLCWa3Lw+2nVPG11mmQ3B7Oka1hh04M=", + "lastModified": 1683929392, + "narHash": "sha256-qJddrb/bgS58AXAv25iv5xJ+69G5g7FAYCWec1lLnW0=", "owner": "nix-community", "repo": "home-manager", - "rev": "3f3fa731ad0f99741d4dc98e8e1287b45e30b452", + "rev": "eec22729990ddf53d1e45e74624ddf667cdbe11b", "type": "github" }, "original": { From b0271820148ea0ad576aae3d5a642f45e498bda8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 13 May 2023 10:39:44 +0100 Subject: [PATCH 0210/2258] fix(tmux): fix colours --- home-manager/modules/tmux.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix index decd7aee..6b574410 100644 --- a/home-manager/modules/tmux.nix +++ b/home-manager/modules/tmux.nix @@ -15,8 +15,7 @@ bind-key -n C-l select-pane -R set-option -g status-keys "emacs" - set-option -ga terminal-overrides ",*256col*:Tc" - set-option -g default-terminal "screen-256color" + set-option -ga terminal-overrides ",*256col*:alacritty" bind-key h split-window -v -c "#{pane_current_path}" bind-key v split-window -h -c "#{pane_current_path}" From 180f88da208ef66b5f4b9045840db5f7c44eba52 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 13 May 2023 10:47:52 +0100 Subject: [PATCH 0211/2258] feat(zsh): update aliases --- home-manager/modules/zsh.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 83670f18..08d22d14 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -88,6 +88,36 @@ ialias tag="tag-release" ialias update="fetch && rebase" + ialias ls="exa -la" + + # tmux + alias ta="tmux attach" + alias tl="tmux list-sessions" + alias tk="tmux kill-session" + + # Docker and Docker Compose. + alias dk="docker" + alias dkp="docker ps" + alias dkpa="docker ps -a" + alias dkpaq="docker ps -a -q" + alias dkb="docker build -t" + alias dks="docker start" + alias dkt="docker stop" + alias dkrm="docker rm" + alias dkri="docker rmi" + alias dke="docker exec -ti" + alias dkl="docker logs -f" + alias dki="docker images" + alias dkpu="docker pull" + alias dkph="docker push" + alias dkbnc="docker build --no-cache -t" + alias dkr="docker run --rm" + alias dkrti="docker run --rm -ti" + alias dkc="docker compose" + alias dkcb="docker compose build" + alias dkcu="docker compose up" + alias dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" + # Nix and NixOS. alias nx="nix" alias nxb="nix build" From 8b44eb3c5f2a1e341332cb4fb50046c6e5d2f5df Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 13 May 2023 10:50:32 +0100 Subject: [PATCH 0212/2258] feat(tmux): restore nvim sessions --- home-manager/modules/common.nix | 1 + home-manager/modules/tmux.nix | 2 ++ 2 files changed, 3 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 172e00db..9ad499a8 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -132,6 +132,7 @@ in vimPlugins.vim-floaterm vimPlugins.vim-highlightedyank vimPlugins.vim-nix + vimPlugins.vim-obsession vimPlugins.vim-pasta vimPlugins.vim-polyglot vimPlugins.vim-repeat diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix index 6b574410..26cdad74 100644 --- a/home-manager/modules/tmux.nix +++ b/home-manager/modules/tmux.nix @@ -91,6 +91,8 @@ bind-key -r F new-window t bind-key -r D run-shell "t ~/Code/dotfiles" + + set -g @resurrect-strategy-nvim 'session' ''; plugins = with pkgs; [ From 97f53b7f49b81f4660e4436b7665375e89ccd392 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 15 May 2023 18:17:22 +0100 Subject: [PATCH 0213/2258] chore(update) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 0a141282..c2ff017a 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1680392223, - "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", + "lastModified": 1683560683, + "narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", + "rev": "006c75898cf814ef9497252b022e91c946ba8e17", "type": "github" }, "original": { @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1683929392, - "narHash": "sha256-qJddrb/bgS58AXAv25iv5xJ+69G5g7FAYCWec1lLnW0=", + "lastModified": 1684157850, + "narHash": "sha256-xGHTCgvAxO5CgAL6IAgE/VGRX2wob2Y+DPyqpXJ32oQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "eec22729990ddf53d1e45e74624ddf667cdbe11b", + "rev": "c0deab0effd576e70343cb5df0c64428e0e0d010", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682581904, - "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", + "lastModified": 1684102137, + "narHash": "sha256-9CdP1arEvBbgYhK+qZMV2gUeaxmxFkyxLqUKTZR/icw=", "owner": "neovim", "repo": "neovim", - "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", + "rev": "e71c7898ca3cf3af1243227ff3cba526d48897e8", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1682955971, - "narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=", + "lastModified": 1684109356, + "narHash": "sha256-0VuNhd246w0bYDzuUj/PrFwCUDFj7yuuWiROsWwqKlk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53", + "rev": "3a570284ffb1931a264012a29647ad3705ee632b", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682929865, - "narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=", + "lastModified": 1683968890, + "narHash": "sha256-FuNtjMvT07cJydY5NRyRhIni/dEwkSkijmFEdsmqdkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f2e9a130461950270f87630b11132323706b4d91", + "rev": "ea11a3977f4cba013d8680667616be827c967ac0", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683408522, - "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", + "lastModified": 1684049129, + "narHash": "sha256-7WB9LpnPNAS8oI7hMoHeKLNhRX7k3CI9uWBRSfmOCCE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", + "rev": "0470f36b02ef01d4f43c641bbf07020bcab71bf1", "type": "github" }, "original": { From 47e21894875eae080155d676295f2bc4759394b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 May 2023 19:55:30 +0100 Subject: [PATCH 0214/2258] fix(tag-release): accept no arguments HEAD should be used as the default value if no value is passed for the SHA value. --- bin/tag-release | 4 ---- 1 file changed, 4 deletions(-) diff --git a/bin/tag-release b/bin/tag-release index eda17dcc..61eaff5f 100755 --- a/bin/tag-release +++ b/bin/tag-release @@ -1,9 +1,5 @@ #!/usr/bin/env bash -if [[ "$1" == "" ]]; then - echo "Usage: ${0##*/} "; exit 2 -fi - set -euo pipefail commit_sha="${1:-HEAD}" From 5c077db0e525b28602bebe34162d8ffd48b5f980 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 May 2023 19:56:05 +0100 Subject: [PATCH 0215/2258] chore(tag-release): add output message --- bin/tag-release | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/tag-release b/bin/tag-release index 61eaff5f..2c1f7bde 100755 --- a/bin/tag-release +++ b/bin/tag-release @@ -5,6 +5,9 @@ set -euo pipefail commit_sha="${1:-HEAD}" tag="$(date '+%Y-%m-%d-%H.%M.%S')" +echo "Tagging commit $(git rev-parse "${commit_sha}") as ${tag}." +echo "" + # Tag the appropriate commit and push to the remote. git tag "${tag}" "${commit_sha}" git push origin "refs/tags/${tag}" From 57bfd7470ea162d8669e0198caa36e030c13e2aa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 May 2023 22:46:07 +0100 Subject: [PATCH 0216/2258] chore(git): populate .gitmessage Populate the default Git commit message with information about the Conventional Commits specification. See https://www.conventionalcommits.org. --- home-manager/modules/common.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 9ad499a8..db893046 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -76,6 +76,23 @@ in home.packages = (import ./home-manager-packages.nix) { inherit pkgs; }; + home.file.".gitmessage".text = '' + type(scope): description + + # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test + # + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, add an ! after the type/scope, uncomment the following + # line and describe the change: + # + # BREAKING CHANGE: + ''; + home.file."nodemon.json".text = '' { "ignore": [ From 0bad33a0351192276eee669c746dae798aed713d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 May 2023 22:49:11 +0100 Subject: [PATCH 0217/2258] refactor(git): move .gitmessage text --- home-manager/modules/common.nix | 17 ----------------- home-manager/modules/git.nix | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index db893046..9ad499a8 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -76,23 +76,6 @@ in home.packages = (import ./home-manager-packages.nix) { inherit pkgs; }; - home.file.".gitmessage".text = '' - type(scope): description - - # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test - # - # Description - # - # - Why is this change necessary? - # - How does it address the issue? - # - What side effects does this change have? - # - # For breaking changes, add an ! after the type/scope, uncomment the following - # line and describe the change: - # - # BREAKING CHANGE: - ''; - home.file."nodemon.json".text = '' { "ignore": [ diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 6f2ca05d..966a786f 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -1,4 +1,21 @@ { config, pkgs, lib, libs, ... }: { + home.file.".gitmessage".text = '' + type(scope): description + + # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test + # + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, add an ! after the type/scope, uncomment the following + # line and describe the change: + # + # BREAKING CHANGE: + ''; + programs.git = { enable = true; userName = "Oliver Davies"; From 03ff33fc6f4e7276152aa1bbae974863791b33ef Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 19 May 2023 12:22:26 +0100 Subject: [PATCH 0218/2258] feat: enable Phpactor Refs: #41 --- config/neovim/lua/opdavies/lsp/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 461172f2..448fee0f 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -28,6 +28,7 @@ lsp.setup_servers({ 'dockerls', 'html', 'jsonls', + 'phpactor', 'tailwindcss', 'terraformls', 'tsserver', From 4bace8f63eab9ced26ae33e9a138baea67687fae Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 19 May 2023 12:24:14 +0100 Subject: [PATCH 0219/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c2ff017a..64c238f5 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1684157850, - "narHash": "sha256-xGHTCgvAxO5CgAL6IAgE/VGRX2wob2Y+DPyqpXJ32oQ=", + "lastModified": 1684484967, + "narHash": "sha256-P3ftCqeJmDYS9LSr2gGC4XGGcp5vv8TOasJX6fVHWsw=", "owner": "nix-community", "repo": "home-manager", - "rev": "c0deab0effd576e70343cb5df0c64428e0e0d010", + "rev": "b9a52ad20e58ebd003444915e35e3dd2c18fc715", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684102137, - "narHash": "sha256-9CdP1arEvBbgYhK+qZMV2gUeaxmxFkyxLqUKTZR/icw=", + "lastModified": 1684452622, + "narHash": "sha256-on1F24cKzMKGWxP11V1rOQ/gxZlvAHVjYJ0u4WJN4xE=", "owner": "neovim", "repo": "neovim", - "rev": "e71c7898ca3cf3af1243227ff3cba526d48897e8", + "rev": "3ae62c470634e30c55d822c452af135fee50ddd5", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684109356, - "narHash": "sha256-0VuNhd246w0bYDzuUj/PrFwCUDFj7yuuWiROsWwqKlk=", + "lastModified": 1684454709, + "narHash": "sha256-C1NW0WnBavra7xiyHEHX/oaU0XAFxymTPrcdfwGBp4M=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3a570284ffb1931a264012a29647ad3705ee632b", + "rev": "6abefa2a9ce4f4cab6f9603be12779b259200eaa", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1683968890, - "narHash": "sha256-FuNtjMvT07cJydY5NRyRhIni/dEwkSkijmFEdsmqdkA=", + "lastModified": 1684393889, + "narHash": "sha256-X4EP3TdpskELgOKGfm7UcLLGheqxYJZuNEEc0HkmrO0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea11a3977f4cba013d8680667616be827c967ac0", + "rev": "9f7d9a55cc9960c029b006444e64e8dfa54a578e", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684049129, - "narHash": "sha256-7WB9LpnPNAS8oI7hMoHeKLNhRX7k3CI9uWBRSfmOCCE=", + "lastModified": 1684385584, + "narHash": "sha256-O7y0gK8OLIDqz+LaHJJyeu09IGiXlZIS3+JgEzGmmJA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0470f36b02ef01d4f43c641bbf07020bcab71bf1", + "rev": "48a0fb7aab511df92a17cf239c37f2bd2ec9ae3a", "type": "github" }, "original": { From 2f06003ff8158da7ae93a8b801c5436e691c35ee Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 22 May 2023 20:35:30 +0100 Subject: [PATCH 0220/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 64c238f5..25c8329d 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1684484967, - "narHash": "sha256-P3ftCqeJmDYS9LSr2gGC4XGGcp5vv8TOasJX6fVHWsw=", + "lastModified": 1684741999, + "narHash": "sha256-KZLKsFZ6cLjCdCNKZoT8bc1y+rYBuFgKatmIB38zqy4=", "owner": "nix-community", "repo": "home-manager", - "rev": "b9a52ad20e58ebd003444915e35e3dd2c18fc715", + "rev": "ba006d7cca2cb871c6a31bdbc130c05cde5ca8e8", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684452622, - "narHash": "sha256-on1F24cKzMKGWxP11V1rOQ/gxZlvAHVjYJ0u4WJN4xE=", + "lastModified": 1684695459, + "narHash": "sha256-nFhbCR840TyNmsQci4SOeHRbXGl2Zehm1ZVuSv5a+bQ=", "owner": "neovim", "repo": "neovim", - "rev": "3ae62c470634e30c55d822c452af135fee50ddd5", + "rev": "8b8e60728486e1fbb308bee2961175be355e550a", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684454709, - "narHash": "sha256-C1NW0WnBavra7xiyHEHX/oaU0XAFxymTPrcdfwGBp4M=", + "lastModified": 1684713909, + "narHash": "sha256-19/9/ErSY8wcOLVMT3RolzavfSdPl+D2AjTcXVTFjzA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6abefa2a9ce4f4cab6f9603be12779b259200eaa", + "rev": "42f6b13c4989c8242f96c55e5ea17d00301f1e43", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684393889, - "narHash": "sha256-X4EP3TdpskELgOKGfm7UcLLGheqxYJZuNEEc0HkmrO0=", + "lastModified": 1684668519, + "narHash": "sha256-KkVvlXTqdLLwko9Y0p1Xv6KQ9QTcQorrU098cGilb7c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f7d9a55cc9960c029b006444e64e8dfa54a578e", + "rev": "85340996ba67cc02f01ba324e18b1306892ed6f5", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684385584, - "narHash": "sha256-O7y0gK8OLIDqz+LaHJJyeu09IGiXlZIS3+JgEzGmmJA=", + "lastModified": 1684662198, + "narHash": "sha256-lmGDGuFONWSoGBKDDhU/6fOhhmFoZQ8rPf+kS7/e/Gs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48a0fb7aab511df92a17cf239c37f2bd2ec9ae3a", + "rev": "50a183182d7ae39133555414d48d5d609a28a57d", "type": "github" }, "original": { From ef64b0e03dc4dfacf69f7d73a26f83aa9512b8ae Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 22 May 2023 22:45:23 +0100 Subject: [PATCH 0221/2258] feat(sway): initial configuration --- config/sway/config | 232 ++++++++++++++++++++++++++ config/sway/status.sh | 5 + home-manager/modules/common.nix | 5 + system/nixos/nixedo/configuration.nix | 9 +- 4 files changed, 249 insertions(+), 2 deletions(-) create mode 100644 config/sway/config create mode 100755 config/sway/status.sh diff --git a/config/sway/config b/config/sway/config new file mode 100644 index 00000000..6524bfe9 --- /dev/null +++ b/config/sway/config @@ -0,0 +1,232 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 + +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l + +# Your preferred terminal emulator +set $term alacritty +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu dmenu_path | dmenu | xargs swaymsg exec -- + +### Output configuration +# +# Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) +output * bg /run/current-system/sw/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs +output eDP-1 scale 1.0 + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ +# before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Shift+q kill + + # Start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+c reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' + +exec nm-applet --indicator + +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + position top + tray_padding 5px + + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. + # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done + status_command while ~/.config/sway/status.sh; do sleep 1; done + + colors { + statusline #ffffff + background #323232 + inactive_workspace #32323200 #32323200 #5c5c5c + } +} + +default_border pixel 3 + +input type:touchpad { + tap enabled + dwt enabled + natural_scroll disabled +} + +smart_borders on +smart_gaps on +gaps inner 10 + +include /etc/sway/config.d/* diff --git a/config/sway/status.sh b/config/sway/status.sh new file mode 100755 index 00000000..6842740a --- /dev/null +++ b/config/sway/status.sh @@ -0,0 +1,5 @@ +date_formatted=$(date "+%m/%d/%Y - %l:%M %p - ") + +battery_status=$(cat /sys/class/power_supply/BAT0/capacity) + +echo $battery_status% - $date_formatted diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 9ad499a8..666765e3 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -250,4 +250,9 @@ in source = ../../config/phpactor; recursive = true; }; + + xdg.configFile.sway = { + source = ../../config/sway; + recursive = true; + }; } diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index f18ad146..ef9b89e8 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -103,10 +103,15 @@ in { # $ nix search wget environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget + swayidle + swaylock ]; + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + }; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; From 0c75a6799da906fcb62c24f426acd32eb3213cf1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 22 May 2023 22:45:52 +0100 Subject: [PATCH 0222/2258] feat: add keybinding for the `t` function --- home-manager/modules/zsh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 08d22d14..ff476670 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -19,6 +19,8 @@ zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit + bindkey -s ^f "t\n" + clear-ls-all() { clear exa -al From 71aa83c61d45dd96aaf7ae7f92ae039d6ab9039d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 May 2023 09:41:01 +0100 Subject: [PATCH 0223/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 25c8329d..c5af4744 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1684741999, - "narHash": "sha256-KZLKsFZ6cLjCdCNKZoT8bc1y+rYBuFgKatmIB38zqy4=", + "lastModified": 1684824189, + "narHash": "sha256-k3nCkn5Qy67rCguuw6YkGuL6hOUNRKxQoKOjnapk5sU=", "owner": "nix-community", "repo": "home-manager", - "rev": "ba006d7cca2cb871c6a31bdbc130c05cde5ca8e8", + "rev": "58eb968c21d309a6c2b020ea8d64e25c38ceebba", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684695459, - "narHash": "sha256-nFhbCR840TyNmsQci4SOeHRbXGl2Zehm1ZVuSv5a+bQ=", + "lastModified": 1684757802, + "narHash": "sha256-Uo8HJ5j33mzgfrpK2zo0N/vgzTFG8KhMBE4+M1C9oCo=", "owner": "neovim", "repo": "neovim", - "rev": "8b8e60728486e1fbb308bee2961175be355e550a", + "rev": "07883940b2294e0ab32fb58e6624d18d9dd1715a", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684713909, - "narHash": "sha256-19/9/ErSY8wcOLVMT3RolzavfSdPl+D2AjTcXVTFjzA=", + "lastModified": 1684800319, + "narHash": "sha256-cyR9g1WSX1WCPGOgL/JXjzwir0Db7k9WMWfwuMgMl5w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "42f6b13c4989c8242f96c55e5ea17d00301f1e43", + "rev": "1d9dcda97f8d16214821ace2cf92f61f1cc348c3", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684668519, - "narHash": "sha256-KkVvlXTqdLLwko9Y0p1Xv6KQ9QTcQorrU098cGilb7c=", + "lastModified": 1684724044, + "narHash": "sha256-OysG4ORx60BcUyBVClbOBVybqZ4Ep8Xh8EIDvNam4WU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85340996ba67cc02f01ba324e18b1306892ed6f5", + "rev": "b31c968ff28927d477eed85012e8090578c70852", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684662198, - "narHash": "sha256-lmGDGuFONWSoGBKDDhU/6fOhhmFoZQ8rPf+kS7/e/Gs=", + "lastModified": 1684754342, + "narHash": "sha256-plGnjnbnPLoZCTdQX21oT7xliQhFtgcWlkuDHgtEb1o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "50a183182d7ae39133555414d48d5d609a28a57d", + "rev": "7084250df3d7f9735087d3234407f3c1fc2400e3", "type": "github" }, "original": { From 581dc96157f317afc98f05f0a451d724a6e754fa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 May 2023 17:04:45 +0100 Subject: [PATCH 0224/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c5af4744..893e53fd 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1684824189, - "narHash": "sha256-k3nCkn5Qy67rCguuw6YkGuL6hOUNRKxQoKOjnapk5sU=", + "lastModified": 1685019994, + "narHash": "sha256-81o6SKZPALvib21hIOMx2lIhFSs0mRy0PfPvg0zsfTk=", "owner": "nix-community", "repo": "home-manager", - "rev": "58eb968c21d309a6c2b020ea8d64e25c38ceebba", + "rev": "d1f04b0f365a34896a37d9015637796537ec88a3", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684757802, - "narHash": "sha256-Uo8HJ5j33mzgfrpK2zo0N/vgzTFG8KhMBE4+M1C9oCo=", + "lastModified": 1684955687, + "narHash": "sha256-6xjWuJE1yNiNvRHOsrYPvm2XQTx01yklpJnz0uBLnlQ=", "owner": "neovim", "repo": "neovim", - "rev": "07883940b2294e0ab32fb58e6624d18d9dd1715a", + "rev": "ebb10d624825468c1f75bd14725cce500974b673", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684800319, - "narHash": "sha256-cyR9g1WSX1WCPGOgL/JXjzwir0Db7k9WMWfwuMgMl5w=", + "lastModified": 1684973471, + "narHash": "sha256-ss8bt/Uxkhdy3t3FvXxqMA623jrCEhQNsx0K+o8OaqQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1d9dcda97f8d16214821ace2cf92f61f1cc348c3", + "rev": "ec6f384b5b8ab31f310ca761adc3a80957b06169", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684724044, - "narHash": "sha256-OysG4ORx60BcUyBVClbOBVybqZ4Ep8Xh8EIDvNam4WU=", + "lastModified": 1684911969, + "narHash": "sha256-j2tz1P2rA3d1WYHk8+1WbYDIJO33BqW1EfQSvi+/O8s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b31c968ff28927d477eed85012e8090578c70852", + "rev": "87f9156865ab09e3bde39aadb4131ae364ae704e", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684754342, - "narHash": "sha256-plGnjnbnPLoZCTdQX21oT7xliQhFtgcWlkuDHgtEb1o=", + "lastModified": 1684935479, + "narHash": "sha256-6QMMsXMr2nhmOPHdti2j3KRHt+bai2zw+LJfdCl97Mk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7084250df3d7f9735087d3234407f3c1fc2400e3", + "rev": "f91ee3065de91a3531329a674a45ddcb3467a650", "type": "github" }, "original": { From 807e8f177c18f9e06de517fc6e33c43e10a4a4e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 May 2023 11:59:07 +0100 Subject: [PATCH 0225/2258] feat: sway configuration - Change the mod key to Alt. - Change the keyboard input language to UK. - Replace dmenu with wofi. - Disable the laptop screen when used in clam mode (lid closed with an external monitor). - Override the GTK theme to ensure that a dark theme is used in all apps (e.g. Firefox). See: - https://github.com/swaywm/sway/wiki#clamshell-mode - https://wiki.archlinux.org/title/Sway#Keymap --- config/sway/config | 28 +++++++++++++++++++++-- config/sway/status.sh | 2 +- home-manager/nixedo.nix | 2 +- system/nixos/nixedo/configuration.nix | 33 +++++++++++++++++++++++---- 4 files changed, 56 insertions(+), 9 deletions(-) diff --git a/config/sway/config b/config/sway/config index 6524bfe9..e46f75d6 100644 --- a/config/sway/config +++ b/config/sway/config @@ -20,7 +20,7 @@ set $term alacritty # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. -set $menu dmenu_path | dmenu | xargs swaymsg exec -- +set $menu wofi --show run ### Output configuration # @@ -32,8 +32,24 @@ output * bg /run/current-system/sw/share/backgrounds/sway/Sway_Wallpaper_Blue_19 # output HDMI-A-1 resolution 1920x1080 position 1920,0 # # You can get the names of your outputs by running: swaymsg -t get_outputs +output DP-7 resolution 2560x1440 scale 1.0 output eDP-1 scale 1.0 +set $laptop eDP-1 +bindswitch --reload --locked lid:on output $laptop disable +bindswitch --reload --locked lid:off output $laptop enable + +# bindsym $mod+1 [workspace="1"] move workspace to output current; workspace number 1 +# bindsym $mod+2 [workspace="2"] move workspace to output current; workspace number 2 +# bindsym $mod+3 [workspace="3"] move workspace to output current; workspace number 3 +# bindsym $mod+4 [workspace="4"] move workspace to output current; workspace number 4 +# bindsym $mod+5 [workspace="5"] move workspace to output current; workspace number 5 +# bindsym $mod+6 [workspace="6"] move workspace to output current; workspace number 6 +# bindsym $mod+7 [workspace="7"] move workspace to output current; workspace number 7 +# bindsym $mod+8 [workspace="8"] move workspace to output current; workspace number 8 +# bindsym $mod+9 [workspace="9"] move workspace to output current; workspace number 9 +# bindsym $mod+0 [workspace="10"] move workspace to output current; workspace number 10 + ### Idle configuration # # Example configuration: @@ -208,7 +224,7 @@ bar { # When the status_command prints a new line to stdout, swaybar updates. # The default just shows the current date and time. # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - status_command while ~/.config/sway/status.sh; do sleep 1; done + status_command while ~/.config/sway/status.sh; do sleep 10; done colors { statusline #ffffff @@ -219,6 +235,11 @@ bar { default_border pixel 3 +input * { + xkb_layout "gb" + # xkb_options "caps:swapescape" +} + input type:touchpad { tap enabled dwt enabled @@ -229,4 +250,7 @@ smart_borders on smart_gaps on gaps inner 10 +exec configure-gtk +exec configue-keyboard + include /etc/sway/config.d/* diff --git a/config/sway/status.sh b/config/sway/status.sh index 6842740a..c9416b35 100755 --- a/config/sway/status.sh +++ b/config/sway/status.sh @@ -1,4 +1,4 @@ -date_formatted=$(date "+%m/%d/%Y - %l:%M %p - ") +date_formatted=$(date "+%d/%m/%Y - %l:%M %p - ") battery_status=$(cat /sys/class/power_supply/BAT0/capacity) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index f1fec04c..21cecca2 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -36,5 +36,5 @@ }; }; - home.packages = with pkgs; [ discord meslo-lg slack teams vlc xcape zoom-us ]; + home.packages = with pkgs; [ discord meslo-lg slack teams vlc wofi xcape zoom-us ]; } diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index ef9b89e8..70d18f05 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -4,7 +4,22 @@ { config, pkgs, ... }: -let nixpkgs = import ../../shared/nixpkgs.nix { }; +let + nixpkgs = import ../../shared/nixpkgs.nix { }; + + configure-gtk = pkgs.writeTextFile { + name = "configure-gtk"; + destination = "/bin/configure-gtk"; + executable = true; + text = let + schema = pkgs.gsettings-desktop-schemas; + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; + in '' + export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS + gnome_schema=org.gnome.desktop.interface + gsettings set $gnome_schema gtk-theme 'Breeze Dark' + ''; + }; in { nixpkgs = nixpkgs; @@ -103,14 +118,22 @@ in { # $ nix search wget environment.systemPackages = with pkgs; [ + configure-gtk swayidle swaylock ]; - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - }; + xdg.portal = { + enable = true; + wlr.enable = true; + # gtk portal needed to make gtk apps happy + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + }; + + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. From 42bab05a8338bb5ce0aae1eee53d085d0e408465 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 May 2023 23:37:19 +0100 Subject: [PATCH 0226/2258] feat: ripgrep configuration --- home-manager/modules/common.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 666765e3..f3d11d34 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -94,6 +94,7 @@ in LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; programs.bat.enable = true; @@ -236,6 +237,11 @@ in home.sessionPath = [ "$HOME/.config/bin" ]; + xdg.configFile."ripgrep/config".text = '' + --follow + --smart-case + ''; + xdg.configFile.bin = { source = ../../bin; recursive = true; From addbb45e8da9c0652a9da37e0907f96c4a694601 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 May 2023 00:57:33 +0100 Subject: [PATCH 0227/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 893e53fd..a3cfeef9 100644 --- a/flake.lock +++ b/flake.lock @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1685019994, - "narHash": "sha256-81o6SKZPALvib21hIOMx2lIhFSs0mRy0PfPvg0zsfTk=", + "lastModified": 1685189510, + "narHash": "sha256-Hq5WF7zIixojPgvhgcd6MBvywwycVZ9wpK/8ogOyoaA=", "owner": "nix-community", "repo": "home-manager", - "rev": "d1f04b0f365a34896a37d9015637796537ec88a3", + "rev": "2d963854ae2499193c0c72fd67435fee34d3e4fd", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684955687, - "narHash": "sha256-6xjWuJE1yNiNvRHOsrYPvm2XQTx01yklpJnz0uBLnlQ=", + "lastModified": 1685284487, + "narHash": "sha256-fAz/BWAbtP0b3Hko2q7eZdTCoBpicxxI4EZ/FJbW/IA=", "owner": "neovim", "repo": "neovim", - "rev": "ebb10d624825468c1f75bd14725cce500974b673", + "rev": "c48f94d1f30056272ed030ad3f4529055ac07853", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684973471, - "narHash": "sha256-ss8bt/Uxkhdy3t3FvXxqMA623jrCEhQNsx0K+o8OaqQ=", + "lastModified": 1685318712, + "narHash": "sha256-RbUMrmC7iTZY6e+/41Pt0PjtbNkUAOcUHtl1/k3vRl0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ec6f384b5b8ab31f310ca761adc3a80957b06169", + "rev": "64321c63aa10339399d8ae94ecc2618f535b4975", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684911969, - "narHash": "sha256-j2tz1P2rA3d1WYHk8+1WbYDIJO33BqW1EfQSvi+/O8s=", + "lastModified": 1685012353, + "narHash": "sha256-U3oOge4cHnav8OLGdRVhL45xoRj4Ppd+It6nPC9nNIU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "87f9156865ab09e3bde39aadb4131ae364ae704e", + "rev": "aeb75dba965e790de427b73315d5addf91a54955", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684935479, - "narHash": "sha256-6QMMsXMr2nhmOPHdti2j3KRHt+bai2zw+LJfdCl97Mk=", + "lastModified": 1685290091, + "narHash": "sha256-GGQYNZ7POoqPTtXgPOLUuSiHkOKFRWYpCoWUOSeSRoU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f91ee3065de91a3531329a674a45ddcb3467a650", + "rev": "4e37b4e55b60fb7d43d2b62deb51032a489bcbe8", "type": "github" }, "original": { From e582b41bde7cfeb77ecd35a8903891bd2112cf63 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 May 2023 00:57:53 +0100 Subject: [PATCH 0228/2258] chore(sway): updates --- config/sway/config | 26 ++++++++++++-------------- config/sway/status.sh | 4 ++-- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/config/sway/config b/config/sway/config index e46f75d6..9055ff1e 100644 --- a/config/sway/config +++ b/config/sway/config @@ -50,18 +50,16 @@ bindswitch --reload --locked lid:off output $laptop enable # bindsym $mod+9 [workspace="9"] move workspace to output current; workspace number 9 # bindsym $mod+0 [workspace="10"] move workspace to output current; workspace number 10 +bindsym $mod+tab workspace back_and_forth + +bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + ### Idle configuration -# -# Example configuration: -# -# exec swayidle -w \ -# timeout 300 'swaylock -f -c 000000' \ -# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ -# before-sleep 'swaylock -f -c 000000' -# -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. +exec swayidle -w \ + timeout 300 'swaylock -f -c 000000' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep 'swaylock -f -c 000000' ### Input configuration # @@ -219,17 +217,17 @@ bindsym $mod+r mode "resize" # Read `man 5 sway-bar` for more information about this section. bar { position top - tray_padding 5px + tray_padding 10px + font pango:DejaVu Sans Mono 16 # When the status_command prints a new line to stdout, swaybar updates. # The default just shows the current date and time. # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - status_command while ~/.config/sway/status.sh; do sleep 10; done + status_command while ~/.config/sway/status.sh; do sleep 5; done colors { statusline #ffffff background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c } } diff --git a/config/sway/status.sh b/config/sway/status.sh index c9416b35..302f43fe 100755 --- a/config/sway/status.sh +++ b/config/sway/status.sh @@ -1,5 +1,5 @@ -date_formatted=$(date "+%d/%m/%Y - %l:%M %p - ") +date_formatted=$(date "+%d/%m/%Y %H:%M:%S") battery_status=$(cat /sys/class/power_supply/BAT0/capacity) -echo $battery_status% - $date_formatted +echo $battery_status% $date_formatted From f933b7c2e1999cdc45e27fb4794b48f0309c764e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 May 2023 18:27:48 +0100 Subject: [PATCH 0229/2258] chore(sway): updates --- config/i3status-rs/config.toml | 24 ++++++++++++++++++++++++ config/sway/config | 7 ++++--- config/sway/status.sh | 5 ----- config/sway/wallpaper.png | Bin 0 -> 120062 bytes home-manager/modules/common.nix | 5 +++++ system/nixos/nixedo/configuration.nix | 1 + 6 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 config/i3status-rs/config.toml delete mode 100755 config/sway/status.sh create mode 100644 config/sway/wallpaper.png diff --git a/config/i3status-rs/config.toml b/config/i3status-rs/config.toml new file mode 100644 index 00000000..39abde6c --- /dev/null +++ b/config/i3status-rs/config.toml @@ -0,0 +1,24 @@ +[[block]] +block = "battery" + +[[block]] +block = "cpu" + +[[block]] +block = "disk_space" +path = "/" +info_type = "available" +alert_unit = "GB" +interval = 20 +warning = 20.0 +alert = 10.0 +format = " $icon root: $available.eng(w:2) " + +[[block]] +block = "memory" +format = " $icon $mem_total_used_percents.eng(w:2) " +format_alt = " $icon_swap $swap_used_percents.eng(w:2) " + +[[block]] +block = "time" +format = " $timestamp.datetime(f:'%a %d/%m/%Y %R') " diff --git a/config/sway/config b/config/sway/config index 9055ff1e..0bb450dc 100644 --- a/config/sway/config +++ b/config/sway/config @@ -25,7 +25,7 @@ set $menu wofi --show run ### Output configuration # # Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) -output * bg /run/current-system/sw/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill +output * bg ~/.config/sway/wallpaper.png fill # # Example configuration: # @@ -216,18 +216,19 @@ bindsym $mod+r mode "resize" # # Read `man 5 sway-bar` for more information about this section. bar { - position top + position bottom tray_padding 10px font pango:DejaVu Sans Mono 16 # When the status_command prints a new line to stdout, swaybar updates. # The default just shows the current date and time. # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - status_command while ~/.config/sway/status.sh; do sleep 5; done + status_command /run/current-system/sw/bin/i3status-rs ~/.config/i3status-rs/config.toml colors { statusline #ffffff background #323232 + focused_workspace #ffffff #ffffff #333333 } } diff --git a/config/sway/status.sh b/config/sway/status.sh deleted file mode 100755 index 302f43fe..00000000 --- a/config/sway/status.sh +++ /dev/null @@ -1,5 +0,0 @@ -date_formatted=$(date "+%d/%m/%Y %H:%M:%S") - -battery_status=$(cat /sys/class/power_supply/BAT0/capacity) - -echo $battery_status% $date_formatted diff --git a/config/sway/wallpaper.png b/config/sway/wallpaper.png new file mode 100644 index 0000000000000000000000000000000000000000..8b6da59217400a094fa5d99cf5c0eb9f183adaab GIT binary patch literal 120062 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⪻KemobJkiflwxzZoSW$^z~fkv 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 literal 0 HcmV?d00001 diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index f3d11d34..cc305c4e 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -247,6 +247,11 @@ in recursive = true; }; + xdg.configFile.i3status-rs = { + source = ../../config/i3status-rs; + recursive = true; + }; + xdg.configFile.nvim = { source = ../../config/neovim; recursive = true; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 70d18f05..99a57ef4 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -119,6 +119,7 @@ in { environment.systemPackages = with pkgs; [ configure-gtk + i3status-rust swayidle swaylock ]; From 62751a9974ddb1db2864fd6f3c0b567d524a99f8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 May 2023 13:48:52 +0100 Subject: [PATCH 0230/2258] feat(phpactor): override the default template Make classes final and enable strict types by default. Refs: #41 --- config/phpactor/phpactor.yml | 1 + config/phpactor/templates/default/SourceCode.php.twig | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 config/phpactor/templates/default/SourceCode.php.twig diff --git a/config/phpactor/phpactor.yml b/config/phpactor/phpactor.yml index 9b11d77b..536f4083 100644 --- a/config/phpactor/phpactor.yml +++ b/config/phpactor/phpactor.yml @@ -1,4 +1,5 @@ code_transform.class_new.variants: + default: default drupal-functional-test: drupal-functional-test drupal-kernel-test: drupal-kernel-test drupal-unit-test: drupal-unit-test diff --git a/config/phpactor/templates/default/SourceCode.php.twig b/config/phpactor/templates/default/SourceCode.php.twig new file mode 100644 index 00000000..86de1d9f --- /dev/null +++ b/config/phpactor/templates/default/SourceCode.php.twig @@ -0,0 +1,10 @@ + Date: Tue, 30 May 2023 18:37:33 +0100 Subject: [PATCH 0231/2258] chore(update) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index a3cfeef9..20dce67f 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1683560683, - "narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=", + "lastModified": 1685457039, + "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "006c75898cf814ef9497252b022e91c946ba8e17", + "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69", "type": "github" }, "original": { @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1683560683, - "narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=", + "lastModified": 1685457039, + "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "006c75898cf814ef9497252b022e91c946ba8e17", + "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69", "type": "github" }, "original": { @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1685189510, - "narHash": "sha256-Hq5WF7zIixojPgvhgcd6MBvywwycVZ9wpK/8ogOyoaA=", + "lastModified": 1685480784, + "narHash": "sha256-pkk3J9gX745LEkkeTGhSRJqPJkmCPQzwI/q7a720XaY=", "owner": "nix-community", "repo": "home-manager", - "rev": "2d963854ae2499193c0c72fd67435fee34d3e4fd", + "rev": "54a9d6456eaa6195998a0f37bdbafee9953ca0fb", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685284487, - "narHash": "sha256-fAz/BWAbtP0b3Hko2q7eZdTCoBpicxxI4EZ/FJbW/IA=", + "lastModified": 1685487037, + "narHash": "sha256-kw6olGqSXzqtzaeOoqVorvKzZj5kyiPJ5sDhIA8ApyY=", "owner": "neovim", "repo": "neovim", - "rev": "c48f94d1f30056272ed030ad3f4529055ac07853", + "rev": "7e3ff8afa435607c703706a99cf9006893bdb399", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685318712, - "narHash": "sha256-RbUMrmC7iTZY6e+/41Pt0PjtbNkUAOcUHtl1/k3vRl0=", + "lastModified": 1685491504, + "narHash": "sha256-sC1Suwg5LAEC/IB7QnPHSBnmuoYhEOKiQSPZP2+jygI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "64321c63aa10339399d8ae94ecc2618f535b4975", + "rev": "3933bf7c2b1bd571d68b1e487c63402baac35710", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1685012353, - "narHash": "sha256-U3oOge4cHnav8OLGdRVhL45xoRj4Ppd+It6nPC9nNIU=", + "lastModified": 1685399834, + "narHash": "sha256-Lt7//5snriXSdJo5hlVcDkpERL1piiih0UXIz1RUcC4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aeb75dba965e790de427b73315d5addf91a54955", + "rev": "58c85835512b0db938600b6fe13cc3e3dc4b364e", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1685290091, - "narHash": "sha256-GGQYNZ7POoqPTtXgPOLUuSiHkOKFRWYpCoWUOSeSRoU=", + "lastModified": 1685383865, + "narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4e37b4e55b60fb7d43d2b62deb51032a489bcbe8", + "rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce", "type": "github" }, "original": { From 462d1d86e730897d22350d00e8e4d5fbfed0b630 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 May 2023 20:35:57 +0100 Subject: [PATCH 0232/2258] feat(packages): add brightnessctl --- system/nixos/nixedo/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 99a57ef4..a3faa0ef 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -118,6 +118,7 @@ in { # $ nix search wget environment.systemPackages = with pkgs; [ + brightnessctl configure-gtk i3status-rust swayidle From 8db35779f70c435a6fa2d5f95e145a77e791924e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 May 2023 20:47:56 +0100 Subject: [PATCH 0233/2258] feat(i3config-rs): updates --- config/i3status-rs/config.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/i3status-rs/config.toml b/config/i3status-rs/config.toml index 39abde6c..4255c969 100644 --- a/config/i3status-rs/config.toml +++ b/config/i3status-rs/config.toml @@ -1,3 +1,7 @@ +[[block]] +block = "net" +format = " $ip " + [[block]] block = "battery" @@ -21,4 +25,5 @@ format_alt = " $icon_swap $swap_used_percents.eng(w:2) " [[block]] block = "time" +interval = 60 format = " $timestamp.datetime(f:'%a %d/%m/%Y %R') " From 342ea102029ed805bcdf1309a514671ec94b9b8d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 May 2023 20:51:12 +0100 Subject: [PATCH 0234/2258] feat(sway): add volume key bindings --- config/sway/config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/sway/config b/config/sway/config index 0bb450dc..f60366e9 100644 --- a/config/sway/config +++ b/config/sway/config @@ -252,4 +252,7 @@ gaps inner 10 exec configure-gtk exec configue-keyboard +bindsym --locked XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2 +bindsym --locked XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2 + include /etc/sway/config.d/* From bf3d81656de1b025ca73b0fd886c863849ca524e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 1 Jun 2023 00:36:19 +0100 Subject: [PATCH 0235/2258] feat: caps lock key configuration Esc on press, ctrl on hold. --- config/sway/config | 2 -- home-manager/modules/zsh.nix | 6 ------ system/nixos/nixedo/configuration.nix | 24 +++++++++++++++++++++++- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/config/sway/config b/config/sway/config index f60366e9..ca55844d 100644 --- a/config/sway/config +++ b/config/sway/config @@ -236,7 +236,6 @@ default_border pixel 3 input * { xkb_layout "gb" - # xkb_options "caps:swapescape" } input type:touchpad { @@ -250,7 +249,6 @@ smart_gaps on gaps inner 10 exec configure-gtk -exec configue-keyboard bindsym --locked XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2 bindsym --locked XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2 diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index ff476670..38335bf5 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -5,12 +5,6 @@ dotDir = ".config/zsh"; initExtra = '' - # Make Caps Lock behave like Ctrl. - setxkbmap -option ctrl:nocaps - - # Make short-pressed Ctrl behave like Escape. - xcape -e 'Control_L=Escape' - # Plugins source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index a3faa0ef..2ae9e7f2 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let nixpkgs = import ../../shared/nixpkgs.nix { }; @@ -175,5 +175,27 @@ in { [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; zramSwap.enable = true; + + # Make Caps lock work as an Escape key on press and Ctrl on hold. + services.interception-tools = + let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in + { + enable = true; + plugins = lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; } From b906cc8a51641d6805e615fe2d3638cc99828c13 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 3 Jun 2023 11:08:16 +0100 Subject: [PATCH 0236/2258] chore: update nix.settings and nix.gc --- system/nixos/nixedo/configuration.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 2ae9e7f2..68f5ca82 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -28,8 +28,6 @@ in { ./hardware-configuration.nix ]; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -176,6 +174,18 @@ in { zramSwap.enable = true; + nix.settings = { + warn-dirty = false; + auto-optimise-store = true; + experimental-features = [ "nix-command" "flakes" ]; + }; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + # Make Caps lock work as an Escape key on press and Ctrl on hold. services.interception-tools = let From 407de3be32c6a13bd41c196c03a920eb880c53eb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 3 Jun 2023 11:12:45 +0100 Subject: [PATCH 0237/2258] chore(update) --- flake.lock | 138 ++++++++++++++++++++++++++--------------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/flake.lock b/flake.lock index 20dce67f..185b1d44 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1685457039, - "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1685457039, - "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -75,11 +75,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1685546676, + "narHash": "sha256-XDbjJyAg6odX5Vj0Q22iI/gQuFvEkv9kamsSbQ+npaI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "6ef2707776c6379bc727faf3f83c0dd60b06e0c6", "type": "github" }, "original": { @@ -97,11 +97,11 @@ ] }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1680392223, + "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", "type": "github" }, "original": { @@ -166,16 +166,16 @@ }, "haskell-flake": { "locked": { - "lastModified": 1678138103, - "narHash": "sha256-D0lao82bV3t2gEFjHiU6RN233t+1MnkQV+bq8MEu2ic=", - "owner": "hercules-ci", + "lastModified": 1678745009, + "narHash": "sha256-ujfwSrkxThmHJozibkCnJmlXLVyxm+Cbo2Q4wXPbCS4=", + "owner": "srid", "repo": "haskell-flake", - "rev": "1e1660e6dd00838ba73bc7952e6e73be67da18d1", + "rev": "26852ade574c712bc3912ad28de52b0c4cf7d4cb", "type": "github" }, "original": { - "owner": "hercules-ci", - "ref": "0.1-extraLibraries", + "owner": "srid", + "ref": "0.2.0", "repo": "haskell-flake", "type": "github" } @@ -189,11 +189,11 @@ "pre-commit-hooks-nix": "pre-commit-hooks-nix" }, "locked": { - "lastModified": 1678446614, - "narHash": "sha256-Z6Gsba5ahn/N0QlF0vJfIEfnZgCs4qr1IZtXAqjbE7s=", + "lastModified": 1681758488, + "narHash": "sha256-RBd/RNq3wL52FvoajMwrnfyZPfq67KMzmp6rtNAx/2o=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "0b90d1a87c117a5861785cb85833dd1c9df0b6ef", + "rev": "ef296dd6211e2ffeb942f12e6232a2d9abdd488d", "type": "github" }, "original": { @@ -211,11 +211,11 @@ ] }, "locked": { - "lastModified": 1681898675, - "narHash": "sha256-nIJ7CAdiHv4i1no/VgDoeTJLzbLYwu5+/Ycoyzn0S78=", + "lastModified": 1685557007, + "narHash": "sha256-0prbgwFJeBuLGJgNdOXCXQ8/oSamzkcNZYHr04ZXI2I=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0", + "rev": "6d8e62977dc34fd2c187879856ebb6cf1faabba9", "type": "github" }, "original": { @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1685480784, - "narHash": "sha256-pkk3J9gX745LEkkeTGhSRJqPJkmCPQzwI/q7a720XaY=", + "lastModified": 1685721552, + "narHash": "sha256-ifvq/zlO7lck8q+YkC5uom/h8/MVdMcQEldOL3cDQW0=", "owner": "nix-community", "repo": "home-manager", - "rev": "54a9d6456eaa6195998a0f37bdbafee9953ca0fb", + "rev": "29519461834c08395b35f840811faf8c23e3b61c", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685487037, - "narHash": "sha256-kw6olGqSXzqtzaeOoqVorvKzZj5kyiPJ5sDhIA8ApyY=", + "lastModified": 1685727707, + "narHash": "sha256-qxmSnNjRxXuFfPNaDMnTPjn8890CN2EQ1Il8XVJhkKE=", "owner": "neovim", "repo": "neovim", - "rev": "7e3ff8afa435607c703706a99cf9006893bdb399", + "rev": "a8ee4c7a81a8df3fe705e941e7d1c2c9e2f6194e", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685491504, - "narHash": "sha256-sC1Suwg5LAEC/IB7QnPHSBnmuoYhEOKiQSPZP2+jygI=", + "lastModified": 1685750689, + "narHash": "sha256-ylsh7ELjDc4jHCBZgUVTD08aTD31SpXoqXnjlbGdyoQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3933bf7c2b1bd571d68b1e487c63402baac35710", + "rev": "b9c2089d1936a81d466de8a2ccb9d75c22b5b7fd", "type": "github" }, "original": { @@ -300,11 +300,11 @@ ] }, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "lastModified": 1680266963, + "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "rev": "99d4187d11be86b49baa3a1aec0530004072374f", "type": "github" }, "original": { @@ -315,11 +315,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678293141, - "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", + "lastModified": 1680213900, + "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", + "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", "type": "github" }, "original": { @@ -330,6 +330,24 @@ } }, "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1685564631, + "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "dir": "lib", "lastModified": 1682879489, @@ -347,31 +365,13 @@ "type": "github" } }, - "nixpkgs-lib_2": { - "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1678872516, + "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1685399834, - "narHash": "sha256-Lt7//5snriXSdJo5hlVcDkpERL1piiih0UXIz1RUcC4=", + "lastModified": 1685677062, + "narHash": "sha256-zoHF7+HNwNwne2XEomphbdc4Y8tdWT16EUxUTXpOKpQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58c85835512b0db938600b6fe13cc3e3dc4b364e", + "rev": "95be94370d09f97f6af6a1df1eb9649b5260724e", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1685383865, - "narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=", + "lastModified": 1685655444, + "narHash": "sha256-6EujQNAeaUkWvpEZZcVF8qSfQrNVWFNNGbUJxv/A5a8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce", + "rev": "e635192892f5abbc2289eaac3a73cdb249abaefd", "type": "github" }, "original": { @@ -427,11 +427,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1678376203, - "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=", + "lastModified": 1680170909, + "narHash": "sha256-FtKU/edv1jFRr/KwUxWTYWXEyj9g8GBrHntC2o8oFI8=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a", + "rev": "29dbe1efaa91c3a415d8b45d62d48325a4748816", "type": "github" }, "original": { From 6e0fa3fdfe4a5900460d6fb5fd9058402809ef53 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 3 Jun 2023 11:40:49 +0100 Subject: [PATCH 0238/2258] feat: configure fonts --- system/nixos/nixedo/configuration.nix | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 68f5ca82..d46a73dd 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -169,8 +169,24 @@ in { users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; - fonts.fonts = with pkgs; - [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; + fonts = { + fontconfig = { + enable = true; + defaultFonts = { + monospace = [ "Meslo LG M Regular Nerd Font Complete Mono" ]; + }; + }; + fonts = with pkgs; [ + (nerdfonts.override { + fonts = [ + "Iosevka" + "JetBrainsMono" + "Meslo" + ]; + }) + ]; + }; + zramSwap.enable = true; From 0a6d1f8e3a326c0a22c99242117a2bffdd7153a9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Jun 2023 14:03:25 +0100 Subject: [PATCH 0239/2258] feat(sway): start assigning apps to workspaces --- config/sway/config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/sway/config b/config/sway/config index ca55844d..66a8db62 100644 --- a/config/sway/config +++ b/config/sway/config @@ -253,4 +253,10 @@ exec configure-gtk bindsym --locked XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2 bindsym --locked XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2 +assign [app_id="Alacritty"] workspace 1 +assign [app_id="firefox"] workspace 2 +assign [class="Slack"] workspace 10 +assign [class="discord"] workspace 10 +# Get app_id with swaymsg -t get_tree + include /etc/sway/config.d/* From 1f4ba88a17a489a8de7f8d77640d40114c6b233b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Jun 2023 14:04:08 +0100 Subject: [PATCH 0240/2258] feat(nvim): show matches in a split window --- config/neovim/lua/opdavies/options.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 3a707d3f..e96fa2e7 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -129,6 +129,7 @@ local function set_vim_o() foldmethod = "indent", formatoptions = "lm", hidden = false, + inccommand = "split", linebreak = true, mouse = "n", number = true, From 89aa90aa3427941c92ade81060ee225872fa340a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Jun 2023 14:04:47 +0100 Subject: [PATCH 0241/2258] feat(i3status-rs): updates --- config/i3status-rs/config.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/i3status-rs/config.toml b/config/i3status-rs/config.toml index 4255c969..5c327067 100644 --- a/config/i3status-rs/config.toml +++ b/config/i3status-rs/config.toml @@ -8,6 +8,11 @@ block = "battery" [[block]] block = "cpu" +[[block]] +block = "memory" +format = " $icon $mem_total_used_percents.eng(w:2) " +format_alt = " $icon_swap $swap_used_percents.eng(w:2) " + [[block]] block = "disk_space" path = "/" @@ -16,12 +21,7 @@ alert_unit = "GB" interval = 20 warning = 20.0 alert = 10.0 -format = " $icon root: $available.eng(w:2) " - -[[block]] -block = "memory" -format = " $icon $mem_total_used_percents.eng(w:2) " -format_alt = " $icon_swap $swap_used_percents.eng(w:2) " +format = " $icon $available.eng(w:2) " [[block]] block = "time" From ddc4e5710969b8c99877ab9ff0080922e8ea282a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Jun 2023 16:28:33 +0100 Subject: [PATCH 0242/2258] feat(sway): add binding to open a browser --- config/sway/config | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/sway/config b/config/sway/config index 66a8db62..a948ab8b 100644 --- a/config/sway/config +++ b/config/sway/config @@ -22,6 +22,8 @@ set $term alacritty # on the original workspace that the command was run on. set $menu wofi --show run +set $browser firefox + ### Output configuration # # Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) @@ -88,6 +90,8 @@ exec swayidle -w \ # Start your launcher bindsym $mod+d exec $menu + bindsym $mod+Shift+b exec $browser + # Drag floating windows by holding down $mod and left mouse button. # Resize them with right mouse button + $mod. # Despite the name, also works for non-floating windows. From 46e6cb1d873385bd1f6711a8ab933d7798c1938f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Jun 2023 16:30:17 +0100 Subject: [PATCH 0243/2258] feat: configure auto upgrades --- system/nixos/nixedo/configuration.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index d46a73dd..ca702a2c 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -223,5 +223,11 @@ in { EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] ''; }; + + system.autoUpgrade = { + allowReboot = true; + enable = true; + flake = "nixedo"; + }; } From 7fd477519aadc355fe5f0035ecf7c05e83492ee8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Jun 2023 18:15:28 +0100 Subject: [PATCH 0244/2258] feat(sway): configure swaylock --- config/sway/config | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/config/sway/config b/config/sway/config index a948ab8b..3346b4c6 100644 --- a/config/sway/config +++ b/config/sway/config @@ -59,9 +59,11 @@ bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ ### Idle configuration exec swayidle -w \ - timeout 300 'swaylock -f -c 000000' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - before-sleep 'swaylock -f -c 000000' + timeout 300 'swaylock -f -i ~/.config/sway/wallpaper.png' \ + timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ + before-sleep 'swaylock -f -i ~/.config/sway/wallpaper.png' + +bindsym $mod+Escape exec swaylock -f -i ~/.config/sway/wallpaper.png ### Input configuration # From 12c8bc7d7fb0091da8c772e0aa8035db47850a50 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 6 Jun 2023 00:31:03 +0100 Subject: [PATCH 0245/2258] chore(update) --- flake.lock | 181 +++++++++-------------------------------------------- 1 file changed, 29 insertions(+), 152 deletions(-) diff --git a/flake.lock b/flake.lock index 185b1d44..6b258e55 100644 --- a/flake.lock +++ b/flake.lock @@ -16,22 +16,6 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -75,11 +59,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1685546676, - "narHash": "sha256-XDbjJyAg6odX5Vj0Q22iI/gQuFvEkv9kamsSbQ+npaI=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "6ef2707776c6379bc727faf3f83c0dd60b06e0c6", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -125,45 +109,6 @@ "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "neovim-nightly", - "hercules-ci-effects", - "hercules-ci-agent", - "pre-commit-hooks-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "haskell-flake": { "locked": { "lastModified": 1678745009, @@ -184,16 +129,14 @@ "inputs": { "flake-parts": "flake-parts_4", "haskell-flake": "haskell-flake", - "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs", - "pre-commit-hooks-nix": "pre-commit-hooks-nix" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681758488, - "narHash": "sha256-RBd/RNq3wL52FvoajMwrnfyZPfq67KMzmp6rtNAx/2o=", + "lastModified": 1686138353, + "narHash": "sha256-e0wDTIySFCfZMSYQNVGY/d6jjwcua3y6igouI8CejQ8=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "ef296dd6211e2ffeb942f12e6232a2d9abdd488d", + "rev": "febf6540ed5fd55812933c159e59742743277b30", "type": "github" }, "original": { @@ -211,11 +154,11 @@ ] }, "locked": { - "lastModified": 1685557007, - "narHash": "sha256-0prbgwFJeBuLGJgNdOXCXQ8/oSamzkcNZYHr04ZXI2I=", + "lastModified": 1686181431, + "narHash": "sha256-S1IsZGwcMChJg3mgnKdFxh2c/D77B1NoOCd8s3tQQIg=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "6d8e62977dc34fd2c187879856ebb6cf1faabba9", + "rev": "657935127398706754113c1cea5800798ecb99a7", "type": "github" }, "original": { @@ -231,11 +174,11 @@ ] }, "locked": { - "lastModified": 1685721552, - "narHash": "sha256-ifvq/zlO7lck8q+YkC5uom/h8/MVdMcQEldOL3cDQW0=", + "lastModified": 1686305101, + "narHash": "sha256-xCgeI+uTKay3Ab3tMdP9m9flIJbFkRMKwRAmg5PQhJQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "29519461834c08395b35f840811faf8c23e3b61c", + "rev": "1e5d741ea3f3290d7ac06a02ded24bfdc7aadb37", "type": "github" }, "original": { @@ -246,7 +189,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": [ "neovim-nightly", "nixpkgs" @@ -254,11 +197,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685727707, - "narHash": "sha256-qxmSnNjRxXuFfPNaDMnTPjn8890CN2EQ1Il8XVJhkKE=", + "lastModified": 1686253996, + "narHash": "sha256-HFs7888YDrQUf6dAqr1Hn/lTJ+sPMblkOtNfwgPzggY=", "owner": "neovim", "repo": "neovim", - "rev": "a8ee4c7a81a8df3fe705e941e7d1c2c9e2f6194e", + "rev": "be539f5fa8e2d7ad73f7f69941bd6ff13354e89c", "type": "github" }, "original": { @@ -277,11 +220,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685750689, - "narHash": "sha256-ylsh7ELjDc4jHCBZgUVTD08aTD31SpXoqXnjlbGdyoQ=", + "lastModified": 1686269109, + "narHash": "sha256-JVJGiziSsQCRQ9j4w8mGssA3DKddWYMO4Nnmn0UGt1A=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b9c2089d1936a81d466de8a2ccb9d75c22b5b7fd", + "rev": "a5cfea9e8f5ffb9f4b6da162123b44bfd41def79", "type": "github" }, "original": { @@ -290,29 +233,6 @@ "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "neovim-nightly", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1680266963, - "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "99d4187d11be86b49baa3a1aec0530004072374f", - "type": "github" - }, - "original": { - "owner": "LnL7", - "repo": "nix-darwin", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1680213900, @@ -350,11 +270,11 @@ "nixpkgs-lib_2": { "locked": { "dir": "lib", - "lastModified": 1682879489, - "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", + "lastModified": 1685564631, + "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", "type": "github" }, "original": { @@ -365,29 +285,13 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1678872516, - "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { - "lastModified": 1685677062, - "narHash": "sha256-zoHF7+HNwNwne2XEomphbdc4Y8tdWT16EUxUTXpOKpQ=", + "lastModified": 1686089707, + "narHash": "sha256-LTNlJcru2qJ0XhlhG9Acp5KyjB774Pza3tRH0pKIb3o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "95be94370d09f97f6af6a1df1eb9649b5260724e", + "rev": "af21c31b2a1ec5d361ed8050edd0303c31306397", "type": "github" }, "original": { @@ -399,11 +303,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1685655444, - "narHash": "sha256-6EujQNAeaUkWvpEZZcVF8qSfQrNVWFNNGbUJxv/A5a8=", + "lastModified": 1686226982, + "narHash": "sha256-nLuiPoeiVfqqzeq9rmXxpybh77VS37dsY/k8N2LoxVg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e635192892f5abbc2289eaac3a73cdb249abaefd", + "rev": "a64b73e07d4aa65cfcbda29ecf78eaf9e72e44bd", "type": "github" }, "original": { @@ -413,33 +317,6 @@ "type": "github" } }, - "pre-commit-hooks-nix": { - "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", - "gitignore": "gitignore", - "nixpkgs": [ - "neovim-nightly", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1680170909, - "narHash": "sha256-FtKU/edv1jFRr/KwUxWTYWXEyj9g8GBrHntC2o8oFI8=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "29dbe1efaa91c3a415d8b45d62d48325a4748816", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", From ab36de47a7139bd807da9426f084c94ab5ddeecc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 10 Jun 2023 10:20:34 +0100 Subject: [PATCH 0246/2258] feat: transparency in alacritty and nvim --- config/neovim/after/plugin/colorscheme.lua | 21 +++++++++++++++------ config/sway/config | 11 +++++++---- config/sway/wallpaper.jpg | Bin 0 -> 2269126 bytes config/sway/wallpaper.png | Bin 120062 -> 0 bytes 4 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 config/sway/wallpaper.jpg delete mode 100644 config/sway/wallpaper.png diff --git a/config/neovim/after/plugin/colorscheme.lua b/config/neovim/after/plugin/colorscheme.lua index ec741345..7aed293a 100644 --- a/config/neovim/after/plugin/colorscheme.lua +++ b/config/neovim/after/plugin/colorscheme.lua @@ -3,10 +3,19 @@ if not status_ok then return end -catppuccin.setup {} +catppuccin.setup({ + flavour = "macchiato", + integrations = { + cmp = true, + gitsigns = true, + native_lsp = { + enabled = true; + }, + telescope = true, + treesitter = true, + }, + term_colors = true, + transparent_background = true, +}) -vim.opt.termguicolors = true - -vim.g.catppuccin_flavour = "mocha" - -vim.cmd([[ colorscheme catppuccin ]]) +vim.cmd.colorscheme "catppuccin" diff --git a/config/sway/config b/config/sway/config index 3346b4c6..384a2f1b 100644 --- a/config/sway/config +++ b/config/sway/config @@ -24,10 +24,13 @@ set $menu wofi --show run set $browser firefox +set $wallpaper ~/.config/sway/wallpaper.jpg + ### Output configuration # # Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) -output * bg ~/.config/sway/wallpaper.png fill +output * bg $wallpaper fill #000000 + # # Example configuration: # @@ -59,11 +62,11 @@ bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ ### Idle configuration exec swayidle -w \ - timeout 300 'swaylock -f -i ~/.config/sway/wallpaper.png' \ + timeout 300 'swaylock -f -i $wallpaper \ timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ - before-sleep 'swaylock -f -i ~/.config/sway/wallpaper.png' + before-sleep "swaylock -f -i $wallpaper" -bindsym $mod+Escape exec swaylock -f -i ~/.config/sway/wallpaper.png +bindsym $mod+Escape exec swaylock -f -i $wallpaper #000000 ### Input configuration # diff --git a/config/sway/wallpaper.jpg b/config/sway/wallpaper.jpg new file mode 100644 index 0000000000000000000000000000000000000000..75d60ad7521d937453089a8eecdd129f1d213032 GIT binary patch literal 2269126 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�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 z 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%0A399J% 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

L&j0>|V1OYrKUQ=e{!Vc;UYNTB8B;*Jmp^ zxu>0Dvv1+6e3uaqpO-cloy`$cJPUqdRj)R zP-pGa=jxK@uPwGXevVP@%OBx}y2YZ(DyQEY8(QDq|DPdh8OtomRx9qnX z7YLWQ<y|8_n#HZp3R{U$Niw({zm&;WB;#$$Ng8AB#I}tr{ zUl`M$3GUf(r-^wmN?W|V62Q`4c3}s* z+}>4&eS$YWRrM8U*1dcBKz)+hJyml|q3wm?2@!@1YmPs&IO`M8*DkT_Q{9#~bDE<6XfXa+aYF7$@>)g? z=_x$h*J>10+&#Y3V}UU%yZV;}Wr`Uexb6I^s?wGUGB({QytUL#+Rwh_lmCy9r3D6l z){|WiDy^Ti_zF+Wk`ntU*4;nrH4Z(uf28$VYpTOKY2JC(wVAIL*gdOZv!5DnV3I!D zO~)>;q0sAv`6RZwy}VgkD-O5a?R&gen%!PQ^8L%88*5UgGH)|7Vqa<*u*I>6&EN9n z8{cg1f={`>mxkL~T{6)=y`9D2_)@*Z8w->aCOr{jW|+snldY*?|GQ}BCdTI$@1uD0 zI3E}W&+}NOBRyl@Y&JeyUXvrioO>o;=`*roeDB{UyN)Z-D_v4j=4#tE3-)J$zvi#y z+w{DD7smG$tH z!FMoJ#$+XU?efPuEzpUmu|GjWd$v4q3<700U^}IHMQZPp{fAiK%e6#i}4-w^L{DR)ubv!6Q_=nm5gc)uwCPq?DSw zT30&Ejw~qfjS$-KGGetEgXHtIKAR`hg`Kb3s$hEL=C|dX{%cdX`;O1~vb^%SY}U`t zr=~~V&SCZ!e)93w#+DneGGAM;_wiR*Hcz=7*`B8rI)9lqkM9ksDL!mQg&|Ayf^*Z4 zt1bQQZuvH%Ddwxm)7d*#1&eEL+uUSnb9v7PfA+3p!U@59?v$APJUr#<=beksovRM> zpWXLmS@ONU!lGGCaSkSuzNwv!&sQ$_ywQ8cx?qRXlYNaohuGXRoRvR|J^06^XHuON zXR7~dws|dn&OE_iX-2C2(fNlKZoIMW(vzx?>c79P2AkRc`YJwq;`Ld6&U%uDfs&SA zzpu*GkC~M|_k2{_fo<`+1Y0<;kqsQ%^;w+pgMeXIBUzdG4PS2Ykr^%>o#%}ZR(yGlV6YRONy-&Ok+${FfU2W=VkHiB0Q&zvO=-sXU zb;;WBv4q{!hz)l_-Jiero{@a>fXv7Fmlmekuvs2otC(cfr?vY8=kuq}*Vj}9?Q5_& z#rWVsy;l1f9Rq3WT3^GiKWF0es;Zxycdk>yd=h>5e@*th5T83u^w@W>Q5-=Ed7fkEuxadlfQwV92%3lhE@WmeH| z-16;hz)YFu?ee`2XB=Oju;JTNo27KSUuhOYB?r%5!`HvUs&_4VE16SnQyjc4oQwU` zy+2ng3mo5vv6fr>bY|dqzW-rlk=fmKd)g(HzZ^UpSM$N?x!u&T(ge@^DJ7Dx!)EGA zK9~7;yFWQp@+RYfldIQq_pJKdc;%`j^G23$5BOh)bSkJbYaN+<{nD&dm3N8rV`j++ z&t1YFWO3Fh`NsV{4|f%wwN{YZ%<-{D_*Leyf{1rX{87u?u5rG|Vk=8m;pw?}if#QZ z8J@Q1w!DVxg8cj#L}d{bIj?Y*K?r@`o(`qx!S zZaEL0^ere`P;O!_RMy;J`D<41d>sdg=kt%Pl05O#;mP--2B({w3jF=!*D~p*tjam{ zpiKVSqU29}RmJ_zfs$r_FE_sT=i^}C%Dm&+gxquW!oMbaM7E!uz@GftlOs<~w)kUZ>*)%1jfuBs+xKWU5PkUGchq z$m79Rk+-Y%mpn0#`E`X?;$%YA7ZFBf3wD(+E56J8eZav!Z_zAq9mnLYzppUPIn=)F zlH>a?3tSH6@7npG$l|sC=O4#B-f#I}w>5CPz?$Q>|7I++Ob-ailRf!wst+&goX43# z3%3PCJ?yE%Fnbfs%W&EO=gGHU2IO;}w3(+7uGnT2QFEs%w5T!VtemLB`Iz}tJ@zZu`xu{#GA49? zYN-0lSNUv~3PaDAFD6Be*(y&r9hYtQ35o7}T;O;cvxMus=M&5A7T zuDoGg^q)cTuz<8oznA3a-ZOPhY_|Qyp?lu6BpyG-W^1=q?Lp!E$Lx~tyAq=AKYbTu zaC}+i`Gq3O+`^P)uJRZ%252pKuJT=Ey-G`JL9PE@=AFf7lP6hzXYQ)@oN*}m8Sk9m zRbdGe+fPX~YX+I=ohh(>)Xn#7;ndJj6$xea^=lQUODK9io)eZ(utucjRMqqAx0VY% zY;L|F*nHpiv-cFexX+FDdt!buWxh6^aIjwSXzDu+5&ju{8kIf`3>*i~x#|UemTD^8 zz$&v{{Yq`-qcX*r|5D%HW_}&HR`2tU2Idl`88Iw+i{E|h5B{=v%CxiYGsT~F2#9j|9 z2?@z>OCqmZ&$m!tzb;$B!>3oyNTjItuU4Rjy`sVcK3*}wWocY>!E^U*S*^jnv(NE$ zq}s!oOa|vJR32A<9rSa3!V?$~JR)naDr+ zb4xm}JUIDTL*C%!EQalS*lyqJJz>?i=j*CxMgJMBHR2A7*vw?HVyZS@ercr(_iV=} zg%blbPjEeXzQDF_=Q8bSPx{zvE~Ge}5mw|+zBgavT|`fE!Sji)uPyRfm6zPAzO4AH z+nR`$m$PCPomj`fxAUm8lR9g3zn@X{l}f=4sS+m-$TFHrs<){Zp35?y{M_aFB+ui4 z?;Sm-9sZh{=s6z@U%PfblZ)ASE4t@Ohk)zm_qpopvsxCb743Y^aAm`?mkf0V zl_EQxXDlpV5#ua(I!&wiYWDoxw2b+wM|w^fpO33f+Etkxde}1druwy=(mNcwJVla= z6RMtHTQw&N!vW9Q69p27z z&v|#AeV^@$ZyD2-uD)9;GRdu6SdBx{rs}Wuk&`pdOPfzUndk7j@ol)oBALFlM}?ZRg3M0TGk;md6u_YO7qsnYuU>PdO!U*< znQh*NGU2*bZwI#Xq}lIG3U)O!>{W+oBtdQ z=CgjhH>Ts{me#vFJ{5VMT)DC4crxG8rX>CSwhj_UOEe$pteJRQ;?5Ct4QB~?lB=gxhq%$!-^)Z8Mvd-*+;BdZxE3w{=; ze7s@3^45JJrM;UjYRzf>-ua(_>(!Uq@Y7Q~8+JlvSFlkn%40oM99HwH-^PrIuOi&f%MJ{9&L#$fQO; z>&f5iw(7Gmyb<-6eD68u&&1E~`xf6@z*xBZj8nv4E#sy;MF-OFi*mY6FrGQrX%gEx z`?;*Lh8w1($^3fMcwtkJ+0)4l7Jo8?Qq9Gm*4G@&i{vw`y0Rd3$>o_|Jlx1N>$LX*~RR_PAz6O!*kIx;4997yil zzt&mxV2{U>4{jG0FEv1n{$567nlPIcwwRU35NPMq4fQ(?jLKFw3-ic+R} zePc)#6`vDfF!|Xzd#=WqwiJeae15EfnZhTvj~UGMWT^GkIlC>O)q;6)U)w_ULTT|b zOS>zT3z{Otl-F{oc&V~E?NDHx^G*HIl!jC1Cr*E{Z^o)+5#Cw`DQQouy9%bVdz_!a z9(R9gAoGTIA{vKFZCAFmF^intY-DX+`tr8OGT)~)`=>L@PgQG}ZeKa$gB!0_zx6xD zrz_;k7P(ah8}>AQ-%vIG*o=1vZ%l6bAydH0$?%iOGBiOt-{;#h<5fOOaue8f7JpeN zvHz@$L&9T)ugh4I{2p0-e=NF4nD@ZDyhGE=&q&*w8Q5la`FZlV@vCqZaxJlHJbAA6 zW%rEGw9_pX2@cQqs#{;3`KwfRzf?x55{mx zk$3dfVXog~HNVPLopmvLnU&m*Rg7nD>Z-9_dt=p=`1l$BB&+^^dnK8r`}i--y7^$< z%wPXXE;EHs3{X3IQdxc8R>n#RV%#li}@oUt$>zPe?oS`_zAZr94MOou!L?!p~19 z-Q_DbJ~o-1YJ2c#=z)Mw$)|4du?IT@?KpVw>xvuu%(gq8k1{Wiw%+{m)~XlNj&_zC zZ~FVFD9h~>qc)#4D!FQ<=Kqx$@~_ zMz+O1X%QQC>hE4^D|vVG3GS1>f;OB8OIp2qnJ-%t&*q%KY0MUKQ!X6z)_5{+@#Q;L z68qksInr10($D=)W7k_-UbU7Be-|WdzcBIM43|k}4?Jw!vkHz+{VYG(CV8FvS~rj5 zE6!K7IV{<<-A2l#JZ9nZvP!vmU#`wFN!(vPZTSQ?|A&DqfBN7GXGO%nDd?_o?nu=|3$!^Xi??jW?<<87QR7d|T$R zqjgDQU$e<-v@5*PDM9#bIafTuHTyHF2_n+ZXdy%Bg zr3p-%g~S`QrcCOHIQ7P6`=S11k55xsBi>2;3NyLCxB1k>;^qm)zh*5_c0SYQWO?i6 zqs{A-7`6mIv9u|Cec{>W<&U4WOquY(ktXlqY;LzViFZCU#2~O{VQZS0gtBEcRHQ`Ec{6u8Ts}XL`NFV$bmhRaXbOn=Do3 zRl8C=vGK&Jyy>ih8`OC2YwJ6{_c(A=efo~PU!|)z$s2C|yV4}!@i|TL9p~z{3hs_< zFp$Z&yi+0h>;9K`XPt19cjr-IQEZqE7|5QkC9NjIbZd>>c;c77VAACJ!dZN^>ncNRu%Bz z+T)U2cP1BU88mjd+I&25*35Tt*&~nRd0#I19TH%Ce{ad@)_ZsQVXG za6)x`ui>0`se#j8pM3q}O3;ZU!yS%o7M5?{d+)qyt|7hqc@NjwhEH$KrIvG4yVPAQ&IZa^R~xZCGB-K z@*5U5&vGk`IPJCbx!j$rD%O+5^tXlj&Tf!+ebhkq_HDXW(P}tHi;`1KcAd4>=Cfd3cc0RCcXK_l_1jxzONY$9FU&9;JixG;+ZUdNj|#@ z9M5^GZ_ARH(*Akk&N9I(%pSL=G~Idr<<}M0CvJBR^X&Pn@tIL^^W2{&-_LT&nWFZ7 zj^W9FQi=LE9gZ)LTC1{q)91}cHukjn8OHE;)G55ElVp3FTDgt?XXe54b(%{~~ z;nJU}Mzu>9^Y=;oIr3|k?mpcguMX=buksW~+|E3Yw=!gUUUcDs^N$0zJej}u`qmQL z66R~OA8qeVn|yx9RTZ5(a`%^(*Kz&$`^cUrOZsc}%>1`A8*g9d{<3~n%aP=3OCs+G zD#;kU$oQ6Zjrra0_qPuFPF3}`)$@IS=%o6G>aI`sf5h3DTq))5433&~Pm=$nyae;5 zed)r6DmzZg`FhO@W^7^jbj#$81+aH>*|8)_5is^Cc-oSTZ~iI3Rp&PR8-sv2Fb~bghG% zL$~++_7AALDp#J~%6=hq!tDYp0fWj{wb>8y8UHw3`J<)#XvehZ-4Yi=Hg8w{^L_oM zE%Svds)ILppRRQ?n6Bt`e9lyhlPBNCe0{Ox@AZX6T`$gUm0TJwp*VS&V|klAl?Ac^fmo zV^4JAL+i-p`=>50x7V;>?k^6zeMGD}b(gTx)Sm5YqZ{793v#FUdV>J4k> zY+t$N(&SlPii`D+&zITyH_v*tbXjzCWs0?mpTvr<-%LOEUR$YpFk`mL^TNb?b61>G zFKnDDyIOVX5*Aji#cQjz47)Z7d92s@WPj!`yTySOk)ASzUswCe`+QmPZJF6~l?zXd z)*Ujwv(;_&rGuk<`AGksuIS~S6!p^M`upJ?=zUm=U+cWrK(@jBRiF7Jkl z{S^~sL@kyH9AGOvUG|^h^_6X*Ej_2j&x*0}7tVj~#&Jh}&GEupRzZTD@iGGJmrbqK zxXRvhIFj7xlwj(jT*6=A%(yeu{qvHWliN@7?74DU^nhLN60dW2gwCG3zm#w7_wc96 zD@-< zt#@&fs{fw4m~SHA!?h=Q=vXLRKD?(oETOoEsnTNgGbsmU$3K$!L79H<&Ce7tDoe-Lp#>=jT zJ(qkE>SF2g_x|Y}wf|-;XAqZAVSMeIah@yM+C9omPhet``1SSII*r`7s4j8))GT-B zvAkCZhlIP<&$$K5ufO(KpSMYI*L2q7rwsfbWxhL-8+&l#=H{M|;=Th)ED1d_U*6bF zRbF#j@+p@!50CKIRj;{Lv1LYVc#-AyOt%P-H0;6OM-}#7(~h6gUUB==yr$mH=ZlmRrsx!3wwtPdVrTlx*Dq>c zIV%`ds^n@JUv9G7Ds%X$b`G0pz>aczYk8k9BEB*+!uole*dM+Q7JdA*ZqDOtlgk3{ zODHe+y8N8cmQFUVrw7j&UnqVV#>L>I_{j9hyk&Eg7_T`!oi5XSA!N3QMYxQ)0GRQSB$=jfqd2xYpSvRX@3MI8*0MPfXw91;4uHB~6mpsNK}z z$8I63DQUL&Dchgov-YQTHg4Hp& zYx6?8C_V$L>fqSLF{e$sc?_G5p65QUa($Zj$H@nSv-Fol-l<*oaCU}*?2_j)GD+LI zif$}fSCwhVVy<^CbeCQMr`^_*KVEM2=I6feu|06{7T=beJKi2&TYAA|Z6?n;BX!A8 z+tnxR^s}P&&3!1nd$xJQqQ&k8Wj{AmF-BaRZt60TSAOoVZ~Il>OgfzNFY4IwYCiMy zb+*~()~(yH`|c*=27l45E8=c@vMKt^CEo*wZ`f%!{#Yfajor{#Wvyc z*TuJ{OW0iAHu2IbW$8J583!M=J@|8|=c0m$#!)>(UzTsni?STbMCQ4AFs^7Te(lHm z+R^6lzbRkyELR-6?03>+O~6MD7M@R;Z)(m@a^6`OI6)$z=g|!Ryem5$W@j+4+5~>D zOFX%vneT5_?BQh^PnldTUPhUnTQcc5OUcpH^3{gMD^EOHxWKAny=tXY?CyB^!+&01 zui<`F>+Ld2Gbz=&k8ASWo9_uk3 zzmD*gIyyhrZ1#eCH*VfPXMgF5?ArP$|8F-QjfRvb^%cT@RzKGlt_l07wzse{(Qc`7q<`xt$vXestxqp3x0+O5 zrR;Kk-MB4xd%z2aEE&g5q9^GzD7CfKeMZTx+HzJJt@`w!3e{&8p8 zHgA&CX9XSRRnvG5uQ>1Z-p1Z+>+OJZ9&B_ObKco&`-ul-%up;N&#p3PX7i{CRmI-(NPYzBla~L^RbcSs1U+ zDnG{=+-JaM_4xk1snhuu{QCIs`d05`iJj_s1`7(Zf|VDrrm0Lm)p()m**u41mc9KS zs)B2l9DB2C>gzjFP8&6+MXIGw?bd0~w?7;xYS`4}>1x5gV5#PIbr$22{|r)X4zG5n zD=8Uxs4M*Ln!WJGR0+4mr+p006&25#lB**dvZ?u8#q*Z|ll;%Q@h@1aqmo+MdN8o( zc~?0%f4{V>iu63U6VD~&W-euz5M;{cYHuujKs0jNE0eHktf_G|#~#l+{dGOZkLe#H z|0r#~wQKF(GZQBS+jcydb#IEy7PoR+<0JcwE^V=p;#}%B=ZWABKHK)HPr25Q?oH;~ zuk-yoH`9>@C3D60y*28O?srPf@5sOQsLo5cX~}g>^R9Q_jkVbZJY7JDD=_$KhQ;|=@TgdhIL*RP-5zH7$qTesa(h4$b5WBdBk+nUUZ z+}^dfe{THbl>C(CSJ>a>N9ShyUR-ivZDgc+oCkZ+KhyqiH9K>!w42l}eZ0TBs%>{_ z?$U~=+;6W7XBu!BC+`=1CNKR}`>*t&U7=f#-u5;9UAbO*TY3i*1dJfeZM}gx+$W$tIF%}Q~m98etisBx!{?t@}WBQrsGEovThwq zX}abRDc*3qR{I5ir@dV1dhx6c(LbtQWKKJfuHnVTz96Y${bZ#pxry6nh@_RrXmVfp zHS1J%XG(8S^0TUIp#~eLOu2Q#a^`EP>pfeuZ$FkSv^oAX(>wowT-%zL*LSU3U$;G~ zb?4qm7T+{o&Iwkk^z8|sc(mZ+GRNQTjsF?0uV3f3bwoi}=-peJ2zc+M(p{b6tUjyRnSJH)E)ROQZX zlZ#GnlE1A!|J0tIG|{5swY!%`)4m-=e@`@%zZtpIj#McS%S)9N$}TkN+dz z?Aise$lZ6hUMkDM>*AaTJ+9Xk{v5v%?8kVjr{}}+ z`R8WJUGThj`%tUut~!y`TI%;EvwT^8hGjQ1)0-7+#XXNdiLgrlu#`Awc;!kWOOL!v zv??QgPRXFgF&BbJiCWyC;awD0$hHoyS~wQhickqnD@$ z&*?c;mwZ0X_+0RmpE2aix3lpETnxS23l8+nzY^4Y^mhJT?Fq-1J-l(n`&q%Mz3z_Z zv|I!>F)UqN^J&NO0+~Z@%vo(cdj1v%mzE`Nm)EnD`0{;8K}+F0>tL>BpF+2P`86@% zhEU~lx#Z{RzKd7dZ8>l7XHUZC#@Ajq*c%T#|F~kl#C=7H*G^35-ZY*6qin;)ef;Xu zyvo}>{O495b0}h$TOe~~UcfDpo^rWIa}UgnUU8a<|L#$bJ6bzrzNr6aSR2~CL8Y&} zsJ2yUQ|+@j|C&n)QDGAs(<~VtD|by;5%{87Zfk6s=4a7EeMi2YRi7o{5|SD+XZ^bB zXA?cA8}DYEJ^A{5kwyL!jxeb1JZDww8*)mY-9nuqc%GB!O!pHJnqS#}b#dtkPY|s7 z&)`*Tz~ju*_BQliO}=b#*PO}Hn>_4tO1^y+<>6L6#=&Le#=g~X#;W`d zed53BD>2-XI{Q*`dt~^m``1SWy|)nZ;7GDKar=0l*8bUh5|4eAS#jR&>sjf24h#Og zsXTdJBxd!(0_T$R+rKVi9Hkq|s)Zy?#>0Q5s{dYD#cA3KT@Zd52d&=wh*K%__%3T^crSR{?7qu^chgfse zrS@}iIu#$6_`Wnmr{~}WyCNfNxkHVT=h>O}Su9UHdFZj^6X9F^8N7lVr~iHsmo+?V znHVE`e%kBiV9@|`w&1t3dW_5ptiH&5S$1g6h@SiW4DW%H&lU^3SJ~8h@Ui6T<$7Wc zI}{T1FU@N1eb}J#$@s)7AFh0n#j0lW3@1Asx$Tg{+?RFJn&XK;z5ZIIqbmDf37_FA z@OVG#qJh??hGyQmceQNSPT=@ctL+qB+ZcLJqs&Y+$~7!MxaZk|-D1; z^z?wFT+2t#v%+V>?{VhT9#z;NBgASl!Nage@k#pn$8pZJAFm%OD_1(79TWXd<6oS` z@tUve4hMhy-n=E3?|k&MH(U4KZt1Pi@h|M#6Yy;EhGN;OC-W-o7T;TT(Bk%mx~(UF z6d#)>`_aZI=EZ00BkRI>3_RuLZM~(EfAi9GSBkuQG*Z8LY!{|o`m+U-Llc&fWh-T z1J?r^*N@r<<_Yfi*3AxU)9&FERaThF`zkwRow)S|(aD-kZhj6&8E5CYG1?a2sS5M! zT$4FZ@$$K)i|^=sn}5IO-RsNtQP*z?Tesb95T5wja{&WK?Fozb^Iy97iEFIf>UiAt z?@_Ju!kmnE${Iu({Ct&D8Okl?{!N{+#*170rc6TeO7_NgnOT1CMUke{pZ_ zU#%3U*ITD_iac!h%Zg$#4KUEZF6*E8b)|@?#lx8e4lifrPy6_D;^~7dsrBpk+87z8 zIe5mT$Qiy5GJMZ%ELwbMf+PF)GY1#Z3nW_uSb&k{d55`rz z?s8>ZlHr_pj8A->=JWhBH;=QVd|9~Atz(ByjDXSN{<>@f5kswmZcGzTzV^>so~c@$ zerd)jk58LhEzj@YYtvx1u7auQGVfV6+1afUmTy>X3%AzQp7DH99kkdj`uplPW#8r6 zX6-i%U}(Qk6<~OK+uWPa8~eUm%g<U7@A9Lum zoL2RDMq0aA7-wh1AD{f*i<2Suz!H{I5BuMzwA+E-|jgkNXy!0FdY){G}_A_c%wfi zWXUnN6MP~veD;PR2iPTY_axM6zB;@nw zWA|n<&tJIW&oQ0VJ#5c!Em<*LEcEmW$yAF2FKQ32JgIe*yN7S)o7z_sQe;xtUUqGY z*k;5iao|^w&!W=Y1q|jZUm4GtHM1^%`n!oIZ9l#YJ&@!XBWHZn!1C^8%lAIq=ae;e z9#sD<@pXBgo4SOA4A+V!6SuEd`REs3V77S@|I4=yV%PKT-mm_6)FNePf?4CAR}1bQ zjQjaM=;!X~rxO@d1d7kO`WuLe@U8OrxvATQ#+m?83vDmY>_i9FZt5qrd^su>ndS3U*m7)$08eh-idaBIf zEhD?6{OfX!$pzMB^L?J%M@^`#>3P;*EyuZ_OgYHmu*{@N*%#6`4cHv7u-i9fF#Dzpse@IUw5@RWDA@w`ko<1HU&Rp)AilrKBhk{CVtyuaU7W|5l1`S-qj zTdh3#y8Pd)jy4Gy0kX@H&rD?u&KOwa(`5-ALD_CyXW0ltW}p#{n2{{x6bVyFKij#dmS#4J@TX~nAz~> zRFPjog-zBM)|}zme($}zfzVVNzCDfSms*A^JnqkO%{`p_=hU8$*XFD}aJ=|mamW&F z_9@JB`fh$(D##kN_S_qpvPVm$JMM0HY;nS-@Xn18@|svqsjuxp~J*S*yaZ5T<3eJM8bB_nMbzF-1%*VEKZ)DI75y(t;RY9-SoQ=%3;D+gg8`he1Kl_|j|{|Hhqe{!#l9 zKTWN$nKEb@ym(PTPEl-|*qWM`UG*nsL@_5!?uBP>uaC*SmxQ>r~8cVvR7F)9qe8E_f5#d z8wL``e|}vt#X#a6f7MjupWheHnAX``IByM~=arX|Ph8lfr zef~1I^7L0*i)Ee$U*in#&ExLb!1DO#mFnpkuh?a?9E$iXj+z`zD)=FDWx<0c2JQpT z*M`eHHcfO7unJYG^!8SKKCkd+Xv>6&*H-CSm?rSZv1v^fER1=6+5Xf#)wsn?j;k6y zp2%?=)jVb(@qDXYLdF(#_DMzdb2Vn9=lQt?b?2W5YFB4pC>nF{R91I`fqT^i-wBp4BUNuC{JryK`D%gUpO>GB_7)o2mpq%| zS1CFv&Eov>tnxV_rAO@&Hg3@4w2_;tvE#hgk&oQLVUil!n=fH!KcNs<8QgM0rYBQHP zaK>Gomv%n*sN(c1k40?`Kh^7W%-hlye9ZdaREJXw_^K|~Jp7|JdBRU$W;5$6z8WXb z=Y91!#UItX^juNJO1_|%(BdJhpFMb*W!W|{=j?fzD|Tge35K&)K5KHTi(hKEjGg)Sp0uf_p6ZzFpJ~dx^O)za zD?%0uj}}%k$ZJ0Sy0S>N(`UaX^Y)hkCdVbt@o#nBtzPt9G-l)BlrI+Fmlo)3X(>9e z{`y|WXZpT3l~%tyR($=+m0ZQt<6f>slYh39eEC!8Q^{sm_jvi*5Tn#SH`^>>J@&Jg z<)?ZlZ_J!+$@%HuR<;Lz#wV6pPq47f+E`@4-UAAj^{bkly{yGJRjYo-?a;&W6X5?=)oFjSJ6P*o2mqKD;5o z|M*vM=ke1!G~XD9Hs;7Y@7uytEq3gE%+>U=mwkI*M(*F`VYg_8Uxf+7^;GUHU8|K_ z8FnXZ|FlwOLfuxj51#iM?2Vlmi;9l=xqn{u$?&nf=4&s{rW1cYi#d)s$k*R@bzC{=J$dg6~5=rLap%SFMydzc<`q zmeCo<$o7B(rEjwMHH*CY9L~#4UB1EmV_njs6fLuf^FLp>{ERPHU`665Cdc>xOe3eH zG+CJLxWKSP{}kujS6NdwK6xuEzVh2DA3rs3y^HrhEO+XQ$$jN!v6^3!$KvI^<=eG| z#nhYsyn5$pvGG)TVSd)MLl@khxg9e;$$WpW&m;l!=41ROCYM}x2i{J6WgTLmFV?zQ z>ht-ig#{Cm7d2RaF=Z)_c2KQ6`1T18H*_?G*jj`)$ zw*H*H;Z>IUJXdv<=dUj{==!rHcs#e>ctEasz3BXByoWQ6GxyCu*Ichq!^bs=fB(L$ zX3G;vMefBfLl&{#RLgni%41df(w9%jX~C1yUui2jIr=k-`}Xdw&4@gqu=7FxsTJG} ztz4_vYw9=On||h8*20>E^@Ue1$DdKXE0MVKxYL%M4x2VLaYi|-pIP0%_ueYD(5LQk z9OsIiPWLX|-+pbnhFJSFW&?XOceyRsZtX95Zo6vR1IN??;|rHMCEGX-$UiqJYS^L7 zzCc}sarZNo=eE|tic=mxJ6BZsZ6)^#h2_$9-}ibbu}SZ=wYN&+Gklg# zR()H_l6!Ltqu&FkgF6DO_?EByb*W}|pq>@G$vVKJS{GVehr^Q!k5F?;pJaEl$2iJPC|%?^Ito zI;CNb+>URiQtuennayHPlnXP`?A_Nt4iQ-kc;4_u{`#9``ZH20u<1yH!2q}p*`3Q1Hr#D){8#LorWhLDVC0|Z&??Mie9rNupHQdq z)@>i>&q%nMC=n$4@0+FMG2?qPw{th#nYZt2Ak(1@>dzib^k=Vhc$|0V`QD&=$AZj0 zxUrgec`_`&ZX*-QxNs*Y7oU6bYv1xbC%wl#zvZ)*t27v%_$mBO?mt7X?*7#ndLGb5f_N`(}=jU!=V_#=4 zHSw8yI`^rS$6SLxPq4VNIOEx@C2uXBY)+TEcO`)5&sIAWn?B#ynSm{JBL}3zw^AQer8WTF(~{q z6?5bl-WgDM>gz%U6Jw=?F`v&rfA9I6f%A4BTl8|fsmvQrxuu++c3={F;7fmD#p&F) zZ!5F^y3FLPaQy6H;fqztSFThy=2@yFOCGhoZ7Aw`P`$}LF+h~ZY*YJxhV11p9r$^K z3l;dRzkNUJ@?fP+TUK2;^UmV!_nJ3ns74gePdf0$gi%`FV46A~dsg?^i6Ux@%sXFq zZLmvIDe&`^W?-DX&~gFCCC8^fUmb0git z&E%G!(wcZh{$-Hrp>5AX6Fi^%`hD5)Onmg54Jr2eKJrmB({y(k6fm4TU%$|FmP*jR zcn8nC+PW>>1~CbfG`Gkcn=m!fT%WOUqK9P7@yQlCJ1o{*R-Uu*xw`tC;GTVfDwC&4 zsPJ7WYCS9aNkF>sSK5>_`;XmrkbID?era>Jz?zxX9`E134B{-C)OS-RapUz{eSx#2 z4ylKFLpx{6iNT}=l& z&a)O@2~c&IJ=gExrzfS7Z@s64>+QJHlE=kwY5Q{iZr$DQ+!jCmdh+%Bs1^?ng(7yz z<^Au?%vKzasS8!!@kj4c*?Z;-rOW@U^4=xN!^Zf^Zfp3N+jDzA@hxBYXO+hjPd;Vq z?m828gRYeq_-d;!DzNbWwD$`5?e~ez_~1&hG*`ReT$NA$mJ57VgrAYHWjOwyVci15 z6#>G$#})df7VMn5ulTdPALCKw#0l%_+FJY#1CvwJe1s>?={vMwmd$dO)*vH>*FUZv zVpN?nHRm5oNY~*^_PrTPw5M=Y*6)46A7E7RZS{tRV9v=s6X#!RQt2uFH1F6ngNfVi zmA0$={&h9RRdbz`?x`hBhbLI~S3Q5S^FM>9w&c(7xi@WV8P?ujG=Hy8yT#*;{x#pv z7MbU5teGTWeBx}7(sSqBlH+P&y638{&A+wSHEjBm`>fPNrk6&ahW|G#qYt<0(@W#_Ne@WB%JFHn1+LD;%4pdz>&uv+0<7OP%vx*`2 zq2u$(*I!02Njtl|&0@Q&%>0tV#)eGAUM2h8>bj?SzW%!AbobBh84X9i*zSE*@jiM{ z$@{b6n!0m^?o12dPSAIp)em&t1_cx-WAZs(e?op+T*PR0iZa(kox$!CsSgWO?J$JzM| z35<;=)%(}7OuIQnJj61^;=ps|*S(}q{r498$8$E zHcMK;$zm^49j>?Or2KikXyvC01$A5Vt_5-}>}XY={KnU3LD0neFMoCa{CJ%G6z45} z2kncOi-mSinRtQk@wGi+hXW#txmR1(OsZnYj`zEspFG9dqSx^N_X*{DJ68pn_4NCE zUg9{(ndkX(^;@fb3!i&xt0gnD^k=QkUFlfF_LHqD;oIt7p`Wf3r#9I3d9LF;cJ5f` z#N&o6EQd9ZWxabi_rTxUtVJTs&mQ+#tUPzQhyU1S{TT&i`O`C$*SW_Zn{%4;goTs+ z&OR+QW+juK-Tccm1-{%U?Bo2pVA}CFv8x&;Jzia4{L&|3$1P>n<5e@ee&!usA*r;e zpJ(;t-aG$9IFfI_>&ay?c;0+z;nb8*f3C5tE0Df_;p$9j-tC3Ath>_g^d8+`#&7>` z)s_RR7|&fkRzFvnX}QEf+f}z${{H#=hksP>0%mJRbxZX-S7W%^6&|uZ`*Ke6%=2t! ziJ-fcXFWb{E1WYw(C750HOp^2UTc@2mFIg~oX5TJ)?8%z~Yd$qcb>g}3H)%Sk?BtbERHe{QzY z+kls6W*%c-zBVXH>aEhB+f~Jl!OD~NYuq_wWc*L$dj94WKmU~}q~Exb`{^C;_jV_X zWh@J?Is~`ApXHJ&8IyOXYJOFFGN+MM>B+APPCRFGJNIse#8Hz2Q<96{Stu`9_OA9} zd7|fv!%cjamIoJz_^g&+8Y#2nlFq4*J({=bzOPuedE4`(89Z5vN*edKZ1{4P&ueN} zko=ChA>OB_LXUX-jDCDx_)Q{7jd_14OR?*CJ!rIUJ3h8!VW_KPgD85q8eC3L_ zTHx_}mIsuV%f5{9ku7s?5P6^TpTUatjOX6MDb}-J-kN--mm|Pkwl_R7G}hgr>aXU} zP8F@TIFE!PLtn+1YOh|U-RmB(-+f`Xg z_b=k_F&X}2YZY>K9Bo(0{Z$o|$B^*F?yFy}qs8Y`BdY=id0m(5i=U|3uqJr(U0trx zt5CM`goF)4<@swfQs=0#3(h;W+wu6?z|R*CPJI&eWDet%uI#uY%J-iM)$gc~Z)J$# zzw&d=x48SgCTIHYBsTmj{vl6i@c7L+|W^zd?wVm;5^a^&%_r7H+ zt>;Z+c6oRwJS_~$=PFiYw&k=C4dd<)lRnM7B_P6GYSQhK7PcD$Z8{htXNZ4^bCi#2 ze(U4i8rayAzSO&8wl2H$&zz*`XM_J5Wvi}N)jD;%eDdXAmzG|7pY(1G2Xp>+|Fv97 zK9}$9H#R(AQ=NY2a?zOu99R0D$Ym|MduZc)tyCRL~82O(ehfV3_b%p8++p{=Fh-TdRqj>Z+I{J19eeU)OJ zDxb{T{rbA8=lTx~I|AGnzW%z*Y^j+4JfHL%K~IHK&t5##oIOeAyXCVbx{_TkDw7J_ ztoX7S*M}~S44J%hgX8P|AkCL$^D@KqM5|a|{F`ZVh4Y!2YNr2r#glpewgx`S-^F*q zKI-i6Xvg%o+)W^X|T~WMaE_AmKwTYoHjUOWmk@(Xg2VBq;s`|9e=HfEFU;ev;=h2Ev5-D0!#tqkw7)2Rq| zzBK7SgV%1W)+0-LJB(Jb*L*)4H20fv`a-W)j`tPAWRLqF+w=Spf0x3CzjNeLZ`oey z@;cHx?e?o$?dSg)g#J`rD-~2-x^~lH=Kg*BXKE|fOJ4aCS-r|5b%$EeV#du^f(v)- zjNJT)U(kD%zv_{nWiNL7@!hX_qO#X_&F;F7=hf%@&9=*2GO_vnPyhUXdqXR=9<7N< z%8R~xE6+YF==2Tduxr<@y`1?$B)PA!-{-oT%E6UlZ&s+QFdmOemHzB3yVEYFvGYM= zh~)gaTW91++XxlkYc4z{@vNKCa9ZpgL#8$E3d+wO+h(=?x&65N;ShV#ttCZ@dB@d7e_H%%K6BvCWf3yAJL#;jMbB(wbDxB1U6|8kc;WNGvvode zk8GT~)KU4;n%N&NzAfB3eW8r-S5vv;XJStLt=jOhzWr;{{F~)WFU;?r=8?McJLFR{ zOWBJ{c|Xf`yo~QRtJAzza%s8mzG=de2N*j<_vU|eKOXq>(KXq!Z+D6#y?WliYtCNy z>$=VKNVokBwRT_L?;yLk`aa$kQ z_l6r}U0B|s=kq9x(bHbzo9S8`V&%aV>N{s~%02t7A>8x4Y4Nqq8GXrXt3N14w5)0~ zJ}l>}dF4SS`vS@2c#9wXkK6hm*1Er0bpHG#hlm|9>#T+2YFE@*$MOU6Qfp0KuMCf! zbNpFK^Jz_)2Y<7xkIl2aY~!7uuGcLxvsY&3d@b*)F0G@kOYbaxV_oZX%T4oH=hXgF z;qz=?&$?<;{P3@md*82oEth|+3GtGzyMA;Zu9qz3=e)H?JTCRkx|$^3OZRStwl9h9IOkrJ{VX>8QQGQy-b?X1 z<=O=|`0u)Jt(<#rtL@GFdp~El`CA;nw!!zX2=^7fW|J#I<;=l>dw)CYeV)KC+OKlc z!B}Gxzg}2i`k0JeOSUQ*)R@B{8!#kZF&zH&I`>yUCM%c%H2!?jgi z+YascJm>diCf+0SGG~Uq^03|ea;<{8?)6(+pK(tzlV0$k>N3B&)`H}lpe7+yB4zG_fzz(Q^hX`;*%@YhP|Wb>gO_ zj$O>W9ShyQaqx+@d9ruOJkH~DtF(A7`uTZnXS3b0fCcZ~zYa>+wW^_L&$EU6p9O_F zMXSwE``y_oebUXg-D|oK=k)ATjpx{%Tv^i&dr!G7&n$oD*JU}S<=>y$+g+IvX2dup z&anC5LKk*}o}T?@j_-JI<<0KEznu?ki6&oAD&f$fnEVan^r^R)bT?tW%AS^v#(Qyjx1;9)sj@KVOeaV%&2CtO`S) z?$}-#qhsW@fXRD8#jl_g!~YB^35^#n?M!V{ki4^Bxp0E@MV-RcKeHw7Uzz$ZlzV5! zEsOJKs`&2rs(Cf+Kf-PwRdXQX_t_b3{QDV#+3p*xjK7zx(l>vu>9+}d|7z`zO|3a5 zuPO2VyvaN7iDnP#Li4Jxxa3(f+ecNM@^Ou1yj9i5r#Vs7db_-i@Ijl8K{s9YC9~eR zap2{=tMcdMGY&r9Yq4hon%Z@Jx_XJGkwo;kNaQ8DL=4h`q5{-*FLn1W!i;( zKU4V(mXu1op7l|-{5tCZU4Jue^P6tVV;(WTu3rdV zt`YR4>x!uJ*LL^aR%@qE&$^#!-Nf6h)lxO@>L>ZPl8`Jrm^TD5n^g zKi^w3XTQjv#EeNxm#x;(wEuOqw`=9suj}-_NB=H+`}^i5k2KZJ^KseDtkbNDizn(W zj4RsREnpnkck}#9kCX|2AJ1ytba-vGuY{NLaod+wd{gBwEs?vbmRvSxPS0h@8GTo^ z-!otSbtNWUC3pi5vxvd_VBQAV!*dG1uJC-oe0{IX!b0)2F-^sirwoIv`?k8 zRo{GyHDHD1h)dUa<tVs;%hyIk=HB$Oadr6ja?PYS{!vw4p@%2VDO)g8HprQAYxLY!(Syg{?I~ZEcuh5F z@e$}42*dubEi%jypl{~Z98X781@@%a_I*bp`-Ksu?-P!N4=A3T}^d9ct zxO!e#^p*Kun|9S+jJ+4grO7x;9`RT}oBYsAQ*YC^xc1=^~kyv4q zk-yh;1*65SOA@70HWx6w_xQL;ER4nAL33>Fv8l^$Z^(`;I(?(+*R_&erKcC4b9?Hy zd>?UIQ6EzAT5s zE1xY|qTaVBfOTtO-<&I_HQ!%b(e^&5dEQqe<|JLWhm20g*|$}!W&g;w-0a4ZIUQFL zSih_*pTu06>0Dbr-)~ojh(*BZ#(71R z>lZBlk^iXLd)mCK*B*+q@ZM1GdRSxsz+R+Ad&hqUU)PCC6{j>vvRSPced+snN4Q`4 z@51(A9S7#A&leoOwkK++98N59II9l%9Q(}EP@4|6)89uAct^tgK(ENyP&Sd|jJFN8FDL$VX1p0?X@ zbKNGk&Mw*Wpv?B=L2j&(#79cRB$bwy`g zL?=hkB~>vL^g!kN$UVTYrGZiC)IjVvqZli=M3b z9Pg`ksxpS-@q`cDH8({cTD2eT&VRGJTROYrecE+=|%+yE`@w5k%YT1{@^aZR^@jdv-k$su=GycYTihF0f?z*yd=eu{$ zS)IMjd>jowy|ra{8~0aieNt}Nhgi3x=U5W=CDpEep3cr$w6E>uT$w($V-68tz8nSJeXglF#&T{&hG9YJpKjSLnDf_Tt+LT2_0+I~ffx9e+g$p&^XU}x zB#sp`<`tQJId(ZvtjLc|=AV6U-i)GY9~Nv{`TK6|%e9-WFM2)h^Q)Ii`*A@tMxcuC z-_K<~CmwH6?XR1;EMRqmWapE4cmHkGcH@(_sp8L%N}O3ZFF@`|y;kL9$uO433t#`d zz{K=++Qg!pFDxXMYR$-PNeIbSzstHW@wngqsLE7k9=o5n`+Y8`sa-O-dFt!8r9C=* zn-VAJtCw@tw(1z|(GutpeSAg0`eMK7nbf-A6D%M2SFFrw>{KiXaLn`k6|(dyUt}ly z?Y+k3@6Af{9GGt{{A_c`^H(jes^X#q{xd&VPM=_JGW=ES;rEE)U#(`@Lq>MCS+^_F z*gq^kqv&=gC(im}vm|qm;I&zsa-I0sIUW_tb5jtItor`i-GD#%7;~=jj%AzvbS<8y zE^$1{NxqJo?Xmi;-Xrs8_mmtBO5kHt5n34@WW*la74zred|M9o%eUG}f}cJ~;XiUo zyeC(WBlU&hgt{#Zb)WN|o|l`;zj4{Ljug$iH~J1uvlIf~gV?OUDXM3j<9PYH zE5RqWnTJPix$RMx*(dI*qy-hX-fdubrzz@LZx~=*a(AA?m!r~64WXMVCB7`koTRg{ zE%f!A=eOplrdmdNeeB6SFCWzz{fuFr-4r1it2V_6U%oD|?3`56IYoF+>v7w&UYDLU zeQ1&Wmvcq&Zs5MyRTU@yGe{)_%cLjVThJ=;{LAZr<7c8GMVdDVh%dDLH|3-GjH9s) z%nOdk{JQF1^f|w9lc~gkm%A2cuiuy%F17Rne|pNgb2quq2N(w}E|WR7FloUF0oFK+ z2Rz}nkL2Ylf)80$XGz^#$da{shnvTp%5UpC>y-ap6M7|;d%xXAH&wMKZ>jHTnGH7m zQ^HR~t?yX>)pJtx$tQE4`22YjEgy4zp})@LA6wKyh3sQ&Oh2xExW8Lpzh-URtpm}m z1*)|>!(J6sKH69OW9x5^nR_yJ$v1vgv67p1P%qWVVduef;Wqti>+0{s{(RA?pt9ny znWZVmgyx>7g$MpKNZpzjo@sVdK4SAO`>>kekN+-v{wQAl`WExy$`$wP-s;A-ePRA_ zd&k$~RX=YB|6OLM?#VJCIyO4GGdSBw{p`={N4t%*J4H4oUYJy|dSaH*>YC#PrX@u? zjz&c_9hHy&WB23oBkkNES??p}?@LbH_EGrLiUb(@avJR!M!alF;EZsFVWdK?0R zH*2of|Iz$d*Zv|3b&K}eRLnlierV<6m8Bd?ms5LA?JNybC_8AW@@&7T?pM>+C8@s8{EV;nAKT@d ze{8x`Uu*V4H_4=Jypv)+&uf;oSa&jYmbS5a$Y0+1-?se-W!nEs^vuH|Mkl^Uw#M({ zq#xzq`p%p;W1sOAb>sNg!e_N7d2@0+x#s(yq5F@2yB*|iLgKau)`b_o4q{h- zU$Xp-(%eg|#xL_*_6wKp=XqVGzno>K;!n^23|DjW_Y}T=eQSR}iS-N9yGFJ_w|V#E zsYYvXe)%T)qjq`B9=?5nij0!adH*xKTEC@^r>3&~@Q+KT7ou)@2nty}|KagIE-bly zQrsoAixYow?s8SU*nWoN|Q*T|@n@d&qy^LeK_%gm` zht^we^Hat@9xu!O^!!`($M!ZG?MEHYuWz|_MPDUh+GX+EGCEbe`PQ&6t?PYhXY*ly zm+AG3CDlhKeX0HP(5-s@>;=EBclYnnx|tJhcx{b_g7D9I9?w;GFyGs=_~?Gg8s>+y zSFWA+Re#;v%Q_oAaf&|Qzh(W=?tJ!)_5-()OuwzIGf3MuH8R2PcZY55>d#@1gLfF6 zI9GH@$W!H=ebmcC50+Yd_Ut|Jcg}}%`xjMg_v#P1^lnXH&X&d{r9gCKjIh+ir zV7|3+Wy^}CDeF3e>|Pjd5)EY$msELj<)lc5_wGq+`vgjluY4WP{v-d}uItKI`v0hW zluXio>MY~IaHqcW{L+lq^S6mD%v9WZ(PYLw=BC(l9ErakZLFx;zFpJH{q}-)IXoY# zv1v$?+FV{B=#aPb6gu7%AkQyJ=z5^Ep^d+(b!J`;ow!)03RbmDh_JDV<(t-9F}t_MOcUap!+ey(WAgKW6lMk{%U{>0)VTfV%zgNJ z`i5d5f2N{U2R2Ou75>UzKQ6DXh(B`u)@rdUx$kB?Oe<4UVq*;as~zgQwP5EjwKbpg zuEj8)c)Y)GmZ7%L?FyOVDu9k43fRm=M_~+z1=7B@4~e> z%PTrxe9QPZo(S#U(`UG+g!#HD-<;ii&o5`}P-*^b=A7~|XfcyhF*GhfCtzojBe*38$QTI#DI;)V8V;mNJvCGY_UQEA%jEiEz$XTzOUc$A5-a zhp(28_N9Hi{#H2u;d^24hjSGbCg#p?OFz#$XL55B=US2I8#TwTa4K_LKl8J|Lhj0Y z6Vca=SNgqv{&xGja1Ud_2Ip0GW>?b4q8$kVb^zP~o*hPY_|nNzE$SxTq~z729avVq~r z>9)Wpetj0khT>zjzMk(-p7&ZSo#>#z zc9O?_t+r2@oOR)?CEUtWQ|m&K?Jq6o<3D}jSEy)>x3uQdKL7s=aZA#;1e&)OD*Sp9 zz`FUI*{AADt0pRjJm7PG9H1@t*EaK{ntM!t6vG@lhT!A-gM-)~bTZ_8oHvzy=6T*L zbtX(6(tY8V8g#Yg8fvyGHEw_R*7C8e)`paW6Xws@XYZ$#d*(pRo_Y7S>M|;5Fy8(A zc)87$<4?;%6?%9c)JHX!v`ni>>0!LTzG|x5#fFOGj<4SbvE1~V^k?IDyRUj5iY(Z- z%dZWS`6k`?{?Dq?(>xQ{_wQx!3g_eE(L7iCZ>vI*gdB%$ZTnUy&g16}&s%=`)-oQp z0Ga+MhJwdA*_S7=`YdF;-B&#MePBUd0iR*3e81Wp2`0zmr*H4|PKbP*ubjtkvAiKf zwqeefRR^1Twlhoqd37Wwbi3w3cBNTNsr80l&2!s#9FMBdTV7Wb>G6F1Hmx0}QW{VG z%_=ku<+)$-pTRzBb)!;)fJKmZ>GPh;SB%w9*lgnCt6VWb=2H=`huQNotB==BVmO)2 z?DCqI`YmCeeEa%VCk|%jg)2D&7Ivxxp7HK9NiP;~W9EPA=U2R2`AV?4;Aitw_UEIf znVoy4&QkULSMW2Hsg~9i2PMx&1oZYjs1uEUre}Ci)^^pQZ6Sqi@0}(HX~ayhh<_T~ z60oq{@2b#*x(|<*v3BU}2(@JmF!9>>M7WRP{Nr28KAlvUe0{B{)!Xy(QL(R#d;Y}) z7FBvWB}}k5?iChf{n%voj>n(BEe$*Qd~eW%q7L!Cy_(+UVQ;m@$Ib@oqX@7FMRD6 zF8Q?KcvQ{7Q!(Me=jypCPo7^IETn0dw1A=XsD+O>!}nFsM7t9!o?JZt_}c292a5Qk zDyJ4yJ}LB{q2t59yvmR1!3SGI&mA(FONBHoB-!_6-qG!P=6D;xjqvzft z|KdyCjT%!A9*?=~bDUlF*YA+j-Ipa+s=7=5XRusap!#`(TXk3Z{BsXaygce~CtY3r zMhI`?L5rnlg4`PBq~uvVS}63G$2!zp)j{&4vdKk#_8o7%9-fN(?BVCn-qn3x^1u|Inm66IR_y{%TWE$~9n&P;Ksycsr^eRf(X zOTG??E43;Awk(g?;&iRQeN@}A7^8G$yRUq27vK51YF|qFv%tPPmwon34Zb$vlCBv0 z{7VZ|guEWx6lk%{mI$}tzVhp`%@y^cIc?8vHMEZO9C>c*>Z+Xn>{#Kw#X6h^U;CzO zED`=ub!o?umvgT0)#c8czy7gD#I!?PjdwIut}whe-SNC3vsd}as_mzJ?{Jkq`F8wu zz~&7WsmJcwZ4ng;n>gc1LINMdTVEC7w_ObzwGS$kuJD?-dv`!!a^)RP`KX?KAt{Bw z{;4hGoxI&9z2{2mMh7v8-#qD(w#9*)KLmCtExyNh?RE3zdyDQEp16De;{tZs*4+<6 zbndXK&%5&I&%Ub&w5-fh(a)$tZqb6|(>o8n%lXeRCwPb8hTPN52j2#oeXCtp zHpxR`wN8c1=ZWW6d|4s=o;`+Xxq^I@Ubtq!&QzI{XA`eKd%|aZ+9-&U1jO= zWS5XUYY?bV*ksOAC3r!8t;?Ig5$~T*zPD!T0gKl@B@v&5r#-m*Ot{ly1y}jsJM-G- zADeOT+*6+~ufxq6>_X39Tm4pn_wdAfD-AYAKht35pT6+xud8JahglxW-3k3yd9QBf zqtzCw|LQ#c@-K}_(m0vNVEvz=fB7~|&7l5m@~QE= zOA60_hF`BTMGDqfDl5xPjZk=g<>M?4W@F>F3CY*lS*|8Itvk2m^L4dl3Jk?3-uh}W zNF4JkDm<~;gR4x?`&z)TYv)w98TTKQ147EZu(UxNPP!7GKS@q(635$^GXhY^a~!%D!{yE$NEm#r;{C0W)~7Twv~0 zXz)M9X7z82rhMnid2Net9Q|IvXuJE$Vl96O_N@$BJ8hWk;+@_7_i;U+pVgcEbH)b) z12+5fCfD`q(w;ZibG0?hvt7c#_UXXq7w%g%BmNca_Ip!QYrAs6pV`-&_I&*FvRR9z zYvFdDo-Za1voj9_uru$^KQ^_T=ShkERMSY$8^_n1h}q-^go$1Gp@ zDoij)3EZN2{HepID^Jp8{VI=Nn)@mDp2JD|_MfKVOhS9!fBCY6>r#=MchU08ufvSr zZV;ZppTBY$>lEWfCz9E1)(8H)aG>Qw;hcF}g@s>Ee0itNG^2<0_?fkL{yxg=X?ZYB z&+~a-wLY5CYM}z;hST#0>0bNHBoC{GqYc|y{gk|UPv3u zW0AKronQVFl{jYi;)Lb-`lU=yB_&mt2qhRE_+u@l+N*TVSvKQD1y{%;kFgY3TiDNWXsv>e_PH}-w$Tf^y-BLDfU z)@r`T@@p9^Biwf$E;`IoeW~pL|AYhIzbsq9_eOSVS*_tP%T`1VqUh@TB*cPGxDzFlOc0{2dL z%i|kY?5mxrpz-qhhWFk(d$N4GI4yp*J35FN{Yeq~Qx#NrdD8NgrW_Wk%;~bnow5R_ zS&Ofb6k#+xX1npy^mAILHrby(8GD!UsMF8eyBu!U?y&r}>}kQ0mFzuiuk5zmV!AX< zhl%$%vuf?j{Uw`Lo{*XMV@0#U#IluKjwb`}lq@^^e3Q)$?TOP^YR||mf9)VFKU;SK z$KTBIqWRiFRc}{JjBrctZF_WkQ|+tRGs{^LuRNN-si6y zUuv9e7UU$c@|cxWx#}Xz+!Mii9L#gBrUg&EWx(;u`s%YM(+-|^yk6vvXze7X`~Ch) zmArh;ah!S=c+|pc@w=6eR~%zl`N{Fqm0a7?JQr52@_T%J``V}km-vMeCzc!kSy1Fx zslGtuy6@V9r%I1kMT+z9vftU)HiIwx+#8v<$}A=I=ID^3VNrR`zVSU8Q=XuITuB$G3i#6KWPODk0n=RtV{A?3fOL8Q+;J#BICBFmB&SeB^LV6 zNZn-MctSMxX3Vq`CoNa{{{>77a4j>*+jNI-co#O zeo%(!Sv&Xm!y=DPtTN#GbyZ}-0F4z@V-d*oPwR~ zKd+`4>+~&h;+b#tEBD(`Eswtc492w=e_i(B=2hT-<~fJeUVneG*V#s~f17$5L${|C zS)5n6EIIW6?>VdVAGNO?BrWbp>AbakAjkh8ThC+e(kY_s1uArnirq?fG2FiM0M$s$eU6D?$bO&<9@!KwN$Z^BVRYjRpR8A zFYEfE{WZ^$?`rKt?>P&6AD!Ij;owIuI zZ1c7gDq5b;f7EKb^qdYlw^AbQv_KV~=l4~*M&c*acq)JPOMVem#e)-yh34e}8 ztd?7nJk{ia5NGJI%Zi@tD;|q1a^8|>z3scG(4&BZ{4?0u%k!77Rb-gZXz{|~?YpdZ zET@hzZh5cp&GM|V)_G+siKXiA-kpE$xy|uApV=pNuZ^;scCXs>@V3hK_%j#JusGg+ z7JMPu=F+V~i)`{hkUk-ijO4>MGW=5h?Vp)%w z{mhm83_?HdRDWT99Tpp##N~Kn`H%MXYh5-Pt&7h5#%{kf_QJ6~KjZ%l*Oz$AOGE>2hbAB1=)?Pwo8&2FlslH+5Q;n;=N7kKeYI)A(Z{KUG_F2GCLb-uG@l{sy zoyESAJj^)(9bUe7D1CV4WCB5)8P^=H0vM z5EjY6kvk9GGIGy9aD`K+GWJNro#NZCy=7*GMT)S7{XX!t<5y4)tKJb& z2TuEI(`S5A{n^YTu(y4!<1^Vc*8aM>Kyqhs^Eo$HWuA5CD&Gh3u8Nkh`}=cQagWA- zhSywMv;|s?Y*sAb*Ool_ ze_JExKM7jSwAy-trNy7jC2HOKsus1p;#6ne>ZI1N?Mct$b+Wsz`D|w`a*JvHW9u58 zxwMSYX-=8?#3+pkIX34Ne>w*KS*^Q_p^>qo(Prv#y9Lj$&H8ZXWM|X^Ek3iyYx#Os zNcYUUx+F=PSLf39b0Wtqk5#g74V(B(v75=La8l*+2}OZdJzh^fmT9*0ly!j>&lAD7 zp^3ejs@)RG%j>@Mntama-P&BL@a5aGrh6HmV>)g;5HM~I{26qNqsuiR;=!za0qRT% zaxWX@_3qxkyXwRy<)2M~2Ffx`(jseiCjCr$zK-+utlmGD+m$6O&c~#+3LBlDW67_` z!K52(+n?y_{aDt=z=&FQUr zY@Rkuc3b&xGc`+VYFG&r&tICp@48LF8UyhaBG;q?or<^1-B`8ZXZOpx<4+zIzn`Re zcEv{C>8cjYwy*U(zU7DBit{m0o)(qUkax>7f!%iJLPfK9^Hu%33-7S8U7YOmyJQW^ zL{W~n4Kg)1znaeDI=Y>4Du3O71}~2%Itw?1avu1$>Z$sS-QQj^PE60Z()?*v@%&l+QW9aQx|4`KafowiNBDK4ta6uhP_D;t8%hZ!OQ)T-l*`=eEuyWSxOvcP7r8bIoVcG_A8=o?Kd4ROf#C;JJs#ABHS)PTTD-HDQhM z>+|_l6TBHMxo5OHXftOpmn1WMRr$U`bk9uHnNL_H7!3T`W_NMVjjVAOIP0tv5-I+S|+x!Dkrvi1QK2<8E z3JNyto?H8Bv;C}IgPwoP%O5&fMa~Sq_D}KdhSU)8?-%y{)Hr z&&T(nVlF)=pLtid&)(v6TzbYQ+tozu=8+<$Sx{N(1_T_1L@em3*e zSB7g>60SYk@N!+mws((KcHS^dJQ_an#urhx&-ZqDdF)m>F!$7svksS-`=c74q=yFo zvDGpvDzd)7a`c4BhX;MG!RPm~d_EfG5SeMaa`t|yZkxXrOLW+y61@EUGM9Folzq8- z<&s~QGB{K6XO?|AutE;=asshCNqq#2jmi*^;in{B_|wpZSLvzpeStU|P3T+9O7Pso>4`C>Y^@2is9BQE8%#(9?? z-tYWg<-6+U&bu=1Pc5HteS6PWlefL=uEGw5pL_J4o|Js&Tazog=hR`t$Fe7mWfxuh z|`hLb^a!^%0KGpk;&!JAM+Nky;r;HlL8+HL*c=7 zRcSL1nK1^xKXH7mORU7ZySww9JuYcV#(lYPN$=)e9dSWlmAa&rPkqb3-?PX*Yi3>T zA;zzgF!`XuukdLzITZNrTv-Jr3&*H z51KG0>lpXB$1inMba;9})NaA$DXlX9?7j*X++302IqAK`qbZg$%w20zjz9E}cx<`E zD6Ib5ek+#4((cbg4<0;g!eAjXOITNO1BZR*idm1dem&mm`bJANjlIF}orXu#WjlXc z>i}tc^QB?3c3G2E^kupdJooQh@|ofLvb;k%5Bm0fS@p2$`zjCi>AG|0R9$LUmQ-8( z)Bnu=sfrBqmxgwA{=fd%pkbYd#B-JJ3%fmKW?HMrtdwc?+!`@Odv|)W$Kq#N{Y}*rhFOt1U$Ii>dOg^zuilg%#ft*c)zvEsW%;ofNW3m1e>PcQ1(@K}8gvm^674|BGb zcd4?5pZ=+>;fy}(qjAj0@$0G%uERPp!n-YHg4VID+GHp4)z;9_TxZ{pMh4!qC+r^v zo>WMg^+-%`E>iHl0WlqUG ze=qeUL)z+h4M%R@PMWu*hcVK8*Oo9t=@rkVm0vvHY8NJM9+4J$^Xjo8tA8e|&ZHQ+ zcpH5^TA8-^qw}F}QN4S@Keyal+SBl7ulD5p-hDE{5>fGAl8(Qdz|9|Xwc701%r90a z8l|qh%WnR+vG9BN#`>Z3m9@;?r5Dvg%5 zKI`7Kf}s~YMFw>bYzxvceM;@owc>{X*V-)OFt@>p-P zxO~!2W{VY9`@UrwZsD^(Hdo}eOs-a=;_O!TWwkH+gDO%Jg{>c?&*5tbI>oK@CdotD z-Yfmx%}GX$k?rbRm8^DG`YHtNWncf;(dNj}MYrnW=8AmCTq&i)<}v-WP}R1G;HZSy zfcZ0i{SFR%ShzE~;@iuB8*08=mmW!w?LV04(YoZ$%*WR5Kc4l^Z;e?s|KV|w2kVRv zJ&_Sr{~7F)`O3~;OD$E0!*9lm%%UA8ng^Jj+wgI1Ty zJ-3kJS=C}8X?_x1XSVO}`WCh=;@;K1g6L-_zKSmMny_N|If;YC2N!UrhN@^=x+d_S z+TE+{zLDwYvw*vHF-ddQTx>`v;N!4-^7z)GUJ12_4NJZxH-BB&s267*BqQX;pxl-A zyWzKl;z8bq1?h5Mt_A(L{aI_C=Q``-a*A6oZt33Za8B9a(5Z#zS$|j0I`zGbnf-XY z@EaT9g7>wlZBsrlr(XHh7;pH;B zj-7lg>y|b5=$d0j4YJGkR+)Z%dbY>Oa&54DxeC`)^(!XN`wh>Ww5xmIv*P=?>`Tvc zU!^=L6n5SGlxfwvkaxkCyYA0odOyK?bLn}OOJ=5GntSV()1^1()!EfIm|p&|@9?2(zWJ$3G^Z7EZP~a5}%Cv~bJyR|7y>i4S-CoUc&iw29S*ul+ zOgi$}(e3RPK^3Rk0|IsLtL}9lDZ6$-y0p1^@|Ej6>dLKZYa$oyn4|Z%)z8zEhd-qM zk?z?i-06BVbCNq9a`>EI(yX}?rsY)5iYh1hSBji%_h7EynFLJx2K}w;r=5@ zd#+i=-SUi_|4gsAZ+@%m`wh}nsS9TZOjVU;;+gY>`P$m}?1CecZ#YV=n!|g1(v3A? zJNE6HdUnq-V+Dpu7035wE!k)iIK%Va>0eh>*lJd&Xgx^z9iqx!ceR>l&X;eptM=cT zA*1>DPFN?SWMkL6TV=l<%{sN1Yq`=I+c!_kv}<-8)7ruM>jE=pTXbv7MieR*2G2W zSEBwiyp?|BFZol@ao4*L^h?Q__TkA5N z;oPbgtlW4#uk!dh?VBa~B8OMq_ODFeut9tGS>*z`hVZ95uj=cVvhFzbTwdGlF5~yN zai<^rXXwa$c;j;5w5L(G+&NA~7v6n8>+#B#cI~HkE*aVVXDAo&I50KYfTzH?=T}wm zVhi8bC+u#lpFaEXz3D4oS+9AnX>%i#fz^TG_0jTQ`A7D0|298yWvg5Ero+#A{qD?v z8N)Ya+KZ*eH;vnLsxC`CvtYY)s(JGH`lUr?|8y@!n&tm?WS{1?F7Ne`ZQrH76x`bO zHB~ia$9dU`mF4;~zH-MpSuVSaGpJ5Khv`*%^V<&IRA+6#=w?3em2T~=l7Ew$|4PD*Hr|@9kVKdQvAUXZl1pwNK~11>82veZjsi`-#6qP4xba*WI=jXRT9W z7JGBsh+V>BZAQ>s|5jm5340lvLaDfuOQSqhwy!9!7RW*C~ zGUz?9F!^v*;8%e0mxT(t=_U__w(kvJ8Q3ARhUKMnapRoO6YKt+yFKO8Ru`eeYu(QF z{mppF?3TURSd#1M$#b<@`Ucxs=4H)Ln=5H4^H@|@Wadil1(Hc+&F9xvvA30Yzm0n# ztELpOKJM`AxKiOqsZ;x$=3HMbC3=%({ zAF@*2)|y|g65zKqP9f5H;_KIOe?P?W%fx5sKbo5+vGAg9rMcgo50wXOCRkrT9`NIA zsc+h?{|rYyovh4HIexlFfLZg6$Jejx*4=;fzT?UETt<~i_q`_0(BUZBVQaBoU9fe^ z)Jb<pLz=r#9TXVX?m7jwP#3=gKYZ&`ko7 z4sP5FgC5)ZudQu(kuqho{^>VWvp&AM{A9l7Wx+QFw~cp8n0#`I;S6~o;1K_BuiMds zcg}Plcc?U#(5bHoXs{B#v`%N?(}LsWr~DmnE%DznMLmJ@vW@W96_Rrn7tZ$yGVDB& za+>+&fnTB9SeDeh*jrTb>q_G6=RKN1oGkMyMLuu0-c`kv`Ks`H^{2Y6HV2ees^?|= zCKu=3i;&AQ&6s(CaZ6K?e^t2R9)e>@M#ElSzc#jYh6BwAp5)Or1%%1x7x96Rq=v2yOXbk zZPl>Li&z-*E9reu(;?-;vfnQ0e8!heZd?D(Ui>UlAbCRVv;1RwgkC>tZ{6eju+x6) zx}%G4J=mO_kW+d*=K6%!_FL^{KfJNvf{kp#t|mABnZ;HUdw$8aO|=r9bTLa^`HhC@ z?%iwC-xN8m7GZBY`P}y7rCm+I=T4o7Se^3a=f15Uo;TNLhHjo8P+RY39{9><&0-6K zhYmlZH(0!kcdjUY^#1UBfrB{{W4Se-$m;~j$n-5%Un`pFCB3j%Zrjm-n&m2!8#2{O z{O9(cvdy--^;9poL~%~OwAUvN+s|>;ADth?xBp?!Wt{h2{PW~(ir@S0RfUzzp1j3t z=d0I~8iQ4m6Piwn-(5Buh?aSkggK^I`tSx1)5W=U-XN%{={?=iCat?MTH1Rg?2D?k;8{Z$RSkJNh@5(>5EJn9Y49*(sT{=Hi ztJZyOnKQrn+SW7u7iMtmnwqdp-r}6s2KKK{X7#=L?YAlD`mC0+w~RlJw6F!$W`A0C z_;G)qPU-Bud9OY$nH6dm8K!eMc^ks^d>7wp@9@X; zcle8Mvx;3GX*;W4GIJK5sA20UyD={HWAV31yFQl9uY5S4e|2Q$bw}y%`Az%h-in_B~ksRDJ#90GoC9bz+2!kAGhKGC`5^^CI<#3$t=oxaK_g&oJj|*bL?!Oc9qw zQwq#_CRo>7t$Wf`>sl_ctL0dF^5>czkLT_DVzRq4c;^Psw>Lr!9=}hwTQJ9Q|_EwB4y}>-8t6 z>pbwfaqfy;)6Vqf<)UYE``Tmop84Gylsz+a?)IMv3+DGLyyZmam%w#PehRR$VR^o_i^<*2X?!u>oaRj)Z64zYJYwHx`s7J&MhmoCc&)m zwoGxLR_5$u?$_dZYVud!iE&@?y6WTh%ehWXo9^VM-6-6m`S#X+hdPCd!!8%=B(mly zWlp&LccM#Sr{lz))1L&ae_emH>5O%Q$J^T<*INE@U3=$-tlG0rVVlqYT6ARPalhKt z=T}cVdeYBI>{;Nn%Gi`i$4s0;;%O4m%eH0 zE7!~sPqMtZN$>7G&(z{)C(5nG)OD)oRb6qBeRcDkhy3@eDaY&~GrNJgKRD34*yc$7)ENqgp8UNy=RsJuwV0m8ovN=VmvzP#H@h~^xaK{x z$mW>J^Ck=BkIQEFo~xS2A3Vu7{pSwfyNnNJIe0u@ma$=H?~HfPW2_8c9{M8h9M}DD zeMgV$!~p(5>n5Vm#wSOV-neObNSYEN4@RkCTn%p#d-2Y zo-XoVx$1e~&iehvf_JKGvpG&qZ0xGqetO5&vLd}h-+EpoUC-AQHuN~t-Lvj}o%UY; z?)w5cfotDvEst1o?BSkyca7i1*~Byy`2YO6REUY;b)c3&^@4BxD{ua1IOM<9_Q(ER z(>zo2qTF+j{9>LQo>voTdu%GxxrOUoE*X1pNU|?D@MXQd(7c8Vmr@w6SY>bcd3I<1 zXMy`oD?iJ>7yJ=6uX&B#>{^i*Za3u5IZpCowPe2Xd}&d1qeB0~l@k}S7f9s4FJCd$ zdO@(g+v30L^!GR?Kb+6^BFZas`_n^lF`f#7Q;xf_FRh)p^i^2Zv3YrK-mhJEMsTs$ zwRc?Nc^vHf_tuHImKL_!tDTwC^Eq~YdrkSeA8FS(OuA3zF7jmQmB}mH$Zpf`_3_n{ zyO|kzs}_Gd_3X9J<_){{%nM>&B%Z3mbc)S`{o20#kK%8GALR3=mK?Qe=HUF~pn7EO zgaz9j`@Vj>-|?RzvtIi3Jo&vB%v3mQRxI=3J)rS?xy|)+ld|;H0#C{mSqr}pZ9NsY z??T=tdx!P*IVT@p(7Scmv&}ZVF|S?K_O#r82Cq+Ue>c?WxUZ?tI$oG6vO{zM4B@dh1<{seZ>n>_0#-8p;B*8Y+DQGf9ozw7qf{v;Pm zOPmxqn$u=6(SOzR$?xOxw!1|Z@A&<(=U=IVNAdObYdxP;ChJs)-dMR}U5NV@t7=Qn zE>|8=fBC@6qQBPv)_wJ>ZRdw|8tIKevU*|LJ9p}<7kQquSbtLEK3Br+9UtmftY7&@ z{I`F_{sVIS-G}PrH#JElOkMg}#V*a9uVBa5@9T|?7iu257@oFae(_fWm4`e>HgGLj z$7XrX>T=_6_mh%$n0k+VJzJNR5x-5nU+4X$*udQNCeQ3`yjuDAOVwAdPuTr;!AR&pFSWk5gY>zPCs7;i~27!b^?cTuR~CtRxolyz%~}WmB8hT)NdZ zaUwTM;Ag{QWnBk1eiUn5nIZIJ-KD2(b6MiDKTlX?^<3`j=^w8j&71t;Kf@ub{GME| zIM0=`*FJt)(l=A#vC@X+mAhSICu`pLarp84Bkw!KrJ7#OIui7v?7aND$IhFA7+)1$ z5scT0dCgyHy_k1`;?JU@hw?~J;7ykqO>197&er8XS9^6y>o*^1!J z$CW4Cp1SWH$K!d~uQM)qaYmfHV#Qg?ZoRm-sBqriy=Q%wzx-}4wzg=2mA=X}W|{Q< zsOM|nO|Sgy=E)#Dukg$Ih+Xa8J1+RGU*e^syRc%>Br!?7H+(VaFVDuSPqe%6`0cw{ zH?KtooRnZ-wO=m!#r;rx*FNPB=eBj~EXg#OZ~FFXgYVuSU)OVO-T&cCkp8V{l@WQ; z-&q}B9@TyOZdSTo$Wa_motDR*h@lUOZM%<>r_%xo5GH6d-~+9Y@6-s z*A_Fp9ymC!uD#S=VDY;7zUZe?p_Vy(i+)Z{*Qj9rYP+)Lx#NT*k2gxL`cY6N)A!?8 zR*LHF(84n{0EdZsn?j={71tlPto1 zF}@F8a&b>mMyyLt(b~BO)~^@!73*bGXPxrk+xMm6JWh?roxiSnaZyA%zDnjn-^`WF z9!YoD&oTTfS!Zf--ihZ8)t54Sr!nOQ9G0~2f9|>S z&oUi$nOgstD=z!0#D5j~x+ig_sWkVwX>sfa6~C^ux$;N|ME?x6JzVH` zds~%M-NUIu0(*~DnDEcowdT%)l#dhtW`r|aSJ*ZGx?1t6r}CtV)D*F#X#2-uT`sR8 zrX_jx8Ms$XJ|ig?=kZmU{l00e!-?nbOO}3?jL=kJv#|KGG9z`PzV_q;e^xmf=Q~+4 zt=4K!`&qOkdGhgVb7uJck!!fb^l<7X?gmDi&K(|}`So5QH;fhI{?p3P*=>cNh>aSLyQgKgD zx$UdvbC_1W`@LkM*E*)2qS_ZvnZD185IA0N@O6;Rj!+dDIrjeyaVs>7`ybsYFur|j zX?SYdd58KahTS_p_wTW{nqRNZu26E~Z?>gGlV9QPIkP5N&Ph;O5hLLF+CfU|c3ncH z+`KJcay0K)THOBYo4$VLZu=6xds{V5P1;mcc$6W-IE6>1@#R@tNzMled|T&8%eeNQ z{mHdyj*Q{S=N2!tB4RFt|13CAP<-BNLhEHQE5`F{BO=)xj@ka3>QtzwZO63poK~t<;Q`yKtAgs1uQDHQ@_Rhz zv+GHHPBu@5^h--VGx+)Q6#nR1w9bF4ZDfoAi`l)b%Sz253>?eFC2qOLX)a^y@@SDM?wTmG&G5jQ zr_&{$E#c#fW~tX&J^56|v7b35U%#xJdf>R}43*<&C(rkqeNJJ{SCe<1EBYAN*JsVx zuF^Q)>%4owo^9`61}n41Pf362KZBRmUSBrz;K^fJt9Cw@Wq3AskBnaN#7nDZ%nK^2 zyybBIrOzFeQ(r|T6X#V0i8G`m%{@G2!k>L#nkS!laz%C9pS#`xXYLsODs))m=gH1h z`||d7xv2~}^Irz>HdH;Ed+5mR6ZZbky*v*-pTpH$c#fU<*X66f@)pm~@lnaWz3bcZ z>AKfHue$l1ZHoPa+LtRiHeH%i^89D;k%r#mU8`dLUcT3RU=Gg*&CjgeY>p?tF8$0J zq+=~qv0Pi`&tbVK#jM>GJx{Kd#7yf)%^uXi%ZtctSwn`V(X0BCy{Z~ur$@`ls`8FJ!lA4(+tmeed7QP8TscvwP#OS+O9I5{At7MKSvehVho=zbt#*sY;n|N=Q)W_TDyfjpRe~~ zPdY4GqapF8@K~03+8v`JcloIfXKt|DYT2HP*0tHT_AEp6 zX9K@?nM*%~Yj)u_M>Ec>Fx)Yzx=d6oT!r;CPmoE+o%PbYglx4MDl8vd zSU4$F_x`$CEwLJAWrO&tgrD9y6BueY&-t6d6t0qY=&^mt^Uuq?MEwqx3o!l)QEgCd zXO>tvds>=p{dtoMT*vKSb7;SC|GMgTV8L+?ew*U1$|SoVJc~EJ_f3n*_uaV8urKSt z>MKG5=AX~HoH|naq_6UA&?LUXdy9j5+(OLwEFU#SG)|puap(4y@oM&sNsINFyo&M`GPmXs!qbGC!ht)nh!KsQK_D6q(=%4m!E#k%WU;flwZD;w|mN>!`9=svx7F}L9<9+zu0*jxmZXX{%i~I55 z+sbEr!Ddb?+vhj%%aoi|HV>YA!pcBG^7~qTjp+(Sl}~t{t=^Md*xG)^zGY6ZPnh-w zg_;{Do_D1QH@LGrTeHSqQF)!8|6Yf{spWEaUE>WRiq=VjW|d3@QH*EYn=-R|c~t|tt91=in|u$D@P zem9ex-T2mfH{+C^{p+f#xh5$}N*q7`-uG0`<_&=pEWg?f>$Xj^}u08_!Pql-`T@Vq_wdj3+@DKeVpSPk1Ei|3yG zS*O-}_SnS<_S3gATv+PybIOA!QiW+MVixCLItUq=Gsrxi+-I9PJL0*zwY$w%6RyKE zo_8fpIQ~>Zxo1||9leNuC4YZ+NS;n!zm+k`UfsyPtI#TNQ$jiueq6dDXE;wmZ-5+Jyu=LzBh1|zWP4v%1OmZvk+7)1UI3%aX z?Z7I-J97Tlrk>1LyUm6*aFU;g-M_YWx8(1~4)_^Z{&|%eKfO>s&e(Iy10$I^Uyf(h z9Jm;*qOD=6lJN1?G#QWbWD5)19V@Tto|t^%c=o$v9Ov0DO>914aK=-qpm@myr@Zh@^U^V&E^X=DK4;w4i*u7(T`Qzdi z0nfL;f=^9a{FGhh9s4ZH2B$L-%G*!z70zp$@_6#=K&DrxTTfWt^=HmJcITbsi5IrL z)(cc4IplX2ak5XmHDkhIIU%FlH&Q0g`FQfri_o+a9Vw0Hw_j^WIW=9v;=%J3Cb0}X zlZ4iF1$dtKN!{2VEOCW-1(2|s`)evTMzXf2oiGI%yP_DbK$3sqF7=3ng_L6rW&Vi zciMchwOGdRicxv_OTQ_r4Qkj5%pPC9w?@a~w}eUt)5>#&SKT)(6IkeMuKV`odq3R< zk@Wt!eP1q25^%~@DgG=|7xJ@lV@v8LkGsdWxoRC_`^gqwAM?9xX_``ySNnk{kDu}W z6WI}GbAF!d>vI-gl~x*L#2bIK)jVyWvQS3w;P(}MXV2X@?^9KM`Lyeenw#e?-l)2) zcKFzj13Zxj9~4j04E^=NxX<{Q7F*%x+^|&TroFvNo8AT;{yyVX)n8vGRZgo72N|@} zwTe7eE=^O(JNzKM@a?Qdo}0Rg60(LbJ<@dfp8XV^pJ)B?-ogdCi`ipVFkgS^n|R;= z`(C$&+s&>@JD!lW_-e9y`-VIIGS5XC91fqmv!HLu^M${HCw^OLl#udm@fo=QF6Pu- za)(+&r%rWdoP6Nx5~jbGPcm+Pefy=?8kg$Dxrf(P{o5+d;XOSg$nE^u-A#p;7Q2)M zF|oQN-H7Siw`Hfp&hP$n_G@x)VLl)4m6&$k;Yhz%r-X86zp6!CRrRB#zBhli-#eL< z@svr;-dMmc{avPAklWLY+Y41b2Ckm8^fX)IoiEGRx$~d531#@a-P-@mzSY-1FNt(u z&#-QIASLqe!v{VqzWco{?lDbE=3l;T!e~FU$Ij?LRpG32292&E@2B&E^;m7*zrJ)ef{2mjBQ@Zp{E;n%=yn?^+shwCMPqO zu+ z-17RHpTz#&e|KS?n~~kt_}`|9cTN;N-~Qp!x2B9oVzvi1D=%bcxBWMDIqw|f=uJBx zZm_VM_w}M}>*?OUkkviuKN`M>e7*E=yWmmLO>P3o3g5okec8K0^4R?b=Y$5sFKcdg zIIJ>ox88W&^qTEvNwb6P$0cpTv~O`)4n-&2X?;s@=-o!youIa+}Fn+q0ieu{l@$t`2ERl~fT+etB!t%sq={ zZ}KzXU&<7_{C)5Js4#iMmE4cw^_8Eq&X?towU;WoGc`5C@8aA8$v>|pm$3HnCuw$D zGk!neR5(9sx=?TJO_dW5Z=S1UNcbK6=h#$^KEv~FG6~m=Vl;KPtIKUQ*jd!@yJ4 zv*K!2e@dA%=i^b0nJ&w#1&^QdIH`VV)2&k1&#{pQPB6#_)ouB@bE4hnhtv1h%&)R^ zKa;`P8MA?P_xz8`B^`e+PE?j;x9>OgQopk_T>8$F$$=)jr@YOx-F4xC%&{)7|)a!>o4-bz78=*JJkf|K1kdlYq4;iLY-Uk zd4;~V1;RRh;nw@&=5F>4XAw&~7{veB(Oi#BB`0~}{jQ!}rMO>6@8xb!{-pVsnceP5h?%&K*d4xWcl(~Tq`KW>W3Kw7wIiWmwc61D&lBfr_icGP z(J5I*&Ryo8$s?BAPY&K!3+z1f*ZPW2efg&biK_n$y-u5CyLZ2zR6O4+ah}rJ9pc&t z0{?`Tt8VN!KDK0n$2<4@rG}|fr^_WLR+X)^Iq*9=@9bg;o5!~nX?Z_AwQ0LTAIBff zokDz1{oc7Rus^qC%CRt`nL3sURZ`7ag~FD)SN7*raa9?mIIS_Le7s_5fvh>VvR2;t zyOPK3rn^18 znml!q+r%qOcmC|*T6OZ%zN^gT&M$+Go9V*I)6^##5sTMmaX)Vk_dBUpCt0h zedUVKo851v!?(HDS8dxcVd;TGljkk}b@>Qi1()MjTdm2)8H@I;dv>^1OO4endj6p; zQfH?>XApAZ_|NbV>1Vvw6zS7A!1kZ%saU zey#gAHbc$?=I2l5`!5YiQ5G#?W{7D&W^?}G@n!aF*)$gisAvi9lzf#PyXKvk%=BR8 zIjrC0wmRk-XQ}D=^s3!mQnzT!j-6ilTijMzK9`U`*LtWu{yh)>`n4IJshg$4i=VUi zWu;wSCsNe9`R|?JZymEG5=496u+HGKE%s+W>k=WIFK=j5{5It4-elJc>y$TN(K})u ze`Ln*eKSp&e>6MXSh4+NvCeVEq_1{ceqQ)$W_~L8G}jWjAFsPqV`L}sd7Kwb&2?w6 z5L)zPS*0k?wskuz94GldwDqffDH0;lml7u3lD&gT%T>DB;#|!08=;*^5r5|Eh#3_e zUdLb6I%PXo*><0FnTthI+J?!Jze66GurH9Cw>7NNg{%LG&Z_?mC96y1b}Y{dI+(~g ztB6s1o0H}7{Yz`!e^h?7cIl$})R)FfCe0IBd3c%C#j{1iSJHdxRN@Y;x|o%ip|uX-{q zZTqSIDOKfvUVH3YwsGQD_QU<1Qqy`LW$HegsI+ZIfI-Y#75P*9Zf?t7>vc~vS2j=Z zK>pN5X60qBb&k#@!Fh)p+8ZjLUpIXrc3;HCH#=)u*{_~yFFB4m9xzFgx1Dw8;<@K9 z_ddyGpQeAnDLSK6^7j0gFyDJCmqu=xcsF*566180#`(wgo95LiRcv!r@(psAt@|l@ zD!yWM#NOcNu_qpUWj&`Yaq(T!&2QmH^n12l^VOTa%yL4j;vB&y{?F?tZjBc^Z!kew zXq}&H;ip%@KCQ7k?N_YgHF%-DYO1N|g3fiR;i}hH7iAmHwp3b@u6u3OZdR6S*BQNq zjIwMGm-!kOCQf~k8Crbs(GoVZ;|FuB>eP((`BkR%K1wmj(`N1vux= zc)pjVsd72rl=ce&j3;Hd3^GF+53cr>nm8$gY36dZJD;zunK9ku(CQs}j_2+F?PADK zmfjuI#v+wr?Z1Aj-a8G|NqNV&Di+>aq<(GY?rTk+f6mNux@mFVl<%HztM>?4u8Fs~a$4h` z-d350>@BnFUa3rO;_t$Kgr#1j4;53YRb6>c*Tf8H4Q?#uEN z(Pt|ayQFVTT$)#_IrGc1d6_rP6imGF=RorIwH7;9d|;G(?{F{LcCW?;;gs*o*%*og zlP7NZ7`Q>T-$LZ4m(Laz_N9uG<$IlW7f!QS`ttJJyPBUmHwEhPRdXfge2J;mQsVQP zXPdda;MnD!pr?Wc=Zxy57$5gdxqIYO+qK4%b~k@Nr?vNR zck0QycpK)+a$jf9R-NpzUEsvMoNBN2K7W=}&3gXTx7=^bh8RnK?=C^3JiR3v$`*M?W<6gz@ubd=J5`VNN_xF}@>%@o zol^xVI_&Get}b}hX8P%Teb#gHxi`;RR@z*dvZT~(*XDx;lkT*ZTE2|i`!K#I>R-F< z5`p;!Y-wiQ z@2kr8o&>RjDv#~Ar{x}NPEB&|U94W5zVgdL&rkmu%8v7&Gk*Ct z-Y7GEOHstVJO3H-Z*cEeq<*^aSgp2n*xwa8%IP~dT$-N$edexOh85q8{jRZ`UvpDW zvS39~{ZyeX0cVtF{#nDd}!{XPKZcWcaZK0VJr>m;N4{ej*a%^{=V%w`@H&!Vy6dCtD z>HB));P2q5nB2Zk2l*_1`kT&K>6_Q|{MzT3y?w8zb)Wn6Nz5nJ@%y*+vb%ruueqr+ z@!Uk&a}|CfzrttV`*+c7dRWjw0kK!f3F7ODw9n=4NnDmC<>RyYKf}@!Pu?o`NL><{ z_sMDJ*YNh5{Mwa~C#wskmpJ^)dF2>z-|P0|nCP=^r)=#W*=xF`oWG|VFO~UE&pS6H zy7H}%#`$UdJog^$o$og9u8weU<}}r*o%gH-Z<{RlJ0E!Gdw0B0ly}j$o=KZK&3^V6 ztp3k%O=Q=xg{G~yj`VGMmk=_4$KxB6~OZ0c#BUl(5eXGr^KH@{T&((z}v_c)oyPrTW0@p#42(iL8d zge7M@f5uT2ekAJrG3i{tT6Mq6Yg>XcKTj_@K6&2H_2rjp((4NoW#4vJUh?qJ=rjKM zAOn2%Ot_^ zD@*x0>+m1#cH5WeZkybZXe6Yf(7!@EVu#tAh6i;zHI;iWzgN5P$1IFls!%;}$M5jd zR{M|47kK3r9J8}}sqHW3xZjWTnP2XDv1702zH9+rhlI=H#j$)qyV4GK)4W z7HrzVF8li0Vy?2wMbbv#%S0A9bI0N$pCUQ~oxlL?ik1y5h?p zeqC9uA&_^xCTW+9&ux>hyhV?`Oq*``b&Ydb_<}!~A6D)z?I`eE@h;)hlZ+`TE0-o) zcjeFcvztSCugm5AA5R>SyZPX6*6vBGLS)j{2H&Zao9fwdSv*bc-j1_j+0%>4Wu9CW zI&w+o@!Ei$oim;nx|Ni216tg z@?>X`V^<$_s<5_QY?WnP(Ohu&_mvK*<7`taZN4ot<6I!~bpdCa^_AS7izk;XV4AbG z=fU61mdA~r6CH%|PAq5pzGCyajJsi79@7iXM`h;B<5ya2abD!%Q8Bs0heJ;XIj4l0 z%6vH+)!XATclo>-lJdRIE_Yt7HLZX1wpr%H8E?NXp1~??@Oy3Jn@sMVu}g1%u(`t0 zc-+2~b>sKUVn(xP2hLl(^mAByy{p0A=1SMoisMm2OyQ2_EM-@j#%Z}Kd|%$6`KjTk zn=PN#C5QhE)t6>9XxH2|j$+Lrd~dKRYC&mC1E=~j>+5sw zWku|mcC#S)PON)^|JLHbSJNjxP0C$$_}Rf@SyQI-oh$!Tb-7pCy4~=0)ay;Rx4$#% zvl6^~Z&$DO(W<$JS#lk96(w07JXYRTxn424$tq~};q8f%!RNI7Q+D-+*v-B4&v-sp zhVaX(&|T*X-tJvicBig+Z{^bGM`VNEy(~?e`e0JpD~TsnjW6Ruzs=;(YEJm}Ii~%@K7?H^grHhx(%~+jmy)-r1NCuCuc+pmDi^`&sK}^ zUMX33nbV_pwyC6~+*IS@YYP&J&$2M8n>|% zENx7%3VO~i%J%JrFY8BN1vQ?+qXxU?REMOVeCaExw(5ZY?t63A_ig21k*ZK$>do|E z;>J&p)+(>l){r~4X7%%~PNmCcx;Ob1O5exMn>)ATVuF#;1jm=narHc{?s3}7w@ix; zxxYK>JM-E^joEJQFU$|>i@XZobwoY%YD%@X=`)4G&&iGN;}dShErbv{&ia1vX|{Hw%!%CxEKmNM`X&5uexF&{YSsO{r5q2t#8fLSt&5M@`qq52XV%Nl z6y9bk`1Rb9Qj2w0w|ptfWV^JAS!?o(+U#W;nyRZsy-&AgPWfUt_mg#apYzA(4>xBD zc>OwMdfPB#VdsX6j2Gwpn(y^l^H1cXw^`4!e`nw5-SaLoa`t<@?7r^en-SM%%7;Z| zP22vx_;%#azH3X^QY9q6oy`=~bEw%6cO+SI{p6)TCNBGtag=r5THZI)a~8$6taPes zs@*M+3`m7b+4o%-K{apWELNVi^b)WIM>TBz!yqjRDeCKiQf)#;RzDk-biU_W` zH2?0AJ^yS!#_^~BcKc&P?YMw{!$6^3^PC z=Y-P3iT!8a)xMf=HMK1?LnU{y<(*3VsOKqDcIezVANckAia&RXuV33eB~b3dTlJ5A zOH0#oWSfp0S7-SgS#VEucERb!c*5##dgH^WiXVf}A{LgSJ|9GAB<^7w!tW*}* z-2V5)otxh*U%rjYeeB<1^}XNp=hy!Xf+tk>ByKHOShMjCPsus$)56(y5$UqL(dIm7 zKg-BR9kZx#i@6xpZn;4AaAn^ck3Xx9RJ9%ndf&OB_~$igkK;X;uem3FS!?OGYV+RB zAMLivYp?L;;(zFNV%>YcA1l|q+$T5R&s_L!^gSOng`NB}4l>((dA3J0O{*x&f2#+( ztmOmwsOe7nCH5IrTjIs{IC6V^YzPY|``KU^RQ)-wvVPV1>Z0$HCtW&MbmY5fn`%u$ z!;(T@y~AA>UCUI@>`0rEo+Gpu*+p0jNXI*!_CGDbf&l)b9 z(v$z`@8qRHIu4KKs2q5_@^5DMjG3vkjNvHZ4*W`(TyoaCKOuRPB zsYs3Y);x*kS?f4$cYR+elECwEUi-EA8aq2@J#t#e?|9*g&T;8px7(c-_Hzw3J~o*p zxA>E^rMg}7@+-4K^H0s1n@(#qyL5KO3_$5^7%_?L45~`tog9=QDwM3z{?;d;VVX`2PCGrN$ja znQQD~*HoO#c%_%fop7n?0Pg~`+Mgm9mh?wCcqo*djr5pYs5aHWs_MeZ>(`b^*KGQE zIPc}(%oqkX$>KliY;z(W&$GIc@WlLVQ+3s)jmILM%xYX_U0rx<-nqg<|14jIp0GW~ zYU{r~Zc5DVj?Xsar4B9;Q3jdZDpUo z`_)T@aZhX1n)Bi2@rPbVino0Hb+z{B{b!c%y$a`LWa#;=@mKhGZI0TBpYG2CrX37b ze;)Jh%hJ0OKL>G76RP?0PAjnBK+O)htAUXW+&8$~3JQ0vbg}HtdLvz!RQ%dEJwN7e z)`}?;n{QnD+2zK$cuLLD2}gRKi{u@6aMgU0spL7kslt9U<&PNOUn;X`=ims<61Y zdH&jnt~5OfbM@^D*4)zcxF)XhmiL77j%xX=i(9W;V^dNse7)mIafFxS+oKkS?+>gf z)b;rqYyD__@0Pi2{}~Qj)ou9ra{7-*C5v+xinrDuTUpWn$i3SpJbT&8TWfDlyX@&S z!R@$p@s+--&$%2d<-Ke!o~wA?pLI^6!u7N2il1j^-%StL&CPvs8_Pe|e;?n^k2?Ef%-_l@e{MUz~uC%=2pWZVCBm2{`QK1*>JOOIVtTicS7 zs=CG1sW!!#-;1MvDxdv(TQsNSu;A-^`xgGl|Ly%co_~+!>WCR}zXNypZp(QSnSA&A zjA#2?`qDyKt-jcN{kqz-q(HRqMY|$@@z-@yKctF(OuQ`h?ZRJ+AG*Ii-5;H;isgUA zdZsKr!_bTWUXpeH+N$e)cIJPqFPf~4ch7bIr`E~MG1uciLuCJS(I4;ASH#@9t9ph@ z%tc1@phB(xQt#T8=U2s@uB`Z%a%qCM{GI~Cqm}P9zrUN;)-6z8r|@y!))zJg4WeN&5X17ux~xvEL~F$)}z0~1m2xyo}cyV!hF;6xj!v_78zNG zKiuDD<68Uhuh;G9%g^%77|NKAGgdz~{bl{I|JM13OR7}Y&hL;b-My{RdxP)qIp0{S zuQ$fCTlxD2Zr|!FAGz+u)J3z~1JBpgDNPZZU{rF)a8gCg_w{pUe_QrLM>qG0_;g;~ z1JaKVy{w!N{lu6XUWJ=#}4a2m&y=UESUeoel&TPyXd_~Dg&>2EyL%y}+u z&^@VAJS&Oe^u~SZG4tH~_^bY$_|X40|M6XR{~g=*Z;$nQx+G}R?t1>X^7NOnoqxBM zp8w&#bZafs-O`=rN%aPA0{j`io|N}G{3>+)Mlbglai0z@dLqZ>@T5Al_jg39)%W#h zrSoqaKjPgw>y}ltXWMDBgD2mfkNR@HegD?0)0VH?A}^5Cb&5?&;nEuw;-{|V=R4c{XE00d6kqmC_IzT@hoJd~8jW9xOfF80X5dNqw$hQ| z&kdXB*Y;bktIvs-^fus5&1x=c3$nPyZ*zUwi~HNuTbB#=ru%&2wg^i&&b9xZ`lWRt zTDnnE6TdYiJdqLdJg}VYj%0ZAoN)7p`vo)S>0EfT$NAyUJ+HkV9hE5wSUe}}@y=9- zbB^lIB)+_#b<}6m3)>3z>szhMu1Wl14d>x{AbWd1Pmp24opl^bZixHcG~0OUSK|r0 zIak)a3I9HqKWo{h)_=w}mRNuzgW}Fy={5dYQ$!taYrP_zpZNeNzARmA}E`=41BfO{AaL|WW8Esyk%&nvGPjwHz3^@=Zdstz96x$V+T=u?#43!-zDe9MPsxKeuz0UmUZ&v@z=IiR0 zFD)@z5jbc5b6*49cL{8Nge+7_&tIBwhEr)(`^l$u-;4d9@VOa=HSE|lr|C}XTfaz4 zc9pMxScAirpIMv_vOhF$xq5-kuK?B~lN-<5wg0;O=YZQancpR=X3w|G5&QONo@6(Z z`>86yzZp!AHipW4d1tZO>$uE=|Jc_s;)2km zot6jR`h9MccvT%%IGJ5iCQy2kUEpLNw}u@*D<0cTSrmHAJFM!2ho$}WAD5=vYshNe z;k7pr;I5Mi(rKBKerxlQy@gjUUrVz1r%?POu)t*Vl_!P2F79A#D!xDO>%3H(^)d6V z{AV!qu-+GB6;=P|NN*gF=Fd}o3H;$I1Ru1KM$2W z@qB-rX0PTe`}5cO5;m5edw8AY`0^_)73r3D)^mufJ+;5@2W zP(1m>>mOIurZ-7kX0~IqJik_4T+?y_|E|g-Cv(| zw`*E^aj^Pj_Pp-ncRcHMsrjI+7TW|ScgN!`= zdtU`{Gd3TP__pGfNzUr$wr=*vS`IjCGxja$Nn4!Bz&f3EqrYJb^E}&~EB0(U%)lx) z<#eaAkAZx_0fue0S;7|i^UPmVhQ6QGdyIjrxOsBlmg{#XD+aI?ET|4JDpnRh$ZB|{ z++>p2$&lFF9FkwohVo7lDejwdSz^x9&GUBH6#va&y1hZV_`2k;%iPm)kGzvfV7x3E z^0Yy^f#s{od2^Qh@Gla|B82cUa0tiF9maOt4P5aKhovkv!(5e5V-CnajEPSNUs(2=~wI^OQXs zdc^sUJ3IG{s#^c5V9A5W?Y1hMu-^DXO0;R(iPtBNuV1;mKrzH8_k>SKn(_SE*G01> zS^69lif>KPh@abOvC^kZTgPuzfu*h8lzEYf+w-m|JXfAjopQBl$(-$SGrlZ1X0*Wa z`IY*pa(T`98#tzR9GbU$TUFYOYyTM(zrBvC7U^AkWs>2I3#UJ=Np<6AsSc1?X4#%$ zp&Bvqe3GqZl)$B22F2&aatv$JL)7f2=OlJozSCSQ^|mzi#>(UNN2ZH4v7a-W!bFC7cM+@oo7w)ulnAI8wPCqLx0^353uRyR za9is+YrZLlD#e$72A(lumTJCUc+CIHvnA)aR%!B7$t`$%A!xm7QGu=fuP;Y+m=>sd z3pepAO*i1-i4a;PX}#Tf@>>t%9>MF&svEDZ74WnC^E>(4tg^Q}RmJC*?-f^Fv@&M$ zmV~mqK3tw$hb7ciLJu`oKex4A$#6%4Pu8E|KZC%p%RZAht}He`+j#7qb%=j&dpd(m zf6T8d&x|iCOZ=_=o4HJZ?R(6|1ja9HE4Xemt*BkB-sL#Ytk3^xm^9B*X~vL=$9;ZX zS|M$5Aoc6=0?nM-C5@AcZ}$YVU0Tv4{`9{qzcd*Cu~z)`VFa z6Hd8FtMu*L_pB#HS@=6Y)0!DGKL2De^i^o?KQ!OaW{K}-q3~9lo)1|Dvzv{L8}>|C z-hXUerG}5cf-0lsbM}b`|Gcu-?G|BRv5~JoHY1|HLcRR1jSSzGTg?`mio{cs>bVj;_cltZ{@qph zb-D1}0M`28IU!zczMC2w+_m_X@6QU;-JT(F;IYXYhUfX=xAwO0HI2|@ZMOP$-2d1# zwR`R}8q8PNYMI?Tm>k$Msd!cdUg-JIj*J_T-7GInURz&W)RSoNbXpa-PLGKaC(MiHHri zgn8%3UDc}TaeOeb=Xb!p$kaYF9rKzaJpx)X({jErJot5WnNiG!TNR4!5)bM^p6PU* z5iz@ZI^hH3_pi$~8|OM$vNJWUTP~z`Kk)W#)1(ZCl}!uMcd*Sn8p_kUgN4EHPpEJk zi%IU5`f}Ua&EA?$ON;yr9Ny2b@@aAvT47g^mUfVN8T*d_$(<+I+0`#3?={ipbT8Skho6hzlU*d_q0U1PiB0Z)AS%+)^5vt z!|gk21UO{^1=I>e-tnGlx*wlapsOS(%=?7R(n98&Y3z(mlUf8UPAn6uyxHI%e`uXT z^dYyWpXVJZW4|@4C%mwDzq-x5s}Z7!TTjiAdFa1$x znEz77MvH&n*JmveS7klo_4c#nd0Wc`Vm+1l2W%$3|GFY%^4$4{kJJciqx4+eTlIe5~;WYlhiRT|=87*<&+mIp~ye;cuqQbel#Dgl| zR&5gMVVcu?P8?h`Rmu4YVahV4 zD~nVYO}tT;Be3AX$9b-v8w`HB^VG%NT$vO!Q8T#l{%g0R%DNghA9lRRcqXnH|D9(> z;9l;NoF4;A^>@>(q^AkIcq*B9E^EKDTSQd-+LmrM(?r*NT|Tyo*S@Yk9$e}3_uhY@6%Zo3 zVu!@5snJZo;a zA7p7-@WpgaF9(Mc(;_1Q!_RX2zC5_Sz<2q(Cv_%kBsN=GU-i$scWh?wg1+YyU$A<) z7#V$H)$r8P6!Tr+-sCAa^Ka%47O}_5`>R}Qc-X9K+pAWy9`*DH<1zU8aPy^EeaELh zf9b2Ot>lUS~cXVRo?Ky&dnXRY!E(`1^v$S}&BvZQ1$l3+@A36<@_1H8~r>*j+Le7Rmt(oZS}I(uUgczjgS97L)Rc5suWg<%+vLxsGb`_WIcl=yu;TTKKN}>1B3Sa|+w>&{b(SS4`e`Q&4o-p39nJ9(SmO|X!U znq=9%^w^`F+>=|+e_dAD;(R%Ka(`S_%On?pH7%Xu?;4CJzsu}4it*TR%jl#U`{{Yh z_nTaJ7r$%PU1qO?(=*H&^KUzo6KfF(N zr-!M;mfu?(-mE+Pz2TeO&h>3?dFOY0RZOpH<5+(#=IC{mC-bXHGK=HFFIe{be&m14 zU*PhsTOvE5V7Z6Wbs?W?9e%W^^B3k!IQ16ywK4o}r^J@%qq`GxoX zTTbbh^pyUc_0UUISku^1V0qs1xas5a{|quVDUY%}z6z@@{?EWNXHHd~=#yXjmZi?T z@^F&PqB+S8*$h9^S+h5pEZ$K(KfHqf@ww#>Z4IJc8aCxcm~`vK6u$6OVUGK~tnOlz z*lMeNE14s_cX~{2mfwGAzu839Fk!dz6RhRfABKxZ>~IJQSFLUid*M3uT;0)#tZ!1Q zju-!3$b0_Qu?I|UbM#X;q1cv zwA+gV%vL^Nsxr&Iut)m0WA?AIEw`3;r~JF>c8G;Tbl>h>vz|^9U46r{|H90#vs175 zPTgel;>N8L7Gdv}NL{{lzWB+`pIwui-=3|JUR>k!QN8o4^k1)go+hUwo_$spoO@>R z_NZU89Y0PzJ9mrlYaYF)6L@w?NGPwra!t6qX-}8Wml^hTi(EVBnV&ypyKl)vxAWWj2GhHN*F$#fYWRCBN1#IC`?@(cBJ-Ba-e>et zZs*$Azq|g01xx;PuxWfb>#0fQSMQal4whQwT0WV_AGg&tZTG%FOLx1)qA%p+KWsg8 znDu#C1cB}8(eVx5A z=J<_Y+1`b@+_CBt4P$TDO7A$E%`wkIa$5nv<*VwC@d_{R%Ws*>c*<dRl zepk5~>;G*-q(VkciKXt7yWgKo$YtK}*m6ylX6>ZNFUxxr0w3-^rgijb&r0bk{sttQC?ziL>SDp4sgW27fC8wwPedMMy$KP-J{3>h3ya2nhTgx{*k*W-vyv!gw z?TBH7$erRjA76IG8!(=<`L_J;%-LD1{xi(4l49p`l;QWAs^L2|hX3LD$02jK3mG~7 z)pkvGKljs&@$Gd{FQ?^=C)Or;rzRbd3CVfruWV{~%VI@r!;{jrff?Bbw!AI{ZkcB{ zH!Wu0Y5Pj)NHF7{4G#)^R11pFnrwXQtG;u!2dlNO$;AF?GyE-=NFK|)!Jhs!=I^^N z3#vZ5Wkgy&-pU}uz-BbpTGiUG3<8?myzAKc0zshIH$&k-qmOq*JGElfL ztm(*=ZD!UiC68tpS@B#xe)fEj=7D$LmWWHvseSk5?Qsi}JA&7jvP^F7n{r`id%8?8 zcR=LtLZ9c?)=Ua;JXf*6Oj>!xqnX#+{%9l|XPdy6nWCbp@Oa146Uw533_Z=4=JA`H z@~OHI@%-8IOS30=vTrrFlzY_Vp3Z(DB(JzDcv9Kp&r5lX#FlQ5b53Bjc(mA3zWUNq zi^LbKE(Hg^Ghdt9;82@Y`n#ut@$TzetDlQ1B-HMkQq=Hh`Gugj%2Q=7?zYw3-N#qO zCB?`!@ymPPC(26m_FRw&GUmI|;1E%;TyD#oOKH`?OPOwO;6@BoCH^#+UvbOHMy${`BsE+}F>~ z6TWA(OA6|jpO^e{)Vj6jgp8)F0N=i6vpXk<860D@>09#q(ZWOSk_wX;&#S9Vc8DnJ zoMh>LMp|+6h48)_=a2Jxm%MEE-nQpczJwut#EqT?*-7NORga!RXZSecBK2 zciG8G`Oawj^q=8v)kYO_i^TJ>TeopdNe{Xt(l0kZXwtKHk)@Ke9>qRsI{q`P^~-8c$4*z<-wa}O)(rbl!!qeN6=SO|9ReFB-{tch+LA%fWXV5tA{J!h`(bE&} zobvh1-I-#%Y2_h7Uk^3)@3pm=c^7ogEYf+a`|0_mwYOt^Gk>25*>-P-@z$;CbJSRcqL7SN;9+pCMys>b%P0BsT%9dIv_qf44c$S%;$MKCzEoHu} zxH;qN^E(%U*vevL3bI0{+kE?18u8@9;{0n(>#`1(s-#H#bDn3*Tk`Uet;>OJueE;$ z{%2q)-ach@9$(FMS*_V)z3{>0OS@zBkA?qAGQGR>LTgCT+~QduRp-yWxsvzhLCM$t zHt0ey1lyi@3QGOt}VLFU)QWmE>(^0sk(M2 zs&V_&r4wteCr|QUn|?Q@cHzyNPSY$OwRB9J5uR(XT|zW*r^N~nwv~z;d>N9mzS4yr zz7hPqH-e@eb+eB$4@=%5rrzwmqoI;sQ(&hl%YCCykDe6MLiP?P3?W)F@Nk7i|st=Ri=S-b(C=BuJCtAMh3 z^<29#PRjxUy7gwqE{Dh5s)Y&wP z<5?9dy+@ucDxNn*>5@crmunH{aSNgvy?b8N zQ!Mr~gKa%mpt`!vvz6~&RA1iyF*HH1)9})iGZtq8IBd<;EhSZ-jqY>vby&f{NKv|YTu&SL4EEFJ4U-kv7odGoG( zowVSdy;Q(YMt4Wo<{8^m6uvHB)52%3wRG3Kwcb-|j!v)nnO$_gzTsGm1@@g)%{UtB}^48o-I6*IX7(f`d3x?Gu5UWw$4fHGoEU@ zYS$~a=zgo$-+TPkMO*qD|7Zp3KMX$Ae&+1{?W{#1xyO~(>UWx+U~sJXZTYiY)Z*K^ zj8n$fyLy+L51zZ%*fY34>B`J~x3)f>`__2!*VjP@S9nVQoR_>&{YRh2H_@}5^-|N% zD%5K2ol-4&?%XBaqHhK@orbR)&tEs)UHp;xi1Cg3l$dkh#pW{Ye!{qWjMx!cc`Sy<%wnZG{nt40xT*pqGcQ!O-4K9`Tu zvGs1fEfK`HOxeuwb@R_Ff{nYMFYl#m)Rwq zP;I|={@ScF2Xam2ii~Fk{9wQEec43k84My%<`j07+xnZ_TdeS*a*6r|)0D_QzKF-N znyaGKZG!oI_;xNxpYwfz%kIv6$1bNkmwHYr-!HRk$(-OD0=6$> zSb40fE>5bOa_?W;R8Qvl{~2P{SXPJ^l;tk0D!gv;cuR@ovOF${@|@(`*LogstxK9L zI}Om6i&de=MHwCGjrGr}6rnD+eYxanurJB|gDIG2?l zeD67_=v?*VJCFA|6!S}1zR{FcV7@UYZAMC5S)c7$r%TPf$Crw6Pb==95q!AGNNd&U zKXFqen}s}{uhnKf?a=g}!QAPiTu^zdsOs@vwm9ah&!KD&9ODcOy$l$RJ373J ztn^g*btUKU_4S`ueBylVw?I#GdjI?tOLPt|{A0Uv=E37t9RC@SzKtPl?D^^@7)pSJIn<9@!-?{2igpP-Ls=ddrS$&iulzgOU6eKP%5a4C>ru zDS7;9SIlCcd)}?;qKc(Ck9PiN*doX9_cWKVwFS)o)@r~I{W9d%OTROGg+0Hoyf(1*HaKas&0+y} zmS=vD=8ehL5e>CkyYo~UjM!s>8!e;*81MA$?_81Wv#BRs=F79?_kV=SOkjwso2u2$ z6ED3x*(NNP*JIZv!IO{XZJN8+y!_GX36V2zd}T;}8QkXDpIx(Lmg`Dkog?2A9`E&< zWWg2kY3{Gjq2{YryxuX%c4LscLa1#>Rr*@*jw{_Ol~*;qoil%V)NbC>M=vj5nl!u3 zAv!Zvws!AX8?Q6s=^uIevMjxQ?iqJ7YB|jhvXuL=j8oKq)_(@$Ra04bN`HkJohsZ> ztCc!q>aE(9MGHS0J1%G69)D>`-(wboCw<44KaTYANI2efck`c@r_QNpu|*`U$a0%> z*W=ymL#&bqzOT+KifM^S>9c%Q{W+pnXQ#r(!(~S;Rf@mwka&FE?u+P|?8+naox>IP zX3P*d=DyzMn*OY!#p+L=_aywyO09Ey*tcbtytQp?omR!g8nJ&2u}LWxpXZzu+IYHJ z{QSe1m~a87g}E0OYuUx_HGWlmZRdQG$J{5_?Rz64XXM%%8UF~k$v9@uC2wuzzIWQo zGv8fIc5u&OW#OB{_ce=q{q$^xz#R%bPinPieU7#~=l=8A($5Wth5Hlzrz{PeAN520 z+w70#4K_yegf4AaUA7=5_!aLv3)|!8C|JJwdJ>o+U?UGPul{*SKv-dlJ6XK z&4o zLap{UZJi&L57;U1jLv0_YI_xFxG|bxgRRHOzuCKD*7V5FGqC?#`eWjPJGX9TZ@BYv zySx9V8I{57JS1c--_H8WwE6EE8~!B`kuQI35xRdqmut!PEKgoVYqzWaUVUH3<0n=y zZPsF!^XmgQ6|KFzLblc7?Y+uJ8@|{kdwtZKDz{k+R*9amF;qyFWN)zg92Sztwcx=9OMCySANk*!fBa`CO6o| z$-L#g+c{(8cfRBI`W64sy?5JT zIyq}odfV&cUQ0fm=v#BDP~pJi9m{nNi1Cz(KA%we?NRqav#2{|4a-$#%|7!baPpO_ zj3()Q&G)-_POSL6XX2qQqw~rM4EA1rF4N6dy!;WU%*1%Wu`hzJUO48;Jk1a9Cz?L_ zHFZbR-6rcb-3M(g)OIF+tbVwC$}`(6O^*rg+snhw8Q4orH?Z|pVPKQ5R_~7rdOLB4 z4C9@v3Tr;NmiA8y<=JtrY+gItqP_bzUCz1npCNo^?ponBYwlG4&0IO@<|_H8&!?&P z6dz^WE`R6A28)AlvY)&csk^$5<>K0RiI#6RT`w=a=>KOZVTpe$0H< z?t2*%b;4E^bsWyHDY*MO;?io}iRSjcDKm9%*4z~IRCP$c(s%gY@}PHqmdcV0U*5-0 zkW>5d@bP=0S7O4lQLeuYRh0g{W!`wsedYS({|s%5KL)+BPwi4H&gR|Xu+L%oxxmjK zU%n^~|5|moZRRfr{!<|zt|oXmu=E~iJeK{?zU}^&cMI27OuKbBHl*p~{IpaFmF*1S zcYIFs7;ag&;pc)~>JucO6XbN0}17EcUOEin|zM(ZCvg0KQ15q7O%YX z;+xf)qS%OIm%W&I7lss{TytOaPuPd+Z6<52L!vv@om;KgCF;hqGR`xvRwIa8at8DJxWWH>A>__&|S?XO6GEHVLow)G8L{Ayv_p!zs8f=gB3298&Y-q2ws%OsS z=MFKS8D)()4*X{j_F8wCK`y)L!k_AgXR9i8-n>^9x8BiVe&+Q2J=$B7UO5RkzG9GE z9pvyRD!74t{Zq%(A`XS*wduN7cg%cX%&1ah@MZbz7J)UpFP~EBy?I=zKU+w0!5W4; zevTFr%PSi_m3JIBb+D{xb~0ZqKV`k;*Olz^IDT3Lp7^)b=3_O-uJu9MJbeEdyv_@! z{Mjo!P4?w~hKw+4BgS_OFQbYXbLX(#VaxJ;@bzto%fhK$&$H$*zxL|?efFH&#fkk- zGM+Jg$UkzWE=XpI+6+azj_@cbj#9FK)cj=5L8;?H?G)%BOanvQIA+pit z+n1%RA#dX!iWp?fjNJHX^81OtddJ^=@^#*?KDj5Ta&>=T&&MF8gE_VD_?mRGX*RkpmkP?hE}JfKLbf)mVREI8xPqo^ zma&4Q`qULOyY=2Q``rID?e4jH{VKMJiW4UH-CboiW7638t(Nqp}6&v0qM z-QNdR`4!*4H1R$|tIfQb3)q|d&r~k6es^l47Q0R1{cDSaQXa@mlVpB*ZAJv&^78ul zb4xd<-rHHuAoP5GR?oEKXWXQFm~Tz4YAv!n@%FW^^@bhF${!_{w6#Cklp>RBTf4GX zLA}rL+KeLtT)&@u`Bmr>miQ-n^L3lFHJj2xEblPd{bxA0Scj=*In(sS{5k&_Ci|qu z>limqd-=ADA;0E9p7KgtyD8TaB7Xg~SQ7l{lc)OjrG}df7S=~G$a+6XZ+;nQ_rPq$ ze+IiP@7$s#m1geTZmulDH-&*An#<$(_x`MPfqX^>=FKTTxte9;@5N8$&tF@l@Xm-Q zeV_eYrj5)C0we?*94ua+HS+jyT)wn^s*hJ=o3vZ;yeAjVu%EqhRn1!Th{LA?jPv(i zd9?b(>?zv}n}3CFOXcG3-Ff^!!>V?U=S70exA)p57;`oB{QQ|E-Z`6PCBx(XtjikB z%#!cBx-HF!0GR=LQ zx()oxwAL||-dXao&;D;o!{qHI&w~zBU2)G)ka>P<=?3}Uv%5bp$=SZonr}NXWf?G7Rh5p=KM=pFB(KVklXJZT*zzqw8&C!E2q!g zJ;g!Od3T0SsCy~f%CfDh*w=$YQdnBhLD|x7D`W2ot&0B)S?h!%9rEt}o)x=;C;GC@ z)dj`}(iOumPrfgARcN7BYN_Glp7gJ)SBOkn(jvEP@x{B>N^gvRz)FzSLVsFn|JX(~> zz12Zd=J~z8#E8bl_au{p4?N*(2-0{`FP^tGN65j+Y~J(huYEop%=3uPf9-Ct(_=1A zy>?Ie`Rhv^`&ts-+RZ<=MlNJEPgk#~zkR)I`%=5aqN%6Y1GhIw7yRl94eaB$v|QiHEEr~hlYKwHIv7}4<*|$}Zy?>_T3-|i9ETR%O zcQ;Rd>246wGGU?f$Lq6t9gvJ1&ANclLc zBrDW^hMUL)#wUL@o<31fyWr=(V8zv7zBB$amY2tIu6D58;FLONzCiPD^^JM-Hev=({Ctvs#d_CjP zcA50Xdkq_QJN;RC z!e158Fn2++`ns&p9CH;hWtlH0m!*bp{F(7gwBvwWWXM+qQ}fd&9{f4{b$Q~Z>UBl7 zuFBSGQ8AxSNGvbdaCgDN*YoZjzbeeipKmd&!q=cIpr8Sr!cE{_Wh;n(+N zO%_z_$oc!2_16_;%fFu{_}A3)=Y-@$&d~mF`k2VYn^^8zxwU@Sb1XetE~1(lf0)(K9>BxvSz!WN%aBerql1N0u$7KvIUnF_araN zJSbYUVwk&Ywe;H_K$z&?s?stD}RI0xUpkcA+cB^_`F7Of zlH3_S^SL|Uzsg+FeDbK?x1YOs_^huaHmxh#z57W~)?|q<2_e%Mm|tGGJZ1f~qtYA} zsRvbNwak4|*}VP3ub?BxRJdB6%$a=u)|O{X!JiYS@K0YZH|6W>4E0P)OZ&fB&6Q~^ zdg1KKw*KofMJjW5&e62}bt$K<^HHyvuu#G_zkB}~f<5N%x%I|_`-0%*Ycu%D&HUr` z-Mi9wf@_6Ee3Xt-dMHPkX5zeJ5AoACEG!Q``1R{b;i}>tUu`{?-eKll{GZ{v*8!6T z<`weC3cr}_H~Mq>*!|c3$&>irF1J+wB^WUMG3V=_7g$y~a542B_`5S!rs-WgM za~E|K*`2<+r}V*E?!X-zu5ayF^Q5)@>i&BwWpZDiMSXuO{b9PtH5?10u`GBKgRyKwQQrYx6N_AGyb}-V_xrZ{k|qkes}r$Aj_0n;S>2h{<^k* z+x8>Vbk&+|mlqp7ZInD{_h@hTp?x+V{JX!L_6>HwwszZzqcxM&RE0`z1$>V0p0H(; zp~3`rpU@xr>))h#&(4gy_fW!U*W4unwX5sjytrL-<>K$jN^WOWH?tbM*_E(c%2uwp zv6|@(+r4(X=4INS&L7w>yC-q!>j2KJg2mE_o^u47{8hFW#xIXjTb;k|<%TS=O*;E` zI=z{3c_6^XYO;*c`p4H}l`HQXS|2HR@R+46*oI)H?P(gRXvxVp61r3xy)lR>n{Bayppu+$%+1KnG^y3yLMZS zx-h&=+VlB*RqxXxm4HaE#vcB7uXUGWk~8YqZ5l(1BrBaY?n*Nq-&b(>!xD>`2ld#K zBnp3C3*P-Um4z+w;3CgU*KV%cD*0!IBg4A`akXb<9_t&1s@}9YA}LdHe&dR#o=iC` z41b=;&5t^4r}|;X?F>^9RZks}x6e16&2V1fSS(~ad#3LE#nrz;c1;W4ur59#_QR?J z+w(L#xlT`5v-I(k#|umk{)B(wvO8za zJYBh_;ylZ&Z~I$!eQ&ohT=Das)}>1y+&>@jyxsQYyhHZ$9nbqT7aKo69X!v{V(m`T z=ZcqDl=KdKmyh}yd_k|SC$6UQ!`5XJv;N6#_cz)8UQxyD%we*`p~bM@a-Dk!=n^N-u{wbG84?KkEx=vWYTW4Vrp z@}-@3xgWXwn)-A1)jtluB2|PAZad!kpCNtT*0VaMU!9)W?f$Xw(O!3#O?~GMc6Pa* zZvJ$loUh^fsjBIHdTx_#H^<+(b%OC$n2%lY>qtARAKm%YE7xqu3d$1uUG{UqlfpRF zHLow--8q#*`=rb#_q`$oz3XdYj=uckT3YjJ*4wv7f31A2{bYlzadhvaC7T;lH+1g1 zC~r9D&*B?WpQcpi<%uduFG;csJXicO>bsoeN7kilcFpc6NwMf@VO#veKiabzxn6RwwEi1WwAirmfDpw-lx5O8xrz- zJM&uR^;?a4S!SMm_;J?#i?^P5O|N#@=;r76;Q76ssyxeWv)yEG@OdZHbExpIWi6KX z`B5CdWxCg-TN0B_Ju5J}`CvkI)vRBWgLn1T*e|%fsPVaizH-e1##i+-*PrK((98LE zy5dsJibD>)=SAP#x_?aZ(S3eiy?>>RZ-P(sS+pGpmup`6eVt9Nrmw1qsq)N^(FY43 z?Vf4MJ$>GVJFK~z*q98jr)PcroByc3QFn`Xto5Ny=ViVv&|sO9EHlY*{nUk9x6P9= zo|-tpJmu~8qt*Wz4*h3nt%~n5on4`;_h^QWny26my>HA5?)IPB_1I5W<8+F-^1V8# znwSr3w{>SGuggw}^}6x*)kX_j2GcL5OP}t&;%j6%iT&I$<~fhMKCR7u_-<*<0Ipi^0Dpe=F}ba^E}V=9G`G_YpIS-&fMe07fb6qre8l) z9i2VX?!0kc%E?>V&69(Lt@6}Qhn-{yE1BSNuFF&A+e+mYx1Txd__Pa8UI_cjFF|}{Mu^2#s|G#wQAh+Z56h4%zftAqctyL-qnvwr)^!4Ia^`N zo|MohtS{`g?lwPCFUB2ydFh^M(UBr6U2`;puLwq-ifuWc^>OOAxyyXDGp{Q>^t3lJ zb3Fb%`}y18;Qjk1&ar+l`TMU&E6=XIbh(~&(j@mFPmykJt*@;?%ot$qp~JZd7UoKzgcDx$?B&; zxBa?Be_Zyn+1|`z!L*Z)rY7gUJSc1ZuWi<)r;WG!iYNZf+W4?f)2K`=x#!DKlg^Z9 zG4E{I_l9T6cEsMT3d%D%o=}%6!)N?HWFoWVISbL)U5}PdUw@*=Hj9nL^6vM-Ussp0 z7CA9V?zA-yz1g|)PMK-QG$%JMSs zU3Jy^z}710-Q#;Rc-0=yV!83CV#R63cbaD$AADcYtJW#+*;DNE(yd4% zjLD%qxZ>oaR>rEJ$GSc&GBOt&WG*!}&x&FQ^z`g2%DAJ!Sp9X0<+4e>=E^pg5Hsof*@)7MrmW;~{Kt7ysBqrMGO zZ!mB?zcyoy)rJ$x`nKFX@PVCaYI{-c3%(ErU+cmo2j+gS&QONCyPv&vU`dxfm&q|l z;Km)}u5jtT2Zmiee1A2MZg6{cVA%{lZ6D%#uMaB&pj6ZE21YB&EI(3}!9D}U;wONr3-8ugMe~)v+*Qe< z%)`sQ5k z@4J5#`x9T;;`P6o=l{R-`Tm1j(fhp;4c&Gp1s#xE zeEqezG<(MRyBtRDKQ0|hK3E;bGVQz{``(&g=?VLHx70445b;KR<@0NEUT@}!=JE)* z+iAB|X44AhtmemUXHnZ|6F7hVSAD`M*^X>jJNAwJ5nAnWq;S;67FI!N1ba z`h7VzwvV;9T+3On`*wMg(I$^OlZ-FRW?!pQij0kOdYE@~!#3+}kEcK0p7kT?bD($F z+(6E^s}K&nm>(x>iH5a$SIizef7C%~Rxx&#TSh zbF04WxS&ksR^d^_sL&_PFa7fBx!6xR6whJyy>tB5QZ2XQdy5k?cB-WIX9eASHp|`C z*ys6+0+qfk3x7(!4BQ^*f57$y z_asTqUqN{%e}(uMUTRfqT;~5Q;m@5*#)dBnzbq5--^%jkxW%%GPVe8|nqn`?neUap zH$qrUe##_?^%^}PlY=Pza6sZeJ5{b#Ot$DtE@3x`U=2RMG`{)S%j@?xH=NUQ zoP2MBY{j-M(Tv(HdJp>do|?b3=(A2nU6{(hsRAm&(P|9>MH$CfE%?5O=6qSe#vIh- z?&Ywk$ttaZsVL+2D~rXMva1{&L{B`I)x44OF=*<0kJWt{nh~NAAF_OREO~oAszBo4 zag*6n8~(@?UTT^t`LZiBRbgF0ma}HwURI5sjE?6ftrlm!R1R%bnEYiG6YsJmoPAbT zPQ9?(GW+B?yO;|;9f$a?^d57MDweOAmH2kvUk#O>&zHLb7$ui8dbm{uu+&`Q%TQLD zBl6tTQ@k+asN9uzhO-u$S#TMi<28}_bExS6pQgve8z&yG)t3>oSn<8spP}js-{bGW z-k)D~W!k=+y}K`SiQ>bJzADexiyWL}`POeWUVBA+TXEFdZi-lgT;ouMaM{vChFU&sMY5V|B!e zbMnhYPAG6UcA5RU()?b)Rqs~jl!=0lPAgt_O=-&9@qCuF)?sO;Db+!no-b9CZhY-A z?IgRO=IxC~-T176n$I%3JY41UW7WcqXFYe@W=MSabLIB=tTp^qb-!3V;^$@VjC(eN zzbeC0glBf4?aPC&R+=oHe3rFXoMlchC-Yk83rTZ#HvaT8GJNe&%%>uJ@+fm-Lvg^Q z0^@6~iL*FWltpG&zV@6SRaS9g0qgO#dLEX`nqT`Jc$Fa~J5{}>f2|GU`{Qd3{j5V) zU$#LLuwtd>EwASmtFn&pd^6SBm}hmtSy!8>_^8La zAIkZvOO~$|wUJt<)-#Xa z)WY)d{`E^)i}_^jml_vsWBilpEnu73$kemqSk}(gGtwLQ*Lup|*Wk0bJ2_CW^-iU2 z!%ESOR}wCsQGD=x!Gc--OIZYV*t(h=$SbgTHpPrt?#41EkE15Z>OIf8n?xfw-J9}w zPHmR&{6TPE(F6|5k;W7Sz>;p-x2f3D2&oyB$WNz#-}^V&A=IbRRO$0 zYrWDv_?R1M`X9%9obFemx!By`;-4qj+?sK-aTA?z@D@~a;G0&<0x++jX!gdvd z(+-t+Us~oo`0{1BaY}PfSLeS^kC!qq%gtDt!^K>9+2TKgO|TL7=L2$67#_KQ=;E+1 zF;@vnsVjNdcjto1(V)Vjxg6)w$j=33c?Z9U zwm)mI%X9y_@{+smfs@~tT#!zj!8p}4)#CZuG*<)rn#ZrQZuw4ZviPa>3 z&l{>IpU+!3fOoukSpHO^!sn?##J4BDmeEFlb%ftA*>?)V^ z9F6C)j4PjNsZQ-LF8*F6`1%A6D%2W7y z)F;-_+Sj++XA|S`l_!;Y#D5=Xex;@Hgn4;<)Rs*t2KN7UIZN!`sl|4&!P924+tVb8 z9>Ku(iD$LHa@i#m6yIvRGdCq@N8HY5OTrS>o<1;Vo3+uiH8pWd)x`4;J=QFLH>dGR zmoMw-Oyy0+2F#hvpO` zj(l}Q@7bd@Y|K5yuR{}pOvG~URxFKlb4Z^2uR2sky5shhD=T*XY&^!f2h99Rao7}@6($q{%D^1)blprz*m(=%cpYBxYG70qVv=JOxx^o&&mF?e(AqW zyPabc+h8;C^4E2qazS=sfnO!pvea{8*M!E6($_;ORAA+ za9nr%xV)@Q`QzU&pI=)abxV8VmbIH_e0#ji?BCW0Ck+)+_+JNWGk6|j%brw`VP4iN za`trQJcXizH+qcaB7RTG-tggl_a5hmJJ#ub@%4LjOnT$*gPh0wD(}9H5lMB>{V{9H z_PBV7yF1e5t}JEE7C%#4{NeGpwyQR*i((^ub4sNMbD zU0wX|`n}_qWwRfL%$O3XJaJkQ!+C~P%@?F5u46OzdwTo#*^}$?S6!Ju`DLu!Dcg=`w#A`8R)6Gnf8WAWw% z*_UqfXg}R<{e#8O_Op-hG$+}Efd>vAmz%N1ZHIc}y^cFP@){bp95%CVDpmGgooK%9 z`(*7&yKAe9vM!zJxj7-{?)SNt#Sw)&Q?;rXCx2PJ;iS|Kmzca)?vDLYQkotwb=S?i z<+^L@^yFiwUPW7;`ttQ?dH8*Sn)uamz3#!+)F)nL$=ZFRH6~eh^%<8I#+}W=e=q*| z9Okk^x_d&cVdSYf`DMK#eansq?cOpkZ0p>G(_Ti#xmeWe?)#vA;nKeKEA6MG&pFK# zDY&@oz(IxUX4_pEQY~!iBv;IPqCCSxZ{>GQSvsd7h)W&h27Y%lnu()ndn&$c(u zb(GJ?9r< zukjoe{~3Zm%-b#Bp{s6umO)zdQ+R)T)Hi+Ux~u=pKdSbwu?oyps}8tibD^o`IQueN zTh^MM&B;8+^X_FHdoHwCJ6S8_^Xq#{A8Kx|W}f}3+V}m@`yJb(X1_9zx^wBQl7X7> zcGh2W(nUp|A3fi(ecP|nC9|$9y6%7e)N-CDbDs8P9~TOgKed15a${qqKerui9iRM` zTHey0RC#{U7ynz_kKB5bZRalA@cNmh>a*wbj=EJGjoS2gk)7tvSD#+5UMoFOi^cHd zg!$?Jl`ei@e=G0a&lEZRiX)d84lr-dx0ES=wBLm1qgTNV9;>$!f6n@SZ+aqhYH1sz z#VdBNzQT#` zee{+VSsV?&=kI(zIPeMU9X7KM{>igy4n$=ZcsyCia3%4w_2fS5U$t4Ay*zI4N%U#% z%hW2Hlm7HSgH&!~%Bce)%#FwYGsG;BO%D;{_&6>qOdEvx8Jsn=@aRKC5{ zW*gg4dGnaZ*YC~OOupr&amLf)_4(Ic=RX$}ANbGk^{QLxaTdYXzI+A@HUW=VkLEnK z)s%8S_Tb02qd`WwLAUq4H(8dd`&mYaaiI%$n$Mia^5-nV&QM#>`%Dg`>3vSnYrchP(_}(g$83(y{ z%v)@$AtbzY&Idov1)Qh1-J5Z%ivPKfW#IO5KFcpFE;-03K zihn-)mIg6evhS4TWpG)n&XTxSlSA^>{`p^)D(F3VUS^?FRQY8|XaMJ{zJzqo?5L_VQ!)Yb{k`Rta$`e0dwNYvb>^nZ+A&EFRyUf3A^_ zuTZLIj^W*TGv0PNYnBJhX`VB0ua?4Ln>tZxnS?&AMXXa;lH6qL^-nEK3tI9exhIH? zd8M+5HdFcJrmTiKQMWrOrLWJ`zOp^gzue?zjJwj2b({)v)>Y4XpD@fVo;SDfwPyoE zn4LfSoZ8IYcQkSeDop0(c_&PgNS^GGa;P;y(w*J*-xf8d4Gek3pXwr3oM)I&+b;XE zDKvg|f%5i3?wG2UdPn_|IUqF7vDt9yT8@^@pD0 zkf{nh!`#ha_C}`aQ{r79R9U0eD8Je&?cjY z{s9%Q{hpjiWMT3=_U_o^^b_6%{FcjQ8kFPw3OFBd^((W5OEA2Z{Z$nlq`1gZ>C`lt zGfxVn-f*;hQ}s7f^svB93z-L9+()FPJJ~lp_$RvDplHIDirf`$_m(p^)%x!> zmz%0&BzoYvl3;da_?7XDfv|#yzAe4MQ_7L zvpy*@ndKXAyC1)Nul1ymNxTQ%s8|=CzxyYnx;$`?UN{3!ncaS`IeFYo3#TtDK5=}j zve8k=Qg-&mRb5*S^uO6St!9Pv^vQFcUt9d!c26|h1LF%)o7RXhq=c#O`f~8sB~F2b z2k%tMtTo`*(!H<6%G;NbAu6J@fN}Pu<@497{XMv?KwR>h+TuuQhUC2a*OoRWEOd~H z*=VUO*St?lENnu$ML?15@x6K>4?Z9Nd2nIJ#Ob`-drV~(DDoN3;pyrBx7S_mNUw;@ z)bk8gpM!Y2&VFv%tHGSDcSv~t9$Ss4OpIH44>l-^ybtm#{uOd==TC=I3r}!Z+I!{s z^hNnk*&q1QlQH^~p4Vo9#dE%iDjB=|K4v$!-YR{XIa}Ci;U?qbk3EF*K2JWbkhH}? zWs--18)w>a+xDoc4LOsq+th09nK(ytO5(`}{Pj`sS^+zQ_#a+cGcAHoGP+*k<-5$9 z0}k59*zI<%YI8e(#`0ImvNp@y<4+{m|1+$~*eI^QI_1yt zer;Yv?z2FSm-{8pZ}oO6Qs=uVJzplJY#FDr&;&-6Wa+(G68D)W@0d69rT^zku8PMB zszbV-tciXSA=;Vq?sSRWm7}Zy#*FhG+g$NEv1Vz}&DUSQF1`2oS7$$9=~;F=qka;H2&?(n5qPKx0fo;=K&PaZeFy|y@$LDfU+ z{$1r+lI(xB{M>8Xs%6;!eWu>wp2r)%p4DC;Q*L;wkKu2Yy~P}()nWnV8Zz?EZcjOX zFP?Vt{q>VGW!xV1)fnfKq$LatXIQ=KO6XZewpR@xAzu>meV* z)|xF}8)JIpou~9pX1l2eyo+uxN&LR#!C%&@2%VjoR<~zbimC0N6uf2Jl+E0of29bYc_Y|^VI8*P}3Pp;uN{CrgJsin-5&(|h9EXlhS!zQGA zkkMUXzSm!=zw`cC{D`s@yM1U^@1`5wC0w4T#r`v7TfWHt>|!ZW6dI~D8q$se)O348V;_Shw!npF>{7rtU-+Y|Mp(s8z0 z-Zr~m8@2q;EJ+BC4CxWQ)$(M8<;#1Eb+@OLi_BmPx^eLQ!n4{dS*9l*vkSa#ANBl- zwCXL1hn)vsR9{ihtPHo__$%a?&#s;Ff3uR3EY%8oH`Tt6Kh(r=Vf)<|{sC4&dDbpj z4vrU+cYa^4vr07Saalp-vxUVwW}G+?cZJcQWwl|^UaRy8wXbAvU+iA?$zATw<$bT- zu$b3;|0R`Xteo(HUA8TAneQ7$hX?EU*DqD8Jk2oUXW`q|KGXavPrke~`HD$Rc% z-dgLi@L`*O-2TSzOD40_Ea?xZzEXX0!^F9#8+%HAaivT)JmRgczUc8RnFA9&gFm&L zd~9nU>?`zk%5n7*yEhz>Y3|C|7S1n{b8+sPg5?|Y{nu8$@3X0X_@ANu+q=@2?YFpD zKNWxOU+{HBsn`)qxrWc~JcleL+;!S}CidrCSASG5U*UYn&Dyp+v`z9E>m5awMSM$s zUw@w7|4%ROM|b@GeV6p!J>EW_Q|$Zgjo~|(cdi%Oy?b6}%lFNDPxm}rn)LR3oNsCH zp;J+B{0)C?{?EX@|Dns-+42H97ZY;pch5g?J@nyysUQBwjJGat-`ZV$x`p8_dp7fn z;%ob*<3iKUxqn&9&FlBx{R-=|*#+0aI~Gh9&V6~|w3>V-0j)5 zrfh!hEzVEdQ}W^qFYWXFvH7vC@sT>gZC7qR^5%6uYq>>8j_b<_8L6LK@ttv26W&ga zpXXvTf6n~1#h+e>hi}?H>#g#(s`-2Ts}9YJw#z=*^}J@E;@%y*1n$0aQ?2Xqv;2Ov zw*N!-BenjO8OQyueAQT+((*9K(|{x9N#F8Wf4*$pxNkS>c-_gmMgM~j3N(kI!@m4pyX^u z#wOpT_pM@H9{VJ!AS!paAoH%!xj8jDA9>6I<2*iUSv>4ckoom&L!OQPqrc`xx1&29 zUIeSipV}*bv|jMd*IKjtE?YKR6*(-g+MJiBzWk|syPa{=kNm^xe$Bq=`|f@^ugKHD zw`Ap-pLe$jO?+1LGEVDi>UQtj;T_MjHa~T@kNWn${r={o{~0<`rdjVzy8L$4jp#CE z?s>EO{j!g5J>RkGc!xgg(JK!&)gG1Ch+iQ3Vn3UmcE&yNkIt{=X-qgSbNcs5@rAd) zd&<7t^2RP{eV-lAkNXFFKE0myQHSfk_JQ(c{662#uPw5g-oQF-f~jX|wP;$vA%UM0 zPd@3hN(jFcFSgJAhx{=+sac1;d*b~Iid1+)mfbT5w|)I+_UV`EGw1SMsN&nP^6+Ob zyC1X7|5(=Zw{4ZwH{~_R3OHe4{Ap9)QU4X|efR%Znqbnt@zR5-kEa=JcDB5;VBUp5pf?9Zs_TxYKCBcQF}!SS;|{KmD-OO~uT;;mit?ho&g3G5F17NS0Ki*2s-PQLJD zR*Qi2yzCIBp0}(!*?(Rru={vS>xnLB!Dao^Z#|1e6gzzcZ~O|lA;QuUe6{28wfW!5 zl(pPNbXVIkoQt^h%tWTW;Al*shU<+R+`q0&oAxi}#buraCzNHRb}N~z-lY;6c<}A7 zpl57pTR!In>-5~NVyck$>dX_2nR~$S%j+N48aAIi({A#06W3k_{qOBt#f8$YPFue0 zc$Vn)&d;YyMX$e*YMUV%5GS3Pl3+ZEL;b?_xsPtCTGxHFZ}nHbKXc0_CW{vgB9jJtl>KSSIl=Arq62rYB(MCsM$79#U1wIk%s$DRFQ4%${mayAZsMQXxPAZG$@5R` z$PND1ce!TLtlaJMEg#slXZ6>wt#Ol9+4!_q*&_AU>4UF~WB%-Fe6`Qy>+{NWxu-X`=-peq@SEuz75nlps;ImQSkxIc~=Fe zPrp04@%p`45p1`rs;;PRPtTgbzGAJ8x7-`QGxOXn7YICAX;Zq4FGS|ca^BsWoqd*g z?NnJ;`;yPS&ekxnr|FC(+pKr|TeX>GpUFH)k;<5SN~S<_ai)x1t^KbrmwTREeyY0h z66Z9ZvrYbv*O~9lZmRwqDBSjV8IJyc&$O?QbFMbF6Z;w_a@KxVw=$DZ*uv#SE237En*`7nr2wq z@M#u!K58^P(s)kGsGcj%D#(0qxFO>t_oWIJ%DfX_``&REd3Zi6vqAX0$#Rxw6FwhU z%DizIlNsaJCC4h4&-u1&-pmyV>Rwgb*{{ty@UhEFkNFtKlLwcof?Xw#d+9MvzBT(S z&yg>SXX!D{(^%A{$J}UfR%Vui$5M5rsSUYa%P%cjDKuR}cwN>3h4N>sn^>hcyK9Kq z9J~|sq@FkA?pX`NKlV{E3!+aj&#Ky2Q*&m;d^;aCMf0^+^7$$~*0SXN z8FtSm7Wq{kjrvsQ@ZjT|>I)ki&qq0gDSTU?&e(bKW&i7N!?#D(4peb5bmvPhXH`g- z@AZ5-p{Oe8v8<*Ui)zKA30f0BbInk&v^;9D;#lEX-vj?Ie-1jZGB2EMb!VU8!DIes z_A;*V_Dy!2r#j8L_fgE8cPGwTJ^FVrU{lO7#~`~jhNkN4XU(oVub;7e?T<;kV%NO8 ziza){5mjH7ZDudN>PCI$1|7!Vo#*YA-v~c{UpW8Wo23Ss;ogdAtTWvl}> z{akbS!jo%xOV`H6-t#TFutwkT&Ts$vtaH`VlXq;(-p8rBP+ zJigaJcAllor8ypJ+`_La@dkZpg`*WTsx+4HRYQpUu( zEiHmy7Ixk~YF?<+$laxJ)>y4UMnj=|$uW14PfOiR7zLhGJ(?mncjXNck>dqfiA-w=B;l1cW&Au(?Os%b%K4 zxmfv9<2DnS-&~m@Z+9*e?qg+`vFgq8f(KpPLgjMHX81q%(|zf8urRRWbx{9|PdC1= znDQibWp!|%>c$&i7cd^QUAgbr6ayQNxx}EZJlXS@=G~vmCQkM>5H?xZYA!M-{blGG=I_-(&(&Xg7&;uwEao+Ie12=f z9A?Mhd0TEx+-9-Ofq5&>ot}`?73{WITSVL6nY_Jn=F#k3^BR+U55M$~TCDPD3g4G? zjf;FPHE0?4A6pVrZo*OV@~F8?RnW)lOU*4-X&Oc|@YMf$*)}he-!DTWP1E7|O9v6Y zt+SbOx`HyB)t7r2x#wK)J*S&7`CS>A<5Jq*}wGnW|d zklpNmd)}O2_pOR)=S75toEGq;&1|w)2QB)P|u|?+c!J|%mnvW-jp5mR9GH*-k#^Wm&B+Gr3)=1iEU-E3h?8(Kq8ea#> z`C1o#S+L3Ryx$hCp1|Wt8B7jtMVSw-XkS~x>%ev6rPB(_g9k+}_f%hYIPbTtK~>pC ziu0_R!=uTCFCDmp{=P|@!RBfazu3g?8JIhzCLQyJXgDNgKqv|!GJ9@ z?RKs@t9kHTrcss@lT*P_cau3yl@CIySKOU9S93*E%FO3oRTBlpC9!RJBWu~a4D@m@Z~QwG!Q%lp?d zGxyD0_VNB!y*E71(-A{3F=mt>-+CRl?3ck2#)L@_0_E>`I2?OmnxCns7|4 zSjlF^9N4NpVd=gp3%=j>Y*Z`jt2DLDowUVyg7vpm$9x2ql#1-$`FMYE0PCj5+f8OZ zn6=K|;;h!ZoeMbGj3*zSJY9 zyt3fml;#cR{4AF>p7S?h)O(QWdEi%YXrUs!#_{nXij2UtS5>V77R&cJt+O_19t78RjgR3g){~YvUw^2fE=^_fjw_666^DexznVM^ zKd)jScUOa%Lu^7qZH8t{ojAkC^QKxo23qEfp^e8bRF(bF{5_l9eyLiQs*7rq_$|-( z?}OZK9%xI@z6c5-EIp={gD;Lo8QfI zui*;SIXH*8@u1z*vul67J@>Hj_TGr-0}eTl%U^m=vFvN{-2L3v|6!Qm)LjMHjCqX; za)lTAuWd=3&SSZ2hWw(&0czQYZ6yg^XvDKXCxz5C)*v7zY@%CXes;3 zEt_+)wCD5J0bAxJYppl+^mx5J&sMASMADN#XV{gx8O_{`cqL9S`c*#PrWInalEd+w z@dTs&PPJKwPK!HrAFum5Lr_V>*3H&mV)e!cjeWH*>x;ry91Wiqu~^ctsp+zb2-~?k z&%dl*d4RQzHR)i11oMq+lVW*(Cd{j~)z(yYIa{#$GBfkS^XhlH=5mHUo|7*5uXN64 zR{^f>p5K=j@AC7s{I+J6rg4(xhTXB7?k%`{M)00J_&`hCa(Lmq`^bhSI=o( zE_V|{@~Pid7q0tXQMX^4c(kBrcKQ6+9go%bdR%9jyY`?>Qh$o~#L9J{2j1VG)%fgO z#5}ELFS{2{=4}-|$N5b(i{;LR%+A;Db0i(&=3m?F^7CosSrgCg453BcGp^i=ULNId z(BxKB9V$9o)?eha=5dKFw2>nhq-2W{ECZR&a3;$K$_4qLqSJG9};@hVHtoo1is zRf=j&vNCgD8vbyi_^#*ny_TL5=k3n~W$>z`9z3tMMd48YY@2H?xi9BDUcNWOZSBG2 zlV4WqN}V{fgZsqyCs(KEF*55|NuBHMY7(CO-v4vt&XX(wQ7LZ?f+~+EhaOp?f65}> z|I(tg*P%;_*uuGQ%#T_sv@Y^}L}U=ed7gp0u<3 zt(wF607H)$?G&kVnJ4q?-dR;&P-R!2^Q-Lm-k?t1S*M=1^Y)Z3Uvp~Tk2Od0AN{Re z6{zsDL-MFyV6l|b)98&X#pkPvPTf3VBY64V=CHI|fz{tuvdob9vT$L{MPr7lIb22l zlgd8Mk2-UI!r7ZumwV>#<~i!2-YQ?+w{yi)zU26G3RC{6N-h__vq~a;jzERou}w$j zHRmt&e*RA0@aKv^U5_i#Gi?qz*Yuc8Rko1*_&)lY`1Sz*e9KB@v9-Gt*7sCjmzQ~( zDzEqO-cnDuXr9B*RCvC~P4SXF6=dt}|MA!+)7i1rfmij?b_ua_Trvz=Q5R6V`p*0R z3_1L=uXfojUw)f|<;*FiDSF2O_TT*%`tido-#4cmC1m*uG#_Og6Kt^Ve;RZ7;K6rY z&uzcf+15CStxV+o>~<ND<|eO*&y_{hYp@b)3mbtyIP6@+3w zc_zoto_KnL`Lv^+k7ZX?th@0x>CVb?)$_B?KG3|KwDbJ!TK!|Q*tRa%wmZ3Gep=7Q zlZiW4$rahY%IEp9+x=ti^4niLuT`|P8E${}r0SpPkKO5yYO@Z;SxdiE?7g1YU&+9f zz4=4>k^RCyY)@xyuM0_YIxC?*`4zk0)`L3xvVOImzv*w0uP`rs|5CF@?`|EFw+@(R z9pUu6q(#r+Rpt7&8vWl%uGz^dc50V|9zC=0?DB}``ouT;XwBA-{Ex2p{8P@}9<^>` z*|%*$@6EnlwB+c#>1Xx%b>!tkS0-=fUi?*0zgwR7-B*{3Yq!2G-#Ou}0|(>nUCpnw zcZ5YMr)`_6YB;ZKgN5ji?1TwUHorqFd>ky24|7^iwcC0#(_Z*b^@7Nls29K9d{}z$ zv{>$u!prJgbA$CK#l2>^_*?DLvuE1LTAWXVH`yLAW<047?EKuiG4#v#^~bIGyXF~f zy|(3T{_n(h>$ZGNmbR8%<(z}Ba|}K$Neem5yt6$fWY46dQyT*>OFY{7 zj^+1<-I={=j$G_W+*zQe#u_uRr;o$#%YOzVGj(Q`vSYjkDw)xBqV3E!-{qQS zoLlHzV7GUb?%@T`XF2)I<@;05A*;dobcV+Hdrt)aX6c)Jx0&yiImvD}pU7kNu8t=u zDb3d!)X(u%X+FPiDml%}Iz~SEudCC{r26wBcOM9N*f94ehs+T6)Os>e?efdOHA^O_jDkd%gd8 zkXmHsWJwE^p5g%UR0amibJmx+nPz@{W$62vY2quZ^lOd9Li}?hCeA%P|IngHW*1A< zm}JSPwI^3JDhQqNkbE|ws(F*y1I7y%xLp2avS&&%JesmOFZpf%fvfh$c00eXIMUER zedTLM*NsLEl6?#hYBl?{HXKly`Z{z*(}ER08;|=(1)VBeA!)b#`jr6IwGTT^KKRG} zd6_lO90rcZeP0=a93K}dH#)EB5LRZ+xO=W3GlJ9RjNuz=DTx-F;@uPH)otZkZLc55 ze3jwYt!b>&CU)Gp^LS2GSGM!Mt!@9jgmvizt>ld_o#ozM z2{pJWccpT{q~pxL{$}3b?z+R%=U@L}@tHeJ{~5}c|7TdYTC(%hBxwugdGr0NoFcYa zUp&R~wBP5k$kEhW<;fFoul#i-ank|0IZd^O0h=|?xfvMGs#&}<;Y7>VXR|KvYMwv) z*1}s1kKfCE5#l&(W_aaMU%*bQ{nO{(d^vBg7QdN~27_0v=kbSu(}O>!>lJ>kYJBZm zDd>O7&-1+Bmo-X(MuysI$^~`rGI_dtcs71nbGvibmV}?nClwxl9vby1zoS#k9MW95nWuOkZmp2e=IwE4Q0Wv;ZcMDcz5OEbismD&xKDZfP-tQG$ zWzOVQ;O^)>C0u9b6btq~>o3c;be-P9yY}_V$j#@RQ~53J*E(F+*)4Lq=d11JR~b*m z4Yxm2OqjF6_QsR6Md6`8+xP=&8P+V>&+%qX)ADJLGml0`&o^j$tb0P@!Lz==Wl^dT zc``lec3ax~%2rqZO1`yv YX$^~!x=3QBJdiyknU*(IZBq|Fu=idvy-F$wpOGB*VmgIa6D~b?ViPUz55LF6H6B1=7~Yt%?u0->92k7IIS~ac&zfNRWf0?%~j zo_m_;GyUt^A6IrunNI6Dr!VhsH9TE< zkoDX5w}G91mRg*=Q@o|mZs(E-{FyT5iiLBM_ixi=KIN?Qw_Yd2=fK>Z&ztPF$h_s- z$uh6lhtuUrYLTdWk=50Lx08M|s$bvm?Wo0k(`^k#)jw`J#*x)TvGFqa_gPg_3otngk{s(t6OZE{O;Yf-5j*o zP}wG>aPnnS!LY+dZ%-sh-@mu&$i&_IxN~ngJV;mmxLoC!shV+{?cd#9Tta2~XO9)X z3^ZRfulD6E{xF_{;p;yy70wC%cg@}J?kfe4=WE$}jMkNX`Oon6(vF#We@}leYy_Q4 zVi;|&_%mdJUzPA%pG>2oBlEMIw_cy~eEU)(&QC|DOyZE6a`(w6K7Pv;zch6G92YK4 zSn9|;=drBq3nrJ`L*CN^s9<`?ex<<_3564KKUeOLlNA=W171R^7{BH|2t`CWENW-^`vR?OO6^kTtUWbJQVPy-2pd zhrxbc2J3;KPd&@63$OgmP~8-kp0M#$(b`D{R!NJ}rcN)g3_W?v!oJm`c`r84-1|3EE+mw3pVM;1hLdZOi&kp>^k849Jg48Q@mZ$e-Inn2%$07a1ImOpaKi}K>+qK5#lIe^uyE#*@ESq}GQr7+5 zqJxJGZ4azjFY@owKCw;L!yP}|K3=xTQ>u2Et700SmHTaG1kUN1@1-Mi^vcW) zXLlUkxb5q~KblPmw6*Ycl1d~eWw0VUr#={9pF)n?XQ{mi`U$;6)D)tC5^UA#hV zmK>BlW_f;HhVaz1&WN4@|7F#oY$-CuTdMvu^fEcLx#m47e(lS%bLW(t;yvk>$Gy6o zTf@~eetn!@m9#Tw9d{Muy_w2+OeQDpp2+FrUuK(ia)S9Zzvn08^S<)mTI}G|wExHV z=Pn0!{=InM!1?QY!%|CG@)+jbJ+W-!oNn!cNbgSt7U#2C(+=F8x6|gcgTli@@7-)x z*c&jfTybO7W)q84b%uF6On!Q*7%QAwaiV+2`&sF?HaF~LJh{wj)y7n(m5n{~{P!C4 z==<&ETs$RQXV3eo1=Y`GH#*LIBHegU=Gm%~zjuZ)aGp3<@i*gcg8_H)h2RY_TU76u z?U^mu|FPt(N9*;H#jAO$YqOT0S6*eH*~F1#e14gh+hm@y{r8?P7qMtgnSJ13Z`;!c za*JjhduOb{Gk@=Ml`qGaUt5q~AiKk^S#@Yi-OYcl`JtJ;wrPl{6-!EIBZD}o7 z9JzFw4@Yz|PxW)z!Wi?uI<1U-EZbYZR!@j}@cfi*2;Y+Mv-_<6E}!qetLKN-IqOE| z*0PyhD`n5IudSK+k^Pa{%ExQtfBSu7ZM`BOGWS59O+$7>!mD%Mi&RhiWxKjR^L%@i z-L$;5vHHtm9`W_uly!XD_2=%#`P~aY%6F8?#@)3$H+@|S$JreX+3h>>4W9Y!TX0ou zVrb1$W#-$zuCHu8ebv%(`^wo9O)l{Q*Y&TK(5_>sp5m@TP4+(25|9PE)^>7e;V+7cl!FQq6u!b z8XLr}e!RZcW77uPtW8rBBubWR*zR2UR4Q%j);}Ak*j2BYIH!q|rB?gG9@9s2-A;Y7 z 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

+9iwcZ&;HWvX!~f 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°N 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 z z=g;?=a%|>3{FUSCE-h_cbCqd^S(dj<`KnbcH<1rr&U{+v>%tmg=c;v41K{Mit}PZpP~3 z&%)d9?P7b%U$9*AeaQJ~x=Yf7o;?1rR(Zj@ezn-Q=(IZJg>-tv6;+DL(p32yf7 zbA<0)zUk9Ee~)$bC7-n5%1*^opX|?NK1q;$=V7}$to4kM;m>Fuhx2vWcHWU39LMFp zobu_B&RBeVb8+>&nQNXKPuFHid46fj<4bGr>s*)l#j3P$-!+rD)`rGfJHA+|bql#? zrY~NVBd3@#G)hN`fAG`-52sw zy!d8G`h*YB4X*kr^WN~}OCC*K{wlyXvGSS5xu=0W@?P!#gjc3rVqN{jSVrJ(S-=0< zT>iFs3VU7WN6bxD-28NSD~@@p%+{xkUOnpAsmQRvANPYdtu(iNMOsuuR|dgY<$ zDD746&M_X8d$#MeJ@czwU$=yBH|H1KbNs1d@ueNMd=-!P_6K%~CG>7tU7~FIb$;8k zdCxBBOgzq&Y`7*}d46C-(tF=n*4Z~c?aptlli%juxqiL+PEBqDE(7y2wte}#U7}|` z>JgZ@lY8Et@OxHkG)!JkmSARh{%L*hnlCHA`eu1+v^k$S{NZeR(-E^dOAZ-Mx;sZY zf%#8_$%`dgRe!F&s?+-*obh>cWX&nFCaa$B>us|IWqP_S&l$gu{jzH1>La@+-MnYz zxz%W?<(=yA_3B4!-DLGHsT)}~o?oG}H=Haz{xmN1qqX1k)GdGaJ4uNQr_kGskHF4rxG zn_LD))pB3kKbi+Odt7`s$s~BM8H1bW`GxChY{R*>xs}x%KOG!1Eq0Yr?>TLyC)*C3 zF`V2OuKTl5w9Uw>Dy+xKXVx6m1nE7S=UF}58+pYmYSxiwi&cef&##SZOIK(i0vI~t^dP(fz0wUU)3|mGz~-@|CK&V&fM~Ig0b?EHQ)DHZrl>4o}AKnIXC{t z>`Id;ry@<1m$H!bew8+}&`O)ah5t)i9R6bnV!JGeLOzuQkdrau!-`0y z+yhFU)6eMk$9-M@QTy=Q#djm)6U}1WM7Pyf-wC_0X^X2`VOV&Y8qb`hS*qEcHP>J7 zT6wHpeZ6ef*By+K24TS^1JL@Ur&A=xBSDkL%#k;F2$PP-SV@qwr=aw zZ9$42Ep-dRFYf0mdA}(#?#_1pLdDlFVD(|C6)F`>da=hMAbj*@9i6E4FQ@UKT&iM0xq=>5#iAo%Jf9JZPnazcR{W71UvYtKc@KJjEgzv|?e@#2rCcM`@I;TLR*k(rJ zzZ2iruecrhaq1JXZvujuEQYN;iszqyT|ae?wMu)$mfmnpnfa!*2OrKZwC%23b>L{z znu^D-gZri{^|g3>-hHCRU;5VJ6?gNzS3127J}LXz^P}6d>u#49UU<8qOG0R`k<}#M z(yG`qQR}n)EiY<&XJqwg)3V!h zXJi*Q?Xc?GS!m=a_({n^ukOWquZw#Oiau5 z4S#pVzs=1un|qp>q0FLthf29=Q&+U&lB}(Bu069im;GS>tHula-SEy;4?ty`bkIO}oW6e%?PK)qnf=w?OH-Q-)uY@6CM}d(BSy(w~E; zYahRkDG8sPCADU9GH;>9@nx6eHkn+^e=M!i&m@t2+R#>N)9mcKs+(tAeOl{&G@SGH z*~fR9FYQ~@ck8~#hx;>23lio0z9m@6l!$)%BkkXPLGwgr=lONM)$&JsD@*)2O#IHA zHCmIk`igMO=I$wrMU5cu*<2hd>)Gp(c`MiD3$F5)7P9K>TC;P!F?$o`MqkUJ;TfU8(rZ@M^bZ1wg_x&}Q zh0A8tm@cx&4Gx%mN~Puq`#0IuJ1^K6raoM&5qV;D;fhlSPTV-Y^G|V{_lNb4d#~uP zuPI!kma?ND(Ouq3@WS&;dvBHM8nY$c-l=0@`EAW|R`HZf4b{zB-o+x$r{iS!W;|Ns zraNQtM%KbP=8}uQ8~&NJ*#6RzXm7LB$)^ub?p;&GUzKroT5`9`ZJ9O6pWVC@3T(9< z;%{v~E8H$|;PISajG<}MuWP1XUFi1r%#x`xe7=@qx~`1da*7Yw8U~xqQ_S7;*y6;2e_Iv&mru@GU9f7i z%7bZlZYb`3G3yh*qVT`y;@z^^RuN52;XH*CY_%r4mx~yAII|sRmZ>Y%(|l*r9X0n$ z*{zs2Yuv7?Jnl2RZ2EjY+rn8MTYd9_e1y;VWY3@3^n2F&kM^O{4tsa|Z|!|LJ1|hH z=0+ zntE4!`p;m`tgPG|S+>kNyhzYz5>Mi6o3NEvgst@!hjTHlTJeDEX^QZ=9p{42^z3Hv zddO;+|L@9Lqhq3+x95~E@BST;78#@@^Jj-G!}rx||IXe0rrV^lx8~5w+jd*p`bwW| zGB$cJ(_PknYUK9Gg3FYXejfZ)b?vreO71!7@9R$qesB2lCrgD=*?GKuc>YcnEV zlyWFfi1~TsXTpk}=EnDalf2F5_#E(hGrxM9e{x9d#k7=%e|HBz-d-jh=FnAbF0zJg zimzn7ipH@Eo=o%7ZbhlKmX)cmzqaw_p3VSHhvFB-m#?+W51zT_9M|#tSE?^PWv=7i z%)F!Pri@_k@gJM76o)=foTwd@%e>C8e`$bmoQJu$w8D9Y!Z48&+uqy%+0y^+m|wBG zrl;Vh8%JJ!JWzA^#EBDU{ka{IKI|3NZs<6kQ!1)ce$T^o+BH?z2b*O!F7duy z7W+x!r+Pzm$O-QM3^#tITwFO%J$8qU{GQsZy|-U}TY5Kn!luX4wY9IuKu<{(@0qLORsXx#XT__ZDi!VS`VF+yShg%r=8ihUTS@Lx#*L= zXMXKAbE-o;wr!fU?slJpgskzs>6#grw;$b;_<_!nW?pGHWYlH#YyPnb?%9^PtB$!^Z;;*^)#-9jt=D~qn4xl> zf?0*^s{M0oQl+2si`m6b|FXJsdGtA+3$5G|$0B!sKN|iic6;rd_S@(9<)>yWa+dx5 zGUYR~5a+prmznqKT<2IS`hBB%0he+A+JK{Pinf1PU3`4`Qp-HODPoa^+b1wQw)?us zNp;=}pGn3iJQEMtOsbyj{ao?(Q|pb)>gCK`Yp$Eeg?(YzVAC2OHBWqp%CS?C?W%|V z?6BSF!)-(;h#4w!~BN%A26q-?wc%c+{{- zQ2gey8@IO`e);xn1-s5C%|463Tc&vouP0u);=R&W;fC%$pE;Z5XUH#K>M5ydw8rO< z$3gWA!hzFfCr(w;S-v{Ci(&fP1fC9diPOS&eurGX!`|wBER^xs;|ue)`lh?;MKenr zs|t<|JU=_0!~f&E z-jQ0%C7xX#XE$gjuwAMUxx{#~P@-5tW-7z;b?!@jjeRzVBsm05W%>2pR9GiXe>%JV zp2qWjS60g&w%HeBzdL#Vv%D!LEQw2vwB7#2EGQ_vH6vmFEPms+f-}tpC(rp8nizfd z^c=&lG6`H&HckQSoYq|`mvRW+x_y$w)g?2ZPTZ+ddu!7n&xR7o5Q~Jp{yW#~-`>Le zE%@1@NsQ{;KZA}Jq~>m%uVcq8_W0R1k%mimx%F8zEnmM3m_57n=VZ>C9?#YHWz9W$ zu`Dw+;hFu3gS2q=$+{zf_=P&zji^#-f7xvX`Q}3I-Yktjzq@3wO zqS{xq>#dH@(p+-mt+JfO^NGQc=f1gT-ud`onx3Wl1`%FmKc%Dm^WMCjyK-`{vF@&E zY1SQ&=l%QIRLb#gS>MI!#zm*X8|=1xzhZZ$jJw`+_N3$Uv>m7Sp3&E7eC+z!sp03z z6RU$A^S-^=bo`mp1UEMayRA;#E7Uqvro9y2U^CCtc7wLj*HX*ql<(Go8<-Y6X1+Je zDd$S{Zf?oTr%S_BG!LA({l+${IxtiAVE-AWNO`S@FDK4>9lf2i`_HEZkGb5VHf&zO zwOd>zLBQzvt4tHet)+!2$=n5Do>sk!3(jRNIkB<#;^Zw48uraSxn{pnLdOc$J>7?k zKm9F^3cUC7^C^xULcB|O=PMhTJGXqzMUPXz8-MOR^gHy3u->QovKGPqpz13D zo6qrl+xRw2I@)$hxv9wYBB!(0S}rKpaB32`c)XL(Lgka~ z%l{0PO3ZrPzrLv7xz-ZCZR56=O04JQHJ&znSsS{0rf|{CCxxFTPFs=TYMq_Y@=W3O zY>8iwSFYOrF+OTaddHGrGl7*S|71Jyx^XNw;4bF2RC)f)(zZ29YR$wGYjbRl2AsJ^73T^sNJYxsduKY&k|%lDB}==ezNBd5Zp*C(EkfdlHl9D@@cOLd2DKa0 z45j$}mYde*Cin9caY~%a+Isxvk-*(P$tgK0JoEgFLyMv<-@LeB`FYPxcNMKK?0;9i zcso~ZtEZB`rGMUB+sq9=>MYuH_tl$jw=A;D-Sb%ToYu?DnO9i-H_!L@7b?AXrCIBl zu-0^;la>vJWdS#TFTS<@XQzZ_c^=cw6Q7P5z7GjHmn}X~ZR&?7Os7vMlvu14l=0^% z)O46zWE8dNv7r7M{&y2h)>%sLIIyDg^4qoVmQQo&e){)L$#a$ds;TEE{p8>}**}GU z#xI^rG54d77O_ld+soyVG*ZZfaEKmQK}A&VM?Ln2WDXkoe^J@MiiX+c@_09@f(`J-@E* z*z%rxC)3T4O`kX|nAS(%dU<2!RdY`@ndh?X*A_%;3l|)EcE_W?hkti}u>*(6hxLVp z*~Ky!+qj%cf9|e+wE9(h@Dz@>I@g}5CP=HZBrV%}b*;(kt(&*Wr`;+yV1BB=!^B@4 zwK4wZwpZUKuj$#dIa!kZ)-s3S?He~vEmU3D6?pzX!>ZQH%clN2|4cA%Rm`O0mT&B) z)?__sYBSzaTIj9%cV|G(3=gl=?R;+9W^G;T3rq7h-d@EPa?aynhwZA}(YO7ig2eP@ zs_*==GI`hT^vIeM8-7?SKV!bN*4y+*VaGI)IflBsWqK~mOm*)&@89NWbC^fF$^ZMl zrsW&T<>!-KEM((bCVwToW_A3yucV4d(nMZ@()1y$FSvt}*e+HST` zsebpj}&JeOXaVS7tRU=!MT?Jns`y_)73t zOUIuNnisbu%S8t4-XQt=^U32&vrLTK4%r+!e%0=swak?*?DEwsvV^ovxW9S)XXx&q z(Vt(Hx^HPQPv*CrJ15w~EtOx#uD5;m8p zIj53-SHJnp7tP(rzBJ?TifE5D`x0+X;7lkESo@~vl*HT8xRx)^w!ZCMdg8X-!7a~i z`1oZr8>6(lgUwE;oL_!v+rb{~)kaM_9+##|>g3LT^FeFf!?~x=%WldN-Rj9RvoYjU zUGmi#WeS(BllQ84jneq}`E>e^!lPNfwR%@WdzV_A3*pnY z)%`M=adPpR9u6M9fb9>XPMc^-P05kls>?WE^vQ%%QQqvSuOc4XJD$zd@64GgsCIdN z@$W>(?z&oFG`(DE} zC7F*tJycIK;&^#-ReZ|j?e>#iF`kz#4&=xa{~qA6QqJ(ibGfU$jEmXZx7_r*>HIcs zzIoK1eX<(_tydH_PCZ@n{N9GCH{Fd58H<+i6=^nyOwZ7|v@?h?CjGSs@5wD4DoXYS z>u3Ky;4X1oLTN!g$5HcB-(3qFRf?zD&HM7Y)|2t`x`YXnEF|7WX_rk}wRfk+@i`lg zi|Rc{aewHM`$SbQm8I~&$%D3)YqRHC-8ua9=(LdE>ux-`y3D)nXWSEp!*k4IuDV}- zbMB(@=GGUYKUOmH`^@?!z3i6T{j6J8bk^x_$`f*&IA?w0>%iNY*G@&RJM%^T)3a^U zt{qF&)YZqiMeRnanSaZTHlql;Fp zHD39+r*Ptpu+V?K-Pt*&RuXCq(?d zIz{kE?(QR@m`<*jD1V_+U#7*#u$HP#)J3l;tzyuFtNK{+xWEO$@8Zt z{%u+G{ivs+$6KX@=;`eJhZg>3TYo^jF?hjGttWw58=BgR9>}dSoHaq+*FC_(`-BMV zi>kWPG_%Nm70OzM4GXU2bZaEZTek;g9nn{bFkC%deO1q;4N?<%!x^HEZtt0NeBs;R zZA%|jS5Dk^>`cRls^ZtdQFre=KXrGH#d!)nC{ZQk0E zJagFW_D_vzt%-2PTN?2IR0)o<JjZ(L^`^5O2kWX?ag+gkDI zw2HT7>=HVaf3?F-S)UG&yLZ>GQi54xt$eqLPh{P%&R#ZB4158uTJgnZh4Ec0_E|BSu)>wTguBp)ANw9fL^ z^@W)~_H7UTw&GF3p2zF5TOz;2?@HeuSJiwrrghEX{>?s{o=*sydgR>2HP_4z-(5ZV z_N{eMH!>&bzYni`Il)8p^iiJ8_UDSCWghLSj(C^guu)T`1%s#K&C3jGyKB{-gJRR>+?L`wOu}ds%j=JP{Q}_2@%YQT1oid8;%bIgn za?vfZ1*bP|t^77`k8bA6Um??ccicT~zImS3mhh;ME}o#xlV9$bwQbSUkKe*lioBQ@r%B7opZ@~#S)h9OV@I8X)J0$!pnR(Qet0)Tby5- z=)WN9-0!=0<`++lKHBi)W8`rsw}(m9 z?EIa~Cif>SeDcHSG6rX1!>=*3PFJ6;=-D=7Gf#c>*EO2UK8jr0ZPx#!-QwZq%lopM zLL;wB*sXc1a;@ZrvVC$ddtw7?v3b&X@hL`g#BB#%=Fl^{m!c*BP;o; zuhTAF_MfrlGF$zlun8%3rLzk&WmYiWI6L`|^Zd1`#Sxp2PP*+=a6)(Hxgw|Lp5LLn zWtk7Frc8Qw^}>#y^*2pl6lZ=uP=55_>psJfneUSB9AYh4RXp+DMEAKjGp?6)968s_ z@|MezD{Jqy_SJVMtAwjwGMpoJ@c7oUR{bbpqv#gqc~f~Wm|2Nj|1DMh+|r}rrz=B2 zQO0#?p5hZX@{A<@ZS6O2XNul>Wz&{cK2f(K_PXpfQpdLT9y>lK)T zHQs8BdA@K{6RXqaxyL6gNuTeOwP)ID!`sgUDo-BwdeydG<)Y2T$W^PpvR0~#&NH=s zY4)FCK`uk@k>rodjG44GmE1Cx@CyFiRXjg9be)N%-aXSyvtu{!&Re!Ce8;|t-nU-< zUi93iC;8sW(`#M@^vt$6A?xqM@1?_TH&3{s=yHDWMc0S;Ah3KDA)@s@7=iyGDsclHc#9i(=eUuu7@iLY?!%vdwA0CPU}kNnSrd@Bod#8k`8{i+^I z#5=x^=2bdSv-ZJC$zN%ko+c_9X{IQY+I-RwmWe)d?9+_{=Qo;4ZtwEHt7iV(GVReS z(>-q@w;Qt^bFg6OYq_Mmphy2y(eXKRK1V5W#EP(|au^<0DE+$1Df5Ei9XEapSzB#) z!=E`R?d7)a@u!-fo|QW=FWm9_u15`q@qv3wV|H(lNtUo!#@!hqI_0#?UI)utwU%qA zd7AI6RCWqaJa6CeeVO(G*VfxbE03#R-W%f*n5?Yrt|cDCc)IGc@-&Z+o9;@aB&#<^ z_3Exra|?Ri+!N;Zq(J8I#&*}0$x^rGakFoi}VA2IKhSzxgDVL+-P`)}Rrc3&PWD-AnrW@O}Vs%2uh zLe0kf`LB?ozcW9*ShDl6rLEo6GNy{7d(=;b{=8WkRP}fruS0sv`*@9-2R-xSqk3)~ zpQ1a#y!6YX*`~WTYb|)Z@70!$G}be-->psFny_BX|4e~Bf7Q;yYTX@=0$OXUW@X)S zRr$Q9Lo&HW!}h>)g}<3;8!k^hvrH)^C)M*oXlzH~RoyGAW-=QdD?A|ghV`|TlTM2G%KHdTp7ZOnbiftn z#N0o7J`^zgS@mFoTEqedzP+y81+v!?#2nn+-&hxhOn4U-siGoj&iwZFohx~ptbZ16 zJkK)u(%O?IDbpSp9&>n59gxp9BKYttkG?LhRbyEWcE2ZvY%`-7Z|Ih zUs>n7$>YQAXc;jTLA9!Xp~th!f6edNDzQiQ;fZBZv3q9hp0WP4f{keKpR;AN_FfcI zce?QQR&=Ka-zx?#{xJ1h>oPQp7ri`oG=@FMuJl#53+rFw!(#g+w#3RE63j|`BJ=6= zyXvc#WtS9fvN`&LUHhEY&ROZTmpx+l`kJe32zbcwvp;9zg|xM=ckFDRvG&24MNe-x zZ}fV$cyh_cc8SvopI`g(EPQ-_;%>`t%Q?eO@Ty5}FZs7sPwAPokmqNCq6I0>@3jV` z3(gbl4+O2|vb%6*O*>EY+}APN`%| znzYD?;L|4UJAQ?|TW@sx#@>?&t6I`~p3F0hjJkWKDs4XR);$ebRTH@d82&8iTYjPX zs*|tv0^M8p%r>s_E!M6K`*wC~_&N{U;;3Swo})$2H@>{L@>cZWbgpAF(i!r#FKjOk z^Sde+(vzaPsan7~EO+ZLl0fgpf>Tys&U!dVhgjM?(O-UTq0XA} z<_Rs$U%xC_!Zf?BNmHtFPfMt}h2;4F_G^2Tp1pg1Ox&QN*mKGqciqeWD-D^GTpIrL z+%3BKd+UvwfU8?AOlIt{UaWMwcD2=-^tl)H%l>Gu`LMlh%X^lL!|s=JJEr-rx9M}t zRMq}0bokz`%ojUn%r<@4ckJ3dYio&?vTv_9+0>Wcn-^Wuc$=9)P z<}J*Z_#U(J_1Sy*j5uQ}&|&KkMr$_k6-Jov?YX_tk`kLO1ZA5m-+&oNx))XFTw z6*Je(S9bHgJA0r0Ir?2j!M0)bCYOy2VF85)B%aH@+<2HpLo}vEOZv+84Qqbip57tx zDE{7lhI#?H{f|Q~@JtGwv(7;GvBFCAIlnJok4cMU-Mj0K$MS4NSvCvH_W`{YCK9s( z1Rc`fPqI#0zjOu$BsAlDPHl;hrZMZ?CLB(_wl0-u!P7iyb$-z1w8` z^7X8lsa*#5ck1~wl*{d~`)b0sFH7#WSHs~?XPI_Jm|U!!%_n=z`0eY^Y40>urrk0R z*4^}QYTbwP3bW2%{S#ci%v-j#Z~otfEAF&8xN|goQGXfmBiwoK#W(4DuW@Z#ykh^k z)92U|U7Kgz*3~)5wKC~IPvh}xGfveU`(~T}2N8yjg^rxZvX-v+o$^-q=Dn_^0wogPm%rNND!XHI?`hjZjD2qRgC~Zl zOnBU!o;Vc3WNzIca`& zbH021`l`zl*Pi9&jyC^v>$CU9Y5y4lCx*sVKKXRDKe+#CTzg{SvWQ!={}u_p z2x#N*m$-Xhbjm#b{W~U3`_B+{mnVT|#jV}$%e2>B+9z9KlXE4tQ8gkWPp3%!&fkp7 zJIxjBMgMT;Gc=tzTX1p$m!hTmQfvPotC!EXbnmvup4|m}e=p|P$9%H7?rhrD$jG0$ z+-ZWodIIa-4cSH9FOP1Y%Dbg-g@iEU=lN^JoN^wy_tvCWt+`d+&e+W$p2l^0eqfm2 z*2kwMlqc#aaQ!@`op14HZ}yhYkNz`6Yrm^=yJWD&x^2z#>x;Gs#oW#9I>qu+pdhl{ z_2k=GIx@%VHm*6Jxj5pe)z9+sAWoHAb`OvH^v8Q0-+KA$dZ9BpYoGm=onbls>8%*K zCBpZ19)7etI{NtJH*Z(H59AWxb_F39yGf(l?qiM0P1z(o6eR?~~vqM|P;`NI{54P9h*P}|m7~H@2 z#yrwNpft%yvOoXWx{6GbzgDT!Ub?0N$OtM9$N_5G8!kEyKk zDx%iyax*2?#`?u(M}}N2y}fyH<|3z~Ne}yFC9D3j7T;67_(sRnpQ|GO;I{gY7N2kV zZ!HzlkZFz$+q~rE#2CAUk9%F0?C|mUIQi4+^$sEh89Uvj?&)1t42@+waK|LJEBF3+ zo#H!JCd5|kk2N=&6}MWx{o>-Zl*HXn@)pQ^eYQQX#_QLffTIs>)imC^pU9h8I6uJg zdDrJ!v!6;Ivudcb%H(;E{SD_(sw$>#du+m@Bp4 zC7xbk^VD4g#fbNOp* z+^PG1xp@Vr7^Sc8@TvVASGcmq<&vq(j%^oI`m#G8-WF#2y>H2{E5UhrCq*t>N3R#k zm}L_-!Bact?y2_g9!usPUT*i*&3bR#+m>J5b1fM%7c&$&Jor$*yz0yc*7-BD^Gl65 z^ZDPMmWwVg_W3ybl~v#F{D=3=Pqx_}i*BgPxV|CqzWUmD)fqb@({6n=m33UVF5=Jx z1F<*v^`5`;e0jF$pQ1-}^p2)a20RbucAuJ4YTuifWv5e7I^&PwieoGDrB>@KfA>yS z`nAu;yv@sBS-qQCx%3WaQlHYM4UZ>S{<^HG^q-;CwWeE9IvF8n*edj_oM zHTzWk^l)xlxN1|L%=Kx#-u^o-ipN~)+I-9>&D=V+y|~}&^IG8}zZSo4yD5G;MAcD$ zN6)vF-+Fh8o~m_vZ!@Vf@oLqyxcwb#^hIZD?6Ld2WyYFLWhd#5h^{C36ms8fG-cS=iF{;aK7EydrN zzn14(S^d83=H7h=z9_#Aui;&_c3bC)EWed1ox4mVPDnmlSz+!alW0D#{7XyA?UW-z_p}#oYx7!KL!Zw1&6TnF#eW7~Pt$pwxvGWa!Oxsafl4vkr*#x~ZIE^N@_oIOyuft-i^nFbu4q54+K|&!>-c5O@94MQ zk!3q~_N>W0#q%WjN@(Ze=)=Fxo}0PA=#6;fp7A%|j*v$7QJ%Ea3?Uyf((R^80;-K%WkmGq?%lBdGLi|%VO?`JkO z-ECyfbh~euPr(lJ!6RuV^3nk3&)ic!>v}&-f{nMKacO{b>0hQ<`>3%5!e1^+M$euRb#NMcdDu@+37i1KkBvlw6hj6?`(=Mzl<;! zZ_76k@@d`oJ&5!B%J(1l9NCk;%=(&_!=u=j2i|}Ex_HXj$?J{&{4q(F_qn=Kd6L12 z2ID5fc{5CYJecNE89B|pu&4R_mHwzb-!7dN$#@l^_1I#q2+xu;ucIU11*TixTG|-+ zHdN|fq-%{_>gJsX>6cxXYzPz|t(pYxO>1ERs3MHA< z*_SWljWGKd^|(^HU#0IqL)6OB@~0=({=H}TdVbWgS)Y72c~l;^_|L%gBEqP$Z>nj= z+eZ^qT(#<6JziHm>sj7czJeKnH~6m3G(D+1HK&PDzBlc((fseb|7LqUoFtsO^4;Cd zJFdFzRQYl?sEqG+$CHv}d6sJ*GfJJdmp2zpObhIhN!!r9;jzU6|GvGf8H?BhMUT`P z6?>~5eB+kQWLf0K8_mb5GVkW<4Kr0P3HH~0^?YLab@{13$!mkkj*AFb&Y!1w;_>^m zRe6>VE*}Z{pH9dt#sw^gz)O?s{5mnN;I z!eDi6NmR1n7Ii;Af5+&J5tD3=2DiSd)hdlRcR=`+z+E^;sn1P3-bfVG<^5eL zeMV@DpBvK?!9T0bR4h~4?ukwOTWPmHs_3pb%VSH4Uwv02n|m~lMfX*T2qfD@7j`wM ze-2Mt)U=><#hs1JrwjX++s}1j%o9nuJY8^7VS}4N{alk4FBSDWzb{LP9Vnh-?=x@9 z(Z9FeN|;PKuhPVO-_XhZg49I?*)4s0LULkynjF8G+*HwdvE#W~`<$M)s{=I+XZMvG zKB&5~(#mb}Y9XEl$#Ta{=W0vxT|RzkQ6|^iCC^2Edg_^+-CeFyuhnt>gzT%06FYuZ zp4Gp1z@~VXrNibOlQ`CLnC0Di+fY9@wKeH>0_Fk)wys>#Sfs?DPU(#;xYE7Y=xy^DRkFSfIS;qJH`dVQFMzcAO*I!$d;IAV1 zMQ%x8?Wy9 zY4Q4aU`Wj~dku>fr!Cd@TK5{gx#%q7b-}RqxJ=hs)rmJZ&tK{-<#mVoc#Kq-U!~0D zXM(OhOD083sFsQ@ePMWMNvfz0*Fo=jU4?!RO3V~mYj*x#&b(n=*w_BkyW8GrFX^`U z>2KOxvxeL3?N6JOBCUrzB<&*AZCAN6W}Y&zeCtytyLzdxB6q`q#>RWAjd>pQ&DDI; z9BA>_)MMh3u0%_dnM=;G1~cAyZhA4ot5evxG>?7z-r{uW9c!b*5Ai$3T)n=F?dC)V zk*?Ei-=D3RrepZpL#Fj;<(~x?b52!XGTzQ)lXBH`^8Tuj$@YeCL*E>kSeaU2U*l-I zLCfE~j+?>oWk`44Su=w(?hb43o9twZ(Vecp<#Uj7gPXgkkEh1NGzGpJD?6;s<(Jw8 z$VF^(lo06=WMe$lcx|@Gsz2!ykJ@>tCN_RfTdSZD^4TucUf0A`Ywn4{$&KNPO&<2; z1_$4;FU@h#b=@t_Fuyotf}|nCsd7D!SK2|Z{kAnKPgDMUV&|_=rjY*0>~}(#!taFM z*~ZTDb2$#<$t0t{nPH)vWAx)_u}%I=Hls)8p^&eYqd6$;f-fY zem2~yTyc7mlkkBxPr9DzDykH*)$abA_1fiQ|D1%0vla>qlxse$y4JHj(75s@dx6B7 zTdEtAQ$BThG1eU^`*m4lSC6KJOi$Id`njJcSzkW;g0uCQ_2n)lr`>I7r4Q!q`?CBQ zf1&jHRLyyHJ62ux*|h(i@M(tHqS~z8CM|k_<$R1X!e7@Wb*fKtTKv6TWW(*P2PaC^zOK0Zd#+Y!>FfsoM_SIwhJk9A9ADo4y6na+ z#ZQqpc#pc*gt9f9c-MLEeB9SW5FWV^e*4v)e$#eP^wH!H3l_fY_)Lirn`>bgeUZ33D*DsB3GxDnrnk-ouk?SM#XjZi4 z_a)P_8n@Q%e;hi?p+c0)LC8F6$&>ZY!5%k7WBX;Usr{d ztxLQycY~+$UiWQF9jZ#7uZ@hDA-tU@OQvmNg!`eX&#&KF!(CJv^ZeF&=e(a!!j@#| zrUty?%xn0*=I5!6eTjD#_k_AJdNS?GbyIcI>E8bIoc5gJsi#X#cD7uM*zn%>j{BwF zoo~B}Rx0N&HS=vfpH%2~-oiG^wQGrC<89L!9ToOkUu|D06}j0~EZ zb#3OScWHWy85#^Mo-GYBTebaE_yYN(UsrDEIXzJ_QGWU}7TE#^(?hT4$^W|?J~io< zo4-%;t-UJiXMWZzeBHjkr9Vf9?_HF$rT%t9LcgM`T4IFHC!FMh+ zeAixE?Y6bW_DQRl&YV7btA|_TJL}}OIe*i%IsSI?tWOzV{3R<^JyqH1zbV@D`}UL- zvYqQ5d;RcUepLU~*2qgwLn~aQi?Z5_=k5OZZui;~xoaLzd~Czp%(QUB2fy7bS4{hq z%sFAsYV))GIoCHuWt3g}a6CUbXTo906SwSge$Tq?Yo$ITCMI=;%;!75f{H}Xn_k){ zb2IwSJ-?WG$@j5em$jO12hTr*p`EczVRX^9kD_q}C2BF8MB%sMmkf=q%2hIXsna zZY+Ly*X$ptMr65_@vyj&4;cPltoJ{O@5U9r6gI7L3#4)NQuXV66e=eneAL~LS@=JiJOO0 z<}NNg{xF8+;zs+DhT5v@TV_>@^i4h-Ze|v>cInYaCq8Nm9c1(0TD$OJY|{ClP1`(X zOpCo+^>}NIX11~OluVA8FY?#+njiXSGT&=%$n(<@2W93j)1EErJ~K9tS3YiPUv$yW z<7Yzpetca&*G?^KTK|e$nXTS7DSr-p-hOXyx!Xs*sjD)-OSJ^&PP=C_qxNjg?bVW7 zW9#1iU92xs$^G{AtVaj8OPU=zzU4>s(Oq$K7v8?DG0D?h^wX8Hw`VJkAK6=%8y=o* zlDsv#^~?FJYuhK9{FQy5o>auy8SL?YpZqewvD7A4CG4i*u5{%lsa?8B{99lBXGq$l^C}=$_sXxww|3r6 z%l5vn+gEVZ^NZ4!pdhtp-!|s9{;+2Mqbj! zLG|i=-)#z2elfG@UcC zyME8PZYO$o+p(kwx9j37R1Yitef&0h!m;h;|9qz;teU`J%U7E{W1H|2rOvz`91#0QGVAqhD$!2E1}=JPI-U%r-j{xg}3wk*s_a{O2r=U zOUjKpF8Fd+l$^@LyX`+8?Wi@2eq40X)iU$lv4fLOp5I%w_uW>$?gzK$N={Us;oi7? zlE*v$Vn5%{Y8`f|5|Jrxr{;Y5vO4Tt%EVyl$^*x%7IfTZJ+jki=Sh`M#bIwfKTBuc z-M-`N+EuoWbC1oKy}y7@R-*K)+P?i4lDv7@?jB~%lic}Y$1C5Oxes4li@q^&@>2;t z|CjNO*>(z>;#p#j^!Z#^C$HTgQpA>h`q;6T%2HeIZ1MT|`dC$WmYx2-=_>2Wns3x< z*NWY=5iDdWmrHrr=J>jQZKc=w;sTYOQ<^?ax;Lk6wOjUiO~uKAYvz1>`O3H4WX;4) zns?2AIUM+D9d@*-@`vN+^a=bnUB{<-%sIto_GR@qaX0bU<@|G=E%FY?`7YnG%Pa23 zs_LH(pWZ6}O5Aw1*v_EU^t{9#Gl@@a4~`Vy+qIu1c759)+11(MHYZDND?guewVos5 zz_jaCQ?Ep?tJyXo-Qw%(NK1{oji0}57b(mRij3x;rX%=ZH?W4B%8*!$2T>T}%Y?L9T?9+*GBwD0kib@iLR zthDL>YPhQLmBn+@kN+7C?Rd27qm5kF{I6>ce|Q=9^`rgKNiSwuXKee-zcs#Qk=+Bi zou<#96&0;y6*TGB+4*tq*S+%=rZ3d{y}Ps9dg6iL7gg8gAO6UFV=6K0eMZavnFSH) zmFlxzJiaj9vEklXtKE0>BIKBU*JgLlS+o1Y8_`V`UraYocL_Zo{E@%o=|{G$vRk`# z!pt80%>8@hxI;F-`=#8iYa=J7=q|f0d->c=orQk>YJ2{1cPe%!M4D}6^NI@+&%m7-CZ~Jl*lwQIl32@{9f}F=b8i0r?f-dw;I8Tz z)%B-&B2O@s+DCoXuJ4Hoii*B*e94-?!%}V%dUtQT86OSZ{bTi_*cIERopSwj+g?HC z;t7+gtTw4RLYq^SI~)FFGavhPrz*a6xy}QV7oiNVd<*V>*tQ@tQhDR72diZC&LkvD z+IxM3g=)wbaDpk;$>j?maEjCOqwsWi6Yh_|a|g zs?2~NK__g&-ZpFV8QIN!-F!LEhnMNho&G)Sg)if#KJ2cp{u}i^cvt-0qs%RSw?7^< z-5WLM+K!perLt>h2M9iBlx7X8dLp;=jrk{DtJGco^MWOc&J-27Rb?CtZ1NnQ43iouR>9;Q2ebvUBb&JkU^|MdPe_g6cyqcG1 zT46GKCi5P4=Vl)jx0=TG@|=McPxZBe zMSs_uyND@Y%FWZ0_z-A(@EiNAuiO^;c8agVZn3uASYvXPEy(VpZFcMSHd%FVXR+sd zb|;9>dFUVYEB)cJSv9r`W-i_wTwL{I>W##YuXsyBSA5qszN%w#e9MNmW9$a*QmiMA zTf7ffY-s(tEd9&fD_0C8Z&r6^9`$t4u9mks;UzT{!IoY}V^YM%WFW>p{HnN1RH*qsmpR{q#BsR-0 z3l5y%e=o6q<+C-*PENghU3&Jr=MAhr8y%9Tthl9okbBQHK>A3oL>s-c~6- z8!29Jw^8Q7NwIh3A5VN)H9aVn!~4MOIVI`~)>QAzf7}&4`;GdPrERvhzS2`BK9f^z zvlsZ|blK#_@#(yiO?tO)Us|pEY-#qgsFRh|J8nlQ7g(w@cYXZN!051R+UC+n(lfo= z(|+FWYu}nx<9Ds@&ud`9HuuEqHU2 z^Ula5*M}iNn*8ot1$FL43msXZ{678V%W&lh=eLPj#J`t19bGmlVD`p$d|Ib&F9{Oi zOPNro5Z1BexOCW5x07z)l8i4fhTeAl?ZI1Ha3*8|lMMf{wI>dVh80eVmUtPo<>D6) zPoG~G)J~QC^6Q(tCgoxO$0ysglcdXA#JcW23BI!P(C_3~E0v>m-j|7v_nTIFe+CzidVoT`t$At8n^V zzAyK4iP?w4YCojUxv3}qJ||N3H!FX;4P%&f?PHrKU;bzsP7ieP-S(lAtDu~(`TD&n zXBTZ23N2djVB!JWm50OT?Ao(U+tQ}#4xbfsnElp8GZxvl1p3^xb~qv5n|49;(cX={ zN-k%f`aL^e{7*FXYp&_i8{Zn%2ZRVYSIv*=-I{AZHM(e0iE4QB+rX`V=QOb72p_vQ zW9cc5je1KLdvd#~*c&`o$vx|`+}XwHc$4Q*-96i$1@60j{=n}grFl0Ny^@}>;eFP` zw~`D34re_VX-eb<2qsSpzFd|ivf=8jz(T3nEdg~O4>f;TEg1Le^d<>8``I?R=j^45 z9ar9QSHJa1S*9noC@Uqy$K2Z9_Ai1zOFp)s^#WhX+!l>Y?XQYzV;~1byF?s z>YjG@PrT2yw5=;%-V$xOb#G_s)93@O-wh8c%V_mIxiU?^W9wSw!`qU6$EXRs-KKGU z(%Tyhw!ZeRSDwz}{K~!Cev`Kr!$!dqenV?$J>q-cCDD;|IB#(og4S>na2NBirmvb zK}=!ew^eVyE#sMPepac;S7O(hqmEq^Kf5uwtp1S5)rvwW737^gM zO1ETq&a|}E$4hkSoi&!aCy#I6>l3lSCF7XG!|1>3qq=&RzUy3&eSY&%DdWo1J@5WA zNM-qp91$)2Cm*#z_o2s`=^O@CtLFT3TBx1*WMhfe3>&@$WoKRTujp7sUQ;cJYi6b$ zJ~N%M=#+9ML+Z=(>x)D3-e2Nanwqn#e~NyX-PQQB#$K0fTxEC9`Cvv!U-E%EH<|*r6{65fZd%D(^qRQFaDP{6gjl8{${?)#DG2y{m?$c=t zf2&URTA8ivBQ2qlEI-%VA@bj~O=*EU-Wcr}@l!&{HTnxty?o?gr+w??6>rBI(#~W5Gp1N53+Y& zbv&=W^VhYGz1}IhTx%xxMVzn;JntB>F^=bWd#LXb4P_no@13hRpUhXP?0K+3UHSH{ zr3;LuUIiMTRAD(F&97jiZSJR)l(a3w+u^#jXO6z)udAHzbM+?NZoertr}5RjeP36n z>J-Ut@JPL}*g~f5`_csC_obXmj;vm0lYLpWA!gRR`vE%@v~RCt_p1tu+qbpaq#(-W zJF6$h(z?KRSrWlfk!7(ec{`shXQ;Zo;j)?Hq;QtjW0oq#J@dBCRa+OkY}=_*A&(V4 zAGN*t=W2(*qBzF$0k&DYB3pTl*3WE{-qvTA_iW*!$zsOUl6OTkx#rKDGiOflJkF>G zvD`NgW5==Lkd~XSfj-9~)^e#@VR6Ysx_Qi?pkZt4pE!e>!;H73?2 z$;j}0UpGs-@=^EGBTYuk+np!B^-j#MFFAU3V$H$cv&R^|tyF1C##f$S+cM{-r_|P?rx(QyL$Zbt?7{ae#xVm*$=$)n$w>f_D zRr1uXV(62(t<@b_p}g=_?W;FY4R>_kF=;X+|9(5~YhRf5GUoi1EcIR!^GyCE`K-Ig zJ#mtucc58rX9}O!F&Ty;j%N!e#A?ZJzOBWR@?Ks;ZtI-w0{fDq7qIj&O_dejX}Y?6 zrH;pK34h6-M$6TicZ%{fO-cKrKBdLr_l@Jy?MwYl-(FGD%)jC!S(kpS@H_+8iSFR0 z>}hBAr{^#%Yz%y17;CxH&Z9{>-(IoYq(yLtT%m(xXSqqTTqIW|k6TgQyea<~w%#(C zmveE!0_mG3RwIXfU+?}Aa@2_Cx_zqoetUh+8P-Ku!vm;*yy$Ys^3i5s`v+Z=V` zwF3LIlPZ(nWF5H{JhM#YlhuZkMfTm7Mb&4N*`IBmqsOKx7JWMT*)g8RkMnbaRQe=J zHA7rpIN0Q!BuRl2u$rP!%mW>u4K%T1kVy7!2WW7x##XDY?l*PG_Q{gpFKC^qVu&=QUC-)GLA z%lf-%MWxJ1u2?bE#rS+H<9)v356nRXQX?RED1$h`Anjbsf!#u&g=E`awfurh7wnt?8JdbZR7u;mhCLvtVyG=%L5?|q! zf2A^I&Bdp4r7L^*ieJvl>h}8RwW;Sx&lFqMtYeop2yM|-;z@1ivaMW^kvUam9!JuB zrH7m{jFW?1OVn6J<4glTJrSJqE9lOBN0uW;Yciz+6x{WWRCf;zBewQx1 z;7L!i#VT>ZXqQPI0WEhJ11e5_SvEn6yL|4v!0? zdOt{+e5c&>jN=lWqIZ>%hk72Qr0zYrHsZ)fqrbE6_=QiBcu@R0h_!Xwwlv-u-&Ux! z%H2I1*(B}!#4|5wIdjJ2c|TW7cD}S!;dr&$x!?ZrS&LOChUh-2ocMu{ zPekspXqv>5t%{E~D)#%XJ^tFWd&bpxUN!UM)|*O?74{!n;%hmB)%A17>-`fWgM3#_ zoutU@mJ-J-$MNgR8NHhU?v_CXT+IE~7I;p#-`G9pBwGmc?mNGOqYqE;knoxprS;TX z`22=d$1zZd5Oi!{U-xhcgGVgxWjhXL~ zCzu2qSe(017aS^@_f%Ty&x+?yZC86YrPZ$Mf26H(bdN^Y!gJSjr!xEwyHX}~XQJ4= zyD`hkb1X$gJSJ)g-F>exCtYc6wD$@pm5g;!@i<;KulVTSBl%?%xTdl3Oo2J}- ztq|3jM}{FYEXW;KO>)m)t+#vo7D}y{8n8Y1+^aKUW~Yy2J+|4HJV|SFL`(}W@0*1Z z6E9D&77kWp`?zzi*P>&4=I;^-*>JLK(@fRPfA3i;TsJZK>2T(I&`uj3-aSw-~ zPxm~tk1wMH@4YrMe|OK|{grw18=%jGBAWMV`5{NUl4O*T7f&<6?q|ytB}_q69Pjh-HPHN9i)v4xvrZ=N&!^oz?fLe@q& z&RVcs>=3){##rBJP1n5)wU0@!!zB{sC1UEI+cGjP5v`*{P4T%TV1_cY{$+_Bh}pI6=$y2F#=y_0OpY+o>%Y~lJZhza`ZM3-;E$y)8R1uyd92-*j zQpxxmOT_Pz=lx!fOCs`fTrRCSDL;G1e1kUT3k_KflYO>0Os_gA##IZR^^EYvJ?NKi6G-uD#|*HDl1X@Z$v@N4d4{K7L~^>=nH*%+hkT?}UqQ zCq|w(_|M>Vv)}jTYO`%+7f-ync9C~a6T|Z_>m|Bf~SYDPvjQ-vQF*Rie-O?O*H#qzS2<~g3VTb1C#&|4ulWnOg?+adq0C2pHvr9FySG|OLP!Q@yk7j9RP zgy3fki+Z>;Eg3EqMw;JxHhKBV?9(eAF<))V`g1VSYwA5)ZS&va9=gx=&PhFAv|#?V zomp4QH<@!-k%k zZ66zKMMCDKuF(2zG#f@mX3-O~Uu=E7 zxU_WnnI8vkg*H6DwX4?pV4dg{`Lp|fyF^Id-m$7De5S_k-^cxRd&1if>uMh_ToHd_ z<;mOXQ7h%Ysjfb%+q(7ZU~8AAzBKjKe+EGlYgU7o z;fCAJ%?J#%*4-)-`%A8{+P3%UneD+p@;*f_QJHBj;Q8y>#%FskhbhH-UD1u+z!R-f za^6-uIp|0GBk5^urvrKuWw$+EzqV-8kHwE{Z?|sS(|S^cL7>2zzv_JWg^Nnv*@9Cg zwqHpqoHMD&>Q~wVImLjY@8VtaUer&`ax_0Gshl$Dp3byWo0na1U!i_)>%;nPv!^N1 z(UFGN735#~ss)}~-fL$QCAn$w?-oA0tt(5{{`kplwv>fS zcuq@TQ+0thn{WA1zqeA0L=z_%*ll4woxl1=i zd{gaKK1#czI{jHf1^02;RkQDB6)B`ooL=zj(af3a=HCu%?>^%w5PziVn#ra+(Tg>9 zTAcU!dcNjb%4wSgt52OjpU3&@(V|alLm1wLXS~Ro#FVyk=8RQmPI<_rGi{!+X0qP5 znuQNEAIz_sv9GT#GA-bSjPO~P$KKZUmul9%Ztl4nv7-63iALgfMZfAV&(}Jo?dV`q zvylD$H;aAV(T>|?J&p>~Ooi{fcy%y!uiInGC&e$l4ySCo7n2xZY4LjUtyTGD;dej1 zmD^jnTzapF@uqw0#Ne0Sq}C+)pK+_xTl68SNf$dh+Kol~A>hY|A2S${sAgo07M* zwl`qX<0Il)t8!Zkn+ig{EiW)rJ0TI79FoLV%lUOhzUt=I{f}Q~%`@8bT-M)o%7twH zl5LaTNME*YvygSGeRV0L-t6Tgr}si+$L-#_l%Rd$ssfMmvU-Vz6?#< ze|6i&IXnEG^iAFVZLX);X(^?hZ+mi0=dO%>EwrQQ?UYWBhwk@8-Z=W5{K}DgNApze z8}sKAveNb@6rJHv5hy-?X?D?vr~~O&)(f4xrmACecngEo=a`&*T35E}s~tYH&CtTW z?v-CK`$BoYEk%tty-N~Zy=NNuIrTk%p}8pYskVH?dFA{VsiPY%E!%v*wAB38dUw^$ zQ-kLfzKk;5^R(v7TU)y*A!aYr5b40!%5#tEeXbZO&9O*6sqpz&)@J{L?yXOBtQx99 z)SOk$EG_%wkx=)2ZRD)I{Py2)Fq!_fB8D}WTdwh z|3rV5uj+fP1&dzJIkD99`=87g+okO?8g>7~Exr@VGArU(NX?FO9?$K)cIho)*E+J# z{@2$q?rGDsn*#TpV|G8(_C%;Q^M2|Mk7LRX@qJZIzQL3JeVk_I*>!S9W8>}XA~&A4 zy*zbNXVWQnH;I2CSG;x_=k)G*y?QE}{PcXu#|zfwnmkOD+12vh@N{v>nTtyOGtK3U zYPG7@Z@M2>skr}Q@Jx?al2ye4hm>~|m+e_ByRpgOfPT#1jHhg8t95m5sw|npU$%Ph z;biuGTDNX`9ITn%BYa`<6~3=dmXg~WIVY@>DDIn^<-TL$6DF4~i_MqIBKWJKg`Q-4 zF29o}&E-`%P2sWJp0JW@aSFNlB_*5tDp}F8g+DLP5}%O6JB4|HOmKp4(KaE^r*9u# zw>)R~&)21cBP7+jU)`>0VQK6Rb=JZyNlSRjWiRF1@;?q>w|p$QcHw1(-glEMQg-*I zB=MhWo_u_5;D;l{Ke~hWd_1;r##>R=y*(A@URm`Zrd5|xo$xcbMBD_5Ug^26_tGk3g2rkN18lE4u&zDf~|ZT^OfAL`nE z_1?W+?v>DzeZ^L{T@EZd%3&d0d}rdEYg4Q~y_z-qR_2D;tG)G9XBWy_{u6xN_iX2T zsn-g3mmi+bYV2FB*qf4iSS3)-kIybfAbb6VFBLY{%Z@L(?Q!``kI$qzHP82EbDXZ^ zdbUhlS>^GS(iLhu+s@7kirCZ8aO5jPp~t?MmSu-qPoDRwnjGO>%(t;1Wt&>8*?sAh zW9B;^HoQJoeQldyXTtZOto$``(KZ*ob_cAtX+D;{x#?5(0?Ean_W!!OG00iVCga44 z4a`%ykDsy43S;EjXKrZ0eSIy1Wl!Pq`9(WDj>~SImo0Tc**MF1U!>z>nW<;Z-Y(s{ zx9OIp+3nkNKlQENQzDx5&m;Ee-g#HkEt7j{=Dtd?o*ZTE*Y~t3~WuV{_Gdg*(rBsta}pjbeiEDeF^3(*JoC2e#Gp! zCi;i=VX>Dhv-)Pv^SG_VRC&;r^Wd{hd$J#Qzuap2!M>4kcK8lfy}Jb$4@&c-%$vP> z^@sYVoIU)@jXCz+Ty;nO{@E+@<9uV1b5l3OywJ&6x^YuStj4VOKjw?(oG!Rj*}-5_ z;D3r&DbC0xlCkF#({qcZeUAlOZty)lT`d(RaU*%>nZAMp`(&$`|GvuhdL{BR_0O3H z&(~R9Jvd!nt4)2U#rbQS{#}&me{zaiiYTa^6#T#J8KC%I+^-?W)(C zamneEP4!at3<=AG!qE3M-h5FS&u=VAU}c@rczI&zmcLU;yJH2%wFY(+Cn`2(_t+qY+_yj{e=R1$p6Shr!EdBK2k}LKbO{CK^^;8q5PEwUO zP+s}%XqDdNkHWr}a%X#euKIhWDL#L)q`E$7*)-N^Of{`|!R+?7HWyNK@UY z^2{{d&srP4ztO%}@|u5p?z|*1!($N--K+)Q$7L>xpIvOSD`nBYe_u~`&Uxza%Hf-= zVe~YyIK_`4Pla+jET=5E)hxSji`UYx$vf|!UJwjh8L{m9|zci+ZuNWBvxjhwXb%eh5TEgTJ1@@KK$GIk#Sya zUjCcCaw42Og-<+<)2FGFNUROHymssE*|pALVHLT3fsPg`a*uYu&@blfO^#QxJ-xA= zk>gEu(yY02j~Cm!Tqs%38_6y0G|`cZU-!gaREr6hEGHZ2xO%o4ngEG`*JI zJ*!l{{nx#TOSb&ex~3QO=~-m|jfF2a@+aPB-&=U;mF}bH9|{}v^%ff3*M6?iJx_%H zbF1@~GmGb*s{ZS^UhF?Z z%eVgwKD*9Me0u+0?8XA|d9|GD?wx+PZ0TwnIo*#_4_4*{?3woDp`gD5`&OaeYfrUh zj@(ncV&h!8WPh8Guhu)u7}r8IEA!>fXRGeF+sPfz*14zhvGvKUsZTPu_@1A>f2Z~& z?cS^J5;uKpYfYJWoOkaUex(iZdrrAsa<6$lIW}+g+SgTGHUh`LW#sueEl%~{rY*TV zm$m5I#z*S2JWOI)17|ksH5TrdwJKjPc3CXf{IS|h*30QqwK@mU_Z ztbd>01&K_&YB%+7GQ7*Q7H0LyoeAFQfl6@P7Flxb|I*=c?#q7f$YRat~N}r|;^Cdq1{r-J2!hArvFY z)fA!C8u!MZZPl}l7ITXqwRf(2qi17iv?lD+ioWFI=k_{0pXlE3X06J$X^~~_s_V=? zFerQxJ^Xspfm^p19F|l|y77Hw$=$rmo>%e`<}UedbBc}O+%@+7TZ2|yJ9hlCo%~f{ zugm#)@hv@|PV;$M__>W;!fw$XtyhMoCvR^pFm5oMwZ$tv zciF4gwqL$ymR)?;=@|3z)9;dJ+gtx03Evhjl|LnNw(6aSo-%LMx7EHrB{)rf2LJ9W z*Gm^3TzdH7(w#}K3kwzX`)5X9c)V53F8P*?<)gFiN8)t5&P4=WeV6>R#a;VT;rVO3 z^t+>aS2TNU*p{fA7d-iL^ZPjchtl6J{qbGyo7-;}6zW#FR$t`a*6*GF4wf2qtQ9f( z;K{@1Z`v|%n`~EAPq=2e-i&>|E9ZW1mDig7_VTsuU!-qmuzWnlHMwQBT=Tu1-Dd;! zwpQvrKXM|pfaA-TRoixLzqxGZPA;3y&&_i_|Gi|pLR0LIZ;3<6cJ-&Zt87EQudDaJ z_SPgjdg?CEdrAD$H_u&DeKq=SqMDFSX4~UTo37~6?U_8242u3V@iWYiD%%;Z|07a$ zcJ!`&S2uigWzdRASNZj9cXhnd>7=_GIgVRjE!bi6_`^D*muE6{3{S8*@Hn2AJGRpI zk@}>oZ}n169dZmi8`ZJ1?MHXSr0Aav3diKL1TU;#8+~cnw(vdPyE`r__K3#bIlp^_ zTua)XPw!rwdM?xRZ%VY=bV=R@hLd?eWIa~*cuZVbTX*c`6UJ>5Tc0m2ep0*X&F-Eh z$@b2k)*4g)EK{xG`TFZ}?h+5t@4QD3%GPH6^hj%tZP*ufRqpZLzC zaW*tP;$iF?BRAXQ*H*g=`7q3~nfGjk=j5MW>wbG`8B~5>eS`Pu_7CN9TR9mR8)|Jg zdQB3%Ai$m+aN6fm+e5Knt@U>$9+aF7QuH>HV6dKNRBN}jOuAv(Q+NJ({#!!~JNx7r z(rrGT)n-mHaQ}Vw?Xk+GvmDNxvWt=9eCap&q)+9h2Xcn}uir=JD{o`!(XidQY@*Vf zglU$^$7P-^`J@yil<{p&&E0;H&w^YkK7BKedgT5~(>XHz`Mi3qEe$p0+$!}uRi_jf zSuUv*X!W0AXkqyx%cC*znR~94F`vtGPR8oSgX7 z{rj%4M!Dj*J-GpU*|(n zS6Xb3?tc7v#pvEC32n9epRZi|xI9@?JUzMX&e6uRN#4fuyxty{x!PP%`TS+%X4&KK z1!rAV^4etl{C$Y@kAo}yqt>g7STr0@sFLb1I9By&7N6&dgG-cUq-HaGEB?N+asS?P znG*k|O4l6by);97ap8?eYu6l?_K!QZDRAd%#oy0G7z<8$Jl-3gcD^o)y>`j^fGpd; zwyrEilX{+Cn{z%;Ol0B4v))Ov-#eDg(@@#IV0p*)u;;iF3&CAEO9jRP*Tn&p0}_4w42PfpQ=>aI8DjnW~i>)r7o{8YgxM_ zJZ||bH`HdbpFXb;G>vC(<=Y6$Z9EgVCrH|b*)+a>rzJG$KLdk=-Ihr^r6s=p3k_VV zd20K05lzYIizjDT`&us>es3@@e;F|SplVfBh^~hGwY3VWnbMZ$JXYnFu)SHF5_~K4IJ+p@ zpUM5RWmm0XzUHWLVx`!<2isn3a4)LWOy=Qd5Da^)ceeF$zWPfC!JqNF^(v0%N450u zg%^qzp7TF_Vwphny~zx&PpW2ZTIJH(FLIRCE}k|97VJkUW8ZwtR`yEb^ zYics~VU61}Yj4JZBgHp+1Gx<6e17>i>rCp7TQ?4_tLl2e%lG4jMuCImiYUh)zb=;x z_sn|sWCOp+)tu6o4yv2`n&zzT^Eex>AeJzrsqDLiy>pl#8@mkORIzI(LnUutTN};u zXL;L_M?u<(ca8{T-PX80IsA#olE$V9YZmv{uT5Uk6OyO?qB`iQY`1Xq*2S%*zh6nn zuZ`HWD|Gtzov8{B`mVY~AD@vs+k(3xYY(6D_LSt$>CAFdy;!8aizhu0Z>StjDAG|Jd*em`3mr9NAu^W>AqrV+-B+wH67O){z9AF8|I z+Y;uxp=r}hl1{8~S7u4RwtCYijyJ_$SME7d6k{O0)6({pnZ41}$0oBF!VVj&pORmv zDKUTdmEc1=C5}0mtg*fl;oB3i+RtpVT4eH_-jkM(O=C{5pYqFk^F8-lYLju#r(-LX zICLXaX5UE9t60{&)3f-bDZ>;ursk6`13fj5U3-(&u;qeOtmG8f<%Hj5s zKci@1P@%pw%iU(d&vKbXJ&#|%j12oE89j;X>dHv2r$!ua18yd(77NeUZ>pafR*b}bfXnb^ed|Jv7Jo^{Cc(=40TalQ^TIq;-hZtJRv%1*sM zWYX3gnH}l)Pq`;}0YlG@2jwe!TGAB?FMMB_!xg;kdg<%t$RI=YTkFo<_}Te7@{?Jy z2gm8>T@HtLF8iv`H8DxYHQsQMu;gk^wycuvcjtUv%U$6yIeWcN`pZB~UZqJ#x1@CK z<`Vw2Na*YViPgp)8}Gc2QxdhhtF!)@!p&obf3wAvrugo#(XB3K3C}o?`*foJ+2bp| zthz3EEQKxbj5EXUt7na)XM63)e7mo#OQX*X5rw$%hRC+i2LE1x<& zIJS1{u8%=&36AV)tDbBzb#X1z+F&`?h?Z_vP4H#v^%-4026Vf+GZd!?ZkPk4J6k6qfy)*&_Gl!_m69EzK6o z*#BSs$)<8wk9<{jFTexy$9Q+Lb_&9H!ioe%zIUu-jW=VHWJ~v%@!-DN!)<A@j7(#R)PB@iAYPNv}A0Z&PJ&Pp!5duawd4?I+x0CeME!uC%q$ zNcN`LH`~`CCsL239Voh6t9i{mycRX*uu$pDlA^Uyx#`DPsM40rap58Pk zeI2_`Xr+(V?L7x%9=Cn@BC0<*ms@k&xi>X${Mi;)ESQn<@YE-Z7a2Nzk#8Rzd|qA? zX1B6DQPHsD^x|U<{KwB^hh7w|uWbFE#9Dd0!zTY>t(In@_{Nw!&odp00=~YEQt94! zS`}!$c>qT|{Ud)&nDpC+W&2;V3 z7jdc|Wj-8U>JTHM_g48sm-U=kx61C+toZsi`4Q{fRr;rTd;Z=Jj?1lo6k8mkGcD6* z_r6!hIA32jy_4~ufxC%OZFPyd@(P*8xS7i;igdN^pV`7S@ymIJYeE}smiNAl=QquD zNsl)=%*``Zwy4&(>R;!B_iQh!RX1;*aBu33Gsmkw-k&#h=hKIEncVuz>X+IV$TG&S zuR3?YZ$tE3^>T*CvMc(m6Q^s>-D`Z|TF$IVkqxI$zF?Gm@;fYJ$BqdbEGp$<)i^nJr`_zVlI2w0V8GNb1b;2Orq0nqDeS zkmP!se2(4ciovOKjCER`iJen+C~m&IUSw|P&f{4H9>>xO);`xeu>Z>SGrL;ne=F}) zZ#fZ|tnm2nnqT2pufJ59d&0O$`@lcNm)Y5mLiY4>v^ngwe=Ap1FSSco?cy5V6DG55 z1HI!kl+)hK<2KKl?lJE_!{N>9w^EFvR~}j+bIkbG(hrw7-`Snlyb~_%pB(!ps>G^u zVoUa<+eQ95^->|vWrNN9o-JLrk#BkXmfKr*^DUM=xx)1HYYiRgx05>l96iLhd-kOr zy~T%r&1Ck{Ge?RN)kvIrE;avT(U?BG;IFV~e$i z+f1FdvoRaA_ix~_3O~C~@57df@t!u3odNR<51PJ@llyqTUGAJTr<6x(kdaJ*pVf8C zkJd+`3NET_-yCu8xphlJlUp{AzKyo2>dskrewN-ot*$W1!c<3GZ;hlM$J>y(cN+IR z*?H3LYnsH&Dcj={@9oWu*wS~~`=iLUvP%x!iRUeB=2g%7I#+Q^>&1H)^By&MPv?2& zIJwDE@?Yuaos%9JPH|{ne)hVlih2GswjC4a@IO2+dfuYrO^tWa$GumlgmbHI$!*mz zF#NjqKLhhk-L=$>gUyW1`udRLY|uV$Cr zebdr9=?^vKcH&p&eKO`fdgy(Z+s_8OhUzO$g}yOv`GxlO=_66U*ytgE3+rr|takZ=79yVlV zsOEb9+-Z$>f%ZbrO+T9~J&Nv4y`C|BqO<53HI+(L2a$=FZL>RHM%~K1Yi0Mg(L!0i z`nBsi<84-=&!(s6R-EFBv2e9+%$c{O>(}~&W)~xVWQp9qx_N$Z9OJUnxhtY>zdTYb zo$C4ZY_0NAr)jrb%$7V^uPpO1#^UCRW5?1hKPtya&ZoKQe!{G5`qwQ-SRcogQ zW%qe)3`{fqR=hYSt;4|aU~6f-(A_+f3p*5CijP)pZ#S8Cxx`xAMS{)tjA37`Z>9MW zl^q60CLDdnbi6)?@9L?wR@<3-FMRp4er`jGCd(i8h~TWFD-}Q1$rQWFgz)gS#sCMxTsUd?-ENhGFl<$bDuXeLlJV?M*rU=FQH@ zvM1K+bKHoJ>%KjIi*&Vw;+Y$-6=fN|t=GJ&CO+L*$42e_bh)NQCwo|2qzfKDxjp&q z*LBmwHFR=>8Tg*dJlc89e*)W+36^WmMn;=GjIUymb~D`aeR+XVPwIpx<$txBWV}SH zHXhA7mGqfkW!XLU-=Xs}CVCf38_OPTn!}}A=F=bj;pvuLJDV>3bN7zecu-zj{&nns zhF+FgWsPFfnI(cxC*7{F_TTH8rXyIAYsR!**+7ruu)eMTwUvMT_eVV2>uPyxH-qf- zbKs>yz{s{)%gbh>xge*oAW|D z(#r#{?Y;l-KSO)TTD@bhgZFNWe8zEBFt6*z>v!3+);4@zy?gc9MBi_l6*C^4u5`#{ z_$IMVEP7>1mt|<#`=r8ocUP~z@?LpId4E(c>*na_>8CdT z)p8Q`UzUAa`N~4E_1OhIKI!UDEzTz%&6L!Z^fWs&?L*#lC67m@>5g+43^>293wrHv zdC9KdCWWbwf?|{3eqH@f(9Fy z>Q4iz7@cdq0&CA(Z%nYNf{I?rwr_m4VdXAYx!fc@ zo%bo9H$FS@LKU~)=*1vq~pSLsh8Z~d{)n;FMxHDs}&Ea{6FNB*+D%#C0 zTe7R0MZb`z?DfPs@=@Ean{9isKg)@GPVb(7rH5iq+}gJ~ajD6?sOfhnUsk?SzV2(> z>9do(JIf}NHMs{_oDlUC6)}i8ZhPqDq>IOvXB^}6&HB4cVnOSf+zFmPYyW1=pUGx( zC2;DCDyeCnIn5kPS#Jm&VQy@8mP~r!7NIm}#dC|}Y74uV&M*W>ujCF{ekJDtd(sZ( z{}W}tYvuOlfN1C)!|(l9Lix9zIcCYt zEO{{bg>~cmsKE2w9%rU4|K9!my!s8nTT>fO#)jpboMC_ct<5|Kxuy+&!dJ&RK776O z2K%fQP4#C<6*AWYO;0P&*rxwpR zuv7>?Gf!}9ZTaz8eG8?gSDT%wc-`|kR-!u2cWUvA#now|$^RL`H*g#{AGD`#>qfyz zuN3!sxnIxx&mi?w?v!JJl*wb24aYpyHmh9TT6yAjtzuB!d&iirS?`puEb4G-dYaNZ z<6(in&-Z1gl~0s!Ui`Br)hb*$aY_8`<>!3PykR)+V4J8Ra^Sq1UYlo<1eGO^A;4(u&l zk){3nd4n<^yMm0|vyI&6HIn7^EEPMIXQ^y!PCm|haq9f0Gn_B)o960n4VLIK^Ss_X zfA@hEx<)I0`#7IT;Iv_sICuG#ul_Byc@~!fRVJ-CK68%t`~Yp&S-&_A*-u+NdBTp< z0cmZ_&tmm1tlnMra0^#kP7n9$%1Jlhn@aK&+!i|Ec_8urv-R^HZM?G2qGIZ@Y03W? zIQnLJbb4s-o$}zXTXyu3e~SBmtbN4#p{%{=Lq^!;q*tYu7U$21?cI0zx3SyhToZoY z1J`bq&J#6fd}hf!E&0wYU*phhv0Rhexn?IKUzYu6NZZosAYGk&Yn^j`#))&ABqiA% z-F7Q};Tx#Bq)hK#WZjZ^_FBQk=^LlrJw3(dbE~Q6%x%8=PxF5(4ZCCanXlgJY`x(^ zYdseKW9;{suXmMPyuBx>-afmzsc~Q6{HlnzYb`651~?x4&+zryL=_?KcILA?c>D`? ztW@5bRCdzpN$K(WwbrQ%5;plNH{Y_W*XlXW;uNX-Xv+L=X9M^?Oo!IRI~U+{)aT=a1M6WzP+${$xQ&R{%q@)?80$@dNdZe8&y41bRIq+D*2H{h%b z+CTlNU-ct1myYwV4&;V@JFBp#D>7F6-Qy<5ec(Zt3EytGyZ6}V+OgC9_!l}vP;7ZoDb2sWLa_tq- z{MotUXXveF=IypC*90nLGO%g1xz&BQ`*OtRern)0#x13%WuC1(&vfcuhC;4{`i9j4 z-l^J3J||Y5dwaa+Z>I0LSsQjOUibFSgLHeZO^X7=?w6Xk`IN{yt`0oZ$r*f*_h5c~ z)up>>YaSRKTg9l`SNJ-hQ*p*V{u#~EoG;v0EV<}XxaZU|rJ{W^man>dhDU6vL4{)9 z<)0U>TUAXpKCW_h9@88i{;JHb`!fR`7oKB$Ij`CFwONCxzJ!UmMo_SCFl1>CGYgy z(%oGk^+1{DY1yY@-)w11`^r+e=UfiT>uP;7`Ylc@j6OYicPZ1H>dK+ZPlN!Ri z$}UFk$*)9Afr=U511ILri#+YFFvdQ0=5p9}GgP|neOzruQ_&9Hj5D0anKKT2 zUAc5$;?rlgJ1mpu$nbkPu5c_AJE=6waCgralNn4tDRnQwE48fJH@GtMQ|oOWxhnAFzWsVE^HS!wZ@&XJ|GC%v zC+p$RiX4s1_fM@igsD6z1i?)6#oxzTWtniQM9PjCq7kQ(Q$D4ZB!1R-d%h~N+2!CP-KTvwUubT;7n2*b`DpXa&Bw1bs8rAHHd_5{(Il@KFP0yT`zw41n;CpUr zvnXSCY5JLqkOSto^xPPsu-dxqs?>x`sZqKuOFW1!8mawLJ{;6FKFP>MYd}`lTyE^aW!=x~U zjVMqQ}fKso@LMuPqV0^qyLl%W9am?c zkhSFeN+I36o8OKVaahRwzWT*Oxpku3r8}GD_ta{}DoxI+Y;#q9c3!?!HEEqYi{PO{ z)+i)e-|%hC9c1*J`ot)}E=5*lv;J{%Lvbs&_u^+uV2@S$9`oox0bka@yLQ zj*f#<|1<3U5tI`eTuT6#jYU-IkG%!pVI#Uq9J1|>Qb zcjpxb>3nyc{^f_k;su{XcC*7Kg- z68YQjdd`zcH~wn79&K5i-2AHWLcq3Jyr=l>%%<5){prW+dfMT8RPZFJii=a2r^@jB zXNW2~yVSrg^puCg356oxG|z=EUp=zU3#?@Q^;g@8pZ^xe1u?-LCsj(GFOAYwO06!t z`_$|Z!|iE5{i>edThqCAU(C^G?aFpH-iIu^_~mHsCGTeFW+z0yG3s9&Q*(iogC$7ZM2VFP0MiV5$*=_U#?6&x>KdroXW5C9B20wpx zzMtj)c6X*>=V7BS=Rc;+5ZQNsm55=Co3y(1)WXKM;R(}2rOQ=%ZS^|Kk=C(U#ILw(!J@l! zL#D^Mu~p5l+SlKEm^DPE>hYbcMGbAA4k)|aODp1JC_KJ4I{I~{)5)j1WlCfUL*{I_ zaqY)XPnGR8T~lVy3}LW5Rv}@zGK0G(SGiqULTi%y8UK4v8fTsVtaGz}S`UZq@#Gg- zVOw{4T#HosDbU8)$8TG)>bp^dtF^nz?u%_jdp8F?GO^HI+!k**wc)vX^Vd~xbG&rs zXV|}6x$3D-FwcgQMjy94Uw>_l+X@bDZsqjL*RNbm3vJhFja1TmJ8_Qiq4`l4`1xlx zaWDGy-EP^czik)0J#`xRy8MG&BY(TLFsN)^kR}uKRN{x%&xK3wg;t)c__I=P-Q(?w zr#LO{oPIl}IM8h4a&41LnMo@dYMOVfw7XbY!mw?F%BnvLcbwm8(r~=*MeJ@*!NbRX za8+>a+qybGA&sftI?wa5+|)!})06RM=SeI&$(+?V|H!o?Rdq}ACmJ0SDgD`AmDyxG zb<#~XGmp6^pU+xex@Kk3?&h9k=C1up(MRX&EY|q)ByH8tTREHcr%PlOPLJJNdtlLn zpzc67)~Q}C$7yWI_RVIl`J~6Fl2A~)pNmJp?aakPoIUAJW#%tjxbEilskKK64<2>kIdf#f z>0<`g{cBmJJPb8bPRJDaKMy_-XM0H?cFq%?FQT(~R)}bQmpu74O7J}MW>-bV*y58f zzpk9bbouAIgJ-NmJrsl||G0cBGN3i&?z|lqE4d>kgrC>Blc26F_iUxnZP#hZJAN5H ze;venf7>06&q|%Kj_)ejuPx~h-p5`UxaYgggKDm0pBJ3``|M($uZNmaSV)lL0d^an zD@Bc$9qa20H97-T4oyq5*JF*E=bPu0*m^x_(Y6X3sRPrDo@iLS;Nw@DvoEKzQAKOV zarVnw`51E7ws%DFUN|o`zs^zAE!z8cyixV+3uhI%LT!Hs=e8{sp0D;sF~QB_g)M9R z{groROg1)!u$?MAUi0hnQ>M2qQ8hhl^{$;~`7XL#cj*fDHwUWuj(=Pi@?us?_CCvi zV|{w#6ETG8YjrII09i!^OY?Zsp+nA*< zblc+0HBGHDMg~!hkFqU^dwQ+8Dl8ld?{_`ROSv4nF=JBUWm&C|Yx;{0>F(xChSCFBkAshz2QPHl#KG=om!uW3UT@v0 zw+)NUC7BwmzfE@Qy!v2c$f?iw)$h%^bvwEz@}_Z0@>Aynrc;-{tU4|5u|=9gddBrk zhO3I74&PC!v@L7W*deog=A+q9E7s~rCg+*U@tdZ5e@O3EH0pR3t#3Zb`}2u|=S^?g zw!S@*yFD!CgF|4GwpOfiV5OV-q`D*D{%TDr{!c(S7S$D{3Q{#Y-H zT6|LJ?}`OU=H*}3JlSw%(FyNxi^nSew(d?`^1A$!yI}jtp5{rGHd3n%EWNF7N9g9g zf1i6%IXt#QoJah}=GSqLmqb)V2XAhB>^MX10wcqNcgi-+G08QS`*sJZ?{Ga=c--Rq z_qE#otT8XwK6lqEaATt55p%?xvl)3>TNa z4vKoW(P!_pPnCL=D!(tk(+}M_O;N6jF;pl@*F9VIFvr=;C!)7|y_^#3@o`Cv7LV|( z2YpK>o|27qyV&@8*43>aS+Cib>r}{0y#I0S%B!Atjuq}Zo^P@LM07x7;nh_Fvra9p z`Dk1wVX;R4hi8folh%g!J=eWcEA$rKGn{yZ>sv-r=BY4?<(#UklzXzy_8T1Ax8vEC zDFRl{COr5m^1$&$_C7(+8AegsX1Q)0DuM<{&lfPQJFb{|GIrmw?ZM$2Wftw}YSt+X zwY#6cM?qzpg^bjWvU!V5X80Xix&1Z*S);JihOqmg%)M5^SFh_*W>)NA1_2 zbU0_X#}`w#cju0MQ)F3KmTtkqm)*8CUHbR2i5^FGeN3AxEz&VP@%~nqS%3drv^`?5 ze!ApAo!Tt-56imPM5g>_XiVFjaw%a$pLcck){LhLn=HSqm)kS<-I6jVlW!`skBU!Q zA@x+*_p$cLmm%l-OWFwe&q(9ivEFdckHp6w zL1tT~Y07Ti!=|9|_WIgX^TY2u5(|`_im#X1N1Y2%|8uNsuHN(Y@jw0@yA+xGXj{19 zBu18m$9oH>-!s{=C$w>H@Y(!1jg4JTAO0wP9PuP`d584`r-rKZl_p<*WIjrhm~_G5 zukBd$wn?%><=A4iD0Q&RVhYtfg-La)-13-j)Q`*nbr0a&w6| z;yJg^BFQ>!=kH$aV*x4A(Jkz~cRti=TLy0rc1?OyC-~8A`O{((SQ7U#f`0p9Sj>zU3HUhX}xiJb(SO_vp~dVv3FJ1iZWlG zF?!zp&p5MuTS4Zsgk^V_xJr|(o?PeDKbomG;b2;d^lpaAbx&(pKYaI0%3JO!zwS<5 z<&t`l3TC&z=jJchebW5&XSjvZLMLw56;t~dZ5&nauGwx^a+4v+jD61cm5X*=S=PF| zlS8n9Q+@ua?eF$vukdlaTw<|^I?@61*5;hXJd`To+v9UuF4Oz3#m z6ZS(vu&?a9$@?cBlOigkN_O>p>R1xQw9F`K(~@bT{oiLWw#R#&xN4J`CV6*VSjZg# zR{4r~UuV_0Km2K~b19$us(XO#tA@RWwabmBI?AkZI9x8;sXBG**E3-+7V8yQ{>jSR zgtnucc-6;n8}oEy??2RvXHOX@w6~g9~r@(o~p~@ zUYA8%Hr{TVW&BCZUjLDH*`rt2%iksHNv}93QdJx=eOHUwhs`FoR>|thJ4|LVaekSh z*yJh4Dt)f7&-mV49y5Ujx3g9sGrVoLXwmL#XRjrD7yZjx*&F^;`HIwYllKC5vRCTd z%AM>kqIYq#y;h{3#h4sDqmWARHTDj)J2O=dR;-q@`dac_w@HqF`v5JYM}*#o}=8dnSYnA@)AAU zfA^`o&)@7t;{FUra<{BdR$h2E@m`jB;ruTZH*frB5RhD+!W{KGP`&i((CUnl)sbC zoZjbsQ@)Vvs9#-7`B_tOKmV_R!ndt={l4nmn{>$No{O)>e};0&U!j33V^05DcIOED zhY!W?!#d0#@B6gpAd5rZEvI?z%ya%`&A)YsQ{@<2;lGz}BX!Ldg|NN2Yo@R8d)B&> zYfc~3aO1as{N9&wZE3yKX3hG0tdhLf?V}#nIInqi>}|Mn|68HkD@r5}t(IH1_13w+ z*U#-zJs@AY>p@sr`_glVa$Rmei7{6A`GIM@b5{mm@^7y1K{HF`#r!_cyY|X`N_ko0 zz1)sEE&kby#0G|)FkJ8PMvhU=7t67UsvfCIoz4l z*OF3j$+msxk=lhzue%DCvn z+uLofbxb?fp(Z#|GJX ztkmQgnLj(nTS!}9x^PnQy;<9~dvDp5+AgpE+OO|f>HM>N&gznK^QNYLZaHfb^Q6La*)Ff9zhSI??(y-&frHG~ zc1W*YS*jaxmS^d#{Ao5{LXV#bzc4>)Yk_6=e$kirg!gT^y!H3eNw-2WmsIq5Ouq1I z&bPI*<>l{Wn|(g}V6L9`36Z9_!Yz649KWp9j%WX&c0};+bkW@ZdsW#pc@BR}a2Z=k!L1){v1?b}S>p4;dx>*{f6lcnW``IzZd9wP zi+vR>`Q@$OJzd9CU6IH3`rBF3uSi|3_BCZo+EwK7u<-K7l^Jbk-Y!uH{xsE=JwI#q z>2zk5;>+ypc3%!L&0SS4_-7?||30>>iQ8pASzmg}J#Ej-_A~9Tm>JKytNo6)?tZ;f zOhWg{#-h5I$F1sDuCg0Wa?<20{+#f5*26!sD_m;}YAm^@b{PxDBuwIFJ}$TArpK3P z)qj_oq-UICc|GSpL%H07D}s}sd3D{Mup!{aEAhSIJ0{$`x#fhk*op-*50dXxUCSwo zbzXEt~@k>Uu}>1kzZG=^p8m9Jg)6Gougs-y!grf&+7v|tZMb%8)jm}v@$>M zXeUG8{=Ze3FGA1z7-c?t`KOcb>xtX_)9+l8i1}HxtgKY>iCmV2&FO%oLzB0>du(s` zeVO7MgG>Vk$;S)i9!))B^y+b=NT8P#k@V_+i%%d(Z0G&#QZ@zU!8obTKm>w+_Eq#r0rCIw~pkGB_`Mr{rUcFYDwu zw(5&VOQg46c5Ru~r^4b{sCe-FhOb}OUApc6G4$=E2$p|`H-u^lIz&duajKM_->coY zxb%@fe?@7+${<8R!^^%|3HmrSIPI^`=4R zqW15fsrKQd3h$_AR*>@Iib_?l!r@9GPwyLV4)+i`ip z)J0PdI2}mOOm6TExwu8w-eJ?W4ci^Qt2Uo5y0e?_$?uB^Mt_7KWXrQCSMkQN-i9pLr^Y$gz5VOz)oI!5g}vTP-|nlkoN;clElctOxvkIb3_ost-my;X zl9NJnVMvI@ss7h}Tc=k)>Wz+^;h1Z5WaA`d#o~sll+e@s3_jNu2VK(_Kchck&g$fq z+Vk$NUOesgl$le@RJLqs_G#o5u!r~IY+I{ypB|ab@^}#R=TDpS z6~=$2XK%g?|8?e?xwnkx(wAqqax*?N$S<%|+MD!?J7V5#hwZb^b_&>Ba&K-pto$O| za?{LNDYR+O?t>3z+`^c`Iz`ILQ zR`A`fIlH*IZ^y|c%9r2iuhn7xd5J?eA@I4Kh1`v=>rzXr_jgS6{o87DE3S*#U8QF+ z|MuqQ>+`lgGJbvipURad)n_`?>P_EXpQ`9r_%q!1k-mJ^`)|4Whph@WZRr0O`{=aT ziDPz4E+z;c6?jo6zG>5?8gt=TA9=Q?`*Qz$J)Rirf4H9Su*&y1`;R3HZr@1KIILIp zpJ8{L>gpeRwoX}d|3$cgnT(9kD*m&_*QQor+thH(~bwfclGi; zc2Vxd+dsh{c}@Q_i2P^BzNdfd?Ut7|t4k-p>lB&0^P_)P z{`#p;H_p*=^Li|=?dI=fyEpr+X@A$WU2QY@x)+%#bg${MRKC!4WZMYpsx4m~xN_<|`dd_%$RJ+JF$+u$uxpls`72B>_JSlnHw|Diq zJ*9=^t8cuFvgzY7xU>1Bf)oZFsr!2urO2!}$r8TcM|<4w`ZnG4`oO)uZbR(q7Vv*C1dq5axQmAnl{`gg0$pCMIa)pGIN zefyJhR(|=m=)lca^E9r>CRc>To1Sw_JaK+$!5d|<7czBUuUo#4EH}S&*K^YE9nWR| zZ8^F#Mft31$BXKTFI`XSo|<$z)6mi_~N~rM0H_^~_LEoPLmDxU7n)lS5yz^1# zcFZh)>+|^9LeC>v4@za8EuWIsdsx{+?3TSQb297xz~I9wNrA$fet(YneQJ|px@6pz zlWLPsru0kZ$WcRK!ib6>nf*NP!@*GI{Zn|{Fw%!J|z$V+QMaRPPXI|XJ z96q!7z=6l2b0$nyI+=Q_V&UP5pNj4_zMNlGcl@|)R>cC<6Eh1=ne+VWY8Q)2R?1zR z{r&f$Njc)_>{;^|R?knFmi+wf?Rg7+g)FSEOMeEGwW1xJf#&9jueXt*;)#jKXy za`m^U;7ykOt9lw=M}Ist+h^6P-`2tb-YYlpf5|yi*xY@z++y;!`p zD*e*Z?Mb(|x&#^4Nws4ZqmuCwm%x#vLbFEXjDBr?kr>NX_^?6qg%t`dKT*^Kvy6b}T&F{TS zc!IqR&-uMy>vHzI|CEou>Br9;w{6o<^C$=j-od-}>$1sv(yvWEr`+IZ%9&(wo_XWy zPUU`PrB&87O9c3;e}$~Mv8r|Rm0%|0^ImzL2W($@z7BkDQx$TOp{F3r$m67`A=9F~ ztqR74E2o7j^nHzZHuuv*uO7LtHU}coEndzE$~!M|=Chx~k{d!oJC0gb{jK+MSkQZK z?uy6un&;PVRW$Khe7|e6AlHNDb6NYdCK}H96>=hGd18L8{UpIq_no4~cijY()}N{S z_%`gbOuua948?S3D6;7#_V>Ph~p*HXFWGCXTdGFFyZ`P?*6agw{jwhPtCv+i!( za?;~YPqF_eQ7m@E-j5^>y&srw6=_l=FN&8a&N$!<;;oYdO=pE_pn7 z8-Djq=EbR!$p_xKDmi_!yYrmA$yV#h36=Z_In2z=Kd&&Sn$;T@9AjW;s(yZHrT3@# z)AwdoavkQMpA(=v)z95NDx+DCW3IDyy>Lp}+Evq7z8v-2ICsbNb;Yx?S#KaXd{s9!F09ld|E~GMwL(mu)7XpN=C{AO`EM$x z@A2iQ+?DUml9+tmWT$FF&f{yV4oF|+@NiK17L`#A7AU}ENEtU+&{i*X7PlD8~m#ha~StGRE3;)VG!u%zSf(` zS!BVx&^vR_XHE2~D#~)pRO>j##va3bG~8Z~eW|m9$J(PFDU21rc&?gF5T2^sw^jNC z=lS55f3wYnB$X$$7oN908a8E{XvgbI^EN&CRK%XudE-Rcs%Nu0I+!+2NGW|EUh!bl z^J@#-xXLEfZB5w4({S^+X(q3r*NSMC!Z}@?0mcPYzk*LQd#zz+{kn{|zrV=-)DgZf z%SYPycNAW#Ns* zx%Veob!Dl>Y*q}Dkj+vJytUBNGp}N;M48}bWm%6ei>Gk-WU-r^Z8*Lo;q!&d%O(hw z^=aF#W3*7W_nM$O*CN2``TVST>Nj{QSW3@Vt=-?}FQRAFwWZ-kV;gthT;B9JjTg@| zR+s%Qdz;t3Hh6#0DNk98wF}towb@ko?no^L3~`)cxF?T+;RwGrVQ z1(u>Ihg2+Ws=|E5PK0_gFkYLuaGJo;owoabeN{<3e(LbjY=bRk1*^QI9CsJIe;ed* z*GS{p4z~$!)1_+}&#zUvxWt^5@z^1UN`Qs-yDj zdt2O6%s$SZd5tw;U%FFO@H1z@TZJzt-kY0cvy*w=T`kF_pXKF`@JHqH9XmF^Ty^f8 z)!XgTPk)JOI4aX)v+ee_m76CB3EZu;__x(6W$w&Wy60-fKNtaIr{L8pgc+^%(Q19Hc#v9jX zoja=J=E-Hv^Pu+fn{2+|p2Du}#U>uFrJnb>WvgYTRI(MGJjX7=(c}Kve5K`b4yp=TRbhFl4FllhaG*obd6k` zH0yNr{icz!YcKBE|1-mE`=wcFX|?OV=FetWx!TxZ>gf{8w*haD-wXb_JePU->kyVc z_M6`rKMSAyD$3*hg!|UgTM@w%TqO=asY+h{*t216>(5=umljuUmYVvi>Pqp6J*_pr ztHLT~%$lI%^CbP+Oi3L-3$=+3#h)#hrso+MA2kVa-z_KdDf7aSa}Ub%EMNY-9A+bU zG~;OgPHqJqt)1;jLQCx&Z#Vm7TF={>=i#;PkzwSd=X1C0Y&z=M7i}7`($;eIYfk0D z7u8o@=iNyx;$Ir@CjB@c$NO0~wrZlsLlUXHnN~ip@I*&g`<2Oy!O)W{`S+}P-^3Ikntrq4vJSE>(%rLu@?et|m zV}P1_*5OJH6}uw)sHCL!q=G|pB38`_VM_gHyd~t0T>JVePG$bR#oHy8YdkLM+p2fL z?z`Pq!8G}jt_-e8J9&z)d|S22Sg`eFa7@D7)0b9p9DCE`mhIA+?0MF3hrHJYhM$e{ z1}_5*R0P9387*J?DldG0Z%N8BIqA%`f;?V@ynUJn5^C-Q-$*Du8{#(c|Fu7R>lt28 zm_O-Xg#5<0p-VpO?|2}cx;MN1jlcY?(^JYP zmM@U4{T%k>x7f@R`n_K@Z|9!fSJmYmw7SH)!Der@Zbxl2~?XYz^jYpagVTh4n(SooXD;|t-Z{0+AX`%b&JL~G)KqvcZi9rrFQn*K9<&e!vg z1B3bH@=9X+7wSH%UUBtpYR1)ecA0-$HFXU4o}TyQ>$-TakD}`qGeoL;6rQW^_#JlZ zym0TaP%c~lsN>U)n8fMyf6{(#vg*BpuGFMe3@Uu=*H%hQo$2w zt}F8x-@nvxWJ<~QS-op#oc6JJr+u!*`(x65|IW82XV(_--+$Zh^+~t>=&ie-MK<1h zaa=lFH2ctf{yn~rthdj6%M`7YKXLvFxjommxh^)3_&C4Q^zhype-6J}=V^B*bS?A4 zcN^Dw>wKT6J15$BTKtTSzph{S<=^l{mPw^L$6JrtjJ^2%*_^wM(oeVNep`6O`I(JM zjrqn)Z@WFUydf5fZ>GHv{5W}@quin`aUb)f3vM+q9{9Fi z?BaihEpHP01E-Z_N4l9QoMyfu^(9w3c-yX&-&Wcz{~028U)xl;t?^7r(xVUazeMc0 z{I)T0cZ}c7IU8(`RmrdQnmPGd;1+p5!!Thjuc>!-ynh{d#xpe6?cnZb>MKpd9-rD~ zUpgoGS*T?Gp{?dUEH+$eUt7(^Pk#N+@cLqbM)WB!t%KYyt18?dgdLbTUHX8V&0ASE zZMo<*^DJyT|7{iAId{WZg%gi0UI%%bc|YCGlk)w2z*A|SBNN|PU(R(|Cp*8v^8BTB zM=O>7Y)E8$@FZmxr;zQ_wsZWSR?f^*`Mu*_J)_40QJua0>i1^Fc4!&-|9tOoNh|iS z*3r(7`z0UkIeqloqDL3il~v~1TYWh__qF($-F_VQy#>EExL4>bd7hl|n?Klbk^B6c zaWOBqXFlmMuz2!-=la5zR=uCaU7HO0>XL4%BwyOIJY>f4)k?eHNuN&nU9vv*!=1KR zlPL`1iIaoFU5nOat;k##*wtiw!uIvaeJZzHKHTvXTH|0e>2L%4-l|LYqN8HZsTURO zh$%V0b3OBq#z(WOXO~~vvi6ey{CnGsmcI;cnf-i|d~omX&0D=S-sP4m>Yo16SbY1+ z$C#R1c?)Y-ysha>mzm%xQyreTU}j#|%U!M$rU&jmG*hBx)xNE-=gEF}Iyo=l zXO%S5r=Ii7dr)V3-E#LU_PH7J*}l$xulv=Kb?;7=c6-0AXR_iXbGaUQIGfB17EpPf z`FwlUuYK9mIgb9|>JdoqDSNc%c4T1fLTA%M-A$1laq~@`R=i&^_x#*vL7qHCp6??U zX-3|*+rxEl-}XJir;Tpeop~%b?`w$Kr8TGb$Q|02v}19C!)}MKc3bb>dVQgn%UA1~ z`oudmH(s!5H}0O|vf}lfnwxLK6?dezh6uHuSCJ92)#mDU)R^@x@bn6QwmH$Kdmhxq zu6~^>d}`z6Nk@(_GCDm;U+_BKv_jv1+s>=GOXejlOl9Znsb-E3idWitk+UU-C!zUh zVN%dV!%y?|e>^^%SmUny>{K_fg;WOTXL@8)dyK zEns0VyTo_X&!1!J)8l@wsjKJ+*thTN%T;|#O?LAKyZ=@?bn2+w(~wy9pAD~A3uhfE zJX>;pIfJtD;<~N73)gh-zP2?YMC>I0oXM}dUhm(iIQ@{?tE1&-PfnQFyW{(c-F*-G z`KIisZ4myl`dj1lQ@Yn7&$sp9qJS$)?M`uFZjXJ7a>>P~v;;w)X>ldKyI zC(b*zuj9g>SgV)XvWp!BdO2#3>lNRh_0x8VXJE5X-x0y>OCzOP&lGHOK32djJdZW8 zW682L2VRuU-njC$vCrExIX90x&U$Aj`7*b->er=pU$)hlRWZJf^JhIg>GYL56ZZG7 zt@VF6Lubo=?!(M0!fht(5q{_E>bc|Cq4bq=9ZdWS7HDk~;dgu+=l<9&;*0gk?FpM1 z_-n!=GgqvAx+-&9gJJlcv-4-meSJJ%sPw7W>&3?$Qqq#DC&o+>-)HMrAN$dCjU0cw zv(WTO4;$~WbN3zFb2M}oyUf2g3+{G(qZ+zBzM>P2Q-ssl$S$%(2eR~^uEHo`p^3=SdtU$%McFE;Q z{$86uF3$WXyX*3o%TG@#e0pkeBB7RlZGoBZ>=hU0Pnk3S+-8*-(`=rEcFVM@Ti*Q@ zVzDIh#-8N!Z5nOQ${E7lA6Kx=*ImQ?{ft+{e+H|kbr)8bX6?$8Sa48%nSb!CvaO}6 zM_(JCNXgxC((?JO1}&A0%@LlfL=YqP%1FVD>sjC`WlHDQ51 z%j0XCb54nQ+$mPHIKM8_mf^cT*IBj2D`@PcPH}5lg$r`Uw>V_ z&E=$qgSpJ3jgx{b&e>`&xb#He%qFFj{$smdG2XhVxn*WjUc|3@t?$-*GUiEb-aesG z_k^Wgv+V1WHJVHPSG_tZB=9rgopk?nn@4N^xP0`!AMd$1@?^)_W0%~Q`)xgGvBBn| z*WJ5*kC)H7@q8VB)+>{K{_|C8`<%}5Zm>&pKgIdN_;t+Isau3j>7KSyYABjtE%{vZ zwN>BN+)CMPvlkuvR;HyK9%i$12m$_QR(m-PZ}ltro9!^d%e1ha69Lww_tJyQyGl;g!0r&!a?p&-ZOLx%SnxWXpC|;ffQ- ziVU45NxAOlds#l~>Xm&;SLJow-(CH2=vV*RsyTwU_x2sT6=`&^J%;hp&eLbJ{kt@C zd{^|JW-_>Wi+}&##N#WEC+P+GEMB6re7V=!+yxm$Ra4)X-TGoR!E)NgZuzAZe%sA& zl}dLX|IaXOUG(R5&+doSI%HM#-fD;}aIke)Z#MDIk>sArxz-QDHhvaP&;M}SQ|jDi zxp^FX$LsuE1Fu|P@_O5cTNPcej)~o2dR)nDaa?V~K0e14TYuNiintP`Eq3b32HVZA zgMTdh6?$EL{+UnT7qUDyZCP|TUMaYI zH|wUO6C|n{@9mi;nz24*>)oA8)St&S-?_fx$DSj%;@T!|D2@2{;eFrM>$VrS_VFK? z)wp+8)6Ln2(F-`=zKvCH+S314*X!0*x2I(+57HT`u1j4sStvVwngzqJ@XPjGU$T46 ze%(F1(7bSC@qt?mFVAXS-eRKW@%6T^m9(c)dq#>A!#9Z)rn6bvBGx6HKK|^_;tTVx zR$UHitC$yEdav`!_XpS5``>+yu+f)&Hl=}ea?K>e7xudt-p7boPMyutmmGFA>i&@l zt_iQsOa1#g<;n5aKdx6k%-*~v`ebEMgZZo=!`-S4?|)pMv5KF+!Y}*u#Myg8*7@1x z$Q`&I`QT{V_rO-&G@qztpRaS(vhS@j%DS%cW$X4&&7HfNC-2_sSadyqa=Mb@7n{jZ zMowo9#FtL<6tDQARedc`>}|hd(eB2iioAVWTV{IlM3_okuYC}_TfY5a(BD<1^1Hjw z79W(gST`wMA#$bl);n9 z#~rqIFK{d~)n4mXQQ$nKL-;EDNB*^CYK56er+SRs+}!-_qe|OmnjXmtd#I>a-#z*K zQtPIir+bpu#AME5KA-iBS!>s{I6jUS{CkVyncv)!6?-34u=`1pw;{vC`Eg&}A5U8` zEvmG?_04zNJDb=t+05Ra&k3)8xSsp=%P7^QOWvG`6$`Sxk+y42(9-q6E_eIhnQJ|K zRC4<(%abel%Xd!6pPra!>wcYSg?oZBi>tKRyBQXLv(o#1v4n2@X*kKx$o+ZDG)C2n zPkWX5N{@`9yHcYJnc z-s1l0v23v~W0l)9-H#_Vk}PaKXt-WWbD5+)wUM8>+;Yu~wP|zbi5_3cd;jCw(-|r= zrNSx>X>j*^F!W#*+*e=I@y@#MEAJuavVd5<3x%InetA3VV&{X+v%f#_TC;?=VP5TP zG4Cslw@dsxJ7oIid$DzY3y6$Nvv_!?<&*J+c|X^xO$`frdAs-c{)dreuU5U;_)e#a zZLP!_z2_B=dlshI8egco5ShBJ>Tf^=-)$6#* zD(gI%`R6uGX3nyeaXPIcyplmESo!nPXz3K5`58tVWtwhCu1Rn9a&DRArjWW*c~*b! z<^^q>k((a;{%ah$EK2Y0i+4_oB(8YA_{;dpx5E91yija*)Eas2J&c;>;w{p%=j012 z&7VK4byw2>^ zO*>BHIW^xXj&i&i=QiEk#`wW|&I)dKUtwR@9aH0<&oU}{b7xZV$>*jQ#X2M9EWS-W zmHhg(&*zCXXQFj?I&rd3p8Pj!vPX*BXU7Q}Pug<)(Vic^I(dh;lmS!Vj_OMy+g&)H zw*GTlZLJb8b+T&R2j!yaV*VPob<~5 z-uL&j)_ppt;+K>ZY58-<`3oW0rknWpwaiJ8yK-R4oqNZRaO^g0oS?NkMl$Ao?YZWu z%nO(ARCQKPncTa$&$c*d^*x(&|FVurFtA-bAaX%aXHx^WLrj&hU*wZJK^4c2eR-hq z-BepV%z6o5Z53CSXVULQe$gwAe_g`z;it|TAwdrLx9J66mkQnVl?<6+yqc%LT{Pmf z+}Ey1o|aEcd~UXxZ?|5Uuteke#I^-z`#)WraZ)6eso>!5-(6vSH$$cJAD?rSJZ5!O za{b#kk3YYg=Vo~zfV*C+{hyF^rpVf@Q%}sTd(v7caXzN`S~p{j_p&>BUpiEh7aQ7Y zUOK+qTmI(r-g#yUf9CKXxhis{G*dKkQDms$RR)P)p;!0Kbk;rNJ;Au~faJI3iHj^1 zE=#f$Mg3`*uz2J5^Hq~i_gOMIa%imLPAEC=pt<3muTHj1fv1Acgo72qf3uu^Jve_> ziv74s@vneLrH%KTj@@pTRFFS#Y0IUPnrSg24+wA_5 z*dLo9#MX5$@cFtYffqvZYt#3a7|gg*;y8I$m9N^{UWq3u)${ILc^3Ux+GL|U=Lt!f zIn|*{n3d*fIu9hQkx#74;C09tw_h$=3rU)(bpYivd6@OKw0;|UJ zIlZThn;nFR?d*^J(_Onh|@BG!&e!k(@0?xSZ|DwX{@`nyYfR;E>Ov)>FTKU%n<*KhLwM zy5`2?mrgq*PcHY}nKqqg$%CFJ&9B22NA@t?@)Q#dvyS+DK5LHq)3Q_bdGvTGvw_}DoAWHD!i>8`X?Nte6x>&nGbr*}!N zv-@z&@bZ0ABgQE1nmoY?6|XAoy?WOKSpK$&usr7!ZF) z8ErQi&N;IkJR2nywd!35@A3T-%v%}K+*j`25p*VIj&`mBtK71+);~8?PDso6tRO^)$1zvGldy zT3xfSyd%QHXlHzU)QWpCUSav>ygz0wIdIFU<5;Y}EnjAnhg8CQVGpI_XZWT2lOqh> zx$jQQxFq|7{fv#eti$S0FJ?_>Q!#gaoOXw)z~Y^+%%P0izl)acR=+8b`_ITaG_2Wg zkJE2S&zGOeS0(x8aeP0mV&t-S@84H*Zp}Tr^RDS+(R20X=X^ccW?X)7%5|fkyXCic zS!ofA!YXA}gmJ%~Uv>1~oi>l#W|!IWny-W&yDFB^mt@WH#9ZWpSnJWwoTzh~%9MBf zx)SUYRGhE9?uktDa=W$_XKS-wKk-aiVDS6o@ylupwp5Gmo+K~QOoVy5BX-UVle*hDI+ygc9wL*tyvp$c#lu}qvg5N z`Fyq7e+Jh}O9dwth_CYx%F2J6YxiK)oyuzp5dbst$iBnepOk(tc+TAbTig>(9KTl2PTzSEfFLDQhAKuRTbSukenF$Mz%sbni z@57InZ4cDSx4wFquV8oevyEGM?S3BFblWCa&B5d3KcQ+Vrf0pgZ@YCV%y3s0{=Lmo zCG^O&AW^vo$6plA35%UJzc$(U=eCEpS8Y6Kx!T9?GwadSp2{@`+wUHAPJU*l>$BkL zR)JSm3nfmzJ!|zyyHNT>a=<0Q&zeun*Cu-=rWUN;U7}UrB7AaX(1D}!Q&avkX!S9^ z@?4RVIZNBJ&*@&kbmg7L41=WCS}AXRD;aq#a_S~VQ=YJMsUe-8y!xlhJm0Ib?W5=J ztOuLE&o1%3*RHkO9QG<%+nw9pBeHX^3y`CfD3w@PCzq1go%&kL7xdMG~r zy?5hlzv$_{-CSyCZ|44IF#L5*mr>|dS(3h9ba`5yEef(FKSaaz?<|%Z9&c1sIb|4% z_%b)%ys`Vl8fOEACjJjs0{+f24Q#k~Z%WgntEoN5nKla*757TX%hu`pwk`{Yke9(P2(*nL^{O!4!Zpt+4NSi@$A8*ItAb}xh3(((8< z|0)UbC6~V(QS6dDDWNWMc3bBbZnvL~3>%hq{d)SJp<=0H{(HWuIdMM8N~s6pTC4w+ z+8lbO5RocdY5lXE*fMABFF%~%l`*e$p#$RnrE zZb5(5g~gGn9l29grQ;i_dgLBWu{tA}v@`wf1jC-H5HOP@4E9#j8rGQnP)pC8`^4gaj$gJ%<~Kw4r+ca!EUo*rRj)nmbgn*NTX6V$vF!A>Fu1(Xgo2^jJp8I>}{g<;; zE-s5)Y?m?pyrhK1lhU(M?e5$A3+Cy5+Qw&|>SoQwHgoQ`WjkUw#~Rdp5Wj2_a?z>H z_tVNL{9(%WQ5Sw|Iz`D&T=`1n6~mWRo1!acPcz)HjFaJU*O|0AVHZ4(bX-z9&#*y; z|JbtLFCXm7{xevm)DpK#4Cz!dy>-UzmRQN_RS?d zN(UMn&)cLeIuK>GW-YhZwcipO*;NY9ORid9U+{2K$PtFqT$4ES&6z$NTh7vW)qm$| z?@B(GawUtOCmE|QKb1YRGpryyr!q`N-uZpl+EefE1)q^P=J425|6A*#9lbIWO@&(ro)oZ#|_Nc2{iQv`b;9vSjl1ZLVpTx#tGmj6Kt)wz*%Y@_ysQFH3!G9d16= zNhoE$erspQN7XN%w}@R6w#X4Jd(fYCEqcAEkE0l;xNO9?{|r)WGuN5yJSb#;YR;ru zTdhO4+$ScV0s7ib(F-9;5b> zU4oA#?il%HnQX6kZs#&D!NJj1(DRg*t$_$pe*`)O*#`3v%| zvKYK``HzBzE;Bf8?=$SFlDRg=PWEGU|4*(w-jjEG>ZaWIvie%FN)gY-I|t-uu3nvO z6ZCV^-PFC@2|-K?KU~`(n3UbW!(Xey?%7Q7mQu-+YQ;?)mN{W-ikB?@zWpG7jOOEy z%TKFy^w^wrogtH+pX`{?cKcvh*x}l%hYi`M-tqX8z2x$jyZpXWa{Bdd-g&&vR(nqS z5j)u}fig_dO-q{C<5#Y&*3F2yxo#or3c=k|Lh>RW@AY;{_Z9!?aDLcQmc*Ffy){@CvGj2RzUsrwY{^Z(<6>F8;1sH@XZolrDl;d%!<9h9$ znNlIEMAvgX=IsxBAFB7oTEgSE% zujrHRnZ7#S<^Gr)vgpIJ znOV2jZJzPD$@1jd)75*`PA>G&Nt^QgnSxBh*GIG3XGDBiom=+m8QYGSxmmnoEZv=Pnb^E+q*u_W%I6ny`WHe+24BvdJQ*Fv!`y!Op150d{9rxR}ub^-J-tU~{B>oLLYctvIg?*$Z_JnY zQFQsKd%XX25%caf?{(*SJ5R9vxpuLJz*D=9XMNLGMtW{b|0(jJdScYI9wp_!nvc)N zgiXD-GPO3FFL3+Ec{jeU3Ok#et1&I~1pCe}Ym+YOz0E2yynS=~>2EVrW&b62-P+P7 zk$lAR;8&IT*LK|Y{_;EGR-yDpb!H3Eebc3;JSyGZ8NmNF=kLEoyFYB6RBoB&uw7@p z&cUPy>m}{B<_T+@pY`g#*TdAyHs02G>Bld8UzP55UEt5VpXw{Jwpw+Ci*JfO?|X0Y z%4ME5hI%h$w0=$Q`t04S9^8DIVe_fK;f0SsF7waS=oHGXlur-xRG1$aRa>;^ikNJ< z)#()`Z=HfR{JCUqd8e>HYSlcMZ6~Kiay?dWd--+ETf69P>BuKtCui(nFwd!;b^i0$ zX>A_5YiBts+$z3so!4{QyR*sc7pJW&u~jX8mgSPZvHsuQ#FOa{f9Jfr;#RlQR3}dM z$~*S=Ia3Xf>&D8?Z+XxavBbcwq4w+RN!sjw&sJsToy-57?Q^MzRX?_tvo%5t(sLPuxvua(Py4T8#VrYV_5S#ARv6Q zW@xib$B+F-J_zpPoKnAK@9tSS_XYkq$WFV(dtv>@9S4uE(+&^+C?ag_^j&d60uO(1 zSKGhyhr=e_bToZ9>sie-&QqZs`ER3 zto$gYxV0oj@2*jW=&Nh9>{}lmnOyfF`Nt0VsgXOc>=Bpgly23l3uWHF)%1kiyF1I9 z&VKZMRMY+RWU7qM;oeoe#pZTqKl)4jXLL{gBKkH?=c9d_i6(3B({AU2@QQQ%r>X?w zVv8Tg^T%3vN5{|ICH%rRTQ9?Wk!kPRMV6&k{$#JTJDFlI{riK*>$G@YZ=Z19U~fgJ zk+kLAi7%rsWl#HT|89C7o8vjdFRT7D+){WNc6YDmdG>oP(_Ku8RxiF0x9ZL-@yUB; zJo)l?zt@HBTR%LTw{-22$rbE8;p%onu`ZDJs6qw8HjG(W+ew!cLxLc0K=g zc1e$k@q6`k?51;m9X+#PP0@+vI~6`@s_g!Bw`Jn7!!pS$R+m}LZP7{D<*1ZXzspKS zrfv)GoIi`Q4;+0~wE7&sXDD^?p?`SGweI=2A}1S4fWu0=c+Dz z8_^tk<(XT$$~1*{fem#{^Nj`5^qGJ73IG24JACfW_u+1x4|eO`e-W28^?AYbt|sRd zQIYOC6W`Bz_~Tx2=3}6fOTpd&<(px4cv9)LGvN=oVJZIt4TJlfv za;`(^wjDkl z7GV7J@vIZmkDN8kSZngrTwixjVqw^$i(e(ncE`Cb^egamz8_N9@vL9Z0%r%jCvcrdAW`@PL7SGMk6 zW;xSr@(#vxwy!29?Q}mHb@+$#VX5;SmlUFIu?bAFjFd?%$d*5J?EB$;B9}@g)Lfg( z^GW`ZzWSNsd0&rLe2VTD{&Cy+N5=Fs%<8w_9kX-VSaUF@e(SBhVVSv0XK^GjD+tbe z(0AqSf-^g}a_`=8|E(>f@vL)JP z`>pL(6L=E-rL{O(-#KMhslsR2P&YMnt7xCVAFZCZ2T$7VT+>$2Coz%z> zqGt0?JO1>J*Qto)`&|poR2GK3iQ(x<-)_6YbJ6zR*eL>b!Cyp^PfpI-@vUef6je9`OXE$m{<8TSyGm`HpEoTI}*mXaD9~HirbldKHI|;`;J&j_UNi05*-i7QtAoa!VzNAtM| zuhz=|wFiw=DIdGehzqR?ITfw0GTA96cIBPsv&R$vyqY1Ezcfzt4O@|4;jgP=TPBIg z<#fHVN_Z|Bxp4Q)Jv&t<%U7(cs+PJCExo!T?P@xwjM>R&yA2QAvYvD04xjtc;Iqr4 z+*7AicV8&idlw?-=Kf`^uCPjNt&&9PVzWBod1-i@aM(Ch>7!0b}at0yr=I$ zSMi12u3I|3y3d=Dll=zU1w?swY?T_^H|Bsn+|K=2a}RzJ2OQMmu9>lX*RJd9@)jze{lq@4aL0n2cgOc> zTe`i-_$mH~ZH?*r-bq_m7#z>L7j~(L&w}^M`t>#9yl-aZ6#VS^_N)99Q;*)aC-c|a z`qs!V6QBI3^z6kuXKgRLboXpLsI=d;gge@vzaro7^4rIyyZ7GtEM}ROAEf!|)+}9d zAy)>kSK-O&41eE*Mz4IbLpMFGMN)cQ<@4>AmVBP%@ICU=n}u<)?P|_9`18J=cs1+n zvDu6N?y@~uSgGvFEUH}a!hgNpmX!m5Y1szpVN$9%NzN_xQH@@*PV*O%l3zV0UDD)$-L|vvT+7 zSM5$znPU08;!W-98EL7vmrM`HO!7>bR3?|m{BHS*wezh``)^KXPI8^({Ed01-PdT( zZS&7n-(G1R8`C(6&1`vsJ>S>k73)5|4!tUVuqy4)r$3j4DsR3IX}I;_;ohrH_gsIk zXsud*XIWjK_^ST8ooj!0?|2yM;V01~8u4W1*EQb1A1=EQ`LgWWCYyip(<1$tCf-`S zW&0$F#giO-t}`|>pF4m2+7^#8vy$8O)3Uoe_Z&JProKXH?ai~IN5rL8ue>d(-5=Pu zb#|e$>(cIsnJ%A1eV_OI&061;-t7C~?-9SU_E6Uwg*$gYzBVD^%H=$ULhLLTbm$^DEb6*E+7RiCvrZ zK<~74Nt0M`&xFcvw?f4=Ygsu1*1_UZP%J*9m8$vlhB zJNw%`%gOUSAj7w{duhe*L%U4>tzR2`=(^REwNGzp^-f&0oQ1zQM){B9-Yp+;s`xt7 zwzUV}(c8-Kb5_!m5A2KjuF78d6*qTDMCPoj&k{#AoiaMd|FO2%sb|`uoG;e0b+(l$ zALYB%?-p}c7DO{&tZKXa_R^-julhecw%U4!MK~Sh(NeZJap1e?A?fswI^X_@U#PEK z>G$e}{GpZy8&}&4q<;8*xFg}izUE4m=@*Y&yg&CQl|+gDRs$@kIFx?U#Ozm z>C)Od`9C((JU36QFW#b^cm9;Wy6Mp${_$7;7;;{``Yk$^|DNaV!dLgMELDj&{IW&x z*2&`hr5RxlbrXDd)HR=eFd|?w7LE>#9cS_c-V9`>WaXL70a!6{(k%QZG=a;^^QN8sf%M{PUg@2 z+Ufqz&uHU{*Yj?ySNh01^?cX6uy^nBx5l{q?)%q0`JDF3EthztDmzvAmFApR-tKti z*`9}g(zBO3m#=tv^4r$FfF%aUEf3f?u6$a{a`Sp^(|zad!V)fqs|2{sjNkWM^P9gW zYjwe_zM01CcX!tEX`fxU^=Ikt&!ubbu)3YDecaRM^!WbLkbNI>kN!QPx%|<+TXzyg zE!df_U-^AiuvX3eOG$BBXDVX!2+@56U;qQ8%wkQHtkm2DSXn1=Sk7dSG++E)z910H+0>5 zmQ$H4^z=#M1W%bcWj3eV#?4o6O})*D-rtd;j>7p2_x|DO)nxl7mkw zeEbn^yGnOWC6D*{9S=KyFTN1EVuAVln{l@Ts!xhOpOO zvM(29ViN7E`pWWknf03N?JCXZtR8Lg5H?F`b;;*p&dDi0F7xYpY4)<0A6^Q^-aoc+ z-2sXIy}Pgc%|1Wr%>j`OcjT8pytlSDaNX3kaZV9^&o?aCs$6$IWXt?OF)@bKicgd# znEjf3Y4?w>5jjt`-??AE;`@5_jk|YV?rA%->cr!0W1b28G1XVTi&u8ID{nUD$&+>8 z>ul=t-p2pY>$}lW*&exnwoT%l!@qa?Lb=-Xh-M{J4&LEamk~NnbdaQcpKaIEj zVfWgl`AFLDBkvWrZSG;cQS@}(uX2ol}CG#$DFx$?@XI*_|XJn+vlIrE1 zfBb$uJ@ljgu+NINc&$pu1HOwvYx2YA|8enHcyZyS1rt*=n?9|tt5g>~QBjw<<*X9> z_FW7cla(HSUwYnB<(o;i`M2PgK`!rS@04h;JP}|#Il^L5-{pX-B^Mw5)jRK(GR-=7 z%?;U@^8Bc0>+6*6XKwW5opq?ch$HB5gFiddp3fdv!URPxCM}guJGXGh>&UR_X2tho z<~r${OHb2Js*SLB&|s^VsDw`YzVsfrtoj3e*ThO z5z1+n%|(CizEYjgu`TD*=`a5oUSBQhp0QM>@3Pf~pVc9gJSHwaxnQLmJhzI+{_r3xVu1Mg{{5RvIUQsw|mVp-NP4} z)O&oVNrYvu_!JYbjf*Dn-+SNpHSpN?(7KSKLT|;2J4}s6#*LR2S1*lO$Kbcqw)nm0 zk?G35dB#GUKJmHR)=RClz1U~;^5o;Lv%cK1+8m=(ptV8GRU+(d^Nnl1dycC7eaVt+%6jJMQiVzG0oMG-=4)n7yL+&^ z@-eg8DrJq*OuP40JsxYyPSk}xo|Srf!KouVv~QdIbUcwWX{N}cRL9rz+V2FJEHV3j zASb!+(c-dCi*+6^GyZY;s>9FO@53f`@=jgqTCO6rbgzckBO!CUH$_GDYkmGRX#H6{ z->awLhyInYkDc=kRx9smo$<`TBHsVlkUIrSi*AeN)-zSsMORl4XrU-%OD9VzBwds(<@I z&%4l#@+&D}2W9Uk1CEPyF=7bWMV|nVw#15l@5uGXD6gMc*Y3-YE`QGIN86r0uHNF)0O> zYeNEdc5k}3Q(1j!@b92Gk5@doRx){V=%oNh_I3VI`+}lP_gz_%>d%sHyGl||V#O-y z4@~QsX2d+7H|33U>S43$&w=@>Wml{_WkOu$-jweZQ`sVYf2sS9rYwUic^200CI{xG zD9_3^uPI$&#AoOc)u4L!s2iv9vlZQso3G80YmyevkW?tjQd9XDBs{CL{|v+X&_W)S z&$Bw7vvdA-ysIdO!LI1&Ea)z@Db2* zm3+R{y4jSkFHV)_nOsK=y{jlkY1hU*5QKf-Fx? zO=E-Gy{XnrHy9qs&F>9sbD1b)s;<1^``QX68!=h!KA-7=+paw_mCLt~&3ZYZ<6GmF zNtRz$a(p@_6Y4qVj7Qv!gJ0K3sZ4(_`*-&hROXIFV6*!*|u9d25XL>gT#|ncT-{@>%;tue1=S<%)?OzmKb5TXbZLPm&hfBfjdc zgapxp$K}@w?U0LVZajJ7pW8}r4d(o)6-OF3op7$b)3xU8*6rK9x;#CTcQ=MUnII-N zbxRVHr{3cUS^`IB>z*||aoFIk7uVxw@1u$uHKi+MU!L9kgInw!zgK73mw@8FznX8# zRDzg4@A%oC7&5`kaJsC;ih1stc5yq7Z?!m;nx^viOmHZh|JP;OlhkLhpYNGB_thn) zo^m-p!+^#)g_q{+lvMf4%Dhwg!PgZwn{Pat!c^RN)}O^+S@f8J@%gPxJB6Nal|NE= zA!v8*+kn+F6a0!DPC9R3?V7OQ>(>?Cji-7ZElyXNdho#eTMO=L)Xzw)broZ}bAD=k z@==Y+eO95KmcNfHUt1D;pl12!6&q$&SN`6;@yo)cX*S8SpF_(9>b5LaXlHM}w)99- z5PM8<;D!UI*4g^6^$B@<|JG{D_mj_O#Vl}f99d9Cn0Eali|IU?T6ofU9Qt|LYaBRSuv)hpE4f<-@Uyqw^dl~@hp+NC*PN! zGCA#WmvQBpcc(V4V{r1T{`@Ly!B2lti}TD3={pur*`#)N()w$QJ4M|^jW_Ck{@k@* zrE5v@Q0%eW5+&=JwnZ53WW(T9SL#?7|5T z$rDTW_Nz8nFz?N0G)eTn-W=lj^QUQDDD%FomiZM)yB?iP=_=AJ;8Zqw64SrbqR(IC zonzp}dvg|i6M57!CrD^P&GLx{SMCs!VKBV5K=0=Xli6n(8($w)Ty!Kz-sjp8<7XjZ zK_U|;RfWZHt?enQ)h@bsPV#EYnSjQL&G#={^I6MoG;PKzIpf=xW?E>RZ#-1~b=8~m z!lJw<9xE+8(>vp4cix)Y++vF-Ykrcsk}ECeaMt>C22-1b#mlH&QH+JEM|KEKIq;vM z`eo!cW6k8Gvc9RcmsBsCi~N1}NBH0Qt)AbCu5-#{Pk8e6(d?D>?~=M08)owG>LnUm zPA{`y(SQAQ*;z$B$-V*uyD2YD9*jv_G=cwXO8WkXQLYmVJP(?3T2C?h{@ORE&sys8 zrL~V|Ju{s@W5y?~cR^KClwxB2bKBNF@9-T@BMaPYc|&$}Y3QqLbKdFx@aNU5 zb5y*!o-kjLzqH6z)FpL^#FHl8hK&AhAPt~V+Zb_U)F z7TC0deZMH@bOpJuOOu&mn2sLGea^n~%QC~7Wht2q>={q4l}}?%nY-`b)r&_{RSz!- zT&Qj{@A!+1t6y&9aC&eXH<&a3)imK1H92xCWirRB*XQ2tDQCD=?N)c`oZ*&lB2TA2 zWDz~)C_mR>T~d#FOu)pMd6kE^J!5ZRH8`G{*II8?S}PgjZZv%@mU z*H#@iU89hBaiUw{^_OAg-kG0P3(mWDRdnfr?LkTQhL3GKzOQ;ZN9auX`n5bux?ja! z?P|DbGpSPK@=5LMa$DzY*mK02PH?RHdARC7L)6?91}4`GakZ&e1aHin>iK{&TaEHZt=apOxwtY;r7yC#)m=|Meg9A`%oV6y`q- zbWP4FdMFybF7w$v*K=kQYWY7e5&N{^=j`0djkA4DDqd3EQX$DZ@%F}*mqHIJv??Uu z+C1xO@Pyxg&qg!}u%Dk)ySh~ESjIA@R(1PpOSBqlj)X9|_1SAF6wjIDo~1H1L~DX) z-k!8IOHLL~vOFQ%8l9Y1R2lg4`m8gt8~+?`d>N$D!OwB#{e|aG*_Lj)EUzMX^7>Qu z{Xedm-kZA2Z{4H=sXPW1YnKXX7<#taAF+KYx-9sUfaQwfB%AdiKgt)yGXI^kKS8DT zP2Tgph2?RgSGR2X6zTbGqnN>r+w+6t9Zhnc1^qZJvwr)v)wZio%UwUN{BlmH+nU{z zW`6ElnyGSf_EwGM>qXCVyw43(aF+{ve9p+V`rXzAl^Zr6+uc-jgn#$f^$NQ#n{6z^o}$-cV_8@l(r}GIpIvVQorbS&*++X zq3>(PF1!nQ^B9pA;p&b;M2bgJwF1N*f-uY+^Lqtm@P!aim4dAy%<&2`T) z?^Y(7B95t&&krIrt(G9>)~vk zk8_W$*tqs_t`fX@}S>Z}Anzurua__ym*n z^gD2_&YRpFg}YVv9<40z_M0t#^UjHwBX)s{Z;Wo0&E<= zzOLIIbH)7eVJQ(`Nw-^{m;c%lQ`leiZ0m1pUTvR#u9x?hB;t z7_O}O!tFgHFPCS#(19afd^X#Ti(dR8+IuG4s`bjFhue)=)phnqeYQAqG0Ll4q|#ma zLRH${_JdL;W>!4mlN#mc@clFVb@BWa?(n1Yw40)zc$|FQJm2ft+@+f@Eu5SuIAw#} z)ZHs&?WDEm&zYXbDSNa~>hEQfFtHPyss+vK>J}}YIaxW_|B~+W507JFm%Uu4sv`64 zSNMdiUD466j9qhfFW4^Y&aAetr^$X(rswlxr#3j9KXKrM=%dTtMZaV|Z|Fa{bHauR zweJ_MTpAQ}?#aCHQk6?bl5JGlS?hm&waA~sw?pEnzwW*(Jj<0f&+YPBwfyy$btiVu zk`^4--d=fg>>RWZBRAl7* z%kqb#b_Gt_EZe`XXZ4DP-;z^4Usk?7>*wa9zbY?(Jv}pJV$=MG$BSdHP5mexwDt0I z_e+oYRqkx*DF~M}$mTyXO?>*awX0*TW6u29SE=wfyPNl|=9R2y)|rQ1ZhPRforkfY zV5h>w`B~qpb0eRBQ2jJVbGtR40VmrYv$L1a^I6S*9=rD1>L)+)s$G35+n-rJxgMtZ zMlblBvbNEm-U*y9gCr!jU1gb{wOw_K*uN+z25H8}`?42)I1+Gv#jzCWKg~Pa^K7%( z!)`U6+EXsJJo)&^f8S+-CAT#h?~wPpe|??r-M?2a3xwD)GBa>JuVh&v_u$&asR!;| zoapjekzv)RqN?P*RkvSv|LwS}GcT!ut(w6)yf^xUp!>?zy(_#nRx&irJSn^Rwae9G z{WTw!ZQ3SQ96M7vd?KgT@k#tkEBU*(dTf8e?BqjCO~u-4sE4r!>H1}2?2 z@IJP$^Wn|+Z=PMXxy)kF+i6Uya9of^^nNm)!L{E;1=MDAZSXx0|Y` z^n@NGTVH3%>vxnRUI;j9H7gq%ZL@m5V9o5b-)1M5A4oiL-sigiBS|TalCzc@Vy7;t zPpIO0vfgvo(TOiw%&Pxtv)ejMeD`EldK&xdK5e5nk{6E^u~*&bt$C#6*WBdp7%8>5 z(qO9FNt<-ht!8XWMQrwM+jQqFkg!-~X13_T8pmyoSAJJr-T7>*r|%x=6K^7tE!MTI zV~<^)ZT!-4y<*YkT@oMX^vHW1tM1fWYGkf+*MH@jsRtxjCfv=A_SjJU^6~cOGeRCW zBxJarPjT3rZG6a)`|0GPx$ZSSmTy&uZrquB>HEolZ?iJK z1!vuAii$dR_MAstVZ@Hc*Jc9Q_5!A%O+gnk!y;4}9yGtozMiya$EIz$@;+Uv9X!na zyV#>1J^bjme8G!LKl~3Hxag%bE}J=B{ps6zJO5;h>33XwDK_0K>W;!4iEpd_-r4!G zYpUOGk?vrlxa@Vy`FU4LcRmp_J@&`>df2I#YuEluOJRQcvft}YuCxD#_f1c)>OWO_ z9XREup~9Uf^Yb0!9M>POnide3Wh7R;$$;Z9Lsi;J#Vvswch9@;H|x#{k0U0H%OK0VI=XqB>XL@}5&(NTlQ0w(9h`}Rv zQ|*-N@*la>d$yiQf2QSU>u7qpMsv%~T(*x7Ei!+|T1hSa$nHP=eAf+uC0cFg*YEX7 z{(bCZ_qFF;FK(6JR&HG2lo#7scqQjw>75@d4w|-2T^`l6$*pWo?bVAw;l6C?8|$Q32|3tD-CVu7{7y1(d9Wz?vig`M8_EuQvW2cI<_=W0s8Igs3HbVR!c`pFGYi!L&}* z*w4Jlc}opg&W@p$py46k^7G<2eZ?o4w3Y{GNyzPx)~gNga=DN>9G_s|~s*Ch+`>$_LS+daE^J z7y73b+&Io`p?*q^EQFEu{fWxG;mcbieItJW6xl4(o343E{m;+A`SM2{;;;~{gi`q?12$?gKx z%_2`d6!iDkW%in0N}SMO8}aF>IzpZx2sa<#cbi}*0mmH4wE?)56 zREX_az>>EUzAD@llXQ{~Yjl1^BGJmH3RAIqs>K8&^-lFj_N;GTcklkxlUCy8e?tbHHXa1L)u{EpH zr>tYQVSMek`dPVj>hqZqIzeYvD_H8eWv%H;@;Bw2T%a!TD%0hI$3u@B{2v}KzjDd7 zSawtY=5^PD9Cbg}h0fO$ztUb-aH?mAgr)4?RX1lcEn0B8@x(E<_iJ5MpL~|&wtHvX zH@`O|x^g zFI>ANN?A%5aC%&JlxCjTqh~E&l@P&|WN}dYPM`m!d48X~WtZ;Vb!ow;`&ECIPS2}9 zP<2&>WnYr}(~~->o$OB;E=`*_F>qgq@&tFgtKxHug&JjMJN58sHvNiN!dvt&A@9bC zKUu9sZvyjXKYL;>cc3ftC!=d;O1On}ABWP)lPeX4WJH3`36#rySzS2Q-Bo4cS!-j>JH=a)=M?_D94IKY_n_~^x2&A1 zhLdVFru}li zO)Qn?JCczqrFUIC8{hM(?BTg`tj9A%&FaUxRXgtD!1|5{G50O6mnj)k63S7v5g z#;%-s;DF6vEw_qyHXGhJ>6LAe(5d~qO7+kag@;wo)<{W;UQRIakkG$(-ZWLeXRXwo zBfCYnv-UcDewVd4Hp%g6>$%FuE55H}*(|EL%l6F8)1@MUNs)3)_SN0BcMXi{wmedD zxwpnEh4J-QQ@(Es`GGsDq}(#4wN^!Lo>0vg^oUo?_voe_B|Jy_qVMosIXcC}ahfvc z`Mc^1?7f;x{QfN8_wLZVXZNjD%HoQrN}khlO{$F2jI%TdigTX-@W9K)z$Np%h4Lh4 zy89Hm<=%N_$ya=?I(VME!ke6J4(j$t=X?1wYV1q6nepfF-}mu{7T0T^lsL6#=LuVf zRsC8{Z&(%xv2lG8`IWZVYU=4tTMAddjmgiu|FK?v*XhD-T*eT6r?# zyLv|OXSoFrLcU#a7V#4O#_~`8p{dR`txfu~4fA?-M>BBwGR{_OP1WR-xUKQ-OhK({ zWUNs}@~62z5ig97*}gg)Y0=xWeu8y6kNd_If4Z|1cZHPQzpht(7UQRdQcYYn_kF8U)Zix-EnpM3f{)%bM`uym`<+|XIb+? zIaGqxjbla1#kZfIIqhgmh@gjb6^4UwP+WTH$PTl1ryvGw@iY@~oMPSDz_F z-JNlzsbJ;b4CW&1nca+qk~MrCOmpvU_RG+V5;k&eIp$$;w)oiTqYZ0%H)mMJ9-ns9 z-ap1HubI9g@*Ot)*yh37?WI86l2WS4llpPpw{eN{WxJ=kr|-Ir(8 zPq6)GSo!3V^UBO+YTF|vPS4+Sr|?eF+@7;)xBexYaJ_mM^7vhY^92j(NJ+@SCSkr;8TVxG)HNP9H*4&b`xg0~uq$#rXp?+z*{Ao9xzu_VCr=Zdd*I9w zNxPDJfii6848JUox*O4;Zhpq4rGeqx16%*BovOFAR#c}>-8M(2>eqF97Olda{?nGU zNgOx1lu(i@+j4Q*#4B4`vw+d{w;J)RDAccsbshdZ!9T#U3l0(<6JN@f=@mR;8(Jk=gx9t~_Q5S$nSI zx?C=oj&QHAE}B~$e01&koI@TtMdB+b{HhLNthI5JHahU3Qj77l(Z`>&X36^dMto37 zn^B@z7j<^}(V{Ks=Q@ozR3i-*+g6&U|MvHv=45xSF<2tSMmShOZ|(6J{1ZHmD|~r2 zZ@ajYvUKW%zPV>p_bpv^A~JNI(Q+2SIlsGR<}IGipC{XKXvJ5xjs+${|CpTpxhL-^ z`MrvLtzX_-bCWr97fd|HmaQediSvx(^a;*|XQTKQirzDNVy=sy zKY=C(^X9m3yLVIFW?IsXqgv;>*e51k>iP3%tSTds~9>rwC7t@varKPso<|)0q8m#)gX6T+-x8j6P`|{LB3j~yQMxN<9@Z=L;?NKo%%c!Ck_e=TN zGhVQ29k-dubuVgC<#AK;iCtJ2Q6M{tr0g3dY|}vQ}MBo z)PmZ~-^&uZCp}3iz7ZnmcSvbn0plyH^b1$7?71}kNqK>Pj6TcX43<;JEH`-_?r`3)wd$q2=#E$G{$#Z8O)Mf?h?#b+qu-S0u!JJ2{mwjN!ku#q7LUXm&mM&%@O!P8*7ad!m*|-y z#yK0+Eq`5EE4rsga4p~EyR((nxSPD*rSGnGmY?%#*EP z?LSkw-@%_MeHCr;Y#DzA|G79}tzv)S0p>Zg=4WZIyZ-4v!ybRj?+Z8{D+-^Ea9{u( zvo7Rqm6|kFInFNax#gGTyKg^OvSf!X$BWG6Z#Y(U=T5NZyTWkTiutMS@pE&}=X^bC zahAzx@mro#$5(x2n|`*XVPf=(x1WoTul0P+nsCu!r)nQUOIOt{jJujs*=CO9^7ZertZ$Z)0R_a zGi#dZ{6}`rmK(l1bbR~YwO4L2CwOKsM5y+x znzy|1izv@^g9+ua#};2mHk~u8ZkFsV&xYFNO-73rWZSYS?(0lLz2 z4a|P;o_nz*K$>N8RAGF^4Z#kTDf)5;s^@(@>s|eDx5Fb@rSM9Dn&Z!IIiAaU6d&bl zd|E_rK?CF4;{mP;rc18uv5F84mXST9vvc@gei^F!UbSQU)SSp@ z$x}~iv*Vlu3d*j@$K6&`&QNR760*+r-8w*#w`*};^zP!;48j%_oKpG~{iHrEEysdI0+%tIP+Jyly_j=S_IiDV2^+usc{OGFwdYfN+dLotop;leX^(Nr zabezecHQH4SKhEK$+-67v-G!!`>Z>UGp*x3t+DuL;5#wLIg?M=9ov|^HTcwxE!{m# z{-=+xT>B%}spahaiJy8>cXjEoB^suieVZS9Hf-_ssk_#=%CDMtwQ%v4_Gc56^n=g& zhD%MG%u$+SHK{J~U)Nf0t)GRCiP7^2DCUJy%y({?X5SaQmf^-{}h*-^VPe+PCTnr(i(;k?PQ``{tMb zPG2dL))!#?!^UZnLYJ&+BJ;Y+gMVI!T@TnRXrv-|Z2ftQ^@h>AKXK@ZB=_D)zPEU4 z-ct7SyR%*K z_H^wjwRyH>!S+pE_F5XZ=dYBxv_Wo>P5L9%)|94?p)n6M;--c@J}Rd<&vx^DiL0NO z6`rkpY1O*NY*TdXt@NaSFQ+$uT|G@Z<%P|Udk-Ejc);xJp_9Di*VjKCo#iHzij3#T z{M9-lC3^JK`yI2~Q}W--AOE;+nRU0drR%BapDsLnm5bs9Bai0mt`X>;yIt(O!lhij z2D8(Lx0xOEDUejLKk{7t)4F$u{daDkr&3)pO|kcG=h@1;`#avWS?PX&~{^Rm1 z>KGpPDkdhO7y;)+Vs!WAaHQ?)|=GYHt1%lc(+>YiMsJa377 z@rB3Tew$7$=u`f||2%BpMfSnK9yn?dvN`gO**hO!w4{R@(V7Z??qW+fULZ--hRz&UV}EsW{i$`!f6I)!vI< zPFUcw)s6dt;H(|nrrlsZ;lQ55ryZZF{VKWQi{@?Hy&r_$-8p5DB^yTg~Lq#m<)}fnECp?g!{*-xd zn)@T(B2fd?1(FtF`N3~vYya&}T(7asKr2d+V)5F4a9- z?yGTs;p+NFXR}V(Z;}vyt9jb;_YPZarTdRW@0fpkxsrE+nRi0*(UkuTsXz9|Ri>1D z+Hc+vX$FmCtnSP}Zts+dHAc{NOgp=+&(gkK0VVwN<}#Kfey6%EZ(@6^@xt zSmma+x^ll>xz<#6l8w2~hFOoEiS94z)HwIRxTkF0=C|Lz@hkK?Yt3Q1eVRXN+V3ON zcv~*5J!pUUnALU7RVP$>c>+YMid z{pyL1i%#Pc+!^Fv?CbF^#mOhPf&W7FtaW(`n*yI{PWZrPo8b_3ZA)+Rv0H!kDP1vG zr4(_f$w_Jb0^4&%Sx@Bo--EFc}D*JYhBKTORL0uKW?g&lYL&Pf6_&!WR=I0>ZZ7s7x%d4Eezjg^{X)Otclsn z=kYNn8dWmsrZaO_bvLBNPjwdMv6}eWSK*o2zw4`GR$E8?%$oDGooz#Y>eZzaIwA#x zFZ^e)s(!WIaM|$*k1Zr^Qb-(^+_&VvX>y-x@-`@wU zo4(FXMZ3bG$eZWmd9R>fv&HV5Rx)?klWY4i=$PJO{%4b%1s!^>U(|mx`E0IpmfY%j z_oM7L=w8-WJ?$mDjDKx5^RpDe&~*uMl8nb?Ei4zz_^zF5{TkceATr+v&xu+QDVpTe<(pjIHwAe{8OnzPEU~$be~$Bd_`?2HB$G zTdTC5Oxq`RM_#1j{;~fI0$Zbd+tT_DUGUgp7s9O4_VUD+_3_S2_hkKE^yJ;C?Pm<* zA|LcK#AM84y|6}o#>}XDmZ@BxiYHzb-|2cKerS5%!ADbEq&FAbST{538}rJ{Hw(jl z>#VwHo@&!G&rx*FXRkHynR_3Iqy-=2PmBovC-d*z<)>Hjwz4*9oQSjFIa9z^J!|3~ zyKUbdWvttC({Q3hPTq;HYi2o1mS=6B@McociNz|Do9A2$i4(t+JaOsXL}lRv>?@8- zuC4fEq2jaWp-j<(eQxYa6)%+ZKCV6X=E?T6CqzA*T=N$?EVyUU)7MbSym6`2^mgR~ zw7I0~w9n_SwV@GFuE%2@ z?5<*rIo`f@t3I2v+2*yI{xf91(n{MgabNP}3(Qv-Z-i}#jgZ!qWEI04crMs3rji32c{h3bH&l&--##d`%Nzchb$8Qj zpUYpO=L=^Y|0}ck)T-s#W|s;h?3gbtoBvkM;@aD;xUAo^c#k|ye4fd?t!mayuP56| zqfC43WG}9*u}+lqNR)hTdGD}J#5~XQRhKK(C$}YV@$eKFhCaXIQ2N{b+$R|^S@(se z$!ArBH*3z5YH$h4FHe>WFJS0jUX>N?y&^*3`;j9|XbCfSKA zSlfO6YDR>~s?FLRS8Tm%>Yc)Km0wo{-tvfir()S_xP6}gmC)?UsJ}_m&!+UAKehZq z)$c&&Ef+l^=Db&|J+O>dDqj&T7o4tDMGb<+_aHxAMU+?v*lsB+s z%jBThGa1f!Rqf_GWj*Wc#VtGED(5DZd3@#GmR|5!VSRw{E7ok0U0u&M^j-Gb)OPQx zi{X)#LJS2G>#I8A{Z6ZVXjGiIZL@j6)qb1uI)(YQN9M)$`0z2@DqnBOe&M>q%KTie zrMuqq6>sTjI{ag^--(ofC_mYGm0<}UHay86*E+23IP_;Hi%{jGMM>tO672i55*t>m z{kkH7Rk26O+1TSRhqA=^y>73yHXP#!C>MKE9ddL-D>p0evBF7OJA)gf)ft}K9$&d) zhu}0d_ZvH=FnG(gEfLP`4B6Nl(errYSG%k8g*ye#tSdVHqgE?=k%+I*(>+HSgk6u^ z6rCdWO?KxZ zVzEwUzC>V?%pCc{qS28RCj88|52SFaPf<=)Z!5mSzt&WVXRqM0y^)HY|1R9>JvniS z`XbGflB=ZlEz%7SuV(*r_u(v$8*%||Rw*TavYmZ*Zu$`3%-*@xfaz00?{$XBx37yH zs0i|I{bB#OUL?-!XQ`m|0%bLegC}C<9b5HOV;=8sn~M5>Lit^WXII1vW-nElp7-|q ztgxI_?_OA(tu0(%aY{D(sJUT;tEN=pDfzU=Hl^!l+A+#To%Xzv)ad1D`Pqo=Q3%hc z+SM=o+4jv}o?-Or^PA6GXV$qNd!}M`&tB@qYE^B$!yd14)~?gn<30L&Lz96@Xz+or zC*IF`ns@w5 zws8BnuM-zV-TKiVGyRy<6h)KYZu;4IeD~N{XVhyw)Y&TipFu`8{7BiiXS#xVGdzwY z#%OSHe6c^X+O%y3v+s8As*G-aEnqz18HjuP4ApMF*VPp`P0lS?BlY{zWpto>z0ze;8tvRZodAzoq?a`RUS>5*7Y;L#<^Ue z&*Jf?x60~&6OXgMo;NjIYgRZ%u#h+L#}+kCa_xEB$@HI@dXn7YA3eUdC$Cb^^tQD7{^@USRi&TevvYg??D^i}eMarR z+d?jEIaa=>Vbk4tJMwNzl(K|bZ`-IgnYCq;($U;A)#o|*1Kjto&E+s#=Xg0TyKKAp z%EX*d#mna&xVx#X%eu8%TI1c4gv)+AIeSEzcFg6Ez4XO9d%oG3SKFWSO2qHtusy#t zd+qL5lW)C}TBN&XyHE7VaQ4&AuVV!pZI0PZd{lj(?|k8^D6fxkCzgge)RnS)v%9;x z`r-Sw{F>ND6U-FCnvVVMqqP!PpH0tU~c6wYXSkNO^oqlPLoNRJX^o`!0 zd*15z3coklUio!h*=(^g^Q5z{JkM!IUAt$!QL^>4kkNsU&2J+PwIr^(6LZ`<<-OTP zm2Kyrx``Lhd%B^G1Os8wTz4LtgXSC74;}Mpu35wGbA9gds_WC4PNv-C&f{DBZc=SF*YoHdyK@≫pGV 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

|LCaSA1FCt41!+dS2{9zpBSeBYyi&SGm+6 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⪻KemobJkiflwxzZoSW$^z~fkv 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 From 15be3b9d380db9eeed33e25a3e97faf65998ea85 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 10 Jun 2023 23:14:13 +0100 Subject: [PATCH 0247/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 6b258e55..d3c03abe 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ ] }, "locked": { - "lastModified": 1686305101, - "narHash": "sha256-xCgeI+uTKay3Ab3tMdP9m9flIJbFkRMKwRAmg5PQhJQ=", + "lastModified": 1686391840, + "narHash": "sha256-5S0APl6Mfm6a37taHwvuf11UHnAX0+PnoWQbsYbMUnc=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e5d741ea3f3290d7ac06a02ded24bfdc7aadb37", + "rev": "0144ac418ef633bfc9dbd89b8c199ad3a617c59f", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686253996, - "narHash": "sha256-HFs7888YDrQUf6dAqr1Hn/lTJ+sPMblkOtNfwgPzggY=", + "lastModified": 1686347311, + "narHash": "sha256-5CszMT7GRlVE4h+aq97L3HmkIxgUYrQrtkI2hmoufjg=", "owner": "neovim", "repo": "neovim", - "rev": "be539f5fa8e2d7ad73f7f69941bd6ff13354e89c", + "rev": "5959b3c9222629c0e6020672ad5b13d0ed707c99", "type": "github" }, "original": { @@ -220,11 +220,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686269109, - "narHash": "sha256-JVJGiziSsQCRQ9j4w8mGssA3DKddWYMO4Nnmn0UGt1A=", + "lastModified": 1686355538, + "narHash": "sha256-bk+IRj84GZWMcDFIiMmUP4Z2CGFEXlfiY+ESF7VnD4E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a5cfea9e8f5ffb9f4b6da162123b44bfd41def79", + "rev": "fa9a47584d5750aef37ac27ca7e5059023934037", "type": "github" }, "original": { @@ -287,11 +287,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686089707, - "narHash": "sha256-LTNlJcru2qJ0XhlhG9Acp5KyjB774Pza3tRH0pKIb3o=", + "lastModified": 1686277352, + "narHash": "sha256-quryYLnntwZZrwJ4Vsx24hiCkwiYZAEttiOu983akGg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af21c31b2a1ec5d361ed8050edd0303c31306397", + "rev": "a9fa8f8450a2ae296f152a9b3d52df68d24b7cfc", "type": "github" }, "original": { @@ -303,11 +303,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686226982, - "narHash": "sha256-nLuiPoeiVfqqzeq9rmXxpybh77VS37dsY/k8N2LoxVg=", + "lastModified": 1686412476, + "narHash": "sha256-inl9SVk6o5h75XKC79qrDCAobTD1Jxh6kVYTZKHzewA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a64b73e07d4aa65cfcbda29ecf78eaf9e72e44bd", + "rev": "21951114383770f96ae528d0ae68824557768e81", "type": "github" }, "original": { From a0e364269cad93f2ce36489eee19a3fe07a0b1aa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 11 Jun 2023 23:25:09 +0100 Subject: [PATCH 0248/2258] chore(update) --- flake.lock | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d3c03abe..0808ff01 100644 --- a/flake.lock +++ b/flake.lock @@ -95,12 +95,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "type": "github" }, "original": { @@ -197,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686347311, - "narHash": "sha256-5CszMT7GRlVE4h+aq97L3HmkIxgUYrQrtkI2hmoufjg=", + "lastModified": 1686526357, + "narHash": "sha256-zbBUpWhXEodDn6eD10osfvYwL3C34zYFiBtkoqgCx4s=", "owner": "neovim", "repo": "neovim", - "rev": "5959b3c9222629c0e6020672ad5b13d0ed707c99", + "rev": "6e1fa16ddecca1b6e10563a75385cedea32f8911", "type": "github" }, "original": { @@ -220,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686355538, - "narHash": "sha256-bk+IRj84GZWMcDFIiMmUP4Z2CGFEXlfiY+ESF7VnD4E=", + "lastModified": 1686528280, + "narHash": "sha256-xwtaumDA9BWXo6pPjs0mepw+LEPbzyd3KHlq6Lo2zDY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "fa9a47584d5750aef37ac27ca7e5059023934037", + "rev": "403e4544cbcbf406bcb258654fd0cfaecb14a174", "type": "github" }, "original": { @@ -287,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686277352, - "narHash": "sha256-quryYLnntwZZrwJ4Vsx24hiCkwiYZAEttiOu983akGg=", + "lastModified": 1686488075, + "narHash": "sha256-2otSBt2hbeD+5yY25NF3RhWx7l5SDt1aeU3cJ/9My4M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a9fa8f8450a2ae296f152a9b3d52df68d24b7cfc", + "rev": "9401a0c780b49faf6c28adf55764f230301d0dce", "type": "github" }, "original": { @@ -324,6 +327,21 @@ "neovim-nightly": "neovim-nightly", "nixpkgs": "nixpkgs_3" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", From 7c8e2d32843f74efbbb09db1f32ef9afb81baf97 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Jun 2023 08:43:37 +0100 Subject: [PATCH 0249/2258] refactor(i3status-rs): manage with Home Manager --- config/i3status-rs/config.toml | 29 ------------------ config/sway/config | 2 +- home-manager/modules/common.nix | 5 ---- home-manager/modules/home-manager.nix | 42 +++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 35 deletions(-) delete mode 100644 config/i3status-rs/config.toml diff --git a/config/i3status-rs/config.toml b/config/i3status-rs/config.toml deleted file mode 100644 index 5c327067..00000000 --- a/config/i3status-rs/config.toml +++ /dev/null @@ -1,29 +0,0 @@ -[[block]] -block = "net" -format = " $ip " - -[[block]] -block = "battery" - -[[block]] -block = "cpu" - -[[block]] -block = "memory" -format = " $icon $mem_total_used_percents.eng(w:2) " -format_alt = " $icon_swap $swap_used_percents.eng(w:2) " - -[[block]] -block = "disk_space" -path = "/" -info_type = "available" -alert_unit = "GB" -interval = 20 -warning = 20.0 -alert = 10.0 -format = " $icon $available.eng(w:2) " - -[[block]] -block = "time" -interval = 60 -format = " $timestamp.datetime(f:'%a %d/%m/%Y %R') " diff --git a/config/sway/config b/config/sway/config index 384a2f1b..7205e4f1 100644 --- a/config/sway/config +++ b/config/sway/config @@ -232,7 +232,7 @@ bar { # When the status_command prints a new line to stdout, swaybar updates. # The default just shows the current date and time. # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - status_command /run/current-system/sw/bin/i3status-rs ~/.config/i3status-rs/config.toml + status_command i3status-rs ~/.config/i3status-rust/config-default.toml colors { statusline #ffffff diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index cc305c4e..f3d11d34 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -247,11 +247,6 @@ in recursive = true; }; - xdg.configFile.i3status-rs = { - source = ../../config/i3status-rs; - recursive = true; - }; - xdg.configFile.nvim = { source = ../../config/neovim; recursive = true; diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 780a25da..ef13b046 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -5,4 +5,46 @@ home.stateVersion = "22.05"; programs.home-manager.enable = true; + + programs.i3status-rust = { + enable = true; + + bars = { + default = { + blocks = [ + { + block = "net"; + format = " $ip "; + } + { + block = "battery"; + format = " $icon $percentage $time "; + } + { + block = "cpu"; + } + { + block = "memory"; + format = " $icon $mem_total_used_percents.eng(w:2) "; + format_alt = " $icon_swap $swap_used_percents.eng(w:2) "; + } + { + block = "disk_space"; + path = "/"; + info_type = "available"; + alert_unit = "GB"; + interval = 20; + warning = 20.0; + alert = 10.0; + format = " $icon $available.eng(w:2) "; + } + { + block = "time"; + interval = 1; + format = " $timestamp.datetime(f:'%F %T') "; + } + ]; + }; + }; + }; } From e2a8f86899fc75777b971d9ee4db5a467df895c1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Jun 2023 23:32:34 +0100 Subject: [PATCH 0250/2258] refactor(sway): manage with Home Manager --- config/sway/config | 271 ----------------------- config/{sway => wallpaper}/wallpaper.jpg | Bin home-manager/modules/common.nix | 4 +- home-manager/modules/home-manager.nix | 134 ++++++++++- system/nixos/nixedo/configuration.nix | 9 +- 5 files changed, 141 insertions(+), 277 deletions(-) delete mode 100644 config/sway/config rename config/{sway => wallpaper}/wallpaper.jpg (100%) diff --git a/config/sway/config b/config/sway/config deleted file mode 100644 index 7205e4f1..00000000 --- a/config/sway/config +++ /dev/null @@ -1,271 +0,0 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 - -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l - -# Your preferred terminal emulator -set $term alacritty -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu wofi --show run - -set $browser firefox - -set $wallpaper ~/.config/sway/wallpaper.jpg - -### Output configuration -# -# Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) -output * bg $wallpaper fill #000000 - -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# -# You can get the names of your outputs by running: swaymsg -t get_outputs -output DP-7 resolution 2560x1440 scale 1.0 -output eDP-1 scale 1.0 - -set $laptop eDP-1 -bindswitch --reload --locked lid:on output $laptop disable -bindswitch --reload --locked lid:off output $laptop enable - -# bindsym $mod+1 [workspace="1"] move workspace to output current; workspace number 1 -# bindsym $mod+2 [workspace="2"] move workspace to output current; workspace number 2 -# bindsym $mod+3 [workspace="3"] move workspace to output current; workspace number 3 -# bindsym $mod+4 [workspace="4"] move workspace to output current; workspace number 4 -# bindsym $mod+5 [workspace="5"] move workspace to output current; workspace number 5 -# bindsym $mod+6 [workspace="6"] move workspace to output current; workspace number 6 -# bindsym $mod+7 [workspace="7"] move workspace to output current; workspace number 7 -# bindsym $mod+8 [workspace="8"] move workspace to output current; workspace number 8 -# bindsym $mod+9 [workspace="9"] move workspace to output current; workspace number 9 -# bindsym $mod+0 [workspace="10"] move workspace to output current; workspace number 10 - -bindsym $mod+tab workspace back_and_forth - -bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- -bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - -### Idle configuration -exec swayidle -w \ - timeout 300 'swaylock -f -i $wallpaper \ - timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ - before-sleep "swaylock -f -i $wallpaper" - -bindsym $mod+Escape exec swaylock -f -i $wallpaper #000000 - -### Input configuration -# -# Example configuration: -# -# input "2:14:SynPS/2_Synaptics_TouchPad" { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# You can get the names of your inputs by running: swaymsg -t get_inputs -# Read `man 5 sway-input` for more information about this section. - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher - bindsym $mod+d exec $menu - - bindsym $mod+Shift+b exec $browser - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' - -exec nm-applet --indicator - -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+b splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position bottom - tray_padding 10px - font pango:DejaVu Sans Mono 16 - - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. - # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - status_command i3status-rs ~/.config/i3status-rust/config-default.toml - - colors { - statusline #ffffff - background #323232 - focused_workspace #ffffff #ffffff #333333 - } -} - -default_border pixel 3 - -input * { - xkb_layout "gb" -} - -input type:touchpad { - tap enabled - dwt enabled - natural_scroll disabled -} - -smart_borders on -smart_gaps on -gaps inner 10 - -exec configure-gtk - -bindsym --locked XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2 -bindsym --locked XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2 - -assign [app_id="Alacritty"] workspace 1 -assign [app_id="firefox"] workspace 2 -assign [class="Slack"] workspace 10 -assign [class="discord"] workspace 10 -# Get app_id with swaymsg -t get_tree - -include /etc/sway/config.d/* diff --git a/config/sway/wallpaper.jpg b/config/wallpaper/wallpaper.jpg similarity index 100% rename from config/sway/wallpaper.jpg rename to config/wallpaper/wallpaper.jpg diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index f3d11d34..2ae15458 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -257,8 +257,8 @@ in recursive = true; }; - xdg.configFile.sway = { - source = ../../config/sway; + xdg.configFile.wallpaper = { + source = ../../config/wallpaper; recursive = true; }; } diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index ef13b046..da0c4cb2 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: { +{ config, lib, pkgs, ... }: { home.username = "opdavies"; home.homeDirectory = "/home/opdavies"; @@ -6,6 +6,121 @@ programs.home-manager.enable = true; + services.swayidle.enable = true; + + services.swayidle.events = [ + { + event = "before-sleep"; + command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; + } + ]; + + services.swayidle.timeouts = [ + { + timeout = 60; + command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; + } + { + timeout = 300; + command = "swaymsg 'output * dpms off'"; + resumeCommand = "swaymsg 'output * dpms on'"; + } + ]; + + programs.swaylock.enable = true; + programs.swaylock.settings = { + daemonize = true; + image = "~/.config/wallpaper/wallpaper.jpg"; + }; + + wayland.windowManager.sway.enable = true; + + wayland.windowManager.sway.config = { + assigns = { + "1" = [{ app_id = "firefox"; }]; + "2" = [{ app_id = "Alacritty"; }]; + "3" = [{ class = "vlc"; }]; + "10" = [ + { class = "Slack"; } + { class = "discord"; } + ]; + # Get app_id with swaymsg -t get_tree + }; + + bars = [ + { + colors = { + background = "#323232"; + focusedWorkspace = { + background = "#ffffff"; + border = "#ffffff"; + text = "#333333"; + }; + statusline = "#ffffff"; + }; + + fonts = { + names = [ "DejaVu Sans Mono" ]; + size = 16.0; + }; + + statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; + trayPadding = 10; + } + ]; + + gaps.inner = 10; + gaps.smartBorders = "on"; + gaps.smartGaps = true; + + input = { + "*" = { + xkb_layout = "gb"; + }; + + "type:touchpad" = { + dwt = "enabled"; + tap = "enabled"; + }; + }; + + keybindings = + let modifier = config.wayland.windowManager.sway.config.modifier; + in lib.mkOptionDefault { + "${modifier}+Escape" = "exec swaylock --daemonize"; + "${modifier}+Shift+b" = "exec firefox"; + "${modifier}+tab" = "workspace back_and_forth"; + }; + + menu = "wofi --show run"; + modifier = "Mod4"; + + output = { + "*" = { + bg = "~/.config/wallpaper/wallpaper.jpg fill"; + }; + + eDP-1 = { + scale = "1.0"; + }; + }; + + terminal = "alacritty"; + + window.border = 3; + }; + + wayland.windowManager.sway.extraConfig = '' + set $laptop eDP-1 + bindswitch --reload --locked lid:on output $laptop disable + bindswitch --reload --locked lid:off output $laptop enable + + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + + for_window [class="vlc"] inhibit_idle fullscreen + ''; + programs.i3status-rust = { enable = true; @@ -44,6 +159,23 @@ format = " $timestamp.datetime(f:'%F %T') "; } ]; + + settings = { + theme = { + theme = "plain"; + overrides = { + good_bg = "#333333"; + good_fg = "#ffffff"; + idle_bg = "#333333"; + idle_fg = "#ffffff"; + info_bg = "#333333"; + info_fg = "#ffffff"; + separator_bg = "#333333"; + warning_bg = "#333333"; + warning_fg = "#ffffff"; + }; + }; + }; }; }; }; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index ca702a2c..8fb58c00 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -118,9 +118,12 @@ in { [ brightnessctl configure-gtk - i3status-rust - swayidle - swaylock + ffmpegthumbnailer + google-chrome + swaybg + xfce.thunar + xfce.thunar-volman + xfce.tumbler ]; xdg.portal = { From 94b045c01f7b41c7157566bcd7e4ded9433950fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Jun 2023 19:51:56 +0100 Subject: [PATCH 0251/2258] style(fmt) --- home-manager/modules/home-manager.nix | 2 +- system/nixos/nixedo/configuration.nix | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index da0c4cb2..5710ff37 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -90,7 +90,7 @@ "${modifier}+Escape" = "exec swaylock --daemonize"; "${modifier}+Shift+b" = "exec firefox"; "${modifier}+tab" = "workspace back_and_forth"; - }; + }; menu = "wofi --show run"; modifier = "Mod4"; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 8fb58c00..dbbddcc2 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -8,19 +8,22 @@ let nixpkgs = import ../../shared/nixpkgs.nix { }; configure-gtk = pkgs.writeTextFile { - name = "configure-gtk"; - destination = "/bin/configure-gtk"; - executable = true; - text = let + name = "configure-gtk"; + destination = "/bin/configure-gtk"; + executable = true; + text = + let schema = pkgs.gsettings-desktop-schemas; datadir = "${schema}/share/gsettings-schemas/${schema.name}"; - in '' + in + '' export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS gnome_schema=org.gnome.desktop.interface gsettings set $gnome_schema gtk-theme 'Breeze Dark' - ''; + ''; }; -in { +in +{ nixpkgs = nixpkgs; imports = [ @@ -227,10 +230,10 @@ in { ''; }; - system.autoUpgrade = { - allowReboot = true; - enable = true; - flake = "nixedo"; - }; + system.autoUpgrade = { + allowReboot = true; + enable = true; + flake = "nixedo"; + }; } From 1cc14b6a80de56910a170b78655855a8ba194725 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Jun 2023 19:52:32 +0100 Subject: [PATCH 0252/2258] feat(scripts): push with --no-verify --- bin/tag-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/tag-release b/bin/tag-release index 2c1f7bde..ad112170 100755 --- a/bin/tag-release +++ b/bin/tag-release @@ -10,4 +10,4 @@ echo "" # Tag the appropriate commit and push to the remote. git tag "${tag}" "${commit_sha}" -git push origin "refs/tags/${tag}" +git push origin "refs/tags/${tag}" --no-verify From 1a35b26bea6447c662f1ee2a3f9d9fb6fe7a61d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Jun 2023 19:52:53 +0100 Subject: [PATCH 0253/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0808ff01..bc47dc3c 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1686391840, - "narHash": "sha256-5S0APl6Mfm6a37taHwvuf11UHnAX0+PnoWQbsYbMUnc=", + "lastModified": 1686666709, + "narHash": "sha256-M0qa5qQ2PPqibWmT7bwwXQlNM8Kq1Ors7oS9ukv7Gs8=", "owner": "nix-community", "repo": "home-manager", - "rev": "0144ac418ef633bfc9dbd89b8c199ad3a617c59f", + "rev": "0d1e053ce997f1dc181a0790c3b1ba2c76550ace", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686526357, - "narHash": "sha256-zbBUpWhXEodDn6eD10osfvYwL3C34zYFiBtkoqgCx4s=", + "lastModified": 1686578320, + "narHash": "sha256-soqaiEuDvAIjdUgWO5CeindRUoCMQgidlrJNnUVM5pw=", "owner": "neovim", "repo": "neovim", - "rev": "6e1fa16ddecca1b6e10563a75385cedea32f8911", + "rev": "a7e5d4238a00d5bfa5809b2860047eca2d565e62", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686528280, - "narHash": "sha256-xwtaumDA9BWXo6pPjs0mepw+LEPbzyd3KHlq6Lo2zDY=", + "lastModified": 1686614703, + "narHash": "sha256-N7giW4MHI3r4a0xX/viSyFs/2R6qgngK5dj/DhE3/88=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "403e4544cbcbf406bcb258654fd0cfaecb14a174", + "rev": "93812683925c91d5b5c020ef6b49e86c8352b1d7", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686488075, - "narHash": "sha256-2otSBt2hbeD+5yY25NF3RhWx7l5SDt1aeU3cJ/9My4M=", + "lastModified": 1686519857, + "narHash": "sha256-VkBhuq67aXXiCoEmicziuDLUPPjeOTLQoj6OeVai5zM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9401a0c780b49faf6c28adf55764f230301d0dce", + "rev": "6b1b72c0f887a478a5aac355674ff6df0fc44f44", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686412476, - "narHash": "sha256-inl9SVk6o5h75XKC79qrDCAobTD1Jxh6kVYTZKHzewA=", + "lastModified": 1686501370, + "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "21951114383770f96ae528d0ae68824557768e81", + "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", "type": "github" }, "original": { From 0eee84618518172af6039e46522bf22817b0c397 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Jun 2023 19:57:25 +0100 Subject: [PATCH 0254/2258] fix(scripts): update paths --- bin/t | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/t b/bin/t index fefc89ca..a8cca94e 100755 --- a/bin/t +++ b/bin/t @@ -11,7 +11,10 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - selected=$(find ~/Code -mindepth 1 -maxdepth 2 -type d ! -name .git | sort | fzf --reverse) + items=$(find ~/Code -mindepth 1 -maxdepth 2 -type d ! -name .git) + items+="$HOME/Code/dotfiles" + + selected=$(echo "${items}" | sort | fzf --reverse) fi if [[ -z $selected ]]; then From 31089aa054b5cd984ee8ae8fc8ca71e9e722fba1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Jun 2023 08:56:42 +0100 Subject: [PATCH 0255/2258] chore(git): update user email address --- home-manager/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 966a786f..ca139507 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -19,7 +19,7 @@ programs.git = { enable = true; userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.dev"; + userEmail = "oliver@oliverdavies.uk"; aliases = { aa = "add --all"; From 9c2da9d353eacb64579988344d32066a6297f370 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Jun 2023 19:00:45 +0100 Subject: [PATCH 0256/2258] refactor --- home-manager/modules/home-manager.nix | 178 ++++++++++++++------------ 1 file changed, 94 insertions(+), 84 deletions(-) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 5710ff37..4d8066ec 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -6,121 +6,131 @@ programs.home-manager.enable = true; - services.swayidle.enable = true; + services.swayidle = { + enable = true; - services.swayidle.events = [ - { - event = "before-sleep"; - command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; - } - ]; + events = [ + { + event = "before-sleep"; + command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; + } + ]; + }; services.swayidle.timeouts = [ { - timeout = 60; + timeout = 300; command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; } + { - timeout = 300; + timeout = 600; command = "swaymsg 'output * dpms off'"; resumeCommand = "swaymsg 'output * dpms on'"; } ]; - programs.swaylock.enable = true; - programs.swaylock.settings = { - daemonize = true; - image = "~/.config/wallpaper/wallpaper.jpg"; + programs.swaylock = { + enable = true; + + settings = { + daemonize = true; + image = "~/.config/wallpaper/wallpaper.jpg"; + }; }; - wayland.windowManager.sway.enable = true; + wayland.windowManager.sway = { + enable = true; - wayland.windowManager.sway.config = { - assigns = { - "1" = [{ app_id = "firefox"; }]; - "2" = [{ app_id = "Alacritty"; }]; - "3" = [{ class = "vlc"; }]; - "10" = [ - { class = "Slack"; } - { class = "discord"; } - ]; - # Get app_id with swaymsg -t get_tree - }; + config = { + assigns = { + "1" = [{ app_id = "firefox"; }]; + "2" = [{ app_id = "Alacritty"; }]; + "3" = [{ class = "vlc"; }]; + "10" = [ + { class = "Slack"; } + { class = "discord"; } + ]; + # Get app_id with swaymsg -t get_tree + }; - bars = [ - { - colors = { - background = "#323232"; - focusedWorkspace = { - background = "#ffffff"; - border = "#ffffff"; - text = "#333333"; + bars = [ + { + colors = { + background = "#323232"; + focusedWorkspace = { + background = "#ffffff"; + border = "#ffffff"; + text = "#333333"; + }; + statusline = "#ffffff"; }; - statusline = "#ffffff"; + + fonts = { + names = [ "DejaVu Sans Mono" ]; + size = 16.0; + }; + + statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; + trayPadding = 10; + } + ]; + + gaps = { + inner = 10; + smartBorders = "on"; + smartGaps = true; + }; + + input = { + "*" = { + xkb_layout = "gb"; }; - fonts = { - names = [ "DejaVu Sans Mono" ]; - size = 16.0; + "type:touchpad" = { + dwt = "enabled"; + tap = "enabled"; + }; + }; + + keybindings = + let modifier = config.wayland.windowManager.sway.config.modifier; + in lib.mkOptionDefault { + "${modifier}+Escape" = "exec swaylock --daemonize"; + "${modifier}+Shift+b" = "exec firefox"; + "${modifier}+tab" = "workspace back_and_forth"; }; - statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; - trayPadding = 10; - } - ]; + menu = "wofi --show run"; + modifier = "Mod4"; - gaps.inner = 10; - gaps.smartBorders = "on"; - gaps.smartGaps = true; + output = { + "*" = { + bg = "~/.config/wallpaper/wallpaper.jpg fill"; + }; - input = { - "*" = { - xkb_layout = "gb"; + eDP-1 = { + scale = "1.0"; + }; }; - "type:touchpad" = { - dwt = "enabled"; - tap = "enabled"; - }; + terminal = "alacritty"; + + window.border = 3; }; - keybindings = - let modifier = config.wayland.windowManager.sway.config.modifier; - in lib.mkOptionDefault { - "${modifier}+Escape" = "exec swaylock --daemonize"; - "${modifier}+Shift+b" = "exec firefox"; - "${modifier}+tab" = "workspace back_and_forth"; - }; + extraConfig = '' + set $laptop eDP-1 + bindswitch --reload --locked lid:on output $laptop disable + bindswitch --reload --locked lid:off output $laptop enable - menu = "wofi --show run"; - modifier = "Mod4"; + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - output = { - "*" = { - bg = "~/.config/wallpaper/wallpaper.jpg fill"; - }; - - eDP-1 = { - scale = "1.0"; - }; - }; - - terminal = "alacritty"; - - window.border = 3; + for_window [class="vlc"] inhibit_idle fullscreen + ''; }; - wayland.windowManager.sway.extraConfig = '' - set $laptop eDP-1 - bindswitch --reload --locked lid:on output $laptop disable - bindswitch --reload --locked lid:off output $laptop enable - - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - - for_window [class="vlc"] inhibit_idle fullscreen - ''; - programs.i3status-rust = { enable = true; From 1af1dc3fb7992ee6f8f062ebacc512886e5704d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Jun 2023 19:33:41 +0100 Subject: [PATCH 0257/2258] feat(nixos): faster reboots --- system/nixos/nixedo/configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index dbbddcc2..2c7f8070 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -36,7 +36,9 @@ in boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot/efi"; - boot.kernelPackages = pkgs.linuxPackages_latest; + systemd.extraConfig = '' + DefaultTimeoutStopSec=10s + ''; networking.hostName = "nixedo"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. From 63362f9d82095a04d63ecceb7b759e356493048e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 16 Jun 2023 17:23:51 +0100 Subject: [PATCH 0258/2258] chore(update) --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index bc47dc3c..9f950c19 100644 --- a/flake.lock +++ b/flake.lock @@ -81,11 +81,11 @@ ] }, "locked": { - "lastModified": 1680392223, - "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -114,16 +114,16 @@ }, "haskell-flake": { "locked": { - "lastModified": 1678745009, - "narHash": "sha256-ujfwSrkxThmHJozibkCnJmlXLVyxm+Cbo2Q4wXPbCS4=", + "lastModified": 1684780604, + "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", "owner": "srid", "repo": "haskell-flake", - "rev": "26852ade574c712bc3912ad28de52b0c4cf7d4cb", + "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", "type": "github" }, "original": { "owner": "srid", - "ref": "0.2.0", + "ref": "0.3.0", "repo": "haskell-flake", "type": "github" } @@ -135,11 +135,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1686138353, - "narHash": "sha256-e0wDTIySFCfZMSYQNVGY/d6jjwcua3y6igouI8CejQ8=", + "lastModified": 1686721748, + "narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "febf6540ed5fd55812933c159e59742743277b30", + "rev": "7192b83935ab292a8e894db590dfd44f976e183b", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1686181431, - "narHash": "sha256-S1IsZGwcMChJg3mgnKdFxh2c/D77B1NoOCd8s3tQQIg=", + "lastModified": 1686830987, + "narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "657935127398706754113c1cea5800798ecb99a7", + "rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6", "type": "github" }, "original": { @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1686666709, - "narHash": "sha256-M0qa5qQ2PPqibWmT7bwwXQlNM8Kq1Ors7oS9ukv7Gs8=", + "lastModified": 1686922395, + "narHash": "sha256-ysevinohPxdKp0RXyhDRsz1/vh1eXazg4AWp0n5X/U4=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d1e053ce997f1dc181a0790c3b1ba2c76550ace", + "rev": "9ba7b3990eb1f4782ea3f5fe7ac4f3c88dd7a32c", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686578320, - "narHash": "sha256-soqaiEuDvAIjdUgWO5CeindRUoCMQgidlrJNnUVM5pw=", + "lastModified": 1686870141, + "narHash": "sha256-i/cr7/rm4fnHQOAQUl4wgkeMHHc9EkH5aDSUqOgqPVA=", "owner": "neovim", "repo": "neovim", - "rev": "a7e5d4238a00d5bfa5809b2860047eca2d565e62", + "rev": "ddba917efee26229d77f86d14a9f62dcfdc822b8", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686614703, - "narHash": "sha256-N7giW4MHI3r4a0xX/viSyFs/2R6qgngK5dj/DhE3/88=", + "lastModified": 1686874000, + "narHash": "sha256-mDPFcoJQ+S2unEdxV/OqvxHzsBiVh3/dG5jdyByLwKc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "93812683925c91d5b5c020ef6b49e86c8352b1d7", + "rev": "df48bf7c3171edb95dbe22efee5a149837f28bb0", "type": "github" }, "original": { @@ -238,11 +238,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680213900, - "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", + "lastModified": 1686501370, + "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", + "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686519857, - "narHash": "sha256-VkBhuq67aXXiCoEmicziuDLUPPjeOTLQoj6OeVai5zM=", + "lastModified": 1686828063, + "narHash": "sha256-Cv0Sx1N5+3xBDF5OnmFU3Qoh9OqZmXDBKg1fgXlXTWs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6b1b72c0f887a478a5aac355674ff6df0fc44f44", + "rev": "683f2f5ba2ea54abb633d0b17bc9f7f6dede5799", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686501370, - "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", + "lastModified": 1686776226, + "narHash": "sha256-o6WbKvENj98QJz9Mco6T6SZGrjPewMDAFyKg0Lp8avU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", + "rev": "0d2cf7fe5fa05d5271a15a8933414ee0a1570648", "type": "github" }, "original": { From db175139a9cc13429547c05e756a882b087b9bf3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 16 Jun 2023 21:01:02 +0100 Subject: [PATCH 0259/2258] refactor(packages): move packages Move packages so they aren't only available in Neovim, just in case I want to run one of them from the command line. --- home-manager/modules/common.nix | 5 ----- home-manager/modules/home-manager-packages.nix | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 2ae15458..b426da85 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -213,9 +213,7 @@ in nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs - nodePackages.eslint nodePackages.markdownlint-cli - nodePackages.prettier nodePackages.typescript nodePackages.typescript-language-server nodePackages.vue-language-server @@ -223,9 +221,6 @@ in nodePackages.vscode-langservers-extracted nodePackages.yaml-language-server phpactor - php81Packages.phpcbf - php81Packages.phpcs - php81Packages.phpstan proselint rnix-lsp rstfmt diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix index 0975788b..cd6c358c 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/home-manager/modules/home-manager-packages.nix @@ -22,10 +22,15 @@ with pkgs; [ mysql neofetch nodePackages."http-server" + nodePackages.eslint nodePackages.nodemon + nodePackages.prettier nodejs php81 php81Packages.composer + php81Packages.phpcbf + php81Packages.phpcs + php81Packages.phpstan platformsh postman pulumi-bin From b64017f6d999f3ab40fd0daebd8c796308a5a160 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 17 Jun 2023 08:20:39 +0100 Subject: [PATCH 0260/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 9f950c19..2e4453e3 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1686922395, - "narHash": "sha256-ysevinohPxdKp0RXyhDRsz1/vh1eXazg4AWp0n5X/U4=", + "lastModified": 1687204608, + "narHash": "sha256-rZ0e0iAIQM7vlsMd2/pcGfymZzNBRawObFgqIpxE94c=", "owner": "nix-community", "repo": "home-manager", - "rev": "9ba7b3990eb1f4782ea3f5fe7ac4f3c88dd7a32c", + "rev": "f06a43dca05fb7f1aa44742bf861d9c827b45122", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686870141, - "narHash": "sha256-i/cr7/rm4fnHQOAQUl4wgkeMHHc9EkH5aDSUqOgqPVA=", + "lastModified": 1687099337, + "narHash": "sha256-+U0IdfDPcnnrpszBsOnehX1VmsKK1xoKuI5406iJQ7Q=", "owner": "neovim", "repo": "neovim", - "rev": "ddba917efee26229d77f86d14a9f62dcfdc822b8", + "rev": "8c9dab3e0d788d44c8a2fee83a6193f5955c814e", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686874000, - "narHash": "sha256-mDPFcoJQ+S2unEdxV/OqvxHzsBiVh3/dG5jdyByLwKc=", + "lastModified": 1687133587, + "narHash": "sha256-rBjlDbj3ZKdJqNw8b8Ix7VF5jZJ9246YZoNDjyhjo1Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "df48bf7c3171edb95dbe22efee5a149837f28bb0", + "rev": "0e9b38f09c214547d4a20e053cdb9c8a07e5ed61", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686828063, - "narHash": "sha256-Cv0Sx1N5+3xBDF5OnmFU3Qoh9OqZmXDBKg1fgXlXTWs=", + "lastModified": 1687103638, + "narHash": "sha256-dwy/TK6Db5W7ivcgmcxUykhFwodIg0jrRzOFt7H5NUc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "683f2f5ba2ea54abb633d0b17bc9f7f6dede5799", + "rev": "91430887645a0953568da2f3e9a3a3bb0a0378ac", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686776226, - "narHash": "sha256-o6WbKvENj98QJz9Mco6T6SZGrjPewMDAFyKg0Lp8avU=", + "lastModified": 1686960236, + "narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0d2cf7fe5fa05d5271a15a8933414ee0a1570648", + "rev": "04af42f3b31dba0ef742d254456dc4c14eedac86", "type": "github" }, "original": { From fe46ac7d4382910986777c2c092c9bfcb2c18479 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 18 Jun 2023 22:57:28 +0100 Subject: [PATCH 0261/2258] feat: add rustywind --- home-manager/modules/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix index cd6c358c..53053518 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/home-manager/modules/home-manager-packages.nix @@ -37,6 +37,7 @@ with pkgs; [ pv python3Full ripgrep + rustywind terraform tldr tmuxinator From 07b9d08a3e0b0de15c9f1594b8760efad55d8601 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Jun 2023 01:39:23 +0100 Subject: [PATCH 0262/2258] feat(nvim): add nixd --- config/neovim/lua/opdavies/lsp/init.lua | 1 + home-manager/modules/common.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 448fee0f..396b6a9d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -28,6 +28,7 @@ lsp.setup_servers({ 'dockerls', 'html', 'jsonls', + 'nixd', 'phpactor', 'tailwindcss', 'terraformls', diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index b426da85..c63b3251 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -209,6 +209,7 @@ in gopls html-tidy lua53Packages.lua-lsp + nixd nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server From 9691f2efce09fed1dc791f9446f933c0b8cd1e95 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Jun 2023 09:01:16 +0100 Subject: [PATCH 0263/2258] chore(update) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 2e4453e3..655936a5 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1687204608, - "narHash": "sha256-rZ0e0iAIQM7vlsMd2/pcGfymZzNBRawObFgqIpxE94c=", + "lastModified": 1687301540, + "narHash": "sha256-vFbCrE9WlOSVpyAT5VNR3bqMB7W7sDzMNDcO6JqtmBw=", "owner": "nix-community", "repo": "home-manager", - "rev": "f06a43dca05fb7f1aa44742bf861d9c827b45122", + "rev": "9a76fb9a852fdf9edd3b0aabc119efa1d618f969", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687099337, - "narHash": "sha256-+U0IdfDPcnnrpszBsOnehX1VmsKK1xoKuI5406iJQ7Q=", + "lastModified": 1687288633, + "narHash": "sha256-ruvOPW2915R3Jbb/PCKUCwojA9koBK+D+NFu1ZWpZHA=", "owner": "neovim", "repo": "neovim", - "rev": "8c9dab3e0d788d44c8a2fee83a6193f5955c814e", + "rev": "3bf887f6e08fa272679187340ca483809275b20a", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687133587, - "narHash": "sha256-rBjlDbj3ZKdJqNw8b8Ix7VF5jZJ9246YZoNDjyhjo1Q=", + "lastModified": 1687305901, + "narHash": "sha256-dOxIJUGafmsBgvQp9wrX7AkH9Dgc55bFUtARBSsvvg8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0e9b38f09c214547d4a20e053cdb9c8a07e5ed61", + "rev": "3293647eeb76c09d03f6d12ee38472a87f303836", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687103638, - "narHash": "sha256-dwy/TK6Db5W7ivcgmcxUykhFwodIg0jrRzOFt7H5NUc=", + "lastModified": 1687274257, + "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "91430887645a0953568da2f3e9a3a3bb0a0378ac", + "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5", "type": "github" }, "original": { From a9c7ab3f67366a86b671e74cc293e7e2fefb0f0e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Jun 2023 08:46:03 +0100 Subject: [PATCH 0264/2258] feat(nvim): add keymap for formatting text --- config/neovim/lua/opdavies/lsp/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 396b6a9d..ca34699d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -11,6 +11,7 @@ local on_attach = function(client, bufnr) vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "f", function() vim.lsp.buf.format({ async = true }) end, opts) vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) end From 61ee8411e1a7e2d7c6a16826c4dba08f803be144 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Jun 2023 08:47:05 +0100 Subject: [PATCH 0265/2258] fix(nvim): code formatting and diagnostics --- config/neovim/lua/opdavies/lsp/null-ls.lua | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 8bafdb0f..17255c20 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -3,28 +3,22 @@ if not status_ok then return end -local lsp_formatting = function(bufnr) - vim.lsp.buf.format { - filter = function(client) - return client.name == "null-ls" - end, - bufnr = bufnr, - } -end - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - local code_actions = null_ls.builtins.code_actions local diagnostics = null_ls.builtins.diagnostics local formatting = null_ls.builtins.formatting null_ls.setup { sources = { - formatting.phpcbf, code_actions.gitsigns, formatting.black, formatting.markdownlint, + formatting.phpcbf.with({ + command = "./vendor/bin/phpcbf", + condition = function(utils) + return utils.root_has_file({ 'phpcs.xml.dist' }) + end, + }), formatting.prettier, formatting.rustywind, formatting.stylua, @@ -37,6 +31,7 @@ null_ls.setup { diagnostics.markdownlint, diagnostics.php, diagnostics.phpcs.with({ + command = "./vendor/bin/phpcs", condition = function(utils) return utils.root_has_file({ 'phpcs.xml.dist' }) end, From 31602d9de6c892a0956fa7c90f36e34d3737d3ba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Jun 2023 09:00:42 +0100 Subject: [PATCH 0266/2258] chore(nvim): standardise Telescope themes --- config/neovim/lua/opdavies/telescope/init.lua | 11 ++++++----- config/neovim/lua/opdavies/telescope/mappings.lua | 1 + home-manager/modules/common.nix | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/config/neovim/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua index c80a8ab7..048779f8 100644 --- a/config/neovim/lua/opdavies/telescope/init.lua +++ b/config/neovim/lua/opdavies/telescope/init.lua @@ -98,7 +98,7 @@ function M.file_browser() end function M.find_files() - local opts = themes.get_ivy { + local opts = { file_ignore_patterns = { ".git/", "**/{core,contrib}", "vendor" }, } @@ -106,16 +106,17 @@ function M.find_files() end function M.find_all_files() - local opts = themes.get_ivy { + local opts = { no_ignore = true, + prompt_title = "All Files", } require("telescope.builtin").find_files(opts) end function M.git_files() - local opts = themes.get_ivy { - file_ignore_patterns = { ".git/", "vendor" }, + local opts = { + file_ignore_patterns = { ".git/", "**/{core,contrib}", "vendor" }, hidden = true, no_ignore = true, } @@ -133,7 +134,7 @@ function M.live_grep() end function M.oldfiles() - local opts = themes.get_ivy { + local opts = { prompt_title = "History", } diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 3d003070..7e86932b 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -24,6 +24,7 @@ end telescope_mapper("fb", "buffers") telescope_mapper("fd", "find_files") +telescope_mapper("fD", "find_all_files") telescope_mapper("fe", "file_browser") telescope_mapper("ff", "current_buf") telescope_mapper("fg", "git_files") diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index c63b3251..c185c9dc 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -217,8 +217,8 @@ in nodePackages.markdownlint-cli nodePackages.typescript nodePackages.typescript-language-server - nodePackages.vue-language-server nodePackages.vls + nodePackages.vue-language-server nodePackages.vscode-langservers-extracted nodePackages.yaml-language-server phpactor From 3547fe2c2b313f8420191ef8879f2c72921bdd25 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Jun 2023 07:55:59 +0100 Subject: [PATCH 0267/2258] feat: add `pass` - a CLI password manager --- home-manager/modules/home-manager-packages.nix | 3 +++ system/nixos/nixedo/configuration.nix | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix index 53053518..1487492d 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/home-manager/modules/home-manager-packages.nix @@ -13,6 +13,8 @@ with pkgs; [ gh git git-crypt + gnupg + pinentry inotify-tools just tree-sitter @@ -26,6 +28,7 @@ with pkgs; [ nodePackages.nodemon nodePackages.prettier nodejs + pass php81 php81Packages.composer php81Packages.phpcbf diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 2c7f8070..aadc294f 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -237,5 +237,11 @@ in enable = true; flake = "nixedo"; }; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryFlavor = "qt"; + }; } From ee3054fe486fce565516060fc4e9614e5c4beca4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Jun 2023 07:56:36 +0100 Subject: [PATCH 0268/2258] fix(nvim): re-add intelephense Phpactor isn't providing LSP information or diagnostics within Drupal tests whereas Intelephense does. This means that I'm getting duplicate results in files where both Intelephense and Phpactor are working, but I'll look into this again and see if I can go back to using just Phpactor. --- config/neovim/lua/opdavies/lsp/init.lua | 1 + home-manager/modules/common.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index ca34699d..0fcae81c 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -28,6 +28,7 @@ lsp.setup_servers({ 'cssls', 'dockerls', 'html', + 'intelephense', 'jsonls', 'nixd', 'phpactor', diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index c185c9dc..60bfd196 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -208,6 +208,7 @@ in black gopls html-tidy + nodePackages.intelephense lua53Packages.lua-lsp nixd nodePackages."@astrojs/language-server" From 8997e761088714f6caa3a0cd71fa2461f2450955 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Jun 2023 08:42:26 +0100 Subject: [PATCH 0269/2258] fix(nixos): enable gvfs This is needed by thunar-volman. --- system/nixos/nixedo/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index aadc294f..d3b3accf 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -238,6 +238,8 @@ in flake = "nixedo"; }; + services.gvfs.enable = true; + programs.gnupg.agent = { enable = true; enableSSHSupport = true; From 560209489118c091052d15b2a7aca377f035c267 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 22 Jun 2023 08:53:49 +0100 Subject: [PATCH 0270/2258] chore(update) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 655936a5..f2dff2d3 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1687301540, - "narHash": "sha256-vFbCrE9WlOSVpyAT5VNR3bqMB7W7sDzMNDcO6JqtmBw=", + "lastModified": 1687365523, + "narHash": "sha256-2l/cPXDCDVcLNm+EvCRGJcJ9YxxyLbc2vfTah/t8Qwc=", "owner": "nix-community", "repo": "home-manager", - "rev": "9a76fb9a852fdf9edd3b0aabc119efa1d618f969", + "rev": "1fefd7bb8da0eec6755747f410fa491411a94296", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687288633, - "narHash": "sha256-ruvOPW2915R3Jbb/PCKUCwojA9koBK+D+NFu1ZWpZHA=", + "lastModified": 1687376543, + "narHash": "sha256-bO37uL398/RDKOG2ur85hOPIG943K+j9oqDFQYCUsGY=", "owner": "neovim", "repo": "neovim", - "rev": "3bf887f6e08fa272679187340ca483809275b20a", + "rev": "08db61b19b8fa07131fdcbea306893539963d4cb", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687305901, - "narHash": "sha256-dOxIJUGafmsBgvQp9wrX7AkH9Dgc55bFUtARBSsvvg8=", + "lastModified": 1687392394, + "narHash": "sha256-v+4/kfFdshUC8XLsAWFfWhIyRgtrWuEGRmvKl1T0Imk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3293647eeb76c09d03f6d12ee38472a87f303836", + "rev": "85e04471ff5c3223f454368e74d56e838551e27d", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687274257, - "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=", + "lastModified": 1687335664, + "narHash": "sha256-gMoOCTUSLozoi+eSe99SGzjNJdgciMOoNxVJlVrqLfs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5", + "rev": "7b697d9698d5ae350e49e8eeb05c568708bdd9f0", "type": "github" }, "original": { From ed0e7cf0a8c1e74d5ae160d788b5f16c86be1052 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 10:11:33 +0100 Subject: [PATCH 0271/2258] refactor(nvim): update Telescope preview settings --- config/neovim/lua/opdavies/telescope/setup.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua index 5d2643f8..0c26a7d3 100644 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ b/config/neovim/lua/opdavies/telescope/setup.lua @@ -38,13 +38,15 @@ telescope.setup { prompt_position = 'top', }, + preview = { + hide_on_startup = true, + }, + mappings = { i = { [""] = actions.which_key, - [""] = action_layout.toggle_preview, - }, - n = { - [""] = action_layout.toggle_preview, + [""] = action_layout.toggle_preview, + [""] = action_layout.toggle_mirror, }, }, From c8a62301f8c9acbd6444e1a8d8eaa9815b9776ab Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 21:41:27 +0100 Subject: [PATCH 0272/2258] refactor(nvim): group extra Vim packages --- home-manager/modules/common.nix | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 60bfd196..6302c3e5 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -1,4 +1,5 @@ { config, lib, pkgs, ... }: + let vim-astro = pkgs.vimUtils.buildVimPlugin { name = "vim-astro"; @@ -204,28 +205,34 @@ in ]; extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + + # Language servers ansible-language-server - black - gopls - html-tidy - nodePackages.intelephense lua53Packages.lua-lsp nixd + nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs - nodePackages.markdownlint-cli - nodePackages.typescript nodePackages.typescript-language-server nodePackages.vls nodePackages.vue-language-server nodePackages.vscode-langservers-extracted nodePackages.yaml-language-server phpactor - proselint rnix-lsp + + # Formatters + black rstfmt + + # Tools + html-tidy + nodePackages.markdownlint-cli + proselint shellcheck ]; }; From 1366a9d472b6d2352b0eef0c849d1be45194e1cf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 22:16:39 +0100 Subject: [PATCH 0273/2258] feat(nvim): invoke completion menu manually Don't open the completion menu automatically but invoke it when needed using . --- config/neovim/lua/opdavies/lsp/init.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 0fcae81c..ee505f13 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -78,7 +78,10 @@ vim.diagnostic.config({ cmp.setup({ preselect = 'item', completion = { - completeopt = 'menu,menuone,noinsert' + autocomplete = false, + }, + mapping = { + [''] = cmp.mapping.complete(), }, }) From 6af219c740c96323ee784a5bd06510f1081f7c81 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 22:22:38 +0100 Subject: [PATCH 0274/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index f2dff2d3..6a59094f 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1687365523, - "narHash": "sha256-2l/cPXDCDVcLNm+EvCRGJcJ9YxxyLbc2vfTah/t8Qwc=", + "lastModified": 1687506590, + "narHash": "sha256-CSou9mrG9h/WVRjCptfTrATVxvhmtdQXElmWV/ZkrAs=", "owner": "nix-community", "repo": "home-manager", - "rev": "1fefd7bb8da0eec6755747f410fa491411a94296", + "rev": "d2b6f2d154bf6b27a93ed895392f80c503df7cfa", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687376543, - "narHash": "sha256-bO37uL398/RDKOG2ur85hOPIG943K+j9oqDFQYCUsGY=", + "lastModified": 1687473626, + "narHash": "sha256-9RacG3kFwJoxAeTcSU4DSuISk8jIO/7uarTe/M7/gZs=", "owner": "neovim", "repo": "neovim", - "rev": "08db61b19b8fa07131fdcbea306893539963d4cb", + "rev": "3688735c2b63337ab8d8b12ac08b4e6e064e98a2", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687392394, - "narHash": "sha256-v+4/kfFdshUC8XLsAWFfWhIyRgtrWuEGRmvKl1T0Imk=", + "lastModified": 1687478725, + "narHash": "sha256-LxcrNER85Rl0O7Zxvmh4Bt1bvGwiuIzNVwvGJ3Qf/dk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "85e04471ff5c3223f454368e74d56e838551e27d", + "rev": "bebf82d46afea654c06dac6e676c8a4bb2e865a9", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687335664, - "narHash": "sha256-gMoOCTUSLozoi+eSe99SGzjNJdgciMOoNxVJlVrqLfs=", + "lastModified": 1687392660, + "narHash": "sha256-E4bsKvHGFsKYegkfJ/FwR64OMtpjTWHM4CvCyWSTlnM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7b697d9698d5ae350e49e8eeb05c568708bdd9f0", + "rev": "3fb3ce0b6b84d3b4e7b49e142da9c5764b563058", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686960236, - "narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=", + "lastModified": 1687502512, + "narHash": "sha256-dBL/01TayOSZYxtY4cMXuNCBk8UMLoqRZA+94xiFpJA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "04af42f3b31dba0ef742d254456dc4c14eedac86", + "rev": "3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f", "type": "github" }, "original": { From 9fe308fb83980c333f2694f124dbd64acb0ecced Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 22:33:07 +0100 Subject: [PATCH 0275/2258] chore(alacritty): enable window opacity --- home-manager/nixedo.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 21cecca2..09eb97da 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -18,6 +18,8 @@ enable = true; settings = { + window.opacity = 0.9; + window.padding = { x = 15; y = 15; From 43c720d2451194c694361cdff3397bc2a659ab4a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 22:33:42 +0100 Subject: [PATCH 0276/2258] chore(alacritty): use IBM Plex Mono --- home-manager/nixedo.nix | 2 +- system/nixos/nixedo/configuration.nix | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 09eb97da..e899784f 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -28,7 +28,7 @@ font = { size = 12.0; - normal.family = "JetBrainsMono Nerd Font"; + normal.family = "BlexMono Nerd Font Mono"; offset.y = 12; glyph_offset.y = 6; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index d3b3accf..bc36a600 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -181,7 +181,7 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "Meslo LG M Regular Nerd Font Complete Mono" ]; + monospace = [ "BlexMono Nerd Font Mono" ]; }; }; fonts = with pkgs; [ @@ -189,6 +189,7 @@ in fonts = [ "Iosevka" "JetBrainsMono" + "IBMPlexMono" "Meslo" ]; }) From a7c7fb6989121134af717b2336e4f7818a2cc8b0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 23 Jun 2023 22:34:10 +0100 Subject: [PATCH 0277/2258] feat(nixos): add `wl-clipboard` --- system/nixos/nixedo/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index bc36a600..b1729c3c 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -129,6 +129,7 @@ in xfce.thunar xfce.thunar-volman xfce.tumbler + wl-clipboard ]; xdg.portal = { From db8bac91e7499c5069e743df99046a63fd643df7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Jun 2023 10:31:51 +0100 Subject: [PATCH 0278/2258] feat(sway): set as the default graphical session --- system/nixos/nixedo/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index b1729c3c..cd060874 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -72,8 +72,8 @@ in services.xserver.enable = true; # Enable the KDE Plasma Desktop Environment. + services.xserver.displayManager.defaultSession = "sway"; services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; # Configure keymap in X11 services.xserver = { From 3d27c3579680d505fea00e4e97b4a47bd2bad7b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Jun 2023 10:34:13 +0100 Subject: [PATCH 0279/2258] fix(tmux): remove erroring key bind --- home-manager/modules/tmux.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix index 26cdad74..b9425a75 100644 --- a/home-manager/modules/tmux.nix +++ b/home-manager/modules/tmux.nix @@ -77,7 +77,6 @@ is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" - bind-key -n 'C-\\' if-shell "$is_vim" 'send-keys C-\\\\' 'select-pane -l' bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' From 46183f48b50a0942c1798c7af7bd8d7f11a2e531 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Jun 2023 20:06:00 +0100 Subject: [PATCH 0280/2258] chore(update) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 6a59094f..20068fcf 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1687762428, + "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1687762428, + "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", "type": "github" }, "original": { @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1687506590, - "narHash": "sha256-CSou9mrG9h/WVRjCptfTrATVxvhmtdQXElmWV/ZkrAs=", + "lastModified": 1687856573, + "narHash": "sha256-rzC+5rRsy92Dhjb1q5e5tDjdhRfL1z4WFWwlcD3a+4Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "d2b6f2d154bf6b27a93ed895392f80c503df7cfa", + "rev": "4c08f65ab5105a55eed3fc9003f3e6874b69fe13", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687473626, - "narHash": "sha256-9RacG3kFwJoxAeTcSU4DSuISk8jIO/7uarTe/M7/gZs=", + "lastModified": 1687774753, + "narHash": "sha256-WugvwIH5PtG9os+tkzbUlQJnNWP/cri3pYWbH49Edwk=", "owner": "neovim", "repo": "neovim", - "rev": "3688735c2b63337ab8d8b12ac08b4e6e064e98a2", + "rev": "0ca2d11c1f473d9924c261c9dbd4e38730932bb4", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687478725, - "narHash": "sha256-LxcrNER85Rl0O7Zxvmh4Bt1bvGwiuIzNVwvGJ3Qf/dk=", + "lastModified": 1687824320, + "narHash": "sha256-Lh3dWmeXaiLT5ZzoHrl4XbOKc+UmuJCcIv9pJmVf7MA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "bebf82d46afea654c06dac6e676c8a4bb2e865a9", + "rev": "3ca106854788f12a9520ae0d04592ea09b51a75d", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687392660, - "narHash": "sha256-E4bsKvHGFsKYegkfJ/FwR64OMtpjTWHM4CvCyWSTlnM=", + "lastModified": 1687701825, + "narHash": "sha256-aMC9hqsf+4tJL7aJWSdEUurW2TsjxtDcJBwM9Y4FIYM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3fb3ce0b6b84d3b4e7b49e142da9c5764b563058", + "rev": "07059ee2fa34f1598758839b9af87eae7f7ae6ea", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687502512, - "narHash": "sha256-dBL/01TayOSZYxtY4cMXuNCBk8UMLoqRZA+94xiFpJA=", + "lastModified": 1687807295, + "narHash": "sha256-7TUD0p0m4mZpIi1O+Cyk5NCqpJUnhv/CJOAuHOndjao=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f", + "rev": "6b3d1b1cf13f407fef5e634b224d575eb7211975", "type": "github" }, "original": { From 6050660c4e7e90ccbbded6f3f8cd3efc44b7a752 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Jun 2023 20:49:08 +0100 Subject: [PATCH 0281/2258] feat(home-manager): add packages --- home-manager/modules/home-manager-packages.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix index 1487492d..e6220e06 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/home-manager/modules/home-manager-packages.nix @@ -5,8 +5,10 @@ with pkgs; [ bottom ctop delta + dog doppler exa + fd file fzf gcc @@ -14,12 +16,10 @@ with pkgs; [ git git-crypt gnupg - pinentry - inotify-tools - just - tree-sitter htop + inotify-tools jq + just lua mysql neofetch @@ -34,6 +34,7 @@ with pkgs; [ php81Packages.phpcbf php81Packages.phpcs php81Packages.phpstan + pinentry platformsh postman pulumi-bin @@ -45,9 +46,11 @@ with pkgs; [ tldr tmuxinator tree + tree-sitter unzip virtualenv wget xcp + xh yarn ] From 48d737b8c9756a45ae94b86540b2e04994ce5169 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Jun 2023 20:49:16 +0100 Subject: [PATCH 0282/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 20068fcf..8484e166 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1687856573, - "narHash": "sha256-rzC+5rRsy92Dhjb1q5e5tDjdhRfL1z4WFWwlcD3a+4Q=", + "lastModified": 1687969886, + "narHash": "sha256-tC2qFLmuM0PFaw0tMHVcFmzsG/351q09qa1EpuL2n1U=", "owner": "nix-community", "repo": "home-manager", - "rev": "4c08f65ab5105a55eed3fc9003f3e6874b69fe13", + "rev": "a7002d6bfca54742d5fc9b485a1879953b4585b9", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687774753, - "narHash": "sha256-WugvwIH5PtG9os+tkzbUlQJnNWP/cri3pYWbH49Edwk=", + "lastModified": 1687889144, + "narHash": "sha256-kV960qwU4TKq8FKVfKjZ7kB/oDjgFgquILE3f5EKSUY=", "owner": "neovim", "repo": "neovim", - "rev": "0ca2d11c1f473d9924c261c9dbd4e38730932bb4", + "rev": "e85e7fc7bcccfa3b8f9e52ec4d6cb21591b50468", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687824320, - "narHash": "sha256-Lh3dWmeXaiLT5ZzoHrl4XbOKc+UmuJCcIv9pJmVf7MA=", + "lastModified": 1687910775, + "narHash": "sha256-Ly86o/Qe61qfcJ/IgSrSY7xO5oIOaqwYAQbbrLVr+3c=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3ca106854788f12a9520ae0d04592ea09b51a75d", + "rev": "d1ed83546b3a0713dd22e5ef4585282783be4a19", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687701825, - "narHash": "sha256-aMC9hqsf+4tJL7aJWSdEUurW2TsjxtDcJBwM9Y4FIYM=", + "lastModified": 1687793116, + "narHash": "sha256-6xRgZ2E9r/BNam87vMkHJ/0EPTTKzeNwhw3abKilEE4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "07059ee2fa34f1598758839b9af87eae7f7ae6ea", + "rev": "9e4e0807d2142d17f463b26a8b796b3fe20a3011", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687807295, - "narHash": "sha256-7TUD0p0m4mZpIi1O+Cyk5NCqpJUnhv/CJOAuHOndjao=", + "lastModified": 1687898314, + "narHash": "sha256-B4BHon3uMXQw8ZdbwxRK1BmxVOGBV4viipKpGaIlGwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6b3d1b1cf13f407fef5e634b224d575eb7211975", + "rev": "e18dc963075ed115afb3e312b64643bf8fd4b474", "type": "github" }, "original": { From 8ce406b9fe312f84f286cf3cd4273243e42aa15a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 1 Jul 2023 00:13:25 +0100 Subject: [PATCH 0283/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 8484e166..985bbc37 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1687969886, - "narHash": "sha256-tC2qFLmuM0PFaw0tMHVcFmzsG/351q09qa1EpuL2n1U=", + "lastModified": 1688156486, + "narHash": "sha256-L6VstXvubMUQBPrNfezR9hBsUV2Ju7ZhcrBVUiYOs8U=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7002d6bfca54742d5fc9b485a1879953b4585b9", + "rev": "0f71012724b151aa02c8f05f2dc0e121e7a4371e", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687889144, - "narHash": "sha256-kV960qwU4TKq8FKVfKjZ7kB/oDjgFgquILE3f5EKSUY=", + "lastModified": 1688073254, + "narHash": "sha256-G7Mj+X8YwDr+PXUQ+j9N2zXRvBUk3xv87m85QJarM54=", "owner": "neovim", "repo": "neovim", - "rev": "e85e7fc7bcccfa3b8f9e52ec4d6cb21591b50468", + "rev": "8758c6fb875ff5446c0dff2166e9c3392c2c31d6", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687910775, - "narHash": "sha256-Ly86o/Qe61qfcJ/IgSrSY7xO5oIOaqwYAQbbrLVr+3c=", + "lastModified": 1688083519, + "narHash": "sha256-KniAn96jd/RMlxvjSWEdmBH1ul21Covn9d2uXVVQtGI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d1ed83546b3a0713dd22e5ef4585282783be4a19", + "rev": "a43c3d96d868c70e46c6d4e4f0d4bf08e4759e11", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687793116, - "narHash": "sha256-6xRgZ2E9r/BNam87vMkHJ/0EPTTKzeNwhw3abKilEE4=", + "lastModified": 1687977148, + "narHash": "sha256-gUcXiU2GgjYIc65GOIemdBJZ+lkQxuyIh7OkR9j0gCo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e4e0807d2142d17f463b26a8b796b3fe20a3011", + "rev": "60a783e00517fce85c42c8c53fe0ed05ded5b2a4", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687898314, - "narHash": "sha256-B4BHon3uMXQw8ZdbwxRK1BmxVOGBV4viipKpGaIlGwk=", + "lastModified": 1688049487, + "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e18dc963075ed115afb3e312b64643bf8fd4b474", + "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", "type": "github" }, "original": { From 1fb3954397ff004c3e0fb6fa7825dec1e08d689f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 1 Jul 2023 00:13:51 +0100 Subject: [PATCH 0284/2258] fix(i3status-rust): override critical_bg colour --- home-manager/modules/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 4d8066ec..d037af8f 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -174,6 +174,7 @@ theme = { theme = "plain"; overrides = { + critical_bg = "#333333"; good_bg = "#333333"; good_fg = "#ffffff"; idle_bg = "#333333"; From 866dcfbd55b7d830226ca1116801150f490a5165 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 3 Jul 2023 21:31:37 +0100 Subject: [PATCH 0285/2258] chore(update) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 985bbc37..5012b21d 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1687762428, - "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", + "lastModified": 1688254665, + "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", + "rev": "267149c58a14d15f7f81b4d737308421de9d7152", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1687762428, - "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", + "lastModified": 1688254665, + "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", + "rev": "267149c58a14d15f7f81b4d737308421de9d7152", "type": "github" }, "original": { @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1688156486, - "narHash": "sha256-L6VstXvubMUQBPrNfezR9hBsUV2Ju7ZhcrBVUiYOs8U=", + "lastModified": 1688396410, + "narHash": "sha256-LVS+b806E8enHpZxqJBecz814qKd6Kc69j4nW4swfBI=", "owner": "nix-community", "repo": "home-manager", - "rev": "0f71012724b151aa02c8f05f2dc0e121e7a4371e", + "rev": "8c66b46a86afa21763766ef97d7c8be5f3954e2b", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688073254, - "narHash": "sha256-G7Mj+X8YwDr+PXUQ+j9N2zXRvBUk3xv87m85QJarM54=", + "lastModified": 1688312661, + "narHash": "sha256-e4zahWEWEXahlzrHveDVt2p/fK2aMqFGH3bNsG/gArU=", "owner": "neovim", "repo": "neovim", - "rev": "8758c6fb875ff5446c0dff2166e9c3392c2c31d6", + "rev": "4fd852b8cb88ed035203d3f9ae2e6a8258244974", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688083519, - "narHash": "sha256-KniAn96jd/RMlxvjSWEdmBH1ul21Covn9d2uXVVQtGI=", + "lastModified": 1688313823, + "narHash": "sha256-P6BvbaSQc+vkF3sfQ6KZ876G0UWBUqyt7pITxldQEqg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a43c3d96d868c70e46c6d4e4f0d4bf08e4759e11", + "rev": "63953ef16c1c23321da36bf02194a59eb3c38c59", "type": "github" }, "original": { @@ -255,11 +255,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1685564631, - "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", + "lastModified": 1688049487, + "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", + "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687977148, - "narHash": "sha256-gUcXiU2GgjYIc65GOIemdBJZ+lkQxuyIh7OkR9j0gCo=", + "lastModified": 1688221086, + "narHash": "sha256-cdW6qUL71cNWhHCpMPOJjlw0wzSRP0pVlRn2vqX/VVg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "60a783e00517fce85c42c8c53fe0ed05ded5b2a4", + "rev": "cd99c2b3c9f160cd004318e0697f90bbd5960825", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", + "lastModified": 1688231357, + "narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", + "rev": "645ff62e09d294a30de823cb568e9c6d68e92606", "type": "github" }, "original": { From c08e814009200a9603611274bcebb0ece01c5b44 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 6 Jul 2023 08:12:04 +0100 Subject: [PATCH 0286/2258] chore(update) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 5012b21d..55ed6125 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1688254665, - "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "267149c58a14d15f7f81b4d737308421de9d7152", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1688254665, - "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "267149c58a14d15f7f81b4d737308421de9d7152", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1686830987, - "narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=", + "lastModified": 1688571979, + "narHash": "sha256-asN8qFAjxZvq9HyXo0+FzVKTX+SDH2pAr71sQ06I0GE=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6", + "rev": "c6191e59824febda94b431146bf65628fc534e3b", "type": "github" }, "original": { @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1688396410, - "narHash": "sha256-LVS+b806E8enHpZxqJBecz814qKd6Kc69j4nW4swfBI=", + "lastModified": 1688552611, + "narHash": "sha256-pV/1/AU1l5CNFeKmdJ1jofcaKHhtKAbxY4gazeCyoSo=", "owner": "nix-community", "repo": "home-manager", - "rev": "8c66b46a86afa21763766ef97d7c8be5f3954e2b", + "rev": "b23c7501f7e0a001486c9a5555a6c53ac7b08e85", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688312661, - "narHash": "sha256-e4zahWEWEXahlzrHveDVt2p/fK2aMqFGH3bNsG/gArU=", + "lastModified": 1688685672, + "narHash": "sha256-V9nDfCTc8Z6f6xuxrU9jfG1o9/Rv4bqcPnuZlulv6t0=", "owner": "neovim", "repo": "neovim", - "rev": "4fd852b8cb88ed035203d3f9ae2e6a8258244974", + "rev": "36941942d60915d9f78defd6aaf713a27952e16a", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688313823, - "narHash": "sha256-P6BvbaSQc+vkF3sfQ6KZ876G0UWBUqyt7pITxldQEqg=", + "lastModified": 1688688289, + "narHash": "sha256-AwwFjWJzCfuEuR4Z8f+IsAIdAygZj93SGcaQsn2G2d8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "63953ef16c1c23321da36bf02194a59eb3c38c59", + "rev": "0c59fdc179b47cf13f7679b038e8cd683125b760", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688221086, - "narHash": "sha256-cdW6qUL71cNWhHCpMPOJjlw0wzSRP0pVlRn2vqX/VVg=", + "lastModified": 1688646010, + "narHash": "sha256-kCeza5eKI2NEi8k0EoeZfv3lN1r1Vwx+L/VA6I8tmG4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd99c2b3c9f160cd004318e0697f90bbd5960825", + "rev": "5daaa32204e9c46b05cd709218b7ba733d07e80c", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688231357, - "narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=", + "lastModified": 1688590700, + "narHash": "sha256-ZF055rIUP89cVwiLpG5xkJzx00gEuuGFF60Bs/LM3wc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "645ff62e09d294a30de823cb568e9c6d68e92606", + "rev": "f292b4964cb71f9dfbbd30dc9f511d6165cd109b", "type": "github" }, "original": { From 43235e0f5d12104bd034e2ee78052b0c00f018a6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 7 Jul 2023 09:20:12 +0100 Subject: [PATCH 0287/2258] chore(nvim): remove neogit --- home-manager/modules/common.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 6302c3e5..599c2f37 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -150,7 +150,6 @@ in # Git vimPlugins.vim-fugitive vimPlugins.vim-rhubarb - vimPlugins.neogit # Debugging vimPlugins.nvim-dap From d486ace596993f5316a11c4345d2b8aceeb87754 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 7 Jul 2023 09:22:44 +0100 Subject: [PATCH 0288/2258] feat(nixos): add and use IntelOne Mono --- home-manager/nixedo.nix | 5 ++++- system/nixos/nixedo/configuration.nix | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index e899784f..fa9234e6 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -28,7 +28,10 @@ font = { size = 12.0; - normal.family = "BlexMono Nerd Font Mono"; + normal.family = "IntelOne Mono"; + italic.style = "Regular"; + bolditalic.style = "Regular"; + bold.style = "Regular"; offset.y = 12; glyph_offset.y = 6; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index cd060874..fe57d8c2 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -182,10 +182,11 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "BlexMono Nerd Font Mono" ]; + monospace = [ "IntelOne Mono" ]; }; }; fonts = with pkgs; [ + intel-one-mono (nerdfonts.override { fonts = [ "Iosevka" From b9077d33991284a026ed332fb25978a1ee804e4f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jul 2023 12:25:40 +0100 Subject: [PATCH 0289/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 55ed6125..f1fe01cd 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1688552611, - "narHash": "sha256-pV/1/AU1l5CNFeKmdJ1jofcaKHhtKAbxY4gazeCyoSo=", + "lastModified": 1688875170, + "narHash": "sha256-hNYMNl07J22c0K0NhVyvF6cF8mahOCzBTNKT/OEQN14=", "owner": "nix-community", "repo": "home-manager", - "rev": "b23c7501f7e0a001486c9a5555a6c53ac7b08e85", + "rev": "86157256d2e0d257c53eefeb008230f043e12210", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688685672, - "narHash": "sha256-V9nDfCTc8Z6f6xuxrU9jfG1o9/Rv4bqcPnuZlulv6t0=", + "lastModified": 1688830164, + "narHash": "sha256-ZY9iudFa4m2h+e5gbaDV9S3ctAtMd9xHHfZZHjfR3tQ=", "owner": "neovim", "repo": "neovim", - "rev": "36941942d60915d9f78defd6aaf713a27952e16a", + "rev": "fbeef0d4ef1aadc4e50b9f33946cf4dca8ca6b62", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688688289, - "narHash": "sha256-AwwFjWJzCfuEuR4Z8f+IsAIdAygZj93SGcaQsn2G2d8=", + "lastModified": 1688861301, + "narHash": "sha256-wZN2JHudv3vEBvyqL76QsRKamv4ZAm0BoIhjDDEiDzs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0c59fdc179b47cf13f7679b038e8cd683125b760", + "rev": "6934dfd2375855ef860963c511164a5d3d10c848", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688646010, - "narHash": "sha256-kCeza5eKI2NEi8k0EoeZfv3lN1r1Vwx+L/VA6I8tmG4=", + "lastModified": 1688829822, + "narHash": "sha256-hv56yK1fPHPt7SU2DboxBtdSbIuv9nym7Dss7Cn2jic=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5daaa32204e9c46b05cd709218b7ba733d07e80c", + "rev": "ed6afb10dfdfc97b6bcf0703f1bad8118e9e961b", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688590700, - "narHash": "sha256-ZF055rIUP89cVwiLpG5xkJzx00gEuuGFF60Bs/LM3wc=", + "lastModified": 1688679045, + "narHash": "sha256-t3xGEfYIwhaLTPU8FLtN/pLPytNeDwbLI6a7XFFBlGo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f292b4964cb71f9dfbbd30dc9f511d6165cd109b", + "rev": "3c7487575d9445185249a159046cc02ff364bff8", "type": "github" }, "original": { From 93e04a554b9b72599ad1e0af9aced1a365d8b051 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jul 2023 12:25:55 +0100 Subject: [PATCH 0290/2258] feat: add new-drupal-module Create a new Drupal module based on my Drupal Module template - https://github.com/opdavies/drupal-module-template --- bin/new-drupal-module | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 bin/new-drupal-module diff --git a/bin/new-drupal-module b/bin/new-drupal-module new file mode 100755 index 00000000..33254cd5 --- /dev/null +++ b/bin/new-drupal-module @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +if [[ "$1" == "" || "$2" == "" ]]; then + echo "Usage: ${0##*/} "; exit 2 +fi + +set -euo pipefail + +machine_name=$1 +module_name=$2 + +wget --quiet https://github.com/opdavies/drupal-module-template/archive/refs/heads/main.zip +unzip main.zip +mv drupal-module-template-main "${machine_name}" +rm main.zip + +pushd "${machine_name}" +just rename "${module_name}" +rm -fr .github justfile phpcs.xml.dist +popd From 0348b260be9540667f58e5449d945b534b7fcaf9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jul 2023 16:34:53 +0100 Subject: [PATCH 0291/2258] refactor(new-drupal-module): use git --- bin/new-drupal-module | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/bin/new-drupal-module b/bin/new-drupal-module index 33254cd5..7eeca36b 100755 --- a/bin/new-drupal-module +++ b/bin/new-drupal-module @@ -9,12 +9,11 @@ set -euo pipefail machine_name=$1 module_name=$2 -wget --quiet https://github.com/opdavies/drupal-module-template/archive/refs/heads/main.zip -unzip main.zip -mv drupal-module-template-main "${machine_name}" -rm main.zip +git clone https://github.com/opdavies/drupal-module-template \ + --depth=1 \ + "${machine_name}" pushd "${machine_name}" just rename "${module_name}" -rm -fr .github justfile phpcs.xml.dist +rm -fr .git .github justfile phpcs.xml.dist popd From b336c18a7e0bfc0a702ca518880589def404eaf0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Jul 2023 07:04:52 +0100 Subject: [PATCH 0292/2258] chore(update) --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index f1fe01cd..f2e3b022 100644 --- a/flake.lock +++ b/flake.lock @@ -59,11 +59,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -81,11 +81,11 @@ ] }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -135,11 +135,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1686721748, - "narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=", + "lastModified": 1688568579, + "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "7192b83935ab292a8e894db590dfd44f976e183b", + "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1688571979, - "narHash": "sha256-asN8qFAjxZvq9HyXo0+FzVKTX+SDH2pAr71sQ06I0GE=", + "lastModified": 1689397210, + "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "c6191e59824febda94b431146bf65628fc534e3b", + "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", "type": "github" }, "original": { @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1688875170, - "narHash": "sha256-hNYMNl07J22c0K0NhVyvF6cF8mahOCzBTNKT/OEQN14=", + "lastModified": 1689495092, + "narHash": "sha256-yZu2j5FpLZEPhJQQutMCPTxa1VMigLPabLYvLTq6ASM=", "owner": "nix-community", "repo": "home-manager", - "rev": "86157256d2e0d257c53eefeb008230f043e12210", + "rev": "2f84579a70b8c74e5ebb37299a0c3ba279f09382", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688830164, - "narHash": "sha256-ZY9iudFa4m2h+e5gbaDV9S3ctAtMd9xHHfZZHjfR3tQ=", + "lastModified": 1689511810, + "narHash": "sha256-HfyoAybF5c+AZB4RofCXnMcJdjgcvU23g1f/PBu2i2Y=", "owner": "neovim", "repo": "neovim", - "rev": "fbeef0d4ef1aadc4e50b9f33946cf4dca8ca6b62", + "rev": "f660b794808ac809ee8cafe82ddd824840bc8e2c", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688861301, - "narHash": "sha256-wZN2JHudv3vEBvyqL76QsRKamv4ZAm0BoIhjDDEiDzs=", + "lastModified": 1689552412, + "narHash": "sha256-bOEw40ZJKg6jtH4nMVFEPm58t6D9BNV3smHMWre4AgI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6934dfd2375855ef860963c511164a5d3d10c848", + "rev": "327c6cb9cd86d78cd755bf7ad2483c2222a5d23f", "type": "github" }, "original": { @@ -238,11 +238,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1686501370, - "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", "type": "github" }, "original": { @@ -273,11 +273,11 @@ "nixpkgs-lib_2": { "locked": { "dir": "lib", - "lastModified": 1685564631, - "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", + "lastModified": 1688049487, + "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", + "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688829822, - "narHash": "sha256-hv56yK1fPHPt7SU2DboxBtdSbIuv9nym7Dss7Cn2jic=", + "lastModified": 1689449371, + "narHash": "sha256-sK3Oi8uEFrFPL83wKPV6w0+96NrmwqIpw9YFffMifVg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed6afb10dfdfc97b6bcf0703f1bad8118e9e961b", + "rev": "29bcead8405cfe4c00085843eb372cc43837bb9d", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688679045, - "narHash": "sha256-t3xGEfYIwhaLTPU8FLtN/pLPytNeDwbLI6a7XFFBlGo=", + "lastModified": 1689534811, + "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3c7487575d9445185249a159046cc02ff364bff8", + "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222", "type": "github" }, "original": { From a1a4ee337423914f98f4e9e44d0588088aa18328 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 17 Jul 2023 20:16:55 +0100 Subject: [PATCH 0293/2258] feat(nvim): add vim-easy-align --- home-manager/modules/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 599c2f37..534e6b89 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -130,6 +130,7 @@ in vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.vim-abolish + vimPlugins.vim-easy-align vimPlugins.vim-eunuch vimPlugins.vim-floaterm vimPlugins.vim-highlightedyank From 6345e57c75f5fdabad1bb4039c53e6b81f1b8637 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:21:05 +0100 Subject: [PATCH 0294/2258] feat(nvim): add terraform-ls --- home-manager/modules/common.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 534e6b89..20d86af1 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -219,11 +219,13 @@ in nodePackages.dockerfile-language-server-nodejs nodePackages.typescript-language-server nodePackages.vls - nodePackages.vue-language-server + nodePackages.volar nodePackages.vscode-langservers-extracted + nodePackages.vue-language-server nodePackages.yaml-language-server phpactor rnix-lsp + terraform-ls # Formatters black From 367cc7600bc50be2c909a32663ce8005df8b018d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:21:59 +0100 Subject: [PATCH 0295/2258] fix(sway): background colours --- home-manager/modules/home-manager.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index d037af8f..236488ff 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -57,7 +57,7 @@ bars = [ { colors = { - background = "#323232"; + background = "#222222"; focusedWorkspace = { background = "#ffffff"; border = "#ffffff"; @@ -174,15 +174,15 @@ theme = { theme = "plain"; overrides = { - critical_bg = "#333333"; - good_bg = "#333333"; + critical_bg = "#222222"; + good_bg = "#222222"; good_fg = "#ffffff"; - idle_bg = "#333333"; + idle_bg = "#222222"; idle_fg = "#ffffff"; - info_bg = "#333333"; + info_bg = "#222222"; info_fg = "#ffffff"; - separator_bg = "#333333"; - warning_bg = "#333333"; + separator_bg = "#222222"; + warning_bg = "#222222"; warning_fg = "#ffffff"; }; }; From ebf27538d6c213594c6fa18303c5628786282115 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:23:55 +0100 Subject: [PATCH 0296/2258] feat(nixos): use Firefox Developer Edition --- home-manager/nixedo.nix | 5 +++++ system/nixos/nixedo/configuration.nix | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index fa9234e6..17b644fb 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -14,6 +14,11 @@ home.username = "opdavies"; home.homeDirectory = "/home/opdavies"; + programs.firefox = { + enable = true; + package = pkgs.firefox-devedition; + }; + programs.alacritty = { enable = true; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index fe57d8c2..91d69335 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -112,7 +112,7 @@ in isNormalUser = true; description = "Oliver Davies"; extraGroups = [ "docker" "networkmanager" "wheel" ]; - packages = with pkgs; [ firefox ]; + packages = with pkgs; []; }; security.sudo.wheelNeedsPassword = false; From c0243ed7ef7afcc01db0c38e18e9d6b73c65aadc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:24:52 +0100 Subject: [PATCH 0297/2258] feat(nixos): update kernel packages --- system/nixos/nixedo/hardware-configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system/nixos/nixedo/hardware-configuration.nix b/system/nixos/nixedo/hardware-configuration.nix index 6cb9d0d3..127aef08 100644 --- a/system/nixos/nixedo/hardware-configuration.nix +++ b/system/nixos/nixedo/hardware-configuration.nix @@ -13,6 +13,9 @@ boot.kernelParams = [ "i8042.reset" ]; boot.extraModulePackages = [ ]; + boot.kernelPackages = pkgs.linuxPackages_latest; + hardware.enableAllFirmware = true; + fileSystems."/" = { device = "/dev/disk/by-uuid/7c6d69ec-ba06-4ddb-b9c4-62b3994fda91"; fsType = "ext4"; From 3d93030568ea10dbea361cf57f970f1ad40c7072 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:51:00 +0100 Subject: [PATCH 0298/2258] feat(zsh): add tf alias --- home-manager/modules/zsh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 38335bf5..d36d46e9 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -130,6 +130,8 @@ ialias system-repair='sudo nixos-rebuild switch --repair' ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' + alias tf="terraform" + # Build Configs. ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" From 2a5cc1253dd3b427d17ddbb3804eacca6be0ed74 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:51:09 +0100 Subject: [PATCH 0299/2258] chore(update) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f2e3b022..80bb2018 100644 --- a/flake.lock +++ b/flake.lock @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689511810, - "narHash": "sha256-HfyoAybF5c+AZB4RofCXnMcJdjgcvU23g1f/PBu2i2Y=", + "lastModified": 1689612014, + "narHash": "sha256-YPWIQhSXkzmGF9sgJVkgSaJ0kgzEsGYCv+rVTrlSMnY=", "owner": "neovim", "repo": "neovim", - "rev": "f660b794808ac809ee8cafe82ddd824840bc8e2c", + "rev": "80cf0f3d29fa337d43ec417759cb061bd2798ea8", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689552412, - "narHash": "sha256-bOEw40ZJKg6jtH4nMVFEPm58t6D9BNV3smHMWre4AgI=", + "lastModified": 1689638688, + "narHash": "sha256-E/kTqQ7YrwOtan04EEtjTyOEp9mPhoV2zqytCHMSLLM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "327c6cb9cd86d78cd755bf7ad2483c2222a5d23f", + "rev": "e928495752ad03c3e2285eec9296562aff4de042", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689449371, - "narHash": "sha256-sK3Oi8uEFrFPL83wKPV6w0+96NrmwqIpw9YFffMifVg=", + "lastModified": 1689601424, + "narHash": "sha256-WEqoSflQP65MF9O9k+JEkvUXMEoyCatmMAoLOowcEoE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29bcead8405cfe4c00085843eb372cc43837bb9d", + "rev": "d0f2758381caca8b4fb4a6cac61721cc9de06bd9", "type": "github" }, "original": { From 9980f80e0b5f49b18e0c55b84fc091eecb2ceb66 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jul 2023 20:51:40 +0100 Subject: [PATCH 0300/2258] feat(scripts): name the service name configurable --- bin/import-gzip-database | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/import-gzip-database b/bin/import-gzip-database index aa173377..9a6cf7ef 100755 --- a/bin/import-gzip-database +++ b/bin/import-gzip-database @@ -11,7 +11,7 @@ shift 1 pv "${filename}" \ | zcat \ - | docker compose exec -T database mysql \ + | docker compose exec -T "${SERVICE_NAME:-database}" mysql \ -p"${DB_PASSWORD:-app}" \ -u"${DB_USER:-app}" \ "${DB_NAME:-app}" From 648e9ee02316d46497a027777b62a919616ea0ab Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jul 2023 11:38:36 +0100 Subject: [PATCH 0301/2258] feat(scripts): add develop Add a `develop` script that runs either Docker Compose or Nix depending on which files are present within the repository. Also add a `dev` alias for the `develop` script. --- bin/develop | 23 +++++++++++++++++++++++ home-manager/modules/zsh.nix | 1 + 2 files changed, 24 insertions(+) create mode 100755 bin/develop diff --git a/bin/develop b/bin/develop new file mode 100755 index 00000000..b54724cf --- /dev/null +++ b/bin/develop @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# Starts a project using the appropriate Docker Compose or Nix Flake command. + +set -euo pipefail + +if [[ -f docker-compose.yml ]]; then + docker compose up -d "${@}" + exit 0 +fi + +if [[ -f docker-compose.yaml ]]; then + docker compose up -d "${@}" + exit 0 +fi + +if [[ -f flake.nix ]]; then + nix develop -c "$SHELL" + exit 0 +fi + +echo "No docker-compose.yaml or flake.nix file found." +exit 1 diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index d36d46e9..4001026d 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -76,6 +76,7 @@ bindkey -M isearch " " magic-space ialias cs="create-script" + ialias dev="develop" ialias fetch="git fetch --all --jobs=4 --progress --prune" ialias run="./run" ialias pull="git pull --autostash --jobs=4 --summary origin" From 1b397749ca3e4118131821ad00b5425ce538fc8b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jul 2023 21:39:35 +0100 Subject: [PATCH 0302/2258] revert(nvim): invoke completion menu manually This reverts commit 1366a9d472b6d2352b0eef0c849d1be45194e1cf. --- config/neovim/lua/opdavies/lsp/init.lua | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index ee505f13..0fcae81c 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -78,10 +78,7 @@ vim.diagnostic.config({ cmp.setup({ preselect = 'item', completion = { - autocomplete = false, - }, - mapping = { - [''] = cmp.mapping.complete(), + completeopt = 'menu,menuone,noinsert' }, }) From dae27fdef86f6c802485057adbc952ca4c665ebf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 20 Jul 2023 09:26:31 +0100 Subject: [PATCH 0303/2258] fix(scripts): use Flake by default if it exists --- bin/develop | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/develop b/bin/develop index b54724cf..ae573526 100755 --- a/bin/develop +++ b/bin/develop @@ -4,6 +4,11 @@ set -euo pipefail +if [[ -f flake.nix ]]; then + nix develop -c "$SHELL" + exit 0 +fi + if [[ -f docker-compose.yml ]]; then docker compose up -d "${@}" exit 0 @@ -14,10 +19,5 @@ if [[ -f docker-compose.yaml ]]; then exit 0 fi -if [[ -f flake.nix ]]; then - nix develop -c "$SHELL" - exit 0 -fi - echo "No docker-compose.yaml or flake.nix file found." exit 1 From 19fcc6c317f455128b8861a5f23fcea7ee9f86ca Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 20 Jul 2023 09:35:52 +0100 Subject: [PATCH 0304/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 80bb2018..b50bcb21 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1689495092, - "narHash": "sha256-yZu2j5FpLZEPhJQQutMCPTxa1VMigLPabLYvLTq6ASM=", + "lastModified": 1689802112, + "narHash": "sha256-Se7oHV/L0dHTQ4xp8MvYafaVdkSzF04Hx5NeloUYHtM=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f84579a70b8c74e5ebb37299a0c3ba279f09382", + "rev": "0cb3ac57fca6b52c42e4c0f560185540ae1dfb6c", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689612014, - "narHash": "sha256-YPWIQhSXkzmGF9sgJVkgSaJ0kgzEsGYCv+rVTrlSMnY=", + "lastModified": 1689785735, + "narHash": "sha256-QdjWbe4oNjIazmOrbJ9u5GadaqTV44RiYbiZoLgNKC8=", "owner": "neovim", "repo": "neovim", - "rev": "80cf0f3d29fa337d43ec417759cb061bd2798ea8", + "rev": "86ce3878d662c1dbfec61a5ad8e7c16c4283ed5c", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689638688, - "narHash": "sha256-E/kTqQ7YrwOtan04EEtjTyOEp9mPhoV2zqytCHMSLLM=", + "lastModified": 1689811489, + "narHash": "sha256-rQ1gnq+ApoowEic21nIYIeQ0Qibb3IEEtwv0LgNIYDc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e928495752ad03c3e2285eec9296562aff4de042", + "rev": "65f2e8da89ba400e7bbad6fe2f51af0ed9f7e968", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689601424, - "narHash": "sha256-WEqoSflQP65MF9O9k+JEkvUXMEoyCatmMAoLOowcEoE=", + "lastModified": 1689752456, + "narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d0f2758381caca8b4fb4a6cac61721cc9de06bd9", + "rev": "7f256d7da238cb627ef189d56ed590739f42f13b", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1689534811, - "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=", + "lastModified": 1689679375, + "narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222", + "rev": "684c17c429c42515bafb3ad775d2a710947f3d67", "type": "github" }, "original": { From 0365947a6aeca2fc30c1a5312e8049da106f02fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 21 Jul 2023 22:11:45 +0100 Subject: [PATCH 0305/2258] chore(update) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index b50bcb21..87eb858c 100644 --- a/flake.lock +++ b/flake.lock @@ -177,11 +177,11 @@ ] }, "locked": { - "lastModified": 1689802112, - "narHash": "sha256-Se7oHV/L0dHTQ4xp8MvYafaVdkSzF04Hx5NeloUYHtM=", + "lastModified": 1689891262, + "narHash": "sha256-Pc4wDczbdgd6QXKJIXprgxe7L9AVDsoAkMnvm5vmpUU=", "owner": "nix-community", "repo": "home-manager", - "rev": "0cb3ac57fca6b52c42e4c0f560185540ae1dfb6c", + "rev": "ee5673246de0254186e469935909e821b8f4ec15", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689785735, - "narHash": "sha256-QdjWbe4oNjIazmOrbJ9u5GadaqTV44RiYbiZoLgNKC8=", + "lastModified": 1689836628, + "narHash": "sha256-CDbbn0N6eiknKa4KrYc6+4LAb4za2IYSw/YGy5BPdcQ=", "owner": "neovim", "repo": "neovim", - "rev": "86ce3878d662c1dbfec61a5ad8e7c16c4283ed5c", + "rev": "63b3408551561127f7845470eb51404bcd6f547b", "type": "github" }, "original": { @@ -223,11 +223,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689811489, - "narHash": "sha256-rQ1gnq+ApoowEic21nIYIeQ0Qibb3IEEtwv0LgNIYDc=", + "lastModified": 1689897867, + "narHash": "sha256-qr3jIEZh6k83i5JBfJ1GuwSTybekrioSnd3iaZACr5g=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "65f2e8da89ba400e7bbad6fe2f51af0ed9f7e968", + "rev": "258dfdf8fec67a1cea88a71d7613584300e062a0", "type": "github" }, "original": { @@ -290,11 +290,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689752456, - "narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=", + "lastModified": 1689844446, + "narHash": "sha256-ud/6XYWbXFAJuTTApWyYlFtlc54NAxChS1T9Ns+qT7M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7f256d7da238cb627ef189d56ed590739f42f13b", + "rev": "2d82894fa1e2d23a22f40275a78bfbb09b92ffde", "type": "github" }, "original": { @@ -306,11 +306,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1689679375, - "narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=", + "lastModified": 1689850295, + "narHash": "sha256-fUYf6WdQlhd2H+3aR8jST5dhFH1d0eE22aes8fNIfyk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "684c17c429c42515bafb3ad775d2a710947f3d67", + "rev": "5df4d78d54f7a34e9ea1f84a22b4fd9baebc68d0", "type": "github" }, "original": { From f61697da02abce25f2947beef3563906e51a97c6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 22 Jul 2023 08:45:01 +0100 Subject: [PATCH 0306/2258] chore(nvim): switch to stable --- flake.lock | 277 +------------------------------- flake.nix | 12 +- home-manager/modules/common.nix | 1 - 3 files changed, 8 insertions(+), 282 deletions(-) diff --git a/flake.lock b/flake.lock index 87eb858c..33f50b4c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,21 +1,5 @@ { "nodes": { - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -33,143 +17,6 @@ "type": "indirect" } }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": [ - "neovim-nightly", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": [ - "neovim-nightly", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "haskell-flake": { - "locked": { - "lastModified": 1684780604, - "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", - "owner": "srid", - "repo": "haskell-flake", - "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", - "type": "github" - }, - "original": { - "owner": "srid", - "ref": "0.3.0", - "repo": "haskell-flake", - "type": "github" - } - }, - "hercules-ci-agent": { - "inputs": { - "flake-parts": "flake-parts_4", - "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1688568579, - "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", - "owner": "hercules-ci", - "repo": "hercules-ci-agent", - "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", - "type": "github" - }, - "original": { - "id": "hercules-ci-agent", - "type": "indirect" - } - }, - "hercules-ci-effects": { - "inputs": { - "flake-parts": "flake-parts_3", - "hercules-ci-agent": "hercules-ci-agent", - "nixpkgs": [ - "neovim-nightly", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1689397210, - "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -190,63 +37,17 @@ "type": "github" } }, - "neovim-flake": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "neovim-nightly", - "nixpkgs" - ] - }, - "locked": { - "dir": "contrib", - "lastModified": 1689836628, - "narHash": "sha256-CDbbn0N6eiknKa4KrYc6+4LAb4za2IYSw/YGy5BPdcQ=", - "owner": "neovim", - "repo": "neovim", - "rev": "63b3408551561127f7845470eb51404bcd6f547b", - "type": "github" - }, - "original": { - "dir": "contrib", - "owner": "neovim", - "repo": "neovim", - "type": "github" - } - }, - "neovim-nightly": { - "inputs": { - "flake-compat": "flake-compat", - "flake-parts": "flake-parts_2", - "hercules-ci-effects": "hercules-ci-effects", - "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1689897867, - "narHash": "sha256-qr3jIEZh6k83i5JBfJ1GuwSTybekrioSnd3iaZACr5g=", - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "rev": "258dfdf8fec67a1cea88a71d7613584300e062a0", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", - "owner": "NixOS", + "lastModified": 1689940971, + "narHash": "sha256-397xShPnFqPC59Bmpo3lS+/Aw0yoDRMACGo1+h2VJMo=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "9ca785644d067445a4aa749902b29ccef61f7476", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -270,77 +71,11 @@ "type": "github" } }, - "nixpkgs-lib_2": { - "locked": { - "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1689844446, - "narHash": "sha256-ud/6XYWbXFAJuTTApWyYlFtlc54NAxChS1T9Ns+qT7M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2d82894fa1e2d23a22f40275a78bfbb09b92ffde", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1689850295, - "narHash": "sha256-fUYf6WdQlhd2H+3aR8jST5dhFH1d0eE22aes8fNIfyk=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5df4d78d54f7a34e9ea1f84a22b4fd9baebc68d0", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", - "neovim-nightly": "neovim-nightly", - "nixpkgs": "nixpkgs_3" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" + "nixpkgs": "nixpkgs" } } }, diff --git a/flake.nix b/flake.nix index e906fdbc..cde12e85 100644 --- a/flake.nix +++ b/flake.nix @@ -1,14 +1,10 @@ { inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.url = "github:nix-community/home-manager"; - inputs.neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; outputs = - inputs@{ flake-parts, home-manager, neovim-nightly, nixpkgs, self, ... }: - let - overlays = [ neovim-nightly.overlay ]; - in + inputs@{ flake-parts, home-manager, nixpkgs, self, ... }: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; @@ -22,8 +18,6 @@ nixosConfigurations = { apollo = nixpkgs.lib.nixosSystem { modules = [ - { nixpkgs.overlays = overlays; } - ./system/nixos/apollo/configuration.nix home-manager.nixosModules.home-manager @@ -37,8 +31,6 @@ nixedo = nixpkgs.lib.nixosSystem { modules = [ - { nixpkgs.overlays = overlays; } - ./system/nixos/nixedo/configuration.nix home-manager.nixosModules.home-manager @@ -53,7 +45,7 @@ homeConfigurations = { wsl2 = home-manager.lib.homeManagerConfiguration { - modules = [{ nixpkgs.overlays = overlays; } ./system/wsl2.nix]; + modules = [ ./system/wsl2.nix ]; pkgs = nixpkgs.legacyPackages.x86_64-linux; }; }; diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 20d86af1..6f9ce6cf 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -102,7 +102,6 @@ in programs.neovim = { enable = true; - package = pkgs.neovim-nightly; viAlias = true; vimAlias = true; From 0580fd54dcdcfe0d5a12f8c774aa8cae5db4e339 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 22 Jul 2023 09:22:46 +0100 Subject: [PATCH 0307/2258] feat(nvim): configure lualine --- config/neovim/after/plugin/lualine.lua | 16 +++++++++++++++- home-manager/modules/common.nix | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua index fdf27a14..dab4c63c 100644 --- a/config/neovim/after/plugin/lualine.lua +++ b/config/neovim/after/plugin/lualine.lua @@ -3,4 +3,18 @@ if not status_ok then return end -lualine.setup {} +lualine.setup { + options = { + component_separators = { left = "", right = "" }, + extensions = { "fzf", "quickfix" }, + icons_enabled = false, + section_separators = { left = "", right = "" }, + theme = "catppuccin", + }, + sections = { + lualine_c = { + "filename", + "lsp_progress", + }, + }, +} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 6f9ce6cf..b96f89ab 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -121,6 +121,8 @@ in vimPlugins.harpoon vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim + vimPlugins.lualine-lsp-progress + vimPlugins.lualine-nvim vimPlugins.nvim-autopairs vimPlugins.nvim-lastplace vimPlugins.nvim-ts-autotag From 6c5b015aee273618332d16dd028fa99f703e416a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 22 Jul 2023 09:24:10 +0100 Subject: [PATCH 0308/2258] chore(nvim): remove intelephense --- config/neovim/lua/opdavies/lsp/init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 0fcae81c..ca34699d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -28,7 +28,6 @@ lsp.setup_servers({ 'cssls', 'dockerls', 'html', - 'intelephense', 'jsonls', 'nixd', 'phpactor', From 1dd6dc16e534ba30b091de27fc414a241d822fa2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 22 Jul 2023 23:10:30 +0100 Subject: [PATCH 0309/2258] chore(sway): change the workspace number Change the assigned workspace from 10 to 9. --- home-manager/modules/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 236488ff..7275280c 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -47,7 +47,7 @@ "1" = [{ app_id = "firefox"; }]; "2" = [{ app_id = "Alacritty"; }]; "3" = [{ class = "vlc"; }]; - "10" = [ + "9" = [ { class = "Slack"; } { class = "discord"; } ]; From e0c37b06e758c2e5a4015f3b5300e80122bfc4eb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 24 Jul 2023 15:12:03 +0100 Subject: [PATCH 0310/2258] feat(zoom): configure window settings --- home-manager/modules/home-manager.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 7275280c..8abc4f61 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -128,6 +128,13 @@ bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ for_window [class="vlc"] inhibit_idle fullscreen + + for_window [app_id="zoom"] floating enable + for_window [app_id="zoom" title="Choose ONE of the audio conference options"] floating enable + for_window [app_id="firefox" title="Firefox — Sharing Indicator"] floating enable + for_window [app_id="zoom" title="zoom"] floating enable + for_window [app_id="zoom" title="Zoom Meeting"] floating disable + for_window [app_id="zoom" title="Zoom - Free Account"] floating disable ''; }; From b6a390686510acdc0b44874c1b496d6339de1519 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 25 Jul 2023 09:07:41 +0100 Subject: [PATCH 0311/2258] feat(sway): auto-start Firefox and Alacritty --- home-manager/modules/home-manager.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home-manager/modules/home-manager.nix b/home-manager/modules/home-manager.nix index 8abc4f61..6b894254 100644 --- a/home-manager/modules/home-manager.nix +++ b/home-manager/modules/home-manager.nix @@ -127,6 +127,9 @@ bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + exec alacritty + exec firefox + for_window [class="vlc"] inhibit_idle fullscreen for_window [app_id="zoom"] floating enable From 346960f313c01afee62dcab90a8e4a1bc5386211 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 25 Jul 2023 20:24:47 +0100 Subject: [PATCH 0312/2258] feat(git): set the default branch name for new ...repositories When running `git init` to initialise a new repository, set the default branch name that will be used. In this case, the branch name will be `main` instead of the old default, `master`. --- home-manager/modules/git.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index ca139507..69757279 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -92,7 +92,10 @@ fetch.prune = true; grep.lineNumber = true; help.autocorrect = "1"; - init.templatedir = "~/.git_template"; + init = { + defaultBranch = "main"; + templatedir = "~/.git_template"; + }; merge.ff = "only"; rebase = { autosquash = true; From a02e2765f44c8de5c7743d64f892645e98e1c71a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 26 Jul 2023 09:53:23 +0100 Subject: [PATCH 0313/2258] feat(nvim): add mappings for cnext and cprev --- config/neovim/lua/opdavies/lsp/init.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index ca34699d..2b75f1b4 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -13,6 +13,11 @@ local on_attach = function(client, bufnr) vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) vim.keymap.set("n", "f", function() vim.lsp.buf.format({ async = true }) end, opts) vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) + + vim.keymap.set("n", "", "cnextzz") + vim.keymap.set("n", "", "cprevzz") + vim.keymap.set("n", "j", "lprevzz") + vim.keymap.set("n", "k", "lnextzz") end lsp.on_attach(on_attach) From 000bb2fd5e5382f399bb475be50a47f2bfbd4fe4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 28 Jul 2023 09:02:15 +0100 Subject: [PATCH 0314/2258] revert(nvim): add mappings for cnext and cprev Removing these keymaps as they conflict with C-j and C-k which navigates between horizontal splits in tmux. I also already have `]q`, `[q`, `]l` and `[l` that do the same `cnext` and `lnext` navigation. This reverts commit a02e2765f44c8de5c7743d64f892645e98e1c71a. --- config/neovim/lua/opdavies/lsp/init.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 2b75f1b4..ca34699d 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -13,11 +13,6 @@ local on_attach = function(client, bufnr) vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) vim.keymap.set("n", "f", function() vim.lsp.buf.format({ async = true }) end, opts) vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) - - vim.keymap.set("n", "", "cnextzz") - vim.keymap.set("n", "", "cprevzz") - vim.keymap.set("n", "j", "lprevzz") - vim.keymap.set("n", "k", "lnextzz") end lsp.on_attach(on_attach) From c076c756e6cb847418b2aca3fd730ebfe7f11a55 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Jul 2023 22:53:42 +0100 Subject: [PATCH 0315/2258] refactor(nixos): remove unused overlay --- system/nixos/nixedo/configuration.nix | 10 ++++++---- system/shared/nixpkgs.nix | 5 ----- system/shared/overlays.nix | 1 - 3 files changed, 6 insertions(+), 10 deletions(-) delete mode 100644 system/shared/nixpkgs.nix delete mode 100644 system/shared/overlays.nix diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 91d69335..36e5e8a5 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -5,8 +5,6 @@ { config, lib, pkgs, ... }: let - nixpkgs = import ../../shared/nixpkgs.nix { }; - configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -24,13 +22,17 @@ let }; in { - nixpkgs = nixpkgs; - imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; + nixpkgs = { + config = { + allowUnfree = true; + }; + }; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/system/shared/nixpkgs.nix b/system/shared/nixpkgs.nix deleted file mode 100644 index a39e65de..00000000 --- a/system/shared/nixpkgs.nix +++ /dev/null @@ -1,5 +0,0 @@ -{}: { - config = { allowUnfree = true; }; - - overlays = [ (import ./overlays.nix) ]; -} diff --git a/system/shared/overlays.nix b/system/shared/overlays.nix deleted file mode 100644 index ddb4f237..00000000 --- a/system/shared/overlays.nix +++ /dev/null @@ -1 +0,0 @@ -self: super: { } From 6155b77e994886ed932138e5f6a4ed963e627f1a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Jul 2023 23:01:46 +0100 Subject: [PATCH 0316/2258] refactor(flake): reformat inputs --- flake.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index cde12e85..af4bf242 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,9 @@ { - inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs"; - inputs.home-manager.url = "github:nix-community/home-manager"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs = { + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + }; outputs = inputs@{ flake-parts, home-manager, nixpkgs, self, ... }: From 212b62e1642e9130dd1e00a3b45b5470186d462f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 4 Aug 2023 20:11:54 +0100 Subject: [PATCH 0317/2258] chore(update) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 33f50b4c..ba4af096 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", "type": "github" }, "original": { @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1689891262, - "narHash": "sha256-Pc4wDczbdgd6QXKJIXprgxe7L9AVDsoAkMnvm5vmpUU=", + "lastModified": 1691143977, + "narHash": "sha256-zXHmmghQdDLecVxFedRxSny4FtVH9lig1/BKObsHwfg=", "owner": "nix-community", "repo": "home-manager", - "rev": "ee5673246de0254186e469935909e821b8f4ec15", + "rev": "15043a65915bcc16ad207d65b202659e4988066b", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1689940971, - "narHash": "sha256-397xShPnFqPC59Bmpo3lS+/Aw0yoDRMACGo1+h2VJMo=", + "lastModified": 1691006197, + "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9ca785644d067445a4aa749902b29ccef61f7476", + "rev": "66aedfd010204949cb225cf749be08cb13ce1813", "type": "github" }, "original": { @@ -56,11 +56,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", + "lastModified": 1690881714, + "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", + "rev": "9e1960bc196baf6881340d53dccb203a951745a2", "type": "github" }, "original": { From 8f4aa7bbfc005b31b00f6a368a95d7910ef6dfd0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 4 Aug 2023 20:40:56 +0100 Subject: [PATCH 0318/2258] chore: remove apollo configuration Remove the configuraton for my `apollo` laptop as I don't use it regularly and I want to simplify my configuration before I refactor it. --- flake.nix | 13 -- home-manager/apollo.nix | 38 ---- system/nixos/apollo/configuration.nix | 172 ------------------ system/nixos/apollo/default.nix | 15 -- .../nixos/apollo/hardware-configuration.nix | 41 ----- 5 files changed, 279 deletions(-) delete mode 100644 home-manager/apollo.nix delete mode 100644 system/nixos/apollo/configuration.nix delete mode 100644 system/nixos/apollo/default.nix delete mode 100644 system/nixos/apollo/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index af4bf242..f1da5dff 100644 --- a/flake.nix +++ b/flake.nix @@ -18,19 +18,6 @@ flake = { nixosConfigurations = { - apollo = nixpkgs.lib.nixosSystem { - modules = [ - ./system/nixos/apollo/configuration.nix - - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.opdavies = import ./home-manager/apollo.nix; - } - ]; - }; - nixedo = nixpkgs.lib.nixosSystem { modules = [ ./system/nixos/nixedo/configuration.nix diff --git a/home-manager/apollo.nix b/home-manager/apollo.nix deleted file mode 100644 index 1710c5ee..00000000 --- a/home-manager/apollo.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - imports = [ - ./modules/common.nix - ./modules/git.nix - ./modules/home-manager.nix - ./modules/tmux.nix - ./modules/zsh.nix - ]; - - home.stateVersion = "22.05"; - - home.username = "opdavies"; - home.homeDirectory = "/home/opdavies"; - - programs.alacritty = { - enable = true; - - settings = { - window.padding = { - x = 15; - y = 15; - }; - - font = { - size = 12.0; - - normal.family = "JetBrainsMono Nerd Font"; - - offset.y = 12; - glyph_offset.y = 6; - }; - - shell = { program = "zsh"; }; - }; - }; -} diff --git a/system/nixos/apollo/configuration.nix b/system/nixos/apollo/configuration.nix deleted file mode 100644 index 33b3dca8..00000000 --- a/system/nixos/apollo/configuration.nix +++ /dev/null @@ -1,172 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: - -let - home-manager = builtins.fetchTarball - "https://github.com/nix-community/home-manager/archive/master.tar.gz"; -in -{ - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.efi.efiSysMountPoint = "/boot/efi"; - - networking.hostName = "apollo"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.utf8"; - - services.xserver = { - enable = true; - layout = "gb"; - xkbVariant = ""; - }; - - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Enable Bluetooth. - services.blueman.enable = true; - - # Configure console keymap - console.keyMap = "uk"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.opdavies = { - isNormalUser = true; - description = "Oliver Davies"; - extraGroups = [ "docker" "networkmanager" "wheel" ]; - packages = with pkgs; [ - alacritty - chromium - copyq - discord - firefox - flameshot - gimp - github-desktop - kdenlive - slack - vlc - zoom-us - - gnomeExtensions.caffeine - ]; - }; - - environment.gnome.excludePackages = (with pkgs; [ gnome-photos gnome-tour ]) - ++ (with pkgs.gnome; [ - atomix - cheese - evince - geary - gedit - gnome-characters - gnome-music - gnome-terminal - hitori - iagno - tali - totem - ]); - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; - [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.05"; # Did you read the comment? - - virtualisation.docker.enable = true; - - programs.zsh.enable = true; - programs.zsh.histSize = 5000; - - users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; - - fonts.fonts = with pkgs; - [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; - - services.cron = { - enable = true; - - systemCronJobs = [ - "0 9 * * * opdavies find ~/Downloads -daystart -mtime +2 -delete -print >> /tmp/cron.log" - ]; - }; -} diff --git a/system/nixos/apollo/default.nix b/system/nixos/apollo/default.nix deleted file mode 100644 index 9c9b2695..00000000 --- a/system/nixos/apollo/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - imports = [ - # ./configuration.nix - - # ../../../home-manager/modules/common.nix - # ../../../home-manager/modules/git.nix - # ../../../home-manager/modules/home-manager.nix - # ../../../home-manager/modules/tmux.nix - # ../../../home-manager/modules/zsh.nix - ]; - - home.packages = with pkgs; [ docker docker-compose ]; -} diff --git a/system/nixos/apollo/hardware-configuration.nix b/system/nixos/apollo/hardware-configuration.nix deleted file mode 100644 index f3fb9e5c..00000000 --- a/system/nixos/apollo/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - - boot.initrd.availableKernelModules = - [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/62b28eee-5b67-41af-9fcf-95e8171e1897"; - fsType = "ext4"; - }; - - fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/378D-387D"; - fsType = "vfat"; - }; - - swapDevices = - [{ device = "/dev/disk/by-uuid/f95ef42e-09d9-4198-b8f3-2e22ea8c4f9e"; }]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp53s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp54s0.useDHCP = lib.mkDefault true; - - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; - - hardware.bluetooth.enable = true; -} From b68ad75ce32cc82b740034bee07655fffcfe8766 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 3 Aug 2023 22:59:10 +0100 Subject: [PATCH 0319/2258] build(flake): switch to stable by default Switch to using the stable version of nixpkgs but still use unstable where it's needed. --- flake.lock | 34 ++++++++++++++----- flake.nix | 27 +++++++++++---- home-manager/modules/common.nix | 10 +++--- .../modules/home-manager-packages.nix | 4 +-- home-manager/nixedo.nix | 2 +- system/nixos/nixedo/configuration.nix | 2 +- 6 files changed, 56 insertions(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index ba4af096..d3eb982a 100644 --- a/flake.lock +++ b/flake.lock @@ -24,31 +24,32 @@ ] }, "locked": { - "lastModified": 1691143977, - "narHash": "sha256-zXHmmghQdDLecVxFedRxSny4FtVH9lig1/BKObsHwfg=", + "lastModified": 1687871164, + "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", "owner": "nix-community", "repo": "home-manager", - "rev": "15043a65915bcc16ad207d65b202659e4988066b", + "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-23.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1691006197, - "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", + "lastModified": 1691065946, + "narHash": "sha256-IVSh42Q3oJwUjgLKMdzH5fMx+fk1z3V735gK1Izj1Zw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "66aedfd010204949cb225cf749be08cb13ce1813", + "rev": "e9ca92b55bed47696cc7cc25d3f854a1e2e01f86", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } @@ -71,11 +72,28 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1691006197, + "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "66aedfd010204949cb225cf749be08cb13ce1813", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" } } }, diff --git a/flake.nix b/flake.nix index f1da5dff..76bf2d90 100644 --- a/flake.nix +++ b/flake.nix @@ -1,12 +1,22 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager.url = "github:nix-community/home-manager/release-23.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; }; outputs = - inputs@{ flake-parts, home-manager, nixpkgs, self, ... }: + inputs@{ flake-parts, home-manager, nixpkgs, nixpkgs-unstable, self, ... }: + let + system = "x86_64-linux"; + + specialArgs = { + pkgs-unstable = import nixpkgs-unstable { + inherit inputs system; + }; + }; + in flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; @@ -19,14 +29,19 @@ flake = { nixosConfigurations = { nixedo = nixpkgs.lib.nixosSystem { + inherit specialArgs; + modules = [ ./system/nixos/nixedo/configuration.nix home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.opdavies = import ./home-manager/nixedo.nix; + home-manager = { + extraSpecialArgs = specialArgs; + useGlobalPkgs = true; + useUserPackages = true; + users.opdavies = import ./home-manager/nixedo.nix; + }; } ]; }; diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index b96f89ab..ce1cec99 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: let vim-astro = pkgs.vimUtils.buildVimPlugin { @@ -75,7 +75,7 @@ in nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "postman" ]; - home.packages = (import ./home-manager-packages.nix) { inherit pkgs; }; + home.packages = (import ./home-manager-packages.nix) { inherit pkgs pkgs-unstable; }; home.file."nodemon.json".text = '' { @@ -165,9 +165,9 @@ in # LSP vimPlugins.null-ls-nvim - vimPlugins.nvim-lspconfig vimPlugins.lsp-status-nvim - vimPlugins.lsp-zero-nvim + pkgs-unstable.vimPlugins.lsp-zero-nvim + pkgs-unstable.vimPlugins.nvim-lspconfig # Completion vimPlugins.cmp-buffer @@ -212,7 +212,6 @@ in # Language servers ansible-language-server lua53Packages.lua-lsp - nixd nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" @@ -225,6 +224,7 @@ in nodePackages.vue-language-server nodePackages.yaml-language-server phpactor + pkgs-unstable.nixd rnix-lsp terraform-ls diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix index e6220e06..6ad1e2bd 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/home-manager/modules/home-manager-packages.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, pkgs-unstable, ... }: with pkgs; [ awscli2 @@ -35,13 +35,13 @@ with pkgs; [ php81Packages.phpcs php81Packages.phpstan pinentry + pkgs-unstable.rustywind platformsh postman pulumi-bin pv python3Full ripgrep - rustywind terraform tldr tmuxinator diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 17b644fb..01dfc789 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: { imports = [ diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index 36e5e8a5..c9a2bcac 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -114,7 +114,7 @@ in isNormalUser = true; description = "Oliver Davies"; extraGroups = [ "docker" "networkmanager" "wheel" ]; - packages = with pkgs; []; + packages = with pkgs; [ ]; }; security.sudo.wheelNeedsPassword = false; From aa63de628ec0b4d0f20f786bfe99874ee9ba3fb3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 5 Aug 2023 01:21:31 +0100 Subject: [PATCH 0320/2258] refactor(flake): inherit inputs --- flake.nix | 13 +------------ home-manager/modules/common.nix | 10 +++++----- home-manager/modules/home-manager-packages.nix | 4 ++-- home-manager/nixedo.nix | 2 +- 4 files changed, 9 insertions(+), 20 deletions(-) diff --git a/flake.nix b/flake.nix index 76bf2d90..9599441d 100644 --- a/flake.nix +++ b/flake.nix @@ -8,15 +8,6 @@ outputs = inputs@{ flake-parts, home-manager, nixpkgs, nixpkgs-unstable, self, ... }: - let - system = "x86_64-linux"; - - specialArgs = { - pkgs-unstable = import nixpkgs-unstable { - inherit inputs system; - }; - }; - in flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; @@ -29,15 +20,13 @@ flake = { nixosConfigurations = { nixedo = nixpkgs.lib.nixosSystem { - inherit specialArgs; - modules = [ ./system/nixos/nixedo/configuration.nix home-manager.nixosModules.home-manager { home-manager = { - extraSpecialArgs = specialArgs; + extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true; useUserPackages = true; users.opdavies = import ./home-manager/nixedo.nix; diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index ce1cec99..65ef55f6 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, pkgs-unstable, ... }: +{ inputs, lib, pkgs, ... }: let vim-astro = pkgs.vimUtils.buildVimPlugin { @@ -75,7 +75,7 @@ in nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "postman" ]; - home.packages = (import ./home-manager-packages.nix) { inherit pkgs pkgs-unstable; }; + home.packages = (import ./home-manager-packages.nix) { inherit inputs pkgs; }; home.file."nodemon.json".text = '' { @@ -164,10 +164,10 @@ in vimPlugins.nvim-treesitter-textobjects # LSP + inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.lsp-zero-nvim + inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig vimPlugins.null-ls-nvim vimPlugins.lsp-status-nvim - pkgs-unstable.vimPlugins.lsp-zero-nvim - pkgs-unstable.vimPlugins.nvim-lspconfig # Completion vimPlugins.cmp-buffer @@ -211,6 +211,7 @@ in # Language servers ansible-language-server + inputs.nixpkgs-unstable.legacyPackages."${system}".nixd lua53Packages.lua-lsp nodePackages.intelephense nodePackages."@astrojs/language-server" @@ -224,7 +225,6 @@ in nodePackages.vue-language-server nodePackages.yaml-language-server phpactor - pkgs-unstable.nixd rnix-lsp terraform-ls diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix index 6ad1e2bd..60d35e3c 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/home-manager/modules/home-manager-packages.nix @@ -1,4 +1,4 @@ -{ pkgs, pkgs-unstable, ... }: +{ inputs, pkgs, ... }: with pkgs; [ awscli2 @@ -18,6 +18,7 @@ with pkgs; [ gnupg htop inotify-tools + inputs.nixpkgs-unstable.legacyPackages."${system}".rustywind jq just lua @@ -35,7 +36,6 @@ with pkgs; [ php81Packages.phpcs php81Packages.phpstan pinentry - pkgs-unstable.rustywind platformsh postman pulumi-bin diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 01dfc789..28a141a6 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, pkgs-unstable, ... }: +{ inputs, pkgs, ... }: { imports = [ From 015b617ba1ca7f4b665594c994b1d570bdeb7c45 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 5 Aug 2023 01:36:00 +0100 Subject: [PATCH 0321/2258] chore(nixos): use JetBrains Mono --- home-manager/nixedo.nix | 2 +- system/nixos/nixedo/configuration.nix | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix index 28a141a6..9c5a579f 100644 --- a/home-manager/nixedo.nix +++ b/home-manager/nixedo.nix @@ -33,7 +33,7 @@ font = { size = 12.0; - normal.family = "IntelOne Mono"; + normal.family = "JetBrainsMono Nerd Font Mono"; italic.style = "Regular"; bolditalic.style = "Regular"; bold.style = "Regular"; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix index c9a2bcac..5d3eaadf 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/nixedo/configuration.nix @@ -184,16 +184,13 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "IntelOne Mono" ]; + monospace = [ "JetBrains Mono" ]; }; }; fonts = with pkgs; [ - intel-one-mono (nerdfonts.override { fonts = [ - "Iosevka" "JetBrainsMono" - "IBMPlexMono" "Meslo" ]; }) From 2e7724305860a6b9a1aee231bd700e8c79f8a023 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 6 Aug 2023 00:37:32 +0100 Subject: [PATCH 0322/2258] feat(zsh): add secrets alias --- home-manager/modules/zsh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index 4001026d..d31a3957 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -82,6 +82,8 @@ ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" ialias run="./run" + ialias s="secrets" + ialias secrets="doppler --project \"$(whoami)\" run" ialias tag="tag-release" ialias update="fetch && rebase" From 750ae0a27303600d68b9ab7d456b46cc752d8856 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 6 Aug 2023 10:55:59 +0100 Subject: [PATCH 0323/2258] docs: update README --- README.md | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 1088b583..9c723111 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,26 @@ # dotfiles -My personal dotfiles, originally for macOS only but currently being adapted for -use on Linux based systems (Ubuntu and Pop!_OS in particular) where needed. +Cross-platform development environments for opdavies using NixOS and Home Manager. -The repository is powered using Ansible, with each software package and its -associated configuration within separate roles within the `roles` directory. +## Why did you move from Ansible? -The `neovim` role, for example, has its own tasks in `roles/neovim/tasks/main.yaml` -and files in `roles/neovim/files`. +TBD. -Files within a role are typically symlinked into their required destination -so that they will be automatically updated without needing to run the playbook -again. +## Why NixOS? -For example, the files and directories within the neovim role are symlinked -into `~/.config/nvim`. +TBD. -## Requirements +## Why Home Manager? -- [Ansible](https://www.ansible.com) -- [Git](https://git-scm.com) +TBD. -## Installation +## NixOS vs WSL2 (Windows) -``` -$ ansible-playbook main.yaml --ask-become-pass -``` +TBD. ## Inspiration +- [ALT-F4-LLC](https://github.com/ALT-F4-LLC/dotfiles-nixos) - [Chris Toomey](https://github.com/christoomey/dotfiles) - [Gabe Berke-Williams](https://github.com/gabebw/dotfiles) - [Jeff Geerling](https://github.com/geerlingguy/dotfiles) @@ -38,3 +30,4 @@ $ ansible-playbook main.yaml --ask-become-pass - [ThePrimeagen](https://github.com/ThePrimeagen/.dotfiles) - [Thoughtbot](https://github.com/thoughtbot/dotfiles) - [codico](https://github.com/codicocodes/dotfiles) +- [kensodev](https://github.com/KensoDev/dotfiles) From 21404390329f7975a29c1393f7f55e04c4ec6369 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 6 Aug 2023 10:57:20 +0100 Subject: [PATCH 0324/2258] docs: update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c723111..6083d1c1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # dotfiles -Cross-platform development environments for opdavies using NixOS and Home Manager. +Cross-platform development environments for opdavies using Nix, NixOS and Home Manager. ## Why did you move from Ansible? From f570b44606fa06be0bfb0baa70822ae51404efb9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 09:43:48 +0100 Subject: [PATCH 0325/2258] refactor(flake): move nvim config to a package Add it as a package instead of symlinking it into the `~/.config.nvim` directory. --- flake.nix | 7 ++++++- home-manager/modules/common.nix | 7 ++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 9599441d..deb2493e 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,12 @@ systems = [ "x86_64-linux" ]; perSystem = { pkgs, self', nixpkgs, ... }: { - packages.default = self'.packages.activate; + packages = { + opdavies-nvim = pkgs.vimUtils.buildVimPlugin { + name = "opdavies-nvim"; + src = ./config/neovim; + }; + }; formatter = pkgs.nixpkgs-fmt; }; diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 65ef55f6..2ba8d00e 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -203,6 +203,8 @@ in # Themes vimPlugins.catppuccin-nvim + + inputs.self.packages.${pkgs.system}.opdavies-nvim ]; extraPackages = with pkgs; [ @@ -254,11 +256,6 @@ in recursive = true; }; - xdg.configFile.nvim = { - source = ../../config/neovim; - recursive = true; - }; - xdg.configFile.phpactor = { source = ../../config/phpactor; recursive = true; From 624faf959caed373a9dabc61ade54d21944a7508 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 09:47:03 +0100 Subject: [PATCH 0326/2258] refactor: restructure my Code directory I recently restructed the contents of my `~/Code` directory so that repositories are grouped by their provider and organisation. For example, my `dotfiles` are now located at `~/Code/github.com/opdavies/dotfiles`. Likewise, `build-configs` is now located at `~/Code/github.com/OliverDaviesLtd/build-configs` as it's within the `OliverDaviesLtd` organisation. As well as `~/Code/github.com`, I also have `~/Code/bitbucket.org` for Bitbucket repositories. These are also grouped within subdirectories for each organisation. This change means I need to update any reference to the old `dotfiles` location to the new one and I can update the `t` function to adjust the min and max depth it uses to find directories. --- bin/t | 4 ++-- config/neovim/after/plugin/luasnip.lua | 2 +- config/neovim/lua/opdavies/telescope/init.lua | 2 +- home-manager/modules/tmux.nix | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/t b/bin/t index a8cca94e..e3007663 100755 --- a/bin/t +++ b/bin/t @@ -11,8 +11,8 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code -mindepth 1 -maxdepth 2 -type d ! -name .git) - items+="$HOME/Code/dotfiles" + items=$(find ~/Code -mindepth 3 -maxdepth 3 -type d ! -name .git) + items+="$HOME/Code/github.com/opdavies/dotfiles" selected=$(echo "${items}" | sort | fzf --reverse) fi diff --git a/config/neovim/after/plugin/luasnip.lua b/config/neovim/after/plugin/luasnip.lua index 08b59c69..929714e5 100644 --- a/config/neovim/after/plugin/luasnip.lua +++ b/config/neovim/after/plugin/luasnip.lua @@ -92,4 +92,4 @@ imap { end, } -nmap { "s", "source ~/Code/dotfiles/config/neovim/after/plugin/luasnip.lua" } +nmap { "s", "source ~/Code/github.com/opdavies/dotfiles/config/neovim/after/plugin/luasnip.lua" } diff --git a/config/neovim/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua index 048779f8..147d4134 100644 --- a/config/neovim/lua/opdavies/telescope/init.lua +++ b/config/neovim/lua/opdavies/telescope/init.lua @@ -39,7 +39,7 @@ end function M.edit_neovim() local opts = { - cwd = "~/Code/dotfiles/config/neovim", + cwd = "~/Code/github.com/opdavies/dotfiles/config/neovim", find_command = { "rg", "--no-ignore", "--files", "--follow" }, path_display = { "shorten" }, prompt_title = "~ dotfiles ~", diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix index b9425a75..ae6b34ef 100644 --- a/home-manager/modules/tmux.nix +++ b/home-manager/modules/tmux.nix @@ -89,7 +89,7 @@ bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/dotfiles" + bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" set -g @resurrect-strategy-nvim 'session' ''; From fb30ec5168454a9ee979fb1137f59af13bcac349 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 18:28:04 +0100 Subject: [PATCH 0327/2258] refactor(wsl2): move file --- system/{wsl2.nix => wsl2/default.nix} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename system/{wsl2.nix => wsl2/default.nix} (100%) diff --git a/system/wsl2.nix b/system/wsl2/default.nix similarity index 100% rename from system/wsl2.nix rename to system/wsl2/default.nix From 894de5d3e618b31976e56d610afa231969a0e858 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 19:37:23 +0100 Subject: [PATCH 0328/2258] fix(flake): not loading nvim configuration --- config/neovim/init.lua | 10 ---------- home-manager/modules/common.nix | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 10 deletions(-) delete mode 100644 config/neovim/init.lua diff --git a/config/neovim/init.lua b/config/neovim/init.lua deleted file mode 100644 index dd2b1821..00000000 --- a/config/neovim/init.lua +++ /dev/null @@ -1,10 +0,0 @@ -pcall("require", impatient) - -require "opdavies.globals" - -require("opdavies.options").setup() - -require "opdavies.lsp" - -require "opdavies.telescope.setup" -require "opdavies.telescope.mappings" diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 2ba8d00e..610bacf0 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -207,6 +207,21 @@ in inputs.self.packages.${pkgs.system}.opdavies-nvim ]; + extraConfig = '' + lua << EOF + pcall("require", impatient) + + require "opdavies.globals" + + require("opdavies.options").setup() + + require "opdavies.lsp" + + require "opdavies.telescope.setup" + require "opdavies.telescope.mappings" + EOF + ''; + extraPackages = with pkgs; [ # Languages nodePackages.typescript From 468d0c71a32cea507d043960d06ed322d6bceffb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 20:02:51 +0100 Subject: [PATCH 0329/2258] chore(update) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d3eb982a..f342a843 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691065946, - "narHash": "sha256-IVSh42Q3oJwUjgLKMdzH5fMx+fk1z3V735gK1Izj1Zw=", + "lastModified": 1691328192, + "narHash": "sha256-w59N1zyDQ7SupfMJLFvtms/SIVbdryqlw5AS4+DiH+Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9ca92b55bed47696cc7cc25d3f854a1e2e01f86", + "rev": "61676e4dcfeeb058f255294bcb08ea7f3bc3ce56", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691006197, - "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", + "lastModified": 1691368598, + "narHash": "sha256-ia7li22keBBbj02tEdqjVeLtc7ZlSBuhUk+7XTUFr14=", "owner": "nixos", "repo": "nixpkgs", - "rev": "66aedfd010204949cb225cf749be08cb13ce1813", + "rev": "5a8e9243812ba528000995b294292d3b5e120947", "type": "github" }, "original": { From ddf1ddb1b2af8663046970d04c047b61f76acdfe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 21:41:11 +0100 Subject: [PATCH 0330/2258] refactor(nixos): define devices by label --- system/nixos/nixedo/hardware-configuration.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/system/nixos/nixedo/hardware-configuration.nix b/system/nixos/nixedo/hardware-configuration.nix index 127aef08..54a37b4b 100644 --- a/system/nixos/nixedo/hardware-configuration.nix +++ b/system/nixos/nixedo/hardware-configuration.nix @@ -17,17 +17,17 @@ hardware.enableAllFirmware = true; fileSystems."/" = { - device = "/dev/disk/by-uuid/7c6d69ec-ba06-4ddb-b9c4-62b3994fda91"; + device = "/dev/disk/by-label/nixos"; fsType = "ext4"; }; fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/B729-9A75"; + device = "/dev/disk/by-label/boot"; fsType = "vfat"; }; swapDevices = - [{ device = "/dev/disk/by-uuid/5db0a0e6-93fb-4d0b-8fb0-fdb3cb76b89d"; }]; + [{ device = "/dev/disk/by-label/swap"; }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's From b18152cb4a4536f03aca03bfe9aed8bcb0ba0696 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 21:51:20 +0100 Subject: [PATCH 0331/2258] chore(nvim): change vim-test strategy --- config/neovim/after/plugin/vim-test.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index a76c3bd6..1c3463e1 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -13,7 +13,7 @@ map("n", "ts", ":TestSuite", options) vim.cmd([[ let test#echo_command = 0 let test#neovim#start_normal = 1 - let test#strategy = "floaterm" + let test#strategy = "neovim" let test#php#phpunit#executable = 'just test' let test#php#phpunit#options = '--colors=always --testdox' From aeb921e7e8c78aff75b8239bb8c7504fe046138f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 21:51:38 +0100 Subject: [PATCH 0332/2258] fix(nvim): re-add intelephense for completion --- config/neovim/lua/opdavies/lsp/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index ca34699d..0fcae81c 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -28,6 +28,7 @@ lsp.setup_servers({ 'cssls', 'dockerls', 'html', + 'intelephense', 'jsonls', 'nixd', 'phpactor', From 202dceada32b154ee28fef404f44df9c2a21b654 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 22:03:35 +0100 Subject: [PATCH 0333/2258] chore(nvim): remove lualine packages --- config/neovim/after/plugin/lualine.lua | 20 -------------------- home-manager/modules/common.nix | 2 -- 2 files changed, 22 deletions(-) delete mode 100644 config/neovim/after/plugin/lualine.lua diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua deleted file mode 100644 index dab4c63c..00000000 --- a/config/neovim/after/plugin/lualine.lua +++ /dev/null @@ -1,20 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end - -lualine.setup { - options = { - component_separators = { left = "", right = "" }, - extensions = { "fzf", "quickfix" }, - icons_enabled = false, - section_separators = { left = "", right = "" }, - theme = "catppuccin", - }, - sections = { - lualine_c = { - "filename", - "lsp_progress", - }, - }, -} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 610bacf0..9186aebb 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -121,8 +121,6 @@ in vimPlugins.harpoon vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim - vimPlugins.lualine-lsp-progress - vimPlugins.lualine-nvim vimPlugins.nvim-autopairs vimPlugins.nvim-lastplace vimPlugins.nvim-ts-autotag From af70a9b56fbf3c279991d8b1932685b829aefdd0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 22:13:45 +0100 Subject: [PATCH 0334/2258] fix(nvim): remove phpactor as an LSP server --- config/neovim/lua/opdavies/lsp/init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 0fcae81c..b86a9034 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -31,7 +31,6 @@ lsp.setup_servers({ 'intelephense', 'jsonls', 'nixd', - 'phpactor', 'tailwindcss', 'terraformls', 'tsserver', From eac470013b1545103c64f42f923f19ac110c678c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Aug 2023 22:27:54 +0100 Subject: [PATCH 0335/2258] refactor(flake): re-organise systems and modules --- flake.nix | 32 ++++++------------- system/nixos/{nixedo => }/configuration.nix | 11 +------ system/nixos/default.nix | 21 ++++++++++++ .../{nixedo => }/hardware-configuration.nix | 0 .../nixos/home-manager.nix | 10 +++--- system/wsl2/default.nix | 22 ++++++++----- 6 files changed, 51 insertions(+), 45 deletions(-) rename system/nixos/{nixedo => }/configuration.nix (94%) create mode 100644 system/nixos/default.nix rename system/nixos/{nixedo => }/hardware-configuration.nix (100%) rename home-manager/nixedo.nix => system/nixos/home-manager.nix (79%) diff --git a/flake.nix b/flake.nix index deb2493e..dadc2bb5 100644 --- a/flake.nix +++ b/flake.nix @@ -6,12 +6,17 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; }; - outputs = - inputs@{ flake-parts, home-manager, nixpkgs, nixpkgs-unstable, self, ... }: + outputs = inputs@{ flake-parts, self, ... }: + let + username = "opdavies"; + + nixos-system = import ./system/nixos { inherit inputs username; }; + wsl-system = import ./system/wsl2 { inherit inputs username; }; + in flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; - perSystem = { pkgs, self', nixpkgs, ... }: { + perSystem = { pkgs, self', ... }: { packages = { opdavies-nvim = pkgs.vimUtils.buildVimPlugin { name = "opdavies-nvim"; @@ -24,28 +29,11 @@ flake = { nixosConfigurations = { - nixedo = nixpkgs.lib.nixosSystem { - modules = [ - ./system/nixos/nixedo/configuration.nix - - home-manager.nixosModules.home-manager - { - home-manager = { - extraSpecialArgs = { inherit inputs; }; - useGlobalPkgs = true; - useUserPackages = true; - users.opdavies = import ./home-manager/nixedo.nix; - }; - } - ]; - }; + nixedo = nixos-system; }; homeConfigurations = { - wsl2 = home-manager.lib.homeManagerConfiguration { - modules = [ ./system/wsl2.nix ]; - pkgs = nixpkgs.legacyPackages.x86_64-linux; - }; + wsl2 = wsl-system; }; }; }; diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/configuration.nix similarity index 94% rename from system/nixos/nixedo/configuration.nix rename to system/nixos/configuration.nix index 5d3eaadf..de0de0bc 100644 --- a/system/nixos/nixedo/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,7 +1,3 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - { config, lib, pkgs, ... }: let @@ -22,11 +18,6 @@ let }; in { - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - nixpkgs = { config = { allowUnfree = true; @@ -42,7 +33,7 @@ in DefaultTimeoutStopSec=10s ''; - networking.hostName = "nixedo"; # Define your hostname. + # networking.hostName = "nixedo"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary diff --git a/system/nixos/default.nix b/system/nixos/default.nix new file mode 100644 index 00000000..f1d13618 --- /dev/null +++ b/system/nixos/default.nix @@ -0,0 +1,21 @@ +{ inputs, username }: + +let + configuration = import ./configuration.nix; + hardware-configuration = import ./hardware-configuration.nix; +in +inputs.nixpkgs.lib.nixosSystem { + modules = [ + inputs.home-manager.nixosModules.home-manager { + home-manager = { + extraSpecialArgs = { inherit inputs; }; + useGlobalPkgs = true; + useUserPackages = true; + users."${username}" = import ./home-manager.nix; + }; + } + + configuration + hardware-configuration + ]; +} diff --git a/system/nixos/nixedo/hardware-configuration.nix b/system/nixos/hardware-configuration.nix similarity index 100% rename from system/nixos/nixedo/hardware-configuration.nix rename to system/nixos/hardware-configuration.nix diff --git a/home-manager/nixedo.nix b/system/nixos/home-manager.nix similarity index 79% rename from home-manager/nixedo.nix rename to system/nixos/home-manager.nix index 9c5a579f..888f487a 100644 --- a/home-manager/nixedo.nix +++ b/system/nixos/home-manager.nix @@ -2,11 +2,11 @@ { imports = [ - ./modules/common.nix - ./modules/git.nix - ./modules/home-manager.nix - ./modules/tmux.nix - ./modules/zsh.nix + ../../home-manager/modules/common.nix + ../../home-manager/modules/git.nix + ../../home-manager/modules/home-manager.nix + ../../home-manager/modules/tmux.nix + ../../home-manager/modules/zsh.nix ]; home.stateVersion = "22.05"; diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index ff8cddc9..e4090803 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ inputs, username }: -{ - imports = [ - ../home-manager/modules/common.nix - ../home-manager/modules/git.nix - ../home-manager/modules/home-manager.nix - ../home-manager/modules/tmux.nix - ../home-manager/modules/zsh.nix +inputs.home-manager.lib.homeManagerConfiguration { + modules = [ + { + imports = [ + ../home-manager/modules/common.nix + ../home-manager/modules/git.nix + ../home-manager/modules/home-manager.nix + ../home-manager/modules/tmux.nix + ../home-manager/modules/zsh.nix + ]; + } ]; + + pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; } From 482a74a5e0bcc8e7eb8fcfbde8684b7ae0a8b3ab Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Aug 2023 13:43:44 +0100 Subject: [PATCH 0336/2258] fix(wsl2): inherits, import paths, unfree packages --- system/wsl2/default.nix | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index e4090803..5be1bebc 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -1,14 +1,24 @@ { inputs, username }: inputs.home-manager.lib.homeManagerConfiguration { + extraSpecialArgs = { inherit inputs; }; + modules = [ + { + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (inputs.nixpkgs.lib.getName pkg) [ + "intelephense" + "postman" + "tabnine" + ]; + } + { imports = [ - ../home-manager/modules/common.nix - ../home-manager/modules/git.nix - ../home-manager/modules/home-manager.nix - ../home-manager/modules/tmux.nix - ../home-manager/modules/zsh.nix + ../../home-manager/modules/common.nix + ../../home-manager/modules/git.nix + ../../home-manager/modules/home-manager.nix + ../../home-manager/modules/tmux.nix + ../../home-manager/modules/zsh.nix ]; } ]; From 994341071aaabe3f27782d3b47072e5195a3e95f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Aug 2023 17:46:18 +0100 Subject: [PATCH 0337/2258] feat(git): add global gitignore --- home-manager/modules/git.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 69757279..eb266f04 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -16,6 +16,10 @@ # BREAKING CHANGE: ''; + home.file.".gitignore-global".text = '' + .phpactor.json + ''; + programs.git = { enable = true; userName = "Oliver Davies"; From 3b890d9ee56f6bb1713fea26ebe2b6765ed56784 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Aug 2023 20:15:31 +0100 Subject: [PATCH 0338/2258] refactor(flake): split NixOS Home Manager configs Create a NixOS-specific Home Manager configuration and a reusable shared configuration that can be imported and also used by other configurations, such as WSL2. --- flake.nix | 2 +- home-manager/modules/common.nix | 281 -------- home-manager/modules/git.nix | 115 --- home-manager/modules/tmux.nix | 103 --- home-manager/modules/zsh.nix | 171 ----- system/nixos/default.nix | 4 +- system/nixos/hardware-configuration.nix | 3 - .../nixos/home-manager-desktop.nix | 51 +- system/nixos/home-manager.nix | 71 +- .../shared}/home-manager-packages.nix | 3 - system/shared/home-manager.nix | 654 ++++++++++++++++++ 11 files changed, 729 insertions(+), 729 deletions(-) delete mode 100644 home-manager/modules/common.nix delete mode 100644 home-manager/modules/git.nix delete mode 100644 home-manager/modules/tmux.nix delete mode 100644 home-manager/modules/zsh.nix rename home-manager/modules/home-manager.nix => system/nixos/home-manager-desktop.nix (84%) rename {home-manager/modules => system/shared}/home-manager-packages.nix (95%) create mode 100644 system/shared/home-manager.nix diff --git a/flake.nix b/flake.nix index dadc2bb5..89ed6ed5 100644 --- a/flake.nix +++ b/flake.nix @@ -29,7 +29,7 @@ flake = { nixosConfigurations = { - nixedo = nixos-system; + nixedo = nixos-system { desktop = true; }; }; homeConfigurations = { diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix deleted file mode 100644 index 9186aebb..00000000 --- a/home-manager/modules/common.nix +++ /dev/null @@ -1,281 +0,0 @@ -{ inputs, lib, pkgs, ... }: - -let - vim-astro = pkgs.vimUtils.buildVimPlugin { - name = "vim-astro"; - src = pkgs.fetchFromGitHub { - owner = "wuelnerdotexe"; - repo = "vim-astro"; - rev = "main"; - sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; - }; - }; - - vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-just = pkgs.vimUtils.buildVimPlugin { - name = "vim-just"; - src = pkgs.fetchFromGitHub { - owner = "NoahTheDuke"; - repo = "vim-just"; - rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; - }; - }; - - vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "master"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { - name = "vim-visual-star-search"; - src = pkgs.fetchFromGitHub { - owner = "nelstrom"; - repo = "vim-visual-star-search"; - rev = "37259722f45996733fd309add61385a4ad88bdb9"; - sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; - }; - }; -in -{ - nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ "postman" ]; - - home.packages = (import ./home-manager-packages.nix) { inherit inputs pkgs; }; - - home.file."nodemon.json".text = '' - { - "ignore": [ - ".git" - ], - "verbose": true, - "events": { - "start": "clear" - } - } - ''; - - home.sessionVariables = { - EDITOR = "nvim"; - LANG = "en_GB.UTF-8"; - LC_ALL = "en_GB.UTF-8"; - LC_CTYPE = "en_GB.UTF-8"; - PULUMI_SKIP_UPDATE_CHECK = "true"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; - }; - - programs.bat.enable = true; - - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - - plugins = with pkgs; [ - tabline-vim - vim-astro - vim-caser - vim-heritage - vim-just - vim-textobj-xmlattr - vim-visual-star-search - - vimPlugins.comment-nvim - vimPlugins.dial-nvim - vimPlugins.git-worktree-nvim - vimPlugins.gitsigns-nvim - vimPlugins.harpoon - vimPlugins.impatient-nvim - vimPlugins.indent-blankline-nvim - vimPlugins.nvim-autopairs - vimPlugins.nvim-lastplace - vimPlugins.nvim-ts-autotag - vimPlugins.nvim-web-devicons - vimPlugins.refactoring-nvim - vimPlugins.rest-nvim - vimPlugins.splitjoin-vim - vimPlugins.vim-abolish - vimPlugins.vim-easy-align - vimPlugins.vim-eunuch - vimPlugins.vim-floaterm - vimPlugins.vim-highlightedyank - vimPlugins.vim-nix - vimPlugins.vim-obsession - vimPlugins.vim-pasta - vimPlugins.vim-polyglot - vimPlugins.vim-repeat - vimPlugins.vim-sleuth - vimPlugins.vim-surround - vimPlugins.vim-terraform - vimPlugins.vim-test - vimPlugins.vim-textobj-user - vimPlugins.vim-tmux-navigator - vimPlugins.vim-unimpaired - vimPlugins.vimux - - # Git - vimPlugins.vim-fugitive - vimPlugins.vim-rhubarb - - # Debugging - vimPlugins.nvim-dap - vimPlugins.nvim-dap-ui - vimPlugins.nvim-dap-virtual-text - - # Treesitter - vimPlugins.nvim-treesitter.withAllGrammars - vimPlugins.nvim-treesitter-context - vimPlugins.nvim-treesitter-textobjects - - # LSP - inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.lsp-zero-nvim - inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig - vimPlugins.null-ls-nvim - vimPlugins.lsp-status-nvim - - # Completion - vimPlugins.cmp-buffer - vimPlugins.cmp-cmdline - vimPlugins.cmp-nvim-lsp - vimPlugins.cmp-nvim-lsp-signature-help - vimPlugins.cmp-path - vimPlugins.cmp-tabnine - vimPlugins.cmp-treesitter - vimPlugins.cmp-vsnip - vimPlugins.cmp_luasnip - vimPlugins.lspkind-nvim - vimPlugins.nvim-cmp - vimPlugins.phpactor - - # Snippets - vimPlugins.luasnip - - # Telescope - vimPlugins.plenary-nvim - vimPlugins.popup-nvim - vimPlugins.telescope-file-browser-nvim - vimPlugins.telescope-frecency-nvim - vimPlugins.telescope-fzf-native-nvim - vimPlugins.telescope-live-grep-args-nvim - vimPlugins.telescope-nvim - vimPlugins.telescope-ui-select-nvim - - # Databases - vimPlugins.vim-dadbod - vimPlugins.vim-dadbod-ui - vimPlugins.vim-dadbod-completion - - # Themes - vimPlugins.catppuccin-nvim - - inputs.self.packages.${pkgs.system}.opdavies-nvim - ]; - - extraConfig = '' - lua << EOF - pcall("require", impatient) - - require "opdavies.globals" - - require("opdavies.options").setup() - - require "opdavies.lsp" - - require "opdavies.telescope.setup" - require "opdavies.telescope.mappings" - EOF - ''; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - - # Language servers - ansible-language-server - inputs.nixpkgs-unstable.legacyPackages."${system}".nixd - lua53Packages.lua-lsp - nodePackages.intelephense - nodePackages."@astrojs/language-server" - nodePackages."@tailwindcss/language-server" - nodePackages.bash-language-server - nodePackages.dockerfile-language-server-nodejs - nodePackages.typescript-language-server - nodePackages.vls - nodePackages.volar - nodePackages.vscode-langservers-extracted - nodePackages.vue-language-server - nodePackages.yaml-language-server - phpactor - rnix-lsp - terraform-ls - - # Formatters - black - rstfmt - - # Tools - html-tidy - nodePackages.markdownlint-cli - proselint - shellcheck - ]; - }; - - programs.nnn.enable = true; - - home.sessionPath = [ "$HOME/.config/bin" ]; - - xdg.configFile."ripgrep/config".text = '' - --follow - --smart-case - ''; - - xdg.configFile.bin = { - source = ../../bin; - recursive = true; - }; - - xdg.configFile.phpactor = { - source = ../../config/phpactor; - recursive = true; - }; - - xdg.configFile.wallpaper = { - source = ../../config/wallpaper; - recursive = true; - }; -} diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix deleted file mode 100644 index eb266f04..00000000 --- a/home-manager/modules/git.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ config, pkgs, lib, libs, ... }: { - home.file.".gitmessage".text = '' - type(scope): description - - # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test - # - # Description - # - # - Why is this change necessary? - # - How does it address the issue? - # - What side effects does this change have? - # - # For breaking changes, add an ! after the type/scope, uncomment the following - # line and describe the change: - # - # BREAKING CHANGE: - ''; - - home.file.".gitignore-global".text = '' - .phpactor.json - ''; - - programs.git = { - enable = true; - userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.uk"; - - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = - "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = - "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - nah = "!git reset --hard && git clean -fd"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = - "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = - "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - staged = "diff --staged"; - unassume = "update-index --no-assume-unchanged"; - uncommit = "reset --soft HEAD^"; - unstage = "reset"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - wip = "!git add . && git commit -m 'wip'"; - worktrees = "worktree list"; - }; - - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - }; - checkout.defaultRemote = "origin"; - color.ui = true; - commit = { template = "~/.gitmessage"; }; - core = { - editor = "nvim"; - excludesFile = "~/.gitignore-global"; - pager = "delta"; - }; - delta.line-numbers = true; - diff.tool = "vimdiff"; - fetch.prune = true; - grep.lineNumber = true; - help.autocorrect = "1"; - init = { - defaultBranch = "main"; - templatedir = "~/.git_template"; - }; - merge.ff = "only"; - rebase = { - autosquash = true; - autostash = true; - }; - push.default = "upstream"; - pull = { - ff = "only"; - rebase = true; - }; - }; - }; -} diff --git a/home-manager/modules/tmux.nix b/home-manager/modules/tmux.nix deleted file mode 100644 index ae6b34ef..00000000 --- a/home-manager/modules/tmux.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ config, pkgs, lib, libs, ... }: { - programs.tmux = { - enable = true; - terminal = "tmux-256color"; - - extraConfig = '' - unbind C-b - - set -g prefix C-s - bind C-s send-prefix - - bind-key -n C-h select-pane -L - bind-key -n C-j select-pane -D - bind-key -n C-k select-pane -U - bind-key -n C-l select-pane -R - - set-option -g status-keys "emacs" - set-option -ga terminal-overrides ",*256col*:alacritty" - - bind-key h split-window -v -c "#{pane_current_path}" - bind-key v split-window -h -c "#{pane_current_path}" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - # Status line customisation - set-option -g status-left-length 100 - set-option -g status-right-length 100 - set-option -g status-left " #{session_name} " - set-option -g status-right "#{pane_title} " - set-option -g status-style "fg=#7C7D83 bg=#242631" - set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " - set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " - set-option -g window-status-current-style "fg=#E9E9EA" - set-option -g window-status-activity-style none - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - - bind-key C-j choose-tree - - # Use vim keybindings in copy mode - setw -g mode-keys vi - - # Setup 'v' to begin selection as in Vim - bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - - # Smart pane switching with awareness of Vim splits. - # See: https://github.com/christoomey/vim-tmux-navigator - is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" - - bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' - bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' - bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' - bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' - - bind-key -T copy-mode-vi 'C-h' select-pane -L - bind-key -T copy-mode-vi 'C-j' select-pane -D - bind-key -T copy-mode-vi 'C-k' select-pane -U - bind-key -T copy-mode-vi 'C-l' select-pane -R - bind-key -T copy-mode-vi 'C-\' select-pane -l - - bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" - - set -g @resurrect-strategy-nvim 'session' - ''; - - plugins = with pkgs; [ - tmuxPlugins.resurrect - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.yank - ]; - }; -} diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix deleted file mode 100644 index d31a3957..00000000 --- a/home-manager/modules/zsh.nix +++ /dev/null @@ -1,171 +0,0 @@ -{ config, pkgs, lib, libs, ... }: { - programs.zsh = { - enable = true; - enableCompletion = false; - dotDir = ".config/zsh"; - - initExtra = '' - # Plugins - source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" - source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" - - # Case insensitive autocompletion. - zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" - autoload -Uz compinit && compinit - - bindkey -s ^f "t\n" - - clear-ls-all() { - clear - exa -al - } - zle -N clear-ls-all - bindkey '^K' clear-ls-all - - clear-git-status() { - clear - git status -sb . - } - zle -N clear-git-status - bindkey '^G' clear-git-status - - # auto-completes aliases - # enables to define - # - normal aliases (completed with trailing space) - # - blank aliases (completed without space) - # - ignored aliases (not completed) - - # ignored aliases - typeset -a ialiases - ialiases=() - - ialias() { - alias $@ - args="$@" - args=''${args%%\=*} - ialiases+=(''${args##* }) - } - - # blank aliases - typeset -a baliases - baliases=() - - balias() { - alias $@ - args="$@" - args=''${args%%\=*} - baliases+=(''${args##* }) - } - - expand-alias-space() { - [[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$? - if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then - zle _expand_alias - fi - - zle self-insert - - if [[ "$insertBlank" = "0" ]]; then - zle backward-delete-char - fi - } - - zle -N expand-alias-space - - bindkey " " expand-alias-space - bindkey -M isearch " " magic-space - - ialias cs="create-script" - ialias dev="develop" - ialias fetch="git fetch --all --jobs=4 --progress --prune" - ialias run="./run" - ialias pull="git pull --autostash --jobs=4 --summary origin" - ialias rebase="git rebase --autostash --stat" - ialias run="./run" - ialias s="secrets" - ialias secrets="doppler --project \"$(whoami)\" run" - ialias tag="tag-release" - ialias update="fetch && rebase" - - ialias ls="exa -la" - - # tmux - alias ta="tmux attach" - alias tl="tmux list-sessions" - alias tk="tmux kill-session" - - # Docker and Docker Compose. - alias dk="docker" - alias dkp="docker ps" - alias dkpa="docker ps -a" - alias dkpaq="docker ps -a -q" - alias dkb="docker build -t" - alias dks="docker start" - alias dkt="docker stop" - alias dkrm="docker rm" - alias dkri="docker rmi" - alias dke="docker exec -ti" - alias dkl="docker logs -f" - alias dki="docker images" - alias dkpu="docker pull" - alias dkph="docker push" - alias dkbnc="docker build --no-cache -t" - alias dkr="docker run --rm" - alias dkrti="docker run --rm -ti" - alias dkc="docker compose" - alias dkcb="docker compose build" - alias dkcu="docker compose up" - alias dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" - - # Nix and NixOS. - alias nx="nix" - alias nxb="nix build" - alias nxd="nix develop" - alias nxf="nix flake" - alias nxs="nix shell" - ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' - ialias full-system-repair='nix-store --verify --check-contents --repair' - ialias full-system-upgrade="sudo nixos-rebuild switch --upgrade && nix-env -u '*'" - ialias list-system-configurations='\ls -l /nix/var/nix/profiles/system-*-link' - ialias local-upgrade="nix-channel --update nixpkgs && nix-env -u '*'" - ialias set-default-boot='/run/current-system/bin/switch-to-configuration boot' - ialias system-rebuild='sudo nixos-rebuild switch' - ialias system-repair='sudo nixos-rebuild switch --repair' - ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' - - alias tf="terraform" - - # Build Configs. - ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" - ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" - - setopt auto_cd - setopt auto_pushd - setopt pushd_ignore_dups - setopt pushdminus - ''; - - zplug = { - enable = true; - - plugins = [ - { - name = "themes/robbyrussell"; - tags = [ "from:oh-my-zsh" "as:theme" ]; - } - { - name = "plugin/git"; - tags = [ "from:oh-my-zsh" ]; - } - { - name = "plugin/vi-mode"; - tags = [ "from:oh-my-zsh" ]; - } - { name = "mollifier/cd-gitroot"; } - { name = "zsh-users/zsh-autosuggestions"; } - { name = "zsh-users/zsh-completions"; } - { name = "zsh-users/zsh-syntax-highlighting"; } - ]; - }; - }; -} diff --git a/system/nixos/default.nix b/system/nixos/default.nix index f1d13618..3e66571d 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -1,5 +1,7 @@ { inputs, username }: +{ desktop }: + let configuration = import ./configuration.nix; hardware-configuration = import ./hardware-configuration.nix; @@ -8,7 +10,7 @@ inputs.nixpkgs.lib.nixosSystem { modules = [ inputs.home-manager.nixosModules.home-manager { home-manager = { - extraSpecialArgs = { inherit inputs; }; + extraSpecialArgs = { inherit inputs desktop username; }; useGlobalPkgs = true; useUserPackages = true; users."${username}" = import ./home-manager.nix; diff --git a/system/nixos/hardware-configuration.nix b/system/nixos/hardware-configuration.nix index 54a37b4b..7392c48c 100644 --- a/system/nixos/hardware-configuration.nix +++ b/system/nixos/hardware-configuration.nix @@ -1,6 +1,3 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: { diff --git a/home-manager/modules/home-manager.nix b/system/nixos/home-manager-desktop.nix similarity index 84% rename from home-manager/modules/home-manager.nix rename to system/nixos/home-manager-desktop.nix index 6b894254..104fb785 100644 --- a/home-manager/modules/home-manager.nix +++ b/system/nixos/home-manager-desktop.nix @@ -1,10 +1,10 @@ -{ config, lib, pkgs, ... }: { - home.username = "opdavies"; - home.homeDirectory = "/home/opdavies"; +{ config, inputs, pkgs }: - home.stateVersion = "22.05"; - - programs.home-manager.enable = true; +{ + nixpkgs = { + config.allowUnfreePredicate = pkg: + builtins.elem (inputs.lib.getName pkg) [ "postman" ]; + }; services.swayidle = { enable = true; @@ -95,7 +95,7 @@ keybindings = let modifier = config.wayland.windowManager.sway.config.modifier; - in lib.mkOptionDefault { + in inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+Escape" = "exec swaylock --daemonize"; "${modifier}+Shift+b" = "exec firefox"; "${modifier}+tab" = "workspace back_and_forth"; @@ -200,4 +200,41 @@ }; }; }; + + xdg.configFile.wallpaper = { + source = ../../config/wallpaper; + recursive = true; + }; + + programs.firefox = { + enable = true; + package = pkgs.firefox-devedition; + }; + + programs.alacritty = { + enable = true; + + settings = { + window.opacity = 0.9; + + window.padding = { + x = 15; + y = 15; + }; + + font = { + size = 12.0; + + normal.family = "JetBrainsMono Nerd Font Mono"; + italic.style = "Regular"; + bolditalic.style = "Regular"; + bold.style = "Regular"; + + offset.y = 12; + glyph_offset.y = 6; + }; + + shell = { program = "zsh"; }; + }; + }; } diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 888f487a..76a16782 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -1,50 +1,33 @@ -{ inputs, pkgs, ... }: +{ inputs, desktop, username, config, pkgs, ... }: +let + desktop-config = import ./home-manager-desktop.nix { inherit config inputs pkgs; }; + shared-config = import ../shared/home-manager.nix { inherit inputs pkgs username; }; + shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; +in { - imports = [ - ../../home-manager/modules/common.nix - ../../home-manager/modules/git.nix - ../../home-manager/modules/home-manager.nix - ../../home-manager/modules/tmux.nix - ../../home-manager/modules/zsh.nix + imports = if desktop then [ desktop-config shared-config ] else [ shared-config ]; + + home.packages = shared-packages ++ pkgs.lib.optionals desktop [ + pkgs.discord + pkgs.meslo-lg + pkgs.pass + pkgs.pinentry + pkgs.postman + pkgs.slack + pkgs.teams + pkgs.vlc + pkgs.wofi + pkgs.xcape + pkgs.zoom-us ]; - home.stateVersion = "22.05"; - - home.username = "opdavies"; - home.homeDirectory = "/home/opdavies"; - - programs.firefox = { - enable = true; - package = pkgs.firefox-devedition; + home.sessionVariables = { + EDITOR = "nvim"; + LANG = "en_GB.UTF-8"; + LC_ALL = "en_GB.UTF-8"; + LC_CTYPE = "en_GB.UTF-8"; + PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; - - programs.alacritty = { - enable = true; - - settings = { - window.opacity = 0.9; - - window.padding = { - x = 15; - y = 15; - }; - - font = { - size = 12.0; - - normal.family = "JetBrainsMono Nerd Font Mono"; - italic.style = "Regular"; - bolditalic.style = "Regular"; - bold.style = "Regular"; - - offset.y = 12; - glyph_offset.y = 6; - }; - - shell = { program = "zsh"; }; - }; - }; - - home.packages = with pkgs; [ discord meslo-lg slack teams vlc wofi xcape zoom-us ]; } diff --git a/home-manager/modules/home-manager-packages.nix b/system/shared/home-manager-packages.nix similarity index 95% rename from home-manager/modules/home-manager-packages.nix rename to system/shared/home-manager-packages.nix index 60d35e3c..a255266c 100644 --- a/home-manager/modules/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -29,15 +29,12 @@ with pkgs; [ nodePackages.nodemon nodePackages.prettier nodejs - pass php81 php81Packages.composer php81Packages.phpcbf php81Packages.phpcs php81Packages.phpstan - pinentry platformsh - postman pulumi-bin pv python3Full diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix new file mode 100644 index 00000000..c9a902ca --- /dev/null +++ b/system/shared/home-manager.nix @@ -0,0 +1,654 @@ +{ inputs, pkgs, username }: + +let + vim-astro = pkgs.vimUtils.buildVimPlugin { + name = "vim-astro"; + src = pkgs.fetchFromGitHub { + owner = "wuelnerdotexe"; + repo = "vim-astro"; + rev = "main"; + sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; + }; + }; + + vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-just = pkgs.vimUtils.buildVimPlugin { + name = "vim-just"; + src = pkgs.fetchFromGitHub { + owner = "NoahTheDuke"; + repo = "vim-just"; + rev = "838c9096d4c5d64d1000a6442a358746324c2123"; + sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; + }; + }; + + vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "master"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { + name = "vim-visual-star-search"; + src = pkgs.fetchFromGitHub { + owner = "nelstrom"; + repo = "vim-visual-star-search"; + rev = "37259722f45996733fd309add61385a4ad88bdb9"; + sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; + }; + }; +in +{ + home.username = "${username}"; + home.homeDirectory = "/home/${username}"; + + home.stateVersion = "22.05"; + + programs.home-manager.enable = true; + + home.file.".gitmessage".text = '' + type(scope): description + + # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test + # + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, add an ! after the type/scope, uncomment the following + # line and describe the change: + # + # BREAKING CHANGE: + ''; + + home.file.".gitignore-global".text = '' + .phpactor.json + ''; + + home.file."nodemon.json".text = '' + { + "ignore": [ + ".git" + ], + "verbose": true, + "events": { + "start": "clear" + } + } + ''; + + programs.bat.enable = true; + + programs.git = { + enable = true; + userName = "Oliver Davies"; + userEmail = "oliver@oliverdavies.uk"; + + aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = + "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = + "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + nah = "!git reset --hard && git clean -fd"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = + "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = + "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + staged = "diff --staged"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + wip = "!git add . && git commit -m 'wip'"; + worktrees = "worktree list"; + }; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + }; + checkout.defaultRemote = "origin"; + color.ui = true; + commit = { template = "~/.gitmessage"; }; + core = { + editor = "nvim"; + excludesFile = "~/.gitignore-global"; + pager = "delta"; + }; + delta.line-numbers = true; + diff.tool = "vimdiff"; + fetch.prune = true; + grep.lineNumber = true; + help.autocorrect = "1"; + init = { + defaultBranch = "main"; + templatedir = "~/.git_template"; + }; + merge.ff = "only"; + rebase = { + autosquash = true; + autostash = true; + }; + push.default = "upstream"; + pull = { + ff = "only"; + rebase = true; + }; + }; + }; + + programs.zsh = { + enable = true; + enableCompletion = false; + dotDir = ".config/zsh"; + + initExtra = '' + # Plugins + source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" + source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" + + # Case insensitive autocompletion. + zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" + autoload -Uz compinit && compinit + + bindkey -s ^f "t\n" + + clear-ls-all() { + clear + exa -al + } + zle -N clear-ls-all + bindkey '^K' clear-ls-all + + clear-git-status() { + clear + git status -sb . + } + zle -N clear-git-status + bindkey '^G' clear-git-status + + # auto-completes aliases + # enables to define + # - normal aliases (completed with trailing space) + # - blank aliases (completed without space) + # - ignored aliases (not completed) + + # ignored aliases + typeset -a ialiases + ialiases=() + + ialias() { + alias $@ + args="$@" + args=''${args%%\=*} + ialiases+=(''${args##* }) + } + + # blank aliases + typeset -a baliases + baliases=() + + balias() { + alias $@ + args="$@" + args=''${args%%\=*} + baliases+=(''${args##* }) + } + + expand-alias-space() { + [[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$? + if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then + zle _expand_alias + fi + + zle self-insert + + if [[ "$insertBlank" = "0" ]]; then + zle backward-delete-char + fi + } + + zle -N expand-alias-space + + bindkey " " expand-alias-space + bindkey -M isearch " " magic-space + + ialias cs="create-script" + ialias dev="develop" + ialias fetch="git fetch --all --jobs=4 --progress --prune" + ialias run="./run" + ialias pull="git pull --autostash --jobs=4 --summary origin" + ialias rebase="git rebase --autostash --stat" + ialias run="./run" + ialias s="secrets" + ialias secrets="doppler --project \"$(whoami)\" run" + ialias tag="tag-release" + ialias update="fetch && rebase" + + ialias ls="exa -la" + + # tmux + alias ta="tmux attach" + alias tl="tmux list-sessions" + alias tk="tmux kill-session" + + # Docker and Docker Compose. + alias dk="docker" + alias dkp="docker ps" + alias dkpa="docker ps -a" + alias dkpaq="docker ps -a -q" + alias dkb="docker build -t" + alias dks="docker start" + alias dkt="docker stop" + alias dkrm="docker rm" + alias dkri="docker rmi" + alias dke="docker exec -ti" + alias dkl="docker logs -f" + alias dki="docker images" + alias dkpu="docker pull" + alias dkph="docker push" + alias dkbnc="docker build --no-cache -t" + alias dkr="docker run --rm" + alias dkrti="docker run --rm -ti" + alias dkc="docker compose" + alias dkcb="docker compose build" + alias dkcu="docker compose up" + alias dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" + + # Nix and NixOS. + alias nx="nix" + alias nxb="nix build" + alias nxd="nix develop" + alias nxf="nix flake" + alias nxs="nix shell" + ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' + ialias full-system-repair='nix-store --verify --check-contents --repair' + ialias full-system-upgrade="sudo nixos-rebuild switch --upgrade && nix-env -u '*'" + ialias list-system-configurations='\ls -l /nix/var/nix/profiles/system-*-link' + ialias local-upgrade="nix-channel --update nixpkgs && nix-env -u '*'" + ialias set-default-boot='/run/current-system/bin/switch-to-configuration boot' + ialias system-rebuild='sudo nixos-rebuild switch' + ialias system-repair='sudo nixos-rebuild switch --repair' + ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' + + alias tf="terraform" + + # Build Configs. + ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" + ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" + + setopt auto_cd + setopt auto_pushd + setopt pushd_ignore_dups + setopt pushdminus + ''; + + zplug = { + enable = true; + + plugins = [ + { + name = "themes/robbyrussell"; + tags = [ "from:oh-my-zsh" "as:theme" ]; + } + { + name = "plugin/git"; + tags = [ "from:oh-my-zsh" ]; + } + { + name = "plugin/vi-mode"; + tags = [ "from:oh-my-zsh" ]; + } + { name = "mollifier/cd-gitroot"; } + { name = "zsh-users/zsh-autosuggestions"; } + { name = "zsh-users/zsh-completions"; } + { name = "zsh-users/zsh-syntax-highlighting"; } + ]; + }; + }; + + programs.tmux = { + enable = true; + terminal = "tmux-256color"; + + extraConfig = '' + unbind C-b + + set -g prefix C-s + bind C-s send-prefix + + bind-key -n C-h select-pane -L + bind-key -n C-j select-pane -D + bind-key -n C-k select-pane -U + bind-key -n C-l select-pane -R + + set-option -g status-keys "emacs" + set-option -ga terminal-overrides ",*256col*:alacritty" + + bind-key h split-window -v -c "#{pane_current_path}" + bind-key v split-window -h -c "#{pane_current_path}" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + # Status line customisation + set-option -g status-left-length 100 + set-option -g status-right-length 100 + set-option -g status-left " #{session_name} " + set-option -g status-right "#{pane_title} " + set-option -g status-style "fg=#7C7D83 bg=#242631" + set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-style "fg=#E9E9EA" + set-option -g window-status-activity-style none + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + + bind-key C-j choose-tree + + # Use vim keybindings in copy mode + setw -g mode-keys vi + + # Setup 'v' to begin selection as in Vim + bind-key -T copy-mode-vi 'v' send -X begin-selection + bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + + # Smart pane switching with awareness of Vim splits. + # See: https://github.com/christoomey/vim-tmux-navigator + is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" + + bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' + bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' + bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' + bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' + + bind-key -T copy-mode-vi 'C-h' select-pane -L + bind-key -T copy-mode-vi 'C-j' select-pane -D + bind-key -T copy-mode-vi 'C-k' select-pane -U + bind-key -T copy-mode-vi 'C-l' select-pane -R + bind-key -T copy-mode-vi 'C-\' select-pane -l + + bind-key -r F new-window t + bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" + + set -g @resurrect-strategy-nvim 'session' + ''; + + plugins = with pkgs; [ + tmuxPlugins.resurrect + tmuxPlugins.vim-tmux-navigator + tmuxPlugins.yank + ]; + }; + + programs.neovim = { + enable = true; + viAlias = true; + vimAlias = true; + + plugins = with pkgs; [ + tabline-vim + vim-astro + vim-caser + vim-heritage + vim-just + vim-textobj-xmlattr + vim-visual-star-search + + vimPlugins.comment-nvim + vimPlugins.dial-nvim + vimPlugins.git-worktree-nvim + vimPlugins.gitsigns-nvim + vimPlugins.harpoon + vimPlugins.impatient-nvim + vimPlugins.indent-blankline-nvim + vimPlugins.nvim-autopairs + vimPlugins.nvim-lastplace + vimPlugins.nvim-ts-autotag + vimPlugins.nvim-web-devicons + vimPlugins.refactoring-nvim + vimPlugins.rest-nvim + vimPlugins.splitjoin-vim + vimPlugins.vim-abolish + vimPlugins.vim-easy-align + vimPlugins.vim-eunuch + vimPlugins.vim-floaterm + vimPlugins.vim-highlightedyank + vimPlugins.vim-nix + vimPlugins.vim-obsession + vimPlugins.vim-pasta + vimPlugins.vim-polyglot + vimPlugins.vim-repeat + vimPlugins.vim-sleuth + vimPlugins.vim-surround + vimPlugins.vim-terraform + vimPlugins.vim-test + vimPlugins.vim-textobj-user + vimPlugins.vim-tmux-navigator + vimPlugins.vim-unimpaired + vimPlugins.vimux + + # Git + vimPlugins.vim-fugitive + vimPlugins.vim-rhubarb + + # Debugging + vimPlugins.nvim-dap + vimPlugins.nvim-dap-ui + vimPlugins.nvim-dap-virtual-text + + # Treesitter + vimPlugins.nvim-treesitter.withAllGrammars + vimPlugins.nvim-treesitter-context + vimPlugins.nvim-treesitter-textobjects + + # LSP + inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.lsp-zero-nvim + inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig + vimPlugins.null-ls-nvim + vimPlugins.lsp-status-nvim + + # Completion + vimPlugins.cmp-buffer + vimPlugins.cmp-cmdline + vimPlugins.cmp-nvim-lsp + vimPlugins.cmp-nvim-lsp-signature-help + vimPlugins.cmp-path + vimPlugins.cmp-tabnine + vimPlugins.cmp-treesitter + vimPlugins.cmp-vsnip + vimPlugins.cmp_luasnip + vimPlugins.lspkind-nvim + vimPlugins.nvim-cmp + vimPlugins.phpactor + + # Snippets + vimPlugins.luasnip + + # Telescope + vimPlugins.plenary-nvim + vimPlugins.popup-nvim + vimPlugins.telescope-file-browser-nvim + vimPlugins.telescope-frecency-nvim + vimPlugins.telescope-fzf-native-nvim + vimPlugins.telescope-live-grep-args-nvim + vimPlugins.telescope-nvim + vimPlugins.telescope-ui-select-nvim + + # Databases + vimPlugins.vim-dadbod + vimPlugins.vim-dadbod-ui + vimPlugins.vim-dadbod-completion + + # Themes + vimPlugins.catppuccin-nvim + + inputs.self.packages.${pkgs.system}.opdavies-nvim + ]; + + extraConfig = '' + lua << EOF + pcall("require", impatient) + + require "opdavies.globals" + + require("opdavies.options").setup() + + require "opdavies.lsp" + + require "opdavies.telescope.setup" + require "opdavies.telescope.mappings" + EOF + ''; + + extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + + # Language servers + ansible-language-server + inputs.nixpkgs-unstable.legacyPackages."${system}".nixd + lua53Packages.lua-lsp + nodePackages.intelephense + nodePackages."@astrojs/language-server" + nodePackages."@tailwindcss/language-server" + nodePackages.bash-language-server + nodePackages.dockerfile-language-server-nodejs + nodePackages.typescript-language-server + nodePackages.vls + nodePackages.volar + nodePackages.vscode-langservers-extracted + nodePackages.vue-language-server + nodePackages.yaml-language-server + phpactor + rnix-lsp + terraform-ls + + # Formatters + black + rstfmt + + # Tools + html-tidy + nodePackages.markdownlint-cli + proselint + shellcheck + ]; + }; + programs.nnn.enable = true; + + home.sessionPath = [ "$HOME/.config/bin" ]; + + xdg.configFile."ripgrep/config".text = '' + --follow + --smart-case + ''; + + xdg.configFile.bin = { + source = ../../bin; + recursive = true; + }; + + xdg.configFile.phpactor = { + source = ../../config/phpactor; + recursive = true; + }; +} From 0c4b2d691d9a6eb0c163a2a71460a6a5f42d3a44 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 8 Aug 2023 23:59:41 +0100 Subject: [PATCH 0339/2258] feat(nvim): telescope mapping to delete buffers --- config/neovim/lua/opdavies/telescope/setup.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua index 0c26a7d3..57db5af9 100644 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ b/config/neovim/lua/opdavies/telescope/setup.lua @@ -44,6 +44,7 @@ telescope.setup { mappings = { i = { + [""] = actions.delete_buffer, [""] = actions.which_key, [""] = action_layout.toggle_preview, [""] = action_layout.toggle_mirror, From 227dff7fd1835e8f0305fd5163303702a5792513 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 9 Aug 2023 21:43:47 +0100 Subject: [PATCH 0340/2258] fix(wsl2): use shared Home Manager configuration --- flake.nix | 3 ++- justfile | 2 +- system/wsl2/default.nix | 31 ++++++++++--------------------- 3 files changed, 13 insertions(+), 23 deletions(-) diff --git a/flake.nix b/flake.nix index 89ed6ed5..327aa81b 100644 --- a/flake.nix +++ b/flake.nix @@ -8,10 +8,11 @@ outputs = inputs@{ flake-parts, self, ... }: let + system = "x86_64-linux"; username = "opdavies"; nixos-system = import ./system/nixos { inherit inputs username; }; - wsl-system = import ./system/wsl2 { inherit inputs username; }; + wsl-system = import ./system/wsl2 { inherit inputs system username; }; in flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; diff --git a/justfile b/justfile index d6cd3568..9a831a39 100644 --- a/justfile +++ b/justfile @@ -8,7 +8,7 @@ nixos profile command: && clean sudo nixos-rebuild {{ command }} --flake .#{{ profile }} wsl2 command: && clean - home-manager {{ command }} -f home-manager/home.nix --flake .#wsl2 + NIXPKGS_ALLOW_UNFREE=1 home-manager {{ command }} --flake .#wsl2 --impure update: nix flake update diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index 5be1bebc..7fcdc506 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -1,27 +1,16 @@ -{ inputs, username }: +{ inputs, system, username }: +let + pkgs = inputs.nixpkgs.legacyPackages."${system}"; + + shared-config = import ../shared/home-manager.nix { inherit inputs pkgs username; }; + shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; +in inputs.home-manager.lib.homeManagerConfiguration { - extraSpecialArgs = { inherit inputs; }; + inherit pkgs; modules = [ - { - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (inputs.nixpkgs.lib.getName pkg) [ - "intelephense" - "postman" - "tabnine" - ]; - } - - { - imports = [ - ../../home-manager/modules/common.nix - ../../home-manager/modules/git.nix - ../../home-manager/modules/home-manager.nix - ../../home-manager/modules/tmux.nix - ../../home-manager/modules/zsh.nix - ]; - } + { imports = [ shared-config ]; } + { home.packages = shared-packages; } ]; - - pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; } From ce6193bb7b0cb97d8ed1385f14880604f05aa2ea Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 11 Aug 2023 00:25:15 +0100 Subject: [PATCH 0341/2258] feat(nvim): add fugitive keymaps Add keymaps to open `git status` within Fugitive as well as push and pull changes within a fugitive buffer. --- config/neovim/after/plugin/fugitive.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 config/neovim/after/plugin/fugitive.lua diff --git a/config/neovim/after/plugin/fugitive.lua b/config/neovim/after/plugin/fugitive.lua new file mode 100644 index 00000000..311cfc8d --- /dev/null +++ b/config/neovim/after/plugin/fugitive.lua @@ -0,0 +1,22 @@ +vim.keymap.set("n", "gs", vim.cmd.Git) + +vim.api.nvim_create_autocmd("BufWinEnter", { + pattern = "*", + + callback = function() + if vim.bo.ft ~= "fugitive" then + return + end + + local bufnr = vim.api.nvim_get_current_buf() + local opts = { buffer = bufnr, remap = false } + + vim.keymap.set("n", "p", function() + vim.cmd.Git('push') + end, opts) + + vim.keymap.set("n", "P", function() + vim.cmd.Git({'pull', '--rebase'}) + end, opts) + end, +}) From ae4c829b4e39b27e5b8012b0ddeabb6d5cc02e65 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 11 Aug 2023 00:26:36 +0100 Subject: [PATCH 0342/2258] chore(nvim): update gitsigns keymaps --- config/neovim/after/plugin/gitsigns.lua | 26 +++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/config/neovim/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua index 14dfb742..cf8f92cf 100644 --- a/config/neovim/after/plugin/gitsigns.lua +++ b/config/neovim/after/plugin/gitsigns.lua @@ -8,9 +8,23 @@ gitsigns.setup { numhl = true, } -vim.keymap.set('n', '[h', "Gitsigns prev_hunk"); -vim.keymap.set('n', ']h', "Gitsigns next_hunk"); -vim.keymap.set('n', 'gS', "Gitsigns undo_stage_hunk"); -vim.keymap.set('n', 'gb', "Gitsigns blame_line"); -vim.keymap.set('n', 'gp', "Gitsigns preview_hunk"); -vim.keymap.set('n', 'gs', "Gitsigns stage_hunk"); +local bufnr = vim.api.nvim_get_current_buf() + +local map = require "opdavies.keymap".map +local nmap = require "opdavies.keymap".nmap +local vmap = require "opdavies.keymap".vmap + +nmap { '[h', "&diff ? '[c' : 'Gitsigns prev_hunk'", { expr = true, buffer = bufnr }} +nmap { ']h', "&diff ? ']c' : 'Gitsigns next_hunk'", { expr = true, buffer = bufnr }} + +nmap { 'hR', gitsigns.reset_buffer } +nmap { 'hS', gitsigns.stage_buffer } +nmap { 'hp', gitsigns.preview_hunk } +nmap { 'hr', gitsigns.reset_hunk } +nmap { 'hs', gitsigns.stage_hunk } +nmap { 'hu', gitsigns.undo_stage_hunk } +vmap { 'hr', function() gitsigns.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end } +vmap { 'hs', function() gitsigns.stage_hunk { vim.fn.line('.'), vim.fn.line('v')} end } + +-- Text object. +map{ {'o', 'x'}, 'ih', ':Gitsigns select_hunk' } From b7dca115ae51bd7b8d6ce3bacfcdad10f8f77dac Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 11 Aug 2023 00:28:17 +0100 Subject: [PATCH 0343/2258] feat(nixos): add via and vial for keyboard ...configuration --- system/nixos/configuration.nix | 4 ++++ system/nixos/home-manager.nix | 2 ++ 2 files changed, 6 insertions(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index de0de0bc..2d9ceea1 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -238,5 +238,9 @@ in enableSSHSupport = true; pinentryFlavor = "qt"; }; + + services.udev.extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="realet" + ''; } diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 76a16782..f5d5ed75 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -16,6 +16,8 @@ in pkgs.postman pkgs.slack pkgs.teams + pkgs.via + pkgs.vial pkgs.vlc pkgs.wofi pkgs.xcape From 577054a9e52278dbc920a206a3256f2769acc38a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 11 Aug 2023 19:55:56 +0100 Subject: [PATCH 0344/2258] feat(zsh): show ASCII logo in a new terminal --- flake.nix | 4 ++-- logo.txt | 13 +++++++++++++ system/nixos/default.nix | 4 ++-- system/nixos/home-manager.nix | 4 ++-- system/shared/home-manager.nix | 10 +++++++++- system/wsl2/default.nix | 4 ++-- 6 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 logo.txt diff --git a/flake.nix b/flake.nix index 327aa81b..ea410f49 100644 --- a/flake.nix +++ b/flake.nix @@ -11,8 +11,8 @@ system = "x86_64-linux"; username = "opdavies"; - nixos-system = import ./system/nixos { inherit inputs username; }; - wsl-system = import ./system/wsl2 { inherit inputs system username; }; + nixos-system = import ./system/nixos { inherit inputs self username; }; + wsl-system = import ./system/wsl2 { inherit inputs self system username; }; in flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; diff --git a/logo.txt b/logo.txt new file mode 100644 index 00000000..f1553b87 --- /dev/null +++ b/logo.txt @@ -0,0 +1,13 @@ + + ⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣤⣀⢀⣠⣤⡶⠾⠿⠿⠿⠷⣶⣤⣀⠀⠀⠀⠀ + ⠀⠀⠀⣠⣶⠟⠋⠉⠀⠀⢀⣤⣭⠝⠻⣶⣅⠀⠀⠀⡀⠀⠀⠀⠉⠻⣷⣄⠀⠀ + ⠀⠀⣾⡿⠀⠀⠀⢠⣴⣶⣾⣿⡄⠀⠀⢨⣿⣷⡿⠿⠿⢿⣷⣦⠀⠀⠈⢿⣦⠀ + ⠀⣾⠏⠀⠀⣠⡾⠟⠉⠉⠉⠉⠻⣷⣄⠹⣿⡁⠀⠀⠀⠀⠈⠹⣷⡀⠀⠈⣿⡄ + ⣸⡏⠀⠀⣰⡟⠁⠀⠀⠀⠀⠀⠀⠈⢻⣆⢻⣧⠀⠀⠀⠀⠀⠀⠸⣷⠀⠀⢸⣷ + ⣿⡇⠀⠀⣿⡃⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢻⣇⠀⠀⠀⠀⠀⠀⣿⠀⠀⢸⣿ + ⢻⡇⠀⠀⢿⣇⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠀⠈⣿⣆⠀⠀⠀⢀⣼⡟⠀⠀⣼⡇ + ⠘⣿⡄⠀⠈⢻⣦⣀⠀⠀⠀⠀⣀⣴⠟⣿⡄⢠⣿⣿⣄⣤⣶⠟⠋⠀⢀⣴⡟⠀ + ⠀⠹⣿⡀⠀⠈⠙⠿⣿⣧⣼⣿⠿⠋⠀⠹⣧⢻⠋⠹⠟⠋⠉⠀⠀⣠⣼⠟⠁⠀ + ⠀⠀⠈⠻⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢻⣧⠀⠀⢀⣀⣤⣶⠿⠋⠁⠀⠀⠀ + ⠀⠀⠀⠀⠈⠙⠻⠿⠶⣶⣶⠶⠿⠛⠋⠀⠀⢻⣷⠾⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀ + diff --git a/system/nixos/default.nix b/system/nixos/default.nix index 3e66571d..8ba02929 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -1,4 +1,4 @@ -{ inputs, username }: +{ inputs, self, username }: { desktop }: @@ -10,7 +10,7 @@ inputs.nixpkgs.lib.nixosSystem { modules = [ inputs.home-manager.nixosModules.home-manager { home-manager = { - extraSpecialArgs = { inherit inputs desktop username; }; + extraSpecialArgs = { inherit inputs desktop self username; }; useGlobalPkgs = true; useUserPackages = true; users."${username}" = import ./home-manager.nix; diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index f5d5ed75..0cce0066 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -1,8 +1,8 @@ -{ inputs, desktop, username, config, pkgs, ... }: +{ inputs, config, desktop, pkgs, self, username, ... }: let desktop-config = import ./home-manager-desktop.nix { inherit config inputs pkgs; }; - shared-config = import ../shared/home-manager.nix { inherit inputs pkgs username; }; + shared-config = import ../shared/home-manager.nix { inherit inputs pkgs self username; }; shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; in { diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index c9a902ca..707026eb 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, username }: +{ inputs, pkgs, self, username }: let vim-astro = pkgs.vimUtils.buildVimPlugin { @@ -207,12 +207,20 @@ in }; }; + home.file."logo.txt" = { + source = pkgs.copyPathToStore "${self}/logo.txt"; + target = "logo.txt"; + }; + programs.zsh = { enable = true; enableCompletion = false; dotDir = ".config/zsh"; initExtra = '' + # Show the logo at the start of each prompt. + cat ~/logo.txt + # Plugins source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index 7fcdc506..0122404a 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -1,9 +1,9 @@ -{ inputs, system, username }: +{ inputs, self, system, username }: let pkgs = inputs.nixpkgs.legacyPackages."${system}"; - shared-config = import ../shared/home-manager.nix { inherit inputs pkgs username; }; + shared-config = import ../shared/home-manager.nix { inherit inputs pkgs self username; }; shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; in inputs.home-manager.lib.homeManagerConfiguration { From 6b52cd2119a08af07795c82d7e601eed97e38249 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 12 Aug 2023 21:45:54 +0100 Subject: [PATCH 0345/2258] docs(readme): add ASCII logo --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 6083d1c1..c64e9ac7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,18 @@ # dotfiles + ⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣤⣀⢀⣠⣤⡶⠾⠿⠿⠿⠷⣶⣤⣀⠀⠀⠀⠀ + ⠀⠀⠀⣠⣶⠟⠋⠉⠀⠀⢀⣤⣭⠝⠻⣶⣅⠀⠀⠀⡀⠀⠀⠀⠉⠻⣷⣄⠀⠀ + ⠀⠀⣾⡿⠀⠀⠀⢠⣴⣶⣾⣿⡄⠀⠀⢨⣿⣷⡿⠿⠿⢿⣷⣦⠀⠀⠈⢿⣦⠀ + ⠀⣾⠏⠀⠀⣠⡾⠟⠉⠉⠉⠉⠻⣷⣄⠹⣿⡁⠀⠀⠀⠀⠈⠹⣷⡀⠀⠈⣿⡄ + ⣸⡏⠀⠀⣰⡟⠁⠀⠀⠀⠀⠀⠀⠈⢻⣆⢻⣧⠀⠀⠀⠀⠀⠀⠸⣷⠀⠀⢸⣷ + ⣿⡇⠀⠀⣿⡃⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢻⣇⠀⠀⠀⠀⠀⠀⣿⠀⠀⢸⣿ + ⢻⡇⠀⠀⢿⣇⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠀⠈⣿⣆⠀⠀⠀⢀⣼⡟⠀⠀⣼⡇ + ⠘⣿⡄⠀⠈⢻⣦⣀⠀⠀⠀⠀⣀⣴⠟⣿⡄⢠⣿⣿⣄⣤⣶⠟⠋⠀⢀⣴⡟⠀ + ⠀⠹⣿⡀⠀⠈⠙⠿⣿⣧⣼⣿⠿⠋⠀⠹⣧⢻⠋⠹⠟⠋⠉⠀⠀⣠⣼⠟⠁⠀ + ⠀⠀⠈⠻⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢻⣧⠀⠀⢀⣀⣤⣶⠿⠋⠁⠀⠀⠀ + ⠀⠀⠀⠀⠈⠙⠻⠿⠶⣶⣶⠶⠿⠛⠋⠀⠀⢻⣷⠾⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀ + + Cross-platform development environments for opdavies using Nix, NixOS and Home Manager. ## Why did you move from Ansible? From 2b9e7fce263df20ed8792c60a40c9c549d1bd7cb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 12 Aug 2023 21:47:15 +0100 Subject: [PATCH 0346/2258] docs(readme): fix logo formatting --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c64e9ac7..82189a3d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # dotfiles +```plain ⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣤⣀⢀⣠⣤⡶⠾⠿⠿⠿⠷⣶⣤⣀⠀⠀⠀⠀ ⠀⠀⠀⣠⣶⠟⠋⠉⠀⠀⢀⣤⣭⠝⠻⣶⣅⠀⠀⠀⡀⠀⠀⠀⠉⠻⣷⣄⠀⠀ ⠀⠀⣾⡿⠀⠀⠀⢠⣴⣶⣾⣿⡄⠀⠀⢨⣿⣷⡿⠿⠿⢿⣷⣦⠀⠀⠈⢿⣦⠀ @@ -11,7 +12,7 @@ ⠀⠹⣿⡀⠀⠈⠙⠿⣿⣧⣼⣿⠿⠋⠀⠹⣧⢻⠋⠹⠟⠋⠉⠀⠀⣠⣼⠟⠁⠀ ⠀⠀⠈⠻⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢻⣧⠀⠀⢀⣀⣤⣶⠿⠋⠁⠀⠀⠀ ⠀⠀⠀⠀⠈⠙⠻⠿⠶⣶⣶⠶⠿⠛⠋⠀⠀⢻⣷⠾⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀ - +``` Cross-platform development environments for opdavies using Nix, NixOS and Home Manager. From 5bf3964ae34a112333139643d84508bcb88bc4b8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 12 Aug 2023 21:48:42 +0100 Subject: [PATCH 0347/2258] revert(readme): fix logo formatting This reverts commit 2b9e7fce263df20ed8792c60a40c9c549d1bd7cb. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 82189a3d..c64e9ac7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # dotfiles -```plain ⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣤⣀⢀⣠⣤⡶⠾⠿⠿⠿⠷⣶⣤⣀⠀⠀⠀⠀ ⠀⠀⠀⣠⣶⠟⠋⠉⠀⠀⢀⣤⣭⠝⠻⣶⣅⠀⠀⠀⡀⠀⠀⠀⠉⠻⣷⣄⠀⠀ ⠀⠀⣾⡿⠀⠀⠀⢠⣴⣶⣾⣿⡄⠀⠀⢨⣿⣷⡿⠿⠿⢿⣷⣦⠀⠀⠈⢿⣦⠀ @@ -12,7 +11,7 @@ ⠀⠹⣿⡀⠀⠈⠙⠿⣿⣧⣼⣿⠿⠋⠀⠹⣧⢻⠋⠹⠟⠋⠉⠀⠀⣠⣼⠟⠁⠀ ⠀⠀⠈⠻⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢻⣧⠀⠀⢀⣀⣤⣶⠿⠋⠁⠀⠀⠀ ⠀⠀⠀⠀⠈⠙⠻⠿⠶⣶⣶⠶⠿⠛⠋⠀⠀⢻⣷⠾⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀ -``` + Cross-platform development environments for opdavies using Nix, NixOS and Home Manager. From 07bc04fa4dba84f3f3d7455ddfa1c6681278374c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 12 Aug 2023 21:48:50 +0100 Subject: [PATCH 0348/2258] revert(readme): add ASCII logo This reverts commit 6b52cd2119a08af07795c82d7e601eed97e38249. --- README.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/README.md b/README.md index c64e9ac7..6083d1c1 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,5 @@ # dotfiles - ⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣤⣀⢀⣠⣤⡶⠾⠿⠿⠿⠷⣶⣤⣀⠀⠀⠀⠀ - ⠀⠀⠀⣠⣶⠟⠋⠉⠀⠀⢀⣤⣭⠝⠻⣶⣅⠀⠀⠀⡀⠀⠀⠀⠉⠻⣷⣄⠀⠀ - ⠀⠀⣾⡿⠀⠀⠀⢠⣴⣶⣾⣿⡄⠀⠀⢨⣿⣷⡿⠿⠿⢿⣷⣦⠀⠀⠈⢿⣦⠀ - ⠀⣾⠏⠀⠀⣠⡾⠟⠉⠉⠉⠉⠻⣷⣄⠹⣿⡁⠀⠀⠀⠀⠈⠹⣷⡀⠀⠈⣿⡄ - ⣸⡏⠀⠀⣰⡟⠁⠀⠀⠀⠀⠀⠀⠈⢻⣆⢻⣧⠀⠀⠀⠀⠀⠀⠸⣷⠀⠀⢸⣷ - ⣿⡇⠀⠀⣿⡃⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢻⣇⠀⠀⠀⠀⠀⠀⣿⠀⠀⢸⣿ - ⢻⡇⠀⠀⢿⣇⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠀⠈⣿⣆⠀⠀⠀⢀⣼⡟⠀⠀⣼⡇ - ⠘⣿⡄⠀⠈⢻⣦⣀⠀⠀⠀⠀⣀⣴⠟⣿⡄⢠⣿⣿⣄⣤⣶⠟⠋⠀⢀⣴⡟⠀ - ⠀⠹⣿⡀⠀⠈⠙⠿⣿⣧⣼⣿⠿⠋⠀⠹⣧⢻⠋⠹⠟⠋⠉⠀⠀⣠⣼⠟⠁⠀ - ⠀⠀⠈⠻⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢻⣧⠀⠀⢀⣀⣤⣶⠿⠋⠁⠀⠀⠀ - ⠀⠀⠀⠀⠈⠙⠻⠿⠶⣶⣶⠶⠿⠛⠋⠀⠀⢻⣷⠾⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀ - - Cross-platform development environments for opdavies using Nix, NixOS and Home Manager. ## Why did you move from Ansible? From b63b84e2f140cbd6c01c9ce372b1ffea71f5c7dc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Aug 2023 00:23:46 +0100 Subject: [PATCH 0349/2258] feat(nvim): add undotree --- config/neovim/after/plugin/undotree.lua | 3 +++ system/shared/home-manager.nix | 1 + 2 files changed, 4 insertions(+) create mode 100644 config/neovim/after/plugin/undotree.lua diff --git a/config/neovim/after/plugin/undotree.lua b/config/neovim/after/plugin/undotree.lua new file mode 100644 index 00000000..2fd2cf6b --- /dev/null +++ b/config/neovim/after/plugin/undotree.lua @@ -0,0 +1,3 @@ +local nmap = require "opdavies.keymap".nmap + +nmap { "u", vim.cmd.UndotreeToggle } diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 707026eb..2973d8cd 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -515,6 +515,7 @@ in vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim + vimPlugins.undotree vimPlugins.vim-abolish vimPlugins.vim-easy-align vimPlugins.vim-eunuch From 1f459e59f9d8cd3b714b9c66472bf8ded8b10afa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Aug 2023 00:37:27 +0100 Subject: [PATCH 0350/2258] chore(update) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f342a843..287b2bad 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1687871164, - "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", + "lastModified": 1691963086, + "narHash": "sha256-OHpCjDC9jsMDzyNJslJUeONaNkSDQA5t7qGpurVsVww=", "owner": "nix-community", "repo": "home-manager", - "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", + "rev": "7f351e2993ed170dd9b8521a9e41f4d91d9b9c5d", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691328192, - "narHash": "sha256-w59N1zyDQ7SupfMJLFvtms/SIVbdryqlw5AS4+DiH+Y=", + "lastModified": 1691831739, + "narHash": "sha256-6e12VCvA7jOjhzJ1adLiUV1GTPXGBcCfhggsDwiuNB4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "61676e4dcfeeb058f255294bcb08ea7f3bc3ce56", + "rev": "3fe694c4156b84dac12627685c7ae592a71e2206", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691368598, - "narHash": "sha256-ia7li22keBBbj02tEdqjVeLtc7ZlSBuhUk+7XTUFr14=", + "lastModified": 1691654369, + "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a8e9243812ba528000995b294292d3b5e120947", + "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", "type": "github" }, "original": { From 9bf205edd8996479ed1489f84c707c01206d57ce Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Aug 2023 00:50:47 +0100 Subject: [PATCH 0351/2258] feat(nvim): add more Harpoon keymaps --- config/neovim/after/plugin/harpoon.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua index d56c3918..883bdf38 100644 --- a/config/neovim/after/plugin/harpoon.lua +++ b/config/neovim/after/plugin/harpoon.lua @@ -10,6 +10,9 @@ harpoon.setup {} nmap { "", require("harpoon.ui").toggle_quick_menu } nmap { "", require("harpoon.mark").add_file } +nmap { "hl", require("harpoon.ui").toggle_quick_menu } +nmap { "hm", require("harpoon.mark").add_file } + for i = 1, 5 do nmap { string.format("%s", i), From 7e8fc3c86fd85e388fb8f5e683e6e9c820ea3e37 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Aug 2023 17:49:20 +0100 Subject: [PATCH 0352/2258] feat(home-manager): add local directories to PATH This adds local `vendor/bin` and `node_modules/.bin` directories to my `PATH` so I can more quickly and easily run binaries within a project from within those directories without needing to include the path. --- system/nixos/home-manager.nix | 1 + system/wsl2/default.nix | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 0cce0066..b39ad828 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -29,6 +29,7 @@ in LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; + PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index 0122404a..a2739601 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -10,7 +10,20 @@ inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ - { imports = [ shared-config ]; } - { home.packages = shared-packages; } + { + imports = [ shared-config ]; + + home.packages = shared-packages; + + home.sessionVariables = { + EDITOR = "nvim"; + # LANG = "en_GB.UTF-8"; + # LC_ALL = "en_GB.UTF-8"; + # LC_CTYPE = "en_GB.UTF-8"; + PATH = "$PATH:./vendor/bin:./node_modules/.bin"; + PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; + }; + } ]; } From 990a4f62a93577a8e9f4f141d0dd18b4da9333a9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Aug 2023 19:26:53 +0100 Subject: [PATCH 0353/2258] chore(nvim): remove unused plugins --- system/shared/home-manager.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 2973d8cd..721b4b2e 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -503,23 +503,17 @@ in vimPlugins.comment-nvim vimPlugins.dial-nvim - vimPlugins.git-worktree-nvim vimPlugins.gitsigns-nvim vimPlugins.harpoon vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim - vimPlugins.nvim-autopairs - vimPlugins.nvim-lastplace - vimPlugins.nvim-ts-autotag vimPlugins.nvim-web-devicons vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.undotree - vimPlugins.vim-abolish vimPlugins.vim-easy-align vimPlugins.vim-eunuch - vimPlugins.vim-floaterm vimPlugins.vim-highlightedyank vimPlugins.vim-nix vimPlugins.vim-obsession @@ -533,7 +527,6 @@ in vimPlugins.vim-textobj-user vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired - vimPlugins.vimux # Git vimPlugins.vim-fugitive From 9e4e746052e45593af5f89f0da2ac9424096e27e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Aug 2023 19:31:30 +0100 Subject: [PATCH 0354/2258] fix(nvim): remove git-worktree configuration --- config/neovim/lua/opdavies/telescope/mappings.lua | 5 ----- config/neovim/lua/opdavies/telescope/setup.lua | 1 - 2 files changed, 6 deletions(-) diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 7e86932b..33b77659 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -38,9 +38,4 @@ telescope_mapper("dl", "diagnostics") telescope_mapper("en", "edit_neovim") telescope_mapper("ez", "edit_zsh") -local nmap = require("opdavies.keymap").nmap - -nmap { "gm", telescope.extensions.git_worktree.create_git_worktree } -nmap { "gw", telescope.extensions.git_worktree.git_worktrees } - return telescope_mapper diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua index 57db5af9..85b94aac 100644 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ b/config/neovim/lua/opdavies/telescope/setup.lua @@ -97,6 +97,5 @@ telescope.setup { telescope.load_extension "file_browser" telescope.load_extension "fzf" -telescope.load_extension "git_worktree" telescope.load_extension "refactoring" telescope.load_extension "ui-select" From bbf14c5b5f8b5e1d857158341748121ec3991572 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 15 Aug 2023 23:15:46 +0100 Subject: [PATCH 0355/2258] chore(home-manager): remove vi and vim aliases --- system/shared/home-manager.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 721b4b2e..6b471711 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -489,8 +489,6 @@ in programs.neovim = { enable = true; - viAlias = true; - vimAlias = true; plugins = with pkgs; [ tabline-vim From a3325b372a5d114a047efa8043c69f1b43f428b1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 16 Aug 2023 08:31:52 +0100 Subject: [PATCH 0356/2258] feat(nvim): add vim-sort-motion Re-add a plugin to add a text object and motion to sort lines. This means I can run commands like `gsip` to sort lines within a paragraph without needing to select them first. https://github.com/christoomey/vim-sort-motion --- system/shared/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6b471711..e2e9a971 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -519,6 +519,7 @@ in vimPlugins.vim-polyglot vimPlugins.vim-repeat vimPlugins.vim-sleuth + vimPlugins.vim-sort-motion vimPlugins.vim-surround vimPlugins.vim-terraform vimPlugins.vim-test From ca7ad57690389acc700248f8e735d0ce4fca8b8d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 16 Aug 2023 20:46:00 +0100 Subject: [PATCH 0357/2258] fix(nixos): volume keys in swaywm --- system/nixos/configuration.nix | 26 +++++++++++++------------- system/nixos/home-manager-desktop.nix | 8 ++++++-- system/nixos/home-manager.nix | 1 + 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 2d9ceea1..256ce59f 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -82,20 +82,20 @@ in # Enable sound with pipewire. sound.enable = true; - hardware.pulseaudio.enable = false; + hardware.pulseaudio.enable = true; security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; + # services.pipewire = { + # enable = true; + # alsa.enable = true; + # alsa.support32Bit = true; + # pulse.enable = true; + # # If you want to use JACK applications, uncomment this + # #jack.enable = true; + # + # # use the example session manager (no others are packaged yet so this is enabled by default, + # # no need to redefine it in your config for now) + # #media-session.enable = true; + # }; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index 104fb785..42cf26cf 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -124,8 +124,12 @@ bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume + bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume + bindsym XF86AudioMute exec pamixer --toggle-mute + + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 10%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 10%+ exec alacritty exec firefox diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index b39ad828..cf0feb52 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -11,6 +11,7 @@ in home.packages = shared-packages ++ pkgs.lib.optionals desktop [ pkgs.discord pkgs.meslo-lg + pkgs.pamixer pkgs.pass pkgs.pinentry pkgs.postman From 0634242cad69af4fdebb0edcde66f6658d9cb8bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 17 Aug 2023 19:46:38 +0100 Subject: [PATCH 0358/2258] feat(nixos): use IntelOne Mono --- system/nixos/configuration.nix | 10 ++-------- system/nixos/home-manager-desktop.nix | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 256ce59f..85c84622 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -175,20 +175,14 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "JetBrains Mono" ]; + monospace = [ "IntelOne Mono" ]; }; }; fonts = with pkgs; [ - (nerdfonts.override { - fonts = [ - "JetBrainsMono" - "Meslo" - ]; - }) + intel-one-mono ]; }; - zramSwap.enable = true; nix.settings = { diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index 42cf26cf..d9287e64 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -229,7 +229,7 @@ font = { size = 12.0; - normal.family = "JetBrainsMono Nerd Font Mono"; + normal.family = "IntelOne Mono"; italic.style = "Regular"; bolditalic.style = "Regular"; bold.style = "Regular"; From db880e13ad1bf8dad471435ac6f8b31a9ebf6ffc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 17 Aug 2023 20:03:07 +0100 Subject: [PATCH 0359/2258] feat(nixos): add wob Add wob to show an overlay when changing volume and brightness. --- system/nixos/home-manager-desktop.nix | 13 ++++++++----- system/nixos/home-manager.nix | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index d9287e64..65b4de41 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -124,12 +124,15 @@ bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable - bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume - bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume - bindsym XF86AudioMute exec pamixer --toggle-mute + set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock + exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 10%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 10%+ + bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $WOBSOCK + bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $WOBSOCK + bindsym XF86AudioMute exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0 > $WOBSOCK ) || pamixer --get-volume > $WOBSOCK + + bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK + bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK exec alacritty exec firefox diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index cf0feb52..6434ea5d 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -20,6 +20,7 @@ in pkgs.via pkgs.vial pkgs.vlc + pkgs.wob pkgs.wofi pkgs.xcape pkgs.zoom-us From 644225247e84e23a7d527ea684bad8db442c49d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 16 Aug 2023 14:20:03 +0100 Subject: [PATCH 0360/2258] chore(update) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 287b2bad..c2539b21 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1691963086, - "narHash": "sha256-OHpCjDC9jsMDzyNJslJUeONaNkSDQA5t7qGpurVsVww=", + "lastModified": 1692099905, + "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", "owner": "nix-community", "repo": "home-manager", - "rev": "7f351e2993ed170dd9b8521a9e41f4d91d9b9c5d", + "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691831739, - "narHash": "sha256-6e12VCvA7jOjhzJ1adLiUV1GTPXGBcCfhggsDwiuNB4=", + "lastModified": 1692207601, + "narHash": "sha256-tfPGNKQcJT1cvT6ufqO/7ydYNL6mcJClvzbrzhKjB80=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3fe694c4156b84dac12627685c7ae592a71e2206", + "rev": "b30c68669df77d981ce4aefd6b9d378563f6fc4e", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691654369, - "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "lastModified": 1692174805, + "narHash": "sha256-xmNPFDi/AUMIxwgOH/IVom55Dks34u1g7sFKKebxUm0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", + "rev": "caac0eb6bdcad0b32cb2522e03e4002c8975c62e", "type": "github" }, "original": { From cbb337fcd1365c85a1fc41d79b30d88a04d94004 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 21 Aug 2023 17:40:04 +0100 Subject: [PATCH 0361/2258] feat(nixos): enable printing --- system/nixos/configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 85c84622..67493a59 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -77,7 +77,9 @@ in # Configure console keymap console.keyMap = "uk"; - # Enable CUPS to print documents. + services.avahi.enable = true; + services.avahi.nssmdns = true; + services.avahi.openFirewall = true; services.printing.enable = true; # Enable sound with pipewire. From 3824c8f40bc9dbac34b4bc826bcc23047d6e93a3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 21 Aug 2023 22:56:17 +0100 Subject: [PATCH 0362/2258] feat(home-manager): add okular for previewing PDFs --- system/nixos/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 6434ea5d..4213a632 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -11,6 +11,7 @@ in home.packages = shared-packages ++ pkgs.lib.optionals desktop [ pkgs.discord pkgs.meslo-lg + pkgs.okular pkgs.pamixer pkgs.pass pkgs.pinentry From 7fecbc9343fffbeda0829e28df28ced082986d83 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 21 Aug 2023 23:16:45 +0100 Subject: [PATCH 0363/2258] feat(scripts): add `watch-changes` Based on https://github.com/sdaschner/dotfiles/blob/2d235c4c7161bd5f4d0d3d5f78f87bbd3bd0350d/bin/watch-changes. --- bin/watch-changes | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 bin/watch-changes diff --git a/bin/watch-changes b/bin/watch-changes new file mode 100755 index 00000000..ad8cb2e3 --- /dev/null +++ b/bin/watch-changes @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +if [[ "$1" == "" || "$2" == "" ]]; then + echo "usage: ${0##*/} "; + exit 2; +fi + +set -euo pipefail + +while true; do + inotifywait \ + --event modify \ + --event move_self \ + --recursive \ + $1 && $2 +done From dab8031935910650c59460c36e0aa0f384af24d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 22 Aug 2023 16:55:43 +0100 Subject: [PATCH 0364/2258] feat(tmux): add `join-pane` key bind Add a key binding for re-joining another window into a pane within the current window, which is the opposite of the `break-pane` command. It prompts for the window to join from and then joins it into a vertical pane within the current window. This was taken from Chris Toomey's dotfiles. See https://github.com/christoomey/dotfiles/blob/553c92a3a1fd7f05f2283ab8c45feffcefea5d5b/tmux/tmux.conf#L60 --- system/shared/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index e2e9a971..fce5bda3 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -434,6 +434,7 @@ in # Break a pane into a new window. bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" bind-key C-j choose-tree From e53561fb854e261c2b014a4b152f94b4d31ebc10 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 22 Aug 2023 23:05:06 +0100 Subject: [PATCH 0365/2258] fix(scripts): don't stop watching on error --- bin/watch-changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/watch-changes b/bin/watch-changes index ad8cb2e3..26396e26 100755 --- a/bin/watch-changes +++ b/bin/watch-changes @@ -5,7 +5,7 @@ if [[ "$1" == "" || "$2" == "" ]]; then exit 2; fi -set -euo pipefail +set -uo pipefail while true; do inotifywait \ From 51fbde6ae4aac3bd12b168365a76a39349c2100e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 22 Aug 2023 23:05:30 +0100 Subject: [PATCH 0366/2258] chore(zsh): don't show the ASCII logo --- system/shared/home-manager.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index fce5bda3..eb2503a8 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -218,9 +218,6 @@ in dotDir = ".config/zsh"; initExtra = '' - # Show the logo at the start of each prompt. - cat ~/logo.txt - # Plugins source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" From 73d1d765cc7bc8c23f0c2c1046fa7cddee8339e9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 24 Aug 2023 22:39:35 +0100 Subject: [PATCH 0367/2258] chore(nixos): use Fira Code Mono --- system/nixos/configuration.nix | 11 +++++++++-- system/nixos/home-manager-desktop.nix | 14 +++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 67493a59..a0ab8870 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -150,7 +150,7 @@ in # List services that you want to enable: # Enable the OpenSSH daemon. - # services.openssh.enable = true; + services.openssh.enable = true; # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; @@ -177,11 +177,18 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "IntelOne Mono" ]; + monospace = [ "Fira Code Nerd Font Mono" ]; }; }; fonts = with pkgs; [ intel-one-mono + (nerdfonts.override { + fonts = [ + "FiraCode" + "JetBrainsMono" + "Meslo" + ]; + }) ]; }; diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index 65b4de41..2f54ad0e 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -67,7 +67,7 @@ }; fonts = { - names = [ "DejaVu Sans Mono" ]; + names = [ "Fira Code Nerd Font Mono" ]; size = 16.0; }; @@ -230,15 +230,15 @@ }; font = { - size = 12.0; + size = 14.0; - normal.family = "IntelOne Mono"; - italic.style = "Regular"; - bolditalic.style = "Regular"; bold.style = "Regular"; + bolditalic.style = "Regular"; + italic.style = "Regular"; + normal.family = "Fira Code Nerd Font Mono"; - offset.y = 12; - glyph_offset.y = 6; + offset.y = 14; + glyph_offset.y = 8; }; shell = { program = "zsh"; }; From 27373f79bbf262ae1e10825561a30dab8208e9f9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 24 Aug 2023 22:40:01 +0100 Subject: [PATCH 0368/2258] chore(update) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index c2539b21..922e0c82 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1692207601, - "narHash": "sha256-tfPGNKQcJT1cvT6ufqO/7ydYNL6mcJClvzbrzhKjB80=", + "lastModified": 1692698134, + "narHash": "sha256-YtMmZWR/dlTypOcwiZfZTMPr3tj9fwr05QTStfSyDSg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b30c68669df77d981ce4aefd6b9d378563f6fc4e", + "rev": "a16f7eb56e88c8985fcc6eb81dabd6cade4e425a", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1692174805, - "narHash": "sha256-xmNPFDi/AUMIxwgOH/IVom55Dks34u1g7sFKKebxUm0=", + "lastModified": 1692734709, + "narHash": "sha256-SCFnyHCyYjwEmgUsHDDuU0TsbVMKeU1vwkR+r7uS2Rg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "caac0eb6bdcad0b32cb2522e03e4002c8975c62e", + "rev": "b85ed9dcbf187b909ef7964774f8847d554fab3b", "type": "github" }, "original": { From ec1dff486692079c071499b9b62e78e45ffff630 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 24 Aug 2023 23:59:01 +0100 Subject: [PATCH 0369/2258] feat(nvim): add vim-zoom Add https://github.com/dhruvasagar/vim-zoom so that I can focus on a single split within Vim in the same way I can zoom to a tmux pane. --- system/shared/home-manager.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index eb2503a8..d93ebeed 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -70,6 +70,17 @@ let sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; }; }; + + vim-zoom = pkgs.vimUtils.buildVimPlugin { + name = "vim-zoom"; + src = pkgs.fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; + }; + in { home.username = "${username}"; @@ -494,6 +505,7 @@ in vim-caser vim-heritage vim-just + vim-zoom vim-textobj-xmlattr vim-visual-star-search From a54996b5f03378c607d83580ccb9d28abeb8fd18 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 25 Aug 2023 14:53:32 +0100 Subject: [PATCH 0370/2258] refactor(nvim): prefix custom Vim plugins Prefix custom Vim plugins with `customVim` so they are easier to distinguish from the plugins provided by the Nix store. --- system/shared/home-manager.nix | 173 +++++++++++++++++---------------- 1 file changed, 87 insertions(+), 86 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index d93ebeed..ee10b50d 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -1,86 +1,87 @@ { inputs, pkgs, self, username }: let - vim-astro = pkgs.vimUtils.buildVimPlugin { - name = "vim-astro"; - src = pkgs.fetchFromGitHub { - owner = "wuelnerdotexe"; - repo = "vim-astro"; - rev = "main"; - sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; + customVim = with self; { + vim-astro = pkgs.vimUtils.buildVimPlugin { + name = "vim-astro"; + src = pkgs.fetchFromGitHub { + owner = "wuelnerdotexe"; + repo = "vim-astro"; + rev = "main"; + sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; + }; + }; + + vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-just = pkgs.vimUtils.buildVimPlugin { + name = "vim-just"; + src = pkgs.fetchFromGitHub { + owner = "NoahTheDuke"; + repo = "vim-just"; + rev = "838c9096d4c5d64d1000a6442a358746324c2123"; + sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; + }; + }; + + vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "master"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { + name = "vim-visual-star-search"; + src = pkgs.fetchFromGitHub { + owner = "nelstrom"; + repo = "vim-visual-star-search"; + rev = "37259722f45996733fd309add61385a4ad88bdb9"; + sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; + }; + }; + + vim-zoom = pkgs.vimUtils.buildVimPlugin { + name = "vim-zoom"; + src = pkgs.fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; }; }; - - vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-just = pkgs.vimUtils.buildVimPlugin { - name = "vim-just"; - src = pkgs.fetchFromGitHub { - owner = "NoahTheDuke"; - repo = "vim-just"; - rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; - }; - }; - - vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "master"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { - name = "vim-visual-star-search"; - src = pkgs.fetchFromGitHub { - owner = "nelstrom"; - repo = "vim-visual-star-search"; - rev = "37259722f45996733fd309add61385a4ad88bdb9"; - sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; - }; - }; - - vim-zoom = pkgs.vimUtils.buildVimPlugin { - name = "vim-zoom"; - src = pkgs.fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - in { home.username = "${username}"; @@ -500,14 +501,14 @@ in enable = true; plugins = with pkgs; [ - tabline-vim - vim-astro - vim-caser - vim-heritage - vim-just - vim-zoom - vim-textobj-xmlattr - vim-visual-star-search + customVim.tabline-vim + customVim.vim-astro + customVim.vim-caser + customVim.vim-heritage + customVim.vim-just + customVim.vim-zoom + customVim.vim-textobj-xmlattr + customVim.vim-visual-star-search vimPlugins.comment-nvim vimPlugins.dial-nvim From a3ab645a2b1990879c2e29b309a8ac92af23664f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Aug 2023 22:22:31 +0100 Subject: [PATCH 0371/2258] feat(git): add an `Refs` placeholder to commit ...message body Add an `# Refs:` placeholder to the Git commit message body that can be replaced manually or using a `prepare-commit-msg` hook. I have a templated Git hook that will do this within project directories using an `.issue-id` file. --- system/shared/home-manager.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index ee10b50d..e9c088b8 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -106,9 +106,16 @@ in # line and describe the change: # # BREAKING CHANGE: + # + # + # Add any issue IDs or commit SHAs that this commit references: + # + # Refs: + ''; home.file.".gitignore-global".text = '' + .issue-id .phpactor.json ''; From 0444962168b977c439152de36abd74b9cfed9d25 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Aug 2023 00:30:37 +0100 Subject: [PATCH 0372/2258] chore(zsh): make `nah` a zsh alias --- system/shared/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index e9c088b8..3d90c188 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -158,7 +158,6 @@ in issues = "!gh issue list --web"; mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - nah = "!git reset --hard && git clean -fd"; no-ff = "merge --no-ff"; pl = "pull"; prune = "remote prune origin"; @@ -310,6 +309,7 @@ in ialias cs="create-script" ialias dev="develop" ialias fetch="git fetch --all --jobs=4 --progress --prune" + ialias nah="git reset --hard; git clean -fd" ialias run="./run" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" From ea02fc6a09d8324427473dfcc078086d9954354c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Aug 2023 00:31:31 +0100 Subject: [PATCH 0373/2258] fix(git): remove unused `templatedir` --- system/shared/home-manager.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 3d90c188..ee93234d 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -208,10 +208,7 @@ in fetch.prune = true; grep.lineNumber = true; help.autocorrect = "1"; - init = { - defaultBranch = "main"; - templatedir = "~/.git_template"; - }; + init.defaultBranch = "main"; merge.ff = "only"; rebase = { autosquash = true; From 150e945417587464dd632f0e20715e4b2abdda9c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Aug 2023 01:57:12 +0100 Subject: [PATCH 0374/2258] feat(nixos): configure more Firefox settings --- system/nixos/configuration.nix | 10 ++++++++++ system/nixos/home-manager-desktop.nix | 5 ----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index a0ab8870..0c2bcfdb 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -242,6 +242,16 @@ in pinentryFlavor = "qt"; }; + programs.firefox = { + enable = true; + languagePacks = [ "en-GB" ]; + package = pkgs.firefox-devedition; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + services.udev.extraRules = '' KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="realet" ''; diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index 2f54ad0e..a0cbbb3d 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -213,11 +213,6 @@ recursive = true; }; - programs.firefox = { - enable = true; - package = pkgs.firefox-devedition; - }; - programs.alacritty = { enable = true; From 90fa8596cbdc942ead02c171077cee56f3f1720c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Aug 2023 17:34:58 +0100 Subject: [PATCH 0375/2258] feat(nvim): re-add todo-comments.nvim --- config/neovim/after/plugin/todo-comments.lua | 8 ++++++++ system/shared/home-manager.nix | 1 + 2 files changed, 9 insertions(+) diff --git a/config/neovim/after/plugin/todo-comments.lua b/config/neovim/after/plugin/todo-comments.lua index 3de9789c..60a017c7 100644 --- a/config/neovim/after/plugin/todo-comments.lua +++ b/config/neovim/after/plugin/todo-comments.lua @@ -4,3 +4,11 @@ if not status_ok then end todo_comments.setup {} + +local nmap = require "opdavies.keymap".nmap + +nmap { "[t", function() todo_comments.jump_prev() end, { desc = "Previous todo comment" }} +nmap { "]t", function() todo_comments.jump_next() end, { desc = "Next todo comment" }} + +nmap { "tt", "TodoTelescope" } +nmap { "tq", "TodoQuickFix" } diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index ee93234d..6ca2fbda 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -524,6 +524,7 @@ in vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim + vimPlugins.todo-comments-nvim vimPlugins.undotree vimPlugins.vim-easy-align vimPlugins.vim-eunuch From aff7d4d50962e2d0b2746ce38ff05d6818190d88 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Aug 2023 17:35:23 +0100 Subject: [PATCH 0376/2258] feat(nixos): add shotwell --- system/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 0c2bcfdb..4338b15a 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -120,6 +120,7 @@ in configure-gtk ffmpegthumbnailer google-chrome + shotwell swaybg xfce.thunar xfce.thunar-volman From 4b966a47362ec63aad6ee031af835de21417cbfe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 28 Aug 2023 12:18:36 +0100 Subject: [PATCH 0377/2258] chore(zsh): move aliases --- system/shared/home-manager.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6ca2fbda..dad3ee1e 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -182,11 +182,9 @@ in slp = "log --oneline --decorate"; staged = "diff --staged"; unassume = "update-index --no-assume-unchanged"; - uncommit = "reset --soft HEAD^"; unstage = "reset"; upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; ureset = "!git reset --hard $(git upstream)"; - wip = "!git add . && git commit -m 'wip'"; worktrees = "worktree list"; }; @@ -307,14 +305,15 @@ in ialias dev="develop" ialias fetch="git fetch --all --jobs=4 --progress --prune" ialias nah="git reset --hard; git clean -fd" - ialias run="./run" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" ialias run="./run" ialias s="secrets" ialias secrets="doppler --project \"$(whoami)\" run" ialias tag="tag-release" + ialias uncommit = "git reset --soft HEAD^"; ialias update="fetch && rebase" + ialias wip = "git add . && git commit -m 'wip'"; ialias ls="exa -la" From 4da372c8ce35d7380eb75e845c1f051486005e80 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 29 Aug 2023 21:45:25 +0100 Subject: [PATCH 0378/2258] fix(zsh): aliases --- system/shared/home-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index dad3ee1e..11106297 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -311,9 +311,9 @@ in ialias s="secrets" ialias secrets="doppler --project \"$(whoami)\" run" ialias tag="tag-release" - ialias uncommit = "git reset --soft HEAD^"; + ialias uncommit="git reset --soft HEAD^"; ialias update="fetch && rebase" - ialias wip = "git add . && git commit -m 'wip'"; + ialias wip="git add . && git commit -m 'wip'"; ialias ls="exa -la" From db7d2b442f03c9d02bd8471c71f3eb483a40ca2b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 29 Aug 2023 21:46:02 +0100 Subject: [PATCH 0379/2258] feat(nvim): re-add lualine and noice --- config/neovim/after/plugin/lualine.lua | 40 +++++++++++++++ config/neovim/after/plugin/noice.lua | 66 +++++++++++++++++++++++++ config/neovim/lua/opdavies/lsp/init.lua | 4 ++ system/shared/home-manager.nix | 4 ++ 4 files changed, 114 insertions(+) create mode 100644 config/neovim/after/plugin/lualine.lua create mode 100644 config/neovim/after/plugin/noice.lua diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua new file mode 100644 index 00000000..ac390072 --- /dev/null +++ b/config/neovim/after/plugin/lualine.lua @@ -0,0 +1,40 @@ +local status_ok, lualine = pcall(require, "lualine") +if not status_ok then + return +end + +local noice = require 'noice' + +lualine.setup { + options = { + component_separators = { left = '', right = '' }, + extensions = { "fzf", "quickfix" }, + icons_enabled = false, + section_separators = { left = '', right = '' }, + theme = "catppuccin" + }, + + sections = { + lualine_x = { + { + noice.api.status.message.get_hl, + cond = noice.api.status.message.has, + }, + { + noice.api.status.command.get, + cond = noice.api.status.command.has, + color = { fg = "#EED49F" }, + }, + { + noice.api.status.mode.get, + cond = noice.api.status.mode.has, + color = { fg = "#EED49F" }, + }, + { + noice.api.status.search.get, + cond = noice.api.status.search.has, + color = { fg = "#EED49F" }, + }, + }, + }, +} diff --git a/config/neovim/after/plugin/noice.lua b/config/neovim/after/plugin/noice.lua new file mode 100644 index 00000000..ec6a6cd2 --- /dev/null +++ b/config/neovim/after/plugin/noice.lua @@ -0,0 +1,66 @@ +local status_ok, noice = pcall(require, "noice") +if not status_ok then + return +end + +local notify = require 'notify' + +noice.setup({ + cmdline = { + format = { + cmdline = { icon = ">" }, + filter = { icon = "$" }, + help = { icon = "?" }, + lua = { icon = "☾" }, + search_down = { icon = "🔍⌄" }, + search_up = { icon = "🔍⌃" }, + }, + }, + lsp = { + override = { + ["cmp.entry.get_documentation"] = true, + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + }, + }, + popupmenu = { + kind_icons = false, + }, + presets = { + bottom_search = true, + command_palette = true, + inc_rename = false, + long_message_to_split = true, + lsp_doc_border = false, + }, +}) + +notify.setup({ + background_colour = "#1e222a", + render = "minimal", + stages = "static", + timeout = 5000, +}) + +vim.cmd [[ + highlight NotifyERRORBorder guifg=#ED8796 + highlight NotifyWARNBorder guifg=#EED49F + highlight NotifyINFOBorder guifg=#A6DA95 + highlight NotifyDEBUGBorder guifg=#B8C0E0 + highlight NotifyTRACEBorder guifg=#C6A0F6 + highlight NotifyERRORIcon guifg=#ED8796 + highlight NotifyWARNIcon guifg=#EED49F + highlight NotifyINFOIcon guifg=#A6DA95 + highlight NotifyDEBUGIcon guifg=#B8C0E0 + highlight NotifyTRACEIcon guifg=#C6A0F6 + highlight NotifyERRORTitle guifg=#ED8796 + highlight NotifyWARNTitle guifg=#EED49F + highlight NotifyINFOTitle guifg=#A6DA95 + highlight NotifyDEBUGTitle guifg=#B8C0E0 + highlight NotifyTRACETitle guifg=#C6A0F6 + highlight link NotifyERRORBody Normal + highlight link NotifyWARNBody Normal + highlight link NotifyINFOBody Normal + highlight link NotifyDEBUGBody Normal + highlight link NotifyTRACEBody Normal +]] diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index b86a9034..4bd3b1a5 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -81,5 +81,9 @@ cmp.setup({ }, }) +local nmap = require "opdavies.keymap".nmap + +nmap { "r", "LspRestart" } + require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 11106297..6f3cbde5 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -542,6 +542,10 @@ in vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired + vimPlugins.lualine-nvim + vimPlugins.noice-nvim + vimPlugins.nvim-notify + # Git vimPlugins.vim-fugitive vimPlugins.vim-rhubarb From 8f9c42ca6ba6dc61784a9f6df6b74f5c0c34edd2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 29 Aug 2023 23:04:12 +0100 Subject: [PATCH 0380/2258] feat(home-manager): enable direnv --- system/shared/home-manager.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6f3cbde5..544edbe5 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -655,6 +655,12 @@ in }; programs.nnn.enable = true; + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + }; + home.sessionPath = [ "$HOME/.config/bin" ]; xdg.configFile."ripgrep/config".text = '' From 7c566dbe7643dbe68b8b6f56c477752120c53a46 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 29 Aug 2023 21:49:11 +0100 Subject: [PATCH 0381/2258] chore(nixos): change font --- system/nixos/configuration.nix | 2 +- system/nixos/home-manager-desktop.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 4338b15a..7bb5d017 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -178,7 +178,7 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "Fira Code Nerd Font Mono" ]; + monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; fonts = with pkgs; [ diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index a0cbbb3d..30da78c9 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -67,7 +67,7 @@ }; fonts = { - names = [ "Fira Code Nerd Font Mono" ]; + names = [ "JetBrainsMono Nerd Font Mono" ]; size = 16.0; }; @@ -230,7 +230,7 @@ bold.style = "Regular"; bolditalic.style = "Regular"; italic.style = "Regular"; - normal.family = "Fira Code Nerd Font Mono"; + normal.family = "JetBrainsMono Nerd Font Mono"; offset.y = 14; glyph_offset.y = 8; From adcbc6b3debc3de72ff064838b965a5426d08c6c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 29 Aug 2023 23:38:21 +0100 Subject: [PATCH 0382/2258] fix(nvim): ignore .direnv from Telescope and Git --- config/neovim/lua/opdavies/telescope/setup.lua | 2 +- system/shared/home-manager.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua index 85b94aac..386d03ca 100644 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ b/config/neovim/lua/opdavies/telescope/setup.lua @@ -33,7 +33,7 @@ local lga_actions = require "telescope-live-grep-args.actions" telescope.setup { defaults = { buffer_previewer_maker = new_maker, - file_ignore_patterns = { '.git/' }, + file_ignore_patterns = { '.direnv/', '.git/' }, layout_config = { prompt_position = 'top', }, diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 544edbe5..e9279235 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -115,6 +115,7 @@ in ''; home.file.".gitignore-global".text = '' + .direnv/ .issue-id .phpactor.json ''; From c18948c69ee6c1ed02737439a0171abb4818a212 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 30 Aug 2023 01:12:08 +0100 Subject: [PATCH 0383/2258] chore(flake): update lockfile --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 922e0c82..1c9b6c61 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1692099905, - "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", + "lastModified": 1693208669, + "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", + "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1692698134, - "narHash": "sha256-YtMmZWR/dlTypOcwiZfZTMPr3tj9fwr05QTStfSyDSg=", + "lastModified": 1693231525, + "narHash": "sha256-Zmh8m0HHcgGBDth6jdJPmc4UAAP0L4jQmqIztywF1Iw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a16f7eb56e88c8985fcc6eb81dabd6cade4e425a", + "rev": "c540061ac8d72d6e6d99345bd2d590c82b2f58c1", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1692734709, - "narHash": "sha256-SCFnyHCyYjwEmgUsHDDuU0TsbVMKeU1vwkR+r7uS2Rg=", + "lastModified": 1693250523, + "narHash": "sha256-y3up5gXMTbnCsXrNEB5j+7TVantDLUYyQLu/ueiXuyg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b85ed9dcbf187b909ef7964774f8847d554fab3b", + "rev": "3efb0f6f404ec8dae31bdb1a9b17705ce0d6986e", "type": "github" }, "original": { From 19ed68f3ee5a0bdeb0099a8e65df7632e5678053 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 30 Aug 2023 10:34:22 +0100 Subject: [PATCH 0384/2258] feat(zsh): configure Starship prompt Enable and configure the Starship prompt, removing the `package` module and using the plain text symbols preset. --- system/shared/home-manager.nix | 123 +++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index e9279235..43e84581 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -656,6 +656,129 @@ in }; programs.nnn.enable = true; + programs.starship = { + enable = true; + enableZshIntegration = true; + settings = { + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + + git_commit = { + tag_symbol = " tag "; + }; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + aws = { symbol = "aws "; }; + azure = { symbol = "az "; }; + bun = { symbol = "bun "; }; + c = { symbol = "C "; }; + cobol = { symbol = "cobol "; }; + conda = { symbol = "conda "; }; + crystal = { symbol = "cr "; }; + cmake = { symbol = "cmake "; }; + daml = { symbol = "daml "; }; + dart = { symbol = "dart "; }; + deno = { symbol = "deno "; }; + dotnet = { symbol = ".NET "; }; + directory = { read_only = " ro"; }; + docker_context = { symbol = "docker "; }; + elixir = { symbol = "exs "; }; + elm = { symbol = "elm "; }; + fennel = { symbol = "fnl "; }; + fossil_branch = { symbol = "fossil "; }; + gcloud = { symbol = "gcp "; }; + git_branch = { symbol = "git "; }; + golang = { symbol = "go "; }; + gradle = { symbol = "gradle "; }; + guix_shell = { symbol = "guix "; }; + hg_branch = { symbol = "hg "; }; + java = { symbol = "java "; }; + julia = { symbol = "jl "; }; + kotlin = { symbol = "kt "; }; + lua = { symbol = "lua "; }; + nodejs = { symbol = "nodejs "; }; + memory_usage = { symbol = "memory "; }; + meson = { symbol = "meson "; }; + nim = { symbol = "nim "; }; + nix_shell = { symbol = "nix "; }; + ocaml = { symbol = "ml "; }; + opa = { symbol = "opa "; }; + os = { + symbols = { + Alpaquita = "alq "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Unknown = "unk "; + Windows = "win "; + }; + }; + + package.disabled = true; + + perl = { symbol = "pl "; }; + php = { symbol = "php "; }; + pijul_channel = { symbol = "pijul "; }; + pulumi = { symbol = "pulumi "; }; + purescript = { symbol = "purs "; }; + python = { symbol = "py "; }; + raku = { symbol = "raku "; }; + ruby = { symbol = "rb "; }; + rust = { symbol = "rs "; }; + scala = { symbol = "scala "; }; + spack = { symbol = "spack "; }; + solidity = { symbol = "solidity "; }; + status = { symbol = "[x](bold red) "; }; + sudo = { symbol = "sudo "; }; + swift = { symbol = "swift "; }; + terraform = { symbol = "terraform "; }; + zig = { symbol = "zig "; }; + }; + }; + programs.direnv = { enable = true; enableZshIntegration = true; From 43a1ad8592da8447d993239ce739b7ffa2f5d819 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 30 Aug 2023 13:30:30 +0100 Subject: [PATCH 0385/2258] chore(zsh): remove dev and develop These aren't needed since adding `direnv`. --- bin/develop | 23 ----------------------- system/shared/home-manager.nix | 1 - 2 files changed, 24 deletions(-) delete mode 100755 bin/develop diff --git a/bin/develop b/bin/develop deleted file mode 100755 index ae573526..00000000 --- a/bin/develop +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -# Starts a project using the appropriate Docker Compose or Nix Flake command. - -set -euo pipefail - -if [[ -f flake.nix ]]; then - nix develop -c "$SHELL" - exit 0 -fi - -if [[ -f docker-compose.yml ]]; then - docker compose up -d "${@}" - exit 0 -fi - -if [[ -f docker-compose.yaml ]]; then - docker compose up -d "${@}" - exit 0 -fi - -echo "No docker-compose.yaml or flake.nix file found." -exit 1 diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 43e84581..597f654c 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -303,7 +303,6 @@ in bindkey -M isearch " " magic-space ialias cs="create-script" - ialias dev="develop" ialias fetch="git fetch --all --jobs=4 --progress --prune" ialias nah="git reset --hard; git clean -fd" ialias pull="git pull --autostash --jobs=4 --summary origin" From 4bea747ffa9fb853e898e09345aee300eb76c903 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 1 Sep 2023 12:11:15 +0100 Subject: [PATCH 0386/2258] revert(nvim): re-add lualine and noice This reverts commit db7d2b442f03c9d02bd8471c71f3eb483a40ca2b. --- config/neovim/after/plugin/lualine.lua | 40 --------------- config/neovim/after/plugin/noice.lua | 66 ------------------------- config/neovim/lua/opdavies/lsp/init.lua | 4 -- system/shared/home-manager.nix | 4 -- 4 files changed, 114 deletions(-) delete mode 100644 config/neovim/after/plugin/lualine.lua delete mode 100644 config/neovim/after/plugin/noice.lua diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua deleted file mode 100644 index ac390072..00000000 --- a/config/neovim/after/plugin/lualine.lua +++ /dev/null @@ -1,40 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end - -local noice = require 'noice' - -lualine.setup { - options = { - component_separators = { left = '', right = '' }, - extensions = { "fzf", "quickfix" }, - icons_enabled = false, - section_separators = { left = '', right = '' }, - theme = "catppuccin" - }, - - sections = { - lualine_x = { - { - noice.api.status.message.get_hl, - cond = noice.api.status.message.has, - }, - { - noice.api.status.command.get, - cond = noice.api.status.command.has, - color = { fg = "#EED49F" }, - }, - { - noice.api.status.mode.get, - cond = noice.api.status.mode.has, - color = { fg = "#EED49F" }, - }, - { - noice.api.status.search.get, - cond = noice.api.status.search.has, - color = { fg = "#EED49F" }, - }, - }, - }, -} diff --git a/config/neovim/after/plugin/noice.lua b/config/neovim/after/plugin/noice.lua deleted file mode 100644 index ec6a6cd2..00000000 --- a/config/neovim/after/plugin/noice.lua +++ /dev/null @@ -1,66 +0,0 @@ -local status_ok, noice = pcall(require, "noice") -if not status_ok then - return -end - -local notify = require 'notify' - -noice.setup({ - cmdline = { - format = { - cmdline = { icon = ">" }, - filter = { icon = "$" }, - help = { icon = "?" }, - lua = { icon = "☾" }, - search_down = { icon = "🔍⌄" }, - search_up = { icon = "🔍⌃" }, - }, - }, - lsp = { - override = { - ["cmp.entry.get_documentation"] = true, - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - }, - }, - popupmenu = { - kind_icons = false, - }, - presets = { - bottom_search = true, - command_palette = true, - inc_rename = false, - long_message_to_split = true, - lsp_doc_border = false, - }, -}) - -notify.setup({ - background_colour = "#1e222a", - render = "minimal", - stages = "static", - timeout = 5000, -}) - -vim.cmd [[ - highlight NotifyERRORBorder guifg=#ED8796 - highlight NotifyWARNBorder guifg=#EED49F - highlight NotifyINFOBorder guifg=#A6DA95 - highlight NotifyDEBUGBorder guifg=#B8C0E0 - highlight NotifyTRACEBorder guifg=#C6A0F6 - highlight NotifyERRORIcon guifg=#ED8796 - highlight NotifyWARNIcon guifg=#EED49F - highlight NotifyINFOIcon guifg=#A6DA95 - highlight NotifyDEBUGIcon guifg=#B8C0E0 - highlight NotifyTRACEIcon guifg=#C6A0F6 - highlight NotifyERRORTitle guifg=#ED8796 - highlight NotifyWARNTitle guifg=#EED49F - highlight NotifyINFOTitle guifg=#A6DA95 - highlight NotifyDEBUGTitle guifg=#B8C0E0 - highlight NotifyTRACETitle guifg=#C6A0F6 - highlight link NotifyERRORBody Normal - highlight link NotifyWARNBody Normal - highlight link NotifyINFOBody Normal - highlight link NotifyDEBUGBody Normal - highlight link NotifyTRACEBody Normal -]] diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 4bd3b1a5..b86a9034 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -81,9 +81,5 @@ cmp.setup({ }, }) -local nmap = require "opdavies.keymap".nmap - -nmap { "r", "LspRestart" } - require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 597f654c..119d44bd 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -542,10 +542,6 @@ in vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired - vimPlugins.lualine-nvim - vimPlugins.noice-nvim - vimPlugins.nvim-notify - # Git vimPlugins.vim-fugitive vimPlugins.vim-rhubarb From b659f491eaa9313a91c0ddab16e4604553aa3a41 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 2 Sep 2023 10:41:00 +0100 Subject: [PATCH 0387/2258] fix(scripts): shebang and exit code --- bin/git-abort | 4 ++-- bin/git-continue | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/git-abort b/bin/git-abort index 078c3da2..cd7e067c 100755 --- a/bin/git-abort +++ b/bin/git-abort @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Abort a rebase, merge, `am`, a cherry-pick or a revert, depending on the situation. @@ -16,5 +16,5 @@ elif [[ -e .git/MERGE_MODE ]] ; then exec git merge --abort "$@" else echo git-abort: unknown state - exit -1 + exit 1 fi diff --git a/bin/git-continue b/bin/git-continue index 9bebe0d8..9649ec95 100755 --- a/bin/git-continue +++ b/bin/git-continue @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Continue a rebase or cherry-pick in the event of conflicts. @@ -12,5 +12,5 @@ elif [[ -e .git/rebase-merge ]] ; then exec git rebase --continue "$@" else echo git-abort: unknown state - exit -1 + exit 1 fi From 864b9ca4a57b03a9f9c89442c14f6c0b1df1f0b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 3 Sep 2023 20:50:57 +0100 Subject: [PATCH 0388/2258] feat(nvim): add lua-language-server --- system/shared/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 119d44bd..b9ccfe4d 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -622,7 +622,7 @@ in # Language servers ansible-language-server inputs.nixpkgs-unstable.legacyPackages."${system}".nixd - lua53Packages.lua-lsp + lua-language-server nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" From b66a8bb3d251e22dc0990dda60e2e56a3f83a43f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 4 Sep 2023 08:11:43 +0100 Subject: [PATCH 0389/2258] chore(nvim): remove lsp-zero --- config/neovim/lua/opdavies/lsp/init.lua | 187 +++++++++++++++--------- system/shared/home-manager.nix | 1 - 2 files changed, 120 insertions(+), 68 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index b86a9034..7533e3d5 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -1,85 +1,138 @@ -local cmp = require('cmp') -local lsp = require('lsp-zero') -local lspconfig = require('lspconfig') - -lsp.preset("recommended") - -local on_attach = function(client, bufnr) - lsp.default_keymaps({buffer = bufnr}) - - local opts = { buffer = true } - - vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) - vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "f", function() vim.lsp.buf.format({ async = true }) end, opts) - vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) +local has_lsp, lspconfig = pcall(require, "lspconfig") +if not has_lsp then + return end -lsp.on_attach(on_attach) +local nvim_status = require "lsp-status" -lsp.set_preferences({ - sign_icons = {}, -}) +local imap = require("opdavies.keymap").imap +local nmap = require("opdavies.keymap").nmap -lsp.setup_servers({ - 'ansiblels', - 'astro', - 'bashls', - 'cssls', - 'dockerls', - 'html', - 'intelephense', - 'jsonls', - 'nixd', - 'tailwindcss', - 'terraformls', - 'tsserver', - 'volar', - 'vuels', - 'yamlls' -}) +local telescope_mapper = require "opdavies.telescope.mappings" -lsp.setup() +local buf_nnoremap = function(opts) + opts.buffer = 0 + nmap(opts) +end -lspconfig.tailwindcss.setup({ - on_attach = on_attach, +local buf_inoremap = function(opts) + opts.buffer = 0 + imap(opts) +end - filetypes = { - "astro", - "html", - "html.twig", - "javascript", - "php", - "twig", - "typescript", - "vue", +local default_capabilities = vim.lsp.protocol.make_client_capabilities() +default_capabilities = require("cmp_nvim_lsp").default_capabilities(default_capabilities) + +local custom_init = function(client) + client.config.flags = client.config.flags or {} + client.config.flags.allow_incremental_sync = true +end + +local custom_attach = function(client) + local filetype = vim.api.nvim_buf_get_option(0, "filetype") + + nvim_status.on_attach(client) + + buf_inoremap { "", vim.lsp.buf.signature_help } + buf_nnoremap { "d", vim.diagnostic.open_float } + buf_nnoremap { "[d", vim.diagnostic.goto_prev } + buf_nnoremap { "]d", vim.diagnostic.goto_next } + buf_nnoremap { "ca", vim.lsp.buf.code_action } + buf_nnoremap { "rn", vim.lsp.buf.rename } + buf_nnoremap { "rr", "LspRestart" } + buf_nnoremap { "gD", vim.lsp.buf.declaration } + buf_nnoremap { "gT", vim.lsp.buf.type_definition } + buf_nnoremap { "gd", vim.lsp.buf.definition } + buf_nnoremap { "gi", vim.lsp.buf.implementation } + + if filetype ~= "lua" then + buf_nnoremap { "K", vim.lsp.buf.hover } + end + + telescope_mapper("dl", "diagnostics", nil, true) + + -- Set autocommands conditional on server_capabilities + if client.server_capabilities.document_highlight then + vim.cmd [[ + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]] + end + + -- Attach any filetype specific options to the client + -- filetype_attach[filetype](client) +end + +local servers = { + ansiblels = true, + astro = true, + bashls = true, + cssls = true, + gopls = true, + html = true, + rnix = true, + tailwindcss = true, + tsserver = true, + vuels = true, + yamlls = true, + + intelephense = { + filetypes = { "php", "module", "test", "inc" }, }, - init_options = { - userLanguages = { - ["html.twig"] = "html", + lua_ls = { + settings = { + Lua = { + diagnostics = { + globals = { "vim" }, + }, + }, }, }, -}) +} -lspconfig.yamlls.setup({ - settings = { - yaml = { - keyOrdering = false, - } - } -}) +local setup_server = function(server, config) + if not config then + return + end -vim.diagnostic.config({ - virtual_text = true, -}) + if type(config) ~= "table" then + config = {} + end -cmp.setup({ - preselect = 'item', - completion = { - completeopt = 'menu,menuone,noinsert' + config = vim.tbl_deep_extend("force", { + on_init = custom_init, + on_attach = custom_attach, + capabilities = default_capabilities, + flags = { + debounce_text_changes = nil, + }, + }, config) + + lspconfig[server].setup(config) +end + +for server, config in pairs(servers) do + setup_server(server, config) +end + +vim.diagnostic.config { + float = { + source = true, }, -}) + signs = true, + underline = false, + update_in_insert = false, + virtual_text = { spacing = 2 }, +} + +vim.keymap.set("n", "f", function() + vim.lsp.buf.format { async = true } +end +); require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index b9ccfe4d..d34f200d 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -557,7 +557,6 @@ in vimPlugins.nvim-treesitter-textobjects # LSP - inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.lsp-zero-nvim inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig vimPlugins.null-ls-nvim vimPlugins.lsp-status-nvim From 62765d25aa1144fac458e48619bb8e69673fbcda Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 4 Sep 2023 08:20:33 +0100 Subject: [PATCH 0390/2258] fix(nvim): disable key ordering check again --- config/neovim/lua/opdavies/lsp/init.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 7533e3d5..0cd1729a 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -77,7 +77,6 @@ local servers = { tailwindcss = true, tsserver = true, vuels = true, - yamlls = true, intelephense = { filetypes = { "php", "module", "test", "inc" }, @@ -92,6 +91,14 @@ local servers = { }, }, }, + + yamlls = { + settings = { + yaml = { + keyOrdering = false, + } + } + } } local setup_server = function(server, config) From 3614d71a2c58aa5fd41e9cae2e3372860869a24c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 4 Sep 2023 11:05:13 +0100 Subject: [PATCH 0391/2258] style(nvim): run stylua --- config/neovim/after/plugin/colorscheme.lua | 6 +-- config/neovim/after/plugin/dap.lua | 16 ++++---- config/neovim/after/plugin/dial.lua | 14 +++---- config/neovim/after/plugin/fugitive.lua | 4 +- config/neovim/after/plugin/gitsigns.lua | 38 ++++++++++++------- .../neovim/after/plugin/indent-blankline.lua | 3 +- config/neovim/after/plugin/phpactor.lua | 2 +- config/neovim/after/plugin/todo-comments.lua | 18 +++++++-- config/neovim/after/plugin/treesitter.lua | 1 - config/neovim/after/plugin/undotree.lua | 2 +- config/neovim/after/plugin/vim-test.lua | 4 +- config/neovim/lua/opdavies/lsp/init.lua | 9 ++--- config/neovim/lua/opdavies/lsp/null-ls.lua | 18 ++++----- config/neovim/lua/opdavies/options.lua | 2 +- .../neovim/lua/opdavies/snippets/ft/rst.lua | 2 +- .../neovim/lua/opdavies/telescope/setup.lua | 8 ++-- stylua.toml | 3 ++ 17 files changed, 86 insertions(+), 64 deletions(-) diff --git a/config/neovim/after/plugin/colorscheme.lua b/config/neovim/after/plugin/colorscheme.lua index 7aed293a..a6f0ace7 100644 --- a/config/neovim/after/plugin/colorscheme.lua +++ b/config/neovim/after/plugin/colorscheme.lua @@ -3,19 +3,19 @@ if not status_ok then return end -catppuccin.setup({ +catppuccin.setup { flavour = "macchiato", integrations = { cmp = true, gitsigns = true, native_lsp = { - enabled = true; + enabled = true, }, telescope = true, treesitter = true, }, term_colors = true, transparent_background = true, -}) +} vim.cmd.colorscheme "catppuccin" diff --git a/config/neovim/after/plugin/dap.lua b/config/neovim/after/plugin/dap.lua index 269110c8..53a241bc 100644 --- a/config/neovim/after/plugin/dap.lua +++ b/config/neovim/after/plugin/dap.lua @@ -11,7 +11,7 @@ end dap.adapters.php = { type = "executable", command = "node", - args = { os.getenv("HOME") .. "/build/vscode-php-debug/out/phpDebug.js" } + args = { os.getenv "HOME" .. "/build/vscode-php-debug/out/phpDebug.js" }, } dap.configurations.php = { @@ -21,9 +21,9 @@ dap.configurations.php = { name = "Listen for Xdebug", port = 9003, pathMappings = { - ["/var/www/html"] = "${workspaceFolder}" - } - } + ["/var/www/html"] = "${workspaceFolder}", + }, + }, } dap.listeners.after.event_initialized["dapui_config"] = function() @@ -38,7 +38,7 @@ dap.listeners.before.event_exited["dapui_config"] = function() dapui.close() end -require "dapui".setup { +require("dapui").setup { layouts = { { elements = { @@ -58,14 +58,14 @@ require "dapui".setup { size = 0.25, -- 25% of total lines position = "bottom", }, - } + }, } -require "nvim-dap-virtual-text".setup { +require("nvim-dap-virtual-text").setup { commented = true, } -local nmap = require "opdavies.keymap".nmap +local nmap = require("opdavies.keymap").nmap nmap { "", ":lua require'dap'.step_over()" } nmap { "", ":lua require'dap'.step_into()" } diff --git a/config/neovim/after/plugin/dial.lua b/config/neovim/after/plugin/dial.lua index 0b4d1098..8e051a82 100644 --- a/config/neovim/after/plugin/dial.lua +++ b/config/neovim/after/plugin/dial.lua @@ -37,16 +37,16 @@ dial_config.augends:register_group { augend.constant.alias.bool, -- boolean value (true <-> false) augend.integer.alias.decimal, augend.integer.alias.hex, - augend.semver.alias.semver + augend.semver.alias.semver, }, } local dial_map = require "dial.map" -local nmap = require "opdavies.keymap".nmap -local vmap = require "opdavies.keymap".vmap +local nmap = require("opdavies.keymap").nmap +local vmap = require("opdavies.keymap").vmap -nmap({ "", dial_map.inc_normal "mygroup" }) -nmap({ "", dial_map.dec_normal "mygroup" }) -vmap({ "", dial_map.inc_normal "visual" }) -vmap({ "", dial_map.dec_normal "visual" }) +nmap { "", dial_map.inc_normal "mygroup" } +nmap { "", dial_map.dec_normal "mygroup" } +vmap { "", dial_map.inc_normal "visual" } +vmap { "", dial_map.dec_normal "visual" } diff --git a/config/neovim/after/plugin/fugitive.lua b/config/neovim/after/plugin/fugitive.lua index 311cfc8d..151d7220 100644 --- a/config/neovim/after/plugin/fugitive.lua +++ b/config/neovim/after/plugin/fugitive.lua @@ -12,11 +12,11 @@ vim.api.nvim_create_autocmd("BufWinEnter", { local opts = { buffer = bufnr, remap = false } vim.keymap.set("n", "p", function() - vim.cmd.Git('push') + vim.cmd.Git "push" end, opts) vim.keymap.set("n", "P", function() - vim.cmd.Git({'pull', '--rebase'}) + vim.cmd.Git { "pull", "--rebase" } end, opts) end, }) diff --git a/config/neovim/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua index cf8f92cf..f5edc10a 100644 --- a/config/neovim/after/plugin/gitsigns.lua +++ b/config/neovim/after/plugin/gitsigns.lua @@ -10,21 +10,31 @@ gitsigns.setup { local bufnr = vim.api.nvim_get_current_buf() -local map = require "opdavies.keymap".map -local nmap = require "opdavies.keymap".nmap -local vmap = require "opdavies.keymap".vmap +local map = require("opdavies.keymap").map +local nmap = require("opdavies.keymap").nmap +local vmap = require("opdavies.keymap").vmap -nmap { '[h', "&diff ? '[c' : 'Gitsigns prev_hunk'", { expr = true, buffer = bufnr }} -nmap { ']h', "&diff ? ']c' : 'Gitsigns next_hunk'", { expr = true, buffer = bufnr }} +nmap { "[h", "&diff ? '[c' : 'Gitsigns prev_hunk'", { expr = true, buffer = bufnr } } +nmap { "]h", "&diff ? ']c' : 'Gitsigns next_hunk'", { expr = true, buffer = bufnr } } -nmap { 'hR', gitsigns.reset_buffer } -nmap { 'hS', gitsigns.stage_buffer } -nmap { 'hp', gitsigns.preview_hunk } -nmap { 'hr', gitsigns.reset_hunk } -nmap { 'hs', gitsigns.stage_hunk } -nmap { 'hu', gitsigns.undo_stage_hunk } -vmap { 'hr', function() gitsigns.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end } -vmap { 'hs', function() gitsigns.stage_hunk { vim.fn.line('.'), vim.fn.line('v')} end } +nmap { "hR", gitsigns.reset_buffer } +nmap { "hS", gitsigns.stage_buffer } +nmap { "hp", gitsigns.preview_hunk } +nmap { "hr", gitsigns.reset_hunk } +nmap { "hs", gitsigns.stage_hunk } +nmap { "hu", gitsigns.undo_stage_hunk } +vmap { + "hr", + function() + gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } + end, +} +vmap { + "hs", + function() + gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } + end, +} -- Text object. -map{ {'o', 'x'}, 'ih', ':Gitsigns select_hunk' } +map { { "o", "x" }, "ih", ":Gitsigns select_hunk" } diff --git a/config/neovim/after/plugin/indent-blankline.lua b/config/neovim/after/plugin/indent-blankline.lua index 3347ba2f..be9da2cf 100644 --- a/config/neovim/after/plugin/indent-blankline.lua +++ b/config/neovim/after/plugin/indent-blankline.lua @@ -5,9 +5,8 @@ end vim.opt.list = true -vim.api.nvim_set_hl(0, 'IndentBlankLineChar', { fg = "#2F313C" }) +vim.api.nvim_set_hl(0, "IndentBlankLineChar", { fg = "#2F313C" }) indent_blankline.setup { show_end_of_line = true, } - diff --git a/config/neovim/after/plugin/phpactor.lua b/config/neovim/after/plugin/phpactor.lua index 7cc85a8b..2d0f249f 100644 --- a/config/neovim/after/plugin/phpactor.lua +++ b/config/neovim/after/plugin/phpactor.lua @@ -1,4 +1,4 @@ -local nmap = require "opdavies.keymap".nmap +local nmap = require("opdavies.keymap").nmap nmap { "pm", ":PhpactorContextMenu" } nmap { "pn", ":PhpactorClassNew" } diff --git a/config/neovim/after/plugin/todo-comments.lua b/config/neovim/after/plugin/todo-comments.lua index 60a017c7..5f51489d 100644 --- a/config/neovim/after/plugin/todo-comments.lua +++ b/config/neovim/after/plugin/todo-comments.lua @@ -5,10 +5,22 @@ end todo_comments.setup {} -local nmap = require "opdavies.keymap".nmap +local nmap = require("opdavies.keymap").nmap -nmap { "[t", function() todo_comments.jump_prev() end, { desc = "Previous todo comment" }} -nmap { "]t", function() todo_comments.jump_next() end, { desc = "Next todo comment" }} +nmap { + "[t", + function() + todo_comments.jump_prev() + end, + { desc = "Previous todo comment" }, +} +nmap { + "]t", + function() + todo_comments.jump_next() + end, + { desc = "Next todo comment" }, +} nmap { "tt", "TodoTelescope" } nmap { "tq", "TodoQuickFix" } diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index 609bb6a1..ed619689 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -3,7 +3,6 @@ if not has_configs then return end - configs.setup { autotag = { enable = true, diff --git a/config/neovim/after/plugin/undotree.lua b/config/neovim/after/plugin/undotree.lua index 2fd2cf6b..5bc27b4d 100644 --- a/config/neovim/after/plugin/undotree.lua +++ b/config/neovim/after/plugin/undotree.lua @@ -1,3 +1,3 @@ -local nmap = require "opdavies.keymap".nmap +local nmap = require("opdavies.keymap").nmap nmap { "u", vim.cmd.UndotreeToggle } diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index 1c3463e1..bade7cb7 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -10,11 +10,11 @@ map("n", "tl", ":TestLast", options) map("n", "tn", ":TestNearest", options) map("n", "ts", ":TestSuite", options) -vim.cmd([[ +vim.cmd [[ let test#echo_command = 0 let test#neovim#start_normal = 1 let test#strategy = "neovim" let test#php#phpunit#executable = 'just test' let test#php#phpunit#options = '--colors=always --testdox' -]]) +]] diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 0cd1729a..77947619 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -96,9 +96,9 @@ local servers = { settings = { yaml = { keyOrdering = false, - } - } - } + }, + }, + }, } local setup_server = function(server, config) @@ -138,8 +138,7 @@ vim.diagnostic.config { vim.keymap.set("n", "f", function() vim.lsp.buf.format { async = true } -end -); +end) require "opdavies.lsp.null-ls" require "opdavies.lsp.signature" diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 17255c20..26fcd3c2 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -13,29 +13,29 @@ null_ls.setup { formatting.black, formatting.markdownlint, - formatting.phpcbf.with({ + formatting.phpcbf.with { command = "./vendor/bin/phpcbf", condition = function(utils) - return utils.root_has_file({ 'phpcs.xml.dist' }) + return utils.root_has_file { "phpcs.xml.dist" } end, - }), + }, formatting.prettier, formatting.rustywind, formatting.stylua, - diagnostics.eslint.with({ + diagnostics.eslint.with { condition = function(utils) - return utils.root_has_file({ '.eslintrc.js' }) + return utils.root_has_file { ".eslintrc.js" } end, - }), + }, diagnostics.markdownlint, diagnostics.php, - diagnostics.phpcs.with({ + diagnostics.phpcs.with { command = "./vendor/bin/phpcs", condition = function(utils) - return utils.root_has_file({ 'phpcs.xml.dist' }) + return utils.root_has_file { "phpcs.xml.dist" } end, - }), + }, diagnostics.phpstan, diagnostics.shellcheck, }, diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index e96fa2e7..f8c17852 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -157,7 +157,7 @@ local function set_vim_o() vim.o[key] = value end - vim.opt.backupdir:remove('.') -- keep backups out of the current directory + vim.opt.backupdir:remove "." -- keep backups out of the current directory vim.opt.clipboard:append "unnamedplus" vim.opt.completeopt = { "menu", "menuone", "noselect" } vim.opt.laststatus = 3 diff --git a/config/neovim/lua/opdavies/snippets/ft/rst.lua b/config/neovim/lua/opdavies/snippets/ft/rst.lua index 661d9c58..206bbf1c 100644 --- a/config/neovim/lua/opdavies/snippets/ft/rst.lua +++ b/config/neovim/lua/opdavies/snippets/ft/rst.lua @@ -43,7 +43,7 @@ local M = { TextAnnotation "<>" ]], { i(0) } - ) + ), } return M diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua index 386d03ca..53090b49 100644 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ b/config/neovim/lua/opdavies/telescope/setup.lua @@ -3,8 +3,8 @@ if not status_ok then return end -local previewers = require "telescope.previewers" local Job = require "plenary.job" +local previewers = require "telescope.previewers" -- Create a new maker that won't preview binary files -- https://github.com/nvim-telescope/telescope.nvim/wiki/Configuration-Recipes#dont-preview-binaries @@ -33,9 +33,9 @@ local lga_actions = require "telescope-live-grep-args.actions" telescope.setup { defaults = { buffer_previewer_maker = new_maker, - file_ignore_patterns = { '.direnv/', '.git/' }, + file_ignore_patterns = { ".direnv/", ".git/" }, layout_config = { - prompt_position = 'top', + prompt_position = "top", }, preview = { @@ -54,7 +54,7 @@ telescope.setup { no_ignore = true, path_display = { truncate = 1 }, prompt_prefix = "$ ", - sorting_strategy = 'ascending', + sorting_strategy = "ascending", }, pickers = { diff --git a/stylua.toml b/stylua.toml index 348650b5..2c7fb8a9 100644 --- a/stylua.toml +++ b/stylua.toml @@ -3,3 +3,6 @@ indent_width = 2 line_endings = "Unix" no_call_parentheses = true quote_style = "AutoPreferDouble" + +[sort_requires] +enabled = true From f3e2741a6f19b47ec83526e3d91551b0a91d5eb2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 4 Sep 2023 11:05:17 +0100 Subject: [PATCH 0392/2258] fix(nvim): add stylua --- system/shared/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index d34f200d..1078226b 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -640,6 +640,7 @@ in # Formatters black rstfmt + stylua # Tools html-tidy From 2c709d3fcd0d14c521137bf1d5cb79bb27303e07 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Sep 2023 07:24:34 +0100 Subject: [PATCH 0393/2258] fix(nvim): re-add completion configuration --- config/neovim/after/plugin/completion.lua | 75 +++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 config/neovim/after/plugin/completion.lua diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua new file mode 100644 index 00000000..b7d05af3 --- /dev/null +++ b/config/neovim/after/plugin/completion.lua @@ -0,0 +1,75 @@ +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end + +local snip_status_ok, luasnip = pcall(require, "luasnip") +if not snip_status_ok then + return +end + +vim.opt.shortmess:append "c" + +cmp.setup { + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + + mapping = cmp.mapping.preset.insert { + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.close(), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.confirm { select = true }, + [""] = cmp.config.disable, + }, + + sources = { + { name = "nvim_lsp_signature_help" }, + { name = "nvim_lsp" }, + { name = "nvim_lua" }, + { name = "cmp_tabnine" }, + { name = "path" }, + { name = "luasnip" }, + { name = "buffer", keyword_length = 5, max_item_count = 5 }, + }, + + sorting = { + comparators = { + cmp.config.compare.offset, + cmp.config.compare.exact, + cmp.config.compare.score, + cmp.config.compare.kind, + cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + }, + + formatting = { + format = require("lspkind").cmp_format { + with_text = true, + menu = { + buffer = "[buf]", + cmp_tabnine = "[tn]", + luasnip = "[snip]", + nvim_lsp = "[lsp]", + nvim_lua = "[lua]", + path = "[path]", + }, + }, + }, + + experimental = { + ghost_text = false, + native_menu = false, + }, +} + +vim.cmd [[ + augroup DadbodSql + au! + autocmd FileType sql,mysql,plsql lua require('cmp').setup.buffer { sources = { { name = 'vim-dadbod-completion' } } } + augroup END +]] From b6d118ed751fa5d02ea8012c0671b948908bc30e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Sep 2023 07:34:17 +0100 Subject: [PATCH 0394/2258] feat(nvim): re-add projectionist.vim Re-add `projectionist.vim` with a minimal configuration for setting the alternate file in basic PHP library or TypeScript projects. --- config/neovim/after/plugin/projectionist.lua | 42 ++++++++++++++++++++ system/shared/home-manager.nix | 1 + 2 files changed, 43 insertions(+) create mode 100644 config/neovim/after/plugin/projectionist.lua diff --git a/config/neovim/after/plugin/projectionist.lua b/config/neovim/after/plugin/projectionist.lua new file mode 100644 index 00000000..681cf4b5 --- /dev/null +++ b/config/neovim/after/plugin/projectionist.lua @@ -0,0 +1,42 @@ +vim.g.projectionist_heuristics = { + ["composer.json"] = { + ["src/*.php"] = { + type = "source", + alternate = "tests/{}Test.php", + }, + + ["src/Controller/*.php"] = { + type = "controller", + }, + + ["src/Model/*.php"] = { + type = "model", + }, + + ["src/Service/*.php"] = { + type = "service", + }, + + ["tests/*Test.php"] = { + type = "test", + alternate = "src/{}.php", + }, + }, + + ["package.json"] = { + ["src/*.ts"] = { + type = "source", + alternate = "tests/{}.test.ts", + }, + + ["src/*.service.ts"] = { + type = "source", + alternate = "tests/{}.test.ts", + }, + + ["tests/*.test.ts"] = { + type = "test", + alternate = "src/{}.ts", + }, + }, +} diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 1078226b..6ae83cdf 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -532,6 +532,7 @@ in vimPlugins.vim-obsession vimPlugins.vim-pasta vimPlugins.vim-polyglot + vimPlugins.vim-projectionist vimPlugins.vim-repeat vimPlugins.vim-sleuth vimPlugins.vim-sort-motion From 6f7a6df4f7238b09625f1851c221ddc74ae9b7a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Sep 2023 12:56:24 +0100 Subject: [PATCH 0395/2258] feat(nvim): configure alternate files for Fractal Configure `*.twig` and `*.config.yml` as alternate files in Projectionist. --- config/neovim/after/plugin/projectionist.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/projectionist.lua b/config/neovim/after/plugin/projectionist.lua index 681cf4b5..dcdc45cb 100644 --- a/config/neovim/after/plugin/projectionist.lua +++ b/config/neovim/after/plugin/projectionist.lua @@ -1,4 +1,4 @@ -vim.g.projectionist_heuristics = { +local heuristics = { ["composer.json"] = { ["src/*.php"] = { type = "source", @@ -23,6 +23,16 @@ vim.g.projectionist_heuristics = { }, }, + ["fractal.config.js"] = { + ["*.config.yml"] = { + alternate = "{dirname}/{basename}.twig", + }, + + ["*.twig"] = { + alternate = "{dirname}/{basename}.config.yml", + }, + }, + ["package.json"] = { ["src/*.ts"] = { type = "source", @@ -40,3 +50,5 @@ vim.g.projectionist_heuristics = { }, }, } + +vim.g.projectionist_heuristics = heuristics From e37e283d95debf4ecd9aec93551efb5ed1a21135 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Sep 2023 13:34:44 +0100 Subject: [PATCH 0396/2258] fix(nvim): ignore line lengths in markdown files --- config/neovim/lua/opdavies/lsp/null-ls.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 26fcd3c2..26d3bfae 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -28,7 +28,9 @@ null_ls.setup { return utils.root_has_file { ".eslintrc.js" } end, }, - diagnostics.markdownlint, + diagnostics.markdownlint.with { + extra_args = { "--disable", "MD013" } + }, diagnostics.php, diagnostics.phpcs.with { command = "./vendor/bin/phpcs", From 2eac239ae37d8698b7cba7dd347bfc78b9028fc8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Sep 2023 22:33:08 +0100 Subject: [PATCH 0397/2258] chore(flake): update lockfile --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 1c9b6c61..fec40a27 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1690933134, - "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1693231525, - "narHash": "sha256-Zmh8m0HHcgGBDth6jdJPmc4UAAP0L4jQmqIztywF1Iw=", + "lastModified": 1693771906, + "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c540061ac8d72d6e6d99345bd2d590c82b2f58c1", + "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", "type": "github" }, "original": { @@ -57,11 +57,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1690881714, - "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", + "lastModified": 1693471703, + "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e1960bc196baf6881340d53dccb203a951745a2", + "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1693250523, - "narHash": "sha256-y3up5gXMTbnCsXrNEB5j+7TVantDLUYyQLu/ueiXuyg=", + "lastModified": 1693663421, + "narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3efb0f6f404ec8dae31bdb1a9b17705ce0d6986e", + "rev": "e56990880811a451abd32515698c712788be5720", "type": "github" }, "original": { From 962dadf5365641343005fd2e769f2c14c304a0df Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 11 Sep 2023 19:48:39 +0100 Subject: [PATCH 0398/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index fec40a27..663c14e4 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1693771906, - "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", + "lastModified": 1694304580, + "narHash": "sha256-5tIpNodDpEKT8mM/F5zCzWEAnidOg8eb1/x3SRaaBLs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", + "rev": "4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1693663421, - "narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=", + "lastModified": 1694183432, + "narHash": "sha256-YyPGNapgZNNj51ylQMw9lAgvxtM2ai1HZVUu3GS8Fng=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e56990880811a451abd32515698c712788be5720", + "rev": "db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b", "type": "github" }, "original": { From 5f2c4b18b2348bbe2c318f0600d97cbbaf3f4ace Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Sep 2023 23:46:09 +0100 Subject: [PATCH 0399/2258] chore(sway): simplify sway colours --- system/nixos/home-manager-desktop.nix | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index 30da78c9..c0374dee 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -56,15 +56,7 @@ bars = [ { - colors = { - background = "#222222"; - focusedWorkspace = { - background = "#ffffff"; - border = "#ffffff"; - text = "#333333"; - }; - statusline = "#ffffff"; - }; + colors.background = "#222222"; fonts = { names = [ "JetBrainsMono Nerd Font Mono" ]; From 610fc6ffbffb3a80b19939294c8d0071e7ceed40 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 07:25:55 +0100 Subject: [PATCH 0400/2258] refactor(nixos): avoid repetition of the username --- system/nixos/configuration.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 7bb5d017..73607ba7 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -16,6 +16,8 @@ let gsettings set $gnome_schema gtk-theme 'Breeze Dark' ''; }; + + username = "opdavies"; in { nixpkgs = { @@ -102,8 +104,7 @@ in # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.opdavies = { + users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; extraGroups = [ "docker" "networkmanager" "wheel" ]; @@ -172,7 +173,7 @@ in programs.zsh.enable = true; programs.zsh.histSize = 5000; - users.defaultUserShell = "/etc/profiles/per-user/opdavies/bin/zsh"; + users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; fonts = { fontconfig = { @@ -255,6 +256,6 @@ in services.udev.extraRules = '' KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="realet" - ''; + ''; } From de69d1253b937c1cba3b90f7516599ff7db2b4cc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 07:30:38 +0100 Subject: [PATCH 0401/2258] feat(zsh): re-add suffix aliases --- system/nixos/configuration.nix | 30 ++++++++++++++---------------- system/shared/home-manager.nix | 12 ++++++++++++ 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 73607ba7..b9085ecd 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -84,22 +84,20 @@ in services.avahi.openFirewall = true; services.printing.enable = true; - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = true; security.rtkit.enable = true; - # services.pipewire = { - # enable = true; - # alsa.enable = true; - # alsa.support32Bit = true; - # pulse.enable = true; - # # If you want to use JACK applications, uncomment this - # #jack.enable = true; - # - # # use the example session manager (no others are packaged yet so this is enabled by default, - # # no need to redefine it in your config for now) - # #media-session.enable = true; - # }; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + services.cron = { + enable = true; + systemCronJobs = [ + "0 18 * * 5 ${pkgs.bash}/bin/bash -c 'rm -rf /home/${username}/Downloads/*'" + ]; + }; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; @@ -107,7 +105,7 @@ in users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; - extraGroups = [ "docker" "networkmanager" "wheel" ]; + extraGroups = [ "docker" "networkmanager" "wheel" "audio" ]; packages = with pkgs; [ ]; }; diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6ae83cdf..57dedfa9 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -367,6 +367,18 @@ in ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" + alias -g A1="| awk '{print \$1}'" + alias -g Fj='| jq .' + alias -g Fy='| yq .' + alias -g G='| grep' + alias -g GH='| grep HTTP' + alias -g Gi='| grep -i' + alias -g H2='| head -n 20' + alias -g H='| head' + alias -g L='| less' + alias -g V='| vim -' + alias -g X='| xargs -I1' + setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups From e649eb98bfcc7f06cc41994fc28a0b527b6ef107 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 07:44:06 +0100 Subject: [PATCH 0402/2258] chore(zsh): configure exa colours --- system/nixos/home-manager.nix | 1 + system/wsl2/default.nix | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 4213a632..43d1364e 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -29,6 +29,7 @@ in home.sessionVariables = { EDITOR = "nvim"; + EXA_COLORS = "uu=38;5;255:gu=38;5;255:ur=38;5;255:uw=38;5;255:ue=38;5;255:wx=38;5;255:gr=38;5;250:gw=38;5;250:gx=38;5;250:tr=38;5;255:tw=38;5;255:tx=38;5;255:da=38;5;250:sn=32:sb=0:di=38;5;105"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index a2739601..e1548b4d 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -17,9 +17,7 @@ inputs.home-manager.lib.homeManagerConfiguration { home.sessionVariables = { EDITOR = "nvim"; - # LANG = "en_GB.UTF-8"; - # LC_ALL = "en_GB.UTF-8"; - # LC_CTYPE = "en_GB.UTF-8"; + EXA_COLORS = "uu=38;5;255:gu=38;5;255:ur=38;5;255:uw=38;5;255:ue=38;5;255:wx=38;5;255:gr=38;5;250:gw=38;5;250:gx=38;5;250:tr=38;5;255:tw=38;5;255:tx=38;5;255:da=38;5;250:sn=32:sb=0:di=38;5;105"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; From 944e5d791129eedbbc9083a085bf0310c4617518 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 19:07:01 +0100 Subject: [PATCH 0403/2258] revert(zsh): re-add suffix aliases This reverts commit de69d1253b937c1cba3b90f7516599ff7db2b4cc. --- system/nixos/configuration.nix | 30 ++++++++++++++++-------------- system/shared/home-manager.nix | 12 ------------ 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index b9085ecd..73607ba7 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -84,20 +84,22 @@ in services.avahi.openFirewall = true; services.printing.enable = true; + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = true; security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - services.cron = { - enable = true; - systemCronJobs = [ - "0 18 * * 5 ${pkgs.bash}/bin/bash -c 'rm -rf /home/${username}/Downloads/*'" - ]; - }; + # services.pipewire = { + # enable = true; + # alsa.enable = true; + # alsa.support32Bit = true; + # pulse.enable = true; + # # If you want to use JACK applications, uncomment this + # #jack.enable = true; + # + # # use the example session manager (no others are packaged yet so this is enabled by default, + # # no need to redefine it in your config for now) + # #media-session.enable = true; + # }; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; @@ -105,7 +107,7 @@ in users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; - extraGroups = [ "docker" "networkmanager" "wheel" "audio" ]; + extraGroups = [ "docker" "networkmanager" "wheel" ]; packages = with pkgs; [ ]; }; diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 57dedfa9..6ae83cdf 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -367,18 +367,6 @@ in ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" - alias -g A1="| awk '{print \$1}'" - alias -g Fj='| jq .' - alias -g Fy='| yq .' - alias -g G='| grep' - alias -g GH='| grep HTTP' - alias -g Gi='| grep -i' - alias -g H2='| head -n 20' - alias -g H='| head' - alias -g L='| less' - alias -g V='| vim -' - alias -g X='| xargs -I1' - setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups From 5369ccdddd3ab3c72ffc13930aca29daed233cc9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 19:08:06 +0100 Subject: [PATCH 0404/2258] feat(zsh): re-add suffix aliases --- system/shared/home-manager.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6ae83cdf..57dedfa9 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -367,6 +367,18 @@ in ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" + alias -g A1="| awk '{print \$1}'" + alias -g Fj='| jq .' + alias -g Fy='| yq .' + alias -g G='| grep' + alias -g GH='| grep HTTP' + alias -g Gi='| grep -i' + alias -g H2='| head -n 20' + alias -g H='| head' + alias -g L='| less' + alias -g V='| vim -' + alias -g X='| xargs -I1' + setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups From 83b51ebdf4f6c65aa611838c4d6e1f652524bdfb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 19:08:50 +0100 Subject: [PATCH 0405/2258] feat(nvim): add a keymap for switching to the ...alternative file --- config/neovim/after/plugin/projectionist.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/neovim/after/plugin/projectionist.lua b/config/neovim/after/plugin/projectionist.lua index dcdc45cb..81467bbb 100644 --- a/config/neovim/after/plugin/projectionist.lua +++ b/config/neovim/after/plugin/projectionist.lua @@ -52,3 +52,7 @@ local heuristics = { } vim.g.projectionist_heuristics = heuristics + +local nmap = require("opdavies.keymap").nmap + +nmap { "aa", "A" } From 5864c63cf38f5267123095d03a45a6afbee343cd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Sep 2023 19:20:40 +0100 Subject: [PATCH 0406/2258] feat(nvim): add friendly-snippets --- config/neovim/after/plugin/completion.lua | 2 +- config/neovim/after/plugin/luasnip.lua | 2 ++ system/shared/home-manager.nix | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua index b7d05af3..824cb10e 100644 --- a/config/neovim/after/plugin/completion.lua +++ b/config/neovim/after/plugin/completion.lua @@ -62,7 +62,7 @@ cmp.setup { }, experimental = { - ghost_text = false, + ghost_text = true, native_menu = false, }, } diff --git a/config/neovim/after/plugin/luasnip.lua b/config/neovim/after/plugin/luasnip.lua index 929714e5..8b86e47d 100644 --- a/config/neovim/after/plugin/luasnip.lua +++ b/config/neovim/after/plugin/luasnip.lua @@ -48,6 +48,8 @@ ls.add_snippets("js", snippets.javascript) ls.add_snippets("typescript", snippets.javascript) ls.add_snippets("vue", snippets.javascript) +require("luasnip.loaders.from_vscode").lazy_load() + ls.config.set_config { enable_autosnippets = true, history = true, diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 57dedfa9..44d820a9 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -589,6 +589,7 @@ in vimPlugins.phpactor # Snippets + vimPlugins.friendly-snippets vimPlugins.luasnip # Telescope From 2b806913c54cc2e2efdf8af69e507f3c363a44bb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Sep 2023 19:22:43 +0100 Subject: [PATCH 0407/2258] chore(flake): update lockfile --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 663c14e4..3d0c152a 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1693208669, - "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", + "lastModified": 1694465129, + "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", + "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1694304580, - "narHash": "sha256-5tIpNodDpEKT8mM/F5zCzWEAnidOg8eb1/x3SRaaBLs=", + "lastModified": 1694753796, + "narHash": "sha256-QPE7dqcicQH/nq9aywVXJWWtci4FvxHaM+BSIEbGBvA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760", + "rev": "360a7d31c30abefdc490d203f80e3221b7a24af2", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694183432, - "narHash": "sha256-YyPGNapgZNNj51ylQMw9lAgvxtM2ai1HZVUu3GS8Fng=", + "lastModified": 1694669921, + "narHash": "sha256-6ESpJ6FsftHV96JO/zn6je07tyV2dlLR7SdLsmkegTY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b", + "rev": "f2ea252d23ebc9a5336bf6a61e0644921f64e67c", "type": "github" }, "original": { From 2db29db470932f649f6e5939f6591c34247d7192 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 16 Sep 2023 20:32:46 +0100 Subject: [PATCH 0408/2258] chore(nvim): upgrade refactoring-nvim --- system/shared/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 44d820a9..47fa5632 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -525,6 +525,7 @@ in customVim.vim-textobj-xmlattr customVim.vim-visual-star-search + inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim @@ -532,7 +533,6 @@ in vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim vimPlugins.nvim-web-devicons - vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.todo-comments-nvim From cafd6cdf7d38cbc8e0ca5c9c306a62a59e71e7b5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 16 Sep 2023 20:33:15 +0100 Subject: [PATCH 0409/2258] chore(flake): update lockfile --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 3d0c152a..84ab812f 100644 --- a/flake.lock +++ b/flake.lock @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694669921, - "narHash": "sha256-6ESpJ6FsftHV96JO/zn6je07tyV2dlLR7SdLsmkegTY=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f2ea252d23ebc9a5336bf6a61e0644921f64e67c", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", "type": "github" }, "original": { From f93c1ba9c755bbe934cc7a0447329d6549d14f61 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Sep 2023 23:40:32 +0100 Subject: [PATCH 0410/2258] unstable by default Switch back to using `nixpkgs-unstable` by default and using `nixpkgs-2305` when needed, such as for `exa` which is no longer maintained and available. In a future commit, I'll switch to `eza` which is the recommended alternative. https://github.com/eza-community/eza --- flake.lock | 48 ++++++++++++------------- flake.nix | 6 ++-- system/shared/home-manager-packages.nix | 4 +-- system/shared/home-manager.nix | 8 ++--- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 84ab812f..99532b88 100644 --- a/flake.lock +++ b/flake.lock @@ -24,27 +24,43 @@ ] }, "locked": { - "lastModified": 1694465129, - "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", + "lastModified": 1694643239, + "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=", "owner": "nix-community", "repo": "home-manager", - "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", + "rev": "d9b88b43524db1591fb3d9410a21428198d75d49", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.05", + "ref": "master", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1694753796, - "narHash": "sha256-QPE7dqcicQH/nq9aywVXJWWtci4FvxHaM+BSIEbGBvA=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "360a7d31c30abefdc490d203f80e3221b7a24af2", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305": { + "locked": { + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { @@ -72,28 +88,12 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1694767346, - "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-2305": "nixpkgs-2305" } } }, diff --git a/flake.nix b/flake.nix index ea410f49..f637c010 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-23.05"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + home-manager.url = "github:nix-community/home-manager/master"; + nixpkgs-2305.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index a255266c..9a16a345 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -7,7 +7,7 @@ with pkgs; [ delta dog doppler - exa + inputs.nixpkgs-2305.legacyPackages."${system}".exa fd file fzf @@ -18,7 +18,6 @@ with pkgs; [ gnupg htop inotify-tools - inputs.nixpkgs-unstable.legacyPackages."${system}".rustywind jq just lua @@ -39,6 +38,7 @@ with pkgs; [ pv python3Full ripgrep + rustywind terraform tldr tmuxinator diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 47fa5632..30da7204 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -525,7 +525,6 @@ in customVim.vim-textobj-xmlattr customVim.vim-visual-star-search - inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim @@ -533,6 +532,7 @@ in vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim vimPlugins.nvim-web-devicons + vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.todo-comments-nvim @@ -570,9 +570,9 @@ in vimPlugins.nvim-treesitter-textobjects # LSP - inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig - vimPlugins.null-ls-nvim vimPlugins.lsp-status-nvim + vimPlugins.null-ls-nvim + vimPlugins.nvim-lspconfig # Completion vimPlugins.cmp-buffer @@ -634,8 +634,8 @@ in # Language servers ansible-language-server - inputs.nixpkgs-unstable.legacyPackages."${system}".nixd lua-language-server + nixd nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" From c29c49d5dd565ba0cbd58702777bbafeab99813d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Sep 2023 22:35:29 +0100 Subject: [PATCH 0411/2258] feat(nixos): add IntelOneMono font --- system/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 73607ba7..e0c4f951 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -187,6 +187,7 @@ in (nerdfonts.override { fonts = [ "FiraCode" + "IntelOneMono" "JetBrainsMono" "Meslo" ]; From ec344fd4f531f7ee5d8ccb70bb9bb5fa8abb69c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Sep 2023 22:42:41 +0100 Subject: [PATCH 0412/2258] refactor: remove nodemon Removing this as I mostly use `inotifywait` via the `watch-changes` script instead of nodemon. --- system/shared/home-manager-packages.nix | 1 - system/shared/home-manager.nix | 12 ------------ 2 files changed, 13 deletions(-) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 9a16a345..d486e098 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -25,7 +25,6 @@ with pkgs; [ neofetch nodePackages."http-server" nodePackages.eslint - nodePackages.nodemon nodePackages.prettier nodejs php81 diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 30da7204..d2578960 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -120,18 +120,6 @@ in .phpactor.json ''; - home.file."nodemon.json".text = '' - { - "ignore": [ - ".git" - ], - "verbose": true, - "events": { - "start": "clear" - } - } - ''; - programs.bat.enable = true; programs.git = { From 028c69bccf7f32a2115eb01fea963754e10d021b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Sep 2023 22:49:55 +0100 Subject: [PATCH 0413/2258] chore(nvim): remove unused configuration --- config/neovim/after/plugin/fidget.lua | 6 -- config/neovim/after/plugin/floaterm.lua | 4 - config/neovim/after/plugin/git.lua | 30 ------- .../neovim/after/plugin/markdown-preview.lua | 1 - config/neovim/after/plugin/nvim-lastplace.lua | 6 -- config/neovim/after/plugin/seiya.lua | 3 - config/neovim/after/plugin/statusline.lua | 81 ------------------- config/neovim/after/plugin/terminal.vim | 9 --- config/neovim/after/plugin/twilight.lua | 8 -- config/neovim/after/plugin/zen-mode.lua | 25 ------ system/nixos/home-manager-desktop.nix | 8 +- system/nixos/home-manager.nix | 1 + system/shared/home-manager-packages.nix | 1 - system/shared/home-manager.nix | 43 +++++++++- 14 files changed, 47 insertions(+), 179 deletions(-) delete mode 100644 config/neovim/after/plugin/fidget.lua delete mode 100644 config/neovim/after/plugin/floaterm.lua delete mode 100644 config/neovim/after/plugin/git.lua delete mode 100644 config/neovim/after/plugin/markdown-preview.lua delete mode 100644 config/neovim/after/plugin/nvim-lastplace.lua delete mode 100644 config/neovim/after/plugin/seiya.lua delete mode 100644 config/neovim/after/plugin/statusline.lua delete mode 100644 config/neovim/after/plugin/terminal.vim delete mode 100644 config/neovim/after/plugin/twilight.lua delete mode 100644 config/neovim/after/plugin/zen-mode.lua diff --git a/config/neovim/after/plugin/fidget.lua b/config/neovim/after/plugin/fidget.lua deleted file mode 100644 index 8f7deeec..00000000 --- a/config/neovim/after/plugin/fidget.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status_ok, fidget = pcall(require, "fidget") -if not status_ok then - return -end - -fidget.setup {} diff --git a/config/neovim/after/plugin/floaterm.lua b/config/neovim/after/plugin/floaterm.lua deleted file mode 100644 index 30d75ddb..00000000 --- a/config/neovim/after/plugin/floaterm.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.g.floaterm_autoinsert = 1 -vim.g.floaterm_height = 0.8 -vim.g.floaterm_title = 0 -vim.g.floaterm_width = 0.8 diff --git a/config/neovim/after/plugin/git.lua b/config/neovim/after/plugin/git.lua deleted file mode 100644 index b2572e59..00000000 --- a/config/neovim/after/plugin/git.lua +++ /dev/null @@ -1,30 +0,0 @@ -local status_ok, neogit = pcall(require, "neogit") -if not status_ok then - return -end - -neogit.setup { - disable_commit_confirmation = true, -} - -local nmap = require("opdavies.keymap").nmap - -nmap { - "gc", - function() - neogit.open { "commit" } - end, -} -nmap { - "gl", - function() - neogit.open { "log" } - end, -} -nmap { - "gp", - function() - neogit.open { "push" } - end, -} -nmap { "gs", neogit.open } diff --git a/config/neovim/after/plugin/markdown-preview.lua b/config/neovim/after/plugin/markdown-preview.lua deleted file mode 100644 index d895e4b8..00000000 --- a/config/neovim/after/plugin/markdown-preview.lua +++ /dev/null @@ -1 +0,0 @@ -vim.g.mkdp_refresh_slow = 1 diff --git a/config/neovim/after/plugin/nvim-lastplace.lua b/config/neovim/after/plugin/nvim-lastplace.lua deleted file mode 100644 index d54cafb7..00000000 --- a/config/neovim/after/plugin/nvim-lastplace.lua +++ /dev/null @@ -1,6 +0,0 @@ -local has_lastplace, lastplace = pcall(require, "nvim-lastplace") -if not has_lastplace then - return -end - -lastplace.setup {} diff --git a/config/neovim/after/plugin/seiya.lua b/config/neovim/after/plugin/seiya.lua deleted file mode 100644 index 91ee4ab0..00000000 --- a/config/neovim/after/plugin/seiya.lua +++ /dev/null @@ -1,3 +0,0 @@ --- vim.g.seiya_auto_enable = 1 - --- vim.g.seiya_target_groups = { "guibg" } diff --git a/config/neovim/after/plugin/statusline.lua b/config/neovim/after/plugin/statusline.lua deleted file mode 100644 index 65f47555..00000000 --- a/config/neovim/after/plugin/statusline.lua +++ /dev/null @@ -1,81 +0,0 @@ -local status_ok, el = pcall(require, "el") -if not status_ok then - return -end - -local builtin = require "el.builtin" -local diagnostic = require "el.diagnostic" -local extensions = require "el.extensions" -local lsp_statusline = require "el.plugins.lsp_status" -local sections = require "el.sections" -local subscribe = require "el.subscribe" - -local file_icon = subscribe.buf_autocmd("el_file_icon", "BufRead", function(_, buffer) - return extensions.file_icon(_, buffer) -end) - -local git_branch = subscribe.buf_autocmd("el_git_branch", "BufEnter", function(window, buffer) - local branch = extensions.git_branch(window, buffer) - if branch then - return " " .. extensions.git_icon() .. " " .. branch - end -end) - -local git_changes = subscribe.buf_autocmd("el_git_changes", "BufWritePost", function(window, buffer) - return extensions.git_changes(window, buffer) -end) - -local show_current_func = function(window, buffer) - if buffer.filetype == "lua" then - return "" - end - - return lsp_statusline.current_function(window, buffer) -end - -local diagnostic_display = diagnostic.make_buffer() - -el.setup { - generator = function(window, buffer) - local mode = extensions.gen_mode { format_string = " %s " } - - local items = { - { mode }, - { git_branch }, - { sections.split }, - { file_icon }, - { " " }, - { sections.maximum_width(builtin.make_responsive_file(140, 90), 0.40) }, - { sections.collapse_builtin { { " " }, { builtin.modified_flag } } }, - { sections.split }, - { diagnostic_display }, - { show_current_func }, - { git_changes }, - { "[" }, - { builtin.line_with_width(3) }, - { ":" }, - { builtin.column_with_width(2) }, - { "]" }, - { - sections.collapse_builtin { - "[", - builtin.help_list, - builtin.readonly_list, - "]", - }, - }, - { builtin.filetype }, - } - - local add_item = function(result, item) - table.insert(result, item) - end - - local result = {} - for _, item in ipairs(items) do - add_item(result, item) - end - - return result - end, -} diff --git a/config/neovim/after/plugin/terminal.vim b/config/neovim/after/plugin/terminal.vim deleted file mode 100644 index 557fc6b6..00000000 --- a/config/neovim/after/plugin/terminal.vim +++ /dev/null @@ -1,9 +0,0 @@ -function! s:small_terminal() abort - new - wincmd J - call nvim_win_set_height(0, 12) - set winfixheight - term -endfunction - -nnoremap st :call small_terminal() diff --git a/config/neovim/after/plugin/twilight.lua b/config/neovim/after/plugin/twilight.lua deleted file mode 100644 index 2cdb09cf..00000000 --- a/config/neovim/after/plugin/twilight.lua +++ /dev/null @@ -1,8 +0,0 @@ -local status_ok, twilight = pcall(require, "twilight") -if not status_ok then - return -end - -twilight.setup { - context = 2, -} diff --git a/config/neovim/after/plugin/zen-mode.lua b/config/neovim/after/plugin/zen-mode.lua deleted file mode 100644 index acd6d2ea..00000000 --- a/config/neovim/after/plugin/zen-mode.lua +++ /dev/null @@ -1,25 +0,0 @@ -local status_ok, zen_mode = pcall(require, "zen-mode") -if not status_ok then - return -end - -zen_mode.setup { - window = { - backdrop = 0.95, - height = 1, - width = 80, - options = { - relativenumber = false, - number = false, - signcolumn = "no", - }, - }, - plugins = { - options = { - enabled = true, - ruler = false, - }, - gitsigns = { enabled = true }, - tmux = { enabled = true }, - }, -} diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index c0374dee..eff26f34 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -217,15 +217,15 @@ }; font = { - size = 14.0; + size = 16.0; bold.style = "Regular"; bolditalic.style = "Regular"; italic.style = "Regular"; - normal.family = "JetBrainsMono Nerd Font Mono"; + normal.family = "IntoneMono Nerd Font Mono"; - offset.y = 14; - glyph_offset.y = 8; + offset.y = 12; + glyph_offset.y = 6; }; shell = { program = "zsh"; }; diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 43d1364e..d40ce2b3 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -21,6 +21,7 @@ in pkgs.via pkgs.vial pkgs.vlc + pkgs.wl-mirror pkgs.wob pkgs.wofi pkgs.xcape diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index d486e098..8f051565 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -1,5 +1,4 @@ { inputs, pkgs, ... }: - with pkgs; [ awscli2 bottom diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index d2578960..afb60941 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -2,6 +2,16 @@ let customVim = with self; { + toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { + name = "toggle-checkbox-nvim"; + src = pkgs.fetchFromGitHub { + owner = "opdavies"; + repo = "toggle-checkbox.nvim"; + rev = "main"; + sha256 = "1h9IGyMa80HWrtiPjruG4cYBqgTafNirW0Hwl/JO70A="; + }; + }; + vim-astro = pkgs.vimUtils.buildVimPlugin { name = "vim-astro"; src = pkgs.fetchFromGitHub { @@ -235,14 +245,29 @@ in exa -al } zle -N clear-ls-all - bindkey '^K' clear-ls-all clear-git-status() { clear git status -sb . } zle -N clear-git-status + + clear-tree-2() { + clear + tree -L 2 + } + zle -N clear-tree-2 + + clear-tree-3() { + clear + tree -L 3 + } + zle -N clear-tree-3 + bindkey '^G' clear-git-status + # bindkey '^H' clear-tree-3 + # bindkey '^J' clear-tree-2 + # bindkey '^K' clear-ls-all # auto-completes aliases # enables to define @@ -305,6 +330,14 @@ in ialias ls="exa -la" + # just + alias j="just" + alias jc="just composer" + alias jci="just composer install" + alias jcr="just composer require" + alias jd="just drush" + alias jt="just test" + # tmux alias ta="tmux attach" alias tl="tmux list-sessions" @@ -513,6 +546,14 @@ in customVim.vim-textobj-xmlattr customVim.vim-visual-star-search + { + plugin = customVim.toggle-checkbox-nvim; + type = "lua"; + config = '' + vim.keymap.set("n", "t", ":lua require('toggle-checkbox').toggle()") + ''; + } + vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim From cb700d775ad060bdc77e4a141d0bdfd195eb69e8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Sep 2023 21:01:35 +0100 Subject: [PATCH 0414/2258] fix(nvim): revert phpactor to 23.05 This was erroring when trying to create a new PHP class but works when reverted back to 23.05. --- system/shared/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index afb60941..9b505c9f 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -604,6 +604,7 @@ in vimPlugins.nvim-lspconfig # Completion + inputs.nixpkgs-2305.legacyPackages."${system}".vimPlugins.phpactor vimPlugins.cmp-buffer vimPlugins.cmp-cmdline vimPlugins.cmp-nvim-lsp @@ -615,7 +616,6 @@ in vimPlugins.cmp_luasnip vimPlugins.lspkind-nvim vimPlugins.nvim-cmp - vimPlugins.phpactor # Snippets vimPlugins.friendly-snippets From ee4733438a0feac9ebd6196c6db6aaa4b93891d8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 22 Sep 2023 07:45:29 +0100 Subject: [PATCH 0415/2258] build(deps): add go and gopls --- system/shared/home-manager-packages.nix | 1 + system/shared/home-manager.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 8f051565..2cd27e9b 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -15,6 +15,7 @@ with pkgs; [ git git-crypt gnupg + go htop inotify-tools jq diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 9b505c9f..856190dc 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -663,6 +663,7 @@ in # Language servers ansible-language-server + gopls lua-language-server nixd nodePackages.intelephense From cf54a4d52e06b92d9e833f7829889160078ceab4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 26 Sep 2023 21:08:11 +0100 Subject: [PATCH 0416/2258] chore(flake): update lockfile --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 99532b88..86ac0bb7 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1694643239, - "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=", + "lastModified": 1695738267, + "narHash": "sha256-LTNAbTQ96xSj17xBfsFrFS9i56U2BMLpD0BduhrsVkU=", "owner": "nix-community", "repo": "home-manager", - "rev": "d9b88b43524db1591fb3d9410a21428198d75d49", + "rev": "0f4e5b4999fd6a42ece5da8a3a2439a50e48e486", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1694767346, - "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", + "lastModified": 1695360818, + "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1694937365, - "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", + "lastModified": 1695559356, + "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", + "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", "type": "github" }, "original": { From 27f8980dfad8f7544849de9afa6a3fc5b7d98b15 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Sep 2023 00:16:00 +0100 Subject: [PATCH 0417/2258] feat(tmux): create a session for my website Bind a shortcut key to create and switch to a session for my personal website. --- system/shared/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 856190dc..769b4314 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -522,6 +522,7 @@ in bind-key -r F new-window t bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" + bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk" set -g @resurrect-strategy-nvim 'session' ''; From e0ba018af812b60607beae4a38163654d54e300f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Sep 2023 19:36:44 +0100 Subject: [PATCH 0418/2258] fix(nvim): enable terraformls --- config/neovim/lua/opdavies/lsp/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 77947619..2ffb2f90 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -75,6 +75,7 @@ local servers = { html = true, rnix = true, tailwindcss = true, + terraformls = true, tsserver = true, vuels = true, From 82122ee03bf25252a331216343fb15bd6cf1694c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Sep 2023 21:01:28 +0100 Subject: [PATCH 0419/2258] feat(nvim): add lualine --- config/neovim/after/plugin/lualine.lua | 9 +++++++++ system/shared/home-manager.nix | 2 ++ 2 files changed, 11 insertions(+) create mode 100644 config/neovim/after/plugin/lualine.lua diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua new file mode 100644 index 00000000..7c0d4192 --- /dev/null +++ b/config/neovim/after/plugin/lualine.lua @@ -0,0 +1,9 @@ +require("lualine").setup { + options = { + component_separators = { left = "", right = "" }, + extensions = { "fzf", "quickfix" }, + icons_enabled = false, + section_separators = { left = "", right = "" }, + theme = "catppuccin", + }, +} diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 769b4314..14513e50 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -585,6 +585,8 @@ in vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired + vimPlugins.lualine-nvim + # Git vimPlugins.vim-fugitive vimPlugins.vim-rhubarb From 09981552c60c9d8db76bba3936fe4d3504ca8b09 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Sep 2023 21:02:06 +0100 Subject: [PATCH 0420/2258] style: nix fmt --- system/nixos/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system/nixos/default.nix b/system/nixos/default.nix index 8ba02929..9f5c0722 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -8,7 +8,8 @@ let in inputs.nixpkgs.lib.nixosSystem { modules = [ - inputs.home-manager.nixosModules.home-manager { + inputs.home-manager.nixosModules.home-manager + { home-manager = { extraSpecialArgs = { inherit inputs desktop self username; }; useGlobalPkgs = true; From 5ef648b6af75eb20ff6420745af9b3b838919487 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Sep 2023 21:03:47 +0100 Subject: [PATCH 0421/2258] style: stylua --- config/neovim/lua/opdavies/lsp/null-ls.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua index 26d3bfae..daa3d137 100644 --- a/config/neovim/lua/opdavies/lsp/null-ls.lua +++ b/config/neovim/lua/opdavies/lsp/null-ls.lua @@ -29,7 +29,7 @@ null_ls.setup { end, }, diagnostics.markdownlint.with { - extra_args = { "--disable", "MD013" } + extra_args = { "--disable", "MD013" }, }, diagnostics.php, diagnostics.phpcs.with { From badbf0bac3af0f9528e5497e65c7dfcf43f6d843 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 28 Sep 2023 00:51:59 +0100 Subject: [PATCH 0422/2258] feat(nixos): enable auto-cpufreq See https://github.com/AdnanHodzic/auto-cpufreq I've used `auto-cpufreq --stats` to do some initial monitoring. Further configuration can be added with `services.auto-cpufreq.settings`, if needed. --- system/nixos/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index e0c4f951..c2a49892 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -258,5 +258,7 @@ in services.udev.extraRules = '' KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="realet" ''; + + services.auto-cpufreq.enable = true; } From ec9cc45572780ae54ad2197d3a07d6c304f22fba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 28 Sep 2023 07:22:58 +0100 Subject: [PATCH 0423/2258] feat(nvim): re-add lualine-lsp-progress --- config/neovim/after/plugin/lualine.lua | 6 ++++++ system/shared/home-manager.nix | 1 + 2 files changed, 7 insertions(+) diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua index 7c0d4192..6fb446b7 100644 --- a/config/neovim/after/plugin/lualine.lua +++ b/config/neovim/after/plugin/lualine.lua @@ -6,4 +6,10 @@ require("lualine").setup { section_separators = { left = "", right = "" }, theme = "catppuccin", }, + + sections = { + lualine_c = { + "lsp_progress", + }, + }, } diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 14513e50..7cc5c5f3 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -586,6 +586,7 @@ in vimPlugins.vim-unimpaired vimPlugins.lualine-nvim + vimPlugins.lualine-lsp-progress # Git vimPlugins.vim-fugitive From bf21d7de56b0dfbd9caac4d30744afe8e48e9250 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 29 Sep 2023 21:31:12 +0100 Subject: [PATCH 0424/2258] feat(nvim): use neoterm with vim-test --- config/neovim/after/plugin/vim-test.lua | 2 +- system/shared/home-manager.nix | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index bade7cb7..0ed93481 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -13,7 +13,7 @@ map("n", "ts", ":TestSuite", options) vim.cmd [[ let test#echo_command = 0 let test#neovim#start_normal = 1 - let test#strategy = "neovim" + let test#strategy = "neoterm" let test#php#phpunit#executable = 'just test' let test#php#phpunit#options = '--colors=always --testdox' diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 7cc5c5f3..179a8ed8 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -580,11 +580,23 @@ in vimPlugins.vim-sort-motion vimPlugins.vim-surround vimPlugins.vim-terraform - vimPlugins.vim-test vimPlugins.vim-textobj-user vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired + # Testing. + { + plugin = vimPlugins.neoterm; + type = "lua"; + config = '' + vim.g.neoterm_autoscroll = 1 + vim.g.neoterm_default_mod = "vertical" + vim.g.neoterm_term_per_tab = 1 + ''; + } + + vimPlugins.vim-test + vimPlugins.lualine-nvim vimPlugins.lualine-lsp-progress From 57db76b1e57909bb277f848cd14c082bbc51b54c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 1 Oct 2023 21:55:38 +0100 Subject: [PATCH 0425/2258] refactor(nvim): replace null-ls with none-ls --- config/neovim/lua/opdavies/lsp/init.lua | 2 +- .../lua/opdavies/lsp/{null-ls.lua => none-ls.lua} | 0 system/shared/home-manager.nix | 13 ++++++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) rename config/neovim/lua/opdavies/lsp/{null-ls.lua => none-ls.lua} (100%) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 2ffb2f90..f5ad74f2 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -141,5 +141,5 @@ vim.keymap.set("n", "f", function() vim.lsp.buf.format { async = true } end) -require "opdavies.lsp.null-ls" +require "opdavies.lsp.none-ls" require "opdavies.lsp.signature" diff --git a/config/neovim/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/none-ls.lua similarity index 100% rename from config/neovim/lua/opdavies/lsp/null-ls.lua rename to config/neovim/lua/opdavies/lsp/none-ls.lua diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 179a8ed8..9603dd1c 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -2,6 +2,17 @@ let customVim = with self; { + none-ls-nvim = pkgs.vimUtils.buildVimPlugin { + name = "none-ls-nvim"; + src = pkgs.fetchFromGitHub { + owner = "nvimtools"; + repo = "none-ls.nvim"; + rev = "main"; + sha256 = "OzwC/i2bzHznf0wunclDEQ+Qfayzje19r4UBDXtbCeI="; + }; + buildPhase = ":"; + }; + toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { name = "toggle-checkbox-nvim"; src = pkgs.fetchFromGitHub { @@ -615,8 +626,8 @@ in vimPlugins.nvim-treesitter-textobjects # LSP + customVim.none-ls-nvim vimPlugins.lsp-status-nvim - vimPlugins.null-ls-nvim vimPlugins.nvim-lspconfig # Completion From 5b34d6d724ab47508deb65be369d8af080e4ba43 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 18:14:26 +0100 Subject: [PATCH 0426/2258] chore(flake): update lockfile --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 86ac0bb7..db45638a 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1695738267, - "narHash": "sha256-LTNAbTQ96xSj17xBfsFrFS9i56U2BMLpD0BduhrsVkU=", + "lastModified": 1696145345, + "narHash": "sha256-3dM7I/d4751SLPJah0to1WBlWiyzIiuCEUwJqwBdmr4=", "owner": "nix-community", "repo": "home-manager", - "rev": "0f4e5b4999fd6a42ece5da8a3a2439a50e48e486", + "rev": "6f9b5b83ad1f470b3d11b8a9fe1d5ef68c7d0e30", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1695360818, - "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1695559356, - "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", + "lastModified": 1696039360, + "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", + "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", "type": "github" }, "original": { @@ -73,11 +73,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { From 5763900b5f1da672a22d67d7945570547394f8b5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 18:14:37 +0100 Subject: [PATCH 0427/2258] fix(scripts): vendor files causing reloads Ignore the `vendor` directory and some others as it was causing the script to reload when it wasn't expected. Whilst I'd expect it to be ignored if I specified the path to look at as something like `web/modules/custom`, but it still seems to trigger the command and it seems a lot more stable since adding this. --- bin/watch-changes | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/watch-changes b/bin/watch-changes index 26396e26..35f87b97 100755 --- a/bin/watch-changes +++ b/bin/watch-changes @@ -11,6 +11,7 @@ while true; do inotifywait \ --event modify \ --event move_self \ + --exclude ".git|simpletest|vendor" \ --recursive \ $1 && $2 done From 80d9347a735cf8079db8353908afec36d6b9409b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 18:19:01 +0100 Subject: [PATCH 0428/2258] chore(nvim): remove `drupalclass` This has been replaced by generation tools within Phpactor. --- .../neovim/lua/opdavies/snippets/ft/php.lua | 53 ------------------- 1 file changed, 53 deletions(-) diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua index 8fb0aa7a..12835e0c 100644 --- a/config/neovim/lua/opdavies/snippets/ft/php.lua +++ b/config/neovim/lua/opdavies/snippets/ft/php.lua @@ -8,59 +8,6 @@ local t = ls.text_node local M = { - drupalclass = fmta( - [[ - <; - - final class <> { - - <> - - }]], - { - f(function() - local filepath = vim.fn.expand "%:h" - local filepath_parts = vim.fn.split(filepath, "/") - - if not vim.tbl_contains(filepath_parts, "src") then - return "" - end - - local namespace_parts = { "Drupal" } - - local is_test_file = vim.tbl_contains(filepath_parts, "tests") - if is_test_file then - table.insert(namespace_parts, "Tests") - end - - -- Find and add the module name. - for k, v in ipairs(filepath_parts) do - if v == "src" then - if is_test_file then - table.insert(namespace_parts, filepath_parts[k - 2]) - else - table.insert(namespace_parts, filepath_parts[k - 1]) - end - end - end - - -- Add the rest of the namespace. - local namespace = vim.split(filepath, "src/") - local final_part = (namespace[2] or ""):gsub("/", "\\") - table.insert(namespace_parts, final_part) - - return table.concat(namespace_parts, "\\") - end), - f(function() - return vim.fn.expand "%:t:r" - end), - i(0), - } - ), func = fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) }), From b806a00ac0083d1667ab3888bc814a7fdbd2b6a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 18:28:56 +0100 Subject: [PATCH 0429/2258] build(deps): remove teams Remove Microsoft Teams for Linux as it's no longer supported upstream. --- system/nixos/home-manager.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index d40ce2b3..3c59c8cb 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -17,7 +17,6 @@ in pkgs.pinentry pkgs.postman pkgs.slack - pkgs.teams pkgs.via pkgs.vial pkgs.vlc From 3ea182c94bdf47b8310e667f72585f4107bbdc9b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 18:44:31 +0100 Subject: [PATCH 0430/2258] chore(nixos): re-organise packages Remove packages that are either no longer used or have been moved into per-project flakes that are used with direnv. --- system/nixos/home-manager-desktop.nix | 5 ----- system/nixos/home-manager.nix | 1 - system/shared/home-manager-packages.nix | 13 ------------- 3 files changed, 19 deletions(-) diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager-desktop.nix index eff26f34..c089defc 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager-desktop.nix @@ -1,11 +1,6 @@ { config, inputs, pkgs }: { - nixpkgs = { - config.allowUnfreePredicate = pkg: - builtins.elem (inputs.lib.getName pkg) [ "postman" ]; - }; - services.swayidle = { enable = true; diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager.nix index 3c59c8cb..3d75629d 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager.nix @@ -15,7 +15,6 @@ in pkgs.pamixer pkgs.pass pkgs.pinentry - pkgs.postman pkgs.slack pkgs.via pkgs.vial diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 2cd27e9b..83e3e69f 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -23,24 +23,11 @@ with pkgs; [ lua mysql neofetch - nodePackages."http-server" - nodePackages.eslint - nodePackages.prettier - nodejs - php81 - php81Packages.composer - php81Packages.phpcbf - php81Packages.phpcs - php81Packages.phpstan - platformsh - pulumi-bin pv - python3Full ripgrep rustywind terraform tldr - tmuxinator tree tree-sitter unzip From 3057cde69e9b2e9e2a8d27b5920751b7bb4519cc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 21:58:59 +0100 Subject: [PATCH 0431/2258] revert(flake): update lockfile This reverts commit 5b34d6d724ab47508deb65be369d8af080e4ba43. --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index db45638a..86ac0bb7 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", "type": "github" }, "original": { @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1696145345, - "narHash": "sha256-3dM7I/d4751SLPJah0to1WBlWiyzIiuCEUwJqwBdmr4=", + "lastModified": 1695738267, + "narHash": "sha256-LTNAbTQ96xSj17xBfsFrFS9i56U2BMLpD0BduhrsVkU=", "owner": "nix-community", "repo": "home-manager", - "rev": "6f9b5b83ad1f470b3d11b8a9fe1d5ef68c7d0e30", + "rev": "0f4e5b4999fd6a42ece5da8a3a2439a50e48e486", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1695360818, + "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1696039360, - "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", + "lastModified": 1695559356, + "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", + "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", "type": "github" }, "original": { @@ -73,11 +73,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1693471703, + "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", "type": "github" }, "original": { From 7b86cafc22065c058c6ba19566af526dd974dc2c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 3 Oct 2023 23:04:08 +0100 Subject: [PATCH 0432/2258] stable --- flake.lock | 60 ++++++++++++------------- flake.nix | 8 ++-- system/nixos/configuration.nix | 8 ++-- system/nixos/default.nix | 6 ++- system/shared/home-manager-packages.nix | 4 +- system/shared/home-manager.nix | 9 ++-- 6 files changed, 48 insertions(+), 47 deletions(-) diff --git a/flake.lock b/flake.lock index 86ac0bb7..bd4da6b1 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { @@ -24,43 +24,27 @@ ] }, "locked": { - "lastModified": 1695738267, - "narHash": "sha256-LTNAbTQ96xSj17xBfsFrFS9i56U2BMLpD0BduhrsVkU=", + "lastModified": 1695108154, + "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", "owner": "nix-community", "repo": "home-manager", - "rev": "0f4e5b4999fd6a42ece5da8a3a2439a50e48e486", + "rev": "07682fff75d41f18327a871088d20af2710d4744", "type": "github" }, "original": { "owner": "nix-community", - "ref": "master", + "ref": "release-23.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1695360818, - "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", + "lastModified": 1696039360, + "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2305": { - "locked": { - "lastModified": 1695559356, - "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", + "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", "type": "github" }, "original": { @@ -73,11 +57,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1693471703, - "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { @@ -88,12 +72,28 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-2305": "nixpkgs-2305" + "nixpkgs-unstable": "nixpkgs-unstable" } } }, diff --git a/flake.nix b/flake.nix index f637c010..5609e30c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; - nixpkgs-2305.url = "github:nixos/nixpkgs/nixos-23.05"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager.url = "github:nix-community/home-manager/release-23.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; }; outputs = inputs@{ flake-parts, self, ... }: @@ -11,7 +11,7 @@ system = "x86_64-linux"; username = "opdavies"; - nixos-system = import ./system/nixos { inherit inputs self username; }; + nixos-system = import ./system/nixos { inherit inputs self system username; }; wsl-system = import ./system/wsl2 { inherit inputs self system username; }; in flake-parts.lib.mkFlake { inherit inputs; } { diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index c2a49892..d024f536 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ inputs, pkgs, system }: let configure-gtk = pkgs.writeTextFile { @@ -120,7 +120,6 @@ in brightnessctl configure-gtk ffmpegthumbnailer - google-chrome shotwell swaybg xfce.thunar @@ -182,8 +181,7 @@ in monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; - fonts = with pkgs; [ - intel-one-mono + fonts = with inputs.nixpkgs-unstable.legacyPackages."${system}"; [ (nerdfonts.override { fonts = [ "FiraCode" @@ -221,7 +219,7 @@ in in { enable = true; - plugins = lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; udevmonConfig = '' - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" DEVICE: diff --git a/system/nixos/default.nix b/system/nixos/default.nix index 9f5c0722..a4215610 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -1,9 +1,11 @@ -{ inputs, self, username }: +{ inputs, self, system, username }: { desktop }: let - configuration = import ./configuration.nix; + pkgs = inputs.nixpkgs.legacyPackages."${system}"; + + configuration = import ./configuration.nix { inherit inputs pkgs system; }; hardware-configuration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 83e3e69f..d658ab52 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -6,7 +6,7 @@ with pkgs; [ delta dog doppler - inputs.nixpkgs-2305.legacyPackages."${system}".exa + exa fd file fzf @@ -18,6 +18,7 @@ with pkgs; [ go htop inotify-tools + inputs.nixpkgs-unstable.legacyPackages."${system}".rustywind jq just lua @@ -25,7 +26,6 @@ with pkgs; [ neofetch pv ripgrep - rustywind terraform tldr tree diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 9603dd1c..e536758b 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, self, username }: +{ inputs, pkgs, username, self }: let customVim = with self; { @@ -566,6 +566,7 @@ in ''; } + inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim @@ -573,7 +574,6 @@ in vimPlugins.impatient-nvim vimPlugins.indent-blankline-nvim vimPlugins.nvim-web-devicons - vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.splitjoin-vim vimPlugins.todo-comments-nvim @@ -627,11 +627,11 @@ in # LSP customVim.none-ls-nvim + # inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig vimPlugins.lsp-status-nvim vimPlugins.nvim-lspconfig # Completion - inputs.nixpkgs-2305.legacyPackages."${system}".vimPlugins.phpactor vimPlugins.cmp-buffer vimPlugins.cmp-cmdline vimPlugins.cmp-nvim-lsp @@ -643,6 +643,7 @@ in vimPlugins.cmp_luasnip vimPlugins.lspkind-nvim vimPlugins.nvim-cmp + vimPlugins.phpactor # Snippets vimPlugins.friendly-snippets @@ -691,8 +692,8 @@ in # Language servers ansible-language-server gopls + inputs.nixpkgs-unstable.legacyPackages."${system}".nixd lua-language-server - nixd nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" From 596ba4ac142b0cb917aee86bc753adc67c661b4c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 7 Oct 2023 00:05:16 +0100 Subject: [PATCH 0433/2258] build: replace justfile with run --- justfile | 14 -------------- run | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 14 deletions(-) delete mode 100644 justfile create mode 100755 run diff --git a/justfile b/justfile deleted file mode 100644 index 9a831a39..00000000 --- a/justfile +++ /dev/null @@ -1,14 +0,0 @@ -default: - just --list - -clean: - rm -rf ./result - -nixos profile command: && clean - sudo nixos-rebuild {{ command }} --flake .#{{ profile }} - -wsl2 command: && clean - NIXPKGS_ALLOW_UNFREE=1 home-manager {{ command }} --flake .#wsl2 --impure - -update: - nix flake update diff --git a/run b/run new file mode 100755 index 00000000..9af32ee1 --- /dev/null +++ b/run @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +set -eu + +# delete any temporary or generated files. +function clean { + rm -rf ./result +} + +# Display a list of all available commands. +function help { + printf "%s [args]\n\nTasks:\n" "${0}" + + compgen -A function | grep -v "^_" | cat -n + + printf "\nExtended help:\n Each task has comments for general usage\n" +} + +# Perform nixos-rebuild commands for a specified flake on NixOS. +function nixos { + clean + + local profile="${1}" + local command="${2}" + + sudo nixos-rebuild "${command}" --flake ".#${profile}" +} + +# Update the Nix Flake. +function update { + nix flake update +} + +# Perform home-manager commands on WSL2. +function wsl2 { + clean + + local command="${1}" + + NIXPKGS_ALLOW_UNFREE=1 home-manager "${command}" --flake ".#wsl2" --impure +} + +TIMEFORMAT=$'\nTask completed in %3lR' +time "${@:-help}" From 20afce7321dfa75514812978bafa3dea7a372a47 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 7 Oct 2023 22:32:23 +0100 Subject: [PATCH 0434/2258] chore(nvim): use run --- config/neovim/after/plugin/vim-test.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua index 0ed93481..fd38419b 100644 --- a/config/neovim/after/plugin/vim-test.lua +++ b/config/neovim/after/plugin/vim-test.lua @@ -15,6 +15,6 @@ vim.cmd [[ let test#neovim#start_normal = 1 let test#strategy = "neoterm" - let test#php#phpunit#executable = 'just test' + let test#php#phpunit#executable = 'run test' let test#php#phpunit#options = '--colors=always --testdox' ]] From 759fba125a4abae2b7a15d983dde47e5bc1c48a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Oct 2023 23:54:04 +0100 Subject: [PATCH 0435/2258] fix(nvim): next and prev hunk keymaps --- config/neovim/after/plugin/gitsigns.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/neovim/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua index f5edc10a..8f0570ee 100644 --- a/config/neovim/after/plugin/gitsigns.lua +++ b/config/neovim/after/plugin/gitsigns.lua @@ -14,8 +14,8 @@ local map = require("opdavies.keymap").map local nmap = require("opdavies.keymap").nmap local vmap = require("opdavies.keymap").vmap -nmap { "[h", "&diff ? '[c' : 'Gitsigns prev_hunk'", { expr = true, buffer = bufnr } } -nmap { "]h", "&diff ? ']c' : 'Gitsigns next_hunk'", { expr = true, buffer = bufnr } } +nmap { "[h", "Gitsigns prev_hunk" } +nmap { "]h", "Gitsigns next_hunk" } nmap { "hR", gitsigns.reset_buffer } nmap { "hS", gitsigns.stage_buffer } From cf5dbda4f0c30f0f5f98e3cf0f32f9d7fe949b2b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Oct 2023 23:52:11 +0100 Subject: [PATCH 0436/2258] chore(nvim): remove plugins temporarily I'm removing these temporarily to see how it affects performance. --- .../neovim/after/plugin/indent-blankline.lua | 12 --------- config/neovim/after/plugin/lualine.lua | 15 ----------- config/neovim/after/plugin/todo-comments.lua | 26 ------------------- system/shared/home-manager.nix | 6 ----- 4 files changed, 59 deletions(-) delete mode 100644 config/neovim/after/plugin/indent-blankline.lua delete mode 100644 config/neovim/after/plugin/lualine.lua delete mode 100644 config/neovim/after/plugin/todo-comments.lua diff --git a/config/neovim/after/plugin/indent-blankline.lua b/config/neovim/after/plugin/indent-blankline.lua deleted file mode 100644 index be9da2cf..00000000 --- a/config/neovim/after/plugin/indent-blankline.lua +++ /dev/null @@ -1,12 +0,0 @@ -local status_ok, indent_blankline = pcall(require, "indent_blankline") -if not status_ok then - return -end - -vim.opt.list = true - -vim.api.nvim_set_hl(0, "IndentBlankLineChar", { fg = "#2F313C" }) - -indent_blankline.setup { - show_end_of_line = true, -} diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua deleted file mode 100644 index 6fb446b7..00000000 --- a/config/neovim/after/plugin/lualine.lua +++ /dev/null @@ -1,15 +0,0 @@ -require("lualine").setup { - options = { - component_separators = { left = "", right = "" }, - extensions = { "fzf", "quickfix" }, - icons_enabled = false, - section_separators = { left = "", right = "" }, - theme = "catppuccin", - }, - - sections = { - lualine_c = { - "lsp_progress", - }, - }, -} diff --git a/config/neovim/after/plugin/todo-comments.lua b/config/neovim/after/plugin/todo-comments.lua deleted file mode 100644 index 5f51489d..00000000 --- a/config/neovim/after/plugin/todo-comments.lua +++ /dev/null @@ -1,26 +0,0 @@ -local status_ok, todo_comments = pcall(require, "todo-comments") -if not status_ok then - return -end - -todo_comments.setup {} - -local nmap = require("opdavies.keymap").nmap - -nmap { - "[t", - function() - todo_comments.jump_prev() - end, - { desc = "Previous todo comment" }, -} -nmap { - "]t", - function() - todo_comments.jump_next() - end, - { desc = "Next todo comment" }, -} - -nmap { "tt", "TodoTelescope" } -nmap { "tq", "TodoQuickFix" } diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index e536758b..985bcd51 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -572,11 +572,9 @@ in vimPlugins.gitsigns-nvim vimPlugins.harpoon vimPlugins.impatient-nvim - vimPlugins.indent-blankline-nvim vimPlugins.nvim-web-devicons vimPlugins.rest-nvim vimPlugins.splitjoin-vim - vimPlugins.todo-comments-nvim vimPlugins.undotree vimPlugins.vim-easy-align vimPlugins.vim-eunuch @@ -608,9 +606,6 @@ in vimPlugins.vim-test - vimPlugins.lualine-nvim - vimPlugins.lualine-lsp-progress - # Git vimPlugins.vim-fugitive vimPlugins.vim-rhubarb @@ -627,7 +622,6 @@ in # LSP customVim.none-ls-nvim - # inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.nvim-lspconfig vimPlugins.lsp-status-nvim vimPlugins.nvim-lspconfig From c0e9fd137f0a63dd44691eda6345685d46b8a447 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 10 Oct 2023 07:16:42 +0100 Subject: [PATCH 0437/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index bd4da6b1..5d5b5748 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696039360, - "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", + "lastModified": 1696697597, + "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", + "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1696604326, + "narHash": "sha256-YXUNI0kLEcI5g8lqGMb0nh67fY9f2YoJsILafh6zlMo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "87828a0e03d1418e848d3dd3f3014a632e4a4f64", "type": "github" }, "original": { From ecaae11b4d610d6b3e06458f39eff55613335932 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Oct 2023 17:43:55 +0100 Subject: [PATCH 0438/2258] feat(nvim): add grep_prompt --- config/neovim/lua/opdavies/telescope/init.lua | 7 +++++++ config/neovim/lua/opdavies/telescope/mappings.lua | 2 ++ 2 files changed, 9 insertions(+) diff --git a/config/neovim/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua index 147d4134..56ccc245 100644 --- a/config/neovim/lua/opdavies/telescope/init.lua +++ b/config/neovim/lua/opdavies/telescope/init.lua @@ -124,6 +124,13 @@ function M.git_files() require("telescope.builtin").git_files(opts) end +function M.grep_prompt() + require("telescope.builtin").grep_string { + path_display = { "shorten" }, + search = vim.fn.input "Grep String > ", + } +end + function M.live_grep() require("telescope").extensions.live_grep_args.live_grep_args { file_ignore_patterns = { ".git/" }, diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 33b77659..74e2d126 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -32,6 +32,8 @@ telescope_mapper("fh", "help_tags") telescope_mapper("fl", "live_grep") telescope_mapper("fo", "oldfiles") +telescope_mapper("gp", "grep_prompt") + telescope_mapper("ds", "lsp_document_symbols") telescope_mapper("dl", "diagnostics") From ea6a382edc42a1e4b298347b3d346cdd09d1f06a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Oct 2023 18:42:05 +0100 Subject: [PATCH 0439/2258] feat(scripts): add git-sync --- bin/git-sync | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100755 bin/git-sync diff --git a/bin/git-sync b/bin/git-sync new file mode 100755 index 00000000..ff3775c5 --- /dev/null +++ b/bin/git-sync @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +git fetch --all +git stash +git pull --rebase +git stash pop From d587bbed9abfb6e106bef6fa791fe0c97766b02c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 12 Oct 2023 09:44:00 +0100 Subject: [PATCH 0440/2258] feat(nvim): add snippet for adding vim plugins --- .../neovim/lua/opdavies/snippets/ft/nix.lua | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 config/neovim/lua/opdavies/snippets/ft/nix.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/nix.lua b/config/neovim/lua/opdavies/snippets/ft/nix.lua new file mode 100644 index 00000000..0df27b66 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/nix.lua @@ -0,0 +1,23 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local c = ls.choice_node +local i = ls.insert_node +local t = ls.text_node + +local M = { + vimplugin = fmta( + [[ + { + plugin = <>.<>; + type = "lua"; + config = '' + <> + ''; + }<> + ]], + { c(1, { t "vimPlugin", t "customVim" }), i(2), i(3), i(0) } + ), +} + +return M From f6d8bd912277f5394c2b6e5947d7dac894455049 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 15 Oct 2023 08:50:27 +0100 Subject: [PATCH 0441/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 5d5b5748..139c59c0 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696697597, - "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", + "lastModified": 1696983906, + "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", + "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696604326, - "narHash": "sha256-YXUNI0kLEcI5g8lqGMb0nh67fY9f2YoJsILafh6zlMo=", + "lastModified": 1697059129, + "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "87828a0e03d1418e848d3dd3f3014a632e4a4f64", + "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", "type": "github" }, "original": { From a0829bcb63193ef0c9bcc7220ec0b6223f2502d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 16 Oct 2023 20:14:55 +0100 Subject: [PATCH 0442/2258] chore(zsh): set keymap to `vicmd` --- system/shared/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 985bcd51..3fe8e995 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -238,6 +238,7 @@ in programs.zsh = { enable = true; enableCompletion = false; + defaultKeymap = "vicmd"; dotDir = ".config/zsh"; initExtra = '' From 1c42a0d39731c88bfb6b5353b52eb601696bf953 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 16 Oct 2023 20:15:39 +0100 Subject: [PATCH 0443/2258] fix(nvim): ensure PHP is available e.g. for running Drush commands. --- system/shared/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 3fe8e995..aa2b2d0f 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -683,6 +683,7 @@ in extraPackages = with pkgs; [ # Languages nodePackages.typescript + php81 # Language servers ansible-language-server From 0531c2ffdd1d33749a126e4e99e4834b038ff5a8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 18 Oct 2023 22:42:48 +0200 Subject: [PATCH 0444/2258] chore(nvim): replace splitjoin with treesj --- config/neovim/after/plugin/splitjoin.lua | 3 --- system/shared/home-manager.nix | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 config/neovim/after/plugin/splitjoin.lua diff --git a/config/neovim/after/plugin/splitjoin.lua b/config/neovim/after/plugin/splitjoin.lua deleted file mode 100644 index 04684784..00000000 --- a/config/neovim/after/plugin/splitjoin.lua +++ /dev/null @@ -1,3 +0,0 @@ -vim.g.splitjoin_html_attributes_bracket_on_new_line = 1 -vim.g.splitjoin_php_method_chain_full = 1 -vim.g.splitjoin_trailing_comma = 1 diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index aa2b2d0f..e3fecb9c 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -575,7 +575,7 @@ in vimPlugins.impatient-nvim vimPlugins.nvim-web-devicons vimPlugins.rest-nvim - vimPlugins.splitjoin-vim + vimPlugins.treesj vimPlugins.undotree vimPlugins.vim-easy-align vimPlugins.vim-eunuch From c9af4cf4c921e8b5de3001a28c985e71c8389fd5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 18 Oct 2023 22:44:06 +0200 Subject: [PATCH 0445/2258] feat(git): set push.autoSetupRemote to true --- system/shared/home-manager.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index e3fecb9c..af1c8af3 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -218,15 +218,18 @@ in help.autocorrect = "1"; init.defaultBranch = "main"; merge.ff = "only"; - rebase = { - autosquash = true; - autostash = true; + push = { + autoSetupRemote = true; + default = "upstream"; }; - push.default = "upstream"; pull = { ff = "only"; rebase = true; }; + rebase = { + autosquash = true; + autostash = true; + }; }; }; From 4f2f98069cffabbf5feaa2c08ab6219a5532b976 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 18 Oct 2023 22:48:58 +0200 Subject: [PATCH 0446/2258] chore(nvim): use vim.loader Improve startup performance by using `vim.loader`. See https://www.youtube.com/watch?v=ixq3g_D3SVs --- system/shared/home-manager.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index af1c8af3..77f916aa 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -670,6 +670,10 @@ in extraConfig = '' lua << EOF + if vim.loader then + vim.loader.enable() + end + pcall("require", impatient) require "opdavies.globals" From c2ae75a46599bf8e7a4627e7bba6093e41be1d84 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 18 Oct 2023 22:49:53 +0200 Subject: [PATCH 0447/2258] refactor(nvim): use `extraLuaConfig` --- system/shared/home-manager.nix | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 77f916aa..f7177c28 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -668,23 +668,21 @@ in inputs.self.packages.${pkgs.system}.opdavies-nvim ]; - extraConfig = '' - lua << EOF - if vim.loader then - vim.loader.enable() - end + extraLuaConfig = '' + if vim.loader then + vim.loader.enable() + end - pcall("require", impatient) + pcall("require", impatient) - require "opdavies.globals" + require "opdavies.globals" - require("opdavies.options").setup() + require("opdavies.options").setup() - require "opdavies.lsp" + require "opdavies.lsp" - require "opdavies.telescope.setup" - require "opdavies.telescope.mappings" - EOF + require "opdavies.telescope.setup" + require "opdavies.telescope.mappings" ''; extraPackages = with pkgs; [ From 3b00490b556d666a9d21ac4930ce59f9c299092c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 18 Oct 2023 22:56:25 +0200 Subject: [PATCH 0448/2258] refactor(nvim): add opdavies/init.lua --- config/neovim/lua/opdavies/init.lua | 10 ++++++++++ system/shared/home-manager.nix | 11 +---------- 2 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 config/neovim/lua/opdavies/init.lua diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua new file mode 100644 index 00000000..dd2b1821 --- /dev/null +++ b/config/neovim/lua/opdavies/init.lua @@ -0,0 +1,10 @@ +pcall("require", impatient) + +require "opdavies.globals" + +require("opdavies.options").setup() + +require "opdavies.lsp" + +require "opdavies.telescope.setup" +require "opdavies.telescope.mappings" diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index f7177c28..82284aef 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -673,16 +673,7 @@ in vim.loader.enable() end - pcall("require", impatient) - - require "opdavies.globals" - - require("opdavies.options").setup() - - require "opdavies.lsp" - - require "opdavies.telescope.setup" - require "opdavies.telescope.mappings" + require "opdavies" ''; extraPackages = with pkgs; [ From e6ab9a780b2f7e9a85adb8115089987a0a8c979d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 20 Oct 2023 07:56:38 +0200 Subject: [PATCH 0449/2258] fix(nvim): add missing character --- config/neovim/lua/opdavies/snippets/ft/nix.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/snippets/ft/nix.lua b/config/neovim/lua/opdavies/snippets/ft/nix.lua index 0df27b66..1ef44d5c 100644 --- a/config/neovim/lua/opdavies/snippets/ft/nix.lua +++ b/config/neovim/lua/opdavies/snippets/ft/nix.lua @@ -16,7 +16,7 @@ local M = { ''; }<> ]], - { c(1, { t "vimPlugin", t "customVim" }), i(2), i(3), i(0) } + { c(1, { t "vimPlugins", t "customVim" }), i(2), i(3), i(0) } ), } From 5f3f2b2f6fb798ae8b62a9350d2a9b5538a47ff0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 20 Oct 2023 07:58:32 +0200 Subject: [PATCH 0450/2258] fix(nvim): call treesj.setup --- system/shared/home-manager.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 82284aef..858fd0f0 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -578,7 +578,6 @@ in vimPlugins.impatient-nvim vimPlugins.nvim-web-devicons vimPlugins.rest-nvim - vimPlugins.treesj vimPlugins.undotree vimPlugins.vim-easy-align vimPlugins.vim-eunuch @@ -597,6 +596,13 @@ in vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired + { + plugin = vimPlugins.treesj; + type = "lua"; + config = '' + require "treesj".setup {} + ''; + } # Testing. { plugin = vimPlugins.neoterm; @@ -607,7 +613,6 @@ in vim.g.neoterm_term_per_tab = 1 ''; } - vimPlugins.vim-test # Git From c484d1643547f10bd622c15d761d79a9e02d23d9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 20 Oct 2023 07:58:53 +0200 Subject: [PATCH 0451/2258] revert(zsh): set keymap to `vicmd` This reverts commit a0829bcb63193ef0c9bcc7220ec0b6223f2502d1. --- system/shared/home-manager.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 858fd0f0..f116f1a6 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -241,7 +241,6 @@ in programs.zsh = { enable = true; enableCompletion = false; - defaultKeymap = "vicmd"; dotDir = ".config/zsh"; initExtra = '' From ff97af5b7644d8d06a678e3b52b4db9d8e25b91e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 24 Oct 2023 23:24:16 +0100 Subject: [PATCH 0452/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 139c59c0..8ff767ee 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696983906, - "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", + "lastModified": 1697851979, + "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", + "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697059129, - "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", + "lastModified": 1697723726, + "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", + "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", "type": "github" }, "original": { From 941d9951bd0f0f170dd1b660fd3a3e8f7b57635d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 27 Oct 2023 21:12:23 +0100 Subject: [PATCH 0453/2258] feat(nvim): configure cmdline completion --- config/neovim/after/plugin/completion.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua index 824cb10e..ddb7592e 100644 --- a/config/neovim/after/plugin/completion.lua +++ b/config/neovim/after/plugin/completion.lua @@ -67,6 +67,22 @@ cmp.setup { }, } +cmp.setup.cmdline({ "/", "?" }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, +}) + +cmp.setup.cmdline(":", { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), +}) + vim.cmd [[ augroup DadbodSql au! From 10643ac0d47f21727e80fc84dd899cdb0db7d8fe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 27 Oct 2023 21:12:43 +0100 Subject: [PATCH 0454/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8ff767ee..4aa0c38a 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1697851979, - "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", + "lastModified": 1698288402, + "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", + "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697723726, - "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", + "lastModified": 1698134075, + "narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", + "rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4", "type": "github" }, "original": { From fce21fc930aff71896a65a462f5db9963f377c81 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 27 Oct 2023 21:13:59 +0100 Subject: [PATCH 0455/2258] feat(zsh): add aliases --- system/shared/home-manager.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index f116f1a6..9b772fe4 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -329,20 +329,26 @@ in bindkey " " expand-alias-space bindkey -M isearch " " magic-space + alias dea='direnv allow' + alias dee='direnv edit' + ialias cs="create-script" + ialias daily="run create-daily next" ialias fetch="git fetch --all --jobs=4 --progress --prune" + ialias ls="exa -la" ialias nah="git reset --hard; git clean -fd" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" ialias run="./run" ialias s="secrets" ialias secrets="doppler --project \"$(whoami)\" run" + ialias switch="run nixos nixedo switch" + ialias sz="source ~/.config/zsh/.zshrc" ialias tag="tag-release" ialias uncommit="git reset --soft HEAD^"; ialias update="fetch && rebase" ialias wip="git add . && git commit -m 'wip'"; - - ialias ls="exa -la" + ialias wt="git worktree" # just alias j="just" From 0f5e96daa0cdfa81f9799af7a8c5d72eac447062 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 29 Oct 2023 23:11:12 +0000 Subject: [PATCH 0456/2258] chore(flake): update lockfile --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 4aa0c38a..8542db40 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1698579227, + "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "f76e870d64779109e41370848074ac4eaa1606ec", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698288402, - "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", + "lastModified": 1698434055, + "narHash": "sha256-Phxi5mUKSoL7A0IYUiYtkI9e8NcGaaV5PJEaJApU1Ko=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", + "rev": "1a3c95e3b23b3cdb26750621c08cc2f1560cb883", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698134075, - "narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=", + "lastModified": 1698318101, + "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4", + "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", "type": "github" }, "original": { From 6d38e5e83eb952bbece2cd2cab47aba6b370aa00 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 29 Oct 2023 23:13:08 +0000 Subject: [PATCH 0457/2258] fix(nvim): configure undodir --- config/neovim/lua/opdavies/options.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index f8c17852..f6843bad 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -119,7 +119,7 @@ end local function set_vim_o() local settings = { autoindent = true, - backup = true, + backup = false, breakindent = true, conceallevel = 0, cursorline = true, @@ -149,6 +149,8 @@ local function set_vim_o() tabstop = 2, termguicolors = true, textwidth = 0, + undodir = os.getenv("HOME") .. "/.vim/undodir", + undofile = true, updatetime = 1000, wrap = false, } From acf5767a1e218dd108c672df29bcf37646a13471 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 09:11:49 +0100 Subject: [PATCH 0458/2258] chore(flake): update lockfile --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 8542db40..485f7314 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1698579227, - "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f76e870d64779109e41370848074ac4eaa1606ec", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698434055, - "narHash": "sha256-Phxi5mUKSoL7A0IYUiYtkI9e8NcGaaV5PJEaJApU1Ko=", + "lastModified": 1698942558, + "narHash": "sha256-/UmnB+mEd6Eg3mJBrAgqRcyZX//RSjHphcCO7Ig9Bpk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1a3c95e3b23b3cdb26750621c08cc2f1560cb883", + "rev": "621f51253edffa1d6f08d5fce4f08614c852d17e", "type": "github" }, "original": { @@ -57,11 +57,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698318101, - "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", + "lastModified": 1698924604, + "narHash": "sha256-GCFbkl2tj8fEZBZCw3Tc0AkGo0v+YrQlohhEGJ/X4s0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", + "rev": "fa804edfb7869c9fb230e174182a8a1a7e512c40", "type": "github" }, "original": { From 9d1ca90bcc0ced4e014af9892872b1cbaae11331 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 09:32:37 +0100 Subject: [PATCH 0459/2258] chore: update custom Nix packages --- system/shared/home-manager.nix | 69 ++++++++++------------------------ 1 file changed, 19 insertions(+), 50 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 9b772fe4..039a142b 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -1,18 +1,9 @@ { inputs, pkgs, username, self }: let - customVim = with self; { - none-ls-nvim = pkgs.vimUtils.buildVimPlugin { - name = "none-ls-nvim"; - src = pkgs.fetchFromGitHub { - owner = "nvimtools"; - repo = "none-ls.nvim"; - rev = "main"; - sha256 = "OzwC/i2bzHznf0wunclDEQ+Qfayzje19r4UBDXtbCeI="; - }; - buildPhase = ":"; - }; + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; + customVim = with self; { toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { name = "toggle-checkbox-nvim"; src = pkgs.fetchFromGitHub { @@ -23,16 +14,6 @@ let }; }; - vim-astro = pkgs.vimUtils.buildVimPlugin { - name = "vim-astro"; - src = pkgs.fetchFromGitHub { - owner = "wuelnerdotexe"; - repo = "vim-astro"; - rev = "main"; - sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; - }; - }; - vim-heritage = pkgs.vimUtils.buildVimPlugin { name = "vim-heritage"; src = pkgs.fetchFromGitHub { @@ -43,16 +24,6 @@ let }; }; - vim-just = pkgs.vimUtils.buildVimPlugin { - name = "vim-just"; - src = pkgs.fetchFromGitHub { - owner = "NoahTheDuke"; - repo = "vim-just"; - rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "DSC47z2wOEXvo2kGO5JtmR3hyHPiYXrkX7MgtagV5h4="; - }; - }; - vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { name = "vim-textobj-xmlattr"; src = pkgs.fetchFromGitHub { @@ -78,21 +49,11 @@ let src = pkgs.fetchFromGitHub { owner = "arthurxavierx"; repo = "vim-caser"; - rev = "master"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; }; }; - vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { - name = "vim-visual-star-search"; - src = pkgs.fetchFromGitHub { - owner = "nelstrom"; - repo = "vim-visual-star-search"; - rev = "37259722f45996733fd309add61385a4ad88bdb9"; - sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; - }; - }; - vim-zoom = pkgs.vimUtils.buildVimPlugin { name = "vim-zoom"; src = pkgs.fetchFromGitHub { @@ -559,13 +520,12 @@ in plugins = with pkgs; [ customVim.tabline-vim - customVim.vim-astro customVim.vim-caser customVim.vim-heritage - customVim.vim-just - customVim.vim-zoom customVim.vim-textobj-xmlattr - customVim.vim-visual-star-search + customVim.vim-zoom + pkgsUnstable.vimPlugins.vim-astro + vimPlugins.vim-visual-star-search { plugin = customVim.toggle-checkbox-nvim; @@ -575,7 +535,7 @@ in ''; } - inputs.nixpkgs-unstable.legacyPackages."${system}".vimPlugins.refactoring-nvim + pkgsUnstable.vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim @@ -594,13 +554,22 @@ in vimPlugins.vim-projectionist vimPlugins.vim-repeat vimPlugins.vim-sleuth - vimPlugins.vim-sort-motion vimPlugins.vim-surround vimPlugins.vim-terraform vimPlugins.vim-textobj-user vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired + vimPlugins.lualine-nvim + vimPlugins.lualine-lsp-progress + + { + plugin = vimPlugins.vim-sort-motion; + type = "lua"; + config = '' + vim.g.sort_motion_flags = "ui" + ''; + } { plugin = vimPlugins.treesj; type = "lua"; @@ -635,7 +604,7 @@ in vimPlugins.nvim-treesitter-textobjects # LSP - customVim.none-ls-nvim + pkgsUnstable.vimPlugins.none-ls-nvim vimPlugins.lsp-status-nvim vimPlugins.nvim-lspconfig @@ -694,7 +663,6 @@ in # Language servers ansible-language-server gopls - inputs.nixpkgs-unstable.legacyPackages."${system}".nixd lua-language-server nodePackages.intelephense nodePackages."@astrojs/language-server" @@ -708,6 +676,7 @@ in nodePackages.vue-language-server nodePackages.yaml-language-server phpactor + pkgsUnstable.nixd rnix-lsp terraform-ls From 5c31b633086f4c67d1df070ea391081887acb7f2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 10:19:20 +0000 Subject: [PATCH 0460/2258] refactor(nvim): sort keymaps alphabetically --- config/neovim/lua/opdavies/lsp/init.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index f5ad74f2..5fc2f8f2 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -34,16 +34,16 @@ local custom_attach = function(client) nvim_status.on_attach(client) buf_inoremap { "", vim.lsp.buf.signature_help } - buf_nnoremap { "d", vim.diagnostic.open_float } - buf_nnoremap { "[d", vim.diagnostic.goto_prev } - buf_nnoremap { "]d", vim.diagnostic.goto_next } buf_nnoremap { "ca", vim.lsp.buf.code_action } + buf_nnoremap { "d", vim.diagnostic.open_float } buf_nnoremap { "rn", vim.lsp.buf.rename } buf_nnoremap { "rr", "LspRestart" } + buf_nnoremap { "[d", vim.diagnostic.goto_prev } + buf_nnoremap { "]d", vim.diagnostic.goto_next } buf_nnoremap { "gD", vim.lsp.buf.declaration } - buf_nnoremap { "gT", vim.lsp.buf.type_definition } buf_nnoremap { "gd", vim.lsp.buf.definition } buf_nnoremap { "gi", vim.lsp.buf.implementation } + buf_nnoremap { "gT", vim.lsp.buf.type_definition } if filetype ~= "lua" then buf_nnoremap { "K", vim.lsp.buf.hover } From ee4911cbeb4bf87bd95254c98c21bcb68c170a1e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 10:19:46 +0000 Subject: [PATCH 0461/2258] chore(zsh): remove just aliases --- system/shared/home-manager.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 039a142b..72cc9a79 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -311,14 +311,6 @@ in ialias wip="git add . && git commit -m 'wip'"; ialias wt="git worktree" - # just - alias j="just" - alias jc="just composer" - alias jci="just composer install" - alias jcr="just composer require" - alias jd="just drush" - alias jt="just test" - # tmux alias ta="tmux attach" alias tl="tmux list-sessions" From 65147924451ac9a1a5b0826429482d5d3719be69 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 10:29:29 +0000 Subject: [PATCH 0462/2258] refactor(flake): add pkgsUnstable in other files --- system/nixos/configuration.nix | 4 +++- system/shared/home-manager-packages.nix | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index d024f536..884fc749 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,6 +1,8 @@ { inputs, pkgs, system }: let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${system}"; + configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -181,7 +183,7 @@ in monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; - fonts = with inputs.nixpkgs-unstable.legacyPackages."${system}"; [ + fonts = with pkgsUnstable; [ (nerdfonts.override { fonts = [ "FiraCode" diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index d658ab52..292a2add 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -1,4 +1,7 @@ { inputs, pkgs, ... }: +let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; +in with pkgs; [ awscli2 bottom @@ -18,12 +21,12 @@ with pkgs; [ go htop inotify-tools - inputs.nixpkgs-unstable.legacyPackages."${system}".rustywind jq just lua mysql neofetch + pkgsUnstable.rustywind pv ripgrep terraform From 5303c1ae9ce035d35d7c0b71db34c929ad32d2a0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 20:21:13 +0000 Subject: [PATCH 0463/2258] fix(scripts): fix incorrect item --- bin/t | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/t b/bin/t index e3007663..5ba112c7 100755 --- a/bin/t +++ b/bin/t @@ -12,7 +12,6 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. items=$(find ~/Code -mindepth 3 -maxdepth 3 -type d ! -name .git) - items+="$HOME/Code/github.com/opdavies/dotfiles" selected=$(echo "${items}" | sort | fzf --reverse) fi From 632f220beebde25dbfae7c9290c9ebd61c6da4d7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 20:22:04 +0000 Subject: [PATCH 0464/2258] fix(tmux): update repo paths --- system/shared/home-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 72cc9a79..f77b2be7 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -494,8 +494,8 @@ in bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" - bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk" + bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.git" + bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk.git" set -g @resurrect-strategy-nvim 'session' ''; From 9dc52fc3a06020f56abff5ede795e7ff74d52127 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 20:23:50 +0000 Subject: [PATCH 0465/2258] feat(nixos): add fonts --- system/nixos/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 884fc749..e3010854 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -186,8 +186,10 @@ in fonts = with pkgsUnstable; [ (nerdfonts.override { fonts = [ + "AnonymousPro" "FiraCode" "IntelOneMono" + "Iosevka" "JetBrainsMono" "Meslo" ]; From f97d7008e2b50eb35d076711e27c70feb590f5a7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 20:37:30 +0000 Subject: [PATCH 0466/2258] feat(nvim): configure lualine --- config/neovim/after/plugin/lualine.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 config/neovim/after/plugin/lualine.lua diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua new file mode 100644 index 00000000..6fb446b7 --- /dev/null +++ b/config/neovim/after/plugin/lualine.lua @@ -0,0 +1,15 @@ +require("lualine").setup { + options = { + component_separators = { left = "", right = "" }, + extensions = { "fzf", "quickfix" }, + icons_enabled = false, + section_separators = { left = "", right = "" }, + theme = "catppuccin", + }, + + sections = { + lualine_c = { + "lsp_progress", + }, + }, +} From 6c610fea29c0677f79c1eb984f1e649f96d4ca64 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 Nov 2023 21:42:53 +0000 Subject: [PATCH 0467/2258] feat(nvim): use rstfmt for rst file formatting Add `vimPlugins.conform-nvim` to add formatting rst files with `rstfmt`. This isn't supported as a formatter in `none-ls`, and I wanted to try and potentially switch to `conform-nvim` and `nvim-lint` in the future, so this is a potential first step towards that. `rstfmt` itself is already installed and available within my additional Vim packages. This currently needs to be run manually, as I don't want to change my default keybind for formatting until I've supported all the filetypes and formatters I have in `none-ls`. To run the foramt manually, run `:lua require"conform".format()`. See: - https://github.com/stevearc/conform.nvim - https://github.com/mfussenegger/nvim-lint - https://pypi.org/project/rstfmt - https://www.youtube.com/watch?v=ybUE4D80XSk --- config/neovim/after/plugin/conform.lua | 11 +++++++++++ system/shared/home-manager.nix | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 config/neovim/after/plugin/conform.lua diff --git a/config/neovim/after/plugin/conform.lua b/config/neovim/after/plugin/conform.lua new file mode 100644 index 00000000..6c472346 --- /dev/null +++ b/config/neovim/after/plugin/conform.lua @@ -0,0 +1,11 @@ +local conform = require "conform" + +conform.setup { + formatters_by_ft = { + rst = { "rstfmt" }, + }, +} + +conform.formatters.rstfmt = { + command = "rstfmt"; +} diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index f77b2be7..e40a511e 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -595,7 +595,8 @@ in vimPlugins.nvim-treesitter-context vimPlugins.nvim-treesitter-textobjects - # LSP + # LSP, linting and formatting + pkgsUnstable.vimPlugins.conform-nvim pkgsUnstable.vimPlugins.none-ls-nvim vimPlugins.lsp-status-nvim vimPlugins.nvim-lspconfig From 8f5a8dee66466efadbcad096512dd08deed835b6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 6 Nov 2023 23:24:53 +0000 Subject: [PATCH 0468/2258] refactor(flake): move pkgs --- flake.nix | 6 ++++-- system/nixos/default.nix | 6 ++---- system/wsl2/default.nix | 4 +--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 5609e30c..fd96cc33 100644 --- a/flake.nix +++ b/flake.nix @@ -11,8 +11,10 @@ system = "x86_64-linux"; username = "opdavies"; - nixos-system = import ./system/nixos { inherit inputs self system username; }; - wsl-system = import ./system/wsl2 { inherit inputs self system username; }; + pkgs = inputs.nixpkgs.legacyPackages.${system}; + + nixos-system = import ./system/nixos { inherit inputs pkgs self system username; }; + wsl-system = import ./system/wsl2 { inherit inputs pkgs self system username; }; in flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; diff --git a/system/nixos/default.nix b/system/nixos/default.nix index a4215610..394ab8f0 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -1,10 +1,8 @@ -{ inputs, self, system, username }: +{ inputs, pkgs, self, system, username }: -{ desktop }: +{ desktop ? false }: let - pkgs = inputs.nixpkgs.legacyPackages."${system}"; - configuration = import ./configuration.nix { inherit inputs pkgs system; }; hardware-configuration = import ./hardware-configuration.nix; in diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index e1548b4d..919a80b0 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -1,8 +1,6 @@ -{ inputs, self, system, username }: +{ inputs, pkgs, self, system, username }: let - pkgs = inputs.nixpkgs.legacyPackages."${system}"; - shared-config = import ../shared/home-manager.nix { inherit inputs pkgs self username; }; shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; in From 282b764ba696069ed5e80560c1d47c4357e004a8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 6 Nov 2023 23:48:09 +0000 Subject: [PATCH 0469/2258] refactor(nvim): split into modules --- system/shared/home-manager.nix | 799 +---------------------------- system/shared/modules/git.nix | 120 +++++ system/shared/modules/neovim.nix | 247 +++++++++ system/shared/modules/starship.nix | 126 +++++ system/shared/modules/tmux.nix | 107 ++++ system/shared/modules/zsh.nix | 205 ++++++++ 6 files changed, 812 insertions(+), 792 deletions(-) create mode 100644 system/shared/modules/git.nix create mode 100644 system/shared/modules/neovim.nix create mode 100644 system/shared/modules/starship.nix create mode 100644 system/shared/modules/tmux.nix create mode 100644 system/shared/modules/zsh.nix diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index e40a511e..f841db4d 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -1,70 +1,5 @@ { inputs, pkgs, username, self }: -let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; - - customVim = with self; { - toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { - name = "toggle-checkbox-nvim"; - src = pkgs.fetchFromGitHub { - owner = "opdavies"; - repo = "toggle-checkbox.nvim"; - rev = "main"; - sha256 = "1h9IGyMa80HWrtiPjruG4cYBqgTafNirW0Hwl/JO70A="; - }; - }; - - vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-zoom = pkgs.vimUtils.buildVimPlugin { - name = "vim-zoom"; - src = pkgs.fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - }; -in { home.username = "${username}"; home.homeDirectory = "/home/${username}"; @@ -73,743 +8,23 @@ in programs.home-manager.enable = true; - home.file.".gitmessage".text = '' - type(scope): description - - # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test - # - # Description - # - # - Why is this change necessary? - # - How does it address the issue? - # - What side effects does this change have? - # - # For breaking changes, add an ! after the type/scope, uncomment the following - # line and describe the change: - # - # BREAKING CHANGE: - # - # - # Add any issue IDs or commit SHAs that this commit references: - # - # Refs: - - ''; - - home.file.".gitignore-global".text = '' - .direnv/ - .issue-id - .phpactor.json - ''; + imports = [ + ./modules/git.nix + ./modules/neovim.nix + ./modules/starship.nix + ./modules/tmux.nix + ./modules/zsh.nix + ]; programs.bat.enable = true; - programs.git = { - enable = true; - userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.uk"; - - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = - "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = - "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = - "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = - "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - staged = "diff --staged"; - unassume = "update-index --no-assume-unchanged"; - unstage = "reset"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - worktrees = "worktree list"; - }; - - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - }; - checkout.defaultRemote = "origin"; - color.ui = true; - commit = { template = "~/.gitmessage"; }; - core = { - editor = "nvim"; - excludesFile = "~/.gitignore-global"; - pager = "delta"; - }; - delta.line-numbers = true; - diff.tool = "vimdiff"; - fetch.prune = true; - grep.lineNumber = true; - help.autocorrect = "1"; - init.defaultBranch = "main"; - merge.ff = "only"; - push = { - autoSetupRemote = true; - default = "upstream"; - }; - pull = { - ff = "only"; - rebase = true; - }; - rebase = { - autosquash = true; - autostash = true; - }; - }; - }; - home.file."logo.txt" = { source = pkgs.copyPathToStore "${self}/logo.txt"; target = "logo.txt"; }; - programs.zsh = { - enable = true; - enableCompletion = false; - dotDir = ".config/zsh"; - - initExtra = '' - # Plugins - source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" - source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" - - # Case insensitive autocompletion. - zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" - autoload -Uz compinit && compinit - - bindkey -s ^f "t\n" - - clear-ls-all() { - clear - exa -al - } - zle -N clear-ls-all - - clear-git-status() { - clear - git status -sb . - } - zle -N clear-git-status - - clear-tree-2() { - clear - tree -L 2 - } - zle -N clear-tree-2 - - clear-tree-3() { - clear - tree -L 3 - } - zle -N clear-tree-3 - - bindkey '^G' clear-git-status - # bindkey '^H' clear-tree-3 - # bindkey '^J' clear-tree-2 - # bindkey '^K' clear-ls-all - - # auto-completes aliases - # enables to define - # - normal aliases (completed with trailing space) - # - blank aliases (completed without space) - # - ignored aliases (not completed) - - # ignored aliases - typeset -a ialiases - ialiases=() - - ialias() { - alias $@ - args="$@" - args=''${args%%\=*} - ialiases+=(''${args##* }) - } - - # blank aliases - typeset -a baliases - baliases=() - - balias() { - alias $@ - args="$@" - args=''${args%%\=*} - baliases+=(''${args##* }) - } - - expand-alias-space() { - [[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$? - if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then - zle _expand_alias - fi - - zle self-insert - - if [[ "$insertBlank" = "0" ]]; then - zle backward-delete-char - fi - } - - zle -N expand-alias-space - - bindkey " " expand-alias-space - bindkey -M isearch " " magic-space - - alias dea='direnv allow' - alias dee='direnv edit' - - ialias cs="create-script" - ialias daily="run create-daily next" - ialias fetch="git fetch --all --jobs=4 --progress --prune" - ialias ls="exa -la" - ialias nah="git reset --hard; git clean -fd" - ialias pull="git pull --autostash --jobs=4 --summary origin" - ialias rebase="git rebase --autostash --stat" - ialias run="./run" - ialias s="secrets" - ialias secrets="doppler --project \"$(whoami)\" run" - ialias switch="run nixos nixedo switch" - ialias sz="source ~/.config/zsh/.zshrc" - ialias tag="tag-release" - ialias uncommit="git reset --soft HEAD^"; - ialias update="fetch && rebase" - ialias wip="git add . && git commit -m 'wip'"; - ialias wt="git worktree" - - # tmux - alias ta="tmux attach" - alias tl="tmux list-sessions" - alias tk="tmux kill-session" - - # Docker and Docker Compose. - alias dk="docker" - alias dkp="docker ps" - alias dkpa="docker ps -a" - alias dkpaq="docker ps -a -q" - alias dkb="docker build -t" - alias dks="docker start" - alias dkt="docker stop" - alias dkrm="docker rm" - alias dkri="docker rmi" - alias dke="docker exec -ti" - alias dkl="docker logs -f" - alias dki="docker images" - alias dkpu="docker pull" - alias dkph="docker push" - alias dkbnc="docker build --no-cache -t" - alias dkr="docker run --rm" - alias dkrti="docker run --rm -ti" - alias dkc="docker compose" - alias dkcb="docker compose build" - alias dkcu="docker compose up" - alias dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" - - # Nix and NixOS. - alias nx="nix" - alias nxb="nix build" - alias nxd="nix develop" - alias nxf="nix flake" - alias nxs="nix shell" - ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' - ialias full-system-repair='nix-store --verify --check-contents --repair' - ialias full-system-upgrade="sudo nixos-rebuild switch --upgrade && nix-env -u '*'" - ialias list-system-configurations='\ls -l /nix/var/nix/profiles/system-*-link' - ialias local-upgrade="nix-channel --update nixpkgs && nix-env -u '*'" - ialias set-default-boot='/run/current-system/bin/switch-to-configuration boot' - ialias system-rebuild='sudo nixos-rebuild switch' - ialias system-repair='sudo nixos-rebuild switch --repair' - ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' - - alias tf="terraform" - - # Build Configs. - ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" - ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" - - alias -g A1="| awk '{print \$1}'" - alias -g Fj='| jq .' - alias -g Fy='| yq .' - alias -g G='| grep' - alias -g GH='| grep HTTP' - alias -g Gi='| grep -i' - alias -g H2='| head -n 20' - alias -g H='| head' - alias -g L='| less' - alias -g V='| vim -' - alias -g X='| xargs -I1' - - setopt auto_cd - setopt auto_pushd - setopt pushd_ignore_dups - setopt pushdminus - ''; - - zplug = { - enable = true; - - plugins = [ - { - name = "themes/robbyrussell"; - tags = [ "from:oh-my-zsh" "as:theme" ]; - } - { - name = "plugin/git"; - tags = [ "from:oh-my-zsh" ]; - } - { - name = "plugin/vi-mode"; - tags = [ "from:oh-my-zsh" ]; - } - { name = "mollifier/cd-gitroot"; } - { name = "zsh-users/zsh-autosuggestions"; } - { name = "zsh-users/zsh-completions"; } - { name = "zsh-users/zsh-syntax-highlighting"; } - ]; - }; - }; - - programs.tmux = { - enable = true; - terminal = "tmux-256color"; - - extraConfig = '' - unbind C-b - - set -g prefix C-s - bind C-s send-prefix - - bind-key -n C-h select-pane -L - bind-key -n C-j select-pane -D - bind-key -n C-k select-pane -U - bind-key -n C-l select-pane -R - - set-option -g status-keys "emacs" - set-option -ga terminal-overrides ",*256col*:alacritty" - - bind-key h split-window -v -c "#{pane_current_path}" - bind-key v split-window -h -c "#{pane_current_path}" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - # Status line customisation - set-option -g status-left-length 100 - set-option -g status-right-length 100 - set-option -g status-left " #{session_name} " - set-option -g status-right "#{pane_title} " - set-option -g status-style "fg=#7C7D83 bg=#242631" - set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " - set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " - set-option -g window-status-current-style "fg=#E9E9EA" - set-option -g window-status-activity-style none - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" - - bind-key C-j choose-tree - - # Use vim keybindings in copy mode - setw -g mode-keys vi - - # Setup 'v' to begin selection as in Vim - bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - - # Smart pane switching with awareness of Vim splits. - # See: https://github.com/christoomey/vim-tmux-navigator - is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" - - bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' - bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' - bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' - bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' - - bind-key -T copy-mode-vi 'C-h' select-pane -L - bind-key -T copy-mode-vi 'C-j' select-pane -D - bind-key -T copy-mode-vi 'C-k' select-pane -U - bind-key -T copy-mode-vi 'C-l' select-pane -R - bind-key -T copy-mode-vi 'C-\' select-pane -l - - bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.git" - bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk.git" - - set -g @resurrect-strategy-nvim 'session' - ''; - - plugins = with pkgs; [ - tmuxPlugins.resurrect - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.yank - ]; - }; - - programs.neovim = { - enable = true; - - plugins = with pkgs; [ - customVim.tabline-vim - customVim.vim-caser - customVim.vim-heritage - customVim.vim-textobj-xmlattr - customVim.vim-zoom - pkgsUnstable.vimPlugins.vim-astro - vimPlugins.vim-visual-star-search - - { - plugin = customVim.toggle-checkbox-nvim; - type = "lua"; - config = '' - vim.keymap.set("n", "t", ":lua require('toggle-checkbox').toggle()") - ''; - } - - pkgsUnstable.vimPlugins.refactoring-nvim - vimPlugins.comment-nvim - vimPlugins.dial-nvim - vimPlugins.gitsigns-nvim - vimPlugins.harpoon - vimPlugins.impatient-nvim - vimPlugins.nvim-web-devicons - vimPlugins.rest-nvim - vimPlugins.undotree - vimPlugins.vim-easy-align - vimPlugins.vim-eunuch - vimPlugins.vim-highlightedyank - vimPlugins.vim-nix - vimPlugins.vim-obsession - vimPlugins.vim-pasta - vimPlugins.vim-polyglot - vimPlugins.vim-projectionist - vimPlugins.vim-repeat - vimPlugins.vim-sleuth - vimPlugins.vim-surround - vimPlugins.vim-terraform - vimPlugins.vim-textobj-user - vimPlugins.vim-tmux-navigator - vimPlugins.vim-unimpaired - - vimPlugins.lualine-nvim - vimPlugins.lualine-lsp-progress - - { - plugin = vimPlugins.vim-sort-motion; - type = "lua"; - config = '' - vim.g.sort_motion_flags = "ui" - ''; - } - { - plugin = vimPlugins.treesj; - type = "lua"; - config = '' - require "treesj".setup {} - ''; - } - # Testing. - { - plugin = vimPlugins.neoterm; - type = "lua"; - config = '' - vim.g.neoterm_autoscroll = 1 - vim.g.neoterm_default_mod = "vertical" - vim.g.neoterm_term_per_tab = 1 - ''; - } - vimPlugins.vim-test - - # Git - vimPlugins.vim-fugitive - vimPlugins.vim-rhubarb - - # Debugging - vimPlugins.nvim-dap - vimPlugins.nvim-dap-ui - vimPlugins.nvim-dap-virtual-text - - # Treesitter - vimPlugins.nvim-treesitter.withAllGrammars - vimPlugins.nvim-treesitter-context - vimPlugins.nvim-treesitter-textobjects - - # LSP, linting and formatting - pkgsUnstable.vimPlugins.conform-nvim - pkgsUnstable.vimPlugins.none-ls-nvim - vimPlugins.lsp-status-nvim - vimPlugins.nvim-lspconfig - - # Completion - vimPlugins.cmp-buffer - vimPlugins.cmp-cmdline - vimPlugins.cmp-nvim-lsp - vimPlugins.cmp-nvim-lsp-signature-help - vimPlugins.cmp-path - vimPlugins.cmp-tabnine - vimPlugins.cmp-treesitter - vimPlugins.cmp-vsnip - vimPlugins.cmp_luasnip - vimPlugins.lspkind-nvim - vimPlugins.nvim-cmp - vimPlugins.phpactor - - # Snippets - vimPlugins.friendly-snippets - vimPlugins.luasnip - - # Telescope - vimPlugins.plenary-nvim - vimPlugins.popup-nvim - vimPlugins.telescope-file-browser-nvim - vimPlugins.telescope-frecency-nvim - vimPlugins.telescope-fzf-native-nvim - vimPlugins.telescope-live-grep-args-nvim - vimPlugins.telescope-nvim - vimPlugins.telescope-ui-select-nvim - - # Databases - vimPlugins.vim-dadbod - vimPlugins.vim-dadbod-ui - vimPlugins.vim-dadbod-completion - - # Themes - vimPlugins.catppuccin-nvim - - inputs.self.packages.${pkgs.system}.opdavies-nvim - ]; - - extraLuaConfig = '' - if vim.loader then - vim.loader.enable() - end - - require "opdavies" - ''; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - php81 - - # Language servers - ansible-language-server - gopls - lua-language-server - nodePackages.intelephense - nodePackages."@astrojs/language-server" - nodePackages."@tailwindcss/language-server" - nodePackages.bash-language-server - nodePackages.dockerfile-language-server-nodejs - nodePackages.typescript-language-server - nodePackages.vls - nodePackages.volar - nodePackages.vscode-langservers-extracted - nodePackages.vue-language-server - nodePackages.yaml-language-server - phpactor - pkgsUnstable.nixd - rnix-lsp - terraform-ls - - # Formatters - black - rstfmt - stylua - - # Tools - html-tidy - nodePackages.markdownlint-cli - proselint - shellcheck - ]; - }; programs.nnn.enable = true; - programs.starship = { - enable = true; - enableZshIntegration = true; - settings = { - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - - git_commit = { - tag_symbol = " tag "; - }; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - aws = { symbol = "aws "; }; - azure = { symbol = "az "; }; - bun = { symbol = "bun "; }; - c = { symbol = "C "; }; - cobol = { symbol = "cobol "; }; - conda = { symbol = "conda "; }; - crystal = { symbol = "cr "; }; - cmake = { symbol = "cmake "; }; - daml = { symbol = "daml "; }; - dart = { symbol = "dart "; }; - deno = { symbol = "deno "; }; - dotnet = { symbol = ".NET "; }; - directory = { read_only = " ro"; }; - docker_context = { symbol = "docker "; }; - elixir = { symbol = "exs "; }; - elm = { symbol = "elm "; }; - fennel = { symbol = "fnl "; }; - fossil_branch = { symbol = "fossil "; }; - gcloud = { symbol = "gcp "; }; - git_branch = { symbol = "git "; }; - golang = { symbol = "go "; }; - gradle = { symbol = "gradle "; }; - guix_shell = { symbol = "guix "; }; - hg_branch = { symbol = "hg "; }; - java = { symbol = "java "; }; - julia = { symbol = "jl "; }; - kotlin = { symbol = "kt "; }; - lua = { symbol = "lua "; }; - nodejs = { symbol = "nodejs "; }; - memory_usage = { symbol = "memory "; }; - meson = { symbol = "meson "; }; - nim = { symbol = "nim "; }; - nix_shell = { symbol = "nix "; }; - ocaml = { symbol = "ml "; }; - opa = { symbol = "opa "; }; - os = { - symbols = { - Alpaquita = "alq "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Unknown = "unk "; - Windows = "win "; - }; - }; - - package.disabled = true; - - perl = { symbol = "pl "; }; - php = { symbol = "php "; }; - pijul_channel = { symbol = "pijul "; }; - pulumi = { symbol = "pulumi "; }; - purescript = { symbol = "purs "; }; - python = { symbol = "py "; }; - raku = { symbol = "raku "; }; - ruby = { symbol = "rb "; }; - rust = { symbol = "rs "; }; - scala = { symbol = "scala "; }; - spack = { symbol = "spack "; }; - solidity = { symbol = "solidity "; }; - status = { symbol = "[x](bold red) "; }; - sudo = { symbol = "sudo "; }; - swift = { symbol = "swift "; }; - terraform = { symbol = "terraform "; }; - zig = { symbol = "zig "; }; - }; - }; - programs.direnv = { enable = true; enableZshIntegration = true; diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix new file mode 100644 index 00000000..638896e7 --- /dev/null +++ b/system/shared/modules/git.nix @@ -0,0 +1,120 @@ +{ + home.file.".gitmessage".text = '' + type(scope): description + + # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test + # + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, add an ! after the type/scope, uncomment the following + # line and describe the change: + # + # BREAKING CHANGE: + # + # + # Add any issue IDs or commit SHAs that this commit references: + # + # Refs: + + ''; + + home.file.".gitignore-global".text = '' + .direnv/ + .issue-id + .phpactor.json + ''; + + programs.git = { + enable = true; + userName = "Oliver Davies"; + userEmail = "oliver@oliverdavies.uk"; + + aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = + "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = + "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = + "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = + "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + staged = "diff --staged"; + unassume = "update-index --no-assume-unchanged"; + unstage = "reset"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + worktrees = "worktree list"; + }; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + }; + checkout.defaultRemote = "origin"; + color.ui = true; + commit = { template = "~/.gitmessage"; }; + core = { + editor = "nvim"; + excludesFile = "~/.gitignore-global"; + pager = "delta"; + }; + delta.line-numbers = true; + diff.tool = "vimdiff"; + fetch.prune = true; + grep.lineNumber = true; + help.autocorrect = "1"; + init.defaultBranch = "main"; + merge.ff = "only"; + push = { + autoSetupRemote = true; + default = "upstream"; + }; + pull = { + ff = "only"; + rebase = true; + }; + rebase = { + autosquash = true; + autostash = true; + }; + }; + }; +} diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix new file mode 100644 index 00000000..5dd8d815 --- /dev/null +++ b/system/shared/modules/neovim.nix @@ -0,0 +1,247 @@ +{ inputs, pkgs, self, ... }: + +let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; + + customVim = with self; { + toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { + name = "toggle-checkbox-nvim"; + src = pkgs.fetchFromGitHub { + owner = "opdavies"; + repo = "toggle-checkbox.nvim"; + rev = "main"; + sha256 = "1h9IGyMa80HWrtiPjruG4cYBqgTafNirW0Hwl/JO70A="; + }; + }; + + vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-zoom = pkgs.vimUtils.buildVimPlugin { + name = "vim-zoom"; + src = pkgs.fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; + }; + }; +in +{ + programs.neovim = { + enable = true; + + plugins = with pkgs; [ + customVim.tabline-vim + customVim.vim-caser + customVim.vim-heritage + customVim.vim-textobj-xmlattr + customVim.vim-zoom + pkgsUnstable.vimPlugins.vim-astro + vimPlugins.vim-visual-star-search + + { + plugin = customVim.toggle-checkbox-nvim; + type = "lua"; + config = '' + vim.keymap.set("n", "t", ":lua require('toggle-checkbox').toggle()") + ''; + } + + pkgsUnstable.vimPlugins.refactoring-nvim + vimPlugins.comment-nvim + vimPlugins.dial-nvim + vimPlugins.gitsigns-nvim + vimPlugins.harpoon + vimPlugins.impatient-nvim + vimPlugins.nvim-web-devicons + vimPlugins.rest-nvim + vimPlugins.undotree + vimPlugins.vim-easy-align + vimPlugins.vim-eunuch + vimPlugins.vim-highlightedyank + vimPlugins.vim-nix + vimPlugins.vim-obsession + vimPlugins.vim-pasta + vimPlugins.vim-polyglot + vimPlugins.vim-projectionist + vimPlugins.vim-repeat + vimPlugins.vim-sleuth + vimPlugins.vim-surround + vimPlugins.vim-terraform + vimPlugins.vim-textobj-user + vimPlugins.vim-tmux-navigator + vimPlugins.vim-unimpaired + + vimPlugins.lualine-nvim + vimPlugins.lualine-lsp-progress + + { + plugin = vimPlugins.vim-sort-motion; + type = "lua"; + config = '' + vim.g.sort_motion_flags = "ui" + ''; + } + { + plugin = vimPlugins.treesj; + type = "lua"; + config = '' + require "treesj".setup {} + ''; + } + # Testing. + { + plugin = vimPlugins.neoterm; + type = "lua"; + config = '' + vim.g.neoterm_autoscroll = 1 + vim.g.neoterm_default_mod = "vertical" + vim.g.neoterm_term_per_tab = 1 + ''; + } + vimPlugins.vim-test + + # Git + vimPlugins.vim-fugitive + vimPlugins.vim-rhubarb + + # Debugging + vimPlugins.nvim-dap + vimPlugins.nvim-dap-ui + vimPlugins.nvim-dap-virtual-text + + # Treesitter + vimPlugins.nvim-treesitter.withAllGrammars + vimPlugins.nvim-treesitter-context + vimPlugins.nvim-treesitter-textobjects + + # LSP, linting and formatting + pkgsUnstable.vimPlugins.conform-nvim + pkgsUnstable.vimPlugins.none-ls-nvim + vimPlugins.lsp-status-nvim + vimPlugins.nvim-lspconfig + + # Completion + vimPlugins.cmp-buffer + vimPlugins.cmp-cmdline + vimPlugins.cmp-nvim-lsp + vimPlugins.cmp-nvim-lsp-signature-help + vimPlugins.cmp-path + vimPlugins.cmp-tabnine + vimPlugins.cmp-treesitter + vimPlugins.cmp-vsnip + vimPlugins.cmp_luasnip + vimPlugins.lspkind-nvim + vimPlugins.nvim-cmp + vimPlugins.phpactor + + # Snippets + vimPlugins.friendly-snippets + vimPlugins.luasnip + + # Telescope + vimPlugins.plenary-nvim + vimPlugins.popup-nvim + vimPlugins.telescope-file-browser-nvim + vimPlugins.telescope-frecency-nvim + vimPlugins.telescope-fzf-native-nvim + vimPlugins.telescope-live-grep-args-nvim + vimPlugins.telescope-nvim + vimPlugins.telescope-ui-select-nvim + + # Databases + vimPlugins.vim-dadbod + vimPlugins.vim-dadbod-ui + vimPlugins.vim-dadbod-completion + + # Themes + vimPlugins.catppuccin-nvim + + inputs.self.packages.${pkgs.system}.opdavies-nvim + ]; + + extraLuaConfig = '' + if vim.loader then + vim.loader.enable() + end + + require "opdavies" + ''; + + extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + php81 + + # Language servers + ansible-language-server + gopls + lua-language-server + nodePackages.intelephense + nodePackages."@astrojs/language-server" + nodePackages."@tailwindcss/language-server" + nodePackages.bash-language-server + nodePackages.dockerfile-language-server-nodejs + nodePackages.typescript-language-server + nodePackages.vls + nodePackages.volar + nodePackages.vscode-langservers-extracted + nodePackages.vue-language-server + nodePackages.yaml-language-server + phpactor + pkgsUnstable.nixd + rnix-lsp + terraform-ls + + # Formatters + black + rstfmt + stylua + + # Tools + html-tidy + nodePackages.markdownlint-cli + proselint + shellcheck + ]; + }; +} diff --git a/system/shared/modules/starship.nix b/system/shared/modules/starship.nix new file mode 100644 index 00000000..ba7d181f --- /dev/null +++ b/system/shared/modules/starship.nix @@ -0,0 +1,126 @@ +{ + programs.starship = { + enable = true; + enableZshIntegration = true; + + settings = { + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + + git_commit = { + tag_symbol = " tag "; + }; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + aws = { symbol = "aws "; }; + azure = { symbol = "az "; }; + bun = { symbol = "bun "; }; + c = { symbol = "C "; }; + cobol = { symbol = "cobol "; }; + conda = { symbol = "conda "; }; + crystal = { symbol = "cr "; }; + cmake = { symbol = "cmake "; }; + daml = { symbol = "daml "; }; + dart = { symbol = "dart "; }; + deno = { symbol = "deno "; }; + dotnet = { symbol = ".NET "; }; + directory = { read_only = " ro"; }; + docker_context = { symbol = "docker "; }; + elixir = { symbol = "exs "; }; + elm = { symbol = "elm "; }; + fennel = { symbol = "fnl "; }; + fossil_branch = { symbol = "fossil "; }; + gcloud = { symbol = "gcp "; }; + git_branch = { symbol = "git "; }; + golang = { symbol = "go "; }; + gradle = { symbol = "gradle "; }; + guix_shell = { symbol = "guix "; }; + hg_branch = { symbol = "hg "; }; + java = { symbol = "java "; }; + julia = { symbol = "jl "; }; + kotlin = { symbol = "kt "; }; + lua = { symbol = "lua "; }; + nodejs = { symbol = "nodejs "; }; + memory_usage = { symbol = "memory "; }; + meson = { symbol = "meson "; }; + nim = { symbol = "nim "; }; + nix_shell = { symbol = "nix "; }; + ocaml = { symbol = "ml "; }; + opa = { symbol = "opa "; }; + os = { + symbols = { + Alpaquita = "alq "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Unknown = "unk "; + Windows = "win "; + }; + }; + + package.disabled = true; + + perl = { symbol = "pl "; }; + php = { symbol = "php "; }; + pijul_channel = { symbol = "pijul "; }; + pulumi = { symbol = "pulumi "; }; + purescript = { symbol = "purs "; }; + python = { symbol = "py "; }; + raku = { symbol = "raku "; }; + ruby = { symbol = "rb "; }; + rust = { symbol = "rs "; }; + scala = { symbol = "scala "; }; + spack = { symbol = "spack "; }; + solidity = { symbol = "solidity "; }; + status = { symbol = "[x](bold red) "; }; + sudo = { symbol = "sudo "; }; + swift = { symbol = "swift "; }; + terraform = { symbol = "terraform "; }; + zig = { symbol = "zig "; }; + }; + }; + +} diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix new file mode 100644 index 00000000..dd0cfddd --- /dev/null +++ b/system/shared/modules/tmux.nix @@ -0,0 +1,107 @@ +{ pkgs, ... }: + +{ + programs.tmux = { + enable = true; + terminal = "tmux-256color"; + + extraConfig = '' + unbind C-b + + set -g prefix C-s + bind C-s send-prefix + + bind-key -n C-h select-pane -L + bind-key -n C-j select-pane -D + bind-key -n C-k select-pane -U + bind-key -n C-l select-pane -R + + set-option -g status-keys "emacs" + set-option -ga terminal-overrides ",*256col*:alacritty" + + bind-key h split-window -v -c "#{pane_current_path}" + bind-key v split-window -h -c "#{pane_current_path}" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + # Status line customisation + set-option -g status-left-length 100 + set-option -g status-right-length 100 + set-option -g status-left " #{session_name} " + set-option -g status-right "#{pane_title} " + set-option -g status-style "fg=#7C7D83 bg=#242631" + set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-style "fg=#E9E9EA" + set-option -g window-status-activity-style none + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" + + bind-key C-j choose-tree + + # Use vim keybindings in copy mode + setw -g mode-keys vi + + # Setup 'v' to begin selection as in Vim + bind-key -T copy-mode-vi 'v' send -X begin-selection + bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + + # Smart pane switching with awareness of Vim splits. + # See: https://github.com/christoomey/vim-tmux-navigator + is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" + + bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' + bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' + bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' + bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' + + bind-key -T copy-mode-vi 'C-h' select-pane -L + bind-key -T copy-mode-vi 'C-j' select-pane -D + bind-key -T copy-mode-vi 'C-k' select-pane -U + bind-key -T copy-mode-vi 'C-l' select-pane -R + bind-key -T copy-mode-vi 'C-\' select-pane -l + + bind-key -r F new-window t + bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.git" + bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk.git" + + set -g @resurrect-strategy-nvim 'session' + ''; + + plugins = with pkgs; [ + tmuxPlugins.resurrect + tmuxPlugins.vim-tmux-navigator + tmuxPlugins.yank + ]; + }; +} diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix new file mode 100644 index 00000000..ffa8734a --- /dev/null +++ b/system/shared/modules/zsh.nix @@ -0,0 +1,205 @@ +{ + programs.zsh = { + enable = true; + enableCompletion = false; + dotDir = ".config/zsh"; + + initExtra = '' + # Plugins + source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" + source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" + + # Case insensitive autocompletion. + zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" + autoload -Uz compinit && compinit + + bindkey -s ^f "t\n" + + clear-ls-all() { + clear + exa -al + } + zle -N clear-ls-all + + clear-git-status() { + clear + git status -sb . + } + zle -N clear-git-status + + clear-tree-2() { + clear + tree -L 2 + } + zle -N clear-tree-2 + + clear-tree-3() { + clear + tree -L 3 + } + zle -N clear-tree-3 + + bindkey '^G' clear-git-status + # bindkey '^H' clear-tree-3 + # bindkey '^J' clear-tree-2 + # bindkey '^K' clear-ls-all + + # auto-completes aliases + # enables to define + # - normal aliases (completed with trailing space) + # - blank aliases (completed without space) + # - ignored aliases (not completed) + + # ignored aliases + typeset -a ialiases + ialiases=() + + ialias() { + alias $@ + args="$@" + args=''${args%%\=*} + ialiases+=(''${args##* }) + } + + # blank aliases + typeset -a baliases + baliases=() + + balias() { + alias $@ + args="$@" + args=''${args%%\=*} + baliases+=(''${args##* }) + } + + expand-alias-space() { + [[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$? + if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then + zle _expand_alias + fi + + zle self-insert + + if [[ "$insertBlank" = "0" ]]; then + zle backward-delete-char + fi + } + + zle -N expand-alias-space + + bindkey " " expand-alias-space + bindkey -M isearch " " magic-space + + alias dea='direnv allow' + alias dee='direnv edit' + + ialias cs="create-script" + ialias daily="run create-daily next" + ialias fetch="git fetch --all --jobs=4 --progress --prune" + ialias ls="exa -la" + ialias nah="git reset --hard; git clean -fd" + ialias pull="git pull --autostash --jobs=4 --summary origin" + ialias rebase="git rebase --autostash --stat" + ialias run="./run" + ialias s="secrets" + ialias secrets="doppler --project \"$(whoami)\" run" + ialias switch="run nixos nixedo switch" + ialias sz="source ~/.config/zsh/.zshrc" + ialias tag="tag-release" + ialias uncommit="git reset --soft HEAD^"; + ialias update="fetch && rebase" + ialias wip="git add . && git commit -m 'wip'"; + ialias wt="git worktree" + + # tmux + alias ta="tmux attach" + alias tl="tmux list-sessions" + alias tk="tmux kill-session" + + # Docker and Docker Compose. + alias dk="docker" + alias dkp="docker ps" + alias dkpa="docker ps -a" + alias dkpaq="docker ps -a -q" + alias dkb="docker build -t" + alias dks="docker start" + alias dkt="docker stop" + alias dkrm="docker rm" + alias dkri="docker rmi" + alias dke="docker exec -ti" + alias dkl="docker logs -f" + alias dki="docker images" + alias dkpu="docker pull" + alias dkph="docker push" + alias dkbnc="docker build --no-cache -t" + alias dkr="docker run --rm" + alias dkrti="docker run --rm -ti" + alias dkc="docker compose" + alias dkcb="docker compose build" + alias dkcu="docker compose up" + alias dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" + + # Nix and NixOS. + alias nx="nix" + alias nxb="nix build" + alias nxd="nix develop" + alias nxf="nix flake" + alias nxs="nix shell" + ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' + ialias full-system-repair='nix-store --verify --check-contents --repair' + ialias full-system-upgrade="sudo nixos-rebuild switch --upgrade && nix-env -u '*'" + ialias list-system-configurations='\ls -l /nix/var/nix/profiles/system-*-link' + ialias local-upgrade="nix-channel --update nixpkgs && nix-env -u '*'" + ialias set-default-boot='/run/current-system/bin/switch-to-configuration boot' + ialias system-rebuild='sudo nixos-rebuild switch' + ialias system-repair='sudo nixos-rebuild switch --repair' + ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' + + alias tf="terraform" + + # Build Configs. + ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" + ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" + + alias -g A1="| awk '{print \$1}'" + alias -g Fj='| jq .' + alias -g Fy='| yq .' + alias -g G='| grep' + alias -g GH='| grep HTTP' + alias -g Gi='| grep -i' + alias -g H2='| head -n 20' + alias -g H='| head' + alias -g L='| less' + alias -g V='| vim -' + alias -g X='| xargs -I1' + + setopt auto_cd + setopt auto_pushd + setopt pushd_ignore_dups + setopt pushdminus + ''; + + zplug = { + enable = true; + + plugins = [ + { + name = "themes/robbyrussell"; + tags = [ "from:oh-my-zsh" "as:theme" ]; + } + { + name = "plugin/git"; + tags = [ "from:oh-my-zsh" ]; + } + { + name = "plugin/vi-mode"; + tags = [ "from:oh-my-zsh" ]; + } + { name = "mollifier/cd-gitroot"; } + { name = "zsh-users/zsh-autosuggestions"; } + { name = "zsh-users/zsh-completions"; } + { name = "zsh-users/zsh-syntax-highlighting"; } + ]; + }; + }; +} From 8cc6c51e15632b6f3c423f0143be7efc845e853b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Nov 2023 00:04:12 +0000 Subject: [PATCH 0470/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 485f7314..da29ec8f 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698942558, - "narHash": "sha256-/UmnB+mEd6Eg3mJBrAgqRcyZX//RSjHphcCO7Ig9Bpk=", + "lastModified": 1699169573, + "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "621f51253edffa1d6f08d5fce4f08614c852d17e", + "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698924604, - "narHash": "sha256-GCFbkl2tj8fEZBZCw3Tc0AkGo0v+YrQlohhEGJ/X4s0=", + "lastModified": 1699099776, + "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fa804edfb7869c9fb230e174182a8a1a7e512c40", + "rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", "type": "github" }, "original": { From 2968f5396deb1c873e2f172dc4a8250d466377d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Nov 2023 00:07:24 +0000 Subject: [PATCH 0471/2258] feat(nixos): configure garbage collection and ...optimisation --- system/nixos/configuration.nix | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index e3010854..2c9264dd 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -199,16 +199,20 @@ in zramSwap.enable = true; - nix.settings = { - warn-dirty = false; - auto-optimise-store = true; - experimental-features = [ "nix-command" "flakes" ]; - }; + nix = { + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; + optimise.automatic = true; + + settings = { + auto-optimise-store = true; + experimental-features = [ "nix-command" "flakes" ]; + warn-dirty = false; + }; }; # Make Caps lock work as an Escape key on press and Ctrl on hold. From ec23fb1431c6efd37050830528e9b56849416447 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Nov 2023 06:39:10 +0000 Subject: [PATCH 0472/2258] refactor(nixos): extract Home Manager modules --- system/nixos/default.nix | 2 +- .../default.nix} | 8 +- system/nixos/home-manager/desktop.nix | 13 ++ .../nixos/home-manager/modules/alacritty.nix | 28 +++ .../modules/sway.nix} | 160 +++++++----------- 5 files changed, 110 insertions(+), 101 deletions(-) rename system/nixos/{home-manager.nix => home-manager/default.nix} (73%) create mode 100644 system/nixos/home-manager/desktop.nix create mode 100644 system/nixos/home-manager/modules/alacritty.nix rename system/nixos/{home-manager-desktop.nix => home-manager/modules/sway.nix} (88%) diff --git a/system/nixos/default.nix b/system/nixos/default.nix index 394ab8f0..a7790070 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -14,7 +14,7 @@ inputs.nixpkgs.lib.nixosSystem { extraSpecialArgs = { inherit inputs desktop self username; }; useGlobalPkgs = true; useUserPackages = true; - users."${username}" = import ./home-manager.nix; + users."${username}" = import ./home-manager; }; } diff --git a/system/nixos/home-manager.nix b/system/nixos/home-manager/default.nix similarity index 73% rename from system/nixos/home-manager.nix rename to system/nixos/home-manager/default.nix index 3d75629d..b334ec2e 100644 --- a/system/nixos/home-manager.nix +++ b/system/nixos/home-manager/default.nix @@ -1,9 +1,9 @@ -{ inputs, config, desktop, pkgs, self, username, ... }: +{ config, desktop, inputs, pkgs, self, username, ... }: let - desktop-config = import ./home-manager-desktop.nix { inherit config inputs pkgs; }; - shared-config = import ../shared/home-manager.nix { inherit inputs pkgs self username; }; - shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; + desktop-config = import ./desktop.nix { inherit config inputs pkgs; }; + shared-config = import ../../shared/home-manager.nix { inherit inputs pkgs self username; }; + shared-packages = import ../../shared/home-manager-packages.nix { inherit inputs pkgs; }; in { imports = if desktop then [ desktop-config shared-config ] else [ shared-config ]; diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix new file mode 100644 index 00000000..633b1d61 --- /dev/null +++ b/system/nixos/home-manager/desktop.nix @@ -0,0 +1,13 @@ +{ config, inputs, pkgs }: + +{ + imports = [ + ./modules/alacritty.nix + ./modules/sway.nix + ]; + + xdg.configFile.wallpaper = { + source = ../../../config/wallpaper; + recursive = true; + }; +} diff --git a/system/nixos/home-manager/modules/alacritty.nix b/system/nixos/home-manager/modules/alacritty.nix new file mode 100644 index 00000000..784431f5 --- /dev/null +++ b/system/nixos/home-manager/modules/alacritty.nix @@ -0,0 +1,28 @@ +{ + programs.alacritty = { + enable = true; + + settings = { + window.opacity = 0.9; + + window.padding = { + x = 15; + y = 15; + }; + + font = { + size = 16.0; + + bold.style = "Regular"; + bolditalic.style = "Regular"; + italic.style = "Regular"; + normal.family = "AnonymicePro Nerd Font Mono"; + + offset.y = 12; + glyph_offset.y = 6; + }; + + shell = { program = "zsh"; }; + }; + }; +} diff --git a/system/nixos/home-manager-desktop.nix b/system/nixos/home-manager/modules/sway.nix similarity index 88% rename from system/nixos/home-manager-desktop.nix rename to system/nixos/home-manager/modules/sway.nix index c089defc..19909ef2 100644 --- a/system/nixos/home-manager-desktop.nix +++ b/system/nixos/home-manager/modules/sway.nix @@ -1,4 +1,4 @@ -{ config, inputs, pkgs }: +{ config, inputs, pkgs, ... }: { services.swayidle = { @@ -34,6 +34,66 @@ }; }; + programs.i3status-rust = { + enable = true; + + bars = { + default = { + blocks = [ + { + block = "net"; + format = " $ip "; + } + { + block = "battery"; + format = " $icon $percentage $time "; + } + { + block = "cpu"; + } + { + block = "memory"; + format = " $icon $mem_total_used_percents.eng(w:2) "; + format_alt = " $icon_swap $swap_used_percents.eng(w:2) "; + } + { + block = "disk_space"; + path = "/"; + info_type = "available"; + alert_unit = "GB"; + interval = 20; + warning = 20.0; + alert = 10.0; + format = " $icon $available.eng(w:2) "; + } + { + block = "time"; + interval = 1; + format = " $timestamp.datetime(f:'%F %T') "; + } + ]; + + settings = { + theme = { + theme = "plain"; + overrides = { + critical_bg = "#222222"; + good_bg = "#222222"; + good_fg = "#ffffff"; + idle_bg = "#222222"; + idle_fg = "#ffffff"; + info_bg = "#222222"; + info_fg = "#ffffff"; + separator_bg = "#222222"; + warning_bg = "#222222"; + warning_fg = "#ffffff"; + }; + }; + }; + }; + }; + }; + wayland.windowManager.sway = { enable = true; @@ -55,7 +115,7 @@ fonts = { names = [ "JetBrainsMono Nerd Font Mono" ]; - size = 16.0; + size = 12.0; }; statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; @@ -64,9 +124,9 @@ ]; gaps = { - inner = 10; + inner = 0; smartBorders = "on"; - smartGaps = true; + # smartGaps = true; }; input = { @@ -134,96 +194,4 @@ for_window [app_id="zoom" title="Zoom - Free Account"] floating disable ''; }; - - programs.i3status-rust = { - enable = true; - - bars = { - default = { - blocks = [ - { - block = "net"; - format = " $ip "; - } - { - block = "battery"; - format = " $icon $percentage $time "; - } - { - block = "cpu"; - } - { - block = "memory"; - format = " $icon $mem_total_used_percents.eng(w:2) "; - format_alt = " $icon_swap $swap_used_percents.eng(w:2) "; - } - { - block = "disk_space"; - path = "/"; - info_type = "available"; - alert_unit = "GB"; - interval = 20; - warning = 20.0; - alert = 10.0; - format = " $icon $available.eng(w:2) "; - } - { - block = "time"; - interval = 1; - format = " $timestamp.datetime(f:'%F %T') "; - } - ]; - - settings = { - theme = { - theme = "plain"; - overrides = { - critical_bg = "#222222"; - good_bg = "#222222"; - good_fg = "#ffffff"; - idle_bg = "#222222"; - idle_fg = "#ffffff"; - info_bg = "#222222"; - info_fg = "#ffffff"; - separator_bg = "#222222"; - warning_bg = "#222222"; - warning_fg = "#ffffff"; - }; - }; - }; - }; - }; - }; - - xdg.configFile.wallpaper = { - source = ../../config/wallpaper; - recursive = true; - }; - - programs.alacritty = { - enable = true; - - settings = { - window.opacity = 0.9; - - window.padding = { - x = 15; - y = 15; - }; - - font = { - size = 16.0; - - bold.style = "Regular"; - bolditalic.style = "Regular"; - italic.style = "Regular"; - normal.family = "IntoneMono Nerd Font Mono"; - - offset.y = 12; - glyph_offset.y = 6; - }; - - shell = { program = "zsh"; }; - }; - }; } From 5449d8c021bad17dc7f3e1bb4c1e51e8b1466fe6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Nov 2023 07:53:58 +0000 Subject: [PATCH 0473/2258] chore(nvim): configure lualine --- config/neovim/after/plugin/lualine.lua | 6 ------ system/shared/modules/neovim.nix | 1 - 2 files changed, 7 deletions(-) diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua index 6fb446b7..7c0d4192 100644 --- a/config/neovim/after/plugin/lualine.lua +++ b/config/neovim/after/plugin/lualine.lua @@ -6,10 +6,4 @@ require("lualine").setup { section_separators = { left = "", right = "" }, theme = "catppuccin", }, - - sections = { - lualine_c = { - "lsp_progress", - }, - }, } diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 5dd8d815..82c789ca 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -112,7 +112,6 @@ in vimPlugins.vim-unimpaired vimPlugins.lualine-nvim - vimPlugins.lualine-lsp-progress { plugin = vimPlugins.vim-sort-motion; From c01ac9422abc0d6370ec0320b89cb705d12874d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Nov 2023 09:10:40 +0000 Subject: [PATCH 0474/2258] build: ignore Nix files and directories --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fdbd8e40 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Nix. +/.direnv/ +/result From 4b1cf2a0cef26fce4a8fd185d3ce2080da6c5add Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 Nov 2023 09:27:07 +0000 Subject: [PATCH 0475/2258] fix(wsl): add extra experimental features --- run | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/run b/run index 9af32ee1..9385c9ba 100755 --- a/run +++ b/run @@ -37,7 +37,11 @@ function wsl2 { local command="${1}" - NIXPKGS_ALLOW_UNFREE=1 home-manager "${command}" --flake ".#wsl2" --impure + NIXPKGS_ALLOW_UNFREE=1 home-manager "${command}" \ + --extra-experimental-features flakes \ + --extra-experimental-features nix-command \ + --flake ".#wsl2" \ + --impure } TIMEFORMAT=$'\nTask completed in %3lR' From 6c93891bd0b5cd374a7c5033b52905036f76a40d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 Nov 2023 12:55:20 +0000 Subject: [PATCH 0476/2258] fix(flake): attribute 'inputs' missing --- system/shared/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index f841db4d..6394e35b 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -9,8 +9,8 @@ programs.home-manager.enable = true; imports = [ + (import ./modules/neovim.nix { inherit inputs pkgs self; }) ./modules/git.nix - ./modules/neovim.nix ./modules/starship.nix ./modules/tmux.nix ./modules/zsh.nix From 3af2f96b8957bc4b54a7735ec6b9dba9bc4a5712 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 Nov 2023 07:23:33 +0000 Subject: [PATCH 0477/2258] chore(nvim): update treesitter configuration --- config/neovim/after/plugin/treesitter.lua | 117 +++++++++++++++++++--- 1 file changed, 103 insertions(+), 14 deletions(-) diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua index ed619689..59007af9 100644 --- a/config/neovim/after/plugin/treesitter.lua +++ b/config/neovim/after/plugin/treesitter.lua @@ -1,48 +1,137 @@ -local has_configs, configs = pcall(require, "nvim-treesitter.configs") -if not has_configs then - return -end +local configs = require "nvim-treesitter.configs" +local context = require "treesitter-context" +local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" + +local map = require("opdavies.keymap").map +local nmap = require("opdavies.keymap").nmap configs.setup { autotag = { enable = true, }, + context_commenting = { enable = true, }, + highlight = { enable = true, }, + indent = { disable = { "yaml" }, enable = true, }, + matchup = { enable = true, }, + textobjects = { select = { enable = true, lookahead = true, keymaps = { - ["af"] = "@function.outer", - ["if"] = "@function.inner", - ["ac"] = "@class.outer", - ["ic"] = "@class.inner", + ["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" }, + ["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" }, + ["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" }, + ["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" }, + + ["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" }, + ["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" }, + ["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" }, + ["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" }, + + ["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" }, + ["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" }, + + ["ac"] = { query = "@class.outer", desc = "Select outer part of a class" }, + ["ic"] = { query = "@class.inner", desc = "Select inner part of a class" }, + + ["af"] = { query = "@call.outer", desc = "Select outer part of a function call" }, + ["if"] = { query = "@call.inner", desc = "Select inner part of a function call" }, + + ["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" }, + ["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" }, + + ["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" }, + ["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" }, + + ["am"] = { query = "@function.outer", desc = "Select outer part of a method/function definition" }, + ["im"] = { query = "@function.inner", desc = "Select inner part of a method/function definition" }, }, }, }, + + swap = { + enable = true, + + swap_next = { + ["na"] = "@parameter.inner", -- swap parameters/argument with next + ["n:"] = "@property.outer", -- swap object property with next + ["nm"] = "@function.outer", -- swap function with next + }, + + swap_previous = { + ["pa"] = "@parameter.inner", -- swap parameters/argument with prev + ["p:"] = "@property.outer", -- swap object property with prev + ["pm"] = "@function.outer", -- swap function with previous + }, + }, + + move = { + enable = true, + set_jumps = true, -- whether to set jumps in the jumplist + + goto_next_start = { + ["]f"] = { query = "@call.outer", desc = "Next function call start" }, + ["]m"] = { query = "@function.outer", desc = "Next method/function def start" }, + ["]c"] = { query = "@class.outer", desc = "Next class start" }, + ["]i"] = { query = "@conditional.outer", desc = "Next conditional start" }, + ["]l"] = { query = "@loop.outer", desc = "Next loop start" }, + + ["]s"] = { query = "@scope", query_group = "locals", desc = "Next scope" }, + ["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" }, + }, + + goto_next_end = { + ["]F"] = { query = "@call.outer", desc = "Next function call end" }, + ["]M"] = { query = "@function.outer", desc = "Next method/function def end" }, + ["]C"] = { query = "@class.outer", desc = "Next class end" }, + ["]I"] = { query = "@conditional.outer", desc = "Next conditional end" }, + ["]L"] = { query = "@loop.outer", desc = "Next loop end" }, + }, + + goto_previous_start = { + ["[f"] = { query = "@call.outer", desc = "Prev function call start" }, + ["[m"] = { query = "@function.outer", desc = "Prev method/function def start" }, + ["[c"] = { query = "@class.outer", desc = "Prev class start" }, + ["[i"] = { query = "@conditional.outer", desc = "Prev conditional start" }, + ["[l"] = { query = "@loop.outer", desc = "Prev loop start" }, + }, + + goto_previous_end = { + ["[F"] = { query = "@call.outer", desc = "Prev function call end" }, + ["[M"] = { query = "@function.outer", desc = "Prev method/function def end" }, + ["[C"] = { query = "@class.outer", desc = "Prev class end" }, + ["[I"] = { query = "@conditional.outer", desc = "Prev conditional end" }, + ["[L"] = { query = "@loop.outer", desc = "Prev loop end" }, + }, + }, } -local nmap = require("opdavies.keymap").nmap - nmap { "th", "TSHighlightCapturesUnderCursor" } nmap { "tp", "TSPlaygroundToggle" } -local has_context, context = pcall(require, "treesitter-context") -if not has_context then - return -end +-- vim way: ; goes to the direction you were moving. +map {{ "n", "o", "x" }, ";", ts_repeat_move.repeat_last_move} +map {{ "n", "o", "x" }, ",", ts_repeat_move.repeat_last_move_opposite} + +-- Optionally, make builtin f, F, t, T also repeatable with ; and , +map {{ "n", "o", "x" }, "f", ts_repeat_move.builtin_f} +map {{ "n", "o", "x" }, "F", ts_repeat_move.builtin_F} +map {{ "n", "o", "x" }, "t", ts_repeat_move.builtin_t} +map {{ "n", "o", "x" }, "T", ts_repeat_move.builtin_T} context.setup { enable = true } From ddd32822b142ac95650e38e5f615d4e874898c1f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 14 Nov 2023 20:14:53 +0000 Subject: [PATCH 0478/2258] feat(scripts): add git-bare-clone --- bin/git-bare-clone | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 bin/git-bare-clone diff --git a/bin/git-bare-clone b/bin/git-bare-clone new file mode 100755 index 00000000..4db9eaba --- /dev/null +++ b/bin/git-bare-clone @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# Creates a new bare clone of a repository with the bare files within a `.bare` +# directory. It also sets the origin URL so push and pull work as expected. + +if [[ "$1" == "" ]]; then + echo "Usage: ${0##*/} []" + exit 2 +fi + +set -euo pipefail + +repository_url="${1}" +directory="${2:-}" +location=".bare" + +# If no destination directory is specified, get it from the repository URL - the same as "git clone". +if [ -z "${directory}" ]; then + directory="$(basename -s .git "${repository_url}")" +fi + +# Create the parent directory if needed. +mkdir -pv "${directory}" +cd "${directory}" + +git clone --bare "${repository_url}" "${location}" + +# Adjust origin fetch locations. +cd "${location}" +git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" + +# Set .git file contents. +cd .. +echo "gitdir: ./${location}" > .git From eb622e5e45b9a96fcf0eada3ec25edafef36a3a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 14 Nov 2023 20:23:10 +0000 Subject: [PATCH 0479/2258] fix(tmux): update repo paths --- system/shared/modules/tmux.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index dd0cfddd..7bdd449d 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -92,8 +92,8 @@ bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.git" - bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk.git" + bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" + bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk" set -g @resurrect-strategy-nvim 'session' ''; From d68d1aa6790a023cd8b91afb9943d5b24cb02b64 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 14 Nov 2023 20:20:07 +0000 Subject: [PATCH 0480/2258] refactor: switch from sway to i3 --- system/nixos/configuration.nix | 31 ++-- system/nixos/home-manager/default.nix | 3 - system/nixos/home-manager/desktop.nix | 2 +- system/nixos/home-manager/modules/i3.nix | 69 ++++++++ system/nixos/home-manager/modules/sway.nix | 197 --------------------- 5 files changed, 82 insertions(+), 220 deletions(-) create mode 100644 system/nixos/home-manager/modules/i3.nix delete mode 100644 system/nixos/home-manager/modules/sway.nix diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 2c9264dd..069fa05c 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -68,14 +68,21 @@ in # Enable the X11 windowing system. services.xserver.enable = true; - # Enable the KDE Plasma Desktop Environment. - services.xserver.displayManager.defaultSession = "sway"; - services.xserver.displayManager.sddm.enable = true; - - # Configure keymap in X11 services.xserver = { + # Configure keymap in X11. layout = "gb"; xkbVariant = ""; + + displayManager = { + defaultSession = "none+i3"; + sddm.enable = true; + }; + + windowManager.i3 = { + enable = true; + package = pkgs.i3-gaps; + extraPackages = with pkgs; [ i3status i3lock i3blocks ]; + }; }; # Configure console keymap @@ -123,25 +130,11 @@ in configure-gtk ffmpegthumbnailer shotwell - swaybg xfce.thunar xfce.thunar-volman xfce.tumbler - wl-clipboard ]; - xdg.portal = { - enable = true; - wlr.enable = true; - # gtk portal needed to make gtk apps happy - extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; - }; - - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - }; - # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index b334ec2e..805f6fce 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -19,9 +19,6 @@ in pkgs.via pkgs.vial pkgs.vlc - pkgs.wl-mirror - pkgs.wob - pkgs.wofi pkgs.xcape pkgs.zoom-us ]; diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index 633b1d61..7fa35816 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -3,7 +3,7 @@ { imports = [ ./modules/alacritty.nix - ./modules/sway.nix + ./modules/i3.nix ]; xdg.configFile.wallpaper = { diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix new file mode 100644 index 00000000..fa6c5b60 --- /dev/null +++ b/system/nixos/home-manager/modules/i3.nix @@ -0,0 +1,69 @@ +{ config, inputs, self, ... }: + +let + modifier = "Mod4"; +in +{ + home.file.".background-image".source = ../../../../config/wallpaper/wallpaper.jpg; + + services.autorandr.enable = true; + + programs.autorandr = { + enable = true; + + profiles = { + default = { + # config = { + # "eDP-1" = { + # dpi = 96; + # enable = true; + # mode = "1920x1080"; + # primary = true; + # rate = "60"; + # }; + # }; + }; + }; + }; + + xsession.windowManager.i3 = { + enable = true; + + config = { + assigns = { + "1" = [{ class = "firefox"; }]; + "2" = [{ class = "Alacritty"; }]; + "3" = [{ class = "vlc"; }]; + "9" = [ + { class = "Slack"; } + { class = "discord"; } + ]; + }; + + modifier = modifier; + + keybindings = inputs.nixpkgs.lib.mkOptionDefault { + "${modifier}+Shift+b" = "exec firefox"; + # "${modifier}+tab" = "workspace back_and_forth"; + }; + + terminal = "alacritty"; + + window = { + border = 0; + hideEdgeBorders = "none"; + }; + }; + + extraConfig = '' + set $laptop eDP-1 + bindswitch --reload --locked lid:on output $laptop disable + bindswitch --reload --locked lid:off output $laptop enable + + default_border none + default_floating_border none + smart_borders on + smart_gaps on + ''; + }; +} diff --git a/system/nixos/home-manager/modules/sway.nix b/system/nixos/home-manager/modules/sway.nix deleted file mode 100644 index 19909ef2..00000000 --- a/system/nixos/home-manager/modules/sway.nix +++ /dev/null @@ -1,197 +0,0 @@ -{ config, inputs, pkgs, ... }: - -{ - services.swayidle = { - enable = true; - - events = [ - { - event = "before-sleep"; - command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; - } - ]; - }; - - services.swayidle.timeouts = [ - { - timeout = 300; - command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; - } - - { - timeout = 600; - command = "swaymsg 'output * dpms off'"; - resumeCommand = "swaymsg 'output * dpms on'"; - } - ]; - - programs.swaylock = { - enable = true; - - settings = { - daemonize = true; - image = "~/.config/wallpaper/wallpaper.jpg"; - }; - }; - - programs.i3status-rust = { - enable = true; - - bars = { - default = { - blocks = [ - { - block = "net"; - format = " $ip "; - } - { - block = "battery"; - format = " $icon $percentage $time "; - } - { - block = "cpu"; - } - { - block = "memory"; - format = " $icon $mem_total_used_percents.eng(w:2) "; - format_alt = " $icon_swap $swap_used_percents.eng(w:2) "; - } - { - block = "disk_space"; - path = "/"; - info_type = "available"; - alert_unit = "GB"; - interval = 20; - warning = 20.0; - alert = 10.0; - format = " $icon $available.eng(w:2) "; - } - { - block = "time"; - interval = 1; - format = " $timestamp.datetime(f:'%F %T') "; - } - ]; - - settings = { - theme = { - theme = "plain"; - overrides = { - critical_bg = "#222222"; - good_bg = "#222222"; - good_fg = "#ffffff"; - idle_bg = "#222222"; - idle_fg = "#ffffff"; - info_bg = "#222222"; - info_fg = "#ffffff"; - separator_bg = "#222222"; - warning_bg = "#222222"; - warning_fg = "#ffffff"; - }; - }; - }; - }; - }; - }; - - wayland.windowManager.sway = { - enable = true; - - config = { - assigns = { - "1" = [{ app_id = "firefox"; }]; - "2" = [{ app_id = "Alacritty"; }]; - "3" = [{ class = "vlc"; }]; - "9" = [ - { class = "Slack"; } - { class = "discord"; } - ]; - # Get app_id with swaymsg -t get_tree - }; - - bars = [ - { - colors.background = "#222222"; - - fonts = { - names = [ "JetBrainsMono Nerd Font Mono" ]; - size = 12.0; - }; - - statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; - trayPadding = 10; - } - ]; - - gaps = { - inner = 0; - smartBorders = "on"; - # smartGaps = true; - }; - - input = { - "*" = { - xkb_layout = "gb"; - }; - - "type:touchpad" = { - dwt = "enabled"; - tap = "enabled"; - }; - }; - - keybindings = - let modifier = config.wayland.windowManager.sway.config.modifier; - in inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+Escape" = "exec swaylock --daemonize"; - "${modifier}+Shift+b" = "exec firefox"; - "${modifier}+tab" = "workspace back_and_forth"; - }; - - menu = "wofi --show run"; - modifier = "Mod4"; - - output = { - "*" = { - bg = "~/.config/wallpaper/wallpaper.jpg fill"; - }; - - eDP-1 = { - scale = "1.0"; - }; - }; - - terminal = "alacritty"; - - window.border = 3; - }; - - extraConfig = '' - set $laptop eDP-1 - bindswitch --reload --locked lid:on output $laptop disable - bindswitch --reload --locked lid:off output $laptop enable - - set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock - exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob - - bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $WOBSOCK - bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $WOBSOCK - bindsym XF86AudioMute exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0 > $WOBSOCK ) || pamixer --get-volume > $WOBSOCK - - bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK - bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK - - exec alacritty - exec firefox - - for_window [class="vlc"] inhibit_idle fullscreen - - for_window [app_id="zoom"] floating enable - for_window [app_id="zoom" title="Choose ONE of the audio conference options"] floating enable - for_window [app_id="firefox" title="Firefox — Sharing Indicator"] floating enable - for_window [app_id="zoom" title="zoom"] floating enable - for_window [app_id="zoom" title="Zoom Meeting"] floating disable - for_window [app_id="zoom" title="Zoom - Free Account"] floating disable - ''; - }; -} From 00593ad29db81bd1eba9f244aff563c44e86f846 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 14 Nov 2023 21:25:48 +0000 Subject: [PATCH 0481/2258] feat(home-manager): add kdenlive and OBS Studio --- system/nixos/home-manager/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 805f6fce..394af5b2 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -10,7 +10,9 @@ in home.packages = shared-packages ++ pkgs.lib.optionals desktop [ pkgs.discord + pkgs.kdenlive pkgs.meslo-lg + pkgs.obs-studio pkgs.okular pkgs.pamixer pkgs.pass From 8f06a5075618fb57622df4f3c7ce1e12c7c6a3bf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 15 Nov 2023 08:52:44 +0000 Subject: [PATCH 0482/2258] chore(flake): update lockfile --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index da29ec8f..9c7c223c 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1695108154, - "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", + "lastModified": 1699748081, + "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", "owner": "nix-community", "repo": "home-manager", - "rev": "07682fff75d41f18327a871088d20af2710d4744", + "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699169573, - "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=", + "lastModified": 1699596684, + "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b", + "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1699099776, - "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", + "lastModified": 1699781429, + "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", + "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", "type": "github" }, "original": { From f44231d595ba709a0493a4d11f7f20ff7daebac4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 15 Nov 2023 12:51:18 +0000 Subject: [PATCH 0483/2258] chore(tmux): update status line --- system/shared/modules/tmux.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index 7bdd449d..2f5813b1 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -33,15 +33,14 @@ bind -n C-Up resize-pane -U 5 # Status line customisation - set-option -g status-left-length 100 + set-option -g status-left " " + set-option -g status-right " #{session_name} " set-option -g status-right-length 100 - set-option -g status-left " #{session_name} " - set-option -g status-right "#{pane_title} " set-option -g status-style "fg=#7C7D83 bg=#242631" - set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-activity-style none set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " set-option -g window-status-current-style "fg=#E9E9EA" - set-option -g window-status-activity-style none + set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " bind c new-window -c "#{pane_current_path}" From 6d12f5c2d59e608557e1183f588dc307112ca27a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 15 Nov 2023 20:55:19 +0000 Subject: [PATCH 0484/2258] feat(git): globally ignore a `.ignored` directory --- system/shared/modules/git.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index 638896e7..e2f81664 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -23,9 +23,10 @@ ''; home.file.".gitignore-global".text = '' - .direnv/ - .issue-id - .phpactor.json + /.direnv/ + /.ignored/ + /.issue-id + /.phpactor.json ''; programs.git = { From 2124965f8674cf1d327803767396bd1bdbfbc518 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 15 Nov 2023 21:00:42 +0000 Subject: [PATCH 0485/2258] chore(git): move global gitignore to `.config` --- system/shared/modules/git.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index e2f81664..ad32f290 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -22,7 +22,7 @@ ''; - home.file.".gitignore-global".text = '' + xdg.configFile."git/ignore".text = '' /.direnv/ /.ignored/ /.issue-id @@ -94,7 +94,7 @@ commit = { template = "~/.gitmessage"; }; core = { editor = "nvim"; - excludesFile = "~/.gitignore-global"; + excludesFile = "~/.config/git/ignore"; pager = "delta"; }; delta.line-numbers = true; From f3ae0007132a4326d57049c8234a8ca33e9c501a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 16 Nov 2023 19:11:50 +0000 Subject: [PATCH 0486/2258] feat(i3): re-add workspace switching --- system/nixos/home-manager/modules/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index fa6c5b60..7f702a36 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -44,7 +44,7 @@ in keybindings = inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+Shift+b" = "exec firefox"; - # "${modifier}+tab" = "workspace back_and_forth"; + "${modifier}+Tab" = "workspace back_and_forth"; }; terminal = "alacritty"; From eeae7c00eff6580e2cfb1e8abc25850d03ccb97e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 19 Nov 2023 08:41:14 +0000 Subject: [PATCH 0487/2258] chore(nixos): switch to lightdm --- system/nixos/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 069fa05c..85fb4597 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -75,7 +75,7 @@ in displayManager = { defaultSession = "none+i3"; - sddm.enable = true; + lightdm.enable = true; }; windowManager.i3 = { From c5ab97079a745c32514ef4482e9e93bd8bd83efb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Nov 2023 07:53:29 +0000 Subject: [PATCH 0488/2258] fix(scripts): make monitor ID configurable --- bin/switch-to-laptop-screen | 4 +++- bin/switch-to-monitor | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/switch-to-laptop-screen b/bin/switch-to-laptop-screen index 7de579f6..b19a1318 100755 --- a/bin/switch-to-laptop-screen +++ b/bin/switch-to-laptop-screen @@ -2,6 +2,8 @@ set -ueo pipefail +MONITOR_ID="${MONITOR_ID:-HDMI-1}" + xrandr \ --output eDP-1 --mode 1920x1200 \ - --output DP-3 --off + --output "${MONITOR_ID}" --off diff --git a/bin/switch-to-monitor b/bin/switch-to-monitor index b6784fff..dea81a6a 100755 --- a/bin/switch-to-monitor +++ b/bin/switch-to-monitor @@ -2,6 +2,8 @@ set -ueo pipefail +MONITOR_ID="${MONITOR_ID:-HDMI-1}" + xrandr \ - --output DP-3 --mode 2560x1440 \ + --output "${MONITOR_ID}" --mode 2560x1440 \ --output eDP-1 --off From a8f1873c9498bb53e51936faf7307cec06164370 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Nov 2023 08:01:03 +0000 Subject: [PATCH 0489/2258] chore(flake): update lockfile --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 9c7c223c..587d140d 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1699748081, - "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", + "lastModified": 1700392168, + "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", "owner": "nix-community", "repo": "home-manager", - "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", + "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699596684, - "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", + "lastModified": 1700403855, + "narHash": "sha256-Q0Uzjik9kUTN9pd/kp52XJi5kletBhy29ctBlAG+III=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", + "rev": "0c5678df521e1407884205fe3ce3cf1d7df297db", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1699781429, - "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", + "lastModified": 1700390070, + "narHash": "sha256-de9KYi8rSJpqvBfNwscWdalIJXPo8NjdIZcEJum1mH0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", + "rev": "e4ad989506ec7d71f7302cc3067abd82730a4beb", "type": "github" }, "original": { From e05aadef340b3a243e6f40c8e5b9378c82dcce86 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Nov 2023 08:01:37 +0000 Subject: [PATCH 0490/2258] chore(nvim): update Harpoon mappings --- config/neovim/after/plugin/harpoon.lua | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua index 883bdf38..6f69b916 100644 --- a/config/neovim/after/plugin/harpoon.lua +++ b/config/neovim/after/plugin/harpoon.lua @@ -1,23 +1,18 @@ -local status_ok, harpoon = pcall(require, "harpoon") -if not status_ok then - return -end +require("harpoon").setup {} local nmap = require("opdavies.keymap").nmap -harpoon.setup {} +local mark = require "harpoon.mark" +local ui = require "harpoon.ui" -nmap { "", require("harpoon.ui").toggle_quick_menu } -nmap { "", require("harpoon.mark").add_file } +nmap { "", ui.toggle_quick_menu } +nmap { "a", mark.add_file } -nmap { "hl", require("harpoon.ui").toggle_quick_menu } -nmap { "hm", require("harpoon.mark").add_file } - -for i = 1, 5 do +for key, letter in ipairs { "h", "j", "k", "l" } do nmap { - string.format("%s", i), + string.format("", letter), function() - require("harpoon.ui").nav_file(i) + ui.nav_file(key) end, } end From 249f05860fa1c19b809c1724c64776630d2ecf88 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Nov 2023 16:16:40 +0000 Subject: [PATCH 0491/2258] feat(neovim): configure markdownlint Prevent diagnostic messages for duplicate sibling headings and line length. --- config/neovim/lua/opdavies/lsp/none-ls.lua | 2 +- system/shared/modules/neovim.nix | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/none-ls.lua b/config/neovim/lua/opdavies/lsp/none-ls.lua index daa3d137..706eaf68 100644 --- a/config/neovim/lua/opdavies/lsp/none-ls.lua +++ b/config/neovim/lua/opdavies/lsp/none-ls.lua @@ -29,7 +29,7 @@ null_ls.setup { end, }, diagnostics.markdownlint.with { - extra_args = { "--disable", "MD013" }, + extra_args = { "--config", "~/.markdownlint.yaml" }, }, diagnostics.php, diagnostics.phpcs.with { diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 82c789ca..5c2b2cc8 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -243,4 +243,13 @@ in shellcheck ]; }; + + home.file.".markdownlint.yaml".text = '' + default: true + + line-length: false + + no-duplicate-heading: + siblings_only: true + ''; } From ee43ad33339bc64c8873a7e46982b592bb0fd94c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Nov 2023 23:15:06 +0000 Subject: [PATCH 0492/2258] fix(scripts): make monitor mode configurable --- bin/switch-to-laptop-screen | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/switch-to-laptop-screen b/bin/switch-to-laptop-screen index b19a1318..bb91cf77 100755 --- a/bin/switch-to-laptop-screen +++ b/bin/switch-to-laptop-screen @@ -3,7 +3,8 @@ set -ueo pipefail MONITOR_ID="${MONITOR_ID:-HDMI-1}" +MONITOR_MODE="${MONITOR_MODE:-1920x1080}" xrandr \ - --output eDP-1 --mode 1920x1200 \ + --output eDP-1 --mode "${MONITOR_MODE}" \ --output "${MONITOR_ID}" --off From 024384303f34c9bf7cdf63e3ab5215ae1f5e2246 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 21 Nov 2023 23:16:17 +0000 Subject: [PATCH 0493/2258] feat(i3): more key mappings --- system/nixos/home-manager/modules/i3.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 7f702a36..7757cace 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -45,6 +45,25 @@ in keybindings = inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+Shift+b" = "exec firefox"; "${modifier}+Tab" = "workspace back_and_forth"; + + # Change focus. + "${modifier}+h" = "focus left"; + "${modifier}+j" = "focus down"; + "${modifier}+k" = "focus up"; + "${modifier}+l" = "focus right"; + + # Move focused window. + "${modifier}+Shift+h" = "move left"; + "${modifier}+Shift+j" = "move down"; + "${modifier}+Shift+k" = "move up"; + "${modifier}+Shift+l" = "move right"; + + "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; + "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; + "XF86AudioMute" = "exec pamixer --toggle-mute && ( [ \"$(pamixer --get-mute)\" = \"true\" ] && echo 0"; + + "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p'"; + "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p'"; }; terminal = "alacritty"; From ad4b86b8a3b6121b6277b34936ce25d49602bed1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 23 Nov 2023 11:54:55 +0000 Subject: [PATCH 0494/2258] revert(nvim): update Harpoon mappings This reverts commit e05aadef340b3a243e6f40c8e5b9378c82dcce86. --- config/neovim/after/plugin/harpoon.lua | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua index 6f69b916..883bdf38 100644 --- a/config/neovim/after/plugin/harpoon.lua +++ b/config/neovim/after/plugin/harpoon.lua @@ -1,18 +1,23 @@ -require("harpoon").setup {} +local status_ok, harpoon = pcall(require, "harpoon") +if not status_ok then + return +end local nmap = require("opdavies.keymap").nmap -local mark = require "harpoon.mark" -local ui = require "harpoon.ui" +harpoon.setup {} -nmap { "", ui.toggle_quick_menu } -nmap { "a", mark.add_file } +nmap { "", require("harpoon.ui").toggle_quick_menu } +nmap { "", require("harpoon.mark").add_file } -for key, letter in ipairs { "h", "j", "k", "l" } do +nmap { "hl", require("harpoon.ui").toggle_quick_menu } +nmap { "hm", require("harpoon.mark").add_file } + +for i = 1, 5 do nmap { - string.format("", letter), + string.format("%s", i), function() - ui.nav_file(key) + require("harpoon.ui").nav_file(i) end, } end From a8e77ce6cf826ebcc9ddcdf16adf6e3cf3c23a44 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 Nov 2023 17:47:24 +0000 Subject: [PATCH 0495/2258] docs: add CHANGELOG.md --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..6f86515d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com), but adapted to work with trunk-based development and continuous delivery. + +Instead of grouping changes by tag, they are grouped by the date they are released. + +## 21st November 2023 + +### Added + +* Add CHANGELOG.md. +* More i3 key mappings for navigating between and focusing windows, as well as volume and brightness control. + +### Changed + +* Updated Harpoon mappings. +* Make the monitor ID and mode configurable in `switch-to-laptop-screen` and `switch-to-monitor` scripts. + +### Fixed + +* Prevent `markdownlint` from showing errors for line lengths and duplicate non-sibling headings, making it easier to work with files, such as CHANGELOG.md, that contains the same headings multiple times. From 8f5d7e5dd73d210c2b8da08959305aade4ce703c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 Nov 2023 18:06:38 +0000 Subject: [PATCH 0496/2258] docs: update dotfiles links --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6083d1c1..2dc52495 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,14 @@ TBD. ## Inspiration -- [ALT-F4-LLC](https://github.com/ALT-F4-LLC/dotfiles-nixos) - [Chris Toomey](https://github.com/christoomey/dotfiles) +- [codico](https://github.com/codicocodes/dotfiles) - [Gabe Berke-Williams](https://github.com/gabebw/dotfiles) - [Jeff Geerling](https://github.com/geerlingguy/dotfiles) +- [Jess Archer](https://github.com/jessarcher/dotfiles) +- [kensodev](https://github.com/KensoDev/dotfiles) - [Robin Malfait](https://github.com/RobinMalfait/dotfiles) -- [TJ DeVries](https://github.com/tjdevries/config_manager) -- [TheAltF4Stream](https://github.com/ALT-F4-LLC/dotfiles) +- [TheAltF4Stream](https://github.com/ALT-F4-LLC/dotfiles-nixos) - [ThePrimeagen](https://github.com/ThePrimeagen/.dotfiles) - [Thoughtbot](https://github.com/thoughtbot/dotfiles) -- [codico](https://github.com/codicocodes/dotfiles) -- [kensodev](https://github.com/KensoDev/dotfiles) +- [TJ DeVries](https://github.com/tjdevries/config_manager) From 797dd3efa8939ff91eff707ea910e7bdcba0f428 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 Nov 2023 18:31:09 +0000 Subject: [PATCH 0497/2258] docs(README): add Dan Leech dotfiles link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2dc52495..fc843863 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ TBD. - [Chris Toomey](https://github.com/christoomey/dotfiles) - [codico](https://github.com/codicocodes/dotfiles) +- [Dan Leech](https://github.com/dantleech/dotfiles) - [Gabe Berke-Williams](https://github.com/gabebw/dotfiles) - [Jeff Geerling](https://github.com/geerlingguy/dotfiles) - [Jess Archer](https://github.com/jessarcher/dotfiles) From 18998353416da334dba9fd4ea884b9c082ca9314 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 Nov 2023 18:31:31 +0000 Subject: [PATCH 0498/2258] chore(flake): update lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 587d140d..27ca8600 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1700403855, - "narHash": "sha256-Q0Uzjik9kUTN9pd/kp52XJi5kletBhy29ctBlAG+III=", + "lastModified": 1700678569, + "narHash": "sha256-2Ki+2UvOidxEb3xB4ADqlbPQ2BZOF4uZMR094O8or2I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0c5678df521e1407884205fe3ce3cf1d7df297db", + "rev": "8f1180704ac35baded1a74164365ac7cdfba6f38", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1700390070, - "narHash": "sha256-de9KYi8rSJpqvBfNwscWdalIJXPo8NjdIZcEJum1mH0=", + "lastModified": 1700612854, + "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e4ad989506ec7d71f7302cc3067abd82730a4beb", + "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", "type": "github" }, "original": { From 55dbee27d98786bd8d1320ebae868ecdb9d70db4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Nov 2023 09:42:19 +0000 Subject: [PATCH 0499/2258] Update PHP test method snippets --- config/neovim/lua/opdavies/snippets/ft/php.lua | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua index 12835e0c..03215599 100644 --- a/config/neovim/lua/opdavies/snippets/ft/php.lua +++ b/config/neovim/lua/opdavies/snippets/ft/php.lua @@ -7,8 +7,6 @@ local i = ls.insert_node local t = ls.text_node local M = { - - func = fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) }), met = fmta( @@ -24,12 +22,21 @@ local M = { test = fmta( [[ - /** @test */ - public function <><>(): void { + public function test<>(): void { <> }<> ]], - { c(1, { t "test", t "it", t "should" }), i(2), i(3), i(0) } + { i(1), i(2), i(0) } + ), + + testa = fmta( + [[ + /** @test */ + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } ), } From 2916de33dad62a07bd3598de714cb94100dcb9b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Nov 2023 09:42:50 +0000 Subject: [PATCH 0500/2258] Update Flake lockfile --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 27ca8600..f6198870 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1700678569, - "narHash": "sha256-2Ki+2UvOidxEb3xB4ADqlbPQ2BZOF4uZMR094O8or2I=", + "lastModified": 1701053011, + "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f1180704ac35baded1a74164365ac7cdfba6f38", + "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1700612854, - "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", + "lastModified": 1701068326, + "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", "owner": "nixos", "repo": "nixpkgs", - "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", + "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", "type": "github" }, "original": { From 02d7654c03a11c2429b80f3adc326fde69367bba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Nov 2023 09:45:50 +0000 Subject: [PATCH 0501/2258] Remove autocmd for plugins.lua This is no longer needed as plugins are now managed with Nix. --- config/neovim/lua/opdavies/options.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index f6843bad..7825dc93 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -4,8 +4,6 @@ local function set_autocmd() vim.cmd [[ autocmd BufRead,BufNewFile *.test set filetype=php - autocmd BufWritePost plugins.lua luafile % - autocmd FileType gitcommit highlight ColorColumn ctermbg=8 autocmd FileType gitcommit setlocal colorcolumn=50,72 autocmd FileType gitcommit setlocal spell From 50311f41028feabc8125b3d1356fcc4432503923 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Nov 2023 09:46:39 +0000 Subject: [PATCH 0502/2258] Update Home Manager desktop packages --- system/nixos/home-manager/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 394af5b2..351e2e25 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -10,16 +10,17 @@ in home.packages = shared-packages ++ pkgs.lib.optionals desktop [ pkgs.discord + pkgs.gimp pkgs.kdenlive pkgs.meslo-lg pkgs.obs-studio pkgs.okular pkgs.pamixer pkgs.pass + pkgs.pavucontrol pkgs.pinentry pkgs.slack pkgs.via - pkgs.vial pkgs.vlc pkgs.xcape pkgs.zoom-us From c40d215db3e2bc01e3b0b8d94c8c46cd6d73f743 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Nov 2023 09:53:10 +0000 Subject: [PATCH 0503/2258] Remove space before the left status in tmux --- system/shared/modules/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index 2f5813b1..2a51f81d 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -33,7 +33,7 @@ bind -n C-Up resize-pane -U 5 # Status line customisation - set-option -g status-left " " + set-option -g status-left " " set-option -g status-right " #{session_name} " set-option -g status-right-length 100 set-option -g status-style "fg=#7C7D83 bg=#242631" From 06f660dcd6e1329f1b4ccfae1e189c97b6a026fd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 29 Nov 2023 09:57:49 +0000 Subject: [PATCH 0504/2258] Configure netrw in Neovim --- config/neovim/after/plugin/netrw.lua | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 config/neovim/after/plugin/netrw.lua diff --git a/config/neovim/after/plugin/netrw.lua b/config/neovim/after/plugin/netrw.lua new file mode 100644 index 00000000..1feb376d --- /dev/null +++ b/config/neovim/after/plugin/netrw.lua @@ -0,0 +1,6 @@ +vim.keymap.set("n", "pv", vim.cmd.Ex) + +vim.g.netrw_banner = 0 +vim.g.netrw_browse_split = 0 +vim.g.netrw_liststyle = 3 +vim.g.netrw_winsize = 20 From 80860fe6df43ae5c906b581df9f25feffa48c2cb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 1 Dec 2023 17:22:07 +0000 Subject: [PATCH 0505/2258] Upgrade nixpkgs to 23.11 --- flake.lock | 34 ++++++++++++------------- flake.nix | 4 +-- system/nixos/configuration.nix | 2 +- system/shared/home-manager-packages.nix | 2 +- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index f6198870..66dae33f 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "type": "github" }, "original": { @@ -24,32 +24,32 @@ ] }, "locked": { - "lastModified": 1700392168, - "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", + "lastModified": 1700814205, + "narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=", "owner": "nix-community", "repo": "home-manager", - "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", + "rev": "aeb2232d7a32530d3448318790534d196bf9427a", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1701053011, - "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", + "lastModified": 1701389149, + "narHash": "sha256-rU1suTIEd5DGCaAXKW6yHoCfR1mnYjOXQFOaH7M23js=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", + "rev": "5de0b32be6e85dc1a9404c75131316e4ffbc634c", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } @@ -57,11 +57,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1698611440, - "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1701068326, - "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fd96cc33..28de1ae1 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-23.05"; + home-manager.url = "github:nix-community/home-manager/release-23.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 85fb4597..b6d05302 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -176,7 +176,7 @@ in monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; - fonts = with pkgsUnstable; [ + packages = with pkgsUnstable; [ (nerdfonts.override { fonts = [ "AnonymousPro" diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 292a2add..91f5506a 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -9,7 +9,7 @@ with pkgs; [ delta dog doppler - exa + eza fd file fzf From 3c7877776ebc08c0914d9f5ac422321d24dc855e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 6 Dec 2023 13:36:29 +0000 Subject: [PATCH 0506/2258] Switch to unstable by default --- flake.lock | 35 +++++++------------------ flake.nix | 5 ++-- system/nixos/configuration.nix | 5 ++-- system/shared/home-manager-packages.nix | 6 ++--- system/shared/modules/neovim.nix | 15 +++++------ 5 files changed, 21 insertions(+), 45 deletions(-) diff --git a/flake.lock b/flake.lock index 66dae33f..8882981e 100644 --- a/flake.lock +++ b/flake.lock @@ -24,32 +24,32 @@ ] }, "locked": { - "lastModified": 1700814205, - "narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=", + "lastModified": 1701728041, + "narHash": "sha256-x0pyrI1vC8evVDxCxyO6olOyr4wlFg9+VS3C3p4xFYQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "aeb2232d7a32530d3448318790534d196bf9427a", + "rev": "ac7216918cd65f3824ba7817dea8f22e61221eaf", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "master", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1701389149, - "narHash": "sha256-rU1suTIEd5DGCaAXKW6yHoCfR1mnYjOXQFOaH7M23js=", + "lastModified": 1701436327, + "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5de0b32be6e85dc1a9404c75131316e4ffbc634c", + "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -72,28 +72,11 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1701253981, - "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs": "nixpkgs" } } }, diff --git a/flake.nix b/flake.nix index 28de1ae1..4d6442d8 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,8 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-23.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + home-manager.url = "github:nix-community/home-manager/master"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index b6d05302..23f832a0 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,8 +1,6 @@ { inputs, pkgs, system }: let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${system}"; - configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -176,7 +174,8 @@ in monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; - packages = with pkgsUnstable; [ + + packages = with pkgs; [ (nerdfonts.override { fonts = [ "AnonymousPro" diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 91f5506a..df9a02cf 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -1,7 +1,5 @@ { inputs, pkgs, ... }: -let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; -in + with pkgs; [ awscli2 bottom @@ -26,9 +24,9 @@ with pkgs; [ lua mysql neofetch - pkgsUnstable.rustywind pv ripgrep + rustywind terraform tldr tree diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 5c2b2cc8..2273dd69 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -1,8 +1,6 @@ { inputs, pkgs, self, ... }: let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; - customVim = with self; { toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { name = "toggle-checkbox-nvim"; @@ -75,7 +73,7 @@ in customVim.vim-heritage customVim.vim-textobj-xmlattr customVim.vim-zoom - pkgsUnstable.vimPlugins.vim-astro + vimPlugins.vim-astro vimPlugins.vim-visual-star-search { @@ -86,13 +84,14 @@ in ''; } - pkgsUnstable.vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim vimPlugins.harpoon vimPlugins.impatient-nvim + vimPlugins.lualine-nvim vimPlugins.nvim-web-devicons + vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.undotree vimPlugins.vim-easy-align @@ -111,8 +110,6 @@ in vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired - vimPlugins.lualine-nvim - { plugin = vimPlugins.vim-sort-motion; type = "lua"; @@ -154,8 +151,8 @@ in vimPlugins.nvim-treesitter-textobjects # LSP, linting and formatting - pkgsUnstable.vimPlugins.conform-nvim - pkgsUnstable.vimPlugins.none-ls-nvim + vimPlugins.conform-nvim + vimPlugins.none-ls-nvim vimPlugins.lsp-status-nvim vimPlugins.nvim-lspconfig @@ -215,6 +212,7 @@ in ansible-language-server gopls lua-language-server + nixd nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" @@ -227,7 +225,6 @@ in nodePackages.vue-language-server nodePackages.yaml-language-server phpactor - pkgsUnstable.nixd rnix-lsp terraform-ls From 39458cce04c2dd8509d4286588bb62cdbe2306df Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 6 Dec 2023 22:48:42 +0000 Subject: [PATCH 0507/2258] Re-add `GoToFile` command to Neovim Allow for starting Vim and automatically opening Telescope to select a file using `nvim +GoToFile`. --- config/neovim/lua/opdavies/init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua index dd2b1821..1fcdda41 100644 --- a/config/neovim/lua/opdavies/init.lua +++ b/config/neovim/lua/opdavies/init.lua @@ -8,3 +8,7 @@ require "opdavies.lsp" require "opdavies.telescope.setup" require "opdavies.telescope.mappings" + +vim.api.nvim_create_user_command("GoToFile", function() + require("opdavies.telescope").git_files() +end, {}) From 5daa6f85af0db7bd71a68bdae74c859e39a2bb92 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 7 Dec 2023 09:11:42 +0000 Subject: [PATCH 0508/2258] Use autorandr for monitor management --- bin/switch-to-laptop-screen | 10 ----- bin/switch-to-monitor | 9 ----- system/nixos/home-manager/modules/i3.nix | 50 ++++++++++++++++-------- 3 files changed, 33 insertions(+), 36 deletions(-) delete mode 100755 bin/switch-to-laptop-screen delete mode 100755 bin/switch-to-monitor diff --git a/bin/switch-to-laptop-screen b/bin/switch-to-laptop-screen deleted file mode 100755 index bb91cf77..00000000 --- a/bin/switch-to-laptop-screen +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -set -ueo pipefail - -MONITOR_ID="${MONITOR_ID:-HDMI-1}" -MONITOR_MODE="${MONITOR_MODE:-1920x1080}" - -xrandr \ - --output eDP-1 --mode "${MONITOR_MODE}" \ - --output "${MONITOR_ID}" --off diff --git a/bin/switch-to-monitor b/bin/switch-to-monitor deleted file mode 100755 index dea81a6a..00000000 --- a/bin/switch-to-monitor +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -set -ueo pipefail - -MONITOR_ID="${MONITOR_ID:-HDMI-1}" - -xrandr \ - --output "${MONITOR_ID}" --mode 2560x1440 \ - --output eDP-1 --off diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 7757cace..a9ab3862 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -3,27 +3,43 @@ let modifier = "Mod4"; in -{ - home.file.".background-image".source = ../../../../config/wallpaper/wallpaper.jpg; + { + home.file.".background-image".source = ../../../../config/wallpaper/wallpaper.jpg; - services.autorandr.enable = true; + services.autorandr.enable = true; - programs.autorandr = { - enable = true; + programs.autorandr = { + enable = true; - profiles = { - default = { - # config = { - # "eDP-1" = { - # dpi = 96; - # enable = true; - # mode = "1920x1080"; - # primary = true; - # rate = "60"; - # }; - # }; + profiles = { + laptop = { + config.eDP-1 = { + enable = true; + mode = "1920x1080"; + primary = true; + rate = "59.95"; + }; + + config.HDMI-1.enable = false; + + fingerprint.HDMI-1 = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + fingerprint.eDP-1 = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + }; + + desktop = { + config.eDP-1.enable = false; + + config.HDMI-1 = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; + + fingerprint.HDMI-1 = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + fingerprint.eDP-1 = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + }; }; - }; }; xsession.windowManager.i3 = { From 012289949b274f18cd9203787dc4068846b32e1d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 7 Dec 2023 16:15:18 +0000 Subject: [PATCH 0509/2258] Update flake.lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8882981e..7097db1d 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1701728041, - "narHash": "sha256-x0pyrI1vC8evVDxCxyO6olOyr4wlFg9+VS3C3p4xFYQ=", + "lastModified": 1702203126, + "narHash": "sha256-4BhN2Vji19MzRC7SUfPZGmtZ2WZydQeUk/ogfRBIZMs=", "owner": "nix-community", "repo": "home-manager", - "rev": "ac7216918cd65f3824ba7817dea8f22e61221eaf", + "rev": "defbb9c5857e157703e8fc7cf3c2ceb01cb95883", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1701436327, - "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", + "lastModified": 1702151865, + "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", + "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", "type": "github" }, "original": { From bad8b22a3bb935d46edd1b633bf8b4207eb0bdec Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 11 Dec 2023 17:45:36 +0000 Subject: [PATCH 0510/2258] Upgrade to Harpoon 2 --- config/neovim/after/plugin/harpoon.lua | 27 ++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua index 883bdf38..4705cf3a 100644 --- a/config/neovim/after/plugin/harpoon.lua +++ b/config/neovim/after/plugin/harpoon.lua @@ -1,23 +1,26 @@ -local status_ok, harpoon = pcall(require, "harpoon") -if not status_ok then - return -end - +local harpoon = require "harpoon" local nmap = require("opdavies.keymap").nmap -harpoon.setup {} +harpoon:setup() -nmap { "", require("harpoon.ui").toggle_quick_menu } -nmap { "", require("harpoon.mark").add_file } - -nmap { "hl", require("harpoon.ui").toggle_quick_menu } -nmap { "hm", require("harpoon.mark").add_file } +nmap { + "hl", + function() + harpoon.ui:toggle_quick_menu(harpoon:list()) + end, +} +nmap { + "hm", + function() + harpoon:list():append() + end, +} for i = 1, 5 do nmap { string.format("%s", i), function() - require("harpoon.ui").nav_file(i) + harpoon:list():select(i) end, } end From 54fdbd71d9e77b03b3b2322b16f6ed51f3d4a8ea Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 8 Dec 2023 07:18:00 +0000 Subject: [PATCH 0511/2258] Use zoxide to provide paths to fzf --- bin/t | 12 +----------- system/shared/home-manager.nix | 5 +++++ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/bin/t b/bin/t index 5ba112c7..efdbd6f3 100755 --- a/bin/t +++ b/bin/t @@ -1,19 +1,9 @@ #!/usr/bin/env bash -# Quickly navigate between different directories using fzf and tmux sessions -# (Thanks, ThePrimeagen!). -# -# https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/bin/tmux-sessionizer -# https://frontendmasters.com/workshops/dev-productivity - if [[ $# -eq 1 ]]; then selected=$1 else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find ~/Code -mindepth 3 -maxdepth 3 -type d ! -name .git) - - selected=$(echo "${items}" | sort | fzf --reverse) + selected=$(zoxide query -l | grep -v /tmp | grep -v "^${HOME}/\." | grep -v "^${HOME}/Code$" | grep -v "/main$" | fzf --reverse) fi if [[ -z $selected ]]; then diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6394e35b..6a1cbe04 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -31,6 +31,11 @@ nix-direnv.enable = true; }; + programs.zoxide = { + enable = true; + enableZshIntegration = true; + }; + home.sessionPath = [ "$HOME/.config/bin" ]; xdg.configFile."ripgrep/config".text = '' From b40e25dea05bfb01fd6dbb0e09a2509238ea4d2e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Dec 2023 20:08:43 +0000 Subject: [PATCH 0512/2258] Revert "Switch to unstable by default" This reverts commit 3c7877776ebc08c0914d9f5ac422321d24dc855e. Slack was broken when using the unstable version of nixpkgs. --- flake.lock | 35 ++++++++++++++++++------- flake.nix | 5 ++-- system/nixos/configuration.nix | 5 ++-- system/shared/home-manager-packages.nix | 6 +++-- system/shared/modules/neovim.nix | 17 +++++++----- 5 files changed, 46 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 7097db1d..9ce97d68 100644 --- a/flake.lock +++ b/flake.lock @@ -24,32 +24,32 @@ ] }, "locked": { - "lastModified": 1702203126, - "narHash": "sha256-4BhN2Vji19MzRC7SUfPZGmtZ2WZydQeUk/ogfRBIZMs=", + "lastModified": 1702195709, + "narHash": "sha256-+zRjWkm5rKqQ57PuLZ3JF3xi3vPMiOJzItb1m/43Cq4=", "owner": "nix-community", "repo": "home-manager", - "rev": "defbb9c5857e157703e8fc7cf3c2ceb01cb95883", + "rev": "6761b8188b860f374b457eddfdb05c82eef9752f", "type": "github" }, "original": { "owner": "nix-community", - "ref": "master", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1702151865, - "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "lastModified": 1702233072, + "narHash": "sha256-H5G2wgbim2Ku6G6w+NSaQaauv6B6DlPhY9fMvArKqRo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "rev": "781e2a9797ecf0f146e81425c822dca69fe4a348", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } @@ -72,11 +72,28 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1702151865, + "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" } } }, diff --git a/flake.nix b/flake.nix index 4d6442d8..28de1ae1 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager.url = "github:nix-community/home-manager/release-23.11"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 23f832a0..b6d05302 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,6 +1,8 @@ { inputs, pkgs, system }: let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${system}"; + configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -174,8 +176,7 @@ in monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; - - packages = with pkgs; [ + packages = with pkgsUnstable; [ (nerdfonts.override { fonts = [ "AnonymousPro" diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index df9a02cf..91f5506a 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -1,5 +1,7 @@ { inputs, pkgs, ... }: - +let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; +in with pkgs; [ awscli2 bottom @@ -24,9 +26,9 @@ with pkgs; [ lua mysql neofetch + pkgsUnstable.rustywind pv ripgrep - rustywind terraform tldr tree diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 2273dd69..890c3f0c 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -1,6 +1,8 @@ { inputs, pkgs, self, ... }: let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; + customVim = with self; { toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { name = "toggle-checkbox-nvim"; @@ -73,7 +75,7 @@ in customVim.vim-heritage customVim.vim-textobj-xmlattr customVim.vim-zoom - vimPlugins.vim-astro + pkgsUnstable.vimPlugins.vim-astro vimPlugins.vim-visual-star-search { @@ -84,14 +86,13 @@ in ''; } + pkgsUnstable.vimPlugins.harpoon + pkgsUnstable.vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim - vimPlugins.harpoon vimPlugins.impatient-nvim - vimPlugins.lualine-nvim vimPlugins.nvim-web-devicons - vimPlugins.refactoring-nvim vimPlugins.rest-nvim vimPlugins.undotree vimPlugins.vim-easy-align @@ -110,6 +111,8 @@ in vimPlugins.vim-tmux-navigator vimPlugins.vim-unimpaired + vimPlugins.lualine-nvim + { plugin = vimPlugins.vim-sort-motion; type = "lua"; @@ -151,8 +154,8 @@ in vimPlugins.nvim-treesitter-textobjects # LSP, linting and formatting - vimPlugins.conform-nvim - vimPlugins.none-ls-nvim + pkgsUnstable.vimPlugins.conform-nvim + pkgsUnstable.vimPlugins.none-ls-nvim vimPlugins.lsp-status-nvim vimPlugins.nvim-lspconfig @@ -212,7 +215,6 @@ in ansible-language-server gopls lua-language-server - nixd nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" @@ -225,6 +227,7 @@ in nodePackages.vue-language-server nodePackages.yaml-language-server phpactor + pkgsUnstable.nixd rnix-lsp terraform-ls From 4259ab09857e09038f483787c151a459df3925e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Dec 2023 20:22:06 +0000 Subject: [PATCH 0513/2258] Add keymaps to easily run macros --- config/neovim/lua/opdavies/init.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua index 1fcdda41..527f4ce5 100644 --- a/config/neovim/lua/opdavies/init.lua +++ b/config/neovim/lua/opdavies/init.lua @@ -12,3 +12,9 @@ require "opdavies.telescope.mappings" vim.api.nvim_create_user_command("GoToFile", function() require("opdavies.telescope").git_files() end, {}) + +local map = require("opdavies.keymap").map + +-- Quicker macro playback. +map { "n", "Q", "@qj" } +map { "x", "Q", ":norm @q" } From 9ec1f48792cf01aed2ff871b03369f936172df6c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Dec 2023 20:29:00 +0000 Subject: [PATCH 0514/2258] Move autorandr configuration to its own module --- system/nixos/home-manager/desktop.nix | 1 + .../nixos/home-manager/modules/autorandr.nix | 36 +++++++++++++++++ system/nixos/home-manager/modules/i3.nix | 40 +------------------ 3 files changed, 39 insertions(+), 38 deletions(-) create mode 100644 system/nixos/home-manager/modules/autorandr.nix diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index 7fa35816..aa25dc5a 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -3,6 +3,7 @@ { imports = [ ./modules/alacritty.nix + ./modules/autorandr.nix ./modules/i3.nix ]; diff --git a/system/nixos/home-manager/modules/autorandr.nix b/system/nixos/home-manager/modules/autorandr.nix new file mode 100644 index 00000000..799cbb0d --- /dev/null +++ b/system/nixos/home-manager/modules/autorandr.nix @@ -0,0 +1,36 @@ +{ + services.autorandr.enable = true; + + programs.autorandr = { + enable = true; + + profiles = + let + laptop = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + monitor = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + in + { + laptop = { + config.eDP-1 = { + enable = true; + mode = "1920x1080"; + primary = true; + rate = "59.95"; + }; + + fingerprint.eDP-1 = laptop; + }; + + desktop = { + config.HDMI-1 = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; + + fingerprint.HDMI-1 = monitor; + }; + }; + }; +} diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index a9ab3862..865c5c38 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -3,44 +3,8 @@ let modifier = "Mod4"; in - { - home.file.".background-image".source = ../../../../config/wallpaper/wallpaper.jpg; - - services.autorandr.enable = true; - - programs.autorandr = { - enable = true; - - profiles = { - laptop = { - config.eDP-1 = { - enable = true; - mode = "1920x1080"; - primary = true; - rate = "59.95"; - }; - - config.HDMI-1.enable = false; - - fingerprint.HDMI-1 = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - fingerprint.eDP-1 = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - }; - - desktop = { - config.eDP-1.enable = false; - - config.HDMI-1 = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; - }; - - fingerprint.HDMI-1 = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - fingerprint.eDP-1 = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - }; - }; - }; +{ + home.file.".background-image".source = ../../../../config/wallpaper/wallpaper.jpg; xsession.windowManager.i3 = { enable = true; From bdfeb83cb0593279fe97aceced3ec3b86688ebec Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Dec 2023 20:29:37 +0000 Subject: [PATCH 0515/2258] Update default workspaces for Alacritty and VLC --- system/nixos/home-manager/modules/i3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 865c5c38..67bcd162 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -12,8 +12,8 @@ in config = { assigns = { "1" = [{ class = "firefox"; }]; - "2" = [{ class = "Alacritty"; }]; - "3" = [{ class = "vlc"; }]; + "3" = [{ class = "Alacritty"; }]; + "4" = [{ class = "vlc"; }]; "9" = [ { class = "Slack"; } { class = "discord"; } From 0e070b55bd149c307b0e988f355af65a26858b77 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Dec 2023 22:00:00 +0000 Subject: [PATCH 0516/2258] Add xsel for copying to the system clipboard --- system/nixos/home-manager/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 351e2e25..f9087dfd 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -22,6 +22,7 @@ in pkgs.slack pkgs.via pkgs.vlc + pkgs.xsel pkgs.xcape pkgs.zoom-us ]; From 580e7c794066efe4871eb4bd036289892f956c95 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Dec 2023 22:00:00 +0000 Subject: [PATCH 0517/2258] Remove `terraform` Remove `terraform` from the global Home Manager packages as this is now added into per-project Flakes instead. --- system/shared/home-manager-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 91f5506a..1d4295d6 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -29,7 +29,6 @@ with pkgs; [ pkgsUnstable.rustywind pv ripgrep - terraform tldr tree tree-sitter From 6df789852e4597c1dfdac33f41caf669945a66a7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 13 Dec 2023 06:32:21 +0000 Subject: [PATCH 0518/2258] Change tmux pane border style colours --- system/shared/modules/tmux.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index 2a51f81d..8369a699 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -74,6 +74,9 @@ # Remove delay when switching Vim modes. set -sg escape-time 0 + set-option -g pane-active-border-style "fg=#1f2335" + set-option -g pane-border-style "fg=#1f2335" + # Smart pane switching with awareness of Vim splits. # See: https://github.com/christoomey/vim-tmux-navigator is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ From 933a6b288e841e9ff1e4a232b8975d62bb227337 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 13 Dec 2023 09:00:00 +0000 Subject: [PATCH 0519/2258] Remove just --- system/shared/home-manager-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 1d4295d6..fc8a9cf0 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -22,7 +22,6 @@ with pkgs; [ htop inotify-tools jq - just lua mysql neofetch From 22aa32f852c4804ffc55e9214dbe5ef905296755 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 13 Dec 2023 09:00:00 +0000 Subject: [PATCH 0520/2258] Add openssl --- system/shared/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index fc8a9cf0..ea926289 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -25,6 +25,7 @@ with pkgs; [ lua mysql neofetch + openssl pkgsUnstable.rustywind pv ripgrep From 74cf7c2a99b9c4318d30808f5cab6d119f19c605 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Dec 2023 23:59:56 +0000 Subject: [PATCH 0521/2258] Add espanso --- CHANGELOG.md | 6 ++++ system/nixos/home-manager/desktop.nix | 1 + system/nixos/home-manager/modules/espanso.nix | 33 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 system/nixos/home-manager/modules/espanso.nix diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f86515d..86f79a8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 12th December 2023 + +## Added + +* Add [espanso](https://espanso.org) as a text expander. + ## 21st November 2023 ### Added diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index aa25dc5a..91bfeb10 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -4,6 +4,7 @@ imports = [ ./modules/alacritty.nix ./modules/autorandr.nix + ./modules/espanso.nix ./modules/i3.nix ]; diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix new file mode 100644 index 00000000..5361fe6e --- /dev/null +++ b/system/nixos/home-manager/modules/espanso.nix @@ -0,0 +1,33 @@ +let + baseUrl = "https://www.oliverdavies.dev"; +in + { + services.espanso = { + enable = true; + + configs = { + default = { + show_notifications = false; + }; + }; + + matches = { + base = { + matches = [ + { + trigger = ":atdc"; + replace = "${baseUrl}/atdc"; + } + { + trigger = ":call"; + replace = "${baseUrl}/call"; + } + { + trigger = ":coaching"; + replace = "${baseUrl}/team-coaching"; + } + ]; + }; + }; + }; +} From bb64b892aa50f7ec1b61614aa0e6a1c1f3d3e649 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Dec 2023 08:58:05 +0000 Subject: [PATCH 0522/2258] work with .tmux files --- .tmux | 29 +++++++++++++++++++++++++++++ bin/t | 48 ++++++++++++++++++++++++++++++++++-------------- 2 files changed, 63 insertions(+), 14 deletions(-) create mode 100755 .tmux diff --git a/.tmux b/.tmux new file mode 100755 index 00000000..80bb8130 --- /dev/null +++ b/.tmux @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset + +session_name="${1:-dotfiles}" +session_path="${2:-$(pwd)}" + +if tmux has-session -t="${session_name}" 2> /dev/null; then + tmux attach -t "${session_name}" + exit +fi + +tmux new-session -d -s "${session_name}" -n vim -c "${session_path}" + +# 1. Main window: Vim +tmux split-pane -t "${session_name}:vim" -h -c "${session_path}" +tmux send-keys -t "${session_name}:vim.left" "nvim +GoToFile" Enter +tmux send-keys -t "${session_name}:vim.right" "git status" Enter + +# 2. General shell use. +tmux new-window -t "${session_name}" -c "${session_path}" + +if [[ -n "${TMUX:-}" ]]; then + tmux switch-client -t "${session_name}" + tmux select-window -t "${session_name}:vim.left" +else + tmux attach -t "${session_name}:vim.left" +fi diff --git a/bin/t b/bin/t index efdbd6f3..dcdd8364 100755 --- a/bin/t +++ b/bin/t @@ -1,31 +1,51 @@ #!/usr/bin/env bash +set -o nounset +set -o pipefail + if [[ $# -eq 1 ]]; then selected=$1 else selected=$(zoxide query -l | grep -v /tmp | grep -v "^${HOME}/\." | grep -v "^${HOME}/Code$" | grep -v "/main$" | fzf --reverse) fi -if [[ -z $selected ]]; then +if [[ -z "${selected}" ]]; then exit 0 fi -is_tmux_running=$(pgrep tmux) -selected_name=$(basename "$selected" | tr . -) +session_name=$(basename "${selected}" | sed 's/\./-/g') -if [[ -z $TMUX ]] && [[ -z $is_tmux_running ]]; then - tmux new-session -s $selected_name -c $selected - exit 0 +if tmux has-session -t="${session_name}" 2> /dev/null; then + exec tmux attach -t "${session_name}" fi -# Create a new session if tmux does not already have a session matching the -# selected session name. -if ! tmux has-session -t $selected_name 2> /dev/null; then - tmux new-session -s $selected_name -c $selected -d +# If a .tmux file exists within the selected directory, run it with the +# generated session name. +if [[ -e "${selected}/main" ]] && [[ -e "${selected}/main/.tmux" ]]; then + "${selected}/main/.tmux" "${session_name}" "${selected}/main" + exit +elif [[ -e "${selected}/.tmux" ]]; then + "${selected}/.tmux" "${session_name}" "${selected}" + exit fi -if [[ -z $TMUX ]]; then - tmux attach-session -t $selected_name -else - tmux switch-client -t $selected_name +tmux_running=$(pgrep tmux) + +# if [[ -z "${TMUX:-}" ]] && [[ -z "${tmux_running}" ]]; then +# if [[ -e "${selected}/main" ]]; then +# tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}/main" +# else +# tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}" +# fi +# exit 0 +# fi + +if ! tmux has-session -t="${session_name}" 2> /dev/null; then + if [[ -e "${selected}/main" ]]; then + tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}/main" + else + tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}" + fi fi + +exec tmux switch-client -t "${session_name}" From c5846665aaeafeaecac9fcc663156b425259a424 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Dec 2023 11:07:46 +0000 Subject: [PATCH 0523/2258] Update CHANGELOG --- CHANGELOG.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86f79a8e..ff163fc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,73 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. -## 12th December 2023 +## 14th December 2023 -## Added +### Added * Add [espanso](https://espanso.org) as a text expander. +## 13th December 2023 + +### Changed + +* Changed tmux border pane colours. + +### Removed + +* Remove `just` from the flake. + +## 12th December 2023 + +### Added + +* Add `Q` keymaps to easily re-run macros in Neovim. + +### Changed + +* Move `autorandr` configuration into its own Nix module. +* Change default i3 workspaces for Alacritty and VLC. +* Change back to the stable release of nixpkgs as Slack was broken. + +### Removed + +* Remove `terraform` from the flake. + +## 9th December 2023 + +### Changed + +* Use `zoxide` to provide paths in the `t` script. +* Upgrade to Harpoon 2. + +## 7th December 2023 + +### Added + +* Use `autorandr` for monitor management instead of custom bash scripts. + +## 6th December 2023 + +### Added + +* Re-add `GoToFile` command that starts Neovim with Telescope open. + +### Changed + +* Switched to nixpkgs unstable by default. + +## 1st December 2023 + +### Changed + +* Update nixpkgs to 23.11. + +## 29th November 2023 + +### Changed + +* Update PHP test method snippets and netrw in Neovim. + ## 21st November 2023 ### Added From 7124abf9836c111a1d9b9e071f0021a893eb0b2f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Dec 2023 11:12:08 +0000 Subject: [PATCH 0524/2258] Add :dotfiles to espanso --- CHANGELOG.md | 6 ++++++ system/nixos/home-manager/modules/espanso.nix | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff163fc8..f39cf78c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 15th December 2023 + +### Added + +* Add `:dotfiles` to espanso that links to my dotfiles repository on GitHub. + ## 14th December 2023 ### Added diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index 5361fe6e..5fce51cb 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -1,7 +1,7 @@ let baseUrl = "https://www.oliverdavies.dev"; in - { +{ services.espanso = { enable = true; @@ -26,6 +26,10 @@ in trigger = ":coaching"; replace = "${baseUrl}/team-coaching"; } + { + trigger = ":dotfiles"; + replace = "https://github.com/opdavies/dotfiles"; + } ]; }; }; From 4bbcbc6c4fa9bc8227efde6e8e6d7a19df63ea02 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Dec 2023 11:13:27 +0000 Subject: [PATCH 0525/2258] Configure i3status --- CHANGELOG.md | 4 ++++ system/nixos/home-manager/modules/i3.nix | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f39cf78c..2973d853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Instead of grouping changes by tag, they are grouped by the date they are releas * Add `:dotfiles` to espanso that links to my dotfiles repository on GitHub. +### Changed + +* Configure colours in `i3status` and remove some modules. + ## 14th December 2023 ### Added diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 67bcd162..2e452472 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -65,4 +65,22 @@ in smart_gaps on ''; }; + + programs.i3status = { + enable = true; + + general = { + colors = true; + + color_bad = "#f7768e"; + color_degraded = "#ff9e64"; + color_good = "#c0caf5"; + }; + + modules = { + cpu_temperature.enable = false; + ipv6.enable = false; + load.enable = false; + }; + }; } From a6be7cabc47082bfb1d9be34d97127da70a24d5f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Dec 2023 11:13:48 +0000 Subject: [PATCH 0526/2258] Revert "Add openssl" This reverts commit 22aa32f852c4804ffc55e9214dbe5ef905296755. --- system/shared/home-manager-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index ea926289..fc8a9cf0 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -25,7 +25,6 @@ with pkgs; [ lua mysql neofetch - openssl pkgsUnstable.rustywind pv ripgrep From 8deb363f761f22351051319b09458f939287662b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 15 Dec 2023 11:24:50 +0000 Subject: [PATCH 0527/2258] Add `:website` to espanso --- CHANGELOG.md | 2 +- system/nixos/home-manager/modules/espanso.nix | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2973d853..98affc4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Added -* Add `:dotfiles` to espanso that links to my dotfiles repository on GitHub. +* Add `:dotfiles` and `:website` matches to espanso. ### Changed diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index 5fce51cb..907f4087 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -30,6 +30,10 @@ in trigger = ":dotfiles"; replace = "https://github.com/opdavies/dotfiles"; } + { + trigger = ":website"; + replace = "${baseUrl}"; + } ]; }; }; From 5e6bee64325c3a8f922baa07b5192403c0637aaf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Dec 2023 17:52:59 +0000 Subject: [PATCH 0528/2258] Manage ripgrep with Home Manager --- system/nixos/home-manager/default.nix | 1 - system/shared/home-manager-packages.nix | 1 - system/shared/home-manager.nix | 13 +++++++++---- system/wsl2/default.nix | 1 - 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index f9087dfd..cc375598 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -35,6 +35,5 @@ in LC_CTYPE = "en_GB.UTF-8"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; } diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index fc8a9cf0..a051d2f0 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -27,7 +27,6 @@ with pkgs; [ neofetch pkgsUnstable.rustywind pv - ripgrep tldr tree tree-sitter diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 6a1cbe04..880e0b4a 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -38,10 +38,15 @@ home.sessionPath = [ "$HOME/.config/bin" ]; - xdg.configFile."ripgrep/config".text = '' - --follow - --smart-case - ''; + programs.ripgrep = { + enable = true; + + arguments = [ + "--follow" + "--hidden" + "--smart-case" + ]; + }; xdg.configFile.bin = { source = ../../bin; diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index 919a80b0..e4d569b6 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -18,7 +18,6 @@ inputs.home-manager.lib.homeManagerConfiguration { EXA_COLORS = "uu=38;5;255:gu=38;5;255:ur=38;5;255:uw=38;5;255:ue=38;5;255:wx=38;5;255:gr=38;5;250:gw=38;5;250:gx=38;5;250:tr=38;5;255:tw=38;5;255:tx=38;5;255:da=38;5;250:sn=32:sb=0:di=38;5;105"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; } ]; From a4fb59d193d49c545aad308e61a92ba6aa331f2c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Dec 2023 20:25:25 +0000 Subject: [PATCH 0529/2258] Display Harpoon window at the top of the screen --- CHANGELOG.md | 7 +++++++ config/neovim/after/plugin/fugitive.lua | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98affc4d..817bb2a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 17th December 2023 + +### Changed + +* Open Harpoon window at the top of the screen. +* Manage `ripgrep` with Home Manager. + ## 15th December 2023 ### Added diff --git a/config/neovim/after/plugin/fugitive.lua b/config/neovim/after/plugin/fugitive.lua index 151d7220..a80d0b19 100644 --- a/config/neovim/after/plugin/fugitive.lua +++ b/config/neovim/after/plugin/fugitive.lua @@ -1,4 +1,4 @@ -vim.keymap.set("n", "gs", vim.cmd.Git) +vim.keymap.set("n", "gs", "GitK") vim.api.nvim_create_autocmd("BufWinEnter", { pattern = "*", From 3e58c640140ac4d4eed74287dde6cbcd50f85028 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Dec 2023 20:29:39 +0000 Subject: [PATCH 0530/2258] Update the Git commit message template --- CHANGELOG.md | 1 + system/shared/modules/git.nix | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 817bb2a4..c83955b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Changed +* Update the Git commit message template, removing references to conventional commits. * Open Harpoon window at the top of the screen. * Manage `ripgrep` with Home Manager. diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index ad32f290..3ca7f5e6 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -1,9 +1,7 @@ { home.file.".gitmessage".text = '' - type(scope): description - # type: fix, feat, build, chore, ci, docs, style, refactor, perf, test - # + # Description # # - Why is this change necessary? From 782f3e4b1062bb28ca9731c7395415cb2ec9bae8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Dec 2023 11:29:10 +0000 Subject: [PATCH 0531/2258] Add prettier as a formatter --- CHANGELOG.md | 6 ++++++ system/shared/modules/neovim.nix | 1 + 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c83955b4..e0b5b030 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 18th December 2023 + +### Added + +* Add `prettier` as a formatter within Neovim. + ## 17th December 2023 ### Changed diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 890c3f0c..5a4fd2a7 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -233,6 +233,7 @@ in # Formatters black + nodePackages.prettier rstfmt stylua From 029b2f17215dee4f576ac2877cd752a2b1405029 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Dec 2023 11:31:23 +0000 Subject: [PATCH 0532/2258] Update the Git commit message template --- system/shared/modules/git.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index 3ca7f5e6..c36b99f2 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -8,8 +8,7 @@ # - How does it address the issue? # - What side effects does this change have? # - # For breaking changes, add an ! after the type/scope, uncomment the following - # line and describe the change: + # For breaking changes, uncomment the following line and describe the change: # # BREAKING CHANGE: # From 799ca92f401b6b11bebbb7bd514214b9156e2504 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Dec 2023 00:34:30 +0000 Subject: [PATCH 0533/2258] Automatically close brackets, parentheses and ...quotes whilst in insert mode in Neovim --- CHANGELOG.md | 1 + config/neovim/lua/opdavies/init.lua | 24 +++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0b5b030..53057da4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Added * Add `prettier` as a formatter within Neovim. +* Automatically close brackets, parentheses and quotes. ## 17th December 2023 diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua index 527f4ce5..5cb3e1f1 100644 --- a/config/neovim/lua/opdavies/init.lua +++ b/config/neovim/lua/opdavies/init.lua @@ -13,8 +13,26 @@ vim.api.nvim_create_user_command("GoToFile", function() require("opdavies.telescope").git_files() end, {}) -local map = require("opdavies.keymap").map +local imap = require("opdavies.keymap").imap +local nmap = require("opdavies.keymap").nmap +local xmap = require("opdavies.keymap").xmap -- Quicker macro playback. -map { "n", "Q", "@qj" } -map { "x", "Q", ":norm @q" } +nmap { "Q", "@qj" } +xmap { "Q", ":norm @q" } + +-- Automatically close brackets, parentheses and quotes. +imap { "'", "''" } +imap { "(", "()" } +imap { "/*", "/**/" } +imap { "<", "<>" } +imap { "[", "[]" } +imap { "[;", "[];" } +imap { "{", "{}" } +imap { "{;", "{};" } +imap { '\"', '\"\"' } + +-- TODO: only add these in Twig files? +imap { "{#", "{# #}" } +imap { "{%", "{% %}" } +imap { "{{", "{{ }}" } From b7f26524b0ddcd5db1b2783c20bdb423d4cb1bfb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Dec 2023 07:38:09 +0000 Subject: [PATCH 0534/2258] Move key mappings --- config/neovim/after/ftplugin/markdown.lua | 1 + config/neovim/lua/opdavies/init.lua | 28 ------------------ config/neovim/lua/opdavies/options.lua | 35 +++++++++++++++++++++++ 3 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 config/neovim/after/ftplugin/markdown.lua diff --git a/config/neovim/after/ftplugin/markdown.lua b/config/neovim/after/ftplugin/markdown.lua new file mode 100644 index 00000000..41480681 --- /dev/null +++ b/config/neovim/after/ftplugin/markdown.lua @@ -0,0 +1 @@ +vim.o.wrap = true diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua index 5cb3e1f1..dd2b1821 100644 --- a/config/neovim/lua/opdavies/init.lua +++ b/config/neovim/lua/opdavies/init.lua @@ -8,31 +8,3 @@ require "opdavies.lsp" require "opdavies.telescope.setup" require "opdavies.telescope.mappings" - -vim.api.nvim_create_user_command("GoToFile", function() - require("opdavies.telescope").git_files() -end, {}) - -local imap = require("opdavies.keymap").imap -local nmap = require("opdavies.keymap").nmap -local xmap = require("opdavies.keymap").xmap - --- Quicker macro playback. -nmap { "Q", "@qj" } -xmap { "Q", ":norm @q" } - --- Automatically close brackets, parentheses and quotes. -imap { "'", "''" } -imap { "(", "()" } -imap { "/*", "/**/" } -imap { "<", "<>" } -imap { "[", "[]" } -imap { "[;", "[];" } -imap { "{", "{}" } -imap { "{;", "{};" } -imap { '\"', '\"\"' } - --- TODO: only add these in Twig files? -imap { "{#", "{# #}" } -imap { "{%", "{% %}" } -imap { "{{", "{{ }}" } diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 7825dc93..3d18fcd0 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -31,6 +31,25 @@ local function set_autocmd() vim.cmd.set "filetype=term" end, }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = "html.twig", + group = vim.api.nvim_create_augroup("twig_keymaps", { clear = true }), + callback = function() + local imap = require("opdavies.keymap").imap + local opts = { silent = true, buffer = true } + + imap { "{#", "{# #}", opts } + imap { "{%", "{% %}", opts } + imap { "{{", "{{ }}", opts } + end, + }) +end + +local function set_user_commands() + vim.api.nvim_create_user_command("GoToFile", function() + require("opdavies.telescope").git_files() + end, {}) end local function set_filetypes() @@ -104,6 +123,21 @@ local function set_key_mappings() -- Move half a screen up or down and re-center. nmap { "", "zz" } nmap { "", "zz" } + + -- Quicker macro playback. + nmap { "Q", "@qj" } + xmap { "Q", ":norm @q" } + + -- Automatically close brackets, parentheses and quotes. + imap { "'", "''" } + imap { "(", "()" } + imap { "/*", "/**/" } + imap { "<", "<>" } + imap { "[", "[]" } + imap { "[;", "[];" } + imap { "{", "{}" } + imap { "{;", "{};" } + imap { '"', '""' } end local function set_highlights() @@ -168,6 +202,7 @@ M.setup = function() set_vim_o() set_key_mappings() set_autocmd() + set_user_commands() set_filetypes() set_highlights() From 12001b588a2dc07f460ac67a4a9a640162ed8824 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Dec 2023 10:53:34 +0000 Subject: [PATCH 0535/2258] Update the t script --- bin/t | 43 ++++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/bin/t b/bin/t index dcdd8364..911f149d 100755 --- a/bin/t +++ b/bin/t @@ -14,38 +14,31 @@ if [[ -z "${selected}" ]]; then fi session_name=$(basename "${selected}" | sed 's/\./-/g') +tmux_running=$(pgrep tmux) -if tmux has-session -t="${session_name}" 2> /dev/null; then - exec tmux attach -t "${session_name}" +session_path="${selected}" +if [[ -e "${selected}/main" ]]; then + session_path="${selected}/main" +fi + +if tmux has-session -t "${session_name}" 2> /dev/null; then + tmux attach -t "${session_name}" fi # If a .tmux file exists within the selected directory, run it with the # generated session name. -if [[ -e "${selected}/main" ]] && [[ -e "${selected}/main/.tmux" ]]; then - "${selected}/main/.tmux" "${session_name}" "${selected}/main" - exit -elif [[ -e "${selected}/.tmux" ]]; then - "${selected}/.tmux" "${session_name}" "${selected}" +if [[ -e "${session_path}/.tmux" ]]; then + "${session_path}/.tmux" "${session_name}" "${selected}/main" exit fi -tmux_running=$(pgrep tmux) - -# if [[ -z "${TMUX:-}" ]] && [[ -z "${tmux_running}" ]]; then -# if [[ -e "${selected}/main" ]]; then -# tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}/main" -# else -# tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}" -# fi -# exit 0 -# fi - -if ! tmux has-session -t="${session_name}" 2> /dev/null; then - if [[ -e "${selected}/main" ]]; then - tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}/main" - else - tmux new-session -d -s "${session_name}" -d -s "${session_name}" -c "${selected}" - fi +if [[ -z "${TMUX:-}" ]] && [[ -z "${tmux_running}" ]]; then + tmux new-session -s "${session_name}" -c "${session_path}" + exit 0 fi -exec tmux switch-client -t "${session_name}" +if ! tmux has-session -t "${session_name}" 2> /dev/null; then + tmux new-session -ds "${session_name}" -c "${session_path}" +fi + +tmux switch-client -t "${session_name}" From bf4789fb1183db3ee8d3870dc6f0d5b5bd0998e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Dec 2023 10:53:49 +0000 Subject: [PATCH 0536/2258] Update .tmux script --- .tmux | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.tmux b/.tmux index 80bb8130..e9749df1 100755 --- a/.tmux +++ b/.tmux @@ -14,16 +14,10 @@ fi tmux new-session -d -s "${session_name}" -n vim -c "${session_path}" # 1. Main window: Vim -tmux split-pane -t "${session_name}:vim" -h -c "${session_path}" -tmux send-keys -t "${session_name}:vim.left" "nvim +GoToFile" Enter -tmux send-keys -t "${session_name}:vim.right" "git status" Enter +tmux send-keys -t "${session_name}:vim" "nvim +GoToFile" Enter # 2. General shell use. tmux new-window -t "${session_name}" -c "${session_path}" -if [[ -n "${TMUX:-}" ]]; then - tmux switch-client -t "${session_name}" - tmux select-window -t "${session_name}:vim.left" -else +tmux switch-client -t "${session_name}:vim.left" || tmux attach -t "${session_name}:vim.left" -fi From 7832d6b0b600e461ad44f3859061a5ef3d5d237f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Dec 2023 15:23:08 +0000 Subject: [PATCH 0537/2258] Update the t script --- bin/t | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/bin/t b/bin/t index 911f149d..6adb3edb 100755 --- a/bin/t +++ b/bin/t @@ -14,9 +14,9 @@ if [[ -z "${selected}" ]]; then fi session_name=$(basename "${selected}" | sed 's/\./-/g') -tmux_running=$(pgrep tmux) - session_path="${selected}" + +# Git worktrees. if [[ -e "${selected}/main" ]]; then session_path="${selected}/main" fi @@ -25,20 +25,15 @@ if tmux has-session -t "${session_name}" 2> /dev/null; then tmux attach -t "${session_name}" fi -# If a .tmux file exists within the selected directory, run it with the -# generated session name. +# If a .tmux file exists, run it with the generated session name and path. if [[ -e "${session_path}/.tmux" ]]; then - "${session_path}/.tmux" "${session_name}" "${selected}/main" + "${session_path}/.tmux" "${session_name}" "${session_path}" + exit +elif [[ -e "${session_path}/.ignored/.tmux" ]]; then + "${session_path}/.ignored/.tmux" "${session_name}" "${session_path}" exit fi -if [[ -z "${TMUX:-}" ]] && [[ -z "${tmux_running}" ]]; then - tmux new-session -s "${session_name}" -c "${session_path}" - exit 0 -fi +tmux new-session -d -s "${session_name}" -c "${session_path}" -if ! tmux has-session -t "${session_name}" 2> /dev/null; then - tmux new-session -ds "${session_name}" -c "${session_path}" -fi - -tmux switch-client -t "${session_name}" +tmux switch-client -t "${session_name}" || tmux attach -t "${session_name}" From c600c30e22d7e6a3da903869805513e63203aac6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Dec 2023 20:26:32 +0000 Subject: [PATCH 0538/2258] Revert "Use zoxide to provide paths to fzf" This reverts commit 54fdbd71d9e77b03b3b2322b16f6ed51f3d4a8ea. --- bin/t | 8 +++++++- system/shared/home-manager.nix | 5 ----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/t b/bin/t index 6adb3edb..f4dd27fc 100755 --- a/bin/t +++ b/bin/t @@ -1,12 +1,18 @@ #!/usr/bin/env bash +# Credit to ThePrimeagen. + set -o nounset set -o pipefail if [[ $# -eq 1 ]]; then selected=$1 else - selected=$(zoxide query -l | grep -v /tmp | grep -v "^${HOME}/\." | grep -v "^${HOME}/Code$" | grep -v "/main$" | fzf --reverse) + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find ~/Code -mindepth 3 -maxdepth 3 -type d ! -name .git) + + selected=$(echo "${items}" | sort | fzf --reverse) fi if [[ -z "${selected}" ]]; then diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 880e0b4a..b43ff566 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -31,11 +31,6 @@ nix-direnv.enable = true; }; - programs.zoxide = { - enable = true; - enableZshIntegration = true; - }; - home.sessionPath = [ "$HOME/.config/bin" ]; programs.ripgrep = { From d97259fc6a018a32de22f353532fd90748af741f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 20 Dec 2023 00:55:07 +0000 Subject: [PATCH 0539/2258] Fix terminal colours within tmux --- CHANGELOG.md | 6 ++++++ system/shared/modules/tmux.nix | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53057da4..d68ac1aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 19th December 2023 + +### Fixed + +* Fix terminal colours within tmux. + ## 18th December 2023 ### Added diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index 8369a699..55e8b2f6 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -17,7 +17,7 @@ bind-key -n C-l select-pane -R set-option -g status-keys "emacs" - set-option -ga terminal-overrides ",*256col*:alacritty" + set-option -sa terminal-features "''${TERM}:RGB" bind-key h split-window -v -c "#{pane_current_path}" bind-key v split-window -h -c "#{pane_current_path}" From e45c88490e972ac98f277476c987f6e6780b282d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 08:26:21 +0000 Subject: [PATCH 0540/2258] Change `splitbelow` to `false` This means that new splits, such as Fugitive, will open above the current pane rather than below it. If I don't like it, I'll revert it. --- CHANGELOG.md | 6 ++++++ config/neovim/lua/opdavies/options.lua | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d68ac1aa..17944789 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 21st December 2023 + +### Changed + +* Change `splitbelow` to `false` in Neovim. + ## 19th December 2023 ### Fixed diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 3d18fcd0..5599f22d 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -174,7 +174,7 @@ local function set_vim_o() signcolumn = "yes:1", smartindent = true, softtabstop = 2, - splitbelow = true, + splitbelow = false, splitright = true, swapfile = false, syntax = "on", From 4dd08d65bc2e486ee8489e47d081c11a93546e33 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 11:05:33 +0000 Subject: [PATCH 0541/2258] Tailwind CSS autocomplete not working in Twig files --- config/neovim/lua/opdavies/lsp/init.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 5fc2f8f2..170777be 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -74,7 +74,6 @@ local servers = { gopls = true, html = true, rnix = true, - tailwindcss = true, terraformls = true, tsserver = true, vuels = true, @@ -93,6 +92,15 @@ local servers = { }, }, + tailwindcss = { + filetypes = { "html", "html.twig", "javascript", "typescript", "vue" }, + init_options = { + userLanguages = { + ["html.twig"] = "html", + }, + }, + }, + yamlls = { settings = { yaml = { From f319519159734f31eb79b297fb53b14e0c94d075 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 12:00:05 +0000 Subject: [PATCH 0542/2258] Add zeroad --- system/nixos/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index b6d05302..e1f33800 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -133,6 +133,9 @@ in xfce.thunar xfce.thunar-volman xfce.tumbler + + # Games. + zeroad ]; # Some programs need SUID wrappers, can be configured further or are From 512f86cf66f04769e55f72495e007279ba13b13b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 12:00:49 +0000 Subject: [PATCH 0543/2258] Add `run` aliases --- CHANGELOG.md | 4 ++++ system/shared/modules/zsh.nix | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17944789..e231099b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ## 21st December 2023 +### Added + +* Add `run` aliases to zsh. + ### Changed * Change `splitbelow` to `false` in Neovim. diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index ffa8734a..9e527c50 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -157,6 +157,16 @@ alias tf="terraform" + # run scripts. + alias r="run" + alias rc="run composer" + alias rd="run drush" + alias rdcr="run drush cr" + alias rdup="run drush updb -y" + alias rdce="run drush config:export -y" + alias rdci="run drush config:import -y" + alias rduli="run drush uli" + # Build Configs. ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" From b6ce95feb3efc0385509ff9d2e6601282f72a95b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 12:01:56 +0000 Subject: [PATCH 0544/2258] Remove starship prompt --- CHANGELOG.md | 4 + system/shared/home-manager.nix | 1 - system/shared/modules/starship.nix | 126 ----------------------------- 3 files changed, 4 insertions(+), 127 deletions(-) delete mode 100644 system/shared/modules/starship.nix diff --git a/CHANGELOG.md b/CHANGELOG.md index e231099b..cde8e7e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ Instead of grouping changes by tag, they are grouped by the date they are releas * Change `splitbelow` to `false` in Neovim. +### Removed + +* Remove the Starship prompt. + ## 19th December 2023 ### Fixed diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index b43ff566..7a658d3d 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -11,7 +11,6 @@ imports = [ (import ./modules/neovim.nix { inherit inputs pkgs self; }) ./modules/git.nix - ./modules/starship.nix ./modules/tmux.nix ./modules/zsh.nix ]; diff --git a/system/shared/modules/starship.nix b/system/shared/modules/starship.nix deleted file mode 100644 index ba7d181f..00000000 --- a/system/shared/modules/starship.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ - programs.starship = { - enable = true; - enableZshIntegration = true; - - settings = { - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - - git_commit = { - tag_symbol = " tag "; - }; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - aws = { symbol = "aws "; }; - azure = { symbol = "az "; }; - bun = { symbol = "bun "; }; - c = { symbol = "C "; }; - cobol = { symbol = "cobol "; }; - conda = { symbol = "conda "; }; - crystal = { symbol = "cr "; }; - cmake = { symbol = "cmake "; }; - daml = { symbol = "daml "; }; - dart = { symbol = "dart "; }; - deno = { symbol = "deno "; }; - dotnet = { symbol = ".NET "; }; - directory = { read_only = " ro"; }; - docker_context = { symbol = "docker "; }; - elixir = { symbol = "exs "; }; - elm = { symbol = "elm "; }; - fennel = { symbol = "fnl "; }; - fossil_branch = { symbol = "fossil "; }; - gcloud = { symbol = "gcp "; }; - git_branch = { symbol = "git "; }; - golang = { symbol = "go "; }; - gradle = { symbol = "gradle "; }; - guix_shell = { symbol = "guix "; }; - hg_branch = { symbol = "hg "; }; - java = { symbol = "java "; }; - julia = { symbol = "jl "; }; - kotlin = { symbol = "kt "; }; - lua = { symbol = "lua "; }; - nodejs = { symbol = "nodejs "; }; - memory_usage = { symbol = "memory "; }; - meson = { symbol = "meson "; }; - nim = { symbol = "nim "; }; - nix_shell = { symbol = "nix "; }; - ocaml = { symbol = "ml "; }; - opa = { symbol = "opa "; }; - os = { - symbols = { - Alpaquita = "alq "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Unknown = "unk "; - Windows = "win "; - }; - }; - - package.disabled = true; - - perl = { symbol = "pl "; }; - php = { symbol = "php "; }; - pijul_channel = { symbol = "pijul "; }; - pulumi = { symbol = "pulumi "; }; - purescript = { symbol = "purs "; }; - python = { symbol = "py "; }; - raku = { symbol = "raku "; }; - ruby = { symbol = "rb "; }; - rust = { symbol = "rs "; }; - scala = { symbol = "scala "; }; - spack = { symbol = "spack "; }; - solidity = { symbol = "solidity "; }; - status = { symbol = "[x](bold red) "; }; - sudo = { symbol = "sudo "; }; - swift = { symbol = "swift "; }; - terraform = { symbol = "terraform "; }; - zig = { symbol = "zig "; }; - }; - }; - -} From 545b386096c3d3bdb0c305d3da6e04647dead0c5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 12:03:57 +0000 Subject: [PATCH 0545/2258] Update Alacritty configuration --- CHANGELOG.md | 1 + system/nixos/home-manager/modules/alacritty.nix | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cde8e7e1..48bf7d04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Changed +* Update Alacritty configuration. * Change `splitbelow` to `false` in Neovim. ### Removed diff --git a/system/nixos/home-manager/modules/alacritty.nix b/system/nixos/home-manager/modules/alacritty.nix index 784431f5..7883a9ac 100644 --- a/system/nixos/home-manager/modules/alacritty.nix +++ b/system/nixos/home-manager/modules/alacritty.nix @@ -11,12 +11,12 @@ }; font = { - size = 16.0; + size = 12.0; bold.style = "Regular"; - bolditalic.style = "Regular"; - italic.style = "Regular"; - normal.family = "AnonymicePro Nerd Font Mono"; + bolditalic.style = "Italic"; + normal.family = "JetBrainsMono Nerd Font Mono"; + # fc-list : family | sort | grep "Nerd Font" offset.y = 12; glyph_offset.y = 6; From 4e1c3123a01ef252e02503990814c622732a88e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Dec 2023 12:09:03 +0000 Subject: [PATCH 0546/2258] Switch back to 23.05 Issues with Neovim, Harpoon and/or Telescope. --- config/neovim/after/plugin/harpoon.lua | 22 +++++++--------------- flake.lock | 22 +++++++++++----------- flake.nix | 4 ++-- system/nixos/configuration.nix | 3 ++- system/nixos/home-manager/default.nix | 1 + system/shared/home-manager-packages.nix | 3 ++- system/shared/home-manager.nix | 13 ++++--------- system/shared/modules/neovim.nix | 4 ++-- system/wsl2/default.nix | 1 + 9 files changed, 32 insertions(+), 41 deletions(-) diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua index 4705cf3a..8d2c7d94 100644 --- a/config/neovim/after/plugin/harpoon.lua +++ b/config/neovim/after/plugin/harpoon.lua @@ -1,26 +1,18 @@ -local harpoon = require "harpoon" +require("harpoon").setup() + local nmap = require("opdavies.keymap").nmap -harpoon:setup() +nmap { "", require("harpoon.ui").toggle_quick_menu } +nmap { "", require("harpoon.mark").add_file } -nmap { - "hl", - function() - harpoon.ui:toggle_quick_menu(harpoon:list()) - end, -} -nmap { - "hm", - function() - harpoon:list():append() - end, -} +nmap { "hl", require("harpoon.ui").toggle_quick_menu } +nmap { "hm", require("harpoon.mark").add_file } for i = 1, 5 do nmap { string.format("%s", i), function() - harpoon:list():select(i) + require("harpoon.ui").nav_file(i) end, } end diff --git a/flake.lock b/flake.lock index 9ce97d68..c7209b77 100644 --- a/flake.lock +++ b/flake.lock @@ -24,32 +24,32 @@ ] }, "locked": { - "lastModified": 1702195709, - "narHash": "sha256-+zRjWkm5rKqQ57PuLZ3JF3xi3vPMiOJzItb1m/43Cq4=", + "lastModified": 1702195668, + "narHash": "sha256-Lxmjez0nfNBptdqV5GsXKm7Bb7swjGsrxiLxWJu0tL8=", "owner": "nix-community", "repo": "home-manager", - "rev": "6761b8188b860f374b457eddfdb05c82eef9752f", + "rev": "33110fb3c7fe6a94b98b641866a5eddb64b7c23f", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-23.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1702233072, - "narHash": "sha256-H5G2wgbim2Ku6G6w+NSaQaauv6B6DlPhY9fMvArKqRo=", + "lastModified": 1703034876, + "narHash": "sha256-4bMPFv/bs5g1nEsXQwXlrAGJgjv1Ilr0ejdaTkBwQLs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "781e2a9797ecf0f146e81425c822dca69fe4a348", + "rev": "312ab59e8ade69e6083017bd9b98a2919f1fb86a", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1702151865, - "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "lastModified": 1703255338, + "narHash": "sha256-Z6wfYJQKmDN9xciTwU3cOiOk+NElxdZwy/FiHctCzjU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "rev": "6df37dc6a77654682fe9f071c62b4242b5342e04", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 28de1ae1..fd96cc33 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-23.11"; + home-manager.url = "github:nix-community/home-manager/release-23.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index e1f33800..0fabc779 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -179,7 +179,8 @@ in monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; - packages = with pkgsUnstable; [ + + fonts = with pkgsUnstable; [ (nerdfonts.override { fonts = [ "AnonymousPro" diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index cc375598..f9087dfd 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -35,5 +35,6 @@ in LC_CTYPE = "en_GB.UTF-8"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; } diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index a051d2f0..c33404d9 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -9,7 +9,6 @@ with pkgs; [ delta dog doppler - eza fd file fzf @@ -25,8 +24,10 @@ with pkgs; [ lua mysql neofetch + pkgsUnstable.eza pkgsUnstable.rustywind pv + ripgrep tldr tree tree-sitter diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 7a658d3d..b66bad6a 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -32,15 +32,10 @@ home.sessionPath = [ "$HOME/.config/bin" ]; - programs.ripgrep = { - enable = true; - - arguments = [ - "--follow" - "--hidden" - "--smart-case" - ]; - }; + xdg.configFile."ripgrep/config".text = '' + --follow + --smart-case + ''; xdg.configFile.bin = { source = ../../bin; diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 5a4fd2a7..dddb2ade 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -86,8 +86,8 @@ in ''; } - pkgsUnstable.vimPlugins.harpoon - pkgsUnstable.vimPlugins.refactoring-nvim + vimPlugins.harpoon + vimPlugins.refactoring-nvim vimPlugins.comment-nvim vimPlugins.dial-nvim vimPlugins.gitsigns-nvim diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index e4d569b6..919a80b0 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -18,6 +18,7 @@ inputs.home-manager.lib.homeManagerConfiguration { EXA_COLORS = "uu=38;5;255:gu=38;5;255:ur=38;5;255:uw=38;5;255:ue=38;5;255:wx=38;5;255:gr=38;5;250:gw=38;5;250:gx=38;5;250:tr=38;5;255:tw=38;5;255:tx=38;5;255:da=38;5;250:sn=32:sb=0:di=38;5;105"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; } ]; From a460fbd1d367ec3752a8f0cf08fa6f7e0c3322ae Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 24 Dec 2023 17:45:24 +0000 Subject: [PATCH 0547/2258] Switch back to 23.11 --- flake.lock | 16 ++++++++-------- flake.nix | 4 ++-- system/nixos/configuration.nix | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index c7209b77..a95c3d38 100644 --- a/flake.lock +++ b/flake.lock @@ -24,32 +24,32 @@ ] }, "locked": { - "lastModified": 1702195668, - "narHash": "sha256-Lxmjez0nfNBptdqV5GsXKm7Bb7swjGsrxiLxWJu0tL8=", + "lastModified": 1703367386, + "narHash": "sha256-FMbm48UGrBfOWGt8+opuS+uLBLQlRfhiYXhHNcYMS5k=", "owner": "nix-community", "repo": "home-manager", - "rev": "33110fb3c7fe6a94b98b641866a5eddb64b7c23f", + "rev": "d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1703034876, - "narHash": "sha256-4bMPFv/bs5g1nEsXQwXlrAGJgjv1Ilr0ejdaTkBwQLs=", + "lastModified": 1703068421, + "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "312ab59e8ade69e6083017bd9b98a2919f1fb86a", + "rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index fd96cc33..28de1ae1 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-23.05"; + home-manager.url = "github:nix-community/home-manager/release-23.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 0fabc779..0ee76704 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -180,7 +180,7 @@ in }; }; - fonts = with pkgsUnstable; [ + packages = with pkgsUnstable; [ (nerdfonts.override { fonts = [ "AnonymousPro" From f6a29aa4ef925adb864a93a1e8342f3797fc6a4a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Dec 2023 07:14:59 +0000 Subject: [PATCH 0548/2258] Update flake.lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a95c3d38..2a0dd17f 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703068421, - "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=", + "lastModified": 1703467016, + "narHash": "sha256-/5A/dNPhbQx/Oa2d+Get174eNI3LERQ7u6WTWOlR1eQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f", + "rev": "d02d818f22c777aa4e854efc3242ec451e5d462a", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1703255338, - "narHash": "sha256-Z6wfYJQKmDN9xciTwU3cOiOk+NElxdZwy/FiHctCzjU=", + "lastModified": 1703438236, + "narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6df37dc6a77654682fe9f071c62b4242b5342e04", + "rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b", "type": "github" }, "original": { From 5113583f8ede24d32069f213a13880a676ff1aa2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Dec 2023 15:43:03 +0000 Subject: [PATCH 0549/2258] Assign Firefox to any workspace by default --- system/nixos/home-manager/modules/i3.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 2e452472..fe88afb0 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -11,7 +11,6 @@ in config = { assigns = { - "1" = [{ class = "firefox"; }]; "3" = [{ class = "Alacritty"; }]; "4" = [{ class = "vlc"; }]; "9" = [ From 34a8cce318debad44edec6aaf27039f82dc3bc28 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Dec 2023 15:18:32 +0000 Subject: [PATCH 0550/2258] Add and configure dunst for battery notifications --- bin/notify-battery.sh | 33 +++++++++++++++++++++++++++ system/nixos/configuration.nix | 17 ++++++++++---- system/nixos/default.nix | 2 +- system/nixos/home-manager/desktop.nix | 10 ++++++++ 4 files changed, 56 insertions(+), 6 deletions(-) create mode 100755 bin/notify-battery.sh diff --git a/bin/notify-battery.sh b/bin/notify-battery.sh new file mode 100755 index 00000000..e6297f4c --- /dev/null +++ b/bin/notify-battery.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -o nounset +set -o pipefail + +export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus" +export DISPLAY=:0 + +# Battery percentage at which to notify. +BATTERY_DISCHARGING=$(acpi -b | grep "Battery 0" | grep -c "Discharging") +BATTERY_LEVEL=$(acpi -b | grep "Battery 0" | grep -P -o '[0-9]+(?=%)') +WARNING_LEVEL=20 + +# Use two files to store whether we've shown a notification or not (to prevent multiple notifications). +EMPTY_FILE=/tmp/battery-empty +FULL_FILE=/tmp/battery-full + +# Reset notifications if the computer is charging/discharging. +if [ "$BATTERY_DISCHARGING" -eq 1 ] && [ -f $FULL_FILE ]; then + rm $FULL_FILE +elif [ "$BATTERY_DISCHARGING" -eq 0 ] && [ -f $EMPTY_FILE ]; then + rm $EMPTY_FILE +fi + +# If the battery is charging and is full (and has not shown notification yet). +if [ "$BATTERY_LEVEL" -gt 95 ] && [ "$BATTERY_DISCHARGING" -eq 0 ] && [ ! -f $FULL_FILE ]; then + notify-send "Battery Charged" "Battery is fully charged." -r 9991 + touch $FULL_FILE +# If the battery is low and is not charging (and has not shown notification yet). +elif [ "$BATTERY_LEVEL" -le $WARNING_LEVEL ] && [ "$BATTERY_DISCHARGING" -eq 1 ] && [ ! -f $EMPTY_FILE ]; then + notify-send "Low Battery" "${BATTERY_LEVEL}% of battery remaining." -u critical -r 9991 -t 0 + touch $EMPTY_FILE +fi diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 0ee76704..090b50f8 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, system }: +{ inputs, desktop ? false, pkgs, system }: let pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${system}"; @@ -133,6 +133,10 @@ in xfce.thunar xfce.thunar-volman xfce.tumbler + ] ++ pkgs.lib.optionals desktop [ + acpi + dunst + libnotify # Games. zeroad @@ -258,10 +262,13 @@ in }; }; - services.udev.extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess", TAG+="udev-acl", GROUP="realet" - ''; + services.cron = { + enable = true; + + systemCronJobs = [ + "* * * * * opdavies /home/opdavies/.config/bin/notify-battery.sh" + ]; + }; services.auto-cpufreq.enable = true; } - diff --git a/system/nixos/default.nix b/system/nixos/default.nix index a7790070..4a4f96ef 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -3,7 +3,7 @@ { desktop ? false }: let - configuration = import ./configuration.nix { inherit inputs pkgs system; }; + configuration = import ./configuration.nix { inherit desktop inputs pkgs system; }; hardware-configuration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index 91bfeb10..6cc8746e 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -8,6 +8,16 @@ ./modules/i3.nix ]; + services.dunst = { + enable = true; + + settings = { + global = { + follow = "keyboard"; + }; + }; + }; + xdg.configFile.wallpaper = { source = ../../../config/wallpaper; recursive = true; From d088145f691848322e653297329aa4661cf7c94e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 2 Jan 2024 00:38:43 +0000 Subject: [PATCH 0551/2258] Update flake.lock file --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 2a0dd17f..47305cff 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1704152458, + "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", "type": "github" }, "original": { @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1703367386, - "narHash": "sha256-FMbm48UGrBfOWGt8+opuS+uLBLQlRfhiYXhHNcYMS5k=", + "lastModified": 1704099619, + "narHash": "sha256-QRVMkdxLmv+aKGjcgeEg31xtJEIsYq4i1Kbyw5EPS6g=", "owner": "nix-community", "repo": "home-manager", - "rev": "d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224", + "rev": "7e398b3d76bc1503171b1364c9d4a07ac06f3851", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703467016, - "narHash": "sha256-/5A/dNPhbQx/Oa2d+Get174eNI3LERQ7u6WTWOlR1eQ=", + "lastModified": 1703992652, + "narHash": "sha256-C0o8AUyu8xYgJ36kOxJfXIroy9if/G6aJbNOpA5W0+M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d02d818f22c777aa4e854efc3242ec451e5d462a", + "rev": "32f63574c85fbc80e4ba1fbb932cde9619bad25e", "type": "github" }, "original": { @@ -57,11 +57,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1701253981, - "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1703438236, - "narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=", + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", "type": "github" }, "original": { From 79f5c8ac5bf9bb1299781a33b56701b716d066aa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Jan 2024 13:50:50 +0000 Subject: [PATCH 0552/2258] Add iamcco/markdown-preview.nvim --- system/shared/modules/neovim.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index dddb2ade..76ce0de2 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -192,6 +192,15 @@ in vimPlugins.vim-dadbod-ui vimPlugins.vim-dadbod-completion + # Markdown + { + plugin = vimPlugins.markdown-preview-nvim; + type = "lua"; + config = '' + vim.g.mkdp_refresh_slow = 1 + ''; + } + # Themes vimPlugins.catppuccin-nvim From e7c9db7711a679655878a1f8e08a9985498fc67a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 4 Jan 2024 13:00:00 +0000 Subject: [PATCH 0553/2258] Add and configure flameshot for screenshots --- system/nixos/home-manager/default.nix | 2 +- system/nixos/home-manager/desktop.nix | 16 +++++++++++++++- system/nixos/home-manager/modules/i3.nix | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index f9087dfd..6d9f485f 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -1,7 +1,7 @@ { config, desktop, inputs, pkgs, self, username, ... }: let - desktop-config = import ./desktop.nix { inherit config inputs pkgs; }; + desktop-config = import ./desktop.nix { inherit config inputs pkgs username; }; shared-config = import ../../shared/home-manager.nix { inherit inputs pkgs self username; }; shared-packages = import ../../shared/home-manager-packages.nix { inherit inputs pkgs; }; in diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index 6cc8746e..f4b05af4 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -1,4 +1,4 @@ -{ config, inputs, pkgs }: +{ config, inputs, pkgs, username }: { imports = [ @@ -18,6 +18,20 @@ }; }; + services.flameshot = { + enable = true; + + settings = { + General = { + disabledTrayIcon = false; + saveAfterCopy = true; + savePath = "/home/${username}/Pictures/Screenshots"; + showHelp = false; + uiColor = "#60a5fa"; + }; + }; + }; + xdg.configFile.wallpaper = { source = ../../../config/wallpaper; recursive = true; diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index fe88afb0..5099920b 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -37,6 +37,8 @@ in "${modifier}+Shift+k" = "move up"; "${modifier}+Shift+l" = "move right"; + "${modifier}+Shift+p" = "exec flameshot gui"; + "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; "XF86AudioMute" = "exec pamixer --toggle-mute && ( [ \"$(pamixer --get-mute)\" = \"true\" ] && echo 0"; From 35467a996a4a2b469cd102fcf7c942e37bdacdea Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 4 Jan 2024 21:51:46 +0000 Subject: [PATCH 0554/2258] Add copyq for clipboard management --- system/nixos/home-manager/desktop.nix | 2 ++ system/nixos/home-manager/modules/i3.nix | 1 + 2 files changed, 3 insertions(+) diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index f4b05af4..35f37d5f 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -18,6 +18,8 @@ }; }; + services.copyq.enable = true; + services.flameshot = { enable = true; diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 5099920b..3a3dcff7 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -38,6 +38,7 @@ in "${modifier}+Shift+l" = "move right"; "${modifier}+Shift+p" = "exec flameshot gui"; + "${modifier}+Shift+y" = "exec copyq toggle"; "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; From 61dbb0b895fa718ba939ca375fbe5b2484858157 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jan 2024 19:16:56 +0000 Subject: [PATCH 0555/2258] Add Espanso snippets --- system/nixos/home-manager/modules/espanso.nix | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index 907f4087..4bb6e6b0 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -14,6 +14,10 @@ in matches = { base = { matches = [ + { + trigger = ":archive"; + replace = "${baseUrl}/archive"; + } { trigger = ":atdc"; replace = "${baseUrl}/atdc"; @@ -26,10 +30,34 @@ in trigger = ":coaching"; replace = "${baseUrl}/team-coaching"; } + { + trigger = ":daily"; + replace = "${baseUrl}/daily"; + } { trigger = ":dotfiles"; replace = "https://github.com/opdavies/dotfiles"; } + { + trigger = ":dc"; + replace = "Drupal Commerce"; + } + { + trigger = ":dr"; + replace = "Drupal"; + } + { + trigger = ":gt"; + replace = "Great, thanks!"; + } + { + trigger = ":lh"; + replace = "http://localhost"; + } + { + trigger = ":talks"; + replace = "${baseUrl}/talks"; + } { trigger = ":website"; replace = "${baseUrl}"; From d5b2d76dfbbd0c16d008e211ad8f16acc25fb199 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 21:56:59 +0000 Subject: [PATCH 0556/2258] Revert "Automatically close brackets, parentheses and" This reverts commit 799ca92f401b6b11bebbb7bd514214b9156e2504. --- CHANGELOG.md | 1 - config/neovim/lua/opdavies/init.lua | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48bf7d04..0c4352ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,6 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Added * Add `prettier` as a formatter within Neovim. -* Automatically close brackets, parentheses and quotes. ## 17th December 2023 diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua index dd2b1821..1fcdda41 100644 --- a/config/neovim/lua/opdavies/init.lua +++ b/config/neovim/lua/opdavies/init.lua @@ -8,3 +8,7 @@ require "opdavies.lsp" require "opdavies.telescope.setup" require "opdavies.telescope.mappings" + +vim.api.nvim_create_user_command("GoToFile", function() + require("opdavies.telescope").git_files() +end, {}) From 65184eb34ba3a69735172db0c1227369ee07ec25 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 21:59:36 +0000 Subject: [PATCH 0557/2258] Update CHANGELOG --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c4352ae..85320dc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 4th January 2024 + +### Added + +* Add CopyQ for clipboard management and Flameshot for screenshots. + +## 3rd January 2024 + +### Added + +* Add iamcco/markdown-preview.nvim to preview Markdown files within Neovim. + +## 27th December 2023 + +### Added + +* Add Dunst for notifications, including when the battery is low or fully charged. + ## 21st December 2023 ### Added From 0fefc2428c0d3318123ff053661154ed9d258aa1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 22:00:13 +0000 Subject: [PATCH 0558/2258] Update Flake lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 47305cff..b585dc89 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703992652, - "narHash": "sha256-C0o8AUyu8xYgJ36kOxJfXIroy9if/G6aJbNOpA5W0+M=", + "lastModified": 1704420045, + "narHash": "sha256-C36QmoJd5tdQ5R9MC1jM7fBkZW9zBUqbUCsgwS6j4QU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32f63574c85fbc80e4ba1fbb932cde9619bad25e", + "rev": "c1be43e8e837b8dbee2b3665a007e761680f0c3d", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "lastModified": 1704194953, + "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", "type": "github" }, "original": { From e8d3e1b5a28480559275f439b236658aad31e289 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 22:00:27 +0000 Subject: [PATCH 0559/2258] Don't load Telescope by default Sometimes I want to use Harpoon files or a different Telescope picker. --- .tmux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tmux b/.tmux index e9749df1..cad24425 100755 --- a/.tmux +++ b/.tmux @@ -14,7 +14,7 @@ fi tmux new-session -d -s "${session_name}" -n vim -c "${session_path}" # 1. Main window: Vim -tmux send-keys -t "${session_name}:vim" "nvim +GoToFile" Enter +tmux send-keys -t "${session_name}:vim" "nvim" Enter # 2. General shell use. tmux new-window -t "${session_name}" -c "${session_path}" From 1ddc526895ab1638d959942a97dad4636e2a6303 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 22:02:46 +0000 Subject: [PATCH 0560/2258] Move VLC windows to a different default workspace --- system/nixos/home-manager/modules/i3.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 3a3dcff7..ff3d809c 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -11,8 +11,7 @@ in config = { assigns = { - "3" = [{ class = "Alacritty"; }]; - "4" = [{ class = "vlc"; }]; + "8" = [{ class = "vlc"; }]; "9" = [ { class = "Slack"; } { class = "discord"; } From 0261347ede42972157880fba44a9a9f3f27faeeb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 22:03:01 +0000 Subject: [PATCH 0561/2258] Add new ZSH aliases --- system/shared/modules/zsh.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index 9e527c50..49a6397a 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -110,6 +110,8 @@ ialias update="fetch && rebase" ialias wip="git add . && git commit -m 'wip'"; ialias wt="git worktree" + balias lh3="xdg-open http://localhost:3000" + balias lh8="xdg-open http://localhost:8000" # tmux alias ta="tmux attach" @@ -144,6 +146,7 @@ alias nxb="nix build" alias nxd="nix develop" alias nxf="nix flake" + alias nxfu="nix flake update" alias nxs="nix shell" ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' ialias full-system-repair='nix-store --verify --check-contents --repair' From f465870c82ec00511993db83f7cab0f991e06115 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jan 2024 17:46:07 +0000 Subject: [PATCH 0562/2258] Revert "Move key mappings" This reverts commit b7f26524b0ddcd5db1b2783c20bdb423d4cb1bfb. --- config/neovim/after/ftplugin/markdown.lua | 1 - config/neovim/lua/opdavies/init.lua | 8 ++++++ config/neovim/lua/opdavies/options.lua | 35 ----------------------- 3 files changed, 8 insertions(+), 36 deletions(-) delete mode 100644 config/neovim/after/ftplugin/markdown.lua diff --git a/config/neovim/after/ftplugin/markdown.lua b/config/neovim/after/ftplugin/markdown.lua deleted file mode 100644 index 41480681..00000000 --- a/config/neovim/after/ftplugin/markdown.lua +++ /dev/null @@ -1 +0,0 @@ -vim.o.wrap = true diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua index 1fcdda41..386ccedc 100644 --- a/config/neovim/lua/opdavies/init.lua +++ b/config/neovim/lua/opdavies/init.lua @@ -12,3 +12,11 @@ require "opdavies.telescope.mappings" vim.api.nvim_create_user_command("GoToFile", function() require("opdavies.telescope").git_files() end, {}) + +local imap = require("opdavies.keymap").imap +local nmap = require("opdavies.keymap").nmap +local xmap = require("opdavies.keymap").xmap + +-- Quicker macro playback. +nmap { "Q", "@qj" } +xmap { "Q", ":norm @q" } diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 5599f22d..90ceaad5 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -31,25 +31,6 @@ local function set_autocmd() vim.cmd.set "filetype=term" end, }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = "html.twig", - group = vim.api.nvim_create_augroup("twig_keymaps", { clear = true }), - callback = function() - local imap = require("opdavies.keymap").imap - local opts = { silent = true, buffer = true } - - imap { "{#", "{# #}", opts } - imap { "{%", "{% %}", opts } - imap { "{{", "{{ }}", opts } - end, - }) -end - -local function set_user_commands() - vim.api.nvim_create_user_command("GoToFile", function() - require("opdavies.telescope").git_files() - end, {}) end local function set_filetypes() @@ -123,21 +104,6 @@ local function set_key_mappings() -- Move half a screen up or down and re-center. nmap { "", "zz" } nmap { "", "zz" } - - -- Quicker macro playback. - nmap { "Q", "@qj" } - xmap { "Q", ":norm @q" } - - -- Automatically close brackets, parentheses and quotes. - imap { "'", "''" } - imap { "(", "()" } - imap { "/*", "/**/" } - imap { "<", "<>" } - imap { "[", "[]" } - imap { "[;", "[];" } - imap { "{", "{}" } - imap { "{;", "{};" } - imap { '"', '""' } end local function set_highlights() @@ -202,7 +168,6 @@ M.setup = function() set_vim_o() set_key_mappings() set_autocmd() - set_user_commands() set_filetypes() set_highlights() From c700329642184315bbdc06726bd8ae958f7144d7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Jan 2024 22:21:02 +0000 Subject: [PATCH 0563/2258] Add Telescope mappings to find the current word --- CHANGELOG.md | 6 ++++++ .../lua/opdavies/telescope/mappings.lua | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85320dc7..3cd5fe6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 7th January 2024 + +### Added + +* Add Telescope keymaps to find the current word under the cursor within the open project. + ## 4th January 2024 ### Added diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua index 74e2d126..7daf8761 100644 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ b/config/neovim/lua/opdavies/telescope/mappings.lua @@ -32,6 +32,25 @@ telescope_mapper("fh", "help_tags") telescope_mapper("fl", "live_grep") telescope_mapper("fo", "oldfiles") +local builtin = require "telescope.builtin" +local nmap = require("opdavies.keymap").nmap + +nmap { + "fw", + function() + local word = vim.fn.expand "" + builtin.grep_string { search = word } + end, +} + +nmap { + "fW", + function() + local word = vim.fn.expand "" + builtin.grep_string { search = word } + end, +} + telescope_mapper("gp", "grep_prompt") telescope_mapper("ds", "lsp_document_symbols") From e87b7185928fb0039c11366c38210e620835a607 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jan 2024 01:13:35 +0000 Subject: [PATCH 0564/2258] Use feh for managing wallpaper --- CHANGELOG.md | 1 + system/nixos/home-manager/desktop.nix | 5 +---- system/nixos/home-manager/modules/autorandr.nix | 11 +++++++++++ system/nixos/home-manager/modules/i3.nix | 6 +++--- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cd5fe6f..bf0cf3de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Added +* Add `feh` to automatically select a random wallpaper and link it with i3 and autorandr. * Add Telescope keymaps to find the current word under the cursor within the open project. ## 4th January 2024 diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index 35f37d5f..41604cd2 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -34,8 +34,5 @@ }; }; - xdg.configFile.wallpaper = { - source = ../../../config/wallpaper; - recursive = true; - }; + programs.feh.enable = true; } diff --git a/system/nixos/home-manager/modules/autorandr.nix b/system/nixos/home-manager/modules/autorandr.nix index 799cbb0d..3650dd9b 100644 --- a/system/nixos/home-manager/modules/autorandr.nix +++ b/system/nixos/home-manager/modules/autorandr.nix @@ -1,6 +1,17 @@ +{ username, ... }: + { services.autorandr.enable = true; + xdg.configFile."autorandr/postswitch" = { + executable = true; + text = '' + #!/usr/bin/env bash + + feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; + ''; + }; + programs.autorandr = { enable = true; diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index ff3d809c..0dd8d46b 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -1,11 +1,9 @@ -{ config, inputs, self, ... }: +{ config, inputs, self, username, ... }: let modifier = "Mod4"; in { - home.file.".background-image".source = ../../../../config/wallpaper/wallpaper.jpg; - xsession.windowManager.i3 = { enable = true; @@ -60,6 +58,8 @@ in bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable + exec --no-startup-id feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; + default_border none default_floating_border none smart_borders on From 7c72cc4d5d4e3140c713b2ff1c875f3c9fe6db15 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jan 2024 20:39:56 +0000 Subject: [PATCH 0565/2258] Make the NixOS hostname configurable --- flake.nix | 10 +++++++++- system/nixos/configuration.nix | 4 ++-- system/nixos/default.nix | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 28de1ae1..26878660 100644 --- a/flake.nix +++ b/flake.nix @@ -32,7 +32,15 @@ flake = { nixosConfigurations = { - nixedo = nixos-system { desktop = true; }; + apollo = nixos-system { + desktop = true; + hostname = "apollo"; + }; + + nixedo = nixos-system { + desktop = true; + hostname = "nixedo"; + }; }; homeConfigurations = { diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 090b50f8..2b6b3ab4 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, desktop ? false, pkgs, system }: +{ inputs, desktop ? false, hostname, pkgs, system }: let pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${system}"; @@ -37,7 +37,7 @@ in DefaultTimeoutStopSec=10s ''; - # networking.hostName = "nixedo"; # Define your hostname. + networking.hostName = hostname; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary diff --git a/system/nixos/default.nix b/system/nixos/default.nix index 4a4f96ef..7f79f2e6 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -1,9 +1,9 @@ { inputs, pkgs, self, system, username }: -{ desktop ? false }: +{ desktop ? false, hostname }: let - configuration = import ./configuration.nix { inherit desktop inputs pkgs system; }; + configuration = import ./configuration.nix { inherit desktop hostname inputs pkgs system; }; hardware-configuration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { From baf7db2a23dc69dc0edd49c426cf95c04ba729a3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jan 2024 20:40:10 +0000 Subject: [PATCH 0566/2258] Enable Blueman --- system/nixos/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 2b6b3ab4..8644e2c2 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -262,6 +262,8 @@ in }; }; + services.blueman.enable = true; + services.cron = { enable = true; From 725359778407a4102c8da4ae781f600fc51ec960 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jan 2024 21:02:45 +0000 Subject: [PATCH 0567/2258] Add gscan2pdf --- system/nixos/home-manager/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 6d9f485f..016ad6c2 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -9,6 +9,7 @@ in imports = if desktop then [ desktop-config shared-config ] else [ shared-config ]; home.packages = shared-packages ++ pkgs.lib.optionals desktop [ + pkgs.gscan2pdf pkgs.discord pkgs.gimp pkgs.kdenlive From 0b3301c53fcad4de31a3803adce88d8cbd642814 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jan 2024 00:49:22 +0000 Subject: [PATCH 0568/2258] Don't do completion in command mode This is stopping normal expansion of things like `%:h` for the directory of the current buffer. --- config/neovim/after/plugin/completion.lua | 9 --------- 1 file changed, 9 deletions(-) diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua index ddb7592e..0e608299 100644 --- a/config/neovim/after/plugin/completion.lua +++ b/config/neovim/after/plugin/completion.lua @@ -74,15 +74,6 @@ cmp.setup.cmdline({ "/", "?" }, { }, }) -cmp.setup.cmdline(":", { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = "path" }, - }, { - { name = "cmdline" }, - }), -}) - vim.cmd [[ augroup DadbodSql au! From 8d617d5cea6b9ac78e355ce5148c89699092d306 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jan 2024 13:00:00 +0000 Subject: [PATCH 0569/2258] Update espanso snippets --- system/nixos/home-manager/modules/espanso.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index 4bb6e6b0..29d41923 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -1,5 +1,5 @@ let - baseUrl = "https://www.oliverdavies.dev"; + baseUrl = "https://www.oliverdavies.uk"; in { services.espanso = { @@ -54,6 +54,14 @@ in trigger = ":lh"; replace = "http://localhost"; } + { + trigger = ":podcast"; + replace = "${baseUrl}/podcast"; + } + { + trigger = ":pricing"; + replace = "${baseUrl}/pricing"; + } { trigger = ":talks"; replace = "${baseUrl}/talks"; From bc09343dfce85b61660fcf066de8d78f26eedae0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 12 Jan 2024 10:45:37 +0000 Subject: [PATCH 0570/2258] Update flake dependencies --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index b585dc89..5f3964da 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1704152458, - "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", + "lastModified": 1704982712, + "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", + "rev": "07f6395285469419cf9d078f59b5b49993198c00", "type": "github" }, "original": { @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1704099619, - "narHash": "sha256-QRVMkdxLmv+aKGjcgeEg31xtJEIsYq4i1Kbyw5EPS6g=", + "lastModified": 1704980875, + "narHash": "sha256-IPZmMjk5f4TBbEpzUFBc3OC1W6OwDNEXk2w/0uVXX1o=", "owner": "nix-community", "repo": "home-manager", - "rev": "7e398b3d76bc1503171b1364c9d4a07ac06f3851", + "rev": "5f0ab0eedc6ede69beb8f45561ffefa54edc6e65", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704420045, - "narHash": "sha256-C36QmoJd5tdQ5R9MC1jM7fBkZW9zBUqbUCsgwS6j4QU=", + "lastModified": 1704874635, + "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c1be43e8e837b8dbee2b3665a007e761680f0c3d", + "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1704194953, - "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", + "lastModified": 1704722960, + "narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", + "rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", "type": "github" }, "original": { From 537007929a5a03622d0ce5b98c3b04c9bef28fcc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 12 Jan 2024 10:50:46 +0000 Subject: [PATCH 0571/2258] Update CHANGELOG --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf0cf3de..e4572d38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 8th January 2024 + +### Added + +* Add `blueman` for Bluetooth and `gscan2pdf` for scanning. + +### Changed + +* Don't use autocomplete in Vim's command mode. +* Making the NixOS hostname configurable from the Flake. + ## 7th January 2024 ### Added From 5d244a83f068fb85723354873bceff09a76a3688 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 14 Jan 2024 08:56:45 +0000 Subject: [PATCH 0572/2258] Update flake dependencies --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 5f3964da..75d5090e 100644 --- a/flake.lock +++ b/flake.lock @@ -74,11 +74,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1704722960, - "narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", + "lastModified": 1705133751, + "narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", + "rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d", "type": "github" }, "original": { From 3d51d8fc3f8240d45a6f23aaba283ff1eab7369c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 14 Jan 2024 09:11:03 +0000 Subject: [PATCH 0573/2258] Switch back to NixOS unstable --- flake.lock | 47 +++++++++---------- flake.nix | 6 +-- system/nixos/configuration.nix | 8 ++-- .../nixos/home-manager/modules/alacritty.nix | 1 - system/shared/home-manager-packages.nix | 7 +-- system/shared/modules/neovim.nix | 13 ++--- 6 files changed, 37 insertions(+), 45 deletions(-) diff --git a/flake.lock b/flake.lock index 75d5090e..4312e9f1 100644 --- a/flake.lock +++ b/flake.lock @@ -24,27 +24,42 @@ ] }, "locked": { - "lastModified": 1704980875, - "narHash": "sha256-IPZmMjk5f4TBbEpzUFBc3OC1W6OwDNEXk2w/0uVXX1o=", + "lastModified": 1705169127, + "narHash": "sha256-j9OEtNxOIPWZWjbECVMkI1TO17SzlpHMm0LnVWKOR/g=", "owner": "nix-community", "repo": "home-manager", - "rev": "5f0ab0eedc6ede69beb8f45561ffefa54edc6e65", + "rev": "f2942f3385f1b35cc8a1abb03a45e29c9cb4d3c8", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1704874635, - "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", + "lastModified": 1705133751, + "narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", + "rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1705183652, + "narHash": "sha256-rnfkyUH0x72oHfiSDhuCHDHg3gFgF+lF8zkkg5Zihsw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "428544ae95eec077c7f823b422afae5f174dee4b", "type": "github" }, "original": { @@ -72,28 +87,12 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1705133751, - "narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-2311": "nixpkgs-2311" } } }, diff --git a/flake.nix b/flake.nix index 26878660..02220704 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-23.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + home-manager.url = "github:nix-community/home-manager"; + nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = inputs@{ flake-parts, self, ... }: diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 8644e2c2..5778b745 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,7 +1,7 @@ { inputs, desktop ? false, hostname, pkgs, system }: let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${system}"; + pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${system}; configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; @@ -89,7 +89,7 @@ in console.keyMap = "uk"; services.avahi.enable = true; - services.avahi.nssmdns = true; + services.avahi.nssmdns4 = true; services.avahi.openFirewall = true; services.printing.enable = true; @@ -139,7 +139,7 @@ in libnotify # Games. - zeroad + pkgs-2311.zeroad ]; # Some programs need SUID wrappers, can be configured further or are @@ -184,7 +184,7 @@ in }; }; - packages = with pkgsUnstable; [ + packages = with pkgs; [ (nerdfonts.override { fonts = [ "AnonymousPro" diff --git a/system/nixos/home-manager/modules/alacritty.nix b/system/nixos/home-manager/modules/alacritty.nix index 7883a9ac..dfde03ce 100644 --- a/system/nixos/home-manager/modules/alacritty.nix +++ b/system/nixos/home-manager/modules/alacritty.nix @@ -14,7 +14,6 @@ size = 12.0; bold.style = "Regular"; - bolditalic.style = "Italic"; normal.family = "JetBrainsMono Nerd Font Mono"; # fc-list : family | sort | grep "Nerd Font" diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index c33404d9..4265da12 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -1,7 +1,4 @@ { inputs, pkgs, ... }: -let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; -in with pkgs; [ awscli2 bottom @@ -9,6 +6,7 @@ with pkgs; [ delta dog doppler + eza fd file fzf @@ -24,10 +22,9 @@ with pkgs; [ lua mysql neofetch - pkgsUnstable.eza - pkgsUnstable.rustywind pv ripgrep + rustywind tldr tree tree-sitter diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 76ce0de2..6436f7c4 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -1,8 +1,6 @@ { inputs, pkgs, self, ... }: let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; - customVim = with self; { toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { name = "toggle-checkbox-nvim"; @@ -10,7 +8,7 @@ let owner = "opdavies"; repo = "toggle-checkbox.nvim"; rev = "main"; - sha256 = "1h9IGyMa80HWrtiPjruG4cYBqgTafNirW0Hwl/JO70A="; + sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; }; }; @@ -75,7 +73,7 @@ in customVim.vim-heritage customVim.vim-textobj-xmlattr customVim.vim-zoom - pkgsUnstable.vimPlugins.vim-astro + vimPlugins.vim-astro vimPlugins.vim-visual-star-search { @@ -154,9 +152,9 @@ in vimPlugins.nvim-treesitter-textobjects # LSP, linting and formatting - pkgsUnstable.vimPlugins.conform-nvim - pkgsUnstable.vimPlugins.none-ls-nvim + vimPlugins.conform-nvim vimPlugins.lsp-status-nvim + vimPlugins.none-ls-nvim vimPlugins.nvim-lspconfig # Completion @@ -224,6 +222,7 @@ in ansible-language-server gopls lua-language-server + nixd nodePackages.intelephense nodePackages."@astrojs/language-server" nodePackages."@tailwindcss/language-server" @@ -236,14 +235,12 @@ in nodePackages.vue-language-server nodePackages.yaml-language-server phpactor - pkgsUnstable.nixd rnix-lsp terraform-ls # Formatters black nodePackages.prettier - rstfmt stylua # Tools From d706e0cdf116b7f5e13563b433944f885283cf66 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 14 Jan 2024 17:15:41 +0000 Subject: [PATCH 0574/2258] Show trailing spaces --- config/neovim/lua/opdavies/options.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 90ceaad5..74ee5a17 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -129,6 +129,7 @@ local function set_vim_o() hidden = false, inccommand = "split", linebreak = true, + list = true, mouse = "n", number = true, pumblend = 10, @@ -159,6 +160,9 @@ local function set_vim_o() vim.opt.backupdir:remove "." -- keep backups out of the current directory vim.opt.clipboard:append "unnamedplus" + vim.opt.listchars:append { + trail = "·", + } vim.opt.completeopt = { "menu", "menuone", "noselect" } vim.opt.laststatus = 3 end From fbb62dd6ce72e993962db4682ba03f53318429dd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 15 Jan 2024 00:07:23 +0000 Subject: [PATCH 0575/2258] Update flake dependencies --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4312e9f1..9d8a2a3e 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1705169127, - "narHash": "sha256-j9OEtNxOIPWZWjbECVMkI1TO17SzlpHMm0LnVWKOR/g=", + "lastModified": 1705269478, + "narHash": "sha256-j7Rp8Y3ckBHOlIzqe0g2+/BVce9SU/dVtn4Eb0rMuY4=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2942f3385f1b35cc8a1abb03a45e29c9cb4d3c8", + "rev": "846200eb574faa2af808ed02e653c2b8ed51fd71", "type": "github" }, "original": { From c66861483b4b560a972e9792b0cbded2994a1f29 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 15 Jan 2024 00:07:41 +0000 Subject: [PATCH 0576/2258] Add keybinding to switch wallpaper --- system/nixos/home-manager/modules/i3.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 0dd8d46b..ab9b4718 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -34,6 +34,7 @@ in "${modifier}+Shift+k" = "move up"; "${modifier}+Shift+l" = "move right"; + "${modifier}+Shift+s" = "exec --no-startup-id feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*;"; "${modifier}+Shift+p" = "exec flameshot gui"; "${modifier}+Shift+y" = "exec copyq toggle"; From 01d3c1b3a18b87f980b85e0842f201cccb216060 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Jan 2024 07:36:49 +0000 Subject: [PATCH 0577/2258] Use nixpkgs paths in i3 configuration Fix Firefox not loading when using the keybinding. --- system/nixos/home-manager/modules/i3.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index ab9b4718..08bf1f88 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -1,4 +1,4 @@ -{ config, inputs, self, username, ... }: +{ config, inputs, self, username, pkgs, ... }: let modifier = "Mod4"; @@ -19,7 +19,7 @@ in modifier = modifier; keybindings = inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+Shift+b" = "exec firefox"; + "${modifier}+Shift+b" = "exec ${pkgs.firefox-devedition}/bin/firefox-devedition"; "${modifier}+Tab" = "workspace back_and_forth"; # Change focus. @@ -59,7 +59,7 @@ in bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable - exec --no-startup-id feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; + exec --no-startup-id ${pkgs.feh}/bin/feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; default_border none default_floating_border none From b55117af69d90d3cfdcf2f8462a74c95165b9865 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Jan 2024 07:40:11 +0000 Subject: [PATCH 0578/2258] Update flake dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 9d8a2a3e..784207e1 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1705269478, - "narHash": "sha256-j7Rp8Y3ckBHOlIzqe0g2+/BVce9SU/dVtn4Eb0rMuY4=", + "lastModified": 1705446327, + "narHash": "sha256-n7FCuAR2BI1SvLjF6eFc8VE6WLZCMlbToyfqU2ihbkU=", "owner": "nix-community", "repo": "home-manager", - "rev": "846200eb574faa2af808ed02e653c2b8ed51fd71", + "rev": "16cefa78cc801911ebd4ff1faddc6280ab3c9228", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705133751, - "narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=", + "lastModified": 1705316053, + "narHash": "sha256-J2Ey5mPFT8gdfL2XC0JTZvKaBw/b2pnyudEXFvl+dQM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d", + "rev": "c3e128f3c0ecc1fb04aef9f72b3dcc2f6cecf370", "type": "github" }, "original": { @@ -55,11 +55,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1705183652, - "narHash": "sha256-rnfkyUH0x72oHfiSDhuCHDHg3gFgF+lF8zkkg5Zihsw=", + "lastModified": 1705331948, + "narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "428544ae95eec077c7f823b422afae5f174dee4b", + "rev": "b8dd8be3c790215716e7c12b247f45ca525867e2", "type": "github" }, "original": { From 06ea9a5ff9d3009d3df87dcd22776102d99d59cd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Jan 2024 22:05:41 +0000 Subject: [PATCH 0579/2258] Add snippets for `__invoke()` and `__construct()` --- config/neovim/lua/opdavies/snippets/ft/php.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua index 03215599..75e4e538 100644 --- a/config/neovim/lua/opdavies/snippets/ft/php.lua +++ b/config/neovim/lua/opdavies/snippets/ft/php.lua @@ -7,6 +7,24 @@ local i = ls.insert_node local t = ls.text_node local M = { + __construct = fmta( + [[ + public function __construct(<>) { + <> + } + ]], + { i(1), i(0) } + ), + + __invoke = fmta( + [[ + public function __invoke(<>) { + <> + } + ]], + { i(1), i(0) } + ), + func = fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) }), met = fmta( From d999e21d45843655c13886ab17089b7513507555 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Jan 2024 22:11:59 +0000 Subject: [PATCH 0580/2258] Add a keymap to run `:Git commit` --- config/neovim/after/plugin/fugitive.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/after/plugin/fugitive.lua b/config/neovim/after/plugin/fugitive.lua index a80d0b19..18df603b 100644 --- a/config/neovim/after/plugin/fugitive.lua +++ b/config/neovim/after/plugin/fugitive.lua @@ -1,3 +1,4 @@ +vim.keymap.set("n", "gc", "Git commitK") vim.keymap.set("n", "gs", "GitK") vim.api.nvim_create_autocmd("BufWinEnter", { From 16520cca1636ecaf7402d3fe3dd3802cb2b8d855 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 18 Jan 2024 06:48:08 +0000 Subject: [PATCH 0581/2258] Update flake dependencies --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 784207e1..43dc4228 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1705446327, - "narHash": "sha256-n7FCuAR2BI1SvLjF6eFc8VE6WLZCMlbToyfqU2ihbkU=", + "lastModified": 1705535278, + "narHash": "sha256-V5+XKfNbiY0bLKLQlH+AXyhHttEL7XcZBH9iSbxxexA=", "owner": "nix-community", "repo": "home-manager", - "rev": "16cefa78cc801911ebd4ff1faddc6280ab3c9228", + "rev": "b84191db127c16a92cbdf7f7b9969d58bb456699", "type": "github" }, "original": { From 6d27e72b021e91cdc6ced9913483e42a39f76e35 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 Jan 2024 08:32:38 +0000 Subject: [PATCH 0582/2258] Extract neovim configuration to a separate ...repository https://github.com/opdavies/opdavies.nvim --- config/neovim/after/ftplugin/term.vim | 4 - config/neovim/after/plugin/colorscheme.lua | 21 -- config/neovim/after/plugin/comment.lua | 19 -- config/neovim/after/plugin/completion.lua | 82 -------- config/neovim/after/plugin/conform.lua | 11 -- config/neovim/after/plugin/dap.lua | 74 ------- config/neovim/after/plugin/dial.lua | 52 ----- config/neovim/after/plugin/fugitive.lua | 23 --- config/neovim/after/plugin/gitsigns.lua | 40 ---- config/neovim/after/plugin/harpoon.lua | 18 -- config/neovim/after/plugin/lualine.lua | 9 - config/neovim/after/plugin/luasnip.lua | 97 ---------- config/neovim/after/plugin/netrw.lua | 6 - config/neovim/after/plugin/nvim-rest.lua | 12 -- config/neovim/after/plugin/phpactor.lua | 4 - config/neovim/after/plugin/projectionist.lua | 58 ------ config/neovim/after/plugin/refactoring.lua | 18 -- config/neovim/after/plugin/treesitter.lua | 137 ------------- config/neovim/after/plugin/undotree.lua | 3 - config/neovim/after/plugin/vim-test.lua | 20 -- config/neovim/autoload/opdavies.vim | 12 -- config/neovim/lua/opdavies/globals.lua | 13 -- config/neovim/lua/opdavies/init.lua | 22 --- config/neovim/lua/opdavies/keymap.lua | 23 --- config/neovim/lua/opdavies/lsp/init.lua | 153 --------------- config/neovim/lua/opdavies/lsp/none-ls.lua | 46 ----- config/neovim/lua/opdavies/lsp/signature.lua | 6 - config/neovim/lua/opdavies/options.lua | 181 ------------------ .../lua/opdavies/snippets/ft/javascript.lua | 10 - .../neovim/lua/opdavies/snippets/ft/lua.lua | 27 --- .../lua/opdavies/snippets/ft/markdown.lua | 20 -- .../neovim/lua/opdavies/snippets/ft/nix.lua | 23 --- .../neovim/lua/opdavies/snippets/ft/php.lua | 61 ------ .../neovim/lua/opdavies/snippets/ft/rst.lua | 49 ----- config/neovim/lua/opdavies/telescope/init.lua | 161 ---------------- .../lua/opdavies/telescope/mappings.lua | 62 ------ .../neovim/lua/opdavies/telescope/setup.lua | 101 ---------- flake.lock | 77 +++++++- flake.nix | 9 +- system/shared/modules/neovim.nix | 2 +- 40 files changed, 70 insertions(+), 1696 deletions(-) delete mode 100644 config/neovim/after/ftplugin/term.vim delete mode 100644 config/neovim/after/plugin/colorscheme.lua delete mode 100644 config/neovim/after/plugin/comment.lua delete mode 100644 config/neovim/after/plugin/completion.lua delete mode 100644 config/neovim/after/plugin/conform.lua delete mode 100644 config/neovim/after/plugin/dap.lua delete mode 100644 config/neovim/after/plugin/dial.lua delete mode 100644 config/neovim/after/plugin/fugitive.lua delete mode 100644 config/neovim/after/plugin/gitsigns.lua delete mode 100644 config/neovim/after/plugin/harpoon.lua delete mode 100644 config/neovim/after/plugin/lualine.lua delete mode 100644 config/neovim/after/plugin/luasnip.lua delete mode 100644 config/neovim/after/plugin/netrw.lua delete mode 100644 config/neovim/after/plugin/nvim-rest.lua delete mode 100644 config/neovim/after/plugin/phpactor.lua delete mode 100644 config/neovim/after/plugin/projectionist.lua delete mode 100644 config/neovim/after/plugin/refactoring.lua delete mode 100644 config/neovim/after/plugin/treesitter.lua delete mode 100644 config/neovim/after/plugin/undotree.lua delete mode 100644 config/neovim/after/plugin/vim-test.lua delete mode 100644 config/neovim/autoload/opdavies.vim delete mode 100644 config/neovim/lua/opdavies/globals.lua delete mode 100644 config/neovim/lua/opdavies/init.lua delete mode 100644 config/neovim/lua/opdavies/keymap.lua delete mode 100644 config/neovim/lua/opdavies/lsp/init.lua delete mode 100644 config/neovim/lua/opdavies/lsp/none-ls.lua delete mode 100644 config/neovim/lua/opdavies/lsp/signature.lua delete mode 100644 config/neovim/lua/opdavies/options.lua delete mode 100644 config/neovim/lua/opdavies/snippets/ft/javascript.lua delete mode 100644 config/neovim/lua/opdavies/snippets/ft/lua.lua delete mode 100644 config/neovim/lua/opdavies/snippets/ft/markdown.lua delete mode 100644 config/neovim/lua/opdavies/snippets/ft/nix.lua delete mode 100644 config/neovim/lua/opdavies/snippets/ft/php.lua delete mode 100644 config/neovim/lua/opdavies/snippets/ft/rst.lua delete mode 100644 config/neovim/lua/opdavies/telescope/init.lua delete mode 100644 config/neovim/lua/opdavies/telescope/mappings.lua delete mode 100644 config/neovim/lua/opdavies/telescope/setup.lua diff --git a/config/neovim/after/ftplugin/term.vim b/config/neovim/after/ftplugin/term.vim deleted file mode 100644 index 16bbc95e..00000000 --- a/config/neovim/after/ftplugin/term.vim +++ /dev/null @@ -1,4 +0,0 @@ -setlocal norelativenumber -setlocal nonumber - -setlocal scrolloff=0 diff --git a/config/neovim/after/plugin/colorscheme.lua b/config/neovim/after/plugin/colorscheme.lua deleted file mode 100644 index a6f0ace7..00000000 --- a/config/neovim/after/plugin/colorscheme.lua +++ /dev/null @@ -1,21 +0,0 @@ -local status_ok, catppuccin = pcall(require, "catppuccin") -if not status_ok then - return -end - -catppuccin.setup { - flavour = "macchiato", - integrations = { - cmp = true, - gitsigns = true, - native_lsp = { - enabled = true, - }, - telescope = true, - treesitter = true, - }, - term_colors = true, - transparent_background = true, -} - -vim.cmd.colorscheme "catppuccin" diff --git a/config/neovim/after/plugin/comment.lua b/config/neovim/after/plugin/comment.lua deleted file mode 100644 index eb350eb9..00000000 --- a/config/neovim/after/plugin/comment.lua +++ /dev/null @@ -1,19 +0,0 @@ -local status_ok, comment = pcall(require, "Comment") -if not status_ok then - return -end - -comment.setup { - padding = true, - - opleader = { - line = "gc", - block = "gb", - }, - - mappings = { - basic = true, - extra = true, - extended = false, - }, -} diff --git a/config/neovim/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua deleted file mode 100644 index 0e608299..00000000 --- a/config/neovim/after/plugin/completion.lua +++ /dev/null @@ -1,82 +0,0 @@ -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - -local snip_status_ok, luasnip = pcall(require, "luasnip") -if not snip_status_ok then - return -end - -vim.opt.shortmess:append "c" - -cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - - mapping = cmp.mapping.preset.insert { - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.close(), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.confirm { select = true }, - [""] = cmp.config.disable, - }, - - sources = { - { name = "nvim_lsp_signature_help" }, - { name = "nvim_lsp" }, - { name = "nvim_lua" }, - { name = "cmp_tabnine" }, - { name = "path" }, - { name = "luasnip" }, - { name = "buffer", keyword_length = 5, max_item_count = 5 }, - }, - - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - cmp.config.compare.score, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - - formatting = { - format = require("lspkind").cmp_format { - with_text = true, - menu = { - buffer = "[buf]", - cmp_tabnine = "[tn]", - luasnip = "[snip]", - nvim_lsp = "[lsp]", - nvim_lua = "[lua]", - path = "[path]", - }, - }, - }, - - experimental = { - ghost_text = true, - native_menu = false, - }, -} - -cmp.setup.cmdline({ "/", "?" }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = "buffer" }, - }, -}) - -vim.cmd [[ - augroup DadbodSql - au! - autocmd FileType sql,mysql,plsql lua require('cmp').setup.buffer { sources = { { name = 'vim-dadbod-completion' } } } - augroup END -]] diff --git a/config/neovim/after/plugin/conform.lua b/config/neovim/after/plugin/conform.lua deleted file mode 100644 index 6c472346..00000000 --- a/config/neovim/after/plugin/conform.lua +++ /dev/null @@ -1,11 +0,0 @@ -local conform = require "conform" - -conform.setup { - formatters_by_ft = { - rst = { "rstfmt" }, - }, -} - -conform.formatters.rstfmt = { - command = "rstfmt"; -} diff --git a/config/neovim/after/plugin/dap.lua b/config/neovim/after/plugin/dap.lua deleted file mode 100644 index 53a241bc..00000000 --- a/config/neovim/after/plugin/dap.lua +++ /dev/null @@ -1,74 +0,0 @@ -local has_dap, dap = pcall(require, "dap") -if not has_dap then - return -end - -local has_dap_ui, dapui = pcall(require, "dapui") -if not has_dap_ui then - return -end - -dap.adapters.php = { - type = "executable", - command = "node", - args = { os.getenv "HOME" .. "/build/vscode-php-debug/out/phpDebug.js" }, -} - -dap.configurations.php = { - { - type = "php", - request = "launch", - name = "Listen for Xdebug", - port = 9003, - pathMappings = { - ["/var/www/html"] = "${workspaceFolder}", - }, - }, -} - -dap.listeners.after.event_initialized["dapui_config"] = function() - dapui.open() -end - -dap.listeners.before.event_terminated["dapui_config"] = function() - dapui.close() -end - -dap.listeners.before.event_exited["dapui_config"] = function() - dapui.close() -end - -require("dapui").setup { - layouts = { - { - elements = { - { id = "scopes", size = 0.25 }, - "breakpoints", - "stacks", - "watches", - }, - size = 40, -- 40 columns - position = "right", - }, - { - elements = { - "repl", - "console", - }, - size = 0.25, -- 25% of total lines - position = "bottom", - }, - }, -} - -require("nvim-dap-virtual-text").setup { - commented = true, -} - -local nmap = require("opdavies.keymap").nmap - -nmap { "", ":lua require'dap'.step_over()" } -nmap { "", ":lua require'dap'.step_into()" } -nmap { "", ":lua require'dap'.step_over()" } -nmap { "", ":lua require'dap'.continue()" } -nmap { "b", ":lua require'dap'.toggle_breakpoint()" } diff --git a/config/neovim/after/plugin/dial.lua b/config/neovim/after/plugin/dial.lua deleted file mode 100644 index 8e051a82..00000000 --- a/config/neovim/after/plugin/dial.lua +++ /dev/null @@ -1,52 +0,0 @@ -local status_ok, dial_config = pcall(require, "dial.config") -if not status_ok then - return -end - -local augend = require "dial.augend" - -dial_config.augends:register_group { - visual = { - augend.integer.alias.decimal, - augend.integer.alias.hex, - augend.date.alias["%Y/%m/%d"], - augend.constant.alias.alpha, - augend.constant.alias.Alpha, - }, - - mygroup = { - augend.constant.new { - elements = { "TRUE", "FALSE" }, - word = true, - cyclic = true, - }, - - augend.constant.new { - elements = { "public", "protected", "private" }, - word = true, - cyclic = true, - }, - - augend.constant.new { - elements = { "&&", "||" }, - word = false, - cyclic = true, - }, - - augend.date.alias["%d/%m/%Y"], - augend.constant.alias.bool, -- boolean value (true <-> false) - augend.integer.alias.decimal, - augend.integer.alias.hex, - augend.semver.alias.semver, - }, -} - -local dial_map = require "dial.map" - -local nmap = require("opdavies.keymap").nmap -local vmap = require("opdavies.keymap").vmap - -nmap { "", dial_map.inc_normal "mygroup" } -nmap { "", dial_map.dec_normal "mygroup" } -vmap { "", dial_map.inc_normal "visual" } -vmap { "", dial_map.dec_normal "visual" } diff --git a/config/neovim/after/plugin/fugitive.lua b/config/neovim/after/plugin/fugitive.lua deleted file mode 100644 index 18df603b..00000000 --- a/config/neovim/after/plugin/fugitive.lua +++ /dev/null @@ -1,23 +0,0 @@ -vim.keymap.set("n", "gc", "Git commitK") -vim.keymap.set("n", "gs", "GitK") - -vim.api.nvim_create_autocmd("BufWinEnter", { - pattern = "*", - - callback = function() - if vim.bo.ft ~= "fugitive" then - return - end - - local bufnr = vim.api.nvim_get_current_buf() - local opts = { buffer = bufnr, remap = false } - - vim.keymap.set("n", "p", function() - vim.cmd.Git "push" - end, opts) - - vim.keymap.set("n", "P", function() - vim.cmd.Git { "pull", "--rebase" } - end, opts) - end, -}) diff --git a/config/neovim/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua deleted file mode 100644 index 8f0570ee..00000000 --- a/config/neovim/after/plugin/gitsigns.lua +++ /dev/null @@ -1,40 +0,0 @@ -local gitsigns_status_ok, gitsigns = pcall(require, "gitsigns") -if not gitsigns_status_ok then - return -end - -gitsigns.setup { - linehl = false, - numhl = true, -} - -local bufnr = vim.api.nvim_get_current_buf() - -local map = require("opdavies.keymap").map -local nmap = require("opdavies.keymap").nmap -local vmap = require("opdavies.keymap").vmap - -nmap { "[h", "Gitsigns prev_hunk" } -nmap { "]h", "Gitsigns next_hunk" } - -nmap { "hR", gitsigns.reset_buffer } -nmap { "hS", gitsigns.stage_buffer } -nmap { "hp", gitsigns.preview_hunk } -nmap { "hr", gitsigns.reset_hunk } -nmap { "hs", gitsigns.stage_hunk } -nmap { "hu", gitsigns.undo_stage_hunk } -vmap { - "hr", - function() - gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } - end, -} -vmap { - "hs", - function() - gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } - end, -} - --- Text object. -map { { "o", "x" }, "ih", ":Gitsigns select_hunk" } diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua deleted file mode 100644 index 8d2c7d94..00000000 --- a/config/neovim/after/plugin/harpoon.lua +++ /dev/null @@ -1,18 +0,0 @@ -require("harpoon").setup() - -local nmap = require("opdavies.keymap").nmap - -nmap { "", require("harpoon.ui").toggle_quick_menu } -nmap { "", require("harpoon.mark").add_file } - -nmap { "hl", require("harpoon.ui").toggle_quick_menu } -nmap { "hm", require("harpoon.mark").add_file } - -for i = 1, 5 do - nmap { - string.format("%s", i), - function() - require("harpoon.ui").nav_file(i) - end, - } -end diff --git a/config/neovim/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua deleted file mode 100644 index 7c0d4192..00000000 --- a/config/neovim/after/plugin/lualine.lua +++ /dev/null @@ -1,9 +0,0 @@ -require("lualine").setup { - options = { - component_separators = { left = "", right = "" }, - extensions = { "fzf", "quickfix" }, - icons_enabled = false, - section_separators = { left = "", right = "" }, - theme = "catppuccin", - }, -} diff --git a/config/neovim/after/plugin/luasnip.lua b/config/neovim/after/plugin/luasnip.lua deleted file mode 100644 index 8b86e47d..00000000 --- a/config/neovim/after/plugin/luasnip.lua +++ /dev/null @@ -1,97 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local api = vim.api -local fn = vim.fn - -local ls = require "luasnip" - -local snippet = ls.snippet -local t = ls.text_node - -local shortcut = function(val) - if type(val) == "string" then - return { t { val }, i(0) } - end - - if type(val) == "table" then - for k, v in ipairs(val) do - if type(v) == "string" then - val[k] = t { v } - end - end - end - - return val -end - -local make = function(tbl) - local result = {} - for k, v in pairs(tbl) do - table.insert(result, (snippet({ trig = k, desc = v.desc }, shortcut(v)))) - end - - return result -end - -local snippets = {} - -for _, ft_path in ipairs(api.nvim_get_runtime_file("lua/opdavies/snippets/ft/*.lua", true)) do - local ft = fn.fnamemodify(ft_path, ":t:r") - snippets[ft] = make(loadfile(ft_path)()) - - ls.add_snippets(ft, snippets[ft]) -end - -ls.add_snippets("js", snippets.javascript) -ls.add_snippets("typescript", snippets.javascript) -ls.add_snippets("vue", snippets.javascript) - -require("luasnip.loaders.from_vscode").lazy_load() - -ls.config.set_config { - enable_autosnippets = true, - history = true, - updateevents = "TextChanged,TextChangedI", -} - -local imap = require("opdavies.keymap").imap -local map = require("opdavies.keymap").map -local nmap = require("opdavies.keymap").nmap - --- Expand the current item or just to the next item within the snippet. -map { - { "i", "s" }, - "", - function() - if ls.expand_or_jumpable() then - ls.expand_or_jump() - end - end, - { silent = true }, -} - --- Jump backwards. -map { - { "i", "s" }, - "", - function() - if ls.jumpable(-1) then - ls.jump(-1) - end - end, - { silent = true }, -} - --- Select within a list of options. -imap { - "", - function() - if ls.choice_active() then - ls.change_choice(1) - end - end, -} - -nmap { "s", "source ~/Code/github.com/opdavies/dotfiles/config/neovim/after/plugin/luasnip.lua" } diff --git a/config/neovim/after/plugin/netrw.lua b/config/neovim/after/plugin/netrw.lua deleted file mode 100644 index 1feb376d..00000000 --- a/config/neovim/after/plugin/netrw.lua +++ /dev/null @@ -1,6 +0,0 @@ -vim.keymap.set("n", "pv", vim.cmd.Ex) - -vim.g.netrw_banner = 0 -vim.g.netrw_browse_split = 0 -vim.g.netrw_liststyle = 3 -vim.g.netrw_winsize = 20 diff --git a/config/neovim/after/plugin/nvim-rest.lua b/config/neovim/after/plugin/nvim-rest.lua deleted file mode 100644 index 857a4330..00000000 --- a/config/neovim/after/plugin/nvim-rest.lua +++ /dev/null @@ -1,12 +0,0 @@ -local status_ok, rest_nvim = pcall(require, "rest-nvim") -if not status_ok then - return -end - -rest_nvim.setup() - -local nmap = require("opdavies.keymap").nmap - -nmap { "rr", "RestNvim" } -nmap { "rp", "RestNvimPreview" } -nmap { "rl", "RestNvimLast" } diff --git a/config/neovim/after/plugin/phpactor.lua b/config/neovim/after/plugin/phpactor.lua deleted file mode 100644 index 2d0f249f..00000000 --- a/config/neovim/after/plugin/phpactor.lua +++ /dev/null @@ -1,4 +0,0 @@ -local nmap = require("opdavies.keymap").nmap - -nmap { "pm", ":PhpactorContextMenu" } -nmap { "pn", ":PhpactorClassNew" } diff --git a/config/neovim/after/plugin/projectionist.lua b/config/neovim/after/plugin/projectionist.lua deleted file mode 100644 index 81467bbb..00000000 --- a/config/neovim/after/plugin/projectionist.lua +++ /dev/null @@ -1,58 +0,0 @@ -local heuristics = { - ["composer.json"] = { - ["src/*.php"] = { - type = "source", - alternate = "tests/{}Test.php", - }, - - ["src/Controller/*.php"] = { - type = "controller", - }, - - ["src/Model/*.php"] = { - type = "model", - }, - - ["src/Service/*.php"] = { - type = "service", - }, - - ["tests/*Test.php"] = { - type = "test", - alternate = "src/{}.php", - }, - }, - - ["fractal.config.js"] = { - ["*.config.yml"] = { - alternate = "{dirname}/{basename}.twig", - }, - - ["*.twig"] = { - alternate = "{dirname}/{basename}.config.yml", - }, - }, - - ["package.json"] = { - ["src/*.ts"] = { - type = "source", - alternate = "tests/{}.test.ts", - }, - - ["src/*.service.ts"] = { - type = "source", - alternate = "tests/{}.test.ts", - }, - - ["tests/*.test.ts"] = { - type = "test", - alternate = "src/{}.ts", - }, - }, -} - -vim.g.projectionist_heuristics = heuristics - -local nmap = require("opdavies.keymap").nmap - -nmap { "aa", "A" } diff --git a/config/neovim/after/plugin/refactoring.lua b/config/neovim/after/plugin/refactoring.lua deleted file mode 100644 index 2eb06587..00000000 --- a/config/neovim/after/plugin/refactoring.lua +++ /dev/null @@ -1,18 +0,0 @@ -local status_ok, refactoring = pcall(require, "refactoring") -if not status_ok then - return -end - -local nmap = require("opdavies.keymap").nmap -local vmap = require("opdavies.keymap").vmap - --- TODO: add keymaps - https://github.com/ThePrimeagen/refactoring.nvim#configuration-for-refactoring-operations -refactoring.setup {} - -local opts = { silent = true } - -nmap { "ri", "lua require 'refactoring'.refactor 'Inline Variable'", opts } - -vmap { "re", "lua require 'refactoring'.refactor 'Extract Function'", opts } -vmap { "ri", "lua require 'refactoring'.refactor 'Inline Variable'", opts } -vmap { "rv", "lua require 'refactoring'.refactor 'Extract Variable'", opts } diff --git a/config/neovim/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua deleted file mode 100644 index 59007af9..00000000 --- a/config/neovim/after/plugin/treesitter.lua +++ /dev/null @@ -1,137 +0,0 @@ -local configs = require "nvim-treesitter.configs" -local context = require "treesitter-context" -local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" - -local map = require("opdavies.keymap").map -local nmap = require("opdavies.keymap").nmap - -configs.setup { - autotag = { - enable = true, - }, - - context_commenting = { - enable = true, - }, - - highlight = { - enable = true, - }, - - indent = { - disable = { "yaml" }, - enable = true, - }, - - matchup = { - enable = true, - }, - - textobjects = { - select = { - enable = true, - lookahead = true, - - keymaps = { - ["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" }, - ["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" }, - ["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" }, - ["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" }, - - ["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" }, - ["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" }, - ["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" }, - ["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" }, - - ["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" }, - ["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" }, - - ["ac"] = { query = "@class.outer", desc = "Select outer part of a class" }, - ["ic"] = { query = "@class.inner", desc = "Select inner part of a class" }, - - ["af"] = { query = "@call.outer", desc = "Select outer part of a function call" }, - ["if"] = { query = "@call.inner", desc = "Select inner part of a function call" }, - - ["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" }, - ["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" }, - - ["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" }, - ["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" }, - - ["am"] = { query = "@function.outer", desc = "Select outer part of a method/function definition" }, - ["im"] = { query = "@function.inner", desc = "Select inner part of a method/function definition" }, - }, - }, - }, - - swap = { - enable = true, - - swap_next = { - ["na"] = "@parameter.inner", -- swap parameters/argument with next - ["n:"] = "@property.outer", -- swap object property with next - ["nm"] = "@function.outer", -- swap function with next - }, - - swap_previous = { - ["pa"] = "@parameter.inner", -- swap parameters/argument with prev - ["p:"] = "@property.outer", -- swap object property with prev - ["pm"] = "@function.outer", -- swap function with previous - }, - }, - - move = { - enable = true, - set_jumps = true, -- whether to set jumps in the jumplist - - goto_next_start = { - ["]f"] = { query = "@call.outer", desc = "Next function call start" }, - ["]m"] = { query = "@function.outer", desc = "Next method/function def start" }, - ["]c"] = { query = "@class.outer", desc = "Next class start" }, - ["]i"] = { query = "@conditional.outer", desc = "Next conditional start" }, - ["]l"] = { query = "@loop.outer", desc = "Next loop start" }, - - ["]s"] = { query = "@scope", query_group = "locals", desc = "Next scope" }, - ["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" }, - }, - - goto_next_end = { - ["]F"] = { query = "@call.outer", desc = "Next function call end" }, - ["]M"] = { query = "@function.outer", desc = "Next method/function def end" }, - ["]C"] = { query = "@class.outer", desc = "Next class end" }, - ["]I"] = { query = "@conditional.outer", desc = "Next conditional end" }, - ["]L"] = { query = "@loop.outer", desc = "Next loop end" }, - }, - - goto_previous_start = { - ["[f"] = { query = "@call.outer", desc = "Prev function call start" }, - ["[m"] = { query = "@function.outer", desc = "Prev method/function def start" }, - ["[c"] = { query = "@class.outer", desc = "Prev class start" }, - ["[i"] = { query = "@conditional.outer", desc = "Prev conditional start" }, - ["[l"] = { query = "@loop.outer", desc = "Prev loop start" }, - }, - - goto_previous_end = { - ["[F"] = { query = "@call.outer", desc = "Prev function call end" }, - ["[M"] = { query = "@function.outer", desc = "Prev method/function def end" }, - ["[C"] = { query = "@class.outer", desc = "Prev class end" }, - ["[I"] = { query = "@conditional.outer", desc = "Prev conditional end" }, - ["[L"] = { query = "@loop.outer", desc = "Prev loop end" }, - }, - }, -} - -nmap { "th", "TSHighlightCapturesUnderCursor" } -nmap { "tp", "TSPlaygroundToggle" } - --- vim way: ; goes to the direction you were moving. -map {{ "n", "o", "x" }, ";", ts_repeat_move.repeat_last_move} -map {{ "n", "o", "x" }, ",", ts_repeat_move.repeat_last_move_opposite} - --- Optionally, make builtin f, F, t, T also repeatable with ; and , -map {{ "n", "o", "x" }, "f", ts_repeat_move.builtin_f} -map {{ "n", "o", "x" }, "F", ts_repeat_move.builtin_F} -map {{ "n", "o", "x" }, "t", ts_repeat_move.builtin_t} -map {{ "n", "o", "x" }, "T", ts_repeat_move.builtin_T} - -context.setup { enable = true } diff --git a/config/neovim/after/plugin/undotree.lua b/config/neovim/after/plugin/undotree.lua deleted file mode 100644 index 5bc27b4d..00000000 --- a/config/neovim/after/plugin/undotree.lua +++ /dev/null @@ -1,3 +0,0 @@ -local nmap = require("opdavies.keymap").nmap - -nmap { "u", vim.cmd.UndotreeToggle } diff --git a/config/neovim/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua deleted file mode 100644 index fd38419b..00000000 --- a/config/neovim/after/plugin/vim-test.lua +++ /dev/null @@ -1,20 +0,0 @@ -local map = vim.api.nvim_set_keymap - -local options = { - silent = true, -} - -map("n", "tf", ":TestFile", options) -map("n", "tg", ":TestVisit", options) -map("n", "tl", ":TestLast", options) -map("n", "tn", ":TestNearest", options) -map("n", "ts", ":TestSuite", options) - -vim.cmd [[ - let test#echo_command = 0 - let test#neovim#start_normal = 1 - let test#strategy = "neoterm" - - let test#php#phpunit#executable = 'run test' - let test#php#phpunit#options = '--colors=always --testdox' -]] diff --git a/config/neovim/autoload/opdavies.vim b/config/neovim/autoload/opdavies.vim deleted file mode 100644 index 449666bf..00000000 --- a/config/neovim/autoload/opdavies.vim +++ /dev/null @@ -1,12 +0,0 @@ -if !exists('*opdavies#save_and_exec') - function! opdavies#save_and_exec() abort - if &filetype == 'vim' - :silent! write - :source % - elseif &filetype == 'lua' - :silent! write - :luafile % - endif - return - endfunction -endif diff --git a/config/neovim/lua/opdavies/globals.lua b/config/neovim/lua/opdavies/globals.lua deleted file mode 100644 index d6fd70c6..00000000 --- a/config/neovim/lua/opdavies/globals.lua +++ /dev/null @@ -1,13 +0,0 @@ -P = function(v) - print(vim.inspect(v)) - return v -end - -RELOAD = function(...) - return require("plenary.reload").reload_module(...) -end - -R = function(name) - RELOAD(name) - return require(name) -end diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua deleted file mode 100644 index 386ccedc..00000000 --- a/config/neovim/lua/opdavies/init.lua +++ /dev/null @@ -1,22 +0,0 @@ -pcall("require", impatient) - -require "opdavies.globals" - -require("opdavies.options").setup() - -require "opdavies.lsp" - -require "opdavies.telescope.setup" -require "opdavies.telescope.mappings" - -vim.api.nvim_create_user_command("GoToFile", function() - require("opdavies.telescope").git_files() -end, {}) - -local imap = require("opdavies.keymap").imap -local nmap = require("opdavies.keymap").nmap -local xmap = require("opdavies.keymap").xmap - --- Quicker macro playback. -nmap { "Q", "@qj" } -xmap { "Q", ":norm @q" } diff --git a/config/neovim/lua/opdavies/keymap.lua b/config/neovim/lua/opdavies/keymap.lua deleted file mode 100644 index df7d5f32..00000000 --- a/config/neovim/lua/opdavies/keymap.lua +++ /dev/null @@ -1,23 +0,0 @@ -local M = {} - -M.imap = function(tbl) - vim.keymap.set("i", tbl[1], tbl[2], tbl[3]) -end - -M.map = function(tbl) - vim.keymap.set(tbl[1], tbl[2], tbl[3], tbl[4] or {}) -end - -M.nmap = function(tbl) - vim.keymap.set("n", tbl[1], tbl[2], tbl[3]) -end - -M.vmap = function(tbl) - vim.keymap.set("v", tbl[1], tbl[2], tbl[3]) -end - -M.xmap = function(tbl) - vim.keymap.set("x", tbl[1], tbl[2], tbl[3]) -end - -return M diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua deleted file mode 100644 index 170777be..00000000 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ /dev/null @@ -1,153 +0,0 @@ -local has_lsp, lspconfig = pcall(require, "lspconfig") -if not has_lsp then - return -end - -local nvim_status = require "lsp-status" - -local imap = require("opdavies.keymap").imap -local nmap = require("opdavies.keymap").nmap - -local telescope_mapper = require "opdavies.telescope.mappings" - -local buf_nnoremap = function(opts) - opts.buffer = 0 - nmap(opts) -end - -local buf_inoremap = function(opts) - opts.buffer = 0 - imap(opts) -end - -local default_capabilities = vim.lsp.protocol.make_client_capabilities() -default_capabilities = require("cmp_nvim_lsp").default_capabilities(default_capabilities) - -local custom_init = function(client) - client.config.flags = client.config.flags or {} - client.config.flags.allow_incremental_sync = true -end - -local custom_attach = function(client) - local filetype = vim.api.nvim_buf_get_option(0, "filetype") - - nvim_status.on_attach(client) - - buf_inoremap { "", vim.lsp.buf.signature_help } - buf_nnoremap { "ca", vim.lsp.buf.code_action } - buf_nnoremap { "d", vim.diagnostic.open_float } - buf_nnoremap { "rn", vim.lsp.buf.rename } - buf_nnoremap { "rr", "LspRestart" } - buf_nnoremap { "[d", vim.diagnostic.goto_prev } - buf_nnoremap { "]d", vim.diagnostic.goto_next } - buf_nnoremap { "gD", vim.lsp.buf.declaration } - buf_nnoremap { "gd", vim.lsp.buf.definition } - buf_nnoremap { "gi", vim.lsp.buf.implementation } - buf_nnoremap { "gT", vim.lsp.buf.type_definition } - - if filetype ~= "lua" then - buf_nnoremap { "K", vim.lsp.buf.hover } - end - - telescope_mapper("dl", "diagnostics", nil, true) - - -- Set autocommands conditional on server_capabilities - if client.server_capabilities.document_highlight then - vim.cmd [[ - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]] - end - - -- Attach any filetype specific options to the client - -- filetype_attach[filetype](client) -end - -local servers = { - ansiblels = true, - astro = true, - bashls = true, - cssls = true, - gopls = true, - html = true, - rnix = true, - terraformls = true, - tsserver = true, - vuels = true, - - intelephense = { - filetypes = { "php", "module", "test", "inc" }, - }, - - lua_ls = { - settings = { - Lua = { - diagnostics = { - globals = { "vim" }, - }, - }, - }, - }, - - tailwindcss = { - filetypes = { "html", "html.twig", "javascript", "typescript", "vue" }, - init_options = { - userLanguages = { - ["html.twig"] = "html", - }, - }, - }, - - yamlls = { - settings = { - yaml = { - keyOrdering = false, - }, - }, - }, -} - -local setup_server = function(server, config) - if not config then - return - end - - if type(config) ~= "table" then - config = {} - end - - config = vim.tbl_deep_extend("force", { - on_init = custom_init, - on_attach = custom_attach, - capabilities = default_capabilities, - flags = { - debounce_text_changes = nil, - }, - }, config) - - lspconfig[server].setup(config) -end - -for server, config in pairs(servers) do - setup_server(server, config) -end - -vim.diagnostic.config { - float = { - source = true, - }, - signs = true, - underline = false, - update_in_insert = false, - virtual_text = { spacing = 2 }, -} - -vim.keymap.set("n", "f", function() - vim.lsp.buf.format { async = true } -end) - -require "opdavies.lsp.none-ls" -require "opdavies.lsp.signature" diff --git a/config/neovim/lua/opdavies/lsp/none-ls.lua b/config/neovim/lua/opdavies/lsp/none-ls.lua deleted file mode 100644 index 706eaf68..00000000 --- a/config/neovim/lua/opdavies/lsp/none-ls.lua +++ /dev/null @@ -1,46 +0,0 @@ -local status_ok, null_ls = pcall(require, "null-ls") -if not status_ok then - return -end - -local code_actions = null_ls.builtins.code_actions -local diagnostics = null_ls.builtins.diagnostics -local formatting = null_ls.builtins.formatting - -null_ls.setup { - sources = { - code_actions.gitsigns, - - formatting.black, - formatting.markdownlint, - formatting.phpcbf.with { - command = "./vendor/bin/phpcbf", - condition = function(utils) - return utils.root_has_file { "phpcs.xml.dist" } - end, - }, - formatting.prettier, - formatting.rustywind, - formatting.stylua, - - diagnostics.eslint.with { - condition = function(utils) - return utils.root_has_file { ".eslintrc.js" } - end, - }, - diagnostics.markdownlint.with { - extra_args = { "--config", "~/.markdownlint.yaml" }, - }, - diagnostics.php, - diagnostics.phpcs.with { - command = "./vendor/bin/phpcs", - condition = function(utils) - return utils.root_has_file { "phpcs.xml.dist" } - end, - }, - diagnostics.phpstan, - diagnostics.shellcheck, - }, - - temp_dir = "/tmp", -} diff --git a/config/neovim/lua/opdavies/lsp/signature.lua b/config/neovim/lua/opdavies/lsp/signature.lua deleted file mode 100644 index 365c9739..00000000 --- a/config/neovim/lua/opdavies/lsp/signature.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status_ok, lsp_signature = pcall(require, "lsp_signature") -if not status_ok then - return -end - -lsp_signature.setup {} diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua deleted file mode 100644 index 74ee5a17..00000000 --- a/config/neovim/lua/opdavies/options.lua +++ /dev/null @@ -1,181 +0,0 @@ -local M = {} - -local function set_autocmd() - vim.cmd [[ - autocmd BufRead,BufNewFile *.test set filetype=php - - autocmd FileType gitcommit highlight ColorColumn ctermbg=8 - autocmd FileType gitcommit setlocal colorcolumn=50,72 - autocmd FileType gitcommit setlocal spell - autocmd FileType gitcommit setlocal textwidth=72 - ]] - - -- Cursorline highlighting control. - -- Only have it on in the current buffer. - local group = vim.api.nvim_create_augroup("CursorLineControl", { clear = true }) - local set_cursorline = function(event, value, pattern) - vim.api.nvim_create_autocmd(event, { - group = group, - pattern = pattern, - callback = function() - vim.opt_local.cursorline = value - end, - }) - end - set_cursorline("WinLeave", false) - set_cursorline("WinEnter", true) - set_cursorline("FileType", false, "TelescopePrompt") - - vim.api.nvim_create_autocmd("TermOpen", { - callback = function() - vim.cmd.set "filetype=term" - end, - }) -end - -local function set_filetypes() - vim.cmd [[ - filetype indent on - filetype on - filetype plugin on - ]] -end - -local function set_key_mappings() - local map = vim.api.nvim_set_keymap - - local options = { noremap = true } - - map("n", "so", ":call opdavies#save_and_exec()", options) - - -- Format paragraphs to an 80 character line length. - map("n", "g", "gqap", options) - map("x", "g", "gqa", options) - - -- Make the current file executable - map("n", "x", ":!chmod +x %", options) - - -- Yank from the current column to the end of the line - map("n", "Y", "yg$", options) - - -- Keep things centred - map("n", "n", "nzzzv", options) - map("n", "N", "Nzzzv", options) - - -- Remove arrow keys - map("v", "", "", options) - map("v", "", "", options) - map("v", "", "", options) - map("v", "", "", options) - - -- Clears hlsearch after doing a search, otherwise just does normal stuff - vim.cmd [[ nnoremap {-> v:hlsearch ? ":nohl\" : "\"}() ]] - - map("n", "", ":silent !tmux neww tmux-sessioniser", { noremap = true, silent = true }) - - local keymap = require "opdavies.keymap" - local imap = keymap.imap - local nmap = keymap.nmap - local vmap = keymap.vmap - local xmap = keymap.xmap - - -- Easy insertion of a trailing ; or , from insert mode - imap { ",,", "A," } - imap { ";;", "A;" } - - nmap { "ga", "(EasyAlign)" } - xmap { "ga", "(EasyAlign)" } - - -- Focus on the current buffer. - nmap { "-", ":wincmd _:wincmd |", { noremap = true, silent = true } } - - -- Automatically resize buffers. - nmap { "=", ":wincmd =", { noremap = true, silent = true } } - - -- Move line(s) up and down. - local opts = { noremap = true, silent = true } - imap { "", ":m .+1==gi", opts } - imap { "", ":m .-2==gi", opts } - nmap { "", ":m .+1==", opts } - nmap { "", ":m .-2==", opts } - vmap { "", ":m '>+1gv=gv", opts } - vmap { "", ":m '<-2gv=gv", opts } - - -- Move half a screen up or down and re-center. - nmap { "", "zz" } - nmap { "", "zz" } -end - -local function set_highlights() - vim.cmd [[highlight Comment cterm=italic gui=italic]] -end - -local function set_vim_g() - vim.g.mapleader = " " -end - -local function set_vim_o() - local settings = { - autoindent = true, - backup = false, - breakindent = true, - conceallevel = 0, - cursorline = true, - expandtab = true, - foldlevel = 1, - foldlevelstart = 99, - foldmethod = "indent", - formatoptions = "lm", - hidden = false, - inccommand = "split", - linebreak = true, - list = true, - mouse = "n", - number = true, - pumblend = 10, - pumheight = 10, - relativenumber = true, - scrolloff = 10, - shiftwidth = 2, - showmode = false, - signcolumn = "yes:1", - smartindent = true, - softtabstop = 2, - splitbelow = false, - splitright = true, - swapfile = false, - syntax = "on", - tabstop = 2, - termguicolors = true, - textwidth = 0, - undodir = os.getenv("HOME") .. "/.vim/undodir", - undofile = true, - updatetime = 1000, - wrap = false, - } - - for key, value in pairs(settings) do - vim.o[key] = value - end - - vim.opt.backupdir:remove "." -- keep backups out of the current directory - vim.opt.clipboard:append "unnamedplus" - vim.opt.listchars:append { - trail = "·", - } - vim.opt.completeopt = { "menu", "menuone", "noselect" } - vim.opt.laststatus = 3 -end - -M.setup = function() - set_vim_g() - set_vim_o() - set_key_mappings() - set_autocmd() - set_filetypes() - set_highlights() - - vim.g.snippets = "luasnip" -end - -return M diff --git a/config/neovim/lua/opdavies/snippets/ft/javascript.lua b/config/neovim/lua/opdavies/snippets/ft/javascript.lua deleted file mode 100644 index d3e795f8..00000000 --- a/config/neovim/lua/opdavies/snippets/ft/javascript.lua +++ /dev/null @@ -1,10 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local i = ls.insert_node - -local M = { - log = fmta("console.log(<>);", { i(1, "value") }), -} - -return M diff --git a/config/neovim/lua/opdavies/snippets/ft/lua.lua b/config/neovim/lua/opdavies/snippets/ft/lua.lua deleted file mode 100644 index c2abfba8..00000000 --- a/config/neovim/lua/opdavies/snippets/ft/lua.lua +++ /dev/null @@ -1,27 +0,0 @@ -local ls = require "luasnip" - -local fmt = require("luasnip.extras.fmt").fmt -local rep = require("luasnip.extras").rep - -local f, i = ls.function_node, ls.insert_node - -return { - pcall = fmt( - [[ - local status_ok, {} = pcall(require, "{}") - if not status_ok then - return - end - ]], - { i(1), rep(1) } - ), - - req = fmt([[local {} = require "{}"]], { - f(function(import_name) - local parts = vim.split(import_name[1][1], ".", true) - - return parts[#parts] or "" - end, { 1 }), - i(1), - }), -} diff --git a/config/neovim/lua/opdavies/snippets/ft/markdown.lua b/config/neovim/lua/opdavies/snippets/ft/markdown.lua deleted file mode 100644 index b2a76e46..00000000 --- a/config/neovim/lua/opdavies/snippets/ft/markdown.lua +++ /dev/null @@ -1,20 +0,0 @@ -local fmt = require("luasnip.extras.fmt").fmt -local ls = require "luasnip" - -local i = ls.insert_node - -local M = { - frontmatter = fmt( - [[ - --- - title: {} - --- - {} - ]], - { i(1), i(0) } - ), - - link = fmt([[[{}]({}){} ]], { i(1), i(2), i(0) }), -} - -return M diff --git a/config/neovim/lua/opdavies/snippets/ft/nix.lua b/config/neovim/lua/opdavies/snippets/ft/nix.lua deleted file mode 100644 index 1ef44d5c..00000000 --- a/config/neovim/lua/opdavies/snippets/ft/nix.lua +++ /dev/null @@ -1,23 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local c = ls.choice_node -local i = ls.insert_node -local t = ls.text_node - -local M = { - vimplugin = fmta( - [[ - { - plugin = <>.<>; - type = "lua"; - config = '' - <> - ''; - }<> - ]], - { c(1, { t "vimPlugins", t "customVim" }), i(2), i(3), i(0) } - ), -} - -return M diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua deleted file mode 100644 index 75e4e538..00000000 --- a/config/neovim/lua/opdavies/snippets/ft/php.lua +++ /dev/null @@ -1,61 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local c = ls.choice_node -local f = ls.function_node -local i = ls.insert_node -local t = ls.text_node - -local M = { - __construct = fmta( - [[ - public function __construct(<>) { - <> - } - ]], - { i(1), i(0) } - ), - - __invoke = fmta( - [[ - public function __invoke(<>) { - <> - } - ]], - { i(1), i(0) } - ), - - func = fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) }), - - met = fmta( - [[ - <> function <>(<>)<> { - <> - }<> - ]], - { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } - ), - - pest = fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) }), - - test = fmta( - [[ - public function test<>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ), - - testa = fmta( - [[ - /** @test */ - public function <>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ), -} - -return M diff --git a/config/neovim/lua/opdavies/snippets/ft/rst.lua b/config/neovim/lua/opdavies/snippets/ft/rst.lua deleted file mode 100644 index 206bbf1c..00000000 --- a/config/neovim/lua/opdavies/snippets/ft/rst.lua +++ /dev/null @@ -1,49 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local i = ls.insert_node -local f = ls.function_node - -local fill_line = function(char) - return function() - local row = vim.api.nvim_win_get_cursor(0)[1] - local lines = vim.api.nvim_buf_get_lines(0, row - 2, row, false) - return string.rep(char, #lines[1]) - end -end - -local M = { - class = { ".. class:: ", i(1) }, - footer = { ".. footer:: ", i(1) }, - link = { ".. _", i(1), ":" }, - raw = { ".. raw:: ", i(1) }, - - -- TODO: add an optional new line and ":width" property. - image = { ".. image:: ", i(1) }, - - head = f(fill_line "=", {}), - sub = f(fill_line "-", {}), - subsub = f(fill_line "^", {}), - - -- Add a page break with an optional page template. - pb = fmta( - [[ - .. raw:: pdf - - PageBreak<> - ]], - { i(0) } - ), - - -- Add a new speaker note. - ta = fmta( - [[ - .. raw:: pdf - - TextAnnotation "<>" - ]], - { i(0) } - ), -} - -return M diff --git a/config/neovim/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua deleted file mode 100644 index 56ccc245..00000000 --- a/config/neovim/lua/opdavies/telescope/init.lua +++ /dev/null @@ -1,161 +0,0 @@ -SHOULD_RELOAD_TELESCOPE = true - -local reloader = function() - if SHOULD_RELOAD_TELESCOPE then - RELOAD "plenary" - RELOAD "telescope" - RELOAD "opdavies.telescope.setup" - end -end - -local themes = require "telescope.themes" - -local M = {} - -function M.current_buf() - local opts = { - sorting_strategy = "ascending", - previewer = false, - } - - require("telescope.builtin").current_buffer_fuzzy_find(opts) -end - -M.diagnostics = function() - local theme = require("telescope.themes").get_dropdown { - previewer = false, - } - - require("telescope.builtin").diagnostics(theme) -end - -function M.lsp_document_symbols() - local theme = require("telescope.themes").get_dropdown { - previewer = false, - } - - require("telescope.builtin").lsp_document_symbols(theme) -end - -function M.edit_neovim() - local opts = { - cwd = "~/Code/github.com/opdavies/dotfiles/config/neovim", - find_command = { "rg", "--no-ignore", "--files", "--follow" }, - path_display = { "shorten" }, - prompt_title = "~ dotfiles ~", - no_ignore = true, - - layout_strategy = "flex", - layout_config = { - height = 0.8, - prompt_position = "top", - width = 0.9, - - horizontal = { - width = { padding = 0.15 }, - }, - vertical = { - preview_height = 0.75, - }, - }, - } - - require("telescope.builtin").find_files(opts) -end - -function M.edit_zsh() - local opts = { - cwd = "~/.config/zsh", - path_display = { "shorten" }, - prompt_title = "~ zsh ~", - no_ignore = true, - - layout_strategy = "flex", - layout_config = { - height = 0.8, - prompt_position = "top", - width = 0.9, - - horizontal = { - width = { padding = 0.15 }, - }, - vertical = { - preview_height = 0.75, - }, - }, - } - - require("telescope.builtin").find_files(opts) -end - -function M.file_browser() - local opts = { - cwd = vim.fn.expand "%:p:h", - sorting_strategy = "ascending", - } - - require("telescope").extensions.file_browser.file_browser(opts) -end - -function M.find_files() - local opts = { - file_ignore_patterns = { ".git/", "**/{core,contrib}", "vendor" }, - } - - require("telescope.builtin").find_files(opts) -end - -function M.find_all_files() - local opts = { - no_ignore = true, - prompt_title = "All Files", - } - - require("telescope.builtin").find_files(opts) -end - -function M.git_files() - local opts = { - file_ignore_patterns = { ".git/", "**/{core,contrib}", "vendor" }, - hidden = true, - no_ignore = true, - } - - require("telescope.builtin").git_files(opts) -end - -function M.grep_prompt() - require("telescope.builtin").grep_string { - path_display = { "shorten" }, - search = vim.fn.input "Grep String > ", - } -end - -function M.live_grep() - require("telescope").extensions.live_grep_args.live_grep_args { - file_ignore_patterns = { ".git/" }, - hidden = true, - no_ignore = true, - sorting_strategy = "ascending", - } -end - -function M.oldfiles() - local opts = { - prompt_title = "History", - } - - require("telescope").extensions.frecency.frecency(opts) -end - -return setmetatable({}, { - __index = function(_, k) - reloader() - - if M[k] then - return M[k] - else - return require("telescope.builtin")[k] - end - end, -}) diff --git a/config/neovim/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua deleted file mode 100644 index 7daf8761..00000000 --- a/config/neovim/lua/opdavies/telescope/mappings.lua +++ /dev/null @@ -1,62 +0,0 @@ -TelescopeMapArgs = TelescopeMapArgs or {} - -local telescope = require "telescope" - -local telescope_mapper = function(key, f, options, buffer) - local map_key = vim.api.nvim_replace_termcodes(key .. f, true, true, true) - - TelescopeMapArgs[map_key] = options or {} - - local mode = "n" - local rhs = string.format("lua R('opdavies.telescope')['%s'](TelescopeMapArgs['%s'])", f, map_key) - - local map_options = { - noremap = true, - silent = true, - } - - if not buffer then - vim.api.nvim_set_keymap(mode, key, rhs, map_options) - else - vim.api.nvim_buf_set_keymap(0, mode, key, rhs, map_options) - end -end - -telescope_mapper("fb", "buffers") -telescope_mapper("fd", "find_files") -telescope_mapper("fD", "find_all_files") -telescope_mapper("fe", "file_browser") -telescope_mapper("ff", "current_buf") -telescope_mapper("fg", "git_files") -telescope_mapper("fh", "help_tags") -telescope_mapper("fl", "live_grep") -telescope_mapper("fo", "oldfiles") - -local builtin = require "telescope.builtin" -local nmap = require("opdavies.keymap").nmap - -nmap { - "fw", - function() - local word = vim.fn.expand "" - builtin.grep_string { search = word } - end, -} - -nmap { - "fW", - function() - local word = vim.fn.expand "" - builtin.grep_string { search = word } - end, -} - -telescope_mapper("gp", "grep_prompt") - -telescope_mapper("ds", "lsp_document_symbols") -telescope_mapper("dl", "diagnostics") - -telescope_mapper("en", "edit_neovim") -telescope_mapper("ez", "edit_zsh") - -return telescope_mapper diff --git a/config/neovim/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua deleted file mode 100644 index 53090b49..00000000 --- a/config/neovim/lua/opdavies/telescope/setup.lua +++ /dev/null @@ -1,101 +0,0 @@ -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end - -local Job = require "plenary.job" -local previewers = require "telescope.previewers" - --- Create a new maker that won't preview binary files --- https://github.com/nvim-telescope/telescope.nvim/wiki/Configuration-Recipes#dont-preview-binaries -local new_maker = function(filepath, bufnr, opts) - filepath = vim.fn.expand(filepath) - Job:new({ - command = "file", - args = { "--mime-type", "-b", filepath }, - on_exit = function(j) - local mime_type = vim.split(j:result()[1], "/")[1] - if mime_type == "text" then - previewers.buffer_previewer_maker(filepath, bufnr, opts) - else - vim.schedule(function() - vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, { "BINARY" }) - end) - end - end, - }):sync() -end - -local action_layout = require "telescope.actions.layout" -local actions = require "telescope.actions" -local lga_actions = require "telescope-live-grep-args.actions" - -telescope.setup { - defaults = { - buffer_previewer_maker = new_maker, - file_ignore_patterns = { ".direnv/", ".git/" }, - layout_config = { - prompt_position = "top", - }, - - preview = { - hide_on_startup = true, - }, - - mappings = { - i = { - [""] = actions.delete_buffer, - [""] = actions.which_key, - [""] = action_layout.toggle_preview, - [""] = action_layout.toggle_mirror, - }, - }, - - no_ignore = true, - path_display = { truncate = 1 }, - prompt_prefix = "$ ", - sorting_strategy = "ascending", - }, - - pickers = { - find_files = { - hidden = true, - }, - - buffers = { - previewer = false, - layout_config = { - width = 80, - }, - }, - - lsp_references = { - previewer = false, - }, - }, - - extensions = { - file_browser = { - theme = "ivy", - }, - - live_grep_args = { - auto_quoting = true, - mappings = { - i = { - [""] = lga_actions.quote_prompt {}, - [""] = lga_actions.quote_prompt { postfix = " --iglob " }, - }, - }, - }, - - ["ui-select"] = { - require("telescope.themes").get_dropdown {}, - }, - }, -} - -telescope.load_extension "file_browser" -telescope.load_extension "fzf" -telescope.load_extension "refactoring" -telescope.load_extension "ui-select" diff --git a/flake.lock b/flake.lock index 43dc4228..4f375000 100644 --- a/flake.lock +++ b/flake.lock @@ -17,6 +17,23 @@ "type": "indirect" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1704982712, + "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -24,11 +41,11 @@ ] }, "locked": { - "lastModified": 1705535278, - "narHash": "sha256-V5+XKfNbiY0bLKLQlH+AXyhHttEL7XcZBH9iSbxxexA=", + "lastModified": 1706080884, + "narHash": "sha256-qhxisCrSraN5YWVb0lNCFH8ovqnCw5W9ldac4Dzr0Nw=", "owner": "nix-community", "repo": "home-manager", - "rev": "b84191db127c16a92cbdf7f7b9969d58bb456699", + "rev": "6b28ab2d798c1c84e24053d95f4ee1dd9d81e2fb", "type": "github" }, "original": { @@ -39,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705316053, - "narHash": "sha256-J2Ey5mPFT8gdfL2XC0JTZvKaBw/b2pnyudEXFvl+dQM=", + "lastModified": 1705856552, + "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c3e128f3c0ecc1fb04aef9f72b3dcc2f6cecf370", + "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "type": "github" }, "original": { @@ -55,11 +72,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1705331948, - "narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=", + "lastModified": 1705916986, + "narHash": "sha256-iBpfltu6QvN4xMpen6jGGEb6jOqmmVQKUrXdOJ32u8w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b8dd8be3c790215716e7c12b247f45ca525867e2", + "rev": "d7f206b723e42edb09d9d753020a84b3061a79d8", "type": "github" }, "original": { @@ -87,12 +104,52 @@ "type": "github" } }, + "nixpkgs-lib_2": { + "locked": { + "dir": "lib", + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "opdavies-nvim": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1706088444, + "narHash": "sha256-SUkQwotWRMOHk8U2AKcSRA1Jt7EEvodKUb5t/WApLOs=", + "owner": "opdavies", + "repo": "opdavies.nvim", + "rev": "fd32fb48877dfbef088af4dd706bb3993b56c750", + "type": "github" + }, + "original": { + "owner": "opdavies", + "repo": "opdavies.nvim", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-2311": "nixpkgs-2311" + "nixpkgs-2311": "nixpkgs-2311", + "opdavies-nvim": "opdavies-nvim" } } }, diff --git a/flake.nix b/flake.nix index 02220704..aca8edae 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,8 @@ home-manager.url = "github:nix-community/home-manager"; nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; + opdavies-nvim.url = "github:opdavies/opdavies.nvim"; }; outputs = inputs@{ flake-parts, self, ... }: @@ -20,13 +22,6 @@ systems = [ "x86_64-linux" ]; perSystem = { pkgs, self', ... }: { - packages = { - opdavies-nvim = pkgs.vimUtils.buildVimPlugin { - name = "opdavies-nvim"; - src = ./config/neovim; - }; - }; - formatter = pkgs.nixpkgs-fmt; }; diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 6436f7c4..a9e697d8 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -202,7 +202,7 @@ in # Themes vimPlugins.catppuccin-nvim - inputs.self.packages.${pkgs.system}.opdavies-nvim + inputs.opdavies-nvim.packages.${pkgs.system}.default ]; extraLuaConfig = '' From 27dfbae4a52c53a5fd2c0ed5c0b303af92130c7d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 Jan 2024 21:13:19 +0000 Subject: [PATCH 0583/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4f375000..048e7086 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1706080884, - "narHash": "sha256-qhxisCrSraN5YWVb0lNCFH8ovqnCw5W9ldac4Dzr0Nw=", + "lastModified": 1706099765, + "narHash": "sha256-pt98CX+WkTwtnDdu+9kGnuia/3s5krsUqYOSGOYbuHk=", "owner": "nix-community", "repo": "home-manager", - "rev": "6b28ab2d798c1c84e24053d95f4ee1dd9d81e2fb", + "rev": "e84811035d7c8ec79ed6c687a97e19e2a22123c1", "type": "github" }, "original": { From 9ef04116807b2ec1eafb7dd3db3ff65010262708 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 01:00:00 +0000 Subject: [PATCH 0584/2258] Use Neovim from the flake in opdavies.nvim --- flake.lock | 12 +- system/shared/home-manager.nix | 2 +- system/shared/modules/neovim.nix | 251 +------------------------------ 3 files changed, 10 insertions(+), 255 deletions(-) diff --git a/flake.lock b/flake.lock index 048e7086..9c254751 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1706099765, - "narHash": "sha256-pt98CX+WkTwtnDdu+9kGnuia/3s5krsUqYOSGOYbuHk=", + "lastModified": 1706134977, + "narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=", "owner": "nix-community", "repo": "home-manager", - "rev": "e84811035d7c8ec79ed6c687a97e19e2a22123c1", + "rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1706088444, - "narHash": "sha256-SUkQwotWRMOHk8U2AKcSRA1Jt7EEvodKUb5t/WApLOs=", + "lastModified": 1706146976, + "narHash": "sha256-nTE0vwU4yDx4K2jTHF9M8YcLRJj5yA1W77Z+zaiVmn0=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "fd32fb48877dfbef088af4dd706bb3993b56c750", + "rev": "87bf6146251976fb749d5c2459c4e896c2b35bfa", "type": "github" }, "original": { diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index b66bad6a..98ed2f1c 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -9,7 +9,7 @@ programs.home-manager.enable = true; imports = [ - (import ./modules/neovim.nix { inherit inputs pkgs self; }) + (import ./modules/neovim.nix { inherit inputs; }) ./modules/git.nix ./modules/tmux.nix ./modules/zsh.nix diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index a9e697d8..361647bf 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -1,255 +1,10 @@ -{ inputs, pkgs, self, ... }: +{ inputs }: { pkgs, ... }: let - customVim = with self; { - toggle-checkbox-nvim = pkgs.vimUtils.buildVimPlugin { - name = "toggle-checkbox-nvim"; - src = pkgs.fetchFromGitHub { - owner = "opdavies"; - repo = "toggle-checkbox.nvim"; - rev = "main"; - sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; - }; - }; - - vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-zoom = pkgs.vimUtils.buildVimPlugin { - name = "vim-zoom"; - src = pkgs.fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - }; + system = pkgs.system; in { - programs.neovim = { - enable = true; - - plugins = with pkgs; [ - customVim.tabline-vim - customVim.vim-caser - customVim.vim-heritage - customVim.vim-textobj-xmlattr - customVim.vim-zoom - vimPlugins.vim-astro - vimPlugins.vim-visual-star-search - - { - plugin = customVim.toggle-checkbox-nvim; - type = "lua"; - config = '' - vim.keymap.set("n", "t", ":lua require('toggle-checkbox').toggle()") - ''; - } - - vimPlugins.harpoon - vimPlugins.refactoring-nvim - vimPlugins.comment-nvim - vimPlugins.dial-nvim - vimPlugins.gitsigns-nvim - vimPlugins.impatient-nvim - vimPlugins.nvim-web-devicons - vimPlugins.rest-nvim - vimPlugins.undotree - vimPlugins.vim-easy-align - vimPlugins.vim-eunuch - vimPlugins.vim-highlightedyank - vimPlugins.vim-nix - vimPlugins.vim-obsession - vimPlugins.vim-pasta - vimPlugins.vim-polyglot - vimPlugins.vim-projectionist - vimPlugins.vim-repeat - vimPlugins.vim-sleuth - vimPlugins.vim-surround - vimPlugins.vim-terraform - vimPlugins.vim-textobj-user - vimPlugins.vim-tmux-navigator - vimPlugins.vim-unimpaired - - vimPlugins.lualine-nvim - - { - plugin = vimPlugins.vim-sort-motion; - type = "lua"; - config = '' - vim.g.sort_motion_flags = "ui" - ''; - } - { - plugin = vimPlugins.treesj; - type = "lua"; - config = '' - require "treesj".setup {} - ''; - } - # Testing. - { - plugin = vimPlugins.neoterm; - type = "lua"; - config = '' - vim.g.neoterm_autoscroll = 1 - vim.g.neoterm_default_mod = "vertical" - vim.g.neoterm_term_per_tab = 1 - ''; - } - vimPlugins.vim-test - - # Git - vimPlugins.vim-fugitive - vimPlugins.vim-rhubarb - - # Debugging - vimPlugins.nvim-dap - vimPlugins.nvim-dap-ui - vimPlugins.nvim-dap-virtual-text - - # Treesitter - vimPlugins.nvim-treesitter.withAllGrammars - vimPlugins.nvim-treesitter-context - vimPlugins.nvim-treesitter-textobjects - - # LSP, linting and formatting - vimPlugins.conform-nvim - vimPlugins.lsp-status-nvim - vimPlugins.none-ls-nvim - vimPlugins.nvim-lspconfig - - # Completion - vimPlugins.cmp-buffer - vimPlugins.cmp-cmdline - vimPlugins.cmp-nvim-lsp - vimPlugins.cmp-nvim-lsp-signature-help - vimPlugins.cmp-path - vimPlugins.cmp-tabnine - vimPlugins.cmp-treesitter - vimPlugins.cmp-vsnip - vimPlugins.cmp_luasnip - vimPlugins.lspkind-nvim - vimPlugins.nvim-cmp - vimPlugins.phpactor - - # Snippets - vimPlugins.friendly-snippets - vimPlugins.luasnip - - # Telescope - vimPlugins.plenary-nvim - vimPlugins.popup-nvim - vimPlugins.telescope-file-browser-nvim - vimPlugins.telescope-frecency-nvim - vimPlugins.telescope-fzf-native-nvim - vimPlugins.telescope-live-grep-args-nvim - vimPlugins.telescope-nvim - vimPlugins.telescope-ui-select-nvim - - # Databases - vimPlugins.vim-dadbod - vimPlugins.vim-dadbod-ui - vimPlugins.vim-dadbod-completion - - # Markdown - { - plugin = vimPlugins.markdown-preview-nvim; - type = "lua"; - config = '' - vim.g.mkdp_refresh_slow = 1 - ''; - } - - # Themes - vimPlugins.catppuccin-nvim - - inputs.opdavies-nvim.packages.${pkgs.system}.default - ]; - - extraLuaConfig = '' - if vim.loader then - vim.loader.enable() - end - - require "opdavies" - ''; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - php81 - - # Language servers - ansible-language-server - gopls - lua-language-server - nixd - nodePackages.intelephense - nodePackages."@astrojs/language-server" - nodePackages."@tailwindcss/language-server" - nodePackages.bash-language-server - nodePackages.dockerfile-language-server-nodejs - nodePackages.typescript-language-server - nodePackages.vls - nodePackages.volar - nodePackages.vscode-langservers-extracted - nodePackages.vue-language-server - nodePackages.yaml-language-server - phpactor - rnix-lsp - terraform-ls - - # Formatters - black - nodePackages.prettier - stylua - - # Tools - html-tidy - nodePackages.markdownlint-cli - proselint - shellcheck - ]; - }; + programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager { inherit system; }; home.file.".markdownlint.yaml".text = '' default: true From 509e85e0d0493b878d7b7ef68756283ead56d16b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 07:17:38 +0000 Subject: [PATCH 0585/2258] Update dotfiles repo path --- system/nixos/home-manager/modules/espanso.nix | 2 +- system/shared/modules/tmux.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index 29d41923..d0132b3d 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -36,7 +36,7 @@ in } { trigger = ":dotfiles"; - replace = "https://github.com/opdavies/dotfiles"; + replace = "https://github.com/opdavies/dotfiles.nix"; } { trigger = ":dc"; diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index 55e8b2f6..2e6ab703 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -94,7 +94,7 @@ bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles" + bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.nix" bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk" set -g @resurrect-strategy-nvim 'session' From c2cbf111bfa14383da59ecd913df226c0ae59916 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 07:18:14 +0000 Subject: [PATCH 0586/2258] Install fzf with Home Manager --- system/shared/home-manager-packages.nix | 1 - system/shared/home-manager.nix | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 4265da12..89658881 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -9,7 +9,6 @@ with pkgs; [ eza fd file - fzf gcc gh git diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 98ed2f1c..ac9abb43 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -15,6 +15,11 @@ ./modules/zsh.nix ]; + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + programs.bat.enable = true; home.file."logo.txt" = { From 5a5517552bcb07cf6cdef04aa7cafb14d27ef6bf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 07:20:37 +0000 Subject: [PATCH 0587/2258] Add rclone and rclone browser --- system/nixos/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 5778b745..07ae7f94 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -137,6 +137,8 @@ in acpi dunst libnotify + rclone + rclone-browser # Games. pkgs-2311.zeroad From f66f1b0c7c1625955ec6c79f6bbcde32a054b798 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 07:54:28 +0000 Subject: [PATCH 0588/2258] Add and use GeistMono --- system/nixos/configuration.nix | 1 + system/nixos/home-manager/modules/alacritty.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 07ae7f94..32376a6f 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -191,6 +191,7 @@ in fonts = [ "AnonymousPro" "FiraCode" + "GeistMono" "IntelOneMono" "Iosevka" "JetBrainsMono" diff --git a/system/nixos/home-manager/modules/alacritty.nix b/system/nixos/home-manager/modules/alacritty.nix index dfde03ce..d310e597 100644 --- a/system/nixos/home-manager/modules/alacritty.nix +++ b/system/nixos/home-manager/modules/alacritty.nix @@ -14,7 +14,7 @@ size = 12.0; bold.style = "Regular"; - normal.family = "JetBrainsMono Nerd Font Mono"; + normal.family = "GeistMono Nerd Font Mono"; # fc-list : family | sort | grep "Nerd Font" offset.y = 12; From 0ab26224531d7585c3483f398edc85c4dff4c9a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 08:04:55 +0000 Subject: [PATCH 0589/2258] i3: update default workspaces --- system/nixos/home-manager/modules/i3.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 08bf1f88..691c83cc 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -9,7 +9,8 @@ in config = { assigns = { - "8" = [{ class = "vlc"; }]; + "7" = [{ class = "vlc"; }]; + "8" = [{ class = "0ad"; }]; "9" = [ { class = "Slack"; } { class = "discord"; } From 948d68c2caedbc486d7ac23e28db28fccadca1f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 08:12:33 +0000 Subject: [PATCH 0590/2258] Add and configure lazygit --- system/shared/modules/git.nix | 177 ++++++++++++++++++---------------- 1 file changed, 94 insertions(+), 83 deletions(-) diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index c36b99f2..cf4568f8 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -26,92 +26,103 @@ /.phpactor.json ''; - programs.git = { - enable = true; - userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.uk"; + programs = { + git = { + enable = true; + userName = "Oliver Davies"; + userEmail = "oliver@oliverdavies.uk"; - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = - "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = - "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = - "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = - "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - staged = "diff --staged"; - unassume = "update-index --no-assume-unchanged"; - unstage = "reset"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - worktrees = "worktree list"; + aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = + "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = + "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = + "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = + "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + staged = "diff --staged"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + worktrees = "worktree list"; + }; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + }; + checkout.defaultRemote = "origin"; + color.ui = true; + commit = { template = "~/.gitmessage"; }; + core = { + editor = "nvim"; + excludesFile = "~/.config/git/ignore"; + pager = "delta"; + }; + delta.line-numbers = true; + diff.tool = "vimdiff"; + fetch.prune = true; + grep.lineNumber = true; + help.autocorrect = "1"; + init.defaultBranch = "main"; + merge.ff = "only"; + push = { + autoSetupRemote = true; + default = "upstream"; + }; + pull = { + ff = "only"; + rebase = true; + }; + rebase = { + autosquash = true; + autostash = true; + }; + }; }; - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - }; - checkout.defaultRemote = "origin"; - color.ui = true; - commit = { template = "~/.gitmessage"; }; - core = { - editor = "nvim"; - excludesFile = "~/.config/git/ignore"; - pager = "delta"; - }; - delta.line-numbers = true; - diff.tool = "vimdiff"; - fetch.prune = true; - grep.lineNumber = true; - help.autocorrect = "1"; - init.defaultBranch = "main"; - merge.ff = "only"; - push = { - autoSetupRemote = true; - default = "upstream"; - }; - pull = { - ff = "only"; - rebase = true; - }; - rebase = { - autosquash = true; - autostash = true; + lazygit = { + enable = true; + + settings = { + gui.skipDiscardChangeWarning = true; }; }; }; From f71195a314c8b5f6f5fb23f90bacacad74d2d173 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 15:14:55 +0000 Subject: [PATCH 0591/2258] zsh: remove plugins No more autocompletion. --- system/shared/modules/zsh.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index 49a6397a..0a513513 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -209,7 +209,6 @@ tags = [ "from:oh-my-zsh" ]; } { name = "mollifier/cd-gitroot"; } - { name = "zsh-users/zsh-autosuggestions"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } ]; From 53ead53af254acc481cd413aa2f2f7f10114d143 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 15:16:57 +0000 Subject: [PATCH 0592/2258] zsh: rename `nah` to `reset` --- system/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index 0a513513..61bb5476 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -97,9 +97,9 @@ ialias daily="run create-daily next" ialias fetch="git fetch --all --jobs=4 --progress --prune" ialias ls="exa -la" - ialias nah="git reset --hard; git clean -fd" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" + ialias reset="git reset --hard; git clean -fd" ialias run="./run" ialias s="secrets" ialias secrets="doppler --project \"$(whoami)\" run" From d0c6fe00028c6ee8a745e87e5498a72defb5d216 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 16:16:28 +0000 Subject: [PATCH 0593/2258] Allow for passing arguments to `nixos` task --- run | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/run b/run index 9385c9ba..242d5e1b 100755 --- a/run +++ b/run @@ -22,8 +22,10 @@ function nixos { local profile="${1}" local command="${2}" + shift 2 - sudo nixos-rebuild "${command}" --flake ".#${profile}" + sudo nixos-rebuild "${command}" \ + --flake ".#${profile}" "${@}" } # Update the Nix Flake. From 1d11adfe94710ae2ff944442a2d1c48d755315b1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 17:50:48 +0000 Subject: [PATCH 0594/2258] Only show top-level directories within ~/Code/tmp --- bin/t | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/t b/bin/t index f4dd27fc..2d916534 100755 --- a/bin/t +++ b/bin/t @@ -10,7 +10,9 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code -mindepth 3 -maxdepth 3 -type d ! -name .git) + items+=$(find "${HOME}/Code" -mindepth 3 -maxdepth 3 -type d ! -name .git -not -path "${HOME}/Code/tmp/*") + items+=" " + items+=$(find "${HOME}/Code/tmp" -mindepth 1 -maxdepth 1 -type d) selected=$(echo "${items}" | sort | fzf --reverse) fi From 3d24bce0d967ff4418a6f7aba3a211c8e55f06ea Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 18:18:16 +0000 Subject: [PATCH 0595/2258] Don't show any directories ending in "-old" --- bin/t | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/bin/t b/bin/t index 2d916534..7d589acc 100755 --- a/bin/t +++ b/bin/t @@ -10,11 +10,30 @@ if [[ $# -eq 1 ]]; then else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items+=$(find "${HOME}/Code" -mindepth 3 -maxdepth 3 -type d ! -name .git -not -path "${HOME}/Code/tmp/*") - items+=" " - items+=$(find "${HOME}/Code/tmp" -mindepth 1 -maxdepth 1 -type d) - selected=$(echo "${items}" | sort | fzf --reverse) + # Find all project directories within ~/Code, ignoring ~/Code/tmp as those + # are only at a single level and I don't want sub-directories within those + # directories to be shown. + items+=$(find "${HOME}/Code" \ + -maxdepth 3 \ + -mindepth 3 \ + -type d \ + ! -name "*-old" \ + ! -name "*.old" \ + ! -path "${HOME}/Code/tmp/*" + ) + + # Add the top-level directories within ~/Code/tmp. + items+=" " + items+=$(find "${HOME}/Code/tmp" \ + -maxdepth 1 \ + -mindepth 1 \ + -type d \ + ! -name "*-old" \ + ! -name "*.old" + ) + + selected=$(echo "${items}" | tr ' ' "\n" | sort | fzf --reverse) fi if [[ -z "${selected}" ]]; then From f4acbf59c9a28b1a762cde61ca07becf9acf4243 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 22:45:21 +0000 Subject: [PATCH 0596/2258] Update lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9c254751..0bde489a 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1706134977, - "narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=", + "lastModified": 1706220729, + "narHash": "sha256-EUCurFuHBxdK0WULY5DZxSBHOam5W0pDEYmDD9JNF7Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10", + "rev": "c82e52b0d96eb9f1c8334add871dce8e837d043b", "type": "github" }, "original": { @@ -72,11 +72,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1705916986, - "narHash": "sha256-iBpfltu6QvN4xMpen6jGGEb6jOqmmVQKUrXdOJ32u8w=", + "lastModified": 1706098335, + "narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7f206b723e42edb09d9d753020a84b3061a79d8", + "rev": "a77ab169a83a4175169d78684ddd2e54486ac651", "type": "github" }, "original": { From 9980546a41f32b4759351334a0602c677dbc4216 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 22:57:11 +0000 Subject: [PATCH 0597/2258] Update default session name --- .tmux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tmux b/.tmux index cad24425..d62f3588 100755 --- a/.tmux +++ b/.tmux @@ -3,7 +3,7 @@ set -o errexit set -o nounset -session_name="${1:-dotfiles}" +session_name="${1:-dotfiles-nix}" session_path="${2:-$(pwd)}" if tmux has-session -t="${session_name}" 2> /dev/null; then From a2e40ba189923f3ec8a05b932ba02e4124cfe159 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Jan 2024 23:07:49 +0000 Subject: [PATCH 0598/2258] Update CHANGELOG --- CHANGELOG.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4572d38..1788240b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,51 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 25th January 2024 + +### Added + +* Add `lazygit`. +* Add Geist Mono Nerd Font and use it in Alacritty. +* Add `rclone` and `rclone-browser`. + +### Changed + +* Don't list any directories ending with `-old` or `.old` when using the `t` function. +* zsh: rename `nah` alias to `reset`. +* zsh: remove autocompletion plugin. +* Install `fzf` using Home Manager. + +### Fixed + +* Only show the first level of directories in `~/Code/tmp` when using the `t` function. + +## 24th January 2024 + +### Changed + +* Extract my Neovim configuration to a separate repository - . + +## 17th January 2024 + +### Added + +* nvim: add `gc` to run `:Git commit`. +* nvim: add PHP snippets for `__invoke()` and `__construct()` methods. + +## 15th January 2024 + +### Added + +* Add a keybinding for i3 to use `feh` to switch the wallpaper. + +## 10th January 2024 + +### Added + +* nvim: show trailing spaces. +* nvim: remove completion in command mode. + ## 8th January 2024 ### Added From 9feefa1fb441cb28ccd225fdc5e8c69515f4d36c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 26 Jan 2024 00:23:39 +0000 Subject: [PATCH 0599/2258] Add `:zoom` snippet that links to SavvyCal --- system/nixos/home-manager/modules/espanso.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index d0132b3d..e27d6964 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -70,6 +70,10 @@ in trigger = ":website"; replace = "${baseUrl}"; } + { + trigger = ":zoom"; + replace = "https://savvycal.com/opdavies/zoom"; + } ]; }; }; From 2124d90136797c125ed6347b927a9874abdca131 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 26 Jan 2024 00:37:27 +0000 Subject: [PATCH 0600/2258] Re-add Starship prompt --- CHANGELOG.md | 1 + system/shared/home-manager.nix | 1 + system/shared/modules/starship.nix | 3 +++ 3 files changed, 5 insertions(+) create mode 100644 system/shared/modules/starship.nix diff --git a/CHANGELOG.md b/CHANGELOG.md index 1788240b..0acb11d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Added +* Re-add the Sharship prompt. * Add `lazygit`. * Add Geist Mono Nerd Font and use it in Alacritty. * Add `rclone` and `rclone-browser`. diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index ac9abb43..2ba07e2c 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -11,6 +11,7 @@ imports = [ (import ./modules/neovim.nix { inherit inputs; }) ./modules/git.nix + ./modules/starship.nix ./modules/tmux.nix ./modules/zsh.nix ]; diff --git a/system/shared/modules/starship.nix b/system/shared/modules/starship.nix new file mode 100644 index 00000000..796f0ea9 --- /dev/null +++ b/system/shared/modules/starship.nix @@ -0,0 +1,3 @@ +{ + programs.starship.enable = true; +} From a8722ad2e608cc436082cea1f74ddb863fabab37 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 26 Jan 2024 00:59:23 +0000 Subject: [PATCH 0601/2258] Update `build-configs` aliases --- system/shared/modules/zsh.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index 61bb5476..0389000b 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -171,8 +171,10 @@ alias rduli="run drush uli" # Build Configs. - ialias build-configs="~/Code/Personal/build-configs/bin/build-configs run" - ialias update-build-configs="~/Code/Personal/build-configs-updater/update.sh" + ialias build-configs="nix shell nixpkgs#php82 --command ~/Code/github.com/OliverDaviesLtd/build-configs/main/bin/build-configs app:generate" + ialias build-configs-update-all="~/Code/github.com/OliverDaviesLtd/build-configs-updater/update.sh" + alias bc=build-configs + alias bcu=build-configs-update-all alias -g A1="| awk '{print \$1}'" alias -g Fj='| jq .' From 9da4339bd4e34782d7c765ee80ffc63a5cd5821d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 28 Jan 2024 23:08:19 +0000 Subject: [PATCH 0602/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 0bde489a..db2e46a6 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1706220729, - "narHash": "sha256-EUCurFuHBxdK0WULY5DZxSBHOam5W0pDEYmDD9JNF7Y=", + "lastModified": 1706435589, + "narHash": "sha256-yhEYJxMv5BkfmUuNe4QELKo+V5eq1pwhtVs6kEziHfE=", "owner": "nix-community", "repo": "home-manager", - "rev": "c82e52b0d96eb9f1c8334add871dce8e837d043b", + "rev": "4d54c29bce71f8c261513e0662cc573d30f3e33e", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705856552, - "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", + "lastModified": 1706191920, + "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", + "rev": "ae5c332cbb5827f6b1f02572496b141021de335f", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1706146976, - "narHash": "sha256-nTE0vwU4yDx4K2jTHF9M8YcLRJj5yA1W77Z+zaiVmn0=", + "lastModified": 1706392577, + "narHash": "sha256-vgJJULmIoQq8COSA6JuoyiBLemBuOXSO8aDnl+FQ8sk=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "87bf6146251976fb749d5c2459c4e896c2b35bfa", + "rev": "2c7e547bf521eea9b5255203ca9f3aa1fc89fd0a", "type": "github" }, "original": { From 43821f0ab6c5a704322de04442fc96b2cd1bfc04 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 29 Jan 2024 07:47:45 +0000 Subject: [PATCH 0603/2258] Update flake dependencies --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index db2e46a6..872bc058 100644 --- a/flake.lock +++ b/flake.lock @@ -72,11 +72,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1706098335, - "narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=", + "lastModified": 1706373441, + "narHash": "sha256-S1hbgNbVYhuY2L05OANWqmRzj4cElcbLuIkXTb69xkk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a77ab169a83a4175169d78684ddd2e54486ac651", + "rev": "56911ef3403a9318b7621ce745f5452fb9ef6867", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1706392577, - "narHash": "sha256-vgJJULmIoQq8COSA6JuoyiBLemBuOXSO8aDnl+FQ8sk=", + "lastModified": 1706514405, + "narHash": "sha256-U9AgqGldgsjemXtkeZZ/OiCifhqjYLrFvaHdztciQ4I=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "2c7e547bf521eea9b5255203ca9f3aa1fc89fd0a", + "rev": "067ac0094910860c10437e2c4b083db2089965b6", "type": "github" }, "original": { From f895d44e3791e9201e78cb8acbca0955f3a7cbed Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 29 Jan 2024 07:52:12 +0000 Subject: [PATCH 0604/2258] Update `nix build` alias --- system/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index 0389000b..f59319ef 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -143,7 +143,7 @@ # Nix and NixOS. alias nx="nix" - alias nxb="nix build" + alias nxb="nix build --json --no-link --print-build-logs" alias nxd="nix develop" alias nxf="nix flake" alias nxfu="nix flake update" From 8b85611025681e4b67dac152cf3c3cea338fc9ce Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 29 Jan 2024 12:59:23 +0000 Subject: [PATCH 0605/2258] Change i3 colours --- system/nixos/home-manager/modules/i3.nix | 56 ++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 691c83cc..372fdd6a 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -66,7 +66,63 @@ in default_floating_border none smart_borders on smart_gaps on + + #border backgr text indicator + client.focused #444444 #555555 #ffffff #dddddd + client.focused_inactive #222222 #333333 #888888 #292d2e + client.unfocused #222222 #111111 #888888 #292d2e + client.urgent #2f343a #900000 #ffffff #900000 + ''; + + config = { + bars = [{ + position = "bottom"; + statusCommand = "${pkgs.i3status}/bin/i3status"; + colors = { + background = "#161616"; + statusline = "#ffffff"; + separator = "#333333"; + + focusedWorkspace = { + background = "#444444"; + border = "#555555"; + text = "#ffffff"; + }; + + activeWorkspace = { + background = "#555555"; + border = "#666666"; + text = "#ffffff"; + }; + + inactiveWorkspace = { + background = "#111111"; + border = "#000000"; + text = "#888888"; + }; + + bindingMode = { + background = "#ff0000"; + border = "#880000"; + text = "#ffffff"; + }; + + urgentWorkspace = { + background = "#ff0000"; + border = "#880000"; + text = "#ffffff"; + }; + }; + }]; + + fonts = { names = [ "GeistMono" ]; }; + + gaps = { + smartBorders = "on"; + smartGaps = true; + }; + }; }; programs.i3status = { From db12d87eec5645d1408bcf8363433c29fb935315 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 29 Jan 2024 12:59:47 +0000 Subject: [PATCH 0606/2258] Ignore `notes` and `todo` files --- system/shared/modules/git.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index cf4568f8..407c8142 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -24,6 +24,8 @@ /.ignored/ /.issue-id /.phpactor.json + /notes + /todo ''; programs = { From 9b4e83c2cae61b09891dcde44df62cf4626168a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 29 Jan 2024 13:10:21 +0000 Subject: [PATCH 0607/2258] git: update email address --- system/shared/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index 407c8142..55bf0871 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -32,7 +32,7 @@ git = { enable = true; userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.uk"; + userEmail = "oliver@oliverdavies.dev"; aliases = { aa = "add --all"; From a4113fad97434c85d52bc13c1865d6beb992f2e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 Jan 2024 18:24:47 +0000 Subject: [PATCH 0608/2258] i3: style colours in demnu --- system/nixos/home-manager/modules/i3.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 372fdd6a..881409b5 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -20,6 +20,8 @@ in modifier = modifier; keybindings = inputs.nixpkgs.lib.mkOptionDefault { + "${modifier}+d" = "exec ${pkgs.dmenu}/bin/dmenu_run -sb '#555555'"; + "${modifier}+Shift+b" = "exec ${pkgs.firefox-devedition}/bin/firefox-devedition"; "${modifier}+Tab" = "workspace back_and_forth"; From 101c704a0900faa2003f91ebd91f620c59b79f9b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 Jan 2024 18:25:21 +0000 Subject: [PATCH 0609/2258] i3: disable focus following the mouse --- system/nixos/home-manager/modules/i3.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 881409b5..0bf5ceff 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -17,6 +17,8 @@ in ]; }; + focus.followMouse = false; + modifier = modifier; keybindings = inputs.nixpkgs.lib.mkOptionDefault { From ae102a5637ebcc09c59d95d3629cb9184307aee7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 1 Feb 2024 17:19:12 +0000 Subject: [PATCH 0610/2258] Update lock file --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 872bc058..dcb9804b 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1706569497, + "narHash": "sha256-oixb0IDb5eZYw6BaVr/R/1pSoMh4rfJHkVnlgeRIeZs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "60c614008eed1d0383d21daac177a3e036192ed8", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1706435589, - "narHash": "sha256-yhEYJxMv5BkfmUuNe4QELKo+V5eq1pwhtVs6kEziHfE=", + "lastModified": 1706798041, + "narHash": "sha256-BbvuF4CsVRBGRP8P+R+JUilojk0M60D7hzqE0bEvJBQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "4d54c29bce71f8c261513e0662cc573d30f3e33e", + "rev": "4d53427bce7bf3d17e699252fd84dc7468afc46e", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706191920, - "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ae5c332cbb5827f6b1f02572496b141021de335f", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", "type": "github" }, "original": { @@ -72,11 +72,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1706373441, - "narHash": "sha256-S1hbgNbVYhuY2L05OANWqmRzj4cElcbLuIkXTb69xkk=", + "lastModified": 1706718339, + "narHash": "sha256-S+S97c/HzkO2A/YsU7ZmNF9w2s7Xk6P8dzmfDdckzLs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "56911ef3403a9318b7621ce745f5452fb9ef6867", + "rev": "53fbe41cf76b6a685004194e38e889bc8857e8c2", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1706514405, - "narHash": "sha256-U9AgqGldgsjemXtkeZZ/OiCifhqjYLrFvaHdztciQ4I=", + "lastModified": 1706724220, + "narHash": "sha256-kTHLLAjCh1F+mfPQ2NffnxhIeVY5et0v3itVXHOPlBQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "067ac0094910860c10437e2c4b083db2089965b6", + "rev": "2e0eb1146cc173e9688a9d6fe64406f4cca2f745", "type": "github" }, "original": { From 8001acb52ccce8e44ec482b437e9d793ae8a8d04 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 2 Feb 2024 22:01:16 +0000 Subject: [PATCH 0611/2258] Update lock file --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index dcb9804b..d0ce2672 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1706569497, - "narHash": "sha256-oixb0IDb5eZYw6BaVr/R/1pSoMh4rfJHkVnlgeRIeZs=", + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "60c614008eed1d0383d21daac177a3e036192ed8", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "type": "github" }, "original": { @@ -22,11 +22,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "lastModified": 1706732774, + "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", "type": "github" }, "original": { @@ -89,11 +89,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", "type": "github" }, "original": { @@ -107,11 +107,11 @@ "nixpkgs-lib_2": { "locked": { "dir": "lib", - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1706724220, - "narHash": "sha256-kTHLLAjCh1F+mfPQ2NffnxhIeVY5et0v3itVXHOPlBQ=", + "lastModified": 1706911174, + "narHash": "sha256-0rlrEExRSM2l6pRVGsApnemIokddRcFDf9sCoL/B2Pw=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "2e0eb1146cc173e9688a9d6fe64406f4cca2f745", + "rev": "88939f9530382b10ac6796386d4d2d4595ac368d", "type": "github" }, "original": { From 1098ac44d2485a74d172e4cdf07af2ee012c8564 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 2 Feb 2024 22:06:04 +0000 Subject: [PATCH 0612/2258] Update renamed keys --- system/nixos/configuration.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 32376a6f..ad5daf24 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -69,9 +69,10 @@ in services.xserver.enable = true; services.xserver = { - # Configure keymap in X11. - layout = "gb"; - xkbVariant = ""; + xkb = { + layout = "gb"; + variant = ""; + }; displayManager = { defaultSession = "none+i3"; From 4f76ec77df9c4c1bfa7d979f73559b1317d76535 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Feb 2024 00:05:57 +0000 Subject: [PATCH 0613/2258] i3: add i3-auto-layout https://github.com/nwg-piotr/autotiling --- system/nixos/home-manager/default.nix | 3 ++- system/nixos/home-manager/modules/i3.nix | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 016ad6c2..075db99a 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -9,9 +9,10 @@ in imports = if desktop then [ desktop-config shared-config ] else [ shared-config ]; home.packages = shared-packages ++ pkgs.lib.optionals desktop [ - pkgs.gscan2pdf pkgs.discord pkgs.gimp + pkgs.gscan2pdf + pkgs.i3-auto-layout pkgs.kdenlive pkgs.meslo-lg pkgs.obs-studio diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 0bf5ceff..667218a5 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -64,6 +64,7 @@ in bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable + exec_always --no-startup-id i3-auto-layout exec --no-startup-id ${pkgs.feh}/bin/feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; default_border none From 39c6794877e39f509fdc7556a443ee44f097dbc8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Feb 2024 12:35:51 +0000 Subject: [PATCH 0614/2258] i3: remove i3-gaps --- system/nixos/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index ad5daf24..c769ff09 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -81,7 +81,6 @@ in windowManager.i3 = { enable = true; - package = pkgs.i3-gaps; extraPackages = with pkgs; [ i3status i3lock i3blocks ]; }; }; From 02c909ed44a29d80ab0a5b870c346ab4aeb94311 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Feb 2024 12:36:43 +0000 Subject: [PATCH 0615/2258] Replace eza with lsd --- system/nixos/home-manager/default.nix | 1 - system/shared/home-manager-packages.nix | 1 - system/shared/home-manager.nix | 2 ++ system/shared/modules/zsh.nix | 4 ++-- system/wsl2/default.nix | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 075db99a..84161541 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -31,7 +31,6 @@ in home.sessionVariables = { EDITOR = "nvim"; - EXA_COLORS = "uu=38;5;255:gu=38;5;255:ur=38;5;255:uw=38;5;255:ue=38;5;255:wx=38;5;255:gr=38;5;250:gw=38;5;250:gx=38;5;250:tr=38;5;255:tw=38;5;255:tx=38;5;255:da=38;5;250:sn=32:sb=0:di=38;5;105"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index 89658881..ac66e9b1 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -6,7 +6,6 @@ with pkgs; [ delta dog doppler - eza fd file gcc diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 2ba07e2c..720392bc 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -28,6 +28,8 @@ target = "logo.txt"; }; + programs.lsd.enable = true; + programs.nnn.enable = true; programs.direnv = { diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index f59319ef..6bd0e8e6 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -17,7 +17,7 @@ clear-ls-all() { clear - exa -al + lsd -al } zle -N clear-ls-all @@ -96,7 +96,7 @@ ialias cs="create-script" ialias daily="run create-daily next" ialias fetch="git fetch --all --jobs=4 --progress --prune" - ialias ls="exa -la" + ialias ls="lsd -la" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" ialias reset="git reset --hard; git clean -fd" diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index 919a80b0..bf60c34d 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -15,7 +15,6 @@ inputs.home-manager.lib.homeManagerConfiguration { home.sessionVariables = { EDITOR = "nvim"; - EXA_COLORS = "uu=38;5;255:gu=38;5;255:ur=38;5;255:uw=38;5;255:ue=38;5;255:wx=38;5;255:gr=38;5;250:gw=38;5;250:gx=38;5;250:tr=38;5;255:tw=38;5;255:tx=38;5;255:da=38;5;250:sn=32:sb=0:di=38;5;105"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; From 15fab770bc6fb5f4df04cf84df08a183f999a093 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Feb 2024 12:38:43 +0000 Subject: [PATCH 0616/2258] tmux: add keybinding to open opdavies.nvim --- system/shared/modules/tmux.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index 2e6ab703..b96cb47e 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -95,6 +95,7 @@ bind-key -r F new-window t bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.nix" + bind-key -r N run-shell "t ~/Code/github.com/opdavies/opdavies.nvim" bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk" set -g @resurrect-strategy-nvim 'session' From e1f93f8e8bef1b75260be27d2ebfd71563d76e79 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 4 Feb 2024 22:56:05 +0000 Subject: [PATCH 0617/2258] i3: refactor to `fonts.names` --- system/nixos/home-manager/modules/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 667218a5..165b6609 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -121,7 +121,7 @@ in }; }]; - fonts = { names = [ "GeistMono" ]; }; + fonts.names = [ "GeistMono" ]; gaps = { smartBorders = "on"; From 497287e4a36767bca6ca630217dc82ce1a20339a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 7 Feb 2024 23:28:44 +0000 Subject: [PATCH 0618/2258] Run garbage collection more frequently --- system/nixos/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index c769ff09..77e708df 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -206,8 +206,8 @@ in nix = { gc = { automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; + dates = "daily"; + options = "--delete-older-than 7d"; }; optimise.automatic = true; From b2a1334559bb2a0ab6342c4e3c7a1a0ba24092a7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 7 Feb 2024 23:28:50 +0000 Subject: [PATCH 0619/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d0ce2672..dd91fc85 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1706798041, - "narHash": "sha256-BbvuF4CsVRBGRP8P+R+JUilojk0M60D7hzqE0bEvJBQ=", + "lastModified": 1707175763, + "narHash": "sha256-0MKHC6tQ4KEuM5rui6DjKZ/VNiSANB4E+DJ/+wPS1PU=", "owner": "nix-community", "repo": "home-manager", - "rev": "4d53427bce7bf3d17e699252fd84dc7468afc46e", + "rev": "f99eace7c167b8a6a0871849493b1c613d0f1b80", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706732774, - "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", + "lastModified": 1707092692, + "narHash": "sha256-ZbHsm+mGk/izkWtT4xwwqz38fdlwu7nUUKXTOmm4SyE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", + "rev": "faf912b086576fd1a15fca610166c98d47bc667e", "type": "github" }, "original": { @@ -72,11 +72,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1706718339, - "narHash": "sha256-S+S97c/HzkO2A/YsU7ZmNF9w2s7Xk6P8dzmfDdckzLs=", + "lastModified": 1707091808, + "narHash": "sha256-LahKBAfGbY836gtpVNnWwBTIzN7yf/uYM/S0g393r0Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53fbe41cf76b6a685004194e38e889bc8857e8c2", + "rev": "9f2ee8c91ac42da3ae6c6a1d21555f283458247e", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1706911174, - "narHash": "sha256-0rlrEExRSM2l6pRVGsApnemIokddRcFDf9sCoL/B2Pw=", + "lastModified": 1707348472, + "narHash": "sha256-hOuK38SpC3mZlmwQuoaTO6deSJLY/aRFVDDnAA93md8=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "88939f9530382b10ac6796386d4d2d4595ac368d", + "rev": "7be3356fd9e9b7b424cfabba668b2494ec8710bb", "type": "github" }, "original": { From 073bce3397be46de21081f69b89a7042764a39eb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 10 Feb 2024 18:55:47 +0000 Subject: [PATCH 0620/2258] Use zeroad from nixpkgs/unstable --- system/nixos/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 77e708df..f629da88 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -141,7 +141,7 @@ in rclone-browser # Games. - pkgs-2311.zeroad + zeroad ]; # Some programs need SUID wrappers, can be configured further or are From a6a27ddbdf84c53d19ffd1a43d07e769bb527812 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 10 Feb 2024 19:29:49 +0000 Subject: [PATCH 0621/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index dd91fc85..7e23fe00 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1707175763, - "narHash": "sha256-0MKHC6tQ4KEuM5rui6DjKZ/VNiSANB4E+DJ/+wPS1PU=", + "lastModified": 1707591592, + "narHash": "sha256-sTFPBn9MnJHcoBcG+xpljsG/JGJxPaevpzhdOrW2uf0=", "owner": "nix-community", "repo": "home-manager", - "rev": "f99eace7c167b8a6a0871849493b1c613d0f1b80", + "rev": "4c0357ff874f8250fcae621d5626aba1c7161710", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707092692, - "narHash": "sha256-ZbHsm+mGk/izkWtT4xwwqz38fdlwu7nUUKXTOmm4SyE=", + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "faf912b086576fd1a15fca610166c98d47bc667e", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "type": "github" }, "original": { @@ -72,11 +72,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1707091808, - "narHash": "sha256-LahKBAfGbY836gtpVNnWwBTIzN7yf/uYM/S0g393r0Y=", + "lastModified": 1707347730, + "narHash": "sha256-0etC/exQIaqC9vliKhc3eZE2Mm2wgLa0tj93ZF/egvM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f2ee8c91ac42da3ae6c6a1d21555f283458247e", + "rev": "6832d0d99649db3d65a0e15fa51471537b2c56a6", "type": "github" }, "original": { From 34eddc3e3ea475b034a7c98abdf196e22f1b1d53 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 11 Feb 2024 10:40:48 +0000 Subject: [PATCH 0622/2258] Remove nixpkgs 23.11 As it's no longer used in my dotfiles. --- flake.lock | 29 ++++++----------------------- flake.nix | 1 - 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 7e23fe00..8d012860 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1707591592, - "narHash": "sha256-sTFPBn9MnJHcoBcG+xpljsG/JGJxPaevpzhdOrW2uf0=", + "lastModified": 1707607386, + "narHash": "sha256-hj/RgQMTvCWQVInkZwiMMieumkfOjHXhtWhfuXHop/8=", "owner": "nix-community", "repo": "home-manager", - "rev": "4c0357ff874f8250fcae621d5626aba1c7161710", + "rev": "bfd0ae29a86eff4603098683b516c67e22184511", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707268954, - "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "lastModified": 1707546158, + "narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", + "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0", "type": "github" }, "original": { @@ -70,22 +70,6 @@ "type": "github" } }, - "nixpkgs-2311": { - "locked": { - "lastModified": 1707347730, - "narHash": "sha256-0etC/exQIaqC9vliKhc3eZE2Mm2wgLa0tj93ZF/egvM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "6832d0d99649db3d65a0e15fa51471537b2c56a6", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -148,7 +132,6 @@ "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-2311": "nixpkgs-2311", "opdavies-nvim": "opdavies-nvim" } } diff --git a/flake.nix b/flake.nix index aca8edae..de5ddcd7 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,6 @@ inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; - nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; From 09a1fd688c2336412d19569d81b65b792f53c0cb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 11 Feb 2024 14:10:15 +0000 Subject: [PATCH 0623/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 8d012860..92978cea 100644 --- a/flake.lock +++ b/flake.lock @@ -114,11 +114,11 @@ ] }, "locked": { - "lastModified": 1707348472, - "narHash": "sha256-hOuK38SpC3mZlmwQuoaTO6deSJLY/aRFVDDnAA93md8=", + "lastModified": 1707660563, + "narHash": "sha256-/bwnzUpSxsPP5s0r0nYFeP7upTUapglvK/QH4alPxbQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "7be3356fd9e9b7b424cfabba668b2494ec8710bb", + "rev": "b55886673f093042ac55c319958a979e60dc7797", "type": "github" }, "original": { From 7db4788e499185fda86a121d7eb21a074e6bfd03 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Feb 2024 21:32:44 +0000 Subject: [PATCH 0624/2258] Use direnv --- .envrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..a5dbbcba --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake . From 7302dae7ecf697c7114da4d22dc5605d086823b8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Feb 2024 21:33:32 +0000 Subject: [PATCH 0625/2258] Use alejandra for formatting Nix files --- flake.nix | 31 +++--- system/nixos/configuration.nix | 84 +++++++-------- system/nixos/default.nix | 47 ++++---- system/nixos/hardware-configuration.nix | 25 ++--- system/nixos/home-manager/default.nix | 66 +++++++----- system/nixos/home-manager/desktop.nix | 7 +- .../nixos/home-manager/modules/alacritty.nix | 2 +- .../nixos/home-manager/modules/autorandr.nix | 52 +++++---- system/nixos/home-manager/modules/espanso.nix | 3 +- system/nixos/home-manager/modules/i3.nix | 100 ++++++++++-------- system/shared/home-manager-packages.nix | 6 +- system/shared/home-manager.nix | 11 +- system/shared/modules/git.nix | 14 +-- system/shared/modules/neovim.nix | 9 +- system/shared/modules/tmux.nix | 4 +- system/shared/modules/zsh.nix | 12 +-- system/wsl2/default.nix | 44 ++++---- 17 files changed, 273 insertions(+), 244 deletions(-) diff --git a/flake.nix b/flake.nix index de5ddcd7..c7e7ed7e 100644 --- a/flake.nix +++ b/flake.nix @@ -7,21 +7,28 @@ opdavies-nvim.url = "github:opdavies/opdavies.nvim"; }; - outputs = inputs@{ flake-parts, self, ... }: - let - system = "x86_64-linux"; - username = "opdavies"; + outputs = inputs @ { + flake-parts, + self, + ... + }: let + system = "x86_64-linux"; + username = "opdavies"; - pkgs = inputs.nixpkgs.legacyPackages.${system}; + pkgs = inputs.nixpkgs.legacyPackages.${system}; - nixos-system = import ./system/nixos { inherit inputs pkgs self system username; }; - wsl-system = import ./system/wsl2 { inherit inputs pkgs self system username; }; - in - flake-parts.lib.mkFlake { inherit inputs; } { - systems = [ "x86_64-linux" ]; + nixos-system = import ./system/nixos {inherit inputs pkgs self system username;}; + wsl-system = import ./system/wsl2 {inherit inputs pkgs self system username;}; + in + flake-parts.lib.mkFlake {inherit inputs;} { + systems = ["x86_64-linux"]; - perSystem = { pkgs, self', ... }: { - formatter = pkgs.nixpkgs-fmt; + perSystem = { + pkgs, + self', + ... + }: { + formatter = pkgs.alejandra; }; flake = { diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index f629da88..019ac5ff 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -1,27 +1,28 @@ -{ inputs, desktop ? false, hostname, pkgs, system }: - -let +{ + inputs, + desktop ? false, + hostname, + pkgs, + system, +}: let pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${system}; configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; executable = true; - text = - let - schema = pkgs.gsettings-desktop-schemas; - datadir = "${schema}/share/gsettings-schemas/${schema.name}"; - in - '' - export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS - gnome_schema=org.gnome.desktop.interface - gsettings set $gnome_schema gtk-theme 'Breeze Dark' - ''; + text = let + schema = pkgs.gsettings-desktop-schemas; + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; + in '' + export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS + gnome_schema=org.gnome.desktop.interface + gsettings set $gnome_schema gtk-theme 'Breeze Dark' + ''; }; username = "opdavies"; -in -{ +in { nixpkgs = { config = { allowUnfree = true; @@ -81,7 +82,7 @@ in windowManager.i3 = { enable = true; - extraPackages = with pkgs; [ i3status i3lock i3blocks ]; + extraPackages = with pkgs; [i3status i3lock i3blocks]; }; }; @@ -116,8 +117,8 @@ in users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; - extraGroups = [ "docker" "networkmanager" "wheel" ]; - packages = with pkgs; [ ]; + extraGroups = ["docker" "networkmanager" "wheel"]; + packages = with pkgs; []; }; security.sudo.wheelNeedsPassword = false; @@ -133,7 +134,8 @@ in xfce.thunar xfce.thunar-volman xfce.tumbler - ] ++ pkgs.lib.optionals desktop [ + ] + ++ pkgs.lib.optionals desktop [ acpi dunst libnotify @@ -182,7 +184,7 @@ in fontconfig = { enable = true; defaultFonts = { - monospace = [ "JetBrainsMono Nerd Font Mono" ]; + monospace = ["JetBrainsMono Nerd Font Mono"]; }; }; @@ -214,32 +216,30 @@ in settings = { auto-optimise-store = true; - experimental-features = [ "nix-command" "flakes" ]; + experimental-features = ["nix-command" "flakes"]; warn-dirty = false; }; }; # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = - let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in - { - enable = true; - plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; + services.interception-tools = let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in { + enable = true; + plugins = pkgs.lib.mkForce [pkgs.interception-tools-plugins.dual-function-keys]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; system.autoUpgrade = { allowReboot = true; @@ -257,7 +257,7 @@ in programs.firefox = { enable = true; - languagePacks = [ "en-GB" ]; + languagePacks = ["en-GB"]; package = pkgs.firefox-devedition; preferences = { "intl.accept_languages" = "en-GB, en"; diff --git a/system/nixos/default.nix b/system/nixos/default.nix index 7f79f2e6..51aee7ea 100644 --- a/system/nixos/default.nix +++ b/system/nixos/default.nix @@ -1,24 +1,29 @@ -{ inputs, pkgs, self, system, username }: - -{ desktop ? false, hostname }: - -let - configuration = import ./configuration.nix { inherit desktop hostname inputs pkgs system; }; +{ + inputs, + pkgs, + self, + system, + username, +}: { + desktop ? false, + hostname, +}: let + configuration = import ./configuration.nix {inherit desktop hostname inputs pkgs system;}; hardware-configuration = import ./hardware-configuration.nix; in -inputs.nixpkgs.lib.nixosSystem { - modules = [ - inputs.home-manager.nixosModules.home-manager - { - home-manager = { - extraSpecialArgs = { inherit inputs desktop self username; }; - useGlobalPkgs = true; - useUserPackages = true; - users."${username}" = import ./home-manager; - }; - } + inputs.nixpkgs.lib.nixosSystem { + modules = [ + inputs.home-manager.nixosModules.home-manager + { + home-manager = { + extraSpecialArgs = {inherit inputs desktop self username;}; + useGlobalPkgs = true; + useUserPackages = true; + users."${username}" = import ./home-manager; + }; + } - configuration - hardware-configuration - ]; -} + configuration + hardware-configuration + ]; + } diff --git a/system/nixos/hardware-configuration.nix b/system/nixos/hardware-configuration.nix index 7392c48c..b819f280 100644 --- a/system/nixos/hardware-configuration.nix +++ b/system/nixos/hardware-configuration.nix @@ -1,14 +1,17 @@ -{ config, lib, pkgs, modulesPath, ... }: - { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [(modulesPath + "/installer/scan/not-detected.nix")]; - boot.initrd.availableKernelModules = - [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.kernelParams = [ "i8042.reset" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.kernelParams = ["i8042.reset"]; + boot.extraModulePackages = []; boot.kernelPackages = pkgs.linuxPackages_latest; hardware.enableAllFirmware = true; @@ -23,8 +26,7 @@ fsType = "vfat"; }; - swapDevices = - [{ device = "/dev/disk/by-label/swap"; }]; + swapDevices = [{device = "/dev/disk/by-label/swap";}]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's @@ -39,5 +41,4 @@ hardware.bluetooth.enable = true; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - } diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 84161541..7bfc4f0b 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -1,33 +1,43 @@ -{ config, desktop, inputs, pkgs, self, username, ... }: - -let - desktop-config = import ./desktop.nix { inherit config inputs pkgs username; }; - shared-config = import ../../shared/home-manager.nix { inherit inputs pkgs self username; }; - shared-packages = import ../../shared/home-manager-packages.nix { inherit inputs pkgs; }; -in { - imports = if desktop then [ desktop-config shared-config ] else [ shared-config ]; + config, + desktop, + inputs, + pkgs, + self, + username, + ... +}: let + desktop-config = import ./desktop.nix {inherit config inputs pkgs username;}; + shared-config = import ../../shared/home-manager.nix {inherit inputs pkgs self username;}; + shared-packages = import ../../shared/home-manager-packages.nix {inherit inputs pkgs;}; +in { + imports = + if desktop + then [desktop-config shared-config] + else [shared-config]; - home.packages = shared-packages ++ pkgs.lib.optionals desktop [ - pkgs.discord - pkgs.gimp - pkgs.gscan2pdf - pkgs.i3-auto-layout - pkgs.kdenlive - pkgs.meslo-lg - pkgs.obs-studio - pkgs.okular - pkgs.pamixer - pkgs.pass - pkgs.pavucontrol - pkgs.pinentry - pkgs.slack - pkgs.via - pkgs.vlc - pkgs.xsel - pkgs.xcape - pkgs.zoom-us - ]; + home.packages = + shared-packages + ++ pkgs.lib.optionals desktop [ + pkgs.discord + pkgs.gimp + pkgs.gscan2pdf + pkgs.i3-auto-layout + pkgs.kdenlive + pkgs.meslo-lg + pkgs.obs-studio + pkgs.okular + pkgs.pamixer + pkgs.pass + pkgs.pavucontrol + pkgs.pinentry + pkgs.slack + pkgs.via + pkgs.vlc + pkgs.xsel + pkgs.xcape + pkgs.zoom-us + ]; home.sessionVariables = { EDITOR = "nvim"; diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index 41604cd2..cffc0fe3 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -1,6 +1,9 @@ -{ config, inputs, pkgs, username }: - { + config, + inputs, + pkgs, + username, +}: { imports = [ ./modules/alacritty.nix ./modules/autorandr.nix diff --git a/system/nixos/home-manager/modules/alacritty.nix b/system/nixos/home-manager/modules/alacritty.nix index d310e597..9b0454ea 100644 --- a/system/nixos/home-manager/modules/alacritty.nix +++ b/system/nixos/home-manager/modules/alacritty.nix @@ -21,7 +21,7 @@ glyph_offset.y = 6; }; - shell = { program = "zsh"; }; + shell = {program = "zsh";}; }; }; } diff --git a/system/nixos/home-manager/modules/autorandr.nix b/system/nixos/home-manager/modules/autorandr.nix index 3650dd9b..c10a7475 100644 --- a/system/nixos/home-manager/modules/autorandr.nix +++ b/system/nixos/home-manager/modules/autorandr.nix @@ -1,6 +1,4 @@ -{ username, ... }: - -{ +{username, ...}: { services.autorandr.enable = true; xdg.configFile."autorandr/postswitch" = { @@ -15,33 +13,31 @@ programs.autorandr = { enable = true; - profiles = - let - laptop = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - monitor = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - in - { - laptop = { - config.eDP-1 = { - enable = true; - mode = "1920x1080"; - primary = true; - rate = "59.95"; - }; - - fingerprint.eDP-1 = laptop; + profiles = let + laptop = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + monitor = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + in { + laptop = { + config.eDP-1 = { + enable = true; + mode = "1920x1080"; + primary = true; + rate = "59.95"; }; - desktop = { - config.HDMI-1 = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; - }; - - fingerprint.HDMI-1 = monitor; - }; + fingerprint.eDP-1 = laptop; }; + + desktop = { + config.HDMI-1 = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; + + fingerprint.HDMI-1 = monitor; + }; + }; }; } diff --git a/system/nixos/home-manager/modules/espanso.nix b/system/nixos/home-manager/modules/espanso.nix index e27d6964..0c5607e5 100644 --- a/system/nixos/home-manager/modules/espanso.nix +++ b/system/nixos/home-manager/modules/espanso.nix @@ -1,7 +1,6 @@ let baseUrl = "https://www.oliverdavies.uk"; -in -{ +in { services.espanso = { enable = true; diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 165b6609..6f8269e2 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -1,19 +1,23 @@ -{ config, inputs, self, username, pkgs, ... }: - -let - modifier = "Mod4"; -in { + config, + inputs, + self, + username, + pkgs, + ... +}: let + modifier = "Mod4"; +in { xsession.windowManager.i3 = { enable = true; config = { assigns = { - "7" = [{ class = "vlc"; }]; - "8" = [{ class = "0ad"; }]; + "7" = [{class = "vlc";}]; + "8" = [{class = "0ad";}]; "9" = [ - { class = "Slack"; } - { class = "discord"; } + {class = "Slack";} + {class = "discord";} ]; }; @@ -81,47 +85,49 @@ in ''; config = { - bars = [{ - position = "bottom"; - statusCommand = "${pkgs.i3status}/bin/i3status"; - colors = { - background = "#161616"; - statusline = "#ffffff"; - separator = "#333333"; + bars = [ + { + position = "bottom"; + statusCommand = "${pkgs.i3status}/bin/i3status"; + colors = { + background = "#161616"; + statusline = "#ffffff"; + separator = "#333333"; - focusedWorkspace = { - background = "#444444"; - border = "#555555"; - text = "#ffffff"; + focusedWorkspace = { + background = "#444444"; + border = "#555555"; + text = "#ffffff"; + }; + + activeWorkspace = { + background = "#555555"; + border = "#666666"; + text = "#ffffff"; + }; + + inactiveWorkspace = { + background = "#111111"; + border = "#000000"; + text = "#888888"; + }; + + bindingMode = { + background = "#ff0000"; + border = "#880000"; + text = "#ffffff"; + }; + + urgentWorkspace = { + background = "#ff0000"; + border = "#880000"; + text = "#ffffff"; + }; }; + } + ]; - activeWorkspace = { - background = "#555555"; - border = "#666666"; - text = "#ffffff"; - }; - - inactiveWorkspace = { - background = "#111111"; - border = "#000000"; - text = "#888888"; - }; - - bindingMode = { - background = "#ff0000"; - border = "#880000"; - text = "#ffffff"; - }; - - urgentWorkspace = { - background = "#ff0000"; - border = "#880000"; - text = "#ffffff"; - }; - }; - }]; - - fonts.names = [ "GeistMono" ]; + fonts.names = ["GeistMono"]; gaps = { smartBorders = "on"; diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index ac66e9b1..afbc0b50 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -1,4 +1,8 @@ -{ inputs, pkgs, ... }: +{ + inputs, + pkgs, + ... +}: with pkgs; [ awscli2 bottom diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix index 720392bc..1677d682 100644 --- a/system/shared/home-manager.nix +++ b/system/shared/home-manager.nix @@ -1,6 +1,9 @@ -{ inputs, pkgs, username, self }: - { + inputs, + pkgs, + username, + self, +}: { home.username = "${username}"; home.homeDirectory = "/home/${username}"; @@ -9,7 +12,7 @@ programs.home-manager.enable = true; imports = [ - (import ./modules/neovim.nix { inherit inputs; }) + (import ./modules/neovim.nix {inherit inputs;}) ./modules/git.nix ./modules/starship.nix ./modules/tmux.nix @@ -38,7 +41,7 @@ nix-direnv.enable = true; }; - home.sessionPath = [ "$HOME/.config/bin" ]; + home.sessionPath = ["$HOME/.config/bin"]; xdg.configFile."ripgrep/config".text = '' --follow diff --git a/system/shared/modules/git.nix b/system/shared/modules/git.nix index 55bf0871..aea28287 100644 --- a/system/shared/modules/git.nix +++ b/system/shared/modules/git.nix @@ -48,12 +48,10 @@ current-branch = "rev-parse --abbrev-ref HEAD"; dc = "diff --color --word-diff --cached"; df = "diff --color --word-diff"; - dup = - "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; fixup = "commit --fixup"; issues = "!gh issue list --web"; - mup = - "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; no-ff = "merge --no-ff"; pl = "pull"; prune = "remote prune origin"; @@ -65,12 +63,10 @@ repush = "!git pull --rebase && git push"; ri = "rebase --interactive"; rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = - "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; rip = "!git rebase -i $(git merge-base production HEAD)"; ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = - "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; sl = "log --oneline --decorate -20"; sla = "log --oneline --decorate --graph --all -20"; @@ -92,7 +88,7 @@ }; checkout.defaultRemote = "origin"; color.ui = true; - commit = { template = "~/.gitmessage"; }; + commit = {template = "~/.gitmessage";}; core = { editor = "nvim"; excludesFile = "~/.config/git/ignore"; diff --git a/system/shared/modules/neovim.nix b/system/shared/modules/neovim.nix index 361647bf..93ff5b29 100644 --- a/system/shared/modules/neovim.nix +++ b/system/shared/modules/neovim.nix @@ -1,10 +1,7 @@ -{ inputs }: { pkgs, ... }: - -let +{inputs}: {pkgs, ...}: let system = pkgs.system; -in -{ - programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager { inherit system; }; +in { + programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager {inherit system;}; home.file.".markdownlint.yaml".text = '' default: true diff --git a/system/shared/modules/tmux.nix b/system/shared/modules/tmux.nix index b96cb47e..10e65a12 100644 --- a/system/shared/modules/tmux.nix +++ b/system/shared/modules/tmux.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +{pkgs, ...}: { programs.tmux = { enable = true; terminal = "tmux-256color"; diff --git a/system/shared/modules/zsh.nix b/system/shared/modules/zsh.nix index 6bd0e8e6..8c26354f 100644 --- a/system/shared/modules/zsh.nix +++ b/system/shared/modules/zsh.nix @@ -200,19 +200,19 @@ plugins = [ { name = "themes/robbyrussell"; - tags = [ "from:oh-my-zsh" "as:theme" ]; + tags = ["from:oh-my-zsh" "as:theme"]; } { name = "plugin/git"; - tags = [ "from:oh-my-zsh" ]; + tags = ["from:oh-my-zsh"]; } { name = "plugin/vi-mode"; - tags = [ "from:oh-my-zsh" ]; + tags = ["from:oh-my-zsh"]; } - { name = "mollifier/cd-gitroot"; } - { name = "zsh-users/zsh-completions"; } - { name = "zsh-users/zsh-syntax-highlighting"; } + {name = "mollifier/cd-gitroot";} + {name = "zsh-users/zsh-completions";} + {name = "zsh-users/zsh-syntax-highlighting";} ]; }; }; diff --git a/system/wsl2/default.nix b/system/wsl2/default.nix index bf60c34d..f39cb728 100644 --- a/system/wsl2/default.nix +++ b/system/wsl2/default.nix @@ -1,24 +1,28 @@ -{ inputs, pkgs, self, system, username }: - -let - shared-config = import ../shared/home-manager.nix { inherit inputs pkgs self username; }; - shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; }; +{ + inputs, + pkgs, + self, + system, + username, +}: let + shared-config = import ../shared/home-manager.nix {inherit inputs pkgs self username;}; + shared-packages = import ../shared/home-manager-packages.nix {inherit inputs pkgs;}; in -inputs.home-manager.lib.homeManagerConfiguration { - inherit pkgs; + inputs.home-manager.lib.homeManagerConfiguration { + inherit pkgs; - modules = [ - { - imports = [ shared-config ]; + modules = [ + { + imports = [shared-config]; - home.packages = shared-packages; + home.packages = shared-packages; - home.sessionVariables = { - EDITOR = "nvim"; - PATH = "$PATH:./vendor/bin:./node_modules/.bin"; - PULUMI_SKIP_UPDATE_CHECK = "true"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; - }; - } - ]; -} + home.sessionVariables = { + EDITOR = "nvim"; + PATH = "$PATH:./vendor/bin:./node_modules/.bin"; + PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; + }; + } + ]; + } From 2f2ded8d205519b454fac3ecd92c5280cd838725 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 14 Feb 2024 12:17:50 +0000 Subject: [PATCH 0626/2258] Add arandr --- system/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 019ac5ff..17df0ed9 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -137,6 +137,7 @@ in { ] ++ pkgs.lib.optionals desktop [ acpi + arandr dunst libnotify rclone From 529d1a7ce7c3d77d61736b4f553629ddc6d13a82 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 14 Feb 2024 17:44:52 +0000 Subject: [PATCH 0627/2258] Replace watch-changes script with watchexec --- bin/watch-changes | 17 ----------------- system/shared/home-manager-packages.nix | 1 + 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100755 bin/watch-changes diff --git a/bin/watch-changes b/bin/watch-changes deleted file mode 100755 index 35f87b97..00000000 --- a/bin/watch-changes +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -if [[ "$1" == "" || "$2" == "" ]]; then - echo "usage: ${0##*/} "; - exit 2; -fi - -set -uo pipefail - -while true; do - inotifywait \ - --event modify \ - --event move_self \ - --exclude ".git|simpletest|vendor" \ - --recursive \ - $1 && $2 -done diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index afbc0b50..e1cb5139 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -32,6 +32,7 @@ with pkgs; [ tree-sitter unzip virtualenv + watchexec wget xcp xh From e57b40d5b0d7d471a6d974a57da03e58e6a7b8e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Feb 2024 19:24:36 +0000 Subject: [PATCH 0628/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 92978cea..35c284c7 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1707607386, - "narHash": "sha256-hj/RgQMTvCWQVInkZwiMMieumkfOjHXhtWhfuXHop/8=", + "lastModified": 1707919853, + "narHash": "sha256-qxmBGDzutuJ/tsX4gp+Mr7fjxOZBbeT9ixhS5o4iFOw=", "owner": "nix-community", "repo": "home-manager", - "rev": "bfd0ae29a86eff4603098683b516c67e22184511", + "rev": "043ba285c6dc20f36441d48525402bcb9743c498", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707546158, - "narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=", + "lastModified": 1707956935, + "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0", + "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", "type": "github" }, "original": { @@ -114,11 +114,11 @@ ] }, "locked": { - "lastModified": 1707660563, - "narHash": "sha256-/bwnzUpSxsPP5s0r0nYFeP7upTUapglvK/QH4alPxbQ=", + "lastModified": 1707868683, + "narHash": "sha256-6vn+XAbHkUKQzNukEyWI9FCm1QJn+8gjTTARjFiiWqs=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "b55886673f093042ac55c319958a979e60dc7797", + "rev": "4558a470a7e9481a067bb8495807dc966d4c0443", "type": "github" }, "original": { From 3d9f39d6b47ce71ec3c88e4c920400275157f512 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Feb 2024 10:31:24 +0000 Subject: [PATCH 0629/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 35c284c7..a833de1b 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1707919853, - "narHash": "sha256-qxmBGDzutuJ/tsX4gp+Mr7fjxOZBbeT9ixhS5o4iFOw=", + "lastModified": 1708294481, + "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "043ba285c6dc20f36441d48525402bcb9743c498", + "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707956935, - "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "lastModified": 1708118438, + "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", "type": "github" }, "original": { @@ -114,11 +114,11 @@ ] }, "locked": { - "lastModified": 1707868683, - "narHash": "sha256-6vn+XAbHkUKQzNukEyWI9FCm1QJn+8gjTTARjFiiWqs=", + "lastModified": 1708338667, + "narHash": "sha256-4SDxqmKRVhpbLJjyE+1EztxPlwGPXBjmbo31d3iDaOU=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "4558a470a7e9481a067bb8495807dc966d4c0443", + "rev": "090e91bc6795025c6e66799910189fe2ecbe8b71", "type": "github" }, "original": { From cba5923b483e5cf06672dd743a42c821403e508f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Feb 2024 23:38:00 +0000 Subject: [PATCH 0630/2258] i3: set the default workspace --- system/nixos/home-manager/modules/i3.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 6f8269e2..4b0343fe 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -21,6 +21,8 @@ in { ]; }; + defaultWorkspace = "workspace number 1"; + focus.followMouse = false; modifier = modifier; From 85215edf8fd42d72d58a938b1ede2a339c1df17f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Feb 2024 23:38:23 +0000 Subject: [PATCH 0631/2258] i3: add keybinding to open thunar --- system/nixos/home-manager/modules/i3.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 4b0343fe..40e0b3d4 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -31,6 +31,7 @@ in { "${modifier}+d" = "exec ${pkgs.dmenu}/bin/dmenu_run -sb '#555555'"; "${modifier}+Shift+b" = "exec ${pkgs.firefox-devedition}/bin/firefox-devedition"; + "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; "${modifier}+Tab" = "workspace back_and_forth"; # Change focus. From eb9aadc00434f035ac90882b2c99b36ccb0f3416 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Feb 2024 23:47:53 +0000 Subject: [PATCH 0632/2258] Update CHANGELOG --- CHANGELOG.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0acb11d2..3c954419 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,60 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 19th February 2024 + +### Added + +* Add an i3 keybinding to open `thunar`. +* Set the default i3 workspace. + +## 14th February 2024 + +### Changed + +* Replace the custom `watch-changes` script with `watchexec` (https://github.com/watchexec/watchexec). +* Add `arandr`. + +## 7th February 2024 + +### Changed + +* Run NixOS garbage collection daily instead of weekly and delete generations older than 7 days. + +## 4th February 2024 + +### Added + +* Add `i3-auto-layout` to add automatic tiling. + +### Removed + +* Remove `i3-gaps`. + +## 31st January 2024 + +### Changed + +* Focus in i3 should no longer follows the mouse. +* Change colours in `dmenu`. + +## 29th January 2024 + +### Changed + +* Automatically ignore `todo` and `notes` files from Git. +* Change i3 colours. + +## 26th January 2024 + +### Added + +* Re-add Starship prompt. + +### Changed + +* Update `build-configs` aliases. + ## 25th January 2024 ### Added From c35a1a17aa69f362463aa07d32a7b0de88f6d96b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Feb 2024 01:06:04 +0000 Subject: [PATCH 0633/2258] Use rofi instead of dmenu --- CHANGELOG.md | 4 ++++ system/nixos/home-manager/desktop.nix | 2 ++ system/nixos/home-manager/modules/i3.nix | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c954419..412bbb10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ Instead of grouping changes by tag, they are grouped by the date they are releas * Add an i3 keybinding to open `thunar`. * Set the default i3 workspace. +## Changed + +* Use `rofi` instead of `dmenu`. + ## 14th February 2024 ### Changed diff --git a/system/nixos/home-manager/desktop.nix b/system/nixos/home-manager/desktop.nix index cffc0fe3..edca5884 100644 --- a/system/nixos/home-manager/desktop.nix +++ b/system/nixos/home-manager/desktop.nix @@ -38,4 +38,6 @@ }; programs.feh.enable = true; + + programs.rofi.enable = true; } diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 40e0b3d4..bb40ba3d 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -28,7 +28,7 @@ in { modifier = modifier; keybindings = inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+d" = "exec ${pkgs.dmenu}/bin/dmenu_run -sb '#555555'"; + "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; "${modifier}+Shift+b" = "exec ${pkgs.firefox-devedition}/bin/firefox-devedition"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; From e3312a984cee49c629a90e8d41b4bf67873801f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Feb 2024 17:50:16 +0000 Subject: [PATCH 0634/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a833de1b..518d275e 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708118438, - "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", + "lastModified": 1708296515, + "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", + "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", "type": "github" }, "original": { From 657696630f3aa7cee1ab17ecd88c34c2c47e2c80 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Feb 2024 08:14:20 +0000 Subject: [PATCH 0635/2258] Add keybinding to cycle between autorandr profiles --- system/nixos/home-manager/modules/i3.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index bb40ba3d..2af45b16 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -46,9 +46,9 @@ in { "${modifier}+Shift+k" = "move up"; "${modifier}+Shift+l" = "move right"; - "${modifier}+Shift+s" = "exec --no-startup-id feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*;"; - "${modifier}+Shift+p" = "exec flameshot gui"; - "${modifier}+Shift+y" = "exec copyq toggle"; + "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; + "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --cycle"; + "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; From bdd33ac0e5ae1788457420b50115bb34ee5dd963 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Feb 2024 16:26:27 +0000 Subject: [PATCH 0636/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 518d275e..758abc68 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1708294481, - "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", + "lastModified": 1708451036, + "narHash": "sha256-tgZ38NummEdnXvxj4D0StHBzXgceAw8CptytHljH790=", "owner": "nix-community", "repo": "home-manager", - "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", + "rev": "517601b37c6d495274454f63c5a483c8e3ca6be1", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708296515, - "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", "type": "github" }, "original": { @@ -114,11 +114,11 @@ ] }, "locked": { - "lastModified": 1708338667, - "narHash": "sha256-4SDxqmKRVhpbLJjyE+1EztxPlwGPXBjmbo31d3iDaOU=", + "lastModified": 1708531909, + "narHash": "sha256-8/PNzaIPUFcouOwDTYfoYCmljURucII3g0MESA4scx0=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "090e91bc6795025c6e66799910189fe2ecbe8b71", + "rev": "94581a9c7fd288a691d18026572e6d315ae90cce", "type": "github" }, "original": { From 73bd2e0bdaba987e2ebee676a369279df5da1fec Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Feb 2024 10:21:53 +0000 Subject: [PATCH 0637/2258] Add just and justfile --- flake.nix | 4 ++++ justfile | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 justfile diff --git a/flake.nix b/flake.nix index c7e7ed7e..d413b488 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,10 @@ self', ... }: { + packages.default = pkgs.mkShell { + nativeBuildInputs = [pkgs.just]; + }; + formatter = pkgs.alejandra; }; diff --git a/justfile b/justfile new file mode 100644 index 00000000..7ab19470 --- /dev/null +++ b/justfile @@ -0,0 +1,14 @@ +_default: + just --list + +check: + nix flake check + +nixos-build profile: + sudo nixos-rebuild build --flake ".#{{ profile }}" + +nixos-switch profile: + sudo nixos-rebuild switch --flake ".#{{ profile }}" + +update: + nix flake update From 1e352cef03fbc253ffd10ea8f632b791b20b362f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Feb 2024 10:26:00 +0000 Subject: [PATCH 0638/2258] Remove i3-auto-layout --- CHANGELOG.md | 6 ++++++ system/nixos/home-manager/default.nix | 1 - system/nixos/home-manager/modules/i3.nix | 1 - 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 412bbb10..b2d89fd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 24th February 2024 + +### Removed + +* Remove `i3-auto-layout`. + ## 19th February 2024 ### Added diff --git a/system/nixos/home-manager/default.nix b/system/nixos/home-manager/default.nix index 7bfc4f0b..880c9f9c 100644 --- a/system/nixos/home-manager/default.nix +++ b/system/nixos/home-manager/default.nix @@ -22,7 +22,6 @@ in { pkgs.discord pkgs.gimp pkgs.gscan2pdf - pkgs.i3-auto-layout pkgs.kdenlive pkgs.meslo-lg pkgs.obs-studio diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index 2af45b16..f57ed455 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -71,7 +71,6 @@ in { bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable - exec_always --no-startup-id i3-auto-layout exec --no-startup-id ${pkgs.feh}/bin/feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; default_border none From 1303a30796ad31de98ba638d49f742a696e59929 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 25 Feb 2024 01:10:48 +0000 Subject: [PATCH 0639/2258] Switch from `firefox-devedition` --- system/nixos/configuration.nix | 1 - system/nixos/home-manager/modules/i3.nix | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 17df0ed9..0f58bf0c 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -259,7 +259,6 @@ in { programs.firefox = { enable = true; languagePacks = ["en-GB"]; - package = pkgs.firefox-devedition; preferences = { "intl.accept_languages" = "en-GB, en"; "intl.regional_prefs.use_os_locales" = true; diff --git a/system/nixos/home-manager/modules/i3.nix b/system/nixos/home-manager/modules/i3.nix index f57ed455..c8734272 100644 --- a/system/nixos/home-manager/modules/i3.nix +++ b/system/nixos/home-manager/modules/i3.nix @@ -30,7 +30,7 @@ in { keybindings = inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; - "${modifier}+Shift+b" = "exec ${pkgs.firefox-devedition}/bin/firefox-devedition"; + "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; "${modifier}+Tab" = "workspace back_and_forth"; From 409f0a99f35a88de3bf1d3c874ba974c491b52d8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 25 Feb 2024 01:10:58 +0000 Subject: [PATCH 0640/2258] Update lock file --- flake.lock | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 758abc68..e4751aeb 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1708451036, - "narHash": "sha256-tgZ38NummEdnXvxj4D0StHBzXgceAw8CptytHljH790=", + "lastModified": 1708806879, + "narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", "owner": "nix-community", "repo": "home-manager", - "rev": "517601b37c6d495274454f63c5a483c8e3ca6be1", + "rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708475490, - "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "lastModified": 1708655239, + "narHash": "sha256-ZrP/yACUvDB+zbqYJsln4iwotbH6CTZiTkANJ0AgDv4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "rev": "cbc4211f0afffe6dfd2478a62615dd5175a13f9a", "type": "github" }, "original": { @@ -70,6 +70,22 @@ "type": "github" } }, + "nixpkgs-2305": { + "locked": { + "lastModified": 1704290814, + "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -111,14 +127,15 @@ "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" - ] + ], + "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1708531909, - "narHash": "sha256-8/PNzaIPUFcouOwDTYfoYCmljURucII3g0MESA4scx0=", + "lastModified": 1708813591, + "narHash": "sha256-Lz+jJm5BaOJgY3OtgP3H33pOwsf+RN/FObbgThLPdu0=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "94581a9c7fd288a691d18026572e6d315ae90cce", + "rev": "3afe1bd12b60f611bf4da0ff8d17a75683c09626", "type": "github" }, "original": { From 996bfb01207ff1acc583996864ebfc4b1845c3d8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Feb 2024 12:00:00 +0000 Subject: [PATCH 0641/2258] Update lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e4751aeb..315e9068 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708655239, - "narHash": "sha256-ZrP/yACUvDB+zbqYJsln4iwotbH6CTZiTkANJ0AgDv4=", + "lastModified": 1708807242, + "narHash": "sha256-sRTRkhMD4delO/hPxxi+XwLqPn8BuUq6nnj4JqLwOu0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cbc4211f0afffe6dfd2478a62615dd5175a13f9a", + "rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a", "type": "github" }, "original": { @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1708813591, - "narHash": "sha256-Lz+jJm5BaOJgY3OtgP3H33pOwsf+RN/FObbgThLPdu0=", + "lastModified": 1708946536, + "narHash": "sha256-MF5fJ7OU58AUrZp601Rnep/plECQHt137T1Xp0Rf7eE=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "3afe1bd12b60f611bf4da0ff8d17a75683c09626", + "rev": "112433a8bd0e29e25821ef4b03740da3c7ff48c0", "type": "github" }, "original": { From e98b2431c4c3e3d65f76e31d57d603aaee265650 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Feb 2024 17:31:59 +0000 Subject: [PATCH 0642/2258] Add a default version of PHP and Composer I use it for various CLI tools so it makes sense to have a default version of PHP installed. --- CHANGELOG.md | 6 ++++++ system/shared/home-manager-packages.nix | 2 ++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2d89fd3..dadb2184 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 26th February 2024 + +### Added + +* Add PHP 8.2 as a default global version. + ## 24th February 2024 ### Removed diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index e1cb5139..ac22e071 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -24,6 +24,8 @@ with pkgs; [ lua mysql neofetch + php82 + php82Packages.composer pv ripgrep rustywind From 8e62b79cb811d526ae9eda7bc466e9747ee17268 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 26 Feb 2024 16:41:32 +0000 Subject: [PATCH 0643/2258] update autoUpgrade settings https://discourse.nixos.org/t/best-practices-for-auto-upgrades-of-flake-enabled-nixos-systems/31255/2 --- system/nixos/configuration.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 0f58bf0c..fb9fb9fd 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -243,9 +243,16 @@ in { }; system.autoUpgrade = { - allowReboot = true; enable = true; - flake = "nixedo"; + flake = inputs.self.outPath; + flags = [ + "--update-input" + "nixpkgs" + "--no-write-lock-file" + "-L" # print build logs + ]; + dates = "08:00"; + randomizedDelaySec = "45min"; }; services.gvfs.enable = true; From 43284940064aa2f9eb93bd7092ec1635d23f8d29 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Feb 2024 18:16:04 +0000 Subject: [PATCH 0644/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 315e9068..4aff97fc 100644 --- a/flake.lock +++ b/flake.lock @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1708946536, - "narHash": "sha256-MF5fJ7OU58AUrZp601Rnep/plECQHt137T1Xp0Rf7eE=", + "lastModified": 1709057575, + "narHash": "sha256-VfD13jncBA1MCI5xBW3uAzAixTQkwScCGytCXFmAxiA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "112433a8bd0e29e25821ef4b03740da3c7ff48c0", + "rev": "6dd83e51eb332795015d2996c432551ccb5ee015", "type": "github" }, "original": { From 4061ec89925d80e7d035827d20f8b709cccded99 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Feb 2024 18:33:03 +0000 Subject: [PATCH 0645/2258] Add bitwarden-cli --- system/shared/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix index ac22e071..a9a4678c 100644 --- a/system/shared/home-manager-packages.nix +++ b/system/shared/home-manager-packages.nix @@ -5,6 +5,7 @@ }: with pkgs; [ awscli2 + bitwarden-cli bottom ctop delta From 90790365fb7c4bc954fd53661e8fd1dd38b4265a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Feb 2024 09:28:38 +0000 Subject: [PATCH 0646/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4aff97fc..7196702b 100644 --- a/flake.lock +++ b/flake.lock @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1709057575, - "narHash": "sha256-VfD13jncBA1MCI5xBW3uAzAixTQkwScCGytCXFmAxiA=", + "lastModified": 1709076319, + "narHash": "sha256-a8ggPhuwBCobvlTNBqePgaccaasjyurZFZSM7rg8gEk=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "6dd83e51eb332795015d2996c432551ccb5ee015", + "rev": "2616310129c087d83eaa4e9d516d458529e7efa8", "type": "github" }, "original": { From 4ac36f410f9065f81f4448e3df044c9279df71bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 00:31:20 +0000 Subject: [PATCH 0647/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7196702b..42966773 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1708806879, - "narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", + "lastModified": 1708988456, + "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=", "owner": "nix-community", "repo": "home-manager", - "rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", + "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708807242, - "narHash": "sha256-sRTRkhMD4delO/hPxxi+XwLqPn8BuUq6nnj4JqLwOu0=", + "lastModified": 1708984720, + "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a", + "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", "type": "github" }, "original": { @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1709076319, - "narHash": "sha256-a8ggPhuwBCobvlTNBqePgaccaasjyurZFZSM7rg8gEk=", + "lastModified": 1709166511, + "narHash": "sha256-6BpAehj5ali6p2AyTn/wzo9VnsKp/exhX62yY24J9ng=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "2616310129c087d83eaa4e9d516d458529e7efa8", + "rev": "853f74c147771b74552b85b8cb1e50c037f3059e", "type": "github" }, "original": { From cf4c9710a27d826359af40c4f8f1d102acbacc9e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 00:39:25 +0000 Subject: [PATCH 0648/2258] Remove nixpkgs 23.11 --- system/nixos/configuration.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index fb9fb9fd..7a2ea9cd 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -5,8 +5,6 @@ pkgs, system, }: let - pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${system}; - configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; From addad268e54d1b697836f5d3d9ea642e3f33394c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 08:24:01 +0000 Subject: [PATCH 0649/2258] Rename `system` to `lib` --- flake.nix | 4 ++-- {system => lib}/nixos/configuration.nix | 0 {system => lib}/nixos/default.nix | 0 {system => lib}/nixos/hardware-configuration.nix | 0 {system => lib}/nixos/home-manager/default.nix | 0 {system => lib}/nixos/home-manager/desktop.nix | 0 {system => lib}/nixos/home-manager/modules/alacritty.nix | 0 {system => lib}/nixos/home-manager/modules/autorandr.nix | 0 {system => lib}/nixos/home-manager/modules/espanso.nix | 0 {system => lib}/nixos/home-manager/modules/i3.nix | 0 {system => lib}/shared/home-manager-packages.nix | 0 {system => lib}/shared/home-manager.nix | 0 {system => lib}/shared/modules/git.nix | 0 {system => lib}/shared/modules/neovim.nix | 0 {system => lib}/shared/modules/starship.nix | 0 {system => lib}/shared/modules/tmux.nix | 0 {system => lib}/shared/modules/zsh.nix | 0 {system => lib}/wsl2/default.nix | 0 18 files changed, 2 insertions(+), 2 deletions(-) rename {system => lib}/nixos/configuration.nix (100%) rename {system => lib}/nixos/default.nix (100%) rename {system => lib}/nixos/hardware-configuration.nix (100%) rename {system => lib}/nixos/home-manager/default.nix (100%) rename {system => lib}/nixos/home-manager/desktop.nix (100%) rename {system => lib}/nixos/home-manager/modules/alacritty.nix (100%) rename {system => lib}/nixos/home-manager/modules/autorandr.nix (100%) rename {system => lib}/nixos/home-manager/modules/espanso.nix (100%) rename {system => lib}/nixos/home-manager/modules/i3.nix (100%) rename {system => lib}/shared/home-manager-packages.nix (100%) rename {system => lib}/shared/home-manager.nix (100%) rename {system => lib}/shared/modules/git.nix (100%) rename {system => lib}/shared/modules/neovim.nix (100%) rename {system => lib}/shared/modules/starship.nix (100%) rename {system => lib}/shared/modules/tmux.nix (100%) rename {system => lib}/shared/modules/zsh.nix (100%) rename {system => lib}/wsl2/default.nix (100%) diff --git a/flake.nix b/flake.nix index d413b488..990846e4 100644 --- a/flake.nix +++ b/flake.nix @@ -17,8 +17,8 @@ pkgs = inputs.nixpkgs.legacyPackages.${system}; - nixos-system = import ./system/nixos {inherit inputs pkgs self system username;}; - wsl-system = import ./system/wsl2 {inherit inputs pkgs self system username;}; + nixos-system = import ./lib/nixos {inherit inputs pkgs self system username;}; + wsl-system = import ./lib/wsl2 {inherit inputs pkgs self system username;}; in flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux"]; diff --git a/system/nixos/configuration.nix b/lib/nixos/configuration.nix similarity index 100% rename from system/nixos/configuration.nix rename to lib/nixos/configuration.nix diff --git a/system/nixos/default.nix b/lib/nixos/default.nix similarity index 100% rename from system/nixos/default.nix rename to lib/nixos/default.nix diff --git a/system/nixos/hardware-configuration.nix b/lib/nixos/hardware-configuration.nix similarity index 100% rename from system/nixos/hardware-configuration.nix rename to lib/nixos/hardware-configuration.nix diff --git a/system/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix similarity index 100% rename from system/nixos/home-manager/default.nix rename to lib/nixos/home-manager/default.nix diff --git a/system/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix similarity index 100% rename from system/nixos/home-manager/desktop.nix rename to lib/nixos/home-manager/desktop.nix diff --git a/system/nixos/home-manager/modules/alacritty.nix b/lib/nixos/home-manager/modules/alacritty.nix similarity index 100% rename from system/nixos/home-manager/modules/alacritty.nix rename to lib/nixos/home-manager/modules/alacritty.nix diff --git a/system/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix similarity index 100% rename from system/nixos/home-manager/modules/autorandr.nix rename to lib/nixos/home-manager/modules/autorandr.nix diff --git a/system/nixos/home-manager/modules/espanso.nix b/lib/nixos/home-manager/modules/espanso.nix similarity index 100% rename from system/nixos/home-manager/modules/espanso.nix rename to lib/nixos/home-manager/modules/espanso.nix diff --git a/system/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix similarity index 100% rename from system/nixos/home-manager/modules/i3.nix rename to lib/nixos/home-manager/modules/i3.nix diff --git a/system/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix similarity index 100% rename from system/shared/home-manager-packages.nix rename to lib/shared/home-manager-packages.nix diff --git a/system/shared/home-manager.nix b/lib/shared/home-manager.nix similarity index 100% rename from system/shared/home-manager.nix rename to lib/shared/home-manager.nix diff --git a/system/shared/modules/git.nix b/lib/shared/modules/git.nix similarity index 100% rename from system/shared/modules/git.nix rename to lib/shared/modules/git.nix diff --git a/system/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix similarity index 100% rename from system/shared/modules/neovim.nix rename to lib/shared/modules/neovim.nix diff --git a/system/shared/modules/starship.nix b/lib/shared/modules/starship.nix similarity index 100% rename from system/shared/modules/starship.nix rename to lib/shared/modules/starship.nix diff --git a/system/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix similarity index 100% rename from system/shared/modules/tmux.nix rename to lib/shared/modules/tmux.nix diff --git a/system/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix similarity index 100% rename from system/shared/modules/zsh.nix rename to lib/shared/modules/zsh.nix diff --git a/system/wsl2/default.nix b/lib/wsl2/default.nix similarity index 100% rename from system/wsl2/default.nix rename to lib/wsl2/default.nix From 2f6977bb82c56ff28e3af838eab165ff07476081 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 08:26:04 +0000 Subject: [PATCH 0650/2258] Rename variables --- flake.nix | 10 +++++----- lib/nixos/default.nix | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 990846e4..a06e8ae8 100644 --- a/flake.nix +++ b/flake.nix @@ -17,8 +17,8 @@ pkgs = inputs.nixpkgs.legacyPackages.${system}; - nixos-system = import ./lib/nixos {inherit inputs pkgs self system username;}; - wsl-system = import ./lib/wsl2 {inherit inputs pkgs self system username;}; + mkNixos = import ./lib/nixos {inherit inputs pkgs self system username;}; + mkWsl = import ./lib/wsl2 {inherit inputs pkgs self system username;}; in flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux"]; @@ -37,19 +37,19 @@ flake = { nixosConfigurations = { - apollo = nixos-system { + apollo = mkNixos { desktop = true; hostname = "apollo"; }; - nixedo = nixos-system { + nixedo = mkNixos { desktop = true; hostname = "nixedo"; }; }; homeConfigurations = { - wsl2 = wsl-system; + wsl2 = mkWsl; }; }; }; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 51aee7ea..672379b1 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -9,7 +9,7 @@ hostname, }: let configuration = import ./configuration.nix {inherit desktop hostname inputs pkgs system;}; - hardware-configuration = import ./hardware-configuration.nix; + hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { modules = [ @@ -24,6 +24,6 @@ in } configuration - hardware-configuration + hardwareConfiguration ]; } From 49ac5097b5e9c712e853c50632d2b850fee70afd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 10:03:25 +0000 Subject: [PATCH 0651/2258] Add lib/default.nix --- flake.nix | 2 ++ lib/default.nix | 0 2 files changed, 2 insertions(+) create mode 100644 lib/default.nix diff --git a/flake.nix b/flake.nix index a06e8ae8..4a8a7241 100644 --- a/flake.nix +++ b/flake.nix @@ -36,6 +36,8 @@ }; flake = { + lib = import ./lib {inherit inputs;}; + nixosConfigurations = { apollo = mkNixos { desktop = true; diff --git a/lib/default.nix b/lib/default.nix new file mode 100644 index 00000000..e69de29b From ec4a091991a7d189f5f7a3a500fd3a16d97381d4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 14:01:18 +0000 Subject: [PATCH 0652/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 42966773..005c2d13 100644 --- a/flake.lock +++ b/flake.lock @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1709166511, - "narHash": "sha256-6BpAehj5ali6p2AyTn/wzo9VnsKp/exhX62yY24J9ng=", + "lastModified": 1709215212, + "narHash": "sha256-1BV2WCwZxktiuxMoPA1uy8Wt9YUswRBi4lFOnsYLV6s=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "853f74c147771b74552b85b8cb1e50c037f3059e", + "rev": "fa5e61d6666dd3b786e149035012340d39fef247", "type": "github" }, "original": { From 2c088442a1ea22fba56c1b25f2c59b8a171e6bb1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Feb 2024 23:23:57 +0000 Subject: [PATCH 0653/2258] Remove hostname variable --- flake.nix | 11 ++--------- justfile | 9 ++++++--- lib/nixos/configuration.nix | 3 +-- lib/nixos/default.nix | 3 +-- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/flake.nix b/flake.nix index 4a8a7241..e2f03e91 100644 --- a/flake.nix +++ b/flake.nix @@ -39,15 +39,8 @@ lib = import ./lib {inherit inputs;}; nixosConfigurations = { - apollo = mkNixos { - desktop = true; - hostname = "apollo"; - }; - - nixedo = mkNixos { - desktop = true; - hostname = "nixedo"; - }; + apollo = mkNixos {desktop = true;}; + nixedo = mkNixos {desktop = true;}; }; homeConfigurations = { diff --git a/justfile b/justfile index 7ab19470..53870599 100644 --- a/justfile +++ b/justfile @@ -4,11 +4,14 @@ _default: check: nix flake check -nixos-build profile: - sudo nixos-rebuild build --flake ".#{{ profile }}" +nixos-build: + sudo nixos-rebuild build --flake . nixos-switch profile: - sudo nixos-rebuild switch --flake ".#{{ profile }}" + sudo nixos-rebuild switch --flake . + +nixos-test profile: + sudo nixos-rebuild test --flake . update: nix flake update diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 7a2ea9cd..e15cbbc1 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,7 +1,6 @@ { inputs, desktop ? false, - hostname, pkgs, system, }: let @@ -36,7 +35,7 @@ in { DefaultTimeoutStopSec=10s ''; - networking.hostName = hostname; + # networking.hostName = hostname; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 672379b1..1ba1d172 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -6,9 +6,8 @@ username, }: { desktop ? false, - hostname, }: let - configuration = import ./configuration.nix {inherit desktop hostname inputs pkgs system;}; + configuration = import ./configuration.nix {inherit desktop inputs pkgs system;}; hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { From 26d4969795026c3647b32ef64c276eda61b1f960 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 1 Mar 2024 18:19:03 +0000 Subject: [PATCH 0654/2258] Update .tmux --- .tmux | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.tmux b/.tmux index d62f3588..9a2c232e 100755 --- a/.tmux +++ b/.tmux @@ -7,8 +7,8 @@ session_name="${1:-dotfiles-nix}" session_path="${2:-$(pwd)}" if tmux has-session -t="${session_name}" 2> /dev/null; then - tmux attach -t "${session_name}" - exit + tmux attach -t "${session_name}" || + tmux switch-client -t "${session_name}" fi tmux new-session -d -s "${session_name}" -n vim -c "${session_path}" From 7640e6e12b0d9e4c80ab7334f701fd0a08511d84 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 1 Mar 2024 18:19:52 +0000 Subject: [PATCH 0655/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 005c2d13..c792d912 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1708988456, - "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=", + "lastModified": 1709204054, + "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=", "owner": "nix-community", "repo": "home-manager", - "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca", + "rev": "2f3367769a93b226c467551315e9e270c3f78b15", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708984720, - "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "nixos", "repo": "nixpkgs", - "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1709215212, - "narHash": "sha256-1BV2WCwZxktiuxMoPA1uy8Wt9YUswRBi4lFOnsYLV6s=", + "lastModified": 1709236210, + "narHash": "sha256-tunnlUboqBQue0FeFxz3hEps7iHDtI1fV3ouViJsads=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "fa5e61d6666dd3b786e149035012340d39fef247", + "rev": "579b90e6a8aea0f902be7936dd36f511e3e584af", "type": "github" }, "original": { From d2e10248970d4873f574b1c0dc14bc3f00c0e5fe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 1 Mar 2024 23:26:08 +0000 Subject: [PATCH 0656/2258] Changes after working Scott Chacon's FOSDEM talk - https://blog.gitbutler.com/fosdem-git-talk - https://www.youtube.com/watch?v=aolI_Rz0ZqY --- lib/shared/modules/git.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index aea28287..6b2a2d36 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -39,6 +39,7 @@ assume = "update-index --assume-unchanged"; assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; b = "branch"; + blame = "blame -w -C -C -C"; browse = "!gh repo view --web"; ca = "commit --amend --verbose"; car = "commit --amend --no-edit"; @@ -73,6 +74,7 @@ slap = "log --oneline --decorate --graph --all"; slp = "log --oneline --decorate"; staged = "diff --staged"; + stash = "stash --all"; unassume = "update-index --no-assume-unchanged"; uncommit = "reset --soft HEAD^"; unstage = "reset"; @@ -85,9 +87,11 @@ branch = { autosetupmerge = true; autosetuprebase = "always"; + sort = "-committerdate"; }; checkout.defaultRemote = "origin"; color.ui = true; + column.ui = "auto"; commit = {template = "~/.gitmessage";}; core = { editor = "nvim"; @@ -97,9 +101,14 @@ delta.line-numbers = true; diff.tool = "vimdiff"; fetch.prune = true; + gpg.format = "ssh"; grep.lineNumber = true; help.autocorrect = "1"; init.defaultBranch = "main"; + maintenance = { + auto = false; + strategy = "incremental"; + }; merge.ff = "only"; push = { autoSetupRemote = true; @@ -113,6 +122,7 @@ autosquash = true; autostash = true; }; + user.signingkey = "~/.ssh/id_rsa.pub"; }; }; From 5dee369667a2a7b2302ab957b65c342af6802d67 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 1 Mar 2024 21:30:54 +0000 Subject: [PATCH 0657/2258] Add cachix --- lib/shared/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index a9a4678c..cf74e134 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -7,6 +7,7 @@ with pkgs; [ awscli2 bitwarden-cli bottom + cachix ctop delta dog From 9aa51a9446c79d83bf0b054a21c4fb049f4c46e6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 2 Mar 2024 23:41:53 +0000 Subject: [PATCH 0658/2258] git: include untracked files in stash --- lib/shared/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 6b2a2d36..5b0e4183 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -74,7 +74,7 @@ slap = "log --oneline --decorate --graph --all"; slp = "log --oneline --decorate"; staged = "diff --staged"; - stash = "stash --all"; + stash = "stash --included-untracked"; unassume = "update-index --no-assume-unchanged"; uncommit = "reset --soft HEAD^"; unstage = "reset"; From fd45324727febdbd4bf8a2d490cc9e187da77fb3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 3 Mar 2024 23:27:49 +0000 Subject: [PATCH 0659/2258] Fix allowUnfree and add obsidian --- flake.nix | 6 ++---- lib/nixos/configuration.nix | 10 +++------- lib/nixos/default.nix | 3 +-- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/flake.nix b/flake.nix index e2f03e91..fe934893 100644 --- a/flake.nix +++ b/flake.nix @@ -15,10 +15,8 @@ system = "x86_64-linux"; username = "opdavies"; - pkgs = inputs.nixpkgs.legacyPackages.${system}; - - mkNixos = import ./lib/nixos {inherit inputs pkgs self system username;}; - mkWsl = import ./lib/wsl2 {inherit inputs pkgs self system username;}; + mkNixos = import ./lib/nixos {inherit inputs self system username;}; + mkWsl = import ./lib/wsl2 {inherit inputs self system username;}; in flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux"]; diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index e15cbbc1..fd7853e2 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,9 +1,8 @@ { inputs, desktop ? false, - pkgs, system, -}: let +}: {pkgs, ...}: let configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -20,11 +19,7 @@ username = "opdavies"; in { - nixpkgs = { - config = { - allowUnfree = true; - }; - }; + nixpkgs.config.allowUnfree = true; # Bootloader. boot.loader.systemd-boot.enable = true; @@ -137,6 +132,7 @@ in { arandr dunst libnotify + obsidian rclone rclone-browser diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 1ba1d172..ad2718b2 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,13 +1,12 @@ { inputs, - pkgs, self, system, username, }: { desktop ? false, }: let - configuration = import ./configuration.nix {inherit desktop inputs pkgs system;}; + configuration = import ./configuration.nix {inherit desktop inputs system;}; hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { From 3a36025a160e973bed3ebd496fdff36bd299c720 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 4 Mar 2024 09:38:40 +0000 Subject: [PATCH 0660/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index c792d912..f30829f4 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1709204054, - "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=", + "lastModified": 1709485962, + "narHash": "sha256-rmFB4uE10+LJbcVE4ePgiuHOBlUIjQOeZt4VQVJTU8M=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f3367769a93b226c467551315e9e270c3f78b15", + "rev": "d579633ff9915a8f4058d5c439281097e92380a8", "type": "github" }, "original": { @@ -89,11 +89,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -131,11 +131,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1709236210, - "narHash": "sha256-tunnlUboqBQue0FeFxz3hEps7iHDtI1fV3ouViJsads=", + "lastModified": 1709544664, + "narHash": "sha256-5Noxhi86gNo2j+fgWRmeoThDm01OqYfiNO4A6izrJPA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "579b90e6a8aea0f902be7936dd36f511e3e584af", + "rev": "f04a4d385c739cf7459166626911afa8e8d494e9", "type": "github" }, "original": { From 466cff1ad479152d96e12b5a64eff817466ea115 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 4 Mar 2024 11:22:46 +0000 Subject: [PATCH 0661/2258] Fix wsl2 build --- lib/wsl2/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index f39cb728..0c629918 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -1,10 +1,11 @@ { inputs, - pkgs, self, system, username, }: let + pkgs = inputs.nixpkgs.legacyPackages.${system}; + shared-config = import ../shared/home-manager.nix {inherit inputs pkgs self username;}; shared-packages = import ../shared/home-manager-packages.nix {inherit inputs pkgs;}; in From 561eefeea313ec54d642f5a276ce9f5821e8880b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Mar 2024 15:01:46 +0000 Subject: [PATCH 0662/2258] Remove neofetch --- lib/shared/home-manager-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index cf74e134..c2c10592 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -25,7 +25,6 @@ with pkgs; [ jq lua mysql - neofetch php82 php82Packages.composer pv From 553d967bedee8d4751960162ee3e9e94b41422d4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 9 Mar 2024 18:51:11 +0000 Subject: [PATCH 0663/2258] Fix Kdenlive Error when rendering a project. --- flake.nix | 1 + lib/nixos/default.nix | 2 +- lib/nixos/home-manager/default.nix | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index fe934893..fb5f402b 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; }; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index ad2718b2..0976f68a 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -14,7 +14,7 @@ in inputs.home-manager.nixosModules.home-manager { home-manager = { - extraSpecialArgs = {inherit inputs desktop self username;}; + extraSpecialArgs = {inherit inputs desktop self system username;}; useGlobalPkgs = true; useUserPackages = true; users."${username}" = import ./home-manager; diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 880c9f9c..6554fcac 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -4,12 +4,15 @@ inputs, pkgs, self, + system, username, ... }: let desktop-config = import ./desktop.nix {inherit config inputs pkgs username;}; shared-config = import ../../shared/home-manager.nix {inherit inputs pkgs self username;}; shared-packages = import ../../shared/home-manager-packages.nix {inherit inputs pkgs;}; + + pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${system}; in { imports = if desktop @@ -22,7 +25,7 @@ in { pkgs.discord pkgs.gimp pkgs.gscan2pdf - pkgs.kdenlive + pkgs-2311.kdenlive pkgs.meslo-lg pkgs.obs-studio pkgs.okular From 66f4c15f97efb38d9d04dba5a3b4f9e15f9b71fa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 9 Mar 2024 18:52:07 +0000 Subject: [PATCH 0664/2258] Update lock file --- flake.lock | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index f30829f4..9e37ab7b 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1709485962, - "narHash": "sha256-rmFB4uE10+LJbcVE4ePgiuHOBlUIjQOeZt4VQVJTU8M=", + "lastModified": 1709988192, + "narHash": "sha256-qxwIkl85P0I1/EyTT+NJwzbXdOv86vgZxcv4UKicjK8=", "owner": "nix-community", "repo": "home-manager", - "rev": "d579633ff9915a8f4058d5c439281097e92380a8", + "rev": "b0b0c3d94345050a7f86d1ebc6c56eea4389d030", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "lastModified": 1709703039, + "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", "type": "github" }, "original": { @@ -86,6 +86,22 @@ "type": "github" } }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1709884566, + "narHash": "sha256-NSYJg2sfdO/XS3L8XN/59Zhzn0dqWm7XtVnKI2mHq3w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "2be119add7b37dc535da2dd4cba68e2cf8d1517e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -107,11 +123,11 @@ "nixpkgs-lib_2": { "locked": { "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -131,11 +147,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1709544664, - "narHash": "sha256-5Noxhi86gNo2j+fgWRmeoThDm01OqYfiNO4A6izrJPA=", + "lastModified": 1710015572, + "narHash": "sha256-50XKLuDyEfu/ELHrolrLxPNVXNF5XqkmeQmqcX4Z9aQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "f04a4d385c739cf7459166626911afa8e8d494e9", + "rev": "b98191f6a9c5e704786e60ba0314253378478ec9", "type": "github" }, "original": { @@ -149,6 +165,7 @@ "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "nixpkgs-2311": "nixpkgs-2311", "opdavies-nvim": "opdavies-nvim" } } From b5e831ef359a84d6e4467e4cfc4cbecb3863917d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 9 Mar 2024 20:33:44 +0000 Subject: [PATCH 0665/2258] Add udev rules for using VIA/Vial https://get.vial.today/manual/linux-udev.html#generalized-via-udev-rule --- lib/nixos/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index fd7853e2..212ff1ee 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -276,4 +276,11 @@ in { }; services.auto-cpufreq.enable = true; + + services.udev = { + enable = true; + extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; + }; } From 9eac93c95fb774b65c332de981a6fd90849e63c1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 17:14:36 +0000 Subject: [PATCH 0666/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 9e37ab7b..3820702a 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1709988192, - "narHash": "sha256-qxwIkl85P0I1/EyTT+NJwzbXdOv86vgZxcv4UKicjK8=", + "lastModified": 1710164657, + "narHash": "sha256-l64+ZjaQAVkHDVaK0VHwtXBdjcBD6nLBD+p7IfyBp/w=", "owner": "nix-community", "repo": "home-manager", - "rev": "b0b0c3d94345050a7f86d1ebc6c56eea4389d030", + "rev": "017b12de5b899ef9b64e2c035ce257bfe95b8ae2", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709703039, - "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", + "lastModified": 1709961763, + "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", + "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1709884566, - "narHash": "sha256-NSYJg2sfdO/XS3L8XN/59Zhzn0dqWm7XtVnKI2mHq3w=", + "lastModified": 1710162809, + "narHash": "sha256-i2R2bcnQp+85de67yjgZVvJhd6rRnJbSYNpGmB6Leb8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2be119add7b37dc535da2dd4cba68e2cf8d1517e", + "rev": "ddcd7598b2184008c97e6c9c6a21c5f37590b8d2", "type": "github" }, "original": { @@ -147,11 +147,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1710015572, - "narHash": "sha256-50XKLuDyEfu/ELHrolrLxPNVXNF5XqkmeQmqcX4Z9aQ=", + "lastModified": 1710263261, + "narHash": "sha256-nAJ4eBZGslkYsF4z0FC0wRBhLOG099rDi0CPXCYiaqI=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "b98191f6a9c5e704786e60ba0314253378478ec9", + "rev": "b9fb453db16257c7ca5d5f10b4d4fc8fe264a5b8", "type": "github" }, "original": { From d14f0a888371a9e40cd4483891eb650dfa4fe9e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 17:15:10 +0000 Subject: [PATCH 0667/2258] Refactor to remove `system` variable --- flake.nix | 5 ++--- lib/nixos/configuration.nix | 1 - lib/nixos/default.nix | 5 ++--- lib/nixos/home-manager/default.nix | 3 +-- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index fb5f402b..aa0f6982 100644 --- a/flake.nix +++ b/flake.nix @@ -13,11 +13,10 @@ self, ... }: let - system = "x86_64-linux"; username = "opdavies"; - mkNixos = import ./lib/nixos {inherit inputs self system username;}; - mkWsl = import ./lib/wsl2 {inherit inputs self system username;}; + mkNixos = import ./lib/nixos {inherit inputs self username;}; + mkWsl = import ./lib/wsl2 {inherit inputs self username;}; in flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux"]; diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 212ff1ee..3d9eaf3a 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,7 +1,6 @@ { inputs, desktop ? false, - system, }: {pkgs, ...}: let configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 0976f68a..6d986fe4 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,12 +1,11 @@ { inputs, self, - system, username, }: { desktop ? false, }: let - configuration = import ./configuration.nix {inherit desktop inputs system;}; + configuration = import ./configuration.nix {inherit desktop inputs;}; hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { @@ -14,7 +13,7 @@ in inputs.home-manager.nixosModules.home-manager { home-manager = { - extraSpecialArgs = {inherit inputs desktop self system username;}; + extraSpecialArgs = {inherit inputs desktop self username;}; useGlobalPkgs = true; useUserPackages = true; users."${username}" = import ./home-manager; diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 6554fcac..74c01294 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -4,7 +4,6 @@ inputs, pkgs, self, - system, username, ... }: let @@ -12,7 +11,7 @@ shared-config = import ../../shared/home-manager.nix {inherit inputs pkgs self username;}; shared-packages = import ../../shared/home-manager-packages.nix {inherit inputs pkgs;}; - pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${system}; + pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${pkgs.system}; in { imports = if desktop From 941ee35d198637aafcd18efd7ef49a9211f962ea Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 17:52:43 +0000 Subject: [PATCH 0668/2258] Allow for specifying the profile name/hostname --- justfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/justfile b/justfile index 53870599..99ad584c 100644 --- a/justfile +++ b/justfile @@ -4,14 +4,14 @@ _default: check: nix flake check -nixos-build: - sudo nixos-rebuild build --flake . +nixos-build profile: + sudo nixos-rebuild build --flake ".#{{ profile }}" nixos-switch profile: - sudo nixos-rebuild switch --flake . + sudo nixos-rebuild switch --flake ".#{{ profile }}" nixos-test profile: - sudo nixos-rebuild test --flake . + sudo nixos-rebuild test --flake ".#{{ profile }}" update: nix flake update From 10ab3bb4c7cbee5780f5e4e3074879a43e29abfc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 19:57:15 +0000 Subject: [PATCH 0669/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 3820702a..d997bf60 100644 --- a/flake.lock +++ b/flake.lock @@ -147,11 +147,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1710263261, - "narHash": "sha256-nAJ4eBZGslkYsF4z0FC0wRBhLOG099rDi0CPXCYiaqI=", + "lastModified": 1710273386, + "narHash": "sha256-TM8QZzAYHWk1YBol2Lc3qVkDs5XdlV1Khoxv7z8x75c=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "b9fb453db16257c7ca5d5f10b4d4fc8fe264a5b8", + "rev": "4b26e2037591824f6128ef6921d13e59f37177cf", "type": "github" }, "original": { From 506f99fdf104f7c84b1611b513bc7454766690f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 23:02:39 +0000 Subject: [PATCH 0670/2258] Use a different email address for TfW codebases --- lib/shared/modules/git.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 5b0e4183..207e1252 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -34,6 +34,11 @@ userName = "Oliver Davies"; userEmail = "oliver@oliverdavies.dev"; + includes = [{ + condition = "gitdir:~/Code/bitbucket.org/transportforwales/"; + contents.user.email = "oliver.davies@tfw.wales"; + }]; + aliases = { aa = "add --all"; assume = "update-index --assume-unchanged"; From b22ee35bb63ef0ed9b72a7071110329076852b22 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 23:02:49 +0000 Subject: [PATCH 0671/2258] Remove lazygit configuration --- lib/shared/modules/git.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 207e1252..dcf84ff6 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -130,13 +130,5 @@ user.signingkey = "~/.ssh/id_rsa.pub"; }; }; - - lazygit = { - enable = true; - - settings = { - gui.skipDiscardChangeWarning = true; - }; - }; }; } From 0f0bf5cdf8817cb7bfea7de0b62467a521a1b38d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 12 Mar 2024 23:09:33 +0000 Subject: [PATCH 0672/2258] Update CHANGELOG --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dadb2184..38773f06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,39 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 12th March 2024 + +### Removed + +* Remove lazygit from my Git configuration file. + +### Changed + +* Use a different email address for Git when working in a TfW codebase. + +## 9th March 2024 + +### Fixed + +* Fix error in Kdenlive when rendering a project by pinning it to the nixpkgs 23.11 release. +* Add `udev` rules via VIA/Vial which allow for more reliably accessing the keyboard, which was previously inconsistent and only seemed to work straight away after booting. + +## 1st March 2024 + +### Added + +* Add `cachix` for Nix binary caching (to be configured). + +### Changed + +* Git configuration changes after watching Scott Chacon's FOSDEM talk. + +## 27th February 2024 + +### Added + +* Add `bitwarden-cli`. + ## 26th February 2024 ### Added From 310e52dec8019c1747400fe27b93210610a36276 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Mar 2024 23:22:00 +0000 Subject: [PATCH 0673/2258] Add desktop apps Pocket Casts, Spotify, Microsoft Teams, Todoist. --- CHANGELOG.md | 6 ++++++ lib/nixos/configuration.nix | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38773f06..031a2ca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 14th March 2024 + +### Added + +- Add Pocket Casts, Spotify, Microsoft Teams, and Todoist. + ## 12th March 2024 ### Removed diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 3d9eaf3a..ce5714ba 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -132,8 +132,12 @@ in { dunst libnotify obsidian + pocket-casts rclone rclone-browser + spotify + teams-for-linux + todoist-electron # Games. zeroad From 288d2837eb64e90f565146cae574e2cf6dd29cd6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Mar 2024 23:33:00 +0000 Subject: [PATCH 0674/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ flake.nix | 2 ++ lib/nixos/configuration.nix | 2 +- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index d997bf60..b359d8f4 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1710164657, - "narHash": "sha256-l64+ZjaQAVkHDVaK0VHwtXBdjcBD6nLBD+p7IfyBp/w=", + "lastModified": 1710452332, + "narHash": "sha256-+lKOoQ89fD6iz6Ro7Adml4Sx6SqQcTWII4t1rvVtdjs=", "owner": "nix-community", "repo": "home-manager", - "rev": "017b12de5b899ef9b64e2c035ce257bfe95b8ae2", + "rev": "096d9c04b3e9438855aa65e24129b97a998bd3d9", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709961763, - "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", + "lastModified": 1710272261, + "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", + "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710162809, - "narHash": "sha256-i2R2bcnQp+85de67yjgZVvJhd6rRnJbSYNpGmB6Leb8=", + "lastModified": 1710283656, + "narHash": "sha256-nI+AOy4uK6jLGBi9nsbHjL1EdSIzoo8oa+9oeVhbyFc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ddcd7598b2184008c97e6c9c6a21c5f37590b8d2", + "rev": "51063ed4f2343a59fdeebb279bb81d87d453942b", "type": "github" }, "original": { @@ -147,11 +147,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1710273386, - "narHash": "sha256-TM8QZzAYHWk1YBol2Lc3qVkDs5XdlV1Khoxv7z8x75c=", + "lastModified": 1710402144, + "narHash": "sha256-dzLumqxKdo7zskzt5/Pfcx5DtsENRewieo4bcSpJ0Q8=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "4b26e2037591824f6128ef6921d13e59f37177cf", + "rev": "021093bd3da84d7499ee0991140222649cf9f978", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index aa0f6982..5bb758d4 100644 --- a/flake.nix +++ b/flake.nix @@ -4,8 +4,10 @@ home-manager.url = "github:nix-community/home-manager"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; + opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; + # opdavies-nvim.url = "path:/home/opdavies/Code/github.com/opdavies/opdavies.nvim"; }; outputs = inputs @ { diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index ce5714ba..55b7f107 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -256,7 +256,7 @@ in { programs.gnupg.agent = { enable = true; enableSSHSupport = true; - pinentryFlavor = "qt"; + pinentryPackage = pkgs.pinentry-qt; }; programs.firefox = { From 2995c006ed4987acd6f8d9f6d1db045f6cd7a6f4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 16 Mar 2024 13:44:38 +0000 Subject: [PATCH 0675/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b359d8f4..586746bb 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1710452332, - "narHash": "sha256-+lKOoQ89fD6iz6Ro7Adml4Sx6SqQcTWII4t1rvVtdjs=", + "lastModified": 1710532761, + "narHash": "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=", "owner": "nix-community", "repo": "home-manager", - "rev": "096d9c04b3e9438855aa65e24129b97a998bd3d9", + "rev": "206f457fffdb9a73596a4cb2211a471bd305243d", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710272261, - "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", + "lastModified": 1710451336, + "narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", + "rev": "d691274a972b3165335d261cc4671335f5c67de9", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710283656, - "narHash": "sha256-nI+AOy4uK6jLGBi9nsbHjL1EdSIzoo8oa+9oeVhbyFc=", + "lastModified": 1710420202, + "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "51063ed4f2343a59fdeebb279bb81d87d453942b", + "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da", "type": "github" }, "original": { From 384da2a64020b731d470faf5d6f08cc22df89730 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 16 Mar 2024 22:12:53 +0000 Subject: [PATCH 0676/2258] Make configuration more modular --- lib/nixos/home-manager/desktop.nix | 35 +++------------ lib/nixos/home-manager/modules/copyq.nix | 3 ++ lib/nixos/home-manager/modules/dunst.nix | 11 +++++ lib/nixos/home-manager/modules/feh.nix | 3 ++ lib/nixos/home-manager/modules/flameshot.nix | 15 +++++++ lib/nixos/home-manager/modules/rofi.nix | 3 ++ lib/shared/home-manager-packages.nix | 1 - lib/shared/home-manager.nix | 47 ++++---------------- lib/shared/modules/bat.nix | 3 ++ lib/shared/modules/bin.nix | 8 ++++ lib/shared/modules/direnv.nix | 7 +++ lib/shared/modules/fzf.nix | 6 +++ lib/shared/modules/lsd.nix | 3 ++ lib/shared/modules/nnn.nix | 3 ++ lib/shared/modules/phpactor.nix | 6 +++ lib/shared/modules/ripgrep.nix | 8 ++++ lib/shared/modules/tmux.nix | 7 ++- 17 files changed, 97 insertions(+), 72 deletions(-) create mode 100644 lib/nixos/home-manager/modules/copyq.nix create mode 100644 lib/nixos/home-manager/modules/dunst.nix create mode 100644 lib/nixos/home-manager/modules/feh.nix create mode 100644 lib/nixos/home-manager/modules/flameshot.nix create mode 100644 lib/nixos/home-manager/modules/rofi.nix create mode 100644 lib/shared/modules/bat.nix create mode 100644 lib/shared/modules/bin.nix create mode 100644 lib/shared/modules/direnv.nix create mode 100644 lib/shared/modules/fzf.nix create mode 100644 lib/shared/modules/lsd.nix create mode 100644 lib/shared/modules/nnn.nix create mode 100644 lib/shared/modules/phpactor.nix create mode 100644 lib/shared/modules/ripgrep.nix diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index edca5884..63d5efb1 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -7,37 +7,12 @@ imports = [ ./modules/alacritty.nix ./modules/autorandr.nix + ./modules/copyq.nix + ./modules/dunst.nix ./modules/espanso.nix + ./modules/feh.nix + ./modules/flameshot.nix ./modules/i3.nix + ./modules/rofi.nix ]; - - services.dunst = { - enable = true; - - settings = { - global = { - follow = "keyboard"; - }; - }; - }; - - services.copyq.enable = true; - - services.flameshot = { - enable = true; - - settings = { - General = { - disabledTrayIcon = false; - saveAfterCopy = true; - savePath = "/home/${username}/Pictures/Screenshots"; - showHelp = false; - uiColor = "#60a5fa"; - }; - }; - }; - - programs.feh.enable = true; - - programs.rofi.enable = true; } diff --git a/lib/nixos/home-manager/modules/copyq.nix b/lib/nixos/home-manager/modules/copyq.nix new file mode 100644 index 00000000..cb19784e --- /dev/null +++ b/lib/nixos/home-manager/modules/copyq.nix @@ -0,0 +1,3 @@ +{ + services.copyq.enable = true; +} diff --git a/lib/nixos/home-manager/modules/dunst.nix b/lib/nixos/home-manager/modules/dunst.nix new file mode 100644 index 00000000..27792de2 --- /dev/null +++ b/lib/nixos/home-manager/modules/dunst.nix @@ -0,0 +1,11 @@ +{ + services.dunst = { + enable = true; + + settings = { + global = { + follow = "keyboard"; + }; + }; + }; +} diff --git a/lib/nixos/home-manager/modules/feh.nix b/lib/nixos/home-manager/modules/feh.nix new file mode 100644 index 00000000..3191f654 --- /dev/null +++ b/lib/nixos/home-manager/modules/feh.nix @@ -0,0 +1,3 @@ +{ + programs.feh.enable = true; +} diff --git a/lib/nixos/home-manager/modules/flameshot.nix b/lib/nixos/home-manager/modules/flameshot.nix new file mode 100644 index 00000000..8507ec31 --- /dev/null +++ b/lib/nixos/home-manager/modules/flameshot.nix @@ -0,0 +1,15 @@ +{username, ...}: { + services.flameshot = { + enable = true; + + settings = { + General = { + disabledTrayIcon = false; + saveAfterCopy = true; + savePath = "/home/${username}/Pictures/Screenshots"; + showHelp = false; + uiColor = "#60a5fa"; + }; + }; + }; +} diff --git a/lib/nixos/home-manager/modules/rofi.nix b/lib/nixos/home-manager/modules/rofi.nix new file mode 100644 index 00000000..214fcff7 --- /dev/null +++ b/lib/nixos/home-manager/modules/rofi.nix @@ -0,0 +1,3 @@ +{ + programs.rofi.enable = true; +} diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index c2c10592..37aeb2a2 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -28,7 +28,6 @@ with pkgs; [ php82 php82Packages.composer pv - ripgrep rustywind tldr tree diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 1677d682..1c38e787 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -13,48 +13,17 @@ imports = [ (import ./modules/neovim.nix {inherit inputs;}) + ./modules/bat.nix + ./modules/bin.nix + ./modules/direnv.nix + ./modules/fzf.nix ./modules/git.nix + ./modules/lsd.nix + ./modules/nnn.nix + ./modules/phpactor.nix + ./modules/ripgrep.nix ./modules/starship.nix ./modules/tmux.nix ./modules/zsh.nix ]; - - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - - programs.bat.enable = true; - - home.file."logo.txt" = { - source = pkgs.copyPathToStore "${self}/logo.txt"; - target = "logo.txt"; - }; - - programs.lsd.enable = true; - - programs.nnn.enable = true; - - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; - }; - - home.sessionPath = ["$HOME/.config/bin"]; - - xdg.configFile."ripgrep/config".text = '' - --follow - --smart-case - ''; - - xdg.configFile.bin = { - source = ../../bin; - recursive = true; - }; - - xdg.configFile.phpactor = { - source = ../../config/phpactor; - recursive = true; - }; } diff --git a/lib/shared/modules/bat.nix b/lib/shared/modules/bat.nix new file mode 100644 index 00000000..79ffa2d0 --- /dev/null +++ b/lib/shared/modules/bat.nix @@ -0,0 +1,3 @@ +{ + programs.bat.enable = true; +} diff --git a/lib/shared/modules/bin.nix b/lib/shared/modules/bin.nix new file mode 100644 index 00000000..c3ed1aff --- /dev/null +++ b/lib/shared/modules/bin.nix @@ -0,0 +1,8 @@ +{ + home.sessionPath = ["$HOME/.config/bin"]; + + xdg.configFile.bin = { + source = ../../../bin; + recursive = true; + }; +} diff --git a/lib/shared/modules/direnv.nix b/lib/shared/modules/direnv.nix new file mode 100644 index 00000000..fb7dffcb --- /dev/null +++ b/lib/shared/modules/direnv.nix @@ -0,0 +1,7 @@ +{ + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + }; +} diff --git a/lib/shared/modules/fzf.nix b/lib/shared/modules/fzf.nix new file mode 100644 index 00000000..983fc8dc --- /dev/null +++ b/lib/shared/modules/fzf.nix @@ -0,0 +1,6 @@ +{ + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; +} diff --git a/lib/shared/modules/lsd.nix b/lib/shared/modules/lsd.nix new file mode 100644 index 00000000..9d0488e9 --- /dev/null +++ b/lib/shared/modules/lsd.nix @@ -0,0 +1,3 @@ +{ + programs.lsd.enable = true; +} diff --git a/lib/shared/modules/nnn.nix b/lib/shared/modules/nnn.nix new file mode 100644 index 00000000..003bc185 --- /dev/null +++ b/lib/shared/modules/nnn.nix @@ -0,0 +1,3 @@ +{ + programs.nnn.enable = true; +} diff --git a/lib/shared/modules/phpactor.nix b/lib/shared/modules/phpactor.nix new file mode 100644 index 00000000..07b63161 --- /dev/null +++ b/lib/shared/modules/phpactor.nix @@ -0,0 +1,6 @@ +{ + xdg.configFile.phpactor = { + source = ../../../config/phpactor; + recursive = true; + }; +} diff --git a/lib/shared/modules/ripgrep.nix b/lib/shared/modules/ripgrep.nix new file mode 100644 index 00000000..c739b711 --- /dev/null +++ b/lib/shared/modules/ripgrep.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + home.packages = with pkgs; [ripgrep]; + + xdg.configFile."ripgrep/config".text = '' + --follow + --smart-case + ''; +} diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 10e65a12..bbc2c87c 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -1,6 +1,9 @@ -{pkgs, ...}: { +{pkgs, ...}: let + inherit (pkgs) tmuxPlugins; +in { programs.tmux = { enable = true; + terminal = "tmux-256color"; extraConfig = '' @@ -99,7 +102,7 @@ set -g @resurrect-strategy-nvim 'session' ''; - plugins = with pkgs; [ + plugins = [ tmuxPlugins.resurrect tmuxPlugins.vim-tmux-navigator tmuxPlugins.yank From 5e5e46922c979b5ffebd818fca9e349442485765 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Mar 2024 00:27:24 +0000 Subject: [PATCH 0677/2258] Move monospace fonts into a `theme` --- lib/nixos/configuration.nix | 32 ++++++++++++-------- lib/nixos/default.nix | 2 +- lib/nixos/home-manager/modules/alacritty.nix | 15 +++++++-- lib/theme/default.nix | 11 +++++++ 4 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 lib/theme/default.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 55b7f107..d2f1c560 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,6 +1,7 @@ { inputs, desktop ? false, + self, }: {pkgs, ...}: let configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; @@ -16,6 +17,8 @@ ''; }; + theme = import "${self}/lib/theme" {inherit pkgs;}; + username = "opdavies"; in { nixpkgs.config.allowUnfree = true; @@ -185,19 +188,22 @@ in { }; }; - packages = with pkgs; [ - (nerdfonts.override { - fonts = [ - "AnonymousPro" - "FiraCode" - "GeistMono" - "IntelOneMono" - "Iosevka" - "JetBrainsMono" - "Meslo" - ]; - }) - ]; + packages = with pkgs; + [ + (nerdfonts.override { + fonts = [ + "AnonymousPro" + "FiraCode" + "GeistMono" + "IntelOneMono" + "Iosevka" + "JetBrainsMono" + ]; + }) + ] + ++ [ + theme.fonts.monospace.package + ]; }; zramSwap.enable = true; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 6d986fe4..27a2b4bd 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -5,7 +5,7 @@ }: { desktop ? false, }: let - configuration = import ./configuration.nix {inherit desktop inputs;}; + configuration = import ./configuration.nix {inherit desktop inputs self;}; hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { diff --git a/lib/nixos/home-manager/modules/alacritty.nix b/lib/nixos/home-manager/modules/alacritty.nix index 9b0454ea..914429d1 100644 --- a/lib/nixos/home-manager/modules/alacritty.nix +++ b/lib/nixos/home-manager/modules/alacritty.nix @@ -1,4 +1,14 @@ { + lib, + pkgs, + self, + ... +}: let + inherit (lib) strings; + inherit (strings) toInt; + + theme = import "${self}/lib/theme" {inherit pkgs;}; +in { programs.alacritty = { enable = true; @@ -11,11 +21,10 @@ }; font = { - size = 12.0; + size = toInt "${theme.fonts.monospace.size}"; bold.style = "Regular"; - normal.family = "GeistMono Nerd Font Mono"; - # fc-list : family | sort | grep "Nerd Font" + normal.family = "${theme.fonts.monospace.name}"; offset.y = 12; glyph_offset.y = 6; diff --git a/lib/theme/default.nix b/lib/theme/default.nix new file mode 100644 index 00000000..f99d2a51 --- /dev/null +++ b/lib/theme/default.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: { + fonts = { + monospace = { + name = "MesloLGSDZ Nerd Font Mono"; + # fc-list : family | sort | grep "Nerd Font" + + package = pkgs.nerdfonts.override {fonts = ["Meslo"];}; + size = "10"; + }; + }; +} From 105f88ff1e84529e7d11254052e2a64978837e86 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Mar 2024 00:28:38 +0000 Subject: [PATCH 0678/2258] Replace relative paths with `self` --- lib/nixos/home-manager/default.nix | 4 ++-- lib/shared/modules/bin.nix | 4 ++-- lib/shared/modules/phpactor.nix | 4 ++-- lib/wsl2/default.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 74c01294..0044ae4c 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -8,8 +8,8 @@ ... }: let desktop-config = import ./desktop.nix {inherit config inputs pkgs username;}; - shared-config = import ../../shared/home-manager.nix {inherit inputs pkgs self username;}; - shared-packages = import ../../shared/home-manager-packages.nix {inherit inputs pkgs;}; + shared-config = import "${self}/lib/shared/home-manager.nix" {inherit inputs pkgs self username;}; + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" {inherit inputs pkgs;}; pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${pkgs.system}; in { diff --git a/lib/shared/modules/bin.nix b/lib/shared/modules/bin.nix index c3ed1aff..eb784e8f 100644 --- a/lib/shared/modules/bin.nix +++ b/lib/shared/modules/bin.nix @@ -1,8 +1,8 @@ -{ +{self, ...}: { home.sessionPath = ["$HOME/.config/bin"]; xdg.configFile.bin = { - source = ../../../bin; + source = "${self}/bin"; recursive = true; }; } diff --git a/lib/shared/modules/phpactor.nix b/lib/shared/modules/phpactor.nix index 07b63161..edbb2462 100644 --- a/lib/shared/modules/phpactor.nix +++ b/lib/shared/modules/phpactor.nix @@ -1,6 +1,6 @@ -{ +{self, ...}: { xdg.configFile.phpactor = { - source = ../../../config/phpactor; + source = "${self}/config/phpactor"; recursive = true; }; } diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 0c629918..7ff4e9ef 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -6,8 +6,8 @@ }: let pkgs = inputs.nixpkgs.legacyPackages.${system}; - shared-config = import ../shared/home-manager.nix {inherit inputs pkgs self username;}; - shared-packages = import ../shared/home-manager-packages.nix {inherit inputs pkgs;}; + shared-config = import "${self}/lib/shared/home-manager.nix" {inherit inputs pkgs self username;}; + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" {inherit inputs pkgs;}; in inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; From 5ea676df955d703dfd96c0134a66b6eb6f53bf21 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Mar 2024 09:05:58 +0000 Subject: [PATCH 0679/2258] Remove overridden i3 colours --- lib/nixos/home-manager/modules/i3.nix | 42 --------------------------- 1 file changed, 42 deletions(-) diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix index c8734272..21537bb1 100644 --- a/lib/nixos/home-manager/modules/i3.nix +++ b/lib/nixos/home-manager/modules/i3.nix @@ -77,13 +77,6 @@ in { default_floating_border none smart_borders on smart_gaps on - - #border backgr text indicator - client.focused #444444 #555555 #ffffff #dddddd - client.focused_inactive #222222 #333333 #888888 #292d2e - client.unfocused #222222 #111111 #888888 #292d2e - client.urgent #2f343a #900000 #ffffff #900000 - ''; config = { @@ -91,41 +84,6 @@ in { { position = "bottom"; statusCommand = "${pkgs.i3status}/bin/i3status"; - colors = { - background = "#161616"; - statusline = "#ffffff"; - separator = "#333333"; - - focusedWorkspace = { - background = "#444444"; - border = "#555555"; - text = "#ffffff"; - }; - - activeWorkspace = { - background = "#555555"; - border = "#666666"; - text = "#ffffff"; - }; - - inactiveWorkspace = { - background = "#111111"; - border = "#000000"; - text = "#888888"; - }; - - bindingMode = { - background = "#ff0000"; - border = "#880000"; - text = "#ffffff"; - }; - - urgentWorkspace = { - background = "#ff0000"; - border = "#880000"; - text = "#ffffff"; - }; - }; } ]; From bb944db1feb7646e5b569ec5db75e56e22574b6e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 17 Mar 2024 20:42:40 +0000 Subject: [PATCH 0680/2258] Update lock file --- flake.lock | 77 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 586746bb..f344d293 100644 --- a/flake.lock +++ b/flake.lock @@ -34,6 +34,24 @@ "type": "indirect" } }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -54,13 +72,35 @@ "type": "github" } }, + "nixd-nightly": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": [ + "opdavies-nvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1710553072, + "narHash": "sha256-g80GlUrlCdHQVaJq9r8myCIzLmQp59e6jiGfxkodNYo=", + "owner": "nix-community", + "repo": "nixd", + "rev": "a436786fbd8ed5aafea4b0512cb1170a6e0e39df", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixd", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1710451336, - "narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=", + "lastModified": 1710631334, + "narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d691274a972b3165335d261cc4671335f5c67de9", + "rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a", "type": "github" }, "original": { @@ -88,11 +128,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710420202, - "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=", + "lastModified": 1710565619, + "narHash": "sha256-xu/EnZCNdIj7m/QjCNIG5vrCA4TYg5uwFReb9XDxET0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da", + "rev": "8ac30a39abc5ea67037dfbf090d6e89f187c6e50", "type": "github" }, "original": { @@ -138,20 +178,39 @@ "type": "github" } }, + "nixpkgs-lib_3": { + "locked": { + "dir": "lib", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "opdavies-nvim": { "inputs": { "flake-parts": "flake-parts_2", + "nixd-nightly": "nixd-nightly", "nixpkgs": [ "nixpkgs" ], "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1710402144, - "narHash": "sha256-dzLumqxKdo7zskzt5/Pfcx5DtsENRewieo4bcSpJ0Q8=", + "lastModified": 1710706579, + "narHash": "sha256-ohuYJzbWLzJpUMq0xn2xDdgvS72hfiYmOi/uAyO0P8Q=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "021093bd3da84d7499ee0991140222649cf9f978", + "rev": "69b2d3b71097954ccdfeb4c739413ed52a5a4d88", "type": "github" }, "original": { From a33c74c580f0acc22e677af9410f03496c08ce5a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Mar 2024 00:44:00 +0000 Subject: [PATCH 0681/2258] Automatically prune unused Docker images --- lib/nixos/configuration.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index d2f1c560..dbe15b95 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -173,7 +173,14 @@ in { # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? - virtualisation.docker.enable = true; + virtualisation.docker = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; programs.zsh.enable = true; programs.zsh.histSize = 5000; From b1421c97e1788e60754eb953fe355740c06c7623 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Mar 2024 20:33:28 +0000 Subject: [PATCH 0682/2258] Format using nixfmt --- flake.nix | 41 +++++------- lib/nixos/configuration.nix | 40 +++++------- lib/nixos/default.nix | 43 ++++++------- lib/nixos/hardware-configuration.nix | 23 +++---- lib/nixos/home-manager/default.nix | 66 +++++++++----------- lib/nixos/home-manager/desktop.nix | 7 +-- lib/nixos/home-manager/modules/alacritty.nix | 12 ++-- lib/nixos/home-manager/modules/autorandr.nix | 8 ++- lib/nixos/home-manager/modules/copyq.nix | 4 +- lib/nixos/home-manager/modules/dunst.nix | 6 +- lib/nixos/home-manager/modules/espanso.nix | 9 +-- lib/nixos/home-manager/modules/feh.nix | 4 +- lib/nixos/home-manager/modules/flameshot.nix | 2 +- lib/nixos/home-manager/modules/i3.nix | 42 ++++++------- lib/nixos/home-manager/modules/rofi.nix | 4 +- lib/shared/home-manager-packages.nix | 6 +- lib/shared/home-manager.nix | 9 +-- lib/shared/modules/bat.nix | 4 +- lib/shared/modules/bin.nix | 4 +- lib/shared/modules/git.nix | 14 +++-- lib/shared/modules/lsd.nix | 4 +- lib/shared/modules/neovim.nix | 7 ++- lib/shared/modules/nnn.nix | 4 +- lib/shared/modules/phpactor.nix | 2 +- lib/shared/modules/ripgrep.nix | 4 +- lib/shared/modules/starship.nix | 4 +- lib/shared/modules/tmux.nix | 11 ++-- lib/shared/modules/zsh.nix | 12 ++-- lib/theme/default.nix | 8 +-- lib/wsl2/default.nix | 45 +++++++------ 30 files changed, 184 insertions(+), 265 deletions(-) diff --git a/flake.nix b/flake.nix index 5bb758d4..50010444 100644 --- a/flake.nix +++ b/flake.nix @@ -10,42 +10,31 @@ # opdavies-nvim.url = "path:/home/opdavies/Code/github.com/opdavies/opdavies.nvim"; }; - outputs = inputs @ { - flake-parts, - self, - ... - }: let - username = "opdavies"; + outputs = inputs@{ flake-parts, self, ... }: + let + username = "opdavies"; - mkNixos = import ./lib/nixos {inherit inputs self username;}; - mkWsl = import ./lib/wsl2 {inherit inputs self username;}; - in - flake-parts.lib.mkFlake {inherit inputs;} { - systems = ["x86_64-linux"]; + mkNixos = import ./lib/nixos { inherit inputs self username; }; + mkWsl = import ./lib/wsl2 { inherit inputs self username; }; + in flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" ]; - perSystem = { - pkgs, - self', - ... - }: { - packages.default = pkgs.mkShell { - nativeBuildInputs = [pkgs.just]; - }; + perSystem = { pkgs, self', ... }: { + packages.default = + pkgs.mkShell { nativeBuildInputs = [ pkgs.nixfmt pkgs.just ]; }; - formatter = pkgs.alejandra; + formatter = pkgs.nixfmt; }; flake = { - lib = import ./lib {inherit inputs;}; + lib = import ./lib { inherit inputs; }; nixosConfigurations = { - apollo = mkNixos {desktop = true;}; - nixedo = mkNixos {desktop = true;}; + apollo = mkNixos { desktop = true; }; + nixedo = mkNixos { desktop = true; }; }; - homeConfigurations = { - wsl2 = mkWsl; - }; + homeConfigurations = { wsl2 = mkWsl; }; }; }; } diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index dbe15b95..9adf02ea 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,8 +1,6 @@ -{ - inputs, - desktop ? false, - self, -}: {pkgs, ...}: let +{ inputs, desktop ? false, self, }: +{ pkgs, ... }: +let configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -17,7 +15,7 @@ ''; }; - theme = import "${self}/lib/theme" {inherit pkgs;}; + theme = import "${self}/lib/theme" { inherit pkgs; }; username = "opdavies"; in { @@ -76,7 +74,7 @@ in { windowManager.i3 = { enable = true; - extraPackages = with pkgs; [i3status i3lock i3blocks]; + extraPackages = with pkgs; [ i3status i3lock i3blocks ]; }; }; @@ -111,8 +109,8 @@ in { users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; - extraGroups = ["docker" "networkmanager" "wheel"]; - packages = with pkgs; []; + extraGroups = [ "docker" "networkmanager" "wheel" ]; + packages = with pkgs; [ ]; }; security.sudo.wheelNeedsPassword = false; @@ -128,8 +126,7 @@ in { xfce.thunar xfce.thunar-volman xfce.tumbler - ] - ++ pkgs.lib.optionals desktop [ + ] ++ pkgs.lib.optionals desktop [ acpi arandr dunst @@ -190,9 +187,7 @@ in { fonts = { fontconfig = { enable = true; - defaultFonts = { - monospace = ["JetBrainsMono Nerd Font Mono"]; - }; + defaultFonts = { monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; packages = with pkgs; @@ -207,10 +202,7 @@ in { "JetBrainsMono" ]; }) - ] - ++ [ - theme.fonts.monospace.package - ]; + ] ++ [ theme.fonts.monospace.package ]; }; zramSwap.enable = true; @@ -226,7 +218,7 @@ in { settings = { auto-optimise-store = true; - experimental-features = ["nix-command" "flakes"]; + experimental-features = [ "nix-command" "flakes" ]; warn-dirty = false; }; }; @@ -241,7 +233,8 @@ in { ''; in { enable = true; - plugins = pkgs.lib.mkForce [pkgs.interception-tools-plugins.dual-function-keys]; + plugins = + pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; udevmonConfig = '' - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" DEVICE: @@ -274,7 +267,7 @@ in { programs.firefox = { enable = true; - languagePacks = ["en-GB"]; + languagePacks = [ "en-GB" ]; preferences = { "intl.accept_languages" = "en-GB, en"; "intl.regional_prefs.use_os_locales" = true; @@ -286,9 +279,8 @@ in { services.cron = { enable = true; - systemCronJobs = [ - "* * * * * opdavies /home/opdavies/.config/bin/notify-battery.sh" - ]; + systemCronJobs = + [ "* * * * * opdavies /home/opdavies/.config/bin/notify-battery.sh" ]; }; services.auto-cpufreq.enable = true; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 27a2b4bd..bd9a32bb 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,26 +1,21 @@ -{ - inputs, - self, - username, -}: { - desktop ? false, -}: let - configuration = import ./configuration.nix {inherit desktop inputs self;}; +{ inputs, self, username, }: +{ desktop ? false, }: +let + configuration = import ./configuration.nix { inherit desktop inputs self; }; hardwareConfiguration = import ./hardware-configuration.nix; -in - inputs.nixpkgs.lib.nixosSystem { - modules = [ - inputs.home-manager.nixosModules.home-manager - { - home-manager = { - extraSpecialArgs = {inherit inputs desktop self username;}; - useGlobalPkgs = true; - useUserPackages = true; - users."${username}" = import ./home-manager; - }; - } +in inputs.nixpkgs.lib.nixosSystem { + modules = [ + inputs.home-manager.nixosModules.home-manager + { + home-manager = { + extraSpecialArgs = { inherit inputs desktop self username; }; + useGlobalPkgs = true; + useUserPackages = true; + users."${username}" = import ./home-manager; + }; + } - configuration - hardwareConfiguration - ]; - } + configuration + hardwareConfiguration + ]; +} diff --git a/lib/nixos/hardware-configuration.nix b/lib/nixos/hardware-configuration.nix index b819f280..69d1e452 100644 --- a/lib/nixos/hardware-configuration.nix +++ b/lib/nixos/hardware-configuration.nix @@ -1,17 +1,12 @@ -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [(modulesPath + "/installer/scan/not-detected.nix")]; +{ config, lib, pkgs, modulesPath, ... }: { + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.kernelParams = ["i8042.reset"]; - boot.extraModulePackages = []; + boot.initrd.availableKernelModules = + [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.kernelParams = [ "i8042.reset" ]; + boot.extraModulePackages = [ ]; boot.kernelPackages = pkgs.linuxPackages_latest; hardware.enableAllFirmware = true; @@ -26,7 +21,7 @@ fsType = "vfat"; }; - swapDevices = [{device = "/dev/disk/by-label/swap";}]; + swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 0044ae4c..4741464a 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -1,44 +1,38 @@ -{ - config, - desktop, - inputs, - pkgs, - self, - username, - ... -}: let - desktop-config = import ./desktop.nix {inherit config inputs pkgs username;}; - shared-config = import "${self}/lib/shared/home-manager.nix" {inherit inputs pkgs self username;}; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" {inherit inputs pkgs;}; +{ config, desktop, inputs, pkgs, self, username, ... }: +let + desktop-config = + import ./desktop.nix { inherit config inputs pkgs username; }; + shared-config = import "${self}/lib/shared/home-manager.nix" { + inherit inputs pkgs self username; + }; + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { + inherit inputs pkgs; + }; pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${pkgs.system}; in { imports = - if desktop - then [desktop-config shared-config] - else [shared-config]; + if desktop then [ desktop-config shared-config ] else [ shared-config ]; - home.packages = - shared-packages - ++ pkgs.lib.optionals desktop [ - pkgs.discord - pkgs.gimp - pkgs.gscan2pdf - pkgs-2311.kdenlive - pkgs.meslo-lg - pkgs.obs-studio - pkgs.okular - pkgs.pamixer - pkgs.pass - pkgs.pavucontrol - pkgs.pinentry - pkgs.slack - pkgs.via - pkgs.vlc - pkgs.xsel - pkgs.xcape - pkgs.zoom-us - ]; + home.packages = shared-packages ++ pkgs.lib.optionals desktop [ + pkgs.discord + pkgs.gimp + pkgs.gscan2pdf + pkgs-2311.kdenlive + pkgs.meslo-lg + pkgs.obs-studio + pkgs.okular + pkgs.pamixer + pkgs.pass + pkgs.pavucontrol + pkgs.pinentry + pkgs.slack + pkgs.via + pkgs.vlc + pkgs.xsel + pkgs.xcape + pkgs.zoom-us + ]; home.sessionVariables = { EDITOR = "nvim"; diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 63d5efb1..ee9b642f 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -1,9 +1,4 @@ -{ - config, - inputs, - pkgs, - username, -}: { +{ config, inputs, pkgs, username, }: { imports = [ ./modules/alacritty.nix ./modules/autorandr.nix diff --git a/lib/nixos/home-manager/modules/alacritty.nix b/lib/nixos/home-manager/modules/alacritty.nix index 914429d1..488f6189 100644 --- a/lib/nixos/home-manager/modules/alacritty.nix +++ b/lib/nixos/home-manager/modules/alacritty.nix @@ -1,13 +1,9 @@ -{ - lib, - pkgs, - self, - ... -}: let +{ lib, pkgs, self, ... }: +let inherit (lib) strings; inherit (strings) toInt; - theme = import "${self}/lib/theme" {inherit pkgs;}; + theme = import "${self}/lib/theme" { inherit pkgs; }; in { programs.alacritty = { enable = true; @@ -30,7 +26,7 @@ in { glyph_offset.y = 6; }; - shell = {program = "zsh";}; + shell = { program = "zsh"; }; }; }; } diff --git a/lib/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix index c10a7475..7045fb94 100644 --- a/lib/nixos/home-manager/modules/autorandr.nix +++ b/lib/nixos/home-manager/modules/autorandr.nix @@ -1,4 +1,4 @@ -{username, ...}: { +{ username, ... }: { services.autorandr.enable = true; xdg.configFile."autorandr/postswitch" = { @@ -14,8 +14,10 @@ enable = true; profiles = let - laptop = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - monitor = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + laptop = + "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + monitor = + "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; in { laptop = { config.eDP-1 = { diff --git a/lib/nixos/home-manager/modules/copyq.nix b/lib/nixos/home-manager/modules/copyq.nix index cb19784e..6735c70d 100644 --- a/lib/nixos/home-manager/modules/copyq.nix +++ b/lib/nixos/home-manager/modules/copyq.nix @@ -1,3 +1 @@ -{ - services.copyq.enable = true; -} +{ services.copyq.enable = true; } diff --git a/lib/nixos/home-manager/modules/dunst.nix b/lib/nixos/home-manager/modules/dunst.nix index 27792de2..12b394eb 100644 --- a/lib/nixos/home-manager/modules/dunst.nix +++ b/lib/nixos/home-manager/modules/dunst.nix @@ -2,10 +2,6 @@ services.dunst = { enable = true; - settings = { - global = { - follow = "keyboard"; - }; - }; + settings = { global = { follow = "keyboard"; }; }; }; } diff --git a/lib/nixos/home-manager/modules/espanso.nix b/lib/nixos/home-manager/modules/espanso.nix index 0c5607e5..e8b27cdb 100644 --- a/lib/nixos/home-manager/modules/espanso.nix +++ b/lib/nixos/home-manager/modules/espanso.nix @@ -1,14 +1,9 @@ -let - baseUrl = "https://www.oliverdavies.uk"; +let baseUrl = "https://www.oliverdavies.uk"; in { services.espanso = { enable = true; - configs = { - default = { - show_notifications = false; - }; - }; + configs = { default = { show_notifications = false; }; }; matches = { base = { diff --git a/lib/nixos/home-manager/modules/feh.nix b/lib/nixos/home-manager/modules/feh.nix index 3191f654..21759337 100644 --- a/lib/nixos/home-manager/modules/feh.nix +++ b/lib/nixos/home-manager/modules/feh.nix @@ -1,3 +1 @@ -{ - programs.feh.enable = true; -} +{ programs.feh.enable = true; } diff --git a/lib/nixos/home-manager/modules/flameshot.nix b/lib/nixos/home-manager/modules/flameshot.nix index 8507ec31..04f9fe4c 100644 --- a/lib/nixos/home-manager/modules/flameshot.nix +++ b/lib/nixos/home-manager/modules/flameshot.nix @@ -1,4 +1,4 @@ -{username, ...}: { +{ username, ... }: { services.flameshot = { enable = true; diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix index 21537bb1..32bab534 100644 --- a/lib/nixos/home-manager/modules/i3.nix +++ b/lib/nixos/home-manager/modules/i3.nix @@ -1,11 +1,7 @@ -{ - config, - inputs, - self, - username, - pkgs, - ... -}: let +{ config, inputs, pkgs, self, username, ... }: +let + theme = import "${self}/lib/theme" { inherit pkgs; }; + modifier = "Mod4"; in { xsession.windowManager.i3 = { @@ -13,12 +9,9 @@ in { config = { assigns = { - "7" = [{class = "vlc";}]; - "8" = [{class = "0ad";}]; - "9" = [ - {class = "Slack";} - {class = "discord";} - ]; + "7" = [{ class = "vlc"; }]; + "8" = [{ class = "0ad"; }]; + "9" = [ { class = "Slack"; } { class = "discord"; } ]; }; defaultWorkspace = "workspace number 1"; @@ -52,10 +45,13 @@ in { "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = "exec pamixer --toggle-mute && ( [ \"$(pamixer --get-mute)\" = \"true\" ] && echo 0"; + "XF86AudioMute" = '' + exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; - "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p'"; - "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p'"; + "XF86MonBrightnessDown" = + "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; + "XF86MonBrightnessUp" = + "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; }; terminal = "alacritty"; @@ -80,14 +76,12 @@ in { ''; config = { - bars = [ - { - position = "bottom"; - statusCommand = "${pkgs.i3status}/bin/i3status"; - } - ]; + bars = [{ + position = "bottom"; + statusCommand = "${pkgs.i3status}/bin/i3status"; + }]; - fonts.names = ["GeistMono"]; + fonts.names = [ "${theme.fonts.monospace.name}" ]; gaps = { smartBorders = "on"; diff --git a/lib/nixos/home-manager/modules/rofi.nix b/lib/nixos/home-manager/modules/rofi.nix index 214fcff7..dd34f5e9 100644 --- a/lib/nixos/home-manager/modules/rofi.nix +++ b/lib/nixos/home-manager/modules/rofi.nix @@ -1,3 +1 @@ -{ - programs.rofi.enable = true; -} +{ programs.rofi.enable = true; } diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 37aeb2a2..c7eb52e7 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -1,8 +1,4 @@ -{ - inputs, - pkgs, - ... -}: +{ inputs, pkgs, ... }: with pkgs; [ awscli2 bitwarden-cli diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 1c38e787..82bba67b 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -1,9 +1,4 @@ -{ - inputs, - pkgs, - username, - self, -}: { +{ inputs, pkgs, username, self, }: { home.username = "${username}"; home.homeDirectory = "/home/${username}"; @@ -12,7 +7,7 @@ programs.home-manager.enable = true; imports = [ - (import ./modules/neovim.nix {inherit inputs;}) + (import ./modules/neovim.nix { inherit inputs; }) ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/bat.nix b/lib/shared/modules/bat.nix index 79ffa2d0..119d47fe 100644 --- a/lib/shared/modules/bat.nix +++ b/lib/shared/modules/bat.nix @@ -1,3 +1 @@ -{ - programs.bat.enable = true; -} +{ programs.bat.enable = true; } diff --git a/lib/shared/modules/bin.nix b/lib/shared/modules/bin.nix index eb784e8f..3048523a 100644 --- a/lib/shared/modules/bin.nix +++ b/lib/shared/modules/bin.nix @@ -1,5 +1,5 @@ -{self, ...}: { - home.sessionPath = ["$HOME/.config/bin"]; +{ self, ... }: { + home.sessionPath = [ "$HOME/.config/bin" ]; xdg.configFile.bin = { source = "${self}/bin"; diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index dcf84ff6..6521e8d6 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -54,10 +54,12 @@ current-branch = "rev-parse --abbrev-ref HEAD"; dc = "diff --color --word-diff --cached"; df = "diff --color --word-diff"; - dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + dup = + "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; fixup = "commit --fixup"; issues = "!gh issue list --web"; - mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + mup = + "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; no-ff = "merge --no-ff"; pl = "pull"; prune = "remote prune origin"; @@ -69,10 +71,12 @@ repush = "!git pull --rebase && git push"; ri = "rebase --interactive"; rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rim = + "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; rip = "!git rebase -i $(git merge-base production HEAD)"; ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + riu = + "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; sl = "log --oneline --decorate -20"; sla = "log --oneline --decorate --graph --all -20"; @@ -97,7 +101,7 @@ checkout.defaultRemote = "origin"; color.ui = true; column.ui = "auto"; - commit = {template = "~/.gitmessage";}; + commit = { template = "~/.gitmessage"; }; core = { editor = "nvim"; excludesFile = "~/.config/git/ignore"; diff --git a/lib/shared/modules/lsd.nix b/lib/shared/modules/lsd.nix index 9d0488e9..b630e54d 100644 --- a/lib/shared/modules/lsd.nix +++ b/lib/shared/modules/lsd.nix @@ -1,3 +1 @@ -{ - programs.lsd.enable = true; -} +{ programs.lsd.enable = true; } diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index 93ff5b29..28bf5c48 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -1,7 +1,8 @@ -{inputs}: {pkgs, ...}: let - system = pkgs.system; +{ inputs }: +{ pkgs, ... }: +let system = pkgs.system; in { - programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager {inherit system;}; + programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager { inherit system; }; home.file.".markdownlint.yaml".text = '' default: true diff --git a/lib/shared/modules/nnn.nix b/lib/shared/modules/nnn.nix index 003bc185..40b7f5c4 100644 --- a/lib/shared/modules/nnn.nix +++ b/lib/shared/modules/nnn.nix @@ -1,3 +1 @@ -{ - programs.nnn.enable = true; -} +{ programs.nnn.enable = true; } diff --git a/lib/shared/modules/phpactor.nix b/lib/shared/modules/phpactor.nix index edbb2462..12370230 100644 --- a/lib/shared/modules/phpactor.nix +++ b/lib/shared/modules/phpactor.nix @@ -1,4 +1,4 @@ -{self, ...}: { +{ self, ... }: { xdg.configFile.phpactor = { source = "${self}/config/phpactor"; recursive = true; diff --git a/lib/shared/modules/ripgrep.nix b/lib/shared/modules/ripgrep.nix index c739b711..e817c775 100644 --- a/lib/shared/modules/ripgrep.nix +++ b/lib/shared/modules/ripgrep.nix @@ -1,5 +1,5 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ripgrep]; +{ pkgs, ... }: { + home.packages = with pkgs; [ ripgrep ]; xdg.configFile."ripgrep/config".text = '' --follow diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix index 796f0ea9..88660a48 100644 --- a/lib/shared/modules/starship.nix +++ b/lib/shared/modules/starship.nix @@ -1,3 +1 @@ -{ - programs.starship.enable = true; -} +{ programs.starship.enable = true; } diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index bbc2c87c..6d5e0e75 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -1,5 +1,5 @@ -{pkgs, ...}: let - inherit (pkgs) tmuxPlugins; +{ pkgs, ... }: +let inherit (pkgs) tmuxPlugins; in { programs.tmux = { enable = true; @@ -102,10 +102,7 @@ in { set -g @resurrect-strategy-nvim 'session' ''; - plugins = [ - tmuxPlugins.resurrect - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.yank - ]; + plugins = + [ tmuxPlugins.resurrect tmuxPlugins.vim-tmux-navigator tmuxPlugins.yank ]; }; } diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 8c26354f..6bd0e8e6 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -200,19 +200,19 @@ plugins = [ { name = "themes/robbyrussell"; - tags = ["from:oh-my-zsh" "as:theme"]; + tags = [ "from:oh-my-zsh" "as:theme" ]; } { name = "plugin/git"; - tags = ["from:oh-my-zsh"]; + tags = [ "from:oh-my-zsh" ]; } { name = "plugin/vi-mode"; - tags = ["from:oh-my-zsh"]; + tags = [ "from:oh-my-zsh" ]; } - {name = "mollifier/cd-gitroot";} - {name = "zsh-users/zsh-completions";} - {name = "zsh-users/zsh-syntax-highlighting";} + { name = "mollifier/cd-gitroot"; } + { name = "zsh-users/zsh-completions"; } + { name = "zsh-users/zsh-syntax-highlighting"; } ]; }; }; diff --git a/lib/theme/default.nix b/lib/theme/default.nix index f99d2a51..e20f893b 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -1,11 +1,11 @@ -{pkgs, ...}: { +{ pkgs, ... }: { fonts = { monospace = { - name = "MesloLGSDZ Nerd Font Mono"; + name = "JetBrainsMono Nerd Font Mono"; # fc-list : family | sort | grep "Nerd Font" - package = pkgs.nerdfonts.override {fonts = ["Meslo"];}; - size = "10"; + package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }; + size = "8"; }; }; } diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 7ff4e9ef..49e029bd 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -1,29 +1,26 @@ -{ - inputs, - self, - system, - username, -}: let +{ inputs, self, system, username, }: +let pkgs = inputs.nixpkgs.legacyPackages.${system}; - shared-config = import "${self}/lib/shared/home-manager.nix" {inherit inputs pkgs self username;}; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" {inherit inputs pkgs;}; -in - inputs.home-manager.lib.homeManagerConfiguration { - inherit pkgs; + shared-config = import "${self}/lib/shared/home-manager.nix" { + inherit inputs pkgs self username; + }; + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { + inherit inputs pkgs; + }; +in inputs.home-manager.lib.homeManagerConfiguration { + inherit pkgs; - modules = [ - { - imports = [shared-config]; + modules = [{ + imports = [ shared-config ]; - home.packages = shared-packages; + home.packages = shared-packages; - home.sessionVariables = { - EDITOR = "nvim"; - PATH = "$PATH:./vendor/bin:./node_modules/.bin"; - PULUMI_SKIP_UPDATE_CHECK = "true"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; - }; - } - ]; - } + home.sessionVariables = { + EDITOR = "nvim"; + PATH = "$PATH:./vendor/bin:./node_modules/.bin"; + PULUMI_SKIP_UPDATE_CHECK = "true"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; + }; + }]; +} From 6963cceb1777c9600bce4a5f7b5687990f1c42de Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Mar 2024 20:31:25 +0000 Subject: [PATCH 0683/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f344d293..a2f647fa 100644 --- a/flake.lock +++ b/flake.lock @@ -59,11 +59,11 @@ ] }, "locked": { - "lastModified": 1710532761, - "narHash": "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=", + "lastModified": 1710714957, + "narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=", "owner": "nix-community", "repo": "home-manager", - "rev": "206f457fffdb9a73596a4cb2211a471bd305243d", + "rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989", "type": "github" }, "original": { @@ -128,11 +128,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710565619, - "narHash": "sha256-xu/EnZCNdIj7m/QjCNIG5vrCA4TYg5uwFReb9XDxET0=", + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8ac30a39abc5ea67037dfbf090d6e89f187c6e50", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", "type": "github" }, "original": { @@ -206,11 +206,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1710706579, - "narHash": "sha256-ohuYJzbWLzJpUMq0xn2xDdgvS72hfiYmOi/uAyO0P8Q=", + "lastModified": 1710794082, + "narHash": "sha256-fuobWHFsNefMeCq1o2M9lMqS1gHZ1jN+xscx/36962M=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "69b2d3b71097954ccdfeb4c739413ed52a5a4d88", + "rev": "1b819937f701dc1d4c0b379f561bc34c6e024da6", "type": "github" }, "original": { From a0b155ea8e3db2e798aee30fead1799ee6b6b18c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 18 Mar 2024 23:24:37 +0000 Subject: [PATCH 0684/2258] Update autorandr configuration --- lib/nixos/home-manager/modules/autorandr.nix | 41 ++++++++++++-------- lib/nixos/home-manager/modules/i3.nix | 2 +- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/lib/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix index 7045fb94..0fe4ed13 100644 --- a/lib/nixos/home-manager/modules/autorandr.nix +++ b/lib/nixos/home-manager/modules/autorandr.nix @@ -14,31 +14,38 @@ enable = true; profiles = let - laptop = - "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - monitor = - "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + fingerprint = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + name = "eDP-1"; in { - laptop = { - config.eDP-1 = { - enable = true; - mode = "1920x1080"; - primary = true; - rate = "59.95"; + default = { + fingerprint = { + "${name}" = fingerprint; }; - fingerprint.eDP-1 = laptop; + config = { + "${name}" = { + enable = true; + mode = "1920x1080"; + }; + }; }; desktop = { - config.HDMI-1 = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; + config = { + "${name}".enable = false; + + "HDMI-1" = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; }; - fingerprint.HDMI-1 = monitor; + fingerprint = { + "${name}" = fingerprint; + "HDMI-1" = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + }; }; }; }; diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix index 32bab534..55751ce8 100644 --- a/lib/nixos/home-manager/modules/i3.nix +++ b/lib/nixos/home-manager/modules/i3.nix @@ -40,7 +40,7 @@ in { "${modifier}+Shift+l" = "move right"; "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; - "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --cycle"; + "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change"; "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; From 5ebe064a28984073b6363000dfe2b7eb6042a8e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Mar 2024 00:13:01 +0000 Subject: [PATCH 0685/2258] Simplify `nixos-*` justfile recipes Make the hostname configurable for NixOS and remove the need to specify the profile name when running `nixos-rebuild` commands as the hostname can be used. --- flake.nix | 4 ++-- justfile | 8 +++++--- lib/nixos/configuration.nix | 5 +++-- lib/nixos/default.nix | 6 +++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index 50010444..f0e5e687 100644 --- a/flake.nix +++ b/flake.nix @@ -30,8 +30,8 @@ lib = import ./lib { inherit inputs; }; nixosConfigurations = { - apollo = mkNixos { desktop = true; }; - nixedo = mkNixos { desktop = true; }; + apollo = mkNixos { desktop = true; hostname = "apollo"; }; + nixedo = mkNixos { desktop = true; hostname = "nixedo"; }; }; homeConfigurations = { wsl2 = mkWsl; }; diff --git a/justfile b/justfile index 99ad584c..73db0a53 100644 --- a/justfile +++ b/justfile @@ -1,16 +1,18 @@ +profile := `hostname` + _default: just --list check: nix flake check -nixos-build profile: +nixos-build: sudo nixos-rebuild build --flake ".#{{ profile }}" -nixos-switch profile: +nixos-switch: sudo nixos-rebuild switch --flake ".#{{ profile }}" -nixos-test profile: +nixos-test: sudo nixos-rebuild test --flake ".#{{ profile }}" update: diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 9adf02ea..088a7f6a 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, desktop ? false, self, }: +{ inputs, desktop ? false, hostname, self }: { pkgs, ... }: let configure-gtk = pkgs.writeTextFile { @@ -30,7 +30,8 @@ in { DefaultTimeoutStopSec=10s ''; - # networking.hostName = hostname; + networking.hostName = hostname; + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index bd9a32bb..5ed655c3 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,7 +1,7 @@ -{ inputs, self, username, }: -{ desktop ? false, }: +{ inputs, self, username }: +{ desktop ? false, hostname }: let - configuration = import ./configuration.nix { inherit desktop inputs self; }; + configuration = import ./configuration.nix { inherit desktop hostname inputs self; }; hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { modules = [ From 007358567814b0b91ed372b4c6e0abd3425413c6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Mar 2024 17:15:19 +0000 Subject: [PATCH 0686/2258] Remove lib for now --- flake.nix | 2 -- lib/default.nix | 0 2 files changed, 2 deletions(-) delete mode 100644 lib/default.nix diff --git a/flake.nix b/flake.nix index f0e5e687..b2b26f19 100644 --- a/flake.nix +++ b/flake.nix @@ -27,8 +27,6 @@ }; flake = { - lib = import ./lib { inherit inputs; }; - nixosConfigurations = { apollo = mkNixos { desktop = true; hostname = "apollo"; }; nixedo = mkNixos { desktop = true; hostname = "nixedo"; }; diff --git a/lib/default.nix b/lib/default.nix deleted file mode 100644 index e69de29b..00000000 From 15e485ea81f49391ce64c330ff83da9404344a0b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 20 Mar 2024 15:36:30 +0000 Subject: [PATCH 0687/2258] Remove Mod4+Tab keyboard from i3 configuration --- lib/nixos/home-manager/modules/i3.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix index 55751ce8..ce1a688d 100644 --- a/lib/nixos/home-manager/modules/i3.nix +++ b/lib/nixos/home-manager/modules/i3.nix @@ -25,7 +25,6 @@ in { "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; - "${modifier}+Tab" = "workspace back_and_forth"; # Change focus. "${modifier}+h" = "focus left"; From 7cd4f3c8814dc43a855994faabfd4728b3bbcca5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Mar 2024 15:06:35 +0000 Subject: [PATCH 0688/2258] Update lock file --- flake.lock | 83 ++++++++---------------------------------------------- 1 file changed, 12 insertions(+), 71 deletions(-) diff --git a/flake.lock b/flake.lock index a2f647fa..64b7cad2 100644 --- a/flake.lock +++ b/flake.lock @@ -34,24 +34,6 @@ "type": "indirect" } }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -59,11 +41,11 @@ ] }, "locked": { - "lastModified": 1710714957, - "narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=", + "lastModified": 1710974515, + "narHash": "sha256-jZpdsypecYTOO9l12Vy77otGmh9uz8tGzcguifA30Vs=", "owner": "nix-community", "repo": "home-manager", - "rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989", + "rev": "1c2acec99933f9835cc7ad47e35303de92d923a4", "type": "github" }, "original": { @@ -72,35 +54,13 @@ "type": "github" } }, - "nixd-nightly": { - "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": [ - "opdavies-nvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1710553072, - "narHash": "sha256-g80GlUrlCdHQVaJq9r8myCIzLmQp59e6jiGfxkodNYo=", - "owner": "nix-community", - "repo": "nixd", - "rev": "a436786fbd8ed5aafea4b0512cb1170a6e0e39df", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixd", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1710631334, - "narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=", + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", "type": "github" }, "original": { @@ -128,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710695816, - "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "lastModified": 1710951922, + "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", "owner": "nixos", "repo": "nixpkgs", - "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "rev": "f091af045dff8347d66d186a62d42aceff159456", "type": "github" }, "original": { @@ -178,39 +138,20 @@ "type": "github" } }, - "nixpkgs-lib_3": { - "locked": { - "dir": "lib", - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "opdavies-nvim": { "inputs": { "flake-parts": "flake-parts_2", - "nixd-nightly": "nixd-nightly", "nixpkgs": [ "nixpkgs" ], "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1710794082, - "narHash": "sha256-fuobWHFsNefMeCq1o2M9lMqS1gHZ1jN+xscx/36962M=", + "lastModified": 1711033467, + "narHash": "sha256-4YKpKt087W+WzfkVEGL/UL2NMriYVOCNId7iId+NzJc=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "1b819937f701dc1d4c0b379f561bc34c6e024da6", + "rev": "51329ce842fe49dafa806969952e9034a8718c0a", "type": "github" }, "original": { From 7234bbd3e7d7d507e480fe6a1c4dfb00a9bde7c1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 21 Mar 2024 15:11:22 +0000 Subject: [PATCH 0689/2258] Update CHANGELOG --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 031a2ca7..37e71dbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 20th March 2024 + +### Removed + +* Remove `Mod+Tab` keybinding from the i3 configuration so that it no longer toggles the previous workspace. + +## 18th March 2024 + +### Changed + +* Update autorandr configuration. +* Automatically prune unused Docker images on a weekly basis. + ## 14th March 2024 ### Added From ca2770622697cb070f3a95e08a501aa89c4c9e6a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 22 Mar 2024 07:31:30 +0000 Subject: [PATCH 0690/2258] Replace `watchexec` with `entr` https://eradman.com/entrproject --- lib/shared/home-manager-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index c7eb52e7..71386cc1 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -8,6 +8,7 @@ with pkgs; [ delta dog doppler + entr fd file gcc @@ -30,7 +31,6 @@ with pkgs; [ tree-sitter unzip virtualenv - watchexec wget xcp xh From a41ad883c2494b7ebd9398d8e600eec737d77635 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 22 Mar 2024 18:26:16 +0000 Subject: [PATCH 0691/2258] Enable floating by default for Zoom windows --- lib/nixos/home-manager/modules/i3.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix index ce1a688d..2b28d033 100644 --- a/lib/nixos/home-manager/modules/i3.nix +++ b/lib/nixos/home-manager/modules/i3.nix @@ -72,6 +72,9 @@ in { default_floating_border none smart_borders on smart_gaps on + + for_window [class="zoom"] floating enable + # xprop | grep -i class ''; config = { From f44a2570acc59931a7e1d20301b230b579e0672d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 22 Mar 2024 18:27:04 +0000 Subject: [PATCH 0692/2258] Re-add `autotiling` --- lib/nixos/home-manager/modules/i3.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix index 2b28d033..78b767c6 100644 --- a/lib/nixos/home-manager/modules/i3.nix +++ b/lib/nixos/home-manager/modules/i3.nix @@ -66,6 +66,8 @@ in { bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable + exec_always --no-startup-id autotiling + exec --no-startup-id ${pkgs.feh}/bin/feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; default_border none @@ -109,4 +111,6 @@ in { load.enable = false; }; }; + + home.packages = with pkgs; [ autotiling ]; } From 7c8dfc1194b03e9830ba9c280a8bd06023c86e57 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 24 Mar 2024 12:06:05 +0000 Subject: [PATCH 0693/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 64b7cad2..d8669a79 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1710974515, - "narHash": "sha256-jZpdsypecYTOO9l12Vy77otGmh9uz8tGzcguifA30Vs=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2acec99933f9835cc7ad47e35303de92d923a4", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "lastModified": 1711163522, + "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710951922, - "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", + "lastModified": 1711124224, + "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f091af045dff8347d66d186a62d42aceff159456", + "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", "type": "github" }, "original": { From 86badb3a6043d1fd5113bb2216dd37ab0b8dd06f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 25 Mar 2024 01:10:32 +0000 Subject: [PATCH 0694/2258] Revert "Update lock file" This reverts commit 7c8dfc1194b03e9830ba9c280a8bd06023c86e57. --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d8669a79..64b7cad2 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1711133180, - "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", + "lastModified": 1710974515, + "narHash": "sha256-jZpdsypecYTOO9l12Vy77otGmh9uz8tGzcguifA30Vs=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", + "rev": "1c2acec99933f9835cc7ad47e35303de92d923a4", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711163522, - "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1711124224, - "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", + "lastModified": 1710951922, + "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", "owner": "nixos", "repo": "nixpkgs", - "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", + "rev": "f091af045dff8347d66d186a62d42aceff159456", "type": "github" }, "original": { From da0a1276ff5f6c9e89dad3ec3c0890f6cee932b0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 25 Mar 2024 08:58:26 +0000 Subject: [PATCH 0695/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 64b7cad2..d8669a79 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1710974515, - "narHash": "sha256-jZpdsypecYTOO9l12Vy77otGmh9uz8tGzcguifA30Vs=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2acec99933f9835cc7ad47e35303de92d923a4", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -56,11 +56,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "lastModified": 1711163522, + "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1710951922, - "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", + "lastModified": 1711124224, + "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f091af045dff8347d66d186a62d42aceff159456", + "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", "type": "github" }, "original": { From 40d6b9285a1a97ffcae17a2e1458d1de85b4a624 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 25 Mar 2024 11:49:33 +0000 Subject: [PATCH 0696/2258] Fix wsl2 configuration --- flake.nix | 2 +- lib/wsl2/default.nix | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index b2b26f19..41a3db02 100644 --- a/flake.nix +++ b/flake.nix @@ -32,7 +32,7 @@ nixedo = mkNixos { desktop = true; hostname = "nixedo"; }; }; - homeConfigurations = { wsl2 = mkWsl; }; + homeConfigurations = { wsl2 = mkWsl { system = "x86_64-linux"; }; }; }; }; } diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 49e029bd..2d6a226e 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -1,4 +1,6 @@ -{ inputs, self, system, username, }: +{ inputs, self, username }: +{ system }: + let pkgs = inputs.nixpkgs.legacyPackages.${system}; @@ -11,6 +13,8 @@ let in inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; + extraSpecialArgs = { inherit self; }; + modules = [{ imports = [ shared-config ]; From 6ab382053d6a02197140d11471b5066040139cbe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 25 Mar 2024 11:55:12 +0000 Subject: [PATCH 0697/2258] Format with nixfmt --- flake.nix | 10 ++++++++-- lib/nixos/default.nix | 3 ++- lib/nixos/home-manager/modules/autorandr.nix | 10 +++++----- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index 41a3db02..8f3d4d02 100644 --- a/flake.nix +++ b/flake.nix @@ -28,8 +28,14 @@ flake = { nixosConfigurations = { - apollo = mkNixos { desktop = true; hostname = "apollo"; }; - nixedo = mkNixos { desktop = true; hostname = "nixedo"; }; + apollo = mkNixos { + desktop = true; + hostname = "apollo"; + }; + nixedo = mkNixos { + desktop = true; + hostname = "nixedo"; + }; }; homeConfigurations = { wsl2 = mkWsl { system = "x86_64-linux"; }; }; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 5ed655c3..55283815 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,7 +1,8 @@ { inputs, self, username }: { desktop ? false, hostname }: let - configuration = import ./configuration.nix { inherit desktop hostname inputs self; }; + configuration = + import ./configuration.nix { inherit desktop hostname inputs self; }; hardwareConfiguration = import ./hardware-configuration.nix; in inputs.nixpkgs.lib.nixosSystem { modules = [ diff --git a/lib/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix index 0fe4ed13..a057098b 100644 --- a/lib/nixos/home-manager/modules/autorandr.nix +++ b/lib/nixos/home-manager/modules/autorandr.nix @@ -14,13 +14,12 @@ enable = true; profiles = let - fingerprint = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + fingerprint = + "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; name = "eDP-1"; in { default = { - fingerprint = { - "${name}" = fingerprint; - }; + fingerprint = { "${name}" = fingerprint; }; config = { "${name}" = { @@ -44,7 +43,8 @@ fingerprint = { "${name}" = fingerprint; - "HDMI-1" = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + "HDMI-1" = + "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; }; }; }; From f6c366611e36a1abc88bbd85242f8cbee0a9eef4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 25 Mar 2024 12:03:08 +0000 Subject: [PATCH 0698/2258] Fix awscli2 build error --- lib/shared/home-manager-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 71386cc1..fe8c7c05 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -1,6 +1,5 @@ { inputs, pkgs, ... }: with pkgs; [ - awscli2 bitwarden-cli bottom cachix @@ -19,6 +18,7 @@ with pkgs; [ go htop inotify-tools + inputs.nixpkgs-2311.legacyPackages.${pkgs.system}.awscli2 jq lua mysql From e92cfa3b234a91fee8bea179f7e06f8a9016b7bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 22 Mar 2024 23:38:40 +0000 Subject: [PATCH 0699/2258] Switch to wayland and sway --- lib/nixos/configuration.nix | 35 ++-- lib/nixos/default.nix | 2 + lib/nixos/home-manager/desktop.nix | 5 +- lib/nixos/home-manager/modules/autorandr.nix | 52 ------ lib/nixos/home-manager/modules/i3.nix | 116 ------------ lib/nixos/home-manager/modules/kanshi.nix | 39 ++++ lib/nixos/home-manager/modules/rofi.nix | 1 - lib/nixos/home-manager/modules/sway.nix | 184 +++++++++++++++++++ lib/nixos/modules/sway.nix | 31 ++++ 9 files changed, 270 insertions(+), 195 deletions(-) delete mode 100644 lib/nixos/home-manager/modules/autorandr.nix delete mode 100644 lib/nixos/home-manager/modules/i3.nix create mode 100644 lib/nixos/home-manager/modules/kanshi.nix delete mode 100644 lib/nixos/home-manager/modules/rofi.nix create mode 100644 lib/nixos/home-manager/modules/sway.nix create mode 100644 lib/nixos/modules/sway.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 088a7f6a..409ca1f5 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -67,16 +67,6 @@ in { layout = "gb"; variant = ""; }; - - displayManager = { - defaultSession = "none+i3"; - lightdm.enable = true; - }; - - windowManager.i3 = { - enable = true; - extraPackages = with pkgs; [ i3status i3lock i3blocks ]; - }; }; # Configure console keymap @@ -89,20 +79,19 @@ in { # Enable sound with pipewire. sound.enable = true; - hardware.pulseaudio.enable = true; + hardware.pulseaudio.enable = false; security.rtkit.enable = true; - # services.pipewire = { - # enable = true; - # alsa.enable = true; - # alsa.support32Bit = true; - # pulse.enable = true; - # # If you want to use JACK applications, uncomment this - # #jack.enable = true; - # - # # use the example session manager (no others are packaged yet so this is enabled by default, - # # no need to redefine it in your config for now) - # #media-session.enable = true; - # }; + + services.pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 55283815..890a3dab 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -16,6 +16,8 @@ in inputs.nixpkgs.lib.nixosSystem { }; } + (import ./modules/sway.nix { inherit inputs username; }) + configuration hardwareConfiguration ]; diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index ee9b642f..d90d6a1d 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -1,13 +1,12 @@ { config, inputs, pkgs, username, }: { imports = [ ./modules/alacritty.nix - ./modules/autorandr.nix ./modules/copyq.nix ./modules/dunst.nix ./modules/espanso.nix ./modules/feh.nix ./modules/flameshot.nix - ./modules/i3.nix - ./modules/rofi.nix + ./modules/kanshi.nix + ./modules/sway.nix ]; } diff --git a/lib/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix deleted file mode 100644 index a057098b..00000000 --- a/lib/nixos/home-manager/modules/autorandr.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ username, ... }: { - services.autorandr.enable = true; - - xdg.configFile."autorandr/postswitch" = { - executable = true; - text = '' - #!/usr/bin/env bash - - feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; - ''; - }; - - programs.autorandr = { - enable = true; - - profiles = let - fingerprint = - "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - name = "eDP-1"; - in { - default = { - fingerprint = { "${name}" = fingerprint; }; - - config = { - "${name}" = { - enable = true; - mode = "1920x1080"; - }; - }; - }; - - desktop = { - config = { - "${name}".enable = false; - - "HDMI-1" = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; - }; - }; - - fingerprint = { - "${name}" = fingerprint; - "HDMI-1" = - "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - }; - }; - }; - }; -} diff --git a/lib/nixos/home-manager/modules/i3.nix b/lib/nixos/home-manager/modules/i3.nix deleted file mode 100644 index 78b767c6..00000000 --- a/lib/nixos/home-manager/modules/i3.nix +++ /dev/null @@ -1,116 +0,0 @@ -{ config, inputs, pkgs, self, username, ... }: -let - theme = import "${self}/lib/theme" { inherit pkgs; }; - - modifier = "Mod4"; -in { - xsession.windowManager.i3 = { - enable = true; - - config = { - assigns = { - "7" = [{ class = "vlc"; }]; - "8" = [{ class = "0ad"; }]; - "9" = [ { class = "Slack"; } { class = "discord"; } ]; - }; - - defaultWorkspace = "workspace number 1"; - - focus.followMouse = false; - - modifier = modifier; - - keybindings = inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; - - "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; - "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; - - # Change focus. - "${modifier}+h" = "focus left"; - "${modifier}+j" = "focus down"; - "${modifier}+k" = "focus up"; - "${modifier}+l" = "focus right"; - - # Move focused window. - "${modifier}+Shift+h" = "move left"; - "${modifier}+Shift+j" = "move down"; - "${modifier}+Shift+k" = "move up"; - "${modifier}+Shift+l" = "move right"; - - "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; - "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change"; - "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; - - "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; - "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = '' - exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; - - "XF86MonBrightnessDown" = - "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; - "XF86MonBrightnessUp" = - "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; - }; - - terminal = "alacritty"; - - window = { - border = 0; - hideEdgeBorders = "none"; - }; - }; - - extraConfig = '' - set $laptop eDP-1 - bindswitch --reload --locked lid:on output $laptop disable - bindswitch --reload --locked lid:off output $laptop enable - - exec_always --no-startup-id autotiling - - exec --no-startup-id ${pkgs.feh}/bin/feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; - - default_border none - default_floating_border none - smart_borders on - smart_gaps on - - for_window [class="zoom"] floating enable - # xprop | grep -i class - ''; - - config = { - bars = [{ - position = "bottom"; - statusCommand = "${pkgs.i3status}/bin/i3status"; - }]; - - fonts.names = [ "${theme.fonts.monospace.name}" ]; - - gaps = { - smartBorders = "on"; - smartGaps = true; - }; - }; - }; - - programs.i3status = { - enable = true; - - general = { - colors = true; - - color_bad = "#f7768e"; - color_degraded = "#ff9e64"; - color_good = "#c0caf5"; - }; - - modules = { - cpu_temperature.enable = false; - ipv6.enable = false; - load.enable = false; - }; - }; - - home.packages = with pkgs; [ autotiling ]; -} diff --git a/lib/nixos/home-manager/modules/kanshi.nix b/lib/nixos/home-manager/modules/kanshi.nix new file mode 100644 index 00000000..424bc6d5 --- /dev/null +++ b/lib/nixos/home-manager/modules/kanshi.nix @@ -0,0 +1,39 @@ +{ + systemd.user.services.kanshi = { + serviceConfig = { + StartLimitBurst = 5; + StartLimitIntervalSec = 30; + }; + }; + + services.kanshi = { + enable = true; + + # swaymsg -t get_outputs + profiles = { + undocked = { + outputs = [{ + criteria = "eDP-1"; + status = "enable"; + mode = "1920x1080"; + position = "0,0"; + }]; + }; + + docked = { + outputs = [ + { + criteria = "eDP-1"; + status = "disable"; + } + + { + criteria = "Samsung Electric Company LU28R55 H4ZRA00128"; + mode = "2560x1440"; + position = "0,0"; + } + ]; + }; + }; + }; +} diff --git a/lib/nixos/home-manager/modules/rofi.nix b/lib/nixos/home-manager/modules/rofi.nix deleted file mode 100644 index dd34f5e9..00000000 --- a/lib/nixos/home-manager/modules/rofi.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.rofi.enable = true; } diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix new file mode 100644 index 00000000..e89a570e --- /dev/null +++ b/lib/nixos/home-manager/modules/sway.nix @@ -0,0 +1,184 @@ +{ config, inputs, pkgs, ... }: + +{ + # services.swayidle = { + # enable = true; + # + # events = [ + # { + # event = "before-sleep"; + # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpape + # /wallpaper.jpg"; + # } + # ]; + # }; + + # services.swayidle.timeouts = [ + # { + # timeout = 300; + # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; + # } + # + # { + # timeout = 600; + # command = "swaymsg 'output * dpms off'"; + # resumeCommand = "swaymsg 'output * dpms on'"; + # } + # ]; + + # programs.swaylock = { + # enable = true; + # + # settings = { + # daemonize = true; + # image = "~/.config/wallpaper/wallpaper.jpg"; + # }; + # }; + + programs.i3status-rust = { + enable = true; + + bars = { + default = { + blocks = [ + { + block = "net"; + format = " $ip "; + } + { + block = "battery"; + format = " $icon $percentage $time "; + } + { block = "cpu"; } + { + block = "memory"; + format = " $icon $mem_total_used_percents.eng(w:2) "; + format_alt = " $icon_swap $swap_used_percents.eng(w:2) "; + } + { + block = "disk_space"; + path = "/"; + info_type = "available"; + alert_unit = "GB"; + interval = 20; + warning = 20.0; + alert = 10.0; + format = " $icon $available.eng(w:2) "; + } + { + block = "time"; + interval = 1; + format = " $timestamp.datetime(f:'%F %T') "; + } + ]; + + settings = { + theme = { + theme = "plain"; + overrides = { + critical_bg = "#222222"; + good_bg = "#222222"; + good_fg = "#ffffff"; + idle_bg = "#222222"; + idle_fg = "#ffffff"; + info_bg = "#222222"; + info_fg = "#ffffff"; + separator_bg = "#222222"; + warning_bg = "#222222"; + warning_fg = "#ffffff"; + }; + }; + }; + }; + }; + }; + + wayland.windowManager.sway = { + enable = true; + xwayland = true; + + config = { + assigns = { + "1" = [{ app_id = "firefox"; }]; + "2" = [{ app_id = "Alacritty"; }]; + "3" = [{ class = "vlc"; }]; + "9" = [ { class = "Slack"; } { class = "discord"; } ]; + # Get app_id with swaymsg -t get_tree + }; + + bars = [{ + colors.background = "#222222"; + + fonts = { + names = [ "JetBrainsMono Nerd Font Mono" ]; + size = 12.0; + }; + + statusCommand = + "i3status-rs ~/.config/i3status-rust/config-default.toml"; + trayPadding = 5; + }]; + + gaps = { + inner = 0; + smartBorders = "on"; + # smartGaps = true; + }; + + input = { + "*" = { xkb_layout = "gb"; }; + + "type:touchpad" = { + dwt = "enabled"; + tap = "enabled"; + }; + }; + + keybindings = + let modifier = config.wayland.windowManager.sway.config.modifier; + in inputs.nixpkgs.lib.mkOptionDefault { + "${modifier}+Escape" = "exec swaylock --daemonize"; + "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; + "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; + "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; + }; + + menu = "wofi --show run"; + modifier = "Mod4"; + + output = { + # "*" = { + # bg = "~/.config/wallpaper/wallpaper.jpg fill"; + # }; + + eDP-1 = { scale = "1.0"; }; + }; + + terminal = "alacritty"; + + window.border = 3; + }; + + extraConfig = '' + set $laptop eDP-1 + bindswitch --reload --locked lid:on output $laptop disable + bindswitch --reload --locked lid:off output $laptop enable + + set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock + exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob + + bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $WOBSOCK + bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $WOBSOCK + bindsym XF86AudioMute exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0 > $WOBSOCK ) || pamixer --get-volume > $WOBSOCK + + # TODO: light? + bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK + bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK + + for_window [class="vlc"] inhibit_idle fullscreen + + for_window [app_id="flameshot"] floating enable + for_window [class="zoom"] floating enable + ''; + }; +} diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix new file mode 100644 index 00000000..84e6bed9 --- /dev/null +++ b/lib/nixos/modules/sway.nix @@ -0,0 +1,31 @@ +{ inputs, username, ... }: +{ pkgs, ... }: { + services = { + xserver = { + displayManager = { + defaultSession = "sway"; + sddm.enable = true; + }; + }; + }; + + programs.sway.enable = true; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-wlr ]; + }; + + home-manager.users.${username} = { pkgs, ... }: { + home.sessionVariables = { + MOZ_ENABLE_WAYLAND = "1"; + MOZ_USE_XINPUT2 = "1"; + QT_QPA_PLATFORM = "wayland"; + SDL_VIDEODRIVER = "wayland"; + XDG_CURRENT_DESKTOP = "sway"; + XDG_SESSION_TYPE = "wayland"; + }; + + home.packages = with pkgs; [ i3status wl-clipboard wofi ]; + }; +} From 8dc0e30556a26215aeabbe37b7a6eb557cb63b84 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 26 Mar 2024 00:16:48 +0000 Subject: [PATCH 0700/2258] Configure gtk --- lib/nixos/home-manager/desktop.nix | 1 + lib/nixos/home-manager/modules/gtk.nix | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 lib/nixos/home-manager/modules/gtk.nix diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index d90d6a1d..a9a7f608 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -4,6 +4,7 @@ ./modules/copyq.nix ./modules/dunst.nix ./modules/espanso.nix + ./modules/gtk.nix ./modules/feh.nix ./modules/flameshot.nix ./modules/kanshi.nix diff --git a/lib/nixos/home-manager/modules/gtk.nix b/lib/nixos/home-manager/modules/gtk.nix new file mode 100644 index 00000000..bce482cc --- /dev/null +++ b/lib/nixos/home-manager/modules/gtk.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +{ + gtk = { + enable = true; + theme.package = pkgs.arc-theme; + theme.name = "Arc-Dark"; + iconTheme.package = pkgs.arc-icon-theme; + iconTheme.name = "Arc"; + }; +} From 6287b83d33e13c52c7abf510dbf95e5b3e39ebb5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 26 Mar 2024 20:44:45 +0000 Subject: [PATCH 0701/2258] Simplify `nixos-*` justfile recipes --- justfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/justfile b/justfile index 73db0a53..40392f09 100644 --- a/justfile +++ b/justfile @@ -1,5 +1,3 @@ -profile := `hostname` - _default: just --list @@ -7,13 +5,13 @@ check: nix flake check nixos-build: - sudo nixos-rebuild build --flake ".#{{ profile }}" + sudo nixos-rebuild build --flake . nixos-switch: - sudo nixos-rebuild switch --flake ".#{{ profile }}" + sudo nixos-rebuild switch --flake . nixos-test: - sudo nixos-rebuild test --flake ".#{{ profile }}" + sudo nixos-rebuild test --flake . update: nix flake update From f2db3d29f7951ba3442ffefb574fa05fc19d2f22 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 26 Mar 2024 20:45:00 +0000 Subject: [PATCH 0702/2258] Enable tmuxinator This is a potential replacement for my custom `.tmux` files. --- bin/t | 5 ++++- lib/shared/modules/tmux.nix | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/t b/bin/t index 7d589acc..2a0b2e8f 100755 --- a/bin/t +++ b/bin/t @@ -53,7 +53,10 @@ if tmux has-session -t "${session_name}" 2> /dev/null; then fi # If a .tmux file exists, run it with the generated session name and path. -if [[ -e "${session_path}/.tmux" ]]; then +if [[ -e "${session_path}/.tmuxinator.yml" ]]; then + cd "${session_path}" && tmuxinator start + exit +elif [[ -e "${session_path}/.tmux" ]]; then "${session_path}/.tmux" "${session_name}" "${session_path}" exit elif [[ -e "${session_path}/.ignored/.tmux" ]]; then diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 6d5e0e75..72d7b4fd 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -4,6 +4,8 @@ in { programs.tmux = { enable = true; + tmuxinator.enable = true; + terminal = "tmux-256color"; extraConfig = '' From a6a81f0cd6d3d788857c02740f24934a293e50dd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 27 Mar 2024 08:53:34 +0000 Subject: [PATCH 0703/2258] Support tmuxinator configurations in .ignored Also use tmuxinator if the `.tmuxinator.yml` file is within a `.ignored` directory and ignored from Git. --- bin/t | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/t b/bin/t index 2a0b2e8f..a131d890 100755 --- a/bin/t +++ b/bin/t @@ -56,6 +56,9 @@ fi if [[ -e "${session_path}/.tmuxinator.yml" ]]; then cd "${session_path}" && tmuxinator start exit +elif [[ -e "${session_path}/.ignored/.tmuxinator.yml" ]]; then + cd "${session_path}" && tmuxinator start --project-config "${session_path}/.ignored/.tmuxinator.yml" + exit elif [[ -e "${session_path}/.tmux" ]]; then "${session_path}/.tmux" "${session_name}" "${session_path}" exit From dda29957a995e0bb0f68aa09ce5c4e4703bd2dbc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 26 Mar 2024 23:49:49 +0000 Subject: [PATCH 0704/2258] Update opdavies.nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d8669a79..1b038194 100644 --- a/flake.lock +++ b/flake.lock @@ -147,11 +147,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1711033467, - "narHash": "sha256-4YKpKt087W+WzfkVEGL/UL2NMriYVOCNId7iId+NzJc=", + "lastModified": 1711496468, + "narHash": "sha256-xV7zu7LhVUl6S5ruwMqvYjvQ3Uv87stqBfPjAv/lGuY=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "51329ce842fe49dafa806969952e9034a8718c0a", + "rev": "e3ddc8cf772f5fb5b137a747463bdfa85568f895", "type": "github" }, "original": { From f35098696163990e811357c74b8ecac0c81e5f53 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 29 Mar 2024 01:33:25 +0000 Subject: [PATCH 0705/2258] Remove flake parts and update lock file --- flake.lock | 96 +++++++----------------------------------------------- flake.nix | 40 ++++++++++++----------- 2 files changed, 33 insertions(+), 103 deletions(-) diff --git a/flake.lock b/flake.lock index 1b038194..e107d8f1 100644 --- a/flake.lock +++ b/flake.lock @@ -1,39 +1,5 @@ { "nodes": { - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -41,11 +7,11 @@ ] }, "locked": { - "lastModified": 1711133180, - "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", + "lastModified": 1711625603, + "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", + "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", "type": "github" }, "original": { @@ -56,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711163522, - "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", + "lastModified": 1711523803, + "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", + "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443", "type": "github" }, "original": { @@ -88,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1711124224, - "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", + "lastModified": 1711460390, + "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", + "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", "type": "github" }, "original": { @@ -102,56 +68,19 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "dir": "lib", - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_2": { - "locked": { - "dir": "lib", - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "opdavies-nvim": { "inputs": { - "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1711496468, - "narHash": "sha256-xV7zu7LhVUl6S5ruwMqvYjvQ3Uv87stqBfPjAv/lGuY=", + "lastModified": 1711675616, + "narHash": "sha256-HycihSJFF0jXdEbZlDKQHu169HhxJYRwGMbRiZIfFPg=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "e3ddc8cf772f5fb5b137a747463bdfa85568f895", + "rev": "b71e7d35d794bef90709bc8b5415771a7d61a122", "type": "github" }, "original": { @@ -162,7 +91,6 @@ }, "root": { "inputs": { - "flake-parts": "flake-parts", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixpkgs-2311": "nixpkgs-2311", diff --git a/flake.nix b/flake.nix index 8f3d4d02..2ae96bde 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,9 @@ inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; @@ -10,35 +12,35 @@ # opdavies-nvim.url = "path:/home/opdavies/Code/github.com/opdavies/opdavies.nvim"; }; - outputs = inputs@{ flake-parts, self, ... }: + outputs = { nixpkgs, self, ... }@inputs: let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + username = "opdavies"; mkNixos = import ./lib/nixos { inherit inputs self username; }; mkWsl = import ./lib/wsl2 { inherit inputs self username; }; - in flake-parts.lib.mkFlake { inherit inputs; } { - systems = [ "x86_64-linux" ]; - perSystem = { pkgs, self', ... }: { - packages.default = - pkgs.mkShell { nativeBuildInputs = [ pkgs.nixfmt pkgs.just ]; }; + inherit (pkgs) mkShell; + in { + packages.${system}.default = + mkShell { buildInputs = with pkgs; [ just ]; }; - formatter = pkgs.nixfmt; - }; + formatter.${system} = pkgs.nixfmt; - flake = { - nixosConfigurations = { - apollo = mkNixos { - desktop = true; - hostname = "apollo"; - }; - nixedo = mkNixos { - desktop = true; - hostname = "nixedo"; - }; + nixosConfigurations = { + apollo = mkNixos { + desktop = true; + hostname = "apollo"; }; - homeConfigurations = { wsl2 = mkWsl { system = "x86_64-linux"; }; }; + nixedo = mkNixos { + desktop = true; + hostname = "nixedo"; + }; }; + + homeConfigurations = { wsl2 = mkWsl { system = "x86_64-linux"; }; }; }; } From 446ff6fada42eb943708092b740d3e8c51de0095 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 20:00:17 +0000 Subject: [PATCH 0706/2258] Update lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e107d8f1..96c5fd3b 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711523803, - "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1711460390, - "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "lastModified": 1711668574, + "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", "type": "github" }, "original": { From e67424baa58ec8f63e65925b75b1324e89104fe9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 20:00:37 +0000 Subject: [PATCH 0707/2258] Extract PHP version variables --- lib/shared/home-manager-packages.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index fe8c7c05..281eddc7 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -1,5 +1,8 @@ { inputs, pkgs, ... }: -with pkgs; [ +let + php = pkgs.php82; + phpPackages = pkgs.php82Packages; +in with pkgs; [ bitwarden-cli bottom cachix @@ -22,8 +25,8 @@ with pkgs; [ jq lua mysql - php82 - php82Packages.composer + php + phpPackages.composer pv rustywind tldr From 1418a2333f414e630503223b386c442ba2d991eb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 22:14:48 +0000 Subject: [PATCH 0708/2258] Inherit just and nixfmt and update lock file --- flake.lock | 6 +++--- flake.nix | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 96c5fd3b..e7906c77 100644 --- a/flake.lock +++ b/flake.lock @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1711675616, - "narHash": "sha256-HycihSJFF0jXdEbZlDKQHu169HhxJYRwGMbRiZIfFPg=", + "lastModified": 1711835319, + "narHash": "sha256-UgKCMk0cfo+9+KI7PZcllFPcmSj9yygf6qSEOXMCh3w=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "b71e7d35d794bef90709bc8b5415771a7d61a122", + "rev": "8a74f333444d6a4a4bdc33f6cbcdc2d3f6faeca4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2ae96bde..8d3b0329 100644 --- a/flake.nix +++ b/flake.nix @@ -22,12 +22,11 @@ mkNixos = import ./lib/nixos { inherit inputs self username; }; mkWsl = import ./lib/wsl2 { inherit inputs self username; }; - inherit (pkgs) mkShell; + inherit (pkgs) just mkShell nixfmt; in { - packages.${system}.default = - mkShell { buildInputs = with pkgs; [ just ]; }; + packages.${system}.default = mkShell { buildInputs = [ just ]; }; - formatter.${system} = pkgs.nixfmt; + formatter.${system} = nixfmt; nixosConfigurations = { apollo = mkNixos { From 0ff3724c5861e827cb4007a5aafe89d7d6645bac Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 22:15:05 +0000 Subject: [PATCH 0709/2258] Replace .tmux with tmuxinator --- .tmux | 23 ----------------------- .tmuxinator.yaml | 6 ++++++ 2 files changed, 6 insertions(+), 23 deletions(-) delete mode 100755 .tmux create mode 100644 .tmuxinator.yaml diff --git a/.tmux b/.tmux deleted file mode 100755 index 9a2c232e..00000000 --- a/.tmux +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset - -session_name="${1:-dotfiles-nix}" -session_path="${2:-$(pwd)}" - -if tmux has-session -t="${session_name}" 2> /dev/null; then - tmux attach -t "${session_name}" || - tmux switch-client -t "${session_name}" -fi - -tmux new-session -d -s "${session_name}" -n vim -c "${session_path}" - -# 1. Main window: Vim -tmux send-keys -t "${session_name}:vim" "nvim" Enter - -# 2. General shell use. -tmux new-window -t "${session_name}" -c "${session_path}" - -tmux switch-client -t "${session_name}:vim.left" || - tmux attach -t "${session_name}:vim.left" diff --git a/.tmuxinator.yaml b/.tmuxinator.yaml new file mode 100644 index 00000000..97601942 --- /dev/null +++ b/.tmuxinator.yaml @@ -0,0 +1,6 @@ +name: dotfiles-nix +root: . + +windows: + - vim: nvim + - shell: From 488f70aab293765c9651a98de20de4217186f6fc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 22:15:32 +0000 Subject: [PATCH 0710/2258] Add support for .tmuxinator.yaml files --- bin/t | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/t b/bin/t index a131d890..8e0a5089 100755 --- a/bin/t +++ b/bin/t @@ -59,6 +59,12 @@ if [[ -e "${session_path}/.tmuxinator.yml" ]]; then elif [[ -e "${session_path}/.ignored/.tmuxinator.yml" ]]; then cd "${session_path}" && tmuxinator start --project-config "${session_path}/.ignored/.tmuxinator.yml" exit +elif [[ -e "${session_path}/.tmuxinator.yaml" ]]; then + cd "${session_path}" && tmuxinator start + exit +elif [[ -e "${session_path}/.ignored/.tmuxinator.yaml" ]]; then + cd "${session_path}" && tmuxinator start --project-config "${session_path}/.ignored/.tmuxinator.yaml" + exit elif [[ -e "${session_path}/.tmux" ]]; then "${session_path}/.tmux" "${session_name}" "${session_path}" exit From afe587d3a1112c3fa3e4727847a56a333313f5ca Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 22:22:39 +0000 Subject: [PATCH 0711/2258] Switch awscli2 back to unstable --- lib/shared/home-manager-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 281eddc7..8098e275 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -3,6 +3,7 @@ let php = pkgs.php82; phpPackages = pkgs.php82Packages; in with pkgs; [ + awscli2 bitwarden-cli bottom cachix @@ -21,7 +22,6 @@ in with pkgs; [ go htop inotify-tools - inputs.nixpkgs-2311.legacyPackages.${pkgs.system}.awscli2 jq lua mysql From a704e1137604bc334b274c00e5ac0d794095078d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 30 Mar 2024 22:23:16 +0000 Subject: [PATCH 0712/2258] Add keybinding for thunar --- lib/nixos/home-manager/modules/sway.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index e89a570e..96a41ac7 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -139,6 +139,7 @@ in inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+Escape" = "exec swaylock --daemonize"; "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; + "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; }; From dd0f70a9e7db804e7a7eb14d3eeec9882ab3291d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 31 Mar 2024 09:21:07 +0100 Subject: [PATCH 0713/2258] Re-enable autotiling with sway --- lib/nixos/home-manager/modules/sway.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 96a41ac7..8dcc853e 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -161,6 +161,8 @@ }; extraConfig = '' + exec_always ${pkgs.autotiling}/bin/autotiling + set $laptop eDP-1 bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable From 2ff86404269fef97cc7d75a08986da2e61ebd65d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 31 Mar 2024 10:42:45 +0100 Subject: [PATCH 0714/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e7906c77..53e719c4 100644 --- a/flake.lock +++ b/flake.lock @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1711835319, - "narHash": "sha256-UgKCMk0cfo+9+KI7PZcllFPcmSj9yygf6qSEOXMCh3w=", + "lastModified": 1711876351, + "narHash": "sha256-4+xB8yaIzbY4pUIPk4CY6UxLwNdoFG1FQKPrhxTd5cs=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "8a74f333444d6a4a4bdc33f6cbcdc2d3f6faeca4", + "rev": "339a29be1ffc7f707945aeff278a71487737ad9c", "type": "github" }, "original": { From 4a10b04f8e8cf26aecf9f28c26ac137d048a86ff Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 31 Mar 2024 17:30:21 +0100 Subject: [PATCH 0715/2258] Use Meslo font --- lib/theme/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/theme/default.nix b/lib/theme/default.nix index e20f893b..24ae5d47 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -1,11 +1,11 @@ { pkgs, ... }: { fonts = { monospace = { - name = "JetBrainsMono Nerd Font Mono"; + name = "MesloLGM Nerd Font Mono"; # fc-list : family | sort | grep "Nerd Font" - package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }; - size = "8"; + package = pkgs.nerdfonts.override { fonts = [ "Meslo" ]; }; + size = "14"; }; }; } From 13f23e88de591c154f4545e9b2c0066d908ddd4c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 31 Mar 2024 17:30:52 +0100 Subject: [PATCH 0716/2258] Update lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 53e719c4..850e02c4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1711625603, - "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", + "lastModified": 1711868868, + "narHash": "sha256-QpZanlbVu6Gb2K96u3vgu0F2BvZD74+fOsIFWcYEXoY=", "owner": "nix-community", "repo": "home-manager", - "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", + "rev": "30f2ec39519f4f5a8a96af808c439e730c15aeab", "type": "github" }, "original": { From 8a4f0d3bf347ddc824ef96344b36cc587360d507 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 31 Mar 2024 18:13:01 +0100 Subject: [PATCH 0717/2258] Use MesloLGSDZ Nerd Font Mono --- lib/theme/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/theme/default.nix b/lib/theme/default.nix index 24ae5d47..da88d1b7 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -1,7 +1,7 @@ { pkgs, ... }: { fonts = { monospace = { - name = "MesloLGM Nerd Font Mono"; + name = "MesloLGSDZ Nerd Font Mono"; # fc-list : family | sort | grep "Nerd Font" package = pkgs.nerdfonts.override { fonts = [ "Meslo" ]; }; From c99564fff5dafc3f7289b80d7f0c7c53a3d609d9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 1 Apr 2024 20:41:09 +0100 Subject: [PATCH 0718/2258] Remove support for .tmuxinator.yml files Only support .tmuxinator.yaml files --- bin/t | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/bin/t b/bin/t index 8e0a5089..d87ad906 100755 --- a/bin/t +++ b/bin/t @@ -53,13 +53,7 @@ if tmux has-session -t "${session_name}" 2> /dev/null; then fi # If a .tmux file exists, run it with the generated session name and path. -if [[ -e "${session_path}/.tmuxinator.yml" ]]; then - cd "${session_path}" && tmuxinator start - exit -elif [[ -e "${session_path}/.ignored/.tmuxinator.yml" ]]; then - cd "${session_path}" && tmuxinator start --project-config "${session_path}/.ignored/.tmuxinator.yml" - exit -elif [[ -e "${session_path}/.tmuxinator.yaml" ]]; then +if [[ -e "${session_path}/.tmuxinator.yaml" ]]; then cd "${session_path}" && tmuxinator start exit elif [[ -e "${session_path}/.ignored/.tmuxinator.yaml" ]]; then From 462eff64f227332d58c7c3652eeaa88b692c064d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 2 Apr 2024 01:23:38 +0100 Subject: [PATCH 0719/2258] Update lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 850e02c4..0292af54 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1711868868, - "narHash": "sha256-QpZanlbVu6Gb2K96u3vgu0F2BvZD74+fOsIFWcYEXoY=", + "lastModified": 1712016346, + "narHash": "sha256-O2nO7pD+krq+4HgkLB4VThRtAucIPfXDs/jJqCGlK1w=", "owner": "nix-community", "repo": "home-manager", - "rev": "30f2ec39519f4f5a8a96af808c439e730c15aeab", + "rev": "4be0464472675212654dedf3e021bd5f1d58b92f", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1711876351, - "narHash": "sha256-4+xB8yaIzbY4pUIPk4CY6UxLwNdoFG1FQKPrhxTd5cs=", + "lastModified": 1712017237, + "narHash": "sha256-c+QyYo4iaVX4UyDOWclN+IfNrbwWpmtpMWDzId2VC4M=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "339a29be1ffc7f707945aeff278a71487737ad9c", + "rev": "779687182ca0335a97f8d5ccb740735607576537", "type": "github" }, "original": { From 97abe951e4e52152341cb983dba5495b2931bea5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Apr 2024 20:04:05 +0100 Subject: [PATCH 0720/2258] Enable smart gaps in Sway --- lib/nixos/home-manager/modules/sway.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 8dcc853e..dd02257e 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -120,9 +120,9 @@ }]; gaps = { - inner = 0; + inner = 5; smartBorders = "on"; - # smartGaps = true; + smartGaps = true; }; input = { From 4a1ba1a4a83cc25fe615c39d16986bf42ac1ae49 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 4 Apr 2024 18:52:30 +0100 Subject: [PATCH 0721/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0292af54..89ff374a 100644 --- a/flake.lock +++ b/flake.lock @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1712017237, - "narHash": "sha256-c+QyYo4iaVX4UyDOWclN+IfNrbwWpmtpMWDzId2VC4M=", + "lastModified": 1712253123, + "narHash": "sha256-SeVmMmV1cZf2t7hTcZzou7k3IxscOg3LHO99IvnZtBE=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "779687182ca0335a97f8d5ccb740735607576537", + "rev": "40e05c6f70fd1376bb4828d7399594bd4388efd8", "type": "github" }, "original": { From 757c8b6b22538237822523555b1c21aa741afcbf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Apr 2024 01:36:40 +0100 Subject: [PATCH 0722/2258] Add atuin --- lib/shared/home-manager.nix | 1 + lib/shared/modules/atuin.nix | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 lib/shared/modules/atuin.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 82bba67b..5dfb8b4e 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -8,6 +8,7 @@ imports = [ (import ./modules/neovim.nix { inherit inputs; }) + ./modules/atuin.nix ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/atuin.nix b/lib/shared/modules/atuin.nix new file mode 100644 index 00000000..f99d093e --- /dev/null +++ b/lib/shared/modules/atuin.nix @@ -0,0 +1,6 @@ +{ + programs.atuin = { + enable = true; + enableZshIntegration = true; + }; +} From e8373f38d085eaef5e85686398acfb5f9f3acf1a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Apr 2024 01:37:53 +0100 Subject: [PATCH 0723/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 89ff374a..498b234e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1712016346, - "narHash": "sha256-O2nO7pD+krq+4HgkLB4VThRtAucIPfXDs/jJqCGlK1w=", + "lastModified": 1712390667, + "narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=", "owner": "nix-community", "repo": "home-manager", - "rev": "4be0464472675212654dedf3e021bd5f1d58b92f", + "rev": "b787726a8413e11b074cde42704b4af32d95545c", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1712163089, + "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1711668574, - "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", + "lastModified": 1712310679, + "narHash": "sha256-XgC/a/giEeNkhme/AV1ToipoZ/IVm1MV2ntiK4Tm+pw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", + "rev": "72da83d9515b43550436891f538ff41d68eecc7f", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1712253123, - "narHash": "sha256-SeVmMmV1cZf2t7hTcZzou7k3IxscOg3LHO99IvnZtBE=", + "lastModified": 1712448577, + "narHash": "sha256-z/b0NWzf9aMMCqDrDmK2fMwq8fCwik6hLW5Blb3cwdw=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "40e05c6f70fd1376bb4828d7399594bd4388efd8", + "rev": "305bb400b5f0bb475544ac633addd10e44106439", "type": "github" }, "original": { From 2027eb4d2b567235d4f7b2edd9333c7c14c667ba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Apr 2024 07:46:18 +0100 Subject: [PATCH 0724/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 498b234e..b8ab7aa2 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1712390667, - "narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=", + "lastModified": 1712462372, + "narHash": "sha256-WA3bbBWhd3o1wAgyHZNypjb/LG4oq+IWxFq8ey8yNPU=", "owner": "nix-community", "repo": "home-manager", - "rev": "b787726a8413e11b074cde42704b4af32d95545c", + "rev": "a561ad6ab38578c812cc9af3b04f2cc60ebf48c9", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712163089, - "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", + "lastModified": 1712439257, + "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", + "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1712310679, - "narHash": "sha256-XgC/a/giEeNkhme/AV1ToipoZ/IVm1MV2ntiK4Tm+pw=", + "lastModified": 1712437997, + "narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "72da83d9515b43550436891f538ff41d68eecc7f", + "rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1712448577, - "narHash": "sha256-z/b0NWzf9aMMCqDrDmK2fMwq8fCwik6hLW5Blb3cwdw=", + "lastModified": 1712558726, + "narHash": "sha256-cANHQ1ioJE4ZwV4DeklHrcEvkt2zKlZVQxvW9WJnFRo=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "305bb400b5f0bb475544ac633addd10e44106439", + "rev": "c65a97a40bce326a4dadaf33564ce6fda4bc1686", "type": "github" }, "original": { From 0171861a449e49926cbc0e6462c0fcb2903feffb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Apr 2024 13:01:54 +0100 Subject: [PATCH 0725/2258] Move `wsl2-*` commands to justfile --- justfile | 14 ++++++++++++++ run | 50 -------------------------------------------------- 2 files changed, 14 insertions(+), 50 deletions(-) delete mode 100755 run diff --git a/justfile b/justfile index 40392f09..0b6d34c1 100644 --- a/justfile +++ b/justfile @@ -15,3 +15,17 @@ nixos-test: update: nix flake update + +wsl-build: + NIXPKGS_ALLOW_UNFREE=1 home-manager build \ + --extra-experimental-features flakes \ + --extra-experimental-features nix-command \ + --flake ".#wsl2" \ + --impure + +wsl-switch: + NIXPKGS_ALLOW_UNFREE=1 home-manager switch \ + --extra-experimental-features flakes \ + --extra-experimental-features nix-command \ + --flake ".#wsl2" \ + --impure diff --git a/run b/run deleted file mode 100755 index 242d5e1b..00000000 --- a/run +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash - -set -eu - -# delete any temporary or generated files. -function clean { - rm -rf ./result -} - -# Display a list of all available commands. -function help { - printf "%s [args]\n\nTasks:\n" "${0}" - - compgen -A function | grep -v "^_" | cat -n - - printf "\nExtended help:\n Each task has comments for general usage\n" -} - -# Perform nixos-rebuild commands for a specified flake on NixOS. -function nixos { - clean - - local profile="${1}" - local command="${2}" - shift 2 - - sudo nixos-rebuild "${command}" \ - --flake ".#${profile}" "${@}" -} - -# Update the Nix Flake. -function update { - nix flake update -} - -# Perform home-manager commands on WSL2. -function wsl2 { - clean - - local command="${1}" - - NIXPKGS_ALLOW_UNFREE=1 home-manager "${command}" \ - --extra-experimental-features flakes \ - --extra-experimental-features nix-command \ - --flake ".#wsl2" \ - --impure -} - -TIMEFORMAT=$'\nTask completed in %3lR' -time "${@:-help}" From 5a38fdcb884d8590b25753308f04d95c5d40ca0b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Apr 2024 23:05:27 +0100 Subject: [PATCH 0726/2258] Include GitLab repositories are within multi-level ...directories --- bin/t | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bin/t b/bin/t index d87ad906..55e193ca 100755 --- a/bin/t +++ b/bin/t @@ -23,6 +23,15 @@ else ! -path "${HOME}/Code/tmp/*" ) + # Include GitLab repositories that are within multi-level project and group directories. + items+=" " + items+=$(find "${HOME}/Code/gitlab.com" \ + -maxdepth 4 \ + -mindepth 3 \ + -type d \ + ! -path "${HOME}/Code/gitlab.com/opdavies/wiki/*" \ + ) + # Add the top-level directories within ~/Code/tmp. items+=" " items+=$(find "${HOME}/Code/tmp" \ From 844a10074b7d3c9278cf64bdd1ca68fa65e7adad Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 Apr 2024 22:09:32 +0100 Subject: [PATCH 0727/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b8ab7aa2..47cbd0d6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1712462372, - "narHash": "sha256-WA3bbBWhd3o1wAgyHZNypjb/LG4oq+IWxFq8ey8yNPU=", + "lastModified": 1713019815, + "narHash": "sha256-jzTo97VeKMNfnKw3xU+uiU5C7wtnLudsbwl/nwPLC7s=", "owner": "nix-community", "repo": "home-manager", - "rev": "a561ad6ab38578c812cc9af3b04f2cc60ebf48c9", + "rev": "8fdf329526f06886b53b94ddf433848a0d142984", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712439257, - "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", + "lastModified": 1712791164, + "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", + "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1712437997, - "narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=", + "lastModified": 1712867921, + "narHash": "sha256-edTFV4KldkCMdViC/rmpJa7oLIU8SE/S35lh/ukC7bg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920", + "rev": "51651a540816273b67bc4dedea2d37d116c5f7fe", "type": "github" }, "original": { From 5a934bf843527a8829e78465da3c6888876a2313 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 Apr 2024 13:00:00 +0100 Subject: [PATCH 0728/2258] Add `clone` ZSH function --- lib/shared/modules/zsh.nix | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 6bd0e8e6..bf8b3ea4 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { programs.zsh = { enable = true; @@ -5,6 +7,38 @@ dotDir = ".config/zsh"; initExtra = '' + # Based on https://github.com/rwxrob/dot/blob/f4240010a82609da352b203103ab548f213a4328/.bashrc#L313. + clone() { + repo_url="$1" + + # TODO: work with Bitbucket and GitLab. + + user_and_repo_name="''${repo_url#https://github.com/}" + user_and_repo_name="''${repo_url#git@github.com:}" + + if [[ "''${user_and_repo_name}" =~ / ]]; then + user="''${user_and_repo_name%%/*}" + else + user="$GITUSER" + [[ -z "$user" ]] && user="$USER" + fi + + repo_name="''${user_and_repo_name##*/}" + repo_name="''${repo_name%.git}" + + user_path="''${HOME}/Code/github.com/''${user}" + + user_repo_path="''${user_path}/''${repo_name}" + [[ -d "''${user_repo_path}" ]] && cd "''${user_repo_path}" && return + + ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" + cd "''${user_path}" + + ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" + + # TODO: create a new tmux session with `bin/t`? + } + # Plugins source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" From 2074c748cb8e6526212fd292fa968b735465691d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 Apr 2024 13:00:00 +0100 Subject: [PATCH 0729/2258] Create new sessions using `bin/t` --- lib/shared/modules/zsh.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index bf8b3ea4..93ee422a 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -29,14 +29,15 @@ user_path="''${HOME}/Code/github.com/''${user}" user_repo_path="''${user_path}/''${repo_name}" - [[ -d "''${user_repo_path}" ]] && cd "''${user_repo_path}" && return + [[ -d "''${user_repo_path}" ]] && t "''${user_repo_path}" && return ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" - cd "''${user_path}" + pushd "''${user_path}" ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" - # TODO: create a new tmux session with `bin/t`? + popd + t "''${user_repo_path}" } # Plugins From d26ecee2eeb98e84de405711c7445dfb8dba96f5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 Apr 2024 18:05:55 +0100 Subject: [PATCH 0730/2258] Extract the remote URL from the repository URL --- lib/shared/modules/zsh.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 93ee422a..6e784963 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -23,12 +23,17 @@ [[ -z "$user" ]] && user="$USER" fi + # Extract the remote domain (e.g. github.com) from the repo URL. + domain="''${repo_url#*@}" + domain="''${domain%:*}" + repo_name="''${user_and_repo_name##*/}" repo_name="''${repo_name%.git}" - user_path="''${HOME}/Code/github.com/''${user}" + user_path="''${HOME}/Code/''${domain}/''${user}" user_repo_path="''${user_path}/''${repo_name}" + [[ -d "''${user_repo_path}" ]] && t "''${user_repo_path}" && return ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" From a57d60e1b43256baa40f23bec321220d08394a40 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 Apr 2024 23:04:42 +0100 Subject: [PATCH 0731/2258] Fix GitLab and Bitbucket URLs Remove GitLab and Bitbucket URLs when getting the user and repo name. --- lib/shared/modules/zsh.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 6e784963..6b5b8bc3 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -11,10 +11,15 @@ clone() { repo_url="$1" - # TODO: work with Bitbucket and GitLab. + # TODO: make it work with multi-level URLS - e.g. https://gitlab.com/a/b/c/d.git - user_and_repo_name="''${repo_url#https://github.com/}" - user_and_repo_name="''${repo_url#git@github.com:}" + user_and_repo_name="''${repo_url}" + user_and_repo_name="''${user_and_repo_name#git@bitbucket.com:}" + user_and_repo_name="''${user_and_repo_name#git@github.com:}" + user_and_repo_name="''${user_and_repo_name#git@gitlab.com:}" + user_and_repo_name="''${user_and_repo_name#https://bitbucket.com/}" + user_and_repo_name="''${user_and_repo_name#https://github.com/}" + user_and_repo_name="''${user_and_repo_name#https://gitlab.com/}" if [[ "''${user_and_repo_name}" =~ / ]]; then user="''${user_and_repo_name%%/*}" From a1f4782b6382ec563145ac862bfa57f7fc4c1c0d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 00:07:36 +0100 Subject: [PATCH 0732/2258] Use `git bare-clone` when cloning the repo --- lib/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 6b5b8bc3..abb1c603 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -44,7 +44,7 @@ ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" pushd "''${user_path}" - ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" + ${pkgs.git}/bin/git bare-clone "''${repo_url}" "''${repo_name}" popd t "''${user_repo_path}" From c0fabc4f2045954534c73c15fc2b807c78001d08 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 00:08:13 +0100 Subject: [PATCH 0733/2258] Rename variable --- lib/shared/modules/zsh.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index abb1c603..bde0f853 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -37,9 +37,9 @@ user_path="''${HOME}/Code/''${domain}/''${user}" - user_repo_path="''${user_path}/''${repo_name}" + repo_path="''${user_path}/''${repo_name}" - [[ -d "''${user_repo_path}" ]] && t "''${user_repo_path}" && return + [[ -d "''${repo_path}" ]] && t "''${repo_path}" && return ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" pushd "''${user_path}" From 51b6d6b8c50a8ff08540a6b2105890e294a346cd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 00:24:41 +0100 Subject: [PATCH 0734/2258] Add a REPOS environment variable --- lib/nixos/home-manager/default.nix | 1 + lib/shared/modules/zsh.nix | 2 +- lib/wsl2/default.nix | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 4741464a..07dec3cf 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -41,6 +41,7 @@ in { LC_CTYPE = "en_GB.UTF-8"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; + REPOS = "$HOME/Code"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; } diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index bde0f853..1fd316db 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -35,7 +35,7 @@ repo_name="''${user_and_repo_name##*/}" repo_name="''${repo_name%.git}" - user_path="''${HOME}/Code/''${domain}/''${user}" + user_path="''${REPOS}/''${domain}/''${user}" repo_path="''${user_path}/''${repo_name}" diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 2d6a226e..2f400a8a 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -24,6 +24,7 @@ in inputs.home-manager.lib.homeManagerConfiguration { EDITOR = "nvim"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; + REPOS = "$HOME/Code"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; }]; From d0e42b602f7adea3012aab5fbc17d25eb2a73d4e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 00:24:46 +0100 Subject: [PATCH 0735/2258] Echo the git clone command before running it --- lib/shared/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 1fd316db..c5b13d2f 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -44,6 +44,7 @@ ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" pushd "''${user_path}" + echo ${pkgs.git}/bin/git bare-clone "''${repo_url}" "''${repo_name}" ${pkgs.git}/bin/git bare-clone "''${repo_url}" "''${repo_name}" popd From c9b423c9a8de6cfd35ef8a6c66662fede7bb166c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 00:27:05 +0100 Subject: [PATCH 0736/2258] Fix repo path --- lib/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index c5b13d2f..bc1e1e17 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -48,7 +48,7 @@ ${pkgs.git}/bin/git bare-clone "''${repo_url}" "''${repo_name}" popd - t "''${user_repo_path}" + t "''${repo_path}" } # Plugins From 0227ad945bc6e2fd35fbb800c8fdf8a71450c507 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 07:39:28 +0100 Subject: [PATCH 0737/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 47cbd0d6..10e2dae3 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713019815, - "narHash": "sha256-jzTo97VeKMNfnKw3xU+uiU5C7wtnLudsbwl/nwPLC7s=", + "lastModified": 1713294767, + "narHash": "sha256-LmaabaQZdx52MPGKPRt9Opoc9Gd9RbwvCdysUUYQoXI=", "owner": "nix-community", "repo": "home-manager", - "rev": "8fdf329526f06886b53b94ddf433848a0d142984", + "rev": "fa8c16e2452bf092ac76f09ee1fb1e9f7d0796e7", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712791164, - "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", + "lastModified": 1713248628, + "narHash": "sha256-NLznXB5AOnniUtZsyy/aPWOk8ussTuePp2acb9U+ISA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", + "rev": "5672bc9dbf9d88246ddab5ac454e82318d094bb8", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1712867921, - "narHash": "sha256-edTFV4KldkCMdViC/rmpJa7oLIU8SE/S35lh/ukC7bg=", + "lastModified": 1713145326, + "narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "51651a540816273b67bc4dedea2d37d116c5f7fe", + "rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1712558726, - "narHash": "sha256-cANHQ1ioJE4ZwV4DeklHrcEvkt2zKlZVQxvW9WJnFRo=", + "lastModified": 1713305218, + "narHash": "sha256-tL9Vb/M470+cPi/kgOAW/p1byOocRDQcJCysSVgfdPc=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "c65a97a40bce326a4dadaf33564ce6fda4bc1686", + "rev": "16f47fa41e3e2a6ba7da27181f9ecdb7723b04a6", "type": "github" }, "original": { From bbfdb0362dde0ce2ef71a8a8d097df83d26587dd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 07:41:51 +0100 Subject: [PATCH 0738/2258] Add TODO for extracting the domain from HTTPS URLs --- lib/shared/modules/zsh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index bc1e1e17..30538bf3 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -29,6 +29,8 @@ fi # Extract the remote domain (e.g. github.com) from the repo URL. + # TODO: make it work with HTTPS URLs. + # Cloning https://github.com/opdavies/oliverdavies.uk.git returns "https" as the domain. domain="''${repo_url#*@}" domain="''${domain%:*}" From 39fa2a2fc51399649f14b5feb874334afb857be6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 08:48:28 +0100 Subject: [PATCH 0739/2258] Make clone work with HTTPS URL --- lib/shared/modules/zsh.nix | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 30538bf3..985f9bd6 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -11,6 +11,17 @@ clone() { repo_url="$1" + # Extract the remote domain (e.g. github.com) from the repo URL. + domain="''${repo_url#*://}" + if [[ "''${domain}" == *@*:* ]]; then + # SSH repo URL: domain ends at the colon. + domain="''${domain#*@}" + domain="''${domain%%:*}" + else + # HTTPS repo URL: domain ends at the slash. + domain="''${domain%%/*}" + fi + # TODO: make it work with multi-level URLS - e.g. https://gitlab.com/a/b/c/d.git user_and_repo_name="''${repo_url}" @@ -28,12 +39,6 @@ [[ -z "$user" ]] && user="$USER" fi - # Extract the remote domain (e.g. github.com) from the repo URL. - # TODO: make it work with HTTPS URLs. - # Cloning https://github.com/opdavies/oliverdavies.uk.git returns "https" as the domain. - domain="''${repo_url#*@}" - domain="''${domain%:*}" - repo_name="''${user_and_repo_name##*/}" repo_name="''${repo_name%.git}" From 0a54e63a168bb2653d1245b7992983d52e1086b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 09:00:00 +0100 Subject: [PATCH 0740/2258] Fix Bitbucket URL --- lib/shared/modules/zsh.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 985f9bd6..276d14c8 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -25,10 +25,10 @@ # TODO: make it work with multi-level URLS - e.g. https://gitlab.com/a/b/c/d.git user_and_repo_name="''${repo_url}" - user_and_repo_name="''${user_and_repo_name#git@bitbucket.com:}" + user_and_repo_name="''${user_and_repo_name#git@bitbucket.org:}" user_and_repo_name="''${user_and_repo_name#git@github.com:}" user_and_repo_name="''${user_and_repo_name#git@gitlab.com:}" - user_and_repo_name="''${user_and_repo_name#https://bitbucket.com/}" + user_and_repo_name="''${user_and_repo_name#https://bitbucket.org/}" user_and_repo_name="''${user_and_repo_name#https://github.com/}" user_and_repo_name="''${user_and_repo_name#https://gitlab.com/}" From 5897faed0c861575e9e7f5d9eeb597be1302dc88 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 18 Apr 2024 19:52:03 +0100 Subject: [PATCH 0741/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 10e2dae3..6dda79a4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713294767, - "narHash": "sha256-LmaabaQZdx52MPGKPRt9Opoc9Gd9RbwvCdysUUYQoXI=", + "lastModified": 1713453913, + "narHash": "sha256-vbXq52VRlL1defMHrwhsoeHm95O3mFefsSSJyNEghbA=", "owner": "nix-community", "repo": "home-manager", - "rev": "fa8c16e2452bf092ac76f09ee1fb1e9f7d0796e7", + "rev": "178e26895b3aef028a00a32fb7e7ed0fc660645c", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1713145326, - "narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=", + "lastModified": 1713344939, + "narHash": "sha256-jpHkAt0sG2/J7ueKnG7VvLLkBYUMQbXQ2L8OBpVG53s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e", + "rev": "e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1713305218, - "narHash": "sha256-tL9Vb/M470+cPi/kgOAW/p1byOocRDQcJCysSVgfdPc=", + "lastModified": 1713381246, + "narHash": "sha256-qFMS8muyKWBT90i+keEW7B4PHnnbX2QAvijz/ZmNk24=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "16f47fa41e3e2a6ba7da27181f9ecdb7723b04a6", + "rev": "942e334cb57e1ceff45111ed73d18591347dc313", "type": "github" }, "original": { From 0bbd536e3e090a62f3f4f97db2999d180bf0995d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 19 Apr 2024 21:37:39 +0100 Subject: [PATCH 0742/2258] Use fzf for searching zsh history --- lib/shared/home-manager.nix | 1 - lib/shared/modules/atuin.nix | 6 ------ lib/shared/modules/zsh.nix | 1 + 3 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 lib/shared/modules/atuin.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 5dfb8b4e..82bba67b 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -8,7 +8,6 @@ imports = [ (import ./modules/neovim.nix { inherit inputs; }) - ./modules/atuin.nix ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/atuin.nix b/lib/shared/modules/atuin.nix deleted file mode 100644 index f99d093e..00000000 --- a/lib/shared/modules/atuin.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.atuin = { - enable = true; - enableZshIntegration = true; - }; -} diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 276d14c8..48884753 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -263,6 +263,7 @@ name = "plugin/vi-mode"; tags = [ "from:oh-my-zsh" ]; } + { name = "joshskidmore/zsh-fzf-history-search"; } { name = "mollifier/cd-gitroot"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } From 1f447ad8dccd2af2dd2ef7b63b6202f6a257b3ed Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 22 Apr 2024 23:06:37 +0100 Subject: [PATCH 0743/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6dda79a4..16e93c66 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713453913, - "narHash": "sha256-vbXq52VRlL1defMHrwhsoeHm95O3mFefsSSJyNEghbA=", + "lastModified": 1713818326, + "narHash": "sha256-aw3xbVPJauLk/bbrlakIYxKpeuMWzA2feGrkIpIuXd8=", "owner": "nix-community", "repo": "home-manager", - "rev": "178e26895b3aef028a00a32fb7e7ed0fc660645c", + "rev": "67de98ae6eed5ad6f91b1142356d71a87ba97f21", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713248628, - "narHash": "sha256-NLznXB5AOnniUtZsyy/aPWOk8ussTuePp2acb9U+ISA=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5672bc9dbf9d88246ddab5ac454e82318d094bb8", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1713344939, - "narHash": "sha256-jpHkAt0sG2/J7ueKnG7VvLLkBYUMQbXQ2L8OBpVG53s=", + "lastModified": 1713725259, + "narHash": "sha256-9ZR/Rbx5/Z/JZf5ehVNMoz/s5xjpP0a22tL6qNvLt5E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd", + "rev": "a5e4bbcb4780c63c79c87d29ea409abf097de3f7", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1713381246, - "narHash": "sha256-qFMS8muyKWBT90i+keEW7B4PHnnbX2QAvijz/ZmNk24=", + "lastModified": 1713819427, + "narHash": "sha256-sltmf1TAKMLzxaTyUHVIc9un+0O/kTnFC/YT7fsLKrQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "942e334cb57e1ceff45111ed73d18591347dc313", + "rev": "4fa91b97203ecf636436ea99d8f9f76478a112f6", "type": "github" }, "original": { From e8835f858effc615f27984352d29e3aa2e5ed19c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Apr 2024 22:28:16 +0100 Subject: [PATCH 0744/2258] Add commands to start and stop Traefik --- bin/start-traefik | 9 +++++++++ bin/stop-traefik | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100755 bin/start-traefik create mode 100755 bin/stop-traefik diff --git a/bin/start-traefik b/bin/start-traefik new file mode 100755 index 00000000..c155e7e7 --- /dev/null +++ b/bin/start-traefik @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset + +cd "${REPOS}/github.com/opdavies/traefik-development" + +docker compose up --detach +docker container ps diff --git a/bin/stop-traefik b/bin/stop-traefik new file mode 100755 index 00000000..813e3c2c --- /dev/null +++ b/bin/stop-traefik @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset + +docker container stop traefik-development-reverse-proxy-1 +docker container ps From 022fb2d986c3344ab30e64ccc7ba37cdce6d1973 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Apr 2024 22:56:39 +0100 Subject: [PATCH 0745/2258] Fix warnings --- flake.nix | 4 ++-- lib/nixos/modules/sway.nix | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 8d3b0329..aae9bc66 100644 --- a/flake.nix +++ b/flake.nix @@ -22,11 +22,11 @@ mkNixos = import ./lib/nixos { inherit inputs self username; }; mkWsl = import ./lib/wsl2 { inherit inputs self username; }; - inherit (pkgs) just mkShell nixfmt; + inherit (pkgs) just mkShell; in { packages.${system}.default = mkShell { buildInputs = [ just ]; }; - formatter.${system} = nixfmt; + formatter.${system} = pkgs.nixfmt-classic; nixosConfigurations = { apollo = mkNixos { diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix index 84e6bed9..5cd69f92 100644 --- a/lib/nixos/modules/sway.nix +++ b/lib/nixos/modules/sway.nix @@ -1,11 +1,9 @@ { inputs, username, ... }: { pkgs, ... }: { services = { - xserver = { - displayManager = { - defaultSession = "sway"; - sddm.enable = true; - }; + displayManager = { + defaultSession = "sway"; + sddm.enable = true; }; }; From e28f2816ef585c08e8fce3d6c5365a2c036b894a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Apr 2024 23:08:36 +0100 Subject: [PATCH 0746/2258] Move `~/.config/bin` to `~/bin` --- lib/shared/modules/bin.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/bin.nix b/lib/shared/modules/bin.nix index 3048523a..10aa7fc5 100644 --- a/lib/shared/modules/bin.nix +++ b/lib/shared/modules/bin.nix @@ -1,7 +1,7 @@ { self, ... }: { - home.sessionPath = [ "$HOME/.config/bin" ]; + home.sessionPath = [ "$HOME/bin" ]; - xdg.configFile.bin = { + home.file.bin = { source = "${self}/bin"; recursive = true; }; From d4f347186d24d7a4a389ac74867cc3e790e7f843 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 Apr 2024 22:08:38 +0100 Subject: [PATCH 0747/2258] Use a regular git clone --- lib/shared/modules/zsh.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 48884753..9a96c575 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -51,8 +51,8 @@ ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" pushd "''${user_path}" - echo ${pkgs.git}/bin/git bare-clone "''${repo_url}" "''${repo_name}" - ${pkgs.git}/bin/git bare-clone "''${repo_url}" "''${repo_name}" + echo ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" + ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" popd t "''${repo_path}" From cd526e953f2f08c78ac19d2f2c6ed7723831f85c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 Apr 2024 22:13:37 +0100 Subject: [PATCH 0748/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 16e93c66..37274c3d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713818326, - "narHash": "sha256-aw3xbVPJauLk/bbrlakIYxKpeuMWzA2feGrkIpIuXd8=", + "lastModified": 1713906585, + "narHash": "sha256-fv84DCOkBtjF6wMATt0rfovu7e95L8rdEkSfNbwKR3U=", "owner": "nix-community", "repo": "home-manager", - "rev": "67de98ae6eed5ad6f91b1142356d71a87ba97f21", + "rev": "bfa7c06436771e3a0c666ccc6ee01e815d4c33aa", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713714899, - "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "lastModified": 1713895582, + "narHash": "sha256-cfh1hi+6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", + "rev": "572af610f6151fd41c212f897c71f7056e3fb518", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1713725259, - "narHash": "sha256-9ZR/Rbx5/Z/JZf5ehVNMoz/s5xjpP0a22tL6qNvLt5E=", + "lastModified": 1713828541, + "narHash": "sha256-KtvQeE12MSkCOhvVmnmcZCjnx7t31zWin2XVSDOwBDE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a5e4bbcb4780c63c79c87d29ea409abf097de3f7", + "rev": "b500489fd3cf653eafc075f9362423ad5cdd8676", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1713819427, - "narHash": "sha256-sltmf1TAKMLzxaTyUHVIc9un+0O/kTnFC/YT7fsLKrQ=", + "lastModified": 1713990935, + "narHash": "sha256-IgJkkOjIkQ4kMBGK0uggoRQ5aamx3QkaPOmP3j2x6q4=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "4fa91b97203ecf636436ea99d8f9f76478a112f6", + "rev": "50944ccc71eb6e5529aca1662137c3115832fa72", "type": "github" }, "original": { From cf71b2b6bb4f608b7695ee11b579a99ada93950c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 Apr 2024 23:17:16 +0100 Subject: [PATCH 0749/2258] Restructure GitLab repository structure --- bin/t | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/bin/t b/bin/t index 55e193ca..81960298 100755 --- a/bin/t +++ b/bin/t @@ -23,16 +23,8 @@ else ! -path "${HOME}/Code/tmp/*" ) - # Include GitLab repositories that are within multi-level project and group directories. - items+=" " - items+=$(find "${HOME}/Code/gitlab.com" \ - -maxdepth 4 \ - -mindepth 3 \ - -type d \ - ! -path "${HOME}/Code/gitlab.com/opdavies/wiki/*" \ - ) - # Add the top-level directories within ~/Code/tmp. + # TODO: only do this if the ~/Code/tmp directory exists. items+=" " items+=$(find "${HOME}/Code/tmp" \ -maxdepth 1 \ From 57e4f05d12a0c9bcb4a99b351370dfe59c0a8f52 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 25 Apr 2024 13:00:00 +0100 Subject: [PATCH 0750/2258] Add `ddev` and `mkcert` --- lib/nixos/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 409ca1f5..e01a1493 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -111,7 +111,9 @@ in { [ brightnessctl configure-gtk + ddev ffmpegthumbnailer + mkcert shotwell xfce.thunar xfce.thunar-volman From 95e527be22704736bbd4cfd790a6620ed51e8cd3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 Apr 2024 08:46:09 +0100 Subject: [PATCH 0751/2258] Add vscode for testing xdebug --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index e01a1493..9ab14731 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -130,6 +130,7 @@ in { spotify teams-for-linux todoist-electron + vscode # Games. zeroad From 5d5031c01b185f2681f04d2d5b9cd3fd37491da9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 Apr 2024 08:46:35 +0100 Subject: [PATCH 0752/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 37274c3d..da274a54 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713906585, - "narHash": "sha256-fv84DCOkBtjF6wMATt0rfovu7e95L8rdEkSfNbwKR3U=", + "lastModified": 1714430505, + "narHash": "sha256-SSJQ/KOy8uISnoZgqDoRha7g7PFLSFP/BtMWm0wUz8Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "bfa7c06436771e3a0c666ccc6ee01e815d4c33aa", + "rev": "f8e6694edabe4aaa7a85aac47b43ea5d978b116d", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713895582, - "narHash": "sha256-cfh1hi+6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U=", + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "572af610f6151fd41c212f897c71f7056e3fb518", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1713828541, - "narHash": "sha256-KtvQeE12MSkCOhvVmnmcZCjnx7t31zWin2XVSDOwBDE=", + "lastModified": 1714272655, + "narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b500489fd3cf653eafc075f9362423ad5cdd8676", + "rev": "12430e43bd9b81a6b4e79e64f87c624ade701eaf", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1713990935, - "narHash": "sha256-IgJkkOjIkQ4kMBGK0uggoRQ5aamx3QkaPOmP3j2x6q4=", + "lastModified": 1714459099, + "narHash": "sha256-smI+SMvtrmIsgrc46tzxniAxWa5aOc1dAXExVaC+RtA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "50944ccc71eb6e5529aca1662137c3115832fa72", + "rev": "8059264ca9ecfc527163c156f2cc1779d03488af", "type": "github" }, "original": { From ba681a9cdfdacb3787fa19f518726181c7f83b87 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 Apr 2024 20:40:06 +0100 Subject: [PATCH 0753/2258] Allow for firewall connections to xdebug --- lib/nixos/configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 9ab14731..c9696b52 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -150,7 +150,9 @@ in { services.openssh.enable = true; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ + 9003 # xdebug + ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # networking.firewall.enable = false; From b3d360e4212e0fe39d30cbf5b457bfbc0e934c60 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 Apr 2024 21:00:04 +0100 Subject: [PATCH 0754/2258] Run `kanshi` when reloading sway --- lib/nixos/home-manager/modules/sway.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index dd02257e..89135818 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -162,6 +162,7 @@ extraConfig = '' exec_always ${pkgs.autotiling}/bin/autotiling + exec_always ${pkgs.kanshi}/bin/kanshi set $laptop eDP-1 bindswitch --reload --locked lid:on output $laptop disable From 3d8493f0503d5899027db58a5ba4ee1ff491713f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 2 May 2024 12:54:05 +0100 Subject: [PATCH 0755/2258] Add syncthing as a service --- lib/shared/home-manager.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 82bba67b..97f2fad3 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -6,6 +6,8 @@ programs.home-manager.enable = true; + services.syncthing.enable = true; + imports = [ (import ./modules/neovim.nix { inherit inputs; }) ./modules/bat.nix From 41167cf442527631ea9d1ce9d89d91fd985bd4d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 2 May 2024 17:29:35 +0100 Subject: [PATCH 0756/2258] Move syncthing into its own module --- lib/shared/home-manager.nix | 3 +-- lib/shared/modules/syncthing.nix | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 lib/shared/modules/syncthing.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 97f2fad3..def84ae0 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -6,8 +6,6 @@ programs.home-manager.enable = true; - services.syncthing.enable = true; - imports = [ (import ./modules/neovim.nix { inherit inputs; }) ./modules/bat.nix @@ -20,6 +18,7 @@ ./modules/phpactor.nix ./modules/ripgrep.nix ./modules/starship.nix + ./modules/syncthing.nix ./modules/tmux.nix ./modules/zsh.nix ]; diff --git a/lib/shared/modules/syncthing.nix b/lib/shared/modules/syncthing.nix new file mode 100644 index 00000000..d496e5e3 --- /dev/null +++ b/lib/shared/modules/syncthing.nix @@ -0,0 +1 @@ +{ services.syncthing.enable = true; } From 2835bcd6cdc1b01ec39d8493d3a6e68c061de5cc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 2 May 2024 17:30:14 +0100 Subject: [PATCH 0757/2258] Make Prefix+W open the wiki directory --- lib/shared/modules/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 72d7b4fd..ca810dd4 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -99,7 +99,7 @@ in { bind-key -r F new-window t bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.nix" bind-key -r N run-shell "t ~/Code/github.com/opdavies/opdavies.nvim" - bind-key -r W run-shell "t ~/Code/github.com/opdavies/oliverdavies.uk" + bind-key -r W run-shell "t ~/Documents/wiki" set -g @resurrect-strategy-nvim 'session' ''; From 58e7ca413ba7843bf1dfb640e5685d6a4768ee4c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 2 May 2024 18:00:01 +0100 Subject: [PATCH 0758/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index da274a54..125bbab2 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1714430505, - "narHash": "sha256-SSJQ/KOy8uISnoZgqDoRha7g7PFLSFP/BtMWm0wUz8Q=", + "lastModified": 1714515075, + "narHash": "sha256-azMK7aWH0eUc3IqU4Fg5rwZdB9WZBvimOGG3piqvtsY=", "owner": "nix-community", "repo": "home-manager", - "rev": "f8e6694edabe4aaa7a85aac47b43ea5d978b116d", + "rev": "6d3b6dc9222c12b951169becdf4b0592ee9576ef", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1714272655, - "narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=", + "lastModified": 1714531828, + "narHash": "sha256-ILsf3bdY/hNNI/Hu5bSt2/KbmHaAVhBbNUOdGztTHEg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12430e43bd9b81a6b4e79e64f87c624ade701eaf", + "rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1714459099, - "narHash": "sha256-smI+SMvtrmIsgrc46tzxniAxWa5aOc1dAXExVaC+RtA=", + "lastModified": 1714666732, + "narHash": "sha256-/MJzspSQIiQ/kcTyaiVDBT1NWrgqoCHaYgL1IwkFcYI=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "8059264ca9ecfc527163c156f2cc1779d03488af", + "rev": "a823cb2d01692a26ce99c1c92750329d940160e7", "type": "github" }, "original": { From fd6b1f4a7548c022856eb4d8bdeb076ad20d076b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 3 May 2024 23:38:32 +0100 Subject: [PATCH 0759/2258] Simplify code repository directory structure --- bin/t | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/bin/t b/bin/t index 81960298..4e26984d 100755 --- a/bin/t +++ b/bin/t @@ -11,29 +11,19 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - # Find all project directories within ~/Code, ignoring ~/Code/tmp as those - # are only at a single level and I don't want sub-directories within those - # directories to be shown. - items+=$(find "${HOME}/Code" \ - -maxdepth 3 \ - -mindepth 3 \ - -type d \ - ! -name "*-old" \ - ! -name "*.old" \ - ! -path "${HOME}/Code/tmp/*" - ) - - # Add the top-level directories within ~/Code/tmp. - # TODO: only do this if the ~/Code/tmp directory exists. - items+=" " - items+=$(find "${HOME}/Code/tmp" \ - -maxdepth 1 \ + items=$(find "${HOME}/Code" \ + -maxdepth 2 \ -mindepth 1 \ -type d \ ! -name "*-old" \ ! -name "*.old" ) + if [[ -d "${HOME}/Documents/wiki" ]]; then + items+=" " + items+="${HOME}/Documents/wiki" + fi + selected=$(echo "${items}" | tr ' ' "\n" | sort | fzf --reverse) fi From 5ecf13ccb623b984b273b6622e131f019d836471 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 01:34:16 +0100 Subject: [PATCH 0760/2258] Update the suggested directories in `bin/t` --- bin/t | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/bin/t b/bin/t index 4e26984d..cffec626 100755 --- a/bin/t +++ b/bin/t @@ -11,20 +11,13 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find "${HOME}/Code" \ - -maxdepth 2 \ - -mindepth 1 \ - -type d \ + items=$(find ~/Code/* ~ ~/Documents \ + -maxdepth 1 -mindepth 1 -type d \ ! -name "*-old" \ ! -name "*.old" ) - if [[ -d "${HOME}/Documents/wiki" ]]; then - items+=" " - items+="${HOME}/Documents/wiki" - fi - - selected=$(echo "${items}" | tr ' ' "\n" | sort | fzf --reverse) + selected=$(echo "${items}" | fzf) fi if [[ -z "${selected}" ]]; then From fa51601efcc6036a8fb749e8e3691e83c7d7ea60 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 11:49:57 +0100 Subject: [PATCH 0761/2258] Update lock file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 125bbab2..712b829c 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1714515075, - "narHash": "sha256-azMK7aWH0eUc3IqU4Fg5rwZdB9WZBvimOGG3piqvtsY=", + "lastModified": 1714679908, + "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", "owner": "nix-community", "repo": "home-manager", - "rev": "6d3b6dc9222c12b951169becdf4b0592ee9576ef", + "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "lastModified": 1714635257, + "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1714531828, - "narHash": "sha256-ILsf3bdY/hNNI/Hu5bSt2/KbmHaAVhBbNUOdGztTHEg=", + "lastModified": 1714685007, + "narHash": "sha256-Q4ddhb5eC5pwci0QhAapFwnsc8X8H9ZMQiWpsofBsDc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1", + "rev": "383ffe076d9b633a2e97b6e4dd97fc15fcf30159", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1714666732, - "narHash": "sha256-/MJzspSQIiQ/kcTyaiVDBT1NWrgqoCHaYgL1IwkFcYI=", + "lastModified": 1714774006, + "narHash": "sha256-QsnQT5uHVz23CnUGXtUSyyepVqFNhBCBmtRb7qoBAOE=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "a823cb2d01692a26ce99c1c92750329d940160e7", + "rev": "94e6c8ab1395b4bd7e904f5e386fc5237e3c31ce", "type": "github" }, "original": { From c93dbad0db22239a67dcd60a23ab1bfacff26e1d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 12:03:09 +0100 Subject: [PATCH 0762/2258] Stop automatically assigning apps to workspaces --- lib/nixos/home-manager/modules/sway.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 89135818..15616155 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -98,14 +98,6 @@ xwayland = true; config = { - assigns = { - "1" = [{ app_id = "firefox"; }]; - "2" = [{ app_id = "Alacritty"; }]; - "3" = [{ class = "vlc"; }]; - "9" = [ { class = "Slack"; } { class = "discord"; } ]; - # Get app_id with swaymsg -t get_tree - }; - bars = [{ colors.background = "#222222"; From f831574d9c0c14979a4a79e857203c073686241d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 16:58:06 +0100 Subject: [PATCH 0763/2258] Sway configuration - Remove commented-out code. - Set colours. - Set the default workspace. --- lib/nixos/home-manager/modules/sway.nix | 60 ++++++++----------------- 1 file changed, 19 insertions(+), 41 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 15616155..ec13be71 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -1,40 +1,6 @@ { config, inputs, pkgs, ... }: { - # services.swayidle = { - # enable = true; - # - # events = [ - # { - # event = "before-sleep"; - # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpape - # /wallpaper.jpg"; - # } - # ]; - # }; - - # services.swayidle.timeouts = [ - # { - # timeout = 300; - # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; - # } - # - # { - # timeout = 600; - # command = "swaymsg 'output * dpms off'"; - # resumeCommand = "swaymsg 'output * dpms on'"; - # } - # ]; - - # programs.swaylock = { - # enable = true; - # - # settings = { - # daemonize = true; - # image = "~/.config/wallpaper/wallpaper.jpg"; - # }; - # }; - programs.i3status-rust = { enable = true; @@ -76,15 +42,15 @@ theme = { theme = "plain"; overrides = { - critical_bg = "#222222"; - good_bg = "#222222"; + critical_bg = "#121212"; + good_bg = "#121212"; good_fg = "#ffffff"; - idle_bg = "#222222"; + idle_bg = "#121212"; idle_fg = "#ffffff"; - info_bg = "#222222"; + info_bg = "#121212"; info_fg = "#ffffff"; - separator_bg = "#222222"; - warning_bg = "#222222"; + separator_bg = "#121212"; + warning_bg = "#121212"; warning_fg = "#ffffff"; }; }; @@ -99,7 +65,17 @@ config = { bars = [{ - colors.background = "#222222"; + colors = { + background = "#161616"; + separator = "#333333"; + statusline = "#ffffff"; + + focusedWorkspace = { + background = "#555555"; + border = "#444444"; + text = "#ffffff"; + }; + }; fonts = { names = [ "JetBrainsMono Nerd Font Mono" ]; @@ -111,6 +87,8 @@ trayPadding = 5; }]; + defaultWorkspace = "workspace number 1"; + gaps = { inner = 5; smartBorders = "on"; From b88be581900b3c0429603025fcb43c843730ea5a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 19:02:32 +0100 Subject: [PATCH 0764/2258] Add `~/Code/work` and `~/Code/personal` to the ...suggestions --- bin/t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/t b/bin/t index cffec626..d993fff6 100755 --- a/bin/t +++ b/bin/t @@ -11,7 +11,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code/* ~ ~/Documents \ + items=$(find ~/Code/* ~/Code ~ ~/Documents \ -maxdepth 1 -mindepth 1 -type d \ ! -name "*-old" \ ! -name "*.old" From 93f4cb09d7784da4db79ca73713805ce3655c012 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 20:04:31 +0100 Subject: [PATCH 0765/2258] Revert "Sway configuration" This reverts commit f831574d9c0c14979a4a79e857203c073686241d. --- lib/nixos/home-manager/modules/sway.nix | 60 +++++++++++++++++-------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index ec13be71..15616155 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -1,6 +1,40 @@ { config, inputs, pkgs, ... }: { + # services.swayidle = { + # enable = true; + # + # events = [ + # { + # event = "before-sleep"; + # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpape + # /wallpaper.jpg"; + # } + # ]; + # }; + + # services.swayidle.timeouts = [ + # { + # timeout = 300; + # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; + # } + # + # { + # timeout = 600; + # command = "swaymsg 'output * dpms off'"; + # resumeCommand = "swaymsg 'output * dpms on'"; + # } + # ]; + + # programs.swaylock = { + # enable = true; + # + # settings = { + # daemonize = true; + # image = "~/.config/wallpaper/wallpaper.jpg"; + # }; + # }; + programs.i3status-rust = { enable = true; @@ -42,15 +76,15 @@ theme = { theme = "plain"; overrides = { - critical_bg = "#121212"; - good_bg = "#121212"; + critical_bg = "#222222"; + good_bg = "#222222"; good_fg = "#ffffff"; - idle_bg = "#121212"; + idle_bg = "#222222"; idle_fg = "#ffffff"; - info_bg = "#121212"; + info_bg = "#222222"; info_fg = "#ffffff"; - separator_bg = "#121212"; - warning_bg = "#121212"; + separator_bg = "#222222"; + warning_bg = "#222222"; warning_fg = "#ffffff"; }; }; @@ -65,17 +99,7 @@ config = { bars = [{ - colors = { - background = "#161616"; - separator = "#333333"; - statusline = "#ffffff"; - - focusedWorkspace = { - background = "#555555"; - border = "#444444"; - text = "#ffffff"; - }; - }; + colors.background = "#222222"; fonts = { names = [ "JetBrainsMono Nerd Font Mono" ]; @@ -87,8 +111,6 @@ trayPadding = 5; }]; - defaultWorkspace = "workspace number 1"; - gaps = { inner = 5; smartBorders = "on"; From e967b5b7fd31859593f51d3949b24a9bf027076a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 20:05:01 +0100 Subject: [PATCH 0766/2258] Remove commented-out code --- lib/nixos/home-manager/modules/sway.nix | 34 ------------------------- 1 file changed, 34 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 15616155..bb705893 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -1,40 +1,6 @@ { config, inputs, pkgs, ... }: { - # services.swayidle = { - # enable = true; - # - # events = [ - # { - # event = "before-sleep"; - # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpape - # /wallpaper.jpg"; - # } - # ]; - # }; - - # services.swayidle.timeouts = [ - # { - # timeout = 300; - # command = "${pkgs.swaylock}/bin/swaylock --daemonize --image ~/.config/wallpaper/wallpaper.jpg"; - # } - # - # { - # timeout = 600; - # command = "swaymsg 'output * dpms off'"; - # resumeCommand = "swaymsg 'output * dpms on'"; - # } - # ]; - - # programs.swaylock = { - # enable = true; - # - # settings = { - # daemonize = true; - # image = "~/.config/wallpaper/wallpaper.jpg"; - # }; - # }; - programs.i3status-rust = { enable = true; From cb56b55f42084c8c5e3a77f0d6d1d49411628b78 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 20:06:42 +0100 Subject: [PATCH 0767/2258] Set the default workspace --- lib/nixos/home-manager/modules/sway.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index bb705893..5bdc249f 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -77,6 +77,8 @@ trayPadding = 5; }]; + defaultWorkspace = "workspace number 1"; + gaps = { inner = 5; smartBorders = "on"; From 90a1ca81aabcb6391edb9e5090be7769a9524beb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 21:17:36 +0100 Subject: [PATCH 0768/2258] Remove starship --- lib/shared/home-manager.nix | 1 - lib/shared/modules/starship.nix | 1 - 2 files changed, 2 deletions(-) delete mode 100644 lib/shared/modules/starship.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index def84ae0..39917677 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -17,7 +17,6 @@ ./modules/nnn.nix ./modules/phpactor.nix ./modules/ripgrep.nix - ./modules/starship.nix ./modules/syncthing.nix ./modules/tmux.nix ./modules/zsh.nix diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix deleted file mode 100644 index 88660a48..00000000 --- a/lib/shared/modules/starship.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.starship.enable = true; } From e3dda9ade8525393fa4a4aa68b3b1e8802f5f73d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 21:43:40 +0100 Subject: [PATCH 0769/2258] Add directories within `/tmp` --- bin/t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/t b/bin/t index d993fff6..95e5f853 100755 --- a/bin/t +++ b/bin/t @@ -11,7 +11,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code/* ~/Code ~ ~/Documents \ + items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ -maxdepth 1 -mindepth 1 -type d \ ! -name "*-old" \ ! -name "*.old" From 7beeb924f7cbd5e61e54ddb3307b94f8f4a2d098 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 4 May 2024 21:52:21 +0100 Subject: [PATCH 0770/2258] Move `bin` into my `.local` directory --- lib/shared/modules/bin.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/bin.nix b/lib/shared/modules/bin.nix index 10aa7fc5..99ce67e8 100644 --- a/lib/shared/modules/bin.nix +++ b/lib/shared/modules/bin.nix @@ -1,7 +1,7 @@ { self, ... }: { - home.sessionPath = [ "$HOME/bin" ]; + home.sessionPath = [ "$HOME/.local/bin" ]; - home.file.bin = { + home.file.".local/bin" = { source = "${self}/bin"; recursive = true; }; From c99f23be11e424c43f2b9b797986f3de69cfc8e9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 5 May 2024 11:55:58 +0100 Subject: [PATCH 0771/2258] Source the zsh-fzf-history-search plugin --- lib/shared/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 9a96c575..8bdceb55 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -59,6 +59,7 @@ } # Plugins + source "''${ZPLUG_REPOS}/joshskidmore/zsh-fzf-history-search/zsh-fzf-history-search.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" From 8bd3e9388883112f6944ef653f8ed376c781ebbb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 5 May 2024 20:21:13 +0100 Subject: [PATCH 0772/2258] Include .tmux.conf.local file if it exists --- lib/shared/modules/tmux.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index ca810dd4..7f73be20 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -102,6 +102,8 @@ in { bind-key -r W run-shell "t ~/Documents/wiki" set -g @resurrect-strategy-nvim 'session' + + if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; plugins = From 874e5a750e03c8e79a0fc07bd72f3671253f9935 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 5 May 2024 20:22:00 +0100 Subject: [PATCH 0773/2258] Update background colours --- lib/nixos/home-manager/modules/sway.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 5bdc249f..65ac7da1 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -42,15 +42,15 @@ theme = { theme = "plain"; overrides = { - critical_bg = "#222222"; - good_bg = "#222222"; + critical_bg = "#111111"; + good_bg = "#111111"; good_fg = "#ffffff"; - idle_bg = "#222222"; + idle_bg = "#111111"; idle_fg = "#ffffff"; - info_bg = "#222222"; + info_bg = "#111111"; info_fg = "#ffffff"; - separator_bg = "#222222"; - warning_bg = "#222222"; + separator_bg = "#111111"; + warning_bg = "#111111"; warning_fg = "#ffffff"; }; }; @@ -65,7 +65,7 @@ config = { bars = [{ - colors.background = "#222222"; + colors.background = "#111111"; fonts = { names = [ "JetBrainsMono Nerd Font Mono" ]; From 636d928fc8412e66b36f1ebeb50e53197ff46aae Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 6 May 2024 10:53:16 +0100 Subject: [PATCH 0774/2258] Replace periods with underscores in session names --- bin/t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/t b/bin/t index 95e5f853..aec2f0d9 100755 --- a/bin/t +++ b/bin/t @@ -24,7 +24,7 @@ if [[ -z "${selected}" ]]; then exit 0 fi -session_name=$(basename "${selected}" | sed 's/\./-/g') +session_name=$(basename "${selected}" | sed 's/\./_/g') session_path="${selected}" # Git worktrees. From 6308026365169513d5dd9f5d638cb6dda021f8fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 6 May 2024 14:33:55 +0100 Subject: [PATCH 0775/2258] Update opdavies.nvim path --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index aae9bc66..3c6bac53 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; - # opdavies-nvim.url = "path:/home/opdavies/Code/github.com/opdavies/opdavies.nvim"; + # opdavies-nvim.url = "path:/home/opdavies/Code/personal/opdavies.nvim"; }; outputs = { nixpkgs, self, ... }@inputs: From 0c7d16a053eb964324d9e55146141821d5854152 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 6 May 2024 14:34:05 +0100 Subject: [PATCH 0776/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 712b829c..266bfe5c 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1714679908, - "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", "owner": "nix-community", "repo": "home-manager", - "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714635257, - "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", + "lastModified": 1714906307, + "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", + "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1714685007, - "narHash": "sha256-Q4ddhb5eC5pwci0QhAapFwnsc8X8H9ZMQiWpsofBsDc=", + "lastModified": 1714782413, + "narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "383ffe076d9b633a2e97b6e4dd97fc15fcf30159", + "rev": "651b4702e27a388f0f18e1b970534162dec09aff", "type": "github" }, "original": { From 12cfadd5641e0e76c48e89807e79cf2d878fa422 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 6 May 2024 14:36:44 +0100 Subject: [PATCH 0777/2258] Move `just` --- flake.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 3c6bac53..67415c66 100644 --- a/flake.nix +++ b/flake.nix @@ -22,9 +22,10 @@ mkNixos = import ./lib/nixos { inherit inputs self username; }; mkWsl = import ./lib/wsl2 { inherit inputs self username; }; - inherit (pkgs) just mkShell; + inherit (pkgs) mkShell; in { - packages.${system}.default = mkShell { buildInputs = [ just ]; }; + packages.${system}.default = + mkShell { buildInputs = with pkgs; [ just ]; }; formatter.${system} = pkgs.nixfmt-classic; From 5329b3534fb1e0a9986abfb3a0629cc4a90edfdd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 May 2024 14:28:12 +0100 Subject: [PATCH 0778/2258] Update sway configuration --- lib/nixos/home-manager/modules/sway.nix | 7 +++++-- lib/nixos/modules/sway.nix | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 65ac7da1..0c5084dd 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -80,9 +80,8 @@ defaultWorkspace = "workspace number 1"; gaps = { - inner = 5; + inner = 0; smartBorders = "on"; - smartGaps = true; }; input = { @@ -100,6 +99,7 @@ "${modifier}+Escape" = "exec swaylock --daemonize"; "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; + "${modifier}+Shift+period" = "exec systemctl suspend"; "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; }; @@ -143,6 +143,9 @@ for_window [app_id="flameshot"] floating enable for_window [class="zoom"] floating enable + + seat seat0 hide_cursor 1000 + seat seat0 hide_cursor when-typing enable ''; }; } diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix index 5cd69f92..9bcab56b 100644 --- a/lib/nixos/modules/sway.nix +++ b/lib/nixos/modules/sway.nix @@ -24,6 +24,6 @@ XDG_SESSION_TYPE = "wayland"; }; - home.packages = with pkgs; [ i3status wl-clipboard wofi ]; + home.packages = with pkgs; [ i3status wdisplays wl-clipboard wofi ]; }; } From 9a7733515e933d2758e1b94896bc294f8f8ec5c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 7 May 2024 15:50:27 +0100 Subject: [PATCH 0779/2258] Update lock file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 266bfe5c..83364d8f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1714981474, - "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", + "lastModified": 1715077503, + "narHash": "sha256-AfHQshzLQfUqk/efMtdebHaQHqVntCMjhymQzVFLes0=", "owner": "nix-community", "repo": "home-manager", - "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", + "rev": "6e277d9566de9976f47228dd8c580b97488734d4", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1714782413, - "narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=", + "lastModified": 1714971268, + "narHash": "sha256-IKwMSwHj9+ec660l+I4tki/1NRoeGpyA2GdtdYpAgEw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "651b4702e27a388f0f18e1b970534162dec09aff", + "rev": "27c13997bf450a01219899f5a83bd6ffbfc70d3c", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1714774006, - "narHash": "sha256-QsnQT5uHVz23CnUGXtUSyyepVqFNhBCBmtRb7qoBAOE=", + "lastModified": 1715094277, + "narHash": "sha256-dVH8MdRkC56OEiCLOKKyyyWHALDypRwj4afo5sMA7Q4=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "94e6c8ab1395b4bd7e904f5e386fc5237e3c31ce", + "rev": "d719ab5cbe62ab893e6d526fd12e662c0b11192f", "type": "github" }, "original": { From 61838245e04675369ff2043e891e629cc3f0c70a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 10:16:13 +0100 Subject: [PATCH 0780/2258] Allow passing arguments to `nixos-*` commands e.g. `just nixos-switch --offline` --- justfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/justfile b/justfile index 0b6d34c1..01b200bf 100644 --- a/justfile +++ b/justfile @@ -4,14 +4,14 @@ _default: check: nix flake check -nixos-build: - sudo nixos-rebuild build --flake . +nixos-build *args: + sudo nixos-rebuild build --flake . {{ args }} -nixos-switch: - sudo nixos-rebuild switch --flake . +nixos-switch *args: + sudo nixos-rebuild switch --flake . {{ args }} -nixos-test: - sudo nixos-rebuild test --flake . +nixos-test *args: + sudo nixos-rebuild test --flake . {{ args }} update: nix flake update From 7118326ec424a2b7d2d1ee7adc58949941584c38 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 12:55:48 +0100 Subject: [PATCH 0781/2258] Re-organise system packages Move some desktop-specific packages to the desktop list. --- lib/nixos/configuration.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index c9696b52..70fd41c6 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -109,28 +109,28 @@ in { # $ nix search wget environment.systemPackages = with pkgs; [ - brightnessctl - configure-gtk ddev - ffmpegthumbnailer mkcert - shotwell - xfce.thunar - xfce.thunar-volman - xfce.tumbler ] ++ pkgs.lib.optionals desktop [ acpi arandr + brightnessctl + configure-gtk dunst + ffmpegthumbnailer libnotify obsidian pocket-casts rclone rclone-browser + shotwell spotify teams-for-linux todoist-electron vscode + xfce.thunar + xfce.thunar-volman + xfce.tumbler # Games. zeroad @@ -182,7 +182,7 @@ in { fonts = { fontconfig = { enable = true; - defaultFonts = { monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; + defaultFonts = { monospace = [ theme.fonts.monospace.name ]; }; }; packages = with pkgs; From c0516b872ab5fd761a6e9c71eb6e0ada2bc0467c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 12:56:39 +0100 Subject: [PATCH 0782/2258] Add `ttyper` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 70fd41c6..f69587b2 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -111,6 +111,7 @@ in { [ ddev mkcert + ttyper ] ++ pkgs.lib.optionals desktop [ acpi arandr From b0b59d63c687ffab23be7a7c892a875942de001b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 12:57:45 +0100 Subject: [PATCH 0783/2258] Update repo path --- bin/start-traefik | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/start-traefik b/bin/start-traefik index c155e7e7..2a983cdb 100755 --- a/bin/start-traefik +++ b/bin/start-traefik @@ -3,7 +3,7 @@ set -o errexit set -o nounset -cd "${REPOS}/github.com/opdavies/traefik-development" +cd "${REPOS}/personal/traefik-development" docker compose up --detach docker container ps From d1fc5b7fd2446df413ce2ed671fed7e0fe2d60ad Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 12:59:29 +0100 Subject: [PATCH 0784/2258] Remove reference to `autotiling` --- lib/nixos/home-manager/modules/sway.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 0c5084dd..3f791e97 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -121,7 +121,6 @@ }; extraConfig = '' - exec_always ${pkgs.autotiling}/bin/autotiling exec_always ${pkgs.kanshi}/bin/kanshi set $laptop eDP-1 From 43c3def633820f0378c315418bd041a5a598c717 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 13:03:36 +0100 Subject: [PATCH 0785/2258] Update lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 83364d8f..a68c69e2 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714906307, - "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", + "lastModified": 1715087517, + "narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", + "rev": "b211b392b8486ee79df6cdfb1157ad2133427a29", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1715094277, - "narHash": "sha256-dVH8MdRkC56OEiCLOKKyyyWHALDypRwj4afo5sMA7Q4=", + "lastModified": 1715256070, + "narHash": "sha256-hasqE/sSfczSS/FuGB0pkg1to8495fNPd8D6/ReK+iE=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "d719ab5cbe62ab893e6d526fd12e662c0b11192f", + "rev": "880ef033ca95c5993d35e11c169f6265f47c4c0a", "type": "github" }, "original": { From d9bd5fa3bd758059815ece6d680b64de0074b6b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 13:54:41 +0100 Subject: [PATCH 0786/2258] Fix colours in tmux --- lib/nixos/home-manager/modules/alacritty.nix | 4 +++- lib/shared/modules/tmux.nix | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/nixos/home-manager/modules/alacritty.nix b/lib/nixos/home-manager/modules/alacritty.nix index 488f6189..a6e79973 100644 --- a/lib/nixos/home-manager/modules/alacritty.nix +++ b/lib/nixos/home-manager/modules/alacritty.nix @@ -9,7 +9,9 @@ in { enable = true; settings = { - window.opacity = 0.9; + env = { + TERM = "screen-256color"; + }; window.padding = { x = 15; diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 7f73be20..48ed516d 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -6,7 +6,7 @@ in { tmuxinator.enable = true; - terminal = "tmux-256color"; + terminal = "screen-256color"; extraConfig = '' unbind C-b From 88c61fe7adf9899505e1681be519c932601be027 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 13:55:11 +0100 Subject: [PATCH 0787/2258] Update monitor resolution --- lib/nixos/home-manager/modules/kanshi.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/modules/kanshi.nix b/lib/nixos/home-manager/modules/kanshi.nix index 424bc6d5..2959e4be 100644 --- a/lib/nixos/home-manager/modules/kanshi.nix +++ b/lib/nixos/home-manager/modules/kanshi.nix @@ -29,7 +29,7 @@ { criteria = "Samsung Electric Company LU28R55 H4ZRA00128"; - mode = "2560x1440"; + mode = "3840x2160"; position = "0,0"; } ]; From 78f810844bce811464b9c4c00dbd364e976fcc81 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 18:52:43 +0100 Subject: [PATCH 0788/2258] Add `yt-dlp` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index f69587b2..e8648b6b 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -112,6 +112,7 @@ in { ddev mkcert ttyper + yt-dlp ] ++ pkgs.lib.optionals desktop [ acpi arandr From 0976d079e48714269daef0754e2e12cb4d4f38c0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 18:53:08 +0100 Subject: [PATCH 0789/2258] Fix copying from tmux to the system clipboard --- lib/shared/modules/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 48ed516d..4aa62c38 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -61,7 +61,7 @@ in { # Setup 'v' to begin selection as in Vim bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy" + bind-key -T copy-mode-vi 'y' send -X copy-pipe wl-copy bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" From cae47950be9ce441fb183eb0e519cec1702dfaab Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 18:59:25 +0100 Subject: [PATCH 0790/2258] Update lock file --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a68c69e2..fae6a876 100644 --- a/flake.lock +++ b/flake.lock @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1714971268, - "narHash": "sha256-IKwMSwHj9+ec660l+I4tki/1NRoeGpyA2GdtdYpAgEw=", + "lastModified": 1715106579, + "narHash": "sha256-gZMgKEGiK6YrwGBiccZ1gemiUwjsZ1Zv49KYOgmX2fY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "27c13997bf450a01219899f5a83bd6ffbfc70d3c", + "rev": "8be0d8a1ed4f96d99b09aa616e2afd47acc3da89", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1715256070, - "narHash": "sha256-hasqE/sSfczSS/FuGB0pkg1to8495fNPd8D6/ReK+iE=", + "lastModified": 1715277438, + "narHash": "sha256-O3q+l0ll0QGqEJLlu/00cDLZheVDoqNxmT+sjn0j7rQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "880ef033ca95c5993d35e11c169f6265f47c4c0a", + "rev": "e676b97b39bbb209f7e5ca1ab8e6b90dac62da8a", "type": "github" }, "original": { From 634ed233259f3f30e7560e983ca90426c56f94b5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 23:19:54 +0100 Subject: [PATCH 0791/2258] Override the `ttyper` command with a function Set values for the number of words and languages, as there isn't a word setting to add to a `config.toml` file. This is based on https://www.youtube.com/watch?v=C5aRtq-Rtbg by Greg Hurrell. --- lib/shared/modules/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 8bdceb55..3f134196 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -58,6 +58,10 @@ t "''${repo_path}" } + ttyper() { + command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" + } + # Plugins source "''${ZPLUG_REPOS}/joshskidmore/zsh-fzf-history-search/zsh-fzf-history-search.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" From 5d3f7ef58fd925b777bf722c31681c224cb46a28 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 23:40:30 +0100 Subject: [PATCH 0792/2258] Override `just` command If a `.ignored/justfile` exists, e.g. for open-source projects I can't commit a `justfile` to, use it by default. --- lib/shared/modules/zsh.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 3f134196..ea002ea9 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -58,6 +58,14 @@ t "''${repo_path}" } + just() { + if [[ -f .ignored/justfile ]]; then + ${pkgs.just}/bin/just --justfile .ignored/justfile "''${@}" + else + ${pkgs.just}/bin/just "''${@}" + fi + } + ttyper() { command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } From 0a5815c116cfeab08153ea3f7d43eee11fde0cfe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 9 May 2024 23:57:05 +0100 Subject: [PATCH 0793/2258] Add the `git root` command Add the `git root` command shown by Greg in his YouTube video: https://www.youtube.com/watch?v=C5aRtq-Rtbg --- lib/shared/modules/zsh.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index ea002ea9..1c56ba25 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -58,6 +58,22 @@ t "''${repo_path}" } + git() { + if [[ "''${1}" == "root" ]]; then + shift + + local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" + + if [[ $# == 0 ]]; then + cd "''${ROOT}" + else + (cd "''${ROOT}" && eval "''${@}") + fi + else + ${pkgs.git}/bin/git "''${@}" + fi + } + just() { if [[ -f .ignored/justfile ]]; then ${pkgs.just}/bin/just --justfile .ignored/justfile "''${@}" @@ -277,7 +293,6 @@ tags = [ "from:oh-my-zsh" ]; } { name = "joshskidmore/zsh-fzf-history-search"; } - { name = "mollifier/cd-gitroot"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } ]; From de2ca55cacb84dbd2fab001d6eff041315f40837 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 10 May 2024 22:56:51 +0200 Subject: [PATCH 0794/2258] Add `just` globally See: https://just.systems/man/en --- lib/nixos/configuration.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index e8648b6b..110f1b32 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -108,12 +108,7 @@ in { # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; - [ - ddev - mkcert - ttyper - yt-dlp - ] ++ pkgs.lib.optionals desktop [ + [ ddev just mkcert ttyper yt-dlp ] ++ pkgs.lib.optionals desktop [ acpi arandr brightnessctl From 689c018bae7dcf467b426d4bc086700f5a87beba Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 10 May 2024 23:52:45 +0200 Subject: [PATCH 0795/2258] Add `update-all-git-repos` Add a script to update top-level cloned Git repositories within my Code directories to their latest versions. --- bin/update-all-git-repos | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 bin/update-all-git-repos diff --git a/bin/update-all-git-repos b/bin/update-all-git-repos new file mode 100755 index 00000000..8c6b0734 --- /dev/null +++ b/bin/update-all-git-repos @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# Update all top-level Git repository clones within my Code directories to their +# latest version. + +set -o errexit +set -o nounset + +dirs=$(find ~/Code/personal ~/Code/work -mindepth 1 -maxdepth 2 -type f -name .git -not -path '*/*.old/*') + +for dir in $dirs; do + repo_path="${dir%/.git}" + + cd "${repo_path}" + + # If the repo is a bare clone, the commands need to be run within the + # worktree directory. + [[ -f .bare/worktrees/main/gitdir && -d main && -f main/.git ]] && cd main + + echo "Updating $(pwd)" + + # Update the repository. + git fetch --all --jobs=4 --progress --prune + git pull --rebase +done From 475a2195c0e3c9ab2e9eb99c9646709180cfc024 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 11 May 2024 01:50:45 +0200 Subject: [PATCH 0796/2258] Configure `lsd` See: https://github.com/lsd-rs/lsd --- lib/shared/modules/lsd.nix | 11 ++++++++++- lib/shared/modules/zsh.nix | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/shared/modules/lsd.nix b/lib/shared/modules/lsd.nix index b630e54d..51a31244 100644 --- a/lib/shared/modules/lsd.nix +++ b/lib/shared/modules/lsd.nix @@ -1 +1,10 @@ -{ programs.lsd.enable = true; } +{ + programs.lsd = { + enable = true; + enableAliases = false; + + settings = { + icons.when = "never"; + }; + }; +} diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 1c56ba25..c1049910 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -99,7 +99,7 @@ clear-ls-all() { clear - lsd -al + ls -al } zle -N clear-ls-all @@ -178,7 +178,7 @@ ialias cs="create-script" ialias daily="run create-daily next" ialias fetch="git fetch --all --jobs=4 --progress --prune" - ialias ls="lsd -la" + ialias ls="lsd" ialias pull="git pull --autostash --jobs=4 --summary origin" ialias rebase="git rebase --autostash --stat" ialias reset="git reset --hard; git clean -fd" From 1a285c668c49a149c5af1fdbd57005b142612ebe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 11 May 2024 07:49:00 +0200 Subject: [PATCH 0797/2258] Open `pavucontrol` in a floating window The `app_id` is found by running `swaymsg -t get_tree`. --- lib/nixos/home-manager/modules/sway.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 3f791e97..9324b8f4 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -141,7 +141,9 @@ for_window [class="vlc"] inhibit_idle fullscreen for_window [app_id="flameshot"] floating enable + for_window [app_id="pavucontrol"] floating enable for_window [class="zoom"] floating enable + # swaymsg -t get_tree seat seat0 hide_cursor 1000 seat seat0 hide_cursor when-typing enable From 56ca4cba123b0856c5e14a5dc67569f90831c1e2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 11 May 2024 07:56:57 +0200 Subject: [PATCH 0798/2258] Open `copyq` in floating windows, too --- lib/nixos/home-manager/modules/sway.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 9324b8f4..225b5759 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -142,6 +142,7 @@ for_window [app_id="flameshot"] floating enable for_window [app_id="pavucontrol"] floating enable + for_window [class="copyq"] floating enable for_window [class="zoom"] floating enable # swaymsg -t get_tree From 5c8c53d1cf3b6d8f0ac002d9fbc09bca5c16348d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 12 May 2024 00:50:54 +0200 Subject: [PATCH 0799/2258] Run `nix flake update` --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fae6a876..a817da57 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1715077503, - "narHash": "sha256-AfHQshzLQfUqk/efMtdebHaQHqVntCMjhymQzVFLes0=", + "lastModified": 1715380449, + "narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "6e277d9566de9976f47228dd8c580b97488734d4", + "rev": "d7682620185f213df384c363288093b486b2883f", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715087517, - "narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=", + "lastModified": 1715266358, + "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b211b392b8486ee79df6cdfb1157ad2133427a29", + "rev": "f1010e0469db743d14519a1efd37e23f8513d714", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1715106579, - "narHash": "sha256-gZMgKEGiK6YrwGBiccZ1gemiUwjsZ1Zv49KYOgmX2fY=", + "lastModified": 1715395895, + "narHash": "sha256-DreMqi6+qa21ffLQqhMQL2XRUkAGt3N7iVB5FhJKie4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8be0d8a1ed4f96d99b09aa616e2afd47acc3da89", + "rev": "71bae31b7dbc335528ca7e96f479ec93462323ff", "type": "github" }, "original": { From 7b9e5c6cfcde5a06254c1e85b16ffdcaab205ffa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 12 May 2024 09:25:21 +0200 Subject: [PATCH 0800/2258] Add `todo` and `til` functions Add helper functions to write text input into a `TODO.txt` or `TIL.txt` file respectively. Extracting this to a function means I'm not able to overwrite the contents of a file by typing `echo "foo" > TODO.txt` or similar accidentally and overwriting the entire file instead of appending to it. --- lib/shared/modules/zsh.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index c1049910..0c9c057a 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -82,6 +82,24 @@ fi } + til() { + if [[ ''${#} < 1 ]]; then + echo "No text was provided." + return + fi + + echo ''${1} >> TIL.txt + } + + todo() { + if [[ ''${#} < 1 ]]; then + echo "No text was provided." + return + fi + + echo ''${1} >> TODO.txt + } + ttyper() { command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } From c95a5105c946cd2ca45eabc2bf6ab617de078247 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 12 May 2024 10:40:50 +0200 Subject: [PATCH 0801/2258] Don't automatically run tmuxinator when starting ...a session --- bin/t | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/bin/t b/bin/t index aec2f0d9..42667e28 100755 --- a/bin/t +++ b/bin/t @@ -36,21 +36,6 @@ if tmux has-session -t "${session_name}" 2> /dev/null; then tmux attach -t "${session_name}" fi -# If a .tmux file exists, run it with the generated session name and path. -if [[ -e "${session_path}/.tmuxinator.yaml" ]]; then - cd "${session_path}" && tmuxinator start - exit -elif [[ -e "${session_path}/.ignored/.tmuxinator.yaml" ]]; then - cd "${session_path}" && tmuxinator start --project-config "${session_path}/.ignored/.tmuxinator.yaml" - exit -elif [[ -e "${session_path}/.tmux" ]]; then - "${session_path}/.tmux" "${session_name}" "${session_path}" - exit -elif [[ -e "${session_path}/.ignored/.tmux" ]]; then - "${session_path}/.ignored/.tmux" "${session_name}" "${session_path}" - exit -fi - tmux new-session -d -s "${session_name}" -c "${session_path}" tmux switch-client -t "${session_name}" || tmux attach -t "${session_name}" From f766a15616687b9444ce7d2e80d7a5f90a1be9e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 15 May 2024 13:49:05 +0100 Subject: [PATCH 0802/2258] Alias `cat` to `bat` --- lib/shared/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 0c9c057a..b9210ca1 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -193,6 +193,7 @@ alias dea='direnv allow' alias dee='direnv edit' + ialias cat="bat" ialias cs="create-script" ialias daily="run create-daily next" ialias fetch="git fetch --all --jobs=4 --progress --prune" From 01700889faa45623d2cce69fadcfec0c930dfa54 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 19 May 2024 15:59:53 +0100 Subject: [PATCH 0803/2258] Run `nix flake update` --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a817da57..7c180031 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1715380449, - "narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=", + "lastModified": 1715930644, + "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", "owner": "nix-community", "repo": "home-manager", - "rev": "d7682620185f213df384c363288093b486b2883f", + "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715266358, - "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", + "lastModified": 1715961556, + "narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f1010e0469db743d14519a1efd37e23f8513d714", + "rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1715395895, - "narHash": "sha256-DreMqi6+qa21ffLQqhMQL2XRUkAGt3N7iVB5FhJKie4=", + "lastModified": 1716061101, + "narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71bae31b7dbc335528ca7e96f479ec93462323ff", + "rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2", "type": "github" }, "original": { @@ -76,11 +76,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1715277438, - "narHash": "sha256-O3q+l0ll0QGqEJLlu/00cDLZheVDoqNxmT+sjn0j7rQ=", + "lastModified": 1715979534, + "narHash": "sha256-SL5YKB+37IRHml1js9oGV7JzU/GyyPDcYcw6+Jn+XQA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "e676b97b39bbb209f7e5ca1ab8e6b90dac62da8a", + "rev": "9b918d098aec6ecbd69fd33ee8d0c7e154e2a09e", "type": "github" }, "original": { From 9da6ec88cc83035702081a50e075227fd30445d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 19 May 2024 16:00:21 +0100 Subject: [PATCH 0804/2258] Update kdenlive --- lib/nixos/home-manager/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 07dec3cf..0185561d 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -18,7 +18,7 @@ in { pkgs.discord pkgs.gimp pkgs.gscan2pdf - pkgs-2311.kdenlive + pkgs.kdenlive pkgs.meslo-lg pkgs.obs-studio pkgs.okular From c4eaf38a9ca36d06f3c4fff27d064ef33157f3d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 19 May 2024 16:02:34 +0100 Subject: [PATCH 0805/2258] Remove references to nixpkgs 23.11 As it's no longer used by kdenlive. --- flake.lock | 17 ----------------- flake.nix | 2 -- lib/nixos/home-manager/default.nix | 2 -- 3 files changed, 21 deletions(-) diff --git a/flake.lock b/flake.lock index 7c180031..9e7257bf 100644 --- a/flake.lock +++ b/flake.lock @@ -52,22 +52,6 @@ "type": "github" } }, - "nixpkgs-2311": { - "locked": { - "lastModified": 1716061101, - "narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, "opdavies-nvim": { "inputs": { "nixpkgs": [ @@ -93,7 +77,6 @@ "inputs": { "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-2311": "nixpkgs-2311", "opdavies-nvim": "opdavies-nvim" } } diff --git a/flake.nix b/flake.nix index 67415c66..89845ccd 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,6 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; - opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; # opdavies-nvim.url = "path:/home/opdavies/Code/personal/opdavies.nvim"; diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 0185561d..437bd48f 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -8,8 +8,6 @@ let shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit inputs pkgs; }; - - pkgs-2311 = inputs.nixpkgs-2311.legacyPackages.${pkgs.system}; in { imports = if desktop then [ desktop-config shared-config ] else [ shared-config ]; From 238210344519ade4cc51df9cf95e1b11f62f829f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 20 May 2024 18:13:08 +0100 Subject: [PATCH 0806/2258] Run `nix flake update` --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9e7257bf..37c258af 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715961556, - "narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=", + "lastModified": 1716137900, + "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64", + "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", "type": "github" }, "original": { @@ -60,11 +60,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1715979534, - "narHash": "sha256-SL5YKB+37IRHml1js9oGV7JzU/GyyPDcYcw6+Jn+XQA=", + "lastModified": 1716224863, + "narHash": "sha256-yZyJ2wfA4cwXe4Pd4LBKr6DlWfJGsJb/+jR5qpZO2XA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "9b918d098aec6ecbd69fd33ee8d0c7e154e2a09e", + "rev": "9d29f1f3d81ae838f3dc70f985384bb8e311b98f", "type": "github" }, "original": { From ab20c7de69fea7fbb65c9171c6bc319d32611034 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 20 May 2024 19:09:17 +0100 Subject: [PATCH 0807/2258] Consolidate Git aliases Move the `update` alias into the Git namespace, so it's now `git update`, and remove the others that I wasn't using. --- lib/shared/modules/git.nix | 2 ++ lib/shared/modules/zsh.nix | 6 ------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 6521e8d6..a5b6ff4f 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -87,6 +87,8 @@ unassume = "update-index --no-assume-unchanged"; uncommit = "reset --soft HEAD^"; unstage = "reset"; + update = + "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; ureset = "!git reset --hard $(git upstream)"; worktrees = "worktree list"; diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index b9210ca1..2d263194 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -196,11 +196,7 @@ ialias cat="bat" ialias cs="create-script" ialias daily="run create-daily next" - ialias fetch="git fetch --all --jobs=4 --progress --prune" ialias ls="lsd" - ialias pull="git pull --autostash --jobs=4 --summary origin" - ialias rebase="git rebase --autostash --stat" - ialias reset="git reset --hard; git clean -fd" ialias run="./run" ialias s="secrets" ialias secrets="doppler --project \"$(whoami)\" run" @@ -208,8 +204,6 @@ ialias sz="source ~/.config/zsh/.zshrc" ialias tag="tag-release" ialias uncommit="git reset --soft HEAD^"; - ialias update="fetch && rebase" - ialias wip="git add . && git commit -m 'wip'"; ialias wt="git worktree" balias lh3="xdg-open http://localhost:3000" balias lh8="xdg-open http://localhost:8000" From 504fb96771a113ee4f03b1102518e9f579ab8b3b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 20 May 2024 19:11:04 +0100 Subject: [PATCH 0808/2258] Add `swaybg` At the moment, it's not being run automatically when sway starts, so I need to add it to my sway configuration. --- lib/nixos/modules/sway.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix index 9bcab56b..7a0897be 100644 --- a/lib/nixos/modules/sway.nix +++ b/lib/nixos/modules/sway.nix @@ -24,6 +24,6 @@ XDG_SESSION_TYPE = "wayland"; }; - home.packages = with pkgs; [ i3status wdisplays wl-clipboard wofi ]; + home.packages = with pkgs; [ i3status swaybg wdisplays wl-clipboard wofi ]; }; } From a2ac74a7967afe28086b050fb420226bece855a5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 May 2024 08:51:04 +0100 Subject: [PATCH 0809/2258] Use `set -o` --- bin/create-script | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/bin/create-script b/bin/create-script index 93aa8632..5f821f49 100755 --- a/bin/create-script +++ b/bin/create-script @@ -4,15 +4,18 @@ if [[ "$1" == "" ]]; then echo "Usage: ${0##*/} "; exit 2 fi -set -ueo pipefail +set -o errexit +set -o nounset +set -o pipefail cat > "${1}" << EOF #!/usr/bin/env bash -set -euo pipefail - +set -o errexit +set -o nounset +set -o pipefail +echo "${1}" EOF chmod +x "${1}" -vim "${1}" From 395e92054e3352c3618bd63ace20c013f6829c6e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 May 2024 08:51:25 +0100 Subject: [PATCH 0810/2258] Add `vss` alias for sorting words in my `spellfile` Automatically sort and update the words within my `spellfile` that's used by Neovim. --- lib/shared/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 2d263194..63ef32b1 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -205,6 +205,7 @@ ialias tag="tag-release" ialias uncommit="git reset --soft HEAD^"; ialias wt="git worktree" + ialias vss="LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add" balias lh3="xdg-open http://localhost:3000" balias lh8="xdg-open http://localhost:8000" From c8cc72b1acdfa248c365108548b61ff2fc3311f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 May 2024 09:00:00 +0100 Subject: [PATCH 0811/2258] Add `build-configs` from its derivation It currently uses a local version of `build-configs`. I need to look into how to get it to with Nix and a private GitHub repository. --- flake.lock | 18 ++++++++++++++++++ flake.nix | 5 +++++ lib/shared/home-manager-packages.nix | 2 ++ lib/shared/modules/zsh.nix | 6 ------ 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 37c258af..0075826c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,22 @@ { "nodes": { + "build-configs": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716365597, + "narHash": "sha256-hVI9QY4tLbXmci1MERp8CEduJ3xfeTT3ZxKnuMCJP3E=", + "path": "/home/opdavies/Code/personal/build-configs", + "type": "path" + }, + "original": { + "path": "/home/opdavies/Code/personal/build-configs", + "type": "path" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -75,6 +92,7 @@ }, "root": { "inputs": { + "build-configs": "build-configs", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "opdavies-nvim": "opdavies-nvim" diff --git a/flake.nix b/flake.nix index 89845ccd..e8865991 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,11 @@ opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; # opdavies-nvim.url = "path:/home/opdavies/Code/personal/opdavies.nvim"; + + build-configs.inputs.nixpkgs.follows = "nixpkgs"; + build-configs.url = "path:/home/opdavies/Code/personal/build-configs"; + # TODO: how to do this with a private GitHub repository? + # build-configs.url = "github:OliverDaviesLtd/build-configs"; }; outputs = { nixpkgs, self, ... }@inputs: diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 8098e275..d8af11d8 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -3,6 +3,8 @@ let php = pkgs.php82; phpPackages = pkgs.php82Packages; in with pkgs; [ + inputs.build-configs.packages.${pkgs.system}.default + awscli2 bitwarden-cli bottom diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 63ef32b1..f101039c 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -266,12 +266,6 @@ alias rdci="run drush config:import -y" alias rduli="run drush uli" - # Build Configs. - ialias build-configs="nix shell nixpkgs#php82 --command ~/Code/github.com/OliverDaviesLtd/build-configs/main/bin/build-configs app:generate" - ialias build-configs-update-all="~/Code/github.com/OliverDaviesLtd/build-configs-updater/update.sh" - alias bc=build-configs - alias bcu=build-configs-update-all - alias -g A1="| awk '{print \$1}'" alias -g Fj='| jq .' alias -g Fy='| yq .' From d9d04025dcb3ca80fcc326b227c95983d8c732c0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 May 2024 21:33:45 +0100 Subject: [PATCH 0812/2258] Move Slack into NixOS configuration --- lib/nixos/configuration.nix | 1 + lib/nixos/home-manager/default.nix | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 110f1b32..ea7cdd18 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -121,6 +121,7 @@ in { rclone rclone-browser shotwell + slack spotify teams-for-linux todoist-electron diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 437bd48f..aea09643 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -24,7 +24,6 @@ in { pkgs.pass pkgs.pavucontrol pkgs.pinentry - pkgs.slack pkgs.via pkgs.vlc pkgs.xsel From 5a0cfd10ae3aa882129a50fb2986006b0de4163d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 May 2024 21:35:43 +0100 Subject: [PATCH 0813/2258] Run `just update` --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 0075826c..a22dfec3 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716137900, - "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", + "lastModified": 1716293225, + "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", + "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", "type": "github" }, "original": { @@ -77,11 +77,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1716224863, - "narHash": "sha256-yZyJ2wfA4cwXe4Pd4LBKr6DlWfJGsJb/+jR5qpZO2XA=", + "lastModified": 1716384365, + "narHash": "sha256-mEJR1ZWo8kwFVmJdCYeLfEdHb/uVHF3Y6NdFNO2PL2g=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "9d29f1f3d81ae838f3dc70f985384bb8e311b98f", + "rev": "ad39a8c48724807391aaf4e87869377113ad7692", "type": "github" }, "original": { From 323df5ca1061651d122889cd58645cc6f456eb05 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 May 2024 21:36:26 +0100 Subject: [PATCH 0814/2258] Add GNOME as a desktop manager, working with sway ...and wayland --- lib/nixos/default.nix | 1 + lib/nixos/modules/gnome.nix | 14 ++++++++++++++ lib/nixos/modules/sway.nix | 9 ++------- 3 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 lib/nixos/modules/gnome.nix diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 890a3dab..54fbec7c 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -16,6 +16,7 @@ in inputs.nixpkgs.lib.nixosSystem { }; } + (import ./modules/gnome.nix) (import ./modules/sway.nix { inherit inputs username; }) configuration diff --git a/lib/nixos/modules/gnome.nix b/lib/nixos/modules/gnome.nix new file mode 100644 index 00000000..bbb5ad27 --- /dev/null +++ b/lib/nixos/modules/gnome.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +{ + services.xserver = { + desktopManager.gnome.enable = true; + + displayManager.gdm = { + enable = true; + wayland = true; + }; + }; + + environment.systemPackages = with pkgs; [ networkmanagerapplet ]; +} diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix index 7a0897be..0e2d4762 100644 --- a/lib/nixos/modules/sway.nix +++ b/lib/nixos/modules/sway.nix @@ -1,17 +1,12 @@ { inputs, username, ... }: { pkgs, ... }: { - services = { - displayManager = { - defaultSession = "sway"; - sddm.enable = true; - }; - }; + services.displayManager.defaultSession = "sway"; programs.sway.enable = true; xdg.portal = { enable = true; - extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-wlr ]; + extraPortals = with pkgs; [ xdg-desktop-portal-wlr ]; }; home-manager.users.${username} = { pkgs, ... }: { From fb4886be498daf1d0a6c84507b27c202c1644e40 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 23 May 2024 17:14:07 +0100 Subject: [PATCH 0815/2258] Add `simple-http-server` --- lib/nixos/configuration.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index ea7cdd18..3d0bf11d 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -107,8 +107,17 @@ in { # List packages installed in system profile. To search, run: # $ nix search wget - environment.systemPackages = with pkgs; - [ ddev just mkcert ttyper yt-dlp ] ++ pkgs.lib.optionals desktop [ + environment.systemPackages = + with pkgs; + [ + ddev + just + mkcert + simple-http-server + ttyper + yt-dlp + ] + ++ pkgs.lib.optionals desktop [ acpi arandr brightnessctl From 361412db61a840790b76a3ecb347bf490c07cf83 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 May 2024 15:28:58 +0100 Subject: [PATCH 0816/2258] Add wezterm Add wezterm as another terminal option and to see how it compares to Alacritty. --- lib/shared/home-manager.nix | 1 + lib/shared/modules/wezterm.nix | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 lib/shared/modules/wezterm.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 39917677..13868a7a 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -19,6 +19,7 @@ ./modules/ripgrep.nix ./modules/syncthing.nix ./modules/tmux.nix + ./modules/wezterm.nix ./modules/zsh.nix ]; } diff --git a/lib/shared/modules/wezterm.nix b/lib/shared/modules/wezterm.nix new file mode 100644 index 00000000..2ea9cbc5 --- /dev/null +++ b/lib/shared/modules/wezterm.nix @@ -0,0 +1,6 @@ +{ + programs.wezterm = { + enable = true; + enableZshIntegration = true; + }; +} From d515d5cc0fc077cedb2d61685ccffb37afb4a89e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 24 May 2024 15:35:51 +0100 Subject: [PATCH 0817/2258] Rename `kanshi.profiles` to `kanshi.settings` > trace: warning: opdavies profile: kanshi.profiles option is > deprecated. Use kanshi.settings instead. --- lib/nixos/home-manager/modules/kanshi.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/modules/kanshi.nix b/lib/nixos/home-manager/modules/kanshi.nix index 2959e4be..87504bfe 100644 --- a/lib/nixos/home-manager/modules/kanshi.nix +++ b/lib/nixos/home-manager/modules/kanshi.nix @@ -10,7 +10,7 @@ enable = true; # swaymsg -t get_outputs - profiles = { + settings = { undocked = { outputs = [{ criteria = "eDP-1"; From 859d46781ce009f2fd90eaaef033189ab89e2a97 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 31 May 2024 16:09:49 +0100 Subject: [PATCH 0818/2258] Update `kanshi.settings` --- lib/nixos/home-manager/modules/kanshi.nix | 32 +++++++++++++---------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/nixos/home-manager/modules/kanshi.nix b/lib/nixos/home-manager/modules/kanshi.nix index 87504bfe..76559e5f 100644 --- a/lib/nixos/home-manager/modules/kanshi.nix +++ b/lib/nixos/home-manager/modules/kanshi.nix @@ -10,18 +10,21 @@ enable = true; # swaymsg -t get_outputs - settings = { - undocked = { - outputs = [{ - criteria = "eDP-1"; - status = "enable"; - mode = "1920x1080"; - position = "0,0"; - }]; - }; - - docked = { - outputs = [ + settings = [ + { + profile.name = "undocked"; + profile.outputs = [ + { + criteria = "eDP-1"; + status = "enable"; + mode = "1920x1080"; + position = "0,0"; + } + ]; + } + { + profile.name = "docked"; + profile.outputs = [ { criteria = "eDP-1"; status = "disable"; @@ -31,9 +34,10 @@ criteria = "Samsung Electric Company LU28R55 H4ZRA00128"; mode = "3840x2160"; position = "0,0"; + scale = 1.5; } ]; - }; - }; + } + ]; }; } From 194289f9a65dd2a7cfe04b3af9c315ce34a25af1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 31 May 2024 16:30:35 +0100 Subject: [PATCH 0819/2258] Replace VLC with mpv --- lib/nixos/home-manager/default.nix | 1 - lib/nixos/home-manager/desktop.nix | 1 + lib/nixos/home-manager/modules/mpv.nix | 5 +++++ lib/nixos/home-manager/modules/sway.nix | 2 -- 4 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 lib/nixos/home-manager/modules/mpv.nix diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index aea09643..3fd3a429 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -25,7 +25,6 @@ in { pkgs.pavucontrol pkgs.pinentry pkgs.via - pkgs.vlc pkgs.xsel pkgs.xcape pkgs.zoom-us diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index a9a7f608..7e580c43 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -9,5 +9,6 @@ ./modules/flameshot.nix ./modules/kanshi.nix ./modules/sway.nix + ./modules/mpv.nix ]; } diff --git a/lib/nixos/home-manager/modules/mpv.nix b/lib/nixos/home-manager/modules/mpv.nix new file mode 100644 index 00000000..8c80492b --- /dev/null +++ b/lib/nixos/home-manager/modules/mpv.nix @@ -0,0 +1,5 @@ +{ + programs.mpv = { + enable = true; + }; +} diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 225b5759..4c28f171 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -138,8 +138,6 @@ bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK - for_window [class="vlc"] inhibit_idle fullscreen - for_window [app_id="flameshot"] floating enable for_window [app_id="pavucontrol"] floating enable for_window [class="copyq"] floating enable From 430ea10ef6b193cb14b9d9024c092965e16d2f7c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 31 May 2024 18:36:51 +0100 Subject: [PATCH 0820/2258] Run `just update` --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a22dfec3..ed898323 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1717097707, + "narHash": "sha256-HC5vJ3oYsjwsCaSbkIPv80e4ebJpNvFKQTBOGlHvjLs=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "0eb314b4f0ba337e88123e0b1e57ef58346aafd9", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716293225, - "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", "type": "github" }, "original": { @@ -77,11 +77,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1716384365, - "narHash": "sha256-mEJR1ZWo8kwFVmJdCYeLfEdHb/uVHF3Y6NdFNO2PL2g=", + "lastModified": 1717176873, + "narHash": "sha256-RpSBEbmrQS825JNYh8A3lDarZP1MgBZIS8wLkKxtVc8=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "ad39a8c48724807391aaf4e87869377113ad7692", + "rev": "4e546507904c0e21b9cd5fd09f398d1208aeb89c", "type": "github" }, "original": { From a29372ef9983d948f7b547c83ff17c7decf3822a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 31 May 2024 19:13:23 +0100 Subject: [PATCH 0821/2258] Try using wezterm as my default terminal --- lib/nixos/home-manager/desktop.nix | 1 - lib/nixos/home-manager/modules/alacritty.nix | 34 -------------------- lib/nixos/home-manager/modules/sway.nix | 2 +- lib/shared/modules/tmux.nix | 2 +- lib/shared/modules/wezterm.nix | 21 +++++++++++- 5 files changed, 22 insertions(+), 38 deletions(-) delete mode 100644 lib/nixos/home-manager/modules/alacritty.nix diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 7e580c43..0c053f6b 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -1,6 +1,5 @@ { config, inputs, pkgs, username, }: { imports = [ - ./modules/alacritty.nix ./modules/copyq.nix ./modules/dunst.nix ./modules/espanso.nix diff --git a/lib/nixos/home-manager/modules/alacritty.nix b/lib/nixos/home-manager/modules/alacritty.nix deleted file mode 100644 index a6e79973..00000000 --- a/lib/nixos/home-manager/modules/alacritty.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, pkgs, self, ... }: -let - inherit (lib) strings; - inherit (strings) toInt; - - theme = import "${self}/lib/theme" { inherit pkgs; }; -in { - programs.alacritty = { - enable = true; - - settings = { - env = { - TERM = "screen-256color"; - }; - - window.padding = { - x = 15; - y = 15; - }; - - font = { - size = toInt "${theme.fonts.monospace.size}"; - - bold.style = "Regular"; - normal.family = "${theme.fonts.monospace.name}"; - - offset.y = 12; - glyph_offset.y = 6; - }; - - shell = { program = "zsh"; }; - }; - }; -} diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 4c28f171..a7402961 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -115,7 +115,7 @@ eDP-1 = { scale = "1.0"; }; }; - terminal = "alacritty"; + terminal = "wezterm"; window.border = 3; }; diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 4aa62c38..9ed869b1 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -6,7 +6,7 @@ in { tmuxinator.enable = true; - terminal = "screen-256color"; + terminal = "xterm-256color"; extraConfig = '' unbind C-b diff --git a/lib/shared/modules/wezterm.nix b/lib/shared/modules/wezterm.nix index 2ea9cbc5..028dd332 100644 --- a/lib/shared/modules/wezterm.nix +++ b/lib/shared/modules/wezterm.nix @@ -1,6 +1,25 @@ -{ +{ pkgs, self, ... }: +let + theme = import "${self}/lib/theme" { inherit pkgs; }; +in { programs.wezterm = { enable = true; enableZshIntegration = true; + + extraConfig = '' + return { + font = wezterm.font "${theme.fonts.monospace.name}", + -- TODO: use theme.fonts.monospace.size + font_size = 14.0, + hide_tab_bar_if_only_one_tab = true, + line_height = 1.5, + window_padding = { + bottom = 10, + left = 10, + right = 10, + top = 10, + } + } + ''; }; } From a3bcd63b3db64250e34d9a1d8a4c78b34e17212f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 31 May 2024 19:46:47 +0100 Subject: [PATCH 0822/2258] Add keybindings for controlling volume Add keybindings for increasing and decreasing volume in mpv. --- lib/nixos/home-manager/modules/mpv.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/nixos/home-manager/modules/mpv.nix b/lib/nixos/home-manager/modules/mpv.nix index 8c80492b..163205cd 100644 --- a/lib/nixos/home-manager/modules/mpv.nix +++ b/lib/nixos/home-manager/modules/mpv.nix @@ -1,5 +1,11 @@ { programs.mpv = { enable = true; + + # https://github.com/mpv-player/mpv/blob/master/etc/input.conf + bindings = { + "DOWN" = "add volume -5"; + "UP" = "add volume 5"; + }; }; } From c8bc5222682a92c59182ac143147660d74d9244f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 1 Jun 2024 14:38:55 +0100 Subject: [PATCH 0823/2258] Revert "Use fzf for searching zsh history" This reverts commit 0bbd536e3e090a62f3f4f97db2999d180bf0995d. --- lib/shared/home-manager.nix | 1 + lib/shared/modules/atuin.nix | 6 ++++++ lib/shared/modules/zsh.nix | 1 - 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 lib/shared/modules/atuin.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 13868a7a..ed9ba585 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -8,6 +8,7 @@ imports = [ (import ./modules/neovim.nix { inherit inputs; }) + ./modules/atuin.nix ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/atuin.nix b/lib/shared/modules/atuin.nix new file mode 100644 index 00000000..f99d093e --- /dev/null +++ b/lib/shared/modules/atuin.nix @@ -0,0 +1,6 @@ +{ + programs.atuin = { + enable = true; + enableZshIntegration = true; + }; +} diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index f101039c..46ec0fe7 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -300,7 +300,6 @@ name = "plugin/vi-mode"; tags = [ "from:oh-my-zsh" ]; } - { name = "joshskidmore/zsh-fzf-history-search"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } ]; From 64dd65d4e94570fa1ccd417a9796f510d29509cb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 1 Jun 2024 14:50:59 +0100 Subject: [PATCH 0824/2258] Run `just update` --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ed898323..c6d92de4 100644 --- a/flake.lock +++ b/flake.lock @@ -77,11 +77,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1717176873, - "narHash": "sha256-RpSBEbmrQS825JNYh8A3lDarZP1MgBZIS8wLkKxtVc8=", + "lastModified": 1717249712, + "narHash": "sha256-bVTVPazXfJP60YsCxxu/QBEiBJRLHAPRf2xFxIeN3ZY=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "4e546507904c0e21b9cd5fd09f398d1208aeb89c", + "rev": "421edb67b2b4d60811fa5b1ef63c28d52e580490", "type": "github" }, "original": { From e4923e708e878e748b5d23e29be2f2eecf3ab269 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 2 Jun 2024 01:38:24 +0100 Subject: [PATCH 0825/2258] Revert "Remove starship" This reverts commit 90a1ca81aabcb6391edb9e5090be7769a9524beb. --- lib/shared/home-manager.nix | 1 + lib/shared/modules/starship.nix | 1 + lib/shared/modules/zsh.nix | 4 ---- 3 files changed, 2 insertions(+), 4 deletions(-) create mode 100644 lib/shared/modules/starship.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index ed9ba585..95d98e6c 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -18,6 +18,7 @@ ./modules/nnn.nix ./modules/phpactor.nix ./modules/ripgrep.nix + ./modules/starship.nix ./modules/syncthing.nix ./modules/tmux.nix ./modules/wezterm.nix diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix new file mode 100644 index 00000000..88660a48 --- /dev/null +++ b/lib/shared/modules/starship.nix @@ -0,0 +1 @@ +{ programs.starship.enable = true; } diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 46ec0fe7..c5c30054 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -288,10 +288,6 @@ enable = true; plugins = [ - { - name = "themes/robbyrussell"; - tags = [ "from:oh-my-zsh" "as:theme" ]; - } { name = "plugin/git"; tags = [ "from:oh-my-zsh" ]; From 3fe0d74a9b381571e4d269db512baf8fcde09965 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 6 Jun 2024 21:37:17 +0100 Subject: [PATCH 0826/2258] Run `just update` --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index c6d92de4..f6223bf0 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1717097707, - "narHash": "sha256-HC5vJ3oYsjwsCaSbkIPv80e4ebJpNvFKQTBOGlHvjLs=", + "lastModified": 1717525419, + "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", "owner": "nix-community", "repo": "home-manager", - "rev": "0eb314b4f0ba337e88123e0b1e57ef58346aafd9", + "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716948383, - "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", "type": "github" }, "original": { From 00d9a75c3ed0b4693dae59c4079cd37e409c1eb1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jun 2024 01:51:18 +0100 Subject: [PATCH 0827/2258] Change date format Change the date format used by `i3status-rs`. --- lib/nixos/home-manager/modules/sway.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index a7402961..9c6f67a2 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -34,7 +34,7 @@ { block = "time"; interval = 1; - format = " $timestamp.datetime(f:'%F %T') "; + format = " $timestamp.datetime(f:'%d-%m-%Y %T') "; } ]; From a87750cd30a1385986b58df59d3c0cf5090d5293 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jun 2024 20:51:23 +0100 Subject: [PATCH 0828/2258] Tweak performance and battery optimisation settings Based on https://github.com/MatthewCroughan/nixcfg and other sources. --- lib/nixos/configuration.nix | 17 +++++++++++++++++ lib/nixos/hardware-configuration.nix | 11 +++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 3d0bf11d..e012ac5c 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -26,6 +26,23 @@ in { boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot/efi"; + services.thermald.enable = true; + services.power-profiles-daemon.enable = false; + + services.tlp = { + enable = true; + + settings = { + PCIE_ASPM_ON_BAT = "powersupersave"; + CPU_SCALING_GOVERNOR_ON_AC = "performance"; + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + CPU_MAX_PERF_ON_AC = "100"; + CPU_MAX_PERF_ON_BAT = "30"; + STOP_CHARGE_THRESH_BAT1 = "95"; + STOP_CHARGE_THRESH_BAT0 = "95"; + }; + }; + systemd.extraConfig = '' DefaultTimeoutStopSec=10s ''; diff --git a/lib/nixos/hardware-configuration.nix b/lib/nixos/hardware-configuration.nix index 69d1e452..e9fe2e54 100644 --- a/lib/nixos/hardware-configuration.nix +++ b/lib/nixos/hardware-configuration.nix @@ -5,10 +5,17 @@ [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; - boot.kernelParams = [ "i8042.reset" ]; + boot.kernelParams = [ + "i915.modeset=1" + "i915.fastboot=1" + "i915.enable_guc=2" + "i915.enable_psr=1" + "i915.enable_fbc=1" + "i915.enable_dc=2" + ]; boot.extraModulePackages = [ ]; - boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = pkgs.linuxPackages_zen; hardware.enableAllFirmware = true; fileSystems."/" = { From f952e2d6b893b1dde32464d2cf92fc88f27a982c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jun 2024 20:51:23 +0100 Subject: [PATCH 0829/2258] Refactor zsh configuration * Move aliases into `programs.zsh.shellAliases` and `programs.shellGlobalAliases`. * Use the `MenkeTechnologies/zsh-expand` plugin instead of using custom expansion code. https://github.com/MenkeTechnologies/zsh-expand --- lib/shared/modules/zsh.nix | 284 +++++++++++++------------------------ 1 file changed, 99 insertions(+), 185 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index c5c30054..0451d9d5 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -6,58 +6,76 @@ enableCompletion = false; dotDir = ".config/zsh"; + shellAliases = { + dea = "direnv allow"; + dee = "direnv edit"; + cat = "bat"; + cs = "create-script"; + daily = "run create-daily next"; + ls = "lsd"; + run = "./run"; + s = "secrets"; + secrets = "doppler --project \"$(whoami)\" run"; + switch = "run nixos nixedo switch"; + sz = "source ~/.config/zsh/.zshrc"; + tag = "tag-release"; + wt = "git worktree"; + vss = "LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; + + # tmux + ta = "tmux attach"; + tl = "tmux list-sessions"; + tk = "tmux kill-session"; + + # Docker and Docker Compose. + dk = "docker"; + dkp = "docker ps"; + dkpa = "docker ps -a"; + dkpaq = "docker ps -a -q"; + dkb = "docker build -t"; + dks = "docker start"; + dkt = "docker stop"; + dkrm = "docker rm"; + dkri = "docker rmi"; + dke = "docker exec -ti"; + dkl = "docker logs -f"; + dki = "docker images"; + dkpu = "docker pull"; + dkph = "docker push"; + dkbnc = "docker build --no-cache -t"; + dkr = "docker run --rm"; + dkrti = "docker run --rm -ti"; + dkc = "docker compose"; + dkcb = "docker compose build"; + dkcu = "docker compose up"; + dkclean = "docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi"; + + # run scripts. + r = "run"; + rc = "run composer"; + rd = "run drush"; + rdcr = "run drush cr"; + rdup = "run drush updb -y"; + rdce = "run drush config:export -y"; + rdci = "run drush config:import -y"; + rduli = "run drush uli"; + }; + + shellGlobalAliases = { + A1 = "| awk '{print \$1}'"; + Fj = "| jq ."; + Fy = "| yq ."; + G = "| grep"; + GH = "| grep HTTP"; + Gi = "| grep -i"; + H2 = "| head -n 20"; + H = "| head"; + L = "| less"; + V = "| vim -"; + X = "| xargs -I1"; + }; + initExtra = '' - # Based on https://github.com/rwxrob/dot/blob/f4240010a82609da352b203103ab548f213a4328/.bashrc#L313. - clone() { - repo_url="$1" - - # Extract the remote domain (e.g. github.com) from the repo URL. - domain="''${repo_url#*://}" - if [[ "''${domain}" == *@*:* ]]; then - # SSH repo URL: domain ends at the colon. - domain="''${domain#*@}" - domain="''${domain%%:*}" - else - # HTTPS repo URL: domain ends at the slash. - domain="''${domain%%/*}" - fi - - # TODO: make it work with multi-level URLS - e.g. https://gitlab.com/a/b/c/d.git - - user_and_repo_name="''${repo_url}" - user_and_repo_name="''${user_and_repo_name#git@bitbucket.org:}" - user_and_repo_name="''${user_and_repo_name#git@github.com:}" - user_and_repo_name="''${user_and_repo_name#git@gitlab.com:}" - user_and_repo_name="''${user_and_repo_name#https://bitbucket.org/}" - user_and_repo_name="''${user_and_repo_name#https://github.com/}" - user_and_repo_name="''${user_and_repo_name#https://gitlab.com/}" - - if [[ "''${user_and_repo_name}" =~ / ]]; then - user="''${user_and_repo_name%%/*}" - else - user="$GITUSER" - [[ -z "$user" ]] && user="$USER" - fi - - repo_name="''${user_and_repo_name##*/}" - repo_name="''${repo_name%.git}" - - user_path="''${REPOS}/''${domain}/''${user}" - - repo_path="''${user_path}/''${repo_name}" - - [[ -d "''${repo_path}" ]] && t "''${repo_path}" && return - - ${pkgs.coreutils}/bin/mkdir -p "''${user_path}" - pushd "''${user_path}" - - echo ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" - ${pkgs.git}/bin/git clone "''${repo_url}" "''${repo_name}" - - popd - t "''${repo_path}" - } - git() { if [[ "''${1}" == "root" ]]; then shift @@ -105,6 +123,7 @@ } # Plugins + source "''${ZPLUG_REPOS}/MenkeTechnologies/zsh-expand/zsh-expand.plugin.zsh" source "''${ZPLUG_REPOS}/joshskidmore/zsh-fzf-history-search/zsh-fzf-history-search.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" @@ -144,140 +163,6 @@ # bindkey '^J' clear-tree-2 # bindkey '^K' clear-ls-all - # auto-completes aliases - # enables to define - # - normal aliases (completed with trailing space) - # - blank aliases (completed without space) - # - ignored aliases (not completed) - - # ignored aliases - typeset -a ialiases - ialiases=() - - ialias() { - alias $@ - args="$@" - args=''${args%%\=*} - ialiases+=(''${args##* }) - } - - # blank aliases - typeset -a baliases - baliases=() - - balias() { - alias $@ - args="$@" - args=''${args%%\=*} - baliases+=(''${args##* }) - } - - expand-alias-space() { - [[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$? - if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then - zle _expand_alias - fi - - zle self-insert - - if [[ "$insertBlank" = "0" ]]; then - zle backward-delete-char - fi - } - - zle -N expand-alias-space - - bindkey " " expand-alias-space - bindkey -M isearch " " magic-space - - alias dea='direnv allow' - alias dee='direnv edit' - - ialias cat="bat" - ialias cs="create-script" - ialias daily="run create-daily next" - ialias ls="lsd" - ialias run="./run" - ialias s="secrets" - ialias secrets="doppler --project \"$(whoami)\" run" - ialias switch="run nixos nixedo switch" - ialias sz="source ~/.config/zsh/.zshrc" - ialias tag="tag-release" - ialias uncommit="git reset --soft HEAD^"; - ialias wt="git worktree" - ialias vss="LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add" - balias lh3="xdg-open http://localhost:3000" - balias lh8="xdg-open http://localhost:8000" - - # tmux - alias ta="tmux attach" - alias tl="tmux list-sessions" - alias tk="tmux kill-session" - - # Docker and Docker Compose. - alias dk="docker" - alias dkp="docker ps" - alias dkpa="docker ps -a" - alias dkpaq="docker ps -a -q" - alias dkb="docker build -t" - alias dks="docker start" - alias dkt="docker stop" - alias dkrm="docker rm" - alias dkri="docker rmi" - alias dke="docker exec -ti" - alias dkl="docker logs -f" - alias dki="docker images" - alias dkpu="docker pull" - alias dkph="docker push" - alias dkbnc="docker build --no-cache -t" - alias dkr="docker run --rm" - alias dkrti="docker run --rm -ti" - alias dkc="docker compose" - alias dkcb="docker compose build" - alias dkcu="docker compose up" - alias dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" - - # Nix and NixOS. - alias nx="nix" - alias nxb="nix build --json --no-link --print-build-logs" - alias nxd="nix develop" - alias nxf="nix flake" - alias nxfu="nix flake update" - alias nxs="nix shell" - ialias full-system-clean='nix-collect-garbage -d && sudo nix-collect-garbage -d' - ialias full-system-repair='nix-store --verify --check-contents --repair' - ialias full-system-upgrade="sudo nixos-rebuild switch --upgrade && nix-env -u '*'" - ialias list-system-configurations='\ls -l /nix/var/nix/profiles/system-*-link' - ialias local-upgrade="nix-channel --update nixpkgs && nix-env -u '*'" - ialias set-default-boot='/run/current-system/bin/switch-to-configuration boot' - ialias system-rebuild='sudo nixos-rebuild switch' - ialias system-repair='sudo nixos-rebuild switch --repair' - ialias system-upgrade-information='sudo nixos-rebuild switch --upgrade dry-build' - - alias tf="terraform" - - # run scripts. - alias r="run" - alias rc="run composer" - alias rd="run drush" - alias rdcr="run drush cr" - alias rdup="run drush updb -y" - alias rdce="run drush config:export -y" - alias rdci="run drush config:import -y" - alias rduli="run drush uli" - - alias -g A1="| awk '{print \$1}'" - alias -g Fj='| jq .' - alias -g Fy='| yq .' - alias -g G='| grep' - alias -g GH='| grep HTTP' - alias -g Gi='| grep -i' - alias -g H2='| head -n 20' - alias -g H='| head' - alias -g L='| less' - alias -g V='| vim -' - alias -g X='| xargs -I1' - setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups @@ -296,9 +181,38 @@ name = "plugin/vi-mode"; tags = [ "from:oh-my-zsh" ]; } + + { name = "MenkeTechnologies/zsh-expand"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } ]; }; }; + + programs.zsh.localVariables = { + ZPWR_EXPAND = true; + ZPWR_EXPAND_BLACKLIST = [ + "cat" + "cs" + "daily" + "full-system-clean" + "full-system-repair" + "full-system-upgrade" + "list-system-configurations" + "set-default-boot" + "system-rebuld" + "system-repair" + "system-upgrade-information" + "ls" + "run" + "s" + "secrets" + "sz" + "tag" + "vss" + "wt" + ]; + ZPWR_EXPAND_NATIVE = true; + ZPWR_EXPAND_SECOND_POSITION = true; + }; } From 7c06364329462f0b35f73e4b11b0bc014956994e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jun 2024 20:55:21 +0100 Subject: [PATCH 0830/2258] Reapply "Remove starship" This reverts commit e4923e708e878e748b5d23e29be2f2eecf3ab269. --- lib/shared/home-manager.nix | 1 - lib/shared/modules/starship.nix | 1 - lib/shared/modules/zsh.nix | 4 ++++ 3 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 lib/shared/modules/starship.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 95d98e6c..ed9ba585 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -18,7 +18,6 @@ ./modules/nnn.nix ./modules/phpactor.nix ./modules/ripgrep.nix - ./modules/starship.nix ./modules/syncthing.nix ./modules/tmux.nix ./modules/wezterm.nix diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix deleted file mode 100644 index 88660a48..00000000 --- a/lib/shared/modules/starship.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.starship.enable = true; } diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 0451d9d5..069073c3 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -173,6 +173,10 @@ enable = true; plugins = [ + { + name = "themes/robbyrussell"; + tags = [ "from:oh-my-zsh" "as:theme" ]; + } { name = "plugin/git"; tags = [ "from:oh-my-zsh" ]; From 11d0c5ab3e9d4d1b7808469d6a2af182289d1b96 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jun 2024 21:05:01 +0100 Subject: [PATCH 0831/2258] Set `systemd-boot` configuration limit --- lib/nixos/configuration.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index e012ac5c..d233a597 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -22,9 +22,19 @@ in { nixpkgs.config.allowUnfree = true; # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.efi.efiSysMountPoint = "/boot/efi"; + boot = { + loader = { + systemd-boot = { + enable = true; + configurationLimit = 10; + }; + + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot/efi"; + }; + }; + }; services.thermald.enable = true; services.power-profiles-daemon.enable = false; From 14a1f177a0fd8267fbe53bd52dcfc12ce7e163d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 9 Jun 2024 21:06:05 +0100 Subject: [PATCH 0832/2258] Update `flake.lock` dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f6223bf0..fb55f4b7 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1717525419, - "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", + "lastModified": 1717931644, + "narHash": "sha256-Sz8Wh9cAiD5FhL8UWvZxBfnvxETSCVZlqWSYWaCPyu0=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", + "rev": "3d65009effd77cb0d6e7520b68b039836a7606cf", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717602782, - "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", + "lastModified": 1717786204, + "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", + "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", "type": "github" }, "original": { @@ -77,11 +77,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1717249712, - "narHash": "sha256-bVTVPazXfJP60YsCxxu/QBEiBJRLHAPRf2xFxIeN3ZY=", + "lastModified": 1717870359, + "narHash": "sha256-L/iiU/P3Llk0u++On1+OtgTZYxkon7zHNMJI6QPQAQY=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "421edb67b2b4d60811fa5b1ef63c28d52e580490", + "rev": "83a317f5160af76d54f749eb873f0fba75053b37", "type": "github" }, "original": { From 7f2df5f72672f4a94ed56c39292b4cb239104480 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 10 Jun 2024 09:31:28 +0100 Subject: [PATCH 0833/2258] Run `nix fmt` Format using `nixfmt-rfc-style`. --- flake.nix | 15 ++-- justfile | 3 + lib/nixos/configuration.nix | 91 ++++++++++++-------- lib/nixos/default.nix | 33 +++++-- lib/nixos/hardware-configuration.nix | 23 +++-- lib/nixos/home-manager/default.nix | 78 +++++++++++------ lib/nixos/home-manager/desktop.nix | 8 +- lib/nixos/home-manager/modules/dunst.nix | 6 +- lib/nixos/home-manager/modules/espanso.nix | 12 ++- lib/nixos/home-manager/modules/flameshot.nix | 3 +- lib/nixos/home-manager/modules/sway.nix | 42 +++++---- lib/nixos/modules/sway.nix | 33 ++++--- lib/shared/home-manager-packages.nix | 4 +- lib/shared/home-manager.nix | 8 +- lib/shared/modules/bin.nix | 3 +- lib/shared/modules/git.nix | 29 +++---- lib/shared/modules/neovim.nix | 6 +- lib/shared/modules/phpactor.nix | 3 +- lib/shared/modules/ripgrep.nix | 3 +- lib/shared/modules/tmux.nix | 13 ++- lib/shared/modules/wezterm.nix | 3 +- lib/shared/modules/zsh.nix | 9 +- lib/theme/default.nix | 3 +- lib/wsl2/default.nix | 48 +++++++---- 24 files changed, 317 insertions(+), 162 deletions(-) diff --git a/flake.nix b/flake.nix index e8865991..53b74964 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,8 @@ # build-configs.url = "github:OliverDaviesLtd/build-configs"; }; - outputs = { nixpkgs, self, ... }@inputs: + outputs = + { nixpkgs, self, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -26,11 +27,11 @@ mkWsl = import ./lib/wsl2 { inherit inputs self username; }; inherit (pkgs) mkShell; - in { - packages.${system}.default = - mkShell { buildInputs = with pkgs; [ just ]; }; + in + { + packages.${system}.default = mkShell { buildInputs = with pkgs; [ just ]; }; - formatter.${system} = pkgs.nixfmt-classic; + formatter.${system} = pkgs.nixfmt-rfc-style; nixosConfigurations = { apollo = mkNixos { @@ -44,6 +45,8 @@ }; }; - homeConfigurations = { wsl2 = mkWsl { system = "x86_64-linux"; }; }; + homeConfigurations = { + wsl2 = mkWsl { system = "x86_64-linux"; }; + }; }; } diff --git a/justfile b/justfile index 01b200bf..86c5bd40 100644 --- a/justfile +++ b/justfile @@ -4,6 +4,9 @@ _default: check: nix flake check +fmt: + nix fmt flake.nix lib + nixos-build *args: sudo nixos-rebuild build --flake . {{ args }} diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index d233a597..bb9a303e 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,24 +1,32 @@ -{ inputs, desktop ? false, hostname, self }: +{ + inputs, + desktop ? false, + hostname, + self, +}: { pkgs, ... }: let configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; executable = true; - text = let - schema = pkgs.gsettings-desktop-schemas; - datadir = "${schema}/share/gsettings-schemas/${schema.name}"; - in '' - export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS - gnome_schema=org.gnome.desktop.interface - gsettings set $gnome_schema gtk-theme 'Breeze Dark' - ''; + text = + let + schema = pkgs.gsettings-desktop-schemas; + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; + in + '' + export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS + gnome_schema=org.gnome.desktop.interface + gsettings set $gnome_schema gtk-theme 'Breeze Dark' + ''; }; theme = import "${self}/lib/theme" { inherit pkgs; }; username = "opdavies"; -in { +in +{ nixpkgs.config.allowUnfree = true; # Bootloader. @@ -126,7 +134,11 @@ in { users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; - extraGroups = [ "docker" "networkmanager" "wheel" ]; + extraGroups = [ + "docker" + "networkmanager" + "wheel" + ]; packages = with pkgs; [ ]; }; @@ -216,10 +228,13 @@ in { fonts = { fontconfig = { enable = true; - defaultFonts = { monospace = [ theme.fonts.monospace.name ]; }; + defaultFonts = { + monospace = [ theme.fonts.monospace.name ]; + }; }; - packages = with pkgs; + packages = + with pkgs; [ (nerdfonts.override { fonts = [ @@ -231,7 +246,8 @@ in { "JetBrainsMono" ]; }) - ] ++ [ theme.fonts.monospace.package ]; + ] + ++ [ theme.fonts.monospace.package ]; }; zramSwap.enable = true; @@ -247,31 +263,35 @@ in { settings = { auto-optimise-store = true; - experimental-features = [ "nix-command" "flakes" ]; + experimental-features = [ + "nix-command" + "flakes" + ]; warn-dirty = false; }; }; # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in { - enable = true; - plugins = - pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; + services.interception-tools = + let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in + { + enable = true; + plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; system.autoUpgrade = { enable = true; @@ -308,8 +328,7 @@ in { services.cron = { enable = true; - systemCronJobs = - [ "* * * * * opdavies /home/opdavies/.config/bin/notify-battery.sh" ]; + systemCronJobs = [ "* * * * * opdavies /home/opdavies/.config/bin/notify-battery.sh" ]; }; services.auto-cpufreq.enable = true; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 54fbec7c..9c994420 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,15 +1,36 @@ -{ inputs, self, username }: -{ desktop ? false, hostname }: +{ + inputs, + self, + username, +}: +{ + desktop ? false, + hostname, +}: let - configuration = - import ./configuration.nix { inherit desktop hostname inputs self; }; + configuration = import ./configuration.nix { + inherit + desktop + hostname + inputs + self + ; + }; hardwareConfiguration = import ./hardware-configuration.nix; -in inputs.nixpkgs.lib.nixosSystem { +in +inputs.nixpkgs.lib.nixosSystem { modules = [ inputs.home-manager.nixosModules.home-manager { home-manager = { - extraSpecialArgs = { inherit inputs desktop self username; }; + extraSpecialArgs = { + inherit + inputs + desktop + self + username + ; + }; useGlobalPkgs = true; useUserPackages = true; users."${username}" = import ./home-manager; diff --git a/lib/nixos/hardware-configuration.nix b/lib/nixos/hardware-configuration.nix index e9fe2e54..fdc44ea9 100644 --- a/lib/nixos/hardware-configuration.nix +++ b/lib/nixos/hardware-configuration.nix @@ -1,8 +1,20 @@ -{ config, lib, pkgs, modulesPath, ... }: { +{ + config, + lib, + pkgs, + modulesPath, + ... +}: +{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = - [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "sd_mod" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.kernelParams = [ @@ -28,7 +40,7 @@ fsType = "vfat"; }; - swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; + swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's @@ -41,6 +53,5 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; hardware.bluetooth.enable = true; - hardware.cpu.intel.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 3fd3a429..e6d5c3d0 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -1,34 +1,60 @@ -{ config, desktop, inputs, pkgs, self, username, ... }: +{ + config, + desktop, + inputs, + pkgs, + self, + username, + ... +}: let - desktop-config = - import ./desktop.nix { inherit config inputs pkgs username; }; + desktop-config = import ./desktop.nix { + inherit + config + inputs + pkgs + username + ; + }; shared-config = import "${self}/lib/shared/home-manager.nix" { - inherit inputs pkgs self username; + inherit + inputs + pkgs + self + username + ; }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { - inherit inputs pkgs; - }; -in { + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit inputs pkgs; }; +in +{ imports = - if desktop then [ desktop-config shared-config ] else [ shared-config ]; + if desktop then + [ + desktop-config + shared-config + ] + else + [ shared-config ]; - home.packages = shared-packages ++ pkgs.lib.optionals desktop [ - pkgs.discord - pkgs.gimp - pkgs.gscan2pdf - pkgs.kdenlive - pkgs.meslo-lg - pkgs.obs-studio - pkgs.okular - pkgs.pamixer - pkgs.pass - pkgs.pavucontrol - pkgs.pinentry - pkgs.via - pkgs.xsel - pkgs.xcape - pkgs.zoom-us - ]; + home.packages = + shared-packages + ++ pkgs.lib.optionals desktop [ + pkgs.discord + pkgs.gimp + pkgs.gscan2pdf + pkgs.kdenlive + pkgs.meslo-lg + pkgs.obs-studio + pkgs.okular + pkgs.pamixer + pkgs.pass + pkgs.pavucontrol + pkgs.pinentry + pkgs.via + pkgs.xsel + pkgs.xcape + pkgs.zoom-us + ]; home.sessionVariables = { EDITOR = "nvim"; diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 0c053f6b..91d1927d 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -1,4 +1,10 @@ -{ config, inputs, pkgs, username, }: { +{ + config, + inputs, + pkgs, + username, +}: +{ imports = [ ./modules/copyq.nix ./modules/dunst.nix diff --git a/lib/nixos/home-manager/modules/dunst.nix b/lib/nixos/home-manager/modules/dunst.nix index 12b394eb..27792de2 100644 --- a/lib/nixos/home-manager/modules/dunst.nix +++ b/lib/nixos/home-manager/modules/dunst.nix @@ -2,6 +2,10 @@ services.dunst = { enable = true; - settings = { global = { follow = "keyboard"; }; }; + settings = { + global = { + follow = "keyboard"; + }; + }; }; } diff --git a/lib/nixos/home-manager/modules/espanso.nix b/lib/nixos/home-manager/modules/espanso.nix index e8b27cdb..e27d6964 100644 --- a/lib/nixos/home-manager/modules/espanso.nix +++ b/lib/nixos/home-manager/modules/espanso.nix @@ -1,9 +1,15 @@ -let baseUrl = "https://www.oliverdavies.uk"; -in { +let + baseUrl = "https://www.oliverdavies.uk"; +in +{ services.espanso = { enable = true; - configs = { default = { show_notifications = false; }; }; + configs = { + default = { + show_notifications = false; + }; + }; matches = { base = { diff --git a/lib/nixos/home-manager/modules/flameshot.nix b/lib/nixos/home-manager/modules/flameshot.nix index 04f9fe4c..c27e3458 100644 --- a/lib/nixos/home-manager/modules/flameshot.nix +++ b/lib/nixos/home-manager/modules/flameshot.nix @@ -1,4 +1,5 @@ -{ username, ... }: { +{ username, ... }: +{ services.flameshot = { enable = true; diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix index 9c6f67a2..bf6ea6a4 100644 --- a/lib/nixos/home-manager/modules/sway.nix +++ b/lib/nixos/home-manager/modules/sway.nix @@ -1,4 +1,9 @@ -{ config, inputs, pkgs, ... }: +{ + config, + inputs, + pkgs, + ... +}: { programs.i3status-rust = { @@ -64,18 +69,19 @@ xwayland = true; config = { - bars = [{ - colors.background = "#111111"; + bars = [ + { + colors.background = "#111111"; - fonts = { - names = [ "JetBrainsMono Nerd Font Mono" ]; - size = 12.0; - }; + fonts = { + names = [ "JetBrainsMono Nerd Font Mono" ]; + size = 12.0; + }; - statusCommand = - "i3status-rs ~/.config/i3status-rust/config-default.toml"; - trayPadding = 5; - }]; + statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; + trayPadding = 5; + } + ]; defaultWorkspace = "workspace number 1"; @@ -85,7 +91,9 @@ }; input = { - "*" = { xkb_layout = "gb"; }; + "*" = { + xkb_layout = "gb"; + }; "type:touchpad" = { dwt = "enabled"; @@ -94,8 +102,10 @@ }; keybindings = - let modifier = config.wayland.windowManager.sway.config.modifier; - in inputs.nixpkgs.lib.mkOptionDefault { + let + modifier = config.wayland.windowManager.sway.config.modifier; + in + inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+Escape" = "exec swaylock --daemonize"; "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; @@ -112,7 +122,9 @@ # bg = "~/.config/wallpaper/wallpaper.jpg fill"; # }; - eDP-1 = { scale = "1.0"; }; + eDP-1 = { + scale = "1.0"; + }; }; terminal = "wezterm"; diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix index 0e2d4762..a3c69816 100644 --- a/lib/nixos/modules/sway.nix +++ b/lib/nixos/modules/sway.nix @@ -1,5 +1,6 @@ { inputs, username, ... }: -{ pkgs, ... }: { +{ pkgs, ... }: +{ services.displayManager.defaultSession = "sway"; programs.sway.enable = true; @@ -9,16 +10,24 @@ extraPortals = with pkgs; [ xdg-desktop-portal-wlr ]; }; - home-manager.users.${username} = { pkgs, ... }: { - home.sessionVariables = { - MOZ_ENABLE_WAYLAND = "1"; - MOZ_USE_XINPUT2 = "1"; - QT_QPA_PLATFORM = "wayland"; - SDL_VIDEODRIVER = "wayland"; - XDG_CURRENT_DESKTOP = "sway"; - XDG_SESSION_TYPE = "wayland"; - }; + home-manager.users.${username} = + { pkgs, ... }: + { + home.sessionVariables = { + MOZ_ENABLE_WAYLAND = "1"; + MOZ_USE_XINPUT2 = "1"; + QT_QPA_PLATFORM = "wayland"; + SDL_VIDEODRIVER = "wayland"; + XDG_CURRENT_DESKTOP = "sway"; + XDG_SESSION_TYPE = "wayland"; + }; - home.packages = with pkgs; [ i3status swaybg wdisplays wl-clipboard wofi ]; - }; + home.packages = with pkgs; [ + i3status + swaybg + wdisplays + wl-clipboard + wofi + ]; + }; } diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index d8af11d8..952a0ea0 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -2,7 +2,9 @@ let php = pkgs.php82; phpPackages = pkgs.php82Packages; -in with pkgs; [ +in +with pkgs; +[ inputs.build-configs.packages.${pkgs.system}.default awscli2 diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index ed9ba585..be14456d 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -1,4 +1,10 @@ -{ inputs, pkgs, username, self, }: { +{ + inputs, + pkgs, + username, + self, +}: +{ home.username = "${username}"; home.homeDirectory = "/home/${username}"; diff --git a/lib/shared/modules/bin.nix b/lib/shared/modules/bin.nix index 99ce67e8..bd4ed852 100644 --- a/lib/shared/modules/bin.nix +++ b/lib/shared/modules/bin.nix @@ -1,4 +1,5 @@ -{ self, ... }: { +{ self, ... }: +{ home.sessionPath = [ "$HOME/.local/bin" ]; home.file.".local/bin" = { diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index a5b6ff4f..381dcf5f 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -34,10 +34,12 @@ userName = "Oliver Davies"; userEmail = "oliver@oliverdavies.dev"; - includes = [{ - condition = "gitdir:~/Code/bitbucket.org/transportforwales/"; - contents.user.email = "oliver.davies@tfw.wales"; - }]; + includes = [ + { + condition = "gitdir:~/Code/bitbucket.org/transportforwales/"; + contents.user.email = "oliver.davies@tfw.wales"; + } + ]; aliases = { aa = "add --all"; @@ -54,12 +56,10 @@ current-branch = "rev-parse --abbrev-ref HEAD"; dc = "diff --color --word-diff --cached"; df = "diff --color --word-diff"; - dup = - "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; fixup = "commit --fixup"; issues = "!gh issue list --web"; - mup = - "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; no-ff = "merge --no-ff"; pl = "pull"; prune = "remote prune origin"; @@ -71,12 +71,10 @@ repush = "!git pull --rebase && git push"; ri = "rebase --interactive"; rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = - "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; rip = "!git rebase -i $(git merge-base production HEAD)"; ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = - "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; sl = "log --oneline --decorate -20"; sla = "log --oneline --decorate --graph --all -20"; @@ -87,8 +85,7 @@ unassume = "update-index --no-assume-unchanged"; uncommit = "reset --soft HEAD^"; unstage = "reset"; - update = - "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; + update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; ureset = "!git reset --hard $(git upstream)"; worktrees = "worktree list"; @@ -103,7 +100,9 @@ checkout.defaultRemote = "origin"; color.ui = true; column.ui = "auto"; - commit = { template = "~/.gitmessage"; }; + commit = { + template = "~/.gitmessage"; + }; core = { editor = "nvim"; excludesFile = "~/.config/git/ignore"; diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index 28bf5c48..2bd540e8 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -1,7 +1,9 @@ { inputs }: { pkgs, ... }: -let system = pkgs.system; -in { +let + system = pkgs.system; +in +{ programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager { inherit system; }; home.file.".markdownlint.yaml".text = '' diff --git a/lib/shared/modules/phpactor.nix b/lib/shared/modules/phpactor.nix index 12370230..ba4c1dd6 100644 --- a/lib/shared/modules/phpactor.nix +++ b/lib/shared/modules/phpactor.nix @@ -1,4 +1,5 @@ -{ self, ... }: { +{ self, ... }: +{ xdg.configFile.phpactor = { source = "${self}/config/phpactor"; recursive = true; diff --git a/lib/shared/modules/ripgrep.nix b/lib/shared/modules/ripgrep.nix index e817c775..2d6aa72f 100644 --- a/lib/shared/modules/ripgrep.nix +++ b/lib/shared/modules/ripgrep.nix @@ -1,4 +1,5 @@ -{ pkgs, ... }: { +{ pkgs, ... }: +{ home.packages = with pkgs; [ ripgrep ]; xdg.configFile."ripgrep/config".text = '' diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 9ed869b1..cf86cbd6 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -1,6 +1,8 @@ { pkgs, ... }: -let inherit (pkgs) tmuxPlugins; -in { +let + inherit (pkgs) tmuxPlugins; +in +{ programs.tmux = { enable = true; @@ -106,7 +108,10 @@ in { if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; - plugins = - [ tmuxPlugins.resurrect tmuxPlugins.vim-tmux-navigator tmuxPlugins.yank ]; + plugins = [ + tmuxPlugins.resurrect + tmuxPlugins.vim-tmux-navigator + tmuxPlugins.yank + ]; }; } diff --git a/lib/shared/modules/wezterm.nix b/lib/shared/modules/wezterm.nix index 028dd332..87324d5d 100644 --- a/lib/shared/modules/wezterm.nix +++ b/lib/shared/modules/wezterm.nix @@ -1,7 +1,8 @@ { pkgs, self, ... }: let theme = import "${self}/lib/theme" { inherit pkgs; }; -in { +in +{ programs.wezterm = { enable = true; enableZshIntegration = true; diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 069073c3..7c1a8d07 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -15,7 +15,7 @@ ls = "lsd"; run = "./run"; s = "secrets"; - secrets = "doppler --project \"$(whoami)\" run"; + secrets = ''doppler --project "$(whoami)" run''; switch = "run nixos nixedo switch"; sz = "source ~/.config/zsh/.zshrc"; tag = "tag-release"; @@ -62,7 +62,7 @@ }; shellGlobalAliases = { - A1 = "| awk '{print \$1}'"; + A1 = "| awk '{print $1}'"; Fj = "| jq ."; Fy = "| yq ."; G = "| grep"; @@ -175,7 +175,10 @@ plugins = [ { name = "themes/robbyrussell"; - tags = [ "from:oh-my-zsh" "as:theme" ]; + tags = [ + "from:oh-my-zsh" + "as:theme" + ]; } { name = "plugin/git"; diff --git a/lib/theme/default.nix b/lib/theme/default.nix index da88d1b7..bd1f3766 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -1,4 +1,5 @@ -{ pkgs, ... }: { +{ pkgs, ... }: +{ fonts = { monospace = { name = "MesloLGSDZ Nerd Font Mono"; diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 2f400a8a..279788c5 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -1,31 +1,43 @@ -{ inputs, self, username }: +{ + inputs, + self, + username, +}: { system }: let pkgs = inputs.nixpkgs.legacyPackages.${system}; shared-config = import "${self}/lib/shared/home-manager.nix" { - inherit inputs pkgs self username; + inherit + inputs + pkgs + self + username + ; }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { - inherit inputs pkgs; - }; -in inputs.home-manager.lib.homeManagerConfiguration { + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit inputs pkgs; }; +in +inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; - extraSpecialArgs = { inherit self; }; + extraSpecialArgs = { + inherit self; + }; - modules = [{ - imports = [ shared-config ]; + modules = [ + { + imports = [ shared-config ]; - home.packages = shared-packages; + home.packages = shared-packages; - home.sessionVariables = { - EDITOR = "nvim"; - PATH = "$PATH:./vendor/bin:./node_modules/.bin"; - PULUMI_SKIP_UPDATE_CHECK = "true"; - REPOS = "$HOME/Code"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; - }; - }]; + home.sessionVariables = { + EDITOR = "nvim"; + PATH = "$PATH:./vendor/bin:./node_modules/.bin"; + PULUMI_SKIP_UPDATE_CHECK = "true"; + REPOS = "$HOME/Code"; + RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; + }; + } + ]; } From cda7e38284147b427ca07fae24e6811d1400dd79 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 10 Jun 2024 10:18:40 +0100 Subject: [PATCH 0834/2258] Update `opdavies.nvim` to the latest version --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index fb55f4b7..096c2bfe 100644 --- a/flake.lock +++ b/flake.lock @@ -77,11 +77,11 @@ "nixpkgs-2305": "nixpkgs-2305" }, "locked": { - "lastModified": 1717870359, - "narHash": "sha256-L/iiU/P3Llk0u++On1+OtgTZYxkon7zHNMJI6QPQAQY=", + "lastModified": 1718010124, + "narHash": "sha256-nnsPTbO4FhNYmm4PlhYjTFqcmnOvuB2OXAOv/8NC7f4=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "83a317f5160af76d54f749eb873f0fba75053b37", + "rev": "b00cef78afe53a421d6e7115dd8139ccddf01db4", "type": "github" }, "original": { From 8ad1637c57754381303a8c95659b09b5b5b0288e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Jun 2024 07:37:49 +0100 Subject: [PATCH 0835/2258] Switch from NixOS unstable to 24.05 by default --- flake.lock | 32 +++++++++++++++++++++++++------- flake.nix | 6 ++++-- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 096c2bfe..01dd182c 100644 --- a/flake.lock +++ b/flake.lock @@ -24,31 +24,32 @@ ] }, "locked": { - "lastModified": 1717931644, - "narHash": "sha256-Sz8Wh9cAiD5FhL8UWvZxBfnvxETSCVZlqWSYWaCPyu0=", + "lastModified": 1717527182, + "narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=", "owner": "nix-community", "repo": "home-manager", - "rev": "3d65009effd77cb0d6e7520b68b039836a7606cf", + "rev": "845a5c4c073f74105022533907703441e0464bc3", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1717786204, - "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "lastModified": 1717952948, + "narHash": "sha256-mJi4/gjiwQlSaxjA6AusXBN/6rQRaPCycR7bd8fydnQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "rev": "2819fffa7fa42156680f0d282c60d81e8fb185b7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -69,6 +70,22 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1717786204, + "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "opdavies-nvim": { "inputs": { "nixpkgs": [ @@ -95,6 +112,7 @@ "build-configs": "build-configs", "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable", "opdavies-nvim": "opdavies-nvim" } } diff --git a/flake.nix b/flake.nix index 53b74964..0c4adcc5 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,11 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager"; + home-manager.url = "github:nix-community/home-manager/release-24.05"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; From 1b629cb355fddda83fed5215329177a5016664b8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Jun 2024 22:14:44 +0100 Subject: [PATCH 0836/2258] Update CHANGELOG --- .markdownlint.yaml | 1 + CHANGELOG.md | 428 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 428 insertions(+), 1 deletion(-) create mode 100644 .markdownlint.yaml diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 00000000..ff7d7cc8 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1 @@ +MD013: false diff --git a/CHANGELOG.md b/CHANGELOG.md index 37e71dbb..4cd594b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,432 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 11th June 2024 + +### Changed + +- Switch from NixOS unstable to 24.05. + +## 10th June 2024 + +### Updated + +- Update `opdavies.nvim` to the latest version. + +### Changed + +- Format code in `flake.nix` and `lib` with the new `nixfmt-rfc-style`. + +## 9th June 2024 + +### Changed + +- Set the `systemd-boot` configuration limit to 10. +- Refactor zsh configuration. + - Use for expanding ZSH aliases instead of custom code. + - Use `programs.zsh.shellAliases` and `programs.zsh.shellGlobalAliases` for declaring aliases instead of `programs.zsh.initExtra`. +- Tweak battery and performance settings. +- Change the date format used in `i3status-rs`. + +### Removed + +- Remove the `starship` prompt. + +### Updated + +- Update flake lock dependencies. + +## 6th June 2024 + +### Updated + +- Update flake lock dependencies. + +## 2nd July 2024 + +### Added + +- Re-add the `starship` prompt. + +## 1st July 2024 + +### Updated + +- Update flake lock dependencies. + +## 31st May 2024 + +### Added + +- Add keybindings to increase and decrease the volume in `mpv`. +- Add `mpv`. + +### Removed + +- Remove `vlc`. + +### Changed + +- Add `wezterm` as my default terminal to see how it compares to Alacritty. +- Rename `kanshi.profiles` to `kanshi.settings` as `kanshi.settings` is deprecated. + +### Updated + +- Update flake lock dependencies + +## 24th May 2024 + +### Added + +- Add `wezterm`. + +## 23rd May 2024 + +### Added + +- Add `simple-http-server`. + +## 22nd May 2024 + +### Added + +- Add GNOME as a desktop manager, working with Wayland and Sway. +- Add `vss` as an alias for sorting words in my Vim spellfile (`~/Code/personal/opdavies.nvim/spell/en.utf-8.add`). + +### Updated + +- Update flake lock dependencies. + +### Changed + +- Move Slack from Home Manager to the NixOS configuration. +- Add `build-configs` from its derivation. + +## 20th May 2024 + +### Added + +- Add `swaybg`. + +### Changed + +- Remove Git aliases I wasn't using and move the `update` ZSH alias to be `git update`. + +### Updated + +- Update flake lock dependencies. + +## 19th May 2024 + +### Updated + +- Update `kdenlive` and remove references to nixpkgs 23.11. +- Update flake lock dependencies. + +## 15th May 2024 + +### Added + +- Alias `cat` to `bat`. + +## 12th May 2024 + +### Added + +- Add a `todo` function to append to a `TODO.txt` file. +- Add a `til` function to append to a `TIL.txt` file. + +### Changed + +- Don't automatically run tmuxinator when starting a `tmux` session. + +### Updated + +- Update flake lock dependencies. + +## 11th May 2024 + +### Changed + +- Open `pavucontrol` and `copyq` in a floating window. +- Configure `lsd`. + +## 10th May 2024 + +### Added + +- Add `update-all-git-repos` script to update top-level Git repositories to their latest versions. +- Add `just` globally. + +## 9th May 2024 + +### Added + +- Add the `git root` command to navigate to or execute commands at the root of a Git repository. +- Add `yt-dlp`. +- Add `ttyper` and set some default values. + +### Changed + +- Use `.ignored/justfile` if it exists when running `just` commands. +- Update monitor resolution in `kanshi`. +- Move some desktop-specific packages to the desktop list. +- Allow passing arguments to the `just nixos-*` commands. + +### Fixed + +- Fix colours in `tmux` and copying to the system clipboard. + +### Updated + +- Update flake lock dependencies. + +### Removed + +- Remove references to `autotiling`, as it's no longer used. + +## 7th May 2024 + +### Changed + +- Update sway configuration. + +### Updated + +- Update flake lock dependencies. + +## 6th May 2024 + +### Changed + +- Replace periods with underscores in tmux session names. + +### Updated + +- Update flake lock dependencies. + +## 5th May 2024 + +### Changed + +- Change background colours in the sway bar. +- Source a `~/.tmux.conf.local` file, if it exists. + +### Fixed + +- Include the `zsh-fzf-history-search` plugin within `.zshrc`. + +### 4th May 2024 + +### Changed + +- Move `bin` into my `~/.local` directory. +- Add directories within `~/Code/personal`, `~/Code/work` and `/tmp` when fuzzy-finding directories for tmux sessions. +- Set the default workspace in `sway`. +- Stop automatically assigning apps to workspaces. + +### Removed + +- Remove `starship`. + +### Updated + +- Update lock file dependencies. + +## 3rd May 2024 + +### Changed + +- Simplify the directory structure within `bin/t`. + +## 2nd May 2024 + +### Added + +- Add `syncthing` as a service. + +### Changed + +- Make `Prefix-W` create a new tmux session in the wiki directory. + +### Updated + +- Update flake lock dependencies. + +## 30th April 2024 + +### Fixed + +- Automatically run `kanshi` when reloading sway so the resolution is correct. +- Allow for firewall connections to xdebug. + +### Updated + +- Update flake lock dependencies. + +## 25th April 2024 + +### Added + +- Add `ddev` and `mkcert`. + +## 23rd April 2024 + +### Added + +- Add scripts to easily start and stop Traefik. + +### Changed + +- Move `~/.config/bin` to `~/bin`. + +## 19th April 2024 + +### Changed + +- Use `fzf` for searching ZSH history. + +## 18th April 2024 + +### Updated + +- Update flake lock dependencies. + +## 17th April 2024 + +### Added + +- Make `clone` work with HTTPS URLs. +- Add a `$REPOS` environment variable that links to my code repository directory (`~/Code`). + +### Fixed + +- Update Bitbucket URLs within the `clone` function. + +### Updated + +- Update flake lock dependencies. + +## 16th April 2024 + +### Added + +- Add a `clone` function for cloning Git repositories into the correct directory based on service provider and organisation name. + +## 8th April 2024 + +### Changed + +- Move `wsl2-*` commands to justfile. + +### Updated + +- Update flake lock dependencies. + +## 7th April 2024 + +### Added + +- Add `atuin` for searching shell history. + +### Updated + +- Update flake lock dependencies. + +## 4th April 2024 + +### Updated + +- Update `opdavies.nvim` to the latest version. + +## 3rd April 2024 + +### Changed + +- Enable smart gaps in sway. + +## 1st April 2024 + +### Changed + +- Remove support for `.tmuxinator.yml` files in `bin/t`. + +## 31st March 2024 + +### Added + +- Re-add autotiling with sway. + +### Changed + +- Use MesloLGSDZ Nerd Font Mono as the default monospace font. + +### Updated + +- Update `opdavies.nvim` to the latest version. + +--- + +## 30th March 2024 + +### Added + +- Add a keybinding to open Thunar. +- Add support for `.tmuxinator.yaml` files to `bin/t`. + +### Changed + +- Switch `awscli2` back to unstable. +- Replace `.tmux` with `tmuxinator`. + +## 29th March 2024 + +### Changed + +- Remove flake parts from `flake.nix`. + +## 26th March 2024 + +### Added + +- Add `tmuxinator`. + +### Changed + +- Use a `.ignored/.tmuxinator.yml` file, if it exists. +- Simplify `nixos-*` recipes in `justfile`. +- Configure gtk. + +### Updated + +- Update `opdavies.nvim` to the latest version. + +## 25th March 2024 + +### Changed + +- Switch back to Wayland and Sway. +- Format with `nixfmt`. + +### Fixed + +- Fix `awscli2` build error. + +### Updated + +- Update flake lock dependencies. + +## 22nd March 2024 + +### Added + +- Re-add `autotiling`. + +### Changed + +- Enable floating windows by default for Zoom. +- Replace `watchexec` with `entr`. + ## 20th March 2024 ### Removed @@ -77,7 +503,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas * Add an i3 keybinding to open `thunar`. * Set the default i3 workspace. -## Changed +### Changed * Use `rofi` instead of `dmenu`. From 9f33af70a3f98e38a1046e7c8c4db66fed15fd2f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Jun 2024 23:38:24 +0100 Subject: [PATCH 0837/2258] Change status bar background colour --- CHANGELOG.md | 1 + lib/shared/modules/tmux.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cd594b2..53107fd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Changed +- Updated background colour in the tmux status bar. - Switch from NixOS unstable to 24.05. ## 10th June 2024 diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index cf86cbd6..90098fae 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -41,7 +41,7 @@ in set-option -g status-left " " set-option -g status-right " #{session_name} " set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=#242631" + set-option -g status-style "fg=#7C7D83 bg=#000000" set-option -g window-status-activity-style none set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " set-option -g window-status-current-style "fg=#E9E9EA" From 1869c6b223f7b9e7ac256b0d7c3c0c5679a82945 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Jun 2024 23:45:00 +0100 Subject: [PATCH 0838/2258] Try `firefox-wayland` --- CHANGELOG.md | 1 + lib/nixos/configuration.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53107fd6..e267612c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Instead of grouping changes by tag, they are grouped by the date they are releas ### Changed +- Switch to `firefox-wayland`. - Updated background colour in the tmux status bar. - Switch from NixOS unstable to 24.05. diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index bb9a303e..8c982db1 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -316,6 +316,7 @@ in programs.firefox = { enable = true; + package = pkgs.firefox-wayland; languagePacks = [ "en-GB" ]; preferences = { "intl.accept_languages" = "en-GB, en"; From 68813f3af767b602c8333933bd411d36301260a8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 11 Jun 2024 23:45:00 +0100 Subject: [PATCH 0839/2258] Fix battery notifications --- CHANGELOG.md | 4 ++++ bin/{notify-battery.sh => notify-battery} | 1 + lib/nixos/configuration.nix | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) rename bin/{notify-battery.sh => notify-battery} (98%) diff --git a/CHANGELOG.md b/CHANGELOG.md index e267612c..79b0aad9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ Instead of grouping changes by tag, they are grouped by the date they are releas - Updated background colour in the tmux status bar. - Switch from NixOS unstable to 24.05. +### Fixed + +- Fix battery and charging notifications. + ## 10th June 2024 ### Updated diff --git a/bin/notify-battery.sh b/bin/notify-battery similarity index 98% rename from bin/notify-battery.sh rename to bin/notify-battery index e6297f4c..e9e77b4c 100755 --- a/bin/notify-battery.sh +++ b/bin/notify-battery @@ -1,5 +1,6 @@ #!/usr/bin/env bash +set -o errexit set -o nounset set -o pipefail diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 8c982db1..8b606680 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -329,7 +329,7 @@ in services.cron = { enable = true; - systemCronJobs = [ "* * * * * opdavies /home/opdavies/.config/bin/notify-battery.sh" ]; + systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; }; services.auto-cpufreq.enable = true; From a7a979e17e5e341232fbb9bbb8a5587a298b6a20 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 12 Jun 2024 09:00:00 +0100 Subject: [PATCH 0840/2258] Add `move-firefox-screenshots` script --- CHANGELOG.md | 6 ++++++ bin/move-firefox-screenshots | 11 +++++++++++ 2 files changed, 17 insertions(+) create mode 100755 bin/move-firefox-screenshots diff --git a/CHANGELOG.md b/CHANGELOG.md index 79b0aad9..d1ec57df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), but adapt Instead of grouping changes by tag, they are grouped by the date they are released. +## 12th June 2024 + +### Added + +- Add `move-firefox-screenshots` - a script to move screenshots created in Firefox from my Downloads directory into my screenshots directory as there isn't a Firefox setting for this. + ## 11th June 2024 ### Changed diff --git a/bin/move-firefox-screenshots b/bin/move-firefox-screenshots new file mode 100755 index 00000000..d47e522d --- /dev/null +++ b/bin/move-firefox-screenshots @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +original_directory="${HOME}/Downloads" +new_directory="${HOME}/Pictures/Screenshots" + +find "${original_directory}" -mindepth 1 -maxdepth 1 -type f -name "Screenshot *" \ + -exec mv {} "${new_directory}" \; From 41386749b85fadf7830d7d3285dd2d809335b1fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 12:17:07 +0100 Subject: [PATCH 0841/2258] Use awesome window manager --- flake.lock | 25 ++++++++-- lib/nixos/configuration.nix | 6 ++- lib/nixos/default.nix | 3 +- lib/nixos/home-manager/desktop.nix | 4 +- lib/nixos/home-manager/modules/autorandr.nix | 52 ++++++++++++++++++++ lib/nixos/home-manager/modules/awesome.nix | 6 +++ lib/nixos/modules/awesome.nix | 9 ++++ lib/nixos/modules/gnome.nix | 4 +- 8 files changed, 100 insertions(+), 9 deletions(-) create mode 100644 lib/nixos/home-manager/modules/autorandr.nix create mode 100644 lib/nixos/home-manager/modules/awesome.nix create mode 100644 lib/nixos/modules/awesome.nix diff --git a/flake.lock b/flake.lock index 01dd182c..fbb04965 100644 --- a/flake.lock +++ b/flake.lock @@ -86,19 +86,36 @@ "type": "github" } }, + "nixpkgs-unstable_2": { + "locked": { + "lastModified": 1718160348, + "narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "57d6973abba7ea108bac64ae7629e7431e0199b6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "opdavies-nvim": { "inputs": { "nixpkgs": [ "nixpkgs" ], - "nixpkgs-2305": "nixpkgs-2305" + "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1718010124, - "narHash": "sha256-nnsPTbO4FhNYmm4PlhYjTFqcmnOvuB2OXAOv/8NC7f4=", + "lastModified": 1718217733, + "narHash": "sha256-gsx71BY4IFk4449YQEhsS+n8NiWRcsxncNhfvYqeewU=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "b00cef78afe53a421d6e7115dd8139ccddf01db4", + "rev": "2453186ee1c97e5e21f081bd9efa06f3b7ca9682", "type": "github" }, "original": { diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 8b606680..d2f0d2f1 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -115,7 +115,11 @@ in # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; - security.rtkit.enable = true; + + security = { + polkit.enable = true; + rtkit.enable = true; + }; services.pipewire = { enable = true; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 9c994420..17f875d8 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -37,8 +37,9 @@ inputs.nixpkgs.lib.nixosSystem { }; } + (import ./modules/awesome.nix) (import ./modules/gnome.nix) - (import ./modules/sway.nix { inherit inputs username; }) + # (import ./modules/sway.nix { inherit inputs username; }) configuration hardwareConfiguration diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 91d1927d..878638c7 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -6,6 +6,8 @@ }: { imports = [ + ./modules/autorandr.nix + ./modules/awesome.nix ./modules/copyq.nix ./modules/dunst.nix ./modules/espanso.nix @@ -13,7 +15,7 @@ ./modules/feh.nix ./modules/flameshot.nix ./modules/kanshi.nix - ./modules/sway.nix + # ./modules/sway.nix ./modules/mpv.nix ]; } diff --git a/lib/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix new file mode 100644 index 00000000..a057098b --- /dev/null +++ b/lib/nixos/home-manager/modules/autorandr.nix @@ -0,0 +1,52 @@ +{ username, ... }: { + services.autorandr.enable = true; + + xdg.configFile."autorandr/postswitch" = { + executable = true; + text = '' + #!/usr/bin/env bash + + feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; + ''; + }; + + programs.autorandr = { + enable = true; + + profiles = let + fingerprint = + "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + name = "eDP-1"; + in { + default = { + fingerprint = { "${name}" = fingerprint; }; + + config = { + "${name}" = { + enable = true; + mode = "1920x1080"; + }; + }; + }; + + desktop = { + config = { + "${name}".enable = false; + + "HDMI-1" = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; + }; + + fingerprint = { + "${name}" = fingerprint; + "HDMI-1" = + "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + }; + }; + }; + }; +} diff --git a/lib/nixos/home-manager/modules/awesome.nix b/lib/nixos/home-manager/modules/awesome.nix new file mode 100644 index 00000000..eb470a9f --- /dev/null +++ b/lib/nixos/home-manager/modules/awesome.nix @@ -0,0 +1,6 @@ +{ + xsession.windowManager.awesome = { + enable = true; + noArgb = true; + }; +} diff --git a/lib/nixos/modules/awesome.nix b/lib/nixos/modules/awesome.nix new file mode 100644 index 00000000..6f82ce12 --- /dev/null +++ b/lib/nixos/modules/awesome.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ nitrogen ]; + + services.xserver.windowManager.awesome = { + enable = true; + noArgb = true; + }; +} diff --git a/lib/nixos/modules/gnome.nix b/lib/nixos/modules/gnome.nix index bbb5ad27..a1f019e3 100644 --- a/lib/nixos/modules/gnome.nix +++ b/lib/nixos/modules/gnome.nix @@ -4,9 +4,9 @@ services.xserver = { desktopManager.gnome.enable = true; - displayManager.gdm = { + displayManager.sddm = { enable = true; - wayland = true; + # wayland = true; }; }; From 25b286786d6b2904e3a60b00cf116f5e6d2056e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 12:17:07 +0100 Subject: [PATCH 0842/2258] Re-add alacritty --- lib/nixos/home-manager/desktop.nix | 1 + lib/nixos/home-manager/modules/alacritty.nix | 34 ++++++++++++++++++++ lib/shared/modules/tmux.nix | 2 +- lib/theme/default.nix | 2 +- 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 lib/nixos/home-manager/modules/alacritty.nix diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 878638c7..5d301971 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -6,6 +6,7 @@ }: { imports = [ + ./modules/alacritty.nix ./modules/autorandr.nix ./modules/awesome.nix ./modules/copyq.nix diff --git a/lib/nixos/home-manager/modules/alacritty.nix b/lib/nixos/home-manager/modules/alacritty.nix new file mode 100644 index 00000000..a6e79973 --- /dev/null +++ b/lib/nixos/home-manager/modules/alacritty.nix @@ -0,0 +1,34 @@ +{ lib, pkgs, self, ... }: +let + inherit (lib) strings; + inherit (strings) toInt; + + theme = import "${self}/lib/theme" { inherit pkgs; }; +in { + programs.alacritty = { + enable = true; + + settings = { + env = { + TERM = "screen-256color"; + }; + + window.padding = { + x = 15; + y = 15; + }; + + font = { + size = toInt "${theme.fonts.monospace.size}"; + + bold.style = "Regular"; + normal.family = "${theme.fonts.monospace.name}"; + + offset.y = 12; + glyph_offset.y = 6; + }; + + shell = { program = "zsh"; }; + }; + }; +} diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 90098fae..0b4ad887 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -8,7 +8,7 @@ in tmuxinator.enable = true; - terminal = "xterm-256color"; + terminal = "tmux-256color"; extraConfig = '' unbind C-b diff --git a/lib/theme/default.nix b/lib/theme/default.nix index bd1f3766..e8c934fc 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -6,7 +6,7 @@ # fc-list : family | sort | grep "Nerd Font" package = pkgs.nerdfonts.override { fonts = [ "Meslo" ]; }; - size = "14"; + size = "10"; }; }; } From e61242e51adbd04d95e70a5a5c01a772ee65e853 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 12:17:07 +0100 Subject: [PATCH 0843/2258] Create the `t` script with nix --- bin/t | 41 ------------------------- lib/shared/home-manager-packages.nix | 45 ++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 41 deletions(-) delete mode 100755 bin/t diff --git a/bin/t b/bin/t deleted file mode 100755 index 42667e28..00000000 --- a/bin/t +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# Credit to ThePrimeagen. - -set -o nounset -set -o pipefail - -if [[ $# -eq 1 ]]; then - selected=$1 -else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - - items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "*-old" \ - ! -name "*.old" - ) - - selected=$(echo "${items}" | fzf) -fi - -if [[ -z "${selected}" ]]; then - exit 0 -fi - -session_name=$(basename "${selected}" | sed 's/\./_/g') -session_path="${selected}" - -# Git worktrees. -if [[ -e "${selected}/main" ]]; then - session_path="${selected}/main" -fi - -if tmux has-session -t "${session_name}" 2> /dev/null; then - tmux attach -t "${session_name}" -fi - -tmux new-session -d -s "${session_name}" -c "${session_path}" - -tmux switch-client -t "${session_name}" || tmux attach -t "${session_name}" diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 952a0ea0..d3e57a7f 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -2,9 +2,54 @@ let php = pkgs.php82; phpPackages = pkgs.php82Packages; + + inherit (pkgs) writeShellScriptBin; + + script-t = writeShellScriptBin "t" '' + # Credit to ThePrimeagen. + + set -o nounset + set -o pipefail + + if [[ $# -eq 1 ]]; then + selected=$1 + else + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "*-old" \ + ! -name "*.old" + ) + + selected=$(echo "''${items}" | fzf) + fi + + if [[ -z "''${selected}" ]]; then + exit 0 + fi + + session_name=$(basename "''${selected}" | sed 's/\./_/g') + session_path="''${selected}" + + # Git worktrees. + if [[ -e "''${selected}/main" ]]; then + session_path="''${selected}/main" + fi + + if tmux has-session -t "''${session_name}" 2> /dev/null; then + tmux attach -t "''${session_name}" + fi + + tmux new-session -d -s "''${session_name}" -c "''${session_path}" + + tmux switch-client -t "''${session_name}" || tmux attach -t "''${session_name}" + ''; in with pkgs; [ + script-t + inputs.build-configs.packages.${pkgs.system}.default awscli2 From f2c7453b020e0d7bfd7e41b6146b5158b948d34e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 12:39:45 +0100 Subject: [PATCH 0844/2258] Add `mob` https://mob.sh https://github.com/remotemobprogramming/mob --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index d2f0d2f1..39eaab65 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -156,6 +156,7 @@ in ddev just mkcert + mob simple-http-server ttyper yt-dlp From 5347c04b3ea729727cad459c6df5e5c776c6bd3e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 12:52:54 +0100 Subject: [PATCH 0845/2258] Add awesome configuration --- config/awesome/rc.lua | 683 +++++++++++++++++++++ config/awesome/stylua.toml | 8 + config/awesome/theme.lua | 125 ++++ config/awesome/widgets/battery.lua | 50 ++ flake.nix | 9 +- lib/nixos/default.nix | 10 +- lib/nixos/home-manager/desktop.nix | 2 +- lib/nixos/home-manager/modules/awesome.nix | 6 - lib/nixos/modules/awesome.nix | 30 +- 9 files changed, 912 insertions(+), 11 deletions(-) create mode 100644 config/awesome/rc.lua create mode 100644 config/awesome/stylua.toml create mode 100644 config/awesome/theme.lua create mode 100644 config/awesome/widgets/battery.lua delete mode 100644 lib/nixos/home-manager/modules/awesome.nix diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua new file mode 100644 index 00000000..067b3835 --- /dev/null +++ b/config/awesome/rc.lua @@ -0,0 +1,683 @@ +-- If LuaRocks is installed, make sure that packages installed through it are +-- found (e.g. lgi). If LuaRocks is not installed, do nothing. +pcall(require, "luarocks.loader") + +-- Standard awesome library +local awful = require "awful" +local gears = require "gears" +require "awful.autofocus" + +-- Widget and layout library +local wibox = require "wibox" + +-- Theme handling library +local beautiful = require "beautiful" + +-- Notification library +local hotkeys_popup = require "awful.hotkeys_popup" +local menubar = require "menubar" +local naughty = require "naughty" + +-- Enable hotkeys help widget for VIM and other apps +-- when client with a matching name is opened: +require "awful.hotkeys_popup.keys" + +-- {{{ Error handling +-- Check if awesome encountered an error during startup and fell back to +-- another config (This code will only ever execute for the fallback config) +if awesome.startup_errors then + naughty.notify { + preset = naughty.config.presets.critical, + title = "Oops, there were errors during startup!", + text = awesome.startup_errors, + } +end + +-- Handle runtime errors after startup +do + local in_error = false + awesome.connect_signal("debug::error", function(err) + -- Make sure we don't go into an endless error loop + if in_error then + return + end + in_error = true + + naughty.notify { + preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = tostring(err), + } + in_error = false + end) +end +-- }}} + +-- {{{ Variable definitions +-- Themes define colours, icons, font and wallpapers. +beautiful.init(gears.filesystem.get_configuration_dir() .. "theme.lua") + +awful.spawn.with_shell "awesome-autorun" + +-- This is used later as the default terminal and editor to run. +terminal = "alacritty" +editor = os.getenv "EDITOR" or "nano" +editor_cmd = terminal .. " -e " .. editor + +-- Default modkey. +-- Usually, Mod4 is the key with a logo between Control and Alt. +-- If you do not like this or do not have such a key, +-- I suggest you to remap Mod4 to another key using xmodmap or other tools. +-- However, you can use another modifier like Mod1, but it may interact with others. +modkey = "Mod4" + +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { + awful.layout.suit.max, + awful.layout.suit.tile, + awful.layout.suit.floating, + -- awful.layout.suit.tile.left, + -- awful.layout.suit.tile.bottom, + -- awful.layout.suit.tile.top, + -- awful.layout.suit.fair, + -- awful.layout.suit.fair.horizontal, + -- awful.layout.suit.spiral, + -- awful.layout.suit.spiral.dwindle, + -- awful.layout.suit.max.fullscreen, + -- awful.layout.suit.magnifier, + -- awful.layout.suit.corner.nw, + -- awful.layout.suit.corner.ne, + -- awful.layout.suit.corner.sw, + -- awful.layout.suit.corner.se, +} +-- }}} + +-- {{{ Menu +-- Create a launcher widget and a main menu +myawesomemenu = { + { + "hotkeys", + function() + hotkeys_popup.show_help(nil, awful.screen.focused()) + end, + }, + { "manual", terminal .. " -e man awesome" }, + { "edit config", editor_cmd .. " " .. awesome.conffile }, + { "restart", awesome.restart }, + { + "quit", + function() + awesome.quit() + end, + }, +} + +mymainmenu = awful.menu { + items = { + { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "open terminal", terminal }, + }, +} + +mylauncher = awful.widget.launcher { image = beautiful.awesome_icon, menu = mymainmenu } + +-- Menubar configuration +menubar.utils.terminal = terminal -- Set the terminal for applications that require it +-- }}} + +-- Keyboard map indicator and switcher +mykeyboardlayout = awful.widget.keyboardlayout() + +-- {{{ Wibar +-- Create a textclock widget +mytextclock = wibox.widget.textclock() + +-- Create a wibox for each screen and add it +local taglist_buttons = gears.table.join( + awful.button({}, 1, function(t) + t:view_only() + end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({}, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({}, 4, function(t) + awful.tag.viewnext(t.screen) + end), + awful.button({}, 5, function(t) + awful.tag.viewprev(t.screen) + end) +) + +local tasklist_buttons = gears.table.join( + awful.button({}, 1, function(c) + if c == client.focus then + c.minimized = true + else + c:emit_signal("request::activate", "tasklist", { raise = true }) + end + end), + awful.button({}, 3, function() + awful.menu.client_list { theme = { width = 250 } } + end), + awful.button({}, 4, function() + awful.client.focus.byidx(1) + end), + awful.button({}, 5, function() + awful.client.focus.byidx(-1) + end) +) + +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + end +end + +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) + +awful.screen.connect_for_each_screen(function(s) + -- Wallpaper + set_wallpaper(s) + + -- Each screen has its own tag table. + awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + + -- Create an imagebox widget which will contain an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(gears.table.join( + awful.button({}, 1, function() + awful.layout.inc(1) + end), + awful.button({}, 3, function() + awful.layout.inc(-1) + end), + awful.button({}, 4, function() + awful.layout.inc(1) + end), + awful.button({}, 5, function() + awful.layout.inc(-1) + end) + )) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons, + } + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, + buttons = tasklist_buttons, + } + + -- Create the wibox + s.mywibox = awful.wibar { position = "top", screen = s } + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + s.mytaglist, + s.mypromptbox, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + -- mykeyboardlayout, + wibox.widget.systray(), + require "widgets.battery", + mytextclock, + s.mylayoutbox, + }, + } +end) +-- }}} + +-- {{{ Mouse bindings +root.buttons(gears.table.join( + awful.button({}, 3, function() + mymainmenu:toggle() + end), + awful.button({}, 4, awful.tag.viewnext), + awful.button({}, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = gears.table.join( + awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }), + awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }), + awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }), + awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }), + awful.key({ modkey }, "j", function() + awful.client.focus.byidx(1) + end, { description = "focus next by index", group = "client" }), + awful.key({ modkey }, "k", function() + awful.client.focus.byidx(-1) + end, { description = "focus previous by index", group = "client" }), + awful.key({ modkey }, "w", function() + mymainmenu:show() + end, { description = "show main menu", group = "awesome" }), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function() + awful.client.swap.byidx(1) + end, { description = "swap with next client by index", group = "client" }), + awful.key({ modkey, "Shift" }, "k", function() + awful.client.swap.byidx(-1) + end, { description = "swap with previous client by index", group = "client" }), + awful.key({ modkey, "Control" }, "j", function() + awful.screen.focus_relative(1) + end, { description = "focus the next screen", group = "screen" }), + awful.key({ modkey, "Control" }, "k", function() + awful.screen.focus_relative(-1) + end, { description = "focus the previous screen", group = "screen" }), + awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }), + awful.key({ modkey }, "Tab", function() + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end, { description = "go back", group = "client" }), + + -- Standard program + awful.key({ modkey }, "Return", function() + awful.spawn(terminal) + end, { description = "open a terminal", group = "launcher" }), + awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }), + awful.key({ modkey, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }), + awful.key({ modkey }, "l", function() + awful.tag.incmwfact(0.05) + end, { description = "increase master width factor", group = "layout" }), + awful.key({ modkey }, "h", function() + awful.tag.incmwfact(-0.05) + end, { description = "decrease master width factor", group = "layout" }), + awful.key({ modkey, "Shift" }, "h", function() + awful.tag.incnmaster(1, nil, true) + end, { description = "increase the number of master clients", group = "layout" }), + awful.key({ modkey, "Shift" }, "l", function() + awful.tag.incnmaster(-1, nil, true) + end, { description = "decrease the number of master clients", group = "layout" }), + awful.key({ modkey, "Control" }, "h", function() + awful.tag.incncol(1, nil, true) + end, { description = "increase the number of columns", group = "layout" }), + awful.key({ modkey, "Control" }, "l", function() + awful.tag.incncol(-1, nil, true) + end, { description = "decrease the number of columns", group = "layout" }), + awful.key({ modkey }, "space", function() + awful.layout.inc(1) + end, { description = "select next", group = "layout" }), + awful.key({ modkey, "Shift" }, "space", function() + awful.layout.inc(-1) + end, { description = "select previous", group = "layout" }), + + awful.key({ modkey, "Control" }, "n", function() + local c = awful.client.restore() + -- Focus restored client + if c then + c:emit_signal("request::activate", "key.unminimize", { raise = true }) + end + end, { description = "restore minimized", group = "client" }), + + -- Prompt + awful.key({ modkey }, "r", function() + awful.screen.focused().mypromptbox:run() + end, { description = "run prompt", group = "launcher" }), + + awful.key({ modkey, "Shift" }, "b", function() + awful.spawn "firefox" + end, { description = "run browser", group = "launcher" }), + + awful.key({ modkey, "Shift" }, "f", function() + awful.spawn "thunar" + end, { description = "run browser", group = "launcher" }), + + awful.key({ modkey }, "x", function() + awful.prompt.run { + prompt = "Run Lua code: ", + textbox = awful.screen.focused().mypromptbox.widget, + exe_callback = awful.util.eval, + history_path = awful.util.get_cache_dir() .. "/history_eval", + } + end, { description = "lua execute prompt", group = "awesome" }), + -- Menubar + awful.key({ modkey }, "p", function() + menubar.show() + end, { description = "show the menubar", group = "launcher" }) +) + +clientkeys = gears.table.join( + awful.key({ modkey }, "f", function(c) + c.fullscreen = not c.fullscreen + c:raise() + end, { description = "toggle fullscreen", group = "client" }), + awful.key({ modkey, "Shift" }, "c", function(c) + c:kill() + end, { description = "close", group = "client" }), + awful.key( + { modkey, "Control" }, + "space", + awful.client.floating.toggle, + { description = "toggle floating", group = "client" } + ), + awful.key({ modkey, "Control" }, "Return", function(c) + c:swap(awful.client.getmaster()) + end, { description = "move to master", group = "client" }), + awful.key({ modkey }, "o", function(c) + c:move_to_screen() + end, { description = "move to screen", group = "client" }), + awful.key({ modkey }, "t", function(c) + c.ontop = not c.ontop + end, { description = "toggle keep on top", group = "client" }), + awful.key({ modkey }, "n", function(c) + -- The client currently has the input focus, so it cannot be + -- minimized, since minimized clients can't have the focus. + c.minimized = true + end, { description = "minimize", group = "client" }), + awful.key({ modkey }, "m", function(c) + c.maximized = not c.maximized + c:raise() + end, { description = "(un)maximize", group = "client" }), + awful.key({ modkey, "Control" }, "m", function(c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end, { description = "(un)maximize vertically", group = "client" }), + awful.key({ modkey, "Shift" }, "m", function(c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end, { description = "(un)maximize horizontally", group = "client" }) +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + globalkeys = gears.table.join( + globalkeys, + + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, function() + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, { description = "view tag #" .. i, group = "tag" }), + + -- Toggle tag display. + awful.key({ modkey, "Control" }, "#" .. i + 9, function() + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, { description = "toggle tag #" .. i, group = "tag" }), + + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, function() + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, { description = "move focused client to tag #" .. i, group = "tag" }), + + -- Toggle tag on focused client. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, function() + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, { description = "toggle focused client on tag #" .. i, group = "tag" }) + ) +end + +clientbuttons = gears.table.join( + awful.button({}, 1, function(c) + c:emit_signal("request::activate", "mouse_click", { raise = true }) + end), + + awful.button({ modkey }, 1, function(c) + c:emit_signal("request::activate", "mouse_click", { raise = true }) + awful.mouse.client.move(c) + end), + + awful.button({ modkey }, 3, function(c) + c:emit_signal("request::activate", "mouse_click", { raise = true }) + awful.mouse.client.resize(c) + end) +) + +-- Set keys +root.keys(globalkeys) +-- }}} + +-- {{{ Rules +-- Rules to apply to new clients (through the "manage" signal). +awful.rules.rules = { + -- All clients will match this rule. + { + rule = {}, + properties = { + border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + raise = true, + keys = clientkeys, + buttons = clientbuttons, + screen = awful.screen.preferred, + placement = awful.placement.no_overlap + awful.placement.no_offscreen, + }, + }, + + -- Floating clients. + { + rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + "pinentry", + }, + + class = { + "Arandr", + "Blueman-manager", + "Gpick", + "Kruler", + "MessageWin", -- kalarm. + "Sxiv", + "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. + "Wpa_gui", + "veromix", + "xtightvncviewer", + }, + + -- Note that the name property shown in xprop might be set slightly after creation of the client + -- and the name shown there might not match defined rules here. + name = { + "Event Tester", -- xev. + }, + + role = { + "AlarmWindow", -- Thunderbird's calendar. + "ConfigManager", -- Thunderbird's about:config. + "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. + }, + }, + + properties = { floating = true }, + }, + + -- Add titlebars to normal clients and dialogs + { rule_any = { type = { "normal", "dialog" } }, properties = { titlebars_enabled = false } }, + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { screen = 1, tag = "2" } }, + + { rule = { class = "mpv" }, properties = { tag = "5", fullscreen = true } }, + + { rule = { name = "Podcasts - Pocket Casts" }, properties = { tag = "6" } }, + + { rule = { class = "kdenlive" }, properties = { tag = "7", fullscreen = true } }, + + { rule = { class = "0ad" }, properties = { tag = "8" } }, + + { rule = { class = "Slack" }, properties = { tag = "9" } }, + { rule = { class = "discord" }, properties = { tag = "9" } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function(c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal("request::titlebars", function(c) + -- buttons for the titlebar + local buttons = gears.table.join( + awful.button({}, 1, function() + c:emit_signal("request::activate", "titlebar", { raise = true }) + awful.mouse.client.move(c) + end), + awful.button({}, 3, function() + c:emit_signal("request::activate", "titlebar", { raise = true }) + awful.mouse.client.resize(c) + end) + ) + + awful.titlebar(c):setup { + { -- Left + awful.titlebar.widget.iconwidget(c), + buttons = buttons, + layout = wibox.layout.fixed.horizontal, + }, + + { -- Middle + { -- Title + align = "center", + widget = awful.titlebar.widget.titlewidget(c), + }, + buttons = buttons, + layout = wibox.layout.flex.horizontal, + }, + + { -- Right + awful.titlebar.widget.floatingbutton(c), + awful.titlebar.widget.maximizedbutton(c), + awful.titlebar.widget.stickybutton(c), + awful.titlebar.widget.ontopbutton(c), + awful.titlebar.widget.closebutton(c), + layout = wibox.layout.fixed.horizontal(), + }, + + layout = wibox.layout.align.horizontal, + } +end) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", { raise = false }) +end) + +client.connect_signal("focus", function(c) + c.border_color = beautiful.border_focus +end) +client.connect_signal("unfocus", function(c) + c.border_color = beautiful.border_normal +end) +-- }}} + +--- {{{ Show low battery notifications. +gears.timer { + timeout = 60, + call_now = true, + autostart = true, + callback = function() + awful.spawn.easy_async([[cat /sys/class/power_supply/BAT0/capacity]], function(stdout0) + battery_capacity = tonumber(stdout0) + + awful.spawn.easy_async([[cat /sys/class/power_supply/BAT0/status]], function(stdout1) + battery_status = stdout1:sub(1, -2) + end) + + if battery_status == "Discharging" then + if battery_capacity <= 15 then + battery_notify = naughty.notify { + title = "Battery warning\n", + text = "Battery is lower than 15%.\n" .. battery_status .. " at " .. battery_capacity .. "%.", + timeout = 3, + } + end + end + end) + end, +} +-- }}} + +-- {{{ No DPMS for fullscreen clients +local fullscreened_clients = {} + +local function remove_client(tabl, c) + local index = awful.util.table.hasitem(tabl, c) + if index then + table.remove(tabl, index) + if #tabl == 0 then + awful.util.spawn "xset s on" + awful.util.spawn "xset +dpms" + end + end +end + +client.connect_signal("property::fullscreen", function(c) + if c.fullscreen then + table.insert(fullscreened_clients, c) + if #fullscreened_clients == 1 then + awful.util.spawn "xset s off" + awful.util.spawn "xset -dpms" + end + else + remove_client(fullscreened_clients, c) + end +end) + +client.connect_signal("unmanage", function(c) + if c.fullscreen then + remove_client(fullscreened_clients, c) + end +end) +-- }}} diff --git a/config/awesome/stylua.toml b/config/awesome/stylua.toml new file mode 100644 index 00000000..2c7fb8a9 --- /dev/null +++ b/config/awesome/stylua.toml @@ -0,0 +1,8 @@ +indent_type = "Spaces" +indent_width = 2 +line_endings = "Unix" +no_call_parentheses = true +quote_style = "AutoPreferDouble" + +[sort_requires] +enabled = true diff --git a/config/awesome/theme.lua b/config/awesome/theme.lua new file mode 100644 index 00000000..669b8c28 --- /dev/null +++ b/config/awesome/theme.lua @@ -0,0 +1,125 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require "beautiful.theme_assets" +local xresources = require "beautiful.xresources" +local dpi = xresources.apply_dpi + +local gfs = require "gears.filesystem" +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "sans 9" + +theme.bg_normal = "#222222" +theme.bg_focus = "#535d6c" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#444444" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#aaaaaa" +theme.fg_focus = "#ffffff" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(0) +theme.border_width = dpi(1) +theme.border_normal = "#000000" +theme.border_focus = "#535d6c" +theme.border_marked = "#91231c" + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- prompt_[fg|bg|fg_cursor|bg_cursor|font] +-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel(taglist_square_size, theme.fg_normal) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(taglist_square_size, theme.fg_normal) + +-- Variables set for theming notifications: +-- notification_font +-- notification_[bg|fg] +-- notification_[width|height|margin] +-- notification_[border_color|border_width|shape|opacity] + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path .. "default/submenu.png" +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Define the image to load +theme.titlebar_close_button_normal = themes_path .. "default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path .. "default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path .. "default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path .. "default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path .. "default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path .. "default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path .. "default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path .. "default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path .. "default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path .. "default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path .. "default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path .. "default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path .. "default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path .. "default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path .. "default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path .. "default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path .. "default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path .. "default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path .. "default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path .. "default/titlebar/maximized_focus_active.png" + +-- theme.wallpaper = themes_path .. "default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path .. "default/layouts/fairhw.png" +theme.layout_fairv = themes_path .. "default/layouts/fairvw.png" +theme.layout_floating = themes_path .. "default/layouts/floatingw.png" +theme.layout_magnifier = themes_path .. "default/layouts/magnifierw.png" +theme.layout_max = themes_path .. "default/layouts/maxw.png" +theme.layout_fullscreen = themes_path .. "default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path .. "default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path .. "default/layouts/tileleftw.png" +theme.layout_tile = themes_path .. "default/layouts/tilew.png" +theme.layout_tiletop = themes_path .. "default/layouts/tiletopw.png" +theme.layout_spiral = themes_path .. "default/layouts/spiralw.png" +theme.layout_dwindle = themes_path .. "default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path .. "default/layouts/cornernww.png" +theme.layout_cornerne = themes_path .. "default/layouts/cornernew.png" +theme.layout_cornersw = themes_path .. "default/layouts/cornersww.png" +theme.layout_cornerse = themes_path .. "default/layouts/cornersew.png" + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon(theme.menu_height, theme.bg_focus, theme.fg_focus) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/config/awesome/widgets/battery.lua b/config/awesome/widgets/battery.lua new file mode 100644 index 00000000..74fb7f36 --- /dev/null +++ b/config/awesome/widgets/battery.lua @@ -0,0 +1,50 @@ +------------------------------------------------- +-- Battery widget +------------------------------------------------- + +local awful = require "awful" +local gears = require "gears" +local wibox = require "wibox" + +local text = wibox.widget { + font = "Hack 11", + widget = wibox.widget.textbox, +} + +local widget = wibox.widget.background() +widget:set_widget(text) + +gears.timer { + timeout = 20, + autostart = true, + call_now = true, + callback = function() + awful.spawn.easy_async_with_shell("cat /sys/class/power_supply/BAT*/uevent", function(out) + local capacity_raw = string.match(out, "POWER_SUPPLY_CAPACITY=%d*") + local capacity = string.sub(string.match(capacity_raw, "=%d*"), 2) + + if tonumber(capacity) ~= 100 then + local status_raw = string.match(out, "POWER_SUPPLY_STATUS=%u") + local status_stripped = string.match(status_raw, "=%u") + local status_letter = string.match(status_stripped, "%u"):lower() + + text:set_text("ba:" .. capacity .. status_letter) + + local not_charging = status_letter == "d" + local is_bat_low = tonumber(capacity) < 21 + local color = "#d2d4de" + + if not_charging and is_bat_low then + color = "#e27878" + end + + widget:set_fg(color) + else + text:set_text "ba:full" + widget:set_fg "#b4be82" + end + end) + end, +} + +return widget diff --git a/flake.nix b/flake.nix index 0c4adcc5..07089b59 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,14 @@ username = "opdavies"; - mkNixos = import ./lib/nixos { inherit inputs self username; }; + mkNixos = import ./lib/nixos { + inherit + inputs + pkgs + self + username + ; + }; mkWsl = import ./lib/wsl2 { inherit inputs self username; }; inherit (pkgs) mkShell; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 17f875d8..842004bc 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,5 +1,6 @@ { inputs, + pkgs, self, username, }: @@ -37,7 +38,14 @@ inputs.nixpkgs.lib.nixosSystem { }; } - (import ./modules/awesome.nix) + (import ./modules/awesome.nix { + inherit + inputs + pkgs + self + username + ; + }) (import ./modules/gnome.nix) # (import ./modules/sway.nix { inherit inputs username; }) diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 5d301971..123ba1b5 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -8,7 +8,7 @@ imports = [ ./modules/alacritty.nix ./modules/autorandr.nix - ./modules/awesome.nix + # ./modules/awesome.nix ./modules/copyq.nix ./modules/dunst.nix ./modules/espanso.nix diff --git a/lib/nixos/home-manager/modules/awesome.nix b/lib/nixos/home-manager/modules/awesome.nix deleted file mode 100644 index eb470a9f..00000000 --- a/lib/nixos/home-manager/modules/awesome.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - xsession.windowManager.awesome = { - enable = true; - noArgb = true; - }; -} diff --git a/lib/nixos/modules/awesome.nix b/lib/nixos/modules/awesome.nix index 6f82ce12..005b4ef4 100644 --- a/lib/nixos/modules/awesome.nix +++ b/lib/nixos/modules/awesome.nix @@ -1,9 +1,35 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ nitrogen ]; + pkgs, + self, + username, + ... +}: + +let + inherit (pkgs) writeShellScriptBin; + + script-autostart = writeShellScriptBin "awesome-autostart" '' + set -o errexit + + ${pkgs.nitrogen}/bin/nitrogen --set-zoom-fill --random "''${HOME}/Pictures/Wallpaper" + ''; +in +{ + environment.systemPackages = with pkgs; [ + script-autostart + + nitrogen + ]; services.xserver.windowManager.awesome = { enable = true; noArgb = true; }; + + home-manager.users.${username} = { + xdg.configFile.awesome = { + source = "${self}/config/awesome"; + recursive = true; + }; + }; } From 9fcce5ad141d3be749f867a9fa86609fd08d716f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 13:26:38 +0100 Subject: [PATCH 0846/2258] Change `writeShellScriptBin` to `writeShellApplication` --- lib/nixos/modules/awesome.nix | 13 +++--- lib/shared/home-manager-packages.nix | 67 +++++++++++++++------------- 2 files changed, 43 insertions(+), 37 deletions(-) diff --git a/lib/nixos/modules/awesome.nix b/lib/nixos/modules/awesome.nix index 005b4ef4..3617eb8a 100644 --- a/lib/nixos/modules/awesome.nix +++ b/lib/nixos/modules/awesome.nix @@ -6,13 +6,16 @@ }: let - inherit (pkgs) writeShellScriptBin; + inherit (pkgs) writeShellApplication; - script-autostart = writeShellScriptBin "awesome-autostart" '' - set -o errexit + script-autostart = writeShellApplication { + name = "awesome-autostart"; + text = '' + set -o errexit - ${pkgs.nitrogen}/bin/nitrogen --set-zoom-fill --random "''${HOME}/Pictures/Wallpaper" - ''; + ${pkgs.nitrogen}/bin/nitrogen --set-zoom-fill --random "''${HOME}/Pictures/Wallpaper" + ''; + }; in { environment.systemPackages = with pkgs; [ diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index d3e57a7f..93f17200 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -3,48 +3,51 @@ let php = pkgs.php82; phpPackages = pkgs.php82Packages; - inherit (pkgs) writeShellScriptBin; + inherit (pkgs) writeShellApplication; - script-t = writeShellScriptBin "t" '' - # Credit to ThePrimeagen. + script-t = writeShellApplication { + name = "t"; + text = '' + # Credit to ThePrimeagen. - set -o nounset - set -o pipefail + set -o nounset + set -o pipefail - if [[ $# -eq 1 ]]; then - selected=$1 - else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "*-old" \ - ! -name "*.old" - ) + if [[ $# -eq 1 ]]; then + selected=$1 + else + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "*-old" \ + ! -name "*.old" + ) - selected=$(echo "''${items}" | fzf) - fi + selected=$(echo "''${items}" | fzf) + fi - if [[ -z "''${selected}" ]]; then - exit 0 - fi + if [[ -z "''${selected}" ]]; then + exit 0 + fi - session_name=$(basename "''${selected}" | sed 's/\./_/g') - session_path="''${selected}" + session_name=$(basename "''${selected}" | sed 's/\./_/g') + session_path="''${selected}" - # Git worktrees. - if [[ -e "''${selected}/main" ]]; then - session_path="''${selected}/main" - fi + # Git worktrees. + if [[ -e "''${selected}/main" ]]; then + session_path="''${selected}/main" + fi - if tmux has-session -t "''${session_name}" 2> /dev/null; then - tmux attach -t "''${session_name}" - fi + if tmux has-session -t "''${session_name}" 2> /dev/null; then + tmux attach -t "''${session_name}" + fi - tmux new-session -d -s "''${session_name}" -c "''${session_path}" + tmux new-session -d -s "''${session_name}" -c "''${session_path}" - tmux switch-client -t "''${session_name}" || tmux attach -t "''${session_name}" - ''; + tmux switch-client -t "''${session_name}" || tmux attach -t "''${session_name}" + ''; + }; in with pkgs; [ From 4d24228c30e986c69564ff91d6ea45aa445795fb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 15 Jun 2024 15:33:57 +0100 Subject: [PATCH 0847/2258] Update `t` script --- lib/shared/home-manager-packages.nix | 58 +++++++++++++++++++--------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 93f17200..2d476b35 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -7,14 +7,17 @@ let script-t = writeShellApplication { name = "t"; - text = '' - # Credit to ThePrimeagen. - set -o nounset - set -o pipefail + runtimeInputs = with pkgs; [ + openssl + tmux + ]; + + text = '' + # Credit to ThePrimeagen and Jess Archer. if [[ $# -eq 1 ]]; then - selected=$1 + SELECTED_PATH=$1 else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. @@ -24,28 +27,47 @@ let ! -name "*.old" ) - selected=$(echo "''${items}" | fzf) + SELECTED_PATH=$(echo "''${items}" | fzf) fi - if [[ -z "''${selected}" ]]; then - exit 0 + SESSION_NAME=$(basename "''${SELECTED_PATH}" | sed 's/\./_/g') + + # Attach to an existing session, if one exists. + if tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then + tmux attach -t "''${SESSION_NAME}" || tmux switch-client -t "''${SESSION_NAME}" + exit fi - session_name=$(basename "''${selected}" | sed 's/\./_/g') - session_path="''${selected}" + # TODO: support .ignored/.tmux + if [[ -x "''${SELECTED_PATH}/.tmux" ]]; then + DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.tmux")" - # Git worktrees. - if [[ -e "''${selected}/main" ]]; then - session_path="''${selected}/main" + # Prompt the first time we see a given .tmux file before running it. + if ! grep -q "''${DIGEST}" ~/..tmux.digests 2> /dev/null; then + cat "''${SELECTED_PATH}/.tmux" + + read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " + + if [[ $REPLY =~ ^[Tt]$ ]]; then + echo "''${DIGEST}" >> ~/..tmux.digests + + # Create a new session and run the .tmux script. + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + fi + else + # Create a new session and run the .tmux script. + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + fi fi - if tmux has-session -t "''${session_name}" 2> /dev/null; then - tmux attach -t "''${session_name}" + # If there is no session, create one. + if ! tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" fi - tmux new-session -d -s "''${session_name}" -c "''${session_path}" - - tmux switch-client -t "''${session_name}" || tmux attach -t "''${session_name}" + tmux switch-client -t "''${SESSION_NAME}" || tmux attach-session -t "''${SESSION_NAME}" ''; }; in From a36dd7baf4197d51ef74f59c507b451885175ba5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 17 Jun 2024 17:59:35 +0100 Subject: [PATCH 0848/2258] Move `t` into its own file --- lib/shared/home-manager-packages.nix | 68 ++-------------------------- lib/shared/scripts/t.nix | 67 +++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 65 deletions(-) create mode 100644 lib/shared/scripts/t.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 2d476b35..454ebceb 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -5,75 +5,13 @@ let inherit (pkgs) writeShellApplication; - script-t = writeShellApplication { - name = "t"; - - runtimeInputs = with pkgs; [ - openssl - tmux - ]; - - text = '' - # Credit to ThePrimeagen and Jess Archer. - - if [[ $# -eq 1 ]]; then - SELECTED_PATH=$1 - else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "*-old" \ - ! -name "*.old" - ) - - SELECTED_PATH=$(echo "''${items}" | fzf) - fi - - SESSION_NAME=$(basename "''${SELECTED_PATH}" | sed 's/\./_/g') - - # Attach to an existing session, if one exists. - if tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then - tmux attach -t "''${SESSION_NAME}" || tmux switch-client -t "''${SESSION_NAME}" - exit - fi - - # TODO: support .ignored/.tmux - if [[ -x "''${SELECTED_PATH}/.tmux" ]]; then - DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.tmux")" - - # Prompt the first time we see a given .tmux file before running it. - if ! grep -q "''${DIGEST}" ~/..tmux.digests 2> /dev/null; then - cat "''${SELECTED_PATH}/.tmux" - - read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " - - if [[ $REPLY =~ ^[Tt]$ ]]; then - echo "''${DIGEST}" >> ~/..tmux.digests - - # Create a new session and run the .tmux script. - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") - fi - else - # Create a new session and run the .tmux script. - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") - fi - fi - - # If there is no session, create one. - if ! tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - fi - - tmux switch-client -t "''${SESSION_NAME}" || tmux attach-session -t "''${SESSION_NAME}" - ''; + scripts = { + t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); }; in with pkgs; [ - script-t + scripts.t inputs.build-configs.packages.${pkgs.system}.default diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix new file mode 100644 index 00000000..7a65aae5 --- /dev/null +++ b/lib/shared/scripts/t.nix @@ -0,0 +1,67 @@ +{ pkgs }: + +{ + name = "t"; + + runtimeInputs = with pkgs; [ + openssl + tmux + ]; + + text = '' + # Credit to ThePrimeagen and Jess Archer. + + if [[ $# -eq 1 ]]; then + SELECTED_PATH=$1 + else + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "*-old" \ + ! -name "*.old" + ) + + SELECTED_PATH=$(echo "''${items}" | fzf) + fi + + SESSION_NAME=$(basename "''${SELECTED_PATH}" | sed 's/\./_/g') + + # Attach to an existing session, if one exists. + if tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then + tmux attach -t "''${SESSION_NAME}" || tmux switch-client -t "''${SESSION_NAME}" + exit + fi + + # TODO: support .ignored/.tmux + if [[ -x "''${SELECTED_PATH}/.tmux" ]]; then + DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.tmux")" + + # Prompt the first time we see a given .tmux file before running it. + if ! grep -q "''${DIGEST}" ~/..tmux.digests 2> /dev/null; then + cat "''${SELECTED_PATH}/.tmux" + + read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " + + if [[ $REPLY =~ ^[Tt]$ ]]; then + echo "''${DIGEST}" >> ~/..tmux.digests + + # Create a new session and run the .tmux script. + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + fi + else + # Create a new session and run the .tmux script. + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + fi + fi + + # If there is no session, create one. + if ! tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + fi + + tmux switch-client -t "''${SESSION_NAME}" || tmux attach-session -t "''${SESSION_NAME}" + ''; +} From 4ed0648578cd63c8367a3045badba68109601d2c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jun 2024 12:32:13 +0100 Subject: [PATCH 0849/2258] Move `mob` and `simple-http-server` So they aren't only available in NixOS. --- lib/nixos/configuration.nix | 2 -- lib/shared/home-manager-packages.nix | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 39eaab65..405dc76c 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -156,8 +156,6 @@ in ddev just mkcert - mob - simple-http-server ttyper yt-dlp ] diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 454ebceb..98d494d9 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -36,11 +36,13 @@ with pkgs; inotify-tools jq lua + mob mysql php phpPackages.composer pv rustywind + simple-http-server tldr tree tree-sitter From 4ddd317c6cec9e6df29de08b3a32e7c99b0bdfab Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 18 Jun 2024 12:32:47 +0100 Subject: [PATCH 0850/2258] Add `xdg-utils` and `wsl-open` Add `xdg-utils` to add functions like `xdg-open` to run commands such as `mob timer open` and have them open a browser. Also add `wsl-open` so this works within WSL. --- lib/shared/home-manager-packages.nix | 1 + lib/wsl2/default.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 98d494d9..75de7b9e 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -50,6 +50,7 @@ with pkgs; virtualenv wget xcp + xdg-utils xh yarn ] diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 279788c5..c9dc7c16 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -29,7 +29,7 @@ inputs.home-manager.lib.homeManagerConfiguration { { imports = [ shared-config ]; - home.packages = shared-packages; + home.packages = shared-packages ++ [ pkgs.wsl-open ]; home.sessionVariables = { EDITOR = "nvim"; From c020d771c90f3beba4e040a96464d5010dedfd1f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jun 2024 06:39:41 +0100 Subject: [PATCH 0851/2258] Remove .tmuxinator.yaml --- .tmuxinator.yaml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .tmuxinator.yaml diff --git a/.tmuxinator.yaml b/.tmuxinator.yaml deleted file mode 100644 index 97601942..00000000 --- a/.tmuxinator.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: dotfiles-nix -root: . - -windows: - - vim: nvim - - shell: From 1e149533148f5dd7e0ca285e1c519e906ef476c7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jun 2024 08:07:02 +0100 Subject: [PATCH 0852/2258] Add `git-instafix` As seen on https://www.youtube.com/live/ik_d0dWYQgQ?si=XSNR00ovIgSu7Ent&t=6510, `git-instafix` is a tool for quickly fix up an old commit using your currently-staged changes. https://github.com/quodlibetor/git-instafix --- lib/shared/modules/git.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 381dcf5f..ea54306f 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { home.file.".gitmessage".text = '' @@ -136,4 +138,6 @@ }; }; }; + + home.packages = with pkgs; [ git-instafix ]; } From f0163cd28c2d1838d0704b924dd36bb76843710b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jun 2024 08:25:37 +0100 Subject: [PATCH 0853/2258] Revert "Reapply "Remove starship"" This reverts commit 7c06364329462f0b35f73e4b11b0bc014956994e. --- lib/shared/home-manager.nix | 1 + lib/shared/modules/starship.nix | 5 +++++ lib/shared/modules/zsh.nix | 7 ------- 3 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 lib/shared/modules/starship.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index be14456d..6504d1c8 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -24,6 +24,7 @@ ./modules/nnn.nix ./modules/phpactor.nix ./modules/ripgrep.nix + ./modules/starship.nix ./modules/syncthing.nix ./modules/tmux.nix ./modules/wezterm.nix diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix new file mode 100644 index 00000000..927ad3a8 --- /dev/null +++ b/lib/shared/modules/starship.nix @@ -0,0 +1,5 @@ +{ + programs.starship = { + enable = true; + }; +} diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 7c1a8d07..7414c32f 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -173,13 +173,6 @@ enable = true; plugins = [ - { - name = "themes/robbyrussell"; - tags = [ - "from:oh-my-zsh" - "as:theme" - ]; - } { name = "plugin/git"; tags = [ "from:oh-my-zsh" ]; From 5ba78f110ab8af77900a9f3f59602eb83988cecc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jun 2024 22:01:25 +0100 Subject: [PATCH 0854/2258] Configure starship prompt Based on the Plain Text present. https://starship.rs/presets/plain-text --- lib/shared/modules/starship.nix | 172 ++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix index 927ad3a8..9733d2b2 100644 --- a/lib/shared/modules/starship.nix +++ b/lib/shared/modules/starship.nix @@ -1,5 +1,177 @@ +let + inherit (builtins) concatStringsSep; +in { programs.starship = { enable = true; + enableZshIntegration = true; + + settings = { + add_newline = false; + + # https://starship.rs/config/#prompt + format = concatStringsSep "" [ + "\n" + "$username" + "$hostname" + "$directory" + "$vcsh" + "$git_branch" + "$git_status" + "$git_metrics" + "$docker_context" + "$nodejs" + "$php" + "$terraform" + "$nix_shell" + "$direnv" + "\${custom.mob}" + "$memory_usage" + "$cmd_duration" + "$lua" + "$status" + "$character" + ]; + + direnv.disabled = false; + directory.format = "in [$path]($style) "; + git_status.disabled = true; + nix_shell.disabled = true; + nodejs.disabled = true; + php.disabled = true; + username = { + format = "[$user]($style) "; + show_always = true; + }; + + custom = { + mob = { + command = "echo $MOB_TIMER_ROOM"; + format = "[($output)]($style) "; + when = "[[ -v MOB_TIMER_ROOM ]]"; + }; + }; + + # https://starship.rs/presets/plain-text + aws.symbol = "aws "; + azure.symbol = "az "; + bun.symbol = "bun "; + c.symbol = "C "; + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + cobol.symbol = "cobol "; + conda.symbol = "conda "; + crystal.symbol = "cr "; + cmake.symbol = "cmake "; + daml.symbol = "daml "; + dart.symbol = "dart "; + deno.symbol = "deno "; + dotnet.symbol = ".NET "; + directory.read_only = " ro"; + docker_context.symbol = "docker "; + elixir.symbol = "exs "; + elm.symbol = "elm "; + fennel.symbol = "fnl "; + fossil_branch.symbol = "fossil "; + gcloud.symbol = "gcp "; + git_branch.symbol = "git "; + git_commit.tag_symbol = " tag "; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + gleam.symbol = "gleam "; + golang.symbol = "go "; + gradle.symbol = "gradle "; + guix_shell.symbol = "guix "; + hg_branch.symbol = "hg "; + java.symbol = "java "; + julia.symbol = "jl "; + kotlin.symbol = "kt "; + lua.symbol = "lua "; + nodejs.symbol = "nodejs "; + memory_usage.symbol = "memory "; + meson.symbol = "meson "; + nats.symbol = "nats "; + nim.symbol = "nim "; + nix_shell.symbol = "nix "; + ocaml.symbol = "ml "; + opa.symbol = "opa "; + os.symbols = { + AIX = "aix "; + Alpaquita = "alq "; + AlmaLinux = "alma "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + RockyLinux = "rky "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + }; + package.symbol = "pkg "; + perl.symbol = "pl "; + php.symbol = "php "; + pijul_channel.symbol = "pijul "; + pulumi.symbol = "pulumi "; + purescript.symbol = "purs "; + python.symbol = "py "; + quarto.symbol = "quarto "; + raku.symbol = "raku "; + ruby.symbol = "rb "; + rust.symbol = "rs "; + scala.symbol = "scala "; + spack.symbol = "spack "; + solidity.symbol = "solidity "; + status.symbol = "[x](bold red) "; + sudo.symbol = "sudo "; + swift.symbol = "swift "; + typst.symbol = "typst "; + terraform.symbol = "terraform "; + zig.symbol = "zig "; + }; }; } From b3b96c3163a062e0becc583f080a85104b89579f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 19 Jun 2024 22:02:20 +0100 Subject: [PATCH 0855/2258] Add navigation aliases --- lib/shared/modules/zsh.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 7414c32f..9746cedd 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -7,6 +7,11 @@ dotDir = ".config/zsh"; shellAliases = { + "-" = "cd -"; + ".." = "cd .."; + "..." = "cd ../.."; + "...." = "cd ../../.."; + "....." = "cd ../../../.."; dea = "direnv allow"; dee = "direnv edit"; cat = "bat"; From b86cc3d7f0d5dcf7fd55ba94465ce3656d0aaedd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 21 Jun 2024 08:36:27 +0100 Subject: [PATCH 0856/2258] Update awesome configuration --- config/awesome/rc.lua | 12 ++++++++---- config/awesome/theme.lua | 2 +- config/awesome/widgets/battery.lua | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 067b3835..aaac335c 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -57,7 +57,7 @@ end -- Themes define colours, icons, font and wallpapers. beautiful.init(gears.filesystem.get_configuration_dir() .. "theme.lua") -awful.spawn.with_shell "awesome-autorun" +awful.spawn.with_shell "awesome-autostart" -- This is used later as the default terminal and editor to run. terminal = "alacritty" @@ -73,7 +73,7 @@ modkey = "Mod4" -- Table of layouts to cover with awful.layout.inc, order matters. awful.layout.layouts = { - awful.layout.suit.max, + -- awful.layout.suit.max, awful.layout.suit.tile, awful.layout.suit.floating, -- awful.layout.suit.tile.left, @@ -354,6 +354,10 @@ globalkeys = gears.table.join( awful.spawn "thunar" end, { description = "run browser", group = "launcher" }), + awful.key({ modkey, "Shift" }, "y", function() + awful.spawn "copyq toggle" + end, { description = "run copyq", group = "launcher" }), + awful.key({ modkey }, "x", function() awful.prompt.run { prompt = "Run Lua code: ", @@ -530,7 +534,7 @@ awful.rules.rules = { }, }, - properties = { floating = true }, + properties = { floating = true, placement = awful.placement.centered }, }, -- Add titlebars to normal clients and dialogs @@ -546,7 +550,7 @@ awful.rules.rules = { { rule = { class = "kdenlive" }, properties = { tag = "7", fullscreen = true } }, - { rule = { class = "0ad" }, properties = { tag = "8" } }, + { rule = { class = "0ad" }, properties = { tag = "8", fullscreen = true } }, { rule = { class = "Slack" }, properties = { tag = "9" } }, { rule = { class = "discord" }, properties = { tag = "9" } }, diff --git a/config/awesome/theme.lua b/config/awesome/theme.lua index 669b8c28..72f1f19c 100644 --- a/config/awesome/theme.lua +++ b/config/awesome/theme.lua @@ -11,7 +11,7 @@ local themes_path = gfs.get_themes_dir() local theme = {} -theme.font = "sans 9" +theme.font = "sans 10" theme.bg_normal = "#222222" theme.bg_focus = "#535d6c" diff --git a/config/awesome/widgets/battery.lua b/config/awesome/widgets/battery.lua index 74fb7f36..3eadb203 100644 --- a/config/awesome/widgets/battery.lua +++ b/config/awesome/widgets/battery.lua @@ -7,7 +7,7 @@ local gears = require "gears" local wibox = require "wibox" local text = wibox.widget { - font = "Hack 11", + font = "sans 9", widget = wibox.widget.textbox, } From d7f24aa03abeafa28981d37d7602a5f2e65223b6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 21 Jun 2024 18:27:10 +0100 Subject: [PATCH 0857/2258] Update opdavies.nvim to the latest version --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index fbb04965..dcbbeb4a 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1718160348, - "narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", + "lastModified": 1717786204, + "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "57d6973abba7ea108bac64ae7629e7431e0199b6", + "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", "type": "github" }, "original": { @@ -111,11 +111,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1718217733, - "narHash": "sha256-gsx71BY4IFk4449YQEhsS+n8NiWRcsxncNhfvYqeewU=", + "lastModified": 1718933700, + "narHash": "sha256-Sf+U6770jSoSD6z4s9lqspV+ix6fYdfR+u9FP1vNdhk=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "2453186ee1c97e5e21f081bd9efa06f3b7ca9682", + "rev": "e4e9727819ec72173dc7fb75c741c40c734a0052", "type": "github" }, "original": { From 2e225a7c91fc2094e1ae464b370af618913b7fd7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 22 Jun 2024 16:29:18 +0100 Subject: [PATCH 0858/2258] git: remove `git-cm` --- bin/git-cm | 7 ------- 1 file changed, 7 deletions(-) delete mode 100755 bin/git-cm diff --git a/bin/git-cm b/bin/git-cm deleted file mode 100755 index 0a243dae..00000000 --- a/bin/git-cm +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -if [[ $# > 0 ]]; then - git commit -m "$@" -else - git commit -v -fi From 3092cafb2082453b3f8d4b01de5af0edafcbc068 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 24 Jun 2024 22:36:13 +0100 Subject: [PATCH 0859/2258] tmux: make the status bar transparent --- lib/shared/modules/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 0b4ad887..e6aaa415 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -41,7 +41,7 @@ in set-option -g status-left " " set-option -g status-right " #{session_name} " set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=#000000" + set-option -g status-style "fg=#7C7D83 bg=default" set-option -g window-status-activity-style none set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " set-option -g window-status-current-style "fg=#E9E9EA" From 055b1583db46b07a72568e0361d8ee91ccd8abdf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 25 Jun 2024 07:04:06 +0100 Subject: [PATCH 0860/2258] Find `.git` directories, not files --- bin/update-all-git-repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/update-all-git-repos b/bin/update-all-git-repos index 8c6b0734..c72d25a3 100755 --- a/bin/update-all-git-repos +++ b/bin/update-all-git-repos @@ -6,7 +6,7 @@ set -o errexit set -o nounset -dirs=$(find ~/Code/personal ~/Code/work -mindepth 1 -maxdepth 2 -type f -name .git -not -path '*/*.old/*') +dirs=$(find ~/Code/personal ~/Code/work -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') for dir in $dirs; do repo_path="${dir%/.git}" From d277199c23983dad4889a4a7b0184e6f28649b18 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 25 Jun 2024 07:04:26 +0100 Subject: [PATCH 0861/2258] `services.xserver.displayManager` is now ...`services.displayManager` --- lib/nixos/modules/gnome.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/nixos/modules/gnome.nix b/lib/nixos/modules/gnome.nix index a1f019e3..a98d0957 100644 --- a/lib/nixos/modules/gnome.nix +++ b/lib/nixos/modules/gnome.nix @@ -1,13 +1,10 @@ { pkgs, ... }: { - services.xserver = { - desktopManager.gnome.enable = true; + services = { + displayManager.sddm.enable = true; - displayManager.sddm = { - enable = true; - # wayland = true; - }; + xserver.desktopManager.gnome.enable = true; }; environment.systemPackages = with pkgs; [ networkmanagerapplet ]; From 0df5f17dae4328546b5d08eef141656a5de2b522 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 25 Jun 2024 10:19:28 +0100 Subject: [PATCH 0862/2258] zsh: migrate to `zsh-abbr` Migrate from `zsh-expand` to `zsh-abbr` as it seems more performant and isn't giving me unwanted expansions, such as when typing `run` within this repository and it completing to something else. Whilst Home Manager does have `programs.zsh-attr`, there isn't an option for setting global abbreviations that expand anywhere in the command, which I need to replace global ZSH aliases such as `G` which expands to `| grep`. For now, I've installed `zsh-abbr` via zplug and am creating the `user-abbreviations` file using Home Manager where I can use `attr -g` for global aliases. If or when support is added for global abbreviations in Home Manager, I'll switch to `programs.zsh-abbr.abbreviations`. `programs.zsh.shellAliases` is still used for aliases that shouldn't expand, whereas everything else has been moved to abbreviations. --- lib/shared/modules/zsh.nix | 160 ++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 89 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 9746cedd..70ce037d 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -2,82 +2,24 @@ { programs.zsh = { - enable = true; - enableCompletion = false; dotDir = ".config/zsh"; + enable = true; + enableCompletion = true; + # Aliases (which don't expand). shellAliases = { "-" = "cd -"; ".." = "cd .."; "..." = "cd ../.."; "...." = "cd ../../.."; "....." = "cd ../../../.."; - dea = "direnv allow"; - dee = "direnv edit"; cat = "bat"; - cs = "create-script"; - daily = "run create-daily next"; - ls = "lsd"; run = "./run"; s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; - switch = "run nixos nixedo switch"; - sz = "source ~/.config/zsh/.zshrc"; tag = "tag-release"; wt = "git worktree"; vss = "LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; - - # tmux - ta = "tmux attach"; - tl = "tmux list-sessions"; - tk = "tmux kill-session"; - - # Docker and Docker Compose. - dk = "docker"; - dkp = "docker ps"; - dkpa = "docker ps -a"; - dkpaq = "docker ps -a -q"; - dkb = "docker build -t"; - dks = "docker start"; - dkt = "docker stop"; - dkrm = "docker rm"; - dkri = "docker rmi"; - dke = "docker exec -ti"; - dkl = "docker logs -f"; - dki = "docker images"; - dkpu = "docker pull"; - dkph = "docker push"; - dkbnc = "docker build --no-cache -t"; - dkr = "docker run --rm"; - dkrti = "docker run --rm -ti"; - dkc = "docker compose"; - dkcb = "docker compose build"; - dkcu = "docker compose up"; - dkclean = "docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi"; - - # run scripts. - r = "run"; - rc = "run composer"; - rd = "run drush"; - rdcr = "run drush cr"; - rdup = "run drush updb -y"; - rdce = "run drush config:export -y"; - rdci = "run drush config:import -y"; - rduli = "run drush uli"; - }; - - shellGlobalAliases = { - A1 = "| awk '{print $1}'"; - Fj = "| jq ."; - Fy = "| yq ."; - G = "| grep"; - GH = "| grep HTTP"; - Gi = "| grep -i"; - H2 = "| head -n 20"; - H = "| head"; - L = "| less"; - V = "| vim -"; - X = "| xargs -I1"; }; initExtra = '' @@ -128,7 +70,6 @@ } # Plugins - source "''${ZPLUG_REPOS}/MenkeTechnologies/zsh-expand/zsh-expand.plugin.zsh" source "''${ZPLUG_REPOS}/joshskidmore/zsh-fzf-history-search/zsh-fzf-history-search.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" @@ -182,42 +123,83 @@ name = "plugin/git"; tags = [ "from:oh-my-zsh" ]; } + { name = "plugin/vi-mode"; tags = [ "from:oh-my-zsh" ]; } - { name = "MenkeTechnologies/zsh-expand"; } + { name = "olets/zsh-abbr"; } + { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } ]; }; }; - programs.zsh.localVariables = { - ZPWR_EXPAND = true; - ZPWR_EXPAND_BLACKLIST = [ - "cat" - "cs" - "daily" - "full-system-clean" - "full-system-repair" - "full-system-upgrade" - "list-system-configurations" - "set-default-boot" - "system-rebuld" - "system-repair" - "system-upgrade-information" - "ls" - "run" - "s" - "secrets" - "sz" - "tag" - "vss" - "wt" - ]; - ZPWR_EXPAND_NATIVE = true; - ZPWR_EXPAND_SECOND_POSITION = true; - }; + home.file.".config/zsh-abbr/user-abbreviations".text = '' + abbr dea="direnv allow" + abbr dee="direnv edit" + abbr cs="create-script" + abbr daily="run create-daily next" + abbr switch="run nixos nixedo switch" + abbr sz="source ~/.config/zsh/.zshrc" + + abbr g="git" + abbr ga="git add" + abbr gap="git add -p" + abbr gc="git commit" + abbr gri="git rebase -i" + abbr gs="git status + + # tmux + abbr ta="tmux attach" + abbr tl="tmux list-sessions" + abbr tk="tmux kill-session" + + # Docker and Docker Compose. + abbr dk="docker" + abbr dkp="docker ps" + abbr dkpa="docker ps -a" + abbr dkpaq="docker ps -a -q" + abbr dkb="docker build -t" + abbr dks="docker start" + abbr dkt="docker stop" + abbr dkrm="docker rm" + abbr dkri="docker rmi" + abbr dke="docker exec -ti" + abbr dkl="docker logs -f" + abbr dki="docker images" + abbr dkpu="docker pull" + abbr dkph="docker push" + abbr dkbnc="docker build --no-cache -t" + abbr dkr="docker run --rm" + abbr dkrti="docker run --rm -ti" + abbr dkc="docker compose" + abbr dkcb="docker compose build" + abbr dkcu="docker compose up" + abbr dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" + + # run scripts. + abbr r="run" + abbr rc="run composer" + abbr rd="run drush" + abbr rdcr="run drush cr" + abbr rdup="run drush updb -y" + abbr rdce="run drush config:export -y" + abbr rdci="run drush config:import -y" + abbr rduli="run drush uli" + + abbr -g A1="| awk '{print $1}'" + abbr -g Fj="| jq ." + abbr -g Fy="| yq ." + abbr -g G="| grep" + abbr -g GH="| grep HTTP" + abbr -g Gi="| grep -i" + abbr -g H2="| head -n 20" + abbr -g H="| head" + abbr -g L="| less" + abbr -g V="| vim -" + abbr -g X="| xargs -I1" + ''; } From 928e5c6938197f2859739da1eb9ed874ee2d182a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 27 Jun 2024 17:03:36 +0100 Subject: [PATCH 0863/2258] awesome: prevent firefox from always opening in ...a maximised window --- config/awesome/rc.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index aaac335c..884d5f71 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -544,6 +544,9 @@ awful.rules.rules = { -- { rule = { class = "Firefox" }, -- properties = { screen = 1, tag = "2" } }, + -- Prevent Fireox from automaticaly being maximised when opened. + { rule = { class = "firefox" }, properties = { opacity = 1, maximized = false, floating = false } }, + { rule = { class = "mpv" }, properties = { tag = "5", fullscreen = true } }, { rule = { name = "Podcasts - Pocket Casts" }, properties = { tag = "6" } }, From 56ccef5c7bb17e0bfb7f8993fcaf7d9fd798eb98 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 27 Jun 2024 18:11:33 +0100 Subject: [PATCH 0864/2258] awesome: add a keybinding to run `flameshot` --- config/awesome/rc.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 884d5f71..0df457b3 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -354,6 +354,10 @@ globalkeys = gears.table.join( awful.spawn "thunar" end, { description = "run browser", group = "launcher" }), + awful.key({ modkey, "Shift" }, "s", function() + awful.spawn "flameshot gui" + end, { description = "run flameshot", group = "launcher" }), + awful.key({ modkey, "Shift" }, "y", function() awful.spawn "copyq toggle" end, { description = "run copyq", group = "launcher" }), From 776bcfe7eaf50480a99a7de809198c200f0c4f95 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 27 Jun 2024 19:55:09 +0100 Subject: [PATCH 0865/2258] awesome: space out keybindings --- config/awesome/rc.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 0df457b3..89f38a75 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -381,37 +381,46 @@ clientkeys = gears.table.join( c.fullscreen = not c.fullscreen c:raise() end, { description = "toggle fullscreen", group = "client" }), + awful.key({ modkey, "Shift" }, "c", function(c) c:kill() end, { description = "close", group = "client" }), + awful.key( { modkey, "Control" }, "space", awful.client.floating.toggle, { description = "toggle floating", group = "client" } ), + awful.key({ modkey, "Control" }, "Return", function(c) c:swap(awful.client.getmaster()) end, { description = "move to master", group = "client" }), + awful.key({ modkey }, "o", function(c) c:move_to_screen() end, { description = "move to screen", group = "client" }), + awful.key({ modkey }, "t", function(c) c.ontop = not c.ontop end, { description = "toggle keep on top", group = "client" }), + awful.key({ modkey }, "n", function(c) -- The client currently has the input focus, so it cannot be -- minimized, since minimized clients can't have the focus. c.minimized = true end, { description = "minimize", group = "client" }), + awful.key({ modkey }, "m", function(c) c.maximized = not c.maximized c:raise() end, { description = "(un)maximize", group = "client" }), + awful.key({ modkey, "Control" }, "m", function(c) c.maximized_vertical = not c.maximized_vertical c:raise() end, { description = "(un)maximize vertically", group = "client" }), + awful.key({ modkey, "Shift" }, "m", function(c) c.maximized_horizontal = not c.maximized_horizontal c:raise() From f0f7e55a045349374e745f7c906a8a5fd45339d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 27 Jun 2024 20:50:50 +0100 Subject: [PATCH 0866/2258] awesome: re-add the max layout --- config/awesome/rc.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 89f38a75..11d14035 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -73,8 +73,8 @@ modkey = "Mod4" -- Table of layouts to cover with awful.layout.inc, order matters. awful.layout.layouts = { - -- awful.layout.suit.max, awful.layout.suit.tile, + awful.layout.suit.max, awful.layout.suit.floating, -- awful.layout.suit.tile.left, -- awful.layout.suit.tile.bottom, From 53423ccdbfc56c6f555e6b00ecfbc1ee4581eab1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 29 Jun 2024 20:47:41 +0100 Subject: [PATCH 0867/2258] zsh: add zsh-auto-notify plugin Shows notifications when long running tasks are completed. See https://github.com/MichaelAquilina/zsh-auto-notify. --- lib/shared/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 70ce037d..c6ff0f36 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -129,6 +129,7 @@ tags = [ "from:oh-my-zsh" ]; } + { name = "MichaelAquilina/zsh-auto-notify"; } { name = "olets/zsh-abbr"; } { name = "zsh-users/zsh-completions"; } From 0ec273cbb4493c53cdfa70bb300085d153807bd4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 29 Jun 2024 20:51:22 +0100 Subject: [PATCH 0868/2258] zsh: fix `gs` alias for `git status` --- lib/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index c6ff0f36..1a57e0b8 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -151,7 +151,7 @@ abbr gap="git add -p" abbr gc="git commit" abbr gri="git rebase -i" - abbr gs="git status + abbr gs="git status" # tmux abbr ta="tmux attach" From b68d48603e8cc78f3f0e0ba3254867e60cbe5d2c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Jun 2024 14:22:55 +0100 Subject: [PATCH 0869/2258] zsh: extract aliases and abbreviations into ...separate files --- lib/shared/modules/zsh.nix | 95 ++++-------------------- lib/shared/modules/zsh/abbreviations.zsh | 63 ++++++++++++++++ lib/shared/modules/zsh/aliases.nix | 14 ++++ 3 files changed, 93 insertions(+), 79 deletions(-) create mode 100644 lib/shared/modules/zsh/abbreviations.zsh create mode 100644 lib/shared/modules/zsh/aliases.nix diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 1a57e0b8..c4664cce 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -6,21 +6,7 @@ enable = true; enableCompletion = true; - # Aliases (which don't expand). - shellAliases = { - "-" = "cd -"; - ".." = "cd .."; - "..." = "cd ../.."; - "...." = "cd ../../.."; - "....." = "cd ../../../.."; - cat = "bat"; - run = "./run"; - s = "secrets"; - secrets = ''doppler --project "$(whoami)" run''; - tag = "tag-release"; - wt = "git worktree"; - vss = "LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; - }; + shellAliases = (import ./zsh/aliases.nix); initExtra = '' git() { @@ -138,69 +124,20 @@ }; }; - home.file.".config/zsh-abbr/user-abbreviations".text = '' - abbr dea="direnv allow" - abbr dee="direnv edit" - abbr cs="create-script" - abbr daily="run create-daily next" - abbr switch="run nixos nixedo switch" - abbr sz="source ~/.config/zsh/.zshrc" + home.file.".config/zsh-abbr/user-abbreviations".text = builtins.readFile ./zsh/abbreviations.zsh; - abbr g="git" - abbr ga="git add" - abbr gap="git add -p" - abbr gc="git commit" - abbr gri="git rebase -i" - abbr gs="git status" - - # tmux - abbr ta="tmux attach" - abbr tl="tmux list-sessions" - abbr tk="tmux kill-session" - - # Docker and Docker Compose. - abbr dk="docker" - abbr dkp="docker ps" - abbr dkpa="docker ps -a" - abbr dkpaq="docker ps -a -q" - abbr dkb="docker build -t" - abbr dks="docker start" - abbr dkt="docker stop" - abbr dkrm="docker rm" - abbr dkri="docker rmi" - abbr dke="docker exec -ti" - abbr dkl="docker logs -f" - abbr dki="docker images" - abbr dkpu="docker pull" - abbr dkph="docker push" - abbr dkbnc="docker build --no-cache -t" - abbr dkr="docker run --rm" - abbr dkrti="docker run --rm -ti" - abbr dkc="docker compose" - abbr dkcb="docker compose build" - abbr dkcu="docker compose up" - abbr dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" - - # run scripts. - abbr r="run" - abbr rc="run composer" - abbr rd="run drush" - abbr rdcr="run drush cr" - abbr rdup="run drush updb -y" - abbr rdce="run drush config:export -y" - abbr rdci="run drush config:import -y" - abbr rduli="run drush uli" - - abbr -g A1="| awk '{print $1}'" - abbr -g Fj="| jq ." - abbr -g Fy="| yq ." - abbr -g G="| grep" - abbr -g GH="| grep HTTP" - abbr -g Gi="| grep -i" - abbr -g H2="| head -n 20" - abbr -g H="| head" - abbr -g L="| less" - abbr -g V="| vim -" - abbr -g X="| xargs -I1" - ''; + home.sessionVariables = { + AUTO_NOTIFY_IGNORE = builtins.concatStringsSep " " [ + "git commit" + "htop" + "less" + "man" + "more" + "nix develop" + "nvim" + "ssh" + "tldr" + "watch" + ]; + }; } diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh new file mode 100644 index 00000000..20c33e5e --- /dev/null +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -0,0 +1,63 @@ +abbr dea="direnv allow" +abbr dee="direnv edit" +abbr cs="create-script" +abbr daily="run create-daily next" +abbr switch="run nixos nixedo switch" +abbr sz="source ~/.config/zsh/.zshrc" + +abbr g="git" +abbr ga="git add" +abbr gap="git add -p" +abbr gc="git commit" +abbr gri="git rebase -i" +abbr gs="git status" + +# tmux +abbr ta="tmux attach" +abbr tl="tmux list-sessions" +abbr tk="tmux kill-session" + +# Docker and Docker Compose. +abbr dk="docker" +abbr dkp="docker ps" +abbr dkpa="docker ps -a" +abbr dkpaq="docker ps -a -q" +abbr dkb="docker build -t" +abbr dks="docker start" +abbr dkt="docker stop" +abbr dkrm="docker rm" +abbr dkri="docker rmi" +abbr dke="docker exec -ti" +abbr dkl="docker logs -f" +abbr dki="docker images" +abbr dkpu="docker pull" +abbr dkph="docker push" +abbr dkbnc="docker build --no-cache -t" +abbr dkr="docker run --rm" +abbr dkrti="docker run --rm -ti" +abbr dkc="docker compose" +abbr dkcb="docker compose build" +abbr dkcu="docker compose up" +abbr dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" + +# run scripts. +abbr r="run" +abbr rc="run composer" +abbr rd="run drush" +abbr rdcr="run drush cr" +abbr rdup="run drush updb -y" +abbr rdce="run drush config:export -y" +abbr rdci="run drush config:import -y" +abbr rduli="run drush uli" + +abbr -g A1="| awk '{print $1}'" +abbr -g Fj="| jq ." +abbr -g Fy="| yq ." +abbr -g G="| grep" +abbr -g GH="| grep HTTP" +abbr -g Gi="| grep -i" +abbr -g H2="| head -n 20" +abbr -g H="| head" +abbr -g L="| less" +abbr -g V="| vim -" +abbr -g X="| xargs -I1" diff --git a/lib/shared/modules/zsh/aliases.nix b/lib/shared/modules/zsh/aliases.nix new file mode 100644 index 00000000..3365d14c --- /dev/null +++ b/lib/shared/modules/zsh/aliases.nix @@ -0,0 +1,14 @@ +{ + "-" = "cd -"; + ".." = "cd .."; + "..." = "cd ../.."; + "...." = "cd ../../.."; + "....." = "cd ../../../.."; + cat = "bat"; + run = "./run"; + s = "secrets"; + secrets = ''doppler --project "$(whoami)" run''; + tag = "tag-release"; + wt = "git worktree"; + vss = "LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; +} From 3de6b6cd331a119bbf36e7ab28454f8bfaf77661 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 30 Jun 2024 14:41:39 +0100 Subject: [PATCH 0870/2258] Update flake lock file --- flake.lock | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index dcbbeb4a..5573da1d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,8 +7,8 @@ ] }, "locked": { - "lastModified": 1716365597, - "narHash": "sha256-hVI9QY4tLbXmci1MERp8CEduJ3xfeTT3ZxKnuMCJP3E=", + "lastModified": 1719706852, + "narHash": "sha256-Mfpkpg0ffuYC5ISLtVp//xMKJ0y7i6NIHLFRPniN6v8=", "path": "/home/opdavies/Code/personal/build-configs", "type": "path" }, @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1717527182, - "narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=", + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "owner": "nix-community", "repo": "home-manager", - "rev": "845a5c4c073f74105022533907703441e0464bc3", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "type": "github" }, "original": { @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717952948, - "narHash": "sha256-mJi4/gjiwQlSaxjA6AusXBN/6rQRaPCycR7bd8fydnQ=", + "lastModified": 1719426051, + "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2819fffa7fa42156680f0d282c60d81e8fb185b7", + "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", "type": "github" }, "original": { @@ -72,11 +72,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1717786204, - "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "lastModified": 1719506693, + "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", "type": "github" }, "original": { @@ -111,11 +111,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1718933700, - "narHash": "sha256-Sf+U6770jSoSD6z4s9lqspV+ix6fYdfR+u9FP1vNdhk=", + "lastModified": 1719670442, + "narHash": "sha256-gDm16OcRMSRlmeqXgOYAyS+XbAhPNURvYGwrc5OnqpU=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "e4e9727819ec72173dc7fb75c741c40c734a0052", + "rev": "77aa4db95fcadcb8451022f6054cbabab986e665", "type": "github" }, "original": { From b11055fd8ea917f2c9807e7fd76c8c334719bd13 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Jul 2024 08:00:00 +0100 Subject: [PATCH 0871/2258] zsh: configure auto-notify ignore settings --- lib/shared/modules/zsh.nix | 19 ++++--------------- lib/shared/modules/zsh/auto-notify-ignore.nix | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 lib/shared/modules/zsh/auto-notify-ignore.nix diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index c4664cce..dfbad93e 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -122,22 +122,11 @@ { name = "zsh-users/zsh-syntax-highlighting"; } ]; }; + + sessionVariables = { + AUTO_NOTIFY_IGNORE = import ./zsh/auto-notify-ignore.nix; + }; }; home.file.".config/zsh-abbr/user-abbreviations".text = builtins.readFile ./zsh/abbreviations.zsh; - - home.sessionVariables = { - AUTO_NOTIFY_IGNORE = builtins.concatStringsSep " " [ - "git commit" - "htop" - "less" - "man" - "more" - "nix develop" - "nvim" - "ssh" - "tldr" - "watch" - ]; - }; } diff --git a/lib/shared/modules/zsh/auto-notify-ignore.nix b/lib/shared/modules/zsh/auto-notify-ignore.nix new file mode 100644 index 00000000..8384ef57 --- /dev/null +++ b/lib/shared/modules/zsh/auto-notify-ignore.nix @@ -0,0 +1,17 @@ +[ + "atuin" + "bat" + "cat" + "docker" + "git" + "htop" + "less" + "man" + "more" + "nix develop" + "nvim" + "ssh" + "t" + "tldr" + "watch" +] From 795f996091ecf88ddf9b0e59d59d2eabf7735b6c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Jul 2024 08:00:00 +0100 Subject: [PATCH 0872/2258] awesome: swap Mod+j and Mod+k keybindings Make `Mod+j` go left and `Mod+k` go right, so they match the position of the keys on the keyboard. --- config/awesome/rc.lua | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 11d14035..1dbc3234 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -272,28 +272,34 @@ globalkeys = gears.table.join( awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }), awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }), awful.key({ modkey }, "j", function() - awful.client.focus.byidx(1) - end, { description = "focus next by index", group = "client" }), - awful.key({ modkey }, "k", function() awful.client.focus.byidx(-1) end, { description = "focus previous by index", group = "client" }), + + awful.key({ modkey }, "k", function() + awful.client.focus.byidx(1) + end, { description = "focus next by index", group = "client" }), + awful.key({ modkey }, "w", function() mymainmenu:show() end, { description = "show main menu", group = "awesome" }), -- Layout manipulation awful.key({ modkey, "Shift" }, "j", function() - awful.client.swap.byidx(1) - end, { description = "swap with next client by index", group = "client" }), - awful.key({ modkey, "Shift" }, "k", function() awful.client.swap.byidx(-1) end, { description = "swap with previous client by index", group = "client" }), + + awful.key({ modkey, "Shift" }, "k", function() + awful.client.swap.byidx(1) + end, { description = "swap with next client by index", group = "client" }), + awful.key({ modkey, "Control" }, "j", function() - awful.screen.focus_relative(1) - end, { description = "focus the next screen", group = "screen" }), - awful.key({ modkey, "Control" }, "k", function() awful.screen.focus_relative(-1) end, { description = "focus the previous screen", group = "screen" }), + + awful.key({ modkey, "Control" }, "k", function() + awful.screen.focus_relative(1) + end, { description = "focus the next screen", group = "screen" }), + awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }), awful.key({ modkey }, "Tab", function() awful.client.focus.history.previous() From 8f98a24ea1cd1cc8739934819b89d4f9fab22c28 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Jul 2024 08:00:00 +0100 Subject: [PATCH 0873/2258] awesome: add spacing between keybinds --- config/awesome/rc.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 1dbc3234..d6c5ad3c 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -268,9 +268,13 @@ root.buttons(gears.table.join( -- {{{ Key bindings globalkeys = gears.table.join( awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }), + awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }), + awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }), + awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }), + awful.key({ modkey }, "j", function() awful.client.focus.byidx(-1) end, { description = "focus previous by index", group = "client" }), @@ -301,6 +305,7 @@ globalkeys = gears.table.join( end, { description = "focus the next screen", group = "screen" }), awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }), + awful.key({ modkey }, "Tab", function() awful.client.focus.history.previous() if client.focus then @@ -312,29 +317,39 @@ globalkeys = gears.table.join( awful.key({ modkey }, "Return", function() awful.spawn(terminal) end, { description = "open a terminal", group = "launcher" }), + awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }), + awful.key({ modkey, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }), + awful.key({ modkey }, "l", function() awful.tag.incmwfact(0.05) end, { description = "increase master width factor", group = "layout" }), + awful.key({ modkey }, "h", function() awful.tag.incmwfact(-0.05) end, { description = "decrease master width factor", group = "layout" }), + awful.key({ modkey, "Shift" }, "h", function() awful.tag.incnmaster(1, nil, true) end, { description = "increase the number of master clients", group = "layout" }), + awful.key({ modkey, "Shift" }, "l", function() awful.tag.incnmaster(-1, nil, true) end, { description = "decrease the number of master clients", group = "layout" }), + awful.key({ modkey, "Control" }, "h", function() awful.tag.incncol(1, nil, true) end, { description = "increase the number of columns", group = "layout" }), + awful.key({ modkey, "Control" }, "l", function() awful.tag.incncol(-1, nil, true) end, { description = "decrease the number of columns", group = "layout" }), + awful.key({ modkey }, "space", function() awful.layout.inc(1) end, { description = "select next", group = "layout" }), + awful.key({ modkey, "Shift" }, "space", function() awful.layout.inc(-1) end, { description = "select previous", group = "layout" }), @@ -538,6 +553,7 @@ awful.rules.rules = { "Wpa_gui", "veromix", "xtightvncviewer", + "zoom", }, -- Note that the name property shown in xprop might be set slightly after creation of the client From b636f365ca96571fd31a3a089144b66b23793c20 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Jul 2024 08:00:00 +0100 Subject: [PATCH 0874/2258] tmux: remove tmuxinator --- lib/shared/modules/tmux.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index e6aaa415..909966b1 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -6,8 +6,6 @@ in programs.tmux = { enable = true; - tmuxinator.enable = true; - terminal = "tmux-256color"; extraConfig = '' From 3137c0e096fc72db16623c3731834abd8fa70e14 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 3 Jul 2024 08:00:00 +0100 Subject: [PATCH 0875/2258] awesome: make `max` the default layout --- config/awesome/rc.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index d6c5ad3c..8dad5f6d 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -73,8 +73,8 @@ modkey = "Mod4" -- Table of layouts to cover with awful.layout.inc, order matters. awful.layout.layouts = { - awful.layout.suit.tile, awful.layout.suit.max, + awful.layout.suit.tile, awful.layout.suit.floating, -- awful.layout.suit.tile.left, -- awful.layout.suit.tile.bottom, From d37e30e67c015d8e652812cc62bbff928a7a5f3e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 5 Jul 2024 15:12:06 +0100 Subject: [PATCH 0876/2258] git: ignore `.ddev/providers` --- lib/shared/modules/git.nix | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index ea54306f..5f1b5170 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -21,15 +21,6 @@ ''; - xdg.configFile."git/ignore".text = '' - /.direnv/ - /.ignored/ - /.issue-id - /.phpactor.json - /notes - /todo - ''; - programs = { git = { enable = true; @@ -93,6 +84,16 @@ worktrees = "worktree list"; }; + ignores = [ + "/.ddev/providers/" + "/.direnv/" + "/.ignored/" + "/.issue-id" + "/.phpactor.json" + "/notes" + "/todo" + ]; + extraConfig = { branch = { autosetupmerge = true; From fc8f930aeff49802974e8984a112f069f53356b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 5 Jul 2024 19:43:55 +0100 Subject: [PATCH 0877/2258] t: work for `.ignored/.tmux` files too --- lib/shared/scripts/t.nix | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index 7a65aae5..f5aff039 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -33,7 +33,7 @@ exit fi - # TODO: support .ignored/.tmux + # TODO: refactor to a function that works for both .tmux and .ignored/.tmux files. if [[ -x "''${SELECTED_PATH}/.tmux" ]]; then DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.tmux")" @@ -55,6 +55,27 @@ tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") fi + elif [[ -x "''${SELECTED_PATH}/.ignored/.tmux" ]]; then + DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.ignored/.tmux")" + + # Prompt the first time we see a given .ignored/.tmux file before running it. + if ! grep -q "''${DIGEST}" ~/..ignored/.tmux.digests 2> /dev/null; then + cat "''${SELECTED_PATH}/.ignored/.tmux" + + read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " + + if [[ $REPLY =~ ^[Tt]$ ]]; then + echo "''${DIGEST}" >> ~/..tmux.digests + + # Create a new session and run the .ignored/.tmux script. + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.ignored/.tmux" "''${SESSION_NAME}") + fi + else + # Create a new session and run the .tmux script. + tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" + (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + fi fi # If there is no session, create one. From 0fc3c765e57a3bcc70c6f7ee478481a21515a9bd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 5 Jul 2024 23:10:56 +0100 Subject: [PATCH 0878/2258] tmux: remove padding around words in the status ...bar --- lib/shared/modules/tmux.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 909966b1..b227580b 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -36,8 +36,8 @@ in bind -n C-Up resize-pane -U 5 # Status line customisation - set-option -g status-left " " - set-option -g status-right " #{session_name} " + set-option -g status-left "" + set-option -g status-right " #{session_name}" set-option -g status-right-length 100 set-option -g status-style "fg=#7C7D83 bg=default" set-option -g window-status-activity-style none From aaf069593de477d9b8d764a9e3053d91f178f343 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jul 2024 01:23:52 +0100 Subject: [PATCH 0879/2258] Update flake dependencies --- flake.lock | 36 +++++++++--------------------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 5573da1d..c75a4932 100644 --- a/flake.lock +++ b/flake.lock @@ -1,22 +1,5 @@ { "nodes": { - "build-configs": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719706852, - "narHash": "sha256-Mfpkpg0ffuYC5ISLtVp//xMKJ0y7i6NIHLFRPniN6v8=", - "path": "/home/opdavies/Code/personal/build-configs", - "type": "path" - }, - "original": { - "path": "/home/opdavies/Code/personal/build-configs", - "type": "path" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -24,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718530513, - "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "lastModified": 1720042825, + "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", "type": "github" }, "original": { @@ -40,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719426051, - "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", + "lastModified": 1720110830, + "narHash": "sha256-E5dN9GDV4LwMEduhBLSkyEz51zM17XkWZ3/9luvNOPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", + "rev": "c0d0be00d4ecc4b51d2d6948e37466194c1e6c51", "type": "github" }, "original": { @@ -72,11 +55,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719506693, - "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -126,7 +109,6 @@ }, "root": { "inputs": { - "build-configs": "build-configs", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", From 53b8745b34890259097ebf84ced9cc3edda52941 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jul 2024 01:38:44 +0100 Subject: [PATCH 0880/2258] Update `git-instafix` to 0.2.7 v0.2.6 contained fixes for trunk-based development workflows that don't require being on a separate branch. https://github.com/quodlibetor/git-instafix/releases/tag/v0.2.6 --- lib/shared/home-manager.nix | 5 ++++- lib/shared/modules/git.nix | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 6504d1c8..75e862e4 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -4,6 +4,9 @@ username, self, }: +let + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}; +in { home.username = "${username}"; home.homeDirectory = "/home/${username}"; @@ -13,13 +16,13 @@ programs.home-manager.enable = true; imports = [ + (import ./modules/git.nix { inherit inputs pkgs pkgsUnstable; }) (import ./modules/neovim.nix { inherit inputs; }) ./modules/atuin.nix ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix ./modules/fzf.nix - ./modules/git.nix ./modules/lsd.nix ./modules/nnn.nix ./modules/phpactor.nix diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 5f1b5170..9e522557 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, pkgsUnstable, ... }: { home.file.".gitmessage".text = '' @@ -140,5 +140,5 @@ }; }; - home.packages = with pkgs; [ git-instafix ]; + home.packages = with pkgsUnstable; [ git-instafix ]; } From e6e55d8af848c17a31fa8abef251a7e4af4405a6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jul 2024 01:41:43 +0100 Subject: [PATCH 0881/2258] Remove `build-configs` Caching permissions error when running `app:generate`. --- flake.nix | 5 ----- lib/shared/home-manager-packages.nix | 2 -- 2 files changed, 7 deletions(-) diff --git a/flake.nix b/flake.nix index 07089b59..ecef7a87 100644 --- a/flake.nix +++ b/flake.nix @@ -10,11 +10,6 @@ opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; # opdavies-nvim.url = "path:/home/opdavies/Code/personal/opdavies.nvim"; - - build-configs.inputs.nixpkgs.follows = "nixpkgs"; - build-configs.url = "path:/home/opdavies/Code/personal/build-configs"; - # TODO: how to do this with a private GitHub repository? - # build-configs.url = "github:OliverDaviesLtd/build-configs"; }; outputs = diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 75de7b9e..7e5c2acd 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -13,8 +13,6 @@ with pkgs; [ scripts.t - inputs.build-configs.packages.${pkgs.system}.default - awscli2 bitwarden-cli bottom From c90b77f4a17d50e08a3d3984407822b0add27a9e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jul 2024 00:00:00 +0100 Subject: [PATCH 0882/2258] awesome: increase font size --- config/awesome/widgets/battery.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/awesome/widgets/battery.lua b/config/awesome/widgets/battery.lua index 3eadb203..f7889633 100644 --- a/config/awesome/widgets/battery.lua +++ b/config/awesome/widgets/battery.lua @@ -7,7 +7,7 @@ local gears = require "gears" local wibox = require "wibox" local text = wibox.widget { - font = "sans 9", + font = "sans 10", widget = wibox.widget.textbox, } From 766a35d27e08d982fe0994f856ad9032b5d84752 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jul 2024 00:00:00 +0100 Subject: [PATCH 0883/2258] awesome: add space between keybindings --- config/awesome/rc.lua | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 8dad5f6d..ce0a39be 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -391,10 +391,44 @@ globalkeys = gears.table.join( history_path = awful.util.get_cache_dir() .. "/history_eval", } end, { description = "lua execute prompt", group = "awesome" }), + -- Menubar awful.key({ modkey }, "p", function() menubar.show() - end, { description = "show the menubar", group = "launcher" }) + end, { description = "show the menubar", group = "launcher" }), + + -- Sound and volume keys + awful.key({}, "XF86AudioRaiseVolume", function() + awful.util.spawn "amixer -D pulse set Master '1000+'" + end), + + awful.key({}, "XF86AudioLowerVolume", function() + awful.util.spawn "amixer -D pulse set Master '1000-'" + end), + + awful.key({}, "XF86AudioMute", function() + awful.util.spawn "amixer -D pulse set Master toggle" + end), + + awful.key({ "Shift" }, "XF86AudioRaiseVolume", function() + awful.util.spawn "pamixer -i 10" + end), + + awful.key({ "Shift" }, "XF86AudioLowerVolume", function() + awful.util.spawn "pamixer -d 10" + end), + + awful.key({}, "XF86AudioMicMute", function() + awful.util.spawn "pamixer --mute" + end), + + awful.key({}, "XF86MonBrightnessDown", function() + awful.util.spawn "brightnessctl specific '10%-'" + end), + + awful.key({}, "XF86MonBrightnessUp", function() + awful.util.spawn "brightnessctl specific '+10%'" + end) ) clientkeys = gears.table.join( From d769885d8fb4bda66c00302916482ae021470191 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 6 Jul 2024 00:00:00 +0100 Subject: [PATCH 0884/2258] Flatten Code directories --- bin/update-all-git-repos | 2 +- flake.nix | 2 +- lib/shared/modules/tmux.nix | 4 ++-- lib/shared/modules/zsh/aliases.nix | 2 +- lib/shared/scripts/t.nix | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/update-all-git-repos b/bin/update-all-git-repos index c72d25a3..d939fc85 100755 --- a/bin/update-all-git-repos +++ b/bin/update-all-git-repos @@ -6,7 +6,7 @@ set -o errexit set -o nounset -dirs=$(find ~/Code/personal ~/Code/work -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') +dirs=$(find ~/Code -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') for dir in $dirs; do repo_path="${dir%/.git}" diff --git a/flake.nix b/flake.nix index ecef7a87..73bc019e 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; opdavies-nvim.url = "github:opdavies/opdavies.nvim"; - # opdavies-nvim.url = "path:/home/opdavies/Code/personal/opdavies.nvim"; + # opdavies-nvim.url = "path:/home/opdavies/Code/opdavies.nvim"; }; outputs = diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index b227580b..9908112d 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -97,8 +97,8 @@ in bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/github.com/opdavies/dotfiles.nix" - bind-key -r N run-shell "t ~/Code/github.com/opdavies/opdavies.nvim" + bind-key -r D run-shell "t ~/Code/dotfiles.nix" + bind-key -r N run-shell "t ~/Code/opdavies.nvim" bind-key -r W run-shell "t ~/Documents/wiki" set -g @resurrect-strategy-nvim 'session' diff --git a/lib/shared/modules/zsh/aliases.nix b/lib/shared/modules/zsh/aliases.nix index 3365d14c..8b1e0df9 100644 --- a/lib/shared/modules/zsh/aliases.nix +++ b/lib/shared/modules/zsh/aliases.nix @@ -10,5 +10,5 @@ secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; wt = "git worktree"; - vss = "LC_ALL=C sort --unique ~/Code/personal/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique ~/Code/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; } diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index f5aff039..f2bc7ee7 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -16,7 +16,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ + items=$(find ~/Code /tmp \ -maxdepth 1 -mindepth 1 -type d \ ! -name "*-old" \ ! -name "*.old" From b23d33586bbcc6dd74dab86e44007aed1bdd4f2c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 16:53:43 +0100 Subject: [PATCH 0885/2258] Update `opdavies-nvim` --- flake.lock | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index c75a4932..3a197c73 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,23 @@ { "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -53,6 +71,18 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + } + }, "nixpkgs-unstable": { "locked": { "lastModified": 1720031269, @@ -71,11 +101,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1717786204, - "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -87,6 +117,7 @@ }, "opdavies-nvim": { "inputs": { + "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" ], @@ -94,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1719670442, - "narHash": "sha256-gDm16OcRMSRlmeqXgOYAyS+XbAhPNURvYGwrc5OnqpU=", + "lastModified": 1720453069, + "narHash": "sha256-7G89tSknjCYoF37EPc2NVqpNieysJAx4aYaF9WF6zIg=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "77aa4db95fcadcb8451022f6054cbabab986e665", + "rev": "690e61ee5e2aca57d9dcdf019e07260954de93a0", "type": "github" }, "original": { From d1080e0cbc6a8061d27896aab221b2f9b1a9241d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 18:43:32 +0100 Subject: [PATCH 0886/2258] t: ignore the `_archive` directory --- lib/shared/scripts/t.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index f2bc7ee7..4e6fd409 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -18,6 +18,7 @@ # tmux-safe version. items=$(find ~/Code /tmp \ -maxdepth 1 -mindepth 1 -type d \ + ! -name "_archive" \ ! -name "*-old" \ ! -name "*.old" ) From 0c4167a4640f6d61887e0ad703d979b9d87a5732 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 18:46:56 +0100 Subject: [PATCH 0887/2258] zsh: don't automatically source zsh plugins It seems this is done automatically. --- lib/shared/modules/zsh.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index dfbad93e..f11f6764 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -55,11 +55,6 @@ command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } - # Plugins - source "''${ZPLUG_REPOS}/joshskidmore/zsh-fzf-history-search/zsh-fzf-history-search.plugin.zsh" - source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh" - source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh" - # Case insensitive autocompletion. zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit From 84cff06cf3b29d2feb56c4f2b7f30867eb2bb29d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 19:20:17 +0100 Subject: [PATCH 0888/2258] Move autorandr configuration so it works ...automatically when docking or undocking --- lib/nixos/default.nix | 1 + lib/nixos/home-manager/desktop.nix | 1 - lib/nixos/home-manager/modules/autorandr.nix | 52 ------------------- lib/nixos/modules/autorandr.nix | 53 ++++++++++++++++++++ 4 files changed, 54 insertions(+), 53 deletions(-) delete mode 100644 lib/nixos/home-manager/modules/autorandr.nix create mode 100644 lib/nixos/modules/autorandr.nix diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 842004bc..38216598 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -46,6 +46,7 @@ inputs.nixpkgs.lib.nixosSystem { username ; }) + (import ./modules/autorandr.nix) (import ./modules/gnome.nix) # (import ./modules/sway.nix { inherit inputs username; }) diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 123ba1b5..0bcb550b 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -7,7 +7,6 @@ { imports = [ ./modules/alacritty.nix - ./modules/autorandr.nix # ./modules/awesome.nix ./modules/copyq.nix ./modules/dunst.nix diff --git a/lib/nixos/home-manager/modules/autorandr.nix b/lib/nixos/home-manager/modules/autorandr.nix deleted file mode 100644 index a057098b..00000000 --- a/lib/nixos/home-manager/modules/autorandr.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ username, ... }: { - services.autorandr.enable = true; - - xdg.configFile."autorandr/postswitch" = { - executable = true; - text = '' - #!/usr/bin/env bash - - feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; - ''; - }; - - programs.autorandr = { - enable = true; - - profiles = let - fingerprint = - "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; - name = "eDP-1"; - in { - default = { - fingerprint = { "${name}" = fingerprint; }; - - config = { - "${name}" = { - enable = true; - mode = "1920x1080"; - }; - }; - }; - - desktop = { - config = { - "${name}".enable = false; - - "HDMI-1" = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; - }; - }; - - fingerprint = { - "${name}" = fingerprint; - "HDMI-1" = - "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - }; - }; - }; - }; -} diff --git a/lib/nixos/modules/autorandr.nix b/lib/nixos/modules/autorandr.nix new file mode 100644 index 00000000..72efcc63 --- /dev/null +++ b/lib/nixos/modules/autorandr.nix @@ -0,0 +1,53 @@ +{ username, ... }: +{ + # xdg.configFile."autorandr/postswitch" = { + # executable = true; + # text = '' + # #!/usr/bin/env bash + # + # feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; + # ''; + # }; + + services.autorandr = { + enable = true; + + profiles = + let + fingerprint = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + name = "eDP-1"; + in + { + default = { + fingerprint = { + "${name}" = fingerprint; + }; + + config = { + "${name}" = { + enable = true; + mode = "1920x1080"; + }; + }; + }; + + desktop = { + config = { + "${name}".enable = false; + + "HDMI-1" = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; + }; + + fingerprint = { + "${name}" = fingerprint; + "HDMI-1" = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + }; + }; + }; + }; +} From ad796ad495ba0df2581ae8b57a2c93078e1b384a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 19:20:22 +0100 Subject: [PATCH 0889/2258] Remove unused files and references --- lib/nixos/default.nix | 5 +- lib/nixos/home-manager/desktop.nix | 5 - lib/nixos/home-manager/modules/dunst.nix | 11 -- lib/nixos/home-manager/modules/gtk.nix | 11 -- lib/nixos/home-manager/modules/kanshi.nix | 43 ------ lib/nixos/home-manager/modules/sway.nix | 163 ---------------------- lib/nixos/modules/gnome.nix | 11 -- lib/nixos/modules/sway.nix | 33 ----- 8 files changed, 2 insertions(+), 280 deletions(-) delete mode 100644 lib/nixos/home-manager/modules/dunst.nix delete mode 100644 lib/nixos/home-manager/modules/gtk.nix delete mode 100644 lib/nixos/home-manager/modules/kanshi.nix delete mode 100644 lib/nixos/home-manager/modules/sway.nix delete mode 100644 lib/nixos/modules/gnome.nix delete mode 100644 lib/nixos/modules/sway.nix diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 38216598..b38695a0 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -38,6 +38,8 @@ inputs.nixpkgs.lib.nixosSystem { }; } + (import ./modules/autorandr.nix) + (import ./modules/awesome.nix { inherit inputs @@ -46,9 +48,6 @@ inputs.nixpkgs.lib.nixosSystem { username ; }) - (import ./modules/autorandr.nix) - (import ./modules/gnome.nix) - # (import ./modules/sway.nix { inherit inputs username; }) configuration hardwareConfiguration diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index 0bcb550b..d8d7a892 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -7,15 +7,10 @@ { imports = [ ./modules/alacritty.nix - # ./modules/awesome.nix ./modules/copyq.nix - ./modules/dunst.nix ./modules/espanso.nix - ./modules/gtk.nix ./modules/feh.nix ./modules/flameshot.nix - ./modules/kanshi.nix - # ./modules/sway.nix ./modules/mpv.nix ]; } diff --git a/lib/nixos/home-manager/modules/dunst.nix b/lib/nixos/home-manager/modules/dunst.nix deleted file mode 100644 index 27792de2..00000000 --- a/lib/nixos/home-manager/modules/dunst.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - services.dunst = { - enable = true; - - settings = { - global = { - follow = "keyboard"; - }; - }; - }; -} diff --git a/lib/nixos/home-manager/modules/gtk.nix b/lib/nixos/home-manager/modules/gtk.nix deleted file mode 100644 index bce482cc..00000000 --- a/lib/nixos/home-manager/modules/gtk.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - gtk = { - enable = true; - theme.package = pkgs.arc-theme; - theme.name = "Arc-Dark"; - iconTheme.package = pkgs.arc-icon-theme; - iconTheme.name = "Arc"; - }; -} diff --git a/lib/nixos/home-manager/modules/kanshi.nix b/lib/nixos/home-manager/modules/kanshi.nix deleted file mode 100644 index 76559e5f..00000000 --- a/lib/nixos/home-manager/modules/kanshi.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - systemd.user.services.kanshi = { - serviceConfig = { - StartLimitBurst = 5; - StartLimitIntervalSec = 30; - }; - }; - - services.kanshi = { - enable = true; - - # swaymsg -t get_outputs - settings = [ - { - profile.name = "undocked"; - profile.outputs = [ - { - criteria = "eDP-1"; - status = "enable"; - mode = "1920x1080"; - position = "0,0"; - } - ]; - } - { - profile.name = "docked"; - profile.outputs = [ - { - criteria = "eDP-1"; - status = "disable"; - } - - { - criteria = "Samsung Electric Company LU28R55 H4ZRA00128"; - mode = "3840x2160"; - position = "0,0"; - scale = 1.5; - } - ]; - } - ]; - }; -} diff --git a/lib/nixos/home-manager/modules/sway.nix b/lib/nixos/home-manager/modules/sway.nix deleted file mode 100644 index bf6ea6a4..00000000 --- a/lib/nixos/home-manager/modules/sway.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: - -{ - programs.i3status-rust = { - enable = true; - - bars = { - default = { - blocks = [ - { - block = "net"; - format = " $ip "; - } - { - block = "battery"; - format = " $icon $percentage $time "; - } - { block = "cpu"; } - { - block = "memory"; - format = " $icon $mem_total_used_percents.eng(w:2) "; - format_alt = " $icon_swap $swap_used_percents.eng(w:2) "; - } - { - block = "disk_space"; - path = "/"; - info_type = "available"; - alert_unit = "GB"; - interval = 20; - warning = 20.0; - alert = 10.0; - format = " $icon $available.eng(w:2) "; - } - { - block = "time"; - interval = 1; - format = " $timestamp.datetime(f:'%d-%m-%Y %T') "; - } - ]; - - settings = { - theme = { - theme = "plain"; - overrides = { - critical_bg = "#111111"; - good_bg = "#111111"; - good_fg = "#ffffff"; - idle_bg = "#111111"; - idle_fg = "#ffffff"; - info_bg = "#111111"; - info_fg = "#ffffff"; - separator_bg = "#111111"; - warning_bg = "#111111"; - warning_fg = "#ffffff"; - }; - }; - }; - }; - }; - }; - - wayland.windowManager.sway = { - enable = true; - xwayland = true; - - config = { - bars = [ - { - colors.background = "#111111"; - - fonts = { - names = [ "JetBrainsMono Nerd Font Mono" ]; - size = 12.0; - }; - - statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml"; - trayPadding = 5; - } - ]; - - defaultWorkspace = "workspace number 1"; - - gaps = { - inner = 0; - smartBorders = "on"; - }; - - input = { - "*" = { - xkb_layout = "gb"; - }; - - "type:touchpad" = { - dwt = "enabled"; - tap = "enabled"; - }; - }; - - keybindings = - let - modifier = config.wayland.windowManager.sway.config.modifier; - in - inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+Escape" = "exec swaylock --daemonize"; - "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; - "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; - "${modifier}+Shift+period" = "exec systemctl suspend"; - "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; - "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; - }; - - menu = "wofi --show run"; - modifier = "Mod4"; - - output = { - # "*" = { - # bg = "~/.config/wallpaper/wallpaper.jpg fill"; - # }; - - eDP-1 = { - scale = "1.0"; - }; - }; - - terminal = "wezterm"; - - window.border = 3; - }; - - extraConfig = '' - exec_always ${pkgs.kanshi}/bin/kanshi - - set $laptop eDP-1 - bindswitch --reload --locked lid:on output $laptop disable - bindswitch --reload --locked lid:off output $laptop enable - - set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock - exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob - - bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $WOBSOCK - bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $WOBSOCK - bindsym XF86AudioMute exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0 > $WOBSOCK ) || pamixer --get-volume > $WOBSOCK - - # TODO: light? - bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK - bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK - - for_window [app_id="flameshot"] floating enable - for_window [app_id="pavucontrol"] floating enable - for_window [class="copyq"] floating enable - for_window [class="zoom"] floating enable - # swaymsg -t get_tree - - seat seat0 hide_cursor 1000 - seat seat0 hide_cursor when-typing enable - ''; - }; -} diff --git a/lib/nixos/modules/gnome.nix b/lib/nixos/modules/gnome.nix deleted file mode 100644 index a98d0957..00000000 --- a/lib/nixos/modules/gnome.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - services = { - displayManager.sddm.enable = true; - - xserver.desktopManager.gnome.enable = true; - }; - - environment.systemPackages = with pkgs; [ networkmanagerapplet ]; -} diff --git a/lib/nixos/modules/sway.nix b/lib/nixos/modules/sway.nix deleted file mode 100644 index a3c69816..00000000 --- a/lib/nixos/modules/sway.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ inputs, username, ... }: -{ pkgs, ... }: -{ - services.displayManager.defaultSession = "sway"; - - programs.sway.enable = true; - - xdg.portal = { - enable = true; - extraPortals = with pkgs; [ xdg-desktop-portal-wlr ]; - }; - - home-manager.users.${username} = - { pkgs, ... }: - { - home.sessionVariables = { - MOZ_ENABLE_WAYLAND = "1"; - MOZ_USE_XINPUT2 = "1"; - QT_QPA_PLATFORM = "wayland"; - SDL_VIDEODRIVER = "wayland"; - XDG_CURRENT_DESKTOP = "sway"; - XDG_SESSION_TYPE = "wayland"; - }; - - home.packages = with pkgs; [ - i3status - swaybg - wdisplays - wl-clipboard - wofi - ]; - }; -} From 9677ef8ecd37ce2b9b44fc31fde2fbd50e68369f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 19:20:17 +0100 Subject: [PATCH 0890/2258] Replace `justfile` with `run` --- flake.nix | 2 +- justfile | 34 ------------------------------ run | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 35 deletions(-) delete mode 100644 justfile create mode 100755 run diff --git a/flake.nix b/flake.nix index 73bc019e..8900756d 100644 --- a/flake.nix +++ b/flake.nix @@ -33,7 +33,7 @@ inherit (pkgs) mkShell; in { - packages.${system}.default = mkShell { buildInputs = with pkgs; [ just ]; }; + packages.${system}.default = mkShell { buildInputs = with pkgs; [ bashInteractive ]; }; formatter.${system} = pkgs.nixfmt-rfc-style; diff --git a/justfile b/justfile deleted file mode 100644 index 86c5bd40..00000000 --- a/justfile +++ /dev/null @@ -1,34 +0,0 @@ -_default: - just --list - -check: - nix flake check - -fmt: - nix fmt flake.nix lib - -nixos-build *args: - sudo nixos-rebuild build --flake . {{ args }} - -nixos-switch *args: - sudo nixos-rebuild switch --flake . {{ args }} - -nixos-test *args: - sudo nixos-rebuild test --flake . {{ args }} - -update: - nix flake update - -wsl-build: - NIXPKGS_ALLOW_UNFREE=1 home-manager build \ - --extra-experimental-features flakes \ - --extra-experimental-features nix-command \ - --flake ".#wsl2" \ - --impure - -wsl-switch: - NIXPKGS_ALLOW_UNFREE=1 home-manager switch \ - --extra-experimental-features flakes \ - --extra-experimental-features nix-command \ - --flake ".#wsl2" \ - --impure diff --git a/run b/run new file mode 100755 index 00000000..3b90fb2c --- /dev/null +++ b/run @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +function check { + nix flake check +} + +function help { + printf "%s [args]\n\nTasks:\n" "$0" + + compgen -A function | grep -v "^_" | cat -n + + printf "\nExtended help:\n Each task has comments for general usage\n" +} + +function nixos:build { + _nixos build "$@" +} + +function nixos:switch { + _nixos switch "$@" +} + +function nixos:test { + _nixos test "$@" +} + +function update { + nix flake update +} + +function wsl:build { + _home build wsl2 +} + +function wsl:switch { + _home switch wsl2 +} + +function _home { + local command="$1" + local flake="$2" + shift 2 + + NIXPKGS_ALLOW_UNFREE=1 home-manager "$command" \ + --extra-experimental-features flakes \ + --extra-experimental-features nix-command \ + --flake ".#$flake" \ + --impure "$@" +} + +function _nixos { + local command="$1" + shift 1 + + sudo nixos-rebuild "$command" --flake . "$@" +} + +TIMEFORMAT=$'\nTask completed in %3lR' +time "${@:-help}" From 75731bda19d609da789743a5fd880b1865466a69 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 8 Jul 2024 22:25:42 +0100 Subject: [PATCH 0891/2258] t: extract a function that finds and executes ...`.tmux` files --- lib/shared/scripts/t.nix | 109 +++++++++++++++++++-------------------- 1 file changed, 53 insertions(+), 56 deletions(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index 4e6fd409..fba430ac 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -11,79 +11,76 @@ text = '' # Credit to ThePrimeagen and Jess Archer. - if [[ $# -eq 1 ]]; then - SELECTED_PATH=$1 - else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find ~/Code /tmp \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "_archive" \ - ! -name "*-old" \ - ! -name "*.old" - ) + function execute_tmux_file { + local tmux_file="$1" + selected_path="$2" + session_name="$3" - SELECTED_PATH=$(echo "''${items}" | fzf) - fi - - SESSION_NAME=$(basename "''${SELECTED_PATH}" | sed 's/\./_/g') - - # Attach to an existing session, if one exists. - if tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then - tmux attach -t "''${SESSION_NAME}" || tmux switch-client -t "''${SESSION_NAME}" - exit - fi - - # TODO: refactor to a function that works for both .tmux and .ignored/.tmux files. - if [[ -x "''${SELECTED_PATH}/.tmux" ]]; then - DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.tmux")" + DIGEST="$(openssl sha512 "$tmux_file")" # Prompt the first time we see a given .tmux file before running it. - if ! grep -q "''${DIGEST}" ~/..tmux.digests 2> /dev/null; then - cat "''${SELECTED_PATH}/.tmux" + if ! grep -q "$DIGEST" ~/..tmux.digests 2> /dev/null; then + cat "$tmux_file" read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " if [[ $REPLY =~ ^[Tt]$ ]]; then - echo "''${DIGEST}" >> ~/..tmux.digests + echo "$DIGEST" >> ~/..tmux.digests - # Create a new session and run the .tmux script. - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" fi else - # Create a new session and run the .tmux script. - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" fi - elif [[ -x "''${SELECTED_PATH}/.ignored/.tmux" ]]; then - DIGEST="$(openssl sha512 "''${SELECTED_PATH}/.ignored/.tmux")" + } - # Prompt the first time we see a given .ignored/.tmux file before running it. - if ! grep -q "''${DIGEST}" ~/..ignored/.tmux.digests 2> /dev/null; then - cat "''${SELECTED_PATH}/.ignored/.tmux" + function create_session_and_run_tmux_file { + tmux_file="$1" + selected_path="$2" + session_name="$3" - read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " + tmux new-session -d -c "$selected_path" -s "$session_name" + (cd "$selected_path" && "$tmux_file" "$session_name") + } - if [[ $REPLY =~ ^[Tt]$ ]]; then - echo "''${DIGEST}" >> ~/..tmux.digests - - # Create a new session and run the .ignored/.tmux script. - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.ignored/.tmux" "''${SESSION_NAME}") - fi + function main { + if [[ $# -eq 1 ]]; then + selected_path=$1 else - # Create a new session and run the .tmux script. - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - (cd "''${SELECTED_PATH}" && "''${SELECTED_PATH}/.tmux" "''${SESSION_NAME}") + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find ~/Code /tmp \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "_archive" \ + ! -name "*-old" \ + ! -name "*.old" + ) + + selected_path=$(echo "''${items}" | fzf) fi - fi - # If there is no session, create one. - if ! tmux has-session -t "''${SESSION_NAME}" 2> /dev/null; then - tmux new-session -d -c "''${SELECTED_PATH}" -s "''${SESSION_NAME}" - fi + session_name=$(basename "$selected_path" | sed 's/\./_/g') - tmux switch-client -t "''${SESSION_NAME}" || tmux attach-session -t "''${SESSION_NAME}" + # Attach to an existing session, if one exists. + if tmux has-session -t "$session_name" 2> /dev/null; then + tmux attach -t "$session_name" || tmux switch-client -t "$session_name" + exit + fi + + if [[ -x "$selected_path/.tmux" ]]; then + execute_tmux_file "$selected_path/.tmux" "$selected_path" "$session_name" + elif [[ -x "$selected_path/.ignored/.tmux" ]]; then + execute_tmux_file "$selected_path/.ignored/.tmux" "$selected_path" "$session_name" + fi + + # If there is no session, create one. + if ! tmux has-session -t "$session_name" 2> /dev/null; then + tmux new-session -d -c "$selected_path" -s "$session_name" + fi + + tmux switch-client -t "$session_name" || tmux attach-session -t "$session_name" + } + + main "$@" ''; } From 0610b0e865f9fd78b1b6c4730f8a211ed0131520 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 06:38:53 +0100 Subject: [PATCH 0892/2258] t: search in `~/Documents` --- lib/shared/scripts/t.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index fba430ac..5f32d610 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -49,7 +49,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code /tmp \ + items=$(find ~/Code ~/Documents /tmp \ -maxdepth 1 -mindepth 1 -type d \ ! -name "_archive" \ ! -name "*-old" \ From 42c1bc4045e2ee1c4ea5d68e23624fa6c3c469e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 12:01:08 +0100 Subject: [PATCH 0893/2258] zsh: remove `just` override --- lib/shared/modules/zsh.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index f11f6764..ff04d026 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -25,14 +25,6 @@ fi } - just() { - if [[ -f .ignored/justfile ]]; then - ${pkgs.just}/bin/just --justfile .ignored/justfile "''${@}" - else - ${pkgs.just}/bin/just "''${@}" - fi - } - til() { if [[ ''${#} < 1 ]]; then echo "No text was provided." From c06fb20115754f6cb097320b65cf74c84557a2d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 13:53:02 +0100 Subject: [PATCH 0894/2258] git: use `difftastic` --- lib/shared/modules/git.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 9e522557..1aad65fd 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -34,6 +34,11 @@ } ]; + difftastic = { + background = "dark"; + enable = true; + }; + aliases = { aa = "add --all"; assume = "update-index --assume-unchanged"; @@ -112,7 +117,6 @@ pager = "delta"; }; delta.line-numbers = true; - diff.tool = "vimdiff"; fetch.prune = true; gpg.format = "ssh"; grep.lineNumber = true; From 2fbf67507ffd5980489e8e693091abc96548e613 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 14:15:46 +0100 Subject: [PATCH 0895/2258] git: use `difftastic` by default As described in https://difftastic.wilfred.me.uk/git.html#difftastic-by-default, the `--ext-diff` option needs to be used for difftastic to be used on commands other than `git diff`, such as `git show` or `git log`. > This only applies to git diff. For other git commands, you still need to specify --ext-diff, or use an alias as described above. ```shell $ git diff $ git show HEAD --ext-diff $ git log -p --ext-diff ``` > Conversely, if you need to copy/paste a diff in the standard diff format, you can use git diff --no-ext-diff. --- lib/shared/modules/zsh.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index ff04d026..d15f4b6a 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -20,6 +20,11 @@ else (cd "''${ROOT}" && eval "''${@}") fi + elif [[ "''$1" == "log" || "''$1" == "show" ]]; then + local command="$1" + shift 1 + + ${pkgs.git}/bin/git "$command" --ext-diff "$@" else ${pkgs.git}/bin/git "''${@}" fi From 5bf2253f98770c3c8a2f75040ef91b8c11d5deac Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 14:25:00 +0100 Subject: [PATCH 0896/2258] git: organise extraConfig values --- lib/shared/modules/git.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 1aad65fd..219ac080 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -105,40 +105,47 @@ autosetuprebase = "always"; sort = "-committerdate"; }; + checkout.defaultRemote = "origin"; color.ui = true; column.ui = "auto"; - commit = { - template = "~/.gitmessage"; - }; + commit.template = "~/.gitmessage"; + core = { editor = "nvim"; excludesFile = "~/.config/git/ignore"; pager = "delta"; }; + delta.line-numbers = true; fetch.prune = true; gpg.format = "ssh"; grep.lineNumber = true; help.autocorrect = "1"; init.defaultBranch = "main"; + maintenance = { auto = false; strategy = "incremental"; }; + merge.ff = "only"; + push = { autoSetupRemote = true; default = "upstream"; }; + pull = { ff = "only"; rebase = true; }; + rebase = { autosquash = true; autostash = true; }; + user.signingkey = "~/.ssh/id_rsa.pub"; }; }; From f0e3671e1dc89ea2718d90805c8573b6aec5324f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 14:25:41 +0100 Subject: [PATCH 0897/2258] zsh: remove unused functions --- lib/shared/modules/zsh.nix | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index d15f4b6a..9d04f26a 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -30,24 +30,6 @@ fi } - til() { - if [[ ''${#} < 1 ]]; then - echo "No text was provided." - return - fi - - echo ''${1} >> TIL.txt - } - - todo() { - if [[ ''${#} < 1 ]]; then - echo "No text was provided." - return - fi - - echo ''${1} >> TODO.txt - } - ttyper() { command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } From 590cb3ab409ec5b46eb0c371c6c7b2adf22e97b8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 18:39:05 +0100 Subject: [PATCH 0898/2258] Update `opdavies-nvim` --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 3a197c73..023496b7 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720110830, - "narHash": "sha256-E5dN9GDV4LwMEduhBLSkyEz51zM17XkWZ3/9luvNOPs=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c0d0be00d4ecc4b51d2d6948e37466194c1e6c51", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1720418205, + "narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "655a58a72a6601292512670343087c2d75d859c1", "type": "github" }, "original": { @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1720453069, - "narHash": "sha256-7G89tSknjCYoF37EPc2NVqpNieysJAx4aYaF9WF6zIg=", + "lastModified": 1720546607, + "narHash": "sha256-rau+IaLRv6gjRL/IwrDkHWccI4nBhDxhyt+9fn8EIaQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "690e61ee5e2aca57d9dcdf019e07260954de93a0", + "rev": "c0d156f728fa02a78c8bdc8c40ddac56850f37ea", "type": "github" }, "original": { From 97ac64195c65eb1edce7674082896d2bc24f04b3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 18:39:40 +0100 Subject: [PATCH 0899/2258] autorandr: fix automatically switching when a ...monitor is plugged or unplugged --- lib/nixos/modules/autorandr.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/nixos/modules/autorandr.nix b/lib/nixos/modules/autorandr.nix index 72efcc63..ad4dace9 100644 --- a/lib/nixos/modules/autorandr.nix +++ b/lib/nixos/modules/autorandr.nix @@ -1,14 +1,4 @@ -{ username, ... }: { - # xdg.configFile."autorandr/postswitch" = { - # executable = true; - # text = '' - # #!/usr/bin/env bash - # - # feh --randomize --bg-scale /home/${username}/Pictures/Wallpaper/*; - # ''; - # }; - services.autorandr = { enable = true; @@ -49,5 +39,9 @@ }; }; }; + + hooks.postswitch = { + "reload-awesome" = ''echo 'awesome.restart()' | awesome-client''; + }; }; } From d1e47d867ead9d31cc7e12b9de83ad4c8021591e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Jul 2024 19:59:35 +0100 Subject: [PATCH 0900/2258] Update `opdavies-nvim` --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 023496b7..081c9edf 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1720546607, - "narHash": "sha256-rau+IaLRv6gjRL/IwrDkHWccI4nBhDxhyt+9fn8EIaQ=", + "lastModified": 1720551285, + "narHash": "sha256-qbnVIBsTPUvTK0/IJLI/BfGwrl2y6y83TNnhF1zIz2w=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "c0d156f728fa02a78c8bdc8c40ddac56850f37ea", + "rev": "70c8eade7c8708dd562d34e1efff364121db6736", "type": "github" }, "original": { From 91aa0e0c0ebf62dbf5bd50907ce54aa835f78445 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jul 2024 09:32:14 +0100 Subject: [PATCH 0901/2258] Update `opdavies-nvim` --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 081c9edf..55ec731b 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1720551285, - "narHash": "sha256-qbnVIBsTPUvTK0/IJLI/BfGwrl2y6y83TNnhF1zIz2w=", + "lastModified": 1720573858, + "narHash": "sha256-J8Fk4zcFpUv68IF8Zy4OOQ+klnkVLwNxc9rWXh2HHf4=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "70c8eade7c8708dd562d34e1efff364121db6736", + "rev": "40c873756c39c9d449e584b53ca2586071c5b2a5", "type": "github" }, "original": { From 22205696437f152c45df6d9c07cfca094f2042a6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jul 2024 12:33:55 +0100 Subject: [PATCH 0902/2258] Re-add gtk configuration, switch Thunar back to ...the dark theme --- lib/nixos/home-manager/desktop.nix | 1 + lib/nixos/home-manager/modules/gtk.nix | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 lib/nixos/home-manager/modules/gtk.nix diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index d8d7a892..e7654884 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -11,6 +11,7 @@ ./modules/espanso.nix ./modules/feh.nix ./modules/flameshot.nix + ./modules/gtk.nix ./modules/mpv.nix ]; } diff --git a/lib/nixos/home-manager/modules/gtk.nix b/lib/nixos/home-manager/modules/gtk.nix new file mode 100644 index 00000000..bce482cc --- /dev/null +++ b/lib/nixos/home-manager/modules/gtk.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +{ + gtk = { + enable = true; + theme.package = pkgs.arc-theme; + theme.name = "Arc-Dark"; + iconTheme.package = pkgs.arc-icon-theme; + iconTheme.name = "Arc"; + }; +} From cc896e94b4ca4ec540469c79ded94d41f8504565 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jul 2024 12:50:00 +0100 Subject: [PATCH 0903/2258] Add `cpufrequtils` to get `cpufreq-info` to check ...CPU performance --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 405dc76c..13d8a87c 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -164,6 +164,7 @@ in arandr brightnessctl configure-gtk + cpufrequtils dunst ffmpegthumbnailer libnotify From c8d21d28c1935f6919bdd2fe5e6a6d05c69359fc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jul 2024 12:50:00 +0100 Subject: [PATCH 0904/2258] Re-add `backintime` for Linux backups --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 13d8a87c..ef839ee2 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -162,6 +162,7 @@ in ++ pkgs.lib.optionals desktop [ acpi arandr + backintime brightnessctl configure-gtk cpufrequtils From a2ed02625836e2880edd2f90b3d5de3da6495da8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jul 2024 12:50:00 +0100 Subject: [PATCH 0905/2258] Use `$REPOS` variable consistently in scripts --- bin/update-all-git-repos | 2 +- lib/shared/modules/tmux.nix | 4 ++-- lib/shared/modules/zsh/aliases.nix | 2 +- lib/shared/scripts/t.nix | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/update-all-git-repos b/bin/update-all-git-repos index d939fc85..e5fbbc49 100755 --- a/bin/update-all-git-repos +++ b/bin/update-all-git-repos @@ -6,7 +6,7 @@ set -o errexit set -o nounset -dirs=$(find ~/Code -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') +dirs=$(find "$REPOS" -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') for dir in $dirs; do repo_path="${dir%/.git}" diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 9908112d..0a7a42f9 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -97,8 +97,8 @@ in bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -r F new-window t - bind-key -r D run-shell "t ~/Code/dotfiles.nix" - bind-key -r N run-shell "t ~/Code/opdavies.nvim" + bind-key -r D run-shell "t $REPOS/dotfiles.nix" + bind-key -r N run-shell "t $REPOS/opdavies.nvim" bind-key -r W run-shell "t ~/Documents/wiki" set -g @resurrect-strategy-nvim 'session' diff --git a/lib/shared/modules/zsh/aliases.nix b/lib/shared/modules/zsh/aliases.nix index 8b1e0df9..bb3bd438 100644 --- a/lib/shared/modules/zsh/aliases.nix +++ b/lib/shared/modules/zsh/aliases.nix @@ -10,5 +10,5 @@ secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; wt = "git worktree"; - vss = "LC_ALL=C sort --unique ~/Code/opdavies.nvim/spell/en.utf-8.add --output ~/Code/personal/opdavies.nvim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique $REPOS/opdavies.nvim/spell/en.utf-8.add --output $REPOS/opdavies.nvim/spell/en.utf-8.add"; } diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index 5f32d610..7967cf9d 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -49,7 +49,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find ~/Code ~/Documents /tmp \ + items=$(find "$REPOS" ~/Documents /tmp \ -maxdepth 1 -mindepth 1 -type d \ ! -name "_archive" \ ! -name "*-old" \ From 2b157d127542950442d373c486635611f6db2191 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 10 Jul 2024 22:48:24 +0100 Subject: [PATCH 0906/2258] awesome: allow toggling the wibar with `Mod+b` --- config/awesome/rc.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index ce0a39be..a8aa9fbd 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -498,6 +498,11 @@ for i = 1, 9 do end end, { description = "view tag #" .. i, group = "tag" }), + awful.key({ modkey }, "b", function() + local myscreen = awful.screen.focused() + myscreen.mywibox.visible = not myscreen.mywibox.visible + end, { description = "toggle statusbar" }), + -- Toggle tag display. awful.key({ modkey, "Control" }, "#" .. i + 9, function() local screen = awful.screen.focused() From d2ae9d01ee70099c51921d2b9a45d2786b655975 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 Jul 2024 00:00:00 +0100 Subject: [PATCH 0907/2258] git-instafix: set a default upstream branch --- lib/shared/modules/git.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 219ac080..628561e0 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -152,4 +152,8 @@ }; home.packages = with pkgsUnstable; [ git-instafix ]; + + home.sessionVariables = { + GIT_INSTAFIX_UPSTREAM = "origin/main"; + }; } From 537eb704e7974fb2eba011f9f47c6ab34a6692eb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 Jul 2024 13:14:10 +0100 Subject: [PATCH 0908/2258] zsh: remove `zsh-auto-notify` plugin `AUTO_NOTIFY_IGNORE` keeps being reset within a tmux session, so I'm removing this for now until I have time to investigate further and resolve. --- lib/shared/modules/zsh.nix | 5 ----- lib/shared/modules/zsh/auto-notify-ignore.nix | 17 ----------------- 2 files changed, 22 deletions(-) delete mode 100644 lib/shared/modules/zsh/auto-notify-ignore.nix diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 9d04f26a..ddc1fbb7 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -89,17 +89,12 @@ tags = [ "from:oh-my-zsh" ]; } - { name = "MichaelAquilina/zsh-auto-notify"; } { name = "olets/zsh-abbr"; } { name = "zsh-users/zsh-completions"; } { name = "zsh-users/zsh-syntax-highlighting"; } ]; }; - - sessionVariables = { - AUTO_NOTIFY_IGNORE = import ./zsh/auto-notify-ignore.nix; - }; }; home.file.".config/zsh-abbr/user-abbreviations".text = builtins.readFile ./zsh/abbreviations.zsh; diff --git a/lib/shared/modules/zsh/auto-notify-ignore.nix b/lib/shared/modules/zsh/auto-notify-ignore.nix deleted file mode 100644 index 8384ef57..00000000 --- a/lib/shared/modules/zsh/auto-notify-ignore.nix +++ /dev/null @@ -1,17 +0,0 @@ -[ - "atuin" - "bat" - "cat" - "docker" - "git" - "htop" - "less" - "man" - "more" - "nix develop" - "nvim" - "ssh" - "t" - "tldr" - "watch" -] From d2dbf2948368d3b3952da4c28050919cd5c74a29 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 Jul 2024 13:16:59 +0100 Subject: [PATCH 0909/2258] Don't use `pkgs.firefox-wayland` --- lib/nixos/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index ef839ee2..4b5df0cf 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -321,7 +321,6 @@ in programs.firefox = { enable = true; - package = pkgs.firefox-wayland; languagePacks = [ "en-GB" ]; preferences = { "intl.accept_languages" = "en-GB, en"; From c258e6f70c23b440db3cc5489c69f8b4455b6314 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 14 Jul 2024 09:14:15 +0100 Subject: [PATCH 0910/2258] Re-add `lightdm` as a display manager --- lib/nixos/modules/awesome.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/nixos/modules/awesome.nix b/lib/nixos/modules/awesome.nix index 3617eb8a..819aa2da 100644 --- a/lib/nixos/modules/awesome.nix +++ b/lib/nixos/modules/awesome.nix @@ -24,9 +24,13 @@ in nitrogen ]; - services.xserver.windowManager.awesome = { - enable = true; - noArgb = true; + services.xserver = { + displayManager.lightdm.enable = true; + + windowManager.awesome = { + enable = true; + noArgb = true; + }; }; home-manager.users.${username} = { From ce9cf2ea833373d8e9774d8e2278374dcf5bb02c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 14 Jul 2024 10:38:24 +0100 Subject: [PATCH 0911/2258] Add `gpl` and `gps` abbreviations `gpl` expands to `git pull` and `gps` expands to `git push`. --- lib/shared/modules/zsh/abbreviations.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 20c33e5e..2d1a9d95 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -9,6 +9,8 @@ abbr g="git" abbr ga="git add" abbr gap="git add -p" abbr gc="git commit" +abbr gpl="git pull" +abbr gps="git push" abbr gri="git rebase -i" abbr gs="git status" From 6fa5a95636ac4a24043d9c279bc6788f8b5cc538 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 14 Jul 2024 18:38:00 +0100 Subject: [PATCH 0912/2258] Fix traefik repo path --- bin/start-traefik | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/start-traefik b/bin/start-traefik index 2a983cdb..547e890b 100755 --- a/bin/start-traefik +++ b/bin/start-traefik @@ -3,7 +3,7 @@ set -o errexit set -o nounset -cd "${REPOS}/personal/traefik-development" +cd "${REPOS}/traefik-development" docker compose up --detach docker container ps From a1065e8466118ebf15b465f3d87b2b8173c69b99 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 16 Jul 2024 18:08:02 +0100 Subject: [PATCH 0913/2258] Update opdavies-nvim --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 55ec731b..a97af2e8 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1720954236, + "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1720418205, - "narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "655a58a72a6601292512670343087c2d75d859c1", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", "type": "github" }, "original": { @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1720573858, - "narHash": "sha256-J8Fk4zcFpUv68IF8Zy4OOQ+klnkVLwNxc9rWXh2HHf4=", + "lastModified": 1720790855, + "narHash": "sha256-mQHhBDBX2+Lfsl8YyZGMj+vYQ8kjIlsVeVb3/DyLKWk=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "40c873756c39c9d449e584b53ca2586071c5b2a5", + "rev": "69fbc9f97f4056e1019a8bf8cfb99dd073692d1d", "type": "github" }, "original": { From 9a84a3bcc1f637412254318d756d37ff69e2e069 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 20 Jul 2024 23:41:29 +0100 Subject: [PATCH 0914/2258] Update flake lock dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a97af2e8..f9c892eb 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720954236, - "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", + "lastModified": 1721409541, + "narHash": "sha256-b6PLr0Ty7JPDBtJtjnYzlBf02bbH9alWMAgispMkTwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", + "rev": "0c53b6b8c2a3e46c68e04417e247bba660689c9d", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1720957393, - "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "lastModified": 1721379653, + "narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374", "type": "github" }, "original": { @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1720790855, - "narHash": "sha256-mQHhBDBX2+Lfsl8YyZGMj+vYQ8kjIlsVeVb3/DyLKWk=", + "lastModified": 1721476435, + "narHash": "sha256-eKzoPs7ipKBWMJCTz7tqncPu9/nZ+ZD1NBXHETk8RQg=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "69fbc9f97f4056e1019a8bf8cfb99dd073692d1d", + "rev": "733f59570e69a9864f83c43dd9edc2cb6dda2eb7", "type": "github" }, "original": { From b64556e2caf84ff3faad78d3bbce9b4db8691e82 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 20 Jul 2024 23:42:16 +0100 Subject: [PATCH 0915/2258] Remove unused packages --- lib/nixos/configuration.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 4b5df0cf..09938720 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -166,10 +166,8 @@ in brightnessctl configure-gtk cpufrequtils - dunst ffmpegthumbnailer libnotify - obsidian pocket-casts rclone rclone-browser From 8c095288dc0c7a8ecc6c0442259110275f8574a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 21 Jul 2024 00:28:35 +0100 Subject: [PATCH 0916/2258] espanso: move matches into a separate file --- lib/nixos/home-manager/modules/espanso.nix | 65 +----------------- .../home-manager/modules/espanso/matches.nix | 66 +++++++++++++++++++ 2 files changed, 67 insertions(+), 64 deletions(-) create mode 100644 lib/nixos/home-manager/modules/espanso/matches.nix diff --git a/lib/nixos/home-manager/modules/espanso.nix b/lib/nixos/home-manager/modules/espanso.nix index e27d6964..34162b1c 100644 --- a/lib/nixos/home-manager/modules/espanso.nix +++ b/lib/nixos/home-manager/modules/espanso.nix @@ -12,70 +12,7 @@ in }; matches = { - base = { - matches = [ - { - trigger = ":archive"; - replace = "${baseUrl}/archive"; - } - { - trigger = ":atdc"; - replace = "${baseUrl}/atdc"; - } - { - trigger = ":call"; - replace = "${baseUrl}/call"; - } - { - trigger = ":coaching"; - replace = "${baseUrl}/team-coaching"; - } - { - trigger = ":daily"; - replace = "${baseUrl}/daily"; - } - { - trigger = ":dotfiles"; - replace = "https://github.com/opdavies/dotfiles.nix"; - } - { - trigger = ":dc"; - replace = "Drupal Commerce"; - } - { - trigger = ":dr"; - replace = "Drupal"; - } - { - trigger = ":gt"; - replace = "Great, thanks!"; - } - { - trigger = ":lh"; - replace = "http://localhost"; - } - { - trigger = ":podcast"; - replace = "${baseUrl}/podcast"; - } - { - trigger = ":pricing"; - replace = "${baseUrl}/pricing"; - } - { - trigger = ":talks"; - replace = "${baseUrl}/talks"; - } - { - trigger = ":website"; - replace = "${baseUrl}"; - } - { - trigger = ":zoom"; - replace = "https://savvycal.com/opdavies/zoom"; - } - ]; - }; + base = import ./espanso/matches.nix { inherit baseUrl; }; }; }; } diff --git a/lib/nixos/home-manager/modules/espanso/matches.nix b/lib/nixos/home-manager/modules/espanso/matches.nix new file mode 100644 index 00000000..57d643af --- /dev/null +++ b/lib/nixos/home-manager/modules/espanso/matches.nix @@ -0,0 +1,66 @@ +{ baseUrl }: + +{ + matches = [ + { + trigger = ":archive"; + replace = "${baseUrl}/archive"; + } + { + trigger = ":atdc"; + replace = "${baseUrl}/atdc"; + } + { + trigger = ":call"; + replace = "${baseUrl}/call"; + } + { + trigger = ":coaching"; + replace = "${baseUrl}/team-coaching"; + } + { + trigger = ":daily"; + replace = "${baseUrl}/daily"; + } + { + trigger = ":dotfiles"; + replace = "https://github.com/opdavies/dotfiles.nix"; + } + { + trigger = ":dc"; + replace = "Drupal Commerce"; + } + { + trigger = ":dr"; + replace = "Drupal"; + } + { + trigger = ":gt"; + replace = "Great, thanks!"; + } + { + trigger = ":lh"; + replace = "http://localhost"; + } + { + trigger = ":podcast"; + replace = "${baseUrl}/podcast"; + } + { + trigger = ":pricing"; + replace = "${baseUrl}/pricing"; + } + { + trigger = ":talks"; + replace = "${baseUrl}/talks"; + } + { + trigger = ":website"; + replace = "${baseUrl}"; + } + { + trigger = ":zoom"; + replace = "https://savvycal.com/opdavies/zoom"; + } + ]; +} From 3ae1d8d51d3f002cb08f2c5a96ebed32dffeffa9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 21 Jul 2024 13:11:22 +0100 Subject: [PATCH 0917/2258] Add `pmutils` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 09938720..c11513c5 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -168,6 +168,7 @@ in cpufrequtils ffmpegthumbnailer libnotify + pmutils pocket-casts rclone rclone-browser From e63150e2784c62cfedf111828b34d0087942c053 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 22 Jul 2024 12:00:00 +0100 Subject: [PATCH 0918/2258] Re-add GNOME to fix the thunar theme and see if it ...fixes autorandr --- lib/nixos/configuration.nix | 17 ----------------- lib/nixos/default.nix | 4 ++-- lib/nixos/home-manager/desktop.nix | 1 + lib/nixos/modules/gnome.nix | 5 +++++ 4 files changed, 8 insertions(+), 19 deletions(-) create mode 100644 lib/nixos/modules/gnome.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index c11513c5..22aefdd0 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -6,22 +6,6 @@ }: { pkgs, ... }: let - configure-gtk = pkgs.writeTextFile { - name = "configure-gtk"; - destination = "/bin/configure-gtk"; - executable = true; - text = - let - schema = pkgs.gsettings-desktop-schemas; - datadir = "${schema}/share/gsettings-schemas/${schema.name}"; - in - '' - export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS - gnome_schema=org.gnome.desktop.interface - gsettings set $gnome_schema gtk-theme 'Breeze Dark' - ''; - }; - theme = import "${self}/lib/theme" { inherit pkgs; }; username = "opdavies"; @@ -164,7 +148,6 @@ in arandr backintime brightnessctl - configure-gtk cpufrequtils ffmpegthumbnailer libnotify diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index b38695a0..74e47575 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -38,8 +38,6 @@ inputs.nixpkgs.lib.nixosSystem { }; } - (import ./modules/autorandr.nix) - (import ./modules/awesome.nix { inherit inputs @@ -48,6 +46,8 @@ inputs.nixpkgs.lib.nixosSystem { username ; }) + (import ./modules/autorandr.nix) + (import ./modules/gnome.nix) configuration hardwareConfiguration diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index e7654884..aa37bd35 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -9,6 +9,7 @@ ./modules/alacritty.nix ./modules/copyq.nix ./modules/espanso.nix + ./modules/gtk.nix ./modules/feh.nix ./modules/flameshot.nix ./modules/gtk.nix diff --git a/lib/nixos/modules/gnome.nix b/lib/nixos/modules/gnome.nix new file mode 100644 index 00000000..c08c2dee --- /dev/null +++ b/lib/nixos/modules/gnome.nix @@ -0,0 +1,5 @@ +{ + services = { + xserver.desktopManager.gnome.enable = true; + }; +} From c7ca1fd14ce38ee0ef7890b71624ba716aef151b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 22 Jul 2024 18:09:50 +0100 Subject: [PATCH 0919/2258] Remove `nixedo` host --- flake.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/flake.nix b/flake.nix index 8900756d..70980109 100644 --- a/flake.nix +++ b/flake.nix @@ -42,11 +42,6 @@ desktop = true; hostname = "apollo"; }; - - nixedo = mkNixos { - desktop = true; - hostname = "nixedo"; - }; }; homeConfigurations = { From c2ead888dd2efd1f2e565007513ebcea3878cb32 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 12:00:00 +0100 Subject: [PATCH 0920/2258] Add `notetaker` script Add a script to quickly and easily create and edit a daily note. --- lib/shared/home-manager-packages.nix | 2 ++ lib/shared/scripts/notetaker.nix | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 lib/shared/scripts/notetaker.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 7e5c2acd..22023f8a 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -6,11 +6,13 @@ let inherit (pkgs) writeShellApplication; scripts = { + notetaker = writeShellApplication (import ./scripts/notetaker.nix); t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); }; in with pkgs; [ + scripts.notetaker scripts.t awscli2 diff --git a/lib/shared/scripts/notetaker.nix b/lib/shared/scripts/notetaker.nix new file mode 100644 index 00000000..e1cc36a5 --- /dev/null +++ b/lib/shared/scripts/notetaker.nix @@ -0,0 +1,25 @@ +{ + name = "notetaker"; + + runtimeInputs = [ ]; + + text = '' + # Based on https://github.com/CalinLeafshade/dots/blob/fe685d45201f267829b75fe5ca7e3da9d4aa4c02/bin/bin/notetaker. + + today="$(date +%Y-%m-%d)" + note_path="''${NOTES_PATH:-$HOME/Documents/wiki}" + note_filename="$note_path/daily-notes/$(date +%Y)/$(date +%m)/$today.md" + + if [[ ! -f "$note_filename" ]]; then + mkdir -p "$(dirname "$note_filename")" + + echo "# $today" > "$note_filename" + fi + + nvim -c "normal Go" \ + -c "normal Go## $(date +%H:%M)" \ + -c "normal G2o" \ + -c "normal zz" \ + -c "startinsert" "$note_filename" + ''; +} From 4d5e17c46f9c6ff0c0b99024458ce281b4747630 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 18:00:00 +0100 Subject: [PATCH 0921/2258] awesome: add a keybind to run `notetaker` in a ...floating window --- config/awesome/rc.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index a8aa9fbd..77e23939 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -283,6 +283,10 @@ globalkeys = gears.table.join( awful.client.focus.byidx(1) end, { description = "focus next by index", group = "client" }), + awful.key({ modkey }, "n", function() + awful.util.spawn "alacritty --class notetaker_window --command notetaker" + end, { description = "open today's daily note", group = "client" }), + awful.key({ modkey }, "w", function() mymainmenu:show() end, { description = "show main menu", group = "awesome" }), @@ -590,6 +594,7 @@ awful.rules.rules = { "Sxiv", "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. "Wpa_gui", + "notetaker_window", "veromix", "xtightvncviewer", "zoom", From 0a28c2a5b3b70c56c6e132d6f3c958b14204824f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 20:46:25 +0100 Subject: [PATCH 0922/2258] zsh: open `nvim` with Ctrl+v --- lib/shared/modules/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index ddc1fbb7..00690035 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -39,6 +39,7 @@ autoload -Uz compinit && compinit bindkey -s ^f "t\n" + bindkey -s ^v "nvim\n" clear-ls-all() { clear From bc92eb0afb0e93f562ee052561dadcead6fd832c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 21:26:28 +0100 Subject: [PATCH 0923/2258] awesome: only use the tiled layout --- config/awesome/rc.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 77e23939..cf5f6044 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -73,9 +73,9 @@ modkey = "Mod4" -- Table of layouts to cover with awful.layout.inc, order matters. awful.layout.layouts = { - awful.layout.suit.max, awful.layout.suit.tile, - awful.layout.suit.floating, + -- awful.layout.suit.floating, + -- awful.layout.suit.max, -- awful.layout.suit.tile.left, -- awful.layout.suit.tile.bottom, -- awful.layout.suit.tile.top, From b661f78a28098e77068d178144fde50eec068e70 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 21:27:07 +0100 Subject: [PATCH 0924/2258] awesome: remove `s.mylayoutbox` It's not needed if I only have one layout option enabled. --- config/awesome/rc.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index cf5f6044..03db87f7 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -249,7 +249,7 @@ awful.screen.connect_for_each_screen(function(s) wibox.widget.systray(), require "widgets.battery", mytextclock, - s.mylayoutbox, + -- s.mylayoutbox, }, } end) From 960b354b31e1c2084066f6cba3d923f2a85a9e84 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 21:32:25 +0100 Subject: [PATCH 0925/2258] awesome: change font size --- config/awesome/theme.lua | 2 +- config/awesome/widgets/battery.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/awesome/theme.lua b/config/awesome/theme.lua index 72f1f19c..669b8c28 100644 --- a/config/awesome/theme.lua +++ b/config/awesome/theme.lua @@ -11,7 +11,7 @@ local themes_path = gfs.get_themes_dir() local theme = {} -theme.font = "sans 10" +theme.font = "sans 9" theme.bg_normal = "#222222" theme.bg_focus = "#535d6c" diff --git a/config/awesome/widgets/battery.lua b/config/awesome/widgets/battery.lua index f7889633..3eadb203 100644 --- a/config/awesome/widgets/battery.lua +++ b/config/awesome/widgets/battery.lua @@ -7,7 +7,7 @@ local gears = require "gears" local wibox = require "wibox" local text = wibox.widget { - font = "sans 10", + font = "sans 9", widget = wibox.widget.textbox, } From 15d6fa1aababe3f4c48a0d1957d78e0783929436 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 21:33:13 +0100 Subject: [PATCH 0926/2258] tmux: update prefix key --- lib/shared/modules/tmux.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index 0a7a42f9..db098b3c 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -11,8 +11,8 @@ in extraConfig = '' unbind C-b - set -g prefix C-s - bind C-s send-prefix + set -g prefix ` + bind ` send-prefix bind-key -n C-h select-pane -L bind-key -n C-j select-pane -D From b944d201236747512612775a28385f57c669c6f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 24 Jul 2024 08:01:01 +0100 Subject: [PATCH 0927/2258] zsh: run `zle reset-prompt` in each widget Instead of having to press the Enter key after running a widget, use `zle reset-prompt` to reset the prompt. --- lib/shared/modules/zsh.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 00690035..0c1d6277 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -44,24 +44,28 @@ clear-ls-all() { clear ls -al + zle reset-prompt } zle -N clear-ls-all clear-git-status() { clear - git status -sb . + git status + zle reset-prompt } zle -N clear-git-status clear-tree-2() { clear tree -L 2 + zle reset-prompt } zle -N clear-tree-2 clear-tree-3() { clear tree -L 3 + zle reset-prompt } zle -N clear-tree-3 From ac34ff27423596710f3b0010476b6c144e3f16d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Jul 2024 22:14:49 +0100 Subject: [PATCH 0928/2258] Update flake lock dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f9c892eb..d6c07aaf 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1721409541, - "narHash": "sha256-b6PLr0Ty7JPDBtJtjnYzlBf02bbH9alWMAgispMkTwk=", + "lastModified": 1721548954, + "narHash": "sha256-7cCC8+Tdq1+3OPyc3+gVo9dzUNkNIQfwSDJ2HSi2u3o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0c53b6b8c2a3e46c68e04417e247bba660689c9d", + "rev": "63d37ccd2d178d54e7fb691d7ec76000740ea24a", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1721379653, - "narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=", + "lastModified": 1721562059, + "narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374", + "rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe", "type": "github" }, "original": { @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1721476435, - "narHash": "sha256-eKzoPs7ipKBWMJCTz7tqncPu9/nZ+ZD1NBXHETk8RQg=", + "lastModified": 1721733061, + "narHash": "sha256-azO9oTbrO7QjGaBTS//pWMwBpkatYCnQya4BntAsnb4=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "733f59570e69a9864f83c43dd9edc2cb6dda2eb7", + "rev": "e2cd4531e80e3041fdba6126fd48add3e6656e1d", "type": "github" }, "original": { From 22385b9a1c77333471d026b91ed95939bf06dd83 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 28 Jul 2024 13:29:57 +0100 Subject: [PATCH 0929/2258] Revert "git: use `difftastic` by default" This reverts commit 2fbf67507ffd5980489e8e693091abc96548e613. --- lib/shared/modules/zsh.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 0c1d6277..e7a139b8 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -20,11 +20,6 @@ else (cd "''${ROOT}" && eval "''${@}") fi - elif [[ "''$1" == "log" || "''$1" == "show" ]]; then - local command="$1" - shift 1 - - ${pkgs.git}/bin/git "$command" --ext-diff "$@" else ${pkgs.git}/bin/git "''${@}" fi From 75f983fea7f5b18a109eac659ed81b70c35529d9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 28 Jul 2024 13:30:11 +0100 Subject: [PATCH 0930/2258] Revert "git: use `difftastic`" This reverts commit c06fb20115754f6cb097320b65cf74c84557a2d2. --- lib/shared/modules/git.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 628561e0..2a72b592 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -34,11 +34,6 @@ } ]; - difftastic = { - background = "dark"; - enable = true; - }; - aliases = { aa = "add --all"; assume = "update-index --assume-unchanged"; @@ -118,6 +113,7 @@ }; delta.line-numbers = true; + diff.tool = "vimdiff"; fetch.prune = true; gpg.format = "ssh"; grep.lineNumber = true; From 6082de62b094363bf2e693d9eabcf9ab26de8047 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 31 Jul 2024 18:00:00 +0100 Subject: [PATCH 0931/2258] Look for `.ignored/run` when running commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the `run` command cleverer by also searching for a `.ignored/run` file, following the convention of always ignoring a `.ignored` directory from Git. This allows me to have a local `run` file that doesn't need to be committed and pushed to the repo (e.g. it's too specific to me), and being able to keep it outside of the root of the project directory where it could be committed accidentally. A similar approach was done by Andreas Möller using Makefiles in this article: https://localheinz.com/articles/2020/05/07/using-makefiles-in-projects-where-i-can-not-use-them With this function, the `.ignored/run` file is executed if it's found and exits with the status code of the command. If not, it will fall back to using `./run` as before. I considered reversing these and checking for `./run` first as there could be a performance benefit but, if neither file is found, I want the error to show `./run` and not `.ignored/run` as that's the main use case. --- lib/shared/home-manager-packages.nix | 2 ++ lib/shared/modules/zsh/aliases.nix | 1 - lib/shared/scripts/run.nix | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 lib/shared/scripts/run.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 22023f8a..af96f81f 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -7,12 +7,14 @@ let scripts = { notetaker = writeShellApplication (import ./scripts/notetaker.nix); + run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); }; in with pkgs; [ scripts.notetaker + scripts.run scripts.t awscli2 diff --git a/lib/shared/modules/zsh/aliases.nix b/lib/shared/modules/zsh/aliases.nix index bb3bd438..c7f58135 100644 --- a/lib/shared/modules/zsh/aliases.nix +++ b/lib/shared/modules/zsh/aliases.nix @@ -5,7 +5,6 @@ "...." = "cd ../../.."; "....." = "cd ../../../.."; cat = "bat"; - run = "./run"; s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; diff --git a/lib/shared/scripts/run.nix b/lib/shared/scripts/run.nix new file mode 100644 index 00000000..8533c4e8 --- /dev/null +++ b/lib/shared/scripts/run.nix @@ -0,0 +1,16 @@ +{ pkgs }: + +{ + name = "run"; + + runtimeInputs = with pkgs; [ bashInteractive ]; + + text = '' + if [[ -e .ignored/run ]]; then + .ignored/run "$@" + exit $? + fi + + ./run "$@" + ''; +} From 23cf80d9c62bd28d1746113e664c5d56cb2a7d82 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 7 Aug 2024 09:21:31 +0100 Subject: [PATCH 0932/2258] Add `bluetuith` A TUI for managing Bluetooth devices and connections. https://darkhz.github.io/bluetuith/index.html --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 22aefdd0..cf2efe9b 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -147,6 +147,7 @@ in acpi arandr backintime + bluetuith brightnessctl cpufrequtils ffmpegthumbnailer From 4d1040a4deda69a6c1e294c5599f650e4332ed87 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 9 Aug 2024 12:50:18 +0100 Subject: [PATCH 0933/2258] bluetuith: use `j` and `k` to navigate up and down https://github.com/darkhz/bluetuith/issues/62#issuecomment-2141669880 https://darkhz.github.io/bluetuith/Configuration.html --- lib/nixos/home-manager/desktop.nix | 1 + .../modules/desktop/bluetuith.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 lib/nixos/home-manager/modules/desktop/bluetuith.nix diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index aa37bd35..a72891af 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -8,6 +8,7 @@ imports = [ ./modules/alacritty.nix ./modules/copyq.nix + ./modules/desktop/bluetuith.nix ./modules/espanso.nix ./modules/gtk.nix ./modules/feh.nix diff --git a/lib/nixos/home-manager/modules/desktop/bluetuith.nix b/lib/nixos/home-manager/modules/desktop/bluetuith.nix new file mode 100644 index 00000000..e5567c6b --- /dev/null +++ b/lib/nixos/home-manager/modules/desktop/bluetuith.nix @@ -0,0 +1,19 @@ +{ + xdg.configFile."bluetuith/bluetuith.conf" = { + text = '' + { + adapter: "" + adapter-states: "" + connect-bdaddr: "" + gsm-apn: "" + gsm-number: "" + keybindings: { + NavigateDown: j + NavigateUp: k + } + receive-dir: "" + theme: {} + } + ''; + }; +} From f6a6785234e2da6f73778e902e17fd54a65fc2e9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Aug 2024 10:49:02 +0100 Subject: [PATCH 0934/2258] Use arguments to the `wsl` commands --- run | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run b/run index 3b90fb2c..49403227 100755 --- a/run +++ b/run @@ -33,11 +33,11 @@ function update { } function wsl:build { - _home build wsl2 + _home build wsl2 "$@" } function wsl:switch { - _home switch wsl2 + _home switch wsl2 "$@" } function _home { From 44e73d18159015f3215c86e6bd6eaed8f05e4317 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 12 Aug 2024 13:00:00 +0100 Subject: [PATCH 0935/2258] Ignore .stignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index fdbd8e40..ee11d3e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ # Nix. /.direnv/ /result + +# Syncthing. +/.stignore From fee57341de28574107a6cc584852625c0679be74 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 09:02:31 +0100 Subject: [PATCH 0936/2258] Update `opdavies-nvim` --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d6c07aaf..d5db9ebc 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1721733061, - "narHash": "sha256-azO9oTbrO7QjGaBTS//pWMwBpkatYCnQya4BntAsnb4=", + "lastModified": 1723455164, + "narHash": "sha256-7xzI5WqAYv9Ki9qmPEHnc4FssZuB0ABw6ihMULr2nW4=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "e2cd4531e80e3041fdba6126fd48add3e6656e1d", + "rev": "e46159a94c38a429e65e850f7c47bef22d6e5fa1", "type": "github" }, "original": { From ffc8945630bf7d638d2f22ef7e800aaa5603be24 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 09:11:06 +0100 Subject: [PATCH 0937/2258] Simplify tmux configuration --- lib/shared/modules/tmux.nix | 39 +++---------------------------------- 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix index db098b3c..bbfc1c26 100644 --- a/lib/shared/modules/tmux.nix +++ b/lib/shared/modules/tmux.nix @@ -9,22 +9,9 @@ in terminal = "tmux-256color"; extraConfig = '' - unbind C-b - - set -g prefix ` - bind ` send-prefix - - bind-key -n C-h select-pane -L - bind-key -n C-j select-pane -D - bind-key -n C-k select-pane -U - bind-key -n C-l select-pane -R - - set-option -g status-keys "emacs" + set-option -g status-keys "vi" set-option -sa terminal-features "''${TERM}:RGB" - bind-key h split-window -v -c "#{pane_current_path}" - bind-key v split-window -h -c "#{pane_current_path}" - bind -n S-Left resize-pane -L 2 bind -n S-Right resize-pane -R 2 bind -n S-Down resize-pane -D 1 @@ -48,6 +35,7 @@ in bind c new-window -c "#{pane_current_path}" set -g base-index 1 + set -g pane-base-index 1 set -g renumber-windows on # Break a pane into a new window. @@ -80,30 +68,9 @@ in set-option -g pane-active-border-style "fg=#1f2335" set-option -g pane-border-style "fg=#1f2335" - # Smart pane switching with awareness of Vim splits. - # See: https://github.com/christoomey/vim-tmux-navigator - is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" - - bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' - bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' - bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' - bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' - - bind-key -T copy-mode-vi 'C-h' select-pane -L - bind-key -T copy-mode-vi 'C-j' select-pane -D - bind-key -T copy-mode-vi 'C-k' select-pane -U - bind-key -T copy-mode-vi 'C-l' select-pane -R - bind-key -T copy-mode-vi 'C-\' select-pane -l - - bind-key -r F new-window t - bind-key -r D run-shell "t $REPOS/dotfiles.nix" - bind-key -r N run-shell "t $REPOS/opdavies.nvim" - bind-key -r W run-shell "t ~/Documents/wiki" + bind-key -r f run-shell "tmux new-window t" set -g @resurrect-strategy-nvim 'session' - - if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; plugins = [ From bcf81046173bb0f74c13a2d6b3df55c276fea797 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 09:11:36 +0100 Subject: [PATCH 0938/2258] Add `age` and `sshs` Seen on https://youtu.be/1QqvL-k11NE?si=I_nNNf7b7u9O16Xr. --- lib/shared/home-manager-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index af96f81f..20ddc872 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -17,6 +17,7 @@ with pkgs; scripts.run scripts.t + age awscli2 bitwarden-cli bottom @@ -45,6 +46,7 @@ with pkgs; pv rustywind simple-http-server + sshs tldr tree tree-sitter From 0acedf8beade90cb5b818cd1338a1399993ed91b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 09:15:00 +0100 Subject: [PATCH 0939/2258] Remove starship, atuin and wezterm --- lib/shared/home-manager.nix | 3 - lib/shared/modules/atuin.nix | 6 -- lib/shared/modules/starship.nix | 177 -------------------------------- lib/shared/modules/wezterm.nix | 26 ----- lib/shared/modules/zsh.nix | 8 ++ 5 files changed, 8 insertions(+), 212 deletions(-) delete mode 100644 lib/shared/modules/atuin.nix delete mode 100644 lib/shared/modules/starship.nix delete mode 100644 lib/shared/modules/wezterm.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 75e862e4..56eb6344 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -18,7 +18,6 @@ in imports = [ (import ./modules/git.nix { inherit inputs pkgs pkgsUnstable; }) (import ./modules/neovim.nix { inherit inputs; }) - ./modules/atuin.nix ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix @@ -27,10 +26,8 @@ in ./modules/nnn.nix ./modules/phpactor.nix ./modules/ripgrep.nix - ./modules/starship.nix ./modules/syncthing.nix ./modules/tmux.nix - ./modules/wezterm.nix ./modules/zsh.nix ]; } diff --git a/lib/shared/modules/atuin.nix b/lib/shared/modules/atuin.nix deleted file mode 100644 index f99d093e..00000000 --- a/lib/shared/modules/atuin.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.atuin = { - enable = true; - enableZshIntegration = true; - }; -} diff --git a/lib/shared/modules/starship.nix b/lib/shared/modules/starship.nix deleted file mode 100644 index 9733d2b2..00000000 --- a/lib/shared/modules/starship.nix +++ /dev/null @@ -1,177 +0,0 @@ -let - inherit (builtins) concatStringsSep; -in -{ - programs.starship = { - enable = true; - enableZshIntegration = true; - - settings = { - add_newline = false; - - # https://starship.rs/config/#prompt - format = concatStringsSep "" [ - "\n" - "$username" - "$hostname" - "$directory" - "$vcsh" - "$git_branch" - "$git_status" - "$git_metrics" - "$docker_context" - "$nodejs" - "$php" - "$terraform" - "$nix_shell" - "$direnv" - "\${custom.mob}" - "$memory_usage" - "$cmd_duration" - "$lua" - "$status" - "$character" - ]; - - direnv.disabled = false; - directory.format = "in [$path]($style) "; - git_status.disabled = true; - nix_shell.disabled = true; - nodejs.disabled = true; - php.disabled = true; - username = { - format = "[$user]($style) "; - show_always = true; - }; - - custom = { - mob = { - command = "echo $MOB_TIMER_ROOM"; - format = "[($output)]($style) "; - when = "[[ -v MOB_TIMER_ROOM ]]"; - }; - }; - - # https://starship.rs/presets/plain-text - aws.symbol = "aws "; - azure.symbol = "az "; - bun.symbol = "bun "; - c.symbol = "C "; - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - cobol.symbol = "cobol "; - conda.symbol = "conda "; - crystal.symbol = "cr "; - cmake.symbol = "cmake "; - daml.symbol = "daml "; - dart.symbol = "dart "; - deno.symbol = "deno "; - dotnet.symbol = ".NET "; - directory.read_only = " ro"; - docker_context.symbol = "docker "; - elixir.symbol = "exs "; - elm.symbol = "elm "; - fennel.symbol = "fnl "; - fossil_branch.symbol = "fossil "; - gcloud.symbol = "gcp "; - git_branch.symbol = "git "; - git_commit.tag_symbol = " tag "; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - gleam.symbol = "gleam "; - golang.symbol = "go "; - gradle.symbol = "gradle "; - guix_shell.symbol = "guix "; - hg_branch.symbol = "hg "; - java.symbol = "java "; - julia.symbol = "jl "; - kotlin.symbol = "kt "; - lua.symbol = "lua "; - nodejs.symbol = "nodejs "; - memory_usage.symbol = "memory "; - meson.symbol = "meson "; - nats.symbol = "nats "; - nim.symbol = "nim "; - nix_shell.symbol = "nix "; - ocaml.symbol = "ml "; - opa.symbol = "opa "; - os.symbols = { - AIX = "aix "; - Alpaquita = "alq "; - AlmaLinux = "alma "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Kali = "kali "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - RockyLinux = "rky "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Ultramarine = "ultm "; - Unknown = "unk "; - Void = "void "; - Windows = "win "; - }; - package.symbol = "pkg "; - perl.symbol = "pl "; - php.symbol = "php "; - pijul_channel.symbol = "pijul "; - pulumi.symbol = "pulumi "; - purescript.symbol = "purs "; - python.symbol = "py "; - quarto.symbol = "quarto "; - raku.symbol = "raku "; - ruby.symbol = "rb "; - rust.symbol = "rs "; - scala.symbol = "scala "; - spack.symbol = "spack "; - solidity.symbol = "solidity "; - status.symbol = "[x](bold red) "; - sudo.symbol = "sudo "; - swift.symbol = "swift "; - typst.symbol = "typst "; - terraform.symbol = "terraform "; - zig.symbol = "zig "; - }; - }; -} diff --git a/lib/shared/modules/wezterm.nix b/lib/shared/modules/wezterm.nix deleted file mode 100644 index 87324d5d..00000000 --- a/lib/shared/modules/wezterm.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ pkgs, self, ... }: -let - theme = import "${self}/lib/theme" { inherit pkgs; }; -in -{ - programs.wezterm = { - enable = true; - enableZshIntegration = true; - - extraConfig = '' - return { - font = wezterm.font "${theme.fonts.monospace.name}", - -- TODO: use theme.fonts.monospace.size - font_size = 14.0, - hide_tab_bar_if_only_one_tab = true, - line_height = 1.5, - window_padding = { - bottom = 10, - left = 10, - right = 10, - top = 10, - } - } - ''; - }; -} diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index e7a139b8..307a4d93 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -79,6 +79,14 @@ enable = true; plugins = [ + { + name = "themes/robbyrussell"; + tags = [ + "from:oh-my-zsh" + "as:theme" + ]; + } + { name = "plugin/git"; tags = [ "from:oh-my-zsh" ]; From 4b7bae5c97f722cbcf5a0cdc9489565efda5314d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 09:15:00 +0100 Subject: [PATCH 0940/2258] Don't include results from `/tmp` --- lib/shared/scripts/t.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index 7967cf9d..4bc048cf 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -49,7 +49,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find "$REPOS" ~/Documents /tmp \ + items=$(find "$REPOS" ~/Documents \ -maxdepth 1 -mindepth 1 -type d \ ! -name "_archive" \ ! -name "*-old" \ From 1d59baa998b02eaf8260769b979d0c84982e3dee Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 09:15:00 +0100 Subject: [PATCH 0941/2258] t: sort and reverse directories --- lib/shared/scripts/t.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index 4bc048cf..5527a82c 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -56,7 +56,7 @@ ! -name "*.old" ) - selected_path=$(echo "''${items}" | fzf) + selected_path=$(echo "''${items}" | sort | fzf --reverse) fi session_name=$(basename "$selected_path" | sed 's/\./_/g') From 95f6620c476d0c1c9b6fc533233261cd1a46d5cd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 12:00:00 +0100 Subject: [PATCH 0942/2258] Remove `nnn` --- lib/shared/home-manager.nix | 1 - lib/shared/modules/nnn.nix | 1 - 2 files changed, 2 deletions(-) delete mode 100644 lib/shared/modules/nnn.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 56eb6344..9fbf147c 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -23,7 +23,6 @@ in ./modules/direnv.nix ./modules/fzf.nix ./modules/lsd.nix - ./modules/nnn.nix ./modules/phpactor.nix ./modules/ripgrep.nix ./modules/syncthing.nix diff --git a/lib/shared/modules/nnn.nix b/lib/shared/modules/nnn.nix deleted file mode 100644 index 40b7f5c4..00000000 --- a/lib/shared/modules/nnn.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nnn.enable = true; } From 9f860ee6f25dbca55fe5bf2374d280932f06b4c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 12:00:00 +0100 Subject: [PATCH 0943/2258] Experiment with `pet` for snippets https://github.com/knqyf263/pet Seen on https://youtu.be/fU8HB1cvG9w?si=-lPdL1csAB_4D6tL&t=653. --- lib/shared/home-manager.nix | 1 + lib/shared/modules/pet.nix | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 lib/shared/modules/pet.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 9fbf147c..caaa68ce 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -23,6 +23,7 @@ in ./modules/direnv.nix ./modules/fzf.nix ./modules/lsd.nix + ./modules/pet.nix ./modules/phpactor.nix ./modules/ripgrep.nix ./modules/syncthing.nix diff --git a/lib/shared/modules/pet.nix b/lib/shared/modules/pet.nix new file mode 100644 index 00000000..eae5c7e3 --- /dev/null +++ b/lib/shared/modules/pet.nix @@ -0,0 +1,24 @@ +{ + programs.pet = { + enable = true; + + snippets = [ + { + command = "nix flake lock --update-input "; + description = "Display a log of a Git repository, showing each commit on its own line."; + output = ""; + tag = [ "git" ]; + } + + { + command = "nix flake lock --update-input opdavies-nvim"; + description = "Update a single input within a Nix flake."; + output = ""; + tag = [ + "nix" + "nix-flake" + ]; + } + ]; + }; +} From 834b1bb502264c5ae85303ef81ce47531a7837f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 23:30:41 +0100 Subject: [PATCH 0944/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d5db9ebc..22958b2e 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1723455164, - "narHash": "sha256-7xzI5WqAYv9Ki9qmPEHnc4FssZuB0ABw6ihMULr2nW4=", + "lastModified": 1723587606, + "narHash": "sha256-rxhvoZT32WSa+mY6l2zVmzXlhrKptNbjIwqhJ7TwmA0=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "e46159a94c38a429e65e850f7c47bef22d6e5fa1", + "rev": "95f49f9b47d305f9ab1b0bf1ec9acd35dcb75fb4", "type": "github" }, "original": { From 6254621f24f15e731a48179da42a7f428db5b400 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 Aug 2024 23:37:26 +0100 Subject: [PATCH 0945/2258] nix flake update --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 22958b2e..0576e02d 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1721548954, - "narHash": "sha256-7cCC8+Tdq1+3OPyc3+gVo9dzUNkNIQfwSDJ2HSi2u3o=", + "lastModified": 1723556749, + "narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "63d37ccd2d178d54e7fb691d7ec76000740ea24a", + "rev": "4a92571f9207810b559c9eac203d1f4d79830073", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1721562059, - "narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=", + "lastModified": 1723362943, + "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe", + "rev": "a58bc8ad779655e790115244571758e8de055e3d", "type": "github" }, "original": { From 0a2a924a9dbb056c1a2576d06ad28891e3500acf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Aug 2024 09:59:34 +0100 Subject: [PATCH 0946/2258] Update Flake lock file --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0576e02d..48c43f17 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1723362943, - "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", + "lastModified": 1723637854, + "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a58bc8ad779655e790115244571758e8de055e3d", + "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", "type": "github" }, "original": { From 92cecef02c36b4a5797945a907dd9e51a7792bb9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Aug 2024 21:22:55 +0100 Subject: [PATCH 0947/2258] Remove `feh` and `nitrogen` Go back to the default awesome WM wallpaper. --- config/awesome/theme.lua | 2 +- lib/nixos/home-manager/desktop.nix | 1 - lib/nixos/home-manager/modules/feh.nix | 1 - lib/nixos/modules/awesome.nix | 26 +------------------------- 4 files changed, 2 insertions(+), 28 deletions(-) delete mode 100644 lib/nixos/home-manager/modules/feh.nix diff --git a/config/awesome/theme.lua b/config/awesome/theme.lua index 669b8c28..0a51966c 100644 --- a/config/awesome/theme.lua +++ b/config/awesome/theme.lua @@ -93,7 +93,7 @@ theme.titlebar_maximized_button_focus_inactive = themes_path .. "default/titleba theme.titlebar_maximized_button_normal_active = themes_path .. "default/titlebar/maximized_normal_active.png" theme.titlebar_maximized_button_focus_active = themes_path .. "default/titlebar/maximized_focus_active.png" --- theme.wallpaper = themes_path .. "default/background.png" +theme.wallpaper = themes_path .. "default/background.png" -- You can use your own layout icons like this: theme.layout_fairh = themes_path .. "default/layouts/fairhw.png" diff --git a/lib/nixos/home-manager/desktop.nix b/lib/nixos/home-manager/desktop.nix index a72891af..79373df8 100644 --- a/lib/nixos/home-manager/desktop.nix +++ b/lib/nixos/home-manager/desktop.nix @@ -11,7 +11,6 @@ ./modules/desktop/bluetuith.nix ./modules/espanso.nix ./modules/gtk.nix - ./modules/feh.nix ./modules/flameshot.nix ./modules/gtk.nix ./modules/mpv.nix diff --git a/lib/nixos/home-manager/modules/feh.nix b/lib/nixos/home-manager/modules/feh.nix deleted file mode 100644 index 21759337..00000000 --- a/lib/nixos/home-manager/modules/feh.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.feh.enable = true; } diff --git a/lib/nixos/modules/awesome.nix b/lib/nixos/modules/awesome.nix index 819aa2da..3380e318 100644 --- a/lib/nixos/modules/awesome.nix +++ b/lib/nixos/modules/awesome.nix @@ -1,29 +1,5 @@ +{ self, username, ... }: { - pkgs, - self, - username, - ... -}: - -let - inherit (pkgs) writeShellApplication; - - script-autostart = writeShellApplication { - name = "awesome-autostart"; - text = '' - set -o errexit - - ${pkgs.nitrogen}/bin/nitrogen --set-zoom-fill --random "''${HOME}/Pictures/Wallpaper" - ''; - }; -in -{ - environment.systemPackages = with pkgs; [ - script-autostart - - nitrogen - ]; - services.xserver = { displayManager.lightdm.enable = true; From 49ec84d9e4dfffdc804d4d456a66b85719ca65d4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Aug 2024 21:08:41 +0100 Subject: [PATCH 0948/2258] Add `mermaid-cli` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index cf2efe9b..9ef195e9 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -139,6 +139,7 @@ in [ ddev just + mermaid-cli mkcert ttyper yt-dlp From 730c7766462060c0640710857845ad22ad7c2d75 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Aug 2024 21:09:01 +0100 Subject: [PATCH 0949/2258] Add `xclip` --- lib/nixos/home-manager/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index e6d5c3d0..783c1de4 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -51,8 +51,9 @@ in pkgs.pavucontrol pkgs.pinentry pkgs.via - pkgs.xsel pkgs.xcape + pkgs.xclip + pkgs.xsel pkgs.zoom-us ]; From 74c6c2f8dca05ded599d6c5de9b13b46abb9ec54 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Aug 2024 21:41:26 +0100 Subject: [PATCH 0950/2258] Always install `xclip`, not just on desktop --- lib/nixos/home-manager/default.nix | 1 - lib/shared/home-manager-packages.nix | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 783c1de4..9e643cd4 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -52,7 +52,6 @@ in pkgs.pinentry pkgs.via pkgs.xcape - pkgs.xclip pkgs.xsel pkgs.zoom-us ]; diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 20ddc872..5cdb740b 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -53,6 +53,7 @@ with pkgs; unzip virtualenv wget + xclip xcp xdg-utils xh From 5dac3f312d76d94febdd952b4578fb0981cc57f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Aug 2024 21:41:42 +0100 Subject: [PATCH 0951/2258] Add an abbreviation for `C` to copy to the ...clipboard using `xclip` This also works in WSL. --- lib/shared/modules/zsh/abbreviations.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 2d1a9d95..62e54ade 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -53,6 +53,7 @@ abbr rdci="run drush config:import -y" abbr rduli="run drush uli" abbr -g A1="| awk '{print $1}'" +abbr -g C="| xclip -sel clip" abbr -g Fj="| jq ." abbr -g Fy="| yq ." abbr -g G="| grep" From c712a1b2542cc0f773da64f05ed7b91672e2115b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Aug 2024 22:08:01 +0100 Subject: [PATCH 0952/2258] Add aliases for `curl` Use the cursor position to not have a trailing space after expanding the abbreviation, making it easier to type any following characters. See https://zsh-abbr.olets.dev/usage.html#place-the-cursor and https://github.com/olets/zsh-abbr/discussions/97 --- lib/shared/modules/zsh.nix | 4 ++++ lib/shared/modules/zsh/abbreviations.zsh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 307a4d93..b0ce8744 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -8,6 +8,10 @@ shellAliases = (import ./zsh/aliases.nix); + localVariables = { + ABBR_SET_EXPANSION_CURSOR = 1; + }; + initExtra = '' git() { if [[ "''${1}" == "root" ]]; then diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 62e54ade..87d4f826 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -64,3 +64,7 @@ abbr -g H="| head" abbr -g L="| less" abbr -g V="| vim -" abbr -g X="| xargs -I1" + +abbr clh="curl localhost:%" +abbr clh3="curl localhost:3000%" +abbr clh8="curl localhost:8000%" From b30909b32ad0271f2dd284e4b5bbe10682cf52f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 19 Aug 2024 22:18:02 +0100 Subject: [PATCH 0953/2258] zsh: add some suffix aliases Aliases that run when files of a matching type are opened. See https://youtu.be/8CZIv3MJvic?si=QVqtaCDNaygs2qaE&t=670. --- lib/shared/modules/zsh.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index b0ce8744..2d0894f3 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -13,6 +13,19 @@ }; initExtra = '' + # suffix + alias -s gz="tar -tf" + alias -s {html,HTML}="background firefox" + alias -s {jpg,JPG,png,PNG}="background okular" + alias -s {pdf,PDF}="background okular" + alias -s {zip,ZIP}="unzip -l" + + background() { + for ((i=2;i<=$#;i++)); do + ''${@[1]} ''${@[$i]} &> /dev/null & + done + } + git() { if [[ "''${1}" == "root" ]]; then shift From b36ca8086e80432e8d437d7be315bad7bc74706b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Aug 2024 13:00:00 +0100 Subject: [PATCH 0954/2258] Add `timer` script for desktop machines Based on https://github.com/sdaschner/dotfiles/blob/master/bin/timer and https://github.com/sdaschner/dotfiles/blob/master/bin/_timer. Seen in https://youtu.be/8CZIv3MJvic?si=PiVPM_vwuUKI7ak3&t=1460. --- lib/nixos/home-manager/default.nix | 4 +++- lib/shared/home-manager-packages.nix | 31 +++++++++++++++++++--------- lib/shared/scripts/_timer.nix | 13 ++++++++++++ lib/shared/scripts/timer.nix | 20 ++++++++++++++++++ lib/wsl2/default.nix | 6 +++++- 5 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 lib/shared/scripts/_timer.nix create mode 100644 lib/shared/scripts/timer.nix diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 9e643cd4..3a25f566 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -24,7 +24,9 @@ let username ; }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit inputs pkgs; }; + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { + inherit desktop inputs pkgs; + }; in { imports = diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 5cdb740b..3206050b 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -1,22 +1,23 @@ -{ inputs, pkgs, ... }: +{ + desktop, + inputs, + pkgs, + ... +}: let php = pkgs.php82; phpPackages = pkgs.php82Packages; inherit (pkgs) writeShellApplication; - scripts = { - notetaker = writeShellApplication (import ./scripts/notetaker.nix); - run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); - t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); - }; + _timer = writeShellApplication (import ./scripts/_timer.nix); + notetaker = writeShellApplication (import ./scripts/notetaker.nix); + run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); + t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); + timer = writeShellApplication (import ./scripts/timer.nix); in with pkgs; [ - scripts.notetaker - scripts.run - scripts.t - age awscli2 bitwarden-cli @@ -58,4 +59,14 @@ with pkgs; xdg-utils xh yarn + + # Scripts. + notetaker + run + t +] +++ pkgs.lib.optionals desktop [ + # Scripts. + _timer + timer ] diff --git a/lib/shared/scripts/_timer.nix b/lib/shared/scripts/_timer.nix new file mode 100644 index 00000000..d670e909 --- /dev/null +++ b/lib/shared/scripts/_timer.nix @@ -0,0 +1,13 @@ +{ + name = "_timer"; + + runtimeInputs = [ ]; + + text = '' + mins=$1 + message=''${2:-Time out!} + + sleep -- "$mins" * 60 + notify-send -t 0 "''${message}" "Your timer of $mins min is over" -u normal + ''; +} diff --git a/lib/shared/scripts/timer.nix b/lib/shared/scripts/timer.nix new file mode 100644 index 00000000..ee261589 --- /dev/null +++ b/lib/shared/scripts/timer.nix @@ -0,0 +1,20 @@ +{ + name = "timer"; + + runtimeInputs = [ ]; + + text = '' + if [[ "$1" == "" ]]; then + echo "Usage: ''${0##*/} [message]" + exit 1 + fi + + mins=$1 + message=$2 + + nohup _timer "$mins" "$message" &> /dev/null & + + echo "timer started for $mins min" + echo "timer started for $mins min, message: '$message'" | systemd-cat -t timer + ''; +} diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index c9dc7c16..a6d51976 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -16,7 +16,11 @@ let username ; }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit inputs pkgs; }; + + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { + inherit inputs pkgs; + desktop = false; + }; in inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; From 13c83fb8b4ab5e3ba895ee076e1477b8df4c934e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Aug 2024 18:00:00 +0100 Subject: [PATCH 0955/2258] Hide error about nested tmux sessions --- lib/shared/scripts/t.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index 5527a82c..d9f91e3b 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -78,7 +78,7 @@ tmux new-session -d -c "$selected_path" -s "$session_name" fi - tmux switch-client -t "$session_name" || tmux attach-session -t "$session_name" + tmux switch-client -t "$session_name" 2>/dev/null || tmux attach-session -t "$session_name" } main "$@" From ce5b4fa0a1b025610695a7404149012a08d6b4d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Aug 2024 19:30:13 +0100 Subject: [PATCH 0956/2258] Create `export-video-list` script Create a `export-video-list` script that exports all the video files on my external hard drive to a JSON file so I can easily see what videos I have without needing to get and plug in the drive. I can easily view it using `bat` or `jq` and combine it with `grep` to search for a specific video - e.g. `cat ~/video.json | grep -i nix` (`-i` makes the search case-insensitive). --- lib/shared/home-manager-packages.nix | 4 +++ lib/shared/modules/zsh/abbreviations.zsh | 3 +++ lib/shared/scripts/export-video-list.nix | 33 ++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 lib/shared/scripts/export-video-list.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 3206050b..f8ccc6d7 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -11,6 +11,9 @@ let inherit (pkgs) writeShellApplication; _timer = writeShellApplication (import ./scripts/_timer.nix); + export-video-list = writeShellApplication ( + import ./scripts/export-video-list.nix { inherit pkgs; } + ); notetaker = writeShellApplication (import ./scripts/notetaker.nix); run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); @@ -68,5 +71,6 @@ with pkgs; ++ pkgs.lib.optionals desktop [ # Scripts. _timer + export-video-list timer ] diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 87d4f826..79299e4e 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -5,6 +5,9 @@ abbr daily="run create-daily next" abbr switch="run nixos nixedo switch" abbr sz="source ~/.config/zsh/.zshrc" +abbr evl="export-video-list" +abbr vv="cat ~/Documents/videos.json" + abbr g="git" abbr ga="git add" abbr gap="git add -p" diff --git a/lib/shared/scripts/export-video-list.nix b/lib/shared/scripts/export-video-list.nix new file mode 100644 index 00000000..9b82f11e --- /dev/null +++ b/lib/shared/scripts/export-video-list.nix @@ -0,0 +1,33 @@ +{ pkgs, ... }: +{ + name = "export-video-list"; + + runtimeInputs = with pkgs; [ + jq + tree + udisks + ]; + + text = '' + device_name="/dev/sda2" + device_label="UNTITLED" + + source_path="/run/media/opdavies/$device_label" + + # If the source path doesn't exist, try mounting the device. + if [[ ! -d "$source_path" ]]; then + ${pkgs.udisks}/bin/udisksctl mount -b "$device_name" + fi + + # Exit early if the source path still doesn't exist. + if [[ ! -d "$source_path" ]]; then + echo "Error: $source_path not found." + exit 1 + fi + + output_file="$HOME/Documents/videos.json" + + ${pkgs.tree}/bin/tree -J "$source_path/Videos" | jq . > "$output_file" + ${pkgs.jq}/bin/jq . < "$output_file" + ''; +} From 4d4d65d812e839a6de79d2eceb8393341e36d3b0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Aug 2024 21:01:07 +0100 Subject: [PATCH 0957/2258] Refactor: inject the username into the source path --- lib/nixos/home-manager/default.nix | 7 ++++++- lib/shared/home-manager-packages.nix | 3 ++- lib/shared/scripts/export-video-list.nix | 4 ++-- lib/wsl2/default.nix | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/nixos/home-manager/default.nix b/lib/nixos/home-manager/default.nix index 3a25f566..b348bb02 100644 --- a/lib/nixos/home-manager/default.nix +++ b/lib/nixos/home-manager/default.nix @@ -25,7 +25,12 @@ let ; }; shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { - inherit desktop inputs pkgs; + inherit + desktop + inputs + pkgs + username + ; }; in { diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index f8ccc6d7..4d88eebc 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -2,6 +2,7 @@ desktop, inputs, pkgs, + username, ... }: let @@ -12,7 +13,7 @@ let _timer = writeShellApplication (import ./scripts/_timer.nix); export-video-list = writeShellApplication ( - import ./scripts/export-video-list.nix { inherit pkgs; } + import ./scripts/export-video-list.nix { inherit pkgs username; } ); notetaker = writeShellApplication (import ./scripts/notetaker.nix); run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); diff --git a/lib/shared/scripts/export-video-list.nix b/lib/shared/scripts/export-video-list.nix index 9b82f11e..d2ced515 100644 --- a/lib/shared/scripts/export-video-list.nix +++ b/lib/shared/scripts/export-video-list.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, username, ... }: { name = "export-video-list"; @@ -12,7 +12,7 @@ device_name="/dev/sda2" device_label="UNTITLED" - source_path="/run/media/opdavies/$device_label" + source_path="/run/media/${username}/$device_label" # If the source path doesn't exist, try mounting the device. if [[ ! -d "$source_path" ]]; then diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index a6d51976..025e2446 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -18,7 +18,7 @@ let }; shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { - inherit inputs pkgs; + inherit inputs pkgs username; desktop = false; }; in From a1ef2d1402c9c607e7a3e4427ce125d0cabeddcd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 20 Aug 2024 21:51:15 +0100 Subject: [PATCH 0958/2258] Update path to `jq` --- lib/shared/scripts/export-video-list.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/scripts/export-video-list.nix b/lib/shared/scripts/export-video-list.nix index d2ced515..f81e04f8 100644 --- a/lib/shared/scripts/export-video-list.nix +++ b/lib/shared/scripts/export-video-list.nix @@ -27,7 +27,7 @@ output_file="$HOME/Documents/videos.json" - ${pkgs.tree}/bin/tree -J "$source_path/Videos" | jq . > "$output_file" + ${pkgs.tree}/bin/tree -J "$source_path/Videos" | ${pkgs.jq}/bin/jq . > "$output_file" ${pkgs.jq}/bin/jq . < "$output_file" ''; } From a1c356a1f576f041301a5c41d6ba7d0f098d0edb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Aug 2024 01:12:22 +0100 Subject: [PATCH 0959/2258] Update aliases, abbreviations and snippets --- .../home-manager/modules/espanso/matches.nix | 4 ++ lib/shared/modules/zsh/abbreviations.zsh | 44 ++++++++++++++----- lib/shared/modules/zsh/aliases.nix | 3 +- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/lib/nixos/home-manager/modules/espanso/matches.nix b/lib/nixos/home-manager/modules/espanso/matches.nix index 57d643af..122bbb7b 100644 --- a/lib/nixos/home-manager/modules/espanso/matches.nix +++ b/lib/nixos/home-manager/modules/espanso/matches.nix @@ -38,6 +38,10 @@ trigger = ":gt"; replace = "Great, thanks!"; } + { + trigger = ":guest"; + replace = "If you'd like to be a guest on ${baseUrl}/podcast and talk about ..., I'd love to have you on the show."; + } { trigger = ":lh"; replace = "http://localhost"; diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 79299e4e..0868794f 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -1,21 +1,34 @@ -abbr dea="direnv allow" -abbr dee="direnv edit" +abbr c="clear" abbr cs="create-script" abbr daily="run create-daily next" -abbr switch="run nixos nixedo switch" +abbr rst="rst2pdf" abbr sz="source ~/.config/zsh/.zshrc" +abbr ti="timer" +abbr v="nvim" abbr evl="export-video-list" abbr vv="cat ~/Documents/videos.json" abbr g="git" abbr ga="git add" +abbr gb="git blame" +abbr gan="git add -N" abbr gap="git add -p" abbr gc="git commit" +abbr gca="git commit --amend" +abbr gcm="git commit -m" +abbr gd="git diff" +abbr gf="git fetch" +abbr gfa="git fetch --all" +abbr gl="git log" +abbr glo="git log --oneline" +abbr gls="git log --stat" abbr gpl="git pull" abbr gps="git push" abbr gri="git rebase -i" abbr gs="git status" +abbr gsh="git show" +abbr gst="git status" # tmux abbr ta="tmux attach" @@ -45,15 +58,30 @@ abbr dkcb="docker compose build" abbr dkcu="docker compose up" abbr dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" +# Nix and direnv. +abbr dea="direnv allow" +abbr dee="direnv edit" +abbr nxf="nix flake" +abbr nxfc="nix flake check" +abbr nxfs="nix flake show" +abbr nxfu="nix flake update" +abbr nxr="nix run nixpkgs#%" +abbr nxs="nix shell nixpkgs#%" + # run scripts. abbr r="run" abbr rc="run composer" abbr rd="run drush" -abbr rdcr="run drush cr" -abbr rdup="run drush updb -y" abbr rdce="run drush config:export -y" abbr rdci="run drush config:import -y" +abbr rdcr="run drush cache:rebuild" +abbr rdscr="run drush php:script" abbr rduli="run drush uli" +abbr rdup="run drush updatedb -y" + +abbr clh="curl localhost:%" +abbr clh3="curl localhost:3000%" +abbr clh8="curl localhost:8000%" abbr -g A1="| awk '{print $1}'" abbr -g C="| xclip -sel clip" @@ -65,9 +93,5 @@ abbr -g Gi="| grep -i" abbr -g H2="| head -n 20" abbr -g H="| head" abbr -g L="| less" -abbr -g V="| vim -" +abbr -g V="| nvim -" abbr -g X="| xargs -I1" - -abbr clh="curl localhost:%" -abbr clh3="curl localhost:3000%" -abbr clh8="curl localhost:8000%" diff --git a/lib/shared/modules/zsh/aliases.nix b/lib/shared/modules/zsh/aliases.nix index c7f58135..d77a62d6 100644 --- a/lib/shared/modules/zsh/aliases.nix +++ b/lib/shared/modules/zsh/aliases.nix @@ -1,4 +1,5 @@ { + "$" = ""; "-" = "cd -"; ".." = "cd .."; "..." = "cd ../.."; @@ -8,6 +9,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - wt = "git worktree"; vss = "LC_ALL=C sort --unique $REPOS/opdavies.nvim/spell/en.utf-8.add --output $REPOS/opdavies.nvim/spell/en.utf-8.add"; + wt = "git worktree"; } From 50fc64174389474d67ce6e8315a890283bf87565 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 21 Aug 2024 09:00:00 +0100 Subject: [PATCH 0960/2258] Update abbreviations --- lib/shared/modules/zsh/abbreviations.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 0868794f..f965d86b 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -71,6 +71,9 @@ abbr nxs="nix shell nixpkgs#%" # run scripts. abbr r="run" abbr rc="run composer" +abbr rcda="run composer dump-autoload" +abbr rcr="run composer require" +abbr rcu="run composer update" abbr rd="run drush" abbr rdce="run drush config:export -y" abbr rdci="run drush config:import -y" @@ -78,6 +81,8 @@ abbr rdcr="run drush cache:rebuild" abbr rdscr="run drush php:script" abbr rduli="run drush uli" abbr rdup="run drush updatedb -y" +abbr rpub="run publish" +abbr rt="run test" abbr clh="curl localhost:%" abbr clh3="curl localhost:3000%" From 10097802b30d4a63befff8eb6e1af2f3305dcb50 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Aug 2024 15:23:17 +0100 Subject: [PATCH 0961/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 48c43f17..8d762e2d 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1723587606, - "narHash": "sha256-rxhvoZT32WSa+mY6l2zVmzXlhrKptNbjIwqhJ7TwmA0=", + "lastModified": 1724464643, + "narHash": "sha256-lyWdKvGguuEiTnNGln4kqQ+Aoe4Imjko71FEltZb3ls=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "95f49f9b47d305f9ab1b0bf1ec9acd35dcb75fb4", + "rev": "c2dc2c07d041f9f58931f293d54d56287a0e9273", "type": "github" }, "original": { From 5fe35808d2bbe0d3334a4f6a058a1e5389cd8d8c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Aug 2024 23:36:39 +0100 Subject: [PATCH 0962/2258] Trying out zellij --- lib/shared/home-manager.nix | 1 + lib/shared/modules/zellij.nix | 10 ++++++++++ lib/shared/modules/zsh/abbreviations.zsh | 10 ++++++---- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 lib/shared/modules/zellij.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index caaa68ce..4b1195aa 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -28,6 +28,7 @@ in ./modules/ripgrep.nix ./modules/syncthing.nix ./modules/tmux.nix + ./modules/zellij.nix ./modules/zsh.nix ]; } diff --git a/lib/shared/modules/zellij.nix b/lib/shared/modules/zellij.nix new file mode 100644 index 00000000..640d8ca1 --- /dev/null +++ b/lib/shared/modules/zellij.nix @@ -0,0 +1,10 @@ +{ + programs.zellij = { + enable = true; + }; + + xdg.configFile."zellij/config.kdl".text = '' + simplified_ui true + pane_frames false + ''; +} diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index f965d86b..b1cc25c3 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -35,6 +35,12 @@ abbr ta="tmux attach" abbr tl="tmux list-sessions" abbr tk="tmux kill-session" +# zellij +abbr zj="zellij" +abbr znt="zellij action new-tab" +abbr zr="zellij run --" +abbr zrf="zellij run --floating --" + # Docker and Docker Compose. abbr dk="docker" abbr dkp="docker ps" @@ -84,10 +90,6 @@ abbr rdup="run drush updatedb -y" abbr rpub="run publish" abbr rt="run test" -abbr clh="curl localhost:%" -abbr clh3="curl localhost:3000%" -abbr clh8="curl localhost:8000%" - abbr -g A1="| awk '{print $1}'" abbr -g C="| xclip -sel clip" abbr -g Fj="| jq ." From 932294ca3f524f583b7bf1087955c66d2f4b6ea7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Aug 2024 23:29:36 +0100 Subject: [PATCH 0963/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 8d762e2d..3ebaa564 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1724464643, - "narHash": "sha256-lyWdKvGguuEiTnNGln4kqQ+Aoe4Imjko71FEltZb3ls=", + "lastModified": 1724631056, + "narHash": "sha256-N/qwh+KhHUu3qhsabCjdIC14Gyx0donLJPqGApMcujQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "c2dc2c07d041f9f58931f293d54d56287a0e9273", + "rev": "2f76ac4d68a6f1a726f06f511b5ea1bbfe57a69e", "type": "github" }, "original": { From 7ec9ec107d2d4568bf231e2783329af64f3dbb9a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 27 Aug 2024 23:30:38 +0100 Subject: [PATCH 0964/2258] Add Zellij layout --- dev.kdl | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 dev.kdl diff --git a/dev.kdl b/dev.kdl new file mode 100644 index 00000000..425478a1 --- /dev/null +++ b/dev.kdl @@ -0,0 +1,6 @@ +layout { + pane split_direction="vertical" { + pane command="nvim" + pane + } +} From b9ff90afc0ecea6fdb997e429c19f25679bb68b3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Aug 2024 12:58:02 +0100 Subject: [PATCH 0965/2258] Add `watchexec` --- lib/shared/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 4d88eebc..ed7b8832 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -57,6 +57,7 @@ with pkgs; tree-sitter unzip virtualenv + watchexec wget xclip xcp From e810a8506e55147799228d1f44f837bf0e991f91 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Aug 2024 12:58:17 +0100 Subject: [PATCH 0966/2258] Add a `:zet` expansion that links to my ...Zettelkasten site --- lib/nixos/home-manager/modules/espanso/matches.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nixos/home-manager/modules/espanso/matches.nix b/lib/nixos/home-manager/modules/espanso/matches.nix index 122bbb7b..e915d525 100644 --- a/lib/nixos/home-manager/modules/espanso/matches.nix +++ b/lib/nixos/home-manager/modules/espanso/matches.nix @@ -62,6 +62,10 @@ trigger = ":website"; replace = "${baseUrl}"; } + { + trigger = ":zet"; + replace = "https://zet.oliverdavies.uk"; + } { trigger = ":zoom"; replace = "https://savvycal.com/opdavies/zoom"; From 7c6d68a58979bcc508f38ee47ab1ad8df90b6b0b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Aug 2024 13:00:09 +0100 Subject: [PATCH 0967/2258] zsh: add code directory to `CDPATH` --- lib/shared/modules/zsh.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 2d0894f3..22ffc3e8 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -6,6 +6,8 @@ enable = true; enableCompletion = true; + cdpath = [ "~/Code" ]; + shellAliases = (import ./zsh/aliases.nix); localVariables = { From c62f741a902d379bb55bf1869dab342517f3a202 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Aug 2024 13:00:36 +0100 Subject: [PATCH 0968/2258] Add a default directory when using `yt-dlp` Always place downloaded videos in `~/Videos`. --- lib/shared/modules/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 22ffc3e8..40236a25 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -48,6 +48,10 @@ command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } + yt-dlp() { + command yt-dlp --paths ~/Videos "$@" + } + # Case insensitive autocompletion. zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit From 4c3ba5549d8b84f5de934268d269f802c0674289 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 28 Aug 2024 13:01:46 +0100 Subject: [PATCH 0969/2258] Don't open all Kdenlive windows in fullscreen mode This also affects pop-up windows within Kdenlive, such as when changing the playback speed, that I don't want to be fullscreen. --- config/awesome/rc.lua | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 03db87f7..7dc00b7e 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -623,17 +623,11 @@ awful.rules.rules = { -- { rule = { class = "Firefox" }, -- properties = { screen = 1, tag = "2" } }, - -- Prevent Fireox from automaticaly being maximised when opened. { rule = { class = "firefox" }, properties = { opacity = 1, maximized = false, floating = false } }, - { rule = { class = "mpv" }, properties = { tag = "5", fullscreen = true } }, - { rule = { name = "Podcasts - Pocket Casts" }, properties = { tag = "6" } }, - - { rule = { class = "kdenlive" }, properties = { tag = "7", fullscreen = true } }, - + { rule = { class = "kdenlive" }, properties = { tag = "7" } }, { rule = { class = "0ad" }, properties = { tag = "8", fullscreen = true } }, - { rule = { class = "Slack" }, properties = { tag = "9" } }, { rule = { class = "discord" }, properties = { tag = "9" } }, } From 4406690f6314b1066e4d720cd00eec4d8c833c8c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Aug 2024 02:21:19 +0100 Subject: [PATCH 0970/2258] Set Zellij theme --- lib/shared/modules/zellij.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zellij.nix b/lib/shared/modules/zellij.nix index 640d8ca1..96891ba5 100644 --- a/lib/shared/modules/zellij.nix +++ b/lib/shared/modules/zellij.nix @@ -5,6 +5,6 @@ xdg.configFile."zellij/config.kdl".text = '' simplified_ui true - pane_frames false + theme "catppuccin-mocha" ''; } From 9f4e5bebf8af365d8ea689e7192227a89db2b937 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 29 Aug 2024 06:55:57 +0100 Subject: [PATCH 0971/2258] Add the Zellij default configuration Used `zellij setup --dump-config` to get the configuration and saved it into its own file. --- config/zellij/config.kdl | 388 ++++++++++++++++++++++++++++++++++ lib/shared/modules/zellij.nix | 9 +- 2 files changed, 393 insertions(+), 4 deletions(-) create mode 100644 config/zellij/config.kdl diff --git a/config/zellij/config.kdl b/config/zellij/config.kdl new file mode 100644 index 00000000..e5496e1d --- /dev/null +++ b/config/zellij/config.kdl @@ -0,0 +1,388 @@ +keybinds { + normal { + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + + locked { + bind "Ctrl g" { SwitchToMode "Normal"; } + } + + resize { + bind "Ctrl n" { SwitchToMode "Normal"; } + bind "h" "Left" { Resize "Increase Left"; } + bind "j" "Down" { Resize "Increase Down"; } + bind "k" "Up" { Resize "Increase Up"; } + bind "l" "Right" { Resize "Increase Right"; } + bind "H" { Resize "Decrease Left"; } + bind "J" { Resize "Decrease Down"; } + bind "K" { Resize "Decrease Up"; } + bind "L" { Resize "Decrease Right"; } + bind "=" "+" { Resize "Increase"; } + bind "-" { Resize "Decrease"; } + } + + pane { + bind "Ctrl p" { SwitchToMode "Normal"; } + bind "h" "Left" { MoveFocus "Left"; } + bind "l" "Right" { MoveFocus "Right"; } + bind "j" "Down" { MoveFocus "Down"; } + bind "k" "Up" { MoveFocus "Up"; } + bind "p" { SwitchFocus; } + bind "n" { NewPane; SwitchToMode "Normal"; } + bind "d" { NewPane "Down"; SwitchToMode "Normal"; } + bind "r" { NewPane "Right"; SwitchToMode "Normal"; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } + bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } + bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + } + + move { + bind "Ctrl h" { SwitchToMode "Normal"; } + bind "n" "Tab" { MovePane; } + bind "p" { MovePaneBackwards; } + bind "h" "Left" { MovePane "Left"; } + bind "j" "Down" { MovePane "Down"; } + bind "k" "Up" { MovePane "Up"; } + bind "l" "Right" { MovePane "Right"; } + } + + tab { + bind "Ctrl t" { SwitchToMode "Normal"; } + bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } + bind "h" "Left" "Up" "k" { GoToPreviousTab; } + bind "l" "Right" "Down" "j" { GoToNextTab; } + bind "n" { NewTab; SwitchToMode "Normal"; } + bind "x" { CloseTab; SwitchToMode "Normal"; } + bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } + bind "b" { BreakPane; SwitchToMode "Normal"; } + bind "]" { BreakPaneRight; SwitchToMode "Normal"; } + bind "[" { BreakPaneLeft; SwitchToMode "Normal"; } + bind "1" { GoToTab 1; SwitchToMode "Normal"; } + bind "2" { GoToTab 2; SwitchToMode "Normal"; } + bind "3" { GoToTab 3; SwitchToMode "Normal"; } + bind "4" { GoToTab 4; SwitchToMode "Normal"; } + bind "5" { GoToTab 5; SwitchToMode "Normal"; } + bind "6" { GoToTab 6; SwitchToMode "Normal"; } + bind "7" { GoToTab 7; SwitchToMode "Normal"; } + bind "8" { GoToTab 8; SwitchToMode "Normal"; } + bind "9" { GoToTab 9; SwitchToMode "Normal"; } + bind "Tab" { ToggleTab; } + } + + scroll { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "e" { EditScrollback; SwitchToMode "Normal"; } + bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + + search { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + bind "n" { Search "down"; } + bind "p" { Search "up"; } + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "w" { SearchToggleOption "Wrap"; } + bind "o" { SearchToggleOption "WholeWord"; } + } + + entersearch { + bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } + bind "Enter" { SwitchToMode "Search"; } + } + + renametab { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } + } + + renamepane { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } + } + + session { + bind "Ctrl o" { SwitchToMode "Normal"; } + bind "Ctrl s" { SwitchToMode "Scroll"; } + bind "d" { Detach; } + bind "w" { + LaunchOrFocusPlugin "session-manager" { + floating true + move_to_focused_tab true + }; + + SwitchToMode "Normal" + } + } + + tmux { + bind "[" { SwitchToMode "Scroll"; } + bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } + bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } + bind "%" { NewPane "Right"; SwitchToMode "Normal"; } + bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "c" { NewTab; SwitchToMode "Normal"; } + bind "," { SwitchToMode "RenameTab"; } + bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } + bind "n" { GoToNextTab; SwitchToMode "Normal"; } + bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "o" { FocusNextPane; } + bind "d" { Detach; } + bind "Space" { NextSwapLayout; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + } + + shared_except "locked" { + bind "Ctrl g" { SwitchToMode "Locked"; } + bind "Ctrl q" { Quit; } + bind "Alt n" { NewPane; } + bind "Alt i" { MoveTab "Left"; } + bind "Alt o" { MoveTab "Right"; } + bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } + bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } + bind "Alt j" "Alt Down" { MoveFocus "Down"; } + bind "Alt k" "Alt Up" { MoveFocus "Up"; } + bind "Alt =" "Alt +" { Resize "Increase"; } + bind "Alt -" { Resize "Decrease"; } + bind "Alt [" { PreviousSwapLayout; } + bind "Alt ]" { NextSwapLayout; } + } + + shared_except "normal" "locked" { + bind "Enter" "Esc" { SwitchToMode "Normal"; } + } + + shared_except "pane" "locked" { + bind "Ctrl p" { SwitchToMode "Pane"; } + } + + shared_except "resize" "locked" { + bind "Ctrl n" { SwitchToMode "Resize"; } + } + + shared_except "scroll" "locked" { + bind "Ctrl s" { SwitchToMode "Scroll"; } + } + + shared_except "session" "locked" { + bind "Ctrl o" { SwitchToMode "Session"; } + } + + shared_except "tab" "locked" { + bind "Ctrl t" { SwitchToMode "Tab"; } + } + + shared_except "move" "locked" { + bind "Ctrl h" { SwitchToMode "Move"; } + } + + shared_except "tmux" "locked" { + bind "Ctrl b" { SwitchToMode "Tmux"; } + } +} + +plugins { + tab-bar location="zellij:tab-bar" + status-bar location="zellij:status-bar" + strider location="zellij:strider" + compact-bar location="zellij:compact-bar" + session-manager location="zellij:session-manager" + + welcome-screen location="zellij:session-manager" { + welcome_screen true + } + + filepicker location="zellij:strider" { + cwd "/" + } +} + +// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP +// eg. when terminal window with an active zellij session is closed +// Options: +// - detach (Default) +// - quit +// +// on_force_close "quit" + +// Send a request for a simplified ui (without arrow fonts) to plugins +// Options: +// - true +// - false (Default) +// +simplified_ui true + +// Choose the path to the default shell that zellij will use for opening new panes +// Default: $SHELL +// +// default_shell "fish" + +// Choose the path to override cwd that zellij will use for opening new panes +// +// default_cwd "" + +// Toggle between having pane frames around the panes +// Options: +// - true (default) +// - false +// +// pane_frames true + +// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible +// Options: +// - true (default) +// - false +// +// auto_layout true + +// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected +// Options: +// - true (default) +// - false +// +// session_serialization false + +// Whether pane viewports are serialized along with the session, default is false +// Options: +// - true +// - false (default) +// serialize_pane_viewport true + +// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 +// defaults to the scrollback size. If this number is higher than the scrollback size, it will +// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. +// +// scrollback_lines_to_serialize 10000 + +// Define color themes for Zellij +// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes +// Once these themes are defined, one of them should to be selected in the "theme" section of this file +// +// themes { +// dracula { +// fg 248 248 242 +// bg 40 42 54 +// red 255 85 85 +// green 80 250 123 +// yellow 241 250 140 +// blue 98 114 164 +// magenta 255 121 198 +// orange 255 184 108 +// cyan 139 233 253 +// black 0 0 0 +// white 255 255 255 +// } +// } + +// Choose the theme that is specified in the themes section. +// Default: default +// +theme "catppuccin-mocha" + +// The name of the default layout to load on startup +// Default: "default" +// +default_layout "compact" + +// Choose the mode that zellij uses when starting up. +// Default: normal +// +// default_mode "locked" + +// Toggle enabling the mouse mode. +// On certain configurations, or terminals this could +// potentially interfere with copying text. +// Options: +// - true (default) +// - false +// +// mouse_mode false + +// Configure the scroll back buffer size +// This is the number of lines zellij stores for each pane in the scroll back +// buffer. Excess number of lines are discarded in a FIFO fashion. +// Valid values: positive integers +// Default value: 10000 +// +// scroll_buffer_size 10000 + +// Provide a command to execute when copying text. The text will be piped to +// the stdin of the program to perform the copy. This can be used with +// terminal emulators which do not support the OSC 52 ANSI control sequence +// that will be used by default if this option is not set. +// Examples: +// +// copy_command "xclip -selection clipboard" // x11 +// copy_command "wl-copy" // wayland +// copy_command "pbcopy" // osx + +// Choose the destination for copied text +// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. +// Does not apply when using copy_command. +// Options: +// - system (default) +// - primary +// +// copy_clipboard "primary" + +// Enable or disable automatic copy (and clear) of selection when releasing mouse +// Default: true +// +// copy_on_select false + +// Path to the default editor to use to edit pane scrollbuffer +// Default: $EDITOR or $VISUAL +// +// scrollback_editor "/usr/bin/vim" + +// When attaching to an existing session with other users, +// should the session be mirrored (true) +// or should each user have their own cursor (false) +// Default: false +// +// mirror_session true + +// The folder in which Zellij will look for layouts +// +// layout_dir "/path/to/my/layout_dir" + +// The folder in which Zellij will look for themes +// +// theme_dir "/path/to/my/theme_dir" + +// Enable or disable the rendering of styled and colored underlines (undercurl). +// May need to be disabled for certain unsupported terminals +// Default: true +// +// styled_underlines false + +// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know +// metadata info on this session) +// Default: false +// +// disable_session_metadata true diff --git a/lib/shared/modules/zellij.nix b/lib/shared/modules/zellij.nix index 96891ba5..7eebe03e 100644 --- a/lib/shared/modules/zellij.nix +++ b/lib/shared/modules/zellij.nix @@ -1,10 +1,11 @@ +{ self, ... }: { programs.zellij = { enable = true; }; - xdg.configFile."zellij/config.kdl".text = '' - simplified_ui true - theme "catppuccin-mocha" - ''; + xdg.configFile."zellij" = { + source = "${self}/config/zellij"; + recursive = true; + }; } From 56ce8ba7351c88be500a321fb2584d75f277ce74 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 31 Aug 2024 17:17:32 +0100 Subject: [PATCH 0972/2258] Add `create-zellij-session` script Based on t.nix, this creates or attaches to a Zellij session based on a given directory. --- lib/shared/home-manager-packages.nix | 4 ++ lib/shared/scripts/create-zellij-session.nix | 67 ++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 lib/shared/scripts/create-zellij-session.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index ed7b8832..daa54dc8 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -12,6 +12,9 @@ let inherit (pkgs) writeShellApplication; _timer = writeShellApplication (import ./scripts/_timer.nix); + create-zellij-session = writeShellApplication ( + import ./scripts/create-zellij-session.nix { inherit pkgs; } + ); export-video-list = writeShellApplication ( import ./scripts/export-video-list.nix { inherit pkgs username; } ); @@ -66,6 +69,7 @@ with pkgs; yarn # Scripts. + create-zellij-session notetaker run t diff --git a/lib/shared/scripts/create-zellij-session.nix b/lib/shared/scripts/create-zellij-session.nix new file mode 100644 index 00000000..808c1753 --- /dev/null +++ b/lib/shared/scripts/create-zellij-session.nix @@ -0,0 +1,67 @@ +{ pkgs }: +{ + name = "create-zellij-session"; + + runtimeInputs = with pkgs; [ + openssl + zellij + ]; + + text = '' + function _execute_zellij_layout { + local session_name="$1" + local layout_file="$2" + + DIGEST="$(openssl sha512 "$layout_file")" + + # Prompt the first time we see a given layout file before running it. + if ! grep -q "$DIGEST" ~/..zellij.digests 2> /dev/null; then + cat "$layout_file" + + read -r -n 1 -p "Trust (and run) this Zellij file? (t = trust, otherwise = skip) " + + if [[ $REPLY =~ ^[Tt]$ ]]; then + echo "$DIGEST" >> ~/..zellij.digests + + _attach_to_or_create_zellij_session --layout "$layout_file" + fi + else + _attach_to_or_create_zellij_session --layout "$layout_file" + fi + } + + function _attach_to_or_create_zellij_session { + zellij attach "$session_name" 2>/dev/null || zellij --session "$session_name" "$@" + } + + function main { + if [[ $# -eq 1 ]]; then + selected_path=$1 + else + items=$(find "$REPOS" ~/Documents \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "*-old" \ + ! -name "*.bak" \ + ! -name "*.old" \ + ! -name "_archive" + ) + + selected_path=$(echo "''${items}" | sort | fzf --reverse) + fi + + session_name=$(basename "$selected_path") + + cd "$selected_path" + + if [[ -f ".ignored/dev.kdl" ]]; then + _execute_zellij_layout "$session_name" ".ignored/dev.kdl" + elif [[ -f "dev.kdl" ]]; then + _execute_zellij_layout "$session_name" "dev.kdl" + fi + + _attach_to_or_create_zellij_session + } + + main "$@" + ''; +} From 950579f538d164820904d8a490c9c7e53899ed80 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 31 Aug 2024 17:18:27 +0100 Subject: [PATCH 0973/2258] Add compact bar --- dev.kdl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dev.kdl b/dev.kdl index 425478a1..cf7f51e5 100644 --- a/dev.kdl +++ b/dev.kdl @@ -3,4 +3,8 @@ layout { pane command="nvim" pane } + + pane size=1 borderless=true { + plugin location="zellij:compact-bar" + } } From 2d91ea65a4a3e961f00ea8639e02b747be5bbb21 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 4 Sep 2024 00:00:16 +0100 Subject: [PATCH 0974/2258] Update abbreviations --- lib/shared/modules/zsh/abbreviations.zsh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index b1cc25c3..82f26678 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -4,7 +4,9 @@ abbr daily="run create-daily next" abbr rst="rst2pdf" abbr sz="source ~/.config/zsh/.zshrc" abbr ti="timer" +abbr uagr="update-all-git-repos" abbr v="nvim" +abbr yt="yt-dlp" abbr evl="export-video-list" abbr vv="cat ~/Documents/videos.json" @@ -36,10 +38,22 @@ abbr tl="tmux list-sessions" abbr tk="tmux kill-session" # zellij -abbr zj="zellij" +abbr czs="create-zellij-session" +abbr z="zellij" +abbr za="zellij attach" +abbr zd="zellij delete-session" +abbr zda="zellij delete-all-sessions" +abbr ze="zellij edit" +abbr zei="zellij edit --in-place" +abbr zk="zellij kill-session" +abbr zka="zellij kill-all-sessions | sort" +abbr zl="zellij list-sessions | grep -v EXITED" +abbr zla="zellij list-sessions" abbr znt="zellij action new-tab" abbr zr="zellij run --" +abbr zri="zellij run --in-place --" abbr zrf="zellij run --floating --" +abbr multitask="zellij action start-or-reload-plugin file:$HOME/zellij-plugins/multitask.wasm --configuration "shell=$SHELL,cwd=`pwd`"" # Docker and Docker Compose. abbr dk="docker" From 246e383a77b9f27bbdf6fc177efe21013a225c08 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 4 Sep 2024 07:55:42 +0100 Subject: [PATCH 0975/2258] Update flake dependencies --- flake.lock | 38 ++++++++++++++++++------------------- lib/nixos/configuration.nix | 6 +----- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 3ebaa564..88ba21b9 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1725234343, + "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1723556749, - "narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=", + "lastModified": 1725001927, + "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4a92571f9207810b559c9eac203d1f4d79830073", + "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", "type": "github" }, "original": { @@ -73,23 +73,23 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1719876945, - "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1723637854, - "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { @@ -101,11 +101,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1724631056, - "narHash": "sha256-N/qwh+KhHUu3qhsabCjdIC14Gyx0donLJPqGApMcujQ=", + "lastModified": 1725432629, + "narHash": "sha256-UhqeMc5HkKv9eCoKCO5uqtEPQtz+jUazrZddZoluiAA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "2f76ac4d68a6f1a726f06f511b5ea1bbfe57a69e", + "rev": "5af45522fbb3dafeecba3021f4d398a86d124771", "type": "github" }, "original": { diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 9ef195e9..325a96b8 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -151,17 +151,13 @@ in bluetuith brightnessctl cpufrequtils - ffmpegthumbnailer libnotify pmutils - pocket-casts + ffmpegthumbnailer rclone rclone-browser shotwell slack - spotify - teams-for-linux - todoist-electron vscode xfce.thunar xfce.thunar-volman From edfa2b7c22875f1ccee93dbe01a4c614753e9b81 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 4 Sep 2024 07:55:50 +0100 Subject: [PATCH 0976/2258] Only show the names of the directories Remove the ~/Code prefix from the list of items. --- lib/shared/scripts/create-zellij-session.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/shared/scripts/create-zellij-session.nix b/lib/shared/scripts/create-zellij-session.nix index 808c1753..7307c368 100644 --- a/lib/shared/scripts/create-zellij-session.nix +++ b/lib/shared/scripts/create-zellij-session.nix @@ -38,15 +38,15 @@ if [[ $# -eq 1 ]]; then selected_path=$1 else - items=$(find "$REPOS" ~/Documents \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "*-old" \ - ! -name "*.bak" \ - ! -name "*.old" \ - ! -name "_archive" - ) - - selected_path=$(echo "''${items}" | sort | fzf --reverse) + selected_path="$REPOS/" + selected_path+=$(find "$REPOS" -maxdepth 1 -mindepth 1 -type d \ + ! -name "*-old" \ + ! -name "*.bak" \ + ! -name "*.old" \ + ! -name "_archive" \ + | sed "s;$REPOS/;;" \ + | sort \ + | fzf --reverse) fi session_name=$(basename "$selected_path") From a7556575ac2e876f8090b6f4b175e92fc463af63 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 4 Sep 2024 07:59:39 +0100 Subject: [PATCH 0977/2258] Remove tmux After using it as a daily driver from the last week or so, I'm switching to Zellij. https://zellij.dev --- lib/shared/home-manager-packages.nix | 1 - lib/shared/home-manager.nix | 1 - lib/shared/modules/tmux.nix | 82 ---------------------- lib/shared/modules/zsh/abbreviations.zsh | 5 -- lib/shared/scripts/t.nix | 86 ------------------------ 5 files changed, 175 deletions(-) delete mode 100644 lib/shared/modules/tmux.nix delete mode 100644 lib/shared/scripts/t.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index daa54dc8..307eeefd 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -20,7 +20,6 @@ let ); notetaker = writeShellApplication (import ./scripts/notetaker.nix); run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); - t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); timer = writeShellApplication (import ./scripts/timer.nix); in with pkgs; diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 4b1195aa..f0032a5d 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -27,7 +27,6 @@ in ./modules/phpactor.nix ./modules/ripgrep.nix ./modules/syncthing.nix - ./modules/tmux.nix ./modules/zellij.nix ./modules/zsh.nix ]; diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix deleted file mode 100644 index bbfc1c26..00000000 --- a/lib/shared/modules/tmux.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ pkgs, ... }: -let - inherit (pkgs) tmuxPlugins; -in -{ - programs.tmux = { - enable = true; - - terminal = "tmux-256color"; - - extraConfig = '' - set-option -g status-keys "vi" - set-option -sa terminal-features "''${TERM}:RGB" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - # Status line customisation - set-option -g status-left "" - set-option -g status-right " #{session_name}" - set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=default" - set-option -g window-status-activity-style none - set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " - set-option -g window-status-current-style "fg=#E9E9EA" - set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g pane-base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" - - bind-key C-j choose-tree - - # Use vim keybindings in copy mode - setw -g mode-keys vi - - # Setup 'v' to begin selection as in Vim - bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send -X copy-pipe wl-copy - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - - set-option -g pane-active-border-style "fg=#1f2335" - set-option -g pane-border-style "fg=#1f2335" - - bind-key -r f run-shell "tmux new-window t" - - set -g @resurrect-strategy-nvim 'session' - ''; - - plugins = [ - tmuxPlugins.resurrect - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.yank - ]; - }; -} diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 82f26678..5b0eddeb 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -32,11 +32,6 @@ abbr gs="git status" abbr gsh="git show" abbr gst="git status" -# tmux -abbr ta="tmux attach" -abbr tl="tmux list-sessions" -abbr tk="tmux kill-session" - # zellij abbr czs="create-zellij-session" abbr z="zellij" diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix deleted file mode 100644 index d9f91e3b..00000000 --- a/lib/shared/scripts/t.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ pkgs }: - -{ - name = "t"; - - runtimeInputs = with pkgs; [ - openssl - tmux - ]; - - text = '' - # Credit to ThePrimeagen and Jess Archer. - - function execute_tmux_file { - local tmux_file="$1" - selected_path="$2" - session_name="$3" - - DIGEST="$(openssl sha512 "$tmux_file")" - - # Prompt the first time we see a given .tmux file before running it. - if ! grep -q "$DIGEST" ~/..tmux.digests 2> /dev/null; then - cat "$tmux_file" - - read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " - - if [[ $REPLY =~ ^[Tt]$ ]]; then - echo "$DIGEST" >> ~/..tmux.digests - - create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" - fi - else - create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" - fi - } - - function create_session_and_run_tmux_file { - tmux_file="$1" - selected_path="$2" - session_name="$3" - - tmux new-session -d -c "$selected_path" -s "$session_name" - (cd "$selected_path" && "$tmux_file" "$session_name") - } - - function main { - if [[ $# -eq 1 ]]; then - selected_path=$1 - else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find "$REPOS" ~/Documents \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "_archive" \ - ! -name "*-old" \ - ! -name "*.old" - ) - - selected_path=$(echo "''${items}" | sort | fzf --reverse) - fi - - session_name=$(basename "$selected_path" | sed 's/\./_/g') - - # Attach to an existing session, if one exists. - if tmux has-session -t "$session_name" 2> /dev/null; then - tmux attach -t "$session_name" || tmux switch-client -t "$session_name" - exit - fi - - if [[ -x "$selected_path/.tmux" ]]; then - execute_tmux_file "$selected_path/.tmux" "$selected_path" "$session_name" - elif [[ -x "$selected_path/.ignored/.tmux" ]]; then - execute_tmux_file "$selected_path/.ignored/.tmux" "$selected_path" "$session_name" - fi - - # If there is no session, create one. - if ! tmux has-session -t "$session_name" 2> /dev/null; then - tmux new-session -d -c "$selected_path" -s "$session_name" - fi - - tmux switch-client -t "$session_name" 2>/dev/null || tmux attach-session -t "$session_name" - } - - main "$@" - ''; -} From 985b872d7b05a140502c3409c6a1a30a9d9be2a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 8 Sep 2024 12:27:36 +0100 Subject: [PATCH 0978/2258] Update flake dependencies --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 88ba21b9..bb7f9778 100644 --- a/flake.lock +++ b/flake.lock @@ -25,11 +25,11 @@ ] }, "locked": { - "lastModified": 1720042825, - "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", + "lastModified": 1725703823, + "narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=", "owner": "nix-community", "repo": "home-manager", - "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", + "rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725001927, - "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", + "lastModified": 1725407940, + "narHash": "sha256-tiN5Rlg/jiY0tyky+soJZoRzLKbPyIdlQ77xVgREDNM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", + "rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1725103162, - "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "type": "github" }, "original": { @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1725432629, - "narHash": "sha256-UhqeMc5HkKv9eCoKCO5uqtEPQtz+jUazrZddZoluiAA=", + "lastModified": 1725471395, + "narHash": "sha256-BtC2Mr0XnH62wbjZV8zUm/ZUps8Gfbn7InfhK95sblU=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "5af45522fbb3dafeecba3021f4d398a86d124771", + "rev": "f8c09a13e4f276d98bd575b716ee52222c883844", "type": "github" }, "original": { From 2082d9361b63029d2cb6a84b8faa1bb1a65cd580 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 10 Sep 2024 01:41:50 +0100 Subject: [PATCH 0979/2258] Update expansion matches --- lib/nixos/home-manager/modules/espanso/matches.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/nixos/home-manager/modules/espanso/matches.nix b/lib/nixos/home-manager/modules/espanso/matches.nix index e915d525..80c716af 100644 --- a/lib/nixos/home-manager/modules/espanso/matches.nix +++ b/lib/nixos/home-manager/modules/espanso/matches.nix @@ -20,7 +20,7 @@ } { trigger = ":daily"; - replace = "${baseUrl}/daily"; + replace = "https://dailydrupaler.com"; } { trigger = ":dotfiles"; @@ -40,7 +40,7 @@ } { trigger = ":guest"; - replace = "If you'd like to be a guest on ${baseUrl}/podcast and talk about ..., I'd love to have you on the show."; + replace = "If you'd like to be a guest on https://beyondblockspodcast.com and talk about ..., I'd love to have you on the show."; } { trigger = ":lh"; @@ -48,7 +48,7 @@ } { trigger = ":podcast"; - replace = "${baseUrl}/podcast"; + replace = "https://beyondblockspodcast.com"; } { trigger = ":pricing"; @@ -56,7 +56,7 @@ } { trigger = ":talks"; - replace = "${baseUrl}/talks"; + replace = "${baseUrl}/presentations"; } { trigger = ":website"; From 1d1f4255b98e9ac6e65d2093b73cf8305f3e31f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 13:00:00 +0100 Subject: [PATCH 0980/2258] Re-add Lemur Pro laptop as a NixOS machine --- flake.nix | 5 + hosts/lemp11/configuration.nix | 136 ++++++++++++++++++++++++ hosts/lemp11/hardware-configuration.nix | 41 +++++++ 3 files changed, 182 insertions(+) create mode 100644 hosts/lemp11/configuration.nix create mode 100644 hosts/lemp11/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 70980109..1ba0dd33 100644 --- a/flake.nix +++ b/flake.nix @@ -42,6 +42,11 @@ desktop = true; hostname = "apollo"; }; + + lemp11 = mkNixos { + desktop = true; + hostname = "lemp11"; + }; }; homeConfigurations = { diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix new file mode 100644 index 00000000..b9f9a75a --- /dev/null +++ b/hosts/lemp11/configuration.nix @@ -0,0 +1,136 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.efi.efiSysMountPoint = "/boot/efi"; + + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = "nixos"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the KDE Plasma Desktop Environment. + services.xserver.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; + + # Configure keymap in X11 + services.xserver = { + layout = "gb"; + xkbVariant = ""; + }; + + # Configure console keymap + console.keyMap = "uk"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.opdavies = { + isNormalUser = true; + description = "Oliver Davies"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + firefox + kate + # thunderbird + ]; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + +} diff --git a/hosts/lemp11/hardware-configuration.nix b/hosts/lemp11/hardware-configuration.nix new file mode 100644 index 00000000..c5346599 --- /dev/null +++ b/hosts/lemp11/hardware-configuration.nix @@ -0,0 +1,41 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/e577c869-18a1-4830-9e00-124fcabdab89"; + fsType = "ext4"; + }; + + fileSystems."/boot/efi" = + { device = "/dev/disk/by-uuid/48FE-D346"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/2dce327b-f18d-4727-a9a2-e79d2b5161f9"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s13f0u1u2u4.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From a476a53d3a399079b44a4ca8fc48ade1f6a29440 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 13:00:00 +0100 Subject: [PATCH 0981/2258] Update completions --- lib/nixos/home-manager/modules/espanso.nix | 5 +--- .../home-manager/modules/espanso/matches.nix | 27 ++++++++++--------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/nixos/home-manager/modules/espanso.nix b/lib/nixos/home-manager/modules/espanso.nix index 34162b1c..bc97a633 100644 --- a/lib/nixos/home-manager/modules/espanso.nix +++ b/lib/nixos/home-manager/modules/espanso.nix @@ -1,6 +1,3 @@ -let - baseUrl = "https://www.oliverdavies.uk"; -in { services.espanso = { enable = true; @@ -12,7 +9,7 @@ in }; matches = { - base = import ./espanso/matches.nix { inherit baseUrl; }; + base = import ./espanso/matches.nix; }; }; } diff --git a/lib/nixos/home-manager/modules/espanso/matches.nix b/lib/nixos/home-manager/modules/espanso/matches.nix index 80c716af..15be5589 100644 --- a/lib/nixos/home-manager/modules/espanso/matches.nix +++ b/lib/nixos/home-manager/modules/espanso/matches.nix @@ -1,26 +1,29 @@ -{ baseUrl }: - +let + websiteUrl = "https://www.oliverdavies.uk"; + dailyUrl = "https://dailydrupaler.com"; + podcastUrl = "https://beyondblockspodcast.com"; +in { matches = [ { trigger = ":archive"; - replace = "${baseUrl}/archive"; + replace = "${websiteUrl}/archive"; } { trigger = ":atdc"; - replace = "${baseUrl}/atdc"; + replace = "${websiteUrl}/atdc"; } { trigger = ":call"; - replace = "${baseUrl}/call"; + replace = "${websiteUrl}/call"; } { trigger = ":coaching"; - replace = "${baseUrl}/team-coaching"; + replace = "${websiteUrl}/team-coaching"; } { trigger = ":daily"; - replace = "https://dailydrupaler.com"; + replace = "${dailyUrl}"; } { trigger = ":dotfiles"; @@ -40,7 +43,7 @@ } { trigger = ":guest"; - replace = "If you'd like to be a guest on https://beyondblockspodcast.com and talk about ..., I'd love to have you on the show."; + replace = "If you'd like to be a guest on ${podcastUrl} and talk about ..., I'd love to have you on the show."; } { trigger = ":lh"; @@ -48,19 +51,19 @@ } { trigger = ":podcast"; - replace = "https://beyondblockspodcast.com"; + replace = "${podcastUrl}"; } { trigger = ":pricing"; - replace = "${baseUrl}/pricing"; + replace = "${websiteUrl}/pricing"; } { trigger = ":talks"; - replace = "${baseUrl}/presentations"; + replace = "${websiteUrl}/presentations"; } { trigger = ":website"; - replace = "${baseUrl}"; + replace = "${websiteUrl}"; } { trigger = ":zet"; From 91dc0de725009daa0984dbdc1a30f68678ec52d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 20:38:52 +0100 Subject: [PATCH 0982/2258] Add fastfetch --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 325a96b8..200cfabf 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -138,6 +138,7 @@ in with pkgs; [ ddev + fastfetch just mermaid-cli mkcert From 9401bd3754d933e68b06b5b8c7ca2b207ab9f5ef Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 20:39:19 +0100 Subject: [PATCH 0983/2258] Remove DDEV and just --- lib/nixos/configuration.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 200cfabf..fd6bd4f3 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -137,9 +137,7 @@ in environment.systemPackages = with pkgs; [ - ddev fastfetch - just mermaid-cli mkcert ttyper From d63992ed6362b0c989f0c0e93ddfaad65903af5e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 21:44:13 +0100 Subject: [PATCH 0984/2258] Re-organise Home Manager modules --- {lib/nixos/home-manager => home/opdavies}/default.nix | 0 {lib/nixos/home-manager => home/opdavies}/desktop.nix | 0 {lib/nixos/home-manager => home/opdavies}/modules/alacritty.nix | 0 {lib/nixos/home-manager => home/opdavies}/modules/copyq.nix | 0 .../opdavies}/modules/desktop/bluetuith.nix | 0 {lib/nixos/home-manager => home/opdavies}/modules/espanso.nix | 0 .../home-manager => home/opdavies}/modules/espanso/matches.nix | 0 {lib/nixos/home-manager => home/opdavies}/modules/flameshot.nix | 0 {lib/nixos/home-manager => home/opdavies}/modules/gtk.nix | 0 {lib/nixos/home-manager => home/opdavies}/modules/mpv.nix | 0 lib/nixos/default.nix | 2 +- 11 files changed, 1 insertion(+), 1 deletion(-) rename {lib/nixos/home-manager => home/opdavies}/default.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/desktop.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/alacritty.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/copyq.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/desktop/bluetuith.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/espanso.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/espanso/matches.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/flameshot.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/gtk.nix (100%) rename {lib/nixos/home-manager => home/opdavies}/modules/mpv.nix (100%) diff --git a/lib/nixos/home-manager/default.nix b/home/opdavies/default.nix similarity index 100% rename from lib/nixos/home-manager/default.nix rename to home/opdavies/default.nix diff --git a/lib/nixos/home-manager/desktop.nix b/home/opdavies/desktop.nix similarity index 100% rename from lib/nixos/home-manager/desktop.nix rename to home/opdavies/desktop.nix diff --git a/lib/nixos/home-manager/modules/alacritty.nix b/home/opdavies/modules/alacritty.nix similarity index 100% rename from lib/nixos/home-manager/modules/alacritty.nix rename to home/opdavies/modules/alacritty.nix diff --git a/lib/nixos/home-manager/modules/copyq.nix b/home/opdavies/modules/copyq.nix similarity index 100% rename from lib/nixos/home-manager/modules/copyq.nix rename to home/opdavies/modules/copyq.nix diff --git a/lib/nixos/home-manager/modules/desktop/bluetuith.nix b/home/opdavies/modules/desktop/bluetuith.nix similarity index 100% rename from lib/nixos/home-manager/modules/desktop/bluetuith.nix rename to home/opdavies/modules/desktop/bluetuith.nix diff --git a/lib/nixos/home-manager/modules/espanso.nix b/home/opdavies/modules/espanso.nix similarity index 100% rename from lib/nixos/home-manager/modules/espanso.nix rename to home/opdavies/modules/espanso.nix diff --git a/lib/nixos/home-manager/modules/espanso/matches.nix b/home/opdavies/modules/espanso/matches.nix similarity index 100% rename from lib/nixos/home-manager/modules/espanso/matches.nix rename to home/opdavies/modules/espanso/matches.nix diff --git a/lib/nixos/home-manager/modules/flameshot.nix b/home/opdavies/modules/flameshot.nix similarity index 100% rename from lib/nixos/home-manager/modules/flameshot.nix rename to home/opdavies/modules/flameshot.nix diff --git a/lib/nixos/home-manager/modules/gtk.nix b/home/opdavies/modules/gtk.nix similarity index 100% rename from lib/nixos/home-manager/modules/gtk.nix rename to home/opdavies/modules/gtk.nix diff --git a/lib/nixos/home-manager/modules/mpv.nix b/home/opdavies/modules/mpv.nix similarity index 100% rename from lib/nixos/home-manager/modules/mpv.nix rename to home/opdavies/modules/mpv.nix diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 74e47575..aabd5a29 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -34,7 +34,7 @@ inputs.nixpkgs.lib.nixosSystem { }; useGlobalPkgs = true; useUserPackages = true; - users."${username}" = import ./home-manager; + users."${username}" = import "${self}/home/${username}"; }; } From 28aef6504f70563109a6be9b5550507c694f4e3f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 22:53:41 +0100 Subject: [PATCH 0985/2258] Add a `:record` snippet That links to the calendar to book a Beyond Blocks podcast episode recording. --- home/opdavies/modules/espanso/matches.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/opdavies/modules/espanso/matches.nix b/home/opdavies/modules/espanso/matches.nix index 15be5589..a48232ee 100644 --- a/home/opdavies/modules/espanso/matches.nix +++ b/home/opdavies/modules/espanso/matches.nix @@ -57,6 +57,10 @@ in trigger = ":pricing"; replace = "${websiteUrl}/pricing"; } + { + trigger = ":record"; + replace = "https://savvycal.com/opdavies/beyond-blocks"; + } { trigger = ":talks"; replace = "${websiteUrl}/presentations"; From f706299fbf73da6f7834f2025bbd3a66047d4b6b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 23:03:11 +0100 Subject: [PATCH 0986/2258] espanso: configure toggle key From the configuration docs: > If you often need to quickly enable and disable Espanso during regular use, you might want to customize the Toggle Key. When double pressed, the Toggle Key disables Espanso, preventing any expansion. Double-pressing Alt again will re-enable it. > Prior to version 2.1.2, Espanso was configured to use the ALT key as toggle_key by default. That was a major source of confusion, as many users accidentally pressed it during normal use. For this reason, Espanso now ships with the toggle_key disabled by default. https://espanso.org/docs/configuration/options/#customizing-the-toggle-key --- home/opdavies/modules/espanso.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/opdavies/modules/espanso.nix b/home/opdavies/modules/espanso.nix index bc97a633..2b86638f 100644 --- a/home/opdavies/modules/espanso.nix +++ b/home/opdavies/modules/espanso.nix @@ -5,6 +5,7 @@ configs = { default = { show_notifications = false; + toggle_key = "LEFT_ALT"; }; }; From 552d7cda2022461f38253e1aa9e08d67f989b4d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 11 Sep 2024 23:08:32 +0100 Subject: [PATCH 0987/2258] espanso: move base matches to base.nix --- home/opdavies/modules/espanso.nix | 2 +- home/opdavies/modules/espanso/{matches.nix => matches/base.nix} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename home/opdavies/modules/espanso/{matches.nix => matches/base.nix} (100%) diff --git a/home/opdavies/modules/espanso.nix b/home/opdavies/modules/espanso.nix index 2b86638f..59b1e3b9 100644 --- a/home/opdavies/modules/espanso.nix +++ b/home/opdavies/modules/espanso.nix @@ -10,7 +10,7 @@ }; matches = { - base = import ./espanso/matches.nix; + base = import ./espanso/matches/base.nix; }; }; } diff --git a/home/opdavies/modules/espanso/matches.nix b/home/opdavies/modules/espanso/matches/base.nix similarity index 100% rename from home/opdavies/modules/espanso/matches.nix rename to home/opdavies/modules/espanso/matches/base.nix From 5cd3ddceff5a72bee001f234166f8fa0a38319b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Sep 2024 13:49:25 +0100 Subject: [PATCH 0988/2258] Re-add Pocket Casts --- home/opdavies/default.nix | 1 + lib/nixos/configuration.nix | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index b348bb02..2d9598b2 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -57,6 +57,7 @@ in pkgs.pass pkgs.pavucontrol pkgs.pinentry + pkgs.pocket-casts pkgs.via pkgs.xcape pkgs.xsel diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index fd6bd4f3..cb87a084 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -11,7 +11,11 @@ let username = "opdavies"; in { - nixpkgs.config.allowUnfree = true; + nixpkgs.config = { + allowUnfree = true; + + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; # Bootloader. boot = { From 72e2f1f46d2cbb8e5d20c222d0e83f2dbc663f32 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Sep 2024 13:52:51 +0100 Subject: [PATCH 0989/2258] Simplify packages using `with` --- home/opdavies/default.nix | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 2d9598b2..7797fb8b 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -45,24 +45,27 @@ in home.packages = shared-packages - ++ pkgs.lib.optionals desktop [ - pkgs.discord - pkgs.gimp - pkgs.gscan2pdf - pkgs.kdenlive - pkgs.meslo-lg - pkgs.obs-studio - pkgs.okular - pkgs.pamixer - pkgs.pass - pkgs.pavucontrol - pkgs.pinentry - pkgs.pocket-casts - pkgs.via - pkgs.xcape - pkgs.xsel - pkgs.zoom-us - ]; + ++ pkgs.lib.optionals desktop ( + with pkgs; + [ + discord + gimp + gscan2pdf + kdenlive + meslo-lg + obs-studio + okular + pamixer + pass + pavucontrol + pinentry + via + pocket-casts + xcape + xsel + zoom-us + ] + ); home.sessionVariables = { EDITOR = "nvim"; From 15fd2c3d25ffbd403ec65ff942dda7ee24d80c25 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Sep 2024 20:18:11 +0100 Subject: [PATCH 0990/2258] Re-add the brave browser --- home/opdavies/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 7797fb8b..411dd64b 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -48,6 +48,7 @@ in ++ pkgs.lib.optionals desktop ( with pkgs; [ + brave discord gimp gscan2pdf From 098d71416848d2afd794b8568a046d751929bd06 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Sep 2024 20:18:20 +0100 Subject: [PATCH 0991/2258] Use `create-zellij-session` --- lib/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 40236a25..8fa18755 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -56,7 +56,7 @@ zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit - bindkey -s ^f "t\n" + bindkey -s ^f "create-zellij-session\n" bindkey -s ^v "nvim\n" clear-ls-all() { From f5c7b2ae10fa898789aca78d8f80e249417783fd Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Sep 2024 20:19:00 +0100 Subject: [PATCH 0992/2258] Re-add Documents --- lib/shared/scripts/create-zellij-session.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/shared/scripts/create-zellij-session.nix b/lib/shared/scripts/create-zellij-session.nix index 7307c368..6ec5abd9 100644 --- a/lib/shared/scripts/create-zellij-session.nix +++ b/lib/shared/scripts/create-zellij-session.nix @@ -38,13 +38,11 @@ if [[ $# -eq 1 ]]; then selected_path=$1 else - selected_path="$REPOS/" - selected_path+=$(find "$REPOS" -maxdepth 1 -mindepth 1 -type d \ + selected_path=$(find "$REPOS" "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d \ ! -name "*-old" \ ! -name "*.bak" \ ! -name "*.old" \ ! -name "_archive" \ - | sed "s;$REPOS/;;" \ | sort \ | fzf --reverse) fi From bf79200e0d436ce2ad4cb8e8f48eac6dbfa59990 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 15 Sep 2024 23:17:55 +0100 Subject: [PATCH 0993/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index bb7f9778..0320e766 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1725471395, - "narHash": "sha256-BtC2Mr0XnH62wbjZV8zUm/ZUps8Gfbn7InfhK95sblU=", + "lastModified": 1726438282, + "narHash": "sha256-FBq5D8vuGpYQL506ZN7E/96+w/lJoZJ5jSmyMivBhso=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "f8c09a13e4f276d98bd575b716ee52222c883844", + "rev": "e36ab3efd9ca2eeb36e9ce8e7105fab087b5a23f", "type": "github" }, "original": { From 9fe266acc51cdadf3a9ab3545d203820e8fb1d34 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 16 Sep 2024 00:01:52 +0100 Subject: [PATCH 0994/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0320e766..a2bcf20b 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1726438282, - "narHash": "sha256-FBq5D8vuGpYQL506ZN7E/96+w/lJoZJ5jSmyMivBhso=", + "lastModified": 1726441246, + "narHash": "sha256-kmdjxnG1hb3OF0gttfK0MDhXsBaXcuJKKoDwwLpC7iQ=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "e36ab3efd9ca2eeb36e9ce8e7105fab087b5a23f", + "rev": "c1c9d8fa9c6d46a80d68b6568ef3afb696705360", "type": "github" }, "original": { From fec58e770d02c765a18d687e66361ec87233b49e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 09:58:08 +0100 Subject: [PATCH 0995/2258] Add nixos-hardware for system76 --- flake.lock | 17 +++++++++++++++++ flake.nix | 11 ++++++++++- lib/nixos/default.nix | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index a2bcf20b..d6e53305 100644 --- a/flake.lock +++ b/flake.lock @@ -39,6 +39,22 @@ "type": "github" } }, + "nixos-hardware": { + "locked": { + "lastModified": 1726724509, + "narHash": "sha256-sVeAM1tgVi52S1e29fFBTPUAFSzgQwgLon3CrztXGm8=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "10d5e0ecc32984c1bf1a9a46586be3451c42fd94", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1725407940, @@ -141,6 +157,7 @@ "root": { "inputs": { "home-manager": "home-manager", + "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "opdavies-nvim": "opdavies-nvim" diff --git a/flake.nix b/flake.nix index 1ba0dd33..a8fcaf9a 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,8 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager/release-24.05"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -13,7 +15,13 @@ }; outputs = - { nixpkgs, self, ... }@inputs: + { + home-manager, + nixos-hardware, + nixpkgs, + self, + ... + }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -23,6 +31,7 @@ mkNixos = import ./lib/nixos { inherit inputs + nixos-hardware pkgs self username diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index aabd5a29..8874480b 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,5 +1,6 @@ { inputs, + nixos-hardware, pkgs, self, username, @@ -51,5 +52,7 @@ inputs.nixpkgs.lib.nixosSystem { configuration hardwareConfiguration + + nixos-hardware.nixosModules.system76 ]; } From 990af27e35b1319b1c355667c573000f63124aaf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 10:22:52 +0100 Subject: [PATCH 0996/2258] Add more nixos-hardware modules --- lib/nixos/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 8874480b..42770a18 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -53,6 +53,10 @@ inputs.nixpkgs.lib.nixosSystem { configuration hardwareConfiguration + # TODO: only for "lemp11". + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-hdd nixos-hardware.nixosModules.system76 ]; } From da330ef9ee907cbe6aa53a1de1689cc5fc82243f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 10:23:54 +0100 Subject: [PATCH 0997/2258] Add `logseq` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index cb87a084..d7ade674 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -157,6 +157,7 @@ in libnotify pmutils ffmpegthumbnailer + logseq rclone rclone-browser shotwell From c8befe0767c38f348633ad4a89a31bc1051a7fed Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 11:18:22 +0100 Subject: [PATCH 0998/2258] Switch firefox to brave --- config/awesome/rc.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 7dc00b7e..f2f72680 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -372,7 +372,7 @@ globalkeys = gears.table.join( end, { description = "run prompt", group = "launcher" }), awful.key({ modkey, "Shift" }, "b", function() - awful.spawn "firefox" + awful.spawn "brave" end, { description = "run browser", group = "launcher" }), awful.key({ modkey, "Shift" }, "f", function() @@ -623,7 +623,7 @@ awful.rules.rules = { -- { rule = { class = "Firefox" }, -- properties = { screen = 1, tag = "2" } }, - { rule = { class = "firefox" }, properties = { opacity = 1, maximized = false, floating = false } }, + { rule = { class = "brave" }, properties = { opacity = 1, maximized = false, floating = false } }, { rule = { class = "mpv" }, properties = { tag = "5", fullscreen = true } }, { rule = { name = "Podcasts - Pocket Casts" }, properties = { tag = "6" } }, { rule = { class = "kdenlive" }, properties = { tag = "7" } }, From 561a30cde699ccc60a1d3575f02b6c1d24295bd4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 11:35:26 +0100 Subject: [PATCH 0999/2258] Update hostname --- hosts/lemp11/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index b9f9a75a..34e9ac61 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -17,7 +17,7 @@ boot.kernelPackages = pkgs.linuxPackages_latest; - networking.hostName = "nixos"; # Define your hostname. + networking.hostName = "lemp11"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary From 24e2edfb8e288b651198be686d647ed261414786 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 12:17:08 +0100 Subject: [PATCH 1000/2258] Extract font configuration into a mixin --- lib/nixos/configuration.nix | 29 ++--------------------------- modules/mixins/fonts.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 27 deletions(-) create mode 100644 modules/mixins/fonts.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index d7ade674..29a7e50a 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -6,11 +6,11 @@ }: { pkgs, ... }: let - theme = import "${self}/lib/theme" { inherit pkgs; }; - username = "opdavies"; in { + imports = [ ../../modules/mixins/fonts.nix ]; + nixpkgs.config = { allowUnfree = true; @@ -214,31 +214,6 @@ in users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; - fonts = { - fontconfig = { - enable = true; - defaultFonts = { - monospace = [ theme.fonts.monospace.name ]; - }; - }; - - packages = - with pkgs; - [ - (nerdfonts.override { - fonts = [ - "AnonymousPro" - "FiraCode" - "GeistMono" - "IntelOneMono" - "Iosevka" - "JetBrainsMono" - ]; - }) - ] - ++ [ theme.fonts.monospace.package ]; - }; - zramSwap.enable = true; nix = { diff --git a/modules/mixins/fonts.nix b/modules/mixins/fonts.nix new file mode 100644 index 00000000..b4ed19e5 --- /dev/null +++ b/modules/mixins/fonts.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: + +let + theme = import ../../lib/theme { inherit pkgs; }; +in +{ + fonts = { + fontconfig = { + enable = true; + defaultFonts = { + monospace = [ theme.fonts.monospace.name ]; + }; + }; + + packages = + with pkgs; + [ + (nerdfonts.override { + fonts = [ + "AnonymousPro" + "FiraCode" + "GeistMono" + "IntelOneMono" + "Iosevka" + "JetBrainsMono" + ]; + }) + ] + ++ [ theme.fonts.monospace.package ]; + }; +} From cd4e7048c573289c088e82ffb45035f7717ce9a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 12:46:14 +0100 Subject: [PATCH 1001/2258] Extract Docker configuration to a mixin --- lib/nixos/configuration.nix | 14 ++++---------- modules/mixins/docker.nix | 10 ++++++++++ 2 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 modules/mixins/docker.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 29a7e50a..70ed52ac 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -9,7 +9,10 @@ let username = "opdavies"; in { - imports = [ ../../modules/mixins/fonts.nix ]; + imports = [ + ../../modules/mixins/docker.nix + ../../modules/mixins/fonts.nix + ]; nixpkgs.config = { allowUnfree = true; @@ -200,15 +203,6 @@ in # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? - virtualisation.docker = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; - programs.zsh.enable = true; programs.zsh.histSize = 5000; diff --git a/modules/mixins/docker.nix b/modules/mixins/docker.nix new file mode 100644 index 00000000..1a9a4b9d --- /dev/null +++ b/modules/mixins/docker.nix @@ -0,0 +1,10 @@ +{ + virtualisation.docker = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; +} From 4ba72da371aa0345eb4e0fbd70330e91eda5a0b0 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 13:14:56 +0100 Subject: [PATCH 1002/2258] Add common-gpu-intel from nixos-hardware --- lib/nixos/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 42770a18..1446396b 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -55,6 +55,7 @@ inputs.nixpkgs.lib.nixosSystem { # TODO: only for "lemp11". nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.common-pc-laptop nixos-hardware.nixosModules.common-pc-laptop-hdd nixos-hardware.nixosModules.system76 From f71696ed2275faecd7259120332e02af7f6069ee Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 21 Sep 2024 13:34:28 +0100 Subject: [PATCH 1003/2258] Update flake.lock --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d6e53305..65f8ce37 100644 --- a/flake.lock +++ b/flake.lock @@ -25,11 +25,11 @@ ] }, "locked": { - "lastModified": 1725703823, - "narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=", + "lastModified": 1726818100, + "narHash": "sha256-z2V74f5vXqkN5Q+goFlhbFXY/dNaBAyeLpr2bxu4Eic=", "owner": "nix-community", "repo": "home-manager", - "rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba", + "rev": "1bbc1a5a1f4de7401c92db85b2119ed21bb4139d", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1726724509, - "narHash": "sha256-sVeAM1tgVi52S1e29fFBTPUAFSzgQwgLon3CrztXGm8=", + "lastModified": 1726905744, + "narHash": "sha256-xyNtG5C+xvfsnOVEamFe9zCCnuNwk93K/TlFC/4DmCI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "10d5e0ecc32984c1bf1a9a46586be3451c42fd94", + "rev": "b493dfd4a8cf9552932179e56ff3b5819a9b8381", "type": "github" }, "original": { @@ -57,11 +57,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725407940, - "narHash": "sha256-tiN5Rlg/jiY0tyky+soJZoRzLKbPyIdlQ77xVgREDNM=", + "lastModified": 1726838390, + "narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3", + "rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101", "type": "github" }, "original": { @@ -101,11 +101,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", "type": "github" }, "original": { From e17aa080baf013e2ffd0c0f863c4e24dd70fc52f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 02:32:07 +0100 Subject: [PATCH 1004/2258] Nicely reload system units when changing configs --- lib/shared/home-manager.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index f0032a5d..3a56f5f2 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -11,6 +11,9 @@ in home.username = "${username}"; home.homeDirectory = "/home/${username}"; + # Nicely reload system units when changing configs. + systemd.user.startServices = "sd-switch"; + home.stateVersion = "22.05"; programs.home-manager.enable = true; From 8b0d618672d536a13180f5860c8918121a9fdc4f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 08:49:12 +0100 Subject: [PATCH 1005/2258] Move NixOS modules --- lib/nixos/configuration.nix | 5 +---- modules/nixos/default.nix | 1 + modules/nixos/desktop/default.nix | 6 ++++++ modules/{mixins => nixos/desktop}/fonts.nix | 2 +- modules/{mixins => nixos}/docker.nix | 0 5 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 modules/nixos/default.nix create mode 100644 modules/nixos/desktop/default.nix rename modules/{mixins => nixos/desktop}/fonts.nix (89%) rename modules/{mixins => nixos}/docker.nix (100%) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 70ed52ac..14c2e267 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -9,10 +9,7 @@ let username = "opdavies"; in { - imports = [ - ../../modules/mixins/docker.nix - ../../modules/mixins/fonts.nix - ]; + imports = [ ../../modules/nixos/desktop ]; nixpkgs.config = { allowUnfree = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix new file mode 100644 index 00000000..b982d108 --- /dev/null +++ b/modules/nixos/default.nix @@ -0,0 +1 @@ +{ imports = [ ./docker.nix ]; } diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix new file mode 100644 index 00000000..771466da --- /dev/null +++ b/modules/nixos/desktop/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../. + ./fonts.nix + ]; +} diff --git a/modules/mixins/fonts.nix b/modules/nixos/desktop/fonts.nix similarity index 89% rename from modules/mixins/fonts.nix rename to modules/nixos/desktop/fonts.nix index b4ed19e5..e5238467 100644 --- a/modules/mixins/fonts.nix +++ b/modules/nixos/desktop/fonts.nix @@ -1,7 +1,7 @@ { pkgs, ... }: let - theme = import ../../lib/theme { inherit pkgs; }; + theme = import ../../../lib/theme { inherit pkgs; }; in { fonts = { diff --git a/modules/mixins/docker.nix b/modules/nixos/docker.nix similarity index 100% rename from modules/mixins/docker.nix rename to modules/nixos/docker.nix From 56e39ef6be3e837681235fb334c7d02b3ca7424c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 09:02:03 +0100 Subject: [PATCH 1006/2258] Remove the apollo host This laptop is currently dead and I'm only working on my Lemur Pro laptop (lemp11), so I'm removing this host for now. --- flake.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/flake.nix b/flake.nix index a8fcaf9a..13a3fe8f 100644 --- a/flake.nix +++ b/flake.nix @@ -47,11 +47,6 @@ formatter.${system} = pkgs.nixfmt-rfc-style; nixosConfigurations = { - apollo = mkNixos { - desktop = true; - hostname = "apollo"; - }; - lemp11 = mkNixos { desktop = true; hostname = "lemp11"; From 73a893143ea0c5078b4ffecf30a8227a27fc3212 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 10:46:41 +0100 Subject: [PATCH 1007/2258] Update tfw directory --- lib/shared/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 2a72b592..c2397ab8 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -29,7 +29,7 @@ includes = [ { - condition = "gitdir:~/Code/bitbucket.org/transportforwales/"; + condition = "gitdir:~/Code/tfw"; contents.user.email = "oliver.davies@tfw.wales"; } ]; From 226517356474e91640759997ed562d13df6fb7ec Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 10:47:00 +0100 Subject: [PATCH 1008/2258] Include the tfw sub-directories --- lib/shared/scripts/create-zellij-session.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/scripts/create-zellij-session.nix b/lib/shared/scripts/create-zellij-session.nix index 6ec5abd9..b8a5e9bf 100644 --- a/lib/shared/scripts/create-zellij-session.nix +++ b/lib/shared/scripts/create-zellij-session.nix @@ -38,7 +38,7 @@ if [[ $# -eq 1 ]]; then selected_path=$1 else - selected_path=$(find "$REPOS" "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d \ + selected_path=$(find "$REPOS" "$REPOS/tfw" "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d \ ! -name "*-old" \ ! -name "*.bak" \ ! -name "*.old" \ From aa9b66f09161f338b1c934a7f9d73f1b66e742bc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 11:53:08 +0100 Subject: [PATCH 1009/2258] Add the Terminus font --- modules/nixos/desktop/fonts.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix index e5238467..4b99f19d 100644 --- a/modules/nixos/desktop/fonts.nix +++ b/modules/nixos/desktop/fonts.nix @@ -4,6 +4,11 @@ let theme = import ../../../lib/theme { inherit pkgs; }; in { + environment.systemPackages = with pkgs; [ + terminus_font + terminus_font_ttf + ]; + fonts = { fontconfig = { enable = true; From 1e83c4bf8b16bc60544445cbef6f11160e87de52 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 11:57:53 +0100 Subject: [PATCH 1010/2258] Make Terminus the default font --- home/opdavies/modules/alacritty.nix | 4 +++- lib/theme/default.nix | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/home/opdavies/modules/alacritty.nix b/home/opdavies/modules/alacritty.nix index a6e79973..f2366cd1 100644 --- a/home/opdavies/modules/alacritty.nix +++ b/home/opdavies/modules/alacritty.nix @@ -21,9 +21,11 @@ in { font = { size = toInt "${theme.fonts.monospace.size}"; - bold.style = "Regular"; normal.family = "${theme.fonts.monospace.name}"; + italic.style = "Bold"; + normal.style = "Bold"; + offset.y = 12; glyph_offset.y = 6; }; diff --git a/lib/theme/default.nix b/lib/theme/default.nix index e8c934fc..23e4398e 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -2,7 +2,7 @@ { fonts = { monospace = { - name = "MesloLGSDZ Nerd Font Mono"; + name = "Terminus"; # fc-list : family | sort | grep "Nerd Font" package = pkgs.nerdfonts.override { fonts = [ "Meslo" ]; }; From 9cdb4461a465374d9d2d9062d91c37816f7f3086 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 23 Sep 2024 13:17:10 +0100 Subject: [PATCH 1011/2258] Format --- home/opdavies/modules/alacritty.nix | 14 +++++++-- hosts/lemp11/configuration.nix | 19 ++++++----- hosts/lemp11/hardware-configuration.nix | 42 +++++++++++++++---------- run | 4 +++ 4 files changed, 52 insertions(+), 27 deletions(-) diff --git a/home/opdavies/modules/alacritty.nix b/home/opdavies/modules/alacritty.nix index f2366cd1..7f090f00 100644 --- a/home/opdavies/modules/alacritty.nix +++ b/home/opdavies/modules/alacritty.nix @@ -1,10 +1,16 @@ -{ lib, pkgs, self, ... }: +{ + lib, + pkgs, + self, + ... +}: let inherit (lib) strings; inherit (strings) toInt; theme = import "${self}/lib/theme" { inherit pkgs; }; -in { +in +{ programs.alacritty = { enable = true; @@ -30,7 +36,9 @@ in { glyph_offset.y = 6; }; - shell = { program = "zsh"; }; + shell = { + program = "zsh"; + }; }; }; } diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 34e9ac61..40a42235 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -5,10 +5,10 @@ { config, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; # Bootloader. boot.loader.systemd-boot.enable = true; @@ -88,11 +88,14 @@ users.users.opdavies = { isNormalUser = true; description = "Oliver Davies"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ + "networkmanager" + "wheel" + ]; packages = with pkgs; [ firefox kate - # thunderbird + # thunderbird ]; }; @@ -102,8 +105,8 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/hosts/lemp11/hardware-configuration.nix b/hosts/lemp11/hardware-configuration.nix index c5346599..a01d787d 100644 --- a/hosts/lemp11/hardware-configuration.nix +++ b/hosts/lemp11/hardware-configuration.nix @@ -1,31 +1,41 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "usbhid" + "sd_mod" + "sdhci_pci" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/e577c869-18a1-4830-9e00-124fcabdab89"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/e577c869-18a1-4830-9e00-124fcabdab89"; + fsType = "ext4"; + }; - fileSystems."/boot/efi" = - { device = "/dev/disk/by-uuid/48FE-D346"; - fsType = "vfat"; - }; + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/48FE-D346"; + fsType = "vfat"; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/2dce327b-f18d-4727-a9a2-e79d2b5161f9"; } - ]; + swapDevices = [ { device = "/dev/disk/by-uuid/2dce327b-f18d-4727-a9a2-e79d2b5161f9"; } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/run b/run index 49403227..733363a8 100755 --- a/run +++ b/run @@ -8,6 +8,10 @@ function check { nix flake check } +function format { + nix fmt flake.nix home hosts lib modules +} + function help { printf "%s [args]\n\nTasks:\n" "$0" From 598989f2adba121f768ba177e4e157980ae9c65d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 25 Sep 2024 10:07:26 +0100 Subject: [PATCH 1012/2258] Revert "Make Terminus the default font" This reverts commit 1e83c4bf8b16bc60544445cbef6f11160e87de52. --- home/opdavies/modules/alacritty.nix | 4 +--- lib/theme/default.nix | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/home/opdavies/modules/alacritty.nix b/home/opdavies/modules/alacritty.nix index 7f090f00..f4c284fe 100644 --- a/home/opdavies/modules/alacritty.nix +++ b/home/opdavies/modules/alacritty.nix @@ -27,11 +27,9 @@ in font = { size = toInt "${theme.fonts.monospace.size}"; + bold.style = "Regular"; normal.family = "${theme.fonts.monospace.name}"; - italic.style = "Bold"; - normal.style = "Bold"; - offset.y = 12; glyph_offset.y = 6; }; diff --git a/lib/theme/default.nix b/lib/theme/default.nix index 23e4398e..e8c934fc 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -2,7 +2,7 @@ { fonts = { monospace = { - name = "Terminus"; + name = "MesloLGSDZ Nerd Font Mono"; # fc-list : family | sort | grep "Nerd Font" package = pkgs.nerdfonts.override { fonts = [ "Meslo" ]; }; From 9fbe7c1fec5da4c645e0a2b90286dfef84237190 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 25 Sep 2024 21:33:55 +0100 Subject: [PATCH 1013/2258] Revert "Remove tmux" This reverts commit a7556575ac2e876f8090b6f4b175e92fc463af63. --- lib/shared/home-manager-packages.nix | 1 + lib/shared/home-manager.nix | 1 + lib/shared/modules/tmux.nix | 82 ++++++++++++++++++++++ lib/shared/modules/zsh/abbreviations.zsh | 5 ++ lib/shared/scripts/t.nix | 86 ++++++++++++++++++++++++ 5 files changed, 175 insertions(+) create mode 100644 lib/shared/modules/tmux.nix create mode 100644 lib/shared/scripts/t.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 307eeefd..daa54dc8 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -20,6 +20,7 @@ let ); notetaker = writeShellApplication (import ./scripts/notetaker.nix); run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); + t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); timer = writeShellApplication (import ./scripts/timer.nix); in with pkgs; diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 3a56f5f2..41723693 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -30,6 +30,7 @@ in ./modules/phpactor.nix ./modules/ripgrep.nix ./modules/syncthing.nix + ./modules/tmux.nix ./modules/zellij.nix ./modules/zsh.nix ]; diff --git a/lib/shared/modules/tmux.nix b/lib/shared/modules/tmux.nix new file mode 100644 index 00000000..bbfc1c26 --- /dev/null +++ b/lib/shared/modules/tmux.nix @@ -0,0 +1,82 @@ +{ pkgs, ... }: +let + inherit (pkgs) tmuxPlugins; +in +{ + programs.tmux = { + enable = true; + + terminal = "tmux-256color"; + + extraConfig = '' + set-option -g status-keys "vi" + set-option -sa terminal-features "''${TERM}:RGB" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + # Status line customisation + set-option -g status-left "" + set-option -g status-right " #{session_name}" + set-option -g status-right-length 100 + set-option -g status-style "fg=#7C7D83 bg=default" + set-option -g window-status-activity-style none + set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " + set-option -g window-status-current-style "fg=#E9E9EA" + set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g pane-base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" + + bind-key C-j choose-tree + + # Use vim keybindings in copy mode + setw -g mode-keys vi + + # Setup 'v' to begin selection as in Vim + bind-key -T copy-mode-vi 'v' send -X begin-selection + bind-key -T copy-mode-vi 'y' send -X copy-pipe wl-copy + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + + set-option -g pane-active-border-style "fg=#1f2335" + set-option -g pane-border-style "fg=#1f2335" + + bind-key -r f run-shell "tmux new-window t" + + set -g @resurrect-strategy-nvim 'session' + ''; + + plugins = [ + tmuxPlugins.resurrect + tmuxPlugins.vim-tmux-navigator + tmuxPlugins.yank + ]; + }; +} diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 5b0eddeb..82f26678 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -32,6 +32,11 @@ abbr gs="git status" abbr gsh="git show" abbr gst="git status" +# tmux +abbr ta="tmux attach" +abbr tl="tmux list-sessions" +abbr tk="tmux kill-session" + # zellij abbr czs="create-zellij-session" abbr z="zellij" diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix new file mode 100644 index 00000000..d9f91e3b --- /dev/null +++ b/lib/shared/scripts/t.nix @@ -0,0 +1,86 @@ +{ pkgs }: + +{ + name = "t"; + + runtimeInputs = with pkgs; [ + openssl + tmux + ]; + + text = '' + # Credit to ThePrimeagen and Jess Archer. + + function execute_tmux_file { + local tmux_file="$1" + selected_path="$2" + session_name="$3" + + DIGEST="$(openssl sha512 "$tmux_file")" + + # Prompt the first time we see a given .tmux file before running it. + if ! grep -q "$DIGEST" ~/..tmux.digests 2> /dev/null; then + cat "$tmux_file" + + read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " + + if [[ $REPLY =~ ^[Tt]$ ]]; then + echo "$DIGEST" >> ~/..tmux.digests + + create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" + fi + else + create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" + fi + } + + function create_session_and_run_tmux_file { + tmux_file="$1" + selected_path="$2" + session_name="$3" + + tmux new-session -d -c "$selected_path" -s "$session_name" + (cd "$selected_path" && "$tmux_file" "$session_name") + } + + function main { + if [[ $# -eq 1 ]]; then + selected_path=$1 + else + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find "$REPOS" ~/Documents \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "_archive" \ + ! -name "*-old" \ + ! -name "*.old" + ) + + selected_path=$(echo "''${items}" | sort | fzf --reverse) + fi + + session_name=$(basename "$selected_path" | sed 's/\./_/g') + + # Attach to an existing session, if one exists. + if tmux has-session -t "$session_name" 2> /dev/null; then + tmux attach -t "$session_name" || tmux switch-client -t "$session_name" + exit + fi + + if [[ -x "$selected_path/.tmux" ]]; then + execute_tmux_file "$selected_path/.tmux" "$selected_path" "$session_name" + elif [[ -x "$selected_path/.ignored/.tmux" ]]; then + execute_tmux_file "$selected_path/.ignored/.tmux" "$selected_path" "$session_name" + fi + + # If there is no session, create one. + if ! tmux has-session -t "$session_name" 2> /dev/null; then + tmux new-session -d -c "$selected_path" -s "$session_name" + fi + + tmux switch-client -t "$session_name" 2>/dev/null || tmux attach-session -t "$session_name" + } + + main "$@" + ''; +} From 0581b50118e6cc6da757fc44f2abe041b1179e6d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 1 Oct 2024 09:22:10 +0100 Subject: [PATCH 1014/2258] Update flake dependencies --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 65f8ce37..d92393bb 100644 --- a/flake.lock +++ b/flake.lock @@ -25,11 +25,11 @@ ] }, "locked": { - "lastModified": 1726818100, - "narHash": "sha256-z2V74f5vXqkN5Q+goFlhbFXY/dNaBAyeLpr2bxu4Eic=", + "lastModified": 1726989464, + "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", "owner": "nix-community", "repo": "home-manager", - "rev": "1bbc1a5a1f4de7401c92db85b2119ed21bb4139d", + "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1726905744, - "narHash": "sha256-xyNtG5C+xvfsnOVEamFe9zCCnuNwk93K/TlFC/4DmCI=", + "lastModified": 1727665282, + "narHash": "sha256-oKtfbQB1MBypqIyzkC8QCQcVGOa1soaXaGgcBIoh14o=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b493dfd4a8cf9552932179e56ff3b5819a9b8381", + "rev": "11c43c830e533dad1be527ecce379fcf994fbbb5", "type": "github" }, "original": { @@ -57,11 +57,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726838390, - "narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=", + "lastModified": 1727540905, + "narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101", + "rev": "fbca5e745367ae7632731639de5c21f29c8744ed", "type": "github" }, "original": { @@ -101,11 +101,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1726755586, - "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "lastModified": 1727634051, + "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", "type": "github" }, "original": { From 1669fb84b351a37f3bc7314558731fd4887e4eaf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 1 Oct 2024 12:46:46 +0100 Subject: [PATCH 1015/2258] Add `taskwarrior3` and `taskwarrior-tui` --- lib/nixos/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 14c2e267..993f4014 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -144,6 +144,8 @@ in fastfetch mermaid-cli mkcert + taskwarrior3 + taskwarrior-tui ttyper yt-dlp ] From 7b8bb509c8ec7a7cb98771ede3c3a335285aa566 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 1 Oct 2024 21:46:05 +0100 Subject: [PATCH 1016/2258] Add `taskopen` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 993f4014..cb8b7679 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -144,6 +144,7 @@ in fastfetch mermaid-cli mkcert + taskopen taskwarrior3 taskwarrior-tui ttyper From 6335757a9c28bf342cedc271bdfa5f539c376b40 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 2 Oct 2024 21:00:52 +0100 Subject: [PATCH 1017/2258] Update autorandr configuration --- lib/nixos/modules/autorandr.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nixos/modules/autorandr.nix b/lib/nixos/modules/autorandr.nix index ad4dace9..b5385e7e 100644 --- a/lib/nixos/modules/autorandr.nix +++ b/lib/nixos/modules/autorandr.nix @@ -4,7 +4,7 @@ profiles = let - fingerprint = "00ffffffffffff000daef21400000000161c0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843472d4751320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4751320a2000bb"; + fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; name = "eDP-1"; in { @@ -27,7 +27,7 @@ "HDMI-1" = { enable = true; - mode = "2560x1440"; + mode = "3840x2160"; primary = true; rate = "59.95"; }; From 77ae8eb467a9ec78476c633f1aa7d2d4bd79069c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 2 Oct 2024 22:24:50 +0100 Subject: [PATCH 1018/2258] Add `libreoffice` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index cb8b7679..c971b95b 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -160,6 +160,7 @@ in libnotify pmutils ffmpegthumbnailer + libreoffice logseq rclone rclone-browser From 8b3ecc1e2bd7db2e44fd1e06bb5de233f8284332 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 3 Oct 2024 08:00:00 +0100 Subject: [PATCH 1019/2258] Update opdavies-nvim --- flake.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index d92393bb..9eebd6a2 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1725234343, - "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { @@ -89,14 +89,14 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1725233747, - "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", + "lastModified": 1727825735, + "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" } }, "nixpkgs-unstable": { @@ -117,11 +117,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1725103162, - "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "lastModified": 1727802920, + "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515", "type": "github" }, "original": { @@ -141,11 +141,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1726441246, - "narHash": "sha256-kmdjxnG1hb3OF0gttfK0MDhXsBaXcuJKKoDwwLpC7iQ=", + "lastModified": 1727951668, + "narHash": "sha256-1scrdmQINdq/pgoEHbxC6AdEqPfSZkKfmhB+g18fPkU=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "c1c9d8fa9c6d46a80d68b6568ef3afb696705360", + "rev": "98790190ad19c8dbfed35bb656b55eea47aec973", "type": "github" }, "original": { From 1d064be58a543b1b430666921c20c3e70ea535a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 6 Oct 2024 09:48:03 +0100 Subject: [PATCH 1020/2258] Update opdavies-nvim --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9eebd6a2..b7f8520a 100644 --- a/flake.lock +++ b/flake.lock @@ -141,11 +141,11 @@ "nixpkgs-unstable": "nixpkgs-unstable_2" }, "locked": { - "lastModified": 1727951668, - "narHash": "sha256-1scrdmQINdq/pgoEHbxC6AdEqPfSZkKfmhB+g18fPkU=", + "lastModified": 1728128218, + "narHash": "sha256-FD+TxbOgH0CBX+7hWJrKvW75KUSIQVsERQMBQGKwNeA=", "owner": "opdavies", "repo": "opdavies.nvim", - "rev": "98790190ad19c8dbfed35bb656b55eea47aec973", + "rev": "ddb9c3199aac6733aa5eadcede729dc28c335911", "type": "github" }, "original": { From 3b0aa0aa341f40c7c81b28a049edbd33405fe352 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 6 Oct 2024 09:55:15 +0100 Subject: [PATCH 1021/2258] Update abbreviations --- lib/shared/modules/zsh/abbreviations.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 82f26678..5c5304d8 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -18,6 +18,7 @@ abbr gan="git add -N" abbr gap="git add -p" abbr gc="git commit" abbr gca="git commit --amend" +abbr gcan="git commit --amend --no-edit" abbr gcm="git commit -m" abbr gd="git diff" abbr gf="git fetch" @@ -26,6 +27,7 @@ abbr gl="git log" abbr glo="git log --oneline" abbr gls="git log --stat" abbr gpl="git pull" +abbr gplr="git pull --rebase" abbr gps="git push" abbr gri="git rebase -i" abbr gs="git status" @@ -116,3 +118,10 @@ abbr -g H="| head" abbr -g L="| less" abbr -g V="| nvim -" abbr -g X="| xargs -I1" + +abbr today="task +TODAY" +abbr tomorrow="task +TOMORROW" +abbr overdue="task +OVERDUE" + +abbr nah="git reset --hard; git clean -fd" +abbr wip="git commit -m wip" From bc366d2e485675f1c22cc805a53b617b3999fcca Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Oct 2024 09:44:17 +0100 Subject: [PATCH 1022/2258] Change monitor resolution --- lib/nixos/modules/autorandr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nixos/modules/autorandr.nix b/lib/nixos/modules/autorandr.nix index b5385e7e..9fe3bd06 100644 --- a/lib/nixos/modules/autorandr.nix +++ b/lib/nixos/modules/autorandr.nix @@ -27,7 +27,7 @@ "HDMI-1" = { enable = true; - mode = "3840x2160"; + mode = "2560x1440"; primary = true; rate = "59.95"; }; From a0d46348373005ff45166f8eabe7798c693b9e4f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 7 Oct 2024 22:53:55 +0100 Subject: [PATCH 1023/2258] Update flake dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b7f8520a..cade14b7 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1727665282, - "narHash": "sha256-oKtfbQB1MBypqIyzkC8QCQcVGOa1soaXaGgcBIoh14o=", + "lastModified": 1728269138, + "narHash": "sha256-oKxDImsOvgUZMY4NwXVyUc/c1HiU2qInX+b5BU0yXls=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "11c43c830e533dad1be527ecce379fcf994fbbb5", + "rev": "ecfcd787f373f43307d764762e139a7cdeb9c22b", "type": "github" }, "original": { @@ -57,11 +57,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727540905, - "narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=", + "lastModified": 1728193676, + "narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fbca5e745367ae7632731639de5c21f29c8744ed", + "rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6", "type": "github" }, "original": { @@ -101,11 +101,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1727634051, - "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", + "lastModified": 1728018373, + "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", + "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", "type": "github" }, "original": { From 0d1065e73cbb8ac143c77e9ec532a56b8f6eaaf5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 9 Oct 2024 17:46:04 +0100 Subject: [PATCH 1024/2258] Use `t` again --- lib/shared/modules/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh.nix b/lib/shared/modules/zsh.nix index 8fa18755..40236a25 100644 --- a/lib/shared/modules/zsh.nix +++ b/lib/shared/modules/zsh.nix @@ -56,7 +56,7 @@ zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit - bindkey -s ^f "create-zellij-session\n" + bindkey -s ^f "t\n" bindkey -s ^v "nvim\n" clear-ls-all() { From 634bf71c6efaa56923898eed3d126bc5f4af6380 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 9 Oct 2024 17:46:37 +0100 Subject: [PATCH 1025/2258] Add `rci` abbreviation --- lib/shared/modules/zsh/abbreviations.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 5c5304d8..2146273a 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -94,6 +94,7 @@ abbr nxs="nix shell nixpkgs#%" abbr r="run" abbr rc="run composer" abbr rcda="run composer dump-autoload" +abbr rci="run composer install" abbr rcr="run composer require" abbr rcu="run composer update" abbr rd="run drush" From 8244e157fdf05e867f9efe209063deca6feffff2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 9 Oct 2024 18:32:36 +0100 Subject: [PATCH 1026/2258] Re-add Neovim configuration files Re-included from https://github.com/opdavies/opdavies.nvim. --- config/neovim/after/ftplugin/gitcommit.lua | 8 + config/neovim/after/ftplugin/markdown.lua | 4 + config/neovim/after/ftplugin/rst.lua | 13 + config/neovim/after/ftplugin/term.vim | 4 + config/neovim/autoload/opdavies.vim | 12 + config/neovim/lua/opdavies/globals.lua | 13 + config/neovim/lua/opdavies/init.lua | 6 + config/neovim/lua/opdavies/keymaps.lua | 109 ++++++ config/neovim/lua/opdavies/lsp/handlers.lua | 71 ++++ config/neovim/lua/opdavies/lsp/init.lua | 126 +++++++ config/neovim/lua/opdavies/options.lua | 52 +++ .../neovim/lua/opdavies/snippets/ft/bash.lua | 31 ++ .../lua/opdavies/snippets/ft/javascript.lua | 10 + .../neovim/lua/opdavies/snippets/ft/lua.lua | 27 ++ .../lua/opdavies/snippets/ft/markdown.lua | 20 ++ .../neovim/lua/opdavies/snippets/ft/nix.lua | 23 ++ .../neovim/lua/opdavies/snippets/ft/php.lua | 115 +++++++ .../neovim/lua/opdavies/snippets/ft/rst.lua | 49 +++ .../neovim/lua/opdavies/snippets/ft/scss.lua | 10 + .../neovim/lua/opdavies/snippets/ft/yaml.lua | 39 +++ config/neovim/plugin/colorscheme.lua | 25 ++ config/neovim/plugin/comment.lua | 19 ++ config/neovim/plugin/completion.lua | 155 +++++++++ config/neovim/plugin/conform.lua | 45 +++ config/neovim/plugin/dap.lua | 69 ++++ config/neovim/plugin/dial.lua | 45 +++ config/neovim/plugin/edit_alternate.lua | 40 +++ config/neovim/plugin/fidget.lua | 7 + config/neovim/plugin/filetype.lua | 9 + config/neovim/plugin/fugitive.lua | 25 ++ config/neovim/plugin/gitsigns.lua | 30 ++ config/neovim/plugin/harpoon.lua | 13 + config/neovim/plugin/lint.lua | 19 ++ config/neovim/plugin/mini.lua | 23 ++ config/neovim/plugin/netrw.lua | 6 + config/neovim/plugin/oil.lua | 16 + config/neovim/plugin/refactoring.lua | 12 + config/neovim/plugin/sort.lua | 10 + config/neovim/plugin/spectre.lua | 1 + config/neovim/plugin/telescope.lua | 67 ++++ config/neovim/plugin/treesitter.lua | 136 ++++++++ config/neovim/plugin/treesj.lua | 8 + config/neovim/plugin/undotree.lua | 1 + config/neovim/plugin/vim-test.lua | 23 ++ flake.lock | 88 +---- flake.nix | 14 +- lib/shared/home-manager.nix | 2 +- lib/shared/modules/neovim.nix | 311 +++++++++++++++++- 48 files changed, 1864 insertions(+), 97 deletions(-) create mode 100644 config/neovim/after/ftplugin/gitcommit.lua create mode 100644 config/neovim/after/ftplugin/markdown.lua create mode 100644 config/neovim/after/ftplugin/rst.lua create mode 100644 config/neovim/after/ftplugin/term.vim create mode 100644 config/neovim/autoload/opdavies.vim create mode 100644 config/neovim/lua/opdavies/globals.lua create mode 100644 config/neovim/lua/opdavies/init.lua create mode 100644 config/neovim/lua/opdavies/keymaps.lua create mode 100644 config/neovim/lua/opdavies/lsp/handlers.lua create mode 100644 config/neovim/lua/opdavies/lsp/init.lua create mode 100644 config/neovim/lua/opdavies/options.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/bash.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/javascript.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/lua.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/markdown.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/nix.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/php.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/rst.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/scss.lua create mode 100644 config/neovim/lua/opdavies/snippets/ft/yaml.lua create mode 100644 config/neovim/plugin/colorscheme.lua create mode 100644 config/neovim/plugin/comment.lua create mode 100644 config/neovim/plugin/completion.lua create mode 100644 config/neovim/plugin/conform.lua create mode 100644 config/neovim/plugin/dap.lua create mode 100644 config/neovim/plugin/dial.lua create mode 100644 config/neovim/plugin/edit_alternate.lua create mode 100644 config/neovim/plugin/fidget.lua create mode 100644 config/neovim/plugin/filetype.lua create mode 100644 config/neovim/plugin/fugitive.lua create mode 100644 config/neovim/plugin/gitsigns.lua create mode 100644 config/neovim/plugin/harpoon.lua create mode 100644 config/neovim/plugin/lint.lua create mode 100644 config/neovim/plugin/mini.lua create mode 100644 config/neovim/plugin/netrw.lua create mode 100644 config/neovim/plugin/oil.lua create mode 100644 config/neovim/plugin/refactoring.lua create mode 100644 config/neovim/plugin/sort.lua create mode 100644 config/neovim/plugin/spectre.lua create mode 100644 config/neovim/plugin/telescope.lua create mode 100644 config/neovim/plugin/treesitter.lua create mode 100644 config/neovim/plugin/treesj.lua create mode 100644 config/neovim/plugin/undotree.lua create mode 100644 config/neovim/plugin/vim-test.lua diff --git a/config/neovim/after/ftplugin/gitcommit.lua b/config/neovim/after/ftplugin/gitcommit.lua new file mode 100644 index 00000000..f1aaed51 --- /dev/null +++ b/config/neovim/after/ftplugin/gitcommit.lua @@ -0,0 +1,8 @@ +vim.opt_local.colorcolumn = "50,72" +vim.opt_local.spell = true +vim.opt_local.textwidth = 72 + +-- autocmd FileType gitcommit highlight ColorColumn ctermbg=8 +-- filetype indent on +-- filetype on +-- filetype plugin on diff --git a/config/neovim/after/ftplugin/markdown.lua b/config/neovim/after/ftplugin/markdown.lua new file mode 100644 index 00000000..5d96d74f --- /dev/null +++ b/config/neovim/after/ftplugin/markdown.lua @@ -0,0 +1,4 @@ +-- TODO: Interim fix for https://github.com/nvim-treesitter/nvim-treesitter-context/issues/431. +require("treesitter-context").disable() + +vim.opt_local.wrap = true; diff --git a/config/neovim/after/ftplugin/rst.lua b/config/neovim/after/ftplugin/rst.lua new file mode 100644 index 00000000..7aa8eee1 --- /dev/null +++ b/config/neovim/after/ftplugin/rst.lua @@ -0,0 +1,13 @@ +local opt = vim.opt_local + +opt.spell = true +opt.wrap = true + +local cmp = require "cmp" +local sources = cmp.get_config().sources + +-- TODO: confirm these aren't aleady in the list of sources to avoid duplicate suggestions. +table.insert(sources, { name = "buffer" }) +table.insert(sources, { name = "path" }) + +cmp.setup.buffer { sources = sources } diff --git a/config/neovim/after/ftplugin/term.vim b/config/neovim/after/ftplugin/term.vim new file mode 100644 index 00000000..16bbc95e --- /dev/null +++ b/config/neovim/after/ftplugin/term.vim @@ -0,0 +1,4 @@ +setlocal norelativenumber +setlocal nonumber + +setlocal scrolloff=0 diff --git a/config/neovim/autoload/opdavies.vim b/config/neovim/autoload/opdavies.vim new file mode 100644 index 00000000..449666bf --- /dev/null +++ b/config/neovim/autoload/opdavies.vim @@ -0,0 +1,12 @@ +if !exists('*opdavies#save_and_exec') + function! opdavies#save_and_exec() abort + if &filetype == 'vim' + :silent! write + :source % + elseif &filetype == 'lua' + :silent! write + :luafile % + endif + return + endfunction +endif diff --git a/config/neovim/lua/opdavies/globals.lua b/config/neovim/lua/opdavies/globals.lua new file mode 100644 index 00000000..d6fd70c6 --- /dev/null +++ b/config/neovim/lua/opdavies/globals.lua @@ -0,0 +1,13 @@ +P = function(v) + print(vim.inspect(v)) + return v +end + +RELOAD = function(...) + return require("plenary.reload").reload_module(...) +end + +R = function(name) + RELOAD(name) + return require(name) +end diff --git a/config/neovim/lua/opdavies/init.lua b/config/neovim/lua/opdavies/init.lua new file mode 100644 index 00000000..7e5bc84d --- /dev/null +++ b/config/neovim/lua/opdavies/init.lua @@ -0,0 +1,6 @@ +pcall("require", impatient) + +require "opdavies.globals" +require "opdavies.keymaps" +require "opdavies.options" +require "opdavies.lsp" diff --git a/config/neovim/lua/opdavies/keymaps.lua b/config/neovim/lua/opdavies/keymaps.lua new file mode 100644 index 00000000..1693bc6d --- /dev/null +++ b/config/neovim/lua/opdavies/keymaps.lua @@ -0,0 +1,109 @@ +local set = vim.keymap.set + +set("n", "so", ":call opdavies#save_and_exec()") + +-- Format paragraphs to an 80 character line length. +set("n", "g", "gqap") +set("x", "g", "gqa") + +-- Make the current file executable +set("n", "x", ":!chmod +x %") + +-- Yank from the current column to the end of the line +set("n", "Y", "yg$") + +-- Keep things centred +set("n", "n", "nzzzv") +set("n", "N", "Nzzzv") + +-- Disable up and down arrow keys. +set("v", "", "") +set("v", "", "") + +-- Use the left and right arrow keys to change tabs. +set("v", "", "gT") +set("v", "", "gt") + +-- Easily switch back to visual mode. +set("i", "jk", "") + +-- Easy insertion of a trailing ; or , from insert mode +set("i", ",,", "A,") +set("i", ";;", "A;") + +set("n", "ga", "(EasyAlign)") +set("x", "ga", "(EasyAlign)") + +-- Focus on the current buffer. +set("n", "-", ":wincmd _:wincmd |", { noremap = true, silent = true }) + +-- Automatically resize buffers. +set("n", "=", ":wincmd =", { noremap = true, silent = true }) + +-- Move line(s) up and down. +local opts = { noremap = true, silent = true } +set("i", "", ":m .+1==gi", opts) +set("i", "", ":m .-2==gi", opts) +set("n", "", ":m .+1==", opts) +set("n", "", ":m .-2==", opts) +set("v", "", ":m '>+1gv=gv", opts) +set("v", "", ":m '<-2gv=gv", opts) + +-- Re-centre when navigating. +set("n", "#", "#zz", opts) +set("n", "%", "%zz", opts) +set("n", "*", "*zz", opts) +set("n", "", "zz", opts) +set("n", "", "zz", opts) +set("n", "", "zz", opts) +set("n", "", "zz", opts) +set("n", "G", "Gzz", opts) +set("n", "N", "Nzz", opts) +set("n", "gg", "ggzz", opts) +set("n", "n", "Nzz", opts) +set("n", "{", "{zz", opts) +set("n", "}", "}zz", opts) + +-- Clears hlsearch after doing a search, otherwise just does normal stuff +vim.cmd [[ nnoremap {-> v:hlsearch ? ":nohl\" : "\"}() ]] + +-- Quicker macro playback. +set("n", "Q", "@qj") +set("x", "Q", ":norm @q") + +-- Easier navigation between splits. +set("n", "", "") +set("n", "", "") +set("n", "", "") +set("n", "", "") + +set("v", "Q", "") + +set("v", "J", ":m '>+1gvrgv") +set("v", "K", ":m '<-2gv=gv") + +set("n", "J", "mzJ`z") +set("n", "", "zz") +set("n", "", "zz") +set("n", "n", "nzzzv") +set("n", "N", "Nzzzv") + +-- Easily access project-specific notes. +set("n", "en", function() + if vim.fn.filereadable ".ignored/notes" == 1 then + vim.cmd "tabnew .ignored/notes" + else + vim.cmd "tabnew notes" + end +end) + +-- Easily access project-specific todos. +set("n", "et", function() + if vim.fn.filereadable ".ignored/todo" == 1 then + vim.cmd "tabnew .ignored/todo" + else + vim.cmd "tabnew todo" + end +end) + +set("n", "ec", ":edit composer.json") diff --git a/config/neovim/lua/opdavies/lsp/handlers.lua b/config/neovim/lua/opdavies/lsp/handlers.lua new file mode 100644 index 00000000..e44e86af --- /dev/null +++ b/config/neovim/lua/opdavies/lsp/handlers.lua @@ -0,0 +1,71 @@ +local M = {} + +local function should_remove_diagnostic(messages_to_filter, message) + for _, filter_message in ipairs(messages_to_filter) do + if message:match(filter_message) then + return true + end + end + + return false +end + +M.definition = function() + local params = vim.lsp.util.make_position_params() + + vim.lsp.buf_request(0, "textDocument/definition", params, function(err, result, ctx, config) + local bufnr = ctx.bufnr + local ft = vim.api.nvim_buf_get_option(bufnr, "filetype") + + local new_result = vim.tbl_filter(function(v) + -- Remove any definitions within the nix store via the .direnv directory. + if string.find(v.targetUri, ".direnv") then + return false + end + + -- Remove definitions within vendor-bin directory for PHP files. + if ft == "php" then + if string.find(v.targetUri, "vendor%-bin") then + return false + end + end + + return true + end, result) + + if #new_result > 0 then + result = new_result + end + + vim.lsp.handlers["textDocument/definition"](err, result, ctx, config) + vim.cmd [[normal! zz]] + end) +end + +M.on_publish_diagnostics = function(_, result, ctx, config) + local client = vim.lsp.get_client_by_id(ctx.client_id) + + if client.name == "cssls" then + local filtered_diagnostics = {} + + local messages_to_filter = { + "Unknown at rule @apply", + "Unknown at rule @tailwind", + } + + -- For each diagnostic, ensure its mesages doesn't match one I want to + -- ignore before adding it to the result. If it matches, don't add it to the + -- result and it won't be shown. + for _, diagnostic in ipairs(result.diagnostics) do + if not should_remove_diagnostic(messages_to_filter, diagnostic.message) then + table.insert(filtered_diagnostics, diagnostic) + end + end + + result.diagnostics = filtered_diagnostics + end + + vim.lsp.diagnostic.on_publish_diagnostics(_, result, ctx, config) +end + +return M diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua new file mode 100644 index 00000000..6ae90f76 --- /dev/null +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -0,0 +1,126 @@ +local lspconfig = require "lspconfig" +local nvim_status = require "lsp-status" + +local handlers = require "opdavies.lsp.handlers" + +require("neodev").setup {} + +local servers = { + bashls = true, + + cssls = { + on_attach = function(client, bufnr) + vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(handlers.on_publish_diagnostics, {}) + end, + }, + + gopls = true, + html = true, + + intelephense = { + filetypes = { "php", "module", "test", "inc" }, + }, + + lua_ls = { + settings = { + Lua = { + completion = { + callSnippet = "Replace", + }, + + diagnostics = { + globals = { "vim" }, + }, + + runtime = { + version = "LuaJIT", + }, + + telemetry = { + enabled = false, + }, + + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + }, + }, + }, + }, + + marksman = true, + nil_ls = true, + + tailwindcss = { + filetypes = { "html", "javascript", "twig", "typescript", "vue" }, + + settings = { + init_options = { + userLanguages = { + ["html.twig"] = "html", + }, + }, + }, + }, + + terraformls = true, + tsserver = true, + vuels = true, + + yamlls = { + settings = { + yaml = { + keyOrdering = false, + }, + }, + }, +} + +local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) + +for server_name, config in pairs(servers) do + if config == true then + config = {} + end + + config = vim.tbl_deep_extend("force", {}, { + capabilities = capabilities, + }, config) + + lspconfig[server_name].setup(config) +end + +vim.diagnostic.config { + float = { source = true }, + signs = true, + underline = false, + update_in_insert = false, + virtual_text = { spacing = 2 }, +} + +vim.api.nvim_create_autocmd("LspAttach", { + callback = function() + local builtin = require "telescope.builtin" + + -- buf_inoremap { "", vim.lsp.buf.signature_help } + -- buf_nnoremap { "ca", vim.lsp.buf.code_action } + -- buf_nnoremap { "d", vim.diagnostic.open_float } + -- buf_nnoremap { "rn", vim.lsp.buf.rename } + -- buf_nnoremap { "rr", "LspRestart" } + -- buf_nnoremap { "[d", vim.diagnostic.goto_prev } + -- buf_nnoremap { "]d", vim.diagnostic.goto_next } + + -- buf_nnoremap { "gD", vim.lsp.buf.declaration } + -- buf_nnoremap { "gd", handlers.definition } + -- buf_nnoremap { "gi", vim.lsp.buf.implementation } + -- buf_nnoremap { "gT", vim.lsp.buf.type_definition } + + vim.keymap.set("n", "gd", builtin.lsp_definitions, { buffer = 0 }) + vim.keymap.set("n", "gr", builtin.lsp_references, { buffer = 0 }) + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 }) + vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, { buffer = 0 }) + vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = 0 }) + + vim.keymap.set("n", "cr", vim.lsp.buf.rename, { buffer = 0 }) + vim.keymap.set("n", "ca", vim.lsp.buf.code_action, { buffer = 0 }) + end, +}) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua new file mode 100644 index 00000000..cb6a5895 --- /dev/null +++ b/config/neovim/lua/opdavies/options.lua @@ -0,0 +1,52 @@ +vim.g.mapleader = " " +vim.g.snippets = "luasnip" + +local settings = { + autoindent = true, + backup = false, + breakindent = true, + colorcolumn = "80", + expandtab = true, + foldlevel = 1, + foldlevelstart = 99, + foldmethod = "indent", + formatoptions = "clqjp", + hidden = false, + hlsearch = false, + inccommand = "split", + laststatus = 3, + linebreak = true, + list = true, + mouse = "", + number = true, + pumblend = 10, + pumheight = 10, + relativenumber = true, + scrolloff = 5, + shiftwidth = 2, + showmode = false, + signcolumn = "yes:1", + smartindent = true, + softtabstop = 2, + spellfile = "/home/opdavies/Code/opdavies.nvim/spell/en.utf-8.add", + swapfile = false, + syntax = "on", + tabstop = 2, + termguicolors = true, + textwidth = 0, + undodir = os.getenv "HOME" .. "/.vim/undodir", + undofile = true, + updatetime = 1000, + wrap = false, +} + +for key, value in pairs(settings) do + vim.o[key] = value +end + +vim.opt.backupdir:remove "." -- keep backups out of the current directory +vim.opt.clipboard:append "unnamedplus" +vim.opt.completeopt = { "menu", "menuone", "noinsert", "noselect" } +vim.opt.listchars:append { + trail = "·", +} diff --git a/config/neovim/lua/opdavies/snippets/ft/bash.lua b/config/neovim/lua/opdavies/snippets/ft/bash.lua new file mode 100644 index 00000000..4859a803 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/bash.lua @@ -0,0 +1,31 @@ +local ls = require "luasnip" + +local fmta = require("luasnip.extras.fmt").fmta + +return { + run = fmta( + [=[ + #!/usr/bin/env bash + + set -o errexit + set -o nounset + set -o pipefail + + function help { + printf "%s <> [args]\n\nTasks:\n" "${0}" + + compgen -A function | grep -v "^_" | cat -n + + printf "\nExtended help:\n Each task has comments for general usage\n" + } + + # Include any local tasks. + # https://stackoverflow.com/a/6659698 + [[ -e "${BASH_SOURCE%/*}/run.local" ]] && source "${BASH_SOURCE%/*}/run.local" + + TIMEFORMAT="Task completed in %3lR" + time "${@:-help}" + ]=], + {} + ), +} diff --git a/config/neovim/lua/opdavies/snippets/ft/javascript.lua b/config/neovim/lua/opdavies/snippets/ft/javascript.lua new file mode 100644 index 00000000..d3e795f8 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/javascript.lua @@ -0,0 +1,10 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local i = ls.insert_node + +local M = { + log = fmta("console.log(<>);", { i(1, "value") }), +} + +return M diff --git a/config/neovim/lua/opdavies/snippets/ft/lua.lua b/config/neovim/lua/opdavies/snippets/ft/lua.lua new file mode 100644 index 00000000..c2abfba8 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/lua.lua @@ -0,0 +1,27 @@ +local ls = require "luasnip" + +local fmt = require("luasnip.extras.fmt").fmt +local rep = require("luasnip.extras").rep + +local f, i = ls.function_node, ls.insert_node + +return { + pcall = fmt( + [[ + local status_ok, {} = pcall(require, "{}") + if not status_ok then + return + end + ]], + { i(1), rep(1) } + ), + + req = fmt([[local {} = require "{}"]], { + f(function(import_name) + local parts = vim.split(import_name[1][1], ".", true) + + return parts[#parts] or "" + end, { 1 }), + i(1), + }), +} diff --git a/config/neovim/lua/opdavies/snippets/ft/markdown.lua b/config/neovim/lua/opdavies/snippets/ft/markdown.lua new file mode 100644 index 00000000..b2a76e46 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/markdown.lua @@ -0,0 +1,20 @@ +local fmt = require("luasnip.extras.fmt").fmt +local ls = require "luasnip" + +local i = ls.insert_node + +local M = { + frontmatter = fmt( + [[ + --- + title: {} + --- + {} + ]], + { i(1), i(0) } + ), + + link = fmt([[[{}]({}){} ]], { i(1), i(2), i(0) }), +} + +return M diff --git a/config/neovim/lua/opdavies/snippets/ft/nix.lua b/config/neovim/lua/opdavies/snippets/ft/nix.lua new file mode 100644 index 00000000..1ef44d5c --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/nix.lua @@ -0,0 +1,23 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local c = ls.choice_node +local i = ls.insert_node +local t = ls.text_node + +local M = { + vimplugin = fmta( + [[ + { + plugin = <>.<>; + type = "lua"; + config = '' + <> + ''; + }<> + ]], + { c(1, { t "vimPlugins", t "customVim" }), i(2), i(3), i(0) } + ), +} + +return M diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua new file mode 100644 index 00000000..77ecd67a --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/php.lua @@ -0,0 +1,115 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local c = ls.choice_node +local f = ls.function_node +local i = ls.insert_node +local t = ls.text_node + +local M = { + __construct = fmta( + [[ + public function __construct(<>) { + <> + } + ]], + { i(1), i(0) } + ), + + __invoke = fmta( + [[ + public function __invoke(<>) { + <> + } + ]], + { i(1), i(0) } + ), + + drupalclass = fmta( + [[ + <; + + final class <> { + + <> + + }]], + { + f(function() + local filepath = vim.fn.expand "%:h" + local filepath_parts = vim.fn.split(filepath, "/") + + if not vim.tbl_contains(filepath_parts, "src") then + return "" + end + + local namespace_parts = { "Drupal" } + + local is_test_file = vim.tbl_contains(filepath_parts, "tests") + if is_test_file then + table.insert(namespace_parts, "Tests") + end + + -- Find and add the module name. + for k, v in ipairs(filepath_parts) do + if v == "src" then + if is_test_file then + table.insert(namespace_parts, filepath_parts[k - 2]) + else + table.insert(namespace_parts, filepath_parts[k - 1]) + end + end + end + + -- Add the rest of the namespace. + local namespace = vim.split(filepath, "src/") + local final_part = (namespace[2] or ""):gsub("/", "\\") + table.insert(namespace_parts, final_part) + + return table.concat(namespace_parts, "\\") + end), + f(function() + return vim.fn.expand "%:t:r" + end), + i(0), + } + ), + + func = fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) }), + + met = fmta( + [[ + <> function <>(<>)<> { + <> + }<> + ]], + { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } + ), + + pest = fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) }), + + test = fmta( + [[ + public function test<>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ), + + testa = fmta( + [[ + /** @test */ + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ), +} + +return M diff --git a/config/neovim/lua/opdavies/snippets/ft/rst.lua b/config/neovim/lua/opdavies/snippets/ft/rst.lua new file mode 100644 index 00000000..206bbf1c --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/rst.lua @@ -0,0 +1,49 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local i = ls.insert_node +local f = ls.function_node + +local fill_line = function(char) + return function() + local row = vim.api.nvim_win_get_cursor(0)[1] + local lines = vim.api.nvim_buf_get_lines(0, row - 2, row, false) + return string.rep(char, #lines[1]) + end +end + +local M = { + class = { ".. class:: ", i(1) }, + footer = { ".. footer:: ", i(1) }, + link = { ".. _", i(1), ":" }, + raw = { ".. raw:: ", i(1) }, + + -- TODO: add an optional new line and ":width" property. + image = { ".. image:: ", i(1) }, + + head = f(fill_line "=", {}), + sub = f(fill_line "-", {}), + subsub = f(fill_line "^", {}), + + -- Add a page break with an optional page template. + pb = fmta( + [[ + .. raw:: pdf + + PageBreak<> + ]], + { i(0) } + ), + + -- Add a new speaker note. + ta = fmta( + [[ + .. raw:: pdf + + TextAnnotation "<>" + ]], + { i(0) } + ), +} + +return M diff --git a/config/neovim/lua/opdavies/snippets/ft/scss.lua b/config/neovim/lua/opdavies/snippets/ft/scss.lua new file mode 100644 index 00000000..846cbcb2 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/scss.lua @@ -0,0 +1,10 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local i = ls.insert_node + +local M = { + bp = fmta("@include breakpoint(<>) {\n <>\n}", { i(1), i(0) }), +} + +return M diff --git a/config/neovim/lua/opdavies/snippets/ft/yaml.lua b/config/neovim/lua/opdavies/snippets/ft/yaml.lua new file mode 100644 index 00000000..4c5b3ce2 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/yaml.lua @@ -0,0 +1,39 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" +local rep = require("luasnip.extras").rep + +local c = ls.choice_node +local i = ls.insert_node +local t = ls.text_node + +local M = { + drupal_info = fmta( + [[ + name: + description: + core_version_requirement: ^10 || ^11 + type: + package: + ]], + { module_name = i(1), description = i(2), type = c(3, { t "module", t "theme" }), package = i(0) } + ), + + drupal_route = fmta( + [[ + .: + path: / + defaults: + _controller: Drupal\\Controller\ + # _form: + # _title: + # _title_callback: + methods: [GET] + requirements: + _permission: access content + # _access: TRUE + ]], + { module = i(1), route = i(2), path = i(3), module_same = rep(1), class = i(4), finish = i(0) } + ), +} + +return M diff --git a/config/neovim/plugin/colorscheme.lua b/config/neovim/plugin/colorscheme.lua new file mode 100644 index 00000000..d949f5fd --- /dev/null +++ b/config/neovim/plugin/colorscheme.lua @@ -0,0 +1,25 @@ +local status_ok, catppuccin = pcall(require, "catppuccin") +if not status_ok then + return +end + +catppuccin.setup { + flavour = "macchiato", + integrations = { + cmp = true, + gitsigns = true, + mini = { + enabled = true, + indentscope_color = "", + }, + native_lsp = { + enabled = true, + }, + telescope = true, + treesitter = true, + }, + term_colors = true, + transparent_background = true, +} + +vim.cmd.colorscheme "catppuccin" diff --git a/config/neovim/plugin/comment.lua b/config/neovim/plugin/comment.lua new file mode 100644 index 00000000..eb350eb9 --- /dev/null +++ b/config/neovim/plugin/comment.lua @@ -0,0 +1,19 @@ +local status_ok, comment = pcall(require, "Comment") +if not status_ok then + return +end + +comment.setup { + padding = true, + + opleader = { + line = "gc", + block = "gb", + }, + + mappings = { + basic = true, + extra = true, + extended = false, + }, +} diff --git a/config/neovim/plugin/completion.lua b/config/neovim/plugin/completion.lua new file mode 100644 index 00000000..ab21c534 --- /dev/null +++ b/config/neovim/plugin/completion.lua @@ -0,0 +1,155 @@ +local cmp = require "cmp" +local ls = require "luasnip" + +vim.opt.shortmess:append "c" + +cmp.setup { + snippet = { + expand = function(args) + ls.lsp_expand(args.body) + end, + }, + + mapping = cmp.mapping.preset.insert { + [""] = cmp.mapping.close(), + + [""] = cmp.mapping(function() + if ls.locally_jumpable(-1) then + ls.jump(-1) + end + end, { "i", "s" }), + + [""] = cmp.mapping(function() + if ls.expand_or_locally_jumpable() then + ls.expand_or_jump() + end + end, { "i", "s" }), + + [""] = cmp.mapping.confirm { select = true }, + [""] = cmp.config.disable, + }, + + sources = { + { name = "nvim_lsp" }, + { name = "nvim_lua" }, + { name = "luasnip" }, + { name = "buffer" }, + { name = "calc" }, + }, + + sorting = { + comparators = { + cmp.config.compare.offset, + cmp.config.compare.exact, + cmp.config.compare.score, + cmp.config.compare.kind, + cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + }, + + formatting = { + format = require("lspkind").cmp_format { + with_text = true, + menu = { + buffer = "[buf]", + cmp_tabnine = "[tn]", + luasnip = "[snip]", + nvim_lsp = "[lsp]", + nvim_lua = "[lua]", + path = "[path]", + }, + }, + }, + + experimental = { + ghost_text = true, + native_menu = false, + }, +} + +cmp.setup.filetype({ "mysql", "sql" }, { + sources = { + { name = "vim-dadbod-completion" }, + { name = "buffer" }, + }, +}) + +local snippet = ls.snippet +local i = ls.insert_node +local t = ls.text_node + +local shortcut = function(val) + if type(val) == "string" then + return { t { val }, i(0) } + end + + if type(val) == "table" then + for k, v in ipairs(val) do + if type(v) == "string" then + val[k] = t { v } + end + end + end + + return val +end + +local make = function(tbl) + local result = {} + for k, v in pairs(tbl) do + table.insert(result, (snippet({ trig = k, desc = v.desc }, shortcut(v)))) + end + + return result +end + +local snippets = {} + +for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/opdavies/snippets/ft/*.lua", true)) do + local ft = vim.fn.fnamemodify(ft_path, ":t:r") + snippets[ft] = make(loadfile(ft_path)()) + + ls.add_snippets(ft, snippets[ft]) +end + +ls.add_snippets("js", snippets.javascript) +ls.add_snippets("typescript", snippets.javascript) +ls.add_snippets("vue", snippets.javascript) + +-- Include any snippets to use in presentations. +for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/opdavies/snippets/talks/*.lua", true)) do + loadfile(ft_path)() +end + +require("luasnip.loaders.from_vscode").lazy_load() + +ls.config.set_config { + enable_autosnippets = true, + history = true, + updateevents = "TextChanged,TextChangedI", +} + +-- Expand the current item or just to the next item within the snippet. +vim.keymap.set({ "i", "s" }, "", function() + if ls.expand_or_jumpable() then + ls.expand_or_jump() + end +end, { silent = true }) + +-- Jump backwards. +vim.keymap.set({ "i", "s" }, "", function() + if ls.jumpable(-1) then + ls.jump(-1) + end +end, { silent = true }) + +-- Select within a list of options. +vim.keymap.set("i", "", function() + if ls.choice_active() then + ls.change_choice(1) + end +end) + +vim.keymap.set("n", "s", "source ~/Code/opdavies.nvim/after/plugin/luasnip.lua") diff --git a/config/neovim/plugin/conform.lua b/config/neovim/plugin/conform.lua new file mode 100644 index 00000000..fc5ef783 --- /dev/null +++ b/config/neovim/plugin/conform.lua @@ -0,0 +1,45 @@ +local conform = require "conform" + +conform.setup { + formatters_by_ft = { + bash = { "shellcheck" }, + javascript = { { "prettierd", "prettier" } }, + just = { "just" }, + lua = { "stylua" }, + nix = { { "nixfmt" } }, + php = { { "php_cs_fixer", "phpcbf" } }, + terraform = { "terraform_fmt" }, + yaml = { "yamlfmt" }, + }, + + format_on_save = function(bufnr) + -- Disable with a global or buffer-local variable. + if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then + return + end + + return { + lsp_fallback = false, + quiet = true, + } + end, +} + +vim.api.nvim_create_user_command("FormatDisable", function(args) + if args.bang then + -- FormatDisable! will disable formatting just for this buffer + vim.b.disable_autoformat = true + else + vim.g.disable_autoformat = true + end +end, { + desc = "Disable autoformat-on-save", + bang = true, +}) + +vim.api.nvim_create_user_command("FormatEnable", function() + vim.b.disable_autoformat = false + vim.g.disable_autoformat = false +end, { + desc = "Re-enable autoformat-on-save", +}) diff --git a/config/neovim/plugin/dap.lua b/config/neovim/plugin/dap.lua new file mode 100644 index 00000000..f9c1f3ce --- /dev/null +++ b/config/neovim/plugin/dap.lua @@ -0,0 +1,69 @@ +local dap = require "dap" +local ui = require "dapui" + +dap.adapters.php = { + type = "executable", + command = "node", + args = { os.getenv "HOME" .. "/build/vscode-php-debug/out/phpDebug.js" }, +} + +dap.configurations.php = { + { + type = "php", + request = "launch", + name = "Listen for Xdebug", + port = 9003, + pathMappings = { + ["/app"] = "${workspaceFolder}", + ["/var/www/html"] = "${workspaceFolder}", + }, + }, +} + +dap.listeners.after.event_initialized["ui_config"] = function() + ui.open() +end + +dap.listeners.before.event_terminated["ui_config"] = function() + ui.close() +end + +dap.listeners.before.event_exited["ui_config"] = function() + ui.close() +end + +ui.setup { + layouts = { + { + elements = { + { id = "scopes", size = 0.25 }, + "breakpoints", + "stacks", + "watches", + }, + size = 40, -- 40 columns + position = "right", + }, + { + elements = { + "repl", + "console", + }, + size = 0.25, -- 25% of total lines + position = "bottom", + }, + }, +} + +require("nvim-dap-virtual-text").setup { + commented = true, +} + +vim.keymap.set("n", "b", dap.toggle_breakpoint) +vim.keymap.set("n", "gb", dap.run_to_cursor) + +vim.keymap.set("n", "", dap.continue) +vim.keymap.set("n", "", dap.step_into) +vim.keymap.set("n", "", dap.step_over) +vim.keymap.set("n", "", dap.step_out) +vim.keymap.set("n", "", dap.step_back) diff --git a/config/neovim/plugin/dial.lua b/config/neovim/plugin/dial.lua new file mode 100644 index 00000000..10f33cfa --- /dev/null +++ b/config/neovim/plugin/dial.lua @@ -0,0 +1,45 @@ +local augend = require "dial.augend" +local dial_config = require "dial.config" + +dial_config.augends:register_group { + visual = { + augend.integer.alias.decimal, + augend.integer.alias.hex, + augend.date.alias["%Y/%m/%d"], + augend.constant.alias.alpha, + augend.constant.alias.Alpha, + }, + + mygroup = { + augend.constant.new { + elements = { "TRUE", "FALSE" }, + word = true, + cyclic = true, + }, + + augend.constant.new { + elements = { "public", "protected", "private" }, + word = true, + cyclic = true, + }, + + augend.constant.new { + elements = { "&&", "||" }, + word = false, + cyclic = true, + }, + + augend.date.alias["%d/%m/%Y"], + augend.constant.alias.bool, -- boolean value (true <-> false) + augend.integer.alias.decimal, + augend.integer.alias.hex, + augend.semver.alias.semver, + }, +} + +local dial_map = require "dial.map" + +vim.keymap.set("n", "", dial_map.inc_normal "mygroup") +vim.keymap.set("n", "", dial_map.dec_normal "mygroup") +vim.keymap.set("v", "", dial_map.inc_normal "visual") +vim.keymap.set("v", "", dial_map.dec_normal "visual") diff --git a/config/neovim/plugin/edit_alternate.lua b/config/neovim/plugin/edit_alternate.lua new file mode 100644 index 00000000..293a28b6 --- /dev/null +++ b/config/neovim/plugin/edit_alternate.lua @@ -0,0 +1,40 @@ +vim.fn["edit_alternate#rule#add"]("php", function(filename) + if filename:find "Test.php$" then + filename = filename:gsub("Test.php$", ".php") + + if filename:find "tests/src/" then + -- Drupal tests. Remove the `src/{type}` from the path. + return filename:gsub("tests/src/(.-)/", "src/") + else + return filename:gsub("tests/", "src/") + end + else + filename = filename:gsub(".php$", "Test.php") + + if filename:find "modules/custom" then + -- Drupal test types. + local test_types = { "Functional", "FunctionalJavaScript", "Kernel", "Unit" } + + for _, test_type in ipairs(test_types) do + local filename_with_test_type = filename:gsub("src/", string.format("tests/src/%s/", test_type)) + + -- Return the first matching test file that exists. + if vim.fn.filereadable(filename_with_test_type) == 1 then + return filename_with_test_type + end + end + end + end +end) + +if vim.fn.filereadable "fractal.config.js" == 1 then + vim.fn["edit_alternate#rule#add"]("twig", function(filename) + return (filename:gsub("%.twig$", ".config.yml")) + end) + + vim.fn["edit_alternate#rule#add"]("yml", function(filename) + return (filename:gsub("%.config.yml$", ".twig")) + end) +end + +vim.keymap.set("n", "ea", "EditAlternate", { silent = true }) diff --git a/config/neovim/plugin/fidget.lua b/config/neovim/plugin/fidget.lua new file mode 100644 index 00000000..2a0375fa --- /dev/null +++ b/config/neovim/plugin/fidget.lua @@ -0,0 +1,7 @@ +require("fidget").setup { + notification = { + window = { + winblend = 0, + }, + }, +} diff --git a/config/neovim/plugin/filetype.lua b/config/neovim/plugin/filetype.lua new file mode 100644 index 00000000..81ec0a15 --- /dev/null +++ b/config/neovim/plugin/filetype.lua @@ -0,0 +1,9 @@ +vim.filetype.add { + extension = { + inc = "php", + install = "php", + module = "php", + pcss = "scss", + theme = "php", + }, +} diff --git a/config/neovim/plugin/fugitive.lua b/config/neovim/plugin/fugitive.lua new file mode 100644 index 00000000..4aded48c --- /dev/null +++ b/config/neovim/plugin/fugitive.lua @@ -0,0 +1,25 @@ +vim.keymap.set("n", "gc", "Git commitK") + +-- Open the ":Git" window in its own buffer, not a split. +vim.keymap.set("n", "gs", "0Git") + +vim.api.nvim_create_autocmd("BufWinEnter", { + pattern = "*", + + callback = function() + if vim.bo.ft ~= "fugitive" then + return + end + + local bufnr = vim.api.nvim_get_current_buf() + local opts = { buffer = bufnr, remap = false } + + vim.keymap.set("n", "p", function() + vim.cmd.Git "push" + end, opts) + + vim.keymap.set("n", "P", function() + vim.cmd.Git { "pull", "--rebase" } + end, opts) + end, +}) diff --git a/config/neovim/plugin/gitsigns.lua b/config/neovim/plugin/gitsigns.lua new file mode 100644 index 00000000..16b2f800 --- /dev/null +++ b/config/neovim/plugin/gitsigns.lua @@ -0,0 +1,30 @@ +local gitsigns = require "gitsigns" + +gitsigns.setup { + linehl = false, + numhl = true, +} + +local set = vim.keymap.set + +set("n", "[h", "Gitsigns prev_hunk") +set("n", "]h", "Gitsigns next_hunk") + +set("n", "hR", gitsigns.reset_buffer) +set("n", "hS", gitsigns.stage_buffer) +set("n", "hb", gitsigns.blame_line) +set("n", "hp", gitsigns.preview_hunk) +set("n", "hr", gitsigns.reset_hunk) +set("n", "hs", gitsigns.stage_hunk) +set("n", "hu", gitsigns.undo_stage_hunk) + +set("v", "hr", function() + gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } +end) + +set("v", "hs", function() + gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } +end) + +-- Text object. +set({ "o", "x" }, "ih", ":Gitsigns select_hunk") diff --git a/config/neovim/plugin/harpoon.lua b/config/neovim/plugin/harpoon.lua new file mode 100644 index 00000000..03769f0a --- /dev/null +++ b/config/neovim/plugin/harpoon.lua @@ -0,0 +1,13 @@ +require("harpoon").setup() + +local mark = require "harpoon.mark" +local ui = require "harpoon.ui" + +vim.keymap.set("n", "", ui.toggle_quick_menu) +vim.keymap.set("n", "", mark.add_file) + +for i = 1, 5 do + vim.keymap.set("n", string.format("%s", i), function() + ui.nav_file(i) + end) +end diff --git a/config/neovim/plugin/lint.lua b/config/neovim/plugin/lint.lua new file mode 100644 index 00000000..f862107a --- /dev/null +++ b/config/neovim/plugin/lint.lua @@ -0,0 +1,19 @@ +local lint = require "lint" + +lint.linters_by_ft = { + dockerfile = { "hadolint" }, + javascript = { "eslint_d" }, + json = { "jsonlint" }, + lua = { "luacheck" }, + markdown = { "markdownlint" }, + nix = { "nix" }, + php = { "php", "phpcs", "phpstan" }, +} +local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) + +vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { + group = lint_augroup, + callback = function() + lint.try_lint() + end, +}) diff --git a/config/neovim/plugin/mini.lua b/config/neovim/plugin/mini.lua new file mode 100644 index 00000000..6c217467 --- /dev/null +++ b/config/neovim/plugin/mini.lua @@ -0,0 +1,23 @@ +require("mini.ai").setup { n_lines = 500 } + +require("mini.align").setup {} + +require("mini.bracketed").setup {} + +require("mini.hipatterns").setup { + highlighters = { + note = { pattern = "%f[%w]()NOTE()%f[%W]", group = "MiniHipatternsNote" }, + todo = { pattern = "%f[%w]()TODO()%f[%W]", group = "MiniHipatternsTodo" }, + }, +} + +require("mini.move").setup {} + +require("mini.operators").setup {} + +require("mini.statusline").setup { + set_vim_settings = false, + use_icons = false, +} + +require("mini.surround").setup {} diff --git a/config/neovim/plugin/netrw.lua b/config/neovim/plugin/netrw.lua new file mode 100644 index 00000000..1feb376d --- /dev/null +++ b/config/neovim/plugin/netrw.lua @@ -0,0 +1,6 @@ +vim.keymap.set("n", "pv", vim.cmd.Ex) + +vim.g.netrw_banner = 0 +vim.g.netrw_browse_split = 0 +vim.g.netrw_liststyle = 3 +vim.g.netrw_winsize = 20 diff --git a/config/neovim/plugin/oil.lua b/config/neovim/plugin/oil.lua new file mode 100644 index 00000000..5799eb20 --- /dev/null +++ b/config/neovim/plugin/oil.lua @@ -0,0 +1,16 @@ +require("oil").setup { + columns = { "icon" }, + + keymaps = { + [""] = false, + [""] = "actions.select_split", + }, + + skip_confirm_for_simple_edits = true, + + view_options = { + show_hidden = true, + }, +} + +vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) diff --git a/config/neovim/plugin/refactoring.lua b/config/neovim/plugin/refactoring.lua new file mode 100644 index 00000000..a23a0bb2 --- /dev/null +++ b/config/neovim/plugin/refactoring.lua @@ -0,0 +1,12 @@ +local refactoring = require "refactoring" + +-- TODO: add keymaps - https://github.com/ThePrimeagen/refactoring.nvim#configuration-for-refactoring-operations +refactoring.setup {} + +local opts = { silent = true } + +vim.keymap.set("n", "ri", "lua require 'refactoring'.refactor 'Inline Variable'", opts) + +vim.keymap.set("v", "re", "lua require 'refactoring'.refactor 'Extract Function'", opts) +vim.keymap.set("v", "ri", "lua require 'refactoring'.refactor 'Inline Variable'", opts) +vim.keymap.set("v", "rv", "lua require 'refactoring'.refactor 'Extract Variable'", opts) diff --git a/config/neovim/plugin/sort.lua b/config/neovim/plugin/sort.lua new file mode 100644 index 00000000..bdf96d76 --- /dev/null +++ b/config/neovim/plugin/sort.lua @@ -0,0 +1,10 @@ +require("sort").setup() + +vim.cmd([[ + nnoremap go" vi"Sort + nnoremap go' vi'Sort + nnoremap go( vi(Sort + nnoremap go[ vi[Sort + nnoremap gop vipSort + nnoremap go{ vi{Sort +]]) diff --git a/config/neovim/plugin/spectre.lua b/config/neovim/plugin/spectre.lua new file mode 100644 index 00000000..b67854e6 --- /dev/null +++ b/config/neovim/plugin/spectre.lua @@ -0,0 +1 @@ +require("spectre").setup() diff --git a/config/neovim/plugin/telescope.lua b/config/neovim/plugin/telescope.lua new file mode 100644 index 00000000..79fafd63 --- /dev/null +++ b/config/neovim/plugin/telescope.lua @@ -0,0 +1,67 @@ +local telescope = require "telescope" + +telescope.setup { + defaults = { + layout_config = { prompt_position = "top" }, + path_display = { truncate = 1 }, + prompt_prefix = "$ ", + sorting_strategy = "ascending", + }, + + pickers = { + lsp_references = { + previewer = false, + }, + }, + + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown {}, + }, + }, +} + +telescope.load_extension "fzf" +telescope.load_extension "refactoring" +telescope.load_extension "ui-select" + +local builtin = require "telescope.builtin" + +local M = {} + +M.diagnostics = function() + builtin.diagnostics { bufnr = 0 } +end + +M.grep_bluecheese = function() + builtin.live_grep { cwd = "web/sites/default/themes/bluecheese" } +end + +M.grep_drupalorg_theme = function() + builtin.live_grep { cwd = "web/themes/contrib/drupalorg_theme" } +end + +M.search_all_files = function() + builtin.find_files { + find_command = { "rg", "--no-ignore", "--files" }, + } +end + +vim.keymap.set("n", "/", builtin.current_buffer_fuzzy_find) +vim.keymap.set("n", "fb", builtin.buffers) +vim.keymap.set("n", "fd", builtin.find_files) +vim.keymap.set("n", "fg", builtin.live_grep) +vim.keymap.set("n", "fh", builtin.help_tags) +vim.keymap.set("n", "fi", M.search_all_files) +vim.keymap.set("n", "fk", builtin.keymaps) +vim.keymap.set("n", "ft", builtin.git_files) + +vim.keymap.set("n", "dl", M.diagnostics) +vim.keymap.set("n", "ds", builtin.lsp_document_symbols) + +vim.keymap.set("n", "gw", builtin.grep_string) + +vim.keymap.set("n", "dgb", M.grep_bluecheese) +vim.keymap.set("n", "dgd", M.grep_drupalorg_theme) + +vim.keymap.set({ "n", "v" }, "gw", builtin.grep_string) diff --git a/config/neovim/plugin/treesitter.lua b/config/neovim/plugin/treesitter.lua new file mode 100644 index 00000000..df5bd1ab --- /dev/null +++ b/config/neovim/plugin/treesitter.lua @@ -0,0 +1,136 @@ +local configs = require "nvim-treesitter.configs" +local context = require "treesitter-context" +local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" + +configs.setup { + autotag = { + enable = true, + }, + + context_commenting = { + enable = true, + }, + + highlight = { + enable = true, + }, + + indent = { + disable = { "yaml" }, + enable = true, + }, + + matchup = { + enable = true, + }, + + textobjects = { + select = { + enable = true, + lookahead = true, + + keymaps = { + ["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" }, + ["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" }, + ["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" }, + ["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" }, + + ["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" }, + ["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" }, + ["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" }, + ["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" }, + + ["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" }, + ["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" }, + + ["ac"] = { query = "@class.outer", desc = "Select outer part of a class" }, + ["ic"] = { query = "@class.inner", desc = "Select inner part of a class" }, + + ["af"] = { query = "@call.outer", desc = "Select outer part of a function call" }, + ["if"] = { query = "@call.inner", desc = "Select inner part of a function call" }, + + ["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" }, + ["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" }, + + ["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" }, + ["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" }, + + ["am"] = { query = "@function.outer", desc = "Select outer part of a method/function definition" }, + ["im"] = { query = "@function.inner", desc = "Select inner part of a method/function definition" }, + }, + }, + }, + + swap = { + enable = true, + + swap_next = { + ["na"] = "@parameter.inner", -- swap parameters/argument with next + ["n:"] = "@property.outer", -- swap object property with next + ["nm"] = "@function.outer", -- swap function with next + }, + + swap_previous = { + ["pa"] = "@parameter.inner", -- swap parameters/argument with prev + ["p:"] = "@property.outer", -- swap object property with prev + ["pm"] = "@function.outer", -- swap function with previous + }, + }, + + move = { + enable = true, + set_jumps = true, -- whether to set jumps in the jumplist + + goto_next_start = { + ["]f"] = { query = "@call.outer", desc = "Next function call start" }, + ["]m"] = { query = "@function.outer", desc = "Next method/function def start" }, + ["]c"] = { query = "@class.outer", desc = "Next class start" }, + ["]i"] = { query = "@conditional.outer", desc = "Next conditional start" }, + ["]l"] = { query = "@loop.outer", desc = "Next loop start" }, + + ["]s"] = { query = "@scope", query_group = "locals", desc = "Next scope" }, + ["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" }, + }, + + goto_next_end = { + ["]F"] = { query = "@call.outer", desc = "Next function call end" }, + ["]M"] = { query = "@function.outer", desc = "Next method/function def end" }, + ["]C"] = { query = "@class.outer", desc = "Next class end" }, + ["]I"] = { query = "@conditional.outer", desc = "Next conditional end" }, + ["]L"] = { query = "@loop.outer", desc = "Next loop end" }, + }, + + goto_previous_start = { + ["[f"] = { query = "@call.outer", desc = "Prev function call start" }, + ["[m"] = { query = "@function.outer", desc = "Prev method/function def start" }, + ["[c"] = { query = "@class.outer", desc = "Prev class start" }, + ["[i"] = { query = "@conditional.outer", desc = "Prev conditional start" }, + ["[l"] = { query = "@loop.outer", desc = "Prev loop start" }, + }, + + goto_previous_end = { + ["[F"] = { query = "@call.outer", desc = "Prev function call end" }, + ["[M"] = { query = "@function.outer", desc = "Prev method/function def end" }, + ["[C"] = { query = "@class.outer", desc = "Prev class end" }, + ["[I"] = { query = "@conditional.outer", desc = "Prev conditional end" }, + ["[L"] = { query = "@loop.outer", desc = "Prev loop end" }, + }, + }, +} + +local set = vim.keymap.set + +set("n", "th", "TSHighlightCapturesUnderCursor") +set("n", "tp", "TSPlaygroundToggle") + +-- vim way: ; goes to the direction you were moving. +set({ "n", "o", "x" }, ";", ts_repeat_move.repeat_last_move) +set({ "n", "o", "x" }, ",", ts_repeat_move.repeat_last_move_opposite) + +-- Optionally, make builtin f, F, t, T also repeatable with ; and , +set({ "n", "o", "x" }, "f", ts_repeat_move.builtin_f) +set({ "n", "o", "x" }, "F", ts_repeat_move.builtin_F) +set({ "n", "o", "x" }, "t", ts_repeat_move.builtin_t) +set({ "n", "o", "x" }, "T", ts_repeat_move.builtin_T) + +context.setup { enable = true } diff --git a/config/neovim/plugin/treesj.lua b/config/neovim/plugin/treesj.lua new file mode 100644 index 00000000..a23b3ce3 --- /dev/null +++ b/config/neovim/plugin/treesj.lua @@ -0,0 +1,8 @@ +local tsj = require "treesj" + +tsj.setup { + use_default_keymaps = false, +} + +vim.keymap.set("n", "gJ", tsj.join) +vim.keymap.set("n", "gS", tsj.split) diff --git a/config/neovim/plugin/undotree.lua b/config/neovim/plugin/undotree.lua new file mode 100644 index 00000000..b6b9276a --- /dev/null +++ b/config/neovim/plugin/undotree.lua @@ -0,0 +1 @@ +vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) diff --git a/config/neovim/plugin/vim-test.lua b/config/neovim/plugin/vim-test.lua new file mode 100644 index 00000000..b82c4663 --- /dev/null +++ b/config/neovim/plugin/vim-test.lua @@ -0,0 +1,23 @@ +local map = vim.api.nvim_set_keymap + +local options = { + silent = true, +} + +map("n", "tf", ":TestFile", options) +map("n", "tg", ":TestVisit", options) +map("n", "tl", ":TestLast", options) +map("n", "tn", ":TestNearest", options) +map("n", "ts", ":TestSuite", options) + +vim.cmd [[ + let test#echo_command = 0 + let test#strategy = "neovim_sticky" + + let g:test#neovim_sticky#kill_previous = 1 + let g:test#neovim_sticky#reopen_window = 1 + let g:test#preserve_screen = 0 + + let test#php#phpunit#executable = './run test' + let test#php#phpunit#options = '--colors=always --testdox' +]] diff --git a/flake.lock b/flake.lock index cade14b7..8974dd1c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,5 @@ { "nodes": { - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -71,34 +53,6 @@ "type": "github" } }, - "nixpkgs-2305": { - "locked": { - "lastModified": 1704290814, - "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1727825735, - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - } - }, "nixpkgs-unstable": { "locked": { "lastModified": 1728018373, @@ -115,52 +69,12 @@ "type": "github" } }, - "nixpkgs-unstable_2": { - "locked": { - "lastModified": 1727802920, - "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "opdavies-nvim": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-2305": "nixpkgs-2305", - "nixpkgs-unstable": "nixpkgs-unstable_2" - }, - "locked": { - "lastModified": 1728128218, - "narHash": "sha256-FD+TxbOgH0CBX+7hWJrKvW75KUSIQVsERQMBQGKwNeA=", - "owner": "opdavies", - "repo": "opdavies.nvim", - "rev": "ddb9c3199aac6733aa5eadcede729dc28c335911", - "type": "github" - }, - "original": { - "owner": "opdavies", - "repo": "opdavies.nvim", - "type": "github" - } - }, "root": { "inputs": { "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable", - "opdavies-nvim": "opdavies-nvim" + "nixpkgs-unstable": "nixpkgs-unstable" } } }, diff --git a/flake.nix b/flake.nix index 13a3fe8f..df8aec0c 100644 --- a/flake.nix +++ b/flake.nix @@ -8,10 +8,6 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - - opdavies-nvim.inputs.nixpkgs.follows = "nixpkgs"; - opdavies-nvim.url = "github:opdavies/opdavies.nvim"; - # opdavies-nvim.url = "path:/home/opdavies/Code/opdavies.nvim"; }; outputs = @@ -40,9 +36,17 @@ mkWsl = import ./lib/wsl2 { inherit inputs self username; }; inherit (pkgs) mkShell; + inherit (pkgs.vimUtils) buildVimPlugin; in { - packages.${system}.default = mkShell { buildInputs = with pkgs; [ bashInteractive ]; }; + packages.${system} = { + default = mkShell { buildInputs = with pkgs; [ bashInteractive ]; }; + + opdavies-nvim = buildVimPlugin { + name = "opdavies-nvim"; + src = ./config/neovim; + }; + }; formatter.${system} = pkgs.nixfmt-rfc-style; diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 41723693..4ecaa9aa 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -20,7 +20,7 @@ in imports = [ (import ./modules/git.nix { inherit inputs pkgs pkgsUnstable; }) - (import ./modules/neovim.nix { inherit inputs; }) + (import ./modules/neovim.nix { inherit inputs pkgs; }) ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index 2bd540e8..03f7e5b6 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -1,10 +1,313 @@ -{ inputs }: -{ pkgs, ... }: +{ inputs, pkgs, ... }: + let - system = pkgs.system; + inherit (pkgs) fetchFromGitHub; + inherit (pkgs.vimUtils) buildVimPlugin; + + # TODO: move these back into an overlay. + customVim = { + conf-vim = buildVimPlugin { + name = "conf-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "conf.vim"; + rev = "master"; + sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; + }; + }; + + edit-alternate-vim = buildVimPlugin { + name = "edit-alternate-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "edit_alternate.vim"; + rev = "master"; + sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; + }; + }; + + standard-vim = buildVimPlugin { + name = "standard-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "standard.vim"; + rev = "master"; + sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; + }; + }; + + vim-autoread = buildVimPlugin { + name = "vim-autoread"; + src = fetchFromGitHub { + owner = "djoshea"; + repo = "vim-autoread"; + rev = "24061f84652d768bfb85d222c88580b3af138dab"; + sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; + }; + }; + + vim-textobj-indent = buildVimPlugin { + name = "vim-textobj-indent"; + src = fetchFromGitHub { + owner = "kana"; + repo = "vim-textobj-indent"; + rev = "deb76867c302f933c8f21753806cbf2d8461b548"; + sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; + }; + }; + + toggle-checkbox-nvim = buildVimPlugin { + name = "toggle-checkbox-nvim"; + src = fetchFromGitHub { + owner = "opdavies"; + repo = "toggle-checkbox.nvim"; + rev = "main"; + sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; + }; + }; + + vim-heritage = buildVimPlugin { + name = "vim-heritage"; + src = fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-textobj-xmlattr = buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = buildVimPlugin { + name = "tabline-vim"; + src = fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = buildVimPlugin { + name = "vim-caser"; + src = fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-zoom = buildVimPlugin { + name = "vim-zoom"; + src = fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; + }; + }; in { - programs.neovim = inputs.opdavies-nvim.lib.mkHomeManager { inherit system; }; + programs.neovim = { + enable = true; + + plugins = with pkgs.vimPlugins; [ + comment-nvim + dial-nvim + fidget-nvim + gitsigns-nvim + harpoon + impatient-nvim + mini-nvim + neodev-nvim + nvim-spectre + nvim-web-devicons + oil-nvim + refactoring-nvim + sort-nvim + treesj + undotree + vim-abolish + vim-eunuch + vim-highlightedyank + vim-just + vim-nix + vim-obsession + vim-pasta + vim-repeat + vim-sleuth + vim-sort-motion + vim-terraform + vim-textobj-user + vim-unimpaired + + customVim.conf-vim + customVim.edit-alternate-vim + customVim.standard-vim + customVim.tabline-vim + customVim.vim-autoread + customVim.vim-textobj-indent + customVim.vim-textobj-xmlattr + customVim.vim-zoom + + # Testing + vim-test + + # Git + committia-vim + diffview-nvim + vim-fugitive + + # Debugging + nvim-dap + nvim-dap-ui + nvim-dap-virtual-text + + # Treesitter + (pkgs.vimPlugins.nvim-treesitter.withPlugins ( + plugins: with plugins; [ + bash + comment + css + csv + dockerfile + gitattributes + gitignore + go + html + javascript + json + kdl + lua + luadoc + make + markdown + markdown_inline + nix + php + phpdoc + query + rst + scss + sql + terraform + twig + typescript + vim + vimdoc + vue + xml + yaml + ] + )) + nvim-treesitter-context + nvim-treesitter-textobjects + + # LSP, linting and formatting + conform-nvim + lsp-status-nvim + nvim-lint + nvim-lspconfig + + # Completion + cmp-buffer + cmp-calc + cmp-cmdline + cmp-nvim-lsp + cmp-path + cmp-treesitter + cmp_luasnip + lspkind-nvim + nvim-cmp + + # Snippets + friendly-snippets + luasnip + + # Telescope + plenary-nvim + popup-nvim + telescope-frecency-nvim + telescope-fzf-native-nvim + telescope-live-grep-args-nvim + telescope-nvim + telescope-ui-select-nvim + + # Databases + vim-dadbod + vim-dadbod-ui + vim-dadbod-completion + + # Themes + catppuccin-nvim + + # Configuration. + inputs.self.packages.${pkgs.system}.opdavies-nvim + ]; + + extraLuaConfig = '' + if vim.loader then + vim.loader.enable() + end + + require "opdavies" + ''; + + extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + nodejs-slim + php81 + + # Language servers + gopls + lua-language-server + lua54Packages.luacheck + marksman + nil + nodePackages."@tailwindcss/language-server" + nodePackages.bash-language-server + nodePackages.dockerfile-language-server-nodejs + nodePackages.intelephense + nodePackages.typescript-language-server + nodePackages.vls + nodePackages.volar + nodePackages.vscode-langservers-extracted + nodePackages.vue-language-server + nodePackages.yaml-language-server + phpactor + terraform-ls + + # Formatters + black + eslint_d + nixfmt-rfc-style + nodePackages.prettier + stylua + yamlfmt + + # Tools + hadolint + html-tidy + nodePackages.jsonlint + nodePackages.markdownlint-cli + php82Packages.php-codesniffer + php82Packages.phpstan + proselint + shellcheck + yamllint + ]; + }; home.file.".markdownlint.yaml".text = '' default: true From e332a9835e936656db8a60b1f345f988c6933e9a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 9 Oct 2024 19:04:24 +0100 Subject: [PATCH 1027/2258] Remove the default `colorcolumn` --- config/neovim/lua/opdavies/options.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index cb6a5895..35059a0b 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -5,7 +5,6 @@ local settings = { autoindent = true, backup = false, breakindent = true, - colorcolumn = "80", expandtab = true, foldlevel = 1, foldlevelstart = 99, From 86308429dddaf097d11adea7159374d6fecbfb62 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 9 Oct 2024 19:14:54 +0100 Subject: [PATCH 1028/2258] Update Neovim to 0.10.1 --- lib/shared/home-manager.nix | 2 +- lib/shared/modules/neovim.nix | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 4ecaa9aa..7eecc260 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -20,7 +20,7 @@ in imports = [ (import ./modules/git.nix { inherit inputs pkgs pkgsUnstable; }) - (import ./modules/neovim.nix { inherit inputs pkgs; }) + (import ./modules/neovim.nix { inherit inputs pkgs pkgsUnstable; }) ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index 03f7e5b6..4de06f6d 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -1,4 +1,9 @@ -{ inputs, pkgs, ... }: +{ + inputs, + pkgs, + pkgsUnstable, + ... +}: let inherit (pkgs) fetchFromGitHub; @@ -121,6 +126,8 @@ in programs.neovim = { enable = true; + package = pkgsUnstable.neovim-unwrapped; + plugins = with pkgs.vimPlugins; [ comment-nvim dial-nvim From 5d19b61817e8b8fcb88181eefffb8b08db240951 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 14 Oct 2024 21:04:49 +0100 Subject: [PATCH 1029/2258] Add handbrake and jellyfin --- home/opdavies/default.nix | 1 + hosts/lemp11/configuration.nix | 1 + lib/nixos/configuration.nix | 3 +++ 3 files changed, 5 insertions(+) diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 411dd64b..23ed8abf 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -52,6 +52,7 @@ in discord gimp gscan2pdf + handbrake kdenlive meslo-lg obs-studio diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 40a42235..49cd8bb2 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -89,6 +89,7 @@ isNormalUser = true; description = "Oliver Davies"; extraGroups = [ + "jellyfin" "networkmanager" "wheel" ]; diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index c971b95b..7a5f51f9 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -175,6 +175,9 @@ in zeroad ]; + services.jellyfin.enable = true; + services.jellyfin.openFirewall = true; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; From 05114e59b7cca88119a2189209a981ce5b32f2bc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 21 Oct 2024 23:57:58 +0100 Subject: [PATCH 1030/2258] Update flake.lock file dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8974dd1c..900b390e 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1728269138, - "narHash": "sha256-oKxDImsOvgUZMY4NwXVyUc/c1HiU2qInX+b5BU0yXls=", + "lastModified": 1729509737, + "narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "ecfcd787f373f43307d764762e139a7cdeb9c22b", + "rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728193676, - "narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=", + "lastModified": 1729307008, + "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6", + "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", "type": "github" }, "original": { @@ -55,11 +55,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1729256560, + "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", "type": "github" }, "original": { From 8d07d76e2bfce0f128c4da1526137964bb261e1d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 23 Oct 2024 21:07:26 +0100 Subject: [PATCH 1031/2258] Replace `nil_ls` with `nixd` --- config/neovim/lua/opdavies/lsp/init.lua | 16 +++++++++++++++- lib/nixos/configuration.nix | 2 ++ lib/shared/modules/neovim.nix | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 6ae90f76..baa328ba 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -48,7 +48,21 @@ local servers = { }, marksman = true, - nil_ls = true, + + nixd = { + command = { "nixd" }, + settings = { + nixd = { + nixpkgs = { + expr = "import { }", + }, + + formatting = { + command = "nix fmt", + }, + }, + }, + }, tailwindcss = { filetypes = { "html", "javascript", "twig", "typescript", "vue" }, diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 7a5f51f9..5fca026a 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -17,6 +17,8 @@ in permittedInsecurePackages = [ "electron-27.3.11" ]; }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + # Bootloader. boot = { loader = { diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index 4de06f6d..c86617fb 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -281,7 +281,7 @@ in lua-language-server lua54Packages.luacheck marksman - nil + nixd nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs From 5b1f41a2e1826f301c1e1d0e191b706371532387 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 24 Oct 2024 14:39:00 +0100 Subject: [PATCH 1032/2258] nvim: add Twig snippets for Storybook --- .../neovim/lua/opdavies/snippets/ft/twig.lua | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 config/neovim/lua/opdavies/snippets/ft/twig.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/twig.lua b/config/neovim/lua/opdavies/snippets/ft/twig.lua new file mode 100644 index 00000000..41842e39 --- /dev/null +++ b/config/neovim/lua/opdavies/snippets/ft/twig.lua @@ -0,0 +1,31 @@ +local fmta = require("luasnip.extras.fmt").fmta +local ls = require "luasnip" + +local i = ls.insert_node + +local M = { + stories = fmta( + [[ + {% stories with { title: '' } %} + + <finish> + + {% endstories %} + ]], + { name = i(1), title = i(2), finish = i(0) } + ), + + story = fmta( + [[ + {% story <name> with { + name: '<label>', + args: {}, + } %} + <finish> + {% endstory %} + ]], + { name = i(1, "default"), label = i(2), finish = i(0) } + ), +} + +return M From c1e85f01d9f2c2ab377bd7143ee8c4d570a7fdaa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 25 Oct 2024 20:50:47 +0100 Subject: [PATCH 1033/2258] Add more Git-related abbreviations --- lib/shared/modules/zsh/abbreviations.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 2146273a..e2d13e50 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -19,7 +19,9 @@ abbr gap="git add -p" abbr gc="git commit" abbr gca="git commit --amend" abbr gcan="git commit --amend --no-edit" +abbr gcl="git clone" abbr gcm="git commit -m" +abbr gco="git checkout" abbr gd="git diff" abbr gf="git fetch" abbr gfa="git fetch --all" @@ -29,10 +31,12 @@ abbr gls="git log --stat" abbr gpl="git pull" abbr gplr="git pull --rebase" abbr gps="git push" +abbr gr="git rebase" abbr gri="git rebase -i" abbr gs="git status" abbr gsh="git show" -abbr gst="git status" +abbr gst="git stash" +abbr gstp="git stash pop" # tmux abbr ta="tmux attach" From 80927b1df20bc59cee79314497aebc80edb7e60c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 25 Oct 2024 22:06:26 +0100 Subject: [PATCH 1034/2258] Add `deliver` script Based on Jess Archer's script, this executes a command within a specified Docker Compose service or, if no matching one is not found, will execute it locally. --- lib/shared/home-manager-packages.nix | 2 ++ lib/shared/scripts/deliver.nix | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 lib/shared/scripts/deliver.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index daa54dc8..d1f16407 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -15,6 +15,7 @@ let create-zellij-session = writeShellApplication ( import ./scripts/create-zellij-session.nix { inherit pkgs; } ); + deliver = writeShellApplication (import ./scripts/deliver.nix { inherit pkgs; }); export-video-list = writeShellApplication ( import ./scripts/export-video-list.nix { inherit pkgs username; } ); @@ -70,6 +71,7 @@ with pkgs; # Scripts. create-zellij-session + deliver notetaker run t diff --git a/lib/shared/scripts/deliver.nix b/lib/shared/scripts/deliver.nix new file mode 100644 index 00000000..d24999d1 --- /dev/null +++ b/lib/shared/scripts/deliver.nix @@ -0,0 +1,25 @@ +{ pkgs }: +{ + name = "deliver"; + + runtimeInputs = with pkgs; [ docker ]; + + text = '' + set +o pipefail + + # Based on https://github.com/jessarcher/dotfiles/blob/ef692c35d64db2c13674dfc850a23b6acf9e8f91/scripts/deliver. + + docker_compose_service_name=$(docker compose ps --services 2>/dev/null | grep '^app\|php$' | head -n1) + + if [[ "$docker_compose_service_name" != "" ]]; then + if [ -t 1 ]; then + "${pkgs.docker}/bin/docker" compose exec "$docker_compose_service_name" "$@" + else + # The command is not being run in a TTY + "${pkgs.docker}/bin/docker" compose exec -T "$docker_compose_service_name" "$@" + fi + else + "$@" + fi + ''; +} From 1d4f4a46f563ac302d105b8388975eb932364fc9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 26 Oct 2024 01:40:11 +0100 Subject: [PATCH 1035/2258] Add `ytfzf` A tool for finding YouTube videos from the command line. --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 5fca026a..af032dc0 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -151,6 +151,7 @@ in taskwarrior-tui ttyper yt-dlp + ytfzf ] ++ pkgs.lib.optionals desktop [ acpi From d4daaa1509d924b8eed6b9b5fd04fd8cce3c79be Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 26 Oct 2024 13:02:38 +0100 Subject: [PATCH 1036/2258] Update flake.lock file dependencies --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 900b390e..15dabb67 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729509737, - "narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=", + "lastModified": 1729742320, + "narHash": "sha256-u3Of8xRkN//me8PU+RucKA59/6RNy4B2jcGAF36P4jI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037", + "rev": "e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729307008, - "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", + "lastModified": 1729691686, + "narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", + "rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37", "type": "github" }, "original": { @@ -55,11 +55,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1729256560, - "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { From cffba6b6b6ab0a9d82b6b8533936e1d2f4eb134d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 26 Oct 2024 15:45:29 +0100 Subject: [PATCH 1037/2258] Re-add en.utf-8.add spellfile --- config/neovim/.gitignore | 1 + config/neovim/lua/opdavies/options.lua | 2 +- config/neovim/spell/en.utf-8.add | 112 +++++++++++++++++++++++++ lib/shared/modules/zsh/aliases.nix | 2 +- 4 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 config/neovim/.gitignore create mode 100644 config/neovim/spell/en.utf-8.add diff --git a/config/neovim/.gitignore b/config/neovim/.gitignore new file mode 100644 index 00000000..f67ce914 --- /dev/null +++ b/config/neovim/.gitignore @@ -0,0 +1 @@ +/spell/*.spl diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index 35059a0b..b1665d5d 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -27,7 +27,7 @@ local settings = { signcolumn = "yes:1", smartindent = true, softtabstop = 2, - spellfile = "/home/opdavies/Code/opdavies.nvim/spell/en.utf-8.add", + spellfile = "/home/opdavies/Code/dotfiles.nix/config/neovim/spell/en.utf-8.add", swapfile = false, syntax = "on", tabstop = 2, diff --git a/config/neovim/spell/en.utf-8.add b/config/neovim/spell/en.utf-8.add new file mode 100644 index 00000000..5bec13b4 --- /dev/null +++ b/config/neovim/spell/en.utf-8.add @@ -0,0 +1,112 @@ +ANP +AWS +Acquia +Ansible +Appnovation +Architected +BAU +Behat +Bluecheese +CMSes +CTI +Centarro +CiviCRM +Configs +DDEV +DevOps +DigitalOcean +Drupal +Drupal's +DrupalCamp +DrupalCon +DrupalEasy +Drupaler +Drush +FPM +FTSE +HDN +HashiCorp +InvalidArgumentException +Inviqa +JSON +Kickstart +Lando +Laravel +Linode +Magento +Microserve +Mischa +MySQL +NGINX +Neovim +Netlify +Nginx +NixOS +NodeInterface +Nomensa +OpenID +OpenTofu +PDOException +PHPStan +PHPUnit +Packagist +PhpStorm +PostBuilder +PostNodeRepository +Pulumi +S3 +SHA +SQLSTATE +SQLite +SSO +Sculpin +Silex +Sylius +Symfony +TODO +TermInterface +Themers +TypeScript +Ubercart +VSCode +WCAG +WSL +Wellbeing +ZSH +Zellij +Zettelkasten +architected +assertContainsOnlyInstancesOf +assertSame +autorandr +bootcamp +contrib +dotfiles +drupal +eCommerce +foreach +getPost +hotfix +isNotPublished +isPublished +localhost +mentees +nodeStorage +opdavies +osCommerce +param +reStructuredText +rebase +rebasing +roadmapping +rst2pdf +rwxrob +src +stylesheet +stylesheets +testbot +tmux +wildcard +worktree +worktrees +www diff --git a/lib/shared/modules/zsh/aliases.nix b/lib/shared/modules/zsh/aliases.nix index d77a62d6..8a19f590 100644 --- a/lib/shared/modules/zsh/aliases.nix +++ b/lib/shared/modules/zsh/aliases.nix @@ -9,6 +9,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - vss = "LC_ALL=C sort --unique $REPOS/opdavies.nvim/spell/en.utf-8.add --output $REPOS/opdavies.nvim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique $REPOS/dotfiles.nix/config/neovim/spell/en.utf-8.add --output $REPOS/dotfiles.nix/config/neovim/spell/en.utf-8.add"; wt = "git worktree"; } From 576e8c37a2eebbacea26c49472ae3d2ee668e283 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 26 Oct 2024 16:07:04 +0100 Subject: [PATCH 1038/2258] Re-add nvim-tmux-navigation Easier navigation between Neovim and tmux panes. --- config/neovim/plugin/nvim-tmux-navigation.lua | 12 ++++++++++++ lib/shared/modules/neovim.nix | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100644 config/neovim/plugin/nvim-tmux-navigation.lua diff --git a/config/neovim/plugin/nvim-tmux-navigation.lua b/config/neovim/plugin/nvim-tmux-navigation.lua new file mode 100644 index 00000000..ace897a5 --- /dev/null +++ b/config/neovim/plugin/nvim-tmux-navigation.lua @@ -0,0 +1,12 @@ +require("nvim-tmux-navigation").setup { + disable_when_zoomed = true, + + keybindings = { + left = "<C-h>", + down = "<C-j>", + up = "<C-k>", + right = "<C-l>", + last_active = "<C-\\>", + next = "<C-Space>", + }, +} diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index c86617fb..4218d798 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -31,6 +31,16 @@ let }; }; + nvim-tmux-navigation = buildVimPlugin { + name = "nvim-tmux-navigation"; + src = fetchFromGitHub { + owner = "alexghergh"; + repo = "nvim-tmux-navigation"; + rev = "4898c98702954439233fdaf764c39636681e2861"; + sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; + }; + }; + standard-vim = buildVimPlugin { name = "standard-vim"; src = fetchFromGitHub { @@ -160,6 +170,7 @@ in customVim.conf-vim customVim.edit-alternate-vim + customVim.nvim-tmux-navigation customVim.standard-vim customVim.tabline-vim customVim.vim-autoread From 7aa65d419ef4194d377dbceee0589d1418c6cae9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Oct 2024 12:08:57 +0000 Subject: [PATCH 1039/2258] Add more Git abbreviations --- lib/shared/modules/zsh/abbreviations.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index e2d13e50..5fb8c8e0 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -31,6 +31,11 @@ abbr gls="git log --stat" abbr gpl="git pull" abbr gplr="git pull --rebase" abbr gps="git push" +abbr gpsa="git push acquia" +abbr gpsam="git push acquia main" +abbr gpsap="git push acquia HEAD:production" +abbr gpso="git push origin" +abbr gpsom="git push origin main" abbr gr="git rebase" abbr gri="git rebase -i" abbr gs="git status" From a7f2d90542098e8d5304ff77b7088031c44f9a8c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Oct 2024 12:09:19 +0000 Subject: [PATCH 1040/2258] Order zsh abbreviations alphabetically --- lib/shared/modules/zsh/abbreviations.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 5fb8c8e0..395cc3f2 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -13,9 +13,9 @@ abbr vv="cat ~/Documents/videos.json" abbr g="git" abbr ga="git add" -abbr gb="git blame" abbr gan="git add -N" abbr gap="git add -p" +abbr gb="git blame" abbr gc="git commit" abbr gca="git commit --amend" abbr gcan="git commit --amend --no-edit" From 1bc80ccef38977cf94ccff9ddd72565ac5049baa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Oct 2024 16:29:22 +0000 Subject: [PATCH 1041/2258] Update `t` script Stop automatically running `.tmux` files as I don't always want everything to run when opening a project. This also simplifies the code within the script. This also refactors the logic for creating and switching sessions as it didn't work 100% of the time. This is nearer to Jess Archer's version of the script with less error output and changes needed for shellcheck. --- lib/shared/scripts/t.nix | 88 +++++++++------------------------------- 1 file changed, 20 insertions(+), 68 deletions(-) diff --git a/lib/shared/scripts/t.nix b/lib/shared/scripts/t.nix index d9f91e3b..b837dd34 100644 --- a/lib/shared/scripts/t.nix +++ b/lib/shared/scripts/t.nix @@ -9,78 +9,30 @@ ]; text = '' - # Credit to ThePrimeagen and Jess Archer. + # Based on similar scripts by ThePrimeagen and Jess Archer. - function execute_tmux_file { - local tmux_file="$1" - selected_path="$2" - session_name="$3" + if [[ $# -eq 1 ]]; then + selected_path=$1 + else + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find "$REPOS" ~/Documents \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "_archive" \ + ! -name "*-old" \ + ! -name "*.old" + ) - DIGEST="$(openssl sha512 "$tmux_file")" + selected_path=$(echo "''${items}" | sort | fzf --reverse) + fi - # Prompt the first time we see a given .tmux file before running it. - if ! grep -q "$DIGEST" ~/..tmux.digests 2> /dev/null; then - cat "$tmux_file" + session_name=$(basename "$selected_path" | sed 's/\./_/g') - read -r -n 1 -p "Trust (and run) this .tmux file? (t = trust, otherwise = skip) " + if tmux switch-client -t="$session_name" 2>/dev/null; then + exit 0 + fi - if [[ $REPLY =~ ^[Tt]$ ]]; then - echo "$DIGEST" >> ~/..tmux.digests - - create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" - fi - else - create_session_and_run_tmux_file "$tmux_file" "$selected_path" "$session_name" - fi - } - - function create_session_and_run_tmux_file { - tmux_file="$1" - selected_path="$2" - session_name="$3" - - tmux new-session -d -c "$selected_path" -s "$session_name" - (cd "$selected_path" && "$tmux_file" "$session_name") - } - - function main { - if [[ $# -eq 1 ]]; then - selected_path=$1 - else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find "$REPOS" ~/Documents \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "_archive" \ - ! -name "*-old" \ - ! -name "*.old" - ) - - selected_path=$(echo "''${items}" | sort | fzf --reverse) - fi - - session_name=$(basename "$selected_path" | sed 's/\./_/g') - - # Attach to an existing session, if one exists. - if tmux has-session -t "$session_name" 2> /dev/null; then - tmux attach -t "$session_name" || tmux switch-client -t "$session_name" - exit - fi - - if [[ -x "$selected_path/.tmux" ]]; then - execute_tmux_file "$selected_path/.tmux" "$selected_path" "$session_name" - elif [[ -x "$selected_path/.ignored/.tmux" ]]; then - execute_tmux_file "$selected_path/.ignored/.tmux" "$selected_path" "$session_name" - fi - - # If there is no session, create one. - if ! tmux has-session -t "$session_name" 2> /dev/null; then - tmux new-session -d -c "$selected_path" -s "$session_name" - fi - - tmux switch-client -t "$session_name" 2>/dev/null || tmux attach-session -t "$session_name" - } - - main "$@" + ( (tmux new-session -c "$selected_path" -d -s "$session_name" && tmux switch-client -t "$session_name") 2>/dev/null ) || + tmux new-session -c "$selected_path" -A -s "$session_name" ''; } From 38fb5ddb25c45057d08978d6257abd051cc97f76 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Oct 2024 12:00:00 +0000 Subject: [PATCH 1042/2258] Use `gofmt` as a formatter for go files --- config/neovim/plugin/conform.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/plugin/conform.lua b/config/neovim/plugin/conform.lua index fc5ef783..462abe4f 100644 --- a/config/neovim/plugin/conform.lua +++ b/config/neovim/plugin/conform.lua @@ -3,6 +3,7 @@ local conform = require "conform" conform.setup { formatters_by_ft = { bash = { "shellcheck" }, + go = { "gofmt" }, javascript = { { "prettierd", "prettier" } }, just = { "just" }, lua = { "stylua" }, From 7f2be583d49d7b777f80b27a51ae7ba7976135c4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Oct 2024 17:03:14 +0000 Subject: [PATCH 1043/2258] Make direnv quieter --- home/opdavies/default.nix | 1 + lib/wsl2/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 23ed8abf..22793136 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -70,6 +70,7 @@ in ); home.sessionVariables = { + DIRENV_LOG_FORMAT = ""; EDITOR = "nvim"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 025e2446..02bb6e92 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -36,6 +36,7 @@ inputs.home-manager.lib.homeManagerConfiguration { home.packages = shared-packages ++ [ pkgs.wsl-open ]; home.sessionVariables = { + DIRENV_LOG_FORMAT = ""; EDITOR = "nvim"; PATH = "$PATH:./vendor/bin:./node_modules/.bin"; PULUMI_SKIP_UPDATE_CHECK = "true"; From 83ae12e0806e53caa17422cd965308add393c234 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Oct 2024 18:00:00 +0000 Subject: [PATCH 1044/2258] Add built Go binaries to $PATH --- home/opdavies/default.nix | 9 ++++++++- lib/wsl2/default.nix | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 22793136..67eefa1f 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -8,6 +8,8 @@ ... }: let + inherit (pkgs) lib; + desktop-config = import ./desktop.nix { inherit config @@ -75,7 +77,12 @@ in LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; - PATH = "$PATH:./vendor/bin:./node_modules/.bin"; + PATH = lib.concatStringsSep ":" [ + "$PATH" + "$HOME/go/bin" + "./vendor/bin" + "./node_modules/.bin" + ]; PULUMI_SKIP_UPDATE_CHECK = "true"; REPOS = "$HOME/Code"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 02bb6e92..ba93081a 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -6,6 +6,8 @@ { system }: let + inherit (pkgs) lib; + pkgs = inputs.nixpkgs.legacyPackages.${system}; shared-config = import "${self}/lib/shared/home-manager.nix" { @@ -38,7 +40,12 @@ inputs.home-manager.lib.homeManagerConfiguration { home.sessionVariables = { DIRENV_LOG_FORMAT = ""; EDITOR = "nvim"; - PATH = "$PATH:./vendor/bin:./node_modules/.bin"; + PATH = lib.concatStringsSep ":" [ + "$PATH" + "$HOME/go/bin" + "./vendor/bin" + "./node_modules/.bin" + ]; PULUMI_SKIP_UPDATE_CHECK = "true"; REPOS = "$HOME/Code"; RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; From 3cc5c97178fe108d8d7ac674c4beb5733de388c9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Oct 2024 14:52:31 +0000 Subject: [PATCH 1045/2258] git: remove `unstage` alias and move it to a zsh ...abbreviation --- lib/shared/modules/git.nix | 1 - lib/shared/modules/zsh/abbreviations.zsh | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index c2397ab8..26b9fb81 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -73,7 +73,6 @@ sla = "log --oneline --decorate --graph --all -20"; slap = "log --oneline --decorate --graph --all"; slp = "log --oneline --decorate"; - staged = "diff --staged"; stash = "stash --included-untracked"; unassume = "update-index --no-assume-unchanged"; uncommit = "reset --soft HEAD^"; diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 395cc3f2..051f4b3f 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -23,6 +23,7 @@ abbr gcl="git clone" abbr gcm="git commit -m" abbr gco="git checkout" abbr gd="git diff" +abbr gds="git diff --staged" abbr gf="git fetch" abbr gfa="git fetch --all" abbr gl="git log" From 241e15315dab90202d5ac51699b57bdd9c228581 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 1 Nov 2024 23:01:23 +0000 Subject: [PATCH 1046/2258] Add `gtypist` --- lib/nixos/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index af032dc0..624f8437 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -143,6 +143,7 @@ in environment.systemPackages = with pkgs; [ + gtypist fastfetch mermaid-cli mkcert From 11a75714f9ee1ef9246082cb9ed4a2bbbffed245 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 3 Nov 2024 19:28:59 +0000 Subject: [PATCH 1047/2258] Prepare for switching back to unstable --- hosts/lemp11/configuration.nix | 1 - lib/nixos/configuration.nix | 1 - lib/shared/home-manager-packages.nix | 2 +- lib/shared/modules/neovim.nix | 1 - 4 files changed, 1 insertion(+), 4 deletions(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 49cd8bb2..2c1b957d 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -65,7 +65,6 @@ services.printing.enable = true; # Enable sound with pipewire. - sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 624f8437..79f4e1d3 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -103,7 +103,6 @@ in services.printing.enable = true; # Enable sound with pipewire. - sound.enable = true; hardware.pulseaudio.enable = false; security = { diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index d1f16407..4754974b 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -48,8 +48,8 @@ with pkgs; inotify-tools jq lua + mariadb mob - mysql php phpPackages.composer pv diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index 4218d798..c289291f 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -299,7 +299,6 @@ in nodePackages.intelephense nodePackages.typescript-language-server nodePackages.vls - nodePackages.volar nodePackages.vscode-langservers-extracted nodePackages.vue-language-server nodePackages.yaml-language-server From 586aa7f20799d6e1bb21d43648cf7a687c8c9722 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 31 Oct 2024 18:01:23 +0000 Subject: [PATCH 1048/2258] Try `kanata` for configuring my laptop keyboard --- modules/nixos/default.nix | 7 ++++++- modules/nixos/kanata.nix | 42 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/kanata.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b982d108..d21b3cb1 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1 +1,6 @@ -{ imports = [ ./docker.nix ]; } +{ + imports = [ + ./docker.nix + ./kanata.nix + ]; +} diff --git a/modules/nixos/kanata.nix b/modules/nixos/kanata.nix new file mode 100644 index 00000000..763bcd5d --- /dev/null +++ b/modules/nixos/kanata.nix @@ -0,0 +1,42 @@ +{ + services.kanata = { + enable = true; + + keyboards = { + internalKeyboard = { + devices = [ + "/dev/input/event18" # lemp11 + ]; + + extraDefCfg = "process-unmapped-keys yes"; + + config = '' + (defsrc + caps a s d f j k l ; + ) + + (defvar + tap-time 150 + hold-time 200 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time a lmet) + s (tap-hold $tap-time $hold-time s lalt) + d (tap-hold $tap-time $hold-time d lsft) + f (tap-hold $tap-time $hold-time f lctl) + j (tap-hold $tap-time $hold-time j rctl) + k (tap-hold $tap-time $hold-time k rsft) + l (tap-hold $tap-time $hold-time l ralt) + ; (tap-hold $tap-time $hold-time ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; + }; + }; + }; +} From c155c3627077ff181f0408929f2f14767b155b78 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 4 Nov 2024 23:03:22 +0000 Subject: [PATCH 1049/2258] Add an abbreviation for `git branch` --- lib/shared/modules/zsh/abbreviations.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/lib/shared/modules/zsh/abbreviations.zsh index 051f4b3f..761e6f57 100644 --- a/lib/shared/modules/zsh/abbreviations.zsh +++ b/lib/shared/modules/zsh/abbreviations.zsh @@ -15,7 +15,8 @@ abbr g="git" abbr ga="git add" abbr gan="git add -N" abbr gap="git add -p" -abbr gb="git blame" +abbr gb="git branch" +abbr gbl="git blame" abbr gc="git commit" abbr gca="git commit --amend" abbr gcan="git commit --amend --no-edit" From 216a1d3321307d8a5a0ef571c10c8231a399ddea Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 4 Nov 2024 23:05:42 +0000 Subject: [PATCH 1050/2258] Tweak max CPU performance settings --- lib/nixos/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 79f4e1d3..bb0b033f 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -44,8 +44,8 @@ in PCIE_ASPM_ON_BAT = "powersupersave"; CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; - CPU_MAX_PERF_ON_AC = "100"; - CPU_MAX_PERF_ON_BAT = "30"; + CPU_MAX_PERF_ON_AC = "95"; + CPU_MAX_PERF_ON_BAT = "50"; STOP_CHARGE_THRESH_BAT1 = "95"; STOP_CHARGE_THRESH_BAT0 = "95"; }; From 4da89a329f500100241c6a2f42dea731fb282155 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 25 Oct 2024 00:24:33 +0100 Subject: [PATCH 1051/2258] Move custom Vim plugins back to an overlay --- lib/nixos/configuration.nix | 10 ++- lib/shared/modules/neovim.nix | 145 ++----------------------------- lib/wsl2/default.nix | 4 +- overlays/vim-plugins-overlay.nix | 130 +++++++++++++++++++++++++++ 4 files changed, 149 insertions(+), 140 deletions(-) create mode 100644 overlays/vim-plugins-overlay.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index bb0b033f..95d57735 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -11,10 +11,14 @@ in { imports = [ ../../modules/nixos/desktop ]; - nixpkgs.config = { - allowUnfree = true; + nixpkgs = { + config = { + allowUnfree = true; - permittedInsecurePackages = [ "electron-27.3.11" ]; + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; + + overlays = [ (import "${self}/overlays/vim-plugins-overlay.nix") ]; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index c289291f..b086118f 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -5,133 +5,6 @@ ... }: -let - inherit (pkgs) fetchFromGitHub; - inherit (pkgs.vimUtils) buildVimPlugin; - - # TODO: move these back into an overlay. - customVim = { - conf-vim = buildVimPlugin { - name = "conf-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "conf.vim"; - rev = "master"; - sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; - }; - }; - - edit-alternate-vim = buildVimPlugin { - name = "edit-alternate-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "edit_alternate.vim"; - rev = "master"; - sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; - }; - }; - - nvim-tmux-navigation = buildVimPlugin { - name = "nvim-tmux-navigation"; - src = fetchFromGitHub { - owner = "alexghergh"; - repo = "nvim-tmux-navigation"; - rev = "4898c98702954439233fdaf764c39636681e2861"; - sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; - }; - }; - - standard-vim = buildVimPlugin { - name = "standard-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "standard.vim"; - rev = "master"; - sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; - }; - }; - - vim-autoread = buildVimPlugin { - name = "vim-autoread"; - src = fetchFromGitHub { - owner = "djoshea"; - repo = "vim-autoread"; - rev = "24061f84652d768bfb85d222c88580b3af138dab"; - sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; - }; - }; - - vim-textobj-indent = buildVimPlugin { - name = "vim-textobj-indent"; - src = fetchFromGitHub { - owner = "kana"; - repo = "vim-textobj-indent"; - rev = "deb76867c302f933c8f21753806cbf2d8461b548"; - sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; - }; - }; - - toggle-checkbox-nvim = buildVimPlugin { - name = "toggle-checkbox-nvim"; - src = fetchFromGitHub { - owner = "opdavies"; - repo = "toggle-checkbox.nvim"; - rev = "main"; - sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; - }; - }; - - vim-heritage = buildVimPlugin { - name = "vim-heritage"; - src = fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-textobj-xmlattr = buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = buildVimPlugin { - name = "tabline-vim"; - src = fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = buildVimPlugin { - name = "vim-caser"; - src = fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-zoom = buildVimPlugin { - name = "vim-zoom"; - src = fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - }; -in { programs.neovim = { enable = true; @@ -168,15 +41,15 @@ in vim-textobj-user vim-unimpaired - customVim.conf-vim - customVim.edit-alternate-vim - customVim.nvim-tmux-navigation - customVim.standard-vim - customVim.tabline-vim - customVim.vim-autoread - customVim.vim-textobj-indent - customVim.vim-textobj-xmlattr - customVim.vim-zoom + conf-vim + edit-alternate-vim + nvim-tmux-navigation + standard-vim + tabline-vim + vim-autoread + vim-textobj-indent + vim-textobj-xmlattr + vim-zoom # Testing vim-test diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index ba93081a..5e3c55af 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -8,7 +8,9 @@ let inherit (pkgs) lib; - pkgs = inputs.nixpkgs.legacyPackages.${system}; + pkgs = import inputs.nixpkgs { + overlays = [ (import "${self}/overlays/vim-plugins-overlay.nix") ]; + }; shared-config = import "${self}/lib/shared/home-manager.nix" { inherit diff --git a/overlays/vim-plugins-overlay.nix b/overlays/vim-plugins-overlay.nix new file mode 100644 index 00000000..8b9dc8bf --- /dev/null +++ b/overlays/vim-plugins-overlay.nix @@ -0,0 +1,130 @@ +final: prev: + +let + inherit (final) fetchFromGitHub; + inherit (final.vimUtils) buildVimPlugin; +in +{ + vimPlugins = prev.vimPlugins // { + conf-vim = buildVimPlugin { + name = "conf-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "conf.vim"; + rev = "master"; + sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; + }; + }; + + edit-alternate-vim = buildVimPlugin { + name = "edit-alternate-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "edit_alternate.vim"; + rev = "master"; + sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; + }; + }; + + nvim-tmux-navigation = buildVimPlugin { + name = "nvim-tmux-navigation"; + src = fetchFromGitHub { + owner = "alexghergh"; + repo = "nvim-tmux-navigation"; + rev = "4898c98702954439233fdaf764c39636681e2861"; + sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; + }; + }; + + standard-vim = buildVimPlugin { + name = "standard-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "standard.vim"; + rev = "master"; + sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; + }; + }; + + vim-autoread = buildVimPlugin { + name = "vim-autoread"; + src = fetchFromGitHub { + owner = "djoshea"; + repo = "vim-autoread"; + rev = "24061f84652d768bfb85d222c88580b3af138dab"; + sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; + }; + }; + + vim-textobj-indent = buildVimPlugin { + name = "vim-textobj-indent"; + src = fetchFromGitHub { + owner = "kana"; + repo = "vim-textobj-indent"; + rev = "deb76867c302f933c8f21753806cbf2d8461b548"; + sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; + }; + }; + + toggle-checkbox-nvim = buildVimPlugin { + name = "toggle-checkbox-nvim"; + src = fetchFromGitHub { + owner = "opdavies"; + repo = "toggle-checkbox.nvim"; + rev = "main"; + sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; + }; + }; + + vim-heritage = buildVimPlugin { + name = "vim-heritage"; + src = fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-textobj-xmlattr = buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = buildVimPlugin { + name = "tabline-vim"; + src = fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = buildVimPlugin { + name = "vim-caser"; + src = fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-zoom = buildVimPlugin { + name = "vim-zoom"; + src = fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; + }; + + }; +} From cd25bf96e9bd318129a9001da7844845aa9101b8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 07:45:36 +0000 Subject: [PATCH 1052/2258] Remove `notetaker` script --- config/awesome/rc.lua | 5 ----- lib/shared/home-manager-packages.nix | 2 -- lib/shared/scripts/notetaker.nix | 25 ------------------------- 3 files changed, 32 deletions(-) delete mode 100644 lib/shared/scripts/notetaker.nix diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index f2f72680..5565f51b 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -283,10 +283,6 @@ globalkeys = gears.table.join( awful.client.focus.byidx(1) end, { description = "focus next by index", group = "client" }), - awful.key({ modkey }, "n", function() - awful.util.spawn "alacritty --class notetaker_window --command notetaker" - end, { description = "open today's daily note", group = "client" }), - awful.key({ modkey }, "w", function() mymainmenu:show() end, { description = "show main menu", group = "awesome" }), @@ -594,7 +590,6 @@ awful.rules.rules = { "Sxiv", "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. "Wpa_gui", - "notetaker_window", "veromix", "xtightvncviewer", "zoom", diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 4754974b..fcb017a1 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -19,7 +19,6 @@ let export-video-list = writeShellApplication ( import ./scripts/export-video-list.nix { inherit pkgs username; } ); - notetaker = writeShellApplication (import ./scripts/notetaker.nix); run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); timer = writeShellApplication (import ./scripts/timer.nix); @@ -72,7 +71,6 @@ with pkgs; # Scripts. create-zellij-session deliver - notetaker run t ] diff --git a/lib/shared/scripts/notetaker.nix b/lib/shared/scripts/notetaker.nix deleted file mode 100644 index e1cc36a5..00000000 --- a/lib/shared/scripts/notetaker.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - name = "notetaker"; - - runtimeInputs = [ ]; - - text = '' - # Based on https://github.com/CalinLeafshade/dots/blob/fe685d45201f267829b75fe5ca7e3da9d4aa4c02/bin/bin/notetaker. - - today="$(date +%Y-%m-%d)" - note_path="''${NOTES_PATH:-$HOME/Documents/wiki}" - note_filename="$note_path/daily-notes/$(date +%Y)/$(date +%m)/$today.md" - - if [[ ! -f "$note_filename" ]]; then - mkdir -p "$(dirname "$note_filename")" - - echo "# $today" > "$note_filename" - fi - - nvim -c "normal Go" \ - -c "normal Go## $(date +%H:%M)" \ - -c "normal G2o" \ - -c "normal zz" \ - -c "startinsert" "$note_filename" - ''; -} From 4f9073757cf864d88ba7d7843615658327038970 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 12:00:00 +0000 Subject: [PATCH 1053/2258] Refactor vim plugins overlay Add overlays for additions, modifications and unstable packages, and move each additional plugin into its own additional package. --- flake.nix | 14 ++- lib/nixos/configuration.nix | 7 +- lib/nixos/default.nix | 2 + lib/wsl2/default.nix | 7 +- overlays/default.nix | 20 ++++ overlays/vim-plugins-overlay.nix | 130 ---------------------- pkgs/default.nix | 20 ++++ pkgs/vim-plugins/conf-vim.nix | 11 ++ pkgs/vim-plugins/edit-alternate-vim.nix | 11 ++ pkgs/vim-plugins/nvim-tmux-navigation.nix | 11 ++ pkgs/vim-plugins/standard-vim.nix | 11 ++ pkgs/vim-plugins/tabline-vim.nix | 11 ++ pkgs/vim-plugins/vim-autoread.nix | 11 ++ pkgs/vim-plugins/vim-caser.nix | 11 ++ pkgs/vim-plugins/vim-heritage.nix | 11 ++ pkgs/vim-plugins/vim-textobj-indent.nix | 11 ++ pkgs/vim-plugins/vim-textobj-xmlattr.nix | 11 ++ pkgs/vim-plugins/vim-zoom.nix | 11 ++ 18 files changed, 188 insertions(+), 133 deletions(-) create mode 100644 overlays/default.nix delete mode 100644 overlays/vim-plugins-overlay.nix create mode 100644 pkgs/default.nix create mode 100644 pkgs/vim-plugins/conf-vim.nix create mode 100644 pkgs/vim-plugins/edit-alternate-vim.nix create mode 100644 pkgs/vim-plugins/nvim-tmux-navigation.nix create mode 100644 pkgs/vim-plugins/standard-vim.nix create mode 100644 pkgs/vim-plugins/tabline-vim.nix create mode 100644 pkgs/vim-plugins/vim-autoread.nix create mode 100644 pkgs/vim-plugins/vim-caser.nix create mode 100644 pkgs/vim-plugins/vim-heritage.nix create mode 100644 pkgs/vim-plugins/vim-textobj-indent.nix create mode 100644 pkgs/vim-plugins/vim-textobj-xmlattr.nix create mode 100644 pkgs/vim-plugins/vim-zoom.nix diff --git a/flake.nix b/flake.nix index df8aec0c..ad540163 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,8 @@ ... }@inputs: let + inherit (self) outputs; + system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -27,13 +29,21 @@ mkNixos = import ./lib/nixos { inherit inputs + outputs nixos-hardware pkgs self username ; }; - mkWsl = import ./lib/wsl2 { inherit inputs self username; }; + mkWsl = import ./lib/wsl2 { + inherit + inputs + outputs + self + username + ; + }; inherit (pkgs) mkShell; inherit (pkgs.vimUtils) buildVimPlugin; @@ -50,6 +60,8 @@ formatter.${system} = pkgs.nixfmt-rfc-style; + overlays = import ./overlays { inherit inputs; }; + nixosConfigurations = { lemp11 = mkNixos { desktop = true; diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 95d57735..7a3e9525 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -1,5 +1,6 @@ { inputs, + outputs, desktop ? false, hostname, self, @@ -18,7 +19,11 @@ in permittedInsecurePackages = [ "electron-27.3.11" ]; }; - overlays = [ (import "${self}/overlays/vim-plugins-overlay.nix") ]; + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 1446396b..173e486d 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -1,5 +1,6 @@ { inputs, + outputs, nixos-hardware, pkgs, self, @@ -12,6 +13,7 @@ let configuration = import ./configuration.nix { inherit + outputs desktop hostname inputs diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index 5e3c55af..0b4224f3 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -1,5 +1,6 @@ { inputs, + outputs, self, username, }: @@ -9,7 +10,11 @@ let inherit (pkgs) lib; pkgs = import inputs.nixpkgs { - overlays = [ (import "${self}/overlays/vim-plugins-overlay.nix") ]; + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; }; shared-config = import "${self}/lib/shared/home-manager.nix" { diff --git a/overlays/default.nix b/overlays/default.nix new file mode 100644 index 00000000..a9643c2d --- /dev/null +++ b/overlays/default.nix @@ -0,0 +1,20 @@ +{ inputs, ... }: + +{ + additions = + final: prev: + import ../pkgs { + inherit prev; + + pkgs = final; + }; + + modifications = final: prev: { }; + + unstable-packages = final: _prev: { + unstable = import inputs.nixpkgs-unstable { + config.allowUnfree = true; + system = final.system; + }; + }; +} diff --git a/overlays/vim-plugins-overlay.nix b/overlays/vim-plugins-overlay.nix deleted file mode 100644 index 8b9dc8bf..00000000 --- a/overlays/vim-plugins-overlay.nix +++ /dev/null @@ -1,130 +0,0 @@ -final: prev: - -let - inherit (final) fetchFromGitHub; - inherit (final.vimUtils) buildVimPlugin; -in -{ - vimPlugins = prev.vimPlugins // { - conf-vim = buildVimPlugin { - name = "conf-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "conf.vim"; - rev = "master"; - sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; - }; - }; - - edit-alternate-vim = buildVimPlugin { - name = "edit-alternate-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "edit_alternate.vim"; - rev = "master"; - sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; - }; - }; - - nvim-tmux-navigation = buildVimPlugin { - name = "nvim-tmux-navigation"; - src = fetchFromGitHub { - owner = "alexghergh"; - repo = "nvim-tmux-navigation"; - rev = "4898c98702954439233fdaf764c39636681e2861"; - sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; - }; - }; - - standard-vim = buildVimPlugin { - name = "standard-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "standard.vim"; - rev = "master"; - sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; - }; - }; - - vim-autoread = buildVimPlugin { - name = "vim-autoread"; - src = fetchFromGitHub { - owner = "djoshea"; - repo = "vim-autoread"; - rev = "24061f84652d768bfb85d222c88580b3af138dab"; - sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; - }; - }; - - vim-textobj-indent = buildVimPlugin { - name = "vim-textobj-indent"; - src = fetchFromGitHub { - owner = "kana"; - repo = "vim-textobj-indent"; - rev = "deb76867c302f933c8f21753806cbf2d8461b548"; - sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; - }; - }; - - toggle-checkbox-nvim = buildVimPlugin { - name = "toggle-checkbox-nvim"; - src = fetchFromGitHub { - owner = "opdavies"; - repo = "toggle-checkbox.nvim"; - rev = "main"; - sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; - }; - }; - - vim-heritage = buildVimPlugin { - name = "vim-heritage"; - src = fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-textobj-xmlattr = buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = buildVimPlugin { - name = "tabline-vim"; - src = fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = buildVimPlugin { - name = "vim-caser"; - src = fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-zoom = buildVimPlugin { - name = "vim-zoom"; - src = fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 00000000..361b055b --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,20 @@ +{ pkgs, prev, ... }: + +let + inherit (pkgs) callPackage; +in +{ + vimPlugins = prev.vimPlugins // { + conf-vim = callPackage ./vim-plugins/conf-vim.nix { }; + edit-alternate-vim = callPackage ./vim-plugins/edit-alternate-vim.nix { }; + nvim-tmux-navigation = callPackage ./vim-plugins/nvim-tmux-navigation.nix { }; + standard-vim = callPackage ./vim-plugins/standard-vim.nix { }; + tabline-vim = callPackage ./vim-plugins/tabline-vim.nix { }; + vim-autoread = callPackage ./vim-plugins/vim-autoread.nix { }; + vim-caser = callPackage ./vim-plugins/vim-caser.nix { }; + vim-heritage = callPackage ./vim-plugins/vim-heritage.nix { }; + vim-textobj-indent = callPackage ./vim-plugins/vim-textobj-indent.nix { }; + vim-textobj-xmlattr = callPackage ./vim-plugins/vim-textobj-xmlattr.nix { }; + vim-zoom = callPackage ./vim-plugins/vim-zoom.nix { }; + }; +} diff --git a/pkgs/vim-plugins/conf-vim.nix b/pkgs/vim-plugins/conf-vim.nix new file mode 100644 index 00000000..634e75c9 --- /dev/null +++ b/pkgs/vim-plugins/conf-vim.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "conf-vim"; + src = pkgs.fetchFromGitHub { + owner = "tjdevries"; + repo = "conf.vim"; + rev = "master"; + sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; + }; +} diff --git a/pkgs/vim-plugins/edit-alternate-vim.nix b/pkgs/vim-plugins/edit-alternate-vim.nix new file mode 100644 index 00000000..dbfc2876 --- /dev/null +++ b/pkgs/vim-plugins/edit-alternate-vim.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "edit-alternate-vim"; + src = pkgs.fetchFromGitHub { + owner = "tjdevries"; + repo = "edit_alternate.vim"; + rev = "master"; + sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; + }; +} diff --git a/pkgs/vim-plugins/nvim-tmux-navigation.nix b/pkgs/vim-plugins/nvim-tmux-navigation.nix new file mode 100644 index 00000000..19835cb1 --- /dev/null +++ b/pkgs/vim-plugins/nvim-tmux-navigation.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "nvim-tmux-navigation"; + src = pkgs.fetchFromGitHub { + owner = "alexghergh"; + repo = "nvim-tmux-navigation"; + rev = "4898c98702954439233fdaf764c39636681e2861"; + sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; + }; +} diff --git a/pkgs/vim-plugins/standard-vim.nix b/pkgs/vim-plugins/standard-vim.nix new file mode 100644 index 00000000..d53432cd --- /dev/null +++ b/pkgs/vim-plugins/standard-vim.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "standard-vim"; + src = pkgs.fetchFromGitHub { + owner = "tjdevries"; + repo = "standard.vim"; + rev = "master"; + sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; + }; +} diff --git a/pkgs/vim-plugins/tabline-vim.nix b/pkgs/vim-plugins/tabline-vim.nix new file mode 100644 index 00000000..bf70fa83 --- /dev/null +++ b/pkgs/vim-plugins/tabline-vim.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; +} diff --git a/pkgs/vim-plugins/vim-autoread.nix b/pkgs/vim-plugins/vim-autoread.nix new file mode 100644 index 00000000..37f95a01 --- /dev/null +++ b/pkgs/vim-plugins/vim-autoread.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "vim-autoread"; + src = pkgs.fetchFromGitHub { + owner = "djoshea"; + repo = "vim-autoread"; + rev = "24061f84652d768bfb85d222c88580b3af138dab"; + sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; + }; +} diff --git a/pkgs/vim-plugins/vim-caser.nix b/pkgs/vim-plugins/vim-caser.nix new file mode 100644 index 00000000..512a0652 --- /dev/null +++ b/pkgs/vim-plugins/vim-caser.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; +} diff --git a/pkgs/vim-plugins/vim-heritage.nix b/pkgs/vim-plugins/vim-heritage.nix new file mode 100644 index 00000000..4c5f1787 --- /dev/null +++ b/pkgs/vim-plugins/vim-heritage.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; +} diff --git a/pkgs/vim-plugins/vim-textobj-indent.nix b/pkgs/vim-plugins/vim-textobj-indent.nix new file mode 100644 index 00000000..d1dd5492 --- /dev/null +++ b/pkgs/vim-plugins/vim-textobj-indent.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-indent"; + src = pkgs.fetchFromGitHub { + owner = "kana"; + repo = "vim-textobj-indent"; + rev = "deb76867c302f933c8f21753806cbf2d8461b548"; + sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; + }; +} diff --git a/pkgs/vim-plugins/vim-textobj-xmlattr.nix b/pkgs/vim-plugins/vim-textobj-xmlattr.nix new file mode 100644 index 00000000..94562d61 --- /dev/null +++ b/pkgs/vim-plugins/vim-textobj-xmlattr.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; +} diff --git a/pkgs/vim-plugins/vim-zoom.nix b/pkgs/vim-plugins/vim-zoom.nix new file mode 100644 index 00000000..1bc85968 --- /dev/null +++ b/pkgs/vim-plugins/vim-zoom.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +pkgs.vimUtils.buildVimPlugin { + name = "vim-zoom"; + src = pkgs.fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; +} From 7cf71d17f6e2622b3f600d84ab14fe3ca95d15eb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 12:00:00 +0000 Subject: [PATCH 1054/2258] Add `gitea` --- modules/nixos/desktop/default.nix | 1 + modules/nixos/desktop/gitea.nix | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 modules/nixos/desktop/gitea.nix diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 771466da..a12a5c9b 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -2,5 +2,6 @@ imports = [ ../. ./fonts.nix + ./gitea.nix ]; } diff --git a/modules/nixos/desktop/gitea.nix b/modules/nixos/desktop/gitea.nix new file mode 100644 index 00000000..8883e9bd --- /dev/null +++ b/modules/nixos/desktop/gitea.nix @@ -0,0 +1,9 @@ +{ + services.gitea = { + enable = true; + + settings.service = { + DISABLE_REGISTRATION = true; + }; + }; +} From 8876a339b6b262b7eae02305f03165d62e004dd5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 12:00:00 +0000 Subject: [PATCH 1055/2258] Move jellyfin into its own module --- lib/nixos/configuration.nix | 3 --- modules/nixos/desktop/default.nix | 1 + modules/nixos/desktop/jellyfin.nix | 6 ++++++ 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 modules/nixos/desktop/jellyfin.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 7a3e9525..b0b0c431 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -187,9 +187,6 @@ in zeroad ]; - services.jellyfin.enable = true; - services.jellyfin.openFirewall = true; - # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index a12a5c9b..1c4f47f9 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -3,5 +3,6 @@ ../. ./fonts.nix ./gitea.nix + ./jellyfin.nix ]; } diff --git a/modules/nixos/desktop/jellyfin.nix b/modules/nixos/desktop/jellyfin.nix new file mode 100644 index 00000000..83798315 --- /dev/null +++ b/modules/nixos/desktop/jellyfin.nix @@ -0,0 +1,6 @@ +{ + services.jellyfin = { + enable = true; + openFirewall = true; + }; +} From 1a627d18286ed9b6126f5960a93582094f454549 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 12:00:00 +0000 Subject: [PATCH 1056/2258] Use the unstable overlay in other places --- lib/shared/home-manager.nix | 7 ++----- lib/shared/modules/git.nix | 4 ++-- lib/shared/modules/neovim.nix | 9 ++------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index 7eecc260..a2c947f4 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -4,9 +4,6 @@ username, self, }: -let - pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}; -in { home.username = "${username}"; home.homeDirectory = "/home/${username}"; @@ -19,8 +16,8 @@ in programs.home-manager.enable = true; imports = [ - (import ./modules/git.nix { inherit inputs pkgs pkgsUnstable; }) - (import ./modules/neovim.nix { inherit inputs pkgs pkgsUnstable; }) + (import ./modules/git.nix { inherit inputs pkgs; }) + (import ./modules/neovim.nix { inherit inputs pkgs; }) ./modules/bat.nix ./modules/bin.nix ./modules/direnv.nix diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix index 26b9fb81..f62e73d4 100644 --- a/lib/shared/modules/git.nix +++ b/lib/shared/modules/git.nix @@ -1,4 +1,4 @@ -{ pkgs, pkgsUnstable, ... }: +{ pkgs, ... }: { home.file.".gitmessage".text = '' @@ -146,7 +146,7 @@ }; }; - home.packages = with pkgsUnstable; [ git-instafix ]; + home.packages = with pkgs.unstable; [ git-instafix ]; home.sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index b086118f..010df70a 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -1,15 +1,10 @@ -{ - inputs, - pkgs, - pkgsUnstable, - ... -}: +{ inputs, pkgs, ... }: { programs.neovim = { enable = true; - package = pkgsUnstable.neovim-unwrapped; + package = pkgs.unstable.neovim-unwrapped; plugins = with pkgs.vimPlugins; [ comment-nvim From cf838b73c6350be2196ad5cfa08c8ec8ff7101e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 18:43:42 +0000 Subject: [PATCH 1057/2258] Add todo.txt --- todo.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 todo.txt diff --git a/todo.txt b/todo.txt new file mode 100644 index 00000000..351dcf0d --- /dev/null +++ b/todo.txt @@ -0,0 +1,5 @@ +Add immich for photo hosting +Use nginx for jellyfin, immich and gitea +Add gitea for local Git hosting +Add daily script +Add create-podcast-tasks script From 501b5cd0116594fbd63de2f718e82bd2ca629f19 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 22:37:03 +0000 Subject: [PATCH 1058/2258] Change gitea port --- modules/nixos/desktop/gitea.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/nixos/desktop/gitea.nix b/modules/nixos/desktop/gitea.nix index 8883e9bd..ed5b0d4d 100644 --- a/modules/nixos/desktop/gitea.nix +++ b/modules/nixos/desktop/gitea.nix @@ -2,8 +2,14 @@ services.gitea = { enable = true; - settings.service = { - DISABLE_REGISTRATION = true; + settings = { + server = { + HTTP_PORT = 2222; + }; + + service = { + DISABLE_REGISTRATION = true; + }; }; }; } From 3c7aa3f03e98128b05a917967cb47b353544b052 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 5 Nov 2024 18:55:05 +0000 Subject: [PATCH 1059/2258] Organise NixOS and Home Manager modules --- home/opdavies/desktop.nix | 16 +++++------ lib/nixos/default.nix | 6 ++-- lib/shared/home-manager.nix | 28 +++++++++---------- .../home-manager}/alacritty.nix | 0 .../modules => modules/home-manager}/bat.nix | 0 .../modules => modules/home-manager}/bin.nix | 0 .../home-manager}/bluetuith.nix | 0 .../home-manager}/copyq.nix | 0 .../home-manager}/direnv.nix | 0 .../home-manager}/espanso.nix | 0 .../home-manager}/espanso/matches/base.nix | 0 .../home-manager}/flameshot.nix | 0 .../modules => modules/home-manager}/fzf.nix | 0 .../modules => modules/home-manager}/git.nix | 0 .../modules => modules/home-manager}/gtk.nix | 0 .../modules => modules/home-manager}/lsd.nix | 0 .../modules => modules/home-manager}/mpv.nix | 0 .../home-manager}/neovim.nix | 0 .../modules => modules/home-manager}/pet.nix | 0 .../home-manager}/phpactor.nix | 0 .../home-manager}/ripgrep.nix | 0 .../home-manager}/syncthing.nix | 0 .../modules => modules/home-manager}/tmux.nix | 0 .../home-manager}/zellij.nix | 0 .../modules => modules/home-manager}/zsh.nix | 0 .../home-manager}/zsh/abbreviations.zsh | 0 .../home-manager}/zsh/aliases.nix | 0 .../modules => modules/nixos}/autorandr.nix | 0 .../modules => modules/nixos}/awesome.nix | 0 .../nixos/modules => modules/nixos}/gnome.nix | 0 todo.txt | 1 + 31 files changed, 26 insertions(+), 25 deletions(-) rename {home/opdavies/modules => modules/home-manager}/alacritty.nix (100%) rename {lib/shared/modules => modules/home-manager}/bat.nix (100%) rename {lib/shared/modules => modules/home-manager}/bin.nix (100%) rename {home/opdavies/modules/desktop => modules/home-manager}/bluetuith.nix (100%) rename {home/opdavies/modules => modules/home-manager}/copyq.nix (100%) rename {lib/shared/modules => modules/home-manager}/direnv.nix (100%) rename {home/opdavies/modules => modules/home-manager}/espanso.nix (100%) rename {home/opdavies/modules => modules/home-manager}/espanso/matches/base.nix (100%) rename {home/opdavies/modules => modules/home-manager}/flameshot.nix (100%) rename {lib/shared/modules => modules/home-manager}/fzf.nix (100%) rename {lib/shared/modules => modules/home-manager}/git.nix (100%) rename {home/opdavies/modules => modules/home-manager}/gtk.nix (100%) rename {lib/shared/modules => modules/home-manager}/lsd.nix (100%) rename {home/opdavies/modules => modules/home-manager}/mpv.nix (100%) rename {lib/shared/modules => modules/home-manager}/neovim.nix (100%) rename {lib/shared/modules => modules/home-manager}/pet.nix (100%) rename {lib/shared/modules => modules/home-manager}/phpactor.nix (100%) rename {lib/shared/modules => modules/home-manager}/ripgrep.nix (100%) rename {lib/shared/modules => modules/home-manager}/syncthing.nix (100%) rename {lib/shared/modules => modules/home-manager}/tmux.nix (100%) rename {lib/shared/modules => modules/home-manager}/zellij.nix (100%) rename {lib/shared/modules => modules/home-manager}/zsh.nix (100%) rename {lib/shared/modules => modules/home-manager}/zsh/abbreviations.zsh (100%) rename {lib/shared/modules => modules/home-manager}/zsh/aliases.nix (100%) rename {lib/nixos/modules => modules/nixos}/autorandr.nix (100%) rename {lib/nixos/modules => modules/nixos}/awesome.nix (100%) rename {lib/nixos/modules => modules/nixos}/gnome.nix (100%) diff --git a/home/opdavies/desktop.nix b/home/opdavies/desktop.nix index 79373df8..6467591f 100644 --- a/home/opdavies/desktop.nix +++ b/home/opdavies/desktop.nix @@ -6,13 +6,13 @@ }: { imports = [ - ./modules/alacritty.nix - ./modules/copyq.nix - ./modules/desktop/bluetuith.nix - ./modules/espanso.nix - ./modules/gtk.nix - ./modules/flameshot.nix - ./modules/gtk.nix - ./modules/mpv.nix + ../../modules/home-manager/alacritty.nix + ../../modules/home-manager/copyq.nix + ../../modules/home-manager/bluetuith.nix + ../../modules/home-manager/espanso.nix + ../../modules/home-manager/gtk.nix + ../../modules/home-manager/flameshot.nix + ../../modules/home-manager/gtk.nix + ../../modules/home-manager/mpv.nix ]; } diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 173e486d..da23a1c4 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -41,7 +41,7 @@ inputs.nixpkgs.lib.nixosSystem { }; } - (import ./modules/awesome.nix { + (import ../../modules/nixos/awesome.nix { inherit inputs pkgs @@ -49,8 +49,8 @@ inputs.nixpkgs.lib.nixosSystem { username ; }) - (import ./modules/autorandr.nix) - (import ./modules/gnome.nix) + (import ../../modules/nixos/autorandr.nix) + (import ../../modules/nixos/gnome.nix) configuration hardwareConfiguration diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index a2c947f4..f86739b8 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -16,19 +16,19 @@ programs.home-manager.enable = true; imports = [ - (import ./modules/git.nix { inherit inputs pkgs; }) - (import ./modules/neovim.nix { inherit inputs pkgs; }) - ./modules/bat.nix - ./modules/bin.nix - ./modules/direnv.nix - ./modules/fzf.nix - ./modules/lsd.nix - ./modules/pet.nix - ./modules/phpactor.nix - ./modules/ripgrep.nix - ./modules/syncthing.nix - ./modules/tmux.nix - ./modules/zellij.nix - ./modules/zsh.nix + (import ../../modules/home-manager/git.nix { inherit inputs pkgs; }) + (import ../../modules/home-manager/neovim.nix { inherit inputs pkgs; }) + ../../modules/home-manager/bat.nix + ../../modules/home-manager/bin.nix + ../../modules/home-manager/direnv.nix + ../../modules/home-manager/fzf.nix + ../../modules/home-manager/lsd.nix + ../../modules/home-manager/pet.nix + ../../modules/home-manager/phpactor.nix + ../../modules/home-manager/ripgrep.nix + ../../modules/home-manager/syncthing.nix + ../../modules/home-manager/tmux.nix + ../../modules/home-manager/zellij.nix + ../../modules/home-manager/zsh.nix ]; } diff --git a/home/opdavies/modules/alacritty.nix b/modules/home-manager/alacritty.nix similarity index 100% rename from home/opdavies/modules/alacritty.nix rename to modules/home-manager/alacritty.nix diff --git a/lib/shared/modules/bat.nix b/modules/home-manager/bat.nix similarity index 100% rename from lib/shared/modules/bat.nix rename to modules/home-manager/bat.nix diff --git a/lib/shared/modules/bin.nix b/modules/home-manager/bin.nix similarity index 100% rename from lib/shared/modules/bin.nix rename to modules/home-manager/bin.nix diff --git a/home/opdavies/modules/desktop/bluetuith.nix b/modules/home-manager/bluetuith.nix similarity index 100% rename from home/opdavies/modules/desktop/bluetuith.nix rename to modules/home-manager/bluetuith.nix diff --git a/home/opdavies/modules/copyq.nix b/modules/home-manager/copyq.nix similarity index 100% rename from home/opdavies/modules/copyq.nix rename to modules/home-manager/copyq.nix diff --git a/lib/shared/modules/direnv.nix b/modules/home-manager/direnv.nix similarity index 100% rename from lib/shared/modules/direnv.nix rename to modules/home-manager/direnv.nix diff --git a/home/opdavies/modules/espanso.nix b/modules/home-manager/espanso.nix similarity index 100% rename from home/opdavies/modules/espanso.nix rename to modules/home-manager/espanso.nix diff --git a/home/opdavies/modules/espanso/matches/base.nix b/modules/home-manager/espanso/matches/base.nix similarity index 100% rename from home/opdavies/modules/espanso/matches/base.nix rename to modules/home-manager/espanso/matches/base.nix diff --git a/home/opdavies/modules/flameshot.nix b/modules/home-manager/flameshot.nix similarity index 100% rename from home/opdavies/modules/flameshot.nix rename to modules/home-manager/flameshot.nix diff --git a/lib/shared/modules/fzf.nix b/modules/home-manager/fzf.nix similarity index 100% rename from lib/shared/modules/fzf.nix rename to modules/home-manager/fzf.nix diff --git a/lib/shared/modules/git.nix b/modules/home-manager/git.nix similarity index 100% rename from lib/shared/modules/git.nix rename to modules/home-manager/git.nix diff --git a/home/opdavies/modules/gtk.nix b/modules/home-manager/gtk.nix similarity index 100% rename from home/opdavies/modules/gtk.nix rename to modules/home-manager/gtk.nix diff --git a/lib/shared/modules/lsd.nix b/modules/home-manager/lsd.nix similarity index 100% rename from lib/shared/modules/lsd.nix rename to modules/home-manager/lsd.nix diff --git a/home/opdavies/modules/mpv.nix b/modules/home-manager/mpv.nix similarity index 100% rename from home/opdavies/modules/mpv.nix rename to modules/home-manager/mpv.nix diff --git a/lib/shared/modules/neovim.nix b/modules/home-manager/neovim.nix similarity index 100% rename from lib/shared/modules/neovim.nix rename to modules/home-manager/neovim.nix diff --git a/lib/shared/modules/pet.nix b/modules/home-manager/pet.nix similarity index 100% rename from lib/shared/modules/pet.nix rename to modules/home-manager/pet.nix diff --git a/lib/shared/modules/phpactor.nix b/modules/home-manager/phpactor.nix similarity index 100% rename from lib/shared/modules/phpactor.nix rename to modules/home-manager/phpactor.nix diff --git a/lib/shared/modules/ripgrep.nix b/modules/home-manager/ripgrep.nix similarity index 100% rename from lib/shared/modules/ripgrep.nix rename to modules/home-manager/ripgrep.nix diff --git a/lib/shared/modules/syncthing.nix b/modules/home-manager/syncthing.nix similarity index 100% rename from lib/shared/modules/syncthing.nix rename to modules/home-manager/syncthing.nix diff --git a/lib/shared/modules/tmux.nix b/modules/home-manager/tmux.nix similarity index 100% rename from lib/shared/modules/tmux.nix rename to modules/home-manager/tmux.nix diff --git a/lib/shared/modules/zellij.nix b/modules/home-manager/zellij.nix similarity index 100% rename from lib/shared/modules/zellij.nix rename to modules/home-manager/zellij.nix diff --git a/lib/shared/modules/zsh.nix b/modules/home-manager/zsh.nix similarity index 100% rename from lib/shared/modules/zsh.nix rename to modules/home-manager/zsh.nix diff --git a/lib/shared/modules/zsh/abbreviations.zsh b/modules/home-manager/zsh/abbreviations.zsh similarity index 100% rename from lib/shared/modules/zsh/abbreviations.zsh rename to modules/home-manager/zsh/abbreviations.zsh diff --git a/lib/shared/modules/zsh/aliases.nix b/modules/home-manager/zsh/aliases.nix similarity index 100% rename from lib/shared/modules/zsh/aliases.nix rename to modules/home-manager/zsh/aliases.nix diff --git a/lib/nixos/modules/autorandr.nix b/modules/nixos/autorandr.nix similarity index 100% rename from lib/nixos/modules/autorandr.nix rename to modules/nixos/autorandr.nix diff --git a/lib/nixos/modules/awesome.nix b/modules/nixos/awesome.nix similarity index 100% rename from lib/nixos/modules/awesome.nix rename to modules/nixos/awesome.nix diff --git a/lib/nixos/modules/gnome.nix b/modules/nixos/gnome.nix similarity index 100% rename from lib/nixos/modules/gnome.nix rename to modules/nixos/gnome.nix diff --git a/todo.txt b/todo.txt index 351dcf0d..20d6989e 100644 --- a/todo.txt +++ b/todo.txt @@ -1,3 +1,4 @@ +Use nixosModules and homeManagerModules outputs in flake.nix to simplify importing modules Add immich for photo hosting Use nginx for jellyfin, immich and gitea Add gitea for local Git hosting From 0d4f9198986e41b251be1d8b6e1ebdb26dd3b943 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 7 Nov 2024 20:38:09 +0000 Subject: [PATCH 1060/2258] Enable system76 hardware settings Remove tlp in case there are conflicts. --- lib/nixos/configuration.nix | 14 -------------- lib/nixos/hardware-configuration.nix | 2 ++ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index b0b0c431..90765a50 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -46,20 +46,6 @@ in services.thermald.enable = true; services.power-profiles-daemon.enable = false; - services.tlp = { - enable = true; - - settings = { - PCIE_ASPM_ON_BAT = "powersupersave"; - CPU_SCALING_GOVERNOR_ON_AC = "performance"; - CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; - CPU_MAX_PERF_ON_AC = "95"; - CPU_MAX_PERF_ON_BAT = "50"; - STOP_CHARGE_THRESH_BAT1 = "95"; - STOP_CHARGE_THRESH_BAT0 = "95"; - }; - }; - systemd.extraConfig = '' DefaultTimeoutStopSec=10s ''; diff --git a/lib/nixos/hardware-configuration.nix b/lib/nixos/hardware-configuration.nix index fdc44ea9..37d2de38 100644 --- a/lib/nixos/hardware-configuration.nix +++ b/lib/nixos/hardware-configuration.nix @@ -30,6 +30,8 @@ boot.kernelPackages = pkgs.linuxPackages_zen; hardware.enableAllFirmware = true; + hardware.system76.enableAll = true; + fileSystems."/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; From d8db48ddfe18203fb685ea567ca1028e927810d6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 9 Nov 2024 21:24:11 +0000 Subject: [PATCH 1061/2258] Add more Git abbreviations --- modules/home-manager/zsh/abbreviations.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home-manager/zsh/abbreviations.zsh b/modules/home-manager/zsh/abbreviations.zsh index 761e6f57..6150bdf1 100644 --- a/modules/home-manager/zsh/abbreviations.zsh +++ b/modules/home-manager/zsh/abbreviations.zsh @@ -23,6 +23,7 @@ abbr gcan="git commit --amend --no-edit" abbr gcl="git clone" abbr gcm="git commit -m" abbr gco="git checkout" +abbr gcob="git checkout -b" abbr gd="git diff" abbr gds="git diff --staged" abbr gf="git fetch" @@ -30,6 +31,9 @@ abbr gfa="git fetch --all" abbr gl="git log" abbr glo="git log --oneline" abbr gls="git log --stat" +abbr gm="git merge" +abbr gmf="git merge --ff" +abbr gmnf="git merge --no-ff" abbr gpl="git pull" abbr gplr="git pull --rebase" abbr gps="git push" @@ -39,6 +43,8 @@ abbr gpsap="git push acquia HEAD:production" abbr gpso="git push origin" abbr gpsom="git push origin main" abbr gr="git rebase" +abbr gra="git rebase --abort" +abbr grc="git rebase --continue" abbr gri="git rebase -i" abbr gs="git status" abbr gsh="git show" From 86fb0c37c4f90cb632006fef670e75f91f145f7c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 10 Nov 2024 00:12:22 +0000 Subject: [PATCH 1062/2258] Fix gitea Fixes this error: > Migration Error: Your database (migration version: 299) is for a newer Gitea, you can not use the newer database for this old Gitea release (280). This was probably caused by installing Gitea whilst experimenting again with nixpkgs unstable. --- modules/nixos/desktop/gitea.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/nixos/desktop/gitea.nix b/modules/nixos/desktop/gitea.nix index ed5b0d4d..2f622203 100644 --- a/modules/nixos/desktop/gitea.nix +++ b/modules/nixos/desktop/gitea.nix @@ -1,6 +1,9 @@ +{ pkgs, ... }: + { services.gitea = { enable = true; + package = pkgs.unstable.gitea; settings = { server = { From 7377019826f23e0a512b67d3e104f71103052370 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 10 Nov 2024 00:13:52 +0000 Subject: [PATCH 1063/2258] Update spellfile --- config/neovim/spell/en.utf-8.add | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neovim/spell/en.utf-8.add b/config/neovim/spell/en.utf-8.add index 5bec13b4..7cf2369f 100644 --- a/config/neovim/spell/en.utf-8.add +++ b/config/neovim/spell/en.utf-8.add @@ -24,6 +24,7 @@ Drupaler Drush FPM FTSE +Gitea HDN HashiCorp InvalidArgumentException @@ -91,6 +92,7 @@ isNotPublished isPublished localhost mentees +nixpkgs nodeStorage opdavies osCommerce From 81303f4c094f2c664b11edbf323a90a4a13ac737 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 12 Nov 2024 00:18:15 +0000 Subject: [PATCH 1064/2258] Re-enable the starship prompt --- lib/shared/home-manager.nix | 1 + modules/home-manager/starship.nix | 178 ++++++++++++++++++++++++++++++ modules/home-manager/zsh.nix | 8 -- 3 files changed, 179 insertions(+), 8 deletions(-) create mode 100644 modules/home-manager/starship.nix diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index f86739b8..e25c4704 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -26,6 +26,7 @@ ../../modules/home-manager/pet.nix ../../modules/home-manager/phpactor.nix ../../modules/home-manager/ripgrep.nix + ../../modules/home-manager/starship.nix ../../modules/home-manager/syncthing.nix ../../modules/home-manager/tmux.nix ../../modules/home-manager/zellij.nix diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix new file mode 100644 index 00000000..f8553311 --- /dev/null +++ b/modules/home-manager/starship.nix @@ -0,0 +1,178 @@ +let + inherit (builtins) concatStringsSep; +in +{ + programs.starship = { + enable = true; + enableZshIntegration = true; + + settings = { + add_newline = false; + + # https://starship.rs/config/#prompt + format = concatStringsSep "" [ + "\n" + "$username" + "$hostname" + "$directory" + "$vcsh" + "$git_branch" + "$git_status" + "$git_metrics" + "$docker_context" + "$nodejs" + "$php" + "$terraform" + "$nix_shell" + "$direnv" + "\${custom.mob}" + "$memory_usage" + "$cmd_duration" + "$lua" + "$status" + "$character" + ]; + + direnv.disabled = false; + directory.format = "in [$path]($style) "; + git_status.disabled = true; + nix_shell.disabled = true; + nodejs.disabled = true; + php.disabled = true; + + username = { + format = "[$user]($style) "; + show_always = true; + }; + + custom = { + mob = { + command = "echo $MOB_TIMER_ROOM"; + format = "[($output)]($style) "; + when = "[[ -v MOB_TIMER_ROOM ]]"; + }; + }; + + # https://starship.rs/presets/plain-text + aws.symbol = "aws "; + azure.symbol = "az "; + bun.symbol = "bun "; + c.symbol = "C "; + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + cobol.symbol = "cobol "; + conda.symbol = "conda "; + crystal.symbol = "cr "; + cmake.symbol = "cmake "; + daml.symbol = "daml "; + dart.symbol = "dart "; + deno.symbol = "deno "; + dotnet.symbol = ".NET "; + directory.read_only = " ro"; + docker_context.symbol = "docker "; + elixir.symbol = "exs "; + elm.symbol = "elm "; + fennel.symbol = "fnl "; + fossil_branch.symbol = "fossil "; + gcloud.symbol = "gcp "; + git_branch.symbol = "git "; + git_commit.tag_symbol = " tag "; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + gleam.symbol = "gleam "; + golang.symbol = "go "; + gradle.symbol = "gradle "; + guix_shell.symbol = "guix "; + hg_branch.symbol = "hg "; + java.symbol = "java "; + julia.symbol = "jl "; + kotlin.symbol = "kt "; + lua.symbol = "lua "; + nodejs.symbol = "nodejs "; + memory_usage.symbol = "memory "; + meson.symbol = "meson "; + nats.symbol = "nats "; + nim.symbol = "nim "; + nix_shell.symbol = "nix "; + ocaml.symbol = "ml "; + opa.symbol = "opa "; + os.symbols = { + AIX = "aix "; + Alpaquita = "alq "; + AlmaLinux = "alma "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + RockyLinux = "rky "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + }; + package.symbol = "pkg "; + perl.symbol = "pl "; + php.symbol = "php "; + pijul_channel.symbol = "pijul "; + pulumi.symbol = "pulumi "; + purescript.symbol = "purs "; + python.symbol = "py "; + quarto.symbol = "quarto "; + raku.symbol = "raku "; + ruby.symbol = "rb "; + rust.symbol = "rs "; + scala.symbol = "scala "; + spack.symbol = "spack "; + solidity.symbol = "solidity "; + status.symbol = "[x](bold red) "; + sudo.symbol = "sudo "; + swift.symbol = "swift "; + typst.symbol = "typst "; + terraform.symbol = "terraform "; + zig.symbol = "zig "; + }; + }; +} diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 40236a25..811bbca7 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -102,14 +102,6 @@ enable = true; plugins = [ - { - name = "themes/robbyrussell"; - tags = [ - "from:oh-my-zsh" - "as:theme" - ]; - } - { name = "plugin/git"; tags = [ "from:oh-my-zsh" ]; From e4cd1a0b81d5171806f2905ab08edb0c8e8fe628 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 12 Nov 2024 00:18:38 +0000 Subject: [PATCH 1065/2258] Add devenv --- lib/shared/home-manager-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index fcb017a1..ea1e8425 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -68,6 +68,8 @@ with pkgs; xh yarn + unstable.devenv + # Scripts. create-zellij-session deliver From 1a081a956b720c1cd4a9c93eeaadfb44b254072d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 10 Nov 2024 00:14:55 +0000 Subject: [PATCH 1066/2258] Switch back to i3 --- config/awesome/rc.lua | 758 ----------------------------- config/awesome/stylua.toml | 8 - config/awesome/theme.lua | 125 ----- config/awesome/widgets/battery.lua | 50 -- lib/nixos/configuration.nix | 1 + lib/nixos/default.nix | 6 +- modules/nixos/awesome.nix | 18 - modules/nixos/i3.nix | 146 ++++++ 8 files changed, 150 insertions(+), 962 deletions(-) delete mode 100644 config/awesome/rc.lua delete mode 100644 config/awesome/stylua.toml delete mode 100644 config/awesome/theme.lua delete mode 100644 config/awesome/widgets/battery.lua delete mode 100644 modules/nixos/awesome.nix create mode 100644 modules/nixos/i3.nix diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua deleted file mode 100644 index 5565f51b..00000000 --- a/config/awesome/rc.lua +++ /dev/null @@ -1,758 +0,0 @@ --- If LuaRocks is installed, make sure that packages installed through it are --- found (e.g. lgi). If LuaRocks is not installed, do nothing. -pcall(require, "luarocks.loader") - --- Standard awesome library -local awful = require "awful" -local gears = require "gears" -require "awful.autofocus" - --- Widget and layout library -local wibox = require "wibox" - --- Theme handling library -local beautiful = require "beautiful" - --- Notification library -local hotkeys_popup = require "awful.hotkeys_popup" -local menubar = require "menubar" -local naughty = require "naughty" - --- Enable hotkeys help widget for VIM and other apps --- when client with a matching name is opened: -require "awful.hotkeys_popup.keys" - --- {{{ Error handling --- Check if awesome encountered an error during startup and fell back to --- another config (This code will only ever execute for the fallback config) -if awesome.startup_errors then - naughty.notify { - preset = naughty.config.presets.critical, - title = "Oops, there were errors during startup!", - text = awesome.startup_errors, - } -end - --- Handle runtime errors after startup -do - local in_error = false - awesome.connect_signal("debug::error", function(err) - -- Make sure we don't go into an endless error loop - if in_error then - return - end - in_error = true - - naughty.notify { - preset = naughty.config.presets.critical, - title = "Oops, an error happened!", - text = tostring(err), - } - in_error = false - end) -end --- }}} - --- {{{ Variable definitions --- Themes define colours, icons, font and wallpapers. -beautiful.init(gears.filesystem.get_configuration_dir() .. "theme.lua") - -awful.spawn.with_shell "awesome-autostart" - --- This is used later as the default terminal and editor to run. -terminal = "alacritty" -editor = os.getenv "EDITOR" or "nano" -editor_cmd = terminal .. " -e " .. editor - --- Default modkey. --- Usually, Mod4 is the key with a logo between Control and Alt. --- If you do not like this or do not have such a key, --- I suggest you to remap Mod4 to another key using xmodmap or other tools. --- However, you can use another modifier like Mod1, but it may interact with others. -modkey = "Mod4" - --- Table of layouts to cover with awful.layout.inc, order matters. -awful.layout.layouts = { - awful.layout.suit.tile, - -- awful.layout.suit.floating, - -- awful.layout.suit.max, - -- awful.layout.suit.tile.left, - -- awful.layout.suit.tile.bottom, - -- awful.layout.suit.tile.top, - -- awful.layout.suit.fair, - -- awful.layout.suit.fair.horizontal, - -- awful.layout.suit.spiral, - -- awful.layout.suit.spiral.dwindle, - -- awful.layout.suit.max.fullscreen, - -- awful.layout.suit.magnifier, - -- awful.layout.suit.corner.nw, - -- awful.layout.suit.corner.ne, - -- awful.layout.suit.corner.sw, - -- awful.layout.suit.corner.se, -} --- }}} - --- {{{ Menu --- Create a launcher widget and a main menu -myawesomemenu = { - { - "hotkeys", - function() - hotkeys_popup.show_help(nil, awful.screen.focused()) - end, - }, - { "manual", terminal .. " -e man awesome" }, - { "edit config", editor_cmd .. " " .. awesome.conffile }, - { "restart", awesome.restart }, - { - "quit", - function() - awesome.quit() - end, - }, -} - -mymainmenu = awful.menu { - items = { - { "awesome", myawesomemenu, beautiful.awesome_icon }, - { "open terminal", terminal }, - }, -} - -mylauncher = awful.widget.launcher { image = beautiful.awesome_icon, menu = mymainmenu } - --- Menubar configuration -menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} - --- Keyboard map indicator and switcher -mykeyboardlayout = awful.widget.keyboardlayout() - --- {{{ Wibar --- Create a textclock widget -mytextclock = wibox.widget.textclock() - --- Create a wibox for each screen and add it -local taglist_buttons = gears.table.join( - awful.button({}, 1, function(t) - t:view_only() - end), - awful.button({ modkey }, 1, function(t) - if client.focus then - client.focus:move_to_tag(t) - end - end), - awful.button({}, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, function(t) - if client.focus then - client.focus:toggle_tag(t) - end - end), - awful.button({}, 4, function(t) - awful.tag.viewnext(t.screen) - end), - awful.button({}, 5, function(t) - awful.tag.viewprev(t.screen) - end) -) - -local tasklist_buttons = gears.table.join( - awful.button({}, 1, function(c) - if c == client.focus then - c.minimized = true - else - c:emit_signal("request::activate", "tasklist", { raise = true }) - end - end), - awful.button({}, 3, function() - awful.menu.client_list { theme = { width = 250 } } - end), - awful.button({}, 4, function() - awful.client.focus.byidx(1) - end), - awful.button({}, 5, function() - awful.client.focus.byidx(-1) - end) -) - -local function set_wallpaper(s) - -- Wallpaper - if beautiful.wallpaper then - local wallpaper = beautiful.wallpaper - -- If wallpaper is a function, call it with the screen - if type(wallpaper) == "function" then - wallpaper = wallpaper(s) - end - gears.wallpaper.maximized(wallpaper, s, true) - end -end - --- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -screen.connect_signal("property::geometry", set_wallpaper) - -awful.screen.connect_for_each_screen(function(s) - -- Wallpaper - set_wallpaper(s) - - -- Each screen has its own tag table. - awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) - - -- Create a promptbox for each screen - s.mypromptbox = awful.widget.prompt() - - -- Create an imagebox widget which will contain an icon indicating which layout we're using. - -- We need one layoutbox per screen. - s.mylayoutbox = awful.widget.layoutbox(s) - s.mylayoutbox:buttons(gears.table.join( - awful.button({}, 1, function() - awful.layout.inc(1) - end), - awful.button({}, 3, function() - awful.layout.inc(-1) - end), - awful.button({}, 4, function() - awful.layout.inc(1) - end), - awful.button({}, 5, function() - awful.layout.inc(-1) - end) - )) - -- Create a taglist widget - s.mytaglist = awful.widget.taglist { - screen = s, - filter = awful.widget.taglist.filter.all, - buttons = taglist_buttons, - } - - -- Create a tasklist widget - s.mytasklist = awful.widget.tasklist { - screen = s, - filter = awful.widget.tasklist.filter.currenttags, - buttons = tasklist_buttons, - } - - -- Create the wibox - s.mywibox = awful.wibar { position = "top", screen = s } - - -- Add widgets to the wibox - s.mywibox:setup { - layout = wibox.layout.align.horizontal, - { -- Left widgets - layout = wibox.layout.fixed.horizontal, - s.mytaglist, - s.mypromptbox, - }, - s.mytasklist, -- Middle widget - { -- Right widgets - layout = wibox.layout.fixed.horizontal, - -- mykeyboardlayout, - wibox.widget.systray(), - require "widgets.battery", - mytextclock, - -- s.mylayoutbox, - }, - } -end) --- }}} - --- {{{ Mouse bindings -root.buttons(gears.table.join( - awful.button({}, 3, function() - mymainmenu:toggle() - end), - awful.button({}, 4, awful.tag.viewnext), - awful.button({}, 5, awful.tag.viewprev) -)) --- }}} - --- {{{ Key bindings -globalkeys = gears.table.join( - awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }), - - awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }), - - awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }), - - awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }), - - awful.key({ modkey }, "j", function() - awful.client.focus.byidx(-1) - end, { description = "focus previous by index", group = "client" }), - - awful.key({ modkey }, "k", function() - awful.client.focus.byidx(1) - end, { description = "focus next by index", group = "client" }), - - awful.key({ modkey }, "w", function() - mymainmenu:show() - end, { description = "show main menu", group = "awesome" }), - - -- Layout manipulation - awful.key({ modkey, "Shift" }, "j", function() - awful.client.swap.byidx(-1) - end, { description = "swap with previous client by index", group = "client" }), - - awful.key({ modkey, "Shift" }, "k", function() - awful.client.swap.byidx(1) - end, { description = "swap with next client by index", group = "client" }), - - awful.key({ modkey, "Control" }, "j", function() - awful.screen.focus_relative(-1) - end, { description = "focus the previous screen", group = "screen" }), - - awful.key({ modkey, "Control" }, "k", function() - awful.screen.focus_relative(1) - end, { description = "focus the next screen", group = "screen" }), - - awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }), - - awful.key({ modkey }, "Tab", function() - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end, { description = "go back", group = "client" }), - - -- Standard program - awful.key({ modkey }, "Return", function() - awful.spawn(terminal) - end, { description = "open a terminal", group = "launcher" }), - - awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }), - - awful.key({ modkey, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }), - - awful.key({ modkey }, "l", function() - awful.tag.incmwfact(0.05) - end, { description = "increase master width factor", group = "layout" }), - - awful.key({ modkey }, "h", function() - awful.tag.incmwfact(-0.05) - end, { description = "decrease master width factor", group = "layout" }), - - awful.key({ modkey, "Shift" }, "h", function() - awful.tag.incnmaster(1, nil, true) - end, { description = "increase the number of master clients", group = "layout" }), - - awful.key({ modkey, "Shift" }, "l", function() - awful.tag.incnmaster(-1, nil, true) - end, { description = "decrease the number of master clients", group = "layout" }), - - awful.key({ modkey, "Control" }, "h", function() - awful.tag.incncol(1, nil, true) - end, { description = "increase the number of columns", group = "layout" }), - - awful.key({ modkey, "Control" }, "l", function() - awful.tag.incncol(-1, nil, true) - end, { description = "decrease the number of columns", group = "layout" }), - - awful.key({ modkey }, "space", function() - awful.layout.inc(1) - end, { description = "select next", group = "layout" }), - - awful.key({ modkey, "Shift" }, "space", function() - awful.layout.inc(-1) - end, { description = "select previous", group = "layout" }), - - awful.key({ modkey, "Control" }, "n", function() - local c = awful.client.restore() - -- Focus restored client - if c then - c:emit_signal("request::activate", "key.unminimize", { raise = true }) - end - end, { description = "restore minimized", group = "client" }), - - -- Prompt - awful.key({ modkey }, "r", function() - awful.screen.focused().mypromptbox:run() - end, { description = "run prompt", group = "launcher" }), - - awful.key({ modkey, "Shift" }, "b", function() - awful.spawn "brave" - end, { description = "run browser", group = "launcher" }), - - awful.key({ modkey, "Shift" }, "f", function() - awful.spawn "thunar" - end, { description = "run browser", group = "launcher" }), - - awful.key({ modkey, "Shift" }, "s", function() - awful.spawn "flameshot gui" - end, { description = "run flameshot", group = "launcher" }), - - awful.key({ modkey, "Shift" }, "y", function() - awful.spawn "copyq toggle" - end, { description = "run copyq", group = "launcher" }), - - awful.key({ modkey }, "x", function() - awful.prompt.run { - prompt = "Run Lua code: ", - textbox = awful.screen.focused().mypromptbox.widget, - exe_callback = awful.util.eval, - history_path = awful.util.get_cache_dir() .. "/history_eval", - } - end, { description = "lua execute prompt", group = "awesome" }), - - -- Menubar - awful.key({ modkey }, "p", function() - menubar.show() - end, { description = "show the menubar", group = "launcher" }), - - -- Sound and volume keys - awful.key({}, "XF86AudioRaiseVolume", function() - awful.util.spawn "amixer -D pulse set Master '1000+'" - end), - - awful.key({}, "XF86AudioLowerVolume", function() - awful.util.spawn "amixer -D pulse set Master '1000-'" - end), - - awful.key({}, "XF86AudioMute", function() - awful.util.spawn "amixer -D pulse set Master toggle" - end), - - awful.key({ "Shift" }, "XF86AudioRaiseVolume", function() - awful.util.spawn "pamixer -i 10" - end), - - awful.key({ "Shift" }, "XF86AudioLowerVolume", function() - awful.util.spawn "pamixer -d 10" - end), - - awful.key({}, "XF86AudioMicMute", function() - awful.util.spawn "pamixer --mute" - end), - - awful.key({}, "XF86MonBrightnessDown", function() - awful.util.spawn "brightnessctl specific '10%-'" - end), - - awful.key({}, "XF86MonBrightnessUp", function() - awful.util.spawn "brightnessctl specific '+10%'" - end) -) - -clientkeys = gears.table.join( - awful.key({ modkey }, "f", function(c) - c.fullscreen = not c.fullscreen - c:raise() - end, { description = "toggle fullscreen", group = "client" }), - - awful.key({ modkey, "Shift" }, "c", function(c) - c:kill() - end, { description = "close", group = "client" }), - - awful.key( - { modkey, "Control" }, - "space", - awful.client.floating.toggle, - { description = "toggle floating", group = "client" } - ), - - awful.key({ modkey, "Control" }, "Return", function(c) - c:swap(awful.client.getmaster()) - end, { description = "move to master", group = "client" }), - - awful.key({ modkey }, "o", function(c) - c:move_to_screen() - end, { description = "move to screen", group = "client" }), - - awful.key({ modkey }, "t", function(c) - c.ontop = not c.ontop - end, { description = "toggle keep on top", group = "client" }), - - awful.key({ modkey }, "n", function(c) - -- The client currently has the input focus, so it cannot be - -- minimized, since minimized clients can't have the focus. - c.minimized = true - end, { description = "minimize", group = "client" }), - - awful.key({ modkey }, "m", function(c) - c.maximized = not c.maximized - c:raise() - end, { description = "(un)maximize", group = "client" }), - - awful.key({ modkey, "Control" }, "m", function(c) - c.maximized_vertical = not c.maximized_vertical - c:raise() - end, { description = "(un)maximize vertically", group = "client" }), - - awful.key({ modkey, "Shift" }, "m", function(c) - c.maximized_horizontal = not c.maximized_horizontal - c:raise() - end, { description = "(un)maximize horizontally", group = "client" }) -) - --- Bind all key numbers to tags. --- Be careful: we use keycodes to make it work on any keyboard layout. --- This should map on the top row of your keyboard, usually 1 to 9. -for i = 1, 9 do - globalkeys = gears.table.join( - globalkeys, - - -- View tag only. - awful.key({ modkey }, "#" .. i + 9, function() - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - tag:view_only() - end - end, { description = "view tag #" .. i, group = "tag" }), - - awful.key({ modkey }, "b", function() - local myscreen = awful.screen.focused() - myscreen.mywibox.visible = not myscreen.mywibox.visible - end, { description = "toggle statusbar" }), - - -- Toggle tag display. - awful.key({ modkey, "Control" }, "#" .. i + 9, function() - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - awful.tag.viewtoggle(tag) - end - end, { description = "toggle tag #" .. i, group = "tag" }), - - -- Move client to tag. - awful.key({ modkey, "Shift" }, "#" .. i + 9, function() - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:move_to_tag(tag) - end - end - end, { description = "move focused client to tag #" .. i, group = "tag" }), - - -- Toggle tag on focused client. - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, function() - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:toggle_tag(tag) - end - end - end, { description = "toggle focused client on tag #" .. i, group = "tag" }) - ) -end - -clientbuttons = gears.table.join( - awful.button({}, 1, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - end), - - awful.button({ modkey }, 1, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - awful.mouse.client.move(c) - end), - - awful.button({ modkey }, 3, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - awful.mouse.client.resize(c) - end) -) - --- Set keys -root.keys(globalkeys) --- }}} - --- {{{ Rules --- Rules to apply to new clients (through the "manage" signal). -awful.rules.rules = { - -- All clients will match this rule. - { - rule = {}, - properties = { - border_width = beautiful.border_width, - border_color = beautiful.border_normal, - focus = awful.client.focus.filter, - raise = true, - keys = clientkeys, - buttons = clientbuttons, - screen = awful.screen.preferred, - placement = awful.placement.no_overlap + awful.placement.no_offscreen, - }, - }, - - -- Floating clients. - { - rule_any = { - instance = { - "DTA", -- Firefox addon DownThemAll. - "copyq", -- Includes session name in class. - "pinentry", - }, - - class = { - "Arandr", - "Blueman-manager", - "Gpick", - "Kruler", - "MessageWin", -- kalarm. - "Sxiv", - "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. - "Wpa_gui", - "veromix", - "xtightvncviewer", - "zoom", - }, - - -- Note that the name property shown in xprop might be set slightly after creation of the client - -- and the name shown there might not match defined rules here. - name = { - "Event Tester", -- xev. - }, - - role = { - "AlarmWindow", -- Thunderbird's calendar. - "ConfigManager", -- Thunderbird's about:config. - "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. - }, - }, - - properties = { floating = true, placement = awful.placement.centered }, - }, - - -- Add titlebars to normal clients and dialogs - { rule_any = { type = { "normal", "dialog" } }, properties = { titlebars_enabled = false } }, - - -- Set Firefox to always map on the tag named "2" on screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { screen = 1, tag = "2" } }, - - { rule = { class = "brave" }, properties = { opacity = 1, maximized = false, floating = false } }, - { rule = { class = "mpv" }, properties = { tag = "5", fullscreen = true } }, - { rule = { name = "Podcasts - Pocket Casts" }, properties = { tag = "6" } }, - { rule = { class = "kdenlive" }, properties = { tag = "7" } }, - { rule = { class = "0ad" }, properties = { tag = "8", fullscreen = true } }, - { rule = { class = "Slack" }, properties = { tag = "9" } }, - { rule = { class = "discord" }, properties = { tag = "9" } }, -} --- }}} - --- {{{ Signals --- Signal function to execute when a new client appears. -client.connect_signal("manage", function(c) - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - -- if not awesome.startup then awful.client.setslave(c) end - - if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then - -- Prevent clients from being unreachable after screen count changes. - awful.placement.no_offscreen(c) - end -end) - --- Add a titlebar if titlebars_enabled is set to true in the rules. -client.connect_signal("request::titlebars", function(c) - -- buttons for the titlebar - local buttons = gears.table.join( - awful.button({}, 1, function() - c:emit_signal("request::activate", "titlebar", { raise = true }) - awful.mouse.client.move(c) - end), - awful.button({}, 3, function() - c:emit_signal("request::activate", "titlebar", { raise = true }) - awful.mouse.client.resize(c) - end) - ) - - awful.titlebar(c):setup { - { -- Left - awful.titlebar.widget.iconwidget(c), - buttons = buttons, - layout = wibox.layout.fixed.horizontal, - }, - - { -- Middle - { -- Title - align = "center", - widget = awful.titlebar.widget.titlewidget(c), - }, - buttons = buttons, - layout = wibox.layout.flex.horizontal, - }, - - { -- Right - awful.titlebar.widget.floatingbutton(c), - awful.titlebar.widget.maximizedbutton(c), - awful.titlebar.widget.stickybutton(c), - awful.titlebar.widget.ontopbutton(c), - awful.titlebar.widget.closebutton(c), - layout = wibox.layout.fixed.horizontal(), - }, - - layout = wibox.layout.align.horizontal, - } -end) - --- Enable sloppy focus, so that focus follows mouse. -client.connect_signal("mouse::enter", function(c) - c:emit_signal("request::activate", "mouse_enter", { raise = false }) -end) - -client.connect_signal("focus", function(c) - c.border_color = beautiful.border_focus -end) -client.connect_signal("unfocus", function(c) - c.border_color = beautiful.border_normal -end) --- }}} - ---- {{{ Show low battery notifications. -gears.timer { - timeout = 60, - call_now = true, - autostart = true, - callback = function() - awful.spawn.easy_async([[cat /sys/class/power_supply/BAT0/capacity]], function(stdout0) - battery_capacity = tonumber(stdout0) - - awful.spawn.easy_async([[cat /sys/class/power_supply/BAT0/status]], function(stdout1) - battery_status = stdout1:sub(1, -2) - end) - - if battery_status == "Discharging" then - if battery_capacity <= 15 then - battery_notify = naughty.notify { - title = "Battery warning\n", - text = "Battery is lower than 15%.\n" .. battery_status .. " at " .. battery_capacity .. "%.", - timeout = 3, - } - end - end - end) - end, -} --- }}} - --- {{{ No DPMS for fullscreen clients -local fullscreened_clients = {} - -local function remove_client(tabl, c) - local index = awful.util.table.hasitem(tabl, c) - if index then - table.remove(tabl, index) - if #tabl == 0 then - awful.util.spawn "xset s on" - awful.util.spawn "xset +dpms" - end - end -end - -client.connect_signal("property::fullscreen", function(c) - if c.fullscreen then - table.insert(fullscreened_clients, c) - if #fullscreened_clients == 1 then - awful.util.spawn "xset s off" - awful.util.spawn "xset -dpms" - end - else - remove_client(fullscreened_clients, c) - end -end) - -client.connect_signal("unmanage", function(c) - if c.fullscreen then - remove_client(fullscreened_clients, c) - end -end) --- }}} diff --git a/config/awesome/stylua.toml b/config/awesome/stylua.toml deleted file mode 100644 index 2c7fb8a9..00000000 --- a/config/awesome/stylua.toml +++ /dev/null @@ -1,8 +0,0 @@ -indent_type = "Spaces" -indent_width = 2 -line_endings = "Unix" -no_call_parentheses = true -quote_style = "AutoPreferDouble" - -[sort_requires] -enabled = true diff --git a/config/awesome/theme.lua b/config/awesome/theme.lua deleted file mode 100644 index 0a51966c..00000000 --- a/config/awesome/theme.lua +++ /dev/null @@ -1,125 +0,0 @@ ---------------------------- --- Default awesome theme -- ---------------------------- - -local theme_assets = require "beautiful.theme_assets" -local xresources = require "beautiful.xresources" -local dpi = xresources.apply_dpi - -local gfs = require "gears.filesystem" -local themes_path = gfs.get_themes_dir() - -local theme = {} - -theme.font = "sans 9" - -theme.bg_normal = "#222222" -theme.bg_focus = "#535d6c" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" -theme.bg_systray = theme.bg_normal - -theme.fg_normal = "#aaaaaa" -theme.fg_focus = "#ffffff" -theme.fg_urgent = "#ffffff" -theme.fg_minimize = "#ffffff" - -theme.useless_gap = dpi(0) -theme.border_width = dpi(1) -theme.border_normal = "#000000" -theme.border_focus = "#535d6c" -theme.border_marked = "#91231c" - --- There are other variable sets --- overriding the default one when --- defined, the sets are: --- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] --- tasklist_[bg|fg]_[focus|urgent] --- titlebar_[bg|fg]_[normal|focus] --- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] --- mouse_finder_[color|timeout|animate_timeout|radius|factor] --- prompt_[fg|bg|fg_cursor|bg_cursor|font] --- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] --- Example: ---theme.taglist_bg_focus = "#ff0000" - --- Generate taglist squares: -local taglist_square_size = dpi(4) -theme.taglist_squares_sel = theme_assets.taglist_squares_sel(taglist_square_size, theme.fg_normal) -theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(taglist_square_size, theme.fg_normal) - --- Variables set for theming notifications: --- notification_font --- notification_[bg|fg] --- notification_[width|height|margin] --- notification_[border_color|border_width|shape|opacity] - --- Variables set for theming the menu: --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = themes_path .. "default/submenu.png" -theme.menu_height = dpi(15) -theme.menu_width = dpi(100) - --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---theme.bg_widget = "#cc0000" - --- Define the image to load -theme.titlebar_close_button_normal = themes_path .. "default/titlebar/close_normal.png" -theme.titlebar_close_button_focus = themes_path .. "default/titlebar/close_focus.png" - -theme.titlebar_minimize_button_normal = themes_path .. "default/titlebar/minimize_normal.png" -theme.titlebar_minimize_button_focus = themes_path .. "default/titlebar/minimize_focus.png" - -theme.titlebar_ontop_button_normal_inactive = themes_path .. "default/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = themes_path .. "default/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = themes_path .. "default/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = themes_path .. "default/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = themes_path .. "default/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = themes_path .. "default/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = themes_path .. "default/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = themes_path .. "default/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = themes_path .. "default/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = themes_path .. "default/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = themes_path .. "default/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = themes_path .. "default/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = themes_path .. "default/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = themes_path .. "default/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = themes_path .. "default/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = themes_path .. "default/titlebar/maximized_focus_active.png" - -theme.wallpaper = themes_path .. "default/background.png" - --- You can use your own layout icons like this: -theme.layout_fairh = themes_path .. "default/layouts/fairhw.png" -theme.layout_fairv = themes_path .. "default/layouts/fairvw.png" -theme.layout_floating = themes_path .. "default/layouts/floatingw.png" -theme.layout_magnifier = themes_path .. "default/layouts/magnifierw.png" -theme.layout_max = themes_path .. "default/layouts/maxw.png" -theme.layout_fullscreen = themes_path .. "default/layouts/fullscreenw.png" -theme.layout_tilebottom = themes_path .. "default/layouts/tilebottomw.png" -theme.layout_tileleft = themes_path .. "default/layouts/tileleftw.png" -theme.layout_tile = themes_path .. "default/layouts/tilew.png" -theme.layout_tiletop = themes_path .. "default/layouts/tiletopw.png" -theme.layout_spiral = themes_path .. "default/layouts/spiralw.png" -theme.layout_dwindle = themes_path .. "default/layouts/dwindlew.png" -theme.layout_cornernw = themes_path .. "default/layouts/cornernww.png" -theme.layout_cornerne = themes_path .. "default/layouts/cornernew.png" -theme.layout_cornersw = themes_path .. "default/layouts/cornersww.png" -theme.layout_cornerse = themes_path .. "default/layouts/cornersew.png" - --- Generate Awesome icon: -theme.awesome_icon = theme_assets.awesome_icon(theme.menu_height, theme.bg_focus, theme.fg_focus) - --- Define the icon theme for application icons. If not set then the icons --- from /usr/share/icons and /usr/share/icons/hicolor will be used. -theme.icon_theme = nil - -return theme - --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/config/awesome/widgets/battery.lua b/config/awesome/widgets/battery.lua deleted file mode 100644 index 3eadb203..00000000 --- a/config/awesome/widgets/battery.lua +++ /dev/null @@ -1,50 +0,0 @@ -------------------------------------------------- --- Battery widget -------------------------------------------------- - -local awful = require "awful" -local gears = require "gears" -local wibox = require "wibox" - -local text = wibox.widget { - font = "sans 9", - widget = wibox.widget.textbox, -} - -local widget = wibox.widget.background() -widget:set_widget(text) - -gears.timer { - timeout = 20, - autostart = true, - call_now = true, - callback = function() - awful.spawn.easy_async_with_shell("cat /sys/class/power_supply/BAT*/uevent", function(out) - local capacity_raw = string.match(out, "POWER_SUPPLY_CAPACITY=%d*") - local capacity = string.sub(string.match(capacity_raw, "=%d*"), 2) - - if tonumber(capacity) ~= 100 then - local status_raw = string.match(out, "POWER_SUPPLY_STATUS=%u") - local status_stripped = string.match(status_raw, "=%u") - local status_letter = string.match(status_stripped, "%u"):lower() - - text:set_text("ba:" .. capacity .. status_letter) - - local not_charging = status_letter == "d" - local is_bat_low = tonumber(capacity) < 21 - local color = "#d2d4de" - - if not_charging and is_bat_low then - color = "#e27878" - end - - widget:set_fg(color) - else - text:set_text "ba:full" - widget:set_fg "#b4be82" - end - end) - end, -} - -return widget diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 90765a50..3256f52c 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -137,6 +137,7 @@ in environment.systemPackages = with pkgs; [ + caffeine-ng gtypist fastfetch mermaid-cli diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index da23a1c4..7e393d6c 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -41,7 +41,9 @@ inputs.nixpkgs.lib.nixosSystem { }; } - (import ../../modules/nixos/awesome.nix { + (import ../../modules/nixos/autorandr.nix) + (import ../../modules/nixos/gnome.nix) + (import ../../modules/nixos/i3.nix { inherit inputs pkgs @@ -49,8 +51,6 @@ inputs.nixpkgs.lib.nixosSystem { username ; }) - (import ../../modules/nixos/autorandr.nix) - (import ../../modules/nixos/gnome.nix) configuration hardwareConfiguration diff --git a/modules/nixos/awesome.nix b/modules/nixos/awesome.nix deleted file mode 100644 index 3380e318..00000000 --- a/modules/nixos/awesome.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ self, username, ... }: -{ - services.xserver = { - displayManager.lightdm.enable = true; - - windowManager.awesome = { - enable = true; - noArgb = true; - }; - }; - - home-manager.users.${username} = { - xdg.configFile.awesome = { - source = "${self}/config/awesome"; - recursive = true; - }; - }; -} diff --git a/modules/nixos/i3.nix b/modules/nixos/i3.nix new file mode 100644 index 00000000..d00be27c --- /dev/null +++ b/modules/nixos/i3.nix @@ -0,0 +1,146 @@ +{ + inputs, + pkgs, + self, + username, + ... +}: + +let + theme = import "${self}/lib/theme" { inherit pkgs; }; + + modifier = "Mod4"; +in +{ + services = { + displayManager.defaultSession = "none+i3"; + + xserver = { + displayManager.lightdm.enable = true; + + windowManager.i3 = { + enable = true; + extraPackages = with pkgs; [ + i3status + i3lock + i3blocks + ]; + }; + }; + }; + + home-manager.users.${username} = { + xsession.windowManager.i3 = { + enable = true; + + config = { + assigns = { + "7" = [ { class = "vlc"; } ]; + "8" = [ { class = "0ad"; } ]; + "9" = [ + { class = "Slack"; } + { class = "discord"; } + ]; + }; + + defaultWorkspace = "workspace number 1"; + + focus.followMouse = false; + + modifier = modifier; + + keybindings = inputs.nixpkgs.lib.mkOptionDefault { + "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; + + "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; + "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; + + # Change focus. + "${modifier}+h" = "focus left"; + "${modifier}+j" = "focus down"; + "${modifier}+k" = "focus up"; + "${modifier}+l" = "focus right"; + + # Move focused window. + "${modifier}+Shift+h" = "move left"; + "${modifier}+Shift+j" = "move down"; + "${modifier}+Shift+k" = "move up"; + "${modifier}+Shift+l" = "move right"; + + "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; + "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change"; + "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; + + "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; + "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; + "XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; + + "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; + "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; + }; + + terminal = "alacritty"; + + window = { + border = 0; + hideEdgeBorders = "none"; + }; + }; + + extraConfig = '' + set $laptop eDP-1 + bindswitch --reload --locked lid:on output $laptop disable + bindswitch --reload --locked lid:off output $laptop enable + + exec_always --no-startup-id caffeine + + default_border none + default_floating_border none + smart_borders on + smart_gaps on + + for_window [class="zoom"] floating enable + # xprop | grep -i class + ''; + + config = { + bars = [ + { + position = "bottom"; + statusCommand = "${pkgs.i3status}/bin/i3status"; + trayOutput = "none"; + } + ]; + + fonts.names = [ "${theme.fonts.monospace.name}" ]; + + gaps = { + smartBorders = "on"; + smartGaps = true; + }; + }; + }; + + programs.i3status = { + enable = true; + + general = { + colors = true; + + color_bad = "#f7768e"; + color_degraded = "#ff9e64"; + color_good = "#c0caf5"; + }; + + modules = { + "battery all".settings.last_full_capacity = true; + + "tztime local".settings.format = "%d-%m-%Y %H:%M:%S"; + + cpu_temperature.enable = false; + ipv6.enable = false; + load.enable = false; + }; + }; + }; +} From abc0e5d429aa0a356eb3706c75003db49e2f66e2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 12 Nov 2024 20:03:29 +0000 Subject: [PATCH 1067/2258] Switch back to nixpkgs-unstable by default --- flake.lock | 16 ++++++++-------- flake.nix | 5 ++--- lib/shared/home-manager-packages.nix | 3 +-- lib/shared/home-manager.nix | 11 +++++++++++ modules/home-manager/neovim.nix | 2 -- modules/nixos/desktop/gitea.nix | 1 - 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 15dabb67..3be38bd5 100644 --- a/flake.lock +++ b/flake.lock @@ -7,16 +7,16 @@ ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1731235328, + "narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "60bb110917844d354f3c18e05450606a435d2d10", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "master", "repo": "home-manager", "type": "github" } @@ -39,16 +39,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729691686, - "narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=", + "lastModified": 1731139594, + "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37", + "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index ad540163..aa34b530 100644 --- a/flake.nix +++ b/flake.nix @@ -1,12 +1,11 @@ { inputs = { home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-24.05"; + home-manager.url = "github:nix-community/home-manager/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; }; diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index ea1e8425..17e3aa76 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -32,6 +32,7 @@ with pkgs; cachix ctop delta + devenv dog doppler entr @@ -68,8 +69,6 @@ with pkgs; xh yarn - unstable.devenv - # Scripts. create-zellij-session deliver diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index e25c4704..c977cfeb 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -11,6 +11,17 @@ # Nicely reload system units when changing configs. systemd.user.startServices = "sd-switch"; + # See https://github.com/nix-community/home-manager/issues/2064#issuecomment-2259307514. + # This is a workaround for the following errors that appeared when switching back to unstable: + # - 1: Failed to start unit flameshot.service + # - 2: org.freedesktop.systemd1.NoSuchUnit: Unit tray.target not found. + systemd.user.targets.tray = { + Unit = { + Description = "Home Manager System Tray"; + Requires = [ "graphical-session-pre.target" ]; + }; + }; + home.stateVersion = "22.05"; programs.home-manager.enable = true; diff --git a/modules/home-manager/neovim.nix b/modules/home-manager/neovim.nix index 010df70a..66aa5054 100644 --- a/modules/home-manager/neovim.nix +++ b/modules/home-manager/neovim.nix @@ -4,8 +4,6 @@ programs.neovim = { enable = true; - package = pkgs.unstable.neovim-unwrapped; - plugins = with pkgs.vimPlugins; [ comment-nvim dial-nvim diff --git a/modules/nixos/desktop/gitea.nix b/modules/nixos/desktop/gitea.nix index 2f622203..b093e0f1 100644 --- a/modules/nixos/desktop/gitea.nix +++ b/modules/nixos/desktop/gitea.nix @@ -3,7 +3,6 @@ { services.gitea = { enable = true; - package = pkgs.unstable.gitea; settings = { server = { From bcbdb5a2d53163f2602b403c46cc6e06dfc2582a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 12 Nov 2024 20:10:08 +0000 Subject: [PATCH 1068/2258] Remove GNOME --- lib/nixos/configuration.nix | 2 ++ lib/nixos/default.nix | 1 - modules/nixos/gnome.nix | 5 ----- 3 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 modules/nixos/gnome.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 3256f52c..3d195320 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -203,6 +203,8 @@ in # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? + programs.dconf.enable = true; + programs.zsh.enable = true; programs.zsh.histSize = 5000; diff --git a/lib/nixos/default.nix b/lib/nixos/default.nix index 7e393d6c..711dc7d0 100644 --- a/lib/nixos/default.nix +++ b/lib/nixos/default.nix @@ -42,7 +42,6 @@ inputs.nixpkgs.lib.nixosSystem { } (import ../../modules/nixos/autorandr.nix) - (import ../../modules/nixos/gnome.nix) (import ../../modules/nixos/i3.nix { inherit inputs diff --git a/modules/nixos/gnome.nix b/modules/nixos/gnome.nix deleted file mode 100644 index c08c2dee..00000000 --- a/modules/nixos/gnome.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - services = { - xserver.desktopManager.gnome.enable = true; - }; -} From 85e9a1661156e73f34b376376ade59a8fab44aa8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 12 Nov 2024 20:31:30 +0000 Subject: [PATCH 1069/2258] Add immich for photo backups --- modules/nixos/desktop/default.nix | 1 + modules/nixos/desktop/immich.nix | 1 + 2 files changed, 2 insertions(+) create mode 100644 modules/nixos/desktop/immich.nix diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 1c4f47f9..1f013d1d 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -4,5 +4,6 @@ ./fonts.nix ./gitea.nix ./jellyfin.nix + ./immich.nix ]; } diff --git a/modules/nixos/desktop/immich.nix b/modules/nixos/desktop/immich.nix new file mode 100644 index 00000000..4316dbf7 --- /dev/null +++ b/modules/nixos/desktop/immich.nix @@ -0,0 +1 @@ +{ services.immich.enable = true; } From bdaba8b391ac488a23e9976916826c79bf8e3d9d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 13 Nov 2024 01:40:49 +0000 Subject: [PATCH 1070/2258] Update shell to terminal.shell --- modules/home-manager/alacritty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index f4c284fe..cacf4cd8 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -34,7 +34,7 @@ in glyph_offset.y = 6; }; - shell = { + terminal.shell = { program = "zsh"; }; }; From 81397078dd04080996e59c56868929d647d5fd85 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 13 Nov 2024 08:53:26 +0000 Subject: [PATCH 1071/2258] Remove the cmd_duration module --- modules/home-manager/starship.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix index f8553311..c6a72afe 100644 --- a/modules/home-manager/starship.nix +++ b/modules/home-manager/starship.nix @@ -33,6 +33,7 @@ in "$character" ]; + cmd_duration.disabled = true; direnv.disabled = false; directory.format = "in [$path]($style) "; git_status.disabled = true; From 83e5acb5e75455c31836c414510cd24b8b0d9b3f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 15 Nov 2024 18:11:50 +0000 Subject: [PATCH 1072/2258] Add immich-cli --- modules/nixos/desktop/immich.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/nixos/desktop/immich.nix b/modules/nixos/desktop/immich.nix index 4316dbf7..0a8cb46e 100644 --- a/modules/nixos/desktop/immich.nix +++ b/modules/nixos/desktop/immich.nix @@ -1 +1,7 @@ -{ services.immich.enable = true; } +{ pkgs, ... }: + +{ + services.immich.enable = true; + + environment.systemPackages = [ pkgs.immich-cli ]; +} From ae45be34267b5feab5eca1a133151ac81ff9c595 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 15:11:21 +0000 Subject: [PATCH 1073/2258] Add devenv abbreviations --- modules/home-manager/zsh/abbreviations.zsh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/home-manager/zsh/abbreviations.zsh b/modules/home-manager/zsh/abbreviations.zsh index 6150bdf1..b8693aac 100644 --- a/modules/home-manager/zsh/abbreviations.zsh +++ b/modules/home-manager/zsh/abbreviations.zsh @@ -143,3 +143,10 @@ abbr overdue="task +OVERDUE" abbr nah="git reset --hard; git clean -fd" abbr wip="git commit -m wip" + +abbr dv="devenv" +abbr dvi="devenv info" +abbr dvp="devenv processes" +abbr dvs="devenv shell" +abbr dvt="devenv tasks" +abbr dvu="devenv up" From c2f61f897b282bd3d4705672bf6251e1c01dccf4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 15:11:45 +0000 Subject: [PATCH 1074/2258] Update spellfile --- config/neovim/spell/en.utf-8.add | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/neovim/spell/en.utf-8.add b/config/neovim/spell/en.utf-8.add index 7cf2369f..6e8fc65b 100644 --- a/config/neovim/spell/en.utf-8.add +++ b/config/neovim/spell/en.utf-8.add @@ -9,6 +9,7 @@ Behat Bluecheese CMSes CTI +Cachix Centarro CiviCRM Configs @@ -35,6 +36,7 @@ Lando Laravel Linode Magento +MariaDB Microserve Mischa MySQL @@ -82,6 +84,7 @@ assertSame autorandr bootcamp contrib +devenv dotfiles drupal eCommerce @@ -108,6 +111,7 @@ stylesheet stylesheets testbot tmux +url wildcard worktree worktrees From f3527f91c12266615c0e7b96d440b6dbf9c8ebd9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 15:12:01 +0000 Subject: [PATCH 1075/2258] Add myself as a trusted Nix store user Allows using Cachix caching in devenv. --- lib/nixos/configuration.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 3d195320..0b816711 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -213,6 +213,10 @@ in zramSwap.enable = true; nix = { + extraOptions = '' + trusted-users = root ${username} + ''; + gc = { automatic = true; dates = "daily"; From 94f9c8a116ce27377dac4317c67a4daa5487094d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 15:13:09 +0000 Subject: [PATCH 1076/2258] Include .tmux.conf.local --- modules/home-manager/tmux.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix index bbfc1c26..78476da2 100644 --- a/modules/home-manager/tmux.nix +++ b/modules/home-manager/tmux.nix @@ -71,6 +71,8 @@ in bind-key -r f run-shell "tmux new-window t" set -g @resurrect-strategy-nvim 'session' + + if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; plugins = [ From bc3a9b43d7a6b80c02abba1c66056de3b951ed6c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 15:23:10 +0000 Subject: [PATCH 1077/2258] Revert zoom-us back to nixpkgs-2405 Fixes a black screen when screen sharing. --- flake.lock | 17 +++++++++++++++++ flake.nix | 3 ++- home/opdavies/default.nix | 3 ++- lib/nixos/configuration.nix | 1 + overlays/default.nix | 7 +++++++ 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index 3be38bd5..1942ee43 100644 --- a/flake.lock +++ b/flake.lock @@ -53,6 +53,22 @@ "type": "github" } }, + "nixpkgs-2405": { + "locked": { + "lastModified": 1731652201, + "narHash": "sha256-XUO0JKP1hlww0d7mm3kpmIr4hhtR4zicg5Wwes9cPMg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c21b77913ea840f8bcf9adf4c41cecc2abffd38d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { "lastModified": 1729665710, @@ -74,6 +90,7 @@ "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", + "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-unstable": "nixpkgs-unstable" } } diff --git a/flake.nix b/flake.nix index aa34b530..898b9a9f 100644 --- a/flake.nix +++ b/flake.nix @@ -7,11 +7,12 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + + nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; }; outputs = { - home-manager, nixos-hardware, nixpkgs, self, diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 67eefa1f..a3c3ae6e 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -67,7 +67,8 @@ in pocket-casts xcape xsel - zoom-us + + pkgs.nixpkgs-2405.zoom-us ] ); diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 0b816711..00871e0f 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -22,6 +22,7 @@ in overlays = [ outputs.overlays.additions outputs.overlays.modifications + outputs.overlays.stable-packages outputs.overlays.unstable-packages ]; }; diff --git a/overlays/default.nix b/overlays/default.nix index a9643c2d..f3fb4e37 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -11,6 +11,13 @@ modifications = final: prev: { }; + stable-packages = final: _prev: { + nixpkgs-2405 = import inputs.nixpkgs-2405 { + config.allowUnfree = true; + system = final.system; + }; + }; + unstable-packages = final: _prev: { unstable = import inputs.nixpkgs-unstable { config.allowUnfree = true; From 18b4f4429f85aaa012148b085502f776ad9e649c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 15:47:44 +0000 Subject: [PATCH 1078/2258] Adjust line spacing in Alacritty --- modules/home-manager/alacritty.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index cacf4cd8..8741ed81 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -30,8 +30,8 @@ in bold.style = "Regular"; normal.family = "${theme.fonts.monospace.name}"; - offset.y = 12; - glyph_offset.y = 6; + offset.y = 6; + glyph_offset.y = 3; }; terminal.shell = { From 23bad15ab1157629a187125ead08dcdb7277e2aa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 16 Nov 2024 20:37:27 +0000 Subject: [PATCH 1079/2258] Add terminal settings --- config/neovim/lua/opdavies/keymaps.lua | 6 ++++++ config/neovim/plugin/terminal.lua | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 config/neovim/plugin/terminal.lua diff --git a/config/neovim/lua/opdavies/keymaps.lua b/config/neovim/lua/opdavies/keymaps.lua index 1693bc6d..a18aa8d2 100644 --- a/config/neovim/lua/opdavies/keymaps.lua +++ b/config/neovim/lua/opdavies/keymaps.lua @@ -107,3 +107,9 @@ set("n", "<leader>et", function() end) set("n", "<leader>ec", ":edit composer.json") + +-- These mappings control the size of splits (height/width). +set("n", "<M-,>", "<c-w>5<") +set("n", "<M-.>", "<c-w>5>") +set("n", "<M-t>", "<C-W>+") +set("n", "<M-s>", "<C-W>-") diff --git a/config/neovim/plugin/terminal.lua b/config/neovim/plugin/terminal.lua new file mode 100644 index 00000000..d0ee393a --- /dev/null +++ b/config/neovim/plugin/terminal.lua @@ -0,0 +1,25 @@ +local set = vim.opt_local + +-- Set local settings for terminal buffers +vim.api.nvim_create_autocmd("TermOpen", { + group = vim.api.nvim_create_augroup("custom-term-open", {}), + callback = function() + set.number = false + set.relativenumber = false + set.scrolloff = 0 + + vim.bo.filetype = "terminal" + end, +}) + +-- Easily hit escape in terminal mode. +vim.keymap.set("t", "<esc><esc>", "<c-\\><c-n>") + +-- Open a terminal at the bottom of the screen with a fixed height. +vim.keymap.set("n", ",st", function() + vim.cmd.new() + vim.cmd.wincmd "J" + vim.api.nvim_win_set_height(0, 12) + vim.wo.winfixheight = true + vim.cmd.term() +end) From 13fd9f53fb875d9dabb3d8229aaa3623125d0eb9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 17 Nov 2024 12:03:45 +0000 Subject: [PATCH 1080/2258] Replace tsserver with ts_ls --- config/neovim/lua/opdavies/lsp/init.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index baa328ba..5e9be8ff 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -77,7 +77,10 @@ local servers = { }, terraformls = true, - tsserver = true, + + -- TODO: make this work with Vue files. + ts_ls = true, + vuels = true, yamlls = { From 31e4700c23e716e4029d200efcaa868c8c4cab90 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 17 Nov 2024 12:08:04 +0000 Subject: [PATCH 1081/2258] Open splits below and right --- config/neovim/lua/opdavies/options.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua index b1665d5d..751020d2 100644 --- a/config/neovim/lua/opdavies/options.lua +++ b/config/neovim/lua/opdavies/options.lua @@ -28,6 +28,8 @@ local settings = { smartindent = true, softtabstop = 2, spellfile = "/home/opdavies/Code/dotfiles.nix/config/neovim/spell/en.utf-8.add", + splitbelow = true, + splitright = true, swapfile = false, syntax = "on", tabstop = 2, From 15629afd1b3efd06d229bc3b1373ad06eab97420 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 17 Nov 2024 12:08:55 +0000 Subject: [PATCH 1082/2258] Remove tabline-vim --- modules/home-manager/neovim.nix | 1 - pkgs/default.nix | 1 - pkgs/vim-plugins/tabline-vim.nix | 11 ----------- 3 files changed, 13 deletions(-) delete mode 100644 pkgs/vim-plugins/tabline-vim.nix diff --git a/modules/home-manager/neovim.nix b/modules/home-manager/neovim.nix index 66aa5054..7e8b680f 100644 --- a/modules/home-manager/neovim.nix +++ b/modules/home-manager/neovim.nix @@ -38,7 +38,6 @@ edit-alternate-vim nvim-tmux-navigation standard-vim - tabline-vim vim-autoread vim-textobj-indent vim-textobj-xmlattr diff --git a/pkgs/default.nix b/pkgs/default.nix index 361b055b..3d2be89f 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -9,7 +9,6 @@ in edit-alternate-vim = callPackage ./vim-plugins/edit-alternate-vim.nix { }; nvim-tmux-navigation = callPackage ./vim-plugins/nvim-tmux-navigation.nix { }; standard-vim = callPackage ./vim-plugins/standard-vim.nix { }; - tabline-vim = callPackage ./vim-plugins/tabline-vim.nix { }; vim-autoread = callPackage ./vim-plugins/vim-autoread.nix { }; vim-caser = callPackage ./vim-plugins/vim-caser.nix { }; vim-heritage = callPackage ./vim-plugins/vim-heritage.nix { }; diff --git a/pkgs/vim-plugins/tabline-vim.nix b/pkgs/vim-plugins/tabline-vim.nix deleted file mode 100644 index bf70fa83..00000000 --- a/pkgs/vim-plugins/tabline-vim.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; -} From f1b811a384bb14c41a15d0a12ce4c1b6ec86decd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 17 Nov 2024 14:01:28 +0000 Subject: [PATCH 1083/2258] Filter Tailwind v4 messages --- config/neovim/lua/opdavies/lsp/handlers.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neovim/lua/opdavies/lsp/handlers.lua b/config/neovim/lua/opdavies/lsp/handlers.lua index e44e86af..bf0be545 100644 --- a/config/neovim/lua/opdavies/lsp/handlers.lua +++ b/config/neovim/lua/opdavies/lsp/handlers.lua @@ -50,7 +50,9 @@ M.on_publish_diagnostics = function(_, result, ctx, config) local messages_to_filter = { "Unknown at rule @apply", + "Unknown at rule @plugin", "Unknown at rule @tailwind", + "Unknown at rule @theme", } -- For each diagnostic, ensure its mesages doesn't match one I want to From fd961a57deaa417c0571899874d45097cdf3514d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 18 Nov 2024 01:37:16 +0000 Subject: [PATCH 1084/2258] Automatically enable spell checking for markdown ...files --- config/neovim/after/ftplugin/markdown.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/neovim/after/ftplugin/markdown.lua b/config/neovim/after/ftplugin/markdown.lua index 5d96d74f..28f92e53 100644 --- a/config/neovim/after/ftplugin/markdown.lua +++ b/config/neovim/after/ftplugin/markdown.lua @@ -1,4 +1,5 @@ -- TODO: Interim fix for https://github.com/nvim-treesitter/nvim-treesitter-context/issues/431. require("treesitter-context").disable() -vim.opt_local.wrap = true; +vim.opt_local.spell = true +vim.opt_local.wrap = true From 03ec322eb24a9390532483c57ffeca801c922841 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 18 Nov 2024 18:01:42 +0000 Subject: [PATCH 1085/2258] Remove reference to awesome-client --- modules/nixos/autorandr.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/nixos/autorandr.nix b/modules/nixos/autorandr.nix index 9fe3bd06..9adbaea6 100644 --- a/modules/nixos/autorandr.nix +++ b/modules/nixos/autorandr.nix @@ -39,9 +39,5 @@ }; }; }; - - hooks.postswitch = { - "reload-awesome" = ''echo 'awesome.restart()' | awesome-client''; - }; }; } From aa02efba953bee21d69e13c5564fdf62de36f6c5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 18 Nov 2024 18:08:30 +0000 Subject: [PATCH 1086/2258] Remove dev.kdl --- dev.kdl | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 dev.kdl diff --git a/dev.kdl b/dev.kdl deleted file mode 100644 index cf7f51e5..00000000 --- a/dev.kdl +++ /dev/null @@ -1,10 +0,0 @@ -layout { - pane split_direction="vertical" { - pane command="nvim" - pane - } - - pane size=1 borderless=true { - plugin location="zellij:compact-bar" - } -} From 319102a2f87445329b8ffbf37691626b3e22fbc5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 18 Nov 2024 18:10:19 +0000 Subject: [PATCH 1087/2258] Update spellfile --- config/neovim/spell/en.utf-8.add | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neovim/spell/en.utf-8.add b/config/neovim/spell/en.utf-8.add index 6e8fc65b..16f6c80a 100644 --- a/config/neovim/spell/en.utf-8.add +++ b/config/neovim/spell/en.utf-8.add @@ -6,6 +6,7 @@ Appnovation Architected BAU Behat +Bitbucket Bluecheese CMSes CTI @@ -25,6 +26,7 @@ Drupaler Drush FPM FTSE +GitLab Gitea HDN HashiCorp From 7f602e8fa1ccbfeb440ee0255ae426b8c7ddbfe5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 18 Nov 2024 20:17:58 +0000 Subject: [PATCH 1088/2258] Allow for renaming tmux windows Don't override the format for window statuses. --- modules/home-manager/tmux.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix index 78476da2..8799ab68 100644 --- a/modules/home-manager/tmux.nix +++ b/modules/home-manager/tmux.nix @@ -28,9 +28,7 @@ in set-option -g status-right-length 100 set-option -g status-style "fg=#7C7D83 bg=default" set-option -g window-status-activity-style none - set-option -g window-status-current-format "#{window_index}:#{pane_current_command}#{window_flags} " set-option -g window-status-current-style "fg=#E9E9EA" - set-option -g window-status-format "#{window_index}:#{pane_current_command}#{window_flags} " bind c new-window -c "#{pane_current_path}" From 7dec20cc370f4501e3a2877cf5dd8a805255f914 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 19 Nov 2024 21:30:04 +0000 Subject: [PATCH 1089/2258] Update spellfile --- config/neovim/spell/en.utf-8.add | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/spell/en.utf-8.add b/config/neovim/spell/en.utf-8.add index 16f6c80a..c8bef50a 100644 --- a/config/neovim/spell/en.utf-8.add +++ b/config/neovim/spell/en.utf-8.add @@ -66,6 +66,7 @@ SQLite SSO Sculpin Silex +SimpleTest Sylius Symfony TODO From 2226730f0ba5634909df1c11670a0ab2250842af Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 19 Nov 2024 21:31:10 +0000 Subject: [PATCH 1090/2258] Fix yanking from tmux to the clipboard --- modules/home-manager/tmux.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix index 8799ab68..7d39e4b4 100644 --- a/modules/home-manager/tmux.nix +++ b/modules/home-manager/tmux.nix @@ -42,12 +42,9 @@ in bind-key C-j choose-tree - # Use vim keybindings in copy mode - setw -g mode-keys vi - - # Setup 'v' to begin selection as in Vim - bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send -X copy-pipe wl-copy + set-window-option -g mode-keys vi + bind -T copy-mode-vi v send-keys -X begin-selection + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" From a181e9fe4e9a4c226b51b178187c032b0c90db98 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 07:59:50 +0000 Subject: [PATCH 1091/2258] Configure htop with Home Manager --- lib/shared/home-manager-packages.nix | 1 - lib/shared/home-manager.nix | 1 + modules/home-manager/htop.nix | 9 +++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager/htop.nix diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 17e3aa76..32c9f3c6 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -44,7 +44,6 @@ with pkgs; git-crypt gnupg go - htop inotify-tools jq lua diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix index c977cfeb..b94bffab 100644 --- a/lib/shared/home-manager.nix +++ b/lib/shared/home-manager.nix @@ -33,6 +33,7 @@ ../../modules/home-manager/bin.nix ../../modules/home-manager/direnv.nix ../../modules/home-manager/fzf.nix + ../../modules/home-manager/htop.nix ../../modules/home-manager/lsd.nix ../../modules/home-manager/pet.nix ../../modules/home-manager/phpactor.nix diff --git a/modules/home-manager/htop.nix b/modules/home-manager/htop.nix new file mode 100644 index 00000000..929a6aef --- /dev/null +++ b/modules/home-manager/htop.nix @@ -0,0 +1,9 @@ +{ + programs.htop = { + enable = true; + + settings = { + show_cpu_temperature = true; + }; + }; +} From 963f09c67f3cdccf349a8f1e2e270a9d5f074af0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 09:17:16 +0000 Subject: [PATCH 1092/2258] Refactor LSP configuration --- config/neovim/lua/opdavies/lsp/init.lua | 183 +++++++++++------------- 1 file changed, 84 insertions(+), 99 deletions(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index 5e9be8ff..a21f314b 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -1,110 +1,108 @@ -local lspconfig = require "lspconfig" -local nvim_status = require "lsp-status" - +local cmp_nvim_lsp = require "cmp_nvim_lsp" local handlers = require "opdavies.lsp.handlers" +local lspconfig = require "lspconfig" require("neodev").setup {} -local servers = { - bashls = true, +local capabilities = cmp_nvim_lsp.default_capabilities(vim.lsp.protocol.make_client_capabilities()) - cssls = { - on_attach = function(client, bufnr) - vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(handlers.on_publish_diagnostics, {}) - end, - }, +lspconfig.bashls.setup { + capabilities = capabilities, +} - gopls = true, - html = true, +lspconfig.cssls.setup { + capabilities = capabilities, + on_attach = function(_, _) + vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(handlers.on_publish_diagnostics, {}) + end, +} - intelephense = { - filetypes = { "php", "module", "test", "inc" }, - }, +lspconfig.gopls.setup { + capabilities = capabilities, +} - lua_ls = { - settings = { - Lua = { - completion = { - callSnippet = "Replace", - }, +lspconfig.html.setup { + capabilities = capabilities, +} - diagnostics = { - globals = { "vim" }, - }, +lspconfig.intelephense.setup { + capabilities = capabilities, +} - runtime = { - version = "LuaJIT", - }, - - telemetry = { - enabled = false, - }, - - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - }, +lspconfig.lua_ls.setup { + capabilities = capabilities, + settings = { + Lua = { + completion = { + callSnippet = "Replace", }, - }, - }, - - marksman = true, - - nixd = { - command = { "nixd" }, - settings = { - nixd = { - nixpkgs = { - expr = "import <nixpkgs> { }", - }, - - formatting = { - command = "nix fmt", - }, + diagnostics = { + globals = { "vim" }, }, - }, - }, - - tailwindcss = { - filetypes = { "html", "javascript", "twig", "typescript", "vue" }, - - settings = { - init_options = { - userLanguages = { - ["html.twig"] = "html", - }, + runtime = { + version = "LuaJIT", }, - }, - }, - - terraformls = true, - - -- TODO: make this work with Vue files. - ts_ls = true, - - vuels = true, - - yamlls = { - settings = { - yaml = { - keyOrdering = false, + telemetry = { + enabled = false, + }, + workspace = { + library = vim.api.nvim_get_runtime_file("", true), }, }, }, } -local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) +lspconfig.marksman.setup { + capabilities = capabilities, +} -for server_name, config in pairs(servers) do - if config == true then - config = {} - end +lspconfig.nixd.setup { + capabilities = capabilities, + cmd = { "nixd" }, + settings = { + nixd = { + nixpkgs = { + expr = "import <nixpkgs> { }", + }, + formatting = { + command = "nix fmt", + }, + }, + }, +} - config = vim.tbl_deep_extend("force", {}, { - capabilities = capabilities, - }, config) +lspconfig.tailwindcss.setup { + capabilities = capabilities, + filetypes = { "html", "javascript", "twig", "typescript", "vue" }, + settings = { + init_options = { + userLanguages = { + ["html.twig"] = "html", + }, + }, + }, +} - lspconfig[server_name].setup(config) -end +lspconfig.terraformls.setup { + capabilities = capabilities, +} + +lspconfig.tsserver.setup { + capabilities = capabilities, +} + +lspconfig.vuels.setup { + capabilities = capabilities, +} + +lspconfig.yamlls.setup { + capabilities = capabilities, + settings = { + yaml = { + keyOrdering = false, + }, + }, +} vim.diagnostic.config { float = { source = true }, @@ -118,19 +116,6 @@ vim.api.nvim_create_autocmd("LspAttach", { callback = function() local builtin = require "telescope.builtin" - -- buf_inoremap { "<C-k>", vim.lsp.buf.signature_help } - -- buf_nnoremap { "<leader>ca", vim.lsp.buf.code_action } - -- buf_nnoremap { "<leader>d", vim.diagnostic.open_float } - -- buf_nnoremap { "<leader>rn", vim.lsp.buf.rename } - -- buf_nnoremap { "<leader>rr", "<cmd>LspRestart<cr>" } - -- buf_nnoremap { "[d", vim.diagnostic.goto_prev } - -- buf_nnoremap { "]d", vim.diagnostic.goto_next } - - -- buf_nnoremap { "gD", vim.lsp.buf.declaration } - -- buf_nnoremap { "gd", handlers.definition } - -- buf_nnoremap { "gi", vim.lsp.buf.implementation } - -- buf_nnoremap { "gT", vim.lsp.buf.type_definition } - vim.keymap.set("n", "gd", builtin.lsp_definitions, { buffer = 0 }) vim.keymap.set("n", "gr", builtin.lsp_references, { buffer = 0 }) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 }) From 71d680c69563adcf5d92beb5a80297f260960b66 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 09:18:21 +0000 Subject: [PATCH 1093/2258] Update spellfile --- config/neovim/spell/en.utf-8.add | 1 + 1 file changed, 1 insertion(+) diff --git a/config/neovim/spell/en.utf-8.add b/config/neovim/spell/en.utf-8.add index c8bef50a..d562e512 100644 --- a/config/neovim/spell/en.utf-8.add +++ b/config/neovim/spell/en.utf-8.add @@ -14,6 +14,7 @@ Cachix Centarro CiviCRM Configs +D7 DDEV DevOps DigitalOcean From cb402c2abd0df12ff8de74034ffcaad102813b75 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 10:48:00 +0000 Subject: [PATCH 1094/2258] Replace tsserver with ts_ls --- config/neovim/lua/opdavies/lsp/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua index a21f314b..ea31b89b 100644 --- a/config/neovim/lua/opdavies/lsp/init.lua +++ b/config/neovim/lua/opdavies/lsp/init.lua @@ -87,7 +87,7 @@ lspconfig.terraformls.setup { capabilities = capabilities, } -lspconfig.tsserver.setup { +lspconfig.ts_ls.setup { capabilities = capabilities, } From dcbe273d9b26f36dff5b03c3b583d9c94cc0b834 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 10:48:42 +0000 Subject: [PATCH 1095/2258] Add killall --- lib/shared/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 32c9f3c6..a0f2c421 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -46,6 +46,7 @@ with pkgs; go inotify-tools jq + killall lua mariadb mob From d201a2b27ba5a1d82c67a979ddfeba93325fbee8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 10:49:06 +0000 Subject: [PATCH 1096/2258] Remove tmux-resurrect --- modules/home-manager/tmux.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix index 7d39e4b4..a7233743 100644 --- a/modules/home-manager/tmux.nix +++ b/modules/home-manager/tmux.nix @@ -65,13 +65,11 @@ in bind-key -r f run-shell "tmux new-window t" - set -g @resurrect-strategy-nvim 'session' if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; plugins = [ - tmuxPlugins.resurrect tmuxPlugins.vim-tmux-navigator tmuxPlugins.yank ]; From 0cafc1ca4e3fc3694736190f9b96b374eec42048 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 11:01:38 +0000 Subject: [PATCH 1097/2258] Disable colours in i3status bar --- modules/nixos/i3.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/nixos/i3.nix b/modules/nixos/i3.nix index d00be27c..f544cd15 100644 --- a/modules/nixos/i3.nix +++ b/modules/nixos/i3.nix @@ -124,19 +124,12 @@ in programs.i3status = { enable = true; - general = { - colors = true; - - color_bad = "#f7768e"; - color_degraded = "#ff9e64"; - color_good = "#c0caf5"; - }; + general.colors = false; modules = { "battery all".settings.last_full_capacity = true; "tztime local".settings.format = "%d-%m-%Y %H:%M:%S"; - cpu_temperature.enable = false; ipv6.enable = false; load.enable = false; From b8cc67b3db3d49863ce35550c6d76f02541f854d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 11:02:10 +0000 Subject: [PATCH 1098/2258] Remove username from starship prompt --- modules/home-manager/starship.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix index c6a72afe..7c55b8f8 100644 --- a/modules/home-manager/starship.nix +++ b/modules/home-manager/starship.nix @@ -35,16 +35,12 @@ in cmd_duration.disabled = true; direnv.disabled = false; - directory.format = "in [$path]($style) "; + directory.format = "[$path]($style) "; git_status.disabled = true; nix_shell.disabled = true; nodejs.disabled = true; php.disabled = true; - - username = { - format = "[$user]($style) "; - show_always = true; - }; + username.disabled = true; custom = { mob = { From 35a7b70fe26f966cf42db64ff93e21159599f11d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 11:06:12 +0000 Subject: [PATCH 1099/2258] Add abbreviation to source .tmux files --- modules/home-manager/zsh/abbreviations.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/zsh/abbreviations.zsh b/modules/home-manager/zsh/abbreviations.zsh index b8693aac..615c6a39 100644 --- a/modules/home-manager/zsh/abbreviations.zsh +++ b/modules/home-manager/zsh/abbreviations.zsh @@ -2,6 +2,7 @@ abbr c="clear" abbr cs="create-script" abbr daily="run create-daily next" abbr rst="rst2pdf" +abbr st="source .tmux" abbr sz="source ~/.config/zsh/.zshrc" abbr ti="timer" abbr uagr="update-all-git-repos" From 6444ce5226d6f342d6b8dd4b4b9041a1c3f5a20a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 17:58:57 +0000 Subject: [PATCH 1100/2258] Re-add Nitrogen for managing wallpaper --- modules/nixos/i3.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/nixos/i3.nix b/modules/nixos/i3.nix index f544cd15..4cd16e20 100644 --- a/modules/nixos/i3.nix +++ b/modules/nixos/i3.nix @@ -29,6 +29,8 @@ in }; }; + environment.systemPackages = [ pkgs.nitrogen ]; + home-manager.users.${username} = { xsession.windowManager.i3 = { enable = true; @@ -92,6 +94,7 @@ in bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable + exec_always --no-startup-id ${pkgs.nitrogen}/bin/nitrogen --restore & exec_always --no-startup-id caffeine default_border none From 9f47df62b589a4f089ee8f106cbc7071956019fb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 21:34:21 +0000 Subject: [PATCH 1101/2258] Disable automatic upgrades --- lib/nixos/configuration.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index 00871e0f..c096ec8f 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -258,19 +258,6 @@ in ''; }; - system.autoUpgrade = { - enable = true; - flake = inputs.self.outPath; - flags = [ - "--update-input" - "nixpkgs" - "--no-write-lock-file" - "-L" # print build logs - ]; - dates = "08:00"; - randomizedDelaySec = "45min"; - }; - services.gvfs.enable = true; programs.gnupg.agent = { From 69a397e6242eb75473a1701d538eb72b463cad40 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 21:37:15 +0000 Subject: [PATCH 1102/2258] Move Nix files into a nix directory Move everything from `config` to the root level. --- flake.nix | 8 ++++---- {home => nix/home}/opdavies/default.nix | 4 ++-- {home => nix/home}/opdavies/desktop.nix | 0 {hosts => nix/hosts}/lemp11/configuration.nix | 0 .../hosts}/lemp11/hardware-configuration.nix | 0 {lib => nix/lib}/nixos/configuration.nix | 0 {lib => nix/lib}/nixos/default.nix | 2 +- {lib => nix/lib}/nixos/hardware-configuration.nix | 0 {lib => nix/lib}/shared/home-manager-packages.nix | 0 {lib => nix/lib}/shared/home-manager.nix | 0 {lib => nix/lib}/shared/scripts/_timer.nix | 0 .../lib}/shared/scripts/create-zellij-session.nix | 0 {lib => nix/lib}/shared/scripts/deliver.nix | 0 .../lib}/shared/scripts/export-video-list.nix | 0 {lib => nix/lib}/shared/scripts/run.nix | 0 {lib => nix/lib}/shared/scripts/t.nix | 0 {lib => nix/lib}/shared/scripts/timer.nix | 0 {lib => nix/lib}/theme/default.nix | 0 {lib => nix/lib}/wsl2/default.nix | 4 ++-- {modules => nix/modules}/home-manager/alacritty.nix | 2 +- {modules => nix/modules}/home-manager/bat.nix | 0 {modules => nix/modules}/home-manager/bin.nix | 2 +- {modules => nix/modules}/home-manager/bluetuith.nix | 0 {modules => nix/modules}/home-manager/copyq.nix | 0 {modules => nix/modules}/home-manager/direnv.nix | 0 {modules => nix/modules}/home-manager/espanso.nix | 0 .../modules}/home-manager/espanso/matches/base.nix | 0 {modules => nix/modules}/home-manager/flameshot.nix | 0 {modules => nix/modules}/home-manager/fzf.nix | 0 {modules => nix/modules}/home-manager/git.nix | 0 {modules => nix/modules}/home-manager/gtk.nix | 0 {modules => nix/modules}/home-manager/htop.nix | 0 {modules => nix/modules}/home-manager/lsd.nix | 0 {modules => nix/modules}/home-manager/mpv.nix | 0 {modules => nix/modules}/home-manager/neovim.nix | 0 {modules => nix/modules}/home-manager/pet.nix | 0 {modules => nix/modules}/home-manager/phpactor.nix | 2 +- {modules => nix/modules}/home-manager/ripgrep.nix | 0 {modules => nix/modules}/home-manager/starship.nix | 0 {modules => nix/modules}/home-manager/syncthing.nix | 0 {modules => nix/modules}/home-manager/tmux.nix | 0 {modules => nix/modules}/home-manager/zellij.nix | 2 +- {modules => nix/modules}/home-manager/zsh.nix | 0 .../modules}/home-manager/zsh/abbreviations.zsh | 0 .../modules}/home-manager/zsh/aliases.nix | 0 {modules => nix/modules}/nixos/autorandr.nix | 0 {modules => nix/modules}/nixos/default.nix | 0 {modules => nix/modules}/nixos/desktop/default.nix | 0 {modules => nix/modules}/nixos/desktop/fonts.nix | 0 {modules => nix/modules}/nixos/desktop/gitea.nix | 0 {modules => nix/modules}/nixos/desktop/immich.nix | 0 {modules => nix/modules}/nixos/desktop/jellyfin.nix | 0 {modules => nix/modules}/nixos/docker.nix | 0 {modules => nix/modules}/nixos/i3.nix | 2 +- {modules => nix/modules}/nixos/kanata.nix | 0 {overlays => nix/overlays}/default.nix | 0 {pkgs => nix/pkgs}/default.nix | 0 {pkgs => nix/pkgs}/vim-plugins/conf-vim.nix | 0 .../pkgs}/vim-plugins/edit-alternate-vim.nix | 0 .../pkgs}/vim-plugins/nvim-tmux-navigation.nix | 0 {pkgs => nix/pkgs}/vim-plugins/standard-vim.nix | 0 {pkgs => nix/pkgs}/vim-plugins/vim-autoread.nix | 0 {pkgs => nix/pkgs}/vim-plugins/vim-caser.nix | 0 {pkgs => nix/pkgs}/vim-plugins/vim-heritage.nix | 0 .../pkgs}/vim-plugins/vim-textobj-indent.nix | 0 .../pkgs}/vim-plugins/vim-textobj-xmlattr.nix | 0 {pkgs => nix/pkgs}/vim-plugins/vim-zoom.nix | 0 {config/neovim => nvim}/.gitignore | 0 .../neovim => nvim}/after/ftplugin/gitcommit.lua | 0 {config/neovim => nvim}/after/ftplugin/markdown.lua | 0 {config/neovim => nvim}/after/ftplugin/rst.lua | 0 {config/neovim => nvim}/after/ftplugin/term.vim | 0 {config/neovim => nvim}/autoload/opdavies.vim | 0 {config/neovim => nvim}/lua/opdavies/globals.lua | 0 {config/neovim => nvim}/lua/opdavies/init.lua | 0 {config/neovim => nvim}/lua/opdavies/keymaps.lua | 0 .../neovim => nvim}/lua/opdavies/lsp/handlers.lua | 0 {config/neovim => nvim}/lua/opdavies/lsp/init.lua | 0 {config/neovim => nvim}/lua/opdavies/options.lua | 0 .../lua/opdavies/snippets/ft/bash.lua | 0 .../lua/opdavies/snippets/ft/javascript.lua | 0 .../lua/opdavies/snippets/ft/lua.lua | 0 .../lua/opdavies/snippets/ft/markdown.lua | 0 .../lua/opdavies/snippets/ft/nix.lua | 0 .../lua/opdavies/snippets/ft/php.lua | 0 .../lua/opdavies/snippets/ft/rst.lua | 0 .../lua/opdavies/snippets/ft/scss.lua | 0 .../lua/opdavies/snippets/ft/twig.lua | 0 .../lua/opdavies/snippets/ft/yaml.lua | 0 {config/neovim => nvim}/plugin/colorscheme.lua | 0 {config/neovim => nvim}/plugin/comment.lua | 0 {config/neovim => nvim}/plugin/completion.lua | 0 {config/neovim => nvim}/plugin/conform.lua | 0 {config/neovim => nvim}/plugin/dap.lua | 0 {config/neovim => nvim}/plugin/dial.lua | 0 {config/neovim => nvim}/plugin/edit_alternate.lua | 0 {config/neovim => nvim}/plugin/fidget.lua | 0 {config/neovim => nvim}/plugin/filetype.lua | 0 {config/neovim => nvim}/plugin/fugitive.lua | 0 {config/neovim => nvim}/plugin/gitsigns.lua | 0 {config/neovim => nvim}/plugin/harpoon.lua | 0 {config/neovim => nvim}/plugin/lint.lua | 0 {config/neovim => nvim}/plugin/mini.lua | 0 {config/neovim => nvim}/plugin/netrw.lua | 0 .../neovim => nvim}/plugin/nvim-tmux-navigation.lua | 0 {config/neovim => nvim}/plugin/oil.lua | 0 {config/neovim => nvim}/plugin/refactoring.lua | 0 {config/neovim => nvim}/plugin/sort.lua | 0 {config/neovim => nvim}/plugin/spectre.lua | 0 {config/neovim => nvim}/plugin/telescope.lua | 0 {config/neovim => nvim}/plugin/terminal.lua | 0 {config/neovim => nvim}/plugin/treesitter.lua | 0 {config/neovim => nvim}/plugin/treesj.lua | 0 {config/neovim => nvim}/plugin/undotree.lua | 0 {config/neovim => nvim}/plugin/vim-test.lua | 0 {config/neovim => nvim}/spell/en.utf-8.add | 0 stylua.toml => nvim/stylua.toml | 0 {config/phpactor => phpactor}/phpactor.yml | 0 .../templates/default/SourceCode.php.twig | 0 .../drupal-functional-test/SourceCode.php.twig | 0 .../drupal-kernel-test/SourceCode.php.twig | 0 .../templates/drupal-unit-test/SourceCode.php.twig | 0 {config/wallpaper => wallpaper}/wallpaper.jpg | Bin {config/zellij => zellij}/config.kdl | 0 124 files changed, 14 insertions(+), 14 deletions(-) rename {home => nix/home}/opdavies/default.nix (90%) rename {home => nix/home}/opdavies/desktop.nix (100%) rename {hosts => nix/hosts}/lemp11/configuration.nix (100%) rename {hosts => nix/hosts}/lemp11/hardware-configuration.nix (100%) rename {lib => nix/lib}/nixos/configuration.nix (100%) rename {lib => nix/lib}/nixos/default.nix (94%) rename {lib => nix/lib}/nixos/hardware-configuration.nix (100%) rename {lib => nix/lib}/shared/home-manager-packages.nix (100%) rename {lib => nix/lib}/shared/home-manager.nix (100%) rename {lib => nix/lib}/shared/scripts/_timer.nix (100%) rename {lib => nix/lib}/shared/scripts/create-zellij-session.nix (100%) rename {lib => nix/lib}/shared/scripts/deliver.nix (100%) rename {lib => nix/lib}/shared/scripts/export-video-list.nix (100%) rename {lib => nix/lib}/shared/scripts/run.nix (100%) rename {lib => nix/lib}/shared/scripts/t.nix (100%) rename {lib => nix/lib}/shared/scripts/timer.nix (100%) rename {lib => nix/lib}/theme/default.nix (100%) rename {lib => nix/lib}/wsl2/default.nix (87%) rename {modules => nix/modules}/home-manager/alacritty.nix (90%) rename {modules => nix/modules}/home-manager/bat.nix (100%) rename {modules => nix/modules}/home-manager/bin.nix (79%) rename {modules => nix/modules}/home-manager/bluetuith.nix (100%) rename {modules => nix/modules}/home-manager/copyq.nix (100%) rename {modules => nix/modules}/home-manager/direnv.nix (100%) rename {modules => nix/modules}/home-manager/espanso.nix (100%) rename {modules => nix/modules}/home-manager/espanso/matches/base.nix (100%) rename {modules => nix/modules}/home-manager/flameshot.nix (100%) rename {modules => nix/modules}/home-manager/fzf.nix (100%) rename {modules => nix/modules}/home-manager/git.nix (100%) rename {modules => nix/modules}/home-manager/gtk.nix (100%) rename {modules => nix/modules}/home-manager/htop.nix (100%) rename {modules => nix/modules}/home-manager/lsd.nix (100%) rename {modules => nix/modules}/home-manager/mpv.nix (100%) rename {modules => nix/modules}/home-manager/neovim.nix (100%) rename {modules => nix/modules}/home-manager/pet.nix (100%) rename {modules => nix/modules}/home-manager/phpactor.nix (65%) rename {modules => nix/modules}/home-manager/ripgrep.nix (100%) rename {modules => nix/modules}/home-manager/starship.nix (100%) rename {modules => nix/modules}/home-manager/syncthing.nix (100%) rename {modules => nix/modules}/home-manager/tmux.nix (100%) rename {modules => nix/modules}/home-manager/zellij.nix (76%) rename {modules => nix/modules}/home-manager/zsh.nix (100%) rename {modules => nix/modules}/home-manager/zsh/abbreviations.zsh (100%) rename {modules => nix/modules}/home-manager/zsh/aliases.nix (100%) rename {modules => nix/modules}/nixos/autorandr.nix (100%) rename {modules => nix/modules}/nixos/default.nix (100%) rename {modules => nix/modules}/nixos/desktop/default.nix (100%) rename {modules => nix/modules}/nixos/desktop/fonts.nix (100%) rename {modules => nix/modules}/nixos/desktop/gitea.nix (100%) rename {modules => nix/modules}/nixos/desktop/immich.nix (100%) rename {modules => nix/modules}/nixos/desktop/jellyfin.nix (100%) rename {modules => nix/modules}/nixos/docker.nix (100%) rename {modules => nix/modules}/nixos/i3.nix (98%) rename {modules => nix/modules}/nixos/kanata.nix (100%) rename {overlays => nix/overlays}/default.nix (100%) rename {pkgs => nix/pkgs}/default.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/conf-vim.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/edit-alternate-vim.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/nvim-tmux-navigation.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/standard-vim.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/vim-autoread.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/vim-caser.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/vim-heritage.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/vim-textobj-indent.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/vim-textobj-xmlattr.nix (100%) rename {pkgs => nix/pkgs}/vim-plugins/vim-zoom.nix (100%) rename {config/neovim => nvim}/.gitignore (100%) rename {config/neovim => nvim}/after/ftplugin/gitcommit.lua (100%) rename {config/neovim => nvim}/after/ftplugin/markdown.lua (100%) rename {config/neovim => nvim}/after/ftplugin/rst.lua (100%) rename {config/neovim => nvim}/after/ftplugin/term.vim (100%) rename {config/neovim => nvim}/autoload/opdavies.vim (100%) rename {config/neovim => nvim}/lua/opdavies/globals.lua (100%) rename {config/neovim => nvim}/lua/opdavies/init.lua (100%) rename {config/neovim => nvim}/lua/opdavies/keymaps.lua (100%) rename {config/neovim => nvim}/lua/opdavies/lsp/handlers.lua (100%) rename {config/neovim => nvim}/lua/opdavies/lsp/init.lua (100%) rename {config/neovim => nvim}/lua/opdavies/options.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/bash.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/javascript.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/lua.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/markdown.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/nix.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/php.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/rst.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/scss.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/twig.lua (100%) rename {config/neovim => nvim}/lua/opdavies/snippets/ft/yaml.lua (100%) rename {config/neovim => nvim}/plugin/colorscheme.lua (100%) rename {config/neovim => nvim}/plugin/comment.lua (100%) rename {config/neovim => nvim}/plugin/completion.lua (100%) rename {config/neovim => nvim}/plugin/conform.lua (100%) rename {config/neovim => nvim}/plugin/dap.lua (100%) rename {config/neovim => nvim}/plugin/dial.lua (100%) rename {config/neovim => nvim}/plugin/edit_alternate.lua (100%) rename {config/neovim => nvim}/plugin/fidget.lua (100%) rename {config/neovim => nvim}/plugin/filetype.lua (100%) rename {config/neovim => nvim}/plugin/fugitive.lua (100%) rename {config/neovim => nvim}/plugin/gitsigns.lua (100%) rename {config/neovim => nvim}/plugin/harpoon.lua (100%) rename {config/neovim => nvim}/plugin/lint.lua (100%) rename {config/neovim => nvim}/plugin/mini.lua (100%) rename {config/neovim => nvim}/plugin/netrw.lua (100%) rename {config/neovim => nvim}/plugin/nvim-tmux-navigation.lua (100%) rename {config/neovim => nvim}/plugin/oil.lua (100%) rename {config/neovim => nvim}/plugin/refactoring.lua (100%) rename {config/neovim => nvim}/plugin/sort.lua (100%) rename {config/neovim => nvim}/plugin/spectre.lua (100%) rename {config/neovim => nvim}/plugin/telescope.lua (100%) rename {config/neovim => nvim}/plugin/terminal.lua (100%) rename {config/neovim => nvim}/plugin/treesitter.lua (100%) rename {config/neovim => nvim}/plugin/treesj.lua (100%) rename {config/neovim => nvim}/plugin/undotree.lua (100%) rename {config/neovim => nvim}/plugin/vim-test.lua (100%) rename {config/neovim => nvim}/spell/en.utf-8.add (100%) rename stylua.toml => nvim/stylua.toml (100%) rename {config/phpactor => phpactor}/phpactor.yml (100%) rename {config/phpactor => phpactor}/templates/default/SourceCode.php.twig (100%) rename {config/phpactor => phpactor}/templates/drupal-functional-test/SourceCode.php.twig (100%) rename {config/phpactor => phpactor}/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename {config/phpactor => phpactor}/templates/drupal-unit-test/SourceCode.php.twig (100%) rename {config/wallpaper => wallpaper}/wallpaper.jpg (100%) rename {config/zellij => zellij}/config.kdl (100%) diff --git a/flake.nix b/flake.nix index 898b9a9f..2c9f9e8a 100644 --- a/flake.nix +++ b/flake.nix @@ -26,7 +26,7 @@ username = "opdavies"; - mkNixos = import ./lib/nixos { + mkNixos = import ./nix/lib/nixos { inherit inputs outputs @@ -36,7 +36,7 @@ username ; }; - mkWsl = import ./lib/wsl2 { + mkWsl = import ./nix/lib/wsl2 { inherit inputs outputs @@ -54,13 +54,13 @@ opdavies-nvim = buildVimPlugin { name = "opdavies-nvim"; - src = ./config/neovim; + src = ./nvim; }; }; formatter.${system} = pkgs.nixfmt-rfc-style; - overlays = import ./overlays { inherit inputs; }; + overlays = import ./nix/overlays { inherit inputs; }; nixosConfigurations = { lemp11 = mkNixos { diff --git a/home/opdavies/default.nix b/nix/home/opdavies/default.nix similarity index 90% rename from home/opdavies/default.nix rename to nix/home/opdavies/default.nix index a3c3ae6e..1ef95423 100644 --- a/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -18,7 +18,7 @@ let username ; }; - shared-config = import "${self}/lib/shared/home-manager.nix" { + shared-config = import "${self}/nix/lib/shared/home-manager.nix" { inherit inputs pkgs @@ -26,7 +26,7 @@ let username ; }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { + shared-packages = import "${self}/nix/lib/shared/home-manager-packages.nix" { inherit desktop inputs diff --git a/home/opdavies/desktop.nix b/nix/home/opdavies/desktop.nix similarity index 100% rename from home/opdavies/desktop.nix rename to nix/home/opdavies/desktop.nix diff --git a/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix similarity index 100% rename from hosts/lemp11/configuration.nix rename to nix/hosts/lemp11/configuration.nix diff --git a/hosts/lemp11/hardware-configuration.nix b/nix/hosts/lemp11/hardware-configuration.nix similarity index 100% rename from hosts/lemp11/hardware-configuration.nix rename to nix/hosts/lemp11/hardware-configuration.nix diff --git a/lib/nixos/configuration.nix b/nix/lib/nixos/configuration.nix similarity index 100% rename from lib/nixos/configuration.nix rename to nix/lib/nixos/configuration.nix diff --git a/lib/nixos/default.nix b/nix/lib/nixos/default.nix similarity index 94% rename from lib/nixos/default.nix rename to nix/lib/nixos/default.nix index 711dc7d0..ad7060db 100644 --- a/lib/nixos/default.nix +++ b/nix/lib/nixos/default.nix @@ -37,7 +37,7 @@ inputs.nixpkgs.lib.nixosSystem { }; useGlobalPkgs = true; useUserPackages = true; - users."${username}" = import "${self}/home/${username}"; + users."${username}" = import "${self}/nix/home/${username}"; }; } diff --git a/lib/nixos/hardware-configuration.nix b/nix/lib/nixos/hardware-configuration.nix similarity index 100% rename from lib/nixos/hardware-configuration.nix rename to nix/lib/nixos/hardware-configuration.nix diff --git a/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix similarity index 100% rename from lib/shared/home-manager-packages.nix rename to nix/lib/shared/home-manager-packages.nix diff --git a/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix similarity index 100% rename from lib/shared/home-manager.nix rename to nix/lib/shared/home-manager.nix diff --git a/lib/shared/scripts/_timer.nix b/nix/lib/shared/scripts/_timer.nix similarity index 100% rename from lib/shared/scripts/_timer.nix rename to nix/lib/shared/scripts/_timer.nix diff --git a/lib/shared/scripts/create-zellij-session.nix b/nix/lib/shared/scripts/create-zellij-session.nix similarity index 100% rename from lib/shared/scripts/create-zellij-session.nix rename to nix/lib/shared/scripts/create-zellij-session.nix diff --git a/lib/shared/scripts/deliver.nix b/nix/lib/shared/scripts/deliver.nix similarity index 100% rename from lib/shared/scripts/deliver.nix rename to nix/lib/shared/scripts/deliver.nix diff --git a/lib/shared/scripts/export-video-list.nix b/nix/lib/shared/scripts/export-video-list.nix similarity index 100% rename from lib/shared/scripts/export-video-list.nix rename to nix/lib/shared/scripts/export-video-list.nix diff --git a/lib/shared/scripts/run.nix b/nix/lib/shared/scripts/run.nix similarity index 100% rename from lib/shared/scripts/run.nix rename to nix/lib/shared/scripts/run.nix diff --git a/lib/shared/scripts/t.nix b/nix/lib/shared/scripts/t.nix similarity index 100% rename from lib/shared/scripts/t.nix rename to nix/lib/shared/scripts/t.nix diff --git a/lib/shared/scripts/timer.nix b/nix/lib/shared/scripts/timer.nix similarity index 100% rename from lib/shared/scripts/timer.nix rename to nix/lib/shared/scripts/timer.nix diff --git a/lib/theme/default.nix b/nix/lib/theme/default.nix similarity index 100% rename from lib/theme/default.nix rename to nix/lib/theme/default.nix diff --git a/lib/wsl2/default.nix b/nix/lib/wsl2/default.nix similarity index 87% rename from lib/wsl2/default.nix rename to nix/lib/wsl2/default.nix index 0b4224f3..b69dcfca 100644 --- a/lib/wsl2/default.nix +++ b/nix/lib/wsl2/default.nix @@ -17,7 +17,7 @@ let ]; }; - shared-config = import "${self}/lib/shared/home-manager.nix" { + shared-config = import "${self}/nix/lib/shared/home-manager.nix" { inherit inputs pkgs @@ -26,7 +26,7 @@ let ; }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { + shared-packages = import "${self}/nix/lib/shared/home-manager-packages.nix" { inherit inputs pkgs username; desktop = false; }; diff --git a/modules/home-manager/alacritty.nix b/nix/modules/home-manager/alacritty.nix similarity index 90% rename from modules/home-manager/alacritty.nix rename to nix/modules/home-manager/alacritty.nix index 8741ed81..9e54ef50 100644 --- a/modules/home-manager/alacritty.nix +++ b/nix/modules/home-manager/alacritty.nix @@ -8,7 +8,7 @@ let inherit (lib) strings; inherit (strings) toInt; - theme = import "${self}/lib/theme" { inherit pkgs; }; + theme = import "${self}/nix/lib/theme" { inherit pkgs; }; in { programs.alacritty = { diff --git a/modules/home-manager/bat.nix b/nix/modules/home-manager/bat.nix similarity index 100% rename from modules/home-manager/bat.nix rename to nix/modules/home-manager/bat.nix diff --git a/modules/home-manager/bin.nix b/nix/modules/home-manager/bin.nix similarity index 79% rename from modules/home-manager/bin.nix rename to nix/modules/home-manager/bin.nix index bd4ed852..11519c20 100644 --- a/modules/home-manager/bin.nix +++ b/nix/modules/home-manager/bin.nix @@ -3,7 +3,7 @@ home.sessionPath = [ "$HOME/.local/bin" ]; home.file.".local/bin" = { - source = "${self}/bin"; + source = "${self}/nix/bin"; recursive = true; }; } diff --git a/modules/home-manager/bluetuith.nix b/nix/modules/home-manager/bluetuith.nix similarity index 100% rename from modules/home-manager/bluetuith.nix rename to nix/modules/home-manager/bluetuith.nix diff --git a/modules/home-manager/copyq.nix b/nix/modules/home-manager/copyq.nix similarity index 100% rename from modules/home-manager/copyq.nix rename to nix/modules/home-manager/copyq.nix diff --git a/modules/home-manager/direnv.nix b/nix/modules/home-manager/direnv.nix similarity index 100% rename from modules/home-manager/direnv.nix rename to nix/modules/home-manager/direnv.nix diff --git a/modules/home-manager/espanso.nix b/nix/modules/home-manager/espanso.nix similarity index 100% rename from modules/home-manager/espanso.nix rename to nix/modules/home-manager/espanso.nix diff --git a/modules/home-manager/espanso/matches/base.nix b/nix/modules/home-manager/espanso/matches/base.nix similarity index 100% rename from modules/home-manager/espanso/matches/base.nix rename to nix/modules/home-manager/espanso/matches/base.nix diff --git a/modules/home-manager/flameshot.nix b/nix/modules/home-manager/flameshot.nix similarity index 100% rename from modules/home-manager/flameshot.nix rename to nix/modules/home-manager/flameshot.nix diff --git a/modules/home-manager/fzf.nix b/nix/modules/home-manager/fzf.nix similarity index 100% rename from modules/home-manager/fzf.nix rename to nix/modules/home-manager/fzf.nix diff --git a/modules/home-manager/git.nix b/nix/modules/home-manager/git.nix similarity index 100% rename from modules/home-manager/git.nix rename to nix/modules/home-manager/git.nix diff --git a/modules/home-manager/gtk.nix b/nix/modules/home-manager/gtk.nix similarity index 100% rename from modules/home-manager/gtk.nix rename to nix/modules/home-manager/gtk.nix diff --git a/modules/home-manager/htop.nix b/nix/modules/home-manager/htop.nix similarity index 100% rename from modules/home-manager/htop.nix rename to nix/modules/home-manager/htop.nix diff --git a/modules/home-manager/lsd.nix b/nix/modules/home-manager/lsd.nix similarity index 100% rename from modules/home-manager/lsd.nix rename to nix/modules/home-manager/lsd.nix diff --git a/modules/home-manager/mpv.nix b/nix/modules/home-manager/mpv.nix similarity index 100% rename from modules/home-manager/mpv.nix rename to nix/modules/home-manager/mpv.nix diff --git a/modules/home-manager/neovim.nix b/nix/modules/home-manager/neovim.nix similarity index 100% rename from modules/home-manager/neovim.nix rename to nix/modules/home-manager/neovim.nix diff --git a/modules/home-manager/pet.nix b/nix/modules/home-manager/pet.nix similarity index 100% rename from modules/home-manager/pet.nix rename to nix/modules/home-manager/pet.nix diff --git a/modules/home-manager/phpactor.nix b/nix/modules/home-manager/phpactor.nix similarity index 65% rename from modules/home-manager/phpactor.nix rename to nix/modules/home-manager/phpactor.nix index ba4c1dd6..98bc31bb 100644 --- a/modules/home-manager/phpactor.nix +++ b/nix/modules/home-manager/phpactor.nix @@ -1,7 +1,7 @@ { self, ... }: { xdg.configFile.phpactor = { - source = "${self}/config/phpactor"; + source = "${self}/phpactor"; recursive = true; }; } diff --git a/modules/home-manager/ripgrep.nix b/nix/modules/home-manager/ripgrep.nix similarity index 100% rename from modules/home-manager/ripgrep.nix rename to nix/modules/home-manager/ripgrep.nix diff --git a/modules/home-manager/starship.nix b/nix/modules/home-manager/starship.nix similarity index 100% rename from modules/home-manager/starship.nix rename to nix/modules/home-manager/starship.nix diff --git a/modules/home-manager/syncthing.nix b/nix/modules/home-manager/syncthing.nix similarity index 100% rename from modules/home-manager/syncthing.nix rename to nix/modules/home-manager/syncthing.nix diff --git a/modules/home-manager/tmux.nix b/nix/modules/home-manager/tmux.nix similarity index 100% rename from modules/home-manager/tmux.nix rename to nix/modules/home-manager/tmux.nix diff --git a/modules/home-manager/zellij.nix b/nix/modules/home-manager/zellij.nix similarity index 76% rename from modules/home-manager/zellij.nix rename to nix/modules/home-manager/zellij.nix index 7eebe03e..d746d2ba 100644 --- a/modules/home-manager/zellij.nix +++ b/nix/modules/home-manager/zellij.nix @@ -5,7 +5,7 @@ }; xdg.configFile."zellij" = { - source = "${self}/config/zellij"; + source = "${self}/zellij"; recursive = true; }; } diff --git a/modules/home-manager/zsh.nix b/nix/modules/home-manager/zsh.nix similarity index 100% rename from modules/home-manager/zsh.nix rename to nix/modules/home-manager/zsh.nix diff --git a/modules/home-manager/zsh/abbreviations.zsh b/nix/modules/home-manager/zsh/abbreviations.zsh similarity index 100% rename from modules/home-manager/zsh/abbreviations.zsh rename to nix/modules/home-manager/zsh/abbreviations.zsh diff --git a/modules/home-manager/zsh/aliases.nix b/nix/modules/home-manager/zsh/aliases.nix similarity index 100% rename from modules/home-manager/zsh/aliases.nix rename to nix/modules/home-manager/zsh/aliases.nix diff --git a/modules/nixos/autorandr.nix b/nix/modules/nixos/autorandr.nix similarity index 100% rename from modules/nixos/autorandr.nix rename to nix/modules/nixos/autorandr.nix diff --git a/modules/nixos/default.nix b/nix/modules/nixos/default.nix similarity index 100% rename from modules/nixos/default.nix rename to nix/modules/nixos/default.nix diff --git a/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix similarity index 100% rename from modules/nixos/desktop/default.nix rename to nix/modules/nixos/desktop/default.nix diff --git a/modules/nixos/desktop/fonts.nix b/nix/modules/nixos/desktop/fonts.nix similarity index 100% rename from modules/nixos/desktop/fonts.nix rename to nix/modules/nixos/desktop/fonts.nix diff --git a/modules/nixos/desktop/gitea.nix b/nix/modules/nixos/desktop/gitea.nix similarity index 100% rename from modules/nixos/desktop/gitea.nix rename to nix/modules/nixos/desktop/gitea.nix diff --git a/modules/nixos/desktop/immich.nix b/nix/modules/nixos/desktop/immich.nix similarity index 100% rename from modules/nixos/desktop/immich.nix rename to nix/modules/nixos/desktop/immich.nix diff --git a/modules/nixos/desktop/jellyfin.nix b/nix/modules/nixos/desktop/jellyfin.nix similarity index 100% rename from modules/nixos/desktop/jellyfin.nix rename to nix/modules/nixos/desktop/jellyfin.nix diff --git a/modules/nixos/docker.nix b/nix/modules/nixos/docker.nix similarity index 100% rename from modules/nixos/docker.nix rename to nix/modules/nixos/docker.nix diff --git a/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix similarity index 98% rename from modules/nixos/i3.nix rename to nix/modules/nixos/i3.nix index 4cd16e20..8f06dda1 100644 --- a/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -7,7 +7,7 @@ }: let - theme = import "${self}/lib/theme" { inherit pkgs; }; + theme = import "${self}/nix/lib/theme" { inherit pkgs; }; modifier = "Mod4"; in diff --git a/modules/nixos/kanata.nix b/nix/modules/nixos/kanata.nix similarity index 100% rename from modules/nixos/kanata.nix rename to nix/modules/nixos/kanata.nix diff --git a/overlays/default.nix b/nix/overlays/default.nix similarity index 100% rename from overlays/default.nix rename to nix/overlays/default.nix diff --git a/pkgs/default.nix b/nix/pkgs/default.nix similarity index 100% rename from pkgs/default.nix rename to nix/pkgs/default.nix diff --git a/pkgs/vim-plugins/conf-vim.nix b/nix/pkgs/vim-plugins/conf-vim.nix similarity index 100% rename from pkgs/vim-plugins/conf-vim.nix rename to nix/pkgs/vim-plugins/conf-vim.nix diff --git a/pkgs/vim-plugins/edit-alternate-vim.nix b/nix/pkgs/vim-plugins/edit-alternate-vim.nix similarity index 100% rename from pkgs/vim-plugins/edit-alternate-vim.nix rename to nix/pkgs/vim-plugins/edit-alternate-vim.nix diff --git a/pkgs/vim-plugins/nvim-tmux-navigation.nix b/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix similarity index 100% rename from pkgs/vim-plugins/nvim-tmux-navigation.nix rename to nix/pkgs/vim-plugins/nvim-tmux-navigation.nix diff --git a/pkgs/vim-plugins/standard-vim.nix b/nix/pkgs/vim-plugins/standard-vim.nix similarity index 100% rename from pkgs/vim-plugins/standard-vim.nix rename to nix/pkgs/vim-plugins/standard-vim.nix diff --git a/pkgs/vim-plugins/vim-autoread.nix b/nix/pkgs/vim-plugins/vim-autoread.nix similarity index 100% rename from pkgs/vim-plugins/vim-autoread.nix rename to nix/pkgs/vim-plugins/vim-autoread.nix diff --git a/pkgs/vim-plugins/vim-caser.nix b/nix/pkgs/vim-plugins/vim-caser.nix similarity index 100% rename from pkgs/vim-plugins/vim-caser.nix rename to nix/pkgs/vim-plugins/vim-caser.nix diff --git a/pkgs/vim-plugins/vim-heritage.nix b/nix/pkgs/vim-plugins/vim-heritage.nix similarity index 100% rename from pkgs/vim-plugins/vim-heritage.nix rename to nix/pkgs/vim-plugins/vim-heritage.nix diff --git a/pkgs/vim-plugins/vim-textobj-indent.nix b/nix/pkgs/vim-plugins/vim-textobj-indent.nix similarity index 100% rename from pkgs/vim-plugins/vim-textobj-indent.nix rename to nix/pkgs/vim-plugins/vim-textobj-indent.nix diff --git a/pkgs/vim-plugins/vim-textobj-xmlattr.nix b/nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix similarity index 100% rename from pkgs/vim-plugins/vim-textobj-xmlattr.nix rename to nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix diff --git a/pkgs/vim-plugins/vim-zoom.nix b/nix/pkgs/vim-plugins/vim-zoom.nix similarity index 100% rename from pkgs/vim-plugins/vim-zoom.nix rename to nix/pkgs/vim-plugins/vim-zoom.nix diff --git a/config/neovim/.gitignore b/nvim/.gitignore similarity index 100% rename from config/neovim/.gitignore rename to nvim/.gitignore diff --git a/config/neovim/after/ftplugin/gitcommit.lua b/nvim/after/ftplugin/gitcommit.lua similarity index 100% rename from config/neovim/after/ftplugin/gitcommit.lua rename to nvim/after/ftplugin/gitcommit.lua diff --git a/config/neovim/after/ftplugin/markdown.lua b/nvim/after/ftplugin/markdown.lua similarity index 100% rename from config/neovim/after/ftplugin/markdown.lua rename to nvim/after/ftplugin/markdown.lua diff --git a/config/neovim/after/ftplugin/rst.lua b/nvim/after/ftplugin/rst.lua similarity index 100% rename from config/neovim/after/ftplugin/rst.lua rename to nvim/after/ftplugin/rst.lua diff --git a/config/neovim/after/ftplugin/term.vim b/nvim/after/ftplugin/term.vim similarity index 100% rename from config/neovim/after/ftplugin/term.vim rename to nvim/after/ftplugin/term.vim diff --git a/config/neovim/autoload/opdavies.vim b/nvim/autoload/opdavies.vim similarity index 100% rename from config/neovim/autoload/opdavies.vim rename to nvim/autoload/opdavies.vim diff --git a/config/neovim/lua/opdavies/globals.lua b/nvim/lua/opdavies/globals.lua similarity index 100% rename from config/neovim/lua/opdavies/globals.lua rename to nvim/lua/opdavies/globals.lua diff --git a/config/neovim/lua/opdavies/init.lua b/nvim/lua/opdavies/init.lua similarity index 100% rename from config/neovim/lua/opdavies/init.lua rename to nvim/lua/opdavies/init.lua diff --git a/config/neovim/lua/opdavies/keymaps.lua b/nvim/lua/opdavies/keymaps.lua similarity index 100% rename from config/neovim/lua/opdavies/keymaps.lua rename to nvim/lua/opdavies/keymaps.lua diff --git a/config/neovim/lua/opdavies/lsp/handlers.lua b/nvim/lua/opdavies/lsp/handlers.lua similarity index 100% rename from config/neovim/lua/opdavies/lsp/handlers.lua rename to nvim/lua/opdavies/lsp/handlers.lua diff --git a/config/neovim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua similarity index 100% rename from config/neovim/lua/opdavies/lsp/init.lua rename to nvim/lua/opdavies/lsp/init.lua diff --git a/config/neovim/lua/opdavies/options.lua b/nvim/lua/opdavies/options.lua similarity index 100% rename from config/neovim/lua/opdavies/options.lua rename to nvim/lua/opdavies/options.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/bash.lua b/nvim/lua/opdavies/snippets/ft/bash.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/bash.lua rename to nvim/lua/opdavies/snippets/ft/bash.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/javascript.lua b/nvim/lua/opdavies/snippets/ft/javascript.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/javascript.lua rename to nvim/lua/opdavies/snippets/ft/javascript.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/lua.lua b/nvim/lua/opdavies/snippets/ft/lua.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/lua.lua rename to nvim/lua/opdavies/snippets/ft/lua.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/markdown.lua b/nvim/lua/opdavies/snippets/ft/markdown.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/markdown.lua rename to nvim/lua/opdavies/snippets/ft/markdown.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/nix.lua b/nvim/lua/opdavies/snippets/ft/nix.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/nix.lua rename to nvim/lua/opdavies/snippets/ft/nix.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/php.lua b/nvim/lua/opdavies/snippets/ft/php.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/php.lua rename to nvim/lua/opdavies/snippets/ft/php.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/rst.lua b/nvim/lua/opdavies/snippets/ft/rst.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/rst.lua rename to nvim/lua/opdavies/snippets/ft/rst.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/scss.lua b/nvim/lua/opdavies/snippets/ft/scss.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/scss.lua rename to nvim/lua/opdavies/snippets/ft/scss.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/twig.lua b/nvim/lua/opdavies/snippets/ft/twig.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/twig.lua rename to nvim/lua/opdavies/snippets/ft/twig.lua diff --git a/config/neovim/lua/opdavies/snippets/ft/yaml.lua b/nvim/lua/opdavies/snippets/ft/yaml.lua similarity index 100% rename from config/neovim/lua/opdavies/snippets/ft/yaml.lua rename to nvim/lua/opdavies/snippets/ft/yaml.lua diff --git a/config/neovim/plugin/colorscheme.lua b/nvim/plugin/colorscheme.lua similarity index 100% rename from config/neovim/plugin/colorscheme.lua rename to nvim/plugin/colorscheme.lua diff --git a/config/neovim/plugin/comment.lua b/nvim/plugin/comment.lua similarity index 100% rename from config/neovim/plugin/comment.lua rename to nvim/plugin/comment.lua diff --git a/config/neovim/plugin/completion.lua b/nvim/plugin/completion.lua similarity index 100% rename from config/neovim/plugin/completion.lua rename to nvim/plugin/completion.lua diff --git a/config/neovim/plugin/conform.lua b/nvim/plugin/conform.lua similarity index 100% rename from config/neovim/plugin/conform.lua rename to nvim/plugin/conform.lua diff --git a/config/neovim/plugin/dap.lua b/nvim/plugin/dap.lua similarity index 100% rename from config/neovim/plugin/dap.lua rename to nvim/plugin/dap.lua diff --git a/config/neovim/plugin/dial.lua b/nvim/plugin/dial.lua similarity index 100% rename from config/neovim/plugin/dial.lua rename to nvim/plugin/dial.lua diff --git a/config/neovim/plugin/edit_alternate.lua b/nvim/plugin/edit_alternate.lua similarity index 100% rename from config/neovim/plugin/edit_alternate.lua rename to nvim/plugin/edit_alternate.lua diff --git a/config/neovim/plugin/fidget.lua b/nvim/plugin/fidget.lua similarity index 100% rename from config/neovim/plugin/fidget.lua rename to nvim/plugin/fidget.lua diff --git a/config/neovim/plugin/filetype.lua b/nvim/plugin/filetype.lua similarity index 100% rename from config/neovim/plugin/filetype.lua rename to nvim/plugin/filetype.lua diff --git a/config/neovim/plugin/fugitive.lua b/nvim/plugin/fugitive.lua similarity index 100% rename from config/neovim/plugin/fugitive.lua rename to nvim/plugin/fugitive.lua diff --git a/config/neovim/plugin/gitsigns.lua b/nvim/plugin/gitsigns.lua similarity index 100% rename from config/neovim/plugin/gitsigns.lua rename to nvim/plugin/gitsigns.lua diff --git a/config/neovim/plugin/harpoon.lua b/nvim/plugin/harpoon.lua similarity index 100% rename from config/neovim/plugin/harpoon.lua rename to nvim/plugin/harpoon.lua diff --git a/config/neovim/plugin/lint.lua b/nvim/plugin/lint.lua similarity index 100% rename from config/neovim/plugin/lint.lua rename to nvim/plugin/lint.lua diff --git a/config/neovim/plugin/mini.lua b/nvim/plugin/mini.lua similarity index 100% rename from config/neovim/plugin/mini.lua rename to nvim/plugin/mini.lua diff --git a/config/neovim/plugin/netrw.lua b/nvim/plugin/netrw.lua similarity index 100% rename from config/neovim/plugin/netrw.lua rename to nvim/plugin/netrw.lua diff --git a/config/neovim/plugin/nvim-tmux-navigation.lua b/nvim/plugin/nvim-tmux-navigation.lua similarity index 100% rename from config/neovim/plugin/nvim-tmux-navigation.lua rename to nvim/plugin/nvim-tmux-navigation.lua diff --git a/config/neovim/plugin/oil.lua b/nvim/plugin/oil.lua similarity index 100% rename from config/neovim/plugin/oil.lua rename to nvim/plugin/oil.lua diff --git a/config/neovim/plugin/refactoring.lua b/nvim/plugin/refactoring.lua similarity index 100% rename from config/neovim/plugin/refactoring.lua rename to nvim/plugin/refactoring.lua diff --git a/config/neovim/plugin/sort.lua b/nvim/plugin/sort.lua similarity index 100% rename from config/neovim/plugin/sort.lua rename to nvim/plugin/sort.lua diff --git a/config/neovim/plugin/spectre.lua b/nvim/plugin/spectre.lua similarity index 100% rename from config/neovim/plugin/spectre.lua rename to nvim/plugin/spectre.lua diff --git a/config/neovim/plugin/telescope.lua b/nvim/plugin/telescope.lua similarity index 100% rename from config/neovim/plugin/telescope.lua rename to nvim/plugin/telescope.lua diff --git a/config/neovim/plugin/terminal.lua b/nvim/plugin/terminal.lua similarity index 100% rename from config/neovim/plugin/terminal.lua rename to nvim/plugin/terminal.lua diff --git a/config/neovim/plugin/treesitter.lua b/nvim/plugin/treesitter.lua similarity index 100% rename from config/neovim/plugin/treesitter.lua rename to nvim/plugin/treesitter.lua diff --git a/config/neovim/plugin/treesj.lua b/nvim/plugin/treesj.lua similarity index 100% rename from config/neovim/plugin/treesj.lua rename to nvim/plugin/treesj.lua diff --git a/config/neovim/plugin/undotree.lua b/nvim/plugin/undotree.lua similarity index 100% rename from config/neovim/plugin/undotree.lua rename to nvim/plugin/undotree.lua diff --git a/config/neovim/plugin/vim-test.lua b/nvim/plugin/vim-test.lua similarity index 100% rename from config/neovim/plugin/vim-test.lua rename to nvim/plugin/vim-test.lua diff --git a/config/neovim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add similarity index 100% rename from config/neovim/spell/en.utf-8.add rename to nvim/spell/en.utf-8.add diff --git a/stylua.toml b/nvim/stylua.toml similarity index 100% rename from stylua.toml rename to nvim/stylua.toml diff --git a/config/phpactor/phpactor.yml b/phpactor/phpactor.yml similarity index 100% rename from config/phpactor/phpactor.yml rename to phpactor/phpactor.yml diff --git a/config/phpactor/templates/default/SourceCode.php.twig b/phpactor/templates/default/SourceCode.php.twig similarity index 100% rename from config/phpactor/templates/default/SourceCode.php.twig rename to phpactor/templates/default/SourceCode.php.twig diff --git a/config/phpactor/templates/drupal-functional-test/SourceCode.php.twig b/phpactor/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from config/phpactor/templates/drupal-functional-test/SourceCode.php.twig rename to phpactor/templates/drupal-functional-test/SourceCode.php.twig diff --git a/config/phpactor/templates/drupal-kernel-test/SourceCode.php.twig b/phpactor/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from config/phpactor/templates/drupal-kernel-test/SourceCode.php.twig rename to phpactor/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/config/phpactor/templates/drupal-unit-test/SourceCode.php.twig b/phpactor/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from config/phpactor/templates/drupal-unit-test/SourceCode.php.twig rename to phpactor/templates/drupal-unit-test/SourceCode.php.twig diff --git a/config/wallpaper/wallpaper.jpg b/wallpaper/wallpaper.jpg similarity index 100% rename from config/wallpaper/wallpaper.jpg rename to wallpaper/wallpaper.jpg diff --git a/config/zellij/config.kdl b/zellij/config.kdl similarity index 100% rename from config/zellij/config.kdl rename to zellij/config.kdl From 785b24ca0f1737464f505a9464e7b77941eaeff9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 21:49:33 +0000 Subject: [PATCH 1103/2258] Add dunst --- nix/modules/nixos/i3.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 8f06dda1..d6da87de 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -29,7 +29,10 @@ in }; }; - environment.systemPackages = [ pkgs.nitrogen ]; + environment.systemPackages = with pkgs; [ + dunst + nitrogen + ]; home-manager.users.${username} = { xsession.windowManager.i3 = { From 7c5461892c827654148755f82204cef4b4d61057 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 22:42:14 +0000 Subject: [PATCH 1104/2258] Update espanso matches --- nix/modules/home-manager/espanso.nix | 4 +++- .../home-manager/espanso/matches/base.nix | 21 ++++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/nix/modules/home-manager/espanso.nix b/nix/modules/home-manager/espanso.nix index 59b1e3b9..8867fe9c 100644 --- a/nix/modules/home-manager/espanso.nix +++ b/nix/modules/home-manager/espanso.nix @@ -1,3 +1,5 @@ +{ lib, ... }: + { services.espanso = { enable = true; @@ -10,7 +12,7 @@ }; matches = { - base = import ./espanso/matches/base.nix; + base = import ./espanso/matches/base.nix { inherit lib; }; }; }; } diff --git a/nix/modules/home-manager/espanso/matches/base.nix b/nix/modules/home-manager/espanso/matches/base.nix index a48232ee..57204c50 100644 --- a/nix/modules/home-manager/espanso/matches/base.nix +++ b/nix/modules/home-manager/espanso/matches/base.nix @@ -1,10 +1,19 @@ +{ lib, ... }: + let + inherit (lib) removePrefix; + websiteUrl = "https://www.oliverdavies.uk"; dailyUrl = "https://dailydrupaler.com"; + githubUrl = "https://github.com/opdavies"; podcastUrl = "https://beyondblockspodcast.com"; in { matches = [ + { + trigger = ":email"; + replace = "oliver@${removePrefix "https://www." websiteUrl}"; + } { trigger = ":archive"; replace = "${websiteUrl}/archive"; @@ -26,16 +35,12 @@ in replace = "${dailyUrl}"; } { - trigger = ":dotfiles"; - replace = "https://github.com/opdavies/dotfiles.nix"; + trigger = ":dot"; + replace = "${githubUrl}/dotfiles"; } { - trigger = ":dc"; - replace = "Drupal Commerce"; - } - { - trigger = ":dr"; - replace = "Drupal"; + trigger = ":gh"; + replace = "${githubUrl}"; } { trigger = ":gt"; From d64018f6d0f8cca0d5a83ae4695b4dcb745607a8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <339813+opdavies@users.noreply.github.com> Date: Thu, 21 Nov 2024 08:17:15 +0000 Subject: [PATCH 1105/2258] Update todo.txt --- todo.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/todo.txt b/todo.txt index 20d6989e..4c7f6585 100644 --- a/todo.txt +++ b/todo.txt @@ -1,6 +1,4 @@ Use nixosModules and homeManagerModules outputs in flake.nix to simplify importing modules -Add immich for photo hosting Use nginx for jellyfin, immich and gitea -Add gitea for local Git hosting Add daily script Add create-podcast-tasks script From 2735048119e37e6d72e3c9e52361e80fd0a3a9d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 23:18:54 +0000 Subject: [PATCH 1106/2258] Enable xbanish Hide the mouse cursor whilst typing. https://github.com/jcs/xbanish --- nix/modules/nixos/desktop/default.nix | 3 ++- nix/modules/nixos/desktop/xbanish.nix | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 nix/modules/nixos/desktop/xbanish.nix diff --git a/nix/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix index 1f013d1d..641e847e 100644 --- a/nix/modules/nixos/desktop/default.nix +++ b/nix/modules/nixos/desktop/default.nix @@ -3,7 +3,8 @@ ../. ./fonts.nix ./gitea.nix - ./jellyfin.nix ./immich.nix + ./jellyfin.nix + ./xbanish.nix ]; } diff --git a/nix/modules/nixos/desktop/xbanish.nix b/nix/modules/nixos/desktop/xbanish.nix new file mode 100644 index 00000000..4a584a7a --- /dev/null +++ b/nix/modules/nixos/desktop/xbanish.nix @@ -0,0 +1 @@ +{ services.xbanish.enable = true; } From 5ba4add9a3b663b29e78c98ecfb3e313ba79fbd5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 20 Nov 2024 23:59:01 +0000 Subject: [PATCH 1107/2258] Automatically run autorandr --- nix/modules/nixos/i3.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index d6da87de..19002e73 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -99,6 +99,7 @@ in exec_always --no-startup-id ${pkgs.nitrogen}/bin/nitrogen --restore & exec_always --no-startup-id caffeine + exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change default_border none default_floating_border none From 2ed0cfbb20f13960979fde0c84a8c26d542394fe Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 10:32:41 +0000 Subject: [PATCH 1108/2258] Remove the old nixpkgs-unstable input This is not needed as I'm now using unstable by default. --- flake.lock | 19 +------------------ flake.nix | 2 -- nix/lib/nixos/configuration.nix | 1 - nix/lib/wsl2/default.nix | 1 - nix/modules/home-manager/git.nix | 2 +- nix/overlays/default.nix | 7 ------- 6 files changed, 2 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 1942ee43..b1cc7ea1 100644 --- a/flake.lock +++ b/flake.lock @@ -69,29 +69,12 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1729665710, - "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", - "nixpkgs-2405": "nixpkgs-2405", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-2405": "nixpkgs-2405" } } }, diff --git a/flake.nix b/flake.nix index 2c9f9e8a..afc61a12 100644 --- a/flake.nix +++ b/flake.nix @@ -6,8 +6,6 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; }; diff --git a/nix/lib/nixos/configuration.nix b/nix/lib/nixos/configuration.nix index c096ec8f..1d2dc8ac 100644 --- a/nix/lib/nixos/configuration.nix +++ b/nix/lib/nixos/configuration.nix @@ -23,7 +23,6 @@ in outputs.overlays.additions outputs.overlays.modifications outputs.overlays.stable-packages - outputs.overlays.unstable-packages ]; }; diff --git a/nix/lib/wsl2/default.nix b/nix/lib/wsl2/default.nix index b69dcfca..b2d2ad45 100644 --- a/nix/lib/wsl2/default.nix +++ b/nix/lib/wsl2/default.nix @@ -13,7 +13,6 @@ let overlays = [ outputs.overlays.additions outputs.overlays.modifications - outputs.overlays.unstable-packages ]; }; diff --git a/nix/modules/home-manager/git.nix b/nix/modules/home-manager/git.nix index f62e73d4..c54b26af 100644 --- a/nix/modules/home-manager/git.nix +++ b/nix/modules/home-manager/git.nix @@ -146,7 +146,7 @@ }; }; - home.packages = with pkgs.unstable; [ git-instafix ]; + home.packages = [ pkgs.git-instafix ]; home.sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index f3fb4e37..6308c47e 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -17,11 +17,4 @@ system = final.system; }; }; - - unstable-packages = final: _prev: { - unstable = import inputs.nixpkgs-unstable { - config.allowUnfree = true; - system = final.system; - }; - }; } From bebdfb82fd7e61bd7507b5d20502ecc19a58a710 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 10:48:16 +0000 Subject: [PATCH 1109/2258] Update flake.lock file dependencies --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index b1cc7ea1..c7a0febf 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1731235328, - "narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "60bb110917844d354f3c18e05450606a435d2d10", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -23,11 +23,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729742320, - "narHash": "sha256-u3Of8xRkN//me8PU+RucKA59/6RNy4B2jcGAF36P4jI=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { @@ -55,11 +55,11 @@ }, "nixpkgs-2405": { "locked": { - "lastModified": 1731652201, - "narHash": "sha256-XUO0JKP1hlww0d7mm3kpmIr4hhtR4zicg5Wwes9cPMg=", + "lastModified": 1731797254, + "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c21b77913ea840f8bcf9adf4c41cecc2abffd38d", + "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", "type": "github" }, "original": { From 962e97f613bee0204d167829cb39ea9c341bd57f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 13:19:21 +0000 Subject: [PATCH 1110/2258] Add build-glove80 script Instead of running NixOS in Docker, I can build the firmware natively as I'm running NixOS. --- nix/home/opdavies/default.nix | 1 + nix/pkgs/build-glove80.nix | 41 +++++++++++++++++++++++++++++++++++ nix/pkgs/default.nix | 2 ++ 3 files changed, 44 insertions(+) create mode 100644 nix/pkgs/build-glove80.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 1ef95423..f2c03703 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -51,6 +51,7 @@ in with pkgs; [ brave + build-glove80 discord gimp gscan2pdf diff --git a/nix/pkgs/build-glove80.nix b/nix/pkgs/build-glove80.nix new file mode 100644 index 00000000..9c668741 --- /dev/null +++ b/nix/pkgs/build-glove80.nix @@ -0,0 +1,41 @@ +{ pkgs, ... }: + +pkgs.writeShellApplication { + name = "build-glove80"; + + runtimeInputs = with pkgs; [ + cachix + git + nix + ]; + + text = '' + BRANCH="''${1:-main}" + SRC_DIR="''${PWD}/src" + CONFIG_DIR="''${PWD}/config" + NIX_FILE="''${CONFIG_DIR}/default.nix" + + # Ensure cachix is configured + echo "Using moergo-glove80-zmk-dev cache" + cachix use moergo-glove80-zmk-dev + + # Clone or update the ZMK repository + if [ ! -d "$SRC_DIR" ]; then + echo "Cloning ZMK repository into ./src..." + git clone https://github.com/moergo-sc/zmk "$SRC_DIR" + else + echo "Updating ZMK repository in ./src..." + git -C "$SRC_DIR" fetch --all + fi + + # Checkout the specified branch or tag + echo "Checking out branch/tag: $BRANCH in ./src" + git -C "$SRC_DIR" checkout -q --detach "$BRANCH" + + # Build firmware using Nix + echo "Building firmware from: $NIX_FILE" + nix-build "$NIX_FILE" --arg firmware "import ''${SRC_DIR}/default.nix {}" -j2 -o ./glove80.uf2 --show-trace + + echo "Firmware built successfully: $(realpath ./glove80.uf2)" + ''; +} diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 3d2be89f..d8cb0376 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -4,6 +4,8 @@ let inherit (pkgs) callPackage; in { + build-glove80 = callPackage ./build-glove80.nix { }; + vimPlugins = prev.vimPlugins // { conf-vim = callPackage ./vim-plugins/conf-vim.nix { }; edit-alternate-vim = callPackage ./vim-plugins/edit-alternate-vim.nix { }; From 64b3299b82b2e84c447601d8af343a382e4563ae Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 13:22:17 +0000 Subject: [PATCH 1111/2258] Update spellfile path --- nix/modules/home-manager/zsh/aliases.nix | 2 +- nvim/lua/opdavies/options.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/modules/home-manager/zsh/aliases.nix b/nix/modules/home-manager/zsh/aliases.nix index 8a19f590..46a0e3af 100644 --- a/nix/modules/home-manager/zsh/aliases.nix +++ b/nix/modules/home-manager/zsh/aliases.nix @@ -9,6 +9,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - vss = "LC_ALL=C sort --unique $REPOS/dotfiles.nix/config/neovim/spell/en.utf-8.add --output $REPOS/dotfiles.nix/config/neovim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique $REPOS/dotfiles/nvim/spell/en.utf-8.add --output $REPOS/dotfiles.nix/config/neovim/spell/en.utf-8.add"; wt = "git worktree"; } diff --git a/nvim/lua/opdavies/options.lua b/nvim/lua/opdavies/options.lua index 751020d2..0c5d1d1c 100644 --- a/nvim/lua/opdavies/options.lua +++ b/nvim/lua/opdavies/options.lua @@ -27,7 +27,7 @@ local settings = { signcolumn = "yes:1", smartindent = true, softtabstop = 2, - spellfile = "/home/opdavies/Code/dotfiles.nix/config/neovim/spell/en.utf-8.add", + spellfile = "/home/opdavies/Code/dotfiles/nvim/spell/en.utf-8.add", splitbelow = true, splitright = true, swapfile = false, From 42742700a6c11616fb8264727306ea8b3f507f8a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 16:21:14 +0000 Subject: [PATCH 1112/2258] Move i3 and autorandr into desktop modules --- nix/lib/nixos/configuration.nix | 4 ++++ nix/lib/nixos/default.nix | 10 ---------- nix/modules/nixos/{ => desktop}/autorandr.nix | 0 nix/modules/nixos/desktop/default.nix | 2 ++ nix/modules/nixos/{ => desktop}/i3.nix | 0 5 files changed, 6 insertions(+), 10 deletions(-) rename nix/modules/nixos/{ => desktop}/autorandr.nix (100%) rename nix/modules/nixos/{ => desktop}/i3.nix (100%) diff --git a/nix/lib/nixos/configuration.nix b/nix/lib/nixos/configuration.nix index 1d2dc8ac..317f8bb7 100644 --- a/nix/lib/nixos/configuration.nix +++ b/nix/lib/nixos/configuration.nix @@ -12,6 +12,10 @@ in { imports = [ ../../modules/nixos/desktop ]; + _module.args = { + inherit inputs self username; + }; + nixpkgs = { config = { allowUnfree = true; diff --git a/nix/lib/nixos/default.nix b/nix/lib/nixos/default.nix index ad7060db..bcbf6b55 100644 --- a/nix/lib/nixos/default.nix +++ b/nix/lib/nixos/default.nix @@ -41,16 +41,6 @@ inputs.nixpkgs.lib.nixosSystem { }; } - (import ../../modules/nixos/autorandr.nix) - (import ../../modules/nixos/i3.nix { - inherit - inputs - pkgs - self - username - ; - }) - configuration hardwareConfiguration diff --git a/nix/modules/nixos/autorandr.nix b/nix/modules/nixos/desktop/autorandr.nix similarity index 100% rename from nix/modules/nixos/autorandr.nix rename to nix/modules/nixos/desktop/autorandr.nix diff --git a/nix/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix index 641e847e..75c32268 100644 --- a/nix/modules/nixos/desktop/default.nix +++ b/nix/modules/nixos/desktop/default.nix @@ -1,8 +1,10 @@ { imports = [ ../. + ./autorandr.nix ./fonts.nix ./gitea.nix + ./i3.nix ./immich.nix ./jellyfin.nix ./xbanish.nix diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/desktop/i3.nix similarity index 100% rename from nix/modules/nixos/i3.nix rename to nix/modules/nixos/desktop/i3.nix From b480910b9807bc4b301fde5403b67e27012f8b83 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 16:31:40 +0000 Subject: [PATCH 1113/2258] Don't redeclare the username --- nix/lib/nixos/configuration.nix | 6 +++--- nix/lib/nixos/default.nix | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nix/lib/nixos/configuration.nix b/nix/lib/nixos/configuration.nix index 317f8bb7..e762fdb7 100644 --- a/nix/lib/nixos/configuration.nix +++ b/nix/lib/nixos/configuration.nix @@ -3,12 +3,12 @@ outputs, desktop ? false, hostname, + username, self, }: + { pkgs, ... }: -let - username = "opdavies"; -in + { imports = [ ../../modules/nixos/desktop ]; diff --git a/nix/lib/nixos/default.nix b/nix/lib/nixos/default.nix index bcbf6b55..75564523 100644 --- a/nix/lib/nixos/default.nix +++ b/nix/lib/nixos/default.nix @@ -16,6 +16,7 @@ let outputs desktop hostname + username inputs self ; From 664f8e37ae00e626d99ab2fa69934abc5321d113 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 18:57:35 +0000 Subject: [PATCH 1114/2258] Add screenkey --- nix/modules/nixos/desktop/default.nix | 1 + nix/modules/nixos/desktop/screenkey.nix | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 nix/modules/nixos/desktop/screenkey.nix diff --git a/nix/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix index 75c32268..d1d7f401 100644 --- a/nix/modules/nixos/desktop/default.nix +++ b/nix/modules/nixos/desktop/default.nix @@ -7,6 +7,7 @@ ./i3.nix ./immich.nix ./jellyfin.nix + ./screenkey.nix ./xbanish.nix ]; } diff --git a/nix/modules/nixos/desktop/screenkey.nix b/nix/modules/nixos/desktop/screenkey.nix new file mode 100644 index 00000000..8068946e --- /dev/null +++ b/nix/modules/nixos/desktop/screenkey.nix @@ -0,0 +1,13 @@ +{ pkgs, username, ... }: + +{ + environment.systemPackages = with pkgs; [ screenkey ]; + + home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { + key_mode = "composed"; + mods_mode = "emacs"; + persist = true; + size = "small"; + timeout = 0.25; + }; +} From f232ce46795f88f2494406a55a03af4107a70350 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 21 Nov 2024 21:03:08 +0000 Subject: [PATCH 1115/2258] Swap shift and control keys --- nix/modules/nixos/kanata.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nix/modules/nixos/kanata.nix b/nix/modules/nixos/kanata.nix index 763bcd5d..c82b9637 100644 --- a/nix/modules/nixos/kanata.nix +++ b/nix/modules/nixos/kanata.nix @@ -24,10 +24,10 @@ escctrl (tap-hold 100 100 esc lctl) a (tap-hold $tap-time $hold-time a lmet) s (tap-hold $tap-time $hold-time s lalt) - d (tap-hold $tap-time $hold-time d lsft) - f (tap-hold $tap-time $hold-time f lctl) - j (tap-hold $tap-time $hold-time j rctl) - k (tap-hold $tap-time $hold-time k rsft) + d (tap-hold $tap-time $hold-time d lctl) + f (tap-hold $tap-time $hold-time f lsft) + j (tap-hold $tap-time $hold-time j rsft) + k (tap-hold $tap-time $hold-time k lctl) l (tap-hold $tap-time $hold-time l ralt) ; (tap-hold $tap-time $hold-time ; rmet) ) From 71f335870d4b23deaa641a472919c8d77a53daa3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 22 Nov 2024 01:18:31 +0000 Subject: [PATCH 1116/2258] Move host-specific modules --- flake.nix | 9 +++++++++ nix/lib/nixos/default.nix | 10 ++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index afc61a12..9d052354 100644 --- a/flake.nix +++ b/flake.nix @@ -64,6 +64,15 @@ lemp11 = mkNixos { desktop = true; hostname = "lemp11"; + + # TODO: move the rest of the modules here. + modules = [ + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-hdd + nixos-hardware.nixosModules.system76 + ]; }; }; diff --git a/nix/lib/nixos/default.nix b/nix/lib/nixos/default.nix index 75564523..95e09e68 100644 --- a/nix/lib/nixos/default.nix +++ b/nix/lib/nixos/default.nix @@ -9,6 +9,7 @@ { desktop ? false, hostname, + modules ? [ ], }: let configuration = import ./configuration.nix { @@ -44,12 +45,5 @@ inputs.nixpkgs.lib.nixosSystem { configuration hardwareConfiguration - - # TODO: only for "lemp11". - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-hdd - nixos-hardware.nixosModules.system76 - ]; + ] ++ modules; } From e5b60ccc8b56ae0585afa8bea0ad8c75964b0e47 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 22 Nov 2024 01:19:15 +0000 Subject: [PATCH 1117/2258] Add ~/Code/personal directory --- nix/lib/shared/scripts/t.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/lib/shared/scripts/t.nix b/nix/lib/shared/scripts/t.nix index b837dd34..900795ec 100644 --- a/nix/lib/shared/scripts/t.nix +++ b/nix/lib/shared/scripts/t.nix @@ -16,7 +16,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find "$REPOS" ~/Documents \ + items=$(find "$REPOS" "$REPOS/personal" ~/Documents \ -maxdepth 1 -mindepth 1 -type d \ ! -name "_archive" \ ! -name "*-old" \ From 172b7c9ca61d2dd6ffdc967af9102b1ca24edd81 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 22 Nov 2024 01:20:30 +0000 Subject: [PATCH 1118/2258] Update the output path --- nix/modules/home-manager/zsh/aliases.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/zsh/aliases.nix b/nix/modules/home-manager/zsh/aliases.nix index 46a0e3af..934600b6 100644 --- a/nix/modules/home-manager/zsh/aliases.nix +++ b/nix/modules/home-manager/zsh/aliases.nix @@ -9,6 +9,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - vss = "LC_ALL=C sort --unique $REPOS/dotfiles/nvim/spell/en.utf-8.add --output $REPOS/dotfiles.nix/config/neovim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique $REPOS/dotfiles/nvim/spell/en.utf-8.add --output $REPOS/dotfiles/nvim/spell/en.utf-8.add"; wt = "git worktree"; } From 4c5fd19f5ae2f485e6e379ff23d29f69deed389b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1119/2258] Remove mini.statusline --- nvim/plugin/mini.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/nvim/plugin/mini.lua b/nvim/plugin/mini.lua index 6c217467..4ffaf890 100644 --- a/nvim/plugin/mini.lua +++ b/nvim/plugin/mini.lua @@ -15,9 +15,4 @@ require("mini.move").setup {} require("mini.operators").setup {} -require("mini.statusline").setup { - set_vim_settings = false, - use_icons = false, -} - require("mini.surround").setup {} From 87a756a4fb73a103a1cd451f92e0e822b470ee99 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1120/2258] Remove nvim-treesitter-context --- nix/modules/home-manager/neovim.nix | 1 - nvim/plugin/treesitter.lua | 3 --- 2 files changed, 4 deletions(-) diff --git a/nix/modules/home-manager/neovim.nix b/nix/modules/home-manager/neovim.nix index 7e8b680f..26e6f9d1 100644 --- a/nix/modules/home-manager/neovim.nix +++ b/nix/modules/home-manager/neovim.nix @@ -93,7 +93,6 @@ yaml ] )) - nvim-treesitter-context nvim-treesitter-textobjects # LSP, linting and formatting diff --git a/nvim/plugin/treesitter.lua b/nvim/plugin/treesitter.lua index df5bd1ab..88e08991 100644 --- a/nvim/plugin/treesitter.lua +++ b/nvim/plugin/treesitter.lua @@ -1,5 +1,4 @@ local configs = require "nvim-treesitter.configs" -local context = require "treesitter-context" local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" configs.setup { @@ -132,5 +131,3 @@ set({ "n", "o", "x" }, "f", ts_repeat_move.builtin_f) set({ "n", "o", "x" }, "F", ts_repeat_move.builtin_F) set({ "n", "o", "x" }, "t", ts_repeat_move.builtin_t) set({ "n", "o", "x" }, "T", ts_repeat_move.builtin_T) - -context.setup { enable = true } From 6f54d169b78f449e33a6dc7ecff47dfc681ea0d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1121/2258] Re-add borders --- nix/modules/nixos/desktop/i3.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/nix/modules/nixos/desktop/i3.nix b/nix/modules/nixos/desktop/i3.nix index 19002e73..3dc2e605 100644 --- a/nix/modules/nixos/desktop/i3.nix +++ b/nix/modules/nixos/desktop/i3.nix @@ -85,11 +85,6 @@ in }; terminal = "alacritty"; - - window = { - border = 0; - hideEdgeBorders = "none"; - }; }; extraConfig = '' @@ -101,8 +96,6 @@ in exec_always --no-startup-id caffeine exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change - default_border none - default_floating_border none smart_borders on smart_gaps on From b85ee2587819fd48bceb2ae29588b3feba98abff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1122/2258] Tab completion with fzf --- nix/modules/home-manager/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-manager/zsh.nix b/nix/modules/home-manager/zsh.nix index 811bbca7..3f7fbb3d 100644 --- a/nix/modules/home-manager/zsh.nix +++ b/nix/modules/home-manager/zsh.nix @@ -112,6 +112,7 @@ tags = [ "from:oh-my-zsh" ]; } + { name = "Aloxaf/fzf-tab"; } { name = "olets/zsh-abbr"; } { name = "zsh-users/zsh-completions"; } From bb73c19448962ffdc6a687533974a40db2b51975 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1123/2258] Add collect-garbage --- run | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/run b/run index 733363a8..614930e8 100755 --- a/run +++ b/run @@ -8,6 +8,11 @@ function check { nix flake check } +function collect-garbage { + nix-collect-garbage -d + sudo nix-collect-garbage -d +} + function format { nix fmt flake.nix home hosts lib modules } From 196b7935157a136c167b5d8dd596f97de81628f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1124/2258] Fix bin path --- nix/modules/home-manager/bin.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nix/modules/home-manager/bin.nix b/nix/modules/home-manager/bin.nix index 11519c20..43864ae2 100644 --- a/nix/modules/home-manager/bin.nix +++ b/nix/modules/home-manager/bin.nix @@ -1,9 +1,9 @@ { self, ... }: { - home.sessionPath = [ "$HOME/.local/bin" ]; + home.sessionPath = [ "$HOME/bin" ]; - home.file.".local/bin" = { - source = "${self}/nix/bin"; + home.file."bin" = { + source = "${self}/bin"; recursive = true; }; } From 8a6be4f1de5e0086cb5df8ef167ff147eacf7b3e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1125/2258] Re-use dunst for battery notifications --- nix/modules/nixos/desktop/i3.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/nix/modules/nixos/desktop/i3.nix b/nix/modules/nixos/desktop/i3.nix index 3dc2e605..5fa0ea6a 100644 --- a/nix/modules/nixos/desktop/i3.nix +++ b/nix/modules/nixos/desktop/i3.nix @@ -13,6 +13,14 @@ let in { services = { + cron = { + enable = true; + + systemCronJobs = [ + "* * * * * opdavies /home/opdavies/bin/notify-battery" + ]; + }; + displayManager.defaultSession = "none+i3"; xserver = { @@ -30,7 +38,8 @@ in }; environment.systemPackages = with pkgs; [ - dunst + acpi + libnotify nitrogen ]; @@ -135,5 +144,11 @@ in load.enable = false; }; }; + + services.dunst = { + enable = true; + + settings.global.follow = "keyboard"; + }; }; } From 42ba26404728a66b51fc7f8fd665fdc6a666f4e9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1126/2258] Configure rofi and add plugins --- nix/modules/nixos/desktop/default.nix | 1 + nix/modules/nixos/desktop/i3.nix | 2 +- nix/modules/nixos/desktop/rofi.nix | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 nix/modules/nixos/desktop/rofi.nix diff --git a/nix/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix index d1d7f401..126da1f4 100644 --- a/nix/modules/nixos/desktop/default.nix +++ b/nix/modules/nixos/desktop/default.nix @@ -7,6 +7,7 @@ ./i3.nix ./immich.nix ./jellyfin.nix + ./rofi.nix ./screenkey.nix ./xbanish.nix ]; diff --git a/nix/modules/nixos/desktop/i3.nix b/nix/modules/nixos/desktop/i3.nix index 5fa0ea6a..481fd235 100644 --- a/nix/modules/nixos/desktop/i3.nix +++ b/nix/modules/nixos/desktop/i3.nix @@ -64,7 +64,7 @@ in modifier = modifier; keybindings = inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; + "${modifier}+d" = "exec rofi -show drun"; "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; diff --git a/nix/modules/nixos/desktop/rofi.nix b/nix/modules/nixos/desktop/rofi.nix new file mode 100644 index 00000000..b8befe5f --- /dev/null +++ b/nix/modules/nixos/desktop/rofi.nix @@ -0,0 +1,24 @@ +{ pkgs, username, ... }: + +{ + environment.systemPackages = with pkgs; [ + rofi + rofi-power-menu + ]; + + home-manager.users.${username}.programs.rofi = { + enable = true; + cycle = true; + + extraConfig = { + modi = "run,drun,emoji,calc"; + }; + + plugins = with pkgs; [ + rofi-bluetooth + rofi-calc + rofi-emoji + rofi-pulse-select + ]; + }; +} From 4a92828efb24de519fd8ce1f6633eb7b77221c6c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1127/2258] Replace backintime with rsnapshot --- nix/lib/nixos/configuration.nix | 1 - nix/modules/nixos/default.nix | 1 + nix/modules/nixos/desktop/steam.nix | 0 nix/modules/nixos/rsnapshot.nix | 70 +++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 nix/modules/nixos/desktop/steam.nix create mode 100644 nix/modules/nixos/rsnapshot.nix diff --git a/nix/lib/nixos/configuration.nix b/nix/lib/nixos/configuration.nix index e762fdb7..4bbe0ced 100644 --- a/nix/lib/nixos/configuration.nix +++ b/nix/lib/nixos/configuration.nix @@ -156,7 +156,6 @@ ++ pkgs.lib.optionals desktop [ acpi arandr - backintime bluetuith brightnessctl cpufrequtils diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index d21b3cb1..0ee96bda 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -2,5 +2,6 @@ imports = [ ./docker.nix ./kanata.nix + ./rsnapshot.nix ]; } diff --git a/nix/modules/nixos/desktop/steam.nix b/nix/modules/nixos/desktop/steam.nix new file mode 100644 index 00000000..e69de29b diff --git a/nix/modules/nixos/rsnapshot.nix b/nix/modules/nixos/rsnapshot.nix new file mode 100644 index 00000000..3e043e6e --- /dev/null +++ b/nix/modules/nixos/rsnapshot.nix @@ -0,0 +1,70 @@ +{ pkgs, ... }: + +let + backups1 = { + path = "/mnt/backup"; + uuid = "fd47c61a-8aac-44ed-9a18-4ec43ee663fb"; + }; +in +{ + systemd = { + mounts = [ + { + where = "${backups1.path}"; + what = "UUID=${backups1.uuid}"; + type = "ext4"; + options = "defaults,noatime,nofail"; + } + ]; + + automounts = [ + { + where = "${backups1.path}"; + automountConfig.TimeoutIdleSec = "60"; + } + ]; + }; + + systemd.tmpfiles.rules = [ + "d ${backups1.path} 755 root root -" + ]; + + services = { + udev.extraRules = '' + ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="${backups1.uuid}", ENV{SYSTEMD_WANTS}="mnt-backup.mount" + ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="${backups1.uuid}", RUN+="${pkgs.systemd}/bin/systemctl stop mnt-backup.mount" + ''; + + rsnapshot = { + enable = true; + enableManualRsnapshot = true; + + extraConfig = '' + lockfile /home/opdavies/.rsnapshot.pid + + snapshot_root /mnt/backup/rsnapshot/ + no_create_root 1 + + backup /home/opdavies opdavies/ + backup /media media/ + backup /var/lib/immich/upload immich/ + + exclude ".cache/" + exclude ".devenv/" + exclude ".direnv/" + exclude "node_modules/" + exclude "vendor/" + + retain daily 7 + retain weekly 4 + retain monthly 12 + ''; + + cronIntervals = { + daily = "0 21 * * *"; + monthly = "0 23 1 * 0"; + weekly = "0 22 * * 0"; + }; + }; + }; +} From adcbb914f185a0b6242335bfb3709618b1769bbd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 08:03:59 +0000 Subject: [PATCH 1128/2258] Remove zellij --- nix/lib/shared/home-manager-packages.nix | 4 - nix/lib/shared/home-manager.nix | 1 - .../shared/scripts/create-zellij-session.nix | 65 --- nix/modules/home-manager/zellij.nix | 11 - .../home-manager/zsh/abbreviations.zsh | 18 - zellij/config.kdl | 388 ------------------ 6 files changed, 487 deletions(-) delete mode 100644 nix/lib/shared/scripts/create-zellij-session.nix delete mode 100644 nix/modules/home-manager/zellij.nix delete mode 100644 zellij/config.kdl diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index a0f2c421..c9efbb59 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -12,9 +12,6 @@ let inherit (pkgs) writeShellApplication; _timer = writeShellApplication (import ./scripts/_timer.nix); - create-zellij-session = writeShellApplication ( - import ./scripts/create-zellij-session.nix { inherit pkgs; } - ); deliver = writeShellApplication (import ./scripts/deliver.nix { inherit pkgs; }); export-video-list = writeShellApplication ( import ./scripts/export-video-list.nix { inherit pkgs username; } @@ -70,7 +67,6 @@ with pkgs; yarn # Scripts. - create-zellij-session deliver run t diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index b94bffab..80f1bed8 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -41,7 +41,6 @@ ../../modules/home-manager/starship.nix ../../modules/home-manager/syncthing.nix ../../modules/home-manager/tmux.nix - ../../modules/home-manager/zellij.nix ../../modules/home-manager/zsh.nix ]; } diff --git a/nix/lib/shared/scripts/create-zellij-session.nix b/nix/lib/shared/scripts/create-zellij-session.nix deleted file mode 100644 index b8a5e9bf..00000000 --- a/nix/lib/shared/scripts/create-zellij-session.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ pkgs }: -{ - name = "create-zellij-session"; - - runtimeInputs = with pkgs; [ - openssl - zellij - ]; - - text = '' - function _execute_zellij_layout { - local session_name="$1" - local layout_file="$2" - - DIGEST="$(openssl sha512 "$layout_file")" - - # Prompt the first time we see a given layout file before running it. - if ! grep -q "$DIGEST" ~/..zellij.digests 2> /dev/null; then - cat "$layout_file" - - read -r -n 1 -p "Trust (and run) this Zellij file? (t = trust, otherwise = skip) " - - if [[ $REPLY =~ ^[Tt]$ ]]; then - echo "$DIGEST" >> ~/..zellij.digests - - _attach_to_or_create_zellij_session --layout "$layout_file" - fi - else - _attach_to_or_create_zellij_session --layout "$layout_file" - fi - } - - function _attach_to_or_create_zellij_session { - zellij attach "$session_name" 2>/dev/null || zellij --session "$session_name" "$@" - } - - function main { - if [[ $# -eq 1 ]]; then - selected_path=$1 - else - selected_path=$(find "$REPOS" "$REPOS/tfw" "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d \ - ! -name "*-old" \ - ! -name "*.bak" \ - ! -name "*.old" \ - ! -name "_archive" \ - | sort \ - | fzf --reverse) - fi - - session_name=$(basename "$selected_path") - - cd "$selected_path" - - if [[ -f ".ignored/dev.kdl" ]]; then - _execute_zellij_layout "$session_name" ".ignored/dev.kdl" - elif [[ -f "dev.kdl" ]]; then - _execute_zellij_layout "$session_name" "dev.kdl" - fi - - _attach_to_or_create_zellij_session - } - - main "$@" - ''; -} diff --git a/nix/modules/home-manager/zellij.nix b/nix/modules/home-manager/zellij.nix deleted file mode 100644 index d746d2ba..00000000 --- a/nix/modules/home-manager/zellij.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ self, ... }: -{ - programs.zellij = { - enable = true; - }; - - xdg.configFile."zellij" = { - source = "${self}/zellij"; - recursive = true; - }; -} diff --git a/nix/modules/home-manager/zsh/abbreviations.zsh b/nix/modules/home-manager/zsh/abbreviations.zsh index 615c6a39..143ad365 100644 --- a/nix/modules/home-manager/zsh/abbreviations.zsh +++ b/nix/modules/home-manager/zsh/abbreviations.zsh @@ -57,24 +57,6 @@ abbr ta="tmux attach" abbr tl="tmux list-sessions" abbr tk="tmux kill-session" -# zellij -abbr czs="create-zellij-session" -abbr z="zellij" -abbr za="zellij attach" -abbr zd="zellij delete-session" -abbr zda="zellij delete-all-sessions" -abbr ze="zellij edit" -abbr zei="zellij edit --in-place" -abbr zk="zellij kill-session" -abbr zka="zellij kill-all-sessions | sort" -abbr zl="zellij list-sessions | grep -v EXITED" -abbr zla="zellij list-sessions" -abbr znt="zellij action new-tab" -abbr zr="zellij run --" -abbr zri="zellij run --in-place --" -abbr zrf="zellij run --floating --" -abbr multitask="zellij action start-or-reload-plugin file:$HOME/zellij-plugins/multitask.wasm --configuration "shell=$SHELL,cwd=`pwd`"" - # Docker and Docker Compose. abbr dk="docker" abbr dkp="docker ps" diff --git a/zellij/config.kdl b/zellij/config.kdl deleted file mode 100644 index e5496e1d..00000000 --- a/zellij/config.kdl +++ /dev/null @@ -1,388 +0,0 @@ -keybinds { - normal { - // uncomment this and adjust key if using copy_on_select=false - // bind "Alt c" { Copy; } - } - - locked { - bind "Ctrl g" { SwitchToMode "Normal"; } - } - - resize { - bind "Ctrl n" { SwitchToMode "Normal"; } - bind "h" "Left" { Resize "Increase Left"; } - bind "j" "Down" { Resize "Increase Down"; } - bind "k" "Up" { Resize "Increase Up"; } - bind "l" "Right" { Resize "Increase Right"; } - bind "H" { Resize "Decrease Left"; } - bind "J" { Resize "Decrease Down"; } - bind "K" { Resize "Decrease Up"; } - bind "L" { Resize "Decrease Right"; } - bind "=" "+" { Resize "Increase"; } - bind "-" { Resize "Decrease"; } - } - - pane { - bind "Ctrl p" { SwitchToMode "Normal"; } - bind "h" "Left" { MoveFocus "Left"; } - bind "l" "Right" { MoveFocus "Right"; } - bind "j" "Down" { MoveFocus "Down"; } - bind "k" "Up" { MoveFocus "Up"; } - bind "p" { SwitchFocus; } - bind "n" { NewPane; SwitchToMode "Normal"; } - bind "d" { NewPane "Down"; SwitchToMode "Normal"; } - bind "r" { NewPane "Right"; SwitchToMode "Normal"; } - bind "x" { CloseFocus; SwitchToMode "Normal"; } - bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } - bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } - bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } - bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } - bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} - } - - move { - bind "Ctrl h" { SwitchToMode "Normal"; } - bind "n" "Tab" { MovePane; } - bind "p" { MovePaneBackwards; } - bind "h" "Left" { MovePane "Left"; } - bind "j" "Down" { MovePane "Down"; } - bind "k" "Up" { MovePane "Up"; } - bind "l" "Right" { MovePane "Right"; } - } - - tab { - bind "Ctrl t" { SwitchToMode "Normal"; } - bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } - bind "h" "Left" "Up" "k" { GoToPreviousTab; } - bind "l" "Right" "Down" "j" { GoToNextTab; } - bind "n" { NewTab; SwitchToMode "Normal"; } - bind "x" { CloseTab; SwitchToMode "Normal"; } - bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } - bind "b" { BreakPane; SwitchToMode "Normal"; } - bind "]" { BreakPaneRight; SwitchToMode "Normal"; } - bind "[" { BreakPaneLeft; SwitchToMode "Normal"; } - bind "1" { GoToTab 1; SwitchToMode "Normal"; } - bind "2" { GoToTab 2; SwitchToMode "Normal"; } - bind "3" { GoToTab 3; SwitchToMode "Normal"; } - bind "4" { GoToTab 4; SwitchToMode "Normal"; } - bind "5" { GoToTab 5; SwitchToMode "Normal"; } - bind "6" { GoToTab 6; SwitchToMode "Normal"; } - bind "7" { GoToTab 7; SwitchToMode "Normal"; } - bind "8" { GoToTab 8; SwitchToMode "Normal"; } - bind "9" { GoToTab 9; SwitchToMode "Normal"; } - bind "Tab" { ToggleTab; } - } - - scroll { - bind "Ctrl s" { SwitchToMode "Normal"; } - bind "e" { EditScrollback; SwitchToMode "Normal"; } - bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } - bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } - bind "j" "Down" { ScrollDown; } - bind "k" "Up" { ScrollUp; } - bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } - bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } - bind "d" { HalfPageScrollDown; } - bind "u" { HalfPageScrollUp; } - // uncomment this and adjust key if using copy_on_select=false - // bind "Alt c" { Copy; } - } - - search { - bind "Ctrl s" { SwitchToMode "Normal"; } - bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } - bind "j" "Down" { ScrollDown; } - bind "k" "Up" { ScrollUp; } - bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } - bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } - bind "d" { HalfPageScrollDown; } - bind "u" { HalfPageScrollUp; } - bind "n" { Search "down"; } - bind "p" { Search "up"; } - bind "c" { SearchToggleOption "CaseSensitivity"; } - bind "w" { SearchToggleOption "Wrap"; } - bind "o" { SearchToggleOption "WholeWord"; } - } - - entersearch { - bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } - bind "Enter" { SwitchToMode "Search"; } - } - - renametab { - bind "Ctrl c" { SwitchToMode "Normal"; } - bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } - } - - renamepane { - bind "Ctrl c" { SwitchToMode "Normal"; } - bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } - } - - session { - bind "Ctrl o" { SwitchToMode "Normal"; } - bind "Ctrl s" { SwitchToMode "Scroll"; } - bind "d" { Detach; } - bind "w" { - LaunchOrFocusPlugin "session-manager" { - floating true - move_to_focused_tab true - }; - - SwitchToMode "Normal" - } - } - - tmux { - bind "[" { SwitchToMode "Scroll"; } - bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } - bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } - bind "%" { NewPane "Right"; SwitchToMode "Normal"; } - bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } - bind "c" { NewTab; SwitchToMode "Normal"; } - bind "," { SwitchToMode "RenameTab"; } - bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } - bind "n" { GoToNextTab; SwitchToMode "Normal"; } - bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } - bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } - bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } - bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } - bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } - bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } - bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } - bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } - bind "o" { FocusNextPane; } - bind "d" { Detach; } - bind "Space" { NextSwapLayout; } - bind "x" { CloseFocus; SwitchToMode "Normal"; } - } - - shared_except "locked" { - bind "Ctrl g" { SwitchToMode "Locked"; } - bind "Ctrl q" { Quit; } - bind "Alt n" { NewPane; } - bind "Alt i" { MoveTab "Left"; } - bind "Alt o" { MoveTab "Right"; } - bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } - bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } - bind "Alt j" "Alt Down" { MoveFocus "Down"; } - bind "Alt k" "Alt Up" { MoveFocus "Up"; } - bind "Alt =" "Alt +" { Resize "Increase"; } - bind "Alt -" { Resize "Decrease"; } - bind "Alt [" { PreviousSwapLayout; } - bind "Alt ]" { NextSwapLayout; } - } - - shared_except "normal" "locked" { - bind "Enter" "Esc" { SwitchToMode "Normal"; } - } - - shared_except "pane" "locked" { - bind "Ctrl p" { SwitchToMode "Pane"; } - } - - shared_except "resize" "locked" { - bind "Ctrl n" { SwitchToMode "Resize"; } - } - - shared_except "scroll" "locked" { - bind "Ctrl s" { SwitchToMode "Scroll"; } - } - - shared_except "session" "locked" { - bind "Ctrl o" { SwitchToMode "Session"; } - } - - shared_except "tab" "locked" { - bind "Ctrl t" { SwitchToMode "Tab"; } - } - - shared_except "move" "locked" { - bind "Ctrl h" { SwitchToMode "Move"; } - } - - shared_except "tmux" "locked" { - bind "Ctrl b" { SwitchToMode "Tmux"; } - } -} - -plugins { - tab-bar location="zellij:tab-bar" - status-bar location="zellij:status-bar" - strider location="zellij:strider" - compact-bar location="zellij:compact-bar" - session-manager location="zellij:session-manager" - - welcome-screen location="zellij:session-manager" { - welcome_screen true - } - - filepicker location="zellij:strider" { - cwd "/" - } -} - -// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP -// eg. when terminal window with an active zellij session is closed -// Options: -// - detach (Default) -// - quit -// -// on_force_close "quit" - -// Send a request for a simplified ui (without arrow fonts) to plugins -// Options: -// - true -// - false (Default) -// -simplified_ui true - -// Choose the path to the default shell that zellij will use for opening new panes -// Default: $SHELL -// -// default_shell "fish" - -// Choose the path to override cwd that zellij will use for opening new panes -// -// default_cwd "" - -// Toggle between having pane frames around the panes -// Options: -// - true (default) -// - false -// -// pane_frames true - -// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible -// Options: -// - true (default) -// - false -// -// auto_layout true - -// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected -// Options: -// - true (default) -// - false -// -// session_serialization false - -// Whether pane viewports are serialized along with the session, default is false -// Options: -// - true -// - false (default) -// serialize_pane_viewport true - -// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 -// defaults to the scrollback size. If this number is higher than the scrollback size, it will -// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. -// -// scrollback_lines_to_serialize 10000 - -// Define color themes for Zellij -// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes -// Once these themes are defined, one of them should to be selected in the "theme" section of this file -// -// themes { -// dracula { -// fg 248 248 242 -// bg 40 42 54 -// red 255 85 85 -// green 80 250 123 -// yellow 241 250 140 -// blue 98 114 164 -// magenta 255 121 198 -// orange 255 184 108 -// cyan 139 233 253 -// black 0 0 0 -// white 255 255 255 -// } -// } - -// Choose the theme that is specified in the themes section. -// Default: default -// -theme "catppuccin-mocha" - -// The name of the default layout to load on startup -// Default: "default" -// -default_layout "compact" - -// Choose the mode that zellij uses when starting up. -// Default: normal -// -// default_mode "locked" - -// Toggle enabling the mouse mode. -// On certain configurations, or terminals this could -// potentially interfere with copying text. -// Options: -// - true (default) -// - false -// -// mouse_mode false - -// Configure the scroll back buffer size -// This is the number of lines zellij stores for each pane in the scroll back -// buffer. Excess number of lines are discarded in a FIFO fashion. -// Valid values: positive integers -// Default value: 10000 -// -// scroll_buffer_size 10000 - -// Provide a command to execute when copying text. The text will be piped to -// the stdin of the program to perform the copy. This can be used with -// terminal emulators which do not support the OSC 52 ANSI control sequence -// that will be used by default if this option is not set. -// Examples: -// -// copy_command "xclip -selection clipboard" // x11 -// copy_command "wl-copy" // wayland -// copy_command "pbcopy" // osx - -// Choose the destination for copied text -// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. -// Does not apply when using copy_command. -// Options: -// - system (default) -// - primary -// -// copy_clipboard "primary" - -// Enable or disable automatic copy (and clear) of selection when releasing mouse -// Default: true -// -// copy_on_select false - -// Path to the default editor to use to edit pane scrollbuffer -// Default: $EDITOR or $VISUAL -// -// scrollback_editor "/usr/bin/vim" - -// When attaching to an existing session with other users, -// should the session be mirrored (true) -// or should each user have their own cursor (false) -// Default: false -// -// mirror_session true - -// The folder in which Zellij will look for layouts -// -// layout_dir "/path/to/my/layout_dir" - -// The folder in which Zellij will look for themes -// -// theme_dir "/path/to/my/theme_dir" - -// Enable or disable the rendering of styled and colored underlines (undercurl). -// May need to be disabled for certain unsupported terminals -// Default: true -// -// styled_underlines false - -// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know -// metadata info on this session) -// Default: false -// -// disable_session_metadata true From 150182149ad3103e141ccc5e1cca88711682f787 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 25 Nov 2024 23:27:22 +0000 Subject: [PATCH 1129/2258] Add git-squash-merge script --- nix/modules/home-manager/git.nix | 5 +++- nix/pkgs/default.nix | 1 + nix/pkgs/git-squash-merge.nix | 40 ++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 nix/pkgs/git-squash-merge.nix diff --git a/nix/modules/home-manager/git.nix b/nix/modules/home-manager/git.nix index c54b26af..40bef112 100644 --- a/nix/modules/home-manager/git.nix +++ b/nix/modules/home-manager/git.nix @@ -146,7 +146,10 @@ }; }; - home.packages = [ pkgs.git-instafix ]; + home.packages = with pkgs; [ + git-instafix + git-squash-merge + ]; home.sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index d8cb0376..72f17e2a 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -5,6 +5,7 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; + git-squash-merge = callPackage ./git-squash-merge.nix { }; vimPlugins = prev.vimPlugins // { conf-vim = callPackage ./vim-plugins/conf-vim.nix { }; diff --git a/nix/pkgs/git-squash-merge.nix b/nix/pkgs/git-squash-merge.nix new file mode 100644 index 00000000..bfc1ad4d --- /dev/null +++ b/nix/pkgs/git-squash-merge.nix @@ -0,0 +1,40 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "git-squash-merge"; + + runtimeInputs = with pkgs; [ + bashInteractive + coreutils + git + ]; + + text = '' + branch_to_merge=$1 + target_branch=''${2:-main} + + if [[ -z "$branch_to_merge" ]]; then + echo "Usage: $0 <branch-to-merge> [target-branch]" + exit 1 + fi + + if ! git checkout "$target_branch"; then + echo "Error: Failed to checkout target branch '$target_branch'." + exit 1 + fi + + if ! git merge --squash "$branch_to_merge"; then + echo "Error: Squash merge from '$branch_to_merge' to '$target_branch' failed." + exit 1 + fi + + squashed_commit_messages=$(git log "$target_branch..$branch_to_merge" --reverse --pretty=format:"%h %s%n%b%n") + + temp_file=$(mktemp) + echo -e "$squashed_commit_messages" > "$temp_file" + + GIT_COMMIT_EDITMSG="$temp_file" git commit --edit + + rm -f "$temp_file" + ''; +} From 7973d6ebadc3787fd329a0327e23c43f46fe7609 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 08:09:03 +0000 Subject: [PATCH 1130/2258] Revert "Add git-squash-merge script" This reverts commit 150182149ad3103e141ccc5e1cca88711682f787. --- nix/modules/home-manager/git.nix | 5 +--- nix/pkgs/default.nix | 1 - nix/pkgs/git-squash-merge.nix | 40 -------------------------------- 3 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 nix/pkgs/git-squash-merge.nix diff --git a/nix/modules/home-manager/git.nix b/nix/modules/home-manager/git.nix index 40bef112..c54b26af 100644 --- a/nix/modules/home-manager/git.nix +++ b/nix/modules/home-manager/git.nix @@ -146,10 +146,7 @@ }; }; - home.packages = with pkgs; [ - git-instafix - git-squash-merge - ]; + home.packages = [ pkgs.git-instafix ]; home.sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 72f17e2a..d8cb0376 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -5,7 +5,6 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; - git-squash-merge = callPackage ./git-squash-merge.nix { }; vimPlugins = prev.vimPlugins // { conf-vim = callPackage ./vim-plugins/conf-vim.nix { }; diff --git a/nix/pkgs/git-squash-merge.nix b/nix/pkgs/git-squash-merge.nix deleted file mode 100644 index bfc1ad4d..00000000 --- a/nix/pkgs/git-squash-merge.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "git-squash-merge"; - - runtimeInputs = with pkgs; [ - bashInteractive - coreutils - git - ]; - - text = '' - branch_to_merge=$1 - target_branch=''${2:-main} - - if [[ -z "$branch_to_merge" ]]; then - echo "Usage: $0 <branch-to-merge> [target-branch]" - exit 1 - fi - - if ! git checkout "$target_branch"; then - echo "Error: Failed to checkout target branch '$target_branch'." - exit 1 - fi - - if ! git merge --squash "$branch_to_merge"; then - echo "Error: Squash merge from '$branch_to_merge' to '$target_branch' failed." - exit 1 - fi - - squashed_commit_messages=$(git log "$target_branch..$branch_to_merge" --reverse --pretty=format:"%h %s%n%b%n") - - temp_file=$(mktemp) - echo -e "$squashed_commit_messages" > "$temp_file" - - GIT_COMMIT_EDITMSG="$temp_file" git commit --edit - - rm -f "$temp_file" - ''; -} From af9edbfe1a72c74d2bcf74c514718927e56ac6da Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 08:13:46 +0000 Subject: [PATCH 1131/2258] Refactor NixOS and Home Manager modules This makes them more modular and configurable by allowing features to be enabled per-host. Squashed commit of the following: commit e9896d6166125de7aa26ddc63dac3adb196e8c23 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 23:06:23 2024 +0000 Use mkMerge To ensure features isn't overridden and values aren't lost accidentally commit c9c8ff5d059f08ade3aee9bb4e25bd51d4817a6d Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:56:38 2024 +0000 Move NixOS module imports commit 4a85bbac9dfa8f06825f6b1fee45ef27befa16d3 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:39:54 2024 +0000 Move Home Manager module imports commit 6d7a1b0aac68ccc8649fa2d8cd6e8b17ecebb4f0 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 21:15:54 2024 +0000 Add host-specific Home Manager configurations commit b32da2fbf7498c9684d8289be0f02800994e9110 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Start to parameterise Home Manager modules commit e80e89b415849cc4c6051a07b70587ac98724e2c Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Rename wsl commands to home-manager commit 6d82ed73da3c104fb25117fb843c3f3b5d833180 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Refactor NixOS Home Manager configuration commit cc5cbf5ac1a407a456d7258dd65a78ba3128a88f Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:05:00 2024 +0000 Refactor WSL Home Manager configuration commit deaf664a0997871b6f2bb0a8f97d638a91cb10bc Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:04:00 2024 +0000 Refactor lemp11 configuration --- flake.nix | 49 ++- nix/home/opdavies/default.nix | 27 +- nix/home/opdavies/desktop.nix | 10 +- nix/home/opdavies/hosts/PW05CH3L.nix | 7 + nix/home/opdavies/hosts/lemp11.nix | 9 + nix/hosts/lemp11/configuration.nix | 274 ++++++++++--- nix/hosts/lemp11/default.nix | 3 + nix/hosts/lemp11/hardware-configuration.nix | 1 - nix/lib/nixos/configuration.nix | 296 -------------- nix/lib/nixos/default.nix | 49 --- nix/lib/nixos/hardware-configuration.nix | 59 --- nix/lib/shared/home-manager.nix | 41 +- nix/lib/wsl2/default.nix | 61 --- nix/modules/home-manager/alacritty.nix | 43 +- nix/modules/home-manager/default.nix | 37 ++ nix/modules/home-manager/mpv.nix | 20 +- nix/modules/home-manager/neovim.nix | 372 +++++++++--------- nix/modules/home-manager/tmux.nix | 112 +++--- nix/modules/nixos/{desktop => }/autorandr.nix | 0 nix/modules/nixos/default.nix | 9 + nix/modules/nixos/desktop/default.nix | 14 - nix/modules/nixos/{desktop => }/fonts.nix | 2 +- nix/modules/nixos/{desktop => }/gitea.nix | 0 nix/modules/nixos/{desktop => }/i3.nix | 0 nix/modules/nixos/{desktop => }/immich.nix | 0 nix/modules/nixos/{desktop => }/jellyfin.nix | 0 nix/modules/nixos/{desktop => }/rofi.nix | 0 nix/modules/nixos/{desktop => }/screenkey.nix | 0 nix/modules/nixos/{desktop => }/steam.nix | 0 nix/modules/nixos/{desktop => }/xbanish.nix | 0 run | 21 +- 31 files changed, 673 insertions(+), 843 deletions(-) create mode 100644 nix/home/opdavies/hosts/PW05CH3L.nix create mode 100644 nix/home/opdavies/hosts/lemp11.nix create mode 100644 nix/hosts/lemp11/default.nix delete mode 100644 nix/lib/nixos/configuration.nix delete mode 100644 nix/lib/nixos/default.nix delete mode 100644 nix/lib/nixos/hardware-configuration.nix delete mode 100644 nix/lib/wsl2/default.nix create mode 100644 nix/modules/home-manager/default.nix rename nix/modules/nixos/{desktop => }/autorandr.nix (100%) delete mode 100644 nix/modules/nixos/desktop/default.nix rename nix/modules/nixos/{desktop => }/fonts.nix (91%) rename nix/modules/nixos/{desktop => }/gitea.nix (100%) rename nix/modules/nixos/{desktop => }/i3.nix (100%) rename nix/modules/nixos/{desktop => }/immich.nix (100%) rename nix/modules/nixos/{desktop => }/jellyfin.nix (100%) rename nix/modules/nixos/{desktop => }/rofi.nix (100%) rename nix/modules/nixos/{desktop => }/screenkey.nix (100%) rename nix/modules/nixos/{desktop => }/steam.nix (100%) rename nix/modules/nixos/{desktop => }/xbanish.nix (100%) diff --git a/flake.nix b/flake.nix index 9d052354..b897f6dc 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ outputs = { - nixos-hardware, + home-manager, nixpkgs, self, ... @@ -24,21 +24,12 @@ username = "opdavies"; - mkNixos = import ./nix/lib/nixos { - inherit - inputs - outputs - nixos-hardware - pkgs - self - username - ; - }; - mkWsl = import ./nix/lib/wsl2 { + specialArgs = { inherit inputs outputs self + system username ; }; @@ -60,24 +51,32 @@ overlays = import ./nix/overlays { inherit inputs; }; - nixosConfigurations = { - lemp11 = mkNixos { - desktop = true; - hostname = "lemp11"; + nixosModules.default = ./nix/modules/nixos; - # TODO: move the rest of the modules here. - modules = [ - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-hdd - nixos-hardware.nixosModules.system76 - ]; + nixosConfigurations = { + lemp11 = nixpkgs.lib.nixosSystem { + specialArgs = specialArgs // { + desktop = true; + hostname = "lemp11"; + }; + + modules = [ ./nix/hosts/lemp11 ]; }; }; homeConfigurations = { - wsl2 = mkWsl { system = "x86_64-linux"; }; + "${username}@PW05CH3L" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + extraSpecialArgs = specialArgs // { + desktop = false; + hostname = "PW05CH3L"; + }; + + modules = [ + ./nix/home/opdavies + ]; + }; }; }; } diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index f2c03703..d31fe80c 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -1,13 +1,33 @@ { config, desktop, + hostname, inputs, - pkgs, + outputs, self, + system, username, ... }: let + pkgs = import inputs.nixpkgs { + inherit system; + + config = { + allowUnfree = true; + + permittedInsecurePackages = [ + "electron-27.3.11" + ]; + }; + + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; + }; + inherit (pkgs) lib; desktop-config = import ./desktop.nix { @@ -18,14 +38,19 @@ let username ; }; + shared-config = import "${self}/nix/lib/shared/home-manager.nix" { inherit + config + hostname inputs + lib pkgs self username ; }; + shared-packages = import "${self}/nix/lib/shared/home-manager-packages.nix" { inherit desktop diff --git a/nix/home/opdavies/desktop.nix b/nix/home/opdavies/desktop.nix index 6467591f..25692568 100644 --- a/nix/home/opdavies/desktop.nix +++ b/nix/home/opdavies/desktop.nix @@ -1,18 +1,12 @@ -{ - config, - inputs, - pkgs, - username, -}: +{ ... }: + { imports = [ - ../../modules/home-manager/alacritty.nix ../../modules/home-manager/copyq.nix ../../modules/home-manager/bluetuith.nix ../../modules/home-manager/espanso.nix ../../modules/home-manager/gtk.nix ../../modules/home-manager/flameshot.nix ../../modules/home-manager/gtk.nix - ../../modules/home-manager/mpv.nix ]; } diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix new file mode 100644 index 00000000..391fcad5 --- /dev/null +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -0,0 +1,7 @@ +{ + features = { + desktop = { + alacritty.enable = false; + }; + }; +} diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix new file mode 100644 index 00000000..4f1c16de --- /dev/null +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -0,0 +1,9 @@ +{ ... }: + +{ + features = { + desktop = { + mpv.enable = true; + }; + }; +} diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 2c1b957d..d0b2a7e9 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -1,23 +1,88 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: +{ + hostname, + inputs, + outputs, + pkgs, + desktop ? false, + self, + system, + username, + ... +}: { imports = [ - # Include the results of the hardware scan. + inputs.home-manager.nixosModules.home-manager + + inputs.nixos-hardware.nixosModules.common-cpu-intel + inputs.nixos-hardware.nixosModules.common-gpu-intel + inputs.nixos-hardware.nixosModules.common-pc-laptop + inputs.nixos-hardware.nixosModules.common-pc-laptop-hdd + inputs.nixos-hardware.nixosModules.system76 + + outputs.nixosModules.default + ./hardware-configuration.nix ]; + home-manager = { + extraSpecialArgs = { + inherit + hostname + inputs + outputs + desktop + self + system + username + ; + }; + useGlobalPkgs = true; + useUserPackages = true; + + users."${username}" = import "${self}/nix/home/${username}"; + }; + + nixpkgs = { + config = { + allowUnfree = true; + + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; + + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; + }; + + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.efi.efiSysMountPoint = "/boot/efi"; + boot = { + loader = { + systemd-boot = { + enable = true; + configurationLimit = 10; + }; - boot.kernelPackages = pkgs.linuxPackages_latest; + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot/efi"; + }; + }; + }; + + services.thermald.enable = true; + services.power-profiles-daemon.enable = false; + + systemd.extraConfig = '' + DefaultTimeoutStopSec=10s + ''; + + networking.hostName = hostname; - networking.hostName = "lemp11"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary @@ -48,66 +113,98 @@ # Enable the X11 windowing system. services.xserver.enable = true; - # Enable the KDE Plasma Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Configure keymap in X11 services.xserver = { - layout = "gb"; - xkbVariant = ""; + xkb = { + layout = "gb"; + variant = ""; + }; }; # Configure console keymap console.keyMap = "uk"; - # Enable CUPS to print documents. + services.avahi.enable = true; + services.avahi.nssmdns4 = true; + services.avahi.openFirewall = true; services.printing.enable = true; # Enable sound with pipewire. hardware.pulseaudio.enable = false; - security.rtkit.enable = true; + + hardware.bluetooth.enable = true; + + security = { + polkit.enable = true; + rtkit.enable = true; + }; + services.pipewire = { enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; }; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.opdavies = { + users.users.${username} = { isNormalUser = true; description = "Oliver Davies"; extraGroups = [ - "jellyfin" + "docker" "networkmanager" "wheel" ]; - packages = with pkgs; [ - firefox - kate - # thunderbird - ]; + packages = [ ]; }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; + security.sudo.wheelNeedsPassword = false; # List packages installed in system profile. To search, run: # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; + environment.systemPackages = + with pkgs; + [ + caffeine-ng + gtypist + fastfetch + mermaid-cli + mkcert + taskopen + taskwarrior3 + taskwarrior-tui + ttyper + yt-dlp + ytfzf + ] + ++ pkgs.lib.optionals desktop [ + acpi + arandr + bluetuith + brightnessctl + cpufrequtils + libnotify + pmutils + ffmpegthumbnailer + libreoffice + logseq + rclone + rclone-browser + shotwell + slack + vscode + xfce.thunar + xfce.thunar-volman + xfce.tumbler + + # Games. + zeroad + ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. @@ -120,10 +217,12 @@ # List services that you want to enable: # Enable the OpenSSH daemon. - # services.openssh.enable = true; + services.openssh.enable = true; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ + 9003 # xdebug + ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # networking.firewall.enable = false; @@ -136,4 +235,91 @@ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? + programs.dconf.enable = true; + + programs.zsh.enable = true; + programs.zsh.histSize = 5000; + + users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; + + zramSwap.enable = true; + + nix = { + extraOptions = '' + trusted-users = root ${username} + ''; + + gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 7d"; + }; + + optimise.automatic = true; + + settings = { + auto-optimise-store = true; + experimental-features = [ + "nix-command" + "flakes" + ]; + warn-dirty = false; + }; + }; + + # Make Caps lock work as an Escape key on press and Ctrl on hold. + services.interception-tools = + let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in + { + enable = true; + plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; + + services.gvfs.enable = true; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; + + programs.firefox = { + enable = true; + languagePacks = [ "en-GB" ]; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + + services.blueman.enable = true; + + services.cron = { + enable = true; + + systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; + }; + + services.auto-cpufreq.enable = true; + + services.udev = { + enable = true; + extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; + }; } diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix new file mode 100644 index 00000000..f56e1f9e --- /dev/null +++ b/nix/hosts/lemp11/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./configuration.nix ]; +} diff --git a/nix/hosts/lemp11/hardware-configuration.nix b/nix/hosts/lemp11/hardware-configuration.nix index a01d787d..9cb083b7 100644 --- a/nix/hosts/lemp11/hardware-configuration.nix +++ b/nix/hosts/lemp11/hardware-configuration.nix @@ -4,7 +4,6 @@ { config, lib, - pkgs, modulesPath, ... }: diff --git a/nix/lib/nixos/configuration.nix b/nix/lib/nixos/configuration.nix deleted file mode 100644 index 4bbe0ced..00000000 --- a/nix/lib/nixos/configuration.nix +++ /dev/null @@ -1,296 +0,0 @@ -{ - inputs, - outputs, - desktop ? false, - hostname, - username, - self, -}: - -{ pkgs, ... }: - -{ - imports = [ ../../modules/nixos/desktop ]; - - _module.args = { - inherit inputs self username; - }; - - nixpkgs = { - config = { - allowUnfree = true; - - permittedInsecurePackages = [ "electron-27.3.11" ]; - }; - - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - ]; - }; - - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - - # Bootloader. - boot = { - loader = { - systemd-boot = { - enable = true; - configurationLimit = 10; - }; - - efi = { - canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; - }; - }; - }; - - services.thermald.enable = true; - services.power-profiles-daemon.enable = false; - - systemd.extraConfig = '' - DefaultTimeoutStopSec=10s - ''; - - networking.hostName = hostname; - - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - services.xserver = { - xkb = { - layout = "gb"; - variant = ""; - }; - }; - - # Configure console keymap - console.keyMap = "uk"; - - services.avahi.enable = true; - services.avahi.nssmdns4 = true; - services.avahi.openFirewall = true; - services.printing.enable = true; - - # Enable sound with pipewire. - hardware.pulseaudio.enable = false; - - security = { - polkit.enable = true; - rtkit.enable = true; - }; - - services.pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - users.users.${username} = { - isNormalUser = true; - description = "Oliver Davies"; - extraGroups = [ - "docker" - "networkmanager" - "wheel" - ]; - packages = with pkgs; [ ]; - }; - - security.sudo.wheelNeedsPassword = false; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = - with pkgs; - [ - caffeine-ng - gtypist - fastfetch - mermaid-cli - mkcert - taskopen - taskwarrior3 - taskwarrior-tui - ttyper - yt-dlp - ytfzf - ] - ++ pkgs.lib.optionals desktop [ - acpi - arandr - bluetuith - brightnessctl - cpufrequtils - libnotify - pmutils - ffmpegthumbnailer - libreoffice - logseq - rclone - rclone-browser - shotwell - slack - vscode - xfce.thunar - xfce.thunar-volman - xfce.tumbler - - # Games. - zeroad - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh.enable = true; - - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ - 9003 # xdebug - ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.11"; # Did you read the comment? - - programs.dconf.enable = true; - - programs.zsh.enable = true; - programs.zsh.histSize = 5000; - - users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; - - zramSwap.enable = true; - - nix = { - extraOptions = '' - trusted-users = root ${username} - ''; - - gc = { - automatic = true; - dates = "daily"; - options = "--delete-older-than 7d"; - }; - - optimise.automatic = true; - - settings = { - auto-optimise-store = true; - experimental-features = [ - "nix-command" - "flakes" - ]; - warn-dirty = false; - }; - }; - - # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = - let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in - { - enable = true; - plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; - - services.gvfs.enable = true; - - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; - - programs.firefox = { - enable = true; - languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - - services.blueman.enable = true; - - services.cron = { - enable = true; - - systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; - }; - - services.auto-cpufreq.enable = true; - - services.udev = { - enable = true; - extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" - ''; - }; -} diff --git a/nix/lib/nixos/default.nix b/nix/lib/nixos/default.nix deleted file mode 100644 index 95e09e68..00000000 --- a/nix/lib/nixos/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - inputs, - outputs, - nixos-hardware, - pkgs, - self, - username, -}: -{ - desktop ? false, - hostname, - modules ? [ ], -}: -let - configuration = import ./configuration.nix { - inherit - outputs - desktop - hostname - username - inputs - self - ; - }; - hardwareConfiguration = import ./hardware-configuration.nix; -in -inputs.nixpkgs.lib.nixosSystem { - modules = [ - inputs.home-manager.nixosModules.home-manager - { - home-manager = { - extraSpecialArgs = { - inherit - inputs - desktop - self - username - ; - }; - useGlobalPkgs = true; - useUserPackages = true; - users."${username}" = import "${self}/nix/home/${username}"; - }; - } - - configuration - hardwareConfiguration - ] ++ modules; -} diff --git a/nix/lib/nixos/hardware-configuration.nix b/nix/lib/nixos/hardware-configuration.nix deleted file mode 100644 index 37d2de38..00000000 --- a/nix/lib/nixos/hardware-configuration.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ - config, - lib, - pkgs, - modulesPath, - ... -}: -{ - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - - boot.initrd.availableKernelModules = [ - "xhci_pci" - "thunderbolt" - "nvme" - "usb_storage" - "sd_mod" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.kernelParams = [ - "i915.modeset=1" - "i915.fastboot=1" - "i915.enable_guc=2" - "i915.enable_psr=1" - "i915.enable_fbc=1" - "i915.enable_dc=2" - ]; - boot.extraModulePackages = [ ]; - - boot.kernelPackages = pkgs.linuxPackages_zen; - hardware.enableAllFirmware = true; - - hardware.system76.enableAll = true; - - fileSystems."/" = { - device = "/dev/disk/by-label/nixos"; - fsType = "ext4"; - }; - - fileSystems."/boot/efi" = { - device = "/dev/disk/by-label/boot"; - fsType = "vfat"; - }; - - swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s13f0u1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.bluetooth.enable = true; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index 80f1bed8..e4ed054f 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -1,5 +1,8 @@ { + config, + hostname, inputs, + lib, pkgs, username, self, @@ -26,21 +29,29 @@ programs.home-manager.enable = true; + features = lib.mkMerge [ + { + cli = { + neovim.enable = lib.mkDefault true; + tmux.enable = lib.mkDefault true; + }; + + desktop = { + alacritty.enable = lib.mkDefault true; + }; + } + ]; + imports = [ - (import ../../modules/home-manager/git.nix { inherit inputs pkgs; }) - (import ../../modules/home-manager/neovim.nix { inherit inputs pkgs; }) - ../../modules/home-manager/bat.nix - ../../modules/home-manager/bin.nix - ../../modules/home-manager/direnv.nix - ../../modules/home-manager/fzf.nix - ../../modules/home-manager/htop.nix - ../../modules/home-manager/lsd.nix - ../../modules/home-manager/pet.nix - ../../modules/home-manager/phpactor.nix - ../../modules/home-manager/ripgrep.nix - ../../modules/home-manager/starship.nix - ../../modules/home-manager/syncthing.nix - ../../modules/home-manager/tmux.nix - ../../modules/home-manager/zsh.nix + (import ../../modules/home-manager { + inherit + config + inputs + lib + pkgs + ; + }) + + ../../home/${username}/hosts/${hostname}.nix ]; } diff --git a/nix/lib/wsl2/default.nix b/nix/lib/wsl2/default.nix deleted file mode 100644 index b2d2ad45..00000000 --- a/nix/lib/wsl2/default.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ - inputs, - outputs, - self, - username, -}: -{ system }: - -let - inherit (pkgs) lib; - - pkgs = import inputs.nixpkgs { - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - ]; - }; - - shared-config = import "${self}/nix/lib/shared/home-manager.nix" { - inherit - inputs - pkgs - self - username - ; - }; - - shared-packages = import "${self}/nix/lib/shared/home-manager-packages.nix" { - inherit inputs pkgs username; - desktop = false; - }; -in -inputs.home-manager.lib.homeManagerConfiguration { - inherit pkgs; - - extraSpecialArgs = { - inherit self; - }; - - modules = [ - { - imports = [ shared-config ]; - - home.packages = shared-packages ++ [ pkgs.wsl-open ]; - - home.sessionVariables = { - DIRENV_LOG_FORMAT = ""; - EDITOR = "nvim"; - PATH = lib.concatStringsSep ":" [ - "$PATH" - "$HOME/go/bin" - "./vendor/bin" - "./node_modules/.bin" - ]; - PULUMI_SKIP_UPDATE_CHECK = "true"; - REPOS = "$HOME/Code"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; - }; - } - ]; -} diff --git a/nix/modules/home-manager/alacritty.nix b/nix/modules/home-manager/alacritty.nix index 9e54ef50..e3bda687 100644 --- a/nix/modules/home-manager/alacritty.nix +++ b/nix/modules/home-manager/alacritty.nix @@ -1,4 +1,5 @@ { + config, lib, pkgs, self, @@ -11,31 +12,35 @@ let theme = import "${self}/nix/lib/theme" { inherit pkgs; }; in { - programs.alacritty = { - enable = true; + options.features.desktop.alacritty.enable = lib.mkEnableOption "Enable Alacritty"; - settings = { - env = { - TERM = "screen-256color"; - }; + config = lib.mkIf config.features.desktop.alacritty.enable { + programs.alacritty = { + enable = true; - window.padding = { - x = 15; - y = 15; - }; + settings = { + env = { + TERM = "screen-256color"; + }; - font = { - size = toInt "${theme.fonts.monospace.size}"; + window.padding = { + x = 15; + y = 15; + }; - bold.style = "Regular"; - normal.family = "${theme.fonts.monospace.name}"; + font = { + size = toInt "${theme.fonts.monospace.size}"; - offset.y = 6; - glyph_offset.y = 3; - }; + bold.style = "Regular"; + normal.family = "${theme.fonts.monospace.name}"; - terminal.shell = { - program = "zsh"; + offset.y = 6; + glyph_offset.y = 3; + }; + + terminal.shell = { + program = "zsh"; + }; }; }; }; diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix new file mode 100644 index 00000000..6aa1816e --- /dev/null +++ b/nix/modules/home-manager/default.nix @@ -0,0 +1,37 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: + +{ + imports = [ + (import ./neovim.nix { + inherit + config + inputs + lib + pkgs + ; + }) + + ./alacritty.nix + ./bat.nix + ./bin.nix + ./direnv.nix + ./fzf.nix + ./git.nix + ./htop.nix + ./lsd.nix + ./mpv.nix + ./pet.nix + ./phpactor.nix + ./ripgrep.nix + ./starship.nix + ./syncthing.nix + ./tmux.nix + ./zsh.nix + ]; +} diff --git a/nix/modules/home-manager/mpv.nix b/nix/modules/home-manager/mpv.nix index 163205cd..c0764ddd 100644 --- a/nix/modules/home-manager/mpv.nix +++ b/nix/modules/home-manager/mpv.nix @@ -1,11 +1,17 @@ -{ - programs.mpv = { - enable = true; +{ config, lib, ... }: - # https://github.com/mpv-player/mpv/blob/master/etc/input.conf - bindings = { - "DOWN" = "add volume -5"; - "UP" = "add volume 5"; +{ + options.features.desktop.mpv.enable = lib.mkEnableOption "Enable mpv media player"; + + config = lib.mkIf config.features.desktop.mpv.enable { + programs.mpv = { + enable = true; + + # https://github.com/mpv-player/mpv/blob/master/etc/input.conf + bindings = { + "DOWN" = "add volume -5"; + "UP" = "add volume 5"; + }; }; }; } diff --git a/nix/modules/home-manager/neovim.nix b/nix/modules/home-manager/neovim.nix index 26e6f9d1..90fd61ac 100644 --- a/nix/modules/home-manager/neovim.nix +++ b/nix/modules/home-manager/neovim.nix @@ -1,201 +1,211 @@ -{ inputs, pkgs, ... }: +{ + config, + inputs, + lib, + pkgs, + ... +}: { - programs.neovim = { - enable = true; + options.features.cli.neovim.enable = lib.mkEnableOption "Enable neovim"; - plugins = with pkgs.vimPlugins; [ - comment-nvim - dial-nvim - fidget-nvim - gitsigns-nvim - harpoon - impatient-nvim - mini-nvim - neodev-nvim - nvim-spectre - nvim-web-devicons - oil-nvim - refactoring-nvim - sort-nvim - treesj - undotree - vim-abolish - vim-eunuch - vim-highlightedyank - vim-just - vim-nix - vim-obsession - vim-pasta - vim-repeat - vim-sleuth - vim-sort-motion - vim-terraform - vim-textobj-user - vim-unimpaired + config = lib.mkIf config.features.cli.neovim.enable { + programs.neovim = { + enable = true; - conf-vim - edit-alternate-vim - nvim-tmux-navigation - standard-vim - vim-autoread - vim-textobj-indent - vim-textobj-xmlattr - vim-zoom + plugins = with pkgs.vimPlugins; [ + comment-nvim + dial-nvim + fidget-nvim + gitsigns-nvim + harpoon + impatient-nvim + mini-nvim + neodev-nvim + nvim-spectre + nvim-web-devicons + oil-nvim + refactoring-nvim + sort-nvim + treesj + undotree + vim-abolish + vim-eunuch + vim-highlightedyank + vim-just + vim-nix + vim-obsession + vim-pasta + vim-repeat + vim-sleuth + vim-sort-motion + vim-terraform + vim-textobj-user + vim-unimpaired - # Testing - vim-test + conf-vim + edit-alternate-vim + nvim-tmux-navigation + standard-vim + vim-autoread + vim-textobj-indent + vim-textobj-xmlattr + vim-zoom - # Git - committia-vim - diffview-nvim - vim-fugitive + # Testing + vim-test - # Debugging - nvim-dap - nvim-dap-ui - nvim-dap-virtual-text + # Git + committia-vim + diffview-nvim + vim-fugitive - # Treesitter - (pkgs.vimPlugins.nvim-treesitter.withPlugins ( - plugins: with plugins; [ - bash - comment - css - csv - dockerfile - gitattributes - gitignore - go - html - javascript - json - kdl - lua - luadoc - make - markdown - markdown_inline - nix - php - phpdoc - query - rst - scss - sql - terraform - twig - typescript - vim - vimdoc - vue - xml - yaml - ] - )) - nvim-treesitter-textobjects + # Debugging + nvim-dap + nvim-dap-ui + nvim-dap-virtual-text - # LSP, linting and formatting - conform-nvim - lsp-status-nvim - nvim-lint - nvim-lspconfig + # Treesitter + (pkgs.vimPlugins.nvim-treesitter.withPlugins ( + plugins: with plugins; [ + bash + comment + css + csv + dockerfile + gitattributes + gitignore + go + html + javascript + json + kdl + lua + luadoc + make + markdown + markdown_inline + nix + php + phpdoc + query + rst + scss + sql + terraform + twig + typescript + vim + vimdoc + vue + xml + yaml + ] + )) + nvim-treesitter-textobjects - # Completion - cmp-buffer - cmp-calc - cmp-cmdline - cmp-nvim-lsp - cmp-path - cmp-treesitter - cmp_luasnip - lspkind-nvim - nvim-cmp + # LSP, linting and formatting + conform-nvim + lsp-status-nvim + nvim-lint + nvim-lspconfig - # Snippets - friendly-snippets - luasnip + # Completion + cmp-buffer + cmp-calc + cmp-cmdline + cmp-nvim-lsp + cmp-path + cmp-treesitter + cmp_luasnip + lspkind-nvim + nvim-cmp - # Telescope - plenary-nvim - popup-nvim - telescope-frecency-nvim - telescope-fzf-native-nvim - telescope-live-grep-args-nvim - telescope-nvim - telescope-ui-select-nvim + # Snippets + friendly-snippets + luasnip - # Databases - vim-dadbod - vim-dadbod-ui - vim-dadbod-completion + # Telescope + plenary-nvim + popup-nvim + telescope-frecency-nvim + telescope-fzf-native-nvim + telescope-live-grep-args-nvim + telescope-nvim + telescope-ui-select-nvim - # Themes - catppuccin-nvim + # Databases + vim-dadbod + vim-dadbod-ui + vim-dadbod-completion - # Configuration. - inputs.self.packages.${pkgs.system}.opdavies-nvim - ]; + # Themes + catppuccin-nvim - extraLuaConfig = '' - if vim.loader then - vim.loader.enable() - end + # Configuration. + inputs.self.packages.${pkgs.system}.opdavies-nvim + ]; - require "opdavies" + extraLuaConfig = '' + if vim.loader then + vim.loader.enable() + end + + require "opdavies" + ''; + + extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + nodejs-slim + php81 + + # Language servers + gopls + lua-language-server + lua54Packages.luacheck + marksman + nixd + nodePackages."@tailwindcss/language-server" + nodePackages.bash-language-server + nodePackages.dockerfile-language-server-nodejs + nodePackages.intelephense + nodePackages.typescript-language-server + nodePackages.vls + nodePackages.vscode-langservers-extracted + nodePackages.vue-language-server + nodePackages.yaml-language-server + phpactor + terraform-ls + + # Formatters + black + eslint_d + nixfmt-rfc-style + nodePackages.prettier + stylua + yamlfmt + + # Tools + hadolint + html-tidy + nodePackages.jsonlint + nodePackages.markdownlint-cli + php82Packages.php-codesniffer + php82Packages.phpstan + proselint + shellcheck + yamllint + ]; + }; + + home.file.".markdownlint.yaml".text = '' + default: true + + line-length: false + + no-duplicate-heading: + siblings_only: true ''; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - nodejs-slim - php81 - - # Language servers - gopls - lua-language-server - lua54Packages.luacheck - marksman - nixd - nodePackages."@tailwindcss/language-server" - nodePackages.bash-language-server - nodePackages.dockerfile-language-server-nodejs - nodePackages.intelephense - nodePackages.typescript-language-server - nodePackages.vls - nodePackages.vscode-langservers-extracted - nodePackages.vue-language-server - nodePackages.yaml-language-server - phpactor - terraform-ls - - # Formatters - black - eslint_d - nixfmt-rfc-style - nodePackages.prettier - stylua - yamlfmt - - # Tools - hadolint - html-tidy - nodePackages.jsonlint - nodePackages.markdownlint-cli - php82Packages.php-codesniffer - php82Packages.phpstan - proselint - shellcheck - yamllint - ]; }; - - home.file.".markdownlint.yaml".text = '' - default: true - - line-length: false - - no-duplicate-heading: - siblings_only: true - ''; } diff --git a/nix/modules/home-manager/tmux.nix b/nix/modules/home-manager/tmux.nix index a7233743..9dd8a10d 100644 --- a/nix/modules/home-manager/tmux.nix +++ b/nix/modules/home-manager/tmux.nix @@ -1,77 +1,87 @@ -{ pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: + let inherit (pkgs) tmuxPlugins; in { - programs.tmux = { - enable = true; + options.features.cli.tmux.enable = lib.mkEnableOption "Enable tmux"; - terminal = "tmux-256color"; + config = lib.mkIf config.features.cli.tmux.enable { + programs.tmux = { + enable = true; - extraConfig = '' - set-option -g status-keys "vi" - set-option -sa terminal-features "''${TERM}:RGB" + terminal = "tmux-256color"; - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 + extraConfig = '' + set-option -g status-keys "vi" + set-option -sa terminal-features "''${TERM}:RGB" - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 - # Status line customisation - set-option -g status-left "" - set-option -g status-right " #{session_name}" - set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=default" - set-option -g window-status-activity-style none - set-option -g window-status-current-style "fg=#E9E9EA" + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 - bind c new-window -c "#{pane_current_path}" + # Status line customisation + set-option -g status-left "" + set-option -g status-right " #{session_name}" + set-option -g status-right-length 100 + set-option -g status-style "fg=#7C7D83 bg=default" + set-option -g window-status-activity-style none + set-option -g window-status-current-style "fg=#E9E9EA" - set -g base-index 1 - set -g pane-base-index 1 - set -g renumber-windows on + bind c new-window -c "#{pane_current_path}" - # Break a pane into a new window. - bind-key b break-pane -d - bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" + set -g base-index 1 + set -g pane-base-index 1 + set -g renumber-windows on - bind-key C-j choose-tree + # Break a pane into a new window. + bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" - set-window-option -g mode-keys vi - bind -T copy-mode-vi v send-keys -X begin-selection - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' + bind-key C-j choose-tree - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + set-window-option -g mode-keys vi + bind -T copy-mode-vi v send-keys -X begin-selection + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - # Allow clearing screen with ctrl-l by using <prefix> C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - # Enable mouse support. - setw -g mouse on + # Allow clearing screen with ctrl-l by using <prefix> C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" - # Remove delay when switching Vim modes. - set -sg escape-time 0 + # Enable mouse support. + setw -g mouse on - set-option -g pane-active-border-style "fg=#1f2335" - set-option -g pane-border-style "fg=#1f2335" + # Remove delay when switching Vim modes. + set -sg escape-time 0 - bind-key -r f run-shell "tmux new-window t" + set-option -g pane-active-border-style "fg=#1f2335" + set-option -g pane-border-style "fg=#1f2335" + + bind-key -r f run-shell "tmux new-window t" - if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' - ''; + if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' + ''; - plugins = [ - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.yank - ]; + plugins = [ + tmuxPlugins.vim-tmux-navigator + tmuxPlugins.yank + ]; + }; }; } diff --git a/nix/modules/nixos/desktop/autorandr.nix b/nix/modules/nixos/autorandr.nix similarity index 100% rename from nix/modules/nixos/desktop/autorandr.nix rename to nix/modules/nixos/autorandr.nix diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index 0ee96bda..d2ecedd8 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -1,7 +1,16 @@ { imports = [ + ./autorandr.nix ./docker.nix + ./fonts.nix + ./gitea.nix + ./i3.nix + ./immich.nix + ./jellyfin.nix ./kanata.nix + ./rofi.nix ./rsnapshot.nix + ./screenkey.nix + ./xbanish.nix ]; } diff --git a/nix/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix deleted file mode 100644 index 126da1f4..00000000 --- a/nix/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - imports = [ - ../. - ./autorandr.nix - ./fonts.nix - ./gitea.nix - ./i3.nix - ./immich.nix - ./jellyfin.nix - ./rofi.nix - ./screenkey.nix - ./xbanish.nix - ]; -} diff --git a/nix/modules/nixos/desktop/fonts.nix b/nix/modules/nixos/fonts.nix similarity index 91% rename from nix/modules/nixos/desktop/fonts.nix rename to nix/modules/nixos/fonts.nix index 4b99f19d..8bf189d4 100644 --- a/nix/modules/nixos/desktop/fonts.nix +++ b/nix/modules/nixos/fonts.nix @@ -1,7 +1,7 @@ { pkgs, ... }: let - theme = import ../../../lib/theme { inherit pkgs; }; + theme = import ../../lib/theme { inherit pkgs; }; in { environment.systemPackages = with pkgs; [ diff --git a/nix/modules/nixos/desktop/gitea.nix b/nix/modules/nixos/gitea.nix similarity index 100% rename from nix/modules/nixos/desktop/gitea.nix rename to nix/modules/nixos/gitea.nix diff --git a/nix/modules/nixos/desktop/i3.nix b/nix/modules/nixos/i3.nix similarity index 100% rename from nix/modules/nixos/desktop/i3.nix rename to nix/modules/nixos/i3.nix diff --git a/nix/modules/nixos/desktop/immich.nix b/nix/modules/nixos/immich.nix similarity index 100% rename from nix/modules/nixos/desktop/immich.nix rename to nix/modules/nixos/immich.nix diff --git a/nix/modules/nixos/desktop/jellyfin.nix b/nix/modules/nixos/jellyfin.nix similarity index 100% rename from nix/modules/nixos/desktop/jellyfin.nix rename to nix/modules/nixos/jellyfin.nix diff --git a/nix/modules/nixos/desktop/rofi.nix b/nix/modules/nixos/rofi.nix similarity index 100% rename from nix/modules/nixos/desktop/rofi.nix rename to nix/modules/nixos/rofi.nix diff --git a/nix/modules/nixos/desktop/screenkey.nix b/nix/modules/nixos/screenkey.nix similarity index 100% rename from nix/modules/nixos/desktop/screenkey.nix rename to nix/modules/nixos/screenkey.nix diff --git a/nix/modules/nixos/desktop/steam.nix b/nix/modules/nixos/steam.nix similarity index 100% rename from nix/modules/nixos/desktop/steam.nix rename to nix/modules/nixos/steam.nix diff --git a/nix/modules/nixos/desktop/xbanish.nix b/nix/modules/nixos/xbanish.nix similarity index 100% rename from nix/modules/nixos/desktop/xbanish.nix rename to nix/modules/nixos/xbanish.nix diff --git a/run b/run index 614930e8..36674084 100755 --- a/run +++ b/run @@ -25,6 +25,14 @@ function help { printf "\nExtended help:\n Each task has comments for general usage\n" } +function home-manager:build { + _home build "$@" +} + +function home-manager:switch { + _home switch "$@" +} + function nixos:build { _nixos build "$@" } @@ -41,23 +49,14 @@ function update { nix flake update } -function wsl:build { - _home build wsl2 "$@" -} - -function wsl:switch { - _home switch wsl2 "$@" -} - function _home { local command="$1" - local flake="$2" - shift 2 + shift 1 NIXPKGS_ALLOW_UNFREE=1 home-manager "$command" \ --extra-experimental-features flakes \ --extra-experimental-features nix-command \ - --flake ".#$flake" \ + --flake ".#$(whoami)@$(hostname)" \ --impure "$@" } From 0baed7e6f63b04fc1cd8fbb7dcd6ed9020c9f8c7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 08:27:14 +0000 Subject: [PATCH 1132/2258] Make other desktop Home Manager modules togglable --- nix/home/opdavies/default.nix | 18 +---------- nix/home/opdavies/desktop.nix | 12 ------- nix/home/opdavies/hosts/PW05CH3L.nix | 4 +++ nix/home/opdavies/hosts/lemp11.nix | 9 ++++++ nix/hosts/lemp11/configuration.nix | 1 - nix/modules/home-manager/bluetuith.nix | 45 +++++++++++++++++--------- nix/modules/home-manager/copyq.nix | 10 +++++- nix/modules/home-manager/default.nix | 5 +++ nix/modules/home-manager/direnv.nix | 14 +++++--- nix/modules/home-manager/espanso.nix | 24 ++++++++------ nix/modules/home-manager/flameshot.nix | 30 +++++++++++------ nix/modules/home-manager/gtk.nix | 29 +++++++++++++---- 12 files changed, 124 insertions(+), 77 deletions(-) delete mode 100644 nix/home/opdavies/desktop.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index d31fe80c..c76fa348 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -30,15 +30,6 @@ let inherit (pkgs) lib; - desktop-config = import ./desktop.nix { - inherit - config - inputs - pkgs - username - ; - }; - shared-config = import "${self}/nix/lib/shared/home-manager.nix" { inherit config @@ -61,14 +52,7 @@ let }; in { - imports = - if desktop then - [ - desktop-config - shared-config - ] - else - [ shared-config ]; + imports = [ shared-config ]; home.packages = shared-packages diff --git a/nix/home/opdavies/desktop.nix b/nix/home/opdavies/desktop.nix deleted file mode 100644 index 25692568..00000000 --- a/nix/home/opdavies/desktop.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ ... }: - -{ - imports = [ - ../../modules/home-manager/copyq.nix - ../../modules/home-manager/bluetuith.nix - ../../modules/home-manager/espanso.nix - ../../modules/home-manager/gtk.nix - ../../modules/home-manager/flameshot.nix - ../../modules/home-manager/gtk.nix - ]; -} diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 391fcad5..063122e1 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -1,5 +1,9 @@ { features = { + cli = { + direnv.enable = true; + }; + desktop = { alacritty.enable = false; }; diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index 4f1c16de..f71044bf 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -2,7 +2,16 @@ { features = { + cli = { + bluetuith.enable = true; + direnv.enable = true; + }; + desktop = { + copyq.enable = true; + espanso.enable = true; + flameshot.enable = true; + gtk.enable = true; mpv.enable = true; }; }; diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index d0b2a7e9..47cfbb2a 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -185,7 +185,6 @@ ++ pkgs.lib.optionals desktop [ acpi arandr - bluetuith brightnessctl cpufrequtils libnotify diff --git a/nix/modules/home-manager/bluetuith.nix b/nix/modules/home-manager/bluetuith.nix index e5567c6b..f13fb007 100644 --- a/nix/modules/home-manager/bluetuith.nix +++ b/nix/modules/home-manager/bluetuith.nix @@ -1,19 +1,34 @@ { - xdg.configFile."bluetuith/bluetuith.conf" = { - text = '' - { - adapter: "" - adapter-states: "" - connect-bdaddr: "" - gsm-apn: "" - gsm-number: "" - keybindings: { - NavigateDown: j - NavigateUp: k + config, + lib, + pkgs, + ... +}: + +{ + options.features.cli.bluetuith.enable = lib.mkEnableOption "Enable bluetuith"; + + config = lib.mkIf config.features.cli.bluetuith.enable { + home.packages = with pkgs; [ + bluetuith + ]; + + xdg.configFile."bluetuith/bluetuith.conf" = { + text = '' + { + adapter: "" + adapter-states: "" + connect-bdaddr: "" + gsm-apn: "" + gsm-number: "" + keybindings: { + NavigateDown: j + NavigateUp: k + } + receive-dir: "" + theme: {} } - receive-dir: "" - theme: {} - } - ''; + ''; + }; }; } diff --git a/nix/modules/home-manager/copyq.nix b/nix/modules/home-manager/copyq.nix index 6735c70d..fba783e0 100644 --- a/nix/modules/home-manager/copyq.nix +++ b/nix/modules/home-manager/copyq.nix @@ -1 +1,9 @@ -{ services.copyq.enable = true; } +{ config, lib, ... }: + +{ + options.features.desktop.copyq.enable = lib.mkEnableOption "Enable copyq"; + + config = lib.mkIf config.features.desktop.copyq.enable { + services.copyq.enable = true; + }; +} diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix index 6aa1816e..d3e5d8a7 100644 --- a/nix/modules/home-manager/default.nix +++ b/nix/modules/home-manager/default.nix @@ -20,9 +20,14 @@ ./alacritty.nix ./bat.nix ./bin.nix + ./bluetuith.nix + ./copyq.nix ./direnv.nix + ./espanso.nix + ./flameshot.nix ./fzf.nix ./git.nix + ./gtk.nix ./htop.nix ./lsd.nix ./mpv.nix diff --git a/nix/modules/home-manager/direnv.nix b/nix/modules/home-manager/direnv.nix index fb7dffcb..59b4b769 100644 --- a/nix/modules/home-manager/direnv.nix +++ b/nix/modules/home-manager/direnv.nix @@ -1,7 +1,13 @@ +{ config, lib, ... }: + { - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; + options.features.cli.direnv.enable = lib.mkEnableOption "Enable direnv"; + + config = lib.mkIf config.features.cli.direnv.enable { + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + }; }; } diff --git a/nix/modules/home-manager/espanso.nix b/nix/modules/home-manager/espanso.nix index 8867fe9c..8619a296 100644 --- a/nix/modules/home-manager/espanso.nix +++ b/nix/modules/home-manager/espanso.nix @@ -1,18 +1,22 @@ -{ lib, ... }: +{ config, lib, ... }: { - services.espanso = { - enable = true; + options.features.desktop.espanso.enable = lib.mkEnableOption "Enable espanso"; - configs = { - default = { - show_notifications = false; - toggle_key = "LEFT_ALT"; + config = lib.mkIf config.features.desktop.espanso.enable { + services.espanso = { + enable = true; + + configs = { + default = { + show_notifications = false; + toggle_key = "LEFT_ALT"; + }; }; - }; - matches = { - base = import ./espanso/matches/base.nix { inherit lib; }; + matches = { + base = import ./espanso/matches/base.nix { inherit lib; }; + }; }; }; } diff --git a/nix/modules/home-manager/flameshot.nix b/nix/modules/home-manager/flameshot.nix index c27e3458..c5540fd3 100644 --- a/nix/modules/home-manager/flameshot.nix +++ b/nix/modules/home-manager/flameshot.nix @@ -1,15 +1,25 @@ -{ username, ... }: { - services.flameshot = { - enable = true; + config, + lib, + username, + ... +}: - settings = { - General = { - disabledTrayIcon = false; - saveAfterCopy = true; - savePath = "/home/${username}/Pictures/Screenshots"; - showHelp = false; - uiColor = "#60a5fa"; +{ + options.features.desktop.flameshot.enable = lib.mkEnableOption "Enable flameshot"; + + config = lib.mkIf config.features.desktop.flameshot.enable { + services.flameshot = { + enable = true; + + settings = { + General = { + disabledTrayIcon = false; + saveAfterCopy = true; + savePath = "/home/${username}/Pictures/Screenshots"; + showHelp = false; + uiColor = "#60a5fa"; + }; }; }; }; diff --git a/nix/modules/home-manager/gtk.nix b/nix/modules/home-manager/gtk.nix index bce482cc..3042a56f 100644 --- a/nix/modules/home-manager/gtk.nix +++ b/nix/modules/home-manager/gtk.nix @@ -1,11 +1,26 @@ -{ pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - gtk = { - enable = true; - theme.package = pkgs.arc-theme; - theme.name = "Arc-Dark"; - iconTheme.package = pkgs.arc-icon-theme; - iconTheme.name = "Arc"; + options.features.desktop.gtk.enable = lib.mkEnableOption "Enable gtk"; + + config = lib.mkIf config.features.desktop.gtk.enable { + gtk = { + enable = true; + + theme = { + name = "Arc-Dark"; + package = pkgs.arc-theme; + }; + + iconTheme = { + name = "Arc"; + package = pkgs.arc-icon-theme; + }; + }; }; } From 9782272a76149745df7a68b98f020139629198e8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 08:40:00 +0000 Subject: [PATCH 1133/2258] Group modules into feature directories --- nix/home/opdavies/default.nix | 6 --- nix/home/opdavies/hosts/lemp11.nix | 12 +++++- nix/hosts/lemp11/configuration.nix | 4 -- nix/hosts/lemp11/default.nix | 12 ++++++ nix/modules/home-manager/default.nix | 40 ++----------------- .../home-manager/{ => features/cli}/bat.nix | 0 .../home-manager/{ => features/cli}/bin.nix | 0 .../{ => features/cli}/bluetuith.nix | 0 .../home-manager/features/cli/default.nix | 37 +++++++++++++++++ .../{ => features/cli}/direnv.nix | 0 .../home-manager/{ => features/cli}/fzf.nix | 0 .../home-manager/{ => features/cli}/git.nix | 0 .../home-manager/{ => features/cli}/htop.nix | 0 .../home-manager/{ => features/cli}/lsd.nix | 0 .../{ => features/cli}/neovim.nix | 0 .../home-manager/{ => features/cli}/pet.nix | 0 .../{ => features/cli}/phpactor.nix | 0 .../{ => features/cli}/ripgrep.nix | 0 .../{ => features/cli}/starship.nix | 0 .../{ => features/cli}/syncthing.nix | 0 .../home-manager/{ => features/cli}/tmux.nix | 0 .../home-manager/{ => features/cli}/zsh.nix | 0 .../{ => features/cli}/zsh/abbreviations.zsh | 0 .../{ => features/cli}/zsh/aliases.nix | 0 .../{ => features/desktop}/alacritty.nix | 0 .../{ => features/desktop}/copyq.nix | 0 .../home-manager/features/desktop/default.nix | 13 ++++++ .../home-manager/features/desktop/discord.nix | 14 +++++++ .../{ => features/desktop}/espanso.nix | 0 .../desktop}/espanso/matches/base.nix | 0 .../{ => features/desktop}/flameshot.nix | 0 .../{ => features/desktop}/gtk.nix | 0 .../features/desktop/media/default.nix | 8 ++++ .../features/desktop/media/gimp.nix | 14 +++++++ .../features/desktop/media/kdenlive.nix | 14 +++++++ .../{ => features/desktop/media}/mpv.nix | 4 +- .../features/desktop/media/pocket-casts.nix | 14 +++++++ .../home-manager/features/desktop/slack.nix | 14 +++++++ .../home-manager/features/desktop/zoom.nix | 14 +++++++ nix/modules/nixos/default.nix | 5 +-- nix/modules/nixos/features/gaming.nix | 16 ++++++++ .../nixos/features/homelab/default.nix | 7 ++++ nix/modules/nixos/features/homelab/gitea.nix | 21 ++++++++++ nix/modules/nixos/features/homelab/immich.nix | 16 ++++++++ .../nixos/features/homelab/jellyfin.nix | 12 ++++++ nix/modules/nixos/gitea.nix | 17 -------- nix/modules/nixos/immich.nix | 7 ---- nix/modules/nixos/jellyfin.nix | 6 --- nix/modules/nixos/steam.nix | 0 49 files changed, 244 insertions(+), 83 deletions(-) rename nix/modules/home-manager/{ => features/cli}/bat.nix (100%) rename nix/modules/home-manager/{ => features/cli}/bin.nix (100%) rename nix/modules/home-manager/{ => features/cli}/bluetuith.nix (100%) create mode 100644 nix/modules/home-manager/features/cli/default.nix rename nix/modules/home-manager/{ => features/cli}/direnv.nix (100%) rename nix/modules/home-manager/{ => features/cli}/fzf.nix (100%) rename nix/modules/home-manager/{ => features/cli}/git.nix (100%) rename nix/modules/home-manager/{ => features/cli}/htop.nix (100%) rename nix/modules/home-manager/{ => features/cli}/lsd.nix (100%) rename nix/modules/home-manager/{ => features/cli}/neovim.nix (100%) rename nix/modules/home-manager/{ => features/cli}/pet.nix (100%) rename nix/modules/home-manager/{ => features/cli}/phpactor.nix (100%) rename nix/modules/home-manager/{ => features/cli}/ripgrep.nix (100%) rename nix/modules/home-manager/{ => features/cli}/starship.nix (100%) rename nix/modules/home-manager/{ => features/cli}/syncthing.nix (100%) rename nix/modules/home-manager/{ => features/cli}/tmux.nix (100%) rename nix/modules/home-manager/{ => features/cli}/zsh.nix (100%) rename nix/modules/home-manager/{ => features/cli}/zsh/abbreviations.zsh (100%) rename nix/modules/home-manager/{ => features/cli}/zsh/aliases.nix (100%) rename nix/modules/home-manager/{ => features/desktop}/alacritty.nix (100%) rename nix/modules/home-manager/{ => features/desktop}/copyq.nix (100%) create mode 100644 nix/modules/home-manager/features/desktop/default.nix create mode 100644 nix/modules/home-manager/features/desktop/discord.nix rename nix/modules/home-manager/{ => features/desktop}/espanso.nix (100%) rename nix/modules/home-manager/{ => features/desktop}/espanso/matches/base.nix (100%) rename nix/modules/home-manager/{ => features/desktop}/flameshot.nix (100%) rename nix/modules/home-manager/{ => features/desktop}/gtk.nix (100%) create mode 100644 nix/modules/home-manager/features/desktop/media/default.nix create mode 100644 nix/modules/home-manager/features/desktop/media/gimp.nix create mode 100644 nix/modules/home-manager/features/desktop/media/kdenlive.nix rename nix/modules/home-manager/{ => features/desktop/media}/mpv.nix (61%) create mode 100644 nix/modules/home-manager/features/desktop/media/pocket-casts.nix create mode 100644 nix/modules/home-manager/features/desktop/slack.nix create mode 100644 nix/modules/home-manager/features/desktop/zoom.nix create mode 100644 nix/modules/nixos/features/gaming.nix create mode 100644 nix/modules/nixos/features/homelab/default.nix create mode 100644 nix/modules/nixos/features/homelab/gitea.nix create mode 100644 nix/modules/nixos/features/homelab/immich.nix create mode 100644 nix/modules/nixos/features/homelab/jellyfin.nix delete mode 100644 nix/modules/nixos/gitea.nix delete mode 100644 nix/modules/nixos/immich.nix delete mode 100644 nix/modules/nixos/jellyfin.nix delete mode 100644 nix/modules/nixos/steam.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index c76fa348..b846b753 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -61,11 +61,8 @@ in [ brave build-glove80 - discord - gimp gscan2pdf handbrake - kdenlive meslo-lg obs-studio okular @@ -74,11 +71,8 @@ in pavucontrol pinentry via - pocket-casts xcape xsel - - pkgs.nixpkgs-2405.zoom-us ] ); diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index f71044bf..93870f6f 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -9,10 +9,20 @@ desktop = { copyq.enable = true; + discord.enable = true; espanso.enable = true; flameshot.enable = true; gtk.enable = true; - mpv.enable = true; + slack.enable = true; + + media = { + gimp.enable = true; + kdenlive.enable = true; + pocket-casts.enable = true; + mpv.enable = true; + }; + + zoom.enable = true; }; }; } diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 47cfbb2a..5d95b080 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -195,14 +195,10 @@ rclone rclone-browser shotwell - slack vscode xfce.thunar xfce.thunar-volman xfce.tumbler - - # Games. - zeroad ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index f56e1f9e..c35679f4 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -1,3 +1,15 @@ { + features = { + desktop = { + gaming.enable = true; + + homelab = { + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + }; + }; + }; + imports = [ ./configuration.nix ]; } diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix index d3e5d8a7..9f44b44b 100644 --- a/nix/modules/home-manager/default.nix +++ b/nix/modules/home-manager/default.nix @@ -1,42 +1,8 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: +{ ... }: { imports = [ - (import ./neovim.nix { - inherit - config - inputs - lib - pkgs - ; - }) - - ./alacritty.nix - ./bat.nix - ./bin.nix - ./bluetuith.nix - ./copyq.nix - ./direnv.nix - ./espanso.nix - ./flameshot.nix - ./fzf.nix - ./git.nix - ./gtk.nix - ./htop.nix - ./lsd.nix - ./mpv.nix - ./pet.nix - ./phpactor.nix - ./ripgrep.nix - ./starship.nix - ./syncthing.nix - ./tmux.nix - ./zsh.nix + ./features/cli + ./features/desktop ]; } diff --git a/nix/modules/home-manager/bat.nix b/nix/modules/home-manager/features/cli/bat.nix similarity index 100% rename from nix/modules/home-manager/bat.nix rename to nix/modules/home-manager/features/cli/bat.nix diff --git a/nix/modules/home-manager/bin.nix b/nix/modules/home-manager/features/cli/bin.nix similarity index 100% rename from nix/modules/home-manager/bin.nix rename to nix/modules/home-manager/features/cli/bin.nix diff --git a/nix/modules/home-manager/bluetuith.nix b/nix/modules/home-manager/features/cli/bluetuith.nix similarity index 100% rename from nix/modules/home-manager/bluetuith.nix rename to nix/modules/home-manager/features/cli/bluetuith.nix diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix new file mode 100644 index 00000000..75604cf0 --- /dev/null +++ b/nix/modules/home-manager/features/cli/default.nix @@ -0,0 +1,37 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: + +{ + imports = [ + # (import ./neovim.nix { + # inherit + # config + # inputs + # lib + # pkgs + # ; + # }) + + ./bat.nix + ./bin.nix + ./bluetuith.nix + ./direnv.nix + ./fzf.nix + ./git.nix + ./htop.nix + ./lsd.nix + ./neovim.nix + ./pet.nix + ./phpactor.nix + ./ripgrep.nix + ./starship.nix + ./syncthing.nix + ./tmux.nix + ./zsh.nix + ]; +} diff --git a/nix/modules/home-manager/direnv.nix b/nix/modules/home-manager/features/cli/direnv.nix similarity index 100% rename from nix/modules/home-manager/direnv.nix rename to nix/modules/home-manager/features/cli/direnv.nix diff --git a/nix/modules/home-manager/fzf.nix b/nix/modules/home-manager/features/cli/fzf.nix similarity index 100% rename from nix/modules/home-manager/fzf.nix rename to nix/modules/home-manager/features/cli/fzf.nix diff --git a/nix/modules/home-manager/git.nix b/nix/modules/home-manager/features/cli/git.nix similarity index 100% rename from nix/modules/home-manager/git.nix rename to nix/modules/home-manager/features/cli/git.nix diff --git a/nix/modules/home-manager/htop.nix b/nix/modules/home-manager/features/cli/htop.nix similarity index 100% rename from nix/modules/home-manager/htop.nix rename to nix/modules/home-manager/features/cli/htop.nix diff --git a/nix/modules/home-manager/lsd.nix b/nix/modules/home-manager/features/cli/lsd.nix similarity index 100% rename from nix/modules/home-manager/lsd.nix rename to nix/modules/home-manager/features/cli/lsd.nix diff --git a/nix/modules/home-manager/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix similarity index 100% rename from nix/modules/home-manager/neovim.nix rename to nix/modules/home-manager/features/cli/neovim.nix diff --git a/nix/modules/home-manager/pet.nix b/nix/modules/home-manager/features/cli/pet.nix similarity index 100% rename from nix/modules/home-manager/pet.nix rename to nix/modules/home-manager/features/cli/pet.nix diff --git a/nix/modules/home-manager/phpactor.nix b/nix/modules/home-manager/features/cli/phpactor.nix similarity index 100% rename from nix/modules/home-manager/phpactor.nix rename to nix/modules/home-manager/features/cli/phpactor.nix diff --git a/nix/modules/home-manager/ripgrep.nix b/nix/modules/home-manager/features/cli/ripgrep.nix similarity index 100% rename from nix/modules/home-manager/ripgrep.nix rename to nix/modules/home-manager/features/cli/ripgrep.nix diff --git a/nix/modules/home-manager/starship.nix b/nix/modules/home-manager/features/cli/starship.nix similarity index 100% rename from nix/modules/home-manager/starship.nix rename to nix/modules/home-manager/features/cli/starship.nix diff --git a/nix/modules/home-manager/syncthing.nix b/nix/modules/home-manager/features/cli/syncthing.nix similarity index 100% rename from nix/modules/home-manager/syncthing.nix rename to nix/modules/home-manager/features/cli/syncthing.nix diff --git a/nix/modules/home-manager/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix similarity index 100% rename from nix/modules/home-manager/tmux.nix rename to nix/modules/home-manager/features/cli/tmux.nix diff --git a/nix/modules/home-manager/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix similarity index 100% rename from nix/modules/home-manager/zsh.nix rename to nix/modules/home-manager/features/cli/zsh.nix diff --git a/nix/modules/home-manager/zsh/abbreviations.zsh b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh similarity index 100% rename from nix/modules/home-manager/zsh/abbreviations.zsh rename to nix/modules/home-manager/features/cli/zsh/abbreviations.zsh diff --git a/nix/modules/home-manager/zsh/aliases.nix b/nix/modules/home-manager/features/cli/zsh/aliases.nix similarity index 100% rename from nix/modules/home-manager/zsh/aliases.nix rename to nix/modules/home-manager/features/cli/zsh/aliases.nix diff --git a/nix/modules/home-manager/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix similarity index 100% rename from nix/modules/home-manager/alacritty.nix rename to nix/modules/home-manager/features/desktop/alacritty.nix diff --git a/nix/modules/home-manager/copyq.nix b/nix/modules/home-manager/features/desktop/copyq.nix similarity index 100% rename from nix/modules/home-manager/copyq.nix rename to nix/modules/home-manager/features/desktop/copyq.nix diff --git a/nix/modules/home-manager/features/desktop/default.nix b/nix/modules/home-manager/features/desktop/default.nix new file mode 100644 index 00000000..243d22d0 --- /dev/null +++ b/nix/modules/home-manager/features/desktop/default.nix @@ -0,0 +1,13 @@ +{ + imports = [ + ./alacritty.nix + ./copyq.nix + ./discord.nix + ./espanso.nix + ./flameshot.nix + ./gtk.nix + ./media + ./slack.nix + ./zoom.nix + ]; +} diff --git a/nix/modules/home-manager/features/desktop/discord.nix b/nix/modules/home-manager/features/desktop/discord.nix new file mode 100644 index 00000000..5fed5daa --- /dev/null +++ b/nix/modules/home-manager/features/desktop/discord.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.discord.enable = lib.mkEnableOption "Enable Discord"; + + config = lib.mkIf config.features.desktop.discord.enable { + home.packages = with pkgs; [ discord ]; + }; +} diff --git a/nix/modules/home-manager/espanso.nix b/nix/modules/home-manager/features/desktop/espanso.nix similarity index 100% rename from nix/modules/home-manager/espanso.nix rename to nix/modules/home-manager/features/desktop/espanso.nix diff --git a/nix/modules/home-manager/espanso/matches/base.nix b/nix/modules/home-manager/features/desktop/espanso/matches/base.nix similarity index 100% rename from nix/modules/home-manager/espanso/matches/base.nix rename to nix/modules/home-manager/features/desktop/espanso/matches/base.nix diff --git a/nix/modules/home-manager/flameshot.nix b/nix/modules/home-manager/features/desktop/flameshot.nix similarity index 100% rename from nix/modules/home-manager/flameshot.nix rename to nix/modules/home-manager/features/desktop/flameshot.nix diff --git a/nix/modules/home-manager/gtk.nix b/nix/modules/home-manager/features/desktop/gtk.nix similarity index 100% rename from nix/modules/home-manager/gtk.nix rename to nix/modules/home-manager/features/desktop/gtk.nix diff --git a/nix/modules/home-manager/features/desktop/media/default.nix b/nix/modules/home-manager/features/desktop/media/default.nix new file mode 100644 index 00000000..0bd4055f --- /dev/null +++ b/nix/modules/home-manager/features/desktop/media/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ./gimp.nix + ./kdenlive.nix + ./mpv.nix + ./pocket-casts.nix + ]; +} diff --git a/nix/modules/home-manager/features/desktop/media/gimp.nix b/nix/modules/home-manager/features/desktop/media/gimp.nix new file mode 100644 index 00000000..8597aebb --- /dev/null +++ b/nix/modules/home-manager/features/desktop/media/gimp.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.media.gimp.enable = lib.mkEnableOption "Enable gimp"; + + config = lib.mkIf config.features.desktop.media.gimp.enable { + home.packages = with pkgs; [ gimp ]; + }; +} diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix new file mode 100644 index 00000000..b6f7b21c --- /dev/null +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.media.kdenlive.enable = lib.mkEnableOption "Enable kdenlive"; + + config = lib.mkIf config.features.desktop.media.kdenlive.enable { + home.packages = with pkgs; [ kdenlive ]; + }; +} diff --git a/nix/modules/home-manager/mpv.nix b/nix/modules/home-manager/features/desktop/media/mpv.nix similarity index 61% rename from nix/modules/home-manager/mpv.nix rename to nix/modules/home-manager/features/desktop/media/mpv.nix index c0764ddd..f06a6e21 100644 --- a/nix/modules/home-manager/mpv.nix +++ b/nix/modules/home-manager/features/desktop/media/mpv.nix @@ -1,9 +1,9 @@ { config, lib, ... }: { - options.features.desktop.mpv.enable = lib.mkEnableOption "Enable mpv media player"; + options.features.desktop.media.mpv.enable = lib.mkEnableOption "Enable mpv media player"; - config = lib.mkIf config.features.desktop.mpv.enable { + config = lib.mkIf config.features.desktop.media.mpv.enable { programs.mpv = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix new file mode 100644 index 00000000..6f088c43 --- /dev/null +++ b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.media.pocket-casts.enable = lib.mkEnableOption "Enable Pocket Casts"; + + config = lib.mkIf config.features.desktop.media.pocket-casts.enable { + home.packages = with pkgs; [ pocket-casts ]; + }; +} diff --git a/nix/modules/home-manager/features/desktop/slack.nix b/nix/modules/home-manager/features/desktop/slack.nix new file mode 100644 index 00000000..463a91e1 --- /dev/null +++ b/nix/modules/home-manager/features/desktop/slack.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.slack.enable = lib.mkEnableOption "Enable Slack"; + + config = lib.mkIf config.features.desktop.slack.enable { + home.packages = with pkgs; [ slack ]; + }; +} diff --git a/nix/modules/home-manager/features/desktop/zoom.nix b/nix/modules/home-manager/features/desktop/zoom.nix new file mode 100644 index 00000000..d1a6c458 --- /dev/null +++ b/nix/modules/home-manager/features/desktop/zoom.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.zoom.enable = lib.mkEnableOption "Enable zoom"; + + config = lib.mkIf config.features.desktop.zoom.enable { + home.packages = with pkgs; [ nixpkgs-2405.zoom-us ]; + }; +} diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index d2ecedd8..dfd00b70 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -2,11 +2,10 @@ imports = [ ./autorandr.nix ./docker.nix + ./features/gaming.nix + ./features/homelab ./fonts.nix - ./gitea.nix ./i3.nix - ./immich.nix - ./jellyfin.nix ./kanata.nix ./rofi.nix ./rsnapshot.nix diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/features/gaming.nix new file mode 100644 index 00000000..d7dd0747 --- /dev/null +++ b/nix/modules/nixos/features/gaming.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.gaming.enable = lib.mkEnableOption "Enable games"; + + config = lib.mkIf config.features.desktop.gaming.enable { + programs.steam.enable = true; + + environment.systemPackages = with pkgs; [ zeroad ]; + }; +} diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix new file mode 100644 index 00000000..d7742bab --- /dev/null +++ b/nix/modules/nixos/features/homelab/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./gitea.nix + ./immich.nix + ./jellyfin.nix + ]; +} diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix new file mode 100644 index 00000000..848ba836 --- /dev/null +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -0,0 +1,21 @@ +{ config, lib, ... }: + +{ + options.features.desktop.homelab.gitea.enable = lib.mkEnableOption "Enable gitea"; + + config = lib.mkIf config.features.desktop.homelab.gitea.enable { + services.gitea = { + enable = true; + + settings = { + server = { + HTTP_PORT = 2222; + }; + + service = { + DISABLE_REGISTRATION = true; + }; + }; + }; + }; +} diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix new file mode 100644 index 00000000..83f9d7f9 --- /dev/null +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.homelab.immich.enable = lib.mkEnableOption "Enable immich"; + + config = lib.mkIf config.features.desktop.homelab.immich.enable { + services.immich.enable = true; + + environment.systemPackages = [ pkgs.immich-cli ]; + }; +} diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix new file mode 100644 index 00000000..8866d5f9 --- /dev/null +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -0,0 +1,12 @@ +{ config, lib, ... }: + +{ + options.features.desktop.homelab.jellyfin.enable = lib.mkEnableOption "Enable jellyfin"; + + config = lib.mkIf config.features.desktop.homelab.jellyfin.enable { + services.jellyfin = { + enable = true; + openFirewall = true; + }; + }; +} diff --git a/nix/modules/nixos/gitea.nix b/nix/modules/nixos/gitea.nix deleted file mode 100644 index b093e0f1..00000000 --- a/nix/modules/nixos/gitea.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ pkgs, ... }: - -{ - services.gitea = { - enable = true; - - settings = { - server = { - HTTP_PORT = 2222; - }; - - service = { - DISABLE_REGISTRATION = true; - }; - }; - }; -} diff --git a/nix/modules/nixos/immich.nix b/nix/modules/nixos/immich.nix deleted file mode 100644 index 0a8cb46e..00000000 --- a/nix/modules/nixos/immich.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - services.immich.enable = true; - - environment.systemPackages = [ pkgs.immich-cli ]; -} diff --git a/nix/modules/nixos/jellyfin.nix b/nix/modules/nixos/jellyfin.nix deleted file mode 100644 index 83798315..00000000 --- a/nix/modules/nixos/jellyfin.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.jellyfin = { - enable = true; - openFirewall = true; - }; -} diff --git a/nix/modules/nixos/steam.nix b/nix/modules/nixos/steam.nix deleted file mode 100644 index e69de29b..00000000 From d0e83937d279491aca586a1b68b8fbc32091eab9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 12:27:55 +0000 Subject: [PATCH 1134/2258] Remove unused packages --- nix/home/opdavies/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index b846b753..311a75a0 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -59,7 +59,6 @@ in ++ pkgs.lib.optionals desktop ( with pkgs; [ - brave build-glove80 gscan2pdf handbrake @@ -67,10 +66,7 @@ in obs-studio okular pamixer - pass pavucontrol - pinentry - via xcape xsel ] From 198f2962bdae0ca79d51e439ce4db5ae24d3231f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 13:00:00 +0000 Subject: [PATCH 1135/2258] Extract Docker and screenkey modules --- nix/hosts/lemp11/default.nix | 4 ++++ nix/modules/nixos/default.nix | 4 ++-- nix/modules/nixos/docker.nix | 10 -------- nix/modules/nixos/features/cli/default.nix | 5 ++++ nix/modules/nixos/features/cli/docker.nix | 16 +++++++++++++ .../nixos/features/desktop/default.nix | 3 +++ .../nixos/features/desktop/screenkey.nix | 23 +++++++++++++++++++ nix/modules/nixos/screenkey.nix | 13 ----------- 8 files changed, 53 insertions(+), 25 deletions(-) delete mode 100644 nix/modules/nixos/docker.nix create mode 100644 nix/modules/nixos/features/cli/default.nix create mode 100644 nix/modules/nixos/features/cli/docker.nix create mode 100644 nix/modules/nixos/features/desktop/default.nix create mode 100644 nix/modules/nixos/features/desktop/screenkey.nix delete mode 100644 nix/modules/nixos/screenkey.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index c35679f4..bab79799 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -1,5 +1,9 @@ { features = { + cli = { + docker.enable = true; + }; + desktop = { gaming.enable = true; diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index dfd00b70..760682d6 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -1,7 +1,8 @@ { imports = [ ./autorandr.nix - ./docker.nix + ./features/cli + ./features/desktop ./features/gaming.nix ./features/homelab ./fonts.nix @@ -9,7 +10,6 @@ ./kanata.nix ./rofi.nix ./rsnapshot.nix - ./screenkey.nix ./xbanish.nix ]; } diff --git a/nix/modules/nixos/docker.nix b/nix/modules/nixos/docker.nix deleted file mode 100644 index 1a9a4b9d..00000000 --- a/nix/modules/nixos/docker.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - virtualisation.docker = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; -} diff --git a/nix/modules/nixos/features/cli/default.nix b/nix/modules/nixos/features/cli/default.nix new file mode 100644 index 00000000..9045632e --- /dev/null +++ b/nix/modules/nixos/features/cli/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./docker.nix + ]; +} diff --git a/nix/modules/nixos/features/cli/docker.nix b/nix/modules/nixos/features/cli/docker.nix new file mode 100644 index 00000000..8aa12321 --- /dev/null +++ b/nix/modules/nixos/features/cli/docker.nix @@ -0,0 +1,16 @@ +{ lib, config, ... }: + +{ + options.features.cli.docker.enable = lib.mkEnableOption "Enable Docker"; + + config = lib.mkIf config.features.cli.docker.enable { + virtualisation.docker = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; + }; +} diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix new file mode 100644 index 00000000..819761e5 --- /dev/null +++ b/nix/modules/nixos/features/desktop/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./screenkey.nix ]; +} diff --git a/nix/modules/nixos/features/desktop/screenkey.nix b/nix/modules/nixos/features/desktop/screenkey.nix new file mode 100644 index 00000000..185de462 --- /dev/null +++ b/nix/modules/nixos/features/desktop/screenkey.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + pkgs, + username, + ... +}: + +{ + options.features.desktop.screenkey.enable = lib.mkEnableOption "Enable screenkey"; + + config = lib.mkIf config.features.desktop.screenkey.enable { + environment.systemPackages = with pkgs; [ screenkey ]; + + home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { + key_mode = "composed"; + mods_mode = "emacs"; + persist = true; + size = "small"; + timeout = 0.25; + }; + }; +} diff --git a/nix/modules/nixos/screenkey.nix b/nix/modules/nixos/screenkey.nix deleted file mode 100644 index 8068946e..00000000 --- a/nix/modules/nixos/screenkey.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, username, ... }: - -{ - environment.systemPackages = with pkgs; [ screenkey ]; - - home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { - key_mode = "composed"; - mods_mode = "emacs"; - persist = true; - size = "small"; - timeout = 0.25; - }; -} From 5ebf83a334c71f1ef43929b70c678e90a7fe8b19 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 26 Nov 2024 15:18:58 +0000 Subject: [PATCH 1136/2258] Un-reverse the directory names This makes it consistent with other places where I use fzf. --- nix/hosts/lemp11/default.nix | 10 +++++----- nix/lib/shared/scripts/t.nix | 2 +- nix/modules/nixos/features/homelab/gitea.nix | 4 ++-- nix/modules/nixos/features/homelab/immich.nix | 4 ++-- nix/modules/nixos/features/homelab/jellyfin.nix | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index bab79799..ff53014d 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -6,12 +6,12 @@ desktop = { gaming.enable = true; + }; - homelab = { - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - }; + homelab = { + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; }; }; diff --git a/nix/lib/shared/scripts/t.nix b/nix/lib/shared/scripts/t.nix index 900795ec..fb6b0ce5 100644 --- a/nix/lib/shared/scripts/t.nix +++ b/nix/lib/shared/scripts/t.nix @@ -23,7 +23,7 @@ ! -name "*.old" ) - selected_path=$(echo "''${items}" | sort | fzf --reverse) + selected_path=$(echo "''${items}" | sort | fzf) fi session_name=$(basename "$selected_path" | sed 's/\./_/g') diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index 848ba836..47d17600 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -1,9 +1,9 @@ { config, lib, ... }: { - options.features.desktop.homelab.gitea.enable = lib.mkEnableOption "Enable gitea"; + options.features.homelab.gitea.enable = lib.mkEnableOption "Enable gitea"; - config = lib.mkIf config.features.desktop.homelab.gitea.enable { + config = lib.mkIf config.features.homelab.gitea.enable { services.gitea = { enable = true; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 83f9d7f9..6bd923c0 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -6,9 +6,9 @@ }: { - options.features.desktop.homelab.immich.enable = lib.mkEnableOption "Enable immich"; + options.features.homelab.immich.enable = lib.mkEnableOption "Enable immich"; - config = lib.mkIf config.features.desktop.homelab.immich.enable { + config = lib.mkIf config.features.homelab.immich.enable { services.immich.enable = true; environment.systemPackages = [ pkgs.immich-cli ]; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 8866d5f9..f650ca02 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -1,9 +1,9 @@ { config, lib, ... }: { - options.features.desktop.homelab.jellyfin.enable = lib.mkEnableOption "Enable jellyfin"; + options.features.homelab.jellyfin.enable = lib.mkEnableOption "Enable jellyfin"; - config = lib.mkIf config.features.desktop.homelab.jellyfin.enable { + config = lib.mkIf config.features.homelab.jellyfin.enable { services.jellyfin = { enable = true; openFirewall = true; From 0e2a86abb6ed76c330ae41ed4da6a52517694f70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 27 Nov 2024 18:18:23 +0000 Subject: [PATCH 1137/2258] Fix Neovim imports in WSL --- nix/lib/shared/home-manager.nix | 1 + nix/modules/home-manager/default.nix | 19 +++++++++++++++++-- .../home-manager/features/cli/default.nix | 19 ++++++++++--------- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index e4ed054f..0cae3665 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -48,6 +48,7 @@ config inputs lib + self pkgs ; }) diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix index 9f44b44b..f6fe1b8a 100644 --- a/nix/modules/home-manager/default.nix +++ b/nix/modules/home-manager/default.nix @@ -1,8 +1,23 @@ -{ ... }: +{ + config, + inputs, + lib, + self, + pkgs, + ... +}: { imports = [ - ./features/cli + (import ./features/cli { + inherit + config + inputs + lib + self + pkgs + ; + }) ./features/desktop ]; } diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index 75604cf0..cd1c7e0f 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -3,19 +3,21 @@ inputs, lib, pkgs, + self, ... }: { imports = [ - # (import ./neovim.nix { - # inherit - # config - # inputs - # lib - # pkgs - # ; - # }) + (import ./neovim.nix { + inherit + config + inputs + lib + pkgs + self + ; + }) ./bat.nix ./bin.nix @@ -25,7 +27,6 @@ ./git.nix ./htop.nix ./lsd.nix - ./neovim.nix ./pet.nix ./phpactor.nix ./ripgrep.nix From 1d40bf6c1d05ec2e6e735bd13c48c97c3c7fb706 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 27 Nov 2024 19:00:42 +0000 Subject: [PATCH 1138/2258] Fix battery notifications --- bin/notify-battery | 34 -------------------------- nix/home/opdavies/default.nix | 1 + nix/modules/nixos/i3.nix | 2 +- nix/pkgs/default.nix | 1 + nix/pkgs/notify-battery.nix | 46 +++++++++++++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 35 deletions(-) delete mode 100755 bin/notify-battery create mode 100644 nix/pkgs/notify-battery.nix diff --git a/bin/notify-battery b/bin/notify-battery deleted file mode 100755 index e9e77b4c..00000000 --- a/bin/notify-battery +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - -export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus" -export DISPLAY=:0 - -# Battery percentage at which to notify. -BATTERY_DISCHARGING=$(acpi -b | grep "Battery 0" | grep -c "Discharging") -BATTERY_LEVEL=$(acpi -b | grep "Battery 0" | grep -P -o '[0-9]+(?=%)') -WARNING_LEVEL=20 - -# Use two files to store whether we've shown a notification or not (to prevent multiple notifications). -EMPTY_FILE=/tmp/battery-empty -FULL_FILE=/tmp/battery-full - -# Reset notifications if the computer is charging/discharging. -if [ "$BATTERY_DISCHARGING" -eq 1 ] && [ -f $FULL_FILE ]; then - rm $FULL_FILE -elif [ "$BATTERY_DISCHARGING" -eq 0 ] && [ -f $EMPTY_FILE ]; then - rm $EMPTY_FILE -fi - -# If the battery is charging and is full (and has not shown notification yet). -if [ "$BATTERY_LEVEL" -gt 95 ] && [ "$BATTERY_DISCHARGING" -eq 0 ] && [ ! -f $FULL_FILE ]; then - notify-send "Battery Charged" "Battery is fully charged." -r 9991 - touch $FULL_FILE -# If the battery is low and is not charging (and has not shown notification yet). -elif [ "$BATTERY_LEVEL" -le $WARNING_LEVEL ] && [ "$BATTERY_DISCHARGING" -eq 1 ] && [ ! -f $EMPTY_FILE ]; then - notify-send "Low Battery" "${BATTERY_LEVEL}% of battery remaining." -u critical -r 9991 -t 0 - touch $EMPTY_FILE -fi diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 311a75a0..5aa18c31 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -63,6 +63,7 @@ in gscan2pdf handbrake meslo-lg + notify-battery obs-studio okular pamixer diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 481fd235..0a906908 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -17,7 +17,7 @@ in enable = true; systemCronJobs = [ - "* * * * * opdavies /home/opdavies/bin/notify-battery" + "* * * * * opdavies ${pkgs.notify-battery}/bin/notify-battery" ]; }; diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index d8cb0376..e1aa5047 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -5,6 +5,7 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; + notify-battery = callPackage ./notify-battery.nix { }; vimPlugins = prev.vimPlugins // { conf-vim = callPackage ./vim-plugins/conf-vim.nix { }; diff --git a/nix/pkgs/notify-battery.nix b/nix/pkgs/notify-battery.nix new file mode 100644 index 00000000..7355f4f3 --- /dev/null +++ b/nix/pkgs/notify-battery.nix @@ -0,0 +1,46 @@ +{ pkgs, ... }: + +pkgs.writeShellApplication { + name = "notify-battery"; + + runtimeInputs = with pkgs; [ + acpi + bash + coreutils + dbus + ]; + + text = '' + set +o nounset + set +o pipefail + + export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus" + export DISPLAY=:0 + + # Battery percentage at which to notify. + BATTERY_DISCHARGING=$(acpi -b | grep "Battery 0" | grep -c "Discharging") + BATTERY_LEVEL=$(acpi -b | grep "Battery 0" | grep -P -o '[0-9]+(?=%)') + WARNING_LEVEL=20 + + # Use two files to store whether we've shown a notification or not (to prevent multiple notifications). + EMPTY_FILE=/tmp/battery-empty + FULL_FILE=/tmp/battery-full + + # Reset notifications if the computer is charging/discharging. + if [ "$BATTERY_DISCHARGING" -eq 1 ] && [ -f $FULL_FILE ]; then + rm $FULL_FILE + elif [ "$BATTERY_DISCHARGING" -eq 0 ] && [ -f $EMPTY_FILE ]; then + rm $EMPTY_FILE + fi + + # If the battery is charging and is full (and has not shown notification yet). + if [ "$BATTERY_LEVEL" -gt 95 ] && [ "$BATTERY_DISCHARGING" -eq 0 ] && [ ! -f $FULL_FILE ]; then + notify-send "Battery Charged" "Battery is fully charged." -r 9991 + touch $FULL_FILE + # If the battery is low and is not charging (and has not shown notification yet). + elif [ "$BATTERY_LEVEL" -le $WARNING_LEVEL ] && [ "$BATTERY_DISCHARGING" -eq 1 ] && [ ! -f $EMPTY_FILE ]; then + notify-send "Low Battery" "''${BATTERY_LEVEL}% of battery remaining." -u critical -r 9991 -t 0 + touch $EMPTY_FILE + fi + ''; +} From 4f93c87bb3669a9359f6ce332a8550ffcd872ac4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 27 Nov 2024 20:00:02 +0000 Subject: [PATCH 1139/2258] Find directories for open source projects --- nix/lib/shared/scripts/t.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/lib/shared/scripts/t.nix b/nix/lib/shared/scripts/t.nix index fb6b0ce5..ab36494a 100644 --- a/nix/lib/shared/scripts/t.nix +++ b/nix/lib/shared/scripts/t.nix @@ -16,7 +16,7 @@ else # Get the session name from fuzzy-finding list of directories and generating a # tmux-safe version. - items=$(find "$REPOS" "$REPOS/personal" ~/Documents \ + items=$(find "$REPOS" "$REPOS/personal" "$REPOS/os" ~/Documents \ -maxdepth 1 -mindepth 1 -type d \ ! -name "_archive" \ ! -name "*-old" \ From d693e167966dc71aa2cf43e222db9020ad3c5bd3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 27 Nov 2024 19:59:30 +0000 Subject: [PATCH 1140/2258] Hide errors for non-existant paths --- nix/lib/shared/scripts/t.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nix/lib/shared/scripts/t.nix b/nix/lib/shared/scripts/t.nix index ab36494a..ce6767ff 100644 --- a/nix/lib/shared/scripts/t.nix +++ b/nix/lib/shared/scripts/t.nix @@ -20,7 +20,8 @@ -maxdepth 1 -mindepth 1 -type d \ ! -name "_archive" \ ! -name "*-old" \ - ! -name "*.old" + ! -name "*.old" \ + 2>/dev/null ) selected_path=$(echo "''${items}" | sort | fzf) From 8fd5c6b9699bacd227dbf2bca64160008d289cec Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 28 Nov 2024 00:56:19 +0000 Subject: [PATCH 1141/2258] Initial Hetzner server and vhost configuration --- flake.lock | 21 +++++++ flake.nix | 15 +++++ nix/hosts/hetznix/configuration.nix | 47 +++++++++++++++ nix/hosts/hetznix/disks.nix | 57 +++++++++++++++++++ nix/hosts/hetznix/hardware-configuration.nix | 24 ++++++++ .../hetznix/modules/2020.oliverdavies.uk.nix | 10 ++++ 6 files changed, 174 insertions(+) create mode 100644 nix/hosts/hetznix/configuration.nix create mode 100644 nix/hosts/hetznix/disks.nix create mode 100644 nix/hosts/hetznix/hardware-configuration.nix create mode 100644 nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix diff --git a/flake.lock b/flake.lock index c7a0febf..2c8d824c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732645828, + "narHash": "sha256-+4U2I2653JvPFxcux837ulwYS864QvEueIljUkwytsk=", + "owner": "nix-community", + "repo": "disko", + "rev": "869ba3a87486289a4197b52a6c9e7222edf00b3e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -71,6 +91,7 @@ }, "root": { "inputs": { + "disko": "disko", "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", diff --git a/flake.nix b/flake.nix index b897f6dc..c2323f6c 100644 --- a/flake.nix +++ b/flake.nix @@ -5,12 +5,18 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + disko = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/disko"; + }; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; }; outputs = { + disko, home-manager, nixpkgs, self, @@ -62,6 +68,15 @@ modules = [ ./nix/hosts/lemp11 ]; }; + + hetznix = nixpkgs.lib.nixosSystem { + inherit system; + + modules = [ + disko.nixosModules.disko + ./nix/hosts/hetznix/configuration.nix + ]; + }; }; homeConfigurations = { diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix new file mode 100644 index 00000000..82fe7e04 --- /dev/null +++ b/nix/hosts/hetznix/configuration.nix @@ -0,0 +1,47 @@ +{ + modulesPath, + lib, + pkgs, + ... +}: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + (modulesPath + "/profiles/qemu-guest.nix") + + ./disks.nix + ./hardware-configuration.nix + + ./modules/2020.oliverdavies.uk.nix + ]; + + security.acme = { + acceptTerms = true; + defaults.email = "oliver@oliverdavies.uk"; + }; + + services.nginx.enable = true; + + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + boot.loader.grub = { + efiSupport = true; + efiInstallAsRemovable = true; + }; + + services.openssh.enable = true; + + environment.systemPackages = map lib.lowPrio [ + pkgs.curl + pkgs.gitMinimal + ]; + + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw== opdavies@lemp11" + ]; + + system.stateVersion = "24.05"; +} diff --git a/nix/hosts/hetznix/disks.nix b/nix/hosts/hetznix/disks.nix new file mode 100644 index 00000000..d380ab8e --- /dev/null +++ b/nix/hosts/hetznix/disks.nix @@ -0,0 +1,57 @@ +{ lib, ... }: + +{ + disko.devices = { + disk.disk1 = { + device = lib.mkDefault "/dev/sda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + name = "boot"; + size = "1M"; + type = "EF02"; + }; + esp = { + name = "ESP"; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + root = { + name = "root"; + size = "100%"; + content = { + type = "lvm_pv"; + vg = "pool"; + }; + }; + }; + }; + }; + + lvm_vg = { + pool = { + type = "lvm_vg"; + lvs = { + root = { + size = "100%FREE"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + mountOptions = [ + "defaults" + ]; + }; + }; + }; + }; + }; + }; +} diff --git a/nix/hosts/hetznix/hardware-configuration.nix b/nix/hosts/hetznix/hardware-configuration.nix new file mode 100644 index 00000000..80b8228b --- /dev/null +++ b/nix/hosts/hetznix/hardware-configuration.nix @@ -0,0 +1,24 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix new file mode 100644 index 00000000..76db6e96 --- /dev/null +++ b/nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."2020.oliverdavies.uk" = { + enableACME = true; + forceSSL = true; + root = "/var/www/vhosts/2020.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} From de553ff052b78edc7966b47939b450b347d15410 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 28 Nov 2024 01:32:15 +0000 Subject: [PATCH 1142/2258] Update spellfile --- nvim/spell/en.utf-8.add | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index d562e512..6adb91b9 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -31,6 +31,7 @@ GitLab Gitea HDN HashiCorp +Hetzner InvalidArgumentException Inviqa JSON @@ -116,6 +117,7 @@ stylesheets testbot tmux url +vhost wildcard worktree worktrees From 21b6cd932686c69476624e3e10ec3d5947941091 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 00:06:54 +0000 Subject: [PATCH 1143/2258] Move my static sites to the new server --- nix/hosts/hetznix/configuration.nix | 10 +- nix/hosts/hetznix/modules/acme.nix | 26 ++ nix/hosts/hetznix/modules/nginx/default.nix | 22 + .../vhosts}/2020.oliverdavies.uk.nix | 2 +- ...ootstrap-with-tailwind.oliverdavies.uk.nix | 10 + ...rupalcamp-tailwind-css.oliverdavies.uk.nix | 10 + .../phpsw-sculpin-demo.oliverdavies.uk.nix | 10 + .../rebuilding-acquia.oliverdavies.uk.nix | 10 + .../rebuilding-bartik.oliverdavies.uk.nix | 10 + .../rebuilding-bristol-js.oliverdavies.uk.nix | 10 + .../rebuilding-symfony.oliverdavies.uk.nix | 10 + .../tailwindcss-demo.oliverdavies.uk.nix | 10 + ...ing-drupal-tailwindcss.oliverdavies.uk.nix | 10 + .../vhosts/wp-tailwind.oliverdavies.uk.nix | 10 + .../nginx/vhosts/www.oliverdavies.uk.nix | 435 ++++++++++++++++++ .../nginx/vhosts/zet.oliverdavies.uk.nix | 7 + 16 files changed, 593 insertions(+), 9 deletions(-) create mode 100644 nix/hosts/hetznix/modules/acme.nix create mode 100644 nix/hosts/hetznix/modules/nginx/default.nix rename nix/hosts/hetznix/modules/{ => nginx/vhosts}/2020.oliverdavies.uk.nix (85%) create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 82fe7e04..081c585b 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -12,16 +12,10 @@ ./disks.nix ./hardware-configuration.nix - ./modules/2020.oliverdavies.uk.nix + ./modules/acme.nix + ./modules/nginx ]; - security.acme = { - acceptTerms = true; - defaults.email = "oliver@oliverdavies.uk"; - }; - - services.nginx.enable = true; - networking.firewall.allowedTCPPorts = [ 80 443 diff --git a/nix/hosts/hetznix/modules/acme.nix b/nix/hosts/hetznix/modules/acme.nix new file mode 100644 index 00000000..837e401d --- /dev/null +++ b/nix/hosts/hetznix/modules/acme.nix @@ -0,0 +1,26 @@ +{ + security.acme = { + acceptTerms = true; + defaults.email = "oliver@oliverdavies.uk"; + + certs."oliverdavies.uk" = { + domain = "oliverdavies.uk"; + extraDomainNames = [ + # TODO Refactor to use a wildcard certificate. + "2020.oliverdavies.uk" + "bootstrap-with-tailwind.oliverdavies.uk" + "florida-drupalcamp-tailwind-css.oliverdavies.uk" + "phpsw-sculpin-demo.oliverdavies.uk" + "rebuilding-acquia.oliverdavies.uk" + "rebuilding-bartik.oliverdavies.uk" + "rebuilding-bristol-js.oliverdavies.uk" + "rebuilding-symfony.oliverdavies.uk" + "tailwindcss-demo.oliverdavies.uk" + "talking-drupal-tailwindcss.oliverdavies.uk" + "wp-tailwind.oliverdavies.uk" + "www.oliverdavies.uk" + "zet.oliverdavies.uk" + ]; + }; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/default.nix b/nix/hosts/hetznix/modules/nginx/default.nix new file mode 100644 index 00000000..0c19d6ce --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/default.nix @@ -0,0 +1,22 @@ +{ + services.nginx = { + enable = true; + serverNamesHashBucketSize = 256; + }; + + imports = [ + ./vhosts/2020.oliverdavies.uk.nix + ./vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix + ./vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix + ./vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix + ./vhosts/rebuilding-acquia.oliverdavies.uk.nix + ./vhosts/rebuilding-bartik.oliverdavies.uk.nix + ./vhosts/rebuilding-bristol-js.oliverdavies.uk.nix + ./vhosts/rebuilding-symfony.oliverdavies.uk.nix + ./vhosts/tailwindcss-demo.oliverdavies.uk.nix + ./vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix + ./vhosts/wp-tailwind.oliverdavies.uk.nix + ./vhosts/www.oliverdavies.uk.nix + ./vhosts/zet.oliverdavies.uk.nix + ]; +} diff --git a/nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix similarity index 85% rename from nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix rename to nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix index 76db6e96..1791fb92 100644 --- a/nix/hosts/hetznix/modules/2020.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix @@ -1,6 +1,6 @@ { services.nginx.virtualHosts."2020.oliverdavies.uk" = { - enableACME = true; + useACMEHost = "oliverdavies.uk"; forceSSL = true; root = "/var/www/vhosts/2020.oliverdavies.uk"; extraConfig = '' diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix new file mode 100644 index 00000000..2450eeac --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."bootstrap-with-tailwind.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/bootstrap-with-tailwind.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix new file mode 100644 index 00000000..8019d22b --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."florida-drupalcamp-tailwind-css.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix new file mode 100644 index 00000000..6f6142f6 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."phpsw-sculpin-demo.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/phpsw-sculpin-demo.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix new file mode 100644 index 00000000..02a1a940 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."rebuilding-acquia.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/rebuilding-acquia.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix new file mode 100644 index 00000000..ef70c12a --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."rebuilding-bartik.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/rebuilding-bartik.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix new file mode 100644 index 00000000..3b9851c0 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."rebuilding-bristol-js.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/rebuilding-bristol-js.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix new file mode 100644 index 00000000..945f2ac7 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."rebuilding-symfony.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/rebuilding-symfony.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix new file mode 100644 index 00000000..82513720 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."tailwindcss-demo.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/tailwindcss-demo.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix new file mode 100644 index 00000000..1f550f5a --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."talking-drupal-tailwindcss.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/talking-drupal-tailwindcss.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix new file mode 100644 index 00000000..0bf4711a --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix @@ -0,0 +1,10 @@ +{ + services.nginx.virtualHosts."wp-tailwind.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/wp-tailwind.oliverdavies.uk"; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix new file mode 100644 index 00000000..df32f4f9 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix @@ -0,0 +1,435 @@ +{ + services.nginx.virtualHosts = { + "www.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/www.oliverdavies.uk/output_prod"; + extraConfig = '' + error_page 404 /404; + + # rewrite ^/archive/(.*)/?$ /daily/$1 permanent; + rewrite ^/10-useful-drupal-6-modules-i-use-every-project/?$ /blog/10-useful-drupal-6-modules permanent; + rewrite ^/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; + rewrite ^/2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio/?$ /blog/using-imagecache-imagecrop-my-portfolio permanent; + rewrite ^/2010/05/29/importing-images-using-the-imagefieldimport-module/?$ /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent; + rewrite ^/2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue/?$ /blog/create-block-social-media-icons-using-cck-views-nodequeue permanent; + rewrite ^/2010/07/05/thanks/?$ /blog/thanks permanent; + rewrite ^/2010/08/17/create-a-better-photo-gallery-in-drupal-part-2/?$ /blog/create-better-photo-gallery-drupal-part-2 permanent; + rewrite ^/2014/05/21/git-format-patch/?$ /blog/git-format-patch-your-friend permanent; + rewrite ^/2PxmyqP/?$ /articles/examples-of-laravel-collections-in-drupal permanent; + rewrite ^/39CoG/?$ /articles/drupalcamp-london-testing-workshop permanent; + rewrite ^/3eGQr/?$ https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 permanent; + rewrite ^/6UhLN/?$ https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 permanent; + rewrite ^/6i3YZ/?$ https://www.youtube.com/watch?v=vUK5sEbd-dk permanent; + rewrite ^/9rv0Z/?$ https://www.drupal.org/project/override_node_options/issues/3109852 permanent; + rewrite ^/BhMZi/?$ https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 permanent; + rewrite ^/NBi5h/?$ https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar permanent; + rewrite ^/P5KQ5/?$ https://www.npmjs.com/package/tailwindcss-skip-link permanent; + rewrite ^/S8ZDA/?$ /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 permanent; + rewrite ^/Wh48P/?$ https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig permanent; + rewrite ^/XbzS2/?$ https://github.com/opdavies/gmail-filter-builder permanent; + rewrite ^/YK1VH/?$ /articles/psr4-autoloading-test-cases-drupal-7 permanent; + rewrite ^/YilTZ$ https://drupalcamp.london/tickets/training permanent; + rewrite ^/about/?$ / permanent; + rewrite ^/about/cv/?$ /cv permanent; + rewrite ^/about/speaker-information/?$ /speaker-information permanent; + rewrite ^/about/speaker/?$ /speaker permanent; + rewrite ^/acquia-certifications/?$ https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent; + rewrite ^/acquia-certified/?$ https://certification.acquia.com/?fname=Oliver&lname=Davies permanent; + rewrite ^/ansible-molecule/?$ /articles/test-driven-ansible-role-development-molecule permanent; + rewrite ^/ansible/?$ https://galaxy.ansible.com/opdavies permanent; + rewrite ^/ansistrano-code/?$ https://github.com/opdavies/dransible permanent; + rewrite ^/ansistrano-demo/?$ https://www.youtube.com/watch?v=PLS4ET7FAcU permanent; + rewrite ^/ansistrano-slides/?$ /talks/deploying-php-ansible-ansistrano permanent; + rewrite ^/archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent; + rewrite ^/articles/(.*)/?$ /blog/$1 permanent; + rewrite ^/atNOQ/?$ https://youtu.be/r41dkD2EOo8 permanent; + rewrite ^/automatically-updating-talk-created-date/?$ https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent; + rewrite ^/blog.xml/?$ /rss.xml permanent; + rewrite ^/blog/10-useful-drupal-6-modules/?$ /blog/useful-drupal-6-modules permanent; + rewrite ^/blog/10-years-working-full-time-drupal/?$ /blog/10-years-working-full-time-drupal-php permanent; + rewrite ^/blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent; + rewrite ^/blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; + rewrite ^/blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio/?$ /blog/using-imagecache-and-imagecrop-my-portfolio permanent; + rewrite ^/blog/2010/05/06/conditional-email-addresses-webform/?$ /blog/conditional-email-addresses-webform permanent; + rewrite ^/blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile/?$ /blog/quickly-create-zen-subthemes-using-zenophile permanent; + rewrite ^/blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide/?$ /blog/create-slideshow-multiple-images-using-fancy-slide permanent; + rewrite ^/blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module/?$ /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent; + rewrite ^/blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi/?$ /blog/improve-jpg-quality-imagecache-and-imageapi permanent; + rewrite ^/blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue/?$ /blog/create-block-social-media-icons-using-cck-views-and-nodequeue permanent; + rewrite ^/blog/2010/06/25/10-useful-drupal-6-modules/?$ /blog/10-useful-drupal-6-modules permanent; + rewrite ^/blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views/?$ /blog/create-flickr-photo-gallery-using-feeds-cck-and-views permanent; + rewrite ^/blog/2010/07/01/change-content-type-multiple-nodes-using-sql/?$ /blog/change-content-type-multiple-nodes-using-sql permanent; + rewrite ^/blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx/?$ /blog/create-virtual-hosts-mac-os-x-using-virtualhostx permanent; + rewrite ^/blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql/?$ /blog/add-taxonomy-term-multiple-nodes-using-sql permanent; + rewrite ^/blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql/?$ /blog/add-taxonomy-term-multiple-nodes-using-sql permanent; + rewrite ^/blog/2010/07/12/overview-teleport-module/?$ /blog/review-teleport-module permanent; + rewrite ^/blog/2010/07/12/review-teleport-module/?$ /blog/review-teleport-module permanent; + rewrite ^/blog/2010/08/10/review-adminhover-module/?$ /blog/review-adminhover-module permanent; + rewrite ^/blog/2010/08/11/create-better-photo-gallery-drupal-part-1/?$ /blog/create-better-photo-gallery-drupal-part-1 permanent; + rewrite ^/blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1/?$ /blog/create-better-photo-gallery-drupal-part-1 permanent; + rewrite ^/blog/2010/08/17/create-better-photo-gallery-drupal-part-2/?$ /blog/create-better-photo-gallery-drupal-part-2 permanent; + rewrite ^/blog/2010/08/20/review-image-caption-module/?$ /blog/review-image-caption-module permanent; + rewrite ^/blog/2010/09/26/south-wales-drupal-user-group/?$ /blog/south-wales-drupal-user-group permanent; + rewrite ^/blog/2010/10/10/create-and-apply-patches/?$ /blog/create-and-apply-patches permanent; + rewrite ^/blog/2010/10/13/create-better-photo-gallery-drupal-part-3/?$ /blog/create-better-photo-gallery-drupal-part-3 permanent; + rewrite ^/blog/2010/10/22/create-better-photo-gallery-drupal-part-21/?$ /blog/create-better-photo-gallery-drupal-part-21 permanent; + rewrite ^/blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate/?$ /blog/use-regular-expressions-search-and-replace-coda-or-textmate permanent; + rewrite ^/blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website/?$ /blog/easily-embed-typekit-fonts-your-drupal-website permanent; + rewrite ^/blog/2011/03/15/display-number-facebook-fans-php/?$ /blog/display-number-facebook-fans-php permanent; + rewrite ^/blog/2011/03/31/proctor-stevenson/?$ /blog/proctor-stevenson permanent; + rewrite ^/blog/2011/05/20/proctors-hosting-next-drupal-meetup/?$ /blog/proctors-hosting-next-drupal-meetup permanent; + rewrite ^/blog/2011/05/23/imagefield-import-archive/?$ /blog/imagefield-import-archive permanent; + rewrite ^/blog/2011/08/28/create-multigroups-drupal-7-using-field-collections/?$ /blog/create-multigroups-drupal-7-using-field-collections permanent; + rewrite ^/blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu/?$ /blog/install-and-configure-subversion-svn-server-ubuntu permanent; + rewrite ^/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu/?$ /blog/how-install-configure-subversion-svn-server-ubuntu permanent; + rewrite ^/blog/2012/01/04/site-upgraded-drupal-7/?$ /blog/site-upgraded-drupal-7 permanent; + rewrite ^/blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection/?$ /blog/use-authorized-keys-create-passwordless-ssh-connection permanent; + rewrite ^/blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush/?$ /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush permanent; + rewrite ^/blog/2012/04/17/installing-nagios-centos/?$ /blog/installing-nagios-centos permanent; + rewrite ^/blog/2012/04/19/adding-custom-theme-templates-drupal-7/?$ /blog/adding-custom-theme-templates-drupal-7 permanent; + rewrite ^/blog/2012/04/adding-custom-theme-templates-drupal-7/?$ /blog/adding-custom-theme-templates-drupal-7 permanent; + rewrite ^/blog/2012/05/23/add-date-popup-calendar-custom-form/?$ /blog/add-date-popup-calendar-custom-form permanent; + rewrite ^/blog/2012/05/23/checkout-specific-revision-svn-command-line/?$ /blog/checkout-specific-revision-svn-command-line permanent; + rewrite ^/blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess permanent; + rewrite ^/blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; + rewrite ^/blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser/?$ /blog/prevent-apache-displaying-text-files-within-web-browser permanent; + rewrite ^/blog/2012/05/23/writing-info-file-drupal-7-theme/?$ /blog/writing-info-file-drupal-7-theme permanent; + rewrite ^/blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files/?$ /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent; + rewrite ^/blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; + rewrite ^/blog/2012/07/12/my-new-drupal-modules/?$ /blog/my-new-drupal-modules permanent; + rewrite ^/blog/2012/07/14/install-nomensa-media-player-drupal/?$ /blog/install-nomensa-media-player-drupal permanent; + rewrite ^/blog/2012/07/27/writing-article-linux-journal/?$ /blog/writing-article-linux-journal permanent; + rewrite ^/blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal/?$ /blog/install-configure-nomensa-accessible-media-player-drupal permanent; + rewrite ^/blog/2012/07/nomensa-accessible-media-player-drupal/?$ /blog/install-configure-nomensa-accessible-media-player-drupal permanent; + rewrite ^/blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file/?$ /blog/display-custom-menu-drupal-7-theme-template-file permanent; + rewrite ^/blog/2012/09/06/reflections-speaking-unifieddiff/?$ /blog/reflections-speaking-unifieddiff permanent; + rewrite ^/blog/2012/10/25/my-sublime-text-2-settings/?$ /blog/my-sublime-text-2-settings permanent; + rewrite ^/blog/2012/11/15/accessible-bristol-site-launched/?$ /blog/accessible-bristol-site-launched permanent; + rewrite ^/blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line/?$ /blog/open-sublime-text-2-mac-os-x-command-line permanent; + rewrite ^/blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy/?$ /blog/use-sass-and-compass-drupal-7-using-sassy permanent; + rewrite ^/blog/2012/12/use-sass-and-compass-drupal-7-using-sassy/?$ /blog/use-sass-and-compass-drupal-7-using-sassy permanent; + rewrite ^/blog/2013/01/09/checking-if-user-logged-drupal-right-way/?$ /blog/checking-if-user-logged-drupal-right-way permanent; + rewrite ^/blog/2013/02/16/creating-and-using-custom-tokens-drupal-7/?$ /blog/creating-and-using-custom-tokens-drupal-7 permanent; + rewrite ^/blog/2013/02/creating-and-using-custom-tokens-drupal-7/?$ /blog/creating-using-custom-tokens-drupal-7 permanent; + rewrite ^/blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu/?$ /blog/quickest-way-install-sublime-text-2-ubuntu permanent; + rewrite ^/blog/2013/04/20/leaving-nomensa-joining-precedent/?$ /blog/leaving-nomensa-joining-precedent permanent; + rewrite ^/blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt/?$ /blog/display-git-branch-or-tag-names-your-bash-prompt permanent; + rewrite ^/blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt/?$ /blog/display-git-branch-or-tag-names-your-bash-prompt permanent; + rewrite ^/blog/2013/06/13/some-useful-links-using-simpletest-drupal/?$ /blog/some-useful-links-using-simpletest-drupal permanent; + rewrite ^/blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled/?$ /blog/creating-local-and-staging-sites-drupals-domain-module-enabled permanent; + rewrite ^/blog/2013/07/26/going-drupalcon/?$ /blog/going-drupalcon permanent; + rewrite ^/blog/2013/09/06/create-a-zen-sub-theme-using-drush/?$ /blog/create-a-zen-sub-theme-using-drush permanent; + rewrite ^/blog/2013/09/create-zen-sub-theme-using-drush/?$ /blog/create-zen-sub-theme-using-drush permanent; + rewrite ^/blog/2013/11/19/dont-bootstrap-drupal-use-drush/?$ /blog/dont-bootstrap-drupal-use-drush permanent; + rewrite ^/blog/2013/11/27/useful-vagrant-commands/?$ /blog/useful-vagrant-commands permanent; + rewrite ^/blog/2013/11/dont-bootstrap-drupal-use-drush/?$ /blog/dont-bootstrap-drupal-use-drush permanent; + rewrite ^/blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget/?$ /blog/quickly-apply-patches-using-git-and-curl-or-wget permanent; + rewrite ^/blog/2013/12/31/download-different-versions-drupal-drush/?$ /blog/download-different-versions-drupal-drush permanent; + rewrite ^/blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent; + rewrite ^/blog/2014/01/15/some-useful-git-aliases/?$ /blog/some-useful-git-aliases permanent; + rewrite ^/blog/2014/02/09/drupalcamp-london-2014/?$ /blog/drupalcamp-london-2014 permanent; + rewrite ^/blog/2014/03/03/what-git-flow/?$ /blog/what-git-flow permanent; + rewrite ^/blog/2014/05/03/drupal-association/?$ /blog/drupal-association permanent; + rewrite ^/blog/2014/05/06/thanks/?$ /blog/thanks permanent; + rewrite ^/blog/2014/05/21/git-format-patch/?$ /blog/git-format-patch permanent; + rewrite ^/blog/2014/07/02/drush-make-drupalbristol/?$ /blog/drush-make-drupalbristol permanent; + rewrite ^/blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine/?$ /blog/fix-vagrant-loading-wrong-virtual-machine permanent; + rewrite ^/blog/2014/10/21/updating-features-and-adding-components-using-drush/?$ /blog/updating-features-and-adding-components-using-drush permanent; + rewrite ^/blog/2014/11/18/include-css-fonts-using-sass-each-loop/?$ /blog/include-css-fonts-using-sass-each-loop permanent; + rewrite ^/blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module/?$ /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module permanent; + rewrite ^/blog/2014/11/27/pantheon-settings-files/?$ /blog/pantheon-settings-files permanent; + rewrite ^/blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides/?$ /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent; + rewrite ^/blog/2015/04/03/how-to-define-a-minimum-drupal-core-version/?$ /blog/how-to-define-a-minimum-drupal-core-version permanent; + rewrite ^/blog/2015/06/18/updating-forked-repositories-on-github/?$ /blog/updating-forked-repositories-on-github permanent; + rewrite ^/blog/2015/07/19/sculpin-twig-resources/?$ /blog/sculpin-twig-resources permanent; + rewrite ^/blog/2015/07/21/automating-sculpin-jenkins/?$ /blog/automating-sculpin-jenkins permanent; + rewrite ^/blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7/?$ /blog/programmatically-load-an-entityform-in-drupal-7 permanent; + rewrite ^/blog/2016/02/15/announcing-the-drupal-vm-generator/?$ /blog/announcing-the-drupal-vm-generator permanent; + rewrite ^/blog/2016/05/03/simplifying-drupal-migrations-with-xautoload/?$ /blog/simplifying-drupal-migrations-with-xautoload permanent; + rewrite ^/blog/2016/07/15/building-gmail-filters-with-php/?$ /blog/building-gmail-filters-with-php permanent; + rewrite ^/blog/2016/12/30/drupal-vm-generator-291-released/?$ /blog/drupal-vm-generator-291-released permanent; + rewrite ^/blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts/?$ /blog/easier-sculpin-commands-with-composer-and-npm-scripts permanent; + rewrite ^/blog/2017/01/31/nginx-redirects-with-query-string-arguments/?$ /blog/nginx-redirects-with-query-string-arguments permanent; + rewrite ^/blog/2017/05/05/fixing-drupal-simpletest-docker/?$ /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers permanent; + rewrite ^/blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers/?$ /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent; + rewrite ^/blog/2017/05/20/turning-drupal-module-into-feature/?$ /blog/turning-your-custom-drupal-module-feature permanent; + rewrite ^/blog/2017/06/09/introducing-the-drupal-meetups-twitterbot/?$ /blog/introducing-the-drupal-meetups-twitterbot permanent; + rewrite ^/blog/2017/07/13/publishing-sculpin-sites-with-github-pages/?$ /blog/publishing-sculpin-sites-github-pages permanent; + rewrite ^/blog/2017/11/07/tdd-test-driven-drupal/?$ /blog/tdd-test-driven-drupal permanent; + rewrite ^/blog/2017/11/07/writing-drupal-module-test-driven-development-tdd/?$ /blog/2017/11/07/tdd-test-driven-drupal permanent; + rewrite ^/blog/2018/01/30/drupalcamp-bristol-2018/?$ /blog/drupalcamp-bristol-2018 permanent; + rewrite ^/blog/2018/02/05/using-tailwind-css-in-your-drupal-theme/?$ /blog/using-tailwind-css-in-your-drupal-theme permanent; + rewrite ^/blog/2018/02/27/looking-forward-to-drupalcamp-london/?$ /blog/looking-forward-to-drupalcamp-london permanent; + rewrite ^/blog/2018/02/27/queuing-private-messages-in-drupal-8/?$ /blog/queuing-private-messages-in-drupal-8 permanent; + rewrite ^/blog/2018/02/28/building-the-new-phpsw-website/?$ /blog/building-the-new-phpsw-website permanent; + rewrite ^/blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back/?$ /blog/yay-the-mediacurrent-contrib-half-hour-is-back permanent; + rewrite ^/blog/2018/03/04/tweets-from-drupalcamp-london/?$ /blog/tweets-from-drupalcamp-london permanent; + rewrite ^/blog/2018/04/23/back-to-the-future-git-diff-apply/?$ /blog/back-future-gits-diff-apply-commands permanent; + rewrite ^/blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal/?$ /blog/creating-a-custom-phpunit-command-for-docksal permanent; + rewrite ^/blog/add-date-popup-calendar-custom-form/?$ /blog/how-add-date-popup-calendar-custom-form permanent; + rewrite ^/blog/adding-methods-decorating-entity-metadata-wrapper/?$ /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent; + rewrite ^/blog/announcing-drupal-vm-generator/?$ /blog/announcing-the-drupal-vm-generator permanent; + rewrite ^/blog/announcing-the-drupal-vm-config-generator/?$ /blog/announcing-the-drupal-vm-generator permanent; + rewrite ^/blog/back-to-the-future-git-diff-apply/?$ /blog/back-future-gits-diff-apply-commands permanent; + rewrite ^/blog/building-gmail-filters-in-php/?$ /blog/building-gmail-filters-php permanent; + rewrite ^/blog/building-new-phpsw-website/?$ /blog/building-the-new-phpsw-website permanent; + rewrite ^/blog/building-presentation-slides-reveal-js-tailwind-css/?$ /blog/building-presentation-slides-rst2pdf permanent; + rewrite ^/blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony/?$ /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony permanent; + rewrite ^/blog/create-and-apply-patches/?$ /blog/how-create-apply-patches permanent; + rewrite ^/blog/create-flickr-photo-gallery-using-feeds-cck-and-views/?$ /blog/create-flickr-photo-gallery-using-feeds-cck-views permanent; + rewrite ^/blog/creating-and-using-custom-tokens-drupal-7/?$ /blog/creating-using-custom-tokens-drupal-7 permanent; + rewrite ^/blog/creating-custom-docksal-commands/?$ /blog/creating-custom-phpunit-command-docksal permanent; + rewrite ^/blog/debugging-drupal-commerce-promotions-illiminate-collections/?$ /blog/debugging-drupal-commerce-illuminate-collections permanent; + rewrite ^/blog/decorating-entity-metadata-wrapper-add-add-refactor-methods/?$ /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent; + rewrite ^/blog/dev-book-club-refactoring-chapter-1/?$ /blog/dev-book-club-notes-refactoring-chapter-1 permanent; + rewrite ^/blog/dividing-drupals-process-preprocess-functions-separate-files/?$ /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent; + rewrite ^/blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout/?$ /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout permanent; + rewrite ^/blog/drupal-vm-generator-291-released/?$ /blog/drupal-vm-generator-updates permanent; + rewrite ^/blog/drupalcamp-london-2019-tickets/?$ /blog/drupalcamp-london-2019-tickets-available-call-sessions permanent; + rewrite ^/blog/drush-make-drupalbristol/?$ /talks/drush-make-drupalbristol permanent; + rewrite ^/blog/easier-git-repository-cloning-with-insteadof/?$ /blog/easier-git-repository-cloning-insteadof permanent; + rewrite ^/blog/easier-sculpin-commands-with-composer-and-npm-scripts/?$ /blog/easier-sculpin-commands-composer-npm-scripts permanent; + rewrite ^/blog/editing-meetup-videos-kdenlive/?$ /blog/editing-meetup-videos-linux-kdenlive permanent; + rewrite ^/blog/examples-of-laravel-collections-in-drupal/?$ /blog/using-laravel-collections-drupal permanent; + rewrite ^/blog/experimenting-with-events-in-drupal-8/?$ /blog/experimenting-events-drupal-8 permanent; + rewrite ^/blog/fix-vagrant-loading-wrong-virtual-machine/?$ /blog/how-fix-vagrant-loading-wrong-virtual-machine permanent; + rewrite ^/blog/fixing-drupal-simpletest-docker/?$ /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent; + rewrite ^/blog/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; + rewrite ^/blog/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; + rewrite ^/blog/git-format-patch/?$ /blog/git-format-patch-your-friend permanent; + rewrite ^/blog/how-easily-embed-typekit-fonts-your-drupal-website/?$ /blog/easily-embed-typekit-fonts-your-drupal-website permanent; + rewrite ^/blog/how-split-new-drupal-contrib-project-within-another-repository/?$ /blog/splitting-new-drupal-project-from-repo permanent; + rewrite ^/blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; + rewrite ^/blog/include-local-drupal-settings-file-environment-configuration-overrides/?$ /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent; + rewrite ^/blog/install-and-configure-subversion-svn-server-ubuntu/?$ /blog/how-install-configure-subversion-svn-server-ubuntu permanent; + rewrite ^/blog/live-blogging-symfonylive-london/?$ /blog/live-blogging-symfonylive-london-2019 permanent; + rewrite ^/blog/minimum-core-version/?$ /blog/how-define-minimum-drupal-core-version permanent; + rewrite ^/blog/nginx-redirects-with-query-string-arguments/?$ /blog/nginx-redirects-query-string-arguments permanent; + rewrite ^/blog/null-users-and-system-users-in-drupal/?$ /blog/null-users-system-users-drupal permanent; + rewrite ^/blog/overridding-phpcs-configuration-drupal-ci/?$ /blog/overriding-phpcs-configuration-drupal-ci permanent; + rewrite ^/blog/pantheon-settings-files/?$ /blog/include-environment-specific-settings-files-pantheon permanent; + rewrite ^/blog/pdfpc-pdf-presenter-console-notes/?$ /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console permanent; + rewrite ^/blog/php-apps-subdirectory-nginx/?$ /blog/how-put-your-php-application-subdirectory-another-site-nginx permanent; + rewrite ^/blog/presenting-tailwind-css-ansible-cms-philly/?$ /blog/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent; + rewrite ^/blog/programmatically-load-(an-)?entityform-(in-)?drupal-7/?$ /blog/entityform permanent; + rewrite ^/blog/published-my-first-docker-images-docker-hub/?$ /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf permanent; + rewrite ^/blog/publishing-sculpin-sites-(with-)?github-pages/?$ /blog/publishing-sculpin-sites-github-pages permanent; + rewrite ^/blog/queuing-private-messages-in-drupal-8/?$ /blog/queuing-private-messages-drupal-8 permanent; + rewrite ^/blog/quick-project-switching-in-phpstorm/?$ /blog/quick-project-switching-phpstorm permanent; + rewrite ^/blog/quickly-apply-patches-using-git-and-curl-or-wget/?$ /blog/quickly-apply-patches-using-git-curl-or-wget permanent; + rewrite ^/blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2/?$ /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent; + rewrite ^/blog/rebuilding-bartik-with-vuejs-tailwind-css/?$ /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent; + rewrite ^/blog/rebuilding-uis-tailwind-css/?$ /blog/uis-ive-rebuilt-tailwind-css permanent; + rewrite ^/blog/restructuring-my-tailwindjs-config-files/?$ /blog/restructuring-my-tailwindjs-configuration-files permanent; + rewrite ^/blog/retrieving-profile-data-user-using-entity-metadata-wrapper/?$ /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent; + rewrite ^/blog/running-drupal-with-symfony-local-server/?$ /blog/running-drupal-88-symfony-local-server permanent; + rewrite ^/blog/running-phpunit-tests-docksal-phpstorm/?$ /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm permanent; + rewrite ^/blog/simplifying-drupal-migrations-with-xautoload/?$ /blog/simplifying-drupal-migrations-xautoload permanent; + rewrite ^/blog/speaking-drupalcon-barcelona-2020/?$ /blog/speaking-drupalcon-europe-2020 permanent; + rewrite ^/blog/speaking-during-lockdown/?$ /blog/speaking-remotely-during-covid-19 permanent; + rewrite ^/blog/speaking-remotely-during-lockdown/?$ /blog/speaking-remotely-during-covid-19 permanent; + rewrite ^/blog/style-drupal-6s-taxonomy-lists-php-css-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent; + rewrite ^/blog/survey-results-my-drupalcon-europe-session/?$ /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal permanent; + rewrite ^/blog/system-users-null-users/?$ /blog/null-users-and-system-users-in-drupal permanent; + rewrite ^/blog/test-driven-drupal-gitstore-leanpub/?$ /blog/test-driven-drupal-on-gitstore-leanpub permanent; + rewrite ^/blog/test-driven-drupal-presentation-drupalcon-europe-0/?$ /blog/test-driven-drupal-presentation-drupalcon-europe permanent; + rewrite ^/blog/test-driven-drupal-session-drupalcon-europe/?$ /blog/test-driven-drupal-presentation-drupalcon-europe permanent; + rewrite ^/blog/test-driven-drupal-session-video-drupalcon-europe/?$ /blog/test-driven-drupal-presentation-drupalcon-europe permanent; + rewrite ^/blog/testing-tailwind-css-plugins-with-jest/?$ /blog/testing-tailwind-css-plugins-jest permanent; + rewrite ^/blog/testing-tailwindcss-plugins-with-jest/?$ /blog/testing-tailwind-css-plugins-jest permanent; + rewrite ^/blog/tweets-from-drupalcamp-london/?$ /blog/tweets-drupalcamp-london permanent; + rewrite ^/blog/updating-features-and-adding-components-using-drush/?$ /blog/updating-features-adding-components-using-drush permanent; + rewrite ^/blog/updating-forked-repositories-github/?$ /blog/updating-forked-github-repos permanent; + rewrite ^/blog/use-regular-expressions-search-and-replace-coda-or-textmate/?$ /blog/use-regular-expressions-search-replace-coda-or-textmate permanent; + rewrite ^/blog/using-environment-variables-settings-docksal/?$ /blog/how-use-environment-variables-your-drupal-settings-docksal permanent; + rewrite ^/blog/using-psr-4-autoloading-your-drupal-7-test-cases/?$ /blog/psr4-autoloading-test-cases-drupal-7 permanent; + rewrite ^/blog/using-tailwind-css-in-your-drupal-theme/?$ /blog/using-tailwind-css-your-drupal-theme permanent; + rewrite ^/blog/using-the-pcss-extension-postcss-webpack-encore/?$ /blog/using-pcss-extension-postcss-webpack-encore permanent; + rewrite ^/blog/weeknotes-june-5th/?$ /blog/weeknotes-2021-06-05 permanent; + rewrite ^/blog/writing-drupal-module-test-driven-development-tdd/?$ /blog/writing-new-drupal-8-module-using-test-driven-development-tdd permanent; + rewrite ^/book/?$ /test-driven-drupal permanent; + rewrite ^/calendars?/?$ https://savvycal.com/opdavies permanent; + rewrite ^/cms-philly/?$ /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent; + rewrite ^/code-enigma-interview/?$ https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent; + rewrite ^/consulting/?$ / permanent; + rewrite ^/contrib-half-hour/?$ https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent; + rewrite ^/d0P5z/?$ /talks/drupal-8-php-libraries-drupalorg-api permanent; + rewrite ^/d7/?$ /drupal7 permanent; + rewrite ^/dcbristol-cfp/?$ https://www.papercall.io/drupalcamp-bristol-2019 permanent; + rewrite ^/dcbristol17-videos/?$ https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA permanent; + rewrite ^/dcbristol19-announced/?$ /articles/drupalcamp-bristol-2019-speakers-sessions-announced permanent; + rewrite ^/dclondon-sat/?$ https://drupalcamp.london/schedule/saturday permanent; + rewrite ^/dclondon-sun/?$ https://drupalcamp.london/schedule/sunday permanent; + rewrite ^/dclondon20/?$ /articles/drupalcamp-london-testing-workshop permanent; + rewrite ^/ddev-phpunit-command/?$ /blog/creating-custom-phpunit-command-ddev permanent; + rewrite ^/deploying-php-ansible/?$ /talks/deploying-php-ansible-ansistrano permanent; + rewrite ^/dks7E/?$ https://www.youtube.com/watch?v=PLS4ET7FAcU permanent; + rewrite ^/do-library/?$ https://github.com/opdavies/drupalorg-api-php permanent; + rewrite ^/do-projects/?$ https://github.com/opdavies/drupal-module-drupalorg-projects permanent; + rewrite ^/docksal-phpunit-phpstorm/?$ /articles/running-phpunit-tests-docksal-phpstorm permanent; + rewrite ^/docksal-posts/?$ /articles/tags/docksal permanent; + rewrite ^/dransible-drupal-9/?$ /blog/upgrading-dransible-project-drupal-9 permanent; + rewrite ^/dransible/?$ https://github.com/opdavies/dransible permanent; + rewrite ^/drupal-bristol-march-19/?$ https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent; + rewrite ^/drupal-consultant/?$ /drupal-consulting permanent; + rewrite ^/drupal-consulting/?$ / permanent; + rewrite ^/drupal-core-live-stream/?$ https://www.youtube.com/watch?v=OK4FWwh1gQU permanent; + rewrite ^/drupal-core-testing-gate/?$ https://www.drupal.org/core/gates#testing permanent; + rewrite ^/drupal-first-time-issues/?$ https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent; + rewrite ^/drupal-forum-post/?$ http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 permanent; + rewrite ^/drupal-marketplace-uk/?$ https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent; + rewrite ^/drupal-meetups-twitterbot/?$ /articles/introducing-the-drupal-meetups-twitterbot permanent; + rewrite ^/drupal-novice-issues/?$ https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent; + rewrite ^/drupal-php-developer-consultant-uk/?$ /drupal-php-developer permanent; + rewrite ^/drupal-php-developer/?$ /drupal-consultant permanent; + rewrite ^/drupal-tailwind-demo/?$ https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent; + rewrite ^/drupal-tailwindcss/?$ https://www.drupal.org/project/tailwindcss permanent; + rewrite ^/drupal-vuejs/?$ /talks/decoupling-drupal-vuejs/ permanent; + rewrite ^/drupal7/?$ /drupal-upgrade permanent; + rewrite ^/drupalcamp-london-2019-tickets/?$ /articles/drupalcamp-london-2019-tickets permanent; + rewrite ^/drupalcamp-nyc-training/?$ https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent; + rewrite ^/drupalorg-project-issues/?$ https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent; + rewrite ^/drupalorg/?$ https://www.drupal.org/u/opdavies permanent; + rewrite ^/drupalversary/?$ https://github.com/opdavies/drupal-module-drupalversary permanent; + rewrite ^/elewant/?$ https://elewant.com/shepherd/admire/opdavies permanent; + rewrite ^/feed/?$ /rss.xml permanent; + rewrite ^/first-drupal-core-issue/?$ https://www.drupal.org/project/drupal/issues/753898 permanent; + rewrite ^/first-npm-package/?$ https://www.npmjs.com/package/tailwindcss-vuejs permanent; + rewrite ^/freeagent/?$ https://opdavies.freeagent.com permanent; + rewrite ^/git-flow/?$ /talks/git-flow permanent; + rewrite ^/gitlab/?$ https://gitlab.com/opdavies permanent; + rewrite ^/gitstore/?$ https://enjoy.gitstore.app/maintainers/opdavies permanent; + rewrite ^/gmail-filters/?$ https://gitlab.com/opdavies/gmail-filters permanent; + rewrite ^/images/me-precedent.jpg/?$ /sites/default/files/images/social-avatar.jpg permanent; + rewrite ^/inviqa-tailwind-demo/?$ https://play.tailwindcss.com/Yfmw8O5UNN permanent; + rewrite ^/inviqa-tailwind-notes/?$ https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 permanent; + rewrite ^/join-php-south-wales-slack/?$ https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA permanent; + rewrite ^/jy6rW/?$ https://www.meetup.com/PHP-South-Wales/events/264731393 permanent; + rewrite ^/kB6Jd/?$ /articles/running-drupal-with-symfony-local-server/ permanent; + rewrite ^/kmDRA/?$ https://www.bbc.co.uk/news/uk-46561779 permanent; + rewrite ^/leeds-php-drupal-9/?$ https://www.meetup.com/leedsphp/events/272504993 permanent; + rewrite ^/live/?$ https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ permanent; + rewrite ^/npm/?$ https://www.npmjs.com/~opdavies permanent; + rewrite ^/oFlkS/?$ /articles/test-driven-drupal-on-gitstore-leanpub permanent; + rewrite ^/oliver-davies-uk-based-drupal-symfony-developer/?$ /oliver-davies-uk-based-drupal-php-developer permanent; + rewrite ^/pair-programming/?$ /pair permanent; + rewrite ^/pair-with-me/?$ /pair permanent; + rewrite ^/pairing/?$ /pair permanent; + rewrite ^/php-ansible/?$ /talks/deploying-php-ansible-ansistrano permanent; + rewrite ^/qSHAl/?$ /articles/published-my-first-npm-package/ permanent; + rewrite ^/qT1Rb/?$ https://github.com/opdavies/drupal-meetups-twitterbot permanent; + rewrite ^/rebuilding-acquia/?$ https://rebuilding-acquia.oliverdavies.uk permanent; + rewrite ^/rebuilding-bartik/?$ /articles/rebuilding-bartik-with-vuejs-tailwind-css permanent; + rewrite ^/rebuilding-bristol-js/?$ https://github.com/opdavies/rebuilding-bristol-js permanent; + rewrite ^/rebuilding-pantheon/?$ https://play.tailwindcss.com/LND98XihGI?layout=horizontal permanent; + rewrite ^/rebuilding-platformsh/?$ https://rebuilding-platformsh.oliverdavies.uk permanent; + rewrite ^/rebuilding-symfony/?$ https://github.com/opdavies/rebuilding-symfony permanent; + rewrite ^/rk29B/?$ https://www.meetup.com/PHP-South-Wales/events/268422525 permanent; + rewrite ^/roadmap/?$ /drupal-upgrade permanent; + rewrite ^/rss/?$ /rss.xml permanent; + rewrite ^/rst2pdf/?$ /talks/building-presenting-slide-decks-rst2pdf permanent; + rewrite ^/s9MjJ/?$ https://symfonycasts.com/screencast/symfony permanent; + rewrite ^/sculpin-encore-versioning/?$ https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent; + rewrite ^/sculpin/?$ /talks/building-static-websites-sculpin permanent; + rewrite ^/sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent; + rewrite ^/skills/?$ https://opdavies-skills-tailwindcss.netlify.com/ permanent; + rewrite ^/slides-drupal-9/?$ https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent; + rewrite ^/slides-upgrading-to-drupal-9/?$ https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent; + rewrite ^/slides-upgrading-to-drupal-9/index.html/?$ https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent; + rewrite ^/slides-working-with-workspace/?$ https://slides-working-with-workspace.oliverdavies.uk permanent; + rewrite ^/speaker-info/?$ /speaker permanent; + rewrite ^/speaker-information/?$ /speaker permanent; + rewrite ^/speaker/?$ /press permanent; + rewrite ^/speaking-videos/?$ https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent; + rewrite ^/stream/?$ https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent; + rewrite ^/subscription/?$ / permanent; + rewrite ^/swap-markdown-parser/?$ https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent; + rewrite ^/symfony-server/?$ /articles/running-drupal-with-symfony-local-server permanent; + rewrite ^/symfony/?$ https://connect.symfony.com/profile/opdavies permanent; + rewrite ^/symfonylive/?$ /articles/live-blogging-symfonylive-london permanent; + rewrite ^/symposium/?$ https://symposiumapp.com/u/opdavies permanent; + rewrite ^/tailwind-css-talk/?$ /talks/taking-flight-tailwind-css permanent; + rewrite ^/tailwind-repos/?$ https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent; + rewrite ^/tailwind-talk/?$ /talks/taking-flight-with-tailwind-css permanent; + rewrite ^/tailwindcss-demo/?$ http://tailwindcss-demo.oliverdavies.uk/ permanent; + rewrite ^/talks-offer-tweet/?$ https://twitter.com/opdavies/status/1250870367712935938 permanent; + rewrite ^/talks/2012/09/05/what-is-this-drupal-thing-unified-diff/?$ /talks/what-is-this-drupal-thing permanent; + rewrite ^/talks/2013/07/10/drupal-ldap-swdug/?$ /talks/drupal-ldap permanent; + rewrite ^/talks/2014/03/01/git-flow-drupalcamp-london-2014/?$ /talks/git-flow permanent; + rewrite ^/talks/2014/07/02/drush-make-drupalbristol-drupal-bristol/?$ /talks/drush-make-drupalbristol permanent; + rewrite ^/talks/2014/08/19/drupal-association-swdug/?$ /talks/drupal-association permanent; + rewrite ^/talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015/?$ /talks/drupalorg-in-2015-whats-coming-next permanent; + rewrite ^/talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015/?$ /talks/drupalorg-in-2015-whats-coming-next permanent; + rewrite ^/talks/2015/04/08/drupal-8-phpsw/?$ /talks/drupal-8 permanent; + rewrite ^/talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015/?$ /talks/test-drive-twig-with-sculpin permanent; + rewrite ^/talks/2015/08/25/dancing-for-drupal-umbristol/?$ /talks/dancing-for-drupal permanent; + rewrite ^/talks/2015/10/14/sculpin-phpsw/?$ /talks/sculpin permanent; + rewrite ^/talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016/?$ /talks/getting-started-with-drupal-8-module-development permanent; + rewrite ^/talks/2016/03/09/drupal-vm-generator-nwdug/?$ /talks/drupal-vm-generator permanent; + rewrite ^/talks/2016/04/02/drupal-vm-generator-drupal-bristol/?$ /talks/drupal-vm-generator permanent; + rewrite ^/talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016/?$ /talks/drupal-8-rejoining-the-herd permanent; + rewrite ^/talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016/?$ /talks/drupal-vm-meet-symfony-console permanent; + rewrite ^/talks/2016/11/09/drupal-development-with-composer-phpsw/?$ /talks/drupal-development-with-composer permanent; + rewrite ^/talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol/?$ /talks/goodbye-drush-make-hello-composer permanent; + rewrite ^/talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol/?$ /talks/getting-your-data-into-drupal-8 permanent; + rewrite ^/talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017/?$ /talks/getting-your-data-into-drupal-8 permanent; + rewrite ^/talks/ansible-ansistrano/?$ https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano permanent; + rewrite ^/talks/deploying-php-applications-fabric/?$ /talks/deploying-php-fabric permanent; + rewrite ^/talks/deploying-php-applications-with-fabric/?$ /talks/deploying-php-fabric permanent; + rewrite ^/talks/drupal-vm-generator-2/?$ /talks/drupal-vm-generator permanent; + rewrite ^/talks/drupalorg-2015-2/?$ /talks/drupalorg-2015 permanent; + rewrite ^/talks/drupalorg-in-2015-whats-coming-next/?$ /talks/drupalorg-2015 permanent; + rewrite ^/talks/getting-started-with-drupal-8-module-development/?$ /drupal-8-module-development permanent; + rewrite ^/talks/having-fun-drupal-8-php-libraries-drupalorg-api/?$ /talks/drupal-8-php-libraries-drupalorg-api permanent; + rewrite ^/talks/never-commit-master-introduction-git-flow/?$ /talks/git-flow permanent; + rewrite ^/talks/sculpin/?$ /talks/building-static-websites-sculpin permanent; + rewrite ^/talks/tailwind/?$ /talks/taking-flight-with-tailwind-css/ permanent; + rewrite ^/talks/taking-flight-tailwind-css/?$ /talks/taking-flight-with-tailwind-css permanent; + rewrite ^/talks/using-laravel-collections-outside-laravel/?$ /talks/using-illuminate-collections-outside-laravel permanent; + rewrite ^/talks/working-workspace/?$ /talks/working-with-workspace permanent; + rewrite ^/tdd-blog/?$ https://github.com/opdavies/drupal-module-tdd-blog permanent; + rewrite ^/tdd-test-driven-drupal/?$ /talks/tdd-test-driven-drupal/ permanent; + rewrite ^/team-coaching/?$ / permanent; + rewrite ^/test-driven-drupal-book/?$ /test-driven-drupal permanent; + rewrite ^/testing-drupal-intro/?$ https://inviqa.com/blog/drupal-automated-testing-introduction permanent; + rewrite ^/testing-drupal/?$ https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent; + rewrite ^/testing-tailwind-plugins/?$ /articles/testing-tailwindcss-plugins-with-jest permanent; + rewrite ^/testing-workshop-code/?$ https://github.com/opdavies/workshop-drupal-automated-testing-code permanent; + rewrite ^/testing-workshop/?$ https://github.com/opdavies/workshop-drupal-automated-testing permanent; + rewrite ^/todoist-filters/?$ https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent; + rewrite ^/twitter-tweaks/?$ https://github.com/opdavies/chrome-extension-twitter-tweaks permanent; + rewrite ^/upgrading-to-drupal-9/?$ /talks/upgrading-your-site-drupal-9 permanent; + rewrite ^/uxbjV/?$ https://www.drupal.org/project/copyright_block permanent; + rewrite ^/vyTEF/?$ https://www.npmjs.com/package/tailwindcss-vuejs permanent; + rewrite ^/webpack-encore-pcss-regex/?$ https://regexr.com/51iaf permanent; + rewrite ^/wordcamp-bristol-tailwindcss/?$ https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css permanent; + rewrite ^/wordpress-tailwind/?$ https://github.com/opdavies/wordcamp-bristol-2019 permanent; + rewrite ^/work/?$ /drupal-php-developer permanent; + rewrite ^/working-with-workspace/?$ /talks/working-with-workspace permanent; + rewrite ^/workshop-drupal-testing/?$ https://github.com/opdavies/workshop-drupal-automated-testing permanent; + rewrite ^/workspace-demo/?$ https://github.com/opdavies/working-with-workspace-demo permanent; + rewrite ^/wp-tailwind-repo/?$ https://github.com/opdavies/wordcamp-bristol-2019 permanent; + rewrite ^/wp-tailwind-starter/?$ https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent; + rewrite ^/wp-tailwind-static/?$ https://wp-tailwind.oliverdavies.uk permanent; + rewrite ^/wp-tailwind/?$ https://wp-tailwind.oliverdavies.uk permanent; + rewrite ^/yXhoS/?$ /talks/things-you-should-know-about-php permanent; + + rewrite ^/talks/archive/?$ /talks permanent; + rewrite ^/talks/(.*)$ /presentations/$1 permanent; + rewrite ^/talks/?$ /presentations permanent; + + # Remove trailing slashes. + rewrite ^/(.*)/$ /$1 permanent; + ''; + + locations."/".tryFiles = "$uri $uri.html $uri/index.html =404"; + }; + + "oliverdavies.uk" = { + enableACME = true; + forceSSL = true; + globalRedirect = "www.oliverdavies.uk"; + }; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix new file mode 100644 index 00000000..174ed196 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix @@ -0,0 +1,7 @@ +{ + services.nginx.virtualHosts."zet.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/zet.oliverdavies.uk/output_prod"; + }; +} From 9a32f612f288899878ca0079706f25254784c9c5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 14:18:55 +0000 Subject: [PATCH 1144/2258] Update vhost path --- nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix index df32f4f9..d40ce4b3 100644 --- a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix @@ -3,7 +3,7 @@ "www.oliverdavies.uk" = { useACMEHost = "oliverdavies.uk"; forceSSL = true; - root = "/var/www/vhosts/www.oliverdavies.uk/output_prod"; + root = "/var/www/vhosts/www.oliverdavies.uk-sculpin/output_prod"; extraConfig = '' error_page 404 /404; From 8454dbe891be08d6699c72fa655560c1775f2a07 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 16:27:09 +0000 Subject: [PATCH 1145/2258] Add packages --- nix/hosts/hetznix/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 081c585b..51fdb46f 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -31,6 +31,9 @@ environment.systemPackages = map lib.lowPrio [ pkgs.curl pkgs.gitMinimal + pkgs.tree + pkgs.vim + pkgs.wget ]; users.users.root.openssh.authorizedKeys.keys = [ From eef952c8c07cf9b1d195421be05b569d321d82ab Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 16:27:39 +0000 Subject: [PATCH 1146/2258] Add tome.oliverdavies.uk --- nix/hosts/hetznix/modules/acme.nix | 1 + nix/hosts/hetznix/modules/nginx/default.nix | 1 + .../nginx/vhosts/tome.oliverdavies.uk.nix | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/acme.nix b/nix/hosts/hetznix/modules/acme.nix index 837e401d..84af43f1 100644 --- a/nix/hosts/hetznix/modules/acme.nix +++ b/nix/hosts/hetznix/modules/acme.nix @@ -17,6 +17,7 @@ "rebuilding-symfony.oliverdavies.uk" "tailwindcss-demo.oliverdavies.uk" "talking-drupal-tailwindcss.oliverdavies.uk" + "tome.oliverdavies.uk" "wp-tailwind.oliverdavies.uk" "www.oliverdavies.uk" "zet.oliverdavies.uk" diff --git a/nix/hosts/hetznix/modules/nginx/default.nix b/nix/hosts/hetznix/modules/nginx/default.nix index 0c19d6ce..b4e7d114 100644 --- a/nix/hosts/hetznix/modules/nginx/default.nix +++ b/nix/hosts/hetznix/modules/nginx/default.nix @@ -15,6 +15,7 @@ ./vhosts/rebuilding-symfony.oliverdavies.uk.nix ./vhosts/tailwindcss-demo.oliverdavies.uk.nix ./vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix + ./vhosts/tome.oliverdavies.uk.nix ./vhosts/wp-tailwind.oliverdavies.uk.nix ./vhosts/www.oliverdavies.uk.nix ./vhosts/zet.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix new file mode 100644 index 00000000..ef416343 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix @@ -0,0 +1,18 @@ +{ + services.nginx.virtualHosts."tome.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/www.oliverdavies.uk-drupal"; + + locations."/" = { + tryFiles = "$uri $uri/ $uri.html $uri/index.html =404"; + extraConfig = '' + rewrite ^/(.*[^/])/$ /$1 permanent; + ''; + }; + + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} From b2dd905f82ff801b77075715a6f47f626a1fcfcd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 16:28:26 +0000 Subject: [PATCH 1147/2258] Focus follows the mouse --- nix/modules/nixos/i3.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 0a906908..5d843939 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -59,8 +59,6 @@ in defaultWorkspace = "workspace number 1"; - focus.followMouse = false; - modifier = modifier; keybindings = inputs.nixpkgs.lib.mkOptionDefault { From c9fd07295fa809216cd5cd86d7094a19c5263600 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 16:28:37 +0000 Subject: [PATCH 1148/2258] Open copyq in a floating window --- nix/modules/nixos/i3.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 5d843939..92675496 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -106,6 +106,7 @@ in smart_borders on smart_gaps on + for_window [class="copyq"] floating enable for_window [class="zoom"] floating enable # xprop | grep -i class ''; From fed132e2c38da8b2645b592c6da50087afe37501 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 16:29:08 +0000 Subject: [PATCH 1149/2258] Update todo.txt --- todo.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.txt b/todo.txt index 4c7f6585..01f179af 100644 --- a/todo.txt +++ b/todo.txt @@ -2,3 +2,5 @@ Use nixosModules and homeManagerModules outputs in flake.nix to simplify importi Use nginx for jellyfin, immich and gitea Add daily script Add create-podcast-tasks script +Add vaultwarden for password management +Replace doppler with agenix From d79350f36a66fb72a19c6ae6cef5e9486316f669 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 19:24:55 +0000 Subject: [PATCH 1150/2258] Remove reference to treesitter-context --- nvim/after/ftplugin/markdown.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/nvim/after/ftplugin/markdown.lua b/nvim/after/ftplugin/markdown.lua index 28f92e53..bbd678ca 100644 --- a/nvim/after/ftplugin/markdown.lua +++ b/nvim/after/ftplugin/markdown.lua @@ -1,5 +1,3 @@ -- TODO: Interim fix for https://github.com/nvim-treesitter/nvim-treesitter-context/issues/431. -require("treesitter-context").disable() - vim.opt_local.spell = true vim.opt_local.wrap = true From ec2767adfb6667184f884080a4f9b5d2a388a03d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 29 Nov 2024 22:32:54 +0000 Subject: [PATCH 1151/2258] Remove taskwarrior --- nix/hosts/lemp11/configuration.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 5d95b080..477bbb92 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -175,9 +175,6 @@ fastfetch mermaid-cli mkcert - taskopen - taskwarrior3 - taskwarrior-tui ttyper yt-dlp ytfzf From 818ecfa618e85fe46fd82fe9b7c70603c62829f5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 30 Nov 2024 13:22:40 +0000 Subject: [PATCH 1152/2258] Remove kanata --- nix/modules/nixos/default.nix | 1 - nix/modules/nixos/kanata.nix | 42 ----------------------------------- 2 files changed, 43 deletions(-) delete mode 100644 nix/modules/nixos/kanata.nix diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index 760682d6..28ce9167 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -7,7 +7,6 @@ ./features/homelab ./fonts.nix ./i3.nix - ./kanata.nix ./rofi.nix ./rsnapshot.nix ./xbanish.nix diff --git a/nix/modules/nixos/kanata.nix b/nix/modules/nixos/kanata.nix deleted file mode 100644 index c82b9637..00000000 --- a/nix/modules/nixos/kanata.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - services.kanata = { - enable = true; - - keyboards = { - internalKeyboard = { - devices = [ - "/dev/input/event18" # lemp11 - ]; - - extraDefCfg = "process-unmapped-keys yes"; - - config = '' - (defsrc - caps a s d f j k l ; - ) - - (defvar - tap-time 150 - hold-time 200 - ) - - (defalias - escctrl (tap-hold 100 100 esc lctl) - a (tap-hold $tap-time $hold-time a lmet) - s (tap-hold $tap-time $hold-time s lalt) - d (tap-hold $tap-time $hold-time d lctl) - f (tap-hold $tap-time $hold-time f lsft) - j (tap-hold $tap-time $hold-time j rsft) - k (tap-hold $tap-time $hold-time k lctl) - l (tap-hold $tap-time $hold-time l ralt) - ; (tap-hold $tap-time $hold-time ; rmet) - ) - - (deflayer base - @escctrl @a @s @d @f @j @k @l @; - ) - ''; - }; - }; - }; -} From e09de22f4bce0c5a7e33ae21e63b8de2dc87ae1b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 30 Nov 2024 20:41:07 +0000 Subject: [PATCH 1153/2258] Make handbrake configurable --- nix/home/opdavies/default.nix | 1 - nix/home/opdavies/hosts/lemp11.nix | 1 + .../features/desktop/media/default.nix | 1 + .../features/desktop/media/handbrake.nix | 14 ++++++++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 nix/modules/home-manager/features/desktop/media/handbrake.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 5aa18c31..678f3e06 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -61,7 +61,6 @@ in [ build-glove80 gscan2pdf - handbrake meslo-lg notify-battery obs-studio diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index 93870f6f..7b25100d 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -17,6 +17,7 @@ media = { gimp.enable = true; + handbrake.enable = true; kdenlive.enable = true; pocket-casts.enable = true; mpv.enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/default.nix b/nix/modules/home-manager/features/desktop/media/default.nix index 0bd4055f..80f8f994 100644 --- a/nix/modules/home-manager/features/desktop/media/default.nix +++ b/nix/modules/home-manager/features/desktop/media/default.nix @@ -1,6 +1,7 @@ { imports = [ ./gimp.nix + ./handbrake.nix ./kdenlive.nix ./mpv.nix ./pocket-casts.nix diff --git a/nix/modules/home-manager/features/desktop/media/handbrake.nix b/nix/modules/home-manager/features/desktop/media/handbrake.nix new file mode 100644 index 00000000..412b9fae --- /dev/null +++ b/nix/modules/home-manager/features/desktop/media/handbrake.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.media.handbrake.enable = lib.mkEnableOption "Enable handbrake"; + + config = lib.mkIf config.features.desktop.media.handbrake.enable { + home.packages = with pkgs; [ handbrake ]; + }; +} From 842ce007ff59716c8b59bb432167d857b833ce98 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 30 Nov 2024 22:33:45 +0000 Subject: [PATCH 1154/2258] Reverse all fzf lists by default --- nix/modules/home-manager/features/cli/fzf.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/modules/home-manager/features/cli/fzf.nix b/nix/modules/home-manager/features/cli/fzf.nix index 983fc8dc..23795361 100644 --- a/nix/modules/home-manager/features/cli/fzf.nix +++ b/nix/modules/home-manager/features/cli/fzf.nix @@ -3,4 +3,8 @@ enable = true; enableZshIntegration = true; }; + + home.sessionVariables = { + FZF_DEFAULT_OPTS = "--reverse"; + }; } From bac14a8cb1937c5d1796b0bda4021d345d5ed413 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 30 Nov 2024 23:07:37 +0000 Subject: [PATCH 1155/2258] Set i3 colours --- nix/modules/nixos/i3.nix | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 92675496..1fc2b3fa 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -57,6 +57,48 @@ in ]; }; + colors = { + focused = { + border = "#444444"; + background = "#555555"; + text = "#ffffff"; + indicator = "#dddddd"; + childBorder = "#444444"; + }; + + focusedInactive = { + border = "#222222"; + background = "#333333"; + text = "#888888"; + indicator = "#292d2e"; + childBorder = "#222222"; + }; + + placeholder = { + border = "#000000"; + background = "#0c0c0c"; + text = "#ffffff"; + indicator = "#000000"; + childBorder = "#0c0c0c"; + }; + + unfocused = { + border = "#222222"; + background = "#111111"; + text = "#888888"; + indicator = "#292d2e"; + childBorder = "#222222"; + }; + + urgent = { + border = "#2f343a"; + background = "#900000"; + text = "#ffffff"; + indicator = "#900000"; + childBorder = "#900000"; + }; + }; + defaultWorkspace = "workspace number 1"; modifier = modifier; @@ -114,6 +156,36 @@ in config = { bars = [ { + colors = { + background = "#222222"; + separator = "#333333"; + statusline = "#ffffff"; + + bindingMode = { + background = "#900000"; + border = "#2f343a"; + text = "#ffffff"; + }; + + focusedWorkspace = { + background = "#555555"; + border = "#444444"; + text = "#ffffff"; + }; + + inactiveWorkspace = { + background = "#333333"; + border = "#222222"; + text = "#888888"; + }; + + urgentWorkspace = { + background = "#900000"; + border = "#2f343a"; + text = "#ffffff"; + }; + }; + position = "bottom"; statusCommand = "${pkgs.i3status}/bin/i3status"; trayOutput = "none"; From 7e102e35556147d7779ea219b86ad54360c648fc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 30 Nov 2024 23:11:06 +0000 Subject: [PATCH 1156/2258] Enable the mouse in Neovim I already have it enabled in i3, tmux, etc, so why not in Vim? --- nvim/lua/opdavies/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvim/lua/opdavies/options.lua b/nvim/lua/opdavies/options.lua index 0c5d1d1c..4702b287 100644 --- a/nvim/lua/opdavies/options.lua +++ b/nvim/lua/opdavies/options.lua @@ -16,7 +16,7 @@ local settings = { laststatus = 3, linebreak = true, list = true, - mouse = "", + mouse = "a", number = true, pumblend = 10, pumheight = 10, From f034bb62f75349dac7939dcab6bfe163684546c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 2 Dec 2024 22:33:08 +0000 Subject: [PATCH 1157/2258] Add luke.oliverdavies.uk --- nix/hosts/hetznix/modules/acme.nix | 1 + nix/hosts/hetznix/modules/nginx/default.nix | 1 + .../modules/nginx/vhosts/luke.oliverdavies.uk.nix | 11 +++++++++++ 3 files changed, 13 insertions(+) create mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/acme.nix b/nix/hosts/hetznix/modules/acme.nix index 84af43f1..742e26a1 100644 --- a/nix/hosts/hetznix/modules/acme.nix +++ b/nix/hosts/hetznix/modules/acme.nix @@ -10,6 +10,7 @@ "2020.oliverdavies.uk" "bootstrap-with-tailwind.oliverdavies.uk" "florida-drupalcamp-tailwind-css.oliverdavies.uk" + "luke.oliverdavies.uk" "phpsw-sculpin-demo.oliverdavies.uk" "rebuilding-acquia.oliverdavies.uk" "rebuilding-bartik.oliverdavies.uk" diff --git a/nix/hosts/hetznix/modules/nginx/default.nix b/nix/hosts/hetznix/modules/nginx/default.nix index b4e7d114..f924ce90 100644 --- a/nix/hosts/hetznix/modules/nginx/default.nix +++ b/nix/hosts/hetznix/modules/nginx/default.nix @@ -8,6 +8,7 @@ ./vhosts/2020.oliverdavies.uk.nix ./vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix ./vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix + ./vhosts/luke.oliverdavies.uk.nix ./vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix ./vhosts/rebuilding-acquia.oliverdavies.uk.nix ./vhosts/rebuilding-bartik.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix new file mode 100644 index 00000000..88c14d86 --- /dev/null +++ b/nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix @@ -0,0 +1,11 @@ +{ + services.nginx.virtualHosts."luke.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + forceSSL = true; + root = "/var/www/vhosts/luke.oliverdavies.uk"; + + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }; +} From 3acd73f6a2e19eadcc16baf22afad5dfad5e049b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 2 Dec 2024 22:34:00 +0000 Subject: [PATCH 1158/2258] Update spellfile --- nvim/spell/en.utf-8.add | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index 6adb91b9..d3004f95 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -99,6 +99,7 @@ hotfix isNotPublished isPublished localhost +macOS mentees nixpkgs nodeStorage From ed50cf8f1eb783681f083e307bdd793ca080a462 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 5 Dec 2024 19:33:06 +0000 Subject: [PATCH 1159/2258] Tweak Alacritty settings --- nix/modules/home-manager/features/desktop/alacritty.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index e3bda687..656ce56f 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -24,8 +24,8 @@ in }; window.padding = { - x = 15; - y = 15; + x = 10; + y = 10; }; font = { @@ -34,8 +34,6 @@ in bold.style = "Regular"; normal.family = "${theme.fonts.monospace.name}"; - offset.y = 6; - glyph_offset.y = 3; }; terminal.shell = { From ca9c039575af6b1ae1f012664c917ac8e317d859 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 5 Dec 2024 19:33:06 +0000 Subject: [PATCH 1160/2258] Update flake.lock file dependencies --- flake.lock | 30 +++++++++---------- nix/lib/theme/default.nix | 14 ++------- .../features/desktop/alacritty.nix | 12 ++------ nix/modules/nixos/fonts.nix | 25 +++------------- nix/modules/nixos/i3.nix | 2 -- 5 files changed, 23 insertions(+), 60 deletions(-) diff --git a/flake.lock b/flake.lock index 2c8d824c..8f8a5c70 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1732645828, - "narHash": "sha256-+4U2I2653JvPFxcux837ulwYS864QvEueIljUkwytsk=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "869ba3a87486289a4197b52a6c9e7222edf00b3e", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1732025103, - "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "lastModified": 1733175814, + "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "rev": "bf23fe41082aa0289c209169302afd3397092f22", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1731797098, - "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", + "lastModified": 1733139194, + "narHash": "sha256-PVQW9ovo0CJbhuhCsrhFJGGdD1euwUornspKpBIgdok=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", + "rev": "c6c90887f84c02ce9ebf33b95ca79ef45007bf88", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1733015953, + "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", "type": "github" }, "original": { @@ -75,11 +75,11 @@ }, "nixpkgs-2405": { "locked": { - "lastModified": 1731797254, - "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", + "lastModified": 1733016324, + "narHash": "sha256-8qwPSE2g1othR1u4uP86NXxm6i7E9nHPyJX3m3lx7Q4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", + "rev": "7e1ca67996afd8233d9033edd26e442836cc2ad6", "type": "github" }, "original": { diff --git a/nix/lib/theme/default.nix b/nix/lib/theme/default.nix index e8c934fc..a23f823d 100644 --- a/nix/lib/theme/default.nix +++ b/nix/lib/theme/default.nix @@ -1,12 +1,2 @@ -{ pkgs, ... }: -{ - fonts = { - monospace = { - name = "MesloLGSDZ Nerd Font Mono"; - # fc-list : family | sort | grep "Nerd Font" - - package = pkgs.nerdfonts.override { fonts = [ "Meslo" ]; }; - size = "10"; - }; - }; -} +# TODO Remove this file. +{ ... }: { } diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 656ce56f..52fc7226 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -1,16 +1,9 @@ { config, lib, - pkgs, - self, ... }: -let - inherit (lib) strings; - inherit (strings) toInt; - theme = import "${self}/nix/lib/theme" { inherit pkgs; }; -in { options.features.desktop.alacritty.enable = lib.mkEnableOption "Enable Alacritty"; @@ -29,11 +22,10 @@ in }; font = { - size = toInt "${theme.fonts.monospace.size}"; + size = 14; bold.style = "Regular"; - normal.family = "${theme.fonts.monospace.name}"; - + normal.family = "JetBrainsMono Nerd Font Mono"; }; terminal.shell = { diff --git a/nix/modules/nixos/fonts.nix b/nix/modules/nixos/fonts.nix index 8bf189d4..712fd567 100644 --- a/nix/modules/nixos/fonts.nix +++ b/nix/modules/nixos/fonts.nix @@ -4,33 +4,16 @@ let theme = import ../../lib/theme { inherit pkgs; }; in { - environment.systemPackages = with pkgs; [ - terminus_font - terminus_font_ttf - ]; - fonts = { fontconfig = { enable = true; defaultFonts = { - monospace = [ theme.fonts.monospace.name ]; + # monospace = []; }; }; - packages = - with pkgs; - [ - (nerdfonts.override { - fonts = [ - "AnonymousPro" - "FiraCode" - "GeistMono" - "IntelOneMono" - "Iosevka" - "JetBrainsMono" - ]; - }) - ] - ++ [ theme.fonts.monospace.package ]; + packages = with pkgs; [ + nerd-fonts.jetbrains-mono + ]; }; } diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 1fc2b3fa..35323ac8 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -192,8 +192,6 @@ in } ]; - fonts.names = [ "${theme.fonts.monospace.name}" ]; - gaps = { smartBorders = "on"; smartGaps = true; From 1b2095eb99a2077d72a91a2d675a7f9a670c595e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 5 Dec 2024 19:33:06 +0000 Subject: [PATCH 1161/2258] Add peek --- nix/hosts/lemp11/default.nix | 1 + .../home-manager/features/desktop/alacritty.nix | 4 ++-- nix/modules/nixos/features/desktop/default.nix | 5 ++++- nix/modules/nixos/features/desktop/peek.nix | 14 ++++++++++++++ nix/modules/nixos/fonts.nix | 6 ++---- 5 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 nix/modules/nixos/features/desktop/peek.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index ff53014d..66b79531 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -6,6 +6,7 @@ desktop = { gaming.enable = true; + peek.enable = true; }; homelab = { diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 52fc7226..27715559 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -22,10 +22,10 @@ }; font = { - size = 14; + size = 12; bold.style = "Regular"; - normal.family = "JetBrainsMono Nerd Font Mono"; + normal.family = "Terminess Nerd Font Mono"; }; terminal.shell = { diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix index 819761e5..80157252 100644 --- a/nix/modules/nixos/features/desktop/default.nix +++ b/nix/modules/nixos/features/desktop/default.nix @@ -1,3 +1,6 @@ { - imports = [ ./screenkey.nix ]; + imports = [ + ./peek.nix + ./screenkey.nix + ]; } diff --git a/nix/modules/nixos/features/desktop/peek.nix b/nix/modules/nixos/features/desktop/peek.nix new file mode 100644 index 00000000..da593d7e --- /dev/null +++ b/nix/modules/nixos/features/desktop/peek.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.desktop.peek.enable = lib.mkEnableOption "Enable peek"; + + config = lib.mkIf config.features.desktop.peek.enable { + environment.systemPackages = with pkgs; [ peek ]; + }; +} diff --git a/nix/modules/nixos/fonts.nix b/nix/modules/nixos/fonts.nix index 712fd567..5cf7f6c7 100644 --- a/nix/modules/nixos/fonts.nix +++ b/nix/modules/nixos/fonts.nix @@ -1,19 +1,17 @@ { pkgs, ... }: -let - theme = import ../../lib/theme { inherit pkgs; }; -in { fonts = { fontconfig = { enable = true; defaultFonts = { - # monospace = []; + monospace = [ "Terminess Nerd Font" ]; }; }; packages = with pkgs; [ nerd-fonts.jetbrains-mono + nerd-fonts.terminess-ttf ]; }; } From 8be04fdab9c3e1a38213421099488f06ecc13b59 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 5 Dec 2024 19:33:06 +0000 Subject: [PATCH 1162/2258] Update spellfile --- nvim/spell/en.utf-8.add | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index d3004f95..831ce81b 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -32,9 +32,12 @@ Gitea HDN HashiCorp Hetzner +Homelab +Immich InvalidArgumentException Inviqa JSON +Jellyfin Kickstart Lando Laravel @@ -74,9 +77,11 @@ Symfony TODO TermInterface Themers +Traefik TypeScript Ubercart VSCode +Vaultwarden WCAG WSL Wellbeing From 1696b70be8f9e9e041359e46ea6602f04f384855 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 5 Dec 2024 19:33:06 +0000 Subject: [PATCH 1163/2258] Revert "Set i3 colours" This reverts commit bac14a8cb1937c5d1796b0bda4021d345d5ed413. --- nix/modules/nixos/i3.nix | 72 ---------------------------------------- 1 file changed, 72 deletions(-) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 35323ac8..c6d2690f 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -57,48 +57,6 @@ in ]; }; - colors = { - focused = { - border = "#444444"; - background = "#555555"; - text = "#ffffff"; - indicator = "#dddddd"; - childBorder = "#444444"; - }; - - focusedInactive = { - border = "#222222"; - background = "#333333"; - text = "#888888"; - indicator = "#292d2e"; - childBorder = "#222222"; - }; - - placeholder = { - border = "#000000"; - background = "#0c0c0c"; - text = "#ffffff"; - indicator = "#000000"; - childBorder = "#0c0c0c"; - }; - - unfocused = { - border = "#222222"; - background = "#111111"; - text = "#888888"; - indicator = "#292d2e"; - childBorder = "#222222"; - }; - - urgent = { - border = "#2f343a"; - background = "#900000"; - text = "#ffffff"; - indicator = "#900000"; - childBorder = "#900000"; - }; - }; - defaultWorkspace = "workspace number 1"; modifier = modifier; @@ -156,36 +114,6 @@ in config = { bars = [ { - colors = { - background = "#222222"; - separator = "#333333"; - statusline = "#ffffff"; - - bindingMode = { - background = "#900000"; - border = "#2f343a"; - text = "#ffffff"; - }; - - focusedWorkspace = { - background = "#555555"; - border = "#444444"; - text = "#ffffff"; - }; - - inactiveWorkspace = { - background = "#333333"; - border = "#222222"; - text = "#888888"; - }; - - urgentWorkspace = { - background = "#900000"; - border = "#2f343a"; - text = "#ffffff"; - }; - }; - position = "bottom"; statusCommand = "${pkgs.i3status}/bin/i3status"; trayOutput = "none"; From 5a9353ad173ead7b0a56bcdf16aa60dc313fe232 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 6 Dec 2024 12:18:38 +0000 Subject: [PATCH 1164/2258] Update tmux-sessionizer --- nix/lib/shared/scripts/t.nix | 64 +++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 22 deletions(-) diff --git a/nix/lib/shared/scripts/t.nix b/nix/lib/shared/scripts/t.nix index ce6767ff..1daa2b43 100644 --- a/nix/lib/shared/scripts/t.nix +++ b/nix/lib/shared/scripts/t.nix @@ -3,37 +3,57 @@ { name = "t"; - runtimeInputs = with pkgs; [ - openssl - tmux - ]; + runtimeInputs = with pkgs; [ tmux ]; text = '' - # Based on similar scripts by ThePrimeagen and Jess Archer. + # https://github.com/ThePrimeagen/tmux-sessionizer. + + switch_to() { + if [[ -z $TMUX ]]; then + tmux attach-session -t "$1" + else + tmux switch-client -t "$1" + fi + } + + has_session() { + tmux list-sessions | grep -q "^$1:" + } + + hydrate() { + if [ -f "$2/.tmux" ]; then + tmux send-keys -t "$1" "source $2/.tmux" Enter + elif [ -f "$2/.tmux-sessionizer" ]; then + tmux send-keys -t "$1" "source $2/.tmux-sessionizer" Enter + elif [ -f "$HOME/.tmux-sessionizer" ]; then + tmux send-keys -t "$1" "source $HOME/.tmux-sessionizer" Enter + fi + } if [[ $# -eq 1 ]]; then - selected_path=$1 + selected=$1 else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - items=$(find "$REPOS" "$REPOS/personal" "$REPOS/os" ~/Documents \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "_archive" \ - ! -name "*-old" \ - ! -name "*.old" \ - 2>/dev/null - ) - - selected_path=$(echo "''${items}" | sort | fzf) + selected=$(find ~/ ~/Code ~/Code/personal ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d | fzf) fi - session_name=$(basename "$selected_path" | sed 's/\./_/g') - - if tmux switch-client -t="$session_name" 2>/dev/null; then + if [[ -z "$selected" ]]; then exit 0 fi - ( (tmux new-session -c "$selected_path" -d -s "$session_name" && tmux switch-client -t "$session_name") 2>/dev/null ) || - tmux new-session -c "$selected_path" -A -s "$session_name" + selected_name="$(basename "$selected" | tr . _)" + tmux_running="$(pgrep tmux)" + + if [[ -z $TMUX ]] && [[ -z "$tmux_running" ]]; then + tmux new-session -s "$selected_name" -c "$selected" + hydrate "$selected_name" "$selected" + exit 0 + fi + + if ! has_session "$selected_name"; then + tmux new-session -ds "$selected_name" -c "$selected" + hydrate "$selected_name" "$selected" + fi + + switch_to "$selected_name" ''; } From 930473a896561624606d51b3bbe3af19abd56836 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 6 Dec 2024 12:38:40 +0000 Subject: [PATCH 1165/2258] Rename t to tmux-sessionizer This matches ThePrimeagen's script that mine is based on and that I'll probably switch to in the future. I've added to the Nix store as custom-tmux-sessionizer so it doesn't conflict with the tmux-sessionzer packages that's already in the store. --- nix/home/opdavies/hosts/PW05CH3L.nix | 1 + nix/home/opdavies/hosts/lemp11.nix | 1 + nix/lib/shared/home-manager-packages.nix | 2 -- .../home-manager/features/cli/default.nix | 9 ++++++ .../features/cli/tmux-sessionizer.nix | 32 +++++++++++++++++++ .../home-manager/features/cli/tmux.nix | 3 +- nix/modules/home-manager/features/cli/zsh.nix | 2 +- nix/pkgs/default.nix | 1 + .../t.nix => pkgs/tmux-sessionizer.nix} | 8 +++-- 9 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 nix/modules/home-manager/features/cli/tmux-sessionizer.nix rename nix/{lib/shared/scripts/t.nix => pkgs/tmux-sessionizer.nix} (89%) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 063122e1..a2f8c144 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -2,6 +2,7 @@ features = { cli = { direnv.enable = true; + tmux-sessionizer.enable = true; }; desktop = { diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index 7b25100d..bdabdaa1 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -5,6 +5,7 @@ cli = { bluetuith.enable = true; direnv.enable = true; + tmux-sessionizer.enable = true; }; desktop = { diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index c9efbb59..38c4d29c 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -17,7 +17,6 @@ let import ./scripts/export-video-list.nix { inherit pkgs username; } ); run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); - t = writeShellApplication (import ./scripts/t.nix { inherit pkgs; }); timer = writeShellApplication (import ./scripts/timer.nix); in with pkgs; @@ -69,7 +68,6 @@ with pkgs; # Scripts. deliver run - t ] ++ pkgs.lib.optionals desktop [ # Scripts. diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index cd1c7e0f..ccb07649 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -19,6 +19,15 @@ ; }) + (import ./tmux-sessionizer.nix { + inherit + config + lib + pkgs + self + ; + }) + ./bat.nix ./bin.nix ./bluetuith.nix diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix new file mode 100644 index 00000000..17e71c59 --- /dev/null +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -0,0 +1,32 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.features.cli.tmux-sessionizer.enable = lib.mkEnableOption "Enable tmux-sessionizer"; + + config = lib.mkIf config.features.cli.tmux-sessionizer.enable { + home.packages = with pkgs; [ custom-tmux-sessionizer ]; + + home.file.".tmux-sessionizer".source = "${ + pkgs.writeShellApplication { + name = ".tmux-sessionizer"; + + runtimeInputs = with pkgs; [ + tmux + ]; + + text = '' + set +o nounset + + tmux new-window -d -n scratch + nvim + clear + ''; + } + }/bin/.tmux-sessionizer"; + }; +} diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index 9dd8a10d..47b7055f 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -72,8 +72,7 @@ in set-option -g pane-active-border-style "fg=#1f2335" set-option -g pane-border-style "fg=#1f2335" - bind-key -r f run-shell "tmux new-window t" - + bind-key -r f run-shell "tmux new-window custom-tmux-sessionizer" if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index 3f7fbb3d..d82fa13d 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -56,7 +56,7 @@ zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit - bindkey -s ^f "t\n" + bindkey -s ^f "custom-tmux-sessionizer\n" bindkey -s ^v "nvim\n" clear-ls-all() { diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index e1aa5047..3325e495 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -5,6 +5,7 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; + custom-tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; notify-battery = callPackage ./notify-battery.nix { }; vimPlugins = prev.vimPlugins // { diff --git a/nix/lib/shared/scripts/t.nix b/nix/pkgs/tmux-sessionizer.nix similarity index 89% rename from nix/lib/shared/scripts/t.nix rename to nix/pkgs/tmux-sessionizer.nix index 1daa2b43..2ba93748 100644 --- a/nix/lib/shared/scripts/t.nix +++ b/nix/pkgs/tmux-sessionizer.nix @@ -1,12 +1,14 @@ { pkgs }: -{ - name = "t"; +pkgs.writeShellApplication { + name = "custom-tmux-sessionizer"; runtimeInputs = with pkgs; [ tmux ]; text = '' - # https://github.com/ThePrimeagen/tmux-sessionizer. + set +o nounset + + # Based on https://github.com/ThePrimeagen/tmux-sessionizer. switch_to() { if [[ -z $TMUX ]]; then From bab5f8f4a8c4d6f79ea7c2fd4850cf9eaa0b0af8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 6 Dec 2024 16:06:33 +0000 Subject: [PATCH 1166/2258] Fix occassional Neovim loading error --- flake.nix | 6 ------ .../home-manager/features/cli/neovim.nix | 18 ++++++------------ nvim/init.lua | 1 + nvim/lua/opdavies/init.lua | 2 -- 4 files changed, 7 insertions(+), 20 deletions(-) create mode 100644 nvim/init.lua diff --git a/flake.nix b/flake.nix index c2323f6c..51b1c7a7 100644 --- a/flake.nix +++ b/flake.nix @@ -41,16 +41,10 @@ }; inherit (pkgs) mkShell; - inherit (pkgs.vimUtils) buildVimPlugin; in { packages.${system} = { default = mkShell { buildInputs = with pkgs; [ bashInteractive ]; }; - - opdavies-nvim = buildVimPlugin { - name = "opdavies-nvim"; - src = ./nvim; - }; }; formatter.${system} = pkgs.nixfmt-rfc-style; diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 90fd61ac..30bb5234 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -1,8 +1,8 @@ { config, - inputs, lib, pkgs, + self, ... }: @@ -141,19 +141,8 @@ # Themes catppuccin-nvim - - # Configuration. - inputs.self.packages.${pkgs.system}.opdavies-nvim ]; - extraLuaConfig = '' - if vim.loader then - vim.loader.enable() - end - - require "opdavies" - ''; - extraPackages = with pkgs; [ # Languages nodePackages.typescript @@ -199,6 +188,11 @@ ]; }; + xdg.configFile.nvim = { + source = "${self}/nvim"; + recursive = true; + }; + home.file.".markdownlint.yaml".text = '' default: true diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 00000000..0437de40 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1 @@ +require "opdavies" diff --git a/nvim/lua/opdavies/init.lua b/nvim/lua/opdavies/init.lua index 7e5bc84d..64e71065 100644 --- a/nvim/lua/opdavies/init.lua +++ b/nvim/lua/opdavies/init.lua @@ -1,5 +1,3 @@ -pcall("require", impatient) - require "opdavies.globals" require "opdavies.keymaps" require "opdavies.options" From e6349b6c31c9f2ecca3e554f0ba5b1de2c20a685 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 7 Dec 2024 00:20:47 +0000 Subject: [PATCH 1167/2258] Just clear in certain directories --- nix/modules/home-manager/features/cli/tmux-sessionizer.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index 17e71c59..69d76536 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -22,6 +22,12 @@ text = '' set +o nounset + if [[ "$PWD" == "$REPOS/os" || "$PWD" == "$REPOS/personal" ]]; then + clear + + return + fi + tmux new-window -d -n scratch nvim clear From ccb9f7bf4b64b96ef185c2dc241f6d72d712b24d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 7 Dec 2024 02:37:01 +0000 Subject: [PATCH 1168/2258] Remove nitrogen --- nix/modules/nixos/i3.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index c6d2690f..2c7856b5 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -40,7 +40,6 @@ in environment.systemPackages = with pkgs; [ acpi libnotify - nitrogen ]; home-manager.users.${username} = { @@ -99,7 +98,6 @@ in bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable - exec_always --no-startup-id ${pkgs.nitrogen}/bin/nitrogen --restore & exec_always --no-startup-id caffeine exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change From 5f2d28285b7930ea6e04c581f9733b4792b37efa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 7 Dec 2024 02:37:01 +0000 Subject: [PATCH 1169/2258] Rename scratch to shell --- nix/modules/home-manager/features/cli/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index 69d76536..4aeba088 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -28,7 +28,7 @@ return fi - tmux new-window -d -n scratch + tmux new-window -d -n shell nvim clear ''; From aa75621f4c263d3a658f4c5cd4431f707eb151f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 8 Dec 2024 22:41:55 +0000 Subject: [PATCH 1170/2258] Disable animations --- nix/modules/home-manager/features/desktop/gtk.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix/modules/home-manager/features/desktop/gtk.nix b/nix/modules/home-manager/features/desktop/gtk.nix index 3042a56f..7644b6cb 100644 --- a/nix/modules/home-manager/features/desktop/gtk.nix +++ b/nix/modules/home-manager/features/desktop/gtk.nix @@ -21,6 +21,9 @@ name = "Arc"; package = pkgs.arc-icon-theme; }; + + gtk3.extraConfig.gtk-enable-animations = false; + gtk4.extraConfig.gtk-enable-animations = false; }; }; } From 0a4c0ee7a7f0cb74a2ef05eb5bc6a1f31dc1051a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 8 Dec 2024 22:42:14 +0000 Subject: [PATCH 1171/2258] Update spellfile --- nvim/spell/en.utf-8.add | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index 831ce81b..db518a17 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -8,6 +8,7 @@ BAU Behat Bitbucket Bluecheese +BrumPHP CMSes CTI Cachix From 5c0b31e49c48dc404c82c62a4b63f1498a110775 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 8 Dec 2024 22:42:30 +0000 Subject: [PATCH 1172/2258] Update fonts --- nix/modules/home-manager/features/desktop/alacritty.nix | 4 ++-- nix/modules/nixos/fonts.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 27715559..2b351a61 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -22,10 +22,10 @@ }; font = { - size = 12; + size = 10; bold.style = "Regular"; - normal.family = "Terminess Nerd Font Mono"; + normal.family = "JetBrainsMono Nerd Font Mono"; }; terminal.shell = { diff --git a/nix/modules/nixos/fonts.nix b/nix/modules/nixos/fonts.nix index 5cf7f6c7..88cfe39d 100644 --- a/nix/modules/nixos/fonts.nix +++ b/nix/modules/nixos/fonts.nix @@ -5,7 +5,7 @@ fontconfig = { enable = true; defaultFonts = { - monospace = [ "Terminess Nerd Font" ]; + monospace = [ "JetBrainsMono Nerd Font Mono" ]; }; }; From fc8925f4b2ea12b9ee2298694d9e532486f2f5bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 9 Dec 2024 16:25:58 +0000 Subject: [PATCH 1173/2258] Set keymaps after loading options Ensure `<leader>` is set in options.lua before settings keymaps in keymaps.lua. --- nvim/lua/opdavies/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvim/lua/opdavies/init.lua b/nvim/lua/opdavies/init.lua index 64e71065..0c5c7570 100644 --- a/nvim/lua/opdavies/init.lua +++ b/nvim/lua/opdavies/init.lua @@ -1,4 +1,4 @@ require "opdavies.globals" -require "opdavies.keymaps" require "opdavies.options" +require "opdavies.keymaps" require "opdavies.lsp" From 4f6202de81adc19c6ac6745ea92733bf64427a1f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 9 Dec 2024 16:27:07 +0000 Subject: [PATCH 1174/2258] Fix keymap --- nvim/lua/opdavies/keymaps.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvim/lua/opdavies/keymaps.lua b/nvim/lua/opdavies/keymaps.lua index a18aa8d2..d36ff26c 100644 --- a/nvim/lua/opdavies/keymaps.lua +++ b/nvim/lua/opdavies/keymaps.lua @@ -106,7 +106,7 @@ set("n", "<leader>et", function() end end) -set("n", "<leader>ec", ":edit composer.json") +set("n", "<leader>ec", ":edit composer.json<CR>") -- These mappings control the size of splits (height/width). set("n", "<M-,>", "<c-w>5<") From 04c32edb0418b97776805293110db96722968323 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 9 Dec 2024 21:04:03 +0000 Subject: [PATCH 1175/2258] Add tubearchivist Generated with compose2nix. --- nix/hosts/lemp11/default.nix | 1 + .../nixos/features/homelab/default.nix | 1 + .../homelab/tubearchivist-container.nix | 284 ++++++++++++++++++ 3 files changed, 286 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/tubearchivist-container.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 66b79531..6efb755e 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -13,6 +13,7 @@ gitea.enable = true; immich.enable = true; jellyfin.enable = true; + tubearchivist-container.enable = true; }; }; diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index d7742bab..ece76f98 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -3,5 +3,6 @@ ./gitea.nix ./immich.nix ./jellyfin.nix + ./tubearchivist-container.nix ]; } diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/tubearchivist-container.nix new file mode 100644 index 00000000..ba8dd32b --- /dev/null +++ b/nix/modules/nixos/features/homelab/tubearchivist-container.nix @@ -0,0 +1,284 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.features.homelab.tubearchivist-container; + + port = 8000; +in +{ + options.features.homelab.tubearchivist-container = { + enable = mkEnableOption "Enable the tubearchivist-container service."; + }; + + config = mkIf cfg.enable { + virtualisation.docker = { + enable = true; + autoPrune.enable = true; + }; + + virtualisation.oci-containers.backend = "docker"; + + virtualisation.oci-containers.containers."archivist-es" = { + image = "bbilly1/tubearchivist-es"; + + environment = { + "ELASTIC_PASSWORD" = "verysecret"; + "ES_JAVA_OPTS" = "-Xms1g -Xmx1g"; + "discovery.type" = "single-node"; + "path.repo" = "/usr/share/elasticsearch/data/snapshot"; + "xpack.security.enabled" = "true"; + }; + + volumes = [ + "tubearchivist_es:/usr/share/elasticsearch/data:rw" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=archivist-es" + "--network=tubearchivist_default" + ]; + }; + + systemd.services."docker-archivist-es" = { + serviceConfig = { + Restart = mkOverride 90 "always"; + RestartMaxDelaySec = mkOverride 90 "1m"; + RestartSec = mkOverride 90 "100ms"; + RestartSteps = mkOverride 90 9; + }; + + after = [ + "docker-network-tubearchivist_default.service" + "docker-volume-tubearchivist_es.service" + ]; + + requires = [ + "docker-network-tubearchivist_default.service" + "docker-volume-tubearchivist_es.service" + ]; + + partOf = [ + "docker-compose-tubearchivist-root.target" + ]; + + wantedBy = [ + "docker-compose-tubearchivist-root.target" + ]; + }; + + virtualisation.oci-containers.containers."archivist-redis" = { + image = "redis/redis-stack-server"; + + volumes = [ + "tubearchivist_redis:/data:rw" + ]; + + dependsOn = [ + "archivist-es" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=archivist-redis" + "--network=tubearchivist_default" + ]; + }; + + systemd.services."docker-archivist-redis" = { + serviceConfig = { + Restart = mkOverride 90 "always"; + RestartMaxDelaySec = mkOverride 90 "1m"; + RestartSec = mkOverride 90 "100ms"; + RestartSteps = mkOverride 90 9; + }; + + after = [ + "docker-network-tubearchivist_default.service" + "docker-volume-tubearchivist_redis.service" + ]; + + requires = [ + "docker-network-tubearchivist_default.service" + "docker-volume-tubearchivist_redis.service" + ]; + + partOf = [ + "docker-compose-tubearchivist-root.target" + ]; + + wantedBy = [ + "docker-compose-tubearchivist-root.target" + ]; + }; + + virtualisation.oci-containers.containers."tubearchivist" = { + image = "bbilly1/tubearchivist"; + + environment = { + "ELASTIC_PASSWORD" = "verysecret"; + "ES_URL" = "http://archivist-es:9200"; + "HOST_GID" = "1000"; + "HOST_UID" = "1000"; + "REDIS_HOST" = "archivist-redis"; + "TA_HOST" = "tubearchivist.local"; + "TA_PASSWORD" = "verysecret"; + "TA_USERNAME" = "tubearchivist"; + "TZ" = "America/New_York"; + }; + + volumes = [ + "tubearchivist_cache:/cache:rw" + "tubearchivist_media:/youtube:rw" + ]; + + ports = [ + "${toString port}:8000/tcp" + ]; + + dependsOn = [ + "archivist-es" + "archivist-redis" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--health-cmd=[\"curl\", \"-f\", \"http://localhost:8000/health\"]" + "--health-interval=2m0s" + "--health-retries=3" + "--health-start-period=30s" + "--health-timeout=10s" + "--network-alias=tubearchivist" + "--network=tubearchivist_default" + ]; + }; + + systemd.services."docker-tubearchivist" = { + serviceConfig = { + Restart = mkOverride 90 "always"; + RestartMaxDelaySec = mkOverride 90 "1m"; + RestartSec = mkOverride 90 "100ms"; + RestartSteps = mkOverride 90 9; + }; + + after = [ + "docker-network-tubearchivist_default.service" + "docker-volume-tubearchivist_cache.service" + "docker-volume-tubearchivist_media.service" + ]; + + requires = [ + "docker-network-tubearchivist_default.service" + "docker-volume-tubearchivist_cache.service" + "docker-volume-tubearchivist_media.service" + ]; + + partOf = [ + "docker-compose-tubearchivist-root.target" + ]; + + wantedBy = [ + "docker-compose-tubearchivist-root.target" + ]; + }; + + systemd.services."docker-network-tubearchivist_default" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f tubearchivist_default"; + }; + + script = '' + docker network inspect tubearchivist_default || docker network create tubearchivist_default + ''; + + partOf = [ "docker-compose-tubearchivist-root.target" ]; + wantedBy = [ "docker-compose-tubearchivist-root.target" ]; + }; + + systemd.services."docker-volume-tubearchivist_cache" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + docker volume inspect tubearchivist_cache || docker volume create tubearchivist_cache + ''; + + partOf = [ "docker-compose-tubearchivist-root.target" ]; + wantedBy = [ "docker-compose-tubearchivist-root.target" ]; + + }; + systemd.services."docker-volume-tubearchivist_es" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + docker volume inspect tubearchivist_es || docker volume create tubearchivist_es + ''; + + partOf = [ "docker-compose-tubearchivist-root.target" ]; + wantedBy = [ "docker-compose-tubearchivist-root.target" ]; + }; + + systemd.services."docker-volume-tubearchivist_media" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + docker volume inspect tubearchivist_media || docker volume create tubearchivist_media + ''; + + partOf = [ "docker-compose-tubearchivist-root.target" ]; + wantedBy = [ "docker-compose-tubearchivist-root.target" ]; + }; + + systemd.services."docker-volume-tubearchivist_redis" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + docker volume inspect tubearchivist_redis || docker volume create tubearchivist_redis + ''; + + partOf = [ "docker-compose-tubearchivist-root.target" ]; + wantedBy = [ "docker-compose-tubearchivist-root.target" ]; + }; + + systemd.targets."docker-compose-tubearchivist-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + + wantedBy = [ "multi-user.target" ]; + }; + }; +} From c01820a33bb84699a641f538fc8746cbed482c08 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 9 Dec 2024 22:35:34 +0000 Subject: [PATCH 1176/2258] Use agenix to encrypt secrets --- flake.lock | 110 ++++++++++++++++-- flake.nix | 2 + nix/hosts/lemp11/default.nix | 8 +- nix/hosts/lemp11/secrets.nix | 5 + .../homelab/tubearchivist-container.nix | 14 ++- nix/secrets/secrets.nix | 6 + nix/secrets/tubearchivist.age | 5 + 7 files changed, 137 insertions(+), 13 deletions(-) create mode 100644 nix/hosts/lemp11/secrets.nix create mode 100644 nix/secrets/secrets.nix create mode 100644 nix/secrets/tubearchivist.age diff --git a/flake.lock b/flake.lock index 8f8a5c70..19649355 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,48 @@ { "nodes": { + "agenix": { + "inputs": { + "darwin": "darwin", + "home-manager": "home-manager", + "nixpkgs": "nixpkgs", + "systems": "systems" + }, + "locked": { + "lastModified": 1723293904, + "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", + "owner": "ryantm", + "repo": "agenix", + "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", + "type": "github" + }, + "original": { + "owner": "ryantm", + "repo": "agenix", + "type": "github" + } + }, + "darwin": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700795494, + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -21,6 +64,27 @@ } }, "home-manager": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1703113217, + "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -59,15 +123,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733015953, - "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", - "owner": "nixos", + "lastModified": 1703013332, + "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", + "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -89,14 +153,46 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1733015953, + "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { + "agenix": "agenix", "disko": "disko", - "home-manager": "home-manager", + "home-manager": "home-manager_2", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-2405": "nixpkgs-2405" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 51b1c7a7..cd2267d2 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,8 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + agenix.url = "github:ryantm/agenix"; + disko = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/disko"; diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 6efb755e..9b7223c4 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -1,3 +1,5 @@ +{ inputs, ... }: + { features = { cli = { @@ -17,5 +19,9 @@ }; }; - imports = [ ./configuration.nix ]; + imports = [ + inputs.agenix.nixosModules.default + ./configuration.nix + ./secrets.nix + ]; } diff --git a/nix/hosts/lemp11/secrets.nix b/nix/hosts/lemp11/secrets.nix new file mode 100644 index 00000000..325699d8 --- /dev/null +++ b/nix/hosts/lemp11/secrets.nix @@ -0,0 +1,5 @@ +{ + age.secrets = { + tubearchivist.file = ../../secrets/tubearchivist.age; + }; +} diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/tubearchivist-container.nix index ba8dd32b..f8c1f518 100644 --- a/nix/modules/nixos/features/homelab/tubearchivist-container.nix +++ b/nix/modules/nixos/features/homelab/tubearchivist-container.nix @@ -29,13 +29,16 @@ in image = "bbilly1/tubearchivist-es"; environment = { - "ELASTIC_PASSWORD" = "verysecret"; "ES_JAVA_OPTS" = "-Xms1g -Xmx1g"; "discovery.type" = "single-node"; "path.repo" = "/usr/share/elasticsearch/data/snapshot"; "xpack.security.enabled" = "true"; }; + environmentFiles = [ + config.age.secrets.tubearchivist.path + ]; + volumes = [ "tubearchivist_es:/usr/share/elasticsearch/data:rw" ]; @@ -125,17 +128,18 @@ in image = "bbilly1/tubearchivist"; environment = { - "ELASTIC_PASSWORD" = "verysecret"; "ES_URL" = "http://archivist-es:9200"; "HOST_GID" = "1000"; "HOST_UID" = "1000"; "REDIS_HOST" = "archivist-redis"; "TA_HOST" = "tubearchivist.local"; - "TA_PASSWORD" = "verysecret"; - "TA_USERNAME" = "tubearchivist"; - "TZ" = "America/New_York"; + "TZ" = "Europe/London"; }; + environmentFiles = [ + config.age.secrets.tubearchivist.path + ]; + volumes = [ "tubearchivist_cache:/cache:rw" "tubearchivist_media:/youtube:rw" diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix new file mode 100644 index 00000000..31ab7798 --- /dev/null +++ b/nix/secrets/secrets.nix @@ -0,0 +1,6 @@ +let + lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; +in +{ + "tubearchivist.age".publicKeys = [ lemp11 ]; +} diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age new file mode 100644 index 00000000..565b9367 --- /dev/null +++ b/nix/secrets/tubearchivist.age @@ -0,0 +1,5 @@ +age-encryption.org/v1 +-> ssh-ed25519 sHhprA Cbb0hZFbjSm4+wohOIa0rrppM4aiCD2OBxua/UTzjgU +6E7zItGopz9VqRflgpJAC910cDZ9i85Mz7+PwvIsxPk +--- oBcUij9hrWy2ol4cLUFlWkFaS/w4byNu42nk3sI0ras +XvA-r|k~m!Ӗ <aAhƸ+NaqLE ސX($c̦4ϪY8c2_0U w*Cozb \ No newline at end of file From dbd0c993b3fc19e12d9f7b92a27439bf858df84b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 10 Dec 2024 00:10:36 +0000 Subject: [PATCH 1177/2258] Add nginx vhosts for self-hosted services --- nix/hosts/lemp11/default.nix | 3 +++ nix/hosts/lemp11/modules/nginx.nix | 12 ++++++++++++ .../features/homelab/tubearchivist-container.nix | 2 +- todo.txt | 1 - 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 nix/hosts/lemp11/modules/nginx.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 9b7223c4..bef11fd8 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -21,7 +21,10 @@ imports = [ inputs.agenix.nixosModules.default + ./configuration.nix ./secrets.nix + + ./modules/nginx.nix ]; } diff --git a/nix/hosts/lemp11/modules/nginx.nix b/nix/hosts/lemp11/modules/nginx.nix new file mode 100644 index 00000000..35d314e3 --- /dev/null +++ b/nix/hosts/lemp11/modules/nginx.nix @@ -0,0 +1,12 @@ +{ + services.nginx = { + enable = true; + + virtualHosts = { + "gitea.localhost".locations."/".proxyPass = "http://localhost:2222/"; + "immich.localhost".locations."/".proxyPass = "http://localhost:2283/"; + "jellyfin.localhost".locations."/".proxyPass = "http://localhost:8096/"; + "tubearchivist.localhost".locations."/".proxyPass = "http://localhost:8000/"; + }; + }; +} diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/tubearchivist-container.nix index f8c1f518..d944dc75 100644 --- a/nix/modules/nixos/features/homelab/tubearchivist-container.nix +++ b/nix/modules/nixos/features/homelab/tubearchivist-container.nix @@ -132,7 +132,7 @@ in "HOST_GID" = "1000"; "HOST_UID" = "1000"; "REDIS_HOST" = "archivist-redis"; - "TA_HOST" = "tubearchivist.local"; + "TA_HOST" = "tubearchivist.localhost"; "TZ" = "Europe/London"; }; diff --git a/todo.txt b/todo.txt index 01f179af..4aa064ba 100644 --- a/todo.txt +++ b/todo.txt @@ -1,5 +1,4 @@ Use nixosModules and homeManagerModules outputs in flake.nix to simplify importing modules -Use nginx for jellyfin, immich and gitea Add daily script Add create-podcast-tasks script Add vaultwarden for password management From 6e897dfe0bb888068cd9fbad3e1e50bd068a90a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 10 Dec 2024 09:13:31 +0000 Subject: [PATCH 1178/2258] Update abbreviations --- .../home-manager/features/cli/zsh/abbreviations.zsh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh index 143ad365..1e005b0c 100644 --- a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh +++ b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh @@ -35,14 +35,14 @@ abbr gls="git log --stat" abbr gm="git merge" abbr gmf="git merge --ff" abbr gmnf="git merge --no-ff" +abbr gp="git push" +abbr gpa="git push acquia" +abbr gpam="git push acquia main" +abbr gpap="git push acquia HEAD:production" abbr gpl="git pull" abbr gplr="git pull --rebase" -abbr gps="git push" -abbr gpsa="git push acquia" -abbr gpsam="git push acquia main" -abbr gpsap="git push acquia HEAD:production" -abbr gpso="git push origin" -abbr gpsom="git push origin main" +abbr gpo="git push origin" +abbr gpom="git push origin main" abbr gr="git rebase" abbr gra="git rebase --abort" abbr grc="git rebase --continue" From 3d4bca0adaf5871c36feab67096f08fec8425d5a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 10 Dec 2024 16:55:45 +0000 Subject: [PATCH 1179/2258] Execute Lua code in the current file, range or ...line --- nvim/lua/opdavies/keymaps.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nvim/lua/opdavies/keymaps.lua b/nvim/lua/opdavies/keymaps.lua index d36ff26c..8044134a 100644 --- a/nvim/lua/opdavies/keymaps.lua +++ b/nvim/lua/opdavies/keymaps.lua @@ -6,8 +6,10 @@ set("n", "<Leader>so", ":call opdavies#save_and_exec()<CR>") set("n", "<Leader>g", "gqap") set("x", "<Leader>g", "gqa") --- Make the current file executable -set("n", "<Leader>x", ":!chmod +x %<Cr>") +-- Execute Lua in the current file, line or range. +set("n", "<leader><leader>x", "<cmd>source %<CR>") +set("n", "<leader>x", ":.lua<CR>") +set("v", "<leader>x", ":lua<CR>") -- Yank from the current column to the end of the line set("n", "Y", "yg$") From 0f90bcfd707f2b8a50e65fedcd1cfcb9571695b6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 10 Dec 2024 21:40:33 +0000 Subject: [PATCH 1180/2258] Simplify use of `lib` --- nix/modules/home-manager/features/cli/bluetuith.nix | 8 +++++--- nix/modules/home-manager/features/cli/direnv.nix | 8 +++++--- nix/modules/home-manager/features/cli/neovim.nix | 8 +++++--- .../home-manager/features/cli/tmux-sessionizer.nix | 8 +++++--- nix/modules/home-manager/features/cli/tmux.nix | 6 ++++-- nix/modules/home-manager/features/desktop/alacritty.nix | 8 +++++--- nix/modules/home-manager/features/desktop/copyq.nix | 8 +++++--- nix/modules/home-manager/features/desktop/discord.nix | 8 +++++--- nix/modules/home-manager/features/desktop/espanso.nix | 8 +++++--- nix/modules/home-manager/features/desktop/flameshot.nix | 8 +++++--- nix/modules/home-manager/features/desktop/gtk.nix | 8 +++++--- nix/modules/home-manager/features/desktop/media/gimp.nix | 8 +++++--- .../home-manager/features/desktop/media/handbrake.nix | 8 +++++--- .../home-manager/features/desktop/media/kdenlive.nix | 8 +++++--- nix/modules/home-manager/features/desktop/media/mpv.nix | 8 +++++--- .../home-manager/features/desktop/media/pocket-casts.nix | 8 +++++--- nix/modules/home-manager/features/desktop/slack.nix | 8 +++++--- nix/modules/home-manager/features/desktop/zoom.nix | 8 +++++--- nix/modules/nixos/features/cli/docker.nix | 8 +++++--- nix/modules/nixos/features/desktop/peek.nix | 8 +++++--- nix/modules/nixos/features/desktop/screenkey.nix | 8 +++++--- nix/modules/nixos/features/gaming.nix | 8 +++++--- nix/modules/nixos/features/homelab/gitea.nix | 8 +++++--- nix/modules/nixos/features/homelab/immich.nix | 8 +++++--- nix/modules/nixos/features/homelab/jellyfin.nix | 8 +++++--- 25 files changed, 124 insertions(+), 74 deletions(-) diff --git a/nix/modules/home-manager/features/cli/bluetuith.nix b/nix/modules/home-manager/features/cli/bluetuith.nix index f13fb007..e52812e6 100644 --- a/nix/modules/home-manager/features/cli/bluetuith.nix +++ b/nix/modules/home-manager/features/cli/bluetuith.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.cli.bluetuith.enable = lib.mkEnableOption "Enable bluetuith"; +with lib; - config = lib.mkIf config.features.cli.bluetuith.enable { +{ + options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + + config = mkIf config.features.cli.bluetuith.enable { home.packages = with pkgs; [ bluetuith ]; diff --git a/nix/modules/home-manager/features/cli/direnv.nix b/nix/modules/home-manager/features/cli/direnv.nix index 59b4b769..0509ce5b 100644 --- a/nix/modules/home-manager/features/cli/direnv.nix +++ b/nix/modules/home-manager/features/cli/direnv.nix @@ -1,9 +1,11 @@ { config, lib, ... }: -{ - options.features.cli.direnv.enable = lib.mkEnableOption "Enable direnv"; +with lib; - config = lib.mkIf config.features.cli.direnv.enable { +{ + options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; + + config = mkIf config.features.cli.direnv.enable { programs.direnv = { enable = true; enableZshIntegration = true; diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 30bb5234..0dc4cea3 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -6,10 +6,12 @@ ... }: -{ - options.features.cli.neovim.enable = lib.mkEnableOption "Enable neovim"; +with lib; - config = lib.mkIf config.features.cli.neovim.enable { +{ + options.features.cli.neovim.enable = mkEnableOption "Enable neovim"; + + config = mkIf config.features.cli.neovim.enable { programs.neovim = { enable = true; diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index 4aeba088..b41510eb 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.cli.tmux-sessionizer.enable = lib.mkEnableOption "Enable tmux-sessionizer"; +with lib; - config = lib.mkIf config.features.cli.tmux-sessionizer.enable { +{ + options.features.cli.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; + + config = mkIf config.features.cli.tmux-sessionizer.enable { home.packages = with pkgs; [ custom-tmux-sessionizer ]; home.file.".tmux-sessionizer".source = "${ diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index 47b7055f..49aa00f5 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -5,13 +5,15 @@ ... }: +with lib; + let inherit (pkgs) tmuxPlugins; in { - options.features.cli.tmux.enable = lib.mkEnableOption "Enable tmux"; + options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; - config = lib.mkIf config.features.cli.tmux.enable { + config = mkIf config.features.cli.tmux.enable { programs.tmux = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 2b351a61..77cc625d 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -4,10 +4,12 @@ ... }: -{ - options.features.desktop.alacritty.enable = lib.mkEnableOption "Enable Alacritty"; +with lib; - config = lib.mkIf config.features.desktop.alacritty.enable { +{ + options.features.desktop.alacritty.enable = mkEnableOption "Enable Alacritty"; + + config = mkIf config.features.desktop.alacritty.enable { programs.alacritty = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/copyq.nix b/nix/modules/home-manager/features/desktop/copyq.nix index fba783e0..7a4ca6a7 100644 --- a/nix/modules/home-manager/features/desktop/copyq.nix +++ b/nix/modules/home-manager/features/desktop/copyq.nix @@ -1,9 +1,11 @@ { config, lib, ... }: -{ - options.features.desktop.copyq.enable = lib.mkEnableOption "Enable copyq"; +with lib; - config = lib.mkIf config.features.desktop.copyq.enable { +{ + options.features.desktop.copyq.enable = mkEnableOption "Enable copyq"; + + config = mkIf config.features.desktop.copyq.enable { services.copyq.enable = true; }; } diff --git a/nix/modules/home-manager/features/desktop/discord.nix b/nix/modules/home-manager/features/desktop/discord.nix index 5fed5daa..abf8cd8f 100644 --- a/nix/modules/home-manager/features/desktop/discord.nix +++ b/nix/modules/home-manager/features/desktop/discord.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.discord.enable = lib.mkEnableOption "Enable Discord"; +with lib; - config = lib.mkIf config.features.desktop.discord.enable { +{ + options.features.desktop.discord.enable = mkEnableOption "Enable Discord"; + + config = mkIf config.features.desktop.discord.enable { home.packages = with pkgs; [ discord ]; }; } diff --git a/nix/modules/home-manager/features/desktop/espanso.nix b/nix/modules/home-manager/features/desktop/espanso.nix index 8619a296..9f3d0be0 100644 --- a/nix/modules/home-manager/features/desktop/espanso.nix +++ b/nix/modules/home-manager/features/desktop/espanso.nix @@ -1,9 +1,11 @@ { config, lib, ... }: -{ - options.features.desktop.espanso.enable = lib.mkEnableOption "Enable espanso"; +with lib; - config = lib.mkIf config.features.desktop.espanso.enable { +{ + options.features.desktop.espanso.enable = mkEnableOption "Enable espanso"; + + config = mkIf config.features.desktop.espanso.enable { services.espanso = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/flameshot.nix b/nix/modules/home-manager/features/desktop/flameshot.nix index c5540fd3..d9a77d8c 100644 --- a/nix/modules/home-manager/features/desktop/flameshot.nix +++ b/nix/modules/home-manager/features/desktop/flameshot.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.flameshot.enable = lib.mkEnableOption "Enable flameshot"; +with lib; - config = lib.mkIf config.features.desktop.flameshot.enable { +{ + options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + + config = mkIf config.features.desktop.flameshot.enable { services.flameshot = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/gtk.nix b/nix/modules/home-manager/features/desktop/gtk.nix index 7644b6cb..f68563b3 100644 --- a/nix/modules/home-manager/features/desktop/gtk.nix +++ b/nix/modules/home-manager/features/desktop/gtk.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.gtk.enable = lib.mkEnableOption "Enable gtk"; +with lib; - config = lib.mkIf config.features.desktop.gtk.enable { +{ + options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; + + config = mkIf config.features.desktop.gtk.enable { gtk = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/gimp.nix b/nix/modules/home-manager/features/desktop/media/gimp.nix index 8597aebb..db012675 100644 --- a/nix/modules/home-manager/features/desktop/media/gimp.nix +++ b/nix/modules/home-manager/features/desktop/media/gimp.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.media.gimp.enable = lib.mkEnableOption "Enable gimp"; +with lib; - config = lib.mkIf config.features.desktop.media.gimp.enable { +{ + options.features.desktop.media.gimp.enable = mkEnableOption "Enable gimp"; + + config = mkIf config.features.desktop.media.gimp.enable { home.packages = with pkgs; [ gimp ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/handbrake.nix b/nix/modules/home-manager/features/desktop/media/handbrake.nix index 412b9fae..e27a215a 100644 --- a/nix/modules/home-manager/features/desktop/media/handbrake.nix +++ b/nix/modules/home-manager/features/desktop/media/handbrake.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.media.handbrake.enable = lib.mkEnableOption "Enable handbrake"; +with lib; - config = lib.mkIf config.features.desktop.media.handbrake.enable { +{ + options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + + config = mkIf config.features.desktop.media.handbrake.enable { home.packages = with pkgs; [ handbrake ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix index b6f7b21c..70695407 100644 --- a/nix/modules/home-manager/features/desktop/media/kdenlive.nix +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.media.kdenlive.enable = lib.mkEnableOption "Enable kdenlive"; +with lib; - config = lib.mkIf config.features.desktop.media.kdenlive.enable { +{ + options.features.desktop.media.kdenlive.enable = mkEnableOption "Enable kdenlive"; + + config = mkIf config.features.desktop.media.kdenlive.enable { home.packages = with pkgs; [ kdenlive ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/mpv.nix b/nix/modules/home-manager/features/desktop/media/mpv.nix index f06a6e21..2704dad0 100644 --- a/nix/modules/home-manager/features/desktop/media/mpv.nix +++ b/nix/modules/home-manager/features/desktop/media/mpv.nix @@ -1,9 +1,11 @@ { config, lib, ... }: -{ - options.features.desktop.media.mpv.enable = lib.mkEnableOption "Enable mpv media player"; +with lib; - config = lib.mkIf config.features.desktop.media.mpv.enable { +{ + options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv media player"; + + config = mkIf config.features.desktop.media.mpv.enable { programs.mpv = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix index 6f088c43..d71183b9 100644 --- a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix +++ b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.media.pocket-casts.enable = lib.mkEnableOption "Enable Pocket Casts"; +with lib; - config = lib.mkIf config.features.desktop.media.pocket-casts.enable { +{ + options.features.desktop.media.pocket-casts.enable = mkEnableOption "Enable Pocket Casts"; + + config = mkIf config.features.desktop.media.pocket-casts.enable { home.packages = with pkgs; [ pocket-casts ]; }; } diff --git a/nix/modules/home-manager/features/desktop/slack.nix b/nix/modules/home-manager/features/desktop/slack.nix index 463a91e1..344cf861 100644 --- a/nix/modules/home-manager/features/desktop/slack.nix +++ b/nix/modules/home-manager/features/desktop/slack.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.slack.enable = lib.mkEnableOption "Enable Slack"; +with lib; - config = lib.mkIf config.features.desktop.slack.enable { +{ + options.features.desktop.slack.enable = mkEnableOption "Enable Slack"; + + config = mkIf config.features.desktop.slack.enable { home.packages = with pkgs; [ slack ]; }; } diff --git a/nix/modules/home-manager/features/desktop/zoom.nix b/nix/modules/home-manager/features/desktop/zoom.nix index d1a6c458..417d78ef 100644 --- a/nix/modules/home-manager/features/desktop/zoom.nix +++ b/nix/modules/home-manager/features/desktop/zoom.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.zoom.enable = lib.mkEnableOption "Enable zoom"; +with lib; - config = lib.mkIf config.features.desktop.zoom.enable { +{ + options.features.desktop.zoom.enable = mkEnableOption "Enable zoom"; + + config = mkIf config.features.desktop.zoom.enable { home.packages = with pkgs; [ nixpkgs-2405.zoom-us ]; }; } diff --git a/nix/modules/nixos/features/cli/docker.nix b/nix/modules/nixos/features/cli/docker.nix index 8aa12321..10e42634 100644 --- a/nix/modules/nixos/features/cli/docker.nix +++ b/nix/modules/nixos/features/cli/docker.nix @@ -1,9 +1,11 @@ { lib, config, ... }: -{ - options.features.cli.docker.enable = lib.mkEnableOption "Enable Docker"; +with lib; - config = lib.mkIf config.features.cli.docker.enable { +{ + options.features.cli.docker.enable = mkEnableOption "Enable Docker"; + + config = mkIf config.features.cli.docker.enable { virtualisation.docker = { enable = true; diff --git a/nix/modules/nixos/features/desktop/peek.nix b/nix/modules/nixos/features/desktop/peek.nix index da593d7e..85137d9f 100644 --- a/nix/modules/nixos/features/desktop/peek.nix +++ b/nix/modules/nixos/features/desktop/peek.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.peek.enable = lib.mkEnableOption "Enable peek"; +with lib; - config = lib.mkIf config.features.desktop.peek.enable { +{ + options.features.desktop.peek.enable = mkEnableOption "Enable peek"; + + config = mkIf config.features.desktop.peek.enable { environment.systemPackages = with pkgs; [ peek ]; }; } diff --git a/nix/modules/nixos/features/desktop/screenkey.nix b/nix/modules/nixos/features/desktop/screenkey.nix index 185de462..9bebebfe 100644 --- a/nix/modules/nixos/features/desktop/screenkey.nix +++ b/nix/modules/nixos/features/desktop/screenkey.nix @@ -6,10 +6,12 @@ ... }: -{ - options.features.desktop.screenkey.enable = lib.mkEnableOption "Enable screenkey"; +with lib; - config = lib.mkIf config.features.desktop.screenkey.enable { +{ + options.features.desktop.screenkey.enable = mkEnableOption "Enable screenkey"; + + config = mkIf config.features.desktop.screenkey.enable { environment.systemPackages = with pkgs; [ screenkey ]; home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/features/gaming.nix index d7dd0747..c8f4d40b 100644 --- a/nix/modules/nixos/features/gaming.nix +++ b/nix/modules/nixos/features/gaming.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.desktop.gaming.enable = lib.mkEnableOption "Enable games"; +with lib; - config = lib.mkIf config.features.desktop.gaming.enable { +{ + options.features.desktop.gaming.enable = mkEnableOption "Enable games"; + + config = mkIf config.features.desktop.gaming.enable { programs.steam.enable = true; environment.systemPackages = with pkgs; [ zeroad ]; diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index 47d17600..4667e433 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -1,9 +1,11 @@ { config, lib, ... }: -{ - options.features.homelab.gitea.enable = lib.mkEnableOption "Enable gitea"; +with lib; - config = lib.mkIf config.features.homelab.gitea.enable { +{ + options.features.homelab.gitea.enable = mkEnableOption "Enable gitea"; + + config = mkIf config.features.homelab.gitea.enable { services.gitea = { enable = true; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 6bd923c0..8b4a5f5a 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -5,10 +5,12 @@ ... }: -{ - options.features.homelab.immich.enable = lib.mkEnableOption "Enable immich"; +with lib; - config = lib.mkIf config.features.homelab.immich.enable { +{ + options.features.homelab.immich.enable = mkEnableOption "Enable immich"; + + config = mkIf config.features.homelab.immich.enable { services.immich.enable = true; environment.systemPackages = [ pkgs.immich-cli ]; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index f650ca02..0ac9fef0 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -1,9 +1,11 @@ { config, lib, ... }: -{ - options.features.homelab.jellyfin.enable = lib.mkEnableOption "Enable jellyfin"; +with lib; - config = lib.mkIf config.features.homelab.jellyfin.enable { +{ + options.features.homelab.jellyfin.enable = mkEnableOption "Enable jellyfin"; + + config = mkIf config.features.homelab.jellyfin.enable { services.jellyfin = { enable = true; openFirewall = true; From b707c202593fbe6727f2e00813a6ee7137defaf9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 11 Dec 2024 09:00:00 +0000 Subject: [PATCH 1181/2258] Add cryptsetup --- nix/hosts/lemp11/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 477bbb92..d9ed9391 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -171,6 +171,7 @@ with pkgs; [ caffeine-ng + cryptsetup gtypist fastfetch mermaid-cli From 4cbf2104b5e1b2fb6f1d8831f598c4d9397fd83e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 11 Dec 2024 12:00:00 +0000 Subject: [PATCH 1182/2258] Add encrypted media drive --- nix/hosts/lemp11/configuration.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index d9ed9391..ffe00be4 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -315,4 +315,16 @@ KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" ''; }; + + fileSystems."/media" = { + device = "/dev/mapper/media"; + fsType = "ext4"; + options = [ "defaults" ]; + neededForBoot = false; + }; + + boot.initrd.luks.devices.secure_drive = { + device = "/dev/disk/by-uuid/debb07aa-4c3e-420c-852a-d4f3c417d27f"; + preLVM = true; + }; } From 139abfaa3f49583066774c8d6e76a97751ad607c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 11 Dec 2024 18:00:00 +0000 Subject: [PATCH 1183/2258] Add myself to a media group --- nix/hosts/lemp11/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index ffe00be4..279d817b 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -157,12 +157,15 @@ description = "Oliver Davies"; extraGroups = [ "docker" + "media" "networkmanager" "wheel" ]; packages = [ ]; }; + users.groups.media = { }; + security.sudo.wheelNeedsPassword = false; # List packages installed in system profile. To search, run: From 85933f169e76beccb47f461781e87f5d58285e94 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 11 Dec 2024 18:00:00 +0000 Subject: [PATCH 1184/2258] Add a vhost for syncthing --- nix/hosts/lemp11/modules/nginx.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/lemp11/modules/nginx.nix b/nix/hosts/lemp11/modules/nginx.nix index 35d314e3..a4614f66 100644 --- a/nix/hosts/lemp11/modules/nginx.nix +++ b/nix/hosts/lemp11/modules/nginx.nix @@ -6,6 +6,7 @@ "gitea.localhost".locations."/".proxyPass = "http://localhost:2222/"; "immich.localhost".locations."/".proxyPass = "http://localhost:2283/"; "jellyfin.localhost".locations."/".proxyPass = "http://localhost:8096/"; + "syncthing.localhost".locations."/".proxyPass = "http://localhost:8384/"; "tubearchivist.localhost".locations."/".proxyPass = "http://localhost:8000/"; }; }; From 84e9fd142433a77d004104cc23d8eb9cadd16e65 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 11 Dec 2024 18:49:25 +0000 Subject: [PATCH 1185/2258] Move Gitea, Immich and Jellyfin data to the media ...drive --- nix/modules/nixos/features/homelab/gitea.nix | 2 ++ nix/modules/nixos/features/homelab/immich.nix | 6 +++++- nix/modules/nixos/features/homelab/jellyfin.nix | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index 4667e433..660ad23f 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -8,6 +8,8 @@ with lib; config = mkIf config.features.homelab.gitea.enable { services.gitea = { enable = true; + group = "media"; + stateDir = "/media/gitea"; settings = { server = { diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 8b4a5f5a..a158f7c4 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -11,7 +11,11 @@ with lib; options.features.homelab.immich.enable = mkEnableOption "Enable immich"; config = mkIf config.features.homelab.immich.enable { - services.immich.enable = true; + services.immich = { + enable = true; + group = "media"; + mediaLocation = "/media/immich"; + }; environment.systemPackages = [ pkgs.immich-cli ]; }; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 0ac9fef0..7e886de8 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -9,6 +9,8 @@ with lib; services.jellyfin = { enable = true; openFirewall = true; + group = "media"; + configDir = "/media/jellyfin"; }; }; } From f8e63a65423382a38e2461d90422174a32523f05 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 11 Dec 2024 21:58:48 +0000 Subject: [PATCH 1186/2258] Add pi-hole --- nix/hosts/lemp11/default.nix | 1 + .../nixos/features/homelab/default.nix | 1 + .../nixos/features/homelab/pi-hole.nix | 100 ++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/pi-hole.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index bef11fd8..8b726156 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -15,6 +15,7 @@ gitea.enable = true; immich.enable = true; jellyfin.enable = true; + pihole.enable = true; tubearchivist-container.enable = true; }; }; diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index ece76f98..7f848982 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -3,6 +3,7 @@ ./gitea.nix ./immich.nix ./jellyfin.nix + ./pi-hole.nix ./tubearchivist-container.nix ]; } diff --git a/nix/modules/nixos/features/homelab/pi-hole.nix b/nix/modules/nixos/features/homelab/pi-hole.nix new file mode 100644 index 00000000..ac4d11e5 --- /dev/null +++ b/nix/modules/nixos/features/homelab/pi-hole.nix @@ -0,0 +1,100 @@ +{ + config, + pkgs, + lib, + ... +}: + +with lib; + +{ + options.features.homelab.pihole.enable = mkEnableOption "Enable pihole"; + + config = mkIf config.features.homelab.pihole.enable { + virtualisation = { + docker = { + enable = true; + autoPrune.enable = true; + }; + + oci-containers = { + backend = "docker"; + + containers."pihole" = { + image = "pihole/pihole:latest"; + + environment = { + "TZ" = "Europe/London"; + }; + + volumes = [ + "/media/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" + "/media/pihole/etc-pihole:/etc/pihole:rw" + ]; + + ports = [ + "53:53/tcp" + "53:53/udp" + "67:67/udp" + "8082:80/tcp" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--cap-add=NET_ADMIN" + "--network-alias=pihole" + "--network=pihole_default" + ]; + }; + }; + }; + + systemd = { + services = { + "docker-pihole" = { + serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartMaxDelaySec = lib.mkOverride 90 "1m"; + RestartSec = lib.mkOverride 90 "100ms"; + RestartSteps = lib.mkOverride 90 9; + }; + + after = [ "docker-network-pihole_default.service" ]; + requires = [ "docker-network-pihole_default.service" ]; + partOf = [ "docker-compose-pihole-root.target" ]; + wantedBy = [ "docker-compose-pihole-root.target" ]; + }; + + "docker-network-pihole_default" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f pihole_default"; + }; + + script = '' + docker network inspect pihole_default || docker network create pihole_default + ''; + + partOf = [ "docker-compose-pihole-root.target" ]; + wantedBy = [ "docker-compose-pihole-root.target" ]; + }; + }; + + targets."docker-compose-pihole-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + + wantedBy = [ "multi-user.target" ]; + }; + }; + + services.nginx.virtualHosts."pihole.localhost" = { + locations."/".proxyPass = "http://localhost:8082/"; + }; + }; +} From d21fafc4efd2d1d3c673d813d854d8700cf995b3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 12 Dec 2024 21:42:30 +0000 Subject: [PATCH 1187/2258] Remove encrypted disk configuration This is causing issues on startup which I don't have time to look into right now. --- nix/hosts/lemp11/configuration.nix | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 279d817b..f0e93640 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -318,16 +318,4 @@ KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" ''; }; - - fileSystems."/media" = { - device = "/dev/mapper/media"; - fsType = "ext4"; - options = [ "defaults" ]; - neededForBoot = false; - }; - - boot.initrd.luks.devices.secure_drive = { - device = "/dev/disk/by-uuid/debb07aa-4c3e-420c-852a-d4f3c417d27f"; - preLVM = true; - }; } From ffc12963c4aaf7d0ce38748be205a9902a00ba08 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 12 Dec 2024 21:48:14 +0000 Subject: [PATCH 1188/2258] Update mount location for media directories --- nix/modules/nixos/features/homelab/gitea.nix | 2 +- nix/modules/nixos/features/homelab/immich.nix | 2 +- nix/modules/nixos/features/homelab/jellyfin.nix | 2 +- nix/modules/nixos/features/homelab/pi-hole.nix | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index 660ad23f..be0a1cf9 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -9,7 +9,7 @@ with lib; services.gitea = { enable = true; group = "media"; - stateDir = "/media/gitea"; + stateDir = "/mnt/media/gitea"; settings = { server = { diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index a158f7c4..ec235c38 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -14,7 +14,7 @@ with lib; services.immich = { enable = true; group = "media"; - mediaLocation = "/media/immich"; + mediaLocation = "/mnt/media/immich"; }; environment.systemPackages = [ pkgs.immich-cli ]; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 7e886de8..42c16023 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -10,7 +10,7 @@ with lib; enable = true; openFirewall = true; group = "media"; - configDir = "/media/jellyfin"; + configDir = "/mnt/media/jellyfin"; }; }; } diff --git a/nix/modules/nixos/features/homelab/pi-hole.nix b/nix/modules/nixos/features/homelab/pi-hole.nix index ac4d11e5..5d8801a7 100644 --- a/nix/modules/nixos/features/homelab/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/pi-hole.nix @@ -28,8 +28,8 @@ with lib; }; volumes = [ - "/media/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" - "/media/pihole/etc-pihole:/etc/pihole:rw" + "/mnt/media/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" + "/mnt/media/pihole/etc-pihole:/etc/pihole:rw" ]; ports = [ From 58f645ee507f403dd5ae1f6db4712881cb6a002d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 12 Dec 2024 22:04:23 +0000 Subject: [PATCH 1189/2258] Add multigrep from TJ's video --- nvim/lua/opdavies/telescope/multigrep.lua | 57 +++++++++++++++++++++++ nvim/plugin/telescope.lua | 3 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 nvim/lua/opdavies/telescope/multigrep.lua diff --git a/nvim/lua/opdavies/telescope/multigrep.lua b/nvim/lua/opdavies/telescope/multigrep.lua new file mode 100644 index 00000000..d4418c5d --- /dev/null +++ b/nvim/lua/opdavies/telescope/multigrep.lua @@ -0,0 +1,57 @@ +local conf = require("telescope.config").values +local finders = require "telescope.finders" +local make_entry = require "telescope.make_entry" +local pickers = require "telescope.pickers" + +local M = {} + +local live_multigrep = function(opts) + opts = opts or {} + opts.cwd = opts.cwd or vim.uv.cwd() + + local finder = finders.new_async_job { + command_generator = function(prompt) + if not prompt or prompt == "" then + return nil + end + + local pieces = vim.split(prompt, " ") + local args = { "rg" } + + if pieces[1] then + table.insert(args, "-e") + table.insert(args, pieces[1]) + end + + if pieces[2] then + table.insert(args, "-g") + table.insert(args, pieces[2]) + end + + ---@diagnostic disable-next-line: deprecated + return vim.tbl_flatten { + args, + { "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case" }, + } + end, + + cwd = opts.cwd, + entry_maker = make_entry.gen_from_vimgrep(opts), + } + + pickers + .new(opts, { + debounce = 100, + finder = finder, + previewer = conf.grep_previewer(opts), + prompt_title = "Multi Grep", + sorter = require("telescope.sorters").empty(), + }) + :find() +end + +M.setup = function() + vim.keymap.set("n", "<leader>fg", live_multigrep) +end + +return M diff --git a/nvim/plugin/telescope.lua b/nvim/plugin/telescope.lua index 79fafd63..cc769d9a 100644 --- a/nvim/plugin/telescope.lua +++ b/nvim/plugin/telescope.lua @@ -50,7 +50,6 @@ end vim.keymap.set("n", "<space>/", builtin.current_buffer_fuzzy_find) vim.keymap.set("n", "<space>fb", builtin.buffers) vim.keymap.set("n", "<space>fd", builtin.find_files) -vim.keymap.set("n", "<space>fg", builtin.live_grep) vim.keymap.set("n", "<space>fh", builtin.help_tags) vim.keymap.set("n", "<space>fi", M.search_all_files) vim.keymap.set("n", "<space>fk", builtin.keymaps) @@ -65,3 +64,5 @@ vim.keymap.set("n", "<space>dgb", M.grep_bluecheese) vim.keymap.set("n", "<space>dgd", M.grep_drupalorg_theme) vim.keymap.set({ "n", "v" }, "<space>gw", builtin.grep_string) + +require("opdavies.telescope.multigrep").setup {} From bbd5052b0f12dd8e4c6a0b21cdbdbf372bee65c7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 12 Dec 2024 22:23:16 +0000 Subject: [PATCH 1190/2258] Revert "Remove encrypted disk configuration" This reverts commit d21fafc4efd2d1d3c673d813d854d8700cf995b3. --- nix/hosts/lemp11/configuration.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index f0e93640..279d817b 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -318,4 +318,16 @@ KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" ''; }; + + fileSystems."/media" = { + device = "/dev/mapper/media"; + fsType = "ext4"; + options = [ "defaults" ]; + neededForBoot = false; + }; + + boot.initrd.luks.devices.secure_drive = { + device = "/dev/disk/by-uuid/debb07aa-4c3e-420c-852a-d4f3c417d27f"; + preLVM = true; + }; } From 8280c49990087c3cfd106d02c8328f9333602793 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 12 Dec 2024 22:23:35 +0000 Subject: [PATCH 1191/2258] Show more generations on boot --- nix/hosts/lemp11/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 279d817b..fd60e0e2 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -64,7 +64,7 @@ loader = { systemd-boot = { enable = true; - configurationLimit = 10; + configurationLimit = 25; }; efi = { From d3b0c487268e0842f87170b9e70cada5cb1e2ea2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 12 Dec 2024 22:44:50 +0000 Subject: [PATCH 1192/2258] Revert "Add encrypted media drive" This reverts commit 4cbf2104b5e1b2fb6f1d8831f598c4d9397fd83e. --- nix/hosts/lemp11/configuration.nix | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index fd60e0e2..6ca028aa 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -318,16 +318,4 @@ KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" ''; }; - - fileSystems."/media" = { - device = "/dev/mapper/media"; - fsType = "ext4"; - options = [ "defaults" ]; - neededForBoot = false; - }; - - boot.initrd.luks.devices.secure_drive = { - device = "/dev/disk/by-uuid/debb07aa-4c3e-420c-852a-d4f3c417d27f"; - preLVM = true; - }; } From 8cdc6a511dab5a31b1bc0a90bcdcf361043498e7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 13 Dec 2024 22:18:30 +0000 Subject: [PATCH 1193/2258] Add paperless-ngx https://wiki.nixos.org/wiki/Paperless https://docs.paperless-ngx.com --- nix/hosts/lemp11/default.nix | 1 + nix/modules/nixos/features/homelab/default.nix | 1 + nix/modules/nixos/features/homelab/paperless.nix | 13 +++++++++++++ 3 files changed, 15 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/paperless.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 8b726156..8fe37f53 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -15,6 +15,7 @@ gitea.enable = true; immich.enable = true; jellyfin.enable = true; + paperless.enable = true; pihole.enable = true; tubearchivist-container.enable = true; }; diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index 7f848982..fbf82590 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -3,6 +3,7 @@ ./gitea.nix ./immich.nix ./jellyfin.nix + ./paperless.nix ./pi-hole.nix ./tubearchivist-container.nix ]; diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/features/homelab/paperless.nix new file mode 100644 index 00000000..8d97a8d2 --- /dev/null +++ b/nix/modules/nixos/features/homelab/paperless.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: + +with lib; + +{ + options.features.homelab.paperless.enable = mkEnableOption "Enable paperless"; + + config = mkIf config.features.homelab.paperless.enable { + services.paperless = { + enable = true; + }; + }; +} From 73d801d7acf53d82f341f738c655fb6a2fcdcd70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 14 Dec 2024 02:24:56 +0000 Subject: [PATCH 1194/2258] Add Nick Janetakis' `notes` script https://github.com/nickjj/notes https://nickjanetakis.com/blog/organize-your-text-based-notes-from-the-command-line-with-this-script --- .../home-manager/features/cli/default.nix | 1 + .../home-manager/features/cli/notes.nix | 5 +++++ nix/pkgs/default.nix | 1 + nix/pkgs/notes.nix | 21 +++++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 nix/modules/home-manager/features/cli/notes.nix create mode 100644 nix/pkgs/notes.nix diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index ccb07649..3e523558 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -36,6 +36,7 @@ ./git.nix ./htop.nix ./lsd.nix + ./notes.nix ./pet.nix ./phpactor.nix ./ripgrep.nix diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/features/cli/notes.nix new file mode 100644 index 00000000..1c641865 --- /dev/null +++ b/nix/modules/home-manager/features/cli/notes.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ notes ]; +} diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 3325e495..fd069a2e 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -6,6 +6,7 @@ in { build-glove80 = callPackage ./build-glove80.nix { }; custom-tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; + notes = callPackage ./notes.nix { }; notify-battery = callPackage ./notify-battery.nix { }; vimPlugins = prev.vimPlugins // { diff --git a/nix/pkgs/notes.nix b/nix/pkgs/notes.nix new file mode 100644 index 00000000..15489822 --- /dev/null +++ b/nix/pkgs/notes.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +pkgs.stdenv.mkDerivation rec { + pname = "notes"; + version = "0.3.0"; + + src = pkgs.fetchFromGitHub { + owner = "nickjj"; + repo = "notes"; + rev = "v${version}"; + sha256 = "gyrsTWPT8w4DsRim3jlbjvpXwX/y+7SwLaM+3LVOJdU="; + }; + + buildInputs = with pkgs; [ bash ]; + + installPhase = '' + mkdir -p $out/bin + cp $src/notes $out/bin/notes + chmod +x $out/bin/notes + ''; +} From 1a14118877cf9cd8678aa636737d1bac915552a7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 14 Dec 2024 02:51:21 +0000 Subject: [PATCH 1195/2258] Configure Neovim for the text filetype --- nvim/after/ftplugin/text.lua | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 nvim/after/ftplugin/text.lua diff --git a/nvim/after/ftplugin/text.lua b/nvim/after/ftplugin/text.lua new file mode 100644 index 00000000..f1eaea81 --- /dev/null +++ b/nvim/after/ftplugin/text.lua @@ -0,0 +1,6 @@ +local opt = vim.opt_local + +opt.number = false +opt.relativenumber = false +opt.spell = true +opt.wrap = true From c26e63315edcb332f88482dde56af39f75891c70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 14 Dec 2024 20:19:42 +0000 Subject: [PATCH 1196/2258] Add audiobookshelf --- .../nixos/features/homelab/audiobookshelf.nix | 21 +++++++++++++++++++ .../nixos/features/homelab/default.nix | 1 + 2 files changed, 22 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/audiobookshelf.nix diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix new file mode 100644 index 00000000..6f5dd967 --- /dev/null +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -0,0 +1,21 @@ +{ config, ... }: + +{ + services.audiobookshelf = { + enable = true; + + host = "audiobookshelf.localhost"; + port = 4001; + }; + + services.nginx = { + enable = true; + + virtualHosts."audiobookshelf.localhost" = { + locations."/" = { + proxyPass = "http://localhost:${toString config.services.audiobookshelf.port}/"; + proxyWebsockets = true; + }; + }; + }; +} diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index fbf82590..d60cbb3b 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./audiobookshelf.nix ./gitea.nix ./immich.nix ./jellyfin.nix From 41850130142b1730c5754b0cc6ea437397805209 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 14 Dec 2024 21:05:24 +0000 Subject: [PATCH 1197/2258] Refactor Vim plugins into its own default.nix --- nix/pkgs/default.nix | 15 +++------------ nix/pkgs/vim-plugins/default.nix | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 nix/pkgs/vim-plugins/default.nix diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index fd069a2e..6608dc99 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -2,6 +2,8 @@ let inherit (pkgs) callPackage; + + vimPlugins = callPackage ./vim-plugins { inherit callPackage; }; in { build-glove80 = callPackage ./build-glove80.nix { }; @@ -9,16 +11,5 @@ in notes = callPackage ./notes.nix { }; notify-battery = callPackage ./notify-battery.nix { }; - vimPlugins = prev.vimPlugins // { - conf-vim = callPackage ./vim-plugins/conf-vim.nix { }; - edit-alternate-vim = callPackage ./vim-plugins/edit-alternate-vim.nix { }; - nvim-tmux-navigation = callPackage ./vim-plugins/nvim-tmux-navigation.nix { }; - standard-vim = callPackage ./vim-plugins/standard-vim.nix { }; - vim-autoread = callPackage ./vim-plugins/vim-autoread.nix { }; - vim-caser = callPackage ./vim-plugins/vim-caser.nix { }; - vim-heritage = callPackage ./vim-plugins/vim-heritage.nix { }; - vim-textobj-indent = callPackage ./vim-plugins/vim-textobj-indent.nix { }; - vim-textobj-xmlattr = callPackage ./vim-plugins/vim-textobj-xmlattr.nix { }; - vim-zoom = callPackage ./vim-plugins/vim-zoom.nix { }; - }; + vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/nix/pkgs/vim-plugins/default.nix b/nix/pkgs/vim-plugins/default.nix new file mode 100644 index 00000000..1b4c22d6 --- /dev/null +++ b/nix/pkgs/vim-plugins/default.nix @@ -0,0 +1,14 @@ +{ callPackage }: + +{ + conf-vim = callPackage ./conf-vim.nix { }; + edit-alternate-vim = callPackage ./edit-alternate-vim.nix { }; + nvim-tmux-navigation = callPackage ./nvim-tmux-navigation.nix { }; + standard-vim = callPackage ./standard-vim.nix { }; + vim-autoread = callPackage ./vim-autoread.nix { }; + vim-caser = callPackage ./vim-caser.nix { }; + vim-heritage = callPackage ./vim-heritage.nix { }; + vim-textobj-indent = callPackage ./vim-textobj-indent.nix { }; + vim-textobj-xmlattr = callPackage ./vim-textobj-xmlattr.nix { }; + vim-zoom = callPackage ./vim-zoom.nix { }; +} From 8e599c2ffde101f2a6999dea135f36e4877d44fc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 15 Dec 2024 10:16:25 +0000 Subject: [PATCH 1198/2258] Rename custom-tmux-sessionizer --- nix/modules/home-manager/features/cli/tmux-sessionizer.nix | 2 +- nix/modules/home-manager/features/cli/tmux.nix | 2 +- nix/modules/home-manager/features/cli/zsh.nix | 2 +- nix/pkgs/default.nix | 2 +- nix/pkgs/tmux-sessionizer.nix | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index b41510eb..c2e15c38 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -11,7 +11,7 @@ with lib; options.features.cli.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; config = mkIf config.features.cli.tmux-sessionizer.enable { - home.packages = with pkgs; [ custom-tmux-sessionizer ]; + home.packages = with pkgs; [ tmux-sessionizer ]; home.file.".tmux-sessionizer".source = "${ pkgs.writeShellApplication { diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index 49aa00f5..13067b26 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -74,7 +74,7 @@ in set-option -g pane-active-border-style "fg=#1f2335" set-option -g pane-border-style "fg=#1f2335" - bind-key -r f run-shell "tmux new-window custom-tmux-sessionizer" + bind-key -r f run-shell "tmux new-window tmux-sessionizer" if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index d82fa13d..37412bdf 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -56,7 +56,7 @@ zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" autoload -Uz compinit && compinit - bindkey -s ^f "custom-tmux-sessionizer\n" + bindkey -s ^f "tmux-sessionizer\n" bindkey -s ^v "nvim\n" clear-ls-all() { diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 6608dc99..b42201e3 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -7,9 +7,9 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; - custom-tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; notes = callPackage ./notes.nix { }; notify-battery = callPackage ./notify-battery.nix { }; + tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/nix/pkgs/tmux-sessionizer.nix b/nix/pkgs/tmux-sessionizer.nix index 2ba93748..f13206f0 100644 --- a/nix/pkgs/tmux-sessionizer.nix +++ b/nix/pkgs/tmux-sessionizer.nix @@ -1,7 +1,7 @@ { pkgs }: pkgs.writeShellApplication { - name = "custom-tmux-sessionizer"; + name = "tmux-sessionizer"; runtimeInputs = with pkgs; [ tmux ]; From db4cfbc518fe4076cbb5e47530373c8e7eaacff0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 15 Dec 2024 23:13:11 +0000 Subject: [PATCH 1199/2258] Refactor local Nginx virtual hosts and update ...local hostnames --- nix/hosts/lemp11/modules/nginx.nix | 6 ++-- .../nixos/features/homelab/audiobookshelf.nix | 4 +-- nix/modules/nixos/features/homelab/gitea.nix | 31 +++++++++++++------ nix/modules/nixos/features/homelab/immich.nix | 6 ++++ .../nixos/features/homelab/jellyfin.nix | 6 ++++ .../nixos/features/homelab/pi-hole.nix | 7 +++-- .../homelab/tubearchivist-container.nix | 7 +++++ 7 files changed, 49 insertions(+), 18 deletions(-) diff --git a/nix/hosts/lemp11/modules/nginx.nix b/nix/hosts/lemp11/modules/nginx.nix index a4614f66..34ca2d87 100644 --- a/nix/hosts/lemp11/modules/nginx.nix +++ b/nix/hosts/lemp11/modules/nginx.nix @@ -1,13 +1,11 @@ +{ config, ... }: + { services.nginx = { enable = true; virtualHosts = { - "gitea.localhost".locations."/".proxyPass = "http://localhost:2222/"; - "immich.localhost".locations."/".proxyPass = "http://localhost:2283/"; - "jellyfin.localhost".locations."/".proxyPass = "http://localhost:8096/"; "syncthing.localhost".locations."/".proxyPass = "http://localhost:8384/"; - "tubearchivist.localhost".locations."/".proxyPass = "http://localhost:8000/"; }; }; } diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index 6f5dd967..a5919aa7 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -4,14 +4,14 @@ services.audiobookshelf = { enable = true; - host = "audiobookshelf.localhost"; + host = "audiobookshelf.davies.home"; port = 4001; }; services.nginx = { enable = true; - virtualHosts."audiobookshelf.localhost" = { + virtualHosts."audiobookshelf.davies.home" = { locations."/" = { proxyPass = "http://localhost:${toString config.services.audiobookshelf.port}/"; proxyWebsockets = true; diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index be0a1cf9..d44f3526 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -2,24 +2,35 @@ with lib; +let + port = 2222; +in { options.features.homelab.gitea.enable = mkEnableOption "Enable gitea"; config = mkIf config.features.homelab.gitea.enable { - services.gitea = { - enable = true; - group = "media"; - stateDir = "/mnt/media/gitea"; + services = { + gitea = { + enable = true; + group = "media"; + stateDir = "/mnt/media/gitea"; - settings = { - server = { - HTTP_PORT = 2222; - }; + settings = { + server = { + HTTP_PORT = port; + }; - service = { - DISABLE_REGISTRATION = true; + service = { + DISABLE_REGISTRATION = true; + }; }; }; + + nginx = { + enable = true; + + virtualHosts."gitea.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + }; }; }; } diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index ec235c38..098be47e 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -18,5 +18,11 @@ with lib; }; environment.systemPackages = [ pkgs.immich-cli ]; + + services.nginx = { + enable = true; + + virtualHosts."immich.davies.home".locations."/".proxyPass = "http://localhost:${toString config.services.immich.port}/"; + }; }; } diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 42c16023..12a79c99 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -12,5 +12,11 @@ with lib; group = "media"; configDir = "/mnt/media/jellyfin"; }; + + services.nginx = { + enable = true; + + virtualHosts."jellyfin.davies.home".locations."/".proxyPass = "http://localhost:8096/"; + }; }; } diff --git a/nix/modules/nixos/features/homelab/pi-hole.nix b/nix/modules/nixos/features/homelab/pi-hole.nix index 5d8801a7..cce9039c 100644 --- a/nix/modules/nixos/features/homelab/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/pi-hole.nix @@ -7,6 +7,9 @@ with lib; +let + port = 8082; +in { options.features.homelab.pihole.enable = mkEnableOption "Enable pihole"; @@ -36,7 +39,7 @@ with lib; "53:53/tcp" "53:53/udp" "67:67/udp" - "8082:80/tcp" + "${toString port}:80/tcp" ]; log-driver = "journald"; @@ -94,7 +97,7 @@ with lib; }; services.nginx.virtualHosts."pihole.localhost" = { - locations."/".proxyPass = "http://localhost:8082/"; + locations."/".proxyPass = "http://localhost:${toString port}/"; }; }; } diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/tubearchivist-container.nix index d944dc75..b3b54541 100644 --- a/nix/modules/nixos/features/homelab/tubearchivist-container.nix +++ b/nix/modules/nixos/features/homelab/tubearchivist-container.nix @@ -229,6 +229,7 @@ in wantedBy = [ "docker-compose-tubearchivist-root.target" ]; }; + systemd.services."docker-volume-tubearchivist_es" = { path = [ pkgs.docker ]; @@ -284,5 +285,11 @@ in wantedBy = [ "multi-user.target" ]; }; + + services.nginx = { + enable = true; + + virtualHosts."tubearchivist.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + }; }; } From f6abaa8926a2771d4084ef662ec9f51df2bac3b3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 07:54:09 +0000 Subject: [PATCH 1200/2258] Fix notes path with standalone Home Manager --- nix/modules/home-manager/features/cli/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index 3e523558..d59db6f3 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -19,6 +19,8 @@ ; }) + (import ./notes.nix { inherit pkgs; }) + (import ./tmux-sessionizer.nix { inherit config @@ -36,7 +38,6 @@ ./git.nix ./htop.nix ./lsd.nix - ./notes.nix ./pet.nix ./phpactor.nix ./ripgrep.nix From ee81a0dbb585e011c103c42de0294ec2aa316542 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 09:39:31 +0000 Subject: [PATCH 1201/2258] Ignore *.old directories --- nix/pkgs/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/pkgs/tmux-sessionizer.nix b/nix/pkgs/tmux-sessionizer.nix index f13206f0..6599b659 100644 --- a/nix/pkgs/tmux-sessionizer.nix +++ b/nix/pkgs/tmux-sessionizer.nix @@ -35,7 +35,7 @@ pkgs.writeShellApplication { if [[ $# -eq 1 ]]; then selected=$1 else - selected=$(find ~/ ~/Code ~/Code/personal ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d | fzf) + selected=$(find ~/ ~/Code ~/Code/personal ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d ! -name "*.old" | fzf) fi if [[ -z "$selected" ]]; then From 839cd30420ffea25ba169e680adb6664e0eb86ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 17:09:03 +0000 Subject: [PATCH 1202/2258] No more .tmux files --- nix/pkgs/tmux-sessionizer.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nix/pkgs/tmux-sessionizer.nix b/nix/pkgs/tmux-sessionizer.nix index 6599b659..177c22c3 100644 --- a/nix/pkgs/tmux-sessionizer.nix +++ b/nix/pkgs/tmux-sessionizer.nix @@ -23,9 +23,7 @@ pkgs.writeShellApplication { } hydrate() { - if [ -f "$2/.tmux" ]; then - tmux send-keys -t "$1" "source $2/.tmux" Enter - elif [ -f "$2/.tmux-sessionizer" ]; then + if [ -f "$2/.tmux-sessionizer" ]; then tmux send-keys -t "$1" "source $2/.tmux-sessionizer" Enter elif [ -f "$HOME/.tmux-sessionizer" ]; then tmux send-keys -t "$1" "source $HOME/.tmux-sessionizer" Enter From 434c40597b9ac2646bb0c282040b25f0029e4476 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 17:12:33 +0000 Subject: [PATCH 1203/2258] Don't exit on error As this file is sourced, it affects all subsequent shells created in the current session. --- nix/modules/home-manager/features/cli/tmux-sessionizer.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index c2e15c38..fed891de 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -22,6 +22,7 @@ with lib; ]; text = '' + set +o errexit set +o nounset if [[ "$PWD" == "$REPOS/os" || "$PWD" == "$REPOS/personal" ]]; then From 452f5875ce3247caed93755fbe798ff4560c8353 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 17:58:54 +0000 Subject: [PATCH 1204/2258] Set the notes directory path --- nix/lib/shared/scripts/export-video-list.nix | 2 +- nix/modules/home-manager/default.nix | 4 ++++ nix/modules/home-manager/features/cli/notes.nix | 10 +++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/nix/lib/shared/scripts/export-video-list.nix b/nix/lib/shared/scripts/export-video-list.nix index f81e04f8..257e2791 100644 --- a/nix/lib/shared/scripts/export-video-list.nix +++ b/nix/lib/shared/scripts/export-video-list.nix @@ -25,7 +25,7 @@ exit 1 fi - output_file="$HOME/Documents/videos.json" + output_file="''${DOCUMENTS}/videos.json" ${pkgs.tree}/bin/tree -J "$source_path/Videos" | ${pkgs.jq}/bin/jq . > "$output_file" ${pkgs.jq}/bin/jq . < "$output_file" diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix index f6fe1b8a..6f67cc9a 100644 --- a/nix/modules/home-manager/default.nix +++ b/nix/modules/home-manager/default.nix @@ -20,4 +20,8 @@ }) ./features/desktop ]; + + home.sessionVariables = { + DOCUMENTS = "$HOME/Documents"; + }; } diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/features/cli/notes.nix index 1c641865..b82e240e 100644 --- a/nix/modules/home-manager/features/cli/notes.nix +++ b/nix/modules/home-manager/features/cli/notes.nix @@ -1,5 +1,13 @@ { pkgs, ... }: { - home.packages = with pkgs; [ notes ]; + home = { + packages = with pkgs; [ notes ]; + + sessionVariables = { + NOTES_DIRECTORY = "$WIKI_DIRECTORY/notes"; + WIKI_DIRECTORY = "$DOCUMENTS/wiki"; + }; + }; + } From b1f817b82dc787ae84e02eb0a1c5fcc3dcfe4435 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 17:59:37 +0000 Subject: [PATCH 1205/2258] Follow symbolic links --- nix/pkgs/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/pkgs/tmux-sessionizer.nix b/nix/pkgs/tmux-sessionizer.nix index 177c22c3..1590b6ab 100644 --- a/nix/pkgs/tmux-sessionizer.nix +++ b/nix/pkgs/tmux-sessionizer.nix @@ -33,7 +33,7 @@ pkgs.writeShellApplication { if [[ $# -eq 1 ]]; then selected=$1 else - selected=$(find ~/ ~/Code ~/Code/personal ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d ! -name "*.old" | fzf) + selected=$(find -L ~/ ~/Code ~/Code/personal ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d ! -name "*.old" | fzf) fi if [[ -z "$selected" ]]; then From 0c6ddab3663e6e9890209e5c0973dbbc6ff0a71b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 18:26:12 +0000 Subject: [PATCH 1206/2258] Open a split window with C-b N to enter notes --- nix/modules/home-manager/features/cli/tmux.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index 13067b26..355ed3ba 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -75,6 +75,7 @@ in set-option -g pane-border-style "fg=#1f2335" bind-key -r f run-shell "tmux new-window tmux-sessionizer" + bind-key -r N run-shell "tmux split-window -h notes" if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' ''; From 6ed99e1a7bebbd95b8ce70eb175e29a983d81829 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 18:30:56 +0000 Subject: [PATCH 1207/2258] Fix notes directory path --- nix/modules/home-manager/features/cli/notes.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/features/cli/notes.nix index b82e240e..997d3565 100644 --- a/nix/modules/home-manager/features/cli/notes.nix +++ b/nix/modules/home-manager/features/cli/notes.nix @@ -5,7 +5,7 @@ packages = with pkgs; [ notes ]; sessionVariables = { - NOTES_DIRECTORY = "$WIKI_DIRECTORY/notes"; + NOTES_DIRECTORY = "$DOCUMENTS/wiki/notes"; WIKI_DIRECTORY = "$DOCUMENTS/wiki"; }; }; From 71ff14028542da05ba6fbf0d8c6e3dd1e2647d0c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 16 Dec 2024 20:31:56 +0000 Subject: [PATCH 1208/2258] Add composer abbreviations --- .../home-manager/features/cli/zsh/abbreviations.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh index 1e005b0c..a42cebc4 100644 --- a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh +++ b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh @@ -1,4 +1,4 @@ -abbr c="clear" +abbr cl="clear" abbr cs="create-script" abbr daily="run create-daily next" abbr rst="rst2pdf" @@ -133,3 +133,11 @@ abbr dvp="devenv processes" abbr dvs="devenv shell" abbr dvt="devenv tasks" abbr dvu="devenv up" + +abbr c="composer" +abbr cr="composer require" +abbr crd="composer require drupal/%" +abbr cu="composer update" +abbr cul="composer update --lock" +abbr cw="composer why" +abbr cwn="composer why-not" From 3a9f53735bbdf256835b20bf6017def1ac85f71f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 17 Dec 2024 13:00:00 +0000 Subject: [PATCH 1209/2258] Add w3m --- nix/lib/shared/home-manager-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index 38c4d29c..174f0a12 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -57,6 +57,7 @@ with pkgs; tree-sitter unzip virtualenv + w3m watchexec wget xclip From 4973f53114d6c0f7f66cbfd7c5c56ab9f09d5446 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 17 Dec 2024 13:00:00 +0000 Subject: [PATCH 1210/2258] Add Drush abbreviations --- .../home-manager/features/cli/zsh/abbreviations.zsh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh index a42cebc4..aa610615 100644 --- a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh +++ b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh @@ -141,3 +141,13 @@ abbr cu="composer update" abbr cul="composer update --lock" abbr cw="composer why" abbr cwn="composer why-not" + +abbr d="drush" +abbr dce="drush config:export -y" +abbr dci="drush config:import -y" +abbr dcr="drush cache:rebuild" +abbr den="drush pm:enable -y" +abbr deu="drush pm:uninstall" +abbr dscr="drush php:script" +abbr duli="drush uli" +abbr dup="drush updatedb -y" From 752353b76adbb5fd9e054eda368071df1dabd15e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 19 Dec 2024 21:26:19 +0000 Subject: [PATCH 1211/2258] Update flake.lock file dependencies --- flake.lock | 30 +++++++++---------- .../home-manager/features/cli/neovim.nix | 3 +- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 19649355..f3d4ec6f 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1733168902, - "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", + "lastModified": 1734343412, + "narHash": "sha256-b7G8oFp0Nj01BYUJ6ENC9Qf/HsYAIZvN9k/p0Kg/PFU=", "owner": "nix-community", "repo": "disko", - "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", + "rev": "a08bfe06b39e94eec98dd089a2c1b18af01fef19", "type": "github" }, "original": { @@ -91,11 +91,11 @@ ] }, "locked": { - "lastModified": 1733175814, - "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", + "lastModified": 1734622215, + "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", "owner": "nix-community", "repo": "home-manager", - "rev": "bf23fe41082aa0289c209169302afd3397092f22", + "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", "type": "github" }, "original": { @@ -107,11 +107,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1733139194, - "narHash": "sha256-PVQW9ovo0CJbhuhCsrhFJGGdD1euwUornspKpBIgdok=", + "lastModified": 1734352517, + "narHash": "sha256-mfv+J/vO4nqmIOlq8Y1rRW8hVsGH3M+I2ESMjhuebDs=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "c6c90887f84c02ce9ebf33b95ca79ef45007bf88", + "rev": "b12e314726a4226298fe82776b4baeaa7bcf3dcd", "type": "github" }, "original": { @@ -139,11 +139,11 @@ }, "nixpkgs-2405": { "locked": { - "lastModified": 1733016324, - "narHash": "sha256-8qwPSE2g1othR1u4uP86NXxm6i7E9nHPyJX3m3lx7Q4=", + "lastModified": 1734529975, + "narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7e1ca67996afd8233d9033edd26e442836cc2ad6", + "rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a", "type": "github" }, "original": { @@ -155,11 +155,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733015953, - "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", + "lastModified": 1734424634, + "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", + "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "type": "github" }, "original": { diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 0dc4cea3..d4070e2d 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -162,12 +162,11 @@ with lib; nodePackages.dockerfile-language-server-nodejs nodePackages.intelephense nodePackages.typescript-language-server - nodePackages.vls nodePackages.vscode-langservers-extracted - nodePackages.vue-language-server nodePackages.yaml-language-server phpactor terraform-ls + vue-language-server # Formatters black From 815c9ece0ee12acc208927bf550bcb1ef74b646b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 19 Dec 2024 21:28:16 +0000 Subject: [PATCH 1212/2258] Remove CHANGELOG.md --- CHANGELOG.md | 777 --------------------------------------------------- 1 file changed, 777 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index d1ec57df..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,777 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com), but adapted to work with trunk-based development and continuous delivery. - -Instead of grouping changes by tag, they are grouped by the date they are released. - -## 12th June 2024 - -### Added - -- Add `move-firefox-screenshots` - a script to move screenshots created in Firefox from my Downloads directory into my screenshots directory as there isn't a Firefox setting for this. - -## 11th June 2024 - -### Changed - -- Switch to `firefox-wayland`. -- Updated background colour in the tmux status bar. -- Switch from NixOS unstable to 24.05. - -### Fixed - -- Fix battery and charging notifications. - -## 10th June 2024 - -### Updated - -- Update `opdavies.nvim` to the latest version. - -### Changed - -- Format code in `flake.nix` and `lib` with the new `nixfmt-rfc-style`. - -## 9th June 2024 - -### Changed - -- Set the `systemd-boot` configuration limit to 10. -- Refactor zsh configuration. - - Use <https://github.com/MenkeTechnologies/zsh-expand> for expanding ZSH aliases instead of custom code. - - Use `programs.zsh.shellAliases` and `programs.zsh.shellGlobalAliases` for declaring aliases instead of `programs.zsh.initExtra`. -- Tweak battery and performance settings. -- Change the date format used in `i3status-rs`. - -### Removed - -- Remove the `starship` prompt. - -### Updated - -- Update flake lock dependencies. - -## 6th June 2024 - -### Updated - -- Update flake lock dependencies. - -## 2nd July 2024 - -### Added - -- Re-add the `starship` prompt. - -## 1st July 2024 - -### Updated - -- Update flake lock dependencies. - -## 31st May 2024 - -### Added - -- Add keybindings to increase and decrease the volume in `mpv`. -- Add `mpv`. - -### Removed - -- Remove `vlc`. - -### Changed - -- Add `wezterm` as my default terminal to see how it compares to Alacritty. -- Rename `kanshi.profiles` to `kanshi.settings` as `kanshi.settings` is deprecated. - -### Updated - -- Update flake lock dependencies - -## 24th May 2024 - -### Added - -- Add `wezterm`. - -## 23rd May 2024 - -### Added - -- Add `simple-http-server`. - -## 22nd May 2024 - -### Added - -- Add GNOME as a desktop manager, working with Wayland and Sway. -- Add `vss` as an alias for sorting words in my Vim spellfile (`~/Code/personal/opdavies.nvim/spell/en.utf-8.add`). - -### Updated - -- Update flake lock dependencies. - -### Changed - -- Move Slack from Home Manager to the NixOS configuration. -- Add `build-configs` from its derivation. - -## 20th May 2024 - -### Added - -- Add `swaybg`. - -### Changed - -- Remove Git aliases I wasn't using and move the `update` ZSH alias to be `git update`. - -### Updated - -- Update flake lock dependencies. - -## 19th May 2024 - -### Updated - -- Update `kdenlive` and remove references to nixpkgs 23.11. -- Update flake lock dependencies. - -## 15th May 2024 - -### Added - -- Alias `cat` to `bat`. - -## 12th May 2024 - -### Added - -- Add a `todo` function to append to a `TODO.txt` file. -- Add a `til` function to append to a `TIL.txt` file. - -### Changed - -- Don't automatically run tmuxinator when starting a `tmux` session. - -### Updated - -- Update flake lock dependencies. - -## 11th May 2024 - -### Changed - -- Open `pavucontrol` and `copyq` in a floating window. -- Configure `lsd`. - -## 10th May 2024 - -### Added - -- Add `update-all-git-repos` script to update top-level Git repositories to their latest versions. -- Add `just` globally. - -## 9th May 2024 - -### Added - -- Add the `git root` command to navigate to or execute commands at the root of a Git repository. -- Add `yt-dlp`. -- Add `ttyper` and set some default values. - -### Changed - -- Use `.ignored/justfile` if it exists when running `just` commands. -- Update monitor resolution in `kanshi`. -- Move some desktop-specific packages to the desktop list. -- Allow passing arguments to the `just nixos-*` commands. - -### Fixed - -- Fix colours in `tmux` and copying to the system clipboard. - -### Updated - -- Update flake lock dependencies. - -### Removed - -- Remove references to `autotiling`, as it's no longer used. - -## 7th May 2024 - -### Changed - -- Update sway configuration. - -### Updated - -- Update flake lock dependencies. - -## 6th May 2024 - -### Changed - -- Replace periods with underscores in tmux session names. - -### Updated - -- Update flake lock dependencies. - -## 5th May 2024 - -### Changed - -- Change background colours in the sway bar. -- Source a `~/.tmux.conf.local` file, if it exists. - -### Fixed - -- Include the `zsh-fzf-history-search` plugin within `.zshrc`. - -### 4th May 2024 - -### Changed - -- Move `bin` into my `~/.local` directory. -- Add directories within `~/Code/personal`, `~/Code/work` and `/tmp` when fuzzy-finding directories for tmux sessions. -- Set the default workspace in `sway`. -- Stop automatically assigning apps to workspaces. - -### Removed - -- Remove `starship`. - -### Updated - -- Update lock file dependencies. - -## 3rd May 2024 - -### Changed - -- Simplify the directory structure within `bin/t`. - -## 2nd May 2024 - -### Added - -- Add `syncthing` as a service. - -### Changed - -- Make `Prefix-W` create a new tmux session in the wiki directory. - -### Updated - -- Update flake lock dependencies. - -## 30th April 2024 - -### Fixed - -- Automatically run `kanshi` when reloading sway so the resolution is correct. -- Allow for firewall connections to xdebug. - -### Updated - -- Update flake lock dependencies. - -## 25th April 2024 - -### Added - -- Add `ddev` and `mkcert`. - -## 23rd April 2024 - -### Added - -- Add scripts to easily start and stop Traefik. - -### Changed - -- Move `~/.config/bin` to `~/bin`. - -## 19th April 2024 - -### Changed - -- Use `fzf` for searching ZSH history. - -## 18th April 2024 - -### Updated - -- Update flake lock dependencies. - -## 17th April 2024 - -### Added - -- Make `clone` work with HTTPS URLs. -- Add a `$REPOS` environment variable that links to my code repository directory (`~/Code`). - -### Fixed - -- Update Bitbucket URLs within the `clone` function. - -### Updated - -- Update flake lock dependencies. - -## 16th April 2024 - -### Added - -- Add a `clone` function for cloning Git repositories into the correct directory based on service provider and organisation name. - -## 8th April 2024 - -### Changed - -- Move `wsl2-*` commands to justfile. - -### Updated - -- Update flake lock dependencies. - -## 7th April 2024 - -### Added - -- Add `atuin` for searching shell history. - -### Updated - -- Update flake lock dependencies. - -## 4th April 2024 - -### Updated - -- Update `opdavies.nvim` to the latest version. - -## 3rd April 2024 - -### Changed - -- Enable smart gaps in sway. - -## 1st April 2024 - -### Changed - -- Remove support for `.tmuxinator.yml` files in `bin/t`. - -## 31st March 2024 - -### Added - -- Re-add autotiling with sway. - -### Changed - -- Use MesloLGSDZ Nerd Font Mono as the default monospace font. - -### Updated - -- Update `opdavies.nvim` to the latest version. - ---- - -## 30th March 2024 - -### Added - -- Add a keybinding to open Thunar. -- Add support for `.tmuxinator.yaml` files to `bin/t`. - -### Changed - -- Switch `awscli2` back to unstable. -- Replace `.tmux` with `tmuxinator`. - -## 29th March 2024 - -### Changed - -- Remove flake parts from `flake.nix`. - -## 26th March 2024 - -### Added - -- Add `tmuxinator`. - -### Changed - -- Use a `.ignored/.tmuxinator.yml` file, if it exists. -- Simplify `nixos-*` recipes in `justfile`. -- Configure gtk. - -### Updated - -- Update `opdavies.nvim` to the latest version. - -## 25th March 2024 - -### Changed - -- Switch back to Wayland and Sway. -- Format with `nixfmt`. - -### Fixed - -- Fix `awscli2` build error. - -### Updated - -- Update flake lock dependencies. - -## 22nd March 2024 - -### Added - -- Re-add `autotiling`. - -### Changed - -- Enable floating windows by default for Zoom. -- Replace `watchexec` with `entr`. - -## 20th March 2024 - -### Removed - -* Remove `Mod+Tab` keybinding from the i3 configuration so that it no longer toggles the previous workspace. - -## 18th March 2024 - -### Changed - -* Update autorandr configuration. -* Automatically prune unused Docker images on a weekly basis. - -## 14th March 2024 - -### Added - -- Add Pocket Casts, Spotify, Microsoft Teams, and Todoist. - -## 12th March 2024 - -### Removed - -* Remove lazygit from my Git configuration file. - -### Changed - -* Use a different email address for Git when working in a TfW codebase. - -## 9th March 2024 - -### Fixed - -* Fix error in Kdenlive when rendering a project by pinning it to the nixpkgs 23.11 release. -* Add `udev` rules via VIA/Vial which allow for more reliably accessing the keyboard, which was previously inconsistent and only seemed to work straight away after booting. - -## 1st March 2024 - -### Added - -* Add `cachix` for Nix binary caching (to be configured). - -### Changed - -* Git configuration changes after watching Scott Chacon's FOSDEM talk. - -## 27th February 2024 - -### Added - -* Add `bitwarden-cli`. - -## 26th February 2024 - -### Added - -* Add PHP 8.2 as a default global version. - -## 24th February 2024 - -### Removed - -* Remove `i3-auto-layout`. - -## 19th February 2024 - -### Added - -* Add an i3 keybinding to open `thunar`. -* Set the default i3 workspace. - -### Changed - -* Use `rofi` instead of `dmenu`. - -## 14th February 2024 - -### Changed - -* Replace the custom `watch-changes` script with `watchexec` (https://github.com/watchexec/watchexec). -* Add `arandr`. - -## 7th February 2024 - -### Changed - -* Run NixOS garbage collection daily instead of weekly and delete generations older than 7 days. - -## 4th February 2024 - -### Added - -* Add `i3-auto-layout` to add automatic tiling. - -### Removed - -* Remove `i3-gaps`. - -## 31st January 2024 - -### Changed - -* Focus in i3 should no longer follows the mouse. -* Change colours in `dmenu`. - -## 29th January 2024 - -### Changed - -* Automatically ignore `todo` and `notes` files from Git. -* Change i3 colours. - -## 26th January 2024 - -### Added - -* Re-add Starship prompt. - -### Changed - -* Update `build-configs` aliases. - -## 25th January 2024 - -### Added - -* Re-add the Sharship prompt. -* Add `lazygit`. -* Add Geist Mono Nerd Font and use it in Alacritty. -* Add `rclone` and `rclone-browser`. - -### Changed - -* Don't list any directories ending with `-old` or `.old` when using the `t` function. -* zsh: rename `nah` alias to `reset`. -* zsh: remove autocompletion plugin. -* Install `fzf` using Home Manager. - -### Fixed - -* Only show the first level of directories in `~/Code/tmp` when using the `t` function. - -## 24th January 2024 - -### Changed - -* Extract my Neovim configuration to a separate repository - <https://github.com/opdavies/opdavies.nvim>. - -## 17th January 2024 - -### Added - -* nvim: add `<leader>gc` to run `:Git commit`. -* nvim: add PHP snippets for `__invoke()` and `__construct()` methods. - -## 15th January 2024 - -### Added - -* Add a keybinding for i3 to use `feh` to switch the wallpaper. - -## 10th January 2024 - -### Added - -* nvim: show trailing spaces. -* nvim: remove completion in command mode. - -## 8th January 2024 - -### Added - -* Add `blueman` for Bluetooth and `gscan2pdf` for scanning. - -### Changed - -* Don't use autocomplete in Vim's command mode. -* Making the NixOS hostname configurable from the Flake. - -## 7th January 2024 - -### Added - -* Add `feh` to automatically select a random wallpaper and link it with i3 and autorandr. -* Add Telescope keymaps to find the current word under the cursor within the open project. - -## 4th January 2024 - -### Added - -* Add CopyQ for clipboard management and Flameshot for screenshots. - -## 3rd January 2024 - -### Added - -* Add iamcco/markdown-preview.nvim to preview Markdown files within Neovim. - -## 27th December 2023 - -### Added - -* Add Dunst for notifications, including when the battery is low or fully charged. - -## 21st December 2023 - -### Added - -* Add `run` aliases to zsh. - -### Changed - -* Update Alacritty configuration. -* Change `splitbelow` to `false` in Neovim. - -### Removed - -* Remove the Starship prompt. - -## 19th December 2023 - -### Fixed - -* Fix terminal colours within tmux. - -## 18th December 2023 - -### Added - -* Add `prettier` as a formatter within Neovim. - -## 17th December 2023 - -### Changed - -* Update the Git commit message template, removing references to conventional commits. -* Open Harpoon window at the top of the screen. -* Manage `ripgrep` with Home Manager. - -## 15th December 2023 - -### Added - -* Add `:dotfiles` and `:website` matches to espanso. - -### Changed - -* Configure colours in `i3status` and remove some modules. - -## 14th December 2023 - -### Added - -* Add [espanso](https://espanso.org) as a text expander. - -## 13th December 2023 - -### Changed - -* Changed tmux border pane colours. - -### Removed - -* Remove `just` from the flake. - -## 12th December 2023 - -### Added - -* Add `Q` keymaps to easily re-run macros in Neovim. - -### Changed - -* Move `autorandr` configuration into its own Nix module. -* Change default i3 workspaces for Alacritty and VLC. -* Change back to the stable release of nixpkgs as Slack was broken. - -### Removed - -* Remove `terraform` from the flake. - -## 9th December 2023 - -### Changed - -* Use `zoxide` to provide paths in the `t` script. -* Upgrade to Harpoon 2. - -## 7th December 2023 - -### Added - -* Use `autorandr` for monitor management instead of custom bash scripts. - -## 6th December 2023 - -### Added - -* Re-add `GoToFile` command that starts Neovim with Telescope open. - -### Changed - -* Switched to nixpkgs unstable by default. - -## 1st December 2023 - -### Changed - -* Update nixpkgs to 23.11. - -## 29th November 2023 - -### Changed - -* Update PHP test method snippets and netrw in Neovim. - -## 21st November 2023 - -### Added - -* Add CHANGELOG.md. -* More i3 key mappings for navigating between and focusing windows, as well as volume and brightness control. - -### Changed - -* Updated Harpoon mappings. -* Make the monitor ID and mode configurable in `switch-to-laptop-screen` and `switch-to-monitor` scripts. - -### Fixed - -* Prevent `markdownlint` from showing errors for line lengths and duplicate non-sibling headings, making it easier to work with files, such as CHANGELOG.md, that contains the same headings multiple times. From c50f54fb2c72c959a67c4b9837f1248792c1c0aa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 19 Dec 2024 18:00:00 +0000 Subject: [PATCH 1213/2258] Add forgejo, potentially to replace Gitea --- nix/hosts/lemp11/default.nix | 1 + .../nixos/features/homelab/default.nix | 1 + .../nixos/features/homelab/forgejo.nix | 36 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/forgejo.nix diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 8fe37f53..eee30170 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -12,6 +12,7 @@ }; homelab = { + forgejo.enable = true; gitea.enable = true; immich.enable = true; jellyfin.enable = true; diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index d60cbb3b..4058b836 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -1,6 +1,7 @@ { imports = [ ./audiobookshelf.nix + ./forgejo.nix ./gitea.nix ./immich.nix ./jellyfin.nix diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix new file mode 100644 index 00000000..0e717320 --- /dev/null +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -0,0 +1,36 @@ +{ config, lib, ... }: + +with lib; + +let + port = 2223; +in +{ + options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo"; + + config = mkIf config.features.homelab.forgejo.enable { + services = { + forgejo = { + enable = true; + group = "media"; + stateDir = "/mnt/media/forgejo"; + + settings = { + server = { + HTTP_PORT = port; + }; + + service = { + DISABLE_REGISTRATION = true; + }; + }; + }; + + nginx = { + enable = true; + + virtualHosts."forgejo.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + }; + }; + }; +} From 83339d1bc2c0b36322d26ec4bed436eab0ea04c8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 21 Dec 2024 00:45:06 +0000 Subject: [PATCH 1214/2258] Use nixpkgs-2405 on hetznix --- flake.nix | 2 +- nix/hosts/hetznix/configuration.nix | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index cd2267d2..2c601b3f 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; hetznix = nixpkgs.lib.nixosSystem { - inherit system; + inherit specialArgs system; modules = [ disko.nixosModules.disko diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 51fdb46f..08b5adc7 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -1,4 +1,5 @@ { + inputs, modulesPath, lib, pkgs, @@ -16,6 +17,8 @@ ./modules/nginx ]; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; + networking.firewall.allowedTCPPorts = [ 80 443 From f4d237c7ba32098c4a3401324922ec267c293724 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 21 Dec 2024 00:46:25 +0000 Subject: [PATCH 1215/2258] Configure scanning --- nix/hosts/lemp11/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 6ca028aa..817d4aa7 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -159,6 +159,7 @@ "docker" "media" "networkmanager" + "scanner" "wheel" ]; packages = [ ]; @@ -318,4 +319,6 @@ KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" ''; }; + + hardware.sane.enable = true; } From e4d27eefc92d85df9eb3460c95ecad613bc1ba15 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 21 Dec 2024 02:21:20 +0000 Subject: [PATCH 1216/2258] Update rewrites --- .../hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix index d40ce4b3..8eb4afc0 100644 --- a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix @@ -7,7 +7,6 @@ extraConfig = '' error_page 404 /404; - # rewrite ^/archive/(.*)/?$ /daily/$1 permanent; rewrite ^/10-useful-drupal-6-modules-i-use-every-project/?$ /blog/10-useful-drupal-6-modules permanent; rewrite ^/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; rewrite ^/2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio/?$ /blog/using-imagecache-imagecrop-my-portfolio permanent; @@ -254,6 +253,7 @@ rewrite ^/code-enigma-interview/?$ https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent; rewrite ^/consulting/?$ / permanent; rewrite ^/contrib-half-hour/?$ https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent; + rewrite ^/cv/?$ /cv.txt permanent; rewrite ^/d0P5z/?$ /talks/drupal-8-php-libraries-drupalorg-api permanent; rewrite ^/d7/?$ /drupal7 permanent; rewrite ^/dcbristol-cfp/?$ https://www.papercall.io/drupalcamp-bristol-2019 permanent; @@ -419,6 +419,8 @@ rewrite ^/talks/(.*)$ /presentations/$1 permanent; rewrite ^/talks/?$ /presentations permanent; + rewrite ^/archive/(.*)$ /daily/$1 permanent; + # Remove trailing slashes. rewrite ^/(.*)/$ /$1 permanent; ''; From 07c6bd0ac71a33039e4b7457c8d2e52fba1a1588 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 19 Dec 2024 00:57:38 +0000 Subject: [PATCH 1217/2258] Add t490 host --- flake.nix | 15 ++ nix/home/opdavies/hosts/t490.nix | 30 +++ nix/hosts/t490/configuration.nix | 314 ++++++++++++++++++++++ nix/hosts/t490/default.nix | 5 + nix/hosts/t490/hardware-configuration.nix | 39 +++ 5 files changed, 403 insertions(+) create mode 100644 nix/home/opdavies/hosts/t490.nix create mode 100644 nix/hosts/t490/configuration.nix create mode 100644 nix/hosts/t490/default.nix create mode 100644 nix/hosts/t490/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 2c601b3f..46b1a8df 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,7 @@ { disko, home-manager, + nixos-hardware, nixpkgs, self, ... @@ -65,6 +66,20 @@ modules = [ ./nix/hosts/lemp11 ]; }; + t490 = nixpkgs.lib.nixosSystem { + specialArgs = specialArgs // { + desktop = true; + hostname = "t490"; + }; + + modules = [ + ./nix/hosts/t490 + + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.lenovo-thinkpad-t490 + ]; + }; + hetznix = nixpkgs.lib.nixosSystem { inherit specialArgs system; diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix new file mode 100644 index 00000000..bdabdaa1 --- /dev/null +++ b/nix/home/opdavies/hosts/t490.nix @@ -0,0 +1,30 @@ +{ ... }: + +{ + features = { + cli = { + bluetuith.enable = true; + direnv.enable = true; + tmux-sessionizer.enable = true; + }; + + desktop = { + copyq.enable = true; + discord.enable = true; + espanso.enable = true; + flameshot.enable = true; + gtk.enable = true; + slack.enable = true; + + media = { + gimp.enable = true; + handbrake.enable = true; + kdenlive.enable = true; + pocket-casts.enable = true; + mpv.enable = true; + }; + + zoom.enable = true; + }; + }; +} diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix new file mode 100644 index 00000000..170d0906 --- /dev/null +++ b/nix/hosts/t490/configuration.nix @@ -0,0 +1,314 @@ +{ + hostname, + inputs, + outputs, + pkgs, + desktop ? false, + self, + system, + username, + ... +}: + +{ + imports = [ + inputs.home-manager.nixosModules.home-manager + + outputs.nixosModules.default + + ./hardware-configuration.nix + ]; + + home-manager = { + extraSpecialArgs = { + inherit + hostname + inputs + outputs + desktop + self + system + username + ; + }; + useGlobalPkgs = true; + useUserPackages = true; + + users."${username}" = import "${self}/nix/home/${username}"; + }; + + nixpkgs = { + config = { + allowUnfree = true; + + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; + + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; + }; + + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + + # Bootloader. + boot = { + loader = { + systemd-boot = { + enable = true; + configurationLimit = 10; + }; + + efi = { + canTouchEfiVariables = true; + }; + }; + }; + + services.thermald.enable = true; + services.power-profiles-daemon.enable = false; + + systemd.extraConfig = '' + DefaultTimeoutStopSec=10s + ''; + + networking.hostName = hostname; + + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + services.xserver = { + xkb = { + layout = "gb"; + variant = ""; + }; + }; + + # Configure console keymap + console.keyMap = "uk"; + + services.avahi.enable = true; + services.avahi.nssmdns4 = true; + services.avahi.openFirewall = true; + services.printing.enable = true; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; + + hardware.bluetooth.enable = true; + + security = { + polkit.enable = true; + rtkit.enable = true; + }; + + services.pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + users.users.${username} = { + isNormalUser = true; + description = "Oliver Davies"; + extraGroups = [ + "docker" + "media" + "networkmanager" + "wheel" + ]; + packages = [ ]; + }; + + users.groups.media = { }; + + security.sudo.wheelNeedsPassword = false; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = + with pkgs; + [ + caffeine-ng + cryptsetup + gtypist + fastfetch + mermaid-cli + mkcert + ttyper + yt-dlp + ytfzf + ] + ++ pkgs.lib.optionals desktop [ + acpi + arandr + brightnessctl + cpufrequtils + libnotify + pmutils + ffmpegthumbnailer + libreoffice + logseq + rclone + rclone-browser + shotwell + vscode + xfce.thunar + xfce.thunar-volman + xfce.tumbler + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + # Open ports in the firewall. + networking.firewall.allowedTCPPorts = [ + 9003 # xdebug + ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + + programs.dconf.enable = true; + + programs.zsh.enable = true; + programs.zsh.histSize = 5000; + + users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; + + zramSwap.enable = true; + + nix = { + extraOptions = '' + trusted-users = root ${username} + ''; + + gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 7d"; + }; + + optimise.automatic = true; + + settings = { + auto-optimise-store = true; + experimental-features = [ + "nix-command" + "flakes" + ]; + warn-dirty = false; + }; + }; + + # Make Caps lock work as an Escape key on press and Ctrl on hold. + services.interception-tools = + let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in + { + enable = true; + plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; + + services.gvfs.enable = true; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; + + programs.firefox = { + enable = true; + languagePacks = [ "en-GB" ]; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + + services.blueman.enable = true; + + services.cron = { + enable = true; + + systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; + }; + + services.auto-cpufreq.enable = true; + + services.udev = { + enable = true; + extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; + }; +} diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix new file mode 100644 index 00000000..1d03934f --- /dev/null +++ b/nix/hosts/t490/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./configuration.nix + ]; +} diff --git a/nix/hosts/t490/hardware-configuration.nix b/nix/hosts/t490/hardware-configuration.nix new file mode 100644 index 00000000..784b2adf --- /dev/null +++ b/nix/hosts/t490/hardware-configuration.nix @@ -0,0 +1,39 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/001febe7-57e8-4c9a-bbaf-52c3d8305b63"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/5F0A-3374"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From 9088dac46d97774b3ff83faed150aff7c271f92a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 19 Dec 2024 08:00:00 +0000 Subject: [PATCH 1218/2258] Start to extract common host configuration --- nix/hosts/common/default.nix | 16 ++++++++++++++++ nix/hosts/lemp11/configuration.nix | 6 ------ nix/hosts/lemp11/default.nix | 2 ++ nix/hosts/t490/configuration.nix | 6 ------ nix/hosts/t490/default.nix | 4 +++- 5 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 nix/hosts/common/default.nix diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix new file mode 100644 index 00000000..fd0852f0 --- /dev/null +++ b/nix/hosts/common/default.nix @@ -0,0 +1,16 @@ +{ + hostname, + inputs, + outputs, + ... +}: + +{ + imports = [ + inputs.home-manager.nixosModules.home-manager + + outputs.nixosModules.default + ]; + + networking.hostName = hostname; +} diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 817d4aa7..cfb4e800 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -12,16 +12,12 @@ { imports = [ - inputs.home-manager.nixosModules.home-manager - inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-gpu-intel inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-laptop-hdd inputs.nixos-hardware.nixosModules.system76 - outputs.nixosModules.default - ./hardware-configuration.nix ]; @@ -81,8 +77,6 @@ DefaultTimeoutStopSec=10s ''; - networking.hostName = hostname; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index eee30170..cdd72e79 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -25,6 +25,8 @@ imports = [ inputs.agenix.nixosModules.default + ../common + ./configuration.nix ./secrets.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 170d0906..54477981 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -12,10 +12,6 @@ { imports = [ - inputs.home-manager.nixosModules.home-manager - - outputs.nixosModules.default - ./hardware-configuration.nix ]; @@ -74,8 +70,6 @@ DefaultTimeoutStopSec=10s ''; - networking.hostName = hostname; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix index 1d03934f..5900e7a0 100644 --- a/nix/hosts/t490/default.nix +++ b/nix/hosts/t490/default.nix @@ -1,5 +1,7 @@ { - imports = [ + imports = [ + ../common + ./configuration.nix ]; } From 1229a9c92a20493b761785d3ad7b50a2e457ad84 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 22 Dec 2024 20:52:31 +0000 Subject: [PATCH 1219/2258] t490: add peek and games --- nix/hosts/t490/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix index 5900e7a0..786716b0 100644 --- a/nix/hosts/t490/default.nix +++ b/nix/hosts/t490/default.nix @@ -4,4 +4,11 @@ ./configuration.nix ]; + + features = { + desktop = { + gaming.enable = true; + peek.enable = true; + }; + }; } From c462a9d35a5fe5d1865cd7d366fb45aabda40f38 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 22 Dec 2024 20:52:49 +0000 Subject: [PATCH 1220/2258] Set the rofi theme --- nix/modules/nixos/rofi.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/nixos/rofi.nix b/nix/modules/nixos/rofi.nix index b8befe5f..e7da11e9 100644 --- a/nix/modules/nixos/rofi.nix +++ b/nix/modules/nixos/rofi.nix @@ -9,6 +9,7 @@ home-manager.users.${username}.programs.rofi = { enable = true; cycle = true; + theme = "Arc-Dark"; extraConfig = { modi = "run,drun,emoji,calc"; From 67a7d9d3afed5e7bc4b30327291058b40c39fd58 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 22 Dec 2024 22:07:14 +0000 Subject: [PATCH 1221/2258] Update flake.lock file dependencies --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index f3d4ec6f..f3452d5d 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1734343412, - "narHash": "sha256-b7G8oFp0Nj01BYUJ6ENC9Qf/HsYAIZvN9k/p0Kg/PFU=", + "lastModified": 1734701201, + "narHash": "sha256-hk0roBX10j/hospoWIJIJj3i2skd7Oml6yKQBx7mTFk=", "owner": "nix-community", "repo": "disko", - "rev": "a08bfe06b39e94eec98dd089a2c1b18af01fef19", + "rev": "2ee76c861af3b895b3b104bae04777b61397485b", "type": "github" }, "original": { @@ -91,11 +91,11 @@ ] }, "locked": { - "lastModified": 1734622215, - "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", + "lastModified": 1734893333, + "narHash": "sha256-0Ft7iTkl3UWAix72teY5nflYQD7GE0KvIiT+ox4wkB8=", "owner": "nix-community", "repo": "home-manager", - "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", + "rev": "1f74238a4c8e534a1b6be72cb5153043071ffd17", "type": "github" }, "original": { @@ -107,11 +107,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1734352517, - "narHash": "sha256-mfv+J/vO4nqmIOlq8Y1rRW8hVsGH3M+I2ESMjhuebDs=", + "lastModified": 1734862644, + "narHash": "sha256-04xesW7HITdF5WUmNM39WD4tkEERk3Ez2W1nNvdIvIw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b12e314726a4226298fe82776b4baeaa7bcf3dcd", + "rev": "e8516a23524cc9083f5a02a8d64d14770e4c7c09", "type": "github" }, "original": { @@ -155,11 +155,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "type": "github" }, "original": { From 8607e1dee497d872c2c3a77a856912402b0fd8df Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 22 Dec 2024 22:54:21 +0000 Subject: [PATCH 1222/2258] Re-add Meslo Nerd Font --- nix/modules/home-manager/features/desktop/alacritty.nix | 2 +- nix/modules/nixos/fonts.nix | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 77cc625d..4b3f323a 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -27,7 +27,7 @@ with lib; size = 10; bold.style = "Regular"; - normal.family = "JetBrainsMono Nerd Font Mono"; + normal.family = "MesloLGSDZ Nerd Font Mono"; }; terminal.shell = { diff --git a/nix/modules/nixos/fonts.nix b/nix/modules/nixos/fonts.nix index 88cfe39d..892eff73 100644 --- a/nix/modules/nixos/fonts.nix +++ b/nix/modules/nixos/fonts.nix @@ -4,13 +4,11 @@ fonts = { fontconfig = { enable = true; - defaultFonts = { - monospace = [ "JetBrainsMono Nerd Font Mono" ]; - }; }; packages = with pkgs; [ nerd-fonts.jetbrains-mono + nerd-fonts.meslo-lg nerd-fonts.terminess-ttf ]; }; From b48cc7774a4c35d4222f17e9332da845bad85418 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 23 Dec 2024 00:28:59 +0000 Subject: [PATCH 1223/2258] Change desktop to headless --- flake.nix | 12 ++++++++---- nix/home/opdavies/default.nix | 6 +++--- nix/hosts/lemp11/configuration.nix | 6 +++--- nix/hosts/t490/configuration.nix | 6 +++--- nix/lib/shared/home-manager-packages.nix | 5 ++--- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/flake.nix b/flake.nix index 46b1a8df..98a23bab 100644 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,8 @@ username = "opdavies"; specialArgs = { + headless = false; + inherit inputs outputs @@ -59,7 +61,6 @@ nixosConfigurations = { lemp11 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { - desktop = true; hostname = "lemp11"; }; @@ -68,7 +69,6 @@ t490 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { - desktop = true; hostname = "t490"; }; @@ -81,7 +81,11 @@ }; hetznix = nixpkgs.lib.nixosSystem { - inherit specialArgs system; + inherit system; + + specialArgs = specialArgs // { + headless = true; + }; modules = [ disko.nixosModules.disko @@ -95,7 +99,7 @@ inherit pkgs; extraSpecialArgs = specialArgs // { - desktop = false; + headless = true; hostname = "PW05CH3L"; }; diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 678f3e06..fc09077e 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -1,6 +1,6 @@ { config, - desktop, + headless ? false, hostname, inputs, outputs, @@ -44,7 +44,7 @@ let shared-packages = import "${self}/nix/lib/shared/home-manager-packages.nix" { inherit - desktop + headless inputs pkgs username @@ -56,7 +56,7 @@ in home.packages = shared-packages - ++ pkgs.lib.optionals desktop ( + ++ pkgs.lib.optionals (!headless) ( with pkgs; [ build-glove80 diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index cfb4e800..5ebb4bfe 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -1,9 +1,9 @@ { + headless ? false, hostname, inputs, outputs, pkgs, - desktop ? false, self, system, username, @@ -27,7 +27,7 @@ hostname inputs outputs - desktop + headless self system username @@ -178,7 +178,7 @@ yt-dlp ytfzf ] - ++ pkgs.lib.optionals desktop [ + ++ pkgs.lib.optionals (!headless) [ acpi arandr brightnessctl diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 54477981..68a5f8c3 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -1,9 +1,9 @@ { + headless ? false, hostname, inputs, outputs, pkgs, - desktop ? false, self, system, username, @@ -21,7 +21,7 @@ hostname inputs outputs - desktop + headless self system username @@ -170,7 +170,7 @@ yt-dlp ytfzf ] - ++ pkgs.lib.optionals desktop [ + ++ pkgs.lib.optionals (!headless) [ acpi arandr brightnessctl diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index 174f0a12..8fad645e 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -1,6 +1,5 @@ { - desktop, - inputs, + headless, pkgs, username, ... @@ -70,7 +69,7 @@ with pkgs; deliver run ] -++ pkgs.lib.optionals desktop [ +++ pkgs.lib.optionals (!headless) [ # Scripts. _timer export-video-list From 0cb8818245b23f6678e4265e1c94a575e2d2d4a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 23 Dec 2024 06:50:56 +0000 Subject: [PATCH 1224/2258] t490: add agenix --- flake.nix | 12 +++++++++--- nix/hosts/lemp11/default.nix | 2 -- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 98a23bab..c7a3f6d2 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,7 @@ outputs = { + agenix, disko, home-manager, nixos-hardware, @@ -64,7 +65,11 @@ hostname = "lemp11"; }; - modules = [ ./nix/hosts/lemp11 ]; + modules = [ + agenix.nixosModules.default + + ./nix/hosts/lemp11 + ]; }; t490 = nixpkgs.lib.nixosSystem { @@ -73,10 +78,11 @@ }; modules = [ - ./nix/hosts/t490 - + agenix.nixosModules.default nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.lenovo-thinkpad-t490 + + ./nix/hosts/t490 ]; }; diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index cdd72e79..3baef024 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -23,8 +23,6 @@ }; imports = [ - inputs.agenix.nixosModules.default - ../common ./configuration.nix From 2dad0a487d66d84763430ad17af95976895cb64d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 23 Dec 2024 07:09:07 +0000 Subject: [PATCH 1225/2258] t490: add via and android-tools --- nix/hosts/t490/configuration.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 68a5f8c3..a1a10259 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -148,7 +148,10 @@ "networkmanager" "wheel" ]; - packages = [ ]; + packages = with pkgs; [ + android-tools + via + ]; }; users.groups.media = { }; From be933430232a97a43130eded470ee963ac1f4797 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 23 Dec 2024 18:05:40 +0000 Subject: [PATCH 1226/2258] Update zsh configuration --- nix/hosts/t490/configuration.nix | 3 - nix/modules/home-manager/features/cli/zsh.nix | 59 +------------------ 2 files changed, 2 insertions(+), 60 deletions(-) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index a1a10259..bc6033a1 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -223,9 +223,6 @@ programs.dconf.enable = true; - programs.zsh.enable = true; - programs.zsh.histSize = 5000; - users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; zramSwap.enable = true; diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index 37412bdf..79c04b52 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -2,11 +2,12 @@ { programs.zsh = { - dotDir = ".config/zsh"; enable = true; enableCompletion = true; + enableSyntaxHighlighting = true; cdpath = [ "~/Code" ]; + dotDir = ".config/zsh"; shellAliases = (import ./zsh/aliases.nix); @@ -22,12 +23,6 @@ alias -s {pdf,PDF}="background okular" alias -s {zip,ZIP}="unzip -l" - background() { - for ((i=2;i<=$#;i++)); do - ''${@[1]} ''${@[$i]} &> /dev/null & - done - } - git() { if [[ "''${1}" == "root" ]]; then shift @@ -52,46 +47,9 @@ command yt-dlp --paths ~/Videos "$@" } - # Case insensitive autocompletion. - zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}" "r:|=*" "l:|=* r:|=*" - autoload -Uz compinit && compinit - bindkey -s ^f "tmux-sessionizer\n" bindkey -s ^v "nvim\n" - clear-ls-all() { - clear - ls -al - zle reset-prompt - } - zle -N clear-ls-all - - clear-git-status() { - clear - git status - zle reset-prompt - } - zle -N clear-git-status - - clear-tree-2() { - clear - tree -L 2 - zle reset-prompt - } - zle -N clear-tree-2 - - clear-tree-3() { - clear - tree -L 3 - zle reset-prompt - } - zle -N clear-tree-3 - - bindkey '^G' clear-git-status - # bindkey '^H' clear-tree-3 - # bindkey '^J' clear-tree-2 - # bindkey '^K' clear-ls-all - setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups @@ -102,21 +60,8 @@ enable = true; plugins = [ - { - name = "plugin/git"; - tags = [ "from:oh-my-zsh" ]; - } - - { - name = "plugin/vi-mode"; - tags = [ "from:oh-my-zsh" ]; - } - { name = "Aloxaf/fzf-tab"; } { name = "olets/zsh-abbr"; } - - { name = "zsh-users/zsh-completions"; } - { name = "zsh-users/zsh-syntax-highlighting"; } ]; }; }; From 9a10b7017bc44468f3d0b06a02032952d1cd47e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 00:13:42 +0000 Subject: [PATCH 1227/2258] Disable direnv logging with direnv.silent --- nix/home/opdavies/default.nix | 1 - nix/modules/home-manager/features/cli/direnv.nix | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index fc09077e..d3bc1f8b 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -73,7 +73,6 @@ in ); home.sessionVariables = { - DIRENV_LOG_FORMAT = ""; EDITOR = "nvim"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; diff --git a/nix/modules/home-manager/features/cli/direnv.nix b/nix/modules/home-manager/features/cli/direnv.nix index 0509ce5b..5f39dd50 100644 --- a/nix/modules/home-manager/features/cli/direnv.nix +++ b/nix/modules/home-manager/features/cli/direnv.nix @@ -9,7 +9,10 @@ with lib; programs.direnv = { enable = true; enableZshIntegration = true; + nix-direnv.enable = true; + + silent = true; }; }; } From f55e94ad4c58ca59d32e17dca66eee43316da2c8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 00:13:42 +0000 Subject: [PATCH 1228/2258] Make audiobookshelf togglable per host --- .../nixos/features/homelab/audiobookshelf.nix | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index a5919aa7..54aabb71 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -1,20 +1,29 @@ -{ config, ... }: +{ config, lib, ... }: +with lib; + +let + cfg = config.features.homelab.audiobookshelf; +in { - services.audiobookshelf = { - enable = true; + options.features.homelab.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; - host = "audiobookshelf.davies.home"; - port = 4001; - }; + config = mkIf cfg.enable { + services.audiobookshelf = { + enable = true; - services.nginx = { - enable = true; + host = "audiobookshelf.davies.home"; + port = 4001; + }; - virtualHosts."audiobookshelf.davies.home" = { - locations."/" = { - proxyPass = "http://localhost:${toString config.services.audiobookshelf.port}/"; - proxyWebsockets = true; + services.nginx = { + enable = true; + + virtualHosts."audiobookshelf.davies.home" = { + locations."/" = { + proxyPass = "http://localhost:${toString config.services.audiobookshelf.port}/"; + proxyWebsockets = true; + }; }; }; }; From d12041ba46fda46e803b170faec86f2d0d33a99b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 00:13:42 +0000 Subject: [PATCH 1229/2258] Make autorandr configurable per host --- nix/modules/nixos/autorandr.nix | 39 ++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/nix/modules/nixos/autorandr.nix b/nix/modules/nixos/autorandr.nix index 9adbaea6..b00d34dd 100644 --- a/nix/modules/nixos/autorandr.nix +++ b/nix/modules/nixos/autorandr.nix @@ -1,20 +1,41 @@ +{ config, ... }: + { services.autorandr = { enable = true; profiles = let - fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; - name = "eDP-1"; + hosts = { + lemp11 = { + internal = { + fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; + name = "eDP-1"; + }; + + desktop.name = "HDMI-1"; + }; + + t490 = { + internal = { + fingerprint = "00ffffffffffff0030e4fa0500000000001c0104a51f117802aa95955e598e271b5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001ab62c80f4703816403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746412d53504432004d"; + name = "eDP-1"; + }; + + desktop.name = "HDMI-2"; + }; + }; + + host = hosts."${config.networking.hostName}"; in { default = { fingerprint = { - "${name}" = fingerprint; + "${host.internal.name}" = host.internal.fingerprint; }; config = { - "${name}" = { + "${host.internal.name}" = { enable = true; mode = "1920x1080"; }; @@ -23,9 +44,9 @@ desktop = { config = { - "${name}".enable = false; + "${host.internal.name}".enable = false; - "HDMI-1" = { + "${host.desktop.name}" = { enable = true; mode = "2560x1440"; primary = true; @@ -34,8 +55,10 @@ }; fingerprint = { - "${name}" = fingerprint; - "HDMI-1" = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + "${host.internal.name}" = host.internal.fingerprint; + + "${host.desktop.name}" = + "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; }; }; }; From 50c8d8ae1884a3508cf3be0ed1658c08207a79d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 00:13:42 +0000 Subject: [PATCH 1230/2258] Add freshrss As services.freshss wasn't working and not logging in, I've used Docker for this. --- .../nixos/features/homelab/default.nix | 1 + .../features/homelab/freshrss/container.nix | 88 +++++++++++++++++++ .../features/homelab/freshrss/default.nix | 19 ++++ 3 files changed, 108 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/freshrss/container.nix create mode 100644 nix/modules/nixos/features/homelab/freshrss/default.nix diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index 4058b836..a23216c5 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -2,6 +2,7 @@ imports = [ ./audiobookshelf.nix ./forgejo.nix + ./freshrss ./gitea.nix ./immich.nix ./jellyfin.nix diff --git a/nix/modules/nixos/features/homelab/freshrss/container.nix b/nix/modules/nixos/features/homelab/freshrss/container.nix new file mode 100644 index 00000000..9576d602 --- /dev/null +++ b/nix/modules/nixos/features/homelab/freshrss/container.nix @@ -0,0 +1,88 @@ +# Auto-generated using compose2nix v0.3.2-pre. +{ pkgs, lib, ... }: + +let + port = 4003; +in +{ + virtualisation.docker = { + enable = true; + autoPrune.enable = true; + }; + virtualisation.oci-containers.backend = "docker"; + + virtualisation.oci-containers.containers."freshrss" = { + image = "lscr.io/linuxserver/freshrss:latest"; + + environment = { + "PGID" = "1000"; + "PUID" = "1000"; + "TZ" = "Etc/UTC"; + }; + + volumes = [ + "/home/opdavies/Code/dotfiles/freshrss-config:/config:rw" + ]; + + ports = [ + "${toString port}:80/tcp" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=freshrss" + "--network=freshrss_default" + ]; + }; + + systemd.services."docker-freshrss" = { + serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartMaxDelaySec = lib.mkOverride 90 "1m"; + RestartSec = lib.mkOverride 90 "100ms"; + RestartSteps = lib.mkOverride 90 9; + }; + + after = [ + "docker-network-freshrss_default.service" + ]; + + requires = [ + "docker-network-freshrss_default.service" + ]; + + partOf = [ + "docker-compose-freshrss-root.target" + ]; + + wantedBy = [ + "docker-compose-freshrss-root.target" + ]; + }; + + systemd.services."docker-network-freshrss_default" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f freshrss_default"; + }; + + script = '' + docker network inspect freshrss_default || docker network create freshrss_default + ''; + + partOf = [ "docker-compose-freshrss-root.target" ]; + wantedBy = [ "docker-compose-freshrss-root.target" ]; + }; + + systemd.targets."docker-compose-freshrss-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + + wantedBy = [ "multi-user.target" ]; + }; +} diff --git a/nix/modules/nixos/features/homelab/freshrss/default.nix b/nix/modules/nixos/features/homelab/freshrss/default.nix new file mode 100644 index 00000000..f341abe1 --- /dev/null +++ b/nix/modules/nixos/features/homelab/freshrss/default.nix @@ -0,0 +1,19 @@ +{ pkgs, lib, ... }: + +let + port = 4003; +in +{ + imports = [ ./container.nix ]; + + services.nginx = { + enable = true; + + virtualHosts."freshrss.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + }; + + # TODO: move to pihole. + networking.hosts = { + "127.0.0.1" = [ "freshrss.davies.home" ]; + }; +} From dcb3f903933f7fab27b38c54a67dc969d0bc4f92 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 00:13:42 +0000 Subject: [PATCH 1231/2258] Add Cloudflare API keys to hetznix server with ...agenix --- flake.nix | 2 ++ nix/hosts/hetznix/configuration.nix | 1 + nix/hosts/hetznix/modules/acme.nix | 6 ++++++ nix/hosts/hetznix/secrets.nix | 5 +++++ nix/secrets/cloudflare.age | 17 +++++++++++++++++ nix/secrets/secrets.nix | 17 +++++++++++++++-- 6 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 nix/hosts/hetznix/secrets.nix create mode 100644 nix/secrets/cloudflare.age diff --git a/flake.nix b/flake.nix index c7a3f6d2..36d90a2a 100644 --- a/flake.nix +++ b/flake.nix @@ -94,7 +94,9 @@ }; modules = [ + agenix.nixosModules.default disko.nixosModules.disko + ./nix/hosts/hetznix/configuration.nix ]; }; diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 08b5adc7..f1a9e91e 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -12,6 +12,7 @@ ./disks.nix ./hardware-configuration.nix + ./secrets.nix ./modules/acme.nix ./modules/nginx diff --git a/nix/hosts/hetznix/modules/acme.nix b/nix/hosts/hetznix/modules/acme.nix index 742e26a1..c96c68b4 100644 --- a/nix/hosts/hetznix/modules/acme.nix +++ b/nix/hosts/hetznix/modules/acme.nix @@ -1,10 +1,16 @@ +{ config, ... }: + { security.acme = { acceptTerms = true; defaults.email = "oliver@oliverdavies.uk"; + defaults.environmentFile = config.age.secrets.cloudflare.path; certs."oliverdavies.uk" = { domain = "oliverdavies.uk"; + dnsProvider = "cloudflare"; + webroot = null; + extraDomainNames = [ # TODO Refactor to use a wildcard certificate. "2020.oliverdavies.uk" diff --git a/nix/hosts/hetznix/secrets.nix b/nix/hosts/hetznix/secrets.nix new file mode 100644 index 00000000..e2032222 --- /dev/null +++ b/nix/hosts/hetznix/secrets.nix @@ -0,0 +1,5 @@ +{ + age.secrets = { + cloudflare.file = ../../secrets/cloudflare.age; + }; +} diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age new file mode 100644 index 00000000..2bdf0a4a --- /dev/null +++ b/nix/secrets/cloudflare.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 nmofLg ulxze6jNUmIB72CLo23yqmx7he8mPqTcLR0oHJaHr0k +qhi20IiROe9RNO949XNR6iqAf6KvXqfXl7u7WiqIaH8 +-> ssh-rsa +vTWQw +VtDyb9urRPA7Hh+2Kb+cw8Dlo5lPCExHwH9Iw/XMbYGn/jvATdS/T4tMsLIwgctA +xCBHMtMeXuCEX9bybrr9r+Azf/5zQqs/I1QN5USnyRtjmaWDonDtGlGIPXfZBlCU +slUi1yWk1Jm8sadwQqrw1YLvGpszn1iPpnLhmdBvEoC3LSYI4Wib4kYU6QhirJfe +flW8GMkZtr96ozmyJswXRFr6Zf7XUUd3TTeCPahkzoE4Un8NFDmviBEjeqvMYE1h +5KoLQwdVo8P8IPnDmTAd5Rpb/bbEQ3OWt5xNd2ZYtL5lGEJ9gg9S+pgTR+WOL1UZ +UOuBE2u71df5tjTg4OEa05TWB93he0wURjT+mmJARebNWqlGtpsEVhLF6rYAfrMB +9ywUqbCV3WRS8a3EpI5wSPmAQZLeWE/L0+gH17qatM+dzf2jkIRZZCWiIVFDFDyA ++s2cMk5Gya44I5RM9CjjHr3Zpq2poixNYsg1opaVByrgsPZrxetGXaKSzt+VRTXV +H/jx9/zqSruY1An0RnFo4DnKQ5vA3YgJK3NbiSMjayUtN9sAWZ7dDONkOdTBTDSX +wM1D4bY688ajHSHvsteeVIDBpDVpUl6pn5GUqcV1cRCV8dHXBxzYiNWjVVAxLXwk +Y4le2oI1w6Ak9nNLY1N2311X3EFZqxTyJIPBvv3yZnw +--- cc2VwKFT2Dqo/TYLZ/vPcWAkHoi/h6P1XrDmN2ymyXU + Oxzx`2얍׊]W,c p+f q DhٖkXM"pdXwB9zs,pJ,ڵ6}xAVq-2{<< \ No newline at end of file diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 31ab7798..b6216aa9 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -1,6 +1,19 @@ let - lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; + hosts = { + hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMk8n03VeShc0q4ztcaNrmScwM7u0j6fFVtmupy2RlM2"; + lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; + t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; + }; + + users = { + opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + }; in { - "tubearchivist.age".publicKeys = [ lemp11 ]; + "cloudflare.age".publicKeys = [ + hosts.hetznix + users.opdavies + ]; + + "tubearchivist.age".publicKeys = [ hosts.lemp11 ]; } From 675f4c6d9252a885e7cf0f09744d29249282e859 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 00:13:42 +0000 Subject: [PATCH 1232/2258] Replace Nginx with Caddy --- nix/hosts/hetznix/configuration.nix | 2 +- .../modules/{nginx => caddy}/default.nix | 6 +- .../caddy/vhosts/2020.oliverdavies.uk.nix | 15 + ...ootstrap-with-tailwind.oliverdavies.uk.nix | 12 + ...rupalcamp-tailwind-css.oliverdavies.uk.nix | 12 + .../caddy/vhosts/luke.oliverdavies.uk.nix | 12 + .../phpsw-sculpin-demo.oliverdavies.uk.nix | 12 + .../rebuilding-acquia.oliverdavies.uk.nix | 12 + .../rebuilding-bartik.oliverdavies.uk.nix | 12 + .../rebuilding-bristol-js.oliverdavies.uk.nix | 12 + .../rebuilding-symfony.oliverdavies.uk.nix | 12 + .../tailwindcss-demo.oliverdavies.uk.nix | 12 + ...ing-drupal-tailwindcss.oliverdavies.uk.nix | 12 + .../vhosts/wp-tailwind.oliverdavies.uk.nix | 12 + .../caddy/vhosts/www.oliverdavies.uk.nix | 458 ++++++++++++++++++ .../caddy/vhosts/zet.oliverdavies.uk.nix | 12 + .../nginx/vhosts/2020.oliverdavies.uk.nix | 10 - ...ootstrap-with-tailwind.oliverdavies.uk.nix | 10 - ...rupalcamp-tailwind-css.oliverdavies.uk.nix | 10 - .../nginx/vhosts/luke.oliverdavies.uk.nix | 11 - .../phpsw-sculpin-demo.oliverdavies.uk.nix | 10 - .../rebuilding-acquia.oliverdavies.uk.nix | 10 - .../rebuilding-bartik.oliverdavies.uk.nix | 10 - .../rebuilding-bristol-js.oliverdavies.uk.nix | 10 - .../rebuilding-symfony.oliverdavies.uk.nix | 10 - .../tailwindcss-demo.oliverdavies.uk.nix | 10 - ...ing-drupal-tailwindcss.oliverdavies.uk.nix | 10 - .../nginx/vhosts/tome.oliverdavies.uk.nix | 18 - .../vhosts/wp-tailwind.oliverdavies.uk.nix | 10 - .../nginx/vhosts/www.oliverdavies.uk.nix | 437 ----------------- .../nginx/vhosts/zet.oliverdavies.uk.nix | 7 - 31 files changed, 619 insertions(+), 589 deletions(-) rename nix/hosts/hetznix/modules/{nginx => caddy}/default.nix (85%) create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/2020.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/luke.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix create mode 100644 nix/hosts/hetznix/modules/caddy/vhosts/zet.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix delete mode 100644 nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index f1a9e91e..7a934f64 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -15,7 +15,7 @@ ./secrets.nix ./modules/acme.nix - ./modules/nginx + ./modules/caddy ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; diff --git a/nix/hosts/hetznix/modules/nginx/default.nix b/nix/hosts/hetznix/modules/caddy/default.nix similarity index 85% rename from nix/hosts/hetznix/modules/nginx/default.nix rename to nix/hosts/hetznix/modules/caddy/default.nix index f924ce90..1428ef3b 100644 --- a/nix/hosts/hetznix/modules/nginx/default.nix +++ b/nix/hosts/hetznix/modules/caddy/default.nix @@ -1,8 +1,5 @@ { - services.nginx = { - enable = true; - serverNamesHashBucketSize = 256; - }; + services.caddy.enable = true; imports = [ ./vhosts/2020.oliverdavies.uk.nix @@ -16,7 +13,6 @@ ./vhosts/rebuilding-symfony.oliverdavies.uk.nix ./vhosts/tailwindcss-demo.oliverdavies.uk.nix ./vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix - ./vhosts/tome.oliverdavies.uk.nix ./vhosts/wp-tailwind.oliverdavies.uk.nix ./vhosts/www.oliverdavies.uk.nix ./vhosts/zet.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/2020.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/2020.oliverdavies.uk.nix new file mode 100644 index 00000000..fcf968fc --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/2020.oliverdavies.uk.nix @@ -0,0 +1,15 @@ +{ + services.caddy.virtualHosts."2020.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + + root * /var/www/vhosts/2020.oliverdavies.uk + + file_server + + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix new file mode 100644 index 00000000..e89861ae --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."bootstrap-with-tailwind.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/bootstrap-with-tailwind.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix new file mode 100644 index 00000000..cdb1623d --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."florida-drupalcamp-tailwind-css.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/luke.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/luke.oliverdavies.uk.nix new file mode 100644 index 00000000..3fdf2713 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/luke.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."luke.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/luke.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix new file mode 100644 index 00000000..5c3476df --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."phpsw-sculpin-demo.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/phpsw-sculpin-demo.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix new file mode 100644 index 00000000..88d9407e --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."rebuilding-acquia.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/rebuilding-acquia.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix new file mode 100644 index 00000000..a83aa182 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."rebuilding-bartik.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/rebuilding-bartik.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix new file mode 100644 index 00000000..d842a2ee --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."rebuilding-bristol-js.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/rebuilding-bristol-js.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix new file mode 100644 index 00000000..c7b08be4 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."rebuilding-symfony.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/rebuilding-symfony.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix new file mode 100644 index 00000000..f3b9d398 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."tailwindcss-demo.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/tailwindcss-demo.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix new file mode 100644 index 00000000..5df66a61 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."talking-drupal-tailwindcss.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/talking-drupal-tailwindcss.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix new file mode 100644 index 00000000..e951adc6 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."wp-tailwind.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/wp-tailwind.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix new file mode 100644 index 00000000..775f57c5 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix @@ -0,0 +1,458 @@ +{ + services.caddy.virtualHosts = { + "oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + redir https://www.oliverdavies.uk{uri} + ''; + }; + + "www.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + + root * /var/www/vhosts/www.oliverdavies.uk-sculpin/output_prod + + file_server { + disable_canonical_uris + } + + # Remove trailing slashes from all URLs. + @trailingSlash { + path_regexp trailingSlash ^(.*)/$ + not path / + } + redir @trailingSlash {http.regexp.trailingSlash.1} temporary + + handle_errors { + @404 { + expression {http.error.status_code} == 404 + } + + rewrite @404 /404/index.html + file_server + } + + @articles path_regexp ^/articles/(.*)$ + @old-dailies path_regexp ^/archive/(.*)$ + @talks path_regexp ^/talks/(.*)$ + @talks-archive path_regexp ^/talks/archive/(.*)$ + + redir @articles /blog/{re.1} permanent + redir @old-dailies /daily/{re.1} permanent + redir @talks-archive /presentations/{re.1} permanent + redir @talks /presentations/{re.1} permanent + + redir /10-useful-drupal-6-modules-i-use-every-project /blog/10-useful-drupal-6-modules permanent + redir /2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent + redir /2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio /blog/using-imagecache-imagecrop-my-portfolio permanent + redir /2010/05/29/importing-images-using-the-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent + redir /2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-nodequeue permanent + redir /2010/07/05/thanks /blog/thanks permanent + redir /2010/08/17/create-a-better-photo-gallery-in-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent + redir /2014/05/21/git-format-patch /blog/git-format-patch-your-friend permanent + redir /2PxmyqP /articles/examples-of-laravel-collections-in-drupal permanent + redir /39CoG /articles/drupalcamp-london-testing-workshop permanent + redir /3eGQr https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 permanent + redir /6UhLN https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 permanent + redir /6i3YZ https://www.youtube.com/watch?v=vUK5sEbd-dk permanent + redir /9rv0Z https://www.drupal.org/project/override_node_options/issues/3109852 permanent + redir /BhMZi https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 permanent + redir /NBi5h https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar permanent + redir /P5KQ5 https://www.npmjs.com/package/tailwindcss-skip-link permanent + redir /S8ZDA /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 permanent + redir /Wh48P https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig permanent + redir /XbzS2 https://github.com/opdavies/gmail-filter-builder permanent + redir /YK1VH /articles/psr4-autoloading-test-cases-drupal-7 permanent + redir /YilTZ$ https://drupalcamp.london/tickets/training permanent + redir /about / permanent + redir /about/cv /cv permanent + redir /about/speaker-information /speaker-information permanent + redir /about/speaker /speaker permanent + redir /acquia-certifications https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent + redir /acquia-certified https://certification.acquia.com/?fname=Oliver&lname=Davies permanent + redir /ansible-molecule /articles/test-driven-ansible-role-development-molecule permanent + redir /ansible https://galaxy.ansible.com/opdavies permanent + redir /ansistrano-code https://github.com/opdavies/dransible permanent + redir /ansistrano-demo https://www.youtube.com/watch?v=PLS4ET7FAcU permanent + redir /ansistrano-slides /talks/deploying-php-ansible-ansistrano permanent + redir /archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent + redir /atNOQ https://youtu.be/r41dkD2EOo8 permanent + redir /automatically-updating-talk-created-date https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent + redir /blog.xml /rss.xml permanent + redir /blog/10-useful-drupal-6-modules /blog/useful-drupal-6-modules permanent + redir /blog/10-years-working-full-time-drupal /blog/10-years-working-full-time-drupal-php permanent + redir /blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent + redir /blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent + redir /blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio permanent + redir /blog/2010/05/06/conditional-email-addresses-webform /blog/conditional-email-addresses-webform permanent + redir /blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile permanent + redir /blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide permanent + redir /blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent + redir /blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi permanent + redir /blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue permanent + redir /blog/2010/06/25/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules permanent + redir /blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views permanent + redir /blog/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql permanent + redir /blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx permanent + redir /blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent + redir /blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent + redir /blog/2010/07/12/overview-teleport-module /blog/review-teleport-module permanent + redir /blog/2010/07/12/review-teleport-module /blog/review-teleport-module permanent + redir /blog/2010/08/10/review-adminhover-module /blog/review-adminhover-module permanent + redir /blog/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent + redir /blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent + redir /blog/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent + redir /blog/2010/08/20/review-image-caption-module /blog/review-image-caption-module permanent + redir /blog/2010/09/26/south-wales-drupal-user-group /blog/south-wales-drupal-user-group permanent + redir /blog/2010/10/10/create-and-apply-patches /blog/create-and-apply-patches permanent + redir /blog/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3 permanent + redir /blog/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21 permanent + redir /blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate permanent + redir /blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent + redir /blog/2011/03/15/display-number-facebook-fans-php /blog/display-number-facebook-fans-php permanent + redir /blog/2011/03/31/proctor-stevenson /blog/proctor-stevenson permanent + redir /blog/2011/05/20/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup permanent + redir /blog/2011/05/23/imagefield-import-archive /blog/imagefield-import-archive permanent + redir /blog/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections permanent + redir /blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu permanent + redir /blog/2011/10/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent + redir /blog/2012/01/04/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7 permanent + redir /blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection permanent + redir /blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush permanent + redir /blog/2012/04/17/installing-nagios-centos /blog/installing-nagios-centos permanent + redir /blog/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent + redir /blog/2012/04/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent + redir /blog/2012/05/23/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form permanent + redir /blog/2012/05/23/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line permanent + redir /blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess permanent + redir /blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent + redir /blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser permanent + redir /blog/2012/05/23/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme permanent + redir /blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent + redir /blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent + redir /blog/2012/07/12/my-new-drupal-modules /blog/my-new-drupal-modules permanent + redir /blog/2012/07/14/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal permanent + redir /blog/2012/07/27/writing-article-linux-journal /blog/writing-article-linux-journal permanent + redir /blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent + redir /blog/2012/07/nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent + redir /blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file permanent + redir /blog/2012/09/06/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff permanent + redir /blog/2012/10/25/my-sublime-text-2-settings /blog/my-sublime-text-2-settings permanent + redir /blog/2012/11/15/accessible-bristol-site-launched /blog/accessible-bristol-site-launched permanent + redir /blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line permanent + redir /blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent + redir /blog/2012/12/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent + redir /blog/2013/01/09/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way permanent + redir /blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7 permanent + redir /blog/2013/02/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent + redir /blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu permanent + redir /blog/2013/04/20/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent permanent + redir /blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent + redir /blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent + redir /blog/2013/06/13/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal permanent + redir /blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled permanent + redir /blog/2013/07/26/going-drupalcon /blog/going-drupalcon permanent + redir /blog/2013/09/06/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush permanent + redir /blog/2013/09/create-zen-sub-theme-using-drush /blog/create-zen-sub-theme-using-drush permanent + redir /blog/2013/11/19/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent + redir /blog/2013/11/27/useful-vagrant-commands /blog/useful-vagrant-commands permanent + redir /blog/2013/11/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent + redir /blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget permanent + redir /blog/2013/12/31/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush permanent + redir /blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent + redir /blog/2014/01/15/some-useful-git-aliases /blog/some-useful-git-aliases permanent + redir /blog/2014/02/09/drupalcamp-london-2014 /blog/drupalcamp-london-2014 permanent + redir /blog/2014/03/03/what-git-flow /blog/what-git-flow permanent + redir /blog/2014/05/03/drupal-association /blog/drupal-association permanent + redir /blog/2014/05/06/thanks /blog/thanks permanent + redir /blog/2014/05/21/git-format-patch /blog/git-format-patch permanent + redir /blog/2014/07/02/drush-make-drupalbristol /blog/drush-make-drupalbristol permanent + redir /blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine permanent + redir /blog/2014/10/21/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush permanent + redir /blog/2014/11/18/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop permanent + redir /blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module permanent + redir /blog/2014/11/27/pantheon-settings-files /blog/pantheon-settings-files permanent + redir /blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent + redir /blog/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version permanent + redir /blog/2015/06/18/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github permanent + redir /blog/2015/07/19/sculpin-twig-resources /blog/sculpin-twig-resources permanent + redir /blog/2015/07/21/automating-sculpin-jenkins /blog/automating-sculpin-jenkins permanent + redir /blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7 permanent + redir /blog/2016/02/15/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent + redir /blog/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload permanent + redir /blog/2016/07/15/building-gmail-filters-with-php /blog/building-gmail-filters-with-php permanent + redir /blog/2016/12/30/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released permanent + redir /blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts permanent + redir /blog/2017/01/31/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments permanent + redir /blog/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers permanent + redir /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent + redir /blog/2017/05/20/turning-drupal-module-into-feature /blog/turning-your-custom-drupal-module-feature permanent + redir /blog/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot permanent + redir /blog/2017/07/13/publishing-sculpin-sites-with-github-pages /blog/publishing-sculpin-sites-github-pages permanent + redir /blog/2017/11/07/tdd-test-driven-drupal /blog/tdd-test-driven-drupal permanent + redir /blog/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/tdd-test-driven-drupal permanent + redir /blog/2018/01/30/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018 permanent + redir /blog/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme permanent + redir /blog/2018/02/27/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london permanent + redir /blog/2018/02/27/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8 permanent + redir /blog/2018/02/28/building-the-new-phpsw-website /blog/building-the-new-phpsw-website permanent + redir /blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back permanent + redir /blog/2018/03/04/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london permanent + redir /blog/2018/04/23/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent + redir /blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal permanent + redir /blog/add-date-popup-calendar-custom-form /blog/how-add-date-popup-calendar-custom-form permanent + redir /blog/adding-methods-decorating-entity-metadata-wrapper /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent + redir /blog/announcing-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent + redir /blog/announcing-the-drupal-vm-config-generator /blog/announcing-the-drupal-vm-generator permanent + redir /blog/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent + redir /blog/building-gmail-filters-in-php /blog/building-gmail-filters-php permanent + redir /blog/building-new-phpsw-website /blog/building-the-new-phpsw-website permanent + redir /blog/building-presentation-slides-reveal-js-tailwind-css /blog/building-presentation-slides-rst2pdf permanent + redir /blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony permanent + redir /blog/create-and-apply-patches /blog/how-create-apply-patches permanent + redir /blog/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-views permanent + redir /blog/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent + redir /blog/creating-custom-docksal-commands /blog/creating-custom-phpunit-command-docksal permanent + redir /blog/debugging-drupal-commerce-promotions-illiminate-collections /blog/debugging-drupal-commerce-illuminate-collections permanent + redir /blog/decorating-entity-metadata-wrapper-add-add-refactor-methods /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent + redir /blog/dev-book-club-refactoring-chapter-1 /blog/dev-book-club-notes-refactoring-chapter-1 permanent + redir /blog/dividing-drupals-process-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent + redir /blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout permanent + redir /blog/drupal-vm-generator-291-released /blog/drupal-vm-generator-updates permanent + redir /blog/drupalcamp-london-2019-tickets /blog/drupalcamp-london-2019-tickets-available-call-sessions permanent + redir /blog/drush-make-drupalbristol /talks/drush-make-drupalbristol permanent + redir /blog/easier-git-repository-cloning-with-insteadof /blog/easier-git-repository-cloning-insteadof permanent + redir /blog/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-composer-npm-scripts permanent + redir /blog/editing-meetup-videos-kdenlive /blog/editing-meetup-videos-linux-kdenlive permanent + redir /blog/examples-of-laravel-collections-in-drupal /blog/using-laravel-collections-drupal permanent + redir /blog/experimenting-with-events-in-drupal-8 /blog/experimenting-events-drupal-8 permanent + redir /blog/fix-vagrant-loading-wrong-virtual-machine /blog/how-fix-vagrant-loading-wrong-virtual-machine permanent + redir /blog/fixing-drupal-simpletest-docker /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent + redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent + redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent + redir /blog/git-format-patch /blog/git-format-patch-your-friend permanent + redir /blog/how-easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent + redir /blog/how-split-new-drupal-contrib-project-within-another-repository /blog/splitting-new-drupal-project-from-repo permanent + redir /blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent + redir /blog/include-local-drupal-settings-file-environment-configuration-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent + redir /blog/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent + redir /blog/live-blogging-symfonylive-london /blog/live-blogging-symfonylive-london-2019 permanent + redir /blog/minimum-core-version /blog/how-define-minimum-drupal-core-version permanent + redir /blog/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-query-string-arguments permanent + redir /blog/null-users-and-system-users-in-drupal /blog/null-users-system-users-drupal permanent + redir /blog/overridding-phpcs-configuration-drupal-ci /blog/overriding-phpcs-configuration-drupal-ci permanent + redir /blog/pantheon-settings-files /blog/include-environment-specific-settings-files-pantheon permanent + redir /blog/pdfpc-pdf-presenter-console-notes /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console permanent + redir /blog/php-apps-subdirectory-nginx /blog/how-put-your-php-application-subdirectory-another-site-nginx permanent + redir /blog/presenting-tailwind-css-ansible-cms-philly /blog/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent + redir /blog/programmatically-load-(an-)?entityform-(in-)?drupal-7 /blog/entityform permanent + redir /blog/published-my-first-docker-images-docker-hub /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf permanent + redir /blog/publishing-sculpin-sites-(with-)?github-pages /blog/publishing-sculpin-sites-github-pages permanent + redir /blog/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-drupal-8 permanent + redir /blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm permanent + redir /blog/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent + redir /blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent + redir /blog/rebuilding-bartik-with-vuejs-tailwind-css /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent + redir /blog/rebuilding-uis-tailwind-css /blog/uis-ive-rebuilt-tailwind-css permanent + redir /blog/restructuring-my-tailwindjs-config-files /blog/restructuring-my-tailwindjs-configuration-files permanent + redir /blog/retrieving-profile-data-user-using-entity-metadata-wrapper /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent + redir /blog/running-drupal-with-symfony-local-server /blog/running-drupal-88-symfony-local-server permanent + redir /blog/running-phpunit-tests-docksal-phpstorm /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm permanent + redir /blog/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-xautoload permanent + redir /blog/speaking-drupalcon-barcelona-2020 /blog/speaking-drupalcon-europe-2020 permanent + redir /blog/speaking-during-lockdown /blog/speaking-remotely-during-covid-19 permanent + redir /blog/speaking-remotely-during-lockdown /blog/speaking-remotely-during-covid-19 permanent + redir /blog/style-drupal-6s-taxonomy-lists-php-css-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent + redir /blog/survey-results-my-drupalcon-europe-session /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal permanent + redir /blog/system-users-null-users /blog/null-users-and-system-users-in-drupal permanent + redir /blog/test-driven-drupal-gitstore-leanpub /blog/test-driven-drupal-on-gitstore-leanpub permanent + redir /blog/test-driven-drupal-presentation-drupalcon-europe-0 /blog/test-driven-drupal-presentation-drupalcon-europe permanent + redir /blog/test-driven-drupal-session-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent + redir /blog/test-driven-drupal-session-video-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent + redir /blog/testing-tailwind-css-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent + redir /blog/testing-tailwindcss-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent + redir /blog/tweets-from-drupalcamp-london /blog/tweets-drupalcamp-london permanent + redir /blog/updating-features-and-adding-components-using-drush /blog/updating-features-adding-components-using-drush permanent + redir /blog/updating-forked-repositories-github /blog/updating-forked-github-repos permanent + redir /blog/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-replace-coda-or-textmate permanent + redir /blog/using-environment-variables-settings-docksal /blog/how-use-environment-variables-your-drupal-settings-docksal permanent + redir /blog/using-psr-4-autoloading-your-drupal-7-test-cases /blog/psr4-autoloading-test-cases-drupal-7 permanent + redir /blog/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-your-drupal-theme permanent + redir /blog/using-the-pcss-extension-postcss-webpack-encore /blog/using-pcss-extension-postcss-webpack-encore permanent + redir /blog/weeknotes-june-5th /blog/weeknotes-2021-06-05 permanent + redir /blog/writing-drupal-module-test-driven-development-tdd /blog/writing-new-drupal-8-module-using-test-driven-development-tdd permanent + redir /book /test-driven-drupal permanent + redir /calendars? https://savvycal.com/opdavies permanent + redir /cms-philly /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent + redir /code-enigma-interview https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent + redir /consulting / permanent + redir /contrib-half-hour https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent + redir /cv /cv.txt permanent + redir /d0P5z /talks/drupal-8-php-libraries-drupalorg-api permanent + redir /d7 /drupal7 permanent + redir /dcbristol-cfp https://www.papercall.io/drupalcamp-bristol-2019 permanent + redir /dcbristol17-videos https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA permanent + redir /dcbristol19-announced /articles/drupalcamp-bristol-2019-speakers-sessions-announced permanent + redir /dclondon-sat https://drupalcamp.london/schedule/saturday permanent + redir /dclondon-sun https://drupalcamp.london/schedule/sunday permanent + redir /dclondon20 /articles/drupalcamp-london-testing-workshop permanent + redir /ddev-phpunit-command /blog/creating-custom-phpunit-command-ddev permanent + redir /deploying-php-ansible /talks/deploying-php-ansible-ansistrano permanent + redir /dks7E https://www.youtube.com/watch?v=PLS4ET7FAcU permanent + redir /do-library https://github.com/opdavies/drupalorg-api-php permanent + redir /do-projects https://github.com/opdavies/drupal-module-drupalorg-projects permanent + redir /docksal-phpunit-phpstorm /articles/running-phpunit-tests-docksal-phpstorm permanent + redir /docksal-posts /articles/tags/docksal permanent + redir /dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 permanent + redir /dransible https://github.com/opdavies/dransible permanent + redir /drupal-bristol-march-19 https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent + redir /drupal-consultant /drupal-consulting permanent + redir /drupal-consulting / permanent + redir /drupal-core-live-stream https://www.youtube.com/watch?v=OK4FWwh1gQU permanent + redir /drupal-core-testing-gate https://www.drupal.org/core/gates#testing permanent + redir /drupal-first-time-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent + redir /drupal-forum-post http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 permanent + redir /drupal-marketplace-uk https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent + redir /drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot permanent + redir /drupal-novice-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent + redir /drupal-php-developer-consultant-uk /drupal-php-developer permanent + redir /drupal-php-developer /drupal-consultant permanent + redir /drupal-tailwind-demo https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent + redir /drupal-tailwindcss https://www.drupal.org/project/tailwindcss permanent + redir /drupal-vuejs /talks/decoupling-drupal-vuejs/ permanent + redir /drupal7 /drupal-upgrade permanent + redir /drupalcamp-london-2019-tickets /articles/drupalcamp-london-2019-tickets permanent + redir /drupalcamp-nyc-training https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent + redir /drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent + redir /drupalorg https://www.drupal.org/u/opdavies permanent + redir /drupalversary https://github.com/opdavies/drupal-module-drupalversary permanent + redir /elewant https://elewant.com/shepherd/admire/opdavies permanent + redir /feed /rss.xml permanent + redir /first-drupal-core-issue https://www.drupal.org/project/drupal/issues/753898 permanent + redir /first-npm-package https://www.npmjs.com/package/tailwindcss-vuejs permanent + redir /freeagent https://opdavies.freeagent.com permanent + redir /git-flow /talks/git-flow permanent + redir /gitlab https://gitlab.com/opdavies permanent + redir /gitstore https://enjoy.gitstore.app/maintainers/opdavies permanent + redir /gmail-filters https://gitlab.com/opdavies/gmail-filters permanent + redir /images/me-precedent.jpg /sites/default/files/images/social-avatar.jpg permanent + redir /inviqa-tailwind-demo https://play.tailwindcss.com/Yfmw8O5UNN permanent + redir /inviqa-tailwind-notes https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 permanent + redir /join-php-south-wales-slack https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA permanent + redir /jy6rW https://www.meetup.com/PHP-South-Wales/events/264731393 permanent + redir /kB6Jd /articles/running-drupal-with-symfony-local-server/ permanent + redir /kmDRA https://www.bbc.co.uk/news/uk-46561779 permanent + redir /leeds-php-drupal-9 https://www.meetup.com/leedsphp/events/272504993 permanent + redir /live https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ permanent + redir /npm https://www.npmjs.com/~opdavies permanent + redir /oFlkS /articles/test-driven-drupal-on-gitstore-leanpub permanent + redir /oliver-davies-uk-based-drupal-symfony-developer /oliver-davies-uk-based-drupal-php-developer permanent + redir /pair-programming /pair permanent + redir /pair-with-me /pair permanent + redir /pairing /pair permanent + redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent + redir /qSHAl /articles/published-my-first-npm-package/ permanent + redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent + redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent + redir /rebuilding-bartik /articles/rebuilding-bartik-with-vuejs-tailwind-css permanent + redir /rebuilding-bristol-js https://github.com/opdavies/rebuilding-bristol-js permanent + redir /rebuilding-pantheon https://play.tailwindcss.com/LND98XihGI?layout=horizontal permanent + redir /rebuilding-platformsh https://rebuilding-platformsh.oliverdavies.uk permanent + redir /rebuilding-symfony https://github.com/opdavies/rebuilding-symfony permanent + redir /rk29B https://www.meetup.com/PHP-South-Wales/events/268422525 permanent + redir /roadmap /drupal-upgrade permanent + redir /rss /rss.xml permanent + redir /rst2pdf /talks/building-presenting-slide-decks-rst2pdf permanent + redir /s9MjJ https://symfonycasts.com/screencast/symfony permanent + redir /sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent + redir /sculpin /talks/building-static-websites-sculpin permanent + redir /sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent + redir /skills https://opdavies-skills-tailwindcss.netlify.com/ permanent + redir /slides-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent + redir /slides-upgrading-to-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent + redir /slides-upgrading-to-drupal-9/index.html https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent + redir /slides-working-with-workspace https://slides-working-with-workspace.oliverdavies.uk permanent + redir /speaker-info /speaker permanent + redir /speaker-information /speaker permanent + redir /speaker /press permanent + redir /speaking-videos https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent + redir /stream https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent + redir /subscription / permanent + redir /swap-markdown-parser https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent + redir /symfony-server /articles/running-drupal-with-symfony-local-server permanent + redir /symfony https://connect.symfony.com/profile/opdavies permanent + redir /symfonylive /articles/live-blogging-symfonylive-london permanent + redir /symposium https://symposiumapp.com/u/opdavies permanent + redir /tailwind-css-talk /talks/taking-flight-tailwind-css permanent + redir /tailwind-repos https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent + redir /tailwind-talk /talks/taking-flight-with-tailwind-css permanent + redir /tailwindcss-demo http://tailwindcss-demo.oliverdavies.uk/ permanent + redir /talks-offer-tweet https://twitter.com/opdavies/status/1250870367712935938 permanent + redir /talks/2012/09/05/what-is-this-drupal-thing-unified-diff /talks/what-is-this-drupal-thing permanent + redir /talks/2013/07/10/drupal-ldap-swdug /talks/drupal-ldap permanent + redir /talks/2014/03/01/git-flow-drupalcamp-london-2014 /talks/git-flow permanent + redir /talks/2014/07/02/drush-make-drupalbristol-drupal-bristol /talks/drush-make-drupalbristol permanent + redir /talks/2014/08/19/drupal-association-swdug /talks/drupal-association permanent + redir /talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015 /talks/drupalorg-in-2015-whats-coming-next permanent + redir /talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015 /talks/drupalorg-in-2015-whats-coming-next permanent + redir /talks/2015/04/08/drupal-8-phpsw /talks/drupal-8 permanent + redir /talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015 /talks/test-drive-twig-with-sculpin permanent + redir /talks/2015/08/25/dancing-for-drupal-umbristol /talks/dancing-for-drupal permanent + redir /talks/2015/10/14/sculpin-phpsw /talks/sculpin permanent + redir /talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016 /talks/getting-started-with-drupal-8-module-development permanent + redir /talks/2016/03/09/drupal-vm-generator-nwdug /talks/drupal-vm-generator permanent + redir /talks/2016/04/02/drupal-vm-generator-drupal-bristol /talks/drupal-vm-generator permanent + redir /talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016 /talks/drupal-8-rejoining-the-herd permanent + redir /talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016 /talks/drupal-vm-meet-symfony-console permanent + redir /talks/2016/11/09/drupal-development-with-composer-phpsw /talks/drupal-development-with-composer permanent + redir /talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol /talks/goodbye-drush-make-hello-composer permanent + redir /talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol /talks/getting-your-data-into-drupal-8 permanent + redir /talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017 /talks/getting-your-data-into-drupal-8 permanent + redir /talks/ansible-ansistrano https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano permanent + redir /talks/deploying-php-applications-fabric /talks/deploying-php-fabric permanent + redir /talks/deploying-php-applications-with-fabric /talks/deploying-php-fabric permanent + redir /talks/drupal-vm-generator-2 /talks/drupal-vm-generator permanent + redir /talks/drupalorg-2015-2 /talks/drupalorg-2015 permanent + redir /talks/drupalorg-in-2015-whats-coming-next /talks/drupalorg-2015 permanent + redir /talks/getting-started-with-drupal-8-module-development /drupal-8-module-development permanent + redir /talks/having-fun-drupal-8-php-libraries-drupalorg-api /talks/drupal-8-php-libraries-drupalorg-api permanent + redir /talks/never-commit-master-introduction-git-flow /talks/git-flow permanent + redir /talks/sculpin /talks/building-static-websites-sculpin permanent + redir /talks/tailwind /talks/taking-flight-with-tailwind-css/ permanent + redir /talks/taking-flight-tailwind-css /talks/taking-flight-with-tailwind-css permanent + redir /talks/using-laravel-collections-outside-laravel /talks/using-illuminate-collections-outside-laravel permanent + redir /talks/working-workspace /talks/working-with-workspace permanent + redir /tdd-blog https://github.com/opdavies/drupal-module-tdd-blog permanent + redir /tdd-test-driven-drupal /talks/tdd-test-driven-drupal/ permanent + redir /team-coaching / permanent + redir /test-driven-drupal-book /test-driven-drupal permanent + redir /testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction permanent + redir /testing-drupal https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent + redir /testing-tailwind-plugins /articles/testing-tailwindcss-plugins-with-jest permanent + redir /testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code permanent + redir /testing-workshop https://github.com/opdavies/workshop-drupal-automated-testing permanent + redir /todoist-filters https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent + redir /twitter-tweaks https://github.com/opdavies/chrome-extension-twitter-tweaks permanent + redir /upgrading-to-drupal-9 /talks/upgrading-your-site-drupal-9 permanent + redir /uxbjV https://www.drupal.org/project/copyright_block permanent + redir /vyTEF https://www.npmjs.com/package/tailwindcss-vuejs permanent + redir /webpack-encore-pcss-regex https://regexr.com/51iaf permanent + redir /wordcamp-bristol-tailwindcss https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css permanent + redir /wordpress-tailwind https://github.com/opdavies/wordcamp-bristol-2019 permanent + redir /work /drupal-php-developer permanent + redir /working-with-workspace /talks/working-with-workspace permanent + redir /workshop-drupal-testing https://github.com/opdavies/workshop-drupal-automated-testing permanent + redir /workspace-demo https://github.com/opdavies/working-with-workspace-demo permanent + redir /wp-tailwind-repo https://github.com/opdavies/wordcamp-bristol-2019 permanent + redir /wp-tailwind-starter https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent + redir /wp-tailwind-static https://wp-tailwind.oliverdavies.uk permanent + redir /wp-tailwind https://wp-tailwind.oliverdavies.uk permanent + redir /yXhoS /talks/things-you-should-know-about-php permanent + ''; + }; + }; +} diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/zet.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/zet.oliverdavies.uk.nix new file mode 100644 index 00000000..da45a2b1 --- /dev/null +++ b/nix/hosts/hetznix/modules/caddy/vhosts/zet.oliverdavies.uk.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."zet.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/zet.oliverdavies.uk + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix deleted file mode 100644 index 1791fb92..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/2020.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."2020.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/2020.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix deleted file mode 100644 index 2450eeac..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."bootstrap-with-tailwind.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/bootstrap-with-tailwind.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix deleted file mode 100644 index 8019d22b..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."florida-drupalcamp-tailwind-css.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix deleted file mode 100644 index 88c14d86..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/luke.oliverdavies.uk.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - services.nginx.virtualHosts."luke.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/luke.oliverdavies.uk"; - - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix deleted file mode 100644 index 6f6142f6..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."phpsw-sculpin-demo.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/phpsw-sculpin-demo.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix deleted file mode 100644 index 02a1a940..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-acquia.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."rebuilding-acquia.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/rebuilding-acquia.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix deleted file mode 100644 index ef70c12a..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bartik.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."rebuilding-bartik.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/rebuilding-bartik.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix deleted file mode 100644 index 3b9851c0..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."rebuilding-bristol-js.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/rebuilding-bristol-js.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix deleted file mode 100644 index 945f2ac7..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/rebuilding-symfony.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."rebuilding-symfony.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/rebuilding-symfony.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix deleted file mode 100644 index 82513720..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/tailwindcss-demo.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."tailwindcss-demo.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/tailwindcss-demo.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix deleted file mode 100644 index 1f550f5a..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."talking-drupal-tailwindcss.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/talking-drupal-tailwindcss.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix deleted file mode 100644 index ef416343..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/tome.oliverdavies.uk.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - services.nginx.virtualHosts."tome.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/www.oliverdavies.uk-drupal"; - - locations."/" = { - tryFiles = "$uri $uri/ $uri.html $uri/index.html =404"; - extraConfig = '' - rewrite ^/(.*[^/])/$ /$1 permanent; - ''; - }; - - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix deleted file mode 100644 index 0bf4711a..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/wp-tailwind.oliverdavies.uk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.nginx.virtualHosts."wp-tailwind.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/wp-tailwind.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix deleted file mode 100644 index 8eb4afc0..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/www.oliverdavies.uk.nix +++ /dev/null @@ -1,437 +0,0 @@ -{ - services.nginx.virtualHosts = { - "www.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/www.oliverdavies.uk-sculpin/output_prod"; - extraConfig = '' - error_page 404 /404; - - rewrite ^/10-useful-drupal-6-modules-i-use-every-project/?$ /blog/10-useful-drupal-6-modules permanent; - rewrite ^/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; - rewrite ^/2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio/?$ /blog/using-imagecache-imagecrop-my-portfolio permanent; - rewrite ^/2010/05/29/importing-images-using-the-imagefieldimport-module/?$ /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent; - rewrite ^/2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue/?$ /blog/create-block-social-media-icons-using-cck-views-nodequeue permanent; - rewrite ^/2010/07/05/thanks/?$ /blog/thanks permanent; - rewrite ^/2010/08/17/create-a-better-photo-gallery-in-drupal-part-2/?$ /blog/create-better-photo-gallery-drupal-part-2 permanent; - rewrite ^/2014/05/21/git-format-patch/?$ /blog/git-format-patch-your-friend permanent; - rewrite ^/2PxmyqP/?$ /articles/examples-of-laravel-collections-in-drupal permanent; - rewrite ^/39CoG/?$ /articles/drupalcamp-london-testing-workshop permanent; - rewrite ^/3eGQr/?$ https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 permanent; - rewrite ^/6UhLN/?$ https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 permanent; - rewrite ^/6i3YZ/?$ https://www.youtube.com/watch?v=vUK5sEbd-dk permanent; - rewrite ^/9rv0Z/?$ https://www.drupal.org/project/override_node_options/issues/3109852 permanent; - rewrite ^/BhMZi/?$ https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 permanent; - rewrite ^/NBi5h/?$ https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar permanent; - rewrite ^/P5KQ5/?$ https://www.npmjs.com/package/tailwindcss-skip-link permanent; - rewrite ^/S8ZDA/?$ /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 permanent; - rewrite ^/Wh48P/?$ https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig permanent; - rewrite ^/XbzS2/?$ https://github.com/opdavies/gmail-filter-builder permanent; - rewrite ^/YK1VH/?$ /articles/psr4-autoloading-test-cases-drupal-7 permanent; - rewrite ^/YilTZ$ https://drupalcamp.london/tickets/training permanent; - rewrite ^/about/?$ / permanent; - rewrite ^/about/cv/?$ /cv permanent; - rewrite ^/about/speaker-information/?$ /speaker-information permanent; - rewrite ^/about/speaker/?$ /speaker permanent; - rewrite ^/acquia-certifications/?$ https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent; - rewrite ^/acquia-certified/?$ https://certification.acquia.com/?fname=Oliver&lname=Davies permanent; - rewrite ^/ansible-molecule/?$ /articles/test-driven-ansible-role-development-molecule permanent; - rewrite ^/ansible/?$ https://galaxy.ansible.com/opdavies permanent; - rewrite ^/ansistrano-code/?$ https://github.com/opdavies/dransible permanent; - rewrite ^/ansistrano-demo/?$ https://www.youtube.com/watch?v=PLS4ET7FAcU permanent; - rewrite ^/ansistrano-slides/?$ /talks/deploying-php-ansible-ansistrano permanent; - rewrite ^/archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent; - rewrite ^/articles/(.*)/?$ /blog/$1 permanent; - rewrite ^/atNOQ/?$ https://youtu.be/r41dkD2EOo8 permanent; - rewrite ^/automatically-updating-talk-created-date/?$ https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent; - rewrite ^/blog.xml/?$ /rss.xml permanent; - rewrite ^/blog/10-useful-drupal-6-modules/?$ /blog/useful-drupal-6-modules permanent; - rewrite ^/blog/10-years-working-full-time-drupal/?$ /blog/10-years-working-full-time-drupal-php permanent; - rewrite ^/blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent; - rewrite ^/blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; - rewrite ^/blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio/?$ /blog/using-imagecache-and-imagecrop-my-portfolio permanent; - rewrite ^/blog/2010/05/06/conditional-email-addresses-webform/?$ /blog/conditional-email-addresses-webform permanent; - rewrite ^/blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile/?$ /blog/quickly-create-zen-subthemes-using-zenophile permanent; - rewrite ^/blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide/?$ /blog/create-slideshow-multiple-images-using-fancy-slide permanent; - rewrite ^/blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module/?$ /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent; - rewrite ^/blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi/?$ /blog/improve-jpg-quality-imagecache-and-imageapi permanent; - rewrite ^/blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue/?$ /blog/create-block-social-media-icons-using-cck-views-and-nodequeue permanent; - rewrite ^/blog/2010/06/25/10-useful-drupal-6-modules/?$ /blog/10-useful-drupal-6-modules permanent; - rewrite ^/blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views/?$ /blog/create-flickr-photo-gallery-using-feeds-cck-and-views permanent; - rewrite ^/blog/2010/07/01/change-content-type-multiple-nodes-using-sql/?$ /blog/change-content-type-multiple-nodes-using-sql permanent; - rewrite ^/blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx/?$ /blog/create-virtual-hosts-mac-os-x-using-virtualhostx permanent; - rewrite ^/blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql/?$ /blog/add-taxonomy-term-multiple-nodes-using-sql permanent; - rewrite ^/blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql/?$ /blog/add-taxonomy-term-multiple-nodes-using-sql permanent; - rewrite ^/blog/2010/07/12/overview-teleport-module/?$ /blog/review-teleport-module permanent; - rewrite ^/blog/2010/07/12/review-teleport-module/?$ /blog/review-teleport-module permanent; - rewrite ^/blog/2010/08/10/review-adminhover-module/?$ /blog/review-adminhover-module permanent; - rewrite ^/blog/2010/08/11/create-better-photo-gallery-drupal-part-1/?$ /blog/create-better-photo-gallery-drupal-part-1 permanent; - rewrite ^/blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1/?$ /blog/create-better-photo-gallery-drupal-part-1 permanent; - rewrite ^/blog/2010/08/17/create-better-photo-gallery-drupal-part-2/?$ /blog/create-better-photo-gallery-drupal-part-2 permanent; - rewrite ^/blog/2010/08/20/review-image-caption-module/?$ /blog/review-image-caption-module permanent; - rewrite ^/blog/2010/09/26/south-wales-drupal-user-group/?$ /blog/south-wales-drupal-user-group permanent; - rewrite ^/blog/2010/10/10/create-and-apply-patches/?$ /blog/create-and-apply-patches permanent; - rewrite ^/blog/2010/10/13/create-better-photo-gallery-drupal-part-3/?$ /blog/create-better-photo-gallery-drupal-part-3 permanent; - rewrite ^/blog/2010/10/22/create-better-photo-gallery-drupal-part-21/?$ /blog/create-better-photo-gallery-drupal-part-21 permanent; - rewrite ^/blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate/?$ /blog/use-regular-expressions-search-and-replace-coda-or-textmate permanent; - rewrite ^/blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website/?$ /blog/easily-embed-typekit-fonts-your-drupal-website permanent; - rewrite ^/blog/2011/03/15/display-number-facebook-fans-php/?$ /blog/display-number-facebook-fans-php permanent; - rewrite ^/blog/2011/03/31/proctor-stevenson/?$ /blog/proctor-stevenson permanent; - rewrite ^/blog/2011/05/20/proctors-hosting-next-drupal-meetup/?$ /blog/proctors-hosting-next-drupal-meetup permanent; - rewrite ^/blog/2011/05/23/imagefield-import-archive/?$ /blog/imagefield-import-archive permanent; - rewrite ^/blog/2011/08/28/create-multigroups-drupal-7-using-field-collections/?$ /blog/create-multigroups-drupal-7-using-field-collections permanent; - rewrite ^/blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu/?$ /blog/install-and-configure-subversion-svn-server-ubuntu permanent; - rewrite ^/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu/?$ /blog/how-install-configure-subversion-svn-server-ubuntu permanent; - rewrite ^/blog/2012/01/04/site-upgraded-drupal-7/?$ /blog/site-upgraded-drupal-7 permanent; - rewrite ^/blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection/?$ /blog/use-authorized-keys-create-passwordless-ssh-connection permanent; - rewrite ^/blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush/?$ /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush permanent; - rewrite ^/blog/2012/04/17/installing-nagios-centos/?$ /blog/installing-nagios-centos permanent; - rewrite ^/blog/2012/04/19/adding-custom-theme-templates-drupal-7/?$ /blog/adding-custom-theme-templates-drupal-7 permanent; - rewrite ^/blog/2012/04/adding-custom-theme-templates-drupal-7/?$ /blog/adding-custom-theme-templates-drupal-7 permanent; - rewrite ^/blog/2012/05/23/add-date-popup-calendar-custom-form/?$ /blog/add-date-popup-calendar-custom-form permanent; - rewrite ^/blog/2012/05/23/checkout-specific-revision-svn-command-line/?$ /blog/checkout-specific-revision-svn-command-line permanent; - rewrite ^/blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess permanent; - rewrite ^/blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; - rewrite ^/blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser/?$ /blog/prevent-apache-displaying-text-files-within-web-browser permanent; - rewrite ^/blog/2012/05/23/writing-info-file-drupal-7-theme/?$ /blog/writing-info-file-drupal-7-theme permanent; - rewrite ^/blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files/?$ /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent; - rewrite ^/blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; - rewrite ^/blog/2012/07/12/my-new-drupal-modules/?$ /blog/my-new-drupal-modules permanent; - rewrite ^/blog/2012/07/14/install-nomensa-media-player-drupal/?$ /blog/install-nomensa-media-player-drupal permanent; - rewrite ^/blog/2012/07/27/writing-article-linux-journal/?$ /blog/writing-article-linux-journal permanent; - rewrite ^/blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal/?$ /blog/install-configure-nomensa-accessible-media-player-drupal permanent; - rewrite ^/blog/2012/07/nomensa-accessible-media-player-drupal/?$ /blog/install-configure-nomensa-accessible-media-player-drupal permanent; - rewrite ^/blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file/?$ /blog/display-custom-menu-drupal-7-theme-template-file permanent; - rewrite ^/blog/2012/09/06/reflections-speaking-unifieddiff/?$ /blog/reflections-speaking-unifieddiff permanent; - rewrite ^/blog/2012/10/25/my-sublime-text-2-settings/?$ /blog/my-sublime-text-2-settings permanent; - rewrite ^/blog/2012/11/15/accessible-bristol-site-launched/?$ /blog/accessible-bristol-site-launched permanent; - rewrite ^/blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line/?$ /blog/open-sublime-text-2-mac-os-x-command-line permanent; - rewrite ^/blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy/?$ /blog/use-sass-and-compass-drupal-7-using-sassy permanent; - rewrite ^/blog/2012/12/use-sass-and-compass-drupal-7-using-sassy/?$ /blog/use-sass-and-compass-drupal-7-using-sassy permanent; - rewrite ^/blog/2013/01/09/checking-if-user-logged-drupal-right-way/?$ /blog/checking-if-user-logged-drupal-right-way permanent; - rewrite ^/blog/2013/02/16/creating-and-using-custom-tokens-drupal-7/?$ /blog/creating-and-using-custom-tokens-drupal-7 permanent; - rewrite ^/blog/2013/02/creating-and-using-custom-tokens-drupal-7/?$ /blog/creating-using-custom-tokens-drupal-7 permanent; - rewrite ^/blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu/?$ /blog/quickest-way-install-sublime-text-2-ubuntu permanent; - rewrite ^/blog/2013/04/20/leaving-nomensa-joining-precedent/?$ /blog/leaving-nomensa-joining-precedent permanent; - rewrite ^/blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt/?$ /blog/display-git-branch-or-tag-names-your-bash-prompt permanent; - rewrite ^/blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt/?$ /blog/display-git-branch-or-tag-names-your-bash-prompt permanent; - rewrite ^/blog/2013/06/13/some-useful-links-using-simpletest-drupal/?$ /blog/some-useful-links-using-simpletest-drupal permanent; - rewrite ^/blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled/?$ /blog/creating-local-and-staging-sites-drupals-domain-module-enabled permanent; - rewrite ^/blog/2013/07/26/going-drupalcon/?$ /blog/going-drupalcon permanent; - rewrite ^/blog/2013/09/06/create-a-zen-sub-theme-using-drush/?$ /blog/create-a-zen-sub-theme-using-drush permanent; - rewrite ^/blog/2013/09/create-zen-sub-theme-using-drush/?$ /blog/create-zen-sub-theme-using-drush permanent; - rewrite ^/blog/2013/11/19/dont-bootstrap-drupal-use-drush/?$ /blog/dont-bootstrap-drupal-use-drush permanent; - rewrite ^/blog/2013/11/27/useful-vagrant-commands/?$ /blog/useful-vagrant-commands permanent; - rewrite ^/blog/2013/11/dont-bootstrap-drupal-use-drush/?$ /blog/dont-bootstrap-drupal-use-drush permanent; - rewrite ^/blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget/?$ /blog/quickly-apply-patches-using-git-and-curl-or-wget permanent; - rewrite ^/blog/2013/12/31/download-different-versions-drupal-drush/?$ /blog/download-different-versions-drupal-drush permanent; - rewrite ^/blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent; - rewrite ^/blog/2014/01/15/some-useful-git-aliases/?$ /blog/some-useful-git-aliases permanent; - rewrite ^/blog/2014/02/09/drupalcamp-london-2014/?$ /blog/drupalcamp-london-2014 permanent; - rewrite ^/blog/2014/03/03/what-git-flow/?$ /blog/what-git-flow permanent; - rewrite ^/blog/2014/05/03/drupal-association/?$ /blog/drupal-association permanent; - rewrite ^/blog/2014/05/06/thanks/?$ /blog/thanks permanent; - rewrite ^/blog/2014/05/21/git-format-patch/?$ /blog/git-format-patch permanent; - rewrite ^/blog/2014/07/02/drush-make-drupalbristol/?$ /blog/drush-make-drupalbristol permanent; - rewrite ^/blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine/?$ /blog/fix-vagrant-loading-wrong-virtual-machine permanent; - rewrite ^/blog/2014/10/21/updating-features-and-adding-components-using-drush/?$ /blog/updating-features-and-adding-components-using-drush permanent; - rewrite ^/blog/2014/11/18/include-css-fonts-using-sass-each-loop/?$ /blog/include-css-fonts-using-sass-each-loop permanent; - rewrite ^/blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module/?$ /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module permanent; - rewrite ^/blog/2014/11/27/pantheon-settings-files/?$ /blog/pantheon-settings-files permanent; - rewrite ^/blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides/?$ /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent; - rewrite ^/blog/2015/04/03/how-to-define-a-minimum-drupal-core-version/?$ /blog/how-to-define-a-minimum-drupal-core-version permanent; - rewrite ^/blog/2015/06/18/updating-forked-repositories-on-github/?$ /blog/updating-forked-repositories-on-github permanent; - rewrite ^/blog/2015/07/19/sculpin-twig-resources/?$ /blog/sculpin-twig-resources permanent; - rewrite ^/blog/2015/07/21/automating-sculpin-jenkins/?$ /blog/automating-sculpin-jenkins permanent; - rewrite ^/blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7/?$ /blog/programmatically-load-an-entityform-in-drupal-7 permanent; - rewrite ^/blog/2016/02/15/announcing-the-drupal-vm-generator/?$ /blog/announcing-the-drupal-vm-generator permanent; - rewrite ^/blog/2016/05/03/simplifying-drupal-migrations-with-xautoload/?$ /blog/simplifying-drupal-migrations-with-xautoload permanent; - rewrite ^/blog/2016/07/15/building-gmail-filters-with-php/?$ /blog/building-gmail-filters-with-php permanent; - rewrite ^/blog/2016/12/30/drupal-vm-generator-291-released/?$ /blog/drupal-vm-generator-291-released permanent; - rewrite ^/blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts/?$ /blog/easier-sculpin-commands-with-composer-and-npm-scripts permanent; - rewrite ^/blog/2017/01/31/nginx-redirects-with-query-string-arguments/?$ /blog/nginx-redirects-with-query-string-arguments permanent; - rewrite ^/blog/2017/05/05/fixing-drupal-simpletest-docker/?$ /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers permanent; - rewrite ^/blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers/?$ /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent; - rewrite ^/blog/2017/05/20/turning-drupal-module-into-feature/?$ /blog/turning-your-custom-drupal-module-feature permanent; - rewrite ^/blog/2017/06/09/introducing-the-drupal-meetups-twitterbot/?$ /blog/introducing-the-drupal-meetups-twitterbot permanent; - rewrite ^/blog/2017/07/13/publishing-sculpin-sites-with-github-pages/?$ /blog/publishing-sculpin-sites-github-pages permanent; - rewrite ^/blog/2017/11/07/tdd-test-driven-drupal/?$ /blog/tdd-test-driven-drupal permanent; - rewrite ^/blog/2017/11/07/writing-drupal-module-test-driven-development-tdd/?$ /blog/2017/11/07/tdd-test-driven-drupal permanent; - rewrite ^/blog/2018/01/30/drupalcamp-bristol-2018/?$ /blog/drupalcamp-bristol-2018 permanent; - rewrite ^/blog/2018/02/05/using-tailwind-css-in-your-drupal-theme/?$ /blog/using-tailwind-css-in-your-drupal-theme permanent; - rewrite ^/blog/2018/02/27/looking-forward-to-drupalcamp-london/?$ /blog/looking-forward-to-drupalcamp-london permanent; - rewrite ^/blog/2018/02/27/queuing-private-messages-in-drupal-8/?$ /blog/queuing-private-messages-in-drupal-8 permanent; - rewrite ^/blog/2018/02/28/building-the-new-phpsw-website/?$ /blog/building-the-new-phpsw-website permanent; - rewrite ^/blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back/?$ /blog/yay-the-mediacurrent-contrib-half-hour-is-back permanent; - rewrite ^/blog/2018/03/04/tweets-from-drupalcamp-london/?$ /blog/tweets-from-drupalcamp-london permanent; - rewrite ^/blog/2018/04/23/back-to-the-future-git-diff-apply/?$ /blog/back-future-gits-diff-apply-commands permanent; - rewrite ^/blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal/?$ /blog/creating-a-custom-phpunit-command-for-docksal permanent; - rewrite ^/blog/add-date-popup-calendar-custom-form/?$ /blog/how-add-date-popup-calendar-custom-form permanent; - rewrite ^/blog/adding-methods-decorating-entity-metadata-wrapper/?$ /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent; - rewrite ^/blog/announcing-drupal-vm-generator/?$ /blog/announcing-the-drupal-vm-generator permanent; - rewrite ^/blog/announcing-the-drupal-vm-config-generator/?$ /blog/announcing-the-drupal-vm-generator permanent; - rewrite ^/blog/back-to-the-future-git-diff-apply/?$ /blog/back-future-gits-diff-apply-commands permanent; - rewrite ^/blog/building-gmail-filters-in-php/?$ /blog/building-gmail-filters-php permanent; - rewrite ^/blog/building-new-phpsw-website/?$ /blog/building-the-new-phpsw-website permanent; - rewrite ^/blog/building-presentation-slides-reveal-js-tailwind-css/?$ /blog/building-presentation-slides-rst2pdf permanent; - rewrite ^/blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony/?$ /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony permanent; - rewrite ^/blog/create-and-apply-patches/?$ /blog/how-create-apply-patches permanent; - rewrite ^/blog/create-flickr-photo-gallery-using-feeds-cck-and-views/?$ /blog/create-flickr-photo-gallery-using-feeds-cck-views permanent; - rewrite ^/blog/creating-and-using-custom-tokens-drupal-7/?$ /blog/creating-using-custom-tokens-drupal-7 permanent; - rewrite ^/blog/creating-custom-docksal-commands/?$ /blog/creating-custom-phpunit-command-docksal permanent; - rewrite ^/blog/debugging-drupal-commerce-promotions-illiminate-collections/?$ /blog/debugging-drupal-commerce-illuminate-collections permanent; - rewrite ^/blog/decorating-entity-metadata-wrapper-add-add-refactor-methods/?$ /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent; - rewrite ^/blog/dev-book-club-refactoring-chapter-1/?$ /blog/dev-book-club-notes-refactoring-chapter-1 permanent; - rewrite ^/blog/dividing-drupals-process-preprocess-functions-separate-files/?$ /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent; - rewrite ^/blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout/?$ /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout permanent; - rewrite ^/blog/drupal-vm-generator-291-released/?$ /blog/drupal-vm-generator-updates permanent; - rewrite ^/blog/drupalcamp-london-2019-tickets/?$ /blog/drupalcamp-london-2019-tickets-available-call-sessions permanent; - rewrite ^/blog/drush-make-drupalbristol/?$ /talks/drush-make-drupalbristol permanent; - rewrite ^/blog/easier-git-repository-cloning-with-insteadof/?$ /blog/easier-git-repository-cloning-insteadof permanent; - rewrite ^/blog/easier-sculpin-commands-with-composer-and-npm-scripts/?$ /blog/easier-sculpin-commands-composer-npm-scripts permanent; - rewrite ^/blog/editing-meetup-videos-kdenlive/?$ /blog/editing-meetup-videos-linux-kdenlive permanent; - rewrite ^/blog/examples-of-laravel-collections-in-drupal/?$ /blog/using-laravel-collections-drupal permanent; - rewrite ^/blog/experimenting-with-events-in-drupal-8/?$ /blog/experimenting-events-drupal-8 permanent; - rewrite ^/blog/fix-vagrant-loading-wrong-virtual-machine/?$ /blog/how-fix-vagrant-loading-wrong-virtual-machine permanent; - rewrite ^/blog/fixing-drupal-simpletest-docker/?$ /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent; - rewrite ^/blog/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; - rewrite ^/blog/forward-one-domain-another-using-modrewrite-and-htaccess/?$ /blog/forward-one-domain-another-using-modrewrite-htaccess permanent; - rewrite ^/blog/git-format-patch/?$ /blog/git-format-patch-your-friend permanent; - rewrite ^/blog/how-easily-embed-typekit-fonts-your-drupal-website/?$ /blog/easily-embed-typekit-fonts-your-drupal-website permanent; - rewrite ^/blog/how-split-new-drupal-contrib-project-within-another-repository/?$ /blog/splitting-new-drupal-project-from-repo permanent; - rewrite ^/blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent; - rewrite ^/blog/include-local-drupal-settings-file-environment-configuration-overrides/?$ /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent; - rewrite ^/blog/install-and-configure-subversion-svn-server-ubuntu/?$ /blog/how-install-configure-subversion-svn-server-ubuntu permanent; - rewrite ^/blog/live-blogging-symfonylive-london/?$ /blog/live-blogging-symfonylive-london-2019 permanent; - rewrite ^/blog/minimum-core-version/?$ /blog/how-define-minimum-drupal-core-version permanent; - rewrite ^/blog/nginx-redirects-with-query-string-arguments/?$ /blog/nginx-redirects-query-string-arguments permanent; - rewrite ^/blog/null-users-and-system-users-in-drupal/?$ /blog/null-users-system-users-drupal permanent; - rewrite ^/blog/overridding-phpcs-configuration-drupal-ci/?$ /blog/overriding-phpcs-configuration-drupal-ci permanent; - rewrite ^/blog/pantheon-settings-files/?$ /blog/include-environment-specific-settings-files-pantheon permanent; - rewrite ^/blog/pdfpc-pdf-presenter-console-notes/?$ /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console permanent; - rewrite ^/blog/php-apps-subdirectory-nginx/?$ /blog/how-put-your-php-application-subdirectory-another-site-nginx permanent; - rewrite ^/blog/presenting-tailwind-css-ansible-cms-philly/?$ /blog/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent; - rewrite ^/blog/programmatically-load-(an-)?entityform-(in-)?drupal-7/?$ /blog/entityform permanent; - rewrite ^/blog/published-my-first-docker-images-docker-hub/?$ /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf permanent; - rewrite ^/blog/publishing-sculpin-sites-(with-)?github-pages/?$ /blog/publishing-sculpin-sites-github-pages permanent; - rewrite ^/blog/queuing-private-messages-in-drupal-8/?$ /blog/queuing-private-messages-drupal-8 permanent; - rewrite ^/blog/quick-project-switching-in-phpstorm/?$ /blog/quick-project-switching-phpstorm permanent; - rewrite ^/blog/quickly-apply-patches-using-git-and-curl-or-wget/?$ /blog/quickly-apply-patches-using-git-curl-or-wget permanent; - rewrite ^/blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2/?$ /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent; - rewrite ^/blog/rebuilding-bartik-with-vuejs-tailwind-css/?$ /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent; - rewrite ^/blog/rebuilding-uis-tailwind-css/?$ /blog/uis-ive-rebuilt-tailwind-css permanent; - rewrite ^/blog/restructuring-my-tailwindjs-config-files/?$ /blog/restructuring-my-tailwindjs-configuration-files permanent; - rewrite ^/blog/retrieving-profile-data-user-using-entity-metadata-wrapper/?$ /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent; - rewrite ^/blog/running-drupal-with-symfony-local-server/?$ /blog/running-drupal-88-symfony-local-server permanent; - rewrite ^/blog/running-phpunit-tests-docksal-phpstorm/?$ /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm permanent; - rewrite ^/blog/simplifying-drupal-migrations-with-xautoload/?$ /blog/simplifying-drupal-migrations-xautoload permanent; - rewrite ^/blog/speaking-drupalcon-barcelona-2020/?$ /blog/speaking-drupalcon-europe-2020 permanent; - rewrite ^/blog/speaking-during-lockdown/?$ /blog/speaking-remotely-during-covid-19 permanent; - rewrite ^/blog/speaking-remotely-during-lockdown/?$ /blog/speaking-remotely-during-covid-19 permanent; - rewrite ^/blog/style-drupal-6s-taxonomy-lists-php-css-jquery/?$ /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent; - rewrite ^/blog/survey-results-my-drupalcon-europe-session/?$ /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal permanent; - rewrite ^/blog/system-users-null-users/?$ /blog/null-users-and-system-users-in-drupal permanent; - rewrite ^/blog/test-driven-drupal-gitstore-leanpub/?$ /blog/test-driven-drupal-on-gitstore-leanpub permanent; - rewrite ^/blog/test-driven-drupal-presentation-drupalcon-europe-0/?$ /blog/test-driven-drupal-presentation-drupalcon-europe permanent; - rewrite ^/blog/test-driven-drupal-session-drupalcon-europe/?$ /blog/test-driven-drupal-presentation-drupalcon-europe permanent; - rewrite ^/blog/test-driven-drupal-session-video-drupalcon-europe/?$ /blog/test-driven-drupal-presentation-drupalcon-europe permanent; - rewrite ^/blog/testing-tailwind-css-plugins-with-jest/?$ /blog/testing-tailwind-css-plugins-jest permanent; - rewrite ^/blog/testing-tailwindcss-plugins-with-jest/?$ /blog/testing-tailwind-css-plugins-jest permanent; - rewrite ^/blog/tweets-from-drupalcamp-london/?$ /blog/tweets-drupalcamp-london permanent; - rewrite ^/blog/updating-features-and-adding-components-using-drush/?$ /blog/updating-features-adding-components-using-drush permanent; - rewrite ^/blog/updating-forked-repositories-github/?$ /blog/updating-forked-github-repos permanent; - rewrite ^/blog/use-regular-expressions-search-and-replace-coda-or-textmate/?$ /blog/use-regular-expressions-search-replace-coda-or-textmate permanent; - rewrite ^/blog/using-environment-variables-settings-docksal/?$ /blog/how-use-environment-variables-your-drupal-settings-docksal permanent; - rewrite ^/blog/using-psr-4-autoloading-your-drupal-7-test-cases/?$ /blog/psr4-autoloading-test-cases-drupal-7 permanent; - rewrite ^/blog/using-tailwind-css-in-your-drupal-theme/?$ /blog/using-tailwind-css-your-drupal-theme permanent; - rewrite ^/blog/using-the-pcss-extension-postcss-webpack-encore/?$ /blog/using-pcss-extension-postcss-webpack-encore permanent; - rewrite ^/blog/weeknotes-june-5th/?$ /blog/weeknotes-2021-06-05 permanent; - rewrite ^/blog/writing-drupal-module-test-driven-development-tdd/?$ /blog/writing-new-drupal-8-module-using-test-driven-development-tdd permanent; - rewrite ^/book/?$ /test-driven-drupal permanent; - rewrite ^/calendars?/?$ https://savvycal.com/opdavies permanent; - rewrite ^/cms-philly/?$ /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent; - rewrite ^/code-enigma-interview/?$ https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent; - rewrite ^/consulting/?$ / permanent; - rewrite ^/contrib-half-hour/?$ https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent; - rewrite ^/cv/?$ /cv.txt permanent; - rewrite ^/d0P5z/?$ /talks/drupal-8-php-libraries-drupalorg-api permanent; - rewrite ^/d7/?$ /drupal7 permanent; - rewrite ^/dcbristol-cfp/?$ https://www.papercall.io/drupalcamp-bristol-2019 permanent; - rewrite ^/dcbristol17-videos/?$ https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA permanent; - rewrite ^/dcbristol19-announced/?$ /articles/drupalcamp-bristol-2019-speakers-sessions-announced permanent; - rewrite ^/dclondon-sat/?$ https://drupalcamp.london/schedule/saturday permanent; - rewrite ^/dclondon-sun/?$ https://drupalcamp.london/schedule/sunday permanent; - rewrite ^/dclondon20/?$ /articles/drupalcamp-london-testing-workshop permanent; - rewrite ^/ddev-phpunit-command/?$ /blog/creating-custom-phpunit-command-ddev permanent; - rewrite ^/deploying-php-ansible/?$ /talks/deploying-php-ansible-ansistrano permanent; - rewrite ^/dks7E/?$ https://www.youtube.com/watch?v=PLS4ET7FAcU permanent; - rewrite ^/do-library/?$ https://github.com/opdavies/drupalorg-api-php permanent; - rewrite ^/do-projects/?$ https://github.com/opdavies/drupal-module-drupalorg-projects permanent; - rewrite ^/docksal-phpunit-phpstorm/?$ /articles/running-phpunit-tests-docksal-phpstorm permanent; - rewrite ^/docksal-posts/?$ /articles/tags/docksal permanent; - rewrite ^/dransible-drupal-9/?$ /blog/upgrading-dransible-project-drupal-9 permanent; - rewrite ^/dransible/?$ https://github.com/opdavies/dransible permanent; - rewrite ^/drupal-bristol-march-19/?$ https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent; - rewrite ^/drupal-consultant/?$ /drupal-consulting permanent; - rewrite ^/drupal-consulting/?$ / permanent; - rewrite ^/drupal-core-live-stream/?$ https://www.youtube.com/watch?v=OK4FWwh1gQU permanent; - rewrite ^/drupal-core-testing-gate/?$ https://www.drupal.org/core/gates#testing permanent; - rewrite ^/drupal-first-time-issues/?$ https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent; - rewrite ^/drupal-forum-post/?$ http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 permanent; - rewrite ^/drupal-marketplace-uk/?$ https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent; - rewrite ^/drupal-meetups-twitterbot/?$ /articles/introducing-the-drupal-meetups-twitterbot permanent; - rewrite ^/drupal-novice-issues/?$ https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent; - rewrite ^/drupal-php-developer-consultant-uk/?$ /drupal-php-developer permanent; - rewrite ^/drupal-php-developer/?$ /drupal-consultant permanent; - rewrite ^/drupal-tailwind-demo/?$ https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent; - rewrite ^/drupal-tailwindcss/?$ https://www.drupal.org/project/tailwindcss permanent; - rewrite ^/drupal-vuejs/?$ /talks/decoupling-drupal-vuejs/ permanent; - rewrite ^/drupal7/?$ /drupal-upgrade permanent; - rewrite ^/drupalcamp-london-2019-tickets/?$ /articles/drupalcamp-london-2019-tickets permanent; - rewrite ^/drupalcamp-nyc-training/?$ https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent; - rewrite ^/drupalorg-project-issues/?$ https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent; - rewrite ^/drupalorg/?$ https://www.drupal.org/u/opdavies permanent; - rewrite ^/drupalversary/?$ https://github.com/opdavies/drupal-module-drupalversary permanent; - rewrite ^/elewant/?$ https://elewant.com/shepherd/admire/opdavies permanent; - rewrite ^/feed/?$ /rss.xml permanent; - rewrite ^/first-drupal-core-issue/?$ https://www.drupal.org/project/drupal/issues/753898 permanent; - rewrite ^/first-npm-package/?$ https://www.npmjs.com/package/tailwindcss-vuejs permanent; - rewrite ^/freeagent/?$ https://opdavies.freeagent.com permanent; - rewrite ^/git-flow/?$ /talks/git-flow permanent; - rewrite ^/gitlab/?$ https://gitlab.com/opdavies permanent; - rewrite ^/gitstore/?$ https://enjoy.gitstore.app/maintainers/opdavies permanent; - rewrite ^/gmail-filters/?$ https://gitlab.com/opdavies/gmail-filters permanent; - rewrite ^/images/me-precedent.jpg/?$ /sites/default/files/images/social-avatar.jpg permanent; - rewrite ^/inviqa-tailwind-demo/?$ https://play.tailwindcss.com/Yfmw8O5UNN permanent; - rewrite ^/inviqa-tailwind-notes/?$ https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 permanent; - rewrite ^/join-php-south-wales-slack/?$ https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA permanent; - rewrite ^/jy6rW/?$ https://www.meetup.com/PHP-South-Wales/events/264731393 permanent; - rewrite ^/kB6Jd/?$ /articles/running-drupal-with-symfony-local-server/ permanent; - rewrite ^/kmDRA/?$ https://www.bbc.co.uk/news/uk-46561779 permanent; - rewrite ^/leeds-php-drupal-9/?$ https://www.meetup.com/leedsphp/events/272504993 permanent; - rewrite ^/live/?$ https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ permanent; - rewrite ^/npm/?$ https://www.npmjs.com/~opdavies permanent; - rewrite ^/oFlkS/?$ /articles/test-driven-drupal-on-gitstore-leanpub permanent; - rewrite ^/oliver-davies-uk-based-drupal-symfony-developer/?$ /oliver-davies-uk-based-drupal-php-developer permanent; - rewrite ^/pair-programming/?$ /pair permanent; - rewrite ^/pair-with-me/?$ /pair permanent; - rewrite ^/pairing/?$ /pair permanent; - rewrite ^/php-ansible/?$ /talks/deploying-php-ansible-ansistrano permanent; - rewrite ^/qSHAl/?$ /articles/published-my-first-npm-package/ permanent; - rewrite ^/qT1Rb/?$ https://github.com/opdavies/drupal-meetups-twitterbot permanent; - rewrite ^/rebuilding-acquia/?$ https://rebuilding-acquia.oliverdavies.uk permanent; - rewrite ^/rebuilding-bartik/?$ /articles/rebuilding-bartik-with-vuejs-tailwind-css permanent; - rewrite ^/rebuilding-bristol-js/?$ https://github.com/opdavies/rebuilding-bristol-js permanent; - rewrite ^/rebuilding-pantheon/?$ https://play.tailwindcss.com/LND98XihGI?layout=horizontal permanent; - rewrite ^/rebuilding-platformsh/?$ https://rebuilding-platformsh.oliverdavies.uk permanent; - rewrite ^/rebuilding-symfony/?$ https://github.com/opdavies/rebuilding-symfony permanent; - rewrite ^/rk29B/?$ https://www.meetup.com/PHP-South-Wales/events/268422525 permanent; - rewrite ^/roadmap/?$ /drupal-upgrade permanent; - rewrite ^/rss/?$ /rss.xml permanent; - rewrite ^/rst2pdf/?$ /talks/building-presenting-slide-decks-rst2pdf permanent; - rewrite ^/s9MjJ/?$ https://symfonycasts.com/screencast/symfony permanent; - rewrite ^/sculpin-encore-versioning/?$ https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent; - rewrite ^/sculpin/?$ /talks/building-static-websites-sculpin permanent; - rewrite ^/sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent; - rewrite ^/skills/?$ https://opdavies-skills-tailwindcss.netlify.com/ permanent; - rewrite ^/slides-drupal-9/?$ https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent; - rewrite ^/slides-upgrading-to-drupal-9/?$ https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent; - rewrite ^/slides-upgrading-to-drupal-9/index.html/?$ https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent; - rewrite ^/slides-working-with-workspace/?$ https://slides-working-with-workspace.oliverdavies.uk permanent; - rewrite ^/speaker-info/?$ /speaker permanent; - rewrite ^/speaker-information/?$ /speaker permanent; - rewrite ^/speaker/?$ /press permanent; - rewrite ^/speaking-videos/?$ https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent; - rewrite ^/stream/?$ https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent; - rewrite ^/subscription/?$ / permanent; - rewrite ^/swap-markdown-parser/?$ https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent; - rewrite ^/symfony-server/?$ /articles/running-drupal-with-symfony-local-server permanent; - rewrite ^/symfony/?$ https://connect.symfony.com/profile/opdavies permanent; - rewrite ^/symfonylive/?$ /articles/live-blogging-symfonylive-london permanent; - rewrite ^/symposium/?$ https://symposiumapp.com/u/opdavies permanent; - rewrite ^/tailwind-css-talk/?$ /talks/taking-flight-tailwind-css permanent; - rewrite ^/tailwind-repos/?$ https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent; - rewrite ^/tailwind-talk/?$ /talks/taking-flight-with-tailwind-css permanent; - rewrite ^/tailwindcss-demo/?$ http://tailwindcss-demo.oliverdavies.uk/ permanent; - rewrite ^/talks-offer-tweet/?$ https://twitter.com/opdavies/status/1250870367712935938 permanent; - rewrite ^/talks/2012/09/05/what-is-this-drupal-thing-unified-diff/?$ /talks/what-is-this-drupal-thing permanent; - rewrite ^/talks/2013/07/10/drupal-ldap-swdug/?$ /talks/drupal-ldap permanent; - rewrite ^/talks/2014/03/01/git-flow-drupalcamp-london-2014/?$ /talks/git-flow permanent; - rewrite ^/talks/2014/07/02/drush-make-drupalbristol-drupal-bristol/?$ /talks/drush-make-drupalbristol permanent; - rewrite ^/talks/2014/08/19/drupal-association-swdug/?$ /talks/drupal-association permanent; - rewrite ^/talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015/?$ /talks/drupalorg-in-2015-whats-coming-next permanent; - rewrite ^/talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015/?$ /talks/drupalorg-in-2015-whats-coming-next permanent; - rewrite ^/talks/2015/04/08/drupal-8-phpsw/?$ /talks/drupal-8 permanent; - rewrite ^/talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015/?$ /talks/test-drive-twig-with-sculpin permanent; - rewrite ^/talks/2015/08/25/dancing-for-drupal-umbristol/?$ /talks/dancing-for-drupal permanent; - rewrite ^/talks/2015/10/14/sculpin-phpsw/?$ /talks/sculpin permanent; - rewrite ^/talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016/?$ /talks/getting-started-with-drupal-8-module-development permanent; - rewrite ^/talks/2016/03/09/drupal-vm-generator-nwdug/?$ /talks/drupal-vm-generator permanent; - rewrite ^/talks/2016/04/02/drupal-vm-generator-drupal-bristol/?$ /talks/drupal-vm-generator permanent; - rewrite ^/talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016/?$ /talks/drupal-8-rejoining-the-herd permanent; - rewrite ^/talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016/?$ /talks/drupal-vm-meet-symfony-console permanent; - rewrite ^/talks/2016/11/09/drupal-development-with-composer-phpsw/?$ /talks/drupal-development-with-composer permanent; - rewrite ^/talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol/?$ /talks/goodbye-drush-make-hello-composer permanent; - rewrite ^/talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol/?$ /talks/getting-your-data-into-drupal-8 permanent; - rewrite ^/talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017/?$ /talks/getting-your-data-into-drupal-8 permanent; - rewrite ^/talks/ansible-ansistrano/?$ https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano permanent; - rewrite ^/talks/deploying-php-applications-fabric/?$ /talks/deploying-php-fabric permanent; - rewrite ^/talks/deploying-php-applications-with-fabric/?$ /talks/deploying-php-fabric permanent; - rewrite ^/talks/drupal-vm-generator-2/?$ /talks/drupal-vm-generator permanent; - rewrite ^/talks/drupalorg-2015-2/?$ /talks/drupalorg-2015 permanent; - rewrite ^/talks/drupalorg-in-2015-whats-coming-next/?$ /talks/drupalorg-2015 permanent; - rewrite ^/talks/getting-started-with-drupal-8-module-development/?$ /drupal-8-module-development permanent; - rewrite ^/talks/having-fun-drupal-8-php-libraries-drupalorg-api/?$ /talks/drupal-8-php-libraries-drupalorg-api permanent; - rewrite ^/talks/never-commit-master-introduction-git-flow/?$ /talks/git-flow permanent; - rewrite ^/talks/sculpin/?$ /talks/building-static-websites-sculpin permanent; - rewrite ^/talks/tailwind/?$ /talks/taking-flight-with-tailwind-css/ permanent; - rewrite ^/talks/taking-flight-tailwind-css/?$ /talks/taking-flight-with-tailwind-css permanent; - rewrite ^/talks/using-laravel-collections-outside-laravel/?$ /talks/using-illuminate-collections-outside-laravel permanent; - rewrite ^/talks/working-workspace/?$ /talks/working-with-workspace permanent; - rewrite ^/tdd-blog/?$ https://github.com/opdavies/drupal-module-tdd-blog permanent; - rewrite ^/tdd-test-driven-drupal/?$ /talks/tdd-test-driven-drupal/ permanent; - rewrite ^/team-coaching/?$ / permanent; - rewrite ^/test-driven-drupal-book/?$ /test-driven-drupal permanent; - rewrite ^/testing-drupal-intro/?$ https://inviqa.com/blog/drupal-automated-testing-introduction permanent; - rewrite ^/testing-drupal/?$ https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent; - rewrite ^/testing-tailwind-plugins/?$ /articles/testing-tailwindcss-plugins-with-jest permanent; - rewrite ^/testing-workshop-code/?$ https://github.com/opdavies/workshop-drupal-automated-testing-code permanent; - rewrite ^/testing-workshop/?$ https://github.com/opdavies/workshop-drupal-automated-testing permanent; - rewrite ^/todoist-filters/?$ https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent; - rewrite ^/twitter-tweaks/?$ https://github.com/opdavies/chrome-extension-twitter-tweaks permanent; - rewrite ^/upgrading-to-drupal-9/?$ /talks/upgrading-your-site-drupal-9 permanent; - rewrite ^/uxbjV/?$ https://www.drupal.org/project/copyright_block permanent; - rewrite ^/vyTEF/?$ https://www.npmjs.com/package/tailwindcss-vuejs permanent; - rewrite ^/webpack-encore-pcss-regex/?$ https://regexr.com/51iaf permanent; - rewrite ^/wordcamp-bristol-tailwindcss/?$ https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css permanent; - rewrite ^/wordpress-tailwind/?$ https://github.com/opdavies/wordcamp-bristol-2019 permanent; - rewrite ^/work/?$ /drupal-php-developer permanent; - rewrite ^/working-with-workspace/?$ /talks/working-with-workspace permanent; - rewrite ^/workshop-drupal-testing/?$ https://github.com/opdavies/workshop-drupal-automated-testing permanent; - rewrite ^/workspace-demo/?$ https://github.com/opdavies/working-with-workspace-demo permanent; - rewrite ^/wp-tailwind-repo/?$ https://github.com/opdavies/wordcamp-bristol-2019 permanent; - rewrite ^/wp-tailwind-starter/?$ https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent; - rewrite ^/wp-tailwind-static/?$ https://wp-tailwind.oliverdavies.uk permanent; - rewrite ^/wp-tailwind/?$ https://wp-tailwind.oliverdavies.uk permanent; - rewrite ^/yXhoS/?$ /talks/things-you-should-know-about-php permanent; - - rewrite ^/talks/archive/?$ /talks permanent; - rewrite ^/talks/(.*)$ /presentations/$1 permanent; - rewrite ^/talks/?$ /presentations permanent; - - rewrite ^/archive/(.*)$ /daily/$1 permanent; - - # Remove trailing slashes. - rewrite ^/(.*)/$ /$1 permanent; - ''; - - locations."/".tryFiles = "$uri $uri.html $uri/index.html =404"; - }; - - "oliverdavies.uk" = { - enableACME = true; - forceSSL = true; - globalRedirect = "www.oliverdavies.uk"; - }; - }; -} diff --git a/nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix deleted file mode 100644 index 174ed196..00000000 --- a/nix/hosts/hetznix/modules/nginx/vhosts/zet.oliverdavies.uk.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - services.nginx.virtualHosts."zet.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - forceSSL = true; - root = "/var/www/vhosts/zet.oliverdavies.uk/output_prod"; - }; -} From ad08679bf261ecb8af553b4c01e053978d996ab7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 20:03:43 +0000 Subject: [PATCH 1233/2258] lemp11: use GNOME and don't hibernate when the lid ...is closed but there is external power --- nix/hosts/lemp11/configuration.nix | 3 + nix/hosts/t490/default.nix | 1 + nix/modules/nixos/i3.nix | 236 +++++++++++++++-------------- 3 files changed, 126 insertions(+), 114 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 5ebb4bfe..a7be1130 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -112,6 +112,9 @@ layout = "gb"; variant = ""; }; + + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; }; # Configure console keymap diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix index 786716b0..364150d6 100644 --- a/nix/hosts/t490/default.nix +++ b/nix/hosts/t490/default.nix @@ -8,6 +8,7 @@ features = { desktop = { gaming.enable = true; + i3.enable = true; peek.enable = true; }; }; diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 2c7856b5..19aba388 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -1,149 +1,157 @@ { + config, inputs, + lib, pkgs, self, username, ... }: +with lib; + let theme = import "${self}/nix/lib/theme" { inherit pkgs; }; modifier = "Mod4"; in { - services = { - cron = { - enable = true; + options.features.desktop.i3.enable = mkEnableOption "Enable i3"; - systemCronJobs = [ - "* * * * * opdavies ${pkgs.notify-battery}/bin/notify-battery" - ]; - }; - - displayManager.defaultSession = "none+i3"; - - xserver = { - displayManager.lightdm.enable = true; - - windowManager.i3 = { + config = mkIf config.features.desktop.i3.enable { + services = { + cron = { enable = true; - extraPackages = with pkgs; [ - i3status - i3lock - i3blocks + + systemCronJobs = [ + "* * * * * opdavies ${pkgs.notify-battery}/bin/notify-battery" ]; }; - }; - }; - environment.systemPackages = with pkgs; [ - acpi - libnotify - ]; + displayManager.defaultSession = "none+i3"; - home-manager.users.${username} = { - xsession.windowManager.i3 = { - enable = true; + xserver = { + displayManager.lightdm.enable = true; - config = { - assigns = { - "7" = [ { class = "vlc"; } ]; - "8" = [ { class = "0ad"; } ]; - "9" = [ - { class = "Slack"; } - { class = "discord"; } + windowManager.i3 = { + enable = true; + extraPackages = with pkgs; [ + i3status + i3lock + i3blocks ]; }; - - defaultWorkspace = "workspace number 1"; - - modifier = modifier; - - keybindings = inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+d" = "exec rofi -show drun"; - - "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; - "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; - - # Change focus. - "${modifier}+h" = "focus left"; - "${modifier}+j" = "focus down"; - "${modifier}+k" = "focus up"; - "${modifier}+l" = "focus right"; - - # Move focused window. - "${modifier}+Shift+h" = "move left"; - "${modifier}+Shift+j" = "move down"; - "${modifier}+Shift+k" = "move up"; - "${modifier}+Shift+l" = "move right"; - - "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; - "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change"; - "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; - - "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; - "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; - - "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; - "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; - }; - - terminal = "alacritty"; - }; - - extraConfig = '' - set $laptop eDP-1 - bindswitch --reload --locked lid:on output $laptop disable - bindswitch --reload --locked lid:off output $laptop enable - - exec_always --no-startup-id caffeine - exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change - - smart_borders on - smart_gaps on - - for_window [class="copyq"] floating enable - for_window [class="zoom"] floating enable - # xprop | grep -i class - ''; - - config = { - bars = [ - { - position = "bottom"; - statusCommand = "${pkgs.i3status}/bin/i3status"; - trayOutput = "none"; - } - ]; - - gaps = { - smartBorders = "on"; - smartGaps = true; - }; }; }; - programs.i3status = { - enable = true; + environment.systemPackages = with pkgs; [ + acpi + libnotify + ]; - general.colors = false; + home-manager.users.${username} = { + xsession.windowManager.i3 = { + enable = true; - modules = { - "battery all".settings.last_full_capacity = true; + config = { + assigns = { + "7" = [ { class = "vlc"; } ]; + "8" = [ { class = "0ad"; } ]; + "9" = [ + { class = "Slack"; } + { class = "discord"; } + ]; + }; - "tztime local".settings.format = "%d-%m-%Y %H:%M:%S"; - cpu_temperature.enable = false; - ipv6.enable = false; - load.enable = false; + defaultWorkspace = "workspace number 1"; + + modifier = modifier; + + keybindings = inputs.nixpkgs.lib.mkOptionDefault { + "${modifier}+d" = "exec rofi -show drun"; + + "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; + "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; + + # Change focus. + "${modifier}+h" = "focus left"; + "${modifier}+j" = "focus down"; + "${modifier}+k" = "focus up"; + "${modifier}+l" = "focus right"; + + # Move focused window. + "${modifier}+Shift+h" = "move left"; + "${modifier}+Shift+j" = "move down"; + "${modifier}+Shift+k" = "move up"; + "${modifier}+Shift+l" = "move right"; + + "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; + "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change"; + "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; + + "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; + "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; + "XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; + + "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; + "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; + }; + + terminal = "alacritty"; + }; + + extraConfig = '' + set $laptop eDP-1 + bindswitch --reload --locked lid:on output $laptop disable + bindswitch --reload --locked lid:off output $laptop enable + + exec_always --no-startup-id caffeine + exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change + + smart_borders on + smart_gaps on + + for_window [class="copyq"] floating enable + for_window [class="zoom"] floating enable + # xprop | grep -i class + ''; + + config = { + bars = [ + { + position = "bottom"; + statusCommand = "${pkgs.i3status}/bin/i3status"; + trayOutput = "none"; + } + ]; + + gaps = { + smartBorders = "on"; + smartGaps = true; + }; + }; }; - }; - services.dunst = { - enable = true; + programs.i3status = { + enable = true; - settings.global.follow = "keyboard"; + general.colors = false; + + modules = { + "battery all".settings.last_full_capacity = true; + + "tztime local".settings.format = "%d-%m-%Y %H:%M:%S"; + cpu_temperature.enable = false; + ipv6.enable = false; + load.enable = false; + }; + }; + + services.dunst = { + enable = true; + + settings.global.follow = "keyboard"; + }; }; }; } From 22473ca2abe4450e66f3c62dc354aa2ff92fd324 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 13:21:00 +0000 Subject: [PATCH 1234/2258] Update Cloudflare API token --- nix/secrets/cloudflare.age | Bin 1024 -> 1134 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index 2bdf0a4a41ae2074c62235834ff4341e17bdf298..2055fdbc0a53f0ba9c2d6dbd9da48cc46e30f236 100644 GIT binary patch delta 1105 zcmZqRc*ik8r@qjm(xa@<qd3IR*fl>rJR~<T*w5F;%SS)YGsw~`)xyF*sU)D#JUu@v zovSL!q};+KF~B|3(>=w#%CO4PC9x#TEW;<?DB0b}I3+94H#oP#y&yl`l}p!7p}06h zH#Nn`)YQ;Y!LvBb#W-Cd)jZuizdX=YKVQ4JB+M)|r#`RL(M{jXE5P5+($e1}!@M}E z(nH(TFUQ${%QC<$*gQ2dE!We%%HPY_%%Ctz+s`jO(lf))q{urhC_ln7C?zO8DJh~H zW?fNnqJnl=NO)j5m!oljQ+S43Ms}5lVN$N6qpMk#mvfY*SC(^eq(P2LX`peQw@XgF zvq^=oNo1~}dqAd}Q-ybFa$;g$u6|`fr4d(YzF&o9rcae`iNB$%PhpOBu%mxrQAln| zP^D3Ue`$V2VXkMcV^w8=shgWyV1A%uiMfA%V3dhPfOC39U~(>(pTC8dd8lVfo_BGs zcUqKprg>$OXNF-=RF-K(v59Y`m%n4Zca>3Dn08>HV^C1IWl@onx4U~(aFkbYfk(D? z7FSr3MP8_%VW4M~X|7*DQdFU(hmWgCc|eA?PguBTm`{aKiK|gsdS-=%pNF4Gh+#%@ zpqr(iqnDGjnP))0e-&3$gmbZ}Z-JAxWm#F0tGiP{s8ey0U#_83L9tI@dT>R3ZmGUm zK#^fuU{1b)pHX?4SE6}klABMSewCq5skWm(ms_Q;fmx-qcW`BfZ)HSAdZM9Ux^}ju zpSFdUTcB}pWn__Cntq;tRA#uRnP+KwT4hy{r(b4rUSxifQ(=B-GFM@0u(7*WRbXjp znu|$jdA5f^iAjcQP-s+UenD}4SY?S(c6q6xW0Y@*qm#aekyluOc}9|3azsR#rEf-R zd1MGzU}9-SU_?lErlF%}VNpP!e`J+^nn$QfQiQu{nuV*YWnjKZMx=3xZ)IRvRd!;C zzOO-vX<>*<pl^D<QJ7;DS8}>%YJ`bpg;BnbL6LJ<L~%w)k+(-cpi_2zR(Oa<WQc`R zk#C`&ufK6+j%j9gMOAW%M`=lLR+hg-vYAP8aVnQZq;X}HTTqsHc~xbKU%H`jKze9} zOSX|&MqYNJXO&x7Qh}+bdzD{_d!%1xMyPA0eo2XCc$KGnnOkv?t4TOlg=?Uvb9SYP zhiOJisi9YDlA~9Yqj6S!qPKrak#l6GlS{CVrEykrv3aNgm#(g^LQ<x`S(UH3Z;GFH zaB-DqxRXJNxmTh|cDjjimZf2(PpN@%ZjptPQC4Iq*L}+$FCMP6aXxBo8*BB^V;O_( z94*gfq7ju>Z$4uFr&RuO*H+c*Qy;B=6DRmDGC1_p@{Lj@#s4<Mt*!Q&`7!QneBvSL z3rhoo4Ss*vtgvoc-nXcCujYQyTr92iHEB6R`m&zsHom4!U$?waDBZ&{B|ts<ON7&c W{a>d=d`S#q^^tww*}C`jr?&vKjE6A* delta 978 zcmaFI(ZDf5C%iPLqAJxa%P%z7)5+Y(*(cw~xUw*}!aO6@A~&EgB-tm(Am76)(WA&9 zo2xJ*)5yRxGsr*HGRV*0(!?^tFUTyj&@s)-yDXwGEh5Lf)I2=1&@<7)V&X^P`mhq0 z$|TFuqM!grbB_#dBkv^b<Z=s_oP5)q0B6?<k8%%7&vN|;-=s+QJpHUP$B>j@{ScE9 z-(nxn^7P~qN3IHIClB8e-_(dwXV(bJq{^hCBFiFe$Eq}a)2hJ2Vtr4;KtI#a;JnJ9 zlC0dsaF_f%mlF3Jch7)`v?!;XdgoBC;+)V-!^-e%L$6$m;>48lz`~+(!$_Yp_k!Z8 zJj2X@f;^v$+!UuW*L-JVpWsMOlkm(WlkCV)v%rkZBCoVmuC$zR3wPh_sFET}v;3;u zO0VMbh#<Ejv#2!lh|tg!<B*V4=YYhF?5ccMlh8a1KR1`$vP>t}tklA?df!M_!wfD{ z?|h%Y@|3WAivSDHfIOGn5XThLpn@d*q$JlsWB>3H(+a;7qo~LdAJZInS1-%-bjx7v zg7lCe?Qnk|!_X+MQ2$aVSEEvM!<01BlB|$)6Mxr41JjUjCrjguRD<%+psWz>+*~im zpwuM4@WLGTl7eE_unZr!db6TP$Fw3}Coap%^3cL0=P={&pkRwcW7h&t)AHbeT*tsD zpVV+yeIEnubPq%G!o(6^?UbrCqpWPtpr|P4@J!DzHy1aTN=Gj3Vxwf=Y*Y8jL=zKF z(;#0<=d3J`BIBrnLZgEG%nHBA;&j9Og2XVV%A)k*fT*I1)DriI`b6*GsuJz6ppb|# zE)V^z3QPT}!r-FPNJGawgP=UOd=r;E??BTsN8`wJFK=VNq|9L7ti;OD5<kmg$M7ig z6c>NLZ2y!Hrx2Im2(EHpLl={zNHYtI#4L|skFw&D)YLFf7pDT3u!7JWvw}QR_t3)R zFvH{^=P-*Dj|iuV`l`rGzwoTEFvkj?i1KW%NRymYqkK=pax=$l%RE1yNJBp(V?)CT zV^_DR!itbeFV6s{vNGe!sJwD6U0q#;<Yc3;a&NZ~BbUN_{g6nXDE+d4<Z#DqkNiyi z46^{kh$5F<KcmXr%7{=dPLYoFxBj2KD(b&jtYZDkZ&i~j{uLxJeKC^Sy!Fkr-Yw6s zcm0nI*ZGh<OQAsfQ`!;k!X;~XSY2LD%eXo1b3^vcPj@4H&q#dfR1%bZSkTUr5+T+q z^R)c1ljYW~_NwBmIt5-2b$&hJ*!l0)R<jAU70Z6ze&i^zB5c*|!r8iqjH(ye2=d>t F0RR<6UGV?_ From b04abfd33bfcdb5d7d8e3ea81b5917830fe682ee Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 26 Dec 2024 21:35:05 +0000 Subject: [PATCH 1235/2258] Update homelab service URLs --- nix/modules/nixos/features/homelab/audiobookshelf.nix | 4 ++-- nix/modules/nixos/features/homelab/forgejo.nix | 3 ++- nix/modules/nixos/features/homelab/freshrss/default.nix | 8 ++------ nix/modules/nixos/features/homelab/gitea.nix | 2 +- nix/modules/nixos/features/homelab/immich.nix | 3 ++- nix/modules/nixos/features/homelab/jellyfin.nix | 2 +- .../nixos/features/homelab/tubearchivist-container.nix | 3 ++- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index 54aabb71..79537dcd 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -12,14 +12,14 @@ in services.audiobookshelf = { enable = true; - host = "audiobookshelf.davies.home"; + host = "audiobookshelf.oliverdavies.uk"; port = 4001; }; services.nginx = { enable = true; - virtualHosts."audiobookshelf.davies.home" = { + virtualHosts."audiobookshelf.oliverdavies.uk" = { locations."/" = { proxyPass = "http://localhost:${toString config.services.audiobookshelf.port}/"; proxyWebsockets = true; diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix index 0e717320..e89f2030 100644 --- a/nix/modules/nixos/features/homelab/forgejo.nix +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -29,7 +29,8 @@ in nginx = { enable = true; - virtualHosts."forgejo.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + virtualHosts."forgejo.oliverdavies.uk".locations."/".proxyPass = + "http://localhost:${toString port}/"; }; }; }; diff --git a/nix/modules/nixos/features/homelab/freshrss/default.nix b/nix/modules/nixos/features/homelab/freshrss/default.nix index f341abe1..ea09bdc3 100644 --- a/nix/modules/nixos/features/homelab/freshrss/default.nix +++ b/nix/modules/nixos/features/homelab/freshrss/default.nix @@ -9,11 +9,7 @@ in services.nginx = { enable = true; - virtualHosts."freshrss.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; - }; - - # TODO: move to pihole. - networking.hosts = { - "127.0.0.1" = [ "freshrss.davies.home" ]; + virtualHosts."freshrss.oliverdavies.uk".locations."/".proxyPass = + "http://localhost:${toString port}/"; }; } diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index d44f3526..8ff4f588 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -29,7 +29,7 @@ in nginx = { enable = true; - virtualHosts."gitea.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + virtualHosts."gitea.oliverdavies.uk".locations."/".proxyPass = "http://localhost:${toString port}/"; }; }; }; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 098be47e..4726c3bc 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -22,7 +22,8 @@ with lib; services.nginx = { enable = true; - virtualHosts."immich.davies.home".locations."/".proxyPass = "http://localhost:${toString config.services.immich.port}/"; + virtualHosts."immich.oliverdavies.uk".locations."/".proxyPass = + "http://localhost:${toString config.services.immich.port}/"; }; }; } diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 12a79c99..1397fdae 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -16,7 +16,7 @@ with lib; services.nginx = { enable = true; - virtualHosts."jellyfin.davies.home".locations."/".proxyPass = "http://localhost:8096/"; + virtualHosts."jellyfin.oliverdavies.uk".locations."/".proxyPass = "http://localhost:8096/"; }; }; } diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/tubearchivist-container.nix index b3b54541..300b3e97 100644 --- a/nix/modules/nixos/features/homelab/tubearchivist-container.nix +++ b/nix/modules/nixos/features/homelab/tubearchivist-container.nix @@ -289,7 +289,8 @@ in services.nginx = { enable = true; - virtualHosts."tubearchivist.davies.home".locations."/".proxyPass = "http://localhost:${toString port}/"; + virtualHosts."tubearchivist.oliverdavies.uk".locations."/".proxyPass = + "http://localhost:${toString port}/"; }; }; } From ed9d929b62c4d71b36196f8b12750cb77bfe44dc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 27 Dec 2024 18:59:49 +0000 Subject: [PATCH 1236/2258] Re-key secrets --- nix/secrets/cloudflare.age | Bin 1134 -> 1024 bytes nix/secrets/secrets.nix | 5 ++++- nix/secrets/tubearchivist.age | Bin 292 -> 1004 bytes 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index 2055fdbc0a53f0ba9c2d6dbd9da48cc46e30f236..1d0cb3b54e5d6db2c1f3a414db443a57dea25a97 100644 GIT binary patch delta 978 zcmaFI(ZDf5C*09JyEw@tBG51=Q@hO3*f-KY+%eoet1K@qDj>?)%&WM_$Xz=$-y+W- zpDUy&**V|a+&D4P&DgS3+qftyB0ba7!Z|cQ(b*-~G9V=++1bO~G%}*3c;ZLl`iiO~ zlO+G(#K_#rl<ca&U=ROn?O?a8Km(WbtV&;f$B>+Sw_N9_vK)(~^vD#aWTVPp&obBS zLNEP-g1|^eSFQqm{Ve_RDCfkGs*H-F$n46{G(R8L&;oDY%rMg^qhO<8Cs*HMuT&p{ zAa}p2$dV+-$dD9+%<_zoz>q|*`lxg+k8A_)>`05K0;7mRZ_DD$K<}tzL$mDk6r)^! zmx{oUyhPI+mnc7z(mYG;Did$#!U*jg?eeJH3WLPrY%lFfF27*I{2W7HFN@Ob^0Ksa z?Z|>qkFw%)L$}f_OXDObpIk$2GuP03?b6D^a%Y1)v!tplSM5|&k5Z?y`n)8c+(0hv ztbk%qldvEk7r(0X{G!4FC-1US$ABzTZU0b%9LqopXEXDl+>qR)D#Jp3({e+7cfWkM zP<?HeT=&qj{0IZCsO$pIkiu+>@R0DTz@o~``~uH3)8K%_tf~sP05f-e6R$uwbCaxK z-`pTCqddzZ{XjRDFh?iL`mD5))T-17Pp)v!)WDST+;BI)sKBaX4{tY1<3hvG0AHhs z@Um?863c9V?<z}oqvQ<Z(qMz4q&#=yu>AB={Sv?IJQJ6U<RUKpM7OHE$UKvX;v%DL zZ*TJuv+(dlr;y~xs{EvIBh%7~z^vf#OfNr!^wdzJ@=$$~jBo?D`iy|^+^j@@=ZFe@ zu2Me}lWeoX2#+9-lnN6AZ@*w?{ffkh@L+f2%H;6etk5Wr3a?_nd_P0q3L}q@M1#a& zAAjwj%Ivg!{j~h3G%jtQf?^Nn!hpndL$e6i3eR-yu<&vx%k1#*yzI=p;9?JLGv^HF z441N~vZRb0v+&fadf$R77o%`(&m4Wr{L(V6qP(o4Y^MNIuSgfKKz|qS!t7G-Jg>sa zz^aO<(u@-03eUhwAG4(LAoFZ4U0q#;?2w!)gAgNAZTAvm-z1};%-qPJDs#t5AL9yr zvoZrmH&=Z_x8y`uOS4cembRL^%J<tHja_7TEoXja_Bxm2Rj~8c3(lpo32JA2fAFln zbHBy+;%e<<zwBD-ey|-{>$6prMO9(G#wpbwXMFtvuI&(Y+8=h#<aKl0)i}-v{G~QZ zF0DE8EPTrx&%66niwcxX68^9@xXR!S|2$2_w>ou&*~k9)9b>m%v!bJtrR%vB!~RSF D*%eb# delta 1105 zcmZqRc*ik8r@qjm(xa@<qd3IR*fl>rJR~<T*w5F;%SS)YGsw~`)xyF*sU)D#JUu@v zovSL!q};+KF~B|3(>=w#%CO4PC9x#TEW;<?DB0b}I3+94H#oP#y&yl`l}p!7p}06h zH#Nn`)YQ;Y!LvBb#W-Cd)jZuizdX=YKVQ4JB+M)|r#`RL(M{jXE5P5+($e1}!@M}E z(nH(TFUQ${%QC<$*gQ2dE!We%%HPY_%%Ctz+s`jO(lf))q{urhC_ln7C?zO8DJh~H zW?fNnqJnl=NO)j5m!oljQ+S43Ms}5lVN$N6qpMk#mvfY*SC(^eq(P2LX`peQw@XgF zvq^=oNo1~}dqAd}Q-ybFa$;g$u6|`fr4d(YzF&o9rcae`iNB$%PhpOBu%mxrQAln| zP^D3Ue`$V2VXkMcV^w8=shgWyV1A%uiMfA%V3dhPfOC39U~(>(pTC8dd8lVfo_BGs zcUqKprg>$OXNF-=RF-K(v59Y`m%n4Zca>3Dn08>HV^C1IWl@onx4U~(aFkbYfk(D? z7FSr3MP8_%VW4M~X|7*DQdFU(hmWgCc|eA?PguBTm`{aKiK|gsdS-=%pNF4Gh+#%@ zpqr(iqnDGjnP))0e-&3$gmbZ}Z-JAxWm#F0tGiP{s8ey0U#_83L9tI@dT>R3ZmGUm zK#^fuU{1b)pHX?4SE6}klABMSewCq5skWm(ms_Q;fmx-qcW`BfZ)HSAdZM9Ux^}ju zpSFdUTcB}pWn__Cntq;tRA#uRnP+KwT4hy{r(b4rUSxifQ(=B-GFM@0u(7*WRbXjp znu|$jdA5f^iAjcQP-s+UenD}4SY?S(c6q6xW0Y@*qm#aekyluOc}9|3azsR#rEf-R zd1MGzU}9-SU_?lErlF%}VNpP!e`J+^nn$QfQiQu{nuV*YWnjKZMx=3xZ)IRvRd!;C zzOO-vX<>*<pl^D<QJ7;DS8}>%YJ`bpg;BnbL6LJ<L~%w)k+(-cpi_2zR(Oa<WQc`R zk#C`&ufK6+j%j9gMOAW%M`=lLR+hg-vYAP8aVnQZq;X}HTTqsHc~xbKU%H`jKze9} zOSX|&MqYNJXO&x7Qh}+bdzD{_d!%1xMyPA0eo2XCc$KGnnOkv?t4TOlg=?Uvb9SYP zhiOJisi9YDlA~9Yqj6S!qPKrak#l6GlS{CVrEykrv3aNgm#(g^LQ<x`S(UH3Z;GFH zaB-DqxRXJNxmTh|cDjjimZf2(PpN@%ZjptPQC4Iq*L}+$FCMP6aXxBo8*BB^V;O_( z94*gfq7ju>Z$4uFr&RuO*H+c*Qy;B=6DRmDGC1_p@{Lj@#s4<Mt*!Q&`7!QneBvSL z3rhoo4Ss*vtgvoc-nXcCujYQyTr92iHEB6R`m&zsHom4!U$?waDBZ&{B|ts<ON7&c W{a>d=d`S#q^^tww*}C`jr?&vKjE6A* diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index b6216aa9..1b6cd8f5 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -15,5 +15,8 @@ in users.opdavies ]; - "tubearchivist.age".publicKeys = [ hosts.lemp11 ]; + "tubearchivist.age".publicKeys = [ + hosts.lemp11 + users.opdavies + ]; } diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index 565b9367c986f70bc60129e4c9492309ea480cb1..10863f4409667afc329e7aad499f79e2dfde78a7 100644 GIT binary patch delta 974 zcmZ3&^oD(cPJKXSYIcCRp`%kpV7N(PaY2-MXpUz<PFQY1W^t~eYn8T>Pn4-^ZeUPI zC|6c`iBFn~VZMiBxqEn0QbtjVb7ZP{nOSLtv$kQfduc{hL8g~~P*sw?BbTn7LUD11 zZc%Zff_7O*cwjk~adJkEwq;ORc95%)n|oGBRiS5?aeYcaVyH`axUY+!MX-6LOGRaA zR+f*ydsLLWqp6RnNoIt(iECkbij#$5K38CwtEs2Ie|c7-tA9nLdqzQ?Wlma}Te4?( zL5ZnxZdqwnj*DMJMo>XezE60hM|zlhq_>Y-YKgbMVS#s=TPT-rK#`e&MNm~{l!d;V zYf?m*cYTCwV3Jw6pId6BlSQeyNl9gRlu?+wZ(y!-X{2ACVUkHnMRst3drnoVyRT0$ zmt$dZx?5&oNm*V{Nui~Sd8${0d5J+vR;gcFUbbsgK#r-2sjFvpdUi&7xqDzmmYcg% zR8>llV_0!yx>=5)FIQ=4q@$OUTVbA=Nrro{WqqodnY)LtMM+7ytBGG!a*}Vcfmy!0 zONzd;nTJPMNnoUbNpN9MidjXtS&?V9vw;Cuo}pKvQD%~5h>2^FcCvncn6ta7Uy)I1 zWokiHc}`}jd$@U2k$$AFXMVDyc3P2Jrb}vyfwxacj=!U0K#8X-mv>%9KxmnBP>{Zl zYkh`GsgYS}W_g}VewABga)y7ZX;Hp~PjW_)dsbDxhmW&mYDs~at8qn?flEM|iBnO& zUoMx0Yg(pxRZ?!TS%rT=fLls-Zn=+nVpvjmRYs0yMY?`kX1YnRccgcjt661=pLS|M zQB+|@MOkj7MPX!=Q=kP`c%YAEXmF0ZWqo9@mzQ%{c9N%dP`XpOwnx69zlmS5ySsBp zM0%iUl}n*vKt^bxdwEWTlSie$b3lq`a%yo=6<2a*fp3<1xPeoKxv8UhhFgG%fv06o zepRqzaD;_{N0D)$lSgr)V~)3XdTx@pr-!qzWpYV|se52rk*~LBkUv*ZQ9(#$XnjD4 zzq6B5iF1Tch*6rEt3`gQr?-hyc~D|naaFikc34rBX?i}FuCA^^KtO&`j&Dj{gn^-n zmrrncc6gvyj&F8uxOrG+Zn#l!UQkg;j$yWcNmf1=57)Aj5BD9KbmxEf|Afse<E)sb z+e(>~R_8uFUnQow{?o#>#_<fd)F;NfKYyAjaMA2ZL(Ysiw)bJDcDQYbuALet>G7dz zb>nI0Ip+*|*ROvQb7RTZ$4NU{?kvuFxJqG~`s(XvL*qWnPu1G}ddC!p+sigH0syHL BTGapm delta 256 zcmaFEzJzIlPQ7zdl0in4TT)hVu8DSeeulqiqCrtnL4mJHVy3f;k-t+#X`+5;NL5yP zD3_V5d6j30dwxNcWmsWQT26X_m!q?#p+T}slx3!csc)6Jc0hTVXK_V9HkYohu0p<3 za%g6jWkykWrBQy4NwQC<TTXbkTVk+&xk*x`U#W>vUS+m%v8O>%Vlmg0h%(1Hx<wb5 zYuKB<i~RkYEmxO2Tk-NV1)D_241xKFj_qiW(|&T=Z`Rk7Qi+>b3-9{4K2*3j;d(^R zqD?1Q=k4mhDbc_*flcGdBb8+NFK3qRGuiav{Hp(ve@<E?PcZr&&o6Hf$}{<E`CBdL Jt@%}_k^tkZXW{?= From ec7efcba47a8a63ab75835e83318992306f9100e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 28 Dec 2024 09:26:54 +0000 Subject: [PATCH 1237/2258] Re-use Terminus font --- nix/modules/home-manager/features/desktop/alacritty.nix | 6 ++++-- nix/modules/nixos/fonts.nix | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 4b3f323a..d1489a3f 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -24,10 +24,12 @@ with lib; }; font = { - size = 10; + size = 16; bold.style = "Regular"; - normal.family = "MesloLGSDZ Nerd Font Mono"; + bold_italic.style = "Regular"; + italic.style = "Regular"; + normal.family = "Terminus (TTF)"; }; terminal.shell = { diff --git a/nix/modules/nixos/fonts.nix b/nix/modules/nixos/fonts.nix index 892eff73..446e2b25 100644 --- a/nix/modules/nixos/fonts.nix +++ b/nix/modules/nixos/fonts.nix @@ -9,7 +9,8 @@ packages = with pkgs; [ nerd-fonts.jetbrains-mono nerd-fonts.meslo-lg - nerd-fonts.terminess-ttf + terminus_font + terminus_font_ttf ]; }; } From ba50ef37c5a4f8c5d9d276ed6f8647f993e65887 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 28 Dec 2024 09:26:54 +0000 Subject: [PATCH 1238/2258] Re-add nixedo as a media server --- flake.nix | 13 ++ nix/home/opdavies/hosts/nixedo.nix | 13 ++ nix/hosts/lemp11/default.nix | 3 - nix/hosts/nixedo/configuration.nix | 147 ++++++++++++++++++ nix/hosts/nixedo/default.nix | 28 ++++ nix/hosts/nixedo/extra.nix | 9 ++ nix/hosts/nixedo/hardware-configuration.nix | 54 +++++++ .../{lemp11 => nixedo}/modules/nginx.nix | 0 nix/hosts/{lemp11 => nixedo}/secrets.nix | 0 nix/modules/nixos/autorandr.nix | 9 ++ nix/secrets/secrets.nix | 3 + 11 files changed, 276 insertions(+), 3 deletions(-) create mode 100644 nix/home/opdavies/hosts/nixedo.nix create mode 100644 nix/hosts/nixedo/configuration.nix create mode 100644 nix/hosts/nixedo/default.nix create mode 100644 nix/hosts/nixedo/extra.nix create mode 100644 nix/hosts/nixedo/hardware-configuration.nix rename nix/hosts/{lemp11 => nixedo}/modules/nginx.nix (100%) rename nix/hosts/{lemp11 => nixedo}/secrets.nix (100%) diff --git a/flake.nix b/flake.nix index 36d90a2a..701bf33a 100644 --- a/flake.nix +++ b/flake.nix @@ -72,6 +72,19 @@ ]; }; + nixedo = nixpkgs.lib.nixosSystem { + specialArgs = specialArgs // { + headless = true; + hostname = "nixedo"; + }; + + modules = [ + agenix.nixosModules.default + + ./nix/hosts/nixedo + ]; + }; + t490 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { hostname = "t490"; diff --git a/nix/home/opdavies/hosts/nixedo.nix b/nix/home/opdavies/hosts/nixedo.nix new file mode 100644 index 00000000..ef00c48a --- /dev/null +++ b/nix/home/opdavies/hosts/nixedo.nix @@ -0,0 +1,13 @@ +{ ... }: + +{ + features = { + cli = { + direnv.enable = true; + }; + + desktop = { + gtk.enable = true; + }; + }; +} diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 3baef024..7c94665b 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -26,8 +26,5 @@ ../common ./configuration.nix - ./secrets.nix - - ./modules/nginx.nix ]; } diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix new file mode 100644 index 00000000..9ebdd5d4 --- /dev/null +++ b/nix/hosts/nixedo/configuration.nix @@ -0,0 +1,147 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ + headless, + hostname, + inputs, + outputs, + pkgs, + self, + system, + username, + ... +}: + +{ + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # home-manager.backupFileExtension + home-manager = { + backupFileExtension = "bak2"; + extraSpecialArgs = { + inherit + hostname + inputs + outputs + headless + self + system + username + ; + }; + useGlobalPkgs = true; + useUserPackages = true; + + users."${username}" = import "${self}/nix/home/${username}"; + }; + + nixpkgs = { + config = { + allowUnfree = true; + + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; + + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; + }; + + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.efi.efiSysMountPoint = "/boot/efi"; + + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "gb"; + variant = ""; + }; + + # Configure console keymap + console.keyMap = "uk"; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.opdavies = { + isNormalUser = true; + description = "Oliver Davies"; + extraGroups = [ + "docker" + "media" + "networkmanager" + "wheel" + ]; + packages = with pkgs; [ + cryptsetup + ]; + }; + + users.groups.media = { }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + # Open ports in the firewall. + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + system.stateVersion = "24.11"; +} diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix new file mode 100644 index 00000000..1bd01be5 --- /dev/null +++ b/nix/hosts/nixedo/default.nix @@ -0,0 +1,28 @@ +{ + features = { + cli = { + docker.enable = true; + }; + + homelab = { + forgejo.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + # vaultwarden.enable = true; + }; + }; + + imports = [ + ../common + + ./configuration.nix + ./secrets.nix + ./extra.nix + + ./modules/nginx.nix + ]; +} diff --git a/nix/hosts/nixedo/extra.nix b/nix/hosts/nixedo/extra.nix new file mode 100644 index 00000000..02188827 --- /dev/null +++ b/nix/hosts/nixedo/extra.nix @@ -0,0 +1,9 @@ +{ + programs.dconf.enable = true; + + services.logind.lidSwitchExternalPower = "ignore"; + + age.identityPaths = [ + "/home/opdavies/.ssh/id_rsa" + ]; +} diff --git a/nix/hosts/nixedo/hardware-configuration.nix b/nix/hosts/nixedo/hardware-configuration.nix new file mode 100644 index 00000000..bc7ab4db --- /dev/null +++ b/nix/hosts/nixedo/hardware-configuration.nix @@ -0,0 +1,54 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.kernelParams = [ "i8042.reset" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/7c6d69ec-ba06-4ddb-b9c4-62b3994fda91"; + fsType = "ext4"; + }; + + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/B729-9A75"; + fsType = "vfat"; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/5db0a0e6-93fb-4d0b-8fb0-fdb3cb76b89d"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s13f0u1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nix/hosts/lemp11/modules/nginx.nix b/nix/hosts/nixedo/modules/nginx.nix similarity index 100% rename from nix/hosts/lemp11/modules/nginx.nix rename to nix/hosts/nixedo/modules/nginx.nix diff --git a/nix/hosts/lemp11/secrets.nix b/nix/hosts/nixedo/secrets.nix similarity index 100% rename from nix/hosts/lemp11/secrets.nix rename to nix/hosts/nixedo/secrets.nix diff --git a/nix/modules/nixos/autorandr.nix b/nix/modules/nixos/autorandr.nix index b00d34dd..202c4ced 100644 --- a/nix/modules/nixos/autorandr.nix +++ b/nix/modules/nixos/autorandr.nix @@ -16,6 +16,15 @@ desktop.name = "HDMI-1"; }; + nixedo = { + internal = { + fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; + name = "eDP-1"; + }; + + desktop.name = "HDMI-1"; + }; + t490 = { internal = { fingerprint = "00ffffffffffff0030e4fa0500000000001c0104a51f117802aa95955e598e271b5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001ab62c80f4703816403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746412d53504432004d"; diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 1b6cd8f5..5552e141 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -2,6 +2,7 @@ let hosts = { hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMk8n03VeShc0q4ztcaNrmScwM7u0j6fFVtmupy2RlM2"; lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; + nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; @@ -12,11 +13,13 @@ in { "cloudflare.age".publicKeys = [ hosts.hetznix + hosts.t490 users.opdavies ]; "tubearchivist.age".publicKeys = [ hosts.lemp11 + hosts.nixedo users.opdavies ]; } From 8a768262fc7329d41f74029c88d70cefc0cf7207 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 28 Dec 2024 23:24:05 +0000 Subject: [PATCH 1239/2258] Update syntax highlighting --- nix/modules/home-manager/features/cli/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index 79c04b52..8a5e79eb 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -4,7 +4,7 @@ programs.zsh = { enable = true; enableCompletion = true; - enableSyntaxHighlighting = true; + syntaxHighlighting.enable = true; cdpath = [ "~/Code" ]; dotDir = ".config/zsh"; From 8add47b7c917ce8ef7092cf8d84a04c1dcf009c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 29 Dec 2024 02:25:25 +0000 Subject: [PATCH 1240/2258] Switch font to JetBrainsMono --- nix/modules/home-manager/features/desktop/alacritty.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index d1489a3f..24ca5751 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -24,12 +24,9 @@ with lib; }; font = { - size = 16; + size = 15; - bold.style = "Regular"; - bold_italic.style = "Regular"; - italic.style = "Regular"; - normal.family = "Terminus (TTF)"; + normal.family = "JetBrainsMono Nerd Font "; }; terminal.shell = { From 35e2fe1d9170a94063354042c9f83d3997a8e6f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 29 Dec 2024 11:53:32 +0000 Subject: [PATCH 1241/2258] Simplify neovim keymaps and change clipboard ...setting --- nvim/lua/opdavies/keymaps.lua | 47 ++--------------------------------- nvim/lua/opdavies/options.lua | 1 - 2 files changed, 2 insertions(+), 46 deletions(-) diff --git a/nvim/lua/opdavies/keymaps.lua b/nvim/lua/opdavies/keymaps.lua index 8044134a..9cc34f93 100644 --- a/nvim/lua/opdavies/keymaps.lua +++ b/nvim/lua/opdavies/keymaps.lua @@ -1,11 +1,5 @@ local set = vim.keymap.set -set("n", "<Leader>so", ":call opdavies#save_and_exec()<CR>") - --- Format paragraphs to an 80 character line length. -set("n", "<Leader>g", "gqap") -set("x", "<Leader>g", "gqa") - -- Execute Lua in the current file, line or range. set("n", "<leader><leader>x", "<cmd>source %<CR>") set("n", "<leader>x", ":.lua<CR>") @@ -22,10 +16,6 @@ set("n", "N", "Nzzzv") set("v", "<down>", "<nop>") set("v", "<up>", "<nop>") --- Use the left and right arrow keys to change tabs. -set("v", "<left>", "gT") -set("v", "<right>", "gt") - -- Easily switch back to visual mode. set("i", "jk", "<Esc>") @@ -33,12 +23,6 @@ set("i", "jk", "<Esc>") set("i", ",,", "<Esc>A,<Esc>") set("i", ";;", "<Esc>A;<Esc>") -set("n", "ga", "<Plug>(EasyAlign)") -set("x", "ga", "<Plug>(EasyAlign)") - --- Focus on the current buffer. -set("n", "<leader>-", ":wincmd _<cr>:wincmd |<cr>", { noremap = true, silent = true }) - -- Automatically resize buffers. set("n", "<leader>=", ":wincmd =<cr>", { noremap = true, silent = true }) @@ -73,12 +57,6 @@ vim.cmd [[ nnoremap <expr> <CR> {-> v:hlsearch ? ":nohl\<CR>" : "\<CR>"}() ]] set("n", "Q", "@qj") set("x", "Q", ":norm @q<CR>") --- Easier navigation between splits. -set("n", "<C-h>", "<C-w><C-h>") -set("n", "<C-j>", "<C-w><C-j>") -set("n", "<C-k>", "<C-w><C-k>") -set("n", "<C-l>", "<C-w><C-l>") - set("v", "Q", "<nop>") set("v", "J", ":m '>+1<CR>gvrgv") @@ -90,28 +68,7 @@ set("n", "<C-u>", "<C-u>zz") set("n", "n", "nzzzv") set("n", "N", "Nzzzv") --- Easily access project-specific notes. -set("n", "<leader>en", function() - if vim.fn.filereadable ".ignored/notes" == 1 then - vim.cmd "tabnew .ignored/notes" - else - vim.cmd "tabnew notes" - end -end) - --- Easily access project-specific todos. -set("n", "<leader>et", function() - if vim.fn.filereadable ".ignored/todo" == 1 then - vim.cmd "tabnew .ignored/todo" - else - vim.cmd "tabnew todo" - end -end) - set("n", "<leader>ec", ":edit composer.json<CR>") --- These mappings control the size of splits (height/width). -set("n", "<M-,>", "<c-w>5<") -set("n", "<M-.>", "<c-w>5>") -set("n", "<M-t>", "<C-W>+") -set("n", "<M-s>", "<C-W>-") +set({ "n", "v" }, "<leader>y", [["+y]]) +set("n", "<leader>Y", [["+Y]]) diff --git a/nvim/lua/opdavies/options.lua b/nvim/lua/opdavies/options.lua index 4702b287..3bdd40da 100644 --- a/nvim/lua/opdavies/options.lua +++ b/nvim/lua/opdavies/options.lua @@ -46,7 +46,6 @@ for key, value in pairs(settings) do end vim.opt.backupdir:remove "." -- keep backups out of the current directory -vim.opt.clipboard:append "unnamedplus" vim.opt.completeopt = { "menu", "menuone", "noinsert", "noselect" } vim.opt.listchars:append { trail = "·", From d1e0abf4c53db12a6726d35ef381881465222571 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 10:33:03 +0000 Subject: [PATCH 1242/2258] Change the pihole mount directories Whilst doing this to /mnt/media, the adlist was showing as -2 and saying that DNS resolution was not possible. This was preventing any ads from being blocked. Moving this to a local directory seems to fix the issue and I'll investigate further at a later date. --- nix/modules/nixos/features/homelab/pi-hole.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/modules/nixos/features/homelab/pi-hole.nix b/nix/modules/nixos/features/homelab/pi-hole.nix index cce9039c..d8cc070d 100644 --- a/nix/modules/nixos/features/homelab/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/pi-hole.nix @@ -31,8 +31,8 @@ in }; volumes = [ - "/mnt/media/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" - "/mnt/media/pihole/etc-pihole:/etc/pihole:rw" + "/home/opdavies/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" + "/home/opdavies/pihole/etc-pihole:/etc/pihole:rw" ]; ports = [ From c5afed57678d7628d0df03d73a97d736b36e9e4f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 15:41:43 +0000 Subject: [PATCH 1243/2258] Move WSL from standalone Home Manager to NixOS --- flake.lock | 89 ++++++++++++- flake.nix | 35 +++--- nix/hosts/PW05CH3L/configuration.nix | 118 ++++++++++++++++++ nix/hosts/PW05CH3L/default.nix | 14 +++ nix/hosts/lemp11/default.nix | 1 + nix/hosts/t490/default.nix | 1 + nix/modules/nixos/autorandr.nix | 75 ----------- nix/modules/nixos/default.nix | 1 - .../nixos/features/desktop/autorandr.nix | 81 ++++++++++++ .../nixos/features/desktop/default.nix | 1 + 10 files changed, 324 insertions(+), 92 deletions(-) create mode 100644 nix/hosts/PW05CH3L/configuration.nix create mode 100644 nix/hosts/PW05CH3L/default.nix delete mode 100644 nix/modules/nixos/autorandr.nix create mode 100644 nix/modules/nixos/features/desktop/autorandr.nix diff --git a/flake.lock b/flake.lock index f3452d5d..8ab88f28 100644 --- a/flake.lock +++ b/flake.lock @@ -63,6 +63,40 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -121,6 +155,27 @@ "type": "github" } }, + "nixos-wsl": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1733854371, + "narHash": "sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf+CKyr0=", + "owner": "nix-community", + "repo": "NixOS-WSL", + "rev": "dee4425dcee3149475ead0cb6a616b8a028c5888", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "main", + "repo": "NixOS-WSL", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1703013332, @@ -154,6 +209,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1733384649, + "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1734649271, "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", @@ -175,7 +246,8 @@ "disko": "disko", "home-manager": "home-manager_2", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixos-wsl": "nixos-wsl", + "nixpkgs": "nixpkgs_3", "nixpkgs-2405": "nixpkgs-2405" } }, @@ -193,6 +265,21 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 701bf33a..3d919504 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,8 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; + + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; }; outputs = @@ -22,6 +24,7 @@ disko, home-manager, nixos-hardware, + nixos-wsl, nixpkgs, self, ... @@ -99,6 +102,23 @@ ]; }; + PW05CH3L = nixpkgs.lib.nixosSystem { + inherit system; + + specialArgs = specialArgs // { + headless = true; + hostname = "PW05CH3L"; + }; + + modules = [ + agenix.nixosModules.default + disko.nixosModules.disko + nixos-wsl.nixosModules.default + + ./nix/hosts/PW05CH3L + ]; + }; + hetznix = nixpkgs.lib.nixosSystem { inherit system; @@ -114,20 +134,5 @@ ]; }; }; - - homeConfigurations = { - "${username}@PW05CH3L" = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - - extraSpecialArgs = specialArgs // { - headless = true; - hostname = "PW05CH3L"; - }; - - modules = [ - ./nix/home/opdavies - ]; - }; - }; }; } diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix new file mode 100644 index 00000000..2f2c5bfc --- /dev/null +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -0,0 +1,118 @@ +{ + headless ? false, + hostname, + inputs, + outputs, + pkgs, + self, + system, + username, + ... +}: + +{ + home-manager = { + extraSpecialArgs = { + inherit + hostname + inputs + outputs + headless + self + system + username + ; + }; + useGlobalPkgs = true; + useUserPackages = true; + + users."${username}" = import "${self}/nix/home/${username}"; + }; + + nixpkgs = { + config = { + allowUnfree = true; + }; + + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; + }; + + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + + # # Enable networking + # networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + + # Configure console keymap + console.keyMap = "uk"; + + users.users.${username} = { + description = "Oliver Davies"; + isNormalUser = true; + + extraGroups = [ + "docker" + "media" + "networkmanager" + "wheel" + ]; + + packages = with pkgs; [ ]; + }; + + security.sudo.wheelNeedsPassword = false; + + environment.systemPackages = + with pkgs; + [ + ] + ++ pkgs.lib.optionals (!headless) [ + ]; + + system.stateVersion = "22.11"; + + nix = { + extraOptions = '' + trusted-users = root ${username} + ''; + + gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 7d"; + }; + + optimise.automatic = true; + + settings = { + auto-optimise-store = true; + experimental-features = [ + "nix-command" + "flakes" + ]; + warn-dirty = false; + }; + }; + +} diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix new file mode 100644 index 00000000..e1303ff9 --- /dev/null +++ b/nix/hosts/PW05CH3L/default.nix @@ -0,0 +1,14 @@ +{ username, ... }: + +{ + imports = [ + ../common + + ./configuration.nix + ]; + + wsl = { + enable = true; + defaultUser = username; + }; +} diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 7c94665b..22c16606 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -7,6 +7,7 @@ }; desktop = { + autorandr.enable = true; gaming.enable = true; peek.enable = true; }; diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix index 364150d6..15d408b6 100644 --- a/nix/hosts/t490/default.nix +++ b/nix/hosts/t490/default.nix @@ -7,6 +7,7 @@ features = { desktop = { + autorandr.enable = true; gaming.enable = true; i3.enable = true; peek.enable = true; diff --git a/nix/modules/nixos/autorandr.nix b/nix/modules/nixos/autorandr.nix deleted file mode 100644 index 202c4ced..00000000 --- a/nix/modules/nixos/autorandr.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ config, ... }: - -{ - services.autorandr = { - enable = true; - - profiles = - let - hosts = { - lemp11 = { - internal = { - fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; - name = "eDP-1"; - }; - - desktop.name = "HDMI-1"; - }; - - nixedo = { - internal = { - fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; - name = "eDP-1"; - }; - - desktop.name = "HDMI-1"; - }; - - t490 = { - internal = { - fingerprint = "00ffffffffffff0030e4fa0500000000001c0104a51f117802aa95955e598e271b5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001ab62c80f4703816403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746412d53504432004d"; - name = "eDP-1"; - }; - - desktop.name = "HDMI-2"; - }; - }; - - host = hosts."${config.networking.hostName}"; - in - { - default = { - fingerprint = { - "${host.internal.name}" = host.internal.fingerprint; - }; - - config = { - "${host.internal.name}" = { - enable = true; - mode = "1920x1080"; - }; - }; - }; - - desktop = { - config = { - "${host.internal.name}".enable = false; - - "${host.desktop.name}" = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; - }; - }; - - fingerprint = { - "${host.internal.name}" = host.internal.fingerprint; - - "${host.desktop.name}" = - "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - }; - }; - }; - }; -} diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index 28ce9167..7fc8e31a 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./autorandr.nix ./features/cli ./features/desktop ./features/gaming.nix diff --git a/nix/modules/nixos/features/desktop/autorandr.nix b/nix/modules/nixos/features/desktop/autorandr.nix new file mode 100644 index 00000000..385e9b3a --- /dev/null +++ b/nix/modules/nixos/features/desktop/autorandr.nix @@ -0,0 +1,81 @@ +{ config, lib, ... }: + +with lib; + +{ + options.features.desktop.autorandr.enable = mkEnableOption "Enable autorandr"; + + config = mkIf config.features.desktop.autorandr.enable { + services.autorandr = { + enable = true; + + profiles = + let + hosts = { + lemp11 = { + internal = { + fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; + name = "eDP-1"; + }; + + desktop.name = "HDMI-1"; + }; + + nixedo = { + internal = { + fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; + name = "eDP-1"; + }; + + desktop.name = "HDMI-1"; + }; + + t490 = { + internal = { + fingerprint = "00ffffffffffff0030e4fa0500000000001c0104a51f117802aa95955e598e271b5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001ab62c80f4703816403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746412d53504432004d"; + name = "eDP-1"; + }; + + desktop.name = "HDMI-2"; + }; + }; + + host = hosts."${config.networking.hostName}"; + in + { + default = { + fingerprint = { + "${host.internal.name}" = host.internal.fingerprint; + }; + + config = { + "${host.internal.name}" = { + enable = true; + mode = "1920x1080"; + }; + }; + }; + + desktop = { + config = { + "${host.internal.name}".enable = false; + + "${host.desktop.name}" = { + enable = true; + mode = "2560x1440"; + primary = true; + rate = "59.95"; + }; + }; + + fingerprint = { + "${host.internal.name}" = host.internal.fingerprint; + + "${host.desktop.name}" = + "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; + }; + }; + }; + }; + }; +} diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix index 80157252..07ce9a0a 100644 --- a/nix/modules/nixos/features/desktop/default.nix +++ b/nix/modules/nixos/features/desktop/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./autorandr.nix ./peek.nix ./screenkey.nix ]; From 815ec0f42915a41ac365065391db07aafa11e736 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 17:43:49 +0000 Subject: [PATCH 1244/2258] Move more things to the common host configuration --- flake.nix | 4 + nix/home/opdavies/default.nix | 10 +- nix/hosts/PW05CH3L/configuration.nix | 98 +--------------- nix/hosts/common/default.nix | 89 +++++++++++++++ nix/hosts/common/programs.nix | 8 ++ nix/hosts/common/users.nix | 20 ++++ nix/hosts/lemp11/configuration.nix | 160 +-------------------------- nix/hosts/nixedo/configuration.nix | 130 ++-------------------- nix/hosts/t490/configuration.nix | 156 +++----------------------- 9 files changed, 147 insertions(+), 528 deletions(-) create mode 100644 nix/hosts/common/programs.nix create mode 100644 nix/hosts/common/users.nix diff --git a/flake.nix b/flake.nix index 3d919504..9fbd0f99 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,7 @@ lemp11 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { hostname = "lemp11"; + stateVersion = "22.11"; }; modules = [ @@ -79,6 +80,7 @@ specialArgs = specialArgs // { headless = true; hostname = "nixedo"; + stateVersion = "24.11"; }; modules = [ @@ -91,6 +93,7 @@ t490 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { hostname = "t490"; + stateVersion = "22.11"; }; modules = [ @@ -108,6 +111,7 @@ specialArgs = specialArgs // { headless = true; hostname = "PW05CH3L"; + stateVersion = "22.11"; }; modules = [ diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index d3bc1f8b..f4b099f6 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -13,18 +13,10 @@ let pkgs = import inputs.nixpkgs { inherit system; - config = { - allowUnfree = true; - - permittedInsecurePackages = [ - "electron-27.3.11" - ]; - }; + config.allowUnfree = true; overlays = [ outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages ]; }; diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index 2f2c5bfc..ccc0d6e0 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -1,102 +1,9 @@ -{ - headless ? false, - hostname, - inputs, - outputs, - pkgs, - self, - system, - username, - ... -}: +{ inputs, ... }: { - home-manager = { - extraSpecialArgs = { - inherit - hostname - inputs - outputs - headless - self - system - username - ; - }; - useGlobalPkgs = true; - useUserPackages = true; - - users."${username}" = import "${self}/nix/home/${username}"; - }; - - nixpkgs = { - config = { - allowUnfree = true; - }; - - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - ]; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - # # Enable networking - # networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # Configure console keymap - console.keyMap = "uk"; - - users.users.${username} = { - description = "Oliver Davies"; - isNormalUser = true; - - extraGroups = [ - "docker" - "media" - "networkmanager" - "wheel" - ]; - - packages = with pkgs; [ ]; - }; - - security.sudo.wheelNeedsPassword = false; - - environment.systemPackages = - with pkgs; - [ - ] - ++ pkgs.lib.optionals (!headless) [ - ]; - - system.stateVersion = "22.11"; - nix = { - extraOptions = '' - trusted-users = root ${username} - ''; - gc = { automatic = true; dates = "daily"; @@ -107,12 +14,13 @@ settings = { auto-optimise-store = true; + experimental-features = [ "nix-command" "flakes" ]; + warn-dirty = false; }; }; - } diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index fd0852f0..134ae97d 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -1,7 +1,13 @@ { + headless, hostname, inputs, outputs, + pkgs, + self, + stateVersion, + system, + username, ... }: @@ -10,7 +16,90 @@ inputs.home-manager.nixosModules.home-manager outputs.nixosModules.default + + ./programs.nix + ./users.nix ]; + environment.systemPackages = + with pkgs; + [ + fastfetch + mermaid-cli + mkcert + ] + ++ pkgs.lib.optionals (!headless) [ + acpi + arandr + brightnessctl + cpufrequtils + libnotify + pmutils + ffmpegthumbnailer + libreoffice + logseq + shotwell + vscode + xfce.thunar + xfce.thunar-volman + xfce.tumbler + ]; + + home-manager = { + extraSpecialArgs = { + inherit + hostname + inputs + outputs + headless + self + system + username + ; + }; + useGlobalPkgs = true; + useUserPackages = true; + + users."${username}" = import "${self}/nix/home/${username}"; + }; + + nixpkgs = { + config.allowUnfree = true; + + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; + }; + + nix.extraOptions = '' + trusted-users = root ${username} + ''; + networking.hostName = hostname; + + time.timeZone = "Europe/London"; + + i18n = { + defaultLocale = "en_GB.UTF-8"; + + extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + }; + + console.keyMap = "uk"; + + security.sudo.wheelNeedsPassword = false; + + system.stateVersion = stateVersion; } diff --git a/nix/hosts/common/programs.nix b/nix/hosts/common/programs.nix new file mode 100644 index 00000000..b9845954 --- /dev/null +++ b/nix/hosts/common/programs.nix @@ -0,0 +1,8 @@ +{ + programs = { + zsh = { + enable = true; + histSize = 5000; + }; + }; +} diff --git a/nix/hosts/common/users.nix b/nix/hosts/common/users.nix new file mode 100644 index 00000000..32760a5a --- /dev/null +++ b/nix/hosts/common/users.nix @@ -0,0 +1,20 @@ +{ username, ... }: + +{ + users = { + users.${username} = { + isNormalUser = true; + description = "Oliver Davies"; + + extraGroups = [ + "docker" + "networkmanager" + "wheel" + ]; + + packages = [ ]; + }; + + defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; + }; +} diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index a7be1130..d042697a 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -1,11 +1,6 @@ { - headless ? false, - hostname, inputs, - outputs, pkgs, - self, - system, username, ... }: @@ -21,38 +16,6 @@ ./hardware-configuration.nix ]; - home-manager = { - extraSpecialArgs = { - inherit - hostname - inputs - outputs - headless - self - system - username - ; - }; - useGlobalPkgs = true; - useUserPackages = true; - - users."${username}" = import "${self}/nix/home/${username}"; - }; - - nixpkgs = { - config = { - allowUnfree = true; - - permittedInsecurePackages = [ "electron-27.3.11" ]; - }; - - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - ]; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; # Bootloader. @@ -77,34 +40,8 @@ DefaultTimeoutStopSec=10s ''; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking networking.networkmanager.enable = true; - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # Enable the X11 windowing system. services.xserver.enable = true; services.xserver = { @@ -117,15 +54,12 @@ desktopManager.gnome.enable = true; }; - # Configure console keymap - console.keyMap = "uk"; - services.avahi.enable = true; services.avahi.nssmdns4 = true; services.avahi.openFirewall = true; + services.printing.enable = true; - # Enable sound with pipewire. hardware.pulseaudio.enable = false; hardware.bluetooth.enable = true; @@ -146,103 +80,11 @@ pulse.enable = true; }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - users.users.${username} = { - isNormalUser = true; - description = "Oliver Davies"; - extraGroups = [ - "docker" - "media" - "networkmanager" - "scanner" - "wheel" - ]; - packages = [ ]; - }; - - users.groups.media = { }; - - security.sudo.wheelNeedsPassword = false; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = - with pkgs; - [ - caffeine-ng - cryptsetup - gtypist - fastfetch - mermaid-cli - mkcert - ttyper - yt-dlp - ytfzf - ] - ++ pkgs.lib.optionals (!headless) [ - acpi - arandr - brightnessctl - cpufrequtils - libnotify - pmutils - ffmpegthumbnailer - libreoffice - logseq - rclone - rclone-browser - shotwell - vscode - xfce.thunar - xfce.thunar-volman - xfce.tumbler - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. services.openssh.enable = true; - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ - 9003 # xdebug - ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.11"; # Did you read the comment? - - programs.dconf.enable = true; - - programs.zsh.enable = true; - programs.zsh.histSize = 5000; - - users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; - zramSwap.enable = true; nix = { - extraOptions = '' - trusted-users = root ${username} - ''; - gc = { automatic = true; dates = "daily"; diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index 9ebdd5d4..7895a159 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -2,146 +2,32 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ - headless, - hostname, - inputs, - outputs, - pkgs, - self, - system, - username, - ... -}: +{ inputs, pkgs, ... }: { imports = [ - # Include the results of the hardware scan. ./hardware-configuration.nix ]; - # home-manager.backupFileExtension - home-manager = { - backupFileExtension = "bak2"; - extraSpecialArgs = { - inherit - hostname - inputs - outputs - headless - self - system - username - ; - }; - useGlobalPkgs = true; - useUserPackages = true; - - users."${username}" = import "${self}/nix/home/${username}"; - }; - - nixpkgs = { - config = { - allowUnfree = true; - - permittedInsecurePackages = [ "electron-27.3.11" ]; - }; - - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - ]; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.efi.efiSysMountPoint = "/boot/efi"; + boot.loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot/efi"; + }; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + systemd-boot.enable = true; + }; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking networking.networkmanager.enable = true; - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "gb"; - variant = ""; - }; - - # Configure console keymap - console.keyMap = "uk"; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.opdavies = { - isNormalUser = true; - description = "Oliver Davies"; - extraGroups = [ - "docker" - "media" - "networkmanager" - "wheel" - ]; - packages = with pkgs; [ - cryptsetup - ]; - }; - users.groups.media = { }; - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. services.openssh.enable = true; - # Open ports in the firewall. networking.firewall.allowedTCPPorts = [ 80 443 ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - system.stateVersion = "24.11"; } diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index bc6033a1..3c228b40 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -1,11 +1,6 @@ { - headless ? false, - hostname, inputs, - outputs, pkgs, - self, - system, username, ... }: @@ -15,41 +10,14 @@ ./hardware-configuration.nix ]; - home-manager = { - extraSpecialArgs = { - inherit - hostname - inputs - outputs - headless - self - system - username - ; - }; - useGlobalPkgs = true; - useUserPackages = true; - - users."${username}" = import "${self}/nix/home/${username}"; - }; - nixpkgs = { config = { - allowUnfree = true; - permittedInsecurePackages = [ "electron-27.3.11" ]; }; - - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - ]; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - # Bootloader. boot = { loader = { systemd-boot = { @@ -70,52 +38,23 @@ DefaultTimeoutStopSec=10s ''; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking networking.networkmanager.enable = true; - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - services.xserver = { + enable = true; + xkb = { layout = "gb"; variant = ""; }; }; - # Configure console keymap - console.keyMap = "uk"; - services.avahi.enable = true; services.avahi.nssmdns4 = true; services.avahi.openFirewall = true; + services.printing.enable = true; - # Enable sound with pipewire. hardware.pulseaudio.enable = false; hardware.bluetooth.enable = true; @@ -136,18 +75,9 @@ pulse.enable = true; }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - users.users.${username} = { - isNormalUser = true; - description = "Oliver Davies"; - extraGroups = [ - "docker" - "media" - "networkmanager" - "wheel" - ]; + extraGroups = [ "media" ]; + packages = with pkgs; [ android-tools via @@ -156,82 +86,22 @@ users.groups.media = { }; - security.sudo.wheelNeedsPassword = false; + environment.systemPackages = with pkgs; [ + gtypist + rclone + rclone-browser + ttyper + yt-dlp + ytfzf + ]; - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = - with pkgs; - [ - caffeine-ng - cryptsetup - gtypist - fastfetch - mermaid-cli - mkcert - ttyper - yt-dlp - ytfzf - ] - ++ pkgs.lib.optionals (!headless) [ - acpi - arandr - brightnessctl - cpufrequtils - libnotify - pmutils - ffmpegthumbnailer - libreoffice - logseq - rclone - rclone-browser - shotwell - vscode - xfce.thunar - xfce.thunar-volman - xfce.tumbler - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. services.openssh.enable = true; - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ - 9003 # xdebug - ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.11"; # Did you read the comment? - programs.dconf.enable = true; - users.defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; - zramSwap.enable = true; nix = { - extraOptions = '' - trusted-users = root ${username} - ''; - gc = { automatic = true; dates = "daily"; From ae456f33179afef71e5e3b003f042108b31ba395 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 18:02:52 +0000 Subject: [PATCH 1245/2258] Remove unused packages --- nix/home/opdavies/hosts/lemp11.nix | 1 - nix/home/opdavies/hosts/t490.nix | 1 - nix/modules/home-manager/features/cli/bat.nix | 1 - .../home-manager/features/cli/bluetuith.nix | 36 ------------------- .../home-manager/features/cli/default.nix | 5 --- .../home-manager/features/cli/htop.nix | 9 ----- nix/modules/home-manager/features/cli/lsd.nix | 10 ------ nix/modules/home-manager/features/cli/pet.nix | 24 ------------- .../home-manager/features/cli/zsh/aliases.nix | 1 - 9 files changed, 88 deletions(-) delete mode 100644 nix/modules/home-manager/features/cli/bat.nix delete mode 100644 nix/modules/home-manager/features/cli/bluetuith.nix delete mode 100644 nix/modules/home-manager/features/cli/htop.nix delete mode 100644 nix/modules/home-manager/features/cli/lsd.nix delete mode 100644 nix/modules/home-manager/features/cli/pet.nix diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index bdabdaa1..c2530234 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -3,7 +3,6 @@ { features = { cli = { - bluetuith.enable = true; direnv.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index bdabdaa1..c2530234 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -3,7 +3,6 @@ { features = { cli = { - bluetuith.enable = true; direnv.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/modules/home-manager/features/cli/bat.nix b/nix/modules/home-manager/features/cli/bat.nix deleted file mode 100644 index 119d47fe..00000000 --- a/nix/modules/home-manager/features/cli/bat.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.bat.enable = true; } diff --git a/nix/modules/home-manager/features/cli/bluetuith.nix b/nix/modules/home-manager/features/cli/bluetuith.nix deleted file mode 100644 index e52812e6..00000000 --- a/nix/modules/home-manager/features/cli/bluetuith.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; - - config = mkIf config.features.cli.bluetuith.enable { - home.packages = with pkgs; [ - bluetuith - ]; - - xdg.configFile."bluetuith/bluetuith.conf" = { - text = '' - { - adapter: "" - adapter-states: "" - connect-bdaddr: "" - gsm-apn: "" - gsm-number: "" - keybindings: { - NavigateDown: j - NavigateUp: k - } - receive-dir: "" - theme: {} - } - ''; - }; - }; -} diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index d59db6f3..7e268d73 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -30,15 +30,10 @@ ; }) - ./bat.nix ./bin.nix - ./bluetuith.nix ./direnv.nix ./fzf.nix ./git.nix - ./htop.nix - ./lsd.nix - ./pet.nix ./phpactor.nix ./ripgrep.nix ./starship.nix diff --git a/nix/modules/home-manager/features/cli/htop.nix b/nix/modules/home-manager/features/cli/htop.nix deleted file mode 100644 index 929a6aef..00000000 --- a/nix/modules/home-manager/features/cli/htop.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - programs.htop = { - enable = true; - - settings = { - show_cpu_temperature = true; - }; - }; -} diff --git a/nix/modules/home-manager/features/cli/lsd.nix b/nix/modules/home-manager/features/cli/lsd.nix deleted file mode 100644 index 51a31244..00000000 --- a/nix/modules/home-manager/features/cli/lsd.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.lsd = { - enable = true; - enableAliases = false; - - settings = { - icons.when = "never"; - }; - }; -} diff --git a/nix/modules/home-manager/features/cli/pet.nix b/nix/modules/home-manager/features/cli/pet.nix deleted file mode 100644 index eae5c7e3..00000000 --- a/nix/modules/home-manager/features/cli/pet.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - programs.pet = { - enable = true; - - snippets = [ - { - command = "nix flake lock --update-input <input-name>"; - description = "Display a log of a Git repository, showing each commit on its own line."; - output = ""; - tag = [ "git" ]; - } - - { - command = "nix flake lock --update-input opdavies-nvim"; - description = "Update a single input within a Nix flake."; - output = ""; - tag = [ - "nix" - "nix-flake" - ]; - } - ]; - }; -} diff --git a/nix/modules/home-manager/features/cli/zsh/aliases.nix b/nix/modules/home-manager/features/cli/zsh/aliases.nix index 934600b6..fe7de689 100644 --- a/nix/modules/home-manager/features/cli/zsh/aliases.nix +++ b/nix/modules/home-manager/features/cli/zsh/aliases.nix @@ -5,7 +5,6 @@ "..." = "cd ../.."; "...." = "cd ../../.."; "....." = "cd ../../../.."; - cat = "bat"; s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; From cf2cbbf19b76d6e10dd1162ee22cac8d4155ec91 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 18:45:50 +0000 Subject: [PATCH 1246/2258] Simplify Neovim configuration --- .../home-manager/features/cli/neovim.nix | 29 ++---------- nvim/plugin/dial.lua | 45 ------------------- nvim/plugin/fidget.lua | 7 --- nvim/plugin/mini.lua | 2 + nvim/plugin/nvim-tmux-navigation.lua | 12 ----- nvim/plugin/sort.lua | 10 ----- nvim/plugin/spectre.lua | 1 - nvim/plugin/terminal.lua | 25 ----------- nvim/plugin/treesj.lua | 8 ---- 9 files changed, 6 insertions(+), 133 deletions(-) delete mode 100644 nvim/plugin/dial.lua delete mode 100644 nvim/plugin/fidget.lua delete mode 100644 nvim/plugin/nvim-tmux-navigation.lua delete mode 100644 nvim/plugin/sort.lua delete mode 100644 nvim/plugin/spectre.lua delete mode 100644 nvim/plugin/terminal.lua delete mode 100644 nvim/plugin/treesj.lua diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index d4070e2d..2ebf6e43 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -17,49 +17,28 @@ with lib; plugins = with pkgs.vimPlugins; [ comment-nvim - dial-nvim - fidget-nvim + conf-vim + edit-alternate-vim gitsigns-nvim harpoon - impatient-nvim mini-nvim - neodev-nvim - nvim-spectre nvim-web-devicons oil-nvim refactoring-nvim - sort-nvim - treesj + standard-vim undotree - vim-abolish - vim-eunuch - vim-highlightedyank - vim-just vim-nix - vim-obsession vim-pasta vim-repeat vim-sleuth - vim-sort-motion - vim-terraform - vim-textobj-user - vim-unimpaired - - conf-vim - edit-alternate-vim - nvim-tmux-navigation - standard-vim - vim-autoread vim-textobj-indent vim-textobj-xmlattr - vim-zoom + vim-unimpaired # Testing vim-test # Git - committia-vim - diffview-nvim vim-fugitive # Debugging diff --git a/nvim/plugin/dial.lua b/nvim/plugin/dial.lua deleted file mode 100644 index 10f33cfa..00000000 --- a/nvim/plugin/dial.lua +++ /dev/null @@ -1,45 +0,0 @@ -local augend = require "dial.augend" -local dial_config = require "dial.config" - -dial_config.augends:register_group { - visual = { - augend.integer.alias.decimal, - augend.integer.alias.hex, - augend.date.alias["%Y/%m/%d"], - augend.constant.alias.alpha, - augend.constant.alias.Alpha, - }, - - mygroup = { - augend.constant.new { - elements = { "TRUE", "FALSE" }, - word = true, - cyclic = true, - }, - - augend.constant.new { - elements = { "public", "protected", "private" }, - word = true, - cyclic = true, - }, - - augend.constant.new { - elements = { "&&", "||" }, - word = false, - cyclic = true, - }, - - augend.date.alias["%d/%m/%Y"], - augend.constant.alias.bool, -- boolean value (true <-> false) - augend.integer.alias.decimal, - augend.integer.alias.hex, - augend.semver.alias.semver, - }, -} - -local dial_map = require "dial.map" - -vim.keymap.set("n", "<C-a>", dial_map.inc_normal "mygroup") -vim.keymap.set("n", "<C-x>", dial_map.dec_normal "mygroup") -vim.keymap.set("v", "<C-a>", dial_map.inc_normal "visual") -vim.keymap.set("v", "<C-x>", dial_map.dec_normal "visual") diff --git a/nvim/plugin/fidget.lua b/nvim/plugin/fidget.lua deleted file mode 100644 index 2a0375fa..00000000 --- a/nvim/plugin/fidget.lua +++ /dev/null @@ -1,7 +0,0 @@ -require("fidget").setup { - notification = { - window = { - winblend = 0, - }, - }, -} diff --git a/nvim/plugin/mini.lua b/nvim/plugin/mini.lua index 4ffaf890..2caa5de6 100644 --- a/nvim/plugin/mini.lua +++ b/nvim/plugin/mini.lua @@ -15,4 +15,6 @@ require("mini.move").setup {} require("mini.operators").setup {} +require("mini.splitjoin").setup {} + require("mini.surround").setup {} diff --git a/nvim/plugin/nvim-tmux-navigation.lua b/nvim/plugin/nvim-tmux-navigation.lua deleted file mode 100644 index ace897a5..00000000 --- a/nvim/plugin/nvim-tmux-navigation.lua +++ /dev/null @@ -1,12 +0,0 @@ -require("nvim-tmux-navigation").setup { - disable_when_zoomed = true, - - keybindings = { - left = "<C-h>", - down = "<C-j>", - up = "<C-k>", - right = "<C-l>", - last_active = "<C-\\>", - next = "<C-Space>", - }, -} diff --git a/nvim/plugin/sort.lua b/nvim/plugin/sort.lua deleted file mode 100644 index bdf96d76..00000000 --- a/nvim/plugin/sort.lua +++ /dev/null @@ -1,10 +0,0 @@ -require("sort").setup() - -vim.cmd([[ - nnoremap <silent> go" vi"<Esc><Cmd>Sort<CR> - nnoremap <silent> go' vi'<Esc><Cmd>Sort<CR> - nnoremap <silent> go( vi(<Esc><Cmd>Sort<CR> - nnoremap <silent> go[ vi[<Esc><Cmd>Sort<CR> - nnoremap <silent> gop vip<Esc><Cmd>Sort<CR> - nnoremap <silent> go{ vi{<Esc><Cmd>Sort<CR> -]]) diff --git a/nvim/plugin/spectre.lua b/nvim/plugin/spectre.lua deleted file mode 100644 index b67854e6..00000000 --- a/nvim/plugin/spectre.lua +++ /dev/null @@ -1 +0,0 @@ -require("spectre").setup() diff --git a/nvim/plugin/terminal.lua b/nvim/plugin/terminal.lua deleted file mode 100644 index d0ee393a..00000000 --- a/nvim/plugin/terminal.lua +++ /dev/null @@ -1,25 +0,0 @@ -local set = vim.opt_local - --- Set local settings for terminal buffers -vim.api.nvim_create_autocmd("TermOpen", { - group = vim.api.nvim_create_augroup("custom-term-open", {}), - callback = function() - set.number = false - set.relativenumber = false - set.scrolloff = 0 - - vim.bo.filetype = "terminal" - end, -}) - --- Easily hit escape in terminal mode. -vim.keymap.set("t", "<esc><esc>", "<c-\\><c-n>") - --- Open a terminal at the bottom of the screen with a fixed height. -vim.keymap.set("n", ",st", function() - vim.cmd.new() - vim.cmd.wincmd "J" - vim.api.nvim_win_set_height(0, 12) - vim.wo.winfixheight = true - vim.cmd.term() -end) diff --git a/nvim/plugin/treesj.lua b/nvim/plugin/treesj.lua deleted file mode 100644 index a23b3ce3..00000000 --- a/nvim/plugin/treesj.lua +++ /dev/null @@ -1,8 +0,0 @@ -local tsj = require "treesj" - -tsj.setup { - use_default_keymaps = false, -} - -vim.keymap.set("n", "gJ", tsj.join) -vim.keymap.set("n", "gS", tsj.split) From 7c9cb14ab25f0cc8172a2a276ff9b313463d1299 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 31 Dec 2024 10:48:44 +0000 Subject: [PATCH 1247/2258] Make FreshRSS configurable per host --- .../nixos/features/homelab/default.nix | 2 +- .../nixos/features/homelab/freshrss.nix | 105 ++++++++++++++++++ .../features/homelab/freshrss/container.nix | 88 --------------- .../features/homelab/freshrss/default.nix | 15 --- 4 files changed, 106 insertions(+), 104 deletions(-) create mode 100644 nix/modules/nixos/features/homelab/freshrss.nix delete mode 100644 nix/modules/nixos/features/homelab/freshrss/container.nix delete mode 100644 nix/modules/nixos/features/homelab/freshrss/default.nix diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index a23216c5..c62d843c 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -2,7 +2,7 @@ imports = [ ./audiobookshelf.nix ./forgejo.nix - ./freshrss + ./freshrss.nix ./gitea.nix ./immich.nix ./jellyfin.nix diff --git a/nix/modules/nixos/features/homelab/freshrss.nix b/nix/modules/nixos/features/homelab/freshrss.nix new file mode 100644 index 00000000..d353be33 --- /dev/null +++ b/nix/modules/nixos/features/homelab/freshrss.nix @@ -0,0 +1,105 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.features.homelab.freshrss; + port = 4003; +in +{ + options.features.homelab.freshrss.enable = mkEnableOption "Enable freshrss"; + + config = mkIf cfg.enable { + # Auto-generated using compose2nix v0.3.2-pre. + virtualisation = { + docker = { + enable = true; + autoPrune.enable = true; + }; + + oci-containers.backend = "docker"; + }; + + virtualisation.oci-containers.containers."freshrss" = { + image = "lscr.io/linuxserver/freshrss:latest"; + + environment = { + "PGID" = "1000"; + "PUID" = "1000"; + "TZ" = "Etc/UTC"; + }; + + volumes = [ + "/home/opdavies/Code/dotfiles/freshrss-config:/config:rw" + ]; + + ports = [ + "${toString port}:80/tcp" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=freshrss" + "--network=freshrss_default" + ]; + }; + + systemd.services."docker-freshrss" = { + serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartMaxDelaySec = lib.mkOverride 90 "1m"; + RestartSec = lib.mkOverride 90 "100ms"; + RestartSteps = lib.mkOverride 90 9; + }; + + after = [ + "docker-network-freshrss_default.service" + ]; + + requires = [ + "docker-network-freshrss_default.service" + ]; + + partOf = [ + "docker-compose-freshrss-root.target" + ]; + + wantedBy = [ + "docker-compose-freshrss-root.target" + ]; + }; + + systemd.services."docker-network-freshrss_default" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f freshrss_default"; + }; + + script = '' + docker network inspect freshrss_default || docker network create freshrss_default + ''; + + partOf = [ "docker-compose-freshrss-root.target" ]; + wantedBy = [ "docker-compose-freshrss-root.target" ]; + }; + + systemd.targets."docker-compose-freshrss-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + + wantedBy = [ "multi-user.target" ]; + }; + + services.nginx = { + enable = true; + + virtualHosts."freshrss.oliverdavies.uk".locations."/".proxyPass = + "http://localhost:${toString port}/"; + }; + }; +} diff --git a/nix/modules/nixos/features/homelab/freshrss/container.nix b/nix/modules/nixos/features/homelab/freshrss/container.nix deleted file mode 100644 index 9576d602..00000000 --- a/nix/modules/nixos/features/homelab/freshrss/container.nix +++ /dev/null @@ -1,88 +0,0 @@ -# Auto-generated using compose2nix v0.3.2-pre. -{ pkgs, lib, ... }: - -let - port = 4003; -in -{ - virtualisation.docker = { - enable = true; - autoPrune.enable = true; - }; - virtualisation.oci-containers.backend = "docker"; - - virtualisation.oci-containers.containers."freshrss" = { - image = "lscr.io/linuxserver/freshrss:latest"; - - environment = { - "PGID" = "1000"; - "PUID" = "1000"; - "TZ" = "Etc/UTC"; - }; - - volumes = [ - "/home/opdavies/Code/dotfiles/freshrss-config:/config:rw" - ]; - - ports = [ - "${toString port}:80/tcp" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=freshrss" - "--network=freshrss_default" - ]; - }; - - systemd.services."docker-freshrss" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - - after = [ - "docker-network-freshrss_default.service" - ]; - - requires = [ - "docker-network-freshrss_default.service" - ]; - - partOf = [ - "docker-compose-freshrss-root.target" - ]; - - wantedBy = [ - "docker-compose-freshrss-root.target" - ]; - }; - - systemd.services."docker-network-freshrss_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f freshrss_default"; - }; - - script = '' - docker network inspect freshrss_default || docker network create freshrss_default - ''; - - partOf = [ "docker-compose-freshrss-root.target" ]; - wantedBy = [ "docker-compose-freshrss-root.target" ]; - }; - - systemd.targets."docker-compose-freshrss-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; - }; -} diff --git a/nix/modules/nixos/features/homelab/freshrss/default.nix b/nix/modules/nixos/features/homelab/freshrss/default.nix deleted file mode 100644 index ea09bdc3..00000000 --- a/nix/modules/nixos/features/homelab/freshrss/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, lib, ... }: - -let - port = 4003; -in -{ - imports = [ ./container.nix ]; - - services.nginx = { - enable = true; - - virtualHosts."freshrss.oliverdavies.uk".locations."/".proxyPass = - "http://localhost:${toString port}/"; - }; -} From c8cf733e73cee0986bbc33d97efd74d4a45b4f60 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 31 Dec 2024 10:53:48 +0000 Subject: [PATCH 1248/2258] Re-enable Docker --- nix/hosts/PW05CH3L/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix index e1303ff9..2ede1550 100644 --- a/nix/hosts/PW05CH3L/default.nix +++ b/nix/hosts/PW05CH3L/default.nix @@ -7,6 +7,12 @@ ./configuration.nix ]; + features = { + cli = { + docker.enable = true; + }; + }; + wsl = { enable = true; defaultUser = username; From 390eb9c312762a905d61dcd0e77bab864fa6b516 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 17:43:49 +0000 Subject: [PATCH 1249/2258] Move more things to the common host configuration --- nix/hosts/common/default.nix | 6 +++++- nix/hosts/t490/configuration.nix | 6 ------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index 134ae97d..5a331654 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -64,7 +64,11 @@ }; nixpkgs = { - config.allowUnfree = true; + config = { + allowUnfree = true; + + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; overlays = [ outputs.overlays.additions diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 3c228b40..abb8c268 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -10,12 +10,6 @@ ./hardware-configuration.nix ]; - nixpkgs = { - config = { - permittedInsecurePackages = [ "electron-27.3.11" ]; - }; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot = { From 0dde56cd3f928ee42e8cfb14302d9316798daf68 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 30 Dec 2024 18:45:50 +0000 Subject: [PATCH 1250/2258] Simplify Neovim configuration --- nix/modules/home-manager/features/cli/neovim.nix | 1 + nvim/lua/opdavies/lsp/init.lua | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 2ebf6e43..bf0cccf1 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -32,6 +32,7 @@ with lib; vim-repeat vim-sleuth vim-textobj-indent + vim-textobj-user vim-textobj-xmlattr vim-unimpaired diff --git a/nvim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua index ea31b89b..34932f1a 100644 --- a/nvim/lua/opdavies/lsp/init.lua +++ b/nvim/lua/opdavies/lsp/init.lua @@ -2,8 +2,6 @@ local cmp_nvim_lsp = require "cmp_nvim_lsp" local handlers = require "opdavies.lsp.handlers" local lspconfig = require "lspconfig" -require("neodev").setup {} - local capabilities = cmp_nvim_lsp.default_capabilities(vim.lsp.protocol.make_client_capabilities()) lspconfig.bashls.setup { From e12da9e59b8cf30869ef85bda114bf06b35778f5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 31 Dec 2024 01:12:57 +0000 Subject: [PATCH 1251/2258] Test ghostty --- flake.lock | 19 +++++++++- flake.nix | 1 + nix/home/opdavies/hosts/lemp11.nix | 1 + nix/hosts/lemp11/default.nix | 2 +- .../home-manager/features/desktop/default.nix | 1 + .../home-manager/features/desktop/ghostty.nix | 36 +++++++++++++++++++ 6 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 nix/modules/home-manager/features/desktop/ghostty.nix diff --git a/flake.lock b/flake.lock index 8ab88f28..2e8a50a1 100644 --- a/flake.lock +++ b/flake.lock @@ -208,6 +208,22 @@ "type": "github" } }, + "nixpkgs-master": { + "locked": { + "lastModified": 1735606615, + "narHash": "sha256-j2QeXLGlydjd6gDSyHasBJ0OoPXFDSYgd0KbyVCnE3w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c49743669a58a01d5978bf5cab134d2ae717696c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1733384649, @@ -248,7 +264,8 @@ "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", - "nixpkgs-2405": "nixpkgs-2405" + "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-master": "nixpkgs-master" } }, "systems": { diff --git a/flake.nix b/flake.nix index 9fbd0f99..24044c98 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; }; diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index c2530234..a0e3faf2 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -12,6 +12,7 @@ discord.enable = true; espanso.enable = true; flameshot.enable = true; + ghostty.enable = true; gtk.enable = true; slack.enable = true; diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 22c16606..7120f66b 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -1,4 +1,4 @@ -{ inputs, ... }: +{ ... }: { features = { diff --git a/nix/modules/home-manager/features/desktop/default.nix b/nix/modules/home-manager/features/desktop/default.nix index 243d22d0..b3545110 100644 --- a/nix/modules/home-manager/features/desktop/default.nix +++ b/nix/modules/home-manager/features/desktop/default.nix @@ -5,6 +5,7 @@ ./discord.nix ./espanso.nix ./flameshot.nix + ./ghostty.nix ./gtk.nix ./media ./slack.nix diff --git a/nix/modules/home-manager/features/desktop/ghostty.nix b/nix/modules/home-manager/features/desktop/ghostty.nix new file mode 100644 index 00000000..8be5e99c --- /dev/null +++ b/nix/modules/home-manager/features/desktop/ghostty.nix @@ -0,0 +1,36 @@ +{ + config, + inputs, + lib, + system, + ... +}: + +with lib; + +let + cfg = config.features.desktop.ghostty; + + pkgs-master = inputs.nixpkgs-master.legacyPackages.${system}; +in +{ + options.features.desktop.ghostty.enable = mkEnableOption "Enable ghostty"; + + config = mkIf cfg.enable { + home.packages = [ pkgs-master.ghostty ]; + + xdg.configFile."ghostty/config".text = '' + background = #000000 + + # Disable ligatures. + font-feature = -calt + font-feature = -liga + font-feature = -dlig + + window-decoration = false + + window-padding-x = 10 + window-padding-y = 10 + ''; + }; +} From 996603da258f72b461b3c8ae8e43bfc1d109dd43 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 31 Dec 2024 11:53:25 +0000 Subject: [PATCH 1252/2258] nixedo: re-enable FreshRSS --- nix/hosts/nixedo/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index 1bd01be5..7367d697 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -6,6 +6,7 @@ homelab = { forgejo.enable = true; + freshrss.enable = true; gitea.enable = true; immich.enable = true; jellyfin.enable = true; From 1781a1ca1c9088f87fd99e138618195aa588d20d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 31 Dec 2024 14:07:08 +0000 Subject: [PATCH 1253/2258] Re-key secrets --- nix/secrets/cloudflare.age | Bin 1024 -> 1244 bytes nix/secrets/secrets.nix | 1 + nix/secrets/tubearchivist.age | Bin 1004 -> 1114 bytes 3 files changed, 1 insertion(+) diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index 1d0cb3b54e5d6db2c1f3a414db443a57dea25a97..c495a7ea51ba25ae1a6473bf41816201776f2da8 100644 GIT binary patch delta 1216 zcmZqRxWhR?r{2>vQrp`#Da9+<J<=l3$gJ2fBGD+oImk3EEi}X{$3#ERJU=Q}+svZU zl`A8vB+MhpKcdRlCo`-#)x#vxx7?^a%ELXatjJy4($K)XGOE<aE6B|?l1tZ4p}06h zH#Nn`)YQ;Y!LvBb#W-Cd!@VfLGttk*G9%Zc%qTJ2xW2^Ez1Y#X(kCj<#W&Q{#Vg&{ zBTC=M(cC$mD={t6(l5=}BiuMV(BI6`-7vu4yD~S;w<^yy+|?sh-#^9B+&3>Rzar8T zhjpgOWl8=PVaEQBUL|>DW~m__eqouemc||)`7TlZN!q!d_3kO@7LK0o;RakDnfYZ| zftFr|e(7ORE}3OH;Z9*u1|e>ic`4?e`C0DHIj&*ZsTS^4Y56egii#5zw97)m1IxMG zeFO5{Eh2;R^D7KJe2jzAs#2XIi*u7aLn2Mfd{Q#ajf=A_{L%|cjQw4csw_+jougdz z-L>nJU9|IaBQi29xpK=3Q!^t2OwxU_GyO{p4YSj;d^|n<GYzZCLj#SnBh6C^%gnV+ zLjt4HqFh4?ol-0FvMkLDvke2o(o;-b+_)SKEPb4Uyz~nkT?$jpBEv!q^DWG?D?D6G z3Q{XPJ-xlM0=*19okD^OEPTyed>l*tLdxqyoq~$;eYKMU@+=LxLM+TuBlS(QJ;MXD zv)qz=J<`&`!nM5}(>yI)GTb7AgQLpQlahTCBizlx-SiWks=V?%(oK`9{7ft?LQ1oO zxbn<WB9h8V$`T90vpk&*v<rhv3bQ;7@>4?!Dgw<6a!t!zOiH4Be6>rw%-!`Zjq>YD zlN0m3Q$y0i@|_HW3VpbO+%nyhJWM@}Lye4z^TQ)e3yi`Hip<?oBF#d=Jv}PI-IATd ze6>^kBEyr-l8p?D^^J@?N`tbCA{>*wvQtgD+|4}lO#@BzO@a&!%StRFtF&{IeM(Hi zGfPq;Oihg~d<#s=3qva^OT5awD=h0>6SIr8Q;q$T%S)p&yu&j*g1J1yvl6w#yuB?; zi;dm<v{UshjY9lAO+&o%^9qvON?gNSORF5SL(C#f{hW=%vi-}<J-pq`ohv<x{4>My zojtfxEy4{#jl#17B206$qdW`3E%J&YLX9h&J>64GJso{LgZ#q6&5}b?O#<o*3iQjo z&HW9c9CLj9jr9wPqXL}ExdQWYlAT?%%R*g?T+J=gyxo#5^wYCV%OcZDE!_*Xa|^O9 z4J^~W$_;!xO^iY+3JlCrBa6y{94nl%&7zFG1G&tME3@*=vP}cb0zFgp&5TkqT)pzk zGyTd_!yG+AN^_hOlOsJdBOU7l{9L(ob#)coohk!e{qloM&D|YKGfO=j1G6ntqe{)n z{I$)49FvL@LrvV$vx>Z2EQ-1QT#cNvI?q@8i~{#*iA#Y|@A=sHLVx~gSY_IMvn5vd z;_`B<+P3FDFOug5bj+O}YNX~QWZs;nIae&~)9U+n-}cTZUsf8QHT_vy{vk_7b>=<i zS6FZVX6DEu|ENIw;zYZ`y3k;2L6w012M-)htPR>%seb#ug@fszD!#QBZB9P2e>(Mt H%1%oF2|<}3 delta 994 zcmcb^*}ySDr{2*$yEw@tBG51=Q@hO3*f-KY+%eoet1K@qDj>?)%&WM_$Xz=$-y+W- zpDUy&**V|a+&D4P&DgS3+qftyB0ba7!Z|cQ(b*-~G9V=++1bO~G%}*3m`m4Ap}06h zx2QN#LAxv@Jg}UrqAJNG$v-$TGPg1%yDBi)!#`U)xZW)*(7+`<tI}8BF(fD7E!R1! zEXN`#Ju<~9*{Cwuv&=QS&`ZCdATZL=m8(EsKTE$n$~iHlDx;z(GP^P~&Cka*w7}ap zGt4x~DA*|2$<?>mE7iv!$lb3hvLwkdG9<+yvpgdtFeK3{DxJ$C+rT?J(juzBD5B8Y zvN$u)yFMz}&@4MW#VFU`r6MpSFVQr|CCbmFG|y7I%Ea5bFhV;=yF4nl!XU9Y+e^EW z%P-h4KgZD5%c3;9yeutUJF+0uqpUdH(5*Df(m2V<C)ZHh%r!J$yR@>f+}R+{EU7BX zRXf$xqtvM^FUco2kV`u&pxDzSEXc>juPQyisJ^hk$-Au7F(AuS+dtGG$1>2u*~~mB zHzYTy%CJ!1wA@hN-7nuQRA1XA*FCf>Kf-`3D!aflq%hkeJS4m-u&6RKzrZuiG&mqJ ztE$2+z|39W#4FIv+$1a5H#f-3D9^G;KhVu3%+bj*E3G88DmB8BE8H_RFr_><+|4g4 zu)eC;!`sc$xX>^(z}F}uye!+j#4_98yUNntC^^HpG}xdhDbL+FEI++ezr-&)&%`Ao zxrj?Y(XA>kGS4KUxX38m+uJ<EEId5XDI__vDnBXQ$h5Q~Fe^Ab)635wJvG#*JXGH# zBiz6(BOp9CE79LMqC%gm)X&5u+pI9cqdv$ZrNYF(+b`HzzalXrJlNg1GC4dqD>TZZ z!mHRX-_Ovu!pI{e(I7F{$6q_BGCM6_KP^8hjZ537pxDE?Fd#AA&@95W!ZTevEWF&w zGCMpxFFP|YxY$G6%sIn3!=)^$EGZ+$EIhT!x1h?!C|uh!N8d8Pw2Z4LFRLiqsXoBe zE7HX)(BH+oFuT+{&#SO9u&N@eG^510!ZWba$1JHl$UK`%S65ddJ0z#dAjHU2+r7lt zH_0d{GdD7*%G|Ni$GAe@tjxgC%~jvfEjiKE(kzsVrLE?!^8I#4V;31-%bA~<z0T!$ z?Y#AZbE#~C+8N&;Jge{AZ}GjjTKib^FT0kyA8d!#`fOEYQB|0)aZ2^a8DGDEYdb`p z_J^G_dEFd$HIDNEf2oa<OKXli3*R!w^X@*?q5>t8gg>ket}=MTKTlKftxjEG_OU;H T$Jnjctmvp@>3VL(us;(3@DW#2 diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 5552e141..795609b7 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -13,6 +13,7 @@ in { "cloudflare.age".publicKeys = [ hosts.hetznix + hosts.nixedo hosts.t490 users.opdavies ]; diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index 10863f4409667afc329e7aad499f79e2dfde78a7..3687be7ea9b912c6c07cac60f4eef0418dd5f9b7 100644 GIT binary patch delta 1085 zcmaFEev4y*PQ9sNPGV3%gr#eCL84)VnQ=&<cUewUuv>_ezfZZdMX^z$OI4YRk$-NE zD_2CZd6hx3QE6a>hnHJ=u1j%pRi#B$K~Romd0t|2u9I((g<(a7mx+r(GMBEMLUD11 zZfc5=si~o*f@g7<i*dSwQ+SD!t5<SbWQMzeL5^{tPrXmLNrj(fnW?#3xqom)R#{4@ zQEHTzQAw^VS4fp>zP^8UmV01&xQl0=W0qN!Yh+SDxvzVLe}s8bO18Uxly+fpQmT<F z%(|lDL<Q}#knq5Au7XVS3bVXCA77Ku^gzelNTW(^*Ni|fZ|!iiymB9d#1e1MjNp*^ z5+hUdobc3$N^QrSeE-xC@0^UJBKL~K^h_@A5LbT-1M`d^-$d`U3Qxb#2$LMk(oAiO zq|^wfwBoAtTz5y$;9QHq;4I?|V-N3i6AS%}&>|nNq~bJfpE5Ttk0d{B(;~-G_iPjY zH1quQ{F0;)Z|!Vn^As1O;xaR{9M6b)Bcq^{%+kcjGVP44v@m_Y@S=1VpQK!;60eFZ zA1(uv(yEFGXUin#%8aPeup)Ecl+p;_bboL2$m}u~{}iK2m%_yILi17+Z+#Do;50MW zT(|NN^VCQK$DC~M2!Af)BBxS)Q%jFh6Hk-$NaNDN)WX2Zw3PC|kb+7>Bk$CDGsnVW z<1$~@Vner(oHVnLf&zWh#4tCv<m}`eeK!+du9VP_z|tb8(v&0<SLeJ)7x%nGXE(Pb z^SnH#%+RD%^Qf|bG_O1_zhHm=lyDEjGSkxZe0}e*LT9gRCu6^)GOhqe|1zh10}K7^ z+=?7C?ewTJzo1IjtV+X>NNvOVAlJwUi*S>mw1Rxoz^s(eGUp;E=ZezGBwzE?ut?v4 zurgCFpYXKG+(0wKa=)N3ZO6b0ZT$j&XH#$eV9Sb#ynsqC=lsG#4@>{N0H0uApHlzK zD&Kr<&*Z4e05fyfyZ|E~u2R=v_i{s1GfVRV=dd(`eBV;P+z2CYeedjgXYHWmu<SIm zsBk|=S7+zQ;QR{9DE&l_K<CT~pK!Op{0PGcKXWe2oW!gUS10`lH+N^Z5WgsW181|a zEMt?hvfv`i%G@ab5}%+H#|Tr;sH}o0@7$`uqWq|Q!${wX;-H{(17{Pi@>JJkgOsqs zl*mlWB){MyZKJ^a66fN2LwBRps*t2|bDu~{Lqm60U$3f2E?r$+g^;Yo)HH3QLO*?d z6K&&+yd2+rSM9LOoXm1xe>ayDKVu&!;~;;_j6fd)uJ}!1$4i;d2Qkffp7`~Q;Lpun zGZ-C?ZaTPldvk@}12-d9W>)Xjr;`4B*bvUYhGV&-UhO=Etu>PtYn(OvV*Z<PLHaAX zv)`*sOMF5%UD|v_T_fNW^VZ^rtPekN)K)#0zi2G!ZNFme$0@6qc-RQ-(hw8h0|5LY Ba+Lr8 delta 958 zcmcb`@rHeZPIy3NYIcCRp`%kpV7N(PaY2-MXpUz<PFQY1W^t~eYn8T>Pn4-^ZeUPI zC|6c`iBFn~VZMiBxqEn0QbtjVb7ZP{nOSLtv$kQfduc{hL8g~~P*sw?<HV1`^~T8= zIog&%W!XWlMsDs|AytK*Va6!|iJ>mx;l3_@7QyC~E)|ufSy?{*?om<hj;21QCYcfD zCa#6$DNYuK`CNfzuBM*;{^ePTuKpE~?imGnmN{u@ZpohE1tq4&xn-qQIWB$?89@a> z`99&19_eB3k={OTsU_b2h6Ubf^=_eDz5zvM1{Oh8nNb${ZmvlYVcrq0fk|fNer~Ci zP8Ox+CMA{OQAT0zzJa;UrICJlhDjzR71_ZB?m1Pd?!G?3T#kjs>28^UC1rU*C54tQ z=BZv0<|PIxS*3nydD*T}0Xe27rmmjZ>Dd|S<?ewMS#Iu5QB^5Hj$y@-_336ghQ3^- zrIC(aPHu&HW+oZ#!Ir6JX6_!o79}O+t|op_$w|J&24?y0E-CuXW*#14C4rF!Cc%Y4 zDP|SnW<{Ra&ISftd4^tvMwv;LAttUx+R6I)Vb1QRenm#5m8k_)<vE$9?&0Q9Mf#Dx zp83g++G#~@nJ%d*2Hrj)^*R2IjsYc}u3X-E83CbX&Ot%?KCT%qrAB6@ndNyd`BiR} z$r=8srbYP{KFJwH?pam&9zM>NsU-zwuErHn1}*_<CQe29ez{y0u4$R(RY|$UW)=Pg z0d6VTx#d3QiD60MRT(*+73unEndv6M-jUvAu4a`fe%h%4MNx$r^%Z5gkrsuKQBHvt zT;YK}mZ8Bp?v|0kUS7^+*-4(-LFrEA+8+6a{w99K?(WVZ5$S=ZRW5~w0U4o%?&UcV zP9By1&H*W&$*ILfRb0uL1-@D4;Ra3_=BAG38Eye42A-BV`BlM=!4Vb)9!181P9DXH zjyc}m>A6YXo*vG=^_Iyc8K&-mX+^%?o<aUxMMVW6m7xJ4{?1NLCC(8(Ax3Ftt`_;J zp57)-<w1#Q#Z}>E*<nRhrs?@yy1Kdw0Rj0%Ild`*5e9}PUOvI)+2Mg+IlkGs;pSnP zx#32^c|k=XIfmK(C0Y4gJY368KHPU`(w+a^{}VQ^jI&~zZW|+IQd*t+^n8_==K4<y z*BZw&+)|$y|NLpDz(uns4LLL7*xrYo+Tpe#x^`-qq{oM<)s3f}=bSU>UBCWK%#9^q lA1Cc-xwAOy;VOk`>Z`Ax4UPLOKUHh@>m5@ZZZF%+2mofFR{sD1 From dd1f39b6364e54f4610091a1b2c38d9e1406991b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 13:01:09 +0000 Subject: [PATCH 1254/2258] lemp11: switch to cinnamon and lightdm --- nix/hosts/lemp11/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index d042697a..2d43f5d8 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -50,8 +50,8 @@ variant = ""; }; - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; + displayManager.lightdm.enable = true; + desktopManager.cinnamon.enable = true; }; services.avahi.enable = true; From f43069adac99a9779abeb33c63627f33b729fb02 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 13:12:42 +0000 Subject: [PATCH 1255/2258] Update todo.txt --- todo.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo.txt b/todo.txt index 4aa064ba..d6e36f36 100644 --- a/todo.txt +++ b/todo.txt @@ -3,3 +3,4 @@ Add daily script Add create-podcast-tasks script Add vaultwarden for password management Replace doppler with agenix +Evaluate services.languagetool as a replacement for Grammarly From 07fde36fb058b238c65ad8ea115074428eb9e296 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 14:45:03 +0000 Subject: [PATCH 1256/2258] Homelab updates - Change domain to opdavies.uk as this works with HTTPS/SSL. - Switch Nginx to Caddy. --- nix/hosts/hetznix/modules/acme.nix | 11 ++++++---- nix/hosts/nixedo/configuration.nix | 6 +++++- nix/hosts/nixedo/default.nix | 2 -- nix/hosts/nixedo/modules/acme.nix | 19 ++++++++++++++++++ nix/hosts/nixedo/modules/nginx.nix | 11 ---------- nix/hosts/nixedo/secrets.nix | 1 + .../nixos/features/homelab/audiobookshelf.nix | 20 ++++++++----------- .../nixos/features/homelab/forgejo.nix | 13 +++++------- .../nixos/features/homelab/freshrss.nix | 7 +++---- nix/modules/nixos/features/homelab/gitea.nix | 6 +++--- nix/modules/nixos/features/homelab/immich.nix | 7 +++---- .../nixos/features/homelab/jellyfin.nix | 6 +++--- .../nixos/features/homelab/paperless.nix | 16 +++++++++++++-- .../nixos/features/homelab/pi-hole.nix | 4 ---- .../homelab/tubearchivist-container.nix | 9 ++++----- nix/secrets/cloudflare-opdavies-uk.age | 18 +++++++++++++++++ nix/secrets/secrets.nix | 6 +++++- 17 files changed, 98 insertions(+), 64 deletions(-) create mode 100644 nix/hosts/nixedo/modules/acme.nix delete mode 100644 nix/hosts/nixedo/modules/nginx.nix create mode 100644 nix/secrets/cloudflare-opdavies-uk.age diff --git a/nix/hosts/hetznix/modules/acme.nix b/nix/hosts/hetznix/modules/acme.nix index c96c68b4..efabb9a1 100644 --- a/nix/hosts/hetznix/modules/acme.nix +++ b/nix/hosts/hetznix/modules/acme.nix @@ -3,13 +3,16 @@ { security.acme = { acceptTerms = true; - defaults.email = "oliver@oliverdavies.uk"; - defaults.environmentFile = config.age.secrets.cloudflare.path; + + defaults = { + dnsProvider = "cloudflare"; + email = "oliver@oliverdavies.uk"; + environmentFile = config.age.secrets.cloudflare.path; + webroot = null; + }; certs."oliverdavies.uk" = { domain = "oliverdavies.uk"; - dnsProvider = "cloudflare"; - webroot = null; extraDomainNames = [ # TODO Refactor to use a wildcard certificate. diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index 7895a159..635a22f3 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -2,11 +2,13 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, pkgs, ... }: +{ inputs, ... }: { imports = [ ./hardware-configuration.nix + + ./modules/acme.nix ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; @@ -30,4 +32,6 @@ 80 443 ]; + + services.caddy.enable = true; } diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index 7367d697..9c64fdf0 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -23,7 +23,5 @@ ./configuration.nix ./secrets.nix ./extra.nix - - ./modules/nginx.nix ]; } diff --git a/nix/hosts/nixedo/modules/acme.nix b/nix/hosts/nixedo/modules/acme.nix new file mode 100644 index 00000000..352b7538 --- /dev/null +++ b/nix/hosts/nixedo/modules/acme.nix @@ -0,0 +1,19 @@ +{ config, ... }: + +{ + security.acme = { + acceptTerms = true; + + certs = { + "opdavies.uk" = { + domain = "opdavies.uk"; + dnsProvider = "cloudflare"; + email = "oliver@oliverdavies.uk"; + environmentFile = config.age.secrets.cloudflare-opdavies-uk.path; + webroot = null; + + extraDomainNames = [ "*.opdavies.uk" ]; + }; + }; + }; +} diff --git a/nix/hosts/nixedo/modules/nginx.nix b/nix/hosts/nixedo/modules/nginx.nix deleted file mode 100644 index 34ca2d87..00000000 --- a/nix/hosts/nixedo/modules/nginx.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, ... }: - -{ - services.nginx = { - enable = true; - - virtualHosts = { - "syncthing.localhost".locations."/".proxyPass = "http://localhost:8384/"; - }; - }; -} diff --git a/nix/hosts/nixedo/secrets.nix b/nix/hosts/nixedo/secrets.nix index 325699d8..b4448de5 100644 --- a/nix/hosts/nixedo/secrets.nix +++ b/nix/hosts/nixedo/secrets.nix @@ -1,5 +1,6 @@ { age.secrets = { + cloudflare-opdavies-uk.file = ../../secrets/cloudflare-opdavies-uk.age; tubearchivist.file = ../../secrets/tubearchivist.age; }; } diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index 79537dcd..a0012a30 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -9,21 +9,17 @@ in options.features.homelab.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; config = mkIf cfg.enable { - services.audiobookshelf = { - enable = true; + services = { + audiobookshelf = { + enable = true; - host = "audiobookshelf.oliverdavies.uk"; - port = 4001; - }; + port = 4001; + }; - services.nginx = { - enable = true; + caddy.virtualHosts."audiobookshelf.opdavies.uk" = { + useACMEHost = "opdavies.uk"; - virtualHosts."audiobookshelf.oliverdavies.uk" = { - locations."/" = { - proxyPass = "http://localhost:${toString config.services.audiobookshelf.port}/"; - proxyWebsockets = true; - }; + extraConfig = "reverse_proxy localhost:${toString config.services.audiobookshelf.port}"; }; }; }; diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix index e89f2030..509c34c9 100644 --- a/nix/modules/nixos/features/homelab/forgejo.nix +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -2,9 +2,6 @@ with lib; -let - port = 2223; -in { options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo"; @@ -17,7 +14,8 @@ in settings = { server = { - HTTP_PORT = port; + DOMAIN = "forgejo.opdavies.uk"; + HTTP_PORT = 2223; }; service = { @@ -26,11 +24,10 @@ in }; }; - nginx = { - enable = true; + caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { + useACMEHost = "opdavies.uk"; - virtualHosts."forgejo.oliverdavies.uk".locations."/".proxyPass = - "http://localhost:${toString port}/"; + extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; }; }; }; diff --git a/nix/modules/nixos/features/homelab/freshrss.nix b/nix/modules/nixos/features/homelab/freshrss.nix index d353be33..706624dc 100644 --- a/nix/modules/nixos/features/homelab/freshrss.nix +++ b/nix/modules/nixos/features/homelab/freshrss.nix @@ -95,11 +95,10 @@ in wantedBy = [ "multi-user.target" ]; }; - services.nginx = { - enable = true; + services.caddy.virtualHosts."freshrss.opdavies.uk" = { + useACMEHost = "opdavies.uk"; - virtualHosts."freshrss.oliverdavies.uk".locations."/".proxyPass = - "http://localhost:${toString port}/"; + extraConfig = "reverse_proxy localhost:${toString port}"; }; }; } diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index 8ff4f588..dadf2270 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -26,10 +26,10 @@ in }; }; - nginx = { - enable = true; + caddy.virtualHosts."gitea.opdavies.uk" = { + useACMEHost = "opdavies.uk"; - virtualHosts."gitea.oliverdavies.uk".locations."/".proxyPass = "http://localhost:${toString port}/"; + extraConfig = "reverse_proxy localhost:${toString port}"; }; }; }; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 4726c3bc..82b89dd2 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -19,11 +19,10 @@ with lib; environment.systemPackages = [ pkgs.immich-cli ]; - services.nginx = { - enable = true; + services.caddy.virtualHosts."immich.opdavies.uk" = { + useACMEHost = "opdavies.uk"; - virtualHosts."immich.oliverdavies.uk".locations."/".proxyPass = - "http://localhost:${toString config.services.immich.port}/"; + extraConfig = "reverse_proxy localhost:${toString config.services.immich.port}"; }; }; } diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 1397fdae..4804a78e 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -13,10 +13,10 @@ with lib; configDir = "/mnt/media/jellyfin"; }; - services.nginx = { - enable = true; + services.caddy.virtualHosts."jellyfin.opdavies.uk" = { + useACMEHost = "opdavies.uk"; - virtualHosts."jellyfin.oliverdavies.uk".locations."/".proxyPass = "http://localhost:8096/"; + extraConfig = "reverse_proxy localhost:8096"; }; }; } diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/features/homelab/paperless.nix index 8d97a8d2..99ec00e0 100644 --- a/nix/modules/nixos/features/homelab/paperless.nix +++ b/nix/modules/nixos/features/homelab/paperless.nix @@ -6,8 +6,20 @@ with lib; options.features.homelab.paperless.enable = mkEnableOption "Enable paperless"; config = mkIf config.features.homelab.paperless.enable { - services.paperless = { - enable = true; + services = { + paperless = { + enable = true; + + settings = { + PAPERLESS_URL = "https://paperless.opdavies.uk"; + }; + }; + + caddy.virtualHosts."paperless.opdavies.uk" = { + useACMEHost = "opdavies.uk"; + + extraConfig = "reverse_proxy localhost:28981"; + }; }; }; } diff --git a/nix/modules/nixos/features/homelab/pi-hole.nix b/nix/modules/nixos/features/homelab/pi-hole.nix index d8cc070d..80a6f8d1 100644 --- a/nix/modules/nixos/features/homelab/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/pi-hole.nix @@ -95,9 +95,5 @@ in wantedBy = [ "multi-user.target" ]; }; }; - - services.nginx.virtualHosts."pihole.localhost" = { - locations."/".proxyPass = "http://localhost:${toString port}/"; - }; }; } diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/tubearchivist-container.nix index 300b3e97..d78afaf0 100644 --- a/nix/modules/nixos/features/homelab/tubearchivist-container.nix +++ b/nix/modules/nixos/features/homelab/tubearchivist-container.nix @@ -10,7 +10,7 @@ with lib; let cfg = config.features.homelab.tubearchivist-container; - port = 8000; + port = 8085; in { options.features.homelab.tubearchivist-container = { @@ -286,11 +286,10 @@ in wantedBy = [ "multi-user.target" ]; }; - services.nginx = { - enable = true; + services.caddy.virtualHosts."tubearchivist.opdavies.uk" = { + useACMEHost = "opdavies.uk"; - virtualHosts."tubearchivist.oliverdavies.uk".locations."/".proxyPass = - "http://localhost:${toString port}/"; + extraConfig = "reverse_proxy localhost:${toString port}"; }; }; } diff --git a/nix/secrets/cloudflare-opdavies-uk.age b/nix/secrets/cloudflare-opdavies-uk.age new file mode 100644 index 00000000..835ebf71 --- /dev/null +++ b/nix/secrets/cloudflare-opdavies-uk.age @@ -0,0 +1,18 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g kacSrvgn/CGIwU05AkK6UGhxVm5oO/FRK2jgH1qHVg0 +JXzp1+Al5O8sBw3a4td7RA3HVP6C9tIdvvgZFZ9Se5w +-> ssh-rsa +vTWQw +ndPfUjqCzN5uqcrRvb/OGKmBouyM6qwf5ZmnfMg49NXcxt7bwCK0v7iPtOOOgDI2 +34Oi1EGgjkJ/YY+nxKuHZtRlq+wySbqeLVXUmb52reW4sj4PHEZOsFIO8Dnxmx9P +9AtISLIrdJd3V39v4+pXOo9tBvBcTAs7JKqDGFcfp7gcVH0vLga0l3jLUspZiNB9 +DXW6Gbttg8Z6El9J1fAqVXcDE3q7pPZE//zu/cIRyt4/kbK76bx7yEaKAy2GycZS +SCjjxsRtkBHOKQEQnFdKfWD/AG1USNmoiv4zHx1G9pIVJJA47yNWLwsx8Q7VrfNS +CXpxQt+ElOH5pRTpXMAx1/rHs/NpXMMUm0EVvWKTNbrbHvepTUvEYABo+DKicRVI +3H6RYWedXZ9ggpfID66CbF4HFtVJTXwHhvdzGfdna8J1Dy7nJyevT/fCz8tqlVIa +EFEFqUardSWj0zFL3PQgk2qmrC9W1+isp83Rioi/n/ow8O0Q+XlzO3rQjNYWtEgp +jufzw+3YI9HuNLPXB0xBfSgwP8Ao6iYskE+8IL+xu4ITCec/ItpoYk1Yeb38G2HQ +6JlIseQIgpOzw8DlMMWtWjO4U+9JAZh5XOlEgwFPFL25m//24UM7RB3/Yd1/it8i +cNaHR1L2/P8k5FnbR2jhxcTb2tEzlFo422brC0r/Ilc +--- MqcbFcs1myK1Dn1h/PQKZ59BdgYXIifkp0DkvoNQaL4 +W෹y +j`$En_<%s`#d,xMGdf:*`zRX>KJ0BDj<ţ=% \ No newline at end of file diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 795609b7..0bfbf804 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -13,11 +13,15 @@ in { "cloudflare.age".publicKeys = [ hosts.hetznix - hosts.nixedo hosts.t490 users.opdavies ]; + "cloudflare-opdavies-uk.age".publicKeys = [ + hosts.nixedo + users.opdavies + ]; + "tubearchivist.age".publicKeys = [ hosts.lemp11 hosts.nixedo From 7f2b50f736427ebecde36f5ca4c6f99b27995ee5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 14:47:09 +0000 Subject: [PATCH 1257/2258] Re-add Vaultwarden --- nix/hosts/nixedo/default.nix | 2 +- .../nixos/features/homelab/default.nix | 1 + .../nixos/features/homelab/vaultwarden.nix | 31 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 nix/modules/nixos/features/homelab/vaultwarden.nix diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index 9c64fdf0..68119ab0 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -13,7 +13,7 @@ paperless.enable = true; pihole.enable = true; tubearchivist-container.enable = true; - # vaultwarden.enable = true; + vaultwarden.enable = true; }; }; diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index c62d843c..7231aa87 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -9,5 +9,6 @@ ./paperless.nix ./pi-hole.nix ./tubearchivist-container.nix + ./vaultwarden.nix ]; } diff --git a/nix/modules/nixos/features/homelab/vaultwarden.nix b/nix/modules/nixos/features/homelab/vaultwarden.nix new file mode 100644 index 00000000..25767b6a --- /dev/null +++ b/nix/modules/nixos/features/homelab/vaultwarden.nix @@ -0,0 +1,31 @@ +{ config, lib, ... }: + +with lib; + +{ + options.features.homelab.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; + + config = mkIf config.features.homelab.vaultwarden.enable { + services = { + vaultwarden = { + enable = true; + + config = { + DOMAIN = "https://vaultwarden.opdavies.uk"; + + # TODO: check registrations are disabled. + SIGNUPS_ALLOWED = false; + + ROCKET_ADDRESS = "127.0.0.1"; + ROCKET_PORT = 8222; + }; + }; + + caddy.virtualHosts."vaultwarden.opdavies.uk" = { + useACMEHost = "opdavies.uk"; + + extraConfig = "reverse_proxy localhost:${toString config.services.vaultwarden.config.ROCKET_PORT}"; + }; + }; + }; +} From b380816a346abbf286e111043c8dba243fa01ddb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 14:47:36 +0000 Subject: [PATCH 1258/2258] Re-enable audiobookshelf --- nix/hosts/nixedo/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index 68119ab0..d0768361 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -5,6 +5,7 @@ }; homelab = { + audiobookshelf.enable = true; forgejo.enable = true; freshrss.enable = true; gitea.enable = true; From aad706aad6d9ec8f2ebb81c93cc44897c0625e59 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 14:27:58 +0000 Subject: [PATCH 1259/2258] Add missing pkgs --- nix/modules/nixos/features/homelab/freshrss.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nix/modules/nixos/features/homelab/freshrss.nix b/nix/modules/nixos/features/homelab/freshrss.nix index 706624dc..0dce90ff 100644 --- a/nix/modules/nixos/features/homelab/freshrss.nix +++ b/nix/modules/nixos/features/homelab/freshrss.nix @@ -1,4 +1,9 @@ -{ config, lib, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; From 985b3d10cf11bd6b1b29c998e3ec10d9a08cc23f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 14:49:00 +0000 Subject: [PATCH 1260/2258] lemp11: add eric user --- nix/hosts/lemp11/configuration.nix | 2 ++ nix/users/eric/default.nix | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 nix/users/eric/default.nix diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 2d43f5d8..b3981765 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -14,6 +14,8 @@ inputs.nixos-hardware.nixosModules.system76 ./hardware-configuration.nix + + ../../users/eric ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/nix/users/eric/default.nix b/nix/users/eric/default.nix new file mode 100644 index 00000000..66e1c15e --- /dev/null +++ b/nix/users/eric/default.nix @@ -0,0 +1,12 @@ +let + username = "eric"; +in +{ + users.users.${username} = { + description = "Eric Davies"; + extraGroups = [ ]; + initialPassword = "eric"; + isNormalUser = true; + packages = [ ]; + }; +} From 62bd1c3bfefc707adb010e3bda92c1a0d1426048 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 17:47:14 +0000 Subject: [PATCH 1261/2258] Fix the default user shell --- nix/hosts/common/users.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/common/users.nix b/nix/hosts/common/users.nix index 32760a5a..0b9e1832 100644 --- a/nix/hosts/common/users.nix +++ b/nix/hosts/common/users.nix @@ -15,6 +15,6 @@ packages = [ ]; }; - defaultUserShell = "/etc/profiles/per-user/${username}/bin/zsh"; + defaultUserShell = pkgs.zsh; }; } From 7d4f19655b51e9f2bf41c04b8349a770a3e00415 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 17:58:56 +0000 Subject: [PATCH 1262/2258] lemp11: add luke user --- nix/hosts/lemp11/configuration.nix | 1 + nix/users/luke/default.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 nix/users/luke/default.nix diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index b3981765..4dd66c10 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -16,6 +16,7 @@ ./hardware-configuration.nix ../../users/eric + ../../users/luke ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/nix/users/luke/default.nix b/nix/users/luke/default.nix new file mode 100644 index 00000000..fb413562 --- /dev/null +++ b/nix/users/luke/default.nix @@ -0,0 +1,12 @@ +let + username = "luke"; +in +{ + users.users.${username} = { + description = "Luke Davies"; + extraGroups = [ ]; + initialPassword = username; + isNormalUser = true; + packages = [ ]; + }; +} From 07e0b4798848e9762aa4c5ef16127fdb759e3e38 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 18:41:54 +0000 Subject: [PATCH 1263/2258] Add missing pkgs --- nix/hosts/common/users.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/common/users.nix b/nix/hosts/common/users.nix index 0b9e1832..faa51b00 100644 --- a/nix/hosts/common/users.nix +++ b/nix/hosts/common/users.nix @@ -1,4 +1,4 @@ -{ username, ... }: +{ pkgs, username, ... }: { users = { From ba76093a418d52ccc155a4efd2516f6d6de2a275 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 19:01:51 +0000 Subject: [PATCH 1264/2258] Extract opdavies user --- nix/hosts/PW05CH3L/default.nix | 1 + nix/hosts/common/default.nix | 3 ++- nix/hosts/common/users.nix | 16 ---------------- nix/hosts/lemp11/default.nix | 1 + nix/hosts/nixedo/default.nix | 1 + nix/hosts/t490/default.nix | 1 + nix/users/opdavies/default.nix | 14 ++++++++++++++ 7 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 nix/users/opdavies/default.nix diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix index 2ede1550..1646bc4e 100644 --- a/nix/hosts/PW05CH3L/default.nix +++ b/nix/hosts/PW05CH3L/default.nix @@ -3,6 +3,7 @@ { imports = [ ../common + ../../users/opdavies ./configuration.nix ]; diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index 5a331654..5d59ee3f 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -18,9 +18,10 @@ outputs.nixosModules.default ./programs.nix - ./users.nix ]; + users.defaultUserShell = pkgs.zsh; + environment.systemPackages = with pkgs; [ diff --git a/nix/hosts/common/users.nix b/nix/hosts/common/users.nix index faa51b00..efb7b91e 100644 --- a/nix/hosts/common/users.nix +++ b/nix/hosts/common/users.nix @@ -1,20 +1,4 @@ { pkgs, username, ... }: { - users = { - users.${username} = { - isNormalUser = true; - description = "Oliver Davies"; - - extraGroups = [ - "docker" - "networkmanager" - "wheel" - ]; - - packages = [ ]; - }; - - defaultUserShell = pkgs.zsh; - }; } diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 7120f66b..57b6c7cb 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -25,6 +25,7 @@ imports = [ ../common + ../../users/opdavies ./configuration.nix ]; diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index d0768361..b0011491 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -20,6 +20,7 @@ imports = [ ../common + ../../users/opdavies ./configuration.nix ./secrets.nix diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix index 15d408b6..2d76c26e 100644 --- a/nix/hosts/t490/default.nix +++ b/nix/hosts/t490/default.nix @@ -1,6 +1,7 @@ { imports = [ ../common + ../../users/opdavies ./configuration.nix ]; diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix new file mode 100644 index 00000000..cb935499 --- /dev/null +++ b/nix/users/opdavies/default.nix @@ -0,0 +1,14 @@ +{ + users.users.opdavies = { + description = "Oliver Davies"; + isNormalUser = true; + + extraGroups = [ + "docker" + "networkmanager" + "wheel" + ]; + + packages = [ ]; + }; +} From 33c4da6f92c97431d4a53fc12c5b3beb266e1739 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 19:15:04 +0000 Subject: [PATCH 1265/2258] lemp11: restore normal Caps Lock key --- nix/hosts/lemp11/configuration.nix | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 4dd66c10..478bc2b5 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -106,28 +106,6 @@ }; }; - # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = - let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in - { - enable = true; - plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; - services.gvfs.enable = true; programs.gnupg.agent = { From 1ce83c3f8662af0d1101a199425aac00e0f40a22 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 19:45:00 +0000 Subject: [PATCH 1266/2258] Add Brave and Chromium --- nix/users/opdavies/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index cb935499..45dba1ff 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { users.users.opdavies = { description = "Oliver Davies"; @@ -9,6 +11,9 @@ "wheel" ]; - packages = [ ]; + packages = with pkgs; [ + brave + chromium + ]; }; } From 8abc2e1afd4f66dce2e383d1aa2db3c3f31ef0fd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 20:55:56 +0000 Subject: [PATCH 1267/2258] Fix archive page redirect /archive/page/* shouldn't redirect. --- .../modules/caddy/vhosts/www.oliverdavies.uk.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix index 775f57c5..f8eac497 100644 --- a/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix @@ -37,10 +37,19 @@ } @articles path_regexp ^/articles/(.*)$ - @old-dailies path_regexp ^/archive/(.*)$ @talks path_regexp ^/talks/(.*)$ @talks-archive path_regexp ^/talks/archive/(.*)$ + # Exclude /daily/page/{number} from the /archive/* redirection + @excludeArchivePages { + path_regexp ^/archive/page/\d+$ + } + + @old-dailies { + path_regexp oldDailies ^/archive/(.*)$ + not path_regexp ^/archive/page/\d+$ + } + redir @articles /blog/{re.1} permanent redir @old-dailies /daily/{re.1} permanent redir @talks-archive /presentations/{re.1} permanent From 04e8dbe3199834ba87aba7f1efd1d44e5e52f110 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 20:56:29 +0000 Subject: [PATCH 1268/2258] Add throttled service --- nix/hosts/t490/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index abb8c268..399816b7 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -25,6 +25,7 @@ }; }; + services.throttled.enable = true; services.thermald.enable = true; services.power-profiles-daemon.enable = false; From 91afc60ac3df2540153af6cbc19ba29186ec5365 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 1 Jan 2025 21:41:14 +0000 Subject: [PATCH 1269/2258] Remove unused packages --- nix/lib/shared/home-manager-packages.nix | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index 8fad645e..53afe763 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -20,21 +20,12 @@ let in with pkgs; [ - age - awscli2 - bitwarden-cli - bottom cachix - ctop delta devenv - dog doppler entr - fd - file gcc - gh git git-crypt gnupg @@ -43,27 +34,21 @@ with pkgs; jq killall lua - mariadb mob php phpPackages.composer pv - rustywind simple-http-server sshs tldr tree tree-sitter unzip - virtualenv w3m watchexec wget xclip - xcp xdg-utils - xh - yarn # Scripts. deliver From 98b6f7cc5bbaaa115e5fd6f1a4b6de009134ffe1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 2 Jan 2025 20:26:02 +0000 Subject: [PATCH 1270/2258] Redirect /talks to /presentations --- nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix index f8eac497..218e2d6c 100644 --- a/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix @@ -400,6 +400,7 @@ redir /tailwind-repos https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent redir /tailwind-talk /talks/taking-flight-with-tailwind-css permanent redir /tailwindcss-demo http://tailwindcss-demo.oliverdavies.uk/ permanent + redir /talks /presentations permanent redir /talks-offer-tweet https://twitter.com/opdavies/status/1250870367712935938 permanent redir /talks/2012/09/05/what-is-this-drupal-thing-unified-diff /talks/what-is-this-drupal-thing permanent redir /talks/2013/07/10/drupal-ldap-swdug /talks/drupal-ldap permanent From db3aa2fe32fb00a57f0be782c6a41f03589c0c3a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 02:04:56 +0000 Subject: [PATCH 1271/2258] Add tmux keybindings to open todo list and wiki --- nix/modules/home-manager/features/cli/tmux.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index 355ed3ba..be60161f 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -75,9 +75,10 @@ in set-option -g pane-border-style "fg=#1f2335" bind-key -r f run-shell "tmux new-window tmux-sessionizer" - bind-key -r N run-shell "tmux split-window -h notes" - if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' + bind-key -r N split-window -h "notes" + bind-key -r T split-window -h -c ~/Documents/wiki "nvim todo.txt" + bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" ''; plugins = [ From 3382627d6fda6e28da72718cc33341527328801c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 15:57:22 +0000 Subject: [PATCH 1272/2258] Highlight the yanked text --- nvim/plugin/autocommands.lua | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 nvim/plugin/autocommands.lua diff --git a/nvim/plugin/autocommands.lua b/nvim/plugin/autocommands.lua new file mode 100644 index 00000000..c4641b1c --- /dev/null +++ b/nvim/plugin/autocommands.lua @@ -0,0 +1,7 @@ +vim.api.nvim_create_autocmd("TextYankPost", { + desc = "Highlight when yanking (copying) text", + group = vim.api.nvim_create_augroup("kickstart-highlight-yank", { clear = true }), + callback = function() + vim.highlight.on_yank() + end, +}) From b11a558f66b89731be58f14b124df14d2b087a25 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 15:57:45 +0000 Subject: [PATCH 1273/2258] Add a custom tmux strategy for vim-test --- nvim/plugin/vim-test.lua | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/nvim/plugin/vim-test.lua b/nvim/plugin/vim-test.lua index b82c4663..05260703 100644 --- a/nvim/plugin/vim-test.lua +++ b/nvim/plugin/vim-test.lua @@ -1,23 +1,24 @@ -local map = vim.api.nvim_set_keymap +local set = vim.keymap.set local options = { silent = true, } -map("n", "<leader>tf", ":TestFile<CR>", options) -map("n", "<leader>tg", ":TestVisit<CR>", options) -map("n", "<leader>tl", ":TestLast<CR>", options) -map("n", "<leader>tn", ":TestNearest<CR>", options) -map("n", "<leader>ts", ":TestSuite<CR>", options) +set("n", "<leader>tf", ":TestFile<CR>", options) +set("n", "<leader>tg", ":TestVisit<CR>", options) +set("n", "<leader>tl", ":TestLast<CR>", options) +set("n", "<leader>tn", ":TestNearest<CR>", options) +set("n", "<leader>ts", ":TestSuite<CR>", options) vim.cmd [[ - let test#echo_command = 0 - let test#strategy = "neovim_sticky" - - let g:test#neovim_sticky#kill_previous = 1 - let g:test#neovim_sticky#reopen_window = 1 - let g:test#preserve_screen = 0 - - let test#php#phpunit#executable = './run test' let test#php#phpunit#options = '--colors=always --testdox' + + function! TmuxStrategy(cmd) + let l:escaped_cmd = substitute(a:cmd, ' ', '\\ ', 'g') + + execute 'silent !tmux send-keys -t .bottom ' . l:escaped_cmd . ' Enter' + endfunction + + let g:test#custom_strategies = {'tmux': function('TmuxStrategy')} + let g:test#strategy = 'tmux' ]] From f1466f269c57a917a430007bac782a5f92c1147f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 18:00:00 +0000 Subject: [PATCH 1274/2258] Remove unused snippets --- nvim/lua/opdavies/snippets/ft/bash.lua | 31 ---------------------- nvim/lua/opdavies/snippets/ft/lua.lua | 11 -------- nvim/lua/opdavies/snippets/ft/markdown.lua | 20 -------------- nvim/lua/opdavies/snippets/ft/nix.lua | 23 ---------------- nvim/lua/opdavies/snippets/ft/twig.lua | 31 ---------------------- 5 files changed, 116 deletions(-) delete mode 100644 nvim/lua/opdavies/snippets/ft/bash.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/markdown.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/nix.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/twig.lua diff --git a/nvim/lua/opdavies/snippets/ft/bash.lua b/nvim/lua/opdavies/snippets/ft/bash.lua deleted file mode 100644 index 4859a803..00000000 --- a/nvim/lua/opdavies/snippets/ft/bash.lua +++ /dev/null @@ -1,31 +0,0 @@ -local ls = require "luasnip" - -local fmta = require("luasnip.extras.fmt").fmta - -return { - run = fmta( - [=[ - #!/usr/bin/env bash - - set -o errexit - set -o nounset - set -o pipefail - - function help { - printf "%s <<task>> [args]\n\nTasks:\n" "${0}" - - compgen -A function | grep -v "^_" | cat -n - - printf "\nExtended help:\n Each task has comments for general usage\n" - } - - # Include any local tasks. - # https://stackoverflow.com/a/6659698 - [[ -e "${BASH_SOURCE%/*}/run.local" ]] && source "${BASH_SOURCE%/*}/run.local" - - TIMEFORMAT="Task completed in %3lR" - time "${@:-help}" - ]=], - {} - ), -} diff --git a/nvim/lua/opdavies/snippets/ft/lua.lua b/nvim/lua/opdavies/snippets/ft/lua.lua index c2abfba8..18c28e5b 100644 --- a/nvim/lua/opdavies/snippets/ft/lua.lua +++ b/nvim/lua/opdavies/snippets/ft/lua.lua @@ -1,21 +1,10 @@ local ls = require "luasnip" local fmt = require("luasnip.extras.fmt").fmt -local rep = require("luasnip.extras").rep local f, i = ls.function_node, ls.insert_node return { - pcall = fmt( - [[ - local status_ok, {} = pcall(require, "{}") - if not status_ok then - return - end - ]], - { i(1), rep(1) } - ), - req = fmt([[local {} = require "{}"]], { f(function(import_name) local parts = vim.split(import_name[1][1], ".", true) diff --git a/nvim/lua/opdavies/snippets/ft/markdown.lua b/nvim/lua/opdavies/snippets/ft/markdown.lua deleted file mode 100644 index b2a76e46..00000000 --- a/nvim/lua/opdavies/snippets/ft/markdown.lua +++ /dev/null @@ -1,20 +0,0 @@ -local fmt = require("luasnip.extras.fmt").fmt -local ls = require "luasnip" - -local i = ls.insert_node - -local M = { - frontmatter = fmt( - [[ - --- - title: {} - --- - {} - ]], - { i(1), i(0) } - ), - - link = fmt([[[{}]({}){} ]], { i(1), i(2), i(0) }), -} - -return M diff --git a/nvim/lua/opdavies/snippets/ft/nix.lua b/nvim/lua/opdavies/snippets/ft/nix.lua deleted file mode 100644 index 1ef44d5c..00000000 --- a/nvim/lua/opdavies/snippets/ft/nix.lua +++ /dev/null @@ -1,23 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local c = ls.choice_node -local i = ls.insert_node -local t = ls.text_node - -local M = { - vimplugin = fmta( - [[ - { - plugin = <>.<>; - type = "lua"; - config = '' - <> - ''; - }<> - ]], - { c(1, { t "vimPlugins", t "customVim" }), i(2), i(3), i(0) } - ), -} - -return M diff --git a/nvim/lua/opdavies/snippets/ft/twig.lua b/nvim/lua/opdavies/snippets/ft/twig.lua deleted file mode 100644 index 41842e39..00000000 --- a/nvim/lua/opdavies/snippets/ft/twig.lua +++ /dev/null @@ -1,31 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local i = ls.insert_node - -local M = { - stories = fmta( - [[ - {% stories <name> with { title: '<title>' } %} - - <finish> - - {% endstories %} - ]], - { name = i(1), title = i(2), finish = i(0) } - ), - - story = fmta( - [[ - {% story <name> with { - name: '<label>', - args: {}, - } %} - <finish> - {% endstory %} - ]], - { name = i(1, "default"), label = i(2), finish = i(0) } - ), -} - -return M From c5833a9cdce0d4687bc348c8a95403d950070cae Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 18:00:00 +0000 Subject: [PATCH 1275/2258] Add a snippet to create a test with an attribute Instead of an annotation. --- nvim/lua/opdavies/snippets/ft/php.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nvim/lua/opdavies/snippets/ft/php.lua b/nvim/lua/opdavies/snippets/ft/php.lua index 77ecd67a..5d43d7d1 100644 --- a/nvim/lua/opdavies/snippets/ft/php.lua +++ b/nvim/lua/opdavies/snippets/ft/php.lua @@ -110,6 +110,16 @@ local M = { ]], { i(1), i(2), i(0) } ), + + testat = fmta( + [[ + [#Test] + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ), } return M From 1cfe4b03152f18e830444805121088beef7c9158 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 18:00:00 +0000 Subject: [PATCH 1276/2258] Refactor snippet configuration --- nvim/lua/opdavies/snippets/ft/javascript.lua | 10 -- nvim/lua/opdavies/snippets/ft/lua.lua | 16 --- nvim/lua/opdavies/snippets/ft/php.lua | 125 ------------------- nvim/lua/opdavies/snippets/ft/rst.lua | 49 -------- nvim/lua/opdavies/snippets/ft/scss.lua | 10 -- nvim/lua/opdavies/snippets/ft/yaml.lua | 39 ------ nvim/lua/opdavies/snippets/javascript.lua | 12 ++ nvim/lua/opdavies/snippets/lua.lua | 23 ++++ nvim/lua/opdavies/snippets/php.lua | 124 ++++++++++++++++++ nvim/lua/opdavies/snippets/rst.lua | 63 ++++++++++ nvim/lua/opdavies/snippets/scss.lua | 12 ++ nvim/lua/opdavies/snippets/yaml.lua | 47 +++++++ nvim/plugin/completion.lua | 78 ------------ nvim/plugin/snippets.lua | 32 +++++ 14 files changed, 313 insertions(+), 327 deletions(-) delete mode 100644 nvim/lua/opdavies/snippets/ft/javascript.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/lua.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/php.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/rst.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/scss.lua delete mode 100644 nvim/lua/opdavies/snippets/ft/yaml.lua create mode 100644 nvim/lua/opdavies/snippets/javascript.lua create mode 100644 nvim/lua/opdavies/snippets/lua.lua create mode 100644 nvim/lua/opdavies/snippets/php.lua create mode 100644 nvim/lua/opdavies/snippets/rst.lua create mode 100644 nvim/lua/opdavies/snippets/scss.lua create mode 100644 nvim/lua/opdavies/snippets/yaml.lua create mode 100644 nvim/plugin/snippets.lua diff --git a/nvim/lua/opdavies/snippets/ft/javascript.lua b/nvim/lua/opdavies/snippets/ft/javascript.lua deleted file mode 100644 index d3e795f8..00000000 --- a/nvim/lua/opdavies/snippets/ft/javascript.lua +++ /dev/null @@ -1,10 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local i = ls.insert_node - -local M = { - log = fmta("console.log(<>);", { i(1, "value") }), -} - -return M diff --git a/nvim/lua/opdavies/snippets/ft/lua.lua b/nvim/lua/opdavies/snippets/ft/lua.lua deleted file mode 100644 index 18c28e5b..00000000 --- a/nvim/lua/opdavies/snippets/ft/lua.lua +++ /dev/null @@ -1,16 +0,0 @@ -local ls = require "luasnip" - -local fmt = require("luasnip.extras.fmt").fmt - -local f, i = ls.function_node, ls.insert_node - -return { - req = fmt([[local {} = require "{}"]], { - f(function(import_name) - local parts = vim.split(import_name[1][1], ".", true) - - return parts[#parts] or "" - end, { 1 }), - i(1), - }), -} diff --git a/nvim/lua/opdavies/snippets/ft/php.lua b/nvim/lua/opdavies/snippets/ft/php.lua deleted file mode 100644 index 5d43d7d1..00000000 --- a/nvim/lua/opdavies/snippets/ft/php.lua +++ /dev/null @@ -1,125 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local c = ls.choice_node -local f = ls.function_node -local i = ls.insert_node -local t = ls.text_node - -local M = { - __construct = fmta( - [[ - public function __construct(<>) { - <> - } - ]], - { i(1), i(0) } - ), - - __invoke = fmta( - [[ - public function __invoke(<>) { - <> - } - ]], - { i(1), i(0) } - ), - - drupalclass = fmta( - [[ - <<?php - - declare(strict_types=1); - - namespace <>; - - final class <> { - - <> - - }]], - { - f(function() - local filepath = vim.fn.expand "%:h" - local filepath_parts = vim.fn.split(filepath, "/") - - if not vim.tbl_contains(filepath_parts, "src") then - return "" - end - - local namespace_parts = { "Drupal" } - - local is_test_file = vim.tbl_contains(filepath_parts, "tests") - if is_test_file then - table.insert(namespace_parts, "Tests") - end - - -- Find and add the module name. - for k, v in ipairs(filepath_parts) do - if v == "src" then - if is_test_file then - table.insert(namespace_parts, filepath_parts[k - 2]) - else - table.insert(namespace_parts, filepath_parts[k - 1]) - end - end - end - - -- Add the rest of the namespace. - local namespace = vim.split(filepath, "src/") - local final_part = (namespace[2] or ""):gsub("/", "\\") - table.insert(namespace_parts, final_part) - - return table.concat(namespace_parts, "\\") - end), - f(function() - return vim.fn.expand "%:t:r" - end), - i(0), - } - ), - - func = fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) }), - - met = fmta( - [[ - <> function <>(<>)<> { - <> - }<> - ]], - { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } - ), - - pest = fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) }), - - test = fmta( - [[ - public function test<>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ), - - testa = fmta( - [[ - /** @test */ - public function <>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ), - - testat = fmta( - [[ - [#Test] - public function <>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ), -} - -return M diff --git a/nvim/lua/opdavies/snippets/ft/rst.lua b/nvim/lua/opdavies/snippets/ft/rst.lua deleted file mode 100644 index 206bbf1c..00000000 --- a/nvim/lua/opdavies/snippets/ft/rst.lua +++ /dev/null @@ -1,49 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local i = ls.insert_node -local f = ls.function_node - -local fill_line = function(char) - return function() - local row = vim.api.nvim_win_get_cursor(0)[1] - local lines = vim.api.nvim_buf_get_lines(0, row - 2, row, false) - return string.rep(char, #lines[1]) - end -end - -local M = { - class = { ".. class:: ", i(1) }, - footer = { ".. footer:: ", i(1) }, - link = { ".. _", i(1), ":" }, - raw = { ".. raw:: ", i(1) }, - - -- TODO: add an optional new line and ":width" property. - image = { ".. image:: ", i(1) }, - - head = f(fill_line "=", {}), - sub = f(fill_line "-", {}), - subsub = f(fill_line "^", {}), - - -- Add a page break with an optional page template. - pb = fmta( - [[ - .. raw:: pdf - - PageBreak<> - ]], - { i(0) } - ), - - -- Add a new speaker note. - ta = fmta( - [[ - .. raw:: pdf - - TextAnnotation "<>" - ]], - { i(0) } - ), -} - -return M diff --git a/nvim/lua/opdavies/snippets/ft/scss.lua b/nvim/lua/opdavies/snippets/ft/scss.lua deleted file mode 100644 index 846cbcb2..00000000 --- a/nvim/lua/opdavies/snippets/ft/scss.lua +++ /dev/null @@ -1,10 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" - -local i = ls.insert_node - -local M = { - bp = fmta("@include breakpoint(<>) {\n <>\n}", { i(1), i(0) }), -} - -return M diff --git a/nvim/lua/opdavies/snippets/ft/yaml.lua b/nvim/lua/opdavies/snippets/ft/yaml.lua deleted file mode 100644 index 4c5b3ce2..00000000 --- a/nvim/lua/opdavies/snippets/ft/yaml.lua +++ /dev/null @@ -1,39 +0,0 @@ -local fmta = require("luasnip.extras.fmt").fmta -local ls = require "luasnip" -local rep = require("luasnip.extras").rep - -local c = ls.choice_node -local i = ls.insert_node -local t = ls.text_node - -local M = { - drupal_info = fmta( - [[ - name: <module_name> - description: <description> - core_version_requirement: ^10 || ^11 - type: <type> - package: <package> - ]], - { module_name = i(1), description = i(2), type = c(3, { t "module", t "theme" }), package = i(0) } - ), - - drupal_route = fmta( - [[ - <module>.<route>: - path: /<path> - defaults: - _controller: Drupal\<module_same>\Controller\<class> - # _form: - # _title: - # _title_callback: - methods: [GET] - requirements: - _permission: access content - # _access: TRUE<finish> - ]], - { module = i(1), route = i(2), path = i(3), module_same = rep(1), class = i(4), finish = i(0) } - ), -} - -return M diff --git a/nvim/lua/opdavies/snippets/javascript.lua b/nvim/lua/opdavies/snippets/javascript.lua new file mode 100644 index 00000000..c5af9696 --- /dev/null +++ b/nvim/lua/opdavies/snippets/javascript.lua @@ -0,0 +1,12 @@ +require("luasnip.session.snippet_collection").clear_snippets "javascript" + +local ls = require "luasnip" + +local i = ls.insert_node +local s = ls.snippet + +local fmta = require("luasnip.extras.fmt").fmta + +ls.add_snippets("javascript", { + s("log", fmta("console.log(<>);", { i(1, "value") })), +}) diff --git a/nvim/lua/opdavies/snippets/lua.lua b/nvim/lua/opdavies/snippets/lua.lua new file mode 100644 index 00000000..e7eb8cd1 --- /dev/null +++ b/nvim/lua/opdavies/snippets/lua.lua @@ -0,0 +1,23 @@ +require("luasnip.session.snippet_collection").clear_snippets "lua" + +local ls = require "luasnip" + +local f = ls.function_node +local i = ls.insert_node +local s = ls.snippet + +local fmt = require("luasnip.extras.fmt").fmt + +ls.add_snippets("lua", { + s( + "req", + fmt([[local {} = require "{}"]], { + f(function(import_name) + local parts = vim.split(import_name[1][1], ".", true) + + return parts[#parts] or "" + end, { 1 }), + i(1), + }) + ), +}) diff --git a/nvim/lua/opdavies/snippets/php.lua b/nvim/lua/opdavies/snippets/php.lua new file mode 100644 index 00000000..ee1b898e --- /dev/null +++ b/nvim/lua/opdavies/snippets/php.lua @@ -0,0 +1,124 @@ +require("luasnip.session.snippet_collection").clear_snippets "php" + +local ls = require "luasnip" + +local c = ls.choice_node +local f = ls.function_node +local i = ls.insert_node +local s = ls.snippet +local t = ls.text_node + +local fmta = require("luasnip.extras.fmt").fmta + +ls.add_snippets("php", { + s( + "drupalclass", + fmta( + [[ + <<?php + + declare(strict_types=1); + + namespace <>; + + final class <> { + + <> + + }]], + { + f(function() + local filepath = vim.fn.expand "%:h" + local filepath_parts = vim.fn.split(filepath, "/") + + if not vim.tbl_contains(filepath_parts, "src") then + return "" + end + + local namespace_parts = { "Drupal" } + + local is_test_file = vim.tbl_contains(filepath_parts, "tests") + if is_test_file then + table.insert(namespace_parts, "Tests") + end + + -- Find and add the module name. + for k, v in ipairs(filepath_parts) do + if v == "src" then + if is_test_file then + table.insert(namespace_parts, filepath_parts[k - 2]) + else + table.insert(namespace_parts, filepath_parts[k - 1]) + end + end + end + + -- Add the rest of the namespace. + local namespace = vim.split(filepath, "src/") + local final_part = (namespace[2] or ""):gsub("/", "\\") + table.insert(namespace_parts, final_part) + + return table.concat(namespace_parts, "\\") + end), + f(function() + return vim.fn.expand "%:t:r" + end), + i(0), + } + ) + ), + + s("func", fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) })), + + s( + "met", + fmta( + [[ + <> function <>(<>)<> { + <> + }<> + ]], + { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } + ) + ), + + s("pest", fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) })), + + s( + "test", + fmta( + [[ + public function test<>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ) + ), + + s( + "testan", + fmta( + [[ + /** @test */ + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ) + ), + + s( + "testat", + fmta( + [[ + [#Test] + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ) + ), +}) diff --git a/nvim/lua/opdavies/snippets/rst.lua b/nvim/lua/opdavies/snippets/rst.lua new file mode 100644 index 00000000..954dfc8f --- /dev/null +++ b/nvim/lua/opdavies/snippets/rst.lua @@ -0,0 +1,63 @@ +require("luasnip.session.snippet_collection").clear_snippets "rst" + +local ls = require "luasnip" + +local i = ls.insert_node +local f = ls.function_node +local s = ls.snippet +local t = ls.text_node + +local fmta = require("luasnip.extras.fmt").fmta + +local fill_line = function(char) + return function() + local row = vim.api.nvim_win_get_cursor(0)[1] + local lines = vim.api.nvim_buf_get_lines(0, row - 2, row, false) + return string.rep(char, #lines[1]) + end +end + +ls.add_snippets("rst", { + s("class", t(".. class:: ", i(1))), + + s("footer", t(".. footer:: ", i(1))), + + s("link", t(".. _", i(1), ":")), + + s("raw", t(".. raw:: ", i(1))), + + -- TODO: add an optional new line and ":width" property. + s("image", t(".. image:: ", i(1))), + + s("head", f(fill_line "=", {})), + + s("sub", f(fill_line "-", {})), + + s("subsub", f(fill_line "^", {})), + + -- Add a page break with an optional page template. + s( + "pb", + fmta( + [[ + .. raw:: pdf + + PageBreak<> + ]], + { i(0) } + ) + ), + + -- Add a new speaker note. + s( + "ta", + fmta( + [[ + .. raw:: pdf + + TextAnnotation "<>" + ]], + { i(0) } + ) + ), +}) diff --git a/nvim/lua/opdavies/snippets/scss.lua b/nvim/lua/opdavies/snippets/scss.lua new file mode 100644 index 00000000..35520859 --- /dev/null +++ b/nvim/lua/opdavies/snippets/scss.lua @@ -0,0 +1,12 @@ +require("luasnip.session.snippet_collection").clear_snippets "scss" + +local ls = require "luasnip" + +local i = ls.insert_node +local s = ls.snippet + +local fmta = require("luasnip.extras.fmt").fmta + +ls.add_snippets("scss", { + s("bp", fmta("@include breakpoint(<>) {\n <>\n}", { i(1), i(0) })), +}) diff --git a/nvim/lua/opdavies/snippets/yaml.lua b/nvim/lua/opdavies/snippets/yaml.lua new file mode 100644 index 00000000..399a3072 --- /dev/null +++ b/nvim/lua/opdavies/snippets/yaml.lua @@ -0,0 +1,47 @@ +require("luasnip.session.snippet_collection").clear_snippets "yaml" + +local ls = require "luasnip" + +local c = ls.choice_node +local i = ls.insert_node +local s = ls.snippet +local t = ls.text_node + +local fmta = require("luasnip.extras.fmt").fmta +local rep = require("luasnip.extras").rep + +ls.add_snippets("yaml", { + s( + "drupal_info", + fmta( + [[ + name: <module_name> + description: <description> + core_version_requirement: ^10 || ^11 + type: <type> + package: <package> + ]], + { module_name = i(1), description = i(2), type = c(3, { t "module", t "theme" }), package = i(0) } + ) + ), + + s( + "drupal_route", + fmta( + [[ + <module>.<route>: + path: /<path> + defaults: + _controller: Drupal\<module_same>\Controller\<class> + # _form: + # _title: + # _title_callback: + methods: [GET] + requirements: + _permission: access content + # _access: TRUE<finish> + ]], + { module = i(1), route = i(2), path = i(3), module_same = rep(1), class = i(4), finish = i(0) } + ) + ), +}) diff --git a/nvim/plugin/completion.lua b/nvim/plugin/completion.lua index ab21c534..dd12d8d4 100644 --- a/nvim/plugin/completion.lua +++ b/nvim/plugin/completion.lua @@ -75,81 +75,3 @@ cmp.setup.filetype({ "mysql", "sql" }, { { name = "buffer" }, }, }) - -local snippet = ls.snippet -local i = ls.insert_node -local t = ls.text_node - -local shortcut = function(val) - if type(val) == "string" then - return { t { val }, i(0) } - end - - if type(val) == "table" then - for k, v in ipairs(val) do - if type(v) == "string" then - val[k] = t { v } - end - end - end - - return val -end - -local make = function(tbl) - local result = {} - for k, v in pairs(tbl) do - table.insert(result, (snippet({ trig = k, desc = v.desc }, shortcut(v)))) - end - - return result -end - -local snippets = {} - -for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/opdavies/snippets/ft/*.lua", true)) do - local ft = vim.fn.fnamemodify(ft_path, ":t:r") - snippets[ft] = make(loadfile(ft_path)()) - - ls.add_snippets(ft, snippets[ft]) -end - -ls.add_snippets("js", snippets.javascript) -ls.add_snippets("typescript", snippets.javascript) -ls.add_snippets("vue", snippets.javascript) - --- Include any snippets to use in presentations. -for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/opdavies/snippets/talks/*.lua", true)) do - loadfile(ft_path)() -end - -require("luasnip.loaders.from_vscode").lazy_load() - -ls.config.set_config { - enable_autosnippets = true, - history = true, - updateevents = "TextChanged,TextChangedI", -} - --- Expand the current item or just to the next item within the snippet. -vim.keymap.set({ "i", "s" }, "<c-k>", function() - if ls.expand_or_jumpable() then - ls.expand_or_jump() - end -end, { silent = true }) - --- Jump backwards. -vim.keymap.set({ "i", "s" }, "<c-j>", function() - if ls.jumpable(-1) then - ls.jump(-1) - end -end, { silent = true }) - --- Select within a list of options. -vim.keymap.set("i", "<c-l>", function() - if ls.choice_active() then - ls.change_choice(1) - end -end) - -vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/Code/opdavies.nvim/after/plugin/luasnip.lua<CR>") diff --git a/nvim/plugin/snippets.lua b/nvim/plugin/snippets.lua new file mode 100644 index 00000000..c483d35a --- /dev/null +++ b/nvim/plugin/snippets.lua @@ -0,0 +1,32 @@ +local ls = require "luasnip" + +ls.config.set_config { + enable_autosnippets = true, + history = true, + updateevents = "TextChanged,TextChangedI", +} + +for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/opdavies/snippets/*.lua", true)) do + loadfile(ft_path)() +end + +-- Expand the current item or just to the next item within the snippet. +vim.keymap.set({ "i", "s" }, "<c-k>", function() + if ls.expand_or_jumpable() then + ls.expand_or_jump() + end +end, { silent = true }) + +-- Jump backwards. +vim.keymap.set({ "i", "s" }, "<c-j>", function() + if ls.jumpable(-1) then + ls.jump(-1) + end +end, { silent = true }) + +-- Select within a list of options. +vim.keymap.set("i", "<c-l>", function() + if ls.choice_active() then + ls.change_choice(1) + end +end) From aa666a2391504313ba042c1fc143c8fc9ae47a0d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 18:00:00 +0000 Subject: [PATCH 1277/2258] Re-add Phpactor --- nix/modules/home-manager/features/cli/neovim.nix | 1 + nvim/plugin/phpactor.lua | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 nvim/plugin/phpactor.lua diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index bf0cccf1..125617aa 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -24,6 +24,7 @@ with lib; mini-nvim nvim-web-devicons oil-nvim + phpactor refactoring-nvim standard-vim undotree diff --git a/nvim/plugin/phpactor.lua b/nvim/plugin/phpactor.lua new file mode 100644 index 00000000..873d853c --- /dev/null +++ b/nvim/plugin/phpactor.lua @@ -0,0 +1,2 @@ +vim.keymap.set("n", "<leader>pm", "<cmd>PhpactorContextMenu<CR>") +vim.keymap.set("n", "<leader>pn", "<cmd>PhpactorClassNew<CR>") From 44f413cd53a55328f515b3ae86a5aa6137e84e76 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 3 Jan 2025 18:00:00 +0000 Subject: [PATCH 1278/2258] Remove drupal_class snippet Removed now I have Phpactor working again. --- nvim/lua/opdavies/snippets/php.lua | 58 ------------------------------ 1 file changed, 58 deletions(-) diff --git a/nvim/lua/opdavies/snippets/php.lua b/nvim/lua/opdavies/snippets/php.lua index ee1b898e..f7b5bc0b 100644 --- a/nvim/lua/opdavies/snippets/php.lua +++ b/nvim/lua/opdavies/snippets/php.lua @@ -3,7 +3,6 @@ require("luasnip.session.snippet_collection").clear_snippets "php" local ls = require "luasnip" local c = ls.choice_node -local f = ls.function_node local i = ls.insert_node local s = ls.snippet local t = ls.text_node @@ -11,63 +10,6 @@ local t = ls.text_node local fmta = require("luasnip.extras.fmt").fmta ls.add_snippets("php", { - s( - "drupalclass", - fmta( - [[ - <<?php - - declare(strict_types=1); - - namespace <>; - - final class <> { - - <> - - }]], - { - f(function() - local filepath = vim.fn.expand "%:h" - local filepath_parts = vim.fn.split(filepath, "/") - - if not vim.tbl_contains(filepath_parts, "src") then - return "" - end - - local namespace_parts = { "Drupal" } - - local is_test_file = vim.tbl_contains(filepath_parts, "tests") - if is_test_file then - table.insert(namespace_parts, "Tests") - end - - -- Find and add the module name. - for k, v in ipairs(filepath_parts) do - if v == "src" then - if is_test_file then - table.insert(namespace_parts, filepath_parts[k - 2]) - else - table.insert(namespace_parts, filepath_parts[k - 1]) - end - end - end - - -- Add the rest of the namespace. - local namespace = vim.split(filepath, "src/") - local final_part = (namespace[2] or ""):gsub("/", "\\") - table.insert(namespace_parts, final_part) - - return table.concat(namespace_parts, "\\") - end), - f(function() - return vim.fn.expand "%:t:r" - end), - i(0), - } - ) - ), - s("func", fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) })), s( From 389e5f247a71a695d23157ee258d94ae6e7c7fb5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 14:09:13 +0000 Subject: [PATCH 1279/2258] Set the font size --- nix/modules/home-manager/features/desktop/ghostty.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/modules/home-manager/features/desktop/ghostty.nix b/nix/modules/home-manager/features/desktop/ghostty.nix index 8be5e99c..52743874 100644 --- a/nix/modules/home-manager/features/desktop/ghostty.nix +++ b/nix/modules/home-manager/features/desktop/ghostty.nix @@ -27,6 +27,8 @@ in font-feature = -liga font-feature = -dlig + font-size = 15 + window-decoration = false window-padding-x = 10 From 2c9af56ff70fd3496d6b923076d65fbee3a21f92 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 14:08:34 +0000 Subject: [PATCH 1280/2258] t490: set ghostty as the default terminal --- nix/home/opdavies/hosts/t490.nix | 1 + nix/lib/shared/home-manager.nix | 3 ++- nix/modules/nixos/i3.nix | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index c2530234..a0e3faf2 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -12,6 +12,7 @@ discord.enable = true; espanso.enable = true; flameshot.enable = true; + ghostty.enable = true; gtk.enable = true; slack.enable = true; diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index 0cae3665..5cce1b82 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -37,7 +37,8 @@ }; desktop = { - alacritty.enable = lib.mkDefault true; + alacritty.enable = lib.mkDefault false; + ghostty.enable = lib.mkDefault true; }; } ]; diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 19aba388..095078c7 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -91,13 +91,14 @@ in "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; + "XF86AudioMute" = + ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; }; - terminal = "alacritty"; + terminal = "ghostty"; }; extraConfig = '' From 3b2ffa783c0df9a9f9def8a37f3ef52f3f25ff78 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 15:12:41 +0000 Subject: [PATCH 1281/2258] Update spellfile --- nvim/spell/en.utf-8.add | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index db518a17..d950a279 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -101,6 +101,7 @@ drupal eCommerce foreach getPost +ghostty hotfix isNotPublished isPublished From 6154af49b7d0a61d36852bec7492d83d6c542ea8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 16:11:51 +0000 Subject: [PATCH 1282/2258] Move ghostty configuration --- ghostty/config | 17 +++++++++++++++++ .../home-manager/features/desktop/ghostty.nix | 17 ++--------------- 2 files changed, 19 insertions(+), 15 deletions(-) create mode 100644 ghostty/config diff --git a/ghostty/config b/ghostty/config new file mode 100644 index 00000000..4bbd3b3e --- /dev/null +++ b/ghostty/config @@ -0,0 +1,17 @@ +adjust-cell-height = 25% + +background = #000000 + +cursor-style-blink = false + +# Disable ligatures. +font-feature = -calt +font-feature = -liga +font-feature = -dlig + +font-size = 15 + +window-decoration = false + +window-padding-x = 10 +window-padding-y = 10 diff --git a/nix/modules/home-manager/features/desktop/ghostty.nix b/nix/modules/home-manager/features/desktop/ghostty.nix index 52743874..6101b71a 100644 --- a/nix/modules/home-manager/features/desktop/ghostty.nix +++ b/nix/modules/home-manager/features/desktop/ghostty.nix @@ -2,6 +2,7 @@ config, inputs, lib, + self, system, ... }: @@ -19,20 +20,6 @@ in config = mkIf cfg.enable { home.packages = [ pkgs-master.ghostty ]; - xdg.configFile."ghostty/config".text = '' - background = #000000 - - # Disable ligatures. - font-feature = -calt - font-feature = -liga - font-feature = -dlig - - font-size = 15 - - window-decoration = false - - window-padding-x = 10 - window-padding-y = 10 - ''; + xdg.configFile."ghostty/config".source = "${self}/ghostty/config"; }; } From 9ea565566922e785bab859a8de0335f3b65c4549 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 17:36:30 +0000 Subject: [PATCH 1283/2258] nixedo: add beaverhabits --- nix/hosts/nixedo/default.nix | 1 + .../nixos/features/homelab/beaverhabits.nix | 102 ++++++++++++++++++ .../nixos/features/homelab/default.nix | 1 + 3 files changed, 104 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/beaverhabits.nix diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index b0011491..5a6d0ade 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -6,6 +6,7 @@ homelab = { audiobookshelf.enable = true; + beaverhabits.enable = true; forgejo.enable = true; freshrss.enable = true; gitea.enable = true; diff --git a/nix/modules/nixos/features/homelab/beaverhabits.nix b/nix/modules/nixos/features/homelab/beaverhabits.nix new file mode 100644 index 00000000..98f362cd --- /dev/null +++ b/nix/modules/nixos/features/homelab/beaverhabits.nix @@ -0,0 +1,102 @@ +# Auto-generated using compose2nix v0.3.2-pre. +{ + config, + pkgs, + lib, + ... +}: + +with lib; + +let + cfg = config.features.homelab.beaverhabits; + + port = 8084; +in +{ + options.features.homelab.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; + + config = mkIf cfg.enable { + virtualisation = { + docker = { + enable = true; + autoPrune.enable = true; + }; + + oci-containers = { + backend = "docker"; + + containers."beaverhabits" = { + image = "daya0576/beaverhabits:latest"; + + environment = { + "HABITS_STORAGE" = "DATABASE"; + }; + + volumes = [ + "/mnt/media/beaverhabits:/app/.user:rw" + ]; + + ports = [ + "${toString port}:8080/tcp" + ]; + + user = "1000:1000"; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=beaverhabits" + "--network=beaverhabits_default" + ]; + }; + }; + }; + + systemd = { + services = { + "docker-beaverhabits" = { + serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartMaxDelaySec = lib.mkOverride 90 "1m"; + RestartSec = lib.mkOverride 90 "100ms"; + RestartSteps = lib.mkOverride 90 9; + }; + + after = [ "docker-network-beaverhabits_default.service" ]; + requires = [ "docker-network-beaverhabits_default.service" ]; + partOf = [ "docker-compose-beaverhabits-root.target" ]; + wantedBy = [ "docker-compose-beaverhabits-root.target" ]; + }; + + "docker-network-beaverhabits_default" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f beaverhabits_default"; + }; + + script = '' + docker network inspect beaverhabits_default || docker network create beaverhabits_default + ''; + + partOf = [ "docker-compose-beaverhabits-root.target" ]; + wantedBy = [ "docker-compose-beaverhabits-root.target" ]; + }; + }; + + targets."docker-compose-beaverhabits-root" = { + unitConfig.Description = "Root target generated by compose2nix."; + wantedBy = [ "multi-user.target" ]; + }; + }; + + services.caddy.virtualHosts."beaverhabits.opdavies.uk" = { + useACMEHost = "opdavies.uk"; + + extraConfig = "reverse_proxy localhost:${toString port}"; + }; + }; +} diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index 7231aa87..897465c5 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -1,6 +1,7 @@ { imports = [ ./audiobookshelf.nix + ./beaverhabits.nix ./forgejo.nix ./freshrss.nix ./gitea.nix From f92ad2b5ab6430586e26b46c70f57ccac74bc9bc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 17:51:00 +0000 Subject: [PATCH 1284/2258] Restructure NixOS host configuration files --- flake.nix | 8 +++---- nix/hosts/PW05CH3L/configuration.nix | 20 ++++++++++++++++- nix/hosts/PW05CH3L/default.nix | 21 ------------------ nix/hosts/lemp11/configuration.nix | 2 ++ nix/hosts/lemp11/default.nix | 32 ---------------------------- nix/hosts/nixedo/configuration.nix | 32 ++++++++++++++++++++++++++++ nix/hosts/nixedo/default.nix | 30 -------------------------- nix/hosts/nixedo/extra.nix | 9 -------- nix/hosts/t490/configuration.nix | 13 +++++++++++ nix/hosts/t490/default.nix | 17 --------------- 10 files changed, 70 insertions(+), 114 deletions(-) delete mode 100644 nix/hosts/PW05CH3L/default.nix delete mode 100644 nix/hosts/lemp11/default.nix delete mode 100644 nix/hosts/nixedo/default.nix delete mode 100644 nix/hosts/nixedo/extra.nix delete mode 100644 nix/hosts/t490/default.nix diff --git a/flake.nix b/flake.nix index 24044c98..ed3b9361 100644 --- a/flake.nix +++ b/flake.nix @@ -73,7 +73,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/lemp11 + ./nix/hosts/lemp11/configuration.nix ]; }; @@ -87,7 +87,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/nixedo + ./nix/hosts/nixedo/configuration.nix ]; }; @@ -102,7 +102,7 @@ nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.lenovo-thinkpad-t490 - ./nix/hosts/t490 + ./nix/hosts/t490/configuration.nix ]; }; @@ -120,7 +120,7 @@ disko.nixosModules.disko nixos-wsl.nixosModules.default - ./nix/hosts/PW05CH3L + ./nix/hosts/PW05CH3L/configuration.nix ]; }; diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index ccc0d6e0..24afffeb 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -1,6 +1,24 @@ -{ inputs, ... }: +{ inputs, username, ... }: { + imports = [ + ../common + ../../users/opdavies + + ./configuration.nix + ]; + + features = { + cli = { + docker.enable = true; + }; + }; + + wsl = { + enable = true; + defaultUser = username; + }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nix = { diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix deleted file mode 100644 index 1646bc4e..00000000 --- a/nix/hosts/PW05CH3L/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ username, ... }: - -{ - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ]; - - features = { - cli = { - docker.enable = true; - }; - }; - - wsl = { - enable = true; - defaultUser = username; - }; -} diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 478bc2b5..f7a437d7 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -15,6 +15,8 @@ ./hardware-configuration.nix + ../common + ../../users/opdavies ../../users/eric ../../users/luke ]; diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix deleted file mode 100644 index 57b6c7cb..00000000 --- a/nix/hosts/lemp11/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ ... }: - -{ - features = { - cli = { - docker.enable = true; - }; - - desktop = { - autorandr.enable = true; - gaming.enable = true; - peek.enable = true; - }; - - homelab = { - forgejo.enable = true; - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - }; - }; - - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ]; -} diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index 635a22f3..ec4c07e9 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -6,11 +6,35 @@ { imports = [ + ../common + ../../users/opdavies + ./hardware-configuration.nix + ./secrets.nix ./modules/acme.nix ]; + features = { + cli = { + docker.enable = true; + }; + + homelab = { + audiobookshelf.enable = true; + beaverhabits.enable = true; + forgejo.enable = true; + freshrss.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + vaultwarden.enable = true; + }; + }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot.loader = { @@ -34,4 +58,12 @@ ]; services.caddy.enable = true; + + programs.dconf.enable = true; + + services.logind.lidSwitchExternalPower = "ignore"; + + age.identityPaths = [ + "/home/opdavies/.ssh/id_rsa" + ]; } diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix deleted file mode 100644 index 5a6d0ade..00000000 --- a/nix/hosts/nixedo/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - features = { - cli = { - docker.enable = true; - }; - - homelab = { - audiobookshelf.enable = true; - beaverhabits.enable = true; - forgejo.enable = true; - freshrss.enable = true; - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; - }; - }; - - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ./secrets.nix - ./extra.nix - ]; -} diff --git a/nix/hosts/nixedo/extra.nix b/nix/hosts/nixedo/extra.nix deleted file mode 100644 index 02188827..00000000 --- a/nix/hosts/nixedo/extra.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - programs.dconf.enable = true; - - services.logind.lidSwitchExternalPower = "ignore"; - - age.identityPaths = [ - "/home/opdavies/.ssh/id_rsa" - ]; -} diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 399816b7..aca34966 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -8,8 +8,21 @@ { imports = [ ./hardware-configuration.nix + + ../common + ../../users/opdavies + ]; + features = { + desktop = { + autorandr.enable = true; + gaming.enable = true; + i3.enable = true; + peek.enable = true; + }; + }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot = { diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix deleted file mode 100644 index 2d76c26e..00000000 --- a/nix/hosts/t490/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ]; - - features = { - desktop = { - autorandr.enable = true; - gaming.enable = true; - i3.enable = true; - peek.enable = true; - }; - }; -} From fc3c9ef569353ce5b891dfc43716c4d8c5a68ac3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 21:07:45 +0000 Subject: [PATCH 1285/2258] Revert "t490: set ghostty as the default terminal" This reverts commit 2c9af56ff70fd3496d6b923076d65fbee3a21f92. --- nix/home/opdavies/hosts/t490.nix | 1 - nix/lib/shared/home-manager.nix | 3 +-- nix/modules/nixos/i3.nix | 5 ++--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index a0e3faf2..c2530234 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -12,7 +12,6 @@ discord.enable = true; espanso.enable = true; flameshot.enable = true; - ghostty.enable = true; gtk.enable = true; slack.enable = true; diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index 5cce1b82..0cae3665 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -37,8 +37,7 @@ }; desktop = { - alacritty.enable = lib.mkDefault false; - ghostty.enable = lib.mkDefault true; + alacritty.enable = lib.mkDefault true; }; } ]; diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 095078c7..19aba388 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -91,14 +91,13 @@ in "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = - ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; + "XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; }; - terminal = "ghostty"; + terminal = "alacritty"; }; extraConfig = '' From 184cc780a1f3bb3db7435951fdf4c5661b631d50 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 4 Jan 2025 21:22:10 +0000 Subject: [PATCH 1286/2258] Override background colour --- nix/modules/home-manager/features/desktop/alacritty.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix index 24ca5751..4c8f7e4c 100644 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ b/nix/modules/home-manager/features/desktop/alacritty.nix @@ -18,6 +18,8 @@ with lib; TERM = "screen-256color"; }; + colors.primary.background = "#000000"; + window.padding = { x = 10; y = 10; From 51fc0af70ea2d542a03eb0586a3b3febe9024b37 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 13:33:57 +0000 Subject: [PATCH 1287/2258] Update todo.txt --- todo.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/todo.txt b/todo.txt index d6e36f36..730307c0 100644 --- a/todo.txt +++ b/todo.txt @@ -1,6 +1,5 @@ Use nixosModules and homeManagerModules outputs in flake.nix to simplify importing modules Add daily script Add create-podcast-tasks script -Add vaultwarden for password management Replace doppler with agenix Evaluate services.languagetool as a replacement for Grammarly From 96bbb1934a445cc4843ddcef6580971a97776990 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 13:37:13 +0000 Subject: [PATCH 1288/2258] Revert "Restructure NixOS host configuration files" This reverts commit f92ad2b5ab6430586e26b46c70f57ccac74bc9bc. --- flake.nix | 8 +++---- nix/hosts/PW05CH3L/configuration.nix | 20 +---------------- nix/hosts/PW05CH3L/default.nix | 21 ++++++++++++++++++ nix/hosts/lemp11/configuration.nix | 2 -- nix/hosts/lemp11/default.nix | 32 ++++++++++++++++++++++++++++ nix/hosts/nixedo/configuration.nix | 32 ---------------------------- nix/hosts/nixedo/default.nix | 30 ++++++++++++++++++++++++++ nix/hosts/nixedo/extra.nix | 9 ++++++++ nix/hosts/t490/configuration.nix | 13 ----------- nix/hosts/t490/default.nix | 17 +++++++++++++++ 10 files changed, 114 insertions(+), 70 deletions(-) create mode 100644 nix/hosts/PW05CH3L/default.nix create mode 100644 nix/hosts/lemp11/default.nix create mode 100644 nix/hosts/nixedo/default.nix create mode 100644 nix/hosts/nixedo/extra.nix create mode 100644 nix/hosts/t490/default.nix diff --git a/flake.nix b/flake.nix index ed3b9361..24044c98 100644 --- a/flake.nix +++ b/flake.nix @@ -73,7 +73,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/lemp11/configuration.nix + ./nix/hosts/lemp11 ]; }; @@ -87,7 +87,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/nixedo/configuration.nix + ./nix/hosts/nixedo ]; }; @@ -102,7 +102,7 @@ nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.lenovo-thinkpad-t490 - ./nix/hosts/t490/configuration.nix + ./nix/hosts/t490 ]; }; @@ -120,7 +120,7 @@ disko.nixosModules.disko nixos-wsl.nixosModules.default - ./nix/hosts/PW05CH3L/configuration.nix + ./nix/hosts/PW05CH3L ]; }; diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index 24afffeb..ccc0d6e0 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -1,24 +1,6 @@ -{ inputs, username, ... }: +{ inputs, ... }: { - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ]; - - features = { - cli = { - docker.enable = true; - }; - }; - - wsl = { - enable = true; - defaultUser = username; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nix = { diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix new file mode 100644 index 00000000..1646bc4e --- /dev/null +++ b/nix/hosts/PW05CH3L/default.nix @@ -0,0 +1,21 @@ +{ username, ... }: + +{ + imports = [ + ../common + ../../users/opdavies + + ./configuration.nix + ]; + + features = { + cli = { + docker.enable = true; + }; + }; + + wsl = { + enable = true; + defaultUser = username; + }; +} diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index f7a437d7..478bc2b5 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -15,8 +15,6 @@ ./hardware-configuration.nix - ../common - ../../users/opdavies ../../users/eric ../../users/luke ]; diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix new file mode 100644 index 00000000..57b6c7cb --- /dev/null +++ b/nix/hosts/lemp11/default.nix @@ -0,0 +1,32 @@ +{ ... }: + +{ + features = { + cli = { + docker.enable = true; + }; + + desktop = { + autorandr.enable = true; + gaming.enable = true; + peek.enable = true; + }; + + homelab = { + forgejo.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + }; + }; + + imports = [ + ../common + ../../users/opdavies + + ./configuration.nix + ]; +} diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index ec4c07e9..635a22f3 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -6,35 +6,11 @@ { imports = [ - ../common - ../../users/opdavies - ./hardware-configuration.nix - ./secrets.nix ./modules/acme.nix ]; - features = { - cli = { - docker.enable = true; - }; - - homelab = { - audiobookshelf.enable = true; - beaverhabits.enable = true; - forgejo.enable = true; - freshrss.enable = true; - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; - }; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot.loader = { @@ -58,12 +34,4 @@ ]; services.caddy.enable = true; - - programs.dconf.enable = true; - - services.logind.lidSwitchExternalPower = "ignore"; - - age.identityPaths = [ - "/home/opdavies/.ssh/id_rsa" - ]; } diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix new file mode 100644 index 00000000..5a6d0ade --- /dev/null +++ b/nix/hosts/nixedo/default.nix @@ -0,0 +1,30 @@ +{ + features = { + cli = { + docker.enable = true; + }; + + homelab = { + audiobookshelf.enable = true; + beaverhabits.enable = true; + forgejo.enable = true; + freshrss.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + vaultwarden.enable = true; + }; + }; + + imports = [ + ../common + ../../users/opdavies + + ./configuration.nix + ./secrets.nix + ./extra.nix + ]; +} diff --git a/nix/hosts/nixedo/extra.nix b/nix/hosts/nixedo/extra.nix new file mode 100644 index 00000000..02188827 --- /dev/null +++ b/nix/hosts/nixedo/extra.nix @@ -0,0 +1,9 @@ +{ + programs.dconf.enable = true; + + services.logind.lidSwitchExternalPower = "ignore"; + + age.identityPaths = [ + "/home/opdavies/.ssh/id_rsa" + ]; +} diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index aca34966..399816b7 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -8,21 +8,8 @@ { imports = [ ./hardware-configuration.nix - - ../common - ../../users/opdavies - ]; - features = { - desktop = { - autorandr.enable = true; - gaming.enable = true; - i3.enable = true; - peek.enable = true; - }; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot = { diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix new file mode 100644 index 00000000..2d76c26e --- /dev/null +++ b/nix/hosts/t490/default.nix @@ -0,0 +1,17 @@ +{ + imports = [ + ../common + ../../users/opdavies + + ./configuration.nix + ]; + + features = { + desktop = { + autorandr.enable = true; + gaming.enable = true; + i3.enable = true; + peek.enable = true; + }; + }; +} From 8dd338d8d5640f9a487fe2e5a3224892a6e2aa93 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 13:56:55 +0000 Subject: [PATCH 1289/2258] Split t490 configuration --- nix/hosts/t490/configuration.nix | 107 +----------------- nix/hosts/t490/default.nix | 4 + nix/hosts/t490/hardware.nix | 7 ++ nix/hosts/t490/programs.nix | 22 ++++ nix/hosts/t490/services/default.nix | 35 ++++++ .../t490/services/interception-tools.nix | 25 ++++ nix/hosts/t490/services/sound.nix | 12 ++ nix/hosts/t490/services/udev.nix | 9 ++ nix/hosts/t490/services/xserver.nix | 10 ++ nix/hosts/t490/users.nix | 14 +++ 10 files changed, 140 insertions(+), 105 deletions(-) create mode 100644 nix/hosts/t490/hardware.nix create mode 100644 nix/hosts/t490/programs.nix create mode 100644 nix/hosts/t490/services/default.nix create mode 100644 nix/hosts/t490/services/interception-tools.nix create mode 100644 nix/hosts/t490/services/sound.nix create mode 100644 nix/hosts/t490/services/udev.nix create mode 100644 nix/hosts/t490/services/xserver.nix create mode 100644 nix/hosts/t490/users.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 399816b7..069fd657 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -25,62 +25,17 @@ }; }; - services.throttled.enable = true; - services.thermald.enable = true; - services.power-profiles-daemon.enable = false; - systemd.extraConfig = '' DefaultTimeoutStopSec=10s ''; networking.networkmanager.enable = true; - services.xserver = { - enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - }; - - services.avahi.enable = true; - services.avahi.nssmdns4 = true; - services.avahi.openFirewall = true; - - services.printing.enable = true; - - hardware.pulseaudio.enable = false; - - hardware.bluetooth.enable = true; - security = { polkit.enable = true; rtkit.enable = true; }; - services.pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - - users.users.${username} = { - extraGroups = [ "media" ]; - - packages = with pkgs; [ - android-tools - via - ]; - }; - - users.groups.media = { }; - environment.systemPackages = with pkgs; [ gtypist rclone @@ -90,10 +45,6 @@ ytfzf ]; - services.openssh.enable = true; - - programs.dconf.enable = true; - zramSwap.enable = true; nix = { @@ -107,67 +58,13 @@ settings = { auto-optimise-store = true; + experimental-features = [ "nix-command" "flakes" ]; + warn-dirty = false; }; }; - - # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = - let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in - { - enable = true; - plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; - - services.gvfs.enable = true; - - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; - - programs.firefox = { - enable = true; - languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - - services.blueman.enable = true; - - services.cron = { - enable = true; - - systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; - }; - - services.auto-cpufreq.enable = true; - - services.udev = { - enable = true; - extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" - ''; - }; } diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix index 2d76c26e..7b497fe1 100644 --- a/nix/hosts/t490/default.nix +++ b/nix/hosts/t490/default.nix @@ -4,6 +4,10 @@ ../../users/opdavies ./configuration.nix + ./hardware.nix + ./programs.nix + ./services + ./users.nix ]; features = { diff --git a/nix/hosts/t490/hardware.nix b/nix/hosts/t490/hardware.nix new file mode 100644 index 00000000..54785de3 --- /dev/null +++ b/nix/hosts/t490/hardware.nix @@ -0,0 +1,7 @@ +{ + hardware = { + bluetooth.enable = true; + + pulseaudio.enable = false; + }; +} diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix new file mode 100644 index 00000000..83fd67ad --- /dev/null +++ b/nix/hosts/t490/programs.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: + +{ + programs.dconf.enable = true; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; + + programs.firefox = { + enable = true; + + languagePacks = [ "en-GB" ]; + + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; +} diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix new file mode 100644 index 00000000..4b00029a --- /dev/null +++ b/nix/hosts/t490/services/default.nix @@ -0,0 +1,35 @@ +{ username, ... }: + +{ + imports = [ + ./interception-tools.nix + ./sound.nix + ./xserver.nix + ./udev.nix + ]; + + services = { + auto-cpufreq.enable = true; + + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + blueman.enable = true; + + cron = { + enable = true; + + systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; + }; + + gvfs.enable = true; + openssh.enable = true; + power-profiles-daemon.enable = false; + printing.enable = true; + throttled.enable = true; + thermald.enable = true; + }; +} diff --git a/nix/hosts/t490/services/interception-tools.nix b/nix/hosts/t490/services/interception-tools.nix new file mode 100644 index 00000000..96e43b85 --- /dev/null +++ b/nix/hosts/t490/services/interception-tools.nix @@ -0,0 +1,25 @@ +{ pkgs, ... }: + +{ + # Make Caps lock work as an Escape key on press and Ctrl on hold. + services.interception-tools = + let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in + { + enable = true; + plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; +} diff --git a/nix/hosts/t490/services/sound.nix b/nix/hosts/t490/services/sound.nix new file mode 100644 index 00000000..03ff2376 --- /dev/null +++ b/nix/hosts/t490/services/sound.nix @@ -0,0 +1,12 @@ +{ + services.pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; +} diff --git a/nix/hosts/t490/services/udev.nix b/nix/hosts/t490/services/udev.nix new file mode 100644 index 00000000..732ca1d6 --- /dev/null +++ b/nix/hosts/t490/services/udev.nix @@ -0,0 +1,9 @@ +{ + services.udev = { + enable = true; + + extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; + }; +} diff --git a/nix/hosts/t490/services/xserver.nix b/nix/hosts/t490/services/xserver.nix new file mode 100644 index 00000000..4120a2cf --- /dev/null +++ b/nix/hosts/t490/services/xserver.nix @@ -0,0 +1,10 @@ +{ + services.xserver = { + enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + }; +} diff --git a/nix/hosts/t490/users.nix b/nix/hosts/t490/users.nix new file mode 100644 index 00000000..1d87bb8d --- /dev/null +++ b/nix/hosts/t490/users.nix @@ -0,0 +1,14 @@ +{ pkgs, username, ... }: + +{ + users.users.${username} = { + extraGroups = [ "media" ]; + + packages = with pkgs; [ + android-tools + via + ]; + }; + + users.groups.media = { }; +} From 2a331f5af187e7b38edf6f89febd8ee756cd064d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 14:00:48 +0000 Subject: [PATCH 1290/2258] Re-organise hetznix configuration --- nix/hosts/hetznix/configuration.nix | 7 ++----- nix/hosts/hetznix/{modules => security}/acme.nix | 0 nix/hosts/hetznix/security/default.nix | 3 +++ .../hetznix/{modules => services}/caddy/default.nix | 0 .../caddy/vhosts/2020.oliverdavies.uk.nix | 0 .../vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix | 0 ...florida-drupalcamp-tailwind-css.oliverdavies.uk.nix | 0 .../caddy/vhosts/luke.oliverdavies.uk.nix | 0 .../vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix | 0 .../caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix | 0 .../caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix | 0 .../vhosts/rebuilding-bristol-js.oliverdavies.uk.nix | 0 .../vhosts/rebuilding-symfony.oliverdavies.uk.nix | 0 .../caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix | 0 .../talking-drupal-tailwindcss.oliverdavies.uk.nix | 0 .../caddy/vhosts/wp-tailwind.oliverdavies.uk.nix | 0 .../caddy/vhosts/www.oliverdavies.uk.nix | 0 .../caddy/vhosts/zet.oliverdavies.uk.nix | 0 nix/hosts/hetznix/services/default.nix | 10 ++++++++++ 19 files changed, 15 insertions(+), 5 deletions(-) rename nix/hosts/hetznix/{modules => security}/acme.nix (100%) create mode 100644 nix/hosts/hetznix/security/default.nix rename nix/hosts/hetznix/{modules => services}/caddy/default.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/2020.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/luke.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/www.oliverdavies.uk.nix (100%) rename nix/hosts/hetznix/{modules => services}/caddy/vhosts/zet.oliverdavies.uk.nix (100%) create mode 100644 nix/hosts/hetznix/services/default.nix diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 7a934f64..739135e3 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -13,9 +13,8 @@ ./disks.nix ./hardware-configuration.nix ./secrets.nix - - ./modules/acme.nix - ./modules/caddy + ./security + ./services ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; @@ -30,8 +29,6 @@ efiInstallAsRemovable = true; }; - services.openssh.enable = true; - environment.systemPackages = map lib.lowPrio [ pkgs.curl pkgs.gitMinimal diff --git a/nix/hosts/hetznix/modules/acme.nix b/nix/hosts/hetznix/security/acme.nix similarity index 100% rename from nix/hosts/hetznix/modules/acme.nix rename to nix/hosts/hetznix/security/acme.nix diff --git a/nix/hosts/hetznix/security/default.nix b/nix/hosts/hetznix/security/default.nix new file mode 100644 index 00000000..e8ee8aa6 --- /dev/null +++ b/nix/hosts/hetznix/security/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./acme.nix ]; +} diff --git a/nix/hosts/hetznix/modules/caddy/default.nix b/nix/hosts/hetznix/services/caddy/default.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/default.nix rename to nix/hosts/hetznix/services/caddy/default.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/2020.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/2020.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/2020.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/2020.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/luke.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/luke.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/www.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/modules/caddy/vhosts/zet.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/modules/caddy/vhosts/zet.oliverdavies.uk.nix rename to nix/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/default.nix b/nix/hosts/hetznix/services/default.nix new file mode 100644 index 00000000..11aa65a0 --- /dev/null +++ b/nix/hosts/hetznix/services/default.nix @@ -0,0 +1,10 @@ +{ + imports = [ + ./acme.nix + ./caddy + ]; + + services = { + openssh.enable = true; + }; +} From 8d508dad81865aa8d2b329c366b11f2448d20e8b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 14:26:58 +0000 Subject: [PATCH 1291/2258] Update Cloudflare API key --- nix/secrets/cloudflare.age | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index c495a7ea..d13366d4 100644 --- a/nix/secrets/cloudflare.age +++ b/nix/secrets/cloudflare.age @@ -1,21 +1,20 @@ age-encryption.org/v1 --> ssh-ed25519 nmofLg I5Y+KEbdJcGY8Q26s1Xa2PCR5ffUTJl4/n7oZS+68yE -hZtVHbOXzMLiVseH4YMw2wZHGfvrG+9107yZuLJRFEY --> ssh-ed25519 IsVD3g hGrPIaND9hmHv2ak3tAGsA3yLZnDMU5DJgMHZ/2A7Cg -afa9Nf3HW3WQO69G1POKymfMznEWEHe/Od17MnfoxYI --> ssh-ed25519 IsVD3g 5cvbO8V3OAJtnv6eTHNViE93HHoDZOb+mIGdg8AIGW0 -HiovjQ9J1NgVZDivlWBVZ0TF9nd7IojGClEVke8Gzfo +-> ssh-ed25519 nmofLg X3PF+8zBQJgqyt8PckMdeThC89nOXHlCuVdZ8SJzDi8 +bi7GBOC2TyAtFCYW6RjtZnMeb04Eld0TNcS8yPY2eLU +-> ssh-ed25519 IsVD3g 248O8+OBY5b0Y5r23rWZf+MQZH+Mcz3+dbiXxiu96S8 +r7gDLWAn0vfk/FYxyXOhd1sQSz48PnW2MNY1gwjAMZg -> ssh-rsa +vTWQw -GMPoG8YRoox1HL3RfzeBYsmbITY5vLdi73sk8Ngqt3OEbz84qCZD/G+cD+omXhh9 -mwqeiYP4gLkiOt11kgjLIIOi1zwUQ2kY7dqv7+5TQZfZETqBeynj97qk1QVgd5DF -A09LBRJ/pADqe6YVT1o87kxHD4pexIIKJjQJ1IBTSp8M6DLAuNTwUBRroM+bPn91 -T86eY/5kIWQkjFbMHffVW+KAfI8DhFYSSZvgbcMaXG6WF/aBzJnHg5bzN488TujR -n6dXbvtvapWjIC0+qStqjI0oeTpxQ60m5vD4tZLM+tJ7G/92oucaoKeTfVoB1RqL -RFiGbH5I3U22soWY5p2V0r7FdY6TWIHxWFcCVM+eNYWc6c21s/22HuRkrXAcJke5 -G6Ho5Q4/4R11vt8Yz+mcLt4WitdX5538Mp5wqUxytJvKx9Eaks+e3OcwuZhKWhHS -IWja+VKK9us3FN+e/92TOI5TKonpbFtEVEuzAkT6X5NC3VkOv7HKG7CyHrOiVoCH -e8W0U2WkPX5mkZIpW8nrXU3xCIGd5IAMIRNVW6cUe4Ppp/vK7O0ZAlLO3/psZPCw -QnlcCEkvUErE78fKFc8/gk5vYgu9Gq+mpk909gJw0LI42Txp06eYrvRAxBk6Z3KQ -63yjo6k5P6QIe/62dhEJowiNweVAHTulCacYIiYAPNE ---- GByQENoR57GAuiuHAQk9eZu6vO+7RAbsaU4FgjrJD8s -YnM+ QZU5ل]-ѧw:}LcPU2&B7f)V>wu_jfo'Ϩ;6Ap+ё>q~US;$P@ȭRy'8@5z<?$9 \ No newline at end of file +pqQzjCL1Nh31rkMtmN767I5V/7arkR2enx6Zt2IG8Wp+h7wkiziZjGWxIebqOulF +nmnxolpqtv1+OQiMnDfmXMQsMaLwuIbk+EoMuIEmFQrFRKvYrZL/uNJv3WKRYfif +x2fgJwfv1+lmj0vij6wo5QuWV7QmNSXd0kU7s69whxysgz+PzUnMnQXAee7kek3P +5TsOMWd3/zqIE1VWtroJjtaWYZRN0zaTU1DWeQN33u0TFVXakFwzvAT0u8YCa//C +VzfGTCj3SCXrmVU1h0RcXUsxr0Z+BNb3NYcsDUKK9hFA+DETugwll63FmU1Et9tR +LEysFpTKvkpjg8OHWlqA8ax1Lkv5B1QCFua1CPixk7G/XSQKGq45n8VNtxeBOhzp +BdQwxMu2LuNwYxHB9zSuTXnUA16WukTpPLmC21akGaQj6QDLr+KSCOOjR94QG07l +n3PuDVbjWOcpegmdfvKtBaLol4bL8dHIcGJqa30OW4RdHSKR+7dfg0rZt2BpAN3p +F3cC0Gy73DIYYGdEsg9iXjqIMDVHe051VfbsjETiMuQOOxDc1onrWRhAKV3BVhge +FGNU9oJ+xLkDtMH50ksngVvZw/zu7NwP45wzeGQOOmlKI3RGUX81xrt0QXGpI6dH +OBOMVA3kMEVnNf2mWaFpJnmAvkiSnPvlN3+Iaigc758 +--- PFEOB74ICKKmUBSAbcK+91U7KC8wjhKsibwzbn+7owk +z-b!ޡ+%JZcrl +t-$Ie5ÌW|O&A*L03Т"y(v |3f \ No newline at end of file From 1156a9af04a5972da6a03943466fe220497d1ddf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 16:26:35 +0000 Subject: [PATCH 1292/2258] Only install browsers on non-headless systems --- nix/users/opdavies/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index 45dba1ff..68c83302 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -11,9 +11,12 @@ "wheel" ]; - packages = with pkgs; [ - brave - chromium - ]; + packages = + with pkgs; + [ ] + ++ pkgs.lib.optionals (!headless) [ + brave + firefox + ]; }; } From d50f92ca1b93a884766507abc2b80a4774ec4bac Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 5 Jan 2025 15:18:56 +0000 Subject: [PATCH 1293/2258] Move forgejo to hetznix --- nix/hosts/hetznix/configuration.nix | 10 ++++- nix/hosts/hetznix/security/acme.nix | 1 + nix/hosts/hetznix/services/default.nix | 7 +--- nix/hosts/hetznix/services/forgejo.nix | 28 ++++++++++++++ nix/hosts/hetznix/services/openssl.nix | 10 +++++ nix/hosts/lemp11/default.nix | 1 - nix/hosts/nixedo/extra.nix | 4 -- .../nixos/features/homelab/default.nix | 1 - .../nixos/features/homelab/forgejo.nix | 34 ----------------- nix/secrets/cloudflare-opdavies-uk.age | 33 +++++++++-------- nix/secrets/cloudflare.age | 37 ++++++++++--------- nix/secrets/secrets.nix | 4 +- nix/secrets/tubearchivist.age | 34 ++++++++--------- nix/users/opdavies/default.nix | 15 +++++++- 14 files changed, 120 insertions(+), 99 deletions(-) create mode 100644 nix/hosts/hetznix/services/forgejo.nix create mode 100644 nix/hosts/hetznix/services/openssl.nix delete mode 100644 nix/modules/nixos/features/homelab/forgejo.nix diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 739135e3..b19b11c7 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -15,9 +15,17 @@ ./secrets.nix ./security ./services + + ../../users/opdavies ]; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; + nix = { + extraOptions = '' + trusted-users = root opdavies + ''; + + nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; + }; networking.firewall.allowedTCPPorts = [ 80 diff --git a/nix/hosts/hetznix/security/acme.nix b/nix/hosts/hetznix/security/acme.nix index efabb9a1..b2616232 100644 --- a/nix/hosts/hetznix/security/acme.nix +++ b/nix/hosts/hetznix/security/acme.nix @@ -18,6 +18,7 @@ # TODO Refactor to use a wildcard certificate. "2020.oliverdavies.uk" "bootstrap-with-tailwind.oliverdavies.uk" + "code.oliverdavies.uk" "florida-drupalcamp-tailwind-css.oliverdavies.uk" "luke.oliverdavies.uk" "phpsw-sculpin-demo.oliverdavies.uk" diff --git a/nix/hosts/hetznix/services/default.nix b/nix/hosts/hetznix/services/default.nix index 11aa65a0..a3c9baff 100644 --- a/nix/hosts/hetznix/services/default.nix +++ b/nix/hosts/hetznix/services/default.nix @@ -1,10 +1,7 @@ { imports = [ - ./acme.nix ./caddy + ./forgejo.nix + ./openssl.nix ]; - - services = { - openssh.enable = true; - }; } diff --git a/nix/hosts/hetznix/services/forgejo.nix b/nix/hosts/hetznix/services/forgejo.nix new file mode 100644 index 00000000..ea54c4bb --- /dev/null +++ b/nix/hosts/hetznix/services/forgejo.nix @@ -0,0 +1,28 @@ +{ config, ... }: + +{ + services = { + forgejo = { + enable = true; + + settings = { + server = { + DOMAIN = "code.oliverdavies.uk"; + HTTP_PORT = 2223; + }; + + service = { + DISABLE_REGISTRATION = true; + }; + }; + }; + + caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; + }; + + openssh.settings.AllowUsers = [ "forgejo" ]; + }; +} diff --git a/nix/hosts/hetznix/services/openssl.nix b/nix/hosts/hetznix/services/openssl.nix new file mode 100644 index 00000000..53e4fded --- /dev/null +++ b/nix/hosts/hetznix/services/openssl.nix @@ -0,0 +1,10 @@ +{ + services.openssh = { + enable = true; + + settings = { + AllowUsers = [ "opdavies" ]; + PermitRootLogin = "no"; + }; + }; +} diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index 57b6c7cb..83a8cb0a 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -13,7 +13,6 @@ }; homelab = { - forgejo.enable = true; gitea.enable = true; immich.enable = true; jellyfin.enable = true; diff --git a/nix/hosts/nixedo/extra.nix b/nix/hosts/nixedo/extra.nix index 02188827..b4e52420 100644 --- a/nix/hosts/nixedo/extra.nix +++ b/nix/hosts/nixedo/extra.nix @@ -2,8 +2,4 @@ programs.dconf.enable = true; services.logind.lidSwitchExternalPower = "ignore"; - - age.identityPaths = [ - "/home/opdavies/.ssh/id_rsa" - ]; } diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index 897465c5..c7da8eb2 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -2,7 +2,6 @@ imports = [ ./audiobookshelf.nix ./beaverhabits.nix - ./forgejo.nix ./freshrss.nix ./gitea.nix ./immich.nix diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix deleted file mode 100644 index 509c34c9..00000000 --- a/nix/modules/nixos/features/homelab/forgejo.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo"; - - config = mkIf config.features.homelab.forgejo.enable { - services = { - forgejo = { - enable = true; - group = "media"; - stateDir = "/mnt/media/forgejo"; - - settings = { - server = { - DOMAIN = "forgejo.opdavies.uk"; - HTTP_PORT = 2223; - }; - - service = { - DISABLE_REGISTRATION = true; - }; - }; - }; - - caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { - useACMEHost = "opdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; - }; - }; - }; -} diff --git a/nix/secrets/cloudflare-opdavies-uk.age b/nix/secrets/cloudflare-opdavies-uk.age index 835ebf71..bdf25619 100644 --- a/nix/secrets/cloudflare-opdavies-uk.age +++ b/nix/secrets/cloudflare-opdavies-uk.age @@ -1,18 +1,19 @@ age-encryption.org/v1 --> ssh-ed25519 IsVD3g kacSrvgn/CGIwU05AkK6UGhxVm5oO/FRK2jgH1qHVg0 -JXzp1+Al5O8sBw3a4td7RA3HVP6C9tIdvvgZFZ9Se5w +-> ssh-ed25519 IsVD3g ZdGzOgZfbKkfBzwZRUvUm9HMBpJIJZhtcaxGSYOiXCM +99CJFSIYTpHX86rx2msqZudPCUBoW1hP9+uySFIuTfg -> ssh-rsa +vTWQw -ndPfUjqCzN5uqcrRvb/OGKmBouyM6qwf5ZmnfMg49NXcxt7bwCK0v7iPtOOOgDI2 -34Oi1EGgjkJ/YY+nxKuHZtRlq+wySbqeLVXUmb52reW4sj4PHEZOsFIO8Dnxmx9P -9AtISLIrdJd3V39v4+pXOo9tBvBcTAs7JKqDGFcfp7gcVH0vLga0l3jLUspZiNB9 -DXW6Gbttg8Z6El9J1fAqVXcDE3q7pPZE//zu/cIRyt4/kbK76bx7yEaKAy2GycZS -SCjjxsRtkBHOKQEQnFdKfWD/AG1USNmoiv4zHx1G9pIVJJA47yNWLwsx8Q7VrfNS -CXpxQt+ElOH5pRTpXMAx1/rHs/NpXMMUm0EVvWKTNbrbHvepTUvEYABo+DKicRVI -3H6RYWedXZ9ggpfID66CbF4HFtVJTXwHhvdzGfdna8J1Dy7nJyevT/fCz8tqlVIa -EFEFqUardSWj0zFL3PQgk2qmrC9W1+isp83Rioi/n/ow8O0Q+XlzO3rQjNYWtEgp -jufzw+3YI9HuNLPXB0xBfSgwP8Ao6iYskE+8IL+xu4ITCec/ItpoYk1Yeb38G2HQ -6JlIseQIgpOzw8DlMMWtWjO4U+9JAZh5XOlEgwFPFL25m//24UM7RB3/Yd1/it8i -cNaHR1L2/P8k5FnbR2jhxcTb2tEzlFo422brC0r/Ilc ---- MqcbFcs1myK1Dn1h/PQKZ59BdgYXIifkp0DkvoNQaL4 -W෹y -j`$En_<%s`#d,xMGdf:*`zRX>KJ0BDj<ţ=% \ No newline at end of file +KJKWXbY/qa2pZ9Xb6v4ca41rVY0nm6b/+pgcoKU6dbkRiHR3KLFw+E8CZT1dHkXY +3Az85roddG6O0nb39TQcteVqd0fKwQxmvFcpUsEaStDQiHtHc9r1A0mbUgmEcleP +dRo9U+jWuSnSFhnlNmul58/T5C92edlLvbGBo28BKIG2Jg4bdonDX4FUGmyfnUof +EicxZ2UxlEq6NdOm4FdV7df7GOMjyCSfRZ0XaZ4sPU/aa7iV6Nm6pIXgKZZtviNf +9ef/a5z6HgsQpHZ2Df7GE38I6qLKhG7Aau2gAiE+d4amg+djKmm2++WKvWN2Y5YF +PtxFvLhpc4vjzBOhwiKYjd3BcFCuJZQ2+SsLyNxhdb4J/v1MNAxNFKLdLX+/cvpk +pnITQShIRDZAd2GEBdOk+4PCCoEnBW6Y0IJGLv5NLYyLTSL0pKLIiTN0GKnWAv7B +1n+yHFRekC0G7AaHMB/JIemFwoTLq9Wm/mFTPol9UJTfAgem6F7895IpFkZAe3Lv ++0QHOgBQpNwVTtqZWi8cTgul+b9FLKd/99pSk72b7hIFF36AoyS5KeJfoUfXLONc +gZa1wra+VIaqV5gMihfb5Ll49QYRhlGn7x3KUkyuxlw6JWby6r6sAYRWprh0JGRb +LmFQzI4KiokzD8fq2wCUcr8T90EeAqkTUp6D3b0azoQ +--- lTlcpuKW/KS2v/85o9veQsuWTVRGl+ucx511oqQF8uY +[(Ŝ:`eo,'P0 +Z7k +D^|mP rWvF*v;ydXiNbTε \ No newline at end of file diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index d13366d4..dc666f54 100644 --- a/nix/secrets/cloudflare.age +++ b/nix/secrets/cloudflare.age @@ -1,20 +1,21 @@ age-encryption.org/v1 --> ssh-ed25519 nmofLg X3PF+8zBQJgqyt8PckMdeThC89nOXHlCuVdZ8SJzDi8 -bi7GBOC2TyAtFCYW6RjtZnMeb04Eld0TNcS8yPY2eLU --> ssh-ed25519 IsVD3g 248O8+OBY5b0Y5r23rWZf+MQZH+Mcz3+dbiXxiu96S8 -r7gDLWAn0vfk/FYxyXOhd1sQSz48PnW2MNY1gwjAMZg +-> ssh-ed25519 M7i4ow DupawEkDJ8n4DcTLZyW6O13ow5OGZ0TGR074SLo49A8 +Q+DnroHs3Yl1/El80FH4VMXgophJGaJ9/HhubisZtkE +-> ssh-ed25519 IsVD3g 9yROmUaS4kVmTJUv39qdDvpYxsyegYOHdWwGreWG3XY +xe4D/5aP6zdQMEuQEMin3sqJHhJt/hXSbAIuqDEvDfY -> ssh-rsa +vTWQw -pqQzjCL1Nh31rkMtmN767I5V/7arkR2enx6Zt2IG8Wp+h7wkiziZjGWxIebqOulF -nmnxolpqtv1+OQiMnDfmXMQsMaLwuIbk+EoMuIEmFQrFRKvYrZL/uNJv3WKRYfif -x2fgJwfv1+lmj0vij6wo5QuWV7QmNSXd0kU7s69whxysgz+PzUnMnQXAee7kek3P -5TsOMWd3/zqIE1VWtroJjtaWYZRN0zaTU1DWeQN33u0TFVXakFwzvAT0u8YCa//C -VzfGTCj3SCXrmVU1h0RcXUsxr0Z+BNb3NYcsDUKK9hFA+DETugwll63FmU1Et9tR -LEysFpTKvkpjg8OHWlqA8ax1Lkv5B1QCFua1CPixk7G/XSQKGq45n8VNtxeBOhzp -BdQwxMu2LuNwYxHB9zSuTXnUA16WukTpPLmC21akGaQj6QDLr+KSCOOjR94QG07l -n3PuDVbjWOcpegmdfvKtBaLol4bL8dHIcGJqa30OW4RdHSKR+7dfg0rZt2BpAN3p -F3cC0Gy73DIYYGdEsg9iXjqIMDVHe051VfbsjETiMuQOOxDc1onrWRhAKV3BVhge -FGNU9oJ+xLkDtMH50ksngVvZw/zu7NwP45wzeGQOOmlKI3RGUX81xrt0QXGpI6dH -OBOMVA3kMEVnNf2mWaFpJnmAvkiSnPvlN3+Iaigc758 ---- PFEOB74ICKKmUBSAbcK+91U7KC8wjhKsibwzbn+7owk -z-b!ޡ+%JZcrl -t-$Ie5ÌW|O&A*L03Т"y(v |3f \ No newline at end of file +ZlK8ThN/NUf9o2/yshAM3we/MTp0S02RprfjmXE5sXpLwQp/V9VFtoDfYpi++Caq +l84x0r1/QofJRfaRuWdtVEh9SPrAYqXRnz3BqGHmdu0ds5YxvkXr51nWly9RzNrH +JWVMLnuNMq509Xp+GLDxCTqPhM6qMa6t7gWkfv67FxTmw4+RT6BOBSnF2BUN8jnB +wOWS1T5l/n+Y/YSG8TGuUG1ftDm/60wEtbCQmwV3nmEtHDkZVYLH289GFhf4jiym +kpmUxJMK87s/Kj5w3w2IfDOJwSJ6G6UmoQIcZBXdszLTUjRZFzioqGDvs4h5hu6P +XbvpTN8ajXH4gg8rzB/Jczl9K8L2ojQNH/qTKdnyUP5RP8njEsHSEFzCwtjupi8R ++BJla2EcrDx5vuulE1nbHy9cFrtwdLDhp+DlU9DcKyUUZ5Zv96ao+5Jf1yRAcm86 +OubYiu3eakds3AssCYXW+pNoxa76P8ez9bcjVJrgaMFjiElXxMq8qUyDMqAc+UBF +Sk2/Bw7oD2OTVQINdWM+BwqNaDH1aGs/Y+ua0x+ahkuYf/6L9PHyWe85sBCekhSI +D0Qx/RTMlOSDPbN9PoJFO39STIfA6Eo/k4y8UoVk1A6yYeT9c6/0YXTyjNaSazGV +5Alc7y4ovF1+vVoIrHo5toTj9HWfolTQEKlj3GhnsFU +-> ssh-ed25519 DCAArw YSWPa5Kp+3Xgtdd+CAjkmFKZGNijCeqdfmn3Pya50VY +kF8ko6J5D1WRJfbtcei7xrQbLhpiHvcwi7JUWI65x6s +--- JJYs6WWGpPxT0s1tEFA/5vZswQiF59V5BHejKwrxJps +`a1+ʎZ2_frZYm,̽BOj#=[-?zSr/ 1bY6GK~Zu-7@Gtbg J \ No newline at end of file diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 0bfbf804..38b175b5 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -1,6 +1,6 @@ let hosts = { - hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMk8n03VeShc0q4ztcaNrmScwM7u0j6fFVtmupy2RlM2"; + hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN/Lylteb1le173In/X94jls+CXFg9RGCyJPBOL90zDD"; lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; @@ -8,6 +8,7 @@ let users = { opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + opdavies-hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJStz4WQ5IerIyi8HqLB1gwoiKr87uH/bI+Q9sDxVu+a"; }; in { @@ -15,6 +16,7 @@ in hosts.hetznix hosts.t490 users.opdavies + users.opdavies-hetznix ]; "cloudflare-opdavies-uk.age".publicKeys = [ diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index 3687be7e..3825f5d8 100644 --- a/nix/secrets/tubearchivist.age +++ b/nix/secrets/tubearchivist.age @@ -1,19 +1,19 @@ age-encryption.org/v1 --> ssh-ed25519 sHhprA 51laRPX9Ekpa1X63TQKvlZSFTBOLwC8s2aDzvD2OmlE -Xs7z0c2uQxHJFgmDsczy8zpRl9wnacmBMr81xxJ4D0c --> ssh-ed25519 IsVD3g BWtBEJcfYhG00l3QLLW4xN9v57FwOSxjvdU2eZJ2tmE -TzEo/OkjGQgWDInAj6zEYbPwMGxOX7bdkG/Z+qsbe2E +-> ssh-ed25519 sHhprA Nsfwkbjh1xMbkfvYoJQ2eX4Os7eW/ync1TVDSRUtTwE +DIYEChpd5XLo7+8Bp8b4KKR6WjRkBOCFKvYs9HMaDXY +-> ssh-ed25519 IsVD3g I+0C0X1Yjw7CFIko83N0AUB5uxcc2xAw4MMuifQiEgw +rBx/qs+c7l74ehORmS/eXO1X62AaW7Q4V6pVNTK92Mg -> ssh-rsa +vTWQw -pi7x6nnLM4UgQAmY2y+EhQJK+W6nwL0atKIhSTt257lWeXy+AloOeTKlhbrGxagi -KTEO807hRMaKfxINUX4l9ui+8beXBfszgmGAISm8QSj3h3HKg48/hUrLJbsf+LvF -HbN+5rAuGk4Of7ogotbTK+kC7dD2sv66lIX22RdiuaYv+hjfV/NWrgDLbmBtJxjL -04uzxXC9bCyhZuVr7MduXMgOK7YkvDOd2yDqawq7u4K/H8Sf6EmFwT7eY0AlkKXO -3rBu/59Hu4I4gY3uqeqQyfdwQTpy12Ke6Aqs3vMEs1FTlf6Tpp/5aVFFckcl/F4M -dUTQurBudb4ECnYDGnaCFFb7nnBiUbe7ZvPfJnJNSOOdWH1v5ugo/KVqCJkB3Nbv -PAOvBo08/kmxl6+gZvNRyEjy1TY+1REYX8W4Rfpo5QjdUvCrBCxuybM7eVYMPVv5 -LWfymQ61wNRV+AQx+/pOC5K/S9xXnPyJCoqqH9OnPLSMLuOizMo+IcZyP67EnP2L -uESGw15697pCVf0oMuNmX2K/KkC+RcVkf6ZWNAECCYSox9Z/aHQCixLWFQoX1XN7 -9lajTEB/XFGCFTNZ/0C6Vj34vvSr9ymZOtLRdAX5IZjpZKmzQroZo1YMxsRRg0C4 -weEc0dVqdYi9bNSr+2QotCs1G2ezTbw7LY911GEMJzY ---- Tjaef+2qN//4+3hnlMoE+ViliwMOFDdN3LB3RO9hQL0 -_VuRa@Ųx.F2KbWA.} |(7gz5tLUҳ'(Ps}z3K?񔫤H<( \ No newline at end of file +g8aLlLKplkGAapAxZVIEmWqAOYBghIIN6TB1p9qGjsIGx9g6wG0qRcMkLL6rqmry +c7MPi9Lk4k65+mijhFL6d1rwwi0o0tHGK913xdCv1OxwjjyqCWAXGAawgtjMDEZz +bj9jj1Kpm+qvWf5KpVtEzkwe/Im4TXfoEhNC4rAGz3pDNy6OBV5Ztlt/icVhzVPy +yFSLkpLOgy2/fBMjesdLFgoeTK2kB3GoMioXNpCpAKHl8J8tiVHr4vFsE+mGJQ6y +bTG0BWacmGuuqXYYWfmJ8TyduMCkWQAqmHEPqMInpCmXYU1QS+vgULeM4Zw5II5j +/XQ1Bms50qlBOYkVitRWEz8R83PFqsIvtAsKf+xkjluJAI1fhlF/+YKLzfDfQRLL +I4RDfLpC6QaCvbYixKHaScfQYq+L389o6m4kHBoqj8diaN26lewADrMULxNhW7Lc +bVnUkU/yA22hMW22vhIlq2JJlIE9kUh/GXWxriM6bLI2hkCeWIH1IkjTELl+8RtL +aDyO+Dg68IzEx6yA6MuUoF7oeL6bgT+p7+huPAyg9ZHuJHEX6j8oi2WxHqzi7g54 +qH+iEw6jiaYabl/XYnrx1EsX4prGuGNvpbivOMPnjU3eIyo//U0pmioPMct9a3e0 +ZUwAjidqvIsrUKD1iibTgUlIIIpehqRfEwxJ+fZ2xCs +--- FjYSFcft/ABIEmVoaPiwxBMzI0TYHAHnsdxUVwbyTSE +z@љ\T$~x3-hتլ<!,o8^tvO3PL+UvwCB6=՜A[g< \ No newline at end of file diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index 68c83302..4806156d 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -1,8 +1,13 @@ -{ pkgs, ... }: +{ + pkgs, + headless, + ... +}: { users.users.opdavies = { description = "Oliver Davies"; + initialPassword = "opdavies"; isNormalUser = true; extraGroups = [ @@ -11,6 +16,10 @@ "wheel" ]; + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" + ]; + packages = with pkgs; [ ] @@ -19,4 +28,8 @@ firefox ]; }; + + age.identityPaths = [ + "/home/opdavies/.ssh/id_ed25519" + ]; } From 7cacaa3e265e83974d65c17a49c64f8bca5f8914 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 06:37:24 +0000 Subject: [PATCH 1294/2258] hetznix: disable forgejo temporarily I need to investigate why I can't push changes to it, as "git push" commands are hanging. I've added forgejo as an authorised SSH user and tried various Forgejo and firewall configurations, but it isn't working. --- nix/hosts/hetznix/services/forgejo.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/services/forgejo.nix b/nix/hosts/hetznix/services/forgejo.nix index ea54c4bb..d7df3b45 100644 --- a/nix/hosts/hetznix/services/forgejo.nix +++ b/nix/hosts/hetznix/services/forgejo.nix @@ -3,7 +3,7 @@ { services = { forgejo = { - enable = true; + enable = false; settings = { server = { From 2a55da9eb8feb9550cfbdbda6b54e83ee9b588f4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 06:43:11 +0000 Subject: [PATCH 1295/2258] Move vhost imports --- nix/hosts/hetznix/services/caddy/default.nix | 17 +---------------- .../hetznix/services/caddy/vhosts/default.nix | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 nix/hosts/hetznix/services/caddy/vhosts/default.nix diff --git a/nix/hosts/hetznix/services/caddy/default.nix b/nix/hosts/hetznix/services/caddy/default.nix index 1428ef3b..8fb54d34 100644 --- a/nix/hosts/hetznix/services/caddy/default.nix +++ b/nix/hosts/hetznix/services/caddy/default.nix @@ -1,20 +1,5 @@ { services.caddy.enable = true; - imports = [ - ./vhosts/2020.oliverdavies.uk.nix - ./vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix - ./vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix - ./vhosts/luke.oliverdavies.uk.nix - ./vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix - ./vhosts/rebuilding-acquia.oliverdavies.uk.nix - ./vhosts/rebuilding-bartik.oliverdavies.uk.nix - ./vhosts/rebuilding-bristol-js.oliverdavies.uk.nix - ./vhosts/rebuilding-symfony.oliverdavies.uk.nix - ./vhosts/tailwindcss-demo.oliverdavies.uk.nix - ./vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix - ./vhosts/wp-tailwind.oliverdavies.uk.nix - ./vhosts/www.oliverdavies.uk.nix - ./vhosts/zet.oliverdavies.uk.nix - ]; + imports = [ ./vhosts ]; } diff --git a/nix/hosts/hetznix/services/caddy/vhosts/default.nix b/nix/hosts/hetznix/services/caddy/vhosts/default.nix new file mode 100644 index 00000000..41e605ec --- /dev/null +++ b/nix/hosts/hetznix/services/caddy/vhosts/default.nix @@ -0,0 +1,18 @@ +{ + imports = [ + ./2020.oliverdavies.uk.nix + ./bootstrap-with-tailwind.oliverdavies.uk.nix + ./florida-drupalcamp-tailwind-css.oliverdavies.uk.nix + ./luke.oliverdavies.uk.nix + ./phpsw-sculpin-demo.oliverdavies.uk.nix + ./rebuilding-acquia.oliverdavies.uk.nix + ./rebuilding-bartik.oliverdavies.uk.nix + ./rebuilding-bristol-js.oliverdavies.uk.nix + ./rebuilding-symfony.oliverdavies.uk.nix + ./tailwindcss-demo.oliverdavies.uk.nix + ./talking-drupal-tailwindcss.oliverdavies.uk.nix + ./wp-tailwind.oliverdavies.uk.nix + ./www.oliverdavies.uk.nix + ./zet.oliverdavies.uk.nix + ]; +} From 93f2b8a34dcef5241895a27c5a66416b84289317 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 08:13:47 +0000 Subject: [PATCH 1296/2258] Change firefox to brave --- nix/modules/nixos/i3.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 19aba388..eb8c0c4c 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -70,7 +70,7 @@ in keybindings = inputs.nixpkgs.lib.mkOptionDefault { "${modifier}+d" = "exec rofi -show drun"; - "${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox"; + "${modifier}+Shift+b" = "exec ${pkgs.brave}/bin/brave"; "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; # Change focus. @@ -91,7 +91,8 @@ in "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; + "XF86AudioMute" = + ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; From 3a0bf7a0570bd82b7e0be70508e058a4f52ebcdd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 08:15:00 +0000 Subject: [PATCH 1297/2258] Re-key secrets --- nix/secrets/cloudflare-opdavies-uk.age | Bin 990 -> 990 bytes nix/secrets/cloudflare.age | 40 +++++++++++++------------ nix/secrets/tubearchivist.age | 35 +++++++++++----------- 3 files changed, 39 insertions(+), 36 deletions(-) diff --git a/nix/secrets/cloudflare-opdavies-uk.age b/nix/secrets/cloudflare-opdavies-uk.age index bdf256192947676f31764dff78d890f2c794f922..be4cd22066a214a3181251e9c1b163b373fd3daf 100644 GIT binary patch delta 960 zcmcb|evf^EPJNJBT6v&xR-Rd!uaAXsYEYDSiL*&cP^o2hTCh=6kY$-;RYgUlYgvU` zIhRS4U#Po*v1?UWR8*3Cu}Qf_fOnF)rM{Dqt3hE#v3XFYSCvy>wvoHD374*&LUD11 zZc%Zff_7O*cwjkKaYU(Kluu=mV`XNhi>tAJaiv*EMSW>nX+Wg0acQNKo4bdTX<2Tv ziAA!pTUJ<vsaZjIhKWf^qJKnTc4cO05m#ohafp#wYFda{Kt`g6e?(bjNtCBchNYjr zS#d~mkU><gxp}E$v9_sqQGtGDa9X5sfu~zyQebwGqf=&Ck{MT)xp6^RMsZX@epI2c zN0?KAQ+;?yPN18cr?<ONda`q=N1~5QkeO$GVy1RbYI>?!uCYn5NnW98q_az*i=(j@ zS8i@Zc428jl(|{DiC=1!SCwn7qeq!zK$?G&i%Fn|Q+~LoS)r>%NV!pINKSs1S4l>0 zdY++4PC-C$fRBlJ6jw%$r$K0{S7e2&i&v3FQN58_nn#j*NO`tnQBs*<X}G76N2W(m zn15oDp{YxLrEf@yVOUmLii@vHfT2r4n12yhSaEq+Sx`w)q<OhvWO$yBUv8d%af+8` zNM)!?c921Fd1`2crLnu2Q=xx)YMx<WplOh=SD;U5PNbnpR)nW3m%F#CL8XgjXm&tO zXnk;GmA+?2a!6LLbAV-<cA<NOc~FUVS$b5NX+ep(QEEk?c7VBKU{;nzj%iY5iEorw zs0mk)eq?$?mQz5He??+pNqAPalcTnipHYdYTS=gqZ((spc5b3sMR{pvdP!-yzf)np ztC?$hq*<oBMP-JIQCbq0wtrxinSOG4e!W>yQfi5Qp@qA%euRrjm3~HGxNCZ{xrL)q zab~H$qf<s?uveO6PIf?Un1`uLv42*Chg)Py5|?p7SV~kyNnT1)iFTQPah02ehf%3_ zrBS(0VOFwfsi%c`c2bVMQL1~SdtP}+ut~Chc8HI^d1<I~Mz~p0N-<ZIg-Lc=L497H zxw(_Kb8ty<fTvTSk9K60iEFN9p<!rnQc9kCcusbCW|k+HuCA^^si&`7fuD(&NuZ%o zPN`XnzHz8|nYU?(dq!wbR=QibuXA36x4BzrvRN^gq}1#EXYSqDQKFp08mOoK;>WM| z4po|7$0d%gE6{ke|E=xyD|VqbI9zirk3V5t`BQm=lDTU4)F*$17y|unP0D@r?7+*( lbz$YbTBn#U*q;0Q<??;|%A@>>k#iRCSN?3t`OCV-4glr=PXGV_ delta 960 zcmcb|evf^EPJL90dzF8BR9cdEcA8UFc~nqnS!k}Mhp$tCm#0@$MoDsFg?n(Me`bWU zFPEjIvzJ@2XJkl$M}&o0QH4=%abZ+xN`P~yQ+~K%Mu4SuX=SjRXK6@UI+w1ULUD11 zZc%Zff_7O*cwjk~x0iQ#L{g-FVWLq%lx0McS(!<4V!erBQCOrwUanb^zIH)+a=v${ zSxQoNP^L$avA2&~xwfl?b5w|7ibr-tB$u&cm4#_heoBhFnZH3^lCfn-U~)-nSYe7m zns<3%MQ)i}azSXZYhrMTOJJr)iAS<!k)fkOZc=D^u4{5mY5-SCP`+iTc2;<4a9*%m zMqZ9zZhdKvsfB)ssk5a~YD$hzS(3X`zLABKx2L<2SGq}3N`9V8go#_Idv0Y~UTA(A zmuqHnMU+u!MUHEsnO};3u8CVpn0ZQ?xx2q_R;6=rT2PchL}HXlaX_ekVxoCwn3-R$ zS%GInx_4AmNm-^}8kc2intq~bm6=C+abST*RK1Z)nz_5Hv4y8up^tZlySZaxsZqLP zrmJ>}Nn&ogc1o6aZmyBGcDQ$0xSvs^X`~xhKuLvLnNLPRvPoH1m6Lx)d8T({R*JDx zvYT_MS5%;pc5tyzrC&uxN|K3}ewm@KpJRoeo3~GjPlUF9a#=w(S3#a<NMLY=XOK&j zV||K|yQ@=*f3~(sfU|SHYo1fMS)_rdm%C4ysh>||rB6t(k3oUAk7s6xpMkq~UbthK zxf7RRo_3{&TTp7YvjND(9==ZcUY@DBZsqwQK82Ryx%#<oAp!Y0mZ4rDX^!csxn^$W z7M7--1#a0<j;Y2zWn9_@fgb+pPJspWe&t~yC52JpnHI?*>7_Z^NtSLt-YNQ)mIcAt z=0-{88J=!##%7NBmBFUosa|RMp=l95{(i|^=~0P><wc3wVV;SFVW#Q6nHgzGran0) zmVuE$89DBG<`u@?q1lzC6*=W*Ug1fVW<_Sjj*&s(1w|PKUhY9jTt2yOfmNRMCf=F( z*;OtUX@y4R&Y{Ug79o}fuBncN*&(3?W-i7_28mVqfn2(}x(YcVImrd3-r@S*!A52J z7N+@@WvPM1rQsoALGC%)rO6ehhKBitfo>M1kz8L^ORPHa`PQ-Mw#if5H2R*rWj#8l z$?8zT+-s>*^Z)3m&+HB`;N+S-zuPj(JbNFPsDO*;xA`;UuGHiPY@Ewm6wZD@vh1zf jJJBgxv%0@eE8AsVnGzu*_Ac{_U&o51kcVH+Z9M=0A^%F< diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index dc666f54..57630889 100644 --- a/nix/secrets/cloudflare.age +++ b/nix/secrets/cloudflare.age @@ -1,21 +1,23 @@ age-encryption.org/v1 --> ssh-ed25519 M7i4ow DupawEkDJ8n4DcTLZyW6O13ow5OGZ0TGR074SLo49A8 -Q+DnroHs3Yl1/El80FH4VMXgophJGaJ9/HhubisZtkE --> ssh-ed25519 IsVD3g 9yROmUaS4kVmTJUv39qdDvpYxsyegYOHdWwGreWG3XY -xe4D/5aP6zdQMEuQEMin3sqJHhJt/hXSbAIuqDEvDfY +-> ssh-ed25519 M7i4ow 7YUG6RkPCjizq+ZjKM+X+Z7EGGExJIU/iV862q7QgFU +FI5Db1p0H0wtKLnvgiPzXBE9dSkGlx1QM7sUn5gX6vI +-> ssh-ed25519 IsVD3g 6eYOo99x7GlRxQK/hFm4xWyoKy/UEDDTL6Q0RwSNZD4 +jgyZGv0FTscKHiKkv8LsNE/VL5t83yTLvRYTzo1Cb38 -> ssh-rsa +vTWQw -ZlK8ThN/NUf9o2/yshAM3we/MTp0S02RprfjmXE5sXpLwQp/V9VFtoDfYpi++Caq -l84x0r1/QofJRfaRuWdtVEh9SPrAYqXRnz3BqGHmdu0ds5YxvkXr51nWly9RzNrH -JWVMLnuNMq509Xp+GLDxCTqPhM6qMa6t7gWkfv67FxTmw4+RT6BOBSnF2BUN8jnB -wOWS1T5l/n+Y/YSG8TGuUG1ftDm/60wEtbCQmwV3nmEtHDkZVYLH289GFhf4jiym -kpmUxJMK87s/Kj5w3w2IfDOJwSJ6G6UmoQIcZBXdszLTUjRZFzioqGDvs4h5hu6P -XbvpTN8ajXH4gg8rzB/Jczl9K8L2ojQNH/qTKdnyUP5RP8njEsHSEFzCwtjupi8R -+BJla2EcrDx5vuulE1nbHy9cFrtwdLDhp+DlU9DcKyUUZ5Zv96ao+5Jf1yRAcm86 -OubYiu3eakds3AssCYXW+pNoxa76P8ez9bcjVJrgaMFjiElXxMq8qUyDMqAc+UBF -Sk2/Bw7oD2OTVQINdWM+BwqNaDH1aGs/Y+ua0x+ahkuYf/6L9PHyWe85sBCekhSI -D0Qx/RTMlOSDPbN9PoJFO39STIfA6Eo/k4y8UoVk1A6yYeT9c6/0YXTyjNaSazGV -5Alc7y4ovF1+vVoIrHo5toTj9HWfolTQEKlj3GhnsFU --> ssh-ed25519 DCAArw YSWPa5Kp+3Xgtdd+CAjkmFKZGNijCeqdfmn3Pya50VY -kF8ko6J5D1WRJfbtcei7xrQbLhpiHvcwi7JUWI65x6s ---- JJYs6WWGpPxT0s1tEFA/5vZswQiF59V5BHejKwrxJps -`a1+ʎZ2_frZYm,̽BOj#=[-?zSr/ 1bY6GK~Zu-7@Gtbg J \ No newline at end of file +BVDNBwHVMavrnKctOFZe5KyNXC6MsFUyLT4jjoLPv438PJiYsyIBmrfj4/8EwibR +gBPewIM+3n+tTlYXwoy5RvwWFi7WStaQw/FPXKNk9VyQa/JALeQphjGxBEJJzlhV +b0HtzcDj6RAf6Tc0PwsywZgAQ5BbiTtb3wf4Nw/ahIoFPnGbMp0xCr9wdT0aDuEu +wcwgflrcQRnJDwymAmd+lGe80/L5Etard7KjXONPKbuCmD6+1FAXyXZi3YT/S97G +frqQj3vCfhHFq6lWU9EIfbituTWBcMXEiyPxkkczNagKMSpEXM9/ak9jsWIBLNSU +IASaJ2aanY1xeKH5Qi0x9IPkUnOaLNeSkIa+xVqqruoSeJADcPucIcYIp0d2s6FM +K9IJaCX62zgqA9853z8jr19iR9nVr2+5FZanBFKEzHNPh0JLbbGDFkY3XWEFM4wa +G46bSnQcgDyYYUeCw+1rFElz+E+XsphNy3cnL64Q944p6O2PqvjkiFaf6B+y8tMG +kxXkiW011sq0Do/o4+l/8/GwtojnQFQkkVwKlue6PxcFTsZD0/tjEcYaS1TLHZH+ +aWcgQe65gC33SZTv1XETtiUtpujVh/Hzs2HEivB5myDm619mw5yQpn5Fs73S9dBv +QZFTbr1c6ucR7lp/gVOpWidI42HNuy4gtEHFSC5BOps +-> ssh-ed25519 DCAArw ayH8gMUh+Gv7EkdXmm+WqIbOB3xrPFOJTo4o/N28DCA +uGyb5ydQoXIJObaWrpZxzv2AEBIy8zUI+2XhWgw40G4 +--- DX5h7iwzVjAi/0UMzZDv/Q217NlSFEnnDccw/CIAPAE +h__Y=ai +h +>1s|,/m9#WP]ՀYn܁7Zw~%geuiM+d~I'1s- \ No newline at end of file diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index 3825f5d8..ceefe2f1 100644 --- a/nix/secrets/tubearchivist.age +++ b/nix/secrets/tubearchivist.age @@ -1,19 +1,20 @@ age-encryption.org/v1 --> ssh-ed25519 sHhprA Nsfwkbjh1xMbkfvYoJQ2eX4Os7eW/ync1TVDSRUtTwE -DIYEChpd5XLo7+8Bp8b4KKR6WjRkBOCFKvYs9HMaDXY --> ssh-ed25519 IsVD3g I+0C0X1Yjw7CFIko83N0AUB5uxcc2xAw4MMuifQiEgw -rBx/qs+c7l74ehORmS/eXO1X62AaW7Q4V6pVNTK92Mg +-> ssh-ed25519 sHhprA pDBTCF1L4eOH7DFbY4ujH3T+ckdWrvVnEULXoW19M3M +6X5T6s5f/UwIkykfFgeG89q8IjYfJSg44iE/yvH+gk0 +-> ssh-ed25519 IsVD3g 3TVa9ne9dE3kcu4qYGF6SDTBeGhEur8YLDUtts8f1Wo +UGw97xVdYJY/08Pg9nCYAZhdJf5BMG554qPyiM//2zU -> ssh-rsa +vTWQw -g8aLlLKplkGAapAxZVIEmWqAOYBghIIN6TB1p9qGjsIGx9g6wG0qRcMkLL6rqmry -c7MPi9Lk4k65+mijhFL6d1rwwi0o0tHGK913xdCv1OxwjjyqCWAXGAawgtjMDEZz -bj9jj1Kpm+qvWf5KpVtEzkwe/Im4TXfoEhNC4rAGz3pDNy6OBV5Ztlt/icVhzVPy -yFSLkpLOgy2/fBMjesdLFgoeTK2kB3GoMioXNpCpAKHl8J8tiVHr4vFsE+mGJQ6y -bTG0BWacmGuuqXYYWfmJ8TyduMCkWQAqmHEPqMInpCmXYU1QS+vgULeM4Zw5II5j -/XQ1Bms50qlBOYkVitRWEz8R83PFqsIvtAsKf+xkjluJAI1fhlF/+YKLzfDfQRLL -I4RDfLpC6QaCvbYixKHaScfQYq+L389o6m4kHBoqj8diaN26lewADrMULxNhW7Lc -bVnUkU/yA22hMW22vhIlq2JJlIE9kUh/GXWxriM6bLI2hkCeWIH1IkjTELl+8RtL -aDyO+Dg68IzEx6yA6MuUoF7oeL6bgT+p7+huPAyg9ZHuJHEX6j8oi2WxHqzi7g54 -qH+iEw6jiaYabl/XYnrx1EsX4prGuGNvpbivOMPnjU3eIyo//U0pmioPMct9a3e0 -ZUwAjidqvIsrUKD1iibTgUlIIIpehqRfEwxJ+fZ2xCs ---- FjYSFcft/ABIEmVoaPiwxBMzI0TYHAHnsdxUVwbyTSE -z@љ\T$~x3-hتլ<!,o8^tvO3PL+UvwCB6=՜A[g< \ No newline at end of file +ChZcPODz80DHWtUMaxEBmpkjFA5MY/imzvK5XwDN6FFCXw9JTtIVfvv7qSTriFWN +l8NV3UzBsJQAXoa/FwuoAxPphgraR6swW10a0JnHUnGl+sWfPV36nARWxY9jvCvy +g9Qh9z18SYQjNJZp0xGihM1xvswXAefgI+0OdVG8H9+2pXaaSVc9J3hoDpoLYWHC +TdtTEWGAsDUaWm/RJkqkdhiFRf6HYZFn3mXk964R0k6/JmwtSgay1jKRccuv4/rx +0s4ItyRwKh7uJGe8mjxZbuzz6zQcPUjOk6ztHcFeZe6aVaUD7mtCY+eFLIf2GJU4 +F+7sO9pYgtRdO7MzRgkf7WSVDMM18MQk0b5C4sjiQjGJ++4OhczeFpxpfgstpD+u +FnBsSRoY3F60tp6Zu64biMDxDdFGBpAlBYg2T4GdKSbX+98+ff0FUjYT9SQ3xu1F +ialg6vlVGbrUQUq2l9OsFS0AmG/34hNUPTmtsfzdonBlPX2rAQHB9eatPJo/X7kE +2xIGNWSCRa2OVpNAwbm6FK0MCkyVDiaSreQANO2tld1RuChj7N9V+j3xegg/ukWR +jSXvH6xcKoZMz4v29qWEvD6Ik+NIerSEeGGYQ00DjL1q09kJPgLcXa/s9H7vkOpe +agUoog/GhktVVkOCkoW1N28TJm7rLSAB6EUElIhn/Gw +--- oGKkyZiWp615XWg0sdqRAeu1by+mG6HiK0D1TH8i4Is +Ybpg KWOx+vgTb'$rRW[/fKVhzt~;[l*w¢FH}%F(O X16;(5*|2 +kf) \ No newline at end of file From f1f9866816f032797784c3003cba29cfbe5b222a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 10:21:15 +0000 Subject: [PATCH 1298/2258] Add new SSH key --- nix/secrets/cloudflare-opdavies-uk.age | Bin 990 -> 1100 bytes nix/secrets/cloudflare.age | 43 +++++++++++++------------ nix/secrets/secrets.nix | 4 +++ nix/secrets/tubearchivist.age | Bin 1114 -> 1224 bytes nix/users/opdavies/default.nix | 1 + 5 files changed, 27 insertions(+), 21 deletions(-) diff --git a/nix/secrets/cloudflare-opdavies-uk.age b/nix/secrets/cloudflare-opdavies-uk.age index be4cd22066a214a3181251e9c1b163b373fd3daf..a5f42191a401ec777832be1db4840f04e82e3006 100644 GIT binary patch delta 1071 zcmcb|euiU$PQ9PIuX9Lnc)p==ka=NAP;pqPiFsatyOU2=sbQ|6e}RvFet}DNxpPiL zGMATOg=d+McUnfdm!)Y|x^IS8L~=%QiivhmSx&fbK!tg(MM-72f1rN01(&X!LUD11 zZc%Zff_7O*cwjk~zeiQBtAV+8UV5d8YnZcpL{M5zc73ryfN6kXn1ySZn_pgvS(&~? zd3kA7d7-y<aAsOSS(I;4q;qOmMPQUuF;|k0w_|vqahYkhUrCX7P^4FSicfl_wpWUQ zqq$2}L4J@~PEx)>pii+!d7f*jrHgO4i+M?Kpm}z(VUoT_UM81^e^NnMfqP=UWm&1E zzh90~PJLc+NTzXxX>f6ow@H#`gimBhfxmmWYp8ccvY~fHMMX(shGT$fW`4F?a!OVu zmzSSqL7=x~N{~}Tuzzk@l50_scZO?rRGEcgRbWzSMVUdUQJ8sTag}yRwzgS;Q&L8H zWlCDAcABe~X+ctQIai3kk7;U%w_8|XxsiLYd3|AOrjePqlUqn=mT9twtG=g;siU*E zzDKsPSwN{_S#d~3K}MxtK)R=eMMhvrnx7X}T2_UrmyvH+QLbxxcz&{frhi3flwWRT zP;q*AV7O0Uny-<&c5<$^ziYB#m|=;5Ta<f7P(WoyxLZ{~aIR??SCB`bU!X;bi-lo` zU%iJ}s%da|UVgH-SEz50TaLSTKxSD%UYetUb8%IGv1_tLNupa~g-J@8PjX?Pwu?`x zpFUTZVL`f=i@s-SUY>J`W13H*rN4KOce+PJdQMtprG;6Qb5KEnPkM1kc9p3|x|d&p zaaEF6aHh7Iw`+2Cc0egtiD7zPqPcOdcD-3qmZ526c3_@=K&fAnk#BHFkeN}rslSP* zb4rL)Ww}vem3c*eYCv$fcUFExT4-5{WukF*E?1UOR$@?2PH>TBL0EpKWpbr)sF|;M zkb#$rSA=Oms(GeiT5d*>tA&wEsdHJWaaL4eu%Dxsg@LwrNNPlSU_O_jL5g{CRJ~(P zxTn5RU~p2ZlVxyLm`A8@rnzrPsfU?SPI#DeiCeI<X|g9QHK(Q+nVK3}DijtbM^-v2 z6jb<Sha_qn=6i-0r8-+g=6Gi$rUez7yBn691Xp+)8GE=VmU^Y;1qT*$<+`UP2Zy_* zYiCtO7>1i#24q>38YGq1hg*0UxoPJmCi+!nN2U6hRVEd?a_Q>oD)@&RxFuG&c$$Yh zIhSZBNBD$SWf;4K8Jp#Y<OaG|r388;n&z0fm=+jYaH+>eEOL7l=k@I*%g!DppCV29 zzRnX7FBBf`4PI4!&QKxy{Ffb*zNd38;!RWEz3t~S!}ygmW-4S(H+0na;I>z$YJ=mq mZ$d?Tu3q1;PeATV+D-PnFzb&;w*D|Y)9ktWS@s)-MiBtR_i;-A delta 960 zcmX@ZagTk1PJNJBT6v&xR-Rd!uaAXsYEYDSiL*&cP^o2hTCh=6kY$-;RYgUlYgvU` zIhRS4U#Po*v1?UWR8*3Cu}Qf_fOnF)rM{Dqt3hE#v3XFYSCvy>wvoHD374*&LUD11 zZc%Zff_7O*cwjkKaYU(Kluu=mV`XNhi>tAJaiv*EMSW>nX+Wg0acQNKo4bdTX<2Tv ziAA!pTUJ<vsaZjIhKWf^qJKnTc4cO05m#ohafp#wYFda{Kt`g6e?(bjNtCBchNYjr zS#d~mkU><gxp}E$v9_sqQGtGDa9X5sfu~zyQebwGqf=&Ck{MT)xp6^RMsZX@epI2c zN0?KAQ+;?yPN18cr?<ONda`q=N1~5QkeO$GVy1RbYI>?!uCYn5NnW98q_az*i=(j@ zS8i@Zc428jl(|{DiC=1!SCwn7qeq!zK$?G&i%Fn|Q+~LoS)r>%NV!pINKSs1S4l>0 zdY++4PC-C$fRBlJ6jw%$r$K0{S7e2&i&v3FQN58_nn#j*NO`tnQBs*<X}G76N2W(m zn15oDp{YxLrEf@yVOUmLii@vHfT2r4n12yhSaEq+Sx`w)q<OhvWO$yBUv8d%af+8` zNM)!?c921Fd1`2crLnu2Q=xx)YMx<WplOh=SD;U5PNbnpR)nW3m%F#CL8XgjXm&tO zXnk;GmA+?2a!6LLbAV-<cA<NOc~FUVS$b5NX+ep(QEEk?c7VBKU{;nzj%iY5iEorw zs0mk)eq?$?mQz5He??+pNqAPalcTnipHYdYTS=gqZ((spc5b3sMR{pvdP!-yzf)np ztC?$hq*<oBMP-JIQCbq0wtrxinSOG4e!W>yQfi5Qp@qA%euRrjm3~HGxNCZ{xrL)q zab~H$qf<s?uveO6PIf?Un1`uLv42*Chg)Py5|?p7SV~kyNnT1)iFTQPah02ehf%3_ zrBS(0VOFwfsi%c`c2bVMQL1~SdtP}+ut~Chc8HI^d1<I~Mz~p0N-<ZIg-Lc=L497H zxw(_Kb8ty<fTvTSk9K60iEFN9p<!rnQc9kCcusbCW|k+HuCA^^si&`7fuD(&NuZ%o zPN`XnzHz8|nYU?(dq!wbR=QibuXA36x4BzrvRN^gq}1#EXYSqDQKFp08mOoK;>WM| z4po|7$0d%gE6{ke|E=xyD|VqbI9zirk3V5t`BQm=lDTU4)F*$17y|unP0D@r?7+*( lbz$YbTBn#U*q;0Q<??;|%A@>>k#iRCSN?3t`OCV-4gjV<PVWE! diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index 57630889..5076f322 100644 --- a/nix/secrets/cloudflare.age +++ b/nix/secrets/cloudflare.age @@ -1,23 +1,24 @@ age-encryption.org/v1 --> ssh-ed25519 M7i4ow 7YUG6RkPCjizq+ZjKM+X+Z7EGGExJIU/iV862q7QgFU -FI5Db1p0H0wtKLnvgiPzXBE9dSkGlx1QM7sUn5gX6vI --> ssh-ed25519 IsVD3g 6eYOo99x7GlRxQK/hFm4xWyoKy/UEDDTL6Q0RwSNZD4 -jgyZGv0FTscKHiKkv8LsNE/VL5t83yTLvRYTzo1Cb38 +-> ssh-ed25519 M7i4ow e7dFi4n60iNI01xgxcZko+xGizPgDWqfxI2PB3dH1HI +e2tsd79XPYjDcGSO+o6iz6fzeV+tAvXuPyUozCthlhM +-> ssh-ed25519 IsVD3g VNvK6wf6i8F0mUXjS//k9O9uoh9RW/+5mhyZyA2n434 +1Tf4euC6bJzbNmQCbYVUpm4C2xHfmk3BaQ7T1a3W8sQ -> ssh-rsa +vTWQw -BVDNBwHVMavrnKctOFZe5KyNXC6MsFUyLT4jjoLPv438PJiYsyIBmrfj4/8EwibR -gBPewIM+3n+tTlYXwoy5RvwWFi7WStaQw/FPXKNk9VyQa/JALeQphjGxBEJJzlhV -b0HtzcDj6RAf6Tc0PwsywZgAQ5BbiTtb3wf4Nw/ahIoFPnGbMp0xCr9wdT0aDuEu -wcwgflrcQRnJDwymAmd+lGe80/L5Etard7KjXONPKbuCmD6+1FAXyXZi3YT/S97G -frqQj3vCfhHFq6lWU9EIfbituTWBcMXEiyPxkkczNagKMSpEXM9/ak9jsWIBLNSU -IASaJ2aanY1xeKH5Qi0x9IPkUnOaLNeSkIa+xVqqruoSeJADcPucIcYIp0d2s6FM -K9IJaCX62zgqA9853z8jr19iR9nVr2+5FZanBFKEzHNPh0JLbbGDFkY3XWEFM4wa -G46bSnQcgDyYYUeCw+1rFElz+E+XsphNy3cnL64Q944p6O2PqvjkiFaf6B+y8tMG -kxXkiW011sq0Do/o4+l/8/GwtojnQFQkkVwKlue6PxcFTsZD0/tjEcYaS1TLHZH+ -aWcgQe65gC33SZTv1XETtiUtpujVh/Hzs2HEivB5myDm619mw5yQpn5Fs73S9dBv -QZFTbr1c6ucR7lp/gVOpWidI42HNuy4gtEHFSC5BOps --> ssh-ed25519 DCAArw ayH8gMUh+Gv7EkdXmm+WqIbOB3xrPFOJTo4o/N28DCA -uGyb5ydQoXIJObaWrpZxzv2AEBIy8zUI+2XhWgw40G4 ---- DX5h7iwzVjAi/0UMzZDv/Q217NlSFEnnDccw/CIAPAE -h__Y=ai -h ->1s|,/m9#WP]ՀYn܁7Zw~%geuiM+d~I'1s- \ No newline at end of file +ZPMqQZ/ZxHkxMa0/k1BaHXYpS2IGMIbdT6HfxMIkPbTOopbtk3bkds3v4fY2BRqm +nmGCNLnYYZ9/eENjv3uHOOHlmG7omOPiC1eFie6v9pN1y4XwJJuMiFVYWnycKHKh +ooG95gVtrUTecEHntlsNdANyih3BB3TXKuffh/JwZFeJrEs6H4Kn9FQtzfBhPA/g +MAiKBcd8lxnQ49UXuX3nvRqdGYukYU7xldOzKN3u6Z2D1no0ZpRxXUpYYnAGo2rz +SGOsgLwZeXccRDTC4G5vlNRHgcmADptNExB2DMPzfV+d+jMAVC0aIgmAi6XPIy2n +dJPzKv9pMx12CCVcVJO0DUqczW3mlzA70v35rvbEfoVxy3jxYQdhT+q7d96vfIOV +HJqvpFflZ4Ex1y6xqINCO39zZNkOpqRhmmZjqCzmKk5gmopvC43AS1KUP6Sa1JER +Upei4gfqY9FwJppKkx+KG/CYsCjYz8uXRGPQIxI94pZ0904Rq1KIlJnv3cUK3p4b ++oZXyoXkjC8u6ALTgPywmsRayEeGsiZPqq3EQV5k/xo/d3QThPboJ8kxtPS85Enz +RaOAKuRtqFOgnk030P19aOz3PTF1U64hJe52khy6hJGz6h533TBYUx18AjOigBXw +J2YgBaM9g347rwjKYvwfXLyq5N+SJ8fPwHF49astoFo +-> ssh-ed25519 qqcYyA 4bdXmVfzmkaWQXfnoYSWeb3oaLNZ39bP5p/f5cYb3g4 +3MKWf7nM/As5x6WCNbYvof0O2mhPifc4CIyZotAETp8 +-> ssh-ed25519 DCAArw RdyF0DgyvA51IalbELM4E8piFRoHoACHGXXFIvrm2AM +J4OK4m7dEBvj8KhskUBoumsoHIty8TewF5qH0+ELJrA +--- KVBYImWXK/utLnInjHjxN+mvQ71qkZUgK7bWLMUPowo +x`b~z7LVF`*&a:{fsNJ;o+`ix/;-v H:z]&u4Y"WAoa +P/]4Yy'GW+ \ No newline at end of file diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 38b175b5..3ac4309e 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -8,6 +8,7 @@ let users = { opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + opdavies2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N"; opdavies-hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJStz4WQ5IerIyi8HqLB1gwoiKr87uH/bI+Q9sDxVu+a"; }; in @@ -16,17 +17,20 @@ in hosts.hetznix hosts.t490 users.opdavies + users.opdavies2 users.opdavies-hetznix ]; "cloudflare-opdavies-uk.age".publicKeys = [ hosts.nixedo users.opdavies + users.opdavies2 ]; "tubearchivist.age".publicKeys = [ hosts.lemp11 hosts.nixedo users.opdavies + users.opdavies2 ]; } diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index ceefe2f14b2089ba0702cfe57b46bf4f2030ea25..c11006ec509ce5c5dbd64777d7bc74e1cf20a016 100644 GIT binary patch delta 1180 zcmcb`ae{M#PJN_LRHj9FeuQ&rsei7!zhQ_`s%4?8X@;3ch_Q3Hc4cHhzNbNUS$ayA zFITaJZ)t&vPlab<X_UElPE|;0vW1V2bA@wZdVYXkv1@^=ONpCFl|f~x0hg|wLUD11 zZfc5=si~o*f@g7<i*dSwv72!~ctnzcuTNmGlYW6qnOkH=U`T42X+%m{wr`Y)lV7n@ zZnjyevx`ePSA}+=M}$RAHpq0Bki-Cw0KY&Bix6L<aMLW`;FJod&@k;P$53ytwBm^$ zh3g|qOM`sE(o+hxJ=`;M{mjF>4N^>va!X4M3{&%5Gd%O0Jc@lo!o5l=tMbD`97CNw z@{RnQs|*~CBi#bZ4O6%RO3YIY4J<<3408%h1C4zv5>4Dgyo(AQb1Kc;GQ&bG^gS!X zBh37B{XNo64U=;tElonry`23^E0gpK1M34bxFU^`eT>tMqCz4{T@#a2Jk7j{ibJyv zv)w&h3UV#dEiKBO!V8`KvMs&bO#B_gb0UK*!i+*qb6tz`LiOFV0=Yc$j8jd6qWsGo zb4pxOGmV`?{GF464AT?ci&N4IJ$)()t6V&M&4LO7s-n{K^TPcj!-Lb!9is}9lj_6# z{9TK=Tq84b^MZX-gNvL)%F^;f^20s#9kqkYGQxusvkemqld6gg%PV{e^?iM{Ba3rQ zEJB0aLZV#5^~<y!eGD>PxGFs|bKE^$!c+9aJ;Td0iwljloy}YfeJul=%(Kn(GmS#M zBODDQ-9pj=93w4DQiDwl67w>%T<VjZixPeEeFC{G3<|O$gY#1Yl3XiG{SAE5(*1IM zwT-I${IZL^0*rIB!xPhs!?Rq{0=&v|qbw|w+&x0P!b-FJ9epCaDvL9@N+K%D%}RWe zEi4ng^%G6<f-3_mJ)<gJ-3$!16Ac|JGBQkqEgk*ReN00${h~bG%t`|a!|H?6)6&b_ z9P>jHBe@KcGRh*u@)C{Q9gT8L%grN76HB6sQ=RlPGopgClRS(fT#S9o-Lq2z^_`MK zlf0c$ErT;7d@Fnlii=D9)5Ev|LK902!(B4H0}9e|-Hob3LyS|r!=hXZd|b85U2=0u zOMD|OJ&i)cb9`N^+zW$pE9wmlEYe)VEOPP<A_D>}xq>3S(#t$ELqmMMD@(o0vt7a? zs`A{O45A$UGP3eY9bLTweJp&^OhW?l(KAb7VRB@pqk>Pqk7IhiOInmmxu2hhp=q*{ zQK4s9W{^jsp<!ZfMpT4JL8!Aum2*V8Cs%e<eR{b;NqBNvP>Q~`XH{@%w!6P?xNBZU ziDRjgWr<gguR&yhPhqZ+w+WZ7uC9WSc~oUZW~jfDi)C`IlUaVGhh>RZut}k-WwL*0 zRh6enxx1sev7dQvxB(Xv{~pCT+ag^%lRr%7S!+D$uHg2+GuSq;hjMK+)vDR^g`Hud zwY0Z_aH-7+qZgYbnZDTe2Cwom)ky5q?o>5()Mn?qS`%C$=%nu)k#GKrb?TBo*4y2y gzs1}V)R<#9S-fxdM(5Lvx6LdVn!}kq)ttG*0AxgnegFUf delta 1069 zcmX@Xd5dF$PJMxkQ;4&hp^r(bzlXVtTT-M+X_kj^h<0*zN_bIOSe|RBPegvWp{1{} zFPB+_X^2^|X_|g$xo37|cA8sys=I|{p@nBwWSUoSx`|1qtA1sfhjx0l0hg|wLUD11 zZfc5=si~o*f@g7<i*dSwaY$IAWnQXfimP#Ua;ZsSq?@~&S+GlpQ>uH0YiW^1q>oEz zNlCFqnqhc8SEzfrrFlhIN~Bk$zJWzRx@Deoq+?V@idUMcldrp}sYzi#Wu~vbzEM@^ z#E-)D&KXh30sbyk76vXJ;U%HIi50F+xdqu-ZjPqDk@}grRb}3$5#=s^W^QiI5#^R% zAtjz+X=P>Rg~1_3nQq~JTsangVaB0VPQ_k<juH8Z`flZ=`HmF<1sUl@i9u$?<>7_~ zi3VPI9-(>eIoieHX#ruzW_gZ5;T4gVS!K@kWtCj%mVp_TRfZP9k%3u$UQq=G74DfC zzJ?WL#pMx>scGq++6Mk9VeS?lmfA)I5s8VxVab+W#u@o81^GUa;U3OhAt@yxuHo*E z#V(<V;ko)jUfG4&DH)k=L1|_lkx_1W#<>yMmS!eF2H9r%Ub*EZ!Rd*WhFRW0$;qYl zWhVMX6<h|zCY~jgLFL{V=A~ZlsTR3e6;Vm0RaItHfyn`(S^n8(RV5zDZmChJW{F{m zp)TgRCC-uBsct@=X-4i|p(b2z+UCXnmIaaNB|$0v=Dt-y>Dg)K;lW`pzP^SQzJb{W zNv6&w#aWqwS?*ri+9v)P$yKRt1r-JLY3ao!1uoj9TyA+z#lb=Ok;ZOj1|<b%QKe=k zNtwPb6)q`m?oI`cIZl!3Mj<BdDc-?J5!#j(+G%M9ZlPI`A(p{`#ucT8Zd{p(Iq7C) zIbrTeMWKPAg+@7+{>5&=29CMz`o<<1exU&&xh2JERVn#-PB{S)Mn#T+9!{3^sfi^4 zUitbF=Gm@XMirj!e&NB+L5W8GVFiAU<w?0_Zr%pI&e@e=E}4nJMX7;~e*Q)!IVpxg zrOp{y=6;r8+F8aGsp;wZrP<*@Tv@>pWgcb~$=>-<zEvh=MwW%)u4OJ}p4r-do~cE_ zuBq<sk%0yVE?GW?g$9<{UIFR#KFJY@`o)$W=4ILb1*u$#>7n`g>H6*&*(G6N+5XPi z`Qe6sMiwDnx#mSa!H!O5uA#0uo*8-i?&Vy%y1EMa?%vszQJLWdW`?E_;pqm&DTP6f zsilTVmD;)PW*(W|1}=sn9u}D<p2b}I*`?OX{CppoRFMAZS1YG?xU_#o%y#X6W$BZi zhx8<=tDNAMY&>?Wh(9PiTE8=GyLVWZ+=N9LRV8)b1g)cUw93C8TIA+YyO4ujRbq>@ pn;7HX^%_zW{HOCqtlz!B(9BxHlx5>Vtr{b)4Rf-mrm<_z1ptfiW+wmu diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index 4806156d..0d15bcd5 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -18,6 +18,7 @@ openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" ]; packages = From 2006d2b53efb19cfd1e6a1d626bb6f50f25a49d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 12:00:00 +0000 Subject: [PATCH 1299/2258] nixedo: re-add forgejo --- .../nixos/features/homelab/default.nix | 1 + .../nixos/features/homelab/forgejo.nix | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 nix/modules/nixos/features/homelab/forgejo.nix diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index c7da8eb2..897465c5 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -2,6 +2,7 @@ imports = [ ./audiobookshelf.nix ./beaverhabits.nix + ./forgejo.nix ./freshrss.nix ./gitea.nix ./immich.nix diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix new file mode 100644 index 00000000..509c34c9 --- /dev/null +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -0,0 +1,34 @@ +{ config, lib, ... }: + +with lib; + +{ + options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo"; + + config = mkIf config.features.homelab.forgejo.enable { + services = { + forgejo = { + enable = true; + group = "media"; + stateDir = "/mnt/media/forgejo"; + + settings = { + server = { + DOMAIN = "forgejo.opdavies.uk"; + HTTP_PORT = 2223; + }; + + service = { + DISABLE_REGISTRATION = true; + }; + }; + }; + + caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { + useACMEHost = "opdavies.uk"; + + extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; + }; + }; + }; +} From 130c2c97b1e9d667b3a23141a50f3f5cb9638bcc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 20:32:31 +0000 Subject: [PATCH 1300/2258] Update website root --- nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index 218e2d6c..54568761 100644 --- a/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -14,7 +14,7 @@ extraConfig = '' encode gzip - root * /var/www/vhosts/www.oliverdavies.uk-sculpin/output_prod + root * /var/www/vhosts/www.oliverdavies.uk file_server { disable_canonical_uris From cd4eac4df60cd61d9c69b662bedcb00866441000 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 6 Jan 2025 20:32:54 +0000 Subject: [PATCH 1301/2258] Update SSH key and re-key secrets --- nix/secrets/cloudflare-opdavies-uk.age | Bin 1100 -> 1100 bytes nix/secrets/cloudflare.age | 44 ++++++++++++------------- nix/secrets/secrets.nix | 2 +- nix/secrets/tubearchivist.age | Bin 1224 -> 1224 bytes 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/nix/secrets/cloudflare-opdavies-uk.age b/nix/secrets/cloudflare-opdavies-uk.age index a5f42191a401ec777832be1db4840f04e82e3006..ee5e9dc35fb7f21c3ccf06e5840d63d25965f445 100644 GIT binary patch delta 1071 zcmX@ZafV}pPJK$6iDzY+zpIaTvXh6WVMbY+zloc#pTC!9WpR<8c9edEMTkpgRC;7( zGFO0yds$dkc#fM#p|hu9PKm#(d5CLqRfcnDWO}|&O0auUg?_M~OTIyd0hg|wLUD11 zZc%Zff_7O*cwjkKdAYZxe~6Q#W15$bi@&+QMMXfWV|`gvkW*T*i+O&MNlKBvV^oE< zXPSk!X_mf!PN1KoNnS)~dU0Yza%iH38&_pYl}Sl)NP3}XW@&bSd3sQ~wyA!kg}Zlo zYG}D*q)(7RaY~3wj&GiOa#e=DVQ7xCYe{01p-DtiNI`CKnLd}lxp{z_Np7yQhe1hF zSgv10Xnj~-wx_;JUXrU@u!mDoq-B7QiF0YOaX@jUv9^bKa#E3#Q(2&+fnTL}s&hyf zSC~tPQ&6UfNorALu33s<qKkoFieG_ig_CD-g^^=~v0*`)Z+MVFmW5|&V4+)KSZQWa zcvQKYWv*w5Pk2(gIhUzPK$?$PS$K#=N}*4(aeY!zX=zBVlVxI*Q($>wT49i1dZk-I zVY#tUh^KF)e~wRDrhB=MrG;Top?866U`Q2LMoC0*SaC>kL|$S>QC6-+qIsxmhG|rw zZ+K3skylztq)T?bhg(T`aF&Hjd8T$rsCQamjzPFbm|K-cQm%g(S7?Z1nU{~Le^Own zPraX`NlLDzxuJ!zWnxA^dPSC5qEl74i(_Dcfv;~wT6U1Pf2n0zmA{u|s86<Qh*4yj zPdHaWQL2-Bc9C0QRd{fzc2QDcKuB_-t7CRbzKMxfN^Xg%M}9$MN?J;3o=b&gqOX&F zURhPCUzLwRk)>0XyN@GRs8_Lxxp8nrdcC%LT4+gHl9_8nfl;|nK%!~3UqFy|RGC4f zk%@PSahg|2MXGN}aFuhUg}%94dU{S-NO6^E4p)IsV41gmv9Et}q*-EGRfb!RNl}P- zu#vH^agcFpfm2yjiG`D+etLesqhUp8u2+&pnMq<~m6K(znRZyEn<JNbm}8J<SiOfw zX--jASaC{WR-{pohkuk$SYU-)mX}Y7uR&&5S(uMgSf(#5HK(Q+nVK3}DijtbM^-v2 zq@?7RYZs+QrWE^y7*v>B=$Dj7xEgCm1eT>)xOi)8I~GQGTNIY%SGY!US%gFxcpDU$ z1ega^8JmPgWaUJ;7MCQ}`)HSz7=%Qcm;{F8Mmp!3I+aD{bLr~pDwwDEd4*>bq?#BT zWSf}>CWd%aC1qD-T9`(qn-}K>>ihdgW?AHWMR*34b9FOWI?SkK*}r%H`AV&4=J(52 zRE95H_LU?2;<Lv(VGn<Xc1V3|Fewj=(R>*s_#<1?YPrM&4u^XjW>y+9S$i*iOb`0? lXM++$!o-MW_G{(!6dbl|{Iu=;`16kwUxUWO(;G7a7yvKsZf^hp delta 1071 zcmX@ZafV}pPQ9PIuX9Lnc)p==ka=NAP;pqPiFsatyOU2=sbQ|6e}RvFet}DNxpPiL zGMATOg=d+McUnfdm!)Y|x^IS8L~=%QiivhmSx&fbK!tg(MM-72f1rN01(&X!LUD11 zZc%Zff_7O*cwjk~zeiQBtAV+8UV5d8YnZcpL{M5zc73ryfN6kXn1ySZn_pgvS(&~? zd3kA7d7-y<aAsOSS(I;4q;qOmMPQUuF;|k0w_|vqahYkhUrCX7P^4FSicfl_wpWUQ zqq$2}L4J@~PEx)>pii+!d7f*jrHgO4i+M?Kpm}z(VUoT_UM81^e^NnMfqP=UWm&1E zzh90~PJLc+NTzXxX>f6ow@H#`gimBhfxmmWYp8ccvY~fHMMX(shGT$fW`4F?a!OVu zmzSSqL7=x~N{~}Tuzzk@l50_scZO?rRGEcgRbWzSMVUdUQJ8sTag}yRwzgS;Q&L8H zWlCDAcABe~X+ctQIai3kk7;U%w_8|XxsiLYd3|AOrjePqlUqn=mT9twtG=g;siU*E zzDKsPSwN{_S#d~3K}MxtK)R=eMMhvrnx7X}T2_UrmyvH+QLbxxcz&{frhi3flwWRT zP;q*AV7O0Uny-<&c5<$^ziYB#m|=;5Ta<f7P(WoyxLZ{~aIR??SCB`bU!X;bi-lo` zU%iJ}s%da|UVgH-SEz50TaLSTKxSD%UYetUb8%IGv1_tLNupa~g-J@8PjX?Pwu?`x zpFUTZVL`f=i@s-SUY>J`W13H*rN4KOce+PJdQMtprG;6Qb5KEnPkM1kc9p3|x|d&p zaaEF6aHh7Iw`+2Cc0egtiD7zPqPcOdcD-3qmZ526c3_@=K&fAnk#BHFkeN}rslSP* zb4rL)Ww}vem3c*eYCv$fcUFExT4-5{WukF*E?1UOR$@?2PH>TBL0EpKWpbr)sF|;M zkb#$rSA=Oms(GeiT5d*>tA&wEsdHJWaaL4eu%Dxsg@LwrNNPlSU_O_jL5g{CRJ~(P zxTn5RU~p2ZlVxyLm`A8@rnzrPsfU?SPI#DeiCeI<X|g9QHK(Q+nVK3}DijtbM^-v2 z6jb<Sha_qn=6i-0r8-+g=6Gi$rUez7yBn691Xp+)8GE=VmU^Y;1qT*$<+`UP2Zy_* zYiCtO7>1i#24q>38YGq1hg*0UxoPJmCi+!nN2U6hRVEd?a_Q>oD)@&RxFuG&c$$Yh zIhSZBNBD$SWf;4K8Jp#Y<OaG|r388;n&z0fm=+jYaH+>eEOL7l=k@I*%g!DppCV29 zzRnX7FBBf`4PI4!&QKxy{Ffb*zNd38;!RWEz3t~S!}ygmW-4S(H+0na;I>z$YJ=mq mZ$d?Tu3q1;PeATV+D-PnFzb&;w*D|Y)9ktWS@s)-MiBsf*Ks-k diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index 5076f322..ba6fb04c 100644 --- a/nix/secrets/cloudflare.age +++ b/nix/secrets/cloudflare.age @@ -1,24 +1,24 @@ age-encryption.org/v1 --> ssh-ed25519 M7i4ow e7dFi4n60iNI01xgxcZko+xGizPgDWqfxI2PB3dH1HI -e2tsd79XPYjDcGSO+o6iz6fzeV+tAvXuPyUozCthlhM --> ssh-ed25519 IsVD3g VNvK6wf6i8F0mUXjS//k9O9uoh9RW/+5mhyZyA2n434 -1Tf4euC6bJzbNmQCbYVUpm4C2xHfmk3BaQ7T1a3W8sQ +-> ssh-ed25519 M7i4ow uAeMYG9c6ryN+5dT0niHXkwWXYuCPTlv6MVaaRxP6BQ +7OdV+9doEFau6GjTONtREFSePR95/FEe3tTRaqU9ERQ +-> ssh-ed25519 IsVD3g LNDsu6aQk4VB47Au6sGfUFnvuFDYL1yxvT2xqmEoPXA +T6O638N4ICQfoYmXSzwyJnn4ZgEYTVHBhaviG/L42xc -> ssh-rsa +vTWQw -ZPMqQZ/ZxHkxMa0/k1BaHXYpS2IGMIbdT6HfxMIkPbTOopbtk3bkds3v4fY2BRqm -nmGCNLnYYZ9/eENjv3uHOOHlmG7omOPiC1eFie6v9pN1y4XwJJuMiFVYWnycKHKh -ooG95gVtrUTecEHntlsNdANyih3BB3TXKuffh/JwZFeJrEs6H4Kn9FQtzfBhPA/g -MAiKBcd8lxnQ49UXuX3nvRqdGYukYU7xldOzKN3u6Z2D1no0ZpRxXUpYYnAGo2rz -SGOsgLwZeXccRDTC4G5vlNRHgcmADptNExB2DMPzfV+d+jMAVC0aIgmAi6XPIy2n -dJPzKv9pMx12CCVcVJO0DUqczW3mlzA70v35rvbEfoVxy3jxYQdhT+q7d96vfIOV -HJqvpFflZ4Ex1y6xqINCO39zZNkOpqRhmmZjqCzmKk5gmopvC43AS1KUP6Sa1JER -Upei4gfqY9FwJppKkx+KG/CYsCjYz8uXRGPQIxI94pZ0904Rq1KIlJnv3cUK3p4b -+oZXyoXkjC8u6ALTgPywmsRayEeGsiZPqq3EQV5k/xo/d3QThPboJ8kxtPS85Enz -RaOAKuRtqFOgnk030P19aOz3PTF1U64hJe52khy6hJGz6h533TBYUx18AjOigBXw -J2YgBaM9g347rwjKYvwfXLyq5N+SJ8fPwHF49astoFo --> ssh-ed25519 qqcYyA 4bdXmVfzmkaWQXfnoYSWeb3oaLNZ39bP5p/f5cYb3g4 -3MKWf7nM/As5x6WCNbYvof0O2mhPifc4CIyZotAETp8 --> ssh-ed25519 DCAArw RdyF0DgyvA51IalbELM4E8piFRoHoACHGXXFIvrm2AM -J4OK4m7dEBvj8KhskUBoumsoHIty8TewF5qH0+ELJrA ---- KVBYImWXK/utLnInjHjxN+mvQ71qkZUgK7bWLMUPowo -x`b~z7LVF`*&a:{fsNJ;o+`ix/;-v H:z]&u4Y"WAoa -P/]4Yy'GW+ \ No newline at end of file +B6COgTlKAkSE2zCwt6gCDBl4fw6WgKD1u1/YYXMz/Fh2nXc8Qy1IrxSvn8nZr05G +EdToyrGtkNC6i5OPKvNfy+DWLw2slD3f6rZGQQZb60bEj51mr3xTIh2ho449U9lp +lFyodrxcQljBWdRI0mO2/SWTwKPLDqehGJdamj0DnitVh+tof4WdThZGIKekOG42 +WylPQUEt6U3tNLfTKfj1/HAKBiVdcOUezTzmcDqrD+Sb3qO+hEWWACIQoKnFS0Yl +rDZ/Sif86EMPUi93wsF5tjR6jCJfb/isiucxCeR9nKHCKScXPRjCpP85yswUEABd +wqJGodpuywoTaBF+GfPqXHF1BNp9wRHiMJC/wKsYTs7M5dpQyjl+/Nr4b/C/BdwE +Ab2q9u+EDuOFOWYz0TBUNQTFd/HQVhpC2Jd+/XLP1QZvHjA9WpQU+Uf6QTeQFoH3 +3jm31f3qWbFqgHYoYMRN6Qwax7PYN86d8zUs2TDnzz2EpE7ybxmKvsv1XQpl7eoc +RP6ynCP71nGXOHymzaZPYDdCsidw1EjuN2jtIbXU1+1ZgjPya8C5grVdDalwy/ds +98g4kDgLMhfeiu24kJS9fDE5YDI8AWLaRLRgdEu7FbtAottaI9qgG5AZTaU0g8Po +LHjrMnlz+gZ972sA7tM2sv+ZG4npWnyZOExyFQ/sD3U +-> ssh-ed25519 qqcYyA elZlBILHKKJosk7vsh2FKtouLS84AGFHg3H1g3t1JEU +vywdvbLrzLSkLjrBkQ57Stp8gLLS+P63b7hBIRSEzCY +-> ssh-ed25519 RN94uQ UQZx1RtihT91/pw0pHFuW8Pvk7epPkRJjklyaMz7PjI +4tbyHGkw86rfmB+CnWtz4ptNu2hI2yapGIwnzG+NAFA +--- xBHkdADymfBcQirr8/WV/Wuclk1PtivlHeNCdqXdUuw +3#mBLd.Z p$2kD5 +kKTFȌcYMP_`DxJ2:&xƢŵ+`%K$ \ No newline at end of file diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index 3ac4309e..948c6a8f 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -9,7 +9,7 @@ let users = { opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; opdavies2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N"; - opdavies-hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJStz4WQ5IerIyi8HqLB1gwoiKr87uH/bI+Q9sDxVu+a"; + opdavies-hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPaS9xb3nXL2+gSQv5q6Y9pGhRQOoZzUKZJAu0hAYfqj"; }; in { diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index c11006ec509ce5c5dbd64777d7bc74e1cf20a016..d5dce0b73d81f22b2259aff843494ad9f55faadd 100644 GIT binary patch delta 1180 zcmX@Xd4h9-PJMb#Xm)66Mu1n4XR32(NvUs!p?7#urlCPms!wiYNU^@JcA=+Ni9uzs z1y@8?NJgn=dU~;bxV~$sw}o+3l4nv<ib<u9PjF<QS7?-Hu%%_5hj*Zl1(&X!LUD11 zZfc5=si~o*f@g7<i*dR_l4C@LZ-z@sfuB=klvkCdg<FKHXMnR=ctKLCi<^H=O1_gx zxrJ$HaZp$}mwTvpu4lfPqi<1!ds=ZwR)LRYqMNUKilv)DQc-SJcCfc$K~SZmr)Qq) z#E-)DDT$`085z08F6H@Q`7Yie-X>|O6@KA~8IexL!I7mFDPATf`e8<9L8aav!KTJV zmPUErNu^#USw=}kzTPfIT$bUPW%`!ciIILT;hq)lRocM?sm{5@Wu`^W#oo^OW%<S- zK7qx#&LJjV$$>r=-l^JQUO@)VRY_$b{w7)V70z7dW&tH>Iqr!Wg}KF+Zu(9x;a*iG zUS7H81<8e$C8171`IU+ORbEv^nMMX?CIQ(l7Uh}Vm8li}`JpDMuG)!Q*?Gy%&W8TE z1zAxc=4m;8MgHX#<<5m6p6Ny5#ja6-1wpPsAz@)=Zsrw*sbS{nVX4M$mE~?JA^K7E zM$Qpwg<M(b&K4ey+L5kF6}f)yiMin!1s)ao#(8PRC85DS5#ITkC8e&O{weN--WCN_ zDURN`ApuqC1!Y+g8NSX{d8J$)WhNf!fmJRMRaxHYk!9xY20rEGd7%bDh6cIr0e*=A zrB#l}MtMPI5e6Qf29_qd;laixp=nk1Dc(u`e(7nMT!8_ZL4NLu&H;f*7Qs#hW+qvA z2F~eG#b)IuW@bgM874uw<+<7(5k78-uE9ZtxgNomUItzUh6Q<^IVEWkUR-`jZh_vJ zPN7K|&YqPKK0fIoA(rXoVHN>Fo<-?-L4F?Y72XkEnHgcJ;n~41DaOf>*`A*DW@)KT zMH!({iA9B69_hiE;VD6pnZeFcE>U?d+L>v_$<9s&em<sw+G(y9Rr$shp=p(=dD$+7 z0m0>dj_DEJCI#AoQB~!RNkvg<T;&GA=APb`o+i2FshMV_o*CYbPL+Ya=7!GY?ylv* zerewRUWu03+Kx_%;S~V}-lggFY5Ju;{$|Eep~gv-eq~%Pet|~eDPc*j#gQp#p$1u@ zmR^M!>E#7ESyjP)2A1Vnj+RmG23Zzf8II_grLZtLveHq(GSDc?xw1q%qrf0Mz`epP zBrnC=($vSSB*`qqDJdh<xWdz`!nmN+IVhXU%eTHL%-zYuwAi#Fv)DVs-Q3mJ)x_Du zqdYG?tSa2tCnqQ(!`ICt&n(-QOIKG{AvdusB-11yztAKxr_9AYJI~EC-PhBoD9X(% z-zzQ1z%r`HEi1>rvOKDs>&K*Bi@v<vl&CX#%c9Rl0U^$}o)|W*-RZcv;;gA`5_j>E z<kdM<-c@_=tP`)Y5a^7WH+Nl_^TZu5=4?FC^6c=0y{$L3ef+<K{M6{-nV)GHvh)bI l-_b<VjyGqXtjk=e#=6*Rvx`9R;VY&ecPG89n>GD#8vq*}n_d6_ delta 1180 zcmX@Xd4h9-PJN_LRHj9FeuQ&rsei7!zhQ_`s%4?8X@;3ch_Q3Hc4cHhzNbNUS$ayA zFITaJZ)t&vPlab<X_UElPE|;0vW1V2bA@wZdVYXkv1@^=ONpCFl|f~x0hg|wLUD11 zZfc5=si~o*f@g7<i*dSwv72!~ctnzcuTNmGlYW6qnOkH=U`T42X+%m{wr`Y)lV7n@ zZnjyevx`ePSA}+=M}$RAHpq0Bki-Cw0KY&Bix6L<aMLW`;FJod&@k;P$53ytwBm^$ zh3g|qOM`sE(o+hxJ=`;M{mjF>4N^>va!X4M3{&%5Gd%O0Jc@lo!o5l=tMbD`97CNw z@{RnQs|*~CBi#bZ4O6%RO3YIY4J<<3408%h1C4zv5>4Dgyo(AQb1Kc;GQ&bG^gS!X zBh37B{XNo64U=;tElonry`23^E0gpK1M34bxFU^`eT>tMqCz4{T@#a2Jk7j{ibJyv zv)w&h3UV#dEiKBO!V8`KvMs&bO#B_gb0UK*!i+*qb6tz`LiOFV0=Yc$j8jd6qWsGo zb4pxOGmV`?{GF464AT?ci&N4IJ$)()t6V&M&4LO7s-n{K^TPcj!-Lb!9is}9lj_6# z{9TK=Tq84b^MZX-gNvL)%F^;f^20s#9kqkYGQxusvkemqld6gg%PV{e^?iM{Ba3rQ zEJB0aLZV#5^~<y!eGD>PxGFs|bKE^$!c+9aJ;Td0iwljloy}YfeJul=%(Kn(GmS#M zBODDQ-9pj=93w4DQiDwl67w>%T<VjZixPeEeFC{G3<|O$gY#1Yl3XiG{SAE5(*1IM zwT-I${IZL^0*rIB!xPhs!?Rq{0=&v|qbw|w+&x0P!b-FJ9epCaDvL9@N+K%D%}RWe zEi4ng^%G6<f-3_mJ)<gJ-3$!16Ac|JGBQkqEgk*ReN00${h~bG%t`|a!|H?6)6&b_ z9P>jHBe@KcGRh*u@)C{Q9gT8L%grN76HB6sQ=RlPGopgClRS(fT#S9o-Lq2z^_`MK zlf0c$ErT;7d@Fnlii=D9)5Ev|LK902!(B4H0}9e|-Hob3LyS|r!=hXZd|b85U2=0u zOMD|OJ&i)cb9`N^+zW$pE9wmlEYe)VEOPP<A_D>}xq>3S(#t$ELqmMMD@(o0vt7a? zs`A{O45A$UGP3eY9bLTweJp&^OhW?l(KAb7VRB@pqk>Pqk7IhiOInmmxu2hhp=q*{ zQK4s9W{^jsp<!ZfMpT4JL8!Aum2*V8Cs%e<eR{b;NqBNvP>Q~`XH{@%w!6P?xNBZU ziDRjgWr<gguR&yhPhqZ+w+WZ7uC9WSc~oUZW~jfDi)C`IlUaVGhh>RZut}k-WwL*0 zRh6enxx1sev7dQvxB(Xv{~pCT+ag^%lRr%7S!+D$uHg2+GuSq;hjMK+)vDR^g`Hud zwY0Z_aH-7+qZgYbnZDTe2Cwom)ky5q?o>5()Mn?qS`%C$=%nu)k#GKrb?TBo*4y2y gzs1}V)R<#9S-fxdM(5Lvx6LdVn!}kq)ttG*02SwmZ2$lO From 6d7a0f8202ba1dcb9b6a48c4cbe80f88b30b9e90 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 7 Jan 2025 02:03:40 +0000 Subject: [PATCH 1302/2258] hetznix: re-enable forgejo and fix SSH issue --- nix/hosts/hetznix/services/forgejo.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/services/forgejo.nix b/nix/hosts/hetznix/services/forgejo.nix index d7df3b45..d6253a21 100644 --- a/nix/hosts/hetznix/services/forgejo.nix +++ b/nix/hosts/hetznix/services/forgejo.nix @@ -3,12 +3,14 @@ { services = { forgejo = { - enable = false; + enable = true; settings = { server = { DOMAIN = "code.oliverdavies.uk"; HTTP_PORT = 2223; + ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; + SSH_DOMAIN = "ssh.code.oliverdavies.uk"; }; service = { From 279ce3ebf4c44d7ff0ebbe828276c7d953c65917 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 7 Jan 2025 02:17:18 +0000 Subject: [PATCH 1303/2258] hetznix: refactor SSH_DOMAIN --- nix/hosts/hetznix/services/forgejo.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/services/forgejo.nix b/nix/hosts/hetznix/services/forgejo.nix index d6253a21..2188b856 100644 --- a/nix/hosts/hetznix/services/forgejo.nix +++ b/nix/hosts/hetznix/services/forgejo.nix @@ -10,7 +10,7 @@ DOMAIN = "code.oliverdavies.uk"; HTTP_PORT = 2223; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; - SSH_DOMAIN = "ssh.code.oliverdavies.uk"; + SSH_DOMAIN = "ssh.${config.services.forgejo.settings.server.DOMAIN}"; }; service = { From 384c9aadb18d730e55da3918a236581fc59747a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 7 Jan 2025 18:00:00 +0000 Subject: [PATCH 1304/2258] Delete ghostty configuration --- ghostty/config | 17 ------------- nix/home/opdavies/hosts/lemp11.nix | 1 - .../home-manager/features/desktop/default.nix | 1 - .../home-manager/features/desktop/ghostty.nix | 25 ------------------- 4 files changed, 44 deletions(-) delete mode 100644 ghostty/config delete mode 100644 nix/modules/home-manager/features/desktop/ghostty.nix diff --git a/ghostty/config b/ghostty/config deleted file mode 100644 index 4bbd3b3e..00000000 --- a/ghostty/config +++ /dev/null @@ -1,17 +0,0 @@ -adjust-cell-height = 25% - -background = #000000 - -cursor-style-blink = false - -# Disable ligatures. -font-feature = -calt -font-feature = -liga -font-feature = -dlig - -font-size = 15 - -window-decoration = false - -window-padding-x = 10 -window-padding-y = 10 diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index a0e3faf2..c2530234 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -12,7 +12,6 @@ discord.enable = true; espanso.enable = true; flameshot.enable = true; - ghostty.enable = true; gtk.enable = true; slack.enable = true; diff --git a/nix/modules/home-manager/features/desktop/default.nix b/nix/modules/home-manager/features/desktop/default.nix index b3545110..243d22d0 100644 --- a/nix/modules/home-manager/features/desktop/default.nix +++ b/nix/modules/home-manager/features/desktop/default.nix @@ -5,7 +5,6 @@ ./discord.nix ./espanso.nix ./flameshot.nix - ./ghostty.nix ./gtk.nix ./media ./slack.nix diff --git a/nix/modules/home-manager/features/desktop/ghostty.nix b/nix/modules/home-manager/features/desktop/ghostty.nix deleted file mode 100644 index 6101b71a..00000000 --- a/nix/modules/home-manager/features/desktop/ghostty.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - config, - inputs, - lib, - self, - system, - ... -}: - -with lib; - -let - cfg = config.features.desktop.ghostty; - - pkgs-master = inputs.nixpkgs-master.legacyPackages.${system}; -in -{ - options.features.desktop.ghostty.enable = mkEnableOption "Enable ghostty"; - - config = mkIf cfg.enable { - home.packages = [ pkgs-master.ghostty ]; - - xdg.configFile."ghostty/config".source = "${self}/ghostty/config"; - }; -} From 5f8bb22a9005287c3660f6f16039f04ea726ce4d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 7 Jan 2025 18:00:00 +0000 Subject: [PATCH 1305/2258] nixedo: remove Forgejo --- nix/hosts/nixedo/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix index 5a6d0ade..a598cf9c 100644 --- a/nix/hosts/nixedo/default.nix +++ b/nix/hosts/nixedo/default.nix @@ -7,7 +7,6 @@ homelab = { audiobookshelf.enable = true; beaverhabits.enable = true; - forgejo.enable = true; freshrss.enable = true; gitea.enable = true; immich.enable = true; From 7e3743d47042cf30ce3270ebd31905c5f7a484e6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 7 Jan 2025 20:55:58 +0000 Subject: [PATCH 1306/2258] Make syncthing configurable per host --- nix/home/opdavies/hosts/PW05CH3L.nix | 1 + nix/home/opdavies/hosts/lemp11.nix | 1 + nix/home/opdavies/hosts/nixedo.nix | 1 + .../home-manager/features/cli/syncthing.nix | 15 ++++++++++++++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index a2f8c144..91f78328 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -2,6 +2,7 @@ features = { cli = { direnv.enable = true; + syncthing.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index c2530234..1a472922 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -4,6 +4,7 @@ features = { cli = { direnv.enable = true; + syncthing.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/home/opdavies/hosts/nixedo.nix b/nix/home/opdavies/hosts/nixedo.nix index ef00c48a..2eaac9f3 100644 --- a/nix/home/opdavies/hosts/nixedo.nix +++ b/nix/home/opdavies/hosts/nixedo.nix @@ -4,6 +4,7 @@ features = { cli = { direnv.enable = true; + syncthing.enable = true; }; desktop = { diff --git a/nix/modules/home-manager/features/cli/syncthing.nix b/nix/modules/home-manager/features/cli/syncthing.nix index d496e5e3..094ff2c2 100644 --- a/nix/modules/home-manager/features/cli/syncthing.nix +++ b/nix/modules/home-manager/features/cli/syncthing.nix @@ -1 +1,14 @@ -{ services.syncthing.enable = true; } +{ config, lib, ... }: + +with lib; + +let + cfg = config.features.cli.syncthing; +in +{ + options.features.cli.syncthing.enable = mkEnableOption "Enable syncthing"; + + config = mkIf cfg.enable { + services.syncthing.enable = true; + }; +} From 37ee30dfc04353602e43efba4161210c1dca1b29 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 7 Jan 2025 21:08:11 +0000 Subject: [PATCH 1307/2258] Add syncthing via NixOS Adding it via Home Manager doesn't work, presumably due to WSL. --- nix/hosts/PW05CH3L/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix index 1646bc4e..aee6bd3e 100644 --- a/nix/hosts/PW05CH3L/default.nix +++ b/nix/hosts/PW05CH3L/default.nix @@ -18,4 +18,6 @@ enable = true; defaultUser = username; }; + + services.syncthing.enable = true; } From df9c5c87c5db12b3fbdbf885f1bdd524e25a3cb4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 00:04:08 +0000 Subject: [PATCH 1308/2258] Fix SSH domain --- nix/hosts/hetznix/services/forgejo.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/hetznix/services/forgejo.nix b/nix/hosts/hetznix/services/forgejo.nix index 2188b856..477af67e 100644 --- a/nix/hosts/hetznix/services/forgejo.nix +++ b/nix/hosts/hetznix/services/forgejo.nix @@ -10,7 +10,7 @@ DOMAIN = "code.oliverdavies.uk"; HTTP_PORT = 2223; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; - SSH_DOMAIN = "ssh.${config.services.forgejo.settings.server.DOMAIN}"; + SSH_DOMAIN = "ssh.oliverdavies.uk"; }; service = { From 8aeadbf708919c066bf0fc2721f99b1d35de5c13 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 00:13:56 +0000 Subject: [PATCH 1309/2258] Remove unused import --- flake.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake.nix b/flake.nix index 24044c98..8c4a0368 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,6 @@ { agenix, disko, - home-manager, nixos-hardware, nixos-wsl, nixpkgs, From 6cd711920b6d247901aea8a24a02af9c124036c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 00:22:55 +0000 Subject: [PATCH 1310/2258] t490: re-enable syncthing --- nix/home/opdavies/hosts/t490.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index c2530234..1a472922 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -4,6 +4,7 @@ features = { cli = { direnv.enable = true; + syncthing.enable = true; tmux-sessionizer.enable = true; }; From 30f336f05bb88abc1d72e93695a04f47b54c6c33 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 08:54:14 +0000 Subject: [PATCH 1311/2258] Merge default.nix files into configuration.nix --- flake.nix | 8 +++---- nix/hosts/PW05CH3L/configuration.nix | 22 +++++++++++++++++++- nix/hosts/PW05CH3L/default.nix | 23 --------------------- nix/hosts/lemp11/configuration.nix | 23 +++++++++++++++++++++ nix/hosts/lemp11/default.nix | 31 ---------------------------- nix/hosts/nixedo/configuration.nix | 28 ++++++++++++++++++++++++- nix/hosts/nixedo/default.nix | 29 -------------------------- nix/hosts/nixedo/extra.nix | 5 ----- nix/hosts/t490/configuration.nix | 23 +++++++++++++++------ nix/hosts/t490/default.nix | 21 ------------------- 10 files changed, 92 insertions(+), 121 deletions(-) delete mode 100644 nix/hosts/PW05CH3L/default.nix delete mode 100644 nix/hosts/lemp11/default.nix delete mode 100644 nix/hosts/nixedo/default.nix delete mode 100644 nix/hosts/nixedo/extra.nix delete mode 100644 nix/hosts/t490/default.nix diff --git a/flake.nix b/flake.nix index 8c4a0368..d8b82ff6 100644 --- a/flake.nix +++ b/flake.nix @@ -72,7 +72,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/lemp11 + ./nix/hosts/lemp11/configuration.nix ]; }; @@ -86,7 +86,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/nixedo + ./nix/hosts/nixedo/configuration.nix ]; }; @@ -101,7 +101,7 @@ nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.lenovo-thinkpad-t490 - ./nix/hosts/t490 + ./nix/hosts/t490/configuration.nix ]; }; @@ -119,7 +119,7 @@ disko.nixosModules.disko nixos-wsl.nixosModules.default - ./nix/hosts/PW05CH3L + ./nix/hosts/PW05CH3L/configuration.nix ]; }; diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index ccc0d6e0..b7f4cc29 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -1,6 +1,26 @@ -{ inputs, ... }: +{ inputs, username, ... }: { + imports = [ + ../common + ../../users/opdavies + + ./configuration.nix + ]; + + features = { + cli = { + docker.enable = true; + }; + }; + + wsl = { + enable = true; + defaultUser = username; + }; + + services.syncthing.enable = true; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nix = { diff --git a/nix/hosts/PW05CH3L/default.nix b/nix/hosts/PW05CH3L/default.nix deleted file mode 100644 index aee6bd3e..00000000 --- a/nix/hosts/PW05CH3L/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ username, ... }: - -{ - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ]; - - features = { - cli = { - docker.enable = true; - }; - }; - - wsl = { - enable = true; - defaultUser = username; - }; - - services.syncthing.enable = true; -} diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 478bc2b5..469f702c 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -15,10 +15,33 @@ ./hardware-configuration.nix + ../common + ../../users/opdavies ../../users/eric ../../users/luke ]; + features = { + cli = { + docker.enable = true; + }; + + desktop = { + autorandr.enable = true; + gaming.enable = true; + peek.enable = true; + }; + + homelab = { + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + }; + }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; # Bootloader. diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix deleted file mode 100644 index 83a8cb0a..00000000 --- a/nix/hosts/lemp11/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ ... }: - -{ - features = { - cli = { - docker.enable = true; - }; - - desktop = { - autorandr.enable = true; - gaming.enable = true; - peek.enable = true; - }; - - homelab = { - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - }; - }; - - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ]; -} diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index 635a22f3..dc0dd762 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -7,10 +7,36 @@ { imports = [ ./hardware-configuration.nix - + ./secrets.nix ./modules/acme.nix + + ../common + ../../users/opdavies ]; + features = { + cli = { + docker.enable = true; + }; + + homelab = { + audiobookshelf.enable = true; + beaverhabits.enable = true; + freshrss.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + vaultwarden.enable = true; + }; + }; + + programs.dconf.enable = true; + + services.logind.lidSwitchExternalPower = "ignore"; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot.loader = { diff --git a/nix/hosts/nixedo/default.nix b/nix/hosts/nixedo/default.nix deleted file mode 100644 index a598cf9c..00000000 --- a/nix/hosts/nixedo/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - features = { - cli = { - docker.enable = true; - }; - - homelab = { - audiobookshelf.enable = true; - beaverhabits.enable = true; - freshrss.enable = true; - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; - }; - }; - - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ./secrets.nix - ./extra.nix - ]; -} diff --git a/nix/hosts/nixedo/extra.nix b/nix/hosts/nixedo/extra.nix deleted file mode 100644 index b4e52420..00000000 --- a/nix/hosts/nixedo/extra.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.dconf.enable = true; - - services.logind.lidSwitchExternalPower = "ignore"; -} diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 069fd657..ca071062 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -1,15 +1,26 @@ -{ - inputs, - pkgs, - username, - ... -}: +{ inputs, pkgs, ... }: { imports = [ ./hardware-configuration.nix + ./hardware.nix + ./programs.nix + ./services + ./users.nix + + ../common + ../../users/opdavies ]; + features = { + desktop = { + autorandr.enable = true; + gaming.enable = true; + i3.enable = true; + peek.enable = true; + }; + }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot = { diff --git a/nix/hosts/t490/default.nix b/nix/hosts/t490/default.nix deleted file mode 100644 index 7b497fe1..00000000 --- a/nix/hosts/t490/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - imports = [ - ../common - ../../users/opdavies - - ./configuration.nix - ./hardware.nix - ./programs.nix - ./services - ./users.nix - ]; - - features = { - desktop = { - autorandr.enable = true; - gaming.enable = true; - i3.enable = true; - peek.enable = true; - }; - }; -} From 320f503b1e1eda63f2a2dd9e8b112e425ec1e404 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 20:34:03 +0000 Subject: [PATCH 1312/2258] Standardise PHP versions --- nix/modules/home-manager/features/cli/neovim.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 125617aa..effbb007 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -8,6 +8,10 @@ with lib; +let + php = pkgs.php82; + phpPackages = pkgs.php82Packages; +in { options.features.cli.neovim.enable = mkEnableOption "Enable neovim"; @@ -130,7 +134,7 @@ with lib; # Languages nodePackages.typescript nodejs-slim - php81 + php # Language servers gopls @@ -162,8 +166,8 @@ with lib; html-tidy nodePackages.jsonlint nodePackages.markdownlint-cli - php82Packages.php-codesniffer - php82Packages.phpstan + phpPackages.php-codesniffer + phpPackages.phpstan proselint shellcheck yamllint From f94bf1e8836e477e850c0334f49d5028bf1656b2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 20:42:36 +0000 Subject: [PATCH 1313/2258] Replace the intelephense LSP with phpactor --- nix/modules/home-manager/features/cli/neovim.nix | 1 - nvim/lua/opdavies/lsp/init.lua | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index effbb007..468cd78f 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -145,7 +145,6 @@ in nodePackages."@tailwindcss/language-server" nodePackages.bash-language-server nodePackages.dockerfile-language-server-nodejs - nodePackages.intelephense nodePackages.typescript-language-server nodePackages.vscode-langservers-extracted nodePackages.yaml-language-server diff --git a/nvim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua index 34932f1a..e4b4e074 100644 --- a/nvim/lua/opdavies/lsp/init.lua +++ b/nvim/lua/opdavies/lsp/init.lua @@ -23,7 +23,7 @@ lspconfig.html.setup { capabilities = capabilities, } -lspconfig.intelephense.setup { +lspconfig.phpactor.setup { capabilities = capabilities, } From e3a11b8d06854d1aac2907c6a50bd60ee727f3bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 20:55:14 +0000 Subject: [PATCH 1314/2258] Add keybindings to enable, disable and toggle ...diagnostics --- nvim/lua/opdavies/lsp/init.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nvim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua index e4b4e074..cf599956 100644 --- a/nvim/lua/opdavies/lsp/init.lua +++ b/nvim/lua/opdavies/lsp/init.lua @@ -124,3 +124,11 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, { buffer = 0 }) end, }) + +vim.keymap.set("n", "<leader>dd", function() + vim.diagnostic.enable(false) +end) + +vim.keymap.set("n", "<leader>de", function() + vim.diagnostic.enable(true) +end) From d56eef80700062a3261aa6782524bbdc312abc76 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 22:00:00 +0000 Subject: [PATCH 1315/2258] Fix infinite loop --- nix/hosts/PW05CH3L/configuration.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index b7f4cc29..df586ba4 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -4,8 +4,6 @@ imports = [ ../common ../../users/opdavies - - ./configuration.nix ]; features = { From fd0eb9166ca50b1800480a81943983fa66de7a94 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 8 Jan 2025 22:00:00 +0000 Subject: [PATCH 1316/2258] Add a Phpactor template for creating collections --- phpactor/phpactor.yml | 1 + .../templates/collection/SourceCode.php.twig | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 phpactor/templates/collection/SourceCode.php.twig diff --git a/phpactor/phpactor.yml b/phpactor/phpactor.yml index 536f4083..1c755d12 100644 --- a/phpactor/phpactor.yml +++ b/phpactor/phpactor.yml @@ -1,4 +1,5 @@ code_transform.class_new.variants: + collection: collection default: default drupal-functional-test: drupal-functional-test drupal-kernel-test: drupal-kernel-test diff --git a/phpactor/templates/collection/SourceCode.php.twig b/phpactor/templates/collection/SourceCode.php.twig new file mode 100644 index 00000000..15a9731f --- /dev/null +++ b/phpactor/templates/collection/SourceCode.php.twig @@ -0,0 +1,22 @@ +<?php + +declare(strict_types=1); + +namespace {{ prototype.namespace }}; + +{% for class in prototype.classes %} +final class {{ class.name }} implements \IteratorAggregate { + + public function __construct(private array $items = []) { + } + + public function getIterator(): \Iterator { + return new \ArrayIterator($this->items); + } + + public function toArray(): array { + return $this->items; + } + +} +{% endfor %} From 5160384b1020dba532090b4a5266c2667ffcd717 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 9 Jan 2025 22:00:00 +0000 Subject: [PATCH 1317/2258] Reset diagnostics after disabling --- nvim/lua/opdavies/lsp/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua index cf599956..b12d26be 100644 --- a/nvim/lua/opdavies/lsp/init.lua +++ b/nvim/lua/opdavies/lsp/init.lua @@ -127,6 +127,7 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "<leader>dd", function() vim.diagnostic.enable(false) + vim.diagnostic.reset() end) vim.keymap.set("n", "<leader>de", function() From f982861233725293fbfa2c3da1084df67c16b090 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 9 Jan 2025 22:00:00 +0000 Subject: [PATCH 1318/2258] Remove notify-battery script with i3-battery-popup https://github.com/rjekker/i3-battery-popup --- nix/home/opdavies/default.nix | 1 - nix/hosts/lemp11/configuration.nix | 6 ---- nix/hosts/t490/services/default.nix | 6 ---- nix/modules/nixos/i3.nix | 9 +----- nix/pkgs/default.nix | 2 +- nix/pkgs/i3-battery-popup.nix | 21 +++++++++++++ nix/pkgs/notify-battery.nix | 46 ----------------------------- 7 files changed, 23 insertions(+), 68 deletions(-) create mode 100644 nix/pkgs/i3-battery-popup.nix delete mode 100644 nix/pkgs/notify-battery.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index f4b099f6..1056634c 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -54,7 +54,6 @@ in build-glove80 gscan2pdf meslo-lg - notify-battery obs-studio okular pamixer diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 469f702c..7fb172d8 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -148,12 +148,6 @@ services.blueman.enable = true; - services.cron = { - enable = true; - - systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; - }; - services.auto-cpufreq.enable = true; services.udev = { diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index 4b00029a..c73817ea 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -19,12 +19,6 @@ blueman.enable = true; - cron = { - enable = true; - - systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ]; - }; - gvfs.enable = true; openssh.enable = true; power-profiles-daemon.enable = false; diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index eb8c0c4c..94e9373e 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -20,14 +20,6 @@ in config = mkIf config.features.desktop.i3.enable { services = { - cron = { - enable = true; - - systemCronJobs = [ - "* * * * * opdavies ${pkgs.notify-battery}/bin/notify-battery" - ]; - }; - displayManager.defaultSession = "none+i3"; xserver = { @@ -108,6 +100,7 @@ in exec_always --no-startup-id caffeine exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change + exec_always --no-startup-id ${pkgs.i3-battery-popup}/bin/i3-battery-popup -n smart_borders on smart_gaps on diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index b42201e3..a91c7090 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -8,7 +8,7 @@ in { build-glove80 = callPackage ./build-glove80.nix { }; notes = callPackage ./notes.nix { }; - notify-battery = callPackage ./notify-battery.nix { }; + i3-battery-popup = callPackage ./i3-battery-popup.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; diff --git a/nix/pkgs/i3-battery-popup.nix b/nix/pkgs/i3-battery-popup.nix new file mode 100644 index 00000000..9cd1505e --- /dev/null +++ b/nix/pkgs/i3-battery-popup.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +pkgs.stdenv.mkDerivation rec { + pname = "i3-battery-popop"; + version = "1.1.1"; + + src = pkgs.fetchFromGitHub { + owner = "rjekker"; + repo = "i3-battery-popup"; + rev = "v${version}"; + sha256 = "s6jZCkB0Z8dtnBG2p1NJIUY1fV4urEp4w6wFzxFNlqg="; + }; + + buildInputs = with pkgs; [ bash ]; + + installPhase = '' + mkdir -p $out/bin + cp $src/i3-battery-popup $out/bin/i3-battery-popup + chmod +x $out/bin/i3-battery-popup + ''; +} diff --git a/nix/pkgs/notify-battery.nix b/nix/pkgs/notify-battery.nix deleted file mode 100644 index 7355f4f3..00000000 --- a/nix/pkgs/notify-battery.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "notify-battery"; - - runtimeInputs = with pkgs; [ - acpi - bash - coreutils - dbus - ]; - - text = '' - set +o nounset - set +o pipefail - - export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus" - export DISPLAY=:0 - - # Battery percentage at which to notify. - BATTERY_DISCHARGING=$(acpi -b | grep "Battery 0" | grep -c "Discharging") - BATTERY_LEVEL=$(acpi -b | grep "Battery 0" | grep -P -o '[0-9]+(?=%)') - WARNING_LEVEL=20 - - # Use two files to store whether we've shown a notification or not (to prevent multiple notifications). - EMPTY_FILE=/tmp/battery-empty - FULL_FILE=/tmp/battery-full - - # Reset notifications if the computer is charging/discharging. - if [ "$BATTERY_DISCHARGING" -eq 1 ] && [ -f $FULL_FILE ]; then - rm $FULL_FILE - elif [ "$BATTERY_DISCHARGING" -eq 0 ] && [ -f $EMPTY_FILE ]; then - rm $EMPTY_FILE - fi - - # If the battery is charging and is full (and has not shown notification yet). - if [ "$BATTERY_LEVEL" -gt 95 ] && [ "$BATTERY_DISCHARGING" -eq 0 ] && [ ! -f $FULL_FILE ]; then - notify-send "Battery Charged" "Battery is fully charged." -r 9991 - touch $FULL_FILE - # If the battery is low and is not charging (and has not shown notification yet). - elif [ "$BATTERY_LEVEL" -le $WARNING_LEVEL ] && [ "$BATTERY_DISCHARGING" -eq 1 ] && [ ! -f $EMPTY_FILE ]; then - notify-send "Low Battery" "''${BATTERY_LEVEL}% of battery remaining." -u critical -r 9991 -t 0 - touch $EMPTY_FILE - fi - ''; -} From 48ab2b7cab9930c776e4fb4559a044a9a973a366 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 10 Jan 2025 00:09:51 +0000 Subject: [PATCH 1319/2258] Add floating IP address --- nix/hosts/hetznix/configuration.nix | 6 +----- nix/hosts/hetznix/networking.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 nix/hosts/hetznix/networking.nix diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index b19b11c7..54cfffc2 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -12,6 +12,7 @@ ./disks.nix ./hardware-configuration.nix + ./networking.nix ./secrets.nix ./security ./services @@ -27,11 +28,6 @@ nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; }; - networking.firewall.allowedTCPPorts = [ - 80 - 443 - ]; - boot.loader.grub = { efiSupport = true; efiInstallAsRemovable = true; diff --git a/nix/hosts/hetznix/networking.nix b/nix/hosts/hetznix/networking.nix new file mode 100644 index 00000000..56da7730 --- /dev/null +++ b/nix/hosts/hetznix/networking.nix @@ -0,0 +1,19 @@ +{ + networking = { + firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + interfaces.enp1s0 = { + useDHCP = true; + + ipv4.addresses = [ + { + address = "116.203.11.255"; + prefixLength = 32; + } + ]; + }; + }; +} From 5229429bc42bf489aa831994a69ab9d691b80c74 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 15 Jan 2025 08:00:00 +0000 Subject: [PATCH 1320/2258] Update todo.txt --- todo.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/todo.txt b/todo.txt index 730307c0..97bc021a 100644 --- a/todo.txt +++ b/todo.txt @@ -3,3 +3,6 @@ Add daily script Add create-podcast-tasks script Replace doppler with agenix Evaluate services.languagetool as a replacement for Grammarly +Make git email address configurable +Make NOTES_DIRECTORY configurable +Finish configuring syncthing with nix - https://github.com/neeasade/dotfiles/blob/694c2a11107c10947af956befe16cbe5cee0abda/os/nixos/config/shared.nix#L62 From 7771c880403418e3c2d533fd5c4e3e554303b130 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 15 Jan 2025 08:00:00 +0000 Subject: [PATCH 1321/2258] Refactor Home Manager modules --- flake.nix | 2 ++ nix/home/common/default.nix | 12 ++++++++++++ nix/home/opdavies/default.nix | 6 +++++- nix/lib/shared/home-manager.nix | 25 ++----------------------- nix/modules/home-manager/default.nix | 5 +---- todo.txt | 1 - 6 files changed, 22 insertions(+), 29 deletions(-) create mode 100644 nix/home/common/default.nix diff --git a/flake.nix b/flake.nix index d8b82ff6..3e2dc51b 100644 --- a/flake.nix +++ b/flake.nix @@ -62,6 +62,8 @@ nixosModules.default = ./nix/modules/nixos; + homeManagerModules.default = ./nix/modules/home-manager; + nixosConfigurations = { lemp11 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { diff --git a/nix/home/common/default.nix b/nix/home/common/default.nix new file mode 100644 index 00000000..b004924f --- /dev/null +++ b/nix/home/common/default.nix @@ -0,0 +1,12 @@ +{ + outputs, + hostname, + username, + ... +}: + +{ + imports = builtins.attrValues outputs.homeManagerModules ++ [ + ../../home/${username}/hosts/${hostname}.nix + ]; +} diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 1056634c..228c981a 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -44,7 +44,10 @@ let }; in { - imports = [ shared-config ]; + imports = [ + ../common + shared-config + ]; home.packages = shared-packages @@ -64,6 +67,7 @@ in ); home.sessionVariables = { + DOCUMENTS = "$HOME/Documents"; EDITOR = "nvim"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index 0cae3665..4120346d 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -1,12 +1,5 @@ -{ - config, - hostname, - inputs, - lib, - pkgs, - username, - self, -}: +{ lib, username, ... }: + { home.username = "${username}"; home.homeDirectory = "/home/${username}"; @@ -41,18 +34,4 @@ }; } ]; - - imports = [ - (import ../../modules/home-manager { - inherit - config - inputs - lib - self - pkgs - ; - }) - - ../../home/${username}/hosts/${hostname}.nix - ]; } diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix index 6f67cc9a..075bcdb1 100644 --- a/nix/modules/home-manager/default.nix +++ b/nix/modules/home-manager/default.nix @@ -18,10 +18,7 @@ pkgs ; }) + ./features/desktop ]; - - home.sessionVariables = { - DOCUMENTS = "$HOME/Documents"; - }; } diff --git a/todo.txt b/todo.txt index 97bc021a..c8b8d6ee 100644 --- a/todo.txt +++ b/todo.txt @@ -1,4 +1,3 @@ -Use nixosModules and homeManagerModules outputs in flake.nix to simplify importing modules Add daily script Add create-podcast-tasks script Replace doppler with agenix From c3481f8ba69a183bbee006da1766675a25617f85 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:17:31 +0000 Subject: [PATCH 1322/2258] nix flake update --- flake.lock | 95 +++++++++++---------------- flake.nix | 1 + nix/hosts/lemp11/configuration.nix | 2 +- nix/hosts/t490/hardware.nix | 2 - nix/hosts/t490/services/default.nix | 1 + nix/modules/nixos/features/gaming.nix | 2 +- nix/overlays/default.nix | 5 ++ 7 files changed, 48 insertions(+), 60 deletions(-) diff --git a/flake.lock b/flake.lock index 2e8a50a1..e9f3c780 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1734701201, - "narHash": "sha256-hk0roBX10j/hospoWIJIJj3i2skd7Oml6yKQBx7mTFk=", + "lastModified": 1736591904, + "narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=", "owner": "nix-community", "repo": "disko", - "rev": "2ee76c861af3b895b3b104bae04777b61397485b", + "rev": "33827d2bd16bfe2e21b62956526c72d313595dfd", "type": "github" }, "original": { @@ -79,24 +79,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -125,11 +107,11 @@ ] }, "locked": { - "lastModified": 1734893333, - "narHash": "sha256-0Ft7iTkl3UWAix72teY5nflYQD7GE0KvIiT+ox4wkB8=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "1f74238a4c8e534a1b6be72cb5153043071ffd17", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -141,11 +123,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1734862644, - "narHash": "sha256-04xesW7HITdF5WUmNM39WD4tkEERk3Ez2W1nNvdIvIw=", + "lastModified": 1736441705, + "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e8516a23524cc9083f5a02a8d64d14770e4c7c09", + "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", "type": "github" }, "original": { @@ -158,15 +140,14 @@ "nixos-wsl": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": "flake-utils", "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1733854371, - "narHash": "sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf+CKyr0=", + "lastModified": 1736095716, + "narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "dee4425dcee3149475ead0cb6a616b8a028c5888", + "rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0", "type": "github" }, "original": { @@ -194,11 +175,11 @@ }, "nixpkgs-2405": { "locked": { - "lastModified": 1734529975, - "narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=", + "lastModified": 1735563628, + "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a", + "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", "type": "github" }, "original": { @@ -208,13 +189,29 @@ "type": "github" } }, - "nixpkgs-master": { + "nixpkgs-2411": { "locked": { - "lastModified": 1735606615, - "narHash": "sha256-j2QeXLGlydjd6gDSyHasBJ0OoPXFDSYgd0KbyVCnE3w=", + "lastModified": 1736549401, + "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c49743669a58a01d5978bf5cab134d2ae717696c", + "rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-master": { + "locked": { + "lastModified": 1736676754, + "narHash": "sha256-8mBXIWtVDgsHY2TIx1HC4tpG/62DGP9nrKCsJcnhtCI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3cdbf0a9ec6dcb0db3f2987759ce42057d788c24", "type": "github" }, "original": { @@ -242,11 +239,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1736523798, + "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "130595eba61081acde9001f43de3248d8888ac4a", "type": "github" }, "original": { @@ -265,6 +262,7 @@ "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-master": "nixpkgs-master" } }, @@ -282,21 +280,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3e2dc51b..0057f400 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-2411.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 7fb172d8..79485f5d 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -86,7 +86,7 @@ services.printing.enable = true; - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; hardware.bluetooth.enable = true; diff --git a/nix/hosts/t490/hardware.nix b/nix/hosts/t490/hardware.nix index 54785de3..3798ca48 100644 --- a/nix/hosts/t490/hardware.nix +++ b/nix/hosts/t490/hardware.nix @@ -1,7 +1,5 @@ { hardware = { bluetooth.enable = true; - - pulseaudio.enable = false; }; } diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index c73817ea..4ca3fa92 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -23,6 +23,7 @@ openssh.enable = true; power-profiles-daemon.enable = false; printing.enable = true; + pulseaudio.enable = false; throttled.enable = true; thermald.enable = true; }; diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/features/gaming.nix index c8f4d40b..abcf78ca 100644 --- a/nix/modules/nixos/features/gaming.nix +++ b/nix/modules/nixos/features/gaming.nix @@ -13,6 +13,6 @@ with lib; config = mkIf config.features.desktop.gaming.enable { programs.steam.enable = true; - environment.systemPackages = with pkgs; [ zeroad ]; + environment.systemPackages = with pkgs; [ nixpkgs-2411.zeroad ]; }; } diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 6308c47e..7d42c2e8 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -16,5 +16,10 @@ config.allowUnfree = true; system = final.system; }; + + nixpkgs-2411 = import inputs.nixpkgs-2411 { + config.allowUnfree = true; + system = final.system; + }; }; } From bc6e5be1af589af1516ec13e4fee99b5ba49ae14 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:25:13 +0000 Subject: [PATCH 1323/2258] Switch from lightdm to ly --- nix/hosts/t490/programs.nix | 2 -- nix/modules/nixos/i3.nix | 24 ++++++++---------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index 83fd67ad..dcfb912c 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -1,8 +1,6 @@ { pkgs, ... }: { - programs.dconf.enable = true; - programs.gnupg.agent = { enable = true; enableSSHSupport = true; diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 94e9373e..2f121778 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -20,27 +20,19 @@ in config = mkIf config.features.desktop.i3.enable { services = { - displayManager.defaultSession = "none+i3"; + displayManager.ly.enable = true; - xserver = { - displayManager.lightdm.enable = true; + xserver.windowManager.i3 = { + enable = true; - windowManager.i3 = { - enable = true; - extraPackages = with pkgs; [ - i3status - i3lock - i3blocks - ]; - }; + extraPackages = with pkgs; [ + i3status + i3lock + i3blocks + ]; }; }; - environment.systemPackages = with pkgs; [ - acpi - libnotify - ]; - home-manager.users.${username} = { xsession.windowManager.i3 = { enable = true; From fefdf04a6d28ceb933989d47bdbb59a3cfeeedda Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:40:45 +0000 Subject: [PATCH 1324/2258] Use a wildcard certificate --- nix/hosts/hetznix/security/acme.nix | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/nix/hosts/hetznix/security/acme.nix b/nix/hosts/hetznix/security/acme.nix index b2616232..cd69ffc5 100644 --- a/nix/hosts/hetznix/security/acme.nix +++ b/nix/hosts/hetznix/security/acme.nix @@ -14,25 +14,7 @@ certs."oliverdavies.uk" = { domain = "oliverdavies.uk"; - extraDomainNames = [ - # TODO Refactor to use a wildcard certificate. - "2020.oliverdavies.uk" - "bootstrap-with-tailwind.oliverdavies.uk" - "code.oliverdavies.uk" - "florida-drupalcamp-tailwind-css.oliverdavies.uk" - "luke.oliverdavies.uk" - "phpsw-sculpin-demo.oliverdavies.uk" - "rebuilding-acquia.oliverdavies.uk" - "rebuilding-bartik.oliverdavies.uk" - "rebuilding-bristol-js.oliverdavies.uk" - "rebuilding-symfony.oliverdavies.uk" - "tailwindcss-demo.oliverdavies.uk" - "talking-drupal-tailwindcss.oliverdavies.uk" - "tome.oliverdavies.uk" - "wp-tailwind.oliverdavies.uk" - "www.oliverdavies.uk" - "zet.oliverdavies.uk" - ]; + extraDomainNames = [ "*.oliverdavies.uk" ]; }; }; } From 532d110b05cf8b8c2b6a4ee613f362b8562c784f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:41:02 +0000 Subject: [PATCH 1325/2258] Add Jitsi Meet --- nix/hosts/hetznix/services/default.nix | 1 + nix/hosts/hetznix/services/jitsi.nix | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 nix/hosts/hetznix/services/jitsi.nix diff --git a/nix/hosts/hetznix/services/default.nix b/nix/hosts/hetznix/services/default.nix index a3c9baff..35838ce0 100644 --- a/nix/hosts/hetznix/services/default.nix +++ b/nix/hosts/hetznix/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./caddy ./forgejo.nix + ./jitsi.nix ./openssl.nix ]; } diff --git a/nix/hosts/hetznix/services/jitsi.nix b/nix/hosts/hetznix/services/jitsi.nix new file mode 100644 index 00000000..916a6c2c --- /dev/null +++ b/nix/hosts/hetznix/services/jitsi.nix @@ -0,0 +1,25 @@ +{ + services = { + jitsi-meet = { + enable = true; + caddy.enable = true; + nginx.enable = false; + secureDomain.enable = true; + + hostName = "meet.oliverdavies.uk"; + + prosody = { + enable = true; + lockdown = true; + }; + + jicofo = { + enable = true; + }; + }; + }; + + nixpkgs.config.permittedInsecurePackages = [ + "jitsi-meet-1.0.8043" + ]; +} From 005c34156b078723e072a476d6eb779130a44452 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:41:20 +0000 Subject: [PATCH 1326/2258] Remove unused variable --- nix/modules/nixos/i3.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 2f121778..624c9fea 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -11,8 +11,6 @@ with lib; let - theme = import "${self}/nix/lib/theme" { inherit pkgs; }; - modifier = "Mod4"; in { From 8df2e5c1b91c483b3179ca5ede49089c33c56080 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:48:38 +0000 Subject: [PATCH 1327/2258] Refactor programs --- nix/hosts/t490/programs.nix | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index dcfb912c..ebbf2ef6 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -1,20 +1,22 @@ { pkgs, ... }: { - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; - programs.firefox = { - enable = true; + firefox = { + enable = true; - languagePacks = [ "en-GB" ]; + languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; }; }; } From a2b855214babda377c8edcf70174c625ab13f0e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 12 Jan 2025 11:49:14 +0000 Subject: [PATCH 1328/2258] Remove unused attribute --- nix/hosts/t490/services/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index 4ca3fa92..bb46afd2 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -1,4 +1,4 @@ -{ username, ... }: +{... }: { imports = [ From 0a535c1c4e736d25b7971a7b15bfe91cfb03aecc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 16 Jan 2025 08:03:15 +0000 Subject: [PATCH 1329/2258] Add files subdomain vhost --- .../hetznix/services/caddy/vhosts/default.nix | 1 + .../caddy/vhosts/files.oliverdavies.uk.nix | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/default.nix b/nix/hosts/hetznix/services/caddy/vhosts/default.nix index 41e605ec..902ef55d 100644 --- a/nix/hosts/hetznix/services/caddy/vhosts/default.nix +++ b/nix/hosts/hetznix/services/caddy/vhosts/default.nix @@ -2,6 +2,7 @@ imports = [ ./2020.oliverdavies.uk.nix ./bootstrap-with-tailwind.oliverdavies.uk.nix + ./files.oliverdavies.uk.nix ./florida-drupalcamp-tailwind-css.oliverdavies.uk.nix ./luke.oliverdavies.uk.nix ./phpsw-sculpin-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix new file mode 100644 index 00000000..fc0a6e4e --- /dev/null +++ b/nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix @@ -0,0 +1,15 @@ +{ + services.caddy.virtualHosts."files.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + file_server { + header Content-Disposition "attachment" + } + + root * /var/www/vhosts/files.oliverdavies.uk + + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} From 922012c21537eddc5bca2d4f3bdaf2a90a2b0076 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 16 Jan 2025 08:07:06 +0000 Subject: [PATCH 1330/2258] Add upload-to-files script --- nix/pkgs/default.nix | 1 + nix/pkgs/upload-to-files.nix | 9 +++++++++ nix/users/opdavies/default.nix | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 nix/pkgs/upload-to-files.nix diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index a91c7090..a5fe44cb 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -10,6 +10,7 @@ in notes = callPackage ./notes.nix { }; i3-battery-popup = callPackage ./i3-battery-popup.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; + upload-to-files = callPackage ./upload-to-files.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/nix/pkgs/upload-to-files.nix b/nix/pkgs/upload-to-files.nix new file mode 100644 index 00000000..da0641b7 --- /dev/null +++ b/nix/pkgs/upload-to-files.nix @@ -0,0 +1,9 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "upload-to-files"; + + text = '' + ${pkgs.rsync}/bin/rsync -avz --info=progress2 "$1" ssh.oliverdavies.uk:/var/www/vhosts/files.oliverdavies.uk + ''; +} diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index 0d15bcd5..117f9af1 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -23,7 +23,9 @@ packages = with pkgs; - [ ] + [ + upload-to-files + ] ++ pkgs.lib.optionals (!headless) [ brave firefox From 2db818f017fa529210d2ec13732b06d33f74a969 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 16 Jan 2025 08:03:51 +0000 Subject: [PATCH 1331/2258] Add abook --- nix/hosts/t490/users.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/users.nix b/nix/hosts/t490/users.nix index 1d87bb8d..f663ad5c 100644 --- a/nix/hosts/t490/users.nix +++ b/nix/hosts/t490/users.nix @@ -5,6 +5,7 @@ extraGroups = [ "media" ]; packages = with pkgs; [ + abook android-tools via ]; From a98b56df67275b13a5d39db7a662082f4c18ca02 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 16 Jan 2025 08:54:20 +0000 Subject: [PATCH 1332/2258] Remove 2020.oliverdavies.uk --- .../caddy/vhosts/2020.oliverdavies.uk.nix | 15 --------------- .../hetznix/services/caddy/vhosts/default.nix | 1 - 2 files changed, 16 deletions(-) delete mode 100644 nix/hosts/hetznix/services/caddy/vhosts/2020.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/2020.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/2020.oliverdavies.uk.nix deleted file mode 100644 index fcf968fc..00000000 --- a/nix/hosts/hetznix/services/caddy/vhosts/2020.oliverdavies.uk.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - services.caddy.virtualHosts."2020.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - - root * /var/www/vhosts/2020.oliverdavies.uk - - file_server - - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/nix/hosts/hetznix/services/caddy/vhosts/default.nix b/nix/hosts/hetznix/services/caddy/vhosts/default.nix index 902ef55d..e22f854d 100644 --- a/nix/hosts/hetznix/services/caddy/vhosts/default.nix +++ b/nix/hosts/hetznix/services/caddy/vhosts/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./2020.oliverdavies.uk.nix ./bootstrap-with-tailwind.oliverdavies.uk.nix ./files.oliverdavies.uk.nix ./florida-drupalcamp-tailwind-css.oliverdavies.uk.nix From 54ef8142daca316ffcc47ae8a8ca0dc5b9e7abd4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 16 Jan 2025 13:14:21 +0000 Subject: [PATCH 1333/2258] t490: re-add dconf error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files --- nix/hosts/t490/programs.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index ebbf2ef6..df1b6e8e 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -2,6 +2,8 @@ { programs = { + dconf.enable = true; + gnupg.agent = { enable = true; enableSSHSupport = true; From ed8de700f8230457ea465bba4028876685dd63b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 17 Jan 2025 10:35:42 +0000 Subject: [PATCH 1334/2258] t490: enable upower --- nix/hosts/t490/services/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index bb46afd2..46fca0d4 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -26,5 +26,6 @@ pulseaudio.enable = false; throttled.enable = true; thermald.enable = true; + upower.enable = true; }; } From 403e44afb9090594014954fbc415bc9522b2fff2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 17 Jan 2025 14:33:50 +0000 Subject: [PATCH 1335/2258] Add Hunspell dictionary for en-GB --- nix/hosts/common/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index 5d59ee3f..c8c62f14 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -37,6 +37,7 @@ libnotify pmutils ffmpegthumbnailer + hunspellDicts.en-gb-large libreoffice logseq shotwell From 359bb61628641fdc9dd2e4dafaca089c12a60432 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 17 Jan 2025 20:56:05 +0000 Subject: [PATCH 1336/2258] Move secrets.nix --- nix/{secrets => }/secrets.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename nix/{secrets => }/secrets.nix (92%) diff --git a/nix/secrets/secrets.nix b/nix/secrets.nix similarity index 92% rename from nix/secrets/secrets.nix rename to nix/secrets.nix index 948c6a8f..e89b018a 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets.nix @@ -13,7 +13,7 @@ let }; in { - "cloudflare.age".publicKeys = [ + "secrets/cloudflare.age".publicKeys = [ hosts.hetznix hosts.t490 users.opdavies @@ -21,13 +21,13 @@ in users.opdavies-hetznix ]; - "cloudflare-opdavies-uk.age".publicKeys = [ + "secrets/cloudflare-opdavies-uk.age".publicKeys = [ hosts.nixedo users.opdavies users.opdavies2 ]; - "tubearchivist.age".publicKeys = [ + "secrets/tubearchivist.age".publicKeys = [ hosts.lemp11 hosts.nixedo users.opdavies From 75efe1bf99efc34d4c6727d3b8b9641c7253c482 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 17 Jan 2025 21:23:01 +0000 Subject: [PATCH 1337/2258] Group containers into their own directory --- .../features/homelab/{ => containers}/beaverhabits.nix | 0 nix/modules/nixos/features/homelab/containers/default.nix | 8 ++++++++ .../nixos/features/homelab/{ => containers}/freshrss.nix | 0 .../nixos/features/homelab/{ => containers}/pi-hole.nix | 2 ++ .../tubearchivist.nix} | 0 nix/modules/nixos/features/homelab/default.nix | 5 +---- 6 files changed, 11 insertions(+), 4 deletions(-) rename nix/modules/nixos/features/homelab/{ => containers}/beaverhabits.nix (100%) create mode 100644 nix/modules/nixos/features/homelab/containers/default.nix rename nix/modules/nixos/features/homelab/{ => containers}/freshrss.nix (100%) rename nix/modules/nixos/features/homelab/{ => containers}/pi-hole.nix (96%) rename nix/modules/nixos/features/homelab/{tubearchivist-container.nix => containers/tubearchivist.nix} (100%) diff --git a/nix/modules/nixos/features/homelab/beaverhabits.nix b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix similarity index 100% rename from nix/modules/nixos/features/homelab/beaverhabits.nix rename to nix/modules/nixos/features/homelab/containers/beaverhabits.nix diff --git a/nix/modules/nixos/features/homelab/containers/default.nix b/nix/modules/nixos/features/homelab/containers/default.nix new file mode 100644 index 00000000..41013da6 --- /dev/null +++ b/nix/modules/nixos/features/homelab/containers/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ./beaverhabits.nix + ./freshrss.nix + ./pi-hole.nix + ./tubearchivist.nix + ]; +} diff --git a/nix/modules/nixos/features/homelab/freshrss.nix b/nix/modules/nixos/features/homelab/containers/freshrss.nix similarity index 100% rename from nix/modules/nixos/features/homelab/freshrss.nix rename to nix/modules/nixos/features/homelab/containers/freshrss.nix diff --git a/nix/modules/nixos/features/homelab/pi-hole.nix b/nix/modules/nixos/features/homelab/containers/pi-hole.nix similarity index 96% rename from nix/modules/nixos/features/homelab/pi-hole.nix rename to nix/modules/nixos/features/homelab/containers/pi-hole.nix index 80a6f8d1..2a3bf836 100644 --- a/nix/modules/nixos/features/homelab/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/containers/pi-hole.nix @@ -27,6 +27,8 @@ in image = "pihole/pihole:latest"; environment = { + "PIHOLE_DNS_1" = "8.8.8.8"; + "PIHOLE_DNS_2" = "8.8.4.4"; "TZ" = "Europe/London"; }; diff --git a/nix/modules/nixos/features/homelab/tubearchivist-container.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix similarity index 100% rename from nix/modules/nixos/features/homelab/tubearchivist-container.nix rename to nix/modules/nixos/features/homelab/containers/tubearchivist.nix diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/features/homelab/default.nix index 897465c5..56d4b531 100644 --- a/nix/modules/nixos/features/homelab/default.nix +++ b/nix/modules/nixos/features/homelab/default.nix @@ -1,15 +1,12 @@ { imports = [ ./audiobookshelf.nix - ./beaverhabits.nix + ./containers ./forgejo.nix - ./freshrss.nix ./gitea.nix ./immich.nix ./jellyfin.nix ./paperless.nix - ./pi-hole.nix - ./tubearchivist-container.nix ./vaultwarden.nix ]; } From 5fd27efa502bd48eb7d897acec8aa3344bef2247 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 18 Jan 2025 01:56:28 +0000 Subject: [PATCH 1338/2258] Use the tmux-sessionizer from GitHub Use the tmux-sessionizer code from GitHub instead of writing it myself and apply a patch to change the directories it uses to provide suggestions. --- nix/pkgs/default.nix | 2 +- nix/pkgs/tmux-sessionizer.nix | 59 ------------------- .../configure-directories.patch | 15 +++++ nix/pkgs/tmux-sessionizer/default.nix | 27 +++++++++ 4 files changed, 43 insertions(+), 60 deletions(-) delete mode 100644 nix/pkgs/tmux-sessionizer.nix create mode 100644 nix/pkgs/tmux-sessionizer/configure-directories.patch create mode 100644 nix/pkgs/tmux-sessionizer/default.nix diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index a5fe44cb..84a76b7b 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -9,7 +9,7 @@ in build-glove80 = callPackage ./build-glove80.nix { }; notes = callPackage ./notes.nix { }; i3-battery-popup = callPackage ./i3-battery-popup.nix { }; - tmux-sessionizer = callPackage ./tmux-sessionizer.nix { }; + tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; diff --git a/nix/pkgs/tmux-sessionizer.nix b/nix/pkgs/tmux-sessionizer.nix deleted file mode 100644 index 1590b6ab..00000000 --- a/nix/pkgs/tmux-sessionizer.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "tmux-sessionizer"; - - runtimeInputs = with pkgs; [ tmux ]; - - text = '' - set +o nounset - - # Based on https://github.com/ThePrimeagen/tmux-sessionizer. - - switch_to() { - if [[ -z $TMUX ]]; then - tmux attach-session -t "$1" - else - tmux switch-client -t "$1" - fi - } - - has_session() { - tmux list-sessions | grep -q "^$1:" - } - - hydrate() { - if [ -f "$2/.tmux-sessionizer" ]; then - tmux send-keys -t "$1" "source $2/.tmux-sessionizer" Enter - elif [ -f "$HOME/.tmux-sessionizer" ]; then - tmux send-keys -t "$1" "source $HOME/.tmux-sessionizer" Enter - fi - } - - if [[ $# -eq 1 ]]; then - selected=$1 - else - selected=$(find -L ~/ ~/Code ~/Code/personal ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d ! -name "*.old" | fzf) - fi - - if [[ -z "$selected" ]]; then - exit 0 - fi - - selected_name="$(basename "$selected" | tr . _)" - tmux_running="$(pgrep tmux)" - - if [[ -z $TMUX ]] && [[ -z "$tmux_running" ]]; then - tmux new-session -s "$selected_name" -c "$selected" - hydrate "$selected_name" "$selected" - exit 0 - fi - - if ! has_session "$selected_name"; then - tmux new-session -ds "$selected_name" -c "$selected" - hydrate "$selected_name" "$selected" - fi - - switch_to "$selected_name" - ''; -} diff --git a/nix/pkgs/tmux-sessionizer/configure-directories.patch b/nix/pkgs/tmux-sessionizer/configure-directories.patch new file mode 100644 index 00000000..49fddfda --- /dev/null +++ b/nix/pkgs/tmux-sessionizer/configure-directories.patch @@ -0,0 +1,15 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index fa1bec5..4d79e0b 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -22,9 +22,7 @@ hydrate() { + if [[ $# -eq 1 ]]; then + selected=$1 + else +- # If someone wants to make this extensible, i'll accept +- # PR +- selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) ++ selected=$(find -L ~/ ~/Code ~/Documents -mindepth 1 -maxdepth 1 -type d | sort | fzf) + fi + + if [[ -z $selected ]]; then diff --git a/nix/pkgs/tmux-sessionizer/default.nix b/nix/pkgs/tmux-sessionizer/default.nix new file mode 100644 index 00000000..8e15b3f7 --- /dev/null +++ b/nix/pkgs/tmux-sessionizer/default.nix @@ -0,0 +1,27 @@ +{ pkgs, ... }: + +pkgs.stdenv.mkDerivation rec { + pname = "tmux-sessonizer"; + version = "0.1.0"; + + src = pkgs.fetchFromGitHub { + owner = "theprimeagen"; + repo = "tmux-sessionizer"; + rev = "master"; + sha256 = "bZXt9TyMU1Ed/WR0/ahMQ4oyIi6yXLKnXKYPPNBt/s4="; + }; + + buildInputs = with pkgs; [ + bash + fzf + tmux + ]; + + patches = [ ./configure-directories.patch ]; + + installPhase = '' + mkdir -p $out/bin + cp tmux-sessionizer $out/bin/tmux-sessionizer + chmod +x $out/bin/tmux-sessionizer + ''; +} From 1128fbb94c2f869c013c7ad8854b89e49551a304 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 18 Jan 2025 23:32:01 +0000 Subject: [PATCH 1339/2258] t490: investigate using isync/mbsync Investigate using isync/mbsync to backup emails locally. https://isync.sourceforge.io For this, I've created a ~/.mbsyncrc file that contains my IMAP configuration to connect to my email account and allows me to run `mbsync oliverdavies.uk` to perform the backup. `programs.mbsync` exists in Home Manager, so I can use this if I decide to refactor this and have Home Manager create the configuration file. --- nix/home/opdavies/hosts/t490.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 1a472922..524c4510 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -27,4 +27,6 @@ zoom.enable = true; }; }; + + home.packages = with pkgs; [ isync ]; } From fed99ed659728b916c68840404768aa44fe55ec3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 00:11:21 +0000 Subject: [PATCH 1340/2258] Add .mailmap Add a .mailmap file to make Git contribution history more consistent. - https://git-scm.com/docs/gitmailmap - https://datawookie.dev/blog/2023/05/using-mailmap-to-tidy-git-contributors --- .mailmap | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .mailmap diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000..559ccaed --- /dev/null +++ b/.mailmap @@ -0,0 +1,7 @@ +Oliver Davies <oliver@oliverdavies.dev> <339813+opdavies@users.noreply.github.com> +Oliver Davies <oliver@oliverdavies.dev> <oliver+github@oliverdavies.uk> +Oliver Davies <oliver@oliverdavies.dev> <oliver.davies@tfw.wales> +Oliver Davies <oliver@oliverdavies.dev> <oliver@microserve.io> +Oliver Davies <oliver@oliverdavies.dev> <oliver@oliverdavies.dev> +Oliver Davies <oliver@oliverdavies.dev> <oliver@oliverdavies.uk> +Oliver Davies <oliver@oliverdavies.dev> <opdavies@gmail.com> From 4f3c713f7392f3a0e3b0d4206dfde8fbca68c101 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 16 Jan 2025 17:03:56 +0000 Subject: [PATCH 1341/2258] Refactor zsh plugins - Remove fzf-tab. - Configure zsh-abbr with Home Manager. --- nix/modules/home-manager/features/cli/zsh.nix | 17 +- .../features/cli/zsh/abbreviations.nix | 151 +++++++++++++++++ .../features/cli/zsh/abbreviations.zsh | 153 ------------------ 3 files changed, 157 insertions(+), 164 deletions(-) create mode 100644 nix/modules/home-manager/features/cli/zsh/abbreviations.nix delete mode 100644 nix/modules/home-manager/features/cli/zsh/abbreviations.zsh diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index 8a5e79eb..18b6b4c2 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -6,6 +6,12 @@ enableCompletion = true; syntaxHighlighting.enable = true; + zsh-abbr = { + enable = true; + + abbreviations = import ./zsh/abbreviations.nix; + }; + cdpath = [ "~/Code" ]; dotDir = ".config/zsh"; @@ -55,16 +61,5 @@ setopt pushd_ignore_dups setopt pushdminus ''; - - zplug = { - enable = true; - - plugins = [ - { name = "Aloxaf/fzf-tab"; } - { name = "olets/zsh-abbr"; } - ]; - }; }; - - home.file.".config/zsh-abbr/user-abbreviations".text = builtins.readFile ./zsh/abbreviations.zsh; } diff --git a/nix/modules/home-manager/features/cli/zsh/abbreviations.nix b/nix/modules/home-manager/features/cli/zsh/abbreviations.nix new file mode 100644 index 00000000..08486841 --- /dev/null +++ b/nix/modules/home-manager/features/cli/zsh/abbreviations.nix @@ -0,0 +1,151 @@ +{ + cl = "clear"; + cs = "create-script"; + daily = "run create-daily next"; + rst = "rst2pdf"; + st = "source .tmux"; + sz = "source ~/.config/zsh/.zshrc"; + ti = "timer"; + uagr = "update-all-git-repos"; + v = "nvim"; + yt = "yt-dlp"; + + evl = "export-video-list"; + vv = "cat ~/Documents/videos.json"; + + g = "git"; + ga = "git add"; + gan = "git add -N"; + gap = "git add -p"; + gb = "git branch"; + gbl = "git blame"; + gc = "git commit"; + gca = "git commit --amend"; + gcan = "git commit --amend --no-edit"; + gcl = "git clone"; + gcm = "git commit -m"; + gco = "git checkout"; + gcob = "git checkout -b"; + gd = "git diff"; + gds = "git diff --staged"; + gf = "git fetch"; + gfa = "git fetch --all"; + gl = "git log"; + glo = "git log --oneline"; + gls = "git log --stat"; + gm = "git merge"; + gmf = "git merge --ff"; + gmnf = "git merge --no-ff"; + gp = "git push"; + gpa = "git push acquia"; + gpam = "git push acquia main"; + gpap = "git push acquia HEAD:production"; + gpl = "git pull"; + gplr = "git pull --rebase"; + gpo = "git push origin"; + gpom = "git push origin main"; + gr = "git rebase"; + gra = "git rebase --abort"; + grc = "git rebase --continue"; + gri = "git rebase -i"; + gs = "git status"; + gsh = "git show"; + gst = "git stash"; + gstp = "git stash pop"; + + # tmux + ta = "tmux attach"; + tl = "tmux list-sessions"; + tk = "tmux kill-session"; + + # Docker and Docker Compose. + dk = "docker"; + dkp = "docker ps"; + dkpa = "docker ps -a"; + dkpaq = "docker ps -a -q"; + dkb = "docker build -t"; + dks = "docker start"; + dkt = "docker stop"; + dkrm = "docker rm"; + dkri = "docker rmi"; + dke = "docker exec -ti"; + dkl = "docker logs -f"; + dki = "docker images"; + dkpu = "docker pull"; + dkph = "docker push"; + dkbnc = "docker build --no-cache -t"; + dkr = "docker run --rm"; + dkrti = "docker run --rm -ti"; + dkc = "docker compose"; + dkcb = "docker compose build"; + dkcu = "docker compose up"; + dkclean = "docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi"; + + # Nix and direnv. + dea = "direnv allow"; + dee = "direnv edit"; + nxf = "nix flake"; + nxfc = "nix flake check"; + nxfs = "nix flake show"; + nxfu = "nix flake update"; + nxr = "nix run nixpkgs#%"; + nxs = "nix shell nixpkgs#%"; + + # run scripts. + r = "run"; + rc = "run composer"; + rcda = "run composer dump-autoload"; + rci = "run composer install"; + rcr = "run composer require"; + rcu = "run composer update"; + rd = "run drush"; + rdce = "run drush config:export -y"; + rdci = "run drush config:import -y"; + rdcr = "run drush cache:rebuild"; + rdscr = "run drush php:script"; + rduli = "run drush uli"; + rdup = "run drush updatedb -y"; + rpub = "run publish"; + rt = "run test"; + + "-g A1" = "| awk '{print $1}'"; + "-g C" = "| xclip -sel clip"; + "-g Fj" = "| jq ."; + "-g Fy" = "| yq ."; + "-g G" = "| grep"; + "-g GH" = "| grep HTTP"; + "-g Gi" = "| grep -i"; + "-g H2" = "| head -n 20"; + "-g H" = "| head"; + "-g L" = "| less"; + "-g V" = "| nvim -"; + "-g X" = "| xargs -I1"; + + nah = "git reset --hard; git clean -fd"; + wip = "git commit -m wip"; + + dv = "devenv"; + dvi = "devenv info"; + dvp = "devenv processes"; + dvs = "devenv shell"; + dvt = "devenv tasks"; + dvu = "devenv up"; + + c = "composer"; + cr = "composer require"; + crd = "composer require drupal/%"; + cu = "composer update"; + cul = "composer update --lock"; + cw = "composer why"; + cwn = "composer why-not"; + + d = "drush"; + dce = "drush config:export -y"; + dci = "drush config:import -y"; + dcr = "drush cache:rebuild"; + den = "drush pm:enable -y"; + deu = "drush pm:uninstall"; + dscr = "drush php:script"; + duli = "drush uli"; + dup = "drush updatedb -y"; +} diff --git a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh b/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh deleted file mode 100644 index aa610615..00000000 --- a/nix/modules/home-manager/features/cli/zsh/abbreviations.zsh +++ /dev/null @@ -1,153 +0,0 @@ -abbr cl="clear" -abbr cs="create-script" -abbr daily="run create-daily next" -abbr rst="rst2pdf" -abbr st="source .tmux" -abbr sz="source ~/.config/zsh/.zshrc" -abbr ti="timer" -abbr uagr="update-all-git-repos" -abbr v="nvim" -abbr yt="yt-dlp" - -abbr evl="export-video-list" -abbr vv="cat ~/Documents/videos.json" - -abbr g="git" -abbr ga="git add" -abbr gan="git add -N" -abbr gap="git add -p" -abbr gb="git branch" -abbr gbl="git blame" -abbr gc="git commit" -abbr gca="git commit --amend" -abbr gcan="git commit --amend --no-edit" -abbr gcl="git clone" -abbr gcm="git commit -m" -abbr gco="git checkout" -abbr gcob="git checkout -b" -abbr gd="git diff" -abbr gds="git diff --staged" -abbr gf="git fetch" -abbr gfa="git fetch --all" -abbr gl="git log" -abbr glo="git log --oneline" -abbr gls="git log --stat" -abbr gm="git merge" -abbr gmf="git merge --ff" -abbr gmnf="git merge --no-ff" -abbr gp="git push" -abbr gpa="git push acquia" -abbr gpam="git push acquia main" -abbr gpap="git push acquia HEAD:production" -abbr gpl="git pull" -abbr gplr="git pull --rebase" -abbr gpo="git push origin" -abbr gpom="git push origin main" -abbr gr="git rebase" -abbr gra="git rebase --abort" -abbr grc="git rebase --continue" -abbr gri="git rebase -i" -abbr gs="git status" -abbr gsh="git show" -abbr gst="git stash" -abbr gstp="git stash pop" - -# tmux -abbr ta="tmux attach" -abbr tl="tmux list-sessions" -abbr tk="tmux kill-session" - -# Docker and Docker Compose. -abbr dk="docker" -abbr dkp="docker ps" -abbr dkpa="docker ps -a" -abbr dkpaq="docker ps -a -q" -abbr dkb="docker build -t" -abbr dks="docker start" -abbr dkt="docker stop" -abbr dkrm="docker rm" -abbr dkri="docker rmi" -abbr dke="docker exec -ti" -abbr dkl="docker logs -f" -abbr dki="docker images" -abbr dkpu="docker pull" -abbr dkph="docker push" -abbr dkbnc="docker build --no-cache -t" -abbr dkr="docker run --rm" -abbr dkrti="docker run --rm -ti" -abbr dkc="docker compose" -abbr dkcb="docker compose build" -abbr dkcu="docker compose up" -abbr dkclean="docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi" - -# Nix and direnv. -abbr dea="direnv allow" -abbr dee="direnv edit" -abbr nxf="nix flake" -abbr nxfc="nix flake check" -abbr nxfs="nix flake show" -abbr nxfu="nix flake update" -abbr nxr="nix run nixpkgs#%" -abbr nxs="nix shell nixpkgs#%" - -# run scripts. -abbr r="run" -abbr rc="run composer" -abbr rcda="run composer dump-autoload" -abbr rci="run composer install" -abbr rcr="run composer require" -abbr rcu="run composer update" -abbr rd="run drush" -abbr rdce="run drush config:export -y" -abbr rdci="run drush config:import -y" -abbr rdcr="run drush cache:rebuild" -abbr rdscr="run drush php:script" -abbr rduli="run drush uli" -abbr rdup="run drush updatedb -y" -abbr rpub="run publish" -abbr rt="run test" - -abbr -g A1="| awk '{print $1}'" -abbr -g C="| xclip -sel clip" -abbr -g Fj="| jq ." -abbr -g Fy="| yq ." -abbr -g G="| grep" -abbr -g GH="| grep HTTP" -abbr -g Gi="| grep -i" -abbr -g H2="| head -n 20" -abbr -g H="| head" -abbr -g L="| less" -abbr -g V="| nvim -" -abbr -g X="| xargs -I1" - -abbr today="task +TODAY" -abbr tomorrow="task +TOMORROW" -abbr overdue="task +OVERDUE" - -abbr nah="git reset --hard; git clean -fd" -abbr wip="git commit -m wip" - -abbr dv="devenv" -abbr dvi="devenv info" -abbr dvp="devenv processes" -abbr dvs="devenv shell" -abbr dvt="devenv tasks" -abbr dvu="devenv up" - -abbr c="composer" -abbr cr="composer require" -abbr crd="composer require drupal/%" -abbr cu="composer update" -abbr cul="composer update --lock" -abbr cw="composer why" -abbr cwn="composer why-not" - -abbr d="drush" -abbr dce="drush config:export -y" -abbr dci="drush config:import -y" -abbr dcr="drush cache:rebuild" -abbr den="drush pm:enable -y" -abbr deu="drush pm:uninstall" -abbr dscr="drush php:script" -abbr duli="drush uli" -abbr dup="drush updatedb -y" From 2f5636c127526a0817f3371bcfd2563c6770b148 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 00:42:50 +0000 Subject: [PATCH 1342/2258] Simplify agenix configuration --- nix/secrets.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/nix/secrets.nix b/nix/secrets.nix index e89b018a..800d970b 100644 --- a/nix/secrets.nix +++ b/nix/secrets.nix @@ -8,8 +8,6 @@ let users = { opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; - opdavies2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N"; - opdavies-hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPaS9xb3nXL2+gSQv5q6Y9pGhRQOoZzUKZJAu0hAYfqj"; }; in { @@ -17,20 +15,14 @@ in hosts.hetznix hosts.t490 users.opdavies - users.opdavies2 - users.opdavies-hetznix - ]; + ] ++ users; "secrets/cloudflare-opdavies-uk.age".publicKeys = [ hosts.nixedo - users.opdavies - users.opdavies2 - ]; + ] ++ users; "secrets/tubearchivist.age".publicKeys = [ hosts.lemp11 hosts.nixedo - users.opdavies - users.opdavies2 - ]; + ] ++ users; } From e04bededf381be91035fb437b49675debc1a3ea2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 12:53:49 +0000 Subject: [PATCH 1343/2258] Run tmux-sessionizer after cloning a repo --- nix/modules/home-manager/features/cli/zsh.nix | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index 18b6b4c2..4ca17eea 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -30,19 +30,39 @@ alias -s {zip,ZIP}="unzip -l" git() { - if [[ "''${1}" == "root" ]]; then - shift + case "$1" in + clone) + shift - local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" + local repo_url="$1" + local repo_path="''${2:-}" - if [[ $# == 0 ]]; then - cd "''${ROOT}" - else - (cd "''${ROOT}" && eval "''${@}") - fi - else - ${pkgs.git}/bin/git "''${@}" - fi + if [ -n "$TARGET_DIR" ]; then + command git clone "$repo_url" "$repo_path" + else + command git clone "$repo_url" + repo_path=$(basename "$repo_url" .git) + fi + + ${pkgs.tmux-sessionizer}/bin/tmux-sessionizer "$repo_path" + ;; + + root) + shift + + local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" + + if [[ $# == 0 ]]; then + cd "''${ROOT}" + else + (cd "''${ROOT}" && eval "''${@}") + fi + ;; + + *) + ${pkgs.git}/bin/git "''${@}" + ;; + esac } ttyper() { From a7430169e9196c3fb10479d15e595e8126d06a84 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 13:49:10 +0000 Subject: [PATCH 1344/2258] Refactor custom packages --- nix/pkgs/build-glove80.nix | 6 ++++-- nix/pkgs/i3-battery-popup.nix | 8 +++++--- nix/pkgs/notes.nix | 8 +++++--- nix/pkgs/tmux-sessionizer/default.nix | 8 +++++--- nix/pkgs/upload-to-files.nix | 4 +++- nix/pkgs/vim-plugins/conf-vim.nix | 6 ++++-- nix/pkgs/vim-plugins/default.nix | 1 - nix/pkgs/vim-plugins/edit-alternate-vim.nix | 6 ++++-- nix/pkgs/vim-plugins/nvim-tmux-navigation.nix | 6 ++++-- nix/pkgs/vim-plugins/standard-vim.nix | 6 ++++-- nix/pkgs/vim-plugins/vim-autoread.nix | 6 ++++-- nix/pkgs/vim-plugins/vim-caser.nix | 6 ++++-- nix/pkgs/vim-plugins/vim-heritage.nix | 6 ++++-- nix/pkgs/vim-plugins/vim-textobj-indent.nix | 6 ++++-- nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix | 6 ++++-- nix/pkgs/vim-plugins/vim-zoom.nix | 11 ----------- 16 files changed, 58 insertions(+), 42 deletions(-) delete mode 100644 nix/pkgs/vim-plugins/vim-zoom.nix diff --git a/nix/pkgs/build-glove80.nix b/nix/pkgs/build-glove80.nix index 9c668741..c6feba0d 100644 --- a/nix/pkgs/build-glove80.nix +++ b/nix/pkgs/build-glove80.nix @@ -1,9 +1,11 @@ { pkgs, ... }: -pkgs.writeShellApplication { +with pkgs; + +writeShellApplication { name = "build-glove80"; - runtimeInputs = with pkgs; [ + runtimeInputs = [ cachix git nix diff --git a/nix/pkgs/i3-battery-popup.nix b/nix/pkgs/i3-battery-popup.nix index 9cd1505e..82de995c 100644 --- a/nix/pkgs/i3-battery-popup.nix +++ b/nix/pkgs/i3-battery-popup.nix @@ -1,17 +1,19 @@ { pkgs, ... }: -pkgs.stdenv.mkDerivation rec { +with pkgs; + +stdenv.mkDerivation rec { pname = "i3-battery-popop"; version = "1.1.1"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "rjekker"; repo = "i3-battery-popup"; rev = "v${version}"; sha256 = "s6jZCkB0Z8dtnBG2p1NJIUY1fV4urEp4w6wFzxFNlqg="; }; - buildInputs = with pkgs; [ bash ]; + buildInputs = [ bash ]; installPhase = '' mkdir -p $out/bin diff --git a/nix/pkgs/notes.nix b/nix/pkgs/notes.nix index 15489822..712eb30f 100644 --- a/nix/pkgs/notes.nix +++ b/nix/pkgs/notes.nix @@ -1,17 +1,19 @@ { pkgs, ... }: -pkgs.stdenv.mkDerivation rec { +with pkgs; + +stdenv.mkDerivation rec { pname = "notes"; version = "0.3.0"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "nickjj"; repo = "notes"; rev = "v${version}"; sha256 = "gyrsTWPT8w4DsRim3jlbjvpXwX/y+7SwLaM+3LVOJdU="; }; - buildInputs = with pkgs; [ bash ]; + buildInputs = [ bash ]; installPhase = '' mkdir -p $out/bin diff --git a/nix/pkgs/tmux-sessionizer/default.nix b/nix/pkgs/tmux-sessionizer/default.nix index 8e15b3f7..21cd6dee 100644 --- a/nix/pkgs/tmux-sessionizer/default.nix +++ b/nix/pkgs/tmux-sessionizer/default.nix @@ -1,17 +1,19 @@ { pkgs, ... }: -pkgs.stdenv.mkDerivation rec { +with pkgs; + +stdenv.mkDerivation { pname = "tmux-sessonizer"; version = "0.1.0"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "theprimeagen"; repo = "tmux-sessionizer"; rev = "master"; sha256 = "bZXt9TyMU1Ed/WR0/ahMQ4oyIi6yXLKnXKYPPNBt/s4="; }; - buildInputs = with pkgs; [ + buildInputs = [ bash fzf tmux diff --git a/nix/pkgs/upload-to-files.nix b/nix/pkgs/upload-to-files.nix index da0641b7..ea6a680e 100644 --- a/nix/pkgs/upload-to-files.nix +++ b/nix/pkgs/upload-to-files.nix @@ -1,6 +1,8 @@ { pkgs }: -pkgs.writeShellApplication { +with pkgs; + +writeShellApplication { name = "upload-to-files"; text = '' diff --git a/nix/pkgs/vim-plugins/conf-vim.nix b/nix/pkgs/vim-plugins/conf-vim.nix index 634e75c9..086bbcf3 100644 --- a/nix/pkgs/vim-plugins/conf-vim.nix +++ b/nix/pkgs/vim-plugins/conf-vim.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "conf-vim"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "tjdevries"; repo = "conf.vim"; rev = "master"; diff --git a/nix/pkgs/vim-plugins/default.nix b/nix/pkgs/vim-plugins/default.nix index 1b4c22d6..9076f340 100644 --- a/nix/pkgs/vim-plugins/default.nix +++ b/nix/pkgs/vim-plugins/default.nix @@ -10,5 +10,4 @@ vim-heritage = callPackage ./vim-heritage.nix { }; vim-textobj-indent = callPackage ./vim-textobj-indent.nix { }; vim-textobj-xmlattr = callPackage ./vim-textobj-xmlattr.nix { }; - vim-zoom = callPackage ./vim-zoom.nix { }; } diff --git a/nix/pkgs/vim-plugins/edit-alternate-vim.nix b/nix/pkgs/vim-plugins/edit-alternate-vim.nix index dbfc2876..daf42d46 100644 --- a/nix/pkgs/vim-plugins/edit-alternate-vim.nix +++ b/nix/pkgs/vim-plugins/edit-alternate-vim.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "edit-alternate-vim"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "tjdevries"; repo = "edit_alternate.vim"; rev = "master"; diff --git a/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix b/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix index 19835cb1..3d2634ed 100644 --- a/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix +++ b/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "nvim-tmux-navigation"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "alexghergh"; repo = "nvim-tmux-navigation"; rev = "4898c98702954439233fdaf764c39636681e2861"; diff --git a/nix/pkgs/vim-plugins/standard-vim.nix b/nix/pkgs/vim-plugins/standard-vim.nix index d53432cd..9263a408 100644 --- a/nix/pkgs/vim-plugins/standard-vim.nix +++ b/nix/pkgs/vim-plugins/standard-vim.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "standard-vim"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "tjdevries"; repo = "standard.vim"; rev = "master"; diff --git a/nix/pkgs/vim-plugins/vim-autoread.nix b/nix/pkgs/vim-plugins/vim-autoread.nix index 37f95a01..e632a85c 100644 --- a/nix/pkgs/vim-plugins/vim-autoread.nix +++ b/nix/pkgs/vim-plugins/vim-autoread.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "vim-autoread"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "djoshea"; repo = "vim-autoread"; rev = "24061f84652d768bfb85d222c88580b3af138dab"; diff --git a/nix/pkgs/vim-plugins/vim-caser.nix b/nix/pkgs/vim-plugins/vim-caser.nix index 512a0652..7a47fe11 100644 --- a/nix/pkgs/vim-plugins/vim-caser.nix +++ b/nix/pkgs/vim-plugins/vim-caser.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "vim-caser"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "arthurxavierx"; repo = "vim-caser"; rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; diff --git a/nix/pkgs/vim-plugins/vim-heritage.nix b/nix/pkgs/vim-plugins/vim-heritage.nix index 4c5f1787..98483d93 100644 --- a/nix/pkgs/vim-plugins/vim-heritage.nix +++ b/nix/pkgs/vim-plugins/vim-heritage.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "vim-heritage"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "jessarcher"; repo = "vim-heritage"; rev = "cffa05c78c0991c998adc4504d761b3068547db6"; diff --git a/nix/pkgs/vim-plugins/vim-textobj-indent.nix b/nix/pkgs/vim-plugins/vim-textobj-indent.nix index d1dd5492..733c562d 100644 --- a/nix/pkgs/vim-plugins/vim-textobj-indent.nix +++ b/nix/pkgs/vim-plugins/vim-textobj-indent.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "vim-textobj-indent"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "kana"; repo = "vim-textobj-indent"; rev = "deb76867c302f933c8f21753806cbf2d8461b548"; diff --git a/nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix b/nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix index 94562d61..dddde8ce 100644 --- a/nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix +++ b/nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix @@ -1,8 +1,10 @@ { pkgs, ... }: -pkgs.vimUtils.buildVimPlugin { +with pkgs; + +vimUtils.buildVimPlugin { name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "whatyouhide"; repo = "vim-textobj-xmlattr"; rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; diff --git a/nix/pkgs/vim-plugins/vim-zoom.nix b/nix/pkgs/vim-plugins/vim-zoom.nix deleted file mode 100644 index 1bc85968..00000000 --- a/nix/pkgs/vim-plugins/vim-zoom.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -pkgs.vimUtils.buildVimPlugin { - name = "vim-zoom"; - src = pkgs.fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; -} From 09663f6b90cc0f27f673cd92c07fd6cc0aad9a07 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 16:08:36 +0000 Subject: [PATCH 1345/2258] Add .tmux-sessionizer Open nvim with `:Telescope git_files` when starting the session. --- .tmux-sessionizer | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 .tmux-sessionizer diff --git a/.tmux-sessionizer b/.tmux-sessionizer new file mode 100755 index 00000000..ba1d6aa9 --- /dev/null +++ b/.tmux-sessionizer @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +tmux new-window -dn shell + +nvim "+Telescope git_files" From 3e9a27874a8110f5e6af2afff3de6efbc5b71e8f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 21:49:25 +0000 Subject: [PATCH 1346/2258] Alter notes to create daily notes Alter notes to create daily notes instead of monthly notes. --- nix/pkgs/default.nix | 2 +- nix/pkgs/notes/create-daily-notes.patch | 13 +++++++++++++ nix/pkgs/{notes.nix => notes/default.nix} | 6 +++++- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 nix/pkgs/notes/create-daily-notes.patch rename nix/pkgs/{notes.nix => notes/default.nix} (82%) diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 84a76b7b..48ed2e47 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -7,7 +7,7 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; - notes = callPackage ./notes.nix { }; + notes = callPackage ./notes { }; i3-battery-popup = callPackage ./i3-battery-popup.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/nix/pkgs/notes/create-daily-notes.patch b/nix/pkgs/notes/create-daily-notes.patch new file mode 100644 index 00000000..6baea3be --- /dev/null +++ b/nix/pkgs/notes/create-daily-notes.patch @@ -0,0 +1,13 @@ +diff --git a/notes b/notes +index 3351903..34364bf 100755 +--- a/notes ++++ b/notes +@@ -14,7 +14,7 @@ set -e + readonly NOTES_DIRECTORY="${NOTES_DIRECTORY:-${HOME}/notes}" + readonly NOTES_EDITOR="${EDITOR}" + +-readonly NOTES_FILE="$(date +%Y-%m).txt" ++readonly NOTES_FILE="$(date +%Y-%m-%d).txt" + readonly NOTES_PATH="${NOTES_DIRECTORY}/${NOTES_FILE}" + + if [ ! -d "${NOTES_DIRECTORY}" ]; then diff --git a/nix/pkgs/notes.nix b/nix/pkgs/notes/default.nix similarity index 82% rename from nix/pkgs/notes.nix rename to nix/pkgs/notes/default.nix index 712eb30f..d6944e99 100644 --- a/nix/pkgs/notes.nix +++ b/nix/pkgs/notes/default.nix @@ -15,9 +15,13 @@ stdenv.mkDerivation rec { buildInputs = [ bash ]; + patches = [ + ./create-daily-notes.patch + ]; + installPhase = '' mkdir -p $out/bin - cp $src/notes $out/bin/notes + cp notes $out/bin/notes chmod +x $out/bin/notes ''; } From d3ac84b6ddc90932271eb889525285d13bc44857 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 19 Jan 2025 23:37:30 +0000 Subject: [PATCH 1347/2258] Automatically add a blank line to the end of text ...files --- nvim/after/ftplugin/text.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nvim/after/ftplugin/text.lua b/nvim/after/ftplugin/text.lua index f1eaea81..8bdd7abd 100644 --- a/nvim/after/ftplugin/text.lua +++ b/nvim/after/ftplugin/text.lua @@ -4,3 +4,14 @@ opt.number = false opt.relativenumber = false opt.spell = true opt.wrap = true + +vim.api.nvim_create_autocmd("BufWritePre", { + buffer = 0, + callback = function() + local last_line = vim.api.nvim_buf_get_lines(0, -2, -1, false)[1] + + if last_line ~= "" then + vim.api.nvim_buf_set_lines(0, -1, -1, false, { "" }) + end + end, +}) From 6efc4bd51e866f1729bcb77f57ce1d24a8e384df Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 20 Jan 2025 00:50:02 +0000 Subject: [PATCH 1348/2258] t490: add docker Add Docker which is needed by DDEV, which I need to quickly get HTTP and SSL running for a project. There is https://devenv.sh/blog/2023/03/02/devenv-06-generating-containers-and-instant-shell-activation/#hosts-and-certificates that mentions provisioning certificates for a local domain name, which is something I'll look at in the future. --- nix/hosts/t490/configuration.nix | 2 ++ nix/hosts/t490/modules/docker.nix | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 nix/hosts/t490/modules/docker.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index ca071062..e8851882 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -8,6 +8,8 @@ ./services ./users.nix + ./modules/docker.nix + ../common ../../users/opdavies ]; diff --git a/nix/hosts/t490/modules/docker.nix b/nix/hosts/t490/modules/docker.nix new file mode 100644 index 00000000..3314fcdc --- /dev/null +++ b/nix/hosts/t490/modules/docker.nix @@ -0,0 +1,5 @@ +{ + virtualisation.docker.enable = true; + + users.users.opdavies.extraGroups = [ "docker" ]; +} From 88a5dcae48af22b8a11bd9ad0b5ec1599883880a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 20 Jan 2025 17:52:44 +0000 Subject: [PATCH 1349/2258] Update paperless data directory path --- nix/modules/nixos/features/homelab/paperless.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/features/homelab/paperless.nix index 99ec00e0..38b1c375 100644 --- a/nix/modules/nixos/features/homelab/paperless.nix +++ b/nix/modules/nixos/features/homelab/paperless.nix @@ -10,6 +10,8 @@ with lib; paperless = { enable = true; + dataDir = "/mnt/media/paperless"; + settings = { PAPERLESS_URL = "https://paperless.opdavies.uk"; }; From f740c91a6c313636ec9f6c7714a9877d1108df24 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 20 Jan 2025 17:54:44 +0000 Subject: [PATCH 1350/2258] nix fmt --- nix/hosts/hetznix/hardware-configuration.nix | 61 ++++++++++++-------- nix/hosts/t490/hardware-configuration.nix | 43 +++++++++----- nix/hosts/t490/services/default.nix | 2 +- 3 files changed, 67 insertions(+), 39 deletions(-) diff --git a/nix/hosts/hetznix/hardware-configuration.nix b/nix/hosts/hetznix/hardware-configuration.nix index 80b8228b..986b7adb 100644 --- a/nix/hosts/hetznix/hardware-configuration.nix +++ b/nix/hosts/hetznix/hardware-configuration.nix @@ -1,24 +1,37 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ + "ahci" + "xhci_pci" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/nix/hosts/t490/hardware-configuration.nix b/nix/hosts/t490/hardware-configuration.nix index 784b2adf..944633ab 100644 --- a/nix/hosts/t490/hardware-configuration.nix +++ b/nix/hosts/t490/hardware-configuration.nix @@ -1,28 +1,43 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "nvme" + "usb_storage" + "sd_mod" + "rtsx_pci_sdmmc" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/001febe7-57e8-4c9a-bbaf-52c3d8305b63"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/001febe7-57e8-4c9a-bbaf-52c3d8305b63"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/5F0A-3374"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/5F0A-3374"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; swapDevices = [ ]; diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index 46fca0d4..a2bb5be1 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -1,4 +1,4 @@ -{... }: +{ ... }: { imports = [ From 716cb791e94fd3ea34da7dd29c565b8df8e4d0ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 21 Jan 2025 00:46:13 +0000 Subject: [PATCH 1351/2258] Move homelab services to oliverdavies.uk domain --- nix/hosts/nixedo/modules/acme.nix | 8 ++++---- nix/hosts/nixedo/secrets.nix | 2 +- .../nixos/features/homelab/audiobookshelf.nix | 4 ++-- .../features/homelab/containers/beaverhabits.nix | 4 ++-- .../features/homelab/containers/freshrss.nix | 4 ++-- .../homelab/containers/tubearchivist.nix | 4 ++-- nix/modules/nixos/features/homelab/forgejo.nix | 4 ++-- nix/modules/nixos/features/homelab/gitea.nix | 4 ++-- nix/modules/nixos/features/homelab/immich.nix | 4 ++-- nix/modules/nixos/features/homelab/jellyfin.nix | 4 ++-- nix/modules/nixos/features/homelab/paperless.nix | 9 ++++++--- .../nixos/features/homelab/vaultwarden.nix | 6 +++--- nix/secrets.nix | 5 +---- nix/secrets/cloudflare-opdavies-uk.age | Bin 1100 -> 0 bytes 14 files changed, 31 insertions(+), 31 deletions(-) delete mode 100644 nix/secrets/cloudflare-opdavies-uk.age diff --git a/nix/hosts/nixedo/modules/acme.nix b/nix/hosts/nixedo/modules/acme.nix index 352b7538..c8b4a74b 100644 --- a/nix/hosts/nixedo/modules/acme.nix +++ b/nix/hosts/nixedo/modules/acme.nix @@ -5,14 +5,14 @@ acceptTerms = true; certs = { - "opdavies.uk" = { - domain = "opdavies.uk"; + "oliverdavies.uk" = { + domain = "oliverdavies.uk"; dnsProvider = "cloudflare"; email = "oliver@oliverdavies.uk"; - environmentFile = config.age.secrets.cloudflare-opdavies-uk.path; + environmentFile = config.age.secrets.cloudflare.path; webroot = null; - extraDomainNames = [ "*.opdavies.uk" ]; + extraDomainNames = [ "*.oliverdavies.uk" ]; }; }; }; diff --git a/nix/hosts/nixedo/secrets.nix b/nix/hosts/nixedo/secrets.nix index b4448de5..da8e7ae1 100644 --- a/nix/hosts/nixedo/secrets.nix +++ b/nix/hosts/nixedo/secrets.nix @@ -1,6 +1,6 @@ { age.secrets = { - cloudflare-opdavies-uk.file = ../../secrets/cloudflare-opdavies-uk.age; + cloudflare.file = ../../secrets/cloudflare.age; tubearchivist.file = ../../secrets/tubearchivist.age; }; } diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index a0012a30..a357270d 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -16,8 +16,8 @@ in port = 4001; }; - caddy.virtualHosts."audiobookshelf.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + caddy.virtualHosts."audiobookshelf.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString config.services.audiobookshelf.port}"; }; diff --git a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix index 98f362cd..434f748e 100644 --- a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix +++ b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix @@ -93,8 +93,8 @@ in }; }; - services.caddy.virtualHosts."beaverhabits.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + services.caddy.virtualHosts."beaverhabits.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString port}"; }; diff --git a/nix/modules/nixos/features/homelab/containers/freshrss.nix b/nix/modules/nixos/features/homelab/containers/freshrss.nix index 0dce90ff..b383f718 100644 --- a/nix/modules/nixos/features/homelab/containers/freshrss.nix +++ b/nix/modules/nixos/features/homelab/containers/freshrss.nix @@ -100,8 +100,8 @@ in wantedBy = [ "multi-user.target" ]; }; - services.caddy.virtualHosts."freshrss.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + services.caddy.virtualHosts."freshrss.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString port}"; }; diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix index d78afaf0..ed10053c 100644 --- a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix +++ b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix @@ -286,8 +286,8 @@ in wantedBy = [ "multi-user.target" ]; }; - services.caddy.virtualHosts."tubearchivist.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + services.caddy.virtualHosts."tubearchivist.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString port}"; }; diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix index 509c34c9..d23ba475 100644 --- a/nix/modules/nixos/features/homelab/forgejo.nix +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -14,7 +14,7 @@ with lib; settings = { server = { - DOMAIN = "forgejo.opdavies.uk"; + DOMAIN = "forgejo.oliverdavies.uk"; HTTP_PORT = 2223; }; @@ -25,7 +25,7 @@ with lib; }; caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { - useACMEHost = "opdavies.uk"; + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; }; diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index dadf2270..d75221dc 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -26,8 +26,8 @@ in }; }; - caddy.virtualHosts."gitea.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + caddy.virtualHosts."gitea.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString port}"; }; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 82b89dd2..627a8586 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -19,8 +19,8 @@ with lib; environment.systemPackages = [ pkgs.immich-cli ]; - services.caddy.virtualHosts."immich.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + services.caddy.virtualHosts."immich.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString config.services.immich.port}"; }; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 4804a78e..89bc38bf 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -13,8 +13,8 @@ with lib; configDir = "/mnt/media/jellyfin"; }; - services.caddy.virtualHosts."jellyfin.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + services.caddy.virtualHosts."jellyfin.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:8096"; }; diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/features/homelab/paperless.nix index 38b1c375..4184ea92 100644 --- a/nix/modules/nixos/features/homelab/paperless.nix +++ b/nix/modules/nixos/features/homelab/paperless.nix @@ -2,6 +2,9 @@ with lib; +let + url = "paperless.oliverdavies.uk"; +in { options.features.homelab.paperless.enable = mkEnableOption "Enable paperless"; @@ -13,12 +16,12 @@ with lib; dataDir = "/mnt/media/paperless"; settings = { - PAPERLESS_URL = "https://paperless.opdavies.uk"; + PAPERLESS_URL = "https://${url}"; }; }; - caddy.virtualHosts."paperless.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + caddy.virtualHosts."${url}" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:28981"; }; diff --git a/nix/modules/nixos/features/homelab/vaultwarden.nix b/nix/modules/nixos/features/homelab/vaultwarden.nix index 25767b6a..2871d473 100644 --- a/nix/modules/nixos/features/homelab/vaultwarden.nix +++ b/nix/modules/nixos/features/homelab/vaultwarden.nix @@ -11,7 +11,7 @@ with lib; enable = true; config = { - DOMAIN = "https://vaultwarden.opdavies.uk"; + DOMAIN = "https://vaultwarden.oliverdavies.uk"; # TODO: check registrations are disabled. SIGNUPS_ALLOWED = false; @@ -21,8 +21,8 @@ with lib; }; }; - caddy.virtualHosts."vaultwarden.opdavies.uk" = { - useACMEHost = "opdavies.uk"; + caddy.virtualHosts."vaultwarden.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString config.services.vaultwarden.config.ROCKET_PORT}"; }; diff --git a/nix/secrets.nix b/nix/secrets.nix index 800d970b..c2553741 100644 --- a/nix/secrets.nix +++ b/nix/secrets.nix @@ -13,14 +13,11 @@ in { "secrets/cloudflare.age".publicKeys = [ hosts.hetznix + hosts.nixedo hosts.t490 users.opdavies ] ++ users; - "secrets/cloudflare-opdavies-uk.age".publicKeys = [ - hosts.nixedo - ] ++ users; - "secrets/tubearchivist.age".publicKeys = [ hosts.lemp11 hosts.nixedo diff --git a/nix/secrets/cloudflare-opdavies-uk.age b/nix/secrets/cloudflare-opdavies-uk.age deleted file mode 100644 index ee5e9dc35fb7f21c3ccf06e5840d63d25965f445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1100 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUlEDm!qPFF}tGx4lU z^LO>}PImI}G|VVV^EYwx_4D`gtSm0_(~i=Qun2L<j7pEJOy&yka4!qX3eR!#D0KET z%qj7AH4kwuuF7x@jZDw?NeOmOs?ZPibICWzFo4-sRGg@wT^14^Sk6^m?rrHG;^gR< z=H=t!Z|-kV5s>Ow78T@_R_tP)pJb9!r0*D2q3xMwp>3L_@1GOs=V+1_5t?3{7?B*B zXyL|HnNnp^QXG<A=$ToX9bldwl&)>6A8Fz4U7i|R?ilG4WKf(E;*#T==bl`Zp>G(P z<Lp|J7-eV@krYypTU@5k<!^2t;AWDW>+E4rk`$Kf7ZDnkm+h(Vl9%M_7VP0v6lodY zW8z#|Y#dNrX{_yGo}5(V<Wv^uXy8}ro$4GC#uerg;uMr=Vv<@^nQN9}nCN2Qm*Q98 zTH)kbTw&xGVQg5C<{KVlkY(Xn8d&I77*?8D6dqOXW|`|*;uD^fZq8+D5|HL&Ru&#& zky7ZBY@Ae7S{jn;WSJP{6j+{^Rv6@$Ug=g)SZ-_-;^`adpW~C3>0a(*X<-;t=w09% z7*fTRQ4&!cRvc0sk(ZcJl$C3dXdddCVHy?a8=jMD<ds$u>5`rA;Z{-}oMquso~d0D z>YWytV-W5U=2qpAl<ObH6&m7L=H+ARpA=Z?<L79Sl51&hXkl!bm=Ta(k!6<XR2A;x z7+7H7>l=}l9pvp_YFSq0?`0Y4lkFN}6j|mI&Q(y9>g1kX<W^V}9$czjlvEfHl3eKO zn4OYuV&avOTVm>wUl5s+mQtGMQem0s>!hDoR#oa(<zrA}>6GQ}<H!~2RcvBz92}9Z z?Vc7|l9puV8c|?W?h}w`n(Y@5<Q-LJ5NTxMU1FT(RZ@}aTM}I59BH9%?v|dOQx;NO zWtziP;1gKptzYcxpB!nHm{yhHmSa*BVjgT{>}wokoLb;i7FA;5<fxyXpYLc`5t{3j zWKm|47+K|HnQNvUR_W%*Wgg}j<QeASQJPbf6;_;5m=$Rh<l!IX6BbzEmgVJB;%kr@ zRu<;t6qe}=OUJNWQ&^ZBS?Q>dl9FGpU6dY~QtTIEP+@MNUs4|7YOEa*Se9nt;;pUi zSQz1LQCOB=;Tp+h5fWwKZBSqmU>;OuY!Vugl@sM!T$1RcU0Pxg5@})*7?K<5oNMY- z7MahbtE;PEp5o^fo>7o$Vr-CYW*(Rr;!%~9U6pBJ8kKHdoExa`?;n|Ek?$4Z8C1^I z&1C5?qmpI+-u>q*wVs*ZFJDm^zHr%Bj_`}m9_xfX{2AII^{v6AJTOM{Wsu;HY*DM_ z5)(Ka?s1q|$z<)l^f5i?*Pjha3<(n>mf5eB*HduVuJO~h_v6n$PJ9g-4^MB*2w(sJ D)YWzC From a5c1c891020c5026ca1c2d83afd6cbe8002a136c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 26 Jan 2025 02:57:41 +0000 Subject: [PATCH 1352/2258] nix flake update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index e9f3c780..7017f47e 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1723293904, - "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", + "lastModified": 1736955230, + "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", "owner": "ryantm", "repo": "agenix", - "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", + "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", "type": "github" }, "original": { @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1736591904, - "narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=", + "lastModified": 1737038063, + "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=", "owner": "nix-community", "repo": "disko", - "rev": "33827d2bd16bfe2e21b62956526c72d313595dfd", + "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2", "type": "github" }, "original": { @@ -107,11 +107,11 @@ ] }, "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", + "lastModified": 1737762889, + "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", "owner": "nix-community", "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", + "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", "type": "github" }, "original": { @@ -123,11 +123,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736441705, - "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", + "lastModified": 1737751639, + "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", + "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4", "type": "github" }, "original": { @@ -191,11 +191,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1736549401, - "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", + "lastModified": 1737672001, + "narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899", + "rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8", "type": "github" }, "original": { @@ -207,11 +207,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1736676754, - "narHash": "sha256-8mBXIWtVDgsHY2TIx1HC4tpG/62DGP9nrKCsJcnhtCI=", + "lastModified": 1737859900, + "narHash": "sha256-QhUmS8gXOLmGKyRqmLLARov+7w8GCUhw1YAxg3jyKFs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3cdbf0a9ec6dcb0db3f2987759ce42057d788c24", + "rev": "16584ca32beae9e1bb3c8c9617db9952b80c19f7", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736523798, - "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", + "lastModified": 1737746512, + "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "130595eba61081acde9001f43de3248d8888ac4a", + "rev": "825479c345a7f806485b7f00dbe3abb50641b083", "type": "github" }, "original": { From 49b5424dbd1e9bef46ec012d5b622d0666c63efa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1353/2258] Refactor nixpkgs import --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 0057f400..26391f68 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,7 @@ inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { inherit system; }; username = "opdavies"; From 0d05eb3df6a2896a756f49df59f9a0639deef5ed Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1354/2258] t490: add Cloudflare secrets --- nix/hosts/t490/configuration.nix | 1 + nix/hosts/t490/secrets.nix | 5 ++++ nix/secrets.nix | 9 ++++--- nix/secrets/cloudflare.age | 43 ++++++++++++++++---------------- nix/secrets/tubearchivist.age | 36 +++++++++++++------------- nix/users/opdavies/default.nix | 2 +- 6 files changed, 50 insertions(+), 46 deletions(-) create mode 100644 nix/hosts/t490/secrets.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index e8851882..bae0cc79 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -5,6 +5,7 @@ ./hardware-configuration.nix ./hardware.nix ./programs.nix + ./secrets.nix ./services ./users.nix diff --git a/nix/hosts/t490/secrets.nix b/nix/hosts/t490/secrets.nix new file mode 100644 index 00000000..e2032222 --- /dev/null +++ b/nix/hosts/t490/secrets.nix @@ -0,0 +1,5 @@ +{ + age.secrets = { + cloudflare.file = ../../secrets/cloudflare.age; + }; +} diff --git a/nix/secrets.nix b/nix/secrets.nix index c2553741..63c35bf3 100644 --- a/nix/secrets.nix +++ b/nix/secrets.nix @@ -2,20 +2,21 @@ let hosts = { hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN/Lylteb1le173In/X94jls+CXFg9RGCyJPBOL90zDD"; lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; + mail = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDop//jfN3Hj5yRQLzPwy/A1StdJ2krxIbI8LUWPX7ht"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; - users = { - opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; - }; + opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + + users = [ opdavies ]; in { "secrets/cloudflare.age".publicKeys = [ hosts.hetznix + hosts.mail hosts.nixedo hosts.t490 - users.opdavies ] ++ users; "secrets/tubearchivist.age".publicKeys = [ diff --git a/nix/secrets/cloudflare.age b/nix/secrets/cloudflare.age index ba6fb04c..4c092f31 100644 --- a/nix/secrets/cloudflare.age +++ b/nix/secrets/cloudflare.age @@ -1,24 +1,23 @@ age-encryption.org/v1 --> ssh-ed25519 M7i4ow uAeMYG9c6ryN+5dT0niHXkwWXYuCPTlv6MVaaRxP6BQ -7OdV+9doEFau6GjTONtREFSePR95/FEe3tTRaqU9ERQ --> ssh-ed25519 IsVD3g LNDsu6aQk4VB47Au6sGfUFnvuFDYL1yxvT2xqmEoPXA -T6O638N4ICQfoYmXSzwyJnn4ZgEYTVHBhaviG/L42xc +-> ssh-ed25519 M7i4ow JbGsQZjXyc/TOA5Bc2J1F4dUPImFkb2sJstGTiwS0lw +KhsNg7sOj7n2iOpKyKX8pfzFC16oYK+3GnE0PtwUres +-> ssh-ed25519 e6k47Q 5u6J38BGCrhgUo9+JrWNXLTbY6GwiSRc7EyrCnMqIBQ +rxCoxCxNcPIVhSXBItEnRyWi1lVRl0u7PH5EqydU4Bo +-> ssh-ed25519 IsVD3g xy60nMsxrMEVVHse7cfmvTtnzYZMr/8bHQ77dwBVmxo +wlJJVdek+bN6tzbxAl594FR9MBR93nQyvwqCLREp2Sw +-> ssh-ed25519 IsVD3g ATYSZBSFln40HNRBvAPd85D4ax8TA4vWc4JsgqvXpxU +YfUmlZLkQi9QFeuZ1kJdR3toWD/gkoTz+XAtBFx2qKY -> ssh-rsa +vTWQw -B6COgTlKAkSE2zCwt6gCDBl4fw6WgKD1u1/YYXMz/Fh2nXc8Qy1IrxSvn8nZr05G -EdToyrGtkNC6i5OPKvNfy+DWLw2slD3f6rZGQQZb60bEj51mr3xTIh2ho449U9lp -lFyodrxcQljBWdRI0mO2/SWTwKPLDqehGJdamj0DnitVh+tof4WdThZGIKekOG42 -WylPQUEt6U3tNLfTKfj1/HAKBiVdcOUezTzmcDqrD+Sb3qO+hEWWACIQoKnFS0Yl -rDZ/Sif86EMPUi93wsF5tjR6jCJfb/isiucxCeR9nKHCKScXPRjCpP85yswUEABd -wqJGodpuywoTaBF+GfPqXHF1BNp9wRHiMJC/wKsYTs7M5dpQyjl+/Nr4b/C/BdwE -Ab2q9u+EDuOFOWYz0TBUNQTFd/HQVhpC2Jd+/XLP1QZvHjA9WpQU+Uf6QTeQFoH3 -3jm31f3qWbFqgHYoYMRN6Qwax7PYN86d8zUs2TDnzz2EpE7ybxmKvsv1XQpl7eoc -RP6ynCP71nGXOHymzaZPYDdCsidw1EjuN2jtIbXU1+1ZgjPya8C5grVdDalwy/ds -98g4kDgLMhfeiu24kJS9fDE5YDI8AWLaRLRgdEu7FbtAottaI9qgG5AZTaU0g8Po -LHjrMnlz+gZ972sA7tM2sv+ZG4npWnyZOExyFQ/sD3U --> ssh-ed25519 qqcYyA elZlBILHKKJosk7vsh2FKtouLS84AGFHg3H1g3t1JEU -vywdvbLrzLSkLjrBkQ57Stp8gLLS+P63b7hBIRSEzCY --> ssh-ed25519 RN94uQ UQZx1RtihT91/pw0pHFuW8Pvk7epPkRJjklyaMz7PjI -4tbyHGkw86rfmB+CnWtz4ptNu2hI2yapGIwnzG+NAFA ---- xBHkdADymfBcQirr8/WV/Wuclk1PtivlHeNCdqXdUuw -3#mBLd.Z p$2kD5 -kKTFȌcYMP_`DxJ2:&xƢŵ+`%K$ \ No newline at end of file +cohbs+XV518CcQvwPPn5uAPsMVbn8MFx5FKOQVXyBcxXsK88fdQtBcp+BcgUfHeE ++HJLB5KDs3lfHiEVDX7Z2BBVx1y9y+j0f8vi8GKNvTLSAAdMwp7LFS/aNcjboayf +gn/+E+qtd4yiscSBBgsZvUBibkyRM+uVstXqACeX9S4j7TctsqpdEMvJKrbYJ0zQ +7KsZyyT6QeIp7H9zMLQg2Gv7W2co5+ny3S1saL/5F51gy68LaReAIvB+GAs2TzCY +AJVo1ANAG3JMRftGtUoNXgieyzXMKf/ucsC1OvwgUDlCDfqjHsiUlAaG64NWe1+K +3DB1nnE/RkbkPj4gEcHxgiPX6/zC/ZS/sVYOBpktZeyb+ofsVhwQ/Xb0MJAwvknY +WvETJ4DL4VQx4eC1v3yEYsgak1opnwOnRodeKbvR6pr+KeinFiKoF9dh9LQu9ByM +ocqCBEHRfzkL1ZM2BYS1hlYo6ECSoSKiNQ8J+BF6wNMLM7WwG9G+LHCw8DMeAo1n +DCpOMJXII2G1Mvgz/kUE63QB747uc7IImhYj5AQwTgYo/TUttVG6iEaJVGi5EFH0 +dwUPQU3wbYZiWTfKBYfBEX6+zyqSw20PpoQHbCouqOjKV37Ntwh3XhcyMOCBKB5L +ugK55xOpNwbVxSh6zjyis4YLk0ON5UI9cyxqx44Z8kY +--- ziQ837ro8cdUK22H13GWtnEVkq+QpSIwbwIYXU7t6H8 +LIːvMĘlYZ{CKLR߂Ĺ Bya`*p3miK=Ļj"LQ08ArKBE:XӜbWü*6NyhuF_Fohc0 \ No newline at end of file diff --git a/nix/secrets/tubearchivist.age b/nix/secrets/tubearchivist.age index d5dce0b7..9af2769e 100644 --- a/nix/secrets/tubearchivist.age +++ b/nix/secrets/tubearchivist.age @@ -1,21 +1,19 @@ age-encryption.org/v1 --> ssh-ed25519 sHhprA glUkUuhPJRIeCUtuMh1KWri10reLmYTs/M+qIJt0yS8 -XjThuIggs/W/EUK83ZbIbbd4yLLSYQJUZIS99nHKQL8 --> ssh-ed25519 IsVD3g bAXxMhDdpNBYZJz98XEIPC6WpbeDFOldoB4w85UsRVw -GUKmIo6AMrXGfsTjpL9aFMGd9F0brmjkSK1pRyAIInE +-> ssh-ed25519 sHhprA uSQb27PjMYpj22KMcFkY8gk28CxWsA9fr0lP6hCjw3c ++JlfXYJcfaUMaijapKbQHU1Tndh4qy+vf29MMv8mQ4M +-> ssh-ed25519 IsVD3g U9nD/8QuGhQU5+IFZRswgmzDcLoaKIr7ItG75PlQDkg +CmlB0k7Bx7nXBA0ym1Gzh6lQrbNN7Kzy5WPmViGVuLY -> ssh-rsa +vTWQw -da55hhm3DwoVoDKTK4fexNWahYB3SYu8dJ44/V26RuKHS53r92nKbuJ4j2brMKD2 -9Wiv/9kaYNDWIxGz+SpeCmsv5rCsKCovo3TLQsmCT4JcQL8Ke+VJR0CzbvTO4jxC -76PtflGahqms9F/BDWJztJJm7pcq9tUBRoyaOzJzri2064PkD8wiKyexOoU4eE+a -kncCC1OmpjZT7flNrOwxwCqTIgrWsEZQpRERTVV6F7xqeV7gVe3FywFdT/Z2CXfq -jgC8HA+YEbxmNGamWhpHxo3nf3tUSLXKoituEIOdGqK8pzdAKmTPzgpvjXhMCznu -Hv4HgQzDXzjKgYv7G0LwwnU0R10mGPNaPuzAc2nR6X0HI094mWS34UfzdKbONgfi -QPiRNGaCPQb8SBp64jn0CgZs6w466rEh4Rmwm+HXLFaESRqmHS9J0J01pnIltfXJ -NbFQKiBUbhCIyXLLgTT9gwV8PRIrgnRNHGxKXJihVeWkSDd3cYkII6feBrhUZarq -HgSiWdRYiSCZDZnD+if3cCB0NL5Q+fE8zo3xUfyenkDqPSwNAgXK4p+QZzwAbrZf -w0S7IK9I4mwei6uIhKAByQM71CwGEwSNfKOJa9k+ABaWxP0Kugf/uLO63ZU3byNv -DNQ2WdVbEsYdfU0jU9JqhgwpljzSN09wjA9ZG0j8JhA --> ssh-ed25519 qqcYyA 9Q2jCyt+hp0WPGxFTndK95L6tb6TBbhi3xIJx3puCRk -JMrVGBH5s5xisKhG7EME4CHHwngVzW3LlRXhMFHn6kM ---- mavTi4Poq4alvDGknFIgMI2rZFJoJfR09ZrFjlOywZw -a,2PTC1Ax5b sclzzܮz8ZVC蜱ȄÐ+LOT( i9T Na5i&JDS5b~Æ \ No newline at end of file +l8bvdvVV4b5OjkohdSWOea4YdIJ8xPRahajsJDpB6d9vr28nQEf6ruAmX1QeJkmP +9NEVQmhL6OqulCz1G4awhf+OldnhIK/ift7GON2+cmKtp4W3R2k0dZqm5ML7OSpt +/S2DcveCV7yyLHfkrEMI6UEka31xEJnXGnbgPbsQ1sS2kckVoLzW3etDZ/ta6FcW +Zze5eiMVvKeaMOpTPts+lyiiPaSwIheJdvWhPBqdX+zJvaLaRS+VdC3ER25lw1IL +Db/yiLRsw50GWfC5FTZMg/T+URVKo8JvdsebDxnGJVxMIjiazRDOkClYJGFSs8ud +NcX7Bd26fOgggl8COmg87se3D0uSuABnHiJN5Hv/S3xwfK2RYSxZj0qjLCpbsa+K +RgyarmsDiWSfsbha+uPjrTnW1U7elJJWvUbOEhZWEzUclLXy4z+nsA7BBVKa4LSm +8Epd4qOE6korqkDDf/nDXg6X+AOeBF0JLWACZGR6qjovzTyQmepa4H03n/aid4xt +5hhM9uzLSCYoY8T7hZSjrCiJeYUqCoVDjtCE7eDGScuoG/g3RfEa4BcFK/EcSpqT +7CmnFU5Ay3vG5/6n/evzmzYvk82/I97KOs+LTotDW8FzRx/GmTCS2Bp8xiOw6XZS +05sALEULfH5cCVKdJ2Mjj+NR4VEab/ykickH5fen0M4 +--- 7ihl6vnG31mlHLNdqzV2DA3pY0HOla8TE58j8B2wLfQ +(R&Բ5Z;UgrN2AW,8ϙ*8ͦU>&rZ۹9l ,ZʁqIPQ?)-kJЌ \ No newline at end of file diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index 117f9af1..df4437f1 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -33,6 +33,6 @@ }; age.identityPaths = [ - "/home/opdavies/.ssh/id_ed25519" + "/home/opdavies/.ssh/id_rsa" ]; } From fcf0f8d39d73b3f7d823b67865f20b553b9e33f4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1355/2258] Only add `upload-to-files` on t490 It's not needed on other systems, such as hetznix. --- nix/home/opdavies/hosts/t490.nix | 7 +++++-- nix/users/opdavies/default.nix | 4 +--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 524c4510..2936ce86 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { features = { @@ -28,5 +28,8 @@ }; }; - home.packages = with pkgs; [ isync ]; + home.packages = with pkgs; [ + isync + upload-to-files + ]; } diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index df4437f1..47ebd36a 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -23,9 +23,7 @@ packages = with pkgs; - [ - upload-to-files - ] + [ ] ++ pkgs.lib.optionals (!headless) [ brave firefox From 40f1a72438875b21e8ce7de7601b07f7776bb2d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1356/2258] lemp11: remove unused services The homelab services and programs have been moved to nixedo so can be removed from lemp11. --- nix/hosts/lemp11/configuration.nix | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 79485f5d..a6f9ae0a 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -1,9 +1,4 @@ -{ - inputs, - pkgs, - username, - ... -}: +{ inputs, pkgs, ... }: { imports = [ @@ -21,27 +16,6 @@ ../../users/luke ]; - features = { - cli = { - docker.enable = true; - }; - - desktop = { - autorandr.enable = true; - gaming.enable = true; - peek.enable = true; - }; - - homelab = { - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - }; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; # Bootloader. From 20ec9fde321b68829618c7d535612f50c35cb707 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1357/2258] lemp11: split configuration --- nix/hosts/lemp11/configuration.nix | 71 ++---------------------------- nix/hosts/lemp11/hardware.nix | 6 +++ nix/hosts/lemp11/programs.nix | 20 +++++++++ nix/hosts/lemp11/services.nix | 43 ++++++++++++++++++ 4 files changed, 72 insertions(+), 68 deletions(-) create mode 100644 nix/hosts/lemp11/hardware.nix create mode 100644 nix/hosts/lemp11/programs.nix create mode 100644 nix/hosts/lemp11/services.nix diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index a6f9ae0a..8ae4bdb2 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -9,6 +9,9 @@ inputs.nixos-hardware.nixosModules.system76 ./hardware-configuration.nix + ./hardware.nix + ./programs.nix + ./services.nix ../common ../../users/opdavies @@ -33,55 +36,17 @@ }; }; - services.thermald.enable = true; - services.power-profiles-daemon.enable = false; - systemd.extraConfig = '' DefaultTimeoutStopSec=10s ''; networking.networkmanager.enable = true; - services.xserver.enable = true; - - services.xserver = { - xkb = { - layout = "gb"; - variant = ""; - }; - - displayManager.lightdm.enable = true; - desktopManager.cinnamon.enable = true; - }; - - services.avahi.enable = true; - services.avahi.nssmdns4 = true; - services.avahi.openFirewall = true; - - services.printing.enable = true; - - services.pulseaudio.enable = false; - - hardware.bluetooth.enable = true; - security = { polkit.enable = true; rtkit.enable = true; }; - services.pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - - services.openssh.enable = true; - zramSwap.enable = true; nix = { @@ -102,34 +67,4 @@ warn-dirty = false; }; }; - - services.gvfs.enable = true; - - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; - - programs.firefox = { - enable = true; - languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - - services.blueman.enable = true; - - services.auto-cpufreq.enable = true; - - services.udev = { - enable = true; - extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" - ''; - }; - - hardware.sane.enable = true; } diff --git a/nix/hosts/lemp11/hardware.nix b/nix/hosts/lemp11/hardware.nix new file mode 100644 index 00000000..a3123505 --- /dev/null +++ b/nix/hosts/lemp11/hardware.nix @@ -0,0 +1,6 @@ +{ + hardware = { + bluetooth.enable = true; + sane.enable = true; + }; +} diff --git a/nix/hosts/lemp11/programs.nix b/nix/hosts/lemp11/programs.nix new file mode 100644 index 00000000..9da9ff93 --- /dev/null +++ b/nix/hosts/lemp11/programs.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; + + firefox = { + enable = true; + languagePacks = [ "en-GB" ]; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; +} diff --git a/nix/hosts/lemp11/services.nix b/nix/hosts/lemp11/services.nix new file mode 100644 index 00000000..0d5dae7a --- /dev/null +++ b/nix/hosts/lemp11/services.nix @@ -0,0 +1,43 @@ +{ + services = { + auto-cpufreq.enable = true; + + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + blueman.enable = true; + gvfs.enable = true; + openssh.enable = true; + power-profiles-daemon.enable = false; + thermald.enable = true; + + pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; + + printing.enable = true; + pulseaudio.enable = false; + + xserver = { + enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; + }; + }; +} From cf7de1eb9ce2953af911f56234879bf6d64d8ddd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1358/2258] Refactor desktop Home Manager packages --- nix/home/opdavies/default.nix | 29 +++++++------------- nix/home/opdavies/desktop/default.nix | 19 ++++++++++++++ nix/home/opdavies/desktop/qutebrowser.nix | 32 +++++++++++++++++++++++ 3 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 nix/home/opdavies/desktop/default.nix create mode 100644 nix/home/opdavies/desktop/qutebrowser.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 228c981a..d389ac34 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -44,27 +44,16 @@ let }; in { - imports = [ - ../common - shared-config - ]; + imports = + [ + ../common + shared-config + ] + ++ pkgs.lib.optionals (!headless) [ + ./desktop + ]; - home.packages = - shared-packages - ++ pkgs.lib.optionals (!headless) ( - with pkgs; - [ - build-glove80 - gscan2pdf - meslo-lg - obs-studio - okular - pamixer - pavucontrol - xcape - xsel - ] - ); + home.packages = shared-packages; home.sessionVariables = { DOCUMENTS = "$HOME/Documents"; diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix new file mode 100644 index 00000000..5606958e --- /dev/null +++ b/nix/home/opdavies/desktop/default.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: + +{ + imports = [ + ./qutebrowser.nix + ]; + + home.packages = with pkgs; [ + build-glove80 + gscan2pdf + meslo-lg + obs-studio + okular + pamixer + pavucontrol + xcape + xsel + ]; +} diff --git a/nix/home/opdavies/desktop/qutebrowser.nix b/nix/home/opdavies/desktop/qutebrowser.nix new file mode 100644 index 00000000..056bdcf4 --- /dev/null +++ b/nix/home/opdavies/desktop/qutebrowser.nix @@ -0,0 +1,32 @@ +{ lib, ... }: + +{ + programs.qutebrowser = { + enable = true; + + searchEngines = { + dp = "https://www.drupal.org/project/{}"; + du = "https://www.drupal.org/u/{}"; + gh = "https://github.com/search?q={}"; + mn = "https://mynixos.com/search?q={}"; + nx = "https://search.nixos.org/packages?query={}"; + }; + + settings = { + colors.webpage.darkmode.enabled = true; + }; + + keyBindings = { + normal = { + "<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false"; + + "xb" = "config-cycle statusbar.show always never"; + "xt" = "config-cycle tabs.show always never"; + "xx" = lib.mkMerge [ + "config-cycle statusbar.show always never" + "config-cycle tabs.show always never" + ]; + }; + }; + }; +} From 4f91d5ce7d5e9df07aa8e7e32f7b27f78bb929f9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:15:42 +0000 Subject: [PATCH 1359/2258] Add yazi Blazing fast terminal file manager written in Rust, based on async I/O. https://github.com/sxyazi/yazi https://yazi-rs.github.io --- nix/home/opdavies/desktop/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 5606958e..2b3bd6e6 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -16,4 +16,8 @@ xcape xsel ]; + + programs = { + yazi.enable = true; + }; } From 02890fc72590aa8d1d22f4faf453aded04b937c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:49:03 +0000 Subject: [PATCH 1360/2258] Make `NOTES_DIRECTORY` configurable per host --- nix/home/opdavies/hosts/PW05CH3L.nix | 7 ++++ nix/home/opdavies/hosts/t490.nix | 7 ++++ .../home-manager/features/cli/default.nix | 3 +- .../home-manager/features/cli/notes.nix | 33 +++++++++++++++---- todo.txt | 1 - 5 files changed, 41 insertions(+), 10 deletions(-) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 91f78328..526ed3c2 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -2,6 +2,13 @@ features = { cli = { direnv.enable = true; + + notes = { + enable = true; + + directory = "$HOME/Documents/wiki/tfw-notes"; + }; + syncthing.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 2936ce86..9d3d0391 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -4,6 +4,13 @@ features = { cli = { direnv.enable = true; + + notes = { + enable = true; + + directory = "$HOME/Documents/wiki/notes"; + }; + syncthing.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index 7e268d73..6043c7d5 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -19,8 +19,6 @@ ; }) - (import ./notes.nix { inherit pkgs; }) - (import ./tmux-sessionizer.nix { inherit config @@ -34,6 +32,7 @@ ./direnv.nix ./fzf.nix ./git.nix + ./notes.nix ./phpactor.nix ./ripgrep.nix ./starship.nix diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/features/cli/notes.nix index 997d3565..4edbda40 100644 --- a/nix/modules/home-manager/features/cli/notes.nix +++ b/nix/modules/home-manager/features/cli/notes.nix @@ -1,12 +1,31 @@ -{ pkgs, ... }: - { - home = { - packages = with pkgs; [ notes ]; + config, + lib, + pkgs, + ... +}: - sessionVariables = { - NOTES_DIRECTORY = "$DOCUMENTS/wiki/notes"; - WIKI_DIRECTORY = "$DOCUMENTS/wiki"; +with lib; + +let + cfg = config.features.cli.notes; +in +{ + options.features.cli.notes = { + enable = mkEnableOption "Enable notes"; + + directory = mkOption { + type = types.str; + }; + }; + + config = mkIf cfg.enable { + home = { + packages = with pkgs; [ notes ]; + + sessionVariables = { + NOTES_DIRECTORY = "${cfg.directory}"; + }; }; }; diff --git a/todo.txt b/todo.txt index c8b8d6ee..5c3275df 100644 --- a/todo.txt +++ b/todo.txt @@ -3,5 +3,4 @@ Add create-podcast-tasks script Replace doppler with agenix Evaluate services.languagetool as a replacement for Grammarly Make git email address configurable -Make NOTES_DIRECTORY configurable Finish configuring syncthing with nix - https://github.com/neeasade/dotfiles/blob/694c2a11107c10947af956befe16cbe5cee0abda/os/nixos/config/shared.nix#L62 From fe4f07f8eeefac1c2cb29c409d9731a27bbc4c51 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 01:49:03 +0000 Subject: [PATCH 1361/2258] Simplify imports --- .../home-manager/features/cli/default.nix | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index 6043c7d5..9d7a57a8 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -1,43 +1,19 @@ -{ - config, - inputs, - lib, - pkgs, - self, - ... -}: +{ ... }: { imports = [ - (import ./neovim.nix { - inherit - config - inputs - lib - pkgs - self - ; - }) - - (import ./tmux-sessionizer.nix { - inherit - config - lib - pkgs - self - ; - }) - ./bin.nix ./direnv.nix ./fzf.nix ./git.nix + ./neovim.nix ./notes.nix ./phpactor.nix ./ripgrep.nix ./starship.nix ./syncthing.nix ./tmux.nix + ./tmux-sessionizer.nix ./zsh.nix ]; } From 893dd8c2a4f7d3dda0679ea7805636bba48ccebf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 29 Jan 2025 11:52:45 +0000 Subject: [PATCH 1362/2258] Re-add line numbers for text files --- nvim/after/ftplugin/text.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/nvim/after/ftplugin/text.lua b/nvim/after/ftplugin/text.lua index 8bdd7abd..ed2bc80a 100644 --- a/nvim/after/ftplugin/text.lua +++ b/nvim/after/ftplugin/text.lua @@ -1,7 +1,5 @@ local opt = vim.opt_local -opt.number = false -opt.relativenumber = false opt.spell = true opt.wrap = true From e66af807b3eec88ffa1625d15f5909d7d924179b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 30 Jan 2025 01:06:16 +0000 Subject: [PATCH 1363/2258] nix flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 7017f47e..ab2bb361 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1737038063, - "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=", + "lastModified": 1738148035, + "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=", "owner": "nix-community", "repo": "disko", - "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2", + "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54", "type": "github" }, "original": { @@ -107,11 +107,11 @@ ] }, "locked": { - "lastModified": 1737762889, - "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", + "lastModified": 1738197954, + "narHash": "sha256-VYh7+cW3gvgv3zT6xo9pFgIVGlgulZCr+ot/HCUR+/Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", + "rev": "9ce5d0b888a054945121394297ad34173d135547", "type": "github" }, "original": { @@ -191,11 +191,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1737672001, - "narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=", + "lastModified": 1738023785, + "narHash": "sha256-BPHmb3fUwdHkonHyHi1+x89eXB3kA1jffIpwPVJIVys=", "owner": "nixos", "repo": "nixpkgs", - "rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8", + "rev": "2b4230bf03deb33103947e2528cac2ed516c5c89", "type": "github" }, "original": { @@ -207,11 +207,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1737859900, - "narHash": "sha256-QhUmS8gXOLmGKyRqmLLARov+7w8GCUhw1YAxg3jyKFs=", + "lastModified": 1738198809, + "narHash": "sha256-ezvKqlco21ScSK7Lhu+D3SlN5U8tsImVzSsv3My4JI0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "16584ca32beae9e1bb3c8c9617db9952b80c19f7", + "rev": "c8fadee69d99c39795e50754c1d0f4fb9b24cd65", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1737746512, - "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "825479c345a7f806485b7f00dbe3abb50641b083", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { From 4461ad3ca4c87a5e1a8856ef57246585797c3640 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 30 Jan 2025 17:38:03 +0000 Subject: [PATCH 1364/2258] Add dwm window manager with some initial patches - Set Mod4 as the mod key and Alacritty as the termcmd. - Add a patch from suckless.org to hide any vacant tags. - https://dwm.suckless.org/patches/hide_vacant_tags --- flake.nix | 2 +- nix/hosts/t490/services/default.nix | 5 +- nix/hosts/t490/services/dwm.nix | 27 +++++++++++ nix/overlays/default.nix | 12 ++++- patches/dwm/change-mod-key.patch | 13 +++++ patches/dwm/change-termcmd.patch | 13 +++++ patches/dwm/dwm-hide_vacant_tags-6.4.diff | 48 +++++++++++++++++++ patches/dwm/dwm-switchtotag-6.2.diff | 58 +++++++++++++++++++++++ 8 files changed, 172 insertions(+), 6 deletions(-) create mode 100644 nix/hosts/t490/services/dwm.nix create mode 100644 patches/dwm/change-mod-key.patch create mode 100644 patches/dwm/change-termcmd.patch create mode 100644 patches/dwm/dwm-hide_vacant_tags-6.4.diff create mode 100644 patches/dwm/dwm-switchtotag-6.2.diff diff --git a/flake.nix b/flake.nix index 26391f68..16100c8a 100644 --- a/flake.nix +++ b/flake.nix @@ -59,7 +59,7 @@ formatter.${system} = pkgs.nixfmt-rfc-style; - overlays = import ./nix/overlays { inherit inputs; }; + overlays = import ./nix/overlays { inherit inputs self; }; nixosModules.default = ./nix/modules/nixos; diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index a2bb5be1..0f225b27 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -1,11 +1,10 @@ -{ ... }: - { imports = [ + ./dwm.nix ./interception-tools.nix ./sound.nix - ./xserver.nix ./udev.nix + ./xserver.nix ]; services = { diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix new file mode 100644 index 00000000..f8bc108b --- /dev/null +++ b/nix/hosts/t490/services/dwm.nix @@ -0,0 +1,27 @@ +{ pkgs, ... }: + +{ + services = { + dwm-status = { + enable = true; + + order = [ + "audio" + "backlight" + "battery" + "cpu_load" + "network" + "time" + ]; + }; + + xserver.windowManager.dwm.enable = true; + }; + + environment.systemPackages = with pkgs; [ + dmenu + dmenu-bluetooth + networkmanager_dmenu + st + ]; +} diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 7d42c2e8..3a064cbc 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -1,4 +1,4 @@ -{ inputs, ... }: +{ inputs, self, ... }: { additions = @@ -9,7 +9,15 @@ pkgs = final; }; - modifications = final: prev: { }; + modifications = final: prev: { + dwm = prev.dwm.override { + patches = [ + "${self}/patches/dwm/change-mod-key.patch" + "${self}/patches/dwm/change-termcmd.patch" + "${self}/patches/dwm/dwm-hide_vacant_tags-6.4.diff" + ]; + }; + }; stable-packages = final: _prev: { nixpkgs-2405 = import inputs.nixpkgs-2405 { diff --git a/patches/dwm/change-mod-key.patch b/patches/dwm/change-mod-key.patch new file mode 100644 index 00000000..1aca7148 --- /dev/null +++ b/patches/dwm/change-mod-key.patch @@ -0,0 +1,13 @@ +diff --git a/config.def.h b/config.def.h +index 9efa774..4412cb1 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -45,7 +45,7 @@ static const Layout layouts[] = { + }; + + /* key definitions */ +-#define MODKEY Mod1Mask ++#define MODKEY Mod4Mask + #define TAGKEYS(KEY,TAG) \ + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ diff --git a/patches/dwm/change-termcmd.patch b/patches/dwm/change-termcmd.patch new file mode 100644 index 00000000..cef83978 --- /dev/null +++ b/patches/dwm/change-termcmd.patch @@ -0,0 +1,13 @@ +diff --git a/config.def.h b/config.def.h +index 9efa774..648336e 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -58,7 +58,7 @@ static const Layout layouts[] = { + /* commands */ + static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; +-static const char *termcmd[] = { "st", NULL }; ++static const char *termcmd[] = { "alacritty", NULL }; + + static const Key keys[] = { + /* modifier key function argument */ diff --git a/patches/dwm/dwm-hide_vacant_tags-6.4.diff b/patches/dwm/dwm-hide_vacant_tags-6.4.diff new file mode 100644 index 00000000..42d9c058 --- /dev/null +++ b/patches/dwm/dwm-hide_vacant_tags-6.4.diff @@ -0,0 +1,48 @@ +:100644 100644 f1d86b2 0000000 M dwm.c + +diff --git a/dwm.c b/dwm.c +index f1d86b2..d41cc14 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -433,9 +433,15 @@ buttonpress(XEvent *e) + } + if (ev->window == selmon->barwin) { + i = x = 0; +- do ++ unsigned int occ = 0; ++ for(c = m->clients; c; c=c->next) ++ occ |= c->tags == TAGMASK ? 0 : c->tags; ++ do { ++ /* Do not reserve space for vacant tags */ ++ if (!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) ++ continue; + x += TEXTW(tags[i]); +- while (ev->x >= x && ++i < LENGTH(tags)); ++ } while (ev->x >= x && ++i < LENGTH(tags)); + if (i < LENGTH(tags)) { + click = ClkTagBar; + arg.ui = 1 << i; +@@ -715,19 +721,18 @@ drawbar(Monitor *m) + } + + for (c = m->clients; c; c = c->next) { +- occ |= c->tags; ++ occ |= c->tags == TAGMASK ? 0 : c->tags; + if (c->isurgent) + urg |= c->tags; + } + x = 0; + for (i = 0; i < LENGTH(tags); i++) { ++ /* Do not draw vacant tags */ ++ if(!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) ++ continue; + w = TEXTW(tags[i]); + drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); +- if (occ & 1 << i) +- drw_rect(drw, x + boxs, boxs, boxw, boxw, +- m == selmon && selmon->sel && selmon->sel->tags & 1 << i, +- urg & 1 << i); + x += w; + } + w = TEXTW(m->ltsymbol); diff --git a/patches/dwm/dwm-switchtotag-6.2.diff b/patches/dwm/dwm-switchtotag-6.2.diff new file mode 100644 index 00000000..453f8ef6 --- /dev/null +++ b/patches/dwm/dwm-switchtotag-6.2.diff @@ -0,0 +1,58 @@ +diff -up dwm-6.2-original/config.def.h dwm-6.2-modified/config.def.h +--- dwm-6.2-original/config.def.h 2019-02-02 14:55:28.000000000 +0200 ++++ dwm-6.2-modified/config.def.h 2019-11-18 19:36:22.515566509 +0200 +@@ -26,9 +26,9 @@ static const Rule rules[] = { + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ +- /* class instance title tags mask isfloating monitor */ +- { "Gimp", NULL, NULL, 0, 1, -1 }, +- { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, ++ /* class instance title tags mask switchtotag isfloating monitor */ ++ { "Gimp", NULL, NULL, 0, 0, 1, -1 }, ++ { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1 }, + }; + + /* layout(s) */ +diff -up dwm-6.2-original/dwm.c dwm-6.2-modified/dwm.c +--- dwm-6.2-original/dwm.c 2019-02-02 14:55:28.000000000 +0200 ++++ dwm-6.2-modified/dwm.c 2019-11-18 19:37:18.792187705 +0200 +@@ -92,6 +92,7 @@ struct Client { + int basew, baseh, incw, inch, maxw, maxh, minw, minh; + int bw, oldbw; + unsigned int tags; ++ unsigned int switchtotag; + int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen; + Client *next; + Client *snext; +@@ -137,6 +138,7 @@ typedef struct { + const char *instance; + const char *title; + unsigned int tags; ++ unsigned int switchtotag; + int isfloating; + int monitor; + } Rule; +@@ -302,6 +304,11 @@ applyrules(Client *c) + for (m = mons; m && m->num != r->monitor; m = m->next); + if (m) + c->mon = m; ++ if (r->switchtotag) { ++ Arg a = { .ui = r->tags }; ++ c->switchtotag = selmon->tagset[selmon->seltags]; ++ view(&a); ++ } + } + } + if (ch.res_class) +@@ -1782,6 +1789,10 @@ unmanage(Client *c, int destroyed) + focus(NULL); + updateclientlist(); + arrange(m); ++ if (c->switchtotag) { ++ Arg a = { .ui = c->switchtotag }; ++ view(&a); ++ } + } + + void From 90118dde485dd3b619a6d3168d58f6d10b777f16 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 30 Jan 2025 17:46:11 +0000 Subject: [PATCH 1365/2258] Fix conform error > Error detected while processing BufWritePre Autocommands for "*": > The nested {} syntax to run the first formatter has been replaced by the stop_after_first option (see :help conform.format). --- nvim/plugin/conform.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nvim/plugin/conform.lua b/nvim/plugin/conform.lua index 462abe4f..c2643665 100644 --- a/nvim/plugin/conform.lua +++ b/nvim/plugin/conform.lua @@ -4,11 +4,11 @@ conform.setup { formatters_by_ft = { bash = { "shellcheck" }, go = { "gofmt" }, - javascript = { { "prettierd", "prettier" } }, + javascript = { "prettierd", "prettier", stop_after_first = true }, just = { "just" }, lua = { "stylua" }, - nix = { { "nixfmt" } }, - php = { { "php_cs_fixer", "phpcbf" } }, + nix = { "nixfmt" }, + php = { "php_cs_fixer", "phpcbf", stop_after_first = true }, terraform = { "terraform_fmt" }, yaml = { "yamlfmt" }, }, From 62e8b83df2b8516726ab7975ad8ea0e7c8fd04be Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 31 Jan 2025 11:00:29 +0000 Subject: [PATCH 1366/2258] Refactor dwm and thunar configuration --- nix/hosts/common/default.nix | 3 -- nix/hosts/t490/configuration.nix | 2 + nix/hosts/t490/services/dwm.nix | 53 ++++++++++++------- .../nixos/features/desktop/default.nix | 1 + nix/modules/nixos/features/desktop/thunar.nix | 25 +++++++++ nix/modules/nixos/i3.nix | 1 - 6 files changed, 61 insertions(+), 24 deletions(-) create mode 100644 nix/modules/nixos/features/desktop/thunar.nix diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index c8c62f14..24feaec9 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -42,9 +42,6 @@ logseq shotwell vscode - xfce.thunar - xfce.thunar-volman - xfce.tumbler ]; home-manager = { diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index bae0cc79..ab4663d1 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -18,8 +18,10 @@ features = { desktop = { autorandr.enable = true; + dwm.enable = true; gaming.enable = true; i3.enable = true; + thunar.enable = true; peek.enable = true; }; }; diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index f8bc108b..cc09eb15 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -1,27 +1,40 @@ -{ pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: + +with lib; { - services = { - dwm-status = { - enable = true; + options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; - order = [ - "audio" - "backlight" - "battery" - "cpu_load" - "network" - "time" - ]; + config = mkIf config.features.desktop.dwm.enable { + services = { + dwm-status = { + enable = true; + + order = [ + "audio" + "backlight" + "battery" + "cpu_load" + "network" + "time" + ]; + }; + + xserver.windowManager.dwm.enable = true; }; - xserver.windowManager.dwm.enable = true; - }; + systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; - environment.systemPackages = with pkgs; [ - dmenu - dmenu-bluetooth - networkmanager_dmenu - st - ]; + environment.systemPackages = with pkgs; [ + dmenu + dmenu-bluetooth + networkmanager_dmenu + st + ]; + }; } diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix index 07ce9a0a..d0851c6b 100644 --- a/nix/modules/nixos/features/desktop/default.nix +++ b/nix/modules/nixos/features/desktop/default.nix @@ -3,5 +3,6 @@ ./autorandr.nix ./peek.nix ./screenkey.nix + ./thunar.nix ]; } diff --git a/nix/modules/nixos/features/desktop/thunar.nix b/nix/modules/nixos/features/desktop/thunar.nix new file mode 100644 index 00000000..96e8086f --- /dev/null +++ b/nix/modules/nixos/features/desktop/thunar.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +{ + options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; + + config = mkIf config.features.desktop.thunar.enable { + programs.thunar = { + enable = true; + + plugins = with pkgs.xfce; [ + thunar-archive-plugin + thunar-volman + ]; + }; + + environment.systemPackages = with pkgs; [ xfce.tumbler ]; + }; +} diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix index 624c9fea..b300f228 100644 --- a/nix/modules/nixos/i3.nix +++ b/nix/modules/nixos/i3.nix @@ -3,7 +3,6 @@ inputs, lib, pkgs, - self, username, ... }: From eb76d68e2f951093e0f2a10a3cc13732fb29e62e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 10:22:31 +0000 Subject: [PATCH 1367/2258] Add cryptsetup --- nix/hosts/common/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index 24feaec9..929063e4 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -25,6 +25,7 @@ environment.systemPackages = with pkgs; [ + cryptsetup fastfetch mermaid-cli mkcert From 2e2ec7650bc2d0e488c7e067b46b5a25e74c9138 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 11:08:17 +0000 Subject: [PATCH 1368/2258] Update Tube Archivist URL --- nix/modules/nixos/features/homelab/containers/tubearchivist.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix index ed10053c..3b886030 100644 --- a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix +++ b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix @@ -11,6 +11,7 @@ let cfg = config.features.homelab.tubearchivist-container; port = 8085; + url = "tubearchivist.oliverdavies.uk"; in { options.features.homelab.tubearchivist-container = { From db1ab57383523e5165fd3540ef10c525376def4d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 22:41:36 +0000 Subject: [PATCH 1369/2258] Update Tube Archivist URL --- nix/modules/nixos/features/homelab/containers/tubearchivist.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix index 3b886030..e8c6ccdd 100644 --- a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix +++ b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix @@ -133,7 +133,7 @@ in "HOST_GID" = "1000"; "HOST_UID" = "1000"; "REDIS_HOST" = "archivist-redis"; - "TA_HOST" = "tubearchivist.localhost"; + "TA_HOST" = url; "TZ" = "Europe/London"; }; From 10d6e0e363fd160b197bcfb0238596b89760e23a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 22:41:36 +0000 Subject: [PATCH 1370/2258] Move Tube Archivist volumes to the media drive --- .../nixos/features/homelab/containers/tubearchivist.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix index e8c6ccdd..c1a38209 100644 --- a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix +++ b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix @@ -142,8 +142,8 @@ in ]; volumes = [ - "tubearchivist_cache:/cache:rw" - "tubearchivist_media:/youtube:rw" + "/mnt/media/tubearchivist_cache:/cache:rw" + "/mnt/media/tubearchivist_media:/youtube:rw" ]; ports = [ From 518d80226fd8194a8626ccd6baa240b47b8edb49 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 22:41:36 +0000 Subject: [PATCH 1371/2258] Add custom keys to dwm --- nix/overlays/default.nix | 1 + .../dwm/add-custom-commands-and-keys.patch | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 patches/dwm/add-custom-commands-and-keys.patch diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 3a064cbc..c25fafd5 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -12,6 +12,7 @@ modifications = final: prev: { dwm = prev.dwm.override { patches = [ + "${self}/patches/dwm/add-custom-commands-and-keys.patch" "${self}/patches/dwm/change-mod-key.patch" "${self}/patches/dwm/change-termcmd.patch" "${self}/patches/dwm/dwm-hide_vacant_tags-6.4.diff" diff --git a/patches/dwm/add-custom-commands-and-keys.patch b/patches/dwm/add-custom-commands-and-keys.patch new file mode 100644 index 00000000..2733c0b6 --- /dev/null +++ b/patches/dwm/add-custom-commands-and-keys.patch @@ -0,0 +1,29 @@ +diff --git a/config.def.h b/config.def.h +index 9efa774..6eabff1 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -60,9 +60,14 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; + static const char *termcmd[] = { "st", NULL }; + ++/* custom commands */ ++static const char *brave[] = { "brave", NULL }; ++static const char *rofi[] = { "rofi", "-show", "drun", NULL }; ++static const char *thunar[] = { "thunar", NULL }; ++ + static const Key keys[] = { + /* modifier key function argument */ +- { MODKEY, XK_p, spawn, {.v = dmenucmd } }, ++ { MODKEY, XK_p, spawn, {.v = rofi } }, + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, +@@ -95,6 +100,8 @@ static const Key keys[] = { + TAGKEYS( XK_8, 7) + TAGKEYS( XK_9, 8) + { MODKEY|ShiftMask, XK_q, quit, {0} }, ++ { MODKEY|ShiftMask, XK_b, spawn, {.v = brave } }, ++ { MODKEY|ShiftMask, XK_f, spawn, {.v = thunar } }, + }; + + /* button definitions */ From c3265e0b489f5b0adb8bcd920835ea3250475fd4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 22:41:36 +0000 Subject: [PATCH 1372/2258] Remove .tmux-sessionizer --- .tmux-sessionizer | 5 ----- 1 file changed, 5 deletions(-) delete mode 100755 .tmux-sessionizer diff --git a/.tmux-sessionizer b/.tmux-sessionizer deleted file mode 100755 index ba1d6aa9..00000000 --- a/.tmux-sessionizer +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -tmux new-window -dn shell - -nvim "+Telescope git_files" From 7989a4cbd337025fa0226149946f2d0dd3a393e0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Feb 2025 22:41:36 +0000 Subject: [PATCH 1373/2258] t490: add nixedo host --- nix/hosts/t490/configuration.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index ab4663d1..baf032e5 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -83,4 +83,8 @@ warn-dirty = false; }; }; + + networking.hosts = { + "192.168.1.116" = [ "nixedo" ]; + }; } From 33ec1e0d77961ddd5cd010bf250c02ec4d73cf46 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 4 Feb 2025 12:21:10 +0000 Subject: [PATCH 1374/2258] Enable neomutt and Vim keys --- nix/home/opdavies/hosts/t490.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 9d3d0391..fe3624a7 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -39,4 +39,10 @@ isync upload-to-files ]; + + programs.neomutt = { + enable = true; + + vimKeys = true; + }; } From d6ad5f1f15d70797393f71b70ab5cb5e8f2d6918 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Feb 2025 06:44:53 +0000 Subject: [PATCH 1375/2258] nix flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index ab2bb361..153709ff 100644 --- a/flake.lock +++ b/flake.lock @@ -107,11 +107,11 @@ ] }, "locked": { - "lastModified": 1738197954, - "narHash": "sha256-VYh7+cW3gvgv3zT6xo9pFgIVGlgulZCr+ot/HCUR+/Y=", + "lastModified": 1738709900, + "narHash": "sha256-8Bo5xFlCH5q72ExvAnH7TzStMlLZldKOSLMClRSfmTc=", "owner": "nix-community", "repo": "home-manager", - "rev": "9ce5d0b888a054945121394297ad34173d135547", + "rev": "f2d32e46fac9d51da6912948ae1156044c71774b", "type": "github" }, "original": { @@ -123,11 +123,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1737751639, - "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=", + "lastModified": 1738638143, + "narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4", + "rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70", "type": "github" }, "original": { @@ -191,11 +191,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1738023785, - "narHash": "sha256-BPHmb3fUwdHkonHyHi1+x89eXB3kA1jffIpwPVJIVys=", + "lastModified": 1738702386, + "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2b4230bf03deb33103947e2528cac2ed516c5c89", + "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", "type": "github" }, "original": { @@ -207,11 +207,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1738198809, - "narHash": "sha256-ezvKqlco21ScSK7Lhu+D3SlN5U8tsImVzSsv3My4JI0=", + "lastModified": 1738736983, + "narHash": "sha256-1xrwvTv6Xh6cbKyCGtfw5KoxdX6Q5Vkw4Fiz0bD23wY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8fadee69d99c39795e50754c1d0f4fb9b24cd65", + "rev": "6293940374db64e67cb816fa301f1d847e52b259", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1738680400, + "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "799ba5bffed04ced7067a91798353d360788b30d", "type": "github" }, "original": { From 09cbba308306d63f522026c8c2214f53680e0168 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Feb 2025 06:47:37 +0000 Subject: [PATCH 1376/2258] Add sxiv --- nix/hosts/t490/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index baf032e5..a1acccfe 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -56,6 +56,7 @@ gtypist rclone rclone-browser + sxiv ttyper yt-dlp ytfzf From 9933b0b8aabf8a221c60a9c7b4296cb1edafec07 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Feb 2025 06:48:15 +0000 Subject: [PATCH 1377/2258] Add pass Used to store a password for Neomutt. --- nix/hosts/t490/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index a1acccfe..be44923a 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -54,6 +54,7 @@ environment.systemPackages = with pkgs; [ gtypist + pass rclone rclone-browser sxiv From de5f12ad9f4a616fd35cc4ee6a69dd060f4a4a43 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Feb 2025 06:51:48 +0000 Subject: [PATCH 1378/2258] Update directories Include the ~/Code/os directory for open source projects. --- nix/pkgs/tmux-sessionizer/configure-directories.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/pkgs/tmux-sessionizer/configure-directories.patch b/nix/pkgs/tmux-sessionizer/configure-directories.patch index 49fddfda..33a19b20 100644 --- a/nix/pkgs/tmux-sessionizer/configure-directories.patch +++ b/nix/pkgs/tmux-sessionizer/configure-directories.patch @@ -9,7 +9,7 @@ index fa1bec5..4d79e0b 100755 - # If someone wants to make this extensible, i'll accept - # PR - selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L ~/ ~/Code ~/Documents -mindepth 1 -maxdepth 1 -type d | sort | fzf) ++ selected=$(find -L ~/ ~/Code ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d | sort | fzf) fi if [[ -z $selected ]]; then From e8efe60ae16de340c2c47b3825a6c99fbe1a8990 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Feb 2025 06:53:38 +0000 Subject: [PATCH 1379/2258] Open diagnostics in the quickfix list --- nvim/lua/opdavies/lsp/init.lua | 6 ++++-- nvim/plugin/telescope.lua | 5 ----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/nvim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua index b12d26be..1f34c9f7 100644 --- a/nvim/lua/opdavies/lsp/init.lua +++ b/nvim/lua/opdavies/lsp/init.lua @@ -120,8 +120,10 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, { buffer = 0 }) vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = 0 }) - vim.keymap.set("n", "<space>cr", vim.lsp.buf.rename, { buffer = 0 }) - vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, { buffer = 0 }) + vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { buffer = 0 }) + vim.keymap.set("n", "<leader>cr", vim.lsp.buf.rename, { buffer = 0 }) + + vim.keymap.set("n", "<leader>dl", vim.diagnostic.setqflist, { buffer = 0 }) end, }) diff --git a/nvim/plugin/telescope.lua b/nvim/plugin/telescope.lua index cc769d9a..fbc3e206 100644 --- a/nvim/plugin/telescope.lua +++ b/nvim/plugin/telescope.lua @@ -29,10 +29,6 @@ local builtin = require "telescope.builtin" local M = {} -M.diagnostics = function() - builtin.diagnostics { bufnr = 0 } -end - M.grep_bluecheese = function() builtin.live_grep { cwd = "web/sites/default/themes/bluecheese" } end @@ -55,7 +51,6 @@ vim.keymap.set("n", "<space>fi", M.search_all_files) vim.keymap.set("n", "<space>fk", builtin.keymaps) vim.keymap.set("n", "<space>ft", builtin.git_files) -vim.keymap.set("n", "<space>dl", M.diagnostics) vim.keymap.set("n", "<space>ds", builtin.lsp_document_symbols) vim.keymap.set("n", "<space>gw", builtin.grep_string) From 3ab241c5a9859bb5e5eff32768b5fa8de1eda0a7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 11 Feb 2025 07:26:33 +0000 Subject: [PATCH 1380/2258] nix flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 153709ff..80a1b930 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1738148035, - "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=", + "lastModified": 1738765162, + "narHash": "sha256-3Z40qHaFScWUCVQrGc4Y+RdoPsh1R/wIh+AN4cTXP0I=", "owner": "nix-community", "repo": "disko", - "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54", + "rev": "ff3568858c54bd306e9e1f2886f0f781df307dff", "type": "github" }, "original": { @@ -107,11 +107,11 @@ ] }, "locked": { - "lastModified": 1738709900, - "narHash": "sha256-8Bo5xFlCH5q72ExvAnH7TzStMlLZldKOSLMClRSfmTc=", + "lastModified": 1739198052, + "narHash": "sha256-fvAgCGK2phagbKv2S4YH4AIM566TKasfWMqYl3c3mPQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2d32e46fac9d51da6912948ae1156044c71774b", + "rev": "b0bd29bb4b8df265b13bbb4a6639afa74faaa831", "type": "github" }, "original": { @@ -123,11 +123,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1738638143, - "narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=", + "lastModified": 1738816619, + "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70", + "rev": "2eccff41bab80839b1d25b303b53d339fbb07087", "type": "github" }, "original": { @@ -191,11 +191,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1738702386, - "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", + "lastModified": 1739055578, + "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", + "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", "type": "github" }, "original": { @@ -207,11 +207,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1738736983, - "narHash": "sha256-1xrwvTv6Xh6cbKyCGtfw5KoxdX6Q5Vkw4Fiz0bD23wY=", + "lastModified": 1739218742, + "narHash": "sha256-MxAsqoDAXIQVKcWhg+ki1nIPIwWWOlxgA/AstX/mO5M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6293940374db64e67cb816fa301f1d847e52b259", + "rev": "f7dd10905ab88808ed9f486323fa58d2be9296c3", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", + "lastModified": 1739020877, + "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", + "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "type": "github" }, "original": { From f1462b253ddfc9be50a01b59d6252ed2ae8658e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Feb 2025 20:52:49 +0000 Subject: [PATCH 1381/2258] Remove Brave --- nix/users/opdavies/default.nix | 8 -------- patches/dwm/add-custom-commands-and-keys.patch | 6 +++--- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index 47ebd36a..b21300a7 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -20,14 +20,6 @@ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" ]; - - packages = - with pkgs; - [ ] - ++ pkgs.lib.optionals (!headless) [ - brave - firefox - ]; }; age.identityPaths = [ diff --git a/patches/dwm/add-custom-commands-and-keys.patch b/patches/dwm/add-custom-commands-and-keys.patch index 2733c0b6..99dbe703 100644 --- a/patches/dwm/add-custom-commands-and-keys.patch +++ b/patches/dwm/add-custom-commands-and-keys.patch @@ -1,5 +1,5 @@ diff --git a/config.def.h b/config.def.h -index 9efa774..6eabff1 100644 +index 9efa774..eb69e91 100644 --- a/config.def.h +++ b/config.def.h @@ -60,9 +60,14 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() @@ -7,7 +7,7 @@ index 9efa774..6eabff1 100644 static const char *termcmd[] = { "st", NULL }; +/* custom commands */ -+static const char *brave[] = { "brave", NULL }; ++static const char *firefox[] = { "firefox", NULL }; +static const char *rofi[] = { "rofi", "-show", "drun", NULL }; +static const char *thunar[] = { "thunar", NULL }; + @@ -22,7 +22,7 @@ index 9efa774..6eabff1 100644 TAGKEYS( XK_8, 7) TAGKEYS( XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ { MODKEY|ShiftMask, XK_b, spawn, {.v = brave } }, ++ { MODKEY|ShiftMask, XK_b, spawn, {.v = firefox } }, + { MODKEY|ShiftMask, XK_f, spawn, {.v = thunar } }, }; From 77621d00ef43f6fbd67b1ff2995795ec57785bf4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Feb 2025 21:19:07 +0000 Subject: [PATCH 1382/2258] Disable mini.hipatterns --- nvim/plugin/mini.lua | 7 ------- 1 file changed, 7 deletions(-) diff --git a/nvim/plugin/mini.lua b/nvim/plugin/mini.lua index 2caa5de6..933bb1e9 100644 --- a/nvim/plugin/mini.lua +++ b/nvim/plugin/mini.lua @@ -4,13 +4,6 @@ require("mini.align").setup {} require("mini.bracketed").setup {} -require("mini.hipatterns").setup { - highlighters = { - note = { pattern = "%f[%w]()NOTE()%f[%W]", group = "MiniHipatternsNote" }, - todo = { pattern = "%f[%w]()TODO()%f[%W]", group = "MiniHipatternsTodo" }, - }, -} - require("mini.move").setup {} require("mini.operators").setup {} From 443cfcf95ca3716ad3449d184eb93af5b29c3e5a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Feb 2025 21:21:51 +0000 Subject: [PATCH 1383/2258] Re-enable vim-caser --- nix/modules/home-manager/features/cli/neovim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 468cd78f..afee38f1 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -32,6 +32,7 @@ in refactoring-nvim standard-vim undotree + vim-caser vim-nix vim-pasta vim-repeat From 4a522c954f42a9420678384a3830871dd1657b3b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Feb 2025 21:39:24 +0000 Subject: [PATCH 1384/2258] Change the test strategy to vimux --- nix/modules/home-manager/features/cli/neovim.nix | 1 + nvim/plugin/vim-test.lua | 10 +--------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index afee38f1..5fcca729 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -44,6 +44,7 @@ in # Testing vim-test + vimux # Git vim-fugitive diff --git a/nvim/plugin/vim-test.lua b/nvim/plugin/vim-test.lua index 05260703..26aaf70f 100644 --- a/nvim/plugin/vim-test.lua +++ b/nvim/plugin/vim-test.lua @@ -12,13 +12,5 @@ set("n", "<leader>ts", ":TestSuite<CR>", options) vim.cmd [[ let test#php#phpunit#options = '--colors=always --testdox' - - function! TmuxStrategy(cmd) - let l:escaped_cmd = substitute(a:cmd, ' ', '\\ ', 'g') - - execute 'silent !tmux send-keys -t .bottom ' . l:escaped_cmd . ' Enter' - endfunction - - let g:test#custom_strategies = {'tmux': function('TmuxStrategy')} - let g:test#strategy = 'tmux' + let g:test#strategy = 'vimux' ]] From 8facff13aff5be23b59b46e0135b8f6fc4d57226 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Feb 2025 21:46:40 +0000 Subject: [PATCH 1385/2258] Remove unused Vim plugins --- nix/pkgs/vim-plugins/default.nix | 3 --- nix/pkgs/vim-plugins/nvim-tmux-navigation.nix | 13 ------------- nix/pkgs/vim-plugins/vim-autoread.nix | 13 ------------- nix/pkgs/vim-plugins/vim-heritage.nix | 13 ------------- 4 files changed, 42 deletions(-) delete mode 100644 nix/pkgs/vim-plugins/nvim-tmux-navigation.nix delete mode 100644 nix/pkgs/vim-plugins/vim-autoread.nix delete mode 100644 nix/pkgs/vim-plugins/vim-heritage.nix diff --git a/nix/pkgs/vim-plugins/default.nix b/nix/pkgs/vim-plugins/default.nix index 9076f340..bd587f10 100644 --- a/nix/pkgs/vim-plugins/default.nix +++ b/nix/pkgs/vim-plugins/default.nix @@ -3,11 +3,8 @@ { conf-vim = callPackage ./conf-vim.nix { }; edit-alternate-vim = callPackage ./edit-alternate-vim.nix { }; - nvim-tmux-navigation = callPackage ./nvim-tmux-navigation.nix { }; standard-vim = callPackage ./standard-vim.nix { }; - vim-autoread = callPackage ./vim-autoread.nix { }; vim-caser = callPackage ./vim-caser.nix { }; - vim-heritage = callPackage ./vim-heritage.nix { }; vim-textobj-indent = callPackage ./vim-textobj-indent.nix { }; vim-textobj-xmlattr = callPackage ./vim-textobj-xmlattr.nix { }; } diff --git a/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix b/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix deleted file mode 100644 index 3d2634ed..00000000 --- a/nix/pkgs/vim-plugins/nvim-tmux-navigation.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "nvim-tmux-navigation"; - src = fetchFromGitHub { - owner = "alexghergh"; - repo = "nvim-tmux-navigation"; - rev = "4898c98702954439233fdaf764c39636681e2861"; - sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; - }; -} diff --git a/nix/pkgs/vim-plugins/vim-autoread.nix b/nix/pkgs/vim-plugins/vim-autoread.nix deleted file mode 100644 index e632a85c..00000000 --- a/nix/pkgs/vim-plugins/vim-autoread.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "vim-autoread"; - src = fetchFromGitHub { - owner = "djoshea"; - repo = "vim-autoread"; - rev = "24061f84652d768bfb85d222c88580b3af138dab"; - sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; - }; -} diff --git a/nix/pkgs/vim-plugins/vim-heritage.nix b/nix/pkgs/vim-plugins/vim-heritage.nix deleted file mode 100644 index 98483d93..00000000 --- a/nix/pkgs/vim-plugins/vim-heritage.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; -} From bf22f31b5ac6b2cb38dd7288ebd8841bb8222c0a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Feb 2025 23:09:47 +0000 Subject: [PATCH 1386/2258] Remove i3 configuration Remove my i3 configuration as I've been using dwm as my daily driver for a few weeks. --- nix/hosts/t490/configuration.nix | 1 - nix/modules/nixos/default.nix | 1 - nix/modules/nixos/i3.nix | 140 ------------------------------- nix/pkgs/default.nix | 1 - nix/pkgs/i3-battery-popup.nix | 23 ----- 5 files changed, 166 deletions(-) delete mode 100644 nix/modules/nixos/i3.nix delete mode 100644 nix/pkgs/i3-battery-popup.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index be44923a..ce37b143 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -20,7 +20,6 @@ autorandr.enable = true; dwm.enable = true; gaming.enable = true; - i3.enable = true; thunar.enable = true; peek.enable = true; }; diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index 7fc8e31a..86974ccb 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -5,7 +5,6 @@ ./features/gaming.nix ./features/homelab ./fonts.nix - ./i3.nix ./rofi.nix ./rsnapshot.nix ./xbanish.nix diff --git a/nix/modules/nixos/i3.nix b/nix/modules/nixos/i3.nix deleted file mode 100644 index b300f228..00000000 --- a/nix/modules/nixos/i3.nix +++ /dev/null @@ -1,140 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - username, - ... -}: - -with lib; - -let - modifier = "Mod4"; -in -{ - options.features.desktop.i3.enable = mkEnableOption "Enable i3"; - - config = mkIf config.features.desktop.i3.enable { - services = { - displayManager.ly.enable = true; - - xserver.windowManager.i3 = { - enable = true; - - extraPackages = with pkgs; [ - i3status - i3lock - i3blocks - ]; - }; - }; - - home-manager.users.${username} = { - xsession.windowManager.i3 = { - enable = true; - - config = { - assigns = { - "7" = [ { class = "vlc"; } ]; - "8" = [ { class = "0ad"; } ]; - "9" = [ - { class = "Slack"; } - { class = "discord"; } - ]; - }; - - defaultWorkspace = "workspace number 1"; - - modifier = modifier; - - keybindings = inputs.nixpkgs.lib.mkOptionDefault { - "${modifier}+d" = "exec rofi -show drun"; - - "${modifier}+Shift+b" = "exec ${pkgs.brave}/bin/brave"; - "${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar"; - - # Change focus. - "${modifier}+h" = "focus left"; - "${modifier}+j" = "focus down"; - "${modifier}+k" = "focus up"; - "${modifier}+l" = "focus right"; - - # Move focused window. - "${modifier}+Shift+h" = "move left"; - "${modifier}+Shift+j" = "move down"; - "${modifier}+Shift+k" = "move up"; - "${modifier}+Shift+l" = "move right"; - - "${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui"; - "${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change"; - "${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle"; - - "XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume"; - "XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume"; - "XF86AudioMute" = - ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0''; - - "XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'"; - "XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'"; - }; - - terminal = "alacritty"; - }; - - extraConfig = '' - set $laptop eDP-1 - bindswitch --reload --locked lid:on output $laptop disable - bindswitch --reload --locked lid:off output $laptop enable - - exec_always --no-startup-id caffeine - exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change - exec_always --no-startup-id ${pkgs.i3-battery-popup}/bin/i3-battery-popup -n - - smart_borders on - smart_gaps on - - for_window [class="copyq"] floating enable - for_window [class="zoom"] floating enable - # xprop | grep -i class - ''; - - config = { - bars = [ - { - position = "bottom"; - statusCommand = "${pkgs.i3status}/bin/i3status"; - trayOutput = "none"; - } - ]; - - gaps = { - smartBorders = "on"; - smartGaps = true; - }; - }; - }; - - programs.i3status = { - enable = true; - - general.colors = false; - - modules = { - "battery all".settings.last_full_capacity = true; - - "tztime local".settings.format = "%d-%m-%Y %H:%M:%S"; - cpu_temperature.enable = false; - ipv6.enable = false; - load.enable = false; - }; - }; - - services.dunst = { - enable = true; - - settings.global.follow = "keyboard"; - }; - }; - }; -} diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 48ed2e47..6821efdc 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -8,7 +8,6 @@ in { build-glove80 = callPackage ./build-glove80.nix { }; notes = callPackage ./notes { }; - i3-battery-popup = callPackage ./i3-battery-popup.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/nix/pkgs/i3-battery-popup.nix b/nix/pkgs/i3-battery-popup.nix deleted file mode 100644 index 82de995c..00000000 --- a/nix/pkgs/i3-battery-popup.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -stdenv.mkDerivation rec { - pname = "i3-battery-popop"; - version = "1.1.1"; - - src = fetchFromGitHub { - owner = "rjekker"; - repo = "i3-battery-popup"; - rev = "v${version}"; - sha256 = "s6jZCkB0Z8dtnBG2p1NJIUY1fV4urEp4w6wFzxFNlqg="; - }; - - buildInputs = [ bash ]; - - installPhase = '' - mkdir -p $out/bin - cp $src/i3-battery-popup $out/bin/i3-battery-popup - chmod +x $out/bin/i3-battery-popup - ''; -} From 0a345df1a58003b8ee6d728f1662d303d6c7967c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Feb 2025 23:10:00 +0000 Subject: [PATCH 1387/2258] st: change the font size --- nix/overlays/default.nix | 6 ++++++ patches/st/change-font.patch | 13 +++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 patches/st/change-font.patch diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index c25fafd5..86f1706b 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -18,6 +18,12 @@ "${self}/patches/dwm/dwm-hide_vacant_tags-6.4.diff" ]; }; + + st = prev.st.override { + patches = [ + "${self}/patches/st/change-font.patch" + ]; + }; }; stable-packages = final: _prev: { diff --git a/patches/st/change-font.patch b/patches/st/change-font.patch new file mode 100644 index 00000000..bdc33ca9 --- /dev/null +++ b/patches/st/change-font.patch @@ -0,0 +1,13 @@ +diff --git a/config.def.h b/config.def.h +index 2cd740a..195bc80 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -5,7 +5,7 @@ + * + * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html + */ +-static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; ++static char *font = "Liberation Mono:pixelsize=20:antialias=true:autohint=true"; + static int borderpx = 2; + + /* From 5d854d25d24a70ed4a8cf95c4c1c72d08006da69 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Feb 2025 23:10:00 +0000 Subject: [PATCH 1388/2258] Replace alacritty with st --- nix/home/opdavies/hosts/PW05CH3L.nix | 4 -- nix/hosts/t490/services/dwm.nix | 1 + nix/lib/shared/home-manager.nix | 4 -- .../features/desktop/alacritty.nix | 40 ------------------- .../home-manager/features/desktop/default.nix | 1 - nix/overlays/default.nix | 1 - patches/dwm/change-termcmd.patch | 13 ------ 7 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 nix/modules/home-manager/features/desktop/alacritty.nix delete mode 100644 patches/dwm/change-termcmd.patch diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 526ed3c2..c8ce2d3f 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -12,9 +12,5 @@ syncthing.enable = true; tmux-sessionizer.enable = true; }; - - desktop = { - alacritty.enable = false; - }; }; } diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index cc09eb15..eda653a9 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + self, ... }: diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index 4120346d..0a5e79fb 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -28,10 +28,6 @@ neovim.enable = lib.mkDefault true; tmux.enable = lib.mkDefault true; }; - - desktop = { - alacritty.enable = lib.mkDefault true; - }; } ]; } diff --git a/nix/modules/home-manager/features/desktop/alacritty.nix b/nix/modules/home-manager/features/desktop/alacritty.nix deleted file mode 100644 index 4c8f7e4c..00000000 --- a/nix/modules/home-manager/features/desktop/alacritty.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - config, - lib, - ... -}: - -with lib; - -{ - options.features.desktop.alacritty.enable = mkEnableOption "Enable Alacritty"; - - config = mkIf config.features.desktop.alacritty.enable { - programs.alacritty = { - enable = true; - - settings = { - env = { - TERM = "screen-256color"; - }; - - colors.primary.background = "#000000"; - - window.padding = { - x = 10; - y = 10; - }; - - font = { - size = 15; - - normal.family = "JetBrainsMono Nerd Font "; - }; - - terminal.shell = { - program = "zsh"; - }; - }; - }; - }; -} diff --git a/nix/modules/home-manager/features/desktop/default.nix b/nix/modules/home-manager/features/desktop/default.nix index 243d22d0..d619f058 100644 --- a/nix/modules/home-manager/features/desktop/default.nix +++ b/nix/modules/home-manager/features/desktop/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./alacritty.nix ./copyq.nix ./discord.nix ./espanso.nix diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 86f1706b..93f0674d 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -14,7 +14,6 @@ patches = [ "${self}/patches/dwm/add-custom-commands-and-keys.patch" "${self}/patches/dwm/change-mod-key.patch" - "${self}/patches/dwm/change-termcmd.patch" "${self}/patches/dwm/dwm-hide_vacant_tags-6.4.diff" ]; }; diff --git a/patches/dwm/change-termcmd.patch b/patches/dwm/change-termcmd.patch deleted file mode 100644 index cef83978..00000000 --- a/patches/dwm/change-termcmd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 9efa774..648336e 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -58,7 +58,7 @@ static const Layout layouts[] = { - /* commands */ - static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; --static const char *termcmd[] = { "st", NULL }; -+static const char *termcmd[] = { "alacritty", NULL }; - - static const Key keys[] = { - /* modifier key function argument */ From 84d5a02a42c2a3c2229bb38f279ae9388351652f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Feb 2025 23:10:00 +0000 Subject: [PATCH 1389/2258] Replace rofi with dmenu --- nix/modules/nixos/default.nix | 1 - nix/modules/nixos/rofi.nix | 25 ------------------- .../dwm/add-custom-commands-and-keys.patch | 13 +++------- 3 files changed, 4 insertions(+), 35 deletions(-) delete mode 100644 nix/modules/nixos/rofi.nix diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index 86974ccb..f3c5b028 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -5,7 +5,6 @@ ./features/gaming.nix ./features/homelab ./fonts.nix - ./rofi.nix ./rsnapshot.nix ./xbanish.nix ]; diff --git a/nix/modules/nixos/rofi.nix b/nix/modules/nixos/rofi.nix deleted file mode 100644 index e7da11e9..00000000 --- a/nix/modules/nixos/rofi.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs, username, ... }: - -{ - environment.systemPackages = with pkgs; [ - rofi - rofi-power-menu - ]; - - home-manager.users.${username}.programs.rofi = { - enable = true; - cycle = true; - theme = "Arc-Dark"; - - extraConfig = { - modi = "run,drun,emoji,calc"; - }; - - plugins = with pkgs; [ - rofi-bluetooth - rofi-calc - rofi-emoji - rofi-pulse-select - ]; - }; -} diff --git a/patches/dwm/add-custom-commands-and-keys.patch b/patches/dwm/add-custom-commands-and-keys.patch index 99dbe703..bc799412 100644 --- a/patches/dwm/add-custom-commands-and-keys.patch +++ b/patches/dwm/add-custom-commands-and-keys.patch @@ -1,24 +1,19 @@ diff --git a/config.def.h b/config.def.h -index 9efa774..eb69e91 100644 +index 9efa774..e029834 100644 --- a/config.def.h +++ b/config.def.h -@@ -60,9 +60,14 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() +@@ -60,6 +60,10 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; static const char *termcmd[] = { "st", NULL }; +/* custom commands */ +static const char *firefox[] = { "firefox", NULL }; -+static const char *rofi[] = { "rofi", "-show", "drun", NULL }; +static const char *thunar[] = { "thunar", NULL }; + static const Key keys[] = { /* modifier key function argument */ -- { MODKEY, XK_p, spawn, {.v = dmenucmd } }, -+ { MODKEY, XK_p, spawn, {.v = rofi } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, - { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, -@@ -95,6 +100,8 @@ static const Key keys[] = { + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, +@@ -95,6 +99,8 @@ static const Key keys[] = { TAGKEYS( XK_8, 7) TAGKEYS( XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, From 98bc3433c0d01a42d46125e6af35ff78f62cb837 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Feb 2025 08:49:56 +0000 Subject: [PATCH 1390/2258] Remove ytfzf --- nix/hosts/t490/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index ce37b143..562ce913 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -59,7 +59,6 @@ sxiv ttyper yt-dlp - ytfzf ]; zramSwap.enable = true; From ea7c5b14499b89b30ac95155db7e8ded0fbfde9d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Feb 2025 20:36:26 +0000 Subject: [PATCH 1391/2258] dwm: add pertag patch > More general approach to taglayouts patch. This patch keeps layout, mwfact, barpos and nmaster per tag. https://dwm.suckless.org/patches/pertag --- nix/overlays/default.nix | 1 + patches/dwm/dwm-pertag-20200914-61bb8b2.diff | 177 +++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 patches/dwm/dwm-pertag-20200914-61bb8b2.diff diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 93f0674d..67a75626 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -15,6 +15,7 @@ "${self}/patches/dwm/add-custom-commands-and-keys.patch" "${self}/patches/dwm/change-mod-key.patch" "${self}/patches/dwm/dwm-hide_vacant_tags-6.4.diff" + "${self}/patches/dwm/dwm-pertag-20200914-61bb8b2.diff" ]; }; diff --git a/patches/dwm/dwm-pertag-20200914-61bb8b2.diff b/patches/dwm/dwm-pertag-20200914-61bb8b2.diff new file mode 100644 index 00000000..c8d7fbcb --- /dev/null +++ b/patches/dwm/dwm-pertag-20200914-61bb8b2.diff @@ -0,0 +1,177 @@ +diff --git a/dwm.c b/dwm.c +index 664c527..ac8e4ec 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -111,6 +111,7 @@ typedef struct { + void (*arrange)(Monitor *); + } Layout; + ++typedef struct Pertag Pertag; + struct Monitor { + char ltsymbol[16]; + float mfact; +@@ -130,6 +131,7 @@ struct Monitor { + Monitor *next; + Window barwin; + const Layout *lt[2]; ++ Pertag *pertag; + }; + + typedef struct { +@@ -272,6 +274,15 @@ static Window root, wmcheckwin; + /* configuration, allows nested code to access above variables */ + #include "config.h" + ++struct Pertag { ++ unsigned int curtag, prevtag; /* current and previous tag */ ++ int nmasters[LENGTH(tags) + 1]; /* number of windows in master area */ ++ float mfacts[LENGTH(tags) + 1]; /* mfacts per tag */ ++ unsigned int sellts[LENGTH(tags) + 1]; /* selected layouts */ ++ const Layout *ltidxs[LENGTH(tags) + 1][2]; /* matrix of tags and layouts indexes */ ++ int showbars[LENGTH(tags) + 1]; /* display bar for the current tag */ ++}; ++ + /* compile-time check if all tags fit into an unsigned int bit array. */ + struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; + +@@ -632,6 +643,7 @@ Monitor * + createmon(void) + { + Monitor *m; ++ unsigned int i; + + m = ecalloc(1, sizeof(Monitor)); + m->tagset[0] = m->tagset[1] = 1; +@@ -642,6 +654,20 @@ createmon(void) + m->lt[0] = &layouts[0]; + m->lt[1] = &layouts[1 % LENGTH(layouts)]; + strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); ++ m->pertag = ecalloc(1, sizeof(Pertag)); ++ m->pertag->curtag = m->pertag->prevtag = 1; ++ ++ for (i = 0; i <= LENGTH(tags); i++) { ++ m->pertag->nmasters[i] = m->nmaster; ++ m->pertag->mfacts[i] = m->mfact; ++ ++ m->pertag->ltidxs[i][0] = m->lt[0]; ++ m->pertag->ltidxs[i][1] = m->lt[1]; ++ m->pertag->sellts[i] = m->sellt; ++ ++ m->pertag->showbars[i] = m->showbar; ++ } ++ + return m; + } + +@@ -967,7 +993,7 @@ grabkeys(void) + void + incnmaster(const Arg *arg) + { +- selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); ++ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] = MAX(selmon->nmaster + arg->i, 0); + arrange(selmon); + } + +@@ -1502,9 +1528,9 @@ void + setlayout(const Arg *arg) + { + if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) +- selmon->sellt ^= 1; ++ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag] ^= 1; + if (arg && arg->v) +- selmon->lt[selmon->sellt] = (Layout *)arg->v; ++ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt] = (Layout *)arg->v; + strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol); + if (selmon->sel) + arrange(selmon); +@@ -1523,7 +1549,7 @@ setmfact(const Arg *arg) + f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; + if (f < 0.05 || f > 0.95) + return; +- selmon->mfact = f; ++ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag] = f; + arrange(selmon); + } + +@@ -1702,7 +1728,7 @@ tile(Monitor *m) + void + togglebar(const Arg *arg) + { +- selmon->showbar = !selmon->showbar; ++ selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar; + updatebarpos(selmon); + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); + arrange(selmon); +@@ -1741,9 +1767,33 @@ void + toggleview(const Arg *arg) + { + unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); ++ int i; + + if (newtagset) { + selmon->tagset[selmon->seltags] = newtagset; ++ ++ if (newtagset == ~0) { ++ selmon->pertag->prevtag = selmon->pertag->curtag; ++ selmon->pertag->curtag = 0; ++ } ++ ++ /* test if the user did not select the same tag */ ++ if (!(newtagset & 1 << (selmon->pertag->curtag - 1))) { ++ selmon->pertag->prevtag = selmon->pertag->curtag; ++ for (i = 0; !(newtagset & 1 << i); i++) ; ++ selmon->pertag->curtag = i + 1; ++ } ++ ++ /* apply settings for this view */ ++ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; ++ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; ++ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; ++ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; ++ selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; ++ ++ if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) ++ togglebar(NULL); ++ + focus(NULL); + arrange(selmon); + } +@@ -2038,11 +2088,37 @@ updatewmhints(Client *c) + void + view(const Arg *arg) + { ++ int i; ++ unsigned int tmptag; ++ + if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags]) + return; + selmon->seltags ^= 1; /* toggle sel tagset */ +- if (arg->ui & TAGMASK) ++ if (arg->ui & TAGMASK) { + selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; ++ selmon->pertag->prevtag = selmon->pertag->curtag; ++ ++ if (arg->ui == ~0) ++ selmon->pertag->curtag = 0; ++ else { ++ for (i = 0; !(arg->ui & 1 << i); i++) ; ++ selmon->pertag->curtag = i + 1; ++ } ++ } else { ++ tmptag = selmon->pertag->prevtag; ++ selmon->pertag->prevtag = selmon->pertag->curtag; ++ selmon->pertag->curtag = tmptag; ++ } ++ ++ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; ++ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; ++ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; ++ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; ++ selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; ++ ++ if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) ++ togglebar(NULL); ++ + focus(NULL); + arrange(selmon); + } From 3c76aa0936c03c5bd16bf489e953140c6e5d086e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Feb 2025 22:53:24 +0000 Subject: [PATCH 1392/2258] Update Firefox configuration --- flake.lock | 81 ++++++++++++++++++++++++++- flake.nix | 2 + nix/home/opdavies/desktop/default.nix | 1 + nix/home/opdavies/desktop/firefox.nix | 40 +++++++++++++ nix/hosts/common/default.nix | 2 + nix/hosts/t490/programs.nix | 11 ---- 6 files changed, 125 insertions(+), 12 deletions(-) create mode 100644 nix/home/opdavies/desktop/firefox.nix diff --git a/flake.lock b/flake.lock index 80a1b930..588cd561 100644 --- a/flake.lock +++ b/flake.lock @@ -79,6 +79,27 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -253,6 +274,42 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1739214665, + "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_4", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1739484678, + "narHash": "sha256-UMXcnWnAq/mZ6QULSaPkSsDCa2AcTVyz2lX+d6WBHgk=", + "owner": "nix-community", + "repo": "NUR", + "rev": "dc54e936d513274e1cfa85e8e6aa9f0d7d181299", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -263,7 +320,8 @@ "nixpkgs": "nixpkgs_3", "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-2411": "nixpkgs-2411", - "nixpkgs-master": "nixpkgs-master" + "nixpkgs-master": "nixpkgs-master", + "nur": "nur" } }, "systems": { @@ -280,6 +338,27 @@ "repo": "default", "type": "github" } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 16100c8a..e885b592 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,8 @@ nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + + nur.url = "github:nix-community/NUR"; }; outputs = diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 2b3bd6e6..58d0cf42 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -2,6 +2,7 @@ { imports = [ + ./firefox.nix ./qutebrowser.nix ]; diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix new file mode 100644 index 00000000..5f429fc9 --- /dev/null +++ b/nix/home/opdavies/desktop/firefox.nix @@ -0,0 +1,40 @@ +{ pkgs, ... }: + +{ + programs.firefox = { + enable = true; + + languagePacks = [ "en-GB" ]; + + profiles = { + default = { + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + bitwarden + darkreader + onetab + tree-style-tab + ublock-origin + vimium + web-developer + ]; + + preConfig = builtins.readFile "${pkgs.arkenfox-userjs}/user.js"; + + search = { + default = "DuckDuckGo"; + force = true; + privateDefault = "DuckDuckGo"; + }; + + settings = { + "browser.search.isUS" = false; + "browser.search.region" = "GB"; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; + }; +} diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index 929063e4..c7c2c77f 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -71,6 +71,8 @@ }; overlays = [ + inputs.nur.overlays.default + outputs.overlays.additions outputs.overlays.modifications outputs.overlays.stable-packages diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index df1b6e8e..aa7e2c3f 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -9,16 +9,5 @@ enableSSHSupport = true; pinentryPackage = pkgs.pinentry-qt; }; - - firefox = { - enable = true; - - languagePacks = [ "en-GB" ]; - - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; }; } From ce3a1df8d9aeee71ffd4baba57e1c850f7020662 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 07:48:53 +0000 Subject: [PATCH 1393/2258] Update run script --- run | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/run b/run index 36674084..ec1e6253 100755 --- a/run +++ b/run @@ -4,6 +4,10 @@ set -o errexit set -o nounset set -o pipefail +function build { + _nixos build "$@" +} + function check { nix flake check } @@ -25,23 +29,11 @@ function help { printf "\nExtended help:\n Each task has comments for general usage\n" } -function home-manager:build { - _home build "$@" -} - -function home-manager:switch { - _home switch "$@" -} - -function nixos:build { - _nixos build "$@" -} - -function nixos:switch { +function switch { _nixos switch "$@" } -function nixos:test { +function test { _nixos test "$@" } @@ -49,17 +41,6 @@ function update { nix flake update } -function _home { - local command="$1" - shift 1 - - NIXPKGS_ALLOW_UNFREE=1 home-manager "$command" \ - --extra-experimental-features flakes \ - --extra-experimental-features nix-command \ - --flake ".#$(whoami)@$(hostname)" \ - --impure "$@" -} - function _nixos { local command="$1" shift 1 From 5b4245a9109f31c9b130fe99468bf9c3946ec077 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 07:49:31 +0000 Subject: [PATCH 1394/2258] Add xdotool --- nix/hosts/t490/services/dwm.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index eda653a9..5be2d634 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -36,6 +36,7 @@ with lib; dmenu-bluetooth networkmanager_dmenu st + xdotool ]; }; } From baf0ed984daec2d6d2688dae6fa1338d1cce8e26 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 07:50:04 +0000 Subject: [PATCH 1395/2258] Remove unused reference to self --- nix/hosts/t490/services/dwm.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index 5be2d634..e3adc80a 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - self, ... }: From be06a070194934ad6cbd469095d6fed218b21c26 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 20:15:32 +0000 Subject: [PATCH 1396/2258] t490: add cron job to run imapfilter --- nix/hosts/t490/services/cron.nix | 11 +++++++++++ nix/hosts/t490/services/default.nix | 1 + 2 files changed, 12 insertions(+) create mode 100644 nix/hosts/t490/services/cron.nix diff --git a/nix/hosts/t490/services/cron.nix b/nix/hosts/t490/services/cron.nix new file mode 100644 index 00000000..65004d5a --- /dev/null +++ b/nix/hosts/t490/services/cron.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +{ + services.cron = { + enable = true; + + systemCronJobs = [ + "* * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" + ]; + }; +} diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index 0f225b27..541e60a7 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./cron.nix ./dwm.nix ./interception-tools.nix ./sound.nix From 31010c9a8c59be1ba07e317dad0ddbcc4529ac7a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 23:04:19 +0000 Subject: [PATCH 1397/2258] Remove files vhost --- .../hetznix/services/caddy/vhosts/default.nix | 1 - .../caddy/vhosts/files.oliverdavies.uk.nix | 15 --------------- 2 files changed, 16 deletions(-) delete mode 100644 nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/default.nix b/nix/hosts/hetznix/services/caddy/vhosts/default.nix index e22f854d..b8ad8818 100644 --- a/nix/hosts/hetznix/services/caddy/vhosts/default.nix +++ b/nix/hosts/hetznix/services/caddy/vhosts/default.nix @@ -1,7 +1,6 @@ { imports = [ ./bootstrap-with-tailwind.oliverdavies.uk.nix - ./files.oliverdavies.uk.nix ./florida-drupalcamp-tailwind-css.oliverdavies.uk.nix ./luke.oliverdavies.uk.nix ./phpsw-sculpin-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix deleted file mode 100644 index fc0a6e4e..00000000 --- a/nix/hosts/hetznix/services/caddy/vhosts/files.oliverdavies.uk.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - services.caddy.virtualHosts."files.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - file_server { - header Content-Disposition "attachment" - } - - root * /var/www/vhosts/files.oliverdavies.uk - - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} From 5c97dfa9c713fac3bfb0a2fdc2f3823fffa41d0e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 23:05:10 +0000 Subject: [PATCH 1398/2258] Add eric vhost --- nix/hosts/hetznix/services/caddy/vhosts/default.nix | 1 + nix/hosts/hetznix/services/caddy/vhosts/eric.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 nix/hosts/hetznix/services/caddy/vhosts/eric.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/default.nix b/nix/hosts/hetznix/services/caddy/vhosts/default.nix index b8ad8818..bcf8dbb8 100644 --- a/nix/hosts/hetznix/services/caddy/vhosts/default.nix +++ b/nix/hosts/hetznix/services/caddy/vhosts/default.nix @@ -1,6 +1,7 @@ { imports = [ ./bootstrap-with-tailwind.oliverdavies.uk.nix + ./eric.nix ./florida-drupalcamp-tailwind-css.oliverdavies.uk.nix ./luke.oliverdavies.uk.nix ./phpsw-sculpin-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/eric.nix b/nix/hosts/hetznix/services/caddy/vhosts/eric.nix new file mode 100644 index 00000000..fc6c44a9 --- /dev/null +++ b/nix/hosts/hetznix/services/caddy/vhosts/eric.nix @@ -0,0 +1,12 @@ +{ + services.caddy.virtualHosts."eric.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; + + extraConfig = '' + encode gzip + root * /var/www/vhosts/eric + file_server + header X-Robots-Tag "noindex, nofollow" + ''; + }; +} From 8121441002a5a62e66ff303ffae5f877c4e5776f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Feb 2025 23:08:17 +0000 Subject: [PATCH 1399/2258] Add newsboat --- nix/hosts/t490/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 562ce913..fdf3fba4 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -53,6 +53,7 @@ environment.systemPackages = with pkgs; [ gtypist + newsboat pass rclone rclone-browser From 63b141d3606bbe70e2d3dd4480de26c3aa5a48d6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Feb 2025 00:42:30 +0000 Subject: [PATCH 1400/2258] nixedo: add git user --- nix/hosts/nixedo/configuration.nix | 1 + nix/users/git/default.nix | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 nix/users/git/default.nix diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index dc0dd762..ea38bb7e 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -11,6 +11,7 @@ ./modules/acme.nix ../common + ../../users/git ../../users/opdavies ]; diff --git a/nix/users/git/default.nix b/nix/users/git/default.nix new file mode 100644 index 00000000..ca8549cb --- /dev/null +++ b/nix/users/git/default.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: + +{ + users.users.git = { + initialPassword = "opdavies"; + isNormalUser = true; + + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" + ]; + + packages = with pkgs; [ git ]; + }; +} From 186dd064e27f6dcb7ec63efefdee329a782df340 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Feb 2025 00:43:04 +0000 Subject: [PATCH 1401/2258] Add awesome-rss extension Puts an RSS/Atom subscribe button back in URL bar. Supports "Live Bookmarks" (built-in), Feedly, & Inoreader https://addons.mozilla.org/en-US/firefox/addon/awesome-rss --- nix/home/opdavies/desktop/firefox.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix index 5f429fc9..574c77fb 100644 --- a/nix/home/opdavies/desktop/firefox.nix +++ b/nix/home/opdavies/desktop/firefox.nix @@ -9,6 +9,7 @@ profiles = { default = { extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + awesome-rss bitwarden darkreader onetab From 75f47838fa12168cc21e8943e5587a7d467c9db2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Feb 2025 01:34:46 +0000 Subject: [PATCH 1402/2258] Change job to run every 15 minutes --- nix/hosts/t490/services/cron.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hosts/t490/services/cron.nix b/nix/hosts/t490/services/cron.nix index 65004d5a..8752ccf8 100644 --- a/nix/hosts/t490/services/cron.nix +++ b/nix/hosts/t490/services/cron.nix @@ -5,7 +5,7 @@ enable = true; systemCronJobs = [ - "* * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" + "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" ]; }; } From 1ca1ac3c4a4a72e5d28730e0e4aa4cee37f025ad Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Feb 2025 01:35:08 +0000 Subject: [PATCH 1403/2258] Add a cron job to run mbsync twice a day --- nix/hosts/t490/services/cron.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/services/cron.nix b/nix/hosts/t490/services/cron.nix index 8752ccf8..f9b961c3 100644 --- a/nix/hosts/t490/services/cron.nix +++ b/nix/hosts/t490/services/cron.nix @@ -6,6 +6,7 @@ systemCronJobs = [ "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" + "0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a" ]; }; } From abc2ea777e98ade9f192ec64ca644e79f46bf2ea Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Feb 2025 14:00:15 +0000 Subject: [PATCH 1404/2258] hetznix: add git user --- nix/hosts/hetznix/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/hetznix/configuration.nix b/nix/hosts/hetznix/configuration.nix index 54cfffc2..29809adf 100644 --- a/nix/hosts/hetznix/configuration.nix +++ b/nix/hosts/hetznix/configuration.nix @@ -17,6 +17,7 @@ ./security ./services + ../../users/git ../../users/opdavies ]; From 61c0b7c5c66945fd573bbc2d153586f7e800ebb0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Feb 2025 01:09:00 +0000 Subject: [PATCH 1405/2258] st: add anysize patch > By default, st's window size always snaps to the nearest multiple of the character size plus a fixed inner border (set with borderpx in config.h). When the size of st does not perfectly match the space allocated to it (when using a tiling WM, for example), unsightly gaps will appear between st and other apps, or between instances of st. > > This patch allows st to resize to any pixel size, makes the inner border size dynamic, and centers the content of the terminal so that the left/right and top/bottom borders are balanced. With this patch, st on a tiling WM will always fill the entire space allocated to it. https://st.suckless.org/patches/anysize --- nix/overlays/default.nix | 1 + patches/st/st-anysize-20220718-baa9357.diff | 164 ++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 patches/st/st-anysize-20220718-baa9357.diff diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 67a75626..3f3b2138 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -22,6 +22,7 @@ st = prev.st.override { patches = [ "${self}/patches/st/change-font.patch" + "${self}/patches/st/st-anysize-20220718-baa9357.diff" ]; }; }; diff --git a/patches/st/st-anysize-20220718-baa9357.diff b/patches/st/st-anysize-20220718-baa9357.diff new file mode 100644 index 00000000..675ffdfb --- /dev/null +++ b/patches/st/st-anysize-20220718-baa9357.diff @@ -0,0 +1,164 @@ +From 8dcdc4b21a73268e167d98aa30f24315c7f3b7ff Mon Sep 17 00:00:00 2001 +From: Bakkeby <bakkeby@gmail.com> +Date: Mon, 18 Jul 2022 16:52:03 +0200 +Subject: [PATCH] Adding anysize patch + +--- + x.c | 56 ++++++++++++++++++++++++++++++-------------------------- + 1 file changed, 30 insertions(+), 26 deletions(-) + +diff --git a/x.c b/x.c +index 2a3bd38..f534347 100644 +--- a/x.c ++++ b/x.c +@@ -81,6 +81,7 @@ typedef XftGlyphFontSpec GlyphFontSpec; + typedef struct { + int tw, th; /* tty width and height */ + int w, h; /* window width and height */ ++ int hborderpx, vborderpx; + int ch; /* char height */ + int cw; /* char width */ + int mode; /* window state/mode flags */ +@@ -331,7 +332,7 @@ ttysend(const Arg *arg) + int + evcol(XEvent *e) + { +- int x = e->xbutton.x - borderpx; ++ int x = e->xbutton.x - win.hborderpx; + LIMIT(x, 0, win.tw - 1); + return x / win.cw; + } +@@ -339,7 +340,7 @@ evcol(XEvent *e) + int + evrow(XEvent *e) + { +- int y = e->xbutton.y - borderpx; ++ int y = e->xbutton.y - win.vborderpx; + LIMIT(y, 0, win.th - 1); + return y / win.ch; + } +@@ -739,6 +740,9 @@ cresize(int width, int height) + col = MAX(1, col); + row = MAX(1, row); + ++ win.hborderpx = (win.w - col * win.cw) / 2; ++ win.vborderpx = (win.h - row * win.ch) / 2; ++ + tresize(col, row); + xresize(col, row); + ttyresize(win.tw, win.th); +@@ -869,8 +873,8 @@ xhints(void) + sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize; + sizeh->height = win.h; + sizeh->width = win.w; +- sizeh->height_inc = win.ch; +- sizeh->width_inc = win.cw; ++ sizeh->height_inc = 1; ++ sizeh->width_inc = 1; + sizeh->base_height = 2 * borderpx; + sizeh->base_width = 2 * borderpx; + sizeh->min_height = win.ch + 2 * borderpx; +@@ -1152,8 +1156,8 @@ xinit(int cols, int rows) + xloadcols(); + + /* adjust fixed window geometry */ +- win.w = 2 * borderpx + cols * win.cw; +- win.h = 2 * borderpx + rows * win.ch; ++ win.w = 2 * win.hborderpx + 2 * borderpx + cols * win.cw; ++ win.h = 2 * win.vborderpx + 2 * borderpx + rows * win.ch; + if (xw.gm & XNegative) + xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; + if (xw.gm & YNegative) +@@ -1242,7 +1246,7 @@ xinit(int cols, int rows) + int + xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) + { +- float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp; ++ float winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, xp, yp; + ushort mode, prevmode = USHRT_MAX; + Font *font = &dc.font; + int frcflags = FRC_NORMAL; +@@ -1375,7 +1379,7 @@ void + xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) + { + int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); +- int winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, ++ int winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, + width = charlen * win.cw; + Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; + XRenderColor colfg, colbg; +@@ -1465,17 +1469,17 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i + + /* Intelligent cleaning up of the borders. */ + if (x == 0) { +- xclear(0, (y == 0)? 0 : winy, borderpx, ++ xclear(0, (y == 0)? 0 : winy, win.hborderpx, + winy + win.ch + +- ((winy + win.ch >= borderpx + win.th)? win.h : 0)); ++ ((winy + win.ch >= win.vborderpx + win.th)? win.h : 0)); + } +- if (winx + width >= borderpx + win.tw) { ++ if (winx + width >= win.hborderpx + win.tw) { + xclear(winx + width, (y == 0)? 0 : winy, win.w, +- ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch))); ++ ((winy + win.ch >= win.vborderpx + win.th)? win.h : (winy + win.ch))); + } + if (y == 0) +- xclear(winx, 0, winx + width, borderpx); +- if (winy + win.ch >= borderpx + win.th) ++ xclear(winx, 0, winx + width, win.vborderpx); ++ if (winy + win.ch >= win.vborderpx + win.th) + xclear(winx, winy + win.ch, winx + width, win.h); + + /* Clean up the region we want to draw to. */ +@@ -1569,35 +1573,35 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) + case 3: /* Blinking Underline */ + case 4: /* Steady Underline */ + XftDrawRect(xw.draw, &drawcol, +- borderpx + cx * win.cw, +- borderpx + (cy + 1) * win.ch - \ ++ win.hborderpx + cx * win.cw, ++ win.vborderpx + (cy + 1) * win.ch - \ + cursorthickness, + win.cw, cursorthickness); + break; + case 5: /* Blinking bar */ + case 6: /* Steady bar */ + XftDrawRect(xw.draw, &drawcol, +- borderpx + cx * win.cw, +- borderpx + cy * win.ch, ++ win.hborderpx + cx * win.cw, ++ win.vborderpx + cy * win.ch, + cursorthickness, win.ch); + break; + } + } else { + XftDrawRect(xw.draw, &drawcol, +- borderpx + cx * win.cw, +- borderpx + cy * win.ch, ++ win.hborderpx + cx * win.cw, ++ win.vborderpx + cy * win.ch, + win.cw - 1, 1); + XftDrawRect(xw.draw, &drawcol, +- borderpx + cx * win.cw, +- borderpx + cy * win.ch, ++ win.hborderpx + cx * win.cw, ++ win.vborderpx + cy * win.ch, + 1, win.ch - 1); + XftDrawRect(xw.draw, &drawcol, +- borderpx + (cx + 1) * win.cw - 1, +- borderpx + cy * win.ch, ++ win.hborderpx + (cx + 1) * win.cw - 1, ++ win.vborderpx + cy * win.ch, + 1, win.ch - 1); + XftDrawRect(xw.draw, &drawcol, +- borderpx + cx * win.cw, +- borderpx + (cy + 1) * win.ch - 1, ++ win.hborderpx + cx * win.cw, ++ win.vborderpx + (cy + 1) * win.ch - 1, + win.cw, 1); + } + } +-- +2.37.1 + From a13527889c26d826cb72433f303d245da7e90899 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Feb 2025 20:08:41 +0000 Subject: [PATCH 1406/2258] Change font --- patches/st/change-font.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/st/change-font.patch b/patches/st/change-font.patch index bdc33ca9..f73b47f5 100644 --- a/patches/st/change-font.patch +++ b/patches/st/change-font.patch @@ -1,5 +1,5 @@ diff --git a/config.def.h b/config.def.h -index 2cd740a..195bc80 100644 +index 2cd740a..39e4500 100644 --- a/config.def.h +++ b/config.def.h @@ -5,7 +5,7 @@ @@ -7,7 +7,7 @@ index 2cd740a..195bc80 100644 * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html */ -static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; -+static char *font = "Liberation Mono:pixelsize=20:antialias=true:autohint=true"; ++static char *font = "MesloLGSNerdFontMono:pixelsize=15:antialias=true:autohint=true"; static int borderpx = 2; /* From 4483075457870007983435d1c7ba8e666e4758cf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Feb 2025 20:08:41 +0000 Subject: [PATCH 1407/2258] Update custom key bindings --- .../dwm/add-custom-commands-and-keys.patch | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/patches/dwm/add-custom-commands-and-keys.patch b/patches/dwm/add-custom-commands-and-keys.patch index bc799412..b308520f 100644 --- a/patches/dwm/add-custom-commands-and-keys.patch +++ b/patches/dwm/add-custom-commands-and-keys.patch @@ -1,24 +1,16 @@ diff --git a/config.def.h b/config.def.h -index 9efa774..e029834 100644 +index 9efa774..dd6779a 100644 --- a/config.def.h +++ b/config.def.h -@@ -60,6 +60,10 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; - static const char *termcmd[] = { "st", NULL }; - -+/* custom commands */ -+static const char *firefox[] = { "firefox", NULL }; -+static const char *thunar[] = { "thunar", NULL }; -+ - static const Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, -@@ -95,6 +99,8 @@ static const Key keys[] = { +@@ -95,6 +95,11 @@ static const Key keys[] = { TAGKEYS( XK_8, 7) TAGKEYS( XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ { MODKEY|ShiftMask, XK_b, spawn, {.v = firefox } }, -+ { MODKEY|ShiftMask, XK_f, spawn, {.v = thunar } }, ++ { MODKEY|ShiftMask, XK_b, spawn, SHCMD("firefox") }, ++ { MODKEY|ShiftMask, XK_f, spawn, SHCMD("thunar") }, ++ { MODKEY|ShiftMask, XK_s, spawn, SHCMD("flameshot gui") }, ++ { MODKEY|ShiftMask, XK_y, spawn, SHCMD("copyq toggle") }, ++ { MODKEY, XK_Insert, spawn, SHCMD("xdotool type $(grep -v '^#' ~/snippets.txt | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, }; /* button definitions */ From 604891afb6b59f7359f0a03639d3e14b3fb8822c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Feb 2025 12:24:39 +0000 Subject: [PATCH 1408/2258] Remove lightdm, enable startx --- nix/hosts/t490/services/dwm.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index e3adc80a..422ce2dd 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -25,7 +25,10 @@ with lib; ]; }; - xserver.windowManager.dwm.enable = true; + xserver = { + displayManager.startx.enable = true; + windowManager.dwm.enable = true; + }; }; systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; From 394d40f601634b258e4bc8faf8d03f6332d80587 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Feb 2025 12:24:39 +0000 Subject: [PATCH 1409/2258] Automatically run startx on login --- nix/modules/home-manager/features/cli/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/features/cli/zsh.nix index 4ca17eea..eec1fb43 100644 --- a/nix/modules/home-manager/features/cli/zsh.nix +++ b/nix/modules/home-manager/features/cli/zsh.nix @@ -22,6 +22,10 @@ }; initExtra = '' + if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then + exec startx &>/dev/null + fi + # suffix alias -s gz="tar -tf" alias -s {html,HTML}="background firefox" From 33a360db02cbb946ae1d0f8a01c6a68892dbd9fc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Feb 2025 12:24:39 +0000 Subject: [PATCH 1410/2258] nix flake update --- flake.lock | 62 +++++++++++++-------------- nix/home/opdavies/desktop/firefox.nix | 2 +- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 588cd561..e1267ba4 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1738765162, - "narHash": "sha256-3Z40qHaFScWUCVQrGc4Y+RdoPsh1R/wIh+AN4cTXP0I=", + "lastModified": 1739841949, + "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=", "owner": "nix-community", "repo": "disko", - "rev": "ff3568858c54bd306e9e1f2886f0f781df307dff", + "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1739198052, - "narHash": "sha256-fvAgCGK2phagbKv2S4YH4AIM566TKasfWMqYl3c3mPQ=", + "lastModified": 1739842562, + "narHash": "sha256-XNvgSmdHHOhxQEHW/GFdaaXqcEcWdMXvLJyYyLmxciE=", "owner": "nix-community", "repo": "home-manager", - "rev": "b0bd29bb4b8df265b13bbb4a6639afa74faaa831", + "rev": "69dfc316c5b5f2de1d68e477393fecbf19a0cdba", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1738816619, - "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=", + "lastModified": 1739798439, + "narHash": "sha256-GyipmjbbQEaosel/+wq1xihCKbv0/e1LU00x/8b/fP4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "2eccff41bab80839b1d25b303b53d339fbb07087", + "rev": "3e2ea8a49d4d76276b0f4e2041df8ca5c0771371", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1736095716, - "narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=", + "lastModified": 1739782332, + "narHash": "sha256-bPZKuual2WKfyHv7Wq+Owcj9R+i/qFzOWByqSS9rlxI=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0", + "rev": "59bdbb1e75232bf1dd6d2a9313b9b6ddc5049ba2", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1739055578, - "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", + "lastModified": 1739758141, + "narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", + "rev": "c618e28f70257593de75a7044438efc1c1fc0791", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1739218742, - "narHash": "sha256-MxAsqoDAXIQVKcWhg+ki1nIPIwWWOlxgA/AstX/mO5M=", + "lastModified": 1739842125, + "narHash": "sha256-xzm9gbfRniztP5IxouqHo7le++ZCgdvgc2hFoIP7trY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f7dd10905ab88808ed9f486323fa58d2be9296c3", + "rev": "f365bef3cc9ce80ebc35e5aec273a975bc38e930", "type": "github" }, "original": { @@ -244,27 +244,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733384649, - "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", + "lastModified": 1739624908, + "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", + "rev": "a60651b217d2e529729cbc7d989c19f3941b9250", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1739736696, + "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1739214665, - "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", + "lastModified": 1739736696, + "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", + "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739484678, - "narHash": "sha256-UMXcnWnAq/mZ6QULSaPkSsDCa2AcTVyz2lX+d6WBHgk=", + "lastModified": 1739841231, + "narHash": "sha256-dj927SnzgtkaNEYdo0SADNLOzvhj7QPj8vlNpJDCaQg=", "owner": "nix-community", "repo": "NUR", - "rev": "dc54e936d513274e1cfa85e8e6aa9f0d7d181299", + "rev": "4decf057c3af1f2f1c5528d04fdec3c6b777d09d", "type": "github" }, "original": { diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix index 574c77fb..b677ce56 100644 --- a/nix/home/opdavies/desktop/firefox.nix +++ b/nix/home/opdavies/desktop/firefox.nix @@ -8,7 +8,7 @@ profiles = { default = { - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ awesome-rss bitwarden darkreader From 560912af52409966092afdf0eb93119c7d33c1d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Feb 2025 12:24:39 +0000 Subject: [PATCH 1411/2258] Move dwm and st patches https://github.com/donovanglover/nix-config/blob/9ad246031f5fa4a0ac4cc18cce04629804415195/home/dwm.nix --- flake.nix | 2 +- nix/hosts/t490/services/dwm.nix | 36 +++- nix/overlays/default.nix | 17 +- patches/dwm/dwm-hide_vacant_tags-6.4.diff | 48 ----- patches/dwm/dwm-pertag-20200914-61bb8b2.diff | 177 ------------------- patches/dwm/dwm-switchtotag-6.2.diff | 58 ------ patches/st/st-anysize-20220718-baa9357.diff | 164 ----------------- 7 files changed, 36 insertions(+), 466 deletions(-) delete mode 100644 patches/dwm/dwm-hide_vacant_tags-6.4.diff delete mode 100644 patches/dwm/dwm-pertag-20200914-61bb8b2.diff delete mode 100644 patches/dwm/dwm-switchtotag-6.2.diff delete mode 100644 patches/st/st-anysize-20220718-baa9357.diff diff --git a/flake.nix b/flake.nix index e885b592..590c29a1 100644 --- a/flake.nix +++ b/flake.nix @@ -61,7 +61,7 @@ formatter.${system} = pkgs.nixfmt-rfc-style; - overlays = import ./nix/overlays { inherit inputs self; }; + overlays = import ./nix/overlays { inherit inputs; }; nixosModules.default = ./nix/modules/nixos; diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index 422ce2dd..edaa3a3e 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + self, ... }: @@ -27,7 +28,27 @@ with lib; xserver = { displayManager.startx.enable = true; - windowManager.dwm.enable = true; + + windowManager.dwm = { + enable = true; + + package = pkgs.dwm.overrideAttrs (oldAttrs: { + patches = with pkgs; [ + "${self}/patches/dwm/add-custom-commands-and-keys.patch" + "${self}/patches/dwm/change-mod-key.patch" + + (fetchpatch { + url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; + sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; + }) + + (fetchpatch { + url = "https://dwm.suckless.org/patches/pertag/dwm-pertag-20200914-61bb8b2.diff"; + sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; + }) + ]; + }); + }; }; }; @@ -37,7 +58,18 @@ with lib; dmenu dmenu-bluetooth networkmanager_dmenu - st + + (st.override { + patches = with pkgs; [ + "${self}/patches/st/change-font.patch" + + (fetchpatch { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + }) + ]; + }) + xdotool ]; }; diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index 3f3b2138..b6b27fd9 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -1,4 +1,4 @@ -{ inputs, self, ... }: +{ inputs, ... }: { additions = @@ -10,21 +10,6 @@ }; modifications = final: prev: { - dwm = prev.dwm.override { - patches = [ - "${self}/patches/dwm/add-custom-commands-and-keys.patch" - "${self}/patches/dwm/change-mod-key.patch" - "${self}/patches/dwm/dwm-hide_vacant_tags-6.4.diff" - "${self}/patches/dwm/dwm-pertag-20200914-61bb8b2.diff" - ]; - }; - - st = prev.st.override { - patches = [ - "${self}/patches/st/change-font.patch" - "${self}/patches/st/st-anysize-20220718-baa9357.diff" - ]; - }; }; stable-packages = final: _prev: { diff --git a/patches/dwm/dwm-hide_vacant_tags-6.4.diff b/patches/dwm/dwm-hide_vacant_tags-6.4.diff deleted file mode 100644 index 42d9c058..00000000 --- a/patches/dwm/dwm-hide_vacant_tags-6.4.diff +++ /dev/null @@ -1,48 +0,0 @@ -:100644 100644 f1d86b2 0000000 M dwm.c - -diff --git a/dwm.c b/dwm.c -index f1d86b2..d41cc14 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -433,9 +433,15 @@ buttonpress(XEvent *e) - } - if (ev->window == selmon->barwin) { - i = x = 0; -- do -+ unsigned int occ = 0; -+ for(c = m->clients; c; c=c->next) -+ occ |= c->tags == TAGMASK ? 0 : c->tags; -+ do { -+ /* Do not reserve space for vacant tags */ -+ if (!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) -+ continue; - x += TEXTW(tags[i]); -- while (ev->x >= x && ++i < LENGTH(tags)); -+ } while (ev->x >= x && ++i < LENGTH(tags)); - if (i < LENGTH(tags)) { - click = ClkTagBar; - arg.ui = 1 << i; -@@ -715,19 +721,18 @@ drawbar(Monitor *m) - } - - for (c = m->clients; c; c = c->next) { -- occ |= c->tags; -+ occ |= c->tags == TAGMASK ? 0 : c->tags; - if (c->isurgent) - urg |= c->tags; - } - x = 0; - for (i = 0; i < LENGTH(tags); i++) { -+ /* Do not draw vacant tags */ -+ if(!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) -+ continue; - w = TEXTW(tags[i]); - drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); -- if (occ & 1 << i) -- drw_rect(drw, x + boxs, boxs, boxw, boxw, -- m == selmon && selmon->sel && selmon->sel->tags & 1 << i, -- urg & 1 << i); - x += w; - } - w = TEXTW(m->ltsymbol); diff --git a/patches/dwm/dwm-pertag-20200914-61bb8b2.diff b/patches/dwm/dwm-pertag-20200914-61bb8b2.diff deleted file mode 100644 index c8d7fbcb..00000000 --- a/patches/dwm/dwm-pertag-20200914-61bb8b2.diff +++ /dev/null @@ -1,177 +0,0 @@ -diff --git a/dwm.c b/dwm.c -index 664c527..ac8e4ec 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -111,6 +111,7 @@ typedef struct { - void (*arrange)(Monitor *); - } Layout; - -+typedef struct Pertag Pertag; - struct Monitor { - char ltsymbol[16]; - float mfact; -@@ -130,6 +131,7 @@ struct Monitor { - Monitor *next; - Window barwin; - const Layout *lt[2]; -+ Pertag *pertag; - }; - - typedef struct { -@@ -272,6 +274,15 @@ static Window root, wmcheckwin; - /* configuration, allows nested code to access above variables */ - #include "config.h" - -+struct Pertag { -+ unsigned int curtag, prevtag; /* current and previous tag */ -+ int nmasters[LENGTH(tags) + 1]; /* number of windows in master area */ -+ float mfacts[LENGTH(tags) + 1]; /* mfacts per tag */ -+ unsigned int sellts[LENGTH(tags) + 1]; /* selected layouts */ -+ const Layout *ltidxs[LENGTH(tags) + 1][2]; /* matrix of tags and layouts indexes */ -+ int showbars[LENGTH(tags) + 1]; /* display bar for the current tag */ -+}; -+ - /* compile-time check if all tags fit into an unsigned int bit array. */ - struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; - -@@ -632,6 +643,7 @@ Monitor * - createmon(void) - { - Monitor *m; -+ unsigned int i; - - m = ecalloc(1, sizeof(Monitor)); - m->tagset[0] = m->tagset[1] = 1; -@@ -642,6 +654,20 @@ createmon(void) - m->lt[0] = &layouts[0]; - m->lt[1] = &layouts[1 % LENGTH(layouts)]; - strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); -+ m->pertag = ecalloc(1, sizeof(Pertag)); -+ m->pertag->curtag = m->pertag->prevtag = 1; -+ -+ for (i = 0; i <= LENGTH(tags); i++) { -+ m->pertag->nmasters[i] = m->nmaster; -+ m->pertag->mfacts[i] = m->mfact; -+ -+ m->pertag->ltidxs[i][0] = m->lt[0]; -+ m->pertag->ltidxs[i][1] = m->lt[1]; -+ m->pertag->sellts[i] = m->sellt; -+ -+ m->pertag->showbars[i] = m->showbar; -+ } -+ - return m; - } - -@@ -967,7 +993,7 @@ grabkeys(void) - void - incnmaster(const Arg *arg) - { -- selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); -+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] = MAX(selmon->nmaster + arg->i, 0); - arrange(selmon); - } - -@@ -1502,9 +1528,9 @@ void - setlayout(const Arg *arg) - { - if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) -- selmon->sellt ^= 1; -+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag] ^= 1; - if (arg && arg->v) -- selmon->lt[selmon->sellt] = (Layout *)arg->v; -+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt] = (Layout *)arg->v; - strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol); - if (selmon->sel) - arrange(selmon); -@@ -1523,7 +1549,7 @@ setmfact(const Arg *arg) - f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; - if (f < 0.05 || f > 0.95) - return; -- selmon->mfact = f; -+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag] = f; - arrange(selmon); - } - -@@ -1702,7 +1728,7 @@ tile(Monitor *m) - void - togglebar(const Arg *arg) - { -- selmon->showbar = !selmon->showbar; -+ selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar; - updatebarpos(selmon); - XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); - arrange(selmon); -@@ -1741,9 +1767,33 @@ void - toggleview(const Arg *arg) - { - unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); -+ int i; - - if (newtagset) { - selmon->tagset[selmon->seltags] = newtagset; -+ -+ if (newtagset == ~0) { -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ selmon->pertag->curtag = 0; -+ } -+ -+ /* test if the user did not select the same tag */ -+ if (!(newtagset & 1 << (selmon->pertag->curtag - 1))) { -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ for (i = 0; !(newtagset & 1 << i); i++) ; -+ selmon->pertag->curtag = i + 1; -+ } -+ -+ /* apply settings for this view */ -+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; -+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; -+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; -+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; -+ selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; -+ -+ if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) -+ togglebar(NULL); -+ - focus(NULL); - arrange(selmon); - } -@@ -2038,11 +2088,37 @@ updatewmhints(Client *c) - void - view(const Arg *arg) - { -+ int i; -+ unsigned int tmptag; -+ - if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags]) - return; - selmon->seltags ^= 1; /* toggle sel tagset */ -- if (arg->ui & TAGMASK) -+ if (arg->ui & TAGMASK) { - selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ -+ if (arg->ui == ~0) -+ selmon->pertag->curtag = 0; -+ else { -+ for (i = 0; !(arg->ui & 1 << i); i++) ; -+ selmon->pertag->curtag = i + 1; -+ } -+ } else { -+ tmptag = selmon->pertag->prevtag; -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ selmon->pertag->curtag = tmptag; -+ } -+ -+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; -+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; -+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; -+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; -+ selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; -+ -+ if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) -+ togglebar(NULL); -+ - focus(NULL); - arrange(selmon); - } diff --git a/patches/dwm/dwm-switchtotag-6.2.diff b/patches/dwm/dwm-switchtotag-6.2.diff deleted file mode 100644 index 453f8ef6..00000000 --- a/patches/dwm/dwm-switchtotag-6.2.diff +++ /dev/null @@ -1,58 +0,0 @@ -diff -up dwm-6.2-original/config.def.h dwm-6.2-modified/config.def.h ---- dwm-6.2-original/config.def.h 2019-02-02 14:55:28.000000000 +0200 -+++ dwm-6.2-modified/config.def.h 2019-11-18 19:36:22.515566509 +0200 -@@ -26,9 +26,9 @@ static const Rule rules[] = { - * WM_CLASS(STRING) = instance, class - * WM_NAME(STRING) = title - */ -- /* class instance title tags mask isfloating monitor */ -- { "Gimp", NULL, NULL, 0, 1, -1 }, -- { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, -+ /* class instance title tags mask switchtotag isfloating monitor */ -+ { "Gimp", NULL, NULL, 0, 0, 1, -1 }, -+ { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1 }, - }; - - /* layout(s) */ -diff -up dwm-6.2-original/dwm.c dwm-6.2-modified/dwm.c ---- dwm-6.2-original/dwm.c 2019-02-02 14:55:28.000000000 +0200 -+++ dwm-6.2-modified/dwm.c 2019-11-18 19:37:18.792187705 +0200 -@@ -92,6 +92,7 @@ struct Client { - int basew, baseh, incw, inch, maxw, maxh, minw, minh; - int bw, oldbw; - unsigned int tags; -+ unsigned int switchtotag; - int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen; - Client *next; - Client *snext; -@@ -137,6 +138,7 @@ typedef struct { - const char *instance; - const char *title; - unsigned int tags; -+ unsigned int switchtotag; - int isfloating; - int monitor; - } Rule; -@@ -302,6 +304,11 @@ applyrules(Client *c) - for (m = mons; m && m->num != r->monitor; m = m->next); - if (m) - c->mon = m; -+ if (r->switchtotag) { -+ Arg a = { .ui = r->tags }; -+ c->switchtotag = selmon->tagset[selmon->seltags]; -+ view(&a); -+ } - } - } - if (ch.res_class) -@@ -1782,6 +1789,10 @@ unmanage(Client *c, int destroyed) - focus(NULL); - updateclientlist(); - arrange(m); -+ if (c->switchtotag) { -+ Arg a = { .ui = c->switchtotag }; -+ view(&a); -+ } - } - - void diff --git a/patches/st/st-anysize-20220718-baa9357.diff b/patches/st/st-anysize-20220718-baa9357.diff deleted file mode 100644 index 675ffdfb..00000000 --- a/patches/st/st-anysize-20220718-baa9357.diff +++ /dev/null @@ -1,164 +0,0 @@ -From 8dcdc4b21a73268e167d98aa30f24315c7f3b7ff Mon Sep 17 00:00:00 2001 -From: Bakkeby <bakkeby@gmail.com> -Date: Mon, 18 Jul 2022 16:52:03 +0200 -Subject: [PATCH] Adding anysize patch - ---- - x.c | 56 ++++++++++++++++++++++++++++++-------------------------- - 1 file changed, 30 insertions(+), 26 deletions(-) - -diff --git a/x.c b/x.c -index 2a3bd38..f534347 100644 ---- a/x.c -+++ b/x.c -@@ -81,6 +81,7 @@ typedef XftGlyphFontSpec GlyphFontSpec; - typedef struct { - int tw, th; /* tty width and height */ - int w, h; /* window width and height */ -+ int hborderpx, vborderpx; - int ch; /* char height */ - int cw; /* char width */ - int mode; /* window state/mode flags */ -@@ -331,7 +332,7 @@ ttysend(const Arg *arg) - int - evcol(XEvent *e) - { -- int x = e->xbutton.x - borderpx; -+ int x = e->xbutton.x - win.hborderpx; - LIMIT(x, 0, win.tw - 1); - return x / win.cw; - } -@@ -339,7 +340,7 @@ evcol(XEvent *e) - int - evrow(XEvent *e) - { -- int y = e->xbutton.y - borderpx; -+ int y = e->xbutton.y - win.vborderpx; - LIMIT(y, 0, win.th - 1); - return y / win.ch; - } -@@ -739,6 +740,9 @@ cresize(int width, int height) - col = MAX(1, col); - row = MAX(1, row); - -+ win.hborderpx = (win.w - col * win.cw) / 2; -+ win.vborderpx = (win.h - row * win.ch) / 2; -+ - tresize(col, row); - xresize(col, row); - ttyresize(win.tw, win.th); -@@ -869,8 +873,8 @@ xhints(void) - sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize; - sizeh->height = win.h; - sizeh->width = win.w; -- sizeh->height_inc = win.ch; -- sizeh->width_inc = win.cw; -+ sizeh->height_inc = 1; -+ sizeh->width_inc = 1; - sizeh->base_height = 2 * borderpx; - sizeh->base_width = 2 * borderpx; - sizeh->min_height = win.ch + 2 * borderpx; -@@ -1152,8 +1156,8 @@ xinit(int cols, int rows) - xloadcols(); - - /* adjust fixed window geometry */ -- win.w = 2 * borderpx + cols * win.cw; -- win.h = 2 * borderpx + rows * win.ch; -+ win.w = 2 * win.hborderpx + 2 * borderpx + cols * win.cw; -+ win.h = 2 * win.vborderpx + 2 * borderpx + rows * win.ch; - if (xw.gm & XNegative) - xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; - if (xw.gm & YNegative) -@@ -1242,7 +1246,7 @@ xinit(int cols, int rows) - int - xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) - { -- float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp; -+ float winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, xp, yp; - ushort mode, prevmode = USHRT_MAX; - Font *font = &dc.font; - int frcflags = FRC_NORMAL; -@@ -1375,7 +1379,7 @@ void - xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) - { - int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); -- int winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, -+ int winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, - width = charlen * win.cw; - Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; - XRenderColor colfg, colbg; -@@ -1465,17 +1469,17 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i - - /* Intelligent cleaning up of the borders. */ - if (x == 0) { -- xclear(0, (y == 0)? 0 : winy, borderpx, -+ xclear(0, (y == 0)? 0 : winy, win.hborderpx, - winy + win.ch + -- ((winy + win.ch >= borderpx + win.th)? win.h : 0)); -+ ((winy + win.ch >= win.vborderpx + win.th)? win.h : 0)); - } -- if (winx + width >= borderpx + win.tw) { -+ if (winx + width >= win.hborderpx + win.tw) { - xclear(winx + width, (y == 0)? 0 : winy, win.w, -- ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch))); -+ ((winy + win.ch >= win.vborderpx + win.th)? win.h : (winy + win.ch))); - } - if (y == 0) -- xclear(winx, 0, winx + width, borderpx); -- if (winy + win.ch >= borderpx + win.th) -+ xclear(winx, 0, winx + width, win.vborderpx); -+ if (winy + win.ch >= win.vborderpx + win.th) - xclear(winx, winy + win.ch, winx + width, win.h); - - /* Clean up the region we want to draw to. */ -@@ -1569,35 +1573,35 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) - case 3: /* Blinking Underline */ - case 4: /* Steady Underline */ - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + (cy + 1) * win.ch - \ -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + (cy + 1) * win.ch - \ - cursorthickness, - win.cw, cursorthickness); - break; - case 5: /* Blinking bar */ - case 6: /* Steady bar */ - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + cy * win.ch, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + cy * win.ch, - cursorthickness, win.ch); - break; - } - } else { - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + cy * win.ch, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + cy * win.ch, - win.cw - 1, 1); - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + cy * win.ch, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + cy * win.ch, - 1, win.ch - 1); - XftDrawRect(xw.draw, &drawcol, -- borderpx + (cx + 1) * win.cw - 1, -- borderpx + cy * win.ch, -+ win.hborderpx + (cx + 1) * win.cw - 1, -+ win.vborderpx + cy * win.ch, - 1, win.ch - 1); - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + (cy + 1) * win.ch - 1, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + (cy + 1) * win.ch - 1, - win.cw, 1); - } - } --- -2.37.1 - From 219d032974a3d5815287b6f5c0d9b0762b853234 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Feb 2025 12:24:39 +0000 Subject: [PATCH 1412/2258] Move dwm and st configs from patches to overrides --- nix/hosts/t490/services/dwm.nix | 449 +++++++++++++++++- .../dwm/add-custom-commands-and-keys.patch | 16 - patches/dwm/change-mod-key.patch | 13 - patches/st/change-font.patch | 13 - 4 files changed, 442 insertions(+), 49 deletions(-) delete mode 100644 patches/dwm/add-custom-commands-and-keys.patch delete mode 100644 patches/dwm/change-mod-key.patch delete mode 100644 patches/st/change-font.patch diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix index edaa3a3e..fdaf6ec1 100644 --- a/nix/hosts/t490/services/dwm.nix +++ b/nix/hosts/t490/services/dwm.nix @@ -32,11 +32,113 @@ with lib; windowManager.dwm = { enable = true; - package = pkgs.dwm.overrideAttrs (oldAttrs: { - patches = with pkgs; [ - "${self}/patches/dwm/add-custom-commands-and-keys.patch" - "${self}/patches/dwm/change-mod-key.patch" + package = pkgs.dwm.override { + conf = '' + static const unsigned int borderpx = 1; + static const unsigned int snap = 32; + static const int showbar = 1; + static const int topbar = 1; + static const char *fonts[] = { "monospace:size=10" }; + static const char dmenufont[] = "monospace:size=10"; + static const char col_gray1[] = "#222222"; + static const char col_gray2[] = "#444444"; + static const char col_gray3[] = "#bbbbbb"; + static const char col_gray4[] = "#eeeeee"; + static const char col_cyan[] = "#005577"; + static const char *colors[][3] = { + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + }; + static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + + static const Rule rules[] = { + { "Gimp", NULL, NULL, 0, 1, -1 }, + { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, + }; + + static const float mfact = 0.55; + static const int nmaster = 1; + static const int resizehints = 1; + static const int lockfullscreen = 1; + + static const Layout layouts[] = { + { "[]=", tile }, + { "><>", NULL }, + { "[M]", monocle }, + }; + + #define MODKEY Mod4Mask + + #define TAGKEYS(KEY,TAG) \ + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ + { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + + #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } + + static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; + static const char *termcmd[] = { "st", NULL }; + + static const Key keys[] = { + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY, XK_i, incnmaster, {.i = +1 } }, + { MODKEY, XK_d, incnmaster, {.i = -1 } }, + { MODKEY, XK_h, setmfact, {.f = -0.05} }, + { MODKEY, XK_l, setmfact, {.f = +0.05} }, + { MODKEY, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {0} }, + { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, + { MODKEY, XK_0, view, {.ui = ~0 } }, + { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, + { MODKEY, XK_comma, focusmon, {.i = -1 } }, + { MODKEY, XK_period, focusmon, {.i = +1 } }, + { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, + { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, + TAGKEYS( XK_1, 0) + TAGKEYS( XK_2, 1) + TAGKEYS( XK_3, 2) + TAGKEYS( XK_4, 3) + TAGKEYS( XK_5, 4) + TAGKEYS( XK_6, 5) + TAGKEYS( XK_7, 6) + TAGKEYS( XK_8, 7) + TAGKEYS( XK_9, 8) + { MODKEY|ShiftMask, XK_q, quit, {0} }, + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, + { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, + { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(grep -v '^#' ~/snippets.txt | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, + { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, + }; + + static const Button buttons[] = { + { ClkLtSymbol, 0, Button1, setlayout, {0} }, + { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, + { ClkWinTitle, 0, Button2, zoom, {0} }, + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, + { ClkClientWin, MODKEY, Button1, movemouse, {0} }, + { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, + { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, + { ClkTagBar, 0, Button1, view, {0} }, + { ClkTagBar, 0, Button3, toggleview, {0} }, + { ClkTagBar, MODKEY, Button1, tag, {0} }, + { ClkTagBar, MODKEY, Button3, toggletag, {0} }, + }; + ''; + + patches = with pkgs; [ (fetchpatch { url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; @@ -47,7 +149,7 @@ with lib; sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; }) ]; - }); + }; }; }; }; @@ -60,9 +162,342 @@ with lib; networkmanager_dmenu (st.override { - patches = with pkgs; [ - "${self}/patches/st/change-font.patch" + config = '' + static char *font = "MesloLGSNerdFontMono:pixelsize=15:antialias=true:autohint=true"; + static int borderpx = 2; + + static char *shell = "/bin/sh"; + char *utmp = NULL; + char *scroll = NULL; + char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + + char *vtiden = "\033[?6c"; + + static float cwscale = 1.0; + static float chscale = 1.0; + + wchar_t *worddelimiters = L" "; + + static unsigned int doubleclicktimeout = 300; + static unsigned int tripleclicktimeout = 600; + + int allowaltscreen = 1; + + int allowwindowops = 0; + + static double minlatency = 2; + static double maxlatency = 33; + + static unsigned int blinktimeout = 800; + + static unsigned int cursorthickness = 2; + + static int bellvolume = 0; + + char *termname = "st-256color"; + + unsigned int tabspaces = 8; + + static const char *colorname[] = { + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + "#cccccc", + "#555555", + "gray90", + "black", + }; + + unsigned int defaultfg = 258; + unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + static unsigned int defaultrcs = 257; + + static unsigned int cursorshape = 2; + + static unsigned int cols = 80; + static unsigned int rows = 24; + + static unsigned int mouseshape = XC_xterm; + static unsigned int mousefg = 7; + static unsigned int mousebg = 0; + + static unsigned int defaultattr = 11; + + static uint forcemousemod = ShiftMask; + + static MouseShortcut mshortcuts[] = { + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, + }; + + #define MODKEY Mod1Mask + #define TERMMOD (ControlMask|ShiftMask) + + static Shortcut shortcuts[] = { + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + }; + + static KeySym mappedkeys[] = { -1 }; + + static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + + static Key key[] = { + /* keysym mask string appkey appcursor */ + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, + { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0}, + { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0}, + { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0}, + { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, + }; + + static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, + }; + + static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; + ''; + + patches = with pkgs; [ (fetchpatch { url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; diff --git a/patches/dwm/add-custom-commands-and-keys.patch b/patches/dwm/add-custom-commands-and-keys.patch deleted file mode 100644 index b308520f..00000000 --- a/patches/dwm/add-custom-commands-and-keys.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 9efa774..dd6779a 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -95,6 +95,11 @@ static const Key keys[] = { - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ { MODKEY|ShiftMask, XK_b, spawn, SHCMD("firefox") }, -+ { MODKEY|ShiftMask, XK_f, spawn, SHCMD("thunar") }, -+ { MODKEY|ShiftMask, XK_s, spawn, SHCMD("flameshot gui") }, -+ { MODKEY|ShiftMask, XK_y, spawn, SHCMD("copyq toggle") }, -+ { MODKEY, XK_Insert, spawn, SHCMD("xdotool type $(grep -v '^#' ~/snippets.txt | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - }; - - /* button definitions */ diff --git a/patches/dwm/change-mod-key.patch b/patches/dwm/change-mod-key.patch deleted file mode 100644 index 1aca7148..00000000 --- a/patches/dwm/change-mod-key.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 9efa774..4412cb1 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -45,7 +45,7 @@ static const Layout layouts[] = { - }; - - /* key definitions */ --#define MODKEY Mod1Mask -+#define MODKEY Mod4Mask - #define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ diff --git a/patches/st/change-font.patch b/patches/st/change-font.patch deleted file mode 100644 index f73b47f5..00000000 --- a/patches/st/change-font.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 2cd740a..39e4500 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -5,7 +5,7 @@ - * - * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html - */ --static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; -+static char *font = "MesloLGSNerdFontMono:pixelsize=15:antialias=true:autohint=true"; - static int borderpx = 2; - - /* From 9177cb3f9d385681e8863c64aa78414747d2e55a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 20 Feb 2025 21:19:21 +0000 Subject: [PATCH 1413/2258] Migrate .xinitrc file into Nix --- nix/home/opdavies/hosts/t490.nix | 1 + .../home-manager/features/desktop/default.nix | 1 + .../home-manager/features/desktop/dwm.nix | 26 +++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 nix/modules/home-manager/features/desktop/dwm.nix diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index fe3624a7..ea31dbb0 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -18,6 +18,7 @@ desktop = { copyq.enable = true; discord.enable = true; + dwm.enable = true; espanso.enable = true; flameshot.enable = true; gtk.enable = true; diff --git a/nix/modules/home-manager/features/desktop/default.nix b/nix/modules/home-manager/features/desktop/default.nix index d619f058..5da8fd3c 100644 --- a/nix/modules/home-manager/features/desktop/default.nix +++ b/nix/modules/home-manager/features/desktop/default.nix @@ -2,6 +2,7 @@ imports = [ ./copyq.nix ./discord.nix + ./dwm.nix ./espanso.nix ./flameshot.nix ./gtk.nix diff --git a/nix/modules/home-manager/features/desktop/dwm.nix b/nix/modules/home-manager/features/desktop/dwm.nix new file mode 100644 index 00000000..f427e2a7 --- /dev/null +++ b/nix/modules/home-manager/features/desktop/dwm.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +{ + options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + + config = mkIf config.features.desktop.dwm.enable { + home.file.".xinitrc".text = '' + systemctl --user import-environment DISPLAY + + ${pkgs.autorandr}/bin/autorandr --change + + ${pkgs.copyq}/bin/copyq & + + systemctl --user start dwm-status & + + exec ${pkgs.dwm}/bin/dwm + ''; + }; +} From 8df5e6b623b7782ffad05d4fd7593d4255079bfa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 21 Feb 2025 09:58:14 +0000 Subject: [PATCH 1414/2258] Re-add bluetuith --- nix/home/opdavies/hosts/t490.nix | 1 + .../home-manager/features/cli/bluetuith.nix | 36 +++++++++++++++++++ .../home-manager/features/cli/default.nix | 1 + 3 files changed, 38 insertions(+) create mode 100644 nix/modules/home-manager/features/cli/bluetuith.nix diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index ea31dbb0..e02cca27 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -3,6 +3,7 @@ { features = { cli = { + bluetuith.enable = true; direnv.enable = true; notes = { diff --git a/nix/modules/home-manager/features/cli/bluetuith.nix b/nix/modules/home-manager/features/cli/bluetuith.nix new file mode 100644 index 00000000..e52812e6 --- /dev/null +++ b/nix/modules/home-manager/features/cli/bluetuith.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +{ + options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + + config = mkIf config.features.cli.bluetuith.enable { + home.packages = with pkgs; [ + bluetuith + ]; + + xdg.configFile."bluetuith/bluetuith.conf" = { + text = '' + { + adapter: "" + adapter-states: "" + connect-bdaddr: "" + gsm-apn: "" + gsm-number: "" + keybindings: { + NavigateDown: j + NavigateUp: k + } + receive-dir: "" + theme: {} + } + ''; + }; + }; +} diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index 9d7a57a8..e074b3d2 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -3,6 +3,7 @@ { imports = [ ./bin.nix + ./bluetuith.nix ./direnv.nix ./fzf.nix ./git.nix From 40aefce47b8b0230a15020c74dfd6ec2542ee82b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Feb 2025 00:23:41 +0000 Subject: [PATCH 1415/2258] Add Video Speed Controller --- nix/home/opdavies/desktop/firefox.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix index b677ce56..e81c3d93 100644 --- a/nix/home/opdavies/desktop/firefox.nix +++ b/nix/home/opdavies/desktop/firefox.nix @@ -15,6 +15,7 @@ onetab tree-style-tab ublock-origin + videospeed vimium web-developer ]; From 597a72b4d56bbce7cf77b5d39375da10c9c7c877 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Feb 2025 12:14:10 +0000 Subject: [PATCH 1416/2258] Use dwm on nixedo --- nix/home/opdavies/hosts/nixedo.nix | 3 +- nix/hosts/nixedo/configuration.nix | 2 + nix/hosts/t490/services/default.nix | 1 - nix/hosts/t490/services/dwm.nix | 511 ------------------ .../nixos/features/desktop/default.nix | 1 + nix/modules/nixos/features/desktop/dwm.nix | 509 +++++++++++++++++ 6 files changed, 514 insertions(+), 513 deletions(-) delete mode 100644 nix/hosts/t490/services/dwm.nix create mode 100644 nix/modules/nixos/features/desktop/dwm.nix diff --git a/nix/home/opdavies/hosts/nixedo.nix b/nix/home/opdavies/hosts/nixedo.nix index 2eaac9f3..d4175c9e 100644 --- a/nix/home/opdavies/hosts/nixedo.nix +++ b/nix/home/opdavies/hosts/nixedo.nix @@ -8,7 +8,8 @@ }; desktop = { - gtk.enable = true; + dwm.enable = true; + # gtk.enable = true; }; }; } diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index ea38bb7e..2554134f 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -20,6 +20,8 @@ docker.enable = true; }; + desktop.dwm.enable = true; + homelab = { audiobookshelf.enable = true; beaverhabits.enable = true; diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index 541e60a7..ce7ea823 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -1,7 +1,6 @@ { imports = [ ./cron.nix - ./dwm.nix ./interception-tools.nix ./sound.nix ./udev.nix diff --git a/nix/hosts/t490/services/dwm.nix b/nix/hosts/t490/services/dwm.nix deleted file mode 100644 index fdaf6ec1..00000000 --- a/nix/hosts/t490/services/dwm.nix +++ /dev/null @@ -1,511 +0,0 @@ -{ - config, - lib, - pkgs, - self, - ... -}: - -with lib; - -{ - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; - - config = mkIf config.features.desktop.dwm.enable { - services = { - dwm-status = { - enable = true; - - order = [ - "audio" - "backlight" - "battery" - "cpu_load" - "network" - "time" - ]; - }; - - xserver = { - displayManager.startx.enable = true; - - windowManager.dwm = { - enable = true; - - package = pkgs.dwm.override { - conf = '' - static const unsigned int borderpx = 1; - static const unsigned int snap = 32; - static const int showbar = 1; - static const int topbar = 1; - static const char *fonts[] = { "monospace:size=10" }; - static const char dmenufont[] = "monospace:size=10"; - static const char col_gray1[] = "#222222"; - static const char col_gray2[] = "#444444"; - static const char col_gray3[] = "#bbbbbb"; - static const char col_gray4[] = "#eeeeee"; - static const char col_cyan[] = "#005577"; - static const char *colors[][3] = { - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, - }; - - static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; - - static const Rule rules[] = { - { "Gimp", NULL, NULL, 0, 1, -1 }, - { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, - }; - - static const float mfact = 0.55; - static const int nmaster = 1; - static const int resizehints = 1; - static const int lockfullscreen = 1; - - static const Layout layouts[] = { - { "[]=", tile }, - { "><>", NULL }, - { "[M]", monocle }, - }; - - #define MODKEY Mod4Mask - - #define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, - - #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } - - static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; - static const char *termcmd[] = { "st", NULL }; - - static const Key keys[] = { - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, - { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, - { MODKEY, XK_i, incnmaster, {.i = +1 } }, - { MODKEY, XK_d, incnmaster, {.i = -1 } }, - { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { MODKEY, XK_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY|ShiftMask, XK_c, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, - { MODKEY, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, - { MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, - { MODKEY, XK_comma, focusmon, {.i = -1 } }, - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) - TAGKEYS( XK_4, 3) - TAGKEYS( XK_5, 4) - TAGKEYS( XK_6, 5) - TAGKEYS( XK_7, 6) - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, - { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, - { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(grep -v '^#' ~/snippets.txt | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, - { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, - }; - - static const Button buttons[] = { - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkWinTitle, 0, Button2, zoom, {0} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, - { ClkTagBar, 0, Button1, view, {0} }, - { ClkTagBar, 0, Button3, toggleview, {0} }, - { ClkTagBar, MODKEY, Button1, tag, {0} }, - { ClkTagBar, MODKEY, Button3, toggletag, {0} }, - }; - ''; - - patches = with pkgs; [ - (fetchpatch { - url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; - sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; - }) - - (fetchpatch { - url = "https://dwm.suckless.org/patches/pertag/dwm-pertag-20200914-61bb8b2.diff"; - sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; - }) - ]; - }; - }; - }; - }; - - systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; - - environment.systemPackages = with pkgs; [ - dmenu - dmenu-bluetooth - networkmanager_dmenu - - (st.override { - config = '' - - static char *font = "MesloLGSNerdFontMono:pixelsize=15:antialias=true:autohint=true"; - static int borderpx = 2; - - static char *shell = "/bin/sh"; - char *utmp = NULL; - char *scroll = NULL; - char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - - char *vtiden = "\033[?6c"; - - static float cwscale = 1.0; - static float chscale = 1.0; - - wchar_t *worddelimiters = L" "; - - static unsigned int doubleclicktimeout = 300; - static unsigned int tripleclicktimeout = 600; - - int allowaltscreen = 1; - - int allowwindowops = 0; - - static double minlatency = 2; - static double maxlatency = 33; - - static unsigned int blinktimeout = 800; - - static unsigned int cursorthickness = 2; - - static int bellvolume = 0; - - char *termname = "st-256color"; - - unsigned int tabspaces = 8; - - static const char *colorname[] = { - "black", - "red3", - "green3", - "yellow3", - "blue2", - "magenta3", - "cyan3", - "gray90", - - "gray50", - "red", - "green", - "yellow", - "#5c5cff", - "magenta", - "cyan", - "white", - - [255] = 0, - - "#cccccc", - "#555555", - "gray90", - "black", - }; - - unsigned int defaultfg = 258; - unsigned int defaultbg = 259; - unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - static unsigned int cursorshape = 2; - - static unsigned int cols = 80; - static unsigned int rows = 24; - - static unsigned int mouseshape = XC_xterm; - static unsigned int mousefg = 7; - static unsigned int mousebg = 0; - - static unsigned int defaultattr = 11; - - static uint forcemousemod = ShiftMask; - - static MouseShortcut mshortcuts[] = { - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, - }; - - #define MODKEY Mod1Mask - #define TERMMOD (ControlMask|ShiftMask) - - static Shortcut shortcuts[] = { - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, - }; - - static KeySym mappedkeys[] = { -1 }; - - static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - - static Key key[] = { - /* keysym mask string appkey appcursor */ - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, - { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0}, - { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0}, - { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0}, - { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, - }; - - static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, - }; - - static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; - ''; - - patches = with pkgs; [ - (fetchpatch { - url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; - sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; - }) - ]; - }) - - xdotool - ]; - }; -} diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix index d0851c6b..6b79d689 100644 --- a/nix/modules/nixos/features/desktop/default.nix +++ b/nix/modules/nixos/features/desktop/default.nix @@ -1,6 +1,7 @@ { imports = [ ./autorandr.nix + ./dwm.nix ./peek.nix ./screenkey.nix ./thunar.nix diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix new file mode 100644 index 00000000..9815c81c --- /dev/null +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -0,0 +1,509 @@ +{ + config, + lib, + pkgs, + self, + ... +}: + +with lib; + +{ + options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + + config = mkIf config.features.desktop.dwm.enable { + services = { + dwm-status = { + enable = true; + + order = [ + "audio" + "backlight" + "battery" + "cpu_load" + "network" + "time" + ]; + }; + + xserver = { + displayManager.startx.enable = true; + + windowManager.dwm = { + enable = true; + + package = pkgs.dwm.override { + conf = '' + static const unsigned int borderpx = 1; + static const unsigned int snap = 32; + static const int showbar = 1; + static const int topbar = 1; + static const char *fonts[] = { "monospace:size=10" }; + static const char dmenufont[] = "monospace:size=10"; + static const char col_gray1[] = "#222222"; + static const char col_gray2[] = "#444444"; + static const char col_gray3[] = "#bbbbbb"; + static const char col_gray4[] = "#eeeeee"; + static const char col_cyan[] = "#005577"; + static const char *colors[][3] = { + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + }; + + static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + + static const Rule rules[] = { + { "Gimp", NULL, NULL, 0, 1, -1 }, + { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, + }; + + static const float mfact = 0.55; + static const int nmaster = 1; + static const int resizehints = 1; + static const int lockfullscreen = 1; + + static const Layout layouts[] = { + { "[]=", tile }, + { "><>", NULL }, + { "[M]", monocle }, + }; + + #define MODKEY Mod4Mask + + #define TAGKEYS(KEY,TAG) \ + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ + { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + + #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } + + static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; + static const char *termcmd[] = { "st", NULL }; + + static const Key keys[] = { + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY, XK_i, incnmaster, {.i = +1 } }, + { MODKEY, XK_d, incnmaster, {.i = -1 } }, + { MODKEY, XK_h, setmfact, {.f = -0.05} }, + { MODKEY, XK_l, setmfact, {.f = +0.05} }, + { MODKEY, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {0} }, + { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, + { MODKEY, XK_0, view, {.ui = ~0 } }, + { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, + { MODKEY, XK_comma, focusmon, {.i = -1 } }, + { MODKEY, XK_period, focusmon, {.i = +1 } }, + { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, + { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, + TAGKEYS(XK_1, 0) + TAGKEYS(XK_2, 1) + TAGKEYS(XK_3, 2) + TAGKEYS(XK_4, 3) + TAGKEYS(XK_5, 4) + TAGKEYS(XK_6, 5) + TAGKEYS(XK_7, 6) + TAGKEYS(XK_8, 7) + TAGKEYS(XK_9, 8) + { MODKEY|ShiftMask, XK_q, quit, {0} }, + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, + { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, + { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(grep -v '^#' ~/snippets.txt | grep "\S" | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, + { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, + }; + + static const Button buttons[] = { + { ClkLtSymbol, 0, Button1, setlayout, {0} }, + { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, + { ClkWinTitle, 0, Button2, zoom, {0} }, + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, + { ClkClientWin, MODKEY, Button1, movemouse, {0} }, + { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, + { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, + { ClkTagBar, 0, Button1, view, {0} }, + { ClkTagBar, 0, Button3, toggleview, {0} }, + { ClkTagBar, MODKEY, Button1, tag, {0} }, + { ClkTagBar, MODKEY, Button3, toggletag, {0} }, + }; + ''; + + patches = with pkgs; [ + (fetchpatch { + url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; + sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; + }) + + (fetchpatch { + url = "https://dwm.suckless.org/patches/pertag/dwm-pertag-20200914-61bb8b2.diff"; + sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; + }) + ]; + }; + }; + }; + }; + + systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; + + environment.systemPackages = with pkgs; [ + dmenu + dmenu-bluetooth + networkmanager_dmenu + + (st.override { + conf = '' + static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; + static int borderpx = 2; + + static char *shell = "/bin/sh"; + char *utmp = NULL; + char *scroll = NULL; + char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + + char *vtiden = "\033[?6c"; + + static float cwscale = 1.0; + static float chscale = 1.0; + + wchar_t *worddelimiters = L" "; + + static unsigned int doubleclicktimeout = 300; + static unsigned int tripleclicktimeout = 600; + + int allowaltscreen = 1; + + int allowwindowops = 0; + + static double minlatency = 2; + static double maxlatency = 33; + + static unsigned int blinktimeout = 800; + + static unsigned int cursorthickness = 2; + + static int bellvolume = 0; + + char *termname = "st-256color"; + + unsigned int tabspaces = 8; + + static const char *colorname[] = { + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + "#cccccc", + "#555555", + "gray90", + "black", + }; + + unsigned int defaultfg = 258; + unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + static unsigned int defaultrcs = 257; + + static unsigned int cursorshape = 2; + + static unsigned int cols = 80; + static unsigned int rows = 24; + + static unsigned int mouseshape = XC_xterm; + static unsigned int mousefg = 7; + static unsigned int mousebg = 0; + + static unsigned int defaultattr = 11; + + static uint forcemousemod = ShiftMask; + + static MouseShortcut mshortcuts[] = { + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, + }; + + #define MODKEY Mod1Mask + #define TERMMOD (ControlMask|ShiftMask) + + static Shortcut shortcuts[] = { + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + }; + + static KeySym mappedkeys[] = { -1 }; + + static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + + static Key key[] = { + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, + { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, + { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, + { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, + { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, + }; + + static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, + }; + + static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; + ''; + + patches = with pkgs; [ + (fetchpatch { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + }) + ]; + }) + + xdotool + ]; + }; +} From 8ad1dcc14b0a7348278799b0bd828e67d436e2be Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Feb 2025 19:47:41 +0000 Subject: [PATCH 1417/2258] Remove default variables I no longer want these to be true so I can remove them. --- nix/home/opdavies/hosts/t490.nix | 2 ++ nix/lib/shared/home-manager.nix | 11 +---------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index e02cca27..f9125ce5 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -5,6 +5,7 @@ cli = { bluetuith.enable = true; direnv.enable = true; + neovim.enable = true; notes = { enable = true; @@ -13,6 +14,7 @@ }; syncthing.enable = true; + tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/lib/shared/home-manager.nix b/nix/lib/shared/home-manager.nix index 0a5e79fb..1c1be627 100644 --- a/nix/lib/shared/home-manager.nix +++ b/nix/lib/shared/home-manager.nix @@ -1,4 +1,4 @@ -{ lib, username, ... }: +{ username, ... }: { home.username = "${username}"; @@ -21,13 +21,4 @@ home.stateVersion = "22.05"; programs.home-manager.enable = true; - - features = lib.mkMerge [ - { - cli = { - neovim.enable = lib.mkDefault true; - tmux.enable = lib.mkDefault true; - }; - } - ]; } From 5f1f6f351ef4e36a956858591cb293c5e056860c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Feb 2025 23:21:04 +0000 Subject: [PATCH 1418/2258] Fix paths in .xinitrc --- nix/modules/home-manager/features/desktop/dwm.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/dwm.nix b/nix/modules/home-manager/features/desktop/dwm.nix index f427e2a7..c74affd0 100644 --- a/nix/modules/home-manager/features/desktop/dwm.nix +++ b/nix/modules/home-manager/features/desktop/dwm.nix @@ -14,13 +14,13 @@ with lib; home.file.".xinitrc".text = '' systemctl --user import-environment DISPLAY - ${pkgs.autorandr}/bin/autorandr --change + autorandr --change - ${pkgs.copyq}/bin/copyq & + copyq & systemctl --user start dwm-status & - exec ${pkgs.dwm}/bin/dwm + exec dwm ''; }; } From 0b8068039cdca34548cd37508111f84614c63263 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 24 Feb 2025 10:08:21 +0000 Subject: [PATCH 1419/2258] Add pass to all hosts --- nix/hosts/PW05CH3L/configuration.nix | 11 ++++++++++- nix/hosts/common/default.nix | 8 ++++++++ nix/hosts/common/programs.nix | 8 ++++++++ nix/hosts/t490/configuration.nix | 1 - 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index df586ba4..ef6e969c 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -1,4 +1,9 @@ -{ inputs, username, ... }: +{ + inputs, + pkgs, + username, + ... +}: { imports = [ @@ -6,6 +11,10 @@ ../../users/opdavies ]; + environment.systemPackages = with pkgs; [ + wl-clipboard + ]; + features = { cli = { docker.enable = true; diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index c7c2c77f..bb8128cc 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -29,6 +29,14 @@ fastfetch mermaid-cli mkcert + (pass.withExtensions ( + e: with e; [ + passExtensions.pass-audit + passExtensions.pass-import + passExtensions.pass-otp + passExtensions.pass-update + ] + )) ] ++ pkgs.lib.optionals (!headless) [ acpi diff --git a/nix/hosts/common/programs.nix b/nix/hosts/common/programs.nix index b9845954..71dc03e2 100644 --- a/nix/hosts/common/programs.nix +++ b/nix/hosts/common/programs.nix @@ -1,5 +1,13 @@ +{ pkgs, ... }: + { programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; + zsh = { enable = true; histSize = 5000; diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index fdf3fba4..cd10d58f 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -54,7 +54,6 @@ environment.systemPackages = with pkgs; [ gtypist newsboat - pass rclone rclone-browser sxiv From f5d6391a33e9eb10d3bba7be8455393cdd20a10d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 24 Feb 2025 10:34:04 +0000 Subject: [PATCH 1420/2258] Re-enable neovim --- nix/home/opdavies/hosts/PW05CH3L.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index c8ce2d3f..a189803e 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -2,6 +2,7 @@ features = { cli = { direnv.enable = true; + neovim.enable = true; notes = { enable = true; From 6d55ea4dee164f106d6b69223af6e396a586e3e7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 24 Feb 2025 13:45:28 +0000 Subject: [PATCH 1421/2258] Re-enable tmux --- nix/home/opdavies/hosts/PW05CH3L.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index a189803e..50b9dac1 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -3,6 +3,7 @@ cli = { direnv.enable = true; neovim.enable = true; + tmux.enable = true; notes = { enable = true; From ce4f49dc98ef598160182e5da161364cd35cf8c1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Feb 2025 00:17:38 +0000 Subject: [PATCH 1422/2258] nix flake update --- flake.lock | 60 +++++++++---------- nix/home/opdavies/desktop/default.nix | 2 +- nix/hosts/lemp11/programs.nix | 6 -- nix/hosts/t490/programs.nix | 8 --- .../features/desktop/media/kdenlive.nix | 2 +- 5 files changed, 32 insertions(+), 46 deletions(-) diff --git a/flake.lock b/flake.lock index e1267ba4..80121694 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1739841949, - "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=", + "lastModified": 1740485968, + "narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=", "owner": "nix-community", "repo": "disko", - "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0", + "rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1739842562, - "narHash": "sha256-XNvgSmdHHOhxQEHW/GFdaaXqcEcWdMXvLJyYyLmxciE=", + "lastModified": 1740606115, + "narHash": "sha256-GKe3vrIWcei4gSTckEzHr5Zf/g9NSofmsAnbkNYU+lM=", "owner": "nix-community", "repo": "home-manager", - "rev": "69dfc316c5b5f2de1d68e477393fecbf19a0cdba", + "rev": "6be185eb76295e7562f5bf2da42afe374b8beb15", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1739798439, - "narHash": "sha256-GyipmjbbQEaosel/+wq1xihCKbv0/e1LU00x/8b/fP4=", + "lastModified": 1740387674, + "narHash": "sha256-pGk/aA0EBvI6o4DeuZsr05Ig/r4uMlSaf5EWUZEWM10=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3e2ea8a49d4d76276b0f4e2041df8ca5c0771371", + "rev": "d58f642ddb23320965b27beb0beba7236e9117b5", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1739782332, - "narHash": "sha256-bPZKuual2WKfyHv7Wq+Owcj9R+i/qFzOWByqSS9rlxI=", + "lastModified": 1740567864, + "narHash": "sha256-eTS2wrC1jKR6PKXC9jZqQy5PwqbIOBLSLF3dwLiFJ8M=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "59bdbb1e75232bf1dd6d2a9313b9b6ddc5049ba2", + "rev": "1f40b43d01626ce994eb47150afa0d7215f396ca", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1739758141, - "narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=", + "lastModified": 1740463929, + "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c618e28f70257593de75a7044438efc1c1fc0791", + "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1739842125, - "narHash": "sha256-xzm9gbfRniztP5IxouqHo7le++ZCgdvgc2hFoIP7trY=", + "lastModified": 1740612775, + "narHash": "sha256-ygDC2IMHf2ONEZ2XGiOrIPPZ+UTEvOnxJHcA0Za4x0E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f365bef3cc9ce80ebc35e5aec273a975bc38e930", + "rev": "f377b3c1b4d749cc4ac889e4252f2b4877696243", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739624908, - "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=", + "lastModified": 1740463929, + "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a60651b217d2e529729cbc7d989c19f3941b9250", + "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1739736696, - "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", + "lastModified": 1740367490, + "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", + "rev": "0196c0175e9191c474c26ab5548db27ef5d34b05", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1739736696, - "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", + "lastModified": 1740367490, + "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", + "rev": "0196c0175e9191c474c26ab5548db27ef5d34b05", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739841231, - "narHash": "sha256-dj927SnzgtkaNEYdo0SADNLOzvhj7QPj8vlNpJDCaQg=", + "lastModified": 1740603354, + "narHash": "sha256-CO7g55YOMqO3APzKZXaGeDnPTwiomNwYVoHu8BttZD8=", "owner": "nix-community", "repo": "NUR", - "rev": "4decf057c3af1f2f1c5528d04fdec3c6b777d09d", + "rev": "ab4dcea9acd4ce723a5db2c02db8770acae8c629", "type": "github" }, "original": { diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 58d0cf42..66f32ba3 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -9,9 +9,9 @@ home.packages = with pkgs; [ build-glove80 gscan2pdf + kdePackages.okular meslo-lg obs-studio - okular pamixer pavucontrol xcape diff --git a/nix/hosts/lemp11/programs.nix b/nix/hosts/lemp11/programs.nix index 9da9ff93..c4874312 100644 --- a/nix/hosts/lemp11/programs.nix +++ b/nix/hosts/lemp11/programs.nix @@ -2,12 +2,6 @@ { programs = { - gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; - firefox = { enable = true; languagePacks = [ "en-GB" ]; diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index aa7e2c3f..ffadd265 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -1,13 +1,5 @@ -{ pkgs, ... }: - { programs = { dconf.enable = true; - - gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; }; } diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix index 70695407..77743e68 100644 --- a/nix/modules/home-manager/features/desktop/media/kdenlive.nix +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -11,6 +11,6 @@ with lib; options.features.desktop.media.kdenlive.enable = mkEnableOption "Enable kdenlive"; config = mkIf config.features.desktop.media.kdenlive.enable { - home.packages = with pkgs; [ kdenlive ]; + home.packages = with pkgs; [ kdePackages.kdenlive ]; }; } From f734ae4e06a6538b6a655f885b4cfae5e7622a39 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Feb 2025 01:06:50 +0000 Subject: [PATCH 1423/2258] Revert "nix flake update" This reverts commit ce4f49dc98ef598160182e5da161364cd35cf8c1. --- flake.lock | 60 +++++++++---------- nix/home/opdavies/desktop/default.nix | 2 +- nix/hosts/lemp11/programs.nix | 6 ++ nix/hosts/t490/programs.nix | 8 +++ .../features/desktop/media/kdenlive.nix | 2 +- 5 files changed, 46 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 80121694..e1267ba4 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1740485968, - "narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=", + "lastModified": 1739841949, + "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=", "owner": "nix-community", "repo": "disko", - "rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940", + "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1740606115, - "narHash": "sha256-GKe3vrIWcei4gSTckEzHr5Zf/g9NSofmsAnbkNYU+lM=", + "lastModified": 1739842562, + "narHash": "sha256-XNvgSmdHHOhxQEHW/GFdaaXqcEcWdMXvLJyYyLmxciE=", "owner": "nix-community", "repo": "home-manager", - "rev": "6be185eb76295e7562f5bf2da42afe374b8beb15", + "rev": "69dfc316c5b5f2de1d68e477393fecbf19a0cdba", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1740387674, - "narHash": "sha256-pGk/aA0EBvI6o4DeuZsr05Ig/r4uMlSaf5EWUZEWM10=", + "lastModified": 1739798439, + "narHash": "sha256-GyipmjbbQEaosel/+wq1xihCKbv0/e1LU00x/8b/fP4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "d58f642ddb23320965b27beb0beba7236e9117b5", + "rev": "3e2ea8a49d4d76276b0f4e2041df8ca5c0771371", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1740567864, - "narHash": "sha256-eTS2wrC1jKR6PKXC9jZqQy5PwqbIOBLSLF3dwLiFJ8M=", + "lastModified": 1739782332, + "narHash": "sha256-bPZKuual2WKfyHv7Wq+Owcj9R+i/qFzOWByqSS9rlxI=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "1f40b43d01626ce994eb47150afa0d7215f396ca", + "rev": "59bdbb1e75232bf1dd6d2a9313b9b6ddc5049ba2", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1740463929, - "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", + "lastModified": 1739758141, + "narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", + "rev": "c618e28f70257593de75a7044438efc1c1fc0791", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1740612775, - "narHash": "sha256-ygDC2IMHf2ONEZ2XGiOrIPPZ+UTEvOnxJHcA0Za4x0E=", + "lastModified": 1739842125, + "narHash": "sha256-xzm9gbfRniztP5IxouqHo7le++ZCgdvgc2hFoIP7trY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f377b3c1b4d749cc4ac889e4252f2b4877696243", + "rev": "f365bef3cc9ce80ebc35e5aec273a975bc38e930", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740463929, - "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", + "lastModified": 1739624908, + "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", + "rev": "a60651b217d2e529729cbc7d989c19f3941b9250", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1740367490, - "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", + "lastModified": 1739736696, + "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0196c0175e9191c474c26ab5548db27ef5d34b05", + "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1740367490, - "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", + "lastModified": 1739736696, + "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0196c0175e9191c474c26ab5548db27ef5d34b05", + "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740603354, - "narHash": "sha256-CO7g55YOMqO3APzKZXaGeDnPTwiomNwYVoHu8BttZD8=", + "lastModified": 1739841231, + "narHash": "sha256-dj927SnzgtkaNEYdo0SADNLOzvhj7QPj8vlNpJDCaQg=", "owner": "nix-community", "repo": "NUR", - "rev": "ab4dcea9acd4ce723a5db2c02db8770acae8c629", + "rev": "4decf057c3af1f2f1c5528d04fdec3c6b777d09d", "type": "github" }, "original": { diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 66f32ba3..58d0cf42 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -9,9 +9,9 @@ home.packages = with pkgs; [ build-glove80 gscan2pdf - kdePackages.okular meslo-lg obs-studio + okular pamixer pavucontrol xcape diff --git a/nix/hosts/lemp11/programs.nix b/nix/hosts/lemp11/programs.nix index c4874312..9da9ff93 100644 --- a/nix/hosts/lemp11/programs.nix +++ b/nix/hosts/lemp11/programs.nix @@ -2,6 +2,12 @@ { programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; + firefox = { enable = true; languagePacks = [ "en-GB" ]; diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index ffadd265..aa7e2c3f 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -1,5 +1,13 @@ +{ pkgs, ... }: + { programs = { dconf.enable = true; + + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; + }; }; } diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix index 77743e68..70695407 100644 --- a/nix/modules/home-manager/features/desktop/media/kdenlive.nix +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -11,6 +11,6 @@ with lib; options.features.desktop.media.kdenlive.enable = mkEnableOption "Enable kdenlive"; config = mkIf config.features.desktop.media.kdenlive.enable { - home.packages = with pkgs; [ kdePackages.kdenlive ]; + home.packages = with pkgs; [ kdenlive ]; }; } From b801755db5a7188d470e680a323d3a1aaed07fd4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Feb 2025 13:54:47 +0000 Subject: [PATCH 1424/2258] Add a keymap to show LSP references --- nvim/plugin/telescope.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/plugin/telescope.lua b/nvim/plugin/telescope.lua index fbc3e206..81e58eef 100644 --- a/nvim/plugin/telescope.lua +++ b/nvim/plugin/telescope.lua @@ -49,6 +49,7 @@ vim.keymap.set("n", "<space>fd", builtin.find_files) vim.keymap.set("n", "<space>fh", builtin.help_tags) vim.keymap.set("n", "<space>fi", M.search_all_files) vim.keymap.set("n", "<space>fk", builtin.keymaps) +vim.keymap.set("n", "<space>fr", builtin.lsp_references) vim.keymap.set("n", "<space>ft", builtin.git_files) vim.keymap.set("n", "<space>ds", builtin.lsp_document_symbols) From 58b5e9a452cf9fafd8e4273fd84a42f6f1a028e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Feb 2025 21:07:01 +0000 Subject: [PATCH 1425/2258] Remove ripgrep Remove ripgrep globally but keep it installed in Neovim so live grep will continue to work. --- nix/home/opdavies/default.nix | 1 - nix/modules/home-manager/features/cli/default.nix | 1 - nix/modules/home-manager/features/cli/neovim.nix | 1 + nix/modules/home-manager/features/cli/ripgrep.nix | 9 --------- 4 files changed, 1 insertion(+), 11 deletions(-) delete mode 100644 nix/modules/home-manager/features/cli/ripgrep.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index d389ac34..649530e5 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -69,6 +69,5 @@ in ]; PULUMI_SKIP_UPDATE_CHECK = "true"; REPOS = "$HOME/Code"; - RIPGREP_CONFIG_PATH = "$HOME/.config/ripgrep/config"; }; } diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/features/cli/default.nix index e074b3d2..c0c7e06e 100644 --- a/nix/modules/home-manager/features/cli/default.nix +++ b/nix/modules/home-manager/features/cli/default.nix @@ -10,7 +10,6 @@ ./neovim.nix ./notes.nix ./phpactor.nix - ./ripgrep.nix ./starship.nix ./syncthing.nix ./tmux.nix diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 5fcca729..157f86c2 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -170,6 +170,7 @@ in phpPackages.php-codesniffer phpPackages.phpstan proselint + ripgrep shellcheck yamllint ]; diff --git a/nix/modules/home-manager/features/cli/ripgrep.nix b/nix/modules/home-manager/features/cli/ripgrep.nix deleted file mode 100644 index 2d6aa72f..00000000 --- a/nix/modules/home-manager/features/cli/ripgrep.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ ripgrep ]; - - xdg.configFile."ripgrep/config".text = '' - --follow - --smart-case - ''; -} From 5fdf49ee6c3d420abfcdac98f720bdc781ab3ded Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Feb 2025 21:20:30 +0000 Subject: [PATCH 1426/2258] Remove delta --- nix/modules/home-manager/features/cli/git.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nix/modules/home-manager/features/cli/git.nix b/nix/modules/home-manager/features/cli/git.nix index c54b26af..9e11e803 100644 --- a/nix/modules/home-manager/features/cli/git.nix +++ b/nix/modules/home-manager/features/cli/git.nix @@ -108,10 +108,8 @@ core = { editor = "nvim"; excludesFile = "~/.config/git/ignore"; - pager = "delta"; }; - delta.line-numbers = true; diff.tool = "vimdiff"; fetch.prune = true; gpg.format = "ssh"; From 0e599e9273ac26026080b495ec4a43176ee28c87 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Feb 2025 23:37:30 +0000 Subject: [PATCH 1427/2258] Remove duplicate pinentry package definitions --- nix/hosts/lemp11/programs.nix | 6 ------ nix/hosts/t490/programs.nix | 6 ------ 2 files changed, 12 deletions(-) diff --git a/nix/hosts/lemp11/programs.nix b/nix/hosts/lemp11/programs.nix index 9da9ff93..c4874312 100644 --- a/nix/hosts/lemp11/programs.nix +++ b/nix/hosts/lemp11/programs.nix @@ -2,12 +2,6 @@ { programs = { - gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; - firefox = { enable = true; languagePacks = [ "en-GB" ]; diff --git a/nix/hosts/t490/programs.nix b/nix/hosts/t490/programs.nix index aa7e2c3f..f3cfe26d 100644 --- a/nix/hosts/t490/programs.nix +++ b/nix/hosts/t490/programs.nix @@ -3,11 +3,5 @@ { programs = { dconf.enable = true; - - gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-qt; - }; }; } From 26700c79114ab4eaea3b3511c57533fbf498cb3c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Feb 2025 00:18:04 +0000 Subject: [PATCH 1428/2258] Add poweralertd and dunst https://git.sr.ht/~kennylevinsen/poweralertd --- .../home-manager/features/desktop/dwm.nix | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/nix/modules/home-manager/features/desktop/dwm.nix b/nix/modules/home-manager/features/desktop/dwm.nix index c74affd0..6fa0b8ff 100644 --- a/nix/modules/home-manager/features/desktop/dwm.nix +++ b/nix/modules/home-manager/features/desktop/dwm.nix @@ -11,16 +11,25 @@ with lib; options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; config = mkIf config.features.desktop.dwm.enable { - home.file.".xinitrc".text = '' - systemctl --user import-environment DISPLAY + home = { + file.".xinitrc".text = '' + systemctl --user import-environment DISPLAY - autorandr --change + autorandr --change - copyq & + copyq & - systemctl --user start dwm-status & + poweralertd -s & - exec dwm - ''; + systemctl --user start dwm-status & + + exec dwm + ''; + + packages = with pkgs; [ + dunst + poweralertd + ]; + }; }; } From 4767195fff58cfc6ea8d8bf41765b8c949fd6ae0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Feb 2025 10:25:29 +0000 Subject: [PATCH 1429/2258] Update to harpoon2, update keymaps --- .../home-manager/features/cli/neovim.nix | 2 +- nvim/plugin/harpoon.lua | 54 +++++++++++++++---- 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index 157f86c2..ccade431 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -24,7 +24,7 @@ in conf-vim edit-alternate-vim gitsigns-nvim - harpoon + harpoon2 mini-nvim nvim-web-devicons oil-nvim diff --git a/nvim/plugin/harpoon.lua b/nvim/plugin/harpoon.lua index 03769f0a..5fb40738 100644 --- a/nvim/plugin/harpoon.lua +++ b/nvim/plugin/harpoon.lua @@ -1,13 +1,47 @@ -require("harpoon").setup() +local harpoon = require "harpoon" -local mark = require "harpoon.mark" -local ui = require "harpoon.ui" +harpoon:setup() -vim.keymap.set("n", "<M-h><M-l>", ui.toggle_quick_menu) -vim.keymap.set("n", "<M-h><M-m>", mark.add_file) +vim.keymap.set("n", "<leader>A", function() + harpoon:list():prepend() +end) -for i = 1, 5 do - vim.keymap.set("n", string.format("<space>%s", i), function() - ui.nav_file(i) - end) -end +vim.keymap.set("n", "<leader>a", function() + harpoon:list():add() +end) + +vim.keymap.set("n", "<C-e>", function() + harpoon.ui:toggle_quick_menu(harpoon:list()) +end) + +vim.keymap.set("n", "<C-h>", function() + harpoon:list():select(1) +end) + +vim.keymap.set("n", "<C-j>", function() + harpoon:list():select(2) +end) + +vim.keymap.set("n", "<C-k>", function() + harpoon:list():select(3) +end) + +vim.keymap.set("n", "<C-l>", function() + harpoon:list():select(4) +end) + +vim.keymap.set("n", "<leader><C-h>", function() + harpoon:list():replace_at(1) +end) + +vim.keymap.set("n", "<leader><C-j>", function() + harpoon:list():replace_at(2) +end) + +vim.keymap.set("n", "<leader><C-k>", function() + harpoon:list():replace_at(3) +end) + +vim.keymap.set("n", "<leader><C-l>", function() + harpoon:list():replace_at(4) +end) From f2c760d69064532e314a8c5b84a9a2a36bc10999 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Mar 2025 21:06:02 +0000 Subject: [PATCH 1430/2258] Add composer.json and composer.lock as alternates --- nvim/plugin/edit_alternate.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/nvim/plugin/edit_alternate.lua b/nvim/plugin/edit_alternate.lua index 293a28b6..7cb3cbd6 100644 --- a/nvim/plugin/edit_alternate.lua +++ b/nvim/plugin/edit_alternate.lua @@ -27,6 +27,20 @@ vim.fn["edit_alternate#rule#add"]("php", function(filename) end end) +if vim.fn.filereadable "composer.json" == 1 then + vim.fn["edit_alternate#rule#add"]("json", function(filename) + if filename:find "composer.json" then + return (filename:gsub("%.json$", ".lock")) + end + end) + + vim.fn["edit_alternate#rule#add"]("lock", function(filename) + if filename:find "composer.lock" then + return (filename:gsub("%.lock$", ".json")) + end + end) +end + if vim.fn.filereadable "fractal.config.js" == 1 then vim.fn["edit_alternate#rule#add"]("twig", function(filename) return (filename:gsub("%.twig$", ".config.yml")) From ccc0358e535bcb63bddf8e156529492c04a351c9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Mar 2025 21:06:42 +0000 Subject: [PATCH 1431/2258] Set composer.lock as a JSON filetype --- nvim/plugin/filetype.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nvim/plugin/filetype.lua b/nvim/plugin/filetype.lua index 81ec0a15..01d53578 100644 --- a/nvim/plugin/filetype.lua +++ b/nvim/plugin/filetype.lua @@ -6,4 +6,8 @@ vim.filetype.add { pcss = "scss", theme = "php", }, + + filename = { + ["composer.lock"] = "json", + }, } From c9e2db5e1252eb66845dbd8e991f46e0a1226844 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Feb 2025 23:24:39 +0000 Subject: [PATCH 1432/2258] Add zbar Includes zbarimg which is used to get OTP paths for pass-otp. --- nix/home/opdavies/desktop/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 58d0cf42..fe9e24a8 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -16,6 +16,7 @@ pavucontrol xcape xsel + zbar ]; programs = { From 7289db6b76256d769859a5d4f5d62c1996091903 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 1 Mar 2025 19:10:56 +0000 Subject: [PATCH 1433/2258] Move docker group addition to opdavies user module --- nix/hosts/t490/modules/docker.nix | 2 -- nix/users/opdavies/default.nix | 11 ++++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/nix/hosts/t490/modules/docker.nix b/nix/hosts/t490/modules/docker.nix index 3314fcdc..a8780150 100644 --- a/nix/hosts/t490/modules/docker.nix +++ b/nix/hosts/t490/modules/docker.nix @@ -1,5 +1,3 @@ { virtualisation.docker.enable = true; - - users.users.opdavies.extraGroups = [ "docker" ]; } diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index b21300a7..affe3824 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -1,8 +1,6 @@ -{ - pkgs, - headless, - ... -}: +{ config, lib, ... }: + +with lib; { users.users.opdavies = { @@ -11,10 +9,9 @@ isNormalUser = true; extraGroups = [ - "docker" "networkmanager" "wheel" - ]; + ] ++ optionals config.virtualisation.docker.enable [ "docker" ]; openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" From 9d2848cbd71ae4bf4531211f02247bc385d1458a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 1 Mar 2025 19:21:16 +0000 Subject: [PATCH 1434/2258] Add qrencode Add qrencode to generate QR codes locally. For example: qrencode https://www.oliverdavies.uk -o website.png --- nix/users/opdavies/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nix/users/opdavies/default.nix b/nix/users/opdavies/default.nix index affe3824..cb623b02 100644 --- a/nix/users/opdavies/default.nix +++ b/nix/users/opdavies/default.nix @@ -1,4 +1,9 @@ -{ config, lib, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,6 +18,10 @@ with lib; "wheel" ] ++ optionals config.virtualisation.docker.enable [ "docker" ]; + packages = with pkgs; [ + qrencode + ]; + openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" From bd58cf5821dda1517585bd371a98fa9c301ca270 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 2 Mar 2025 22:10:27 +0000 Subject: [PATCH 1435/2258] nix flake update --- flake.lock | 60 +++++++++---------- nix/home/opdavies/default.nix | 1 + nix/home/opdavies/desktop/default.nix | 2 +- nix/modules/home-manager/features/cli/git.nix | 2 +- .../features/desktop/media/kdenlive.nix | 2 +- .../home-manager/features/desktop/zoom.nix | 2 +- nix/modules/nixos/features/gaming.nix | 2 +- nvim/plugin/harpoon.lua | 45 +++----------- 8 files changed, 44 insertions(+), 72 deletions(-) diff --git a/flake.lock b/flake.lock index e1267ba4..edd0542e 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1739841949, - "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=", + "lastModified": 1740485968, + "narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=", "owner": "nix-community", "repo": "disko", - "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0", + "rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1739842562, - "narHash": "sha256-XNvgSmdHHOhxQEHW/GFdaaXqcEcWdMXvLJyYyLmxciE=", + "lastModified": 1740845322, + "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", "owner": "nix-community", "repo": "home-manager", - "rev": "69dfc316c5b5f2de1d68e477393fecbf19a0cdba", + "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1739798439, - "narHash": "sha256-GyipmjbbQEaosel/+wq1xihCKbv0/e1LU00x/8b/fP4=", + "lastModified": 1740646007, + "narHash": "sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3e2ea8a49d4d76276b0f4e2041df8ca5c0771371", + "rev": "009b764ac98a3602d41fc68072eeec5d24fc0e49", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1739782332, - "narHash": "sha256-bPZKuual2WKfyHv7Wq+Owcj9R+i/qFzOWByqSS9rlxI=", + "lastModified": 1740567864, + "narHash": "sha256-eTS2wrC1jKR6PKXC9jZqQy5PwqbIOBLSLF3dwLiFJ8M=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "59bdbb1e75232bf1dd6d2a9313b9b6ddc5049ba2", + "rev": "1f40b43d01626ce994eb47150afa0d7215f396ca", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1739758141, - "narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c618e28f70257593de75a7044438efc1c1fc0791", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1739842125, - "narHash": "sha256-xzm9gbfRniztP5IxouqHo7le++ZCgdvgc2hFoIP7trY=", + "lastModified": 1740951829, + "narHash": "sha256-tsloAIbMJC5ItHUfS8p/AbJXVTfflZijYrERsQNVc3o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f365bef3cc9ce80ebc35e5aec273a975bc38e930", + "rev": "75e9d5e5cc345c093af5ac39f307a9187adfb08b", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739624908, - "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=", + "lastModified": 1740463929, + "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a60651b217d2e529729cbc7d989c19f3941b9250", + "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1739736696, - "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1739736696, - "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739841231, - "narHash": "sha256-dj927SnzgtkaNEYdo0SADNLOzvhj7QPj8vlNpJDCaQg=", + "lastModified": 1740948325, + "narHash": "sha256-u/kvjABaWQs7DrqHE5ZnWlmbTkPk4wNZ7EQu7L1l8ks=", "owner": "nix-community", "repo": "NUR", - "rev": "4decf057c3af1f2f1c5528d04fdec3c6b777d09d", + "rev": "6def47427ce83f56c6a07a5651536e26f227f386", "type": "github" }, "original": { diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 649530e5..1a874516 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -17,6 +17,7 @@ let overlays = [ outputs.overlays.additions + outputs.overlays.stable-packages ]; }; diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index fe9e24a8..c24100d3 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -9,9 +9,9 @@ home.packages = with pkgs; [ build-glove80 gscan2pdf + kdePackages.okular meslo-lg obs-studio - okular pamixer pavucontrol xcape diff --git a/nix/modules/home-manager/features/cli/git.nix b/nix/modules/home-manager/features/cli/git.nix index 9e11e803..3db41cbf 100644 --- a/nix/modules/home-manager/features/cli/git.nix +++ b/nix/modules/home-manager/features/cli/git.nix @@ -144,7 +144,7 @@ }; }; - home.packages = [ pkgs.git-instafix ]; + home.packages = with pkgs; [ nixpkgs-2411.git-instafix ]; home.sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix index 70695407..77743e68 100644 --- a/nix/modules/home-manager/features/desktop/media/kdenlive.nix +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -11,6 +11,6 @@ with lib; options.features.desktop.media.kdenlive.enable = mkEnableOption "Enable kdenlive"; config = mkIf config.features.desktop.media.kdenlive.enable { - home.packages = with pkgs; [ kdenlive ]; + home.packages = with pkgs; [ kdePackages.kdenlive ]; }; } diff --git a/nix/modules/home-manager/features/desktop/zoom.nix b/nix/modules/home-manager/features/desktop/zoom.nix index 417d78ef..59925874 100644 --- a/nix/modules/home-manager/features/desktop/zoom.nix +++ b/nix/modules/home-manager/features/desktop/zoom.nix @@ -11,6 +11,6 @@ with lib; options.features.desktop.zoom.enable = mkEnableOption "Enable zoom"; config = mkIf config.features.desktop.zoom.enable { - home.packages = with pkgs; [ nixpkgs-2405.zoom-us ]; + home.packages = with pkgs; [ zoom-us ]; }; } diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/features/gaming.nix index abcf78ca..c8f4d40b 100644 --- a/nix/modules/nixos/features/gaming.nix +++ b/nix/modules/nixos/features/gaming.nix @@ -13,6 +13,6 @@ with lib; config = mkIf config.features.desktop.gaming.enable { programs.steam.enable = true; - environment.systemPackages = with pkgs; [ nixpkgs-2411.zeroad ]; + environment.systemPackages = with pkgs; [ zeroad ]; }; } diff --git a/nvim/plugin/harpoon.lua b/nvim/plugin/harpoon.lua index 5fb40738..cfc88af9 100644 --- a/nvim/plugin/harpoon.lua +++ b/nvim/plugin/harpoon.lua @@ -2,46 +2,17 @@ local harpoon = require "harpoon" harpoon:setup() -vim.keymap.set("n", "<leader>A", function() - harpoon:list():prepend() -end) - -vim.keymap.set("n", "<leader>a", function() +vim.keymap.set("n", "<leader>hm", function() harpoon:list():add() end) -vim.keymap.set("n", "<C-e>", function() +vim.keymap.set("n", "<leader>hl", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) -vim.keymap.set("n", "<C-h>", function() - harpoon:list():select(1) -end) - -vim.keymap.set("n", "<C-j>", function() - harpoon:list():select(2) -end) - -vim.keymap.set("n", "<C-k>", function() - harpoon:list():select(3) -end) - -vim.keymap.set("n", "<C-l>", function() - harpoon:list():select(4) -end) - -vim.keymap.set("n", "<leader><C-h>", function() - harpoon:list():replace_at(1) -end) - -vim.keymap.set("n", "<leader><C-j>", function() - harpoon:list():replace_at(2) -end) - -vim.keymap.set("n", "<leader><C-k>", function() - harpoon:list():replace_at(3) -end) - -vim.keymap.set("n", "<leader><C-l>", function() - harpoon:list():replace_at(4) -end) +-- Set <space>1..<space>5 be my shortcuts to moving to the files +for _, idx in ipairs { 1, 2, 3, 4, 5 } do + vim.keymap.set("n", string.format("<space>%d", idx), function() + harpoon:list():select(idx) + end) +end From f893caefac30ed8e64b8b2c22c151bb42f7098a3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 3 Mar 2025 18:37:20 +0000 Subject: [PATCH 1436/2258] Add Twig snippets --- nvim/lua/opdavies/snippets/twig.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 nvim/lua/opdavies/snippets/twig.lua diff --git a/nvim/lua/opdavies/snippets/twig.lua b/nvim/lua/opdavies/snippets/twig.lua new file mode 100644 index 00000000..628e1e25 --- /dev/null +++ b/nvim/lua/opdavies/snippets/twig.lua @@ -0,0 +1,28 @@ +require("luasnip.session.snippet_collection").clear_snippets "twig" + +local ls = require "luasnip" + +local s = ls.snippet +local i = ls.insert_node + +local fmta = require("luasnip.extras.fmt").fmta + +ls.add_snippets("twig", { + s("do", fmta("{% <> %}<>", { i(1), i(0) })), + s("dump", fmta("{{ dump(<>) }}<>", { i(1), i(0) })), + s("echo", fmta("{{ <> }}<>", { i(1), i(0) })), + + s( + "for", + fmta( + [[ + {% for <> in <> %} + <> + {% endfor %}<> + ]], + { i(1), i(2), i(3), i(0) } + ) + ), + + s("if", fmta("{% if <> %}<>{% endif %}<>", { i(1), i(2), i(0) })), +}) From 60152f2e929740f8077fe5d54393d5ecfdd23654 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 4 Mar 2025 20:32:45 +0000 Subject: [PATCH 1437/2258] Remove blank lines from the suggestions My Neovim configuration always adds a blank line to the end of a file that I don't want to be included in my suggestions. Using `grep "\S"` was working in a Terminal but this broke when adding it to my dwm configuration. This approach works in dwm when triggered with the keyboard shortcut. --- nix/modules/nixos/features/desktop/dwm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 9815c81c..93319c69 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -118,7 +118,7 @@ with lib; { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, - { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(grep -v '^#' ~/snippets.txt | grep "\S" | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, + { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, }; From 8d6512e1cc854c6d8a31dc442a7c1718fe0d0ad7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 4 Mar 2025 21:47:41 +0000 Subject: [PATCH 1438/2258] Add a keybind for passmenu --- nix/modules/nixos/features/desktop/dwm.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 93319c69..69619440 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -119,6 +119,7 @@ with lib; { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, + { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", "-l", "50", NULL} } }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, }; From adaf6ae5eaf355bcfd000c77e3219309995bf18c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Mar 2025 09:55:00 +0000 Subject: [PATCH 1439/2258] Switch from Firefox to Librewolf --- nix/home/opdavies/desktop/firefox.nix | 74 +++++++++++++++++++++- nix/modules/nixos/features/desktop/dwm.nix | 2 +- 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix index e81c3d93..c79d8286 100644 --- a/nix/home/opdavies/desktop/firefox.nix +++ b/nix/home/opdavies/desktop/firefox.nix @@ -1,11 +1,81 @@ { pkgs, ... }: { - programs.firefox = { + programs.firefox.enable = false; + + programs.librewolf = { enable = true; languagePacks = [ "en-GB" ]; + policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; + profiles = { default = { extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ @@ -20,8 +90,6 @@ web-developer ]; - preConfig = builtins.readFile "${pkgs.arkenfox-userjs}/user.js"; - search = { default = "DuckDuckGo"; force = true; diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 69619440..7f5ee541 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -116,7 +116,7 @@ with lib; TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.firefox}/bin/firefox") }, + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.librewolf}/bin/librewolf") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", "-l", "50", NULL} } }, From f3e18e45e15f0281ad10f439ddba03590f503284 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Mar 2025 11:22:20 +0000 Subject: [PATCH 1440/2258] Move st into its own module --- nix/hosts/t490/configuration.nix | 4 + .../nixos/features/desktop/default.nix | 1 + nix/modules/nixos/features/desktop/dwm.nix | 345 +---------------- nix/modules/nixos/features/desktop/st.nix | 360 ++++++++++++++++++ 4 files changed, 366 insertions(+), 344 deletions(-) create mode 100644 nix/modules/nixos/features/desktop/st.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index cd10d58f..2245d5d6 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -15,6 +15,10 @@ ../../users/opdavies ]; + nixosModules = { + st.enable = true; + }; + features = { desktop = { autorandr.enable = true; diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix index 6b79d689..28f96294 100644 --- a/nix/modules/nixos/features/desktop/default.nix +++ b/nix/modules/nixos/features/desktop/default.nix @@ -4,6 +4,7 @@ ./dwm.nix ./peek.nix ./screenkey.nix + ./st.nix ./thunar.nix ]; } diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 7f5ee541..678310c8 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - self, ... }: @@ -161,349 +160,7 @@ with lib; dmenu dmenu-bluetooth networkmanager_dmenu - - (st.override { - conf = '' - static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; - static int borderpx = 2; - - static char *shell = "/bin/sh"; - char *utmp = NULL; - char *scroll = NULL; - char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - - char *vtiden = "\033[?6c"; - - static float cwscale = 1.0; - static float chscale = 1.0; - - wchar_t *worddelimiters = L" "; - - static unsigned int doubleclicktimeout = 300; - static unsigned int tripleclicktimeout = 600; - - int allowaltscreen = 1; - - int allowwindowops = 0; - - static double minlatency = 2; - static double maxlatency = 33; - - static unsigned int blinktimeout = 800; - - static unsigned int cursorthickness = 2; - - static int bellvolume = 0; - - char *termname = "st-256color"; - - unsigned int tabspaces = 8; - - static const char *colorname[] = { - "black", - "red3", - "green3", - "yellow3", - "blue2", - "magenta3", - "cyan3", - "gray90", - - "gray50", - "red", - "green", - "yellow", - "#5c5cff", - "magenta", - "cyan", - "white", - - [255] = 0, - - "#cccccc", - "#555555", - "gray90", - "black", - }; - - unsigned int defaultfg = 258; - unsigned int defaultbg = 259; - unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - static unsigned int cursorshape = 2; - - static unsigned int cols = 80; - static unsigned int rows = 24; - - static unsigned int mouseshape = XC_xterm; - static unsigned int mousefg = 7; - static unsigned int mousebg = 0; - - static unsigned int defaultattr = 11; - - static uint forcemousemod = ShiftMask; - - static MouseShortcut mshortcuts[] = { - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, - }; - - #define MODKEY Mod1Mask - #define TERMMOD (ControlMask|ShiftMask) - - static Shortcut shortcuts[] = { - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, - }; - - static KeySym mappedkeys[] = { -1 }; - - static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - - static Key key[] = { - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, - { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, - { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, - { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, - { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, - }; - - static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, - }; - - static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; - ''; - - patches = with pkgs; [ - (fetchpatch { - url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; - sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; - }) - ]; - }) - + slock xdotool ]; }; diff --git a/nix/modules/nixos/features/desktop/st.nix b/nix/modules/nixos/features/desktop/st.nix new file mode 100644 index 00000000..4366282e --- /dev/null +++ b/nix/modules/nixos/features/desktop/st.nix @@ -0,0 +1,360 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +{ + options.nixosModules.st = { + enable = mkEnableOption "Enable st"; + }; + + config = mkIf config.nixosModules.st.enable { + environment.systemPackages = with pkgs; [ + (st.override { + conf = '' + static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; + static int borderpx = 2; + + static char *shell = "/bin/sh"; + char *utmp = NULL; + char *scroll = NULL; + char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + + char *vtiden = "\033[?6c"; + + static float cwscale = 1.0; + static float chscale = 1.0; + + wchar_t *worddelimiters = L" "; + + static unsigned int doubleclicktimeout = 300; + static unsigned int tripleclicktimeout = 600; + + int allowaltscreen = 1; + + int allowwindowops = 0; + + static double minlatency = 2; + static double maxlatency = 33; + + static unsigned int blinktimeout = 800; + + static unsigned int cursorthickness = 2; + + static int bellvolume = 0; + + char *termname = "st-256color"; + + unsigned int tabspaces = 8; + + static const char *colorname[] = { + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + "#cccccc", + "#555555", + "gray90", + "black", + }; + + unsigned int defaultfg = 258; + unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + static unsigned int defaultrcs = 257; + + static unsigned int cursorshape = 2; + + static unsigned int cols = 80; + static unsigned int rows = 24; + + static unsigned int mouseshape = XC_xterm; + static unsigned int mousefg = 7; + static unsigned int mousebg = 0; + + static unsigned int defaultattr = 11; + + static uint forcemousemod = ShiftMask; + + static MouseShortcut mshortcuts[] = { + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, + }; + + #define MODKEY Mod1Mask + #define TERMMOD (ControlMask|ShiftMask) + + static Shortcut shortcuts[] = { + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + }; + + static KeySym mappedkeys[] = { -1 }; + + static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + + static Key key[] = { + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, + { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, + { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, + { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, + { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, + }; + + static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, + }; + + static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; + ''; + + patches = [ + (fetchpatch { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + }) + ]; + }) + ]; + }; +} From 88a054f3b45ff0b4ae3a52ded776f89f6c61aaae Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Mar 2025 16:02:50 +0000 Subject: [PATCH 1441/2258] Add more keybindings to st to zoom in and out --- nix/modules/nixos/features/desktop/st.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/modules/nixos/features/desktop/st.nix b/nix/modules/nixos/features/desktop/st.nix index 4366282e..8954b886 100644 --- a/nix/modules/nixos/features/desktop/st.nix +++ b/nix/modules/nixos/features/desktop/st.nix @@ -116,6 +116,10 @@ with lib; { TERMMOD, XK_Next, zoom, {.f = -1} }, { TERMMOD, XK_Home, zoomreset, {.f = 0} }, { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_D, zoom, {.f = -2} }, + { TERMMOD, XK_J, zoom, {.f = -1} }, + { TERMMOD, XK_K, zoom, {.f = +1} }, + { TERMMOD, XK_U, zoom, {.f = +2} }, { TERMMOD, XK_V, clippaste, {.i = 0} }, { TERMMOD, XK_Y, selpaste, {.i = 0} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, From 2de0e1a2d68d0412d93db321a1bb237fbe1027e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 5 Mar 2025 15:09:06 +0000 Subject: [PATCH 1442/2258] Use nixosModules and homeManagerModules for config --- nix/home/opdavies/hosts/PW05CH3L.nix | 23 ++++---- nix/home/opdavies/hosts/lemp11.nix | 41 ++++++-------- nix/home/opdavies/hosts/nixedo.nix | 14 ++--- nix/home/opdavies/hosts/t490.nix | 56 ++++++++----------- nix/hosts/PW05CH3L/configuration.nix | 6 +- nix/hosts/nixedo/configuration.nix | 32 +++++------ nix/hosts/t490/configuration.nix | 16 ++---- .../home-manager/features/cli/bluetuith.nix | 4 +- .../home-manager/features/cli/direnv.nix | 4 +- .../home-manager/features/cli/neovim.nix | 4 +- .../home-manager/features/cli/notes.nix | 4 +- .../home-manager/features/cli/syncthing.nix | 4 +- .../features/cli/tmux-sessionizer.nix | 4 +- .../home-manager/features/cli/tmux.nix | 4 +- .../home-manager/features/desktop/copyq.nix | 4 +- .../home-manager/features/desktop/discord.nix | 4 +- .../home-manager/features/desktop/dwm.nix | 4 +- .../home-manager/features/desktop/espanso.nix | 4 +- .../features/desktop/flameshot.nix | 4 +- .../home-manager/features/desktop/gtk.nix | 4 +- .../features/desktop/media/gimp.nix | 4 +- .../features/desktop/media/handbrake.nix | 4 +- .../features/desktop/media/kdenlive.nix | 4 +- .../features/desktop/media/mpv.nix | 4 +- .../features/desktop/media/pocket-casts.nix | 4 +- .../home-manager/features/desktop/slack.nix | 4 +- .../home-manager/features/desktop/zoom.nix | 4 +- nix/modules/nixos/features/cli/docker.nix | 4 +- .../nixos/features/desktop/autorandr.nix | 4 +- nix/modules/nixos/features/desktop/dwm.nix | 4 +- nix/modules/nixos/features/desktop/peek.nix | 4 +- .../nixos/features/desktop/screenkey.nix | 4 +- nix/modules/nixos/features/desktop/thunar.nix | 4 +- nix/modules/nixos/features/gaming.nix | 4 +- .../nixos/features/homelab/audiobookshelf.nix | 4 +- .../homelab/containers/beaverhabits.nix | 4 +- .../features/homelab/containers/freshrss.nix | 4 +- .../features/homelab/containers/pi-hole.nix | 4 +- .../homelab/containers/tubearchivist.nix | 4 +- .../nixos/features/homelab/forgejo.nix | 4 +- nix/modules/nixos/features/homelab/gitea.nix | 4 +- nix/modules/nixos/features/homelab/immich.nix | 4 +- .../nixos/features/homelab/jellyfin.nix | 4 +- .../nixos/features/homelab/paperless.nix | 4 +- .../nixos/features/homelab/vaultwarden.nix | 4 +- todo.txt | 1 + 46 files changed, 151 insertions(+), 190 deletions(-) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 50b9dac1..7650c35c 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -1,18 +1,15 @@ { - features = { - cli = { - direnv.enable = true; - neovim.enable = true; - tmux.enable = true; + homeManagerModules = { + direnv.enable = true; + neovim.enable = true; - notes = { - enable = true; - - directory = "$HOME/Documents/wiki/tfw-notes"; - }; - - syncthing.enable = true; - tmux-sessionizer.enable = true; + notes = { + enable = true; + directory = "$HOME/Documents/wiki/tfw-notes"; }; + + syncthing.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; }; } diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index 1a472922..d8d1a1e0 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -1,30 +1,21 @@ { ... }: { - features = { - cli = { - direnv.enable = true; - syncthing.enable = true; - tmux-sessionizer.enable = true; - }; - - desktop = { - copyq.enable = true; - discord.enable = true; - espanso.enable = true; - flameshot.enable = true; - gtk.enable = true; - slack.enable = true; - - media = { - gimp.enable = true; - handbrake.enable = true; - kdenlive.enable = true; - pocket-casts.enable = true; - mpv.enable = true; - }; - - zoom.enable = true; - }; + homeManagerModules = { + copyq.enable = true; + direnv.enable = true; + discord.enable = true; + espanso.enable = true; + flameshot.enable = true; + gimp.enable = true; + gtk.enable = true; + handbrake.enable = true; + kdenlive.enable = true; + mpv.enable = true; + pocket-casts.enable = true; + slack.enable = true; + syncthing.enable = true; + tmux-sessionizer.enable = true; + zoom.enable = true; }; } diff --git a/nix/home/opdavies/hosts/nixedo.nix b/nix/home/opdavies/hosts/nixedo.nix index d4175c9e..ce6ee60e 100644 --- a/nix/home/opdavies/hosts/nixedo.nix +++ b/nix/home/opdavies/hosts/nixedo.nix @@ -1,15 +1,9 @@ { ... }: { - features = { - cli = { - direnv.enable = true; - syncthing.enable = true; - }; - - desktop = { - dwm.enable = true; - # gtk.enable = true; - }; + homeManagerModules = { + direnv.enable = true; + dwm.enable = true; + syncthing.enable = true; }; } diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index f9125ce5..66ab7932 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -1,42 +1,32 @@ { pkgs, ... }: { - features = { - cli = { - bluetuith.enable = true; - direnv.enable = true; - neovim.enable = true; + homeManagerModules = { + bluetuith.enable = true; + copyq.enable = true; + direnv.enable = true; + discord.enable = true; + dwm.enable = true; + espanso.enable = true; + flameshot.enable = true; + gimp.enable = true; + gtk.enable = true; + handbrake.enable = true; + kdenlive.enable = true; + mpv.enable = true; + neovim.enable = true; - notes = { - enable = true; - - directory = "$HOME/Documents/wiki/notes"; - }; - - syncthing.enable = true; - tmux.enable = true; - tmux-sessionizer.enable = true; + notes = { + enable = true; + directory = "$HOME/Documents/wiki/notes"; }; - desktop = { - copyq.enable = true; - discord.enable = true; - dwm.enable = true; - espanso.enable = true; - flameshot.enable = true; - gtk.enable = true; - slack.enable = true; - - media = { - gimp.enable = true; - handbrake.enable = true; - kdenlive.enable = true; - pocket-casts.enable = true; - mpv.enable = true; - }; - - zoom.enable = true; - }; + pocket-casts.enable = true; + slack.enable = true; + syncthing.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; + zoom.enable = true; }; home.packages = with pkgs; [ diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index ef6e969c..48ed8a4e 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -15,10 +15,8 @@ wl-clipboard ]; - features = { - cli = { - docker.enable = true; - }; + nixosModules = { + docker.enable = true; }; wsl = { diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index 2554134f..014cfb61 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -15,25 +15,19 @@ ../../users/opdavies ]; - features = { - cli = { - docker.enable = true; - }; - - desktop.dwm.enable = true; - - homelab = { - audiobookshelf.enable = true; - beaverhabits.enable = true; - freshrss.enable = true; - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; - }; + nixosModules = { + audiobookshelf.enable = true; + beaverhabits.enable = true; + docker.enable = true; + dwm.enable = true; + freshrss.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + vaultwarden.enable = true; }; programs.dconf.enable = true; diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 2245d5d6..88a55c5e 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -16,17 +16,12 @@ ]; nixosModules = { + autorandr.enable = true; + dwm.enable = true; + gaming.enable = true; st.enable = true; - }; - - features = { - desktop = { - autorandr.enable = true; - dwm.enable = true; - gaming.enable = true; - thunar.enable = true; - peek.enable = true; - }; + thunar.enable = true; + peek.enable = true; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; @@ -58,6 +53,7 @@ environment.systemPackages = with pkgs; [ gtypist newsboat + pam_gnupg rclone rclone-browser sxiv diff --git a/nix/modules/home-manager/features/cli/bluetuith.nix b/nix/modules/home-manager/features/cli/bluetuith.nix index e52812e6..fbb35852 100644 --- a/nix/modules/home-manager/features/cli/bluetuith.nix +++ b/nix/modules/home-manager/features/cli/bluetuith.nix @@ -8,9 +8,9 @@ with lib; { - options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + options.homeManagerModules.bluetuith.enable = mkEnableOption "Enable bluetuith"; - config = mkIf config.features.cli.bluetuith.enable { + config = mkIf config.homeManagerModules.bluetuith.enable { home.packages = with pkgs; [ bluetuith ]; diff --git a/nix/modules/home-manager/features/cli/direnv.nix b/nix/modules/home-manager/features/cli/direnv.nix index 5f39dd50..e733a501 100644 --- a/nix/modules/home-manager/features/cli/direnv.nix +++ b/nix/modules/home-manager/features/cli/direnv.nix @@ -3,9 +3,9 @@ with lib; { - options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; + options.homeManagerModules.direnv.enable = mkEnableOption "Enable direnv"; - config = mkIf config.features.cli.direnv.enable { + config = mkIf config.homeManagerModules.direnv.enable { programs.direnv = { enable = true; enableZshIntegration = true; diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index ccade431..d2bc2daa 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -13,9 +13,9 @@ let phpPackages = pkgs.php82Packages; in { - options.features.cli.neovim.enable = mkEnableOption "Enable neovim"; + options.homeManagerModules.neovim.enable = mkEnableOption "Enable neovim"; - config = mkIf config.features.cli.neovim.enable { + config = mkIf config.homeManagerModules.neovim.enable { programs.neovim = { enable = true; diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/features/cli/notes.nix index 4edbda40..a8be8ce9 100644 --- a/nix/modules/home-manager/features/cli/notes.nix +++ b/nix/modules/home-manager/features/cli/notes.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.notes; + cfg = config.homeManagerModules.notes; in { - options.features.cli.notes = { + options.homeManagerModules.notes = { enable = mkEnableOption "Enable notes"; directory = mkOption { diff --git a/nix/modules/home-manager/features/cli/syncthing.nix b/nix/modules/home-manager/features/cli/syncthing.nix index 094ff2c2..0f14482e 100644 --- a/nix/modules/home-manager/features/cli/syncthing.nix +++ b/nix/modules/home-manager/features/cli/syncthing.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.syncthing; + cfg = config.homeManagerModules.syncthing; in { - options.features.cli.syncthing.enable = mkEnableOption "Enable syncthing"; + options.homeManagerModules.syncthing.enable = mkEnableOption "Enable syncthing"; config = mkIf cfg.enable { services.syncthing.enable = true; diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index fed891de..058c29cc 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -8,9 +8,9 @@ with lib; { - options.features.cli.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; + options.homeManagerModules.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; - config = mkIf config.features.cli.tmux-sessionizer.enable { + config = mkIf config.homeManagerModules.tmux-sessionizer.enable { home.packages = with pkgs; [ tmux-sessionizer ]; home.file.".tmux-sessionizer".source = "${ diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index be60161f..87700f59 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -11,9 +11,9 @@ let inherit (pkgs) tmuxPlugins; in { - options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; + options.homeManagerModules.tmux.enable = mkEnableOption "Enable tmux"; - config = mkIf config.features.cli.tmux.enable { + config = mkIf config.homeManagerModules.tmux.enable { programs.tmux = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/copyq.nix b/nix/modules/home-manager/features/desktop/copyq.nix index 7a4ca6a7..a173cd8b 100644 --- a/nix/modules/home-manager/features/desktop/copyq.nix +++ b/nix/modules/home-manager/features/desktop/copyq.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.copyq.enable = mkEnableOption "Enable copyq"; + options.homeManagerModules.copyq.enable = mkEnableOption "Enable copyq"; - config = mkIf config.features.desktop.copyq.enable { + config = mkIf config.homeManagerModules.copyq.enable { services.copyq.enable = true; }; } diff --git a/nix/modules/home-manager/features/desktop/discord.nix b/nix/modules/home-manager/features/desktop/discord.nix index abf8cd8f..579ea624 100644 --- a/nix/modules/home-manager/features/desktop/discord.nix +++ b/nix/modules/home-manager/features/desktop/discord.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.discord.enable = mkEnableOption "Enable Discord"; + options.homeManagerModules.discord.enable = mkEnableOption "Enable Discord"; - config = mkIf config.features.desktop.discord.enable { + config = mkIf config.homeManagerModules.discord.enable { home.packages = with pkgs; [ discord ]; }; } diff --git a/nix/modules/home-manager/features/desktop/dwm.nix b/nix/modules/home-manager/features/desktop/dwm.nix index 6fa0b8ff..0006aee1 100644 --- a/nix/modules/home-manager/features/desktop/dwm.nix +++ b/nix/modules/home-manager/features/desktop/dwm.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.homeManagerModules.dwm.enable = mkEnableOption "Enable dwm"; - config = mkIf config.features.desktop.dwm.enable { + config = mkIf config.homeManagerModules.dwm.enable { home = { file.".xinitrc".text = '' systemctl --user import-environment DISPLAY diff --git a/nix/modules/home-manager/features/desktop/espanso.nix b/nix/modules/home-manager/features/desktop/espanso.nix index 9f3d0be0..0ba03f95 100644 --- a/nix/modules/home-manager/features/desktop/espanso.nix +++ b/nix/modules/home-manager/features/desktop/espanso.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.espanso.enable = mkEnableOption "Enable espanso"; + options.homeManagerModules.espanso.enable = mkEnableOption "Enable espanso"; - config = mkIf config.features.desktop.espanso.enable { + config = mkIf config.homeManagerModules.espanso.enable { services.espanso = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/flameshot.nix b/nix/modules/home-manager/features/desktop/flameshot.nix index d9a77d8c..c9126c2f 100644 --- a/nix/modules/home-manager/features/desktop/flameshot.nix +++ b/nix/modules/home-manager/features/desktop/flameshot.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + options.homeManagerModules.flameshot.enable = mkEnableOption "Enable flameshot"; - config = mkIf config.features.desktop.flameshot.enable { + config = mkIf config.homeManagerModules.flameshot.enable { services.flameshot = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/gtk.nix b/nix/modules/home-manager/features/desktop/gtk.nix index f68563b3..2419d956 100644 --- a/nix/modules/home-manager/features/desktop/gtk.nix +++ b/nix/modules/home-manager/features/desktop/gtk.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; + options.homeManagerModules.gtk.enable = mkEnableOption "Enable gtk"; - config = mkIf config.features.desktop.gtk.enable { + config = mkIf config.homeManagerModules.gtk.enable { gtk = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/gimp.nix b/nix/modules/home-manager/features/desktop/media/gimp.nix index db012675..e0a006d5 100644 --- a/nix/modules/home-manager/features/desktop/media/gimp.nix +++ b/nix/modules/home-manager/features/desktop/media/gimp.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.gimp.enable = mkEnableOption "Enable gimp"; + options.homeManagerModules.gimp.enable = mkEnableOption "Enable gimp"; - config = mkIf config.features.desktop.media.gimp.enable { + config = mkIf config.homeManagerModules.gimp.enable { home.packages = with pkgs; [ gimp ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/handbrake.nix b/nix/modules/home-manager/features/desktop/media/handbrake.nix index e27a215a..9cbf4e84 100644 --- a/nix/modules/home-manager/features/desktop/media/handbrake.nix +++ b/nix/modules/home-manager/features/desktop/media/handbrake.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + options.homeManagerModules.handbrake.enable = mkEnableOption "Enable handbrake"; - config = mkIf config.features.desktop.media.handbrake.enable { + config = mkIf config.homeManagerModules.handbrake.enable { home.packages = with pkgs; [ handbrake ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix index 77743e68..039bb93c 100644 --- a/nix/modules/home-manager/features/desktop/media/kdenlive.nix +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.kdenlive.enable = mkEnableOption "Enable kdenlive"; + options.homeManagerModules.kdenlive.enable = mkEnableOption "Enable kdenlive"; - config = mkIf config.features.desktop.media.kdenlive.enable { + config = mkIf config.homeManagerModules.kdenlive.enable { home.packages = with pkgs; [ kdePackages.kdenlive ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/mpv.nix b/nix/modules/home-manager/features/desktop/media/mpv.nix index 2704dad0..cfbf4a97 100644 --- a/nix/modules/home-manager/features/desktop/media/mpv.nix +++ b/nix/modules/home-manager/features/desktop/media/mpv.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv media player"; + options.homeManagerModules.mpv.enable = mkEnableOption "Enable mpv media player"; - config = mkIf config.features.desktop.media.mpv.enable { + config = mkIf config.homeManagerModules.mpv.enable { programs.mpv = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix index d71183b9..5387c0f7 100644 --- a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix +++ b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.pocket-casts.enable = mkEnableOption "Enable Pocket Casts"; + options.homeManagerModules.pocket-casts.enable = mkEnableOption "Enable Pocket Casts"; - config = mkIf config.features.desktop.media.pocket-casts.enable { + config = mkIf config.homeManagerModules.pocket-casts.enable { home.packages = with pkgs; [ pocket-casts ]; }; } diff --git a/nix/modules/home-manager/features/desktop/slack.nix b/nix/modules/home-manager/features/desktop/slack.nix index 344cf861..1007150d 100644 --- a/nix/modules/home-manager/features/desktop/slack.nix +++ b/nix/modules/home-manager/features/desktop/slack.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.slack.enable = mkEnableOption "Enable Slack"; + options.homeManagerModules.slack.enable = mkEnableOption "Enable Slack"; - config = mkIf config.features.desktop.slack.enable { + config = mkIf config.homeManagerModules.slack.enable { home.packages = with pkgs; [ slack ]; }; } diff --git a/nix/modules/home-manager/features/desktop/zoom.nix b/nix/modules/home-manager/features/desktop/zoom.nix index 59925874..e76e9ed4 100644 --- a/nix/modules/home-manager/features/desktop/zoom.nix +++ b/nix/modules/home-manager/features/desktop/zoom.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.zoom.enable = mkEnableOption "Enable zoom"; + options.homeManagerModules.zoom.enable = mkEnableOption "Enable zoom"; - config = mkIf config.features.desktop.zoom.enable { + config = mkIf config.homeManagerModules.zoom.enable { home.packages = with pkgs; [ zoom-us ]; }; } diff --git a/nix/modules/nixos/features/cli/docker.nix b/nix/modules/nixos/features/cli/docker.nix index 10e42634..66c9ddd4 100644 --- a/nix/modules/nixos/features/cli/docker.nix +++ b/nix/modules/nixos/features/cli/docker.nix @@ -3,9 +3,9 @@ with lib; { - options.features.cli.docker.enable = mkEnableOption "Enable Docker"; + options.nixosModules.docker.enable = mkEnableOption "Enable Docker"; - config = mkIf config.features.cli.docker.enable { + config = mkIf config.nixosModules.docker.enable { virtualisation.docker = { enable = true; diff --git a/nix/modules/nixos/features/desktop/autorandr.nix b/nix/modules/nixos/features/desktop/autorandr.nix index 385e9b3a..e9d1afb9 100644 --- a/nix/modules/nixos/features/desktop/autorandr.nix +++ b/nix/modules/nixos/features/desktop/autorandr.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.autorandr.enable = mkEnableOption "Enable autorandr"; + options.nixosModules.autorandr.enable = mkEnableOption "Enable autorandr"; - config = mkIf config.features.desktop.autorandr.enable { + config = mkIf config.nixosModules.autorandr.enable { services.autorandr = { enable = true; diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 678310c8..d17f4d4a 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.nixosModules.dwm.enable = mkEnableOption "Enable dwm"; - config = mkIf config.features.desktop.dwm.enable { + config = mkIf config.nixosModules.dwm.enable { services = { dwm-status = { enable = true; diff --git a/nix/modules/nixos/features/desktop/peek.nix b/nix/modules/nixos/features/desktop/peek.nix index 85137d9f..f6c810af 100644 --- a/nix/modules/nixos/features/desktop/peek.nix +++ b/nix/modules/nixos/features/desktop/peek.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.peek.enable = mkEnableOption "Enable peek"; + options.nixosModules.peek.enable = mkEnableOption "Enable peek"; - config = mkIf config.features.desktop.peek.enable { + config = mkIf config.nixosModules.peek.enable { environment.systemPackages = with pkgs; [ peek ]; }; } diff --git a/nix/modules/nixos/features/desktop/screenkey.nix b/nix/modules/nixos/features/desktop/screenkey.nix index 9bebebfe..1c667b41 100644 --- a/nix/modules/nixos/features/desktop/screenkey.nix +++ b/nix/modules/nixos/features/desktop/screenkey.nix @@ -9,9 +9,9 @@ with lib; { - options.features.desktop.screenkey.enable = mkEnableOption "Enable screenkey"; + options.nixosModules.screenkey.enable = mkEnableOption "Enable screenkey"; - config = mkIf config.features.desktop.screenkey.enable { + config = mkIf config.nixosModules.screenkey.enable { environment.systemPackages = with pkgs; [ screenkey ]; home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { diff --git a/nix/modules/nixos/features/desktop/thunar.nix b/nix/modules/nixos/features/desktop/thunar.nix index 96e8086f..e4f0eb58 100644 --- a/nix/modules/nixos/features/desktop/thunar.nix +++ b/nix/modules/nixos/features/desktop/thunar.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; + options.nixosModules.thunar.enable = mkEnableOption "Enable thunar"; - config = mkIf config.features.desktop.thunar.enable { + config = mkIf config.nixosModules.thunar.enable { programs.thunar = { enable = true; diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/features/gaming.nix index c8f4d40b..e0266aa7 100644 --- a/nix/modules/nixos/features/gaming.nix +++ b/nix/modules/nixos/features/gaming.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.gaming.enable = mkEnableOption "Enable games"; + options.nixosModules.gaming.enable = mkEnableOption "Enable games"; - config = mkIf config.features.desktop.gaming.enable { + config = mkIf config.nixosModules.gaming.enable { programs.steam.enable = true; environment.systemPackages = with pkgs; [ zeroad ]; diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index a357270d..2701379f 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.homelab.audiobookshelf; + cfg = config.nixosModules.audiobookshelf; in { - options.features.homelab.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; + options.nixosModules.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; config = mkIf cfg.enable { services = { diff --git a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix index 434f748e..d329c96d 100644 --- a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix +++ b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix @@ -9,12 +9,12 @@ with lib; let - cfg = config.features.homelab.beaverhabits; + cfg = config.nixosModules.beaverhabits; port = 8084; in { - options.features.homelab.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; + options.nixosModules.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; config = mkIf cfg.enable { virtualisation = { diff --git a/nix/modules/nixos/features/homelab/containers/freshrss.nix b/nix/modules/nixos/features/homelab/containers/freshrss.nix index b383f718..cb6514e7 100644 --- a/nix/modules/nixos/features/homelab/containers/freshrss.nix +++ b/nix/modules/nixos/features/homelab/containers/freshrss.nix @@ -8,11 +8,11 @@ with lib; let - cfg = config.features.homelab.freshrss; + cfg = config.nixosModules.freshrss; port = 4003; in { - options.features.homelab.freshrss.enable = mkEnableOption "Enable freshrss"; + options.nixosModules.freshrss.enable = mkEnableOption "Enable freshrss"; config = mkIf cfg.enable { # Auto-generated using compose2nix v0.3.2-pre. diff --git a/nix/modules/nixos/features/homelab/containers/pi-hole.nix b/nix/modules/nixos/features/homelab/containers/pi-hole.nix index 2a3bf836..1e4ad2c7 100644 --- a/nix/modules/nixos/features/homelab/containers/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/containers/pi-hole.nix @@ -11,9 +11,9 @@ let port = 8082; in { - options.features.homelab.pihole.enable = mkEnableOption "Enable pihole"; + options.nixosModules.pihole.enable = mkEnableOption "Enable pihole"; - config = mkIf config.features.homelab.pihole.enable { + config = mkIf config.nixosModules.pihole.enable { virtualisation = { docker = { enable = true; diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix index c1a38209..5abf4944 100644 --- a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix +++ b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix @@ -8,13 +8,13 @@ with lib; let - cfg = config.features.homelab.tubearchivist-container; + cfg = config.nixosModules.tubearchivist-container; port = 8085; url = "tubearchivist.oliverdavies.uk"; in { - options.features.homelab.tubearchivist-container = { + options.nixosModules.tubearchivist-container = { enable = mkEnableOption "Enable the tubearchivist-container service."; }; diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix index d23ba475..cb9dc933 100644 --- a/nix/modules/nixos/features/homelab/forgejo.nix +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -3,9 +3,9 @@ with lib; { - options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo"; + options.nixosModules.forgejo.enable = mkEnableOption "Enable forgejo"; - config = mkIf config.features.homelab.forgejo.enable { + config = mkIf config.nixosModules.forgejo.enable { services = { forgejo = { enable = true; diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index d75221dc..811146c1 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -6,9 +6,9 @@ let port = 2222; in { - options.features.homelab.gitea.enable = mkEnableOption "Enable gitea"; + options.nixosModules.gitea.enable = mkEnableOption "Enable gitea"; - config = mkIf config.features.homelab.gitea.enable { + config = mkIf config.nixosModules.gitea.enable { services = { gitea = { enable = true; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 627a8586..c015020d 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -8,9 +8,9 @@ with lib; { - options.features.homelab.immich.enable = mkEnableOption "Enable immich"; + options.nixosModules.immich.enable = mkEnableOption "Enable immich"; - config = mkIf config.features.homelab.immich.enable { + config = mkIf config.nixosModules.immich.enable { services.immich = { enable = true; group = "media"; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 89bc38bf..ea8e21e3 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -3,9 +3,9 @@ with lib; { - options.features.homelab.jellyfin.enable = mkEnableOption "Enable jellyfin"; + options.nixosModules.jellyfin.enable = mkEnableOption "Enable jellyfin"; - config = mkIf config.features.homelab.jellyfin.enable { + config = mkIf config.nixosModules.jellyfin.enable { services.jellyfin = { enable = true; openFirewall = true; diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/features/homelab/paperless.nix index 4184ea92..907731bf 100644 --- a/nix/modules/nixos/features/homelab/paperless.nix +++ b/nix/modules/nixos/features/homelab/paperless.nix @@ -6,9 +6,9 @@ let url = "paperless.oliverdavies.uk"; in { - options.features.homelab.paperless.enable = mkEnableOption "Enable paperless"; + options.nixosModules.paperless.enable = mkEnableOption "Enable paperless"; - config = mkIf config.features.homelab.paperless.enable { + config = mkIf config.nixosModules.paperless.enable { services = { paperless = { enable = true; diff --git a/nix/modules/nixos/features/homelab/vaultwarden.nix b/nix/modules/nixos/features/homelab/vaultwarden.nix index 2871d473..17ef88b6 100644 --- a/nix/modules/nixos/features/homelab/vaultwarden.nix +++ b/nix/modules/nixos/features/homelab/vaultwarden.nix @@ -3,9 +3,9 @@ with lib; { - options.features.homelab.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; + options.nixosModules.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; - config = mkIf config.features.homelab.vaultwarden.enable { + config = mkIf config.nixosModules.vaultwarden.enable { services = { vaultwarden = { enable = true; diff --git a/todo.txt b/todo.txt index 5c3275df..46e3fa63 100644 --- a/todo.txt +++ b/todo.txt @@ -4,3 +4,4 @@ Replace doppler with agenix Evaluate services.languagetool as a replacement for Grammarly Make git email address configurable Finish configuring syncthing with nix - https://github.com/neeasade/dotfiles/blob/694c2a11107c10947af956befe16cbe5cee0abda/os/nixos/config/shared.nix#L62 + From d1cbdf3bb45e98f92c49c37348be0db4816bcb92 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 6 Mar 2025 00:51:52 +0000 Subject: [PATCH 1443/2258] Add bc Needed for the `displayselect` script that I'm testing from Luke Smith's voidrice repo. https://github.com/LukeSmithxyz/voidrice/blob/1e750084e5194375002433e3aee554814beef4c1/.local/bin/displayselect --- nix/hosts/t490/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 88a55c5e..81636500 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -51,6 +51,7 @@ }; environment.systemPackages = with pkgs; [ + bc # Needed for ./displayselect script. gtypist newsboat pam_gnupg From 658502213896d05190b1eb26860edac07cc8dcbb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 6 Mar 2025 01:12:32 +0000 Subject: [PATCH 1444/2258] Add displayselect from Luke Smith's dotfiles --- nix/home/opdavies/hosts/t490.nix | 1 + nix/pkgs/default.nix | 1 + nix/pkgs/displayselect/default.nix | 31 +++++++++++++++++++++++ nix/pkgs/displayselect/remove-setbg.patch | 12 +++++++++ 4 files changed, 45 insertions(+) create mode 100644 nix/pkgs/displayselect/default.nix create mode 100644 nix/pkgs/displayselect/remove-setbg.patch diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 66ab7932..b18ad5a2 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -30,6 +30,7 @@ }; home.packages = with pkgs; [ + displayselect isync upload-to-files ]; diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 6821efdc..5723b5b1 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -7,6 +7,7 @@ let in { build-glove80 = callPackage ./build-glove80.nix { }; + displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/nix/pkgs/displayselect/default.nix b/nix/pkgs/displayselect/default.nix new file mode 100644 index 00000000..ac72a829 --- /dev/null +++ b/nix/pkgs/displayselect/default.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: + +with pkgs; + +stdenv.mkDerivation { + pname = "displayselect"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "lukesmithxyz"; + repo = "voidrice"; + rev = "master"; + sha256 = "BybEijy1zH+UNyCgWnenmcazwE8B3PXGc+Cl0FO/n3o="; + }; + + buildInputs = [ + bash + bc + xorg.xrandr + ]; + + patches = [ + ./remove-setbg.patch + ]; + + installPhase = '' + mkdir -p $out/bin + cp .local/bin/displayselect $out/bin + chmod +x $out/bin/displayselect + ''; +} diff --git a/nix/pkgs/displayselect/remove-setbg.patch b/nix/pkgs/displayselect/remove-setbg.patch new file mode 100644 index 00000000..585f1fc5 --- /dev/null +++ b/nix/pkgs/displayselect/remove-setbg.patch @@ -0,0 +1,12 @@ +diff --git a/.local/bin/displayselect b/.local/bin/displayselect +index 51dd468..f69f154 100755 +--- a/.local/bin/displayselect ++++ b/.local/bin/displayselect +@@ -57,7 +57,6 @@ onescreen() { # If only one output available or chosen. + } + + postrun() { # Stuff to run to clean up. +- setbg # Fix background if screen size/arangement has changed. + { killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen + } + From 0f31678c5292fad585c106c84c0b3c081823798e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 6 Mar 2025 23:46:37 +0000 Subject: [PATCH 1445/2258] Remove the features directory --- nix/modules/home-manager/{features => }/cli/bin.nix | 0 nix/modules/home-manager/{features => }/cli/bluetuith.nix | 0 nix/modules/home-manager/{features => }/cli/default.nix | 0 nix/modules/home-manager/{features => }/cli/direnv.nix | 0 nix/modules/home-manager/{features => }/cli/fzf.nix | 0 nix/modules/home-manager/{features => }/cli/git.nix | 0 nix/modules/home-manager/{features => }/cli/neovim.nix | 0 nix/modules/home-manager/{features => }/cli/notes.nix | 0 nix/modules/home-manager/{features => }/cli/phpactor.nix | 0 nix/modules/home-manager/{features => }/cli/starship.nix | 0 nix/modules/home-manager/{features => }/cli/syncthing.nix | 0 .../home-manager/{features => }/cli/tmux-sessionizer.nix | 0 nix/modules/home-manager/{features => }/cli/tmux.nix | 0 nix/modules/home-manager/{features => }/cli/zsh.nix | 0 .../home-manager/{features => }/cli/zsh/abbreviations.nix | 0 .../home-manager/{features => }/cli/zsh/aliases.nix | 0 nix/modules/home-manager/default.nix | 4 ++-- nix/modules/home-manager/{features => }/desktop/copyq.nix | 0 .../home-manager/{features => }/desktop/default.nix | 0 .../home-manager/{features => }/desktop/discord.nix | 0 nix/modules/home-manager/{features => }/desktop/dwm.nix | 0 .../home-manager/{features => }/desktop/espanso.nix | 0 .../{features => }/desktop/espanso/matches/base.nix | 0 .../home-manager/{features => }/desktop/flameshot.nix | 0 nix/modules/home-manager/{features => }/desktop/gtk.nix | 0 .../home-manager/{features => }/desktop/media/default.nix | 0 .../home-manager/{features => }/desktop/media/gimp.nix | 0 .../{features => }/desktop/media/handbrake.nix | 0 .../{features => }/desktop/media/kdenlive.nix | 0 .../home-manager/{features => }/desktop/media/mpv.nix | 0 .../{features => }/desktop/media/pocket-casts.nix | 0 nix/modules/home-manager/{features => }/desktop/slack.nix | 0 nix/modules/home-manager/{features => }/desktop/zoom.nix | 0 nix/modules/nixos/{features => }/cli/default.nix | 0 nix/modules/nixos/{features => }/cli/docker.nix | 0 nix/modules/nixos/default.nix | 8 ++++---- nix/modules/nixos/{features => }/desktop/autorandr.nix | 0 nix/modules/nixos/{features => }/desktop/default.nix | 0 nix/modules/nixos/{features => }/desktop/dwm.nix | 2 -- nix/modules/nixos/{features => }/desktop/peek.nix | 0 nix/modules/nixos/{features => }/desktop/screenkey.nix | 0 nix/modules/nixos/{features => }/desktop/st.nix | 0 nix/modules/nixos/{features => }/desktop/thunar.nix | 0 nix/modules/nixos/{features => }/gaming.nix | 0 .../nixos/{features => }/homelab/audiobookshelf.nix | 0 .../{features => }/homelab/containers/beaverhabits.nix | 0 .../nixos/{features => }/homelab/containers/default.nix | 0 .../nixos/{features => }/homelab/containers/freshrss.nix | 0 .../nixos/{features => }/homelab/containers/pi-hole.nix | 0 .../{features => }/homelab/containers/tubearchivist.nix | 0 nix/modules/nixos/{features => }/homelab/default.nix | 0 nix/modules/nixos/{features => }/homelab/forgejo.nix | 0 nix/modules/nixos/{features => }/homelab/gitea.nix | 0 nix/modules/nixos/{features => }/homelab/immich.nix | 0 nix/modules/nixos/{features => }/homelab/jellyfin.nix | 0 nix/modules/nixos/{features => }/homelab/paperless.nix | 0 nix/modules/nixos/{features => }/homelab/vaultwarden.nix | 0 57 files changed, 6 insertions(+), 8 deletions(-) rename nix/modules/home-manager/{features => }/cli/bin.nix (100%) rename nix/modules/home-manager/{features => }/cli/bluetuith.nix (100%) rename nix/modules/home-manager/{features => }/cli/default.nix (100%) rename nix/modules/home-manager/{features => }/cli/direnv.nix (100%) rename nix/modules/home-manager/{features => }/cli/fzf.nix (100%) rename nix/modules/home-manager/{features => }/cli/git.nix (100%) rename nix/modules/home-manager/{features => }/cli/neovim.nix (100%) rename nix/modules/home-manager/{features => }/cli/notes.nix (100%) rename nix/modules/home-manager/{features => }/cli/phpactor.nix (100%) rename nix/modules/home-manager/{features => }/cli/starship.nix (100%) rename nix/modules/home-manager/{features => }/cli/syncthing.nix (100%) rename nix/modules/home-manager/{features => }/cli/tmux-sessionizer.nix (100%) rename nix/modules/home-manager/{features => }/cli/tmux.nix (100%) rename nix/modules/home-manager/{features => }/cli/zsh.nix (100%) rename nix/modules/home-manager/{features => }/cli/zsh/abbreviations.nix (100%) rename nix/modules/home-manager/{features => }/cli/zsh/aliases.nix (100%) rename nix/modules/home-manager/{features => }/desktop/copyq.nix (100%) rename nix/modules/home-manager/{features => }/desktop/default.nix (100%) rename nix/modules/home-manager/{features => }/desktop/discord.nix (100%) rename nix/modules/home-manager/{features => }/desktop/dwm.nix (100%) rename nix/modules/home-manager/{features => }/desktop/espanso.nix (100%) rename nix/modules/home-manager/{features => }/desktop/espanso/matches/base.nix (100%) rename nix/modules/home-manager/{features => }/desktop/flameshot.nix (100%) rename nix/modules/home-manager/{features => }/desktop/gtk.nix (100%) rename nix/modules/home-manager/{features => }/desktop/media/default.nix (100%) rename nix/modules/home-manager/{features => }/desktop/media/gimp.nix (100%) rename nix/modules/home-manager/{features => }/desktop/media/handbrake.nix (100%) rename nix/modules/home-manager/{features => }/desktop/media/kdenlive.nix (100%) rename nix/modules/home-manager/{features => }/desktop/media/mpv.nix (100%) rename nix/modules/home-manager/{features => }/desktop/media/pocket-casts.nix (100%) rename nix/modules/home-manager/{features => }/desktop/slack.nix (100%) rename nix/modules/home-manager/{features => }/desktop/zoom.nix (100%) rename nix/modules/nixos/{features => }/cli/default.nix (100%) rename nix/modules/nixos/{features => }/cli/docker.nix (100%) rename nix/modules/nixos/{features => }/desktop/autorandr.nix (100%) rename nix/modules/nixos/{features => }/desktop/default.nix (100%) rename nix/modules/nixos/{features => }/desktop/dwm.nix (99%) rename nix/modules/nixos/{features => }/desktop/peek.nix (100%) rename nix/modules/nixos/{features => }/desktop/screenkey.nix (100%) rename nix/modules/nixos/{features => }/desktop/st.nix (100%) rename nix/modules/nixos/{features => }/desktop/thunar.nix (100%) rename nix/modules/nixos/{features => }/gaming.nix (100%) rename nix/modules/nixos/{features => }/homelab/audiobookshelf.nix (100%) rename nix/modules/nixos/{features => }/homelab/containers/beaverhabits.nix (100%) rename nix/modules/nixos/{features => }/homelab/containers/default.nix (100%) rename nix/modules/nixos/{features => }/homelab/containers/freshrss.nix (100%) rename nix/modules/nixos/{features => }/homelab/containers/pi-hole.nix (100%) rename nix/modules/nixos/{features => }/homelab/containers/tubearchivist.nix (100%) rename nix/modules/nixos/{features => }/homelab/default.nix (100%) rename nix/modules/nixos/{features => }/homelab/forgejo.nix (100%) rename nix/modules/nixos/{features => }/homelab/gitea.nix (100%) rename nix/modules/nixos/{features => }/homelab/immich.nix (100%) rename nix/modules/nixos/{features => }/homelab/jellyfin.nix (100%) rename nix/modules/nixos/{features => }/homelab/paperless.nix (100%) rename nix/modules/nixos/{features => }/homelab/vaultwarden.nix (100%) diff --git a/nix/modules/home-manager/features/cli/bin.nix b/nix/modules/home-manager/cli/bin.nix similarity index 100% rename from nix/modules/home-manager/features/cli/bin.nix rename to nix/modules/home-manager/cli/bin.nix diff --git a/nix/modules/home-manager/features/cli/bluetuith.nix b/nix/modules/home-manager/cli/bluetuith.nix similarity index 100% rename from nix/modules/home-manager/features/cli/bluetuith.nix rename to nix/modules/home-manager/cli/bluetuith.nix diff --git a/nix/modules/home-manager/features/cli/default.nix b/nix/modules/home-manager/cli/default.nix similarity index 100% rename from nix/modules/home-manager/features/cli/default.nix rename to nix/modules/home-manager/cli/default.nix diff --git a/nix/modules/home-manager/features/cli/direnv.nix b/nix/modules/home-manager/cli/direnv.nix similarity index 100% rename from nix/modules/home-manager/features/cli/direnv.nix rename to nix/modules/home-manager/cli/direnv.nix diff --git a/nix/modules/home-manager/features/cli/fzf.nix b/nix/modules/home-manager/cli/fzf.nix similarity index 100% rename from nix/modules/home-manager/features/cli/fzf.nix rename to nix/modules/home-manager/cli/fzf.nix diff --git a/nix/modules/home-manager/features/cli/git.nix b/nix/modules/home-manager/cli/git.nix similarity index 100% rename from nix/modules/home-manager/features/cli/git.nix rename to nix/modules/home-manager/cli/git.nix diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix similarity index 100% rename from nix/modules/home-manager/features/cli/neovim.nix rename to nix/modules/home-manager/cli/neovim.nix diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/cli/notes.nix similarity index 100% rename from nix/modules/home-manager/features/cli/notes.nix rename to nix/modules/home-manager/cli/notes.nix diff --git a/nix/modules/home-manager/features/cli/phpactor.nix b/nix/modules/home-manager/cli/phpactor.nix similarity index 100% rename from nix/modules/home-manager/features/cli/phpactor.nix rename to nix/modules/home-manager/cli/phpactor.nix diff --git a/nix/modules/home-manager/features/cli/starship.nix b/nix/modules/home-manager/cli/starship.nix similarity index 100% rename from nix/modules/home-manager/features/cli/starship.nix rename to nix/modules/home-manager/cli/starship.nix diff --git a/nix/modules/home-manager/features/cli/syncthing.nix b/nix/modules/home-manager/cli/syncthing.nix similarity index 100% rename from nix/modules/home-manager/features/cli/syncthing.nix rename to nix/modules/home-manager/cli/syncthing.nix diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/cli/tmux-sessionizer.nix similarity index 100% rename from nix/modules/home-manager/features/cli/tmux-sessionizer.nix rename to nix/modules/home-manager/cli/tmux-sessionizer.nix diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/cli/tmux.nix similarity index 100% rename from nix/modules/home-manager/features/cli/tmux.nix rename to nix/modules/home-manager/cli/tmux.nix diff --git a/nix/modules/home-manager/features/cli/zsh.nix b/nix/modules/home-manager/cli/zsh.nix similarity index 100% rename from nix/modules/home-manager/features/cli/zsh.nix rename to nix/modules/home-manager/cli/zsh.nix diff --git a/nix/modules/home-manager/features/cli/zsh/abbreviations.nix b/nix/modules/home-manager/cli/zsh/abbreviations.nix similarity index 100% rename from nix/modules/home-manager/features/cli/zsh/abbreviations.nix rename to nix/modules/home-manager/cli/zsh/abbreviations.nix diff --git a/nix/modules/home-manager/features/cli/zsh/aliases.nix b/nix/modules/home-manager/cli/zsh/aliases.nix similarity index 100% rename from nix/modules/home-manager/features/cli/zsh/aliases.nix rename to nix/modules/home-manager/cli/zsh/aliases.nix diff --git a/nix/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix index 075bcdb1..0cd6a84b 100644 --- a/nix/modules/home-manager/default.nix +++ b/nix/modules/home-manager/default.nix @@ -9,7 +9,7 @@ { imports = [ - (import ./features/cli { + (import ./cli { inherit config inputs @@ -19,6 +19,6 @@ ; }) - ./features/desktop + ./desktop ]; } diff --git a/nix/modules/home-manager/features/desktop/copyq.nix b/nix/modules/home-manager/desktop/copyq.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/copyq.nix rename to nix/modules/home-manager/desktop/copyq.nix diff --git a/nix/modules/home-manager/features/desktop/default.nix b/nix/modules/home-manager/desktop/default.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/default.nix rename to nix/modules/home-manager/desktop/default.nix diff --git a/nix/modules/home-manager/features/desktop/discord.nix b/nix/modules/home-manager/desktop/discord.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/discord.nix rename to nix/modules/home-manager/desktop/discord.nix diff --git a/nix/modules/home-manager/features/desktop/dwm.nix b/nix/modules/home-manager/desktop/dwm.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/dwm.nix rename to nix/modules/home-manager/desktop/dwm.nix diff --git a/nix/modules/home-manager/features/desktop/espanso.nix b/nix/modules/home-manager/desktop/espanso.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/espanso.nix rename to nix/modules/home-manager/desktop/espanso.nix diff --git a/nix/modules/home-manager/features/desktop/espanso/matches/base.nix b/nix/modules/home-manager/desktop/espanso/matches/base.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/espanso/matches/base.nix rename to nix/modules/home-manager/desktop/espanso/matches/base.nix diff --git a/nix/modules/home-manager/features/desktop/flameshot.nix b/nix/modules/home-manager/desktop/flameshot.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/flameshot.nix rename to nix/modules/home-manager/desktop/flameshot.nix diff --git a/nix/modules/home-manager/features/desktop/gtk.nix b/nix/modules/home-manager/desktop/gtk.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/gtk.nix rename to nix/modules/home-manager/desktop/gtk.nix diff --git a/nix/modules/home-manager/features/desktop/media/default.nix b/nix/modules/home-manager/desktop/media/default.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/media/default.nix rename to nix/modules/home-manager/desktop/media/default.nix diff --git a/nix/modules/home-manager/features/desktop/media/gimp.nix b/nix/modules/home-manager/desktop/media/gimp.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/media/gimp.nix rename to nix/modules/home-manager/desktop/media/gimp.nix diff --git a/nix/modules/home-manager/features/desktop/media/handbrake.nix b/nix/modules/home-manager/desktop/media/handbrake.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/media/handbrake.nix rename to nix/modules/home-manager/desktop/media/handbrake.nix diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/desktop/media/kdenlive.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/media/kdenlive.nix rename to nix/modules/home-manager/desktop/media/kdenlive.nix diff --git a/nix/modules/home-manager/features/desktop/media/mpv.nix b/nix/modules/home-manager/desktop/media/mpv.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/media/mpv.nix rename to nix/modules/home-manager/desktop/media/mpv.nix diff --git a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix b/nix/modules/home-manager/desktop/media/pocket-casts.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/media/pocket-casts.nix rename to nix/modules/home-manager/desktop/media/pocket-casts.nix diff --git a/nix/modules/home-manager/features/desktop/slack.nix b/nix/modules/home-manager/desktop/slack.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/slack.nix rename to nix/modules/home-manager/desktop/slack.nix diff --git a/nix/modules/home-manager/features/desktop/zoom.nix b/nix/modules/home-manager/desktop/zoom.nix similarity index 100% rename from nix/modules/home-manager/features/desktop/zoom.nix rename to nix/modules/home-manager/desktop/zoom.nix diff --git a/nix/modules/nixos/features/cli/default.nix b/nix/modules/nixos/cli/default.nix similarity index 100% rename from nix/modules/nixos/features/cli/default.nix rename to nix/modules/nixos/cli/default.nix diff --git a/nix/modules/nixos/features/cli/docker.nix b/nix/modules/nixos/cli/docker.nix similarity index 100% rename from nix/modules/nixos/features/cli/docker.nix rename to nix/modules/nixos/cli/docker.nix diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index f3c5b028..928462a7 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -1,9 +1,9 @@ { imports = [ - ./features/cli - ./features/desktop - ./features/gaming.nix - ./features/homelab + ./cli + ./desktop + ./gaming.nix + ./homelab ./fonts.nix ./rsnapshot.nix ./xbanish.nix diff --git a/nix/modules/nixos/features/desktop/autorandr.nix b/nix/modules/nixos/desktop/autorandr.nix similarity index 100% rename from nix/modules/nixos/features/desktop/autorandr.nix rename to nix/modules/nixos/desktop/autorandr.nix diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/desktop/default.nix similarity index 100% rename from nix/modules/nixos/features/desktop/default.nix rename to nix/modules/nixos/desktop/default.nix diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix similarity index 99% rename from nix/modules/nixos/features/desktop/dwm.nix rename to nix/modules/nixos/desktop/dwm.nix index d17f4d4a..6654f106 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -17,9 +17,7 @@ with lib; order = [ "audio" - "backlight" "battery" - "cpu_load" "network" "time" ]; diff --git a/nix/modules/nixos/features/desktop/peek.nix b/nix/modules/nixos/desktop/peek.nix similarity index 100% rename from nix/modules/nixos/features/desktop/peek.nix rename to nix/modules/nixos/desktop/peek.nix diff --git a/nix/modules/nixos/features/desktop/screenkey.nix b/nix/modules/nixos/desktop/screenkey.nix similarity index 100% rename from nix/modules/nixos/features/desktop/screenkey.nix rename to nix/modules/nixos/desktop/screenkey.nix diff --git a/nix/modules/nixos/features/desktop/st.nix b/nix/modules/nixos/desktop/st.nix similarity index 100% rename from nix/modules/nixos/features/desktop/st.nix rename to nix/modules/nixos/desktop/st.nix diff --git a/nix/modules/nixos/features/desktop/thunar.nix b/nix/modules/nixos/desktop/thunar.nix similarity index 100% rename from nix/modules/nixos/features/desktop/thunar.nix rename to nix/modules/nixos/desktop/thunar.nix diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/gaming.nix similarity index 100% rename from nix/modules/nixos/features/gaming.nix rename to nix/modules/nixos/gaming.nix diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/homelab/audiobookshelf.nix similarity index 100% rename from nix/modules/nixos/features/homelab/audiobookshelf.nix rename to nix/modules/nixos/homelab/audiobookshelf.nix diff --git a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix b/nix/modules/nixos/homelab/containers/beaverhabits.nix similarity index 100% rename from nix/modules/nixos/features/homelab/containers/beaverhabits.nix rename to nix/modules/nixos/homelab/containers/beaverhabits.nix diff --git a/nix/modules/nixos/features/homelab/containers/default.nix b/nix/modules/nixos/homelab/containers/default.nix similarity index 100% rename from nix/modules/nixos/features/homelab/containers/default.nix rename to nix/modules/nixos/homelab/containers/default.nix diff --git a/nix/modules/nixos/features/homelab/containers/freshrss.nix b/nix/modules/nixos/homelab/containers/freshrss.nix similarity index 100% rename from nix/modules/nixos/features/homelab/containers/freshrss.nix rename to nix/modules/nixos/homelab/containers/freshrss.nix diff --git a/nix/modules/nixos/features/homelab/containers/pi-hole.nix b/nix/modules/nixos/homelab/containers/pi-hole.nix similarity index 100% rename from nix/modules/nixos/features/homelab/containers/pi-hole.nix rename to nix/modules/nixos/homelab/containers/pi-hole.nix diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/homelab/containers/tubearchivist.nix similarity index 100% rename from nix/modules/nixos/features/homelab/containers/tubearchivist.nix rename to nix/modules/nixos/homelab/containers/tubearchivist.nix diff --git a/nix/modules/nixos/features/homelab/default.nix b/nix/modules/nixos/homelab/default.nix similarity index 100% rename from nix/modules/nixos/features/homelab/default.nix rename to nix/modules/nixos/homelab/default.nix diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/homelab/forgejo.nix similarity index 100% rename from nix/modules/nixos/features/homelab/forgejo.nix rename to nix/modules/nixos/homelab/forgejo.nix diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/homelab/gitea.nix similarity index 100% rename from nix/modules/nixos/features/homelab/gitea.nix rename to nix/modules/nixos/homelab/gitea.nix diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/homelab/immich.nix similarity index 100% rename from nix/modules/nixos/features/homelab/immich.nix rename to nix/modules/nixos/homelab/immich.nix diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/homelab/jellyfin.nix similarity index 100% rename from nix/modules/nixos/features/homelab/jellyfin.nix rename to nix/modules/nixos/homelab/jellyfin.nix diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/homelab/paperless.nix similarity index 100% rename from nix/modules/nixos/features/homelab/paperless.nix rename to nix/modules/nixos/homelab/paperless.nix diff --git a/nix/modules/nixos/features/homelab/vaultwarden.nix b/nix/modules/nixos/homelab/vaultwarden.nix similarity index 100% rename from nix/modules/nixos/features/homelab/vaultwarden.nix rename to nix/modules/nixos/homelab/vaultwarden.nix From f678c94c3a01aeb97aa92a895e2952f3b8b5f618 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 6 Mar 2025 23:53:42 +0000 Subject: [PATCH 1446/2258] nix flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index edd0542e..3cb82e0b 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1740845322, - "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", + "lastModified": 1741217763, + "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", "owner": "nix-community", "repo": "home-manager", - "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", + "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1740567864, - "narHash": "sha256-eTS2wrC1jKR6PKXC9jZqQy5PwqbIOBLSLF3dwLiFJ8M=", + "lastModified": 1741192150, + "narHash": "sha256-wB140alXVla1Rw/kENerUoma2qO1Jy5IYWbmiSqmJu0=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "1f40b43d01626ce994eb47150afa0d7215f396ca", + "rev": "0e4ccdb8181da2c6193c047b50ffee5f1a3b6dc1", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1740865531, - "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", + "lastModified": 1741196730, + "narHash": "sha256-0Sj6ZKjCpQMfWnN0NURqRCQn2ob7YtXTAOTwCuz7fkA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", + "rev": "48913d8f9127ea6530a2a2f1bd4daa1b8685d8a3", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1740951829, - "narHash": "sha256-tsloAIbMJC5ItHUfS8p/AbJXVTfflZijYrERsQNVc3o=", + "lastModified": 1741301094, + "narHash": "sha256-zl7tWFgDAKvp+eloxfVT17Y+FlcaLARRP1cBKADwgcs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "75e9d5e5cc345c093af5ac39f307a9187adfb08b", + "rev": "014f8fbad46a34154d5382c41f4f2f1df1157dcc", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740463929, - "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1740828860, - "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", + "lastModified": 1741173522, + "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1740828860, - "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", + "lastModified": 1741173522, + "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740948325, - "narHash": "sha256-u/kvjABaWQs7DrqHE5ZnWlmbTkPk4wNZ7EQu7L1l8ks=", + "lastModified": 1741301198, + "narHash": "sha256-y6m05j5l9YEaLlnfjczvgcdnuPIb79ae0fStAGeRN7I=", "owner": "nix-community", "repo": "NUR", - "rev": "6def47427ce83f56c6a07a5651536e26f227f386", + "rev": "4dece7e65625ef525812fe289f1e5216a74f0d3b", "type": "github" }, "original": { From 0828966dfdaa995f6dfe43f5e8b1b3a0eb80940c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 6 Mar 2025 23:55:05 +0000 Subject: [PATCH 1447/2258] Switch to Brave --- nix/home/opdavies/desktop/default.nix | 1 - nix/home/opdavies/desktop/firefox.nix | 110 ------------------- nix/home/opdavies/hosts/t490.nix | 1 + nix/modules/home-manager/desktop/brave.nix | 28 +++++ nix/modules/home-manager/desktop/default.nix | 1 + nix/modules/nixos/desktop/dwm.nix | 2 +- 6 files changed, 31 insertions(+), 112 deletions(-) delete mode 100644 nix/home/opdavies/desktop/firefox.nix create mode 100644 nix/modules/home-manager/desktop/brave.nix diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index c24100d3..5ae3822b 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -2,7 +2,6 @@ { imports = [ - ./firefox.nix ./qutebrowser.nix ]; diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix deleted file mode 100644 index c79d8286..00000000 --- a/nix/home/opdavies/desktop/firefox.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ pkgs, ... }: - -{ - programs.firefox.enable = false; - - programs.librewolf = { - enable = true; - - languagePacks = [ "en-GB" ]; - - policies = { - CaptivePortal = false; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - - EnableTrackingProtection = { - Cryptomining = true; - Fingerprinting = true; - Value = true; - }; - - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; - installation_mode = "force_installed"; - }; - - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - }; - }; - - FirefoxHome = { - Highlights = false; - Pocket = false; - Search = true; - Snippets = false; - SponsoredPocket = false; - SponsoredTopSites = false; - TopSites = true; - }; - - FirefoxSuggest = { - ImproveSuggest = false; - SponsoredSuggestions = false; - WebSuggestions = false; - }; - - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - - Preferences = { - "cookiebanners.service.mode" = 2; # Block cookie banners - "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing - "privacy.donottrackheader.enabled" = true; - "privacy.fingerprintingProtection" = true; - "privacy.resistFingerprinting" = true; - "privacy.trackingprotection.emailtracking.enabled" = true; - "privacy.trackingprotection.enabled" = true; - "privacy.trackingprotection.fingerprinting.enabled" = true; - "privacy.trackingprotection.socialtracking.enabled" = true; - }; - - HardwareAcceleration = true; - TranslateEnabled = true; - - UserMessaging = { - ExtensionRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = true; - }; - }; - - profiles = { - default = { - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - awesome-rss - bitwarden - darkreader - onetab - tree-style-tab - ublock-origin - videospeed - vimium - web-developer - ]; - - search = { - default = "DuckDuckGo"; - force = true; - privateDefault = "DuckDuckGo"; - }; - - settings = { - "browser.search.isUS" = false; - "browser.search.region" = "GB"; - "distribution.searchplugins.defaultLocale" = "en-GB"; - "general.useragent.locale" = "en-GB"; - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; - }; -} diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index b18ad5a2..baaba985 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -3,6 +3,7 @@ { homeManagerModules = { bluetuith.enable = true; + brave.enable = true; copyq.enable = true; direnv.enable = true; discord.enable = true; diff --git a/nix/modules/home-manager/desktop/brave.nix b/nix/modules/home-manager/desktop/brave.nix new file mode 100644 index 00000000..f3fb4047 --- /dev/null +++ b/nix/modules/home-manager/desktop/brave.nix @@ -0,0 +1,28 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +{ + options.homeManagerModules.brave.enable = mkEnableOption "Enable brave"; + + config = mkIf config.homeManagerModules.brave.enable { + programs.chromium = { + enable = true; + package = pkgs.brave; + + extensions = [ + "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin + "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader + "chphlpgkkbolifaimnlloiipkdnihall" # OneTab + "nffaoalbilbmmfgbnbgppjihopabppdk" # Video Speed Controller + "dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium + "bfbameneiokkgbdmiekhjnmfkcnldhhm" # Web Developer + ]; + }; + }; +} diff --git a/nix/modules/home-manager/desktop/default.nix b/nix/modules/home-manager/desktop/default.nix index 5da8fd3c..eee83d0b 100644 --- a/nix/modules/home-manager/desktop/default.nix +++ b/nix/modules/home-manager/desktop/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./brave.nix ./copyq.nix ./discord.nix ./dwm.nix diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index 6654f106..d39ad869 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -113,7 +113,7 @@ with lib; TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.librewolf}/bin/librewolf") }, + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.brave}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", "-l", "50", NULL} } }, From 30880dd786173ec17ab084366148fba89137e03f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 7 Mar 2025 16:02:56 +0000 Subject: [PATCH 1448/2258] Remove oil.nvim --- nix/modules/home-manager/cli/neovim.nix | 1 - nvim/after/ftplugin/netrw.lua | 5 +++++ nvim/plugin/netrw.lua | 5 +---- nvim/plugin/oil.lua | 16 ---------------- 4 files changed, 6 insertions(+), 21 deletions(-) create mode 100644 nvim/after/ftplugin/netrw.lua delete mode 100644 nvim/plugin/oil.lua diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix index d2bc2daa..fa72a50d 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim.nix @@ -27,7 +27,6 @@ in harpoon2 mini-nvim nvim-web-devicons - oil-nvim phpactor refactoring-nvim standard-vim diff --git a/nvim/after/ftplugin/netrw.lua b/nvim/after/ftplugin/netrw.lua new file mode 100644 index 00000000..591d53c9 --- /dev/null +++ b/nvim/after/ftplugin/netrw.lua @@ -0,0 +1,5 @@ +local opt = vim.opt_local + +opt.cursorline = false +opt.number = true +opt.relativenumber = true diff --git a/nvim/plugin/netrw.lua b/nvim/plugin/netrw.lua index 1feb376d..ff775278 100644 --- a/nvim/plugin/netrw.lua +++ b/nvim/plugin/netrw.lua @@ -1,6 +1,3 @@ -vim.keymap.set("n", "<leader>pv", vim.cmd.Ex) +vim.keymap.set("n", "-", vim.cmd.Ex) vim.g.netrw_banner = 0 -vim.g.netrw_browse_split = 0 -vim.g.netrw_liststyle = 3 -vim.g.netrw_winsize = 20 diff --git a/nvim/plugin/oil.lua b/nvim/plugin/oil.lua deleted file mode 100644 index 5799eb20..00000000 --- a/nvim/plugin/oil.lua +++ /dev/null @@ -1,16 +0,0 @@ -require("oil").setup { - columns = { "icon" }, - - keymaps = { - ["<C-h>"] = false, - ["<M-h>"] = "actions.select_split", - }, - - skip_confirm_for_simple_edits = true, - - view_options = { - show_hidden = true, - }, -} - -vim.keymap.set("n", "-", "<Cmd>Oil<cr>", { desc = "Open parent directory" }) From bc397079fd430e2aa4054b42dac7f538decfcea4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 8 Mar 2025 21:00:55 +0000 Subject: [PATCH 1449/2258] Sort inputs alphabetically --- flake.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 590c29a1..f76a09d2 100644 --- a/flake.nix +++ b/flake.nix @@ -1,10 +1,5 @@ { inputs = { - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; - - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - agenix.url = "github:ryantm/agenix"; disko = { @@ -12,6 +7,11 @@ url = "github:nix-community/disko"; }; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager/master"; + + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-2411.url = "github:nixos/nixpkgs/nixos-24.11"; From 8d5b12b1eeae92c6fe0da99d483c7dd41c606750 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 8 Mar 2025 23:05:09 +0000 Subject: [PATCH 1450/2258] Add dwm patches Add the preserveonrestart patch from https://dwm.suckless.org/patches/preserveonrestart and a custom patch based on https://dwm.suckless.org/patches/restartsig which failed to apply cleanly. --- nix/modules/nixos/desktop/dwm.nix | 9 +++ patches/dwm/restartsig.patch | 108 ++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 patches/dwm/restartsig.patch diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index d39ad869..9af9feaf 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + self, ... }: @@ -113,6 +114,7 @@ with lib; TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, + { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} }, { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.brave}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, @@ -137,6 +139,13 @@ with lib; ''; patches = with pkgs; [ + "${self}/patches/dwm/restartsig.patch" + + (fetchpatch { + url = "https://dwm.suckless.org/patches/preserveonrestart/dwm-preserveonrestart-6.3.diff"; + sha256 = "zgwTCgD3YE+2K4BF6Em+qkM1Gax5vOZfeuWa6zXx8cE="; + }) + (fetchpatch { url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; diff --git a/patches/dwm/restartsig.patch b/patches/dwm/restartsig.patch new file mode 100644 index 00000000..fe73b937 --- /dev/null +++ b/patches/dwm/restartsig.patch @@ -0,0 +1,108 @@ +diff --git a/config.def.h b/config.def.h +index 9efa774..3e9f854 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -95,6 +95,7 @@ static const Key keys[] = { + TAGKEYS( XK_8, 7) + TAGKEYS( XK_9, 8) + { MODKEY|ShiftMask, XK_q, quit, {0} }, ++ { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} }, + }; + + /* button definitions */ +diff --git a/dwm.1 b/dwm.1 +index ddc8321..7b6cadb 100644 +--- a/dwm.1 ++++ b/dwm.1 +@@ -142,6 +142,9 @@ Add/remove all windows with nth tag to/from the view. + .TP + .B Mod1\-Shift\-q + Quit dwm. ++.TP ++.B Mod1\-Control\-Shift\-q ++Restart dwm. + .SS Mouse commands + .TP + .B Mod1\-Button1 +@@ -155,6 +158,13 @@ Resize focused window while dragging. Tiled windows will be toggled to the float + .SH CUSTOMIZATION + dwm is customized by creating a custom config.h and (re)compiling the source + code. This keeps it fast, secure and simple. ++.SH SIGNALS ++.TP ++.B SIGHUP - 1 ++Restart the dwm process. ++.TP ++.B SIGTERM - 15 ++Cleanly terminate the dwm process. + .SH SEE ALSO + .BR dmenu (1), + .BR st (1) +diff --git a/dwm.c b/dwm.c +index 1443802..d183e80 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -204,6 +204,8 @@ static void setmfact(const Arg *arg); + static void setup(void); + static void seturgent(Client *c, int urg); + static void showhide(Client *c); ++static void sighup(int unused); ++static void sigterm(int unused); + static void spawn(const Arg *arg); + static void tag(const Arg *arg); + static void tagmon(const Arg *arg); +@@ -259,6 +261,7 @@ static void (*handler[LASTEvent]) (XEvent *) = { + [UnmapNotify] = unmapnotify + }; + static Atom wmatom[WMLast], netatom[NetLast]; ++static int restart = 0; + static int running = 1; + static Cur *cursor[CurLast]; + static Clr **scheme; +@@ -1257,6 +1260,7 @@ propertynotify(XEvent *e) + void + quit(const Arg *arg) + { ++ if(arg->i) restart = 1; + running = 0; + } + +@@ -1552,6 +1556,9 @@ setup(void) + /* clean up any zombies (inherited from .xinitrc etc) immediately */ + while (waitpid(-1, NULL, WNOHANG) > 0); + ++ signal(SIGHUP, sighup); ++ signal(SIGTERM, sigterm); ++ + /* init screen */ + screen = DefaultScreen(dpy); + sw = DisplayWidth(dpy, screen); +@@ -1643,6 +1650,20 @@ showhide(Client *c) + } + } + ++void ++sighup(int unused) ++{ ++ Arg a = {.i = 1}; ++ quit(&a); ++} ++ ++void ++sigterm(int unused) ++{ ++ Arg a = {.i = 0}; ++ quit(&a); ++} ++ + void + spawn(const Arg *arg) + { +@@ -2158,6 +2179,7 @@ main(int argc, char *argv[]) + #endif /* __OpenBSD__ */ + scan(); + run(); ++ if(restart) execvp(argv[0], argv); + cleanup(); + XCloseDisplay(dpy); + return EXIT_SUCCESS; From 75778848c9ff79c6c11b647cdccd6a1fe29448b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 10 Mar 2025 15:32:41 +0000 Subject: [PATCH 1451/2258] Move zbar to shared Home Manager packages --- nix/home/opdavies/desktop/default.nix | 1 - nix/lib/shared/home-manager-packages.nix | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 5ae3822b..31c78aba 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -15,7 +15,6 @@ pavucontrol xcape xsel - zbar ]; programs = { diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index 53afe763..b4cdd06c 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -49,6 +49,7 @@ with pkgs; wget xclip xdg-utils + zbar # Scripts. deliver From 6297a32ecd4845bdb024806ef36e909f631d72af Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 10 Mar 2025 19:26:50 +0000 Subject: [PATCH 1452/2258] Add disable_bold_italic_fonts patch From https://st.suckless.org/patches/disable_bold_italic_fonts. --- nix/modules/nixos/desktop/st.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nix/modules/nixos/desktop/st.nix b/nix/modules/nixos/desktop/st.nix index 8954b886..3988c723 100644 --- a/nix/modules/nixos/desktop/st.nix +++ b/nix/modules/nixos/desktop/st.nix @@ -17,6 +17,11 @@ with lib; (st.override { conf = '' static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; + + int disablebold = 1; + int disableitalic = 1; + int disableroman = 1; + static int borderpx = 2; static char *shell = "/bin/sh"; @@ -353,6 +358,11 @@ with lib; ''; patches = [ + (fetchpatch { + url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; + sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; + }) + (fetchpatch { url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; From e610e3065848a29a4a5d720c72e6e2c85430a0c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 10 Mar 2025 20:44:27 +0000 Subject: [PATCH 1453/2258] Don't automatically run gc or optimise the Nix ...store --- nix/hosts/PW05CH3L/configuration.nix | 21 --------------------- nix/hosts/common/default.nix | 13 +++++++++++++ nix/hosts/lemp11/configuration.nix | 19 ------------------- nix/hosts/t490/configuration.nix | 21 --------------------- 4 files changed, 13 insertions(+), 61 deletions(-) diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index 48ed8a4e..af63b0f2 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -27,25 +27,4 @@ services.syncthing.enable = true; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - - nix = { - gc = { - automatic = true; - dates = "daily"; - options = "--delete-older-than 7d"; - }; - - optimise.automatic = true; - - settings = { - auto-optimise-store = true; - - experimental-features = [ - "nix-command" - "flakes" - ]; - - warn-dirty = false; - }; - }; } diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index bb8128cc..b0502b27 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -20,6 +20,19 @@ ./programs.nix ]; + nix = { + settings = { + auto-optimise-store = true; + + experimental-features = [ + "nix-command" + "flakes" + ]; + + warn-dirty = false; + }; + }; + users.defaultUserShell = pkgs.zsh; environment.systemPackages = diff --git a/nix/hosts/lemp11/configuration.nix b/nix/hosts/lemp11/configuration.nix index 8ae4bdb2..616b8a19 100644 --- a/nix/hosts/lemp11/configuration.nix +++ b/nix/hosts/lemp11/configuration.nix @@ -48,23 +48,4 @@ }; zramSwap.enable = true; - - nix = { - gc = { - automatic = true; - dates = "daily"; - options = "--delete-older-than 7d"; - }; - - optimise.automatic = true; - - settings = { - auto-optimise-store = true; - experimental-features = [ - "nix-command" - "flakes" - ]; - warn-dirty = false; - }; - }; } diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 81636500..c063abb6 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -64,27 +64,6 @@ zramSwap.enable = true; - nix = { - gc = { - automatic = true; - dates = "daily"; - options = "--delete-older-than 7d"; - }; - - optimise.automatic = true; - - settings = { - auto-optimise-store = true; - - experimental-features = [ - "nix-command" - "flakes" - ]; - - warn-dirty = false; - }; - }; - networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; From 4e1aa667da021ee06abfcc938eeba408f663e46e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 11 Mar 2025 07:44:18 +0000 Subject: [PATCH 1454/2258] Add `clean` function --- run | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/run b/run index ec1e6253..a3fdd280 100755 --- a/run +++ b/run @@ -12,6 +12,11 @@ function check { nix flake check } +function clean { + nix store gc --verbose + nix store optimise --verbose +} + function collect-garbage { nix-collect-garbage -d sudo nix-collect-garbage -d From 512c8b5303ee39ddbc6e66d4ecaa5ce026ff2ecb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 11 Mar 2025 07:49:09 +0000 Subject: [PATCH 1455/2258] Remove rsnapshot --- nix/modules/nixos/default.nix | 1 - nix/modules/nixos/rsnapshot.nix | 70 --------------------------------- 2 files changed, 71 deletions(-) delete mode 100644 nix/modules/nixos/rsnapshot.nix diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index 928462a7..9e5a49cb 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -5,7 +5,6 @@ ./gaming.nix ./homelab ./fonts.nix - ./rsnapshot.nix ./xbanish.nix ]; } diff --git a/nix/modules/nixos/rsnapshot.nix b/nix/modules/nixos/rsnapshot.nix deleted file mode 100644 index 3e043e6e..00000000 --- a/nix/modules/nixos/rsnapshot.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ pkgs, ... }: - -let - backups1 = { - path = "/mnt/backup"; - uuid = "fd47c61a-8aac-44ed-9a18-4ec43ee663fb"; - }; -in -{ - systemd = { - mounts = [ - { - where = "${backups1.path}"; - what = "UUID=${backups1.uuid}"; - type = "ext4"; - options = "defaults,noatime,nofail"; - } - ]; - - automounts = [ - { - where = "${backups1.path}"; - automountConfig.TimeoutIdleSec = "60"; - } - ]; - }; - - systemd.tmpfiles.rules = [ - "d ${backups1.path} 755 root root -" - ]; - - services = { - udev.extraRules = '' - ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="${backups1.uuid}", ENV{SYSTEMD_WANTS}="mnt-backup.mount" - ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="${backups1.uuid}", RUN+="${pkgs.systemd}/bin/systemctl stop mnt-backup.mount" - ''; - - rsnapshot = { - enable = true; - enableManualRsnapshot = true; - - extraConfig = '' - lockfile /home/opdavies/.rsnapshot.pid - - snapshot_root /mnt/backup/rsnapshot/ - no_create_root 1 - - backup /home/opdavies opdavies/ - backup /media media/ - backup /var/lib/immich/upload immich/ - - exclude ".cache/" - exclude ".devenv/" - exclude ".direnv/" - exclude "node_modules/" - exclude "vendor/" - - retain daily 7 - retain weekly 4 - retain monthly 12 - ''; - - cronIntervals = { - daily = "0 21 * * *"; - monthly = "0 23 1 * 0"; - weekly = "0 22 * * 0"; - }; - }; - }; -} From 9c4be445e4fb12eeb83e6e2df1ed071fc28cc4f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 11 Mar 2025 20:07:59 +0000 Subject: [PATCH 1456/2258] Add redirect --- nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index 54568761..26d7db8d 100644 --- a/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -364,6 +364,7 @@ redir /pair-with-me /pair permanent redir /pairing /pair permanent redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent + redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent redir /qSHAl /articles/published-my-first-npm-package/ permanent redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent From 378db6134a7198cd8220240834e629af9d9365f3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 11 Mar 2025 23:00:59 +0000 Subject: [PATCH 1457/2258] Improve Brave's startup time Use the basic password store instead of GPG. I don't save passwords in Brave anyway. --- nix/modules/home-manager/desktop/brave.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/modules/home-manager/desktop/brave.nix b/nix/modules/home-manager/desktop/brave.nix index f3fb4047..7925cd87 100644 --- a/nix/modules/home-manager/desktop/brave.nix +++ b/nix/modules/home-manager/desktop/brave.nix @@ -15,6 +15,10 @@ with lib; enable = true; package = pkgs.brave; + commandLineArgs = [ + "--password-store=basic" + ]; + extensions = [ "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader From 9926cf2202ae39dd2cc3e8d3347e2b3b00e86cbb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Mar 2025 19:59:41 +0000 Subject: [PATCH 1458/2258] Add new scripts --- bin/displayselect | 85 +++++++++++++++++++++++++++++++++++++++++++++++ bin/mounter | 36 ++++++++++++++++++++ bin/unmounter | 26 +++++++++++++++ 3 files changed, 147 insertions(+) create mode 100755 bin/displayselect create mode 100755 bin/mounter create mode 100755 bin/unmounter diff --git a/bin/displayselect b/bin/displayselect new file mode 100755 index 00000000..a4ebb202 --- /dev/null +++ b/bin/displayselect @@ -0,0 +1,85 @@ +#!/bin/sh + +# A UI for detecting and selecting all displays. Probes xrandr for connected +# displays and lets user select one to use. User may also select "manual +# selection" which opens arandr. + +twoscreen() { # If multi-monitor is selected and there are two screens. + mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?") + + # Mirror displays using native resolution of external display and a scaled + # version for the internal display + if [ "$mirror" = "yes" ]; then + external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:") + internal=$(echo "$screens" | grep -v "$external") + + res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \ + tail -n 1 | awk '{print $1}') + + res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \ + tail -n 1 | awk '{print $1}') + + res_ext_x=$(echo "$res_external" | sed 's/x.*//') + res_ext_y=$(echo "$res_external" | sed 's/.*x//') + res_int_x=$(echo "$res_internal" | sed 's/x.*//') + res_int_y=$(echo "$res_internal" | sed 's/.*x//') + + scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l) + scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l) + + xrandr --output "$external" --auto --scale 1.0x1.0 \ + --output "$internal" --auto --same-as "$external" \ + --scale "$scale_x"x"$scale_y" + else + + primary=$(echo "$screens" | dmenu -i -p "Select primary display:") + secondary=$(echo "$screens" | grep -v ^"$primary"$) + direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?") + + xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0 + fi +} + +morescreen() { # If multi-monitor is selected and there are more than two screens. + primary=$(echo "$screens" | dmenu -i -p "Select primary display:") + secondary=$(echo "$screens" | grep -v ^"$primary"$ | dmenu -i -p "Select secondary display:") + direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?") + tertiary=$(echo "$screens" | grep -v ^"$primary"$ | grep -v ^"$secondary"$ | dmenu -i -p "Select third display:") + + xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto +} + +multimon() { # Multi-monitor handler. + case "$(echo "$screens" | wc -l)" in + 2) twoscreen ;; + *) morescreen ;; + esac ;} + +onescreen() { # If only one output available or chosen. + xrandr --output "$1" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "\b$1" | awk '{print "--output", $1, "--off"}' | paste -sd ' ' -) +} + +postrun() { # Stuff to run to clean up. + { killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen +} + +# Get all possible displays +allposs=$(xrandr -q | grep "connected") + +# Get all connected screens. +screens=$(echo "$allposs" | awk '/ connected/ {print $1}') + +# If there's only one screen +[ "$(echo "$screens" | wc -l)" -lt 2 ] && + { onescreen "$screens"; postrun; notify-send "Only one screen detected." "Using it in its optimal settings..."; exit ;} + +# Get user choice including multi-monitor and manual selection: +chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") && + +case "$chosen" in + "manual selection") arandr ; exit ;; + "multi-monitor") multimon ;; + *) onescreen "$chosen" ;; +esac + +postrun diff --git a/bin/mounter b/bin/mounter new file mode 100755 index 00000000..60b828eb --- /dev/null +++ b/bin/mounter @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +lsblk_output="$(lsblk -rpo "uuid,name,type,size,label,mountpoint,mountpoints,fstype" | grep "part" | grep -Ev "/(boot|nix/store)")" +partition_names="$(echo "$lsblk_output" | awk '{ printf "%s (%s)\n", $2, $4 }' )"; + +selected=$(echo "$partition_names" | dmenu -p "Select drive:" | awk '{ print $1 }') +test -n "$selected" +mount_device="$selected" + +if sudo cryptsetup isLuks "$selected"; then + luks_name="usb" + + ${TERMINAL:-st} -n floatterm -g 60x1 -e sudo cryptsetup open "$selected" "$luks_name" + + mount_device="/dev/mapper/$luks_name" + + test -b "/dev/mapper/$luks_name" +fi + +mount_point=$(echo -e "/mnt\n/media\n/run/media/$USER" | dmenu -p "Select mount point:") +test -n "$mount_point" + +sudo mkdir -p "$mount_point" + +if sudo mount "$mount_device" "$mount_point"; then + notify-send "Device mounted" "Mounted $selected at $mount_point." +else + notify-send "Mount failed" "Failed to mount $selected." + + exit 1 +fi + diff --git a/bin/unmounter b/bin/unmounter new file mode 100755 index 00000000..cc3d5d8b --- /dev/null +++ b/bin/unmounter @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +lsblk_output="$(lsblk -nrpo "name,type,size,mountpoint")" +mounted_drives="$(echo "$lsblk_output" | awk '($2=="part"||$2="crypt")&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')" + +all_unmountable="$(echo "$mounted_drives" | sed "/^$/d;s/ *$//")" +test -n "$all_unmountable" + +selected="$(echo "$all_unmountable" | dmenu -i -p "Unmount which drive?")" +selected="${selected%% *}" +test -n "$selected" + +sudo -A umount -l "/${selected#*/}" +notify-send "Device unmounted" "$selected has been unmounted." + +# Close the selected drive if decrypted. +cryptid="$(echo "$lsblk_output" | grep "/${selected#*/}$")" +cryptid="${cryptid%% *}" +test -b /dev/mapper/"${cryptid##*/}" +sudo -A cryptsetup close "$cryptid" + +notify-send "Device dencryption closed" "Drive is now securely locked again." From 5a7252e7d0f0cbe062395025c3c6432c8bef3a23 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Mar 2025 20:00:46 +0000 Subject: [PATCH 1459/2258] Update dwm keys --- nix/modules/nixos/desktop/dwm.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index 9af9feaf..e8fef612 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -113,14 +113,17 @@ with lib; TAGKEYS(XK_7, 6) TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, - { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} }, { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.brave}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", "-l", "50", NULL} } }, + { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", NULL} } }, + { MODKEY|ShiftMask, XK_q, quit, {0} }, + { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, + { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "/home/opdavies/bin/displayselect", NULL } } }, + { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/bin/mounter", NULL } } }, + { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/bin/unmounter", NULL } } }, }; static const Button buttons[] = { From d5acca94407abb2d399fed258d46b378749ef13f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Mar 2025 20:53:30 +0000 Subject: [PATCH 1460/2258] Remove syncthing configuration --- nix/home/opdavies/hosts/PW05CH3L.nix | 1 - nix/home/opdavies/hosts/lemp11.nix | 1 - nix/home/opdavies/hosts/nixedo.nix | 1 - nix/home/opdavies/hosts/t490.nix | 1 - nix/hosts/PW05CH3L/configuration.nix | 2 -- nix/modules/home-manager/cli/default.nix | 1 - nix/modules/home-manager/cli/syncthing.nix | 14 -------------- 7 files changed, 21 deletions(-) delete mode 100644 nix/modules/home-manager/cli/syncthing.nix diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 7650c35c..ea1adc9b 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -8,7 +8,6 @@ directory = "$HOME/Documents/wiki/tfw-notes"; }; - syncthing.enable = true; tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index d8d1a1e0..d16492d8 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -14,7 +14,6 @@ mpv.enable = true; pocket-casts.enable = true; slack.enable = true; - syncthing.enable = true; tmux-sessionizer.enable = true; zoom.enable = true; }; diff --git a/nix/home/opdavies/hosts/nixedo.nix b/nix/home/opdavies/hosts/nixedo.nix index ce6ee60e..1b4871f7 100644 --- a/nix/home/opdavies/hosts/nixedo.nix +++ b/nix/home/opdavies/hosts/nixedo.nix @@ -4,6 +4,5 @@ homeManagerModules = { direnv.enable = true; dwm.enable = true; - syncthing.enable = true; }; } diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index baaba985..e41cb8ba 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -24,7 +24,6 @@ pocket-casts.enable = true; slack.enable = true; - syncthing.enable = true; tmux.enable = true; tmux-sessionizer.enable = true; zoom.enable = true; diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index af63b0f2..ffea18f8 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -24,7 +24,5 @@ defaultUser = username; }; - services.syncthing.enable = true; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; } diff --git a/nix/modules/home-manager/cli/default.nix b/nix/modules/home-manager/cli/default.nix index c0c7e06e..badabd99 100644 --- a/nix/modules/home-manager/cli/default.nix +++ b/nix/modules/home-manager/cli/default.nix @@ -11,7 +11,6 @@ ./notes.nix ./phpactor.nix ./starship.nix - ./syncthing.nix ./tmux.nix ./tmux-sessionizer.nix ./zsh.nix diff --git a/nix/modules/home-manager/cli/syncthing.nix b/nix/modules/home-manager/cli/syncthing.nix deleted file mode 100644 index 0f14482e..00000000 --- a/nix/modules/home-manager/cli/syncthing.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.homeManagerModules.syncthing; -in -{ - options.homeManagerModules.syncthing.enable = mkEnableOption "Enable syncthing"; - - config = mkIf cfg.enable { - services.syncthing.enable = true; - }; -} From d2f5001e7e61e3e30c431a6deb24309e857493bc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Mar 2025 20:53:47 +0000 Subject: [PATCH 1461/2258] Remove thunar-volman --- nix/modules/nixos/desktop/thunar.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/modules/nixos/desktop/thunar.nix b/nix/modules/nixos/desktop/thunar.nix index e4f0eb58..755e6204 100644 --- a/nix/modules/nixos/desktop/thunar.nix +++ b/nix/modules/nixos/desktop/thunar.nix @@ -16,7 +16,6 @@ with lib; plugins = with pkgs.xfce; [ thunar-archive-plugin - thunar-volman ]; }; From 5ae7c016f3df5c2d63192f0e3e314e2fbf2fdaf8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 13 Mar 2025 21:46:08 +0000 Subject: [PATCH 1462/2258] Add redshift > Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. https://github.com/jonls/redshift https://nixos.wiki/wiki/Redshift --- nix/hosts/t490/configuration.nix | 1 + nix/hosts/t490/services/default.nix | 1 + nix/hosts/t490/services/redshift.nix | 31 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 nix/hosts/t490/services/redshift.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index c063abb6..30d97293 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -19,6 +19,7 @@ autorandr.enable = true; dwm.enable = true; gaming.enable = true; + redshift.enable = true; st.enable = true; thunar.enable = true; peek.enable = true; diff --git a/nix/hosts/t490/services/default.nix b/nix/hosts/t490/services/default.nix index ce7ea823..ef7c3c7b 100644 --- a/nix/hosts/t490/services/default.nix +++ b/nix/hosts/t490/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./cron.nix ./interception-tools.nix + ./redshift.nix ./sound.nix ./udev.nix ./xserver.nix diff --git a/nix/hosts/t490/services/redshift.nix b/nix/hosts/t490/services/redshift.nix new file mode 100644 index 00000000..3fcfdf4f --- /dev/null +++ b/nix/hosts/t490/services/redshift.nix @@ -0,0 +1,31 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.redshift; +in +{ + options.nixosModules.redshift.enable = mkEnableOption "Enable redshift"; + + config = mkIf cfg.enable { + location = { + latitude = 51.48; + longitude = -3.17; + }; + + services.redshift = { + enable = true; + + brightness = { + day = "1"; + night = "1"; + }; + + temperature = { + day = 5500; + night = 3700; + }; + }; + }; +} From 44d019d4e0010f5343f7b5ca992357873881f177 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 14 Mar 2025 16:01:49 +0000 Subject: [PATCH 1463/2258] Remove logseq --- nix/hosts/common/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index b0502b27..5cd09efe 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -61,7 +61,6 @@ ffmpegthumbnailer hunspellDicts.en-gb-large libreoffice - logseq shotwell vscode ]; From 867ddbf8a2648da7c01da016e5b852ef8378fa14 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 12 Mar 2025 15:49:04 +0000 Subject: [PATCH 1464/2258] Add mariadb/mysql for vim-dadbod --- nix/modules/home-manager/cli/neovim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix index fa72a50d..747c14e3 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim.nix @@ -164,6 +164,7 @@ in # Tools hadolint html-tidy + mariadb nodePackages.jsonlint nodePackages.markdownlint-cli phpPackages.php-codesniffer From 5662a4f522a5a86cf5cd4b7d7799d2d207dd60f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Mar 2025 11:15:28 +0000 Subject: [PATCH 1465/2258] Update paths Ignore _archive and directories starting with . or ending in .old. --- nix/pkgs/tmux-sessionizer/configure-directories.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/pkgs/tmux-sessionizer/configure-directories.patch b/nix/pkgs/tmux-sessionizer/configure-directories.patch index 33a19b20..55d7e044 100644 --- a/nix/pkgs/tmux-sessionizer/configure-directories.patch +++ b/nix/pkgs/tmux-sessionizer/configure-directories.patch @@ -9,7 +9,7 @@ index fa1bec5..4d79e0b 100755 - # If someone wants to make this extensible, i'll accept - # PR - selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L ~/ ~/Code ~/Code/os ~/Documents -mindepth 1 -maxdepth 1 -type d | sort | fzf) ++ selected=$(find -L ~/Code ~/Code/os ~/Documents -maxdepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) fi if [[ -z $selected ]]; then From adc19fc2104b53f024b6acc4403dd94ef5a00fc1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Mar 2025 11:30:07 +0000 Subject: [PATCH 1466/2258] Update download-buffer-size --- nix/hosts/common/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index 5cd09efe..fa21fc73 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -24,6 +24,8 @@ settings = { auto-optimise-store = true; + download-buffer-size = "104857600"; + experimental-features = [ "nix-command" "flakes" From 4e0c874321cd4fb7cae04e54d1f726d759ac5f63 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 15 Mar 2025 11:46:04 +0000 Subject: [PATCH 1467/2258] nix flake update --- flake.lock | 54 +++++++++++++++--------------- nix/pkgs/displayselect/default.nix | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 3cb82e0b..cd1ddd45 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1740485968, - "narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=", + "lastModified": 1741786315, + "narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=", "owner": "nix-community", "repo": "disko", - "rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940", + "rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1741217763, - "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", + "lastModified": 1741955947, + "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", "owner": "nix-community", "repo": "home-manager", - "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", + "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1740646007, - "narHash": "sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE=", + "lastModified": 1741792691, + "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "009b764ac98a3602d41fc68072eeec5d24fc0e49", + "rev": "e1f12151258b12c567f456d8248e4694e9390613", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1741192150, - "narHash": "sha256-wB140alXVla1Rw/kENerUoma2qO1Jy5IYWbmiSqmJu0=", + "lastModified": 1741870048, + "narHash": "sha256-odXRdNZGdXg1LmwlAeWL85kgy/FVHsgKlDwrvbR2BsU=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "0e4ccdb8181da2c6193c047b50ffee5f1a3b6dc1", + "rev": "5d76001e33ee19644a598ad80e7318ab0957b122", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1741196730, - "narHash": "sha256-0Sj6ZKjCpQMfWnN0NURqRCQn2ob7YtXTAOTwCuz7fkA=", + "lastModified": 1741862977, + "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48913d8f9127ea6530a2a2f1bd4daa1b8685d8a3", + "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1741301094, - "narHash": "sha256-zl7tWFgDAKvp+eloxfVT17Y+FlcaLARRP1cBKADwgcs=", + "lastModified": 1742035954, + "narHash": "sha256-YQWICU680BrLEZdCKhI1479+4UwBSY8c/iv8IyHiAF0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "014f8fbad46a34154d5382c41f4f2f1df1157dcc", + "rev": "fb9687150778598f69c31f36e01a6172592418ab", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1741173522, - "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", + "lastModified": 1741851582, + "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", + "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1741173522, - "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", + "lastModified": 1741851582, + "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", + "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741301198, - "narHash": "sha256-y6m05j5l9YEaLlnfjczvgcdnuPIb79ae0fStAGeRN7I=", + "lastModified": 1742034367, + "narHash": "sha256-3ublKxuh1VfTKtQZm3sEoHIQDfPkN7940vSjmGlauWA=", "owner": "nix-community", "repo": "NUR", - "rev": "4dece7e65625ef525812fe289f1e5216a74f0d3b", + "rev": "754da210f1b82105543e814576e8a0763d253e36", "type": "github" }, "original": { diff --git a/nix/pkgs/displayselect/default.nix b/nix/pkgs/displayselect/default.nix index ac72a829..cc70d599 100644 --- a/nix/pkgs/displayselect/default.nix +++ b/nix/pkgs/displayselect/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { owner = "lukesmithxyz"; repo = "voidrice"; rev = "master"; - sha256 = "BybEijy1zH+UNyCgWnenmcazwE8B3PXGc+Cl0FO/n3o="; + sha256 = "ZoEyircvifmAH7QqDpdDxhaHMdAfWtjZB6JiSvMBRVg="; }; buildInputs = [ From aa2426d955d77aa5b15a8fa43b306fe79355b147 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1468/2258] Add Vim-like pane navigation --- nix/modules/home-manager/cli/tmux.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nix/modules/home-manager/cli/tmux.nix b/nix/modules/home-manager/cli/tmux.nix index 87700f59..b785d077 100644 --- a/nix/modules/home-manager/cli/tmux.nix +++ b/nix/modules/home-manager/cli/tmux.nix @@ -74,6 +74,12 @@ in set-option -g pane-active-border-style "fg=#1f2335" set-option -g pane-border-style "fg=#1f2335" + # Vim-like pane navigation. + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + bind-key -r f run-shell "tmux new-window tmux-sessionizer" bind-key -r N split-window -h "notes" From 02cd87af90fdbb27350f3fd8f3ece93646bbe280 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1469/2258] Move tmux-sessionizer default script --- nix/home/opdavies/default.nix | 1 + nix/modules/home-manager/cli/tmux-sessionizer.nix | 2 +- nix/pkgs/tmux-sessionizer/default.nix | 5 ++++- nix/pkgs/tmux-sessionizer/move-default-script.patch | 13 +++++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 nix/pkgs/tmux-sessionizer/move-default-script.patch diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 1a874516..9af9f5ed 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -70,5 +70,6 @@ in ]; PULUMI_SKIP_UPDATE_CHECK = "true"; REPOS = "$HOME/Code"; + XDG_CONFIG_HOME = "${config.xdg.configHome}"; }; } diff --git a/nix/modules/home-manager/cli/tmux-sessionizer.nix b/nix/modules/home-manager/cli/tmux-sessionizer.nix index 058c29cc..2927781b 100644 --- a/nix/modules/home-manager/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/cli/tmux-sessionizer.nix @@ -13,7 +13,7 @@ with lib; config = mkIf config.homeManagerModules.tmux-sessionizer.enable { home.packages = with pkgs; [ tmux-sessionizer ]; - home.file.".tmux-sessionizer".source = "${ + home.file."${config.xdg.configHome}/tmux-sessionizer/default".source = "${ pkgs.writeShellApplication { name = ".tmux-sessionizer"; diff --git a/nix/pkgs/tmux-sessionizer/default.nix b/nix/pkgs/tmux-sessionizer/default.nix index 21cd6dee..a3e8c30c 100644 --- a/nix/pkgs/tmux-sessionizer/default.nix +++ b/nix/pkgs/tmux-sessionizer/default.nix @@ -19,7 +19,10 @@ stdenv.mkDerivation { tmux ]; - patches = [ ./configure-directories.patch ]; + patches = [ + ./move-default-script.patch + ./configure-directories.patch + ]; installPhase = '' mkdir -p $out/bin diff --git a/nix/pkgs/tmux-sessionizer/move-default-script.patch b/nix/pkgs/tmux-sessionizer/move-default-script.patch new file mode 100644 index 00000000..ad61c44b --- /dev/null +++ b/nix/pkgs/tmux-sessionizer/move-default-script.patch @@ -0,0 +1,13 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index fa1bec5..1a5319f 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -15,7 +15,7 @@ hydrate() { + if [ -f $2/.tmux-sessionizer ]; then + tmux send-keys -t $1 "source $2/.tmux-sessionizer" c-M + elif [ -f $HOME/.tmux-sessionizer ]; then +- tmux send-keys -t $1 "source $HOME/.tmux-sessionizer" c-M ++ tmux send-keys -t $1 "source $XDG_CONFIG_HOME/tmux-sessionizer/default" c-M + fi + } + From 1c6401af0844fc08fa853598862d52ec6402a3c8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1470/2258] Move the password store --- nix/home/opdavies/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 9af9f5ed..fd29b0a4 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -62,6 +62,7 @@ in LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; + PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass"; PATH = lib.concatStringsSep ":" [ "$PATH" "$HOME/go/bin" @@ -71,5 +72,6 @@ in PULUMI_SKIP_UPDATE_CHECK = "true"; REPOS = "$HOME/Code"; XDG_CONFIG_HOME = "${config.xdg.configHome}"; + XDG_DATA_HOME = "${config.xdg.dataHome}"; }; } From b0c2021d92e4e170f00754d6f4ffd00288672b3c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1471/2258] Move default Git commit message template --- nix/modules/home-manager/cli/git.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nix/modules/home-manager/cli/git.nix b/nix/modules/home-manager/cli/git.nix index 3db41cbf..3b046c61 100644 --- a/nix/modules/home-manager/cli/git.nix +++ b/nix/modules/home-manager/cli/git.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { - home.file.".gitmessage".text = '' + home.file."${config.xdg.configHome}/git/message".text = '' # Description @@ -103,7 +103,7 @@ checkout.defaultRemote = "origin"; color.ui = true; column.ui = "auto"; - commit.template = "~/.gitmessage"; + commit.template = "${config.xdg.configHome}/git/message"; core = { editor = "nvim"; From 2343a739da725b37dd800422017008e7773feb8b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1472/2258] Add XDG_REPOS_HOME variable --- bin/start-traefik | 2 +- bin/update-all-git-repos | 2 +- nix/home/opdavies/default.nix | 2 +- nix/modules/home-manager/cli/git.nix | 2 +- nix/modules/home-manager/cli/tmux-sessionizer.nix | 2 +- nix/modules/home-manager/cli/zsh.nix | 6 +++--- nix/modules/home-manager/cli/zsh/aliases.nix | 4 +++- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/bin/start-traefik b/bin/start-traefik index 547e890b..6bbdb9d9 100755 --- a/bin/start-traefik +++ b/bin/start-traefik @@ -3,7 +3,7 @@ set -o errexit set -o nounset -cd "${REPOS}/traefik-development" +cd "${XDG_REPOS_DIR}/traefik-development" docker compose up --detach docker container ps diff --git a/bin/update-all-git-repos b/bin/update-all-git-repos index e5fbbc49..f3fa29e6 100755 --- a/bin/update-all-git-repos +++ b/bin/update-all-git-repos @@ -6,7 +6,7 @@ set -o errexit set -o nounset -dirs=$(find "$REPOS" -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') +dirs=$(find "$XDG_REPOS_DIR" -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') for dir in $dirs; do repo_path="${dir%/.git}" diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index fd29b0a4..c4b97506 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -70,8 +70,8 @@ in "./node_modules/.bin" ]; PULUMI_SKIP_UPDATE_CHECK = "true"; - REPOS = "$HOME/Code"; XDG_CONFIG_HOME = "${config.xdg.configHome}"; XDG_DATA_HOME = "${config.xdg.dataHome}"; + XDG_REPOS_DIR = "$HOME/Code"; }; } diff --git a/nix/modules/home-manager/cli/git.nix b/nix/modules/home-manager/cli/git.nix index 3b046c61..237ed745 100644 --- a/nix/modules/home-manager/cli/git.nix +++ b/nix/modules/home-manager/cli/git.nix @@ -29,7 +29,7 @@ includes = [ { - condition = "gitdir:~/Code/tfw"; + condition = "gitdir:${config.home.sessionVariables.XDG_REPOS_DIR}/tfw"; contents.user.email = "oliver.davies@tfw.wales"; } ]; diff --git a/nix/modules/home-manager/cli/tmux-sessionizer.nix b/nix/modules/home-manager/cli/tmux-sessionizer.nix index 2927781b..e8005681 100644 --- a/nix/modules/home-manager/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/cli/tmux-sessionizer.nix @@ -25,7 +25,7 @@ with lib; set +o errexit set +o nounset - if [[ "$PWD" == "$REPOS/os" || "$PWD" == "$REPOS/personal" ]]; then + if [[ "$PWD" == "$XDG_REPOS_DIR/os" || "$PWD" == "$XDG_REPOS_DIR/personal" ]]; then clear return diff --git a/nix/modules/home-manager/cli/zsh.nix b/nix/modules/home-manager/cli/zsh.nix index eec1fb43..8da91cf3 100644 --- a/nix/modules/home-manager/cli/zsh.nix +++ b/nix/modules/home-manager/cli/zsh.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { programs.zsh = { @@ -12,8 +12,8 @@ abbreviations = import ./zsh/abbreviations.nix; }; - cdpath = [ "~/Code" ]; - dotDir = ".config/zsh"; + cdpath = [ "$HOME/Code" ]; + dotDir = "${config.xdg.configHome}/zsh"; shellAliases = (import ./zsh/aliases.nix); diff --git a/nix/modules/home-manager/cli/zsh/aliases.nix b/nix/modules/home-manager/cli/zsh/aliases.nix index fe7de689..0b362271 100644 --- a/nix/modules/home-manager/cli/zsh/aliases.nix +++ b/nix/modules/home-manager/cli/zsh/aliases.nix @@ -1,3 +1,5 @@ +{ config, ... }: + { "$" = ""; "-" = "cd -"; @@ -8,6 +10,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - vss = "LC_ALL=C sort --unique $REPOS/dotfiles/nvim/spell/en.utf-8.add --output $REPOS/dotfiles/nvim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique ${config.home.sessionVariables.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add --output ${config.home.sessionVariables.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add"; wt = "git worktree"; } From 9d913f9c61e9de5a289a8c29f2152c63c7ae60d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1473/2258] Remove cdpath --- nix/modules/home-manager/cli/zsh.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/modules/home-manager/cli/zsh.nix b/nix/modules/home-manager/cli/zsh.nix index 8da91cf3..335f6f5a 100644 --- a/nix/modules/home-manager/cli/zsh.nix +++ b/nix/modules/home-manager/cli/zsh.nix @@ -12,7 +12,6 @@ abbreviations = import ./zsh/abbreviations.nix; }; - cdpath = [ "$HOME/Code" ]; dotDir = "${config.xdg.configHome}/zsh"; shellAliases = (import ./zsh/aliases.nix); From 92d3b2946a68d45da186c98c46d826ef5a61aa80 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1474/2258] Fix pname --- nix/pkgs/tmux-sessionizer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/pkgs/tmux-sessionizer/default.nix b/nix/pkgs/tmux-sessionizer/default.nix index a3e8c30c..05e46589 100644 --- a/nix/pkgs/tmux-sessionizer/default.nix +++ b/nix/pkgs/tmux-sessionizer/default.nix @@ -3,7 +3,7 @@ with pkgs; stdenv.mkDerivation { - pname = "tmux-sessonizer"; + pname = "tmux-sessionizer"; version = "0.1.0"; src = fetchFromGitHub { From 0188b564a534f12a665a1c60fef6692e566a0fa0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 20:05:16 +0000 Subject: [PATCH 1475/2258] Change DOCUMENTS to XDG_DOCUMENTS_DIR --- nix/home/opdavies/default.nix | 2 +- nix/lib/shared/scripts/export-video-list.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index c4b97506..cb6b79cf 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -57,7 +57,6 @@ in home.packages = shared-packages; home.sessionVariables = { - DOCUMENTS = "$HOME/Documents"; EDITOR = "nvim"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; @@ -72,6 +71,7 @@ in PULUMI_SKIP_UPDATE_CHECK = "true"; XDG_CONFIG_HOME = "${config.xdg.configHome}"; XDG_DATA_HOME = "${config.xdg.dataHome}"; + XDG_DOCUMENTS_DIR = "$HOME/Documents"; XDG_REPOS_DIR = "$HOME/Code"; }; } diff --git a/nix/lib/shared/scripts/export-video-list.nix b/nix/lib/shared/scripts/export-video-list.nix index 257e2791..32c286e6 100644 --- a/nix/lib/shared/scripts/export-video-list.nix +++ b/nix/lib/shared/scripts/export-video-list.nix @@ -25,7 +25,7 @@ exit 1 fi - output_file="''${DOCUMENTS}/videos.json" + output_file="$XDG_DOCUMENTS_DIR/videos.json" ${pkgs.tree}/bin/tree -J "$source_path/Videos" | ${pkgs.jq}/bin/jq . > "$output_file" ${pkgs.jq}/bin/jq . < "$output_file" From 6eb7b2a62282f1cedf923327c52a2bf4a6ad8ac2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 23:05:33 +0000 Subject: [PATCH 1476/2258] Configure wallpaper --- bin/setbg | 3 +++ nix/modules/home-manager/desktop/dwm.nix | 3 +++ nix/pkgs/displayselect/default.nix | 4 ---- nix/pkgs/displayselect/remove-setbg.patch | 12 ------------ 4 files changed, 6 insertions(+), 16 deletions(-) create mode 100755 bin/setbg delete mode 100644 nix/pkgs/displayselect/remove-setbg.patch diff --git a/bin/setbg b/bin/setbg new file mode 100755 index 00000000..2856e15b --- /dev/null +++ b/bin/setbg @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +xwallpaper --zoom ~/Code/dotfiles/wallpaper/wallpaper.jpg diff --git a/nix/modules/home-manager/desktop/dwm.nix b/nix/modules/home-manager/desktop/dwm.nix index 0006aee1..160bbdf7 100644 --- a/nix/modules/home-manager/desktop/dwm.nix +++ b/nix/modules/home-manager/desktop/dwm.nix @@ -21,6 +21,8 @@ with lib; poweralertd -s & + setbg & + systemctl --user start dwm-status & exec dwm @@ -29,6 +31,7 @@ with lib; packages = with pkgs; [ dunst poweralertd + xwallpaper ]; }; }; diff --git a/nix/pkgs/displayselect/default.nix b/nix/pkgs/displayselect/default.nix index cc70d599..efc5c8a7 100644 --- a/nix/pkgs/displayselect/default.nix +++ b/nix/pkgs/displayselect/default.nix @@ -19,10 +19,6 @@ stdenv.mkDerivation { xorg.xrandr ]; - patches = [ - ./remove-setbg.patch - ]; - installPhase = '' mkdir -p $out/bin cp .local/bin/displayselect $out/bin diff --git a/nix/pkgs/displayselect/remove-setbg.patch b/nix/pkgs/displayselect/remove-setbg.patch deleted file mode 100644 index 585f1fc5..00000000 --- a/nix/pkgs/displayselect/remove-setbg.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/.local/bin/displayselect b/.local/bin/displayselect -index 51dd468..f69f154 100755 ---- a/.local/bin/displayselect -+++ b/.local/bin/displayselect -@@ -57,7 +57,6 @@ onescreen() { # If only one output available or chosen. - } - - postrun() { # Stuff to run to clean up. -- setbg # Fix background if screen size/arangement has changed. - { killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen - } - From 14517eb72d1c79cf94dd38ba0d4e8c8f79042d2b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 23:05:33 +0000 Subject: [PATCH 1477/2258] Remove duplicate displayselect script --- bin/displayselect | 85 ------------------------------- nix/modules/nixos/desktop/dwm.nix | 2 +- 2 files changed, 1 insertion(+), 86 deletions(-) delete mode 100755 bin/displayselect diff --git a/bin/displayselect b/bin/displayselect deleted file mode 100755 index a4ebb202..00000000 --- a/bin/displayselect +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh - -# A UI for detecting and selecting all displays. Probes xrandr for connected -# displays and lets user select one to use. User may also select "manual -# selection" which opens arandr. - -twoscreen() { # If multi-monitor is selected and there are two screens. - mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?") - - # Mirror displays using native resolution of external display and a scaled - # version for the internal display - if [ "$mirror" = "yes" ]; then - external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:") - internal=$(echo "$screens" | grep -v "$external") - - res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \ - tail -n 1 | awk '{print $1}') - - res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \ - tail -n 1 | awk '{print $1}') - - res_ext_x=$(echo "$res_external" | sed 's/x.*//') - res_ext_y=$(echo "$res_external" | sed 's/.*x//') - res_int_x=$(echo "$res_internal" | sed 's/x.*//') - res_int_y=$(echo "$res_internal" | sed 's/.*x//') - - scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l) - scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l) - - xrandr --output "$external" --auto --scale 1.0x1.0 \ - --output "$internal" --auto --same-as "$external" \ - --scale "$scale_x"x"$scale_y" - else - - primary=$(echo "$screens" | dmenu -i -p "Select primary display:") - secondary=$(echo "$screens" | grep -v ^"$primary"$) - direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?") - - xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0 - fi -} - -morescreen() { # If multi-monitor is selected and there are more than two screens. - primary=$(echo "$screens" | dmenu -i -p "Select primary display:") - secondary=$(echo "$screens" | grep -v ^"$primary"$ | dmenu -i -p "Select secondary display:") - direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?") - tertiary=$(echo "$screens" | grep -v ^"$primary"$ | grep -v ^"$secondary"$ | dmenu -i -p "Select third display:") - - xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto -} - -multimon() { # Multi-monitor handler. - case "$(echo "$screens" | wc -l)" in - 2) twoscreen ;; - *) morescreen ;; - esac ;} - -onescreen() { # If only one output available or chosen. - xrandr --output "$1" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "\b$1" | awk '{print "--output", $1, "--off"}' | paste -sd ' ' -) -} - -postrun() { # Stuff to run to clean up. - { killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen -} - -# Get all possible displays -allposs=$(xrandr -q | grep "connected") - -# Get all connected screens. -screens=$(echo "$allposs" | awk '/ connected/ {print $1}') - -# If there's only one screen -[ "$(echo "$screens" | wc -l)" -lt 2 ] && - { onescreen "$screens"; postrun; notify-send "Only one screen detected." "Using it in its optimal settings..."; exit ;} - -# Get user choice including multi-monitor and manual selection: -chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") && - -case "$chosen" in - "manual selection") arandr ; exit ;; - "multi-monitor") multimon ;; - *) onescreen "$chosen" ;; -esac - -postrun diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index e8fef612..54fbf486 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -121,7 +121,7 @@ with lib; { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, - { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "/home/opdavies/bin/displayselect", NULL } } }, + { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${getExe pkgs.displayselect}", NULL} } }, { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/bin/mounter", NULL } } }, { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/bin/unmounter", NULL } } }, }; From 9036fc4ba5e7ffc041f6e812eb0b3dcc4efe2c5a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 23:05:33 +0000 Subject: [PATCH 1478/2258] Change scaling logic --- nix/hosts/t490/configuration.nix | 1 - nix/pkgs/displayselect/default.nix | 5 ++++- nix/pkgs/displayselect/scaling.patch | 26 ++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 nix/pkgs/displayselect/scaling.patch diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 30d97293..347ec4f9 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -52,7 +52,6 @@ }; environment.systemPackages = with pkgs; [ - bc # Needed for ./displayselect script. gtypist newsboat pam_gnupg diff --git a/nix/pkgs/displayselect/default.nix b/nix/pkgs/displayselect/default.nix index efc5c8a7..a4992c24 100644 --- a/nix/pkgs/displayselect/default.nix +++ b/nix/pkgs/displayselect/default.nix @@ -15,13 +15,16 @@ stdenv.mkDerivation { buildInputs = [ bash - bc xorg.xrandr ]; + patches = [ ./scaling.patch ]; + installPhase = '' mkdir -p $out/bin cp .local/bin/displayselect $out/bin chmod +x $out/bin/displayselect ''; + + meta.mainProgram = "displayselect"; } diff --git a/nix/pkgs/displayselect/scaling.patch b/nix/pkgs/displayselect/scaling.patch new file mode 100644 index 00000000..914a19a4 --- /dev/null +++ b/nix/pkgs/displayselect/scaling.patch @@ -0,0 +1,26 @@ +diff --git a/.local/bin/displayselect b/.local/bin/displayselect +index 51dd468..c132b7a 100755 +--- a/.local/bin/displayselect ++++ b/.local/bin/displayselect +@@ -15,20 +15,13 @@ twoscreen() { # If multi-monitor is selected and there are two screens. + + res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \ + tail -n 1 | awk '{print $1}') +- res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \ +- tail -n 1 | awk '{print $1}') + + res_ext_x=$(echo "$res_external" | sed 's/x.*//') + res_ext_y=$(echo "$res_external" | sed 's/.*x//') +- res_int_x=$(echo "$res_internal" | sed 's/x.*//') +- res_int_y=$(echo "$res_internal" | sed 's/.*x//') +- +- scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l) +- scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l) + + xrandr --output "$external" --auto --scale 1.0x1.0 \ + --output "$internal" --auto --same-as "$external" \ +- --scale "$scale_x"x"$scale_y" ++ --scale-from "${res_ext_x}x${res_ext_y}" + else + + primary=$(echo "$screens" | dmenu -i -p "Select primary display:") From a9af3cd9e5a0eec7f68c81c6fb050ca60f9b07ec Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 23:05:33 +0000 Subject: [PATCH 1479/2258] Revert "Remove oil.nvim" This reverts commit 30880dd786173ec17ab084366148fba89137e03f. --- nix/modules/home-manager/cli/neovim.nix | 1 + nvim/after/ftplugin/netrw.lua | 5 ----- nvim/plugin/netrw.lua | 5 ++++- nvim/plugin/oil.lua | 16 ++++++++++++++++ 4 files changed, 21 insertions(+), 6 deletions(-) delete mode 100644 nvim/after/ftplugin/netrw.lua create mode 100644 nvim/plugin/oil.lua diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix index 747c14e3..206fcdac 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim.nix @@ -27,6 +27,7 @@ in harpoon2 mini-nvim nvim-web-devicons + oil-nvim phpactor refactoring-nvim standard-vim diff --git a/nvim/after/ftplugin/netrw.lua b/nvim/after/ftplugin/netrw.lua deleted file mode 100644 index 591d53c9..00000000 --- a/nvim/after/ftplugin/netrw.lua +++ /dev/null @@ -1,5 +0,0 @@ -local opt = vim.opt_local - -opt.cursorline = false -opt.number = true -opt.relativenumber = true diff --git a/nvim/plugin/netrw.lua b/nvim/plugin/netrw.lua index ff775278..1feb376d 100644 --- a/nvim/plugin/netrw.lua +++ b/nvim/plugin/netrw.lua @@ -1,3 +1,6 @@ -vim.keymap.set("n", "-", vim.cmd.Ex) +vim.keymap.set("n", "<leader>pv", vim.cmd.Ex) vim.g.netrw_banner = 0 +vim.g.netrw_browse_split = 0 +vim.g.netrw_liststyle = 3 +vim.g.netrw_winsize = 20 diff --git a/nvim/plugin/oil.lua b/nvim/plugin/oil.lua new file mode 100644 index 00000000..5799eb20 --- /dev/null +++ b/nvim/plugin/oil.lua @@ -0,0 +1,16 @@ +require("oil").setup { + columns = { "icon" }, + + keymaps = { + ["<C-h>"] = false, + ["<M-h>"] = "actions.select_split", + }, + + skip_confirm_for_simple_edits = true, + + view_options = { + show_hidden = true, + }, +} + +vim.keymap.set("n", "-", "<Cmd>Oil<cr>", { desc = "Open parent directory" }) From f0cd21c104ccffcca286c2076da9f2c47f550e0e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 17 Mar 2025 23:51:58 +0000 Subject: [PATCH 1480/2258] Fix zsh aliases --- nix/modules/home-manager/cli/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/cli/zsh.nix b/nix/modules/home-manager/cli/zsh.nix index 335f6f5a..8cf21e4a 100644 --- a/nix/modules/home-manager/cli/zsh.nix +++ b/nix/modules/home-manager/cli/zsh.nix @@ -14,7 +14,7 @@ dotDir = "${config.xdg.configHome}/zsh"; - shellAliases = (import ./zsh/aliases.nix); + shellAliases = (import ./zsh/aliases.nix { inherit config; }); localVariables = { ABBR_SET_EXPANSION_CURSOR = 1; From 5de6335137c249fe1265a85b5557e5d02d47e7aa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 01:47:16 +0000 Subject: [PATCH 1481/2258] Remove autorandr --- nix/hosts/t490/configuration.nix | 1 - nix/modules/home-manager/desktop/dwm.nix | 2 - nix/modules/nixos/desktop/autorandr.nix | 81 ------------------------ nix/modules/nixos/desktop/default.nix | 1 - nvim/spell/en.utf-8.add | 1 - 5 files changed, 86 deletions(-) delete mode 100644 nix/modules/nixos/desktop/autorandr.nix diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 347ec4f9..d2d2b0c7 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -16,7 +16,6 @@ ]; nixosModules = { - autorandr.enable = true; dwm.enable = true; gaming.enable = true; redshift.enable = true; diff --git a/nix/modules/home-manager/desktop/dwm.nix b/nix/modules/home-manager/desktop/dwm.nix index 160bbdf7..9092f0fc 100644 --- a/nix/modules/home-manager/desktop/dwm.nix +++ b/nix/modules/home-manager/desktop/dwm.nix @@ -15,8 +15,6 @@ with lib; file.".xinitrc".text = '' systemctl --user import-environment DISPLAY - autorandr --change - copyq & poweralertd -s & diff --git a/nix/modules/nixos/desktop/autorandr.nix b/nix/modules/nixos/desktop/autorandr.nix deleted file mode 100644 index e9d1afb9..00000000 --- a/nix/modules/nixos/desktop/autorandr.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.nixosModules.autorandr.enable = mkEnableOption "Enable autorandr"; - - config = mkIf config.nixosModules.autorandr.enable { - services.autorandr = { - enable = true; - - profiles = - let - hosts = { - lemp11 = { - internal = { - fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; - name = "eDP-1"; - }; - - desktop.name = "HDMI-1"; - }; - - nixedo = { - internal = { - fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084"; - name = "eDP-1"; - }; - - desktop.name = "HDMI-1"; - }; - - t490 = { - internal = { - fingerprint = "00ffffffffffff0030e4fa0500000000001c0104a51f117802aa95955e598e271b5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001ab62c80f4703816403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746412d53504432004d"; - name = "eDP-1"; - }; - - desktop.name = "HDMI-2"; - }; - }; - - host = hosts."${config.networking.hostName}"; - in - { - default = { - fingerprint = { - "${host.internal.name}" = host.internal.fingerprint; - }; - - config = { - "${host.internal.name}" = { - enable = true; - mode = "1920x1080"; - }; - }; - }; - - desktop = { - config = { - "${host.internal.name}".enable = false; - - "${host.desktop.name}" = { - enable = true; - mode = "2560x1440"; - primary = true; - rate = "59.95"; - }; - }; - - fingerprint = { - "${host.internal.name}" = host.internal.fingerprint; - - "${host.desktop.name}" = - "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049"; - }; - }; - }; - }; - }; -} diff --git a/nix/modules/nixos/desktop/default.nix b/nix/modules/nixos/desktop/default.nix index 28f96294..154389c4 100644 --- a/nix/modules/nixos/desktop/default.nix +++ b/nix/modules/nixos/desktop/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./autorandr.nix ./dwm.nix ./peek.nix ./screenkey.nix diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index d950a279..0f7768dd 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -92,7 +92,6 @@ Zettelkasten architected assertContainsOnlyInstancesOf assertSame -autorandr bootcamp contrib devenv From 6c3f8796b4c81ef21cc8e357e79e355831294f8f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 02:45:41 +0000 Subject: [PATCH 1482/2258] Move mbsync configuration to XDG_CONFIG_HOME --- nix/modules/home-manager/cli/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/modules/home-manager/cli/zsh.nix b/nix/modules/home-manager/cli/zsh.nix index 8cf21e4a..fe48e0f4 100644 --- a/nix/modules/home-manager/cli/zsh.nix +++ b/nix/modules/home-manager/cli/zsh.nix @@ -68,6 +68,10 @@ esac } + mbsync() { + ${pkgs.isync}/bin/mbsync --config "${config.xdg.configHome}/isync/mbsyncrc" "''${@}" + } + ttyper() { command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } From d09388feb2b0f1c725f9b2d4e80993f02d636163 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 10:27:47 +0000 Subject: [PATCH 1483/2258] Fix zsh dotdir value --- nix/modules/home-manager/cli/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/cli/zsh.nix b/nix/modules/home-manager/cli/zsh.nix index fe48e0f4..ef317117 100644 --- a/nix/modules/home-manager/cli/zsh.nix +++ b/nix/modules/home-manager/cli/zsh.nix @@ -12,7 +12,7 @@ abbreviations = import ./zsh/abbreviations.nix; }; - dotDir = "${config.xdg.configHome}/zsh"; + dotDir = ".config/zsh"; shellAliases = (import ./zsh/aliases.nix { inherit config; }); From 225bf5139618e291e6a16ba4121328195ef7a841 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 16:21:30 +0000 Subject: [PATCH 1484/2258] Move w3m state directory --- nix/home/opdavies/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index cb6b79cf..a2210018 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -69,6 +69,7 @@ in "./node_modules/.bin" ]; PULUMI_SKIP_UPDATE_CHECK = "true"; + W3M_DIR = "${config.xdg.stateHome}/w3m"; XDG_CONFIG_HOME = "${config.xdg.configHome}"; XDG_DATA_HOME = "${config.xdg.dataHome}"; XDG_DOCUMENTS_DIR = "$HOME/Documents"; From 66c5842b76ec4b956ce02f2a5d9a73263dd3e4ea Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 16:45:07 +0000 Subject: [PATCH 1485/2258] Move npm configuration --- nix/home/opdavies/default.nix | 1 + nix/home/opdavies/modules/node.nix | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 nix/home/opdavies/modules/node.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index a2210018..0be36e2b 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -48,6 +48,7 @@ in imports = [ ../common + ./modules/node.nix shared-config ] ++ pkgs.lib.optionals (!headless) [ diff --git a/nix/home/opdavies/modules/node.nix b/nix/home/opdavies/modules/node.nix new file mode 100644 index 00000000..b0aae355 --- /dev/null +++ b/nix/home/opdavies/modules/node.nix @@ -0,0 +1,17 @@ +{ config, ... }: + +let + inherit (config.xdg) configHome dataHome stateHome; +in +{ + xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' + cache=${configHome}/npm + init-module=${configHome}/npm/config/npm-init.js + logs-dir=${stateHome}/npm/logs + prefix=${dataHome}/npm + ''; + + home.sessionVariables = { + NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; + }; +} From bce72f1e569f00163340ca96d07612923bfb319c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 17:26:15 +0000 Subject: [PATCH 1486/2258] Move .wget-hsts --- nix/home/opdavies/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 0be36e2b..da0a59fb 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -21,6 +21,7 @@ let ]; }; + inherit (config.xdg) cacheHome configHome; inherit (pkgs) lib; shared-config = import "${self}/nix/lib/shared/home-manager.nix" { @@ -71,9 +72,16 @@ in ]; PULUMI_SKIP_UPDATE_CHECK = "true"; W3M_DIR = "${config.xdg.stateHome}/w3m"; + WGETRC = "${configHome}/wgetrc"; XDG_CONFIG_HOME = "${config.xdg.configHome}"; XDG_DATA_HOME = "${config.xdg.dataHome}"; XDG_DOCUMENTS_DIR = "$HOME/Documents"; XDG_REPOS_DIR = "$HOME/Code"; }; + + xdg.configFile = { + "${config.home.sessionVariables.WGETRC}".text = '' + hsts-file = "${cacheHome}/wget-hsts" + ''; + }; } From 809cddb5330a8d6f5e6beee1259da5b7e14819a9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 17:41:38 +0000 Subject: [PATCH 1487/2258] Move undodir directory --- nix/home/opdavies/default.nix | 1 + nvim/lua/opdavies/options.lua | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index da0a59fb..ed478bee 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -77,6 +77,7 @@ in XDG_DATA_HOME = "${config.xdg.dataHome}"; XDG_DOCUMENTS_DIR = "$HOME/Documents"; XDG_REPOS_DIR = "$HOME/Code"; + XDG_STATE_HOME = config.xdg.stateHome; }; xdg.configFile = { diff --git a/nvim/lua/opdavies/options.lua b/nvim/lua/opdavies/options.lua index 3bdd40da..5b94dff2 100644 --- a/nvim/lua/opdavies/options.lua +++ b/nvim/lua/opdavies/options.lua @@ -35,7 +35,7 @@ local settings = { tabstop = 2, termguicolors = true, textwidth = 0, - undodir = os.getenv "HOME" .. "/.vim/undodir", + undodir = os.getenv "XDG_STATE_HOME" .. "/nvim/undodir", undofile = true, updatetime = 1000, wrap = false, From 1899081f06acfbf8b256531ec8cf2a3b860d515f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 17:43:56 +0000 Subject: [PATCH 1488/2258] Refactor XDG session variables --- nix/home/opdavies/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index ed478bee..08881369 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -21,7 +21,13 @@ let ]; }; - inherit (config.xdg) cacheHome configHome; + inherit (config.xdg) + cacheHome + configHome + dataHome + stateHome + ; + inherit (pkgs) lib; shared-config = import "${self}/nix/lib/shared/home-manager.nix" { @@ -63,7 +69,7 @@ in LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; - PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass"; + PASSWORD_STORE_DIR = "${dataHome}/pass"; PATH = lib.concatStringsSep ":" [ "$PATH" "$HOME/go/bin" @@ -71,10 +77,10 @@ in "./node_modules/.bin" ]; PULUMI_SKIP_UPDATE_CHECK = "true"; - W3M_DIR = "${config.xdg.stateHome}/w3m"; + W3M_DIR = "${stateHome}/w3m"; WGETRC = "${configHome}/wgetrc"; - XDG_CONFIG_HOME = "${config.xdg.configHome}"; - XDG_DATA_HOME = "${config.xdg.dataHome}"; + XDG_CONFIG_HOME = configHome; + XDG_DATA_HOME = dataHome; XDG_DOCUMENTS_DIR = "$HOME/Documents"; XDG_REPOS_DIR = "$HOME/Code"; XDG_STATE_HOME = config.xdg.stateHome; From 3bd7f1fffe99a49dec5611e9325036277822bcff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 16:07:04 +0000 Subject: [PATCH 1489/2258] Move .xinitrc --- nix/modules/home-manager/desktop/dwm.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nix/modules/home-manager/desktop/dwm.nix b/nix/modules/home-manager/desktop/dwm.nix index 9092f0fc..a6043c89 100644 --- a/nix/modules/home-manager/desktop/dwm.nix +++ b/nix/modules/home-manager/desktop/dwm.nix @@ -12,7 +12,7 @@ with lib; config = mkIf config.homeManagerModules.dwm.enable { home = { - file.".xinitrc".text = '' + file."${config.home.sessionVariables.XINITRC}".text = '' systemctl --user import-environment DISPLAY copyq & @@ -26,6 +26,10 @@ with lib; exec dwm ''; + sessionVariables = { + XINITRC = "${config.xdg.configHome}/X11/xinitrc"; + }; + packages = with pkgs; [ dunst poweralertd From 53ed6535fa1f0228dbfe12690c677ee43f1852a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 18 Mar 2025 23:42:19 +0000 Subject: [PATCH 1490/2258] Add IMAPFILTER_HOME --- nix/home/opdavies/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 08881369..d64bec4a 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -66,6 +66,7 @@ in home.sessionVariables = { EDITOR = "nvim"; + IMAPFILTER_HOME = "${configHome}/imapfilter"; LANG = "en_GB.UTF-8"; LC_ALL = "en_GB.UTF-8"; LC_CTYPE = "en_GB.UTF-8"; From 59382508d8541c0cb46c5984ff89c98e85f7f6e8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 19 Mar 2025 14:08:04 +0000 Subject: [PATCH 1491/2258] Add ranger --- nix/home/opdavies/default.nix | 2 +- nix/home/opdavies/modules/default.nix | 6 ++++++ nix/home/opdavies/modules/ranger.nix | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 nix/home/opdavies/modules/default.nix create mode 100644 nix/home/opdavies/modules/ranger.nix diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index d64bec4a..537421c6 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -55,8 +55,8 @@ in imports = [ ../common - ./modules/node.nix shared-config + ./modules ] ++ pkgs.lib.optionals (!headless) [ ./desktop diff --git a/nix/home/opdavies/modules/default.nix b/nix/home/opdavies/modules/default.nix new file mode 100644 index 00000000..b248f871 --- /dev/null +++ b/nix/home/opdavies/modules/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./node.nix + ./ranger.nix + ]; +} diff --git a/nix/home/opdavies/modules/ranger.nix b/nix/home/opdavies/modules/ranger.nix new file mode 100644 index 00000000..bf1e5c5c --- /dev/null +++ b/nix/home/opdavies/modules/ranger.nix @@ -0,0 +1,5 @@ +{ + programs.ranger = { + enable = true; + }; +} From 3246a34b8d018e9f6ba33aa6d5ffae2425a5aa6c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 21 Mar 2025 15:01:39 +0000 Subject: [PATCH 1492/2258] Update displayselect --- nix/pkgs/displayselect/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/pkgs/displayselect/default.nix b/nix/pkgs/displayselect/default.nix index a4992c24..fb12b364 100644 --- a/nix/pkgs/displayselect/default.nix +++ b/nix/pkgs/displayselect/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { owner = "lukesmithxyz"; repo = "voidrice"; rev = "master"; - sha256 = "ZoEyircvifmAH7QqDpdDxhaHMdAfWtjZB6JiSvMBRVg="; + sha256 = "u4iy2p9i5ORLHcKmAOHVJNaKfYbt+SYUYKblgsRevN8="; }; buildInputs = [ From c347c217a4c3e840fbae850ccf7cd2137058f660 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 21 Mar 2025 15:01:39 +0000 Subject: [PATCH 1493/2258] Remove espanso --- nix/home/opdavies/hosts/lemp11.nix | 1 - nix/home/opdavies/hosts/t490.nix | 1 - nix/modules/home-manager/desktop/default.nix | 1 - nix/modules/home-manager/desktop/espanso.nix | 24 -------------------- 4 files changed, 27 deletions(-) delete mode 100644 nix/modules/home-manager/desktop/espanso.nix diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index d16492d8..17b636e3 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -5,7 +5,6 @@ copyq.enable = true; direnv.enable = true; discord.enable = true; - espanso.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index e41cb8ba..2447eb4d 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -8,7 +8,6 @@ direnv.enable = true; discord.enable = true; dwm.enable = true; - espanso.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/nix/modules/home-manager/desktop/default.nix b/nix/modules/home-manager/desktop/default.nix index eee83d0b..d5886b94 100644 --- a/nix/modules/home-manager/desktop/default.nix +++ b/nix/modules/home-manager/desktop/default.nix @@ -4,7 +4,6 @@ ./copyq.nix ./discord.nix ./dwm.nix - ./espanso.nix ./flameshot.nix ./gtk.nix ./media diff --git a/nix/modules/home-manager/desktop/espanso.nix b/nix/modules/home-manager/desktop/espanso.nix deleted file mode 100644 index 0ba03f95..00000000 --- a/nix/modules/home-manager/desktop/espanso.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.homeManagerModules.espanso.enable = mkEnableOption "Enable espanso"; - - config = mkIf config.homeManagerModules.espanso.enable { - services.espanso = { - enable = true; - - configs = { - default = { - show_notifications = false; - toggle_key = "LEFT_ALT"; - }; - }; - - matches = { - base = import ./espanso/matches/base.nix { inherit lib; }; - }; - }; - }; -} From 148d6ca78ca0590dbf678b1defc4e0c872b06da2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 21 Mar 2025 15:01:39 +0000 Subject: [PATCH 1494/2258] Add t480 configuration --- flake.nix | 15 ++++ nix/home/opdavies/hosts/t480.nix | 42 +++++++++++ nix/hosts/t480/configuration.nix | 69 +++++++++++++++++++ nix/hosts/t480/hardware-configuration.nix | 53 ++++++++++++++ nix/hosts/t480/hardware.nix | 5 ++ nix/hosts/t480/modules/docker.nix | 3 + nix/hosts/t480/programs.nix | 7 ++ nix/hosts/t480/secrets.nix | 5 ++ nix/hosts/t480/services/cron.nix | 12 ++++ nix/hosts/t480/services/default.nix | 31 +++++++++ .../t480/services/interception-tools.nix | 25 +++++++ nix/hosts/t480/services/redshift.nix | 31 +++++++++ nix/hosts/t480/services/sound.nix | 12 ++++ nix/hosts/t480/services/udev.nix | 9 +++ nix/hosts/t480/services/xserver.nix | 10 +++ nix/hosts/t480/users.nix | 15 ++++ nix/secrets.nix | 2 + 17 files changed, 346 insertions(+) create mode 100644 nix/home/opdavies/hosts/t480.nix create mode 100644 nix/hosts/t480/configuration.nix create mode 100644 nix/hosts/t480/hardware-configuration.nix create mode 100644 nix/hosts/t480/hardware.nix create mode 100644 nix/hosts/t480/modules/docker.nix create mode 100644 nix/hosts/t480/programs.nix create mode 100644 nix/hosts/t480/secrets.nix create mode 100644 nix/hosts/t480/services/cron.nix create mode 100644 nix/hosts/t480/services/default.nix create mode 100644 nix/hosts/t480/services/interception-tools.nix create mode 100644 nix/hosts/t480/services/redshift.nix create mode 100644 nix/hosts/t480/services/sound.nix create mode 100644 nix/hosts/t480/services/udev.nix create mode 100644 nix/hosts/t480/services/xserver.nix create mode 100644 nix/hosts/t480/users.nix diff --git a/flake.nix b/flake.nix index f76a09d2..161c6e01 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,21 @@ ]; }; + t480 = nixpkgs.lib.nixosSystem { + specialArgs = specialArgs // { + hostname = "t480"; + stateVersion = "22.11"; + }; + + modules = [ + agenix.nixosModules.default + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.lenovo-thinkpad-t480 + + ./nix/hosts/t480/configuration.nix + ]; + }; + t490 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { hostname = "t490"; diff --git a/nix/home/opdavies/hosts/t480.nix b/nix/home/opdavies/hosts/t480.nix new file mode 100644 index 00000000..2447eb4d --- /dev/null +++ b/nix/home/opdavies/hosts/t480.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + homeManagerModules = { + bluetuith.enable = true; + brave.enable = true; + copyq.enable = true; + direnv.enable = true; + discord.enable = true; + dwm.enable = true; + flameshot.enable = true; + gimp.enable = true; + gtk.enable = true; + handbrake.enable = true; + kdenlive.enable = true; + mpv.enable = true; + neovim.enable = true; + + notes = { + enable = true; + directory = "$HOME/Documents/wiki/notes"; + }; + + pocket-casts.enable = true; + slack.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; + zoom.enable = true; + }; + + home.packages = with pkgs; [ + displayselect + isync + upload-to-files + ]; + + programs.neomutt = { + enable = true; + + vimKeys = true; + }; +} diff --git a/nix/hosts/t480/configuration.nix b/nix/hosts/t480/configuration.nix new file mode 100644 index 00000000..d2d2b0c7 --- /dev/null +++ b/nix/hosts/t480/configuration.nix @@ -0,0 +1,69 @@ +{ inputs, pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ./hardware.nix + ./programs.nix + ./secrets.nix + ./services + ./users.nix + + ./modules/docker.nix + + ../common + ../../users/opdavies + ]; + + nixosModules = { + dwm.enable = true; + gaming.enable = true; + redshift.enable = true; + st.enable = true; + thunar.enable = true; + peek.enable = true; + }; + + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + + boot = { + loader = { + systemd-boot = { + enable = true; + configurationLimit = 10; + }; + + efi = { + canTouchEfiVariables = true; + }; + }; + }; + + systemd.extraConfig = '' + DefaultTimeoutStopSec=10s + ''; + + networking.networkmanager.enable = true; + + security = { + polkit.enable = true; + rtkit.enable = true; + }; + + environment.systemPackages = with pkgs; [ + gtypist + newsboat + pam_gnupg + rclone + rclone-browser + sxiv + ttyper + yt-dlp + ]; + + zramSwap.enable = true; + + networking.hosts = { + "192.168.1.116" = [ "nixedo" ]; + }; +} diff --git a/nix/hosts/t480/hardware-configuration.nix b/nix/hosts/t480/hardware-configuration.nix new file mode 100644 index 00000000..49b636eb --- /dev/null +++ b/nix/hosts/t480/hardware-configuration.nix @@ -0,0 +1,53 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "usb_storage" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/34bd5f2e-8ccf-4d5f-876c-9d7ea84c44f0"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/B8BC-688D"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nix/hosts/t480/hardware.nix b/nix/hosts/t480/hardware.nix new file mode 100644 index 00000000..3798ca48 --- /dev/null +++ b/nix/hosts/t480/hardware.nix @@ -0,0 +1,5 @@ +{ + hardware = { + bluetooth.enable = true; + }; +} diff --git a/nix/hosts/t480/modules/docker.nix b/nix/hosts/t480/modules/docker.nix new file mode 100644 index 00000000..a8780150 --- /dev/null +++ b/nix/hosts/t480/modules/docker.nix @@ -0,0 +1,3 @@ +{ + virtualisation.docker.enable = true; +} diff --git a/nix/hosts/t480/programs.nix b/nix/hosts/t480/programs.nix new file mode 100644 index 00000000..f3cfe26d --- /dev/null +++ b/nix/hosts/t480/programs.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + programs = { + dconf.enable = true; + }; +} diff --git a/nix/hosts/t480/secrets.nix b/nix/hosts/t480/secrets.nix new file mode 100644 index 00000000..e2032222 --- /dev/null +++ b/nix/hosts/t480/secrets.nix @@ -0,0 +1,5 @@ +{ + age.secrets = { + cloudflare.file = ../../secrets/cloudflare.age; + }; +} diff --git a/nix/hosts/t480/services/cron.nix b/nix/hosts/t480/services/cron.nix new file mode 100644 index 00000000..f9b961c3 --- /dev/null +++ b/nix/hosts/t480/services/cron.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +{ + services.cron = { + enable = true; + + systemCronJobs = [ + "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" + "0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a" + ]; + }; +} diff --git a/nix/hosts/t480/services/default.nix b/nix/hosts/t480/services/default.nix new file mode 100644 index 00000000..ef7c3c7b --- /dev/null +++ b/nix/hosts/t480/services/default.nix @@ -0,0 +1,31 @@ +{ + imports = [ + ./cron.nix + ./interception-tools.nix + ./redshift.nix + ./sound.nix + ./udev.nix + ./xserver.nix + ]; + + services = { + auto-cpufreq.enable = true; + + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + blueman.enable = true; + + gvfs.enable = true; + openssh.enable = true; + power-profiles-daemon.enable = false; + printing.enable = true; + pulseaudio.enable = false; + throttled.enable = true; + thermald.enable = true; + upower.enable = true; + }; +} diff --git a/nix/hosts/t480/services/interception-tools.nix b/nix/hosts/t480/services/interception-tools.nix new file mode 100644 index 00000000..96e43b85 --- /dev/null +++ b/nix/hosts/t480/services/interception-tools.nix @@ -0,0 +1,25 @@ +{ pkgs, ... }: + +{ + # Make Caps lock work as an Escape key on press and Ctrl on hold. + services.interception-tools = + let + dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' + MAPPINGS: + - KEY: KEY_CAPSLOCK + TAP: KEY_ESC + HOLD: KEY_LEFTCTRL + ''; + in + { + enable = true; + plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + NAME: "AT Translated Set 2 keyboard" + EVENTS: + EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] + ''; + }; +} diff --git a/nix/hosts/t480/services/redshift.nix b/nix/hosts/t480/services/redshift.nix new file mode 100644 index 00000000..3fcfdf4f --- /dev/null +++ b/nix/hosts/t480/services/redshift.nix @@ -0,0 +1,31 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.redshift; +in +{ + options.nixosModules.redshift.enable = mkEnableOption "Enable redshift"; + + config = mkIf cfg.enable { + location = { + latitude = 51.48; + longitude = -3.17; + }; + + services.redshift = { + enable = true; + + brightness = { + day = "1"; + night = "1"; + }; + + temperature = { + day = 5500; + night = 3700; + }; + }; + }; +} diff --git a/nix/hosts/t480/services/sound.nix b/nix/hosts/t480/services/sound.nix new file mode 100644 index 00000000..03ff2376 --- /dev/null +++ b/nix/hosts/t480/services/sound.nix @@ -0,0 +1,12 @@ +{ + services.pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; +} diff --git a/nix/hosts/t480/services/udev.nix b/nix/hosts/t480/services/udev.nix new file mode 100644 index 00000000..732ca1d6 --- /dev/null +++ b/nix/hosts/t480/services/udev.nix @@ -0,0 +1,9 @@ +{ + services.udev = { + enable = true; + + extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; + }; +} diff --git a/nix/hosts/t480/services/xserver.nix b/nix/hosts/t480/services/xserver.nix new file mode 100644 index 00000000..4120a2cf --- /dev/null +++ b/nix/hosts/t480/services/xserver.nix @@ -0,0 +1,10 @@ +{ + services.xserver = { + enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + }; +} diff --git a/nix/hosts/t480/users.nix b/nix/hosts/t480/users.nix new file mode 100644 index 00000000..f663ad5c --- /dev/null +++ b/nix/hosts/t480/users.nix @@ -0,0 +1,15 @@ +{ pkgs, username, ... }: + +{ + users.users.${username} = { + extraGroups = [ "media" ]; + + packages = with pkgs; [ + abook + android-tools + via + ]; + }; + + users.groups.media = { }; +} diff --git a/nix/secrets.nix b/nix/secrets.nix index 63c35bf3..95ab9a04 100644 --- a/nix/secrets.nix +++ b/nix/secrets.nix @@ -4,6 +4,7 @@ let lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; mail = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDop//jfN3Hj5yRQLzPwy/A1StdJ2krxIbI8LUWPX7ht"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; + t480 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; @@ -16,6 +17,7 @@ in hosts.hetznix hosts.mail hosts.nixedo + hosts.t480 hosts.t490 ] ++ users; From 65293db412e1e57cc3b482f8846d2a114b2478b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 21 Mar 2025 21:36:48 +0000 Subject: [PATCH 1495/2258] Re-add librewolf --- nix/home/opdavies/desktop/default.nix | 1 + nix/home/opdavies/desktop/firefox.nix | 110 ++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 nix/home/opdavies/desktop/firefox.nix diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix index 31c78aba..66f32ba3 100644 --- a/nix/home/opdavies/desktop/default.nix +++ b/nix/home/opdavies/desktop/default.nix @@ -2,6 +2,7 @@ { imports = [ + ./firefox.nix ./qutebrowser.nix ]; diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix new file mode 100644 index 00000000..c79d8286 --- /dev/null +++ b/nix/home/opdavies/desktop/firefox.nix @@ -0,0 +1,110 @@ +{ pkgs, ... }: + +{ + programs.firefox.enable = false; + + programs.librewolf = { + enable = true; + + languagePacks = [ "en-GB" ]; + + policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; + + profiles = { + default = { + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ + awesome-rss + bitwarden + darkreader + onetab + tree-style-tab + ublock-origin + videospeed + vimium + web-developer + ]; + + search = { + default = "DuckDuckGo"; + force = true; + privateDefault = "DuckDuckGo"; + }; + + settings = { + "browser.search.isUS" = false; + "browser.search.region" = "GB"; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; + }; +} From 079ca6e968ae654ab195ea0516d1d1d0b2e1e5dd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 21 Mar 2025 22:45:18 +0000 Subject: [PATCH 1496/2258] nix flake update --- flake.lock | 48 +++++++++++++-------------- nix/home/opdavies/desktop/firefox.nix | 4 +-- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index cd1ddd45..446a55b3 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1741955947, - "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", + "lastModified": 1742588233, + "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", "owner": "nix-community", "repo": "home-manager", - "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", + "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1741792691, - "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", + "lastModified": 1742376361, + "narHash": "sha256-VFMgJkp/COvkt5dnkZB4D2szVdmF6DGm5ZdVvTUy61c=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e1f12151258b12c567f456d8248e4694e9390613", + "rev": "daaae13dff0ecc692509a1332ff9003d9952d7a9", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1741870048, - "narHash": "sha256-odXRdNZGdXg1LmwlAeWL85kgy/FVHsgKlDwrvbR2BsU=", + "lastModified": 1742481215, + "narHash": "sha256-m7I/2UaGEFOI+Cy0RoADBi10NZt1WD5N3q2jUwPprE4=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "5d76001e33ee19644a598ad80e7318ab0957b122", + "rev": "96d7df91cce0d7cd30d1958fe1aefcb5f9bfced7", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1741862977, - "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=", + "lastModified": 1742512142, + "narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0", + "rev": "7105ae3957700a9646cc4b766f5815b23ed0c682", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1742035954, - "narHash": "sha256-YQWICU680BrLEZdCKhI1479+4UwBSY8c/iv8IyHiAF0=", + "lastModified": 1742595906, + "narHash": "sha256-8WmWmyXI9JmZaLTJjOItU4tEH5IARLP3H0gzfA4aD/g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fb9687150778598f69c31f36e01a6172592418ab", + "rev": "e74ac85c8c4d5942fe685907c4e3727634d55ece", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1741851582, - "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1741851582, - "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1742034367, - "narHash": "sha256-3ublKxuh1VfTKtQZm3sEoHIQDfPkN7940vSjmGlauWA=", + "lastModified": 1742595458, + "narHash": "sha256-Bi6auVs9tRGK3just0AG6fKvuPTaBmhxWkt2SPoAi0g=", "owner": "nix-community", "repo": "NUR", - "rev": "754da210f1b82105543e814576e8a0763d253e36", + "rev": "633813462cbe6f87444feb188514033c4b35c3fc", "type": "github" }, "original": { diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix index c79d8286..04662ee7 100644 --- a/nix/home/opdavies/desktop/firefox.nix +++ b/nix/home/opdavies/desktop/firefox.nix @@ -91,9 +91,9 @@ ]; search = { - default = "DuckDuckGo"; + default = "ddg"; force = true; - privateDefault = "DuckDuckGo"; + privateDefault = "ddg"; }; settings = { From c3e240d2e3ad7c7877f95919a59f333bf96f6ba0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Mar 2025 13:30:29 +0000 Subject: [PATCH 1497/2258] Manage newsboat with Home Manager --- nix/home/opdavies/hosts/t480.nix | 1 + nix/hosts/t480/configuration.nix | 1 - nix/hosts/t490/configuration.nix | 1 - nix/modules/home-manager/cli/default.nix | 1 + nix/modules/home-manager/cli/newsboat.nix | 335 ++++++++++++++++++++++ 5 files changed, 337 insertions(+), 2 deletions(-) create mode 100644 nix/modules/home-manager/cli/newsboat.nix diff --git a/nix/home/opdavies/hosts/t480.nix b/nix/home/opdavies/hosts/t480.nix index 2447eb4d..d138be73 100644 --- a/nix/home/opdavies/hosts/t480.nix +++ b/nix/home/opdavies/hosts/t480.nix @@ -15,6 +15,7 @@ kdenlive.enable = true; mpv.enable = true; neovim.enable = true; + newsboat.enable = true; notes = { enable = true; diff --git a/nix/hosts/t480/configuration.nix b/nix/hosts/t480/configuration.nix index d2d2b0c7..be333157 100644 --- a/nix/hosts/t480/configuration.nix +++ b/nix/hosts/t480/configuration.nix @@ -52,7 +52,6 @@ environment.systemPackages = with pkgs; [ gtypist - newsboat pam_gnupg rclone rclone-browser diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index d2d2b0c7..be333157 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -52,7 +52,6 @@ environment.systemPackages = with pkgs; [ gtypist - newsboat pam_gnupg rclone rclone-browser diff --git a/nix/modules/home-manager/cli/default.nix b/nix/modules/home-manager/cli/default.nix index badabd99..2becbafc 100644 --- a/nix/modules/home-manager/cli/default.nix +++ b/nix/modules/home-manager/cli/default.nix @@ -8,6 +8,7 @@ ./fzf.nix ./git.nix ./neovim.nix + ./newsboat.nix ./notes.nix ./phpactor.nix ./starship.nix diff --git a/nix/modules/home-manager/cli/newsboat.nix b/nix/modules/home-manager/cli/newsboat.nix new file mode 100644 index 00000000..bbbd1e33 --- /dev/null +++ b/nix/modules/home-manager/cli/newsboat.nix @@ -0,0 +1,335 @@ +{ + config, + lib, + ... +}: + +with lib; + +{ + options.homeManagerModules.newsboat.enable = mkEnableOption "Enable newsboat"; + + config = mkIf config.homeManagerModules.newsboat.enable { + programs.newsboat = { + enable = true; + + extraConfig = '' + bind-key j down + bind-key k up + + bind-key j next articlelist + bind-key k prev articlelist + bind-key J next-feed articlelist + bind-key K prev-feed articlelist + + bind-key g home + bind-key G end + + bind-key d pagedown + bind-key u pageup + + bind-key a toggle-article-read + bind-key n next-unread + bind-key N prev-unread + bind-key x pb-delete + + color info white black bold + ''; + + urls = [ + { url = "https://www.reddit.com/r/nginx/new/.rss"; } + { url = "https://www.reddit.com/r/devops/.rss"; } + { url = "https://medium.com/feed/@bdfinst"; } + { url = "https://blog.system76.com/rss"; } + { url = "https://medium.com/feed/@codemonkeymike"; } + { url = "https://www.reddit.com/r/devops/new/.rss"; } + { url = "https://www.reddit.com/r/sysadmin/.rss"; } + { + url = "https://www.carlpullein.com/blog?format=RSS"; + title = "Carl Pullein"; + tags = [ "Productivity" ]; + } + { url = "https://feeds.feedburner.com/Faildesk"; } + { url = "https://syndication.thedailywtf.com/TheDailyWtf"; } + { url = "https://www.sherdog.com/rss/videos2.xml"; } + { + url = "https://www.reddit.com/r/MMA/.rss"; + tags = [ "MMA" ]; + } + { + url = "https://mmaweekly.com/feed/rss"; + tags = [ "MMA" ]; + } + { + url = "https://www.sherdog.com/rss/news2.xml"; + tags = [ "MMA" ]; + } + { + url = "https://www.sherdog.com/rss/articles2.xml"; + tags = [ "MMA" ]; + } + { + url = "https://www.ufc.com/rss/news"; + tags = [ "MMA" ]; + } + { url = "https://www.theregister.co.uk/headlines.atom"; } + { + url = "https://www.rbs6nations.com/en/RssLatestNews.xml"; + tags = [ "Rugby" ]; + } + { + url = "https://feeds.feedburner.com/rugbydump"; + tags = [ "Rugby" ]; + } + { + url = "https://www.telegraph.co.uk/sport/rugbyunion/rss"; + tags = [ "Rugby" ]; + } + { url = "https://code.facebook.com/posts/rss"; } + { url = "https://nginx.com/feed/rss"; } + { + url = "https://www.lornajane.net/feed"; + tags = [ "Software" ]; + } + { + url = "https://nginx.org/index.rss"; + tags = [ "Software" ]; + } + { url = "https://www.engadget.com/rss.xml"; } + { url = "https://rss.slashdot.org/Slashdot/slashdotIt"; } + { url = "https://lwn.net/headlines/newrss"; } + { url = "https://rss.slashdot.org/Slashdot/slashdotLinux"; } + { + url = "https://blog.sebastian-daschner.com/feeds/rss"; + title = "Sebastian Daschner"; + } + { url = "https://www.reddit.com/r/linux/.rss"; } + { url = "https://githubengineering.com/atom.xml"; } + { url = "https://rss.slashdot.org/Slashdot/slashdotDevelopers"; } + { url = "https://www.alistapart.com/rss.xml"; } + { url = "https://www.christitus.com/index.xml"; } + { url = "https://www.freeagentcentral.com/feed.rss"; } + { url = "https://akrabat.com/feed Software"; } + { url = "https://jasonmccreary.me/feed.atom"; } + { url = "https://martinfowler.com/bliki/bliki.atom"; } + { url = "https://lornajane.net/feed"; } + { url = "https://christoph-rumpel.com/feed.xml"; } + { url = "https://gdstechnology.blog.gov.uk/feed/atom"; } + { url = "https://weierophinney.net/matthew/feeds/index.rss2"; } + { url = "https://stitcher.io/rss"; } + { url = "https://www.reddit.com/r/css.rss"; } + { url = "https://www.reddit.com/r/PHP/.rss"; } + { url = "https://whateverthing.com/atom.xml"; } + { url = "https://mnapoli.fr/atom.xml"; } + { url = "https://www.epicweb.dev/rss.xml?ck_subscriber_id=2498091571"; } + { url = "https://dev.to/feed"; } + { url = "https://localheinz.com/feed.xml"; } + { url = "https://www.ben-morris.com/feed"; } + { url = "https://www.jbrains.ca/rss"; } + { url = "https://blog.thecodewhisperer.com/rss"; } + { url = "https://odan.github.io/feed.xml"; } + { url = "https://feeds.feedburner.com/symfony/blog"; } + { url = "https://www.alwaysagileconsulting.com/feed"; } + { url = "https://blog.sensiolabs.com/feed"; } + { url = "https://pascalbaljetmedia.com/rss"; } + { url = "https://tighten.co/blog/feed.atom"; } + { url = "https://ryangjchandler.co.uk/feed"; } + { url = "https://jnsgr.uk/posts/index.xml"; } + { url = "https://timacdonald.me/feed.xml"; } + { url = "https://phppot.com/feed"; } + { url = "https://howtocodewell.libsyn.com/rss"; } + { url = "https://ctankersley.com/atom.xml"; } + { url = "https://blog.wyrihaximus.net/atom.xml"; } + { url = "https://dotfyle.com/this-week-in-neovim/rss.xml"; } + { url = "https://paul-m-jones.com/feed"; } + { url = "https://www.tomasvotruba.cz/rss.xml"; } + { url = "https://www.reddit.com/r/git/.rss"; } + { url = "https://www.daveismyname.com/feed"; } + { + url = "https://murze.be/feed/php"; + title = "freek.dev"; + tags = [ + "PHP" + "Laravel" + "Software" + ]; + } + { url = "https://nikic.github.io/rss.xml"; } + { + url = "https://drupal.org/planet/rss.xml"; + tags = [ "Drupal" ]; + } + { url = "https://www.bram.us/feed"; } + { url = "https://feeds.feedburner.com/GiantRobotsSmashingIntoOtherGiantRobots"; } + { url = "https://murze.be/feed/originals"; } + { url = "https://www.patkua.com/feed"; } + { url = "https://www.benjystanton.co.uk/feed.xml"; } + { + url = "https://drupal.org/security/rss.xml"; + tags = [ "Drupal" ]; + } + { + url = "https://uk.indeed.com/rss?q=symfony&l=np18"; + tags = [ "Jobs" ]; + } + { + url = "https://uk.indeed.com/rss?q=php&l=np18"; + tags = [ "Jobs" ]; + } + { + url = "https://jobs.drupal.org/all-jobs/feed"; + tags = [ "Jobs" ]; + } + { + url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=drupal&salaryfrom=50000&sortby=DisplayDate"; + tags = [ "Jobs" ]; + } + { + url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=php&salaryfrom=50000&sortby=DisplayDate"; + tags = [ "Jobs" ]; + } + { + url = "https://uk.indeed.com/rss?q=drupal&l=np18"; + tags = [ "Jobs" ]; + } + { + url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=symfony&salaryfrom=50000&sortby=DisplayDate"; + tags = [ "Jobs" ]; + } + { url = "https://emilywebber.co.uk/feed"; } + { url = "https://introvertdear.com/feed"; } + { url = "https://designli.co/blog/feed"; } + { url = "https://www.oliverdavies.uk/rss/daily.xml"; } + { + url = "https://www.drupal.org/project/issues/rss/override_node_options"; + tags = [ "Drupal" ]; + } + { + url = "https://www.drupal.org/project/issues/rss/tailwindcss"; + tags = [ "Drupal" ]; + } + { + url = "https://nixos.org/blog/announcements-rss.xml"; + tags = [ "Linux" ]; + } + { + url = "https://laracasts.com/feed"; + tags = [ + "PHP" + "Laravel" + ]; + } + { + url = "https://feeds.feedburner.com/knpuniversity"; + title = "SymfonyCasts"; + tags = [ + "PHP" + "Symfony" + ]; + } + { + url = "https://nickjanetakis.com/atom.xml"; + title = "Nick Janetakis"; + } + { + url = "https://www.learnlinux.tv/feed"; + tags = [ "Linux" ]; + } + { + url = "https://tailwindcss.com/feeds/feed.xml"; + tags = [ + "Software" + "CSS" + ]; + } + { + url = "https://monospacementor.com/feed"; + tags = [ + "Linux" + "Software" + ]; + } + { + url = "https://frontendmasters.com/blog/feed"; + tags = [ "Software" ]; + title = "Frontend Masters Boost"; + } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC2aHRY064THg_t7JZoGSYGg"; + title = "YouTube - elysse"; + tags = [ + "Software" + "YouTube" + ]; + } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCSUA5RARrNt4-Ik3qtbETLQ"; + title = "YouTube - Jason Swett"; + tags = [ + "Software" + "YouTube" + ]; + } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCorzANoC3fX9VVefJHM5wtA"; + title = "~YouTube - Nick Janetakis"; + tags = [ + "Software" + "YouTube" + ]; + } + { url = "https://devenv.sh/feed_rss_created.xml"; } + { url = "https://sive.rs/en.atom"; } + { url = "https://kressle.in/feed.xml"; } + { + url = "https://github.com/sculpin/sculpin/releases.atom"; + tags = [ + "PHP" + "Sculpin" + "Open Source" + ]; + } + { url = "https://www.theminimalists.com/feed"; } + { url = "https://opensourcepledge.com/rss.xml"; } + { + url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; + tags = [ "Rugby" ]; + } + { + url = "https://openrss.org/www.twitch.tv/thealtf4stream/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { + url = "https://openrss.org/www.twitch.tv/theprimeagen/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { + url = "https://openrss.org/www.twitch.tv/teej_dv/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { + url = "https://openrss.org/www.twitch.tv/monospacementor/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { url = "https://www.reddit.com/r/librewolf/new/.rss"; } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCSJKQnpmPcdkysduL0mNktg"; + title = "YouTube - teej_daily"; + tags = [ + "Software" + "YouTube" + ]; + } + { + url = "https://feeds.bbci.co.uk/sport/rugby-union/rss.xml"; + tags = [ "Rugby" ]; + } + { + url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; + tags = [ "Rugby" ]; + } + ]; + }; + }; + +} From 7affff28a3e001479e647c8cee46fb1ce8de94aa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Mar 2025 21:03:39 +0000 Subject: [PATCH 1498/2258] Remove copyq --- nix/home/opdavies/hosts/lemp11.nix | 1 - nix/home/opdavies/hosts/t480.nix | 1 - nix/home/opdavies/hosts/t490.nix | 1 - nix/modules/home-manager/desktop/copyq.nix | 11 ----------- nix/modules/home-manager/desktop/default.nix | 1 - nix/modules/home-manager/desktop/dwm.nix | 2 -- nix/modules/nixos/desktop/dwm.nix | 1 - 7 files changed, 18 deletions(-) delete mode 100644 nix/modules/home-manager/desktop/copyq.nix diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index 17b636e3..2d7d85fe 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - copyq.enable = true; direnv.enable = true; discord.enable = true; flameshot.enable = true; diff --git a/nix/home/opdavies/hosts/t480.nix b/nix/home/opdavies/hosts/t480.nix index d138be73..6ef63684 100644 --- a/nix/home/opdavies/hosts/t480.nix +++ b/nix/home/opdavies/hosts/t480.nix @@ -4,7 +4,6 @@ homeManagerModules = { bluetuith.enable = true; brave.enable = true; - copyq.enable = true; direnv.enable = true; discord.enable = true; dwm.enable = true; diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 2447eb4d..7cea500f 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -4,7 +4,6 @@ homeManagerModules = { bluetuith.enable = true; brave.enable = true; - copyq.enable = true; direnv.enable = true; discord.enable = true; dwm.enable = true; diff --git a/nix/modules/home-manager/desktop/copyq.nix b/nix/modules/home-manager/desktop/copyq.nix deleted file mode 100644 index a173cd8b..00000000 --- a/nix/modules/home-manager/desktop/copyq.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.homeManagerModules.copyq.enable = mkEnableOption "Enable copyq"; - - config = mkIf config.homeManagerModules.copyq.enable { - services.copyq.enable = true; - }; -} diff --git a/nix/modules/home-manager/desktop/default.nix b/nix/modules/home-manager/desktop/default.nix index d5886b94..cd90667e 100644 --- a/nix/modules/home-manager/desktop/default.nix +++ b/nix/modules/home-manager/desktop/default.nix @@ -1,7 +1,6 @@ { imports = [ ./brave.nix - ./copyq.nix ./discord.nix ./dwm.nix ./flameshot.nix diff --git a/nix/modules/home-manager/desktop/dwm.nix b/nix/modules/home-manager/desktop/dwm.nix index a6043c89..c6f5f44f 100644 --- a/nix/modules/home-manager/desktop/dwm.nix +++ b/nix/modules/home-manager/desktop/dwm.nix @@ -15,8 +15,6 @@ with lib; file."${config.home.sessionVariables.XINITRC}".text = '' systemctl --user import-environment DISPLAY - copyq & - poweralertd -s & setbg & diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index 54fbf486..cd09f6be 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -120,7 +120,6 @@ with lib; { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, - { MODKEY|ShiftMask, XK_y, spawn, SHCMD("${pkgs.copyq}/bin/copyq toggle") }, { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${getExe pkgs.displayselect}", NULL} } }, { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/bin/mounter", NULL } } }, { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/bin/unmounter", NULL } } }, From 6f2c2ad092039beabb5e8e9b598d2a637d50c245 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Mar 2025 22:57:59 +0000 Subject: [PATCH 1499/2258] Update Harpoon configuration --- nvim/plugin/harpoon.lua | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/nvim/plugin/harpoon.lua b/nvim/plugin/harpoon.lua index cfc88af9..738ca9cc 100644 --- a/nvim/plugin/harpoon.lua +++ b/nvim/plugin/harpoon.lua @@ -2,14 +2,30 @@ local harpoon = require "harpoon" harpoon:setup() -vim.keymap.set("n", "<leader>hm", function() +vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end) -vim.keymap.set("n", "<leader>hl", function() +vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) +vim.keymap.set("n", "<C-h>", function() + harpoon:list():select(1) +end) + +vim.keymap.set("n", "<C-j>", function() + harpoon:list():select(2) +end) + +vim.keymap.set("n", "<C-k>", function() + harpoon:list():select(3) +end) + +vim.keymap.set("n", "<C-l>", function() + harpoon:list():select(4) +end) + -- Set <space>1..<space>5 be my shortcuts to moving to the files for _, idx in ipairs { 1, 2, 3, 4, 5 } do vim.keymap.set("n", string.format("<space>%d", idx), function() From c8fe513a46db3b16a051b78721ac82f53320cd87 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Mar 2025 23:04:51 +0000 Subject: [PATCH 1500/2258] Reapply "Remove oil.nvim" This reverts commit a9af3cd9e5a0eec7f68c81c6fb050ca60f9b07ec. --- nix/modules/home-manager/cli/neovim.nix | 1 - nvim/after/ftplugin/netrw.lua | 5 +++++ nvim/plugin/netrw.lua | 5 +---- nvim/plugin/oil.lua | 16 ---------------- 4 files changed, 6 insertions(+), 21 deletions(-) create mode 100644 nvim/after/ftplugin/netrw.lua delete mode 100644 nvim/plugin/oil.lua diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix index 206fcdac..747c14e3 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim.nix @@ -27,7 +27,6 @@ in harpoon2 mini-nvim nvim-web-devicons - oil-nvim phpactor refactoring-nvim standard-vim diff --git a/nvim/after/ftplugin/netrw.lua b/nvim/after/ftplugin/netrw.lua new file mode 100644 index 00000000..591d53c9 --- /dev/null +++ b/nvim/after/ftplugin/netrw.lua @@ -0,0 +1,5 @@ +local opt = vim.opt_local + +opt.cursorline = false +opt.number = true +opt.relativenumber = true diff --git a/nvim/plugin/netrw.lua b/nvim/plugin/netrw.lua index 1feb376d..ff775278 100644 --- a/nvim/plugin/netrw.lua +++ b/nvim/plugin/netrw.lua @@ -1,6 +1,3 @@ -vim.keymap.set("n", "<leader>pv", vim.cmd.Ex) +vim.keymap.set("n", "-", vim.cmd.Ex) vim.g.netrw_banner = 0 -vim.g.netrw_browse_split = 0 -vim.g.netrw_liststyle = 3 -vim.g.netrw_winsize = 20 diff --git a/nvim/plugin/oil.lua b/nvim/plugin/oil.lua deleted file mode 100644 index 5799eb20..00000000 --- a/nvim/plugin/oil.lua +++ /dev/null @@ -1,16 +0,0 @@ -require("oil").setup { - columns = { "icon" }, - - keymaps = { - ["<C-h>"] = false, - ["<M-h>"] = "actions.select_split", - }, - - skip_confirm_for_simple_edits = true, - - view_options = { - show_hidden = true, - }, -} - -vim.keymap.set("n", "-", "<Cmd>Oil<cr>", { desc = "Open parent directory" }) From bbb59134634da61d78a46632725561001fb66ad2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 22 Mar 2025 23:25:36 +0000 Subject: [PATCH 1501/2258] Enable exrc This allows for automatically loading an `.nvim.lua` file when starting Neovim that contains project-specific configuration. --- nvim/lua/opdavies/options.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/lua/opdavies/options.lua b/nvim/lua/opdavies/options.lua index 5b94dff2..81910593 100644 --- a/nvim/lua/opdavies/options.lua +++ b/nvim/lua/opdavies/options.lua @@ -6,6 +6,7 @@ local settings = { backup = false, breakindent = true, expandtab = true, + exrc = true, foldlevel = 1, foldlevelstart = 99, foldmethod = "indent", From 4cac07d2db3de7f5c4adbfc9fe80752d0ec93417 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 25 Mar 2025 00:36:27 +0000 Subject: [PATCH 1502/2258] Rename shell to scratch --- nix/modules/home-manager/cli/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/cli/tmux-sessionizer.nix b/nix/modules/home-manager/cli/tmux-sessionizer.nix index e8005681..1e2fbe36 100644 --- a/nix/modules/home-manager/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/cli/tmux-sessionizer.nix @@ -31,7 +31,7 @@ with lib; return fi - tmux new-window -d -n shell + tmux new-window -d -n scratch nvim clear ''; From 4ae602d0faffb1d2006546d374c58b4eb7078df8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 25 Mar 2025 21:25:08 +0000 Subject: [PATCH 1503/2258] Remove Brave --- nix/home/opdavies/hosts/t480.nix | 1 - nix/home/opdavies/hosts/t490.nix | 1 - nix/modules/home-manager/desktop/brave.nix | 32 -------------------- nix/modules/home-manager/desktop/default.nix | 1 - nix/modules/nixos/desktop/dwm.nix | 2 +- 5 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 nix/modules/home-manager/desktop/brave.nix diff --git a/nix/home/opdavies/hosts/t480.nix b/nix/home/opdavies/hosts/t480.nix index 6ef63684..61a19f9c 100644 --- a/nix/home/opdavies/hosts/t480.nix +++ b/nix/home/opdavies/hosts/t480.nix @@ -3,7 +3,6 @@ { homeManagerModules = { bluetuith.enable = true; - brave.enable = true; direnv.enable = true; discord.enable = true; dwm.enable = true; diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index 7cea500f..d89c7027 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -3,7 +3,6 @@ { homeManagerModules = { bluetuith.enable = true; - brave.enable = true; direnv.enable = true; discord.enable = true; dwm.enable = true; diff --git a/nix/modules/home-manager/desktop/brave.nix b/nix/modules/home-manager/desktop/brave.nix deleted file mode 100644 index 7925cd87..00000000 --- a/nix/modules/home-manager/desktop/brave.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.brave.enable = mkEnableOption "Enable brave"; - - config = mkIf config.homeManagerModules.brave.enable { - programs.chromium = { - enable = true; - package = pkgs.brave; - - commandLineArgs = [ - "--password-store=basic" - ]; - - extensions = [ - "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin - "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader - "chphlpgkkbolifaimnlloiipkdnihall" # OneTab - "nffaoalbilbmmfgbnbgppjihopabppdk" # Video Speed Controller - "dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium - "bfbameneiokkgbdmiekhjnmfkcnldhhm" # Web Developer - ]; - }; - }; -} diff --git a/nix/modules/home-manager/desktop/default.nix b/nix/modules/home-manager/desktop/default.nix index cd90667e..ce4a16d9 100644 --- a/nix/modules/home-manager/desktop/default.nix +++ b/nix/modules/home-manager/desktop/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./brave.nix ./discord.nix ./dwm.nix ./flameshot.nix diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index cd09f6be..5cd756ae 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -113,7 +113,7 @@ with lib; TAGKEYS(XK_7, 6) TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.brave}") }, + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.librewolf}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", NULL} } }, From 40c8776e4b832163c853edb8b9adffd2dbad2e60 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 25 Mar 2025 23:36:52 +0000 Subject: [PATCH 1504/2258] Refactor XDG user directories --- nix/home/opdavies/default.nix | 21 +++++++++++--------- nix/modules/home-manager/cli/git.nix | 2 +- nix/modules/home-manager/cli/zsh/aliases.nix | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 537421c6..83613283 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -80,16 +80,19 @@ in PULUMI_SKIP_UPDATE_CHECK = "true"; W3M_DIR = "${stateHome}/w3m"; WGETRC = "${configHome}/wgetrc"; - XDG_CONFIG_HOME = configHome; - XDG_DATA_HOME = dataHome; - XDG_DOCUMENTS_DIR = "$HOME/Documents"; - XDG_REPOS_DIR = "$HOME/Code"; - XDG_STATE_HOME = config.xdg.stateHome; }; - xdg.configFile = { - "${config.home.sessionVariables.WGETRC}".text = '' - hsts-file = "${cacheHome}/wget-hsts" - ''; + xdg = { + configFile = { + "${config.home.sessionVariables.WGETRC}".text = '' + hsts-file = "${cacheHome}/wget-hsts" + ''; + }; + + userDirs = { + extraConfig = { + XDG_REPOS_DIR = "${config.home.homeDirectory}/Code"; + }; + }; }; } diff --git a/nix/modules/home-manager/cli/git.nix b/nix/modules/home-manager/cli/git.nix index 237ed745..d0d64c77 100644 --- a/nix/modules/home-manager/cli/git.nix +++ b/nix/modules/home-manager/cli/git.nix @@ -29,7 +29,7 @@ includes = [ { - condition = "gitdir:${config.home.sessionVariables.XDG_REPOS_DIR}/tfw"; + condition = "gitdir:${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/tfw"; contents.user.email = "oliver.davies@tfw.wales"; } ]; diff --git a/nix/modules/home-manager/cli/zsh/aliases.nix b/nix/modules/home-manager/cli/zsh/aliases.nix index 0b362271..a31448f2 100644 --- a/nix/modules/home-manager/cli/zsh/aliases.nix +++ b/nix/modules/home-manager/cli/zsh/aliases.nix @@ -10,6 +10,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - vss = "LC_ALL=C sort --unique ${config.home.sessionVariables.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add --output ${config.home.sessionVariables.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add"; wt = "git worktree"; } From fbe38676907e76728c5bbbc1bf2e45f736fed22a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 00:00:00 +0000 Subject: [PATCH 1505/2258] Support .tmux files as well as .tmux-sessionizer --- nix/pkgs/tmux-sessionizer/add-tmux-file.patch | 15 +++++++++++++++ nix/pkgs/tmux-sessionizer/default.nix | 1 + 2 files changed, 16 insertions(+) create mode 100644 nix/pkgs/tmux-sessionizer/add-tmux-file.patch diff --git a/nix/pkgs/tmux-sessionizer/add-tmux-file.patch b/nix/pkgs/tmux-sessionizer/add-tmux-file.patch new file mode 100644 index 00000000..f2dd5a2a --- /dev/null +++ b/nix/pkgs/tmux-sessionizer/add-tmux-file.patch @@ -0,0 +1,15 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index fa1bec5..c9094e7 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -12,7 +12,9 @@ has_session() { + } + + hydrate() { +- if [ -f $2/.tmux-sessionizer ]; then ++ if [ -f $2/.tmux ]; then ++ tmux send-keys -t $1 "source $2/.tmux" c-M ++ elif [ -f $2/.tmux-sessionizer ]; then + tmux send-keys -t $1 "source $2/.tmux-sessionizer" c-M + elif [ -f $HOME/.tmux-sessionizer ]; then + tmux send-keys -t $1 "source $HOME/.tmux-sessionizer" c-M diff --git a/nix/pkgs/tmux-sessionizer/default.nix b/nix/pkgs/tmux-sessionizer/default.nix index 05e46589..25ec6fb6 100644 --- a/nix/pkgs/tmux-sessionizer/default.nix +++ b/nix/pkgs/tmux-sessionizer/default.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation { patches = [ ./move-default-script.patch + ./add-tmux-file.patch ./configure-directories.patch ]; From 81be534d4fb21d17966841d8f0c8140b5fa99ff3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 00:00:00 +0000 Subject: [PATCH 1506/2258] Re-add keymap to run tmux-sessionizer in Neovim --- nvim/lua/opdavies/keymaps.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nvim/lua/opdavies/keymaps.lua b/nvim/lua/opdavies/keymaps.lua index 9cc34f93..811b88ac 100644 --- a/nvim/lua/opdavies/keymaps.lua +++ b/nvim/lua/opdavies/keymaps.lua @@ -1,5 +1,7 @@ local set = vim.keymap.set +set("n", "<C-f>", "<cmd>silent !tmux new-window tmux-sessionizer<CR>") + -- Execute Lua in the current file, line or range. set("n", "<leader><leader>x", "<cmd>source %<CR>") set("n", "<leader>x", ":.lua<CR>") From 5e39cccd34385dc4ee19e6a16daeb682d8039e42 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 00:00:00 +0000 Subject: [PATCH 1507/2258] Open TODO.md if it exists in the current directory --- nix/modules/home-manager/cli/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/cli/tmux.nix b/nix/modules/home-manager/cli/tmux.nix index b785d077..3cb8444a 100644 --- a/nix/modules/home-manager/cli/tmux.nix +++ b/nix/modules/home-manager/cli/tmux.nix @@ -82,8 +82,8 @@ in bind-key -r f run-shell "tmux new-window tmux-sessionizer" + bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" bind-key -r N split-window -h "notes" - bind-key -r T split-window -h -c ~/Documents/wiki "nvim todo.txt" bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" ''; From 5820cea8156472525907d7a3ea0f631ce7ba363e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 00:00:00 +0000 Subject: [PATCH 1508/2258] Open current note in a new tmux window --- nix/modules/home-manager/cli/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/cli/tmux.nix b/nix/modules/home-manager/cli/tmux.nix index 3cb8444a..997bdb22 100644 --- a/nix/modules/home-manager/cli/tmux.nix +++ b/nix/modules/home-manager/cli/tmux.nix @@ -83,7 +83,7 @@ in bind-key -r f run-shell "tmux new-window tmux-sessionizer" bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" - bind-key -r N split-window -h "notes" + bind-key -r N new-window "notes" bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" ''; From 679dd702e20c31862e925b2039053b69187f9afb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 08:45:47 +0000 Subject: [PATCH 1509/2258] Enable xdg.userDirs --- nix/home/opdavies/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 83613283..2a54029c 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -90,6 +90,8 @@ in }; userDirs = { + enable = true; + extraConfig = { XDG_REPOS_DIR = "${config.home.homeDirectory}/Code"; }; From 499c2662703684e2c1c90f69e71f06fee879d065 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 08:59:23 +0000 Subject: [PATCH 1510/2258] Re-add missing session variables These were removed in commit 40c8776. --- nix/home/opdavies/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix/home/opdavies/default.nix b/nix/home/opdavies/default.nix index 2a54029c..09b0a959 100644 --- a/nix/home/opdavies/default.nix +++ b/nix/home/opdavies/default.nix @@ -80,6 +80,9 @@ in PULUMI_SKIP_UPDATE_CHECK = "true"; W3M_DIR = "${stateHome}/w3m"; WGETRC = "${configHome}/wgetrc"; + XDG_CONFIG_HOME = config.xdg.configHome; + XDG_DATA_HOME = dataHome; + XDG_STATE_HOME = stateHome; }; xdg = { From 63abcd9962d4680279e444c78aef3d413d06c171 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 07:49:34 +0000 Subject: [PATCH 1511/2258] Add keymaps to edit different files --- nvim/lua/opdavies/keymaps.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nvim/lua/opdavies/keymaps.lua b/nvim/lua/opdavies/keymaps.lua index 811b88ac..88c784d3 100644 --- a/nvim/lua/opdavies/keymaps.lua +++ b/nvim/lua/opdavies/keymaps.lua @@ -71,6 +71,8 @@ set("n", "n", "nzzzv") set("n", "N", "Nzzzv") set("n", "<leader>ec", ":edit composer.json<CR>") +set("n", "<leader>ef", ":edit flake.nix<CR>") +set("n", "<leader>er", ":edit run<CR>") set({ "n", "v" }, "<leader>y", [["+y]]) set("n", "<leader>Y", [["+Y]]) From a5bfa606254b31a1362cf218686a4f17804bcd03 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 11:46:02 +0000 Subject: [PATCH 1512/2258] Add a key binding to switch to the previous window --- nix/modules/home-manager/cli/tmux.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-manager/cli/tmux.nix b/nix/modules/home-manager/cli/tmux.nix index 997bdb22..bdc2ac57 100644 --- a/nix/modules/home-manager/cli/tmux.nix +++ b/nix/modules/home-manager/cli/tmux.nix @@ -75,6 +75,7 @@ in set-option -g pane-border-style "fg=#1f2335" # Vim-like pane navigation. + bind ^ last-window bind h select-pane -L bind j select-pane -D bind k select-pane -U From a8931fc65368b9cc10ec407430dbb3c66c3a5a5b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 26 Mar 2025 14:25:06 +0000 Subject: [PATCH 1513/2258] Fix default script check --- nix/pkgs/tmux-sessionizer/move-default-script.patch | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nix/pkgs/tmux-sessionizer/move-default-script.patch b/nix/pkgs/tmux-sessionizer/move-default-script.patch index ad61c44b..6922915e 100644 --- a/nix/pkgs/tmux-sessionizer/move-default-script.patch +++ b/nix/pkgs/tmux-sessionizer/move-default-script.patch @@ -1,12 +1,14 @@ diff --git a/tmux-sessionizer b/tmux-sessionizer -index fa1bec5..1a5319f 100755 +index fa1bec5..536d4b0 100755 --- a/tmux-sessionizer +++ b/tmux-sessionizer -@@ -15,7 +15,7 @@ hydrate() { +@@ -14,8 +14,8 @@ has_session() { + hydrate() { if [ -f $2/.tmux-sessionizer ]; then tmux send-keys -t $1 "source $2/.tmux-sessionizer" c-M - elif [ -f $HOME/.tmux-sessionizer ]; then +- elif [ -f $HOME/.tmux-sessionizer ]; then - tmux send-keys -t $1 "source $HOME/.tmux-sessionizer" c-M ++ elif [ -f "$XDG_CONFIG_HOME/tmux-sessionizer/default" ]; then + tmux send-keys -t $1 "source $XDG_CONFIG_HOME/tmux-sessionizer/default" c-M fi } From 874ede426ebbf09b7458d1be3632531dd640e48f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Mar 2025 13:09:43 +0000 Subject: [PATCH 1514/2258] Add keymaps for custom PHP macros Wrap the selected text with `var_dump()`, `dump()` or `dd()`. --- nvim/after/ftplugin/php.lua | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 nvim/after/ftplugin/php.lua diff --git a/nvim/after/ftplugin/php.lua b/nvim/after/ftplugin/php.lua new file mode 100644 index 00000000..8d33bf16 --- /dev/null +++ b/nvim/after/ftplugin/php.lua @@ -0,0 +1,3 @@ +vim.keymap.set("v", "<leader>dd", "yodd(['<Esc>pA', <Esc>pA]);<Esc>") +vim.keymap.set("v", "<leader>du", "yodump(['<Esc>pA', <Esc>pA]);<Esc>") +vim.keymap.set("v", "<leader>vd", "yovar_dump(['<Esc>pA', <Esc>pA]);<Esc>") From 522b4362b3a4e0087fc4d01799551bbfa455c865 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Mar 2025 18:49:12 +0000 Subject: [PATCH 1515/2258] Add backup-websites script Add a bash script that downloads and backs up my static websites from my server onto my laptop. --- nix/home/opdavies/hosts/t480.nix | 1 + nix/pkgs/backup-websites.nix | 13 +++++++++++++ nix/pkgs/default.nix | 1 + 3 files changed, 15 insertions(+) create mode 100644 nix/pkgs/backup-websites.nix diff --git a/nix/home/opdavies/hosts/t480.nix b/nix/home/opdavies/hosts/t480.nix index 61a19f9c..8b43909d 100644 --- a/nix/home/opdavies/hosts/t480.nix +++ b/nix/home/opdavies/hosts/t480.nix @@ -28,6 +28,7 @@ }; home.packages = with pkgs; [ + backup-websites displayselect isync upload-to-files diff --git a/nix/pkgs/backup-websites.nix b/nix/pkgs/backup-websites.nix new file mode 100644 index 00000000..5ca8cb7f --- /dev/null +++ b/nix/pkgs/backup-websites.nix @@ -0,0 +1,13 @@ +{ lib, pkgs, ... }: + +pkgs.writeShellApplication { + name = "backup-websites"; + + text = '' + backup_path="''${HOME}/server-backup" + + mkdir -p "''${backup_path}" + + ${lib.getExe pkgs.rsync} -avzP ssh.oliverdavies.uk:/var/www/vhosts/ "''${backup_path}" --delete-after + ''; +} diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 5723b5b1..4c5ab423 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -6,6 +6,7 @@ let vimPlugins = callPackage ./vim-plugins { inherit callPackage; }; in { + backup-websites = callPackage ./backup-websites.nix { }; build-glove80 = callPackage ./build-glove80.nix { }; displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; From 443b40ea59d1b44a62365e8c0cc7489a245f142d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Mar 2025 19:11:00 +0000 Subject: [PATCH 1516/2258] Open the project with netrw by default --- nix/modules/home-manager/cli/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/home-manager/cli/tmux-sessionizer.nix b/nix/modules/home-manager/cli/tmux-sessionizer.nix index 1e2fbe36..72979f41 100644 --- a/nix/modules/home-manager/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/cli/tmux-sessionizer.nix @@ -32,7 +32,7 @@ with lib; fi tmux new-window -d -n scratch - nvim + nvim . clear ''; } From 70b5185faf96551ea483b0530268349547ae2a88 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Mar 2025 20:27:16 +0000 Subject: [PATCH 1517/2258] Update spellfile --- nvim/spell/en.utf-8.add | 1 + 1 file changed, 1 insertion(+) diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index 0f7768dd..6d36619c 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -58,6 +58,7 @@ Nomensa OpenID OpenTofu PDOException +PHPDoc PHPStan PHPUnit Packagist From d9f50762a72cf983fcbe30a9c1f1b82025e27897 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Mar 2025 20:30:53 +0000 Subject: [PATCH 1518/2258] Clean shared Home Manager packages --- nix/lib/shared/home-manager-packages.nix | 28 ----------------- nix/lib/shared/scripts/_timer.nix | 13 -------- nix/lib/shared/scripts/deliver.nix | 25 --------------- nix/lib/shared/scripts/export-video-list.nix | 33 -------------------- nix/lib/shared/scripts/run.nix | 16 ---------- nix/lib/shared/scripts/timer.nix | 20 ------------ 6 files changed, 135 deletions(-) delete mode 100644 nix/lib/shared/scripts/_timer.nix delete mode 100644 nix/lib/shared/scripts/deliver.nix delete mode 100644 nix/lib/shared/scripts/export-video-list.nix delete mode 100644 nix/lib/shared/scripts/run.nix delete mode 100644 nix/lib/shared/scripts/timer.nix diff --git a/nix/lib/shared/home-manager-packages.nix b/nix/lib/shared/home-manager-packages.nix index b4cdd06c..4b22f704 100644 --- a/nix/lib/shared/home-manager-packages.nix +++ b/nix/lib/shared/home-manager-packages.nix @@ -4,39 +4,21 @@ username, ... }: -let - php = pkgs.php82; - phpPackages = pkgs.php82Packages; - inherit (pkgs) writeShellApplication; - - _timer = writeShellApplication (import ./scripts/_timer.nix); - deliver = writeShellApplication (import ./scripts/deliver.nix { inherit pkgs; }); - export-video-list = writeShellApplication ( - import ./scripts/export-video-list.nix { inherit pkgs username; } - ); - run = writeShellApplication (import ./scripts/run.nix { inherit pkgs; }); - timer = writeShellApplication (import ./scripts/timer.nix); -in with pkgs; [ cachix delta - devenv - doppler entr gcc git git-crypt gnupg - go inotify-tools jq killall lua mob - php - phpPackages.composer pv simple-http-server sshs @@ -50,14 +32,4 @@ with pkgs; xclip xdg-utils zbar - - # Scripts. - deliver - run -] -++ pkgs.lib.optionals (!headless) [ - # Scripts. - _timer - export-video-list - timer ] diff --git a/nix/lib/shared/scripts/_timer.nix b/nix/lib/shared/scripts/_timer.nix deleted file mode 100644 index d670e909..00000000 --- a/nix/lib/shared/scripts/_timer.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - name = "_timer"; - - runtimeInputs = [ ]; - - text = '' - mins=$1 - message=''${2:-Time out!} - - sleep -- "$mins" * 60 - notify-send -t 0 "''${message}" "Your timer of $mins min is over" -u normal - ''; -} diff --git a/nix/lib/shared/scripts/deliver.nix b/nix/lib/shared/scripts/deliver.nix deleted file mode 100644 index d24999d1..00000000 --- a/nix/lib/shared/scripts/deliver.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs }: -{ - name = "deliver"; - - runtimeInputs = with pkgs; [ docker ]; - - text = '' - set +o pipefail - - # Based on https://github.com/jessarcher/dotfiles/blob/ef692c35d64db2c13674dfc850a23b6acf9e8f91/scripts/deliver. - - docker_compose_service_name=$(docker compose ps --services 2>/dev/null | grep '^app\|php$' | head -n1) - - if [[ "$docker_compose_service_name" != "" ]]; then - if [ -t 1 ]; then - "${pkgs.docker}/bin/docker" compose exec "$docker_compose_service_name" "$@" - else - # The command is not being run in a TTY - "${pkgs.docker}/bin/docker" compose exec -T "$docker_compose_service_name" "$@" - fi - else - "$@" - fi - ''; -} diff --git a/nix/lib/shared/scripts/export-video-list.nix b/nix/lib/shared/scripts/export-video-list.nix deleted file mode 100644 index 32c286e6..00000000 --- a/nix/lib/shared/scripts/export-video-list.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ pkgs, username, ... }: -{ - name = "export-video-list"; - - runtimeInputs = with pkgs; [ - jq - tree - udisks - ]; - - text = '' - device_name="/dev/sda2" - device_label="UNTITLED" - - source_path="/run/media/${username}/$device_label" - - # If the source path doesn't exist, try mounting the device. - if [[ ! -d "$source_path" ]]; then - ${pkgs.udisks}/bin/udisksctl mount -b "$device_name" - fi - - # Exit early if the source path still doesn't exist. - if [[ ! -d "$source_path" ]]; then - echo "Error: $source_path not found." - exit 1 - fi - - output_file="$XDG_DOCUMENTS_DIR/videos.json" - - ${pkgs.tree}/bin/tree -J "$source_path/Videos" | ${pkgs.jq}/bin/jq . > "$output_file" - ${pkgs.jq}/bin/jq . < "$output_file" - ''; -} diff --git a/nix/lib/shared/scripts/run.nix b/nix/lib/shared/scripts/run.nix deleted file mode 100644 index 8533c4e8..00000000 --- a/nix/lib/shared/scripts/run.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs }: - -{ - name = "run"; - - runtimeInputs = with pkgs; [ bashInteractive ]; - - text = '' - if [[ -e .ignored/run ]]; then - .ignored/run "$@" - exit $? - fi - - ./run "$@" - ''; -} diff --git a/nix/lib/shared/scripts/timer.nix b/nix/lib/shared/scripts/timer.nix deleted file mode 100644 index ee261589..00000000 --- a/nix/lib/shared/scripts/timer.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - name = "timer"; - - runtimeInputs = [ ]; - - text = '' - if [[ "$1" == "" ]]; then - echo "Usage: ''${0##*/} <mins> [message]" - exit 1 - fi - - mins=$1 - message=$2 - - nohup _timer "$mins" "$message" &> /dev/null & - - echo "timer started for $mins min" - echo "timer started for $mins min, message: '$message'" | systemd-cat -t timer - ''; -} From b583d82e5d2d9274e1b12aea0bf7551f3a839240 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 27 Mar 2025 22:07:10 +0000 Subject: [PATCH 1519/2258] Skip errors when fetching and pulling changes --- bin/update-all-git-repos | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/update-all-git-repos b/bin/update-all-git-repos index f3fa29e6..b3c4bcd5 100755 --- a/bin/update-all-git-repos +++ b/bin/update-all-git-repos @@ -20,6 +20,6 @@ for dir in $dirs; do echo "Updating $(pwd)" # Update the repository. - git fetch --all --jobs=4 --progress --prune - git pull --rebase + git fetch --all --jobs=4 --progress --prune || true + git pull --rebase || true done From 90497bbdd0a3286464a1bd828c0153df44cf77bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Mar 2025 12:13:32 +0000 Subject: [PATCH 1520/2258] Add clean function --- run | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/run b/run index a3fdd280..a4fc9c68 100755 --- a/run +++ b/run @@ -8,6 +8,11 @@ function build { _nixos build "$@" } +function clean { + nix store optimise --verbose + nix store gc --verbose +} + function check { nix flake check } From c3d40142d947caf2f3c2a68ff0fa836e9cfc06fc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Mar 2025 21:08:55 +0000 Subject: [PATCH 1521/2258] Use new language server package names --- nix/modules/home-manager/cli/neovim.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix index 747c14e3..b19bc390 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim.nix @@ -138,20 +138,20 @@ in php # Language servers + bash-language-server + dockerfile-language-server-nodejs gopls lua-language-server lua54Packages.luacheck marksman nixd - nodePackages."@tailwindcss/language-server" - nodePackages.bash-language-server - nodePackages.dockerfile-language-server-nodejs - nodePackages.typescript-language-server - nodePackages.vscode-langservers-extracted - nodePackages.yaml-language-server phpactor + tailwindcss-language-server terraform-ls + typescript-language-server + vscode-langservers-extracted vue-language-server + yaml-language-server # Formatters black From e99da3c2f25f2bfc9e10c3a229e13faa9fdfc6bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Mar 2025 21:17:44 +0000 Subject: [PATCH 1522/2258] Add emmet language server --- nix/modules/home-manager/cli/neovim.nix | 1 + nvim/lua/opdavies/lsp/init.lua | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim.nix index b19bc390..c6e5c6ea 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim.nix @@ -140,6 +140,7 @@ in # Language servers bash-language-server dockerfile-language-server-nodejs + emmet-language-server gopls lua-language-server lua54Packages.luacheck diff --git a/nvim/lua/opdavies/lsp/init.lua b/nvim/lua/opdavies/lsp/init.lua index 1f34c9f7..5195893c 100644 --- a/nvim/lua/opdavies/lsp/init.lua +++ b/nvim/lua/opdavies/lsp/init.lua @@ -15,6 +15,11 @@ lspconfig.cssls.setup { end, } +lspconfig.emmet_language_server.setup { + capabilities = capabilities, + filetypes = { "css", "html", "sass", "scss", "twig" }, +} + lspconfig.gopls.setup { capabilities = capabilities, } From 6fbcd27331e54bc6fcefce28b210277c7d2302d2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Mar 2025 21:27:19 +0000 Subject: [PATCH 1523/2258] Remove ghost text when performing completions --- nvim/plugin/completion.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/nvim/plugin/completion.lua b/nvim/plugin/completion.lua index dd12d8d4..d1a8a111 100644 --- a/nvim/plugin/completion.lua +++ b/nvim/plugin/completion.lua @@ -64,7 +64,6 @@ cmp.setup { }, experimental = { - ghost_text = true, native_menu = false, }, } From faaa377de4e1f5d535a9a7a2d7602accb3ba8138 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Mar 2025 22:03:31 +0000 Subject: [PATCH 1524/2258] Remove logo.txt --- logo.txt | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 logo.txt diff --git a/logo.txt b/logo.txt deleted file mode 100644 index f1553b87..00000000 --- a/logo.txt +++ /dev/null @@ -1,13 +0,0 @@ - - ⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣤⣤⣤⣀⢀⣠⣤⡶⠾⠿⠿⠿⠷⣶⣤⣀⠀⠀⠀⠀ - ⠀⠀⠀⣠⣶⠟⠋⠉⠀⠀⢀⣤⣭⠝⠻⣶⣅⠀⠀⠀⡀⠀⠀⠀⠉⠻⣷⣄⠀⠀ - ⠀⠀⣾⡿⠀⠀⠀⢠⣴⣶⣾⣿⡄⠀⠀⢨⣿⣷⡿⠿⠿⢿⣷⣦⠀⠀⠈⢿⣦⠀ - ⠀⣾⠏⠀⠀⣠⡾⠟⠉⠉⠉⠉⠻⣷⣄⠹⣿⡁⠀⠀⠀⠀⠈⠹⣷⡀⠀⠈⣿⡄ - ⣸⡏⠀⠀⣰⡟⠁⠀⠀⠀⠀⠀⠀⠈⢻⣆⢻⣧⠀⠀⠀⠀⠀⠀⠸⣷⠀⠀⢸⣷ - ⣿⡇⠀⠀⣿⡃⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢻⣇⠀⠀⠀⠀⠀⠀⣿⠀⠀⢸⣿ - ⢻⡇⠀⠀⢿⣇⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠀⠈⣿⣆⠀⠀⠀⢀⣼⡟⠀⠀⣼⡇ - ⠘⣿⡄⠀⠈⢻⣦⣀⠀⠀⠀⠀⣀⣴⠟⣿⡄⢠⣿⣿⣄⣤⣶⠟⠋⠀⢀⣴⡟⠀ - ⠀⠹⣿⡀⠀⠈⠙⠿⣿⣧⣼⣿⠿⠋⠀⠹⣧⢻⠋⠹⠟⠋⠉⠀⠀⣠⣼⠟⠁⠀ - ⠀⠀⠈⠻⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢻⣧⠀⠀⢀⣀⣤⣶⠿⠋⠁⠀⠀⠀ - ⠀⠀⠀⠀⠈⠙⠻⠿⠶⣶⣶⠶⠿⠛⠋⠀⠀⢻⣷⠾⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀ - From 5def3844962da24dfca28e5662b29c4dfa5893b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 28 Mar 2025 22:04:22 +0000 Subject: [PATCH 1525/2258] Remove drupalorg --- bin/drupalorg | Bin 321764 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/drupalorg diff --git a/bin/drupalorg b/bin/drupalorg deleted file mode 100755 index 8dd7f1c8f2e0a27f5aa024adc07ab6e69f639646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321764 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¯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ⅈZ#xo&yq$gf)vbmX={SA<f>GR<rCH>)qsW)Ypc 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�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%0A^`BB}@BweVb?r4< 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 From bd36f795e06347c7108f240c29e2552cd1f833b1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 21:45:27 +0000 Subject: [PATCH 1526/2258] Remove the git user --- nix/users/git/default.nix | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 nix/users/git/default.nix diff --git a/nix/users/git/default.nix b/nix/users/git/default.nix deleted file mode 100644 index ca8549cb..00000000 --- a/nix/users/git/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -{ - users.users.git = { - initialPassword = "opdavies"; - isNormalUser = true; - - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" - ]; - - packages = with pkgs; [ git ]; - }; -} From 50d6671e54c9348eb7ad325521eb6b8d778fbf8e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 21:58:16 +0000 Subject: [PATCH 1527/2258] Move dwm overrides into the modifications overlay --- nix/modules/nixos/desktop/dwm.nix | 135 +----------------- nix/overlays/default.nix | 1 + nix/overlays/mods/dwm/default.nix | 134 +++++++++++++++++ .../mods/dwm/patches}/restartsig.patch | 0 4 files changed, 136 insertions(+), 134 deletions(-) create mode 100644 nix/overlays/mods/dwm/default.nix rename {patches/dwm => nix/overlays/mods/dwm/patches}/restartsig.patch (100%) diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix index 5cd756ae..f0e2f944 100644 --- a/nix/modules/nixos/desktop/dwm.nix +++ b/nix/modules/nixos/desktop/dwm.nix @@ -26,140 +26,7 @@ with lib; xserver = { displayManager.startx.enable = true; - - windowManager.dwm = { - enable = true; - - package = pkgs.dwm.override { - conf = '' - static const unsigned int borderpx = 1; - static const unsigned int snap = 32; - static const int showbar = 1; - static const int topbar = 1; - static const char *fonts[] = { "monospace:size=10" }; - static const char dmenufont[] = "monospace:size=10"; - static const char col_gray1[] = "#222222"; - static const char col_gray2[] = "#444444"; - static const char col_gray3[] = "#bbbbbb"; - static const char col_gray4[] = "#eeeeee"; - static const char col_cyan[] = "#005577"; - static const char *colors[][3] = { - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, - }; - - static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; - - static const Rule rules[] = { - { "Gimp", NULL, NULL, 0, 1, -1 }, - { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, - }; - - static const float mfact = 0.55; - static const int nmaster = 1; - static const int resizehints = 1; - static const int lockfullscreen = 1; - - static const Layout layouts[] = { - { "[]=", tile }, - { "><>", NULL }, - { "[M]", monocle }, - }; - - #define MODKEY Mod4Mask - - #define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, - - #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } - - static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; - static const char *termcmd[] = { "st", NULL }; - - static const Key keys[] = { - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, - { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, - { MODKEY, XK_i, incnmaster, {.i = +1 } }, - { MODKEY, XK_d, incnmaster, {.i = -1 } }, - { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { MODKEY, XK_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY|ShiftMask, XK_c, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, - { MODKEY, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, - { MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, - { MODKEY, XK_comma, focusmon, {.i = -1 } }, - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, - TAGKEYS(XK_1, 0) - TAGKEYS(XK_2, 1) - TAGKEYS(XK_3, 2) - TAGKEYS(XK_4, 3) - TAGKEYS(XK_5, 4) - TAGKEYS(XK_6, 5) - TAGKEYS(XK_7, 6) - TAGKEYS(XK_8, 7) - TAGKEYS(XK_9, 8) - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.librewolf}") }, - { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") }, - { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", NULL} } }, - { MODKEY|ShiftMask, XK_q, quit, {0} }, - { MODKEY|ShiftMask, XK_r, quit, {1} }, - { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${pkgs.flameshot}/bin/flameshot gui") }, - { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${getExe pkgs.displayselect}", NULL} } }, - { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/bin/mounter", NULL } } }, - { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/bin/unmounter", NULL } } }, - }; - - static const Button buttons[] = { - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkWinTitle, 0, Button2, zoom, {0} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, - { ClkTagBar, 0, Button1, view, {0} }, - { ClkTagBar, 0, Button3, toggleview, {0} }, - { ClkTagBar, MODKEY, Button1, tag, {0} }, - { ClkTagBar, MODKEY, Button3, toggletag, {0} }, - }; - ''; - - patches = with pkgs; [ - "${self}/patches/dwm/restartsig.patch" - - (fetchpatch { - url = "https://dwm.suckless.org/patches/preserveonrestart/dwm-preserveonrestart-6.3.diff"; - sha256 = "zgwTCgD3YE+2K4BF6Em+qkM1Gax5vOZfeuWa6zXx8cE="; - }) - - (fetchpatch { - url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; - sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; - }) - - (fetchpatch { - url = "https://dwm.suckless.org/patches/pertag/dwm-pertag-20200914-61bb8b2.diff"; - sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; - }) - ]; - }; - }; + windowManager.dwm.enable = true; }; }; diff --git a/nix/overlays/default.nix b/nix/overlays/default.nix index b6b27fd9..d9094a8e 100644 --- a/nix/overlays/default.nix +++ b/nix/overlays/default.nix @@ -10,6 +10,7 @@ }; modifications = final: prev: { + dwm = import ./mods/dwm { inherit prev; }; }; stable-packages = final: _prev: { diff --git a/nix/overlays/mods/dwm/default.nix b/nix/overlays/mods/dwm/default.nix new file mode 100644 index 00000000..6c10626b --- /dev/null +++ b/nix/overlays/mods/dwm/default.nix @@ -0,0 +1,134 @@ +{ prev, ... }: + +let + inherit (prev) lib; +in +prev.dwm.override { + conf = '' + static const unsigned int borderpx = 1; + static const unsigned int snap = 32; + static const int showbar = 1; + static const int topbar = 1; + static const char *fonts[] = { "monospace:size=10" }; + static const char dmenufont[] = "monospace:size=10"; + static const char col_gray1[] = "#222222"; + static const char col_gray2[] = "#444444"; + static const char col_gray3[] = "#bbbbbb"; + static const char col_gray4[] = "#eeeeee"; + static const char col_cyan[] = "#005577"; + static const char *colors[][3] = { + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + }; + + static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + + static const Rule rules[] = { + { "Gimp", NULL, NULL, 0, 1, -1 }, + { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, + }; + + static const float mfact = 0.55; + static const int nmaster = 1; + static const int resizehints = 1; + static const int lockfullscreen = 1; + + static const Layout layouts[] = { + { "[]=", tile }, + { "><>", NULL }, + { "[M]", monocle }, + }; + + #define MODKEY Mod4Mask + + #define TAGKEYS(KEY,TAG) \ + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ + { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + + #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } + + static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; + static const char *termcmd[] = { "st", NULL }; + + static const Key keys[] = { + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY, XK_i, incnmaster, {.i = +1 } }, + { MODKEY, XK_d, incnmaster, {.i = -1 } }, + { MODKEY, XK_h, setmfact, {.f = -0.05} }, + { MODKEY, XK_l, setmfact, {.f = +0.05} }, + { MODKEY, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {0} }, + { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, + { MODKEY, XK_0, view, {.ui = ~0 } }, + { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, + { MODKEY, XK_comma, focusmon, {.i = -1 } }, + { MODKEY, XK_period, focusmon, {.i = +1 } }, + { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, + { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, + TAGKEYS(XK_1, 0) + TAGKEYS(XK_2, 1) + TAGKEYS(XK_3, 2) + TAGKEYS(XK_4, 3) + TAGKEYS(XK_5, 4) + TAGKEYS(XK_6, 5) + TAGKEYS(XK_7, 6) + TAGKEYS(XK_8, 7) + TAGKEYS(XK_9, 8) + { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe prev.librewolf}") }, + { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${prev.xfce.thunar}/bin/thunar") }, + { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, + { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${prev.pass}/bin/passmenu", "-i", NULL} } }, + { MODKEY|ShiftMask, XK_q, quit, {0} }, + { MODKEY|ShiftMask, XK_r, quit, {1} }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${prev.flameshot}/bin/flameshot gui") }, + { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${lib.getExe prev.displayselect}", NULL} } }, + { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/bin/mounter", NULL } } }, + { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/bin/unmounter", NULL } } }, + }; + + static const Button buttons[] = { + { ClkLtSymbol, 0, Button1, setlayout, {0} }, + { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, + { ClkWinTitle, 0, Button2, zoom, {0} }, + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, + { ClkClientWin, MODKEY, Button1, movemouse, {0} }, + { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, + { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, + { ClkTagBar, 0, Button1, view, {0} }, + { ClkTagBar, 0, Button3, toggleview, {0} }, + { ClkTagBar, MODKEY, Button1, tag, {0} }, + { ClkTagBar, MODKEY, Button3, toggletag, {0} }, + }; + ''; + + patches = with prev; [ + ./patches/restartsig.patch + + (fetchpatch { + url = "https://dwm.suckless.org/patches/preserveonrestart/dwm-preserveonrestart-6.3.diff"; + sha256 = "zgwTCgD3YE+2K4BF6Em+qkM1Gax5vOZfeuWa6zXx8cE="; + }) + + (fetchpatch { + url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; + sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; + }) + + (fetchpatch { + url = "https://dwm.suckless.org/patches/pertag/dwm-pertag-20200914-61bb8b2.diff"; + sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; + }) + ]; +} diff --git a/patches/dwm/restartsig.patch b/nix/overlays/mods/dwm/patches/restartsig.patch similarity index 100% rename from patches/dwm/restartsig.patch rename to nix/overlays/mods/dwm/patches/restartsig.patch From 98cf67dbc8830303654607ffa6f9168b84871d26 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 21:59:35 +0000 Subject: [PATCH 1528/2258] Add and use passmenu-otp --- nix/hosts/common/default.nix | 2 ++ nix/overlays/mods/dwm/default.nix | 2 +- nix/pkgs/default.nix | 1 + nix/pkgs/passmenu-otp.nix | 30 ++++++++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 nix/pkgs/passmenu-otp.nix diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index fa21fc73..44999068 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -44,6 +44,8 @@ fastfetch mermaid-cli mkcert + passmenu-otp + (pass.withExtensions ( e: with e; [ passExtensions.pass-audit diff --git a/nix/overlays/mods/dwm/default.nix b/nix/overlays/mods/dwm/default.nix index 6c10626b..5e47cf06 100644 --- a/nix/overlays/mods/dwm/default.nix +++ b/nix/overlays/mods/dwm/default.nix @@ -89,7 +89,7 @@ prev.dwm.override { { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe prev.librewolf}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${prev.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${prev.pass}/bin/passmenu", "-i", NULL} } }, + { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${lib.getExe prev.passmenu-otp}", "-i", NULL} } }, { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${prev.flameshot}/bin/flameshot gui") }, diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 4c5ab423..34c428e8 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -10,6 +10,7 @@ in build-glove80 = callPackage ./build-glove80.nix { }; displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; + passmenu-otp = callPackage ./passmenu-otp.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/nix/pkgs/passmenu-otp.nix b/nix/pkgs/passmenu-otp.nix new file mode 100644 index 00000000..355855e4 --- /dev/null +++ b/nix/pkgs/passmenu-otp.nix @@ -0,0 +1,30 @@ +{ pkgs, ... }: + +with pkgs; + +stdenv.mkDerivation { + pname = "passmenu-otp"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "petrmanek"; + repo = "passmenu-otp"; + rev = "master"; + sha256 = "sha256-2EGomeK/p3uVfgho5xGR11ovJQ2q3cPZoFG+z88DyxA="; + }; + + buildInputs = [ + pass + ]; + + installPhase = '' + mkdir -p $out/bin + cp passmenu-otp $out/bin/passmenu-otp + chmod +x $out/bin/passmenu-otp + ''; + + meta = { + homepage = "https://github.com/petrmanek/passmenu-otp"; + mainProgram = "passmenu-otp"; + }; +} From f775a4341bd6653613977496b01e19d5ab2806a0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 22:02:21 +0000 Subject: [PATCH 1529/2258] flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 446a55b3..ceb8f0b6 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1742588233, - "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", + "lastModified": 1743267068, + "narHash": "sha256-G7866vbO5jgqMcYJzgbxej40O6mBGQMGt6gM0himjoA=", "owner": "nix-community", "repo": "home-manager", - "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", + "rev": "b431496538b0e294fbe44a1441b24ae8195c63f0", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1742376361, - "narHash": "sha256-VFMgJkp/COvkt5dnkZB4D2szVdmF6DGm5ZdVvTUy61c=", + "lastModified": 1743167577, + "narHash": "sha256-I09SrXIO0UdyBFfh0fxDq5WnCDg8XKmZ1HQbaXzMA1k=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "daaae13dff0ecc692509a1332ff9003d9952d7a9", + "rev": "0ed819e708af17bfc4bbc63ee080ef308a24aa42", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1742481215, - "narHash": "sha256-m7I/2UaGEFOI+Cy0RoADBi10NZt1WD5N3q2jUwPprE4=", + "lastModified": 1743125458, + "narHash": "sha256-0z+5AMacL2Eqo92fAd0eCWeKVecWrxPJwd5/BIfcdJ8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "96d7df91cce0d7cd30d1958fe1aefcb5f9bfced7", + "rev": "394c77f61ac76399290bfc2ef9d47b1fba31b215", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1742512142, - "narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=", + "lastModified": 1742937945, + "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7105ae3957700a9646cc4b766f5815b23ed0c682", + "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1742595906, - "narHash": "sha256-8WmWmyXI9JmZaLTJjOItU4tEH5IARLP3H0gzfA4aD/g=", + "lastModified": 1743285520, + "narHash": "sha256-vR+lXbAuMgLz/DS6mgqiCLWzf9pEjgFfWzUunW2dr/A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e74ac85c8c4d5942fe685907c4e3727634d55ece", + "rev": "b121d80e2ec7d213652fe593e0a0bde071d6296b", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1742422364, - "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "lastModified": 1743095683, + "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1742422364, - "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "lastModified": 1743095683, + "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1742595458, - "narHash": "sha256-Bi6auVs9tRGK3just0AG6fKvuPTaBmhxWkt2SPoAi0g=", + "lastModified": 1743285136, + "narHash": "sha256-x5a/2rh++gnkEe1CoGSJ24dHqydoGNJrmNYKxSiWd7Q=", "owner": "nix-community", "repo": "NUR", - "rev": "633813462cbe6f87444feb188514033c4b35c3fc", + "rev": "5cff75c20f69e7ed9889349f54e085f382c8b6ff", "type": "github" }, "original": { From 383dab85f21d673ebcdee83bd2c74869d787564b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:09:54 +0000 Subject: [PATCH 1530/2258] Move phpactor configuration files --- nix/modules/home-manager/cli/default.nix | 2 +- .../modules/home-manager/cli/phpactor/config}/phpactor.yml | 0 .../phpactor/config}/templates/collection/SourceCode.php.twig | 0 .../cli/phpactor/config}/templates/default/SourceCode.php.twig | 0 .../templates/drupal-functional-test/SourceCode.php.twig | 0 .../config}/templates/drupal-kernel-test/SourceCode.php.twig | 0 .../config}/templates/drupal-unit-test/SourceCode.php.twig | 0 .../home-manager/cli/{phpactor.nix => phpactor/default.nix} | 3 +-- 8 files changed, 2 insertions(+), 3 deletions(-) rename {phpactor => nix/modules/home-manager/cli/phpactor/config}/phpactor.yml (100%) rename {phpactor => nix/modules/home-manager/cli/phpactor/config}/templates/collection/SourceCode.php.twig (100%) rename {phpactor => nix/modules/home-manager/cli/phpactor/config}/templates/default/SourceCode.php.twig (100%) rename {phpactor => nix/modules/home-manager/cli/phpactor/config}/templates/drupal-functional-test/SourceCode.php.twig (100%) rename {phpactor => nix/modules/home-manager/cli/phpactor/config}/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename {phpactor => nix/modules/home-manager/cli/phpactor/config}/templates/drupal-unit-test/SourceCode.php.twig (100%) rename nix/modules/home-manager/cli/{phpactor.nix => phpactor/default.nix} (55%) diff --git a/nix/modules/home-manager/cli/default.nix b/nix/modules/home-manager/cli/default.nix index 2becbafc..2116a53e 100644 --- a/nix/modules/home-manager/cli/default.nix +++ b/nix/modules/home-manager/cli/default.nix @@ -10,7 +10,7 @@ ./neovim.nix ./newsboat.nix ./notes.nix - ./phpactor.nix + ./phpactor ./starship.nix ./tmux.nix ./tmux-sessionizer.nix diff --git a/phpactor/phpactor.yml b/nix/modules/home-manager/cli/phpactor/config/phpactor.yml similarity index 100% rename from phpactor/phpactor.yml rename to nix/modules/home-manager/cli/phpactor/config/phpactor.yml diff --git a/phpactor/templates/collection/SourceCode.php.twig b/nix/modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from phpactor/templates/collection/SourceCode.php.twig rename to nix/modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/phpactor/templates/default/SourceCode.php.twig b/nix/modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from phpactor/templates/default/SourceCode.php.twig rename to nix/modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig diff --git a/phpactor/templates/drupal-functional-test/SourceCode.php.twig b/nix/modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from phpactor/templates/drupal-functional-test/SourceCode.php.twig rename to nix/modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/phpactor/templates/drupal-kernel-test/SourceCode.php.twig b/nix/modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from phpactor/templates/drupal-kernel-test/SourceCode.php.twig rename to nix/modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/phpactor/templates/drupal-unit-test/SourceCode.php.twig b/nix/modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from phpactor/templates/drupal-unit-test/SourceCode.php.twig rename to nix/modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/nix/modules/home-manager/cli/phpactor.nix b/nix/modules/home-manager/cli/phpactor/default.nix similarity index 55% rename from nix/modules/home-manager/cli/phpactor.nix rename to nix/modules/home-manager/cli/phpactor/default.nix index 98bc31bb..0f514d8c 100644 --- a/nix/modules/home-manager/cli/phpactor.nix +++ b/nix/modules/home-manager/cli/phpactor/default.nix @@ -1,7 +1,6 @@ -{ self, ... }: { xdg.configFile.phpactor = { - source = "${self}/phpactor"; + source = ./config; recursive = true; }; } From 52044d9995fcbbab1a5739255cbeedec269a97f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:15:01 +0000 Subject: [PATCH 1531/2258] Move Neovim configuration files --- nix/modules/home-manager/cli/default.nix | 2 +- .../modules/home-manager/cli/neovim/config}/.gitignore | 0 .../cli/neovim/config}/after/ftplugin/gitcommit.lua | 0 .../cli/neovim/config}/after/ftplugin/markdown.lua | 0 .../home-manager/cli/neovim/config}/after/ftplugin/netrw.lua | 0 .../home-manager/cli/neovim/config}/after/ftplugin/php.lua | 0 .../home-manager/cli/neovim/config}/after/ftplugin/rst.lua | 0 .../home-manager/cli/neovim/config}/after/ftplugin/term.vim | 0 .../home-manager/cli/neovim/config}/after/ftplugin/text.lua | 0 .../home-manager/cli/neovim/config}/autoload/opdavies.vim | 0 {nvim => nix/modules/home-manager/cli/neovim/config}/init.lua | 0 .../home-manager/cli/neovim/config}/lua/opdavies/globals.lua | 0 .../home-manager/cli/neovim/config}/lua/opdavies/init.lua | 0 .../home-manager/cli/neovim/config}/lua/opdavies/keymaps.lua | 0 .../cli/neovim/config}/lua/opdavies/lsp/handlers.lua | 0 .../home-manager/cli/neovim/config}/lua/opdavies/lsp/init.lua | 0 .../home-manager/cli/neovim/config}/lua/opdavies/options.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/javascript.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/lua.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/php.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/rst.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/scss.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/twig.lua | 0 .../cli/neovim/config}/lua/opdavies/snippets/yaml.lua | 0 .../cli/neovim/config}/lua/opdavies/telescope/multigrep.lua | 0 .../home-manager/cli/neovim/config}/plugin/autocommands.lua | 0 .../home-manager/cli/neovim/config}/plugin/colorscheme.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/comment.lua | 0 .../home-manager/cli/neovim/config}/plugin/completion.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/conform.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/dap.lua | 0 .../home-manager/cli/neovim/config}/plugin/edit_alternate.lua | 0 .../home-manager/cli/neovim/config}/plugin/filetype.lua | 0 .../home-manager/cli/neovim/config}/plugin/fugitive.lua | 0 .../home-manager/cli/neovim/config}/plugin/gitsigns.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/harpoon.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/lint.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/mini.lua | 0 .../modules/home-manager/cli/neovim/config}/plugin/netrw.lua | 0 .../home-manager/cli/neovim/config}/plugin/phpactor.lua | 0 .../home-manager/cli/neovim/config}/plugin/refactoring.lua | 0 .../home-manager/cli/neovim/config}/plugin/snippets.lua | 0 .../home-manager/cli/neovim/config}/plugin/telescope.lua | 0 .../home-manager/cli/neovim/config}/plugin/treesitter.lua | 0 .../home-manager/cli/neovim/config}/plugin/undotree.lua | 0 .../home-manager/cli/neovim/config}/plugin/vim-test.lua | 0 .../modules/home-manager/cli/neovim/config}/spell/en.utf-8.add | 0 .../modules/home-manager/cli/neovim/config}/stylua.toml | 0 .../home-manager/cli/{neovim.nix => neovim/default.nix} | 3 +-- 49 files changed, 2 insertions(+), 3 deletions(-) rename {nvim => nix/modules/home-manager/cli/neovim/config}/.gitignore (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/gitcommit.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/markdown.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/netrw.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/php.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/rst.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/term.vim (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/after/ftplugin/text.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/autoload/opdavies.vim (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/init.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/globals.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/init.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/keymaps.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/lsp/handlers.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/lsp/init.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/options.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/javascript.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/lua.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/php.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/rst.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/scss.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/twig.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/snippets/yaml.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/lua/opdavies/telescope/multigrep.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/autocommands.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/colorscheme.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/comment.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/completion.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/conform.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/dap.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/edit_alternate.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/filetype.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/fugitive.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/gitsigns.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/harpoon.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/lint.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/mini.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/netrw.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/phpactor.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/refactoring.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/snippets.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/telescope.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/treesitter.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/undotree.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/plugin/vim-test.lua (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/spell/en.utf-8.add (100%) rename {nvim => nix/modules/home-manager/cli/neovim/config}/stylua.toml (100%) rename nix/modules/home-manager/cli/{neovim.nix => neovim/default.nix} (98%) diff --git a/nix/modules/home-manager/cli/default.nix b/nix/modules/home-manager/cli/default.nix index 2116a53e..726f02e6 100644 --- a/nix/modules/home-manager/cli/default.nix +++ b/nix/modules/home-manager/cli/default.nix @@ -7,7 +7,7 @@ ./direnv.nix ./fzf.nix ./git.nix - ./neovim.nix + ./neovim ./newsboat.nix ./notes.nix ./phpactor diff --git a/nvim/.gitignore b/nix/modules/home-manager/cli/neovim/config/.gitignore similarity index 100% rename from nvim/.gitignore rename to nix/modules/home-manager/cli/neovim/config/.gitignore diff --git a/nvim/after/ftplugin/gitcommit.lua b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua similarity index 100% rename from nvim/after/ftplugin/gitcommit.lua rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua diff --git a/nvim/after/ftplugin/markdown.lua b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua similarity index 100% rename from nvim/after/ftplugin/markdown.lua rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua diff --git a/nvim/after/ftplugin/netrw.lua b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua similarity index 100% rename from nvim/after/ftplugin/netrw.lua rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua diff --git a/nvim/after/ftplugin/php.lua b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/php.lua similarity index 100% rename from nvim/after/ftplugin/php.lua rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/php.lua diff --git a/nvim/after/ftplugin/rst.lua b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua similarity index 100% rename from nvim/after/ftplugin/rst.lua rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua diff --git a/nvim/after/ftplugin/term.vim b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/term.vim similarity index 100% rename from nvim/after/ftplugin/term.vim rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/term.vim diff --git a/nvim/after/ftplugin/text.lua b/nix/modules/home-manager/cli/neovim/config/after/ftplugin/text.lua similarity index 100% rename from nvim/after/ftplugin/text.lua rename to nix/modules/home-manager/cli/neovim/config/after/ftplugin/text.lua diff --git a/nvim/autoload/opdavies.vim b/nix/modules/home-manager/cli/neovim/config/autoload/opdavies.vim similarity index 100% rename from nvim/autoload/opdavies.vim rename to nix/modules/home-manager/cli/neovim/config/autoload/opdavies.vim diff --git a/nvim/init.lua b/nix/modules/home-manager/cli/neovim/config/init.lua similarity index 100% rename from nvim/init.lua rename to nix/modules/home-manager/cli/neovim/config/init.lua diff --git a/nvim/lua/opdavies/globals.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua similarity index 100% rename from nvim/lua/opdavies/globals.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua diff --git a/nvim/lua/opdavies/init.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/init.lua similarity index 100% rename from nvim/lua/opdavies/init.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/init.lua diff --git a/nvim/lua/opdavies/keymaps.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua similarity index 100% rename from nvim/lua/opdavies/keymaps.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua diff --git a/nvim/lua/opdavies/lsp/handlers.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua similarity index 100% rename from nvim/lua/opdavies/lsp/handlers.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua diff --git a/nvim/lua/opdavies/lsp/init.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua similarity index 100% rename from nvim/lua/opdavies/lsp/init.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua diff --git a/nvim/lua/opdavies/options.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua similarity index 100% rename from nvim/lua/opdavies/options.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua diff --git a/nvim/lua/opdavies/snippets/javascript.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua similarity index 100% rename from nvim/lua/opdavies/snippets/javascript.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua diff --git a/nvim/lua/opdavies/snippets/lua.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua similarity index 100% rename from nvim/lua/opdavies/snippets/lua.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua diff --git a/nvim/lua/opdavies/snippets/php.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua similarity index 100% rename from nvim/lua/opdavies/snippets/php.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua diff --git a/nvim/lua/opdavies/snippets/rst.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua similarity index 100% rename from nvim/lua/opdavies/snippets/rst.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua diff --git a/nvim/lua/opdavies/snippets/scss.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua similarity index 100% rename from nvim/lua/opdavies/snippets/scss.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua diff --git a/nvim/lua/opdavies/snippets/twig.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua similarity index 100% rename from nvim/lua/opdavies/snippets/twig.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua diff --git a/nvim/lua/opdavies/snippets/yaml.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua similarity index 100% rename from nvim/lua/opdavies/snippets/yaml.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua diff --git a/nvim/lua/opdavies/telescope/multigrep.lua b/nix/modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua similarity index 100% rename from nvim/lua/opdavies/telescope/multigrep.lua rename to nix/modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua diff --git a/nvim/plugin/autocommands.lua b/nix/modules/home-manager/cli/neovim/config/plugin/autocommands.lua similarity index 100% rename from nvim/plugin/autocommands.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/autocommands.lua diff --git a/nvim/plugin/colorscheme.lua b/nix/modules/home-manager/cli/neovim/config/plugin/colorscheme.lua similarity index 100% rename from nvim/plugin/colorscheme.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/colorscheme.lua diff --git a/nvim/plugin/comment.lua b/nix/modules/home-manager/cli/neovim/config/plugin/comment.lua similarity index 100% rename from nvim/plugin/comment.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/comment.lua diff --git a/nvim/plugin/completion.lua b/nix/modules/home-manager/cli/neovim/config/plugin/completion.lua similarity index 100% rename from nvim/plugin/completion.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/completion.lua diff --git a/nvim/plugin/conform.lua b/nix/modules/home-manager/cli/neovim/config/plugin/conform.lua similarity index 100% rename from nvim/plugin/conform.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/conform.lua diff --git a/nvim/plugin/dap.lua b/nix/modules/home-manager/cli/neovim/config/plugin/dap.lua similarity index 100% rename from nvim/plugin/dap.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/dap.lua diff --git a/nvim/plugin/edit_alternate.lua b/nix/modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua similarity index 100% rename from nvim/plugin/edit_alternate.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua diff --git a/nvim/plugin/filetype.lua b/nix/modules/home-manager/cli/neovim/config/plugin/filetype.lua similarity index 100% rename from nvim/plugin/filetype.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/filetype.lua diff --git a/nvim/plugin/fugitive.lua b/nix/modules/home-manager/cli/neovim/config/plugin/fugitive.lua similarity index 100% rename from nvim/plugin/fugitive.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/fugitive.lua diff --git a/nvim/plugin/gitsigns.lua b/nix/modules/home-manager/cli/neovim/config/plugin/gitsigns.lua similarity index 100% rename from nvim/plugin/gitsigns.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/gitsigns.lua diff --git a/nvim/plugin/harpoon.lua b/nix/modules/home-manager/cli/neovim/config/plugin/harpoon.lua similarity index 100% rename from nvim/plugin/harpoon.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/harpoon.lua diff --git a/nvim/plugin/lint.lua b/nix/modules/home-manager/cli/neovim/config/plugin/lint.lua similarity index 100% rename from nvim/plugin/lint.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/lint.lua diff --git a/nvim/plugin/mini.lua b/nix/modules/home-manager/cli/neovim/config/plugin/mini.lua similarity index 100% rename from nvim/plugin/mini.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/mini.lua diff --git a/nvim/plugin/netrw.lua b/nix/modules/home-manager/cli/neovim/config/plugin/netrw.lua similarity index 100% rename from nvim/plugin/netrw.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/netrw.lua diff --git a/nvim/plugin/phpactor.lua b/nix/modules/home-manager/cli/neovim/config/plugin/phpactor.lua similarity index 100% rename from nvim/plugin/phpactor.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/phpactor.lua diff --git a/nvim/plugin/refactoring.lua b/nix/modules/home-manager/cli/neovim/config/plugin/refactoring.lua similarity index 100% rename from nvim/plugin/refactoring.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/refactoring.lua diff --git a/nvim/plugin/snippets.lua b/nix/modules/home-manager/cli/neovim/config/plugin/snippets.lua similarity index 100% rename from nvim/plugin/snippets.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/snippets.lua diff --git a/nvim/plugin/telescope.lua b/nix/modules/home-manager/cli/neovim/config/plugin/telescope.lua similarity index 100% rename from nvim/plugin/telescope.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/telescope.lua diff --git a/nvim/plugin/treesitter.lua b/nix/modules/home-manager/cli/neovim/config/plugin/treesitter.lua similarity index 100% rename from nvim/plugin/treesitter.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/treesitter.lua diff --git a/nvim/plugin/undotree.lua b/nix/modules/home-manager/cli/neovim/config/plugin/undotree.lua similarity index 100% rename from nvim/plugin/undotree.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/undotree.lua diff --git a/nvim/plugin/vim-test.lua b/nix/modules/home-manager/cli/neovim/config/plugin/vim-test.lua similarity index 100% rename from nvim/plugin/vim-test.lua rename to nix/modules/home-manager/cli/neovim/config/plugin/vim-test.lua diff --git a/nvim/spell/en.utf-8.add b/nix/modules/home-manager/cli/neovim/config/spell/en.utf-8.add similarity index 100% rename from nvim/spell/en.utf-8.add rename to nix/modules/home-manager/cli/neovim/config/spell/en.utf-8.add diff --git a/nvim/stylua.toml b/nix/modules/home-manager/cli/neovim/config/stylua.toml similarity index 100% rename from nvim/stylua.toml rename to nix/modules/home-manager/cli/neovim/config/stylua.toml diff --git a/nix/modules/home-manager/cli/neovim.nix b/nix/modules/home-manager/cli/neovim/default.nix similarity index 98% rename from nix/modules/home-manager/cli/neovim.nix rename to nix/modules/home-manager/cli/neovim/default.nix index c6e5c6ea..9815997f 100644 --- a/nix/modules/home-manager/cli/neovim.nix +++ b/nix/modules/home-manager/cli/neovim/default.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - self, ... }: @@ -178,7 +177,7 @@ in }; xdg.configFile.nvim = { - source = "${self}/nvim"; + source = ./config; recursive = true; }; From 087153a16de00b04579bf6c7b18394a0019327f3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:19:06 +0000 Subject: [PATCH 1532/2258] Move Nix files back to the root of the project --- flake.nix | 18 +++++++++--------- {nix/home => home}/common/default.nix | 0 {nix/home => home}/opdavies/default.nix | 4 ++-- .../home => home}/opdavies/desktop/default.nix | 0 .../home => home}/opdavies/desktop/firefox.nix | 0 .../opdavies/desktop/qutebrowser.nix | 0 {nix/home => home}/opdavies/hosts/PW05CH3L.nix | 0 {nix/home => home}/opdavies/hosts/lemp11.nix | 0 {nix/home => home}/opdavies/hosts/nixedo.nix | 0 {nix/home => home}/opdavies/hosts/t480.nix | 0 {nix/home => home}/opdavies/hosts/t490.nix | 0 .../home => home}/opdavies/modules/default.nix | 0 {nix/home => home}/opdavies/modules/node.nix | 0 {nix/home => home}/opdavies/modules/ranger.nix | 0 .../hosts => hosts}/PW05CH3L/configuration.nix | 0 {nix/hosts => hosts}/common/default.nix | 2 +- {nix/hosts => hosts}/common/programs.nix | 0 {nix/hosts => hosts}/common/users.nix | 0 {nix/hosts => hosts}/hetznix/configuration.nix | 0 {nix/hosts => hosts}/hetznix/disks.nix | 0 .../hetznix/hardware-configuration.nix | 0 {nix/hosts => hosts}/hetznix/networking.nix | 0 {nix/hosts => hosts}/hetznix/secrets.nix | 0 {nix/hosts => hosts}/hetznix/security/acme.nix | 0 .../hetznix/security/default.nix | 0 .../hetznix/services/caddy/default.nix | 0 ...bootstrap-with-tailwind.oliverdavies.uk.nix | 0 .../hetznix/services/caddy/vhosts/default.nix | 0 .../hetznix/services/caddy/vhosts/eric.nix | 0 ...drupalcamp-tailwind-css.oliverdavies.uk.nix | 0 .../caddy/vhosts/luke.oliverdavies.uk.nix | 0 .../phpsw-sculpin-demo.oliverdavies.uk.nix | 0 .../rebuilding-acquia.oliverdavies.uk.nix | 0 .../rebuilding-bartik.oliverdavies.uk.nix | 0 .../rebuilding-bristol-js.oliverdavies.uk.nix | 0 .../rebuilding-symfony.oliverdavies.uk.nix | 0 .../tailwindcss-demo.oliverdavies.uk.nix | 0 ...king-drupal-tailwindcss.oliverdavies.uk.nix | 0 .../vhosts/wp-tailwind.oliverdavies.uk.nix | 0 .../caddy/vhosts/www.oliverdavies.uk.nix | 0 .../caddy/vhosts/zet.oliverdavies.uk.nix | 0 .../hetznix/services/default.nix | 0 .../hetznix/services/forgejo.nix | 0 .../hosts => hosts}/hetznix/services/jitsi.nix | 0 .../hetznix/services/openssl.nix | 0 {nix/hosts => hosts}/lemp11/configuration.nix | 0 .../lemp11/hardware-configuration.nix | 0 {nix/hosts => hosts}/lemp11/hardware.nix | 0 {nix/hosts => hosts}/lemp11/programs.nix | 0 {nix/hosts => hosts}/lemp11/services.nix | 0 {nix/hosts => hosts}/nixedo/configuration.nix | 0 .../nixedo/hardware-configuration.nix | 0 {nix/hosts => hosts}/nixedo/modules/acme.nix | 0 {nix/hosts => hosts}/nixedo/secrets.nix | 0 {nix/hosts => hosts}/t480/configuration.nix | 0 .../t480/hardware-configuration.nix | 0 {nix/hosts => hosts}/t480/hardware.nix | 0 {nix/hosts => hosts}/t480/modules/docker.nix | 0 {nix/hosts => hosts}/t480/programs.nix | 0 {nix/hosts => hosts}/t480/secrets.nix | 0 {nix/hosts => hosts}/t480/services/cron.nix | 0 {nix/hosts => hosts}/t480/services/default.nix | 0 .../t480/services/interception-tools.nix | 0 .../hosts => hosts}/t480/services/redshift.nix | 0 {nix/hosts => hosts}/t480/services/sound.nix | 0 {nix/hosts => hosts}/t480/services/udev.nix | 0 {nix/hosts => hosts}/t480/services/xserver.nix | 0 {nix/hosts => hosts}/t480/users.nix | 0 {nix/hosts => hosts}/t490/configuration.nix | 0 .../t490/hardware-configuration.nix | 0 {nix/hosts => hosts}/t490/hardware.nix | 0 {nix/hosts => hosts}/t490/modules/docker.nix | 0 {nix/hosts => hosts}/t490/programs.nix | 0 {nix/hosts => hosts}/t490/secrets.nix | 0 {nix/hosts => hosts}/t490/services/cron.nix | 0 {nix/hosts => hosts}/t490/services/default.nix | 0 .../t490/services/interception-tools.nix | 0 .../hosts => hosts}/t490/services/redshift.nix | 0 {nix/hosts => hosts}/t490/services/sound.nix | 0 {nix/hosts => hosts}/t490/services/udev.nix | 0 {nix/hosts => hosts}/t490/services/xserver.nix | 0 {nix/hosts => hosts}/t490/users.nix | 0 .../shared/home-manager-packages.nix | 0 {nix/lib => lib}/shared/home-manager.nix | 0 {nix/lib => lib}/theme/default.nix | 0 .../home-manager/cli/bin.nix | 0 .../home-manager/cli/bluetuith.nix | 0 .../home-manager/cli/default.nix | 0 .../home-manager/cli/direnv.nix | 0 .../home-manager/cli/fzf.nix | 0 .../home-manager/cli/git.nix | 0 .../home-manager/cli/neovim/config/.gitignore | 0 .../neovim/config/after/ftplugin/gitcommit.lua | 0 .../neovim/config/after/ftplugin/markdown.lua | 0 .../cli/neovim/config/after/ftplugin/netrw.lua | 0 .../cli/neovim/config/after/ftplugin/php.lua | 0 .../cli/neovim/config/after/ftplugin/rst.lua | 0 .../cli/neovim/config/after/ftplugin/term.vim | 0 .../cli/neovim/config/after/ftplugin/text.lua | 0 .../cli/neovim/config/autoload/opdavies.vim | 0 .../home-manager/cli/neovim/config/init.lua | 0 .../cli/neovim/config/lua/opdavies/globals.lua | 0 .../cli/neovim/config/lua/opdavies/init.lua | 0 .../cli/neovim/config/lua/opdavies/keymaps.lua | 0 .../config/lua/opdavies/lsp/handlers.lua | 0 .../neovim/config/lua/opdavies/lsp/init.lua | 0 .../cli/neovim/config/lua/opdavies/options.lua | 0 .../lua/opdavies/snippets/javascript.lua | 0 .../config/lua/opdavies/snippets/lua.lua | 0 .../config/lua/opdavies/snippets/php.lua | 0 .../config/lua/opdavies/snippets/rst.lua | 0 .../config/lua/opdavies/snippets/scss.lua | 0 .../config/lua/opdavies/snippets/twig.lua | 0 .../config/lua/opdavies/snippets/yaml.lua | 0 .../lua/opdavies/telescope/multigrep.lua | 0 .../cli/neovim/config/plugin/autocommands.lua | 0 .../cli/neovim/config/plugin/colorscheme.lua | 0 .../cli/neovim/config/plugin/comment.lua | 0 .../cli/neovim/config/plugin/completion.lua | 0 .../cli/neovim/config/plugin/conform.lua | 0 .../cli/neovim/config/plugin/dap.lua | 0 .../neovim/config/plugin/edit_alternate.lua | 0 .../cli/neovim/config/plugin/filetype.lua | 0 .../cli/neovim/config/plugin/fugitive.lua | 0 .../cli/neovim/config/plugin/gitsigns.lua | 0 .../cli/neovim/config/plugin/harpoon.lua | 0 .../cli/neovim/config/plugin/lint.lua | 0 .../cli/neovim/config/plugin/mini.lua | 0 .../cli/neovim/config/plugin/netrw.lua | 0 .../cli/neovim/config/plugin/phpactor.lua | 0 .../cli/neovim/config/plugin/refactoring.lua | 0 .../cli/neovim/config/plugin/snippets.lua | 0 .../cli/neovim/config/plugin/telescope.lua | 0 .../cli/neovim/config/plugin/treesitter.lua | 0 .../cli/neovim/config/plugin/undotree.lua | 0 .../cli/neovim/config/plugin/vim-test.lua | 0 .../cli/neovim/config/spell/en.utf-8.add | 0 .../home-manager/cli/neovim/config/stylua.toml | 0 .../home-manager/cli/neovim/default.nix | 0 .../home-manager/cli/newsboat.nix | 0 .../home-manager/cli/notes.nix | 0 .../cli/phpactor/config/phpactor.yml | 0 .../templates/collection/SourceCode.php.twig | 0 .../templates/default/SourceCode.php.twig | 0 .../drupal-functional-test/SourceCode.php.twig | 0 .../drupal-kernel-test/SourceCode.php.twig | 0 .../drupal-unit-test/SourceCode.php.twig | 0 .../home-manager/cli/phpactor/default.nix | 0 .../home-manager/cli/starship.nix | 0 .../home-manager/cli/tmux-sessionizer.nix | 0 .../home-manager/cli/tmux.nix | 0 .../home-manager/cli/zsh.nix | 0 .../home-manager/cli/zsh/abbreviations.nix | 0 .../home-manager/cli/zsh/aliases.nix | 0 .../home-manager/default.nix | 0 .../home-manager/desktop/default.nix | 0 .../home-manager/desktop/discord.nix | 0 .../home-manager/desktop/dwm.nix | 0 .../desktop/espanso/matches/base.nix | 0 .../home-manager/desktop/flameshot.nix | 0 .../home-manager/desktop/gtk.nix | 0 .../home-manager/desktop/media/default.nix | 0 .../home-manager/desktop/media/gimp.nix | 0 .../home-manager/desktop/media/handbrake.nix | 0 .../home-manager/desktop/media/kdenlive.nix | 0 .../home-manager/desktop/media/mpv.nix | 0 .../desktop/media/pocket-casts.nix | 0 .../home-manager/desktop/slack.nix | 0 .../home-manager/desktop/zoom.nix | 0 {nix/modules => modules}/nixos/cli/default.nix | 0 {nix/modules => modules}/nixos/cli/docker.nix | 0 {nix/modules => modules}/nixos/default.nix | 0 .../nixos/desktop/default.nix | 0 {nix/modules => modules}/nixos/desktop/dwm.nix | 0 .../modules => modules}/nixos/desktop/peek.nix | 0 .../nixos/desktop/screenkey.nix | 0 {nix/modules => modules}/nixos/desktop/st.nix | 0 .../nixos/desktop/thunar.nix | 0 {nix/modules => modules}/nixos/fonts.nix | 0 {nix/modules => modules}/nixos/gaming.nix | 0 .../nixos/homelab/audiobookshelf.nix | 0 .../nixos/homelab/containers/beaverhabits.nix | 0 .../nixos/homelab/containers/default.nix | 0 .../nixos/homelab/containers/freshrss.nix | 0 .../nixos/homelab/containers/pi-hole.nix | 0 .../nixos/homelab/containers/tubearchivist.nix | 0 .../nixos/homelab/default.nix | 0 .../nixos/homelab/forgejo.nix | 0 .../nixos/homelab/gitea.nix | 0 .../nixos/homelab/immich.nix | 0 .../nixos/homelab/jellyfin.nix | 0 .../nixos/homelab/paperless.nix | 0 .../nixos/homelab/vaultwarden.nix | 0 {nix/modules => modules}/nixos/xbanish.nix | 0 {nix/overlays => overlays}/default.nix | 0 .../overlays => overlays}/mods/dwm/default.nix | 0 .../mods/dwm/patches/restartsig.patch | 0 {nix/pkgs => pkgs}/backup-websites.nix | 0 {nix/pkgs => pkgs}/build-glove80.nix | 0 {nix/pkgs => pkgs}/default.nix | 0 {nix/pkgs => pkgs}/displayselect/default.nix | 0 {nix/pkgs => pkgs}/displayselect/scaling.patch | 0 .../notes/create-daily-notes.patch | 0 {nix/pkgs => pkgs}/notes/default.nix | 0 {nix/pkgs => pkgs}/passmenu-otp.nix | 0 .../tmux-sessionizer/add-tmux-file.patch | 0 .../configure-directories.patch | 0 .../pkgs => pkgs}/tmux-sessionizer/default.nix | 0 .../tmux-sessionizer/move-default-script.patch | 0 {nix/pkgs => pkgs}/upload-to-files.nix | 0 {nix/pkgs => pkgs}/vim-plugins/conf-vim.nix | 0 {nix/pkgs => pkgs}/vim-plugins/default.nix | 0 .../vim-plugins/edit-alternate-vim.nix | 0 .../pkgs => pkgs}/vim-plugins/standard-vim.nix | 0 {nix/pkgs => pkgs}/vim-plugins/vim-caser.nix | 0 .../vim-plugins/vim-textobj-indent.nix | 0 .../vim-plugins/vim-textobj-xmlattr.nix | 0 nix/secrets.nix => secrets.nix | 0 {nix/secrets => secrets}/cloudflare.age | 0 {nix/secrets => secrets}/tubearchivist.age | 0 {nix/users => users}/eric/default.nix | 0 {nix/users => users}/luke/default.nix | 0 {nix/users => users}/opdavies/default.nix | 0 223 files changed, 12 insertions(+), 12 deletions(-) rename {nix/home => home}/common/default.nix (100%) rename {nix/home => home}/opdavies/default.nix (91%) rename {nix/home => home}/opdavies/desktop/default.nix (100%) rename {nix/home => home}/opdavies/desktop/firefox.nix (100%) rename {nix/home => home}/opdavies/desktop/qutebrowser.nix (100%) rename {nix/home => home}/opdavies/hosts/PW05CH3L.nix (100%) rename {nix/home => home}/opdavies/hosts/lemp11.nix (100%) rename {nix/home => home}/opdavies/hosts/nixedo.nix (100%) rename {nix/home => home}/opdavies/hosts/t480.nix (100%) rename {nix/home => home}/opdavies/hosts/t490.nix (100%) rename {nix/home => home}/opdavies/modules/default.nix (100%) rename {nix/home => home}/opdavies/modules/node.nix (100%) rename {nix/home => home}/opdavies/modules/ranger.nix (100%) rename {nix/hosts => hosts}/PW05CH3L/configuration.nix (100%) rename {nix/hosts => hosts}/common/default.nix (97%) rename {nix/hosts => hosts}/common/programs.nix (100%) rename {nix/hosts => hosts}/common/users.nix (100%) rename {nix/hosts => hosts}/hetznix/configuration.nix (100%) rename {nix/hosts => hosts}/hetznix/disks.nix (100%) rename {nix/hosts => hosts}/hetznix/hardware-configuration.nix (100%) rename {nix/hosts => hosts}/hetznix/networking.nix (100%) rename {nix/hosts => hosts}/hetznix/secrets.nix (100%) rename {nix/hosts => hosts}/hetznix/security/acme.nix (100%) rename {nix/hosts => hosts}/hetznix/security/default.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/default.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/default.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/eric.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix (100%) rename {nix/hosts => hosts}/hetznix/services/default.nix (100%) rename {nix/hosts => hosts}/hetznix/services/forgejo.nix (100%) rename {nix/hosts => hosts}/hetznix/services/jitsi.nix (100%) rename {nix/hosts => hosts}/hetznix/services/openssl.nix (100%) rename {nix/hosts => hosts}/lemp11/configuration.nix (100%) rename {nix/hosts => hosts}/lemp11/hardware-configuration.nix (100%) rename {nix/hosts => hosts}/lemp11/hardware.nix (100%) rename {nix/hosts => hosts}/lemp11/programs.nix (100%) rename {nix/hosts => hosts}/lemp11/services.nix (100%) rename {nix/hosts => hosts}/nixedo/configuration.nix (100%) rename {nix/hosts => hosts}/nixedo/hardware-configuration.nix (100%) rename {nix/hosts => hosts}/nixedo/modules/acme.nix (100%) rename {nix/hosts => hosts}/nixedo/secrets.nix (100%) rename {nix/hosts => hosts}/t480/configuration.nix (100%) rename {nix/hosts => hosts}/t480/hardware-configuration.nix (100%) rename {nix/hosts => hosts}/t480/hardware.nix (100%) rename {nix/hosts => hosts}/t480/modules/docker.nix (100%) rename {nix/hosts => hosts}/t480/programs.nix (100%) rename {nix/hosts => hosts}/t480/secrets.nix (100%) rename {nix/hosts => hosts}/t480/services/cron.nix (100%) rename {nix/hosts => hosts}/t480/services/default.nix (100%) rename {nix/hosts => hosts}/t480/services/interception-tools.nix (100%) rename {nix/hosts => hosts}/t480/services/redshift.nix (100%) rename {nix/hosts => hosts}/t480/services/sound.nix (100%) rename {nix/hosts => hosts}/t480/services/udev.nix (100%) rename {nix/hosts => hosts}/t480/services/xserver.nix (100%) rename {nix/hosts => hosts}/t480/users.nix (100%) rename {nix/hosts => hosts}/t490/configuration.nix (100%) rename {nix/hosts => hosts}/t490/hardware-configuration.nix (100%) rename {nix/hosts => hosts}/t490/hardware.nix (100%) rename {nix/hosts => hosts}/t490/modules/docker.nix (100%) rename {nix/hosts => hosts}/t490/programs.nix (100%) rename {nix/hosts => hosts}/t490/secrets.nix (100%) rename {nix/hosts => hosts}/t490/services/cron.nix (100%) rename {nix/hosts => hosts}/t490/services/default.nix (100%) rename {nix/hosts => hosts}/t490/services/interception-tools.nix (100%) rename {nix/hosts => hosts}/t490/services/redshift.nix (100%) rename {nix/hosts => hosts}/t490/services/sound.nix (100%) rename {nix/hosts => hosts}/t490/services/udev.nix (100%) rename {nix/hosts => hosts}/t490/services/xserver.nix (100%) rename {nix/hosts => hosts}/t490/users.nix (100%) rename {nix/lib => lib}/shared/home-manager-packages.nix (100%) rename {nix/lib => lib}/shared/home-manager.nix (100%) rename {nix/lib => lib}/theme/default.nix (100%) rename {nix/modules => modules}/home-manager/cli/bin.nix (100%) rename {nix/modules => modules}/home-manager/cli/bluetuith.nix (100%) rename {nix/modules => modules}/home-manager/cli/default.nix (100%) rename {nix/modules => modules}/home-manager/cli/direnv.nix (100%) rename {nix/modules => modules}/home-manager/cli/fzf.nix (100%) rename {nix/modules => modules}/home-manager/cli/git.nix (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/.gitignore (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/markdown.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/netrw.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/php.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/rst.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/term.vim (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/after/ftplugin/text.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/autoload/opdavies.vim (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/init.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/globals.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/init.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/options.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/autocommands.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/colorscheme.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/comment.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/completion.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/conform.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/dap.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/edit_alternate.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/filetype.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/fugitive.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/gitsigns.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/harpoon.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/lint.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/mini.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/netrw.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/phpactor.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/refactoring.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/snippets.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/telescope.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/treesitter.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/undotree.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/plugin/vim-test.lua (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/spell/en.utf-8.add (100%) rename {nix/modules => modules}/home-manager/cli/neovim/config/stylua.toml (100%) rename {nix/modules => modules}/home-manager/cli/neovim/default.nix (100%) rename {nix/modules => modules}/home-manager/cli/newsboat.nix (100%) rename {nix/modules => modules}/home-manager/cli/notes.nix (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/config/phpactor.yml (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig (100%) rename {nix/modules => modules}/home-manager/cli/phpactor/default.nix (100%) rename {nix/modules => modules}/home-manager/cli/starship.nix (100%) rename {nix/modules => modules}/home-manager/cli/tmux-sessionizer.nix (100%) rename {nix/modules => modules}/home-manager/cli/tmux.nix (100%) rename {nix/modules => modules}/home-manager/cli/zsh.nix (100%) rename {nix/modules => modules}/home-manager/cli/zsh/abbreviations.nix (100%) rename {nix/modules => modules}/home-manager/cli/zsh/aliases.nix (100%) rename {nix/modules => modules}/home-manager/default.nix (100%) rename {nix/modules => modules}/home-manager/desktop/default.nix (100%) rename {nix/modules => modules}/home-manager/desktop/discord.nix (100%) rename {nix/modules => modules}/home-manager/desktop/dwm.nix (100%) rename {nix/modules => modules}/home-manager/desktop/espanso/matches/base.nix (100%) rename {nix/modules => modules}/home-manager/desktop/flameshot.nix (100%) rename {nix/modules => modules}/home-manager/desktop/gtk.nix (100%) rename {nix/modules => modules}/home-manager/desktop/media/default.nix (100%) rename {nix/modules => modules}/home-manager/desktop/media/gimp.nix (100%) rename {nix/modules => modules}/home-manager/desktop/media/handbrake.nix (100%) rename {nix/modules => modules}/home-manager/desktop/media/kdenlive.nix (100%) rename {nix/modules => modules}/home-manager/desktop/media/mpv.nix (100%) rename {nix/modules => modules}/home-manager/desktop/media/pocket-casts.nix (100%) rename {nix/modules => modules}/home-manager/desktop/slack.nix (100%) rename {nix/modules => modules}/home-manager/desktop/zoom.nix (100%) rename {nix/modules => modules}/nixos/cli/default.nix (100%) rename {nix/modules => modules}/nixos/cli/docker.nix (100%) rename {nix/modules => modules}/nixos/default.nix (100%) rename {nix/modules => modules}/nixos/desktop/default.nix (100%) rename {nix/modules => modules}/nixos/desktop/dwm.nix (100%) rename {nix/modules => modules}/nixos/desktop/peek.nix (100%) rename {nix/modules => modules}/nixos/desktop/screenkey.nix (100%) rename {nix/modules => modules}/nixos/desktop/st.nix (100%) rename {nix/modules => modules}/nixos/desktop/thunar.nix (100%) rename {nix/modules => modules}/nixos/fonts.nix (100%) rename {nix/modules => modules}/nixos/gaming.nix (100%) rename {nix/modules => modules}/nixos/homelab/audiobookshelf.nix (100%) rename {nix/modules => modules}/nixos/homelab/containers/beaverhabits.nix (100%) rename {nix/modules => modules}/nixos/homelab/containers/default.nix (100%) rename {nix/modules => modules}/nixos/homelab/containers/freshrss.nix (100%) rename {nix/modules => modules}/nixos/homelab/containers/pi-hole.nix (100%) rename {nix/modules => modules}/nixos/homelab/containers/tubearchivist.nix (100%) rename {nix/modules => modules}/nixos/homelab/default.nix (100%) rename {nix/modules => modules}/nixos/homelab/forgejo.nix (100%) rename {nix/modules => modules}/nixos/homelab/gitea.nix (100%) rename {nix/modules => modules}/nixos/homelab/immich.nix (100%) rename {nix/modules => modules}/nixos/homelab/jellyfin.nix (100%) rename {nix/modules => modules}/nixos/homelab/paperless.nix (100%) rename {nix/modules => modules}/nixos/homelab/vaultwarden.nix (100%) rename {nix/modules => modules}/nixos/xbanish.nix (100%) rename {nix/overlays => overlays}/default.nix (100%) rename {nix/overlays => overlays}/mods/dwm/default.nix (100%) rename {nix/overlays => overlays}/mods/dwm/patches/restartsig.patch (100%) rename {nix/pkgs => pkgs}/backup-websites.nix (100%) rename {nix/pkgs => pkgs}/build-glove80.nix (100%) rename {nix/pkgs => pkgs}/default.nix (100%) rename {nix/pkgs => pkgs}/displayselect/default.nix (100%) rename {nix/pkgs => pkgs}/displayselect/scaling.patch (100%) rename {nix/pkgs => pkgs}/notes/create-daily-notes.patch (100%) rename {nix/pkgs => pkgs}/notes/default.nix (100%) rename {nix/pkgs => pkgs}/passmenu-otp.nix (100%) rename {nix/pkgs => pkgs}/tmux-sessionizer/add-tmux-file.patch (100%) rename {nix/pkgs => pkgs}/tmux-sessionizer/configure-directories.patch (100%) rename {nix/pkgs => pkgs}/tmux-sessionizer/default.nix (100%) rename {nix/pkgs => pkgs}/tmux-sessionizer/move-default-script.patch (100%) rename {nix/pkgs => pkgs}/upload-to-files.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/conf-vim.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/default.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/edit-alternate-vim.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/standard-vim.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/vim-caser.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/vim-textobj-indent.nix (100%) rename {nix/pkgs => pkgs}/vim-plugins/vim-textobj-xmlattr.nix (100%) rename nix/secrets.nix => secrets.nix (100%) rename {nix/secrets => secrets}/cloudflare.age (100%) rename {nix/secrets => secrets}/tubearchivist.age (100%) rename {nix/users => users}/eric/default.nix (100%) rename {nix/users => users}/luke/default.nix (100%) rename {nix/users => users}/opdavies/default.nix (100%) diff --git a/flake.nix b/flake.nix index 161c6e01..728284f4 100644 --- a/flake.nix +++ b/flake.nix @@ -61,11 +61,11 @@ formatter.${system} = pkgs.nixfmt-rfc-style; - overlays = import ./nix/overlays { inherit inputs; }; + overlays = import ./overlays { inherit inputs; }; - nixosModules.default = ./nix/modules/nixos; + nixosModules.default = ./modules/nixos; - homeManagerModules.default = ./nix/modules/home-manager; + homeManagerModules.default = ./modules/home-manager; nixosConfigurations = { lemp11 = nixpkgs.lib.nixosSystem { @@ -77,7 +77,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/lemp11/configuration.nix + ./hosts/lemp11/configuration.nix ]; }; @@ -91,7 +91,7 @@ modules = [ agenix.nixosModules.default - ./nix/hosts/nixedo/configuration.nix + ./hosts/nixedo/configuration.nix ]; }; @@ -106,7 +106,7 @@ nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.lenovo-thinkpad-t480 - ./nix/hosts/t480/configuration.nix + ./hosts/t480/configuration.nix ]; }; @@ -121,7 +121,7 @@ nixos-hardware.nixosModules.common-gpu-intel nixos-hardware.nixosModules.lenovo-thinkpad-t490 - ./nix/hosts/t490/configuration.nix + ./hosts/t490/configuration.nix ]; }; @@ -139,7 +139,7 @@ disko.nixosModules.disko nixos-wsl.nixosModules.default - ./nix/hosts/PW05CH3L/configuration.nix + ./hosts/PW05CH3L/configuration.nix ]; }; @@ -154,7 +154,7 @@ agenix.nixosModules.default disko.nixosModules.disko - ./nix/hosts/hetznix/configuration.nix + ./hosts/hetznix/configuration.nix ]; }; }; diff --git a/nix/home/common/default.nix b/home/common/default.nix similarity index 100% rename from nix/home/common/default.nix rename to home/common/default.nix diff --git a/nix/home/opdavies/default.nix b/home/opdavies/default.nix similarity index 91% rename from nix/home/opdavies/default.nix rename to home/opdavies/default.nix index 09b0a959..35d8caf4 100644 --- a/nix/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -30,7 +30,7 @@ let inherit (pkgs) lib; - shared-config = import "${self}/nix/lib/shared/home-manager.nix" { + shared-config = import "${self}/lib/shared/home-manager.nix" { inherit config hostname @@ -42,7 +42,7 @@ let ; }; - shared-packages = import "${self}/nix/lib/shared/home-manager-packages.nix" { + shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit headless inputs diff --git a/nix/home/opdavies/desktop/default.nix b/home/opdavies/desktop/default.nix similarity index 100% rename from nix/home/opdavies/desktop/default.nix rename to home/opdavies/desktop/default.nix diff --git a/nix/home/opdavies/desktop/firefox.nix b/home/opdavies/desktop/firefox.nix similarity index 100% rename from nix/home/opdavies/desktop/firefox.nix rename to home/opdavies/desktop/firefox.nix diff --git a/nix/home/opdavies/desktop/qutebrowser.nix b/home/opdavies/desktop/qutebrowser.nix similarity index 100% rename from nix/home/opdavies/desktop/qutebrowser.nix rename to home/opdavies/desktop/qutebrowser.nix diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix similarity index 100% rename from nix/home/opdavies/hosts/PW05CH3L.nix rename to home/opdavies/hosts/PW05CH3L.nix diff --git a/nix/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix similarity index 100% rename from nix/home/opdavies/hosts/lemp11.nix rename to home/opdavies/hosts/lemp11.nix diff --git a/nix/home/opdavies/hosts/nixedo.nix b/home/opdavies/hosts/nixedo.nix similarity index 100% rename from nix/home/opdavies/hosts/nixedo.nix rename to home/opdavies/hosts/nixedo.nix diff --git a/nix/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix similarity index 100% rename from nix/home/opdavies/hosts/t480.nix rename to home/opdavies/hosts/t480.nix diff --git a/nix/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix similarity index 100% rename from nix/home/opdavies/hosts/t490.nix rename to home/opdavies/hosts/t490.nix diff --git a/nix/home/opdavies/modules/default.nix b/home/opdavies/modules/default.nix similarity index 100% rename from nix/home/opdavies/modules/default.nix rename to home/opdavies/modules/default.nix diff --git a/nix/home/opdavies/modules/node.nix b/home/opdavies/modules/node.nix similarity index 100% rename from nix/home/opdavies/modules/node.nix rename to home/opdavies/modules/node.nix diff --git a/nix/home/opdavies/modules/ranger.nix b/home/opdavies/modules/ranger.nix similarity index 100% rename from nix/home/opdavies/modules/ranger.nix rename to home/opdavies/modules/ranger.nix diff --git a/nix/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix similarity index 100% rename from nix/hosts/PW05CH3L/configuration.nix rename to hosts/PW05CH3L/configuration.nix diff --git a/nix/hosts/common/default.nix b/hosts/common/default.nix similarity index 97% rename from nix/hosts/common/default.nix rename to hosts/common/default.nix index 44999068..a4c8120a 100644 --- a/nix/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -84,7 +84,7 @@ useGlobalPkgs = true; useUserPackages = true; - users."${username}" = import "${self}/nix/home/${username}"; + users."${username}" = import "${self}/home/${username}"; }; nixpkgs = { diff --git a/nix/hosts/common/programs.nix b/hosts/common/programs.nix similarity index 100% rename from nix/hosts/common/programs.nix rename to hosts/common/programs.nix diff --git a/nix/hosts/common/users.nix b/hosts/common/users.nix similarity index 100% rename from nix/hosts/common/users.nix rename to hosts/common/users.nix diff --git a/nix/hosts/hetznix/configuration.nix b/hosts/hetznix/configuration.nix similarity index 100% rename from nix/hosts/hetznix/configuration.nix rename to hosts/hetznix/configuration.nix diff --git a/nix/hosts/hetznix/disks.nix b/hosts/hetznix/disks.nix similarity index 100% rename from nix/hosts/hetznix/disks.nix rename to hosts/hetznix/disks.nix diff --git a/nix/hosts/hetznix/hardware-configuration.nix b/hosts/hetznix/hardware-configuration.nix similarity index 100% rename from nix/hosts/hetznix/hardware-configuration.nix rename to hosts/hetznix/hardware-configuration.nix diff --git a/nix/hosts/hetznix/networking.nix b/hosts/hetznix/networking.nix similarity index 100% rename from nix/hosts/hetznix/networking.nix rename to hosts/hetznix/networking.nix diff --git a/nix/hosts/hetznix/secrets.nix b/hosts/hetznix/secrets.nix similarity index 100% rename from nix/hosts/hetznix/secrets.nix rename to hosts/hetznix/secrets.nix diff --git a/nix/hosts/hetznix/security/acme.nix b/hosts/hetznix/security/acme.nix similarity index 100% rename from nix/hosts/hetznix/security/acme.nix rename to hosts/hetznix/security/acme.nix diff --git a/nix/hosts/hetznix/security/default.nix b/hosts/hetznix/security/default.nix similarity index 100% rename from nix/hosts/hetznix/security/default.nix rename to hosts/hetznix/security/default.nix diff --git a/nix/hosts/hetznix/services/caddy/default.nix b/hosts/hetznix/services/caddy/default.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/default.nix rename to hosts/hetznix/services/caddy/default.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/default.nix b/hosts/hetznix/services/caddy/vhosts/default.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/default.nix rename to hosts/hetznix/services/caddy/vhosts/default.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/eric.nix b/hosts/hetznix/services/caddy/vhosts/eric.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/eric.nix rename to hosts/hetznix/services/caddy/vhosts/eric.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix similarity index 100% rename from nix/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix rename to hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix diff --git a/nix/hosts/hetznix/services/default.nix b/hosts/hetznix/services/default.nix similarity index 100% rename from nix/hosts/hetznix/services/default.nix rename to hosts/hetznix/services/default.nix diff --git a/nix/hosts/hetznix/services/forgejo.nix b/hosts/hetznix/services/forgejo.nix similarity index 100% rename from nix/hosts/hetznix/services/forgejo.nix rename to hosts/hetznix/services/forgejo.nix diff --git a/nix/hosts/hetznix/services/jitsi.nix b/hosts/hetznix/services/jitsi.nix similarity index 100% rename from nix/hosts/hetznix/services/jitsi.nix rename to hosts/hetznix/services/jitsi.nix diff --git a/nix/hosts/hetznix/services/openssl.nix b/hosts/hetznix/services/openssl.nix similarity index 100% rename from nix/hosts/hetznix/services/openssl.nix rename to hosts/hetznix/services/openssl.nix diff --git a/nix/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix similarity index 100% rename from nix/hosts/lemp11/configuration.nix rename to hosts/lemp11/configuration.nix diff --git a/nix/hosts/lemp11/hardware-configuration.nix b/hosts/lemp11/hardware-configuration.nix similarity index 100% rename from nix/hosts/lemp11/hardware-configuration.nix rename to hosts/lemp11/hardware-configuration.nix diff --git a/nix/hosts/lemp11/hardware.nix b/hosts/lemp11/hardware.nix similarity index 100% rename from nix/hosts/lemp11/hardware.nix rename to hosts/lemp11/hardware.nix diff --git a/nix/hosts/lemp11/programs.nix b/hosts/lemp11/programs.nix similarity index 100% rename from nix/hosts/lemp11/programs.nix rename to hosts/lemp11/programs.nix diff --git a/nix/hosts/lemp11/services.nix b/hosts/lemp11/services.nix similarity index 100% rename from nix/hosts/lemp11/services.nix rename to hosts/lemp11/services.nix diff --git a/nix/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix similarity index 100% rename from nix/hosts/nixedo/configuration.nix rename to hosts/nixedo/configuration.nix diff --git a/nix/hosts/nixedo/hardware-configuration.nix b/hosts/nixedo/hardware-configuration.nix similarity index 100% rename from nix/hosts/nixedo/hardware-configuration.nix rename to hosts/nixedo/hardware-configuration.nix diff --git a/nix/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix similarity index 100% rename from nix/hosts/nixedo/modules/acme.nix rename to hosts/nixedo/modules/acme.nix diff --git a/nix/hosts/nixedo/secrets.nix b/hosts/nixedo/secrets.nix similarity index 100% rename from nix/hosts/nixedo/secrets.nix rename to hosts/nixedo/secrets.nix diff --git a/nix/hosts/t480/configuration.nix b/hosts/t480/configuration.nix similarity index 100% rename from nix/hosts/t480/configuration.nix rename to hosts/t480/configuration.nix diff --git a/nix/hosts/t480/hardware-configuration.nix b/hosts/t480/hardware-configuration.nix similarity index 100% rename from nix/hosts/t480/hardware-configuration.nix rename to hosts/t480/hardware-configuration.nix diff --git a/nix/hosts/t480/hardware.nix b/hosts/t480/hardware.nix similarity index 100% rename from nix/hosts/t480/hardware.nix rename to hosts/t480/hardware.nix diff --git a/nix/hosts/t480/modules/docker.nix b/hosts/t480/modules/docker.nix similarity index 100% rename from nix/hosts/t480/modules/docker.nix rename to hosts/t480/modules/docker.nix diff --git a/nix/hosts/t480/programs.nix b/hosts/t480/programs.nix similarity index 100% rename from nix/hosts/t480/programs.nix rename to hosts/t480/programs.nix diff --git a/nix/hosts/t480/secrets.nix b/hosts/t480/secrets.nix similarity index 100% rename from nix/hosts/t480/secrets.nix rename to hosts/t480/secrets.nix diff --git a/nix/hosts/t480/services/cron.nix b/hosts/t480/services/cron.nix similarity index 100% rename from nix/hosts/t480/services/cron.nix rename to hosts/t480/services/cron.nix diff --git a/nix/hosts/t480/services/default.nix b/hosts/t480/services/default.nix similarity index 100% rename from nix/hosts/t480/services/default.nix rename to hosts/t480/services/default.nix diff --git a/nix/hosts/t480/services/interception-tools.nix b/hosts/t480/services/interception-tools.nix similarity index 100% rename from nix/hosts/t480/services/interception-tools.nix rename to hosts/t480/services/interception-tools.nix diff --git a/nix/hosts/t480/services/redshift.nix b/hosts/t480/services/redshift.nix similarity index 100% rename from nix/hosts/t480/services/redshift.nix rename to hosts/t480/services/redshift.nix diff --git a/nix/hosts/t480/services/sound.nix b/hosts/t480/services/sound.nix similarity index 100% rename from nix/hosts/t480/services/sound.nix rename to hosts/t480/services/sound.nix diff --git a/nix/hosts/t480/services/udev.nix b/hosts/t480/services/udev.nix similarity index 100% rename from nix/hosts/t480/services/udev.nix rename to hosts/t480/services/udev.nix diff --git a/nix/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix similarity index 100% rename from nix/hosts/t480/services/xserver.nix rename to hosts/t480/services/xserver.nix diff --git a/nix/hosts/t480/users.nix b/hosts/t480/users.nix similarity index 100% rename from nix/hosts/t480/users.nix rename to hosts/t480/users.nix diff --git a/nix/hosts/t490/configuration.nix b/hosts/t490/configuration.nix similarity index 100% rename from nix/hosts/t490/configuration.nix rename to hosts/t490/configuration.nix diff --git a/nix/hosts/t490/hardware-configuration.nix b/hosts/t490/hardware-configuration.nix similarity index 100% rename from nix/hosts/t490/hardware-configuration.nix rename to hosts/t490/hardware-configuration.nix diff --git a/nix/hosts/t490/hardware.nix b/hosts/t490/hardware.nix similarity index 100% rename from nix/hosts/t490/hardware.nix rename to hosts/t490/hardware.nix diff --git a/nix/hosts/t490/modules/docker.nix b/hosts/t490/modules/docker.nix similarity index 100% rename from nix/hosts/t490/modules/docker.nix rename to hosts/t490/modules/docker.nix diff --git a/nix/hosts/t490/programs.nix b/hosts/t490/programs.nix similarity index 100% rename from nix/hosts/t490/programs.nix rename to hosts/t490/programs.nix diff --git a/nix/hosts/t490/secrets.nix b/hosts/t490/secrets.nix similarity index 100% rename from nix/hosts/t490/secrets.nix rename to hosts/t490/secrets.nix diff --git a/nix/hosts/t490/services/cron.nix b/hosts/t490/services/cron.nix similarity index 100% rename from nix/hosts/t490/services/cron.nix rename to hosts/t490/services/cron.nix diff --git a/nix/hosts/t490/services/default.nix b/hosts/t490/services/default.nix similarity index 100% rename from nix/hosts/t490/services/default.nix rename to hosts/t490/services/default.nix diff --git a/nix/hosts/t490/services/interception-tools.nix b/hosts/t490/services/interception-tools.nix similarity index 100% rename from nix/hosts/t490/services/interception-tools.nix rename to hosts/t490/services/interception-tools.nix diff --git a/nix/hosts/t490/services/redshift.nix b/hosts/t490/services/redshift.nix similarity index 100% rename from nix/hosts/t490/services/redshift.nix rename to hosts/t490/services/redshift.nix diff --git a/nix/hosts/t490/services/sound.nix b/hosts/t490/services/sound.nix similarity index 100% rename from nix/hosts/t490/services/sound.nix rename to hosts/t490/services/sound.nix diff --git a/nix/hosts/t490/services/udev.nix b/hosts/t490/services/udev.nix similarity index 100% rename from nix/hosts/t490/services/udev.nix rename to hosts/t490/services/udev.nix diff --git a/nix/hosts/t490/services/xserver.nix b/hosts/t490/services/xserver.nix similarity index 100% rename from nix/hosts/t490/services/xserver.nix rename to hosts/t490/services/xserver.nix diff --git a/nix/hosts/t490/users.nix b/hosts/t490/users.nix similarity index 100% rename from nix/hosts/t490/users.nix rename to hosts/t490/users.nix diff --git a/nix/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix similarity index 100% rename from nix/lib/shared/home-manager-packages.nix rename to lib/shared/home-manager-packages.nix diff --git a/nix/lib/shared/home-manager.nix b/lib/shared/home-manager.nix similarity index 100% rename from nix/lib/shared/home-manager.nix rename to lib/shared/home-manager.nix diff --git a/nix/lib/theme/default.nix b/lib/theme/default.nix similarity index 100% rename from nix/lib/theme/default.nix rename to lib/theme/default.nix diff --git a/nix/modules/home-manager/cli/bin.nix b/modules/home-manager/cli/bin.nix similarity index 100% rename from nix/modules/home-manager/cli/bin.nix rename to modules/home-manager/cli/bin.nix diff --git a/nix/modules/home-manager/cli/bluetuith.nix b/modules/home-manager/cli/bluetuith.nix similarity index 100% rename from nix/modules/home-manager/cli/bluetuith.nix rename to modules/home-manager/cli/bluetuith.nix diff --git a/nix/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix similarity index 100% rename from nix/modules/home-manager/cli/default.nix rename to modules/home-manager/cli/default.nix diff --git a/nix/modules/home-manager/cli/direnv.nix b/modules/home-manager/cli/direnv.nix similarity index 100% rename from nix/modules/home-manager/cli/direnv.nix rename to modules/home-manager/cli/direnv.nix diff --git a/nix/modules/home-manager/cli/fzf.nix b/modules/home-manager/cli/fzf.nix similarity index 100% rename from nix/modules/home-manager/cli/fzf.nix rename to modules/home-manager/cli/fzf.nix diff --git a/nix/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix similarity index 100% rename from nix/modules/home-manager/cli/git.nix rename to modules/home-manager/cli/git.nix diff --git a/nix/modules/home-manager/cli/neovim/config/.gitignore b/modules/home-manager/cli/neovim/config/.gitignore similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/.gitignore rename to modules/home-manager/cli/neovim/config/.gitignore diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua rename to modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua rename to modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua rename to modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/php.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/php.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/php.lua rename to modules/home-manager/cli/neovim/config/after/ftplugin/php.lua diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua rename to modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/term.vim b/modules/home-manager/cli/neovim/config/after/ftplugin/term.vim similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/term.vim rename to modules/home-manager/cli/neovim/config/after/ftplugin/term.vim diff --git a/nix/modules/home-manager/cli/neovim/config/after/ftplugin/text.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/text.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/after/ftplugin/text.lua rename to modules/home-manager/cli/neovim/config/after/ftplugin/text.lua diff --git a/nix/modules/home-manager/cli/neovim/config/autoload/opdavies.vim b/modules/home-manager/cli/neovim/config/autoload/opdavies.vim similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/autoload/opdavies.vim rename to modules/home-manager/cli/neovim/config/autoload/opdavies.vim diff --git a/nix/modules/home-manager/cli/neovim/config/init.lua b/modules/home-manager/cli/neovim/config/init.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/init.lua rename to modules/home-manager/cli/neovim/config/init.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/init.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/init.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/init.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/init.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/options.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua diff --git a/nix/modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua rename to modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/autocommands.lua b/modules/home-manager/cli/neovim/config/plugin/autocommands.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/autocommands.lua rename to modules/home-manager/cli/neovim/config/plugin/autocommands.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/colorscheme.lua b/modules/home-manager/cli/neovim/config/plugin/colorscheme.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/colorscheme.lua rename to modules/home-manager/cli/neovim/config/plugin/colorscheme.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/comment.lua b/modules/home-manager/cli/neovim/config/plugin/comment.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/comment.lua rename to modules/home-manager/cli/neovim/config/plugin/comment.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/completion.lua b/modules/home-manager/cli/neovim/config/plugin/completion.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/completion.lua rename to modules/home-manager/cli/neovim/config/plugin/completion.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/conform.lua b/modules/home-manager/cli/neovim/config/plugin/conform.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/conform.lua rename to modules/home-manager/cli/neovim/config/plugin/conform.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/dap.lua b/modules/home-manager/cli/neovim/config/plugin/dap.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/dap.lua rename to modules/home-manager/cli/neovim/config/plugin/dap.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua b/modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua rename to modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/filetype.lua b/modules/home-manager/cli/neovim/config/plugin/filetype.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/filetype.lua rename to modules/home-manager/cli/neovim/config/plugin/filetype.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/fugitive.lua b/modules/home-manager/cli/neovim/config/plugin/fugitive.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/fugitive.lua rename to modules/home-manager/cli/neovim/config/plugin/fugitive.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/gitsigns.lua b/modules/home-manager/cli/neovim/config/plugin/gitsigns.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/gitsigns.lua rename to modules/home-manager/cli/neovim/config/plugin/gitsigns.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/harpoon.lua b/modules/home-manager/cli/neovim/config/plugin/harpoon.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/harpoon.lua rename to modules/home-manager/cli/neovim/config/plugin/harpoon.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/lint.lua b/modules/home-manager/cli/neovim/config/plugin/lint.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/lint.lua rename to modules/home-manager/cli/neovim/config/plugin/lint.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/mini.lua b/modules/home-manager/cli/neovim/config/plugin/mini.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/mini.lua rename to modules/home-manager/cli/neovim/config/plugin/mini.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/netrw.lua b/modules/home-manager/cli/neovim/config/plugin/netrw.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/netrw.lua rename to modules/home-manager/cli/neovim/config/plugin/netrw.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/phpactor.lua b/modules/home-manager/cli/neovim/config/plugin/phpactor.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/phpactor.lua rename to modules/home-manager/cli/neovim/config/plugin/phpactor.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/refactoring.lua b/modules/home-manager/cli/neovim/config/plugin/refactoring.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/refactoring.lua rename to modules/home-manager/cli/neovim/config/plugin/refactoring.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/snippets.lua b/modules/home-manager/cli/neovim/config/plugin/snippets.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/snippets.lua rename to modules/home-manager/cli/neovim/config/plugin/snippets.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/telescope.lua b/modules/home-manager/cli/neovim/config/plugin/telescope.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/telescope.lua rename to modules/home-manager/cli/neovim/config/plugin/telescope.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/treesitter.lua b/modules/home-manager/cli/neovim/config/plugin/treesitter.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/treesitter.lua rename to modules/home-manager/cli/neovim/config/plugin/treesitter.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/undotree.lua b/modules/home-manager/cli/neovim/config/plugin/undotree.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/undotree.lua rename to modules/home-manager/cli/neovim/config/plugin/undotree.lua diff --git a/nix/modules/home-manager/cli/neovim/config/plugin/vim-test.lua b/modules/home-manager/cli/neovim/config/plugin/vim-test.lua similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/plugin/vim-test.lua rename to modules/home-manager/cli/neovim/config/plugin/vim-test.lua diff --git a/nix/modules/home-manager/cli/neovim/config/spell/en.utf-8.add b/modules/home-manager/cli/neovim/config/spell/en.utf-8.add similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/spell/en.utf-8.add rename to modules/home-manager/cli/neovim/config/spell/en.utf-8.add diff --git a/nix/modules/home-manager/cli/neovim/config/stylua.toml b/modules/home-manager/cli/neovim/config/stylua.toml similarity index 100% rename from nix/modules/home-manager/cli/neovim/config/stylua.toml rename to modules/home-manager/cli/neovim/config/stylua.toml diff --git a/nix/modules/home-manager/cli/neovim/default.nix b/modules/home-manager/cli/neovim/default.nix similarity index 100% rename from nix/modules/home-manager/cli/neovim/default.nix rename to modules/home-manager/cli/neovim/default.nix diff --git a/nix/modules/home-manager/cli/newsboat.nix b/modules/home-manager/cli/newsboat.nix similarity index 100% rename from nix/modules/home-manager/cli/newsboat.nix rename to modules/home-manager/cli/newsboat.nix diff --git a/nix/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix similarity index 100% rename from nix/modules/home-manager/cli/notes.nix rename to modules/home-manager/cli/notes.nix diff --git a/nix/modules/home-manager/cli/phpactor/config/phpactor.yml b/modules/home-manager/cli/phpactor/config/phpactor.yml similarity index 100% rename from nix/modules/home-manager/cli/phpactor/config/phpactor.yml rename to modules/home-manager/cli/phpactor/config/phpactor.yml diff --git a/nix/modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig b/modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from nix/modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig rename to modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/nix/modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig b/modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from nix/modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig rename to modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig diff --git a/nix/modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig b/modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from nix/modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig rename to modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/nix/modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig b/modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from nix/modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig rename to modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/nix/modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig b/modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from nix/modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig rename to modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/nix/modules/home-manager/cli/phpactor/default.nix b/modules/home-manager/cli/phpactor/default.nix similarity index 100% rename from nix/modules/home-manager/cli/phpactor/default.nix rename to modules/home-manager/cli/phpactor/default.nix diff --git a/nix/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix similarity index 100% rename from nix/modules/home-manager/cli/starship.nix rename to modules/home-manager/cli/starship.nix diff --git a/nix/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix similarity index 100% rename from nix/modules/home-manager/cli/tmux-sessionizer.nix rename to modules/home-manager/cli/tmux-sessionizer.nix diff --git a/nix/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix similarity index 100% rename from nix/modules/home-manager/cli/tmux.nix rename to modules/home-manager/cli/tmux.nix diff --git a/nix/modules/home-manager/cli/zsh.nix b/modules/home-manager/cli/zsh.nix similarity index 100% rename from nix/modules/home-manager/cli/zsh.nix rename to modules/home-manager/cli/zsh.nix diff --git a/nix/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix similarity index 100% rename from nix/modules/home-manager/cli/zsh/abbreviations.nix rename to modules/home-manager/cli/zsh/abbreviations.nix diff --git a/nix/modules/home-manager/cli/zsh/aliases.nix b/modules/home-manager/cli/zsh/aliases.nix similarity index 100% rename from nix/modules/home-manager/cli/zsh/aliases.nix rename to modules/home-manager/cli/zsh/aliases.nix diff --git a/nix/modules/home-manager/default.nix b/modules/home-manager/default.nix similarity index 100% rename from nix/modules/home-manager/default.nix rename to modules/home-manager/default.nix diff --git a/nix/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix similarity index 100% rename from nix/modules/home-manager/desktop/default.nix rename to modules/home-manager/desktop/default.nix diff --git a/nix/modules/home-manager/desktop/discord.nix b/modules/home-manager/desktop/discord.nix similarity index 100% rename from nix/modules/home-manager/desktop/discord.nix rename to modules/home-manager/desktop/discord.nix diff --git a/nix/modules/home-manager/desktop/dwm.nix b/modules/home-manager/desktop/dwm.nix similarity index 100% rename from nix/modules/home-manager/desktop/dwm.nix rename to modules/home-manager/desktop/dwm.nix diff --git a/nix/modules/home-manager/desktop/espanso/matches/base.nix b/modules/home-manager/desktop/espanso/matches/base.nix similarity index 100% rename from nix/modules/home-manager/desktop/espanso/matches/base.nix rename to modules/home-manager/desktop/espanso/matches/base.nix diff --git a/nix/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/desktop/flameshot.nix similarity index 100% rename from nix/modules/home-manager/desktop/flameshot.nix rename to modules/home-manager/desktop/flameshot.nix diff --git a/nix/modules/home-manager/desktop/gtk.nix b/modules/home-manager/desktop/gtk.nix similarity index 100% rename from nix/modules/home-manager/desktop/gtk.nix rename to modules/home-manager/desktop/gtk.nix diff --git a/nix/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix similarity index 100% rename from nix/modules/home-manager/desktop/media/default.nix rename to modules/home-manager/desktop/media/default.nix diff --git a/nix/modules/home-manager/desktop/media/gimp.nix b/modules/home-manager/desktop/media/gimp.nix similarity index 100% rename from nix/modules/home-manager/desktop/media/gimp.nix rename to modules/home-manager/desktop/media/gimp.nix diff --git a/nix/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix similarity index 100% rename from nix/modules/home-manager/desktop/media/handbrake.nix rename to modules/home-manager/desktop/media/handbrake.nix diff --git a/nix/modules/home-manager/desktop/media/kdenlive.nix b/modules/home-manager/desktop/media/kdenlive.nix similarity index 100% rename from nix/modules/home-manager/desktop/media/kdenlive.nix rename to modules/home-manager/desktop/media/kdenlive.nix diff --git a/nix/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix similarity index 100% rename from nix/modules/home-manager/desktop/media/mpv.nix rename to modules/home-manager/desktop/media/mpv.nix diff --git a/nix/modules/home-manager/desktop/media/pocket-casts.nix b/modules/home-manager/desktop/media/pocket-casts.nix similarity index 100% rename from nix/modules/home-manager/desktop/media/pocket-casts.nix rename to modules/home-manager/desktop/media/pocket-casts.nix diff --git a/nix/modules/home-manager/desktop/slack.nix b/modules/home-manager/desktop/slack.nix similarity index 100% rename from nix/modules/home-manager/desktop/slack.nix rename to modules/home-manager/desktop/slack.nix diff --git a/nix/modules/home-manager/desktop/zoom.nix b/modules/home-manager/desktop/zoom.nix similarity index 100% rename from nix/modules/home-manager/desktop/zoom.nix rename to modules/home-manager/desktop/zoom.nix diff --git a/nix/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix similarity index 100% rename from nix/modules/nixos/cli/default.nix rename to modules/nixos/cli/default.nix diff --git a/nix/modules/nixos/cli/docker.nix b/modules/nixos/cli/docker.nix similarity index 100% rename from nix/modules/nixos/cli/docker.nix rename to modules/nixos/cli/docker.nix diff --git a/nix/modules/nixos/default.nix b/modules/nixos/default.nix similarity index 100% rename from nix/modules/nixos/default.nix rename to modules/nixos/default.nix diff --git a/nix/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix similarity index 100% rename from nix/modules/nixos/desktop/default.nix rename to modules/nixos/desktop/default.nix diff --git a/nix/modules/nixos/desktop/dwm.nix b/modules/nixos/desktop/dwm.nix similarity index 100% rename from nix/modules/nixos/desktop/dwm.nix rename to modules/nixos/desktop/dwm.nix diff --git a/nix/modules/nixos/desktop/peek.nix b/modules/nixos/desktop/peek.nix similarity index 100% rename from nix/modules/nixos/desktop/peek.nix rename to modules/nixos/desktop/peek.nix diff --git a/nix/modules/nixos/desktop/screenkey.nix b/modules/nixos/desktop/screenkey.nix similarity index 100% rename from nix/modules/nixos/desktop/screenkey.nix rename to modules/nixos/desktop/screenkey.nix diff --git a/nix/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix similarity index 100% rename from nix/modules/nixos/desktop/st.nix rename to modules/nixos/desktop/st.nix diff --git a/nix/modules/nixos/desktop/thunar.nix b/modules/nixos/desktop/thunar.nix similarity index 100% rename from nix/modules/nixos/desktop/thunar.nix rename to modules/nixos/desktop/thunar.nix diff --git a/nix/modules/nixos/fonts.nix b/modules/nixos/fonts.nix similarity index 100% rename from nix/modules/nixos/fonts.nix rename to modules/nixos/fonts.nix diff --git a/nix/modules/nixos/gaming.nix b/modules/nixos/gaming.nix similarity index 100% rename from nix/modules/nixos/gaming.nix rename to modules/nixos/gaming.nix diff --git a/nix/modules/nixos/homelab/audiobookshelf.nix b/modules/nixos/homelab/audiobookshelf.nix similarity index 100% rename from nix/modules/nixos/homelab/audiobookshelf.nix rename to modules/nixos/homelab/audiobookshelf.nix diff --git a/nix/modules/nixos/homelab/containers/beaverhabits.nix b/modules/nixos/homelab/containers/beaverhabits.nix similarity index 100% rename from nix/modules/nixos/homelab/containers/beaverhabits.nix rename to modules/nixos/homelab/containers/beaverhabits.nix diff --git a/nix/modules/nixos/homelab/containers/default.nix b/modules/nixos/homelab/containers/default.nix similarity index 100% rename from nix/modules/nixos/homelab/containers/default.nix rename to modules/nixos/homelab/containers/default.nix diff --git a/nix/modules/nixos/homelab/containers/freshrss.nix b/modules/nixos/homelab/containers/freshrss.nix similarity index 100% rename from nix/modules/nixos/homelab/containers/freshrss.nix rename to modules/nixos/homelab/containers/freshrss.nix diff --git a/nix/modules/nixos/homelab/containers/pi-hole.nix b/modules/nixos/homelab/containers/pi-hole.nix similarity index 100% rename from nix/modules/nixos/homelab/containers/pi-hole.nix rename to modules/nixos/homelab/containers/pi-hole.nix diff --git a/nix/modules/nixos/homelab/containers/tubearchivist.nix b/modules/nixos/homelab/containers/tubearchivist.nix similarity index 100% rename from nix/modules/nixos/homelab/containers/tubearchivist.nix rename to modules/nixos/homelab/containers/tubearchivist.nix diff --git a/nix/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix similarity index 100% rename from nix/modules/nixos/homelab/default.nix rename to modules/nixos/homelab/default.nix diff --git a/nix/modules/nixos/homelab/forgejo.nix b/modules/nixos/homelab/forgejo.nix similarity index 100% rename from nix/modules/nixos/homelab/forgejo.nix rename to modules/nixos/homelab/forgejo.nix diff --git a/nix/modules/nixos/homelab/gitea.nix b/modules/nixos/homelab/gitea.nix similarity index 100% rename from nix/modules/nixos/homelab/gitea.nix rename to modules/nixos/homelab/gitea.nix diff --git a/nix/modules/nixos/homelab/immich.nix b/modules/nixos/homelab/immich.nix similarity index 100% rename from nix/modules/nixos/homelab/immich.nix rename to modules/nixos/homelab/immich.nix diff --git a/nix/modules/nixos/homelab/jellyfin.nix b/modules/nixos/homelab/jellyfin.nix similarity index 100% rename from nix/modules/nixos/homelab/jellyfin.nix rename to modules/nixos/homelab/jellyfin.nix diff --git a/nix/modules/nixos/homelab/paperless.nix b/modules/nixos/homelab/paperless.nix similarity index 100% rename from nix/modules/nixos/homelab/paperless.nix rename to modules/nixos/homelab/paperless.nix diff --git a/nix/modules/nixos/homelab/vaultwarden.nix b/modules/nixos/homelab/vaultwarden.nix similarity index 100% rename from nix/modules/nixos/homelab/vaultwarden.nix rename to modules/nixos/homelab/vaultwarden.nix diff --git a/nix/modules/nixos/xbanish.nix b/modules/nixos/xbanish.nix similarity index 100% rename from nix/modules/nixos/xbanish.nix rename to modules/nixos/xbanish.nix diff --git a/nix/overlays/default.nix b/overlays/default.nix similarity index 100% rename from nix/overlays/default.nix rename to overlays/default.nix diff --git a/nix/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix similarity index 100% rename from nix/overlays/mods/dwm/default.nix rename to overlays/mods/dwm/default.nix diff --git a/nix/overlays/mods/dwm/patches/restartsig.patch b/overlays/mods/dwm/patches/restartsig.patch similarity index 100% rename from nix/overlays/mods/dwm/patches/restartsig.patch rename to overlays/mods/dwm/patches/restartsig.patch diff --git a/nix/pkgs/backup-websites.nix b/pkgs/backup-websites.nix similarity index 100% rename from nix/pkgs/backup-websites.nix rename to pkgs/backup-websites.nix diff --git a/nix/pkgs/build-glove80.nix b/pkgs/build-glove80.nix similarity index 100% rename from nix/pkgs/build-glove80.nix rename to pkgs/build-glove80.nix diff --git a/nix/pkgs/default.nix b/pkgs/default.nix similarity index 100% rename from nix/pkgs/default.nix rename to pkgs/default.nix diff --git a/nix/pkgs/displayselect/default.nix b/pkgs/displayselect/default.nix similarity index 100% rename from nix/pkgs/displayselect/default.nix rename to pkgs/displayselect/default.nix diff --git a/nix/pkgs/displayselect/scaling.patch b/pkgs/displayselect/scaling.patch similarity index 100% rename from nix/pkgs/displayselect/scaling.patch rename to pkgs/displayselect/scaling.patch diff --git a/nix/pkgs/notes/create-daily-notes.patch b/pkgs/notes/create-daily-notes.patch similarity index 100% rename from nix/pkgs/notes/create-daily-notes.patch rename to pkgs/notes/create-daily-notes.patch diff --git a/nix/pkgs/notes/default.nix b/pkgs/notes/default.nix similarity index 100% rename from nix/pkgs/notes/default.nix rename to pkgs/notes/default.nix diff --git a/nix/pkgs/passmenu-otp.nix b/pkgs/passmenu-otp.nix similarity index 100% rename from nix/pkgs/passmenu-otp.nix rename to pkgs/passmenu-otp.nix diff --git a/nix/pkgs/tmux-sessionizer/add-tmux-file.patch b/pkgs/tmux-sessionizer/add-tmux-file.patch similarity index 100% rename from nix/pkgs/tmux-sessionizer/add-tmux-file.patch rename to pkgs/tmux-sessionizer/add-tmux-file.patch diff --git a/nix/pkgs/tmux-sessionizer/configure-directories.patch b/pkgs/tmux-sessionizer/configure-directories.patch similarity index 100% rename from nix/pkgs/tmux-sessionizer/configure-directories.patch rename to pkgs/tmux-sessionizer/configure-directories.patch diff --git a/nix/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix similarity index 100% rename from nix/pkgs/tmux-sessionizer/default.nix rename to pkgs/tmux-sessionizer/default.nix diff --git a/nix/pkgs/tmux-sessionizer/move-default-script.patch b/pkgs/tmux-sessionizer/move-default-script.patch similarity index 100% rename from nix/pkgs/tmux-sessionizer/move-default-script.patch rename to pkgs/tmux-sessionizer/move-default-script.patch diff --git a/nix/pkgs/upload-to-files.nix b/pkgs/upload-to-files.nix similarity index 100% rename from nix/pkgs/upload-to-files.nix rename to pkgs/upload-to-files.nix diff --git a/nix/pkgs/vim-plugins/conf-vim.nix b/pkgs/vim-plugins/conf-vim.nix similarity index 100% rename from nix/pkgs/vim-plugins/conf-vim.nix rename to pkgs/vim-plugins/conf-vim.nix diff --git a/nix/pkgs/vim-plugins/default.nix b/pkgs/vim-plugins/default.nix similarity index 100% rename from nix/pkgs/vim-plugins/default.nix rename to pkgs/vim-plugins/default.nix diff --git a/nix/pkgs/vim-plugins/edit-alternate-vim.nix b/pkgs/vim-plugins/edit-alternate-vim.nix similarity index 100% rename from nix/pkgs/vim-plugins/edit-alternate-vim.nix rename to pkgs/vim-plugins/edit-alternate-vim.nix diff --git a/nix/pkgs/vim-plugins/standard-vim.nix b/pkgs/vim-plugins/standard-vim.nix similarity index 100% rename from nix/pkgs/vim-plugins/standard-vim.nix rename to pkgs/vim-plugins/standard-vim.nix diff --git a/nix/pkgs/vim-plugins/vim-caser.nix b/pkgs/vim-plugins/vim-caser.nix similarity index 100% rename from nix/pkgs/vim-plugins/vim-caser.nix rename to pkgs/vim-plugins/vim-caser.nix diff --git a/nix/pkgs/vim-plugins/vim-textobj-indent.nix b/pkgs/vim-plugins/vim-textobj-indent.nix similarity index 100% rename from nix/pkgs/vim-plugins/vim-textobj-indent.nix rename to pkgs/vim-plugins/vim-textobj-indent.nix diff --git a/nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix b/pkgs/vim-plugins/vim-textobj-xmlattr.nix similarity index 100% rename from nix/pkgs/vim-plugins/vim-textobj-xmlattr.nix rename to pkgs/vim-plugins/vim-textobj-xmlattr.nix diff --git a/nix/secrets.nix b/secrets.nix similarity index 100% rename from nix/secrets.nix rename to secrets.nix diff --git a/nix/secrets/cloudflare.age b/secrets/cloudflare.age similarity index 100% rename from nix/secrets/cloudflare.age rename to secrets/cloudflare.age diff --git a/nix/secrets/tubearchivist.age b/secrets/tubearchivist.age similarity index 100% rename from nix/secrets/tubearchivist.age rename to secrets/tubearchivist.age diff --git a/nix/users/eric/default.nix b/users/eric/default.nix similarity index 100% rename from nix/users/eric/default.nix rename to users/eric/default.nix diff --git a/nix/users/luke/default.nix b/users/luke/default.nix similarity index 100% rename from nix/users/luke/default.nix rename to users/luke/default.nix diff --git a/nix/users/opdavies/default.nix b/users/opdavies/default.nix similarity index 100% rename from nix/users/opdavies/default.nix rename to users/opdavies/default.nix From 9d874ce423fea7583da6aa8848a02defa3ee9041 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:21:49 +0000 Subject: [PATCH 1533/2258] Delete lib/theme/default.nix --- lib/theme/default.nix | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 lib/theme/default.nix diff --git a/lib/theme/default.nix b/lib/theme/default.nix deleted file mode 100644 index a23f823d..00000000 --- a/lib/theme/default.nix +++ /dev/null @@ -1,2 +0,0 @@ -# TODO Remove this file. -{ ... }: { } From 1aa18760f974b703c60200de11129d29070d36f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:22:39 +0000 Subject: [PATCH 1534/2258] Remove espanso matches Espanso was removed in commit b6a653f. --- .../desktop/espanso/matches/base.nix | 86 ------------------- 1 file changed, 86 deletions(-) delete mode 100644 modules/home-manager/desktop/espanso/matches/base.nix diff --git a/modules/home-manager/desktop/espanso/matches/base.nix b/modules/home-manager/desktop/espanso/matches/base.nix deleted file mode 100644 index 57204c50..00000000 --- a/modules/home-manager/desktop/espanso/matches/base.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ lib, ... }: - -let - inherit (lib) removePrefix; - - websiteUrl = "https://www.oliverdavies.uk"; - dailyUrl = "https://dailydrupaler.com"; - githubUrl = "https://github.com/opdavies"; - podcastUrl = "https://beyondblockspodcast.com"; -in -{ - matches = [ - { - trigger = ":email"; - replace = "oliver@${removePrefix "https://www." websiteUrl}"; - } - { - trigger = ":archive"; - replace = "${websiteUrl}/archive"; - } - { - trigger = ":atdc"; - replace = "${websiteUrl}/atdc"; - } - { - trigger = ":call"; - replace = "${websiteUrl}/call"; - } - { - trigger = ":coaching"; - replace = "${websiteUrl}/team-coaching"; - } - { - trigger = ":daily"; - replace = "${dailyUrl}"; - } - { - trigger = ":dot"; - replace = "${githubUrl}/dotfiles"; - } - { - trigger = ":gh"; - replace = "${githubUrl}"; - } - { - trigger = ":gt"; - replace = "Great, thanks!"; - } - { - trigger = ":guest"; - replace = "If you'd like to be a guest on ${podcastUrl} and talk about ..., I'd love to have you on the show."; - } - { - trigger = ":lh"; - replace = "http://localhost"; - } - { - trigger = ":podcast"; - replace = "${podcastUrl}"; - } - { - trigger = ":pricing"; - replace = "${websiteUrl}/pricing"; - } - { - trigger = ":record"; - replace = "https://savvycal.com/opdavies/beyond-blocks"; - } - { - trigger = ":talks"; - replace = "${websiteUrl}/presentations"; - } - { - trigger = ":website"; - replace = "${websiteUrl}"; - } - { - trigger = ":zet"; - replace = "https://zet.oliverdavies.uk"; - } - { - trigger = ":zoom"; - replace = "https://savvycal.com/opdavies/zoom"; - } - ]; -} From f28ccbf45d1276f78f23b6be9340765e8e7ef224 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:24:59 +0000 Subject: [PATCH 1535/2258] Move shared Home Manager configuration --- home/opdavies/default.nix | 14 +------------- home/opdavies/home.nix | 13 +++++++++++++ lib/shared/home-manager.nix | 24 ------------------------ 3 files changed, 14 insertions(+), 37 deletions(-) create mode 100644 home/opdavies/home.nix delete mode 100644 lib/shared/home-manager.nix diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 35d8caf4..9e6844ca 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -30,18 +30,6 @@ let inherit (pkgs) lib; - shared-config = import "${self}/lib/shared/home-manager.nix" { - inherit - config - hostname - inputs - lib - pkgs - self - username - ; - }; - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { inherit headless @@ -55,7 +43,7 @@ in imports = [ ../common - shared-config + ./home.nix ./modules ] ++ pkgs.lib.optionals (!headless) [ diff --git a/home/opdavies/home.nix b/home/opdavies/home.nix new file mode 100644 index 00000000..4e56aeda --- /dev/null +++ b/home/opdavies/home.nix @@ -0,0 +1,13 @@ +{ config, ... }: + +{ + home.username = "opdavies"; + home.homeDirectory = "/home/${config.home.username}"; + + home.stateVersion = "22.05"; + + programs.home-manager.enable = true; + + # Nicely reload system units when changing configs. + systemd.user.startServices = "sd-switch"; +} diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix deleted file mode 100644 index 1c1be627..00000000 --- a/lib/shared/home-manager.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ username, ... }: - -{ - home.username = "${username}"; - home.homeDirectory = "/home/${username}"; - - # Nicely reload system units when changing configs. - systemd.user.startServices = "sd-switch"; - - # See https://github.com/nix-community/home-manager/issues/2064#issuecomment-2259307514. - # This is a workaround for the following errors that appeared when switching back to unstable: - # - 1: Failed to start unit flameshot.service - # - 2: org.freedesktop.systemd1.NoSuchUnit: Unit tray.target not found. - systemd.user.targets.tray = { - Unit = { - Description = "Home Manager System Tray"; - Requires = [ "graphical-session-pre.target" ]; - }; - }; - - home.stateVersion = "22.05"; - - programs.home-manager.enable = true; -} From 7c9ffc116ebdc742972e79d9a17f9c8ef3dad7de Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:25:29 +0000 Subject: [PATCH 1536/2258] Move shared Home Manager packages --- home/opdavies/default.nix | 14 ----------- home/opdavies/home.nix | 32 +++++++++++++++++++++++-- lib/shared/home-manager-packages.nix | 35 ---------------------------- 3 files changed, 30 insertions(+), 51 deletions(-) delete mode 100644 lib/shared/home-manager-packages.nix diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 9e6844ca..6b64526f 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -1,12 +1,9 @@ { config, headless ? false, - hostname, inputs, outputs, - self, system, - username, ... }: let @@ -29,15 +26,6 @@ let ; inherit (pkgs) lib; - - shared-packages = import "${self}/lib/shared/home-manager-packages.nix" { - inherit - headless - inputs - pkgs - username - ; - }; in { imports = @@ -50,8 +38,6 @@ in ./desktop ]; - home.packages = shared-packages; - home.sessionVariables = { EDITOR = "nvim"; IMAPFILTER_HOME = "${configHome}/imapfilter"; diff --git a/home/opdavies/home.nix b/home/opdavies/home.nix index 4e56aeda..c22c2e2e 100644 --- a/home/opdavies/home.nix +++ b/home/opdavies/home.nix @@ -1,10 +1,38 @@ -{ config, ... }: +{ config, pkgs, ... }: { home.username = "opdavies"; home.homeDirectory = "/home/${config.home.username}"; - home.stateVersion = "22.05"; + home.stateVersion = "22.05"; # Please read the comment before changing. + + home.packages = with pkgs; [ + cachix + delta + entr + gcc + git + git-crypt + gnupg + inotify-tools + jq + killall + lua + mob + pv + simple-http-server + sshs + tldr + tree + tree-sitter + unzip + w3m + watchexec + wget + xclip + xdg-utils + zbar + ]; programs.home-manager.enable = true; diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix deleted file mode 100644 index 4b22f704..00000000 --- a/lib/shared/home-manager-packages.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - headless, - pkgs, - username, - ... -}: - -with pkgs; -[ - cachix - delta - entr - gcc - git - git-crypt - gnupg - inotify-tools - jq - killall - lua - mob - pv - simple-http-server - sshs - tldr - tree - tree-sitter - unzip - w3m - watchexec - wget - xclip - xdg-utils - zbar -] From f2eea2d397ba6dbad7df78a298d49c18db057794 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 29 Mar 2025 23:34:25 +0000 Subject: [PATCH 1537/2258] Move non-Nix bash scripts --- modules/home-manager/cli/bin.nix | 9 --------- modules/home-manager/cli/bin/default.nix | 10 ++++++++++ .../home-manager/cli/bin/scripts}/create-script | 0 .../home-manager/cli/bin/scripts}/git-abort | 0 .../home-manager/cli/bin/scripts}/git-bare-clone | 0 .../home-manager/cli/bin/scripts}/git-continue | 0 {bin => modules/home-manager/cli/bin/scripts}/git-sync | 0 {bin => modules/home-manager/cli/bin/scripts}/git-up | 0 .../home-manager/cli/bin/scripts}/import-gzip-database | 0 .../cli/bin/scripts}/main-or-master-branch | 0 {bin => modules/home-manager/cli/bin/scripts}/mounter | 0 .../cli/bin/scripts}/move-firefox-screenshots | 0 .../home-manager/cli/bin/scripts}/new-drupal-module | 0 {bin => modules/home-manager/cli/bin/scripts}/setbg | 0 .../home-manager/cli/bin/scripts}/start-traefik | 0 .../cli/bin/scripts}/stop-all-docker-containers | 0 .../home-manager/cli/bin/scripts}/stop-traefik | 0 .../home-manager/cli/bin/scripts}/tag-release | 0 .../home-manager/cli/bin/scripts}/unmounter | 0 .../home-manager/cli/bin/scripts}/update-all-git-repos | 0 modules/home-manager/cli/default.nix | 2 +- 21 files changed, 11 insertions(+), 10 deletions(-) delete mode 100644 modules/home-manager/cli/bin.nix create mode 100644 modules/home-manager/cli/bin/default.nix rename {bin => modules/home-manager/cli/bin/scripts}/create-script (100%) rename {bin => modules/home-manager/cli/bin/scripts}/git-abort (100%) rename {bin => modules/home-manager/cli/bin/scripts}/git-bare-clone (100%) rename {bin => modules/home-manager/cli/bin/scripts}/git-continue (100%) rename {bin => modules/home-manager/cli/bin/scripts}/git-sync (100%) rename {bin => modules/home-manager/cli/bin/scripts}/git-up (100%) rename {bin => modules/home-manager/cli/bin/scripts}/import-gzip-database (100%) rename {bin => modules/home-manager/cli/bin/scripts}/main-or-master-branch (100%) rename {bin => modules/home-manager/cli/bin/scripts}/mounter (100%) rename {bin => modules/home-manager/cli/bin/scripts}/move-firefox-screenshots (100%) rename {bin => modules/home-manager/cli/bin/scripts}/new-drupal-module (100%) rename {bin => modules/home-manager/cli/bin/scripts}/setbg (100%) rename {bin => modules/home-manager/cli/bin/scripts}/start-traefik (100%) rename {bin => modules/home-manager/cli/bin/scripts}/stop-all-docker-containers (100%) rename {bin => modules/home-manager/cli/bin/scripts}/stop-traefik (100%) rename {bin => modules/home-manager/cli/bin/scripts}/tag-release (100%) rename {bin => modules/home-manager/cli/bin/scripts}/unmounter (100%) rename {bin => modules/home-manager/cli/bin/scripts}/update-all-git-repos (100%) diff --git a/modules/home-manager/cli/bin.nix b/modules/home-manager/cli/bin.nix deleted file mode 100644 index 43864ae2..00000000 --- a/modules/home-manager/cli/bin.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ self, ... }: -{ - home.sessionPath = [ "$HOME/bin" ]; - - home.file."bin" = { - source = "${self}/bin"; - recursive = true; - }; -} diff --git a/modules/home-manager/cli/bin/default.nix b/modules/home-manager/cli/bin/default.nix new file mode 100644 index 00000000..2da9de18 --- /dev/null +++ b/modules/home-manager/cli/bin/default.nix @@ -0,0 +1,10 @@ +{ + home = { + sessionPath = [ "$HOME/.local/bin" ]; + + file.".local/bin" = { + source = ./scripts; + recursive = true; + }; + }; +} diff --git a/bin/create-script b/modules/home-manager/cli/bin/scripts/create-script similarity index 100% rename from bin/create-script rename to modules/home-manager/cli/bin/scripts/create-script diff --git a/bin/git-abort b/modules/home-manager/cli/bin/scripts/git-abort similarity index 100% rename from bin/git-abort rename to modules/home-manager/cli/bin/scripts/git-abort diff --git a/bin/git-bare-clone b/modules/home-manager/cli/bin/scripts/git-bare-clone similarity index 100% rename from bin/git-bare-clone rename to modules/home-manager/cli/bin/scripts/git-bare-clone diff --git a/bin/git-continue b/modules/home-manager/cli/bin/scripts/git-continue similarity index 100% rename from bin/git-continue rename to modules/home-manager/cli/bin/scripts/git-continue diff --git a/bin/git-sync b/modules/home-manager/cli/bin/scripts/git-sync similarity index 100% rename from bin/git-sync rename to modules/home-manager/cli/bin/scripts/git-sync diff --git a/bin/git-up b/modules/home-manager/cli/bin/scripts/git-up similarity index 100% rename from bin/git-up rename to modules/home-manager/cli/bin/scripts/git-up diff --git a/bin/import-gzip-database b/modules/home-manager/cli/bin/scripts/import-gzip-database similarity index 100% rename from bin/import-gzip-database rename to modules/home-manager/cli/bin/scripts/import-gzip-database diff --git a/bin/main-or-master-branch b/modules/home-manager/cli/bin/scripts/main-or-master-branch similarity index 100% rename from bin/main-or-master-branch rename to modules/home-manager/cli/bin/scripts/main-or-master-branch diff --git a/bin/mounter b/modules/home-manager/cli/bin/scripts/mounter similarity index 100% rename from bin/mounter rename to modules/home-manager/cli/bin/scripts/mounter diff --git a/bin/move-firefox-screenshots b/modules/home-manager/cli/bin/scripts/move-firefox-screenshots similarity index 100% rename from bin/move-firefox-screenshots rename to modules/home-manager/cli/bin/scripts/move-firefox-screenshots diff --git a/bin/new-drupal-module b/modules/home-manager/cli/bin/scripts/new-drupal-module similarity index 100% rename from bin/new-drupal-module rename to modules/home-manager/cli/bin/scripts/new-drupal-module diff --git a/bin/setbg b/modules/home-manager/cli/bin/scripts/setbg similarity index 100% rename from bin/setbg rename to modules/home-manager/cli/bin/scripts/setbg diff --git a/bin/start-traefik b/modules/home-manager/cli/bin/scripts/start-traefik similarity index 100% rename from bin/start-traefik rename to modules/home-manager/cli/bin/scripts/start-traefik diff --git a/bin/stop-all-docker-containers b/modules/home-manager/cli/bin/scripts/stop-all-docker-containers similarity index 100% rename from bin/stop-all-docker-containers rename to modules/home-manager/cli/bin/scripts/stop-all-docker-containers diff --git a/bin/stop-traefik b/modules/home-manager/cli/bin/scripts/stop-traefik similarity index 100% rename from bin/stop-traefik rename to modules/home-manager/cli/bin/scripts/stop-traefik diff --git a/bin/tag-release b/modules/home-manager/cli/bin/scripts/tag-release similarity index 100% rename from bin/tag-release rename to modules/home-manager/cli/bin/scripts/tag-release diff --git a/bin/unmounter b/modules/home-manager/cli/bin/scripts/unmounter similarity index 100% rename from bin/unmounter rename to modules/home-manager/cli/bin/scripts/unmounter diff --git a/bin/update-all-git-repos b/modules/home-manager/cli/bin/scripts/update-all-git-repos similarity index 100% rename from bin/update-all-git-repos rename to modules/home-manager/cli/bin/scripts/update-all-git-repos diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 726f02e6..1b911633 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -2,7 +2,7 @@ { imports = [ - ./bin.nix + ./bin ./bluetuith.nix ./direnv.nix ./fzf.nix From a751ec4541d8ece14f2e32585e8a8e511b6c986d Mon Sep 17 00:00:00 2001 From: opdavies <opdavies@noreply.code.oliverdavies.uk> Date: Sat, 29 Mar 2025 23:43:02 +0000 Subject: [PATCH 1538/2258] Delete README.md --- README.md | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index fc843863..00000000 --- a/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# dotfiles - -Cross-platform development environments for opdavies using Nix, NixOS and Home Manager. - -## Why did you move from Ansible? - -TBD. - -## Why NixOS? - -TBD. - -## Why Home Manager? - -TBD. - -## NixOS vs WSL2 (Windows) - -TBD. - -## Inspiration - -- [Chris Toomey](https://github.com/christoomey/dotfiles) -- [codico](https://github.com/codicocodes/dotfiles) -- [Dan Leech](https://github.com/dantleech/dotfiles) -- [Gabe Berke-Williams](https://github.com/gabebw/dotfiles) -- [Jeff Geerling](https://github.com/geerlingguy/dotfiles) -- [Jess Archer](https://github.com/jessarcher/dotfiles) -- [kensodev](https://github.com/KensoDev/dotfiles) -- [Robin Malfait](https://github.com/RobinMalfait/dotfiles) -- [TheAltF4Stream](https://github.com/ALT-F4-LLC/dotfiles-nixos) -- [ThePrimeagen](https://github.com/ThePrimeagen/.dotfiles) -- [Thoughtbot](https://github.com/thoughtbot/dotfiles) -- [TJ DeVries](https://github.com/tjdevries/config_manager) From 613c2070154cb3e1cd38a2d08182a7a2a2522c94 Mon Sep 17 00:00:00 2001 From: opdavies <opdavies@noreply.code.oliverdavies.uk> Date: Sat, 29 Mar 2025 23:43:26 +0000 Subject: [PATCH 1539/2258] Delete .markdownlint.yaml --- .markdownlint.yaml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .markdownlint.yaml diff --git a/.markdownlint.yaml b/.markdownlint.yaml deleted file mode 100644 index ff7d7cc8..00000000 --- a/.markdownlint.yaml +++ /dev/null @@ -1 +0,0 @@ -MD013: false From 6bc04c77cd1f60a9b4e7fed93dea20367d8cea74 Mon Sep 17 00:00:00 2001 From: opdavies <opdavies@noreply.code.oliverdavies.uk> Date: Sat, 29 Mar 2025 23:43:46 +0000 Subject: [PATCH 1540/2258] Delete .envrc --- .envrc | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .envrc diff --git a/.envrc b/.envrc deleted file mode 100644 index a5dbbcba..00000000 --- a/.envrc +++ /dev/null @@ -1 +0,0 @@ -use flake . From 683dde918d6ff2a58fa25dff59bebc494994b569 Mon Sep 17 00:00:00 2001 From: opdavies <opdavies@noreply.code.oliverdavies.uk> Date: Sat, 29 Mar 2025 23:44:38 +0000 Subject: [PATCH 1541/2258] Delete todo.txt --- todo.txt | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 todo.txt diff --git a/todo.txt b/todo.txt deleted file mode 100644 index 46e3fa63..00000000 --- a/todo.txt +++ /dev/null @@ -1,7 +0,0 @@ -Add daily script -Add create-podcast-tasks script -Replace doppler with agenix -Evaluate services.languagetool as a replacement for Grammarly -Make git email address configurable -Finish configuring syncthing with nix - https://github.com/neeasade/dotfiles/blob/694c2a11107c10947af956befe16cbe5cee0abda/os/nixos/config/shared.nix#L62 - From 078e7ff638044ee31575974fcc53b2fa26271ba5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 30 Mar 2025 12:36:27 +0100 Subject: [PATCH 1542/2258] Fix wallpaper path --- modules/home-manager/cli/bin/scripts/setbg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/bin/scripts/setbg b/modules/home-manager/cli/bin/scripts/setbg index 2856e15b..4f0bf61c 100755 --- a/modules/home-manager/cli/bin/scripts/setbg +++ b/modules/home-manager/cli/bin/scripts/setbg @@ -1,3 +1,3 @@ #!/usr/bin/env bash -xwallpaper --zoom ~/Code/dotfiles/wallpaper/wallpaper.jpg +xwallpaper --zoom ~/${XDG_REPOS_DIR}/nixos-config/wallpaper/wallpaper.jpg From 640ef4a97e5032942b8a43267969f7671f4c2542 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 30 Mar 2025 12:43:34 +0100 Subject: [PATCH 1543/2258] Fix spellfile path --- modules/home-manager/cli/zsh/aliases.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/zsh/aliases.nix b/modules/home-manager/cli/zsh/aliases.nix index a31448f2..018b6806 100644 --- a/modules/home-manager/cli/zsh/aliases.nix +++ b/modules/home-manager/cli/zsh/aliases.nix @@ -10,6 +10,6 @@ s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; - vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/dotfiles/nvim/spell/en.utf-8.add"; + vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.adddotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add"; wt = "git worktree"; } From 92f7639be9c40f7745f73364f849dbc73f2c63ef Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 30 Mar 2025 12:45:29 +0100 Subject: [PATCH 1544/2258] Re-add run alias --- modules/home-manager/cli/zsh/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/zsh/aliases.nix b/modules/home-manager/cli/zsh/aliases.nix index 018b6806..4dd7c869 100644 --- a/modules/home-manager/cli/zsh/aliases.nix +++ b/modules/home-manager/cli/zsh/aliases.nix @@ -7,6 +7,7 @@ "..." = "cd ../.."; "...." = "cd ../../.."; "....." = "cd ../../../.."; + run = "./run"; s = "secrets"; secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; From 016bd767920dbf467168fc68c0b4d5ccde31f3a5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 30 Mar 2025 17:00:52 +0100 Subject: [PATCH 1545/2258] Remove unused aliases --- modules/home-manager/cli/zsh/aliases.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/home-manager/cli/zsh/aliases.nix b/modules/home-manager/cli/zsh/aliases.nix index 4dd7c869..304d4b3f 100644 --- a/modules/home-manager/cli/zsh/aliases.nix +++ b/modules/home-manager/cli/zsh/aliases.nix @@ -8,8 +8,6 @@ "...." = "cd ../../.."; "....." = "cd ../../../.."; run = "./run"; - s = "secrets"; - secrets = ''doppler --project "$(whoami)" run''; tag = "tag-release"; vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.adddotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add"; wt = "git worktree"; From 3388fd2b7e6794ab053026a3dcba509b8d6079e4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 30 Mar 2025 17:21:19 +0100 Subject: [PATCH 1546/2258] Add a keymap to easily add `{{site.url))/` before ...some text This is useful when writing my daily emails and creating links within the content. --- .../home-manager/cli/neovim/config/after/ftplugin/markdown.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua b/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua index bbd678ca..27bdcf09 100644 --- a/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua +++ b/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua @@ -1,3 +1,5 @@ -- TODO: Interim fix for https://github.com/nvim-treesitter/nvim-treesitter-context/issues/431. vim.opt_local.spell = true vim.opt_local.wrap = true + +vim.keymap.set("n", "<leader>su", "Bi{{site.url}}/<Esc>") From eb449b2b5544d85485168430432d6e79800b518f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 09:10:30 +0100 Subject: [PATCH 1547/2258] Add an alias for `composer install` --- modules/home-manager/cli/zsh/abbreviations.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 08486841..7bebecdf 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -132,6 +132,7 @@ dvu = "devenv up"; c = "composer"; + ci = "composer install"; cr = "composer require"; crd = "composer require drupal/%"; cu = "composer update"; From c55dcbc07a4b4f931781f7fa1e164a2aee44cfeb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 09:20:22 +0100 Subject: [PATCH 1548/2258] Move zsh.nix --- modules/home-manager/cli/default.nix | 2 +- modules/home-manager/cli/{zsh.nix => zsh/default.nix} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename modules/home-manager/cli/{zsh.nix => zsh/default.nix} (94%) diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 1b911633..c1696007 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -14,6 +14,6 @@ ./starship.nix ./tmux.nix ./tmux-sessionizer.nix - ./zsh.nix + ./zsh ]; } diff --git a/modules/home-manager/cli/zsh.nix b/modules/home-manager/cli/zsh/default.nix similarity index 94% rename from modules/home-manager/cli/zsh.nix rename to modules/home-manager/cli/zsh/default.nix index ef317117..7f77f5c3 100644 --- a/modules/home-manager/cli/zsh.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -9,12 +9,12 @@ zsh-abbr = { enable = true; - abbreviations = import ./zsh/abbreviations.nix; + abbreviations = import ./abbreviations.nix; }; dotDir = ".config/zsh"; - shellAliases = (import ./zsh/aliases.nix { inherit config; }); + shellAliases = (import ./aliases.nix { inherit config; }); localVariables = { ABBR_SET_EXPANSION_CURSOR = 1; From 31472dea4fe2c6e8acc363a80cc4e08369bf80f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 09:47:38 +0100 Subject: [PATCH 1549/2258] Fix global abbreviations --- modules/home-manager/cli/zsh/abbreviations.nix | 13 ------------- modules/home-manager/cli/zsh/default.nix | 1 + .../home-manager/cli/zsh/global-abbreviations.nix | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 modules/home-manager/cli/zsh/global-abbreviations.nix diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 7bebecdf..6461ffda 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -108,19 +108,6 @@ rpub = "run publish"; rt = "run test"; - "-g A1" = "| awk '{print $1}'"; - "-g C" = "| xclip -sel clip"; - "-g Fj" = "| jq ."; - "-g Fy" = "| yq ."; - "-g G" = "| grep"; - "-g GH" = "| grep HTTP"; - "-g Gi" = "| grep -i"; - "-g H2" = "| head -n 20"; - "-g H" = "| head"; - "-g L" = "| less"; - "-g V" = "| nvim -"; - "-g X" = "| xargs -I1"; - nah = "git reset --hard; git clean -fd"; wip = "git commit -m wip"; diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index 7f77f5c3..dc110f74 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -10,6 +10,7 @@ enable = true; abbreviations = import ./abbreviations.nix; + globalAbbreviations = import ./global-abbreviations.nix; }; dotDir = ".config/zsh"; diff --git a/modules/home-manager/cli/zsh/global-abbreviations.nix b/modules/home-manager/cli/zsh/global-abbreviations.nix new file mode 100644 index 00000000..9faa7408 --- /dev/null +++ b/modules/home-manager/cli/zsh/global-abbreviations.nix @@ -0,0 +1,14 @@ +{ + A1 = "| awk '{print $1}'"; + C = "| xclip -sel clip"; + Fj = "| jq ."; + Fy = "| yq ."; + G = "| grep"; + GH = "| grep HTTP"; + Gi = "| grep -i"; + H2 = "| head -n 20"; + H = "| head"; + L = "| less"; + V = "| nvim -"; + X = "| xargs -I1"; +} From a6a943dd70ac887994d629d1bb17c97da80e4dcb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 13:34:13 +0100 Subject: [PATCH 1550/2258] Remove the git user --- hosts/hetznix/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/hetznix/configuration.nix b/hosts/hetznix/configuration.nix index 29809adf..54cfffc2 100644 --- a/hosts/hetznix/configuration.nix +++ b/hosts/hetznix/configuration.nix @@ -17,7 +17,6 @@ ./security ./services - ../../users/git ../../users/opdavies ]; From 1587dba66f95093ffa50417ee32894a3004420f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 13:35:36 +0100 Subject: [PATCH 1551/2258] Add `jj` to easily switch back to visual mode --- modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua index 88c784d3..33915178 100644 --- a/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua +++ b/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua @@ -19,6 +19,7 @@ set("v", "<down>", "<nop>") set("v", "<up>", "<nop>") -- Easily switch back to visual mode. +set("i", "jj", "<Esc>") set("i", "jk", "<Esc>") -- Easy insertion of a trailing ; or , from insert mode From 65173e6f75197a18a0f8543a58eb04e04856d39f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 20:04:38 +0100 Subject: [PATCH 1552/2258] Move restartsig.patch --- overlays/mods/dwm/default.nix | 2 +- overlays/mods/dwm/{patches => }/restartsig.patch | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename overlays/mods/dwm/{patches => }/restartsig.patch (100%) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 5e47cf06..a2db7c57 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -114,7 +114,7 @@ prev.dwm.override { ''; patches = with prev; [ - ./patches/restartsig.patch + ./restartsig.patch (fetchpatch { url = "https://dwm.suckless.org/patches/preserveonrestart/dwm-preserveonrestart-6.3.diff"; diff --git a/overlays/mods/dwm/patches/restartsig.patch b/overlays/mods/dwm/restartsig.patch similarity index 100% rename from overlays/mods/dwm/patches/restartsig.patch rename to overlays/mods/dwm/restartsig.patch From dd8d054b37dfbcd7ddd532d344d144aaf63d3094 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 21:29:42 +0100 Subject: [PATCH 1553/2258] Fix duplicate directory suggestions --- pkgs/tmux-sessionizer/configure-directories.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tmux-sessionizer/configure-directories.patch b/pkgs/tmux-sessionizer/configure-directories.patch index 55d7e044..1a281adc 100644 --- a/pkgs/tmux-sessionizer/configure-directories.patch +++ b/pkgs/tmux-sessionizer/configure-directories.patch @@ -9,7 +9,7 @@ index fa1bec5..4d79e0b 100755 - # If someone wants to make this extensible, i'll accept - # PR - selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L ~/Code ~/Code/os ~/Documents -maxdepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) ++ selected=$(find -L ~/Code ~/Code/os ~/Documents -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) fi if [[ -z $selected ]]; then From 290cea0228b4a126dcda60fac588c076a12d0fcb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 31 Mar 2025 22:30:04 +0100 Subject: [PATCH 1554/2258] flake update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index ceb8f0b6..13984d43 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1743267068, - "narHash": "sha256-G7866vbO5jgqMcYJzgbxej40O6mBGQMGt6gM0himjoA=", + "lastModified": 1743438213, + "narHash": "sha256-ZZDN+0v1r4I1xkQWlt8euOJv5S4EvElUCZMrDjTCEsY=", "owner": "nix-community", "repo": "home-manager", - "rev": "b431496538b0e294fbe44a1441b24ae8195c63f0", + "rev": "ccd7df836e1f42ea84806760f25b77b586370259", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1743167577, - "narHash": "sha256-I09SrXIO0UdyBFfh0fxDq5WnCDg8XKmZ1HQbaXzMA1k=", + "lastModified": 1743420942, + "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "0ed819e708af17bfc4bbc63ee080ef308a24aa42", + "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1742937945, - "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", + "lastModified": 1743367904, + "narHash": "sha256-sOos1jZGKmT6xxPvxGQyPTApOunXvScV4lNjBCXd/CI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", + "rev": "7ffe0edc685f14b8c635e3d6591b0bbb97365e6c", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1743285520, - "narHash": "sha256-vR+lXbAuMgLz/DS6mgqiCLWzf9pEjgFfWzUunW2dr/A=", + "lastModified": 1743456179, + "narHash": "sha256-GCqqzyJMXaQTx6b159cERA9UrDEwuueymKrkeZNcZK4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b121d80e2ec7d213652fe593e0a0bde071d6296b", + "rev": "a3a3263dcee708eebad1735644509d78367403fc", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1743095683, - "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", + "lastModified": 1743315132, + "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", + "rev": "52faf482a3889b7619003c0daec593a1912fddc1", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1743095683, - "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", + "lastModified": 1743315132, + "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", + "rev": "52faf482a3889b7619003c0daec593a1912fddc1", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743285136, - "narHash": "sha256-x5a/2rh++gnkEe1CoGSJ24dHqydoGNJrmNYKxSiWd7Q=", + "lastModified": 1743454066, + "narHash": "sha256-8h+Ne6XNccuvkS6ZvcK7yTc+so35J2KvIOPAipFdM7o=", "owner": "nix-community", "repo": "NUR", - "rev": "5cff75c20f69e7ed9889349f54e085f382c8b6ff", + "rev": "0d287e4ac4f1572a4d615b46c17365ac1846dfdf", "type": "github" }, "original": { From 61f87918e0eb7f5d7dcde0c5806747fe99142648 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 1 Apr 2025 09:13:58 +0100 Subject: [PATCH 1555/2258] Use XDG directory names --- pkgs/tmux-sessionizer/configure-directories.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tmux-sessionizer/configure-directories.patch b/pkgs/tmux-sessionizer/configure-directories.patch index 1a281adc..91f850b6 100644 --- a/pkgs/tmux-sessionizer/configure-directories.patch +++ b/pkgs/tmux-sessionizer/configure-directories.patch @@ -9,7 +9,7 @@ index fa1bec5..4d79e0b 100755 - # If someone wants to make this extensible, i'll accept - # PR - selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L ~/Code ~/Code/os ~/Documents -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) ++ selected=$(find -L "${XDG_REPOS_DIR}" "${XDG_REPOS_DIR}/os" "${XDG_DOCUMENTS_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) fi if [[ -z $selected ]]; then From c906a7226b62a207a4242b27d751fe34f9127f63 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 1 Apr 2025 16:06:58 +0100 Subject: [PATCH 1556/2258] Add an abbreviation for `git tag` --- modules/home-manager/cli/zsh/abbreviations.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 6461ffda..985fc5c9 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -52,6 +52,7 @@ gsh = "git show"; gst = "git stash"; gstp = "git stash pop"; + gt = "git tag"; # tmux ta = "tmux attach"; From b27a2fcabf29e7ca86d787c6929808ccae73fb3c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 1 Apr 2025 23:23:59 +0100 Subject: [PATCH 1557/2258] Refactor input usage --- flake.nix | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/flake.nix b/flake.nix index 728284f4..74e59e65 100644 --- a/flake.nix +++ b/flake.nix @@ -23,15 +23,7 @@ }; outputs = - { - agenix, - disko, - nixos-hardware, - nixos-wsl, - nixpkgs, - self, - ... - }@inputs: + { nixpkgs, self, ... }@inputs: let inherit (self) outputs; @@ -75,7 +67,7 @@ }; modules = [ - agenix.nixosModules.default + inputs.agenix.nixosModules.default ./hosts/lemp11/configuration.nix ]; @@ -89,7 +81,7 @@ }; modules = [ - agenix.nixosModules.default + inputs.agenix.nixosModules.default ./hosts/nixedo/configuration.nix ]; @@ -102,9 +94,9 @@ }; modules = [ - agenix.nixosModules.default - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.lenovo-thinkpad-t480 + inputs.agenix.nixosModules.default + inputs.nixos-hardware.nixosModules.common-gpu-intel + inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480 ./hosts/t480/configuration.nix ]; @@ -117,9 +109,9 @@ }; modules = [ - agenix.nixosModules.default - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.lenovo-thinkpad-t490 + inputs.agenix.nixosModules.default + inputs.nixos-hardware.nixosModules.common-gpu-intel + inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t490 ./hosts/t490/configuration.nix ]; @@ -135,9 +127,9 @@ }; modules = [ - agenix.nixosModules.default - disko.nixosModules.disko - nixos-wsl.nixosModules.default + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko + inputs.nixos-wsl.nixosModules.default ./hosts/PW05CH3L/configuration.nix ]; @@ -151,8 +143,8 @@ }; modules = [ - agenix.nixosModules.default - disko.nixosModules.disko + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko ./hosts/hetznix/configuration.nix ]; From a6bef1d8f9c0ab0deef928f470cf595696dcb382 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 2 Apr 2025 10:48:42 +0100 Subject: [PATCH 1558/2258] Remove wl-clipboard --- hosts/PW05CH3L/configuration.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index ffea18f8..75dd43ea 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,9 +1,4 @@ -{ - inputs, - pkgs, - username, - ... -}: +{ inputs, username, ... }: { imports = [ @@ -11,10 +6,6 @@ ../../users/opdavies ]; - environment.systemPackages = with pkgs; [ - wl-clipboard - ]; - nixosModules = { docker.enable = true; }; From 01ffef86cd759fa7371054a11778e3a092bf55ce Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 2 Apr 2025 10:50:27 +0100 Subject: [PATCH 1559/2258] Fix `pass -c` WSL has a `WAYLAND_DISPLAY` environment variable set that is confusing `pass` and causing it to use `wl-copy` that I don't have installed. `xclip` works fine in WSL, which is used if the `WAYLAND_DISPLAY` is unset. --- home/opdavies/hosts/PW05CH3L.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index ea1adc9b..1f9d7f86 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -11,4 +11,8 @@ tmux.enable = true; tmux-sessionizer.enable = true; }; + + home.sessionVariables = { + WAYLAND_DISPLAY = ""; + }; } From f0b37c1813b11d86b1eff6ac6cd9fbffec2ec1d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 2 Apr 2025 12:00:00 +0100 Subject: [PATCH 1560/2258] Extract `.xinitrc` into a separate file --- modules/home-manager/desktop/default.nix | 2 +- .../desktop/{dwm.nix => dwm/default.nix} | 12 +----------- modules/home-manager/desktop/dwm/xinitrc | 5 +++++ 3 files changed, 7 insertions(+), 12 deletions(-) rename modules/home-manager/desktop/{dwm.nix => dwm/default.nix} (62%) create mode 100644 modules/home-manager/desktop/dwm/xinitrc diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix index ce4a16d9..883e04ec 100644 --- a/modules/home-manager/desktop/default.nix +++ b/modules/home-manager/desktop/default.nix @@ -1,7 +1,7 @@ { imports = [ ./discord.nix - ./dwm.nix + ./dwm ./flameshot.nix ./gtk.nix ./media diff --git a/modules/home-manager/desktop/dwm.nix b/modules/home-manager/desktop/dwm/default.nix similarity index 62% rename from modules/home-manager/desktop/dwm.nix rename to modules/home-manager/desktop/dwm/default.nix index c6f5f44f..a6f33a4a 100644 --- a/modules/home-manager/desktop/dwm.nix +++ b/modules/home-manager/desktop/dwm/default.nix @@ -12,17 +12,7 @@ with lib; config = mkIf config.homeManagerModules.dwm.enable { home = { - file."${config.home.sessionVariables.XINITRC}".text = '' - systemctl --user import-environment DISPLAY - - poweralertd -s & - - setbg & - - systemctl --user start dwm-status & - - exec dwm - ''; + file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; sessionVariables = { XINITRC = "${config.xdg.configHome}/X11/xinitrc"; diff --git a/modules/home-manager/desktop/dwm/xinitrc b/modules/home-manager/desktop/dwm/xinitrc new file mode 100644 index 00000000..ac0f6c3a --- /dev/null +++ b/modules/home-manager/desktop/dwm/xinitrc @@ -0,0 +1,5 @@ +systemctl --user import-environment DISPLAY +poweralertd -s & +setbg & +systemctl --user start dwm-status & +exec dwm From af3c7b2f2b1fddf6dec20e9f4ecea355a3d1b1ab Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 17:15:53 +0100 Subject: [PATCH 1561/2258] Add wiki-push and wiki-pull scripts --- home/opdavies/hosts/PW05CH3L.nix | 40 +++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index 1f9d7f86..335b3926 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -1,3 +1,10 @@ +{ + config, + lib, + pkgs, + ... +}: + { homeManagerModules = { direnv.enable = true; @@ -12,7 +19,34 @@ tmux-sessionizer.enable = true; }; - home.sessionVariables = { - WAYLAND_DISPLAY = ""; - }; + home = + let + remoteIpAddress = "192.168.1.111"; + wikiPath = "${config.xdg.userDirs.documents}/wiki"; + in + { + packages = [ + (pkgs.writeShellApplication { + name = "wiki-pull"; + + text = '' + ${lib.getExe pkgs.rsync} -avz --update \ + ${remoteIpAddress}:${wikiPath}/ ${wikiPath} "$@" + ''; + }) + + (pkgs.writeShellApplication { + name = "wiki-push"; + + text = '' + ${lib.getExe pkgs.rsync} -avz --update \ + ${wikiPath}/ ${remoteIpAddress}:${wikiPath} "$@" + ''; + }) + ]; + + sessionVariables = { + WAYLAND_DISPLAY = ""; + }; + }; } From 0fe9d1a692d4b8031165e8ec8402734bb869f0d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 12:10:21 +0100 Subject: [PATCH 1562/2258] Fix mounter and unmounter paths --- overlays/mods/dwm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index a2db7c57..dfdb8808 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -94,8 +94,8 @@ prev.dwm.override { { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${prev.flameshot}/bin/flameshot gui") }, { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${lib.getExe prev.displayselect}", NULL} } }, - { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/bin/mounter", NULL } } }, - { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/bin/unmounter", NULL } } }, + { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/.local/bin/mounter", NULL } } }, + { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/.local/bin/unmounter", NULL } } }, }; static const Button buttons[] = { From 88a37556994023fc4b5ca4c0eadcfab1b6bde4a5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 20:14:36 +0100 Subject: [PATCH 1563/2258] Add wiki-push script --- home/opdavies/hosts/t480.nix | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 8b43909d..c6c6f0fc 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { homeManagerModules = { @@ -32,6 +32,28 @@ displayselect isync upload-to-files + + (pkgs.writeShellApplication ( + let + remoteIpAddresses = [ + "116.203.11.255" + "192.168.1.116" + ]; + + wikiPath = "${config.xdg.userDirs.documents}/wiki"; + in + { + name = "wiki-push"; + + text = builtins.concatStringsSep "\n" ( + map (ipAddress: '' + ${lib.getExe pkgs.rsync} -avz --update \ + --delete --delete-after \ + ${wikiPath}/ ${ipAddress}:${wikiPath} "$@" + '') remoteIpAddresses + ); + } + )) ]; programs.neomutt = { From dec432d2823703a3327a40fb28e461984d7d5bb4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 20:15:04 +0100 Subject: [PATCH 1564/2258] Group directories by "personal" and "work" --- hosts/t480/services/cron.nix | 2 +- modules/home-manager/cli/neovim/config/lua/opdavies/options.lua | 2 +- pkgs/tmux-sessionizer/configure-directories.patch | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/t480/services/cron.nix b/hosts/t480/services/cron.nix index f9b961c3..9d7b0e53 100644 --- a/hosts/t480/services/cron.nix +++ b/hosts/t480/services/cron.nix @@ -5,7 +5,7 @@ enable = true; systemCronJobs = [ - "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" + "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/personal/email-filters/config.lua" "0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a" ]; }; diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua index 81910593..bbd332e4 100644 --- a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua +++ b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua @@ -28,7 +28,7 @@ local settings = { signcolumn = "yes:1", smartindent = true, softtabstop = 2, - spellfile = "/home/opdavies/Code/dotfiles/nvim/spell/en.utf-8.add", + spellfile = "/home/opdavies/Code/personal/nixos-config/nvim/spell/en.utf-8.add", splitbelow = true, splitright = true, swapfile = false, diff --git a/pkgs/tmux-sessionizer/configure-directories.patch b/pkgs/tmux-sessionizer/configure-directories.patch index 91f850b6..2d94ea08 100644 --- a/pkgs/tmux-sessionizer/configure-directories.patch +++ b/pkgs/tmux-sessionizer/configure-directories.patch @@ -9,7 +9,7 @@ index fa1bec5..4d79e0b 100755 - # If someone wants to make this extensible, i'll accept - # PR - selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L "${XDG_REPOS_DIR}" "${XDG_REPOS_DIR}/os" "${XDG_DOCUMENTS_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) ++ selected=$(find -L "${XDG_REPOS_DIR}/personal" "${XDG_REPOS_DIR}/work" "${XDG_REPOS_DIR}/os" "${XDG_DOCUMENTS_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) fi if [[ -z $selected ]]; then From fe9a8885eebc7285046979968e3379586214ed60 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 20:18:52 +0100 Subject: [PATCH 1565/2258] Fix spellfile path --- modules/home-manager/cli/neovim/config/lua/opdavies/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua index bbd332e4..745bd8f7 100644 --- a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua +++ b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua @@ -28,7 +28,7 @@ local settings = { signcolumn = "yes:1", smartindent = true, softtabstop = 2, - spellfile = "/home/opdavies/Code/personal/nixos-config/nvim/spell/en.utf-8.add", + spellfile = "/home/opdavies/Code/personal/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add", splitbelow = true, splitright = true, swapfile = false, From 5a50cb5c933afc54fbba3858c7a8ca54c4bfc6be Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 22:26:43 +0100 Subject: [PATCH 1566/2258] Set `foldlevelstart` to 1 I'd like to use folds more, so I'm going to try setting the default foldlevel to 1 so that I can see and use them on a more regular basis. --- .../home-manager/cli/neovim/config/lua/opdavies/options.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua index 745bd8f7..ce951037 100644 --- a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua +++ b/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua @@ -7,8 +7,7 @@ local settings = { breakindent = true, expandtab = true, exrc = true, - foldlevel = 1, - foldlevelstart = 99, + foldlevelstart = 1, foldmethod = "indent", formatoptions = "clqjp", hidden = false, From 88284829ec3940a9e8a03c89c7c36f98d4be0f36 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 3 Apr 2025 22:43:12 +0100 Subject: [PATCH 1567/2258] Refactor inputs for external modules --- flake.nix | 38 ++++++++++++++++++++++------------ hosts/lemp11/configuration.nix | 6 ------ 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/flake.nix b/flake.nix index 74e59e65..28ecfd1a 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,14 @@ }; outputs = - { nixpkgs, self, ... }@inputs: + { + agenix, + disko, + nixos-hardware, + nixpkgs, + self, + ... + }@inputs: let inherit (self) outputs; @@ -67,7 +74,12 @@ }; modules = [ - inputs.agenix.nixosModules.default + agenix.nixosModules.default + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-hdd + nixos-hardware.nixosModules.system76 ./hosts/lemp11/configuration.nix ]; @@ -81,7 +93,7 @@ }; modules = [ - inputs.agenix.nixosModules.default + agenix.nixosModules.default ./hosts/nixedo/configuration.nix ]; @@ -94,9 +106,9 @@ }; modules = [ - inputs.agenix.nixosModules.default - inputs.nixos-hardware.nixosModules.common-gpu-intel - inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480 + agenix.nixosModules.default + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.lenovo-thinkpad-t480 ./hosts/t480/configuration.nix ]; @@ -109,9 +121,9 @@ }; modules = [ - inputs.agenix.nixosModules.default - inputs.nixos-hardware.nixosModules.common-gpu-intel - inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t490 + agenix.nixosModules.default + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.lenovo-thinkpad-t490 ./hosts/t490/configuration.nix ]; @@ -127,8 +139,8 @@ }; modules = [ - inputs.agenix.nixosModules.default - inputs.disko.nixosModules.disko + agenix.nixosModules.default + disko.nixosModules.disko inputs.nixos-wsl.nixosModules.default ./hosts/PW05CH3L/configuration.nix @@ -143,8 +155,8 @@ }; modules = [ - inputs.agenix.nixosModules.default - inputs.disko.nixosModules.disko + agenix.nixosModules.default + disko.nixosModules.disko ./hosts/hetznix/configuration.nix ]; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 616b8a19..2e567a66 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -2,12 +2,6 @@ { imports = [ - inputs.nixos-hardware.nixosModules.common-cpu-intel - inputs.nixos-hardware.nixosModules.common-gpu-intel - inputs.nixos-hardware.nixosModules.common-pc-laptop - inputs.nixos-hardware.nixosModules.common-pc-laptop-hdd - inputs.nixos-hardware.nixosModules.system76 - ./hardware-configuration.nix ./hardware.nix ./programs.nix From 5ddf7a5e4f615604077fc6d5b6b5368c69436a3f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 02:09:49 +0100 Subject: [PATCH 1568/2258] Add PeerTube URLs --- modules/home-manager/cli/newsboat.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/cli/newsboat.nix b/modules/home-manager/cli/newsboat.nix index bbbd1e33..99e8cad7 100644 --- a/modules/home-manager/cli/newsboat.nix +++ b/modules/home-manager/cli/newsboat.nix @@ -328,6 +328,8 @@ with lib; url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; tags = [ "Rugby" ]; } + { url = "https://tinkerbetter.tube/feeds/videos.xml?videoChannelId=2"; } + { url = "https://video.fosshq.org/feeds/videos.xml?videoChannelId=2"; } ]; }; }; From 37ae46370ba6b82cfb6371e87f21752da796630d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 02:13:25 +0100 Subject: [PATCH 1569/2258] Extract URLs to a separate file --- modules/home-manager/cli/default.nix | 2 +- modules/home-manager/cli/newsboat.nix | 337 ------------------ modules/home-manager/cli/newsboat/default.nix | 42 +++ modules/home-manager/cli/newsboat/urls.nix | 295 +++++++++++++++ 4 files changed, 338 insertions(+), 338 deletions(-) delete mode 100644 modules/home-manager/cli/newsboat.nix create mode 100644 modules/home-manager/cli/newsboat/default.nix create mode 100644 modules/home-manager/cli/newsboat/urls.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index c1696007..3394e79a 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -8,7 +8,7 @@ ./fzf.nix ./git.nix ./neovim - ./newsboat.nix + ./newsboat ./notes.nix ./phpactor ./starship.nix diff --git a/modules/home-manager/cli/newsboat.nix b/modules/home-manager/cli/newsboat.nix deleted file mode 100644 index 99e8cad7..00000000 --- a/modules/home-manager/cli/newsboat.nix +++ /dev/null @@ -1,337 +0,0 @@ -{ - config, - lib, - ... -}: - -with lib; - -{ - options.homeManagerModules.newsboat.enable = mkEnableOption "Enable newsboat"; - - config = mkIf config.homeManagerModules.newsboat.enable { - programs.newsboat = { - enable = true; - - extraConfig = '' - bind-key j down - bind-key k up - - bind-key j next articlelist - bind-key k prev articlelist - bind-key J next-feed articlelist - bind-key K prev-feed articlelist - - bind-key g home - bind-key G end - - bind-key d pagedown - bind-key u pageup - - bind-key a toggle-article-read - bind-key n next-unread - bind-key N prev-unread - bind-key x pb-delete - - color info white black bold - ''; - - urls = [ - { url = "https://www.reddit.com/r/nginx/new/.rss"; } - { url = "https://www.reddit.com/r/devops/.rss"; } - { url = "https://medium.com/feed/@bdfinst"; } - { url = "https://blog.system76.com/rss"; } - { url = "https://medium.com/feed/@codemonkeymike"; } - { url = "https://www.reddit.com/r/devops/new/.rss"; } - { url = "https://www.reddit.com/r/sysadmin/.rss"; } - { - url = "https://www.carlpullein.com/blog?format=RSS"; - title = "Carl Pullein"; - tags = [ "Productivity" ]; - } - { url = "https://feeds.feedburner.com/Faildesk"; } - { url = "https://syndication.thedailywtf.com/TheDailyWtf"; } - { url = "https://www.sherdog.com/rss/videos2.xml"; } - { - url = "https://www.reddit.com/r/MMA/.rss"; - tags = [ "MMA" ]; - } - { - url = "https://mmaweekly.com/feed/rss"; - tags = [ "MMA" ]; - } - { - url = "https://www.sherdog.com/rss/news2.xml"; - tags = [ "MMA" ]; - } - { - url = "https://www.sherdog.com/rss/articles2.xml"; - tags = [ "MMA" ]; - } - { - url = "https://www.ufc.com/rss/news"; - tags = [ "MMA" ]; - } - { url = "https://www.theregister.co.uk/headlines.atom"; } - { - url = "https://www.rbs6nations.com/en/RssLatestNews.xml"; - tags = [ "Rugby" ]; - } - { - url = "https://feeds.feedburner.com/rugbydump"; - tags = [ "Rugby" ]; - } - { - url = "https://www.telegraph.co.uk/sport/rugbyunion/rss"; - tags = [ "Rugby" ]; - } - { url = "https://code.facebook.com/posts/rss"; } - { url = "https://nginx.com/feed/rss"; } - { - url = "https://www.lornajane.net/feed"; - tags = [ "Software" ]; - } - { - url = "https://nginx.org/index.rss"; - tags = [ "Software" ]; - } - { url = "https://www.engadget.com/rss.xml"; } - { url = "https://rss.slashdot.org/Slashdot/slashdotIt"; } - { url = "https://lwn.net/headlines/newrss"; } - { url = "https://rss.slashdot.org/Slashdot/slashdotLinux"; } - { - url = "https://blog.sebastian-daschner.com/feeds/rss"; - title = "Sebastian Daschner"; - } - { url = "https://www.reddit.com/r/linux/.rss"; } - { url = "https://githubengineering.com/atom.xml"; } - { url = "https://rss.slashdot.org/Slashdot/slashdotDevelopers"; } - { url = "https://www.alistapart.com/rss.xml"; } - { url = "https://www.christitus.com/index.xml"; } - { url = "https://www.freeagentcentral.com/feed.rss"; } - { url = "https://akrabat.com/feed Software"; } - { url = "https://jasonmccreary.me/feed.atom"; } - { url = "https://martinfowler.com/bliki/bliki.atom"; } - { url = "https://lornajane.net/feed"; } - { url = "https://christoph-rumpel.com/feed.xml"; } - { url = "https://gdstechnology.blog.gov.uk/feed/atom"; } - { url = "https://weierophinney.net/matthew/feeds/index.rss2"; } - { url = "https://stitcher.io/rss"; } - { url = "https://www.reddit.com/r/css.rss"; } - { url = "https://www.reddit.com/r/PHP/.rss"; } - { url = "https://whateverthing.com/atom.xml"; } - { url = "https://mnapoli.fr/atom.xml"; } - { url = "https://www.epicweb.dev/rss.xml?ck_subscriber_id=2498091571"; } - { url = "https://dev.to/feed"; } - { url = "https://localheinz.com/feed.xml"; } - { url = "https://www.ben-morris.com/feed"; } - { url = "https://www.jbrains.ca/rss"; } - { url = "https://blog.thecodewhisperer.com/rss"; } - { url = "https://odan.github.io/feed.xml"; } - { url = "https://feeds.feedburner.com/symfony/blog"; } - { url = "https://www.alwaysagileconsulting.com/feed"; } - { url = "https://blog.sensiolabs.com/feed"; } - { url = "https://pascalbaljetmedia.com/rss"; } - { url = "https://tighten.co/blog/feed.atom"; } - { url = "https://ryangjchandler.co.uk/feed"; } - { url = "https://jnsgr.uk/posts/index.xml"; } - { url = "https://timacdonald.me/feed.xml"; } - { url = "https://phppot.com/feed"; } - { url = "https://howtocodewell.libsyn.com/rss"; } - { url = "https://ctankersley.com/atom.xml"; } - { url = "https://blog.wyrihaximus.net/atom.xml"; } - { url = "https://dotfyle.com/this-week-in-neovim/rss.xml"; } - { url = "https://paul-m-jones.com/feed"; } - { url = "https://www.tomasvotruba.cz/rss.xml"; } - { url = "https://www.reddit.com/r/git/.rss"; } - { url = "https://www.daveismyname.com/feed"; } - { - url = "https://murze.be/feed/php"; - title = "freek.dev"; - tags = [ - "PHP" - "Laravel" - "Software" - ]; - } - { url = "https://nikic.github.io/rss.xml"; } - { - url = "https://drupal.org/planet/rss.xml"; - tags = [ "Drupal" ]; - } - { url = "https://www.bram.us/feed"; } - { url = "https://feeds.feedburner.com/GiantRobotsSmashingIntoOtherGiantRobots"; } - { url = "https://murze.be/feed/originals"; } - { url = "https://www.patkua.com/feed"; } - { url = "https://www.benjystanton.co.uk/feed.xml"; } - { - url = "https://drupal.org/security/rss.xml"; - tags = [ "Drupal" ]; - } - { - url = "https://uk.indeed.com/rss?q=symfony&l=np18"; - tags = [ "Jobs" ]; - } - { - url = "https://uk.indeed.com/rss?q=php&l=np18"; - tags = [ "Jobs" ]; - } - { - url = "https://jobs.drupal.org/all-jobs/feed"; - tags = [ "Jobs" ]; - } - { - url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=drupal&salaryfrom=50000&sortby=DisplayDate"; - tags = [ "Jobs" ]; - } - { - url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=php&salaryfrom=50000&sortby=DisplayDate"; - tags = [ "Jobs" ]; - } - { - url = "https://uk.indeed.com/rss?q=drupal&l=np18"; - tags = [ "Jobs" ]; - } - { - url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=symfony&salaryfrom=50000&sortby=DisplayDate"; - tags = [ "Jobs" ]; - } - { url = "https://emilywebber.co.uk/feed"; } - { url = "https://introvertdear.com/feed"; } - { url = "https://designli.co/blog/feed"; } - { url = "https://www.oliverdavies.uk/rss/daily.xml"; } - { - url = "https://www.drupal.org/project/issues/rss/override_node_options"; - tags = [ "Drupal" ]; - } - { - url = "https://www.drupal.org/project/issues/rss/tailwindcss"; - tags = [ "Drupal" ]; - } - { - url = "https://nixos.org/blog/announcements-rss.xml"; - tags = [ "Linux" ]; - } - { - url = "https://laracasts.com/feed"; - tags = [ - "PHP" - "Laravel" - ]; - } - { - url = "https://feeds.feedburner.com/knpuniversity"; - title = "SymfonyCasts"; - tags = [ - "PHP" - "Symfony" - ]; - } - { - url = "https://nickjanetakis.com/atom.xml"; - title = "Nick Janetakis"; - } - { - url = "https://www.learnlinux.tv/feed"; - tags = [ "Linux" ]; - } - { - url = "https://tailwindcss.com/feeds/feed.xml"; - tags = [ - "Software" - "CSS" - ]; - } - { - url = "https://monospacementor.com/feed"; - tags = [ - "Linux" - "Software" - ]; - } - { - url = "https://frontendmasters.com/blog/feed"; - tags = [ "Software" ]; - title = "Frontend Masters Boost"; - } - { - url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC2aHRY064THg_t7JZoGSYGg"; - title = "YouTube - elysse"; - tags = [ - "Software" - "YouTube" - ]; - } - { - url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCSUA5RARrNt4-Ik3qtbETLQ"; - title = "YouTube - Jason Swett"; - tags = [ - "Software" - "YouTube" - ]; - } - { - url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCorzANoC3fX9VVefJHM5wtA"; - title = "~YouTube - Nick Janetakis"; - tags = [ - "Software" - "YouTube" - ]; - } - { url = "https://devenv.sh/feed_rss_created.xml"; } - { url = "https://sive.rs/en.atom"; } - { url = "https://kressle.in/feed.xml"; } - { - url = "https://github.com/sculpin/sculpin/releases.atom"; - tags = [ - "PHP" - "Sculpin" - "Open Source" - ]; - } - { url = "https://www.theminimalists.com/feed"; } - { url = "https://opensourcepledge.com/rss.xml"; } - { - url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; - tags = [ "Rugby" ]; - } - { - url = "https://openrss.org/www.twitch.tv/thealtf4stream/videos?filter=all&sort=time"; - tags = [ "Twitch" ]; - } - { - url = "https://openrss.org/www.twitch.tv/theprimeagen/videos?filter=all&sort=time"; - tags = [ "Twitch" ]; - } - { - url = "https://openrss.org/www.twitch.tv/teej_dv/videos?filter=all&sort=time"; - tags = [ "Twitch" ]; - } - { - url = "https://openrss.org/www.twitch.tv/monospacementor/videos?filter=all&sort=time"; - tags = [ "Twitch" ]; - } - { url = "https://www.reddit.com/r/librewolf/new/.rss"; } - { - url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCSJKQnpmPcdkysduL0mNktg"; - title = "YouTube - teej_daily"; - tags = [ - "Software" - "YouTube" - ]; - } - { - url = "https://feeds.bbci.co.uk/sport/rugby-union/rss.xml"; - tags = [ "Rugby" ]; - } - { - url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; - tags = [ "Rugby" ]; - } - { url = "https://tinkerbetter.tube/feeds/videos.xml?videoChannelId=2"; } - { url = "https://video.fosshq.org/feeds/videos.xml?videoChannelId=2"; } - ]; - }; - }; - -} diff --git a/modules/home-manager/cli/newsboat/default.nix b/modules/home-manager/cli/newsboat/default.nix new file mode 100644 index 00000000..e29aa01c --- /dev/null +++ b/modules/home-manager/cli/newsboat/default.nix @@ -0,0 +1,42 @@ +{ + config, + lib, + ... +}: + +with lib; + +{ + options.homeManagerModules.newsboat.enable = mkEnableOption "Enable newsboat"; + + config = mkIf config.homeManagerModules.newsboat.enable { + programs.newsboat = { + enable = true; + + extraConfig = '' + bind-key j down + bind-key k up + + bind-key j next articlelist + bind-key k prev articlelist + bind-key J next-feed articlelist + bind-key K prev-feed articlelist + + bind-key g home + bind-key G end + + bind-key d pagedown + bind-key u pageup + + bind-key a toggle-article-read + bind-key n next-unread + bind-key N prev-unread + bind-key x pb-delete + + color info white black bold + ''; + + urls = import ./urls.nix; + }; + }; +} diff --git a/modules/home-manager/cli/newsboat/urls.nix b/modules/home-manager/cli/newsboat/urls.nix new file mode 100644 index 00000000..6950f405 --- /dev/null +++ b/modules/home-manager/cli/newsboat/urls.nix @@ -0,0 +1,295 @@ +[ + { url = "https://www.reddit.com/r/nginx/new/.rss"; } + { url = "https://www.reddit.com/r/devops/.rss"; } + { url = "https://medium.com/feed/@bdfinst"; } + { url = "https://blog.system76.com/rss"; } + { url = "https://medium.com/feed/@codemonkeymike"; } + { url = "https://www.reddit.com/r/devops/new/.rss"; } + { url = "https://www.reddit.com/r/sysadmin/.rss"; } + { + url = "https://www.carlpullein.com/blog?format=RSS"; + title = "Carl Pullein"; + tags = [ "Productivity" ]; + } + { url = "https://feeds.feedburner.com/Faildesk"; } + { url = "https://syndication.thedailywtf.com/TheDailyWtf"; } + { url = "https://www.sherdog.com/rss/videos2.xml"; } + { + url = "https://www.reddit.com/r/MMA/.rss"; + tags = [ "MMA" ]; + } + { + url = "https://mmaweekly.com/feed/rss"; + tags = [ "MMA" ]; + } + { + url = "https://www.sherdog.com/rss/news2.xml"; + tags = [ "MMA" ]; + } + { + url = "https://www.sherdog.com/rss/articles2.xml"; + tags = [ "MMA" ]; + } + { + url = "https://www.ufc.com/rss/news"; + tags = [ "MMA" ]; + } + { url = "https://www.theregister.co.uk/headlines.atom"; } + { + url = "https://www.rbs6nations.com/en/RssLatestNews.xml"; + tags = [ "Rugby" ]; + } + { + url = "https://feeds.feedburner.com/rugbydump"; + tags = [ "Rugby" ]; + } + { + url = "https://www.telegraph.co.uk/sport/rugbyunion/rss"; + tags = [ "Rugby" ]; + } + { url = "https://code.facebook.com/posts/rss"; } + { url = "https://nginx.com/feed/rss"; } + { + url = "https://www.lornajane.net/feed"; + tags = [ "Software" ]; + } + { + url = "https://nginx.org/index.rss"; + tags = [ "Software" ]; + } + { url = "https://www.engadget.com/rss.xml"; } + { url = "https://rss.slashdot.org/Slashdot/slashdotIt"; } + { url = "https://lwn.net/headlines/newrss"; } + { url = "https://rss.slashdot.org/Slashdot/slashdotLinux"; } + { + url = "https://blog.sebastian-daschner.com/feeds/rss"; + title = "Sebastian Daschner"; + } + { url = "https://www.reddit.com/r/linux/.rss"; } + { url = "https://githubengineering.com/atom.xml"; } + { url = "https://rss.slashdot.org/Slashdot/slashdotDevelopers"; } + { url = "https://www.alistapart.com/rss.xml"; } + { url = "https://www.christitus.com/index.xml"; } + { url = "https://www.freeagentcentral.com/feed.rss"; } + { url = "https://akrabat.com/feed Software"; } + { url = "https://jasonmccreary.me/feed.atom"; } + { url = "https://martinfowler.com/bliki/bliki.atom"; } + { url = "https://lornajane.net/feed"; } + { url = "https://christoph-rumpel.com/feed.xml"; } + { url = "https://gdstechnology.blog.gov.uk/feed/atom"; } + { url = "https://weierophinney.net/matthew/feeds/index.rss2"; } + { url = "https://stitcher.io/rss"; } + { url = "https://www.reddit.com/r/css.rss"; } + { url = "https://www.reddit.com/r/PHP/.rss"; } + { url = "https://whateverthing.com/atom.xml"; } + { url = "https://mnapoli.fr/atom.xml"; } + { url = "https://www.epicweb.dev/rss.xml?ck_subscriber_id=2498091571"; } + { url = "https://dev.to/feed"; } + { url = "https://localheinz.com/feed.xml"; } + { url = "https://www.ben-morris.com/feed"; } + { url = "https://www.jbrains.ca/rss"; } + { url = "https://blog.thecodewhisperer.com/rss"; } + { url = "https://odan.github.io/feed.xml"; } + { url = "https://feeds.feedburner.com/symfony/blog"; } + { url = "https://www.alwaysagileconsulting.com/feed"; } + { url = "https://blog.sensiolabs.com/feed"; } + { url = "https://pascalbaljetmedia.com/rss"; } + { url = "https://tighten.co/blog/feed.atom"; } + { url = "https://ryangjchandler.co.uk/feed"; } + { url = "https://jnsgr.uk/posts/index.xml"; } + { url = "https://timacdonald.me/feed.xml"; } + { url = "https://phppot.com/feed"; } + { url = "https://howtocodewell.libsyn.com/rss"; } + { url = "https://ctankersley.com/atom.xml"; } + { url = "https://blog.wyrihaximus.net/atom.xml"; } + { url = "https://dotfyle.com/this-week-in-neovim/rss.xml"; } + { url = "https://paul-m-jones.com/feed"; } + { url = "https://www.tomasvotruba.cz/rss.xml"; } + { url = "https://www.reddit.com/r/git/.rss"; } + { url = "https://www.daveismyname.com/feed"; } + { + url = "https://murze.be/feed/php"; + title = "freek.dev"; + tags = [ + "PHP" + "Laravel" + "Software" + ]; + } + { url = "https://nikic.github.io/rss.xml"; } + { + url = "https://drupal.org/planet/rss.xml"; + tags = [ "Drupal" ]; + } + { url = "https://www.bram.us/feed"; } + { url = "https://feeds.feedburner.com/GiantRobotsSmashingIntoOtherGiantRobots"; } + { url = "https://murze.be/feed/originals"; } + { url = "https://www.patkua.com/feed"; } + { url = "https://www.benjystanton.co.uk/feed.xml"; } + { + url = "https://drupal.org/security/rss.xml"; + tags = [ "Drupal" ]; + } + { + url = "https://uk.indeed.com/rss?q=symfony&l=np18"; + tags = [ "Jobs" ]; + } + { + url = "https://uk.indeed.com/rss?q=php&l=np18"; + tags = [ "Jobs" ]; + } + { + url = "https://jobs.drupal.org/all-jobs/feed"; + tags = [ "Jobs" ]; + } + { + url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=drupal&salaryfrom=50000&sortby=DisplayDate"; + tags = [ "Jobs" ]; + } + { + url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=php&salaryfrom=50000&sortby=DisplayDate"; + tags = [ "Jobs" ]; + } + { + url = "https://uk.indeed.com/rss?q=drupal&l=np18"; + tags = [ "Jobs" ]; + } + { + url = "https://www.reed.co.uk/jobs/rss/np18?source=rss&keywords=symfony&salaryfrom=50000&sortby=DisplayDate"; + tags = [ "Jobs" ]; + } + { url = "https://emilywebber.co.uk/feed"; } + { url = "https://introvertdear.com/feed"; } + { url = "https://designli.co/blog/feed"; } + { url = "https://www.oliverdavies.uk/rss/daily.xml"; } + { + url = "https://www.drupal.org/project/issues/rss/override_node_options"; + tags = [ "Drupal" ]; + } + { + url = "https://www.drupal.org/project/issues/rss/tailwindcss"; + tags = [ "Drupal" ]; + } + { + url = "https://nixos.org/blog/announcements-rss.xml"; + tags = [ "Linux" ]; + } + { + url = "https://laracasts.com/feed"; + tags = [ + "PHP" + "Laravel" + ]; + } + { + url = "https://feeds.feedburner.com/knpuniversity"; + title = "SymfonyCasts"; + tags = [ + "PHP" + "Symfony" + ]; + } + { + url = "https://nickjanetakis.com/atom.xml"; + title = "Nick Janetakis"; + } + { + url = "https://www.learnlinux.tv/feed"; + tags = [ "Linux" ]; + } + { + url = "https://tailwindcss.com/feeds/feed.xml"; + tags = [ + "Software" + "CSS" + ]; + } + { + url = "https://monospacementor.com/feed"; + tags = [ + "Linux" + "Software" + ]; + } + { + url = "https://frontendmasters.com/blog/feed"; + tags = [ "Software" ]; + title = "Frontend Masters Boost"; + } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC2aHRY064THg_t7JZoGSYGg"; + title = "YouTube - elysse"; + tags = [ + "Software" + "YouTube" + ]; + } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCSUA5RARrNt4-Ik3qtbETLQ"; + title = "YouTube - Jason Swett"; + tags = [ + "Software" + "YouTube" + ]; + } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCorzANoC3fX9VVefJHM5wtA"; + title = "~YouTube - Nick Janetakis"; + tags = [ + "Software" + "YouTube" + ]; + } + { url = "https://devenv.sh/feed_rss_created.xml"; } + { url = "https://sive.rs/en.atom"; } + { url = "https://kressle.in/feed.xml"; } + { + url = "https://github.com/sculpin/sculpin/releases.atom"; + tags = [ + "PHP" + "Sculpin" + "Open Source" + ]; + } + { url = "https://www.theminimalists.com/feed"; } + { url = "https://opensourcepledge.com/rss.xml"; } + { + url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; + tags = [ "Rugby" ]; + } + { + url = "https://openrss.org/www.twitch.tv/thealtf4stream/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { + url = "https://openrss.org/www.twitch.tv/theprimeagen/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { + url = "https://openrss.org/www.twitch.tv/teej_dv/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { + url = "https://openrss.org/www.twitch.tv/monospacementor/videos?filter=all&sort=time"; + tags = [ "Twitch" ]; + } + { url = "https://www.reddit.com/r/librewolf/new/.rss"; } + { + url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCSJKQnpmPcdkysduL0mNktg"; + title = "YouTube - teej_daily"; + tags = [ + "Software" + "YouTube" + ]; + } + { + url = "https://feeds.bbci.co.uk/sport/rugby-union/rss.xml"; + tags = [ "Rugby" ]; + } + { + url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; + tags = [ "Rugby" ]; + } + { url = "https://tinkerbetter.tube/feeds/videos.xml?videoChannelId=2"; } + { url = "https://video.fosshq.org/feeds/videos.xml?videoChannelId=2"; } +] From 1c6d523a27ae7dcaae5a92c8cf6ecdbabafd0afb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 12:49:51 +0100 Subject: [PATCH 1570/2258] Remove the git user --- hosts/nixedo/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 014cfb61..39421218 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -11,7 +11,6 @@ ./modules/acme.nix ../common - ../../users/git ../../users/opdavies ]; From e5996c4d0acee2a099b51d8dee49b4467f791a65 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 13:02:24 +0100 Subject: [PATCH 1571/2258] Move services into their own file --- hosts/nixedo/configuration.nix | 5 +---- hosts/nixedo/services.nix | 6 ++++++ 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 hosts/nixedo/services.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 39421218..ccb72f3c 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -8,6 +8,7 @@ imports = [ ./hardware-configuration.nix ./secrets.nix + ./services.nix ./modules/acme.nix ../common @@ -48,12 +49,8 @@ users.groups.media = { }; - services.openssh.enable = true; - networking.firewall.allowedTCPPorts = [ 80 443 ]; - - services.caddy.enable = true; } diff --git a/hosts/nixedo/services.nix b/hosts/nixedo/services.nix new file mode 100644 index 00000000..273b8b2f --- /dev/null +++ b/hosts/nixedo/services.nix @@ -0,0 +1,6 @@ +{ + services = { + caddy.enable = true; + openssh.enable = true; + }; +} From 621d33742c418cbfd92be30f6648e53a8d28855c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 16:59:26 +0100 Subject: [PATCH 1572/2258] Remove unused homelab packages --- hosts/nixedo/configuration.nix | 6 - .../nixos/homelab/containers/beaverhabits.nix | 102 ------ modules/nixos/homelab/containers/default.nix | 3 - modules/nixos/homelab/containers/freshrss.nix | 109 ------- .../homelab/containers/tubearchivist.nix | 296 ------------------ modules/nixos/homelab/default.nix | 2 - modules/nixos/homelab/gitea.nix | 36 --- modules/nixos/homelab/vaultwarden.nix | 31 -- 8 files changed, 585 deletions(-) delete mode 100644 modules/nixos/homelab/containers/beaverhabits.nix delete mode 100644 modules/nixos/homelab/containers/freshrss.nix delete mode 100644 modules/nixos/homelab/containers/tubearchivist.nix delete mode 100644 modules/nixos/homelab/gitea.nix delete mode 100644 modules/nixos/homelab/vaultwarden.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index ccb72f3c..031f3cf8 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -17,17 +17,11 @@ nixosModules = { audiobookshelf.enable = true; - beaverhabits.enable = true; docker.enable = true; - dwm.enable = true; - freshrss.enable = true; - gitea.enable = true; immich.enable = true; jellyfin.enable = true; paperless.enable = true; pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; }; programs.dconf.enable = true; diff --git a/modules/nixos/homelab/containers/beaverhabits.nix b/modules/nixos/homelab/containers/beaverhabits.nix deleted file mode 100644 index d329c96d..00000000 --- a/modules/nixos/homelab/containers/beaverhabits.nix +++ /dev/null @@ -1,102 +0,0 @@ -# Auto-generated using compose2nix v0.3.2-pre. -{ - config, - pkgs, - lib, - ... -}: - -with lib; - -let - cfg = config.nixosModules.beaverhabits; - - port = 8084; -in -{ - options.nixosModules.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; - - config = mkIf cfg.enable { - virtualisation = { - docker = { - enable = true; - autoPrune.enable = true; - }; - - oci-containers = { - backend = "docker"; - - containers."beaverhabits" = { - image = "daya0576/beaverhabits:latest"; - - environment = { - "HABITS_STORAGE" = "DATABASE"; - }; - - volumes = [ - "/mnt/media/beaverhabits:/app/.user:rw" - ]; - - ports = [ - "${toString port}:8080/tcp" - ]; - - user = "1000:1000"; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=beaverhabits" - "--network=beaverhabits_default" - ]; - }; - }; - }; - - systemd = { - services = { - "docker-beaverhabits" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - - after = [ "docker-network-beaverhabits_default.service" ]; - requires = [ "docker-network-beaverhabits_default.service" ]; - partOf = [ "docker-compose-beaverhabits-root.target" ]; - wantedBy = [ "docker-compose-beaverhabits-root.target" ]; - }; - - "docker-network-beaverhabits_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f beaverhabits_default"; - }; - - script = '' - docker network inspect beaverhabits_default || docker network create beaverhabits_default - ''; - - partOf = [ "docker-compose-beaverhabits-root.target" ]; - wantedBy = [ "docker-compose-beaverhabits-root.target" ]; - }; - }; - - targets."docker-compose-beaverhabits-root" = { - unitConfig.Description = "Root target generated by compose2nix."; - wantedBy = [ "multi-user.target" ]; - }; - }; - - services.caddy.virtualHosts."beaverhabits.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; -} diff --git a/modules/nixos/homelab/containers/default.nix b/modules/nixos/homelab/containers/default.nix index 41013da6..5132a01b 100644 --- a/modules/nixos/homelab/containers/default.nix +++ b/modules/nixos/homelab/containers/default.nix @@ -1,8 +1,5 @@ { imports = [ - ./beaverhabits.nix - ./freshrss.nix ./pi-hole.nix - ./tubearchivist.nix ]; } diff --git a/modules/nixos/homelab/containers/freshrss.nix b/modules/nixos/homelab/containers/freshrss.nix deleted file mode 100644 index cb6514e7..00000000 --- a/modules/nixos/homelab/containers/freshrss.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.nixosModules.freshrss; - port = 4003; -in -{ - options.nixosModules.freshrss.enable = mkEnableOption "Enable freshrss"; - - config = mkIf cfg.enable { - # Auto-generated using compose2nix v0.3.2-pre. - virtualisation = { - docker = { - enable = true; - autoPrune.enable = true; - }; - - oci-containers.backend = "docker"; - }; - - virtualisation.oci-containers.containers."freshrss" = { - image = "lscr.io/linuxserver/freshrss:latest"; - - environment = { - "PGID" = "1000"; - "PUID" = "1000"; - "TZ" = "Etc/UTC"; - }; - - volumes = [ - "/home/opdavies/Code/dotfiles/freshrss-config:/config:rw" - ]; - - ports = [ - "${toString port}:80/tcp" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=freshrss" - "--network=freshrss_default" - ]; - }; - - systemd.services."docker-freshrss" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - - after = [ - "docker-network-freshrss_default.service" - ]; - - requires = [ - "docker-network-freshrss_default.service" - ]; - - partOf = [ - "docker-compose-freshrss-root.target" - ]; - - wantedBy = [ - "docker-compose-freshrss-root.target" - ]; - }; - - systemd.services."docker-network-freshrss_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f freshrss_default"; - }; - - script = '' - docker network inspect freshrss_default || docker network create freshrss_default - ''; - - partOf = [ "docker-compose-freshrss-root.target" ]; - wantedBy = [ "docker-compose-freshrss-root.target" ]; - }; - - systemd.targets."docker-compose-freshrss-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; - }; - - services.caddy.virtualHosts."freshrss.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; -} diff --git a/modules/nixos/homelab/containers/tubearchivist.nix b/modules/nixos/homelab/containers/tubearchivist.nix deleted file mode 100644 index 5abf4944..00000000 --- a/modules/nixos/homelab/containers/tubearchivist.nix +++ /dev/null @@ -1,296 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.nixosModules.tubearchivist-container; - - port = 8085; - url = "tubearchivist.oliverdavies.uk"; -in -{ - options.nixosModules.tubearchivist-container = { - enable = mkEnableOption "Enable the tubearchivist-container service."; - }; - - config = mkIf cfg.enable { - virtualisation.docker = { - enable = true; - autoPrune.enable = true; - }; - - virtualisation.oci-containers.backend = "docker"; - - virtualisation.oci-containers.containers."archivist-es" = { - image = "bbilly1/tubearchivist-es"; - - environment = { - "ES_JAVA_OPTS" = "-Xms1g -Xmx1g"; - "discovery.type" = "single-node"; - "path.repo" = "/usr/share/elasticsearch/data/snapshot"; - "xpack.security.enabled" = "true"; - }; - - environmentFiles = [ - config.age.secrets.tubearchivist.path - ]; - - volumes = [ - "tubearchivist_es:/usr/share/elasticsearch/data:rw" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=archivist-es" - "--network=tubearchivist_default" - ]; - }; - - systemd.services."docker-archivist-es" = { - serviceConfig = { - Restart = mkOverride 90 "always"; - RestartMaxDelaySec = mkOverride 90 "1m"; - RestartSec = mkOverride 90 "100ms"; - RestartSteps = mkOverride 90 9; - }; - - after = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_es.service" - ]; - - requires = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_es.service" - ]; - - partOf = [ - "docker-compose-tubearchivist-root.target" - ]; - - wantedBy = [ - "docker-compose-tubearchivist-root.target" - ]; - }; - - virtualisation.oci-containers.containers."archivist-redis" = { - image = "redis/redis-stack-server"; - - volumes = [ - "tubearchivist_redis:/data:rw" - ]; - - dependsOn = [ - "archivist-es" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=archivist-redis" - "--network=tubearchivist_default" - ]; - }; - - systemd.services."docker-archivist-redis" = { - serviceConfig = { - Restart = mkOverride 90 "always"; - RestartMaxDelaySec = mkOverride 90 "1m"; - RestartSec = mkOverride 90 "100ms"; - RestartSteps = mkOverride 90 9; - }; - - after = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_redis.service" - ]; - - requires = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_redis.service" - ]; - - partOf = [ - "docker-compose-tubearchivist-root.target" - ]; - - wantedBy = [ - "docker-compose-tubearchivist-root.target" - ]; - }; - - virtualisation.oci-containers.containers."tubearchivist" = { - image = "bbilly1/tubearchivist"; - - environment = { - "ES_URL" = "http://archivist-es:9200"; - "HOST_GID" = "1000"; - "HOST_UID" = "1000"; - "REDIS_HOST" = "archivist-redis"; - "TA_HOST" = url; - "TZ" = "Europe/London"; - }; - - environmentFiles = [ - config.age.secrets.tubearchivist.path - ]; - - volumes = [ - "/mnt/media/tubearchivist_cache:/cache:rw" - "/mnt/media/tubearchivist_media:/youtube:rw" - ]; - - ports = [ - "${toString port}:8000/tcp" - ]; - - dependsOn = [ - "archivist-es" - "archivist-redis" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--health-cmd=[\"curl\", \"-f\", \"http://localhost:8000/health\"]" - "--health-interval=2m0s" - "--health-retries=3" - "--health-start-period=30s" - "--health-timeout=10s" - "--network-alias=tubearchivist" - "--network=tubearchivist_default" - ]; - }; - - systemd.services."docker-tubearchivist" = { - serviceConfig = { - Restart = mkOverride 90 "always"; - RestartMaxDelaySec = mkOverride 90 "1m"; - RestartSec = mkOverride 90 "100ms"; - RestartSteps = mkOverride 90 9; - }; - - after = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_cache.service" - "docker-volume-tubearchivist_media.service" - ]; - - requires = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_cache.service" - "docker-volume-tubearchivist_media.service" - ]; - - partOf = [ - "docker-compose-tubearchivist-root.target" - ]; - - wantedBy = [ - "docker-compose-tubearchivist-root.target" - ]; - }; - - systemd.services."docker-network-tubearchivist_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f tubearchivist_default"; - }; - - script = '' - docker network inspect tubearchivist_default || docker network create tubearchivist_default - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.services."docker-volume-tubearchivist_cache" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_cache || docker volume create tubearchivist_cache - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - - }; - - systemd.services."docker-volume-tubearchivist_es" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_es || docker volume create tubearchivist_es - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.services."docker-volume-tubearchivist_media" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_media || docker volume create tubearchivist_media - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.services."docker-volume-tubearchivist_redis" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_redis || docker volume create tubearchivist_redis - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.targets."docker-compose-tubearchivist-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; - }; - - services.caddy.virtualHosts."tubearchivist.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; -} diff --git a/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix index 56d4b531..d0cdbca4 100644 --- a/modules/nixos/homelab/default.nix +++ b/modules/nixos/homelab/default.nix @@ -3,10 +3,8 @@ ./audiobookshelf.nix ./containers ./forgejo.nix - ./gitea.nix ./immich.nix ./jellyfin.nix ./paperless.nix - ./vaultwarden.nix ]; } diff --git a/modules/nixos/homelab/gitea.nix b/modules/nixos/homelab/gitea.nix deleted file mode 100644 index 811146c1..00000000 --- a/modules/nixos/homelab/gitea.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - port = 2222; -in -{ - options.nixosModules.gitea.enable = mkEnableOption "Enable gitea"; - - config = mkIf config.nixosModules.gitea.enable { - services = { - gitea = { - enable = true; - group = "media"; - stateDir = "/mnt/media/gitea"; - - settings = { - server = { - HTTP_PORT = port; - }; - - service = { - DISABLE_REGISTRATION = true; - }; - }; - }; - - caddy.virtualHosts."gitea.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; - }; -} diff --git a/modules/nixos/homelab/vaultwarden.nix b/modules/nixos/homelab/vaultwarden.nix deleted file mode 100644 index 17ef88b6..00000000 --- a/modules/nixos/homelab/vaultwarden.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.nixosModules.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; - - config = mkIf config.nixosModules.vaultwarden.enable { - services = { - vaultwarden = { - enable = true; - - config = { - DOMAIN = "https://vaultwarden.oliverdavies.uk"; - - # TODO: check registrations are disabled. - SIGNUPS_ALLOWED = false; - - ROCKET_ADDRESS = "127.0.0.1"; - ROCKET_PORT = 8222; - }; - }; - - caddy.virtualHosts."vaultwarden.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString config.services.vaultwarden.config.ROCKET_PORT}"; - }; - }; - }; -} From 0ece497203ff74610ec4045a64e8f295efd4090b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 15:44:07 +0100 Subject: [PATCH 1573/2258] Change dwm colours --- overlays/mods/dwm/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index dfdb8808..f415f290 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -15,10 +15,9 @@ prev.dwm.override { static const char col_gray2[] = "#444444"; static const char col_gray3[] = "#bbbbbb"; static const char col_gray4[] = "#eeeeee"; - static const char col_cyan[] = "#005577"; static const char *colors[][3] = { [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + [SchemeSel] = { col_gray4, col_gray2, col_gray1 }, }; static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; @@ -50,7 +49,7 @@ prev.dwm.override { #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_gray1, "-sf", col_gray4, NULL }; static const char *termcmd[] = { "st", NULL }; static const Key keys[] = { From a5d93cc6169207dde279571f989474a32ebc1b3b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 4 Apr 2025 23:32:28 +0100 Subject: [PATCH 1574/2258] Assign some applications to particular tags --- overlays/mods/dwm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index f415f290..235d446e 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -23,8 +23,8 @@ prev.dwm.override { static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; static const Rule rules[] = { - { "Gimp", NULL, NULL, 0, 1, -1 }, - { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, + { "0ad", NULL, NULL, 1 << 7, 0, -1 }, + { "Slack", NULL, NULL, 1 << 8, 0, -1 }, }; static const float mfact = 0.55; From a4cacfd4dee12d0defd1d4a9c2c04561ff36013f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1575/2258] Extract a bluetooth mixin --- home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - hosts/t480/configuration.nix | 3 ++- hosts/t480/hardware.nix | 5 ---- hosts/t480/services/default.nix | 2 -- modules/home-manager/cli/default.nix | 1 - .../bluetuith.nix => mixins/bluetooth.nix} | 23 ++++++++----------- 7 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 hosts/t480/hardware.nix rename modules/{home-manager/cli/bluetuith.nix => mixins/bluetooth.nix} (60%) diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index c6c6f0fc..251ccdd9 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - bluetuith.enable = true; direnv.enable = true; discord.enable = true; dwm.enable = true; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index d89c7027..aca09275 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - bluetuith.enable = true; direnv.enable = true; discord.enable = true; dwm.enable = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index be333157..8cbc77e8 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -3,12 +3,13 @@ { imports = [ ./hardware-configuration.nix - ./hardware.nix ./programs.nix ./secrets.nix ./services ./users.nix + ../../modules/mixins/bluetooth.nix + ./modules/docker.nix ../common diff --git a/hosts/t480/hardware.nix b/hosts/t480/hardware.nix deleted file mode 100644 index 3798ca48..00000000 --- a/hosts/t480/hardware.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - hardware = { - bluetooth.enable = true; - }; -} diff --git a/hosts/t480/services/default.nix b/hosts/t480/services/default.nix index ef7c3c7b..53c2e88a 100644 --- a/hosts/t480/services/default.nix +++ b/hosts/t480/services/default.nix @@ -17,8 +17,6 @@ openFirewall = true; }; - blueman.enable = true; - gvfs.enable = true; openssh.enable = true; power-profiles-daemon.enable = false; diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 3394e79a..444b3fe5 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -3,7 +3,6 @@ { imports = [ ./bin - ./bluetuith.nix ./direnv.nix ./fzf.nix ./git.nix diff --git a/modules/home-manager/cli/bluetuith.nix b/modules/mixins/bluetooth.nix similarity index 60% rename from modules/home-manager/cli/bluetuith.nix rename to modules/mixins/bluetooth.nix index fbb35852..e2fc375c 100644 --- a/modules/home-manager/cli/bluetuith.nix +++ b/modules/mixins/bluetooth.nix @@ -1,20 +1,15 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; +{ pkgs, ... }: { - options.homeManagerModules.bluetuith.enable = mkEnableOption "Enable bluetuith"; + hardware.bluetooth.enable = true; - config = mkIf config.homeManagerModules.bluetuith.enable { - home.packages = with pkgs; [ - bluetuith - ]; + services.blueman.enable = true; + environment.systemPackages = with pkgs; [ + bluetuith + ]; + + home-manager.users.opdavies = { xdg.configFile."bluetuith/bluetuith.conf" = { text = '' { @@ -23,10 +18,12 @@ with lib; connect-bdaddr: "" gsm-apn: "" gsm-number: "" + keybindings: { NavigateDown: j NavigateUp: k } + receive-dir: "" theme: {} } From 44d2685854fd5012818265518d5b6f36430e9bf6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1576/2258] Extract a docker mixin --- hosts/PW05CH3L/configuration.nix | 6 ++---- hosts/nixedo/configuration.nix | 4 +++- hosts/t480/configuration.nix | 3 +-- hosts/t480/modules/docker.nix | 3 --- hosts/t490/configuration.nix | 2 -- hosts/t490/modules/docker.nix | 3 --- modules/mixins/docker.nix | 12 ++++++++++++ modules/nixos/cli/default.nix | 5 ----- modules/nixos/cli/docker.nix | 18 ------------------ modules/nixos/default.nix | 1 - users/opdavies/default.nix | 9 ++------- 11 files changed, 20 insertions(+), 46 deletions(-) delete mode 100644 hosts/t480/modules/docker.nix delete mode 100644 hosts/t490/modules/docker.nix create mode 100644 modules/mixins/docker.nix delete mode 100644 modules/nixos/cli/default.nix delete mode 100644 modules/nixos/cli/docker.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 75dd43ea..50258f22 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -2,14 +2,12 @@ { imports = [ + ../../modules/mixins/docker.nix + ../common ../../users/opdavies ]; - nixosModules = { - docker.enable = true; - }; - wsl = { enable = true; defaultUser = username; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 031f3cf8..d16c24bc 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -9,6 +9,9 @@ ./hardware-configuration.nix ./secrets.nix ./services.nix + + ../../modules/mixins/docker.nix + ./modules/acme.nix ../common @@ -17,7 +20,6 @@ nixosModules = { audiobookshelf.enable = true; - docker.enable = true; immich.enable = true; jellyfin.enable = true; paperless.enable = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 8cbc77e8..3c8e8da7 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -9,8 +9,7 @@ ./users.nix ../../modules/mixins/bluetooth.nix - - ./modules/docker.nix + ../../modules/mixins/docker.nix ../common ../../users/opdavies diff --git a/hosts/t480/modules/docker.nix b/hosts/t480/modules/docker.nix deleted file mode 100644 index a8780150..00000000 --- a/hosts/t480/modules/docker.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - virtualisation.docker.enable = true; -} diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index be333157..6259f3aa 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -9,8 +9,6 @@ ./services ./users.nix - ./modules/docker.nix - ../common ../../users/opdavies ]; diff --git a/hosts/t490/modules/docker.nix b/hosts/t490/modules/docker.nix deleted file mode 100644 index a8780150..00000000 --- a/hosts/t490/modules/docker.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - virtualisation.docker.enable = true; -} diff --git a/modules/mixins/docker.nix b/modules/mixins/docker.nix new file mode 100644 index 00000000..5b976241 --- /dev/null +++ b/modules/mixins/docker.nix @@ -0,0 +1,12 @@ +{ + virtualisation.docker = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; + + users.users.opdavies.extraGroups = [ "docker" ]; +} diff --git a/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix deleted file mode 100644 index 9045632e..00000000 --- a/modules/nixos/cli/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./docker.nix - ]; -} diff --git a/modules/nixos/cli/docker.nix b/modules/nixos/cli/docker.nix deleted file mode 100644 index 66c9ddd4..00000000 --- a/modules/nixos/cli/docker.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, config, ... }: - -with lib; - -{ - options.nixosModules.docker.enable = mkEnableOption "Enable Docker"; - - config = mkIf config.nixosModules.docker.enable { - virtualisation.docker = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 9e5a49cb..f5474c86 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./cli ./desktop ./gaming.nix ./homelab diff --git a/users/opdavies/default.nix b/users/opdavies/default.nix index cb623b02..f94a8ef7 100644 --- a/users/opdavies/default.nix +++ b/users/opdavies/default.nix @@ -1,9 +1,4 @@ -{ - config, - lib, - pkgs, - ... -}: +{ lib, pkgs, ... }: with lib; @@ -16,7 +11,7 @@ with lib; extraGroups = [ "networkmanager" "wheel" - ] ++ optionals config.virtualisation.docker.enable [ "docker" ]; + ]; packages = with pkgs; [ qrencode From 6443b727075c9c8c1a049638886489a080c957b6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1577/2258] Extract a phpactor mixin --- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/phpactor/default.nix | 6 ------ .../cli => mixins}/phpactor/config/phpactor.yml | 0 .../config/templates/collection/SourceCode.php.twig | 0 .../config/templates/default/SourceCode.php.twig | 0 .../drupal-functional-test/SourceCode.php.twig | 0 .../templates/drupal-kernel-test/SourceCode.php.twig | 0 .../templates/drupal-unit-test/SourceCode.php.twig | 0 modules/mixins/phpactor/default.nix | 11 +++++++++++ 11 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 modules/home-manager/cli/phpactor/default.nix rename modules/{home-manager/cli => mixins}/phpactor/config/phpactor.yml (100%) rename modules/{home-manager/cli => mixins}/phpactor/config/templates/collection/SourceCode.php.twig (100%) rename modules/{home-manager/cli => mixins}/phpactor/config/templates/default/SourceCode.php.twig (100%) rename modules/{home-manager/cli => mixins}/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig (100%) rename modules/{home-manager/cli => mixins}/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename modules/{home-manager/cli => mixins}/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig (100%) create mode 100644 modules/mixins/phpactor/default.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 50258f22..eb4b91c2 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -3,6 +3,7 @@ { imports = [ ../../modules/mixins/docker.nix + ../../modules/mixins/phpactor ../common ../../users/opdavies diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 3c8e8da7..13fa2d3b 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -10,6 +10,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/docker.nix + ../../modules/mixins/phpactor ../common ../../users/opdavies diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 444b3fe5..c88ae407 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -9,7 +9,6 @@ ./neovim ./newsboat ./notes.nix - ./phpactor ./starship.nix ./tmux.nix ./tmux-sessionizer.nix diff --git a/modules/home-manager/cli/phpactor/default.nix b/modules/home-manager/cli/phpactor/default.nix deleted file mode 100644 index 0f514d8c..00000000 --- a/modules/home-manager/cli/phpactor/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - xdg.configFile.phpactor = { - source = ./config; - recursive = true; - }; -} diff --git a/modules/home-manager/cli/phpactor/config/phpactor.yml b/modules/mixins/phpactor/config/phpactor.yml similarity index 100% rename from modules/home-manager/cli/phpactor/config/phpactor.yml rename to modules/mixins/phpactor/config/phpactor.yml diff --git a/modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig b/modules/mixins/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from modules/home-manager/cli/phpactor/config/templates/collection/SourceCode.php.twig rename to modules/mixins/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig b/modules/mixins/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from modules/home-manager/cli/phpactor/config/templates/default/SourceCode.php.twig rename to modules/mixins/phpactor/config/templates/default/SourceCode.php.twig diff --git a/modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig b/modules/mixins/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/cli/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig rename to modules/mixins/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig b/modules/mixins/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/cli/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig rename to modules/mixins/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig b/modules/mixins/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/cli/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig rename to modules/mixins/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/modules/mixins/phpactor/default.nix b/modules/mixins/phpactor/default.nix new file mode 100644 index 00000000..e4d1929d --- /dev/null +++ b/modules/mixins/phpactor/default.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + phpactor + ]; + + home-manager.users.opdavies.xdg.configFile.phpactor = { + source = ./config; + recursive = true; + }; +} From d8e352a0a4a8f4a38f9c18d9f259ed3623115119 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1578/2258] Remove gaming.nix, move zeroad --- hosts/t480/configuration.nix | 2 +- hosts/t490/configuration.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/gaming.nix | 18 ------------------ 4 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 modules/nixos/gaming.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 13fa2d3b..78ca6d04 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -18,7 +18,6 @@ nixosModules = { dwm.enable = true; - gaming.enable = true; redshift.enable = true; st.enable = true; thunar.enable = true; @@ -59,6 +58,7 @@ sxiv ttyper yt-dlp + zeroad ]; zramSwap.enable = true; diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 6259f3aa..2a60c0ca 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -15,7 +15,6 @@ nixosModules = { dwm.enable = true; - gaming.enable = true; redshift.enable = true; st.enable = true; thunar.enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index f5474c86..6283660b 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,7 +1,6 @@ { imports = [ ./desktop - ./gaming.nix ./homelab ./fonts.nix ./xbanish.nix diff --git a/modules/nixos/gaming.nix b/modules/nixos/gaming.nix deleted file mode 100644 index e0266aa7..00000000 --- a/modules/nixos/gaming.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.nixosModules.gaming.enable = mkEnableOption "Enable games"; - - config = mkIf config.nixosModules.gaming.enable { - programs.steam.enable = true; - - environment.systemPackages = with pkgs; [ zeroad ]; - }; -} From 48babe9cc7453094449743bb868ca661f6b10bcf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1579/2258] Remove rclone --- hosts/t480/configuration.nix | 2 -- hosts/t490/configuration.nix | 2 -- 2 files changed, 4 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 78ca6d04..7daec0a0 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -53,8 +53,6 @@ environment.systemPackages = with pkgs; [ gtypist pam_gnupg - rclone - rclone-browser sxiv ttyper yt-dlp diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 2a60c0ca..697a21ff 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -50,8 +50,6 @@ environment.systemPackages = with pkgs; [ gtypist pam_gnupg - rclone - rclone-browser sxiv ttyper yt-dlp From f91f54750d1f7d9b213e2139f7b17279b8363439 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1580/2258] Delete users.nix --- hosts/t480/configuration.nix | 1 - hosts/t480/users.nix | 15 --------------- 2 files changed, 16 deletions(-) delete mode 100644 hosts/t480/users.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7daec0a0..d61b3781 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -6,7 +6,6 @@ ./programs.nix ./secrets.nix ./services - ./users.nix ../../modules/mixins/bluetooth.nix ../../modules/mixins/docker.nix diff --git a/hosts/t480/users.nix b/hosts/t480/users.nix deleted file mode 100644 index f663ad5c..00000000 --- a/hosts/t480/users.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, username, ... }: - -{ - users.users.${username} = { - extraGroups = [ "media" ]; - - packages = with pkgs; [ - abook - android-tools - via - ]; - }; - - users.groups.media = { }; -} From 0ff85547a84023e50e1068edaca355e76bc5ecb6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1581/2258] Delete common/users.nix --- hosts/common/users.nix | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 hosts/common/users.nix diff --git a/hosts/common/users.nix b/hosts/common/users.nix deleted file mode 100644 index efb7b91e..00000000 --- a/hosts/common/users.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, username, ... }: - -{ -} From 6d744eb2ed36517cb15c220a9871608a33332f20 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1582/2258] Extract a thunar mixin --- hosts/t480/configuration.nix | 2 +- modules/mixins/thunar.nix | 13 +++++++++++++ modules/nixos/desktop/default.nix | 1 - modules/nixos/desktop/thunar.nix | 24 ------------------------ 4 files changed, 14 insertions(+), 26 deletions(-) create mode 100644 modules/mixins/thunar.nix delete mode 100644 modules/nixos/desktop/thunar.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index d61b3781..92046f5f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -10,6 +10,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/docker.nix ../../modules/mixins/phpactor + ../../modules/mixins/thunar.nix ../common ../../users/opdavies @@ -19,7 +20,6 @@ dwm.enable = true; redshift.enable = true; st.enable = true; - thunar.enable = true; peek.enable = true; }; diff --git a/modules/mixins/thunar.nix b/modules/mixins/thunar.nix new file mode 100644 index 00000000..b44265d4 --- /dev/null +++ b/modules/mixins/thunar.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + programs.thunar = { + enable = true; + + plugins = with pkgs.xfce; [ + thunar-archive-plugin + ]; + }; + + environment.systemPackages = with pkgs; [ xfce.tumbler ]; +} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 154389c4..b9036c4b 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -4,6 +4,5 @@ ./peek.nix ./screenkey.nix ./st.nix - ./thunar.nix ]; } diff --git a/modules/nixos/desktop/thunar.nix b/modules/nixos/desktop/thunar.nix deleted file mode 100644 index 755e6204..00000000 --- a/modules/nixos/desktop/thunar.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.nixosModules.thunar.enable = mkEnableOption "Enable thunar"; - - config = mkIf config.nixosModules.thunar.enable { - programs.thunar = { - enable = true; - - plugins = with pkgs.xfce; [ - thunar-archive-plugin - ]; - }; - - environment.systemPackages = with pkgs; [ xfce.tumbler ]; - }; -} From 9fc155cbd2c3012a8150830c7e1e1d42ff3bbdbe Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1583/2258] Move peek --- hosts/t480/configuration.nix | 2 +- modules/nixos/desktop/default.nix | 1 - modules/nixos/desktop/peek.nix | 16 ---------------- 3 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 modules/nixos/desktop/peek.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 92046f5f..4313f03b 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -20,7 +20,6 @@ dwm.enable = true; redshift.enable = true; st.enable = true; - peek.enable = true; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; @@ -52,6 +51,7 @@ environment.systemPackages = with pkgs; [ gtypist pam_gnupg + peek sxiv ttyper yt-dlp diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index b9036c4b..97b93850 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -1,7 +1,6 @@ { imports = [ ./dwm.nix - ./peek.nix ./screenkey.nix ./st.nix ]; diff --git a/modules/nixos/desktop/peek.nix b/modules/nixos/desktop/peek.nix deleted file mode 100644 index f6c810af..00000000 --- a/modules/nixos/desktop/peek.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.nixosModules.peek.enable = mkEnableOption "Enable peek"; - - config = mkIf config.nixosModules.peek.enable { - environment.systemPackages = with pkgs; [ peek ]; - }; -} From 98dccf63f02682a70319a95601db2fe473d22492 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1584/2258] Extract a st mixin --- hosts/t480/configuration.nix | 2 +- modules/mixins/st.nix | 361 ++++++++++++++++++++++++++++ modules/nixos/desktop/default.nix | 1 - modules/nixos/desktop/st.nix | 374 ------------------------------ 4 files changed, 362 insertions(+), 376 deletions(-) create mode 100644 modules/mixins/st.nix delete mode 100644 modules/nixos/desktop/st.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 4313f03b..b6497033 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -10,6 +10,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/docker.nix ../../modules/mixins/phpactor + ../../modules/mixins/st.nix ../../modules/mixins/thunar.nix ../common @@ -19,7 +20,6 @@ nixosModules = { dwm.enable = true; redshift.enable = true; - st.enable = true; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/modules/mixins/st.nix b/modules/mixins/st.nix new file mode 100644 index 00000000..e684335e --- /dev/null +++ b/modules/mixins/st.nix @@ -0,0 +1,361 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + (st.override { + conf = '' + static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; + + int disablebold = 1; + int disableitalic = 1; + int disableroman = 1; + + static int borderpx = 2; + + static char *shell = "/bin/sh"; + char *utmp = NULL; + char *scroll = NULL; + char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + + char *vtiden = "\033[?6c"; + + static float cwscale = 1.0; + static float chscale = 1.0; + + wchar_t *worddelimiters = L" "; + + static unsigned int doubleclicktimeout = 300; + static unsigned int tripleclicktimeout = 600; + + int allowaltscreen = 1; + + int allowwindowops = 0; + + static double minlatency = 2; + static double maxlatency = 33; + + static unsigned int blinktimeout = 800; + + static unsigned int cursorthickness = 2; + + static int bellvolume = 0; + + char *termname = "st-256color"; + + unsigned int tabspaces = 8; + + static const char *colorname[] = { + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + "#cccccc", + "#555555", + "gray90", + "black", + }; + + unsigned int defaultfg = 258; + unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + static unsigned int defaultrcs = 257; + + static unsigned int cursorshape = 2; + + static unsigned int cols = 80; + static unsigned int rows = 24; + + static unsigned int mouseshape = XC_xterm; + static unsigned int mousefg = 7; + static unsigned int mousebg = 0; + + static unsigned int defaultattr = 11; + + static uint forcemousemod = ShiftMask; + + static MouseShortcut mshortcuts[] = { + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, + }; + + #define MODKEY Mod1Mask + #define TERMMOD (ControlMask|ShiftMask) + + static Shortcut shortcuts[] = { + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_D, zoom, {.f = -2} }, + { TERMMOD, XK_J, zoom, {.f = -1} }, + { TERMMOD, XK_K, zoom, {.f = +1} }, + { TERMMOD, XK_U, zoom, {.f = +2} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + }; + + static KeySym mappedkeys[] = { -1 }; + + static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + + static Key key[] = { + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, + { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, + { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, + { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, + { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, + }; + + static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, + }; + + static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; + ''; + + patches = [ + (fetchpatch { + url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; + sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; + }) + + (fetchpatch { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + }) + ]; + }) + ]; +} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 97b93850..1d8cb64e 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -2,6 +2,5 @@ imports = [ ./dwm.nix ./screenkey.nix - ./st.nix ]; } diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix deleted file mode 100644 index 3988c723..00000000 --- a/modules/nixos/desktop/st.nix +++ /dev/null @@ -1,374 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.nixosModules.st = { - enable = mkEnableOption "Enable st"; - }; - - config = mkIf config.nixosModules.st.enable { - environment.systemPackages = with pkgs; [ - (st.override { - conf = '' - static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; - - int disablebold = 1; - int disableitalic = 1; - int disableroman = 1; - - static int borderpx = 2; - - static char *shell = "/bin/sh"; - char *utmp = NULL; - char *scroll = NULL; - char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - - char *vtiden = "\033[?6c"; - - static float cwscale = 1.0; - static float chscale = 1.0; - - wchar_t *worddelimiters = L" "; - - static unsigned int doubleclicktimeout = 300; - static unsigned int tripleclicktimeout = 600; - - int allowaltscreen = 1; - - int allowwindowops = 0; - - static double minlatency = 2; - static double maxlatency = 33; - - static unsigned int blinktimeout = 800; - - static unsigned int cursorthickness = 2; - - static int bellvolume = 0; - - char *termname = "st-256color"; - - unsigned int tabspaces = 8; - - static const char *colorname[] = { - "black", - "red3", - "green3", - "yellow3", - "blue2", - "magenta3", - "cyan3", - "gray90", - - "gray50", - "red", - "green", - "yellow", - "#5c5cff", - "magenta", - "cyan", - "white", - - [255] = 0, - - "#cccccc", - "#555555", - "gray90", - "black", - }; - - unsigned int defaultfg = 258; - unsigned int defaultbg = 259; - unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - static unsigned int cursorshape = 2; - - static unsigned int cols = 80; - static unsigned int rows = 24; - - static unsigned int mouseshape = XC_xterm; - static unsigned int mousefg = 7; - static unsigned int mousebg = 0; - - static unsigned int defaultattr = 11; - - static uint forcemousemod = ShiftMask; - - static MouseShortcut mshortcuts[] = { - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, - }; - - #define MODKEY Mod1Mask - #define TERMMOD (ControlMask|ShiftMask) - - static Shortcut shortcuts[] = { - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_D, zoom, {.f = -2} }, - { TERMMOD, XK_J, zoom, {.f = -1} }, - { TERMMOD, XK_K, zoom, {.f = +1} }, - { TERMMOD, XK_U, zoom, {.f = +2} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, - }; - - static KeySym mappedkeys[] = { -1 }; - - static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - - static Key key[] = { - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, - { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, - { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, - { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, - { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, - }; - - static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, - }; - - static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; - ''; - - patches = [ - (fetchpatch { - url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; - sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; - }) - - (fetchpatch { - url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; - sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; - }) - ]; - }) - ]; - }; -} From ee9c85f920e5d455e0dbd6564dd6fafc98863376 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1585/2258] Extract a dwm profile module I've made this a module as it imports configuration from `st` and potentially others as I continue to refactor. --- home/opdavies/hosts/nixedo.nix | 3 -- home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - hosts/t480/configuration.nix | 4 +- modules/home-manager/desktop/default.nix | 1 - modules/home-manager/desktop/dwm/default.nix | 28 ----------- modules/nixos/desktop/default.nix | 1 - modules/nixos/desktop/dwm.nix | 43 ---------------- modules/profiles/dwm/default.nix | 50 +++++++++++++++++++ .../desktop => profiles}/dwm/xinitrc | 0 10 files changed, 52 insertions(+), 80 deletions(-) delete mode 100644 modules/home-manager/desktop/dwm/default.nix delete mode 100644 modules/nixos/desktop/dwm.nix create mode 100644 modules/profiles/dwm/default.nix rename modules/{home-manager/desktop => profiles}/dwm/xinitrc (100%) diff --git a/home/opdavies/hosts/nixedo.nix b/home/opdavies/hosts/nixedo.nix index 1b4871f7..24b80a4a 100644 --- a/home/opdavies/hosts/nixedo.nix +++ b/home/opdavies/hosts/nixedo.nix @@ -1,8 +1,5 @@ -{ ... }: - { homeManagerModules = { direnv.enable = true; - dwm.enable = true; }; } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 251ccdd9..8fb8334a 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -4,7 +4,6 @@ homeManagerModules = { direnv.enable = true; discord.enable = true; - dwm.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index aca09275..2a1ff60c 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -4,7 +4,6 @@ homeManagerModules = { direnv.enable = true; discord.enable = true; - dwm.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index b6497033..d460a7fd 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -7,10 +7,11 @@ ./secrets.nix ./services + ../../modules/profiles/dwm + ../../modules/mixins/bluetooth.nix ../../modules/mixins/docker.nix ../../modules/mixins/phpactor - ../../modules/mixins/st.nix ../../modules/mixins/thunar.nix ../common @@ -18,7 +19,6 @@ ]; nixosModules = { - dwm.enable = true; redshift.enable = true; }; diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix index 883e04ec..6beaf3d3 100644 --- a/modules/home-manager/desktop/default.nix +++ b/modules/home-manager/desktop/default.nix @@ -1,7 +1,6 @@ { imports = [ ./discord.nix - ./dwm ./flameshot.nix ./gtk.nix ./media diff --git a/modules/home-manager/desktop/dwm/default.nix b/modules/home-manager/desktop/dwm/default.nix deleted file mode 100644 index a6f33a4a..00000000 --- a/modules/home-manager/desktop/dwm/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.dwm.enable = mkEnableOption "Enable dwm"; - - config = mkIf config.homeManagerModules.dwm.enable { - home = { - file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; - - sessionVariables = { - XINITRC = "${config.xdg.configHome}/X11/xinitrc"; - }; - - packages = with pkgs; [ - dunst - poweralertd - xwallpaper - ]; - }; - }; -} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 1d8cb64e..e8a21886 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./dwm.nix ./screenkey.nix ]; } diff --git a/modules/nixos/desktop/dwm.nix b/modules/nixos/desktop/dwm.nix deleted file mode 100644 index f0e2f944..00000000 --- a/modules/nixos/desktop/dwm.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - config, - lib, - pkgs, - self, - ... -}: - -with lib; - -{ - options.nixosModules.dwm.enable = mkEnableOption "Enable dwm"; - - config = mkIf config.nixosModules.dwm.enable { - services = { - dwm-status = { - enable = true; - - order = [ - "audio" - "battery" - "network" - "time" - ]; - }; - - xserver = { - displayManager.startx.enable = true; - windowManager.dwm.enable = true; - }; - }; - - systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; - - environment.systemPackages = with pkgs; [ - dmenu - dmenu-bluetooth - networkmanager_dmenu - slock - xdotool - ]; - }; -} diff --git a/modules/profiles/dwm/default.nix b/modules/profiles/dwm/default.nix new file mode 100644 index 00000000..bc901a76 --- /dev/null +++ b/modules/profiles/dwm/default.nix @@ -0,0 +1,50 @@ +{ pkgs, ... }: + +{ + imports = [ + ../../mixins/st.nix + ]; + + services = { + dwm-status = { + enable = true; + + order = [ + "audio" + "battery" + "network" + "time" + ]; + }; + + xserver = { + displayManager.startx.enable = true; + windowManager.dwm.enable = true; + }; + }; + + systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; + + environment.systemPackages = with pkgs; [ + dmenu + dmenu-bluetooth + dunst + networkmanager_dmenu + poweralertd + slock + xdotool + xwallpaper + ]; + + home-manager.users.opdavies = + { config, ... }: + { + home = { + file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; + + sessionVariables = { + XINITRC = "${config.xdg.configHome}/X11/xinitrc"; + }; + }; + }; +} diff --git a/modules/home-manager/desktop/dwm/xinitrc b/modules/profiles/dwm/xinitrc similarity index 100% rename from modules/home-manager/desktop/dwm/xinitrc rename to modules/profiles/dwm/xinitrc From 236e626e9b0cce6e3d1a38dfdd22c9c410638a2b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1586/2258] Re-add abook --- hosts/t480/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index d460a7fd..943f9768 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -49,6 +49,7 @@ }; environment.systemPackages = with pkgs; [ + abook gtypist pam_gnupg peek From 553566ac19475858c3332dbf0ebf4f2fa275a034 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1587/2258] Remove redshift --- hosts/t480/configuration.nix | 4 ---- hosts/t480/services/default.nix | 1 - hosts/t480/services/redshift.nix | 31 ------------------------------- 3 files changed, 36 deletions(-) delete mode 100644 hosts/t480/services/redshift.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 943f9768..adf25eb7 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -18,10 +18,6 @@ ../../users/opdavies ]; - nixosModules = { - redshift.enable = true; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot = { diff --git a/hosts/t480/services/default.nix b/hosts/t480/services/default.nix index 53c2e88a..3fb03cf0 100644 --- a/hosts/t480/services/default.nix +++ b/hosts/t480/services/default.nix @@ -2,7 +2,6 @@ imports = [ ./cron.nix ./interception-tools.nix - ./redshift.nix ./sound.nix ./udev.nix ./xserver.nix diff --git a/hosts/t480/services/redshift.nix b/hosts/t480/services/redshift.nix deleted file mode 100644 index 3fcfdf4f..00000000 --- a/hosts/t480/services/redshift.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.nixosModules.redshift; -in -{ - options.nixosModules.redshift.enable = mkEnableOption "Enable redshift"; - - config = mkIf cfg.enable { - location = { - latitude = 51.48; - longitude = -3.17; - }; - - services.redshift = { - enable = true; - - brightness = { - day = "1"; - night = "1"; - }; - - temperature = { - day = 5500; - night = 3700; - }; - }; - }; -} From 6c9921f45d7ae097b8a8939df58edbbc3a932c4a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1588/2258] Extract a pipewire mixin --- hosts/t480/configuration.nix | 1 + hosts/t480/services/default.nix | 1 - hosts/t480/services/sound.nix => modules/mixins/pipewire.nix | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename hosts/t480/services/sound.nix => modules/mixins/pipewire.nix (100%) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index adf25eb7..bfe33d55 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,6 +12,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/docker.nix ../../modules/mixins/phpactor + ../../modules/mixins/pipewire.nix ../../modules/mixins/thunar.nix ../common diff --git a/hosts/t480/services/default.nix b/hosts/t480/services/default.nix index 3fb03cf0..43be0082 100644 --- a/hosts/t480/services/default.nix +++ b/hosts/t480/services/default.nix @@ -2,7 +2,6 @@ imports = [ ./cron.nix ./interception-tools.nix - ./sound.nix ./udev.nix ./xserver.nix ]; diff --git a/hosts/t480/services/sound.nix b/modules/mixins/pipewire.nix similarity index 100% rename from hosts/t480/services/sound.nix rename to modules/mixins/pipewire.nix From 3e0b5740521e42b39e4859c2c1a472995c5f0a20 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1589/2258] Extract a direnv mixin --- home/opdavies/hosts/PW05CH3L.nix | 1 - home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/nixedo.nix | 6 +----- home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/direnv.nix | 18 ------------------ modules/mixins/direnv.nix | 10 ++++++++++ 10 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 modules/home-manager/cli/direnv.nix create mode 100644 modules/mixins/direnv.nix diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index 335b3926..bb5e155e 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -7,7 +7,6 @@ { homeManagerModules = { - direnv.enable = true; neovim.enable = true; notes = { diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index 2d7d85fe..df0509dd 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - direnv.enable = true; discord.enable = true; flameshot.enable = true; gimp.enable = true; diff --git a/home/opdavies/hosts/nixedo.nix b/home/opdavies/hosts/nixedo.nix index 24b80a4a..ffcd4415 100644 --- a/home/opdavies/hosts/nixedo.nix +++ b/home/opdavies/hosts/nixedo.nix @@ -1,5 +1 @@ -{ - homeManagerModules = { - direnv.enable = true; - }; -} +{ } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 8fb8334a..3f866d00 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - direnv.enable = true; discord.enable = true; flameshot.enable = true; gimp.enable = true; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 2a1ff60c..6c806419 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - direnv.enable = true; discord.enable = true; flameshot.enable = true; gimp.enable = true; diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index eb4b91c2..589ab6c1 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -2,6 +2,7 @@ { imports = [ + ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/phpactor diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index bfe33d55..85cd3ae8 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -10,6 +10,7 @@ ../../modules/profiles/dwm ../../modules/mixins/bluetooth.nix + ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index c88ae407..eb6e3794 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -3,7 +3,6 @@ { imports = [ ./bin - ./direnv.nix ./fzf.nix ./git.nix ./neovim diff --git a/modules/home-manager/cli/direnv.nix b/modules/home-manager/cli/direnv.nix deleted file mode 100644 index e733a501..00000000 --- a/modules/home-manager/cli/direnv.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.homeManagerModules.direnv.enable = mkEnableOption "Enable direnv"; - - config = mkIf config.homeManagerModules.direnv.enable { - programs.direnv = { - enable = true; - enableZshIntegration = true; - - nix-direnv.enable = true; - - silent = true; - }; - }; -} diff --git a/modules/mixins/direnv.nix b/modules/mixins/direnv.nix new file mode 100644 index 00000000..3b706805 --- /dev/null +++ b/modules/mixins/direnv.nix @@ -0,0 +1,10 @@ +{ + programs.direnv = { + enable = true; + enableZshIntegration = true; + + nix-direnv.enable = true; + + silent = true; + }; +} From 49d46a30f916ca4dbca58d26b824b8094edd8094 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1590/2258] Extract a fzf mixin --- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/fzf.nix | 10 ---------- modules/mixins/fzf.nix | 12 ++++++++++++ 5 files changed, 14 insertions(+), 11 deletions(-) delete mode 100644 modules/home-manager/cli/fzf.nix create mode 100644 modules/mixins/fzf.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 589ab6c1..cf014e0e 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -4,6 +4,7 @@ imports = [ ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix + ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor ../common diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 85cd3ae8..b0ebc183 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,6 +12,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix + ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix ../../modules/mixins/thunar.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index eb6e3794..cb8575d8 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -3,7 +3,6 @@ { imports = [ ./bin - ./fzf.nix ./git.nix ./neovim ./newsboat diff --git a/modules/home-manager/cli/fzf.nix b/modules/home-manager/cli/fzf.nix deleted file mode 100644 index 23795361..00000000 --- a/modules/home-manager/cli/fzf.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - - home.sessionVariables = { - FZF_DEFAULT_OPTS = "--reverse"; - }; -} diff --git a/modules/mixins/fzf.nix b/modules/mixins/fzf.nix new file mode 100644 index 00000000..524c7196 --- /dev/null +++ b/modules/mixins/fzf.nix @@ -0,0 +1,12 @@ +{ + home-manager.users.opdavies = { + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + + home.sessionVariables = { + FZF_DEFAULT_OPTS = "--reverse"; + }; + }; +} From 8a6fa82419df52a39bb4116b1b93117932b4d9f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1591/2258] Remove discord --- home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - modules/home-manager/desktop/default.nix | 1 - modules/home-manager/desktop/discord.nix | 16 ---------------- 5 files changed, 20 deletions(-) delete mode 100644 modules/home-manager/desktop/discord.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index df0509dd..44dcbc99 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - discord.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 3f866d00..525f1d6d 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - discord.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 6c806419..21d93f3c 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - discord.enable = true; flameshot.enable = true; gimp.enable = true; gtk.enable = true; diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix index 6beaf3d3..67b0e515 100644 --- a/modules/home-manager/desktop/default.nix +++ b/modules/home-manager/desktop/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./discord.nix ./flameshot.nix ./gtk.nix ./media diff --git a/modules/home-manager/desktop/discord.nix b/modules/home-manager/desktop/discord.nix deleted file mode 100644 index 579ea624..00000000 --- a/modules/home-manager/desktop/discord.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.discord.enable = mkEnableOption "Enable Discord"; - - config = mkIf config.homeManagerModules.discord.enable { - home.packages = with pkgs; [ discord ]; - }; -} From d9e982c24068a4dc233f3b25522a2095dac8a39f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1592/2258] Move slack and zoom --- home/opdavies/hosts/lemp11.nix | 2 -- home/opdavies/hosts/t480.nix | 2 -- home/opdavies/hosts/t490.nix | 2 -- hosts/t480/configuration.nix | 2 ++ modules/home-manager/desktop/default.nix | 2 -- modules/home-manager/desktop/slack.nix | 16 ---------------- modules/home-manager/desktop/zoom.nix | 16 ---------------- 7 files changed, 2 insertions(+), 40 deletions(-) delete mode 100644 modules/home-manager/desktop/slack.nix delete mode 100644 modules/home-manager/desktop/zoom.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index 44dcbc99..3e06301f 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -9,8 +9,6 @@ kdenlive.enable = true; mpv.enable = true; pocket-casts.enable = true; - slack.enable = true; tmux-sessionizer.enable = true; - zoom.enable = true; }; } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 525f1d6d..1de14edd 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -17,10 +17,8 @@ }; pocket-casts.enable = true; - slack.enable = true; tmux.enable = true; tmux-sessionizer.enable = true; - zoom.enable = true; }; home.packages = with pkgs; [ diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 21d93f3c..98521e22 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -16,10 +16,8 @@ }; pocket-casts.enable = true; - slack.enable = true; tmux.enable = true; tmux-sessionizer.enable = true; - zoom.enable = true; }; home.packages = with pkgs; [ diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index b0ebc183..e1048c2b 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -52,10 +52,12 @@ gtypist pam_gnupg peek + slack sxiv ttyper yt-dlp zeroad + zoom-us ]; zramSwap.enable = true; diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix index 67b0e515..c4ca2a4c 100644 --- a/modules/home-manager/desktop/default.nix +++ b/modules/home-manager/desktop/default.nix @@ -3,7 +3,5 @@ ./flameshot.nix ./gtk.nix ./media - ./slack.nix - ./zoom.nix ]; } diff --git a/modules/home-manager/desktop/slack.nix b/modules/home-manager/desktop/slack.nix deleted file mode 100644 index 1007150d..00000000 --- a/modules/home-manager/desktop/slack.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.slack.enable = mkEnableOption "Enable Slack"; - - config = mkIf config.homeManagerModules.slack.enable { - home.packages = with pkgs; [ slack ]; - }; -} diff --git a/modules/home-manager/desktop/zoom.nix b/modules/home-manager/desktop/zoom.nix deleted file mode 100644 index e76e9ed4..00000000 --- a/modules/home-manager/desktop/zoom.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.zoom.enable = mkEnableOption "Enable zoom"; - - config = mkIf config.homeManagerModules.zoom.enable { - home.packages = with pkgs; [ zoom-us ]; - }; -} From ee19e63f4dd28e53b811abe031a5f5a799aa709c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1593/2258] Move neovim configuration --- home/opdavies/hosts/PW05CH3L.nix | 2 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 2 + .../cli/neovim => editor}/config/.gitignore | 0 .../config/after/ftplugin/gitcommit.lua | 0 .../config/after/ftplugin/markdown.lua | 0 .../config/after/ftplugin/netrw.lua | 0 .../config/after/ftplugin/php.lua | 0 .../config/after/ftplugin/rst.lua | 0 .../config/after/ftplugin/term.vim | 0 .../config/after/ftplugin/text.lua | 0 .../config/autoload/opdavies.vim | 0 .../cli/neovim => editor}/config/init.lua | 0 .../config/lua/opdavies/globals.lua | 0 .../config/lua/opdavies/init.lua | 0 .../config/lua/opdavies/keymaps.lua | 0 .../config/lua/opdavies/lsp/handlers.lua | 0 .../config/lua/opdavies/lsp/init.lua | 0 .../config/lua/opdavies/options.lua | 0 .../lua/opdavies/snippets/javascript.lua | 0 .../config/lua/opdavies/snippets/lua.lua | 0 .../config/lua/opdavies/snippets/php.lua | 0 .../config/lua/opdavies/snippets/rst.lua | 0 .../config/lua/opdavies/snippets/scss.lua | 0 .../config/lua/opdavies/snippets/twig.lua | 0 .../config/lua/opdavies/snippets/yaml.lua | 0 .../lua/opdavies/telescope/multigrep.lua | 0 .../config/plugin/autocommands.lua | 0 .../config/plugin/colorscheme.lua | 0 .../config/plugin/comment.lua | 0 .../config/plugin/completion.lua | 0 .../config/plugin/conform.lua | 0 .../neovim => editor}/config/plugin/dap.lua | 0 .../config/plugin/edit_alternate.lua | 0 .../config/plugin/filetype.lua | 0 .../config/plugin/fugitive.lua | 0 .../config/plugin/gitsigns.lua | 0 .../config/plugin/harpoon.lua | 0 .../neovim => editor}/config/plugin/lint.lua | 0 .../neovim => editor}/config/plugin/mini.lua | 0 .../neovim => editor}/config/plugin/netrw.lua | 0 .../config/plugin/phpactor.lua | 0 .../config/plugin/refactoring.lua | 0 .../config/plugin/snippets.lua | 0 .../config/plugin/telescope.lua | 0 .../config/plugin/treesitter.lua | 0 .../config/plugin/undotree.lua | 0 .../config/plugin/vim-test.lua | 0 .../config/spell/en.utf-8.add | 0 .../cli/neovim => editor}/config/stylua.toml | 0 modules/editor/nvim.nix | 185 +++++++++++++++++ modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/neovim/default.nix | 193 ------------------ 55 files changed, 188 insertions(+), 198 deletions(-) rename modules/{home-manager/cli/neovim => editor}/config/.gitignore (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/gitcommit.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/markdown.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/netrw.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/php.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/rst.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/term.vim (100%) rename modules/{home-manager/cli/neovim => editor}/config/after/ftplugin/text.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/autoload/opdavies.vim (100%) rename modules/{home-manager/cli/neovim => editor}/config/init.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/globals.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/init.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/keymaps.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/lsp/handlers.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/lsp/init.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/options.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/javascript.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/lua.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/php.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/rst.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/scss.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/twig.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/snippets/yaml.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/lua/opdavies/telescope/multigrep.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/autocommands.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/colorscheme.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/comment.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/completion.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/conform.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/dap.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/edit_alternate.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/filetype.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/fugitive.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/gitsigns.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/harpoon.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/lint.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/mini.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/netrw.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/phpactor.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/refactoring.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/snippets.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/telescope.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/treesitter.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/undotree.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/plugin/vim-test.lua (100%) rename modules/{home-manager/cli/neovim => editor}/config/spell/en.utf-8.add (100%) rename modules/{home-manager/cli/neovim => editor}/config/stylua.toml (100%) create mode 100644 modules/editor/nvim.nix delete mode 100644 modules/home-manager/cli/neovim/default.nix diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index bb5e155e..40df8f9d 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -7,8 +7,6 @@ { homeManagerModules = { - neovim.enable = true; - notes = { enable = true; directory = "$HOME/Documents/wiki/tfw-notes"; diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 1de14edd..28c8ed95 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -8,7 +8,6 @@ handbrake.enable = true; kdenlive.enable = true; mpv.enable = true; - neovim.enable = true; newsboat.enable = true; notes = { diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 98521e22..e1e61c8a 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -8,7 +8,6 @@ handbrake.enable = true; kdenlive.enable = true; mpv.enable = true; - neovim.enable = true; notes = { enable = true; diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index cf014e0e..084ed3cc 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -2,6 +2,7 @@ { imports = [ + ../../modules/editor/nvim.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index e1048c2b..c2ee1092 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -7,6 +7,8 @@ ./secrets.nix ./services + ../../modules/editor/nvim.nix + ../../modules/profiles/dwm ../../modules/mixins/bluetooth.nix diff --git a/modules/home-manager/cli/neovim/config/.gitignore b/modules/editor/config/.gitignore similarity index 100% rename from modules/home-manager/cli/neovim/config/.gitignore rename to modules/editor/config/.gitignore diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua b/modules/editor/config/after/ftplugin/gitcommit.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/gitcommit.lua rename to modules/editor/config/after/ftplugin/gitcommit.lua diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua b/modules/editor/config/after/ftplugin/markdown.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/markdown.lua rename to modules/editor/config/after/ftplugin/markdown.lua diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua b/modules/editor/config/after/ftplugin/netrw.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/netrw.lua rename to modules/editor/config/after/ftplugin/netrw.lua diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/php.lua b/modules/editor/config/after/ftplugin/php.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/php.lua rename to modules/editor/config/after/ftplugin/php.lua diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua b/modules/editor/config/after/ftplugin/rst.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/rst.lua rename to modules/editor/config/after/ftplugin/rst.lua diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/term.vim b/modules/editor/config/after/ftplugin/term.vim similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/term.vim rename to modules/editor/config/after/ftplugin/term.vim diff --git a/modules/home-manager/cli/neovim/config/after/ftplugin/text.lua b/modules/editor/config/after/ftplugin/text.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/after/ftplugin/text.lua rename to modules/editor/config/after/ftplugin/text.lua diff --git a/modules/home-manager/cli/neovim/config/autoload/opdavies.vim b/modules/editor/config/autoload/opdavies.vim similarity index 100% rename from modules/home-manager/cli/neovim/config/autoload/opdavies.vim rename to modules/editor/config/autoload/opdavies.vim diff --git a/modules/home-manager/cli/neovim/config/init.lua b/modules/editor/config/init.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/init.lua rename to modules/editor/config/init.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua b/modules/editor/config/lua/opdavies/globals.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/globals.lua rename to modules/editor/config/lua/opdavies/globals.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/init.lua b/modules/editor/config/lua/opdavies/init.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/init.lua rename to modules/editor/config/lua/opdavies/init.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua b/modules/editor/config/lua/opdavies/keymaps.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/keymaps.lua rename to modules/editor/config/lua/opdavies/keymaps.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua b/modules/editor/config/lua/opdavies/lsp/handlers.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/lsp/handlers.lua rename to modules/editor/config/lua/opdavies/lsp/handlers.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua b/modules/editor/config/lua/opdavies/lsp/init.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/lsp/init.lua rename to modules/editor/config/lua/opdavies/lsp/init.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/options.lua b/modules/editor/config/lua/opdavies/options.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/options.lua rename to modules/editor/config/lua/opdavies/options.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua b/modules/editor/config/lua/opdavies/snippets/javascript.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/javascript.lua rename to modules/editor/config/lua/opdavies/snippets/javascript.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua b/modules/editor/config/lua/opdavies/snippets/lua.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/lua.lua rename to modules/editor/config/lua/opdavies/snippets/lua.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua b/modules/editor/config/lua/opdavies/snippets/php.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/php.lua rename to modules/editor/config/lua/opdavies/snippets/php.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua b/modules/editor/config/lua/opdavies/snippets/rst.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/rst.lua rename to modules/editor/config/lua/opdavies/snippets/rst.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua b/modules/editor/config/lua/opdavies/snippets/scss.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/scss.lua rename to modules/editor/config/lua/opdavies/snippets/scss.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua b/modules/editor/config/lua/opdavies/snippets/twig.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/twig.lua rename to modules/editor/config/lua/opdavies/snippets/twig.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua b/modules/editor/config/lua/opdavies/snippets/yaml.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/snippets/yaml.lua rename to modules/editor/config/lua/opdavies/snippets/yaml.lua diff --git a/modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua b/modules/editor/config/lua/opdavies/telescope/multigrep.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/lua/opdavies/telescope/multigrep.lua rename to modules/editor/config/lua/opdavies/telescope/multigrep.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/autocommands.lua b/modules/editor/config/plugin/autocommands.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/autocommands.lua rename to modules/editor/config/plugin/autocommands.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/colorscheme.lua b/modules/editor/config/plugin/colorscheme.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/colorscheme.lua rename to modules/editor/config/plugin/colorscheme.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/comment.lua b/modules/editor/config/plugin/comment.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/comment.lua rename to modules/editor/config/plugin/comment.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/completion.lua b/modules/editor/config/plugin/completion.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/completion.lua rename to modules/editor/config/plugin/completion.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/conform.lua b/modules/editor/config/plugin/conform.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/conform.lua rename to modules/editor/config/plugin/conform.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/dap.lua b/modules/editor/config/plugin/dap.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/dap.lua rename to modules/editor/config/plugin/dap.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua b/modules/editor/config/plugin/edit_alternate.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/edit_alternate.lua rename to modules/editor/config/plugin/edit_alternate.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/filetype.lua b/modules/editor/config/plugin/filetype.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/filetype.lua rename to modules/editor/config/plugin/filetype.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/fugitive.lua b/modules/editor/config/plugin/fugitive.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/fugitive.lua rename to modules/editor/config/plugin/fugitive.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/gitsigns.lua b/modules/editor/config/plugin/gitsigns.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/gitsigns.lua rename to modules/editor/config/plugin/gitsigns.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/harpoon.lua b/modules/editor/config/plugin/harpoon.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/harpoon.lua rename to modules/editor/config/plugin/harpoon.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/lint.lua b/modules/editor/config/plugin/lint.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/lint.lua rename to modules/editor/config/plugin/lint.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/mini.lua b/modules/editor/config/plugin/mini.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/mini.lua rename to modules/editor/config/plugin/mini.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/netrw.lua b/modules/editor/config/plugin/netrw.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/netrw.lua rename to modules/editor/config/plugin/netrw.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/phpactor.lua b/modules/editor/config/plugin/phpactor.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/phpactor.lua rename to modules/editor/config/plugin/phpactor.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/refactoring.lua b/modules/editor/config/plugin/refactoring.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/refactoring.lua rename to modules/editor/config/plugin/refactoring.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/snippets.lua b/modules/editor/config/plugin/snippets.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/snippets.lua rename to modules/editor/config/plugin/snippets.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/telescope.lua b/modules/editor/config/plugin/telescope.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/telescope.lua rename to modules/editor/config/plugin/telescope.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/treesitter.lua b/modules/editor/config/plugin/treesitter.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/treesitter.lua rename to modules/editor/config/plugin/treesitter.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/undotree.lua b/modules/editor/config/plugin/undotree.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/undotree.lua rename to modules/editor/config/plugin/undotree.lua diff --git a/modules/home-manager/cli/neovim/config/plugin/vim-test.lua b/modules/editor/config/plugin/vim-test.lua similarity index 100% rename from modules/home-manager/cli/neovim/config/plugin/vim-test.lua rename to modules/editor/config/plugin/vim-test.lua diff --git a/modules/home-manager/cli/neovim/config/spell/en.utf-8.add b/modules/editor/config/spell/en.utf-8.add similarity index 100% rename from modules/home-manager/cli/neovim/config/spell/en.utf-8.add rename to modules/editor/config/spell/en.utf-8.add diff --git a/modules/home-manager/cli/neovim/config/stylua.toml b/modules/editor/config/stylua.toml similarity index 100% rename from modules/home-manager/cli/neovim/config/stylua.toml rename to modules/editor/config/stylua.toml diff --git a/modules/editor/nvim.nix b/modules/editor/nvim.nix new file mode 100644 index 00000000..99f48bc7 --- /dev/null +++ b/modules/editor/nvim.nix @@ -0,0 +1,185 @@ +{ + home-manager.users.opdavies = + { pkgs, ... }: + { + programs.neovim = + let + php = pkgs.php82; + phpPackages = pkgs.php82Packages; + in + { + enable = true; + + plugins = with pkgs.vimPlugins; [ + comment-nvim + conf-vim + edit-alternate-vim + gitsigns-nvim + harpoon2 + mini-nvim + nvim-web-devicons + phpactor + refactoring-nvim + standard-vim + undotree + vim-caser + vim-nix + vim-pasta + vim-repeat + vim-sleuth + vim-textobj-indent + vim-textobj-user + vim-textobj-xmlattr + vim-unimpaired + + # Testing + vim-test + vimux + + # Git + vim-fugitive + + # Debugging + nvim-dap + nvim-dap-ui + nvim-dap-virtual-text + + # Treesitter + (pkgs.vimPlugins.nvim-treesitter.withPlugins ( + plugins: with plugins; [ + bash + comment + css + csv + dockerfile + gitattributes + gitignore + go + html + javascript + json + kdl + lua + luadoc + make + markdown + markdown_inline + nix + php + phpdoc + query + rst + scss + sql + terraform + twig + typescript + vim + vimdoc + vue + xml + yaml + ] + )) + nvim-treesitter-textobjects + + # LSP, linting and formatting + conform-nvim + lsp-status-nvim + nvim-lint + nvim-lspconfig + + # Completion + cmp-buffer + cmp-calc + cmp-cmdline + cmp-nvim-lsp + cmp-path + cmp-treesitter + cmp_luasnip + lspkind-nvim + nvim-cmp + + # Snippets + friendly-snippets + luasnip + + # Telescope + plenary-nvim + popup-nvim + telescope-frecency-nvim + telescope-fzf-native-nvim + telescope-live-grep-args-nvim + telescope-nvim + telescope-ui-select-nvim + + # Databases + vim-dadbod + vim-dadbod-ui + vim-dadbod-completion + + # Themes + catppuccin-nvim + ]; + + extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + nodejs-slim + php + + # Language servers + bash-language-server + dockerfile-language-server-nodejs + emmet-language-server + gopls + lua-language-server + lua54Packages.luacheck + marksman + nixd + phpactor + tailwindcss-language-server + terraform-ls + typescript-language-server + vscode-langservers-extracted + vue-language-server + yaml-language-server + + # Formatters + black + eslint_d + nixfmt-rfc-style + nodePackages.prettier + stylua + yamlfmt + + # Tools + hadolint + html-tidy + mariadb + nodePackages.jsonlint + nodePackages.markdownlint-cli + phpPackages.php-codesniffer + phpPackages.phpstan + proselint + ripgrep + shellcheck + yamllint + ]; + }; + + xdg.configFile.nvim = { + source = ./config; + recursive = true; + }; + + home.file.".markdownlint.yaml".text = '' + default: true + + line-length: false + + no-duplicate-heading: + siblings_only: true + ''; + }; +} diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index cb8575d8..06e2f918 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -4,7 +4,6 @@ imports = [ ./bin ./git.nix - ./neovim ./newsboat ./notes.nix ./starship.nix diff --git a/modules/home-manager/cli/neovim/default.nix b/modules/home-manager/cli/neovim/default.nix deleted file mode 100644 index 9815997f..00000000 --- a/modules/home-manager/cli/neovim/default.nix +++ /dev/null @@ -1,193 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - php = pkgs.php82; - phpPackages = pkgs.php82Packages; -in -{ - options.homeManagerModules.neovim.enable = mkEnableOption "Enable neovim"; - - config = mkIf config.homeManagerModules.neovim.enable { - programs.neovim = { - enable = true; - - plugins = with pkgs.vimPlugins; [ - comment-nvim - conf-vim - edit-alternate-vim - gitsigns-nvim - harpoon2 - mini-nvim - nvim-web-devicons - phpactor - refactoring-nvim - standard-vim - undotree - vim-caser - vim-nix - vim-pasta - vim-repeat - vim-sleuth - vim-textobj-indent - vim-textobj-user - vim-textobj-xmlattr - vim-unimpaired - - # Testing - vim-test - vimux - - # Git - vim-fugitive - - # Debugging - nvim-dap - nvim-dap-ui - nvim-dap-virtual-text - - # Treesitter - (pkgs.vimPlugins.nvim-treesitter.withPlugins ( - plugins: with plugins; [ - bash - comment - css - csv - dockerfile - gitattributes - gitignore - go - html - javascript - json - kdl - lua - luadoc - make - markdown - markdown_inline - nix - php - phpdoc - query - rst - scss - sql - terraform - twig - typescript - vim - vimdoc - vue - xml - yaml - ] - )) - nvim-treesitter-textobjects - - # LSP, linting and formatting - conform-nvim - lsp-status-nvim - nvim-lint - nvim-lspconfig - - # Completion - cmp-buffer - cmp-calc - cmp-cmdline - cmp-nvim-lsp - cmp-path - cmp-treesitter - cmp_luasnip - lspkind-nvim - nvim-cmp - - # Snippets - friendly-snippets - luasnip - - # Telescope - plenary-nvim - popup-nvim - telescope-frecency-nvim - telescope-fzf-native-nvim - telescope-live-grep-args-nvim - telescope-nvim - telescope-ui-select-nvim - - # Databases - vim-dadbod - vim-dadbod-ui - vim-dadbod-completion - - # Themes - catppuccin-nvim - ]; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - nodejs-slim - php - - # Language servers - bash-language-server - dockerfile-language-server-nodejs - emmet-language-server - gopls - lua-language-server - lua54Packages.luacheck - marksman - nixd - phpactor - tailwindcss-language-server - terraform-ls - typescript-language-server - vscode-langservers-extracted - vue-language-server - yaml-language-server - - # Formatters - black - eslint_d - nixfmt-rfc-style - nodePackages.prettier - stylua - yamlfmt - - # Tools - hadolint - html-tidy - mariadb - nodePackages.jsonlint - nodePackages.markdownlint-cli - phpPackages.php-codesniffer - phpPackages.phpstan - proselint - ripgrep - shellcheck - yamllint - ]; - }; - - xdg.configFile.nvim = { - source = ./config; - recursive = true; - }; - - home.file.".markdownlint.yaml".text = '' - default: true - - line-length: false - - no-duplicate-heading: - siblings_only: true - ''; - }; -} From d5d1331543a176dd819bec0d7a9e9b95b1732e63 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1594/2258] Extract a xbanish profile --- hosts/t480/configuration.nix | 1 + modules/nixos/default.nix | 1 - modules/{nixos => profiles}/xbanish.nix | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename modules/{nixos => profiles}/xbanish.nix (100%) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index c2ee1092..2a4d562d 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -10,6 +10,7 @@ ../../modules/editor/nvim.nix ../../modules/profiles/dwm + ../../modules/profiles/xbanish.nix ../../modules/mixins/bluetooth.nix ../../modules/mixins/direnv.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 6283660b..fed7976e 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,6 +3,5 @@ ./desktop ./homelab ./fonts.nix - ./xbanish.nix ]; } diff --git a/modules/nixos/xbanish.nix b/modules/profiles/xbanish.nix similarity index 100% rename from modules/nixos/xbanish.nix rename to modules/profiles/xbanish.nix From 75dc6577ccba46a542453ec26ca24326bc7f1ce7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1595/2258] Extract a fonts mixin --- hosts/t480/configuration.nix | 1 + modules/{nixos => mixins}/fonts.nix | 0 modules/nixos/default.nix | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) rename modules/{nixos => mixins}/fonts.nix (100%) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 2a4d562d..ceabcff1 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -15,6 +15,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix + ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix diff --git a/modules/nixos/fonts.nix b/modules/mixins/fonts.nix similarity index 100% rename from modules/nixos/fonts.nix rename to modules/mixins/fonts.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index fed7976e..5cdba89b 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -2,6 +2,5 @@ imports = [ ./desktop ./homelab - ./fonts.nix ]; } From fd19b5a9299d50e653cce6f2fd264a85b6c998ff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1596/2258] Sort imports alphabetically --- hosts/t480/configuration.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index ceabcff1..5d655a94 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -8,10 +8,6 @@ ./services ../../modules/editor/nvim.nix - - ../../modules/profiles/dwm - ../../modules/profiles/xbanish.nix - ../../modules/mixins/bluetooth.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix @@ -20,6 +16,8 @@ ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix ../../modules/mixins/thunar.nix + ../../modules/profiles/dwm + ../../modules/profiles/xbanish.nix ../common ../../users/opdavies From 2af364ef9699b8a96f5bc9ff0e0cb2a1f536dd93 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1597/2258] Extract a screenkey mixin --- hosts/t480/configuration.nix | 1 + modules/mixins/screenkey.nix | 15 +++++++++++++++ modules/nixos/default.nix | 1 - modules/nixos/desktop/default.nix | 5 ----- modules/nixos/desktop/screenkey.nix | 25 ------------------------- 5 files changed, 16 insertions(+), 31 deletions(-) create mode 100644 modules/mixins/screenkey.nix delete mode 100644 modules/nixos/desktop/default.nix delete mode 100644 modules/nixos/desktop/screenkey.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 5d655a94..10bd033a 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -15,6 +15,7 @@ ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix + ../../modules/mixins/screenkey.nix ../../modules/mixins/thunar.nix ../../modules/profiles/dwm ../../modules/profiles/xbanish.nix diff --git a/modules/mixins/screenkey.nix b/modules/mixins/screenkey.nix new file mode 100644 index 00000000..70c8941f --- /dev/null +++ b/modules/mixins/screenkey.nix @@ -0,0 +1,15 @@ +{ + home-manager.users.opdavies = + { pkgs, ... }: + { + home.packages = with pkgs; [ screenkey ]; + + xdg.configFile."screenkey.json".text = builtins.toJSON { + key_mode = "composed"; + mods_mode = "emacs"; + persist = true; + size = "small"; + timeout = 0.25; + }; + }; +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 5cdba89b..46985cc0 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./desktop ./homelab ]; } diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix deleted file mode 100644 index e8a21886..00000000 --- a/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./screenkey.nix - ]; -} diff --git a/modules/nixos/desktop/screenkey.nix b/modules/nixos/desktop/screenkey.nix deleted file mode 100644 index 1c667b41..00000000 --- a/modules/nixos/desktop/screenkey.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - config, - lib, - pkgs, - username, - ... -}: - -with lib; - -{ - options.nixosModules.screenkey.enable = mkEnableOption "Enable screenkey"; - - config = mkIf config.nixosModules.screenkey.enable { - environment.systemPackages = with pkgs; [ screenkey ]; - - home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { - key_mode = "composed"; - mods_mode = "emacs"; - persist = true; - size = "small"; - timeout = 0.25; - }; - }; -} From 42b70676bce2573edeb39a0a91cf0005794f8922 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1598/2258] Move homelab modules --- hosts/nixedo/configuration.nix | 6 ++++++ .../nixedo/modules}/audiobookshelf.nix | 0 .../nixedo/modules}/containers/pi-hole.nix | 0 .../nixos/homelab => hosts/nixedo/modules}/forgejo.nix | 0 .../nixos/homelab => hosts/nixedo/modules}/immich.nix | 0 .../homelab => hosts/nixedo/modules}/jellyfin.nix | 0 .../homelab => hosts/nixedo/modules}/paperless.nix | 0 modules/nixos/default.nix | 5 ----- modules/nixos/homelab/containers/default.nix | 5 ----- modules/nixos/homelab/default.nix | 10 ---------- 10 files changed, 6 insertions(+), 20 deletions(-) rename {modules/nixos/homelab => hosts/nixedo/modules}/audiobookshelf.nix (100%) rename {modules/nixos/homelab => hosts/nixedo/modules}/containers/pi-hole.nix (100%) rename {modules/nixos/homelab => hosts/nixedo/modules}/forgejo.nix (100%) rename {modules/nixos/homelab => hosts/nixedo/modules}/immich.nix (100%) rename {modules/nixos/homelab => hosts/nixedo/modules}/jellyfin.nix (100%) rename {modules/nixos/homelab => hosts/nixedo/modules}/paperless.nix (100%) delete mode 100644 modules/nixos/default.nix delete mode 100644 modules/nixos/homelab/containers/default.nix delete mode 100644 modules/nixos/homelab/default.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index d16c24bc..efb7f3ec 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -13,6 +13,12 @@ ../../modules/mixins/docker.nix ./modules/acme.nix + ./modules/audiobookshelf.nix + ./modules/containers/pi-hole.nix + ./modules/forgejo.nix + ./modules/immich.nix + ./modules/jellyfin.nix + ./modules/paperless.nix ../common ../../users/opdavies diff --git a/modules/nixos/homelab/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix similarity index 100% rename from modules/nixos/homelab/audiobookshelf.nix rename to hosts/nixedo/modules/audiobookshelf.nix diff --git a/modules/nixos/homelab/containers/pi-hole.nix b/hosts/nixedo/modules/containers/pi-hole.nix similarity index 100% rename from modules/nixos/homelab/containers/pi-hole.nix rename to hosts/nixedo/modules/containers/pi-hole.nix diff --git a/modules/nixos/homelab/forgejo.nix b/hosts/nixedo/modules/forgejo.nix similarity index 100% rename from modules/nixos/homelab/forgejo.nix rename to hosts/nixedo/modules/forgejo.nix diff --git a/modules/nixos/homelab/immich.nix b/hosts/nixedo/modules/immich.nix similarity index 100% rename from modules/nixos/homelab/immich.nix rename to hosts/nixedo/modules/immich.nix diff --git a/modules/nixos/homelab/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix similarity index 100% rename from modules/nixos/homelab/jellyfin.nix rename to hosts/nixedo/modules/jellyfin.nix diff --git a/modules/nixos/homelab/paperless.nix b/hosts/nixedo/modules/paperless.nix similarity index 100% rename from modules/nixos/homelab/paperless.nix rename to hosts/nixedo/modules/paperless.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix deleted file mode 100644 index 46985cc0..00000000 --- a/modules/nixos/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./homelab - ]; -} diff --git a/modules/nixos/homelab/containers/default.nix b/modules/nixos/homelab/containers/default.nix deleted file mode 100644 index 5132a01b..00000000 --- a/modules/nixos/homelab/containers/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./pi-hole.nix - ]; -} diff --git a/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix deleted file mode 100644 index d0cdbca4..00000000 --- a/modules/nixos/homelab/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - imports = [ - ./audiobookshelf.nix - ./containers - ./forgejo.nix - ./immich.nix - ./jellyfin.nix - ./paperless.nix - ]; -} From 3379924c0efa3ec91b1a6b6d67fd547f84224d5a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:00 +0100 Subject: [PATCH 1599/2258] Remove nixosModules As it's now empty. --- flake.nix | 2 -- hosts/common/default.nix | 2 -- 2 files changed, 4 deletions(-) diff --git a/flake.nix b/flake.nix index 28ecfd1a..1ab158c3 100644 --- a/flake.nix +++ b/flake.nix @@ -62,8 +62,6 @@ overlays = import ./overlays { inherit inputs; }; - nixosModules.default = ./modules/nixos; - homeManagerModules.default = ./modules/home-manager; nixosConfigurations = { diff --git a/hosts/common/default.nix b/hosts/common/default.nix index a4c8120a..77f9fabe 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -15,8 +15,6 @@ imports = [ inputs.home-manager.nixosModules.home-manager - outputs.nixosModules.default - ./programs.nix ]; From 490aa3eb995f2f8287f83d145baff57a007bad27 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:00:56 +0100 Subject: [PATCH 1600/2258] Extract a flameshot mixin --- home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - hosts/t480/configuration.nix | 1 + modules/home-manager/desktop/default.nix | 1 - modules/home-manager/desktop/flameshot.nix | 28 ---------------------- modules/mixins/flameshot.nix | 19 +++++++++++++++ 7 files changed, 20 insertions(+), 32 deletions(-) delete mode 100644 modules/home-manager/desktop/flameshot.nix create mode 100644 modules/mixins/flameshot.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index 3e06301f..4fa9c514 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - flameshot.enable = true; gimp.enable = true; gtk.enable = true; handbrake.enable = true; diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 28c8ed95..42278215 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - flameshot.enable = true; gimp.enable = true; gtk.enable = true; handbrake.enable = true; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index e1e61c8a..94fb4a17 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - flameshot.enable = true; gimp.enable = true; gtk.enable = true; handbrake.enable = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 10bd033a..c10771a4 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -11,6 +11,7 @@ ../../modules/mixins/bluetooth.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix + ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix index c4ca2a4c..5cd22e71 100644 --- a/modules/home-manager/desktop/default.nix +++ b/modules/home-manager/desktop/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./flameshot.nix ./gtk.nix ./media ]; diff --git a/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/desktop/flameshot.nix deleted file mode 100644 index c9126c2f..00000000 --- a/modules/home-manager/desktop/flameshot.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - config, - lib, - username, - ... -}: - -with lib; - -{ - options.homeManagerModules.flameshot.enable = mkEnableOption "Enable flameshot"; - - config = mkIf config.homeManagerModules.flameshot.enable { - services.flameshot = { - enable = true; - - settings = { - General = { - disabledTrayIcon = false; - saveAfterCopy = true; - savePath = "/home/${username}/Pictures/Screenshots"; - showHelp = false; - uiColor = "#60a5fa"; - }; - }; - }; - }; -} diff --git a/modules/mixins/flameshot.nix b/modules/mixins/flameshot.nix new file mode 100644 index 00000000..6b3bf1fb --- /dev/null +++ b/modules/mixins/flameshot.nix @@ -0,0 +1,19 @@ +{ + home-manager.users.opdavies = + { config, ... }: + { + services.flameshot = { + enable = true; + + settings = { + General = { + disabledTrayIcon = false; + saveAfterCopy = true; + savePath = "${config.xdg.userDirs.pictures}/Screenshots"; + showHelp = false; + uiColor = "#60a5fa"; + }; + }; + }; + }; +} From 85cb5d0f1f0acd1d44a8e7dcca8b168543c700f3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:09:46 +0100 Subject: [PATCH 1601/2258] Move gimp, handbrake and kdenlive --- home/opdavies/hosts/lemp11.nix | 3 --- home/opdavies/hosts/t480.nix | 3 --- home/opdavies/hosts/t490.nix | 3 --- hosts/t480/configuration.nix | 6 ++++++ modules/home-manager/desktop/media/default.nix | 3 --- modules/home-manager/desktop/media/gimp.nix | 16 ---------------- modules/home-manager/desktop/media/handbrake.nix | 16 ---------------- modules/home-manager/desktop/media/kdenlive.nix | 16 ---------------- 8 files changed, 6 insertions(+), 60 deletions(-) delete mode 100644 modules/home-manager/desktop/media/gimp.nix delete mode 100644 modules/home-manager/desktop/media/handbrake.nix delete mode 100644 modules/home-manager/desktop/media/kdenlive.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index 4fa9c514..b36901f8 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -2,10 +2,7 @@ { homeManagerModules = { - gimp.enable = true; gtk.enable = true; - handbrake.enable = true; - kdenlive.enable = true; mpv.enable = true; pocket-casts.enable = true; tmux-sessionizer.enable = true; diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 42278215..401f4069 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,10 +2,7 @@ { homeManagerModules = { - gimp.enable = true; gtk.enable = true; - handbrake.enable = true; - kdenlive.enable = true; mpv.enable = true; newsboat.enable = true; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 94fb4a17..abeed88d 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,10 +2,7 @@ { homeManagerModules = { - gimp.enable = true; gtk.enable = true; - handbrake.enable = true; - kdenlive.enable = true; mpv.enable = true; notes = { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index c10771a4..7f0da9a5 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -69,4 +69,10 @@ networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; + + users.users.opdavies.packages = with pkgs; [ + gimp + handbrake + kdePackages.kdenlive + ]; } diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix index 80f8f994..ea0a9ce9 100644 --- a/modules/home-manager/desktop/media/default.nix +++ b/modules/home-manager/desktop/media/default.nix @@ -1,8 +1,5 @@ { imports = [ - ./gimp.nix - ./handbrake.nix - ./kdenlive.nix ./mpv.nix ./pocket-casts.nix ]; diff --git a/modules/home-manager/desktop/media/gimp.nix b/modules/home-manager/desktop/media/gimp.nix deleted file mode 100644 index e0a006d5..00000000 --- a/modules/home-manager/desktop/media/gimp.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.gimp.enable = mkEnableOption "Enable gimp"; - - config = mkIf config.homeManagerModules.gimp.enable { - home.packages = with pkgs; [ gimp ]; - }; -} diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix deleted file mode 100644 index 9cbf4e84..00000000 --- a/modules/home-manager/desktop/media/handbrake.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.handbrake.enable = mkEnableOption "Enable handbrake"; - - config = mkIf config.homeManagerModules.handbrake.enable { - home.packages = with pkgs; [ handbrake ]; - }; -} diff --git a/modules/home-manager/desktop/media/kdenlive.nix b/modules/home-manager/desktop/media/kdenlive.nix deleted file mode 100644 index 039bb93c..00000000 --- a/modules/home-manager/desktop/media/kdenlive.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.kdenlive.enable = mkEnableOption "Enable kdenlive"; - - config = mkIf config.homeManagerModules.kdenlive.enable { - home.packages = with pkgs; [ kdePackages.kdenlive ]; - }; -} From 21198b5bf9a2c941200101a9218cffeebaa85db8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:17:15 +0100 Subject: [PATCH 1602/2258] Extract an mpv mixin --- home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - hosts/t480/configuration.nix | 1 + .../home-manager/desktop/media/default.nix | 1 - modules/home-manager/desktop/media/mpv.nix | 19 ------------------- modules/mixins/mpv.nix | 11 +++++++++++ 7 files changed, 12 insertions(+), 23 deletions(-) delete mode 100644 modules/home-manager/desktop/media/mpv.nix create mode 100644 modules/mixins/mpv.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index b36901f8..ff2bdef6 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -3,7 +3,6 @@ { homeManagerModules = { gtk.enable = true; - mpv.enable = true; pocket-casts.enable = true; tmux-sessionizer.enable = true; }; diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 401f4069..538e87cd 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -3,7 +3,6 @@ { homeManagerModules = { gtk.enable = true; - mpv.enable = true; newsboat.enable = true; notes = { diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index abeed88d..6f715836 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -3,7 +3,6 @@ { homeManagerModules = { gtk.enable = true; - mpv.enable = true; notes = { enable = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7f0da9a5..de43d029 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -14,6 +14,7 @@ ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix + ../../modules/mixins/mpv.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix ../../modules/mixins/screenkey.nix diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix index ea0a9ce9..c6eb78c9 100644 --- a/modules/home-manager/desktop/media/default.nix +++ b/modules/home-manager/desktop/media/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./mpv.nix ./pocket-casts.nix ]; } diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix deleted file mode 100644 index cfbf4a97..00000000 --- a/modules/home-manager/desktop/media/mpv.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.homeManagerModules.mpv.enable = mkEnableOption "Enable mpv media player"; - - config = mkIf config.homeManagerModules.mpv.enable { - programs.mpv = { - enable = true; - - # https://github.com/mpv-player/mpv/blob/master/etc/input.conf - bindings = { - "DOWN" = "add volume -5"; - "UP" = "add volume 5"; - }; - }; - }; -} diff --git a/modules/mixins/mpv.nix b/modules/mixins/mpv.nix new file mode 100644 index 00000000..d84f07ef --- /dev/null +++ b/modules/mixins/mpv.nix @@ -0,0 +1,11 @@ +{ + home-manager.users.opdavies.programs.mpv = { + enable = true; + + # https://github.com/mpv-player/mpv/blob/master/etc/input.conf + bindings = { + "DOWN" = "add volume -5"; + "UP" = "add volume 5"; + }; + }; +} From c7bfbcc9656b39c8046d0de4df4d34eb426f1079 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:20:51 +0100 Subject: [PATCH 1603/2258] Remove pocket-casts --- home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 1 - modules/home-manager/default.nix | 2 -- modules/home-manager/desktop/media/default.nix | 5 ----- .../home-manager/desktop/media/pocket-casts.nix | 16 ---------------- 6 files changed, 26 deletions(-) delete mode 100644 modules/home-manager/desktop/media/default.nix delete mode 100644 modules/home-manager/desktop/media/pocket-casts.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index ff2bdef6..b46c522d 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -3,7 +3,6 @@ { homeManagerModules = { gtk.enable = true; - pocket-casts.enable = true; tmux-sessionizer.enable = true; }; } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 538e87cd..c2fe3e06 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -10,7 +10,6 @@ directory = "$HOME/Documents/wiki/notes"; }; - pocket-casts.enable = true; tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 6f715836..a5ea699f 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -9,7 +9,6 @@ directory = "$HOME/Documents/wiki/notes"; }; - pocket-casts.enable = true; tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 0cd6a84b..ad904a83 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -18,7 +18,5 @@ pkgs ; }) - - ./desktop ]; } diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix deleted file mode 100644 index c6eb78c9..00000000 --- a/modules/home-manager/desktop/media/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./pocket-casts.nix - ]; -} diff --git a/modules/home-manager/desktop/media/pocket-casts.nix b/modules/home-manager/desktop/media/pocket-casts.nix deleted file mode 100644 index 5387c0f7..00000000 --- a/modules/home-manager/desktop/media/pocket-casts.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.pocket-casts.enable = mkEnableOption "Enable Pocket Casts"; - - config = mkIf config.homeManagerModules.pocket-casts.enable { - home.packages = with pkgs; [ pocket-casts ]; - }; -} From 39392dcc5a71363851683c6e2106715477f04000 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:36:06 +0100 Subject: [PATCH 1604/2258] Extract a gtk mixin --- home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 2 -- hosts/t480/configuration.nix | 1 + modules/home-manager/desktop/default.nix | 6 ----- modules/home-manager/desktop/gtk.nix | 31 ------------------------ modules/mixins/gtk.nix | 22 +++++++++++++++++ 7 files changed, 23 insertions(+), 41 deletions(-) delete mode 100644 modules/home-manager/desktop/default.nix delete mode 100644 modules/home-manager/desktop/gtk.nix create mode 100644 modules/mixins/gtk.nix diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index b46c522d..c49b4a04 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - gtk.enable = true; tmux-sessionizer.enable = true; }; } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index c2fe3e06..6a0f9024 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,7 +2,6 @@ { homeManagerModules = { - gtk.enable = true; newsboat.enable = true; notes = { diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index a5ea699f..8a6097bf 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,8 +2,6 @@ { homeManagerModules = { - gtk.enable = true; - notes = { enable = true; directory = "$HOME/Documents/wiki/notes"; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index de43d029..8ff36709 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -14,6 +14,7 @@ ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix + ../../modules/mixins/gtk.nix ../../modules/mixins/mpv.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix deleted file mode 100644 index 5cd22e71..00000000 --- a/modules/home-manager/desktop/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./gtk.nix - ./media - ]; -} diff --git a/modules/home-manager/desktop/gtk.nix b/modules/home-manager/desktop/gtk.nix deleted file mode 100644 index 2419d956..00000000 --- a/modules/home-manager/desktop/gtk.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.gtk.enable = mkEnableOption "Enable gtk"; - - config = mkIf config.homeManagerModules.gtk.enable { - gtk = { - enable = true; - - theme = { - name = "Arc-Dark"; - package = pkgs.arc-theme; - }; - - iconTheme = { - name = "Arc"; - package = pkgs.arc-icon-theme; - }; - - gtk3.extraConfig.gtk-enable-animations = false; - gtk4.extraConfig.gtk-enable-animations = false; - }; - }; -} diff --git a/modules/mixins/gtk.nix b/modules/mixins/gtk.nix new file mode 100644 index 00000000..35f95b1e --- /dev/null +++ b/modules/mixins/gtk.nix @@ -0,0 +1,22 @@ +{ + home-manager.users.opdavies = + { pkgs, ... }: + { + gtk = { + enable = true; + + theme = { + name = "Arc-Dark"; + package = pkgs.arc-theme; + }; + + iconTheme = { + name = "Arc"; + package = pkgs.arc-icon-theme; + }; + + gtk3.extraConfig.gtk-enable-animations = false; + gtk4.extraConfig.gtk-enable-animations = false; + }; + }; +} From 90aaabeed601da712e023bb9b81d5f81baabc40b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 09:50:53 +0100 Subject: [PATCH 1605/2258] Move newsboat configuration --- home/opdavies/hosts/t480.nix | 2 - hosts/t480/configuration.nix | 2 + hosts/t480/modules/newsboat/default.nix | 30 +++++++++++++ .../t480/modules}/newsboat/urls.nix | 0 modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/newsboat/default.nix | 42 ------------------- 6 files changed, 32 insertions(+), 45 deletions(-) create mode 100644 hosts/t480/modules/newsboat/default.nix rename {modules/home-manager/cli => hosts/t480/modules}/newsboat/urls.nix (100%) delete mode 100644 modules/home-manager/cli/newsboat/default.nix diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 6a0f9024..c1faa65e 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,8 +2,6 @@ { homeManagerModules = { - newsboat.enable = true; - notes = { enable = true; directory = "$HOME/Documents/wiki/notes"; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 8ff36709..33a90715 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -25,6 +25,8 @@ ../common ../../users/opdavies + + ./modules/newsboat ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/hosts/t480/modules/newsboat/default.nix b/hosts/t480/modules/newsboat/default.nix new file mode 100644 index 00000000..e99f78e9 --- /dev/null +++ b/hosts/t480/modules/newsboat/default.nix @@ -0,0 +1,30 @@ +{ + home-manager.users.opdavies.programs.newsboat = { + enable = true; + + extraConfig = '' + bind-key j down + bind-key k up + + bind-key j next articlelist + bind-key k prev articlelist + bind-key J next-feed articlelist + bind-key K prev-feed articlelist + + bind-key g home + bind-key G end + + bind-key d pagedown + bind-key u pageup + + bind-key a toggle-article-read + bind-key n next-unread + bind-key N prev-unread + bind-key x pb-delete + + color info white black bold + ''; + + urls = import ./urls.nix; + }; +} diff --git a/modules/home-manager/cli/newsboat/urls.nix b/hosts/t480/modules/newsboat/urls.nix similarity index 100% rename from modules/home-manager/cli/newsboat/urls.nix rename to hosts/t480/modules/newsboat/urls.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 06e2f918..b4ccb1f8 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -4,7 +4,6 @@ imports = [ ./bin ./git.nix - ./newsboat ./notes.nix ./starship.nix ./tmux.nix diff --git a/modules/home-manager/cli/newsboat/default.nix b/modules/home-manager/cli/newsboat/default.nix deleted file mode 100644 index e29aa01c..00000000 --- a/modules/home-manager/cli/newsboat/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - config, - lib, - ... -}: - -with lib; - -{ - options.homeManagerModules.newsboat.enable = mkEnableOption "Enable newsboat"; - - config = mkIf config.homeManagerModules.newsboat.enable { - programs.newsboat = { - enable = true; - - extraConfig = '' - bind-key j down - bind-key k up - - bind-key j next articlelist - bind-key k prev articlelist - bind-key J next-feed articlelist - bind-key K prev-feed articlelist - - bind-key g home - bind-key G end - - bind-key d pagedown - bind-key u pageup - - bind-key a toggle-article-read - bind-key n next-unread - bind-key N prev-unread - bind-key x pb-delete - - color info white black bold - ''; - - urls = import ./urls.nix; - }; - }; -} From 111c336abcd4279f459068d03e440a01d3524403 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 10:11:07 +0100 Subject: [PATCH 1606/2258] Move notes configuration --- home/opdavies/hosts/PW05CH3L.nix | 5 ----- home/opdavies/hosts/t480.nix | 5 ----- home/opdavies/hosts/t490.nix | 5 ----- hosts/PW05CH3L/modules/notes.nix | 18 ++++++++++++++++ hosts/t480/configuration.nix | 1 + hosts/t480/modules/notes.nix | 18 ++++++++++++++++ modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/notes.nix | 32 ---------------------------- 8 files changed, 37 insertions(+), 48 deletions(-) create mode 100644 hosts/PW05CH3L/modules/notes.nix create mode 100644 hosts/t480/modules/notes.nix delete mode 100644 modules/home-manager/cli/notes.nix diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index 40df8f9d..a7bb59da 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -7,11 +7,6 @@ { homeManagerModules = { - notes = { - enable = true; - directory = "$HOME/Documents/wiki/tfw-notes"; - }; - tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index c1faa65e..178aca38 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -2,11 +2,6 @@ { homeManagerModules = { - notes = { - enable = true; - directory = "$HOME/Documents/wiki/notes"; - }; - tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 8a6097bf..1b8c01fd 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -2,11 +2,6 @@ { homeManagerModules = { - notes = { - enable = true; - directory = "$HOME/Documents/wiki/notes"; - }; - tmux.enable = true; tmux-sessionizer.enable = true; }; diff --git a/hosts/PW05CH3L/modules/notes.nix b/hosts/PW05CH3L/modules/notes.nix new file mode 100644 index 00000000..6d132a3e --- /dev/null +++ b/hosts/PW05CH3L/modules/notes.nix @@ -0,0 +1,18 @@ +{ + home-manager.users.opdavies = + { config, pkgs, ... }: + { + xdg = { + enable = true; + userDirs.enable = true; + }; + + home = { + packages = with pkgs; [ notes ]; + + sessionVariables = { + NOTES_DIRECTORY = "${config.xdg.userDirs.documents}/wiki/tfw-notes"; + }; + }; + }; +} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 33a90715..0aef3abf 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -27,6 +27,7 @@ ../../users/opdavies ./modules/newsboat + ./modules/notes.nix ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/hosts/t480/modules/notes.nix b/hosts/t480/modules/notes.nix new file mode 100644 index 00000000..424712cc --- /dev/null +++ b/hosts/t480/modules/notes.nix @@ -0,0 +1,18 @@ +{ + home-manager.users.opdavies = + { config, pkgs, ... }: + { + xdg = { + enable = true; + userDirs.enable = true; + }; + + home = { + packages = with pkgs; [ notes ]; + + sessionVariables = { + NOTES_DIRECTORY = "${config.xdg.userDirs.documents}/wiki/notes"; + }; + }; + }; +} diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index b4ccb1f8..ef52aa76 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -4,7 +4,6 @@ imports = [ ./bin ./git.nix - ./notes.nix ./starship.nix ./tmux.nix ./tmux-sessionizer.nix diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix deleted file mode 100644 index a8be8ce9..00000000 --- a/modules/home-manager/cli/notes.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.homeManagerModules.notes; -in -{ - options.homeManagerModules.notes = { - enable = mkEnableOption "Enable notes"; - - directory = mkOption { - type = types.str; - }; - }; - - config = mkIf cfg.enable { - home = { - packages = with pkgs; [ notes ]; - - sessionVariables = { - NOTES_DIRECTORY = "${cfg.directory}"; - }; - }; - }; - -} From 3ff9d549704226e333e27898666bd8e85137db9e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 10:20:16 +0100 Subject: [PATCH 1607/2258] Extract a tmux mixin --- home/opdavies/hosts/PW05CH3L.nix | 5 - home/opdavies/hosts/lemp11.nix | 8 +- home/opdavies/hosts/t480.nix | 5 - home/opdavies/hosts/t490.nix | 5 - hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 2 - modules/home-manager/cli/tmux-sessionizer.nix | 41 ------ modules/home-manager/cli/tmux.nix | 97 --------------- modules/mixins/tmux.nix | 117 ++++++++++++++++++ 10 files changed, 120 insertions(+), 162 deletions(-) delete mode 100644 modules/home-manager/cli/tmux-sessionizer.nix delete mode 100644 modules/home-manager/cli/tmux.nix create mode 100644 modules/mixins/tmux.nix diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index a7bb59da..23ee440d 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -6,11 +6,6 @@ }: { - homeManagerModules = { - tmux.enable = true; - tmux-sessionizer.enable = true; - }; - home = let remoteIpAddress = "192.168.1.111"; diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix index c49b4a04..ffcd4415 100644 --- a/home/opdavies/hosts/lemp11.nix +++ b/home/opdavies/hosts/lemp11.nix @@ -1,7 +1 @@ -{ ... }: - -{ - homeManagerModules = { - tmux-sessionizer.enable = true; - }; -} +{ } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 178aca38..ee73bb15 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -1,11 +1,6 @@ { config, pkgs, ... }: { - homeManagerModules = { - tmux.enable = true; - tmux-sessionizer.enable = true; - }; - home.packages = with pkgs; [ backup-websites displayselect diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix index 1b8c01fd..a9db00d6 100644 --- a/home/opdavies/hosts/t490.nix +++ b/home/opdavies/hosts/t490.nix @@ -1,11 +1,6 @@ { pkgs, ... }: { - homeManagerModules = { - tmux.enable = true; - tmux-sessionizer.enable = true; - }; - home.packages = with pkgs; [ displayselect isync diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 084ed3cc..ef319ec3 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -7,6 +7,7 @@ ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor + ../../modules/mixins/tmux.nix ../common ../../users/opdavies diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 0aef3abf..3e75948f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -20,6 +20,7 @@ ../../modules/mixins/pipewire.nix ../../modules/mixins/screenkey.nix ../../modules/mixins/thunar.nix + ../../modules/mixins/tmux.nix ../../modules/profiles/dwm ../../modules/profiles/xbanish.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index ef52aa76..d2d9e8bd 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -5,8 +5,6 @@ ./bin ./git.nix ./starship.nix - ./tmux.nix - ./tmux-sessionizer.nix ./zsh ]; } diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix deleted file mode 100644 index 72979f41..00000000 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -{ - options.homeManagerModules.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; - - config = mkIf config.homeManagerModules.tmux-sessionizer.enable { - home.packages = with pkgs; [ tmux-sessionizer ]; - - home.file."${config.xdg.configHome}/tmux-sessionizer/default".source = "${ - pkgs.writeShellApplication { - name = ".tmux-sessionizer"; - - runtimeInputs = with pkgs; [ - tmux - ]; - - text = '' - set +o errexit - set +o nounset - - if [[ "$PWD" == "$XDG_REPOS_DIR/os" || "$PWD" == "$XDG_REPOS_DIR/personal" ]]; then - clear - - return - fi - - tmux new-window -d -n scratch - nvim . - clear - ''; - } - }/bin/.tmux-sessionizer"; - }; -} diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix deleted file mode 100644 index bdc2ac57..00000000 --- a/modules/home-manager/cli/tmux.nix +++ /dev/null @@ -1,97 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - inherit (pkgs) tmuxPlugins; -in -{ - options.homeManagerModules.tmux.enable = mkEnableOption "Enable tmux"; - - config = mkIf config.homeManagerModules.tmux.enable { - programs.tmux = { - enable = true; - - terminal = "tmux-256color"; - - extraConfig = '' - set-option -g status-keys "vi" - set-option -sa terminal-features "''${TERM}:RGB" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - # Status line customisation - set-option -g status-left "" - set-option -g status-right " #{session_name}" - set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=default" - set-option -g window-status-activity-style none - set-option -g window-status-current-style "fg=#E9E9EA" - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g pane-base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" - - bind-key C-j choose-tree - - set-window-option -g mode-keys vi - bind -T copy-mode-vi v send-keys -X begin-selection - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using <prefix> C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - - set-option -g pane-active-border-style "fg=#1f2335" - set-option -g pane-border-style "fg=#1f2335" - - # Vim-like pane navigation. - bind ^ last-window - bind h select-pane -L - bind j select-pane -D - bind k select-pane -U - bind l select-pane -R - - bind-key -r f run-shell "tmux new-window tmux-sessionizer" - - bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" - bind-key -r N new-window "notes" - bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" - ''; - - plugins = [ - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.yank - ]; - }; - }; -} diff --git a/modules/mixins/tmux.nix b/modules/mixins/tmux.nix new file mode 100644 index 00000000..7420a4d6 --- /dev/null +++ b/modules/mixins/tmux.nix @@ -0,0 +1,117 @@ +{ pkgs, ... }: + +{ + programs.tmux = { + enable = true; + + terminal = "tmux-256color"; + + extraConfig = '' + set-option -g status-keys "vi" + set-option -sa terminal-features "''${TERM}:RGB" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + # Status line customisation + set-option -g status-left "" + set-option -g status-right " #{session_name}" + set-option -g status-right-length 100 + set-option -g status-style "fg=#7C7D83 bg=default" + set-option -g window-status-activity-style none + set-option -g window-status-current-style "fg=#E9E9EA" + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g pane-base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" + + bind-key C-j choose-tree + + set-window-option -g mode-keys vi + bind -T copy-mode-vi v send-keys -X begin-selection + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using <prefix> C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + + set-option -g pane-active-border-style "fg=#1f2335" + set-option -g pane-border-style "fg=#1f2335" + + # Vim-like pane navigation. + bind ^ last-window + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + bind-key -r f run-shell "tmux new-window tmux-sessionizer" + + bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" + bind-key -r N new-window "notes" + bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" + ''; + + plugins = with pkgs.tmuxPlugins; [ + vim-tmux-navigator + yank + ]; + }; + + home-manager.users.opdavies = + { config, ... }: + with pkgs; + { + home.packages = [ + tmux-sessionizer + ]; + + xdg.configFile."tmux-sessionizer/default".source = "${ + writeShellApplication { + name = ".tmux-sessionizer"; + + runtimeInputs = [ + tmux + ]; + + text = '' + set +o errexit + set +o nounset + + if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" ]]; then + clear + + return + fi + + tmux new-window -d -n scratch + nvim . + clear + ''; + } + }/bin/.tmux-sessionizer"; + }; +} From 5d9ba4fe28b9d9d26bedf0e78ffd0a64807eb2e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 10:56:41 +0100 Subject: [PATCH 1608/2258] Extract a starship mixin --- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/starship.nix | 175 ------------------------- modules/mixins/starship.nix | 176 ++++++++++++++++++++++++++ 5 files changed, 178 insertions(+), 176 deletions(-) delete mode 100644 modules/home-manager/cli/starship.nix create mode 100644 modules/mixins/starship.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index ef319ec3..79b2cee5 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -7,6 +7,7 @@ ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor + ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix ../common diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 3e75948f..0b233173 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -19,6 +19,7 @@ ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix ../../modules/mixins/screenkey.nix + ../../modules/mixins/starship.nix ../../modules/mixins/thunar.nix ../../modules/mixins/tmux.nix ../../modules/profiles/dwm diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index d2d9e8bd..72d9b78b 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -4,7 +4,6 @@ imports = [ ./bin ./git.nix - ./starship.nix ./zsh ]; } diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix deleted file mode 100644 index 7c55b8f8..00000000 --- a/modules/home-manager/cli/starship.nix +++ /dev/null @@ -1,175 +0,0 @@ -let - inherit (builtins) concatStringsSep; -in -{ - programs.starship = { - enable = true; - enableZshIntegration = true; - - settings = { - add_newline = false; - - # https://starship.rs/config/#prompt - format = concatStringsSep "" [ - "\n" - "$username" - "$hostname" - "$directory" - "$vcsh" - "$git_branch" - "$git_status" - "$git_metrics" - "$docker_context" - "$nodejs" - "$php" - "$terraform" - "$nix_shell" - "$direnv" - "\${custom.mob}" - "$memory_usage" - "$cmd_duration" - "$lua" - "$status" - "$character" - ]; - - cmd_duration.disabled = true; - direnv.disabled = false; - directory.format = "[$path]($style) "; - git_status.disabled = true; - nix_shell.disabled = true; - nodejs.disabled = true; - php.disabled = true; - username.disabled = true; - - custom = { - mob = { - command = "echo $MOB_TIMER_ROOM"; - format = "[($output)]($style) "; - when = "[[ -v MOB_TIMER_ROOM ]]"; - }; - }; - - # https://starship.rs/presets/plain-text - aws.symbol = "aws "; - azure.symbol = "az "; - bun.symbol = "bun "; - c.symbol = "C "; - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - cobol.symbol = "cobol "; - conda.symbol = "conda "; - crystal.symbol = "cr "; - cmake.symbol = "cmake "; - daml.symbol = "daml "; - dart.symbol = "dart "; - deno.symbol = "deno "; - dotnet.symbol = ".NET "; - directory.read_only = " ro"; - docker_context.symbol = "docker "; - elixir.symbol = "exs "; - elm.symbol = "elm "; - fennel.symbol = "fnl "; - fossil_branch.symbol = "fossil "; - gcloud.symbol = "gcp "; - git_branch.symbol = "git "; - git_commit.tag_symbol = " tag "; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - gleam.symbol = "gleam "; - golang.symbol = "go "; - gradle.symbol = "gradle "; - guix_shell.symbol = "guix "; - hg_branch.symbol = "hg "; - java.symbol = "java "; - julia.symbol = "jl "; - kotlin.symbol = "kt "; - lua.symbol = "lua "; - nodejs.symbol = "nodejs "; - memory_usage.symbol = "memory "; - meson.symbol = "meson "; - nats.symbol = "nats "; - nim.symbol = "nim "; - nix_shell.symbol = "nix "; - ocaml.symbol = "ml "; - opa.symbol = "opa "; - os.symbols = { - AIX = "aix "; - Alpaquita = "alq "; - AlmaLinux = "alma "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Kali = "kali "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - RockyLinux = "rky "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Ultramarine = "ultm "; - Unknown = "unk "; - Void = "void "; - Windows = "win "; - }; - package.symbol = "pkg "; - perl.symbol = "pl "; - php.symbol = "php "; - pijul_channel.symbol = "pijul "; - pulumi.symbol = "pulumi "; - purescript.symbol = "purs "; - python.symbol = "py "; - quarto.symbol = "quarto "; - raku.symbol = "raku "; - ruby.symbol = "rb "; - rust.symbol = "rs "; - scala.symbol = "scala "; - spack.symbol = "spack "; - solidity.symbol = "solidity "; - status.symbol = "[x](bold red) "; - sudo.symbol = "sudo "; - swift.symbol = "swift "; - typst.symbol = "typst "; - terraform.symbol = "terraform "; - zig.symbol = "zig "; - }; - }; -} diff --git a/modules/mixins/starship.nix b/modules/mixins/starship.nix new file mode 100644 index 00000000..19debae3 --- /dev/null +++ b/modules/mixins/starship.nix @@ -0,0 +1,176 @@ +{ + home-manager.users.opdavies.programs.starship = + let + inherit (builtins) concatStringsSep; + in + { + enable = true; + enableZshIntegration = true; + + settings = { + add_newline = false; + + # https://starship.rs/config/#prompt + format = concatStringsSep "" [ + "\n" + "$username" + "$hostname" + "$directory" + "$vcsh" + "$git_branch" + "$git_status" + "$git_metrics" + "$docker_context" + "$nodejs" + "$php" + "$terraform" + "$nix_shell" + "$direnv" + "\${custom.mob}" + "$memory_usage" + "$cmd_duration" + "$lua" + "$status" + "$character" + ]; + + cmd_duration.disabled = true; + direnv.disabled = false; + directory.format = "[$path]($style) "; + git_status.disabled = true; + nix_shell.disabled = true; + nodejs.disabled = true; + php.disabled = true; + username.disabled = true; + + custom = { + mob = { + command = "echo $MOB_TIMER_ROOM"; + format = "[($output)]($style) "; + when = "[[ -v MOB_TIMER_ROOM ]]"; + }; + }; + + # https://starship.rs/presets/plain-text + aws.symbol = "aws "; + azure.symbol = "az "; + bun.symbol = "bun "; + c.symbol = "C "; + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + cobol.symbol = "cobol "; + conda.symbol = "conda "; + crystal.symbol = "cr "; + cmake.symbol = "cmake "; + daml.symbol = "daml "; + dart.symbol = "dart "; + deno.symbol = "deno "; + dotnet.symbol = ".NET "; + directory.read_only = " ro"; + docker_context.symbol = "docker "; + elixir.symbol = "exs "; + elm.symbol = "elm "; + fennel.symbol = "fnl "; + fossil_branch.symbol = "fossil "; + gcloud.symbol = "gcp "; + git_branch.symbol = "git "; + git_commit.tag_symbol = " tag "; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + gleam.symbol = "gleam "; + golang.symbol = "go "; + gradle.symbol = "gradle "; + guix_shell.symbol = "guix "; + hg_branch.symbol = "hg "; + java.symbol = "java "; + julia.symbol = "jl "; + kotlin.symbol = "kt "; + lua.symbol = "lua "; + nodejs.symbol = "nodejs "; + memory_usage.symbol = "memory "; + meson.symbol = "meson "; + nats.symbol = "nats "; + nim.symbol = "nim "; + nix_shell.symbol = "nix "; + ocaml.symbol = "ml "; + opa.symbol = "opa "; + os.symbols = { + AIX = "aix "; + Alpaquita = "alq "; + AlmaLinux = "alma "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + RockyLinux = "rky "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + }; + package.symbol = "pkg "; + perl.symbol = "pl "; + php.symbol = "php "; + pijul_channel.symbol = "pijul "; + pulumi.symbol = "pulumi "; + purescript.symbol = "purs "; + python.symbol = "py "; + quarto.symbol = "quarto "; + raku.symbol = "raku "; + ruby.symbol = "rb "; + rust.symbol = "rs "; + scala.symbol = "scala "; + spack.symbol = "spack "; + solidity.symbol = "solidity "; + status.symbol = "[x](bold red) "; + sudo.symbol = "sudo "; + swift.symbol = "swift "; + typst.symbol = "typst "; + terraform.symbol = "terraform "; + zig.symbol = "zig "; + }; + }; +} From 6635e80bbffe2676cadaba196067c713702b5dd7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 11:01:24 +0100 Subject: [PATCH 1609/2258] Extract a git mixin --- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/git.nix | 152 -------------------------- modules/mixins/git.nix | 156 +++++++++++++++++++++++++++ 5 files changed, 158 insertions(+), 153 deletions(-) delete mode 100644 modules/home-manager/cli/git.nix create mode 100644 modules/mixins/git.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 79b2cee5..56fa8359 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -6,6 +6,7 @@ ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix + ../../modules/mixins/git.nix ../../modules/mixins/phpactor ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 0b233173..82770a5a 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -14,6 +14,7 @@ ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix + ../../modules/mixins/git.nix ../../modules/mixins/gtk.nix ../../modules/mixins/mpv.nix ../../modules/mixins/phpactor diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 72d9b78b..a833e666 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -3,7 +3,6 @@ { imports = [ ./bin - ./git.nix ./zsh ]; } diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix deleted file mode 100644 index d0d64c77..00000000 --- a/modules/home-manager/cli/git.nix +++ /dev/null @@ -1,152 +0,0 @@ -{ config, pkgs, ... }: - -{ - home.file."${config.xdg.configHome}/git/message".text = '' - - - # Description - # - # - Why is this change necessary? - # - How does it address the issue? - # - What side effects does this change have? - # - # For breaking changes, uncomment the following line and describe the change: - # - # BREAKING CHANGE: - # - # - # Add any issue IDs or commit SHAs that this commit references: - # - # Refs: - - ''; - - programs = { - git = { - enable = true; - userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.dev"; - - includes = [ - { - condition = "gitdir:${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/tfw"; - contents.user.email = "oliver.davies@tfw.wales"; - } - ]; - - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - blame = "blame -w -C -C -C"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - stash = "stash --included-untracked"; - unassume = "update-index --no-assume-unchanged"; - uncommit = "reset --soft HEAD^"; - unstage = "reset"; - update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - worktrees = "worktree list"; - }; - - ignores = [ - "/.ddev/providers/" - "/.direnv/" - "/.ignored/" - "/.issue-id" - "/.phpactor.json" - "/notes" - "/todo" - ]; - - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - sort = "-committerdate"; - }; - - checkout.defaultRemote = "origin"; - color.ui = true; - column.ui = "auto"; - commit.template = "${config.xdg.configHome}/git/message"; - - core = { - editor = "nvim"; - excludesFile = "~/.config/git/ignore"; - }; - - diff.tool = "vimdiff"; - fetch.prune = true; - gpg.format = "ssh"; - grep.lineNumber = true; - help.autocorrect = "1"; - init.defaultBranch = "main"; - - maintenance = { - auto = false; - strategy = "incremental"; - }; - - merge.ff = "only"; - - push = { - autoSetupRemote = true; - default = "upstream"; - }; - - pull = { - ff = "only"; - rebase = true; - }; - - rebase = { - autosquash = true; - autostash = true; - }; - - user.signingkey = "~/.ssh/id_rsa.pub"; - }; - }; - }; - - home.packages = with pkgs; [ nixpkgs-2411.git-instafix ]; - - home.sessionVariables = { - GIT_INSTAFIX_UPSTREAM = "origin/main"; - }; -} diff --git a/modules/mixins/git.nix b/modules/mixins/git.nix new file mode 100644 index 00000000..f7955fab --- /dev/null +++ b/modules/mixins/git.nix @@ -0,0 +1,156 @@ +{ + home-manager.users.opdavies = + { config, pkgs, ... }: + { + home.file."${config.xdg.configHome}/git/message".text = '' + + + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, uncomment the following line and describe the change: + # + # BREAKING CHANGE: + # + # + # Add any issue IDs or commit SHAs that this commit references: + # + # Refs: + + ''; + + programs = { + git = { + enable = true; + userName = "Oliver Davies"; + userEmail = "oliver@oliverdavies.dev"; + + includes = [ + { + condition = "gitdir:${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/tfw"; + contents.user.email = "oliver.davies@tfw.wales"; + } + ]; + + aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + blame = "blame -w -C -C -C"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + stash = "stash --included-untracked"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + worktrees = "worktree list"; + }; + + ignores = [ + "/.ddev/providers/" + "/.direnv/" + "/.ignored/" + "/.issue-id" + "/.phpactor.json" + "/notes" + "/todo" + ]; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + sort = "-committerdate"; + }; + + checkout.defaultRemote = "origin"; + color.ui = true; + column.ui = "auto"; + commit.template = "${config.xdg.configHome}/git/message"; + + core = { + editor = "nvim"; + excludesFile = "~/.config/git/ignore"; + }; + + diff.tool = "vimdiff"; + fetch.prune = true; + gpg.format = "ssh"; + grep.lineNumber = true; + help.autocorrect = "1"; + init.defaultBranch = "main"; + + maintenance = { + auto = false; + strategy = "incremental"; + }; + + merge.ff = "only"; + + push = { + autoSetupRemote = true; + default = "upstream"; + }; + + pull = { + ff = "only"; + rebase = true; + }; + + rebase = { + autosquash = true; + autostash = true; + }; + + user.signingkey = "~/.ssh/id_rsa.pub"; + }; + }; + }; + + home = { + packages = with pkgs; [ nixpkgs-2411.git-instafix ]; + + sessionVariables = { + GIT_INSTAFIX_UPSTREAM = "origin/main"; + }; + }; + }; +} From 094874946a2c6ccc4cef7594e55b10b620a3c26f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 11:07:32 +0100 Subject: [PATCH 1610/2258] Extract a zsh mixin --- hosts/PW05CH3L/configuration.nix | 1 + hosts/lemp11/configuration.nix | 2 + hosts/nixedo/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 1 - modules/home-manager/cli/zsh/default.nix | 93 ------------------ .../cli => mixins}/zsh/abbreviations.nix | 0 .../cli => mixins}/zsh/aliases.nix | 0 modules/mixins/zsh/default.nix | 95 +++++++++++++++++++ .../zsh/global-abbreviations.nix | 0 10 files changed, 100 insertions(+), 94 deletions(-) delete mode 100644 modules/home-manager/cli/zsh/default.nix rename modules/{home-manager/cli => mixins}/zsh/abbreviations.nix (100%) rename modules/{home-manager/cli => mixins}/zsh/aliases.nix (100%) create mode 100644 modules/mixins/zsh/default.nix rename modules/{home-manager/cli => mixins}/zsh/global-abbreviations.nix (100%) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 56fa8359..7a095863 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -10,6 +10,7 @@ ../../modules/mixins/phpactor ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix + ../../modules/mixins/zsh ../common ../../users/opdavies diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 2e567a66..45553941 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -7,6 +7,8 @@ ./programs.nix ./services.nix + ../../modules/mixins/zsh + ../common ../../users/opdavies ../../users/eric diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index efb7f3ec..1a7a9efc 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -11,6 +11,7 @@ ./services.nix ../../modules/mixins/docker.nix + ../../modules/mixins/zsh ./modules/acme.nix ./modules/audiobookshelf.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 82770a5a..fe7f0615 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -23,6 +23,7 @@ ../../modules/mixins/starship.nix ../../modules/mixins/thunar.nix ../../modules/mixins/tmux.nix + ../../modules/mixins/zsh ../../modules/profiles/dwm ../../modules/profiles/xbanish.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index a833e666..ca9a84dd 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -3,6 +3,5 @@ { imports = [ ./bin - ./zsh ]; } diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix deleted file mode 100644 index dc110f74..00000000 --- a/modules/home-manager/cli/zsh/default.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.zsh = { - enable = true; - enableCompletion = true; - syntaxHighlighting.enable = true; - - zsh-abbr = { - enable = true; - - abbreviations = import ./abbreviations.nix; - globalAbbreviations = import ./global-abbreviations.nix; - }; - - dotDir = ".config/zsh"; - - shellAliases = (import ./aliases.nix { inherit config; }); - - localVariables = { - ABBR_SET_EXPANSION_CURSOR = 1; - }; - - initExtra = '' - if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then - exec startx &>/dev/null - fi - - # suffix - alias -s gz="tar -tf" - alias -s {html,HTML}="background firefox" - alias -s {jpg,JPG,png,PNG}="background okular" - alias -s {pdf,PDF}="background okular" - alias -s {zip,ZIP}="unzip -l" - - git() { - case "$1" in - clone) - shift - - local repo_url="$1" - local repo_path="''${2:-}" - - if [ -n "$TARGET_DIR" ]; then - command git clone "$repo_url" "$repo_path" - else - command git clone "$repo_url" - repo_path=$(basename "$repo_url" .git) - fi - - ${pkgs.tmux-sessionizer}/bin/tmux-sessionizer "$repo_path" - ;; - - root) - shift - - local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" - - if [[ $# == 0 ]]; then - cd "''${ROOT}" - else - (cd "''${ROOT}" && eval "''${@}") - fi - ;; - - *) - ${pkgs.git}/bin/git "''${@}" - ;; - esac - } - - mbsync() { - ${pkgs.isync}/bin/mbsync --config "${config.xdg.configHome}/isync/mbsyncrc" "''${@}" - } - - ttyper() { - command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" - } - - yt-dlp() { - command yt-dlp --paths ~/Videos "$@" - } - - bindkey -s ^f "tmux-sessionizer\n" - bindkey -s ^v "nvim\n" - - setopt auto_cd - setopt auto_pushd - setopt pushd_ignore_dups - setopt pushdminus - ''; - }; -} diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/mixins/zsh/abbreviations.nix similarity index 100% rename from modules/home-manager/cli/zsh/abbreviations.nix rename to modules/mixins/zsh/abbreviations.nix diff --git a/modules/home-manager/cli/zsh/aliases.nix b/modules/mixins/zsh/aliases.nix similarity index 100% rename from modules/home-manager/cli/zsh/aliases.nix rename to modules/mixins/zsh/aliases.nix diff --git a/modules/mixins/zsh/default.nix b/modules/mixins/zsh/default.nix new file mode 100644 index 00000000..88b36098 --- /dev/null +++ b/modules/mixins/zsh/default.nix @@ -0,0 +1,95 @@ +{ + home-manager.users.opdavies = + { config, pkgs, ... }: + { + programs.zsh = { + enable = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + + zsh-abbr = { + enable = true; + + abbreviations = import ./abbreviations.nix; + globalAbbreviations = import ./global-abbreviations.nix; + }; + + dotDir = ".config/zsh"; + + shellAliases = (import ./aliases.nix { inherit config; }); + + localVariables = { + ABBR_SET_EXPANSION_CURSOR = 1; + }; + + initExtra = '' + if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then + exec startx &>/dev/null + fi + + # suffix + alias -s gz="tar -tf" + alias -s {html,HTML}="background firefox" + alias -s {jpg,JPG,png,PNG}="background okular" + alias -s {pdf,PDF}="background okular" + alias -s {zip,ZIP}="unzip -l" + + git() { + case "$1" in + clone) + shift + + local repo_url="$1" + local repo_path="''${2:-}" + + if [ -n "$TARGET_DIR" ]; then + command git clone "$repo_url" "$repo_path" + else + command git clone "$repo_url" + repo_path=$(basename "$repo_url" .git) + fi + + ${pkgs.tmux-sessionizer}/bin/tmux-sessionizer "$repo_path" + ;; + + root) + shift + + local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" + + if [[ $# == 0 ]]; then + cd "''${ROOT}" + else + (cd "''${ROOT}" && eval "''${@}") + fi + ;; + + *) + ${pkgs.git}/bin/git "''${@}" + ;; + esac + } + + mbsync() { + ${pkgs.isync}/bin/mbsync --config "${config.xdg.configHome}/isync/mbsyncrc" "''${@}" + } + + ttyper() { + command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" + } + + yt-dlp() { + command yt-dlp --paths ~/Videos "$@" + } + + bindkey -s ^f "tmux-sessionizer\n" + bindkey -s ^v "nvim\n" + + setopt auto_cd + setopt auto_pushd + setopt pushd_ignore_dups + setopt pushdminus + ''; + }; + }; +} diff --git a/modules/home-manager/cli/zsh/global-abbreviations.nix b/modules/mixins/zsh/global-abbreviations.nix similarity index 100% rename from modules/home-manager/cli/zsh/global-abbreviations.nix rename to modules/mixins/zsh/global-abbreviations.nix From 2bb341abec859589411e53a1ab28617da11f56fa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 19:04:23 +0100 Subject: [PATCH 1611/2258] Extract a neomutt module --- home/opdavies/hosts/t480.nix | 6 ------ hosts/t480/configuration.nix | 1 + hosts/t480/modules/neomutt.nix | 7 +++++++ 3 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 hosts/t480/modules/neomutt.nix diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index ee73bb15..2df8c031 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -29,10 +29,4 @@ } )) ]; - - programs.neomutt = { - enable = true; - - vimKeys = true; - }; } diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index fe7f0615..eecd55d9 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -30,6 +30,7 @@ ../common ../../users/opdavies + ./modules/neomutt.nix ./modules/newsboat ./modules/notes.nix ]; diff --git a/hosts/t480/modules/neomutt.nix b/hosts/t480/modules/neomutt.nix new file mode 100644 index 00000000..57e3cc43 --- /dev/null +++ b/hosts/t480/modules/neomutt.nix @@ -0,0 +1,7 @@ +{ + programs.neomutt = { + enable = true; + + vimKeys = true; + }; +} From d4a9f2f3af02abc40422996d09f2c230c46fa9fe Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 22:52:43 +0100 Subject: [PATCH 1612/2258] Move WAYLAND_DISPLAY --- home/opdavies/hosts/PW05CH3L.nix | 4 ---- hosts/PW05CH3L/configuration.nix | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index 23ee440d..206967e1 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -31,9 +31,5 @@ ''; }) ]; - - sessionVariables = { - WAYLAND_DISPLAY = ""; - }; }; } diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 7a095863..de1975b7 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -22,4 +22,6 @@ }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + + home-manager.users.opdavies.home.sessionVariables.WAYLAND_DISPLAY = ""; } From 91d9643bd54f77f14b096246c390ef3b2f40bc27 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 23:02:01 +0100 Subject: [PATCH 1613/2258] Move wiki configuration --- home/opdavies/hosts/PW05CH3L.nix | 36 +------------------------------- hosts/PW05CH3L/configuration.nix | 3 +++ hosts/PW05CH3L/modules/wiki.nix | 36 ++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 35 deletions(-) create mode 100644 hosts/PW05CH3L/modules/wiki.nix diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix index 206967e1..ffcd4415 100644 --- a/home/opdavies/hosts/PW05CH3L.nix +++ b/home/opdavies/hosts/PW05CH3L.nix @@ -1,35 +1 @@ -{ - config, - lib, - pkgs, - ... -}: - -{ - home = - let - remoteIpAddress = "192.168.1.111"; - wikiPath = "${config.xdg.userDirs.documents}/wiki"; - in - { - packages = [ - (pkgs.writeShellApplication { - name = "wiki-pull"; - - text = '' - ${lib.getExe pkgs.rsync} -avz --update \ - ${remoteIpAddress}:${wikiPath}/ ${wikiPath} "$@" - ''; - }) - - (pkgs.writeShellApplication { - name = "wiki-push"; - - text = '' - ${lib.getExe pkgs.rsync} -avz --update \ - ${wikiPath}/ ${remoteIpAddress}:${wikiPath} "$@" - ''; - }) - ]; - }; -} +{ } diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index de1975b7..b3de6491 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -12,6 +12,9 @@ ../../modules/mixins/tmux.nix ../../modules/mixins/zsh + ./modules/notes.nix + ./modules/wiki.nix + ../common ../../users/opdavies ]; diff --git a/hosts/PW05CH3L/modules/wiki.nix b/hosts/PW05CH3L/modules/wiki.nix new file mode 100644 index 00000000..2e54e104 --- /dev/null +++ b/hosts/PW05CH3L/modules/wiki.nix @@ -0,0 +1,36 @@ +{ lib, ... }: + +with lib; + +{ + home-manager.users.opdavies = + { config, pkgs, ... }: + { + home = + let + remoteIpAddress = "192.168.1.111"; + wikiPath = "${config.xdg.userDirs.documents}/wiki"; + in + { + packages = [ + (pkgs.writeShellApplication { + name = "wiki-pull"; + + text = '' + ${getExe pkgs.rsync} -avz --update \ + ${remoteIpAddress}:${wikiPath}/ ${wikiPath} "$@" + ''; + }) + + (pkgs.writeShellApplication { + name = "wiki-push"; + + text = '' + ${getExe pkgs.rsync} -avz --update \ + ${wikiPath}/ ${remoteIpAddress}:${wikiPath} "$@" + ''; + }) + ]; + }; + }; +} From 02a0dd96eb84e623beebafba61a1fba2e2b95b0b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 23:15:38 +0100 Subject: [PATCH 1614/2258] Fix neomutt module --- hosts/t480/modules/neomutt.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/t480/modules/neomutt.nix b/hosts/t480/modules/neomutt.nix index 57e3cc43..dbc58332 100644 --- a/hosts/t480/modules/neomutt.nix +++ b/hosts/t480/modules/neomutt.nix @@ -1,5 +1,5 @@ { - programs.neomutt = { + home-manager.users.opdavies.programs.neomutt = { enable = true; vimKeys = true; From c88993e4b59c22b412985df4845040acdd8269b5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 23:17:12 +0100 Subject: [PATCH 1615/2258] Move wiki configuration --- home/opdavies/hosts/t480.nix | 33 +-------------------------------- hosts/t480/configuration.nix | 5 +++++ hosts/t480/modules/wiki.nix | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 32 deletions(-) create mode 100644 hosts/t480/modules/wiki.nix diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix index 2df8c031..ffcd4415 100644 --- a/home/opdavies/hosts/t480.nix +++ b/home/opdavies/hosts/t480.nix @@ -1,32 +1 @@ -{ config, pkgs, ... }: - -{ - home.packages = with pkgs; [ - backup-websites - displayselect - isync - upload-to-files - - (pkgs.writeShellApplication ( - let - remoteIpAddresses = [ - "116.203.11.255" - "192.168.1.116" - ]; - - wikiPath = "${config.xdg.userDirs.documents}/wiki"; - in - { - name = "wiki-push"; - - text = builtins.concatStringsSep "\n" ( - map (ipAddress: '' - ${lib.getExe pkgs.rsync} -avz --update \ - --delete --delete-after \ - ${wikiPath}/ ${ipAddress}:${wikiPath} "$@" - '') remoteIpAddresses - ); - } - )) - ]; -} +{ } diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index eecd55d9..27d42ed5 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -33,6 +33,7 @@ ./modules/neomutt.nix ./modules/newsboat ./modules/notes.nix + ./modules/wiki.nix ]; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; @@ -63,12 +64,16 @@ environment.systemPackages = with pkgs; [ abook + backup-websites + displayselect gtypist + isync pam_gnupg peek slack sxiv ttyper + upload-to-files yt-dlp zeroad zoom-us diff --git a/hosts/t480/modules/wiki.nix b/hosts/t480/modules/wiki.nix new file mode 100644 index 00000000..31a85ad6 --- /dev/null +++ b/hosts/t480/modules/wiki.nix @@ -0,0 +1,33 @@ +{ lib, ... }: + +with lib; + +{ + home-manager.users.opdavies = + { config, pkgs, ... }: + { + home.packages = with pkgs; [ + (pkgs.writeShellApplication ( + let + remoteIpAddresses = [ + "116.203.11.255" + "192.168.1.116" + ]; + + wikiPath = "${config.xdg.userDirs.documents}/wiki"; + in + { + name = "wiki-push"; + + text = builtins.concatStringsSep "\n" ( + map (ipAddress: '' + ${getExe pkgs.rsync} -avz --update \ + --delete --delete-after \ + ${wikiPath}/ ${ipAddress}:${wikiPath} "$@" + '') remoteIpAddresses + ); + } + )) + ]; + }; +} From 8a4222cd88fb9f4429517185d72d94dc2fc1989a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 23:29:32 +0100 Subject: [PATCH 1616/2258] Remove host-specific Home Manager configurations --- home/common/default.nix | 10 ---------- home/opdavies/hosts/PW05CH3L.nix | 1 - home/opdavies/hosts/lemp11.nix | 1 - home/opdavies/hosts/nixedo.nix | 1 - home/opdavies/hosts/t480.nix | 1 - home/opdavies/hosts/t490.nix | 15 --------------- 6 files changed, 29 deletions(-) delete mode 100644 home/opdavies/hosts/PW05CH3L.nix delete mode 100644 home/opdavies/hosts/lemp11.nix delete mode 100644 home/opdavies/hosts/nixedo.nix delete mode 100644 home/opdavies/hosts/t480.nix delete mode 100644 home/opdavies/hosts/t490.nix diff --git a/home/common/default.nix b/home/common/default.nix index b004924f..2c63c085 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -1,12 +1,2 @@ { - outputs, - hostname, - username, - ... -}: - -{ - imports = builtins.attrValues outputs.homeManagerModules ++ [ - ../../home/${username}/hosts/${hostname}.nix - ]; } diff --git a/home/opdavies/hosts/PW05CH3L.nix b/home/opdavies/hosts/PW05CH3L.nix deleted file mode 100644 index ffcd4415..00000000 --- a/home/opdavies/hosts/PW05CH3L.nix +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/home/opdavies/hosts/lemp11.nix b/home/opdavies/hosts/lemp11.nix deleted file mode 100644 index ffcd4415..00000000 --- a/home/opdavies/hosts/lemp11.nix +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/home/opdavies/hosts/nixedo.nix b/home/opdavies/hosts/nixedo.nix deleted file mode 100644 index ffcd4415..00000000 --- a/home/opdavies/hosts/nixedo.nix +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/home/opdavies/hosts/t480.nix b/home/opdavies/hosts/t480.nix deleted file mode 100644 index ffcd4415..00000000 --- a/home/opdavies/hosts/t480.nix +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/home/opdavies/hosts/t490.nix b/home/opdavies/hosts/t490.nix deleted file mode 100644 index a9db00d6..00000000 --- a/home/opdavies/hosts/t490.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -{ - home.packages = with pkgs; [ - displayselect - isync - upload-to-files - ]; - - programs.neomutt = { - enable = true; - - vimKeys = true; - }; -} From dd8c556963a91a812b3147ccacab13770fa4da17 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 23:49:28 +0100 Subject: [PATCH 1617/2258] Move common host configuration to a mixin --- home/common/default.nix | 2 -- home/opdavies/default.nix | 1 - hosts/PW05CH3L/configuration.nix | 2 +- hosts/lemp11/configuration.nix | 2 +- hosts/nixedo/configuration.nix | 2 +- hosts/t480/configuration.nix | 2 +- hosts/t490/configuration.nix | 3 ++- {hosts => modules/mixins}/common/default.nix | 0 {hosts => modules/mixins}/common/programs.nix | 0 9 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 home/common/default.nix rename {hosts => modules/mixins}/common/default.nix (100%) rename {hosts => modules/mixins}/common/programs.nix (100%) diff --git a/home/common/default.nix b/home/common/default.nix deleted file mode 100644 index 2c63c085..00000000 --- a/home/common/default.nix +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 6b64526f..dce140ca 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -30,7 +30,6 @@ in { imports = [ - ../common ./home.nix ./modules ] diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index b3de6491..8e34b2d5 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -3,6 +3,7 @@ { imports = [ ../../modules/editor/nvim.nix + ../../modules/mixins/common ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix @@ -15,7 +16,6 @@ ./modules/notes.nix ./modules/wiki.nix - ../common ../../users/opdavies ]; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 45553941..6af2a7c6 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -7,9 +7,9 @@ ./programs.nix ./services.nix + ../../modules/mixins/common ../../modules/mixins/zsh - ../common ../../users/opdavies ../../users/eric ../../users/luke diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 1a7a9efc..d3de3a07 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -10,6 +10,7 @@ ./secrets.nix ./services.nix + ../../modules/mixins/common ../../modules/mixins/docker.nix ../../modules/mixins/zsh @@ -21,7 +22,6 @@ ./modules/jellyfin.nix ./modules/paperless.nix - ../common ../../users/opdavies ]; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 27d42ed5..8e1021a5 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -9,6 +9,7 @@ ../../modules/editor/nvim.nix ../../modules/mixins/bluetooth.nix + ../../modules/mixins/common ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/flameshot.nix @@ -27,7 +28,6 @@ ../../modules/profiles/dwm ../../modules/profiles/xbanish.nix - ../common ../../users/opdavies ./modules/neomutt.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 697a21ff..9b947f7a 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -9,7 +9,8 @@ ./services ./users.nix - ../common + ../../modules/mixins/common + ../../users/opdavies ]; diff --git a/hosts/common/default.nix b/modules/mixins/common/default.nix similarity index 100% rename from hosts/common/default.nix rename to modules/mixins/common/default.nix diff --git a/hosts/common/programs.nix b/modules/mixins/common/programs.nix similarity index 100% rename from hosts/common/programs.nix rename to modules/mixins/common/programs.nix From 7df9eb7b4fd1c7383a7f67c3287e4dee8f5c592e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 23:57:55 +0100 Subject: [PATCH 1618/2258] Extract a node mixin --- home/opdavies/modules/default.nix | 1 - home/opdavies/modules/node.nix | 17 ----------------- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/mixins/node.nix | 19 +++++++++++++++++++ 5 files changed, 21 insertions(+), 18 deletions(-) delete mode 100644 home/opdavies/modules/node.nix create mode 100644 modules/mixins/node.nix diff --git a/home/opdavies/modules/default.nix b/home/opdavies/modules/default.nix index b248f871..6406b7dc 100644 --- a/home/opdavies/modules/default.nix +++ b/home/opdavies/modules/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./node.nix ./ranger.nix ]; } diff --git a/home/opdavies/modules/node.nix b/home/opdavies/modules/node.nix deleted file mode 100644 index b0aae355..00000000 --- a/home/opdavies/modules/node.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, ... }: - -let - inherit (config.xdg) configHome dataHome stateHome; -in -{ - xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' - cache=${configHome}/npm - init-module=${configHome}/npm/config/npm-init.js - logs-dir=${stateHome}/npm/logs - prefix=${dataHome}/npm - ''; - - home.sessionVariables = { - NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; - }; -} diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 8e34b2d5..b5427cd8 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -8,6 +8,7 @@ ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix ../../modules/mixins/git.nix + ../../modules/mixins/node.nix ../../modules/mixins/phpactor ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 8e1021a5..7bb4d69d 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -18,6 +18,7 @@ ../../modules/mixins/git.nix ../../modules/mixins/gtk.nix ../../modules/mixins/mpv.nix + ../../modules/mixins/node.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix ../../modules/mixins/screenkey.nix diff --git a/modules/mixins/node.nix b/modules/mixins/node.nix new file mode 100644 index 00000000..823ba7a3 --- /dev/null +++ b/modules/mixins/node.nix @@ -0,0 +1,19 @@ +{ + home-manager.users.opdavies = + { config, ... }: + let + inherit (config.xdg) configHome dataHome stateHome; + in + { + xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' + cache=${configHome}/npm + init-module=${configHome}/npm/config/npm-init.js + logs-dir=${stateHome}/npm/logs + prefix=${dataHome}/npm + ''; + + home.sessionVariables = { + NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; + }; + }; +} From dd04b40ae15f47b03044439dd42db879b46cbdc0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 00:01:54 +0100 Subject: [PATCH 1619/2258] Extract a ranger mixin --- home/opdavies/modules/default.nix | 1 - home/opdavies/modules/ranger.nix | 5 ----- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/mixins/ranger.nix | 5 +++++ 5 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 home/opdavies/modules/ranger.nix create mode 100644 modules/mixins/ranger.nix diff --git a/home/opdavies/modules/default.nix b/home/opdavies/modules/default.nix index 6406b7dc..f7e9be4a 100644 --- a/home/opdavies/modules/default.nix +++ b/home/opdavies/modules/default.nix @@ -1,5 +1,4 @@ { imports = [ - ./ranger.nix ]; } diff --git a/home/opdavies/modules/ranger.nix b/home/opdavies/modules/ranger.nix deleted file mode 100644 index bf1e5c5c..00000000 --- a/home/opdavies/modules/ranger.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.ranger = { - enable = true; - }; -} diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index b5427cd8..2394eea4 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -10,6 +10,7 @@ ../../modules/mixins/git.nix ../../modules/mixins/node.nix ../../modules/mixins/phpactor + ../../modules/mixins/ranger.nix ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix ../../modules/mixins/zsh diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7bb4d69d..6ecfef62 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -21,6 +21,7 @@ ../../modules/mixins/node.nix ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix + ../../modules/mixins/ranger.nix ../../modules/mixins/screenkey.nix ../../modules/mixins/starship.nix ../../modules/mixins/thunar.nix diff --git a/modules/mixins/ranger.nix b/modules/mixins/ranger.nix new file mode 100644 index 00000000..bb90930f --- /dev/null +++ b/modules/mixins/ranger.nix @@ -0,0 +1,5 @@ +{ + home-manager.users.opdavies.programs.ranger = { + enable = true; + }; +} From 18e7218341007c469b3ad7b3633176b70e0b18d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 00:04:31 +0100 Subject: [PATCH 1620/2258] Move desktop packages --- home/opdavies/desktop/default.nix | 16 ---------------- hosts/t480/configuration.nix | 9 +++++++++ 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/home/opdavies/desktop/default.nix b/home/opdavies/desktop/default.nix index 66f32ba3..1aaf96d6 100644 --- a/home/opdavies/desktop/default.nix +++ b/home/opdavies/desktop/default.nix @@ -5,20 +5,4 @@ ./firefox.nix ./qutebrowser.nix ]; - - home.packages = with pkgs; [ - build-glove80 - gscan2pdf - kdePackages.okular - meslo-lg - obs-studio - pamixer - pavucontrol - xcape - xsel - ]; - - programs = { - yazi.enable = true; - }; } diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 6ecfef62..3f0b396e 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -67,15 +67,24 @@ environment.systemPackages = with pkgs; [ abook backup-websites + build-glove80 displayselect + gscan2pdf gtypist isync + kdePackages.okular + meslo-lg + obs-studio pam_gnupg + pamixer + pavucontrol peek slack sxiv ttyper upload-to-files + xcape + xsel yt-dlp zeroad zoom-us From 2803ef10635a81537fe90ad0c51572426513b565 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 00:12:20 +0100 Subject: [PATCH 1621/2258] Extract mixins for librewolf and qutebrowser --- home/opdavies/desktop/default.nix | 4 - home/opdavies/desktop/firefox.nix | 110 ------------------------- home/opdavies/desktop/qutebrowser.nix | 32 -------- hosts/t480/configuration.nix | 2 + modules/mixins/firefox.nix | 112 ++++++++++++++++++++++++++ modules/mixins/qutebrowser.nix | 36 +++++++++ 6 files changed, 150 insertions(+), 146 deletions(-) delete mode 100644 home/opdavies/desktop/firefox.nix delete mode 100644 home/opdavies/desktop/qutebrowser.nix create mode 100644 modules/mixins/firefox.nix create mode 100644 modules/mixins/qutebrowser.nix diff --git a/home/opdavies/desktop/default.nix b/home/opdavies/desktop/default.nix index 1aaf96d6..f7e9be4a 100644 --- a/home/opdavies/desktop/default.nix +++ b/home/opdavies/desktop/default.nix @@ -1,8 +1,4 @@ -{ pkgs, ... }: - { imports = [ - ./firefox.nix - ./qutebrowser.nix ]; } diff --git a/home/opdavies/desktop/firefox.nix b/home/opdavies/desktop/firefox.nix deleted file mode 100644 index 04662ee7..00000000 --- a/home/opdavies/desktop/firefox.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ pkgs, ... }: - -{ - programs.firefox.enable = false; - - programs.librewolf = { - enable = true; - - languagePacks = [ "en-GB" ]; - - policies = { - CaptivePortal = false; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - - EnableTrackingProtection = { - Cryptomining = true; - Fingerprinting = true; - Value = true; - }; - - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; - installation_mode = "force_installed"; - }; - - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - }; - }; - - FirefoxHome = { - Highlights = false; - Pocket = false; - Search = true; - Snippets = false; - SponsoredPocket = false; - SponsoredTopSites = false; - TopSites = true; - }; - - FirefoxSuggest = { - ImproveSuggest = false; - SponsoredSuggestions = false; - WebSuggestions = false; - }; - - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - - Preferences = { - "cookiebanners.service.mode" = 2; # Block cookie banners - "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing - "privacy.donottrackheader.enabled" = true; - "privacy.fingerprintingProtection" = true; - "privacy.resistFingerprinting" = true; - "privacy.trackingprotection.emailtracking.enabled" = true; - "privacy.trackingprotection.enabled" = true; - "privacy.trackingprotection.fingerprinting.enabled" = true; - "privacy.trackingprotection.socialtracking.enabled" = true; - }; - - HardwareAcceleration = true; - TranslateEnabled = true; - - UserMessaging = { - ExtensionRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = true; - }; - }; - - profiles = { - default = { - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - awesome-rss - bitwarden - darkreader - onetab - tree-style-tab - ublock-origin - videospeed - vimium - web-developer - ]; - - search = { - default = "ddg"; - force = true; - privateDefault = "ddg"; - }; - - settings = { - "browser.search.isUS" = false; - "browser.search.region" = "GB"; - "distribution.searchplugins.defaultLocale" = "en-GB"; - "general.useragent.locale" = "en-GB"; - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; - }; -} diff --git a/home/opdavies/desktop/qutebrowser.nix b/home/opdavies/desktop/qutebrowser.nix deleted file mode 100644 index 056bdcf4..00000000 --- a/home/opdavies/desktop/qutebrowser.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, ... }: - -{ - programs.qutebrowser = { - enable = true; - - searchEngines = { - dp = "https://www.drupal.org/project/{}"; - du = "https://www.drupal.org/u/{}"; - gh = "https://github.com/search?q={}"; - mn = "https://mynixos.com/search?q={}"; - nx = "https://search.nixos.org/packages?query={}"; - }; - - settings = { - colors.webpage.darkmode.enabled = true; - }; - - keyBindings = { - normal = { - "<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false"; - - "xb" = "config-cycle statusbar.show always never"; - "xt" = "config-cycle tabs.show always never"; - "xx" = lib.mkMerge [ - "config-cycle statusbar.show always never" - "config-cycle tabs.show always never" - ]; - }; - }; - }; -} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 3f0b396e..3aa609f1 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,11 +12,13 @@ ../../modules/mixins/common ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix + ../../modules/mixins/firefox.nix ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix ../../modules/mixins/git.nix ../../modules/mixins/gtk.nix + ../../modules/mixins/qutebrowser.nix ../../modules/mixins/mpv.nix ../../modules/mixins/node.nix ../../modules/mixins/phpactor diff --git a/modules/mixins/firefox.nix b/modules/mixins/firefox.nix new file mode 100644 index 00000000..614f1a5c --- /dev/null +++ b/modules/mixins/firefox.nix @@ -0,0 +1,112 @@ +{ + home-manager.users.opdavies = + { pkgs, ... }: + { + programs.firefox.enable = false; + + programs.librewolf = { + enable = true; + + languagePacks = [ "en-GB" ]; + + policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; + + profiles = { + default = { + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ + awesome-rss + bitwarden + darkreader + onetab + tree-style-tab + ublock-origin + videospeed + vimium + web-developer + ]; + + search = { + default = "ddg"; + force = true; + privateDefault = "ddg"; + }; + + settings = { + "browser.search.isUS" = false; + "browser.search.region" = "GB"; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; + }; + }; +} diff --git a/modules/mixins/qutebrowser.nix b/modules/mixins/qutebrowser.nix new file mode 100644 index 00000000..23f97b55 --- /dev/null +++ b/modules/mixins/qutebrowser.nix @@ -0,0 +1,36 @@ +{ lib, ... }: + +with lib; + +{ + home-manager.users.opdavies = { + programs.qutebrowser = { + enable = true; + + searchEngines = { + dp = "https://www.drupal.org/project/{}"; + du = "https://www.drupal.org/u/{}"; + gh = "https://github.com/search?q={}"; + mn = "https://mynixos.com/search?q={}"; + nx = "https://search.nixos.org/packages?query={}"; + }; + + settings = { + colors.webpage.darkmode.enabled = true; + }; + + keyBindings = { + normal = { + "<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false"; + + "xb" = "config-cycle statusbar.show always never"; + "xt" = "config-cycle tabs.show always never"; + "xx" = mkMerge [ + "config-cycle statusbar.show always never" + "config-cycle tabs.show always never" + ]; + }; + }; + }; + }; +} From 2f56994696936c755209f2d849e1063a80ef1120 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 00:23:37 +0100 Subject: [PATCH 1622/2258] Move desktop/non-headless packages --- flake.nix | 8 ------ home/opdavies/default.nix | 12 ++------ home/opdavies/desktop/default.nix | 4 --- home/opdavies/modules/default.nix | 4 --- hosts/t480/configuration.nix | 10 +++++++ modules/mixins/common/default.nix | 47 ++++++++++--------------------- 6 files changed, 28 insertions(+), 57 deletions(-) delete mode 100644 home/opdavies/desktop/default.nix delete mode 100644 home/opdavies/modules/default.nix diff --git a/flake.nix b/flake.nix index 1ab158c3..0f583c7e 100644 --- a/flake.nix +++ b/flake.nix @@ -40,8 +40,6 @@ username = "opdavies"; specialArgs = { - headless = false; - inherit inputs outputs @@ -85,7 +83,6 @@ nixedo = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { - headless = true; hostname = "nixedo"; stateVersion = "24.11"; }; @@ -131,7 +128,6 @@ inherit system; specialArgs = specialArgs // { - headless = true; hostname = "PW05CH3L"; stateVersion = "22.11"; }; @@ -148,10 +144,6 @@ hetznix = nixpkgs.lib.nixosSystem { inherit system; - specialArgs = specialArgs // { - headless = true; - }; - modules = [ agenix.nixosModules.default disko.nixosModules.disko diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index dce140ca..339c0234 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -1,6 +1,5 @@ { config, - headless ? false, inputs, outputs, system, @@ -28,14 +27,9 @@ let inherit (pkgs) lib; in { - imports = - [ - ./home.nix - ./modules - ] - ++ pkgs.lib.optionals (!headless) [ - ./desktop - ]; + imports = [ + ./home.nix + ]; home.sessionVariables = { EDITOR = "nvim"; diff --git a/home/opdavies/desktop/default.nix b/home/opdavies/desktop/default.nix deleted file mode 100644 index f7e9be4a..00000000 --- a/home/opdavies/desktop/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - imports = [ - ]; -} diff --git a/home/opdavies/modules/default.nix b/home/opdavies/modules/default.nix deleted file mode 100644 index f7e9be4a..00000000 --- a/home/opdavies/modules/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - imports = [ - ]; -} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 3aa609f1..20e6929f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -68,19 +68,29 @@ environment.systemPackages = with pkgs; [ abook + acpi + arandr backup-websites + brightnessctl build-glove80 + cpufrequtils displayselect + ffmpegthumbnailer gscan2pdf gtypist + hunspellDicts.en-gb-large isync kdePackages.okular + libnotify + libreoffice meslo-lg obs-studio pam_gnupg pamixer pavucontrol peek + pmutils + shotwell slack sxiv ttyper diff --git a/modules/mixins/common/default.nix b/modules/mixins/common/default.nix index 77f9fabe..b4af3823 100644 --- a/modules/mixins/common/default.nix +++ b/modules/mixins/common/default.nix @@ -1,5 +1,4 @@ { - headless, hostname, inputs, outputs, @@ -35,37 +34,22 @@ users.defaultUserShell = pkgs.zsh; - environment.systemPackages = - with pkgs; - [ - cryptsetup - fastfetch - mermaid-cli - mkcert - passmenu-otp + environment.systemPackages = with pkgs; [ + cryptsetup + fastfetch + mermaid-cli + mkcert + passmenu-otp - (pass.withExtensions ( - e: with e; [ - passExtensions.pass-audit - passExtensions.pass-import - passExtensions.pass-otp - passExtensions.pass-update - ] - )) - ] - ++ pkgs.lib.optionals (!headless) [ - acpi - arandr - brightnessctl - cpufrequtils - libnotify - pmutils - ffmpegthumbnailer - hunspellDicts.en-gb-large - libreoffice - shotwell - vscode - ]; + (pass.withExtensions ( + e: with e; [ + passExtensions.pass-audit + passExtensions.pass-import + passExtensions.pass-otp + passExtensions.pass-update + ] + )) + ]; home-manager = { extraSpecialArgs = { @@ -73,7 +57,6 @@ hostname inputs outputs - headless self system username From 4bbca3493e90c67ff2948c1823bea24346ef59be Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 00:45:11 +0100 Subject: [PATCH 1623/2258] Extract a gnupg mixin --- hosts/PW05CH3L/configuration.nix | 2 +- hosts/lemp11/configuration.nix | 2 +- hosts/nixedo/configuration.nix | 2 +- hosts/t480/configuration.nix | 3 ++- hosts/t490/configuration.nix | 2 +- modules/mixins/{common/default.nix => common.nix} | 4 ++-- modules/mixins/{common/programs.nix => gnupg.nix} | 5 ----- 7 files changed, 8 insertions(+), 12 deletions(-) rename modules/mixins/{common/default.nix => common.nix} (98%) rename modules/mixins/{common/programs.nix => gnupg.nix} (71%) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 2394eea4..5af1193f 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -3,7 +3,7 @@ { imports = [ ../../modules/editor/nvim.nix - ../../modules/mixins/common + ../../modules/mixins/common.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 6af2a7c6..d4f214d4 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -7,7 +7,7 @@ ./programs.nix ./services.nix - ../../modules/mixins/common + ../../modules/mixins/common.nix ../../modules/mixins/zsh ../../users/opdavies diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index d3de3a07..e7c1f31e 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -10,7 +10,7 @@ ./secrets.nix ./services.nix - ../../modules/mixins/common + ../../modules/mixins/common.nix ../../modules/mixins/docker.nix ../../modules/mixins/zsh diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 20e6929f..2dd0de9f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -9,7 +9,7 @@ ../../modules/editor/nvim.nix ../../modules/mixins/bluetooth.nix - ../../modules/mixins/common + ../../modules/mixins/common.nix ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/firefox.nix @@ -17,6 +17,7 @@ ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix ../../modules/mixins/git.nix + ../../modules/mixins/gnupg.nix ../../modules/mixins/gtk.nix ../../modules/mixins/qutebrowser.nix ../../modules/mixins/mpv.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 9b947f7a..ca29602a 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -9,7 +9,7 @@ ./services ./users.nix - ../../modules/mixins/common + ../../modules/mixins/common.nix ../../users/opdavies ]; diff --git a/modules/mixins/common/default.nix b/modules/mixins/common.nix similarity index 98% rename from modules/mixins/common/default.nix rename to modules/mixins/common.nix index b4af3823..133ef504 100644 --- a/modules/mixins/common/default.nix +++ b/modules/mixins/common.nix @@ -13,8 +13,6 @@ { imports = [ inputs.home-manager.nixosModules.home-manager - - ./programs.nix ]; nix = { @@ -32,6 +30,8 @@ }; }; + programs.zsh.enable = true; + users.defaultUserShell = pkgs.zsh; environment.systemPackages = with pkgs; [ diff --git a/modules/mixins/common/programs.nix b/modules/mixins/gnupg.nix similarity index 71% rename from modules/mixins/common/programs.nix rename to modules/mixins/gnupg.nix index 71dc03e2..1ed32dc9 100644 --- a/modules/mixins/common/programs.nix +++ b/modules/mixins/gnupg.nix @@ -7,10 +7,5 @@ enableSSHSupport = true; pinentryPackage = pkgs.pinentry-qt; }; - - zsh = { - enable = true; - histSize = 5000; - }; }; } From 1d284c943292b51fda5438b8e433a3489adc54a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 5 Apr 2025 11:25:37 +0100 Subject: [PATCH 1624/2258] Extract a scripts mixin --- flake.nix | 2 -- hosts/PW05CH3L/configuration.nix | 1 + hosts/t480/configuration.nix | 1 + modules/home-manager/cli/default.nix | 7 ------ modules/home-manager/default.nix | 22 ------------------- .../cli/bin => mixins/scripts}/default.nix | 2 +- .../scripts}/scripts/create-script | 0 .../bin => mixins/scripts}/scripts/git-abort | 0 .../scripts}/scripts/git-bare-clone | 0 .../scripts}/scripts/git-continue | 0 .../bin => mixins/scripts}/scripts/git-sync | 0 .../cli/bin => mixins/scripts}/scripts/git-up | 0 .../scripts}/scripts/import-gzip-database | 0 .../scripts}/scripts/main-or-master-branch | 0 .../bin => mixins/scripts}/scripts/mounter | 0 .../scripts}/scripts/move-firefox-screenshots | 0 .../scripts}/scripts/new-drupal-module | 0 .../cli/bin => mixins/scripts}/scripts/setbg | 0 .../scripts}/scripts/start-traefik | 0 .../scripts/stop-all-docker-containers | 0 .../scripts}/scripts/stop-traefik | 0 .../scripts}/scripts/tag-release | 0 .../bin => mixins/scripts}/scripts/unmounter | 0 .../scripts}/scripts/update-all-git-repos | 0 24 files changed, 3 insertions(+), 32 deletions(-) delete mode 100644 modules/home-manager/cli/default.nix delete mode 100644 modules/home-manager/default.nix rename modules/{home-manager/cli/bin => mixins/scripts}/default.nix (77%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/create-script (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/git-abort (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/git-bare-clone (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/git-continue (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/git-sync (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/git-up (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/import-gzip-database (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/main-or-master-branch (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/mounter (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/move-firefox-screenshots (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/new-drupal-module (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/setbg (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/start-traefik (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/stop-all-docker-containers (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/stop-traefik (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/tag-release (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/unmounter (100%) rename modules/{home-manager/cli/bin => mixins/scripts}/scripts/update-all-git-repos (100%) diff --git a/flake.nix b/flake.nix index 0f583c7e..df52100d 100644 --- a/flake.nix +++ b/flake.nix @@ -60,8 +60,6 @@ overlays = import ./overlays { inherit inputs; }; - homeManagerModules.default = ./modules/home-manager; - nixosConfigurations = { lemp11 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 5af1193f..f083bc9c 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -11,6 +11,7 @@ ../../modules/mixins/node.nix ../../modules/mixins/phpactor ../../modules/mixins/ranger.nix + ../../modules/mixins/scripts ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix ../../modules/mixins/zsh diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 2dd0de9f..764c5c4f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -26,6 +26,7 @@ ../../modules/mixins/pipewire.nix ../../modules/mixins/ranger.nix ../../modules/mixins/screenkey.nix + ../../modules/mixins/scripts ../../modules/mixins/starship.nix ../../modules/mixins/thunar.nix ../../modules/mixins/tmux.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix deleted file mode 100644 index ca9a84dd..00000000 --- a/modules/home-manager/cli/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ ... }: - -{ - imports = [ - ./bin - ]; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix deleted file mode 100644 index ad904a83..00000000 --- a/modules/home-manager/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - config, - inputs, - lib, - self, - pkgs, - ... -}: - -{ - imports = [ - (import ./cli { - inherit - config - inputs - lib - self - pkgs - ; - }) - ]; -} diff --git a/modules/home-manager/cli/bin/default.nix b/modules/mixins/scripts/default.nix similarity index 77% rename from modules/home-manager/cli/bin/default.nix rename to modules/mixins/scripts/default.nix index 2da9de18..448d89a9 100644 --- a/modules/home-manager/cli/bin/default.nix +++ b/modules/mixins/scripts/default.nix @@ -1,5 +1,5 @@ { - home = { + home-manager.users.opdavies.home = { sessionPath = [ "$HOME/.local/bin" ]; file.".local/bin" = { diff --git a/modules/home-manager/cli/bin/scripts/create-script b/modules/mixins/scripts/scripts/create-script similarity index 100% rename from modules/home-manager/cli/bin/scripts/create-script rename to modules/mixins/scripts/scripts/create-script diff --git a/modules/home-manager/cli/bin/scripts/git-abort b/modules/mixins/scripts/scripts/git-abort similarity index 100% rename from modules/home-manager/cli/bin/scripts/git-abort rename to modules/mixins/scripts/scripts/git-abort diff --git a/modules/home-manager/cli/bin/scripts/git-bare-clone b/modules/mixins/scripts/scripts/git-bare-clone similarity index 100% rename from modules/home-manager/cli/bin/scripts/git-bare-clone rename to modules/mixins/scripts/scripts/git-bare-clone diff --git a/modules/home-manager/cli/bin/scripts/git-continue b/modules/mixins/scripts/scripts/git-continue similarity index 100% rename from modules/home-manager/cli/bin/scripts/git-continue rename to modules/mixins/scripts/scripts/git-continue diff --git a/modules/home-manager/cli/bin/scripts/git-sync b/modules/mixins/scripts/scripts/git-sync similarity index 100% rename from modules/home-manager/cli/bin/scripts/git-sync rename to modules/mixins/scripts/scripts/git-sync diff --git a/modules/home-manager/cli/bin/scripts/git-up b/modules/mixins/scripts/scripts/git-up similarity index 100% rename from modules/home-manager/cli/bin/scripts/git-up rename to modules/mixins/scripts/scripts/git-up diff --git a/modules/home-manager/cli/bin/scripts/import-gzip-database b/modules/mixins/scripts/scripts/import-gzip-database similarity index 100% rename from modules/home-manager/cli/bin/scripts/import-gzip-database rename to modules/mixins/scripts/scripts/import-gzip-database diff --git a/modules/home-manager/cli/bin/scripts/main-or-master-branch b/modules/mixins/scripts/scripts/main-or-master-branch similarity index 100% rename from modules/home-manager/cli/bin/scripts/main-or-master-branch rename to modules/mixins/scripts/scripts/main-or-master-branch diff --git a/modules/home-manager/cli/bin/scripts/mounter b/modules/mixins/scripts/scripts/mounter similarity index 100% rename from modules/home-manager/cli/bin/scripts/mounter rename to modules/mixins/scripts/scripts/mounter diff --git a/modules/home-manager/cli/bin/scripts/move-firefox-screenshots b/modules/mixins/scripts/scripts/move-firefox-screenshots similarity index 100% rename from modules/home-manager/cli/bin/scripts/move-firefox-screenshots rename to modules/mixins/scripts/scripts/move-firefox-screenshots diff --git a/modules/home-manager/cli/bin/scripts/new-drupal-module b/modules/mixins/scripts/scripts/new-drupal-module similarity index 100% rename from modules/home-manager/cli/bin/scripts/new-drupal-module rename to modules/mixins/scripts/scripts/new-drupal-module diff --git a/modules/home-manager/cli/bin/scripts/setbg b/modules/mixins/scripts/scripts/setbg similarity index 100% rename from modules/home-manager/cli/bin/scripts/setbg rename to modules/mixins/scripts/scripts/setbg diff --git a/modules/home-manager/cli/bin/scripts/start-traefik b/modules/mixins/scripts/scripts/start-traefik similarity index 100% rename from modules/home-manager/cli/bin/scripts/start-traefik rename to modules/mixins/scripts/scripts/start-traefik diff --git a/modules/home-manager/cli/bin/scripts/stop-all-docker-containers b/modules/mixins/scripts/scripts/stop-all-docker-containers similarity index 100% rename from modules/home-manager/cli/bin/scripts/stop-all-docker-containers rename to modules/mixins/scripts/scripts/stop-all-docker-containers diff --git a/modules/home-manager/cli/bin/scripts/stop-traefik b/modules/mixins/scripts/scripts/stop-traefik similarity index 100% rename from modules/home-manager/cli/bin/scripts/stop-traefik rename to modules/mixins/scripts/scripts/stop-traefik diff --git a/modules/home-manager/cli/bin/scripts/tag-release b/modules/mixins/scripts/scripts/tag-release similarity index 100% rename from modules/home-manager/cli/bin/scripts/tag-release rename to modules/mixins/scripts/scripts/tag-release diff --git a/modules/home-manager/cli/bin/scripts/unmounter b/modules/mixins/scripts/scripts/unmounter similarity index 100% rename from modules/home-manager/cli/bin/scripts/unmounter rename to modules/mixins/scripts/scripts/unmounter diff --git a/modules/home-manager/cli/bin/scripts/update-all-git-repos b/modules/mixins/scripts/scripts/update-all-git-repos similarity index 100% rename from modules/home-manager/cli/bin/scripts/update-all-git-repos rename to modules/mixins/scripts/scripts/update-all-git-repos From 4836066be442f1f0fafc5d4528b26e29728281cb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 01:00:57 +0100 Subject: [PATCH 1625/2258] Combine default.nix and home.nix --- home/opdavies/default.nix | 42 +++++++++++++++++++++++++++++++++++---- home/opdavies/home.nix | 41 -------------------------------------- 2 files changed, 38 insertions(+), 45 deletions(-) delete mode 100644 home/opdavies/home.nix diff --git a/home/opdavies/default.nix b/home/opdavies/default.nix index 339c0234..23426d12 100644 --- a/home/opdavies/default.nix +++ b/home/opdavies/default.nix @@ -17,20 +17,49 @@ let ]; }; + inherit (pkgs) lib; + inherit (config.xdg) cacheHome configHome dataHome stateHome ; - - inherit (pkgs) lib; in { - imports = [ - ./home.nix + home.username = "opdavies"; + home.homeDirectory = "/home/${config.home.username}"; + + home.packages = with pkgs; [ + cachix + delta + entr + gcc + git + git-crypt + gnupg + inotify-tools + jq + killall + lua + mob + pv + simple-http-server + sshs + tldr + tree + tree-sitter + unzip + w3m + watchexec + wget + xclip + xdg-utils + zbar ]; + programs.home-manager.enable = true; + home.sessionVariables = { EDITOR = "nvim"; IMAPFILTER_HOME = "${configHome}/imapfilter"; @@ -67,4 +96,9 @@ in }; }; }; + + # Nicely reload system units when changing configs. + systemd.user.startServices = "sd-switch"; + + home.stateVersion = "22.05"; # Please read the comment before changing. } diff --git a/home/opdavies/home.nix b/home/opdavies/home.nix deleted file mode 100644 index c22c2e2e..00000000 --- a/home/opdavies/home.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ config, pkgs, ... }: - -{ - home.username = "opdavies"; - home.homeDirectory = "/home/${config.home.username}"; - - home.stateVersion = "22.05"; # Please read the comment before changing. - - home.packages = with pkgs; [ - cachix - delta - entr - gcc - git - git-crypt - gnupg - inotify-tools - jq - killall - lua - mob - pv - simple-http-server - sshs - tldr - tree - tree-sitter - unzip - w3m - watchexec - wget - xclip - xdg-utils - zbar - ]; - - programs.home-manager.enable = true; - - # Nicely reload system units when changing configs. - systemd.user.startServices = "sd-switch"; -} From 2b1c755df5aa5f2a88a853248b60cb6d1129ca85 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 01:03:53 +0100 Subject: [PATCH 1626/2258] Move home.nix into the common mixin --- hosts/PW05CH3L/configuration.nix | 2 +- hosts/lemp11/configuration.nix | 2 +- hosts/nixedo/configuration.nix | 2 +- hosts/t480/configuration.nix | 2 +- hosts/t490/configuration.nix | 2 +- modules/mixins/{common.nix => common/default.nix} | 2 +- home/opdavies/default.nix => modules/mixins/common/home.nix | 0 7 files changed, 6 insertions(+), 6 deletions(-) rename modules/mixins/{common.nix => common/default.nix} (96%) rename home/opdavies/default.nix => modules/mixins/common/home.nix (100%) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index f083bc9c..f915bfb2 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -3,7 +3,7 @@ { imports = [ ../../modules/editor/nvim.nix - ../../modules/mixins/common.nix + ../../modules/mixins/common ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index d4f214d4..6af2a7c6 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -7,7 +7,7 @@ ./programs.nix ./services.nix - ../../modules/mixins/common.nix + ../../modules/mixins/common ../../modules/mixins/zsh ../../users/opdavies diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index e7c1f31e..d3de3a07 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -10,7 +10,7 @@ ./secrets.nix ./services.nix - ../../modules/mixins/common.nix + ../../modules/mixins/common ../../modules/mixins/docker.nix ../../modules/mixins/zsh diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 764c5c4f..809ba3ca 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -9,7 +9,7 @@ ../../modules/editor/nvim.nix ../../modules/mixins/bluetooth.nix - ../../modules/mixins/common.nix + ../../modules/mixins/common ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/firefox.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index ca29602a..9b947f7a 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -9,7 +9,7 @@ ./services ./users.nix - ../../modules/mixins/common.nix + ../../modules/mixins/common ../../users/opdavies ]; diff --git a/modules/mixins/common.nix b/modules/mixins/common/default.nix similarity index 96% rename from modules/mixins/common.nix rename to modules/mixins/common/default.nix index 133ef504..407c327b 100644 --- a/modules/mixins/common.nix +++ b/modules/mixins/common/default.nix @@ -65,7 +65,7 @@ useGlobalPkgs = true; useUserPackages = true; - users."${username}" = import "${self}/home/${username}"; + users."${username}" = import ./home.nix; }; nixpkgs = { diff --git a/home/opdavies/default.nix b/modules/mixins/common/home.nix similarity index 100% rename from home/opdavies/default.nix rename to modules/mixins/common/home.nix From a8fff66029458e43bc58bff982f82a88a8495e19 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 22:54:32 +0100 Subject: [PATCH 1627/2258] t490: remove nixosModules --- hosts/t490/configuration.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 9b947f7a..e2be62f3 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -14,14 +14,6 @@ ../../users/opdavies ]; - nixosModules = { - dwm.enable = true; - redshift.enable = true; - st.enable = true; - thunar.enable = true; - peek.enable = true; - }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; boot = { From 877845ad1a88e1137d8eeb7d6e549a1fa0afc6c1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 6 Apr 2025 22:57:46 +0100 Subject: [PATCH 1628/2258] Add justfile --- .envrc | 1 + flake.nix | 2 +- justfile | 36 ++++++++++++++++++++++++++++++++ run | 62 ------------------------------------------------------- 4 files changed, 38 insertions(+), 63 deletions(-) create mode 100644 .envrc create mode 100644 justfile delete mode 100755 run diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..3550a30f --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/flake.nix b/flake.nix index df52100d..27e4c9c0 100644 --- a/flake.nix +++ b/flake.nix @@ -53,7 +53,7 @@ in { packages.${system} = { - default = mkShell { buildInputs = with pkgs; [ bashInteractive ]; }; + default = mkShell { buildInputs = with pkgs; [ just ]; }; }; formatter.${system} = pkgs.nixfmt-rfc-style; diff --git a/justfile b/justfile new file mode 100644 index 00000000..a5e93ac4 --- /dev/null +++ b/justfile @@ -0,0 +1,36 @@ +alias b := build +alias s := switch +alias t := test +alias u := update + +_default: + just --list + +build *args: + @just _nixos build {{ args }} + +check: + nix flake check + +clean: + nix store optimise --verbose + nix store gc --verbose + +collect-garbage: + nix-collect-garbage -d + sudo nix-collect-garbage -d + +format: + nix fmt flake.nix hosts modules + +switch *args: + @just _nixos switch {{ args }} + +test *args: + @just _nixos test {{ args }} + +update: + nix flake update + +_nixos command *args: + sudo nixos-rebuild {{ command }} --flake . {{ args }} diff --git a/run b/run deleted file mode 100755 index a4fc9c68..00000000 --- a/run +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - -function build { - _nixos build "$@" -} - -function clean { - nix store optimise --verbose - nix store gc --verbose -} - -function check { - nix flake check -} - -function clean { - nix store gc --verbose - nix store optimise --verbose -} - -function collect-garbage { - nix-collect-garbage -d - sudo nix-collect-garbage -d -} - -function format { - nix fmt flake.nix home hosts lib modules -} - -function help { - printf "%s <task> [args]\n\nTasks:\n" "$0" - - compgen -A function | grep -v "^_" | cat -n - - printf "\nExtended help:\n Each task has comments for general usage\n" -} - -function switch { - _nixos switch "$@" -} - -function test { - _nixos test "$@" -} - -function update { - nix flake update -} - -function _nixos { - local command="$1" - shift 1 - - sudo nixos-rebuild "$command" --flake . "$@" -} - -TIMEFORMAT=$'\nTask completed in %3lR' -time "${@:-help}" From fc491ba7a8b6a3830ab93f07a7852610a57bec78 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 8 Apr 2025 07:41:49 +0100 Subject: [PATCH 1629/2258] flake update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 13984d43..8a1d8239 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1741786315, - "narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=", + "lastModified": 1743598667, + "narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=", "owner": "nix-community", "repo": "disko", - "rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de", + "rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1743438213, - "narHash": "sha256-ZZDN+0v1r4I1xkQWlt8euOJv5S4EvElUCZMrDjTCEsY=", + "lastModified": 1744038920, + "narHash": "sha256-9a4V1wQXS8hXZtc7mRtz0qINkGW+C99aDrmXY6oYBFg=", "owner": "nix-community", "repo": "home-manager", - "rev": "ccd7df836e1f42ea84806760f25b77b586370259", + "rev": "a4d8020820a85b47f842eae76ad083b0ec2a886a", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1743367904, - "narHash": "sha256-sOos1jZGKmT6xxPvxGQyPTApOunXvScV4lNjBCXd/CI=", + "lastModified": 1743975612, + "narHash": "sha256-o4FjFOUmjSRMK7dn0TFdAT0RRWUWD+WsspPHa+qEQT8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7ffe0edc685f14b8c635e3d6591b0bbb97365e6c", + "rev": "a880f49904d68b5e53338d1e8c7bf80f59903928", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1743456179, - "narHash": "sha256-GCqqzyJMXaQTx6b159cERA9UrDEwuueymKrkeZNcZK4=", + "lastModified": 1744070470, + "narHash": "sha256-Gqgh+75F5/JQnS6Sgj5Qrxl1aZQ3dVxC7OAGDTDsFJA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a3a3263dcee708eebad1735644509d78367403fc", + "rev": "5051c4651eb0a4f5200fcfd8b8dd500d8ab31f7f", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1743315132, - "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", + "lastModified": 1743964447, + "narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52faf482a3889b7619003c0daec593a1912fddc1", + "rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1743315132, - "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", + "lastModified": 1743964447, + "narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52faf482a3889b7619003c0daec593a1912fddc1", + "rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743454066, - "narHash": "sha256-8h+Ne6XNccuvkS6ZvcK7yTc+so35J2KvIOPAipFdM7o=", + "lastModified": 1744065229, + "narHash": "sha256-nQP5LLvYNECEYDVkVfynoewc1UtQl4M2XzamdPyn3K8=", "owner": "nix-community", "repo": "NUR", - "rev": "0d287e4ac4f1572a4d615b46c17365ac1846dfdf", + "rev": "392ebec73ad39dc13c0232f62a6d8225e03ed069", "type": "github" }, "original": { From 99db5f87c35780da52191b5c1101ba8072bfe10c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 8 Apr 2025 22:43:20 +0100 Subject: [PATCH 1630/2258] Combine packages --- hosts/t480/configuration.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 809ba3ca..7ae7ccdf 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -78,10 +78,13 @@ cpufrequtils displayselect ffmpegthumbnailer + gimp gscan2pdf gtypist + handbrake hunspellDicts.en-gb-large isync + kdePackages.kdenlive kdePackages.okular libnotify libreoffice @@ -109,10 +112,4 @@ networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; - - users.users.opdavies.packages = with pkgs; [ - gimp - handbrake - kdePackages.kdenlive - ]; } From f4c4209c52763911b384fe78e354360fc1ce1fd8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 8 Apr 2025 22:43:20 +0100 Subject: [PATCH 1631/2258] Remove programs.nix --- hosts/t480/configuration.nix | 1 - hosts/t480/programs.nix | 7 ------- 2 files changed, 8 deletions(-) delete mode 100644 hosts/t480/programs.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7ae7ccdf..4edabaed 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -3,7 +3,6 @@ { imports = [ ./hardware-configuration.nix - ./programs.nix ./secrets.nix ./services diff --git a/hosts/t480/programs.nix b/hosts/t480/programs.nix deleted file mode 100644 index f3cfe26d..00000000 --- a/hosts/t480/programs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - programs = { - dconf.enable = true; - }; -} From b96be1a667a36a2125ecfb12a9f7eeaf2366fe07 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 18:00:00 +0100 Subject: [PATCH 1632/2258] Make Git details customisable by host --- hosts/PW05CH3L/configuration.nix | 9 ++++++++- hosts/t480/configuration.nix | 9 ++++++++- modules/mixins/git.nix | 9 +++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index f915bfb2..6df0493e 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,5 +1,11 @@ { inputs, username, ... }: +let + git = { + name = "Oliver Davies"; + emailAddress = "oliver.davies@tfw.wales"; + }; +in { imports = [ ../../modules/editor/nvim.nix @@ -7,7 +13,6 @@ ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix - ../../modules/mixins/git.nix ../../modules/mixins/node.nix ../../modules/mixins/phpactor ../../modules/mixins/ranger.nix @@ -16,6 +21,8 @@ ../../modules/mixins/tmux.nix ../../modules/mixins/zsh + (import ../../modules/mixins/git.nix { inherit git; }) + ./modules/notes.nix ./modules/wiki.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 4edabaed..db3337db 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -1,5 +1,11 @@ { inputs, pkgs, ... }: +let + git = { + name = "Oliver Davies"; + emailAddress = "oliver@oliverdavies.uk"; + }; +in { imports = [ ./hardware-configuration.nix @@ -15,7 +21,6 @@ ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix - ../../modules/mixins/git.nix ../../modules/mixins/gnupg.nix ../../modules/mixins/gtk.nix ../../modules/mixins/qutebrowser.nix @@ -33,6 +38,8 @@ ../../modules/profiles/dwm ../../modules/profiles/xbanish.nix + (import ../../modules/mixins/git.nix { inherit git; }) + ../../users/opdavies ./modules/neomutt.nix diff --git a/modules/mixins/git.nix b/modules/mixins/git.nix index f7955fab..18a63de9 100644 --- a/modules/mixins/git.nix +++ b/modules/mixins/git.nix @@ -1,3 +1,8 @@ +{ + git ? { }, + ... +}: + { home-manager.users.opdavies = { config, pkgs, ... }: @@ -25,8 +30,8 @@ programs = { git = { enable = true; - userName = "Oliver Davies"; - userEmail = "oliver@oliverdavies.dev"; + userName = git.name; + userEmail = git.emailAddress; includes = [ { From d180f46e9c3f16c0eb10dacb5c0db7d40178d356 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 18:00:00 +0100 Subject: [PATCH 1633/2258] Use YAML ft for phpstan.neon and phpstan.neon.dist --- modules/editor/config/plugin/filetype.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/editor/config/plugin/filetype.lua b/modules/editor/config/plugin/filetype.lua index 01d53578..cf0ab512 100644 --- a/modules/editor/config/plugin/filetype.lua +++ b/modules/editor/config/plugin/filetype.lua @@ -3,11 +3,13 @@ vim.filetype.add { inc = "php", install = "php", module = "php", + neon = "yaml", pcss = "scss", theme = "php", }, filename = { ["composer.lock"] = "json", + ["phpstan.neon.dist"] = "yaml", }, } From 177edfa0bce7a67c0902388eb54d68c01349a109 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 18:00:00 +0100 Subject: [PATCH 1634/2258] Update directories --- pkgs/tmux-sessionizer/configure-directories.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tmux-sessionizer/configure-directories.patch b/pkgs/tmux-sessionizer/configure-directories.patch index 2d94ea08..1e63ad2a 100644 --- a/pkgs/tmux-sessionizer/configure-directories.patch +++ b/pkgs/tmux-sessionizer/configure-directories.patch @@ -9,7 +9,7 @@ index fa1bec5..4d79e0b 100755 - # If someone wants to make this extensible, i'll accept - # PR - selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L "${XDG_REPOS_DIR}/personal" "${XDG_REPOS_DIR}/work" "${XDG_REPOS_DIR}/os" "${XDG_DOCUMENTS_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) ++ selected=$(find -L "${XDG_REPOS_DIR}" "${XDG_REPOS_DIR}"/* "${XDG_DOCUMENTS_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) fi if [[ -z $selected ]]; then From db5f09dace7d4ed51152b630849172b1cf6b13e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 18:00:00 +0100 Subject: [PATCH 1635/2258] Update .mailmap --- .mailmap | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.mailmap b/.mailmap index 559ccaed..0de08bbe 100644 --- a/.mailmap +++ b/.mailmap @@ -1,7 +1,6 @@ -Oliver Davies <oliver@oliverdavies.dev> <339813+opdavies@users.noreply.github.com> -Oliver Davies <oliver@oliverdavies.dev> <oliver+github@oliverdavies.uk> -Oliver Davies <oliver@oliverdavies.dev> <oliver.davies@tfw.wales> -Oliver Davies <oliver@oliverdavies.dev> <oliver@microserve.io> -Oliver Davies <oliver@oliverdavies.dev> <oliver@oliverdavies.dev> -Oliver Davies <oliver@oliverdavies.dev> <oliver@oliverdavies.uk> -Oliver Davies <oliver@oliverdavies.dev> <opdavies@gmail.com> +Oliver Davies <oliver@oliverdavies.uk> <339813+opdavies@users.noreply.github.com> +Oliver Davies <oliver@oliverdavies.uk> <oliver+github@oliverdavies.uk> +Oliver Davies <oliver@oliverdavies.uk> <oliver.davies@tfw.wales> +Oliver Davies <oliver@oliverdavies.uk> <oliver@microserve.io> +Oliver Davies <oliver@oliverdavies.uk> <oliver@oliverdavies.dev> +Oliver Davies <oliver@oliverdavies.uk> <opdavies@gmail.com> From 0731d56ac2eb04fda9ff053191ba529c72d38d45 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 18:00:00 +0100 Subject: [PATCH 1636/2258] Remove `nix.nixPath` --- hosts/PW05CH3L/configuration.nix | 2 -- hosts/hetznix/configuration.nix | 2 -- hosts/lemp11/configuration.nix | 2 -- hosts/nixedo/configuration.nix | 2 -- hosts/t480/configuration.nix | 2 -- hosts/t490/configuration.nix | 2 -- 6 files changed, 12 deletions(-) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 6df0493e..aeb4f4d6 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -34,7 +34,5 @@ in defaultUser = username; }; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - home-manager.users.opdavies.home.sessionVariables.WAYLAND_DISPLAY = ""; } diff --git a/hosts/hetznix/configuration.nix b/hosts/hetznix/configuration.nix index 54cfffc2..19fe0159 100644 --- a/hosts/hetznix/configuration.nix +++ b/hosts/hetznix/configuration.nix @@ -24,8 +24,6 @@ extraOptions = '' trusted-users = root opdavies ''; - - nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; }; boot.loader.grub = { diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 6af2a7c6..66f3980f 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -15,8 +15,6 @@ ../../users/luke ]; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - # Bootloader. boot = { loader = { diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index d3de3a07..d17567da 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -37,8 +37,6 @@ services.logind.lidSwitchExternalPower = "ignore"; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - boot.loader = { efi = { canTouchEfiVariables = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index db3337db..0825ae7f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -48,8 +48,6 @@ in ./modules/wiki.nix ]; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - boot = { loader = { systemd-boot = { diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index e2be62f3..1c43f6ef 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -14,8 +14,6 @@ ../../users/opdavies ]; - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - boot = { loader = { systemd-boot = { From cc5340759914957b97c3bfee0c3c5d05e99ce7ac Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 8 Apr 2025 23:07:00 +0100 Subject: [PATCH 1637/2258] Move t480 services --- hosts/t480/configuration.nix | 30 +++++++++++++++++++++- hosts/t480/{services => modules}/cron.nix | 0 hosts/t480/services/default.nix | 27 ------------------- hosts/t480/services/interception-tools.nix | 25 ------------------ hosts/t480/services/udev.nix | 9 ------- hosts/t480/services/xserver.nix | 10 -------- 6 files changed, 29 insertions(+), 72 deletions(-) rename hosts/t480/{services => modules}/cron.nix (100%) delete mode 100644 hosts/t480/services/default.nix delete mode 100644 hosts/t480/services/interception-tools.nix delete mode 100644 hosts/t480/services/udev.nix delete mode 100644 hosts/t480/services/xserver.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 0825ae7f..85879454 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -10,7 +10,6 @@ in imports = [ ./hardware-configuration.nix ./secrets.nix - ./services ../../modules/editor/nvim.nix ../../modules/mixins/bluetooth.nix @@ -42,6 +41,7 @@ in ../../users/opdavies + ./modules/cron.nix ./modules/neomutt.nix ./modules/newsboat ./modules/notes.nix @@ -116,4 +116,32 @@ in networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; + + services = { + auto-cpufreq.enable = true; + + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + gvfs.enable = true; + openssh.enable = true; + power-profiles-daemon.enable = false; + printing.enable = true; + pulseaudio.enable = false; + throttled.enable = true; + thermald.enable = true; + upower.enable = true; + + xserver = { + enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + }; + }; } diff --git a/hosts/t480/services/cron.nix b/hosts/t480/modules/cron.nix similarity index 100% rename from hosts/t480/services/cron.nix rename to hosts/t480/modules/cron.nix diff --git a/hosts/t480/services/default.nix b/hosts/t480/services/default.nix deleted file mode 100644 index 43be0082..00000000 --- a/hosts/t480/services/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - imports = [ - ./cron.nix - ./interception-tools.nix - ./udev.nix - ./xserver.nix - ]; - - services = { - auto-cpufreq.enable = true; - - avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - - gvfs.enable = true; - openssh.enable = true; - power-profiles-daemon.enable = false; - printing.enable = true; - pulseaudio.enable = false; - throttled.enable = true; - thermald.enable = true; - upower.enable = true; - }; -} diff --git a/hosts/t480/services/interception-tools.nix b/hosts/t480/services/interception-tools.nix deleted file mode 100644 index 96e43b85..00000000 --- a/hosts/t480/services/interception-tools.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs, ... }: - -{ - # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = - let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in - { - enable = true; - plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; -} diff --git a/hosts/t480/services/udev.nix b/hosts/t480/services/udev.nix deleted file mode 100644 index 732ca1d6..00000000 --- a/hosts/t480/services/udev.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - services.udev = { - enable = true; - - extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" - ''; - }; -} diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix deleted file mode 100644 index 4120a2cf..00000000 --- a/hosts/t480/services/xserver.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.xserver = { - enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - }; -} From 3b4b1c4ba4540f924b4d7ae5dceaf3c0e0e6b0f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 19:43:48 +0100 Subject: [PATCH 1638/2258] Remove unused imports --- hosts/PW05CH3L/configuration.nix | 2 +- hosts/hetznix/configuration.nix | 1 - hosts/lemp11/configuration.nix | 2 -- hosts/nixedo/configuration.nix | 2 -- hosts/t480/configuration.nix | 2 +- hosts/t490/configuration.nix | 2 +- 6 files changed, 3 insertions(+), 8 deletions(-) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index aeb4f4d6..aa942d86 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, username, ... }: +{ username, ... }: let git = { diff --git a/hosts/hetznix/configuration.nix b/hosts/hetznix/configuration.nix index 19fe0159..a302c70f 100644 --- a/hosts/hetznix/configuration.nix +++ b/hosts/hetznix/configuration.nix @@ -1,5 +1,4 @@ { - inputs, modulesPath, lib, pkgs, diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 66f3980f..1e604d4f 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -1,5 +1,3 @@ -{ inputs, pkgs, ... }: - { imports = [ ./hardware-configuration.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index d17567da..5ed7e757 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -2,8 +2,6 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, ... }: - { imports = [ ./hardware-configuration.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 85879454..7105bd25 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: let git = { diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 1c43f6ef..e8f77357 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { imports = [ From 66b5d806ebdb734c541cce95b9b6f4daeb5526f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 9 Apr 2025 19:45:55 +0100 Subject: [PATCH 1639/2258] Add keymap to open URLs under cursor --- modules/editor/config/lua/opdavies/keymaps.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/editor/config/lua/opdavies/keymaps.lua b/modules/editor/config/lua/opdavies/keymaps.lua index 33915178..74d7cfeb 100644 --- a/modules/editor/config/lua/opdavies/keymaps.lua +++ b/modules/editor/config/lua/opdavies/keymaps.lua @@ -77,3 +77,10 @@ set("n", "<leader>er", ":edit run<CR>") set({ "n", "v" }, "<leader>y", [["+y]]) set("n", "<leader>Y", [["+Y]]) + +-- Re-add functionality to open the URL under the cursor. +-- This is overridden by mini.operators to exchange text regions. +vim.keymap.set("n", "<leader>gx", function() + local url = vim.fn.expand "<cfile>" + vim.fn["netrw#BrowseX"](url, 0) +end, { desc = "Open URL under cursor" }) From 797d1206b0e01ab07e35d1f7386f14f62717898a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 10 Apr 2025 07:23:11 +0100 Subject: [PATCH 1640/2258] Re-add kanata Re-map the Caps Lock key to Esc/Ctrl and re-add home row mods. --- hosts/t480/configuration.nix | 6 ++++++ modules/mixins/kanata.nix | 42 ++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 modules/mixins/kanata.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7105bd25..7e7961ce 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -39,6 +39,12 @@ in (import ../../modules/mixins/git.nix { inherit git; }) + (import ../../modules/mixins/kanata.nix { + devices = [ + "/dev/input/event1" + ]; + }) + ../../users/opdavies ./modules/cron.nix diff --git a/modules/mixins/kanata.nix b/modules/mixins/kanata.nix new file mode 100644 index 00000000..edfa25f9 --- /dev/null +++ b/modules/mixins/kanata.nix @@ -0,0 +1,42 @@ +{ devices }: + +{ + services.kanata = { + enable = true; + + keyboards = { + default = { + inherit devices; + + extraDefCfg = "process-unmapped-keys yes"; + + config = '' + (defsrc + caps a s d f j k l ; + ) + + (defvar + tap-time 150 + hold-time 200 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time a lmet) + s (tap-hold $tap-time $hold-time s lalt) + d (tap-hold $tap-time $hold-time d lsft) + f (tap-hold $tap-time $hold-time f lctl) + j (tap-hold $tap-time $hold-time j rctl) + k (tap-hold $tap-time $hold-time k rsft) + l (tap-hold $tap-time $hold-time l ralt) + ; (tap-hold $tap-time $hold-time ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; + }; + }; + }; +} From eea806e0f8cc39ccd2a427d35bf4cefc4f7c9232 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 10 Apr 2025 08:56:11 +0100 Subject: [PATCH 1641/2258] Allow for autoloading modules Autoloads files within modules/ and makes them available by their module type and name, e.g. `mixins-zsh`, `editor-nvim` and `users-opdavies` when imported with `inputs.self.nixosModules`. Based on https://github.com/MatthewCroughan/nixcfg/blob/afab322e6da20cc038d8577dd4a365673702d183/modules/default.nix. This assumes there will be a modules/*.nix file and currently doesn't work with modules/*/default.nix. This is something I'd like to add in the future. I also want find a cleaner way to pass arguments into these shortcuts as this also doesn't work in their implementation as far as I can see. --- flake.nix | 2 + hosts/PW05CH3L/configuration.nix | 32 +++++------ hosts/hetznix/configuration.nix | 7 ++- hosts/lemp11/configuration.nix | 14 +++-- hosts/nixedo/configuration.nix | 14 +++-- hosts/t480/configuration.nix | 56 +++++++++--------- hosts/t490/configuration.nix | 8 +-- modules/default.nix | 57 +++++++++++++++++++ modules/mixins/common.nix | 3 + modules/mixins/phpactor.nix | 3 + modules/mixins/scripts.nix | 3 + modules/mixins/zsh.nix | 3 + modules/profiles/dwm.nix | 1 + .../default.nix => modules/users/eric.nix | 0 .../default.nix => modules/users/luke.nix | 0 .../default.nix => modules/users/opdavies.nix | 0 16 files changed, 140 insertions(+), 63 deletions(-) create mode 100644 modules/default.nix create mode 100644 modules/mixins/common.nix create mode 100644 modules/mixins/phpactor.nix create mode 100644 modules/mixins/scripts.nix create mode 100644 modules/mixins/zsh.nix create mode 100644 modules/profiles/dwm.nix rename users/eric/default.nix => modules/users/eric.nix (100%) rename users/luke/default.nix => modules/users/luke.nix (100%) rename users/opdavies/default.nix => modules/users/opdavies.nix (100%) diff --git a/flake.nix b/flake.nix index 27e4c9c0..0caf4d02 100644 --- a/flake.nix +++ b/flake.nix @@ -150,5 +150,7 @@ ]; }; }; + + nixosModules = import ./modules { lib = nixpkgs.lib; }; }; } diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index aa942d86..e21afcbf 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,4 +1,4 @@ -{ username, ... }: +{ inputs, username, ... }: let git = { @@ -7,26 +7,26 @@ let }; in { - imports = [ - ../../modules/editor/nvim.nix - ../../modules/mixins/common - ../../modules/mixins/direnv.nix - ../../modules/mixins/docker.nix - ../../modules/mixins/fzf.nix - ../../modules/mixins/node.nix - ../../modules/mixins/phpactor - ../../modules/mixins/ranger.nix - ../../modules/mixins/scripts - ../../modules/mixins/starship.nix - ../../modules/mixins/tmux.nix - ../../modules/mixins/zsh + imports = with inputs.self.nixosModules; [ + editor-nvim + mixins-common + mixins-direnv + mixins-docker + mixins-fzf + mixins-node + mixins-phpactor + mixins-ranger + mixins-scripts + mixins-starship + mixins-tmux + mixins-zsh + + users-opdavies (import ../../modules/mixins/git.nix { inherit git; }) ./modules/notes.nix ./modules/wiki.nix - - ../../users/opdavies ]; wsl = { diff --git a/hosts/hetznix/configuration.nix b/hosts/hetznix/configuration.nix index a302c70f..bef69384 100644 --- a/hosts/hetznix/configuration.nix +++ b/hosts/hetznix/configuration.nix @@ -1,11 +1,12 @@ { - modulesPath, + inputs, lib, + modulesPath, pkgs, ... }: { - imports = [ + imports = with inputs.self.nixosModules; [ (modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/profiles/qemu-guest.nix") @@ -16,7 +17,7 @@ ./security ./services - ../../users/opdavies + ../../modules/users/opdavies.nix ]; nix = { diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 1e604d4f..550ccc50 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -1,16 +1,18 @@ +{ inputs, ... }: + { - imports = [ + imports = with inputs.self.nixosModules; [ ./hardware-configuration.nix ./hardware.nix ./programs.nix ./services.nix - ../../modules/mixins/common - ../../modules/mixins/zsh + mixins-common + mixins-zsh - ../../users/opdavies - ../../users/eric - ../../users/luke + users-opdavies + users-eric + users-luke ]; # Bootloader. diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 5ed7e757..3470a415 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -2,15 +2,19 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). +{ inputs, ... }: + { - imports = [ + imports = with inputs.self.nixosModules; [ ./hardware-configuration.nix ./secrets.nix ./services.nix - ../../modules/mixins/common - ../../modules/mixins/docker.nix - ../../modules/mixins/zsh + mixins-common + mixins-docker + mixins-zsh + + users-opdavies ./modules/acme.nix ./modules/audiobookshelf.nix @@ -19,8 +23,6 @@ ./modules/immich.nix ./modules/jellyfin.nix ./modules/paperless.nix - - ../../users/opdavies ]; nixosModules = { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7e7961ce..6d8874c9 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: let git = { @@ -7,35 +7,35 @@ let }; in { - imports = [ + imports = with inputs.self.nixosModules; [ ./hardware-configuration.nix ./secrets.nix - ../../modules/editor/nvim.nix - ../../modules/mixins/bluetooth.nix - ../../modules/mixins/common - ../../modules/mixins/direnv.nix - ../../modules/mixins/docker.nix - ../../modules/mixins/firefox.nix - ../../modules/mixins/flameshot.nix - ../../modules/mixins/fonts.nix - ../../modules/mixins/fzf.nix - ../../modules/mixins/gnupg.nix - ../../modules/mixins/gtk.nix - ../../modules/mixins/qutebrowser.nix - ../../modules/mixins/mpv.nix - ../../modules/mixins/node.nix - ../../modules/mixins/phpactor - ../../modules/mixins/pipewire.nix - ../../modules/mixins/ranger.nix - ../../modules/mixins/screenkey.nix - ../../modules/mixins/scripts - ../../modules/mixins/starship.nix - ../../modules/mixins/thunar.nix - ../../modules/mixins/tmux.nix - ../../modules/mixins/zsh - ../../modules/profiles/dwm - ../../modules/profiles/xbanish.nix + editor-nvim + mixins-bluetooth + mixins-common + mixins-direnv + mixins-docker + mixins-firefox + mixins-flameshot + mixins-fonts + mixins-fzf + mixins-gnupg + mixins-gtk + mixins-qutebrowser + mixins-mpv + mixins-node + mixins-phpactor + mixins-pipewire + mixins-ranger + mixins-screenkey + mixins-scripts + mixins-starship + mixins-thunar + mixins-tmux + mixins-zsh + profiles-dwm + profiles-xbanish (import ../../modules/mixins/git.nix { inherit git; }) @@ -45,7 +45,7 @@ in ]; }) - ../../users/opdavies + users-opdavies ./modules/cron.nix ./modules/neomutt.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index e8f77357..b7959b14 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { - imports = [ + imports = with inputs.self.nixosModules; [ ./hardware-configuration.nix ./hardware.nix ./programs.nix @@ -9,9 +9,9 @@ ./services ./users.nix - ../../modules/mixins/common + mixins-common - ../../users/opdavies + users-opdavies ]; boot = { diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 00000000..d55ad57c --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,57 @@ +# Based on https://github.com/MatthewCroughan/nixcfg/blob/afab322e6da20cc038d8577dd4a365673702d183/modules/default.nix. +# Autoloads files within modules/ and makes them available by their module +# type and name, e.g. `mixins-zsh`, `editor-nvim` and `users-opdavies` when +# imported with `inputs.self.nixosModules`. + +{ lib }: + +let + inherit (builtins) + attrNames + filter + listToAttrs + map + readDir + toString + ; + + inherit (lib) + filterAttrs + foldAttrs + hasSuffix + mapAttrsToList + nameValuePair + removeSuffix + zipListsWith + ; + + inherit (lib.filesystem) listFilesRecursive; + + generateModules = + folder: prefix: + + let + findSuffix = suffix: dir: (filter (x: (hasSuffix suffix (toString x))) (listFilesRecursive dir)); + + allNixFiles = findSuffix ".nix" folder; + + allModuleNames = map (removeSuffix ".nix") (map baseNameOf allNixFiles); + + zippedList = ( + zipListsWith (x: y: nameValuePair (prefix + "-" + x) (import y)) allModuleNames allNixFiles + ); + in + listToAttrs zippedList; + generateModulesAuto = + root: + let + moduleFolderNames = attrNames (filterAttrs (n: v: v == "directory") (readDir (toString root))); + moduleFolderPaths = map (x: (toString root) + "/" + x) moduleFolderNames; + + zippedList = listToAttrs ( + zipListsWith (x: y: nameValuePair x y) moduleFolderNames moduleFolderPaths + ); + in + foldAttrs (item: acc: item) { } (mapAttrsToList (n: v: generateModules v n) zippedList); +in +generateModulesAuto ./. diff --git a/modules/mixins/common.nix b/modules/mixins/common.nix new file mode 100644 index 00000000..1579f83f --- /dev/null +++ b/modules/mixins/common.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./common ]; +} diff --git a/modules/mixins/phpactor.nix b/modules/mixins/phpactor.nix new file mode 100644 index 00000000..426c502c --- /dev/null +++ b/modules/mixins/phpactor.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./phpactor ]; +} diff --git a/modules/mixins/scripts.nix b/modules/mixins/scripts.nix new file mode 100644 index 00000000..680de22c --- /dev/null +++ b/modules/mixins/scripts.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./scripts ]; +} diff --git a/modules/mixins/zsh.nix b/modules/mixins/zsh.nix new file mode 100644 index 00000000..f42fd619 --- /dev/null +++ b/modules/mixins/zsh.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./zsh ]; +} diff --git a/modules/profiles/dwm.nix b/modules/profiles/dwm.nix new file mode 100644 index 00000000..2694857b --- /dev/null +++ b/modules/profiles/dwm.nix @@ -0,0 +1 @@ +{ imports = [ ./dwm ]; } diff --git a/users/eric/default.nix b/modules/users/eric.nix similarity index 100% rename from users/eric/default.nix rename to modules/users/eric.nix diff --git a/users/luke/default.nix b/modules/users/luke.nix similarity index 100% rename from users/luke/default.nix rename to modules/users/luke.nix diff --git a/users/opdavies/default.nix b/modules/users/opdavies.nix similarity index 100% rename from users/opdavies/default.nix rename to modules/users/opdavies.nix From 2f5a6de425779b1ba345f09747d28537623be338 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 10 Apr 2025 21:58:02 +0100 Subject: [PATCH 1642/2258] Disable line numbers for text files --- modules/editor/config/after/ftplugin/text.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/editor/config/after/ftplugin/text.lua b/modules/editor/config/after/ftplugin/text.lua index ed2bc80a..8bdd7abd 100644 --- a/modules/editor/config/after/ftplugin/text.lua +++ b/modules/editor/config/after/ftplugin/text.lua @@ -1,5 +1,7 @@ local opt = vim.opt_local +opt.number = false +opt.relativenumber = false opt.spell = true opt.wrap = true From f6177a3be000fab78e5980bfcbc6f733846dd46c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 10 Apr 2025 22:22:07 +0100 Subject: [PATCH 1643/2258] Move notes into a mixin, standardise notes path --- hosts/PW05CH3L/configuration.nix | 2 +- hosts/PW05CH3L/modules/notes.nix | 18 ------------------ hosts/t480/configuration.nix | 2 +- .../t480/modules => modules/mixins}/notes.nix | 0 4 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 hosts/PW05CH3L/modules/notes.nix rename {hosts/t480/modules => modules/mixins}/notes.nix (100%) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index e21afcbf..93bf861f 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -14,6 +14,7 @@ in mixins-docker mixins-fzf mixins-node + mixins-notes mixins-phpactor mixins-ranger mixins-scripts @@ -25,7 +26,6 @@ in (import ../../modules/mixins/git.nix { inherit git; }) - ./modules/notes.nix ./modules/wiki.nix ]; diff --git a/hosts/PW05CH3L/modules/notes.nix b/hosts/PW05CH3L/modules/notes.nix deleted file mode 100644 index 6d132a3e..00000000 --- a/hosts/PW05CH3L/modules/notes.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - home-manager.users.opdavies = - { config, pkgs, ... }: - { - xdg = { - enable = true; - userDirs.enable = true; - }; - - home = { - packages = with pkgs; [ notes ]; - - sessionVariables = { - NOTES_DIRECTORY = "${config.xdg.userDirs.documents}/wiki/tfw-notes"; - }; - }; - }; -} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 6d8874c9..b4a737a4 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -25,6 +25,7 @@ in mixins-qutebrowser mixins-mpv mixins-node + mixins-notes mixins-phpactor mixins-pipewire mixins-ranger @@ -50,7 +51,6 @@ in ./modules/cron.nix ./modules/neomutt.nix ./modules/newsboat - ./modules/notes.nix ./modules/wiki.nix ]; diff --git a/hosts/t480/modules/notes.nix b/modules/mixins/notes.nix similarity index 100% rename from hosts/t480/modules/notes.nix rename to modules/mixins/notes.nix From a60ab045a890f293de120785d9abd0271a557de9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 06:58:28 +0100 Subject: [PATCH 1644/2258] Exclude `result` files when pulling changes --- hosts/PW05CH3L/modules/wiki.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/PW05CH3L/modules/wiki.nix b/hosts/PW05CH3L/modules/wiki.nix index 2e54e104..7d0b7c9a 100644 --- a/hosts/PW05CH3L/modules/wiki.nix +++ b/hosts/PW05CH3L/modules/wiki.nix @@ -18,6 +18,7 @@ with lib; text = '' ${getExe pkgs.rsync} -avz --update \ + --exclude result \ ${remoteIpAddress}:${wikiPath}/ ${wikiPath} "$@" ''; }) From c7d1d86c26b76b8a2d1bb7f53368c45c084ad812 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 08:28:58 +0100 Subject: [PATCH 1645/2258] Revert "Set `foldlevelstart` to 1" This reverts commit 5a50cb5c933afc54fbba3858c7a8ca54c4bfc6be. --- modules/editor/config/lua/opdavies/options.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/editor/config/lua/opdavies/options.lua b/modules/editor/config/lua/opdavies/options.lua index ce951037..745bd8f7 100644 --- a/modules/editor/config/lua/opdavies/options.lua +++ b/modules/editor/config/lua/opdavies/options.lua @@ -7,7 +7,8 @@ local settings = { breakindent = true, expandtab = true, exrc = true, - foldlevelstart = 1, + foldlevel = 1, + foldlevelstart = 99, foldmethod = "indent", formatoptions = "clqjp", hidden = false, From d6da09aeb2b914a113dfcca7258d615426c9bbf3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 08:00:00 +0100 Subject: [PATCH 1646/2258] Remove duplicate URL --- hosts/t480/modules/newsboat/urls.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hosts/t480/modules/newsboat/urls.nix b/hosts/t480/modules/newsboat/urls.nix index 6950f405..531b0f52 100644 --- a/hosts/t480/modules/newsboat/urls.nix +++ b/hosts/t480/modules/newsboat/urls.nix @@ -286,10 +286,6 @@ url = "https://feeds.bbci.co.uk/sport/rugby-union/rss.xml"; tags = [ "Rugby" ]; } - { - url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; - tags = [ "Rugby" ]; - } { url = "https://tinkerbetter.tube/feeds/videos.xml?videoChannelId=2"; } { url = "https://video.fosshq.org/feeds/videos.xml?videoChannelId=2"; } ] From b6ab926769a08eaa824aa22e6ae5ed6109abe0bf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 08:00:00 +0100 Subject: [PATCH 1647/2258] Re-add dconf --- hosts/t480/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index b4a737a4..758976c9 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -150,4 +150,6 @@ in }; }; }; + + programs.dconf.enable = true; } From 16156312a137cc3b0066bbc714f5ba2b52eacd4b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 08:00:00 +0100 Subject: [PATCH 1648/2258] Add zram module --- hosts/t480/configuration.nix | 3 +-- modules/mixins/zram.nix | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 modules/mixins/zram.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 758976c9..0183b98e 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -34,6 +34,7 @@ in mixins-starship mixins-thunar mixins-tmux + mixins-zram mixins-zsh profiles-dwm profiles-xbanish @@ -117,8 +118,6 @@ in zoom-us ]; - zramSwap.enable = true; - networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; diff --git a/modules/mixins/zram.nix b/modules/mixins/zram.nix new file mode 100644 index 00000000..60dd81e4 --- /dev/null +++ b/modules/mixins/zram.nix @@ -0,0 +1,7 @@ +{ + zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 90; + }; +} From 71bb956f99ad8c97bac35bc466446f1a16928605 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 08:00:00 +0100 Subject: [PATCH 1649/2258] flake update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 8a1d8239..c3c02020 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1743598667, - "narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=", + "lastModified": 1744145203, + "narHash": "sha256-I2oILRiJ6G+BOSjY+0dGrTPe080L3pbKpc+gCV3Nmyk=", "owner": "nix-community", "repo": "disko", - "rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6", + "rev": "76c0a6dba345490508f36c1aa3c7ba5b6b460989", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1744038920, - "narHash": "sha256-9a4V1wQXS8hXZtc7mRtz0qINkGW+C99aDrmXY6oYBFg=", + "lastModified": 1744663884, + "narHash": "sha256-a6QGaZMDM1miK8VWzAITsEPOdmLk+xTPyJSTjVs3WhI=", "owner": "nix-community", "repo": "home-manager", - "rev": "a4d8020820a85b47f842eae76ad083b0ec2a886a", + "rev": "d5cdf55bd9f19a3debd55b6cb5d38f7831426265", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1743420942, - "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", + "lastModified": 1744633460, + "narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", + "rev": "9a049b4a421076d27fee3eec664a18b2066824cb", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1743125458, - "narHash": "sha256-0z+5AMacL2Eqo92fAd0eCWeKVecWrxPJwd5/BIfcdJ8=", + "lastModified": 1744290088, + "narHash": "sha256-/X9XVEl0EiyisNbF5srrxXRSVoRqdwExuqyspYqqEjQ=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "394c77f61ac76399290bfc2ef9d47b1fba31b215", + "rev": "60b4904a1390ac4c89e93d95f6ed928975e525ed", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1743975612, - "narHash": "sha256-o4FjFOUmjSRMK7dn0TFdAT0RRWUWD+WsspPHa+qEQT8=", + "lastModified": 1744440957, + "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a880f49904d68b5e53338d1e8c7bf80f59903928", + "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1744070470, - "narHash": "sha256-Gqgh+75F5/JQnS6Sgj5Qrxl1aZQ3dVxC7OAGDTDsFJA=", + "lastModified": 1744727071, + "narHash": "sha256-Gf8y1l1PpYCrJdlzN94IxFS+0P9FkiPTaNh1ZYvOpTU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5051c4651eb0a4f5200fcfd8b8dd500d8ab31f7f", + "rev": "933fcf5303477c494e95b51b9ceae32da170be2e", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740865531, - "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", + "lastModified": 1742937945, + "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", + "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1743964447, - "narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", + "lastModified": 1744463964, + "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", + "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1743964447, - "narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", + "lastModified": 1744463964, + "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", + "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744065229, - "narHash": "sha256-nQP5LLvYNECEYDVkVfynoewc1UtQl4M2XzamdPyn3K8=", + "lastModified": 1744722609, + "narHash": "sha256-OzYOH+BFmwr3SduSRPGvJc9g4suCDPqh9iMvTRd6G5k=", "owner": "nix-community", "repo": "NUR", - "rev": "392ebec73ad39dc13c0232f62a6d8225e03ed069", + "rev": "d1afc0cdb422b80617f69bd903c434c3664a8225", "type": "github" }, "original": { From 464e9b2e0ce87290156fe26e14e6aead6e1dabbc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 15 Apr 2025 08:00:00 +0100 Subject: [PATCH 1650/2258] Add missing `background` function --- modules/mixins/zsh/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/mixins/zsh/default.nix b/modules/mixins/zsh/default.nix index 88b36098..abf9ca56 100644 --- a/modules/mixins/zsh/default.nix +++ b/modules/mixins/zsh/default.nix @@ -27,6 +27,12 @@ exec startx &>/dev/null fi + background() { + for ((i=2;i<=$#;i++)); do + ''${@[1]} ''${@[$i]} &> /dev/null & + done + } + # suffix alias -s gz="tar -tf" alias -s {html,HTML}="background firefox" From 09d76f0f8d832c84100bbc6e56e84bee53575c16 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 07:20:17 +0100 Subject: [PATCH 1651/2258] Add redirect --- hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index 26d7db8d..87c7ba13 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -365,6 +365,7 @@ redir /pairing /pair permanent redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent + redir /presentations/building-presenting-slide-decks-rst2pdf /presentations/rst2pdf permanent redir /qSHAl /articles/published-my-first-npm-package/ permanent redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent From 6da0e7fd9177bd6ac46a2f114fad7c1cc5875eeb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 22:00:52 +0100 Subject: [PATCH 1652/2258] Move redirects into their own file --- .../www.oliverdavies.uk-redirects.caddy | 428 ++++++++++++++++ .../caddy/vhosts/www.oliverdavies.uk.nix | 469 +----------------- 2 files changed, 449 insertions(+), 448 deletions(-) create mode 100644 hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy new file mode 100644 index 00000000..4d577e5b --- /dev/null +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy @@ -0,0 +1,428 @@ +@articles path_regexp ^/articles/(.*)$ +@talks path_regexp ^/talks/(.*)$ +@talks-archive path_regexp ^/talks/archive/(.*)$ + +# Exclude /daily/page/{number} from the /archive/* redirection +@excludeArchivePages { + path_regexp ^/archive/page/\d+$ +} + +@old-dailies { + path_regexp oldDailies ^/archive/(.*)$ + not path_regexp ^/archive/page/\d+$ +} + +redir @articles /blog/{re.1} permanent +redir @old-dailies /daily/{re.1} permanent +redir @talks-archive /presentations/{re.1} permanent +redir @talks /presentations/{re.1} permanent + +redir /10-useful-drupal-6-modules-i-use-every-project /blog/10-useful-drupal-6-modules permanent +redir /2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent +redir /2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio /blog/using-imagecache-imagecrop-my-portfolio permanent +redir /2010/05/29/importing-images-using-the-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent +redir /2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-nodequeue permanent +redir /2010/07/05/thanks /blog/thanks permanent +redir /2010/08/17/create-a-better-photo-gallery-in-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent +redir /2014/05/21/git-format-patch /blog/git-format-patch-your-friend permanent +redir /2PxmyqP /articles/examples-of-laravel-collections-in-drupal permanent +redir /39CoG /articles/drupalcamp-london-testing-workshop permanent +redir /3eGQr https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 permanent +redir /6UhLN https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 permanent +redir /6i3YZ https://www.youtube.com/watch?v=vUK5sEbd-dk permanent +redir /9rv0Z https://www.drupal.org/project/override_node_options/issues/3109852 permanent +redir /BhMZi https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 permanent +redir /NBi5h https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar permanent +redir /P5KQ5 https://www.npmjs.com/package/tailwindcss-skip-link permanent +redir /S8ZDA /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 permanent +redir /Wh48P https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig permanent +redir /XbzS2 https://github.com/opdavies/gmail-filter-builder permanent +redir /YK1VH /articles/psr4-autoloading-test-cases-drupal-7 permanent +redir /YilTZ$ https://drupalcamp.london/tickets/training permanent +redir /about / permanent +redir /about/cv /cv permanent +redir /about/speaker-information /speaker-information permanent +redir /about/speaker /speaker permanent +redir /acquia-certifications https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent +redir /acquia-certified https://certification.acquia.com/?fname=Oliver&lname=Davies permanent +redir /ansible-molecule /articles/test-driven-ansible-role-development-molecule permanent +redir /ansible https://galaxy.ansible.com/opdavies permanent +redir /ansistrano-code https://github.com/opdavies/dransible permanent +redir /ansistrano-demo https://www.youtube.com/watch?v=PLS4ET7FAcU permanent +redir /ansistrano-slides /talks/deploying-php-ansible-ansistrano permanent +redir /archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent +redir /atNOQ https://youtu.be/r41dkD2EOo8 permanent +redir /automatically-updating-talk-created-date https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent +redir /blog.xml /rss.xml permanent +redir /blog/10-useful-drupal-6-modules /blog/useful-drupal-6-modules permanent +redir /blog/10-years-working-full-time-drupal /blog/10-years-working-full-time-drupal-php permanent +redir /blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent +redir /blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent +redir /blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio permanent +redir /blog/2010/05/06/conditional-email-addresses-webform /blog/conditional-email-addresses-webform permanent +redir /blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile permanent +redir /blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide permanent +redir /blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent +redir /blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi permanent +redir /blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue permanent +redir /blog/2010/06/25/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules permanent +redir /blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views permanent +redir /blog/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql permanent +redir /blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx permanent +redir /blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent +redir /blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent +redir /blog/2010/07/12/overview-teleport-module /blog/review-teleport-module permanent +redir /blog/2010/07/12/review-teleport-module /blog/review-teleport-module permanent +redir /blog/2010/08/10/review-adminhover-module /blog/review-adminhover-module permanent +redir /blog/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent +redir /blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent +redir /blog/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent +redir /blog/2010/08/20/review-image-caption-module /blog/review-image-caption-module permanent +redir /blog/2010/09/26/south-wales-drupal-user-group /blog/south-wales-drupal-user-group permanent +redir /blog/2010/10/10/create-and-apply-patches /blog/create-and-apply-patches permanent +redir /blog/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3 permanent +redir /blog/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21 permanent +redir /blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate permanent +redir /blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent +redir /blog/2011/03/15/display-number-facebook-fans-php /blog/display-number-facebook-fans-php permanent +redir /blog/2011/03/31/proctor-stevenson /blog/proctor-stevenson permanent +redir /blog/2011/05/20/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup permanent +redir /blog/2011/05/23/imagefield-import-archive /blog/imagefield-import-archive permanent +redir /blog/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections permanent +redir /blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu permanent +redir /blog/2011/10/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent +redir /blog/2012/01/04/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7 permanent +redir /blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection permanent +redir /blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush permanent +redir /blog/2012/04/17/installing-nagios-centos /blog/installing-nagios-centos permanent +redir /blog/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent +redir /blog/2012/04/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent +redir /blog/2012/05/23/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form permanent +redir /blog/2012/05/23/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line permanent +redir /blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess permanent +redir /blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent +redir /blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser permanent +redir /blog/2012/05/23/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme permanent +redir /blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent +redir /blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent +redir /blog/2012/07/12/my-new-drupal-modules /blog/my-new-drupal-modules permanent +redir /blog/2012/07/14/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal permanent +redir /blog/2012/07/27/writing-article-linux-journal /blog/writing-article-linux-journal permanent +redir /blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent +redir /blog/2012/07/nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent +redir /blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file permanent +redir /blog/2012/09/06/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff permanent +redir /blog/2012/10/25/my-sublime-text-2-settings /blog/my-sublime-text-2-settings permanent +redir /blog/2012/11/15/accessible-bristol-site-launched /blog/accessible-bristol-site-launched permanent +redir /blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line permanent +redir /blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent +redir /blog/2012/12/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent +redir /blog/2013/01/09/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way permanent +redir /blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7 permanent +redir /blog/2013/02/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent +redir /blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu permanent +redir /blog/2013/04/20/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent permanent +redir /blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent +redir /blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent +redir /blog/2013/06/13/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal permanent +redir /blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled permanent +redir /blog/2013/07/26/going-drupalcon /blog/going-drupalcon permanent +redir /blog/2013/09/06/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush permanent +redir /blog/2013/09/create-zen-sub-theme-using-drush /blog/create-zen-sub-theme-using-drush permanent +redir /blog/2013/11/19/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent +redir /blog/2013/11/27/useful-vagrant-commands /blog/useful-vagrant-commands permanent +redir /blog/2013/11/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent +redir /blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget permanent +redir /blog/2013/12/31/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush permanent +redir /blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent +redir /blog/2014/01/15/some-useful-git-aliases /blog/some-useful-git-aliases permanent +redir /blog/2014/02/09/drupalcamp-london-2014 /blog/drupalcamp-london-2014 permanent +redir /blog/2014/03/03/what-git-flow /blog/what-git-flow permanent +redir /blog/2014/05/03/drupal-association /blog/drupal-association permanent +redir /blog/2014/05/06/thanks /blog/thanks permanent +redir /blog/2014/05/21/git-format-patch /blog/git-format-patch permanent +redir /blog/2014/07/02/drush-make-drupalbristol /blog/drush-make-drupalbristol permanent +redir /blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine permanent +redir /blog/2014/10/21/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush permanent +redir /blog/2014/11/18/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop permanent +redir /blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module permanent +redir /blog/2014/11/27/pantheon-settings-files /blog/pantheon-settings-files permanent +redir /blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent +redir /blog/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version permanent +redir /blog/2015/06/18/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github permanent +redir /blog/2015/07/19/sculpin-twig-resources /blog/sculpin-twig-resources permanent +redir /blog/2015/07/21/automating-sculpin-jenkins /blog/automating-sculpin-jenkins permanent +redir /blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7 permanent +redir /blog/2016/02/15/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent +redir /blog/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload permanent +redir /blog/2016/07/15/building-gmail-filters-with-php /blog/building-gmail-filters-with-php permanent +redir /blog/2016/12/30/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released permanent +redir /blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts permanent +redir /blog/2017/01/31/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments permanent +redir /blog/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers permanent +redir /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent +redir /blog/2017/05/20/turning-drupal-module-into-feature /blog/turning-your-custom-drupal-module-feature permanent +redir /blog/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot permanent +redir /blog/2017/07/13/publishing-sculpin-sites-with-github-pages /blog/publishing-sculpin-sites-github-pages permanent +redir /blog/2017/11/07/tdd-test-driven-drupal /blog/tdd-test-driven-drupal permanent +redir /blog/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/tdd-test-driven-drupal permanent +redir /blog/2018/01/30/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018 permanent +redir /blog/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme permanent +redir /blog/2018/02/27/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london permanent +redir /blog/2018/02/27/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8 permanent +redir /blog/2018/02/28/building-the-new-phpsw-website /blog/building-the-new-phpsw-website permanent +redir /blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back permanent +redir /blog/2018/03/04/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london permanent +redir /blog/2018/04/23/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent +redir /blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal permanent +redir /blog/add-date-popup-calendar-custom-form /blog/how-add-date-popup-calendar-custom-form permanent +redir /blog/adding-methods-decorating-entity-metadata-wrapper /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent +redir /blog/announcing-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent +redir /blog/announcing-the-drupal-vm-config-generator /blog/announcing-the-drupal-vm-generator permanent +redir /blog/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent +redir /blog/building-gmail-filters-in-php /blog/building-gmail-filters-php permanent +redir /blog/building-new-phpsw-website /blog/building-the-new-phpsw-website permanent +redir /blog/building-presentation-slides-reveal-js-tailwind-css /blog/building-presentation-slides-rst2pdf permanent +redir /blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony permanent +redir /blog/create-and-apply-patches /blog/how-create-apply-patches permanent +redir /blog/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-views permanent +redir /blog/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent +redir /blog/creating-custom-docksal-commands /blog/creating-custom-phpunit-command-docksal permanent +redir /blog/debugging-drupal-commerce-promotions-illiminate-collections /blog/debugging-drupal-commerce-illuminate-collections permanent +redir /blog/decorating-entity-metadata-wrapper-add-add-refactor-methods /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent +redir /blog/dev-book-club-refactoring-chapter-1 /blog/dev-book-club-notes-refactoring-chapter-1 permanent +redir /blog/dividing-drupals-process-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent +redir /blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout permanent +redir /blog/drupal-vm-generator-291-released /blog/drupal-vm-generator-updates permanent +redir /blog/drupalcamp-london-2019-tickets /blog/drupalcamp-london-2019-tickets-available-call-sessions permanent +redir /blog/drush-make-drupalbristol /talks/drush-make-drupalbristol permanent +redir /blog/easier-git-repository-cloning-with-insteadof /blog/easier-git-repository-cloning-insteadof permanent +redir /blog/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-composer-npm-scripts permanent +redir /blog/editing-meetup-videos-kdenlive /blog/editing-meetup-videos-linux-kdenlive permanent +redir /blog/examples-of-laravel-collections-in-drupal /blog/using-laravel-collections-drupal permanent +redir /blog/experimenting-with-events-in-drupal-8 /blog/experimenting-events-drupal-8 permanent +redir /blog/fix-vagrant-loading-wrong-virtual-machine /blog/how-fix-vagrant-loading-wrong-virtual-machine permanent +redir /blog/fixing-drupal-simpletest-docker /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent +redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent +redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent +redir /blog/git-format-patch /blog/git-format-patch-your-friend permanent +redir /blog/how-easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent +redir /blog/how-split-new-drupal-contrib-project-within-another-repository /blog/splitting-new-drupal-project-from-repo permanent +redir /blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent +redir /blog/include-local-drupal-settings-file-environment-configuration-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent +redir /blog/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent +redir /blog/live-blogging-symfonylive-london /blog/live-blogging-symfonylive-london-2019 permanent +redir /blog/minimum-core-version /blog/how-define-minimum-drupal-core-version permanent +redir /blog/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-query-string-arguments permanent +redir /blog/null-users-and-system-users-in-drupal /blog/null-users-system-users-drupal permanent +redir /blog/overridding-phpcs-configuration-drupal-ci /blog/overriding-phpcs-configuration-drupal-ci permanent +redir /blog/pantheon-settings-files /blog/include-environment-specific-settings-files-pantheon permanent +redir /blog/pdfpc-pdf-presenter-console-notes /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console permanent +redir /blog/php-apps-subdirectory-nginx /blog/how-put-your-php-application-subdirectory-another-site-nginx permanent +redir /blog/presenting-tailwind-css-ansible-cms-philly /blog/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent +redir /blog/programmatically-load-(an-)?entityform-(in-)?drupal-7 /blog/entityform permanent +redir /blog/published-my-first-docker-images-docker-hub /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf permanent +redir /blog/publishing-sculpin-sites-(with-)?github-pages /blog/publishing-sculpin-sites-github-pages permanent +redir /blog/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-drupal-8 permanent +redir /blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm permanent +redir /blog/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent +redir /blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent +redir /blog/rebuilding-bartik-with-vuejs-tailwind-css /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent +redir /blog/rebuilding-uis-tailwind-css /blog/uis-ive-rebuilt-tailwind-css permanent +redir /blog/restructuring-my-tailwindjs-config-files /blog/restructuring-my-tailwindjs-configuration-files permanent +redir /blog/retrieving-profile-data-user-using-entity-metadata-wrapper /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent +redir /blog/running-drupal-with-symfony-local-server /blog/running-drupal-88-symfony-local-server permanent +redir /blog/running-phpunit-tests-docksal-phpstorm /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm permanent +redir /blog/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-xautoload permanent +redir /blog/speaking-drupalcon-barcelona-2020 /blog/speaking-drupalcon-europe-2020 permanent +redir /blog/speaking-during-lockdown /blog/speaking-remotely-during-covid-19 permanent +redir /blog/speaking-remotely-during-lockdown /blog/speaking-remotely-during-covid-19 permanent +redir /blog/style-drupal-6s-taxonomy-lists-php-css-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent +redir /blog/survey-results-my-drupalcon-europe-session /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal permanent +redir /blog/system-users-null-users /blog/null-users-and-system-users-in-drupal permanent +redir /blog/test-driven-drupal-gitstore-leanpub /blog/test-driven-drupal-on-gitstore-leanpub permanent +redir /blog/test-driven-drupal-presentation-drupalcon-europe-0 /blog/test-driven-drupal-presentation-drupalcon-europe permanent +redir /blog/test-driven-drupal-session-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent +redir /blog/test-driven-drupal-session-video-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent +redir /blog/testing-tailwind-css-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent +redir /blog/testing-tailwindcss-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent +redir /blog/tweets-from-drupalcamp-london /blog/tweets-drupalcamp-london permanent +redir /blog/updating-features-and-adding-components-using-drush /blog/updating-features-adding-components-using-drush permanent +redir /blog/updating-forked-repositories-github /blog/updating-forked-github-repos permanent +redir /blog/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-replace-coda-or-textmate permanent +redir /blog/using-environment-variables-settings-docksal /blog/how-use-environment-variables-your-drupal-settings-docksal permanent +redir /blog/using-psr-4-autoloading-your-drupal-7-test-cases /blog/psr4-autoloading-test-cases-drupal-7 permanent +redir /blog/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-your-drupal-theme permanent +redir /blog/using-the-pcss-extension-postcss-webpack-encore /blog/using-pcss-extension-postcss-webpack-encore permanent +redir /blog/weeknotes-june-5th /blog/weeknotes-2021-06-05 permanent +redir /blog/writing-drupal-module-test-driven-development-tdd /blog/writing-new-drupal-8-module-using-test-driven-development-tdd permanent +redir /book /test-driven-drupal permanent +redir /calendars? https://savvycal.com/opdavies permanent +redir /cms-philly /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent +redir /code-enigma-interview https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent +redir /consulting / permanent +redir /contrib-half-hour https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent +redir /cv /cv.txt permanent +redir /d0P5z /talks/drupal-8-php-libraries-drupalorg-api permanent +redir /d7 /drupal7 permanent +redir /dcbristol-cfp https://www.papercall.io/drupalcamp-bristol-2019 permanent +redir /dcbristol17-videos https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA permanent +redir /dcbristol19-announced /articles/drupalcamp-bristol-2019-speakers-sessions-announced permanent +redir /dclondon-sat https://drupalcamp.london/schedule/saturday permanent +redir /dclondon-sun https://drupalcamp.london/schedule/sunday permanent +redir /dclondon20 /articles/drupalcamp-london-testing-workshop permanent +redir /ddev-phpunit-command /blog/creating-custom-phpunit-command-ddev permanent +redir /deploying-php-ansible /talks/deploying-php-ansible-ansistrano permanent +redir /dks7E https://www.youtube.com/watch?v=PLS4ET7FAcU permanent +redir /do-library https://github.com/opdavies/drupalorg-api-php permanent +redir /do-projects https://github.com/opdavies/drupal-module-drupalorg-projects permanent +redir /docksal-phpunit-phpstorm /articles/running-phpunit-tests-docksal-phpstorm permanent +redir /docksal-posts /articles/tags/docksal permanent +redir /dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 permanent +redir /dransible https://github.com/opdavies/dransible permanent +redir /drupal-bristol-march-19 https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent +redir /drupal-consultant /drupal-consulting permanent +redir /drupal-consulting / permanent +redir /drupal-core-live-stream https://www.youtube.com/watch?v=OK4FWwh1gQU permanent +redir /drupal-core-testing-gate https://www.drupal.org/core/gates#testing permanent +redir /drupal-first-time-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent +redir /drupal-forum-post http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 permanent +redir /drupal-marketplace-uk https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent +redir /drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot permanent +redir /drupal-novice-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent +redir /drupal-php-developer-consultant-uk /drupal-php-developer permanent +redir /drupal-php-developer /drupal-consultant permanent +redir /drupal-tailwind-demo https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent +redir /drupal-tailwindcss https://www.drupal.org/project/tailwindcss permanent +redir /drupal-vuejs /talks/decoupling-drupal-vuejs/ permanent +redir /drupal7 /drupal-upgrade permanent +redir /drupalcamp-london-2019-tickets /articles/drupalcamp-london-2019-tickets permanent +redir /drupalcamp-nyc-training https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent +redir /drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent +redir /drupalorg https://www.drupal.org/u/opdavies permanent +redir /drupalversary https://github.com/opdavies/drupal-module-drupalversary permanent +redir /elewant https://elewant.com/shepherd/admire/opdavies permanent +redir /feed /rss.xml permanent +redir /first-drupal-core-issue https://www.drupal.org/project/drupal/issues/753898 permanent +redir /first-npm-package https://www.npmjs.com/package/tailwindcss-vuejs permanent +redir /freeagent https://opdavies.freeagent.com permanent +redir /git-flow /talks/git-flow permanent +redir /gitlab https://gitlab.com/opdavies permanent +redir /gitstore https://enjoy.gitstore.app/maintainers/opdavies permanent +redir /gmail-filters https://gitlab.com/opdavies/gmail-filters permanent +redir /images/me-precedent.jpg /sites/default/files/images/social-avatar.jpg permanent +redir /inviqa-tailwind-demo https://play.tailwindcss.com/Yfmw8O5UNN permanent +redir /inviqa-tailwind-notes https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 permanent +redir /join-php-south-wales-slack https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA permanent +redir /jy6rW https://www.meetup.com/PHP-South-Wales/events/264731393 permanent +redir /kB6Jd /articles/running-drupal-with-symfony-local-server/ permanent +redir /kmDRA https://www.bbc.co.uk/news/uk-46561779 permanent +redir /leeds-php-drupal-9 https://www.meetup.com/leedsphp/events/272504993 permanent +redir /live https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ permanent +redir /npm https://www.npmjs.com/~opdavies permanent +redir /oFlkS /articles/test-driven-drupal-on-gitstore-leanpub permanent +redir /oliver-davies-uk-based-drupal-symfony-developer /oliver-davies-uk-based-drupal-php-developer permanent +redir /pair-programming /pair permanent +redir /pair-with-me /pair permanent +redir /pairing /pair permanent +redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent +redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent +redir /presentations/building-presenting-slide-decks-rst2pdf /presentations/rst2pdf permanent +redir /qSHAl /articles/published-my-first-npm-package/ permanent +redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent +redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent +redir /rebuilding-bartik /articles/rebuilding-bartik-with-vuejs-tailwind-css permanent +redir /rebuilding-bristol-js https://github.com/opdavies/rebuilding-bristol-js permanent +redir /rebuilding-pantheon https://play.tailwindcss.com/LND98XihGI?layout=horizontal permanent +redir /rebuilding-platformsh https://rebuilding-platformsh.oliverdavies.uk permanent +redir /rebuilding-symfony https://github.com/opdavies/rebuilding-symfony permanent +redir /rk29B https://www.meetup.com/PHP-South-Wales/events/268422525 permanent +redir /roadmap /drupal-upgrade permanent +redir /rss /rss.xml permanent +redir /rst2pdf /talks/building-presenting-slide-decks-rst2pdf permanent +redir /s9MjJ https://symfonycasts.com/screencast/symfony permanent +redir /sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent +redir /sculpin /talks/building-static-websites-sculpin permanent +redir /sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent +redir /skills https://opdavies-skills-tailwindcss.netlify.com/ permanent +redir /slides-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent +redir /slides-upgrading-to-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent +redir /slides-upgrading-to-drupal-9/index.html https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent +redir /slides-working-with-workspace https://slides-working-with-workspace.oliverdavies.uk permanent +redir /speaker-info /speaker permanent +redir /speaker-information /speaker permanent +redir /speaker /press permanent +redir /speaking-videos https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent +redir /stream https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent +redir /subscription / permanent +redir /swap-markdown-parser https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent +redir /symfony-server /articles/running-drupal-with-symfony-local-server permanent +redir /symfony https://connect.symfony.com/profile/opdavies permanent +redir /symfonylive /articles/live-blogging-symfonylive-london permanent +redir /symposium https://symposiumapp.com/u/opdavies permanent +redir /tailwind-css-talk /talks/taking-flight-tailwind-css permanent +redir /tailwind-repos https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent +redir /tailwind-talk /talks/taking-flight-with-tailwind-css permanent +redir /tailwindcss-demo http://tailwindcss-demo.oliverdavies.uk/ permanent +redir /talks /presentations permanent +redir /talks-offer-tweet https://twitter.com/opdavies/status/1250870367712935938 permanent +redir /talks/2012/09/05/what-is-this-drupal-thing-unified-diff /talks/what-is-this-drupal-thing permanent +redir /talks/2013/07/10/drupal-ldap-swdug /talks/drupal-ldap permanent +redir /talks/2014/03/01/git-flow-drupalcamp-london-2014 /talks/git-flow permanent +redir /talks/2014/07/02/drush-make-drupalbristol-drupal-bristol /talks/drush-make-drupalbristol permanent +redir /talks/2014/08/19/drupal-association-swdug /talks/drupal-association permanent +redir /talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015 /talks/drupalorg-in-2015-whats-coming-next permanent +redir /talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015 /talks/drupalorg-in-2015-whats-coming-next permanent +redir /talks/2015/04/08/drupal-8-phpsw /talks/drupal-8 permanent +redir /talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015 /talks/test-drive-twig-with-sculpin permanent +redir /talks/2015/08/25/dancing-for-drupal-umbristol /talks/dancing-for-drupal permanent +redir /talks/2015/10/14/sculpin-phpsw /talks/sculpin permanent +redir /talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016 /talks/getting-started-with-drupal-8-module-development permanent +redir /talks/2016/03/09/drupal-vm-generator-nwdug /talks/drupal-vm-generator permanent +redir /talks/2016/04/02/drupal-vm-generator-drupal-bristol /talks/drupal-vm-generator permanent +redir /talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016 /talks/drupal-8-rejoining-the-herd permanent +redir /talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016 /talks/drupal-vm-meet-symfony-console permanent +redir /talks/2016/11/09/drupal-development-with-composer-phpsw /talks/drupal-development-with-composer permanent +redir /talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol /talks/goodbye-drush-make-hello-composer permanent +redir /talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol /talks/getting-your-data-into-drupal-8 permanent +redir /talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017 /talks/getting-your-data-into-drupal-8 permanent +redir /talks/ansible-ansistrano https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano permanent +redir /talks/deploying-php-applications-fabric /talks/deploying-php-fabric permanent +redir /talks/deploying-php-applications-with-fabric /talks/deploying-php-fabric permanent +redir /talks/drupal-vm-generator-2 /talks/drupal-vm-generator permanent +redir /talks/drupalorg-2015-2 /talks/drupalorg-2015 permanent +redir /talks/drupalorg-in-2015-whats-coming-next /talks/drupalorg-2015 permanent +redir /talks/getting-started-with-drupal-8-module-development /drupal-8-module-development permanent +redir /talks/having-fun-drupal-8-php-libraries-drupalorg-api /talks/drupal-8-php-libraries-drupalorg-api permanent +redir /talks/never-commit-master-introduction-git-flow /talks/git-flow permanent +redir /talks/sculpin /talks/building-static-websites-sculpin permanent +redir /talks/tailwind /talks/taking-flight-with-tailwind-css/ permanent +redir /talks/taking-flight-tailwind-css /talks/taking-flight-with-tailwind-css permanent +redir /talks/using-laravel-collections-outside-laravel /talks/using-illuminate-collections-outside-laravel permanent +redir /talks/working-workspace /talks/working-with-workspace permanent +redir /tdd-blog https://github.com/opdavies/drupal-module-tdd-blog permanent +redir /tdd-test-driven-drupal /talks/tdd-test-driven-drupal/ permanent +redir /team-coaching / permanent +redir /test-driven-drupal-book /test-driven-drupal permanent +redir /testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction permanent +redir /testing-drupal https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent +redir /testing-tailwind-plugins /articles/testing-tailwindcss-plugins-with-jest permanent +redir /testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code permanent +redir /testing-workshop https://github.com/opdavies/workshop-drupal-automated-testing permanent +redir /todoist-filters https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent +redir /twitter-tweaks https://github.com/opdavies/chrome-extension-twitter-tweaks permanent +redir /upgrading-to-drupal-9 /talks/upgrading-your-site-drupal-9 permanent +redir /uxbjV https://www.drupal.org/project/copyright_block permanent +redir /vyTEF https://www.npmjs.com/package/tailwindcss-vuejs permanent +redir /webpack-encore-pcss-regex https://regexr.com/51iaf permanent +redir /wordcamp-bristol-tailwindcss https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css permanent +redir /wordpress-tailwind https://github.com/opdavies/wordcamp-bristol-2019 permanent +redir /work /drupal-php-developer permanent +redir /working-with-workspace /talks/working-with-workspace permanent +redir /workshop-drupal-testing https://github.com/opdavies/workshop-drupal-automated-testing permanent +redir /workspace-demo https://github.com/opdavies/working-with-workspace-demo permanent +redir /wp-tailwind-repo https://github.com/opdavies/wordcamp-bristol-2019 permanent +redir /wp-tailwind-starter https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent +redir /wp-tailwind-static https://wp-tailwind.oliverdavies.uk permanent +redir /wp-tailwind https://wp-tailwind.oliverdavies.uk permanent +redir /yXhoS /talks/things-you-should-know-about-php permanent diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index 87c7ba13..8329db2c 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -11,460 +11,33 @@ "www.oliverdavies.uk" = { useACMEHost = "oliverdavies.uk"; - extraConfig = '' - encode gzip + extraConfig = + '' + encode gzip - root * /var/www/vhosts/www.oliverdavies.uk + root * /var/www/vhosts/www.oliverdavies.uk - file_server { - disable_canonical_uris - } - - # Remove trailing slashes from all URLs. - @trailingSlash { - path_regexp trailingSlash ^(.*)/$ - not path / - } - redir @trailingSlash {http.regexp.trailingSlash.1} temporary - - handle_errors { - @404 { - expression {http.error.status_code} == 404 + file_server { + disable_canonical_uris } - rewrite @404 /404/index.html - file_server - } + # Remove trailing slashes from all URLs. + @trailingSlash { + path_regexp trailingSlash ^(.*)/$ + not path / + } + redir @trailingSlash {http.regexp.trailingSlash.1} temporary - @articles path_regexp ^/articles/(.*)$ - @talks path_regexp ^/talks/(.*)$ - @talks-archive path_regexp ^/talks/archive/(.*)$ + handle_errors { + @404 { + expression {http.error.status_code} == 404 + } - # Exclude /daily/page/{number} from the /archive/* redirection - @excludeArchivePages { - path_regexp ^/archive/page/\d+$ - } - - @old-dailies { - path_regexp oldDailies ^/archive/(.*)$ - not path_regexp ^/archive/page/\d+$ - } - - redir @articles /blog/{re.1} permanent - redir @old-dailies /daily/{re.1} permanent - redir @talks-archive /presentations/{re.1} permanent - redir @talks /presentations/{re.1} permanent - - redir /10-useful-drupal-6-modules-i-use-every-project /blog/10-useful-drupal-6-modules permanent - redir /2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent - redir /2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio /blog/using-imagecache-imagecrop-my-portfolio permanent - redir /2010/05/29/importing-images-using-the-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent - redir /2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-nodequeue permanent - redir /2010/07/05/thanks /blog/thanks permanent - redir /2010/08/17/create-a-better-photo-gallery-in-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent - redir /2014/05/21/git-format-patch /blog/git-format-patch-your-friend permanent - redir /2PxmyqP /articles/examples-of-laravel-collections-in-drupal permanent - redir /39CoG /articles/drupalcamp-london-testing-workshop permanent - redir /3eGQr https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 permanent - redir /6UhLN https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 permanent - redir /6i3YZ https://www.youtube.com/watch?v=vUK5sEbd-dk permanent - redir /9rv0Z https://www.drupal.org/project/override_node_options/issues/3109852 permanent - redir /BhMZi https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 permanent - redir /NBi5h https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar permanent - redir /P5KQ5 https://www.npmjs.com/package/tailwindcss-skip-link permanent - redir /S8ZDA /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 permanent - redir /Wh48P https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig permanent - redir /XbzS2 https://github.com/opdavies/gmail-filter-builder permanent - redir /YK1VH /articles/psr4-autoloading-test-cases-drupal-7 permanent - redir /YilTZ$ https://drupalcamp.london/tickets/training permanent - redir /about / permanent - redir /about/cv /cv permanent - redir /about/speaker-information /speaker-information permanent - redir /about/speaker /speaker permanent - redir /acquia-certifications https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent - redir /acquia-certified https://certification.acquia.com/?fname=Oliver&lname=Davies permanent - redir /ansible-molecule /articles/test-driven-ansible-role-development-molecule permanent - redir /ansible https://galaxy.ansible.com/opdavies permanent - redir /ansistrano-code https://github.com/opdavies/dransible permanent - redir /ansistrano-demo https://www.youtube.com/watch?v=PLS4ET7FAcU permanent - redir /ansistrano-slides /talks/deploying-php-ansible-ansistrano permanent - redir /archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent - redir /atNOQ https://youtu.be/r41dkD2EOo8 permanent - redir /automatically-updating-talk-created-date https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent - redir /blog.xml /rss.xml permanent - redir /blog/10-useful-drupal-6-modules /blog/useful-drupal-6-modules permanent - redir /blog/10-years-working-full-time-drupal /blog/10-years-working-full-time-drupal-php permanent - redir /blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent - redir /blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent - redir /blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio permanent - redir /blog/2010/05/06/conditional-email-addresses-webform /blog/conditional-email-addresses-webform permanent - redir /blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile permanent - redir /blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide permanent - redir /blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent - redir /blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi permanent - redir /blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue permanent - redir /blog/2010/06/25/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules permanent - redir /blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views permanent - redir /blog/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql permanent - redir /blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx permanent - redir /blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent - redir /blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent - redir /blog/2010/07/12/overview-teleport-module /blog/review-teleport-module permanent - redir /blog/2010/07/12/review-teleport-module /blog/review-teleport-module permanent - redir /blog/2010/08/10/review-adminhover-module /blog/review-adminhover-module permanent - redir /blog/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent - redir /blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent - redir /blog/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent - redir /blog/2010/08/20/review-image-caption-module /blog/review-image-caption-module permanent - redir /blog/2010/09/26/south-wales-drupal-user-group /blog/south-wales-drupal-user-group permanent - redir /blog/2010/10/10/create-and-apply-patches /blog/create-and-apply-patches permanent - redir /blog/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3 permanent - redir /blog/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21 permanent - redir /blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate permanent - redir /blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent - redir /blog/2011/03/15/display-number-facebook-fans-php /blog/display-number-facebook-fans-php permanent - redir /blog/2011/03/31/proctor-stevenson /blog/proctor-stevenson permanent - redir /blog/2011/05/20/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup permanent - redir /blog/2011/05/23/imagefield-import-archive /blog/imagefield-import-archive permanent - redir /blog/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections permanent - redir /blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu permanent - redir /blog/2011/10/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent - redir /blog/2012/01/04/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7 permanent - redir /blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection permanent - redir /blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush permanent - redir /blog/2012/04/17/installing-nagios-centos /blog/installing-nagios-centos permanent - redir /blog/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent - redir /blog/2012/04/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent - redir /blog/2012/05/23/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form permanent - redir /blog/2012/05/23/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line permanent - redir /blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess permanent - redir /blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent - redir /blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser permanent - redir /blog/2012/05/23/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme permanent - redir /blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent - redir /blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent - redir /blog/2012/07/12/my-new-drupal-modules /blog/my-new-drupal-modules permanent - redir /blog/2012/07/14/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal permanent - redir /blog/2012/07/27/writing-article-linux-journal /blog/writing-article-linux-journal permanent - redir /blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent - redir /blog/2012/07/nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent - redir /blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file permanent - redir /blog/2012/09/06/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff permanent - redir /blog/2012/10/25/my-sublime-text-2-settings /blog/my-sublime-text-2-settings permanent - redir /blog/2012/11/15/accessible-bristol-site-launched /blog/accessible-bristol-site-launched permanent - redir /blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line permanent - redir /blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent - redir /blog/2012/12/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent - redir /blog/2013/01/09/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way permanent - redir /blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7 permanent - redir /blog/2013/02/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent - redir /blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu permanent - redir /blog/2013/04/20/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent permanent - redir /blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent - redir /blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent - redir /blog/2013/06/13/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal permanent - redir /blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled permanent - redir /blog/2013/07/26/going-drupalcon /blog/going-drupalcon permanent - redir /blog/2013/09/06/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush permanent - redir /blog/2013/09/create-zen-sub-theme-using-drush /blog/create-zen-sub-theme-using-drush permanent - redir /blog/2013/11/19/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent - redir /blog/2013/11/27/useful-vagrant-commands /blog/useful-vagrant-commands permanent - redir /blog/2013/11/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent - redir /blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget permanent - redir /blog/2013/12/31/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush permanent - redir /blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent - redir /blog/2014/01/15/some-useful-git-aliases /blog/some-useful-git-aliases permanent - redir /blog/2014/02/09/drupalcamp-london-2014 /blog/drupalcamp-london-2014 permanent - redir /blog/2014/03/03/what-git-flow /blog/what-git-flow permanent - redir /blog/2014/05/03/drupal-association /blog/drupal-association permanent - redir /blog/2014/05/06/thanks /blog/thanks permanent - redir /blog/2014/05/21/git-format-patch /blog/git-format-patch permanent - redir /blog/2014/07/02/drush-make-drupalbristol /blog/drush-make-drupalbristol permanent - redir /blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine permanent - redir /blog/2014/10/21/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush permanent - redir /blog/2014/11/18/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop permanent - redir /blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module permanent - redir /blog/2014/11/27/pantheon-settings-files /blog/pantheon-settings-files permanent - redir /blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent - redir /blog/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version permanent - redir /blog/2015/06/18/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github permanent - redir /blog/2015/07/19/sculpin-twig-resources /blog/sculpin-twig-resources permanent - redir /blog/2015/07/21/automating-sculpin-jenkins /blog/automating-sculpin-jenkins permanent - redir /blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7 permanent - redir /blog/2016/02/15/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent - redir /blog/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload permanent - redir /blog/2016/07/15/building-gmail-filters-with-php /blog/building-gmail-filters-with-php permanent - redir /blog/2016/12/30/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released permanent - redir /blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts permanent - redir /blog/2017/01/31/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments permanent - redir /blog/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers permanent - redir /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent - redir /blog/2017/05/20/turning-drupal-module-into-feature /blog/turning-your-custom-drupal-module-feature permanent - redir /blog/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot permanent - redir /blog/2017/07/13/publishing-sculpin-sites-with-github-pages /blog/publishing-sculpin-sites-github-pages permanent - redir /blog/2017/11/07/tdd-test-driven-drupal /blog/tdd-test-driven-drupal permanent - redir /blog/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/tdd-test-driven-drupal permanent - redir /blog/2018/01/30/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018 permanent - redir /blog/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme permanent - redir /blog/2018/02/27/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london permanent - redir /blog/2018/02/27/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8 permanent - redir /blog/2018/02/28/building-the-new-phpsw-website /blog/building-the-new-phpsw-website permanent - redir /blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back permanent - redir /blog/2018/03/04/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london permanent - redir /blog/2018/04/23/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent - redir /blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal permanent - redir /blog/add-date-popup-calendar-custom-form /blog/how-add-date-popup-calendar-custom-form permanent - redir /blog/adding-methods-decorating-entity-metadata-wrapper /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent - redir /blog/announcing-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent - redir /blog/announcing-the-drupal-vm-config-generator /blog/announcing-the-drupal-vm-generator permanent - redir /blog/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent - redir /blog/building-gmail-filters-in-php /blog/building-gmail-filters-php permanent - redir /blog/building-new-phpsw-website /blog/building-the-new-phpsw-website permanent - redir /blog/building-presentation-slides-reveal-js-tailwind-css /blog/building-presentation-slides-rst2pdf permanent - redir /blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony permanent - redir /blog/create-and-apply-patches /blog/how-create-apply-patches permanent - redir /blog/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-views permanent - redir /blog/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent - redir /blog/creating-custom-docksal-commands /blog/creating-custom-phpunit-command-docksal permanent - redir /blog/debugging-drupal-commerce-promotions-illiminate-collections /blog/debugging-drupal-commerce-illuminate-collections permanent - redir /blog/decorating-entity-metadata-wrapper-add-add-refactor-methods /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent - redir /blog/dev-book-club-refactoring-chapter-1 /blog/dev-book-club-notes-refactoring-chapter-1 permanent - redir /blog/dividing-drupals-process-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent - redir /blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout permanent - redir /blog/drupal-vm-generator-291-released /blog/drupal-vm-generator-updates permanent - redir /blog/drupalcamp-london-2019-tickets /blog/drupalcamp-london-2019-tickets-available-call-sessions permanent - redir /blog/drush-make-drupalbristol /talks/drush-make-drupalbristol permanent - redir /blog/easier-git-repository-cloning-with-insteadof /blog/easier-git-repository-cloning-insteadof permanent - redir /blog/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-composer-npm-scripts permanent - redir /blog/editing-meetup-videos-kdenlive /blog/editing-meetup-videos-linux-kdenlive permanent - redir /blog/examples-of-laravel-collections-in-drupal /blog/using-laravel-collections-drupal permanent - redir /blog/experimenting-with-events-in-drupal-8 /blog/experimenting-events-drupal-8 permanent - redir /blog/fix-vagrant-loading-wrong-virtual-machine /blog/how-fix-vagrant-loading-wrong-virtual-machine permanent - redir /blog/fixing-drupal-simpletest-docker /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent - redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent - redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent - redir /blog/git-format-patch /blog/git-format-patch-your-friend permanent - redir /blog/how-easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent - redir /blog/how-split-new-drupal-contrib-project-within-another-repository /blog/splitting-new-drupal-project-from-repo permanent - redir /blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent - redir /blog/include-local-drupal-settings-file-environment-configuration-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent - redir /blog/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent - redir /blog/live-blogging-symfonylive-london /blog/live-blogging-symfonylive-london-2019 permanent - redir /blog/minimum-core-version /blog/how-define-minimum-drupal-core-version permanent - redir /blog/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-query-string-arguments permanent - redir /blog/null-users-and-system-users-in-drupal /blog/null-users-system-users-drupal permanent - redir /blog/overridding-phpcs-configuration-drupal-ci /blog/overriding-phpcs-configuration-drupal-ci permanent - redir /blog/pantheon-settings-files /blog/include-environment-specific-settings-files-pantheon permanent - redir /blog/pdfpc-pdf-presenter-console-notes /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console permanent - redir /blog/php-apps-subdirectory-nginx /blog/how-put-your-php-application-subdirectory-another-site-nginx permanent - redir /blog/presenting-tailwind-css-ansible-cms-philly /blog/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent - redir /blog/programmatically-load-(an-)?entityform-(in-)?drupal-7 /blog/entityform permanent - redir /blog/published-my-first-docker-images-docker-hub /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf permanent - redir /blog/publishing-sculpin-sites-(with-)?github-pages /blog/publishing-sculpin-sites-github-pages permanent - redir /blog/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-drupal-8 permanent - redir /blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm permanent - redir /blog/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent - redir /blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent - redir /blog/rebuilding-bartik-with-vuejs-tailwind-css /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent - redir /blog/rebuilding-uis-tailwind-css /blog/uis-ive-rebuilt-tailwind-css permanent - redir /blog/restructuring-my-tailwindjs-config-files /blog/restructuring-my-tailwindjs-configuration-files permanent - redir /blog/retrieving-profile-data-user-using-entity-metadata-wrapper /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent - redir /blog/running-drupal-with-symfony-local-server /blog/running-drupal-88-symfony-local-server permanent - redir /blog/running-phpunit-tests-docksal-phpstorm /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm permanent - redir /blog/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-xautoload permanent - redir /blog/speaking-drupalcon-barcelona-2020 /blog/speaking-drupalcon-europe-2020 permanent - redir /blog/speaking-during-lockdown /blog/speaking-remotely-during-covid-19 permanent - redir /blog/speaking-remotely-during-lockdown /blog/speaking-remotely-during-covid-19 permanent - redir /blog/style-drupal-6s-taxonomy-lists-php-css-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent - redir /blog/survey-results-my-drupalcon-europe-session /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal permanent - redir /blog/system-users-null-users /blog/null-users-and-system-users-in-drupal permanent - redir /blog/test-driven-drupal-gitstore-leanpub /blog/test-driven-drupal-on-gitstore-leanpub permanent - redir /blog/test-driven-drupal-presentation-drupalcon-europe-0 /blog/test-driven-drupal-presentation-drupalcon-europe permanent - redir /blog/test-driven-drupal-session-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent - redir /blog/test-driven-drupal-session-video-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent - redir /blog/testing-tailwind-css-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent - redir /blog/testing-tailwindcss-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent - redir /blog/tweets-from-drupalcamp-london /blog/tweets-drupalcamp-london permanent - redir /blog/updating-features-and-adding-components-using-drush /blog/updating-features-adding-components-using-drush permanent - redir /blog/updating-forked-repositories-github /blog/updating-forked-github-repos permanent - redir /blog/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-replace-coda-or-textmate permanent - redir /blog/using-environment-variables-settings-docksal /blog/how-use-environment-variables-your-drupal-settings-docksal permanent - redir /blog/using-psr-4-autoloading-your-drupal-7-test-cases /blog/psr4-autoloading-test-cases-drupal-7 permanent - redir /blog/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-your-drupal-theme permanent - redir /blog/using-the-pcss-extension-postcss-webpack-encore /blog/using-pcss-extension-postcss-webpack-encore permanent - redir /blog/weeknotes-june-5th /blog/weeknotes-2021-06-05 permanent - redir /blog/writing-drupal-module-test-driven-development-tdd /blog/writing-new-drupal-8-module-using-test-driven-development-tdd permanent - redir /book /test-driven-drupal permanent - redir /calendars? https://savvycal.com/opdavies permanent - redir /cms-philly /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent - redir /code-enigma-interview https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent - redir /consulting / permanent - redir /contrib-half-hour https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent - redir /cv /cv.txt permanent - redir /d0P5z /talks/drupal-8-php-libraries-drupalorg-api permanent - redir /d7 /drupal7 permanent - redir /dcbristol-cfp https://www.papercall.io/drupalcamp-bristol-2019 permanent - redir /dcbristol17-videos https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA permanent - redir /dcbristol19-announced /articles/drupalcamp-bristol-2019-speakers-sessions-announced permanent - redir /dclondon-sat https://drupalcamp.london/schedule/saturday permanent - redir /dclondon-sun https://drupalcamp.london/schedule/sunday permanent - redir /dclondon20 /articles/drupalcamp-london-testing-workshop permanent - redir /ddev-phpunit-command /blog/creating-custom-phpunit-command-ddev permanent - redir /deploying-php-ansible /talks/deploying-php-ansible-ansistrano permanent - redir /dks7E https://www.youtube.com/watch?v=PLS4ET7FAcU permanent - redir /do-library https://github.com/opdavies/drupalorg-api-php permanent - redir /do-projects https://github.com/opdavies/drupal-module-drupalorg-projects permanent - redir /docksal-phpunit-phpstorm /articles/running-phpunit-tests-docksal-phpstorm permanent - redir /docksal-posts /articles/tags/docksal permanent - redir /dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 permanent - redir /dransible https://github.com/opdavies/dransible permanent - redir /drupal-bristol-march-19 https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent - redir /drupal-consultant /drupal-consulting permanent - redir /drupal-consulting / permanent - redir /drupal-core-live-stream https://www.youtube.com/watch?v=OK4FWwh1gQU permanent - redir /drupal-core-testing-gate https://www.drupal.org/core/gates#testing permanent - redir /drupal-first-time-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent - redir /drupal-forum-post http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 permanent - redir /drupal-marketplace-uk https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent - redir /drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot permanent - redir /drupal-novice-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent - redir /drupal-php-developer-consultant-uk /drupal-php-developer permanent - redir /drupal-php-developer /drupal-consultant permanent - redir /drupal-tailwind-demo https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent - redir /drupal-tailwindcss https://www.drupal.org/project/tailwindcss permanent - redir /drupal-vuejs /talks/decoupling-drupal-vuejs/ permanent - redir /drupal7 /drupal-upgrade permanent - redir /drupalcamp-london-2019-tickets /articles/drupalcamp-london-2019-tickets permanent - redir /drupalcamp-nyc-training https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent - redir /drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent - redir /drupalorg https://www.drupal.org/u/opdavies permanent - redir /drupalversary https://github.com/opdavies/drupal-module-drupalversary permanent - redir /elewant https://elewant.com/shepherd/admire/opdavies permanent - redir /feed /rss.xml permanent - redir /first-drupal-core-issue https://www.drupal.org/project/drupal/issues/753898 permanent - redir /first-npm-package https://www.npmjs.com/package/tailwindcss-vuejs permanent - redir /freeagent https://opdavies.freeagent.com permanent - redir /git-flow /talks/git-flow permanent - redir /gitlab https://gitlab.com/opdavies permanent - redir /gitstore https://enjoy.gitstore.app/maintainers/opdavies permanent - redir /gmail-filters https://gitlab.com/opdavies/gmail-filters permanent - redir /images/me-precedent.jpg /sites/default/files/images/social-avatar.jpg permanent - redir /inviqa-tailwind-demo https://play.tailwindcss.com/Yfmw8O5UNN permanent - redir /inviqa-tailwind-notes https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 permanent - redir /join-php-south-wales-slack https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA permanent - redir /jy6rW https://www.meetup.com/PHP-South-Wales/events/264731393 permanent - redir /kB6Jd /articles/running-drupal-with-symfony-local-server/ permanent - redir /kmDRA https://www.bbc.co.uk/news/uk-46561779 permanent - redir /leeds-php-drupal-9 https://www.meetup.com/leedsphp/events/272504993 permanent - redir /live https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ permanent - redir /npm https://www.npmjs.com/~opdavies permanent - redir /oFlkS /articles/test-driven-drupal-on-gitstore-leanpub permanent - redir /oliver-davies-uk-based-drupal-symfony-developer /oliver-davies-uk-based-drupal-php-developer permanent - redir /pair-programming /pair permanent - redir /pair-with-me /pair permanent - redir /pairing /pair permanent - redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent - redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent - redir /presentations/building-presenting-slide-decks-rst2pdf /presentations/rst2pdf permanent - redir /qSHAl /articles/published-my-first-npm-package/ permanent - redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent - redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent - redir /rebuilding-bartik /articles/rebuilding-bartik-with-vuejs-tailwind-css permanent - redir /rebuilding-bristol-js https://github.com/opdavies/rebuilding-bristol-js permanent - redir /rebuilding-pantheon https://play.tailwindcss.com/LND98XihGI?layout=horizontal permanent - redir /rebuilding-platformsh https://rebuilding-platformsh.oliverdavies.uk permanent - redir /rebuilding-symfony https://github.com/opdavies/rebuilding-symfony permanent - redir /rk29B https://www.meetup.com/PHP-South-Wales/events/268422525 permanent - redir /roadmap /drupal-upgrade permanent - redir /rss /rss.xml permanent - redir /rst2pdf /talks/building-presenting-slide-decks-rst2pdf permanent - redir /s9MjJ https://symfonycasts.com/screencast/symfony permanent - redir /sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent - redir /sculpin /talks/building-static-websites-sculpin permanent - redir /sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent - redir /skills https://opdavies-skills-tailwindcss.netlify.com/ permanent - redir /slides-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent - redir /slides-upgrading-to-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent - redir /slides-upgrading-to-drupal-9/index.html https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent - redir /slides-working-with-workspace https://slides-working-with-workspace.oliverdavies.uk permanent - redir /speaker-info /speaker permanent - redir /speaker-information /speaker permanent - redir /speaker /press permanent - redir /speaking-videos https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent - redir /stream https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent - redir /subscription / permanent - redir /swap-markdown-parser https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent - redir /symfony-server /articles/running-drupal-with-symfony-local-server permanent - redir /symfony https://connect.symfony.com/profile/opdavies permanent - redir /symfonylive /articles/live-blogging-symfonylive-london permanent - redir /symposium https://symposiumapp.com/u/opdavies permanent - redir /tailwind-css-talk /talks/taking-flight-tailwind-css permanent - redir /tailwind-repos https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent - redir /tailwind-talk /talks/taking-flight-with-tailwind-css permanent - redir /tailwindcss-demo http://tailwindcss-demo.oliverdavies.uk/ permanent - redir /talks /presentations permanent - redir /talks-offer-tweet https://twitter.com/opdavies/status/1250870367712935938 permanent - redir /talks/2012/09/05/what-is-this-drupal-thing-unified-diff /talks/what-is-this-drupal-thing permanent - redir /talks/2013/07/10/drupal-ldap-swdug /talks/drupal-ldap permanent - redir /talks/2014/03/01/git-flow-drupalcamp-london-2014 /talks/git-flow permanent - redir /talks/2014/07/02/drush-make-drupalbristol-drupal-bristol /talks/drush-make-drupalbristol permanent - redir /talks/2014/08/19/drupal-association-swdug /talks/drupal-association permanent - redir /talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015 /talks/drupalorg-in-2015-whats-coming-next permanent - redir /talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015 /talks/drupalorg-in-2015-whats-coming-next permanent - redir /talks/2015/04/08/drupal-8-phpsw /talks/drupal-8 permanent - redir /talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015 /talks/test-drive-twig-with-sculpin permanent - redir /talks/2015/08/25/dancing-for-drupal-umbristol /talks/dancing-for-drupal permanent - redir /talks/2015/10/14/sculpin-phpsw /talks/sculpin permanent - redir /talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016 /talks/getting-started-with-drupal-8-module-development permanent - redir /talks/2016/03/09/drupal-vm-generator-nwdug /talks/drupal-vm-generator permanent - redir /talks/2016/04/02/drupal-vm-generator-drupal-bristol /talks/drupal-vm-generator permanent - redir /talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016 /talks/drupal-8-rejoining-the-herd permanent - redir /talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016 /talks/drupal-vm-meet-symfony-console permanent - redir /talks/2016/11/09/drupal-development-with-composer-phpsw /talks/drupal-development-with-composer permanent - redir /talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol /talks/goodbye-drush-make-hello-composer permanent - redir /talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol /talks/getting-your-data-into-drupal-8 permanent - redir /talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017 /talks/getting-your-data-into-drupal-8 permanent - redir /talks/ansible-ansistrano https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano permanent - redir /talks/deploying-php-applications-fabric /talks/deploying-php-fabric permanent - redir /talks/deploying-php-applications-with-fabric /talks/deploying-php-fabric permanent - redir /talks/drupal-vm-generator-2 /talks/drupal-vm-generator permanent - redir /talks/drupalorg-2015-2 /talks/drupalorg-2015 permanent - redir /talks/drupalorg-in-2015-whats-coming-next /talks/drupalorg-2015 permanent - redir /talks/getting-started-with-drupal-8-module-development /drupal-8-module-development permanent - redir /talks/having-fun-drupal-8-php-libraries-drupalorg-api /talks/drupal-8-php-libraries-drupalorg-api permanent - redir /talks/never-commit-master-introduction-git-flow /talks/git-flow permanent - redir /talks/sculpin /talks/building-static-websites-sculpin permanent - redir /talks/tailwind /talks/taking-flight-with-tailwind-css/ permanent - redir /talks/taking-flight-tailwind-css /talks/taking-flight-with-tailwind-css permanent - redir /talks/using-laravel-collections-outside-laravel /talks/using-illuminate-collections-outside-laravel permanent - redir /talks/working-workspace /talks/working-with-workspace permanent - redir /tdd-blog https://github.com/opdavies/drupal-module-tdd-blog permanent - redir /tdd-test-driven-drupal /talks/tdd-test-driven-drupal/ permanent - redir /team-coaching / permanent - redir /test-driven-drupal-book /test-driven-drupal permanent - redir /testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction permanent - redir /testing-drupal https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent - redir /testing-tailwind-plugins /articles/testing-tailwindcss-plugins-with-jest permanent - redir /testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code permanent - redir /testing-workshop https://github.com/opdavies/workshop-drupal-automated-testing permanent - redir /todoist-filters https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent - redir /twitter-tweaks https://github.com/opdavies/chrome-extension-twitter-tweaks permanent - redir /upgrading-to-drupal-9 /talks/upgrading-your-site-drupal-9 permanent - redir /uxbjV https://www.drupal.org/project/copyright_block permanent - redir /vyTEF https://www.npmjs.com/package/tailwindcss-vuejs permanent - redir /webpack-encore-pcss-regex https://regexr.com/51iaf permanent - redir /wordcamp-bristol-tailwindcss https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css permanent - redir /wordpress-tailwind https://github.com/opdavies/wordcamp-bristol-2019 permanent - redir /work /drupal-php-developer permanent - redir /working-with-workspace /talks/working-with-workspace permanent - redir /workshop-drupal-testing https://github.com/opdavies/workshop-drupal-automated-testing permanent - redir /workspace-demo https://github.com/opdavies/working-with-workspace-demo permanent - redir /wp-tailwind-repo https://github.com/opdavies/wordcamp-bristol-2019 permanent - redir /wp-tailwind-starter https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent - redir /wp-tailwind-static https://wp-tailwind.oliverdavies.uk permanent - redir /wp-tailwind https://wp-tailwind.oliverdavies.uk permanent - redir /yXhoS /talks/things-you-should-know-about-php permanent - ''; + rewrite @404 /404/index.html + file_server + } + '' + + builtins.readFile ./www.oliverdavies.uk-redirects.caddy; }; }; } From 449f331fb54528deaa53c73c438629af5af21833 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 22:06:20 +0100 Subject: [PATCH 1653/2258] Simplify Caddy configuration Remove the force removing of trailing slashes from URLs. --- .../services/caddy/vhosts/www.oliverdavies.uk.nix | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index 8329db2c..d8261d29 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -14,20 +14,9 @@ extraConfig = '' encode gzip - + file_server root * /var/www/vhosts/www.oliverdavies.uk - file_server { - disable_canonical_uris - } - - # Remove trailing slashes from all URLs. - @trailingSlash { - path_regexp trailingSlash ^(.*)/$ - not path / - } - redir @trailingSlash {http.regexp.trailingSlash.1} temporary - handle_errors { @404 { expression {http.error.status_code} == 404 From fe1cd27d59fae4af49309c5c3605f2d5ba87fe91 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 22:25:47 +0100 Subject: [PATCH 1654/2258] Update root directory --- hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index d8261d29..b9a4dcb8 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -15,7 +15,7 @@ '' encode gzip file_server - root * /var/www/vhosts/www.oliverdavies.uk + root * /var/www/vhosts/www.oliverdavies.uk-sculpin handle_errors { @404 { From 7faed751c787454663846114654a69254bf95237 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 16 Apr 2025 22:48:45 +0100 Subject: [PATCH 1655/2258] Load `/tome-test` from www.oliverdavies.uk-tome Load `/tome-test` from the www.oliverdavies.uk-tome directory. --- .../caddy/vhosts/www.oliverdavies.uk.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index b9a4dcb8..210248e8 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -12,6 +12,23 @@ useACMEHost = "oliverdavies.uk"; extraConfig = + let + tomePaths = [ "tome-test" ]; + + tomeConfig = builtins.concatStringsSep "\n\n" ( + builtins.map (path: '' + handle /${path} { + root * /var/www/vhosts/www.oliverdavies.uk-tome + file_server + } + + handle_path /${path}/* { + root * /var/www/vhosts/www.oliverdavies.uk-tome/${path} + file_server + } + '') tomePaths + ); + in '' encode gzip file_server @@ -25,6 +42,8 @@ rewrite @404 /404/index.html file_server } + + ${tomeConfig} '' + builtins.readFile ./www.oliverdavies.uk-redirects.caddy; }; From 26dbdaece2a5abeaa8d22abfc63a427f8cb21dc9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 00:11:25 +0100 Subject: [PATCH 1656/2258] Remove /archive/ redirects --- .../caddy/vhosts/www.oliverdavies.uk-redirects.caddy | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy index 4d577e5b..02d55784 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy @@ -2,18 +2,7 @@ @talks path_regexp ^/talks/(.*)$ @talks-archive path_regexp ^/talks/archive/(.*)$ -# Exclude /daily/page/{number} from the /archive/* redirection -@excludeArchivePages { - path_regexp ^/archive/page/\d+$ -} - -@old-dailies { - path_regexp oldDailies ^/archive/(.*)$ - not path_regexp ^/archive/page/\d+$ -} - redir @articles /blog/{re.1} permanent -redir @old-dailies /daily/{re.1} permanent redir @talks-archive /presentations/{re.1} permanent redir @talks /presentations/{re.1} permanent From ae61e41caaee7b739b7040d3037f3d49ba8876f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 00:37:55 +0100 Subject: [PATCH 1657/2258] Add redirects for old daily email paths --- .../www.oliverdavies.uk-redirects.caddy | 383 +++++++++++++++++- 1 file changed, 370 insertions(+), 13 deletions(-) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy index 02d55784..fc7212df 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy @@ -30,16 +30,373 @@ redir /YK1VH /articles/psr4-autoloading-test-cases-drupal-7 permanent redir /YilTZ$ https://drupalcamp.london/tickets/training permanent redir /about / permanent redir /about/cv /cv permanent -redir /about/speaker-information /speaker-information permanent redir /about/speaker /speaker permanent +redir /about/speaker-information /speaker-information permanent redir /acquia-certifications https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent redir /acquia-certified https://certification.acquia.com/?fname=Oliver&lname=Davies permanent -redir /ansible-molecule /articles/test-driven-ansible-role-development-molecule permanent redir /ansible https://galaxy.ansible.com/opdavies permanent +redir /ansible-molecule /articles/test-driven-ansible-role-development-molecule permanent redir /ansistrano-code https://github.com/opdavies/dransible permanent redir /ansistrano-demo https://www.youtube.com/watch?v=PLS4ET7FAcU permanent redir /ansistrano-slides /talks/deploying-php-ansible-ansistrano permanent +redir /archive/2022-08-28/how-started-programming /daily/2022-08-28/how-started-programming permanent +redir /archive/2022/08/20/return-to-offline-meetups-conferences /daily/2022/08/20/return-to-offline-meetups-conferences permanent +redir /archive/2022/08/23/git-gui-command-line /daily/2022/08/23/git-gui-command-line permanent +redir /archive/2022/08/25/why-i-work-in-neovim /daily/2022/08/25/why-i-work-in-neovim permanent +redir /archive/2022/08/26/always-be-learning /daily/2022/08/26/always-be-learning permanent +redir /archive/2022/08/27/giving-back /daily/2022/08/27/giving-back permanent +redir /archive/2022/08/29/why-like-drupal /daily/2022/08/29/why-like-drupal permanent +redir /archive/2022/08/30/why-dont-only-use-drupal /daily/2022/08/30/why-dont-only-use-drupal permanent +redir /archive/2022/08/31/monorepo-or-not /daily/2022/08/31/monorepo-or-not permanent +redir /archive/2022/09/01/conventional-commits-changelogs /daily/2022/09/01/conventional-commits-changelogs permanent +redir /archive/2022/09/02/automating-all-the-things-with-ansible /daily/2022/09/02/automating-all-the-things-with-ansible permanent +redir /archive/2022/09/04/using-ansible-for-server-configuration /daily/2022/09/04/using-ansible-for-server-configuration permanent +redir /archive/2022/09/05/using-ansible-for-local-configuration /daily/2022/09/05/using-ansible-for-local-configuration permanent +redir /archive/2022/09/06/deploying-applications-with-ansible /daily/2022/09/06/deploying-applications-with-ansible permanent +redir /archive/2022/09/07/my-tailwind-css-origin-story /daily/2022/09/07/my-tailwind-css-origin-story permanent +redir /archive/2022/09/08/keeping-secrets-with-ansible-vault /daily/2022/09/08/keeping-secrets-with-ansible-vault permanent +redir /archive/2022/09/09/refactoring-tailwind-component /daily/2022/09/09/refactoring-tailwind-component permanent +redir /archive/2022/09/10/automating-ansible-deployments-ci /daily/2022/09/10/automating-ansible-deployments-ci permanent +redir /archive/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins /daily/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins permanent +redir /archive/2022/09/12/month-/daily-emails daily/2022/09/12/month-daily-emails permanent +redir /archive/2022/09/14/simpletest-drupal-test /daily/2022/09/14/simpletest-drupal-test permanent +redir /archive/2022/09/16/why-mostly-write-functional-and-integration-tests /daily/2022/09/16/why-mostly-write-functional-and-integration-tests permanent +redir /archive/2022/09/17/thoughts-automated-code-formatting /daily/2022/09/17/thoughts-automated-code-formatting permanent +redir /archive/2022/09/19/useful-git-configuration /daily/2022/09/19/useful-git-configuration permanent +redir /archive/2022/09/20/why-like-trunk-based-development /daily/2022/09/20/why-like-trunk-based-development permanent +redir /archive/2022/09/21/being-drupal-contribution-mentor /daily/2022/09/21/being-drupal-contribution-mentor permanent +redir /archive/2022/09/22/releasing-drupal-module-template /daily/2022/09/22/releasing-drupal-module-template permanent +redir /archive/2022/09/23/adrs-technical-design-documents /daily/2022/09/23/adrs-technical-design-documents permanent +redir /archive/2022/09/25/using-component-library-for-front-end-development /daily/2022/09/25/using-component-library-for-front-end-development permanent +redir /archive/2022/09/26/experimenting-with-the-nix-package-manager /daily/2022/09/26/experimenting-with-the-nix-package-manager permanent +redir /archive/2022/09/27/mentoring-with-drupal-career-online /daily/2022/09/27/mentoring-with-drupal-career-online permanent +redir /archive/2022/09/28/mob-programming-php-south-wales /daily/2022/09/28/mob-programming-php-south-wales permanent +redir /archive/2022/09/30/store-wars-vuejs /daily/2022/09/30/store-wars-vuejs permanent +redir /archive/2022/10/12/overcoming-deployment-anxiety /daily/2022/10/12/overcoming-deployment-anxiety permanent +redir /archive/2022/10/17/14-years-drupalorg /daily/2022/10/17/14-years-drupalorg permanent +redir /archive/2022/10/18/pair-mob-programming /daily/2022/10/18/pair-mob-programming permanent +redir /archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern /daily/2022/10/20/cherry-picking-commits-is-an-anti-pattern permanent redir /archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent +redir /archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same /daily/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same permanent +redir /archive/2022/10/24/looking-at-localgov-drupal /daily/2022/10/24/looking-at-localgov-drupal permanent +redir /archive/2022/10/25/what-are-drupal-distributions /daily/2022/10/25/what-are-drupal-distributions permanent +redir /archive/2022/10/26/neovim-as-a-personalised-development-environment /daily/2022/10/26/neovim-as-a-personalised-development-environment permanent +redir /archive/2022/10/27/getting-back-into-live-streaming /daily/2022/10/27/getting-back-into-live-streaming permanent +redir /archive/2022/10/28/why-write-framework-agnostic-packages /daily/2022/10/28/why-write-framework-agnostic-packages permanent +redir /archive/2022/10/29/the-open-source-first-development-workflow /daily/2022/10/29/the-open-source-first-development-workflow permanent +redir /archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests /daily/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests permanent +redir /archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment /daily/2022/11/08/are-sprints-incompatible-with-continuous-deployment permanent +redir /archive/2022/11/09/your-conference-talk-has-been-accepted /daily/2022/11/09/your-conference-talk-has-been-accepted permanent +redir /archive/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt /daily/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt permanent +redir /archive/2022/11/12/creating-small-proof-of-concept-application-afternoon /daily/2022/11/12/creating-small-proof-of-concept-application-afternoon permanent +redir /archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase /daily/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase permanent +redir /archive/2022/11/14/camel-case-or-snake-case-for-test-methods /daily/2022/11/14/camel-case-or-snake-case-for-test-methods permanent +redir /archive/2022/11/15/writing-good-automated-test-names /daily/2022/11/15/writing-good-automated-test-names permanent +redir /archive/2022/11/16/why-don't-you-write-automated-tests /daily/2022/11/16/why-don't-you-write-automated-tests permanent +redir /archive/2022/11/17/agnostic-ci-pipelines-with-run-files /daily/2022/11/17/agnostic-ci-pipelines-with-run-files permanent +redir /archive/2022/11/18/one-test-a-day-keeps-bugs-away /daily/2022/11/18/one-test-a-day-keeps-bugs-away permanent +redir /archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring /daily/2022/11/19/are-missing-tests-a-blocker-to-refactoring permanent +redir /archive/2022/11/20/version-controlled-commented-out-code /daily/2022/11/20/version-controlled-commented-out-code permanent +redir /archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code /daily/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code permanent +redir /archive/2022/11/22/tldr /daily/2022/11/22/tldr permanent +redir /archive/2022/11/23/do-you-need-to-branch /daily/2022/11/23/do-you-need-to-branch permanent +redir /archive/2022/11/24/doing-the-simplest-possible-thing /daily/2022/11/24/doing-the-simplest-possible-thing permanent +redir /archive/2022/11/25/plan-then-code /daily/2022/11/25/plan-then-code permanent +redir /archive/2022/11/30/ship-show-or-ask /daily/2022/11/30/ship-show-or-ask permanent +redir /archive/2022/12/01/writing-readable-code /daily/2022/12/01/writing-readable-code permanent +redir /archive/2022/12/02/commit-and-push-something-every-day /daily/2022/12/02/commit-and-push-something-every-day permanent +redir /archive/2022/12/03/what-to-do-with-todo-comments /daily/2022/12/03/what-to-do-with-todo-comments permanent +redir /archive/2022/12/04/writing-why-first-user-stories /daily/2022/12/04/writing-why-first-user-stories permanent +redir /archive/2022/12/05/outcomes-or-output /daily/2022/12/05/outcomes-or-output permanent +redir /archive/2022/12/06/should-you-comment-your-code /daily/2022/12/06/should-you-comment-your-code permanent +redir /archive/2022/12/07/separating-releases-from-deployments-with-feature-flags /daily/2022/12/07/separating-releases-from-deployments-with-feature-flags permanent +redir /archive/2022/12/08/the-decorator-design-pattern /daily/2022/12/08/the-decorator-design-pattern permanent +redir /archive/2022/12/09/how-and-why-i-started-using-postcss /daily/2022/12/09/how-and-why-i-started-using-postcss permanent +redir /archive/2022/12/10/managing-databases-with-neovim-and-docker /daily/2022/12/10/managing-databases-with-neovim-and-docker permanent +redir /archive/2022/12/15/happy-drupal-10-release-day /daily/2022/12/15/happy-drupal-10-release-day permanent +redir /archive/2022/12/20/automating-all-the-things,-including-infrastructure /daily/2022/12/20/automating-all-the-things,-including-infrastructure permanent +redir /archive/2022/12/21/duck-typing /daily/2022/12/21/duck-typing permanent +redir /archive/2022/12/22/the-boy-scout-rule /daily/2022/12/22/the-boy-scout-rule permanent +redir /archive/2022/12/23/speaking-at-php-stoke-and-nordevcon /daily/2022/12/23/speaking-at-php-stoke-and-nordevcon permanent +redir /archive/2022/12/28/debugging-gitignore-rules /daily/2022/12/28/debugging-gitignore-rules permanent +redir /archive/2022/12/29/what-is-the-cost-of-a-bug /daily/2022/12/29/what-is-the-cost-of-a-bug permanent +redir /archive/2022/12/30/tests-are-living-documentation /daily/2022/12/30/tests-are-living-documentation permanent +redir /archive/2022/12/31/just-start-writing /daily/2022/12/31/just-start-writing permanent +redir /archive/2023/01/01/types-and-static-analysis-saved-me-today /daily/2023/01/01/types-and-static-analysis-saved-me-today permanent +redir /archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css /daily/2023/01/02/dont-use-arbitrary-values-in-tailwind-css permanent +redir /archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features /daily/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features permanent +redir /archive/2023/01/04/testable-tailwind-css-plugins /daily/2023/01/04/testable-tailwind-css-plugins permanent +redir /archive/2023/01/05/adding-tailwind-to-an-existing-project /daily/2023/01/05/adding-tailwind-to-an-existing-project permanent +redir /archive/2023/01/06/utility-first-or-utility-last /daily/2023/01/06/utility-first-or-utility-last permanent +redir /archive/2023/01/07/reducing-utility-class-duplication /daily/2023/01/07/reducing-utility-class-duplication permanent +redir /archive/2023/01/16/back-after-php-stoke /daily/2023/01/16/back-after-php-stoke permanent +redir /archive/2023/01/17/things-to-know-about-php /daily/2023/01/17/things-to-know-about-php permanent +redir /archive/2023/01/18/drupal-turns-22 /daily/2023/01/18/drupal-turns-22 permanent +redir /archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css /daily/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css permanent +redir /archive/2023/01/20/tailwinds-classes-are-your-classes /daily/2023/01/20/tailwinds-classes-are-your-classes permanent +redir /archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes /daily/2023/01/21/tailwind-not-just-translating-css-to-utility-classes permanent +redir /archive/2023/01/22/building-bootstrap-css-examples-with-tailwind /daily/2023/01/22/building-bootstrap-css-examples-with-tailwind permanent +redir /archive/2023/01/23/debugging-with-git-bisect /daily/2023/01/23/debugging-with-git-bisect permanent +redir /archive/2023/01/24/small-commits-and-good-commit-messges /daily/2023/01/24/small-commits-and-good-commit-messges permanent +redir /archive/2023/01/25/to-squash-or-not-to-squash /daily/2023/01/25/to-squash-or-not-to-squash permanent +redir /archive/2023/02/07/astro-as-a-static-site-generator /daily/2023/02/07/astro-as-a-static-site-generator permanent +redir /archive/2023/02/08/fetching-api-data-with-astro /daily/2023/02/08/fetching-api-data-with-astro permanent +redir /archive/2023/02/09/creating-api-endpoints-with-astro /daily/2023/02/09/creating-api-endpoints-with-astro permanent +redir /archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup /daily/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup permanent +redir /archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 /daily/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 permanent +redir /archive/2023/02/18/drupal-10-version-of-override-node-options /daily/2023/02/18/drupal-10-version-of-override-node-options permanent +redir /archive/2023/02/19/clients-dont-care-which-design-pattern-you-use /daily/2023/02/19/clients-dont-care-which-design-pattern-you-use permanent +redir /archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components /daily/2023/02/20/tailwind-why-i-prefer-to-extract-html-components permanent +redir /archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference /daily/2023/03/01/tailwind-css-at-the-norfolk-developer-conference permanent +redir /archive/2023/03/02/busy-working-on-client-projects /daily/2023/03/02/busy-working-on-client-projects permanent +redir /archive/2023/03/03/adding-a-localgov-drupal-example /daily/2023/03/03/adding-a-localgov-drupal-example permanent +redir /archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files /daily/2023/03/04/why-i-built-a-tool-to-generate-configuration-files permanent +redir /archive/2023/03/05/mentoring-for-school-of-code /daily/2023/03/05/mentoring-for-school-of-code permanent +redir /archive/2023/03/08/automating-infrastructure-with-iac /daily/2023/03/08/automating-infrastructure-with-iac permanent +redir /archive/2023/03/09/in-what-language-should-i-write-my-automation /daily/2023/03/09/in-what-language-should-i-write-my-automation permanent +redir /archive/2023/03/13/what-problem-am-i-trying-to-solve /daily/2023/03/13/what-problem-am-i-trying-to-solve permanent +redir /archive/2023/03/14/automating-all-the-things /daily/2023/03/14/automating-all-the-things permanent +redir /archive/2023/03/15/the-benefits-of-automation /daily/2023/03/15/the-benefits-of-automation permanent +redir /archive/2023/03/21/there-isnt-a-tailwind-looking-site /daily/2023/03/21/there-isnt-a-tailwind-looking-site permanent +redir /archive/2023/03/22/with-utility-styles-your-css-stops-growing /daily/2023/03/22/with-utility-styles-your-css-stops-growing permanent +redir /archive/2023/03/27/software-development-solving-problems-and-adding-value /daily/2023/03/27/software-development-solving-problems-and-adding-value permanent +redir /archive/2023/04/07/speaking-at-php-london /daily/2023/04/07/speaking-at-php-london permanent +redir /archive/2023/04/08/why-i-use-tmux /daily/2023/04/08/why-i-use-tmux permanent +redir /archive/2023/04/09/nix-nixos-home-manager-and-wsl2 /daily/2023/04/09/nix-nixos-home-manager-and-wsl2 permanent +redir /archive/2023/04/10/how-i-use-neovim-for-writing-php /daily/2023/04/10/how-i-use-neovim-for-writing-php permanent +redir /archive/2023/04/11/just-vs-make /daily/2023/04/11/just-vs-make permanent +redir /archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties /daily/2023/04/12/cleaner-php-code-with-promoted-constructor-properties permanent +redir /archive/2023/04/13/immutable-read-only-properties-in-php-8-1 /daily/2023/04/13/immutable-read-only-properties-in-php-8-1 permanent +redir /archive/2023/04/14/data-transfer-objects-and-value-objects /daily/2023/04/14/data-transfer-objects-and-value-objects permanent +redir /archive/2023/04/15/automatically-running-commands-with-nodemon /daily/2023/04/15/automatically-running-commands-with-nodemon permanent +redir /archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 /daily/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 permanent +redir /archive/2023/04/17/introducing-feature-flags-to-build-configs /daily/2023/04/17/introducing-feature-flags-to-build-configs permanent +redir /archive/2023/04/18/consistency-is-key /daily/2023/04/18/consistency-is-key permanent +redir /archive/2023/04/19/camel-case-or-snake-case-for-drupal-code /daily/2023/04/19/camel-case-or-snake-case-for-drupal-code permanent +redir /archive/2023/04/20/micro-refactorings /daily/2023/04/20/micro-refactorings permanent +redir /archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible /daily/2023/04/21/making-my-drupal-module-template-drupal-10-compatible permanent +redir /archive/2023/04/22/build-configs-as-a-service /daily/2023/04/22/build-configs-as-a-service permanent +redir /archive/2023/04/23/laravel-pipelines /daily/2023/04/23/laravel-pipelines permanent +redir /archive/2023/04/24/ci-pipelines-should-start-locally /daily/2023/04/24/ci-pipelines-should-start-locally permanent +redir /archive/2023/04/25/shortening-the-feedback-loop-even-more /daily/2023/04/25/shortening-the-feedback-loop-even-more permanent +redir /archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first /daily/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first permanent +redir /archive/2023/04/27/tdd-write-the-test-backwards /daily/2023/04/27/tdd-write-the-test-backwards permanent +redir /archive/2023/04/30/will-we-see-drupal-7-100 /daily/2023/04/30/will-we-see-drupal-7-100 permanent +redir /archive/2023/05/01/should-drupal-7-support-be-extended-again /daily/2023/05/01/should-drupal-7-support-be-extended-again permanent +redir /archive/2023/05/02/does-it-depend-on-who-you-ask /daily/2023/05/02/does-it-depend-on-who-you-ask permanent +redir /archive/2023/05/03/just-because-core-is-supported /daily/2023/05/03/just-because-core-is-supported permanent +redir /archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london /daily/2023/05/04/speaking-at-the-symfony-uk-meetup-london permanent +redir /archive/2023/05/05/getting-to-green /daily/2023/05/05/getting-to-green permanent +redir /archive/2023/05/06/why-its-important-to-see-the-test-fail /daily/2023/05/06/why-its-important-to-see-the-test-fail permanent +redir /archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next /daily/2023/05/07/you-dont-need-to-think-about-what-to-do-next permanent +redir /archive/2023/05/08/only-write-enough-code-to-get-a-failing-test /daily/2023/05/08/only-write-enough-code-to-get-a-failing-test permanent +redir /archive/2023/05/09/the-single-responsibility-principle /daily/2023/05/09/the-single-responsibility-principle permanent +redir /archive/2023/05/10/tailwind-css-makes-change-easier /daily/2023/05/10/tailwind-css-makes-change-easier permanent +redir /archive/2023/05/11/why-i-like-pair-and-mob-programming /daily/2023/05/11/why-i-like-pair-and-mob-programming permanent +redir /archive/2023/05/12/always-listen-to-the-mob /daily/2023/05/12/always-listen-to-the-mob permanent +redir /archive/2023/05/13/when-you-do-things-right /daily/2023/05/13/when-you-do-things-right permanent +redir /archive/2023/05/14/releasing-small-changes-often-is-less-risky /daily/2023/05/14/releasing-small-changes-often-is-less-risky permanent +redir /archive/2023/05/15/is-the-drupal-release-cycle-too-fast /daily/2023/05/15/is-the-drupal-release-cycle-too-fast permanent +redir /archive/2023/05/16/mastering-your-tools-improves-productivity /daily/2023/05/16/mastering-your-tools-improves-productivity permanent +redir /archive/2023/05/17/what-is-deprecated-code /daily/2023/05/17/what-is-deprecated-code permanent +redir /archive/2023/05/18/why-is-backward-compatibility-important /daily/2023/05/18/why-is-backward-compatibility-important permanent +redir /archive/2023/05/19/semantic-versioning /daily/2023/05/19/semantic-versioning permanent +redir /archive/2023/05/20/a-minor-breaking-change /daily/2023/05/20/a-minor-breaking-change permanent +redir /archive/2023/05/21/drupal-9-almost-end-of-life-already /daily/2023/05/21/drupal-9-almost-end-of-life-already permanent +redir /archive/2023/06/05/how-long-should-a-feature-flag-live /daily/2023/06/05/how-long-should-a-feature-flag-live permanent +redir /archive/2023/06/06/drupal-7-end-of-life-extended /daily/2023/06/06/drupal-7-end-of-life-extended permanent +redir /archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you /daily/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you permanent +redir /archive/2023/06/08/write-less-drupal-code /daily/2023/06/08/write-less-drupal-code permanent +redir /archive/2023/06/09/drupal-is-built-by-people /daily/2023/06/09/drupal-is-built-by-people permanent +redir /archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag /daily/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag permanent +redir /archive/2023/06/11/failing-fast /daily/2023/06/11/failing-fast permanent +redir /archive/2023/06/12/feature-flags-in-a-multi-tenancy-application /daily/2023/06/12/feature-flags-in-a-multi-tenancy-application permanent +redir /archive/2023/06/13/should-you-feature-flag-everything /daily/2023/06/13/should-you-feature-flag-everything permanent +redir /archive/2023/06/14/what-if-there-was-no-open-source-software /daily/2023/06/14/what-if-there-was-no-open-source-software permanent +redir /archive/2023/06/15/done-is-better-than-perfect /daily/2023/06/15/done-is-better-than-perfect permanent +redir /archive/2023/06/16/make-the-easy-change /daily/2023/06/16/make-the-easy-change permanent +redir /archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development /daily/2023/06/17/avoid-git-merge-hell-with-trunk-based-development permanent +redir /archive/2023/06/18/are-you-doing-ci-cd /daily/2023/06/18/are-you-doing-ci-cd permanent +redir /archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 /daily/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 permanent +redir /archive/2023/06/20/should-you-deploy-on-a-friday /daily/2023/06/20/should-you-deploy-on-a-friday permanent +redir /archive/2023/06/21/deployments-or-releases /daily/2023/06/21/deployments-or-releases permanent +redir /archive/2023/06/22/fail-to-lear /daily/2023/06/22/fail-to-lear permanent +redir /archive/2023/06/23/why-keep-a-changelog /daily/2023/06/23/why-keep-a-changelog permanent +redir /archive/2023/06/24/credited-on-200-fixed-issues /daily/2023/06/24/credited-on-200-fixed-issues permanent +redir /archive/2023/06/25/do-you-need-permission-test-driven-development /daily/2023/06/25/do-you-need-permission-test-driven-development permanent +redir /archive/2023/06/26/is-any-code-without-tests-legacy /daily/2023/06/26/is-any-code-without-tests-legacy permanent +redir /archive/2023/06/27/ci-pipeline-additional-team-member /daily/2023/06/27/ci-pipeline-additional-team-member permanent +redir /archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline /daily/2023/06/28/theres-no-value-in-a-broken-ci-pipeline permanent +redir /archive/2023/06/29/tests-wont-tell-you-if-your-code-works /daily/2023/06/29/tests-wont-tell-you-if-your-code-works permanent +redir /archive/2023/06/30/how-did-you-learn-automated-testing /daily/2023/06/30/how-did-you-learn-automated-testing permanent +redir /archive/2023/07/01/once-you-start-writing-tests-you-cant-stop /daily/2023/07/01/once-you-start-writing-tests-you-cant-stop permanent +redir /archive/2023/07/02/docker-or-nix /daily/2023/07/02/docker-or-nix permanent +redir /archive/2023/07/03/why-write-custom-assertions-in-your-tests /daily/2023/07/03/why-write-custom-assertions-in-your-tests permanent +redir /archive/2023/07/04/think-smaller-with-tdd /daily/2023/07/04/think-smaller-with-tdd permanent +redir /archive/2023/07/05/services-vs-actions /daily/2023/07/05/services-vs-actions permanent +redir /archive/2023/07/06/automated-testing-is-more-than-just-unit-testing /daily/2023/07/06/automated-testing-is-more-than-just-unit-testing permanent +redir /archive/2023/07/15/test-driven-development-makes-you-more-productive /daily/2023/07/15/test-driven-development-makes-you-more-productive permanent +redir /archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code /daily/2023/07/16/when-writing-a-failing-test-youre-designing-your-code permanent +redir /archive/2023/07/17/too-many-choices /daily/2023/07/17/too-many-choices permanent +redir /archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult /daily/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult permanent +redir /archive/2023/07/19/tdd-is-like-clicker-training /daily/2023/07/19/tdd-is-like-clicker-training permanent +redir /archive/2023/07/20/tests-as-communication /daily/2023/07/20/tests-as-communication permanent +redir /archive/2023/07/21/comments-as-communication /daily/2023/07/21/comments-as-communication permanent +redir /archive/2023/07/22/more-code-more-problems /daily/2023/07/22/more-code-more-problems permanent +redir /archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler /daily/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler permanent +redir /archive/2023/07/24/testing-is-all-about-confidence /daily/2023/07/24/testing-is-all-about-confidence permanent +redir /archive/2023/07/25/working-backwards /daily/2023/07/25/working-backwards permanent +redir /archive/2023/07/26/prove-the-concept /daily/2023/07/26/prove-the-concept permanent +redir /archive/2023/07/27/stick-to-conventions /daily/2023/07/27/stick-to-conventions permanent +redir /archive/2023/07/28/generic-commit-messages /daily/2023/07/28/generic-commit-messages permanent +redir /archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 /daily/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 permanent +redir /archive/2023/07/30/commit-often-deploy-often /daily/2023/07/30/commit-often-deploy-often permanent +redir /archive/2023/07/31/upgrading-from-drupal-9-is-easier /daily/2023/07/31/upgrading-from-drupal-9-is-easier permanent +redir /archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites /daily/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites permanent +redir /archive/2023/08/02/a-crash-course-into-drupal-testing /daily/2023/08/02/a-crash-course-into-drupal-testing permanent +redir /archive/2023/08/03/what-problem-are-we-trying-to-solve /daily/2023/08/03/what-problem-are-we-trying-to-solve permanent +redir /archive/2023/08/04/laravel-prompts /daily/2023/08/04/laravel-prompts permanent +redir /archive/2023/08/05/use-drupal-to-own-your-content /daily/2023/08/05/use-drupal-to-own-your-content permanent +redir /archive/2023/08/06/yagni /daily/2023/08/06/yagni permanent +redir /archive/2023/08/07/tests-make-upgrades-less-risky /daily/2023/08/07/tests-make-upgrades-less-risky permanent +redir /archive/2023/08/08/8-years-of-dotfiles /daily/2023/08/08/8-years-of-dotfiles permanent +redir /archive/2023/08/09/vim-is-my-lightsaber /daily/2023/08/09/vim-is-my-lightsaber permanent +redir /archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees /daily/2023/08/10/testing-fixed-prices-and-bug-free-guarantees permanent +redir /archive/2023/08/11/everyone-tests-their-code /daily/2023/08/11/everyone-tests-their-code permanent +redir /archive/2023/08/12/does-not-writing-tests-actually-save-time /daily/2023/08/12/does-not-writing-tests-actually-save-time permanent +redir /archive/2023/08/13/dont-estimate-separately-for-testing /daily/2023/08/13/dont-estimate-separately-for-testing permanent +redir /archive/2023/08/14/why-keep-a-dotfiles-repository /daily/2023/08/14/why-keep-a-dotfiles-repository permanent +redir /archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task /daily/2023/08/15/writing-test-and-implementation-code-are-the-same-task permanent +redir /archive/2023/08/16/writing-tests-in-your-own-time /daily/2023/08/16/writing-tests-in-your-own-time permanent +redir /archive/2023/08/17/writing-custom-assertions-in-your-tests /daily/2023/08/17/writing-custom-assertions-in-your-tests permanent +redir /archive/2023/08/18/types-vs-tests /daily/2023/08/18/types-vs-tests permanent +redir /archive/2023/08/19/asserting-all-the-things /daily/2023/08/19/asserting-all-the-things permanent +redir /archive/2023/08/20/php-types-and-assertions /daily/2023/08/20/php-types-and-assertions permanent +redir /archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value /daily/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value permanent +redir /archive/2023/08/22/deployments-with-your-ci-pipeline /daily/2023/08/22/deployments-with-your-ci-pipeline permanent +redir /archive/2023/08/23/dont-use-third-party-services-directly /daily/2023/08/23/dont-use-third-party-services-directly permanent +redir /archive/2023/08/24/testing-multiple-implementations-with-contract-tests /daily/2023/08/24/testing-multiple-implementations-with-contract-tests permanent +redir /archive/2023/08/25/start-with-a-vague-test /daily/2023/08/25/start-with-a-vague-test permanent +redir /archive/2023/08/26/work-in-small-chunks /daily/2023/08/26/work-in-small-chunks permanent +redir /archive/2023/08/27/pull-requests-are-great-for-open-source /daily/2023/08/27/pull-requests-are-great-for-open-source permanent +redir /archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review /daily/2023/08/28/pair-and-mob-programming-are-continuous-code-review permanent +redir /archive/2023/08/29/ci-pipelines-are-an-automated-code-review /daily/2023/08/29/ci-pipelines-are-an-automated-code-review permanent +redir /archive/2023/08/30/tdd-and-unexpected-errors /daily/2023/08/30/tdd-and-unexpected-errors permanent +redir /archive/2023/08/31/code-review-discourages-small-refactorings /daily/2023/08/31/code-review-discourages-small-refactorings permanent +redir /archive/2023/09/01/non-blocking-code-reviews /daily/2023/09/01/non-blocking-code-reviews permanent +redir /archive/2023/09/02/planning-first-or-reviewing-last /daily/2023/09/02/planning-first-or-reviewing-last permanent +redir /archive/2023/09/03/including-time-for-tests-in-estimates /daily/2023/09/03/including-time-for-tests-in-estimates permanent +redir /archive/2023/09/04/charging-more-not-to-write-tests /daily/2023/09/04/charging-more-not-to-write-tests permanent +redir /archive/2023/09/05/spring-clean-before-upgrading /daily/2023/09/05/spring-clean-before-upgrading permanent +redir /archive/2023/09/06/verbosity-over-abstraction /daily/2023/09/06/verbosity-over-abstraction permanent +redir /archive/2023/09/07/what-s-the-simplest-test-to-begin-with /daily/2023/09/07/what-s-the-simplest-test-to-begin-with permanent +redir /archive/2023/09/08/do-you-proactively-refactor-your-code /daily/2023/09/08/do-you-proactively-refactor-your-code permanent +redir /archive/2023/09/09/a-lack-of-tests-discourages-refactoring /daily/2023/09/09/a-lack-of-tests-discourages-refactoring permanent +redir /archive/2023/09/10/code-is-read-more-than-it-s-written /daily/2023/09/10/code-is-read-more-than-it-s-written permanent +redir /archive/2023/09/11/dont-use-else /daily/2023/09/11/dont-use-else permanent +redir /archive/2023/09/12/dont-inject-too-many-dependencies /daily/2023/09/12/dont-inject-too-many-dependencies permanent +redir /archive/2023/09/13/which-type-of-test-should-i-use /daily/2023/09/13/which-type-of-test-should-i-use permanent +redir /archive/2023/09/14/outside-in-or-inside-out /daily/2023/09/14/outside-in-or-inside-out permanent +redir /archive/2023/09/15/types-or-no-types /daily/2023/09/15/types-or-no-types permanent +redir /archive/2023/09/16/how-not-to-break-36-000-websites /daily/2023/09/16/how-not-to-break-36-000-websites permanent +redir /archive/2023/09/17/how-much-refactoring-should-i-be-doing /daily/2023/09/17/how-much-refactoring-should-i-be-doing permanent +redir /archive/2023/09/18/increasing-test-coverage-with-regression-tests /daily/2023/09/18/increasing-test-coverage-with-regression-tests permanent +redir /archive/2023/09/19/stop-writing-tests /daily/2023/09/19/stop-writing-tests permanent +redir /archive/2023/09/20/why-i-prefer-types /daily/2023/09/20/why-i-prefer-types permanent +redir /archive/2023/09/21/buggy-software-causes-reputational-damage /daily/2023/09/21/buggy-software-causes-reputational-damage permanent +redir /archive/2023/09/22/documentation-and-comments-get-stale /daily/2023/09/22/documentation-and-comments-get-stale permanent +redir /archive/2023/09/23/not-everyone-writes-automated-tests /daily/2023/09/23/not-everyone-writes-automated-tests permanent +redir /archive/2023/09/24/test-to-save-your-job /daily/2023/09/24/test-to-save-your-job permanent +redir /archive/2023/09/25/should-you-use-a-staging-environment /daily/2023/09/25/should-you-use-a-staging-environment permanent +redir /archive/2023/09/26/which-branch-should-be-in-which-environment /daily/2023/09/26/which-branch-should-be-in-which-environment permanent +redir /archive/2023/09/27/separating-environments-with-feature-flags /daily/2023/09/27/separating-environments-with-feature-flags permanent +redir /archive/2023/09/28/feature-flags-enable-continuous-integration /daily/2023/09/28/feature-flags-enable-continuous-integration permanent +redir /archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions /daily/2023/09/29/92-changed-files-with-885-additions-and-156-deletions permanent +redir /archive/2023/09/30/automated-testing-offers-repeatability /daily/2023/09/30/automated-testing-offers-repeatability permanent +redir /archive/2023/10/01/tdd--repeat-and-refactor /daily/2023/10/01/tdd--repeat-and-refactor permanent +redir /archive/2023/10/02/only-comment-what-needs-to-be-commented /daily/2023/10/02/only-comment-what-needs-to-be-commented permanent +redir /archive/2023/10/03/there-is-no-perfect-solution /daily/2023/10/03/there-is-no-perfect-solution permanent +redir /archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass /daily/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass permanent +redir /archive/2023/10/05/some-solutions-are-good-enough /daily/2023/10/05/some-solutions-are-good-enough permanent +redir /archive/2023/10/06/software-development-is-like-going-to-the-dentist /daily/2023/10/06/software-development-is-like-going-to-the-dentist permanent +redir /archive/2023/10/07/a-breakdown-of-tests-from-a-current-project /daily/2023/10/07/a-breakdown-of-tests-from-a-current-project permanent +redir /archive/2023/10/08/is-test-driven-development-difficult /daily/2023/10/08/is-test-driven-development-difficult permanent +redir /archive/2023/10/09/spotting-new-things-in-drupal-10-1 /daily/2023/10/09/spotting-new-things-in-drupal-10-1 permanent +redir /archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies /daily/2023/10/10/why-use-composer-to-manage-drupal-dependencies permanent +redir /archive/2023/10/11/do-you-need-that-module /daily/2023/10/11/do-you-need-that-module permanent +redir /archive/2023/10/12/business-logic-in-template-files /daily/2023/10/12/business-logic-in-template-files permanent +redir /archive/2023/10/13/writing-tests-is-an-investment /daily/2023/10/13/writing-tests-is-an-investment permanent +redir /archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects /daily/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects permanent +redir /archive/2023/10/15/off-to-drupalcon /daily/2023/10/15/off-to-drupalcon permanent +redir /archive/2023/10/23/when-should-run-your-tests /daily/2023/10/23/when-should-run-your-tests permanent +redir /archive/2023/10/24/how-to-test-code-you-didnt-write /daily/2023/10/24/how-to-test-code-you-didnt-write permanent +redir /archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading /daily/2023/10/25/automated-tests-prevent-regressions-when-upgrading permanent +redir /archive/2023/10/26/is-decoupled-drupal-still-a-thing /daily/2023/10/26/is-decoupled-drupal-still-a-thing permanent +redir /archive/2023/10/27/work-with-me-and-support-the-drupal-association /daily/2023/10/27/work-with-me-and-support-the-drupal-association permanent +redir /archive/2023/10/28/can-you-move-faster-without-tests /daily/2023/10/28/can-you-move-faster-without-tests permanent +redir /archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea /daily/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea permanent +redir /archive/2023/10/30/is-drupal-a-cms-or-a-framework /daily/2023/10/30/is-drupal-a-cms-or-a-framework permanent +redir /archive/2023/10/31/one-official-drupal-development-environment /daily/2023/10/31/one-official-drupal-development-environment permanent +redir /archive/2023/11/01/drupal-9-is-now-end-of-life /daily/2023/11/01/drupal-9-is-now-end-of-life permanent +redir /archive/2023/11/02/is-code-coverage-an-objective-or-guideline /daily/2023/11/02/is-code-coverage-an-objective-or-guideline permanent +redir /archive/2023/11/03/why-your-company-should-contribute-to-open-source-software /daily/2023/11/03/why-your-company-should-contribute-to-open-source-software permanent +redir /archive/2023/11/04/why-you-should-contribute-to-open-source-software /daily/2023/11/04/why-you-should-contribute-to-open-source-software permanent +redir /archive/2023/11/05/i-m-starting-a-podcast /daily/2023/11/05/i-m-starting-a-podcast permanent +redir /archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded /daily/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded permanent +redir /archive/2023/11/07/it-depends /daily/2023/11/07/it-depends permanent +redir /archive/2023/11/08/building-build-configs /daily/2023/11/08/building-build-configs permanent +redir /archive/2023/11/09/readme-driven-development /daily/2023/11/09/readme-driven-development permanent +redir /archive/2023/11/10/retrofit-with-matt-glaman /daily/2023/11/10/retrofit-with-matt-glaman permanent +redir /archive/2023/11/11/work-in-small-batches /daily/2023/11/11/work-in-small-batches permanent +redir /archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box /daily/2023/11/12/drupal-gives-you-so-much-out-of-the-box permanent +redir /archive/2023/11/13/phpunit-does-more-than-unit-testing /daily/2023/11/13/phpunit-does-more-than-unit-testing permanent +redir /archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests /daily/2023/11/14/why-i-prefer-integration-tests-to-unit-tests permanent +redir /archive/2023/11/15/dont-pre-optimise-and-over-customise /daily/2023/11/15/dont-pre-optimise-and-over-customise permanent +redir /archive/2023/11/16/avoiding-over-mocking /daily/2023/11/16/avoiding-over-mocking permanent +redir /archive/2023/11/17/drupal-s-alternate-realities /daily/2023/11/17/drupal-s-alternate-realities permanent +redir /archive/2023/11/18/writing-good-test-names /daily/2023/11/18/writing-good-test-names permanent +redir /archive/2023/11/19/why-ive-standardised-on-run-scripts /daily/2023/11/19/why-ive-standardised-on-run-scripts permanent +redir /archive/2023/11/20/whatll-be-in-drupal-11 /daily/2023/11/20/whatll-be-in-drupal-11 permanent +redir /archive/2023/11/21/why-i-built-build-configs /daily/2023/11/21/why-i-built-build-configs permanent +redir /archive/2023/11/22/frequency-reduces-difficulty /daily/2023/11/22/frequency-reduces-difficulty permanent +redir /archive/2023/11/23/partial-mocking /daily/2023/11/23/partial-mocking permanent +redir /archive/2023/11/24/are-conventional-commits-worth-it /daily/2023/11/24/are-conventional-commits-worth-it permanent +redir /archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts /daily/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts permanent +redir /archive/2023/11/26/to-docblock-or-not-to-docblock /daily/2023/11/26/to-docblock-or-not-to-docblock permanent +redir /archive/2023/11/27/finding-the-best-test-base /daily/2023/11/27/finding-the-best-test-base permanent +redir /archive/2023/11/28/which-phpstan-level-should-you-use /daily/2023/11/28/which-phpstan-level-should-you-use permanent +redir /archive/2023/11/29/the-lowest-level-is-better-than-no-level /daily/2023/11/29/the-lowest-level-is-better-than-no-level permanent +redir /archive/2023/11/30/are-bugs-good-for-users /daily/2023/11/30/are-bugs-good-for-users permanent +redir /archive/2023/12/01/the-contribution-first-workflow /daily/2023/12/01/the-contribution-first-workflow permanent +redir /archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code /daily/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code permanent +redir /archive/2023/12/05/open-source-encourages-open-source /daily/2023/12/05/open-source-encourages-open-source permanent +redir /archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case /daily/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case permanent +redir /archive/2023/12/07/a-drupal-case-study-from-oxfam /daily/2023/12/07/a-drupal-case-study-from-oxfam permanent +redir /archive/2023/12/08/dont-just-rewrite /daily/2023/12/08/dont-just-rewrite permanent +redir /archive/2023/12/09/rebuild-or-iterate /daily/2023/12/09/rebuild-or-iterate permanent +redir /archive/2023/12/10/suffixing-names /daily/2023/12/10/suffixing-names permanent +redir /archive/2023/12/11/custom-coding-standards-and-conventions /daily/2023/12/11/custom-coding-standards-and-conventions permanent +redir /archive/2023/12/12/drupalcon-session-survey-results /daily/2023/12/12/drupalcon-session-survey-results permanent +redir /archive/2023/12/13/reviving-an-old-php-project /daily/2023/12/13/reviving-an-old-php-project permanent +redir /archive/2023/12/14/save-time-and-effort-with-drupal-distributions /daily/2023/12/14/save-time-and-effort-with-drupal-distributions permanent +redir /archive/2023/12/15/building-your-own-in-house-drupal-distribution /daily/2023/12/15/building-your-own-in-house-drupal-distribution permanent +redir /archive/2023/12/16/adding-snapshot-tests-to-build-configs /daily/2023/12/16/adding-snapshot-tests-to-build-configs permanent +redir /archive/2023/12/17/fail-fast-fix-fast /daily/2023/12/17/fail-fast-fix-fast permanent +redir /archive/2023/12/18/static-analysis-on-tests /daily/2023/12/18/static-analysis-on-tests permanent +redir /archive/2023/12/19/php-tui-dan-leech /daily/2023/12/19/php-tui-dan-leech permanent +redir /archive/2023/12/20/hover-focus-hocus /daily/2023/12/20/hover-focus-hocus permanent +redir /archive/2023/12/21/new-year-coaching /daily/2023/12/21/new-year-coaching permanent +redir /archive/2023/12/22/best-language-cms-or-framework /daily/2023/12/22/best-language-cms-or-framework permanent +redir /archive/2023/12/23/using-a-whole-framework-or-part-of-it /daily/2023/12/23/using-a-whole-framework-or-part-of-it permanent +redir /archive/2023/12/24/this-should-never-happen /daily/2023/12/24/this-should-never-happen permanent +redir /archive/2023/12/25/zero-to-test /daily/2023/12/25/zero-to-test permanent +redir /archive/2023/12/26/good-code-is-not-about-being-easy-to-write /daily/2023/12/26/good-code-is-not-about-being-easy-to-write permanent +redir /archive/2023/12/27/writing-new-code-is-quick-to-begin-with /daily/2023/12/27/writing-new-code-is-quick-to-begin-with permanent +redir /archive/2023/12/28/pride-and-productivity /daily/2023/12/28/pride-and-productivity permanent +redir /archive/2023/12/29/decide-automate-document /daily/2023/12/29/decide-automate-document permanent +redir /archive/2023/12/30/weve-always-done-it-this-way /daily/2023/12/30/weve-always-done-it-this-way permanent +redir /archive/2023/12/31/just /daily/2023/12/31/just permanent +redir /archive/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama /daily/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama permanent redir /atNOQ https://youtu.be/r41dkD2EOo8 permanent redir /automatically-updating-talk-created-date https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent redir /blog.xml /rss.xml permanent @@ -215,8 +572,8 @@ redir /blog/publishing-sculpin-sites-(with-)?github-pages /blog/publishing-sculp redir /blog/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-drupal-8 permanent redir /blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm permanent redir /blog/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent -redir /blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent redir /blog/rebuilding-bartik-with-vuejs-tailwind-css /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent +redir /blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent redir /blog/rebuilding-uis-tailwind-css /blog/uis-ive-rebuilt-tailwind-css permanent redir /blog/restructuring-my-tailwindjs-config-files /blog/restructuring-my-tailwindjs-configuration-files permanent redir /blog/retrieving-profile-data-user-using-entity-metadata-wrapper /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent @@ -267,8 +624,8 @@ redir /do-library https://github.com/opdavies/drupalorg-api-php permanent redir /do-projects https://github.com/opdavies/drupal-module-drupalorg-projects permanent redir /docksal-phpunit-phpstorm /articles/running-phpunit-tests-docksal-phpstorm permanent redir /docksal-posts /articles/tags/docksal permanent -redir /dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 permanent redir /dransible https://github.com/opdavies/dransible permanent +redir /dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 permanent redir /drupal-bristol-march-19 https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent redir /drupal-consultant /drupal-consulting permanent redir /drupal-consulting / permanent @@ -279,16 +636,16 @@ redir /drupal-forum-post http://www.webmaster-forums.net/webmasters-corner/devel redir /drupal-marketplace-uk https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent redir /drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot permanent redir /drupal-novice-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent -redir /drupal-php-developer-consultant-uk /drupal-php-developer permanent redir /drupal-php-developer /drupal-consultant permanent +redir /drupal-php-developer-consultant-uk /drupal-php-developer permanent redir /drupal-tailwind-demo https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent redir /drupal-tailwindcss https://www.drupal.org/project/tailwindcss permanent redir /drupal-vuejs /talks/decoupling-drupal-vuejs/ permanent redir /drupal7 /drupal-upgrade permanent redir /drupalcamp-london-2019-tickets /articles/drupalcamp-london-2019-tickets permanent redir /drupalcamp-nyc-training https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent -redir /drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent redir /drupalorg https://www.drupal.org/u/opdavies permanent +redir /drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent redir /drupalversary https://github.com/opdavies/drupal-module-drupalversary permanent redir /elewant https://elewant.com/shepherd/admire/opdavies permanent redir /feed /rss.xml permanent @@ -315,8 +672,8 @@ redir /pair-programming /pair permanent redir /pair-with-me /pair permanent redir /pairing /pair permanent redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent -redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent redir /presentations/building-presenting-slide-decks-rst2pdf /presentations/rst2pdf permanent +redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent redir /qSHAl /articles/published-my-first-npm-package/ permanent redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent @@ -330,23 +687,23 @@ redir /roadmap /drupal-upgrade permanent redir /rss /rss.xml permanent redir /rst2pdf /talks/building-presenting-slide-decks-rst2pdf permanent redir /s9MjJ https://symfonycasts.com/screencast/symfony permanent -redir /sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent redir /sculpin /talks/building-static-websites-sculpin permanent +redir /sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent redir /sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent redir /skills https://opdavies-skills-tailwindcss.netlify.com/ permanent redir /slides-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent redir /slides-upgrading-to-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent redir /slides-upgrading-to-drupal-9/index.html https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent redir /slides-working-with-workspace https://slides-working-with-workspace.oliverdavies.uk permanent +redir /speaker /press permanent redir /speaker-info /speaker permanent redir /speaker-information /speaker permanent -redir /speaker /press permanent redir /speaking-videos https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent redir /stream https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent redir /subscription / permanent redir /swap-markdown-parser https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent -redir /symfony-server /articles/running-drupal-with-symfony-local-server permanent redir /symfony https://connect.symfony.com/profile/opdavies permanent +redir /symfony-server /articles/running-drupal-with-symfony-local-server permanent redir /symfonylive /articles/live-blogging-symfonylive-london permanent redir /symposium https://symposiumapp.com/u/opdavies permanent redir /tailwind-css-talk /talks/taking-flight-tailwind-css permanent @@ -393,11 +750,11 @@ redir /tdd-blog https://github.com/opdavies/drupal-module-tdd-blog permanent redir /tdd-test-driven-drupal /talks/tdd-test-driven-drupal/ permanent redir /team-coaching / permanent redir /test-driven-drupal-book /test-driven-drupal permanent -redir /testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction permanent redir /testing-drupal https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent +redir /testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction permanent redir /testing-tailwind-plugins /articles/testing-tailwindcss-plugins-with-jest permanent -redir /testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code permanent redir /testing-workshop https://github.com/opdavies/workshop-drupal-automated-testing permanent +redir /testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code permanent redir /todoist-filters https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent redir /twitter-tweaks https://github.com/opdavies/chrome-extension-twitter-tweaks permanent redir /upgrading-to-drupal-9 /talks/upgrading-your-site-drupal-9 permanent @@ -410,8 +767,8 @@ redir /work /drupal-php-developer permanent redir /working-with-workspace /talks/working-with-workspace permanent redir /workshop-drupal-testing https://github.com/opdavies/workshop-drupal-automated-testing permanent redir /workspace-demo https://github.com/opdavies/working-with-workspace-demo permanent +redir /wp-tailwind https://wp-tailwind.oliverdavies.uk permanent redir /wp-tailwind-repo https://github.com/opdavies/wordcamp-bristol-2019 permanent redir /wp-tailwind-starter https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent redir /wp-tailwind-static https://wp-tailwind.oliverdavies.uk permanent -redir /wp-tailwind https://wp-tailwind.oliverdavies.uk permanent redir /yXhoS /talks/things-you-should-know-about-php permanent From c6fa8493df2a2e9d96293a0a86ac137f8527ea7d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 00:48:23 +0100 Subject: [PATCH 1658/2258] Move redirects to a Nix list Move redirects to a Nix list and generate them using a `for` loop for better maintainability. --- .../www.oliverdavies.uk-redirects.caddy | 774 ----- .../vhosts/www.oliverdavies.uk-redirects.nix | 3066 +++++++++++++++++ .../caddy/vhosts/www.oliverdavies.uk.nix | 19 +- 3 files changed, 3083 insertions(+), 776 deletions(-) delete mode 100644 hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy create mode 100644 hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.nix diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy deleted file mode 100644 index fc7212df..00000000 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.caddy +++ /dev/null @@ -1,774 +0,0 @@ -@articles path_regexp ^/articles/(.*)$ -@talks path_regexp ^/talks/(.*)$ -@talks-archive path_regexp ^/talks/archive/(.*)$ - -redir @articles /blog/{re.1} permanent -redir @talks-archive /presentations/{re.1} permanent -redir @talks /presentations/{re.1} permanent - -redir /10-useful-drupal-6-modules-i-use-every-project /blog/10-useful-drupal-6-modules permanent -redir /2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent -redir /2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio /blog/using-imagecache-imagecrop-my-portfolio permanent -redir /2010/05/29/importing-images-using-the-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent -redir /2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-nodequeue permanent -redir /2010/07/05/thanks /blog/thanks permanent -redir /2010/08/17/create-a-better-photo-gallery-in-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent -redir /2014/05/21/git-format-patch /blog/git-format-patch-your-friend permanent -redir /2PxmyqP /articles/examples-of-laravel-collections-in-drupal permanent -redir /39CoG /articles/drupalcamp-london-testing-workshop permanent -redir /3eGQr https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 permanent -redir /6UhLN https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 permanent -redir /6i3YZ https://www.youtube.com/watch?v=vUK5sEbd-dk permanent -redir /9rv0Z https://www.drupal.org/project/override_node_options/issues/3109852 permanent -redir /BhMZi https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 permanent -redir /NBi5h https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar permanent -redir /P5KQ5 https://www.npmjs.com/package/tailwindcss-skip-link permanent -redir /S8ZDA /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 permanent -redir /Wh48P https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig permanent -redir /XbzS2 https://github.com/opdavies/gmail-filter-builder permanent -redir /YK1VH /articles/psr4-autoloading-test-cases-drupal-7 permanent -redir /YilTZ$ https://drupalcamp.london/tickets/training permanent -redir /about / permanent -redir /about/cv /cv permanent -redir /about/speaker /speaker permanent -redir /about/speaker-information /speaker-information permanent -redir /acquia-certifications https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All permanent -redir /acquia-certified https://certification.acquia.com/?fname=Oliver&lname=Davies permanent -redir /ansible https://galaxy.ansible.com/opdavies permanent -redir /ansible-molecule /articles/test-driven-ansible-role-development-molecule permanent -redir /ansistrano-code https://github.com/opdavies/dransible permanent -redir /ansistrano-demo https://www.youtube.com/watch?v=PLS4ET7FAcU permanent -redir /ansistrano-slides /talks/deploying-php-ansible-ansistrano permanent -redir /archive/2022-08-28/how-started-programming /daily/2022-08-28/how-started-programming permanent -redir /archive/2022/08/20/return-to-offline-meetups-conferences /daily/2022/08/20/return-to-offline-meetups-conferences permanent -redir /archive/2022/08/23/git-gui-command-line /daily/2022/08/23/git-gui-command-line permanent -redir /archive/2022/08/25/why-i-work-in-neovim /daily/2022/08/25/why-i-work-in-neovim permanent -redir /archive/2022/08/26/always-be-learning /daily/2022/08/26/always-be-learning permanent -redir /archive/2022/08/27/giving-back /daily/2022/08/27/giving-back permanent -redir /archive/2022/08/29/why-like-drupal /daily/2022/08/29/why-like-drupal permanent -redir /archive/2022/08/30/why-dont-only-use-drupal /daily/2022/08/30/why-dont-only-use-drupal permanent -redir /archive/2022/08/31/monorepo-or-not /daily/2022/08/31/monorepo-or-not permanent -redir /archive/2022/09/01/conventional-commits-changelogs /daily/2022/09/01/conventional-commits-changelogs permanent -redir /archive/2022/09/02/automating-all-the-things-with-ansible /daily/2022/09/02/automating-all-the-things-with-ansible permanent -redir /archive/2022/09/04/using-ansible-for-server-configuration /daily/2022/09/04/using-ansible-for-server-configuration permanent -redir /archive/2022/09/05/using-ansible-for-local-configuration /daily/2022/09/05/using-ansible-for-local-configuration permanent -redir /archive/2022/09/06/deploying-applications-with-ansible /daily/2022/09/06/deploying-applications-with-ansible permanent -redir /archive/2022/09/07/my-tailwind-css-origin-story /daily/2022/09/07/my-tailwind-css-origin-story permanent -redir /archive/2022/09/08/keeping-secrets-with-ansible-vault /daily/2022/09/08/keeping-secrets-with-ansible-vault permanent -redir /archive/2022/09/09/refactoring-tailwind-component /daily/2022/09/09/refactoring-tailwind-component permanent -redir /archive/2022/09/10/automating-ansible-deployments-ci /daily/2022/09/10/automating-ansible-deployments-ci permanent -redir /archive/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins /daily/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins permanent -redir /archive/2022/09/12/month-/daily-emails daily/2022/09/12/month-daily-emails permanent -redir /archive/2022/09/14/simpletest-drupal-test /daily/2022/09/14/simpletest-drupal-test permanent -redir /archive/2022/09/16/why-mostly-write-functional-and-integration-tests /daily/2022/09/16/why-mostly-write-functional-and-integration-tests permanent -redir /archive/2022/09/17/thoughts-automated-code-formatting /daily/2022/09/17/thoughts-automated-code-formatting permanent -redir /archive/2022/09/19/useful-git-configuration /daily/2022/09/19/useful-git-configuration permanent -redir /archive/2022/09/20/why-like-trunk-based-development /daily/2022/09/20/why-like-trunk-based-development permanent -redir /archive/2022/09/21/being-drupal-contribution-mentor /daily/2022/09/21/being-drupal-contribution-mentor permanent -redir /archive/2022/09/22/releasing-drupal-module-template /daily/2022/09/22/releasing-drupal-module-template permanent -redir /archive/2022/09/23/adrs-technical-design-documents /daily/2022/09/23/adrs-technical-design-documents permanent -redir /archive/2022/09/25/using-component-library-for-front-end-development /daily/2022/09/25/using-component-library-for-front-end-development permanent -redir /archive/2022/09/26/experimenting-with-the-nix-package-manager /daily/2022/09/26/experimenting-with-the-nix-package-manager permanent -redir /archive/2022/09/27/mentoring-with-drupal-career-online /daily/2022/09/27/mentoring-with-drupal-career-online permanent -redir /archive/2022/09/28/mob-programming-php-south-wales /daily/2022/09/28/mob-programming-php-south-wales permanent -redir /archive/2022/09/30/store-wars-vuejs /daily/2022/09/30/store-wars-vuejs permanent -redir /archive/2022/10/12/overcoming-deployment-anxiety /daily/2022/10/12/overcoming-deployment-anxiety permanent -redir /archive/2022/10/17/14-years-drupalorg /daily/2022/10/17/14-years-drupalorg permanent -redir /archive/2022/10/18/pair-mob-programming /daily/2022/10/18/pair-mob-programming permanent -redir /archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern /daily/2022/10/20/cherry-picking-commits-is-an-anti-pattern permanent -redir /archive/2022/10/20/run-vs-task-runners/? /archive/2022/10/19/run-vs-task-runners permanent -redir /archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same /daily/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same permanent -redir /archive/2022/10/24/looking-at-localgov-drupal /daily/2022/10/24/looking-at-localgov-drupal permanent -redir /archive/2022/10/25/what-are-drupal-distributions /daily/2022/10/25/what-are-drupal-distributions permanent -redir /archive/2022/10/26/neovim-as-a-personalised-development-environment /daily/2022/10/26/neovim-as-a-personalised-development-environment permanent -redir /archive/2022/10/27/getting-back-into-live-streaming /daily/2022/10/27/getting-back-into-live-streaming permanent -redir /archive/2022/10/28/why-write-framework-agnostic-packages /daily/2022/10/28/why-write-framework-agnostic-packages permanent -redir /archive/2022/10/29/the-open-source-first-development-workflow /daily/2022/10/29/the-open-source-first-development-workflow permanent -redir /archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests /daily/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests permanent -redir /archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment /daily/2022/11/08/are-sprints-incompatible-with-continuous-deployment permanent -redir /archive/2022/11/09/your-conference-talk-has-been-accepted /daily/2022/11/09/your-conference-talk-has-been-accepted permanent -redir /archive/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt /daily/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt permanent -redir /archive/2022/11/12/creating-small-proof-of-concept-application-afternoon /daily/2022/11/12/creating-small-proof-of-concept-application-afternoon permanent -redir /archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase /daily/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase permanent -redir /archive/2022/11/14/camel-case-or-snake-case-for-test-methods /daily/2022/11/14/camel-case-or-snake-case-for-test-methods permanent -redir /archive/2022/11/15/writing-good-automated-test-names /daily/2022/11/15/writing-good-automated-test-names permanent -redir /archive/2022/11/16/why-don't-you-write-automated-tests /daily/2022/11/16/why-don't-you-write-automated-tests permanent -redir /archive/2022/11/17/agnostic-ci-pipelines-with-run-files /daily/2022/11/17/agnostic-ci-pipelines-with-run-files permanent -redir /archive/2022/11/18/one-test-a-day-keeps-bugs-away /daily/2022/11/18/one-test-a-day-keeps-bugs-away permanent -redir /archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring /daily/2022/11/19/are-missing-tests-a-blocker-to-refactoring permanent -redir /archive/2022/11/20/version-controlled-commented-out-code /daily/2022/11/20/version-controlled-commented-out-code permanent -redir /archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code /daily/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code permanent -redir /archive/2022/11/22/tldr /daily/2022/11/22/tldr permanent -redir /archive/2022/11/23/do-you-need-to-branch /daily/2022/11/23/do-you-need-to-branch permanent -redir /archive/2022/11/24/doing-the-simplest-possible-thing /daily/2022/11/24/doing-the-simplest-possible-thing permanent -redir /archive/2022/11/25/plan-then-code /daily/2022/11/25/plan-then-code permanent -redir /archive/2022/11/30/ship-show-or-ask /daily/2022/11/30/ship-show-or-ask permanent -redir /archive/2022/12/01/writing-readable-code /daily/2022/12/01/writing-readable-code permanent -redir /archive/2022/12/02/commit-and-push-something-every-day /daily/2022/12/02/commit-and-push-something-every-day permanent -redir /archive/2022/12/03/what-to-do-with-todo-comments /daily/2022/12/03/what-to-do-with-todo-comments permanent -redir /archive/2022/12/04/writing-why-first-user-stories /daily/2022/12/04/writing-why-first-user-stories permanent -redir /archive/2022/12/05/outcomes-or-output /daily/2022/12/05/outcomes-or-output permanent -redir /archive/2022/12/06/should-you-comment-your-code /daily/2022/12/06/should-you-comment-your-code permanent -redir /archive/2022/12/07/separating-releases-from-deployments-with-feature-flags /daily/2022/12/07/separating-releases-from-deployments-with-feature-flags permanent -redir /archive/2022/12/08/the-decorator-design-pattern /daily/2022/12/08/the-decorator-design-pattern permanent -redir /archive/2022/12/09/how-and-why-i-started-using-postcss /daily/2022/12/09/how-and-why-i-started-using-postcss permanent -redir /archive/2022/12/10/managing-databases-with-neovim-and-docker /daily/2022/12/10/managing-databases-with-neovim-and-docker permanent -redir /archive/2022/12/15/happy-drupal-10-release-day /daily/2022/12/15/happy-drupal-10-release-day permanent -redir /archive/2022/12/20/automating-all-the-things,-including-infrastructure /daily/2022/12/20/automating-all-the-things,-including-infrastructure permanent -redir /archive/2022/12/21/duck-typing /daily/2022/12/21/duck-typing permanent -redir /archive/2022/12/22/the-boy-scout-rule /daily/2022/12/22/the-boy-scout-rule permanent -redir /archive/2022/12/23/speaking-at-php-stoke-and-nordevcon /daily/2022/12/23/speaking-at-php-stoke-and-nordevcon permanent -redir /archive/2022/12/28/debugging-gitignore-rules /daily/2022/12/28/debugging-gitignore-rules permanent -redir /archive/2022/12/29/what-is-the-cost-of-a-bug /daily/2022/12/29/what-is-the-cost-of-a-bug permanent -redir /archive/2022/12/30/tests-are-living-documentation /daily/2022/12/30/tests-are-living-documentation permanent -redir /archive/2022/12/31/just-start-writing /daily/2022/12/31/just-start-writing permanent -redir /archive/2023/01/01/types-and-static-analysis-saved-me-today /daily/2023/01/01/types-and-static-analysis-saved-me-today permanent -redir /archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css /daily/2023/01/02/dont-use-arbitrary-values-in-tailwind-css permanent -redir /archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features /daily/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features permanent -redir /archive/2023/01/04/testable-tailwind-css-plugins /daily/2023/01/04/testable-tailwind-css-plugins permanent -redir /archive/2023/01/05/adding-tailwind-to-an-existing-project /daily/2023/01/05/adding-tailwind-to-an-existing-project permanent -redir /archive/2023/01/06/utility-first-or-utility-last /daily/2023/01/06/utility-first-or-utility-last permanent -redir /archive/2023/01/07/reducing-utility-class-duplication /daily/2023/01/07/reducing-utility-class-duplication permanent -redir /archive/2023/01/16/back-after-php-stoke /daily/2023/01/16/back-after-php-stoke permanent -redir /archive/2023/01/17/things-to-know-about-php /daily/2023/01/17/things-to-know-about-php permanent -redir /archive/2023/01/18/drupal-turns-22 /daily/2023/01/18/drupal-turns-22 permanent -redir /archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css /daily/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css permanent -redir /archive/2023/01/20/tailwinds-classes-are-your-classes /daily/2023/01/20/tailwinds-classes-are-your-classes permanent -redir /archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes /daily/2023/01/21/tailwind-not-just-translating-css-to-utility-classes permanent -redir /archive/2023/01/22/building-bootstrap-css-examples-with-tailwind /daily/2023/01/22/building-bootstrap-css-examples-with-tailwind permanent -redir /archive/2023/01/23/debugging-with-git-bisect /daily/2023/01/23/debugging-with-git-bisect permanent -redir /archive/2023/01/24/small-commits-and-good-commit-messges /daily/2023/01/24/small-commits-and-good-commit-messges permanent -redir /archive/2023/01/25/to-squash-or-not-to-squash /daily/2023/01/25/to-squash-or-not-to-squash permanent -redir /archive/2023/02/07/astro-as-a-static-site-generator /daily/2023/02/07/astro-as-a-static-site-generator permanent -redir /archive/2023/02/08/fetching-api-data-with-astro /daily/2023/02/08/fetching-api-data-with-astro permanent -redir /archive/2023/02/09/creating-api-endpoints-with-astro /daily/2023/02/09/creating-api-endpoints-with-astro permanent -redir /archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup /daily/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup permanent -redir /archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 /daily/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 permanent -redir /archive/2023/02/18/drupal-10-version-of-override-node-options /daily/2023/02/18/drupal-10-version-of-override-node-options permanent -redir /archive/2023/02/19/clients-dont-care-which-design-pattern-you-use /daily/2023/02/19/clients-dont-care-which-design-pattern-you-use permanent -redir /archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components /daily/2023/02/20/tailwind-why-i-prefer-to-extract-html-components permanent -redir /archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference /daily/2023/03/01/tailwind-css-at-the-norfolk-developer-conference permanent -redir /archive/2023/03/02/busy-working-on-client-projects /daily/2023/03/02/busy-working-on-client-projects permanent -redir /archive/2023/03/03/adding-a-localgov-drupal-example /daily/2023/03/03/adding-a-localgov-drupal-example permanent -redir /archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files /daily/2023/03/04/why-i-built-a-tool-to-generate-configuration-files permanent -redir /archive/2023/03/05/mentoring-for-school-of-code /daily/2023/03/05/mentoring-for-school-of-code permanent -redir /archive/2023/03/08/automating-infrastructure-with-iac /daily/2023/03/08/automating-infrastructure-with-iac permanent -redir /archive/2023/03/09/in-what-language-should-i-write-my-automation /daily/2023/03/09/in-what-language-should-i-write-my-automation permanent -redir /archive/2023/03/13/what-problem-am-i-trying-to-solve /daily/2023/03/13/what-problem-am-i-trying-to-solve permanent -redir /archive/2023/03/14/automating-all-the-things /daily/2023/03/14/automating-all-the-things permanent -redir /archive/2023/03/15/the-benefits-of-automation /daily/2023/03/15/the-benefits-of-automation permanent -redir /archive/2023/03/21/there-isnt-a-tailwind-looking-site /daily/2023/03/21/there-isnt-a-tailwind-looking-site permanent -redir /archive/2023/03/22/with-utility-styles-your-css-stops-growing /daily/2023/03/22/with-utility-styles-your-css-stops-growing permanent -redir /archive/2023/03/27/software-development-solving-problems-and-adding-value /daily/2023/03/27/software-development-solving-problems-and-adding-value permanent -redir /archive/2023/04/07/speaking-at-php-london /daily/2023/04/07/speaking-at-php-london permanent -redir /archive/2023/04/08/why-i-use-tmux /daily/2023/04/08/why-i-use-tmux permanent -redir /archive/2023/04/09/nix-nixos-home-manager-and-wsl2 /daily/2023/04/09/nix-nixos-home-manager-and-wsl2 permanent -redir /archive/2023/04/10/how-i-use-neovim-for-writing-php /daily/2023/04/10/how-i-use-neovim-for-writing-php permanent -redir /archive/2023/04/11/just-vs-make /daily/2023/04/11/just-vs-make permanent -redir /archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties /daily/2023/04/12/cleaner-php-code-with-promoted-constructor-properties permanent -redir /archive/2023/04/13/immutable-read-only-properties-in-php-8-1 /daily/2023/04/13/immutable-read-only-properties-in-php-8-1 permanent -redir /archive/2023/04/14/data-transfer-objects-and-value-objects /daily/2023/04/14/data-transfer-objects-and-value-objects permanent -redir /archive/2023/04/15/automatically-running-commands-with-nodemon /daily/2023/04/15/automatically-running-commands-with-nodemon permanent -redir /archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 /daily/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 permanent -redir /archive/2023/04/17/introducing-feature-flags-to-build-configs /daily/2023/04/17/introducing-feature-flags-to-build-configs permanent -redir /archive/2023/04/18/consistency-is-key /daily/2023/04/18/consistency-is-key permanent -redir /archive/2023/04/19/camel-case-or-snake-case-for-drupal-code /daily/2023/04/19/camel-case-or-snake-case-for-drupal-code permanent -redir /archive/2023/04/20/micro-refactorings /daily/2023/04/20/micro-refactorings permanent -redir /archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible /daily/2023/04/21/making-my-drupal-module-template-drupal-10-compatible permanent -redir /archive/2023/04/22/build-configs-as-a-service /daily/2023/04/22/build-configs-as-a-service permanent -redir /archive/2023/04/23/laravel-pipelines /daily/2023/04/23/laravel-pipelines permanent -redir /archive/2023/04/24/ci-pipelines-should-start-locally /daily/2023/04/24/ci-pipelines-should-start-locally permanent -redir /archive/2023/04/25/shortening-the-feedback-loop-even-more /daily/2023/04/25/shortening-the-feedback-loop-even-more permanent -redir /archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first /daily/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first permanent -redir /archive/2023/04/27/tdd-write-the-test-backwards /daily/2023/04/27/tdd-write-the-test-backwards permanent -redir /archive/2023/04/30/will-we-see-drupal-7-100 /daily/2023/04/30/will-we-see-drupal-7-100 permanent -redir /archive/2023/05/01/should-drupal-7-support-be-extended-again /daily/2023/05/01/should-drupal-7-support-be-extended-again permanent -redir /archive/2023/05/02/does-it-depend-on-who-you-ask /daily/2023/05/02/does-it-depend-on-who-you-ask permanent -redir /archive/2023/05/03/just-because-core-is-supported /daily/2023/05/03/just-because-core-is-supported permanent -redir /archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london /daily/2023/05/04/speaking-at-the-symfony-uk-meetup-london permanent -redir /archive/2023/05/05/getting-to-green /daily/2023/05/05/getting-to-green permanent -redir /archive/2023/05/06/why-its-important-to-see-the-test-fail /daily/2023/05/06/why-its-important-to-see-the-test-fail permanent -redir /archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next /daily/2023/05/07/you-dont-need-to-think-about-what-to-do-next permanent -redir /archive/2023/05/08/only-write-enough-code-to-get-a-failing-test /daily/2023/05/08/only-write-enough-code-to-get-a-failing-test permanent -redir /archive/2023/05/09/the-single-responsibility-principle /daily/2023/05/09/the-single-responsibility-principle permanent -redir /archive/2023/05/10/tailwind-css-makes-change-easier /daily/2023/05/10/tailwind-css-makes-change-easier permanent -redir /archive/2023/05/11/why-i-like-pair-and-mob-programming /daily/2023/05/11/why-i-like-pair-and-mob-programming permanent -redir /archive/2023/05/12/always-listen-to-the-mob /daily/2023/05/12/always-listen-to-the-mob permanent -redir /archive/2023/05/13/when-you-do-things-right /daily/2023/05/13/when-you-do-things-right permanent -redir /archive/2023/05/14/releasing-small-changes-often-is-less-risky /daily/2023/05/14/releasing-small-changes-often-is-less-risky permanent -redir /archive/2023/05/15/is-the-drupal-release-cycle-too-fast /daily/2023/05/15/is-the-drupal-release-cycle-too-fast permanent -redir /archive/2023/05/16/mastering-your-tools-improves-productivity /daily/2023/05/16/mastering-your-tools-improves-productivity permanent -redir /archive/2023/05/17/what-is-deprecated-code /daily/2023/05/17/what-is-deprecated-code permanent -redir /archive/2023/05/18/why-is-backward-compatibility-important /daily/2023/05/18/why-is-backward-compatibility-important permanent -redir /archive/2023/05/19/semantic-versioning /daily/2023/05/19/semantic-versioning permanent -redir /archive/2023/05/20/a-minor-breaking-change /daily/2023/05/20/a-minor-breaking-change permanent -redir /archive/2023/05/21/drupal-9-almost-end-of-life-already /daily/2023/05/21/drupal-9-almost-end-of-life-already permanent -redir /archive/2023/06/05/how-long-should-a-feature-flag-live /daily/2023/06/05/how-long-should-a-feature-flag-live permanent -redir /archive/2023/06/06/drupal-7-end-of-life-extended /daily/2023/06/06/drupal-7-end-of-life-extended permanent -redir /archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you /daily/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you permanent -redir /archive/2023/06/08/write-less-drupal-code /daily/2023/06/08/write-less-drupal-code permanent -redir /archive/2023/06/09/drupal-is-built-by-people /daily/2023/06/09/drupal-is-built-by-people permanent -redir /archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag /daily/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag permanent -redir /archive/2023/06/11/failing-fast /daily/2023/06/11/failing-fast permanent -redir /archive/2023/06/12/feature-flags-in-a-multi-tenancy-application /daily/2023/06/12/feature-flags-in-a-multi-tenancy-application permanent -redir /archive/2023/06/13/should-you-feature-flag-everything /daily/2023/06/13/should-you-feature-flag-everything permanent -redir /archive/2023/06/14/what-if-there-was-no-open-source-software /daily/2023/06/14/what-if-there-was-no-open-source-software permanent -redir /archive/2023/06/15/done-is-better-than-perfect /daily/2023/06/15/done-is-better-than-perfect permanent -redir /archive/2023/06/16/make-the-easy-change /daily/2023/06/16/make-the-easy-change permanent -redir /archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development /daily/2023/06/17/avoid-git-merge-hell-with-trunk-based-development permanent -redir /archive/2023/06/18/are-you-doing-ci-cd /daily/2023/06/18/are-you-doing-ci-cd permanent -redir /archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 /daily/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 permanent -redir /archive/2023/06/20/should-you-deploy-on-a-friday /daily/2023/06/20/should-you-deploy-on-a-friday permanent -redir /archive/2023/06/21/deployments-or-releases /daily/2023/06/21/deployments-or-releases permanent -redir /archive/2023/06/22/fail-to-lear /daily/2023/06/22/fail-to-lear permanent -redir /archive/2023/06/23/why-keep-a-changelog /daily/2023/06/23/why-keep-a-changelog permanent -redir /archive/2023/06/24/credited-on-200-fixed-issues /daily/2023/06/24/credited-on-200-fixed-issues permanent -redir /archive/2023/06/25/do-you-need-permission-test-driven-development /daily/2023/06/25/do-you-need-permission-test-driven-development permanent -redir /archive/2023/06/26/is-any-code-without-tests-legacy /daily/2023/06/26/is-any-code-without-tests-legacy permanent -redir /archive/2023/06/27/ci-pipeline-additional-team-member /daily/2023/06/27/ci-pipeline-additional-team-member permanent -redir /archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline /daily/2023/06/28/theres-no-value-in-a-broken-ci-pipeline permanent -redir /archive/2023/06/29/tests-wont-tell-you-if-your-code-works /daily/2023/06/29/tests-wont-tell-you-if-your-code-works permanent -redir /archive/2023/06/30/how-did-you-learn-automated-testing /daily/2023/06/30/how-did-you-learn-automated-testing permanent -redir /archive/2023/07/01/once-you-start-writing-tests-you-cant-stop /daily/2023/07/01/once-you-start-writing-tests-you-cant-stop permanent -redir /archive/2023/07/02/docker-or-nix /daily/2023/07/02/docker-or-nix permanent -redir /archive/2023/07/03/why-write-custom-assertions-in-your-tests /daily/2023/07/03/why-write-custom-assertions-in-your-tests permanent -redir /archive/2023/07/04/think-smaller-with-tdd /daily/2023/07/04/think-smaller-with-tdd permanent -redir /archive/2023/07/05/services-vs-actions /daily/2023/07/05/services-vs-actions permanent -redir /archive/2023/07/06/automated-testing-is-more-than-just-unit-testing /daily/2023/07/06/automated-testing-is-more-than-just-unit-testing permanent -redir /archive/2023/07/15/test-driven-development-makes-you-more-productive /daily/2023/07/15/test-driven-development-makes-you-more-productive permanent -redir /archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code /daily/2023/07/16/when-writing-a-failing-test-youre-designing-your-code permanent -redir /archive/2023/07/17/too-many-choices /daily/2023/07/17/too-many-choices permanent -redir /archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult /daily/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult permanent -redir /archive/2023/07/19/tdd-is-like-clicker-training /daily/2023/07/19/tdd-is-like-clicker-training permanent -redir /archive/2023/07/20/tests-as-communication /daily/2023/07/20/tests-as-communication permanent -redir /archive/2023/07/21/comments-as-communication /daily/2023/07/21/comments-as-communication permanent -redir /archive/2023/07/22/more-code-more-problems /daily/2023/07/22/more-code-more-problems permanent -redir /archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler /daily/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler permanent -redir /archive/2023/07/24/testing-is-all-about-confidence /daily/2023/07/24/testing-is-all-about-confidence permanent -redir /archive/2023/07/25/working-backwards /daily/2023/07/25/working-backwards permanent -redir /archive/2023/07/26/prove-the-concept /daily/2023/07/26/prove-the-concept permanent -redir /archive/2023/07/27/stick-to-conventions /daily/2023/07/27/stick-to-conventions permanent -redir /archive/2023/07/28/generic-commit-messages /daily/2023/07/28/generic-commit-messages permanent -redir /archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 /daily/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 permanent -redir /archive/2023/07/30/commit-often-deploy-often /daily/2023/07/30/commit-often-deploy-often permanent -redir /archive/2023/07/31/upgrading-from-drupal-9-is-easier /daily/2023/07/31/upgrading-from-drupal-9-is-easier permanent -redir /archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites /daily/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites permanent -redir /archive/2023/08/02/a-crash-course-into-drupal-testing /daily/2023/08/02/a-crash-course-into-drupal-testing permanent -redir /archive/2023/08/03/what-problem-are-we-trying-to-solve /daily/2023/08/03/what-problem-are-we-trying-to-solve permanent -redir /archive/2023/08/04/laravel-prompts /daily/2023/08/04/laravel-prompts permanent -redir /archive/2023/08/05/use-drupal-to-own-your-content /daily/2023/08/05/use-drupal-to-own-your-content permanent -redir /archive/2023/08/06/yagni /daily/2023/08/06/yagni permanent -redir /archive/2023/08/07/tests-make-upgrades-less-risky /daily/2023/08/07/tests-make-upgrades-less-risky permanent -redir /archive/2023/08/08/8-years-of-dotfiles /daily/2023/08/08/8-years-of-dotfiles permanent -redir /archive/2023/08/09/vim-is-my-lightsaber /daily/2023/08/09/vim-is-my-lightsaber permanent -redir /archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees /daily/2023/08/10/testing-fixed-prices-and-bug-free-guarantees permanent -redir /archive/2023/08/11/everyone-tests-their-code /daily/2023/08/11/everyone-tests-their-code permanent -redir /archive/2023/08/12/does-not-writing-tests-actually-save-time /daily/2023/08/12/does-not-writing-tests-actually-save-time permanent -redir /archive/2023/08/13/dont-estimate-separately-for-testing /daily/2023/08/13/dont-estimate-separately-for-testing permanent -redir /archive/2023/08/14/why-keep-a-dotfiles-repository /daily/2023/08/14/why-keep-a-dotfiles-repository permanent -redir /archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task /daily/2023/08/15/writing-test-and-implementation-code-are-the-same-task permanent -redir /archive/2023/08/16/writing-tests-in-your-own-time /daily/2023/08/16/writing-tests-in-your-own-time permanent -redir /archive/2023/08/17/writing-custom-assertions-in-your-tests /daily/2023/08/17/writing-custom-assertions-in-your-tests permanent -redir /archive/2023/08/18/types-vs-tests /daily/2023/08/18/types-vs-tests permanent -redir /archive/2023/08/19/asserting-all-the-things /daily/2023/08/19/asserting-all-the-things permanent -redir /archive/2023/08/20/php-types-and-assertions /daily/2023/08/20/php-types-and-assertions permanent -redir /archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value /daily/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value permanent -redir /archive/2023/08/22/deployments-with-your-ci-pipeline /daily/2023/08/22/deployments-with-your-ci-pipeline permanent -redir /archive/2023/08/23/dont-use-third-party-services-directly /daily/2023/08/23/dont-use-third-party-services-directly permanent -redir /archive/2023/08/24/testing-multiple-implementations-with-contract-tests /daily/2023/08/24/testing-multiple-implementations-with-contract-tests permanent -redir /archive/2023/08/25/start-with-a-vague-test /daily/2023/08/25/start-with-a-vague-test permanent -redir /archive/2023/08/26/work-in-small-chunks /daily/2023/08/26/work-in-small-chunks permanent -redir /archive/2023/08/27/pull-requests-are-great-for-open-source /daily/2023/08/27/pull-requests-are-great-for-open-source permanent -redir /archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review /daily/2023/08/28/pair-and-mob-programming-are-continuous-code-review permanent -redir /archive/2023/08/29/ci-pipelines-are-an-automated-code-review /daily/2023/08/29/ci-pipelines-are-an-automated-code-review permanent -redir /archive/2023/08/30/tdd-and-unexpected-errors /daily/2023/08/30/tdd-and-unexpected-errors permanent -redir /archive/2023/08/31/code-review-discourages-small-refactorings /daily/2023/08/31/code-review-discourages-small-refactorings permanent -redir /archive/2023/09/01/non-blocking-code-reviews /daily/2023/09/01/non-blocking-code-reviews permanent -redir /archive/2023/09/02/planning-first-or-reviewing-last /daily/2023/09/02/planning-first-or-reviewing-last permanent -redir /archive/2023/09/03/including-time-for-tests-in-estimates /daily/2023/09/03/including-time-for-tests-in-estimates permanent -redir /archive/2023/09/04/charging-more-not-to-write-tests /daily/2023/09/04/charging-more-not-to-write-tests permanent -redir /archive/2023/09/05/spring-clean-before-upgrading /daily/2023/09/05/spring-clean-before-upgrading permanent -redir /archive/2023/09/06/verbosity-over-abstraction /daily/2023/09/06/verbosity-over-abstraction permanent -redir /archive/2023/09/07/what-s-the-simplest-test-to-begin-with /daily/2023/09/07/what-s-the-simplest-test-to-begin-with permanent -redir /archive/2023/09/08/do-you-proactively-refactor-your-code /daily/2023/09/08/do-you-proactively-refactor-your-code permanent -redir /archive/2023/09/09/a-lack-of-tests-discourages-refactoring /daily/2023/09/09/a-lack-of-tests-discourages-refactoring permanent -redir /archive/2023/09/10/code-is-read-more-than-it-s-written /daily/2023/09/10/code-is-read-more-than-it-s-written permanent -redir /archive/2023/09/11/dont-use-else /daily/2023/09/11/dont-use-else permanent -redir /archive/2023/09/12/dont-inject-too-many-dependencies /daily/2023/09/12/dont-inject-too-many-dependencies permanent -redir /archive/2023/09/13/which-type-of-test-should-i-use /daily/2023/09/13/which-type-of-test-should-i-use permanent -redir /archive/2023/09/14/outside-in-or-inside-out /daily/2023/09/14/outside-in-or-inside-out permanent -redir /archive/2023/09/15/types-or-no-types /daily/2023/09/15/types-or-no-types permanent -redir /archive/2023/09/16/how-not-to-break-36-000-websites /daily/2023/09/16/how-not-to-break-36-000-websites permanent -redir /archive/2023/09/17/how-much-refactoring-should-i-be-doing /daily/2023/09/17/how-much-refactoring-should-i-be-doing permanent -redir /archive/2023/09/18/increasing-test-coverage-with-regression-tests /daily/2023/09/18/increasing-test-coverage-with-regression-tests permanent -redir /archive/2023/09/19/stop-writing-tests /daily/2023/09/19/stop-writing-tests permanent -redir /archive/2023/09/20/why-i-prefer-types /daily/2023/09/20/why-i-prefer-types permanent -redir /archive/2023/09/21/buggy-software-causes-reputational-damage /daily/2023/09/21/buggy-software-causes-reputational-damage permanent -redir /archive/2023/09/22/documentation-and-comments-get-stale /daily/2023/09/22/documentation-and-comments-get-stale permanent -redir /archive/2023/09/23/not-everyone-writes-automated-tests /daily/2023/09/23/not-everyone-writes-automated-tests permanent -redir /archive/2023/09/24/test-to-save-your-job /daily/2023/09/24/test-to-save-your-job permanent -redir /archive/2023/09/25/should-you-use-a-staging-environment /daily/2023/09/25/should-you-use-a-staging-environment permanent -redir /archive/2023/09/26/which-branch-should-be-in-which-environment /daily/2023/09/26/which-branch-should-be-in-which-environment permanent -redir /archive/2023/09/27/separating-environments-with-feature-flags /daily/2023/09/27/separating-environments-with-feature-flags permanent -redir /archive/2023/09/28/feature-flags-enable-continuous-integration /daily/2023/09/28/feature-flags-enable-continuous-integration permanent -redir /archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions /daily/2023/09/29/92-changed-files-with-885-additions-and-156-deletions permanent -redir /archive/2023/09/30/automated-testing-offers-repeatability /daily/2023/09/30/automated-testing-offers-repeatability permanent -redir /archive/2023/10/01/tdd--repeat-and-refactor /daily/2023/10/01/tdd--repeat-and-refactor permanent -redir /archive/2023/10/02/only-comment-what-needs-to-be-commented /daily/2023/10/02/only-comment-what-needs-to-be-commented permanent -redir /archive/2023/10/03/there-is-no-perfect-solution /daily/2023/10/03/there-is-no-perfect-solution permanent -redir /archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass /daily/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass permanent -redir /archive/2023/10/05/some-solutions-are-good-enough /daily/2023/10/05/some-solutions-are-good-enough permanent -redir /archive/2023/10/06/software-development-is-like-going-to-the-dentist /daily/2023/10/06/software-development-is-like-going-to-the-dentist permanent -redir /archive/2023/10/07/a-breakdown-of-tests-from-a-current-project /daily/2023/10/07/a-breakdown-of-tests-from-a-current-project permanent -redir /archive/2023/10/08/is-test-driven-development-difficult /daily/2023/10/08/is-test-driven-development-difficult permanent -redir /archive/2023/10/09/spotting-new-things-in-drupal-10-1 /daily/2023/10/09/spotting-new-things-in-drupal-10-1 permanent -redir /archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies /daily/2023/10/10/why-use-composer-to-manage-drupal-dependencies permanent -redir /archive/2023/10/11/do-you-need-that-module /daily/2023/10/11/do-you-need-that-module permanent -redir /archive/2023/10/12/business-logic-in-template-files /daily/2023/10/12/business-logic-in-template-files permanent -redir /archive/2023/10/13/writing-tests-is-an-investment /daily/2023/10/13/writing-tests-is-an-investment permanent -redir /archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects /daily/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects permanent -redir /archive/2023/10/15/off-to-drupalcon /daily/2023/10/15/off-to-drupalcon permanent -redir /archive/2023/10/23/when-should-run-your-tests /daily/2023/10/23/when-should-run-your-tests permanent -redir /archive/2023/10/24/how-to-test-code-you-didnt-write /daily/2023/10/24/how-to-test-code-you-didnt-write permanent -redir /archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading /daily/2023/10/25/automated-tests-prevent-regressions-when-upgrading permanent -redir /archive/2023/10/26/is-decoupled-drupal-still-a-thing /daily/2023/10/26/is-decoupled-drupal-still-a-thing permanent -redir /archive/2023/10/27/work-with-me-and-support-the-drupal-association /daily/2023/10/27/work-with-me-and-support-the-drupal-association permanent -redir /archive/2023/10/28/can-you-move-faster-without-tests /daily/2023/10/28/can-you-move-faster-without-tests permanent -redir /archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea /daily/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea permanent -redir /archive/2023/10/30/is-drupal-a-cms-or-a-framework /daily/2023/10/30/is-drupal-a-cms-or-a-framework permanent -redir /archive/2023/10/31/one-official-drupal-development-environment /daily/2023/10/31/one-official-drupal-development-environment permanent -redir /archive/2023/11/01/drupal-9-is-now-end-of-life /daily/2023/11/01/drupal-9-is-now-end-of-life permanent -redir /archive/2023/11/02/is-code-coverage-an-objective-or-guideline /daily/2023/11/02/is-code-coverage-an-objective-or-guideline permanent -redir /archive/2023/11/03/why-your-company-should-contribute-to-open-source-software /daily/2023/11/03/why-your-company-should-contribute-to-open-source-software permanent -redir /archive/2023/11/04/why-you-should-contribute-to-open-source-software /daily/2023/11/04/why-you-should-contribute-to-open-source-software permanent -redir /archive/2023/11/05/i-m-starting-a-podcast /daily/2023/11/05/i-m-starting-a-podcast permanent -redir /archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded /daily/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded permanent -redir /archive/2023/11/07/it-depends /daily/2023/11/07/it-depends permanent -redir /archive/2023/11/08/building-build-configs /daily/2023/11/08/building-build-configs permanent -redir /archive/2023/11/09/readme-driven-development /daily/2023/11/09/readme-driven-development permanent -redir /archive/2023/11/10/retrofit-with-matt-glaman /daily/2023/11/10/retrofit-with-matt-glaman permanent -redir /archive/2023/11/11/work-in-small-batches /daily/2023/11/11/work-in-small-batches permanent -redir /archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box /daily/2023/11/12/drupal-gives-you-so-much-out-of-the-box permanent -redir /archive/2023/11/13/phpunit-does-more-than-unit-testing /daily/2023/11/13/phpunit-does-more-than-unit-testing permanent -redir /archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests /daily/2023/11/14/why-i-prefer-integration-tests-to-unit-tests permanent -redir /archive/2023/11/15/dont-pre-optimise-and-over-customise /daily/2023/11/15/dont-pre-optimise-and-over-customise permanent -redir /archive/2023/11/16/avoiding-over-mocking /daily/2023/11/16/avoiding-over-mocking permanent -redir /archive/2023/11/17/drupal-s-alternate-realities /daily/2023/11/17/drupal-s-alternate-realities permanent -redir /archive/2023/11/18/writing-good-test-names /daily/2023/11/18/writing-good-test-names permanent -redir /archive/2023/11/19/why-ive-standardised-on-run-scripts /daily/2023/11/19/why-ive-standardised-on-run-scripts permanent -redir /archive/2023/11/20/whatll-be-in-drupal-11 /daily/2023/11/20/whatll-be-in-drupal-11 permanent -redir /archive/2023/11/21/why-i-built-build-configs /daily/2023/11/21/why-i-built-build-configs permanent -redir /archive/2023/11/22/frequency-reduces-difficulty /daily/2023/11/22/frequency-reduces-difficulty permanent -redir /archive/2023/11/23/partial-mocking /daily/2023/11/23/partial-mocking permanent -redir /archive/2023/11/24/are-conventional-commits-worth-it /daily/2023/11/24/are-conventional-commits-worth-it permanent -redir /archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts /daily/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts permanent -redir /archive/2023/11/26/to-docblock-or-not-to-docblock /daily/2023/11/26/to-docblock-or-not-to-docblock permanent -redir /archive/2023/11/27/finding-the-best-test-base /daily/2023/11/27/finding-the-best-test-base permanent -redir /archive/2023/11/28/which-phpstan-level-should-you-use /daily/2023/11/28/which-phpstan-level-should-you-use permanent -redir /archive/2023/11/29/the-lowest-level-is-better-than-no-level /daily/2023/11/29/the-lowest-level-is-better-than-no-level permanent -redir /archive/2023/11/30/are-bugs-good-for-users /daily/2023/11/30/are-bugs-good-for-users permanent -redir /archive/2023/12/01/the-contribution-first-workflow /daily/2023/12/01/the-contribution-first-workflow permanent -redir /archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code /daily/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code permanent -redir /archive/2023/12/05/open-source-encourages-open-source /daily/2023/12/05/open-source-encourages-open-source permanent -redir /archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case /daily/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case permanent -redir /archive/2023/12/07/a-drupal-case-study-from-oxfam /daily/2023/12/07/a-drupal-case-study-from-oxfam permanent -redir /archive/2023/12/08/dont-just-rewrite /daily/2023/12/08/dont-just-rewrite permanent -redir /archive/2023/12/09/rebuild-or-iterate /daily/2023/12/09/rebuild-or-iterate permanent -redir /archive/2023/12/10/suffixing-names /daily/2023/12/10/suffixing-names permanent -redir /archive/2023/12/11/custom-coding-standards-and-conventions /daily/2023/12/11/custom-coding-standards-and-conventions permanent -redir /archive/2023/12/12/drupalcon-session-survey-results /daily/2023/12/12/drupalcon-session-survey-results permanent -redir /archive/2023/12/13/reviving-an-old-php-project /daily/2023/12/13/reviving-an-old-php-project permanent -redir /archive/2023/12/14/save-time-and-effort-with-drupal-distributions /daily/2023/12/14/save-time-and-effort-with-drupal-distributions permanent -redir /archive/2023/12/15/building-your-own-in-house-drupal-distribution /daily/2023/12/15/building-your-own-in-house-drupal-distribution permanent -redir /archive/2023/12/16/adding-snapshot-tests-to-build-configs /daily/2023/12/16/adding-snapshot-tests-to-build-configs permanent -redir /archive/2023/12/17/fail-fast-fix-fast /daily/2023/12/17/fail-fast-fix-fast permanent -redir /archive/2023/12/18/static-analysis-on-tests /daily/2023/12/18/static-analysis-on-tests permanent -redir /archive/2023/12/19/php-tui-dan-leech /daily/2023/12/19/php-tui-dan-leech permanent -redir /archive/2023/12/20/hover-focus-hocus /daily/2023/12/20/hover-focus-hocus permanent -redir /archive/2023/12/21/new-year-coaching /daily/2023/12/21/new-year-coaching permanent -redir /archive/2023/12/22/best-language-cms-or-framework /daily/2023/12/22/best-language-cms-or-framework permanent -redir /archive/2023/12/23/using-a-whole-framework-or-part-of-it /daily/2023/12/23/using-a-whole-framework-or-part-of-it permanent -redir /archive/2023/12/24/this-should-never-happen /daily/2023/12/24/this-should-never-happen permanent -redir /archive/2023/12/25/zero-to-test /daily/2023/12/25/zero-to-test permanent -redir /archive/2023/12/26/good-code-is-not-about-being-easy-to-write /daily/2023/12/26/good-code-is-not-about-being-easy-to-write permanent -redir /archive/2023/12/27/writing-new-code-is-quick-to-begin-with /daily/2023/12/27/writing-new-code-is-quick-to-begin-with permanent -redir /archive/2023/12/28/pride-and-productivity /daily/2023/12/28/pride-and-productivity permanent -redir /archive/2023/12/29/decide-automate-document /daily/2023/12/29/decide-automate-document permanent -redir /archive/2023/12/30/weve-always-done-it-this-way /daily/2023/12/30/weve-always-done-it-this-way permanent -redir /archive/2023/12/31/just /daily/2023/12/31/just permanent -redir /archive/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama /daily/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama permanent -redir /atNOQ https://youtu.be/r41dkD2EOo8 permanent -redir /automatically-updating-talk-created-date https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 permanent -redir /blog.xml /rss.xml permanent -redir /blog/10-useful-drupal-6-modules /blog/useful-drupal-6-modules permanent -redir /blog/10-years-working-full-time-drupal /blog/10-years-working-full-time-drupal-php permanent -redir /blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent -redir /blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent -redir /blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio permanent -redir /blog/2010/05/06/conditional-email-addresses-webform /blog/conditional-email-addresses-webform permanent -redir /blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile permanent -redir /blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide permanent -redir /blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module permanent -redir /blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi permanent -redir /blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue permanent -redir /blog/2010/06/25/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules permanent -redir /blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views permanent -redir /blog/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql permanent -redir /blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx permanent -redir /blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent -redir /blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql permanent -redir /blog/2010/07/12/overview-teleport-module /blog/review-teleport-module permanent -redir /blog/2010/07/12/review-teleport-module /blog/review-teleport-module permanent -redir /blog/2010/08/10/review-adminhover-module /blog/review-adminhover-module permanent -redir /blog/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent -redir /blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 permanent -redir /blog/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 permanent -redir /blog/2010/08/20/review-image-caption-module /blog/review-image-caption-module permanent -redir /blog/2010/09/26/south-wales-drupal-user-group /blog/south-wales-drupal-user-group permanent -redir /blog/2010/10/10/create-and-apply-patches /blog/create-and-apply-patches permanent -redir /blog/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3 permanent -redir /blog/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21 permanent -redir /blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate permanent -redir /blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent -redir /blog/2011/03/15/display-number-facebook-fans-php /blog/display-number-facebook-fans-php permanent -redir /blog/2011/03/31/proctor-stevenson /blog/proctor-stevenson permanent -redir /blog/2011/05/20/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup permanent -redir /blog/2011/05/23/imagefield-import-archive /blog/imagefield-import-archive permanent -redir /blog/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections permanent -redir /blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu permanent -redir /blog/2011/10/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent -redir /blog/2012/01/04/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7 permanent -redir /blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection permanent -redir /blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush permanent -redir /blog/2012/04/17/installing-nagios-centos /blog/installing-nagios-centos permanent -redir /blog/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent -redir /blog/2012/04/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 permanent -redir /blog/2012/05/23/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form permanent -redir /blog/2012/05/23/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line permanent -redir /blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess permanent -redir /blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent -redir /blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser permanent -redir /blog/2012/05/23/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme permanent -redir /blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent -redir /blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent -redir /blog/2012/07/12/my-new-drupal-modules /blog/my-new-drupal-modules permanent -redir /blog/2012/07/14/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal permanent -redir /blog/2012/07/27/writing-article-linux-journal /blog/writing-article-linux-journal permanent -redir /blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent -redir /blog/2012/07/nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal permanent -redir /blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file permanent -redir /blog/2012/09/06/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff permanent -redir /blog/2012/10/25/my-sublime-text-2-settings /blog/my-sublime-text-2-settings permanent -redir /blog/2012/11/15/accessible-bristol-site-launched /blog/accessible-bristol-site-launched permanent -redir /blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line permanent -redir /blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent -redir /blog/2012/12/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy permanent -redir /blog/2013/01/09/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way permanent -redir /blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7 permanent -redir /blog/2013/02/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent -redir /blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu permanent -redir /blog/2013/04/20/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent permanent -redir /blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent -redir /blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt permanent -redir /blog/2013/06/13/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal permanent -redir /blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled permanent -redir /blog/2013/07/26/going-drupalcon /blog/going-drupalcon permanent -redir /blog/2013/09/06/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush permanent -redir /blog/2013/09/create-zen-sub-theme-using-drush /blog/create-zen-sub-theme-using-drush permanent -redir /blog/2013/11/19/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent -redir /blog/2013/11/27/useful-vagrant-commands /blog/useful-vagrant-commands permanent -redir /blog/2013/11/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush permanent -redir /blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget permanent -redir /blog/2013/12/31/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush permanent -redir /blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent -redir /blog/2014/01/15/some-useful-git-aliases /blog/some-useful-git-aliases permanent -redir /blog/2014/02/09/drupalcamp-london-2014 /blog/drupalcamp-london-2014 permanent -redir /blog/2014/03/03/what-git-flow /blog/what-git-flow permanent -redir /blog/2014/05/03/drupal-association /blog/drupal-association permanent -redir /blog/2014/05/06/thanks /blog/thanks permanent -redir /blog/2014/05/21/git-format-patch /blog/git-format-patch permanent -redir /blog/2014/07/02/drush-make-drupalbristol /blog/drush-make-drupalbristol permanent -redir /blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine permanent -redir /blog/2014/10/21/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush permanent -redir /blog/2014/11/18/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop permanent -redir /blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module permanent -redir /blog/2014/11/27/pantheon-settings-files /blog/pantheon-settings-files permanent -redir /blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent -redir /blog/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version permanent -redir /blog/2015/06/18/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github permanent -redir /blog/2015/07/19/sculpin-twig-resources /blog/sculpin-twig-resources permanent -redir /blog/2015/07/21/automating-sculpin-jenkins /blog/automating-sculpin-jenkins permanent -redir /blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7 permanent -redir /blog/2016/02/15/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent -redir /blog/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload permanent -redir /blog/2016/07/15/building-gmail-filters-with-php /blog/building-gmail-filters-with-php permanent -redir /blog/2016/12/30/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released permanent -redir /blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts permanent -redir /blog/2017/01/31/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments permanent -redir /blog/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers permanent -redir /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent -redir /blog/2017/05/20/turning-drupal-module-into-feature /blog/turning-your-custom-drupal-module-feature permanent -redir /blog/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot permanent -redir /blog/2017/07/13/publishing-sculpin-sites-with-github-pages /blog/publishing-sculpin-sites-github-pages permanent -redir /blog/2017/11/07/tdd-test-driven-drupal /blog/tdd-test-driven-drupal permanent -redir /blog/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/tdd-test-driven-drupal permanent -redir /blog/2018/01/30/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018 permanent -redir /blog/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme permanent -redir /blog/2018/02/27/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london permanent -redir /blog/2018/02/27/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8 permanent -redir /blog/2018/02/28/building-the-new-phpsw-website /blog/building-the-new-phpsw-website permanent -redir /blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back permanent -redir /blog/2018/03/04/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london permanent -redir /blog/2018/04/23/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent -redir /blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal permanent -redir /blog/add-date-popup-calendar-custom-form /blog/how-add-date-popup-calendar-custom-form permanent -redir /blog/adding-methods-decorating-entity-metadata-wrapper /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent -redir /blog/announcing-drupal-vm-generator /blog/announcing-the-drupal-vm-generator permanent -redir /blog/announcing-the-drupal-vm-config-generator /blog/announcing-the-drupal-vm-generator permanent -redir /blog/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands permanent -redir /blog/building-gmail-filters-in-php /blog/building-gmail-filters-php permanent -redir /blog/building-new-phpsw-website /blog/building-the-new-phpsw-website permanent -redir /blog/building-presentation-slides-reveal-js-tailwind-css /blog/building-presentation-slides-rst2pdf permanent -redir /blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony permanent -redir /blog/create-and-apply-patches /blog/how-create-apply-patches permanent -redir /blog/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-views permanent -redir /blog/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 permanent -redir /blog/creating-custom-docksal-commands /blog/creating-custom-phpunit-command-docksal permanent -redir /blog/debugging-drupal-commerce-promotions-illiminate-collections /blog/debugging-drupal-commerce-illuminate-collections permanent -redir /blog/decorating-entity-metadata-wrapper-add-add-refactor-methods /blog/decorating-entity-metadata-wrapper-add-refactor-methods permanent -redir /blog/dev-book-club-refactoring-chapter-1 /blog/dev-book-club-notes-refactoring-chapter-1 permanent -redir /blog/dividing-drupals-process-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files permanent -redir /blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout permanent -redir /blog/drupal-vm-generator-291-released /blog/drupal-vm-generator-updates permanent -redir /blog/drupalcamp-london-2019-tickets /blog/drupalcamp-london-2019-tickets-available-call-sessions permanent -redir /blog/drush-make-drupalbristol /talks/drush-make-drupalbristol permanent -redir /blog/easier-git-repository-cloning-with-insteadof /blog/easier-git-repository-cloning-insteadof permanent -redir /blog/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-composer-npm-scripts permanent -redir /blog/editing-meetup-videos-kdenlive /blog/editing-meetup-videos-linux-kdenlive permanent -redir /blog/examples-of-laravel-collections-in-drupal /blog/using-laravel-collections-drupal permanent -redir /blog/experimenting-with-events-in-drupal-8 /blog/experimenting-events-drupal-8 permanent -redir /blog/fix-vagrant-loading-wrong-virtual-machine /blog/how-fix-vagrant-loading-wrong-virtual-machine permanent -redir /blog/fixing-drupal-simpletest-docker /blog/fixing-drupal-simpletest-issues-inside-docker-containers permanent -redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent -redir /blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess permanent -redir /blog/git-format-patch /blog/git-format-patch-your-friend permanent -redir /blog/how-easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website permanent -redir /blog/how-split-new-drupal-contrib-project-within-another-repository /blog/splitting-new-drupal-project-from-repo permanent -redir /blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery permanent -redir /blog/include-local-drupal-settings-file-environment-configuration-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides permanent -redir /blog/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu permanent -redir /blog/live-blogging-symfonylive-london /blog/live-blogging-symfonylive-london-2019 permanent -redir /blog/minimum-core-version /blog/how-define-minimum-drupal-core-version permanent -redir /blog/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-query-string-arguments permanent -redir /blog/null-users-and-system-users-in-drupal /blog/null-users-system-users-drupal permanent -redir /blog/overridding-phpcs-configuration-drupal-ci /blog/overriding-phpcs-configuration-drupal-ci permanent -redir /blog/pantheon-settings-files /blog/include-environment-specific-settings-files-pantheon permanent -redir /blog/pdfpc-pdf-presenter-console-notes /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console permanent -redir /blog/php-apps-subdirectory-nginx /blog/how-put-your-php-application-subdirectory-another-site-nginx permanent -redir /blog/presenting-tailwind-css-ansible-cms-philly /blog/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent -redir /blog/programmatically-load-(an-)?entityform-(in-)?drupal-7 /blog/entityform permanent -redir /blog/published-my-first-docker-images-docker-hub /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf permanent -redir /blog/publishing-sculpin-sites-(with-)?github-pages /blog/publishing-sculpin-sites-github-pages permanent -redir /blog/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-drupal-8 permanent -redir /blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm permanent -redir /blog/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget permanent -redir /blog/rebuilding-bartik-with-vuejs-tailwind-css /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css permanent -redir /blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 permanent -redir /blog/rebuilding-uis-tailwind-css /blog/uis-ive-rebuilt-tailwind-css permanent -redir /blog/restructuring-my-tailwindjs-config-files /blog/restructuring-my-tailwindjs-configuration-files permanent -redir /blog/retrieving-profile-data-user-using-entity-metadata-wrapper /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper permanent -redir /blog/running-drupal-with-symfony-local-server /blog/running-drupal-88-symfony-local-server permanent -redir /blog/running-phpunit-tests-docksal-phpstorm /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm permanent -redir /blog/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-xautoload permanent -redir /blog/speaking-drupalcon-barcelona-2020 /blog/speaking-drupalcon-europe-2020 permanent -redir /blog/speaking-during-lockdown /blog/speaking-remotely-during-covid-19 permanent -redir /blog/speaking-remotely-during-lockdown /blog/speaking-remotely-during-covid-19 permanent -redir /blog/style-drupal-6s-taxonomy-lists-php-css-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery permanent -redir /blog/survey-results-my-drupalcon-europe-session /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal permanent -redir /blog/system-users-null-users /blog/null-users-and-system-users-in-drupal permanent -redir /blog/test-driven-drupal-gitstore-leanpub /blog/test-driven-drupal-on-gitstore-leanpub permanent -redir /blog/test-driven-drupal-presentation-drupalcon-europe-0 /blog/test-driven-drupal-presentation-drupalcon-europe permanent -redir /blog/test-driven-drupal-session-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent -redir /blog/test-driven-drupal-session-video-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe permanent -redir /blog/testing-tailwind-css-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent -redir /blog/testing-tailwindcss-plugins-with-jest /blog/testing-tailwind-css-plugins-jest permanent -redir /blog/tweets-from-drupalcamp-london /blog/tweets-drupalcamp-london permanent -redir /blog/updating-features-and-adding-components-using-drush /blog/updating-features-adding-components-using-drush permanent -redir /blog/updating-forked-repositories-github /blog/updating-forked-github-repos permanent -redir /blog/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-replace-coda-or-textmate permanent -redir /blog/using-environment-variables-settings-docksal /blog/how-use-environment-variables-your-drupal-settings-docksal permanent -redir /blog/using-psr-4-autoloading-your-drupal-7-test-cases /blog/psr4-autoloading-test-cases-drupal-7 permanent -redir /blog/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-your-drupal-theme permanent -redir /blog/using-the-pcss-extension-postcss-webpack-encore /blog/using-pcss-extension-postcss-webpack-encore permanent -redir /blog/weeknotes-june-5th /blog/weeknotes-2021-06-05 permanent -redir /blog/writing-drupal-module-test-driven-development-tdd /blog/writing-new-drupal-8-module-using-test-driven-development-tdd permanent -redir /book /test-driven-drupal permanent -redir /calendars? https://savvycal.com/opdavies permanent -redir /cms-philly /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly permanent -redir /code-enigma-interview https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 permanent -redir /consulting / permanent -redir /contrib-half-hour https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F permanent -redir /cv /cv.txt permanent -redir /d0P5z /talks/drupal-8-php-libraries-drupalorg-api permanent -redir /d7 /drupal7 permanent -redir /dcbristol-cfp https://www.papercall.io/drupalcamp-bristol-2019 permanent -redir /dcbristol17-videos https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA permanent -redir /dcbristol19-announced /articles/drupalcamp-bristol-2019-speakers-sessions-announced permanent -redir /dclondon-sat https://drupalcamp.london/schedule/saturday permanent -redir /dclondon-sun https://drupalcamp.london/schedule/sunday permanent -redir /dclondon20 /articles/drupalcamp-london-testing-workshop permanent -redir /ddev-phpunit-command /blog/creating-custom-phpunit-command-ddev permanent -redir /deploying-php-ansible /talks/deploying-php-ansible-ansistrano permanent -redir /dks7E https://www.youtube.com/watch?v=PLS4ET7FAcU permanent -redir /do-library https://github.com/opdavies/drupalorg-api-php permanent -redir /do-projects https://github.com/opdavies/drupal-module-drupalorg-projects permanent -redir /docksal-phpunit-phpstorm /articles/running-phpunit-tests-docksal-phpstorm permanent -redir /docksal-posts /articles/tags/docksal permanent -redir /dransible https://github.com/opdavies/dransible permanent -redir /dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 permanent -redir /drupal-bristol-march-19 https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing permanent -redir /drupal-consultant /drupal-consulting permanent -redir /drupal-consulting / permanent -redir /drupal-core-live-stream https://www.youtube.com/watch?v=OK4FWwh1gQU permanent -redir /drupal-core-testing-gate https://www.drupal.org/core/gates#testing permanent -redir /drupal-first-time-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent -redir /drupal-forum-post http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 permanent -redir /drupal-marketplace-uk https://www.drupal.org/drupal-services?offices%5B%5D=24460 permanent -redir /drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot permanent -redir /drupal-novice-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice permanent -redir /drupal-php-developer /drupal-consultant permanent -redir /drupal-php-developer-consultant-uk /drupal-php-developer permanent -redir /drupal-tailwind-demo https://www.youtube.com/watch?v=1eM-Gw6GI4g permanent -redir /drupal-tailwindcss https://www.drupal.org/project/tailwindcss permanent -redir /drupal-vuejs /talks/decoupling-drupal-vuejs/ permanent -redir /drupal7 /drupal-upgrade permanent -redir /drupalcamp-london-2019-tickets /articles/drupalcamp-london-2019-tickets permanent -redir /drupalcamp-nyc-training https://www.youtube.com/watch?v=3M9c4UUzKm0 permanent -redir /drupalorg https://www.drupal.org/u/opdavies permanent -redir /drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D permanent -redir /drupalversary https://github.com/opdavies/drupal-module-drupalversary permanent -redir /elewant https://elewant.com/shepherd/admire/opdavies permanent -redir /feed /rss.xml permanent -redir /first-drupal-core-issue https://www.drupal.org/project/drupal/issues/753898 permanent -redir /first-npm-package https://www.npmjs.com/package/tailwindcss-vuejs permanent -redir /freeagent https://opdavies.freeagent.com permanent -redir /git-flow /talks/git-flow permanent -redir /gitlab https://gitlab.com/opdavies permanent -redir /gitstore https://enjoy.gitstore.app/maintainers/opdavies permanent -redir /gmail-filters https://gitlab.com/opdavies/gmail-filters permanent -redir /images/me-precedent.jpg /sites/default/files/images/social-avatar.jpg permanent -redir /inviqa-tailwind-demo https://play.tailwindcss.com/Yfmw8O5UNN permanent -redir /inviqa-tailwind-notes https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 permanent -redir /join-php-south-wales-slack https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA permanent -redir /jy6rW https://www.meetup.com/PHP-South-Wales/events/264731393 permanent -redir /kB6Jd /articles/running-drupal-with-symfony-local-server/ permanent -redir /kmDRA https://www.bbc.co.uk/news/uk-46561779 permanent -redir /leeds-php-drupal-9 https://www.meetup.com/leedsphp/events/272504993 permanent -redir /live https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ permanent -redir /npm https://www.npmjs.com/~opdavies permanent -redir /oFlkS /articles/test-driven-drupal-on-gitstore-leanpub permanent -redir /oliver-davies-uk-based-drupal-symfony-developer /oliver-davies-uk-based-drupal-php-developer permanent -redir /pair-programming /pair permanent -redir /pair-with-me /pair permanent -redir /pairing /pair permanent -redir /php-ansible /talks/deploying-php-ansible-ansistrano permanent -redir /presentations/building-presenting-slide-decks-rst2pdf /presentations/rst2pdf permanent -redir /presentations/building-static-websites-sculpin /presentations/sculpin permanent -redir /qSHAl /articles/published-my-first-npm-package/ permanent -redir /qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot permanent -redir /rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk permanent -redir /rebuilding-bartik /articles/rebuilding-bartik-with-vuejs-tailwind-css permanent -redir /rebuilding-bristol-js https://github.com/opdavies/rebuilding-bristol-js permanent -redir /rebuilding-pantheon https://play.tailwindcss.com/LND98XihGI?layout=horizontal permanent -redir /rebuilding-platformsh https://rebuilding-platformsh.oliverdavies.uk permanent -redir /rebuilding-symfony https://github.com/opdavies/rebuilding-symfony permanent -redir /rk29B https://www.meetup.com/PHP-South-Wales/events/268422525 permanent -redir /roadmap /drupal-upgrade permanent -redir /rss /rss.xml permanent -redir /rst2pdf /talks/building-presenting-slide-decks-rst2pdf permanent -redir /s9MjJ https://symfonycasts.com/screencast/symfony permanent -redir /sculpin /talks/building-static-websites-sculpin permanent -redir /sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 permanent -redir /sites/default/files/images/social-avatar.jpg /images/social-avatar.jpg permanent -redir /skills https://opdavies-skills-tailwindcss.netlify.com/ permanent -redir /slides-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent -redir /slides-upgrading-to-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent -redir /slides-upgrading-to-drupal-9/index.html https://slides-upgrading-to-drupal-9.oliverdavies.uk permanent -redir /slides-working-with-workspace https://slides-working-with-workspace.oliverdavies.uk permanent -redir /speaker /press permanent -redir /speaker-info /speaker permanent -redir /speaker-information /speaker permanent -redir /speaking-videos https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu permanent -redir /stream https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live permanent -redir /subscription / permanent -redir /swap-markdown-parser https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser permanent -redir /symfony https://connect.symfony.com/profile/opdavies permanent -redir /symfony-server /articles/running-drupal-with-symfony-local-server permanent -redir /symfonylive /articles/live-blogging-symfonylive-london permanent -redir /symposium https://symposiumapp.com/u/opdavies permanent -redir /tailwind-css-talk /talks/taking-flight-tailwind-css permanent -redir /tailwind-repos https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss permanent -redir /tailwind-talk /talks/taking-flight-with-tailwind-css permanent -redir /tailwindcss-demo http://tailwindcss-demo.oliverdavies.uk/ permanent -redir /talks /presentations permanent -redir /talks-offer-tweet https://twitter.com/opdavies/status/1250870367712935938 permanent -redir /talks/2012/09/05/what-is-this-drupal-thing-unified-diff /talks/what-is-this-drupal-thing permanent -redir /talks/2013/07/10/drupal-ldap-swdug /talks/drupal-ldap permanent -redir /talks/2014/03/01/git-flow-drupalcamp-london-2014 /talks/git-flow permanent -redir /talks/2014/07/02/drush-make-drupalbristol-drupal-bristol /talks/drush-make-drupalbristol permanent -redir /talks/2014/08/19/drupal-association-swdug /talks/drupal-association permanent -redir /talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015 /talks/drupalorg-in-2015-whats-coming-next permanent -redir /talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015 /talks/drupalorg-in-2015-whats-coming-next permanent -redir /talks/2015/04/08/drupal-8-phpsw /talks/drupal-8 permanent -redir /talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015 /talks/test-drive-twig-with-sculpin permanent -redir /talks/2015/08/25/dancing-for-drupal-umbristol /talks/dancing-for-drupal permanent -redir /talks/2015/10/14/sculpin-phpsw /talks/sculpin permanent -redir /talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016 /talks/getting-started-with-drupal-8-module-development permanent -redir /talks/2016/03/09/drupal-vm-generator-nwdug /talks/drupal-vm-generator permanent -redir /talks/2016/04/02/drupal-vm-generator-drupal-bristol /talks/drupal-vm-generator permanent -redir /talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016 /talks/drupal-8-rejoining-the-herd permanent -redir /talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016 /talks/drupal-vm-meet-symfony-console permanent -redir /talks/2016/11/09/drupal-development-with-composer-phpsw /talks/drupal-development-with-composer permanent -redir /talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol /talks/goodbye-drush-make-hello-composer permanent -redir /talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol /talks/getting-your-data-into-drupal-8 permanent -redir /talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017 /talks/getting-your-data-into-drupal-8 permanent -redir /talks/ansible-ansistrano https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano permanent -redir /talks/deploying-php-applications-fabric /talks/deploying-php-fabric permanent -redir /talks/deploying-php-applications-with-fabric /talks/deploying-php-fabric permanent -redir /talks/drupal-vm-generator-2 /talks/drupal-vm-generator permanent -redir /talks/drupalorg-2015-2 /talks/drupalorg-2015 permanent -redir /talks/drupalorg-in-2015-whats-coming-next /talks/drupalorg-2015 permanent -redir /talks/getting-started-with-drupal-8-module-development /drupal-8-module-development permanent -redir /talks/having-fun-drupal-8-php-libraries-drupalorg-api /talks/drupal-8-php-libraries-drupalorg-api permanent -redir /talks/never-commit-master-introduction-git-flow /talks/git-flow permanent -redir /talks/sculpin /talks/building-static-websites-sculpin permanent -redir /talks/tailwind /talks/taking-flight-with-tailwind-css/ permanent -redir /talks/taking-flight-tailwind-css /talks/taking-flight-with-tailwind-css permanent -redir /talks/using-laravel-collections-outside-laravel /talks/using-illuminate-collections-outside-laravel permanent -redir /talks/working-workspace /talks/working-with-workspace permanent -redir /tdd-blog https://github.com/opdavies/drupal-module-tdd-blog permanent -redir /tdd-test-driven-drupal /talks/tdd-test-driven-drupal/ permanent -redir /team-coaching / permanent -redir /test-driven-drupal-book /test-driven-drupal permanent -redir /testing-drupal https://www.oliverdavies.uk/talks/tdd-test-driven-drupal permanent -redir /testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction permanent -redir /testing-tailwind-plugins /articles/testing-tailwindcss-plugins-with-jest permanent -redir /testing-workshop https://github.com/opdavies/workshop-drupal-automated-testing permanent -redir /testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code permanent -redir /todoist-filters https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 permanent -redir /twitter-tweaks https://github.com/opdavies/chrome-extension-twitter-tweaks permanent -redir /upgrading-to-drupal-9 /talks/upgrading-your-site-drupal-9 permanent -redir /uxbjV https://www.drupal.org/project/copyright_block permanent -redir /vyTEF https://www.npmjs.com/package/tailwindcss-vuejs permanent -redir /webpack-encore-pcss-regex https://regexr.com/51iaf permanent -redir /wordcamp-bristol-tailwindcss https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css permanent -redir /wordpress-tailwind https://github.com/opdavies/wordcamp-bristol-2019 permanent -redir /work /drupal-php-developer permanent -redir /working-with-workspace /talks/working-with-workspace permanent -redir /workshop-drupal-testing https://github.com/opdavies/workshop-drupal-automated-testing permanent -redir /workspace-demo https://github.com/opdavies/working-with-workspace-demo permanent -redir /wp-tailwind https://wp-tailwind.oliverdavies.uk permanent -redir /wp-tailwind-repo https://github.com/opdavies/wordcamp-bristol-2019 permanent -redir /wp-tailwind-starter https://github.com/opdavies/wordpress-tailwindcss-startker-kit permanent -redir /wp-tailwind-static https://wp-tailwind.oliverdavies.uk permanent -redir /yXhoS /talks/things-you-should-know-about-php permanent diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.nix new file mode 100644 index 00000000..7d546067 --- /dev/null +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.nix @@ -0,0 +1,3066 @@ +[ + { + from = "/10-useful-drupal-6-modules-i-use-every-project"; + to = "/blog/10-useful-drupal-6-modules"; + } + { + from = "/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery"; + to = "/blog/style-drupal-6s-taxonomy-lists-php-css-jquery"; + } + { + from = "/2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio"; + to = "/blog/using-imagecache-imagecrop-my-portfolio"; + } + { + from = "/2010/05/29/importing-images-using-the-imagefieldimport-module"; + to = "/blog/quickly-import-multiples-images-using-imagefieldimport-module"; + } + { + from = "/2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue"; + to = "/blog/create-block-social-media-icons-using-cck-views-nodequeue"; + } + { + from = "/2010/07/05/thanks"; + to = "/blog/thanks"; + } + { + from = "/2010/08/17/create-a-better-photo-gallery-in-drupal-part-2"; + to = "/blog/create-better-photo-gallery-drupal-part-2"; + } + { + from = "/2014/05/21/git-format-patch"; + to = "/blog/git-format-patch-your-friend"; + } + { + from = "/2PxmyqP"; + to = "/articles/examples-of-laravel-collections-in-drupal"; + } + { + from = "/39CoG"; + to = "/articles/drupalcamp-london-testing-workshop"; + } + { + from = "/3eGQr"; + to = "https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17"; + } + { + from = "/6UhLN"; + to = "https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1"; + } + { + from = "/6i3YZ"; + to = "https://www.youtube.com/watch?v=vUK5sEbd-dk"; + } + { + from = "/9rv0Z"; + to = "https://www.drupal.org/project/override_node_options/issues/3109852"; + } + { + from = "/BhMZi"; + to = "https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203"; + } + { + from = "/NBi5h"; + to = "https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar"; + } + { + from = "/P5KQ5"; + to = "https://www.npmjs.com/package/tailwindcss-skip-link"; + } + { + from = "/S8ZDA"; + to = "/articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2"; + } + { + from = "/Wh48P"; + to = "https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig"; + } + { + from = "/XbzS2"; + to = "https://github.com/opdavies/gmail-filter-builder"; + } + { + from = "/YK1VH"; + to = "/articles/psr4-autoloading-test-cases-drupal-7"; + } + { + from = "/YilTZ$"; + to = "https://drupalcamp.london/tickets/training"; + } + { + from = "/about"; + to = "/"; + } + { + from = "/about/cv"; + to = "/cv"; + } + { + from = "/about/speaker"; + to = "/speaker"; + } + { + from = "/about/speaker-information"; + to = "/speaker-information"; + } + { + from = "/acquia-certifications"; + to = "https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All"; + } + { + from = "/acquia-certified"; + to = "https://certification.acquia.com/?fname=Oliver&lname=Davies"; + } + { + from = "/ansible"; + to = "https://galaxy.ansible.com/opdavies"; + } + { + from = "/ansible-molecule"; + to = "/articles/test-driven-ansible-role-development-molecule"; + } + { + from = "/ansistrano-code"; + to = "https://github.com/opdavies/dransible"; + } + { + from = "/ansistrano-demo"; + to = "https://www.youtube.com/watch?v=PLS4ET7FAcU"; + } + { + from = "/ansistrano-slides"; + to = "/talks/deploying-php-ansible-ansistrano"; + } + { + from = "/archive/2022-08-28/how-started-programming"; + to = "/daily/2022-08-28/how-started-programming"; + } + { + from = "/archive/2022/08/20/return-to-offline-meetups-conferences"; + to = "/daily/2022/08/20/return-to-offline-meetups-conferences"; + } + { + from = "/archive/2022/08/23/git-gui-command-line"; + to = "/daily/2022/08/23/git-gui-command-line"; + } + { + from = "/archive/2022/08/25/why-i-work-in-neovim"; + to = "/daily/2022/08/25/why-i-work-in-neovim"; + } + { + from = "/archive/2022/08/26/always-be-learning"; + to = "/daily/2022/08/26/always-be-learning"; + } + { + from = "/archive/2022/08/27/giving-back"; + to = "/daily/2022/08/27/giving-back"; + } + { + from = "/archive/2022/08/29/why-like-drupal"; + to = "/daily/2022/08/29/why-like-drupal"; + } + { + from = "/archive/2022/08/30/why-dont-only-use-drupal"; + to = "/daily/2022/08/30/why-dont-only-use-drupal"; + } + { + from = "/archive/2022/08/31/monorepo-or-not"; + to = "/daily/2022/08/31/monorepo-or-not"; + } + { + from = "/archive/2022/09/01/conventional-commits-changelogs"; + to = "/daily/2022/09/01/conventional-commits-changelogs"; + } + { + from = "/archive/2022/09/02/automating-all-the-things-with-ansible"; + to = "/daily/2022/09/02/automating-all-the-things-with-ansible"; + } + { + from = "/archive/2022/09/04/using-ansible-for-server-configuration"; + to = "/daily/2022/09/04/using-ansible-for-server-configuration"; + } + { + from = "/archive/2022/09/05/using-ansible-for-local-configuration"; + to = "/daily/2022/09/05/using-ansible-for-local-configuration"; + } + { + from = "/archive/2022/09/06/deploying-applications-with-ansible"; + to = "/daily/2022/09/06/deploying-applications-with-ansible"; + } + { + from = "/archive/2022/09/07/my-tailwind-css-origin-story"; + to = "/daily/2022/09/07/my-tailwind-css-origin-story"; + } + { + from = "/archive/2022/09/08/keeping-secrets-with-ansible-vault"; + to = "/daily/2022/09/08/keeping-secrets-with-ansible-vault"; + } + { + from = "/archive/2022/09/09/refactoring-tailwind-component"; + to = "/daily/2022/09/09/refactoring-tailwind-component"; + } + { + from = "/archive/2022/09/10/automating-ansible-deployments-ci"; + to = "/daily/2022/09/10/automating-ansible-deployments-ci"; + } + { + from = "/archive/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins"; + to = "/daily/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins"; + } + { + from = "/archive/2022/09/12/month-/daily-emails"; + to = "daily/2022/09/12/month-daily-emails"; + } + { + from = "/archive/2022/09/14/simpletest-drupal-test"; + to = "/daily/2022/09/14/simpletest-drupal-test"; + } + { + from = "/archive/2022/09/16/why-mostly-write-functional-and-integration-tests"; + to = "/daily/2022/09/16/why-mostly-write-functional-and-integration-tests"; + } + { + from = "/archive/2022/09/17/thoughts-automated-code-formatting"; + to = "/daily/2022/09/17/thoughts-automated-code-formatting"; + } + { + from = "/archive/2022/09/19/useful-git-configuration"; + to = "/daily/2022/09/19/useful-git-configuration"; + } + { + from = "/archive/2022/09/20/why-like-trunk-based-development"; + to = "/daily/2022/09/20/why-like-trunk-based-development"; + } + { + from = "/archive/2022/09/21/being-drupal-contribution-mentor"; + to = "/daily/2022/09/21/being-drupal-contribution-mentor"; + } + { + from = "/archive/2022/09/22/releasing-drupal-module-template"; + to = "/daily/2022/09/22/releasing-drupal-module-template"; + } + { + from = "/archive/2022/09/23/adrs-technical-design-documents"; + to = "/daily/2022/09/23/adrs-technical-design-documents"; + } + { + from = "/archive/2022/09/25/using-component-library-for-front-end-development"; + to = "/daily/2022/09/25/using-component-library-for-front-end-development"; + } + { + from = "/archive/2022/09/26/experimenting-with-the-nix-package-manager"; + to = "/daily/2022/09/26/experimenting-with-the-nix-package-manager"; + } + { + from = "/archive/2022/09/27/mentoring-with-drupal-career-online"; + to = "/daily/2022/09/27/mentoring-with-drupal-career-online"; + } + { + from = "/archive/2022/09/28/mob-programming-php-south-wales"; + to = "/daily/2022/09/28/mob-programming-php-south-wales"; + } + { + from = "/archive/2022/09/30/store-wars-vuejs"; + to = "/daily/2022/09/30/store-wars-vuejs"; + } + { + from = "/archive/2022/10/12/overcoming-deployment-anxiety"; + to = "/daily/2022/10/12/overcoming-deployment-anxiety"; + } + { + from = "/archive/2022/10/17/14-years-drupalorg"; + to = "/daily/2022/10/17/14-years-drupalorg"; + } + { + from = "/archive/2022/10/18/pair-mob-programming"; + to = "/daily/2022/10/18/pair-mob-programming"; + } + { + from = "/archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern"; + to = "/daily/2022/10/20/cherry-picking-commits-is-an-anti-pattern"; + } + { + from = "/archive/2022/10/20/run-vs-task-runners/?"; + to = "/archive/2022/10/19/run-vs-task-runners"; + } + { + from = "/archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same"; + to = "/daily/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same"; + } + { + from = "/archive/2022/10/24/looking-at-localgov-drupal"; + to = "/daily/2022/10/24/looking-at-localgov-drupal"; + } + { + from = "/archive/2022/10/25/what-are-drupal-distributions"; + to = "/daily/2022/10/25/what-are-drupal-distributions"; + } + { + from = "/archive/2022/10/26/neovim-as-a-personalised-development-environment"; + to = "/daily/2022/10/26/neovim-as-a-personalised-development-environment"; + } + { + from = "/archive/2022/10/27/getting-back-into-live-streaming"; + to = "/daily/2022/10/27/getting-back-into-live-streaming"; + } + { + from = "/archive/2022/10/28/why-write-framework-agnostic-packages"; + to = "/daily/2022/10/28/why-write-framework-agnostic-packages"; + } + { + from = "/archive/2022/10/29/the-open-source-first-development-workflow"; + to = "/daily/2022/10/29/the-open-source-first-development-workflow"; + } + { + from = "/archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests"; + to = "/daily/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests"; + } + { + from = "/archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment"; + to = "/daily/2022/11/08/are-sprints-incompatible-with-continuous-deployment"; + } + { + from = "/archive/2022/11/09/your-conference-talk-has-been-accepted"; + to = "/daily/2022/11/09/your-conference-talk-has-been-accepted"; + } + { + from = "/archive/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt"; + to = "/daily/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt"; + } + { + from = "/archive/2022/11/12/creating-small-proof-of-concept-application-afternoon"; + to = "/daily/2022/11/12/creating-small-proof-of-concept-application-afternoon"; + } + { + from = "/archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase"; + to = "/daily/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase"; + } + { + from = "/archive/2022/11/14/camel-case-or-snake-case-for-test-methods"; + to = "/daily/2022/11/14/camel-case-or-snake-case-for-test-methods"; + } + { + from = "/archive/2022/11/15/writing-good-automated-test-names"; + to = "/daily/2022/11/15/writing-good-automated-test-names"; + } + { + from = "/archive/2022/11/16/why-don't-you-write-automated-tests"; + to = "/daily/2022/11/16/why-don't-you-write-automated-tests"; + } + { + from = "/archive/2022/11/17/agnostic-ci-pipelines-with-run-files"; + to = "/daily/2022/11/17/agnostic-ci-pipelines-with-run-files"; + } + { + from = "/archive/2022/11/18/one-test-a-day-keeps-bugs-away"; + to = "/daily/2022/11/18/one-test-a-day-keeps-bugs-away"; + } + { + from = "/archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring"; + to = "/daily/2022/11/19/are-missing-tests-a-blocker-to-refactoring"; + } + { + from = "/archive/2022/11/20/version-controlled-commented-out-code"; + to = "/daily/2022/11/20/version-controlled-commented-out-code"; + } + { + from = "/archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code"; + to = "/daily/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code"; + } + { + from = "/archive/2022/11/22/tldr"; + to = "/daily/2022/11/22/tldr"; + } + { + from = "/archive/2022/11/23/do-you-need-to-branch"; + to = "/daily/2022/11/23/do-you-need-to-branch"; + } + { + from = "/archive/2022/11/24/doing-the-simplest-possible-thing"; + to = "/daily/2022/11/24/doing-the-simplest-possible-thing"; + } + { + from = "/archive/2022/11/25/plan-then-code"; + to = "/daily/2022/11/25/plan-then-code"; + } + { + from = "/archive/2022/11/30/ship-show-or-ask"; + to = "/daily/2022/11/30/ship-show-or-ask"; + } + { + from = "/archive/2022/12/01/writing-readable-code"; + to = "/daily/2022/12/01/writing-readable-code"; + } + { + from = "/archive/2022/12/02/commit-and-push-something-every-day"; + to = "/daily/2022/12/02/commit-and-push-something-every-day"; + } + { + from = "/archive/2022/12/03/what-to-do-with-todo-comments"; + to = "/daily/2022/12/03/what-to-do-with-todo-comments"; + } + { + from = "/archive/2022/12/04/writing-why-first-user-stories"; + to = "/daily/2022/12/04/writing-why-first-user-stories"; + } + { + from = "/archive/2022/12/05/outcomes-or-output"; + to = "/daily/2022/12/05/outcomes-or-output"; + } + { + from = "/archive/2022/12/06/should-you-comment-your-code"; + to = "/daily/2022/12/06/should-you-comment-your-code"; + } + { + from = "/archive/2022/12/07/separating-releases-from-deployments-with-feature-flags"; + to = "/daily/2022/12/07/separating-releases-from-deployments-with-feature-flags"; + } + { + from = "/archive/2022/12/08/the-decorator-design-pattern"; + to = "/daily/2022/12/08/the-decorator-design-pattern"; + } + { + from = "/archive/2022/12/09/how-and-why-i-started-using-postcss"; + to = "/daily/2022/12/09/how-and-why-i-started-using-postcss"; + } + { + from = "/archive/2022/12/10/managing-databases-with-neovim-and-docker"; + to = "/daily/2022/12/10/managing-databases-with-neovim-and-docker"; + } + { + from = "/archive/2022/12/15/happy-drupal-10-release-day"; + to = "/daily/2022/12/15/happy-drupal-10-release-day"; + } + { + from = "/archive/2022/12/20/automating-all-the-things,-including-infrastructure"; + to = "/daily/2022/12/20/automating-all-the-things,-including-infrastructure"; + } + { + from = "/archive/2022/12/21/duck-typing"; + to = "/daily/2022/12/21/duck-typing"; + } + { + from = "/archive/2022/12/22/the-boy-scout-rule"; + to = "/daily/2022/12/22/the-boy-scout-rule"; + } + { + from = "/archive/2022/12/23/speaking-at-php-stoke-and-nordevcon"; + to = "/daily/2022/12/23/speaking-at-php-stoke-and-nordevcon"; + } + { + from = "/archive/2022/12/28/debugging-gitignore-rules"; + to = "/daily/2022/12/28/debugging-gitignore-rules"; + } + { + from = "/archive/2022/12/29/what-is-the-cost-of-a-bug"; + to = "/daily/2022/12/29/what-is-the-cost-of-a-bug"; + } + { + from = "/archive/2022/12/30/tests-are-living-documentation"; + to = "/daily/2022/12/30/tests-are-living-documentation"; + } + { + from = "/archive/2022/12/31/just-start-writing"; + to = "/daily/2022/12/31/just-start-writing"; + } + { + from = "/archive/2023/01/01/types-and-static-analysis-saved-me-today"; + to = "/daily/2023/01/01/types-and-static-analysis-saved-me-today"; + } + { + from = "/archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css"; + to = "/daily/2023/01/02/dont-use-arbitrary-values-in-tailwind-css"; + } + { + from = "/archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features"; + to = "/daily/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features"; + } + { + from = "/archive/2023/01/04/testable-tailwind-css-plugins"; + to = "/daily/2023/01/04/testable-tailwind-css-plugins"; + } + { + from = "/archive/2023/01/05/adding-tailwind-to-an-existing-project"; + to = "/daily/2023/01/05/adding-tailwind-to-an-existing-project"; + } + { + from = "/archive/2023/01/06/utility-first-or-utility-last"; + to = "/daily/2023/01/06/utility-first-or-utility-last"; + } + { + from = "/archive/2023/01/07/reducing-utility-class-duplication"; + to = "/daily/2023/01/07/reducing-utility-class-duplication"; + } + { + from = "/archive/2023/01/16/back-after-php-stoke"; + to = "/daily/2023/01/16/back-after-php-stoke"; + } + { + from = "/archive/2023/01/17/things-to-know-about-php"; + to = "/daily/2023/01/17/things-to-know-about-php"; + } + { + from = "/archive/2023/01/18/drupal-turns-22"; + to = "/daily/2023/01/18/drupal-turns-22"; + } + { + from = "/archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css"; + to = "/daily/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css"; + } + { + from = "/archive/2023/01/20/tailwinds-classes-are-your-classes"; + to = "/daily/2023/01/20/tailwinds-classes-are-your-classes"; + } + { + from = "/archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes"; + to = "/daily/2023/01/21/tailwind-not-just-translating-css-to-utility-classes"; + } + { + from = "/archive/2023/01/22/building-bootstrap-css-examples-with-tailwind"; + to = "/daily/2023/01/22/building-bootstrap-css-examples-with-tailwind"; + } + { + from = "/archive/2023/01/23/debugging-with-git-bisect"; + to = "/daily/2023/01/23/debugging-with-git-bisect"; + } + { + from = "/archive/2023/01/24/small-commits-and-good-commit-messges"; + to = "/daily/2023/01/24/small-commits-and-good-commit-messges"; + } + { + from = "/archive/2023/01/25/to-squash-or-not-to-squash"; + to = "/daily/2023/01/25/to-squash-or-not-to-squash"; + } + { + from = "/archive/2023/02/07/astro-as-a-static-site-generator"; + to = "/daily/2023/02/07/astro-as-a-static-site-generator"; + } + { + from = "/archive/2023/02/08/fetching-api-data-with-astro"; + to = "/daily/2023/02/08/fetching-api-data-with-astro"; + } + { + from = "/archive/2023/02/09/creating-api-endpoints-with-astro"; + to = "/daily/2023/02/09/creating-api-endpoints-with-astro"; + } + { + from = "/archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup"; + to = "/daily/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup"; + } + { + from = "/archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10"; + to = "/daily/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10"; + } + { + from = "/archive/2023/02/18/drupal-10-version-of-override-node-options"; + to = "/daily/2023/02/18/drupal-10-version-of-override-node-options"; + } + { + from = "/archive/2023/02/19/clients-dont-care-which-design-pattern-you-use"; + to = "/daily/2023/02/19/clients-dont-care-which-design-pattern-you-use"; + } + { + from = "/archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components"; + to = "/daily/2023/02/20/tailwind-why-i-prefer-to-extract-html-components"; + } + { + from = "/archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference"; + to = "/daily/2023/03/01/tailwind-css-at-the-norfolk-developer-conference"; + } + { + from = "/archive/2023/03/02/busy-working-on-client-projects"; + to = "/daily/2023/03/02/busy-working-on-client-projects"; + } + { + from = "/archive/2023/03/03/adding-a-localgov-drupal-example"; + to = "/daily/2023/03/03/adding-a-localgov-drupal-example"; + } + { + from = "/archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files"; + to = "/daily/2023/03/04/why-i-built-a-tool-to-generate-configuration-files"; + } + { + from = "/archive/2023/03/05/mentoring-for-school-of-code"; + to = "/daily/2023/03/05/mentoring-for-school-of-code"; + } + { + from = "/archive/2023/03/08/automating-infrastructure-with-iac"; + to = "/daily/2023/03/08/automating-infrastructure-with-iac"; + } + { + from = "/archive/2023/03/09/in-what-language-should-i-write-my-automation"; + to = "/daily/2023/03/09/in-what-language-should-i-write-my-automation"; + } + { + from = "/archive/2023/03/13/what-problem-am-i-trying-to-solve"; + to = "/daily/2023/03/13/what-problem-am-i-trying-to-solve"; + } + { + from = "/archive/2023/03/14/automating-all-the-things"; + to = "/daily/2023/03/14/automating-all-the-things"; + } + { + from = "/archive/2023/03/15/the-benefits-of-automation"; + to = "/daily/2023/03/15/the-benefits-of-automation"; + } + { + from = "/archive/2023/03/21/there-isnt-a-tailwind-looking-site"; + to = "/daily/2023/03/21/there-isnt-a-tailwind-looking-site"; + } + { + from = "/archive/2023/03/22/with-utility-styles-your-css-stops-growing"; + to = "/daily/2023/03/22/with-utility-styles-your-css-stops-growing"; + } + { + from = "/archive/2023/03/27/software-development-solving-problems-and-adding-value"; + to = "/daily/2023/03/27/software-development-solving-problems-and-adding-value"; + } + { + from = "/archive/2023/04/07/speaking-at-php-london"; + to = "/daily/2023/04/07/speaking-at-php-london"; + } + { + from = "/archive/2023/04/08/why-i-use-tmux"; + to = "/daily/2023/04/08/why-i-use-tmux"; + } + { + from = "/archive/2023/04/09/nix-nixos-home-manager-and-wsl2"; + to = "/daily/2023/04/09/nix-nixos-home-manager-and-wsl2"; + } + { + from = "/archive/2023/04/10/how-i-use-neovim-for-writing-php"; + to = "/daily/2023/04/10/how-i-use-neovim-for-writing-php"; + } + { + from = "/archive/2023/04/11/just-vs-make"; + to = "/daily/2023/04/11/just-vs-make"; + } + { + from = "/archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties"; + to = "/daily/2023/04/12/cleaner-php-code-with-promoted-constructor-properties"; + } + { + from = "/archive/2023/04/13/immutable-read-only-properties-in-php-8-1"; + to = "/daily/2023/04/13/immutable-read-only-properties-in-php-8-1"; + } + { + from = "/archive/2023/04/14/data-transfer-objects-and-value-objects"; + to = "/daily/2023/04/14/data-transfer-objects-and-value-objects"; + } + { + from = "/archive/2023/04/15/automatically-running-commands-with-nodemon"; + to = "/daily/2023/04/15/automatically-running-commands-with-nodemon"; + } + { + from = "/archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2"; + to = "/daily/2023/04/16/refactoring-with-readonly-classes-in-php-8-2"; + } + { + from = "/archive/2023/04/17/introducing-feature-flags-to-build-configs"; + to = "/daily/2023/04/17/introducing-feature-flags-to-build-configs"; + } + { + from = "/archive/2023/04/18/consistency-is-key"; + to = "/daily/2023/04/18/consistency-is-key"; + } + { + from = "/archive/2023/04/19/camel-case-or-snake-case-for-drupal-code"; + to = "/daily/2023/04/19/camel-case-or-snake-case-for-drupal-code"; + } + { + from = "/archive/2023/04/20/micro-refactorings"; + to = "/daily/2023/04/20/micro-refactorings"; + } + { + from = "/archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible"; + to = "/daily/2023/04/21/making-my-drupal-module-template-drupal-10-compatible"; + } + { + from = "/archive/2023/04/22/build-configs-as-a-service"; + to = "/daily/2023/04/22/build-configs-as-a-service"; + } + { + from = "/archive/2023/04/23/laravel-pipelines"; + to = "/daily/2023/04/23/laravel-pipelines"; + } + { + from = "/archive/2023/04/24/ci-pipelines-should-start-locally"; + to = "/daily/2023/04/24/ci-pipelines-should-start-locally"; + } + { + from = "/archive/2023/04/25/shortening-the-feedback-loop-even-more"; + to = "/daily/2023/04/25/shortening-the-feedback-loop-even-more"; + } + { + from = "/archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first"; + to = "/daily/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first"; + } + { + from = "/archive/2023/04/27/tdd-write-the-test-backwards"; + to = "/daily/2023/04/27/tdd-write-the-test-backwards"; + } + { + from = "/archive/2023/04/30/will-we-see-drupal-7-100"; + to = "/daily/2023/04/30/will-we-see-drupal-7-100"; + } + { + from = "/archive/2023/05/01/should-drupal-7-support-be-extended-again"; + to = "/daily/2023/05/01/should-drupal-7-support-be-extended-again"; + } + { + from = "/archive/2023/05/02/does-it-depend-on-who-you-ask"; + to = "/daily/2023/05/02/does-it-depend-on-who-you-ask"; + } + { + from = "/archive/2023/05/03/just-because-core-is-supported"; + to = "/daily/2023/05/03/just-because-core-is-supported"; + } + { + from = "/archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london"; + to = "/daily/2023/05/04/speaking-at-the-symfony-uk-meetup-london"; + } + { + from = "/archive/2023/05/05/getting-to-green"; + to = "/daily/2023/05/05/getting-to-green"; + } + { + from = "/archive/2023/05/06/why-its-important-to-see-the-test-fail"; + to = "/daily/2023/05/06/why-its-important-to-see-the-test-fail"; + } + { + from = "/archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next"; + to = "/daily/2023/05/07/you-dont-need-to-think-about-what-to-do-next"; + } + { + from = "/archive/2023/05/08/only-write-enough-code-to-get-a-failing-test"; + to = "/daily/2023/05/08/only-write-enough-code-to-get-a-failing-test"; + } + { + from = "/archive/2023/05/09/the-single-responsibility-principle"; + to = "/daily/2023/05/09/the-single-responsibility-principle"; + } + { + from = "/archive/2023/05/10/tailwind-css-makes-change-easier"; + to = "/daily/2023/05/10/tailwind-css-makes-change-easier"; + } + { + from = "/archive/2023/05/11/why-i-like-pair-and-mob-programming"; + to = "/daily/2023/05/11/why-i-like-pair-and-mob-programming"; + } + { + from = "/archive/2023/05/12/always-listen-to-the-mob"; + to = "/daily/2023/05/12/always-listen-to-the-mob"; + } + { + from = "/archive/2023/05/13/when-you-do-things-right"; + to = "/daily/2023/05/13/when-you-do-things-right"; + } + { + from = "/archive/2023/05/14/releasing-small-changes-often-is-less-risky"; + to = "/daily/2023/05/14/releasing-small-changes-often-is-less-risky"; + } + { + from = "/archive/2023/05/15/is-the-drupal-release-cycle-too-fast"; + to = "/daily/2023/05/15/is-the-drupal-release-cycle-too-fast"; + } + { + from = "/archive/2023/05/16/mastering-your-tools-improves-productivity"; + to = "/daily/2023/05/16/mastering-your-tools-improves-productivity"; + } + { + from = "/archive/2023/05/17/what-is-deprecated-code"; + to = "/daily/2023/05/17/what-is-deprecated-code"; + } + { + from = "/archive/2023/05/18/why-is-backward-compatibility-important"; + to = "/daily/2023/05/18/why-is-backward-compatibility-important"; + } + { + from = "/archive/2023/05/19/semantic-versioning"; + to = "/daily/2023/05/19/semantic-versioning"; + } + { + from = "/archive/2023/05/20/a-minor-breaking-change"; + to = "/daily/2023/05/20/a-minor-breaking-change"; + } + { + from = "/archive/2023/05/21/drupal-9-almost-end-of-life-already"; + to = "/daily/2023/05/21/drupal-9-almost-end-of-life-already"; + } + { + from = "/archive/2023/06/05/how-long-should-a-feature-flag-live"; + to = "/daily/2023/06/05/how-long-should-a-feature-flag-live"; + } + { + from = "/archive/2023/06/06/drupal-7-end-of-life-extended"; + to = "/daily/2023/06/06/drupal-7-end-of-life-extended"; + } + { + from = "/archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you"; + to = "/daily/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you"; + } + { + from = "/archive/2023/06/08/write-less-drupal-code"; + to = "/daily/2023/06/08/write-less-drupal-code"; + } + { + from = "/archive/2023/06/09/drupal-is-built-by-people"; + to = "/daily/2023/06/09/drupal-is-built-by-people"; + } + { + from = "/archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag"; + to = "/daily/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag"; + } + { + from = "/archive/2023/06/11/failing-fast"; + to = "/daily/2023/06/11/failing-fast"; + } + { + from = "/archive/2023/06/12/feature-flags-in-a-multi-tenancy-application"; + to = "/daily/2023/06/12/feature-flags-in-a-multi-tenancy-application"; + } + { + from = "/archive/2023/06/13/should-you-feature-flag-everything"; + to = "/daily/2023/06/13/should-you-feature-flag-everything"; + } + { + from = "/archive/2023/06/14/what-if-there-was-no-open-source-software"; + to = "/daily/2023/06/14/what-if-there-was-no-open-source-software"; + } + { + from = "/archive/2023/06/15/done-is-better-than-perfect"; + to = "/daily/2023/06/15/done-is-better-than-perfect"; + } + { + from = "/archive/2023/06/16/make-the-easy-change"; + to = "/daily/2023/06/16/make-the-easy-change"; + } + { + from = "/archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development"; + to = "/daily/2023/06/17/avoid-git-merge-hell-with-trunk-based-development"; + } + { + from = "/archive/2023/06/18/are-you-doing-ci-cd"; + to = "/daily/2023/06/18/are-you-doing-ci-cd"; + } + { + from = "/archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10"; + to = "/daily/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10"; + } + { + from = "/archive/2023/06/20/should-you-deploy-on-a-friday"; + to = "/daily/2023/06/20/should-you-deploy-on-a-friday"; + } + { + from = "/archive/2023/06/21/deployments-or-releases"; + to = "/daily/2023/06/21/deployments-or-releases"; + } + { + from = "/archive/2023/06/22/fail-to-lear"; + to = "/daily/2023/06/22/fail-to-lear"; + } + { + from = "/archive/2023/06/23/why-keep-a-changelog"; + to = "/daily/2023/06/23/why-keep-a-changelog"; + } + { + from = "/archive/2023/06/24/credited-on-200-fixed-issues"; + to = "/daily/2023/06/24/credited-on-200-fixed-issues"; + } + { + from = "/archive/2023/06/25/do-you-need-permission-test-driven-development"; + to = "/daily/2023/06/25/do-you-need-permission-test-driven-development"; + } + { + from = "/archive/2023/06/26/is-any-code-without-tests-legacy"; + to = "/daily/2023/06/26/is-any-code-without-tests-legacy"; + } + { + from = "/archive/2023/06/27/ci-pipeline-additional-team-member"; + to = "/daily/2023/06/27/ci-pipeline-additional-team-member"; + } + { + from = "/archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline"; + to = "/daily/2023/06/28/theres-no-value-in-a-broken-ci-pipeline"; + } + { + from = "/archive/2023/06/29/tests-wont-tell-you-if-your-code-works"; + to = "/daily/2023/06/29/tests-wont-tell-you-if-your-code-works"; + } + { + from = "/archive/2023/06/30/how-did-you-learn-automated-testing"; + to = "/daily/2023/06/30/how-did-you-learn-automated-testing"; + } + { + from = "/archive/2023/07/01/once-you-start-writing-tests-you-cant-stop"; + to = "/daily/2023/07/01/once-you-start-writing-tests-you-cant-stop"; + } + { + from = "/archive/2023/07/02/docker-or-nix"; + to = "/daily/2023/07/02/docker-or-nix"; + } + { + from = "/archive/2023/07/03/why-write-custom-assertions-in-your-tests"; + to = "/daily/2023/07/03/why-write-custom-assertions-in-your-tests"; + } + { + from = "/archive/2023/07/04/think-smaller-with-tdd"; + to = "/daily/2023/07/04/think-smaller-with-tdd"; + } + { + from = "/archive/2023/07/05/services-vs-actions"; + to = "/daily/2023/07/05/services-vs-actions"; + } + { + from = "/archive/2023/07/06/automated-testing-is-more-than-just-unit-testing"; + to = "/daily/2023/07/06/automated-testing-is-more-than-just-unit-testing"; + } + { + from = "/archive/2023/07/15/test-driven-development-makes-you-more-productive"; + to = "/daily/2023/07/15/test-driven-development-makes-you-more-productive"; + } + { + from = "/archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code"; + to = "/daily/2023/07/16/when-writing-a-failing-test-youre-designing-your-code"; + } + { + from = "/archive/2023/07/17/too-many-choices"; + to = "/daily/2023/07/17/too-many-choices"; + } + { + from = "/archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult"; + to = "/daily/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult"; + } + { + from = "/archive/2023/07/19/tdd-is-like-clicker-training"; + to = "/daily/2023/07/19/tdd-is-like-clicker-training"; + } + { + from = "/archive/2023/07/20/tests-as-communication"; + to = "/daily/2023/07/20/tests-as-communication"; + } + { + from = "/archive/2023/07/21/comments-as-communication"; + to = "/daily/2023/07/21/comments-as-communication"; + } + { + from = "/archive/2023/07/22/more-code-more-problems"; + to = "/daily/2023/07/22/more-code-more-problems"; + } + { + from = "/archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler"; + to = "/daily/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler"; + } + { + from = "/archive/2023/07/24/testing-is-all-about-confidence"; + to = "/daily/2023/07/24/testing-is-all-about-confidence"; + } + { + from = "/archive/2023/07/25/working-backwards"; + to = "/daily/2023/07/25/working-backwards"; + } + { + from = "/archive/2023/07/26/prove-the-concept"; + to = "/daily/2023/07/26/prove-the-concept"; + } + { + from = "/archive/2023/07/27/stick-to-conventions"; + to = "/daily/2023/07/27/stick-to-conventions"; + } + { + from = "/archive/2023/07/28/generic-commit-messages"; + to = "/daily/2023/07/28/generic-commit-messages"; + } + { + from = "/archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7"; + to = "/daily/2023/07/29/should-i-wait-to-upgrade-from-drupal-7"; + } + { + from = "/archive/2023/07/30/commit-often-deploy-often"; + to = "/daily/2023/07/30/commit-often-deploy-often"; + } + { + from = "/archive/2023/07/31/upgrading-from-drupal-9-is-easier"; + to = "/daily/2023/07/31/upgrading-from-drupal-9-is-easier"; + } + { + from = "/archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites"; + to = "/daily/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites"; + } + { + from = "/archive/2023/08/02/a-crash-course-into-drupal-testing"; + to = "/daily/2023/08/02/a-crash-course-into-drupal-testing"; + } + { + from = "/archive/2023/08/03/what-problem-are-we-trying-to-solve"; + to = "/daily/2023/08/03/what-problem-are-we-trying-to-solve"; + } + { + from = "/archive/2023/08/04/laravel-prompts"; + to = "/daily/2023/08/04/laravel-prompts"; + } + { + from = "/archive/2023/08/05/use-drupal-to-own-your-content"; + to = "/daily/2023/08/05/use-drupal-to-own-your-content"; + } + { + from = "/archive/2023/08/06/yagni"; + to = "/daily/2023/08/06/yagni"; + } + { + from = "/archive/2023/08/07/tests-make-upgrades-less-risky"; + to = "/daily/2023/08/07/tests-make-upgrades-less-risky"; + } + { + from = "/archive/2023/08/08/8-years-of-dotfiles"; + to = "/daily/2023/08/08/8-years-of-dotfiles"; + } + { + from = "/archive/2023/08/09/vim-is-my-lightsaber"; + to = "/daily/2023/08/09/vim-is-my-lightsaber"; + } + { + from = "/archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees"; + to = "/daily/2023/08/10/testing-fixed-prices-and-bug-free-guarantees"; + } + { + from = "/archive/2023/08/11/everyone-tests-their-code"; + to = "/daily/2023/08/11/everyone-tests-their-code"; + } + { + from = "/archive/2023/08/12/does-not-writing-tests-actually-save-time"; + to = "/daily/2023/08/12/does-not-writing-tests-actually-save-time"; + } + { + from = "/archive/2023/08/13/dont-estimate-separately-for-testing"; + to = "/daily/2023/08/13/dont-estimate-separately-for-testing"; + } + { + from = "/archive/2023/08/14/why-keep-a-dotfiles-repository"; + to = "/daily/2023/08/14/why-keep-a-dotfiles-repository"; + } + { + from = "/archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task"; + to = "/daily/2023/08/15/writing-test-and-implementation-code-are-the-same-task"; + } + { + from = "/archive/2023/08/16/writing-tests-in-your-own-time"; + to = "/daily/2023/08/16/writing-tests-in-your-own-time"; + } + { + from = "/archive/2023/08/17/writing-custom-assertions-in-your-tests"; + to = "/daily/2023/08/17/writing-custom-assertions-in-your-tests"; + } + { + from = "/archive/2023/08/18/types-vs-tests"; + to = "/daily/2023/08/18/types-vs-tests"; + } + { + from = "/archive/2023/08/19/asserting-all-the-things"; + to = "/daily/2023/08/19/asserting-all-the-things"; + } + { + from = "/archive/2023/08/20/php-types-and-assertions"; + to = "/daily/2023/08/20/php-types-and-assertions"; + } + { + from = "/archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value"; + to = "/daily/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value"; + } + { + from = "/archive/2023/08/22/deployments-with-your-ci-pipeline"; + to = "/daily/2023/08/22/deployments-with-your-ci-pipeline"; + } + { + from = "/archive/2023/08/23/dont-use-third-party-services-directly"; + to = "/daily/2023/08/23/dont-use-third-party-services-directly"; + } + { + from = "/archive/2023/08/24/testing-multiple-implementations-with-contract-tests"; + to = "/daily/2023/08/24/testing-multiple-implementations-with-contract-tests"; + } + { + from = "/archive/2023/08/25/start-with-a-vague-test"; + to = "/daily/2023/08/25/start-with-a-vague-test"; + } + { + from = "/archive/2023/08/26/work-in-small-chunks"; + to = "/daily/2023/08/26/work-in-small-chunks"; + } + { + from = "/archive/2023/08/27/pull-requests-are-great-for-open-source"; + to = "/daily/2023/08/27/pull-requests-are-great-for-open-source"; + } + { + from = "/archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review"; + to = "/daily/2023/08/28/pair-and-mob-programming-are-continuous-code-review"; + } + { + from = "/archive/2023/08/29/ci-pipelines-are-an-automated-code-review"; + to = "/daily/2023/08/29/ci-pipelines-are-an-automated-code-review"; + } + { + from = "/archive/2023/08/30/tdd-and-unexpected-errors"; + to = "/daily/2023/08/30/tdd-and-unexpected-errors"; + } + { + from = "/archive/2023/08/31/code-review-discourages-small-refactorings"; + to = "/daily/2023/08/31/code-review-discourages-small-refactorings"; + } + { + from = "/archive/2023/09/01/non-blocking-code-reviews"; + to = "/daily/2023/09/01/non-blocking-code-reviews"; + } + { + from = "/archive/2023/09/02/planning-first-or-reviewing-last"; + to = "/daily/2023/09/02/planning-first-or-reviewing-last"; + } + { + from = "/archive/2023/09/03/including-time-for-tests-in-estimates"; + to = "/daily/2023/09/03/including-time-for-tests-in-estimates"; + } + { + from = "/archive/2023/09/04/charging-more-not-to-write-tests"; + to = "/daily/2023/09/04/charging-more-not-to-write-tests"; + } + { + from = "/archive/2023/09/05/spring-clean-before-upgrading"; + to = "/daily/2023/09/05/spring-clean-before-upgrading"; + } + { + from = "/archive/2023/09/06/verbosity-over-abstraction"; + to = "/daily/2023/09/06/verbosity-over-abstraction"; + } + { + from = "/archive/2023/09/07/what-s-the-simplest-test-to-begin-with"; + to = "/daily/2023/09/07/what-s-the-simplest-test-to-begin-with"; + } + { + from = "/archive/2023/09/08/do-you-proactively-refactor-your-code"; + to = "/daily/2023/09/08/do-you-proactively-refactor-your-code"; + } + { + from = "/archive/2023/09/09/a-lack-of-tests-discourages-refactoring"; + to = "/daily/2023/09/09/a-lack-of-tests-discourages-refactoring"; + } + { + from = "/archive/2023/09/10/code-is-read-more-than-it-s-written"; + to = "/daily/2023/09/10/code-is-read-more-than-it-s-written"; + } + { + from = "/archive/2023/09/11/dont-use-else"; + to = "/daily/2023/09/11/dont-use-else"; + } + { + from = "/archive/2023/09/12/dont-inject-too-many-dependencies"; + to = "/daily/2023/09/12/dont-inject-too-many-dependencies"; + } + { + from = "/archive/2023/09/13/which-type-of-test-should-i-use"; + to = "/daily/2023/09/13/which-type-of-test-should-i-use"; + } + { + from = "/archive/2023/09/14/outside-in-or-inside-out"; + to = "/daily/2023/09/14/outside-in-or-inside-out"; + } + { + from = "/archive/2023/09/15/types-or-no-types"; + to = "/daily/2023/09/15/types-or-no-types"; + } + { + from = "/archive/2023/09/16/how-not-to-break-36-000-websites"; + to = "/daily/2023/09/16/how-not-to-break-36-000-websites"; + } + { + from = "/archive/2023/09/17/how-much-refactoring-should-i-be-doing"; + to = "/daily/2023/09/17/how-much-refactoring-should-i-be-doing"; + } + { + from = "/archive/2023/09/18/increasing-test-coverage-with-regression-tests"; + to = "/daily/2023/09/18/increasing-test-coverage-with-regression-tests"; + } + { + from = "/archive/2023/09/19/stop-writing-tests"; + to = "/daily/2023/09/19/stop-writing-tests"; + } + { + from = "/archive/2023/09/20/why-i-prefer-types"; + to = "/daily/2023/09/20/why-i-prefer-types"; + } + { + from = "/archive/2023/09/21/buggy-software-causes-reputational-damage"; + to = "/daily/2023/09/21/buggy-software-causes-reputational-damage"; + } + { + from = "/archive/2023/09/22/documentation-and-comments-get-stale"; + to = "/daily/2023/09/22/documentation-and-comments-get-stale"; + } + { + from = "/archive/2023/09/23/not-everyone-writes-automated-tests"; + to = "/daily/2023/09/23/not-everyone-writes-automated-tests"; + } + { + from = "/archive/2023/09/24/test-to-save-your-job"; + to = "/daily/2023/09/24/test-to-save-your-job"; + } + { + from = "/archive/2023/09/25/should-you-use-a-staging-environment"; + to = "/daily/2023/09/25/should-you-use-a-staging-environment"; + } + { + from = "/archive/2023/09/26/which-branch-should-be-in-which-environment"; + to = "/daily/2023/09/26/which-branch-should-be-in-which-environment"; + } + { + from = "/archive/2023/09/27/separating-environments-with-feature-flags"; + to = "/daily/2023/09/27/separating-environments-with-feature-flags"; + } + { + from = "/archive/2023/09/28/feature-flags-enable-continuous-integration"; + to = "/daily/2023/09/28/feature-flags-enable-continuous-integration"; + } + { + from = "/archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions"; + to = "/daily/2023/09/29/92-changed-files-with-885-additions-and-156-deletions"; + } + { + from = "/archive/2023/09/30/automated-testing-offers-repeatability"; + to = "/daily/2023/09/30/automated-testing-offers-repeatability"; + } + { + from = "/archive/2023/10/01/tdd--repeat-and-refactor"; + to = "/daily/2023/10/01/tdd--repeat-and-refactor"; + } + { + from = "/archive/2023/10/02/only-comment-what-needs-to-be-commented"; + to = "/daily/2023/10/02/only-comment-what-needs-to-be-commented"; + } + { + from = "/archive/2023/10/03/there-is-no-perfect-solution"; + to = "/daily/2023/10/03/there-is-no-perfect-solution"; + } + { + from = "/archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass"; + to = "/daily/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass"; + } + { + from = "/archive/2023/10/05/some-solutions-are-good-enough"; + to = "/daily/2023/10/05/some-solutions-are-good-enough"; + } + { + from = "/archive/2023/10/06/software-development-is-like-going-to-the-dentist"; + to = "/daily/2023/10/06/software-development-is-like-going-to-the-dentist"; + } + { + from = "/archive/2023/10/07/a-breakdown-of-tests-from-a-current-project"; + to = "/daily/2023/10/07/a-breakdown-of-tests-from-a-current-project"; + } + { + from = "/archive/2023/10/08/is-test-driven-development-difficult"; + to = "/daily/2023/10/08/is-test-driven-development-difficult"; + } + { + from = "/archive/2023/10/09/spotting-new-things-in-drupal-10-1"; + to = "/daily/2023/10/09/spotting-new-things-in-drupal-10-1"; + } + { + from = "/archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies"; + to = "/daily/2023/10/10/why-use-composer-to-manage-drupal-dependencies"; + } + { + from = "/archive/2023/10/11/do-you-need-that-module"; + to = "/daily/2023/10/11/do-you-need-that-module"; + } + { + from = "/archive/2023/10/12/business-logic-in-template-files"; + to = "/daily/2023/10/12/business-logic-in-template-files"; + } + { + from = "/archive/2023/10/13/writing-tests-is-an-investment"; + to = "/daily/2023/10/13/writing-tests-is-an-investment"; + } + { + from = "/archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects"; + to = "/daily/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects"; + } + { + from = "/archive/2023/10/15/off-to-drupalcon"; + to = "/daily/2023/10/15/off-to-drupalcon"; + } + { + from = "/archive/2023/10/23/when-should-run-your-tests"; + to = "/daily/2023/10/23/when-should-run-your-tests"; + } + { + from = "/archive/2023/10/24/how-to-test-code-you-didnt-write"; + to = "/daily/2023/10/24/how-to-test-code-you-didnt-write"; + } + { + from = "/archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading"; + to = "/daily/2023/10/25/automated-tests-prevent-regressions-when-upgrading"; + } + { + from = "/archive/2023/10/26/is-decoupled-drupal-still-a-thing"; + to = "/daily/2023/10/26/is-decoupled-drupal-still-a-thing"; + } + { + from = "/archive/2023/10/27/work-with-me-and-support-the-drupal-association"; + to = "/daily/2023/10/27/work-with-me-and-support-the-drupal-association"; + } + { + from = "/archive/2023/10/28/can-you-move-faster-without-tests"; + to = "/daily/2023/10/28/can-you-move-faster-without-tests"; + } + { + from = "/archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea"; + to = "/daily/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea"; + } + { + from = "/archive/2023/10/30/is-drupal-a-cms-or-a-framework"; + to = "/daily/2023/10/30/is-drupal-a-cms-or-a-framework"; + } + { + from = "/archive/2023/10/31/one-official-drupal-development-environment"; + to = "/daily/2023/10/31/one-official-drupal-development-environment"; + } + { + from = "/archive/2023/11/01/drupal-9-is-now-end-of-life"; + to = "/daily/2023/11/01/drupal-9-is-now-end-of-life"; + } + { + from = "/archive/2023/11/02/is-code-coverage-an-objective-or-guideline"; + to = "/daily/2023/11/02/is-code-coverage-an-objective-or-guideline"; + } + { + from = "/archive/2023/11/03/why-your-company-should-contribute-to-open-source-software"; + to = "/daily/2023/11/03/why-your-company-should-contribute-to-open-source-software"; + } + { + from = "/archive/2023/11/04/why-you-should-contribute-to-open-source-software"; + to = "/daily/2023/11/04/why-you-should-contribute-to-open-source-software"; + } + { + from = "/archive/2023/11/05/i-m-starting-a-podcast"; + to = "/daily/2023/11/05/i-m-starting-a-podcast"; + } + { + from = "/archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded"; + to = "/daily/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded"; + } + { + from = "/archive/2023/11/07/it-depends"; + to = "/daily/2023/11/07/it-depends"; + } + { + from = "/archive/2023/11/08/building-build-configs"; + to = "/daily/2023/11/08/building-build-configs"; + } + { + from = "/archive/2023/11/09/readme-driven-development"; + to = "/daily/2023/11/09/readme-driven-development"; + } + { + from = "/archive/2023/11/10/retrofit-with-matt-glaman"; + to = "/daily/2023/11/10/retrofit-with-matt-glaman"; + } + { + from = "/archive/2023/11/11/work-in-small-batches"; + to = "/daily/2023/11/11/work-in-small-batches"; + } + { + from = "/archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box"; + to = "/daily/2023/11/12/drupal-gives-you-so-much-out-of-the-box"; + } + { + from = "/archive/2023/11/13/phpunit-does-more-than-unit-testing"; + to = "/daily/2023/11/13/phpunit-does-more-than-unit-testing"; + } + { + from = "/archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests"; + to = "/daily/2023/11/14/why-i-prefer-integration-tests-to-unit-tests"; + } + { + from = "/archive/2023/11/15/dont-pre-optimise-and-over-customise"; + to = "/daily/2023/11/15/dont-pre-optimise-and-over-customise"; + } + { + from = "/archive/2023/11/16/avoiding-over-mocking"; + to = "/daily/2023/11/16/avoiding-over-mocking"; + } + { + from = "/archive/2023/11/17/drupal-s-alternate-realities"; + to = "/daily/2023/11/17/drupal-s-alternate-realities"; + } + { + from = "/archive/2023/11/18/writing-good-test-names"; + to = "/daily/2023/11/18/writing-good-test-names"; + } + { + from = "/archive/2023/11/19/why-ive-standardised-on-run-scripts"; + to = "/daily/2023/11/19/why-ive-standardised-on-run-scripts"; + } + { + from = "/archive/2023/11/20/whatll-be-in-drupal-11"; + to = "/daily/2023/11/20/whatll-be-in-drupal-11"; + } + { + from = "/archive/2023/11/21/why-i-built-build-configs"; + to = "/daily/2023/11/21/why-i-built-build-configs"; + } + { + from = "/archive/2023/11/22/frequency-reduces-difficulty"; + to = "/daily/2023/11/22/frequency-reduces-difficulty"; + } + { + from = "/archive/2023/11/23/partial-mocking"; + to = "/daily/2023/11/23/partial-mocking"; + } + { + from = "/archive/2023/11/24/are-conventional-commits-worth-it"; + to = "/daily/2023/11/24/are-conventional-commits-worth-it"; + } + { + from = "/archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts"; + to = "/daily/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts"; + } + { + from = "/archive/2023/11/26/to-docblock-or-not-to-docblock"; + to = "/daily/2023/11/26/to-docblock-or-not-to-docblock"; + } + { + from = "/archive/2023/11/27/finding-the-best-test-base"; + to = "/daily/2023/11/27/finding-the-best-test-base"; + } + { + from = "/archive/2023/11/28/which-phpstan-level-should-you-use"; + to = "/daily/2023/11/28/which-phpstan-level-should-you-use"; + } + { + from = "/archive/2023/11/29/the-lowest-level-is-better-than-no-level"; + to = "/daily/2023/11/29/the-lowest-level-is-better-than-no-level"; + } + { + from = "/archive/2023/11/30/are-bugs-good-for-users"; + to = "/daily/2023/11/30/are-bugs-good-for-users"; + } + { + from = "/archive/2023/12/01/the-contribution-first-workflow"; + to = "/daily/2023/12/01/the-contribution-first-workflow"; + } + { + from = "/archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code"; + to = "/daily/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code"; + } + { + from = "/archive/2023/12/05/open-source-encourages-open-source"; + to = "/daily/2023/12/05/open-source-encourages-open-source"; + } + { + from = "/archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case"; + to = "/daily/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case"; + } + { + from = "/archive/2023/12/07/a-drupal-case-study-from-oxfam"; + to = "/daily/2023/12/07/a-drupal-case-study-from-oxfam"; + } + { + from = "/archive/2023/12/08/dont-just-rewrite"; + to = "/daily/2023/12/08/dont-just-rewrite"; + } + { + from = "/archive/2023/12/09/rebuild-or-iterate"; + to = "/daily/2023/12/09/rebuild-or-iterate"; + } + { + from = "/archive/2023/12/10/suffixing-names"; + to = "/daily/2023/12/10/suffixing-names"; + } + { + from = "/archive/2023/12/11/custom-coding-standards-and-conventions"; + to = "/daily/2023/12/11/custom-coding-standards-and-conventions"; + } + { + from = "/archive/2023/12/12/drupalcon-session-survey-results"; + to = "/daily/2023/12/12/drupalcon-session-survey-results"; + } + { + from = "/archive/2023/12/13/reviving-an-old-php-project"; + to = "/daily/2023/12/13/reviving-an-old-php-project"; + } + { + from = "/archive/2023/12/14/save-time-and-effort-with-drupal-distributions"; + to = "/daily/2023/12/14/save-time-and-effort-with-drupal-distributions"; + } + { + from = "/archive/2023/12/15/building-your-own-in-house-drupal-distribution"; + to = "/daily/2023/12/15/building-your-own-in-house-drupal-distribution"; + } + { + from = "/archive/2023/12/16/adding-snapshot-tests-to-build-configs"; + to = "/daily/2023/12/16/adding-snapshot-tests-to-build-configs"; + } + { + from = "/archive/2023/12/17/fail-fast-fix-fast"; + to = "/daily/2023/12/17/fail-fast-fix-fast"; + } + { + from = "/archive/2023/12/18/static-analysis-on-tests"; + to = "/daily/2023/12/18/static-analysis-on-tests"; + } + { + from = "/archive/2023/12/19/php-tui-dan-leech"; + to = "/daily/2023/12/19/php-tui-dan-leech"; + } + { + from = "/archive/2023/12/20/hover-focus-hocus"; + to = "/daily/2023/12/20/hover-focus-hocus"; + } + { + from = "/archive/2023/12/21/new-year-coaching"; + to = "/daily/2023/12/21/new-year-coaching"; + } + { + from = "/archive/2023/12/22/best-language-cms-or-framework"; + to = "/daily/2023/12/22/best-language-cms-or-framework"; + } + { + from = "/archive/2023/12/23/using-a-whole-framework-or-part-of-it"; + to = "/daily/2023/12/23/using-a-whole-framework-or-part-of-it"; + } + { + from = "/archive/2023/12/24/this-should-never-happen"; + to = "/daily/2023/12/24/this-should-never-happen"; + } + { + from = "/archive/2023/12/25/zero-to-test"; + to = "/daily/2023/12/25/zero-to-test"; + } + { + from = "/archive/2023/12/26/good-code-is-not-about-being-easy-to-write"; + to = "/daily/2023/12/26/good-code-is-not-about-being-easy-to-write"; + } + { + from = "/archive/2023/12/27/writing-new-code-is-quick-to-begin-with"; + to = "/daily/2023/12/27/writing-new-code-is-quick-to-begin-with"; + } + { + from = "/archive/2023/12/28/pride-and-productivity"; + to = "/daily/2023/12/28/pride-and-productivity"; + } + { + from = "/archive/2023/12/29/decide-automate-document"; + to = "/daily/2023/12/29/decide-automate-document"; + } + { + from = "/archive/2023/12/30/weve-always-done-it-this-way"; + to = "/daily/2023/12/30/weve-always-done-it-this-way"; + } + { + from = "/archive/2023/12/31/just"; + to = "/daily/2023/12/31/just"; + } + { + from = "/archive/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama"; + to = "/daily/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama"; + } + { + from = "/atNOQ"; + to = "https://youtu.be/r41dkD2EOo8"; + } + { + from = "/automatically-updating-talk-created-date"; + to = "https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6"; + } + { + from = "/blog.xml"; + to = "/rss.xml"; + } + { + from = "/blog/10-useful-drupal-6-modules"; + to = "/blog/useful-drupal-6-modules"; + } + { + from = "/blog/10-years-working-full-time-drupal"; + to = "/blog/10-years-working-full-time-drupal-php"; + } + { + from = "/blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery"; + to = "/blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery"; + } + { + from = "/blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery"; + to = "/blog/style-drupal-6s-taxonomy-lists-php-css-jquery"; + } + { + from = "/blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio"; + to = "/blog/using-imagecache-and-imagecrop-my-portfolio"; + } + { + from = "/blog/2010/05/06/conditional-email-addresses-webform"; + to = "/blog/conditional-email-addresses-webform"; + } + { + from = "/blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile"; + to = "/blog/quickly-create-zen-subthemes-using-zenophile"; + } + { + from = "/blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide"; + to = "/blog/create-slideshow-multiple-images-using-fancy-slide"; + } + { + from = "/blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module"; + to = "/blog/quickly-import-multiples-images-using-imagefieldimport-module"; + } + { + from = "/blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi"; + to = "/blog/improve-jpg-quality-imagecache-and-imageapi"; + } + { + from = "/blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue"; + to = "/blog/create-block-social-media-icons-using-cck-views-and-nodequeue"; + } + { + from = "/blog/2010/06/25/10-useful-drupal-6-modules"; + to = "/blog/10-useful-drupal-6-modules"; + } + { + from = "/blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views"; + to = "/blog/create-flickr-photo-gallery-using-feeds-cck-and-views"; + } + { + from = "/blog/2010/07/01/change-content-type-multiple-nodes-using-sql"; + to = "/blog/change-content-type-multiple-nodes-using-sql"; + } + { + from = "/blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx"; + to = "/blog/create-virtual-hosts-mac-os-x-using-virtualhostx"; + } + { + from = "/blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql"; + to = "/blog/add-taxonomy-term-multiple-nodes-using-sql"; + } + { + from = "/blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql"; + to = "/blog/add-taxonomy-term-multiple-nodes-using-sql"; + } + { + from = "/blog/2010/07/12/overview-teleport-module"; + to = "/blog/review-teleport-module"; + } + { + from = "/blog/2010/07/12/review-teleport-module"; + to = "/blog/review-teleport-module"; + } + { + from = "/blog/2010/08/10/review-adminhover-module"; + to = "/blog/review-adminhover-module"; + } + { + from = "/blog/2010/08/11/create-better-photo-gallery-drupal-part-1"; + to = "/blog/create-better-photo-gallery-drupal-part-1"; + } + { + from = "/blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1"; + to = "/blog/create-better-photo-gallery-drupal-part-1"; + } + { + from = "/blog/2010/08/17/create-better-photo-gallery-drupal-part-2"; + to = "/blog/create-better-photo-gallery-drupal-part-2"; + } + { + from = "/blog/2010/08/20/review-image-caption-module"; + to = "/blog/review-image-caption-module"; + } + { + from = "/blog/2010/09/26/south-wales-drupal-user-group"; + to = "/blog/south-wales-drupal-user-group"; + } + { + from = "/blog/2010/10/10/create-and-apply-patches"; + to = "/blog/create-and-apply-patches"; + } + { + from = "/blog/2010/10/13/create-better-photo-gallery-drupal-part-3"; + to = "/blog/create-better-photo-gallery-drupal-part-3"; + } + { + from = "/blog/2010/10/22/create-better-photo-gallery-drupal-part-21"; + to = "/blog/create-better-photo-gallery-drupal-part-21"; + } + { + from = "/blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate"; + to = "/blog/use-regular-expressions-search-and-replace-coda-or-textmate"; + } + { + from = "/blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website"; + to = "/blog/easily-embed-typekit-fonts-your-drupal-website"; + } + { + from = "/blog/2011/03/15/display-number-facebook-fans-php"; + to = "/blog/display-number-facebook-fans-php"; + } + { + from = "/blog/2011/03/31/proctor-stevenson"; + to = "/blog/proctor-stevenson"; + } + { + from = "/blog/2011/05/20/proctors-hosting-next-drupal-meetup"; + to = "/blog/proctors-hosting-next-drupal-meetup"; + } + { + from = "/blog/2011/05/23/imagefield-import-archive"; + to = "/blog/imagefield-import-archive"; + } + { + from = "/blog/2011/08/28/create-multigroups-drupal-7-using-field-collections"; + to = "/blog/create-multigroups-drupal-7-using-field-collections"; + } + { + from = "/blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu"; + to = "/blog/install-and-configure-subversion-svn-server-ubuntu"; + } + { + from = "/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu"; + to = "/blog/how-install-configure-subversion-svn-server-ubuntu"; + } + { + from = "/blog/2012/01/04/site-upgraded-drupal-7"; + to = "/blog/site-upgraded-drupal-7"; + } + { + from = "/blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection"; + to = "/blog/use-authorized-keys-create-passwordless-ssh-connection"; + } + { + from = "/blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush"; + to = "/blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush"; + } + { + from = "/blog/2012/04/17/installing-nagios-centos"; + to = "/blog/installing-nagios-centos"; + } + { + from = "/blog/2012/04/19/adding-custom-theme-templates-drupal-7"; + to = "/blog/adding-custom-theme-templates-drupal-7"; + } + { + from = "/blog/2012/04/adding-custom-theme-templates-drupal-7"; + to = "/blog/adding-custom-theme-templates-drupal-7"; + } + { + from = "/blog/2012/05/23/add-date-popup-calendar-custom-form"; + to = "/blog/add-date-popup-calendar-custom-form"; + } + { + from = "/blog/2012/05/23/checkout-specific-revision-svn-command-line"; + to = "/blog/checkout-specific-revision-svn-command-line"; + } + { + from = "/blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess"; + to = "/blog/forward-one-domain-another-using-mod-rewrite-and-htaccess"; + } + { + from = "/blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess"; + to = "/blog/forward-one-domain-another-using-modrewrite-htaccess"; + } + { + from = "/blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser"; + to = "/blog/prevent-apache-displaying-text-files-within-web-browser"; + } + { + from = "/blog/2012/05/23/writing-info-file-drupal-7-theme"; + to = "/blog/writing-info-file-drupal-7-theme"; + } + { + from = "/blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files"; + to = "/blog/dividing-drupals-process-and-preprocess-functions-separate-files"; + } + { + from = "/blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess"; + to = "/blog/forward-one-domain-another-using-modrewrite-htaccess"; + } + { + from = "/blog/2012/07/12/my-new-drupal-modules"; + to = "/blog/my-new-drupal-modules"; + } + { + from = "/blog/2012/07/14/install-nomensa-media-player-drupal"; + to = "/blog/install-nomensa-media-player-drupal"; + } + { + from = "/blog/2012/07/27/writing-article-linux-journal"; + to = "/blog/writing-article-linux-journal"; + } + { + from = "/blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal"; + to = "/blog/install-configure-nomensa-accessible-media-player-drupal"; + } + { + from = "/blog/2012/07/nomensa-accessible-media-player-drupal"; + to = "/blog/install-configure-nomensa-accessible-media-player-drupal"; + } + { + from = "/blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file"; + to = "/blog/display-custom-menu-drupal-7-theme-template-file"; + } + { + from = "/blog/2012/09/06/reflections-speaking-unifieddiff"; + to = "/blog/reflections-speaking-unifieddiff"; + } + { + from = "/blog/2012/10/25/my-sublime-text-2-settings"; + to = "/blog/my-sublime-text-2-settings"; + } + { + from = "/blog/2012/11/15/accessible-bristol-site-launched"; + to = "/blog/accessible-bristol-site-launched"; + } + { + from = "/blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line"; + to = "/blog/open-sublime-text-2-mac-os-x-command-line"; + } + { + from = "/blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy"; + to = "/blog/use-sass-and-compass-drupal-7-using-sassy"; + } + { + from = "/blog/2012/12/use-sass-and-compass-drupal-7-using-sassy"; + to = "/blog/use-sass-and-compass-drupal-7-using-sassy"; + } + { + from = "/blog/2013/01/09/checking-if-user-logged-drupal-right-way"; + to = "/blog/checking-if-user-logged-drupal-right-way"; + } + { + from = "/blog/2013/02/16/creating-and-using-custom-tokens-drupal-7"; + to = "/blog/creating-and-using-custom-tokens-drupal-7"; + } + { + from = "/blog/2013/02/creating-and-using-custom-tokens-drupal-7"; + to = "/blog/creating-using-custom-tokens-drupal-7"; + } + { + from = "/blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu"; + to = "/blog/quickest-way-install-sublime-text-2-ubuntu"; + } + { + from = "/blog/2013/04/20/leaving-nomensa-joining-precedent"; + to = "/blog/leaving-nomensa-joining-precedent"; + } + { + from = "/blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt"; + to = "/blog/display-git-branch-or-tag-names-your-bash-prompt"; + } + { + from = "/blog/2013/04/display-git-branch-or-tag-names-your-bash-prompt"; + to = "/blog/display-git-branch-or-tag-names-your-bash-prompt"; + } + { + from = "/blog/2013/06/13/some-useful-links-using-simpletest-drupal"; + to = "/blog/some-useful-links-using-simpletest-drupal"; + } + { + from = "/blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled"; + to = "/blog/creating-local-and-staging-sites-drupals-domain-module-enabled"; + } + { + from = "/blog/2013/07/26/going-drupalcon"; + to = "/blog/going-drupalcon"; + } + { + from = "/blog/2013/09/06/create-a-zen-sub-theme-using-drush"; + to = "/blog/create-a-zen-sub-theme-using-drush"; + } + { + from = "/blog/2013/09/create-zen-sub-theme-using-drush"; + to = "/blog/create-zen-sub-theme-using-drush"; + } + { + from = "/blog/2013/11/19/dont-bootstrap-drupal-use-drush"; + to = "/blog/dont-bootstrap-drupal-use-drush"; + } + { + from = "/blog/2013/11/27/useful-vagrant-commands"; + to = "/blog/useful-vagrant-commands"; + } + { + from = "/blog/2013/11/dont-bootstrap-drupal-use-drush"; + to = "/blog/dont-bootstrap-drupal-use-drush"; + } + { + from = "/blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget"; + to = "/blog/quickly-apply-patches-using-git-and-curl-or-wget"; + } + { + from = "/blog/2013/12/31/download-different-versions-drupal-drush"; + to = "/blog/download-different-versions-drupal-drush"; + } + { + from = "/blog/2013/12/quickly-apply-patches-using-git-and-curl-or-wget"; + to = "/blog/quickly-apply-patches-using-git-curl-or-wget"; + } + { + from = "/blog/2014/01/15/some-useful-git-aliases"; + to = "/blog/some-useful-git-aliases"; + } + { + from = "/blog/2014/02/09/drupalcamp-london-2014"; + to = "/blog/drupalcamp-london-2014"; + } + { + from = "/blog/2014/03/03/what-git-flow"; + to = "/blog/what-git-flow"; + } + { + from = "/blog/2014/05/03/drupal-association"; + to = "/blog/drupal-association"; + } + { + from = "/blog/2014/05/06/thanks"; + to = "/blog/thanks"; + } + { + from = "/blog/2014/05/21/git-format-patch"; + to = "/blog/git-format-patch"; + } + { + from = "/blog/2014/07/02/drush-make-drupalbristol"; + to = "/blog/drush-make-drupalbristol"; + } + { + from = "/blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine"; + to = "/blog/fix-vagrant-loading-wrong-virtual-machine"; + } + { + from = "/blog/2014/10/21/updating-features-and-adding-components-using-drush"; + to = "/blog/updating-features-and-adding-components-using-drush"; + } + { + from = "/blog/2014/11/18/include-css-fonts-using-sass-each-loop"; + to = "/blog/include-css-fonts-using-sass-each-loop"; + } + { + from = "/blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module"; + to = "/blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module"; + } + { + from = "/blog/2014/11/27/pantheon-settings-files"; + to = "/blog/pantheon-settings-files"; + } + { + from = "/blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides"; + to = "/blog/include-local-drupal-settings-file-environment-configuration-and-overrides"; + } + { + from = "/blog/2015/04/03/how-to-define-a-minimum-drupal-core-version"; + to = "/blog/how-to-define-a-minimum-drupal-core-version"; + } + { + from = "/blog/2015/06/18/updating-forked-repositories-on-github"; + to = "/blog/updating-forked-repositories-on-github"; + } + { + from = "/blog/2015/07/19/sculpin-twig-resources"; + to = "/blog/sculpin-twig-resources"; + } + { + from = "/blog/2015/07/21/automating-sculpin-jenkins"; + to = "/blog/automating-sculpin-jenkins"; + } + { + from = "/blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7"; + to = "/blog/programmatically-load-an-entityform-in-drupal-7"; + } + { + from = "/blog/2016/02/15/announcing-the-drupal-vm-generator"; + to = "/blog/announcing-the-drupal-vm-generator"; + } + { + from = "/blog/2016/05/03/simplifying-drupal-migrations-with-xautoload"; + to = "/blog/simplifying-drupal-migrations-with-xautoload"; + } + { + from = "/blog/2016/07/15/building-gmail-filters-with-php"; + to = "/blog/building-gmail-filters-with-php"; + } + { + from = "/blog/2016/12/30/drupal-vm-generator-291-released"; + to = "/blog/drupal-vm-generator-291-released"; + } + { + from = "/blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts"; + to = "/blog/easier-sculpin-commands-with-composer-and-npm-scripts"; + } + { + from = "/blog/2017/01/31/nginx-redirects-with-query-string-arguments"; + to = "/blog/nginx-redirects-with-query-string-arguments"; + } + { + from = "/blog/2017/05/05/fixing-drupal-simpletest-docker"; + to = "/blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers"; + } + { + from = "/blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers"; + to = "/blog/fixing-drupal-simpletest-issues-inside-docker-containers"; + } + { + from = "/blog/2017/05/20/turning-drupal-module-into-feature"; + to = "/blog/turning-your-custom-drupal-module-feature"; + } + { + from = "/blog/2017/06/09/introducing-the-drupal-meetups-twitterbot"; + to = "/blog/introducing-the-drupal-meetups-twitterbot"; + } + { + from = "/blog/2017/07/13/publishing-sculpin-sites-with-github-pages"; + to = "/blog/publishing-sculpin-sites-github-pages"; + } + { + from = "/blog/2017/11/07/tdd-test-driven-drupal"; + to = "/blog/tdd-test-driven-drupal"; + } + { + from = "/blog/2017/11/07/writing-drupal-module-test-driven-development-tdd"; + to = "/blog/2017/11/07/tdd-test-driven-drupal"; + } + { + from = "/blog/2018/01/30/drupalcamp-bristol-2018"; + to = "/blog/drupalcamp-bristol-2018"; + } + { + from = "/blog/2018/02/05/using-tailwind-css-in-your-drupal-theme"; + to = "/blog/using-tailwind-css-in-your-drupal-theme"; + } + { + from = "/blog/2018/02/27/looking-forward-to-drupalcamp-london"; + to = "/blog/looking-forward-to-drupalcamp-london"; + } + { + from = "/blog/2018/02/27/queuing-private-messages-in-drupal-8"; + to = "/blog/queuing-private-messages-in-drupal-8"; + } + { + from = "/blog/2018/02/28/building-the-new-phpsw-website"; + to = "/blog/building-the-new-phpsw-website"; + } + { + from = "/blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back"; + to = "/blog/yay-the-mediacurrent-contrib-half-hour-is-back"; + } + { + from = "/blog/2018/03/04/tweets-from-drupalcamp-london"; + to = "/blog/tweets-from-drupalcamp-london"; + } + { + from = "/blog/2018/04/23/back-to-the-future-git-diff-apply"; + to = "/blog/back-future-gits-diff-apply-commands"; + } + { + from = "/blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal"; + to = "/blog/creating-a-custom-phpunit-command-for-docksal"; + } + { + from = "/blog/add-date-popup-calendar-custom-form"; + to = "/blog/how-add-date-popup-calendar-custom-form"; + } + { + from = "/blog/adding-methods-decorating-entity-metadata-wrapper"; + to = "/blog/decorating-entity-metadata-wrapper-add-refactor-methods"; + } + { + from = "/blog/announcing-drupal-vm-generator"; + to = "/blog/announcing-the-drupal-vm-generator"; + } + { + from = "/blog/announcing-the-drupal-vm-config-generator"; + to = "/blog/announcing-the-drupal-vm-generator"; + } + { + from = "/blog/back-to-the-future-git-diff-apply"; + to = "/blog/back-future-gits-diff-apply-commands"; + } + { + from = "/blog/building-gmail-filters-in-php"; + to = "/blog/building-gmail-filters-php"; + } + { + from = "/blog/building-new-phpsw-website"; + to = "/blog/building-the-new-phpsw-website"; + } + { + from = "/blog/building-presentation-slides-reveal-js-tailwind-css"; + to = "/blog/building-presentation-slides-rst2pdf"; + } + { + from = "/blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony"; + to = "/blog/building-speaker-leaderboard-php-south-wales-drupal-symfony"; + } + { + from = "/blog/create-and-apply-patches"; + to = "/blog/how-create-apply-patches"; + } + { + from = "/blog/create-flickr-photo-gallery-using-feeds-cck-and-views"; + to = "/blog/create-flickr-photo-gallery-using-feeds-cck-views"; + } + { + from = "/blog/creating-and-using-custom-tokens-drupal-7"; + to = "/blog/creating-using-custom-tokens-drupal-7"; + } + { + from = "/blog/creating-custom-docksal-commands"; + to = "/blog/creating-custom-phpunit-command-docksal"; + } + { + from = "/blog/debugging-drupal-commerce-promotions-illiminate-collections"; + to = "/blog/debugging-drupal-commerce-illuminate-collections"; + } + { + from = "/blog/decorating-entity-metadata-wrapper-add-add-refactor-methods"; + to = "/blog/decorating-entity-metadata-wrapper-add-refactor-methods"; + } + { + from = "/blog/dev-book-club-refactoring-chapter-1"; + to = "/blog/dev-book-club-notes-refactoring-chapter-1"; + } + { + from = "/blog/dividing-drupals-process-preprocess-functions-separate-files"; + to = "/blog/dividing-drupals-process-and-preprocess-functions-separate-files"; + } + { + from = "/blog/drupal-8-commerce-fixing-no-such-customer-error-(on-)?checkout"; + to = "/blog/drupal-8-commerce-fixing-no-such-customer-error-checkout"; + } + { + from = "/blog/drupal-vm-generator-291-released"; + to = "/blog/drupal-vm-generator-updates"; + } + { + from = "/blog/drupalcamp-london-2019-tickets"; + to = "/blog/drupalcamp-london-2019-tickets-available-call-sessions"; + } + { + from = "/blog/drush-make-drupalbristol"; + to = "/talks/drush-make-drupalbristol"; + } + { + from = "/blog/easier-git-repository-cloning-with-insteadof"; + to = "/blog/easier-git-repository-cloning-insteadof"; + } + { + from = "/blog/easier-sculpin-commands-with-composer-and-npm-scripts"; + to = "/blog/easier-sculpin-commands-composer-npm-scripts"; + } + { + from = "/blog/editing-meetup-videos-kdenlive"; + to = "/blog/editing-meetup-videos-linux-kdenlive"; + } + { + from = "/blog/examples-of-laravel-collections-in-drupal"; + to = "/blog/using-laravel-collections-drupal"; + } + { + from = "/blog/experimenting-with-events-in-drupal-8"; + to = "/blog/experimenting-events-drupal-8"; + } + { + from = "/blog/fix-vagrant-loading-wrong-virtual-machine"; + to = "/blog/how-fix-vagrant-loading-wrong-virtual-machine"; + } + { + from = "/blog/fixing-drupal-simpletest-docker"; + to = "/blog/fixing-drupal-simpletest-issues-inside-docker-containers"; + } + { + from = "/blog/forward-one-domain-another-using-modrewrite-and-htaccess"; + to = "/blog/forward-one-domain-another-using-modrewrite-htaccess"; + } + { + from = "/blog/forward-one-domain-another-using-modrewrite-and-htaccess"; + to = "/blog/forward-one-domain-another-using-modrewrite-htaccess"; + } + { + from = "/blog/git-format-patch"; + to = "/blog/git-format-patch-your-friend"; + } + { + from = "/blog/how-easily-embed-typekit-fonts-your-drupal-website"; + to = "/blog/easily-embed-typekit-fonts-your-drupal-website"; + } + { + from = "/blog/how-split-new-drupal-contrib-project-within-another-repository"; + to = "/blog/splitting-new-drupal-project-from-repo"; + } + { + from = "/blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery"; + to = "/blog/style-drupal-6s-taxonomy-lists-php-css-jquery"; + } + { + from = "/blog/include-local-drupal-settings-file-environment-configuration-overrides"; + to = "/blog/include-local-drupal-settings-file-environment-configuration-and-overrides"; + } + { + from = "/blog/install-and-configure-subversion-svn-server-ubuntu"; + to = "/blog/how-install-configure-subversion-svn-server-ubuntu"; + } + { + from = "/blog/live-blogging-symfonylive-london"; + to = "/blog/live-blogging-symfonylive-london-2019"; + } + { + from = "/blog/minimum-core-version"; + to = "/blog/how-define-minimum-drupal-core-version"; + } + { + from = "/blog/nginx-redirects-with-query-string-arguments"; + to = "/blog/nginx-redirects-query-string-arguments"; + } + { + from = "/blog/null-users-and-system-users-in-drupal"; + to = "/blog/null-users-system-users-drupal"; + } + { + from = "/blog/overridding-phpcs-configuration-drupal-ci"; + to = "/blog/overriding-phpcs-configuration-drupal-ci"; + } + { + from = "/blog/pantheon-settings-files"; + to = "/blog/include-environment-specific-settings-files-pantheon"; + } + { + from = "/blog/pdfpc-pdf-presenter-console-notes"; + to = "/blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console"; + } + { + from = "/blog/php-apps-subdirectory-nginx"; + to = "/blog/how-put-your-php-application-subdirectory-another-site-nginx"; + } + { + from = "/blog/presenting-tailwind-css-ansible-cms-philly"; + to = "/blog/presenting-on-tailwind-css-and-ansible-at-cms-philly"; + } + { + from = "/blog/programmatically-load-(an-)?entityform-(in-)?drupal-7"; + to = "/blog/entityform"; + } + { + from = "/blog/published-my-first-docker-images-docker-hub"; + to = "/blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf"; + } + { + from = "/blog/publishing-sculpin-sites-(with-)?github-pages"; + to = "/blog/publishing-sculpin-sites-github-pages"; + } + { + from = "/blog/queuing-private-messages-in-drupal-8"; + to = "/blog/queuing-private-messages-drupal-8"; + } + { + from = "/blog/quick-project-switching-in-phpstorm"; + to = "/blog/quick-project-switching-phpstorm"; + } + { + from = "/blog/quickly-apply-patches-using-git-and-curl-or-wget"; + to = "/blog/quickly-apply-patches-using-git-curl-or-wget"; + } + { + from = "/blog/rebuilding-bartik-with-vuejs-tailwind-css"; + to = "/blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css"; + } + { + from = "/blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2"; + to = "/blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2"; + } + { + from = "/blog/rebuilding-uis-tailwind-css"; + to = "/blog/uis-ive-rebuilt-tailwind-css"; + } + { + from = "/blog/restructuring-my-tailwindjs-config-files"; + to = "/blog/restructuring-my-tailwindjs-configuration-files"; + } + { + from = "/blog/retrieving-profile-data-user-using-entity-metadata-wrapper"; + to = "/blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper"; + } + { + from = "/blog/running-drupal-with-symfony-local-server"; + to = "/blog/running-drupal-88-symfony-local-server"; + } + { + from = "/blog/running-phpunit-tests-docksal-phpstorm"; + to = "/blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm"; + } + { + from = "/blog/simplifying-drupal-migrations-with-xautoload"; + to = "/blog/simplifying-drupal-migrations-xautoload"; + } + { + from = "/blog/speaking-drupalcon-barcelona-2020"; + to = "/blog/speaking-drupalcon-europe-2020"; + } + { + from = "/blog/speaking-during-lockdown"; + to = "/blog/speaking-remotely-during-covid-19"; + } + { + from = "/blog/speaking-remotely-during-lockdown"; + to = "/blog/speaking-remotely-during-covid-19"; + } + { + from = "/blog/style-drupal-6s-taxonomy-lists-php-css-jquery"; + to = "/blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery"; + } + { + from = "/blog/survey-results-my-drupalcon-europe-session"; + to = "/blog/survey-results-my-drupalcon-europe-session-test-driven-drupal"; + } + { + from = "/blog/system-users-null-users"; + to = "/blog/null-users-and-system-users-in-drupal"; + } + { + from = "/blog/test-driven-drupal-gitstore-leanpub"; + to = "/blog/test-driven-drupal-on-gitstore-leanpub"; + } + { + from = "/blog/test-driven-drupal-presentation-drupalcon-europe-0"; + to = "/blog/test-driven-drupal-presentation-drupalcon-europe"; + } + { + from = "/blog/test-driven-drupal-session-drupalcon-europe"; + to = "/blog/test-driven-drupal-presentation-drupalcon-europe"; + } + { + from = "/blog/test-driven-drupal-session-video-drupalcon-europe"; + to = "/blog/test-driven-drupal-presentation-drupalcon-europe"; + } + { + from = "/blog/testing-tailwind-css-plugins-with-jest"; + to = "/blog/testing-tailwind-css-plugins-jest"; + } + { + from = "/blog/testing-tailwindcss-plugins-with-jest"; + to = "/blog/testing-tailwind-css-plugins-jest"; + } + { + from = "/blog/tweets-from-drupalcamp-london"; + to = "/blog/tweets-drupalcamp-london"; + } + { + from = "/blog/updating-features-and-adding-components-using-drush"; + to = "/blog/updating-features-adding-components-using-drush"; + } + { + from = "/blog/updating-forked-repositories-github"; + to = "/blog/updating-forked-github-repos"; + } + { + from = "/blog/use-regular-expressions-search-and-replace-coda-or-textmate"; + to = "/blog/use-regular-expressions-search-replace-coda-or-textmate"; + } + { + from = "/blog/using-environment-variables-settings-docksal"; + to = "/blog/how-use-environment-variables-your-drupal-settings-docksal"; + } + { + from = "/blog/using-psr-4-autoloading-your-drupal-7-test-cases"; + to = "/blog/psr4-autoloading-test-cases-drupal-7"; + } + { + from = "/blog/using-tailwind-css-in-your-drupal-theme"; + to = "/blog/using-tailwind-css-your-drupal-theme"; + } + { + from = "/blog/using-the-pcss-extension-postcss-webpack-encore"; + to = "/blog/using-pcss-extension-postcss-webpack-encore"; + } + { + from = "/blog/weeknotes-june-5th"; + to = "/blog/weeknotes-2021-06-05"; + } + { + from = "/blog/writing-drupal-module-test-driven-development-tdd"; + to = "/blog/writing-new-drupal-8-module-using-test-driven-development-tdd"; + } + { + from = "/book"; + to = "/test-driven-drupal"; + } + { + from = "/calendars?"; + to = "https://savvycal.com/opdavies"; + } + { + from = "/cms-philly"; + to = "/articles/presenting-on-tailwind-css-and-ansible-at-cms-philly"; + } + { + from = "/code-enigma-interview"; + to = "https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28"; + } + { + from = "/consulting"; + to = "/"; + } + { + from = "/contrib-half-hour"; + to = "https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F"; + } + { + from = "/cv"; + to = "/cv.txt"; + } + { + from = "/d0P5z"; + to = "/talks/drupal-8-php-libraries-drupalorg-api"; + } + { + from = "/d7"; + to = "/drupal7"; + } + { + from = "/dcbristol-cfp"; + to = "https://www.papercall.io/drupalcamp-bristol-2019"; + } + { + from = "/dcbristol17-videos"; + to = "https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA"; + } + { + from = "/dcbristol19-announced"; + to = "/articles/drupalcamp-bristol-2019-speakers-sessions-announced"; + } + { + from = "/dclondon-sat"; + to = "https://drupalcamp.london/schedule/saturday"; + } + { + from = "/dclondon-sun"; + to = "https://drupalcamp.london/schedule/sunday"; + } + { + from = "/dclondon20"; + to = "/articles/drupalcamp-london-testing-workshop"; + } + { + from = "/ddev-phpunit-command"; + to = "/blog/creating-custom-phpunit-command-ddev"; + } + { + from = "/deploying-php-ansible"; + to = "/talks/deploying-php-ansible-ansistrano"; + } + { + from = "/dks7E"; + to = "https://www.youtube.com/watch?v=PLS4ET7FAcU"; + } + { + from = "/do-library"; + to = "https://github.com/opdavies/drupalorg-api-php"; + } + { + from = "/do-projects"; + to = "https://github.com/opdavies/drupal-module-drupalorg-projects"; + } + { + from = "/docksal-phpunit-phpstorm"; + to = "/articles/running-phpunit-tests-docksal-phpstorm"; + } + { + from = "/docksal-posts"; + to = "/articles/tags/docksal"; + } + { + from = "/dransible"; + to = "https://github.com/opdavies/dransible"; + } + { + from = "/dransible-drupal-9"; + to = "/blog/upgrading-dransible-project-drupal-9"; + } + { + from = "/drupal-bristol-march-19"; + to = "https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing"; + } + { + from = "/drupal-consultant"; + to = "/drupal-consulting"; + } + { + from = "/drupal-consulting"; + to = "/"; + } + { + from = "/drupal-core-live-stream"; + to = "https://www.youtube.com/watch?v=OK4FWwh1gQU"; + } + { + from = "/drupal-core-testing-gate"; + to = "https://www.drupal.org/core/gates#testing"; + } + { + from = "/drupal-first-time-issues"; + to = "https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice"; + } + { + from = "/drupal-forum-post"; + to = "http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537"; + } + { + from = "/drupal-marketplace-uk"; + to = "https://www.drupal.org/drupal-services?offices%5B%5D=24460"; + } + { + from = "/drupal-meetups-twitterbot"; + to = "/articles/introducing-the-drupal-meetups-twitterbot"; + } + { + from = "/drupal-novice-issues"; + to = "https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice"; + } + { + from = "/drupal-php-developer"; + to = "/drupal-consultant"; + } + { + from = "/drupal-php-developer-consultant-uk"; + to = "/drupal-php-developer"; + } + { + from = "/drupal-tailwind-demo"; + to = "https://www.youtube.com/watch?v=1eM-Gw6GI4g"; + } + { + from = "/drupal-tailwindcss"; + to = "https://www.drupal.org/project/tailwindcss"; + } + { + from = "/drupal-vuejs"; + to = "/talks/decoupling-drupal-vuejs/"; + } + { + from = "/drupal7"; + to = "/drupal-upgrade"; + } + { + from = "/drupalcamp-london-2019-tickets"; + to = "/articles/drupalcamp-london-2019-tickets"; + } + { + from = "/drupalcamp-nyc-training"; + to = "https://www.youtube.com/watch?v=3M9c4UUzKm0"; + } + { + from = "/drupalorg"; + to = "https://www.drupal.org/u/opdavies"; + } + { + from = "/drupalorg-project-issues"; + to = "https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D"; + } + { + from = "/drupalversary"; + to = "https://github.com/opdavies/drupal-module-drupalversary"; + } + { + from = "/elewant"; + to = "https://elewant.com/shepherd/admire/opdavies"; + } + { + from = "/feed"; + to = "/rss.xml"; + } + { + from = "/first-drupal-core-issue"; + to = "https://www.drupal.org/project/drupal/issues/753898"; + } + { + from = "/first-npm-package"; + to = "https://www.npmjs.com/package/tailwindcss-vuejs"; + } + { + from = "/freeagent"; + to = "https://opdavies.freeagent.com"; + } + { + from = "/git-flow"; + to = "/talks/git-flow"; + } + { + from = "/gitlab"; + to = "https://gitlab.com/opdavies"; + } + { + from = "/gitstore"; + to = "https://enjoy.gitstore.app/maintainers/opdavies"; + } + { + from = "/gmail-filters"; + to = "https://gitlab.com/opdavies/gmail-filters"; + } + { + from = "/images/me-precedent.jpg"; + to = "/sites/default/files/images/social-avatar.jpg"; + } + { + from = "/inviqa-tailwind-demo"; + to = "https://play.tailwindcss.com/Yfmw8O5UNN"; + } + { + from = "/inviqa-tailwind-notes"; + to = "https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74"; + } + { + from = "/join-php-south-wales-slack"; + to = "https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA"; + } + { + from = "/jy6rW"; + to = "https://www.meetup.com/PHP-South-Wales/events/264731393"; + } + { + from = "/kB6Jd"; + to = "/articles/running-drupal-with-symfony-local-server/"; + } + { + from = "/kmDRA"; + to = "https://www.bbc.co.uk/news/uk-46561779"; + } + { + from = "/leeds-php-drupal-9"; + to = "https://www.meetup.com/leedsphp/events/272504993"; + } + { + from = "/live"; + to = "https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ"; + } + { + from = "/npm"; + to = "https://www.npmjs.com/~opdavies"; + } + { + from = "/oFlkS"; + to = "/articles/test-driven-drupal-on-gitstore-leanpub"; + } + { + from = "/oliver-davies-uk-based-drupal-symfony-developer"; + to = "/oliver-davies-uk-based-drupal-php-developer"; + } + { + from = "/pair-programming"; + to = "/pair"; + } + { + from = "/pair-with-me"; + to = "/pair"; + } + { + from = "/pairing"; + to = "/pair"; + } + { + from = "/php-ansible"; + to = "/talks/deploying-php-ansible-ansistrano"; + } + { + from = "/presentations/building-presenting-slide-decks-rst2pdf"; + to = "/presentations/rst2pdf"; + } + { + from = "/presentations/building-static-websites-sculpin"; + to = "/presentations/sculpin"; + } + { + from = "/qSHAl"; + to = "/articles/published-my-first-npm-package/"; + } + { + from = "/qT1Rb"; + to = "https://github.com/opdavies/drupal-meetups-twitterbot"; + } + { + from = "/rebuilding-acquia"; + to = "https://rebuilding-acquia.oliverdavies.uk"; + } + { + from = "/rebuilding-bartik"; + to = "/articles/rebuilding-bartik-with-vuejs-tailwind-css"; + } + { + from = "/rebuilding-bristol-js"; + to = "https://github.com/opdavies/rebuilding-bristol-js"; + } + { + from = "/rebuilding-pantheon"; + to = "https://play.tailwindcss.com/LND98XihGI?layout=horizontal"; + } + { + from = "/rebuilding-platformsh"; + to = "https://rebuilding-platformsh.oliverdavies.uk"; + } + { + from = "/rebuilding-symfony"; + to = "https://github.com/opdavies/rebuilding-symfony"; + } + { + from = "/rk29B"; + to = "https://www.meetup.com/PHP-South-Wales/events/268422525"; + } + { + from = "/roadmap"; + to = "/drupal-upgrade"; + } + { + from = "/rss"; + to = "/rss.xml"; + } + { + from = "/rst2pdf"; + to = "/talks/building-presenting-slide-decks-rst2pdf"; + } + { + from = "/s9MjJ"; + to = "https://symfonycasts.com/screencast/symfony"; + } + { + from = "/sculpin"; + to = "/talks/building-static-websites-sculpin"; + } + { + from = "/sculpin-encore-versioning"; + to = "https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2"; + } + { + from = "/sites/default/files/images/social-avatar.jpg"; + to = "/images/social-avatar.jpg"; + } + { + from = "/skills"; + to = "https://opdavies-skills-tailwindcss.netlify.com/"; + } + { + from = "/slides-drupal-9"; + to = "https://slides-upgrading-to-drupal-9.oliverdavies.uk"; + } + { + from = "/slides-upgrading-to-drupal-9"; + to = "https://slides-upgrading-to-drupal-9.oliverdavies.uk"; + } + { + from = "/slides-upgrading-to-drupal-9/index.html"; + to = "https://slides-upgrading-to-drupal-9.oliverdavies.uk"; + } + { + from = "/slides-working-with-workspace"; + to = "https://slides-working-with-workspace.oliverdavies.uk"; + } + { + from = "/speaker"; + to = "/press"; + } + { + from = "/speaker-info"; + to = "/speaker"; + } + { + from = "/speaker-information"; + to = "/speaker"; + } + { + from = "/speaking-videos"; + to = "https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu"; + } + { + from = "/stream"; + to = "https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live"; + } + { + from = "/subscription"; + to = "/"; + } + { + from = "/swap-markdown-parser"; + to = "https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser"; + } + { + from = "/symfony"; + to = "https://connect.symfony.com/profile/opdavies"; + } + { + from = "/symfony-server"; + to = "/articles/running-drupal-with-symfony-local-server"; + } + { + from = "/symfonylive"; + to = "/articles/live-blogging-symfonylive-london"; + } + { + from = "/symposium"; + to = "https://symposiumapp.com/u/opdavies"; + } + { + from = "/tailwind-css-talk"; + to = "/talks/taking-flight-tailwind-css"; + } + { + from = "/tailwind-repos"; + to = "https://github.com/opdavies?utf8=%e2%9c%93&tab=repositories&q=tailwindcss"; + } + { + from = "/tailwind-talk"; + to = "/talks/taking-flight-with-tailwind-css"; + } + { + from = "/tailwindcss-demo"; + to = "http://tailwindcss-demo.oliverdavies.uk/"; + } + { + from = "/talks"; + to = "/presentations"; + } + { + from = "/talks-offer-tweet"; + to = "https://twitter.com/opdavies/status/1250870367712935938"; + } + { + from = "/talks/2012/09/05/what-is-this-drupal-thing-unified-diff"; + to = "/talks/what-is-this-drupal-thing"; + } + { + from = "/talks/2013/07/10/drupal-ldap-swdug"; + to = "/talks/drupal-ldap"; + } + { + from = "/talks/2014/03/01/git-flow-drupalcamp-london-2014"; + to = "/talks/git-flow"; + } + { + from = "/talks/2014/07/02/drush-make-drupalbristol-drupal-bristol"; + to = "/talks/drush-make-drupalbristol"; + } + { + from = "/talks/2014/08/19/drupal-association-swdug"; + to = "/talks/drupal-association"; + } + { + from = "/talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015"; + to = "/talks/drupalorg-in-2015-whats-coming-next"; + } + { + from = "/talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015"; + to = "/talks/drupalorg-in-2015-whats-coming-next"; + } + { + from = "/talks/2015/04/08/drupal-8-phpsw"; + to = "/talks/drupal-8"; + } + { + from = "/talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015"; + to = "/talks/test-drive-twig-with-sculpin"; + } + { + from = "/talks/2015/08/25/dancing-for-drupal-umbristol"; + to = "/talks/dancing-for-drupal"; + } + { + from = "/talks/2015/10/14/sculpin-phpsw"; + to = "/talks/sculpin"; + } + { + from = "/talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016"; + to = "/talks/getting-started-with-drupal-8-module-development"; + } + { + from = "/talks/2016/03/09/drupal-vm-generator-nwdug"; + to = "/talks/drupal-vm-generator"; + } + { + from = "/talks/2016/04/02/drupal-vm-generator-drupal-bristol"; + to = "/talks/drupal-vm-generator"; + } + { + from = "/talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016"; + to = "/talks/drupal-8-rejoining-the-herd"; + } + { + from = "/talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016"; + to = "/talks/drupal-vm-meet-symfony-console"; + } + { + from = "/talks/2016/11/09/drupal-development-with-composer-phpsw"; + to = "/talks/drupal-development-with-composer"; + } + { + from = "/talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol"; + to = "/talks/goodbye-drush-make-hello-composer"; + } + { + from = "/talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol"; + to = "/talks/getting-your-data-into-drupal-8"; + } + { + from = "/talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017"; + to = "/talks/getting-your-data-into-drupal-8"; + } + { + from = "/talks/ansible-ansistrano"; + to = "https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano"; + } + { + from = "/talks/deploying-php-applications-fabric"; + to = "/talks/deploying-php-fabric"; + } + { + from = "/talks/deploying-php-applications-with-fabric"; + to = "/talks/deploying-php-fabric"; + } + { + from = "/talks/drupal-vm-generator-2"; + to = "/talks/drupal-vm-generator"; + } + { + from = "/talks/drupalorg-2015-2"; + to = "/talks/drupalorg-2015"; + } + { + from = "/talks/drupalorg-in-2015-whats-coming-next"; + to = "/talks/drupalorg-2015"; + } + { + from = "/talks/getting-started-with-drupal-8-module-development"; + to = "/drupal-8-module-development"; + } + { + from = "/talks/having-fun-drupal-8-php-libraries-drupalorg-api"; + to = "/talks/drupal-8-php-libraries-drupalorg-api"; + } + { + from = "/talks/never-commit-master-introduction-git-flow"; + to = "/talks/git-flow"; + } + { + from = "/talks/sculpin"; + to = "/talks/building-static-websites-sculpin"; + } + { + from = "/talks/tailwind"; + to = "/talks/taking-flight-with-tailwind-css/"; + } + { + from = "/talks/taking-flight-tailwind-css"; + to = "/talks/taking-flight-with-tailwind-css"; + } + { + from = "/talks/using-laravel-collections-outside-laravel"; + to = "/talks/using-illuminate-collections-outside-laravel"; + } + { + from = "/talks/working-workspace"; + to = "/talks/working-with-workspace"; + } + { + from = "/tdd-blog"; + to = "https://github.com/opdavies/drupal-module-tdd-blog"; + } + { + from = "/tdd-test-driven-drupal"; + to = "/talks/tdd-test-driven-drupal/"; + } + { + from = "/team-coaching"; + to = "/"; + } + { + from = "/test-driven-drupal-book"; + to = "/test-driven-drupal"; + } + { + from = "/testing-drupal"; + to = "https://www.oliverdavies.uk/talks/tdd-test-driven-drupal"; + } + { + from = "/testing-drupal-intro"; + to = "https://inviqa.com/blog/drupal-automated-testing-introduction"; + } + { + from = "/testing-tailwind-plugins"; + to = "/articles/testing-tailwindcss-plugins-with-jest"; + } + { + from = "/testing-workshop"; + to = "https://github.com/opdavies/workshop-drupal-automated-testing"; + } + { + from = "/testing-workshop-code"; + to = "https://github.com/opdavies/workshop-drupal-automated-testing-code"; + } + { + from = "/todoist-filters"; + to = "https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2"; + } + { + from = "/twitter-tweaks"; + to = "https://github.com/opdavies/chrome-extension-twitter-tweaks"; + } + { + from = "/upgrading-to-drupal-9"; + to = "/talks/upgrading-your-site-drupal-9"; + } + { + from = "/uxbjV"; + to = "https://www.drupal.org/project/copyright_block"; + } + { + from = "/vyTEF"; + to = "https://www.npmjs.com/package/tailwindcss-vuejs"; + } + { + from = "/webpack-encore-pcss-regex"; + to = "https://regexr.com/51iaf"; + } + { + from = "/wordcamp-bristol-tailwindcss"; + to = "https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css"; + } + { + from = "/wordpress-tailwind"; + to = "https://github.com/opdavies/wordcamp-bristol-2019"; + } + { + from = "/work"; + to = "/drupal-php-developer"; + } + { + from = "/working-with-workspace"; + to = "/talks/working-with-workspace"; + } + { + from = "/workshop-drupal-testing"; + to = "https://github.com/opdavies/workshop-drupal-automated-testing"; + } + { + from = "/workspace-demo"; + to = "https://github.com/opdavies/working-with-workspace-demo"; + } + { + from = "/wp-tailwind"; + to = "https://wp-tailwind.oliverdavies.uk"; + } + { + from = "/wp-tailwind-repo"; + to = "https://github.com/opdavies/wordcamp-bristol-2019"; + } + { + from = "/wp-tailwind-starter"; + to = "https://github.com/opdavies/wordpress-tailwindcss-startker-kit"; + } + { + from = "/wp-tailwind-static"; + to = "https://wp-tailwind.oliverdavies.uk"; + } + { + from = "/yXhoS"; + to = "/talks/things-you-should-know-about-php"; + } +] diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index 210248e8..aa6f10a1 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -28,6 +28,12 @@ } '') tomePaths ); + + redirects = import ./www.oliverdavies.uk-redirects.nix; + + redirectLines = builtins.concatStringsSep "\n" ( + map (r: "redir ${r.from} ${r.to} permanent") redirects + ); in '' encode gzip @@ -44,8 +50,17 @@ } ${tomeConfig} - '' - + builtins.readFile ./www.oliverdavies.uk-redirects.caddy; + + @articles path_regexp ^/articles/(.*)$ + @talks path_regexp ^/talks/(.*)$ + @talks-archive path_regexp ^/talks/archive/(.*)$ + + redir @articles /blog/{re.1} permanent + redir @talks-archive /presentations/{re.1} permanent + redir @talks /presentations/{re.1} permanent + + ${redirectLines} + ''; }; }; } From b0f910acf715155f288e20f709055fb3ff7cf13c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 08:29:58 +0100 Subject: [PATCH 1659/2258] Add more tome paths --- .../hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix | 7 ++++++- hosts/lemp11/configuration.nix | 2 -- hosts/t490/configuration.nix | 2 -- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix index aa6f10a1..9ed00809 100644 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix @@ -13,7 +13,12 @@ extraConfig = let - tomePaths = [ "tome-test" ]; + tomePaths = [ + "core" + "sites/default/files" + "themes/custom/opdavies" + "tome-test" + ]; tomeConfig = builtins.concatStringsSep "\n\n" ( builtins.map (path: '' diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 550ccc50..ea9bcc10 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -40,6 +40,4 @@ polkit.enable = true; rtkit.enable = true; }; - - zramSwap.enable = true; } diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index b7959b14..76ac3792 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -46,8 +46,6 @@ yt-dlp ]; - zramSwap.enable = true; - networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; From 9baf510d633b3d7bdac95b4e2f5a0e8b483d2649 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 08:52:46 +0100 Subject: [PATCH 1660/2258] Use the zram mixin --- hosts/lemp11/configuration.nix | 1 + hosts/t490/configuration.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index ea9bcc10..1e79dce9 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -8,6 +8,7 @@ ./services.nix mixins-common + mixins-zram mixins-zsh users-opdavies diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 76ac3792..0a66ab5b 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -10,6 +10,7 @@ ./users.nix mixins-common + mixins-zram users-opdavies ]; From 09da662d1d270a7e5006c7271865b35edc28c295 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 08:52:58 +0100 Subject: [PATCH 1661/2258] Update feed titles --- hosts/t480/modules/newsboat/urls.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/t480/modules/newsboat/urls.nix b/hosts/t480/modules/newsboat/urls.nix index 531b0f52..1b67bed4 100644 --- a/hosts/t480/modules/newsboat/urls.nix +++ b/hosts/t480/modules/newsboat/urls.nix @@ -256,6 +256,7 @@ { url = "https://feeds.bbci.co.uk/sport/rugby-union/teams/ng-dragons/rss.xml"; tags = [ "Rugby" ]; + title = "BBC Sport - Dragons RFC"; } { url = "https://openrss.org/www.twitch.tv/thealtf4stream/videos?filter=all&sort=time"; @@ -285,6 +286,7 @@ { url = "https://feeds.bbci.co.uk/sport/rugby-union/rss.xml"; tags = [ "Rugby" ]; + title = "BBC Sport - Rugby Union"; } { url = "https://tinkerbetter.tube/feeds/videos.xml?videoChannelId=2"; } { url = "https://video.fosshq.org/feeds/videos.xml?videoChannelId=2"; } From 73ce87f58e529d39f18e8813bd88e7390623821a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 08:57:41 +0100 Subject: [PATCH 1662/2258] Disable jitsi for now Until I have time to look into it further. --- hosts/hetznix/services/jitsi.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/hetznix/services/jitsi.nix b/hosts/hetznix/services/jitsi.nix index 916a6c2c..3481c8ac 100644 --- a/hosts/hetznix/services/jitsi.nix +++ b/hosts/hetznix/services/jitsi.nix @@ -1,7 +1,7 @@ { services = { jitsi-meet = { - enable = true; + enable = false; caddy.enable = true; nginx.enable = false; secureDomain.enable = true; From 35e3ee3b5f1fb3f211204d3bf0a37f55370a0d79 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 12:00:00 +0100 Subject: [PATCH 1663/2258] Enable ollama and Open WebUI --- hosts/t480/configuration.nix | 1 + hosts/t480/modules/ollama.nix | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 hosts/t480/modules/ollama.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 0183b98e..70d39844 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -52,6 +52,7 @@ in ./modules/cron.nix ./modules/neomutt.nix ./modules/newsboat + ./modules/ollama.nix ./modules/wiki.nix ]; diff --git a/hosts/t480/modules/ollama.nix b/hosts/t480/modules/ollama.nix new file mode 100644 index 00000000..0b37ce99 --- /dev/null +++ b/hosts/t480/modules/ollama.nix @@ -0,0 +1,10 @@ +{ + services = { + ollama = { + enable = true; + acceleration = "rocm"; + }; + + open-webui.enable = true; + }; +} From 01d43066f0aab0dd523df58ec6cbe293f5e24070 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 19:06:14 +0100 Subject: [PATCH 1664/2258] flake update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index c3c02020..ab499215 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1744663884, - "narHash": "sha256-a6QGaZMDM1miK8VWzAITsEPOdmLk+xTPyJSTjVs3WhI=", + "lastModified": 1744902080, + "narHash": "sha256-px7OEMQYhS9StY3sTYYeM/jJspk6SXgoPU7OmOSx+1c=", "owner": "nix-community", "repo": "home-manager", - "rev": "d5cdf55bd9f19a3debd55b6cb5d38f7831426265", + "rev": "2c71aae678c03a39c2542e136b87bd040ae1b3cb", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1744727071, - "narHash": "sha256-Gf8y1l1PpYCrJdlzN94IxFS+0P9FkiPTaNh1ZYvOpTU=", + "lastModified": 1744910415, + "narHash": "sha256-mtb99yEpghJKQL3xpWfEsp0zx8UiqSrt5BN3e0n8kVs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "933fcf5303477c494e95b51b9ceae32da170be2e", + "rev": "ec237aaad5a720b39223fcce41676b0c40307372", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744722609, - "narHash": "sha256-OzYOH+BFmwr3SduSRPGvJc9g4suCDPqh9iMvTRd6G5k=", + "lastModified": 1744904898, + "narHash": "sha256-wLepe0sdFFgXUOLY2t+GrfjBquiGFgNydQkQYGh6UwQ=", "owner": "nix-community", "repo": "NUR", - "rev": "d1afc0cdb422b80617f69bd903c434c3664a8225", + "rev": "9ea0c40c52673079dfe50e82ddbb78679723be05", "type": "github" }, "original": { From 270bd7dbf0ea78b2ff9af535f993339ba6c04f2c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 19:14:46 +0100 Subject: [PATCH 1665/2258] Refactor secrets --- secrets.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/secrets.nix b/secrets.nix index 95ab9a04..c1968d74 100644 --- a/secrets.nix +++ b/secrets.nix @@ -8,9 +8,9 @@ let t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; - opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; - - users = [ opdavies ]; + users = { + opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + }; in { "secrets/cloudflare.age".publicKeys = [ @@ -21,8 +21,9 @@ in hosts.t490 ] ++ users; - "secrets/tubearchivist.age".publicKeys = [ - hosts.lemp11 + "secrets/cloudflare.age".publicKeys = [ + hosts.hetznix hosts.nixedo + hosts.t480 ] ++ users; } From 3e300ffe6bb08002827ea599db38668a468a216d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 22:01:18 +0100 Subject: [PATCH 1666/2258] Refactor imports --- hosts/nixedo/configuration.nix | 2 +- hosts/nixedo/modules/containers/default.nix | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 hosts/nixedo/modules/containers/default.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 3470a415..f2a72666 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -18,7 +18,7 @@ ./modules/acme.nix ./modules/audiobookshelf.nix - ./modules/containers/pi-hole.nix + ./modules/containers ./modules/forgejo.nix ./modules/immich.nix ./modules/jellyfin.nix diff --git a/hosts/nixedo/modules/containers/default.nix b/hosts/nixedo/modules/containers/default.nix new file mode 100644 index 00000000..5132a01b --- /dev/null +++ b/hosts/nixedo/modules/containers/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./pi-hole.nix + ]; +} From 11cf7782bc7b57ad5cc39b82371b38976798ed4f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 22:08:07 +0100 Subject: [PATCH 1667/2258] Add garfieldtech.com --- hosts/t480/modules/newsboat/urls.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/t480/modules/newsboat/urls.nix b/hosts/t480/modules/newsboat/urls.nix index 1b67bed4..cb00e167 100644 --- a/hosts/t480/modules/newsboat/urls.nix +++ b/hosts/t480/modules/newsboat/urls.nix @@ -290,4 +290,8 @@ } { url = "https://tinkerbetter.tube/feeds/videos.xml?videoChannelId=2"; } { url = "https://video.fosshq.org/feeds/videos.xml?videoChannelId=2"; } + { + url = "https://www.garfieldtech.com/blog/feed"; + tags = [ "PHP" ]; + } ] From 56ce0db1df774c1383c6ee53cee1381d1f7e2bbd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 17 Apr 2025 23:06:47 +0100 Subject: [PATCH 1668/2258] Re-add fzf and starship --- hosts/nixedo/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index f2a72666..3d64a206 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -12,6 +12,8 @@ mixins-common mixins-docker + mixins-fzf + mixins-starship mixins-zsh users-opdavies From d306dc6e46d8ad17cc05ca172cf47468d2f34ef4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 18 Apr 2025 00:57:06 +0100 Subject: [PATCH 1669/2258] Configure Cloudflare Tunnel to publicly serve ...services from homelab --- hosts/nixedo/configuration.nix | 1 + hosts/nixedo/modules/cloudflared.nix | 18 ++++++++++++++++++ hosts/nixedo/secrets.nix | 1 + secrets.nix | 10 ++++------ secrets/cloudflared-credentials.age | 17 +++++++++++++++++ 5 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 hosts/nixedo/modules/cloudflared.nix create mode 100644 secrets/cloudflared-credentials.age diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 3d64a206..e4c714f6 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -20,6 +20,7 @@ ./modules/acme.nix ./modules/audiobookshelf.nix + ./modules/cloudflared.nix ./modules/containers ./modules/forgejo.nix ./modules/immich.nix diff --git a/hosts/nixedo/modules/cloudflared.nix b/hosts/nixedo/modules/cloudflared.nix new file mode 100644 index 00000000..8038c8d8 --- /dev/null +++ b/hosts/nixedo/modules/cloudflared.nix @@ -0,0 +1,18 @@ +{ config, ... }: + +{ + services.cloudflared = { + enable = true; + + tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { + credentialsFile = config.age.secrets.cloudflared.path; + default = "http_status:404"; + + ingress = { + "test.oliverdavies.uk" = { + service = "http://localhost:8000"; + }; + }; + }; + }; +} diff --git a/hosts/nixedo/secrets.nix b/hosts/nixedo/secrets.nix index da8e7ae1..4ca1035f 100644 --- a/hosts/nixedo/secrets.nix +++ b/hosts/nixedo/secrets.nix @@ -1,6 +1,7 @@ { age.secrets = { cloudflare.file = ../../secrets/cloudflare.age; + cloudflared.file = ../../secrets/cloudflared-credentials.age; tubearchivist.file = ../../secrets/tubearchivist.age; }; } diff --git a/secrets.nix b/secrets.nix index c1968d74..17947d4d 100644 --- a/secrets.nix +++ b/secrets.nix @@ -8,9 +8,9 @@ let t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; - users = { - opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; - }; + opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + + users = [ opdavies ]; in { "secrets/cloudflare.age".publicKeys = [ @@ -21,9 +21,7 @@ in hosts.t490 ] ++ users; - "secrets/cloudflare.age".publicKeys = [ - hosts.hetznix + "secrets/cloudflared-credentials.age".publicKeys = [ hosts.nixedo - hosts.t480 ] ++ users; } diff --git a/secrets/cloudflared-credentials.age b/secrets/cloudflared-credentials.age new file mode 100644 index 00000000..dc592620 --- /dev/null +++ b/secrets/cloudflared-credentials.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g jeHVvTzxsEQOGls45oDKjDCWDSejIiPnSNZxnZRRPiQ +sapo+FofxdYGeidn49uEO+D+SDK9KKLRUAWJMoU5T10 +-> ssh-rsa +vTWQw +4SfYg8oc9eBd4zHYfDFYhUTmzHG4HGuz6wpcXMgmiemD5CIt+q2Q5ZzHnUhbfUsm +GIDlRFjN6JWbJSmzW3HpUt/t7WQVk44QyOD5azHM3d8ctcv7ana2npPukQKGqpWu +hWFX6amY5ng2yf1hfeeUgvhKIpDGxgnFKfAbNCheqdgWHWLaUpDSCuc0eugOziMD +RWEsLsHudpdWHtik0cB/Uwycpc/T09sOm2k36H2mMvtjeWdldSHezOcn0uO7Gs9H +OxpPdcuwTeisb6R3zI12ZAL/vEu/8h25OWNkfM64O4p/rkgPpbqhJBiIZL04vRcy +zLnq967b9RqqjmDZFPOkcZBtXm5ck1qo4UYDRck2wkQLfUNkHAYHnwO+29RxstA0 +ShQe1uUo68Hx17st/X2wwUZlnfhTcJ4IZwmuOiEZiNgmwbb9ZXBTi8myV1Tpgpkh +I0ooy/pU/tocS2/4XjYwcjRMmEcI0r7ESOgJmyzoakwM7Jbh3kaTDXd324vPYzhQ +SPvosb9VFNCQFuc02LOD1Psy74IEGp5xIMRKGxDE8VSnFFMiNpu3La6HRlrb6e4s +/G2OZ9lsrXSC8gyOF78olk1QMkuSvT6Lw56QhMbuC1XiVINd3+GKQNkE8T2BPAKS +P5PBYTbi0bZjqA4OwbBf+nSPxljUGed1R3IbpAvPM04 +--- 2VNOkmpXcK+ywl+DBli84MCED52jL/dPiIpzN82Xrqg +VByr=]]Q6>-3kP7Bi0sFԸϣn|f0ڡY$zU?""%%<ދ*yf^hVCNgm婪g=++v:u9#BS;Ji76h @7`$<!Yb$Em>5$fV3V"; \ No newline at end of file From ac7796044f5b9b19838a2b211b2c27fe0b4c8912 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 18 Apr 2025 02:04:30 +0100 Subject: [PATCH 1670/2258] Migrate bootstrap-with-tailwind to nixedo Serve it publicly from nixedo via the Cloudflare Tunnel. This is currently served locally on port 8000 using Docker until I migrate the Caddy configuration, but this shows a real production website being self hosted on my homelab and served via Cloudflare. --- hosts/nixedo/modules/cloudflared.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hosts/nixedo/modules/cloudflared.nix b/hosts/nixedo/modules/cloudflared.nix index 8038c8d8..06b36352 100644 --- a/hosts/nixedo/modules/cloudflared.nix +++ b/hosts/nixedo/modules/cloudflared.nix @@ -9,9 +9,7 @@ default = "http_status:404"; ingress = { - "test.oliverdavies.uk" = { - service = "http://localhost:8000"; - }; + "bootstrap-with-tailwind.oliverdavies.uk" = "http://localhost:8000"; }; }; }; From c2e4f80364c772240da85fa6c32034d994e3b56e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 18 Apr 2025 02:39:41 +0100 Subject: [PATCH 1671/2258] Migrate forgejo to nixedo --- hosts/hetznix/services/default.nix | 1 - hosts/hetznix/services/forgejo.nix | 30 ---------------------- hosts/nixedo/modules/forgejo.nix | 40 ++++++++++++------------------ 3 files changed, 16 insertions(+), 55 deletions(-) delete mode 100644 hosts/hetznix/services/forgejo.nix diff --git a/hosts/hetznix/services/default.nix b/hosts/hetznix/services/default.nix index 35838ce0..2e3779b0 100644 --- a/hosts/hetznix/services/default.nix +++ b/hosts/hetznix/services/default.nix @@ -1,7 +1,6 @@ { imports = [ ./caddy - ./forgejo.nix ./jitsi.nix ./openssl.nix ]; diff --git a/hosts/hetznix/services/forgejo.nix b/hosts/hetznix/services/forgejo.nix deleted file mode 100644 index 477af67e..00000000 --- a/hosts/hetznix/services/forgejo.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ config, ... }: - -{ - services = { - forgejo = { - enable = true; - - settings = { - server = { - DOMAIN = "code.oliverdavies.uk"; - HTTP_PORT = 2223; - ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; - SSH_DOMAIN = "ssh.oliverdavies.uk"; - }; - - service = { - DISABLE_REGISTRATION = true; - }; - }; - }; - - caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; - }; - - openssh.settings.AllowUsers = [ "forgejo" ]; - }; -} diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index cb9dc933..501b6147 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -1,34 +1,26 @@ -{ config, lib, ... }: - -with lib; +{ config, ... }: { - options.nixosModules.forgejo.enable = mkEnableOption "Enable forgejo"; + services = { + forgejo = { + enable = true; + stateDir = "/var/www/forgejo"; - config = mkIf config.nixosModules.forgejo.enable { - services = { - forgejo = { - enable = true; - group = "media"; - stateDir = "/mnt/media/forgejo"; + settings = { + server = { + DOMAIN = "code.oliverdavies.uk"; + HTTP_PORT = 2223; + }; - settings = { - server = { - DOMAIN = "forgejo.oliverdavies.uk"; - HTTP_PORT = 2223; - }; - - service = { - DISABLE_REGISTRATION = true; - }; + service = { + DISABLE_REGISTRATION = true; }; }; + }; - caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; - }; + cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466".ingress = { + "code.oliverdavies.uk" = + "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; }; }; } From ebf9778b429c781eee24c9e24293c10047e8c34a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 18 Apr 2025 18:28:17 +0100 Subject: [PATCH 1672/2258] Move static websites from hetznix to nixedo --- hosts/hetznix/services/caddy/default.nix | 5 -- ...ootstrap-with-tailwind.oliverdavies.uk.nix | 12 --- .../hetznix/services/caddy/vhosts/default.nix | 18 ---- hosts/hetznix/services/caddy/vhosts/eric.nix | 12 --- ...rupalcamp-tailwind-css.oliverdavies.uk.nix | 12 --- .../caddy/vhosts/luke.oliverdavies.uk.nix | 12 --- .../phpsw-sculpin-demo.oliverdavies.uk.nix | 12 --- .../rebuilding-acquia.oliverdavies.uk.nix | 12 --- .../rebuilding-bartik.oliverdavies.uk.nix | 12 --- .../rebuilding-bristol-js.oliverdavies.uk.nix | 12 --- .../rebuilding-symfony.oliverdavies.uk.nix | 12 --- .../tailwindcss-demo.oliverdavies.uk.nix | 12 --- ...ing-drupal-tailwindcss.oliverdavies.uk.nix | 12 --- .../vhosts/wp-tailwind.oliverdavies.uk.nix | 12 --- .../caddy/vhosts/www.oliverdavies.uk.nix | 71 --------------- .../caddy/vhosts/zet.oliverdavies.uk.nix | 12 --- hosts/hetznix/services/default.nix | 1 - hosts/nixedo/configuration.nix | 2 +- hosts/nixedo/modules/cloudflared.nix | 4 - hosts/nixedo/modules/nginx/default.nix | 51 +++++++++++ hosts/nixedo/modules/nginx/sites.nix | 87 +++++++++++++++++++ .../nginx}/www.oliverdavies.uk-redirects.nix | 0 .../modules/nginx/www.oliverdavies.uk.nix | 72 +++++++++++++++ hosts/nixedo/services.nix | 1 - 24 files changed, 211 insertions(+), 257 deletions(-) delete mode 100644 hosts/hetznix/services/caddy/default.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/default.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/eric.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix delete mode 100644 hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix create mode 100644 hosts/nixedo/modules/nginx/default.nix create mode 100644 hosts/nixedo/modules/nginx/sites.nix rename hosts/{hetznix/services/caddy/vhosts => nixedo/modules/nginx}/www.oliverdavies.uk-redirects.nix (100%) create mode 100644 hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix diff --git a/hosts/hetznix/services/caddy/default.nix b/hosts/hetznix/services/caddy/default.nix deleted file mode 100644 index 8fb54d34..00000000 --- a/hosts/hetznix/services/caddy/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - services.caddy.enable = true; - - imports = [ ./vhosts ]; -} diff --git a/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix deleted file mode 100644 index e89861ae..00000000 --- a/hosts/hetznix/services/caddy/vhosts/bootstrap-with-tailwind.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."bootstrap-with-tailwind.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/bootstrap-with-tailwind.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/default.nix b/hosts/hetznix/services/caddy/vhosts/default.nix deleted file mode 100644 index bcf8dbb8..00000000 --- a/hosts/hetznix/services/caddy/vhosts/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - imports = [ - ./bootstrap-with-tailwind.oliverdavies.uk.nix - ./eric.nix - ./florida-drupalcamp-tailwind-css.oliverdavies.uk.nix - ./luke.oliverdavies.uk.nix - ./phpsw-sculpin-demo.oliverdavies.uk.nix - ./rebuilding-acquia.oliverdavies.uk.nix - ./rebuilding-bartik.oliverdavies.uk.nix - ./rebuilding-bristol-js.oliverdavies.uk.nix - ./rebuilding-symfony.oliverdavies.uk.nix - ./tailwindcss-demo.oliverdavies.uk.nix - ./talking-drupal-tailwindcss.oliverdavies.uk.nix - ./wp-tailwind.oliverdavies.uk.nix - ./www.oliverdavies.uk.nix - ./zet.oliverdavies.uk.nix - ]; -} diff --git a/hosts/hetznix/services/caddy/vhosts/eric.nix b/hosts/hetznix/services/caddy/vhosts/eric.nix deleted file mode 100644 index fc6c44a9..00000000 --- a/hosts/hetznix/services/caddy/vhosts/eric.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."eric.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/eric - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix deleted file mode 100644 index cdb1623d..00000000 --- a/hosts/hetznix/services/caddy/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."florida-drupalcamp-tailwind-css.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/florida-drupalcamp-tailwind-css.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix deleted file mode 100644 index 3fdf2713..00000000 --- a/hosts/hetznix/services/caddy/vhosts/luke.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."luke.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/luke.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix deleted file mode 100644 index 5c3476df..00000000 --- a/hosts/hetznix/services/caddy/vhosts/phpsw-sculpin-demo.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."phpsw-sculpin-demo.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/phpsw-sculpin-demo.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix deleted file mode 100644 index 88d9407e..00000000 --- a/hosts/hetznix/services/caddy/vhosts/rebuilding-acquia.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."rebuilding-acquia.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/rebuilding-acquia.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix deleted file mode 100644 index a83aa182..00000000 --- a/hosts/hetznix/services/caddy/vhosts/rebuilding-bartik.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."rebuilding-bartik.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/rebuilding-bartik.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix deleted file mode 100644 index d842a2ee..00000000 --- a/hosts/hetznix/services/caddy/vhosts/rebuilding-bristol-js.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."rebuilding-bristol-js.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/rebuilding-bristol-js.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix deleted file mode 100644 index c7b08be4..00000000 --- a/hosts/hetznix/services/caddy/vhosts/rebuilding-symfony.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."rebuilding-symfony.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/rebuilding-symfony.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix deleted file mode 100644 index f3b9d398..00000000 --- a/hosts/hetznix/services/caddy/vhosts/tailwindcss-demo.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."tailwindcss-demo.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/tailwindcss-demo.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix deleted file mode 100644 index 5df66a61..00000000 --- a/hosts/hetznix/services/caddy/vhosts/talking-drupal-tailwindcss.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."talking-drupal-tailwindcss.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/talking-drupal-tailwindcss.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix deleted file mode 100644 index e951adc6..00000000 --- a/hosts/hetznix/services/caddy/vhosts/wp-tailwind.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."wp-tailwind.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/wp-tailwind.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix deleted file mode 100644 index 9ed00809..00000000 --- a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ - services.caddy.virtualHosts = { - "oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - redir https://www.oliverdavies.uk{uri} - ''; - }; - - "www.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = - let - tomePaths = [ - "core" - "sites/default/files" - "themes/custom/opdavies" - "tome-test" - ]; - - tomeConfig = builtins.concatStringsSep "\n\n" ( - builtins.map (path: '' - handle /${path} { - root * /var/www/vhosts/www.oliverdavies.uk-tome - file_server - } - - handle_path /${path}/* { - root * /var/www/vhosts/www.oliverdavies.uk-tome/${path} - file_server - } - '') tomePaths - ); - - redirects = import ./www.oliverdavies.uk-redirects.nix; - - redirectLines = builtins.concatStringsSep "\n" ( - map (r: "redir ${r.from} ${r.to} permanent") redirects - ); - in - '' - encode gzip - file_server - root * /var/www/vhosts/www.oliverdavies.uk-sculpin - - handle_errors { - @404 { - expression {http.error.status_code} == 404 - } - - rewrite @404 /404/index.html - file_server - } - - ${tomeConfig} - - @articles path_regexp ^/articles/(.*)$ - @talks path_regexp ^/talks/(.*)$ - @talks-archive path_regexp ^/talks/archive/(.*)$ - - redir @articles /blog/{re.1} permanent - redir @talks-archive /presentations/{re.1} permanent - redir @talks /presentations/{re.1} permanent - - ${redirectLines} - ''; - }; - }; -} diff --git a/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix b/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix deleted file mode 100644 index da45a2b1..00000000 --- a/hosts/hetznix/services/caddy/vhosts/zet.oliverdavies.uk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.caddy.virtualHosts."zet.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = '' - encode gzip - root * /var/www/vhosts/zet.oliverdavies.uk - file_server - header X-Robots-Tag "noindex, nofollow" - ''; - }; -} diff --git a/hosts/hetznix/services/default.nix b/hosts/hetznix/services/default.nix index 2e3779b0..55974127 100644 --- a/hosts/hetznix/services/default.nix +++ b/hosts/hetznix/services/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./caddy ./jitsi.nix ./openssl.nix ]; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index e4c714f6..d5f251cf 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -8,7 +8,6 @@ imports = with inputs.self.nixosModules; [ ./hardware-configuration.nix ./secrets.nix - ./services.nix mixins-common mixins-docker @@ -25,6 +24,7 @@ ./modules/forgejo.nix ./modules/immich.nix ./modules/jellyfin.nix + ./modules/nginx ./modules/paperless.nix ]; diff --git a/hosts/nixedo/modules/cloudflared.nix b/hosts/nixedo/modules/cloudflared.nix index 06b36352..4ec15b0f 100644 --- a/hosts/nixedo/modules/cloudflared.nix +++ b/hosts/nixedo/modules/cloudflared.nix @@ -7,10 +7,6 @@ tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { credentialsFile = config.age.secrets.cloudflared.path; default = "http_status:404"; - - ingress = { - "bootstrap-with-tailwind.oliverdavies.uk" = "http://localhost:8000"; - }; }; }; } diff --git a/hosts/nixedo/modules/nginx/default.nix b/hosts/nixedo/modules/nginx/default.nix new file mode 100644 index 00000000..0975dfbf --- /dev/null +++ b/hosts/nixedo/modules/nginx/default.nix @@ -0,0 +1,51 @@ +let + sites = import ./sites.nix; +in +{ + services = { + nginx = { + enable = true; + + virtualHosts = builtins.listToAttrs ( + map (site: { + name = site.url; + + value = { + root = site.root; + + listen = [ + { + addr = "localhost"; + port = site.port; + } + ]; + + locations."/".tryFiles = "$uri $uri/index.html =404"; + + extraConfig = builtins.concatStringsSep "\n\n" [ + site.extraConfig or "" + + '' + port_in_redirect off; + + # Remove trailing slashes. + rewrite ^/(.*)/$ /$1 permanent; + '' + ]; + }; + }) sites + ); + }; + + cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { + ingress = builtins.listToAttrs ( + map (site: { + name = site.url; + value = "http://localhost:${toString site.port}"; + }) sites + ); + }; + }; + + imports = [ ./www.oliverdavies.uk.nix ]; +} diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix new file mode 100644 index 00000000..c8b3983e --- /dev/null +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -0,0 +1,87 @@ +[ + { + url = "bootstrap-with-tailwind.oliverdavies.uk"; + root = "/var/www/bootstrap-with-tailwind"; + port = 8081; + } + + { + port = 8084; + root = "/var/www/eric"; + url = "eric.oliverdavies.uk"; + + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + } + + { + port = 8083; + root = "/var/www/florida-drupalcamp-tailwind-css"; + url = "florida-drupalcamp-tailwind-css.oliverdavies.uk"; + } + + { + port = 8094; + root = "/var/www/luke"; + url = "luke.oliverdavies.uk"; + + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + } + + { + port = 8085; + root = "/var/www/phpsw-sculpin-demo"; + url = "phpsw-sculpin-demo.oliverdavies.uk"; + } + + { + port = 8086; + root = "/var/www/rebuilding-acquia"; + url = "rebuilding-acquia.oliverdavies.uk"; + } + + { + port = 8087; + root = "/var/www/rebuilding-bartik"; + url = "rebuilding-bartik.oliverdavies.uk"; + } + + { + port = 8088; + root = "/var/www/rebuilding-bristol-js"; + url = "rebuilding-bristol-js.oliverdavies.uk"; + } + + { + port = 8089; + root = "/var/www/rebuilding-symfony"; + url = "rebuilding-symfony.oliverdavies.uk"; + } + + { + port = 8090; + root = "/var/www/tailwindcss-demo"; + url = "tailwindcss-demo.oliverdavies.uk"; + } + + { + port = 8091; + root = "/var/www/wp-tailwind"; + url = "wp-tailwind.oliverdavies.uk"; + } + + { + port = 8092; + root = "/var/www/zet"; + url = "zet.oliverdavies.uk"; + } + + { + port = 8093; + root = "/var/www/talking-drupal-tailwindcss"; + url = "talking-drupal-tailwindcss.oliverdavies.uk"; + } +] diff --git a/hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk-redirects.nix similarity index 100% rename from hosts/hetznix/services/caddy/vhosts/www.oliverdavies.uk-redirects.nix rename to hosts/nixedo/modules/nginx/www.oliverdavies.uk-redirects.nix diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix new file mode 100644 index 00000000..28173837 --- /dev/null +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix @@ -0,0 +1,72 @@ +let + port = 8095; + + redirects = import ./www.oliverdavies.uk-redirects.nix; + + redirectLines = builtins.concatStringsSep "\n" ( + map (r: "rewrite ^${r.from}/?$ ${r.to} redirect;") redirects + ); + + tomePaths = [ + "core" + "sites/default/files" + "themes/custom/opdavies" + "tome-test" + ]; + + tomeLocations = builtins.listToAttrs ( + map (path: { + name = "/${path}"; + + value = { + root = "/var/www/website-tome"; + tryFiles = "$uri $uri.html $uri/index.html =404"; + }; + }) tomePaths + ); +in +{ + services = { + nginx.virtualHosts = { + "www.oliverdavies.uk" = { + root = "/var/www/website-sculpin"; + + listen = [ + { + inherit port; + + addr = "localhost"; + } + ]; + + locations = tomeLocations // { + "/".tryFiles = "$uri $uri.html $uri/index.html =404"; + }; + + extraConfig = '' + port_in_redirect off; + + # Remove trailing slashes. + rewrite ^/(.*)/$ /$1 permanent; + + error_page 404 /404; + + rewrite ^/talks/archive/?$ /talks permanent; + rewrite ^/talks/(.*)$ /presentations/$1 permanent; + rewrite ^/talks/?$ /presentations permanent; + + ${redirectLines} + ''; + }; + + "oliverdavies.uk".globalRedirect = "www.oliverdavies.uk"; + }; + + cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { + ingress = { + "oliverdavies.uk" = "http://localhost:${toString port}"; + "www.oliverdavies.uk" = "http://localhost:${toString port}"; + }; + }; + }; +} diff --git a/hosts/nixedo/services.nix b/hosts/nixedo/services.nix index 273b8b2f..272c30d0 100644 --- a/hosts/nixedo/services.nix +++ b/hosts/nixedo/services.nix @@ -1,6 +1,5 @@ { services = { - caddy.enable = true; openssh.enable = true; }; } From fa3bee371f7e0dbf310ae7946c0728a4e907c4ee Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 18 Apr 2025 22:58:06 +0100 Subject: [PATCH 1673/2258] Remove hetznix Forgejo and all static websites have been moved to nixedo. --- flake.nix | 11 ----- hosts/hetznix/configuration.nix | 47 ------------------- hosts/hetznix/disks.nix | 57 ------------------------ hosts/hetznix/hardware-configuration.nix | 37 --------------- hosts/hetznix/networking.nix | 19 -------- hosts/hetznix/secrets.nix | 5 --- hosts/hetznix/security/acme.nix | 20 --------- hosts/hetznix/security/default.nix | 3 -- hosts/hetznix/services/default.nix | 6 --- hosts/hetznix/services/jitsi.nix | 25 ----------- hosts/hetznix/services/openssl.nix | 10 ----- 11 files changed, 240 deletions(-) delete mode 100644 hosts/hetznix/configuration.nix delete mode 100644 hosts/hetznix/disks.nix delete mode 100644 hosts/hetznix/hardware-configuration.nix delete mode 100644 hosts/hetznix/networking.nix delete mode 100644 hosts/hetznix/secrets.nix delete mode 100644 hosts/hetznix/security/acme.nix delete mode 100644 hosts/hetznix/security/default.nix delete mode 100644 hosts/hetznix/services/default.nix delete mode 100644 hosts/hetznix/services/jitsi.nix delete mode 100644 hosts/hetznix/services/openssl.nix diff --git a/flake.nix b/flake.nix index 0caf4d02..eb875647 100644 --- a/flake.nix +++ b/flake.nix @@ -138,17 +138,6 @@ ./hosts/PW05CH3L/configuration.nix ]; }; - - hetznix = nixpkgs.lib.nixosSystem { - inherit system; - - modules = [ - agenix.nixosModules.default - disko.nixosModules.disko - - ./hosts/hetznix/configuration.nix - ]; - }; }; nixosModules = import ./modules { lib = nixpkgs.lib; }; diff --git a/hosts/hetznix/configuration.nix b/hosts/hetznix/configuration.nix deleted file mode 100644 index bef69384..00000000 --- a/hosts/hetznix/configuration.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - inputs, - lib, - modulesPath, - pkgs, - ... -}: -{ - imports = with inputs.self.nixosModules; [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - - ./disks.nix - ./hardware-configuration.nix - ./networking.nix - ./secrets.nix - ./security - ./services - - ../../modules/users/opdavies.nix - ]; - - nix = { - extraOptions = '' - trusted-users = root opdavies - ''; - }; - - boot.loader.grub = { - efiSupport = true; - efiInstallAsRemovable = true; - }; - - environment.systemPackages = map lib.lowPrio [ - pkgs.curl - pkgs.gitMinimal - pkgs.tree - pkgs.vim - pkgs.wget - ]; - - users.users.root.openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw== opdavies@lemp11" - ]; - - system.stateVersion = "24.05"; -} diff --git a/hosts/hetznix/disks.nix b/hosts/hetznix/disks.nix deleted file mode 100644 index d380ab8e..00000000 --- a/hosts/hetznix/disks.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib, ... }: - -{ - disko.devices = { - disk.disk1 = { - device = lib.mkDefault "/dev/sda"; - type = "disk"; - content = { - type = "gpt"; - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - esp = { - name = "ESP"; - size = "500M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - }; - }; - root = { - name = "root"; - size = "100%"; - content = { - type = "lvm_pv"; - vg = "pool"; - }; - }; - }; - }; - }; - - lvm_vg = { - pool = { - type = "lvm_vg"; - lvs = { - root = { - size = "100%FREE"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - mountOptions = [ - "defaults" - ]; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/hetznix/hardware-configuration.nix b/hosts/hetznix/hardware-configuration.nix deleted file mode 100644 index 986b7adb..00000000 --- a/hosts/hetznix/hardware-configuration.nix +++ /dev/null @@ -1,37 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: - -{ - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ - "ahci" - "xhci_pci" - "virtio_pci" - "virtio_scsi" - "sd_mod" - "sr_mod" - ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/hosts/hetznix/networking.nix b/hosts/hetznix/networking.nix deleted file mode 100644 index 56da7730..00000000 --- a/hosts/hetznix/networking.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - networking = { - firewall.allowedTCPPorts = [ - 80 - 443 - ]; - - interfaces.enp1s0 = { - useDHCP = true; - - ipv4.addresses = [ - { - address = "116.203.11.255"; - prefixLength = 32; - } - ]; - }; - }; -} diff --git a/hosts/hetznix/secrets.nix b/hosts/hetznix/secrets.nix deleted file mode 100644 index e2032222..00000000 --- a/hosts/hetznix/secrets.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - age.secrets = { - cloudflare.file = ../../secrets/cloudflare.age; - }; -} diff --git a/hosts/hetznix/security/acme.nix b/hosts/hetznix/security/acme.nix deleted file mode 100644 index cd69ffc5..00000000 --- a/hosts/hetznix/security/acme.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ config, ... }: - -{ - security.acme = { - acceptTerms = true; - - defaults = { - dnsProvider = "cloudflare"; - email = "oliver@oliverdavies.uk"; - environmentFile = config.age.secrets.cloudflare.path; - webroot = null; - }; - - certs."oliverdavies.uk" = { - domain = "oliverdavies.uk"; - - extraDomainNames = [ "*.oliverdavies.uk" ]; - }; - }; -} diff --git a/hosts/hetznix/security/default.nix b/hosts/hetznix/security/default.nix deleted file mode 100644 index e8ee8aa6..00000000 --- a/hosts/hetznix/security/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - imports = [ ./acme.nix ]; -} diff --git a/hosts/hetznix/services/default.nix b/hosts/hetznix/services/default.nix deleted file mode 100644 index 55974127..00000000 --- a/hosts/hetznix/services/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./jitsi.nix - ./openssl.nix - ]; -} diff --git a/hosts/hetznix/services/jitsi.nix b/hosts/hetznix/services/jitsi.nix deleted file mode 100644 index 3481c8ac..00000000 --- a/hosts/hetznix/services/jitsi.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - services = { - jitsi-meet = { - enable = false; - caddy.enable = true; - nginx.enable = false; - secureDomain.enable = true; - - hostName = "meet.oliverdavies.uk"; - - prosody = { - enable = true; - lockdown = true; - }; - - jicofo = { - enable = true; - }; - }; - }; - - nixpkgs.config.permittedInsecurePackages = [ - "jitsi-meet-1.0.8043" - ]; -} diff --git a/hosts/hetznix/services/openssl.nix b/hosts/hetznix/services/openssl.nix deleted file mode 100644 index 53e4fded..00000000 --- a/hosts/hetznix/services/openssl.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.openssh = { - enable = true; - - settings = { - AllowUsers = [ "opdavies" ]; - PermitRootLogin = "no"; - }; - }; -} From 791d2067642800b848453a345c2af0612773699d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 18 Apr 2025 23:12:16 +0100 Subject: [PATCH 1674/2258] Extract an openssh mixin --- hosts/nixedo/configuration.nix | 1 + hosts/nixedo/services.nix | 5 ----- hosts/t480/configuration.nix | 1 - modules/mixins/openssh.nix | 14 ++++++++++++++ 4 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 hosts/nixedo/services.nix create mode 100644 modules/mixins/openssh.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index d5f251cf..e218ec5b 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -12,6 +12,7 @@ mixins-common mixins-docker mixins-fzf + mixins-openssh mixins-starship mixins-zsh diff --git a/hosts/nixedo/services.nix b/hosts/nixedo/services.nix deleted file mode 100644 index 272c30d0..00000000 --- a/hosts/nixedo/services.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - services = { - openssh.enable = true; - }; -} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 70d39844..0d44fb32 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -133,7 +133,6 @@ in }; gvfs.enable = true; - openssh.enable = true; power-profiles-daemon.enable = false; printing.enable = true; pulseaudio.enable = false; diff --git a/modules/mixins/openssh.nix b/modules/mixins/openssh.nix new file mode 100644 index 00000000..542ca976 --- /dev/null +++ b/modules/mixins/openssh.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + services.openssh = { + enable = true; + + openFirewall = lib.mkForce true; + + settings = { + PasswordAuthentication = false; + PermitRootLogin = lib.mkForce "no"; + }; + }; +} From 828985d76fa2b999406ed80730e70d84b6ae2aea Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 19 Apr 2025 11:45:23 +0100 Subject: [PATCH 1675/2258] Simplify nixedo modules --- hosts/nixedo/configuration.nix | 8 - hosts/nixedo/modules/audiobookshelf.nix | 27 ++-- hosts/nixedo/modules/containers/pi-hole.nix | 157 +++++++++----------- hosts/nixedo/modules/immich.nix | 21 +-- hosts/nixedo/modules/jellyfin.nix | 12 +- hosts/nixedo/modules/paperless.nix | 31 ++-- 6 files changed, 102 insertions(+), 154 deletions(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index e218ec5b..ed39e6f2 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -29,14 +29,6 @@ ./modules/paperless.nix ]; - nixosModules = { - audiobookshelf.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - }; - programs.dconf.enable = true; services.logind.lidSwitchExternalPower = "ignore"; diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index 2701379f..4d424c53 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -1,26 +1,17 @@ -{ config, lib, ... }: +{ config, ... }: -with lib; - -let - cfg = config.nixosModules.audiobookshelf; -in { - options.nixosModules.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; + services = { + audiobookshelf = { + enable = true; - config = mkIf cfg.enable { - services = { - audiobookshelf = { - enable = true; + port = 4001; + }; - port = 4001; - }; + caddy.virtualHosts."audiobookshelf.oliverdavies.uk" = { + useACMEHost = "oliverdavies.uk"; - caddy.virtualHosts."audiobookshelf.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString config.services.audiobookshelf.port}"; - }; + extraConfig = "reverse_proxy localhost:${toString config.services.audiobookshelf.port}"; }; }; } diff --git a/hosts/nixedo/modules/containers/pi-hole.nix b/hosts/nixedo/modules/containers/pi-hole.nix index 1e4ad2c7..9e125af7 100644 --- a/hosts/nixedo/modules/containers/pi-hole.nix +++ b/hosts/nixedo/modules/containers/pi-hole.nix @@ -1,101 +1,90 @@ -{ - config, - pkgs, - lib, - ... -}: - -with lib; +{ pkgs, lib, ... }: let port = 8082; in { - options.nixosModules.pihole.enable = mkEnableOption "Enable pihole"; - - config = mkIf config.nixosModules.pihole.enable { - virtualisation = { - docker = { - enable = true; - autoPrune.enable = true; - }; - - oci-containers = { - backend = "docker"; - - containers."pihole" = { - image = "pihole/pihole:latest"; - - environment = { - "PIHOLE_DNS_1" = "8.8.8.8"; - "PIHOLE_DNS_2" = "8.8.4.4"; - "TZ" = "Europe/London"; - }; - - volumes = [ - "/home/opdavies/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" - "/home/opdavies/pihole/etc-pihole:/etc/pihole:rw" - ]; - - ports = [ - "53:53/tcp" - "53:53/udp" - "67:67/udp" - "${toString port}:80/tcp" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--cap-add=NET_ADMIN" - "--network-alias=pihole" - "--network=pihole_default" - ]; - }; - }; + virtualisation = { + docker = { + enable = true; + autoPrune.enable = true; }; - systemd = { - services = { - "docker-pihole" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; + oci-containers = { + backend = "docker"; - after = [ "docker-network-pihole_default.service" ]; - requires = [ "docker-network-pihole_default.service" ]; - partOf = [ "docker-compose-pihole-root.target" ]; - wantedBy = [ "docker-compose-pihole-root.target" ]; + containers."pihole" = { + image = "pihole/pihole:latest"; + + environment = { + "PIHOLE_DNS_1" = "8.8.8.8"; + "PIHOLE_DNS_2" = "8.8.4.4"; + "TZ" = "Europe/London"; }; - "docker-network-pihole_default" = { - path = [ pkgs.docker ]; + volumes = [ + "/home/opdavies/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" + "/home/opdavies/pihole/etc-pihole:/etc/pihole:rw" + ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f pihole_default"; - }; + ports = [ + "53:53/tcp" + "53:53/udp" + "67:67/udp" + "${toString port}:80/tcp" + ]; - script = '' - docker network inspect pihole_default || docker network create pihole_default - ''; + log-driver = "journald"; - partOf = [ "docker-compose-pihole-root.target" ]; - wantedBy = [ "docker-compose-pihole-root.target" ]; - }; - }; - - targets."docker-compose-pihole-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; + extraOptions = [ + "--cap-add=NET_ADMIN" + "--network-alias=pihole" + "--network=pihole_default" + ]; }; }; }; + + systemd = { + services = { + "docker-pihole" = { + serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartMaxDelaySec = lib.mkOverride 90 "1m"; + RestartSec = lib.mkOverride 90 "100ms"; + RestartSteps = lib.mkOverride 90 9; + }; + + after = [ "docker-network-pihole_default.service" ]; + requires = [ "docker-network-pihole_default.service" ]; + partOf = [ "docker-compose-pihole-root.target" ]; + wantedBy = [ "docker-compose-pihole-root.target" ]; + }; + + "docker-network-pihole_default" = { + path = [ pkgs.docker ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f pihole_default"; + }; + + script = '' + docker network inspect pihole_default || docker network create pihole_default + ''; + + partOf = [ "docker-compose-pihole-root.target" ]; + wantedBy = [ "docker-compose-pihole-root.target" ]; + }; + }; + + targets."docker-compose-pihole-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + + wantedBy = [ "multi-user.target" ]; + }; + }; } diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index c015020d..d9ce6128 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -1,28 +1,19 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; +{ config, pkgs, ... }: { - options.nixosModules.immich.enable = mkEnableOption "Enable immich"; - - config = mkIf config.nixosModules.immich.enable { - services.immich = { + services = { + immich = { enable = true; group = "media"; mediaLocation = "/mnt/media/immich"; }; - environment.systemPackages = [ pkgs.immich-cli ]; - - services.caddy.virtualHosts."immich.oliverdavies.uk" = { + caddy.virtualHosts."immich.oliverdavies.uk" = { useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:${toString config.services.immich.port}"; }; }; + + environment.systemPackages = [ pkgs.immich-cli ]; } diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index ea8e21e3..69f1bc16 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -1,19 +1,13 @@ -{ config, lib, ... }: - -with lib; - { - options.nixosModules.jellyfin.enable = mkEnableOption "Enable jellyfin"; - - config = mkIf config.nixosModules.jellyfin.enable { - services.jellyfin = { + services = { + jellyfin = { enable = true; openFirewall = true; group = "media"; configDir = "/mnt/media/jellyfin"; }; - services.caddy.virtualHosts."jellyfin.oliverdavies.uk" = { + caddy.virtualHosts."jellyfin.oliverdavies.uk" = { useACMEHost = "oliverdavies.uk"; extraConfig = "reverse_proxy localhost:8096"; diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 907731bf..3fdbb146 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -1,30 +1,21 @@ -{ config, lib, ... }: +{ config, ... }: -with lib; - -let - url = "paperless.oliverdavies.uk"; -in { - options.nixosModules.paperless.enable = mkEnableOption "Enable paperless"; + services = { + paperless = { + enable = true; - config = mkIf config.nixosModules.paperless.enable { - services = { - paperless = { - enable = true; + dataDir = "/mnt/media/paperless"; - dataDir = "/mnt/media/paperless"; - - settings = { - PAPERLESS_URL = "https://${url}"; - }; + settings = { + PAPERLESS_URL = "https://paperless.oliverdavies.uk"; }; + }; - caddy.virtualHosts."${url}" = { - useACMEHost = "oliverdavies.uk"; + caddy.virtualHosts."${config.services.paperless.settings.PAPERLESS_URL}" = { + useACMEHost = "oliverdavies.uk"; - extraConfig = "reverse_proxy localhost:28981"; - }; + extraConfig = "reverse_proxy localhost:28981"; }; }; } From a13fa9b4f9412b97c35ba76c89055346f1798b33 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 19 Apr 2025 12:11:27 +0100 Subject: [PATCH 1676/2258] flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index ab499215..909ae6a7 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1744145203, - "narHash": "sha256-I2oILRiJ6G+BOSjY+0dGrTPe080L3pbKpc+gCV3Nmyk=", + "lastModified": 1744940522, + "narHash": "sha256-TNoetfICvd29DhxRPpmyKItQBDlqSvKcV+wGNkn14jk=", "owner": "nix-community", "repo": "disko", - "rev": "76c0a6dba345490508f36c1aa3c7ba5b6b460989", + "rev": "51d33bbb7f1e74ba5f9d9a77357735149da99081", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1744902080, - "narHash": "sha256-px7OEMQYhS9StY3sTYYeM/jJspk6SXgoPU7OmOSx+1c=", + "lastModified": 1745033012, + "narHash": "sha256-KjBMsjCzIOWgDqTZMYIriPFmHiQcCb2RhuDh5JF0VVc=", "owner": "nix-community", "repo": "home-manager", - "rev": "2c71aae678c03a39c2542e136b87bd040ae1b3cb", + "rev": "ae84885d9b6b62dc58ccd300e9ab321a3fd9f9c7", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1744910415, - "narHash": "sha256-mtb99yEpghJKQL3xpWfEsp0zx8UiqSrt5BN3e0n8kVs=", + "lastModified": 1745059406, + "narHash": "sha256-H7j0saoCo9SY669hRVhHboie3xMqg3pJfxZxMl01Js0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ec237aaad5a720b39223fcce41676b0c40307372", + "rev": "1f84e10240dece7769a6abb14115b471c15d622b", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1744932701, + "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1744932701, + "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744904898, - "narHash": "sha256-wLepe0sdFFgXUOLY2t+GrfjBquiGFgNydQkQYGh6UwQ=", + "lastModified": 1745059592, + "narHash": "sha256-cF1ZnQVsSMMNOnjJSDodHO0TIYU5lEfLgIBcMvdY00Q=", "owner": "nix-community", "repo": "NUR", - "rev": "9ea0c40c52673079dfe50e82ddbb78679723be05", + "rev": "9ac6f7fa6bc83b6069f08448ffcae88c35603b70", "type": "github" }, "original": { From bab7b812ae20294584ffe5f73fe6478ff40b7779 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 19 Apr 2025 23:33:10 +0100 Subject: [PATCH 1677/2258] Update root --- hosts/nixedo/modules/nginx/sites.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index c8b3983e..9b9a0df8 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -7,7 +7,7 @@ { port = 8084; - root = "/var/www/eric"; + root = "/var/www/eric/public"; url = "eric.oliverdavies.uk"; extraConfig = '' From ffef2a8f6f2eacfd1f600e01ce8bdfebfb8253c8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 11:12:29 +0100 Subject: [PATCH 1678/2258] Update sha256 --- pkgs/displayselect/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/displayselect/default.nix b/pkgs/displayselect/default.nix index fb12b364..a16254e2 100644 --- a/pkgs/displayselect/default.nix +++ b/pkgs/displayselect/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { owner = "lukesmithxyz"; repo = "voidrice"; rev = "master"; - sha256 = "u4iy2p9i5ORLHcKmAOHVJNaKfYbt+SYUYKblgsRevN8="; + sha256 = "sha256-9U1Do0w2oT5E6uZxSKoHAzbGbSLQRQlT65KcPGzwhW8="; }; buildInputs = [ From fab9c6bb4456b893a61057ac15278cf407a91933 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 12:36:20 +0100 Subject: [PATCH 1679/2258] Update source hostname and path --- pkgs/backup-websites.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/backup-websites.nix b/pkgs/backup-websites.nix index 5ca8cb7f..663cb904 100644 --- a/pkgs/backup-websites.nix +++ b/pkgs/backup-websites.nix @@ -8,6 +8,6 @@ pkgs.writeShellApplication { mkdir -p "''${backup_path}" - ${lib.getExe pkgs.rsync} -avzP ssh.oliverdavies.uk:/var/www/vhosts/ "''${backup_path}" --delete-after + ${lib.getExe pkgs.rsync} -avzP nixedo:/var/www/ "''${backup_path}" --delete-after ''; } From 5b67a48d80951fa6d234f76db80cf03505479417 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 12:36:43 +0100 Subject: [PATCH 1680/2258] Migrate Pi-hole from Docker to Podman --- hosts/nixedo/configuration.nix | 2 +- hosts/nixedo/modules/containers/pi-hole.nix | 101 +++++--------------- modules/mixins/podman.nix | 16 ++++ 3 files changed, 42 insertions(+), 77 deletions(-) create mode 100644 modules/mixins/podman.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index ed39e6f2..b081f823 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -10,9 +10,9 @@ ./secrets.nix mixins-common - mixins-docker mixins-fzf mixins-openssh + mixins-podman mixins-starship mixins-zsh diff --git a/hosts/nixedo/modules/containers/pi-hole.nix b/hosts/nixedo/modules/containers/pi-hole.nix index 9e125af7..9923d87d 100644 --- a/hosts/nixedo/modules/containers/pi-hole.nix +++ b/hosts/nixedo/modules/containers/pi-hole.nix @@ -1,90 +1,39 @@ -{ pkgs, lib, ... }: +{ lib, ... }: let port = 8082; in { - virtualisation = { - docker = { - enable = true; - autoPrune.enable = true; + virtualisation.oci-containers.containers."pihole" = { + image = "pihole/pihole:latest"; + + environment = { + PIHOLE_DNS_1 = "8.8.8.8"; + PIHOLE_DNS_2 = "8.8.4.4"; + TZ = "Europe/London"; }; - oci-containers = { - backend = "docker"; + volumes = [ + "/home/opdavies/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" + "/home/opdavies/pihole/etc-pihole:/etc/pihole:rw" + ]; - containers."pihole" = { - image = "pihole/pihole:latest"; + ports = [ + "53:53/tcp" + "53:53/udp" + "67:67/udp" + "${toString port}:80/tcp" + ]; - environment = { - "PIHOLE_DNS_1" = "8.8.8.8"; - "PIHOLE_DNS_2" = "8.8.4.4"; - "TZ" = "Europe/London"; - }; + log-driver = "journald"; - volumes = [ - "/home/opdavies/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:rw" - "/home/opdavies/pihole/etc-pihole:/etc/pihole:rw" - ]; - - ports = [ - "53:53/tcp" - "53:53/udp" - "67:67/udp" - "${toString port}:80/tcp" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--cap-add=NET_ADMIN" - "--network-alias=pihole" - "--network=pihole_default" - ]; - }; - }; + extraOptions = [ + "--cap-add=NET_ADMIN" + ]; }; - systemd = { - services = { - "docker-pihole" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - - after = [ "docker-network-pihole_default.service" ]; - requires = [ "docker-network-pihole_default.service" ]; - partOf = [ "docker-compose-pihole-root.target" ]; - wantedBy = [ "docker-compose-pihole-root.target" ]; - }; - - "docker-network-pihole_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f pihole_default"; - }; - - script = '' - docker network inspect pihole_default || docker network create pihole_default - ''; - - partOf = [ "docker-compose-pihole-root.target" ]; - wantedBy = [ "docker-compose-pihole-root.target" ]; - }; - }; - - targets."docker-compose-pihole-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; - }; + systemd.services."podman-pihole".serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartSec = lib.mkOverride 90 "1s"; }; } diff --git a/modules/mixins/podman.nix b/modules/mixins/podman.nix new file mode 100644 index 00000000..05c99288 --- /dev/null +++ b/modules/mixins/podman.nix @@ -0,0 +1,16 @@ +{ + virtualisation = { + oci-containers.backend = "podman"; + + podman = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; + }; + + users.users.opdavies.extraGroups = [ "podman" ]; +} From a71ce4b5fd1a5217f64ae1a31f62da9cc610da7f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 12:58:45 +0100 Subject: [PATCH 1681/2258] Move websites into vhosts So it doesn't clash with Forgejo which is currently in /var/www/forgejo. --- hosts/nixedo/modules/nginx/sites.nix | 26 +++++++++---------- .../modules/nginx/www.oliverdavies.uk.nix | 4 +-- pkgs/backup-websites.nix | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 9b9a0df8..30c344c2 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -1,13 +1,13 @@ [ { url = "bootstrap-with-tailwind.oliverdavies.uk"; - root = "/var/www/bootstrap-with-tailwind"; + root = "/var/www/vhosts/bootstrap-with-tailwind"; port = 8081; } { port = 8084; - root = "/var/www/eric/public"; + root = "/var/www/vhosts/eric/public"; url = "eric.oliverdavies.uk"; extraConfig = '' @@ -17,13 +17,13 @@ { port = 8083; - root = "/var/www/florida-drupalcamp-tailwind-css"; + root = "/var/www/vhosts/florida-drupalcamp-tailwind-css"; url = "florida-drupalcamp-tailwind-css.oliverdavies.uk"; } { port = 8094; - root = "/var/www/luke"; + root = "/var/www/vhosts/luke"; url = "luke.oliverdavies.uk"; extraConfig = '' @@ -33,55 +33,55 @@ { port = 8085; - root = "/var/www/phpsw-sculpin-demo"; + root = "/var/www/vhosts/phpsw-sculpin-demo"; url = "phpsw-sculpin-demo.oliverdavies.uk"; } { port = 8086; - root = "/var/www/rebuilding-acquia"; + root = "/var/www/vhosts/rebuilding-acquia"; url = "rebuilding-acquia.oliverdavies.uk"; } { port = 8087; - root = "/var/www/rebuilding-bartik"; + root = "/var/www/vhosts/rebuilding-bartik"; url = "rebuilding-bartik.oliverdavies.uk"; } { port = 8088; - root = "/var/www/rebuilding-bristol-js"; + root = "/var/www/vhosts/rebuilding-bristol-js"; url = "rebuilding-bristol-js.oliverdavies.uk"; } { port = 8089; - root = "/var/www/rebuilding-symfony"; + root = "/var/www/vhosts/rebuilding-symfony"; url = "rebuilding-symfony.oliverdavies.uk"; } { port = 8090; - root = "/var/www/tailwindcss-demo"; + root = "/var/www/vhosts/tailwindcss-demo"; url = "tailwindcss-demo.oliverdavies.uk"; } { port = 8091; - root = "/var/www/wp-tailwind"; + root = "/var/www/vhosts/wp-tailwind"; url = "wp-tailwind.oliverdavies.uk"; } { port = 8092; - root = "/var/www/zet"; + root = "/var/www/vhosts/zet"; url = "zet.oliverdavies.uk"; } { port = 8093; - root = "/var/www/talking-drupal-tailwindcss"; + root = "/var/www/vhosts/talking-drupal-tailwindcss"; url = "talking-drupal-tailwindcss.oliverdavies.uk"; } ] diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix index 28173837..a523ca4f 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix @@ -19,7 +19,7 @@ let name = "/${path}"; value = { - root = "/var/www/website-tome"; + root = "/var/www/vhosts/website-tome"; tryFiles = "$uri $uri.html $uri/index.html =404"; }; }) tomePaths @@ -29,7 +29,7 @@ in services = { nginx.virtualHosts = { "www.oliverdavies.uk" = { - root = "/var/www/website-sculpin"; + root = "/var/www/vhosts/website-sculpin"; listen = [ { diff --git a/pkgs/backup-websites.nix b/pkgs/backup-websites.nix index 663cb904..7a64db73 100644 --- a/pkgs/backup-websites.nix +++ b/pkgs/backup-websites.nix @@ -8,6 +8,6 @@ pkgs.writeShellApplication { mkdir -p "''${backup_path}" - ${lib.getExe pkgs.rsync} -avzP nixedo:/var/www/ "''${backup_path}" --delete-after + ${lib.getExe pkgs.rsync} -avzP nixedo:/var/www/vhosts/ "''${backup_path}" --delete-after ''; } From 057144a770c4471fe3635b0e2b167d9696de3155 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 13:02:02 +0100 Subject: [PATCH 1682/2258] Remove Docker --- hosts/t480/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 0d44fb32..20bccb5e 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -15,7 +15,6 @@ in mixins-bluetooth mixins-common mixins-direnv - mixins-docker mixins-firefox mixins-flameshot mixins-fonts From 6164fdbda02e3767a40f47ad7860742b394abc5e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 13:54:04 +0100 Subject: [PATCH 1683/2258] Extract an avahi mixin --- hosts/lemp11/configuration.nix | 1 + hosts/lemp11/services.nix | 6 ------ hosts/nixedo/configuration.nix | 1 + hosts/t480/configuration.nix | 9 ++------- modules/mixins/avahi.nix | 12 ++++++++++++ 5 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 modules/mixins/avahi.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 1e79dce9..6f76babe 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -7,6 +7,7 @@ ./programs.nix ./services.nix + mixins-avahi mixins-common mixins-zram mixins-zsh diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index 0d5dae7a..8aaa162c 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -2,12 +2,6 @@ services = { auto-cpufreq.enable = true; - avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - blueman.enable = true; gvfs.enable = true; openssh.enable = true; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index b081f823..3c6a0328 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -9,6 +9,7 @@ ./hardware-configuration.nix ./secrets.nix + mixins-avahi mixins-common mixins-fzf mixins-openssh diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 20bccb5e..c50ad96f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,6 +12,7 @@ in ./secrets.nix editor-nvim + mixins-avahi mixins-bluetooth mixins-common mixins-direnv @@ -119,18 +120,12 @@ in ]; networking.hosts = { + "192.168.1.180" = [ "lemp11" ]; "192.168.1.116" = [ "nixedo" ]; }; services = { auto-cpufreq.enable = true; - - avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - gvfs.enable = true; power-profiles-daemon.enable = false; printing.enable = true; diff --git a/modules/mixins/avahi.nix b/modules/mixins/avahi.nix new file mode 100644 index 00000000..471b7ca6 --- /dev/null +++ b/modules/mixins/avahi.nix @@ -0,0 +1,12 @@ +{ + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + + publish = { + enable = true; + addresses = true; + }; + }; +} From 1c04c41966415b03a15c57cfefeb6a2e4532448d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 13:54:38 +0100 Subject: [PATCH 1684/2258] Use the bluetooth mixin --- hosts/lemp11/configuration.nix | 1 + hosts/lemp11/services.nix | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 6f76babe..98a2372c 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -8,6 +8,7 @@ ./services.nix mixins-avahi + mixins-bluetooth mixins-common mixins-zram mixins-zsh diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index 8aaa162c..0a219ba0 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -1,8 +1,6 @@ { services = { auto-cpufreq.enable = true; - - blueman.enable = true; gvfs.enable = true; openssh.enable = true; power-profiles-daemon.enable = false; From 542dcdda16f200c6d8deaef2a9a3d846a169161a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 13:55:46 +0100 Subject: [PATCH 1685/2258] Remove hard-coded hostnames --- hosts/t480/configuration.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index c50ad96f..06cbf1ce 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -119,11 +119,6 @@ in zoom-us ]; - networking.hosts = { - "192.168.1.180" = [ "lemp11" ]; - "192.168.1.116" = [ "nixedo" ]; - }; - services = { auto-cpufreq.enable = true; gvfs.enable = true; From 9360371ed8a4a830c1e0491fba83972e7c9951c7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 14:08:12 +0100 Subject: [PATCH 1686/2258] Inline programs and services --- hosts/lemp11/configuration.nix | 48 +++++++++++++++++++++++++++++++--- hosts/lemp11/hardware.nix | 6 ----- hosts/lemp11/programs.nix | 14 ---------- hosts/lemp11/services.nix | 35 ------------------------- 4 files changed, 45 insertions(+), 58 deletions(-) delete mode 100644 hosts/lemp11/hardware.nix delete mode 100644 hosts/lemp11/programs.nix delete mode 100644 hosts/lemp11/services.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 98a2372c..63617ef6 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -3,9 +3,6 @@ { imports = with inputs.self.nixosModules; [ ./hardware-configuration.nix - ./hardware.nix - ./programs.nix - ./services.nix mixins-avahi mixins-bluetooth @@ -18,6 +15,51 @@ users-luke ]; + services = { + auto-cpufreq.enable = true; + gvfs.enable = true; + openssh.enable = true; + power-profiles-daemon.enable = false; + thermald.enable = true; + + pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; + + printing.enable = true; + pulseaudio.enable = false; + + xserver = { + enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; + }; + }; + + programs = { + firefox = { + enable = true; + languagePacks = [ "en-GB" ]; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; + # Bootloader. boot = { loader = { diff --git a/hosts/lemp11/hardware.nix b/hosts/lemp11/hardware.nix deleted file mode 100644 index a3123505..00000000 --- a/hosts/lemp11/hardware.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - hardware = { - bluetooth.enable = true; - sane.enable = true; - }; -} diff --git a/hosts/lemp11/programs.nix b/hosts/lemp11/programs.nix deleted file mode 100644 index c4874312..00000000 --- a/hosts/lemp11/programs.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, ... }: - -{ - programs = { - firefox = { - enable = true; - languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; -} diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix deleted file mode 100644 index 0a219ba0..00000000 --- a/hosts/lemp11/services.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - services = { - auto-cpufreq.enable = true; - gvfs.enable = true; - openssh.enable = true; - power-profiles-daemon.enable = false; - thermald.enable = true; - - pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - - printing.enable = true; - pulseaudio.enable = false; - - xserver = { - enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - - desktopManager.cinnamon.enable = true; - displayManager.lightdm.enable = true; - }; - }; -} From 45b350f630fdf2c26e8acc796705c13b81ec26c7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 14:18:38 +0100 Subject: [PATCH 1687/2258] Serve /examples from Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix index a523ca4f..3b3d0d46 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix @@ -9,6 +9,7 @@ let tomePaths = [ "core" + "examples" "sites/default/files" "themes/custom/opdavies" "tome-test" From 3be1bab4854bc2f919e5f0e8f415db6d1e856a99 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 14:43:47 +0100 Subject: [PATCH 1688/2258] Revert "Change dwm colours" This reverts commit 0ece497203ff74610ec4045a64e8f295efd4090b. --- overlays/mods/dwm/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 235d446e..6c72125b 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -15,9 +15,10 @@ prev.dwm.override { static const char col_gray2[] = "#444444"; static const char col_gray3[] = "#bbbbbb"; static const char col_gray4[] = "#eeeeee"; + static const char col_cyan[] = "#005577"; static const char *colors[][3] = { [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_gray2, col_gray1 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, }; static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; @@ -49,7 +50,7 @@ prev.dwm.override { #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_gray1, "-sf", col_gray4, NULL }; + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; static const char *termcmd[] = { "st", NULL }; static const Key keys[] = { From 3710a814c5748429ea7013d3a8bf903d45deefb5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 15:10:44 +0100 Subject: [PATCH 1689/2258] Remove the luke user --- hosts/lemp11/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 63617ef6..bd74ec1a 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -12,7 +12,6 @@ users-opdavies users-eric - users-luke ]; services = { From 5f74395ea41d30af26a90fefcadab153c644650b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 15:46:01 +0100 Subject: [PATCH 1690/2258] Set `home-manager.backupFileExtension` --- modules/mixins/common/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/mixins/common/default.nix b/modules/mixins/common/default.nix index 407c327b..3c9a4f9f 100644 --- a/modules/mixins/common/default.nix +++ b/modules/mixins/common/default.nix @@ -52,6 +52,8 @@ ]; home-manager = { + backupFileExtension = "backup"; + extraSpecialArgs = { inherit hostname From 5b224bbe4259593d2ff60feab3e47fd56d534092 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 21 Apr 2025 17:29:46 +0100 Subject: [PATCH 1691/2258] Update hostname --- pkgs/backup-websites.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/backup-websites.nix b/pkgs/backup-websites.nix index 7a64db73..d70cd8b7 100644 --- a/pkgs/backup-websites.nix +++ b/pkgs/backup-websites.nix @@ -8,6 +8,6 @@ pkgs.writeShellApplication { mkdir -p "''${backup_path}" - ${lib.getExe pkgs.rsync} -avzP nixedo:/var/www/vhosts/ "''${backup_path}" --delete-after + ${lib.getExe pkgs.rsync} -avzP nixedo.local:/var/www/vhosts/ "''${backup_path}" --delete-after ''; } From 14583971eda76173a2f9cec868a3e10ca0840fa5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 22 Apr 2025 00:31:56 +0100 Subject: [PATCH 1692/2258] Configure pam-gnupg Automatically unlock my GPG key on login to make it easier to work with pass, neomutt, etc. See https://github.com/cruegge/pam-gnupg. --- hosts/t480/configuration.nix | 9 +++++++++ modules/mixins/gnupg.nix | 14 ++++++++++++++ modules/mixins/zsh/default.nix | 6 ++++-- modules/profiles/dwm/default.nix | 5 +---- modules/profiles/dwm/xinitrc | 5 +++++ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 06cbf1ce..baff0d60 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -132,6 +132,8 @@ in xserver = { enable = true; + displayManager.startx.enable = true; + xkb = { layout = "gb"; variant = ""; @@ -140,4 +142,11 @@ in }; programs.dconf.enable = true; + + home-manager.users.opdavies = { + xdg.configFile."pam-gnupg".text = '' + 098EE055DAD2B9CB68154C6759DD38292D2273B6 + 1E21B58D69FFEFAD077F152A50FEA938A3413F50 + ''; + }; } diff --git a/modules/mixins/gnupg.nix b/modules/mixins/gnupg.nix index 1ed32dc9..416180b5 100644 --- a/modules/mixins/gnupg.nix +++ b/modules/mixins/gnupg.nix @@ -1,11 +1,25 @@ { pkgs, ... }: { + security.pam.services.login.gnupg.enable = true; + programs = { gnupg.agent = { enable = true; enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-qt; }; }; + + home-manager.users.opdavies = { + home.file = { + ".gnupg/gpg-agent.conf".text = '' + allow-preset-passphrase + default-cache-ttl 600 + max-cache-ttl 7200 + enable-ssh-support + ''; + }; + }; } diff --git a/modules/mixins/zsh/default.nix b/modules/mixins/zsh/default.nix index abf9ca56..26d17d50 100644 --- a/modules/mixins/zsh/default.nix +++ b/modules/mixins/zsh/default.nix @@ -22,11 +22,13 @@ ABBR_SET_EXPANSION_CURSOR = 1; }; - initExtra = '' + profileExtra = '' if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then - exec startx &>/dev/null + exec startx fi + ''; + initExtra = '' background() { for ((i=2;i<=$#;i++)); do ''${@[1]} ''${@[$i]} &> /dev/null & diff --git a/modules/profiles/dwm/default.nix b/modules/profiles/dwm/default.nix index bc901a76..cc264b62 100644 --- a/modules/profiles/dwm/default.nix +++ b/modules/profiles/dwm/default.nix @@ -17,10 +17,7 @@ ]; }; - xserver = { - displayManager.startx.enable = true; - windowManager.dwm.enable = true; - }; + xserver.windowManager.dwm.enable = true; }; systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; diff --git a/modules/profiles/dwm/xinitrc b/modules/profiles/dwm/xinitrc index ac0f6c3a..f9abca8b 100644 --- a/modules/profiles/dwm/xinitrc +++ b/modules/profiles/dwm/xinitrc @@ -2,4 +2,9 @@ systemctl --user import-environment DISPLAY poweralertd -s & setbg & systemctl --user start dwm-status & + +export GPG_TTY=$(tty) +export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +gpg-connect-agent updatestartuptty /bye + exec dwm From 63377da648ee2aae706e1464ef80706aa6c0157a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 22 Apr 2025 09:19:45 +0100 Subject: [PATCH 1693/2258] Refactor --- secrets.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/secrets.nix b/secrets.nix index 17947d4d..ca26e99a 100644 --- a/secrets.nix +++ b/secrets.nix @@ -1,27 +1,22 @@ let hosts = { - hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN/Lylteb1le173In/X94jls+CXFg9RGCyJPBOL90zDD"; lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; - mail = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDop//jfN3Hj5yRQLzPwy/A1StdJ2krxIbI8LUWPX7ht"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t480 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; - opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; - - users = [ opdavies ]; + users = { + opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + }; in { "secrets/cloudflare.age".publicKeys = [ - hosts.hetznix - hosts.mail hosts.nixedo hosts.t480 - hosts.t490 - ] ++ users; + ] ++ [ users.opdavies ]; "secrets/cloudflared-credentials.age".publicKeys = [ hosts.nixedo - ] ++ users; + ] ++ [ users.opdavies ]; } From beb23a08c41ed1caf283c3763fd4d6354e6562e9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 22 Apr 2025 10:34:24 +0100 Subject: [PATCH 1694/2258] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 909ae6a7..dde858aa 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1744940522, - "narHash": "sha256-TNoetfICvd29DhxRPpmyKItQBDlqSvKcV+wGNkn14jk=", + "lastModified": 1745224732, + "narHash": "sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ+o0nuNzus=", "owner": "nix-community", "repo": "disko", - "rev": "51d33bbb7f1e74ba5f9d9a77357735149da99081", + "rev": "1770bf1ae5da05564f86b969ef21c7228cc1a70b", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1745033012, - "narHash": "sha256-KjBMsjCzIOWgDqTZMYIriPFmHiQcCb2RhuDh5JF0VVc=", + "lastModified": 1745272532, + "narHash": "sha256-+sFbKw1vFkulKYxsAbz84N0V/goSg808IgFh8iWe/As=", "owner": "nix-community", "repo": "home-manager", - "rev": "ae84885d9b6b62dc58ccd300e9ab321a3fd9f9c7", + "rev": "81541ea36d1fead4be7797e826ee325d4c19308b", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1745059406, - "narHash": "sha256-H7j0saoCo9SY669hRVhHboie3xMqg3pJfxZxMl01Js0=", + "lastModified": 1745310023, + "narHash": "sha256-+aapawQFJ9WMH6QUs9AG8KyOsyxbE1kZ/B67DlLhK34=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1f84e10240dece7769a6abb14115b471c15d622b", + "rev": "3e5111886a6e5f0ea4715d370ffb9db219633f3f", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745059592, - "narHash": "sha256-cF1ZnQVsSMMNOnjJSDodHO0TIYU5lEfLgIBcMvdY00Q=", + "lastModified": 1745288354, + "narHash": "sha256-7WQZ4mLlHxGWKMd7VvxL93CYcK2xwexnztj2FuXwkT8=", "owner": "nix-community", "repo": "NUR", - "rev": "9ac6f7fa6bc83b6069f08448ffcae88c35603b70", + "rev": "b9d85465fdbe6bddb0a9e9dce49c4bd0fbb92883", "type": "github" }, "original": { From f85d4968ed4c13fd7e34047d88f7996dafb24a64 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 22 Apr 2025 10:46:51 +0100 Subject: [PATCH 1695/2258] Add packages --- hosts/lemp11/configuration.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index bd74ec1a..3173ef1d 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, ... }: +{ inputs, pkgs, ... }: { imports = with inputs.self.nixosModules; [ @@ -84,4 +84,9 @@ polkit.enable = true; rtkit.enable = true; }; + + users.users.eric.packages = with pkgs; [ + git + vscodium + ]; } From 0582780717b99043e20235a03b694c7ba0a90eb5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:19:05 +0100 Subject: [PATCH 1696/2258] Add README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..86e4c2cd --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +| Hostname | Description | Manufacturer | Model | Role | +|------------|-------------------------|--------------|----------------------------------------|---------| +| `PW05CH3L` | My work laptop. | Lenovo | ThinkPad L13 | Laptop | +| `lemp11` | My son's laptop. | System76 | Lemur Pro | Laptop | +| `t480` | My personal laptop. | Lenovo | ThinkPad T480 | Laptop | +| `t490` | My other son's laptop. | Lenovo | ThinkPad T490 | Laptop | +| `nixedo` | My homelab/home server. | TUXEDO | InfinityBook Pro Gen7 (MK1) (Standard) | Server | From 19ea08a7165e1a1adcce0ce56b3760e321f0eef5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:19:05 +0100 Subject: [PATCH 1697/2258] Delete tubearchivist --- hosts/nixedo/secrets.nix | 1 - secrets/tubearchivist.age | 19 ------------------- 2 files changed, 20 deletions(-) delete mode 100644 secrets/tubearchivist.age diff --git a/hosts/nixedo/secrets.nix b/hosts/nixedo/secrets.nix index 4ca1035f..6c55583f 100644 --- a/hosts/nixedo/secrets.nix +++ b/hosts/nixedo/secrets.nix @@ -2,6 +2,5 @@ age.secrets = { cloudflare.file = ../../secrets/cloudflare.age; cloudflared.file = ../../secrets/cloudflared-credentials.age; - tubearchivist.file = ../../secrets/tubearchivist.age; }; } diff --git a/secrets/tubearchivist.age b/secrets/tubearchivist.age deleted file mode 100644 index 9af2769e..00000000 --- a/secrets/tubearchivist.age +++ /dev/null @@ -1,19 +0,0 @@ -age-encryption.org/v1 --> ssh-ed25519 sHhprA uSQb27PjMYpj22KMcFkY8gk28CxWsA9fr0lP6hCjw3c -+JlfXYJcfaUMaijapKbQHU1Tndh4qy+vf29MMv8mQ4M --> ssh-ed25519 IsVD3g U9nD/8QuGhQU5+IFZRswgmzDcLoaKIr7ItG75PlQDkg -CmlB0k7Bx7nXBA0ym1Gzh6lQrbNN7Kzy5WPmViGVuLY --> ssh-rsa +vTWQw -l8bvdvVV4b5OjkohdSWOea4YdIJ8xPRahajsJDpB6d9vr28nQEf6ruAmX1QeJkmP -9NEVQmhL6OqulCz1G4awhf+OldnhIK/ift7GON2+cmKtp4W3R2k0dZqm5ML7OSpt -/S2DcveCV7yyLHfkrEMI6UEka31xEJnXGnbgPbsQ1sS2kckVoLzW3etDZ/ta6FcW -Zze5eiMVvKeaMOpTPts+lyiiPaSwIheJdvWhPBqdX+zJvaLaRS+VdC3ER25lw1IL -Db/yiLRsw50GWfC5FTZMg/T+URVKo8JvdsebDxnGJVxMIjiazRDOkClYJGFSs8ud -NcX7Bd26fOgggl8COmg87se3D0uSuABnHiJN5Hv/S3xwfK2RYSxZj0qjLCpbsa+K -RgyarmsDiWSfsbha+uPjrTnW1U7elJJWvUbOEhZWEzUclLXy4z+nsA7BBVKa4LSm -8Epd4qOE6korqkDDf/nDXg6X+AOeBF0JLWACZGR6qjovzTyQmepa4H03n/aid4xt -5hhM9uzLSCYoY8T7hZSjrCiJeYUqCoVDjtCE7eDGScuoG/g3RfEa4BcFK/EcSpqT -7CmnFU5Ay3vG5/6n/evzmzYvk82/I97KOs+LTotDW8FzRx/GmTCS2Bp8xiOw6XZS -05sALEULfH5cCVKdJ2Mjj+NR4VEab/ykickH5fen0M4 ---- 7ihl6vnG31mlHLNdqzV2DA3pY0HOla8TE58j8B2wLfQ -(R&Բ5Z;UgrN2AW,8ϙ*8ͦU>&rZ۹9l ,ZʁqIPQ?)-kJЌ \ No newline at end of file From 2bedd41d83a4dc6b01de262e79f7eca31161e062 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:19:05 +0100 Subject: [PATCH 1698/2258] Refactor back to a more modular configuration --- flake.nix | 6 +- home/common/default.nix | 7 + home/opdavies/PW05CH3L.nix | 32 ++ home/opdavies/lemp11.nix | 5 + home/opdavies/nixedo.nix | 11 + home/opdavies/t480.nix | 43 ++ home/opdavies/t490.nix | 3 + hosts/PW05CH3L/configuration.nix | 36 +- {modules/mixins => hosts}/common/default.nix | 4 + {modules/mixins => hosts}/common/home.nix | 4 + hosts/common/users/default.nix | 5 + hosts/common/users/opdavies.nix | 7 + hosts/lemp11/configuration.nix | 63 +-- hosts/lemp11/programs.nix | 13 + hosts/lemp11/services.nix | 35 ++ hosts/nixedo/configuration.nix | 32 +- hosts/nixedo/modules/default.nix | 13 + hosts/t480/configuration.nix | 107 ++--- hosts/t480/modules/default.nix | 9 + hosts/t480/services.nix | 23 ++ hosts/t490/configuration.nix | 21 +- hosts/t490/programs.nix | 7 - modules/default.nix | 57 --- modules/editor/nvim.nix | 185 --------- .../cli/bluetuith.nix} | 24 +- modules/home-manager/cli/default.nix | 16 + modules/home-manager/cli/direnv.nix | 21 + modules/home-manager/cli/fzf.nix | 21 + modules/home-manager/cli/git.nix | 178 +++++++++ modules/home-manager/cli/node.nix | 25 ++ modules/home-manager/cli/notes.nix | 30 ++ modules/home-manager/cli/ranger.nix | 14 + .../cli}/scripts/default.nix | 2 +- .../cli}/scripts/scripts/create-script | 0 .../cli}/scripts/scripts/git-abort | 0 .../cli}/scripts/scripts/git-bare-clone | 0 .../cli}/scripts/scripts/git-continue | 0 .../cli}/scripts/scripts/git-sync | 0 .../cli}/scripts/scripts/git-up | 0 .../cli}/scripts/scripts/import-gzip-database | 0 .../scripts/scripts/main-or-master-branch | 0 .../cli}/scripts/scripts/mounter | 0 .../scripts/scripts/move-firefox-screenshots | 0 .../cli}/scripts/scripts/new-drupal-module | 0 .../cli}/scripts/scripts/setbg | 0 .../cli}/scripts/scripts/start-traefik | 0 .../scripts/stop-all-docker-containers | 0 .../cli}/scripts/scripts/stop-traefik | 0 .../cli}/scripts/scripts/tag-release | 0 .../cli}/scripts/scripts/unmounter | 0 .../cli}/scripts/scripts/update-all-git-repos | 0 modules/home-manager/cli/starship.nix | 187 +++++++++ modules/home-manager/cli/tmux-sessionizer.nix | 46 +++ modules/home-manager/cli/tmux.nix | 97 +++++ .../cli}/zsh/abbreviations.nix | 0 .../cli}/zsh/aliases.nix | 0 modules/home-manager/cli/zsh/default.nix | 115 ++++++ .../cli}/zsh/global-abbreviations.nix | 0 modules/home-manager/coding/default.nix | 6 + .../coding/neovim}/config/.gitignore | 0 .../config/after/ftplugin/gitcommit.lua | 0 .../config/after/ftplugin/markdown.lua | 0 .../neovim}/config/after/ftplugin/netrw.lua | 0 .../neovim}/config/after/ftplugin/php.lua | 0 .../neovim}/config/after/ftplugin/rst.lua | 0 .../neovim}/config/after/ftplugin/term.vim | 0 .../neovim}/config/after/ftplugin/text.lua | 0 .../neovim}/config/autoload/opdavies.vim | 0 .../coding/neovim}/config/init.lua | 0 .../neovim}/config/lua/opdavies/globals.lua | 0 .../neovim}/config/lua/opdavies/init.lua | 0 .../neovim}/config/lua/opdavies/keymaps.lua | 0 .../config/lua/opdavies/lsp/handlers.lua | 0 .../neovim}/config/lua/opdavies/lsp/init.lua | 0 .../neovim}/config/lua/opdavies/options.lua | 0 .../lua/opdavies/snippets/javascript.lua | 0 .../config/lua/opdavies/snippets/lua.lua | 0 .../config/lua/opdavies/snippets/php.lua | 0 .../config/lua/opdavies/snippets/rst.lua | 0 .../config/lua/opdavies/snippets/scss.lua | 0 .../config/lua/opdavies/snippets/twig.lua | 0 .../config/lua/opdavies/snippets/yaml.lua | 0 .../lua/opdavies/telescope/multigrep.lua | 0 .../neovim}/config/plugin/autocommands.lua | 0 .../neovim}/config/plugin/colorscheme.lua | 0 .../coding/neovim}/config/plugin/comment.lua | 0 .../neovim}/config/plugin/completion.lua | 0 .../coding/neovim}/config/plugin/conform.lua | 0 .../coding/neovim}/config/plugin/dap.lua | 0 .../neovim}/config/plugin/edit_alternate.lua | 0 .../coding/neovim}/config/plugin/filetype.lua | 0 .../coding/neovim}/config/plugin/fugitive.lua | 0 .../coding/neovim}/config/plugin/gitsigns.lua | 0 .../coding/neovim}/config/plugin/harpoon.lua | 0 .../coding/neovim}/config/plugin/lint.lua | 0 .../coding/neovim}/config/plugin/mini.lua | 0 .../coding/neovim}/config/plugin/netrw.lua | 0 .../coding/neovim}/config/plugin/phpactor.lua | 0 .../neovim}/config/plugin/refactoring.lua | 0 .../coding/neovim}/config/plugin/snippets.lua | 0 .../neovim}/config/plugin/telescope.lua | 0 .../neovim}/config/plugin/treesitter.lua | 0 .../coding/neovim}/config/plugin/undotree.lua | 0 .../coding/neovim}/config/plugin/vim-test.lua | 0 .../coding/neovim}/config/spell/en.utf-8.add | 0 .../coding/neovim}/config/stylua.toml | 0 .../home-manager/coding/neovim/default.nix | 197 +++++++++ .../coding}/phpactor/config/phpactor.yml | 0 .../templates/collection/SourceCode.php.twig | 0 .../templates/default/SourceCode.php.twig | 0 .../SourceCode.php.twig | 0 .../drupal-kernel-test/SourceCode.php.twig | 0 .../drupal-unit-test/SourceCode.php.twig | 0 .../home-manager/coding/phpactor/default.nix | 24 ++ modules/home-manager/core/default.nix | 5 + modules/home-manager/core/gnupg.nix | 8 + modules/home-manager/default.nix | 8 + modules/home-manager/desktop/default.nix | 10 + modules/home-manager/desktop/firefox.nix | 124 ++++++ modules/home-manager/desktop/flameshot.nix | 26 ++ modules/home-manager/desktop/gtk.nix | 34 ++ modules/home-manager/desktop/mpv.nix | 22 + .../desktop}/qutebrowser.nix | 9 +- modules/home-manager/desktop/screenkey.nix | 13 + modules/mixins/common.nix | 3 - modules/mixins/direnv.nix | 10 - modules/mixins/docker.nix | 12 - modules/mixins/firefox.nix | 112 ------ modules/mixins/flameshot.nix | 19 - modules/mixins/fonts.nix | 16 - modules/mixins/fzf.nix | 12 - modules/mixins/git.nix | 161 -------- modules/mixins/gnupg.nix | 25 -- modules/mixins/gtk.nix | 22 - modules/mixins/kanata.nix | 42 -- modules/mixins/mpv.nix | 11 - modules/mixins/node.nix | 19 - modules/mixins/notes.nix | 18 - modules/mixins/openssh.nix | 14 - modules/mixins/phpactor.nix | 3 - modules/mixins/phpactor/default.nix | 11 - modules/mixins/pipewire.nix | 12 - modules/mixins/podman.nix | 16 - modules/mixins/ranger.nix | 5 - modules/mixins/screenkey.nix | 15 - modules/mixins/scripts.nix | 3 - modules/mixins/st.nix | 361 ----------------- modules/mixins/starship.nix | 176 -------- modules/mixins/thunar.nix | 13 - modules/mixins/tmux.nix | 117 ------ modules/mixins/zram.nix | 7 - modules/mixins/zsh.nix | 3 - modules/mixins/zsh/default.nix | 103 ----- modules/nixos/cli/default.nix | 6 + modules/nixos/cli/docker.nix | 25 ++ modules/nixos/cli/podman.nix | 25 ++ modules/{mixins => nixos/core}/avahi.nix | 0 modules/nixos/core/bluetooth.nix | 16 + modules/nixos/core/default.nix | 11 + modules/nixos/core/gnupg.nix | 14 + modules/nixos/core/openssh.nix | 23 ++ modules/nixos/core/pipewire.nix | 23 ++ modules/nixos/core/xbanish.nix | 14 + modules/nixos/core/zram.nix | 18 + modules/nixos/default.nix | 7 + modules/nixos/desktop/dconf.nix | 14 + modules/nixos/desktop/default.nix | 9 + modules/nixos/desktop/dwm/default.nix | 57 +++ .../{profiles => nixos/desktop}/dwm/xinitrc | 0 modules/nixos/desktop/fonts.nix | 30 ++ modules/nixos/desktop/st.nix | 375 ++++++++++++++++++ modules/nixos/desktop/thunar.nix | 27 ++ modules/profiles/dwm.nix | 1 - modules/profiles/dwm/default.nix | 47 --- modules/profiles/xbanish.nix | 1 - {modules/users => users}/eric.nix | 0 {modules/users => users}/luke.nix | 0 {modules/users => users}/opdavies.nix | 18 +- 178 files changed, 2245 insertions(+), 1847 deletions(-) create mode 100644 home/common/default.nix create mode 100644 home/opdavies/PW05CH3L.nix create mode 100644 home/opdavies/lemp11.nix create mode 100644 home/opdavies/nixedo.nix create mode 100644 home/opdavies/t480.nix create mode 100644 home/opdavies/t490.nix rename {modules/mixins => hosts}/common/default.nix (97%) rename {modules/mixins => hosts}/common/home.nix (96%) create mode 100644 hosts/common/users/default.nix create mode 100644 hosts/common/users/opdavies.nix create mode 100644 hosts/lemp11/programs.nix create mode 100644 hosts/lemp11/services.nix create mode 100644 hosts/nixedo/modules/default.nix create mode 100644 hosts/t480/modules/default.nix create mode 100644 hosts/t480/services.nix delete mode 100644 hosts/t490/programs.nix delete mode 100644 modules/default.nix delete mode 100644 modules/editor/nvim.nix rename modules/{mixins/bluetooth.nix => home-manager/cli/bluetuith.nix} (58%) create mode 100644 modules/home-manager/cli/default.nix create mode 100644 modules/home-manager/cli/direnv.nix create mode 100644 modules/home-manager/cli/fzf.nix create mode 100644 modules/home-manager/cli/git.nix create mode 100644 modules/home-manager/cli/node.nix create mode 100644 modules/home-manager/cli/notes.nix create mode 100644 modules/home-manager/cli/ranger.nix rename modules/{mixins => home-manager/cli}/scripts/default.nix (77%) rename modules/{mixins => home-manager/cli}/scripts/scripts/create-script (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/git-abort (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/git-bare-clone (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/git-continue (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/git-sync (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/git-up (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/import-gzip-database (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/main-or-master-branch (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/mounter (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/move-firefox-screenshots (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/new-drupal-module (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/setbg (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/start-traefik (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/stop-all-docker-containers (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/stop-traefik (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/tag-release (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/unmounter (100%) rename modules/{mixins => home-manager/cli}/scripts/scripts/update-all-git-repos (100%) create mode 100644 modules/home-manager/cli/starship.nix create mode 100644 modules/home-manager/cli/tmux-sessionizer.nix create mode 100644 modules/home-manager/cli/tmux.nix rename modules/{mixins => home-manager/cli}/zsh/abbreviations.nix (100%) rename modules/{mixins => home-manager/cli}/zsh/aliases.nix (100%) create mode 100644 modules/home-manager/cli/zsh/default.nix rename modules/{mixins => home-manager/cli}/zsh/global-abbreviations.nix (100%) create mode 100644 modules/home-manager/coding/default.nix rename modules/{editor => home-manager/coding/neovim}/config/.gitignore (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/gitcommit.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/markdown.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/netrw.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/php.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/rst.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/term.vim (100%) rename modules/{editor => home-manager/coding/neovim}/config/after/ftplugin/text.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/autoload/opdavies.vim (100%) rename modules/{editor => home-manager/coding/neovim}/config/init.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/globals.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/init.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/keymaps.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/lsp/handlers.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/lsp/init.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/options.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/javascript.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/lua.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/php.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/rst.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/scss.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/twig.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/snippets/yaml.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/lua/opdavies/telescope/multigrep.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/autocommands.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/colorscheme.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/comment.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/completion.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/conform.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/dap.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/edit_alternate.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/filetype.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/fugitive.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/gitsigns.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/harpoon.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/lint.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/mini.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/netrw.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/phpactor.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/refactoring.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/snippets.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/telescope.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/treesitter.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/undotree.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/plugin/vim-test.lua (100%) rename modules/{editor => home-manager/coding/neovim}/config/spell/en.utf-8.add (100%) rename modules/{editor => home-manager/coding/neovim}/config/stylua.toml (100%) create mode 100644 modules/home-manager/coding/neovim/default.nix rename modules/{mixins => home-manager/coding}/phpactor/config/phpactor.yml (100%) rename modules/{mixins => home-manager/coding}/phpactor/config/templates/collection/SourceCode.php.twig (100%) rename modules/{mixins => home-manager/coding}/phpactor/config/templates/default/SourceCode.php.twig (100%) rename modules/{mixins => home-manager/coding}/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig (100%) rename modules/{mixins => home-manager/coding}/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename modules/{mixins => home-manager/coding}/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig (100%) create mode 100644 modules/home-manager/coding/phpactor/default.nix create mode 100644 modules/home-manager/core/default.nix create mode 100644 modules/home-manager/core/gnupg.nix create mode 100644 modules/home-manager/default.nix create mode 100644 modules/home-manager/desktop/default.nix create mode 100644 modules/home-manager/desktop/firefox.nix create mode 100644 modules/home-manager/desktop/flameshot.nix create mode 100644 modules/home-manager/desktop/gtk.nix create mode 100644 modules/home-manager/desktop/mpv.nix rename modules/{mixins => home-manager/desktop}/qutebrowser.nix (80%) create mode 100644 modules/home-manager/desktop/screenkey.nix delete mode 100644 modules/mixins/common.nix delete mode 100644 modules/mixins/direnv.nix delete mode 100644 modules/mixins/docker.nix delete mode 100644 modules/mixins/firefox.nix delete mode 100644 modules/mixins/flameshot.nix delete mode 100644 modules/mixins/fonts.nix delete mode 100644 modules/mixins/fzf.nix delete mode 100644 modules/mixins/git.nix delete mode 100644 modules/mixins/gnupg.nix delete mode 100644 modules/mixins/gtk.nix delete mode 100644 modules/mixins/kanata.nix delete mode 100644 modules/mixins/mpv.nix delete mode 100644 modules/mixins/node.nix delete mode 100644 modules/mixins/notes.nix delete mode 100644 modules/mixins/openssh.nix delete mode 100644 modules/mixins/phpactor.nix delete mode 100644 modules/mixins/phpactor/default.nix delete mode 100644 modules/mixins/pipewire.nix delete mode 100644 modules/mixins/podman.nix delete mode 100644 modules/mixins/ranger.nix delete mode 100644 modules/mixins/screenkey.nix delete mode 100644 modules/mixins/scripts.nix delete mode 100644 modules/mixins/st.nix delete mode 100644 modules/mixins/starship.nix delete mode 100644 modules/mixins/thunar.nix delete mode 100644 modules/mixins/tmux.nix delete mode 100644 modules/mixins/zram.nix delete mode 100644 modules/mixins/zsh.nix delete mode 100644 modules/mixins/zsh/default.nix create mode 100644 modules/nixos/cli/default.nix create mode 100644 modules/nixos/cli/docker.nix create mode 100644 modules/nixos/cli/podman.nix rename modules/{mixins => nixos/core}/avahi.nix (100%) create mode 100644 modules/nixos/core/bluetooth.nix create mode 100644 modules/nixos/core/default.nix create mode 100644 modules/nixos/core/gnupg.nix create mode 100644 modules/nixos/core/openssh.nix create mode 100644 modules/nixos/core/pipewire.nix create mode 100644 modules/nixos/core/xbanish.nix create mode 100644 modules/nixos/core/zram.nix create mode 100644 modules/nixos/default.nix create mode 100644 modules/nixos/desktop/dconf.nix create mode 100644 modules/nixos/desktop/default.nix create mode 100644 modules/nixos/desktop/dwm/default.nix rename modules/{profiles => nixos/desktop}/dwm/xinitrc (100%) create mode 100644 modules/nixos/desktop/fonts.nix create mode 100644 modules/nixos/desktop/st.nix create mode 100644 modules/nixos/desktop/thunar.nix delete mode 100644 modules/profiles/dwm.nix delete mode 100644 modules/profiles/dwm/default.nix delete mode 100644 modules/profiles/xbanish.nix rename {modules/users => users}/eric.nix (100%) rename {modules/users => users}/luke.nix (100%) rename {modules/users => users}/opdavies.nix (82%) diff --git a/flake.nix b/flake.nix index eb875647..d1581253 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,10 @@ overlays = import ./overlays { inherit inputs; }; + homeManagerModules.default = import ./modules/home-manager; + + nixosModules.default = import ./modules/nixos; + nixosConfigurations = { lemp11 = nixpkgs.lib.nixosSystem { specialArgs = specialArgs // { @@ -139,7 +143,5 @@ ]; }; }; - - nixosModules = import ./modules { lib = nixpkgs.lib; }; }; } diff --git a/home/common/default.nix b/home/common/default.nix new file mode 100644 index 00000000..76b2a760 --- /dev/null +++ b/home/common/default.nix @@ -0,0 +1,7 @@ +{ outputs, ... }: + +{ + imports = [ + outputs.homeManagerModules.default + ]; +} diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix new file mode 100644 index 00000000..215f4d10 --- /dev/null +++ b/home/opdavies/PW05CH3L.nix @@ -0,0 +1,32 @@ +{ + imports = [ ../common ]; + + homeManagerModules = { + cli = { + direnv.enable = true; + fzf.enable = true; + + git = { + enable = true; + + user.emailAddress = "oliver.davies@tfw.wales"; + }; + + node.enable = true; + ranger.enable = true; + starship.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; + zsh.enable = true; + }; + + coding = { + neovim.enable = true; + phpactor.enable = true; + }; + }; + + xdg.configFile."pam-gnupg".text = '' + C0D940F9A390F286FCAAE8439D501171E39D0A47 + ''; +} diff --git a/home/opdavies/lemp11.nix b/home/opdavies/lemp11.nix new file mode 100644 index 00000000..617b1ab6 --- /dev/null +++ b/home/opdavies/lemp11.nix @@ -0,0 +1,5 @@ +{ + imports = [ ../common ]; + + homeManagerModules.cli.zsh.enable = true; +} diff --git a/home/opdavies/nixedo.nix b/home/opdavies/nixedo.nix new file mode 100644 index 00000000..f53a457f --- /dev/null +++ b/home/opdavies/nixedo.nix @@ -0,0 +1,11 @@ +{ + imports = [ ../common ]; + + homeManagerModules = { + cli = { + fzf.enable = true; + starship.enable = true; + zsh.enable = true; + }; + }; +} diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix new file mode 100644 index 00000000..e8549598 --- /dev/null +++ b/home/opdavies/t480.nix @@ -0,0 +1,43 @@ +{ + imports = [ ../common ]; + + homeManagerModules = { + cli = { + bluetuith.enable = true; + direnv.enable = true; + fzf.enable = true; + + git = { + enable = true; + + user.emailAddress = "oliver@oliverdavies.uk"; + }; + + node.enable = true; + notes.enable = true; + ranger.enable = true; + starship.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; + zsh.enable = true; + }; + + coding = { + neovim.enable = true; + phpactor.enable = true; + }; + + desktop = { + firefox.enable = true; + flameshot.enable = true; + gtk.enable = true; + mpv.enable = true; + qutebrowser.enable = true; + }; + }; + + xdg.configFile."pam-gnupg".text = '' + 098EE055DAD2B9CB68154C6759DD38292D2273B6 + 1E21B58D69FFEFAD077F152A50FEA938A3413F50 + ''; +} diff --git a/home/opdavies/t490.nix b/home/opdavies/t490.nix new file mode 100644 index 00000000..2a89c647 --- /dev/null +++ b/home/opdavies/t490.nix @@ -0,0 +1,3 @@ +{ + imports = [ ../common ]; +} diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 93bf861f..34f97dac 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,37 +1,21 @@ -{ inputs, username, ... }: - -let - git = { - name = "Oliver Davies"; - emailAddress = "oliver.davies@tfw.wales"; - }; -in { - imports = with inputs.self.nixosModules; [ - editor-nvim - mixins-common - mixins-direnv - mixins-docker - mixins-fzf - mixins-node - mixins-notes - mixins-phpactor - mixins-ranger - mixins-scripts - mixins-starship - mixins-tmux - mixins-zsh + imports = [ + ../common - users-opdavies - - (import ../../modules/mixins/git.nix { inherit git; }) + ../../users/opdavies.nix ./modules/wiki.nix ]; + nixosModules = { + cli = { + docker.enable = true; + }; + }; + wsl = { enable = true; - defaultUser = username; + defaultUser = "opdavies"; }; home-manager.users.opdavies.home.sessionVariables.WAYLAND_DISPLAY = ""; diff --git a/modules/mixins/common/default.nix b/hosts/common/default.nix similarity index 97% rename from modules/mixins/common/default.nix rename to hosts/common/default.nix index 3c9a4f9f..196f05ec 100644 --- a/modules/mixins/common/default.nix +++ b/hosts/common/default.nix @@ -12,7 +12,11 @@ { imports = [ + ./users + inputs.home-manager.nixosModules.home-manager + + outputs.nixosModules.default ]; nix = { diff --git a/modules/mixins/common/home.nix b/hosts/common/home.nix similarity index 96% rename from modules/mixins/common/home.nix rename to hosts/common/home.nix index 23426d12..c2073f9b 100644 --- a/modules/mixins/common/home.nix +++ b/hosts/common/home.nix @@ -27,6 +27,10 @@ let ; in { + imports = [ + outputs.homeManagerModules.default + ]; + home.username = "opdavies"; home.homeDirectory = "/home/${config.home.username}"; diff --git a/hosts/common/users/default.nix b/hosts/common/users/default.nix new file mode 100644 index 00000000..65787561 --- /dev/null +++ b/hosts/common/users/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./opdavies.nix + ]; +} diff --git a/hosts/common/users/opdavies.nix b/hosts/common/users/opdavies.nix new file mode 100644 index 00000000..556baaca --- /dev/null +++ b/hosts/common/users/opdavies.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + users.users.opdavies = { }; + + home-manager.users.opdavies = import ../../../home/opdavies/${config.networking.hostName}.nix; +} diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 3173ef1d..527dfb2f 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -1,61 +1,20 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { - imports = with inputs.self.nixosModules; [ + imports = [ + ../common ./hardware-configuration.nix + ./programs.nix + ./services.nix - mixins-avahi - mixins-bluetooth - mixins-common - mixins-zram - mixins-zsh - - users-opdavies - users-eric + ../../users/opdavies.nix + ../../users/eric.nix ]; - services = { - auto-cpufreq.enable = true; - gvfs.enable = true; - openssh.enable = true; - power-profiles-daemon.enable = false; - thermald.enable = true; - - pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - - printing.enable = true; - pulseaudio.enable = false; - - xserver = { - enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - - desktopManager.cinnamon.enable = true; - displayManager.lightdm.enable = true; - }; - }; - - programs = { - firefox = { - enable = true; - languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; + nixosModules = { + core = { + bluetooth.enable = true; + zram.enable = true; }; }; diff --git a/hosts/lemp11/programs.nix b/hosts/lemp11/programs.nix new file mode 100644 index 00000000..4da8fd00 --- /dev/null +++ b/hosts/lemp11/programs.nix @@ -0,0 +1,13 @@ +{ + programs = { + firefox = { + enable = true; + + languagePacks = [ "en-GB" ]; + preferences = { + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; +} diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix new file mode 100644 index 00000000..0a219ba0 --- /dev/null +++ b/hosts/lemp11/services.nix @@ -0,0 +1,35 @@ +{ + services = { + auto-cpufreq.enable = true; + gvfs.enable = true; + openssh.enable = true; + power-profiles-daemon.enable = false; + thermald.enable = true; + + pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; + + printing.enable = true; + pulseaudio.enable = false; + + xserver = { + enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; + }; + }; +} diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 3c6a0328..a295bbb4 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -2,35 +2,21 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, ... }: - { - imports = with inputs.self.nixosModules; [ + imports = [ + ../common ./hardware-configuration.nix + ./modules ./secrets.nix - mixins-avahi - mixins-common - mixins-fzf - mixins-openssh - mixins-podman - mixins-starship - mixins-zsh - - users-opdavies - - ./modules/acme.nix - ./modules/audiobookshelf.nix - ./modules/cloudflared.nix - ./modules/containers - ./modules/forgejo.nix - ./modules/immich.nix - ./modules/jellyfin.nix - ./modules/nginx - ./modules/paperless.nix + ../../users/opdavies.nix ]; - programs.dconf.enable = true; + nixosModules = { + core.openssh.enable = true; + cli.podman.enable = true; + desktop.dconf.enable = true; + }; services.logind.lidSwitchExternalPower = "ignore"; diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix new file mode 100644 index 00000000..c7553e34 --- /dev/null +++ b/hosts/nixedo/modules/default.nix @@ -0,0 +1,13 @@ +{ + imports = [ + ./acme.nix + ./audiobookshelf.nix + ./cloudflared.nix + ./containers + ./forgejo.nix + ./immich.nix + ./jellyfin.nix + ./nginx + ./paperless.nix + ]; +} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index baff0d60..2d2442cf 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -1,61 +1,35 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: -let - git = { - name = "Oliver Davies"; - emailAddress = "oliver@oliverdavies.uk"; - }; -in { - imports = with inputs.self.nixosModules; [ + imports = [ + ../common + ./hardware-configuration.nix + ./modules ./secrets.nix + ./services.nix - editor-nvim - mixins-avahi - mixins-bluetooth - mixins-common - mixins-direnv - mixins-firefox - mixins-flameshot - mixins-fonts - mixins-fzf - mixins-gnupg - mixins-gtk - mixins-qutebrowser - mixins-mpv - mixins-node - mixins-notes - mixins-phpactor - mixins-pipewire - mixins-ranger - mixins-screenkey - mixins-scripts - mixins-starship - mixins-thunar - mixins-tmux - mixins-zram - mixins-zsh - profiles-dwm - profiles-xbanish - - (import ../../modules/mixins/git.nix { inherit git; }) - - (import ../../modules/mixins/kanata.nix { - devices = [ - "/dev/input/event1" - ]; - }) - - users-opdavies - - ./modules/cron.nix - ./modules/neomutt.nix - ./modules/newsboat - ./modules/ollama.nix - ./modules/wiki.nix + ../../users/opdavies.nix ]; + nixosModules = { + core = { + bluetooth.enable = true; + openssh.enable = true; + pipewire.enable = true; + xbanish.enable = true; + zram.enable = true; + }; + + desktop = { + dconf.enable = true; + dwm.enable = true; + fonts.enable = true; + st.enable = true; + thunar.enable = true; + }; + }; + boot = { loader = { systemd-boot = { @@ -118,35 +92,4 @@ in zeroad zoom-us ]; - - services = { - auto-cpufreq.enable = true; - gvfs.enable = true; - power-profiles-daemon.enable = false; - printing.enable = true; - pulseaudio.enable = false; - throttled.enable = true; - thermald.enable = true; - upower.enable = true; - - xserver = { - enable = true; - - displayManager.startx.enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - }; - }; - - programs.dconf.enable = true; - - home-manager.users.opdavies = { - xdg.configFile."pam-gnupg".text = '' - 098EE055DAD2B9CB68154C6759DD38292D2273B6 - 1E21B58D69FFEFAD077F152A50FEA938A3413F50 - ''; - }; } diff --git a/hosts/t480/modules/default.nix b/hosts/t480/modules/default.nix new file mode 100644 index 00000000..4d7442c0 --- /dev/null +++ b/hosts/t480/modules/default.nix @@ -0,0 +1,9 @@ +{ + imports = [ + ./cron.nix + ./neomutt.nix + ./newsboat + ./ollama.nix + ./wiki.nix + ]; +} diff --git a/hosts/t480/services.nix b/hosts/t480/services.nix new file mode 100644 index 00000000..9a222dd5 --- /dev/null +++ b/hosts/t480/services.nix @@ -0,0 +1,23 @@ +{ + services = { + auto-cpufreq.enable = true; + gvfs.enable = true; + power-profiles-daemon.enable = false; + printing.enable = true; + pulseaudio.enable = false; + throttled.enable = true; + thermald.enable = true; + upower.enable = true; + + xserver = { + enable = true; + + displayManager.startx.enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + }; + }; +} diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 0a66ab5b..e83c838f 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -1,20 +1,27 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { - imports = with inputs.self.nixosModules; [ + imports = [ + ../common + ./hardware-configuration.nix ./hardware.nix - ./programs.nix ./secrets.nix ./services ./users.nix - mixins-common - mixins-zram - - users-opdavies + ../../users/opdavies.nix ]; + nixosModules = { + core = { + bluetooth.enable = true; + zram.enable = true; + }; + + desktop.dconf.enable = true; + }; + boot = { loader = { systemd-boot = { diff --git a/hosts/t490/programs.nix b/hosts/t490/programs.nix deleted file mode 100644 index f3cfe26d..00000000 --- a/hosts/t490/programs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - programs = { - dconf.enable = true; - }; -} diff --git a/modules/default.nix b/modules/default.nix deleted file mode 100644 index d55ad57c..00000000 --- a/modules/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -# Based on https://github.com/MatthewCroughan/nixcfg/blob/afab322e6da20cc038d8577dd4a365673702d183/modules/default.nix. -# Autoloads files within modules/ and makes them available by their module -# type and name, e.g. `mixins-zsh`, `editor-nvim` and `users-opdavies` when -# imported with `inputs.self.nixosModules`. - -{ lib }: - -let - inherit (builtins) - attrNames - filter - listToAttrs - map - readDir - toString - ; - - inherit (lib) - filterAttrs - foldAttrs - hasSuffix - mapAttrsToList - nameValuePair - removeSuffix - zipListsWith - ; - - inherit (lib.filesystem) listFilesRecursive; - - generateModules = - folder: prefix: - - let - findSuffix = suffix: dir: (filter (x: (hasSuffix suffix (toString x))) (listFilesRecursive dir)); - - allNixFiles = findSuffix ".nix" folder; - - allModuleNames = map (removeSuffix ".nix") (map baseNameOf allNixFiles); - - zippedList = ( - zipListsWith (x: y: nameValuePair (prefix + "-" + x) (import y)) allModuleNames allNixFiles - ); - in - listToAttrs zippedList; - generateModulesAuto = - root: - let - moduleFolderNames = attrNames (filterAttrs (n: v: v == "directory") (readDir (toString root))); - moduleFolderPaths = map (x: (toString root) + "/" + x) moduleFolderNames; - - zippedList = listToAttrs ( - zipListsWith (x: y: nameValuePair x y) moduleFolderNames moduleFolderPaths - ); - in - foldAttrs (item: acc: item) { } (mapAttrsToList (n: v: generateModules v n) zippedList); -in -generateModulesAuto ./. diff --git a/modules/editor/nvim.nix b/modules/editor/nvim.nix deleted file mode 100644 index 99f48bc7..00000000 --- a/modules/editor/nvim.nix +++ /dev/null @@ -1,185 +0,0 @@ -{ - home-manager.users.opdavies = - { pkgs, ... }: - { - programs.neovim = - let - php = pkgs.php82; - phpPackages = pkgs.php82Packages; - in - { - enable = true; - - plugins = with pkgs.vimPlugins; [ - comment-nvim - conf-vim - edit-alternate-vim - gitsigns-nvim - harpoon2 - mini-nvim - nvim-web-devicons - phpactor - refactoring-nvim - standard-vim - undotree - vim-caser - vim-nix - vim-pasta - vim-repeat - vim-sleuth - vim-textobj-indent - vim-textobj-user - vim-textobj-xmlattr - vim-unimpaired - - # Testing - vim-test - vimux - - # Git - vim-fugitive - - # Debugging - nvim-dap - nvim-dap-ui - nvim-dap-virtual-text - - # Treesitter - (pkgs.vimPlugins.nvim-treesitter.withPlugins ( - plugins: with plugins; [ - bash - comment - css - csv - dockerfile - gitattributes - gitignore - go - html - javascript - json - kdl - lua - luadoc - make - markdown - markdown_inline - nix - php - phpdoc - query - rst - scss - sql - terraform - twig - typescript - vim - vimdoc - vue - xml - yaml - ] - )) - nvim-treesitter-textobjects - - # LSP, linting and formatting - conform-nvim - lsp-status-nvim - nvim-lint - nvim-lspconfig - - # Completion - cmp-buffer - cmp-calc - cmp-cmdline - cmp-nvim-lsp - cmp-path - cmp-treesitter - cmp_luasnip - lspkind-nvim - nvim-cmp - - # Snippets - friendly-snippets - luasnip - - # Telescope - plenary-nvim - popup-nvim - telescope-frecency-nvim - telescope-fzf-native-nvim - telescope-live-grep-args-nvim - telescope-nvim - telescope-ui-select-nvim - - # Databases - vim-dadbod - vim-dadbod-ui - vim-dadbod-completion - - # Themes - catppuccin-nvim - ]; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - nodejs-slim - php - - # Language servers - bash-language-server - dockerfile-language-server-nodejs - emmet-language-server - gopls - lua-language-server - lua54Packages.luacheck - marksman - nixd - phpactor - tailwindcss-language-server - terraform-ls - typescript-language-server - vscode-langservers-extracted - vue-language-server - yaml-language-server - - # Formatters - black - eslint_d - nixfmt-rfc-style - nodePackages.prettier - stylua - yamlfmt - - # Tools - hadolint - html-tidy - mariadb - nodePackages.jsonlint - nodePackages.markdownlint-cli - phpPackages.php-codesniffer - phpPackages.phpstan - proselint - ripgrep - shellcheck - yamllint - ]; - }; - - xdg.configFile.nvim = { - source = ./config; - recursive = true; - }; - - home.file.".markdownlint.yaml".text = '' - default: true - - line-length: false - - no-duplicate-heading: - siblings_only: true - ''; - }; -} diff --git a/modules/mixins/bluetooth.nix b/modules/home-manager/cli/bluetuith.nix similarity index 58% rename from modules/mixins/bluetooth.nix rename to modules/home-manager/cli/bluetuith.nix index e2fc375c..f07399d0 100644 --- a/modules/mixins/bluetooth.nix +++ b/modules/home-manager/cli/bluetuith.nix @@ -1,15 +1,23 @@ -{ pkgs, ... }: - { - hardware.bluetooth.enable = true; + config, + lib, + pkgs, + ... +}: - services.blueman.enable = true; +with lib; - environment.systemPackages = with pkgs; [ - bluetuith - ]; +let + cfg = config.homeManagerModules.cli.bluetuith; +in +{ + options.homeManagerModules.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + bluetuith + ]; - home-manager.users.opdavies = { xdg.configFile."bluetuith/bluetuith.conf" = { text = '' { diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix new file mode 100644 index 00000000..4f66690d --- /dev/null +++ b/modules/home-manager/cli/default.nix @@ -0,0 +1,16 @@ +{ + imports = [ + ./bluetuith.nix + ./direnv.nix + ./fzf.nix + ./git.nix + ./node.nix + ./notes.nix + ./ranger.nix + ./scripts + ./starship.nix + ./tmux.nix + ./tmux-sessionizer.nix + ./zsh + ]; +} diff --git a/modules/home-manager/cli/direnv.nix b/modules/home-manager/cli/direnv.nix new file mode 100644 index 00000000..cc8d0988 --- /dev/null +++ b/modules/home-manager/cli/direnv.nix @@ -0,0 +1,21 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.cli.direnv; +in +{ + options.homeManagerModules.cli.direnv.enable = mkEnableOption "Enable direnv"; + + config = mkIf cfg.enable { + programs.direnv = { + enable = true; + enableZshIntegration = true; + + nix-direnv.enable = true; + + silent = true; + }; + }; +} diff --git a/modules/home-manager/cli/fzf.nix b/modules/home-manager/cli/fzf.nix new file mode 100644 index 00000000..9e61d277 --- /dev/null +++ b/modules/home-manager/cli/fzf.nix @@ -0,0 +1,21 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.cli.fzf; +in +{ + options.homeManagerModules.cli.fzf.enable = mkEnableOption "Enable fzf"; + + config = mkIf cfg.enable { + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + + home.sessionVariables = { + FZF_DEFAULT_OPTS = "--reverse"; + }; + }; +} diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix new file mode 100644 index 00000000..9d9496c0 --- /dev/null +++ b/modules/home-manager/cli/git.nix @@ -0,0 +1,178 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.cli.git; +in +{ + options.homeManagerModules.cli.git = { + enable = mkEnableOption "Enable git"; + + user = mkOption { + type = types.submodule { + options = { + emailAddress = mkOption { + description = "User email address."; + type = types.str; + apply = + x: + assert builtins.match "^[^@]+@[^@]+\\.[^@]+$" x != null; + x; + }; + }; + }; + }; + }; + + config = mkIf cfg.enable { + home.file."${config.xdg.configHome}/git/message".text = '' + + + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, uncomment the following line and describe the change: + # + # BREAKING CHANGE: + # + # + # Add any issue IDs or commit SHAs that this commit references: + # + # Refs: + + ''; + + programs = { + git = { + enable = true; + userName = "Oliver Davies"; + userEmail = cfg.user.emailAddress; + + aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + blame = "blame -w -C -C -C"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + stash = "stash --included-untracked"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + worktrees = "worktree list"; + }; + + ignores = [ + "/.ddev/providers/" + "/.direnv/" + "/.ignored/" + "/.issue-id" + "/.phpactor.json" + "/notes" + "/todo" + ]; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + sort = "-committerdate"; + }; + + checkout.defaultRemote = "origin"; + color.ui = true; + column.ui = "auto"; + commit.template = "${config.xdg.configHome}/git/message"; + + core = { + editor = "nvim"; + excludesFile = "~/.config/git/ignore"; + }; + + diff.tool = "vimdiff"; + fetch.prune = true; + gpg.format = "ssh"; + grep.lineNumber = true; + help.autocorrect = "1"; + init.defaultBranch = "main"; + + maintenance = { + auto = false; + strategy = "incremental"; + }; + + merge.ff = "only"; + + push = { + autoSetupRemote = true; + default = "upstream"; + }; + + pull = { + ff = "only"; + rebase = true; + }; + + rebase = { + autosquash = true; + autostash = true; + }; + + user.signingkey = "~/.ssh/id_rsa.pub"; + }; + }; + }; + + home = { + packages = with pkgs; [ nixpkgs-2411.git-instafix ]; + + sessionVariables = { + GIT_INSTAFIX_UPSTREAM = "origin/main"; + }; + }; + }; +} diff --git a/modules/home-manager/cli/node.nix b/modules/home-manager/cli/node.nix new file mode 100644 index 00000000..443719da --- /dev/null +++ b/modules/home-manager/cli/node.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.cli.node; + + inherit (config.xdg) configHome dataHome stateHome; +in +{ + options.homeManagerModules.cli.node.enable = mkEnableOption "Enable node"; + + config = mkIf cfg.enable { + xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' + cache=${configHome}/npm + init-module=${configHome}/npm/config/npm-init.js + logs-dir=${stateHome}/npm/logs + prefix=${dataHome}/npm + ''; + + home.sessionVariables = { + NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; + }; + }; +} diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix new file mode 100644 index 00000000..1125daab --- /dev/null +++ b/modules/home-manager/cli/notes.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.cli.notes; +in +{ + options.homeManagerModules.cli.notes.enable = mkEnableOption "Enable notes"; + + config = mkIf cfg.enable { + xdg = { + enable = true; + userDirs.enable = true; + }; + + home = { + packages = with pkgs; [ notes ]; + + sessionVariables = { + NOTES_DIRECTORY = "${config.xdg.userDirs.documents}/wiki/notes"; + }; + }; + }; +} diff --git a/modules/home-manager/cli/ranger.nix b/modules/home-manager/cli/ranger.nix new file mode 100644 index 00000000..0b3d1a59 --- /dev/null +++ b/modules/home-manager/cli/ranger.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.cli.ranger; +in +{ + options.homeManagerModules.cli.ranger.enable = mkEnableOption "Enable ranger"; + + config = mkIf cfg.enable { + programs.ranger.enable = true; + }; +} diff --git a/modules/mixins/scripts/default.nix b/modules/home-manager/cli/scripts/default.nix similarity index 77% rename from modules/mixins/scripts/default.nix rename to modules/home-manager/cli/scripts/default.nix index 448d89a9..2da9de18 100644 --- a/modules/mixins/scripts/default.nix +++ b/modules/home-manager/cli/scripts/default.nix @@ -1,5 +1,5 @@ { - home-manager.users.opdavies.home = { + home = { sessionPath = [ "$HOME/.local/bin" ]; file.".local/bin" = { diff --git a/modules/mixins/scripts/scripts/create-script b/modules/home-manager/cli/scripts/scripts/create-script similarity index 100% rename from modules/mixins/scripts/scripts/create-script rename to modules/home-manager/cli/scripts/scripts/create-script diff --git a/modules/mixins/scripts/scripts/git-abort b/modules/home-manager/cli/scripts/scripts/git-abort similarity index 100% rename from modules/mixins/scripts/scripts/git-abort rename to modules/home-manager/cli/scripts/scripts/git-abort diff --git a/modules/mixins/scripts/scripts/git-bare-clone b/modules/home-manager/cli/scripts/scripts/git-bare-clone similarity index 100% rename from modules/mixins/scripts/scripts/git-bare-clone rename to modules/home-manager/cli/scripts/scripts/git-bare-clone diff --git a/modules/mixins/scripts/scripts/git-continue b/modules/home-manager/cli/scripts/scripts/git-continue similarity index 100% rename from modules/mixins/scripts/scripts/git-continue rename to modules/home-manager/cli/scripts/scripts/git-continue diff --git a/modules/mixins/scripts/scripts/git-sync b/modules/home-manager/cli/scripts/scripts/git-sync similarity index 100% rename from modules/mixins/scripts/scripts/git-sync rename to modules/home-manager/cli/scripts/scripts/git-sync diff --git a/modules/mixins/scripts/scripts/git-up b/modules/home-manager/cli/scripts/scripts/git-up similarity index 100% rename from modules/mixins/scripts/scripts/git-up rename to modules/home-manager/cli/scripts/scripts/git-up diff --git a/modules/mixins/scripts/scripts/import-gzip-database b/modules/home-manager/cli/scripts/scripts/import-gzip-database similarity index 100% rename from modules/mixins/scripts/scripts/import-gzip-database rename to modules/home-manager/cli/scripts/scripts/import-gzip-database diff --git a/modules/mixins/scripts/scripts/main-or-master-branch b/modules/home-manager/cli/scripts/scripts/main-or-master-branch similarity index 100% rename from modules/mixins/scripts/scripts/main-or-master-branch rename to modules/home-manager/cli/scripts/scripts/main-or-master-branch diff --git a/modules/mixins/scripts/scripts/mounter b/modules/home-manager/cli/scripts/scripts/mounter similarity index 100% rename from modules/mixins/scripts/scripts/mounter rename to modules/home-manager/cli/scripts/scripts/mounter diff --git a/modules/mixins/scripts/scripts/move-firefox-screenshots b/modules/home-manager/cli/scripts/scripts/move-firefox-screenshots similarity index 100% rename from modules/mixins/scripts/scripts/move-firefox-screenshots rename to modules/home-manager/cli/scripts/scripts/move-firefox-screenshots diff --git a/modules/mixins/scripts/scripts/new-drupal-module b/modules/home-manager/cli/scripts/scripts/new-drupal-module similarity index 100% rename from modules/mixins/scripts/scripts/new-drupal-module rename to modules/home-manager/cli/scripts/scripts/new-drupal-module diff --git a/modules/mixins/scripts/scripts/setbg b/modules/home-manager/cli/scripts/scripts/setbg similarity index 100% rename from modules/mixins/scripts/scripts/setbg rename to modules/home-manager/cli/scripts/scripts/setbg diff --git a/modules/mixins/scripts/scripts/start-traefik b/modules/home-manager/cli/scripts/scripts/start-traefik similarity index 100% rename from modules/mixins/scripts/scripts/start-traefik rename to modules/home-manager/cli/scripts/scripts/start-traefik diff --git a/modules/mixins/scripts/scripts/stop-all-docker-containers b/modules/home-manager/cli/scripts/scripts/stop-all-docker-containers similarity index 100% rename from modules/mixins/scripts/scripts/stop-all-docker-containers rename to modules/home-manager/cli/scripts/scripts/stop-all-docker-containers diff --git a/modules/mixins/scripts/scripts/stop-traefik b/modules/home-manager/cli/scripts/scripts/stop-traefik similarity index 100% rename from modules/mixins/scripts/scripts/stop-traefik rename to modules/home-manager/cli/scripts/scripts/stop-traefik diff --git a/modules/mixins/scripts/scripts/tag-release b/modules/home-manager/cli/scripts/scripts/tag-release similarity index 100% rename from modules/mixins/scripts/scripts/tag-release rename to modules/home-manager/cli/scripts/scripts/tag-release diff --git a/modules/mixins/scripts/scripts/unmounter b/modules/home-manager/cli/scripts/scripts/unmounter similarity index 100% rename from modules/mixins/scripts/scripts/unmounter rename to modules/home-manager/cli/scripts/scripts/unmounter diff --git a/modules/mixins/scripts/scripts/update-all-git-repos b/modules/home-manager/cli/scripts/scripts/update-all-git-repos similarity index 100% rename from modules/mixins/scripts/scripts/update-all-git-repos rename to modules/home-manager/cli/scripts/scripts/update-all-git-repos diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix new file mode 100644 index 00000000..da07eaf7 --- /dev/null +++ b/modules/home-manager/cli/starship.nix @@ -0,0 +1,187 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.cli.starship; +in +{ + options.homeManagerModules.cli.starship.enable = mkEnableOption "Enable starship"; + + config = mkIf cfg.enable { + programs.starship = + let + inherit (builtins) concatStringsSep; + in + { + enable = true; + enableZshIntegration = true; + + settings = { + add_newline = false; + + # https://starship.rs/config/#prompt + format = concatStringsSep "" [ + "\n" + "$username" + "$hostname" + "$directory" + "$vcsh" + "$git_branch" + "$git_status" + "$git_metrics" + "$docker_context" + "$nodejs" + "$php" + "$terraform" + "$nix_shell" + "$direnv" + "\${custom.mob}" + "$memory_usage" + "$cmd_duration" + "$lua" + "$status" + "$character" + ]; + + cmd_duration.disabled = true; + direnv.disabled = false; + directory.format = "[$path]($style) "; + git_status.disabled = true; + nix_shell.disabled = true; + nodejs.disabled = true; + php.disabled = true; + username.disabled = true; + + custom = { + mob = { + command = "echo $MOB_TIMER_ROOM"; + format = "[($output)]($style) "; + when = "[[ -v MOB_TIMER_ROOM ]]"; + }; + }; + + # https://starship.rs/presets/plain-text + aws.symbol = "aws "; + azure.symbol = "az "; + bun.symbol = "bun "; + c.symbol = "C "; + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + cobol.symbol = "cobol "; + conda.symbol = "conda "; + crystal.symbol = "cr "; + cmake.symbol = "cmake "; + daml.symbol = "daml "; + dart.symbol = "dart "; + deno.symbol = "deno "; + dotnet.symbol = ".NET "; + directory.read_only = " ro"; + docker_context.symbol = "docker "; + elixir.symbol = "exs "; + elm.symbol = "elm "; + fennel.symbol = "fnl "; + fossil_branch.symbol = "fossil "; + gcloud.symbol = "gcp "; + git_branch.symbol = "git "; + git_commit.tag_symbol = " tag "; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + gleam.symbol = "gleam "; + golang.symbol = "go "; + gradle.symbol = "gradle "; + guix_shell.symbol = "guix "; + hg_branch.symbol = "hg "; + java.symbol = "java "; + julia.symbol = "jl "; + kotlin.symbol = "kt "; + lua.symbol = "lua "; + nodejs.symbol = "nodejs "; + memory_usage.symbol = "memory "; + meson.symbol = "meson "; + nats.symbol = "nats "; + nim.symbol = "nim "; + nix_shell.symbol = "nix "; + ocaml.symbol = "ml "; + opa.symbol = "opa "; + os.symbols = { + AIX = "aix "; + Alpaquita = "alq "; + AlmaLinux = "alma "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + RockyLinux = "rky "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + }; + package.symbol = "pkg "; + perl.symbol = "pl "; + php.symbol = "php "; + pijul_channel.symbol = "pijul "; + pulumi.symbol = "pulumi "; + purescript.symbol = "purs "; + python.symbol = "py "; + quarto.symbol = "quarto "; + raku.symbol = "raku "; + ruby.symbol = "rb "; + rust.symbol = "rs "; + scala.symbol = "scala "; + spack.symbol = "spack "; + solidity.symbol = "solidity "; + status.symbol = "[x](bold red) "; + sudo.symbol = "sudo "; + swift.symbol = "swift "; + typst.symbol = "typst "; + terraform.symbol = "terraform "; + zig.symbol = "zig "; + }; + }; + }; +} diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix new file mode 100644 index 00000000..d94063c9 --- /dev/null +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -0,0 +1,46 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.cli.tmux-sessionizer; +in +{ + options.homeManagerModules.cli.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + tmux-sessionizer + ]; + + xdg.configFile."tmux-sessionizer/default".source = "${ + pkgs.writeShellApplication { + name = ".tmux-sessionizer"; + + runtimeInputs = with pkgs; [ + tmux + ]; + + text = '' + set +o errexit + set +o nounset + + if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" ]]; then + clear + + return + fi + + tmux new-window -d -n scratch + nvim . + clear + ''; + } + }/bin/.tmux-sessionizer"; + }; +} diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix new file mode 100644 index 00000000..d535e977 --- /dev/null +++ b/modules/home-manager/cli/tmux.nix @@ -0,0 +1,97 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.cli.tmux; +in +{ + options.homeManagerModules.cli.tmux.enable = mkEnableOption "Enable tmux"; + + config = mkIf cfg.enable { + programs.tmux = { + enable = true; + + terminal = "tmux-256color"; + + extraConfig = '' + set-option -g status-keys "vi" + set-option -sa terminal-features "''${TERM}:RGB" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + # Status line customisation + set-option -g status-left "" + set-option -g status-right " #{session_name}" + set-option -g status-right-length 100 + set-option -g status-style "fg=#7C7D83 bg=default" + set-option -g window-status-activity-style none + set-option -g window-status-current-style "fg=#E9E9EA" + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g pane-base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" + + bind-key C-j choose-tree + + set-window-option -g mode-keys vi + bind -T copy-mode-vi v send-keys -X begin-selection + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using <prefix> C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + + set-option -g pane-active-border-style "fg=#1f2335" + set-option -g pane-border-style "fg=#1f2335" + + # Vim-like pane navigation. + bind ^ last-window + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + bind-key -r f run-shell "tmux new-window tmux-sessionizer" + + bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" + bind-key -r N new-window "notes" + bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" + ''; + + plugins = with pkgs.tmuxPlugins; [ + vim-tmux-navigator + yank + ]; + }; + }; +} diff --git a/modules/mixins/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix similarity index 100% rename from modules/mixins/zsh/abbreviations.nix rename to modules/home-manager/cli/zsh/abbreviations.nix diff --git a/modules/mixins/zsh/aliases.nix b/modules/home-manager/cli/zsh/aliases.nix similarity index 100% rename from modules/mixins/zsh/aliases.nix rename to modules/home-manager/cli/zsh/aliases.nix diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix new file mode 100644 index 00000000..93fa5b1d --- /dev/null +++ b/modules/home-manager/cli/zsh/default.nix @@ -0,0 +1,115 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.cli.zsh; +in +{ + options.homeManagerModules.cli.zsh.enable = mkEnableOption "Enable zsh"; + + config = mkIf cfg.enable { + programs.zsh = { + enable = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + + zsh-abbr = { + enable = true; + + abbreviations = import ./abbreviations.nix; + globalAbbreviations = import ./global-abbreviations.nix; + }; + + dotDir = ".config/zsh"; + + shellAliases = (import ./aliases.nix { inherit config; }); + + localVariables = { + ABBR_SET_EXPANSION_CURSOR = 1; + }; + + profileExtra = '' + if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then + exec startx &>/dev/null + fi + ''; + + initExtra = '' + background() { + for ((i=2;i<=$#;i++)); do + ''${@[1]} ''${@[$i]} &> /dev/null & + done + } + + # suffix + alias -s gz="tar -tf" + alias -s {html,HTML}="background zsh" + alias -s {jpg,JPG,png,PNG}="background okular" + alias -s {pdf,PDF}="background okular" + alias -s {zip,ZIP}="unzip -l" + + git() { + case "$1" in + clone) + shift + + local repo_url="$1" + local repo_path="''${2:-}" + + if [ -n "$TARGET_DIR" ]; then + command git clone "$repo_url" "$repo_path" + else + command git clone "$repo_url" + repo_path=$(basename "$repo_url" .git) + fi + + ${pkgs.tmux-sessionizer}/bin/tmux-sessionizer "$repo_path" + ;; + + root) + shift + + local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" + + if [[ $# == 0 ]]; then + cd "''${ROOT}" + else + (cd "''${ROOT}" && eval "''${@}") + fi + ;; + + *) + ${pkgs.git}/bin/git "''${@}" + ;; + esac + } + + mbsync() { + ${pkgs.isync}/bin/mbsync --config "${config.xdg.configHome}/isync/mbsyncrc" "''${@}" + } + + ttyper() { + command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" + } + + yt-dlp() { + command yt-dlp --paths ~/Videos "$@" + } + + bindkey -s ^f "tmux-sessionizer\n" + bindkey -s ^v "nvim\n" + + setopt auto_cd + setopt auto_pushd + setopt pushd_ignore_dups + setopt pushdminus + ''; + }; + }; +} diff --git a/modules/mixins/zsh/global-abbreviations.nix b/modules/home-manager/cli/zsh/global-abbreviations.nix similarity index 100% rename from modules/mixins/zsh/global-abbreviations.nix rename to modules/home-manager/cli/zsh/global-abbreviations.nix diff --git a/modules/home-manager/coding/default.nix b/modules/home-manager/coding/default.nix new file mode 100644 index 00000000..a8d773c7 --- /dev/null +++ b/modules/home-manager/coding/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./neovim + ./phpactor + ]; +} diff --git a/modules/editor/config/.gitignore b/modules/home-manager/coding/neovim/config/.gitignore similarity index 100% rename from modules/editor/config/.gitignore rename to modules/home-manager/coding/neovim/config/.gitignore diff --git a/modules/editor/config/after/ftplugin/gitcommit.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/gitcommit.lua similarity index 100% rename from modules/editor/config/after/ftplugin/gitcommit.lua rename to modules/home-manager/coding/neovim/config/after/ftplugin/gitcommit.lua diff --git a/modules/editor/config/after/ftplugin/markdown.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua similarity index 100% rename from modules/editor/config/after/ftplugin/markdown.lua rename to modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua diff --git a/modules/editor/config/after/ftplugin/netrw.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/netrw.lua similarity index 100% rename from modules/editor/config/after/ftplugin/netrw.lua rename to modules/home-manager/coding/neovim/config/after/ftplugin/netrw.lua diff --git a/modules/editor/config/after/ftplugin/php.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/php.lua similarity index 100% rename from modules/editor/config/after/ftplugin/php.lua rename to modules/home-manager/coding/neovim/config/after/ftplugin/php.lua diff --git a/modules/editor/config/after/ftplugin/rst.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua similarity index 100% rename from modules/editor/config/after/ftplugin/rst.lua rename to modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua diff --git a/modules/editor/config/after/ftplugin/term.vim b/modules/home-manager/coding/neovim/config/after/ftplugin/term.vim similarity index 100% rename from modules/editor/config/after/ftplugin/term.vim rename to modules/home-manager/coding/neovim/config/after/ftplugin/term.vim diff --git a/modules/editor/config/after/ftplugin/text.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua similarity index 100% rename from modules/editor/config/after/ftplugin/text.lua rename to modules/home-manager/coding/neovim/config/after/ftplugin/text.lua diff --git a/modules/editor/config/autoload/opdavies.vim b/modules/home-manager/coding/neovim/config/autoload/opdavies.vim similarity index 100% rename from modules/editor/config/autoload/opdavies.vim rename to modules/home-manager/coding/neovim/config/autoload/opdavies.vim diff --git a/modules/editor/config/init.lua b/modules/home-manager/coding/neovim/config/init.lua similarity index 100% rename from modules/editor/config/init.lua rename to modules/home-manager/coding/neovim/config/init.lua diff --git a/modules/editor/config/lua/opdavies/globals.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/globals.lua similarity index 100% rename from modules/editor/config/lua/opdavies/globals.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/globals.lua diff --git a/modules/editor/config/lua/opdavies/init.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/init.lua similarity index 100% rename from modules/editor/config/lua/opdavies/init.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/init.lua diff --git a/modules/editor/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua similarity index 100% rename from modules/editor/config/lua/opdavies/keymaps.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua diff --git a/modules/editor/config/lua/opdavies/lsp/handlers.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/handlers.lua similarity index 100% rename from modules/editor/config/lua/opdavies/lsp/handlers.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/lsp/handlers.lua diff --git a/modules/editor/config/lua/opdavies/lsp/init.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua similarity index 100% rename from modules/editor/config/lua/opdavies/lsp/init.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua diff --git a/modules/editor/config/lua/opdavies/options.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/options.lua similarity index 100% rename from modules/editor/config/lua/opdavies/options.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/options.lua diff --git a/modules/editor/config/lua/opdavies/snippets/javascript.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/javascript.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/javascript.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/javascript.lua diff --git a/modules/editor/config/lua/opdavies/snippets/lua.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/lua.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/lua.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/lua.lua diff --git a/modules/editor/config/lua/opdavies/snippets/php.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/php.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/php.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/php.lua diff --git a/modules/editor/config/lua/opdavies/snippets/rst.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/rst.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/rst.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/rst.lua diff --git a/modules/editor/config/lua/opdavies/snippets/scss.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/scss.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/scss.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/scss.lua diff --git a/modules/editor/config/lua/opdavies/snippets/twig.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/twig.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/twig.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/twig.lua diff --git a/modules/editor/config/lua/opdavies/snippets/yaml.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/yaml.lua similarity index 100% rename from modules/editor/config/lua/opdavies/snippets/yaml.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/snippets/yaml.lua diff --git a/modules/editor/config/lua/opdavies/telescope/multigrep.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/telescope/multigrep.lua similarity index 100% rename from modules/editor/config/lua/opdavies/telescope/multigrep.lua rename to modules/home-manager/coding/neovim/config/lua/opdavies/telescope/multigrep.lua diff --git a/modules/editor/config/plugin/autocommands.lua b/modules/home-manager/coding/neovim/config/plugin/autocommands.lua similarity index 100% rename from modules/editor/config/plugin/autocommands.lua rename to modules/home-manager/coding/neovim/config/plugin/autocommands.lua diff --git a/modules/editor/config/plugin/colorscheme.lua b/modules/home-manager/coding/neovim/config/plugin/colorscheme.lua similarity index 100% rename from modules/editor/config/plugin/colorscheme.lua rename to modules/home-manager/coding/neovim/config/plugin/colorscheme.lua diff --git a/modules/editor/config/plugin/comment.lua b/modules/home-manager/coding/neovim/config/plugin/comment.lua similarity index 100% rename from modules/editor/config/plugin/comment.lua rename to modules/home-manager/coding/neovim/config/plugin/comment.lua diff --git a/modules/editor/config/plugin/completion.lua b/modules/home-manager/coding/neovim/config/plugin/completion.lua similarity index 100% rename from modules/editor/config/plugin/completion.lua rename to modules/home-manager/coding/neovim/config/plugin/completion.lua diff --git a/modules/editor/config/plugin/conform.lua b/modules/home-manager/coding/neovim/config/plugin/conform.lua similarity index 100% rename from modules/editor/config/plugin/conform.lua rename to modules/home-manager/coding/neovim/config/plugin/conform.lua diff --git a/modules/editor/config/plugin/dap.lua b/modules/home-manager/coding/neovim/config/plugin/dap.lua similarity index 100% rename from modules/editor/config/plugin/dap.lua rename to modules/home-manager/coding/neovim/config/plugin/dap.lua diff --git a/modules/editor/config/plugin/edit_alternate.lua b/modules/home-manager/coding/neovim/config/plugin/edit_alternate.lua similarity index 100% rename from modules/editor/config/plugin/edit_alternate.lua rename to modules/home-manager/coding/neovim/config/plugin/edit_alternate.lua diff --git a/modules/editor/config/plugin/filetype.lua b/modules/home-manager/coding/neovim/config/plugin/filetype.lua similarity index 100% rename from modules/editor/config/plugin/filetype.lua rename to modules/home-manager/coding/neovim/config/plugin/filetype.lua diff --git a/modules/editor/config/plugin/fugitive.lua b/modules/home-manager/coding/neovim/config/plugin/fugitive.lua similarity index 100% rename from modules/editor/config/plugin/fugitive.lua rename to modules/home-manager/coding/neovim/config/plugin/fugitive.lua diff --git a/modules/editor/config/plugin/gitsigns.lua b/modules/home-manager/coding/neovim/config/plugin/gitsigns.lua similarity index 100% rename from modules/editor/config/plugin/gitsigns.lua rename to modules/home-manager/coding/neovim/config/plugin/gitsigns.lua diff --git a/modules/editor/config/plugin/harpoon.lua b/modules/home-manager/coding/neovim/config/plugin/harpoon.lua similarity index 100% rename from modules/editor/config/plugin/harpoon.lua rename to modules/home-manager/coding/neovim/config/plugin/harpoon.lua diff --git a/modules/editor/config/plugin/lint.lua b/modules/home-manager/coding/neovim/config/plugin/lint.lua similarity index 100% rename from modules/editor/config/plugin/lint.lua rename to modules/home-manager/coding/neovim/config/plugin/lint.lua diff --git a/modules/editor/config/plugin/mini.lua b/modules/home-manager/coding/neovim/config/plugin/mini.lua similarity index 100% rename from modules/editor/config/plugin/mini.lua rename to modules/home-manager/coding/neovim/config/plugin/mini.lua diff --git a/modules/editor/config/plugin/netrw.lua b/modules/home-manager/coding/neovim/config/plugin/netrw.lua similarity index 100% rename from modules/editor/config/plugin/netrw.lua rename to modules/home-manager/coding/neovim/config/plugin/netrw.lua diff --git a/modules/editor/config/plugin/phpactor.lua b/modules/home-manager/coding/neovim/config/plugin/phpactor.lua similarity index 100% rename from modules/editor/config/plugin/phpactor.lua rename to modules/home-manager/coding/neovim/config/plugin/phpactor.lua diff --git a/modules/editor/config/plugin/refactoring.lua b/modules/home-manager/coding/neovim/config/plugin/refactoring.lua similarity index 100% rename from modules/editor/config/plugin/refactoring.lua rename to modules/home-manager/coding/neovim/config/plugin/refactoring.lua diff --git a/modules/editor/config/plugin/snippets.lua b/modules/home-manager/coding/neovim/config/plugin/snippets.lua similarity index 100% rename from modules/editor/config/plugin/snippets.lua rename to modules/home-manager/coding/neovim/config/plugin/snippets.lua diff --git a/modules/editor/config/plugin/telescope.lua b/modules/home-manager/coding/neovim/config/plugin/telescope.lua similarity index 100% rename from modules/editor/config/plugin/telescope.lua rename to modules/home-manager/coding/neovim/config/plugin/telescope.lua diff --git a/modules/editor/config/plugin/treesitter.lua b/modules/home-manager/coding/neovim/config/plugin/treesitter.lua similarity index 100% rename from modules/editor/config/plugin/treesitter.lua rename to modules/home-manager/coding/neovim/config/plugin/treesitter.lua diff --git a/modules/editor/config/plugin/undotree.lua b/modules/home-manager/coding/neovim/config/plugin/undotree.lua similarity index 100% rename from modules/editor/config/plugin/undotree.lua rename to modules/home-manager/coding/neovim/config/plugin/undotree.lua diff --git a/modules/editor/config/plugin/vim-test.lua b/modules/home-manager/coding/neovim/config/plugin/vim-test.lua similarity index 100% rename from modules/editor/config/plugin/vim-test.lua rename to modules/home-manager/coding/neovim/config/plugin/vim-test.lua diff --git a/modules/editor/config/spell/en.utf-8.add b/modules/home-manager/coding/neovim/config/spell/en.utf-8.add similarity index 100% rename from modules/editor/config/spell/en.utf-8.add rename to modules/home-manager/coding/neovim/config/spell/en.utf-8.add diff --git a/modules/editor/config/stylua.toml b/modules/home-manager/coding/neovim/config/stylua.toml similarity index 100% rename from modules/editor/config/stylua.toml rename to modules/home-manager/coding/neovim/config/stylua.toml diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix new file mode 100644 index 00000000..6f62d1cc --- /dev/null +++ b/modules/home-manager/coding/neovim/default.nix @@ -0,0 +1,197 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.coding.neovim; +in +{ + options.homeManagerModules.coding.neovim.enable = mkEnableOption "Enable neovim"; + + config = mkIf cfg.enable { + programs.neovim = + let + php = pkgs.php82; + phpPackages = pkgs.php82Packages; + in + { + enable = true; + + plugins = with pkgs.vimPlugins; [ + comment-nvim + conf-vim + edit-alternate-vim + gitsigns-nvim + harpoon2 + mini-nvim + nvim-web-devicons + phpactor + refactoring-nvim + standard-vim + undotree + vim-caser + vim-nix + vim-pasta + vim-repeat + vim-sleuth + vim-textobj-indent + vim-textobj-user + vim-textobj-xmlattr + vim-unimpaired + + # Testing + vim-test + vimux + + # Git + vim-fugitive + + # Debugging + nvim-dap + nvim-dap-ui + nvim-dap-virtual-text + + # Treesitter + (pkgs.vimPlugins.nvim-treesitter.withPlugins ( + plugins: with plugins; [ + bash + comment + css + csv + dockerfile + gitattributes + gitignore + go + html + javascript + json + kdl + lua + luadoc + make + markdown + markdown_inline + nix + php + phpdoc + query + rst + scss + sql + terraform + twig + typescript + vim + vimdoc + vue + xml + yaml + ] + )) + nvim-treesitter-textobjects + + # LSP, linting and formatting + conform-nvim + lsp-status-nvim + nvim-lint + nvim-lspconfig + + # Completion + cmp-buffer + cmp-calc + cmp-cmdline + cmp-nvim-lsp + cmp-path + cmp-treesitter + cmp_luasnip + lspkind-nvim + nvim-cmp + + # Snippets + friendly-snippets + luasnip + + # Telescope + plenary-nvim + popup-nvim + telescope-frecency-nvim + telescope-fzf-native-nvim + telescope-live-grep-args-nvim + telescope-nvim + telescope-ui-select-nvim + + # Databases + vim-dadbod + vim-dadbod-ui + vim-dadbod-completion + + # Themes + catppuccin-nvim + ]; + + extraPackages = with pkgs; [ + # Languages + nodePackages.typescript + nodejs-slim + php + + # Language servers + bash-language-server + dockerfile-language-server-nodejs + emmet-language-server + gopls + lua-language-server + lua54Packages.luacheck + marksman + nixd + phpactor + tailwindcss-language-server + terraform-ls + typescript-language-server + vscode-langservers-extracted + vue-language-server + yaml-language-server + + # Formatters + black + eslint_d + nixfmt-rfc-style + nodePackages.prettier + stylua + yamlfmt + + # Tools + hadolint + html-tidy + mariadb + nodePackages.jsonlint + nodePackages.markdownlint-cli + phpPackages.php-codesniffer + phpPackages.phpstan + proselint + ripgrep + shellcheck + yamllint + ]; + }; + + xdg.configFile.nvim = { + source = ./config; + recursive = true; + }; + + home.file.".markdownlint.yaml".text = '' + default: true + + line-length: false + + no-duplicate-heading: + siblings_only: true + ''; + }; +} diff --git a/modules/mixins/phpactor/config/phpactor.yml b/modules/home-manager/coding/phpactor/config/phpactor.yml similarity index 100% rename from modules/mixins/phpactor/config/phpactor.yml rename to modules/home-manager/coding/phpactor/config/phpactor.yml diff --git a/modules/mixins/phpactor/config/templates/collection/SourceCode.php.twig b/modules/home-manager/coding/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from modules/mixins/phpactor/config/templates/collection/SourceCode.php.twig rename to modules/home-manager/coding/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/modules/mixins/phpactor/config/templates/default/SourceCode.php.twig b/modules/home-manager/coding/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from modules/mixins/phpactor/config/templates/default/SourceCode.php.twig rename to modules/home-manager/coding/phpactor/config/templates/default/SourceCode.php.twig diff --git a/modules/mixins/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig b/modules/home-manager/coding/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from modules/mixins/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig rename to modules/home-manager/coding/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/modules/mixins/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig b/modules/home-manager/coding/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from modules/mixins/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig rename to modules/home-manager/coding/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/modules/mixins/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig b/modules/home-manager/coding/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from modules/mixins/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig rename to modules/home-manager/coding/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/coding/phpactor/default.nix new file mode 100644 index 00000000..0b6063cc --- /dev/null +++ b/modules/home-manager/coding/phpactor/default.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.homeManagerModules.coding.phpactor; +in +{ + options.homeManagerModules.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; + + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ + phpactor + ]; + + xdg.configFile.phpactor = { + source = ./config; + recursive = true; + }; + }; +} diff --git a/modules/home-manager/core/default.nix b/modules/home-manager/core/default.nix new file mode 100644 index 00000000..e885317f --- /dev/null +++ b/modules/home-manager/core/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./gnupg.nix + ]; +} diff --git a/modules/home-manager/core/gnupg.nix b/modules/home-manager/core/gnupg.nix new file mode 100644 index 00000000..84735d28 --- /dev/null +++ b/modules/home-manager/core/gnupg.nix @@ -0,0 +1,8 @@ +{ + home.file.".gnupg/gpg-agent.conf".text = '' + allow-preset-passphrase + default-cache-ttl 600 + max-cache-ttl 7200 + enable-ssh-support + ''; +} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix new file mode 100644 index 00000000..523b8156 --- /dev/null +++ b/modules/home-manager/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ./cli + ./coding + ./core + ./desktop + ]; +} diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix new file mode 100644 index 00000000..eb2d7749 --- /dev/null +++ b/modules/home-manager/desktop/default.nix @@ -0,0 +1,10 @@ +{ + imports = [ + ./firefox.nix + ./flameshot.nix + ./gtk.nix + ./qutebrowser.nix + ./mpv.nix + ./screenkey.nix + ]; +} diff --git a/modules/home-manager/desktop/firefox.nix b/modules/home-manager/desktop/firefox.nix new file mode 100644 index 00000000..53a8d6c3 --- /dev/null +++ b/modules/home-manager/desktop/firefox.nix @@ -0,0 +1,124 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.desktop.firefox; +in +{ + options.homeManagerModules.desktop.firefox.enable = mkEnableOption "Enable firefox"; + + config = mkIf cfg.enable { + programs.firefox.enable = false; + + programs.librewolf = { + enable = true; + + languagePacks = [ "en-GB" ]; + + policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; + + profiles = { + default = { + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ + awesome-rss + bitwarden + darkreader + onetab + tree-style-tab + ublock-origin + videospeed + vimium + web-developer + ]; + + search = { + default = "ddg"; + force = true; + privateDefault = "ddg"; + }; + + settings = { + "browser.search.isUS" = false; + "browser.search.region" = "GB"; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; + }; + }; + }; + }; +} diff --git a/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/desktop/flameshot.nix new file mode 100644 index 00000000..6e41de30 --- /dev/null +++ b/modules/home-manager/desktop/flameshot.nix @@ -0,0 +1,26 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.desktop.flameshot; +in +{ + options.homeManagerModules.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + + config = mkIf cfg.enable { + services.flameshot = { + enable = true; + + settings = { + General = { + disabledTrayIcon = false; + saveAfterCopy = true; + savePath = "${config.xdg.userDirs.pictures}/Screenshots"; + showHelp = false; + uiColor = "#60a5fa"; + }; + }; + }; + }; +} diff --git a/modules/home-manager/desktop/gtk.nix b/modules/home-manager/desktop/gtk.nix new file mode 100644 index 00000000..f888d894 --- /dev/null +++ b/modules/home-manager/desktop/gtk.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.desktop.gtk; +in +{ + options.homeManagerModules.desktop.gtk.enable = mkEnableOption "Enable gtk"; + + config = mkIf cfg.enable { + gtk = with pkgs; { + enable = true; + + theme = { + name = "Arc-Dark"; + package = arc-theme; + }; + + iconTheme = { + name = "Arc"; + package = arc-icon-theme; + }; + + gtk3.extraConfig.gtk-enable-animations = false; + gtk4.extraConfig.gtk-enable-animations = false; + }; + }; +} diff --git a/modules/home-manager/desktop/mpv.nix b/modules/home-manager/desktop/mpv.nix new file mode 100644 index 00000000..05ceba15 --- /dev/null +++ b/modules/home-manager/desktop/mpv.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homeManagerModules.desktop.mpv; +in +{ + options.homeManagerModules.desktop.mpv.enable = mkEnableOption "Enable mpv"; + + config = mkIf cfg.enable { + programs.mpv = { + enable = true; + + # https://github.com/mpv-player/mpv/blob/master/etc/input.conf + bindings = { + "DOWN" = "add volume -5"; + "UP" = "add volume 5"; + }; + }; + }; +} diff --git a/modules/mixins/qutebrowser.nix b/modules/home-manager/desktop/qutebrowser.nix similarity index 80% rename from modules/mixins/qutebrowser.nix rename to modules/home-manager/desktop/qutebrowser.nix index 23f97b55..f8102b33 100644 --- a/modules/mixins/qutebrowser.nix +++ b/modules/home-manager/desktop/qutebrowser.nix @@ -1,9 +1,14 @@ -{ lib, ... }: +{ config, lib, ... }: with lib; +let + cfg = config.homeManagerModules.desktop.qutebrowser; +in { - home-manager.users.opdavies = { + options.homeManagerModules.desktop.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; + + config = mkIf cfg.enable { programs.qutebrowser = { enable = true; diff --git a/modules/home-manager/desktop/screenkey.nix b/modules/home-manager/desktop/screenkey.nix new file mode 100644 index 00000000..ba06a66d --- /dev/null +++ b/modules/home-manager/desktop/screenkey.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ screenkey ]; + + xdg.configFile."screenkey.json".text = builtins.toJSON { + key_mode = "composed"; + mods_mode = "emacs"; + persist = true; + size = "small"; + timeout = 0.25; + }; +} diff --git a/modules/mixins/common.nix b/modules/mixins/common.nix deleted file mode 100644 index 1579f83f..00000000 --- a/modules/mixins/common.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - imports = [ ./common ]; -} diff --git a/modules/mixins/direnv.nix b/modules/mixins/direnv.nix deleted file mode 100644 index 3b706805..00000000 --- a/modules/mixins/direnv.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.direnv = { - enable = true; - enableZshIntegration = true; - - nix-direnv.enable = true; - - silent = true; - }; -} diff --git a/modules/mixins/docker.nix b/modules/mixins/docker.nix deleted file mode 100644 index 5b976241..00000000 --- a/modules/mixins/docker.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - virtualisation.docker = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; - - users.users.opdavies.extraGroups = [ "docker" ]; -} diff --git a/modules/mixins/firefox.nix b/modules/mixins/firefox.nix deleted file mode 100644 index 614f1a5c..00000000 --- a/modules/mixins/firefox.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - home-manager.users.opdavies = - { pkgs, ... }: - { - programs.firefox.enable = false; - - programs.librewolf = { - enable = true; - - languagePacks = [ "en-GB" ]; - - policies = { - CaptivePortal = false; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - - EnableTrackingProtection = { - Cryptomining = true; - Fingerprinting = true; - Value = true; - }; - - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; - installation_mode = "force_installed"; - }; - - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - }; - }; - - FirefoxHome = { - Highlights = false; - Pocket = false; - Search = true; - Snippets = false; - SponsoredPocket = false; - SponsoredTopSites = false; - TopSites = true; - }; - - FirefoxSuggest = { - ImproveSuggest = false; - SponsoredSuggestions = false; - WebSuggestions = false; - }; - - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - - Preferences = { - "cookiebanners.service.mode" = 2; # Block cookie banners - "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing - "privacy.donottrackheader.enabled" = true; - "privacy.fingerprintingProtection" = true; - "privacy.resistFingerprinting" = true; - "privacy.trackingprotection.emailtracking.enabled" = true; - "privacy.trackingprotection.enabled" = true; - "privacy.trackingprotection.fingerprinting.enabled" = true; - "privacy.trackingprotection.socialtracking.enabled" = true; - }; - - HardwareAcceleration = true; - TranslateEnabled = true; - - UserMessaging = { - ExtensionRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = true; - }; - }; - - profiles = { - default = { - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - awesome-rss - bitwarden - darkreader - onetab - tree-style-tab - ublock-origin - videospeed - vimium - web-developer - ]; - - search = { - default = "ddg"; - force = true; - privateDefault = "ddg"; - }; - - settings = { - "browser.search.isUS" = false; - "browser.search.region" = "GB"; - "distribution.searchplugins.defaultLocale" = "en-GB"; - "general.useragent.locale" = "en-GB"; - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; - }; - }; -} diff --git a/modules/mixins/flameshot.nix b/modules/mixins/flameshot.nix deleted file mode 100644 index 6b3bf1fb..00000000 --- a/modules/mixins/flameshot.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - home-manager.users.opdavies = - { config, ... }: - { - services.flameshot = { - enable = true; - - settings = { - General = { - disabledTrayIcon = false; - saveAfterCopy = true; - savePath = "${config.xdg.userDirs.pictures}/Screenshots"; - showHelp = false; - uiColor = "#60a5fa"; - }; - }; - }; - }; -} diff --git a/modules/mixins/fonts.nix b/modules/mixins/fonts.nix deleted file mode 100644 index 446e2b25..00000000 --- a/modules/mixins/fonts.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: - -{ - fonts = { - fontconfig = { - enable = true; - }; - - packages = with pkgs; [ - nerd-fonts.jetbrains-mono - nerd-fonts.meslo-lg - terminus_font - terminus_font_ttf - ]; - }; -} diff --git a/modules/mixins/fzf.nix b/modules/mixins/fzf.nix deleted file mode 100644 index 524c7196..00000000 --- a/modules/mixins/fzf.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - home-manager.users.opdavies = { - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - - home.sessionVariables = { - FZF_DEFAULT_OPTS = "--reverse"; - }; - }; -} diff --git a/modules/mixins/git.nix b/modules/mixins/git.nix deleted file mode 100644 index 18a63de9..00000000 --- a/modules/mixins/git.nix +++ /dev/null @@ -1,161 +0,0 @@ -{ - git ? { }, - ... -}: - -{ - home-manager.users.opdavies = - { config, pkgs, ... }: - { - home.file."${config.xdg.configHome}/git/message".text = '' - - - # Description - # - # - Why is this change necessary? - # - How does it address the issue? - # - What side effects does this change have? - # - # For breaking changes, uncomment the following line and describe the change: - # - # BREAKING CHANGE: - # - # - # Add any issue IDs or commit SHAs that this commit references: - # - # Refs: - - ''; - - programs = { - git = { - enable = true; - userName = git.name; - userEmail = git.emailAddress; - - includes = [ - { - condition = "gitdir:${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/tfw"; - contents.user.email = "oliver.davies@tfw.wales"; - } - ]; - - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - blame = "blame -w -C -C -C"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - stash = "stash --included-untracked"; - unassume = "update-index --no-assume-unchanged"; - uncommit = "reset --soft HEAD^"; - unstage = "reset"; - update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - worktrees = "worktree list"; - }; - - ignores = [ - "/.ddev/providers/" - "/.direnv/" - "/.ignored/" - "/.issue-id" - "/.phpactor.json" - "/notes" - "/todo" - ]; - - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - sort = "-committerdate"; - }; - - checkout.defaultRemote = "origin"; - color.ui = true; - column.ui = "auto"; - commit.template = "${config.xdg.configHome}/git/message"; - - core = { - editor = "nvim"; - excludesFile = "~/.config/git/ignore"; - }; - - diff.tool = "vimdiff"; - fetch.prune = true; - gpg.format = "ssh"; - grep.lineNumber = true; - help.autocorrect = "1"; - init.defaultBranch = "main"; - - maintenance = { - auto = false; - strategy = "incremental"; - }; - - merge.ff = "only"; - - push = { - autoSetupRemote = true; - default = "upstream"; - }; - - pull = { - ff = "only"; - rebase = true; - }; - - rebase = { - autosquash = true; - autostash = true; - }; - - user.signingkey = "~/.ssh/id_rsa.pub"; - }; - }; - }; - - home = { - packages = with pkgs; [ nixpkgs-2411.git-instafix ]; - - sessionVariables = { - GIT_INSTAFIX_UPSTREAM = "origin/main"; - }; - }; - }; -} diff --git a/modules/mixins/gnupg.nix b/modules/mixins/gnupg.nix deleted file mode 100644 index 416180b5..00000000 --- a/modules/mixins/gnupg.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs, ... }: - -{ - security.pam.services.login.gnupg.enable = true; - - programs = { - gnupg.agent = { - enable = true; - enableSSHSupport = true; - - pinentryPackage = pkgs.pinentry-qt; - }; - }; - - home-manager.users.opdavies = { - home.file = { - ".gnupg/gpg-agent.conf".text = '' - allow-preset-passphrase - default-cache-ttl 600 - max-cache-ttl 7200 - enable-ssh-support - ''; - }; - }; -} diff --git a/modules/mixins/gtk.nix b/modules/mixins/gtk.nix deleted file mode 100644 index 35f95b1e..00000000 --- a/modules/mixins/gtk.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - home-manager.users.opdavies = - { pkgs, ... }: - { - gtk = { - enable = true; - - theme = { - name = "Arc-Dark"; - package = pkgs.arc-theme; - }; - - iconTheme = { - name = "Arc"; - package = pkgs.arc-icon-theme; - }; - - gtk3.extraConfig.gtk-enable-animations = false; - gtk4.extraConfig.gtk-enable-animations = false; - }; - }; -} diff --git a/modules/mixins/kanata.nix b/modules/mixins/kanata.nix deleted file mode 100644 index edfa25f9..00000000 --- a/modules/mixins/kanata.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ devices }: - -{ - services.kanata = { - enable = true; - - keyboards = { - default = { - inherit devices; - - extraDefCfg = "process-unmapped-keys yes"; - - config = '' - (defsrc - caps a s d f j k l ; - ) - - (defvar - tap-time 150 - hold-time 200 - ) - - (defalias - escctrl (tap-hold 100 100 esc lctl) - a (tap-hold $tap-time $hold-time a lmet) - s (tap-hold $tap-time $hold-time s lalt) - d (tap-hold $tap-time $hold-time d lsft) - f (tap-hold $tap-time $hold-time f lctl) - j (tap-hold $tap-time $hold-time j rctl) - k (tap-hold $tap-time $hold-time k rsft) - l (tap-hold $tap-time $hold-time l ralt) - ; (tap-hold $tap-time $hold-time ; rmet) - ) - - (deflayer base - @escctrl @a @s @d @f @j @k @l @; - ) - ''; - }; - }; - }; -} diff --git a/modules/mixins/mpv.nix b/modules/mixins/mpv.nix deleted file mode 100644 index d84f07ef..00000000 --- a/modules/mixins/mpv.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - home-manager.users.opdavies.programs.mpv = { - enable = true; - - # https://github.com/mpv-player/mpv/blob/master/etc/input.conf - bindings = { - "DOWN" = "add volume -5"; - "UP" = "add volume 5"; - }; - }; -} diff --git a/modules/mixins/node.nix b/modules/mixins/node.nix deleted file mode 100644 index 823ba7a3..00000000 --- a/modules/mixins/node.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - home-manager.users.opdavies = - { config, ... }: - let - inherit (config.xdg) configHome dataHome stateHome; - in - { - xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' - cache=${configHome}/npm - init-module=${configHome}/npm/config/npm-init.js - logs-dir=${stateHome}/npm/logs - prefix=${dataHome}/npm - ''; - - home.sessionVariables = { - NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; - }; - }; -} diff --git a/modules/mixins/notes.nix b/modules/mixins/notes.nix deleted file mode 100644 index 424712cc..00000000 --- a/modules/mixins/notes.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - home-manager.users.opdavies = - { config, pkgs, ... }: - { - xdg = { - enable = true; - userDirs.enable = true; - }; - - home = { - packages = with pkgs; [ notes ]; - - sessionVariables = { - NOTES_DIRECTORY = "${config.xdg.userDirs.documents}/wiki/notes"; - }; - }; - }; -} diff --git a/modules/mixins/openssh.nix b/modules/mixins/openssh.nix deleted file mode 100644 index 542ca976..00000000 --- a/modules/mixins/openssh.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, ... }: - -{ - services.openssh = { - enable = true; - - openFirewall = lib.mkForce true; - - settings = { - PasswordAuthentication = false; - PermitRootLogin = lib.mkForce "no"; - }; - }; -} diff --git a/modules/mixins/phpactor.nix b/modules/mixins/phpactor.nix deleted file mode 100644 index 426c502c..00000000 --- a/modules/mixins/phpactor.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - imports = [ ./phpactor ]; -} diff --git a/modules/mixins/phpactor/default.nix b/modules/mixins/phpactor/default.nix deleted file mode 100644 index e4d1929d..00000000 --- a/modules/mixins/phpactor/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = with pkgs; [ - phpactor - ]; - - home-manager.users.opdavies.xdg.configFile.phpactor = { - source = ./config; - recursive = true; - }; -} diff --git a/modules/mixins/pipewire.nix b/modules/mixins/pipewire.nix deleted file mode 100644 index 03ff2376..00000000 --- a/modules/mixins/pipewire.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; -} diff --git a/modules/mixins/podman.nix b/modules/mixins/podman.nix deleted file mode 100644 index 05c99288..00000000 --- a/modules/mixins/podman.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - virtualisation = { - oci-containers.backend = "podman"; - - podman = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; - }; - - users.users.opdavies.extraGroups = [ "podman" ]; -} diff --git a/modules/mixins/ranger.nix b/modules/mixins/ranger.nix deleted file mode 100644 index bb90930f..00000000 --- a/modules/mixins/ranger.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - home-manager.users.opdavies.programs.ranger = { - enable = true; - }; -} diff --git a/modules/mixins/screenkey.nix b/modules/mixins/screenkey.nix deleted file mode 100644 index 70c8941f..00000000 --- a/modules/mixins/screenkey.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - home-manager.users.opdavies = - { pkgs, ... }: - { - home.packages = with pkgs; [ screenkey ]; - - xdg.configFile."screenkey.json".text = builtins.toJSON { - key_mode = "composed"; - mods_mode = "emacs"; - persist = true; - size = "small"; - timeout = 0.25; - }; - }; -} diff --git a/modules/mixins/scripts.nix b/modules/mixins/scripts.nix deleted file mode 100644 index 680de22c..00000000 --- a/modules/mixins/scripts.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - imports = [ ./scripts ]; -} diff --git a/modules/mixins/st.nix b/modules/mixins/st.nix deleted file mode 100644 index e684335e..00000000 --- a/modules/mixins/st.nix +++ /dev/null @@ -1,361 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - (st.override { - conf = '' - static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; - - int disablebold = 1; - int disableitalic = 1; - int disableroman = 1; - - static int borderpx = 2; - - static char *shell = "/bin/sh"; - char *utmp = NULL; - char *scroll = NULL; - char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - - char *vtiden = "\033[?6c"; - - static float cwscale = 1.0; - static float chscale = 1.0; - - wchar_t *worddelimiters = L" "; - - static unsigned int doubleclicktimeout = 300; - static unsigned int tripleclicktimeout = 600; - - int allowaltscreen = 1; - - int allowwindowops = 0; - - static double minlatency = 2; - static double maxlatency = 33; - - static unsigned int blinktimeout = 800; - - static unsigned int cursorthickness = 2; - - static int bellvolume = 0; - - char *termname = "st-256color"; - - unsigned int tabspaces = 8; - - static const char *colorname[] = { - "black", - "red3", - "green3", - "yellow3", - "blue2", - "magenta3", - "cyan3", - "gray90", - - "gray50", - "red", - "green", - "yellow", - "#5c5cff", - "magenta", - "cyan", - "white", - - [255] = 0, - - "#cccccc", - "#555555", - "gray90", - "black", - }; - - unsigned int defaultfg = 258; - unsigned int defaultbg = 259; - unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - static unsigned int cursorshape = 2; - - static unsigned int cols = 80; - static unsigned int rows = 24; - - static unsigned int mouseshape = XC_xterm; - static unsigned int mousefg = 7; - static unsigned int mousebg = 0; - - static unsigned int defaultattr = 11; - - static uint forcemousemod = ShiftMask; - - static MouseShortcut mshortcuts[] = { - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, - }; - - #define MODKEY Mod1Mask - #define TERMMOD (ControlMask|ShiftMask) - - static Shortcut shortcuts[] = { - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_D, zoom, {.f = -2} }, - { TERMMOD, XK_J, zoom, {.f = -1} }, - { TERMMOD, XK_K, zoom, {.f = +1} }, - { TERMMOD, XK_U, zoom, {.f = +2} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, - }; - - static KeySym mappedkeys[] = { -1 }; - - static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - - static Key key[] = { - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, - { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, - { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, - { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, - { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, - }; - - static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, - }; - - static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; - ''; - - patches = [ - (fetchpatch { - url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; - sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; - }) - - (fetchpatch { - url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; - sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; - }) - ]; - }) - ]; -} diff --git a/modules/mixins/starship.nix b/modules/mixins/starship.nix deleted file mode 100644 index 19debae3..00000000 --- a/modules/mixins/starship.nix +++ /dev/null @@ -1,176 +0,0 @@ -{ - home-manager.users.opdavies.programs.starship = - let - inherit (builtins) concatStringsSep; - in - { - enable = true; - enableZshIntegration = true; - - settings = { - add_newline = false; - - # https://starship.rs/config/#prompt - format = concatStringsSep "" [ - "\n" - "$username" - "$hostname" - "$directory" - "$vcsh" - "$git_branch" - "$git_status" - "$git_metrics" - "$docker_context" - "$nodejs" - "$php" - "$terraform" - "$nix_shell" - "$direnv" - "\${custom.mob}" - "$memory_usage" - "$cmd_duration" - "$lua" - "$status" - "$character" - ]; - - cmd_duration.disabled = true; - direnv.disabled = false; - directory.format = "[$path]($style) "; - git_status.disabled = true; - nix_shell.disabled = true; - nodejs.disabled = true; - php.disabled = true; - username.disabled = true; - - custom = { - mob = { - command = "echo $MOB_TIMER_ROOM"; - format = "[($output)]($style) "; - when = "[[ -v MOB_TIMER_ROOM ]]"; - }; - }; - - # https://starship.rs/presets/plain-text - aws.symbol = "aws "; - azure.symbol = "az "; - bun.symbol = "bun "; - c.symbol = "C "; - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - cobol.symbol = "cobol "; - conda.symbol = "conda "; - crystal.symbol = "cr "; - cmake.symbol = "cmake "; - daml.symbol = "daml "; - dart.symbol = "dart "; - deno.symbol = "deno "; - dotnet.symbol = ".NET "; - directory.read_only = " ro"; - docker_context.symbol = "docker "; - elixir.symbol = "exs "; - elm.symbol = "elm "; - fennel.symbol = "fnl "; - fossil_branch.symbol = "fossil "; - gcloud.symbol = "gcp "; - git_branch.symbol = "git "; - git_commit.tag_symbol = " tag "; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - gleam.symbol = "gleam "; - golang.symbol = "go "; - gradle.symbol = "gradle "; - guix_shell.symbol = "guix "; - hg_branch.symbol = "hg "; - java.symbol = "java "; - julia.symbol = "jl "; - kotlin.symbol = "kt "; - lua.symbol = "lua "; - nodejs.symbol = "nodejs "; - memory_usage.symbol = "memory "; - meson.symbol = "meson "; - nats.symbol = "nats "; - nim.symbol = "nim "; - nix_shell.symbol = "nix "; - ocaml.symbol = "ml "; - opa.symbol = "opa "; - os.symbols = { - AIX = "aix "; - Alpaquita = "alq "; - AlmaLinux = "alma "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Kali = "kali "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - RockyLinux = "rky "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Ultramarine = "ultm "; - Unknown = "unk "; - Void = "void "; - Windows = "win "; - }; - package.symbol = "pkg "; - perl.symbol = "pl "; - php.symbol = "php "; - pijul_channel.symbol = "pijul "; - pulumi.symbol = "pulumi "; - purescript.symbol = "purs "; - python.symbol = "py "; - quarto.symbol = "quarto "; - raku.symbol = "raku "; - ruby.symbol = "rb "; - rust.symbol = "rs "; - scala.symbol = "scala "; - spack.symbol = "spack "; - solidity.symbol = "solidity "; - status.symbol = "[x](bold red) "; - sudo.symbol = "sudo "; - swift.symbol = "swift "; - typst.symbol = "typst "; - terraform.symbol = "terraform "; - zig.symbol = "zig "; - }; - }; -} diff --git a/modules/mixins/thunar.nix b/modules/mixins/thunar.nix deleted file mode 100644 index b44265d4..00000000 --- a/modules/mixins/thunar.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -{ - programs.thunar = { - enable = true; - - plugins = with pkgs.xfce; [ - thunar-archive-plugin - ]; - }; - - environment.systemPackages = with pkgs; [ xfce.tumbler ]; -} diff --git a/modules/mixins/tmux.nix b/modules/mixins/tmux.nix deleted file mode 100644 index 7420a4d6..00000000 --- a/modules/mixins/tmux.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ pkgs, ... }: - -{ - programs.tmux = { - enable = true; - - terminal = "tmux-256color"; - - extraConfig = '' - set-option -g status-keys "vi" - set-option -sa terminal-features "''${TERM}:RGB" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - # Status line customisation - set-option -g status-left "" - set-option -g status-right " #{session_name}" - set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=default" - set-option -g window-status-activity-style none - set-option -g window-status-current-style "fg=#E9E9EA" - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g pane-base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" - - bind-key C-j choose-tree - - set-window-option -g mode-keys vi - bind -T copy-mode-vi v send-keys -X begin-selection - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using <prefix> C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - - set-option -g pane-active-border-style "fg=#1f2335" - set-option -g pane-border-style "fg=#1f2335" - - # Vim-like pane navigation. - bind ^ last-window - bind h select-pane -L - bind j select-pane -D - bind k select-pane -U - bind l select-pane -R - - bind-key -r f run-shell "tmux new-window tmux-sessionizer" - - bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" - bind-key -r N new-window "notes" - bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" - ''; - - plugins = with pkgs.tmuxPlugins; [ - vim-tmux-navigator - yank - ]; - }; - - home-manager.users.opdavies = - { config, ... }: - with pkgs; - { - home.packages = [ - tmux-sessionizer - ]; - - xdg.configFile."tmux-sessionizer/default".source = "${ - writeShellApplication { - name = ".tmux-sessionizer"; - - runtimeInputs = [ - tmux - ]; - - text = '' - set +o errexit - set +o nounset - - if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" ]]; then - clear - - return - fi - - tmux new-window -d -n scratch - nvim . - clear - ''; - } - }/bin/.tmux-sessionizer"; - }; -} diff --git a/modules/mixins/zram.nix b/modules/mixins/zram.nix deleted file mode 100644 index 60dd81e4..00000000 --- a/modules/mixins/zram.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - zramSwap = { - enable = true; - algorithm = "zstd"; - memoryPercent = 90; - }; -} diff --git a/modules/mixins/zsh.nix b/modules/mixins/zsh.nix deleted file mode 100644 index f42fd619..00000000 --- a/modules/mixins/zsh.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - imports = [ ./zsh ]; -} diff --git a/modules/mixins/zsh/default.nix b/modules/mixins/zsh/default.nix deleted file mode 100644 index 26d17d50..00000000 --- a/modules/mixins/zsh/default.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ - home-manager.users.opdavies = - { config, pkgs, ... }: - { - programs.zsh = { - enable = true; - enableCompletion = true; - syntaxHighlighting.enable = true; - - zsh-abbr = { - enable = true; - - abbreviations = import ./abbreviations.nix; - globalAbbreviations = import ./global-abbreviations.nix; - }; - - dotDir = ".config/zsh"; - - shellAliases = (import ./aliases.nix { inherit config; }); - - localVariables = { - ABBR_SET_EXPANSION_CURSOR = 1; - }; - - profileExtra = '' - if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then - exec startx - fi - ''; - - initExtra = '' - background() { - for ((i=2;i<=$#;i++)); do - ''${@[1]} ''${@[$i]} &> /dev/null & - done - } - - # suffix - alias -s gz="tar -tf" - alias -s {html,HTML}="background firefox" - alias -s {jpg,JPG,png,PNG}="background okular" - alias -s {pdf,PDF}="background okular" - alias -s {zip,ZIP}="unzip -l" - - git() { - case "$1" in - clone) - shift - - local repo_url="$1" - local repo_path="''${2:-}" - - if [ -n "$TARGET_DIR" ]; then - command git clone "$repo_url" "$repo_path" - else - command git clone "$repo_url" - repo_path=$(basename "$repo_url" .git) - fi - - ${pkgs.tmux-sessionizer}/bin/tmux-sessionizer "$repo_path" - ;; - - root) - shift - - local ROOT="$(${pkgs.git}/bin/git rev-parse --show-toplevel 2> /dev/null || echo -n .)" - - if [[ $# == 0 ]]; then - cd "''${ROOT}" - else - (cd "''${ROOT}" && eval "''${@}") - fi - ;; - - *) - ${pkgs.git}/bin/git "''${@}" - ;; - esac - } - - mbsync() { - ${pkgs.isync}/bin/mbsync --config "${config.xdg.configHome}/isync/mbsyncrc" "''${@}" - } - - ttyper() { - command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" - } - - yt-dlp() { - command yt-dlp --paths ~/Videos "$@" - } - - bindkey -s ^f "tmux-sessionizer\n" - bindkey -s ^v "nvim\n" - - setopt auto_cd - setopt auto_pushd - setopt pushd_ignore_dups - setopt pushdminus - ''; - }; - }; -} diff --git a/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix new file mode 100644 index 00000000..f768e96d --- /dev/null +++ b/modules/nixos/cli/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./docker.nix + ./podman.nix + ]; +} diff --git a/modules/nixos/cli/docker.nix b/modules/nixos/cli/docker.nix new file mode 100644 index 00000000..e73fd3c7 --- /dev/null +++ b/modules/nixos/cli/docker.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.cli.docker; +in +{ + options.nixosModules.cli.docker.enable = mkEnableOption "Enable docker"; + + config = mkIf cfg.enable { + virtualisation = { + oci-containers.backend = "docker"; + + docker = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; + }; + }; +} diff --git a/modules/nixos/cli/podman.nix b/modules/nixos/cli/podman.nix new file mode 100644 index 00000000..5c325e2d --- /dev/null +++ b/modules/nixos/cli/podman.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.cli.podman; +in +{ + options.nixosModules.cli.podman.enable = mkEnableOption "Enable podman"; + + config = mkIf cfg.enable { + virtualisation = { + oci-containers.backend = "podman"; + + podman = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; + }; + }; +} diff --git a/modules/mixins/avahi.nix b/modules/nixos/core/avahi.nix similarity index 100% rename from modules/mixins/avahi.nix rename to modules/nixos/core/avahi.nix diff --git a/modules/nixos/core/bluetooth.nix b/modules/nixos/core/bluetooth.nix new file mode 100644 index 00000000..f53229cf --- /dev/null +++ b/modules/nixos/core/bluetooth.nix @@ -0,0 +1,16 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.core.bluetooth; +in +{ + options.nixosModules.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; + + config = mkIf cfg.enable { + hardware.bluetooth.enable = true; + + services.blueman.enable = true; + }; +} diff --git a/modules/nixos/core/default.nix b/modules/nixos/core/default.nix new file mode 100644 index 00000000..560f1b75 --- /dev/null +++ b/modules/nixos/core/default.nix @@ -0,0 +1,11 @@ +{ + imports = [ + ./avahi.nix + ./bluetooth.nix + ./gnupg.nix + ./openssh.nix + ./pipewire.nix + ./xbanish.nix + ./zram.nix + ]; +} diff --git a/modules/nixos/core/gnupg.nix b/modules/nixos/core/gnupg.nix new file mode 100644 index 00000000..6e918951 --- /dev/null +++ b/modules/nixos/core/gnupg.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +{ + security.pam.services.login.gnupg.enable = true; + + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + + pinentryPackage = pkgs.pinentry-qt; + }; + }; +} diff --git a/modules/nixos/core/openssh.nix b/modules/nixos/core/openssh.nix new file mode 100644 index 00000000..2f5ca9a0 --- /dev/null +++ b/modules/nixos/core/openssh.nix @@ -0,0 +1,23 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.core.openssh; +in +{ + options.nixosModules.core.openssh.enable = mkEnableOption "Enable openssh"; + + config = mkIf cfg.enable { + services.openssh = { + enable = true; + + openFirewall = lib.mkForce true; + + settings = { + PasswordAuthentication = false; + PermitRootLogin = lib.mkForce "no"; + }; + }; + }; +} diff --git a/modules/nixos/core/pipewire.nix b/modules/nixos/core/pipewire.nix new file mode 100644 index 00000000..e4d18cae --- /dev/null +++ b/modules/nixos/core/pipewire.nix @@ -0,0 +1,23 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.core.pipewire; +in +{ + options.nixosModules.core.pipewire.enable = mkEnableOption "Enable pipewire"; + + config = mkIf cfg.enable { + services.pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse.enable = true; + }; + }; +} diff --git a/modules/nixos/core/xbanish.nix b/modules/nixos/core/xbanish.nix new file mode 100644 index 00000000..282211ac --- /dev/null +++ b/modules/nixos/core/xbanish.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.core.xbanish; +in +{ + options.nixosModules.core.xbanish.enable = mkEnableOption "Enable xbanish"; + + config = mkIf cfg.enable { + services.xbanish.enable = true; + }; +} diff --git a/modules/nixos/core/zram.nix b/modules/nixos/core/zram.nix new file mode 100644 index 00000000..2ae366eb --- /dev/null +++ b/modules/nixos/core/zram.nix @@ -0,0 +1,18 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.core.zram; +in +{ + options.nixosModules.core.zram.enable = mkEnableOption "Enable zram"; + + config = mkIf cfg.enable { + zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 90; + }; + }; +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix new file mode 100644 index 00000000..da3fce5d --- /dev/null +++ b/modules/nixos/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./cli + ./core + ./desktop + ]; +} diff --git a/modules/nixos/desktop/dconf.nix b/modules/nixos/desktop/dconf.nix new file mode 100644 index 00000000..49f76115 --- /dev/null +++ b/modules/nixos/desktop/dconf.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.desktop.dconf; +in +{ + options.nixosModules.desktop.dconf.enable = mkEnableOption "Enable dconf"; + + config = mkIf cfg.enable { + programs.dconf.enable = true; + }; +} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix new file mode 100644 index 00000000..50c6ed82 --- /dev/null +++ b/modules/nixos/desktop/default.nix @@ -0,0 +1,9 @@ +{ + imports = [ + ./dconf.nix + ./dwm + ./fonts.nix + ./st.nix + ./thunar.nix + ]; +} diff --git a/modules/nixos/desktop/dwm/default.nix b/modules/nixos/desktop/dwm/default.nix new file mode 100644 index 00000000..bf082ca7 --- /dev/null +++ b/modules/nixos/desktop/dwm/default.nix @@ -0,0 +1,57 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.nixosModules.desktop.dwm; +in +{ + options.nixosModules.desktop.dwm.enable = mkEnableOption "Enable dwm"; + + config = mkIf cfg.enable { + services = { + dwm-status = { + enable = true; + + order = [ + "audio" + "battery" + "network" + "time" + ]; + }; + + xserver.windowManager.dwm.enable = true; + }; + + systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; + + environment.systemPackages = with pkgs; [ + dmenu + dmenu-bluetooth + dunst + networkmanager_dmenu + poweralertd + slock + xdotool + xwallpaper + ]; + + home-manager.users.opdavies = + { config, ... }: + { + home = { + file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; + + sessionVariables = { + XINITRC = "${config.xdg.configHome}/X11/xinitrc"; + }; + }; + }; + }; +} diff --git a/modules/profiles/dwm/xinitrc b/modules/nixos/desktop/dwm/xinitrc similarity index 100% rename from modules/profiles/dwm/xinitrc rename to modules/nixos/desktop/dwm/xinitrc diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix new file mode 100644 index 00000000..ea2ca3f2 --- /dev/null +++ b/modules/nixos/desktop/fonts.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.nixosModules.desktop.fonts; +in +{ + options.nixosModules.desktop.fonts.enable = mkEnableOption "Enable fonts"; + + config = mkIf cfg.enable { + fonts = { + fontconfig = { + enable = true; + }; + + packages = with pkgs; [ + nerd-fonts.jetbrains-mono + nerd-fonts.meslo-lg + terminus_font + terminus_font_ttf + ]; + }; + }; +} diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix new file mode 100644 index 00000000..78dc3059 --- /dev/null +++ b/modules/nixos/desktop/st.nix @@ -0,0 +1,375 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.nixosModules.desktop.st; +in +{ + options.nixosModules.desktop.st.enable = mkEnableOption "Enable st"; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + (st.override { + conf = '' + static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; + + int disablebold = 1; + int disableitalic = 1; + int disableroman = 1; + + static int borderpx = 2; + + static char *shell = "/bin/sh"; + char *utmp = NULL; + char *scroll = NULL; + char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + + char *vtiden = "\033[?6c"; + + static float cwscale = 1.0; + static float chscale = 1.0; + + wchar_t *worddelimiters = L" "; + + static unsigned int doubleclicktimeout = 300; + static unsigned int tripleclicktimeout = 600; + + int allowaltscreen = 1; + + int allowwindowops = 0; + + static double minlatency = 2; + static double maxlatency = 33; + + static unsigned int blinktimeout = 800; + + static unsigned int cursorthickness = 2; + + static int bellvolume = 0; + + char *termname = "st-256color"; + + unsigned int tabspaces = 8; + + static const char *colorname[] = { + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + "#cccccc", + "#555555", + "gray90", + "black", + }; + + unsigned int defaultfg = 258; + unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + static unsigned int defaultrcs = 257; + + static unsigned int cursorshape = 2; + + static unsigned int cols = 80; + static unsigned int rows = 24; + + static unsigned int mouseshape = XC_xterm; + static unsigned int mousefg = 7; + static unsigned int mousebg = 0; + + static unsigned int defaultattr = 11; + + static uint forcemousemod = ShiftMask; + + static MouseShortcut mshortcuts[] = { + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, + }; + + #define MODKEY Mod1Mask + #define TERMMOD (ControlMask|ShiftMask) + + static Shortcut shortcuts[] = { + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_D, zoom, {.f = -2} }, + { TERMMOD, XK_J, zoom, {.f = -1} }, + { TERMMOD, XK_K, zoom, {.f = +1} }, + { TERMMOD, XK_U, zoom, {.f = +2} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + }; + + static KeySym mappedkeys[] = { -1 }; + + static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + + static Key key[] = { + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, + { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, + { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, + { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, + { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, + }; + + static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, + }; + + static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; + ''; + + patches = [ + (fetchpatch { + url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; + sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; + }) + + (fetchpatch { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + }) + ]; + }) + ]; + }; +} diff --git a/modules/nixos/desktop/thunar.nix b/modules/nixos/desktop/thunar.nix new file mode 100644 index 00000000..dcc99fcc --- /dev/null +++ b/modules/nixos/desktop/thunar.nix @@ -0,0 +1,27 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.nixosModules.desktop.thunar; +in +{ + options.nixosModules.desktop.thunar.enable = mkEnableOption "Enable thunar"; + + config = mkIf cfg.enable { + programs.thunar = { + enable = true; + + plugins = with pkgs.xfce; [ + thunar-archive-plugin + ]; + }; + + environment.systemPackages = with pkgs; [ xfce.tumbler ]; + }; +} diff --git a/modules/profiles/dwm.nix b/modules/profiles/dwm.nix deleted file mode 100644 index 2694857b..00000000 --- a/modules/profiles/dwm.nix +++ /dev/null @@ -1 +0,0 @@ -{ imports = [ ./dwm ]; } diff --git a/modules/profiles/dwm/default.nix b/modules/profiles/dwm/default.nix deleted file mode 100644 index cc264b62..00000000 --- a/modules/profiles/dwm/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ pkgs, ... }: - -{ - imports = [ - ../../mixins/st.nix - ]; - - services = { - dwm-status = { - enable = true; - - order = [ - "audio" - "battery" - "network" - "time" - ]; - }; - - xserver.windowManager.dwm.enable = true; - }; - - systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; - - environment.systemPackages = with pkgs; [ - dmenu - dmenu-bluetooth - dunst - networkmanager_dmenu - poweralertd - slock - xdotool - xwallpaper - ]; - - home-manager.users.opdavies = - { config, ... }: - { - home = { - file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; - - sessionVariables = { - XINITRC = "${config.xdg.configHome}/X11/xinitrc"; - }; - }; - }; -} diff --git a/modules/profiles/xbanish.nix b/modules/profiles/xbanish.nix deleted file mode 100644 index 4a584a7a..00000000 --- a/modules/profiles/xbanish.nix +++ /dev/null @@ -1 +0,0 @@ -{ services.xbanish.enable = true; } diff --git a/modules/users/eric.nix b/users/eric.nix similarity index 100% rename from modules/users/eric.nix rename to users/eric.nix diff --git a/modules/users/luke.nix b/users/luke.nix similarity index 100% rename from modules/users/luke.nix rename to users/luke.nix diff --git a/modules/users/opdavies.nix b/users/opdavies.nix similarity index 82% rename from modules/users/opdavies.nix rename to users/opdavies.nix index f94a8ef7..7043c56c 100644 --- a/modules/users/opdavies.nix +++ b/users/opdavies.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -8,10 +13,13 @@ with lib; initialPassword = "opdavies"; isNormalUser = true; - extraGroups = [ - "networkmanager" - "wheel" - ]; + extraGroups = + [ + "networkmanager" + "wheel" + ] + ++ optional config.nixosModules.cli.docker.enable "docker" + ++ optional config.nixosModules.cli.podman.enable "podman"; packages = with pkgs; [ qrencode From dc2de9334d2d619322098e6a5e52084fccb36349 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:19:05 +0100 Subject: [PATCH 1699/2258] Make directories configurable using a patch --- home/opdavies/PW05CH3L.nix | 21 +++++++- home/opdavies/t480.nix | 21 +++++++- modules/home-manager/cli/tmux-sessionizer.nix | 52 ++++++++++++------- .../configure-directories.patch | 15 ------ pkgs/tmux-sessionizer/default.nix | 6 ++- 5 files changed, 77 insertions(+), 38 deletions(-) delete mode 100644 pkgs/tmux-sessionizer/configure-directories.patch diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index 215f4d10..c4d568b0 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -1,3 +1,5 @@ +{ config, options, ... }: + { imports = [ ../common ]; @@ -16,7 +18,24 @@ ranger.enable = true; starship.enable = true; tmux.enable = true; - tmux-sessionizer.enable = true; + + tmux-sessionizer = { + enable = true; + + directories = + let + inherit (config.xdg.userDirs) documents extraConfig; + + repos = extraConfig.XDG_REPOS_DIR; + in + options.homeManagerModules.cli.tmux-sessionizer.directories.default + ++ [ + repos + "${repos}/*" + documents + ]; + }; + zsh.enable = true; }; diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index e8549598..0b621579 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -1,3 +1,5 @@ +{ config, options, ... }: + { imports = [ ../common ]; @@ -18,7 +20,24 @@ ranger.enable = true; starship.enable = true; tmux.enable = true; - tmux-sessionizer.enable = true; + + tmux-sessionizer = { + enable = true; + + directories = + let + inherit (config.xdg.userDirs) documents extraConfig; + + repos = extraConfig.XDG_REPOS_DIR; + in + options.homeManagerModules.cli.tmux-sessionizer.directories.default + ++ [ + repos + "${repos}/*" + documents + ]; + }; + zsh.enable = true; }; diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index d94063c9..25748f45 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -11,36 +11,48 @@ let cfg = config.homeManagerModules.cli.tmux-sessionizer; in { - options.homeManagerModules.cli.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; + options.homeManagerModules.cli.tmux-sessionizer = { + enable = mkEnableOption "Enable tmux-sessionizer"; + + directories = mkOption { + default = [ config.home.homeDirectory ]; + type = types.listOf types.str; + description = "List of directories for tmux-sessionizer to use."; + }; + }; config = mkIf cfg.enable { home.packages = with pkgs; [ tmux-sessionizer ]; - xdg.configFile."tmux-sessionizer/default".source = "${ - pkgs.writeShellApplication { - name = ".tmux-sessionizer"; + xdg.configFile = { + "tmux-sessionizer/default".source = "${ + pkgs.writeShellApplication { + name = ".tmux-sessionizer"; - runtimeInputs = with pkgs; [ - tmux - ]; + runtimeInputs = with pkgs; [ + tmux + ]; - text = '' - set +o errexit - set +o nounset + text = '' + set +o errexit + set +o nounset - if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" ]]; then + if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" ]]; then + clear + + return + fi + + tmux new-window -d -n scratch + nvim . clear + ''; + } + }/bin/.tmux-sessionizer"; - return - fi - - tmux new-window -d -n scratch - nvim . - clear - ''; - } - }/bin/.tmux-sessionizer"; + "tmux-sessionizer/directories".text = builtins.concatStringsSep "\n" cfg.directories; + }; }; } diff --git a/pkgs/tmux-sessionizer/configure-directories.patch b/pkgs/tmux-sessionizer/configure-directories.patch deleted file mode 100644 index 1e63ad2a..00000000 --- a/pkgs/tmux-sessionizer/configure-directories.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/tmux-sessionizer b/tmux-sessionizer -index fa1bec5..4d79e0b 100755 ---- a/tmux-sessionizer -+++ b/tmux-sessionizer -@@ -22,9 +22,7 @@ hydrate() { - if [[ $# -eq 1 ]]; then - selected=$1 - else -- # If someone wants to make this extensible, i'll accept -- # PR -- selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find -L "${XDG_REPOS_DIR}" "${XDG_REPOS_DIR}"/* "${XDG_DOCUMENTS_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name ".*" ! -name ".old" ! -name "_archive" | sort | fzf) - fi - - if [[ -z $selected ]]; then diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index 25ec6fb6..1564fe20 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -22,7 +22,11 @@ stdenv.mkDerivation { patches = [ ./move-default-script.patch ./add-tmux-file.patch - ./configure-directories.patch + + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/2.patch"; + sha256 = "sha256-4/4rzve49T3FHnl9WWUPJVcb0NQojMQjIVnEZGwVAsY="; + }) ]; installPhase = '' From 92b649595bfefc1916792f05eeba623d35966894 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:25:29 +0100 Subject: [PATCH 1700/2258] Delete add-tmux-file.patch --- pkgs/tmux-sessionizer/add-tmux-file.patch | 15 --------------- pkgs/tmux-sessionizer/default.nix | 1 - 2 files changed, 16 deletions(-) delete mode 100644 pkgs/tmux-sessionizer/add-tmux-file.patch diff --git a/pkgs/tmux-sessionizer/add-tmux-file.patch b/pkgs/tmux-sessionizer/add-tmux-file.patch deleted file mode 100644 index f2dd5a2a..00000000 --- a/pkgs/tmux-sessionizer/add-tmux-file.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/tmux-sessionizer b/tmux-sessionizer -index fa1bec5..c9094e7 100755 ---- a/tmux-sessionizer -+++ b/tmux-sessionizer -@@ -12,7 +12,9 @@ has_session() { - } - - hydrate() { -- if [ -f $2/.tmux-sessionizer ]; then -+ if [ -f $2/.tmux ]; then -+ tmux send-keys -t $1 "source $2/.tmux" c-M -+ elif [ -f $2/.tmux-sessionizer ]; then - tmux send-keys -t $1 "source $2/.tmux-sessionizer" c-M - elif [ -f $HOME/.tmux-sessionizer ]; then - tmux send-keys -t $1 "source $HOME/.tmux-sessionizer" c-M diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index 1564fe20..aac22766 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -21,7 +21,6 @@ stdenv.mkDerivation { patches = [ ./move-default-script.patch - ./add-tmux-file.patch (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/2.patch"; From 520f821f36372ec985e66a3390381da6d13b317c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:28:08 +0100 Subject: [PATCH 1701/2258] Remove `nixpkgs-2405` --- flake.lock | 17 ----------------- flake.nix | 1 - overlays/default.nix | 5 ----- 3 files changed, 23 deletions(-) diff --git a/flake.lock b/flake.lock index dde858aa..c3d8b889 100644 --- a/flake.lock +++ b/flake.lock @@ -194,22 +194,6 @@ "type": "github" } }, - "nixpkgs-2405": { - "locked": { - "lastModified": 1735563628, - "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-2411": { "locked": { "lastModified": 1744440957, @@ -318,7 +302,6 @@ "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", - "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-master": "nixpkgs-master", "nur": "nur" diff --git a/flake.nix b/flake.nix index d1581253..b70c366b 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,6 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-2405.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-2411.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; diff --git a/overlays/default.nix b/overlays/default.nix index d9094a8e..09fb101a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -14,11 +14,6 @@ }; stable-packages = final: _prev: { - nixpkgs-2405 = import inputs.nixpkgs-2405 { - config.allowUnfree = true; - system = final.system; - }; - nixpkgs-2411 = import inputs.nixpkgs-2411 { config.allowUnfree = true; system = final.system; From 631b1ffa66346fa73aed9773177d180f5c1637c6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 14:28:57 +0100 Subject: [PATCH 1702/2258] Remove `nixpkgs-2411` --- flake.lock | 17 ----------------- flake.nix | 1 - modules/home-manager/cli/git.nix | 2 +- overlays/default.nix | 4 ---- 4 files changed, 1 insertion(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index c3d8b889..7e8b3e61 100644 --- a/flake.lock +++ b/flake.lock @@ -194,22 +194,6 @@ "type": "github" } }, - "nixpkgs-2411": { - "locked": { - "lastModified": 1744440957, - "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-master": { "locked": { "lastModified": 1745310023, @@ -302,7 +286,6 @@ "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", - "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-master": "nixpkgs-master", "nur": "nur" } diff --git a/flake.nix b/flake.nix index b70c366b..8fceb3ea 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,6 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-2411.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 9d9496c0..c845b0bf 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -168,7 +168,7 @@ in }; home = { - packages = with pkgs; [ nixpkgs-2411.git-instafix ]; + packages = with pkgs; [ git-instafix ]; sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/overlays/default.nix b/overlays/default.nix index 09fb101a..eaca29a1 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -14,9 +14,5 @@ }; stable-packages = final: _prev: { - nixpkgs-2411 = import inputs.nixpkgs-2411 { - config.allowUnfree = true; - system = final.system; - }; }; } From 915ff5fbeeaf62d369fa84fffc8172b6143c0da7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 15:40:49 +0100 Subject: [PATCH 1703/2258] Move allowed firewall ports --- hosts/nixedo/configuration.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index a295bbb4..81542cd0 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -32,9 +32,4 @@ networking.networkmanager.enable = true; users.groups.media = { }; - - networking.firewall.allowedTCPPorts = [ - 80 - 443 - ]; } From 9c5e258a9d29e687aa3a33a56c3347a4ab77bf04 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 15:48:15 +0100 Subject: [PATCH 1704/2258] Revert "Remove `nixpkgs-2411`" This reverts commit 631b1ffa66346fa73aed9773177d180f5c1637c6. --- flake.lock | 17 +++++++++++++++++ flake.nix | 1 + modules/home-manager/cli/git.nix | 2 +- overlays/default.nix | 4 ++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 7e8b3e61..c3d8b889 100644 --- a/flake.lock +++ b/flake.lock @@ -194,6 +194,22 @@ "type": "github" } }, + "nixpkgs-2411": { + "locked": { + "lastModified": 1744440957, + "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-master": { "locked": { "lastModified": 1745310023, @@ -286,6 +302,7 @@ "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", + "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-master": "nixpkgs-master", "nur": "nur" } diff --git a/flake.nix b/flake.nix index 8fceb3ea..b70c366b 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,7 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-2411.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index c845b0bf..9d9496c0 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -168,7 +168,7 @@ in }; home = { - packages = with pkgs; [ git-instafix ]; + packages = with pkgs; [ nixpkgs-2411.git-instafix ]; sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/overlays/default.nix b/overlays/default.nix index eaca29a1..09fb101a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -14,5 +14,9 @@ }; stable-packages = final: _prev: { + nixpkgs-2411 = import inputs.nixpkgs-2411 { + config.allowUnfree = true; + system = final.system; + }; }; } From 1a2e30b9d57b42c9e0db8b9b4e1f01927b54edf7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 16:12:10 +0100 Subject: [PATCH 1705/2258] Pin revisions and update versions --- pkgs/displayselect/default.nix | 4 ++-- pkgs/passmenu-otp.nix | 4 ++-- pkgs/tmux-sessionizer/default.nix | 4 ++-- pkgs/vim-plugins/conf-vim.nix | 4 +++- pkgs/vim-plugins/edit-alternate-vim.nix | 4 +++- pkgs/vim-plugins/standard-vim.nix | 4 +++- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/pkgs/displayselect/default.nix b/pkgs/displayselect/default.nix index a16254e2..04f6d790 100644 --- a/pkgs/displayselect/default.nix +++ b/pkgs/displayselect/default.nix @@ -4,12 +4,12 @@ with pkgs; stdenv.mkDerivation { pname = "displayselect"; - version = "0.1.0"; + version = "unstable-2024-05-11"; src = fetchFromGitHub { owner = "lukesmithxyz"; repo = "voidrice"; - rev = "master"; + rev = "97687287bdfd332398b82a196b5f1feaec73f1d7"; sha256 = "sha256-9U1Do0w2oT5E6uZxSKoHAzbGbSLQRQlT65KcPGzwhW8="; }; diff --git a/pkgs/passmenu-otp.nix b/pkgs/passmenu-otp.nix index 355855e4..250cda7f 100644 --- a/pkgs/passmenu-otp.nix +++ b/pkgs/passmenu-otp.nix @@ -4,12 +4,12 @@ with pkgs; stdenv.mkDerivation { pname = "passmenu-otp"; - version = "0.1.0"; + version = "unstable-2019-04-21"; src = fetchFromGitHub { owner = "petrmanek"; repo = "passmenu-otp"; - rev = "master"; + rev = "2623a0845cc2bb68b636a743862693fce9ec8b02"; sha256 = "sha256-2EGomeK/p3uVfgho5xGR11ovJQ2q3cPZoFG+z88DyxA="; }; diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index aac22766..e480179a 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -4,12 +4,12 @@ with pkgs; stdenv.mkDerivation { pname = "tmux-sessionizer"; - version = "0.1.0"; + version = "unstable-2024-10-30"; src = fetchFromGitHub { owner = "theprimeagen"; repo = "tmux-sessionizer"; - rev = "master"; + rev = "6ebd16e2e30a8c0ebd77f0c2ce18cb46db8397fa"; sha256 = "bZXt9TyMU1Ed/WR0/ahMQ4oyIi6yXLKnXKYPPNBt/s4="; }; diff --git a/pkgs/vim-plugins/conf-vim.nix b/pkgs/vim-plugins/conf-vim.nix index 086bbcf3..9009df1e 100644 --- a/pkgs/vim-plugins/conf-vim.nix +++ b/pkgs/vim-plugins/conf-vim.nix @@ -4,10 +4,12 @@ with pkgs; vimUtils.buildVimPlugin { name = "conf-vim"; + version = "unstable-2017-10-09"; + src = fetchFromGitHub { owner = "tjdevries"; repo = "conf.vim"; - rev = "master"; + rev = "a716df0fd5d7ba558c07dac2e07f05d5eba11afb"; sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; }; } diff --git a/pkgs/vim-plugins/edit-alternate-vim.nix b/pkgs/vim-plugins/edit-alternate-vim.nix index daf42d46..39b269a1 100644 --- a/pkgs/vim-plugins/edit-alternate-vim.nix +++ b/pkgs/vim-plugins/edit-alternate-vim.nix @@ -4,10 +4,12 @@ with pkgs; vimUtils.buildVimPlugin { name = "edit-alternate-vim"; + version = "unstable-2021-10-25"; + src = fetchFromGitHub { owner = "tjdevries"; repo = "edit_alternate.vim"; - rev = "master"; + rev = "ef3019115d9bb7ffd691d2859eda213dd99e0b0a"; sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; }; } diff --git a/pkgs/vim-plugins/standard-vim.nix b/pkgs/vim-plugins/standard-vim.nix index 9263a408..0a5744fb 100644 --- a/pkgs/vim-plugins/standard-vim.nix +++ b/pkgs/vim-plugins/standard-vim.nix @@ -4,10 +4,12 @@ with pkgs; vimUtils.buildVimPlugin { name = "standard-vim"; + version = "unstable-2018-10-15"; + src = fetchFromGitHub { owner = "tjdevries"; repo = "standard.vim"; - rev = "master"; + rev = "b333ef9a9cf6cf66536deda017a542843613fa75"; sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; }; } From 272d786b46480a62fae62e3e75e4101a64cfb175 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 16:21:33 +0100 Subject: [PATCH 1706/2258] Add missing revs and versions --- pkgs/vim-plugins/vim-caser.nix | 2 ++ pkgs/vim-plugins/vim-textobj-indent.nix | 4 +++- pkgs/vim-plugins/vim-textobj-xmlattr.nix | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/vim-plugins/vim-caser.nix b/pkgs/vim-plugins/vim-caser.nix index 7a47fe11..015da1e2 100644 --- a/pkgs/vim-plugins/vim-caser.nix +++ b/pkgs/vim-plugins/vim-caser.nix @@ -4,6 +4,8 @@ with pkgs; vimUtils.buildVimPlugin { name = "vim-caser"; + version = "2021-07-27"; + src = fetchFromGitHub { owner = "arthurxavierx"; repo = "vim-caser"; diff --git a/pkgs/vim-plugins/vim-textobj-indent.nix b/pkgs/vim-plugins/vim-textobj-indent.nix index 733c562d..a728d82f 100644 --- a/pkgs/vim-plugins/vim-textobj-indent.nix +++ b/pkgs/vim-plugins/vim-textobj-indent.nix @@ -4,10 +4,12 @@ with pkgs; vimUtils.buildVimPlugin { name = "vim-textobj-indent"; + version = "0.0.6"; + src = fetchFromGitHub { owner = "kana"; repo = "vim-textobj-indent"; - rev = "deb76867c302f933c8f21753806cbf2d8461b548"; + rev = "v${version}"; sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; }; } diff --git a/pkgs/vim-plugins/vim-textobj-xmlattr.nix b/pkgs/vim-plugins/vim-textobj-xmlattr.nix index dddde8ce..21695da7 100644 --- a/pkgs/vim-plugins/vim-textobj-xmlattr.nix +++ b/pkgs/vim-plugins/vim-textobj-xmlattr.nix @@ -4,6 +4,8 @@ with pkgs; vimUtils.buildVimPlugin { name = "vim-textobj-xmlattr"; + version = "unstable-2016-06-03"; + src = fetchFromGitHub { owner = "whatyouhide"; repo = "vim-textobj-xmlattr"; From afae9a443a681ce4382216caf8b8e53e9d1d8255 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 16:59:28 +0100 Subject: [PATCH 1707/2258] Refactor to a JSON file of Vim plugins --- pkgs/default.nix | 2 +- pkgs/vim-plugins/conf-vim.nix | 15 ------- pkgs/vim-plugins/default.nix | 31 ++++++++++----- pkgs/vim-plugins/edit-alternate-vim.nix | 15 ------- pkgs/vim-plugins/standard-vim.nix | 15 ------- pkgs/vim-plugins/vim-caser.nix | 15 ------- pkgs/vim-plugins/vim-plugins.json | 50 ++++++++++++++++++++++++ pkgs/vim-plugins/vim-textobj-indent.nix | 15 ------- pkgs/vim-plugins/vim-textobj-xmlattr.nix | 15 ------- 9 files changed, 73 insertions(+), 100 deletions(-) delete mode 100644 pkgs/vim-plugins/conf-vim.nix delete mode 100644 pkgs/vim-plugins/edit-alternate-vim.nix delete mode 100644 pkgs/vim-plugins/standard-vim.nix delete mode 100644 pkgs/vim-plugins/vim-caser.nix create mode 100644 pkgs/vim-plugins/vim-plugins.json delete mode 100644 pkgs/vim-plugins/vim-textobj-indent.nix delete mode 100644 pkgs/vim-plugins/vim-textobj-xmlattr.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 34c428e8..4b6217da 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,7 +3,7 @@ let inherit (pkgs) callPackage; - vimPlugins = callPackage ./vim-plugins { inherit callPackage; }; + vimPlugins = callPackage ./vim-plugins { }; in { backup-websites = callPackage ./backup-websites.nix { }; diff --git a/pkgs/vim-plugins/conf-vim.nix b/pkgs/vim-plugins/conf-vim.nix deleted file mode 100644 index 9009df1e..00000000 --- a/pkgs/vim-plugins/conf-vim.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "conf-vim"; - version = "unstable-2017-10-09"; - - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "conf.vim"; - rev = "a716df0fd5d7ba558c07dac2e07f05d5eba11afb"; - sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; - }; -} diff --git a/pkgs/vim-plugins/default.nix b/pkgs/vim-plugins/default.nix index bd587f10..f0fc4eb0 100644 --- a/pkgs/vim-plugins/default.nix +++ b/pkgs/vim-plugins/default.nix @@ -1,10 +1,23 @@ -{ callPackage }: +{ pkgs, lib }: -{ - conf-vim = callPackage ./conf-vim.nix { }; - edit-alternate-vim = callPackage ./edit-alternate-vim.nix { }; - standard-vim = callPackage ./standard-vim.nix { }; - vim-caser = callPackage ./vim-caser.nix { }; - vim-textobj-indent = callPackage ./vim-textobj-indent.nix { }; - vim-textobj-xmlattr = callPackage ./vim-textobj-xmlattr.nix { }; -} +let + pluginsData = builtins.fromJSON (builtins.readFile ./vim-plugins.json); + + mkPlugin = + name: attrs: + with attrs; + with pkgs; + vimUtils.buildVimPlugin { + inherit name version; + + src = fetchFromGitHub { + inherit + hash + owner + repo + rev + ; + }; + }; +in +lib.mapAttrs mkPlugin pluginsData diff --git a/pkgs/vim-plugins/edit-alternate-vim.nix b/pkgs/vim-plugins/edit-alternate-vim.nix deleted file mode 100644 index 39b269a1..00000000 --- a/pkgs/vim-plugins/edit-alternate-vim.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "edit-alternate-vim"; - version = "unstable-2021-10-25"; - - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "edit_alternate.vim"; - rev = "ef3019115d9bb7ffd691d2859eda213dd99e0b0a"; - sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; - }; -} diff --git a/pkgs/vim-plugins/standard-vim.nix b/pkgs/vim-plugins/standard-vim.nix deleted file mode 100644 index 0a5744fb..00000000 --- a/pkgs/vim-plugins/standard-vim.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "standard-vim"; - version = "unstable-2018-10-15"; - - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "standard.vim"; - rev = "b333ef9a9cf6cf66536deda017a542843613fa75"; - sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; - }; -} diff --git a/pkgs/vim-plugins/vim-caser.nix b/pkgs/vim-plugins/vim-caser.nix deleted file mode 100644 index 015da1e2..00000000 --- a/pkgs/vim-plugins/vim-caser.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "vim-caser"; - version = "2021-07-27"; - - src = fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; -} diff --git a/pkgs/vim-plugins/vim-plugins.json b/pkgs/vim-plugins/vim-plugins.json new file mode 100644 index 00000000..a2fb3fef --- /dev/null +++ b/pkgs/vim-plugins/vim-plugins.json @@ -0,0 +1,50 @@ +{ + "conf-vim": { + "owner": "tjdevries", + "repo": "conf.vim", + "rev": "a716df0fd5d7ba558c07dac2e07f05d5eba11afb", + "version": "unstable-2017-10-09", + "hash": "sha256-AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0=" + }, + + "edit-alternate-vim": { + "owner": "tjdevries", + "repo": "edit_alternate.vim", + "rev": "ef3019115d9bb7ffd691d2859eda213dd99e0b0a", + "version": "unstable-2021-10-25", + "hash": "sha256-mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4=" + }, + + "standard-vim": { + "owner": "tjdevries", + "repo": "standard.vim", + "rev": "b333ef9a9cf6cf66536deda017a542843613fa75", + "version": "unstable-2018-10-15", + "hash": "sha256-9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E=" + }, + + "vim-caser": { + "owner": "arthurxavierx", + "repo": "vim-caser", + "rev": "6bc9f41d170711c58e0157d882a5fe8c30f34bf6", + "version": "unstable-2021-07-27", + "hash": "sha256-PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps=" + }, + + "vim-textobj-indent": { + "owner": "kana", + "repo": "vim-textobj-indent", + "rev": "v0.0.6", + "version": "0.0.6", + "hash": "sha256-oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q=" + }, + + "vim-textobj-xmlattr": { + "owner": "whatyouhide", + "repo": "vim-textobj-xmlattr", + "rev": "694a297f1d75fd527e87da9769f3c6519a87ebb1", + "version": "unstable-2016-06-03", + "hash": "sha256-+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q=" + } +} + diff --git a/pkgs/vim-plugins/vim-textobj-indent.nix b/pkgs/vim-plugins/vim-textobj-indent.nix deleted file mode 100644 index a728d82f..00000000 --- a/pkgs/vim-plugins/vim-textobj-indent.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "vim-textobj-indent"; - version = "0.0.6"; - - src = fetchFromGitHub { - owner = "kana"; - repo = "vim-textobj-indent"; - rev = "v${version}"; - sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; - }; -} diff --git a/pkgs/vim-plugins/vim-textobj-xmlattr.nix b/pkgs/vim-plugins/vim-textobj-xmlattr.nix deleted file mode 100644 index 21695da7..00000000 --- a/pkgs/vim-plugins/vim-textobj-xmlattr.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - version = "unstable-2016-06-03"; - - src = fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; -} From 5d6ab42c9a5c72c2e162c5123c03c56c0b602a3d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 17:10:14 +0100 Subject: [PATCH 1708/2258] flake update --- flake.lock | 48 ++++++++++++------------ modules/home-manager/cli/zsh/default.nix | 2 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index c3d8b889..c637942d 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1745224732, - "narHash": "sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ+o0nuNzus=", + "lastModified": 1745369821, + "narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=", "owner": "nix-community", "repo": "disko", - "rev": "1770bf1ae5da05564f86b969ef21c7228cc1a70b", + "rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1745272532, - "narHash": "sha256-+sFbKw1vFkulKYxsAbz84N0V/goSg808IgFh8iWe/As=", + "lastModified": 1745421701, + "narHash": "sha256-mZoVHMwj8uF1nnd8nHGzcTzTcVNApymIoo4NemJjnzU=", "owner": "nix-community", "repo": "home-manager", - "rev": "81541ea36d1fead4be7797e826ee325d4c19308b", + "rev": "b7527e2daf755437a2948f09761a8ed07debd075", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1744633460, - "narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=", + "lastModified": 1745392233, + "narHash": "sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9a049b4a421076d27fee3eec664a18b2066824cb", + "rev": "8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1744440957, - "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", + "lastModified": 1745279238, + "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", + "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", "type": "github" }, "original": { @@ -212,11 +212,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1745310023, - "narHash": "sha256-+aapawQFJ9WMH6QUs9AG8KyOsyxbE1kZ/B67DlLhK34=", + "lastModified": 1745424269, + "narHash": "sha256-uhum3qG17n/Ft5F7LWxqRVd3Vc/bdad993oRgv4q5co=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e5111886a6e5f0ea4715d370ffb9db219633f3f", + "rev": "e729470406d2046c41ec8e609daad323e4d078a5", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", + "lastModified": 1745234285, + "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", + "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", + "lastModified": 1745234285, + "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", + "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", "type": "github" }, "original": { @@ -281,11 +281,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745288354, - "narHash": "sha256-7WQZ4mLlHxGWKMd7VvxL93CYcK2xwexnztj2FuXwkT8=", + "lastModified": 1745420384, + "narHash": "sha256-5F/6s8vlxTQOCuDnFbmShKvg3Mda2AFD2+pLIaKJIrw=", "owner": "nix-community", "repo": "NUR", - "rev": "b9d85465fdbe6bddb0a9e9dce49c4bd0fbb92883", + "rev": "5cff05c222e79567d6534270c05ecd69435bb84f", "type": "github" }, "original": { diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index 93fa5b1d..92ffe198 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -40,7 +40,7 @@ in fi ''; - initExtra = '' + initContent = '' background() { for ((i=2;i<=$#;i++)); do ''${@[1]} ''${@[$i]} &> /dev/null & From 5f7d0d4deb6864a16321bacf9e29607c99755503 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 17:19:16 +0100 Subject: [PATCH 1709/2258] Rename `nixpkgs-2411` to `nixpkgs-stable` --- flake.lock | 34 ++++++++++++++++---------------- flake.nix | 2 +- modules/home-manager/cli/git.nix | 2 +- overlays/default.nix | 3 +-- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index c637942d..d077f26c 100644 --- a/flake.lock +++ b/flake.lock @@ -194,22 +194,6 @@ "type": "github" } }, - "nixpkgs-2411": { - "locked": { - "lastModified": 1745279238, - "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-master": { "locked": { "lastModified": 1745424269, @@ -226,6 +210,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1745279238, + "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1742937945, @@ -302,8 +302,8 @@ "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", - "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-master": "nixpkgs-master", + "nixpkgs-stable": "nixpkgs-stable", "nur": "nur" } }, diff --git a/flake.nix b/flake.nix index b70c366b..2aa8e30e 100644 --- a/flake.nix +++ b/flake.nix @@ -13,8 +13,8 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-2411.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 9d9496c0..76292a73 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -168,7 +168,7 @@ in }; home = { - packages = with pkgs; [ nixpkgs-2411.git-instafix ]; + packages = with pkgs; [ stable.git-instafix ]; sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; diff --git a/overlays/default.nix b/overlays/default.nix index 09fb101a..07f3a2ac 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -14,8 +14,7 @@ }; stable-packages = final: _prev: { - nixpkgs-2411 = import inputs.nixpkgs-2411 { - config.allowUnfree = true; + stable = import inputs.nixpkgs-stable { system = final.system; }; }; From 4de7dfda6b4e72b2f3aa8006e9da71a18bcbf13e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 17:28:26 +0100 Subject: [PATCH 1710/2258] Refactor --- flake.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 2aa8e30e..4538f10e 100644 --- a/flake.nix +++ b/flake.nix @@ -7,16 +7,18 @@ url = "github:nix-community/disko"; }; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; + home-manager = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/home-manager/master"; + }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; - - nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nur.url = "github:nix-community/NUR"; }; From 9e1b77930d4dfdd17cc1f851ab945b2cc3a73c3a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 17:29:24 +0100 Subject: [PATCH 1711/2258] Remove `nixpkgs-master` --- flake.lock | 17 ----------------- flake.nix | 1 - 2 files changed, 18 deletions(-) diff --git a/flake.lock b/flake.lock index d077f26c..8b106582 100644 --- a/flake.lock +++ b/flake.lock @@ -194,22 +194,6 @@ "type": "github" } }, - "nixpkgs-master": { - "locked": { - "lastModified": 1745424269, - "narHash": "sha256-uhum3qG17n/Ft5F7LWxqRVd3Vc/bdad993oRgv4q5co=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e729470406d2046c41ec8e609daad323e4d078a5", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1745279238, @@ -302,7 +286,6 @@ "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", - "nixpkgs-master": "nixpkgs-master", "nixpkgs-stable": "nixpkgs-stable", "nur": "nur" } diff --git a/flake.nix b/flake.nix index 4538f10e..6f22b629 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,6 @@ nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; From 899dfb9f21954877d4d19205de18211c437b14ee Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 19:38:55 +0100 Subject: [PATCH 1712/2258] Extract a pass module --- hosts/PW05CH3L/configuration.nix | 1 + hosts/common/default.nix | 10 ---------- hosts/t480/configuration.nix | 2 ++ modules/nixos/cli/default.nix | 1 + modules/nixos/cli/password-store.nix | 30 ++++++++++++++++++++++++++++ 5 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 modules/nixos/cli/password-store.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 34f97dac..b70e391f 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -10,6 +10,7 @@ nixosModules = { cli = { docker.enable = true; + password-store.enable = true; }; }; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 196f05ec..36a5f420 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -43,16 +43,6 @@ fastfetch mermaid-cli mkcert - passmenu-otp - - (pass.withExtensions ( - e: with e; [ - passExtensions.pass-audit - passExtensions.pass-import - passExtensions.pass-otp - passExtensions.pass-update - ] - )) ]; home-manager = { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 2d2442cf..bfb0fc56 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -13,6 +13,8 @@ ]; nixosModules = { + cli.password-store.enable = true; + core = { bluetooth.enable = true; openssh.enable = true; diff --git a/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix index f768e96d..5e7e09fc 100644 --- a/modules/nixos/cli/default.nix +++ b/modules/nixos/cli/default.nix @@ -2,5 +2,6 @@ imports = [ ./docker.nix ./podman.nix + ./password-store.nix ]; } diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/cli/password-store.nix new file mode 100644 index 00000000..190e56c9 --- /dev/null +++ b/modules/nixos/cli/password-store.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.nixosModules.cli.password-store; +in +{ + options.nixosModules.cli.password-store.enable = mkEnableOption "Enable pass"; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + passmenu-otp + + (pass.withExtensions ( + e: with e; [ + passExtensions.pass-audit + passExtensions.pass-import + passExtensions.pass-otp + passExtensions.pass-update + ] + )) + ]; + }; +} From 547895664b16dafb7088af7cce45d97a83bdfc31 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 19:50:10 +0100 Subject: [PATCH 1713/2258] Make the pass extensions configurable --- hosts/t480/configuration.nix | 10 +++++++++- modules/nixos/cli/password-store.nix | 19 ++++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index bfb0fc56..9f26b1f7 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -13,7 +13,15 @@ ]; nixosModules = { - cli.password-store.enable = true; + cli.password-store = { + enable = true; + + extensions = with pkgs.passExtensions; [ + pass-audit + pass-otp + pass-update + ]; + }; core = { bluetooth.enable = true; diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/cli/password-store.nix index 190e56c9..d943a186 100644 --- a/modules/nixos/cli/password-store.nix +++ b/modules/nixos/cli/password-store.nix @@ -11,20 +11,21 @@ let cfg = config.nixosModules.cli.password-store; in { - options.nixosModules.cli.password-store.enable = mkEnableOption "Enable pass"; + options.nixosModules.cli.password-store = { + enable = mkEnableOption "Enable pass"; + + extensions = mkOption { + default = [ ]; + type = types.listOf types.package; + description = "pass extensions to install."; + }; + }; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ passmenu-otp - (pass.withExtensions ( - e: with e; [ - passExtensions.pass-audit - passExtensions.pass-import - passExtensions.pass-otp - passExtensions.pass-update - ] - )) + (pass.withExtensions (e: with e; cfg.extensions)) ]; }; } From 57c96d70f3467040f3de9e01f0faac5727908006 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 20:00:44 +0100 Subject: [PATCH 1714/2258] Remove `passmenu-otp` It's already included in my dwm configuration so it doesn't need to be re-declared here. --- modules/nixos/cli/password-store.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/cli/password-store.nix index d943a186..97f3a494 100644 --- a/modules/nixos/cli/password-store.nix +++ b/modules/nixos/cli/password-store.nix @@ -23,8 +23,6 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ - passmenu-otp - (pass.withExtensions (e: with e; cfg.extensions)) ]; }; From 81043d8f38ebfe68f483bf8830879e0a7c449d70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 20:14:44 +0100 Subject: [PATCH 1715/2258] Fix `wiki-push` script --- hosts/t480/modules/wiki.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hosts/t480/modules/wiki.nix b/hosts/t480/modules/wiki.nix index 31a85ad6..f475614f 100644 --- a/hosts/t480/modules/wiki.nix +++ b/hosts/t480/modules/wiki.nix @@ -10,8 +10,7 @@ with lib; (pkgs.writeShellApplication ( let remoteIpAddresses = [ - "116.203.11.255" - "192.168.1.116" + "nixedo.local" ]; wikiPath = "${config.xdg.userDirs.documents}/wiki"; From 2e91ed63c874d6d3ae4a9a1924d6405f61416d2b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 23:05:45 +0100 Subject: [PATCH 1716/2258] Organise Home Manager modules --- home/opdavies/t480.nix | 9 ++++++--- modules/home-manager/desktop/browsers/default.nix | 6 ++++++ modules/home-manager/desktop/{ => browsers}/firefox.nix | 4 ++-- .../home-manager/desktop/{ => browsers}/qutebrowser.nix | 5 +++-- modules/home-manager/desktop/default.nix | 5 ++--- modules/home-manager/desktop/media/default.nix | 5 +++++ modules/home-manager/desktop/{ => media}/mpv.nix | 4 ++-- 7 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 modules/home-manager/desktop/browsers/default.nix rename modules/home-manager/desktop/{ => browsers}/firefox.nix (95%) rename modules/home-manager/desktop/{ => browsers}/qutebrowser.nix (84%) create mode 100644 modules/home-manager/desktop/media/default.nix rename modules/home-manager/desktop/{ => media}/mpv.nix (67%) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 0b621579..73100bf6 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -47,11 +47,14 @@ }; desktop = { - firefox.enable = true; + browsers = { + firefox.enable = true; + qutebrowser.enable = true; + }; + flameshot.enable = true; gtk.enable = true; - mpv.enable = true; - qutebrowser.enable = true; + media.mpv.enable = true; }; }; diff --git a/modules/home-manager/desktop/browsers/default.nix b/modules/home-manager/desktop/browsers/default.nix new file mode 100644 index 00000000..4a57a609 --- /dev/null +++ b/modules/home-manager/desktop/browsers/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./firefox.nix + ./qutebrowser.nix + ]; +} diff --git a/modules/home-manager/desktop/firefox.nix b/modules/home-manager/desktop/browsers/firefox.nix similarity index 95% rename from modules/home-manager/desktop/firefox.nix rename to modules/home-manager/desktop/browsers/firefox.nix index 53a8d6c3..2e8e92c9 100644 --- a/modules/home-manager/desktop/firefox.nix +++ b/modules/home-manager/desktop/browsers/firefox.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.firefox; + cfg = config.homeManagerModules.desktop.browsers.firefox; in { - options.homeManagerModules.desktop.firefox.enable = mkEnableOption "Enable firefox"; + options.homeManagerModules.desktop.browsers.firefox.enable = mkEnableOption "Enable firefox"; config = mkIf cfg.enable { programs.firefox.enable = false; diff --git a/modules/home-manager/desktop/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix similarity index 84% rename from modules/home-manager/desktop/qutebrowser.nix rename to modules/home-manager/desktop/browsers/qutebrowser.nix index f8102b33..9ca0631d 100644 --- a/modules/home-manager/desktop/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -3,10 +3,11 @@ with lib; let - cfg = config.homeManagerModules.desktop.qutebrowser; + cfg = config.homeManagerModules.desktop.browsers.qutebrowser; in { - options.homeManagerModules.desktop.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; + options.homeManagerModules.desktop.browsers.qutebrowser.enable = + mkEnableOption "Enable qutebrowser"; config = mkIf cfg.enable { programs.qutebrowser = { diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix index eb2d7749..6cabdeb9 100644 --- a/modules/home-manager/desktop/default.nix +++ b/modules/home-manager/desktop/default.nix @@ -1,10 +1,9 @@ { imports = [ - ./firefox.nix + ./browsers ./flameshot.nix ./gtk.nix - ./qutebrowser.nix - ./mpv.nix + ./media ./screenkey.nix ]; } diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix new file mode 100644 index 00000000..565dd368 --- /dev/null +++ b/modules/home-manager/desktop/media/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./mpv.nix + ]; +} diff --git a/modules/home-manager/desktop/mpv.nix b/modules/home-manager/desktop/media/mpv.nix similarity index 67% rename from modules/home-manager/desktop/mpv.nix rename to modules/home-manager/desktop/media/mpv.nix index 05ceba15..25efa494 100644 --- a/modules/home-manager/desktop/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.mpv; + cfg = config.homeManagerModules.desktop.media.mpv; in { - options.homeManagerModules.desktop.mpv.enable = mkEnableOption "Enable mpv"; + options.homeManagerModules.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; config = mkIf cfg.enable { programs.mpv = { From 28d75ce6b85e0852aa3f8454bab4f2206ad7e50a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 23 Apr 2025 23:28:31 +0100 Subject: [PATCH 1717/2258] Add makemkv --- hosts/t480/modules/default.nix | 1 + hosts/t480/modules/desktop/default.nix | 5 +++++ hosts/t480/modules/desktop/media/default.nix | 5 +++++ hosts/t480/modules/desktop/media/makemkv.nix | 12 ++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 hosts/t480/modules/desktop/default.nix create mode 100644 hosts/t480/modules/desktop/media/default.nix create mode 100644 hosts/t480/modules/desktop/media/makemkv.nix diff --git a/hosts/t480/modules/default.nix b/hosts/t480/modules/default.nix index 4d7442c0..df830b8c 100644 --- a/hosts/t480/modules/default.nix +++ b/hosts/t480/modules/default.nix @@ -1,6 +1,7 @@ { imports = [ ./cron.nix + ./desktop ./neomutt.nix ./newsboat ./ollama.nix diff --git a/hosts/t480/modules/desktop/default.nix b/hosts/t480/modules/desktop/default.nix new file mode 100644 index 00000000..7c256895 --- /dev/null +++ b/hosts/t480/modules/desktop/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./media + ]; +} diff --git a/hosts/t480/modules/desktop/media/default.nix b/hosts/t480/modules/desktop/media/default.nix new file mode 100644 index 00000000..2efff1fb --- /dev/null +++ b/hosts/t480/modules/desktop/media/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./makemkv.nix + ]; +} diff --git a/hosts/t480/modules/desktop/media/makemkv.nix b/hosts/t480/modules/desktop/media/makemkv.nix new file mode 100644 index 00000000..aa394d2a --- /dev/null +++ b/hosts/t480/modules/desktop/media/makemkv.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + makemkv + ]; + + boot.kernelModules = [ "sg" ]; + + # TODO: is this needed? + users.users.opdavies.extraGroups = [ "cdrom" ]; +} From 4107805044146de159edb4eb1988bef011c3d9a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 24 Apr 2025 01:47:15 +0100 Subject: [PATCH 1718/2258] Extract a makemkv module, add it to lemp11 --- home/opdavies/lemp11.nix | 9 +++++++- home/opdavies/t480.nix | 6 +++++- hosts/lemp11/configuration.nix | 2 ++ hosts/t480/configuration.nix | 1 + hosts/t480/modules/default.nix | 1 - hosts/t480/modules/desktop/default.nix | 5 ----- hosts/t480/modules/desktop/media/makemkv.nix | 12 ----------- .../home-manager/desktop/media/default.nix | 1 + .../home-manager/desktop/media/makemkv.nix | 21 +++++++++++++++++++ modules/nixos/desktop/default.nix | 1 + .../nixos}/desktop/media/default.nix | 0 modules/nixos/desktop/media/makemkv.nix | 17 +++++++++++++++ 12 files changed, 56 insertions(+), 20 deletions(-) delete mode 100644 hosts/t480/modules/desktop/default.nix delete mode 100644 hosts/t480/modules/desktop/media/makemkv.nix create mode 100644 modules/home-manager/desktop/media/makemkv.nix rename {hosts/t480/modules => modules/nixos}/desktop/media/default.nix (100%) create mode 100644 modules/nixos/desktop/media/makemkv.nix diff --git a/home/opdavies/lemp11.nix b/home/opdavies/lemp11.nix index 617b1ab6..b268540c 100644 --- a/home/opdavies/lemp11.nix +++ b/home/opdavies/lemp11.nix @@ -1,5 +1,12 @@ { imports = [ ../common ]; - homeManagerModules.cli.zsh.enable = true; + homeManagerModules = { + cli.zsh.enable = true; + + desktop.media = { + makemkv.enable = true; + mpv.enable = true; + }; + }; } diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 73100bf6..ecc1bba6 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -54,7 +54,11 @@ flameshot.enable = true; gtk.enable = true; - media.mpv.enable = true; + + media = { + makemkv.enable = true; + mpv.enable = true; + }; }; }; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 527dfb2f..9346e79d 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -16,6 +16,8 @@ bluetooth.enable = true; zram.enable = true; }; + + desktop.media.makemkv.enable = true; }; # Bootloader. diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 9f26b1f7..c9b346b3 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -35,6 +35,7 @@ dconf.enable = true; dwm.enable = true; fonts.enable = true; + media.makemkv.enable = true; st.enable = true; thunar.enable = true; }; diff --git a/hosts/t480/modules/default.nix b/hosts/t480/modules/default.nix index df830b8c..4d7442c0 100644 --- a/hosts/t480/modules/default.nix +++ b/hosts/t480/modules/default.nix @@ -1,7 +1,6 @@ { imports = [ ./cron.nix - ./desktop ./neomutt.nix ./newsboat ./ollama.nix diff --git a/hosts/t480/modules/desktop/default.nix b/hosts/t480/modules/desktop/default.nix deleted file mode 100644 index 7c256895..00000000 --- a/hosts/t480/modules/desktop/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./media - ]; -} diff --git a/hosts/t480/modules/desktop/media/makemkv.nix b/hosts/t480/modules/desktop/media/makemkv.nix deleted file mode 100644 index aa394d2a..00000000 --- a/hosts/t480/modules/desktop/media/makemkv.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - makemkv - ]; - - boot.kernelModules = [ "sg" ]; - - # TODO: is this needed? - users.users.opdavies.extraGroups = [ "cdrom" ]; -} diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix index 565dd368..e735f430 100644 --- a/modules/home-manager/desktop/media/default.nix +++ b/modules/home-manager/desktop/media/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./makemkv.nix ./mpv.nix ]; } diff --git a/modules/home-manager/desktop/media/makemkv.nix b/modules/home-manager/desktop/media/makemkv.nix new file mode 100644 index 00000000..1bb55102 --- /dev/null +++ b/modules/home-manager/desktop/media/makemkv.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.desktop.media.makemkv; +in +{ + options.homeManagerModules.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + makemkv + ]; + }; +} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 50c6ed82..d031fbb2 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -3,6 +3,7 @@ ./dconf.nix ./dwm ./fonts.nix + ./media ./st.nix ./thunar.nix ]; diff --git a/hosts/t480/modules/desktop/media/default.nix b/modules/nixos/desktop/media/default.nix similarity index 100% rename from hosts/t480/modules/desktop/media/default.nix rename to modules/nixos/desktop/media/default.nix diff --git a/modules/nixos/desktop/media/makemkv.nix b/modules/nixos/desktop/media/makemkv.nix new file mode 100644 index 00000000..4a889934 --- /dev/null +++ b/modules/nixos/desktop/media/makemkv.nix @@ -0,0 +1,17 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.nixosModules.desktop.media.makemkv; +in +{ + options.nixosModules.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + + config = mkIf cfg.enable { + boot.kernelModules = [ "sg" ]; + + # TODO: is this needed? + # users.users.opdavies.extraGroups = [ "cdrom" ]; + }; +} From 4fc348ff45f4ca7c039b0c5b7bb1aceb9bd66cb7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 24 Apr 2025 02:36:13 +0100 Subject: [PATCH 1719/2258] Extract a handbrake module --- home/opdavies/lemp11.nix | 1 + home/opdavies/t480.nix | 1 + hosts/t480/configuration.nix | 1 - .../home-manager/desktop/media/default.nix | 1 + .../home-manager/desktop/media/handbrake.nix | 21 +++++++++++++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager/desktop/media/handbrake.nix diff --git a/home/opdavies/lemp11.nix b/home/opdavies/lemp11.nix index b268540c..5eff15a1 100644 --- a/home/opdavies/lemp11.nix +++ b/home/opdavies/lemp11.nix @@ -5,6 +5,7 @@ cli.zsh.enable = true; desktop.media = { + handbrake.enable = true; makemkv.enable = true; mpv.enable = true; }; diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index ecc1bba6..d37240b8 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -56,6 +56,7 @@ gtk.enable = true; media = { + handbrake.enable = true; makemkv.enable = true; mpv.enable = true; }; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index c9b346b3..1c180770 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -78,7 +78,6 @@ gimp gscan2pdf gtypist - handbrake hunspellDicts.en-gb-large isync kdePackages.kdenlive diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix index e735f430..0f1a7643 100644 --- a/modules/home-manager/desktop/media/default.nix +++ b/modules/home-manager/desktop/media/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./handbrake.nix ./makemkv.nix ./mpv.nix ]; diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix new file mode 100644 index 00000000..2f5929a7 --- /dev/null +++ b/modules/home-manager/desktop/media/handbrake.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.homeManagerModules.desktop.media.handbrake; +in +{ + options.homeManagerModules.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + handbrake + ]; + }; +} From 84569bfde21df73e2437fdf786c3d0c0ef7021d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 24 Apr 2025 13:09:56 +0100 Subject: [PATCH 1720/2258] Switch to COSMIC desktop --- hosts/lemp11/services.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index 0a219ba0..d4a2d231 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -20,6 +20,8 @@ printing.enable = true; pulseaudio.enable = false; + desktopManager.cosmic.enable = true; + xserver = { enable = true; @@ -27,9 +29,6 @@ layout = "gb"; variant = ""; }; - - desktopManager.cinnamon.enable = true; - displayManager.lightdm.enable = true; }; }; } From 933910dd3bcbd5426e4111fa1ccaf8ec19829bb4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 26 Apr 2025 00:26:43 +0100 Subject: [PATCH 1721/2258] Add Samba shares --- hosts/nixedo/configuration.nix | 1 + hosts/nixedo/services/default.nix | 5 +++++ hosts/nixedo/services/samba.nix | 28 ++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 hosts/nixedo/services/default.nix create mode 100644 hosts/nixedo/services/samba.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 81542cd0..de2c649c 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -8,6 +8,7 @@ ./hardware-configuration.nix ./modules ./secrets.nix + ./services ../../users/opdavies.nix ]; diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix new file mode 100644 index 00000000..18582aab --- /dev/null +++ b/hosts/nixedo/services/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./samba.nix + ]; +} diff --git a/hosts/nixedo/services/samba.nix b/hosts/nixedo/services/samba.nix new file mode 100644 index 00000000..2c4c915f --- /dev/null +++ b/hosts/nixedo/services/samba.nix @@ -0,0 +1,28 @@ +{ + services.samba = { + enable = true; + openFirewall = true; + + shares = { + home = { + path = "/home/opdavies"; + browseable = true; + writable = true; + "valid users" = [ "opdavies" ]; + "force group" = "media"; + "create mask" = "0660"; + "directory mask" = "0770"; + }; + + media = { + path = "/mnt/media"; + browseable = true; + writable = true; + "valid users" = [ "opdavies" ]; + "force group" = "media"; + "create mask" = "0660"; + "directory mask" = "0770"; + }; + }; + }; +} From bd79ecc1de963497a0432ad54b951f94638f8b5c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 26 Apr 2025 00:26:54 +0100 Subject: [PATCH 1722/2258] Add user to the media group --- hosts/nixedo/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index de2c649c..a49cd448 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -32,5 +32,6 @@ networking.networkmanager.enable = true; + users.users.opdavies.extraGroups = [ "media" ]; users.groups.media = { }; } From 3d806c436f91b73612fc8207c04c835646b285ef Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 20:58:34 +0100 Subject: [PATCH 1723/2258] Re-add oil.nvim --- .../neovim/config/after/ftplugin/netrw.lua | 5 ----- .../coding/neovim/config/plugin/netrw.lua | 3 --- .../coding/neovim/config/plugin/oil.lua | 16 ++++++++++++++++ modules/home-manager/coding/neovim/default.nix | 1 + 4 files changed, 17 insertions(+), 8 deletions(-) delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/netrw.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/netrw.lua create mode 100644 modules/home-manager/coding/neovim/config/plugin/oil.lua diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/netrw.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/netrw.lua deleted file mode 100644 index 591d53c9..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/netrw.lua +++ /dev/null @@ -1,5 +0,0 @@ -local opt = vim.opt_local - -opt.cursorline = false -opt.number = true -opt.relativenumber = true diff --git a/modules/home-manager/coding/neovim/config/plugin/netrw.lua b/modules/home-manager/coding/neovim/config/plugin/netrw.lua deleted file mode 100644 index ff775278..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/netrw.lua +++ /dev/null @@ -1,3 +0,0 @@ -vim.keymap.set("n", "-", vim.cmd.Ex) - -vim.g.netrw_banner = 0 diff --git a/modules/home-manager/coding/neovim/config/plugin/oil.lua b/modules/home-manager/coding/neovim/config/plugin/oil.lua new file mode 100644 index 00000000..5799eb20 --- /dev/null +++ b/modules/home-manager/coding/neovim/config/plugin/oil.lua @@ -0,0 +1,16 @@ +require("oil").setup { + columns = { "icon" }, + + keymaps = { + ["<C-h>"] = false, + ["<M-h>"] = "actions.select_split", + }, + + skip_confirm_for_simple_edits = true, + + view_options = { + show_hidden = true, + }, +} + +vim.keymap.set("n", "-", "<Cmd>Oil<cr>", { desc = "Open parent directory" }) diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 6f62d1cc..ab3b1a1e 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -30,6 +30,7 @@ in harpoon2 mini-nvim nvim-web-devicons + oil-nvim phpactor refactoring-nvim standard-vim From be26969d9bc99c2e164012d212d4c94dd95fb979 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 20:58:35 +0100 Subject: [PATCH 1724/2258] Allow the nginx user to access SSL certificates Fixes this error: > Failed assertions: > - Certificate oliverdavies.uk (group=acme) must be readable by service(s) nginx.service (user=nginx groups=nginx), nginx-config-reload.service (user=root groups=) --- hosts/nixedo/modules/nginx/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/nixedo/modules/nginx/default.nix b/hosts/nixedo/modules/nginx/default.nix index 0975dfbf..3e7c4fac 100644 --- a/hosts/nixedo/modules/nginx/default.nix +++ b/hosts/nixedo/modules/nginx/default.nix @@ -47,5 +47,7 @@ in }; }; + users.users.${config.services.nginx.user}.extraGroups = [ "acme" ]; + imports = [ ./www.oliverdavies.uk.nix ]; } From a3070ba52d44ea77e2098132bc94afde81bba4bd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 20:58:35 +0100 Subject: [PATCH 1725/2258] Add Homepage Dashboard https://gethomepage.dev --- hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/homepage/default.nix | 20 ++++++++++++++++++++ hosts/nixedo/services/homepage/services.nix | 12 ++++++++++++ hosts/nixedo/services/homepage/widgets.nix | 9 +++++++++ 4 files changed, 42 insertions(+) create mode 100644 hosts/nixedo/services/homepage/default.nix create mode 100644 hosts/nixedo/services/homepage/services.nix create mode 100644 hosts/nixedo/services/homepage/widgets.nix diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 18582aab..5ac48e3c 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./homepage ./samba.nix ]; } diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix new file mode 100644 index 00000000..59e45c96 --- /dev/null +++ b/hosts/nixedo/services/homepage/default.nix @@ -0,0 +1,20 @@ +{ + services = { + homepage-dashboard = { + enable = true; + listenPort = 8097; + openFirewall = true; + + services = import ./services.nix; + widgets = import ./widgets.nix; + }; + + nginx.virtualHosts."nixedo.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/".proxyPass = + "http://localhost:${toString config.services.homepage-dashboard.listenPort}"; + }; + }; +} diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix new file mode 100644 index 00000000..292520a6 --- /dev/null +++ b/hosts/nixedo/services/homepage/services.nix @@ -0,0 +1,12 @@ +[ + { + "Media" = [ + { + "Jellyfin" = { + description = "Jellyfin"; + href = "https://jellyfin.oliverdavies.uk"; + }; + } + ]; + } +] diff --git a/hosts/nixedo/services/homepage/widgets.nix b/hosts/nixedo/services/homepage/widgets.nix new file mode 100644 index 00000000..3083ea71 --- /dev/null +++ b/hosts/nixedo/services/homepage/widgets.nix @@ -0,0 +1,9 @@ +[ + { + resources = { + cpu = true; + disk = "/"; + memory = true; + }; + } +] From 20205be35cf5b2b80e0cd4a2293333984c84c74b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 20:58:35 +0100 Subject: [PATCH 1726/2258] Rename `shares` to `settings` --- hosts/nixedo/services/samba.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/services/samba.nix b/hosts/nixedo/services/samba.nix index 2c4c915f..5f925121 100644 --- a/hosts/nixedo/services/samba.nix +++ b/hosts/nixedo/services/samba.nix @@ -3,7 +3,7 @@ enable = true; openFirewall = true; - shares = { + settings = { home = { path = "/home/opdavies"; browseable = true; From e6678ec729e0b075b408ba7cb04bded806c9e1b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 21:15:53 +0100 Subject: [PATCH 1727/2258] Add specific SSL subdomains Fixes this error: > Websites prove their identity via certificates. LibreWolf does not trust this site because it uses a certificate that is not valid for nixedo.oliverdavies.uk. The certificate is only valid for the following names: jellyfin.oliverdavies.uk, oliverdavies.uk, www.oliverdavies.uk > > Error code: SSL_ERROR_BAD_CERT_DOMAIN --- hosts/nixedo/modules/acme.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index c8b4a74b..ceaca3b0 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -12,7 +12,12 @@ environmentFile = config.age.secrets.cloudflare.path; webroot = null; - extraDomainNames = [ "*.oliverdavies.uk" ]; + extraDomainNames = [ + "code.oliverdavies.uk" + "jellyfin.oliverdavies.uk" + "nixedo.oliverdavies.uk" + "www.oliverdavies.uk" + ]; }; }; }; From 8ea9b6649d3412a80c5a5f8adf13475f5dbeb1d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 22:30:20 +0100 Subject: [PATCH 1728/2258] Configure Nginx reverse proxy for Jellyfin --- hosts/nixedo/modules/jellyfin.nix | 40 ++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 69f1bc16..fa58f121 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -1,16 +1,34 @@ { - services = { - jellyfin = { - enable = true; - openFirewall = true; - group = "media"; - configDir = "/mnt/media/jellyfin"; - }; + services = + let + port = 8096; + in + { + jellyfin = { + enable = true; + openFirewall = true; + group = "media"; + configDir = "/mnt/media/jellyfin"; + }; - caddy.virtualHosts."jellyfin.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; + nginx.virtualHosts."jellyfin.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; - extraConfig = "reverse_proxy localhost:8096"; + locations."/" = { + proxyPass = "http://localhost:${toString port}"; + + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_set_header X-Real-IP $remote_addr; + + proxy_buffering off; + ''; + }; + }; }; - }; } From 8aba0b0215c61abc4767df2f3626760dbdffe11c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 27 Apr 2025 23:09:18 +0100 Subject: [PATCH 1729/2258] Re-add other subdomains --- hosts/nixedo/modules/acme.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index ceaca3b0..08df357c 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -13,10 +13,24 @@ webroot = null; extraDomainNames = [ + "2020.oliverdavies.uk" + "bootstrap-with-tailwind.oliverdavies.uk" "code.oliverdavies.uk" + "eric.oliverdavies.uk" + "florida-drupalcamp-tailwind-css.oliverdavies.uk" "jellyfin.oliverdavies.uk" + "luke.oliverdavies.uk" "nixedo.oliverdavies.uk" + "phpsw-sculpin-demo.oliverdavies.uk" + "rebuilding-acquia.oliverdavies.uk" + "rebuilding-bartik.oliverdavies.uk" + "rebuilding-bristol-js.oliverdavies.uk" + "rebuilding-symfony.oliverdavies.uk" + "tailwindcss-demo.oliverdavies.uk" + "talking-drupal-tailwindcss.oliverdavies.uk" + "wp-tailwind.oliverdavies.uk" "www.oliverdavies.uk" + "zet.oliverdavies.uk" ]; }; }; From f17a38ce1ea8de01f741a079aff2b5f386a333fa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 00:23:46 +0100 Subject: [PATCH 1730/2258] Configure Nginx virtual host for paperless-ngx --- hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/modules/paperless.nix | 43 +++++++++++++++++++++--------- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 08df357c..64a9296d 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -21,6 +21,7 @@ "jellyfin.oliverdavies.uk" "luke.oliverdavies.uk" "nixedo.oliverdavies.uk" + "paperless.oliverdavies.uk" "phpsw-sculpin-demo.oliverdavies.uk" "rebuilding-acquia.oliverdavies.uk" "rebuilding-bartik.oliverdavies.uk" diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 3fdbb146..72429bcf 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -1,21 +1,38 @@ { config, ... }: { - services = { - paperless = { - enable = true; + services = + let + cfg = config.services.paperless; + hostname = "paperless.oliverdavies.uk"; + in + { + paperless = { + enable = true; - dataDir = "/mnt/media/paperless"; + dataDir = "/mnt/media/paperless"; - settings = { - PAPERLESS_URL = "https://paperless.oliverdavies.uk"; + settings = { + PAPERLESS_URL = "https://${hostname}"; + }; + }; + + nginx.virtualHosts."${hostname}" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/" = { + proxyPass = "http://localhost:${toString cfg.port}"; + + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_set_header X-Real-IP $remote_addr; + ''; + }; }; }; - - caddy.virtualHosts."${config.services.paperless.settings.PAPERLESS_URL}" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:28981"; - }; - }; } From 532d49dd587dc2c8c240b4c81d0bfb667ff32e73 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 00:26:30 +0100 Subject: [PATCH 1731/2258] Add paperless-ngx --- hosts/nixedo/services/homepage/services.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index 292520a6..0f883ad6 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -9,4 +9,16 @@ } ]; } + + { + "Services" = [ + { + "Paperless-ngx" = { + description = "Document management system"; + href = services.paperless.settings.PAPERLESS_URL; + icon = "paperless"; + }; + } + ]; + } ] From 8baa3ea1cb6ac9e6bca9616705ee7e63d9376498 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 00:36:43 +0100 Subject: [PATCH 1732/2258] Add site monitors --- hosts/nixedo/services/homepage/default.nix | 37 ++++++++++++--------- hosts/nixedo/services/homepage/services.nix | 21 ++++++++---- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 59e45c96..691b9021 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -1,20 +1,25 @@ +{ config, ... }: + { - services = { - homepage-dashboard = { - enable = true; - listenPort = 8097; - openFirewall = true; + services = + let + cfg = config.services.homepage-dashboard; + in + { + homepage-dashboard = { + enable = true; + listenPort = 8097; + openFirewall = true; - services = import ./services.nix; - widgets = import ./widgets.nix; + services = (import ./services.nix { inherit config; }); + widgets = import ./widgets.nix; + }; + + nginx.virtualHosts."nixedo.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/".proxyPass = "http://localhost:${toString cfg.listenPort}"; + }; }; - - nginx.virtualHosts."nixedo.oliverdavies.uk" = { - forceSSL = true; - useACMEHost = "oliverdavies.uk"; - - locations."/".proxyPass = - "http://localhost:${toString config.services.homepage-dashboard.listenPort}"; - }; - }; } diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index 0f883ad6..94d416ed 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -1,10 +1,14 @@ +{ config }: + [ { "Media" = [ { "Jellyfin" = { - description = "Jellyfin"; href = "https://jellyfin.oliverdavies.uk"; + icon = "jellyfin"; + description = "The Free Software Media System"; + siteMonitor = "http://localhost:8096"; }; } ]; @@ -13,11 +17,16 @@ { "Services" = [ { - "Paperless-ngx" = { - description = "Document management system"; - href = services.paperless.settings.PAPERLESS_URL; - icon = "paperless"; - }; + "Paperless-ngx" = + let + cfg = config.services.paperless; + in + { + description = "Document management system"; + href = cfg.settings.PAPERLESS_URL; + icon = "paperless"; + siteMonitor = "http://localhost:${toString cfg.port}"; + }; } ]; } From e1c30789a246631b08f9104a449d0e26adc9627f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 00:53:26 +0100 Subject: [PATCH 1733/2258] Configure Nginx virtual host for audiobookshelf --- hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/modules/audiobookshelf.nix | 19 +++++++++++++++++-- hosts/nixedo/services/homepage/services.nix | 9 +++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 64a9296d..1c2eb24a 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -14,6 +14,7 @@ extraDomainNames = [ "2020.oliverdavies.uk" + "audiobookshelf.oliverdavies.uk" "bootstrap-with-tailwind.oliverdavies.uk" "code.oliverdavies.uk" "eric.oliverdavies.uk" diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index 4d424c53..3c671eea 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -1,5 +1,8 @@ { config, ... }: +let + cfg = config.services.audiobookshelf; +in { services = { audiobookshelf = { @@ -8,10 +11,22 @@ port = 4001; }; - caddy.virtualHosts."audiobookshelf.oliverdavies.uk" = { + nginx.virtualHosts."audiobookshelf.oliverdavies.uk" = { + forceSSL = true; useACMEHost = "oliverdavies.uk"; - extraConfig = "reverse_proxy localhost:${toString config.services.audiobookshelf.port}"; + locations."/" = { + proxyPass = "http://localhost:${toString cfg.port}"; + + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_set_header X-Real-IP $remote_addr; + ''; + }; }; }; } diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index 94d416ed..77d1878c 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -11,6 +11,15 @@ siteMonitor = "http://localhost:8096"; }; } + + { + "Audiobookshelf" = { + href = "https://audiobookshelf.oliverdavies.uk"; + icon = "audiobookshelf"; + description = "Self-hosted audiobook and podcast server"; + siteMonitor = "http://localhost:4001"; + }; + } ]; } From 0bba7ff4f8dac996c62b0a15e2b929e680755d90 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 01:58:11 +0100 Subject: [PATCH 1734/2258] Fix immich --- hosts/nixedo/configuration.nix | 1 + hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/modules/immich.nix | 49 +++++++++++++++------ hosts/nixedo/services/homepage/services.nix | 9 ++++ 4 files changed, 47 insertions(+), 13 deletions(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index a49cd448..5f6634fe 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -17,6 +17,7 @@ core.openssh.enable = true; cli.podman.enable = true; desktop.dconf.enable = true; + homelab.immich.enable = true; }; services.logind.lidSwitchExternalPower = "ignore"; diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 1c2eb24a..1e91f18b 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -23,6 +23,7 @@ "luke.oliverdavies.uk" "nixedo.oliverdavies.uk" "paperless.oliverdavies.uk" + "photos.oliverdavies.uk" "phpsw-sculpin-demo.oliverdavies.uk" "rebuilding-acquia.oliverdavies.uk" "rebuilding-bartik.oliverdavies.uk" diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index d9ce6128..af1a647d 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -1,19 +1,42 @@ -{ config, pkgs, ... }: - { - services = { - immich = { - enable = true; - group = "media"; - mediaLocation = "/mnt/media/immich"; - }; + config, + lib, + pkgs, + ... +}: - caddy.virtualHosts."immich.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; +with lib; - extraConfig = "reverse_proxy localhost:${toString config.services.immich.port}"; - }; +let + cfg = config.nixosModules.homelab.immich; +in +{ + options.nixosModules.homelab.immich = { + enable = mkEnableOption "Enable immich"; }; - environment.systemPackages = [ pkgs.immich-cli ]; + config = mkIf cfg.enable { + services = { + immich = { + enable = true; + group = "media"; + mediaLocation = "/mnt/media/immich"; + }; + + nginx.virtualHosts."photos.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.immich.port}"; + recommendedProxySettings = true; + }; + }; + }; + + environment.systemPackages = with pkgs; [ + immich-cli + immich-go + ]; + }; } diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index 77d1878c..b524a010 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -12,6 +12,15 @@ }; } + { + "Immich" = { + href = "https://photos.oliverdavies.uk"; + icon = "immich"; + description = "Self-hosted photo and video management solution"; + siteMonitor = "http://localhost:${toString config.services.immich.port}"; + }; + } + { "Audiobookshelf" = { href = "https://audiobookshelf.oliverdavies.uk"; From 7a12a66266c70623367eaa81c3424f5330fae278 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 02:07:10 +0100 Subject: [PATCH 1735/2258] Use `recommendedProxySettings` --- hosts/nixedo/modules/audiobookshelf.nix | 10 +--------- hosts/nixedo/modules/jellyfin.nix | 8 +------- hosts/nixedo/modules/paperless.nix | 10 +--------- hosts/nixedo/services/homepage/default.nix | 5 ++++- 4 files changed, 7 insertions(+), 26 deletions(-) diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index 3c671eea..ab549071 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -17,15 +17,7 @@ in locations."/" = { proxyPass = "http://localhost:${toString cfg.port}"; - - extraConfig = '' - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $http_host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Protocol $scheme; - proxy_set_header X-Real-IP $remote_addr; - ''; + recommendedProxySettings = true; }; }; }; diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index fa58f121..d78c3c95 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -17,15 +17,9 @@ locations."/" = { proxyPass = "http://localhost:${toString port}"; + recommendedProxySettings = true; extraConfig = '' - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $http_host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Protocol $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_buffering off; ''; }; diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 72429bcf..4d5ace69 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -23,15 +23,7 @@ locations."/" = { proxyPass = "http://localhost:${toString cfg.port}"; - - extraConfig = '' - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $http_host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Protocol $scheme; - proxy_set_header X-Real-IP $remote_addr; - ''; + recommendedProxySettings = true; }; }; }; diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 691b9021..5badf781 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -19,7 +19,10 @@ forceSSL = true; useACMEHost = "oliverdavies.uk"; - locations."/".proxyPass = "http://localhost:${toString cfg.listenPort}"; + locations."/" = { + proxyPass = "http://localhost:${toString cfg.listenPort}"; + recommendedProxySettings = true; + }; }; }; } From 9148fc58d5eb0da0c863c9bd0edc2aa8571f6498 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 07:42:06 +0100 Subject: [PATCH 1736/2258] Proxy web sockets --- hosts/nixedo/modules/immich.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index af1a647d..011943ac 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -29,6 +29,7 @@ in locations."/" = { proxyPass = "http://localhost:${toString config.services.immich.port}"; + proxyWebsockets = true; recommendedProxySettings = true; }; }; From 2e4cdf26e2767df7ebe9420f02dec892aa409699 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 08:07:20 +0100 Subject: [PATCH 1737/2258] flake update --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 8b106582..ee7e7dbf 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1736955230, - "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", + "lastModified": 1745630506, + "narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=", "owner": "ryantm", "repo": "agenix", - "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", + "rev": "96e078c646b711aee04b82ba01aefbff87004ded", "type": "github" }, "original": { @@ -29,11 +29,11 @@ ] }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "lastModified": 1744478979, + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", "type": "github" }, "original": { @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1745369821, - "narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=", + "lastModified": 1745812220, + "narHash": "sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm+g=", "owner": "nix-community", "repo": "disko", - "rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7", + "rev": "d0c543d740fad42fe2c035b43c9d41127e073c78", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1703113217, - "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "lastModified": 1745494811, + "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", "owner": "nix-community", "repo": "home-manager", - "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1745421701, - "narHash": "sha256-mZoVHMwj8uF1nnd8nHGzcTzTcVNApymIoo4NemJjnzU=", + "lastModified": 1745810134, + "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", "owner": "nix-community", "repo": "home-manager", - "rev": "b7527e2daf755437a2948f09761a8ed07debd075", + "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745392233, - "narHash": "sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E=", + "lastModified": 1745503349, + "narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64", + "rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1", "type": "github" }, "original": { @@ -180,11 +180,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703013332, - "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "lastModified": 1745391562, + "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1745279238, - "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", + "lastModified": 1745742390, + "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", + "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1745234285, - "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745234285, - "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745420384, - "narHash": "sha256-5F/6s8vlxTQOCuDnFbmShKvg3Mda2AFD2+pLIaKJIrw=", + "lastModified": 1745823110, + "narHash": "sha256-nU8QMq5e/A5D1hmA91ytkY+JGE0sWN5XgqXaTgeW5ds=", "owner": "nix-community", "repo": "NUR", - "rev": "5cff05c222e79567d6534270c05ecd69435bb84f", + "rev": "e5e7be48ad1faa5b4198bd08f530b4abb5c87ebb", "type": "github" }, "original": { From 46bbbc4e46379b747f31a867365969fcba936b2d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 12:58:12 +0100 Subject: [PATCH 1738/2258] Enable powertop auto tuning on startup --- hosts/nixedo/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 5f6634fe..60cf0efb 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -34,5 +34,8 @@ networking.networkmanager.enable = true; users.users.opdavies.extraGroups = [ "media" ]; + + powerManagement.powertop.enable = true; + users.groups.media = { }; } From 4ed6fabf892739f16bcdaa6fb86bb65498eb436c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 15:00:07 +0100 Subject: [PATCH 1739/2258] Fix Homepage Dashboard Fixes this error: > Host validation failed. See logs for more details. --- hosts/nixedo/services/homepage/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 5badf781..691b9021 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -19,10 +19,7 @@ forceSSL = true; useACMEHost = "oliverdavies.uk"; - locations."/" = { - proxyPass = "http://localhost:${toString cfg.listenPort}"; - recommendedProxySettings = true; - }; + locations."/".proxyPass = "http://localhost:${toString cfg.listenPort}"; }; }; } From bbbad11fd9fe8e28e0bb2e34bcd5d14dcf380e65 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 17:51:58 +0100 Subject: [PATCH 1740/2258] Add CD/DVD tools --- hosts/t480/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 1c180770..abe55209 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -72,8 +72,11 @@ backup-websites brightnessctl build-glove80 + cdrkit cpufrequtils displayselect + dvdbackup + dvdplusrwtools ffmpegthumbnailer gimp gscan2pdf From 44699fb007102a68bde00f2f660cf1f31dfeb0c6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 21:26:56 +0100 Subject: [PATCH 1741/2258] Add Uptime Kuma Add Uptime Kuma as as service, configure a reverse proxy and add it to Homepage. --- hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/homepage/services.nix | 9 +++++++++ hosts/nixedo/services/uptime-kuma.nix | 17 +++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 hosts/nixedo/services/uptime-kuma.nix diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 1e91f18b..8ebfb456 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -31,6 +31,7 @@ "rebuilding-symfony.oliverdavies.uk" "tailwindcss-demo.oliverdavies.uk" "talking-drupal-tailwindcss.oliverdavies.uk" + "uptime.oliverdavies.uk" "wp-tailwind.oliverdavies.uk" "www.oliverdavies.uk" "zet.oliverdavies.uk" diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 5ac48e3c..1921dcd2 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./homepage ./samba.nix + ./uptime-kuma.nix ]; } diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index b524a010..bd261c2a 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -34,6 +34,15 @@ { "Services" = [ + { + "Uptime Kuma" = { + description = "A fancy self-hosted monitoring tool"; + href = "https://uptime.oliverdavies.uk"; + icon = "uptime-kuma"; + siteMonitor = "http://localhost:${toString config.services.uptime-kuma.settings.PORT}"; + }; + } + { "Paperless-ngx" = let diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix new file mode 100644 index 00000000..6d022d2d --- /dev/null +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -0,0 +1,17 @@ +{ config, ... }: + +{ + services = { + uptime-kuma.enable = true; + + nginx.virtualHosts."uptime.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.uptime-kuma.settings.PORT}"; + recommendedProxySettings = true; + }; + }; + }; +} From 1cca820fa344171a4289d0a13b1f2861cc2429d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 22:32:38 +0100 Subject: [PATCH 1742/2258] Add missing `config` --- hosts/nixedo/modules/nginx/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/nixedo/modules/nginx/default.nix b/hosts/nixedo/modules/nginx/default.nix index 3e7c4fac..be60c28a 100644 --- a/hosts/nixedo/modules/nginx/default.nix +++ b/hosts/nixedo/modules/nginx/default.nix @@ -1,3 +1,5 @@ +{ config, ... }: + let sites = import ./sites.nix; in From b0cccd36a61f89177156a09087ad908ebb756a65 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 28 Apr 2025 23:11:26 +0100 Subject: [PATCH 1743/2258] Add mastodon https://wiki.nixos.org/wiki/Mastodon --- hosts/nixedo/modules/acme.nix | 75 ++++++++++++++++-------------- hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/mastodon.nix | 17 +++++++ 3 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 hosts/nixedo/services/mastodon.nix diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 8ebfb456..863b2b0a 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -1,42 +1,49 @@ { config, ... }: { - security.acme = { - acceptTerms = true; + security.acme = + let + email = "oliver@oliverdavies.uk"; + in + { + acceptTerms = true; - certs = { - "oliverdavies.uk" = { - domain = "oliverdavies.uk"; - dnsProvider = "cloudflare"; - email = "oliver@oliverdavies.uk"; - environmentFile = config.age.secrets.cloudflare.path; - webroot = null; + defaults = { inherit email; }; - extraDomainNames = [ - "2020.oliverdavies.uk" - "audiobookshelf.oliverdavies.uk" - "bootstrap-with-tailwind.oliverdavies.uk" - "code.oliverdavies.uk" - "eric.oliverdavies.uk" - "florida-drupalcamp-tailwind-css.oliverdavies.uk" - "jellyfin.oliverdavies.uk" - "luke.oliverdavies.uk" - "nixedo.oliverdavies.uk" - "paperless.oliverdavies.uk" - "photos.oliverdavies.uk" - "phpsw-sculpin-demo.oliverdavies.uk" - "rebuilding-acquia.oliverdavies.uk" - "rebuilding-bartik.oliverdavies.uk" - "rebuilding-bristol-js.oliverdavies.uk" - "rebuilding-symfony.oliverdavies.uk" - "tailwindcss-demo.oliverdavies.uk" - "talking-drupal-tailwindcss.oliverdavies.uk" - "uptime.oliverdavies.uk" - "wp-tailwind.oliverdavies.uk" - "www.oliverdavies.uk" - "zet.oliverdavies.uk" - ]; + certs = { + "oliverdavies.uk" = { + inherit email; + + domain = "oliverdavies.uk"; + dnsProvider = "cloudflare"; + environmentFile = config.age.secrets.cloudflare.path; + webroot = null; + + extraDomainNames = [ + "2020.oliverdavies.uk" + "audiobookshelf.oliverdavies.uk" + "bootstrap-with-tailwind.oliverdavies.uk" + "code.oliverdavies.uk" + "eric.oliverdavies.uk" + "florida-drupalcamp-tailwind-css.oliverdavies.uk" + "jellyfin.oliverdavies.uk" + "luke.oliverdavies.uk" + "nixedo.oliverdavies.uk" + "paperless.oliverdavies.uk" + "photos.oliverdavies.uk" + "phpsw-sculpin-demo.oliverdavies.uk" + "rebuilding-acquia.oliverdavies.uk" + "rebuilding-bartik.oliverdavies.uk" + "rebuilding-bristol-js.oliverdavies.uk" + "rebuilding-symfony.oliverdavies.uk" + "tailwindcss-demo.oliverdavies.uk" + "talking-drupal-tailwindcss.oliverdavies.uk" + "uptime.oliverdavies.uk" + "wp-tailwind.oliverdavies.uk" + "www.oliverdavies.uk" + "zet.oliverdavies.uk" + ]; + }; }; }; - }; } diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 1921dcd2..43675939 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./homepage ./samba.nix + ./mastodon.nix ./uptime-kuma.nix ]; } diff --git a/hosts/nixedo/services/mastodon.nix b/hosts/nixedo/services/mastodon.nix new file mode 100644 index 00000000..0c8a2d8f --- /dev/null +++ b/hosts/nixedo/services/mastodon.nix @@ -0,0 +1,17 @@ +{ + services.mastodon = { + enable = true; + + configureNginx = true; + localDomain = "social.oliverdavies.uk"; + streamingProcesses = 3; + + extraConfig = { + SINGLE_USER_MODE = "true"; + }; + + smtp = { + fromAddress = "social@oliverdavies.uk"; + }; + }; +} From 1ccd6cf3f4e16431ddb0ee087ce43394bc6bf053 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 00:30:05 +0100 Subject: [PATCH 1744/2258] Revert "Add mastodon" This reverts commit b0cccd36a61f89177156a09087ad908ebb756a65. --- hosts/nixedo/modules/acme.nix | 75 ++++++++++++++---------------- hosts/nixedo/services/default.nix | 1 - hosts/nixedo/services/mastodon.nix | 17 ------- 3 files changed, 34 insertions(+), 59 deletions(-) delete mode 100644 hosts/nixedo/services/mastodon.nix diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 863b2b0a..8ebfb456 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -1,49 +1,42 @@ { config, ... }: { - security.acme = - let - email = "oliver@oliverdavies.uk"; - in - { - acceptTerms = true; + security.acme = { + acceptTerms = true; - defaults = { inherit email; }; + certs = { + "oliverdavies.uk" = { + domain = "oliverdavies.uk"; + dnsProvider = "cloudflare"; + email = "oliver@oliverdavies.uk"; + environmentFile = config.age.secrets.cloudflare.path; + webroot = null; - certs = { - "oliverdavies.uk" = { - inherit email; - - domain = "oliverdavies.uk"; - dnsProvider = "cloudflare"; - environmentFile = config.age.secrets.cloudflare.path; - webroot = null; - - extraDomainNames = [ - "2020.oliverdavies.uk" - "audiobookshelf.oliverdavies.uk" - "bootstrap-with-tailwind.oliverdavies.uk" - "code.oliverdavies.uk" - "eric.oliverdavies.uk" - "florida-drupalcamp-tailwind-css.oliverdavies.uk" - "jellyfin.oliverdavies.uk" - "luke.oliverdavies.uk" - "nixedo.oliverdavies.uk" - "paperless.oliverdavies.uk" - "photos.oliverdavies.uk" - "phpsw-sculpin-demo.oliverdavies.uk" - "rebuilding-acquia.oliverdavies.uk" - "rebuilding-bartik.oliverdavies.uk" - "rebuilding-bristol-js.oliverdavies.uk" - "rebuilding-symfony.oliverdavies.uk" - "tailwindcss-demo.oliverdavies.uk" - "talking-drupal-tailwindcss.oliverdavies.uk" - "uptime.oliverdavies.uk" - "wp-tailwind.oliverdavies.uk" - "www.oliverdavies.uk" - "zet.oliverdavies.uk" - ]; - }; + extraDomainNames = [ + "2020.oliverdavies.uk" + "audiobookshelf.oliverdavies.uk" + "bootstrap-with-tailwind.oliverdavies.uk" + "code.oliverdavies.uk" + "eric.oliverdavies.uk" + "florida-drupalcamp-tailwind-css.oliverdavies.uk" + "jellyfin.oliverdavies.uk" + "luke.oliverdavies.uk" + "nixedo.oliverdavies.uk" + "paperless.oliverdavies.uk" + "photos.oliverdavies.uk" + "phpsw-sculpin-demo.oliverdavies.uk" + "rebuilding-acquia.oliverdavies.uk" + "rebuilding-bartik.oliverdavies.uk" + "rebuilding-bristol-js.oliverdavies.uk" + "rebuilding-symfony.oliverdavies.uk" + "tailwindcss-demo.oliverdavies.uk" + "talking-drupal-tailwindcss.oliverdavies.uk" + "uptime.oliverdavies.uk" + "wp-tailwind.oliverdavies.uk" + "www.oliverdavies.uk" + "zet.oliverdavies.uk" + ]; }; }; + }; } diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 43675939..1921dcd2 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -2,7 +2,6 @@ imports = [ ./homepage ./samba.nix - ./mastodon.nix ./uptime-kuma.nix ]; } diff --git a/hosts/nixedo/services/mastodon.nix b/hosts/nixedo/services/mastodon.nix deleted file mode 100644 index 0c8a2d8f..00000000 --- a/hosts/nixedo/services/mastodon.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - services.mastodon = { - enable = true; - - configureNginx = true; - localDomain = "social.oliverdavies.uk"; - streamingProcesses = 3; - - extraConfig = { - SINGLE_USER_MODE = "true"; - }; - - smtp = { - fromAddress = "social@oliverdavies.uk"; - }; - }; -} From 2818a510c4d11bbdc59d134cd08899e7d8eaf249 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 01:17:03 +0100 Subject: [PATCH 1745/2258] Make homepage configurable --- home/opdavies/t480.nix | 7 ++++++- modules/home-manager/desktop/browsers/firefox.nix | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index d37240b8..3dc64a32 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -48,7 +48,12 @@ desktop = { browsers = { - firefox.enable = true; + firefox = { + enable = true; + + homepageUrl = "https://nixedo.oliverdavies.uk"; + }; + qutebrowser.enable = true; }; diff --git a/modules/home-manager/desktop/browsers/firefox.nix b/modules/home-manager/desktop/browsers/firefox.nix index 2e8e92c9..dc3b2d1c 100644 --- a/modules/home-manager/desktop/browsers/firefox.nix +++ b/modules/home-manager/desktop/browsers/firefox.nix @@ -11,7 +11,14 @@ let cfg = config.homeManagerModules.desktop.browsers.firefox; in { - options.homeManagerModules.desktop.browsers.firefox.enable = mkEnableOption "Enable firefox"; + options.homeManagerModules.desktop.browsers.firefox = { + enable = mkEnableOption "Enable firefox"; + + homepageUrl = mkOption { + description = "The homepage URL."; + type = types.nullOr types.str; + }; + }; config = mkIf cfg.enable { programs.firefox.enable = false; @@ -68,6 +75,8 @@ in PasswordManagerEnabled = false; Preferences = { + "browser.newtabpage.enabled" = false; + "browser.startup.homepage" = cfg.homepageUrl; "cookiebanners.service.mode" = 2; # Block cookie banners "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing "privacy.donottrackheader.enabled" = true; From f668d95f74729267fe2c9af2d596d903827ee8f6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 02:24:03 +0100 Subject: [PATCH 1746/2258] Enable HTTP and HTTPS ports --- hosts/nixedo/configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 60cf0efb..ebcbb655 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -38,4 +38,9 @@ powerManagement.powertop.enable = true; users.groups.media = { }; + + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; } From 1c861aa1b5eae7a5d645d5cde14a38e5966d6a74 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 09:41:20 +0100 Subject: [PATCH 1747/2258] Add dev-commit Add `dev-commit`, a script based on https://github.com/ThePrimeagen/dev/blob/f00f31c649e0887343a0ec10cab6cb5553ba6639/env/.local/scripts/dev-commit that is meant to be a fallback to commit and push any missed changes that should be kept. This is not intended to be a substitute for making manual commits and writing detailed commit messages. The script uses an environment variable for the list of project directories, which is set within a Home Manager module that also creates a systemd service and timer to run the command automatically - similar to a cron job. Adding this should prevent occasional issues, such as missing the firewall configuration for my homelab which was removed accidentally and stopped my reverse proxies for services such as Jellyfin and Immich from running. --- home/opdavies/t480.nix | 15 ++++ modules/home-manager/cli/default.nix | 1 + modules/home-manager/cli/dev-commit.nix | 94 +++++++++++++++++++++++++ pkgs/default.nix | 1 + pkgs/dev-commit.nix | 26 +++++++ 5 files changed, 137 insertions(+) create mode 100644 modules/home-manager/cli/dev-commit.nix create mode 100644 pkgs/dev-commit.nix diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 3dc64a32..e36cdfb8 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -68,6 +68,21 @@ }; }; + programs.dev-commit = { + enable = true; + + repoPaths = + let + personal = "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal"; + in + [ + "${personal}/nix-config" + "${personal}/opentofu-dns" + ]; + + schedule.enable = true; + }; + xdg.configFile."pam-gnupg".text = '' 098EE055DAD2B9CB68154C6759DD38292D2273B6 1E21B58D69FFEFAD077F152A50FEA938A3413F50 diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 4f66690d..084c35b0 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -1,6 +1,7 @@ { imports = [ ./bluetuith.nix + ./dev-commit.nix ./direnv.nix ./fzf.nix ./git.nix diff --git a/modules/home-manager/cli/dev-commit.nix b/modules/home-manager/cli/dev-commit.nix new file mode 100644 index 00000000..9e97ab11 --- /dev/null +++ b/modules/home-manager/cli/dev-commit.nix @@ -0,0 +1,94 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.programs.dev-commit; + repoPaths = concatStringsSep ":" cfg.repoPaths; +in +{ + options.programs.dev-commit = { + enable = mkEnableOption "Enable dev-commit"; + + repoPaths = mkOption { + default = [ ]; + description = "A list of repository paths that should have automated commits"; + type = types.listOf types.path; + }; + + schedule = mkOption { + type = types.submodule { + options = { + enable = mkEnableOption "Enable automated dev commits with systemd"; + + time = mkOption { + description = '' + Time expression for when to run the dev-commit job. + + This uses systemd's `OnCalendar` syntax. + + Examples: + - "hourly" (once every hour) + - "daily" (once per day at midnight) + - "Mon *-*-01 12:00:00" (every Monday at 12:00 PM) + + See `man systemd.time` for full syntax reference. + ''; + default = "hourly"; + type = types.str; + }; + }; + }; + + default = { + enable = false; + time = "hourly"; + }; + }; + }; + + config = mkIf cfg.enable { + home = { + packages = [ + pkgs.dev-commit + ]; + + sessionVariables.DEV_COMMIT_PATHS = repoPaths; + }; + + systemd.user = mkIf cfg.schedule.enable { + services.dev-commit = { + Install.WantedBy = [ "default.target" ]; + + Service = { + Environment = [ + "DEV_COMMIT_PATHS=${repoPaths}" + ]; + + ExecStart = "${lib.getExe pkgs.dev-commit}"; + + Type = "oneshot"; + }; + + Unit.Description = "dev-commit"; + }; + + timers.dev-commit = { + Install.WantedBy = [ "timers.target" ]; + + Timer = { + OnCalendar = cfg.schedule.time; + Persistent = true; + Unit = "dev-commit.service"; + }; + + Unit.Description = "Runs automated development commits in select project repositories."; + }; + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 4b6217da..a47e9dfa 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -8,6 +8,7 @@ in { backup-websites = callPackage ./backup-websites.nix { }; build-glove80 = callPackage ./build-glove80.nix { }; + dev-commit = callPackage ./dev-commit.nix { }; displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; diff --git a/pkgs/dev-commit.nix b/pkgs/dev-commit.nix new file mode 100644 index 00000000..dfe4336a --- /dev/null +++ b/pkgs/dev-commit.nix @@ -0,0 +1,26 @@ +{ pkgs, ... }: + +pkgs.writeShellApplication { + name = "dev-commit"; + + runtimeInputs = with pkgs; [ + coreutils + git + openssh + ]; + + text = '' + IFS=':' read -ra repos <<< "$DEV_COMMIT_PATHS" + + for repo in "''${repos[@]}"; do + echo "Processing $repo" + pushd "$repo" + + git add . + git commit -m "Automated dev commit" || true + git push + + popd + done + ''; +} From dd16cbda7b5cebeb6133c3bdf08c723f1849aa7e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 14:36:30 +0100 Subject: [PATCH 1748/2258] Add oliverdavies.uk-tome repository --- home/opdavies/t480.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index e36cdfb8..c4e896fd 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -77,6 +77,7 @@ in [ "${personal}/nix-config" + "${personal}/oliverdavies.uk-tome" "${personal}/opentofu-dns" ]; From 84dc5ff4e70fd8dc0b343ef00d883aed94b5f2bf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 14:55:08 +0100 Subject: [PATCH 1749/2258] Add vim and tree --- hosts/nixedo/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index ebcbb655..0ac6886e 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -2,6 +2,8 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). +{ pkgs, ... }: + { imports = [ ../common @@ -43,4 +45,9 @@ 80 443 ]; + + environment.systemPackages = with pkgs; [ + tree + vim + ]; } From 42b1fd748ae1cb74db590ef8909c59d1c711394f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 15:00:05 +0100 Subject: [PATCH 1750/2258] Automated dev commit --- hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix index 3b3d0d46..108d132e 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix @@ -60,7 +60,11 @@ in ''; }; - "oliverdavies.uk".globalRedirect = "www.oliverdavies.uk"; + "oliverdavies.uk" = { + forceSSL = true; + globalRedirect = "www.oliverdavies.uk"; + useACMEHost = "oliverdavies.uk"; + }; }; cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { From 00e8cc2170b4f5ee428bed99ae1f9c6805415e48 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 15:03:47 +0100 Subject: [PATCH 1751/2258] Automated dev commit --- home/opdavies/t480.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index c4e896fd..005a4797 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -81,7 +81,10 @@ "${personal}/opentofu-dns" ]; - schedule.enable = true; + schedule = { + enable = true; + time = "daily"; + }; }; xdg.configFile."pam-gnupg".text = '' From 4338b28c1c1e0cc09cb674853f777e7478024206 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 29 Apr 2025 23:54:55 +0100 Subject: [PATCH 1752/2258] Add tome.oliverdavies.uk virtual host --- hosts/nixedo/modules/acme.nix | 1 + .../modules/nginx/www.oliverdavies.uk.nix | 47 +++++++++++++++---- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 8ebfb456..a21f9720 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -31,6 +31,7 @@ "rebuilding-symfony.oliverdavies.uk" "tailwindcss-demo.oliverdavies.uk" "talking-drupal-tailwindcss.oliverdavies.uk" + "tome.oliverdavies.uk" "uptime.oliverdavies.uk" "wp-tailwind.oliverdavies.uk" "www.oliverdavies.uk" diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix index 108d132e..600b4ed1 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix @@ -7,23 +7,29 @@ let map (r: "rewrite ^${r.from}/?$ ${r.to} redirect;") redirects ); - tomePaths = [ - "core" - "examples" - "sites/default/files" - "themes/custom/opdavies" - "tome-test" - ]; + tome = { + root = "/var/www/vhosts/website-tome"; + + paths = [ + "core" + "examples" + "sites/default/files" + "themes/custom/opdavies" + "tome-test" + ]; + + port = 8098; + }; tomeLocations = builtins.listToAttrs ( map (path: { name = "/${path}"; value = { - root = "/var/www/vhosts/website-tome"; + root = tome.root; tryFiles = "$uri $uri.html $uri/index.html =404"; }; - }) tomePaths + }) tome.paths ); in { @@ -65,11 +71,34 @@ in globalRedirect = "www.oliverdavies.uk"; useACMEHost = "oliverdavies.uk"; }; + + "tome.oliverdavies.uk" = { + listen = [ + { + addr = "localhost"; + port = tome.port; + } + ]; + + locations."/".tryFiles = "$uri $uri.html $uri/index.html =404"; + + root = tome.root; + + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + + port_in_redirect off; + + # Remove trailing slashes. + rewrite ^/(.*)/$ /$1 permanent; + ''; + }; }; cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { ingress = { "oliverdavies.uk" = "http://localhost:${toString port}"; + "tome.oliverdavies.uk" = "http://localhost:${toString tome.port}"; "www.oliverdavies.uk" = "http://localhost:${toString port}"; }; }; From 0fa5b750d139c15207d07b622769b70f00b91977 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 03:13:09 +0100 Subject: [PATCH 1753/2258] Enable automatic updates on boys' laptops --- hosts/lemp11/configuration.nix | 2 ++ hosts/t490/configuration.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 9346e79d..09226cce 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -50,4 +50,6 @@ git vscodium ]; + + system.autoUpgrade.enable = true; } diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index e83c838f..5397654d 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -57,4 +57,6 @@ networking.hosts = { "192.168.1.116" = [ "nixedo" ]; }; + + system.autoUpgrade.enable = true; } From e6f269b12348774a7f4787f8f6f673c2e4d36a15 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 01:27:56 +0100 Subject: [PATCH 1754/2258] Refactor Nginx vhosts and ports --- hosts/nixedo/modules/nginx/ports.nix | 15 ++++ hosts/nixedo/modules/nginx/sites.nix | 110 +++++++-------------------- 2 files changed, 44 insertions(+), 81 deletions(-) create mode 100644 hosts/nixedo/modules/nginx/ports.nix diff --git a/hosts/nixedo/modules/nginx/ports.nix b/hosts/nixedo/modules/nginx/ports.nix new file mode 100644 index 00000000..fb75d455 --- /dev/null +++ b/hosts/nixedo/modules/nginx/ports.nix @@ -0,0 +1,15 @@ +{ + bootstrap-with-tailwind = 8081; + eric = 8084; + florida-drupalcamp-tailwind-css = 8083; + luke = 8094; + phpsw-sculpin-demo = 8085; + rebuilding-acquia = 8086; + rebuilding-bartik = 8087; + rebuilding-bristol-js = 8088; + rebuilding-symfony = 8089; + tailwindcss-demo = 8090; + talking-drupal-tailwindcss = 8093; + wp-tailwind = 8091; + zet = 8092; +} diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 30c344c2..30b8a1d5 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -1,87 +1,35 @@ -[ - { - url = "bootstrap-with-tailwind.oliverdavies.uk"; - root = "/var/www/vhosts/bootstrap-with-tailwind"; - port = 8081; - } +let + baseDomain = "oliverdavies.uk"; - { - port = 8084; - root = "/var/www/vhosts/eric/public"; - url = "eric.oliverdavies.uk"; + ports = import ./ports.nix; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - } + mkSite = + name: overrides: + let + root = "/var/www/vhosts/${name}" + (overrides.rootSuffix or ""); + in + { + inherit root; - { - port = 8083; - root = "/var/www/vhosts/florida-drupalcamp-tailwind-css"; - url = "florida-drupalcamp-tailwind-css.oliverdavies.uk"; - } + port = ports.${name}; + url = "${name}.${baseDomain}"; + } + // overrides; - { - port = 8094; - root = "/var/www/vhosts/luke"; - url = "luke.oliverdavies.uk"; + sites = [ + (mkSite "eric" { + rootSuffix = "/public"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - } + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }) - { - port = 8085; - root = "/var/www/vhosts/phpsw-sculpin-demo"; - url = "phpsw-sculpin-demo.oliverdavies.uk"; - } - - { - port = 8086; - root = "/var/www/vhosts/rebuilding-acquia"; - url = "rebuilding-acquia.oliverdavies.uk"; - } - - { - port = 8087; - root = "/var/www/vhosts/rebuilding-bartik"; - url = "rebuilding-bartik.oliverdavies.uk"; - } - - { - port = 8088; - root = "/var/www/vhosts/rebuilding-bristol-js"; - url = "rebuilding-bristol-js.oliverdavies.uk"; - } - - { - port = 8089; - root = "/var/www/vhosts/rebuilding-symfony"; - url = "rebuilding-symfony.oliverdavies.uk"; - } - - { - port = 8090; - root = "/var/www/vhosts/tailwindcss-demo"; - url = "tailwindcss-demo.oliverdavies.uk"; - } - - { - port = 8091; - root = "/var/www/vhosts/wp-tailwind"; - url = "wp-tailwind.oliverdavies.uk"; - } - - { - port = 8092; - root = "/var/www/vhosts/zet"; - url = "zet.oliverdavies.uk"; - } - - { - port = 8093; - root = "/var/www/vhosts/talking-drupal-tailwindcss"; - url = "talking-drupal-tailwindcss.oliverdavies.uk"; - } -] + (mkSite "luke" { + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }) + ]; +in +sites From fe508bd1277ce24806e40c6fc7ebd332e531daa5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 01:10:02 +0100 Subject: [PATCH 1755/2258] Refactor homelab modules --- hosts/nixedo/configuration.nix | 22 ++++++++- hosts/nixedo/modules/audiobookshelf.nix | 35 ++++++++++----- hosts/nixedo/modules/default.nix | 13 ++++++ hosts/nixedo/modules/forgejo.nix | 52 ++++++++++++++-------- hosts/nixedo/modules/immich.nix | 21 ++++++--- hosts/nixedo/modules/jellyfin.nix | 39 +++++++++++----- hosts/nixedo/modules/paperless.nix | 39 ++++++++++------ hosts/nixedo/services/homepage/default.nix | 50 ++++++++++++++++----- hosts/nixedo/services/uptime-kuma.nix | 36 +++++++++++---- 9 files changed, 224 insertions(+), 83 deletions(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 0ac6886e..2e734bdf 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -19,7 +19,27 @@ core.openssh.enable = true; cli.podman.enable = true; desktop.dconf.enable = true; - homelab.immich.enable = true; + + homelab = { + enable = true; + + baseDomain = "oliverdavies.uk"; + + services = { + audiobookshelf.enable = true; + + forgejo = { + enable = true; + + cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; + }; + + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + uptime-kuma.enable = true; + }; + }; }; services.logind.lidSwitchExternalPower = "ignore"; diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index ab549071..a5a6827d 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -1,23 +1,34 @@ -{ config, ... }: +{ config, lib, ... }: + +with lib; let - cfg = config.services.audiobookshelf; + cfg = homelab.services.${service}; + homelab = config.nixosModules.homelab; + service = "audiobookshelf"; in { - services = { - audiobookshelf = { - enable = true; + options.nixosModules.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; - port = 4001; + url = mkOption { + default = "audiobookshelf.${homelab.baseDomain}"; + type = types.str; }; + }; - nginx.virtualHosts."audiobookshelf.oliverdavies.uk" = { - forceSSL = true; - useACMEHost = "oliverdavies.uk"; + config = mkIf cfg.enable { + services = { + ${service}.enable = true; - locations."/" = { - proxyPass = "http://localhost:${toString cfg.port}"; - recommendedProxySettings = true; + nginx.virtualHosts.${cfg.url} = { + forceSSL = true; + useACMEHost = homelab.baseDomain; + + locations."/" = { + proxyPass = "http://localhost:${toString cfg.port}"; + recommendedProxySettings = true; + }; }; }; }; diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index c7553e34..8f0dae44 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -1,4 +1,17 @@ +{ lib, ... }: + +with lib; + { + options.nixosModules.homelab = { + enable = mkEnableOption "Enable homelab services and configuration"; + + baseDomain = mkOption { + description = "The base domain to use for this homelab."; + type = types.str; + }; + }; + imports = [ ./acme.nix ./audiobookshelf.nix diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 501b6147..f1c117dd 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -1,26 +1,42 @@ -{ config, ... }: +{ config, lib, ... }: +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.nixosModules.homelab; + service = "forgejo"; +in { - services = { - forgejo = { - enable = true; - stateDir = "/var/www/forgejo"; + options.nixosModules.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; - settings = { - server = { - DOMAIN = "code.oliverdavies.uk"; - HTTP_PORT = 2223; - }; - - service = { - DISABLE_REGISTRATION = true; - }; - }; + cloudflared.tunnelId = mkOption { + example = "00000000-0000-0000-0000-000000000000"; + type = types.str; }; - cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466".ingress = { - "code.oliverdavies.uk" = - "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; + url = mkOption { + default = "code.${homelab.baseDomain}"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + ${service} = { + enable = true; + stateDir = "/var/www/${service}"; + + settings = { + server.DOMAIN = cfg.url; + service.DISABLE_REGISTRATION = true; + }; + }; + + cloudflared.tunnels.${cfg.cloudflared.tunnelId}.ingress = { + ${cfg.url} = "http://localhost:${toString config.services.${service}.settings.server.HTTP_PORT}"; + }; }; }; } diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index 011943ac..1243efd7 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -8,24 +8,31 @@ with lib; let - cfg = config.nixosModules.homelab.immich; + cfg = homelab.services.${service}; + homelab = config.nixosModules.homelab; + service = "immich"; in { - options.nixosModules.homelab.immich = { - enable = mkEnableOption "Enable immich"; + options.nixosModules.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "photos.${homelab.baseDomain}"; + type = types.str; + }; }; config = mkIf cfg.enable { services = { - immich = { + ${service} = { enable = true; group = "media"; - mediaLocation = "/mnt/media/immich"; + mediaLocation = "/mnt/media/${service}"; }; - nginx.virtualHosts."photos.oliverdavies.uk" = { + nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = "oliverdavies.uk"; + useACMEHost = homelab.baseDomain; locations."/" = { proxyPass = "http://localhost:${toString config.services.immich.port}"; diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index d78c3c95..74d482c3 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -1,22 +1,38 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.nixosModules.homelab; + service = "jellyfin"; +in { - services = - let - port = 8096; - in - { - jellyfin = { + options.nixosModules.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "${service}.${homelab.baseDomain}"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + ${service} = { enable = true; - openFirewall = true; + + configDir = "/mnt/media/${service}"; group = "media"; - configDir = "/mnt/media/jellyfin"; + openFirewall = true; }; - nginx.virtualHosts."jellyfin.oliverdavies.uk" = { + nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = "oliverdavies.uk"; + useACMEHost = homelab.baseDomain; locations."/" = { - proxyPass = "http://localhost:${toString port}"; + proxyPass = "http://localhost:8096"; recommendedProxySettings = true; extraConfig = '' @@ -25,4 +41,5 @@ }; }; }; + }; } diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 4d5ace69..ee82ea1a 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -1,30 +1,43 @@ -{ config, ... }: +{ config, lib, ... }: +with lib; + +let + cfg = homelab.services.paperless; + homelab = config.nixosModules.homelab; + service = "paperless"; +in { - services = - let - cfg = config.services.paperless; - hostname = "paperless.oliverdavies.uk"; - in - { - paperless = { + options.nixosModules.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "${service}.${homelab.baseDomain}"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + ${service} = { enable = true; - dataDir = "/mnt/media/paperless"; + dataDir = "/mnt/media/${service}"; settings = { - PAPERLESS_URL = "https://${hostname}"; + PAPERLESS_URL = "https://${cfg.url}"; }; }; - nginx.virtualHosts."${hostname}" = { + nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = "oliverdavies.uk"; + useACMEHost = homelab.baseDomain; locations."/" = { - proxyPass = "http://localhost:${toString cfg.port}"; + proxyPass = "http://localhost:${toString config.services.${service}.port}"; recommendedProxySettings = true; }; }; }; + }; } diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 691b9021..e70475c6 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -1,25 +1,51 @@ -{ config, ... }: - { - services = - let - cfg = config.services.homepage-dashboard; - in - { - homepage-dashboard = { + config, + lib, + options, + ... +}: + +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.homelab; + opts = options.services.${service}; + service = "homepage-dashboard"; +in +{ + options.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + port = mkOption { + default = opts.listenPort.default; + type = types.port; + }; + + url = mkOption { + default = "${config.networking.hostName}.${homelab.baseDomain}"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + ${service} = { enable = true; - listenPort = 8097; + listenPort = cfg.port; openFirewall = true; services = (import ./services.nix { inherit config; }); widgets = import ./widgets.nix; }; - nginx.virtualHosts."nixedo.oliverdavies.uk" = { + nginx.virtualHosts.${cfg.url} = { forceSSL = true; - useACMEHost = "oliverdavies.uk"; + useACMEHost = homelab.baseDomain; - locations."/".proxyPass = "http://localhost:${toString cfg.listenPort}"; + locations."/".proxyPass = + "http://localhost:${toString config.services.homepage-dashboard.listenPort}"; }; }; + }; } diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix index 6d022d2d..49403794 100644 --- a/hosts/nixedo/services/uptime-kuma.nix +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -1,16 +1,34 @@ -{ config, ... }: +{ config, lib, ... }: +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.nixosModules.homelab; + service = "uptime-kuma"; +in { - services = { - uptime-kuma.enable = true; + options.nixosModules.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; - nginx.virtualHosts."uptime.oliverdavies.uk" = { - forceSSL = true; - useACMEHost = "oliverdavies.uk"; + url = mkOption { + default = "uptime.${homelab.baseDomain}"; + type = types.str; + }; + }; - locations."/" = { - proxyPass = "http://localhost:${toString config.services.uptime-kuma.settings.PORT}"; - recommendedProxySettings = true; + config = mkIf cfg.enable { + services = { + ${service}.enable = true; + + nginx.virtualHosts.${cfg.url} = { + forceSSL = true; + useACMEHost = homelab.baseDomain; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.${service}.settings.PORT}"; + recommendedProxySettings = true; + }; }; }; }; From bb9b77e2f8ff834ca91c34d409fb7d8c437e171d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 03:09:17 +0100 Subject: [PATCH 1756/2258] Update config and option names for modules --- home/opdavies/PW05CH3L.nix | 4 ++-- home/opdavies/lemp11.nix | 2 +- home/opdavies/nixedo.nix | 2 +- home/opdavies/t480.nix | 4 ++-- hosts/PW05CH3L/configuration.nix | 2 +- hosts/lemp11/configuration.nix | 2 +- hosts/nixedo/configuration.nix | 24 ++----------------- hosts/nixedo/homelab.nix | 22 +++++++++++++++++ hosts/nixedo/modules/audiobookshelf.nix | 6 ++--- hosts/nixedo/modules/default.nix | 2 +- hosts/nixedo/modules/forgejo.nix | 4 ++-- hosts/nixedo/modules/immich.nix | 4 ++-- hosts/nixedo/modules/jellyfin.nix | 4 ++-- hosts/nixedo/modules/paperless.nix | 4 ++-- hosts/nixedo/services/homepage/default.nix | 4 ++-- hosts/nixedo/services/uptime-kuma.nix | 4 ++-- hosts/t480/configuration.nix | 2 +- hosts/t490/configuration.nix | 2 +- hosts/t490/services/redshift.nix | 4 ++-- modules/home-manager/cli/bluetuith.nix | 4 ++-- modules/home-manager/cli/direnv.nix | 4 ++-- modules/home-manager/cli/fzf.nix | 4 ++-- modules/home-manager/cli/git.nix | 4 ++-- modules/home-manager/cli/node.nix | 4 ++-- modules/home-manager/cli/notes.nix | 4 ++-- modules/home-manager/cli/ranger.nix | 4 ++-- modules/home-manager/cli/starship.nix | 4 ++-- modules/home-manager/cli/tmux-sessionizer.nix | 4 ++-- modules/home-manager/cli/tmux.nix | 4 ++-- modules/home-manager/cli/zsh/default.nix | 4 ++-- .../home-manager/coding/neovim/default.nix | 4 ++-- .../home-manager/coding/phpactor/default.nix | 4 ++-- .../home-manager/desktop/browsers/firefox.nix | 4 ++-- .../desktop/browsers/qutebrowser.nix | 4 ++-- modules/home-manager/desktop/flameshot.nix | 4 ++-- modules/home-manager/desktop/gtk.nix | 4 ++-- .../home-manager/desktop/media/handbrake.nix | 4 ++-- .../home-manager/desktop/media/makemkv.nix | 4 ++-- modules/home-manager/desktop/media/mpv.nix | 4 ++-- modules/nixos/cli/docker.nix | 4 ++-- modules/nixos/cli/password-store.nix | 4 ++-- modules/nixos/cli/podman.nix | 4 ++-- modules/nixos/core/bluetooth.nix | 4 ++-- modules/nixos/core/openssh.nix | 4 ++-- modules/nixos/core/pipewire.nix | 4 ++-- modules/nixos/core/xbanish.nix | 4 ++-- modules/nixos/core/zram.nix | 4 ++-- modules/nixos/desktop/dconf.nix | 4 ++-- modules/nixos/desktop/dwm/default.nix | 4 ++-- modules/nixos/desktop/fonts.nix | 4 ++-- modules/nixos/desktop/media/makemkv.nix | 4 ++-- modules/nixos/desktop/st.nix | 4 ++-- modules/nixos/desktop/thunar.nix | 4 ++-- users/opdavies.nix | 4 ++-- 54 files changed, 122 insertions(+), 120 deletions(-) create mode 100644 hosts/nixedo/homelab.nix diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index c4d568b0..44720f29 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -3,7 +3,7 @@ { imports = [ ../common ]; - homeManagerModules = { + features = { cli = { direnv.enable = true; fzf.enable = true; @@ -28,7 +28,7 @@ repos = extraConfig.XDG_REPOS_DIR; in - options.homeManagerModules.cli.tmux-sessionizer.directories.default + options.features.cli.tmux-sessionizer.directories.default ++ [ repos "${repos}/*" diff --git a/home/opdavies/lemp11.nix b/home/opdavies/lemp11.nix index 5eff15a1..1917a2db 100644 --- a/home/opdavies/lemp11.nix +++ b/home/opdavies/lemp11.nix @@ -1,7 +1,7 @@ { imports = [ ../common ]; - homeManagerModules = { + features = { cli.zsh.enable = true; desktop.media = { diff --git a/home/opdavies/nixedo.nix b/home/opdavies/nixedo.nix index f53a457f..51ddf98a 100644 --- a/home/opdavies/nixedo.nix +++ b/home/opdavies/nixedo.nix @@ -1,7 +1,7 @@ { imports = [ ../common ]; - homeManagerModules = { + features = { cli = { fzf.enable = true; starship.enable = true; diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 005a4797..c3fb435c 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -3,7 +3,7 @@ { imports = [ ../common ]; - homeManagerModules = { + features = { cli = { bluetuith.enable = true; direnv.enable = true; @@ -30,7 +30,7 @@ repos = extraConfig.XDG_REPOS_DIR; in - options.homeManagerModules.cli.tmux-sessionizer.directories.default + options.features.cli.tmux-sessionizer.directories.default ++ [ repos "${repos}/*" diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index b70e391f..ac37da82 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -7,7 +7,7 @@ ./modules/wiki.nix ]; - nixosModules = { + features = { cli = { docker.enable = true; password-store.enable = true; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 09226cce..b12683f7 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -11,7 +11,7 @@ ../../users/eric.nix ]; - nixosModules = { + features = { core = { bluetooth.enable = true; zram.enable = true; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 2e734bdf..349e0c7c 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -8,6 +8,7 @@ imports = [ ../common ./hardware-configuration.nix + ./homelab.nix ./modules ./secrets.nix ./services @@ -15,31 +16,10 @@ ../../users/opdavies.nix ]; - nixosModules = { + features = { core.openssh.enable = true; cli.podman.enable = true; desktop.dconf.enable = true; - - homelab = { - enable = true; - - baseDomain = "oliverdavies.uk"; - - services = { - audiobookshelf.enable = true; - - forgejo = { - enable = true; - - cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; - }; - - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - uptime-kuma.enable = true; - }; - }; }; services.logind.lidSwitchExternalPower = "ignore"; diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix new file mode 100644 index 00000000..5dcd6ab8 --- /dev/null +++ b/hosts/nixedo/homelab.nix @@ -0,0 +1,22 @@ +{ + features.homelab = { + enable = true; + + baseDomain = "oliverdavies.uk"; + + services = { + audiobookshelf.enable = true; + + forgejo = { + enable = true; + + cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; + }; + + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + uptime-kuma.enable = true; + }; + }; +} diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index a5a6827d..2a88a638 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.nixosModules.homelab; + homelab = config.features.homelab; service = "audiobookshelf"; in { - options.nixosModules.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { @@ -26,7 +26,7 @@ in useACMEHost = homelab.baseDomain; locations."/" = { - proxyPass = "http://localhost:${toString cfg.port}"; + proxyPass = "http://localhost:${toString config.services.${service}.port}"; recommendedProxySettings = true; }; }; diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index 8f0dae44..2211cebd 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -3,7 +3,7 @@ with lib; { - options.nixosModules.homelab = { + options.features.homelab = { enable = mkEnableOption "Enable homelab services and configuration"; baseDomain = mkOption { diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index f1c117dd..b2c39e22 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.nixosModules.homelab; + homelab = config.features.homelab; service = "forgejo"; in { - options.nixosModules.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; cloudflared.tunnelId = mkOption { diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index 1243efd7..f6e66b25 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -9,11 +9,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.nixosModules.homelab; + homelab = config.features.homelab; service = "immich"; in { - options.nixosModules.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 74d482c3..2f21da3e 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.nixosModules.homelab; + homelab = config.features.homelab; service = "jellyfin"; in { - options.nixosModules.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index ee82ea1a..fd048246 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.paperless; - homelab = config.nixosModules.homelab; + homelab = config.features.homelab; service = "paperless"; in { - options.nixosModules.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index e70475c6..2b6a3a78 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -9,12 +9,12 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.homelab; + homelab = config.features.homelab; opts = options.services.${service}; service = "homepage-dashboard"; in { - options.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; port = mkOption { diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix index 49403794..01f7fe1a 100644 --- a/hosts/nixedo/services/uptime-kuma.nix +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.nixosModules.homelab; + homelab = config.features.homelab; service = "uptime-kuma"; in { - options.nixosModules.homelab.services.${service} = { + options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index abe55209..19f452bd 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,7 +12,7 @@ ../../users/opdavies.nix ]; - nixosModules = { + features = { cli.password-store = { enable = true; diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 5397654d..e9ba6f63 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -13,7 +13,7 @@ ../../users/opdavies.nix ]; - nixosModules = { + features = { core = { bluetooth.enable = true; zram.enable = true; diff --git a/hosts/t490/services/redshift.nix b/hosts/t490/services/redshift.nix index 3fcfdf4f..2bd9d4a1 100644 --- a/hosts/t490/services/redshift.nix +++ b/hosts/t490/services/redshift.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.redshift; + cfg = config.features.redshift; in { - options.nixosModules.redshift.enable = mkEnableOption "Enable redshift"; + options.features.redshift.enable = mkEnableOption "Enable redshift"; config = mkIf cfg.enable { location = { diff --git a/modules/home-manager/cli/bluetuith.nix b/modules/home-manager/cli/bluetuith.nix index f07399d0..fff34766 100644 --- a/modules/home-manager/cli/bluetuith.nix +++ b/modules/home-manager/cli/bluetuith.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.cli.bluetuith; + cfg = config.features.cli.bluetuith; in { - options.homeManagerModules.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/cli/direnv.nix b/modules/home-manager/cli/direnv.nix index cc8d0988..7c8d924b 100644 --- a/modules/home-manager/cli/direnv.nix +++ b/modules/home-manager/cli/direnv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.cli.direnv; + cfg = config.features.cli.direnv; in { - options.homeManagerModules.cli.direnv.enable = mkEnableOption "Enable direnv"; + options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; config = mkIf cfg.enable { programs.direnv = { diff --git a/modules/home-manager/cli/fzf.nix b/modules/home-manager/cli/fzf.nix index 9e61d277..aae36ec1 100644 --- a/modules/home-manager/cli/fzf.nix +++ b/modules/home-manager/cli/fzf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.cli.fzf; + cfg = config.features.cli.fzf; in { - options.homeManagerModules.cli.fzf.enable = mkEnableOption "Enable fzf"; + options.features.cli.fzf.enable = mkEnableOption "Enable fzf"; config = mkIf cfg.enable { programs.fzf = { diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 76292a73..5c678b0d 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.cli.git; + cfg = config.features.cli.git; in { - options.homeManagerModules.cli.git = { + options.features.cli.git = { enable = mkEnableOption "Enable git"; user = mkOption { diff --git a/modules/home-manager/cli/node.nix b/modules/home-manager/cli/node.nix index 443719da..fba772c1 100644 --- a/modules/home-manager/cli/node.nix +++ b/modules/home-manager/cli/node.nix @@ -3,12 +3,12 @@ with lib; let - cfg = config.homeManagerModules.cli.node; + cfg = config.features.cli.node; inherit (config.xdg) configHome dataHome stateHome; in { - options.homeManagerModules.cli.node.enable = mkEnableOption "Enable node"; + options.features.cli.node.enable = mkEnableOption "Enable node"; config = mkIf cfg.enable { xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix index 1125daab..686e2e09 100644 --- a/modules/home-manager/cli/notes.nix +++ b/modules/home-manager/cli/notes.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.cli.notes; + cfg = config.features.cli.notes; in { - options.homeManagerModules.cli.notes.enable = mkEnableOption "Enable notes"; + options.features.cli.notes.enable = mkEnableOption "Enable notes"; config = mkIf cfg.enable { xdg = { diff --git a/modules/home-manager/cli/ranger.nix b/modules/home-manager/cli/ranger.nix index 0b3d1a59..8fdc10cb 100644 --- a/modules/home-manager/cli/ranger.nix +++ b/modules/home-manager/cli/ranger.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.cli.ranger; + cfg = config.features.cli.ranger; in { - options.homeManagerModules.cli.ranger.enable = mkEnableOption "Enable ranger"; + options.features.cli.ranger.enable = mkEnableOption "Enable ranger"; config = mkIf cfg.enable { programs.ranger.enable = true; diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix index da07eaf7..57cc4f6d 100644 --- a/modules/home-manager/cli/starship.nix +++ b/modules/home-manager/cli/starship.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.cli.starship; + cfg = config.features.cli.starship; in { - options.homeManagerModules.cli.starship.enable = mkEnableOption "Enable starship"; + options.features.cli.starship.enable = mkEnableOption "Enable starship"; config = mkIf cfg.enable { programs.starship = diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 25748f45..5d945da3 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.cli.tmux-sessionizer; + cfg = config.features.cli.tmux-sessionizer; in { - options.homeManagerModules.cli.tmux-sessionizer = { + options.features.cli.tmux-sessionizer = { enable = mkEnableOption "Enable tmux-sessionizer"; directories = mkOption { diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix index d535e977..4ecf7d10 100644 --- a/modules/home-manager/cli/tmux.nix +++ b/modules/home-manager/cli/tmux.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.cli.tmux; + cfg = config.features.cli.tmux; in { - options.homeManagerModules.cli.tmux.enable = mkEnableOption "Enable tmux"; + options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; config = mkIf cfg.enable { programs.tmux = { diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index 92ffe198..ab60177c 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.cli.zsh; + cfg = config.features.cli.zsh; in { - options.homeManagerModules.cli.zsh.enable = mkEnableOption "Enable zsh"; + options.features.cli.zsh.enable = mkEnableOption "Enable zsh"; config = mkIf cfg.enable { programs.zsh = { diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index ab3b1a1e..bd0b5b4c 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.coding.neovim; + cfg = config.features.coding.neovim; in { - options.homeManagerModules.coding.neovim.enable = mkEnableOption "Enable neovim"; + options.features.coding.neovim.enable = mkEnableOption "Enable neovim"; config = mkIf cfg.enable { programs.neovim = diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/coding/phpactor/default.nix index 0b6063cc..32eea21d 100644 --- a/modules/home-manager/coding/phpactor/default.nix +++ b/modules/home-manager/coding/phpactor/default.nix @@ -6,10 +6,10 @@ }: let - cfg = config.homeManagerModules.coding.phpactor; + cfg = config.features.coding.phpactor; in { - options.homeManagerModules.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; + options.features.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; config = lib.mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/browsers/firefox.nix b/modules/home-manager/desktop/browsers/firefox.nix index dc3b2d1c..dbee93d6 100644 --- a/modules/home-manager/desktop/browsers/firefox.nix +++ b/modules/home-manager/desktop/browsers/firefox.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.browsers.firefox; + cfg = config.features.desktop.browsers.firefox; in { - options.homeManagerModules.desktop.browsers.firefox = { + options.features.desktop.browsers.firefox = { enable = mkEnableOption "Enable firefox"; homepageUrl = mkOption { diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix index 9ca0631d..ff115fe7 100644 --- a/modules/home-manager/desktop/browsers/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.browsers.qutebrowser; + cfg = config.features.desktop.browsers.qutebrowser; in { - options.homeManagerModules.desktop.browsers.qutebrowser.enable = + options.features.desktop.browsers.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; config = mkIf cfg.enable { diff --git a/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/desktop/flameshot.nix index 6e41de30..bf0ba018 100644 --- a/modules/home-manager/desktop/flameshot.nix +++ b/modules/home-manager/desktop/flameshot.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.flameshot; + cfg = config.features.desktop.flameshot; in { - options.homeManagerModules.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; config = mkIf cfg.enable { services.flameshot = { diff --git a/modules/home-manager/desktop/gtk.nix b/modules/home-manager/desktop/gtk.nix index f888d894..3f737bc7 100644 --- a/modules/home-manager/desktop/gtk.nix +++ b/modules/home-manager/desktop/gtk.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.gtk; + cfg = config.features.desktop.gtk; in { - options.homeManagerModules.desktop.gtk.enable = mkEnableOption "Enable gtk"; + options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; config = mkIf cfg.enable { gtk = with pkgs; { diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix index 2f5929a7..e9e0c65b 100644 --- a/modules/home-manager/desktop/media/handbrake.nix +++ b/modules/home-manager/desktop/media/handbrake.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.media.handbrake; + cfg = config.features.desktop.media.handbrake; in { - options.homeManagerModules.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/media/makemkv.nix b/modules/home-manager/desktop/media/makemkv.nix index 1bb55102..01ee6c04 100644 --- a/modules/home-manager/desktop/media/makemkv.nix +++ b/modules/home-manager/desktop/media/makemkv.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.media.makemkv; + cfg = config.features.desktop.media.makemkv; in { - options.homeManagerModules.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix index 25efa494..1da587e7 100644 --- a/modules/home-manager/desktop/media/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.homeManagerModules.desktop.media.mpv; + cfg = config.features.desktop.media.mpv; in { - options.homeManagerModules.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; + options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; config = mkIf cfg.enable { programs.mpv = { diff --git a/modules/nixos/cli/docker.nix b/modules/nixos/cli/docker.nix index e73fd3c7..916a7cae 100644 --- a/modules/nixos/cli/docker.nix +++ b/modules/nixos/cli/docker.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.cli.docker; + cfg = config.features.cli.docker; in { - options.nixosModules.cli.docker.enable = mkEnableOption "Enable docker"; + options.features.cli.docker.enable = mkEnableOption "Enable docker"; config = mkIf cfg.enable { virtualisation = { diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/cli/password-store.nix index 97f3a494..61331aee 100644 --- a/modules/nixos/cli/password-store.nix +++ b/modules/nixos/cli/password-store.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.nixosModules.cli.password-store; + cfg = config.features.cli.password-store; in { - options.nixosModules.cli.password-store = { + options.features.cli.password-store = { enable = mkEnableOption "Enable pass"; extensions = mkOption { diff --git a/modules/nixos/cli/podman.nix b/modules/nixos/cli/podman.nix index 5c325e2d..edda7492 100644 --- a/modules/nixos/cli/podman.nix +++ b/modules/nixos/cli/podman.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.cli.podman; + cfg = config.features.cli.podman; in { - options.nixosModules.cli.podman.enable = mkEnableOption "Enable podman"; + options.features.cli.podman.enable = mkEnableOption "Enable podman"; config = mkIf cfg.enable { virtualisation = { diff --git a/modules/nixos/core/bluetooth.nix b/modules/nixos/core/bluetooth.nix index f53229cf..dbf51398 100644 --- a/modules/nixos/core/bluetooth.nix +++ b/modules/nixos/core/bluetooth.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.core.bluetooth; + cfg = config.features.core.bluetooth; in { - options.nixosModules.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; + options.features.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; config = mkIf cfg.enable { hardware.bluetooth.enable = true; diff --git a/modules/nixos/core/openssh.nix b/modules/nixos/core/openssh.nix index 2f5ca9a0..3d09487e 100644 --- a/modules/nixos/core/openssh.nix +++ b/modules/nixos/core/openssh.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.core.openssh; + cfg = config.features.core.openssh; in { - options.nixosModules.core.openssh.enable = mkEnableOption "Enable openssh"; + options.features.core.openssh.enable = mkEnableOption "Enable openssh"; config = mkIf cfg.enable { services.openssh = { diff --git a/modules/nixos/core/pipewire.nix b/modules/nixos/core/pipewire.nix index e4d18cae..557846bd 100644 --- a/modules/nixos/core/pipewire.nix +++ b/modules/nixos/core/pipewire.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.core.pipewire; + cfg = config.features.core.pipewire; in { - options.nixosModules.core.pipewire.enable = mkEnableOption "Enable pipewire"; + options.features.core.pipewire.enable = mkEnableOption "Enable pipewire"; config = mkIf cfg.enable { services.pipewire = { diff --git a/modules/nixos/core/xbanish.nix b/modules/nixos/core/xbanish.nix index 282211ac..723eeff9 100644 --- a/modules/nixos/core/xbanish.nix +++ b/modules/nixos/core/xbanish.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.core.xbanish; + cfg = config.features.core.xbanish; in { - options.nixosModules.core.xbanish.enable = mkEnableOption "Enable xbanish"; + options.features.core.xbanish.enable = mkEnableOption "Enable xbanish"; config = mkIf cfg.enable { services.xbanish.enable = true; diff --git a/modules/nixos/core/zram.nix b/modules/nixos/core/zram.nix index 2ae366eb..a0d0046a 100644 --- a/modules/nixos/core/zram.nix +++ b/modules/nixos/core/zram.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.core.zram; + cfg = config.features.core.zram; in { - options.nixosModules.core.zram.enable = mkEnableOption "Enable zram"; + options.features.core.zram.enable = mkEnableOption "Enable zram"; config = mkIf cfg.enable { zramSwap = { diff --git a/modules/nixos/desktop/dconf.nix b/modules/nixos/desktop/dconf.nix index 49f76115..eebbfa2c 100644 --- a/modules/nixos/desktop/dconf.nix +++ b/modules/nixos/desktop/dconf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.desktop.dconf; + cfg = config.features.desktop.dconf; in { - options.nixosModules.desktop.dconf.enable = mkEnableOption "Enable dconf"; + options.features.desktop.dconf.enable = mkEnableOption "Enable dconf"; config = mkIf cfg.enable { programs.dconf.enable = true; diff --git a/modules/nixos/desktop/dwm/default.nix b/modules/nixos/desktop/dwm/default.nix index bf082ca7..2f9f4a40 100644 --- a/modules/nixos/desktop/dwm/default.nix +++ b/modules/nixos/desktop/dwm/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.nixosModules.desktop.dwm; + cfg = config.features.desktop.dwm; in { - options.nixosModules.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; config = mkIf cfg.enable { services = { diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix index ea2ca3f2..371b2fe1 100644 --- a/modules/nixos/desktop/fonts.nix +++ b/modules/nixos/desktop/fonts.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.nixosModules.desktop.fonts; + cfg = config.features.desktop.fonts; in { - options.nixosModules.desktop.fonts.enable = mkEnableOption "Enable fonts"; + options.features.desktop.fonts.enable = mkEnableOption "Enable fonts"; config = mkIf cfg.enable { fonts = { diff --git a/modules/nixos/desktop/media/makemkv.nix b/modules/nixos/desktop/media/makemkv.nix index 4a889934..a8560a50 100644 --- a/modules/nixos/desktop/media/makemkv.nix +++ b/modules/nixos/desktop/media/makemkv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.nixosModules.desktop.media.makemkv; + cfg = config.features.desktop.media.makemkv; in { - options.nixosModules.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; config = mkIf cfg.enable { boot.kernelModules = [ "sg" ]; diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix index 78dc3059..00e9b6e4 100644 --- a/modules/nixos/desktop/st.nix +++ b/modules/nixos/desktop/st.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.nixosModules.desktop.st; + cfg = config.features.desktop.st; in { - options.nixosModules.desktop.st.enable = mkEnableOption "Enable st"; + options.features.desktop.st.enable = mkEnableOption "Enable st"; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ diff --git a/modules/nixos/desktop/thunar.nix b/modules/nixos/desktop/thunar.nix index dcc99fcc..4e9676ab 100644 --- a/modules/nixos/desktop/thunar.nix +++ b/modules/nixos/desktop/thunar.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.nixosModules.desktop.thunar; + cfg = config.features.desktop.thunar; in { - options.nixosModules.desktop.thunar.enable = mkEnableOption "Enable thunar"; + options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; config = mkIf cfg.enable { programs.thunar = { diff --git a/users/opdavies.nix b/users/opdavies.nix index 7043c56c..275a315f 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -18,8 +18,8 @@ with lib; "networkmanager" "wheel" ] - ++ optional config.nixosModules.cli.docker.enable "docker" - ++ optional config.nixosModules.cli.podman.enable "podman"; + ++ optional config.features.cli.docker.enable "docker" + ++ optional config.features.cli.podman.enable "podman"; packages = with pkgs; [ qrencode From b0ddeff8ba5ffb8db81640fbe9bd4113d2b1d578 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 10:43:25 +0100 Subject: [PATCH 1757/2258] Import `lib` --- modules/home-manager/coding/phpactor/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/coding/phpactor/default.nix index 32eea21d..6563aab7 100644 --- a/modules/home-manager/coding/phpactor/default.nix +++ b/modules/home-manager/coding/phpactor/default.nix @@ -5,13 +5,15 @@ ... }: +with lib; + let cfg = config.features.coding.phpactor; in { options.features.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; - config = lib.mkIf cfg.enable { + config = mkIf cfg.enable { home.packages = with pkgs; [ phpactor ]; From bdf226d5f72e0b7a6b06b7f3f138f96f391f845b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 11:03:06 +0100 Subject: [PATCH 1758/2258] Re-enable homepage-dashboard --- hosts/nixedo/homelab.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 5dcd6ab8..3c4095e4 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -13,6 +13,12 @@ cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; }; + homepage-dashboard = { + enable = true; + + port = 8097; + }; + immich.enable = true; jellyfin.enable = true; paperless.enable = true; From a9cf2109a65a091a73fcb2f3b0655c4bb23948d9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 11:58:59 +0100 Subject: [PATCH 1759/2258] Move Homepage configuration into service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move each service's Homepage Dashboard configuration into its own module. Based on https://github.com/notthebee/nix-config/blob/892878506094fa2189aac0ae4e9d3aea3d0a2fbc/homelab/services/homepage/default.nix. See https://www.youtube.com/watch?v=f-x5cB6qCzA&t=1435s (What's on my Home Server 2025 – NixOS Edition). --- hosts/nixedo/modules/audiobookshelf.nix | 20 ++++++ hosts/nixedo/modules/immich.nix | 20 ++++++ hosts/nixedo/modules/jellyfin.nix | 20 ++++++ hosts/nixedo/modules/paperless.nix | 20 ++++++ hosts/nixedo/services/homepage/default.nix | 2 +- hosts/nixedo/services/homepage/services.nix | 80 +++++++-------------- hosts/nixedo/services/uptime-kuma.nix | 20 ++++++ 7 files changed, 127 insertions(+), 55 deletions(-) diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index 2a88a638..cd77ab28 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -15,6 +15,26 @@ in default = "audiobookshelf.${homelab.baseDomain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Audiobookshelf"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Self-hosted audiobook and podcast server"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "audiobookshelf"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Media"; + type = types.str; + }; }; config = mkIf cfg.enable { diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index f6e66b25..c43af72d 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -20,6 +20,26 @@ in default = "photos.${homelab.baseDomain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Immich"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Self-hosted photo and video management solution"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "immich"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Media"; + type = types.str; + }; }; config = mkIf cfg.enable { diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 2f21da3e..2831d9e8 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -15,6 +15,26 @@ in default = "${service}.${homelab.baseDomain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Jellyfin"; + type = types.str; + }; + + homepage.description = mkOption { + default = "The Free Software Media System"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "jellyfin"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Media"; + type = types.str; + }; }; config = mkIf cfg.enable { diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index fd048246..2b5af7bc 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -15,6 +15,26 @@ in default = "${service}.${homelab.baseDomain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Paperless-ngx"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Document management system"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "paperless"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Services"; + type = types.str; + }; }; config = mkIf cfg.enable { diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 2b6a3a78..26d7c84e 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -35,7 +35,7 @@ in listenPort = cfg.port; openFirewall = true; - services = (import ./services.nix { inherit config; }); + services = (import ./services.nix { inherit config lib; }); widgets = import ./widgets.nix; }; diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index bd261c2a..196ac3a5 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -1,60 +1,32 @@ -{ config }: +{ config, lib }: -[ - { - "Media" = [ - { - "Jellyfin" = { - href = "https://jellyfin.oliverdavies.uk"; - icon = "jellyfin"; - description = "The Free Software Media System"; - siteMonitor = "http://localhost:8096"; - }; - } +with lib; - { - "Immich" = { - href = "https://photos.oliverdavies.uk"; - icon = "immich"; - description = "Self-hosted photo and video management solution"; - siteMonitor = "http://localhost:${toString config.services.immich.port}"; - }; - } +let + homelab = config.features.homelab.services; - { - "Audiobookshelf" = { - href = "https://audiobookshelf.oliverdavies.uk"; - icon = "audiobookshelf"; - description = "Self-hosted audiobook and podcast server"; - siteMonitor = "http://localhost:4001"; - }; - } - ]; - } + homepageCategories = [ + "Media" + "Services" + ]; - { - "Services" = [ - { - "Uptime Kuma" = { - description = "A fancy self-hosted monitoring tool"; - href = "https://uptime.oliverdavies.uk"; - icon = "uptime-kuma"; - siteMonitor = "http://localhost:${toString config.services.uptime-kuma.settings.PORT}"; - }; - } + homepageServices = + category: + (attrsets.filterAttrs ( + name: value: value ? homepage && value.homepage.category == category + ) homelab); - { - "Paperless-ngx" = - let - cfg = config.services.paperless; - in - { - description = "Document management system"; - href = cfg.settings.PAPERLESS_URL; - icon = "paperless"; - siteMonitor = "http://localhost:${toString cfg.port}"; + services = lists.forEach homepageCategories (cat: { + "${cat}" = + lib.lists.forEach (lib.attrsets.mapAttrsToList (name: value: name) (homepageServices "${cat}")) + (x: { + "${homelab.${x}.homepage.name}" = { + icon = homelab.${x}.homepage.icon; + description = homelab.${x}.homepage.description; + href = "https://${homelab.${x}.url}"; + siteMonitor = "https://${homelab.${x}.url}"; }; - } - ]; - } -] + }); + }); +in +services diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix index 01f7fe1a..ac761d12 100644 --- a/hosts/nixedo/services/uptime-kuma.nix +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -15,6 +15,26 @@ in default = "uptime.${homelab.baseDomain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Uptime Kuma"; + type = types.str; + }; + + homepage.description = mkOption { + default = "A fancy self-hosted monitoring tool"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "uptime-kuma"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Services"; + type = types.str; + }; }; config = mkIf cfg.enable { From 03a485a9fcfc8a44a1b57923cfc4b0804a39f12d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 12:29:10 +0100 Subject: [PATCH 1760/2258] Style and customise Homepage Dashboard --- hosts/nixedo/services/homepage/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 26d7c84e..2fa85b03 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -35,7 +35,20 @@ in listenPort = cfg.port; openFirewall = true; + customCSS = '' + div#footer { + display: none; + } + ''; + services = (import ./services.nix { inherit config lib; }); + + settings = { + headerStyle = "clean"; + hideVersion = "true"; + statusStyle = "dot"; + }; + widgets = import ./widgets.nix; }; From ca21d6a68d86e9bd6c38691d501afe772256a12e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 13:31:50 +0100 Subject: [PATCH 1761/2258] Revert "Switch to COSMIC desktop" This reverts commit 84569bfde21df73e2437fdf786c3d0c0ef7021d3. --- hosts/lemp11/services.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index d4a2d231..0a219ba0 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -20,8 +20,6 @@ printing.enable = true; pulseaudio.enable = false; - desktopManager.cosmic.enable = true; - xserver = { enable = true; @@ -29,6 +27,9 @@ layout = "gb"; variant = ""; }; + + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; }; }; } From d809ab9fb66b6f1e6e0274947b6b1cfdf6b4f6a6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 13:41:34 +0100 Subject: [PATCH 1762/2258] Add LibreOffice --- hosts/lemp11/configuration.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index b12683f7..e18be8e6 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -52,4 +52,8 @@ ]; system.autoUpgrade.enable = true; + + environment.systemPackages = with pkgs; [ + libreoffice + ]; } From c350b559486c663e2832efb652a68b4bb15cb2e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 13:42:51 +0100 Subject: [PATCH 1763/2258] Configure glances --- hosts/nixedo/services/homepage/default.nix | 14 ++++- hosts/nixedo/services/homepage/glances.nix | 57 +++++++++++++++++++++ hosts/nixedo/services/homepage/layout.nix | 23 +++++++++ hosts/nixedo/services/homepage/services.nix | 2 +- hosts/nixedo/services/homepage/widgets.nix | 9 ---- 5 files changed, 93 insertions(+), 12 deletions(-) create mode 100644 hosts/nixedo/services/homepage/glances.nix create mode 100644 hosts/nixedo/services/homepage/layout.nix delete mode 100644 hosts/nixedo/services/homepage/widgets.nix diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 2fa85b03..c41080e9 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -36,9 +36,18 @@ in openFirewall = true; customCSS = '' + #information-widgets { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + div#footer { display: none; } + + .services-group { + margin-bottom: 3rem; + } ''; services = (import ./services.nix { inherit config lib; }); @@ -46,12 +55,13 @@ in settings = { headerStyle = "clean"; hideVersion = "true"; + layout = (import ./layout.nix); statusStyle = "dot"; }; - - widgets = import ./widgets.nix; }; + glances.enable = true; + nginx.virtualHosts.${cfg.url} = { forceSSL = true; useACMEHost = homelab.baseDomain; diff --git a/hosts/nixedo/services/homepage/glances.nix b/hosts/nixedo/services/homepage/glances.nix new file mode 100644 index 00000000..d1db758f --- /dev/null +++ b/hosts/nixedo/services/homepage/glances.nix @@ -0,0 +1,57 @@ +{ config }: + +{ + Glances = + let + port = toString config.services.glances.port; + in + [ + { + Info = { + widget = { + type = "glances"; + url = "http://localhost:${port}"; + metric = "info"; + chart = false; + version = 4; + }; + }; + } + + { + "CPU Temp" = { + widget = { + type = "glances"; + url = "http://localhost:${port}"; + metric = "sensor:Package id 0"; + chart = false; + version = 4; + }; + }; + } + + { + Processes = { + widget = { + type = "glances"; + url = "http://localhost:${port}"; + metric = "process"; + chart = false; + version = 4; + }; + }; + } + + { + Network = { + widget = { + type = "glances"; + url = "http://localhost:${port}"; + metric = "network:enp0s13f0u1"; + chart = false; + version = 4; + }; + }; + } + ]; +} diff --git a/hosts/nixedo/services/homepage/layout.nix b/hosts/nixedo/services/homepage/layout.nix new file mode 100644 index 00000000..b0b05b94 --- /dev/null +++ b/hosts/nixedo/services/homepage/layout.nix @@ -0,0 +1,23 @@ +[ + { + Glances = { + columns = 4; + header = false; + style = "row"; + }; + } + + { + Media = { + header = true; + style = "column"; + }; + } + + { + Services = { + header = true; + style = "column"; + }; + } +] diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index 196ac3a5..a0c3c232 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -29,4 +29,4 @@ let }); }); in -services +services ++ [ (import ./glances.nix { inherit config; }) ] diff --git a/hosts/nixedo/services/homepage/widgets.nix b/hosts/nixedo/services/homepage/widgets.nix deleted file mode 100644 index 3083ea71..00000000 --- a/hosts/nixedo/services/homepage/widgets.nix +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - resources = { - cpu = true; - disk = "/"; - memory = true; - }; - } -] From 712828efc4e803e8b5917267533a3c0254092ae6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 13:47:27 +0100 Subject: [PATCH 1764/2258] Add fastfetch and htop --- hosts/lemp11/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index e18be8e6..7580a61f 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -54,6 +54,8 @@ system.autoUpgrade.enable = true; environment.systemPackages = with pkgs; [ + fastfetch + htop libreoffice ]; } From c94447d0c1b1bfca6aeb310c2f5d187136c64ce7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 14:21:52 +0100 Subject: [PATCH 1765/2258] Re-add Vaultwarden --- hosts/nixedo/homelab.nix | 2 + hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/vaultwarden.nix | 68 +++++++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 hosts/nixedo/services/vaultwarden.nix diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 3c4095e4..617aa091 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -23,6 +23,8 @@ jellyfin.enable = true; paperless.enable = true; uptime-kuma.enable = true; + + vaultwarden.enable = true; }; }; } diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index a21f9720..f6941b4e 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -33,6 +33,7 @@ "talking-drupal-tailwindcss.oliverdavies.uk" "tome.oliverdavies.uk" "uptime.oliverdavies.uk" + "vaultwarden.oliverdavies.uk" "wp-tailwind.oliverdavies.uk" "www.oliverdavies.uk" "zet.oliverdavies.uk" diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 1921dcd2..5b65a247 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -3,5 +3,6 @@ ./homepage ./samba.nix ./uptime-kuma.nix + ./vaultwarden.nix ]; } diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix new file mode 100644 index 00000000..0402699f --- /dev/null +++ b/hosts/nixedo/services/vaultwarden.nix @@ -0,0 +1,68 @@ +{ + config, + lib, + options, + ... +}: + +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.features.homelab; + service = "vaultwarden"; +in +{ + options.features.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "${service}.${homelab.baseDomain}"; + type = types.str; + }; + + homepage.name = mkOption { + default = "Vaultwarden"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Unofficial Bitwarden compatible server written in Rust"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "bitwarden"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Services"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + ${service} = { + enable = true; + + config = { + DOMAIN = "https://${cfg.url}"; + ROCKET_PORT = 8222; + SIGNUPS_ALLOWED = false; + }; + }; + + nginx.virtualHosts.${cfg.url} = { + forceSSL = true; + useACMEHost = homelab.baseDomain; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.${service}.config.ROCKET_PORT}"; + recommendedProxySettings = true; + }; + }; + }; + }; +} From f9b90a176a1e6d77660c2415b35c9f369a706675 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 14:22:34 +0100 Subject: [PATCH 1766/2258] Extract a `baseDomain` variable --- hosts/nixedo/modules/acme.nix | 56 +++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index f6941b4e..88c85364 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -12,32 +12,36 @@ environmentFile = config.age.secrets.cloudflare.path; webroot = null; - extraDomainNames = [ - "2020.oliverdavies.uk" - "audiobookshelf.oliverdavies.uk" - "bootstrap-with-tailwind.oliverdavies.uk" - "code.oliverdavies.uk" - "eric.oliverdavies.uk" - "florida-drupalcamp-tailwind-css.oliverdavies.uk" - "jellyfin.oliverdavies.uk" - "luke.oliverdavies.uk" - "nixedo.oliverdavies.uk" - "paperless.oliverdavies.uk" - "photos.oliverdavies.uk" - "phpsw-sculpin-demo.oliverdavies.uk" - "rebuilding-acquia.oliverdavies.uk" - "rebuilding-bartik.oliverdavies.uk" - "rebuilding-bristol-js.oliverdavies.uk" - "rebuilding-symfony.oliverdavies.uk" - "tailwindcss-demo.oliverdavies.uk" - "talking-drupal-tailwindcss.oliverdavies.uk" - "tome.oliverdavies.uk" - "uptime.oliverdavies.uk" - "vaultwarden.oliverdavies.uk" - "wp-tailwind.oliverdavies.uk" - "www.oliverdavies.uk" - "zet.oliverdavies.uk" - ]; + extraDomainNames = + let + baseDomain = "oliverdavies.uk"; + in + [ + "2020.${baseDomain}" + "audiobookshelf.${baseDomain}" + "bootstrap-with-tailwind.${baseDomain}" + "code.${baseDomain}" + "eric.${baseDomain}" + "florida-drupalcamp-tailwind-css.${baseDomain}" + "jellyfin.${baseDomain}" + "luke.${baseDomain}" + "nixedo.${baseDomain}" + "paperless.${baseDomain}" + "photos.${baseDomain}" + "phpsw-sculpin-demo.${baseDomain}" + "rebuilding-acquia.${baseDomain}" + "rebuilding-bartik.${baseDomain}" + "rebuilding-bristol-js.${baseDomain}" + "rebuilding-symfony.${baseDomain}" + "tailwindcss-demo.${baseDomain}" + "talking-drupal-tailwindcss.${baseDomain}" + "tome.${baseDomain}" + "uptime.${baseDomain}" + "vaultwarden.${baseDomain}" + "wp-tailwind.${baseDomain}" + "www.${baseDomain}" + "zet.${baseDomain}" + ]; }; }; }; From 01900e4f65fa8bb8e975de6e70724c26e26da60e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 14:30:06 +0100 Subject: [PATCH 1767/2258] Refactor to build subdomains dynamically --- hosts/nixedo/modules/acme.nix | 81 +++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 88c85364..1eab7abe 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -4,45 +4,52 @@ security.acme = { acceptTerms = true; - certs = { - "oliverdavies.uk" = { + certs = + let domain = "oliverdavies.uk"; - dnsProvider = "cloudflare"; - email = "oliver@oliverdavies.uk"; - environmentFile = config.age.secrets.cloudflare.path; - webroot = null; + in + { + ${domain} = { + inherit domain; - extraDomainNames = - let - baseDomain = "oliverdavies.uk"; - in - [ - "2020.${baseDomain}" - "audiobookshelf.${baseDomain}" - "bootstrap-with-tailwind.${baseDomain}" - "code.${baseDomain}" - "eric.${baseDomain}" - "florida-drupalcamp-tailwind-css.${baseDomain}" - "jellyfin.${baseDomain}" - "luke.${baseDomain}" - "nixedo.${baseDomain}" - "paperless.${baseDomain}" - "photos.${baseDomain}" - "phpsw-sculpin-demo.${baseDomain}" - "rebuilding-acquia.${baseDomain}" - "rebuilding-bartik.${baseDomain}" - "rebuilding-bristol-js.${baseDomain}" - "rebuilding-symfony.${baseDomain}" - "tailwindcss-demo.${baseDomain}" - "talking-drupal-tailwindcss.${baseDomain}" - "tome.${baseDomain}" - "uptime.${baseDomain}" - "vaultwarden.${baseDomain}" - "wp-tailwind.${baseDomain}" - "www.${baseDomain}" - "zet.${baseDomain}" - ]; + dnsProvider = "cloudflare"; + email = "oliver@oliverdavies.uk"; + environmentFile = config.age.secrets.cloudflare.path; + webroot = null; + + extraDomainNames = + let + subdomains = [ + "2020" + "audiobookshelf" + "bootstrap-with-tailwind" + "code" + "eric" + "florida-drupalcamp-tailwind-css" + "jellyfin" + "luke" + "nixedo" + "paperless" + "photos" + "phpsw-sculpin-demo" + "rebuilding-acquia" + "rebuilding-bartik" + "rebuilding-bristol-js" + "rebuilding-symfony" + "tailwindcss-demo" + "talking-drupal-tailwindcss" + "tome" + "uptime" + "vaultwarden" + "wp-tailwind" + "www" + "zet" + ]; + + domains = map (subdomain: "${subdomain}.${domain}") subdomains; + in + domains; + }; }; - }; }; } From 8d373c9b8c3da6d5d09757d570fdc8f728040548 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 20:15:57 +0100 Subject: [PATCH 1768/2258] Automated dev commit --- hosts/nixedo/homelab.nix | 6 +++++- hosts/nixedo/services/default.nix | 4 ++++ hosts/nixedo/services/vaultwarden.nix | 20 ++++++++++++-------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 617aa091..fd95d34e 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -24,7 +24,11 @@ paperless.enable = true; uptime-kuma.enable = true; - vaultwarden.enable = true; + vaultwarden = { + enable = true; + + cloudflared.tunnelId = "41feb37d-a0f5-4c21-80c8-36ab63ec3b17"; + }; }; }; } diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 5b65a247..40fdd42d 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -5,4 +5,8 @@ ./uptime-kuma.nix ./vaultwarden.nix ]; + + services = { + tailscale.enable = true; + }; } diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix index 0402699f..53cfba66 100644 --- a/hosts/nixedo/services/vaultwarden.nix +++ b/hosts/nixedo/services/vaultwarden.nix @@ -21,6 +21,11 @@ in type = types.str; }; + cloudflared.tunnelId = mkOption { + example = "00000000-0000-0000-0000-000000000000"; + type = types.str; + }; + homepage.name = mkOption { default = "Vaultwarden"; type = types.str; @@ -49,19 +54,18 @@ in config = { DOMAIN = "https://${cfg.url}"; + ROCKET_ADDRESS = "127.0.0.1"; ROCKET_PORT = 8222; SIGNUPS_ALLOWED = false; }; }; - nginx.virtualHosts.${cfg.url} = { - forceSSL = true; - useACMEHost = homelab.baseDomain; - - locations."/" = { - proxyPass = "http://localhost:${toString config.services.${service}.config.ROCKET_PORT}"; - recommendedProxySettings = true; - }; + cloudflared.tunnels.${cfg.cloudflared.tunnelId} = { + credentialsFile = config.age.secrets.cloudflared.path; + default = "http_status:404"; + ingress."${cfg.url}".service = "http://${config.services.${service}.config.ROCKET_ADDRESS}:${ + toString config.services.${service}.config.ROCKET_PORT + }"; }; }; }; From 5c82af70937859cf9e18749895cc0b4222600bac Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 20:28:09 +0100 Subject: [PATCH 1769/2258] Automated dev commit --- hosts/t480/services.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/t480/services.nix b/hosts/t480/services.nix index 9a222dd5..6202d625 100644 --- a/hosts/t480/services.nix +++ b/hosts/t480/services.nix @@ -5,6 +5,7 @@ power-profiles-daemon.enable = false; printing.enable = true; pulseaudio.enable = false; + tailscale.enable = true; throttled.enable = true; thermald.enable = true; upower.enable = true; From 9528a4d43569713154a304d004149470a1927588 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 30 Apr 2025 20:31:52 +0100 Subject: [PATCH 1770/2258] Automated dev commit --- hosts/t480/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 19f452bd..a30160af 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -66,6 +66,7 @@ }; environment.systemPackages = with pkgs; [ + tailscale abook acpi arandr From 35497a39310d7be2dd39c53fe90bebf396396de9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 00:00:05 +0100 Subject: [PATCH 1771/2258] Automated dev commit --- hosts/nixedo/homelab.nix | 1 + hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/modules/containers/default.nix | 3 +- .../modules/containers/tubearchivist.nix | 313 ++++++++++++++++++ hosts/nixedo/secrets.nix | 1 + hosts/nixedo/services/containers/default.nix | 5 + hosts/t480/configuration.nix | 2 +- secrets.nix | 5 + secrets/tubearchivist-env.age | 20 ++ 9 files changed, 349 insertions(+), 2 deletions(-) create mode 100644 hosts/nixedo/modules/containers/tubearchivist.nix create mode 100644 hosts/nixedo/services/containers/default.nix create mode 100644 secrets/tubearchivist-env.age diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index fd95d34e..a81a3fc0 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -22,6 +22,7 @@ immich.enable = true; jellyfin.enable = true; paperless.enable = true; + tubearchivist.enable = true; uptime-kuma.enable = true; vaultwarden = { diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 1eab7abe..3e4e863f 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -39,6 +39,7 @@ "tailwindcss-demo" "talking-drupal-tailwindcss" "tome" + "tubearchivist" "uptime" "vaultwarden" "wp-tailwind" diff --git a/hosts/nixedo/modules/containers/default.nix b/hosts/nixedo/modules/containers/default.nix index 5132a01b..346ef242 100644 --- a/hosts/nixedo/modules/containers/default.nix +++ b/hosts/nixedo/modules/containers/default.nix @@ -1,5 +1,6 @@ { imports = [ - ./pi-hole.nix + # ./pi-hole.nix + ./tubearchivist.nix ]; } diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix new file mode 100644 index 00000000..15c50067 --- /dev/null +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -0,0 +1,313 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = homelab.services.${service}; + service = "tubearchivist"; + homelab = config.features.homelab; +in +{ + options.features.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + port = mkOption { + default = 8099; + type = types.port; + }; + + url = mkOption { + default = "${service}.${homelab.baseDomain}"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + virtualisation = { + oci-containers.backend = "podman"; + podman.enable = true; + }; + + virtualisation.oci-containers.containers."archivist-es" = { + image = "bbilly1/tubearchivist-es"; + + environment = { + "ES_JAVA_OPTS" = "-Xms1g -Xmx1g"; + "discovery.type" = "single-node"; + "path.repo" = "/usr/share/elasticsearch/data/snapshot"; + "xpack.security.enabled" = "true"; + "cluster.routing.allocation.disk.watermark.flood_stage" = "98%"; + "cluster.routing.allocation.disk.watermark.high" = "97%"; + "cluster.routing.allocation.disk.watermark.low" = "95%"; + }; + + environmentFiles = [ + config.age.secrets.tubearchivist-env.path + ]; + + volumes = [ + "tubearchivist_es:/usr/share/elasticsearch/data:rw" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=archivist-es" + "--network=tubearchivist_default" + ]; + }; + + systemd.services."podman-archivist-es" = { + serviceConfig = { + Restart = mkOverride 90 "always"; + RestartMaxDelaySec = mkOverride 90 "1m"; + RestartSec = mkOverride 90 "100ms"; + RestartSteps = mkOverride 90 9; + }; + + after = [ + "podman-network-tubearchivist_default.service" + "podman-volume-tubearchivist_es.service" + ]; + + requires = [ + "podman-network-tubearchivist_default.service" + "podman-volume-tubearchivist_es.service" + ]; + + partOf = [ + "podman-compose-tubearchivist-root.target" + ]; + + wantedBy = [ + "podman-compose-tubearchivist-root.target" + ]; + }; + + virtualisation.oci-containers.containers."archivist-redis" = { + image = "redis"; + + volumes = [ + "tubearchivist_redis:/data:rw" + ]; + + dependsOn = [ + "archivist-es" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--network-alias=archivist-redis" + "--network=tubearchivist_default" + ]; + }; + + systemd.services."podman-archivist-redis" = { + serviceConfig = { + Restart = mkOverride 90 "always"; + RestartMaxDelaySec = mkOverride 90 "1m"; + RestartSec = mkOverride 90 "100ms"; + RestartSteps = mkOverride 90 9; + }; + + after = [ + "podman-network-tubearchivist_default.service" + "podman-volume-tubearchivist_redis.service" + ]; + + requires = [ + "podman-network-tubearchivist_default.service" + "podman-volume-tubearchivist_redis.service" + ]; + + partOf = [ + "podman-compose-tubearchivist-root.target" + ]; + + wantedBy = [ + "podman-compose-tubearchivist-root.target" + ]; + }; + + virtualisation.oci-containers.containers."tubearchivist" = { + image = "bbilly1/tubearchivist"; + + environment = { + "ES_URL" = "http://archivist-es:9200"; + "HOST_GID" = "1000"; + "HOST_UID" = "1000"; + "REDIS_CON" = "redis://archivist-redis:6379"; + "TA_HOST" = "http://${cfg.url}"; + "TZ" = "Europe/London"; + }; + + environmentFiles = [ + config.age.secrets.tubearchivist-env.path + ]; + + volumes = [ + "/mnt/media/${service}/cache:/cache:rw" + "/mnt/media/${service}/media:/youtube:rw" + ]; + + ports = [ + "${toString cfg.port}:8000/tcp" + ]; + + dependsOn = [ + "archivist-es" + "archivist-redis" + ]; + + log-driver = "journald"; + + extraOptions = [ + "--health-cmd=[\"curl\", \"-f\", \"http://localhost:8000/health\"]" + "--health-interval=2m0s" + "--health-retries=3" + "--health-start-period=30s" + "--health-timeout=10s" + "--network-alias=tubearchivist" + "--network=tubearchivist_default" + ]; + }; + + systemd.services."podman-tubearchivist" = { + serviceConfig = { + Restart = mkOverride 90 "always"; + RestartMaxDelaySec = mkOverride 90 "1m"; + RestartSec = mkOverride 90 "100ms"; + RestartSteps = mkOverride 90 9; + }; + + after = [ + "podman-network-tubearchivist_default.service" + "podman-volume-tubearchivist_cache.service" + "podman-volume-tubearchivist_media.service" + ]; + + requires = [ + "podman-network-tubearchivist_default.service" + "podman-volume-tubearchivist_cache.service" + "podman-volume-tubearchivist_media.service" + ]; + + partOf = [ + "podman-compose-tubearchivist-root.target" + ]; + + wantedBy = [ + "podman-compose-tubearchivist-root.target" + ]; + }; + + systemd.services."podman-network-tubearchivist_default" = { + path = [ pkgs.podman ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "podman network rm -f tubearchivist_default"; + }; + + script = '' + podman network inspect tubearchivist_default || podman network create tubearchivist_default + ''; + + partOf = [ "podman-compose-tubearchivist-root.target" ]; + wantedBy = [ "podman-compose-tubearchivist-root.target" ]; + }; + + systemd.services."podman-volume-tubearchivist_cache" = { + path = [ pkgs.podman ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + podman volume inspect tubearchivist_cache || podman volume create tubearchivist_cache + ''; + + partOf = [ "podman-compose-tubearchivist-root.target" ]; + wantedBy = [ "podman-compose-tubearchivist-root.target" ]; + }; + + systemd.services."podman-volume-tubearchivist_es" = { + path = [ pkgs.podman ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + podman volume inspect tubearchivist_es || podman volume create tubearchivist_es + ''; + + partOf = [ "podman-compose-tubearchivist-root.target" ]; + wantedBy = [ "podman-compose-tubearchivist-root.target" ]; + }; + + systemd.services."podman-volume-tubearchivist_media" = { + path = [ pkgs.podman ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + podman volume inspect tubearchivist_media || podman volume create tubearchivist_media + ''; + + partOf = [ "podman-compose-tubearchivist-root.target" ]; + wantedBy = [ "podman-compose-tubearchivist-root.target" ]; + }; + + systemd.services."podman-volume-tubearchivist_redis" = { + path = [ pkgs.podman ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + podman volume inspect tubearchivist_redis || podman volume create tubearchivist_redis + ''; + + partOf = [ "podman-compose-tubearchivist-root.target" ]; + wantedBy = [ "podman-compose-tubearchivist-root.target" ]; + }; + + systemd.targets."podman-compose-tubearchivist-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + + wantedBy = [ "multi-user.target" ]; + }; + + services.nginx.virtualHosts."${cfg.url}" = { + forceSSL = true; + useACMEHost = homelab.baseDomain; + + locations."/" = { + proxyPass = "http://localhost:${toString cfg.port}"; + recommendedProxySettings = true; + + extraConfig = '' + proxy_buffering off; + ''; + }; + }; + }; +} diff --git a/hosts/nixedo/secrets.nix b/hosts/nixedo/secrets.nix index 6c55583f..c3fa36d6 100644 --- a/hosts/nixedo/secrets.nix +++ b/hosts/nixedo/secrets.nix @@ -2,5 +2,6 @@ age.secrets = { cloudflare.file = ../../secrets/cloudflare.age; cloudflared.file = ../../secrets/cloudflared-credentials.age; + tubearchivist-env.file = ../../secrets/tubearchivist-env.age; }; } diff --git a/hosts/nixedo/services/containers/default.nix b/hosts/nixedo/services/containers/default.nix new file mode 100644 index 00000000..10dea067 --- /dev/null +++ b/hosts/nixedo/services/containers/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./tubearchivist.nix + ]; +} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index a30160af..4e4a2dc9 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -66,7 +66,6 @@ }; environment.systemPackages = with pkgs; [ - tailscale abook acpi arandr @@ -98,6 +97,7 @@ shotwell slack sxiv + tailscale ttyper upload-to-files xcape diff --git a/secrets.nix b/secrets.nix index ca26e99a..59104be0 100644 --- a/secrets.nix +++ b/secrets.nix @@ -19,4 +19,9 @@ in "secrets/cloudflared-credentials.age".publicKeys = [ hosts.nixedo ] ++ [ users.opdavies ]; + + "secrets/tubearchivist-env.age".publicKeys = [ + hosts.nixedo + hosts.t480 + ] ++ [ users.opdavies ]; } diff --git a/secrets/tubearchivist-env.age b/secrets/tubearchivist-env.age new file mode 100644 index 00000000..8e8fd5c1 --- /dev/null +++ b/secrets/tubearchivist-env.age @@ -0,0 +1,20 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g JcpSuBgBp3nnPscb55121KL2XeCkBnwRwr57rFYE+nE +o0nLbL0tQWZIwOECYb+/zQsGo9/uoEpuaPqdxoZqY/Y +-> ssh-ed25519 IsVD3g fYyG89/0d3WO+aG9SaZ5+QMGrayd0y6EdnpjEx7mOTM +nbP/TlK5goWZe6ObIvqaRYTa7XPKprVoOeOZBPARON4 +-> ssh-rsa +vTWQw +mrS2MJwu/XgQd0y+bE9pa4iCZk8m1l6WQrnLb7tOaPXiVBObh03k6y9uWsfVSgmh +gnXHBQIAGXtdJ6qabt5jLDQrDxMZw1jxAr5QONR8Y+zmcw3BTvKYmVQRfsRlOM0O +qC4VG7CXcq7tcOEHKi3VliyUZW3R1SzXVhr72VXsug2IbWsNp/plusiA8MmLR3Mf +0N6z8ye1ZKRFHs4Q9ShyLad5JcJtkjrNmhbhQdZlNUQfOf+jrTEFrgKII96pCWqI +2eqpUbA1ameSUXgRknaZjIYQBmJd5ejvClGV5cojlD+DdX0W85mRW/Xj1CinUsGk +QZ+RFQ9GWGLLV8Uba707nbS1yMlnc2afJyG8dWGaH9m2E/9NnsFxCIbcQTrK28Yu +yabdui1sXG8stVWGK4FqCTuxNLv/bWC37IcFQQai9wgZhziyO07QR1jQ2xiMXLBZ +cw3KT8y8yYROzhZCuKoW/FAIrlsQv3ePBv+YEpnLF++2Pa25d1jmJXryAooDpBLd +5gi/hKvBeDPwtgStS0BjPYRM37tQ0UlHkcCqq8v2xeTX7VZpqWrzUcGX4DXCgxxX +Qrj5eDdomUfFH5NE8LWWNfpAlP1SOkM3ebCoa9e1sfEdJUzubIbSuRL/VFTm0SJe +WaUbIuTPOo7Sda6ZgM7lPFylqJNC8bHI5Ch6AH7UWX0 +--- GcN2m5Td0aMEWTrH6ZOyjplhvkHsHrCJfoyyfsbJHZo +xL}va1(t1$Cn߇;ftO@]ycvd +VQ XS;.Oס?HɊJD|'!w9gvRuNSú9 \ No newline at end of file From faf464f48121894fdf13f67c1072af733df20b43 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 09:02:05 +0100 Subject: [PATCH 1772/2258] Make the systemd timer not persistent --- modules/home-manager/cli/dev-commit.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/home-manager/cli/dev-commit.nix b/modules/home-manager/cli/dev-commit.nix index 9e97ab11..823420ed 100644 --- a/modules/home-manager/cli/dev-commit.nix +++ b/modules/home-manager/cli/dev-commit.nix @@ -83,7 +83,6 @@ in Timer = { OnCalendar = cfg.schedule.time; - Persistent = true; Unit = "dev-commit.service"; }; From 1818cecb44256638c0323979764ef303d360b47e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 17:19:34 +0100 Subject: [PATCH 1773/2258] Rebuild nixedo --- hosts/nixedo/configuration.nix | 1 - hosts/nixedo/hardware-configuration.nix | 47 +++++++++---------------- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 349e0c7c..71450ffc 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -27,7 +27,6 @@ boot.loader = { efi = { canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; }; systemd-boot.enable = true; diff --git a/hosts/nixedo/hardware-configuration.nix b/hosts/nixedo/hardware-configuration.nix index bc7ab4db..2164da42 100644 --- a/hosts/nixedo/hardware-configuration.nix +++ b/hosts/nixedo/hardware-configuration.nix @@ -1,54 +1,39 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: +{ config, lib, pkgs, modulesPath, ... }: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ - "xhci_pci" - "thunderbolt" - "nvme" - "usb_storage" - "sd_mod" - ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; - boot.kernelParams = [ "i8042.reset" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/7c6d69ec-ba06-4ddb-b9c4-62b3994fda91"; - fsType = "ext4"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/40649879-4ee6-4668-8257-fe81a7773024"; + fsType = "ext4"; + }; - fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/B729-9A75"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/24B1-88CB"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; - swapDevices = [ - { device = "/dev/disk/by-uuid/5db0a0e6-93fb-4d0b-8fb0-fdb3cb76b89d"; } - ]; + swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s13f0u1.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s20f0u1.useDHCP = lib.mkDefault true; # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } From 413bc772451209159120760d63a69a9a062cc809 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 17:22:32 +0100 Subject: [PATCH 1774/2258] flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index ee7e7dbf..c755506b 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1745810134, - "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", + "lastModified": 1746040799, + "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", "owner": "nix-community", "repo": "home-manager", - "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", + "rev": "5f217e5a319f6c186283b530f8c975e66c028433", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745503349, - "narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=", + "lastModified": 1745955289, + "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1", + "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1745742390, - "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", + "lastModified": 1746055187, + "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", + "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745823110, - "narHash": "sha256-nU8QMq5e/A5D1hmA91ytkY+JGE0sWN5XgqXaTgeW5ds=", + "lastModified": 1746115476, + "narHash": "sha256-aV0viUn/m1I0PNeTrzw0bccs5IK87AtHKSEUdqSr2W4=", "owner": "nix-community", "repo": "NUR", - "rev": "e5e7be48ad1faa5b4198bd08f530b4abb5c87ebb", + "rev": "b61a207319893290cc46630dfe72866c5cab60c1", "type": "github" }, "original": { From 1e944723c77fca32e419cb5d7eb5b91b489b9eb8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 20:35:51 +0100 Subject: [PATCH 1775/2258] Enable PostgreSQL database backups --- hosts/nixedo/homelab.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index a81a3fc0..0ce92eab 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -1,4 +1,8 @@ { + services = { + postgresqlBackup.enable = true; + }; + features.homelab = { enable = true; From d593634aa19ea9584a0b65a82b64977282bad47a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 22:06:20 +0100 Subject: [PATCH 1776/2258] Update network adapter --- hosts/nixedo/services/homepage/glances.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/services/homepage/glances.nix b/hosts/nixedo/services/homepage/glances.nix index d1db758f..ebcd3622 100644 --- a/hosts/nixedo/services/homepage/glances.nix +++ b/hosts/nixedo/services/homepage/glances.nix @@ -47,7 +47,7 @@ widget = { type = "glances"; url = "http://localhost:${port}"; - metric = "network:enp0s13f0u1"; + metric = "network:enp0s20f0u1"; chart = false; version = 4; }; From d9866ddc41222f2a7185c4f84194dd635f6a8bfc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 22:09:09 +0100 Subject: [PATCH 1777/2258] Add Tube Archivist to Homepage Dashboard --- .../modules/containers/tubearchivist.nix | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 15c50067..4c7a471e 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -25,6 +25,26 @@ in default = "${service}.${homelab.baseDomain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Tube Archivist"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Your self hosted YouTube media server"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "tube-archivist"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Media"; + type = types.str; + }; }; config = mkIf cfg.enable { From ef4eef1ffe7025dce1bee9084b4536fd417e8790 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 22:24:17 +0100 Subject: [PATCH 1778/2258] Fix Tube Archivist URL --- hosts/nixedo/modules/containers/tubearchivist.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 4c7a471e..5858fe71 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -163,7 +163,7 @@ in "HOST_GID" = "1000"; "HOST_UID" = "1000"; "REDIS_CON" = "redis://archivist-redis:6379"; - "TA_HOST" = "http://${cfg.url}"; + "TA_HOST" = "https://${cfg.url}"; "TZ" = "Europe/London"; }; From 8050e3d9ad2d742b32114fb9791e130d310a8008 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 1 May 2025 23:42:10 +0100 Subject: [PATCH 1779/2258] Automated dev commit --- hosts/nixedo/modules/containers/tubearchivist.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 5858fe71..0ad0bb45 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -323,6 +323,7 @@ in locations."/" = { proxyPass = "http://localhost:${toString cfg.port}"; recommendedProxySettings = true; + proxyWebsockets = true; extraConfig = '' proxy_buffering off; From e2746df0b55c9e8c44f03e6891f6a3ecf9f436c3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 09:08:15 +0100 Subject: [PATCH 1780/2258] Add me the cdrom group again --- modules/nixos/desktop/media/makemkv.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/nixos/desktop/media/makemkv.nix b/modules/nixos/desktop/media/makemkv.nix index a8560a50..2b25b7aa 100644 --- a/modules/nixos/desktop/media/makemkv.nix +++ b/modules/nixos/desktop/media/makemkv.nix @@ -11,7 +11,6 @@ in config = mkIf cfg.enable { boot.kernelModules = [ "sg" ]; - # TODO: is this needed? - # users.users.opdavies.extraGroups = [ "cdrom" ]; + users.users.opdavies.extraGroups = [ "cdrom" ]; }; } From c2d9943e2fd3719cc97587aff4da247dbf6b1d0b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 09:22:10 +0100 Subject: [PATCH 1781/2258] Create automated dev commits for email-filters --- home/opdavies/t480.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index c3fb435c..407a4807 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -76,6 +76,7 @@ personal = "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal"; in [ + "${personal}/email-filters" "${personal}/nix-config" "${personal}/oliverdavies.uk-tome" "${personal}/opentofu-dns" From bce4e8adf71fcdcfd8fafc3c6ad9193720560faa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 16:59:15 +0100 Subject: [PATCH 1782/2258] Re-add the luke user --- hosts/t490/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index e9ba6f63..925d17f3 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -10,6 +10,7 @@ ./services ./users.nix + ../../users/luke.nix ../../users/opdavies.nix ]; From 3d15b7e394ceb902d38e1fa0599d2054743f21a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 20:29:09 +0100 Subject: [PATCH 1783/2258] Fix Forgejo's root URL --- hosts/nixedo/modules/forgejo.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index b2c39e22..02eccf16 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -29,7 +29,11 @@ in stateDir = "/var/www/${service}"; settings = { - server.DOMAIN = cfg.url; + server = { + DOMAIN = cfg.url; + ROOT_URL = "https://${cfg.url}"; + }; + service.DISABLE_REGISTRATION = true; }; }; From 8cdd860a5e0c1421735cf2ab891e527fd7acd687 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 20:38:48 +0100 Subject: [PATCH 1784/2258] Add Forgejo to Homepage Dashboard --- hosts/nixedo/modules/forgejo.nix | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 02eccf16..ffc83ec5 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -16,8 +16,28 @@ in type = types.str; }; - url = mkOption { - default = "code.${homelab.baseDomain}"; + homepage.name = mkOption { + default = "Forgejo"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Beyond coding. We forge."; + type = types.str; + }; + + homepage.icon = mkOption { + default = "forgejo"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Services"; + type = types.str; + }; + + cloudflared.tunnelId = mkOption { + example = "00000000-0000-0000-0000-000000000000"; type = types.str; }; }; From 936e6948f8ff043b43b4798add9e5d38d93fffb9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 22:19:52 +0100 Subject: [PATCH 1785/2258] Add Actions --- .forgejo/workflows/check.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .forgejo/workflows/check.yml diff --git a/.forgejo/workflows/check.yml b/.forgejo/workflows/check.yml new file mode 100644 index 00000000..1cc28df3 --- /dev/null +++ b/.forgejo/workflows/check.yml @@ -0,0 +1,7 @@ +on: push +jobs: + check: + runs-on: nixos + steps: + - uses: actions/checkout@v4 + - run: nix flake check From 159aab3182eb2d0bdb01883eab02151a87b25346 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 22:58:50 +0100 Subject: [PATCH 1786/2258] Remove duplicate attribute --- hosts/nixedo/modules/forgejo.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index ffc83ec5..7d9c59b3 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -35,11 +35,6 @@ in default = "Services"; type = types.str; }; - - cloudflared.tunnelId = mkOption { - example = "00000000-0000-0000-0000-000000000000"; - type = types.str; - }; }; config = mkIf cfg.enable { From 6ceea74156eb0cc9e8fe1fbb441089e09f5d15da Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 23:06:02 +0100 Subject: [PATCH 1787/2258] Add missing url attribute --- hosts/nixedo/modules/forgejo.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 7d9c59b3..94b31580 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -11,6 +11,11 @@ in options.features.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; + url = mkOption { + default = "code.${homelab.baseDomain}"; + type = types.str; + }; + cloudflared.tunnelId = mkOption { example = "00000000-0000-0000-0000-000000000000"; type = types.str; From f70d9c51e3b252c0d1d10943c18a1f57c33c2962 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 2 May 2025 23:57:47 +0100 Subject: [PATCH 1788/2258] Configure nixedo as a Forgejo Actions Runner --- hosts/nixedo/services/default.nix | 35 +++++++++++++++++++++++++++++++ secrets.nix | 4 ++++ secrets/forgejo-runner-token.age | 17 +++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 secrets/forgejo-runner-token.age diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 40fdd42d..4c24566a 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -1,3 +1,10 @@ +{ + config, + inputs, + pkgs, + ... +}: + { imports = [ ./homepage @@ -9,4 +16,32 @@ services = { tailscale.enable = true; }; + + services.gitea-actions-runner.instances.default = { + enable = true; + + hostPackages = with pkgs; [ + bash + coreutils + curl + gawk + gitMinimal + gnused + nix + nodejs + wget + ]; + + labels = [ + "nixos:host" + ]; + + name = config.networking.hostName; + tokenFile = config.age.secrets.forgejo-runner-token.path; + url = config.services.forgejo.settings.server.ROOT_URL; + }; + + age.secrets = { + forgejo-runner-token.file = "${inputs.self}/secrets/forgejo-runner-token.age"; + }; } diff --git a/secrets.nix b/secrets.nix index 59104be0..fed13e5d 100644 --- a/secrets.nix +++ b/secrets.nix @@ -20,6 +20,10 @@ in hosts.nixedo ] ++ [ users.opdavies ]; + "secrets/forgejo-runner-token.age".publicKeys = [ + hosts.nixedo + ] ++ [ users.opdavies ]; + "secrets/tubearchivist-env.age".publicKeys = [ hosts.nixedo hosts.t480 diff --git a/secrets/forgejo-runner-token.age b/secrets/forgejo-runner-token.age new file mode 100644 index 00000000..4a190f4f --- /dev/null +++ b/secrets/forgejo-runner-token.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g mB4VczPxs3QfwaBzmQ0M11i2DvLiWuUFg0lxOc2SSxk +P7HviMd5+e8pDRTKfWhyqN8Su7qtFLT3fINy4z1Iz2Y +-> ssh-rsa +vTWQw +QXgFMe0rRO6exSgeztsAFdF5CMCWNiutiYSX5AajAlWHf3or65xCJVJO1EEZrQEK +u5BQXzS/iVxnjI+oEyHhID6J3rIiRSVlmA+BNFksh0Fh4ihSq8Iqdwp7TjkX5oas +RWVzj5dIqTwhtXwcFYbX5Lj68UMZtHjRp8PLAa9WtV1zbU5R3000ofcDFXnZrHW9 +q8FD50EiA7S0ORHgMUlZPAXPU4mIxjs7Qj6QwL55md4ZExdAy8b+srGGSMZlO8Zo +7gn2B778LAVzaiibtKN7Tc/+AX23QEDPJzkgUTPL4AbicMO8QS9fHDurDRDs0p9z +cnWra1YhFujzD2z+cW/Tmt23dv9Zs11wEZ2pDK3T2Fi0mIfTZWkkoYz4rrlW9yJm +Ag9XAJvJS1S4BWeT1UVUE7Z641t2Qsm+5isdRn0JOJ31pLBUE9XbemBmLQGxPhOp +sYjEk5ldMY1U/nO7KDvot42uE6LcLF2PvRFUAqfwCG+Zu285EfSP1ic4AiyRBy/I +gnXXeXCHou5uCyN3SpxwTrEen6LBuMbLAeOArXgSqUj/CGSYQJug2b7EPxM4m0+/ +axNzdt6Ytsr+9zfSrS6GCKgcrJtAmooptyustj+Zpr9sC7gtSZeLBWbvw4uVcmPt +HabHNjE4Rayjwa+ILqrTLzK538dEK2ta1Kv4ebTAYgU +--- ibayDVd69gBfWFeA9t+3f1zcB2fu1xzRVwsxmwwAPIM +jgz{dDo0h}žA۳ݖ>-j!ѬQePl5mwInEvvIHn \ No newline at end of file From 92ded2680606b0e75656d4326ae097e3c70c3550 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 01:13:51 +0100 Subject: [PATCH 1789/2258] Rename `baseDomain` to `domain` --- hosts/nixedo/homelab.nix | 2 +- hosts/nixedo/modules/audiobookshelf.nix | 4 ++-- hosts/nixedo/modules/containers/tubearchivist.nix | 4 ++-- hosts/nixedo/modules/default.nix | 2 +- hosts/nixedo/modules/forgejo.nix | 2 +- hosts/nixedo/modules/immich.nix | 4 ++-- hosts/nixedo/modules/jellyfin.nix | 4 ++-- hosts/nixedo/modules/nginx/sites.nix | 4 ++-- hosts/nixedo/modules/paperless.nix | 4 ++-- hosts/nixedo/services/homepage/default.nix | 4 ++-- hosts/nixedo/services/uptime-kuma.nix | 4 ++-- hosts/nixedo/services/vaultwarden.nix | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 0ce92eab..3e07b86b 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -6,7 +6,7 @@ features.homelab = { enable = true; - baseDomain = "oliverdavies.uk"; + domain = "oliverdavies.uk"; services = { audiobookshelf.enable = true; diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index cd77ab28..5b494839 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -12,7 +12,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "audiobookshelf.${homelab.baseDomain}"; + default = "audiobookshelf.${homelab.domain}"; type = types.str; }; @@ -43,7 +43,7 @@ in nginx.virtualHosts.${cfg.url} = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/" = { proxyPass = "http://localhost:${toString config.services.${service}.port}"; diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 0ad0bb45..95cb26e0 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -22,7 +22,7 @@ in }; url = mkOption { - default = "${service}.${homelab.baseDomain}"; + default = "${service}.${homelab.domain}"; type = types.str; }; @@ -318,7 +318,7 @@ in services.nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/" = { proxyPass = "http://localhost:${toString cfg.port}"; diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index 2211cebd..f9d47226 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -6,7 +6,7 @@ with lib; options.features.homelab = { enable = mkEnableOption "Enable homelab services and configuration"; - baseDomain = mkOption { + domain = mkOption { description = "The base domain to use for this homelab."; type = types.str; }; diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 94b31580..be51de4d 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -12,7 +12,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "code.${homelab.baseDomain}"; + default = "code.${homelab.domain}"; type = types.str; }; diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index c43af72d..76f13072 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -17,7 +17,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "photos.${homelab.baseDomain}"; + default = "photos.${homelab.domain}"; type = types.str; }; @@ -52,7 +52,7 @@ in nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/" = { proxyPass = "http://localhost:${toString config.services.immich.port}"; diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 2831d9e8..07992fbb 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -12,7 +12,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "${service}.${homelab.baseDomain}"; + default = "${service}.${homelab.domain}"; type = types.str; }; @@ -49,7 +49,7 @@ in nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/" = { proxyPass = "http://localhost:8096"; diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 30b8a1d5..4a982436 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -1,5 +1,5 @@ let - baseDomain = "oliverdavies.uk"; + domain = "oliverdavies.uk"; ports = import ./ports.nix; @@ -12,7 +12,7 @@ let inherit root; port = ports.${name}; - url = "${name}.${baseDomain}"; + url = "${name}.${domain}"; } // overrides; diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 2b5af7bc..6444fd31 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -12,7 +12,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "${service}.${homelab.baseDomain}"; + default = "${service}.${homelab.domain}"; type = types.str; }; @@ -51,7 +51,7 @@ in nginx.virtualHosts."${cfg.url}" = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/" = { proxyPass = "http://localhost:${toString config.services.${service}.port}"; diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index c41080e9..26cbc41d 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -23,7 +23,7 @@ in }; url = mkOption { - default = "${config.networking.hostName}.${homelab.baseDomain}"; + default = "${config.networking.hostName}.${homelab.domain}"; type = types.str; }; }; @@ -64,7 +64,7 @@ in nginx.virtualHosts.${cfg.url} = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/".proxyPass = "http://localhost:${toString config.services.homepage-dashboard.listenPort}"; diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix index ac761d12..bdda45b5 100644 --- a/hosts/nixedo/services/uptime-kuma.nix +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -12,7 +12,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "uptime.${homelab.baseDomain}"; + default = "uptime.${homelab.domain}"; type = types.str; }; @@ -43,7 +43,7 @@ in nginx.virtualHosts.${cfg.url} = { forceSSL = true; - useACMEHost = homelab.baseDomain; + useACMEHost = homelab.domain; locations."/" = { proxyPass = "http://localhost:${toString config.services.${service}.settings.PORT}"; diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix index 53cfba66..fa964665 100644 --- a/hosts/nixedo/services/vaultwarden.nix +++ b/hosts/nixedo/services/vaultwarden.nix @@ -17,7 +17,7 @@ in enable = mkEnableOption "Enable ${service}"; url = mkOption { - default = "${service}.${homelab.baseDomain}"; + default = "${service}.${homelab.domain}"; type = types.str; }; From 54954d6223bec172fd1c25a9f6788aabed3976fa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 12:24:07 +0100 Subject: [PATCH 1790/2258] Move forgejo runner configuration --- hosts/nixedo/homelab.nix | 2 + modules/nixos/default.nix | 1 + modules/nixos/homelab/default.nix | 5 ++ .../nixos/homelab/gitea-actions-runner.nix | 50 +++++++++++++++++++ secrets/forgejo-runner-token.age | 30 +++++------ 5 files changed, 73 insertions(+), 15 deletions(-) create mode 100644 modules/nixos/homelab/default.nix create mode 100644 modules/nixos/homelab/gitea-actions-runner.nix diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 3e07b86b..16854bf8 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -17,6 +17,8 @@ cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; }; + gitea-actions-runner.enable = true; + homepage-dashboard = { enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index da3fce5d..b1188b61 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,5 +3,6 @@ ./cli ./core ./desktop + ./homelab ]; } diff --git a/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix new file mode 100644 index 00000000..fe3a7066 --- /dev/null +++ b/modules/nixos/homelab/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./gitea-actions-runner.nix + ]; +} diff --git a/modules/nixos/homelab/gitea-actions-runner.nix b/modules/nixos/homelab/gitea-actions-runner.nix new file mode 100644 index 00000000..2e961eef --- /dev/null +++ b/modules/nixos/homelab/gitea-actions-runner.nix @@ -0,0 +1,50 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.features.homelab; + service = "gitea-actions-runner"; +in +{ + options.features.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + }; + + config = mkIf cfg.enable { + services.${service}.instances.default = { + enable = true; + + hostPackages = with pkgs; [ + bash + coreutils + curl + gawk + gitMinimal + gnused + nix + nodejs + wget + ]; + + labels = [ + "nixos:host" + ]; + + name = config.networking.hostName; + tokenFile = config.age.secrets.forgejo-runner-token.path; + url = config.services.forgejo.settings.server.ROOT_URL; + }; + + age.secrets = { + forgejo-runner-token.file = "${inputs.self}/secrets/forgejo-runner-token.age"; + }; + }; +} diff --git a/secrets/forgejo-runner-token.age b/secrets/forgejo-runner-token.age index 4a190f4f..78f0fe94 100644 --- a/secrets/forgejo-runner-token.age +++ b/secrets/forgejo-runner-token.age @@ -1,17 +1,17 @@ age-encryption.org/v1 --> ssh-ed25519 IsVD3g mB4VczPxs3QfwaBzmQ0M11i2DvLiWuUFg0lxOc2SSxk -P7HviMd5+e8pDRTKfWhyqN8Su7qtFLT3fINy4z1Iz2Y +-> ssh-ed25519 IsVD3g VZRQKGdeV/lghsgN7xSWAuxOsThIU4cpBPEA5jRU/Ro +rlVrONsaGdSAW7jk04RbmxqBRr1nIpZi/QYJdhZNF8A -> ssh-rsa +vTWQw -QXgFMe0rRO6exSgeztsAFdF5CMCWNiutiYSX5AajAlWHf3or65xCJVJO1EEZrQEK -u5BQXzS/iVxnjI+oEyHhID6J3rIiRSVlmA+BNFksh0Fh4ihSq8Iqdwp7TjkX5oas -RWVzj5dIqTwhtXwcFYbX5Lj68UMZtHjRp8PLAa9WtV1zbU5R3000ofcDFXnZrHW9 -q8FD50EiA7S0ORHgMUlZPAXPU4mIxjs7Qj6QwL55md4ZExdAy8b+srGGSMZlO8Zo -7gn2B778LAVzaiibtKN7Tc/+AX23QEDPJzkgUTPL4AbicMO8QS9fHDurDRDs0p9z -cnWra1YhFujzD2z+cW/Tmt23dv9Zs11wEZ2pDK3T2Fi0mIfTZWkkoYz4rrlW9yJm -Ag9XAJvJS1S4BWeT1UVUE7Z641t2Qsm+5isdRn0JOJ31pLBUE9XbemBmLQGxPhOp -sYjEk5ldMY1U/nO7KDvot42uE6LcLF2PvRFUAqfwCG+Zu285EfSP1ic4AiyRBy/I -gnXXeXCHou5uCyN3SpxwTrEen6LBuMbLAeOArXgSqUj/CGSYQJug2b7EPxM4m0+/ -axNzdt6Ytsr+9zfSrS6GCKgcrJtAmooptyustj+Zpr9sC7gtSZeLBWbvw4uVcmPt -HabHNjE4Rayjwa+ILqrTLzK538dEK2ta1Kv4ebTAYgU ---- ibayDVd69gBfWFeA9t+3f1zcB2fu1xzRVwsxmwwAPIM -jgz{dDo0h}žA۳ݖ>-j!ѬQePl5mwInEvvIHn \ No newline at end of file +igGVvcUh30WG4jDQcXL906pmEk6NCDt0Fl0XC6q3ZuAeJHK1wZ70XKPTehb1JM4U +YSb5vsVW0J6Fv9kWbpfuSGo/eDoLwm45bP5OT+L3hThG8VRYlt4GuPt+BTdxBfcA +sLiQNBo/c+NeozLwsx39uwGZlBPXEiCWy2GR0tBpl97mpQgyLIvRleRMxzTtfN7Y +vreEbsOqo4kHMsAykGoOwMDVJpGArJBLNlm5cd9I0iHOvk9ugu919tNeiZ4vHyye +QKuoeAE24wqW/QXj98sFxz9SHi9UHJpqLMsgh2tCfvG6J65DItBzhWi7OKlgTUjy +7nhNOGMHtc4XBR/kjdt4z55ryb7t5DPdy6VIurJ3YAcZRm44o4LusHLw7llcNa20 +bXTiwZaICwK6Zi3deAASK4+DgbvThuKa6Ir0vaEK7Mik39ZanrIXDoFBv80ufBiq +tsFZex7Z/ZqqDR/WPnQKF92tz+Kqs7Jkka60ajYwkDdS6WnkOFPpKPJKayfutdF1 +9r6jzBUZEZ1E9avShow8ccw/FVhSnDzl9851TXZRyDrqFJ26s7484zHV9KpHPflh +qveux0fqB65vGl2ZvcsRawGVOw8G567s2HED6tuArdU98eEGC5Z/UdXPUYGpUSCK +zB9AQNtdS5IHY9CNKb7YqJFtvyaA7wlrd9Csp0UWVSY +--- i4UTmANM0HP3f9MKXDJZKyP2lod+E2dK8sNzHcm3y/o +ZpBl@Dp('u.X TO"Rrr=|ޮ:SQCDCb~V2 \ No newline at end of file From 54b43e42031c299a70f8307ebc2dd9d49122c383 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 16:50:27 +0100 Subject: [PATCH 1791/2258] Remove `features` --- home/opdavies/PW05CH3L.nix | 68 ++++++------ home/opdavies/lemp11.nix | 12 +-- home/opdavies/nixedo.nix | 10 +- home/opdavies/t480.nix | 100 +++++++++--------- hosts/PW05CH3L/configuration.nix | 8 +- hosts/lemp11/configuration.nix | 12 +-- hosts/nixedo/configuration.nix | 8 +- hosts/nixedo/homelab.nix | 2 +- hosts/nixedo/modules/audiobookshelf.nix | 4 +- .../modules/containers/tubearchivist.nix | 4 +- hosts/nixedo/modules/default.nix | 2 +- hosts/nixedo/modules/forgejo.nix | 4 +- hosts/nixedo/modules/immich.nix | 4 +- hosts/nixedo/modules/jellyfin.nix | 4 +- hosts/nixedo/modules/paperless.nix | 4 +- hosts/nixedo/services/homepage/default.nix | 4 +- hosts/nixedo/services/homepage/services.nix | 2 +- hosts/nixedo/services/uptime-kuma.nix | 4 +- hosts/nixedo/services/vaultwarden.nix | 4 +- hosts/t480/configuration.nix | 46 ++++---- hosts/t490/configuration.nix | 12 +-- hosts/t490/services/redshift.nix | 4 +- modules/home-manager/cli/bluetuith.nix | 4 +- modules/home-manager/cli/direnv.nix | 4 +- modules/home-manager/cli/fzf.nix | 4 +- modules/home-manager/cli/git.nix | 4 +- modules/home-manager/cli/node.nix | 4 +- modules/home-manager/cli/notes.nix | 4 +- modules/home-manager/cli/ranger.nix | 4 +- modules/home-manager/cli/starship.nix | 4 +- modules/home-manager/cli/tmux-sessionizer.nix | 4 +- modules/home-manager/cli/tmux.nix | 4 +- modules/home-manager/cli/zsh/default.nix | 4 +- .../home-manager/coding/neovim/default.nix | 4 +- .../home-manager/coding/phpactor/default.nix | 4 +- .../home-manager/desktop/browsers/firefox.nix | 4 +- .../desktop/browsers/qutebrowser.nix | 4 +- modules/home-manager/desktop/flameshot.nix | 4 +- modules/home-manager/desktop/gtk.nix | 4 +- .../home-manager/desktop/media/handbrake.nix | 4 +- .../home-manager/desktop/media/makemkv.nix | 4 +- modules/home-manager/desktop/media/mpv.nix | 4 +- modules/nixos/cli/docker.nix | 4 +- modules/nixos/cli/password-store.nix | 4 +- modules/nixos/cli/podman.nix | 4 +- modules/nixos/core/bluetooth.nix | 4 +- modules/nixos/core/openssh.nix | 4 +- modules/nixos/core/pipewire.nix | 4 +- modules/nixos/core/xbanish.nix | 4 +- modules/nixos/core/zram.nix | 4 +- modules/nixos/desktop/dconf.nix | 4 +- modules/nixos/desktop/dwm/default.nix | 4 +- modules/nixos/desktop/fonts.nix | 4 +- modules/nixos/desktop/media/makemkv.nix | 4 +- modules/nixos/desktop/st.nix | 4 +- modules/nixos/desktop/thunar.nix | 4 +- .../nixos/homelab/gitea-actions-runner.nix | 4 +- users/opdavies.nix | 4 +- 58 files changed, 224 insertions(+), 242 deletions(-) diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index 44720f29..1282e998 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -3,46 +3,44 @@ { imports = [ ../common ]; - features = { - cli = { - direnv.enable = true; - fzf.enable = true; + cli = { + direnv.enable = true; + fzf.enable = true; - git = { - enable = true; + git = { + enable = true; - user.emailAddress = "oliver.davies@tfw.wales"; - }; - - node.enable = true; - ranger.enable = true; - starship.enable = true; - tmux.enable = true; - - tmux-sessionizer = { - enable = true; - - directories = - let - inherit (config.xdg.userDirs) documents extraConfig; - - repos = extraConfig.XDG_REPOS_DIR; - in - options.features.cli.tmux-sessionizer.directories.default - ++ [ - repos - "${repos}/*" - documents - ]; - }; - - zsh.enable = true; + user.emailAddress = "oliver.davies@tfw.wales"; }; - coding = { - neovim.enable = true; - phpactor.enable = true; + node.enable = true; + ranger.enable = true; + starship.enable = true; + tmux.enable = true; + + tmux-sessionizer = { + enable = true; + + directories = + let + inherit (config.xdg.userDirs) documents extraConfig; + + repos = extraConfig.XDG_REPOS_DIR; + in + options.cli.tmux-sessionizer.directories.default + ++ [ + repos + "${repos}/*" + documents + ]; }; + + zsh.enable = true; + }; + + coding = { + neovim.enable = true; + phpactor.enable = true; }; xdg.configFile."pam-gnupg".text = '' diff --git a/home/opdavies/lemp11.nix b/home/opdavies/lemp11.nix index 1917a2db..925d863d 100644 --- a/home/opdavies/lemp11.nix +++ b/home/opdavies/lemp11.nix @@ -1,13 +1,11 @@ { imports = [ ../common ]; - features = { - cli.zsh.enable = true; + cli.zsh.enable = true; - desktop.media = { - handbrake.enable = true; - makemkv.enable = true; - mpv.enable = true; - }; + desktop.media = { + handbrake.enable = true; + makemkv.enable = true; + mpv.enable = true; }; } diff --git a/home/opdavies/nixedo.nix b/home/opdavies/nixedo.nix index 51ddf98a..636f67d1 100644 --- a/home/opdavies/nixedo.nix +++ b/home/opdavies/nixedo.nix @@ -1,11 +1,9 @@ { imports = [ ../common ]; - features = { - cli = { - fzf.enable = true; - starship.enable = true; - zsh.enable = true; - }; + cli = { + fzf.enable = true; + starship.enable = true; + zsh.enable = true; }; } diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 407a4807..5035f03a 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -3,68 +3,66 @@ { imports = [ ../common ]; - features = { - cli = { - bluetuith.enable = true; - direnv.enable = true; - fzf.enable = true; + cli = { + bluetuith.enable = true; + direnv.enable = true; + fzf.enable = true; - git = { - enable = true; + git = { + enable = true; - user.emailAddress = "oliver@oliverdavies.uk"; - }; - - node.enable = true; - notes.enable = true; - ranger.enable = true; - starship.enable = true; - tmux.enable = true; - - tmux-sessionizer = { - enable = true; - - directories = - let - inherit (config.xdg.userDirs) documents extraConfig; - - repos = extraConfig.XDG_REPOS_DIR; - in - options.features.cli.tmux-sessionizer.directories.default - ++ [ - repos - "${repos}/*" - documents - ]; - }; - - zsh.enable = true; + user.emailAddress = "oliver@oliverdavies.uk"; }; - coding = { - neovim.enable = true; - phpactor.enable = true; + node.enable = true; + notes.enable = true; + ranger.enable = true; + starship.enable = true; + tmux.enable = true; + + tmux-sessionizer = { + enable = true; + + directories = + let + inherit (config.xdg.userDirs) documents extraConfig; + + repos = extraConfig.XDG_REPOS_DIR; + in + options.cli.tmux-sessionizer.directories.default + ++ [ + repos + "${repos}/*" + documents + ]; }; - desktop = { - browsers = { - firefox = { - enable = true; + zsh.enable = true; + }; - homepageUrl = "https://nixedo.oliverdavies.uk"; - }; + coding = { + neovim.enable = true; + phpactor.enable = true; + }; - qutebrowser.enable = true; + desktop = { + browsers = { + firefox = { + enable = true; + + homepageUrl = "https://nixedo.oliverdavies.uk"; }; - flameshot.enable = true; - gtk.enable = true; + qutebrowser.enable = true; + }; - media = { - handbrake.enable = true; - makemkv.enable = true; - mpv.enable = true; - }; + flameshot.enable = true; + gtk.enable = true; + + media = { + handbrake.enable = true; + makemkv.enable = true; + mpv.enable = true; }; }; diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index ac37da82..75f7b504 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -7,11 +7,9 @@ ./modules/wiki.nix ]; - features = { - cli = { - docker.enable = true; - password-store.enable = true; - }; + cli = { + docker.enable = true; + password-store.enable = true; }; wsl = { diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 7580a61f..0c7c292c 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -11,15 +11,13 @@ ../../users/eric.nix ]; - features = { - core = { - bluetooth.enable = true; - zram.enable = true; - }; - - desktop.media.makemkv.enable = true; + core = { + bluetooth.enable = true; + zram.enable = true; }; + desktop.media.makemkv.enable = true; + # Bootloader. boot = { loader = { diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 71450ffc..36051781 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -16,11 +16,9 @@ ../../users/opdavies.nix ]; - features = { - core.openssh.enable = true; - cli.podman.enable = true; - desktop.dconf.enable = true; - }; + core.openssh.enable = true; + cli.podman.enable = true; + desktop.dconf.enable = true; services.logind.lidSwitchExternalPower = "ignore"; diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 16854bf8..cd08e4d6 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -3,7 +3,7 @@ postgresqlBackup.enable = true; }; - features.homelab = { + homelab = { enable = true; domain = "oliverdavies.uk"; diff --git a/hosts/nixedo/modules/audiobookshelf.nix b/hosts/nixedo/modules/audiobookshelf.nix index 5b494839..8e30bdd4 100644 --- a/hosts/nixedo/modules/audiobookshelf.nix +++ b/hosts/nixedo/modules/audiobookshelf.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "audiobookshelf"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 95cb26e0..8dfa947e 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -10,10 +10,10 @@ with lib; let cfg = homelab.services.${service}; service = "tubearchivist"; - homelab = config.features.homelab; + homelab = config.homelab; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; port = mkOption { diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index f9d47226..d5be97bb 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -3,7 +3,7 @@ with lib; { - options.features.homelab = { + options.homelab = { enable = mkEnableOption "Enable homelab services and configuration"; domain = mkOption { diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index be51de4d..4e63544c 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "forgejo"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index 76f13072..51a7a472 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -9,11 +9,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "immich"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 07992fbb..1d08c62a 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "jellyfin"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 6444fd31..8735b560 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.paperless; - homelab = config.features.homelab; + homelab = config.homelab; service = "paperless"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 26cbc41d..18d20af2 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -9,12 +9,12 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; opts = options.services.${service}; service = "homepage-dashboard"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; port = mkOption { diff --git a/hosts/nixedo/services/homepage/services.nix b/hosts/nixedo/services/homepage/services.nix index a0c3c232..52c8cec8 100644 --- a/hosts/nixedo/services/homepage/services.nix +++ b/hosts/nixedo/services/homepage/services.nix @@ -3,7 +3,7 @@ with lib; let - homelab = config.features.homelab.services; + homelab = config.homelab.services; homepageCategories = [ "Media" diff --git a/hosts/nixedo/services/uptime-kuma.nix b/hosts/nixedo/services/uptime-kuma.nix index bdda45b5..2bdb1487 100644 --- a/hosts/nixedo/services/uptime-kuma.nix +++ b/hosts/nixedo/services/uptime-kuma.nix @@ -4,11 +4,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "uptime-kuma"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix index fa964665..8c00fc13 100644 --- a/hosts/nixedo/services/vaultwarden.nix +++ b/hosts/nixedo/services/vaultwarden.nix @@ -9,11 +9,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "vaultwarden"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; url = mkOption { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 4e4a2dc9..61796b4f 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,33 +12,31 @@ ../../users/opdavies.nix ]; - features = { - cli.password-store = { - enable = true; + cli.password-store = { + enable = true; - extensions = with pkgs.passExtensions; [ - pass-audit - pass-otp - pass-update - ]; - }; + extensions = with pkgs.passExtensions; [ + pass-audit + pass-otp + pass-update + ]; + }; - core = { - bluetooth.enable = true; - openssh.enable = true; - pipewire.enable = true; - xbanish.enable = true; - zram.enable = true; - }; + core = { + bluetooth.enable = true; + openssh.enable = true; + pipewire.enable = true; + xbanish.enable = true; + zram.enable = true; + }; - desktop = { - dconf.enable = true; - dwm.enable = true; - fonts.enable = true; - media.makemkv.enable = true; - st.enable = true; - thunar.enable = true; - }; + desktop = { + dconf.enable = true; + dwm.enable = true; + fonts.enable = true; + media.makemkv.enable = true; + st.enable = true; + thunar.enable = true; }; boot = { diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 925d17f3..8c737772 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -14,15 +14,13 @@ ../../users/opdavies.nix ]; - features = { - core = { - bluetooth.enable = true; - zram.enable = true; - }; - - desktop.dconf.enable = true; + core = { + bluetooth.enable = true; + zram.enable = true; }; + desktop.dconf.enable = true; + boot = { loader = { systemd-boot = { diff --git a/hosts/t490/services/redshift.nix b/hosts/t490/services/redshift.nix index 2bd9d4a1..f7e3bc71 100644 --- a/hosts/t490/services/redshift.nix +++ b/hosts/t490/services/redshift.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.redshift; + cfg = config.redshift; in { - options.features.redshift.enable = mkEnableOption "Enable redshift"; + options.redshift.enable = mkEnableOption "Enable redshift"; config = mkIf cfg.enable { location = { diff --git a/modules/home-manager/cli/bluetuith.nix b/modules/home-manager/cli/bluetuith.nix index fff34766..b699183f 100644 --- a/modules/home-manager/cli/bluetuith.nix +++ b/modules/home-manager/cli/bluetuith.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.bluetuith; + cfg = config.cli.bluetuith; in { - options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + options.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/cli/direnv.nix b/modules/home-manager/cli/direnv.nix index 7c8d924b..875e27c3 100644 --- a/modules/home-manager/cli/direnv.nix +++ b/modules/home-manager/cli/direnv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.direnv; + cfg = config.cli.direnv; in { - options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; + options.cli.direnv.enable = mkEnableOption "Enable direnv"; config = mkIf cfg.enable { programs.direnv = { diff --git a/modules/home-manager/cli/fzf.nix b/modules/home-manager/cli/fzf.nix index aae36ec1..2abbe2a1 100644 --- a/modules/home-manager/cli/fzf.nix +++ b/modules/home-manager/cli/fzf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.fzf; + cfg = config.cli.fzf; in { - options.features.cli.fzf.enable = mkEnableOption "Enable fzf"; + options.cli.fzf.enable = mkEnableOption "Enable fzf"; config = mkIf cfg.enable { programs.fzf = { diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 5c678b0d..b49097ff 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.git; + cfg = config.cli.git; in { - options.features.cli.git = { + options.cli.git = { enable = mkEnableOption "Enable git"; user = mkOption { diff --git a/modules/home-manager/cli/node.nix b/modules/home-manager/cli/node.nix index fba772c1..b0db6874 100644 --- a/modules/home-manager/cli/node.nix +++ b/modules/home-manager/cli/node.nix @@ -3,12 +3,12 @@ with lib; let - cfg = config.features.cli.node; + cfg = config.cli.node; inherit (config.xdg) configHome dataHome stateHome; in { - options.features.cli.node.enable = mkEnableOption "Enable node"; + options.cli.node.enable = mkEnableOption "Enable node"; config = mkIf cfg.enable { xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix index 686e2e09..ce16e525 100644 --- a/modules/home-manager/cli/notes.nix +++ b/modules/home-manager/cli/notes.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.notes; + cfg = config.cli.notes; in { - options.features.cli.notes.enable = mkEnableOption "Enable notes"; + options.cli.notes.enable = mkEnableOption "Enable notes"; config = mkIf cfg.enable { xdg = { diff --git a/modules/home-manager/cli/ranger.nix b/modules/home-manager/cli/ranger.nix index 8fdc10cb..7a05fd57 100644 --- a/modules/home-manager/cli/ranger.nix +++ b/modules/home-manager/cli/ranger.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.ranger; + cfg = config.cli.ranger; in { - options.features.cli.ranger.enable = mkEnableOption "Enable ranger"; + options.cli.ranger.enable = mkEnableOption "Enable ranger"; config = mkIf cfg.enable { programs.ranger.enable = true; diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix index 57cc4f6d..a3673af6 100644 --- a/modules/home-manager/cli/starship.nix +++ b/modules/home-manager/cli/starship.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.starship; + cfg = config.cli.starship; in { - options.features.cli.starship.enable = mkEnableOption "Enable starship"; + options.cli.starship.enable = mkEnableOption "Enable starship"; config = mkIf cfg.enable { programs.starship = diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 5d945da3..20e82fa8 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.tmux-sessionizer; + cfg = config.cli.tmux-sessionizer; in { - options.features.cli.tmux-sessionizer = { + options.cli.tmux-sessionizer = { enable = mkEnableOption "Enable tmux-sessionizer"; directories = mkOption { diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix index 4ecf7d10..fb12514b 100644 --- a/modules/home-manager/cli/tmux.nix +++ b/modules/home-manager/cli/tmux.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.tmux; + cfg = config.cli.tmux; in { - options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; + options.cli.tmux.enable = mkEnableOption "Enable tmux"; config = mkIf cfg.enable { programs.tmux = { diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index ab60177c..ff44e389 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.zsh; + cfg = config.cli.zsh; in { - options.features.cli.zsh.enable = mkEnableOption "Enable zsh"; + options.cli.zsh.enable = mkEnableOption "Enable zsh"; config = mkIf cfg.enable { programs.zsh = { diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index bd0b5b4c..6bf7c980 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.coding.neovim; + cfg = config.coding.neovim; in { - options.features.coding.neovim.enable = mkEnableOption "Enable neovim"; + options.coding.neovim.enable = mkEnableOption "Enable neovim"; config = mkIf cfg.enable { programs.neovim = diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/coding/phpactor/default.nix index 6563aab7..17f4c681 100644 --- a/modules/home-manager/coding/phpactor/default.nix +++ b/modules/home-manager/coding/phpactor/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.coding.phpactor; + cfg = config.coding.phpactor; in { - options.features.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; + options.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/browsers/firefox.nix b/modules/home-manager/desktop/browsers/firefox.nix index dbee93d6..4b2b7418 100644 --- a/modules/home-manager/desktop/browsers/firefox.nix +++ b/modules/home-manager/desktop/browsers/firefox.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.browsers.firefox; + cfg = config.desktop.browsers.firefox; in { - options.features.desktop.browsers.firefox = { + options.desktop.browsers.firefox = { enable = mkEnableOption "Enable firefox"; homepageUrl = mkOption { diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix index ff115fe7..ec90d979 100644 --- a/modules/home-manager/desktop/browsers/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.desktop.browsers.qutebrowser; + cfg = config.desktop.browsers.qutebrowser; in { - options.features.desktop.browsers.qutebrowser.enable = + options.desktop.browsers.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; config = mkIf cfg.enable { diff --git a/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/desktop/flameshot.nix index bf0ba018..f8d51be9 100644 --- a/modules/home-manager/desktop/flameshot.nix +++ b/modules/home-manager/desktop/flameshot.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.desktop.flameshot; + cfg = config.desktop.flameshot; in { - options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + options.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; config = mkIf cfg.enable { services.flameshot = { diff --git a/modules/home-manager/desktop/gtk.nix b/modules/home-manager/desktop/gtk.nix index 3f737bc7..84b2fefc 100644 --- a/modules/home-manager/desktop/gtk.nix +++ b/modules/home-manager/desktop/gtk.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.gtk; + cfg = config.desktop.gtk; in { - options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; + options.desktop.gtk.enable = mkEnableOption "Enable gtk"; config = mkIf cfg.enable { gtk = with pkgs; { diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix index e9e0c65b..5da7514e 100644 --- a/modules/home-manager/desktop/media/handbrake.nix +++ b/modules/home-manager/desktop/media/handbrake.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.media.handbrake; + cfg = config.desktop.media.handbrake; in { - options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + options.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/media/makemkv.nix b/modules/home-manager/desktop/media/makemkv.nix index 01ee6c04..5cfa207c 100644 --- a/modules/home-manager/desktop/media/makemkv.nix +++ b/modules/home-manager/desktop/media/makemkv.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.media.makemkv; + cfg = config.desktop.media.makemkv; in { - options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + options.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix index 1da587e7..1a59cbda 100644 --- a/modules/home-manager/desktop/media/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.desktop.media.mpv; + cfg = config.desktop.media.mpv; in { - options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; + options.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; config = mkIf cfg.enable { programs.mpv = { diff --git a/modules/nixos/cli/docker.nix b/modules/nixos/cli/docker.nix index 916a7cae..fc27bcbe 100644 --- a/modules/nixos/cli/docker.nix +++ b/modules/nixos/cli/docker.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.docker; + cfg = config.cli.docker; in { - options.features.cli.docker.enable = mkEnableOption "Enable docker"; + options.cli.docker.enable = mkEnableOption "Enable docker"; config = mkIf cfg.enable { virtualisation = { diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/cli/password-store.nix index 61331aee..362cc7dd 100644 --- a/modules/nixos/cli/password-store.nix +++ b/modules/nixos/cli/password-store.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.password-store; + cfg = config.cli.password-store; in { - options.features.cli.password-store = { + options.cli.password-store = { enable = mkEnableOption "Enable pass"; extensions = mkOption { diff --git a/modules/nixos/cli/podman.nix b/modules/nixos/cli/podman.nix index edda7492..5375ded5 100644 --- a/modules/nixos/cli/podman.nix +++ b/modules/nixos/cli/podman.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.podman; + cfg = config.cli.podman; in { - options.features.cli.podman.enable = mkEnableOption "Enable podman"; + options.cli.podman.enable = mkEnableOption "Enable podman"; config = mkIf cfg.enable { virtualisation = { diff --git a/modules/nixos/core/bluetooth.nix b/modules/nixos/core/bluetooth.nix index dbf51398..4a2bfad7 100644 --- a/modules/nixos/core/bluetooth.nix +++ b/modules/nixos/core/bluetooth.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.core.bluetooth; + cfg = config.core.bluetooth; in { - options.features.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; + options.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; config = mkIf cfg.enable { hardware.bluetooth.enable = true; diff --git a/modules/nixos/core/openssh.nix b/modules/nixos/core/openssh.nix index 3d09487e..b248ab34 100644 --- a/modules/nixos/core/openssh.nix +++ b/modules/nixos/core/openssh.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.core.openssh; + cfg = config.core.openssh; in { - options.features.core.openssh.enable = mkEnableOption "Enable openssh"; + options.core.openssh.enable = mkEnableOption "Enable openssh"; config = mkIf cfg.enable { services.openssh = { diff --git a/modules/nixos/core/pipewire.nix b/modules/nixos/core/pipewire.nix index 557846bd..26e8014b 100644 --- a/modules/nixos/core/pipewire.nix +++ b/modules/nixos/core/pipewire.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.core.pipewire; + cfg = config.core.pipewire; in { - options.features.core.pipewire.enable = mkEnableOption "Enable pipewire"; + options.core.pipewire.enable = mkEnableOption "Enable pipewire"; config = mkIf cfg.enable { services.pipewire = { diff --git a/modules/nixos/core/xbanish.nix b/modules/nixos/core/xbanish.nix index 723eeff9..41142461 100644 --- a/modules/nixos/core/xbanish.nix +++ b/modules/nixos/core/xbanish.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.core.xbanish; + cfg = config.core.xbanish; in { - options.features.core.xbanish.enable = mkEnableOption "Enable xbanish"; + options.core.xbanish.enable = mkEnableOption "Enable xbanish"; config = mkIf cfg.enable { services.xbanish.enable = true; diff --git a/modules/nixos/core/zram.nix b/modules/nixos/core/zram.nix index a0d0046a..fe980915 100644 --- a/modules/nixos/core/zram.nix +++ b/modules/nixos/core/zram.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.core.zram; + cfg = config.core.zram; in { - options.features.core.zram.enable = mkEnableOption "Enable zram"; + options.core.zram.enable = mkEnableOption "Enable zram"; config = mkIf cfg.enable { zramSwap = { diff --git a/modules/nixos/desktop/dconf.nix b/modules/nixos/desktop/dconf.nix index eebbfa2c..ee0c51e7 100644 --- a/modules/nixos/desktop/dconf.nix +++ b/modules/nixos/desktop/dconf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.desktop.dconf; + cfg = config.desktop.dconf; in { - options.features.desktop.dconf.enable = mkEnableOption "Enable dconf"; + options.desktop.dconf.enable = mkEnableOption "Enable dconf"; config = mkIf cfg.enable { programs.dconf.enable = true; diff --git a/modules/nixos/desktop/dwm/default.nix b/modules/nixos/desktop/dwm/default.nix index 2f9f4a40..31c1c999 100644 --- a/modules/nixos/desktop/dwm/default.nix +++ b/modules/nixos/desktop/dwm/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.dwm; + cfg = config.desktop.dwm; in { - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.desktop.dwm.enable = mkEnableOption "Enable dwm"; config = mkIf cfg.enable { services = { diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix index 371b2fe1..8c49a2f6 100644 --- a/modules/nixos/desktop/fonts.nix +++ b/modules/nixos/desktop/fonts.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.fonts; + cfg = config.desktop.fonts; in { - options.features.desktop.fonts.enable = mkEnableOption "Enable fonts"; + options.desktop.fonts.enable = mkEnableOption "Enable fonts"; config = mkIf cfg.enable { fonts = { diff --git a/modules/nixos/desktop/media/makemkv.nix b/modules/nixos/desktop/media/makemkv.nix index 2b25b7aa..2d30d7ea 100644 --- a/modules/nixos/desktop/media/makemkv.nix +++ b/modules/nixos/desktop/media/makemkv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.desktop.media.makemkv; + cfg = config.desktop.media.makemkv; in { - options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + options.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; config = mkIf cfg.enable { boot.kernelModules = [ "sg" ]; diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix index 00e9b6e4..17422966 100644 --- a/modules/nixos/desktop/st.nix +++ b/modules/nixos/desktop/st.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.st; + cfg = config.desktop.st; in { - options.features.desktop.st.enable = mkEnableOption "Enable st"; + options.desktop.st.enable = mkEnableOption "Enable st"; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ diff --git a/modules/nixos/desktop/thunar.nix b/modules/nixos/desktop/thunar.nix index 4e9676ab..b6b08214 100644 --- a/modules/nixos/desktop/thunar.nix +++ b/modules/nixos/desktop/thunar.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.desktop.thunar; + cfg = config.desktop.thunar; in { - options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; + options.desktop.thunar.enable = mkEnableOption "Enable thunar"; config = mkIf cfg.enable { programs.thunar = { diff --git a/modules/nixos/homelab/gitea-actions-runner.nix b/modules/nixos/homelab/gitea-actions-runner.nix index 2e961eef..9318e22e 100644 --- a/modules/nixos/homelab/gitea-actions-runner.nix +++ b/modules/nixos/homelab/gitea-actions-runner.nix @@ -10,11 +10,11 @@ with lib; let cfg = homelab.services.${service}; - homelab = config.features.homelab; + homelab = config.homelab; service = "gitea-actions-runner"; in { - options.features.homelab.services.${service} = { + options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; }; diff --git a/users/opdavies.nix b/users/opdavies.nix index 275a315f..6180d2b2 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -18,8 +18,8 @@ with lib; "networkmanager" "wheel" ] - ++ optional config.features.cli.docker.enable "docker" - ++ optional config.features.cli.podman.enable "podman"; + ++ optional config.cli.docker.enable "docker" + ++ optional config.cli.podman.enable "podman"; packages = with pkgs; [ qrencode From 0f98932c6396c827b390db4f283d5cb0a7c2d167 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 17:22:30 +0100 Subject: [PATCH 1792/2258] Remove vim-caser --- modules/home-manager/coding/neovim/default.nix | 1 - pkgs/vim-plugins/vim-plugins.json | 8 -------- 2 files changed, 9 deletions(-) diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 6bf7c980..44db529e 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -35,7 +35,6 @@ in refactoring-nvim standard-vim undotree - vim-caser vim-nix vim-pasta vim-repeat diff --git a/pkgs/vim-plugins/vim-plugins.json b/pkgs/vim-plugins/vim-plugins.json index a2fb3fef..14173715 100644 --- a/pkgs/vim-plugins/vim-plugins.json +++ b/pkgs/vim-plugins/vim-plugins.json @@ -23,14 +23,6 @@ "hash": "sha256-9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E=" }, - "vim-caser": { - "owner": "arthurxavierx", - "repo": "vim-caser", - "rev": "6bc9f41d170711c58e0157d882a5fe8c30f34bf6", - "version": "unstable-2021-07-27", - "hash": "sha256-PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps=" - }, - "vim-textobj-indent": { "owner": "kana", "repo": "vim-textobj-indent", From ec71c7bd9d4369331e08dd7d1845da64249c90b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 19:14:10 +0100 Subject: [PATCH 1793/2258] Fix wallpaper path --- modules/home-manager/cli/scripts/scripts/setbg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/scripts/scripts/setbg b/modules/home-manager/cli/scripts/scripts/setbg index 4f0bf61c..cd16fb8d 100755 --- a/modules/home-manager/cli/scripts/scripts/setbg +++ b/modules/home-manager/cli/scripts/scripts/setbg @@ -1,3 +1,3 @@ #!/usr/bin/env bash -xwallpaper --zoom ~/${XDG_REPOS_DIR}/nixos-config/wallpaper/wallpaper.jpg +xwallpaper --zoom ~/${XDG_REPOS_DIR}/personal/nixos-config/wallpaper/wallpaper.jpg From 1c7dcb5b777295fd80c11d4c6283e6c9f122fe0b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 19:33:48 +0100 Subject: [PATCH 1794/2258] Use just --- .forgejo/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/check.yml b/.forgejo/workflows/check.yml index 1cc28df3..f56dc367 100644 --- a/.forgejo/workflows/check.yml +++ b/.forgejo/workflows/check.yml @@ -4,4 +4,4 @@ jobs: runs-on: nixos steps: - uses: actions/checkout@v4 - - run: nix flake check + - run: nix develop -c just check From 518bfe9cd40b95f10e217a6ff0187cca30697dce Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 20:40:47 +0100 Subject: [PATCH 1795/2258] Add Home Assistant --- hosts/nixedo/homelab.nix | 1 + hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/modules/default.nix | 1 + hosts/nixedo/modules/home-assistant.nix | 86 +++++++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 hosts/nixedo/modules/home-assistant.nix diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index cd08e4d6..5ddb8541 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -18,6 +18,7 @@ }; gitea-actions-runner.enable = true; + home-assistant.enable = true; homepage-dashboard = { enable = true; diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 3e4e863f..cb6aaac9 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -26,6 +26,7 @@ "code" "eric" "florida-drupalcamp-tailwind-css" + "home" "jellyfin" "luke" "nixedo" diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index d5be97bb..67db8b36 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -18,6 +18,7 @@ with lib; ./cloudflared.nix ./containers ./forgejo.nix + ./home-assistant.nix ./immich.nix ./jellyfin.nix ./nginx diff --git a/hosts/nixedo/modules/home-assistant.nix b/hosts/nixedo/modules/home-assistant.nix new file mode 100644 index 00000000..02a3b9cb --- /dev/null +++ b/hosts/nixedo/modules/home-assistant.nix @@ -0,0 +1,86 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.homelab; + service = "home-assistant"; +in +{ + options.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "home.${homelab.domain}"; + type = types.str; + }; + + homepage.name = mkOption { + default = "Home Assisant"; + type = types.str; + }; + + homepage.description = mkOption { + default = "Open source home automation that puts local control and privacy first."; + type = types.str; + }; + + homepage.icon = mkOption { + default = "home-assistant"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Services"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + home-assistant = { + enable = true; + + config = { + external_url = "https://home.${homelab.domain}"; + name = "Home"; + time_zone = "Europe/London"; + unit_system = "metric"; + + http = { + trusted_proxies = [ + "127.0.0.1" + "::1" + ]; + use_x_forwarded_for = true; + }; + }; + + extraComponents = [ + "default_config" + "elgato" + "hive" + "met" + "mobile_app" + "sia" + "weather" + "webostv" + ]; + + openFirewall = true; + }; + + nginx.virtualHosts."${cfg.url}" = { + forceSSL = true; + useACMEHost = homelab.domain; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.${service}.config.http.server_port}"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + }; + }; + }; +} From f42833545b88c0522815ea5634c92f7090dc97b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 22:30:39 +0100 Subject: [PATCH 1796/2258] Refactor homelab ports --- hosts/nixedo/homelab.nix | 10 ++---- hosts/nixedo/modules/containers/pi-hole.nix | 9 ++--- .../modules/containers/tubearchivist.nix | 11 +++--- hosts/nixedo/modules/nginx/default.nix | 2 +- hosts/nixedo/modules/nginx/ports.nix | 15 -------- hosts/nixedo/modules/nginx/sites.nix | 16 +++------ .../modules/nginx/www.oliverdavies.uk.nix | 7 ++-- hosts/nixedo/ports.nix | 35 +++++++++++++++++++ hosts/nixedo/services/homepage/default.nix | 15 ++------ hosts/nixedo/services/vaultwarden.nix | 2 +- 10 files changed, 61 insertions(+), 61 deletions(-) create mode 100644 hosts/nixedo/ports.nix diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 5ddb8541..837e968a 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -1,4 +1,6 @@ { + imports = [ ./ports.nix ]; + services = { postgresqlBackup.enable = true; }; @@ -19,13 +21,7 @@ gitea-actions-runner.enable = true; home-assistant.enable = true; - - homepage-dashboard = { - enable = true; - - port = 8097; - }; - + homepage-dashboard.enable = true; immich.enable = true; jellyfin.enable = true; paperless.enable = true; diff --git a/hosts/nixedo/modules/containers/pi-hole.nix b/hosts/nixedo/modules/containers/pi-hole.nix index 9923d87d..7d523e89 100644 --- a/hosts/nixedo/modules/containers/pi-hole.nix +++ b/hosts/nixedo/modules/containers/pi-hole.nix @@ -1,10 +1,11 @@ -{ lib, ... }: +{ config, lib, ... }: let - port = 8082; + service = "pihole"; + port = config.homelab.ports.${service}; in { - virtualisation.oci-containers.containers."pihole" = { + virtualisation.oci-containers.containers.${service} = { image = "pihole/pihole:latest"; environment = { @@ -22,7 +23,7 @@ in "53:53/tcp" "53:53/udp" "67:67/udp" - "${toString port}:80/tcp" + "${port}:80/tcp" ]; log-driver = "journald"; diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 8dfa947e..12f57dd8 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -11,16 +11,13 @@ let cfg = homelab.services.${service}; service = "tubearchivist"; homelab = config.homelab; + + port = homelab.ports.${service}; in { options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; - port = mkOption { - default = 8099; - type = types.port; - }; - url = mkOption { default = "${service}.${homelab.domain}"; type = types.str; @@ -177,7 +174,7 @@ in ]; ports = [ - "${toString cfg.port}:8000/tcp" + "${toString port}:8000/tcp" ]; dependsOn = [ @@ -321,7 +318,7 @@ in useACMEHost = homelab.domain; locations."/" = { - proxyPass = "http://localhost:${toString cfg.port}"; + proxyPass = "http://localhost:${toString port}"; recommendedProxySettings = true; proxyWebsockets = true; diff --git a/hosts/nixedo/modules/nginx/default.nix b/hosts/nixedo/modules/nginx/default.nix index be60c28a..6d397a25 100644 --- a/hosts/nixedo/modules/nginx/default.nix +++ b/hosts/nixedo/modules/nginx/default.nix @@ -1,7 +1,7 @@ { config, ... }: let - sites = import ./sites.nix; + sites = import ./sites.nix { ports = config.homelab.ports; }; in { services = { diff --git a/hosts/nixedo/modules/nginx/ports.nix b/hosts/nixedo/modules/nginx/ports.nix index fb75d455..e69de29b 100644 --- a/hosts/nixedo/modules/nginx/ports.nix +++ b/hosts/nixedo/modules/nginx/ports.nix @@ -1,15 +0,0 @@ -{ - bootstrap-with-tailwind = 8081; - eric = 8084; - florida-drupalcamp-tailwind-css = 8083; - luke = 8094; - phpsw-sculpin-demo = 8085; - rebuilding-acquia = 8086; - rebuilding-bartik = 8087; - rebuilding-bristol-js = 8088; - rebuilding-symfony = 8089; - tailwindcss-demo = 8090; - talking-drupal-tailwindcss = 8093; - wp-tailwind = 8091; - zet = 8092; -} diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 4a982436..b5841173 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -1,20 +1,14 @@ +{ ports }: + let - domain = "oliverdavies.uk"; - - ports = import ./ports.nix; - mkSite = name: overrides: let root = "/var/www/vhosts/${name}" + (overrides.rootSuffix or ""); + port = ports."nginx-${name}"; + url = "${name}.oliverdavies.uk"; in - { - inherit root; - - port = ports.${name}; - url = "${name}.${domain}"; - } - // overrides; + { inherit port root url; } // overrides; sites = [ (mkSite "eric" { diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix index 600b4ed1..ce3178bf 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix @@ -1,5 +1,8 @@ +{ config, ... }: + let - port = 8095; + ports = config.homelab.ports; + port = ports.nginx-website-sculpin; redirects = import ./www.oliverdavies.uk-redirects.nix; @@ -18,7 +21,7 @@ let "tome-test" ]; - port = 8098; + port = ports.nginx-website-tome; }; tomeLocations = builtins.listToAttrs ( diff --git a/hosts/nixedo/ports.nix b/hosts/nixedo/ports.nix new file mode 100644 index 00000000..26811b8f --- /dev/null +++ b/hosts/nixedo/ports.nix @@ -0,0 +1,35 @@ +{ lib, ... }: + +let + inherit (lib) mkOption types; +in +{ + options.homelab.ports = mkOption { + internal = true; + type = types.attrsOf types.port; + }; + + config.homelab.ports = { + homepage-dashboard = 8097; + pihole = 8082; + tubearchivist = 8099; + vaultwarden = 8022; + + nginx-website-sculpin = 8095; + nginx-website-tome = 8098; + + nginx-bootstrap-with-tailwind = 8081; + nginx-eric = 8084; + nginx-florida-drupalcamp-tailwind-css = 8083; + nginx-luke = 8094; + nginx-phpsw-sculpin-demo = 8085; + nginx-rebuilding-acquia = 8086; + nginx-rebuilding-bartik = 8087; + nginx-rebuilding-bristol-js = 8088; + nginx-rebuilding-symfony = 8089; + nginx-tailwindcss-demo = 8090; + nginx-talking-drupal-tailwindcss = 8093; + nginx-wp-tailwind = 8091; + nginx-zet = 8092; + }; +} diff --git a/hosts/nixedo/services/homepage/default.nix b/hosts/nixedo/services/homepage/default.nix index 18d20af2..df0b543b 100644 --- a/hosts/nixedo/services/homepage/default.nix +++ b/hosts/nixedo/services/homepage/default.nix @@ -1,27 +1,16 @@ -{ - config, - lib, - options, - ... -}: +{ config, lib, ... }: with lib; let cfg = homelab.services.${service}; homelab = config.homelab; - opts = options.services.${service}; service = "homepage-dashboard"; in { options.homelab.services.${service} = { enable = mkEnableOption "Enable ${service}"; - port = mkOption { - default = opts.listenPort.default; - type = types.port; - }; - url = mkOption { default = "${config.networking.hostName}.${homelab.domain}"; type = types.str; @@ -32,7 +21,7 @@ in services = { ${service} = { enable = true; - listenPort = cfg.port; + listenPort = homelab.ports.${service}; openFirewall = true; customCSS = '' diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix index 8c00fc13..7c97cc82 100644 --- a/hosts/nixedo/services/vaultwarden.nix +++ b/hosts/nixedo/services/vaultwarden.nix @@ -55,7 +55,7 @@ in config = { DOMAIN = "https://${cfg.url}"; ROCKET_ADDRESS = "127.0.0.1"; - ROCKET_PORT = 8222; + ROCKET_PORT = homelab.ports.${service}; SIGNUPS_ALLOWED = false; }; }; From 58c3d276b0a7f9994f061fc208525574c5f02fb4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 3 May 2025 22:57:57 +0100 Subject: [PATCH 1797/2258] Refactor website vhost configuration --- hosts/nixedo/modules/nginx/default.nix | 2 +- .../default.nix} | 8 +++----- .../redirects.nix} | 0 3 files changed, 4 insertions(+), 6 deletions(-) rename hosts/nixedo/modules/nginx/{www.oliverdavies.uk.nix => www.oliverdavies.uk/default.nix} (91%) rename hosts/nixedo/modules/nginx/{www.oliverdavies.uk-redirects.nix => www.oliverdavies.uk/redirects.nix} (100%) diff --git a/hosts/nixedo/modules/nginx/default.nix b/hosts/nixedo/modules/nginx/default.nix index 6d397a25..b28403e0 100644 --- a/hosts/nixedo/modules/nginx/default.nix +++ b/hosts/nixedo/modules/nginx/default.nix @@ -51,5 +51,5 @@ in users.users.${config.services.nginx.user}.extraGroups = [ "acme" ]; - imports = [ ./www.oliverdavies.uk.nix ]; + imports = [ ./www.oliverdavies.uk ]; } diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix similarity index 91% rename from hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix rename to hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index ce3178bf..0db7a938 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -4,10 +4,8 @@ let ports = config.homelab.ports; port = ports.nginx-website-sculpin; - redirects = import ./www.oliverdavies.uk-redirects.nix; - - redirectLines = builtins.concatStringsSep "\n" ( - map (r: "rewrite ^${r.from}/?$ ${r.to} redirect;") redirects + redirects = builtins.concatStringsSep "\n" ( + map (r: "rewrite ^${r.from}/?$ ${r.to} redirect;") (import ./redirects.nix) ); tome = { @@ -65,7 +63,7 @@ in rewrite ^/talks/(.*)$ /presentations/$1 permanent; rewrite ^/talks/?$ /presentations permanent; - ${redirectLines} + ${redirects} ''; }; diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk-redirects.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix similarity index 100% rename from hosts/nixedo/modules/nginx/www.oliverdavies.uk-redirects.nix rename to hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix From 739e0a2685a208b4e96966ad45bb89b18c7ff9e8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 01:06:50 +0100 Subject: [PATCH 1798/2258] Update Home Assistant configuration --- hosts/nixedo/modules/home-assistant.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/home-assistant.nix b/hosts/nixedo/modules/home-assistant.nix index 02a3b9cb..9299380a 100644 --- a/hosts/nixedo/modules/home-assistant.nix +++ b/hosts/nixedo/modules/home-assistant.nix @@ -55,6 +55,9 @@ in ]; use_x_forwarded_for = true; }; + + mobile_app = { }; + # sia = { }; }; extraComponents = [ @@ -63,11 +66,16 @@ in "hive" "met" "mobile_app" - "sia" + # "sia" "weather" "webostv" ]; + extraPackages = + python3Packages: with python3Packages; [ + setuptools + ]; + openFirewall = true; }; From 12258cd8c868cdb29f91d3006945df9dc54dbe3d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 01:21:42 +0100 Subject: [PATCH 1799/2258] Move tubearchivist secret --- hosts/nixedo/modules/containers/tubearchivist.nix | 3 +++ hosts/nixedo/secrets.nix | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/containers/tubearchivist.nix b/hosts/nixedo/modules/containers/tubearchivist.nix index 12f57dd8..76212f0d 100644 --- a/hosts/nixedo/modules/containers/tubearchivist.nix +++ b/hosts/nixedo/modules/containers/tubearchivist.nix @@ -1,5 +1,6 @@ { config, + inputs, lib, pkgs, ... @@ -327,5 +328,7 @@ in ''; }; }; + + age.secrets.tubearchivist-env.file = "${inputs.self}/secrets/tubearchivist-env.age"; }; } diff --git a/hosts/nixedo/secrets.nix b/hosts/nixedo/secrets.nix index c3fa36d6..6c55583f 100644 --- a/hosts/nixedo/secrets.nix +++ b/hosts/nixedo/secrets.nix @@ -2,6 +2,5 @@ age.secrets = { cloudflare.file = ../../secrets/cloudflare.age; cloudflared.file = ../../secrets/cloudflared-credentials.age; - tubearchivist-env.file = ../../secrets/tubearchivist-env.age; }; } From f0d272038f2fe30204c970c3684c4901feae5560 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 01:36:11 +0100 Subject: [PATCH 1800/2258] Refactor --- hosts/nixedo/configuration.nix | 1 + hosts/nixedo/homelab.nix | 6 ------ hosts/nixedo/services/default.nix | 1 + 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 36051781..880239e4 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -10,6 +10,7 @@ ./hardware-configuration.nix ./homelab.nix ./modules + ./ports.nix ./secrets.nix ./services diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 837e968a..66cec2cb 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -1,10 +1,4 @@ { - imports = [ ./ports.nix ]; - - services = { - postgresqlBackup.enable = true; - }; - homelab = { enable = true; diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 4c24566a..0737cd55 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -14,6 +14,7 @@ ]; services = { + postgresqlBackup.enable = true; tailscale.enable = true; }; From ec5daa9a521d0450655d41762b28bb72a6742b72 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 10:24:47 +0100 Subject: [PATCH 1801/2258] Use the same Cloudflare tunnel ID for all services --- hosts/nixedo/homelab.nix | 17 ++++------------- hosts/nixedo/modules/default.nix | 5 +++++ hosts/nixedo/modules/forgejo.nix | 7 +------ hosts/nixedo/services/vaultwarden.nix | 11 ++--------- 4 files changed, 12 insertions(+), 28 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 66cec2cb..9a014895 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -2,17 +2,13 @@ homelab = { enable = true; + cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; + domain = "oliverdavies.uk"; services = { audiobookshelf.enable = true; - - forgejo = { - enable = true; - - cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; - }; - + forgejo.enable = true; gitea-actions-runner.enable = true; home-assistant.enable = true; homepage-dashboard.enable = true; @@ -21,12 +17,7 @@ paperless.enable = true; tubearchivist.enable = true; uptime-kuma.enable = true; - - vaultwarden = { - enable = true; - - cloudflared.tunnelId = "41feb37d-a0f5-4c21-80c8-36ab63ec3b17"; - }; + vaultwarden.enable = true; }; }; } diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index 67db8b36..a9f0517b 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -6,6 +6,11 @@ with lib; options.homelab = { enable = mkEnableOption "Enable homelab services and configuration"; + cloudflared.tunnelId = mkOption { + example = "00000000-0000-0000-0000-000000000000"; + type = types.str; + }; + domain = mkOption { description = "The base domain to use for this homelab."; type = types.str; diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 4e63544c..83eeb2fd 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -16,11 +16,6 @@ in type = types.str; }; - cloudflared.tunnelId = mkOption { - example = "00000000-0000-0000-0000-000000000000"; - type = types.str; - }; - homepage.name = mkOption { default = "Forgejo"; type = types.str; @@ -58,7 +53,7 @@ in }; }; - cloudflared.tunnels.${cfg.cloudflared.tunnelId}.ingress = { + cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { ${cfg.url} = "http://localhost:${toString config.services.${service}.settings.server.HTTP_PORT}"; }; }; diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix index 7c97cc82..1928cdc4 100644 --- a/hosts/nixedo/services/vaultwarden.nix +++ b/hosts/nixedo/services/vaultwarden.nix @@ -21,11 +21,6 @@ in type = types.str; }; - cloudflared.tunnelId = mkOption { - example = "00000000-0000-0000-0000-000000000000"; - type = types.str; - }; - homepage.name = mkOption { default = "Vaultwarden"; type = types.str; @@ -60,10 +55,8 @@ in }; }; - cloudflared.tunnels.${cfg.cloudflared.tunnelId} = { - credentialsFile = config.age.secrets.cloudflared.path; - default = "http_status:404"; - ingress."${cfg.url}".service = "http://${config.services.${service}.config.ROCKET_ADDRESS}:${ + cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { + "${cfg.url}" = "http://${config.services.${service}.config.ROCKET_ADDRESS}:${ toString config.services.${service}.config.ROCKET_PORT }"; }; From 81e0253e63e34e2aec77649a8935eb1ea69d4977 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 10:32:19 +0100 Subject: [PATCH 1802/2258] flake update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index c755506b..18c7b925 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1746040799, - "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", + "lastModified": 1746317522, + "narHash": "sha256-/jZ4Wd4HHUEWPSlNj48k1E4Mh+1fUbwI/vSlPPIMG3U=", "owner": "nix-community", "repo": "home-manager", - "rev": "5f217e5a319f6c186283b530f8c975e66c028433", + "rev": "621986fed37c5d0cb8df010ed8369694dc47c09b", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745955289, - "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", + "lastModified": 1746341346, + "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", + "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1744290088, - "narHash": "sha256-/X9XVEl0EiyisNbF5srrxXRSVoRqdwExuqyspYqqEjQ=", + "lastModified": 1746286866, + "narHash": "sha256-oSFEsgSEcLX7kYQXH5q/xyncD3qmrGgXv22pGDPPfBY=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "60b4904a1390ac4c89e93d95f6ed928975e525ed", + "rev": "0f4ffe22d9736192f560cb851d64106fe65b6adc", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746055187, - "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", + "lastModified": 1746183838, + "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", + "rev": "bf3287dac860542719fe7554e21e686108716879", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1745930157, - "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", + "lastModified": 1746232882, + "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", + "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745930157, - "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", + "lastModified": 1746232882, + "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", + "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746115476, - "narHash": "sha256-aV0viUn/m1I0PNeTrzw0bccs5IK87AtHKSEUdqSr2W4=", + "lastModified": 1746348601, + "narHash": "sha256-ZcB2D+K/9pBDtzlTeq0oYwXVpoovW4bfOssoUpYgd9U=", "owner": "nix-community", "repo": "NUR", - "rev": "b61a207319893290cc46630dfe72866c5cab60c1", + "rev": "3fe21e4c1526ee6340b34e26685d345d307e93a7", "type": "github" }, "original": { From 562ad325381278fa72945c66e29fc5f44bfdaaf3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 11:43:52 +0100 Subject: [PATCH 1803/2258] Remove vaultwarden This is managed by the Cloudflare Tunnel. --- hosts/nixedo/modules/acme.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index cb6aaac9..85dd5234 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -42,7 +42,6 @@ "tome" "tubearchivist" "uptime" - "vaultwarden" "wp-tailwind" "www" "zet" From eff73265dd455e9371a4d48f284b44b135159a3d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 12:00:01 +0100 Subject: [PATCH 1804/2258] Revert "Remove vaultwarden" This reverts commit 562ad325381278fa72945c66e29fc5f44bfdaaf3. --- hosts/nixedo/modules/acme.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 85dd5234..cb6aaac9 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -42,6 +42,7 @@ "tome" "tubearchivist" "uptime" + "vaultwarden" "wp-tailwind" "www" "zet" From 9423f635bcac725aea664a5c946e89b4e9e1d3b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 4 May 2025 21:57:28 +0100 Subject: [PATCH 1805/2258] Add wiz integration --- hosts/nixedo/modules/home-assistant.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/home-assistant.nix b/hosts/nixedo/modules/home-assistant.nix index 9299380a..3b6c7013 100644 --- a/hosts/nixedo/modules/home-assistant.nix +++ b/hosts/nixedo/modules/home-assistant.nix @@ -69,6 +69,7 @@ in # "sia" "weather" "webostv" + "wiz" ]; extraPackages = From 00015d8948dc7f5baeddc23efe80549e363bae91 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 5 May 2025 02:59:56 +0100 Subject: [PATCH 1806/2258] Add peertube (work in progress) Returning an error after trying to log in when the page is served via a Cloudflare Tunnel. --- hosts/nixedo/homelab.nix | 1 + hosts/nixedo/modules/default.nix | 1 + hosts/nixedo/modules/peertube.nix | 62 +++++++++++++++++++++++++++++++ secrets.nix | 4 ++ secrets/peertube-env.age | 18 +++++++++ 5 files changed, 86 insertions(+) create mode 100644 hosts/nixedo/modules/peertube.nix create mode 100644 secrets/peertube-env.age diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 9a014895..f287fdb6 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -15,6 +15,7 @@ immich.enable = true; jellyfin.enable = true; paperless.enable = true; + peertube.enable = false; tubearchivist.enable = true; uptime-kuma.enable = true; vaultwarden.enable = true; diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index a9f0517b..aaef0087 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -28,5 +28,6 @@ with lib; ./jellyfin.nix ./nginx ./paperless.nix + ./peertube.nix ]; } diff --git a/hosts/nixedo/modules/peertube.nix b/hosts/nixedo/modules/peertube.nix new file mode 100644 index 00000000..3184bd40 --- /dev/null +++ b/hosts/nixedo/modules/peertube.nix @@ -0,0 +1,62 @@ +{ + config, + inputs, + lib, + ... +}: + +let + inherit (lib) + mkEnableOption + mkIf + mkOption + types + ; + + cfg = homelab.services.${service}; + homelab = config.homelab; + service = "peertube"; +in +{ + options.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "videos.${homelab.domain}"; + type = types.str; + }; + }; + + config = mkIf cfg.enable { + services = { + ${service} = { + enable = true; + + configureNginx = true; + enableWebHttps = false; + listenWeb = 80; + localDomain = cfg.url; + + database = { + createLocally = true; + }; + + redis = { + createLocally = true; + enableUnixSocket = true; + }; + + secrets.secretsFile = config.age.secrets.peertube-env.path; + }; + + cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { + ${cfg.url} = "http://${toString config.services.${service}.listenWeb}"; + }; + }; + + age.secrets."${service}-env" = { + file = "${inputs.self}/secrets/${service}-env.age"; + owner = config.services.${service}.user; + }; + }; +} diff --git a/secrets.nix b/secrets.nix index fed13e5d..2ca983a2 100644 --- a/secrets.nix +++ b/secrets.nix @@ -24,6 +24,10 @@ in hosts.nixedo ] ++ [ users.opdavies ]; + "secrets/peertube-env.age".publicKeys = [ + hosts.nixedo + ] ++ [ users.opdavies ]; + "secrets/tubearchivist-env.age".publicKeys = [ hosts.nixedo hosts.t480 diff --git a/secrets/peertube-env.age b/secrets/peertube-env.age new file mode 100644 index 00000000..0b03f08f --- /dev/null +++ b/secrets/peertube-env.age @@ -0,0 +1,18 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g kyLYyMMYENXy2F1cnjVyptUhci5xfC8yrhvBtH8THUw +Q8sXfg7Wm4UMZ6jWGiBLgEKOqVvlCrHy8IthdpjRS/8 +-> ssh-rsa +vTWQw +i0sLs+iG1P7pvUAHCn1StChdaMlT+ze4qkI0beSzTbWm6+qoC7X9tBoJoBJbNGmQ +vIaJpYncYUn04r4WrYcjhBaYKYoECPGR0z/i9EtPT67DG6zuNEJLTclMStdudv4P +Y5uHDku3CoEF6l1nBabQmYtA6/7RT/wqQf+yYICp8pJX9fPtgkjbUtwx/EBOTz29 +t1Y6USjHI45IW9Od3G7XcZGuNkLkeV3clBEqWiFeck7+x3/SU8f8sv63M++Bitqb +F/ZXiLd/JDrlRhcgO0XsfKX+M6eodUg3ZQ7/0GFAjfYyiQp6uA5p/srIuTq40W1f +i7zzs0dewz75GjSKIWyivcYvQQzeobxDd6/1nhgtdjHCYyL5HV3QnE7Ew/ZoQPss +kIr25ftZ/sA87wg77J0c7koZneycSV1PioB2RyuW7cXP4ptMUOEaM0KjkLABBWNF ++WxIdGVd8d8E/zBbVnNNPNuKZYHEb6+eCo61Z8x7VAZhz61ziXOdOzeaN1Obgv+2 +Banoulrje4oF1L4KgO64NckVpYi6Od0Cl9W0hOxSt1BafokHYi4yxYiB2rmv/cdO +Q2IR10fKCd1BNYKvMPFia8j3Uv+OYJnilSNUi0bs+42UfFGcURZEgsSGluSIWP3W +ag1ENk3Y0tLR1WMj2mjbybk9JpEAWJ0oxT+oBOV2g9Q +--- iraOjJc4e+c1tH/YoiRIoEyyLVPgRx2xWaM5BUO1Fes +%Uck !XEw+1긑;+ +w& &m^us_nL<^,U \ No newline at end of file From 67a40983d04b876c28fbfb76dd5900153bca5a93 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 5 May 2025 20:15:05 +0100 Subject: [PATCH 1807/2258] Add Tapo integration to Home Assistant --- hosts/nixedo/modules/home-assistant.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/nixedo/modules/home-assistant.nix b/hosts/nixedo/modules/home-assistant.nix index 3b6c7013..2995ade3 100644 --- a/hosts/nixedo/modules/home-assistant.nix +++ b/hosts/nixedo/modules/home-assistant.nix @@ -67,6 +67,8 @@ in "met" "mobile_app" # "sia" + "tplink" + "tplink_tapo" "weather" "webostv" "wiz" From 0ea1cfebb6c5fd3c9797cef187573c4dbf05fad3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 08:00:00 +0100 Subject: [PATCH 1808/2258] Add Nix snippets --- .../config/lua/opdavies/snippets/nix.lua | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua new file mode 100644 index 00000000..351bc56a --- /dev/null +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -0,0 +1,63 @@ +require("luasnip.session.snippet_collection").clear_snippets "nix" + +local ls = require "luasnip" + +local i = ls.insert_node +local s = ls.snippet + +local fmta = require("luasnip.extras.fmt").fmta +local rep = require("luasnip.extras").rep + +ls.add_snippets("nix", { + s("homepackages", fmta("home.packages = with pkgs; [ <> ];", i(0))), + + s( + "imports", + fmta( + [[ + { + imports = [ + <> + ]; + } + ]], + { i(0) } + ) + ), + + s( + "newmodule", + fmta( + [[ + { config, lib, ... }: + + with lib; + + let + name = "<>"; + cfg = config.<>.<>; + in + { + options.<>.<> = { + enable = mkEnableOption "Enable ${name}";<> + }; + + config = mkIf cfg.enable { + <> + }; + } + ]], + { + i(1), + i(2), + rep(1), + rep(2), + rep(1), + i(3), + i(0), + } + ) + ), + + s("systempackages", fmta("environment.systemPackages = with pkgs; [<>];", i(0))), +}) From 1a78278b0b9b85e22b3d9495f9d5ec9828e94244 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 14:20:44 +0100 Subject: [PATCH 1809/2258] Re-enable notes --- home/opdavies/PW05CH3L.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index 1282e998..243dfb50 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -14,6 +14,7 @@ }; node.enable = true; + notes.enable = true; ranger.enable = true; starship.enable = true; tmux.enable = true; From e27c3d69a7bd3be56a3c25656e65778897668b95 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 14:22:20 +0100 Subject: [PATCH 1810/2258] Re-add pass-otp --- hosts/PW05CH3L/configuration.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 75f7b504..bfb54288 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { imports = [ ../common @@ -9,7 +11,14 @@ cli = { docker.enable = true; - password-store.enable = true; + + password-store = { + enable = true; + + extensions = with pkgs.passExtensions; [ + pass-otp + ]; + }; }; wsl = { From 8f591e4da2dcdc497c08d8e3f612a2660acfcb4a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 12:00:00 +0100 Subject: [PATCH 1811/2258] Rename patch file --- .../{create-daily-notes.patch => change-filename-format.patch} | 0 pkgs/notes/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/notes/{create-daily-notes.patch => change-filename-format.patch} (100%) diff --git a/pkgs/notes/create-daily-notes.patch b/pkgs/notes/change-filename-format.patch similarity index 100% rename from pkgs/notes/create-daily-notes.patch rename to pkgs/notes/change-filename-format.patch diff --git a/pkgs/notes/default.nix b/pkgs/notes/default.nix index d6944e99..4dd4ba7f 100644 --- a/pkgs/notes/default.nix +++ b/pkgs/notes/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ bash ]; patches = [ - ./create-daily-notes.patch + ./change-filename-format.patch ]; installPhase = '' From 5517fd307460f504c0c109492020bff6bd9784bf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 12:00:00 +0100 Subject: [PATCH 1812/2258] Make notes directory configurable --- home/opdavies/t480.nix | 8 +++++++- modules/home-manager/cli/notes.nix | 11 +++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 5035f03a..6ad0a468 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -15,7 +15,13 @@ }; node.enable = true; - notes.enable = true; + + notes = { + enable = true; + + directory = "${config.xdg.userDirs.documents}/wiki/notes"; + }; + ranger.enable = true; starship.enable = true; tmux.enable = true; diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix index ce16e525..2b2d7b8e 100644 --- a/modules/home-manager/cli/notes.nix +++ b/modules/home-manager/cli/notes.nix @@ -11,7 +11,14 @@ let cfg = config.cli.notes; in { - options.cli.notes.enable = mkEnableOption "Enable notes"; + options.cli.notes = { + enable = mkEnableOption "Enable notes"; + + directory = mkOption { + default = "${config.xdg.userDirs.documents}/notes"; + type = types.str; + }; + }; config = mkIf cfg.enable { xdg = { @@ -23,7 +30,7 @@ in packages = with pkgs; [ notes ]; sessionVariables = { - NOTES_DIRECTORY = "${config.xdg.userDirs.documents}/wiki/notes"; + NOTES_DIRECTORY = cfg.directory; }; }; }; From ed3d12bb5ab76e7b1ba244ec7db27645a7fe5ccf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 17:36:59 +0100 Subject: [PATCH 1813/2258] Update notes to the most recent commit --- pkgs/notes/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/notes/default.nix b/pkgs/notes/default.nix index 4dd4ba7f..bf70b196 100644 --- a/pkgs/notes/default.nix +++ b/pkgs/notes/default.nix @@ -4,13 +4,13 @@ with pkgs; stdenv.mkDerivation rec { pname = "notes"; - version = "0.3.0"; + version = "unstable-2024-12-07"; src = fetchFromGitHub { owner = "nickjj"; repo = "notes"; - rev = "v${version}"; - sha256 = "gyrsTWPT8w4DsRim3jlbjvpXwX/y+7SwLaM+3LVOJdU="; + rev = "f4f0aab865c19132484a2c3998cd984bdb3b9514"; + sha256 = "sha256-y5SkS+22tW9wf3gH26NHSnrnJ0rkBWSgKvansP8Hlbg="; }; buildInputs = [ bash ]; From 6c782845a35d43770418678307e66fd243c50931 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 19:00:00 +0100 Subject: [PATCH 1814/2258] Refactor --- .../config/lua/opdavies/snippets/nix.lua | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua index 351bc56a..1f24afbb 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -34,28 +34,26 @@ ls.add_snippets("nix", { with lib; let - name = "<>"; - cfg = config.<>.<>; + name = "<name>"; + cfg = config.<namespace>.<name>; in { - options.<>.<> = { - enable = mkEnableOption "Enable ${name}";<> + options.<namespace>.<name> = { + enable = mkEnableOption "Enable ${name}";<more_options> }; config = mkIf cfg.enable { - <> + <finish> }; } ]], { - i(1), - i(2), - rep(1), - rep(2), - rep(1), - i(3), - i(0), - } + finish = i(0), + more_options = i(3), + name = i(1), + namespace = i(2), + }, + { repeat_duplicates = true } ) ), From f3713050cb962a3654390cc61a5b122f20fe88cf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 19:51:38 +0100 Subject: [PATCH 1815/2258] Move `wiki-pull` to a zsh alias, remove from ...PW05CH3L --- home/opdavies/t480.nix | 43 ++++++++++++++++++++------------ hosts/PW05CH3L/configuration.nix | 2 -- hosts/PW05CH3L/modules/wiki.nix | 37 --------------------------- hosts/t480/modules/default.nix | 1 - hosts/t480/modules/wiki.nix | 32 ------------------------ 5 files changed, 27 insertions(+), 88 deletions(-) delete mode 100644 hosts/PW05CH3L/modules/wiki.nix delete mode 100644 hosts/t480/modules/wiki.nix diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 6ad0a468..337eb367 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -72,24 +72,35 @@ }; }; - programs.dev-commit = { - enable = true; - - repoPaths = - let - personal = "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal"; - in - [ - "${personal}/email-filters" - "${personal}/nix-config" - "${personal}/oliverdavies.uk-tome" - "${personal}/opentofu-dns" - ]; - - schedule = { + programs = { + dev-commit = { enable = true; - time = "daily"; + + repoPaths = + let + personal = "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal"; + in + [ + "${personal}/email-filters" + "${personal}/nix-config" + "${personal}/oliverdavies.uk-tome" + "${personal}/opentofu-dns" + ]; + + schedule = { + enable = true; + time = "daily"; + }; }; + + zsh.shellAliases = + let + inherit (config.xdg.userDirs) documents; + in + { + "wiki-push" = + "rsync -avzP ${documents}/wiki nixedo.oliverdavies.uk:${documents} --delete --delete-after"; + }; }; xdg.configFile."pam-gnupg".text = '' diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index bfb54288..45b8f8e1 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -5,8 +5,6 @@ ../common ../../users/opdavies.nix - - ./modules/wiki.nix ]; cli = { diff --git a/hosts/PW05CH3L/modules/wiki.nix b/hosts/PW05CH3L/modules/wiki.nix deleted file mode 100644 index 7d0b7c9a..00000000 --- a/hosts/PW05CH3L/modules/wiki.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, ... }: - -with lib; - -{ - home-manager.users.opdavies = - { config, pkgs, ... }: - { - home = - let - remoteIpAddress = "192.168.1.111"; - wikiPath = "${config.xdg.userDirs.documents}/wiki"; - in - { - packages = [ - (pkgs.writeShellApplication { - name = "wiki-pull"; - - text = '' - ${getExe pkgs.rsync} -avz --update \ - --exclude result \ - ${remoteIpAddress}:${wikiPath}/ ${wikiPath} "$@" - ''; - }) - - (pkgs.writeShellApplication { - name = "wiki-push"; - - text = '' - ${getExe pkgs.rsync} -avz --update \ - ${wikiPath}/ ${remoteIpAddress}:${wikiPath} "$@" - ''; - }) - ]; - }; - }; -} diff --git a/hosts/t480/modules/default.nix b/hosts/t480/modules/default.nix index 4d7442c0..c5f2ed09 100644 --- a/hosts/t480/modules/default.nix +++ b/hosts/t480/modules/default.nix @@ -4,6 +4,5 @@ ./neomutt.nix ./newsboat ./ollama.nix - ./wiki.nix ]; } diff --git a/hosts/t480/modules/wiki.nix b/hosts/t480/modules/wiki.nix deleted file mode 100644 index f475614f..00000000 --- a/hosts/t480/modules/wiki.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, ... }: - -with lib; - -{ - home-manager.users.opdavies = - { config, pkgs, ... }: - { - home.packages = with pkgs; [ - (pkgs.writeShellApplication ( - let - remoteIpAddresses = [ - "nixedo.local" - ]; - - wikiPath = "${config.xdg.userDirs.documents}/wiki"; - in - { - name = "wiki-push"; - - text = builtins.concatStringsSep "\n" ( - map (ipAddress: '' - ${getExe pkgs.rsync} -avz --update \ - --delete --delete-after \ - ${wikiPath}/ ${ipAddress}:${wikiPath} "$@" - '') remoteIpAddresses - ); - } - )) - ]; - }; -} From 75acfc3dcfd952b9e89a779e341e55908a70ed5c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 20:17:29 +0100 Subject: [PATCH 1816/2258] Create a systemd service and timer to run ...imapfilter --- home/opdavies/nixedo.nix | 6 ++- .../opdavies/nixedo/modules/email-filters.nix | 45 +++++++++++++++++++ hosts/t490/services/cron.nix | 1 - 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 home/opdavies/nixedo/modules/email-filters.nix diff --git a/home/opdavies/nixedo.nix b/home/opdavies/nixedo.nix index 636f67d1..e6c8bebd 100644 --- a/home/opdavies/nixedo.nix +++ b/home/opdavies/nixedo.nix @@ -1,5 +1,9 @@ { - imports = [ ../common ]; + imports = [ + ../common + + ./nixedo/modules/email-filters.nix + ]; cli = { fzf.enable = true; diff --git a/home/opdavies/nixedo/modules/email-filters.nix b/home/opdavies/nixedo/modules/email-filters.nix new file mode 100644 index 00000000..4786c6c5 --- /dev/null +++ b/home/opdavies/nixedo/modules/email-filters.nix @@ -0,0 +1,45 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.nixedo.${name}; + name = "email-filters"; +in +{ + options.nixedo.${name} = { + configFile = lib.mkOption { + default = "${config.home.homeDirectory}/Code/${name}/config.lua"; + internal = true; + }; + }; + + config = { + systemd.user = { + services.${name} = { + Install.WantedBy = [ "default.target" ]; + + Service = { + ExecStart = "${lib.getExe pkgs.imapfilter} -c ${cfg.configFile}"; + Type = "oneshot"; + }; + + Unit.Description = name; + }; + + timers.${name} = { + Install.WantedBy = [ "timers.target" ]; + + Timer = { + OnCalendar = "*-*-* 06..23:00/5"; + Unit = "${name}.service"; + }; + + Unit.Description = "Automatically runs email filters with imapfilter."; + }; + }; + }; +} diff --git a/hosts/t490/services/cron.nix b/hosts/t490/services/cron.nix index f9b961c3..a8872af2 100644 --- a/hosts/t490/services/cron.nix +++ b/hosts/t490/services/cron.nix @@ -5,7 +5,6 @@ enable = true; systemCronJobs = [ - "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua" "0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a" ]; }; From 67b59ba1afc866c5232e52bbb0d618ad55507034 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 20:25:01 +0100 Subject: [PATCH 1817/2258] Refactor --- .../neovim/config/lua/opdavies/snippets/nix.lua | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua index 1f24afbb..9d823bb8 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -6,7 +6,6 @@ local i = ls.insert_node local s = ls.snippet local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep ls.add_snippets("nix", { s("homepackages", fmta("home.packages = with pkgs; [ <> ];", i(0))), @@ -31,18 +30,16 @@ ls.add_snippets("nix", { [[ { config, lib, ... }: - with lib; - let name = "<name>"; - cfg = config.<namespace>.<name>; + cfg = config.<namespace>.${name}; in { - options.<namespace>.<name> = { - enable = mkEnableOption "Enable ${name}";<more_options> + options.<namespace>.${name} = { + enable = lib.mkEnableOption "Enable ${name}";<more_options> }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { <finish> }; } From 9215133b9fbc373fa3467b2f175ed2ba5317929b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 20:53:53 +0100 Subject: [PATCH 1818/2258] Move snippets file --- overlays/mods/dwm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 6c72125b..5da95c2e 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -88,7 +88,7 @@ prev.dwm.override { TAGKEYS(XK_9, 8) { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe prev.librewolf}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${prev.xfce.thunar}/bin/thunar") }, - { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, + { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${lib.getExe prev.passmenu-otp}", "-i", NULL} } }, { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_r, quit, {1} }, From b2ff96aa9e26297cbd7e7ee38d66eba3f735d20c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 23:18:14 +0100 Subject: [PATCH 1819/2258] Add bookmark this script Based on Luke Smith's script created during his "Bookmarking for Unix Chads (For Browsers, Terminals, IDEs and everything else)" video. https://videos.lukesmith.xyz/w/o5fiME4oJMdVzwSu7mA9mc --- home/opdavies/PW05CH3L.nix | 1 + home/opdavies/t480.nix | 1 + modules/home-manager/cli/bookmarkthis.nix | 68 +++++++++++++++++++++++ modules/home-manager/cli/default.nix | 1 + overlays/mods/dwm/default.nix | 8 ++- 5 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 modules/home-manager/cli/bookmarkthis.nix diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index 243dfb50..637b3cdb 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -4,6 +4,7 @@ imports = [ ../common ]; cli = { + bookmarkthis.enable = true; direnv.enable = true; fzf.enable = true; diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 337eb367..76f149e9 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -5,6 +5,7 @@ cli = { bluetuith.enable = true; + bookmarkthis.enable = true; direnv.enable = true; fzf.enable = true; diff --git a/modules/home-manager/cli/bookmarkthis.nix b/modules/home-manager/cli/bookmarkthis.nix new file mode 100644 index 00000000..f312198e --- /dev/null +++ b/modules/home-manager/cli/bookmarkthis.nix @@ -0,0 +1,68 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + inherit (lib) mkEnableOption mkOption; + + cfg = config.cli.${name}; + name = "bookmarkthis"; +in +{ + options.cli.${name} = { + enable = mkEnableOption "Enable ${name}"; + + snippetsFile = mkOption { + default = "${config.xdg.dataHome}/snippets.txt"; + type = lib.types.str; + }; + }; + + config = lib.mkIf cfg.enable { + home = { + packages = with pkgs; [ + (pkgs.writeShellApplication { + name = "bookmarkthis"; + + text = '' + message() { + if command -v ${lib.getExe libnotify} > /dev/null; then + ${lib.getExe libnotify} "$1" "$2" + else + echo "$2" + fi + } + + main() { + bookmark="$(xclip -o)" + file="$SNIPPETS_FILE" + + if grep -q "^$bookmark$" "$file"; then + message "Oops." "Already bookmarked." >&2 + + exit 2 + fi + + echo "$bookmark" >> "$file" + + message "Bookmark added!" "$bookmark is now saved to the file." + } + + main + ''; + }) + ]; + + sessionVariables = { + SNIPPETS_FILE = cfg.snippetsFile; + }; + }; + + programs.zsh.zsh-abbr.abbreviations = lib.optionalAttrs (config.programs.zsh.enable) { + "sn" = "${config.home.sessionVariables.EDITOR} $SNIPPETS_FILE"; + }; + }; +} diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 084c35b0..2c3a2ede 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -1,6 +1,7 @@ { imports = [ ./bluetuith.nix + ./bookmarkthis.nix ./dev-commit.nix ./direnv.nix ./fzf.nix diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 5da95c2e..484bf89b 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -5,6 +5,9 @@ let in prev.dwm.override { conf = '' + #define BROWSER "${lib.getExe prev.librewolf}" + #define TERMINAL "${lib.getExe prev.st}" + static const unsigned int borderpx = 1; static const unsigned int snap = 32; static const int showbar = 1; @@ -51,7 +54,7 @@ prev.dwm.override { static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; - static const char *termcmd[] = { "st", NULL }; + static const char *termcmd[] = { TERMINAL, NULL }; static const Key keys[] = { { MODKEY, XK_p, spawn, {.v = dmenucmd } }, @@ -86,13 +89,14 @@ prev.dwm.override { TAGKEYS(XK_7, 6) TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) - { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe prev.librewolf}") }, + { MODKEY|ShiftMask, XK_b, spawn, {.v = (const char*[]){ "/etc/profiles/per-user/opdavies/bin/bookmarkthis", NULL }}}, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${prev.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${lib.getExe prev.passmenu-otp}", "-i", NULL} } }, { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${prev.flameshot}/bin/flameshot gui") }, + { MODKEY, XK_w, spawn, SHCMD(BROWSER) }, { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${lib.getExe prev.displayselect}", NULL} } }, { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/.local/bin/mounter", NULL } } }, { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/.local/bin/unmounter", NULL } } }, From 572c58bf3b72ec44786788bbaddf6e26211c8f70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 6 May 2025 23:52:22 +0100 Subject: [PATCH 1820/2258] Fix localhost URL --- hosts/nixedo/modules/peertube.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/peertube.nix b/hosts/nixedo/modules/peertube.nix index 3184bd40..92dc738a 100644 --- a/hosts/nixedo/modules/peertube.nix +++ b/hosts/nixedo/modules/peertube.nix @@ -50,7 +50,7 @@ in }; cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { - ${cfg.url} = "http://${toString config.services.${service}.listenWeb}"; + ${cfg.url} = "http://localhost:${toString config.services.${service}.listenWeb}"; }; }; From c1d0a41346f49f1da35ac3de9f5f882c247954af Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 7 May 2025 00:47:43 +0100 Subject: [PATCH 1821/2258] Enable peertube --- hosts/nixedo/homelab.nix | 2 +- hosts/nixedo/modules/peertube.nix | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index f287fdb6..fb9b0292 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -15,7 +15,7 @@ immich.enable = true; jellyfin.enable = true; paperless.enable = true; - peertube.enable = false; + peertube.enable = true; tubearchivist.enable = true; uptime-kuma.enable = true; vaultwarden.enable = true; diff --git a/hosts/nixedo/modules/peertube.nix b/hosts/nixedo/modules/peertube.nix index 92dc738a..a35e3f01 100644 --- a/hosts/nixedo/modules/peertube.nix +++ b/hosts/nixedo/modules/peertube.nix @@ -25,6 +25,26 @@ in default = "videos.${homelab.domain}"; type = types.str; }; + + homepage.name = mkOption { + default = "Peertube"; + type = types.str; + }; + + homepage.description = mkOption { + default = "A free and open-source, decentralized, ActivityPub federated video platform"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "peertube"; + type = types.str; + }; + + homepage.category = mkOption { + default = "Media"; + type = types.str; + }; }; config = mkIf cfg.enable { @@ -34,7 +54,6 @@ in configureNginx = true; enableWebHttps = false; - listenWeb = 80; localDomain = cfg.url; database = { @@ -47,6 +66,13 @@ in }; secrets.secretsFile = config.age.secrets.peertube-env.path; + + settings = { + webserver = { + hostname = config.services.${service}.localDomain; + port = lib.mkForce 443; + }; + }; }; cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { From a5417282daa3bb897f7a2da276fe012e8f4d3182 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 7 May 2025 13:45:24 +0100 Subject: [PATCH 1822/2258] Add a snippet for adding homepage options to a ...module --- .../config/lua/opdavies/snippets/nix.lua | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua index 9d823bb8..2e9d77fb 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -10,6 +10,39 @@ local fmta = require("luasnip.extras.fmt").fmta ls.add_snippets("nix", { s("homepackages", fmta("home.packages = with pkgs; [ <> ];", i(0))), + s( + "homepage_options", + fmta( + [[ + homepage.name = mkOption { + default = "<name>"; + type = types.str; + }; + + homepage.description = mkOption { + default = "<description>"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "<icon>"; + type = types.str; + }; + + homepage.category = mkOption { + default = "<finish>"; + type = types.str; + }; + ]], + { + description = i(2), + finish = i(0), + icon = i(3), + name = i(1), + } + ) + ), + s( "imports", fmta( From d74744190b2877936be14f92b0d0f896503ad4f9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 7 May 2025 13:46:18 +0100 Subject: [PATCH 1823/2258] Update triggers --- .../coding/neovim/config/lua/opdavies/snippets/nix.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua index 2e9d77fb..5b321fe6 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -8,7 +8,7 @@ local s = ls.snippet local fmta = require("luasnip.extras.fmt").fmta ls.add_snippets("nix", { - s("homepackages", fmta("home.packages = with pkgs; [ <> ];", i(0))), + s("home_packages", fmta("home.packages = with pkgs; [ <> ];", i(0))), s( "homepage_options", @@ -58,7 +58,7 @@ ls.add_snippets("nix", { ), s( - "newmodule", + "new_module", fmta( [[ { config, lib, ... }: @@ -87,5 +87,5 @@ ls.add_snippets("nix", { ) ), - s("systempackages", fmta("environment.systemPackages = with pkgs; [<>];", i(0))), + s("system_packages", fmta("environment.systemPackages = with pkgs; [<>];", i(0))), }) From 7461f3b25e684a7aa9be6fca1577ed2ba79b3b73 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 12:49:28 +0100 Subject: [PATCH 1824/2258] Automatically open new scripts after creating them --- modules/home-manager/cli/scripts/scripts/create-script | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/home-manager/cli/scripts/scripts/create-script b/modules/home-manager/cli/scripts/scripts/create-script index 5f821f49..6d830971 100755 --- a/modules/home-manager/cli/scripts/scripts/create-script +++ b/modules/home-manager/cli/scripts/scripts/create-script @@ -8,14 +8,16 @@ set -o errexit set -o nounset set -o pipefail -cat > "${1}" << EOF +cat > "$1" << EOF #!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail -echo "${1}" + EOF -chmod +x "${1}" +chmod +x "$1" + +$EDITOR "$1"; From 1293883fa138ace14efc5855c9b5bd7626519b8a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 12:52:09 +0100 Subject: [PATCH 1825/2258] Add abbreviations for the `find` command --- modules/home-manager/cli/zsh/abbreviations.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 985fc5c9..4693c653 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -13,6 +13,12 @@ evl = "export-video-list"; vv = "cat ~/Documents/videos.json"; + f = "find ."; + fd = "find . -type d"; + fdn = "find . -type d -name"; + ff = "find . -type f"; + ffn = "find . -type f -name"; + g = "git"; ga = "git add"; gan = "git add -N"; From 3b3fb90b7a054143ddc94ada29559e537ae7e9a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 12:52:50 +0100 Subject: [PATCH 1826/2258] Add abbreviations for the `just` command --- modules/home-manager/cli/zsh/abbreviations.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 4693c653..8f47d029 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -60,6 +60,11 @@ gstp = "git stash pop"; gt = "git tag"; + j = "just"; + jb = "just build"; + jt = "just test"; + js = "just switch"; + # tmux ta = "tmux attach"; tl = "tmux list-sessions"; From 899486ac14a17cd5d83453d4d80dd41f55369fd5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 13:03:27 +0100 Subject: [PATCH 1827/2258] Remove icons --- modules/home-manager/coding/neovim/config/plugin/oil.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/coding/neovim/config/plugin/oil.lua b/modules/home-manager/coding/neovim/config/plugin/oil.lua index 5799eb20..d6b3cfd0 100644 --- a/modules/home-manager/coding/neovim/config/plugin/oil.lua +++ b/modules/home-manager/coding/neovim/config/plugin/oil.lua @@ -1,5 +1,5 @@ require("oil").setup { - columns = { "icon" }, + columns = {}, keymaps = { ["<C-h>"] = false, From b4e470961a37b723c340da091690ceed419a6122 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 18:09:18 +0100 Subject: [PATCH 1828/2258] Add `git push` abbreviations --- modules/home-manager/cli/zsh/abbreviations.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 8f47d029..9890f5b8 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -46,6 +46,8 @@ gpa = "git push acquia"; gpam = "git push acquia main"; gpap = "git push acquia HEAD:production"; + gpf = "git push --force-with-lease"; + gpfo = "git push --force-with-lease origin"; gpl = "git pull"; gplr = "git pull --rebase"; gpo = "git push origin"; From c76a28d6b4872dab07a6f3761abf568e74f87f13 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 18:14:36 +0100 Subject: [PATCH 1829/2258] Add keymaps to turn lines into a plain text list --- .../coding/neovim/config/after/ftplugin/markdown.lua | 4 ++++ .../home-manager/coding/neovim/config/after/ftplugin/text.lua | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua index 27bdcf09..feb36522 100644 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua +++ b/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua @@ -3,3 +3,7 @@ vim.opt_local.spell = true vim.opt_local.wrap = true vim.keymap.set("n", "<leader>su", "Bi{{site.url}}/<Esc>") + +-- Convert lines into a markdown list. +vim.keymap.set("n", "<leader>l", "vip:norm I- <CR>") +vim.keymap.set("v", "<leader>l", ":norm I- <CR>") diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua index 8bdd7abd..b18b0770 100644 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua +++ b/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua @@ -15,3 +15,7 @@ vim.api.nvim_create_autocmd("BufWritePre", { end end, }) + +-- Convert lines into a markdown list. +vim.keymap.set("n", "<leader>l", "vip:norm I- <CR>") +vim.keymap.set("v", "<leader>l", ":norm I- <CR>") From e1e4bba0ec1b4ad18d7730ce5dfff611daf24d78 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 20:58:50 +0100 Subject: [PATCH 1830/2258] Add a snippet to scaffold a new flake.nix file --- .../config/lua/opdavies/snippets/nix.lua | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua index 5b321fe6..f17ab881 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -57,6 +57,33 @@ ls.add_snippets("nix", { ) ), + s( + "new_flake", + fmta( + [[ + { + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";<inputs> + }; + + outputs = + { nixpkgs, ... }: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in + { + devShells.${system}.default = pkgs.mkShell { + packages = with pkgs; [ <pkgs> ]; + };<finish> + + formatter.${system} = pkgs.nixfmt-classic; + }; + } + ]], + { inputs = i(1), pkgs = i(2), finish = i(0) } + ) + ), s( "new_module", fmta( From 548181779e8e9787a49ce12ecc67068785524423 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 21:54:49 +0100 Subject: [PATCH 1831/2258] Add Sculpin abbreviations --- modules/home-manager/cli/zsh/abbreviations.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 9890f5b8..83fbe5cc 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -150,4 +150,11 @@ dscr = "drush php:script"; duli = "drush uli"; dup = "drush updatedb -y"; + + sg = "vendor/bin/sculpin generate"; + sge = "vendor/bin/sculpin generate --env"; + sgs = "vendor/bin/sculpin generate --server"; + sgsp = "vendor/bin/sculpin generate --server --port"; + sgsw = "vendor/bin/sculpin generate --server --watch"; + sgswp = "vendor/bin/sculpin generate --server --watch --port"; } From 47841e3b26b2295769b3e1a630f5c7b109f196c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 22:23:25 +0100 Subject: [PATCH 1832/2258] Add keybinds to edit regular files --- .../home-manager/coding/neovim/config/lua/opdavies/keymaps.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua index 74d7cfeb..205711f1 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua @@ -73,7 +73,10 @@ set("n", "N", "Nzzzv") set("n", "<leader>ec", ":edit composer.json<CR>") set("n", "<leader>ef", ":edit flake.nix<CR>") +set("n", "<leader>ej", ":edit justfile<CR>") +set("n", "<leader>en", ":edit notes.txt<CR>") set("n", "<leader>er", ":edit run<CR>") +set("n", "<leader>et", ":edit todo.txt<CR>") set({ "n", "v" }, "<leader>y", [["+y]]) set("n", "<leader>Y", [["+Y]]) From ea5e026a12daa7809644eabdf514d4b4894e5b9c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 8 May 2025 23:44:20 +0100 Subject: [PATCH 1833/2258] Add keymaps to turn lines into a rst list --- .../home-manager/coding/neovim/config/after/ftplugin/rst.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua index 7aa8eee1..d8a02be5 100644 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua +++ b/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua @@ -11,3 +11,7 @@ table.insert(sources, { name = "buffer" }) table.insert(sources, { name = "path" }) cmp.setup.buffer { sources = sources } + +-- Convert lines into a list. +vim.keymap.set("n", "<leader>l", "vip:norm I* <CR>") +vim.keymap.set("v", "<leader>l", ":norm I* <CR>") From a09a3c21fb3d758badeb49c83a97aae560597385 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 17:12:18 +0100 Subject: [PATCH 1834/2258] Don't open the default st with dwm I need the version with my configuration, not the default one. --- overlays/mods/dwm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 484bf89b..e82305d8 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -6,7 +6,7 @@ in prev.dwm.override { conf = '' #define BROWSER "${lib.getExe prev.librewolf}" - #define TERMINAL "${lib.getExe prev.st}" + #define TERMINAL "/run/current-system/sw/bin/st" static const unsigned int borderpx = 1; static const unsigned int snap = 32; From afbb5efd54162c77a13a4f5acf3bb7ee5a95febf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 18:17:13 +0100 Subject: [PATCH 1835/2258] flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 18c7b925..0a5cdf1b 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1745812220, - "narHash": "sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm+g=", + "lastModified": 1746729224, + "narHash": "sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ+5pf5w=", "owner": "nix-community", "repo": "disko", - "rev": "d0c543d740fad42fe2c035b43c9d41127e073c78", + "rev": "85555d27ded84604ad6657ecca255a03fd878607", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1746317522, - "narHash": "sha256-/jZ4Wd4HHUEWPSlNj48k1E4Mh+1fUbwI/vSlPPIMG3U=", + "lastModified": 1746798521, + "narHash": "sha256-axfz/jBEH9XHpS7YSumstV7b2PrPf7L8bhWUtLBv3nA=", "owner": "nix-community", "repo": "home-manager", - "rev": "621986fed37c5d0cb8df010ed8369694dc47c09b", + "rev": "e95a7c5b6fa93304cd2fd78cf676c4f6d23c422c", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746341346, - "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", + "lastModified": 1746621361, + "narHash": "sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", + "rev": "2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1746286866, - "narHash": "sha256-oSFEsgSEcLX7kYQXH5q/xyncD3qmrGgXv22pGDPPfBY=", + "lastModified": 1746453552, + "narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "0f4ffe22d9736192f560cb851d64106fe65b6adc", + "rev": "be618645aa0adf461f778500172b6896d5ab2d01", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746183838, - "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", + "lastModified": 1746557022, + "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bf3287dac860542719fe7554e21e686108716879", + "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1746232882, - "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", + "lastModified": 1746663147, + "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", + "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1746232882, - "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", + "lastModified": 1746663147, + "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", + "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746348601, - "narHash": "sha256-ZcB2D+K/9pBDtzlTeq0oYwXVpoovW4bfOssoUpYgd9U=", + "lastModified": 1746809155, + "narHash": "sha256-2LTtT5rM2zoOsqrcs2EQaGX9j/fLflWRPAfzvlfhMIc=", "owner": "nix-community", "repo": "NUR", - "rev": "3fe21e4c1526ee6340b34e26685d345d307e93a7", + "rev": "3b8ac66842c08065e6ec1499b95e8c30c6d38ed4", "type": "github" }, "original": { From d30cba946f15279a6cc6a73500e470d4fce50dd9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 20:05:15 +0100 Subject: [PATCH 1836/2258] Add `git log` abbreviations --- modules/home-manager/cli/zsh/abbreviations.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 83fbe5cc..5820aa5f 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -37,8 +37,11 @@ gf = "git fetch"; gfa = "git fetch --all"; gl = "git log"; + glg = "git log --grep"; glo = "git log --oneline"; - gls = "git log --stat"; + glog = "git log --oneline --grep"; + glos = "git log --oneline -S"; + gls = "git log -S"; gm = "git merge"; gmf = "git merge --ff"; gmnf = "git merge --no-ff"; From 55f57ddd26341cccd215085026ca614de0773fa2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 22:15:02 +0100 Subject: [PATCH 1837/2258] Add mastodon (work in progress) --- hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/mastodon.nix | 84 ++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 hosts/nixedo/services/mastodon.nix diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 0737cd55..344570f9 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -8,6 +8,7 @@ { imports = [ ./homepage + ./mastodon.nix ./samba.nix ./uptime-kuma.nix ./vaultwarden.nix diff --git a/hosts/nixedo/services/mastodon.nix b/hosts/nixedo/services/mastodon.nix new file mode 100644 index 00000000..d020a223 --- /dev/null +++ b/hosts/nixedo/services/mastodon.nix @@ -0,0 +1,84 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.homelab.services.${service}; + domain = "oliverdavies.uk"; + service = "mastodon"; +in +{ + options.homelab.services.${service} = { + url = mkOption { + default = "social.${domain}"; + internal = true; + type = types.str; + }; + }; + + config = { + services = { + ${service} = { + enable = false; + + configureNginx = false; + localDomain = domain; + streamingProcesses = 3; + + extraConfig = { + SINGLE_USER_MODE = "true"; + WEB_DOMAIN = cfg.url; + }; + + smtp = { + fromAddress = "social@${domain}"; + }; + }; + + cloudflared.tunnels.${config.homelab.cloudflared.tunnelId} = { + ingress = { + "${cfg.url}" = "http://localhost"; + }; + }; + + nginx = { + upstreams.mastodon-streaming = { + extraConfig = '' + least_conn; + ''; + + servers = builtins.listToAttrs ( + map (i: { + name = "unix:/run/mastodon-streaming/streaming-${toString i}.socket"; + value = { }; + }) (range 1 config.services.mastodon.streamingProcesses) + ); + }; + + virtualHosts."social.oliverdavies.uk" = { + root = "${config.services.mastodon.package}/public/"; + + locations = { + "/".tryFiles = "$uri @proxy"; + + "/api/v1/streaming/" = { + proxyPass = "http://mastodon-streaming"; + proxyWebsockets = true; + }; + + "/system/".alias = "/var/lib/mastodon/public-system/"; + + "@proxy" = { + proxyPass = "http://unix:/run/mastodon-web/web.socket"; + proxyWebsockets = true; + }; + }; + + extraConfig = '' + client_max_body_size 100m; + ''; + }; + }; + }; + }; +} From 2e6f381772e64b9189a0c8f6fa80501e2090ad05 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 22:16:05 +0100 Subject: [PATCH 1838/2258] Add rst keymaps for adding text annotations/notes Used for adding speaker notes to presentation slides with rst2pdf. --- .../home-manager/coding/neovim/config/after/ftplugin/rst.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua index d8a02be5..9ea59d91 100644 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua +++ b/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua @@ -15,3 +15,6 @@ cmp.setup.buffer { sources = sources } -- Convert lines into a list. vim.keymap.set("n", "<leader>l", "vip:norm I* <CR>") vim.keymap.set("v", "<leader>l", ":norm I* <CR>") + +vim.keymap.set("n", "<leader>ta", '_iTextAnnotation "<Esc>A"<Esc>j') +vim.keymap.set("v", "<leader>ta", ':norm ITextAnnotation "<Esc>gv:norm A"<Esc>') From 9fa76b531acd5b1a7c28a359c9fa761d3b7ac335 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 22:17:16 +0100 Subject: [PATCH 1839/2258] Re-map left and right arrows --- .../home-manager/coding/neovim/config/lua/opdavies/keymaps.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua index 205711f1..8779d659 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua @@ -18,6 +18,9 @@ set("n", "N", "Nzzzv") set("v", "<down>", "<nop>") set("v", "<up>", "<nop>") +set("n", "<Left>", "gT") +set("n", "<Right>", "gt") + -- Easily switch back to visual mode. set("i", "jj", "<Esc>") set("i", "jk", "<Esc>") From 56b5f099fc44b1ea8a49abf4f61aeac8263f760c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 22:33:23 +0100 Subject: [PATCH 1840/2258] Refactor to only download `displayselect`, not the ...whole repository --- pkgs/displayselect/default.nix | 22 ++++++++++++---------- pkgs/displayselect/scaling.patch | 4 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/pkgs/displayselect/default.nix b/pkgs/displayselect/default.nix index 04f6d790..f81f217e 100644 --- a/pkgs/displayselect/default.nix +++ b/pkgs/displayselect/default.nix @@ -1,28 +1,30 @@ { pkgs, ... }: -with pkgs; - -stdenv.mkDerivation { +pkgs.stdenv.mkDerivation { pname = "displayselect"; version = "unstable-2024-05-11"; - src = fetchFromGitHub { - owner = "lukesmithxyz"; - repo = "voidrice"; - rev = "97687287bdfd332398b82a196b5f1feaec73f1d7"; - sha256 = "sha256-9U1Do0w2oT5E6uZxSKoHAzbGbSLQRQlT65KcPGzwhW8="; + src = builtins.fetchurl { + url = "https://raw.githubusercontent.com/lukesmithxyz/voidrice/97687287bdfd332398b82a196b5f1feaec73f1d7/.local/bin/displayselect"; + sha256 = "sha256:11r561pfhb48a3xmi42zzvpljahnwlfad9rz8qmmp64dhz1f2vp0"; }; - buildInputs = [ + dontUnpack = true; + + buildInputs = with pkgs; [ bash xorg.xrandr ]; + prePatch = '' + cp $src displayselect + ''; + patches = [ ./scaling.patch ]; installPhase = '' mkdir -p $out/bin - cp .local/bin/displayselect $out/bin + cp displayselect $out/bin chmod +x $out/bin/displayselect ''; diff --git a/pkgs/displayselect/scaling.patch b/pkgs/displayselect/scaling.patch index 914a19a4..248b7bee 100644 --- a/pkgs/displayselect/scaling.patch +++ b/pkgs/displayselect/scaling.patch @@ -1,7 +1,7 @@ diff --git a/.local/bin/displayselect b/.local/bin/displayselect index 51dd468..c132b7a 100755 ---- a/.local/bin/displayselect -+++ b/.local/bin/displayselect +--- a/displayselect ++++ b/displayselect @@ -15,20 +15,13 @@ twoscreen() { # If multi-monitor is selected and there are two screens. res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \ From 889c62da5cab9c9926a1537d17b94fa74730d301 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 9 May 2025 22:48:02 +0100 Subject: [PATCH 1841/2258] Fix revision --- pkgs/vim-plugins/vim-plugins.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/vim-plugins/vim-plugins.json b/pkgs/vim-plugins/vim-plugins.json index 14173715..b6243d35 100644 --- a/pkgs/vim-plugins/vim-plugins.json +++ b/pkgs/vim-plugins/vim-plugins.json @@ -26,7 +26,7 @@ "vim-textobj-indent": { "owner": "kana", "repo": "vim-textobj-indent", - "rev": "v0.0.6", + "rev": "deb76867c302f933c8f21753806cbf2d8461b548", "version": "0.0.6", "hash": "sha256-oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q=" }, From cbcfdaf121f13bf68d3cc191ace52b6c50627ee9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 11 May 2025 15:03:00 +0100 Subject: [PATCH 1842/2258] Migrate daily email pages to Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 0db7a938..1ccac578 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -12,7 +12,9 @@ let root = "/var/www/vhosts/website-tome"; paths = [ + "archive" "core" + "daily/.+" "examples" "sites/default/files" "themes/custom/opdavies" @@ -24,7 +26,7 @@ let tomeLocations = builtins.listToAttrs ( map (path: { - name = "/${path}"; + name = "~ ^/${path}"; value = { root = tome.root; From 9af4a7dca1deb2bd3002a5b1ae1eceaa774c832e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 11 May 2025 15:03:16 +0100 Subject: [PATCH 1843/2258] Migrate homelab page to Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 1ccac578..460f0f1f 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -16,6 +16,7 @@ let "core" "daily/.+" "examples" + "homelab" "sites/default/files" "themes/custom/opdavies" "tome-test" From fd5dbd1fd2b89da05601236e93af76a70777c54c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 12 May 2025 18:49:52 +0100 Subject: [PATCH 1844/2258] Simplify T490 configuration --- hosts/t490/configuration.nix | 21 --------------------- hosts/t490/secrets.nix | 5 ----- hosts/t490/services/default.nix | 6 +++++- hosts/t490/users.nix | 15 --------------- secrets.nix | 1 - 5 files changed, 5 insertions(+), 43 deletions(-) delete mode 100644 hosts/t490/secrets.nix delete mode 100644 hosts/t490/users.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 8c737772..cdd65522 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -1,14 +1,10 @@ -{ pkgs, ... }: - { imports = [ ../common ./hardware-configuration.nix ./hardware.nix - ./secrets.nix ./services - ./users.nix ../../users/luke.nix ../../users/opdavies.nix @@ -40,22 +36,5 @@ networking.networkmanager.enable = true; - security = { - polkit.enable = true; - rtkit.enable = true; - }; - - environment.systemPackages = with pkgs; [ - gtypist - pam_gnupg - sxiv - ttyper - yt-dlp - ]; - - networking.hosts = { - "192.168.1.116" = [ "nixedo" ]; - }; - system.autoUpgrade.enable = true; } diff --git a/hosts/t490/secrets.nix b/hosts/t490/secrets.nix deleted file mode 100644 index e2032222..00000000 --- a/hosts/t490/secrets.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - age.secrets = { - cloudflare.file = ../../secrets/cloudflare.age; - }; -} diff --git a/hosts/t490/services/default.nix b/hosts/t490/services/default.nix index ef7c3c7b..810ef869 100644 --- a/hosts/t490/services/default.nix +++ b/hosts/t490/services/default.nix @@ -2,7 +2,6 @@ imports = [ ./cron.nix ./interception-tools.nix - ./redshift.nix ./sound.nix ./udev.nix ./xserver.nix @@ -27,5 +26,10 @@ throttled.enable = true; thermald.enable = true; upower.enable = true; + + xserver = { + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; + }; }; } diff --git a/hosts/t490/users.nix b/hosts/t490/users.nix deleted file mode 100644 index f663ad5c..00000000 --- a/hosts/t490/users.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, username, ... }: - -{ - users.users.${username} = { - extraGroups = [ "media" ]; - - packages = with pkgs; [ - abook - android-tools - via - ]; - }; - - users.groups.media = { }; -} diff --git a/secrets.nix b/secrets.nix index 2ca983a2..ad7e8bd6 100644 --- a/secrets.nix +++ b/secrets.nix @@ -3,7 +3,6 @@ let lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t480 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; - t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; users = { From c2eead8fdf8756fab78b58096eb82ae26df4fd8e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 12 May 2025 19:10:37 +0100 Subject: [PATCH 1845/2258] Add nixpad configuration The initial step of grouping lemp11 and t490 configuration, inspired by https://github.com/mkellyxp/nixbook. --- hosts/lemp11/configuration.nix | 5 ++--- hosts/lemp11/services.nix | 3 --- hosts/t490/configuration.nix | 4 ++-- hosts/t490/services/default.nix | 5 ----- modules/nixos/default.nix | 1 + modules/nixos/nixpad/default.nix | 37 ++++++++++++++++++++++++++++++++ 6 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 modules/nixos/nixpad/default.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 0c7c292c..3b3ac5ce 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -18,6 +18,8 @@ desktop.media.makemkv.enable = true; + nixpad.enable = true; + # Bootloader. boot = { loader = { @@ -49,11 +51,8 @@ vscodium ]; - system.autoUpgrade.enable = true; - environment.systemPackages = with pkgs; [ fastfetch htop - libreoffice ]; } diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index 0a219ba0..a096651f 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -27,9 +27,6 @@ layout = "gb"; variant = ""; }; - - desktopManager.cinnamon.enable = true; - displayManager.lightdm.enable = true; }; }; } diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index cdd65522..0a8ff092 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -17,6 +17,8 @@ desktop.dconf.enable = true; + nixpad.enable = true; + boot = { loader = { systemd-boot = { @@ -35,6 +37,4 @@ ''; networking.networkmanager.enable = true; - - system.autoUpgrade.enable = true; } diff --git a/hosts/t490/services/default.nix b/hosts/t490/services/default.nix index 810ef869..ce7ea823 100644 --- a/hosts/t490/services/default.nix +++ b/hosts/t490/services/default.nix @@ -26,10 +26,5 @@ throttled.enable = true; thermald.enable = true; upower.enable = true; - - xserver = { - desktopManager.cinnamon.enable = true; - displayManager.lightdm.enable = true; - }; }; } diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b1188b61..e75d5dfd 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -4,5 +4,6 @@ ./core ./desktop ./homelab + ./nixpad ]; } diff --git a/modules/nixos/nixpad/default.nix b/modules/nixos/nixpad/default.nix new file mode 100644 index 00000000..a6577a46 --- /dev/null +++ b/modules/nixos/nixpad/default.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.nixpad; +in +{ + options.nixpad = { + enable = lib.mkEnableOption "Enable nixpad configuration"; + }; + + config = lib.mkIf cfg.enable { + services.xserver = { + enable = true; + + desktopManager.cinnamon.enable = true; + displayManager.lightdm.enable = true; + }; + + programs.firefox.enable = true; + + environment.systemPackages = with pkgs; [ + git + libreoffice + ]; + + nix.gc = { + automatic = true; + dates = "Mon 4:00"; + options = "--delete-older-than 30d"; + }; + }; +} From 11a04abc96744e6bace7a8812dc614b60cd7c514 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 12 May 2025 19:12:17 +0100 Subject: [PATCH 1846/2258] Migrate daily email feed to Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 460f0f1f..e358f5d9 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -17,6 +17,7 @@ let "daily/.+" "examples" "homelab" + "rss/daily.xml" "sites/default/files" "themes/custom/opdavies" "tome-test" From f31843b37152f58c9860855de9753f1edebb34e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 12 May 2025 19:42:41 +0100 Subject: [PATCH 1847/2258] flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 0a5cdf1b..e269bde9 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1746798521, - "narHash": "sha256-axfz/jBEH9XHpS7YSumstV7b2PrPf7L8bhWUtLBv3nA=", + "lastModified": 1747073329, + "narHash": "sha256-scQ27LiotByFatLKsqQ5VQSG7ynyXigRgA9ob3CYqkg=", "owner": "nix-community", "repo": "home-manager", - "rev": "e95a7c5b6fa93304cd2fd78cf676c4f6d23c422c", + "rev": "0b24658ec09908e5a6515cacc54f29d589c8423b", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746621361, - "narHash": "sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og=", + "lastModified": 1746814339, + "narHash": "sha256-hf2lICJzwACWuzHCmZn5NI6LUAOgGdR1yh8ip+duyhk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5", + "rev": "3c5e12673265dfb0de3d9121420c0c2153bf21e0", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746557022, - "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", + "lastModified": 1746957726, + "narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", + "rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1746663147, - "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", + "lastModified": 1746904237, + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1746663147, - "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", + "lastModified": 1746904237, + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746809155, - "narHash": "sha256-2LTtT5rM2zoOsqrcs2EQaGX9j/fLflWRPAfzvlfhMIc=", + "lastModified": 1747073991, + "narHash": "sha256-OAcqfaK6HRQTbU/lOidp29bRp9pZdg+xDQ/i4mZA1Is=", "owner": "nix-community", "repo": "NUR", - "rev": "3b8ac66842c08065e6ec1499b95e8c30c6d38ed4", + "rev": "7df440cc49351579e88b074e60050926adc2880a", "type": "github" }, "original": { From e5791f5c7e60e16de9e22e0531f2c61f39d013d3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 13 May 2025 16:10:59 +0100 Subject: [PATCH 1848/2258] Refactor --- modules/nixos/nixpad/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/nixos/nixpad/default.nix b/modules/nixos/nixpad/default.nix index a6577a46..ace3213c 100644 --- a/modules/nixos/nixpad/default.nix +++ b/modules/nixos/nixpad/default.nix @@ -21,10 +21,12 @@ in displayManager.lightdm.enable = true; }; - programs.firefox.enable = true; + programs = { + firefox.enable = true; + git.enable = true; + }; environment.systemPackages = with pkgs; [ - git libreoffice ]; From 51b91cbf2b5684e01cd78935aae97fe409b0f2e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 14 May 2025 08:21:57 +0100 Subject: [PATCH 1849/2258] Add jitsi-meet (work in progress) --- hosts/nixedo/configuration.nix | 5 ++++ hosts/nixedo/homelab.nix | 1 + hosts/nixedo/modules/default.nix | 1 + hosts/nixedo/modules/jitsi.nix | 41 ++++++++++++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 hosts/nixedo/modules/jitsi.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 880239e4..c548733f 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -21,6 +21,11 @@ cli.podman.enable = true; desktop.dconf.enable = true; + # TODO: why didn't it work when adding this to jitsi.nix? + nixpkgs.config.permittedInsecurePackages = [ + "jitsi-meet-1.0.8043" + ]; + services.logind.lidSwitchExternalPower = "ignore"; boot.loader = { diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index fb9b0292..f6004863 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -14,6 +14,7 @@ homepage-dashboard.enable = true; immich.enable = true; jellyfin.enable = true; + jitsi.enable = true; paperless.enable = true; peertube.enable = true; tubearchivist.enable = true; diff --git a/hosts/nixedo/modules/default.nix b/hosts/nixedo/modules/default.nix index aaef0087..20a9d6cf 100644 --- a/hosts/nixedo/modules/default.nix +++ b/hosts/nixedo/modules/default.nix @@ -26,6 +26,7 @@ with lib; ./home-assistant.nix ./immich.nix ./jellyfin.nix + ./jitsi.nix ./nginx ./paperless.nix ./peertube.nix diff --git a/hosts/nixedo/modules/jitsi.nix b/hosts/nixedo/modules/jitsi.nix new file mode 100644 index 00000000..fbe216e3 --- /dev/null +++ b/hosts/nixedo/modules/jitsi.nix @@ -0,0 +1,41 @@ +{ config, lib, ... }: + +let + cfg = config.homelab.services.${service}; + homelab = config.homelab; + service = "jitsi"; + + inherit (lib) mkEnableOption mkOption types; +in +{ + options.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + + url = mkOption { + default = "meet.${homelab.domain}"; + type = types.str; + }; + }; + + config = lib.mkIf cfg.enable { + services = { + jitsi-meet = { + enable = false; + + hostName = cfg.url; + + secureDomain.enable = true; + }; + + nginx.virtualHosts.${cfg.url} = { + enableACME = false; + forceSSL = false; + }; + + cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { + # TODO: is this the correct port? + ${cfg.url} = "http://localhost:5280"; + }; + }; + }; +} From adcb941c6d91de7f07c76f0aa5af02bf30bcdd14 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 14 May 2025 20:53:54 +0100 Subject: [PATCH 1850/2258] Return early for ~/Code/work repositories --- modules/home-manager/cli/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 20e82fa8..3d0f4a38 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -39,7 +39,7 @@ in set +o errexit set +o nounset - if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" ]]; then + if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/work" ]]; then clear return From 3a8388b09f5a417556d3844946c489e9d3de9edb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 14 May 2025 20:54:30 +0100 Subject: [PATCH 1851/2258] Refactor --- .../coding/neovim/config/lua/opdavies/snippets/nix.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua index f17ab881..1ccc6ada 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua @@ -63,17 +63,19 @@ ls.add_snippets("nix", { [[ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";<inputs> + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";<inputs> }; outputs = { nixpkgs, ... }: let system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { inherit system; }; + + inherit (pkgs) mkShell; in { - devShells.${system}.default = pkgs.mkShell { + devShells.${system}.default = mkShell { packages = with pkgs; [ <pkgs> ]; };<finish> From 24fc8e6845ea34fe552e9c4daf765c365b13c318 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 14 May 2025 22:46:00 +0100 Subject: [PATCH 1852/2258] Create scripts to add to and edit daily todo files --- home/opdavies/PW05CH3L.nix | 1 + home/opdavies/t480.nix | 1 + modules/home-manager/cli/default.nix | 1 + modules/home-manager/cli/todos.nix | 36 ++++++++++++++++++++++++++++ pkgs/default.nix | 2 ++ pkgs/todos/todos-add.nix | 13 ++++++++++ pkgs/todos/todos-edit.nix | 12 ++++++++++ 7 files changed, 66 insertions(+) create mode 100644 modules/home-manager/cli/todos.nix create mode 100644 pkgs/todos/todos-add.nix create mode 100644 pkgs/todos/todos-edit.nix diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index 637b3cdb..b8ce7248 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -37,6 +37,7 @@ ]; }; + todos.enable = true; zsh.enable = true; }; diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 76f149e9..734e2f79 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -44,6 +44,7 @@ ]; }; + todos.enable = true; zsh.enable = true; }; diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 2c3a2ede..01fc0f5f 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -11,6 +11,7 @@ ./ranger.nix ./scripts ./starship.nix + ./todos.nix ./tmux.nix ./tmux-sessionizer.nix ./zsh diff --git a/modules/home-manager/cli/todos.nix b/modules/home-manager/cli/todos.nix new file mode 100644 index 00000000..e55c7456 --- /dev/null +++ b/modules/home-manager/cli/todos.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + name = "todos"; + cfg = config.cli.${name}; + + inherit (lib) mkOption types; +in +{ + options.cli.${name} = { + enable = lib.mkEnableOption "Enable ${name}"; + + directory = mkOption { + default = "${config.xdg.userDirs.documents}/todos"; + type = types.str; + }; + }; + + config = lib.mkIf cfg.enable { + home = { + packages = with pkgs; [ + todos-add + todos-edit + ]; + + sessionVariables = { + TODOS_DIRECTORY = cfg.directory; + }; + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index a47e9dfa..72ce4ae8 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -12,6 +12,8 @@ in displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; + todos-add = callPackage ./todos/todos-add.nix { }; + todos-edit = callPackage ./todos/todos-edit.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/pkgs/todos/todos-add.nix b/pkgs/todos/todos-add.nix new file mode 100644 index 00000000..a5df60ac --- /dev/null +++ b/pkgs/todos/todos-add.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +pkgs.writeShellApplication { + name = "todos-add"; + + text = '' + TODOS_DIRECTORY="''${TODOS_DIRECTORY:-"$XDG_DOCUMENTS_DIR/todos"}" + export TODOS_DIRECTORY + + echo "$*" >> "$TODOS_DIRECTORY/$(date +%Y-%m-%d).txt" + ''; +} + diff --git a/pkgs/todos/todos-edit.nix b/pkgs/todos/todos-edit.nix new file mode 100644 index 00000000..43d3c829 --- /dev/null +++ b/pkgs/todos/todos-edit.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +pkgs.writeShellApplication { + name = "todos-edit"; + + text = '' + TODOS_DIRECTORY="''${TODOS_DIRECTORY:-"$XDG_DOCUMENTS_DIR/todos"}" + export TODOS_DIRECTORY + + "$EDITOR" "$TODOS_DIRECTORY/$(date +%Y-%m-%d).txt"; + ''; +} From 935c099c3125df774b4ecbeead4a4595203654a9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 19 May 2025 08:29:12 +0100 Subject: [PATCH 1853/2258] Remove unused plugins --- .../neovim/config/plugin/edit_alternate.lua | 54 ------------------- .../home-manager/coding/neovim/default.nix | 3 -- pkgs/vim-plugins/vim-plugins.json | 24 --------- 3 files changed, 81 deletions(-) delete mode 100644 modules/home-manager/coding/neovim/config/plugin/edit_alternate.lua diff --git a/modules/home-manager/coding/neovim/config/plugin/edit_alternate.lua b/modules/home-manager/coding/neovim/config/plugin/edit_alternate.lua deleted file mode 100644 index 7cb3cbd6..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/edit_alternate.lua +++ /dev/null @@ -1,54 +0,0 @@ -vim.fn["edit_alternate#rule#add"]("php", function(filename) - if filename:find "Test.php$" then - filename = filename:gsub("Test.php$", ".php") - - if filename:find "tests/src/" then - -- Drupal tests. Remove the `src/{type}` from the path. - return filename:gsub("tests/src/(.-)/", "src/") - else - return filename:gsub("tests/", "src/") - end - else - filename = filename:gsub(".php$", "Test.php") - - if filename:find "modules/custom" then - -- Drupal test types. - local test_types = { "Functional", "FunctionalJavaScript", "Kernel", "Unit" } - - for _, test_type in ipairs(test_types) do - local filename_with_test_type = filename:gsub("src/", string.format("tests/src/%s/", test_type)) - - -- Return the first matching test file that exists. - if vim.fn.filereadable(filename_with_test_type) == 1 then - return filename_with_test_type - end - end - end - end -end) - -if vim.fn.filereadable "composer.json" == 1 then - vim.fn["edit_alternate#rule#add"]("json", function(filename) - if filename:find "composer.json" then - return (filename:gsub("%.json$", ".lock")) - end - end) - - vim.fn["edit_alternate#rule#add"]("lock", function(filename) - if filename:find "composer.lock" then - return (filename:gsub("%.lock$", ".json")) - end - end) -end - -if vim.fn.filereadable "fractal.config.js" == 1 then - vim.fn["edit_alternate#rule#add"]("twig", function(filename) - return (filename:gsub("%.twig$", ".config.yml")) - end) - - vim.fn["edit_alternate#rule#add"]("yml", function(filename) - return (filename:gsub("%.config.yml$", ".twig")) - end) -end - -vim.keymap.set("n", "<leader>ea", "<CMD>EditAlternate<CR>", { silent = true }) diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 44db529e..ee0253cd 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -24,8 +24,6 @@ in plugins = with pkgs.vimPlugins; [ comment-nvim - conf-vim - edit-alternate-vim gitsigns-nvim harpoon2 mini-nvim @@ -33,7 +31,6 @@ in oil-nvim phpactor refactoring-nvim - standard-vim undotree vim-nix vim-pasta diff --git a/pkgs/vim-plugins/vim-plugins.json b/pkgs/vim-plugins/vim-plugins.json index b6243d35..4916878c 100644 --- a/pkgs/vim-plugins/vim-plugins.json +++ b/pkgs/vim-plugins/vim-plugins.json @@ -1,28 +1,4 @@ { - "conf-vim": { - "owner": "tjdevries", - "repo": "conf.vim", - "rev": "a716df0fd5d7ba558c07dac2e07f05d5eba11afb", - "version": "unstable-2017-10-09", - "hash": "sha256-AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0=" - }, - - "edit-alternate-vim": { - "owner": "tjdevries", - "repo": "edit_alternate.vim", - "rev": "ef3019115d9bb7ffd691d2859eda213dd99e0b0a", - "version": "unstable-2021-10-25", - "hash": "sha256-mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4=" - }, - - "standard-vim": { - "owner": "tjdevries", - "repo": "standard.vim", - "rev": "b333ef9a9cf6cf66536deda017a542843613fa75", - "version": "unstable-2018-10-15", - "hash": "sha256-9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E=" - }, - "vim-textobj-indent": { "owner": "kana", "repo": "vim-textobj-indent", From e654473e972b6413ad4b4ed5f48b624c7fbe8664 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 19 May 2025 08:54:30 +0100 Subject: [PATCH 1854/2258] flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index e269bde9..6913627a 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1745630506, - "narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=", + "lastModified": 1747575206, + "narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=", "owner": "ryantm", "repo": "agenix", - "rev": "96e078c646b711aee04b82ba01aefbff87004ded", + "rev": "4835b1dc898959d8547a871ef484930675cb47f1", "type": "github" }, "original": { @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1746729224, - "narHash": "sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ+5pf5w=", + "lastModified": 1747621015, + "narHash": "sha256-j0fo1rNxZvmFLMaE945UrbLJZAHTlQmq0/QMgOP4GTs=", "owner": "nix-community", "repo": "disko", - "rev": "85555d27ded84604ad6657ecca255a03fd878607", + "rev": "cec44d77d9dacf0c91d3d51aff128fefabce06ee", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1747073329, - "narHash": "sha256-scQ27LiotByFatLKsqQ5VQSG7ynyXigRgA9ob3CYqkg=", + "lastModified": 1747565775, + "narHash": "sha256-B6jmKHUEX1jxxcdoYHl7RVaeohtAVup8o3nuVkzkloA=", "owner": "nix-community", "repo": "home-manager", - "rev": "0b24658ec09908e5a6515cacc54f29d589c8423b", + "rev": "97118a310eb8e13bc1b9b12d67267e55b7bee6c8", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746814339, - "narHash": "sha256-hf2lICJzwACWuzHCmZn5NI6LUAOgGdR1yh8ip+duyhk=", + "lastModified": 1747129300, + "narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3c5e12673265dfb0de3d9121420c0c2153bf21e0", + "rev": "e81fd167b33121269149c57806599045fd33eeed", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746957726, - "narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", + "lastModified": 1747485343, + "narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", + "rev": "9b5ac7ad45298d58640540d0323ca217f32a6762", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1746904237, - "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", + "lastModified": 1747542820, + "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", + "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1746904237, - "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", + "lastModified": 1747542820, + "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", + "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1747073991, - "narHash": "sha256-OAcqfaK6HRQTbU/lOidp29bRp9pZdg+xDQ/i4mZA1Is=", + "lastModified": 1747636484, + "narHash": "sha256-oSQM85HjMmks8Qj2nrTggmg2wlQHpyjc7ytlZnrpxLM=", "owner": "nix-community", "repo": "NUR", - "rev": "7df440cc49351579e88b074e60050926adc2880a", + "rev": "922b1706eba8109c6c715f9af54355cf1338f189", "type": "github" }, "original": { From 724753327c040ddc783dd6731ff96a1adf09433c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 20 May 2025 11:53:06 +0100 Subject: [PATCH 1855/2258] Remove global tools and language servers Re-add them as needed for each specific project using each project's flake.nix file. --- flake.nix | 7 ++ .../neovim/config/lua/opdavies/keymaps.lua | 2 + .../neovim/config/lua/opdavies/lsp/init.lua | 118 ------------------ .../home-manager/coding/neovim/default.nix | 46 ------- .../home-manager/coding/phpactor/default.nix | 13 +- 5 files changed, 11 insertions(+), 175 deletions(-) diff --git a/flake.nix b/flake.nix index 6f22b629..8bf7b3ff 100644 --- a/flake.nix +++ b/flake.nix @@ -52,6 +52,13 @@ inherit (pkgs) mkShell; in { + devShells.${system}.default = pkgs.mkShell { + packages = with pkgs; [ + lua54Packages.luacheck + nixd + ]; + }; + packages.${system} = { default = mkShell { buildInputs = with pkgs; [ just ]; }; }; diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua index 8779d659..9313e3d9 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua @@ -90,3 +90,5 @@ vim.keymap.set("n", "<leader>gx", function() local url = vim.fn.expand "<cfile>" vim.fn["netrw#BrowseX"](url, 0) end, { desc = "Open URL under cursor" }) + +set("n", "<leader>f", vim.lsp.buf.format); diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua index 5195893c..9fa94ff6 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua @@ -1,112 +1,3 @@ -local cmp_nvim_lsp = require "cmp_nvim_lsp" -local handlers = require "opdavies.lsp.handlers" -local lspconfig = require "lspconfig" - -local capabilities = cmp_nvim_lsp.default_capabilities(vim.lsp.protocol.make_client_capabilities()) - -lspconfig.bashls.setup { - capabilities = capabilities, -} - -lspconfig.cssls.setup { - capabilities = capabilities, - on_attach = function(_, _) - vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(handlers.on_publish_diagnostics, {}) - end, -} - -lspconfig.emmet_language_server.setup { - capabilities = capabilities, - filetypes = { "css", "html", "sass", "scss", "twig" }, -} - -lspconfig.gopls.setup { - capabilities = capabilities, -} - -lspconfig.html.setup { - capabilities = capabilities, -} - -lspconfig.phpactor.setup { - capabilities = capabilities, -} - -lspconfig.lua_ls.setup { - capabilities = capabilities, - settings = { - Lua = { - completion = { - callSnippet = "Replace", - }, - diagnostics = { - globals = { "vim" }, - }, - runtime = { - version = "LuaJIT", - }, - telemetry = { - enabled = false, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - }, - }, - }, -} - -lspconfig.marksman.setup { - capabilities = capabilities, -} - -lspconfig.nixd.setup { - capabilities = capabilities, - cmd = { "nixd" }, - settings = { - nixd = { - nixpkgs = { - expr = "import <nixpkgs> { }", - }, - formatting = { - command = "nix fmt", - }, - }, - }, -} - -lspconfig.tailwindcss.setup { - capabilities = capabilities, - filetypes = { "html", "javascript", "twig", "typescript", "vue" }, - settings = { - init_options = { - userLanguages = { - ["html.twig"] = "html", - }, - }, - }, -} - -lspconfig.terraformls.setup { - capabilities = capabilities, -} - -lspconfig.ts_ls.setup { - capabilities = capabilities, -} - -lspconfig.vuels.setup { - capabilities = capabilities, -} - -lspconfig.yamlls.setup { - capabilities = capabilities, - settings = { - yaml = { - keyOrdering = false, - }, - }, -} - vim.diagnostic.config { float = { source = true }, signs = true, @@ -131,12 +22,3 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "<leader>dl", vim.diagnostic.setqflist, { buffer = 0 }) end, }) - -vim.keymap.set("n", "<leader>dd", function() - vim.diagnostic.enable(false) - vim.diagnostic.reset() -end) - -vim.keymap.set("n", "<leader>de", function() - vim.diagnostic.enable(true) -end) diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index ee0253cd..3bb91c68 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -17,7 +17,6 @@ in programs.neovim = let php = pkgs.php82; - phpPackages = pkgs.php82Packages; in { enable = true; @@ -130,51 +129,6 @@ in # Themes catppuccin-nvim ]; - - extraPackages = with pkgs; [ - # Languages - nodePackages.typescript - nodejs-slim - php - - # Language servers - bash-language-server - dockerfile-language-server-nodejs - emmet-language-server - gopls - lua-language-server - lua54Packages.luacheck - marksman - nixd - phpactor - tailwindcss-language-server - terraform-ls - typescript-language-server - vscode-langservers-extracted - vue-language-server - yaml-language-server - - # Formatters - black - eslint_d - nixfmt-rfc-style - nodePackages.prettier - stylua - yamlfmt - - # Tools - hadolint - html-tidy - mariadb - nodePackages.jsonlint - nodePackages.markdownlint-cli - phpPackages.php-codesniffer - phpPackages.phpstan - proselint - ripgrep - shellcheck - yamllint - ]; }; xdg.configFile.nvim = { diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/coding/phpactor/default.nix index 17f4c681..83c229be 100644 --- a/modules/home-manager/coding/phpactor/default.nix +++ b/modules/home-manager/coding/phpactor/default.nix @@ -1,9 +1,4 @@ -{ - config, - lib, - pkgs, - ... -}: +{ config, lib, ... }: with lib; @@ -11,13 +6,9 @@ let cfg = config.coding.phpactor; in { - options.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor"; + options.coding.phpactor.enable = mkEnableOption "Enable phpactor"; config = mkIf cfg.enable { - home.packages = with pkgs; [ - phpactor - ]; - xdg.configFile.phpactor = { source = ./config; recursive = true; From 59fd01f1553f5ba8f27030fa237dcfd364e5d0a3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 20 May 2025 22:28:40 +0100 Subject: [PATCH 1856/2258] Remove some Vim plugins I'm not sure if or how much I use these. --- flake.nix | 1 + modules/home-manager/coding/neovim/default.nix | 12 ++++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index 8bf7b3ff..5a17ef04 100644 --- a/flake.nix +++ b/flake.nix @@ -55,6 +55,7 @@ devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ lua54Packages.luacheck + just nixd ]; }; diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 3bb91c68..eb4e5551 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -32,13 +32,6 @@ in refactoring-nvim undotree vim-nix - vim-pasta - vim-repeat - vim-sleuth - vim-textobj-indent - vim-textobj-user - vim-textobj-xmlattr - vim-unimpaired # Testing vim-test @@ -109,7 +102,6 @@ in nvim-cmp # Snippets - friendly-snippets luasnip # Telescope @@ -129,6 +121,10 @@ in # Themes catppuccin-nvim ]; + + extraPackages = with pkgs; [ + ripgrep + ]; }; xdg.configFile.nvim = { From 10bb187e7f1d57848dc61fc1160227d492b919ad Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 21 May 2025 12:00:00 +0100 Subject: [PATCH 1857/2258] Add a keymap to find files within neovim config --- .nvim.lua | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .nvim.lua diff --git a/.nvim.lua b/.nvim.lua new file mode 100644 index 00000000..75c9c505 --- /dev/null +++ b/.nvim.lua @@ -0,0 +1,5 @@ +vim.keymap.set("n", "<leader>fn", function() + require("telescope.builtin").find_files({ + cwd = "modules/home-manager/coding/neovim/config" + }) +end) From 6e4c690e5d5b6212f351cc503dd05707b811abb0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 22 May 2025 08:38:49 +0100 Subject: [PATCH 1858/2258] Remove global formatters and linters Following commit 724753327, this removes all global formatters and linters so I can move them into project-specific flake.nix and .nvim.lua files. --- .../coding/neovim/config/plugin/conform.lua | 43 +------------------ .../coding/neovim/config/plugin/lint.lua | 11 +---- 2 files changed, 3 insertions(+), 51 deletions(-) diff --git a/modules/home-manager/coding/neovim/config/plugin/conform.lua b/modules/home-manager/coding/neovim/config/plugin/conform.lua index c2643665..733eaca4 100644 --- a/modules/home-manager/coding/neovim/config/plugin/conform.lua +++ b/modules/home-manager/coding/neovim/config/plugin/conform.lua @@ -1,46 +1,5 @@ local conform = require "conform" conform.setup { - formatters_by_ft = { - bash = { "shellcheck" }, - go = { "gofmt" }, - javascript = { "prettierd", "prettier", stop_after_first = true }, - just = { "just" }, - lua = { "stylua" }, - nix = { "nixfmt" }, - php = { "php_cs_fixer", "phpcbf", stop_after_first = true }, - terraform = { "terraform_fmt" }, - yaml = { "yamlfmt" }, - }, - - format_on_save = function(bufnr) - -- Disable with a global or buffer-local variable. - if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then - return - end - - return { - lsp_fallback = false, - quiet = true, - } - end, + formatters_by_ft = {} } - -vim.api.nvim_create_user_command("FormatDisable", function(args) - if args.bang then - -- FormatDisable! will disable formatting just for this buffer - vim.b.disable_autoformat = true - else - vim.g.disable_autoformat = true - end -end, { - desc = "Disable autoformat-on-save", - bang = true, -}) - -vim.api.nvim_create_user_command("FormatEnable", function() - vim.b.disable_autoformat = false - vim.g.disable_autoformat = false -end, { - desc = "Re-enable autoformat-on-save", -}) diff --git a/modules/home-manager/coding/neovim/config/plugin/lint.lua b/modules/home-manager/coding/neovim/config/plugin/lint.lua index f862107a..249cf0f8 100644 --- a/modules/home-manager/coding/neovim/config/plugin/lint.lua +++ b/modules/home-manager/coding/neovim/config/plugin/lint.lua @@ -1,14 +1,7 @@ local lint = require "lint" -lint.linters_by_ft = { - dockerfile = { "hadolint" }, - javascript = { "eslint_d" }, - json = { "jsonlint" }, - lua = { "luacheck" }, - markdown = { "markdownlint" }, - nix = { "nix" }, - php = { "php", "phpcs", "phpstan" }, -} +lint.linters_by_ft = {}; + local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { From cb5a6aa05c7cd32fdd1f6134672629f43877f5aa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 22 May 2025 08:53:04 +0100 Subject: [PATCH 1859/2258] Configure lua-language-server and nixd --- .nvim.lua | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 3 ++- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/.nvim.lua b/.nvim.lua index 75c9c505..2f839b98 100644 --- a/.nvim.lua +++ b/.nvim.lua @@ -3,3 +3,65 @@ vim.keymap.set("n", "<leader>fn", function() cwd = "modules/home-manager/coding/neovim/config" }) end) + +require("conform").setup { + formatters_by_ft = { + lua = { "stylua" }, + nix = { "nixfmt" }, + }, +} + +require("lint").linters_by_ft = { + lua = { "luacheck" }, + nix = { "nix" }, +} + +local lspconfig = require "lspconfig" + +local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) + +lspconfig.lua_ls.setup { + capabilities = capabilities, + + settings = { + Lua = { + completion = { + callSnippet = "Replace", + }, + + diagnostics = { + globals = { "vim" }, + }, + + runtime = { + version = "LuaJIT", + }, + + telemetry = { + enabled = false, + }, + + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + }, + }, + }, +} + +lspconfig.nixd.setup { + capabilities = capabilities, + + cmd = { "nixd" }, + + settings = { + nixd = { + nixpkgs = { + expr = "import <nixpkgs> { }", + }, + + formatting = { + command = "nix fmt", + }, + }, + }, +} diff --git a/flake.nix b/flake.nix index 5a17ef04..f45828db 100644 --- a/flake.nix +++ b/flake.nix @@ -54,8 +54,9 @@ { devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ - lua54Packages.luacheck just + lua-language-server + lua54Packages.luacheck nixd ]; }; From 66474335ff71af462e02eaac86402c511f225c77 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 22 May 2025 08:53:55 +0100 Subject: [PATCH 1860/2258] Add keymaps to open and search my wiki and notes --- .../neovim/config/lua/opdavies/keymaps.lua | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua index 9313e3d9..6d3dcd73 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua @@ -92,3 +92,30 @@ vim.keymap.set("n", "<leader>gx", function() end, { desc = "Open URL under cursor" }) set("n", "<leader>f", vim.lsp.buf.format); + +local notes_directory = os.getenv("NOTES_DIRECTORY") +local wiki_directory = os.getenv("XDG_DOCUMENTS_DIR") .. "/wiki" + +set("n", "<leader>gn", function() + require("telescope.builtin").live_grep({ + cwd = notes_directory, + }) +end) + +set("n", "<leader>n", function() + local filepath = string.format("%s/%s.txt", notes_directory, os.date("%Y-%m-%d")) + + vim.cmd.tabnew(vim.fn.fnameescape(filepath)) +end) + +set("n", "<leader>fw", function() + require("telescope.builtin").find_files({ + cwd = wiki_directory, + }) +end) + +set("n", "<leader>gw", function() + require("telescope.builtin").live_grep({ + cwd = wiki_directory, + }) +end) From b3f45b143b64fcef17dd5e8614f8d29e92934224 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 22 May 2025 12:39:19 +0100 Subject: [PATCH 1861/2258] Move xserver service configuration --- hosts/t480/configuration.nix | 2 +- hosts/t480/{services.nix => services/default.nix} | 15 ++++----------- hosts/t480/services/xserver.nix | 12 ++++++++++++ 3 files changed, 17 insertions(+), 12 deletions(-) rename hosts/t480/{services.nix => services/default.nix} (65%) create mode 100644 hosts/t480/services/xserver.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 61796b4f..941e944b 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -7,7 +7,7 @@ ./hardware-configuration.nix ./modules ./secrets.nix - ./services.nix + ./services ../../users/opdavies.nix ]; diff --git a/hosts/t480/services.nix b/hosts/t480/services/default.nix similarity index 65% rename from hosts/t480/services.nix rename to hosts/t480/services/default.nix index 6202d625..68c40e89 100644 --- a/hosts/t480/services.nix +++ b/hosts/t480/services/default.nix @@ -1,4 +1,8 @@ { + imports = [ + ./xserver.nix + ]; + services = { auto-cpufreq.enable = true; gvfs.enable = true; @@ -9,16 +13,5 @@ throttled.enable = true; thermald.enable = true; upower.enable = true; - - xserver = { - enable = true; - - displayManager.startx.enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - }; }; } diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix new file mode 100644 index 00000000..ab1cfb91 --- /dev/null +++ b/hosts/t480/services/xserver.nix @@ -0,0 +1,12 @@ +{ + services.xserver = { + enable = true; + + displayManager.startx.enable = true; + + xkb = { + layout = "gb"; + variant = ""; + }; + }; +} From e62dfdde38ec2c32ae3a0c28f8199057624eb4ed Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 23 May 2025 11:07:03 +0100 Subject: [PATCH 1862/2258] Serve the new podcast episode from Tome Now the Podcast Episode content type and the first episode node has been created, serve the new episode from Tome. It won't appear on the episode listing page at /podcast, but I'll recreate that once I've migrated the existing episodes to Tome, or I can manually add it to the listing page by editing the HTML rather than re-generating the page with Sculpin as it would confuse the commit history in this project - which I want to keep intact. --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index e358f5d9..db469687 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -17,6 +17,7 @@ let "daily/.+" "examples" "homelab" + "podcast/28-ai-tools-web-coding-luke-mccormick" "rss/daily.xml" "sites/default/files" "themes/custom/opdavies" From 08a81b2b66998fc991d2a34ed88ba07b936744a3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 23 May 2025 11:28:04 +0100 Subject: [PATCH 1863/2258] Open todo.txt in a new tab --- .../home-manager/coding/neovim/config/lua/opdavies/keymaps.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua index 6d3dcd73..09f67f9d 100644 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua +++ b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua @@ -79,7 +79,7 @@ set("n", "<leader>ef", ":edit flake.nix<CR>") set("n", "<leader>ej", ":edit justfile<CR>") set("n", "<leader>en", ":edit notes.txt<CR>") set("n", "<leader>er", ":edit run<CR>") -set("n", "<leader>et", ":edit todo.txt<CR>") +set("n", "<leader>et", function() vim.cmd.tabnew("todo.txt") end) set({ "n", "v" }, "<leader>y", [["+y]]) set("n", "<leader>Y", [["+Y]]) From 767f6af615c21e46852b61cb39fe662f6f7cdd3d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 25 May 2025 08:49:39 +0100 Subject: [PATCH 1864/2258] Add sxhkd to control brightness keys --- home/opdavies/t480.nix | 10 +++++++++- modules/nixos/desktop/dwm/xinitrc | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 734e2f79..bcfe5f11 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -1,4 +1,4 @@ -{ config, options, ... }: +{ config, lib, options, pkgs, ... }: { imports = [ ../common ]; @@ -109,4 +109,12 @@ 098EE055DAD2B9CB68154C6759DD38292D2273B6 1E21B58D69FFEFAD077F152A50FEA938A3413F50 ''; + + services.sxhkd = { + enable = true; + + keybindings = { + "{_,shift + ,super + }XF86MonBrightness{Down,Up}" = "${lib.getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%}"; + }; + }; } diff --git a/modules/nixos/desktop/dwm/xinitrc b/modules/nixos/desktop/dwm/xinitrc index f9abca8b..5f8cc351 100644 --- a/modules/nixos/desktop/dwm/xinitrc +++ b/modules/nixos/desktop/dwm/xinitrc @@ -3,6 +3,8 @@ poweralertd -s & setbg & systemctl --user start dwm-status & +sxhkd & + export GPG_TTY=$(tty) export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) gpg-connect-agent updatestartuptty /bye From 413e1123959e7c64b54f3b06538be688ba4d02e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 25 May 2025 11:18:57 +0100 Subject: [PATCH 1865/2258] Add new path --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index db469687..aa6635d3 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -18,6 +18,7 @@ let "examples" "homelab" "podcast/28-ai-tools-web-coding-luke-mccormick" + "podcast/28-using-ai-tools-web-coding" "rss/daily.xml" "sites/default/files" "themes/custom/opdavies" From 99e0a8343f88ebc684046f3ec5737681a817f9af Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 25 May 2025 11:46:40 +0100 Subject: [PATCH 1866/2258] Add keybinds to execute common command-line tools --- home/opdavies/t480.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index bcfe5f11..1ecfe3c5 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -115,6 +115,7 @@ keybindings = { "{_,shift + ,super + }XF86MonBrightness{Down,Up}" = "${lib.getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%}"; + "super + x; {1,2,3}" = "st {newsboat,nmtui,bluetuith"; }; }; } From 0c9c145abcc9bb8b22d88e14a438fa6f59c035e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 25 May 2025 12:06:29 +0100 Subject: [PATCH 1867/2258] Re-add kanata as a NixOS module for home row mods https://www.youtube.com/watch?v=sLWQ4Gx88h4 https://www.youtube.com/watch?v=4yiMbP_ZySQ --- hosts/t480/configuration.nix | 24 +++++++++----- modules/nixos/cli/default.nix | 1 + modules/nixos/cli/kanata.nix | 59 +++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 modules/nixos/cli/kanata.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 941e944b..45c98364 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,14 +12,24 @@ ../../users/opdavies.nix ]; - cli.password-store = { - enable = true; + cli = { + kanata = { + enable = true; - extensions = with pkgs.passExtensions; [ - pass-audit - pass-otp - pass-update - ]; + devices = [ + "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + ]; + }; + + password-store = { + enable = true; + + extensions = with pkgs.passExtensions; [ + pass-audit + pass-otp + pass-update + ]; + }; }; core = { diff --git a/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix index 5e7e09fc..1814980f 100644 --- a/modules/nixos/cli/default.nix +++ b/modules/nixos/cli/default.nix @@ -1,6 +1,7 @@ { imports = [ ./docker.nix + ./kanata.nix ./podman.nix ./password-store.nix ]; diff --git a/modules/nixos/cli/kanata.nix b/modules/nixos/cli/kanata.nix new file mode 100644 index 00000000..7b0576cf --- /dev/null +++ b/modules/nixos/cli/kanata.nix @@ -0,0 +1,59 @@ +{ config, lib, ... }: + +let + cfg = config.cli.${service}; + service = "kanata"; + + inherit (lib) mkEnableOption mkIf mkOption types; +in +{ + options.cli.${service} = { + enable = mkEnableOption "Enable ${service}"; + + devices = mkOption { + default = []; + type = types.listOf types.str; + }; + }; + + config = mkIf cfg.enable { + services.kanata = { + enable = true; + + keyboards = { + default = { + devices = cfg.devices; + + extraDefCfg = "process-unmapped-keys yes"; + + config = '' + (defsrc + caps a s d f j k l ; + ) + + (defvar + tap-time 150 + hold-time 200 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time a lmet) + s (tap-hold $tap-time $hold-time s lalt) + d (tap-hold $tap-time $hold-time d lsft) + f (tap-hold $tap-time $hold-time f lctl) + j (tap-hold $tap-time $hold-time j rctl) + k (tap-hold $tap-time $hold-time k rsft) + l (tap-hold $tap-time $hold-time l ralt) + ; (tap-hold $tap-time $hold-time ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; + }; + }; + }; + }; +} From cb01fe8fe70dcbd0fbc17f3beaf05c3412cd6eae Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 25 May 2025 12:12:29 +0100 Subject: [PATCH 1868/2258] Try setting longer hold times for some keys --- modules/nixos/cli/kanata.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/nixos/cli/kanata.nix b/modules/nixos/cli/kanata.nix index 7b0576cf..d3e06008 100644 --- a/modules/nixos/cli/kanata.nix +++ b/modules/nixos/cli/kanata.nix @@ -34,18 +34,19 @@ in (defvar tap-time 150 hold-time 200 + hold-time-slow 300 ) (defalias escctrl (tap-hold 100 100 esc lctl) - a (tap-hold $tap-time $hold-time a lmet) - s (tap-hold $tap-time $hold-time s lalt) + a (tap-hold $tap-time $hold-time-slow a lmet) + s (tap-hold $tap-time $hold-time-slow s lalt) d (tap-hold $tap-time $hold-time d lsft) f (tap-hold $tap-time $hold-time f lctl) j (tap-hold $tap-time $hold-time j rctl) k (tap-hold $tap-time $hold-time k rsft) - l (tap-hold $tap-time $hold-time l ralt) - ; (tap-hold $tap-time $hold-time ; rmet) + l (tap-hold $tap-time $hold-time-slow l ralt) + ; (tap-hold $tap-time $hold-time-slow ; rmet) ) (deflayer base From 098e9f48164ee58ce0823fa868048749a5d6b7aa Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 25 May 2025 15:11:33 +0100 Subject: [PATCH 1869/2258] Refactor sxhkd to its own module --- home/opdavies/t480.nix | 10 +--------- modules/home-manager/cli/default.nix | 1 + modules/home-manager/cli/sxhkd.nix | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 modules/home-manager/cli/sxhkd.nix diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 1ecfe3c5..74ce9123 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -24,6 +24,7 @@ }; ranger.enable = true; + sxhkd.enable = true; starship.enable = true; tmux.enable = true; @@ -109,13 +110,4 @@ 098EE055DAD2B9CB68154C6759DD38292D2273B6 1E21B58D69FFEFAD077F152A50FEA938A3413F50 ''; - - services.sxhkd = { - enable = true; - - keybindings = { - "{_,shift + ,super + }XF86MonBrightness{Down,Up}" = "${lib.getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%}"; - "super + x; {1,2,3}" = "st {newsboat,nmtui,bluetuith"; - }; - }; } diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index 01fc0f5f..710b0faa 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -11,6 +11,7 @@ ./ranger.nix ./scripts ./starship.nix + ./sxhkd.nix ./todos.nix ./tmux.nix ./tmux-sessionizer.nix diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/cli/sxhkd.nix new file mode 100644 index 00000000..de3fd8e6 --- /dev/null +++ b/modules/home-manager/cli/sxhkd.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.cli.${service}; + service = "sxhkd"; + + inherit (lib) getExe mkIf mkEnableOption; +in +{ + options.cli.${service} = { + enable = mkEnableOption "Enable ${service}"; + }; + + config = mkIf cfg.enable { + services.${service} = { + enable = true; + + keybindings = { + "{_,shift + ,super + }XF86MonBrightness{Down,Up}" = "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; + "super + x; {1,2,3}" = "st {newsboat,nmtui,bluetuith}"; + }; + }; + }; +} From a994777ba631cf95a16e2bb8f71e344a50bc11f3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 26 May 2025 00:54:42 +0100 Subject: [PATCH 1870/2258] Load all podcast pages from Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index aa6635d3..1a1171f1 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -17,8 +17,7 @@ let "daily/.+" "examples" "homelab" - "podcast/28-ai-tools-web-coding-luke-mccormick" - "podcast/28-using-ai-tools-web-coding" + "podcast" "rss/daily.xml" "sites/default/files" "themes/custom/opdavies" From 8e8396836d247a75eef586733abd1efefb5c1f97 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 26 May 2025 20:29:01 +0100 Subject: [PATCH 1871/2258] Add URL --- hosts/t480/modules/newsboat/urls.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/t480/modules/newsboat/urls.nix b/hosts/t480/modules/newsboat/urls.nix index cb00e167..83f2a2df 100644 --- a/hosts/t480/modules/newsboat/urls.nix +++ b/hosts/t480/modules/newsboat/urls.nix @@ -294,4 +294,5 @@ url = "https://www.garfieldtech.com/blog/feed"; tags = [ "PHP" ]; } + { url = "https://world.hey.com/dhh/feed.atom"; } ] From a50ea1d3360d0bb279d177ce4fff1a4279b006fd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 28 May 2025 13:16:43 +0100 Subject: [PATCH 1872/2258] Add an abbreviation for pushing Git tags --- modules/home-manager/cli/zsh/abbreviations.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 5820aa5f..568add15 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -55,6 +55,7 @@ gplr = "git pull --rebase"; gpo = "git push origin"; gpom = "git push origin main"; + gpt = "git push --tags"; gr = "git rebase"; gra = "git rebase --abort"; grc = "git rebase --continue"; From 3b7af684c0c5f4e475802a9e77be408c3046619a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 28 May 2025 20:18:01 +0100 Subject: [PATCH 1873/2258] Shorten and sort directory paths --- pkgs/tmux-sessionizer/default.nix | 3 +++ .../shorten-suggested-paths.patch | 22 +++++++++++++++++++ pkgs/tmux-sessionizer/sort-suggestions.patch | 13 +++++++++++ 3 files changed, 38 insertions(+) create mode 100644 pkgs/tmux-sessionizer/shorten-suggested-paths.patch create mode 100644 pkgs/tmux-sessionizer/sort-suggestions.patch diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index e480179a..174b018c 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -26,6 +26,9 @@ stdenv.mkDerivation { url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/2.patch"; sha256 = "sha256-4/4rzve49T3FHnl9WWUPJVcb0NQojMQjIVnEZGwVAsY="; }) + + ./shorten-suggested-paths.patch + ./sort-suggestions.patch ]; installPhase = '' diff --git a/pkgs/tmux-sessionizer/shorten-suggested-paths.patch b/pkgs/tmux-sessionizer/shorten-suggested-paths.patch new file mode 100644 index 00000000..067cbe64 --- /dev/null +++ b/pkgs/tmux-sessionizer/shorten-suggested-paths.patch @@ -0,0 +1,22 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index 8fa4153..3e607d7 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -22,13 +22,16 @@ hydrate() { + if [[ $# -eq 1 ]]; then + selected=$1 + else +- selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | fzf) ++ selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME/||" | fzf) + fi + + if [[ -z $selected ]]; then + exit 0 + fi + ++# Add Home path back. ++selected="$HOME/$selected" ++ + selected_name=$(basename "$selected" | tr . _) + tmux_running=$(pgrep tmux) + diff --git a/pkgs/tmux-sessionizer/sort-suggestions.patch b/pkgs/tmux-sessionizer/sort-suggestions.patch new file mode 100644 index 00000000..c2d33126 --- /dev/null +++ b/pkgs/tmux-sessionizer/sort-suggestions.patch @@ -0,0 +1,13 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index 3e607d7..27729b1 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -22,7 +22,7 @@ hydrate() { + if [[ $# -eq 1 ]]; then + selected=$1 + else +- selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME/||" | fzf) ++ selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME/||" | sort | fzf) + fi + + if [[ -z $selected ]]; then From b7bb69a371f931815a05d89fff81d0c6c942b885 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Wed, 28 May 2025 20:18:22 +0100 Subject: [PATCH 1874/2258] Update directories to search --- home/opdavies/t480.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 74ce9123..e58bcf2b 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -37,8 +37,7 @@ repos = extraConfig.XDG_REPOS_DIR; in - options.cli.tmux-sessionizer.directories.default - ++ [ + [ repos "${repos}/*" documents From 2ee64dbfabb1b7abda8b9afca6f73df7505d8a9c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 29 May 2025 08:57:43 +0100 Subject: [PATCH 1875/2258] Remove unused imports --- home/opdavies/t480.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index e58bcf2b..5f9431b4 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -1,4 +1,4 @@ -{ config, lib, options, pkgs, ... }: +{ config, ... }: { imports = [ ../common ]; From 29e7c49611950d1a4344b6df9416e8ed96780f60 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 29 May 2025 16:59:56 +0100 Subject: [PATCH 1876/2258] flake update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 6913627a..c4f5b9c7 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1747621015, - "narHash": "sha256-j0fo1rNxZvmFLMaE945UrbLJZAHTlQmq0/QMgOP4GTs=", + "lastModified": 1748225455, + "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", "owner": "nix-community", "repo": "disko", - "rev": "cec44d77d9dacf0c91d3d51aff128fefabce06ee", + "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1747565775, - "narHash": "sha256-B6jmKHUEX1jxxcdoYHl7RVaeohtAVup8o3nuVkzkloA=", + "lastModified": 1748529677, + "narHash": "sha256-MJEX3Skt5EAIs/aGHD8/aXXZPcceMMHheyIGSjvxZN0=", "owner": "nix-community", "repo": "home-manager", - "rev": "97118a310eb8e13bc1b9b12d67267e55b7bee6c8", + "rev": "da282034f4d30e787b8a10722431e8b650a907ef", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747129300, - "narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=", + "lastModified": 1747900541, + "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e81fd167b33121269149c57806599045fd33eeed", + "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1747485343, - "narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=", + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b5ac7ad45298d58640540d0323ca217f32a6762", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1747542820, - "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", + "lastModified": 1748370509, + "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", + "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1747542820, - "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", + "lastModified": 1748370509, + "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", + "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1747636484, - "narHash": "sha256-oSQM85HjMmks8Qj2nrTggmg2wlQHpyjc7ytlZnrpxLM=", + "lastModified": 1748531852, + "narHash": "sha256-OBxzEMqMJKNzbAbIIu/Jo/UVrjMG212uAiEHLRlBkxU=", "owner": "nix-community", "repo": "NUR", - "rev": "922b1706eba8109c6c715f9af54355cf1338f189", + "rev": "690c5a14328ee2c4bf6226f75463ec2f38113481", "type": "github" }, "original": { From 8f5acb2fdb151ae3652db1955d7c05d50adb26ca Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Thu, 29 May 2025 17:00:38 +0100 Subject: [PATCH 1877/2258] Move keybinds from dwm to sxhkd --- modules/home-manager/cli/sxhkd.nix | 10 ++++++++-- overlays/mods/dwm/default.nix | 6 ------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/cli/sxhkd.nix index de3fd8e6..b5670e74 100644 --- a/modules/home-manager/cli/sxhkd.nix +++ b/modules/home-manager/cli/sxhkd.nix @@ -16,8 +16,14 @@ in enable = true; keybindings = { - "{_,shift + ,super + }XF86MonBrightness{Down,Up}" = "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; - "super + x; {1,2,3}" = "st {newsboat,nmtui,bluetuith}"; + "{_, shift +, super +}XF86MonBrightness{Down,Up}" = "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; + "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; + "super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis"; + "super + shift + i" = "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; + "super + shift + p" = "${getExe pkgs.passmenu-otp} -i"; + "@F3" = "${getExe pkgs.displayselect}"; + "@F9" = "/home/opdavies/.local/bin/mounter"; + "@F10" = "/home/opdavies/.local/bin/unmounter"; }; }; }; diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index e82305d8..9310897b 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -89,17 +89,11 @@ prev.dwm.override { TAGKEYS(XK_7, 6) TAGKEYS(XK_8, 7) TAGKEYS(XK_9, 8) - { MODKEY|ShiftMask, XK_b, spawn, {.v = (const char*[]){ "/etc/profiles/per-user/opdavies/bin/bookmarkthis", NULL }}}, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${prev.xfce.thunar}/bin/thunar") }, - { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${lib.getExe prev.passmenu-otp}", "-i", NULL} } }, { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${prev.flameshot}/bin/flameshot gui") }, { MODKEY, XK_w, spawn, SHCMD(BROWSER) }, - { MODKEY, XK_F3, spawn, {.v = (const char*[]){ "${lib.getExe prev.displayselect}", NULL} } }, - { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "/home/opdavies/.local/bin/mounter", NULL } } }, - { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "/home/opdavies/.local/bin/unmounter", NULL } } }, }; static const Button buttons[] = { From ae6d6fa4e0bdd3f5ce2548c5fe9d0de12b8624ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Fri, 30 May 2025 12:13:19 +0100 Subject: [PATCH 1878/2258] Add dmenu integration for tmux-sessionizer --- home/opdavies/t480.nix | 1 + modules/home-manager/cli/tmux-sessionizer.nix | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 5f9431b4..d550aa4b 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -30,6 +30,7 @@ tmux-sessionizer = { enable = true; + enableDmenuIntegration = true; directories = let diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 3d0f4a38..97ca9086 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -13,6 +13,7 @@ in { options.cli.tmux-sessionizer = { enable = mkEnableOption "Enable tmux-sessionizer"; + enableDmenuIntegration = mkEnableOption "Enable dmenu integration"; directories = mkOption { default = [ config.home.homeDirectory ]; @@ -24,7 +25,18 @@ in config = mkIf cfg.enable { home.packages = with pkgs; [ tmux-sessionizer - ]; + ] ++ (optional cfg.enableDmenuIntegration ( + pkgs.writeShellApplication { + name = "tmux-sessionizer-dmenu"; + + text = '' + # shellcheck disable=SC2046 + selected=$(find $(eval echo "$(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")") -mindepth 1 -maxdepth 1 -type d | dmenu -i -l 20) + + ${pkgs.coreutils}/bin/nohup st -e tmux-sessionizer "$selected" >/dev/null 2>&1 & + ''; + } + )); xdg.configFile = { "tmux-sessionizer/default".source = "${ From 0fdac5f9a8ef3cc773dd8186edaefe133b4cb1d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 12:29:35 +0100 Subject: [PATCH 1879/2258] Fix wallpaper path --- modules/home-manager/cli/scripts/scripts/setbg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/scripts/scripts/setbg b/modules/home-manager/cli/scripts/scripts/setbg index cd16fb8d..b347ad4b 100755 --- a/modules/home-manager/cli/scripts/scripts/setbg +++ b/modules/home-manager/cli/scripts/scripts/setbg @@ -1,3 +1,3 @@ #!/usr/bin/env bash -xwallpaper --zoom ~/${XDG_REPOS_DIR}/personal/nixos-config/wallpaper/wallpaper.jpg +xwallpaper --zoom ${XDG_REPOS_DIR}/personal/nixos-config/wallpaper/wallpaper.jpg From 9746fb89346b604efd21d1e986bd01f7f6fa067f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 12:42:17 +0100 Subject: [PATCH 1880/2258] Enable ly display manager startx is hanging on tty1, but ly works so I'm enabling it temporarily so I can log in to dwm. --- hosts/t480/services/xserver.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix index ab1cfb91..ca0b8075 100644 --- a/hosts/t480/services/xserver.nix +++ b/hosts/t480/services/xserver.nix @@ -9,4 +9,6 @@ variant = ""; }; }; + + services.displayManager.ly.enable = true; } From dbbd35692995f070c3e5308e7caab5fce19b8aff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 13:25:46 +0100 Subject: [PATCH 1881/2258] Fix sxhkd service not starting --- modules/home-manager/cli/sxhkd.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/cli/sxhkd.nix index b5670e74..a70a7285 100644 --- a/modules/home-manager/cli/sxhkd.nix +++ b/modules/home-manager/cli/sxhkd.nix @@ -12,6 +12,8 @@ in }; config = mkIf cfg.enable { + xsession.enable = true; + services.${service} = { enable = true; From cd597828c556a41298cc6b2987fdd32c00e06ea1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 13:38:23 +0100 Subject: [PATCH 1882/2258] Fix wallpaper path --- modules/home-manager/cli/scripts/scripts/setbg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/cli/scripts/scripts/setbg b/modules/home-manager/cli/scripts/scripts/setbg index b347ad4b..9882de53 100755 --- a/modules/home-manager/cli/scripts/scripts/setbg +++ b/modules/home-manager/cli/scripts/scripts/setbg @@ -1,3 +1,3 @@ #!/usr/bin/env bash -xwallpaper --zoom ${XDG_REPOS_DIR}/personal/nixos-config/wallpaper/wallpaper.jpg +xwallpaper --zoom ${XDG_REPOS_DIR}/personal/nix-config/wallpaper/wallpaper.jpg From 0b543c51e67be105c66c085462e9ba0863d943ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 13:44:17 +0100 Subject: [PATCH 1883/2258] Run setbg after login --- hosts/t480/services/xserver.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix index ca0b8075..db23bd82 100644 --- a/hosts/t480/services/xserver.nix +++ b/hosts/t480/services/xserver.nix @@ -2,6 +2,10 @@ services.xserver = { enable = true; + displayManager.sessionCommands = '' + setbg & + ''; + displayManager.startx.enable = true; xkb = { From 03b44b5d474f698c3379e6a51e5851fbf77de9e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 19:55:31 +0100 Subject: [PATCH 1884/2258] flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index c4f5b9c7..774e2506 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1748529677, - "narHash": "sha256-MJEX3Skt5EAIs/aGHD8/aXXZPcceMMHheyIGSjvxZN0=", + "lastModified": 1748668774, + "narHash": "sha256-fYk/vk4ClmvHIgnGv/5GNRiDLtNCwXo9aLq36L/x+P4=", "owner": "nix-community", "repo": "home-manager", - "rev": "da282034f4d30e787b8a10722431e8b650a907ef", + "rev": "60e4624302d956fe94d3f7d96a560d14d70591b9", "type": "github" }, "original": { @@ -144,11 +144,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747900541, - "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", + "lastModified": 1748634340, + "narHash": "sha256-pZH4bqbOd8S+si6UcfjHovWDiWKiIGRNRMpmRWaDIms=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", + "rev": "daa628a725ab4948e0e2b795e8fb6f4c3e289a7a", "type": "github" }, "original": { @@ -196,11 +196,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1748037224, - "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", + "lastModified": 1748421225, + "narHash": "sha256-XXILOc80tvlvEQgYpYFnze8MkQQmp3eQxFbTzb3m/R0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", + "rev": "78add7b7abb61689e34fc23070a8f55e1d26185b", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1748370509, - "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1748370509, - "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748531852, - "narHash": "sha256-OBxzEMqMJKNzbAbIIu/Jo/UVrjMG212uAiEHLRlBkxU=", + "lastModified": 1748713526, + "narHash": "sha256-5qHi1bHmX3YSi7ieSEtkbTPporGWhQ6MDnUafjLJuJM=", "owner": "nix-community", "repo": "NUR", - "rev": "690c5a14328ee2c4bf6226f75463ec2f38113481", + "rev": "6a2e7077963107352464a379f76c5f534bdd1f16", "type": "github" }, "original": { From 3437a7479a61c47f5a8b62322e19cc9ddc99c051 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sat, 31 May 2025 22:34:36 +0100 Subject: [PATCH 1885/2258] Override homelab local URLs --- hosts/t480/configuration.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 45c98364..e08b947a 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -68,6 +68,18 @@ networking.networkmanager.enable = true; + networking.hosts = { + "192.168.1.116" = [ + "home.oliverdavies.uk" + "jellyfin.oliverdavies.uk" + "nixedo.oliverdavies.uk" + "paperless.oliverdavies.uk" + "photos.oliverdavies.uk" + "ssh.oliverdavies.uk" + "tubearchivist.oliverdavies.uk" + ]; + }; + security = { polkit.enable = true; rtkit.enable = true; From 22264fb82ead933cd2e9592d672ec5bbfa13a30c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 00:32:00 +0100 Subject: [PATCH 1886/2258] Refactor inputs Move them to each host's configuration.nix file and keep flake.nix shorter and cleaner. --- flake.nix | 30 +----------------------------- hosts/PW05CH3L/configuration.nix | 6 +++++- hosts/lemp11/configuration.nix | 9 ++++++++- hosts/nixedo/configuration.nix | 4 +++- hosts/t480/configuration.nix | 6 +++++- hosts/t490/configuration.nix | 6 ++++++ 6 files changed, 28 insertions(+), 33 deletions(-) diff --git a/flake.nix b/flake.nix index f45828db..2143fe0c 100644 --- a/flake.nix +++ b/flake.nix @@ -23,14 +23,7 @@ }; outputs = - { - agenix, - disko, - nixos-hardware, - nixpkgs, - self, - ... - }@inputs: + { nixpkgs, self, ... }@inputs: let inherit (self) outputs; @@ -81,13 +74,6 @@ }; modules = [ - agenix.nixosModules.default - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-hdd - nixos-hardware.nixosModules.system76 - ./hosts/lemp11/configuration.nix ]; }; @@ -99,8 +85,6 @@ }; modules = [ - agenix.nixosModules.default - ./hosts/nixedo/configuration.nix ]; }; @@ -112,10 +96,6 @@ }; modules = [ - agenix.nixosModules.default - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.lenovo-thinkpad-t480 - ./hosts/t480/configuration.nix ]; }; @@ -127,10 +107,6 @@ }; modules = [ - agenix.nixosModules.default - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.lenovo-thinkpad-t490 - ./hosts/t490/configuration.nix ]; }; @@ -144,10 +120,6 @@ }; modules = [ - agenix.nixosModules.default - disko.nixosModules.disko - inputs.nixos-wsl.nixosModules.default - ./hosts/PW05CH3L/configuration.nix ]; }; diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 45b8f8e1..a6c1b52b 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,7 +1,11 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { imports = [ + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko + inputs.nixos-wsl.nixosModules.default + ../common ../../users/opdavies.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 3b3ac5ce..88336c16 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -1,7 +1,14 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { imports = [ + inputs.agenix.nixosModules.default + inputs.nixos-hardware.nixosModules.common-cpu-intel + inputs.nixos-hardware.nixosModules.common-gpu-intel + inputs.nixos-hardware.nixosModules.common-pc-laptop + inputs.nixos-hardware.nixosModules.common-pc-laptop-hdd + inputs.nixos-hardware.nixosModules.system76 + ../common ./hardware-configuration.nix ./programs.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index c548733f..8395b58b 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -2,10 +2,12 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ pkgs, ... }: +{ inputs, pkgs, ... }: { imports = [ + inputs.agenix.nixosModules.default + ../common ./hardware-configuration.nix ./homelab.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index e08b947a..0aca1bf9 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -1,7 +1,11 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { imports = [ + inputs.agenix.nixosModules.default + inputs.nixos-hardware.nixosModules.common-gpu-intel + inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480 + ../common ./hardware-configuration.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 0a8ff092..fee2d4f1 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -1,5 +1,11 @@ +{ inputs, ... }: + { imports = [ + inputs.agenix.nixosModules.default + inputs.nixos-hardware.nixosModules.common-gpu-intel + inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t490 + ../common ./hardware-configuration.nix From a60f3996f4d66dbaf120d092e4c5d8738233d17d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 15:21:20 +0100 Subject: [PATCH 1887/2258] Reorder --- flake.nix | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/flake.nix b/flake.nix index 2143fe0c..4e8f7587 100644 --- a/flake.nix +++ b/flake.nix @@ -68,60 +68,60 @@ nixosConfigurations = { lemp11 = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/lemp11/configuration.nix + ]; + specialArgs = specialArgs // { hostname = "lemp11"; stateVersion = "22.11"; }; - - modules = [ - ./hosts/lemp11/configuration.nix - ]; }; nixedo = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/nixedo/configuration.nix + ]; + specialArgs = specialArgs // { hostname = "nixedo"; stateVersion = "24.11"; }; - - modules = [ - ./hosts/nixedo/configuration.nix - ]; }; t480 = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/t480/configuration.nix + ]; + specialArgs = specialArgs // { hostname = "t480"; stateVersion = "22.11"; }; - - modules = [ - ./hosts/t480/configuration.nix - ]; }; t490 = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/t490/configuration.nix + ]; + specialArgs = specialArgs // { hostname = "t490"; stateVersion = "22.11"; }; - - modules = [ - ./hosts/t490/configuration.nix - ]; }; PW05CH3L = nixpkgs.lib.nixosSystem { inherit system; + modules = [ + ./hosts/PW05CH3L/configuration.nix + ]; + specialArgs = specialArgs // { hostname = "PW05CH3L"; stateVersion = "22.11"; }; - - modules = [ - ./hosts/PW05CH3L/configuration.nix - ]; }; }; }; From b4ef81c97f50a7c6b0a042531ea99ba1af105703 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 17:18:58 +0100 Subject: [PATCH 1888/2258] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 774e2506..de8ea04c 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1748668774, - "narHash": "sha256-fYk/vk4ClmvHIgnGv/5GNRiDLtNCwXo9aLq36L/x+P4=", + "lastModified": 1748737919, + "narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "60e4624302d956fe94d3f7d96a560d14d70591b9", + "rev": "5675a9686851d9626560052a032c4e14e533c1fa", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1748460289, - "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", + "lastModified": 1748693115, + "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", + "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1748460289, - "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", + "lastModified": 1748693115, + "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", + "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748713526, - "narHash": "sha256-5qHi1bHmX3YSi7ieSEtkbTPporGWhQ6MDnUafjLJuJM=", + "lastModified": 1748782935, + "narHash": "sha256-wjo1BhHoBFzdtj92LrAonR1eJ8j5dt1YhnkPpqaam38=", "owner": "nix-community", "repo": "NUR", - "rev": "6a2e7077963107352464a379f76c5f534bdd1f16", + "rev": "73385c8de1fac0066f513adc9a7e59d69f2327c2", "type": "github" }, "original": { From b911a3875c60f884baf454626ad595faaf65459b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 17:42:14 +0100 Subject: [PATCH 1889/2258] Add desktop/window manager --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 86e4c2cd..6c2b94d9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -| Hostname | Description | Manufacturer | Model | Role | -|------------|-------------------------|--------------|----------------------------------------|---------| -| `PW05CH3L` | My work laptop. | Lenovo | ThinkPad L13 | Laptop | -| `lemp11` | My son's laptop. | System76 | Lemur Pro | Laptop | -| `t480` | My personal laptop. | Lenovo | ThinkPad T480 | Laptop | -| `t490` | My other son's laptop. | Lenovo | ThinkPad T490 | Laptop | -| `nixedo` | My homelab/home server. | TUXEDO | InfinityBook Pro Gen7 (MK1) (Standard) | Server | +| Hostname | Description | Manufacturer | Model | Role | Desktop/window manager | +|------------|-------------------------|--------------|----------------------------------------|---------|------------------------| +| `PW05CH3L` | My work laptop. | Lenovo | ThinkPad L13 | Laptop | None | +| `lemp11` | My son's laptop. | System76 | Lemur Pro | Laptop | Cinnamon | +| `t480` | My personal laptop. | Lenovo | ThinkPad T480 | Laptop | dwm | +| `t490` | My other son's laptop. | Lenovo | ThinkPad T490 | Laptop | Cinnamon | +| `nixedo` | My homelab/home server. | TUXEDO | InfinityBook Pro Gen7 (MK1) (Standard) | Server | None | From 060f94636bca3ebc05956a6b52db02ee3a1996d7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 17:42:56 +0100 Subject: [PATCH 1890/2258] Remove README.md --- README.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 6c2b94d9..00000000 --- a/README.md +++ /dev/null @@ -1,7 +0,0 @@ -| Hostname | Description | Manufacturer | Model | Role | Desktop/window manager | -|------------|-------------------------|--------------|----------------------------------------|---------|------------------------| -| `PW05CH3L` | My work laptop. | Lenovo | ThinkPad L13 | Laptop | None | -| `lemp11` | My son's laptop. | System76 | Lemur Pro | Laptop | Cinnamon | -| `t480` | My personal laptop. | Lenovo | ThinkPad T480 | Laptop | dwm | -| `t490` | My other son's laptop. | Lenovo | ThinkPad T490 | Laptop | Cinnamon | -| `nixedo` | My homelab/home server. | TUXEDO | InfinityBook Pro Gen7 (MK1) (Standard) | Server | None | From ddc74bda3e0378ad502dafaa757075a2c9b1fb96 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 23:19:58 +0100 Subject: [PATCH 1891/2258] Refactor imports and remove default.nix files --- modules/home-manager/cli/default.nix | 20 --------------- modules/home-manager/coding/default.nix | 6 ----- modules/home-manager/core/default.nix | 5 ---- modules/home-manager/default.nix | 31 +++++++++++++++++++++--- modules/home-manager/desktop/default.nix | 9 ------- modules/nixos/cli/default.nix | 8 ------ modules/nixos/core/default.nix | 11 --------- modules/nixos/default.nix | 26 +++++++++++++++++--- modules/nixos/desktop/default.nix | 10 -------- modules/nixos/homelab/default.nix | 5 ---- 10 files changed, 49 insertions(+), 82 deletions(-) delete mode 100644 modules/home-manager/cli/default.nix delete mode 100644 modules/home-manager/coding/default.nix delete mode 100644 modules/home-manager/core/default.nix delete mode 100644 modules/home-manager/desktop/default.nix delete mode 100644 modules/nixos/cli/default.nix delete mode 100644 modules/nixos/core/default.nix delete mode 100644 modules/nixos/desktop/default.nix delete mode 100644 modules/nixos/homelab/default.nix diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix deleted file mode 100644 index 710b0faa..00000000 --- a/modules/home-manager/cli/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - imports = [ - ./bluetuith.nix - ./bookmarkthis.nix - ./dev-commit.nix - ./direnv.nix - ./fzf.nix - ./git.nix - ./node.nix - ./notes.nix - ./ranger.nix - ./scripts - ./starship.nix - ./sxhkd.nix - ./todos.nix - ./tmux.nix - ./tmux-sessionizer.nix - ./zsh - ]; -} diff --git a/modules/home-manager/coding/default.nix b/modules/home-manager/coding/default.nix deleted file mode 100644 index a8d773c7..00000000 --- a/modules/home-manager/coding/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./neovim - ./phpactor - ]; -} diff --git a/modules/home-manager/core/default.nix b/modules/home-manager/core/default.nix deleted file mode 100644 index e885317f..00000000 --- a/modules/home-manager/core/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./gnupg.nix - ]; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 523b8156..1909244a 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,8 +1,31 @@ { imports = [ - ./cli - ./coding - ./core - ./desktop + ./cli/bluetuith.nix + ./cli/bookmarkthis.nix + ./cli/dev-commit.nix + ./cli/direnv.nix + ./cli/fzf.nix + ./cli/git.nix + ./cli/node.nix + ./cli/notes.nix + ./cli/ranger.nix + ./cli/scripts + ./cli/starship.nix + ./cli/sxhkd.nix + ./cli/todos.nix + ./cli/tmux.nix + ./cli/tmux-sessionizer.nix + ./cli/zsh + + ./coding/neovim + ./coding/phpactor + + ./core/gnupg.nix + + ./desktop/browsers + ./desktop/flameshot.nix + ./desktop/gtk.nix + ./desktop/media + ./desktop/screenkey.nix ]; } diff --git a/modules/home-manager/desktop/default.nix b/modules/home-manager/desktop/default.nix deleted file mode 100644 index 6cabdeb9..00000000 --- a/modules/home-manager/desktop/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - imports = [ - ./browsers - ./flameshot.nix - ./gtk.nix - ./media - ./screenkey.nix - ]; -} diff --git a/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix deleted file mode 100644 index 1814980f..00000000 --- a/modules/nixos/cli/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./docker.nix - ./kanata.nix - ./podman.nix - ./password-store.nix - ]; -} diff --git a/modules/nixos/core/default.nix b/modules/nixos/core/default.nix deleted file mode 100644 index 560f1b75..00000000 --- a/modules/nixos/core/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - imports = [ - ./avahi.nix - ./bluetooth.nix - ./gnupg.nix - ./openssh.nix - ./pipewire.nix - ./xbanish.nix - ./zram.nix - ]; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index e75d5dfd..47599e64 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,9 +1,27 @@ { imports = [ - ./cli - ./core - ./desktop - ./homelab + ./cli/docker.nix + ./cli/kanata.nix + ./cli/podman.nix + ./cli/password-store.nix + + ./core/avahi.nix + ./core/bluetooth.nix + ./core/gnupg.nix + ./core/openssh.nix + ./core/pipewire.nix + ./core/xbanish.nix + ./core/zram.nix + + ./desktop/dconf.nix + ./desktop/dwm + ./desktop/fonts.nix + ./desktop/media + ./desktop/st.nix + ./desktop/thunar.nix + + ./homelab/gitea-actions-runner.nix + ./nixpad ]; } diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix deleted file mode 100644 index d031fbb2..00000000 --- a/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - imports = [ - ./dconf.nix - ./dwm - ./fonts.nix - ./media - ./st.nix - ./thunar.nix - ]; -} diff --git a/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix deleted file mode 100644 index fe3a7066..00000000 --- a/modules/nixos/homelab/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./gitea-actions-runner.nix - ]; -} From 5467ae123f1c6b1077fa2f85c9ecd0508c085139 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Sun, 1 Jun 2025 23:22:09 +0100 Subject: [PATCH 1892/2258] Refactor inputs --- flake.nix | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index 4e8f7587..ff20c01e 100644 --- a/flake.nix +++ b/flake.nix @@ -2,15 +2,11 @@ inputs = { agenix.url = "github:ryantm/agenix"; - disko = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/disko"; - }; + disko.inputs.nixpkgs.follows = "nixpkgs"; + disko.url = "github:nix-community/disko"; - home-manager = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/home-manager/master"; - }; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; From 424c5e912724d9907a60700b020cd47878f3f42a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 2 Jun 2025 00:25:50 +0100 Subject: [PATCH 1893/2258] Add names to external patches --- modules/nixos/desktop/st.nix | 2 ++ overlays/mods/dwm/default.nix | 3 +++ pkgs/tmux-sessionizer/default.nix | 1 + 3 files changed, 6 insertions(+) diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix index 17422966..3e0b6d81 100644 --- a/modules/nixos/desktop/st.nix +++ b/modules/nixos/desktop/st.nix @@ -360,11 +360,13 @@ in patches = [ (fetchpatch { + name = "disable_bold_italic_fonts"; url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; }) (fetchpatch { + name = "anysize"; url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; }) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 9310897b..3250bd4f 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -115,16 +115,19 @@ prev.dwm.override { ./restartsig.patch (fetchpatch { + name = "preserveonrestart"; url = "https://dwm.suckless.org/patches/preserveonrestart/dwm-preserveonrestart-6.3.diff"; sha256 = "zgwTCgD3YE+2K4BF6Em+qkM1Gax5vOZfeuWa6zXx8cE="; }) (fetchpatch { + name = "hide_vacant_tags"; url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff"; sha256 = "GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q="; }) (fetchpatch { + name = "pertag"; url = "https://dwm.suckless.org/patches/pertag/dwm-pertag-20200914-61bb8b2.diff"; sha256 = "wRZP/27V7xYOBnFAGxqeJFXdoDk4K1EQMA3bEoAXr/0="; }) diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index 174b018c..aeb12dca 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -23,6 +23,7 @@ stdenv.mkDerivation { ./move-default-script.patch (fetchpatch { + name = "feat: Made folders more dynamic"; url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/2.patch"; sha256 = "sha256-4/4rzve49T3FHnl9WWUPJVcb0NQojMQjIVnEZGwVAsY="; }) From f0217e4640c8e60d7d2484d98ddf4934701ba6e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Tue, 3 Jun 2025 12:45:13 +0100 Subject: [PATCH 1894/2258] Pin mpv to nixpkgs stable The unstable version is showing a blue screen instead of the video. --- modules/home-manager/desktop/media/mpv.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix index 1a59cbda..a3a32216 100644 --- a/modules/home-manager/desktop/media/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -11,6 +11,7 @@ in config = mkIf cfg.enable { programs.mpv = { enable = true; + package = pkgs.stable.mpv; # https://github.com/mpv-player/mpv/blob/master/etc/input.conf bindings = { From ecb2a05d6060f5ef3842f2b39559c966ff5cb6bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.dev> Date: Mon, 2 Jun 2025 02:09:06 +0100 Subject: [PATCH 1895/2258] Use nixvim --- flake.lock | 146 ++++++++++++++- flake.nix | 3 + .../coding/neovim/config/.gitignore | 1 - .../config/after/ftplugin/gitcommit.lua | 8 - .../neovim/config/after/ftplugin/markdown.lua | 9 - .../neovim/config/after/ftplugin/php.lua | 3 - .../neovim/config/after/ftplugin/rst.lua | 20 -- .../neovim/config/after/ftplugin/term.vim | 4 - .../neovim/config/after/ftplugin/text.lua | 21 --- .../neovim/config/autoload/opdavies.vim | 12 -- .../coding/neovim/config/init.lua | 1 - .../neovim/config/lua/opdavies/globals.lua | 13 -- .../neovim/config/lua/opdavies/init.lua | 4 - .../neovim/config/lua/opdavies/keymaps.lua | 121 ------------- .../config/lua/opdavies/lsp/handlers.lua | 73 -------- .../neovim/config/lua/opdavies/lsp/init.lua | 24 --- .../neovim/config/lua/opdavies/options.lua | 53 ------ .../lua/opdavies/snippets/javascript.lua | 12 -- .../config/lua/opdavies/snippets/lua.lua | 23 --- .../config/lua/opdavies/snippets/nix.lua | 120 ------------ .../config/lua/opdavies/snippets/php.lua | 66 ------- .../config/lua/opdavies/snippets/rst.lua | 63 ------- .../config/lua/opdavies/snippets/scss.lua | 12 -- .../config/lua/opdavies/snippets/twig.lua | 28 --- .../config/lua/opdavies/snippets/yaml.lua | 47 ----- .../lua/opdavies/telescope/multigrep.lua | 57 ------ .../neovim/config/plugin/autocommands.lua | 7 - .../neovim/config/plugin/colorscheme.lua | 25 --- .../coding/neovim/config/plugin/comment.lua | 19 -- .../neovim/config/plugin/completion.lua | 76 -------- .../coding/neovim/config/plugin/conform.lua | 5 - .../coding/neovim/config/plugin/dap.lua | 69 ------- .../coding/neovim/config/plugin/filetype.lua | 15 -- .../coding/neovim/config/plugin/fugitive.lua | 25 --- .../coding/neovim/config/plugin/gitsigns.lua | 30 --- .../coding/neovim/config/plugin/harpoon.lua | 34 ---- .../coding/neovim/config/plugin/lint.lua | 12 -- .../coding/neovim/config/plugin/mini.lua | 13 -- .../coding/neovim/config/plugin/oil.lua | 16 -- .../coding/neovim/config/plugin/phpactor.lua | 2 - .../neovim/config/plugin/refactoring.lua | 12 -- .../coding/neovim/config/plugin/snippets.lua | 32 ---- .../coding/neovim/config/plugin/telescope.lua | 64 ------- .../neovim/config/plugin/treesitter.lua | 133 -------------- .../coding/neovim/config/plugin/undotree.lua | 1 - .../coding/neovim/config/plugin/vim-test.lua | 16 -- .../coding/neovim/config/spell/en.utf-8.add | 132 -------------- .../coding/neovim/config/stylua.toml | 8 - .../home-manager/coding/neovim/default.nix | 171 +++++------------- .../home-manager/coding/neovim/keymaps.nix | 62 +++++++ .../home-manager/coding/neovim/options.nix | 25 +++ .../coding/neovim/plugins/cmp.nix | 58 ++++++ .../coding/neovim/plugins/conform.nix | 3 + .../coding/neovim/plugins/fidget.nix | 3 + .../coding/neovim/plugins/fugitive.nix | 18 ++ .../coding/neovim/plugins/gitsigns.nix | 45 +++++ .../coding/neovim/plugins/harpoon.nix | 47 +++++ .../coding/neovim/plugins/lint.nix | 3 + .../coding/neovim/plugins/lsp.nix | 3 + .../coding/neovim/plugins/lualine.nix | 11 ++ .../coding/neovim/plugins/luasnip.nix | 3 + .../coding/neovim/plugins/mini.nix | 15 ++ .../coding/neovim/plugins/oil.nix | 20 ++ .../coding/neovim/plugins/phpactor.nix | 17 ++ .../coding/neovim/plugins/refactoring.nix | 47 +++++ .../coding/neovim/plugins/telescope.nix | 28 +++ .../coding/neovim/plugins/treesitter.nix | 47 +++++ .../coding/neovim/plugins/undotree.nix | 9 + .../coding/neovim/plugins/vim-dadbod.nix | 7 + .../neovim/plugins/vim-highlightedyank.nix | 9 + .../coding/neovim/plugins/vim-test.nix | 11 ++ .../coding/neovim/plugins/web-devicons.nix | 3 + 72 files changed, 691 insertions(+), 1664 deletions(-) delete mode 100644 modules/home-manager/coding/neovim/config/.gitignore delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/gitcommit.lua delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/php.lua delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/term.vim delete mode 100644 modules/home-manager/coding/neovim/config/after/ftplugin/text.lua delete mode 100644 modules/home-manager/coding/neovim/config/autoload/opdavies.vim delete mode 100644 modules/home-manager/coding/neovim/config/init.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/globals.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/init.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/lsp/handlers.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/options.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/javascript.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/lua.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/php.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/rst.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/scss.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/twig.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/snippets/yaml.lua delete mode 100644 modules/home-manager/coding/neovim/config/lua/opdavies/telescope/multigrep.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/autocommands.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/colorscheme.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/comment.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/completion.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/conform.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/dap.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/filetype.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/fugitive.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/gitsigns.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/harpoon.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/lint.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/mini.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/oil.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/phpactor.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/refactoring.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/snippets.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/telescope.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/treesitter.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/undotree.lua delete mode 100644 modules/home-manager/coding/neovim/config/plugin/vim-test.lua delete mode 100644 modules/home-manager/coding/neovim/config/spell/en.utf-8.add delete mode 100644 modules/home-manager/coding/neovim/config/stylua.toml create mode 100644 modules/home-manager/coding/neovim/keymaps.nix create mode 100644 modules/home-manager/coding/neovim/options.nix create mode 100644 modules/home-manager/coding/neovim/plugins/cmp.nix create mode 100644 modules/home-manager/coding/neovim/plugins/conform.nix create mode 100644 modules/home-manager/coding/neovim/plugins/fidget.nix create mode 100644 modules/home-manager/coding/neovim/plugins/fugitive.nix create mode 100644 modules/home-manager/coding/neovim/plugins/gitsigns.nix create mode 100644 modules/home-manager/coding/neovim/plugins/harpoon.nix create mode 100644 modules/home-manager/coding/neovim/plugins/lint.nix create mode 100644 modules/home-manager/coding/neovim/plugins/lsp.nix create mode 100644 modules/home-manager/coding/neovim/plugins/lualine.nix create mode 100644 modules/home-manager/coding/neovim/plugins/luasnip.nix create mode 100644 modules/home-manager/coding/neovim/plugins/mini.nix create mode 100644 modules/home-manager/coding/neovim/plugins/oil.nix create mode 100644 modules/home-manager/coding/neovim/plugins/phpactor.nix create mode 100644 modules/home-manager/coding/neovim/plugins/refactoring.nix create mode 100644 modules/home-manager/coding/neovim/plugins/telescope.nix create mode 100644 modules/home-manager/coding/neovim/plugins/treesitter.nix create mode 100644 modules/home-manager/coding/neovim/plugins/undotree.nix create mode 100644 modules/home-manager/coding/neovim/plugins/vim-dadbod.nix create mode 100644 modules/home-manager/coding/neovim/plugins/vim-highlightedyank.nix create mode 100644 modules/home-manager/coding/neovim/plugins/vim-test.nix create mode 100644 modules/home-manager/coding/neovim/plugins/web-devicons.nix diff --git a/flake.lock b/flake.lock index de8ea04c..8a80c853 100644 --- a/flake.lock +++ b/flake.lock @@ -80,6 +80,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nur", @@ -100,6 +121,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -142,6 +181,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.8", + "repo": "ixx", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1748634340, @@ -258,9 +325,32 @@ "type": "github" } }, - "nur": { + "nixvim": { "inputs": { "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_3" + }, + "locked": { + "lastModified": 1748564405, + "narHash": "sha256-uCmQLJmdg0gKWBs+vhNmS9RIPJW8/ddo6TvQ/a4gupc=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "8b3a69cfea5ba2fa008c6c57ab79c99c513a349b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_4", "treefmt-nix": "treefmt-nix" }, @@ -278,6 +368,29 @@ "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748298102, + "narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=", + "owner": "NuschtOS", + "repo": "search", + "rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -287,6 +400,7 @@ "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable", + "nixvim": "nixvim", "nur": "nur" } }, @@ -305,6 +419,36 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index ff20c01e..355436d6 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,9 @@ nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + nixvim.inputs.nixpkgs.follows = "nixpkgs"; + nixvim.url = "github:nix-community/nixvim"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; diff --git a/modules/home-manager/coding/neovim/config/.gitignore b/modules/home-manager/coding/neovim/config/.gitignore deleted file mode 100644 index f67ce914..00000000 --- a/modules/home-manager/coding/neovim/config/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/spell/*.spl diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/gitcommit.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/gitcommit.lua deleted file mode 100644 index f1aaed51..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/gitcommit.lua +++ /dev/null @@ -1,8 +0,0 @@ -vim.opt_local.colorcolumn = "50,72" -vim.opt_local.spell = true -vim.opt_local.textwidth = 72 - --- autocmd FileType gitcommit highlight ColorColumn ctermbg=8 --- filetype indent on --- filetype on --- filetype plugin on diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua deleted file mode 100644 index feb36522..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/markdown.lua +++ /dev/null @@ -1,9 +0,0 @@ --- TODO: Interim fix for https://github.com/nvim-treesitter/nvim-treesitter-context/issues/431. -vim.opt_local.spell = true -vim.opt_local.wrap = true - -vim.keymap.set("n", "<leader>su", "Bi{{site.url}}/<Esc>") - --- Convert lines into a markdown list. -vim.keymap.set("n", "<leader>l", "vip:norm I- <CR>") -vim.keymap.set("v", "<leader>l", ":norm I- <CR>") diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/php.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/php.lua deleted file mode 100644 index 8d33bf16..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/php.lua +++ /dev/null @@ -1,3 +0,0 @@ -vim.keymap.set("v", "<leader>dd", "yodd(['<Esc>pA', <Esc>pA]);<Esc>") -vim.keymap.set("v", "<leader>du", "yodump(['<Esc>pA', <Esc>pA]);<Esc>") -vim.keymap.set("v", "<leader>vd", "yovar_dump(['<Esc>pA', <Esc>pA]);<Esc>") diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua deleted file mode 100644 index 9ea59d91..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/rst.lua +++ /dev/null @@ -1,20 +0,0 @@ -local opt = vim.opt_local - -opt.spell = true -opt.wrap = true - -local cmp = require "cmp" -local sources = cmp.get_config().sources - --- TODO: confirm these aren't aleady in the list of sources to avoid duplicate suggestions. -table.insert(sources, { name = "buffer" }) -table.insert(sources, { name = "path" }) - -cmp.setup.buffer { sources = sources } - --- Convert lines into a list. -vim.keymap.set("n", "<leader>l", "vip:norm I* <CR>") -vim.keymap.set("v", "<leader>l", ":norm I* <CR>") - -vim.keymap.set("n", "<leader>ta", '_iTextAnnotation "<Esc>A"<Esc>j') -vim.keymap.set("v", "<leader>ta", ':norm ITextAnnotation "<Esc>gv:norm A"<Esc>') diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/term.vim b/modules/home-manager/coding/neovim/config/after/ftplugin/term.vim deleted file mode 100644 index 16bbc95e..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/term.vim +++ /dev/null @@ -1,4 +0,0 @@ -setlocal norelativenumber -setlocal nonumber - -setlocal scrolloff=0 diff --git a/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua b/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua deleted file mode 100644 index b18b0770..00000000 --- a/modules/home-manager/coding/neovim/config/after/ftplugin/text.lua +++ /dev/null @@ -1,21 +0,0 @@ -local opt = vim.opt_local - -opt.number = false -opt.relativenumber = false -opt.spell = true -opt.wrap = true - -vim.api.nvim_create_autocmd("BufWritePre", { - buffer = 0, - callback = function() - local last_line = vim.api.nvim_buf_get_lines(0, -2, -1, false)[1] - - if last_line ~= "" then - vim.api.nvim_buf_set_lines(0, -1, -1, false, { "" }) - end - end, -}) - --- Convert lines into a markdown list. -vim.keymap.set("n", "<leader>l", "vip:norm I- <CR>") -vim.keymap.set("v", "<leader>l", ":norm I- <CR>") diff --git a/modules/home-manager/coding/neovim/config/autoload/opdavies.vim b/modules/home-manager/coding/neovim/config/autoload/opdavies.vim deleted file mode 100644 index 449666bf..00000000 --- a/modules/home-manager/coding/neovim/config/autoload/opdavies.vim +++ /dev/null @@ -1,12 +0,0 @@ -if !exists('*opdavies#save_and_exec') - function! opdavies#save_and_exec() abort - if &filetype == 'vim' - :silent! write - :source % - elseif &filetype == 'lua' - :silent! write - :luafile % - endif - return - endfunction -endif diff --git a/modules/home-manager/coding/neovim/config/init.lua b/modules/home-manager/coding/neovim/config/init.lua deleted file mode 100644 index 0437de40..00000000 --- a/modules/home-manager/coding/neovim/config/init.lua +++ /dev/null @@ -1 +0,0 @@ -require "opdavies" diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/globals.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/globals.lua deleted file mode 100644 index d6fd70c6..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/globals.lua +++ /dev/null @@ -1,13 +0,0 @@ -P = function(v) - print(vim.inspect(v)) - return v -end - -RELOAD = function(...) - return require("plenary.reload").reload_module(...) -end - -R = function(name) - RELOAD(name) - return require(name) -end diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/init.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/init.lua deleted file mode 100644 index 0c5c7570..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/init.lua +++ /dev/null @@ -1,4 +0,0 @@ -require "opdavies.globals" -require "opdavies.options" -require "opdavies.keymaps" -require "opdavies.lsp" diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua deleted file mode 100644 index 09f67f9d..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/keymaps.lua +++ /dev/null @@ -1,121 +0,0 @@ -local set = vim.keymap.set - -set("n", "<C-f>", "<cmd>silent !tmux new-window tmux-sessionizer<CR>") - --- Execute Lua in the current file, line or range. -set("n", "<leader><leader>x", "<cmd>source %<CR>") -set("n", "<leader>x", ":.lua<CR>") -set("v", "<leader>x", ":lua<CR>") - --- Yank from the current column to the end of the line -set("n", "Y", "yg$") - --- Keep things centred -set("n", "n", "nzzzv") -set("n", "N", "Nzzzv") - --- Disable up and down arrow keys. -set("v", "<down>", "<nop>") -set("v", "<up>", "<nop>") - -set("n", "<Left>", "gT") -set("n", "<Right>", "gt") - --- Easily switch back to visual mode. -set("i", "jj", "<Esc>") -set("i", "jk", "<Esc>") - --- Easy insertion of a trailing ; or , from insert mode -set("i", ",,", "<Esc>A,<Esc>") -set("i", ";;", "<Esc>A;<Esc>") - --- Automatically resize buffers. -set("n", "<leader>=", ":wincmd =<cr>", { noremap = true, silent = true }) - --- Move line(s) up and down. -local opts = { noremap = true, silent = true } -set("i", "<M-j>", "<Esc>:m .+1<CR>==gi", opts) -set("i", "<M-k>", "<Esc>:m .-2<CR>==gi", opts) -set("n", "<M-j>", ":m .+1<CR>==", opts) -set("n", "<M-k>", ":m .-2<CR>==", opts) -set("v", "<M-j>", ":m '>+1<CR>gv=gv", opts) -set("v", "<M-k>", ":m '<-2<CR>gv=gv", opts) - --- Re-centre when navigating. -set("n", "#", "#zz", opts) -set("n", "%", "%zz", opts) -set("n", "*", "*zz", opts) -set("n", "<C-d>", "<C-d>zz", opts) -set("n", "<C-i>", "<C-i>zz", opts) -set("n", "<C-o>", "<C-o>zz", opts) -set("n", "<C-u>", "<C-u>zz", opts) -set("n", "G", "Gzz", opts) -set("n", "N", "Nzz", opts) -set("n", "gg", "ggzz", opts) -set("n", "n", "Nzz", opts) -set("n", "{", "{zz", opts) -set("n", "}", "}zz", opts) - --- Clears hlsearch after doing a search, otherwise just does normal <CR> stuff -vim.cmd [[ nnoremap <expr> <CR> {-> v:hlsearch ? ":nohl\<CR>" : "\<CR>"}() ]] - --- Quicker macro playback. -set("n", "Q", "@qj") -set("x", "Q", ":norm @q<CR>") - -set("v", "Q", "<nop>") - -set("v", "J", ":m '>+1<CR>gvrgv") -set("v", "K", ":m '<-2<CR>gv=gv") - -set("n", "J", "mzJ`z") -set("n", "<C-d>", "<C-d>zz") -set("n", "<C-u>", "<C-u>zz") -set("n", "n", "nzzzv") -set("n", "N", "Nzzzv") - -set("n", "<leader>ec", ":edit composer.json<CR>") -set("n", "<leader>ef", ":edit flake.nix<CR>") -set("n", "<leader>ej", ":edit justfile<CR>") -set("n", "<leader>en", ":edit notes.txt<CR>") -set("n", "<leader>er", ":edit run<CR>") -set("n", "<leader>et", function() vim.cmd.tabnew("todo.txt") end) - -set({ "n", "v" }, "<leader>y", [["+y]]) -set("n", "<leader>Y", [["+Y]]) - --- Re-add functionality to open the URL under the cursor. --- This is overridden by mini.operators to exchange text regions. -vim.keymap.set("n", "<leader>gx", function() - local url = vim.fn.expand "<cfile>" - vim.fn["netrw#BrowseX"](url, 0) -end, { desc = "Open URL under cursor" }) - -set("n", "<leader>f", vim.lsp.buf.format); - -local notes_directory = os.getenv("NOTES_DIRECTORY") -local wiki_directory = os.getenv("XDG_DOCUMENTS_DIR") .. "/wiki" - -set("n", "<leader>gn", function() - require("telescope.builtin").live_grep({ - cwd = notes_directory, - }) -end) - -set("n", "<leader>n", function() - local filepath = string.format("%s/%s.txt", notes_directory, os.date("%Y-%m-%d")) - - vim.cmd.tabnew(vim.fn.fnameescape(filepath)) -end) - -set("n", "<leader>fw", function() - require("telescope.builtin").find_files({ - cwd = wiki_directory, - }) -end) - -set("n", "<leader>gw", function() - require("telescope.builtin").live_grep({ - cwd = wiki_directory, - }) -end) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/handlers.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/handlers.lua deleted file mode 100644 index bf0be545..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/handlers.lua +++ /dev/null @@ -1,73 +0,0 @@ -local M = {} - -local function should_remove_diagnostic(messages_to_filter, message) - for _, filter_message in ipairs(messages_to_filter) do - if message:match(filter_message) then - return true - end - end - - return false -end - -M.definition = function() - local params = vim.lsp.util.make_position_params() - - vim.lsp.buf_request(0, "textDocument/definition", params, function(err, result, ctx, config) - local bufnr = ctx.bufnr - local ft = vim.api.nvim_buf_get_option(bufnr, "filetype") - - local new_result = vim.tbl_filter(function(v) - -- Remove any definitions within the nix store via the .direnv directory. - if string.find(v.targetUri, ".direnv") then - return false - end - - -- Remove definitions within vendor-bin directory for PHP files. - if ft == "php" then - if string.find(v.targetUri, "vendor%-bin") then - return false - end - end - - return true - end, result) - - if #new_result > 0 then - result = new_result - end - - vim.lsp.handlers["textDocument/definition"](err, result, ctx, config) - vim.cmd [[normal! zz]] - end) -end - -M.on_publish_diagnostics = function(_, result, ctx, config) - local client = vim.lsp.get_client_by_id(ctx.client_id) - - if client.name == "cssls" then - local filtered_diagnostics = {} - - local messages_to_filter = { - "Unknown at rule @apply", - "Unknown at rule @plugin", - "Unknown at rule @tailwind", - "Unknown at rule @theme", - } - - -- For each diagnostic, ensure its mesages doesn't match one I want to - -- ignore before adding it to the result. If it matches, don't add it to the - -- result and it won't be shown. - for _, diagnostic in ipairs(result.diagnostics) do - if not should_remove_diagnostic(messages_to_filter, diagnostic.message) then - table.insert(filtered_diagnostics, diagnostic) - end - end - - result.diagnostics = filtered_diagnostics - end - - vim.lsp.diagnostic.on_publish_diagnostics(_, result, ctx, config) -end - -return M diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua deleted file mode 100644 index 9fa94ff6..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/lsp/init.lua +++ /dev/null @@ -1,24 +0,0 @@ -vim.diagnostic.config { - float = { source = true }, - signs = true, - underline = false, - update_in_insert = false, - virtual_text = { spacing = 2 }, -} - -vim.api.nvim_create_autocmd("LspAttach", { - callback = function() - local builtin = require "telescope.builtin" - - vim.keymap.set("n", "gd", builtin.lsp_definitions, { buffer = 0 }) - vim.keymap.set("n", "gr", builtin.lsp_references, { buffer = 0 }) - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 }) - vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, { buffer = 0 }) - vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = 0 }) - - vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { buffer = 0 }) - vim.keymap.set("n", "<leader>cr", vim.lsp.buf.rename, { buffer = 0 }) - - vim.keymap.set("n", "<leader>dl", vim.diagnostic.setqflist, { buffer = 0 }) - end, -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/options.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/options.lua deleted file mode 100644 index 745bd8f7..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/options.lua +++ /dev/null @@ -1,53 +0,0 @@ -vim.g.mapleader = " " -vim.g.snippets = "luasnip" - -local settings = { - autoindent = true, - backup = false, - breakindent = true, - expandtab = true, - exrc = true, - foldlevel = 1, - foldlevelstart = 99, - foldmethod = "indent", - formatoptions = "clqjp", - hidden = false, - hlsearch = false, - inccommand = "split", - laststatus = 3, - linebreak = true, - list = true, - mouse = "a", - number = true, - pumblend = 10, - pumheight = 10, - relativenumber = true, - scrolloff = 5, - shiftwidth = 2, - showmode = false, - signcolumn = "yes:1", - smartindent = true, - softtabstop = 2, - spellfile = "/home/opdavies/Code/personal/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add", - splitbelow = true, - splitright = true, - swapfile = false, - syntax = "on", - tabstop = 2, - termguicolors = true, - textwidth = 0, - undodir = os.getenv "XDG_STATE_HOME" .. "/nvim/undodir", - undofile = true, - updatetime = 1000, - wrap = false, -} - -for key, value in pairs(settings) do - vim.o[key] = value -end - -vim.opt.backupdir:remove "." -- keep backups out of the current directory -vim.opt.completeopt = { "menu", "menuone", "noinsert", "noselect" } -vim.opt.listchars:append { - trail = "·", -} diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/javascript.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/javascript.lua deleted file mode 100644 index c5af9696..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/javascript.lua +++ /dev/null @@ -1,12 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "javascript" - -local ls = require "luasnip" - -local i = ls.insert_node -local s = ls.snippet - -local fmta = require("luasnip.extras.fmt").fmta - -ls.add_snippets("javascript", { - s("log", fmta("console.log(<>);", { i(1, "value") })), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/lua.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/lua.lua deleted file mode 100644 index e7eb8cd1..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/lua.lua +++ /dev/null @@ -1,23 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "lua" - -local ls = require "luasnip" - -local f = ls.function_node -local i = ls.insert_node -local s = ls.snippet - -local fmt = require("luasnip.extras.fmt").fmt - -ls.add_snippets("lua", { - s( - "req", - fmt([[local {} = require "{}"]], { - f(function(import_name) - local parts = vim.split(import_name[1][1], ".", true) - - return parts[#parts] or "" - end, { 1 }), - i(1), - }) - ), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua deleted file mode 100644 index 1ccc6ada..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/nix.lua +++ /dev/null @@ -1,120 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "nix" - -local ls = require "luasnip" - -local i = ls.insert_node -local s = ls.snippet - -local fmta = require("luasnip.extras.fmt").fmta - -ls.add_snippets("nix", { - s("home_packages", fmta("home.packages = with pkgs; [ <> ];", i(0))), - - s( - "homepage_options", - fmta( - [[ - homepage.name = mkOption { - default = "<name>"; - type = types.str; - }; - - homepage.description = mkOption { - default = "<description>"; - type = types.str; - }; - - homepage.icon = mkOption { - default = "<icon>"; - type = types.str; - }; - - homepage.category = mkOption { - default = "<finish>"; - type = types.str; - }; - ]], - { - description = i(2), - finish = i(0), - icon = i(3), - name = i(1), - } - ) - ), - - s( - "imports", - fmta( - [[ - { - imports = [ - <> - ]; - } - ]], - { i(0) } - ) - ), - - s( - "new_flake", - fmta( - [[ - { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";<inputs> - }; - - outputs = - { nixpkgs, ... }: - let - system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; - - inherit (pkgs) mkShell; - in - { - devShells.${system}.default = mkShell { - packages = with pkgs; [ <pkgs> ]; - };<finish> - - formatter.${system} = pkgs.nixfmt-classic; - }; - } - ]], - { inputs = i(1), pkgs = i(2), finish = i(0) } - ) - ), - s( - "new_module", - fmta( - [[ - { config, lib, ... }: - - let - name = "<name>"; - cfg = config.<namespace>.${name}; - in - { - options.<namespace>.${name} = { - enable = lib.mkEnableOption "Enable ${name}";<more_options> - }; - - config = lib.mkIf cfg.enable { - <finish> - }; - } - ]], - { - finish = i(0), - more_options = i(3), - name = i(1), - namespace = i(2), - }, - { repeat_duplicates = true } - ) - ), - - s("system_packages", fmta("environment.systemPackages = with pkgs; [<>];", i(0))), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/php.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/php.lua deleted file mode 100644 index f7b5bc0b..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/php.lua +++ /dev/null @@ -1,66 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "php" - -local ls = require "luasnip" - -local c = ls.choice_node -local i = ls.insert_node -local s = ls.snippet -local t = ls.text_node - -local fmta = require("luasnip.extras.fmt").fmta - -ls.add_snippets("php", { - s("func", fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) })), - - s( - "met", - fmta( - [[ - <> function <>(<>)<> { - <> - }<> - ]], - { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } - ) - ), - - s("pest", fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) })), - - s( - "test", - fmta( - [[ - public function test<>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ) - ), - - s( - "testan", - fmta( - [[ - /** @test */ - public function <>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ) - ), - - s( - "testat", - fmta( - [[ - [#Test] - public function <>(): void { - <> - }<> - ]], - { i(1), i(2), i(0) } - ) - ), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/rst.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/rst.lua deleted file mode 100644 index 954dfc8f..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/rst.lua +++ /dev/null @@ -1,63 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "rst" - -local ls = require "luasnip" - -local i = ls.insert_node -local f = ls.function_node -local s = ls.snippet -local t = ls.text_node - -local fmta = require("luasnip.extras.fmt").fmta - -local fill_line = function(char) - return function() - local row = vim.api.nvim_win_get_cursor(0)[1] - local lines = vim.api.nvim_buf_get_lines(0, row - 2, row, false) - return string.rep(char, #lines[1]) - end -end - -ls.add_snippets("rst", { - s("class", t(".. class:: ", i(1))), - - s("footer", t(".. footer:: ", i(1))), - - s("link", t(".. _", i(1), ":")), - - s("raw", t(".. raw:: ", i(1))), - - -- TODO: add an optional new line and ":width" property. - s("image", t(".. image:: ", i(1))), - - s("head", f(fill_line "=", {})), - - s("sub", f(fill_line "-", {})), - - s("subsub", f(fill_line "^", {})), - - -- Add a page break with an optional page template. - s( - "pb", - fmta( - [[ - .. raw:: pdf - - PageBreak<> - ]], - { i(0) } - ) - ), - - -- Add a new speaker note. - s( - "ta", - fmta( - [[ - .. raw:: pdf - - TextAnnotation "<>" - ]], - { i(0) } - ) - ), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/scss.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/scss.lua deleted file mode 100644 index 35520859..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/scss.lua +++ /dev/null @@ -1,12 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "scss" - -local ls = require "luasnip" - -local i = ls.insert_node -local s = ls.snippet - -local fmta = require("luasnip.extras.fmt").fmta - -ls.add_snippets("scss", { - s("bp", fmta("@include breakpoint(<>) {\n <>\n}", { i(1), i(0) })), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/twig.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/twig.lua deleted file mode 100644 index 628e1e25..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/twig.lua +++ /dev/null @@ -1,28 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "twig" - -local ls = require "luasnip" - -local s = ls.snippet -local i = ls.insert_node - -local fmta = require("luasnip.extras.fmt").fmta - -ls.add_snippets("twig", { - s("do", fmta("{% <> %}<>", { i(1), i(0) })), - s("dump", fmta("{{ dump(<>) }}<>", { i(1), i(0) })), - s("echo", fmta("{{ <> }}<>", { i(1), i(0) })), - - s( - "for", - fmta( - [[ - {% for <> in <> %} - <> - {% endfor %}<> - ]], - { i(1), i(2), i(3), i(0) } - ) - ), - - s("if", fmta("{% if <> %}<>{% endif %}<>", { i(1), i(2), i(0) })), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/yaml.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/yaml.lua deleted file mode 100644 index 399a3072..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/snippets/yaml.lua +++ /dev/null @@ -1,47 +0,0 @@ -require("luasnip.session.snippet_collection").clear_snippets "yaml" - -local ls = require "luasnip" - -local c = ls.choice_node -local i = ls.insert_node -local s = ls.snippet -local t = ls.text_node - -local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep - -ls.add_snippets("yaml", { - s( - "drupal_info", - fmta( - [[ - name: <module_name> - description: <description> - core_version_requirement: ^10 || ^11 - type: <type> - package: <package> - ]], - { module_name = i(1), description = i(2), type = c(3, { t "module", t "theme" }), package = i(0) } - ) - ), - - s( - "drupal_route", - fmta( - [[ - <module>.<route>: - path: /<path> - defaults: - _controller: Drupal\<module_same>\Controller\<class> - # _form: - # _title: - # _title_callback: - methods: [GET] - requirements: - _permission: access content - # _access: TRUE<finish> - ]], - { module = i(1), route = i(2), path = i(3), module_same = rep(1), class = i(4), finish = i(0) } - ) - ), -}) diff --git a/modules/home-manager/coding/neovim/config/lua/opdavies/telescope/multigrep.lua b/modules/home-manager/coding/neovim/config/lua/opdavies/telescope/multigrep.lua deleted file mode 100644 index d4418c5d..00000000 --- a/modules/home-manager/coding/neovim/config/lua/opdavies/telescope/multigrep.lua +++ /dev/null @@ -1,57 +0,0 @@ -local conf = require("telescope.config").values -local finders = require "telescope.finders" -local make_entry = require "telescope.make_entry" -local pickers = require "telescope.pickers" - -local M = {} - -local live_multigrep = function(opts) - opts = opts or {} - opts.cwd = opts.cwd or vim.uv.cwd() - - local finder = finders.new_async_job { - command_generator = function(prompt) - if not prompt or prompt == "" then - return nil - end - - local pieces = vim.split(prompt, " ") - local args = { "rg" } - - if pieces[1] then - table.insert(args, "-e") - table.insert(args, pieces[1]) - end - - if pieces[2] then - table.insert(args, "-g") - table.insert(args, pieces[2]) - end - - ---@diagnostic disable-next-line: deprecated - return vim.tbl_flatten { - args, - { "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case" }, - } - end, - - cwd = opts.cwd, - entry_maker = make_entry.gen_from_vimgrep(opts), - } - - pickers - .new(opts, { - debounce = 100, - finder = finder, - previewer = conf.grep_previewer(opts), - prompt_title = "Multi Grep", - sorter = require("telescope.sorters").empty(), - }) - :find() -end - -M.setup = function() - vim.keymap.set("n", "<leader>fg", live_multigrep) -end - -return M diff --git a/modules/home-manager/coding/neovim/config/plugin/autocommands.lua b/modules/home-manager/coding/neovim/config/plugin/autocommands.lua deleted file mode 100644 index c4641b1c..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/autocommands.lua +++ /dev/null @@ -1,7 +0,0 @@ -vim.api.nvim_create_autocmd("TextYankPost", { - desc = "Highlight when yanking (copying) text", - group = vim.api.nvim_create_augroup("kickstart-highlight-yank", { clear = true }), - callback = function() - vim.highlight.on_yank() - end, -}) diff --git a/modules/home-manager/coding/neovim/config/plugin/colorscheme.lua b/modules/home-manager/coding/neovim/config/plugin/colorscheme.lua deleted file mode 100644 index d949f5fd..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/colorscheme.lua +++ /dev/null @@ -1,25 +0,0 @@ -local status_ok, catppuccin = pcall(require, "catppuccin") -if not status_ok then - return -end - -catppuccin.setup { - flavour = "macchiato", - integrations = { - cmp = true, - gitsigns = true, - mini = { - enabled = true, - indentscope_color = "", - }, - native_lsp = { - enabled = true, - }, - telescope = true, - treesitter = true, - }, - term_colors = true, - transparent_background = true, -} - -vim.cmd.colorscheme "catppuccin" diff --git a/modules/home-manager/coding/neovim/config/plugin/comment.lua b/modules/home-manager/coding/neovim/config/plugin/comment.lua deleted file mode 100644 index eb350eb9..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/comment.lua +++ /dev/null @@ -1,19 +0,0 @@ -local status_ok, comment = pcall(require, "Comment") -if not status_ok then - return -end - -comment.setup { - padding = true, - - opleader = { - line = "gc", - block = "gb", - }, - - mappings = { - basic = true, - extra = true, - extended = false, - }, -} diff --git a/modules/home-manager/coding/neovim/config/plugin/completion.lua b/modules/home-manager/coding/neovim/config/plugin/completion.lua deleted file mode 100644 index d1a8a111..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/completion.lua +++ /dev/null @@ -1,76 +0,0 @@ -local cmp = require "cmp" -local ls = require "luasnip" - -vim.opt.shortmess:append "c" - -cmp.setup { - snippet = { - expand = function(args) - ls.lsp_expand(args.body) - end, - }, - - mapping = cmp.mapping.preset.insert { - ["<C-e>"] = cmp.mapping.close(), - - ["<C-h>"] = cmp.mapping(function() - if ls.locally_jumpable(-1) then - ls.jump(-1) - end - end, { "i", "s" }), - - ["<C-l>"] = cmp.mapping(function() - if ls.expand_or_locally_jumpable() then - ls.expand_or_jump() - end - end, { "i", "s" }), - - ["<C-y>"] = cmp.mapping.confirm { select = true }, - ["<tab>"] = cmp.config.disable, - }, - - sources = { - { name = "nvim_lsp" }, - { name = "nvim_lua" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "calc" }, - }, - - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - cmp.config.compare.score, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - - formatting = { - format = require("lspkind").cmp_format { - with_text = true, - menu = { - buffer = "[buf]", - cmp_tabnine = "[tn]", - luasnip = "[snip]", - nvim_lsp = "[lsp]", - nvim_lua = "[lua]", - path = "[path]", - }, - }, - }, - - experimental = { - native_menu = false, - }, -} - -cmp.setup.filetype({ "mysql", "sql" }, { - sources = { - { name = "vim-dadbod-completion" }, - { name = "buffer" }, - }, -}) diff --git a/modules/home-manager/coding/neovim/config/plugin/conform.lua b/modules/home-manager/coding/neovim/config/plugin/conform.lua deleted file mode 100644 index 733eaca4..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/conform.lua +++ /dev/null @@ -1,5 +0,0 @@ -local conform = require "conform" - -conform.setup { - formatters_by_ft = {} -} diff --git a/modules/home-manager/coding/neovim/config/plugin/dap.lua b/modules/home-manager/coding/neovim/config/plugin/dap.lua deleted file mode 100644 index f9c1f3ce..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/dap.lua +++ /dev/null @@ -1,69 +0,0 @@ -local dap = require "dap" -local ui = require "dapui" - -dap.adapters.php = { - type = "executable", - command = "node", - args = { os.getenv "HOME" .. "/build/vscode-php-debug/out/phpDebug.js" }, -} - -dap.configurations.php = { - { - type = "php", - request = "launch", - name = "Listen for Xdebug", - port = 9003, - pathMappings = { - ["/app"] = "${workspaceFolder}", - ["/var/www/html"] = "${workspaceFolder}", - }, - }, -} - -dap.listeners.after.event_initialized["ui_config"] = function() - ui.open() -end - -dap.listeners.before.event_terminated["ui_config"] = function() - ui.close() -end - -dap.listeners.before.event_exited["ui_config"] = function() - ui.close() -end - -ui.setup { - layouts = { - { - elements = { - { id = "scopes", size = 0.25 }, - "breakpoints", - "stacks", - "watches", - }, - size = 40, -- 40 columns - position = "right", - }, - { - elements = { - "repl", - "console", - }, - size = 0.25, -- 25% of total lines - position = "bottom", - }, - }, -} - -require("nvim-dap-virtual-text").setup { - commented = true, -} - -vim.keymap.set("n", "<leader>b", dap.toggle_breakpoint) -vim.keymap.set("n", "<leader>gb", dap.run_to_cursor) - -vim.keymap.set("n", "<F1>", dap.continue) -vim.keymap.set("n", "<F2>", dap.step_into) -vim.keymap.set("n", "<F3>", dap.step_over) -vim.keymap.set("n", "<F4>", dap.step_out) -vim.keymap.set("n", "<F5>", dap.step_back) diff --git a/modules/home-manager/coding/neovim/config/plugin/filetype.lua b/modules/home-manager/coding/neovim/config/plugin/filetype.lua deleted file mode 100644 index cf0ab512..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/filetype.lua +++ /dev/null @@ -1,15 +0,0 @@ -vim.filetype.add { - extension = { - inc = "php", - install = "php", - module = "php", - neon = "yaml", - pcss = "scss", - theme = "php", - }, - - filename = { - ["composer.lock"] = "json", - ["phpstan.neon.dist"] = "yaml", - }, -} diff --git a/modules/home-manager/coding/neovim/config/plugin/fugitive.lua b/modules/home-manager/coding/neovim/config/plugin/fugitive.lua deleted file mode 100644 index 4aded48c..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/fugitive.lua +++ /dev/null @@ -1,25 +0,0 @@ -vim.keymap.set("n", "<leader>gc", "<cmd>Git commit<cr><C-w>K") - --- Open the ":Git" window in its own buffer, not a split. -vim.keymap.set("n", "<leader>gs", "<cmd>0Git<cr>") - -vim.api.nvim_create_autocmd("BufWinEnter", { - pattern = "*", - - callback = function() - if vim.bo.ft ~= "fugitive" then - return - end - - local bufnr = vim.api.nvim_get_current_buf() - local opts = { buffer = bufnr, remap = false } - - vim.keymap.set("n", "<leader>p", function() - vim.cmd.Git "push" - end, opts) - - vim.keymap.set("n", "<leader>P", function() - vim.cmd.Git { "pull", "--rebase" } - end, opts) - end, -}) diff --git a/modules/home-manager/coding/neovim/config/plugin/gitsigns.lua b/modules/home-manager/coding/neovim/config/plugin/gitsigns.lua deleted file mode 100644 index 16b2f800..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/gitsigns.lua +++ /dev/null @@ -1,30 +0,0 @@ -local gitsigns = require "gitsigns" - -gitsigns.setup { - linehl = false, - numhl = true, -} - -local set = vim.keymap.set - -set("n", "[h", "<cmd>Gitsigns prev_hunk<CR>") -set("n", "]h", "<cmd>Gitsigns next_hunk<CR>") - -set("n", "<leader>hR", gitsigns.reset_buffer) -set("n", "<leader>hS", gitsigns.stage_buffer) -set("n", "<leader>hb", gitsigns.blame_line) -set("n", "<leader>hp", gitsigns.preview_hunk) -set("n", "<leader>hr", gitsigns.reset_hunk) -set("n", "<leader>hs", gitsigns.stage_hunk) -set("n", "<leader>hu", gitsigns.undo_stage_hunk) - -set("v", "<leader>hr", function() - gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } -end) - -set("v", "<leader>hs", function() - gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } -end) - --- Text object. -set({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>") diff --git a/modules/home-manager/coding/neovim/config/plugin/harpoon.lua b/modules/home-manager/coding/neovim/config/plugin/harpoon.lua deleted file mode 100644 index 738ca9cc..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/harpoon.lua +++ /dev/null @@ -1,34 +0,0 @@ -local harpoon = require "harpoon" - -harpoon:setup() - -vim.keymap.set("n", "<leader>a", function() - harpoon:list():add() -end) - -vim.keymap.set("n", "<C-e>", function() - harpoon.ui:toggle_quick_menu(harpoon:list()) -end) - -vim.keymap.set("n", "<C-h>", function() - harpoon:list():select(1) -end) - -vim.keymap.set("n", "<C-j>", function() - harpoon:list():select(2) -end) - -vim.keymap.set("n", "<C-k>", function() - harpoon:list():select(3) -end) - -vim.keymap.set("n", "<C-l>", function() - harpoon:list():select(4) -end) - --- Set <space>1..<space>5 be my shortcuts to moving to the files -for _, idx in ipairs { 1, 2, 3, 4, 5 } do - vim.keymap.set("n", string.format("<space>%d", idx), function() - harpoon:list():select(idx) - end) -end diff --git a/modules/home-manager/coding/neovim/config/plugin/lint.lua b/modules/home-manager/coding/neovim/config/plugin/lint.lua deleted file mode 100644 index 249cf0f8..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/lint.lua +++ /dev/null @@ -1,12 +0,0 @@ -local lint = require "lint" - -lint.linters_by_ft = {}; - -local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) - -vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { - group = lint_augroup, - callback = function() - lint.try_lint() - end, -}) diff --git a/modules/home-manager/coding/neovim/config/plugin/mini.lua b/modules/home-manager/coding/neovim/config/plugin/mini.lua deleted file mode 100644 index 933bb1e9..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/mini.lua +++ /dev/null @@ -1,13 +0,0 @@ -require("mini.ai").setup { n_lines = 500 } - -require("mini.align").setup {} - -require("mini.bracketed").setup {} - -require("mini.move").setup {} - -require("mini.operators").setup {} - -require("mini.splitjoin").setup {} - -require("mini.surround").setup {} diff --git a/modules/home-manager/coding/neovim/config/plugin/oil.lua b/modules/home-manager/coding/neovim/config/plugin/oil.lua deleted file mode 100644 index d6b3cfd0..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/oil.lua +++ /dev/null @@ -1,16 +0,0 @@ -require("oil").setup { - columns = {}, - - keymaps = { - ["<C-h>"] = false, - ["<M-h>"] = "actions.select_split", - }, - - skip_confirm_for_simple_edits = true, - - view_options = { - show_hidden = true, - }, -} - -vim.keymap.set("n", "-", "<Cmd>Oil<cr>", { desc = "Open parent directory" }) diff --git a/modules/home-manager/coding/neovim/config/plugin/phpactor.lua b/modules/home-manager/coding/neovim/config/plugin/phpactor.lua deleted file mode 100644 index 873d853c..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/phpactor.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.keymap.set("n", "<leader>pm", "<cmd>PhpactorContextMenu<CR>") -vim.keymap.set("n", "<leader>pn", "<cmd>PhpactorClassNew<CR>") diff --git a/modules/home-manager/coding/neovim/config/plugin/refactoring.lua b/modules/home-manager/coding/neovim/config/plugin/refactoring.lua deleted file mode 100644 index a23a0bb2..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/refactoring.lua +++ /dev/null @@ -1,12 +0,0 @@ -local refactoring = require "refactoring" - --- TODO: add keymaps - https://github.com/ThePrimeagen/refactoring.nvim#configuration-for-refactoring-operations -refactoring.setup {} - -local opts = { silent = true } - -vim.keymap.set("n", "<Leader>ri", "<Cmd>lua require 'refactoring'.refactor 'Inline Variable'<Cr>", opts) - -vim.keymap.set("v", "<Leader>re", "<Esc><Cmd>lua require 'refactoring'.refactor 'Extract Function'<Cr>", opts) -vim.keymap.set("v", "<Leader>ri", "<Esc><Cmd>lua require 'refactoring'.refactor 'Inline Variable'<Cr>", opts) -vim.keymap.set("v", "<Leader>rv", "<Esc><Cmd>lua require 'refactoring'.refactor 'Extract Variable'<Cr>", opts) diff --git a/modules/home-manager/coding/neovim/config/plugin/snippets.lua b/modules/home-manager/coding/neovim/config/plugin/snippets.lua deleted file mode 100644 index c483d35a..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/snippets.lua +++ /dev/null @@ -1,32 +0,0 @@ -local ls = require "luasnip" - -ls.config.set_config { - enable_autosnippets = true, - history = true, - updateevents = "TextChanged,TextChangedI", -} - -for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/opdavies/snippets/*.lua", true)) do - loadfile(ft_path)() -end - --- Expand the current item or just to the next item within the snippet. -vim.keymap.set({ "i", "s" }, "<c-k>", function() - if ls.expand_or_jumpable() then - ls.expand_or_jump() - end -end, { silent = true }) - --- Jump backwards. -vim.keymap.set({ "i", "s" }, "<c-j>", function() - if ls.jumpable(-1) then - ls.jump(-1) - end -end, { silent = true }) - --- Select within a list of options. -vim.keymap.set("i", "<c-l>", function() - if ls.choice_active() then - ls.change_choice(1) - end -end) diff --git a/modules/home-manager/coding/neovim/config/plugin/telescope.lua b/modules/home-manager/coding/neovim/config/plugin/telescope.lua deleted file mode 100644 index 81e58eef..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/telescope.lua +++ /dev/null @@ -1,64 +0,0 @@ -local telescope = require "telescope" - -telescope.setup { - defaults = { - layout_config = { prompt_position = "top" }, - path_display = { truncate = 1 }, - prompt_prefix = "$ ", - sorting_strategy = "ascending", - }, - - pickers = { - lsp_references = { - previewer = false, - }, - }, - - extensions = { - ["ui-select"] = { - require("telescope.themes").get_dropdown {}, - }, - }, -} - -telescope.load_extension "fzf" -telescope.load_extension "refactoring" -telescope.load_extension "ui-select" - -local builtin = require "telescope.builtin" - -local M = {} - -M.grep_bluecheese = function() - builtin.live_grep { cwd = "web/sites/default/themes/bluecheese" } -end - -M.grep_drupalorg_theme = function() - builtin.live_grep { cwd = "web/themes/contrib/drupalorg_theme" } -end - -M.search_all_files = function() - builtin.find_files { - find_command = { "rg", "--no-ignore", "--files" }, - } -end - -vim.keymap.set("n", "<space>/", builtin.current_buffer_fuzzy_find) -vim.keymap.set("n", "<space>fb", builtin.buffers) -vim.keymap.set("n", "<space>fd", builtin.find_files) -vim.keymap.set("n", "<space>fh", builtin.help_tags) -vim.keymap.set("n", "<space>fi", M.search_all_files) -vim.keymap.set("n", "<space>fk", builtin.keymaps) -vim.keymap.set("n", "<space>fr", builtin.lsp_references) -vim.keymap.set("n", "<space>ft", builtin.git_files) - -vim.keymap.set("n", "<space>ds", builtin.lsp_document_symbols) - -vim.keymap.set("n", "<space>gw", builtin.grep_string) - -vim.keymap.set("n", "<space>dgb", M.grep_bluecheese) -vim.keymap.set("n", "<space>dgd", M.grep_drupalorg_theme) - -vim.keymap.set({ "n", "v" }, "<space>gw", builtin.grep_string) - -require("opdavies.telescope.multigrep").setup {} diff --git a/modules/home-manager/coding/neovim/config/plugin/treesitter.lua b/modules/home-manager/coding/neovim/config/plugin/treesitter.lua deleted file mode 100644 index 88e08991..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/treesitter.lua +++ /dev/null @@ -1,133 +0,0 @@ -local configs = require "nvim-treesitter.configs" -local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" - -configs.setup { - autotag = { - enable = true, - }, - - context_commenting = { - enable = true, - }, - - highlight = { - enable = true, - }, - - indent = { - disable = { "yaml" }, - enable = true, - }, - - matchup = { - enable = true, - }, - - textobjects = { - select = { - enable = true, - lookahead = true, - - keymaps = { - ["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" }, - ["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" }, - ["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" }, - ["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" }, - - ["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" }, - ["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" }, - ["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" }, - ["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" }, - - ["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" }, - ["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" }, - - ["ac"] = { query = "@class.outer", desc = "Select outer part of a class" }, - ["ic"] = { query = "@class.inner", desc = "Select inner part of a class" }, - - ["af"] = { query = "@call.outer", desc = "Select outer part of a function call" }, - ["if"] = { query = "@call.inner", desc = "Select inner part of a function call" }, - - ["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" }, - ["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" }, - - ["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" }, - ["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" }, - - ["am"] = { query = "@function.outer", desc = "Select outer part of a method/function definition" }, - ["im"] = { query = "@function.inner", desc = "Select inner part of a method/function definition" }, - }, - }, - }, - - swap = { - enable = true, - - swap_next = { - ["<leader>na"] = "@parameter.inner", -- swap parameters/argument with next - ["<leader>n:"] = "@property.outer", -- swap object property with next - ["<leader>nm"] = "@function.outer", -- swap function with next - }, - - swap_previous = { - ["<leader>pa"] = "@parameter.inner", -- swap parameters/argument with prev - ["<leader>p:"] = "@property.outer", -- swap object property with prev - ["<leader>pm"] = "@function.outer", -- swap function with previous - }, - }, - - move = { - enable = true, - set_jumps = true, -- whether to set jumps in the jumplist - - goto_next_start = { - ["]f"] = { query = "@call.outer", desc = "Next function call start" }, - ["]m"] = { query = "@function.outer", desc = "Next method/function def start" }, - ["]c"] = { query = "@class.outer", desc = "Next class start" }, - ["]i"] = { query = "@conditional.outer", desc = "Next conditional start" }, - ["]l"] = { query = "@loop.outer", desc = "Next loop start" }, - - ["]s"] = { query = "@scope", query_group = "locals", desc = "Next scope" }, - ["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" }, - }, - - goto_next_end = { - ["]F"] = { query = "@call.outer", desc = "Next function call end" }, - ["]M"] = { query = "@function.outer", desc = "Next method/function def end" }, - ["]C"] = { query = "@class.outer", desc = "Next class end" }, - ["]I"] = { query = "@conditional.outer", desc = "Next conditional end" }, - ["]L"] = { query = "@loop.outer", desc = "Next loop end" }, - }, - - goto_previous_start = { - ["[f"] = { query = "@call.outer", desc = "Prev function call start" }, - ["[m"] = { query = "@function.outer", desc = "Prev method/function def start" }, - ["[c"] = { query = "@class.outer", desc = "Prev class start" }, - ["[i"] = { query = "@conditional.outer", desc = "Prev conditional start" }, - ["[l"] = { query = "@loop.outer", desc = "Prev loop start" }, - }, - - goto_previous_end = { - ["[F"] = { query = "@call.outer", desc = "Prev function call end" }, - ["[M"] = { query = "@function.outer", desc = "Prev method/function def end" }, - ["[C"] = { query = "@class.outer", desc = "Prev class end" }, - ["[I"] = { query = "@conditional.outer", desc = "Prev conditional end" }, - ["[L"] = { query = "@loop.outer", desc = "Prev loop end" }, - }, - }, -} - -local set = vim.keymap.set - -set("n", "<leader>th", "<cmd>TSHighlightCapturesUnderCursor<CR>") -set("n", "<leader>tp", "<cmd>TSPlaygroundToggle<CR>") - --- vim way: ; goes to the direction you were moving. -set({ "n", "o", "x" }, ";", ts_repeat_move.repeat_last_move) -set({ "n", "o", "x" }, ",", ts_repeat_move.repeat_last_move_opposite) - --- Optionally, make builtin f, F, t, T also repeatable with ; and , -set({ "n", "o", "x" }, "f", ts_repeat_move.builtin_f) -set({ "n", "o", "x" }, "F", ts_repeat_move.builtin_F) -set({ "n", "o", "x" }, "t", ts_repeat_move.builtin_t) -set({ "n", "o", "x" }, "T", ts_repeat_move.builtin_T) diff --git a/modules/home-manager/coding/neovim/config/plugin/undotree.lua b/modules/home-manager/coding/neovim/config/plugin/undotree.lua deleted file mode 100644 index b6b9276a..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/undotree.lua +++ /dev/null @@ -1 +0,0 @@ -vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) diff --git a/modules/home-manager/coding/neovim/config/plugin/vim-test.lua b/modules/home-manager/coding/neovim/config/plugin/vim-test.lua deleted file mode 100644 index 26aaf70f..00000000 --- a/modules/home-manager/coding/neovim/config/plugin/vim-test.lua +++ /dev/null @@ -1,16 +0,0 @@ -local set = vim.keymap.set - -local options = { - silent = true, -} - -set("n", "<leader>tf", ":TestFile<CR>", options) -set("n", "<leader>tg", ":TestVisit<CR>", options) -set("n", "<leader>tl", ":TestLast<CR>", options) -set("n", "<leader>tn", ":TestNearest<CR>", options) -set("n", "<leader>ts", ":TestSuite<CR>", options) - -vim.cmd [[ - let test#php#phpunit#options = '--colors=always --testdox' - let g:test#strategy = 'vimux' -]] diff --git a/modules/home-manager/coding/neovim/config/spell/en.utf-8.add b/modules/home-manager/coding/neovim/config/spell/en.utf-8.add deleted file mode 100644 index 6d36619c..00000000 --- a/modules/home-manager/coding/neovim/config/spell/en.utf-8.add +++ /dev/null @@ -1,132 +0,0 @@ -ANP -AWS -Acquia -Ansible -Appnovation -Architected -BAU -Behat -Bitbucket -Bluecheese -BrumPHP -CMSes -CTI -Cachix -Centarro -CiviCRM -Configs -D7 -DDEV -DevOps -DigitalOcean -Drupal -Drupal's -DrupalCamp -DrupalCon -DrupalEasy -Drupaler -Drush -FPM -FTSE -GitLab -Gitea -HDN -HashiCorp -Hetzner -Homelab -Immich -InvalidArgumentException -Inviqa -JSON -Jellyfin -Kickstart -Lando -Laravel -Linode -Magento -MariaDB -Microserve -Mischa -MySQL -NGINX -Neovim -Netlify -Nginx -NixOS -NodeInterface -Nomensa -OpenID -OpenTofu -PDOException -PHPDoc -PHPStan -PHPUnit -Packagist -PhpStorm -PostBuilder -PostNodeRepository -Pulumi -S3 -SHA -SQLSTATE -SQLite -SSO -Sculpin -Silex -SimpleTest -Sylius -Symfony -TODO -TermInterface -Themers -Traefik -TypeScript -Ubercart -VSCode -Vaultwarden -WCAG -WSL -Wellbeing -ZSH -Zellij -Zettelkasten -architected -assertContainsOnlyInstancesOf -assertSame -bootcamp -contrib -devenv -dotfiles -drupal -eCommerce -foreach -getPost -ghostty -hotfix -isNotPublished -isPublished -localhost -macOS -mentees -nixpkgs -nodeStorage -opdavies -osCommerce -param -reStructuredText -rebase -rebasing -roadmapping -rst2pdf -rwxrob -src -stylesheet -stylesheets -testbot -tmux -url -vhost -wildcard -worktree -worktrees -www diff --git a/modules/home-manager/coding/neovim/config/stylua.toml b/modules/home-manager/coding/neovim/config/stylua.toml deleted file mode 100644 index 2c7fb8a9..00000000 --- a/modules/home-manager/coding/neovim/config/stylua.toml +++ /dev/null @@ -1,8 +0,0 @@ -indent_type = "Spaces" -indent_width = 2 -line_endings = "Unix" -no_call_parentheses = true -quote_style = "AutoPreferDouble" - -[sort_requires] -enabled = true diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index eb4e5551..1f859a86 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -1,5 +1,6 @@ { config, + inputs, lib, pkgs, ... @@ -11,134 +12,60 @@ let cfg = config.coding.neovim; in { + imports = [ + inputs.nixvim.homeManagerModules.nixvim + ]; + options.coding.neovim.enable = mkEnableOption "Enable neovim"; config = mkIf cfg.enable { - programs.neovim = - let - php = pkgs.php82; - in - { + programs.nixvim = { + enable = true; + + # TODO: re-add DAP. + # TODO: re-add snippets. + # TODO: re-configure spell. + + viAlias = true; + vimAlias = true; + + imports = [ + ./keymaps.nix + ./options.nix + ./plugins/cmp.nix + ./plugins/conform.nix + ./plugins/fidget.nix + ./plugins/fugitive.nix + ./plugins/gitsigns.nix + ./plugins/harpoon.nix + ./plugins/lint.nix + ./plugins/lsp.nix + ./plugins/lualine.nix + ./plugins/luasnip.nix + ./plugins/mini.nix + ./plugins/oil.nix + ./plugins/phpactor.nix + ./plugins/refactoring.nix + ./plugins/telescope.nix + ./plugins/treesitter.nix + ./plugins/undotree.nix + ./plugins/vim-dadbod.nix + ./plugins/vim-highlightedyank.nix + ./plugins/vim-test.nix + ./plugins/web-devicons.nix + ]; + + colorschemes.catppuccin = { enable = true; - - plugins = with pkgs.vimPlugins; [ - comment-nvim - gitsigns-nvim - harpoon2 - mini-nvim - nvim-web-devicons - oil-nvim - phpactor - refactoring-nvim - undotree - vim-nix - - # Testing - vim-test - vimux - - # Git - vim-fugitive - - # Debugging - nvim-dap - nvim-dap-ui - nvim-dap-virtual-text - - # Treesitter - (pkgs.vimPlugins.nvim-treesitter.withPlugins ( - plugins: with plugins; [ - bash - comment - css - csv - dockerfile - gitattributes - gitignore - go - html - javascript - json - kdl - lua - luadoc - make - markdown - markdown_inline - nix - php - phpdoc - query - rst - scss - sql - terraform - twig - typescript - vim - vimdoc - vue - xml - yaml - ] - )) - nvim-treesitter-textobjects - - # LSP, linting and formatting - conform-nvim - lsp-status-nvim - nvim-lint - nvim-lspconfig - - # Completion - cmp-buffer - cmp-calc - cmp-cmdline - cmp-nvim-lsp - cmp-path - cmp-treesitter - cmp_luasnip - lspkind-nvim - nvim-cmp - - # Snippets - luasnip - - # Telescope - plenary-nvim - popup-nvim - telescope-frecency-nvim - telescope-fzf-native-nvim - telescope-live-grep-args-nvim - telescope-nvim - telescope-ui-select-nvim - - # Databases - vim-dadbod - vim-dadbod-ui - vim-dadbod-completion - - # Themes - catppuccin-nvim - ]; - - extraPackages = with pkgs; [ - ripgrep - ]; + settings.flavour = "mocha"; }; - xdg.configFile.nvim = { - source = ./config; - recursive = true; + extraPackages = with pkgs; [ + nixfmt-rfc-style + stylua + ]; + + globals.mapleader = " "; }; - - home.file.".markdownlint.yaml".text = '' - default: true - - line-length: false - - no-duplicate-heading: - siblings_only: true - ''; }; } diff --git a/modules/home-manager/coding/neovim/keymaps.nix b/modules/home-manager/coding/neovim/keymaps.nix new file mode 100644 index 00000000..a05cdb17 --- /dev/null +++ b/modules/home-manager/coding/neovim/keymaps.nix @@ -0,0 +1,62 @@ +{ + keymaps = [ + { + action = "<Esc>A,<Esc>"; + key = ",,"; + mode = "i"; + } + + { + action = "<Esc>A;<Esc>"; + key = ";;"; + mode = "i"; + } + + { + action = "<cmd>lua vim.lsp.buf.format()<CR>"; + key = "<leader>f"; + } + + { + action = "\"+y"; + key = "<leader>y"; + mode = "x"; + } + + { + action = "@q"; + key = "Q"; + } + + { + action = "<cmd>silent !tmux new-window tmux-sessionizer<CR>"; + key = "<C-f>"; + } + + { + action = "<Esc>:w<CR>"; + key = "<C-s>"; + mode = ["i" "n"]; + } + + { + action = "<cmd>tabnew<CR>"; + key = "<C-t>"; + } + + { + action = "<cmd>!composer install<CR>"; + key = "<leader>ci"; + } + + { + action = "<cmd>edit composer.json<CR>"; + key = "<leader>ec"; + } + + { + action = "<cmd>edit flake.nix<CR>"; + key = "<leader>ef"; + } + ]; +} diff --git a/modules/home-manager/coding/neovim/options.nix b/modules/home-manager/coding/neovim/options.nix new file mode 100644 index 00000000..f17e9410 --- /dev/null +++ b/modules/home-manager/coding/neovim/options.nix @@ -0,0 +1,25 @@ +{ + opts = { + expandtab = true; + exrc = true; + foldlevel = 1; + foldlevelstart = 99; + foldmethod = "indent"; + inccommand = "split"; + laststatus = 3; + list = true; + number = true; + relativenumber = true; + shiftwidth = 2; + smartindent = true; + softtabstop = 2; + splitbelow = true; + splitright = true; + swapfile = false; + syntax = "on"; + tabstop = 2; + termguicolors = true; + updatetime = 1000; + wrap = false; + }; +} diff --git a/modules/home-manager/coding/neovim/plugins/cmp.nix b/modules/home-manager/coding/neovim/plugins/cmp.nix new file mode 100644 index 00000000..1c31ec3f --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/cmp.nix @@ -0,0 +1,58 @@ +{ + plugins.cmp = { + enable = true; + + autoEnableSources = true; + + settings = { + mapping = { + "<C-e>" = "cmp.mapping.close()"; + + "<C-h>" = '' + cmp.mapping(function() + if ls.locally_jumpable(-1) then + ls.jump(-1) + end + end) + ''; + + "<C-l>" = '' + cmp.mapping(function() + if ls.expand_or_locally_jumpable() then + ls.expand_or_jump() + end + end) + ''; + + "<C-n>" = "cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select })"; + "<C-p>" = "cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select })"; + + "<C-y>" = "cmp.mapping.confirm({ select = true })"; + + "<CR>" = "nil"; + "<S-Tab>" = "nil"; + "<Tab>" = "nil"; + }; + + snippet.expand = '' + function(args) + require('luasnip').lsp_expand(args.body) + end + ''; + + sources = [ + { name = "nvim_lsp"; } + { name = "nvim_lua"; } + { + name = "luasnip"; + keyword_length = 2; + } + { + name = "buffer"; + keyword_length = 3; + } + { name = "calc"; } + ]; + }; + }; +} diff --git a/modules/home-manager/coding/neovim/plugins/conform.nix b/modules/home-manager/coding/neovim/plugins/conform.nix new file mode 100644 index 00000000..50dce5af --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/conform.nix @@ -0,0 +1,3 @@ +{ + plugins.conform-nvim.enable = true; +} diff --git a/modules/home-manager/coding/neovim/plugins/fidget.nix b/modules/home-manager/coding/neovim/plugins/fidget.nix new file mode 100644 index 00000000..b18a7175 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/fidget.nix @@ -0,0 +1,3 @@ +{ + plugins.fidget.enable = true; +} diff --git a/modules/home-manager/coding/neovim/plugins/fugitive.nix b/modules/home-manager/coding/neovim/plugins/fugitive.nix new file mode 100644 index 00000000..6fc46e10 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/fugitive.nix @@ -0,0 +1,18 @@ +{ config, lib, ... }: + +{ + plugins.fugitive.enable = true; + + keymaps = lib.mkIf config.plugins.fugitive.enable [ + { + key = "<leader>gc"; + action = "<cmd>Git commit<CR><C-w>K"; + } + + { + # Open the ":Git" window in its own buffer, not a split. + key = "<leader>gs"; + action = "<cmd>0Git<CR>"; + } + ]; +} diff --git a/modules/home-manager/coding/neovim/plugins/gitsigns.nix b/modules/home-manager/coding/neovim/plugins/gitsigns.nix new file mode 100644 index 00000000..7595d756 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/gitsigns.nix @@ -0,0 +1,45 @@ +{ config, lib, ... }: + +{ + plugins.gitsigns.enable = true; + + keymaps = lib.mkIf config.plugins.gitsigns.enable [ + { + action = "<cmd>Gitsigns prev_hunk<CR>"; + key = "[h"; + } + + { + action = "<cmd>Gitsigns next_hunk<CR>"; + key = "]h"; + } + + { + action = "<cmd>Gitsigns reset_hunk<CR>"; + key = "<leader>hr"; + } + + { + action = "<cmd>Gitsigns reset_buffer<CR>"; + key = "<leader>hR"; + } + + { + action = "<cmd>Gitsigns stage_hunk<CR>"; + key = "<leader>hs"; + mode = ["n" "v"]; + } + + { + action = "<cmd>Gitsigns stage_buffer<CR>"; + key = "<leader>hS"; + mode = "x"; + } + + { + action = "<cmd>Gitsigns undo_stage_hunk<CR>"; + key = "<leader>hu"; + mode = "x"; + } + ]; +} diff --git a/modules/home-manager/coding/neovim/plugins/harpoon.nix b/modules/home-manager/coding/neovim/plugins/harpoon.nix new file mode 100644 index 00000000..95d59718 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/harpoon.nix @@ -0,0 +1,47 @@ +{ config, lib, ... }: + +let + leaderBinding = key: command: { + key = "<leader>${key}"; + action = "<cmd>${command}<CR>"; + options.silent = true; + }; +in +{ + plugins.harpoon = { + enable = true; + enableTelescope = true; + }; + + keymaps = lib.mkIf config.plugins.harpoon.enable ( + [ + { + key = "<leader>a"; + action.__raw = "function() require'harpoon':list():add() end"; + } + + { + key = "<C-e>"; + action.__raw = '' + function() + require 'harpoon'.ui:toggle_quick_menu(require'harpoon':list()) + end + ''; + } + ] + ++ (map + (num: leaderBinding "${toString num}" "lua require(\"harpoon\"):list():select(${toString num})") + [ + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + ] + ) + ); +} diff --git a/modules/home-manager/coding/neovim/plugins/lint.nix b/modules/home-manager/coding/neovim/plugins/lint.nix new file mode 100644 index 00000000..ff65a0d2 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/lint.nix @@ -0,0 +1,3 @@ +{ + plugins.lint.enable = true; +} diff --git a/modules/home-manager/coding/neovim/plugins/lsp.nix b/modules/home-manager/coding/neovim/plugins/lsp.nix new file mode 100644 index 00000000..a4fd7750 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/lsp.nix @@ -0,0 +1,3 @@ +{ + plugins.lsp.enable = true; +} diff --git a/modules/home-manager/coding/neovim/plugins/lualine.nix b/modules/home-manager/coding/neovim/plugins/lualine.nix new file mode 100644 index 00000000..d8de83ad --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/lualine.nix @@ -0,0 +1,11 @@ +{ + plugins.lualine = { + enable = true; + + settings.options = { + component_separators = ""; + icons_enabled = false; + section_separators = ""; + }; + }; +} diff --git a/modules/home-manager/coding/neovim/plugins/luasnip.nix b/modules/home-manager/coding/neovim/plugins/luasnip.nix new file mode 100644 index 00000000..6dc508db --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/luasnip.nix @@ -0,0 +1,3 @@ +{ + plugins.luasnip.enable = true; +} diff --git a/modules/home-manager/coding/neovim/plugins/mini.nix b/modules/home-manager/coding/neovim/plugins/mini.nix new file mode 100644 index 00000000..6f05654d --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/mini.nix @@ -0,0 +1,15 @@ +{ + plugins.mini = { + enable = true; + + modules = { + ai = {}; + align = {}; + bracketed = {}; + move = {}; + operators = {}; + splitjoin = {}; + surround = {}; + }; + }; +} diff --git a/modules/home-manager/coding/neovim/plugins/oil.nix b/modules/home-manager/coding/neovim/plugins/oil.nix new file mode 100644 index 00000000..bf91a77f --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/oil.nix @@ -0,0 +1,20 @@ +{ config, lib, ... }: + +{ + plugins.oil = { + enable = true; + + settings = { + delete_to_trash = true; + + keymaps."-" = "actions.parent"; + + skip_confirm_for_simple_edits = true; + view_options.show_hidden = true; + }; + }; + + keymaps = lib.mkIf config.plugins.oil.enable [ + { action = "<cmd>Oil<CR>"; key = "-"; } + ]; +} diff --git a/modules/home-manager/coding/neovim/plugins/phpactor.nix b/modules/home-manager/coding/neovim/plugins/phpactor.nix new file mode 100644 index 00000000..1c4f6387 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/phpactor.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +{ + extraPlugins = with pkgs.vimPlugins; [ phpactor ]; + + keymaps = [ + { + key = "<leader>pm"; + action = "<cmd>PhpactorContextMenu<CR>"; + } + + { + key = "<leader>pn"; + action = "<cmd>PhpactorClassNew<CR>"; + } + ]; +} diff --git a/modules/home-manager/coding/neovim/plugins/refactoring.nix b/modules/home-manager/coding/neovim/plugins/refactoring.nix new file mode 100644 index 00000000..e696e538 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/refactoring.nix @@ -0,0 +1,47 @@ +{ config, lib, ... }: + +{ + plugins.refactoring = { + enable = true; + enableTelescope = true; + }; + + keymaps = + lib.mkIf config.plugins.refactoring.enable ([ + { + key = "<leader>ri"; + action = "<cmd>Refactor inline_var<CR>"; + mode = "n"; + } + + { + key = "<leader>re"; + action = "<cmd>Refactor extract<CR>"; + mode = "x"; + } + + { + key = "<leader>ri"; + action = "<cmd>Refactor inline_var<CR>"; + mode = "x"; + } + + { + key = "<leader>rv"; + action = "<cmd>Refactor extract_var<CR>"; + mode = "x"; + } + ] + ++ lib.optionals (config.plugins.refactoring.enable && config.plugins.refactoring.enableTelescope) [ + { + mode = "n"; + key = "<leader>rR"; + action.__raw = '' + function() + require('telescope').extensions.refactoring.refactors() + end + ''; + options.silent = true; + } + ]); +} diff --git a/modules/home-manager/coding/neovim/plugins/telescope.nix b/modules/home-manager/coding/neovim/plugins/telescope.nix new file mode 100644 index 00000000..8c376561 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/telescope.nix @@ -0,0 +1,28 @@ +{ + plugins.telescope = { + enable = true; + + extensions = { + live-grep-args.enable = true; + fzf-native.enable = true; + ui-select.enable = true; + }; + + keymaps = { + "<leader>fb" = "buffers"; + "<leader>fd" = "find_files"; + "<leader>fg" = "live_grep"; + + "<leader>gw" = { + action = "grep_string"; + mode = [ + "n" + "v" + ]; + }; + }; + + settings.defaults.layout_config.prompt_position = "top"; + }; +} + diff --git a/modules/home-manager/coding/neovim/plugins/treesitter.nix b/modules/home-manager/coding/neovim/plugins/treesitter.nix new file mode 100644 index 00000000..fd6647a1 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/treesitter.nix @@ -0,0 +1,47 @@ +{ pkgs, ... }: + +{ + plugins = { + treesitter = { + enable = true; + + grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + bash + comment + css + csv + dockerfile + gitattributes + gitignore + go + html + javascript + json + kdl + lua + luadoc + make + markdown + markdown_inline + nix + php + phpdoc + query + rst + scss + sql + terraform + twig + typescript + vim + vimdoc + vue + xml + yaml + ]; + }; + + treesitter-textobjects.enable = true; + }; +} + diff --git a/modules/home-manager/coding/neovim/plugins/undotree.nix b/modules/home-manager/coding/neovim/plugins/undotree.nix new file mode 100644 index 00000000..4a262eb9 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/undotree.nix @@ -0,0 +1,9 @@ +{ config, lib, ... }: + +{ + plugins.undotree.enable = true; + + keymaps = lib.mkIf config.plugins.undotree.enable [ + { action = "<cmd>UndotreeToggle<CR>"; key = "<leader>u"; } + ]; +} diff --git a/modules/home-manager/coding/neovim/plugins/vim-dadbod.nix b/modules/home-manager/coding/neovim/plugins/vim-dadbod.nix new file mode 100644 index 00000000..13168c91 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/vim-dadbod.nix @@ -0,0 +1,7 @@ +{ + plugins = { + vim-dadbod.enable = true; + vim-dadbod-completion.enable = true; + vim-dadbod-ui.enable = true; + }; +} diff --git a/modules/home-manager/coding/neovim/plugins/vim-highlightedyank.nix b/modules/home-manager/coding/neovim/plugins/vim-highlightedyank.nix new file mode 100644 index 00000000..2ecb38f3 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/vim-highlightedyank.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + extraPlugins = with pkgs.vimPlugins; [ vim-highlightedyank ]; + + extraConfigVim = '' + let g:highlightedyank_highlight_duration = 100 + ''; +} diff --git a/modules/home-manager/coding/neovim/plugins/vim-test.nix b/modules/home-manager/coding/neovim/plugins/vim-test.nix new file mode 100644 index 00000000..e6e443d4 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/vim-test.nix @@ -0,0 +1,11 @@ +{ config, lib, ... }: + +{ + plugins.vim-test.enable = true; + + keymaps = lib.mkIf config.plugins.vim-test.enable [ + { key = "<leader>tf"; action = "<cmd>TestFile<CR>"; } + { key = "<leader>tl"; action = "<cmd>TestLast<CR>"; } + { key = "<leader>tn"; action = "<cmd>TestNearest<CR>"; } + ]; +} diff --git a/modules/home-manager/coding/neovim/plugins/web-devicons.nix b/modules/home-manager/coding/neovim/plugins/web-devicons.nix new file mode 100644 index 00000000..927f85e1 --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/web-devicons.nix @@ -0,0 +1,3 @@ +{ + plugins.web-devicons.enable = false; +} From ecd2869bf12523f247d620660b6c11a09843e14d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 6 Jun 2025 16:41:57 +0100 Subject: [PATCH 1896/2258] flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 8a80c853..490c3884 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1748225455, - "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", + "lastModified": 1749200714, + "narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=", "owner": "nix-community", "repo": "disko", - "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", + "rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1748737919, - "narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=", + "lastModified": 1749221014, + "narHash": "sha256-mqrpuP/lfyDmta5hJWTwWgdF5lwdiubcGs7oRvcTZ2s=", "owner": "nix-community", "repo": "home-manager", - "rev": "5675a9686851d9626560052a032c4e14e533c1fa", + "rev": "96482a538e6103579d254b139759d0536177370b", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1748634340, - "narHash": "sha256-pZH4bqbOd8S+si6UcfjHovWDiWKiIGRNRMpmRWaDIms=", + "lastModified": 1749195551, + "narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "daa628a725ab4948e0e2b795e8fb6f4c3e289a7a", + "rev": "4602f7e1d3f197b3cb540d5accf5669121629628", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1748421225, - "narHash": "sha256-XXILOc80tvlvEQgYpYFnze8MkQQmp3eQxFbTzb3m/R0=", + "lastModified": 1748995628, + "narHash": "sha256-bFufQGSAEYQgjtc4wMrobS5HWN0hDP+ZX+zthYcml9U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "78add7b7abb61689e34fc23070a8f55e1d26185b", + "rev": "8eb3b6a2366a7095939cd22f0dc0e9991313294b", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1748693115, - "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1748693115, - "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1748564405, - "narHash": "sha256-uCmQLJmdg0gKWBs+vhNmS9RIPJW8/ddo6TvQ/a4gupc=", + "lastModified": 1749200997, + "narHash": "sha256-In+NjXI8kfJpamTmtytt+rnBzQ213Y9KW55IXvAAK/4=", "owner": "nix-community", "repo": "nixvim", - "rev": "8b3a69cfea5ba2fa008c6c57ab79c99c513a349b", + "rev": "00524c7935f05606fd1b09e8700e9abcc4af7be8", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748782935, - "narHash": "sha256-wjo1BhHoBFzdtj92LrAonR1eJ8j5dt1YhnkPpqaam38=", + "lastModified": 1749223883, + "narHash": "sha256-ax8x159Jc2hoWMYJkF5D6eKu58oJo4XzLU4YSk1hZhQ=", "owner": "nix-community", "repo": "NUR", - "rev": "73385c8de1fac0066f513adc9a7e59d69f2327c2", + "rev": "2e6e71681b88ec9bc9c9914b413d1e875f8328c9", "type": "github" }, "original": { From 36203f79f39a012266fb08698376abb3708a9817 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 6 Jun 2025 16:48:40 +0100 Subject: [PATCH 1897/2258] Add git-trim --- modules/home-manager/cli/git.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index b49097ff..0d0ae1a6 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -168,7 +168,10 @@ in }; home = { - packages = with pkgs; [ stable.git-instafix ]; + packages = with pkgs; [ + git-trim + stable.git-instafix + ]; sessionVariables = { GIT_INSTAFIX_UPSTREAM = "origin/main"; From 7c929002a96c2ca343f8d2078ed131c01242aeec Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 6 Jun 2025 23:12:21 +0100 Subject: [PATCH 1898/2258] Fix keymap --- modules/home-manager/coding/neovim/keymaps.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/coding/neovim/keymaps.nix b/modules/home-manager/coding/neovim/keymaps.nix index a05cdb17..99b71b8d 100644 --- a/modules/home-manager/coding/neovim/keymaps.nix +++ b/modules/home-manager/coding/neovim/keymaps.nix @@ -20,7 +20,7 @@ { action = "\"+y"; key = "<leader>y"; - mode = "x"; + mode = ["n" "x"]; } { From 4b90a9d63f47b0eec85714840de5c56b62ea1687 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 8 Jun 2025 13:23:13 +0100 Subject: [PATCH 1899/2258] Don't automatically push tags --- modules/home-manager/cli/scripts/scripts/tag-release | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/home-manager/cli/scripts/scripts/tag-release b/modules/home-manager/cli/scripts/scripts/tag-release index ad112170..c1899930 100755 --- a/modules/home-manager/cli/scripts/scripts/tag-release +++ b/modules/home-manager/cli/scripts/scripts/tag-release @@ -8,6 +8,4 @@ tag="$(date '+%Y-%m-%d-%H.%M.%S')" echo "Tagging commit $(git rev-parse "${commit_sha}") as ${tag}." echo "" -# Tag the appropriate commit and push to the remote. git tag "${tag}" "${commit_sha}" -git push origin "refs/tags/${tag}" --no-verify From e2b435efb14daa7684dc6c6c9e2804f4d2fd5e49 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 8 Jun 2025 17:49:53 +0100 Subject: [PATCH 1900/2258] Make keymaps silent --- modules/home-manager/coding/neovim/keymaps.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/coding/neovim/keymaps.nix b/modules/home-manager/coding/neovim/keymaps.nix index 99b71b8d..43d2422f 100644 --- a/modules/home-manager/coding/neovim/keymaps.nix +++ b/modules/home-manager/coding/neovim/keymaps.nix @@ -15,6 +15,7 @@ { action = "<cmd>lua vim.lsp.buf.format()<CR>"; key = "<leader>f"; + options.silent = true; } { @@ -31,6 +32,7 @@ { action = "<cmd>silent !tmux new-window tmux-sessionizer<CR>"; key = "<C-f>"; + options.silent = true; } { From 9f5706825972e297dc953941af9cfbbd34757e85 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 9 Jun 2025 21:50:17 +0100 Subject: [PATCH 1901/2258] Add chromium --- home/opdavies/t480.nix | 2 ++ .../home-manager/desktop/browsers/chromium.nix | 15 +++++++++++++++ modules/home-manager/desktop/browsers/default.nix | 1 + 3 files changed, 18 insertions(+) create mode 100644 modules/home-manager/desktop/browsers/chromium.nix diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index d550aa4b..e95bdee3 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -56,6 +56,8 @@ desktop = { browsers = { + chromium.enable = true; + firefox = { enable = true; diff --git a/modules/home-manager/desktop/browsers/chromium.nix b/modules/home-manager/desktop/browsers/chromium.nix new file mode 100644 index 00000000..92178ffc --- /dev/null +++ b/modules/home-manager/desktop/browsers/chromium.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: + +let + cfg = config.desktop.browsers.${name}; + name = "chromium"; + + inherit (lib) mkEnableOption mkIf; +in +{ + options.desktop.browsers.${name}.enable = mkEnableOption "Enable ${name}"; + + config = mkIf cfg.enable { + programs.${name}.enable = true; + }; +} diff --git a/modules/home-manager/desktop/browsers/default.nix b/modules/home-manager/desktop/browsers/default.nix index 4a57a609..493c8242 100644 --- a/modules/home-manager/desktop/browsers/default.nix +++ b/modules/home-manager/desktop/browsers/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./chromium.nix ./firefox.nix ./qutebrowser.nix ]; From 8e3eceb11032c37ef34a382a0e541fefd76bb458 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 9 Jun 2025 21:52:21 +0100 Subject: [PATCH 1902/2258] Refactor imports --- modules/home-manager/default.nix | 15 ++++++++------- modules/home-manager/desktop/browsers/default.nix | 7 ------- modules/home-manager/desktop/media/default.nix | 7 ------- 3 files changed, 8 insertions(+), 21 deletions(-) delete mode 100644 modules/home-manager/desktop/browsers/default.nix delete mode 100644 modules/home-manager/desktop/media/default.nix diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 1909244a..f6f7bea2 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -12,20 +12,21 @@ ./cli/scripts ./cli/starship.nix ./cli/sxhkd.nix - ./cli/todos.nix - ./cli/tmux.nix ./cli/tmux-sessionizer.nix + ./cli/tmux.nix + ./cli/todos.nix ./cli/zsh - ./coding/neovim ./coding/phpactor - ./core/gnupg.nix - - ./desktop/browsers + ./desktop/browsers/chromium.nix + ./desktop/browsers/firefox.nix + ./desktop/browsers/qutebrowser.nix ./desktop/flameshot.nix ./desktop/gtk.nix - ./desktop/media + ./desktop/media/handbrake.nix + ./desktop/media/makemkv.nix + ./desktop/media/mpv.nix ./desktop/screenkey.nix ]; } diff --git a/modules/home-manager/desktop/browsers/default.nix b/modules/home-manager/desktop/browsers/default.nix deleted file mode 100644 index 493c8242..00000000 --- a/modules/home-manager/desktop/browsers/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./chromium.nix - ./firefox.nix - ./qutebrowser.nix - ]; -} diff --git a/modules/home-manager/desktop/media/default.nix b/modules/home-manager/desktop/media/default.nix deleted file mode 100644 index 0f1a7643..00000000 --- a/modules/home-manager/desktop/media/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./handbrake.nix - ./makemkv.nix - ./mpv.nix - ]; -} From d4334296c98164da48e7338d55b0567fd9b479a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 9 Jun 2025 22:34:06 +0100 Subject: [PATCH 1903/2258] Re-add redshift --- home/opdavies/t480.nix | 2 ++ modules/home-manager/default.nix | 1 + modules/home-manager/desktop/redshift.nix | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 modules/home-manager/desktop/redshift.nix diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index e95bdee3..295c1b38 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -75,6 +75,8 @@ makemkv.enable = true; mpv.enable = true; }; + + redshift.enable = true; }; programs = { diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index f6f7bea2..dd83a2ef 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -27,6 +27,7 @@ ./desktop/media/handbrake.nix ./desktop/media/makemkv.nix ./desktop/media/mpv.nix + ./desktop/redshift.nix ./desktop/screenkey.nix ]; } diff --git a/modules/home-manager/desktop/redshift.nix b/modules/home-manager/desktop/redshift.nix new file mode 100644 index 00000000..d9f3c529 --- /dev/null +++ b/modules/home-manager/desktop/redshift.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: + +let + cfg = config.desktop.redshift; + + inherit (lib) mkEnableOption mkIf; +in +{ + options.desktop.redshift = { + enable = mkEnableOption "Enable redshift"; + }; + + config = mkIf cfg.enable { + services.redshift.enable = true; + + services.redshift.latitude = "51.58"; + services.redshift.longitude = "-2.99"; + }; +} From d2347754062265c9028ebe263e1a1aae6902f2f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 10 Jun 2025 12:36:46 +0100 Subject: [PATCH 1904/2258] Add keymaps --- modules/home-manager/coding/neovim/keymaps.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/home-manager/coding/neovim/keymaps.nix b/modules/home-manager/coding/neovim/keymaps.nix index 43d2422f..e28e36ce 100644 --- a/modules/home-manager/coding/neovim/keymaps.nix +++ b/modules/home-manager/coding/neovim/keymaps.nix @@ -12,6 +12,16 @@ mode = "i"; } + { + action = "<cmd>!drush cache-rebuild<CR>"; + key = "<leader>dcr"; + } + + { + action = "<cmd>:edit todo.txt<CR>"; + key = "<leader>et"; + } + { action = "<cmd>lua vim.lsp.buf.format()<CR>"; key = "<leader>f"; From 3ca167aa7090f90570419f4755625c2a072cebda Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 10 Jun 2025 13:20:40 +0100 Subject: [PATCH 1905/2258] Re-add `signcolumn` --- modules/home-manager/coding/neovim/options.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/coding/neovim/options.nix b/modules/home-manager/coding/neovim/options.nix index f17e9410..b5b22cf2 100644 --- a/modules/home-manager/coding/neovim/options.nix +++ b/modules/home-manager/coding/neovim/options.nix @@ -11,6 +11,7 @@ number = true; relativenumber = true; shiftwidth = 2; + signcolumn = "yes:1"; smartindent = true; softtabstop = 2; splitbelow = true; From 22173cc76b64ffbc52049da7de76ffb479b33ea7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 10 Jun 2025 13:47:40 +0100 Subject: [PATCH 1906/2258] Configure filetypes --- modules/home-manager/coding/neovim/default.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 1f859a86..654daa32 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -65,6 +65,22 @@ in stylua ]; + filetype = { + extension = { + "neon.dist" = "yaml"; + inc = "php"; + install = "php"; + module = "php"; + neon = "yaml"; + pcss = "scss"; + theme = "php"; + }; + + filename = { + "composer.lock" = "json"; + }; + }; + globals.mapleader = " "; }; }; From b5b63211dc3d5c178bfc29b1934a876ad85434e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 11 Jun 2025 00:54:41 +0100 Subject: [PATCH 1907/2258] Add `yt` search engine to search YouTube --- modules/home-manager/desktop/browsers/qutebrowser.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix index ec90d979..1cde9851 100644 --- a/modules/home-manager/desktop/browsers/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -19,6 +19,7 @@ in gh = "https://github.com/search?q={}"; mn = "https://mynixos.com/search?q={}"; nx = "https://search.nixos.org/packages?query={}"; + yt = "https://www.youtube.com/results?search_query={}"; }; settings = { From 233985bc335b9da132ad7263279ccdc70fda091a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 11 Jun 2025 16:28:43 +0100 Subject: [PATCH 1908/2258] Experiment with nvim-autopairs --- modules/home-manager/coding/neovim/default.nix | 1 + modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 654daa32..b5ba2efe 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -43,6 +43,7 @@ in ./plugins/lualine.nix ./plugins/luasnip.nix ./plugins/mini.nix + ./plugins/nvim-autopairs.nix ./plugins/oil.nix ./plugins/phpactor.nix ./plugins/refactoring.nix diff --git a/modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix b/modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix new file mode 100644 index 00000000..68209f3f --- /dev/null +++ b/modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix @@ -0,0 +1,3 @@ +{ + plugins.nvim-autopairs.enable = true; +} From 10a0c3d3a014ee16dd08eb5b8f128d02489b5002 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 11 Jun 2025 16:30:34 +0100 Subject: [PATCH 1909/2258] Re-add `jk` keymap to go back to normal mode --- modules/home-manager/coding/neovim/keymaps.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home-manager/coding/neovim/keymaps.nix b/modules/home-manager/coding/neovim/keymaps.nix index e28e36ce..0c51a5bd 100644 --- a/modules/home-manager/coding/neovim/keymaps.nix +++ b/modules/home-manager/coding/neovim/keymaps.nix @@ -70,5 +70,11 @@ action = "<cmd>edit flake.nix<CR>"; key = "<leader>ef"; } + + { + action = "<Esc>"; + key = "jk"; + mode = "i"; + } ]; } From 4af6cb989388a1c1d82d49d10ec5671e1a645131 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 08:51:14 +0100 Subject: [PATCH 1910/2258] Add `comma` > Comma runs software without installing it. > > Basically it just wraps together nix shell -c and nix-index. You stick a , in front of a command to run it from whatever location it happens to occupy in nixpkgs without really thinking about it. https://github.com/nix-community/comma --- users/opdavies.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/opdavies.nix b/users/opdavies.nix index 6180d2b2..38efaeaa 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -22,6 +22,7 @@ with lib; ++ optional config.cli.podman.enable "podman"; packages = with pkgs; [ + comma qrencode ]; From 153b6f6f1c8b5db1c715e781b7cb4ca98e7c61f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 09:12:03 +0100 Subject: [PATCH 1911/2258] flake update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 490c3884..d8431e0b 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1749200714, - "narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=", + "lastModified": 1749436314, + "narHash": "sha256-CqmqU5FRg5AadtIkxwu8ulDSOSoIisUMZRLlcED3Q5w=", "owner": "nix-community", "repo": "disko", - "rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6", + "rev": "dfa4d1b9c39c0342ef133795127a3af14598017a", "type": "github" }, "original": { @@ -66,11 +66,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -87,11 +87,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1749221014, - "narHash": "sha256-mqrpuP/lfyDmta5hJWTwWgdF5lwdiubcGs7oRvcTZ2s=", + "lastModified": 1749657191, + "narHash": "sha256-QLilaHuhGxiwhgceDWESj9gFcKIdEp7+9lRqNGpN8S4=", "owner": "nix-community", "repo": "home-manager", - "rev": "96482a538e6103579d254b139759d0536177370b", + "rev": "faeab32528a9360e9577ff4082de2d35c6bbe1ce", "type": "github" }, "original": { @@ -231,11 +231,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1746453552, - "narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=", + "lastModified": 1749574455, + "narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "be618645aa0adf461f778500172b6896d5ab2d01", + "rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1748995628, - "narHash": "sha256-bFufQGSAEYQgjtc4wMrobS5HWN0hDP+ZX+zthYcml9U=", + "lastModified": 1749488106, + "narHash": "sha256-b9GIWdF/8jKpCC5JIMgDLZgwe8cEbty2fyTyo1eDFfI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8eb3b6a2366a7095939cd22f0dc0e9991313294b", + "rev": "8fe3e32e7f210522377c3bcff80931a3284ace6a", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742937945, - "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", + "lastModified": 1749173751, + "narHash": "sha256-ENY3y3v6S9ZmLDDLI3LUT8MXmfXg/fSt2eA4GCnMVCE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", + "rev": "ed29f002b6d6e5e7e32590deb065c34a31dc3e91", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1748929857, - "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", + "lastModified": 1749285348, + "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", + "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1748929857, - "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", + "lastModified": 1749285348, + "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", + "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1749200997, - "narHash": "sha256-In+NjXI8kfJpamTmtytt+rnBzQ213Y9KW55IXvAAK/4=", + "lastModified": 1749685505, + "narHash": "sha256-qAyDUuYvVoSl4hAq3Ho8vTKG/ms7i7qx+8jqS6beUuw=", "owner": "nix-community", "repo": "nixvim", - "rev": "00524c7935f05606fd1b09e8700e9abcc4af7be8", + "rev": "1b08a4d97632a8c3500469ae7e2db91769425ddf", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1749223883, - "narHash": "sha256-ax8x159Jc2hoWMYJkF5D6eKu58oJo4XzLU4YSk1hZhQ=", + "lastModified": 1749714371, + "narHash": "sha256-GoxtjDrYKPOAAHuPpIInXuQi3zKkNWEY8UUkkZfIODg=", "owner": "nix-community", "repo": "NUR", - "rev": "2e6e71681b88ec9bc9c9914b413d1e875f8328c9", + "rev": "d6baf0261b2a9d147ced00a8e37c32932f256c2b", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1748298102, - "narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=", + "lastModified": 1749531675, + "narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=", "owner": "NuschtOS", "repo": "search", - "rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f", + "rev": "4029d450d0266909ee52775849b7da54e79b328e", "type": "github" }, "original": { From e1bd0932f88993007ae33df722c3c333018c8bb6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 12:13:49 +0100 Subject: [PATCH 1912/2258] Fix keymap mode --- modules/home-manager/coding/neovim/plugins/gitsigns.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/coding/neovim/plugins/gitsigns.nix b/modules/home-manager/coding/neovim/plugins/gitsigns.nix index 7595d756..c4f7fb4b 100644 --- a/modules/home-manager/coding/neovim/plugins/gitsigns.nix +++ b/modules/home-manager/coding/neovim/plugins/gitsigns.nix @@ -33,7 +33,7 @@ { action = "<cmd>Gitsigns stage_buffer<CR>"; key = "<leader>hS"; - mode = "x"; + mode = "n"; } { From e65f3e42a52d3128526c77df315e9457acd038c5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 12:13:49 +0100 Subject: [PATCH 1913/2258] Re-add LSP keymaps --- .../home-manager/coding/neovim/plugins/lsp.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/home-manager/coding/neovim/plugins/lsp.nix b/modules/home-manager/coding/neovim/plugins/lsp.nix index a4fd7750..9b186aa6 100644 --- a/modules/home-manager/coding/neovim/plugins/lsp.nix +++ b/modules/home-manager/coding/neovim/plugins/lsp.nix @@ -1,3 +1,19 @@ { plugins.lsp.enable = true; + + plugins.lsp.keymaps = { + diagnostic = { + "<leader>dl" = "setqflist"; + }; + + lspBuf = { + "<leader>ca" = "code_action"; + "<leader>cr" = "rename"; + K = "hover"; + gD = "declaration"; + gT = "type_definition"; + gd = "definition"; + gr = "references"; + }; + }; } From a068e0481f117ad1d0eac4cf4eaf1a1c7bfb54a8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 12:13:49 +0100 Subject: [PATCH 1914/2258] Add an `nvim` package Now I can run `nix run .#nvim` to run Neovim with any configuration changes without having to rebuild my whole NixOS configuration. --- flake.nix | 8 +++ .../home-manager/coding/neovim/default.nix | 60 +----------------- modules/home-manager/coding/neovim/nixvim.nix | 62 +++++++++++++++++++ 3 files changed, 71 insertions(+), 59 deletions(-) create mode 100644 modules/home-manager/coding/neovim/nixvim.nix diff --git a/flake.nix b/flake.nix index 355436d6..3d35fdf3 100644 --- a/flake.nix +++ b/flake.nix @@ -42,6 +42,12 @@ }; inherit (pkgs) mkShell; + + neovimWithConfig = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { + inherit pkgs; + + module = import ./modules/home-manager/coding/neovim/nixvim.nix; + }; in { devShells.${system}.default = pkgs.mkShell { @@ -55,6 +61,8 @@ packages.${system} = { default = mkShell { buildInputs = with pkgs; [ just ]; }; + + nvim = neovimWithConfig; }; formatter.${system} = pkgs.nixfmt-rfc-style; diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index b5ba2efe..7b9d00b4 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -2,7 +2,6 @@ config, inputs, lib, - pkgs, ... }: @@ -22,67 +21,10 @@ in programs.nixvim = { enable = true; - # TODO: re-add DAP. - # TODO: re-add snippets. - # TODO: re-configure spell. - viAlias = true; vimAlias = true; - imports = [ - ./keymaps.nix - ./options.nix - ./plugins/cmp.nix - ./plugins/conform.nix - ./plugins/fidget.nix - ./plugins/fugitive.nix - ./plugins/gitsigns.nix - ./plugins/harpoon.nix - ./plugins/lint.nix - ./plugins/lsp.nix - ./plugins/lualine.nix - ./plugins/luasnip.nix - ./plugins/mini.nix - ./plugins/nvim-autopairs.nix - ./plugins/oil.nix - ./plugins/phpactor.nix - ./plugins/refactoring.nix - ./plugins/telescope.nix - ./plugins/treesitter.nix - ./plugins/undotree.nix - ./plugins/vim-dadbod.nix - ./plugins/vim-highlightedyank.nix - ./plugins/vim-test.nix - ./plugins/web-devicons.nix - ]; - - colorschemes.catppuccin = { - enable = true; - settings.flavour = "mocha"; - }; - - extraPackages = with pkgs; [ - nixfmt-rfc-style - stylua - ]; - - filetype = { - extension = { - "neon.dist" = "yaml"; - inc = "php"; - install = "php"; - module = "php"; - neon = "yaml"; - pcss = "scss"; - theme = "php"; - }; - - filename = { - "composer.lock" = "json"; - }; - }; - - globals.mapleader = " "; + imports = [ ./nixvim.nix ]; }; }; } diff --git a/modules/home-manager/coding/neovim/nixvim.nix b/modules/home-manager/coding/neovim/nixvim.nix new file mode 100644 index 00000000..b77cabcb --- /dev/null +++ b/modules/home-manager/coding/neovim/nixvim.nix @@ -0,0 +1,62 @@ +{ pkgs, ... }: + +{ + # TODO: re-add DAP. + # TODO: re-add snippets. + # TODO: re-configure spell. + + imports = [ + ./keymaps.nix + ./options.nix + ./plugins/cmp.nix + ./plugins/conform.nix + ./plugins/fidget.nix + ./plugins/fugitive.nix + ./plugins/gitsigns.nix + ./plugins/harpoon.nix + ./plugins/lint.nix + ./plugins/lsp.nix + ./plugins/lualine.nix + ./plugins/luasnip.nix + ./plugins/mini.nix + ./plugins/nvim-autopairs.nix + ./plugins/oil.nix + ./plugins/phpactor.nix + ./plugins/refactoring.nix + ./plugins/telescope.nix + ./plugins/treesitter.nix + ./plugins/undotree.nix + ./plugins/vim-dadbod.nix + ./plugins/vim-highlightedyank.nix + ./plugins/vim-test.nix + ./plugins/web-devicons.nix + ]; + + colorschemes.catppuccin = { + enable = true; + settings.flavour = "mocha"; + }; + + extraPackages = with pkgs; [ + nixfmt-rfc-style + stylua + ]; + + filetype = { + extension = { + "neon.dist" = "yaml"; + inc = "php"; + install = "php"; + module = "php"; + neon = "yaml"; + pcss = "scss"; + theme = "php"; + }; + + filename = { + "composer.lock" = "json"; + }; + }; + + globals.mapleader = " "; +} From 9b54b177afd4f81179fb48d09aca83e332bf546b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 12:18:09 +0100 Subject: [PATCH 1915/2258] Re-add mapping to run `current_buffer_fuzzy_find` --- modules/home-manager/coding/neovim/plugins/telescope.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/coding/neovim/plugins/telescope.nix b/modules/home-manager/coding/neovim/plugins/telescope.nix index 8c376561..a5730cc9 100644 --- a/modules/home-manager/coding/neovim/plugins/telescope.nix +++ b/modules/home-manager/coding/neovim/plugins/telescope.nix @@ -9,6 +9,7 @@ }; keymaps = { + "<leader>/" = "current_buffer_fuzzy_find"; "<leader>fb" = "buffers"; "<leader>fd" = "find_files"; "<leader>fg" = "live_grep"; From 77bce04e390e080d13c87e097a7f411fb3ad28fd Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 13:00:10 +0100 Subject: [PATCH 1916/2258] Refactor --- flake.nix | 2 +- .../coding/neovim/{nixvim.nix => config/default.nix} | 0 modules/home-manager/coding/neovim/{ => config}/keymaps.nix | 0 modules/home-manager/coding/neovim/{ => config}/options.nix | 0 modules/home-manager/coding/neovim/{ => config}/plugins/cmp.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/conform.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/fidget.nix | 0 .../coding/neovim/{ => config}/plugins/fugitive.nix | 0 .../coding/neovim/{ => config}/plugins/gitsigns.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/harpoon.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/lint.nix | 0 modules/home-manager/coding/neovim/{ => config}/plugins/lsp.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/lualine.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/luasnip.nix | 0 .../home-manager/coding/neovim/{ => config}/plugins/mini.nix | 0 .../coding/neovim/{ => config}/plugins/nvim-autopairs.nix | 0 modules/home-manager/coding/neovim/{ => config}/plugins/oil.nix | 0 .../coding/neovim/{ => config}/plugins/phpactor.nix | 0 .../coding/neovim/{ => config}/plugins/refactoring.nix | 0 .../coding/neovim/{ => config}/plugins/telescope.nix | 0 .../coding/neovim/{ => config}/plugins/treesitter.nix | 0 .../coding/neovim/{ => config}/plugins/undotree.nix | 0 .../coding/neovim/{ => config}/plugins/vim-dadbod.nix | 0 .../coding/neovim/{ => config}/plugins/vim-highlightedyank.nix | 0 .../coding/neovim/{ => config}/plugins/vim-test.nix | 0 .../coding/neovim/{ => config}/plugins/web-devicons.nix | 0 modules/home-manager/coding/neovim/default.nix | 2 +- 27 files changed, 2 insertions(+), 2 deletions(-) rename modules/home-manager/coding/neovim/{nixvim.nix => config/default.nix} (100%) rename modules/home-manager/coding/neovim/{ => config}/keymaps.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/options.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/cmp.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/conform.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/fidget.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/fugitive.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/gitsigns.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/harpoon.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/lint.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/lsp.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/lualine.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/luasnip.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/mini.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/nvim-autopairs.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/oil.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/phpactor.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/refactoring.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/telescope.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/treesitter.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/undotree.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/vim-dadbod.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/vim-highlightedyank.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/vim-test.nix (100%) rename modules/home-manager/coding/neovim/{ => config}/plugins/web-devicons.nix (100%) diff --git a/flake.nix b/flake.nix index 3d35fdf3..80aafc68 100644 --- a/flake.nix +++ b/flake.nix @@ -46,7 +46,7 @@ neovimWithConfig = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { inherit pkgs; - module = import ./modules/home-manager/coding/neovim/nixvim.nix; + module = import ./modules/home-manager/coding/neovim/config; }; in { diff --git a/modules/home-manager/coding/neovim/nixvim.nix b/modules/home-manager/coding/neovim/config/default.nix similarity index 100% rename from modules/home-manager/coding/neovim/nixvim.nix rename to modules/home-manager/coding/neovim/config/default.nix diff --git a/modules/home-manager/coding/neovim/keymaps.nix b/modules/home-manager/coding/neovim/config/keymaps.nix similarity index 100% rename from modules/home-manager/coding/neovim/keymaps.nix rename to modules/home-manager/coding/neovim/config/keymaps.nix diff --git a/modules/home-manager/coding/neovim/options.nix b/modules/home-manager/coding/neovim/config/options.nix similarity index 100% rename from modules/home-manager/coding/neovim/options.nix rename to modules/home-manager/coding/neovim/config/options.nix diff --git a/modules/home-manager/coding/neovim/plugins/cmp.nix b/modules/home-manager/coding/neovim/config/plugins/cmp.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/cmp.nix rename to modules/home-manager/coding/neovim/config/plugins/cmp.nix diff --git a/modules/home-manager/coding/neovim/plugins/conform.nix b/modules/home-manager/coding/neovim/config/plugins/conform.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/conform.nix rename to modules/home-manager/coding/neovim/config/plugins/conform.nix diff --git a/modules/home-manager/coding/neovim/plugins/fidget.nix b/modules/home-manager/coding/neovim/config/plugins/fidget.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/fidget.nix rename to modules/home-manager/coding/neovim/config/plugins/fidget.nix diff --git a/modules/home-manager/coding/neovim/plugins/fugitive.nix b/modules/home-manager/coding/neovim/config/plugins/fugitive.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/fugitive.nix rename to modules/home-manager/coding/neovim/config/plugins/fugitive.nix diff --git a/modules/home-manager/coding/neovim/plugins/gitsigns.nix b/modules/home-manager/coding/neovim/config/plugins/gitsigns.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/gitsigns.nix rename to modules/home-manager/coding/neovim/config/plugins/gitsigns.nix diff --git a/modules/home-manager/coding/neovim/plugins/harpoon.nix b/modules/home-manager/coding/neovim/config/plugins/harpoon.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/harpoon.nix rename to modules/home-manager/coding/neovim/config/plugins/harpoon.nix diff --git a/modules/home-manager/coding/neovim/plugins/lint.nix b/modules/home-manager/coding/neovim/config/plugins/lint.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/lint.nix rename to modules/home-manager/coding/neovim/config/plugins/lint.nix diff --git a/modules/home-manager/coding/neovim/plugins/lsp.nix b/modules/home-manager/coding/neovim/config/plugins/lsp.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/lsp.nix rename to modules/home-manager/coding/neovim/config/plugins/lsp.nix diff --git a/modules/home-manager/coding/neovim/plugins/lualine.nix b/modules/home-manager/coding/neovim/config/plugins/lualine.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/lualine.nix rename to modules/home-manager/coding/neovim/config/plugins/lualine.nix diff --git a/modules/home-manager/coding/neovim/plugins/luasnip.nix b/modules/home-manager/coding/neovim/config/plugins/luasnip.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/luasnip.nix rename to modules/home-manager/coding/neovim/config/plugins/luasnip.nix diff --git a/modules/home-manager/coding/neovim/plugins/mini.nix b/modules/home-manager/coding/neovim/config/plugins/mini.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/mini.nix rename to modules/home-manager/coding/neovim/config/plugins/mini.nix diff --git a/modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix b/modules/home-manager/coding/neovim/config/plugins/nvim-autopairs.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/nvim-autopairs.nix rename to modules/home-manager/coding/neovim/config/plugins/nvim-autopairs.nix diff --git a/modules/home-manager/coding/neovim/plugins/oil.nix b/modules/home-manager/coding/neovim/config/plugins/oil.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/oil.nix rename to modules/home-manager/coding/neovim/config/plugins/oil.nix diff --git a/modules/home-manager/coding/neovim/plugins/phpactor.nix b/modules/home-manager/coding/neovim/config/plugins/phpactor.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/phpactor.nix rename to modules/home-manager/coding/neovim/config/plugins/phpactor.nix diff --git a/modules/home-manager/coding/neovim/plugins/refactoring.nix b/modules/home-manager/coding/neovim/config/plugins/refactoring.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/refactoring.nix rename to modules/home-manager/coding/neovim/config/plugins/refactoring.nix diff --git a/modules/home-manager/coding/neovim/plugins/telescope.nix b/modules/home-manager/coding/neovim/config/plugins/telescope.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/telescope.nix rename to modules/home-manager/coding/neovim/config/plugins/telescope.nix diff --git a/modules/home-manager/coding/neovim/plugins/treesitter.nix b/modules/home-manager/coding/neovim/config/plugins/treesitter.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/treesitter.nix rename to modules/home-manager/coding/neovim/config/plugins/treesitter.nix diff --git a/modules/home-manager/coding/neovim/plugins/undotree.nix b/modules/home-manager/coding/neovim/config/plugins/undotree.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/undotree.nix rename to modules/home-manager/coding/neovim/config/plugins/undotree.nix diff --git a/modules/home-manager/coding/neovim/plugins/vim-dadbod.nix b/modules/home-manager/coding/neovim/config/plugins/vim-dadbod.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/vim-dadbod.nix rename to modules/home-manager/coding/neovim/config/plugins/vim-dadbod.nix diff --git a/modules/home-manager/coding/neovim/plugins/vim-highlightedyank.nix b/modules/home-manager/coding/neovim/config/plugins/vim-highlightedyank.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/vim-highlightedyank.nix rename to modules/home-manager/coding/neovim/config/plugins/vim-highlightedyank.nix diff --git a/modules/home-manager/coding/neovim/plugins/vim-test.nix b/modules/home-manager/coding/neovim/config/plugins/vim-test.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/vim-test.nix rename to modules/home-manager/coding/neovim/config/plugins/vim-test.nix diff --git a/modules/home-manager/coding/neovim/plugins/web-devicons.nix b/modules/home-manager/coding/neovim/config/plugins/web-devicons.nix similarity index 100% rename from modules/home-manager/coding/neovim/plugins/web-devicons.nix rename to modules/home-manager/coding/neovim/config/plugins/web-devicons.nix diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 7b9d00b4..66dcb624 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -24,7 +24,7 @@ in viAlias = true; vimAlias = true; - imports = [ ./nixvim.nix ]; + imports = [ ./config ]; }; }; } From 2d6166477b0f126dfe7dfbf3df12386dfefb101e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 13:04:57 +0100 Subject: [PATCH 1917/2258] Sort results in an ascending order --- modules/home-manager/coding/neovim/config/plugins/telescope.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/coding/neovim/config/plugins/telescope.nix b/modules/home-manager/coding/neovim/config/plugins/telescope.nix index a5730cc9..d3988a03 100644 --- a/modules/home-manager/coding/neovim/config/plugins/telescope.nix +++ b/modules/home-manager/coding/neovim/config/plugins/telescope.nix @@ -24,6 +24,7 @@ }; settings.defaults.layout_config.prompt_position = "top"; + settings.defaults.sorting_strategy = "ascending"; }; } From 08d31dbdd4e1fd4fdeb888364f526943a03cc00b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 13:06:35 +0100 Subject: [PATCH 1918/2258] Re-add `scrolloff` --- modules/home-manager/coding/neovim/config/options.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/coding/neovim/config/options.nix b/modules/home-manager/coding/neovim/config/options.nix index b5b22cf2..eaf2a8de 100644 --- a/modules/home-manager/coding/neovim/config/options.nix +++ b/modules/home-manager/coding/neovim/config/options.nix @@ -10,6 +10,7 @@ list = true; number = true; relativenumber = true; + scrolloff = 5; shiftwidth = 2; signcolumn = "yes:1"; smartindent = true; From 003ed12e84253a855229dba8724344b6abe49514 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 12 Jun 2025 13:59:21 +0100 Subject: [PATCH 1919/2258] Enable auto-save.nvim https://nix-community.github.io/nixvim/plugins/auto-save/index.html https://github.com/okuuva/auto-save.nvim --- modules/home-manager/coding/neovim/config/default.nix | 1 + .../home-manager/coding/neovim/config/plugins/auto-save.nix | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 modules/home-manager/coding/neovim/config/plugins/auto-save.nix diff --git a/modules/home-manager/coding/neovim/config/default.nix b/modules/home-manager/coding/neovim/config/default.nix index b77cabcb..03ed801e 100644 --- a/modules/home-manager/coding/neovim/config/default.nix +++ b/modules/home-manager/coding/neovim/config/default.nix @@ -8,6 +8,7 @@ imports = [ ./keymaps.nix ./options.nix + ./plugins/auto-save.nix ./plugins/cmp.nix ./plugins/conform.nix ./plugins/fidget.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/auto-save.nix b/modules/home-manager/coding/neovim/config/plugins/auto-save.nix new file mode 100644 index 00000000..98b93b63 --- /dev/null +++ b/modules/home-manager/coding/neovim/config/plugins/auto-save.nix @@ -0,0 +1,3 @@ +{ + plugins.auto-save.enable = true; +} From aee90917d94120577d39e1c6753f517c9b8fc4e6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 13 Jun 2025 01:36:54 +0100 Subject: [PATCH 1920/2258] Don't automatically save/close Harpoon windows --- .../coding/neovim/config/plugins/auto-save.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/plugins/auto-save.nix b/modules/home-manager/coding/neovim/config/plugins/auto-save.nix index 98b93b63..d43e22f1 100644 --- a/modules/home-manager/coding/neovim/config/plugins/auto-save.nix +++ b/modules/home-manager/coding/neovim/config/plugins/auto-save.nix @@ -1,3 +1,21 @@ { plugins.auto-save.enable = true; + + plugins.auto-save.settings.condition = '' + function(buf) + local excluded_filetypes = { + "harpoon" + } + + local excluded_filenames = {} + + if vim.tbl_contains(excluded_filetypes, vim.fn.getbufvar(buf, "&filetype")) + or vim.tbl_contains(excluded_filenames, vim.fn.expand("%:t")) + then + return false + end + + return true + end + ''; } From cd1b85d92df79af56daaf90ebc4b7671661dfab6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 16 Jun 2025 00:00:35 +0100 Subject: [PATCH 1921/2258] Automated dev commit --- modules/home-manager/coding/neovim/config/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/default.nix b/modules/home-manager/coding/neovim/config/default.nix index 03ed801e..5f7a6e27 100644 --- a/modules/home-manager/coding/neovim/config/default.nix +++ b/modules/home-manager/coding/neovim/config/default.nix @@ -38,6 +38,16 @@ settings.flavour = "mocha"; }; + diagnostic.settings = { + signs = true; + underline = false; + update_in_insert = false; + virtual_text = { + enable = true; + spacing = 2; + }; + }; + extraPackages = with pkgs; [ nixfmt-rfc-style stylua From 7e9e3fe254be702126cc3f00bc1a09aa8670f056 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 16 Jun 2025 00:24:42 +0100 Subject: [PATCH 1922/2258] Add todo.txt --- todo.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 todo.txt diff --git a/todo.txt b/todo.txt new file mode 100644 index 00000000..fd592bcc --- /dev/null +++ b/todo.txt @@ -0,0 +1 @@ +Re-configure diagnostic output in neovim. From 9b1b29e20071c9839f9b4eb119204672eacaff90 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 16 Jun 2025 09:34:30 +0100 Subject: [PATCH 1923/2258] Automated dev commit --- .../home-manager/coding/neovim/config/plugins/auto-save.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/coding/neovim/config/plugins/auto-save.nix b/modules/home-manager/coding/neovim/config/plugins/auto-save.nix index d43e22f1..037f6c42 100644 --- a/modules/home-manager/coding/neovim/config/plugins/auto-save.nix +++ b/modules/home-manager/coding/neovim/config/plugins/auto-save.nix @@ -4,7 +4,8 @@ plugins.auto-save.settings.condition = '' function(buf) local excluded_filetypes = { - "harpoon" + "harpoon", + "oil", } local excluded_filenames = {} From 6683761177a2aae617c053f8648d6ea68268b5c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 16 Jun 2025 19:08:05 +0100 Subject: [PATCH 1924/2258] Automated dev commit --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index d8431e0b..3d740254 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1749436314, - "narHash": "sha256-CqmqU5FRg5AadtIkxwu8ulDSOSoIisUMZRLlcED3Q5w=", + "lastModified": 1750040002, + "narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=", "owner": "nix-community", "repo": "disko", - "rev": "dfa4d1b9c39c0342ef133795127a3af14598017a", + "rev": "7f1857b31522062a6a00f88cbccf86b43acceed1", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1749657191, - "narHash": "sha256-QLilaHuhGxiwhgceDWESj9gFcKIdEp7+9lRqNGpN8S4=", + "lastModified": 1750033262, + "narHash": "sha256-TcFN78w6kPspxpbPsxW/8vQ1GAtY8Y3mjBaC+oB8jo4=", "owner": "nix-community", "repo": "home-manager", - "rev": "faeab32528a9360e9577ff4082de2d35c6bbe1ce", + "rev": "66523b0efe93ce5b0ba96dcddcda15d36673c1f0", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1749195551, - "narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=", + "lastModified": 1750083401, + "narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "4602f7e1d3f197b3cb540d5accf5669121629628", + "rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1749488106, - "narHash": "sha256-b9GIWdF/8jKpCC5JIMgDLZgwe8cEbty2fyTyo1eDFfI=", + "lastModified": 1749995256, + "narHash": "sha256-LEGfcombb0otUf23oAmYCXR4+lMQKa49XmU0G5HItGI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8fe3e32e7f210522377c3bcff80931a3284ace6a", + "rev": "daa45f10955cc2207ac9c5f0206774d2f757c162", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1749285348, - "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1749285348, - "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1749685505, - "narHash": "sha256-qAyDUuYvVoSl4hAq3Ho8vTKG/ms7i7qx+8jqS6beUuw=", + "lastModified": 1750094367, + "narHash": "sha256-Z6BX8pWAUo5d/M0xfaENhgkB/k8Vt1WaZI0ExnuRoWI=", "owner": "nix-community", "repo": "nixvim", - "rev": "1b08a4d97632a8c3500469ae7e2db91769425ddf", + "rev": "6a054de04dd2b0a3cc5fed1adab8e9f76c050b45", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1749714371, - "narHash": "sha256-GoxtjDrYKPOAAHuPpIInXuQi3zKkNWEY8UUkkZfIODg=", + "lastModified": 1750083660, + "narHash": "sha256-jOrjhJNRRLA7RnwbqIjAFvV1EM6VUVuvFfgRPz1XhkM=", "owner": "nix-community", "repo": "NUR", - "rev": "d6baf0261b2a9d147ced00a8e37c32932f256c2b", + "rev": "609c86876bb7cd52976c5284a1e530b4d414577b", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1749531675, - "narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=", + "lastModified": 1749730855, + "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", "owner": "NuschtOS", "repo": "search", - "rev": "4029d450d0266909ee52775849b7da54e79b328e", + "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", "type": "github" }, "original": { From 09d8f6fbcf964c5784e18af67f23f7de0c763691 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 21 Jun 2025 12:34:48 +0100 Subject: [PATCH 1925/2258] Add vim-cool Automatically disable `hlsearch` once a search is complete. https://github.com/romainl/vim-cool --- modules/home-manager/coding/neovim/config/default.nix | 1 + .../home-manager/coding/neovim/config/plugins/vim-cool.nix | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 modules/home-manager/coding/neovim/config/plugins/vim-cool.nix diff --git a/modules/home-manager/coding/neovim/config/default.nix b/modules/home-manager/coding/neovim/config/default.nix index 5f7a6e27..05e2fb0d 100644 --- a/modules/home-manager/coding/neovim/config/default.nix +++ b/modules/home-manager/coding/neovim/config/default.nix @@ -27,6 +27,7 @@ ./plugins/telescope.nix ./plugins/treesitter.nix ./plugins/undotree.nix + ./plugins/vim-cool.nix ./plugins/vim-dadbod.nix ./plugins/vim-highlightedyank.nix ./plugins/vim-test.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/vim-cool.nix b/modules/home-manager/coding/neovim/config/plugins/vim-cool.nix new file mode 100644 index 00000000..07431e87 --- /dev/null +++ b/modules/home-manager/coding/neovim/config/plugins/vim-cool.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: + +{ + extraPlugins = with pkgs.vimPlugins; [ vim-cool ]; +} From 140ff349001b3e5c9369f305738ac93444e8f6d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 21 Jun 2025 13:13:00 +0100 Subject: [PATCH 1926/2258] Find hidden files --- modules/home-manager/coding/neovim/config/plugins/telescope.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/plugins/telescope.nix b/modules/home-manager/coding/neovim/config/plugins/telescope.nix index d3988a03..70d49d2b 100644 --- a/modules/home-manager/coding/neovim/config/plugins/telescope.nix +++ b/modules/home-manager/coding/neovim/config/plugins/telescope.nix @@ -25,6 +25,8 @@ settings.defaults.layout_config.prompt_position = "top"; settings.defaults.sorting_strategy = "ascending"; + + settings.pickers.find_files.hidden = true; }; } From 3e4cc8eca629b25193363d2c5445faabda71f29e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 21 Jun 2025 13:14:22 +0100 Subject: [PATCH 1927/2258] Ignore files in the .git directory --- .ignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .ignore diff --git a/.ignore b/.ignore new file mode 100644 index 00000000..2d2ecd68 --- /dev/null +++ b/.ignore @@ -0,0 +1 @@ +.git/ From f54d82ca228af70e6a22a1ee6b8796bafca35d6e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 21 Jun 2025 14:01:04 +0100 Subject: [PATCH 1928/2258] Rename app from `nvim` to `nixvim` --- flake.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 80aafc68..a7edbcaf 100644 --- a/flake.nix +++ b/flake.nix @@ -43,7 +43,7 @@ inherit (pkgs) mkShell; - neovimWithConfig = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { + nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { inherit pkgs; module = import ./modules/home-manager/coding/neovim/config; @@ -60,9 +60,9 @@ }; packages.${system} = { - default = mkShell { buildInputs = with pkgs; [ just ]; }; + inherit nixvim; - nvim = neovimWithConfig; + default = mkShell { buildInputs = with pkgs; [ just ]; }; }; formatter.${system} = pkgs.nixfmt-rfc-style; From b926a50119657bc7a98e690bc75a55a4a6300ac4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 22 Jun 2025 10:57:37 +0100 Subject: [PATCH 1929/2258] Automated dev commit --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 1a1171f1..d5b1426f 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -18,6 +18,7 @@ let "examples" "homelab" "podcast" + "rss/bb.xml" "rss/daily.xml" "sites/default/files" "themes/custom/opdavies" From b691b02deb1b06388eb2eb86283c4c5e6ea4915a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 22 Jun 2025 13:55:04 +0100 Subject: [PATCH 1930/2258] flake update --- flake.lock | 48 +++++++++---------- hosts/t480/configuration.nix | 6 +-- hosts/t480/modules/ollama.nix | 4 +- .../desktop/browsers/qutebrowser.nix | 4 +- .../home-manager/desktop/media/handbrake.nix | 2 +- modules/nixos/desktop/dwm/default.nix | 2 +- 6 files changed, 34 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 3d740254..71f41f38 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1747575206, - "narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=", + "lastModified": 1750173260, + "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=", "owner": "ryantm", "repo": "agenix", - "rev": "4835b1dc898959d8547a871ef484930675cb47f1", + "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1750033262, - "narHash": "sha256-TcFN78w6kPspxpbPsxW/8vQ1GAtY8Y3mjBaC+oB8jo4=", + "lastModified": 1750304462, + "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=", "owner": "nix-community", "repo": "home-manager", - "rev": "66523b0efe93ce5b0ba96dcddcda15d36673c1f0", + "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750083401, - "narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=", + "lastModified": 1750431636, + "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad", + "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1749995256, - "narHash": "sha256-LEGfcombb0otUf23oAmYCXR4+lMQKa49XmU0G5HItGI=", + "lastModified": 1750330365, + "narHash": "sha256-hJ7XMNVsTnnbV2NPmStCC07gvv5l2x7+Skb7hyUzazg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "daa45f10955cc2207ac9c5f0206774d2f757c162", + "rev": "d883b6213afa179b58ba8bace834f1419707d0ad", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1749794982, - "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "lastModified": 1750365781, + "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1749794982, - "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "lastModified": 1750365781, + "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1750094367, - "narHash": "sha256-Z6BX8pWAUo5d/M0xfaENhgkB/k8Vt1WaZI0ExnuRoWI=", + "lastModified": 1750345447, + "narHash": "sha256-yOuSSfI4xovXQpSkZUK02CBcY1f0Nvm0RhnUN8xn2rY=", "owner": "nix-community", "repo": "nixvim", - "rev": "6a054de04dd2b0a3cc5fed1adab8e9f76c050b45", + "rev": "6a1a348ab1f00bd32d2392b5c2fc72489c699af3", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750083660, - "narHash": "sha256-jOrjhJNRRLA7RnwbqIjAFvV1EM6VUVuvFfgRPz1XhkM=", + "lastModified": 1750585280, + "narHash": "sha256-LQ8fv00SJSZ6xyQtKwe0a41ar62i24Syn1dSjN5JDqg=", "owner": "nix-community", "repo": "NUR", - "rev": "609c86876bb7cd52976c5284a1e530b4d414577b", + "rev": "c8be5504a360a0e917bcd483bef0427b9ec92b04", "type": "github" }, "original": { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 0aca1bf9..ff823e95 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -99,11 +99,8 @@ cdrkit cpufrequtils displayselect - dvdbackup - dvdplusrwtools ffmpegthumbnailer gimp - gscan2pdf gtypist hunspellDicts.en-gb-large isync @@ -120,6 +117,9 @@ pmutils shotwell slack + stable.dvdbackup + stable.dvdplusrwtools + stable.gscan2pdf sxiv tailscale ttyper diff --git a/hosts/t480/modules/ollama.nix b/hosts/t480/modules/ollama.nix index 0b37ce99..137ad6b6 100644 --- a/hosts/t480/modules/ollama.nix +++ b/hosts/t480/modules/ollama.nix @@ -1,10 +1,10 @@ { services = { ollama = { - enable = true; + enable = false; acceleration = "rocm"; }; - open-webui.enable = true; + open-webui.enable = false; }; } diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix index 1cde9851..6f602f9c 100644 --- a/modules/home-manager/desktop/browsers/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -13,6 +13,8 @@ in programs.qutebrowser = { enable = true; + package = pkgs.stable.qutebrowser; + searchEngines = { dp = "https://www.drupal.org/project/{}"; du = "https://www.drupal.org/u/{}"; diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix index 5da7514e..ea7ec42b 100644 --- a/modules/home-manager/desktop/media/handbrake.nix +++ b/modules/home-manager/desktop/media/handbrake.nix @@ -15,7 +15,7 @@ in config = mkIf cfg.enable { home.packages = with pkgs; [ - handbrake + stable.handbrake ]; }; } diff --git a/modules/nixos/desktop/dwm/default.nix b/modules/nixos/desktop/dwm/default.nix index 31c1c999..a58572a6 100644 --- a/modules/nixos/desktop/dwm/default.nix +++ b/modules/nixos/desktop/dwm/default.nix @@ -18,7 +18,7 @@ in dwm-status = { enable = true; - order = [ + settings.order = [ "audio" "battery" "network" From d25628813b383200bd75cb81668004974a0abf7a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 24 Jun 2025 00:00:42 +0100 Subject: [PATCH 1931/2258] Automated dev commit --- .../templates/action/SourceCode.php.twig | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules/home-manager/coding/phpactor/config/templates/action/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/config/templates/action/SourceCode.php.twig b/modules/home-manager/coding/phpactor/config/templates/action/SourceCode.php.twig new file mode 100644 index 00000000..eabd762e --- /dev/null +++ b/modules/home-manager/coding/phpactor/config/templates/action/SourceCode.php.twig @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace {{ prototype.namespace }}; + +{% for class in prototype.classes %} +readonly final class {{ class.name }} { + + public function __construct() { + } + + public function __invoke(): void { + } + +} +{% endfor %} + From 1ea1cc02bb0c9c992d9e52d4a10d0d3db6a3ce2e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 24 Jun 2025 00:35:30 +0100 Subject: [PATCH 1932/2258] Refactor jellyfin configuration --- hosts/nixedo/homelab.nix | 1 - hosts/nixedo/modules/jellyfin.nix | 70 +++++++------------------------ 2 files changed, 14 insertions(+), 57 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index f6004863..73982869 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -13,7 +13,6 @@ home-assistant.enable = true; homepage-dashboard.enable = true; immich.enable = true; - jellyfin.enable = true; jitsi.enable = true; paperless.enable = true; peertube.enable = true; diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 1d08c62a..430fac28 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -1,65 +1,23 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = homelab.services.${service}; - homelab = config.homelab; - service = "jellyfin"; -in { - options.homelab.services.${service} = { - enable = mkEnableOption "Enable ${service}"; + services.jellyfin = { + enable = true; - url = mkOption { - default = "${service}.${homelab.domain}"; - type = types.str; - }; - - homepage.name = mkOption { - default = "Jellyfin"; - type = types.str; - }; - - homepage.description = mkOption { - default = "The Free Software Media System"; - type = types.str; - }; - - homepage.icon = mkOption { - default = "jellyfin"; - type = types.str; - }; - - homepage.category = mkOption { - default = "Media"; - type = types.str; - }; + configDir = "/mnt/media/jellyfin"; + group = "media"; + openFirewall = true; }; - config = mkIf cfg.enable { - services = { - ${service} = { - enable = true; + services.nginx.virtualHosts."jellyfin.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; - configDir = "/mnt/media/${service}"; - group = "media"; - openFirewall = true; - }; + locations."/" = { + proxyPass = "http://localhost:8096"; + recommendedProxySettings = true; - nginx.virtualHosts."${cfg.url}" = { - forceSSL = true; - useACMEHost = homelab.domain; - - locations."/" = { - proxyPass = "http://localhost:8096"; - recommendedProxySettings = true; - - extraConfig = '' - proxy_buffering off; - ''; - }; - }; + extraConfig = '' + proxy_buffering off; + ''; }; }; } From 88781bae050ba5c78bf0a304817e37779c5c8e70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 24 Jun 2025 17:51:32 +0100 Subject: [PATCH 1933/2258] Refactor forgejo configuration --- hosts/nixedo/homelab.nix | 1 - hosts/nixedo/modules/forgejo.nix | 65 +++++++------------------------- 2 files changed, 13 insertions(+), 53 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 73982869..f9f44184 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -8,7 +8,6 @@ services = { audiobookshelf.enable = true; - forgejo.enable = true; gitea-actions-runner.enable = true; home-assistant.enable = true; homepage-dashboard.enable = true; diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 83eeb2fd..89da0991 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -1,61 +1,22 @@ -{ config, lib, ... }: +{ config, ... }: -with lib; - -let - cfg = homelab.services.${service}; - homelab = config.homelab; - service = "forgejo"; -in { - options.homelab.services.${service} = { - enable = mkEnableOption "Enable ${service}"; + services.forgejo = { + enable = true; + stateDir = "/var/www/forgejo"; - url = mkOption { - default = "code.${homelab.domain}"; - type = types.str; - }; + settings = { + server = { + DOMAIN = "code.oliverdavies.uk"; + ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; + }; - homepage.name = mkOption { - default = "Forgejo"; - type = types.str; - }; - - homepage.description = mkOption { - default = "Beyond coding. We forge."; - type = types.str; - }; - - homepage.icon = mkOption { - default = "forgejo"; - type = types.str; - }; - - homepage.category = mkOption { - default = "Services"; - type = types.str; + service.DISABLE_REGISTRATION = true; }; }; - config = mkIf cfg.enable { - services = { - ${service} = { - enable = true; - stateDir = "/var/www/${service}"; - - settings = { - server = { - DOMAIN = cfg.url; - ROOT_URL = "https://${cfg.url}"; - }; - - service.DISABLE_REGISTRATION = true; - }; - }; - - cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { - ${cfg.url} = "http://localhost:${toString config.services.${service}.settings.server.HTTP_PORT}"; - }; - }; + services.cloudflared.tunnels.${config.homelab.cloudflared.tunnelId}.ingress = { + "${config.services.forgejo.settings.server.DOMAIN}" = + "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; }; } From f0f757ea77c7491550b36866b4463cdcff22006f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 24 Jun 2025 18:14:16 +0100 Subject: [PATCH 1934/2258] Refactor Immich configuration --- hosts/nixedo/homelab.nix | 1 - hosts/nixedo/modules/immich.nix | 81 ++++++++------------------------- 2 files changed, 18 insertions(+), 64 deletions(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index f9f44184..dd8e92a1 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -11,7 +11,6 @@ gitea-actions-runner.enable = true; home-assistant.enable = true; homepage-dashboard.enable = true; - immich.enable = true; jitsi.enable = true; paperless.enable = true; peertube.enable = true; diff --git a/hosts/nixedo/modules/immich.nix b/hosts/nixedo/modules/immich.nix index 51a7a472..24328d1b 100644 --- a/hosts/nixedo/modules/immich.nix +++ b/hosts/nixedo/modules/immich.nix @@ -1,70 +1,25 @@ +{ config, pkgs, ... }: + { - config, - lib, - pkgs, - ... -}: + services.immich = { + enable = true; + group = "media"; + mediaLocation = "/mnt/media/immich"; + }; -with lib; + services.nginx.virtualHosts."photos.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; -let - cfg = homelab.services.${service}; - homelab = config.homelab; - service = "immich"; -in -{ - options.homelab.services.${service} = { - enable = mkEnableOption "Enable ${service}"; - - url = mkOption { - default = "photos.${homelab.domain}"; - type = types.str; - }; - - homepage.name = mkOption { - default = "Immich"; - type = types.str; - }; - - homepage.description = mkOption { - default = "Self-hosted photo and video management solution"; - type = types.str; - }; - - homepage.icon = mkOption { - default = "immich"; - type = types.str; - }; - - homepage.category = mkOption { - default = "Media"; - type = types.str; + locations."/" = { + proxyPass = "http://localhost:${toString config.services.immich.port}"; + proxyWebsockets = true; + recommendedProxySettings = true; }; }; - config = mkIf cfg.enable { - services = { - ${service} = { - enable = true; - group = "media"; - mediaLocation = "/mnt/media/${service}"; - }; - - nginx.virtualHosts."${cfg.url}" = { - forceSSL = true; - useACMEHost = homelab.domain; - - locations."/" = { - proxyPass = "http://localhost:${toString config.services.immich.port}"; - proxyWebsockets = true; - recommendedProxySettings = true; - }; - }; - }; - - environment.systemPackages = with pkgs; [ - immich-cli - immich-go - ]; - }; + environment.systemPackages = with pkgs; [ + immich-cli + immich-go + ]; } From 8a9bc42458b20c715e081665030287f6689473e3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 25 Jun 2025 21:38:10 +0100 Subject: [PATCH 1935/2258] flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 71f41f38..712d1c0b 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1750040002, - "narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=", + "lastModified": 1750680230, + "narHash": "sha256-kD88T/NqmcgfOBFAwphN30ccaUdj6K6+LG0XdM2w2LA=", "owner": "nix-community", "repo": "disko", - "rev": "7f1857b31522062a6a00f88cbccf86b43acceed1", + "rev": "8fd2d6c75009ac75f9a6fb18c33a239806778d01", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1750304462, - "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=", + "lastModified": 1750798083, + "narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=", "owner": "nix-community", "repo": "home-manager", - "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c", + "rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750431636, - "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", + "lastModified": 1750837715, + "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", + "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1750330365, - "narHash": "sha256-hJ7XMNVsTnnbV2NPmStCC07gvv5l2x7+Skb7hyUzazg=", + "lastModified": 1750646418, + "narHash": "sha256-4UAN+W0Lp4xnUiHYXUXAPX18t+bn6c4Btry2RqM9JHY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d883b6213afa179b58ba8bace834f1419707d0ad", + "rev": "1f426f65ac4e6bf808923eb6f8b8c2bfba3d18c5", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1750365781, - "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", + "lastModified": 1750741721, + "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", + "rev": "4b1164c3215f018c4442463a27689d973cffd750", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1750365781, - "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", + "lastModified": 1750741721, + "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", + "rev": "4b1164c3215f018c4442463a27689d973cffd750", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1750345447, - "narHash": "sha256-yOuSSfI4xovXQpSkZUK02CBcY1f0Nvm0RhnUN8xn2rY=", + "lastModified": 1750879244, + "narHash": "sha256-ClV6rZbPnd5wIcBYNiCdrbhtSzY6dwPRA4Z/z1cFcyo=", "owner": "nix-community", "repo": "nixvim", - "rev": "6a1a348ab1f00bd32d2392b5c2fc72489c699af3", + "rev": "f0764db7212003520341ac10ddcee50e9c458a6f", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750585280, - "narHash": "sha256-LQ8fv00SJSZ6xyQtKwe0a41ar62i24Syn1dSjN5JDqg=", + "lastModified": 1750880745, + "narHash": "sha256-ryJ/tjeahYqoW+aGiQdRaeF1PLXUAn0C2aMfZsp5lu4=", "owner": "nix-community", "repo": "NUR", - "rev": "c8be5504a360a0e917bcd483bef0427b9ec92b04", + "rev": "00ca473157cf7b9cf9b19e8e0bd0c509b5ec391a", "type": "github" }, "original": { From 9b5529337c6baa022f77e165edbfd157f335d9cb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 27 Jun 2025 01:06:17 +0100 Subject: [PATCH 1936/2258] Automated dev commit --- home/opdavies/t480.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 295c1b38..8ddd933c 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -76,9 +76,12 @@ mpv.enable = true; }; - redshift.enable = true; + # redshift.enable = true; }; + services.gammastep.enable = true; + services.gammastep.provider = "geoclue2"; + programs = { dev-commit = { enable = true; From 2eaf0985ec769474eaa6ba36284baf85e3003ee2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 27 Jun 2025 01:12:06 +0100 Subject: [PATCH 1937/2258] Automated dev commit --- home/opdavies/t480.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 8ddd933c..a0f2554c 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: { imports = [ ../common ]; @@ -81,6 +81,7 @@ services.gammastep.enable = true; services.gammastep.provider = "geoclue2"; + home.packages = with pkgs; [geoclue2]; programs = { dev-commit = { From 57ee43c455e756f5ddddc025b6655e47429695b4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 27 Jun 2025 01:23:16 +0100 Subject: [PATCH 1938/2258] Automated dev commit --- home/opdavies/t480.nix | 11 +++++------ home/opdavies/t480/gammastep.nix | 4 ++++ hosts/t480/configuration.nix | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 home/opdavies/t480/gammastep.nix diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index a0f2554c..04ded7bc 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -1,7 +1,10 @@ -{ config, pkgs, ... }: +{ config, ... }: { - imports = [ ../common ]; + imports = [ + ../common + ./t480/gammastep.nix + ]; cli = { bluetuith.enable = true; @@ -79,10 +82,6 @@ # redshift.enable = true; }; - services.gammastep.enable = true; - services.gammastep.provider = "geoclue2"; - home.packages = with pkgs; [geoclue2]; - programs = { dev-commit = { enable = true; diff --git a/home/opdavies/t480/gammastep.nix b/home/opdavies/t480/gammastep.nix new file mode 100644 index 00000000..e95feb1e --- /dev/null +++ b/home/opdavies/t480/gammastep.nix @@ -0,0 +1,4 @@ +{ + services.gammastep.enable = true; + services.gammastep.provider = "geoclue2"; +} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index ff823e95..6a429733 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -16,6 +16,8 @@ ../../users/opdavies.nix ]; + services.geoclue2.enable = true; + cli = { kanata = { enable = true; From acbd5f6c44f0977763860e4f1261b15d9b8e8f04 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 27 Jun 2025 08:55:08 +0100 Subject: [PATCH 1939/2258] Update repo path --- home/opdavies/t480.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index 04ded7bc..f88451d7 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -93,7 +93,7 @@ [ "${personal}/email-filters" "${personal}/nix-config" - "${personal}/oliverdavies.uk-tome" + "${personal}/oliverdavies.uk" "${personal}/opentofu-dns" ]; From a8c0cf5e63fd9ede624abc6436b29b992145a6fc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 27 Jun 2025 23:57:15 +0100 Subject: [PATCH 1940/2258] flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 712d1c0b..14a1f746 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1750680230, - "narHash": "sha256-kD88T/NqmcgfOBFAwphN30ccaUdj6K6+LG0XdM2w2LA=", + "lastModified": 1750903843, + "narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=", "owner": "nix-community", "repo": "disko", - "rev": "8fd2d6c75009ac75f9a6fb18c33a239806778d01", + "rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1750798083, - "narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=", + "lastModified": 1750973805, + "narHash": "sha256-BZXgag7I0rnL/HMHAsBz3tQrfKAibpY2vovexl2lS+Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82", + "rev": "080e8b48b0318b38143d5865de9334f46d51fce3", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1750741721, - "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", + "lastModified": 1750776420, + "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4b1164c3215f018c4442463a27689d973cffd750", + "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1750741721, - "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", + "lastModified": 1750776420, + "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4b1164c3215f018c4442463a27689d973cffd750", + "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1750879244, - "narHash": "sha256-ClV6rZbPnd5wIcBYNiCdrbhtSzY6dwPRA4Z/z1cFcyo=", + "lastModified": 1751053139, + "narHash": "sha256-FMcWdec8fAXs7kiOQBsD+vA/RzjqoDz3zoYgPDQpZlA=", "owner": "nix-community", "repo": "nixvim", - "rev": "f0764db7212003520341ac10ddcee50e9c458a6f", + "rev": "c39f5f39c32e0a8fe91bff1cda847de7a0269411", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750880745, - "narHash": "sha256-ryJ/tjeahYqoW+aGiQdRaeF1PLXUAn0C2aMfZsp5lu4=", + "lastModified": 1751060810, + "narHash": "sha256-8lU/u/LhfCr8/0SmQBsAMwtj3IrMgybSQzY3FzEYpwc=", "owner": "nix-community", "repo": "NUR", - "rev": "00ca473157cf7b9cf9b19e8e0bd0c509b5ec391a", + "rev": "539d77173dba7799eafe4b77f993e1ad7419c28e", "type": "github" }, "original": { From 994b2e2b87dfadde50dde22a9e3f1a8f36007c3e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 28 Jun 2025 00:10:59 +0100 Subject: [PATCH 1941/2258] Unpin some pinned packages --- hosts/t480/configuration.nix | 4 ++-- modules/home-manager/desktop/media/handbrake.nix | 2 +- modules/home-manager/desktop/media/mpv.nix | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 6a429733..dd407942 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -101,6 +101,8 @@ cdrkit cpufrequtils displayselect + dvdbackup + dvdplusrwtools ffmpegthumbnailer gimp gtypist @@ -119,8 +121,6 @@ pmutils shotwell slack - stable.dvdbackup - stable.dvdplusrwtools stable.gscan2pdf sxiv tailscale diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix index ea7ec42b..5da7514e 100644 --- a/modules/home-manager/desktop/media/handbrake.nix +++ b/modules/home-manager/desktop/media/handbrake.nix @@ -15,7 +15,7 @@ in config = mkIf cfg.enable { home.packages = with pkgs; [ - stable.handbrake + handbrake ]; }; } diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix index a3a32216..5d0f9570 100644 --- a/modules/home-manager/desktop/media/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -11,7 +11,6 @@ in config = mkIf cfg.enable { programs.mpv = { enable = true; - package = pkgs.stable.mpv; # https://github.com/mpv-player/mpv/blob/master/etc/input.conf bindings = { From dde3390c3fa09425e58ba5399b268ef9960c5ecf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 28 Jun 2025 09:45:52 +0100 Subject: [PATCH 1942/2258] Automated dev commit --- modules/home-manager/coding/neovim/config/plugins/lsp.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/plugins/lsp.nix b/modules/home-manager/coding/neovim/config/plugins/lsp.nix index 9b186aa6..3f12baed 100644 --- a/modules/home-manager/coding/neovim/config/plugins/lsp.nix +++ b/modules/home-manager/coding/neovim/config/plugins/lsp.nix @@ -16,4 +16,6 @@ gr = "references"; }; }; + + plugins.lsp.servers.phpactor.enable = true; } From 1fa05e8917dae8c2dd5a7166a36a73cace1b1e56 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 28 Jun 2025 10:18:53 +0100 Subject: [PATCH 1943/2258] Disable dev-commit --- home/opdavies/t480.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index f88451d7..e1793a92 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -84,7 +84,7 @@ programs = { dev-commit = { - enable = true; + enable = false; repoPaths = let From 501683c5ab604a9db9119de0c54dd3a54436e8bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 28 Jun 2025 10:23:23 +0100 Subject: [PATCH 1944/2258] Add `gba` abbreviation --- modules/home-manager/cli/zsh/abbreviations.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/cli/zsh/abbreviations.nix index 568add15..90d1d5ce 100644 --- a/modules/home-manager/cli/zsh/abbreviations.nix +++ b/modules/home-manager/cli/zsh/abbreviations.nix @@ -24,6 +24,7 @@ gan = "git add -N"; gap = "git add -p"; gb = "git branch"; + gba = "git branch --all"; gbl = "git blame"; gc = "git commit"; gca = "git commit --amend"; From 0fe65b8d33be8996c977950d94761ba5dbb3d91d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 29 Jun 2025 13:22:39 +0100 Subject: [PATCH 1945/2258] Add mealie --- hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/ports.nix | 1 + hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/mealie.nix | 27 +++++++++++++++++++++++++++ 4 files changed, 30 insertions(+) create mode 100644 hosts/nixedo/services/mealie.nix diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index cb6aaac9..585bf7fe 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -29,6 +29,7 @@ "home" "jellyfin" "luke" + "mealie" "nixedo" "paperless" "photos" diff --git a/hosts/nixedo/ports.nix b/hosts/nixedo/ports.nix index 26811b8f..86c6ca23 100644 --- a/hosts/nixedo/ports.nix +++ b/hosts/nixedo/ports.nix @@ -11,6 +11,7 @@ in config.homelab.ports = { homepage-dashboard = 8097; + mealie = 9001; pihole = 8082; tubearchivist = 8099; vaultwarden = 8022; diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 344570f9..f813baef 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -9,6 +9,7 @@ imports = [ ./homepage ./mastodon.nix + ./mealie.nix ./samba.nix ./uptime-kuma.nix ./vaultwarden.nix diff --git a/hosts/nixedo/services/mealie.nix b/hosts/nixedo/services/mealie.nix new file mode 100644 index 00000000..ceb4516f --- /dev/null +++ b/hosts/nixedo/services/mealie.nix @@ -0,0 +1,27 @@ +{ config, pkgs, ... }: + +let + ports = config.homelab.ports; +in +{ + services.mealie = { + enable = true; + package = pkgs.stable.mealie; + + database.createLocally = true; + + port = ports.mealie; + + settings.ALLOW_SIGNUP = "false"; + }; + + services.nginx.virtualHosts."mealie.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.mealie.port}"; + recommendedProxySettings = true; + }; + }; +} From fa27d1c73a5fbbe4bfb149567a0cf906ab00ff9e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 1 Jul 2025 07:00:29 +0100 Subject: [PATCH 1946/2258] Remove session commands --- hosts/t480/services/xserver.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix index db23bd82..ca0b8075 100644 --- a/hosts/t480/services/xserver.nix +++ b/hosts/t480/services/xserver.nix @@ -2,10 +2,6 @@ services.xserver = { enable = true; - displayManager.sessionCommands = '' - setbg & - ''; - displayManager.startx.enable = true; xkb = { From aba3a5f95fbf62a6e3ce80913c22114843688b17 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 1 Jul 2025 07:27:25 +0100 Subject: [PATCH 1947/2258] flake update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 14a1f746..a208c795 100644 --- a/flake.lock +++ b/flake.lock @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1750973805, - "narHash": "sha256-BZXgag7I0rnL/HMHAsBz3tQrfKAibpY2vovexl2lS+Y=", + "lastModified": 1751336185, + "narHash": "sha256-ptnVr2x+sl7cZcTuGx/0BOE2qCAIYHTcgfA+/h60ml0=", "owner": "nix-community", "repo": "home-manager", - "rev": "080e8b48b0318b38143d5865de9334f46d51fce3", + "rev": "96354906f58464605ff81d2f6c2ea23211cbf051", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1750646418, - "narHash": "sha256-4UAN+W0Lp4xnUiHYXUXAPX18t+bn6c4Btry2RqM9JHY=", + "lastModified": 1751048012, + "narHash": "sha256-MYbotu4UjWpTsq01wglhN5xDRfZYLFtNk7SBY0BcjkU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1f426f65ac4e6bf808923eb6f8b8c2bfba3d18c5", + "rev": "a684c58d46ebbede49f280b653b9e56100aa3877", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1750776420, - "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1750776420, - "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1751053139, - "narHash": "sha256-FMcWdec8fAXs7kiOQBsD+vA/RzjqoDz3zoYgPDQpZlA=", + "lastModified": 1751144320, + "narHash": "sha256-KJsKiGfkfXFB23V26NQ1p+UPsexI6NKtivnrwSlWWdQ=", "owner": "nix-community", "repo": "nixvim", - "rev": "c39f5f39c32e0a8fe91bff1cda847de7a0269411", + "rev": "ceb52aece5d571b37096945c2815604195a04eb4", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1751060810, - "narHash": "sha256-8lU/u/LhfCr8/0SmQBsAMwtj3IrMgybSQzY3FzEYpwc=", + "lastModified": 1751345783, + "narHash": "sha256-83GecBM/Tli7m+tr47S8pKLcAz2HihbXaVRosQiEKSg=", "owner": "nix-community", "repo": "NUR", - "rev": "539d77173dba7799eafe4b77f993e1ad7419c28e", + "rev": "50fd93fb7d46e97b5dc30909754f597c2b703a29", "type": "github" }, "original": { From 87e85adc8a79b431c58692cd657711cea30b2f92 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 1 Jul 2025 07:31:03 +0100 Subject: [PATCH 1948/2258] Remove ly --- hosts/t480/services/xserver.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/services/xserver.nix index ca0b8075..ab1cfb91 100644 --- a/hosts/t480/services/xserver.nix +++ b/hosts/t480/services/xserver.nix @@ -9,6 +9,4 @@ variant = ""; }; }; - - services.displayManager.ly.enable = true; } From d6569a1a8b3b6f2430a541208a23983ca56c308c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 2 Jul 2025 07:54:35 +0100 Subject: [PATCH 1949/2258] Serve /automated-testing from Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index d5b1426f..699fe6a8 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -13,6 +13,8 @@ let paths = [ "archive" + "at" + "automated-testing" "core" "daily/.+" "examples" @@ -21,6 +23,7 @@ let "rss/bb.xml" "rss/daily.xml" "sites/default/files" + "testing" "themes/custom/opdavies" "tome-test" ]; From 776ace468b82130de5739f9a5e3aeab0b373618c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 2 Jul 2025 09:15:51 +0100 Subject: [PATCH 1950/2258] Add `git-extras` --- modules/home-manager/cli/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 0d0ae1a6..99a3202e 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -169,6 +169,7 @@ in home = { packages = with pkgs; [ + git-extras git-trim stable.git-instafix ]; From 25843c658de28cbd6adf92078a0837e3db6cbf0a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 2 Jul 2025 14:53:53 +0100 Subject: [PATCH 1951/2258] Add magic-wormhole Get things from one computer to another, safely. https://github.com/magic-wormhole/magic-wormhole https://magic-wormhole.readthedocs.io --- users/opdavies.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/opdavies.nix b/users/opdavies.nix index 38efaeaa..cc8e2411 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -23,6 +23,7 @@ with lib; packages = with pkgs; [ comma + magic-wormhole qrencode ]; From 8732ff783dfadadd31609de0099db2583209756f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 2 Jul 2025 22:16:32 +0100 Subject: [PATCH 1952/2258] Refactor --- hosts/t480/configuration.nix | 22 +++++++++++++++---- hosts/t480/{modules => }/cron.nix | 0 hosts/t480/modules/default.nix | 8 ------- hosts/t480/{modules => }/neomutt.nix | 0 hosts/t480/{modules => }/newsboat/default.nix | 0 hosts/t480/{modules => }/newsboat/urls.nix | 0 hosts/t480/{modules => }/ollama.nix | 0 hosts/t480/services/default.nix | 17 -------------- hosts/t480/{services => }/xserver.nix | 0 9 files changed, 18 insertions(+), 29 deletions(-) rename hosts/t480/{modules => }/cron.nix (100%) delete mode 100644 hosts/t480/modules/default.nix rename hosts/t480/{modules => }/neomutt.nix (100%) rename hosts/t480/{modules => }/newsboat/default.nix (100%) rename hosts/t480/{modules => }/newsboat/urls.nix (100%) rename hosts/t480/{modules => }/ollama.nix (100%) delete mode 100644 hosts/t480/services/default.nix rename hosts/t480/{services => }/xserver.nix (100%) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index dd407942..1ba019f5 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -9,15 +9,16 @@ ../common ./hardware-configuration.nix - ./modules + ./cron.nix + ./neomutt.nix + ./newsboat + ./ollama.nix ./secrets.nix - ./services + ./xserver.nix ../../users/opdavies.nix ]; - services.geoclue2.enable = true; - cli = { kanata = { enable = true; @@ -55,6 +56,19 @@ thunar.enable = true; }; + services = { + auto-cpufreq.enable = true; + geoclue2.enable = true; + gvfs.enable = true; + power-profiles-daemon.enable = false; + printing.enable = true; + pulseaudio.enable = false; + tailscale.enable = true; + thermald.enable = true; + throttled.enable = true; + upower.enable = true; + }; + boot = { loader = { systemd-boot = { diff --git a/hosts/t480/modules/cron.nix b/hosts/t480/cron.nix similarity index 100% rename from hosts/t480/modules/cron.nix rename to hosts/t480/cron.nix diff --git a/hosts/t480/modules/default.nix b/hosts/t480/modules/default.nix deleted file mode 100644 index c5f2ed09..00000000 --- a/hosts/t480/modules/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./cron.nix - ./neomutt.nix - ./newsboat - ./ollama.nix - ]; -} diff --git a/hosts/t480/modules/neomutt.nix b/hosts/t480/neomutt.nix similarity index 100% rename from hosts/t480/modules/neomutt.nix rename to hosts/t480/neomutt.nix diff --git a/hosts/t480/modules/newsboat/default.nix b/hosts/t480/newsboat/default.nix similarity index 100% rename from hosts/t480/modules/newsboat/default.nix rename to hosts/t480/newsboat/default.nix diff --git a/hosts/t480/modules/newsboat/urls.nix b/hosts/t480/newsboat/urls.nix similarity index 100% rename from hosts/t480/modules/newsboat/urls.nix rename to hosts/t480/newsboat/urls.nix diff --git a/hosts/t480/modules/ollama.nix b/hosts/t480/ollama.nix similarity index 100% rename from hosts/t480/modules/ollama.nix rename to hosts/t480/ollama.nix diff --git a/hosts/t480/services/default.nix b/hosts/t480/services/default.nix deleted file mode 100644 index 68c40e89..00000000 --- a/hosts/t480/services/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - imports = [ - ./xserver.nix - ]; - - services = { - auto-cpufreq.enable = true; - gvfs.enable = true; - power-profiles-daemon.enable = false; - printing.enable = true; - pulseaudio.enable = false; - tailscale.enable = true; - throttled.enable = true; - thermald.enable = true; - upower.enable = true; - }; -} diff --git a/hosts/t480/services/xserver.nix b/hosts/t480/xserver.nix similarity index 100% rename from hosts/t480/services/xserver.nix rename to hosts/t480/xserver.nix From fc8bdf3bce532f0efb5d4024a64d8102352f5d90 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 4 Jul 2025 08:49:04 +0100 Subject: [PATCH 1953/2258] Serve /daily from Tome --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 699fe6a8..e8a515c4 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -16,6 +16,7 @@ let "at" "automated-testing" "core" + "daily" "daily/.+" "examples" "homelab" From 1e088c52892236e81384dd1644feb5745eb11ce1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 4 Jul 2025 08:49:21 +0100 Subject: [PATCH 1954/2258] Create 2025.oliverdavies.uk subdomain --- hosts/nixedo/modules/acme.nix | 1 + hosts/nixedo/modules/nginx/sites.nix | 10 ++++++++++ hosts/nixedo/ports.nix | 1 + 3 files changed, 12 insertions(+) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 585bf7fe..18a03144 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -21,6 +21,7 @@ let subdomains = [ "2020" + "2025" "audiobookshelf" "bootstrap-with-tailwind" "code" diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index b5841173..1e6c61d5 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -11,6 +11,16 @@ let { inherit port root url; } // overrides; sites = [ + { + root = "/var/www/vhosts/website-sculpin"; + port = ports.nginx-website-2025; + url = "2025.oliverdavies.uk"; + + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + } + (mkSite "eric" { rootSuffix = "/public"; diff --git a/hosts/nixedo/ports.nix b/hosts/nixedo/ports.nix index 86c6ca23..978f729a 100644 --- a/hosts/nixedo/ports.nix +++ b/hosts/nixedo/ports.nix @@ -19,6 +19,7 @@ in nginx-website-sculpin = 8095; nginx-website-tome = 8098; + nginx-website-2025 = 9002; nginx-bootstrap-with-tailwind = 8081; nginx-eric = 8084; nginx-florida-drupalcamp-tailwind-css = 8083; From 8b37a1fa193efee7b8ac975f2c44ad477a6cf410 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 4 Jul 2025 10:01:32 +0100 Subject: [PATCH 1955/2258] Re-add missing demo/example websites --- hosts/nixedo/modules/nginx/sites.nix | 62 ++++++++++++++++++---------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 1e6c61d5..bcf733e1 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -10,30 +10,48 @@ let in { inherit port root url; } // overrides; - sites = [ - { - root = "/var/www/vhosts/website-sculpin"; - port = ports.nginx-website-2025; - url = "2025.oliverdavies.uk"; + sites = + [ + { + root = "/var/www/vhosts/website-sculpin"; + port = ports.nginx-website-2025; + url = "2025.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - } + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + } - (mkSite "eric" { - rootSuffix = "/public"; + (mkSite "eric" { + rootSuffix = "/public"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }) - - (mkSite "luke" { - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }) - ]; + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }) + ] + ++ map + ( + domain: + mkSite domain { + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + } + ) + [ + "bootstrap-with-tailwind" + "florida-drupalcamp-tailwind-css" + "luke" + "phpsw-sculpin-demo" + "rebuilding-acquia" + "rebuilding-bartik" + "rebuilding-bristol-js" + "rebuilding-symfony" + "tailwindcss-demo" + "talking-drupal-tailwindcss" + "wp-tailwind" + "zet" + ]; in sites From 533b8db65f6cd0d21110b0a0193aacb4ef3e27ea Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 6 Jul 2025 20:52:32 +0100 Subject: [PATCH 1956/2258] Refactor --- home/opdavies/nixedo.nix | 2 +- home/opdavies/nixedo/{modules => }/email-filters.nix | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename home/opdavies/nixedo/{modules => }/email-filters.nix (100%) diff --git a/home/opdavies/nixedo.nix b/home/opdavies/nixedo.nix index e6c8bebd..4468439b 100644 --- a/home/opdavies/nixedo.nix +++ b/home/opdavies/nixedo.nix @@ -2,7 +2,7 @@ imports = [ ../common - ./nixedo/modules/email-filters.nix + ./nixedo/email-filters.nix ]; cli = { diff --git a/home/opdavies/nixedo/modules/email-filters.nix b/home/opdavies/nixedo/email-filters.nix similarity index 100% rename from home/opdavies/nixedo/modules/email-filters.nix rename to home/opdavies/nixedo/email-filters.nix From 2c66524d18da4e68cf947d36455e3c26a12260d8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 7 Jul 2025 12:00:00 +0100 Subject: [PATCH 1957/2258] Update tmux-sessionizer --- home/opdavies/PW05CH3L.nix | 6 +- home/opdavies/t480.nix | 2 +- modules/home-manager/cli/tmux-sessionizer.nix | 67 +++++++++---------- pkgs/tmux-sessionizer/default.nix | 21 ++---- .../move-default-script.patch | 15 ----- .../shorten-suggested-paths.patch | 22 ------ pkgs/tmux-sessionizer/sort-suggestions.patch | 13 ---- 7 files changed, 38 insertions(+), 108 deletions(-) delete mode 100644 pkgs/tmux-sessionizer/move-default-script.patch delete mode 100644 pkgs/tmux-sessionizer/shorten-suggested-paths.patch delete mode 100644 pkgs/tmux-sessionizer/sort-suggestions.patch diff --git a/home/opdavies/PW05CH3L.nix b/home/opdavies/PW05CH3L.nix index b8ce7248..6cc66307 100644 --- a/home/opdavies/PW05CH3L.nix +++ b/home/opdavies/PW05CH3L.nix @@ -23,16 +23,14 @@ tmux-sessionizer = { enable = true; - directories = + searchPaths = let inherit (config.xdg.userDirs) documents extraConfig; repos = extraConfig.XDG_REPOS_DIR; in - options.cli.tmux-sessionizer.directories.default - ++ [ + [ repos - "${repos}/*" documents ]; }; diff --git a/home/opdavies/t480.nix b/home/opdavies/t480.nix index e1793a92..db6f707c 100644 --- a/home/opdavies/t480.nix +++ b/home/opdavies/t480.nix @@ -35,7 +35,7 @@ enable = true; enableDmenuIntegration = true; - directories = + searchPaths = let inherit (config.xdg.userDirs) documents extraConfig; diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 97ca9086..9b5a8765 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -15,56 +15,49 @@ in enable = mkEnableOption "Enable tmux-sessionizer"; enableDmenuIntegration = mkEnableOption "Enable dmenu integration"; - directories = mkOption { + searchPaths = mkOption { default = [ config.home.homeDirectory ]; type = types.listOf types.str; - description = "List of directories for tmux-sessionizer to use."; + description = "List of search paths for tmux-sessionizer to use."; }; + + # TODO: add TS_EXTRA_SEARCH_PATHS. + # TODO: add TS_MAX_DEPTH. + # TODO: add TS_SESSION_COMMANDS once I figure out what they're for. }; config = mkIf cfg.enable { home.packages = with pkgs; [ tmux-sessionizer - ] ++ (optional cfg.enableDmenuIntegration ( - pkgs.writeShellApplication { - name = "tmux-sessionizer-dmenu"; + ]; - text = '' - # shellcheck disable=SC2046 - selected=$(find $(eval echo "$(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")") -mindepth 1 -maxdepth 1 -type d | dmenu -i -l 20) + home.file.".tmux-sessionizer".source = "${ + pkgs.writeShellApplication { + name = ".tmux-sessionizer"; - ${pkgs.coreutils}/bin/nohup st -e tmux-sessionizer "$selected" >/dev/null 2>&1 & - ''; - } - )); + runtimeInputs = with pkgs; [ + tmux + ]; - xdg.configFile = { - "tmux-sessionizer/default".source = "${ - pkgs.writeShellApplication { - name = ".tmux-sessionizer"; + text = '' + set +o errexit + set +o nounset - runtimeInputs = with pkgs; [ - tmux - ]; - - text = '' - set +o errexit - set +o nounset - - if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/work" ]]; then - clear - - return - fi - - tmux new-window -d -n scratch - nvim . + if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/work" ]]; then clear - ''; - } - }/bin/.tmux-sessionizer"; - "tmux-sessionizer/directories".text = builtins.concatStringsSep "\n" cfg.directories; - }; + return + fi + + tmux new-window -d -n scratch + nvim . + clear + ''; + } + }/bin/.tmux-sessionizer"; + + xdg.configFile."tmux-sessionizer/tmux-sessionizer.conf".text = '' + TS_SEARCH_PATHS=(${builtins.concatStringsSep " " cfg.searchPaths}) + ''; }; } diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index aeb12dca..07077e99 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -4,13 +4,13 @@ with pkgs; stdenv.mkDerivation { pname = "tmux-sessionizer"; - version = "unstable-2024-10-30"; + version = "unstable-2025-06-19"; src = fetchFromGitHub { owner = "theprimeagen"; repo = "tmux-sessionizer"; - rev = "6ebd16e2e30a8c0ebd77f0c2ce18cb46db8397fa"; - sha256 = "bZXt9TyMU1Ed/WR0/ahMQ4oyIi6yXLKnXKYPPNBt/s4="; + rev = "7edf8211e36368c29ffc0d2c6d5d2d350b4d729b"; + sha256 = "sha256-4QGlq/cLbed7AZhQ3R1yH+44gmgp9gSzbiQft8X5NwU="; }; buildInputs = [ @@ -19,22 +19,11 @@ stdenv.mkDerivation { tmux ]; - patches = [ - ./move-default-script.patch - - (fetchpatch { - name = "feat: Made folders more dynamic"; - url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/2.patch"; - sha256 = "sha256-4/4rzve49T3FHnl9WWUPJVcb0NQojMQjIVnEZGwVAsY="; - }) - - ./shorten-suggested-paths.patch - ./sort-suggestions.patch - ]; - installPhase = '' mkdir -p $out/bin cp tmux-sessionizer $out/bin/tmux-sessionizer chmod +x $out/bin/tmux-sessionizer ''; + + # TODO: create another patch to sort results. } diff --git a/pkgs/tmux-sessionizer/move-default-script.patch b/pkgs/tmux-sessionizer/move-default-script.patch deleted file mode 100644 index 6922915e..00000000 --- a/pkgs/tmux-sessionizer/move-default-script.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/tmux-sessionizer b/tmux-sessionizer -index fa1bec5..536d4b0 100755 ---- a/tmux-sessionizer -+++ b/tmux-sessionizer -@@ -14,8 +14,8 @@ has_session() { - hydrate() { - if [ -f $2/.tmux-sessionizer ]; then - tmux send-keys -t $1 "source $2/.tmux-sessionizer" c-M -- elif [ -f $HOME/.tmux-sessionizer ]; then -- tmux send-keys -t $1 "source $HOME/.tmux-sessionizer" c-M -+ elif [ -f "$XDG_CONFIG_HOME/tmux-sessionizer/default" ]; then -+ tmux send-keys -t $1 "source $XDG_CONFIG_HOME/tmux-sessionizer/default" c-M - fi - } - diff --git a/pkgs/tmux-sessionizer/shorten-suggested-paths.patch b/pkgs/tmux-sessionizer/shorten-suggested-paths.patch deleted file mode 100644 index 067cbe64..00000000 --- a/pkgs/tmux-sessionizer/shorten-suggested-paths.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tmux-sessionizer b/tmux-sessionizer -index 8fa4153..3e607d7 100755 ---- a/tmux-sessionizer -+++ b/tmux-sessionizer -@@ -22,13 +22,16 @@ hydrate() { - if [[ $# -eq 1 ]]; then - selected=$1 - else -- selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | fzf) -+ selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME/||" | fzf) - fi - - if [[ -z $selected ]]; then - exit 0 - fi - -+# Add Home path back. -+selected="$HOME/$selected" -+ - selected_name=$(basename "$selected" | tr . _) - tmux_running=$(pgrep tmux) - diff --git a/pkgs/tmux-sessionizer/sort-suggestions.patch b/pkgs/tmux-sessionizer/sort-suggestions.patch deleted file mode 100644 index c2d33126..00000000 --- a/pkgs/tmux-sessionizer/sort-suggestions.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tmux-sessionizer b/tmux-sessionizer -index 3e607d7..27729b1 100755 ---- a/tmux-sessionizer -+++ b/tmux-sessionizer -@@ -22,7 +22,7 @@ hydrate() { - if [[ $# -eq 1 ]]; then - selected=$1 - else -- selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME/||" | fzf) -+ selected=$(find $(eval echo $(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")) -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME/||" | sort | fzf) - fi - - if [[ -z $selected ]]; then From 4e963797171d9544286cb1e8fc5c84aec38ca47d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 7 Jul 2025 23:53:04 +0100 Subject: [PATCH 1958/2258] Re-sort directories alphabetically PR submitted upstream: https://github.com/ThePrimeagen/tmux-sessionizer/pull/23. --- pkgs/tmux-sessionizer/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index 07077e99..89d13812 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -25,5 +25,11 @@ stdenv.mkDerivation { chmod +x $out/bin/tmux-sessionizer ''; - # TODO: create another patch to sort results. + patches = [ + (fetchpatch { + name = "Sort directories alphabetically #23"; + sha256 = "sha256-+YvXIV3VLdxzIDPYCNaJDHLxUxWuInnNNdS3VrqTpIs="; + url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; + }) + ]; } From ff4d3cd026d1e88857363e70475189c1777a9adc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 8 Jul 2025 13:40:27 +0100 Subject: [PATCH 1959/2258] flake update --- flake.lock | 78 ++++++++++++++++++++---------------------------------- 1 file changed, 28 insertions(+), 50 deletions(-) diff --git a/flake.lock b/flake.lock index a208c795..ccc90d6b 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1750903843, - "narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=", + "lastModified": 1751854533, + "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", "owner": "nix-community", "repo": "disko", - "rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae", + "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", "type": "github" }, "original": { @@ -87,11 +87,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1751336185, - "narHash": "sha256-ptnVr2x+sl7cZcTuGx/0BOE2qCAIYHTcgfA+/h60ml0=", + "lastModified": 1751824240, + "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=", "owner": "nix-community", "repo": "home-manager", - "rev": "96354906f58464605ff81d2f6c2ea23211cbf051", + "rev": "fd9e55f5fac45a26f6169310afca64d56b681935", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750837715, - "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", + "lastModified": 1751432711, + "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", + "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1751048012, - "narHash": "sha256-MYbotu4UjWpTsq01wglhN5xDRfZYLFtNk7SBY0BcjkU=", + "lastModified": 1751274312, + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a684c58d46ebbede49f280b653b9e56100aa3877", + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1751144320, - "narHash": "sha256-KJsKiGfkfXFB23V26NQ1p+UPsexI6NKtivnrwSlWWdQ=", + "lastModified": 1751904655, + "narHash": "sha256-lHAj9Xh/vBf3cXns1wN5HPw/zwGTO/Uv/ttloBok1n4=", "owner": "nix-community", "repo": "nixvim", - "rev": "ceb52aece5d571b37096945c2815604195a04eb4", + "rev": "bc997a240953bda9fa526e8a3d6f798a6072308a", "type": "github" }, "original": { @@ -351,15 +351,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_4", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1751345783, - "narHash": "sha256-83GecBM/Tli7m+tr47S8pKLcAz2HihbXaVRosQiEKSg=", + "lastModified": 1751971988, + "narHash": "sha256-dpnTiwJ/hf+aPyIbzv+sHrtLyNYV61O2vRK1mdsAwOY=", "owner": "nix-community", "repo": "NUR", - "rev": "50fd93fb7d46e97b5dc30909754f597c2b703a29", + "rev": "ba54ff832df087e89d6244c0e42aef958a18cd3d", "type": "github" }, "original": { @@ -448,27 +447,6 @@ "repo": "default", "type": "github" } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } } }, "root": "root", From 288bc80f1ea6d2b51ff894b8738f1b38fd87f11a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 8 Jul 2025 13:42:12 +0100 Subject: [PATCH 1960/2258] nur follows nixpkgs --- flake.lock | 20 +++----------------- flake.nix | 1 + 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index ccc90d6b..ba65ff33 100644 --- a/flake.lock +++ b/flake.lock @@ -309,22 +309,6 @@ "type": "github" } }, - "nixpkgs_4": { - "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "flake-parts": "flake-parts", @@ -351,7 +335,9 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_4" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1751971988, diff --git a/flake.nix b/flake.nix index a7edbcaf..f84094ad 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,7 @@ nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nur.inputs.nixpkgs.follows = "nixpkgs"; nur.url = "github:nix-community/NUR"; }; From a93f2ecc28cbc695bc4bfd2055dcbad78edcb6e4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 8 Jul 2025 13:45:18 +0100 Subject: [PATCH 1961/2258] agenix follows nixpkgs --- flake.lock | 32 +++++++++----------------------- flake.nix | 1 + 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index ba65ff33..c0bb917c 100644 --- a/flake.lock +++ b/flake.lock @@ -4,7 +4,9 @@ "inputs": { "darwin": "darwin", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "systems": "systems" }, "locked": { @@ -228,7 +230,7 @@ "nixos-wsl": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1749574455, @@ -247,16 +249,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745391562, - "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", + "lastModified": 1749173751, + "narHash": "sha256-ENY3y3v6S9ZmLDDLI3LUT8MXmfXg/fSt2eA4GCnMVCE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", + "rev": "ed29f002b6d6e5e7e32590deb065c34a31dc3e91", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -278,22 +280,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1749173751, - "narHash": "sha256-ENY3y3v6S9ZmLDDLI3LUT8MXmfXg/fSt2eA4GCnMVCE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ed29f002b6d6e5e7e32590deb065c34a31dc3e91", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1751792365, "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", @@ -383,7 +369,7 @@ "home-manager": "home-manager_2", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "nur": "nur" diff --git a/flake.nix b/flake.nix index f84094ad..c0406355 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,6 @@ { inputs = { + agenix.inputs.nixpkgs.follows = "nixpkgs"; agenix.url = "github:ryantm/agenix"; disko.inputs.nixpkgs.follows = "nixpkgs"; From 099bef6fa98e473da2b827d4f1b0453a76657296 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 8 Jul 2025 22:55:13 +0100 Subject: [PATCH 1962/2258] Add tmux-resurrect Restore tmux environment after system restart. https://github.com/tmux-plugins/tmux-resurrect --- modules/home-manager/cli/tmux.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix index fb12514b..e537a459 100644 --- a/modules/home-manager/cli/tmux.nix +++ b/modules/home-manager/cli/tmux.nix @@ -89,6 +89,7 @@ in ''; plugins = with pkgs.tmuxPlugins; [ + resurrect vim-tmux-navigator yank ]; From 17146923b4c4cab0d473a87f823cdaca0cf1e5e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 8 Jul 2025 22:57:06 +0100 Subject: [PATCH 1963/2258] Remove vim-tmux-navigator --- modules/home-manager/cli/tmux.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix index e537a459..5956ad4d 100644 --- a/modules/home-manager/cli/tmux.nix +++ b/modules/home-manager/cli/tmux.nix @@ -90,7 +90,6 @@ in plugins = with pkgs.tmuxPlugins; [ resurrect - vim-tmux-navigator yank ]; }; From c134aaeb1bdebc1c5377a76cc044c2799aa88dfb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 00:23:48 +0100 Subject: [PATCH 1964/2258] Refactor to flake-parts --- flake.lock | 25 ++- flake.nix | 191 +++++++++--------- modules/home-manager/cli/sxhkd.nix | 3 +- modules/home-manager/cli/tmux-sessionizer.nix | 1 + 4 files changed, 122 insertions(+), 98 deletions(-) diff --git a/flake.lock b/flake.lock index c0bb917c..1532f650 100644 --- a/flake.lock +++ b/flake.lock @@ -83,10 +83,7 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": [ - "nixvim", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { "lastModified": 1751413152, @@ -263,6 +260,21 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1751159883, + "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1751274312, @@ -297,7 +309,9 @@ }, "nixvim": { "inputs": { - "flake-parts": "flake-parts", + "flake-parts": [ + "flake-parts" + ], "nixpkgs": [ "nixpkgs" ], @@ -366,6 +380,7 @@ "inputs": { "agenix": "agenix", "disko": "disko", + "flake-parts": "flake-parts", "home-manager": "home-manager_2", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", diff --git a/flake.nix b/flake.nix index c0406355..4117914a 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,8 @@ disko.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko"; + flake-parts.url = "github:hercules-ci/flake-parts"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager/master"; @@ -13,6 +15,7 @@ nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + nixvim.inputs.flake-parts.follows = "flake-parts"; nixvim.inputs.nixpkgs.follows = "nixpkgs"; nixvim.url = "github:nix-community/nixvim"; @@ -24,114 +27,118 @@ }; outputs = - { nixpkgs, self, ... }@inputs: - let - inherit (self) outputs; + inputs@{ + flake-parts, + nixpkgs, + self, + ... + }: + flake-parts.lib.mkFlake { inherit inputs; } { + flake = + let + inherit (self) outputs; - system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; + specialArgs = { + inherit inputs outputs self; - username = "opdavies"; + system = "x86_64-linux"; + username = "opdavies"; + }; + in + { + homeManagerModules.default = import ./modules/home-manager; - specialArgs = { - inherit - inputs - outputs - self - system - username - ; - }; + nixosConfigurations = { + lemp11 = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/lemp11/configuration.nix + ]; - inherit (pkgs) mkShell; + specialArgs = specialArgs // { + hostname = "lemp11"; + stateVersion = "22.11"; + }; + }; - nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { - inherit pkgs; + nixedo = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/nixedo/configuration.nix + ]; - module = import ./modules/home-manager/coding/neovim/config; - }; - in - { - devShells.${system}.default = pkgs.mkShell { - packages = with pkgs; [ - just - lua-language-server - lua54Packages.luacheck - nixd - ]; - }; + specialArgs = specialArgs // { + hostname = "nixedo"; + stateVersion = "24.11"; + }; + }; - packages.${system} = { - inherit nixvim; + t480 = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/t480/configuration.nix + ]; - default = mkShell { buildInputs = with pkgs; [ just ]; }; - }; + specialArgs = specialArgs // { + hostname = "t480"; + stateVersion = "22.11"; + }; + }; - formatter.${system} = pkgs.nixfmt-rfc-style; + t490 = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/t490/configuration.nix + ]; - overlays = import ./overlays { inherit inputs; }; + specialArgs = specialArgs // { + hostname = "t490"; + stateVersion = "22.11"; + }; + }; - homeManagerModules.default = import ./modules/home-manager; + PW05CH3L = nixpkgs.lib.nixosSystem { + modules = [ + ./hosts/PW05CH3L/configuration.nix + ]; - nixosModules.default = import ./modules/nixos; + specialArgs = specialArgs // { + hostname = "PW05CH3L"; + stateVersion = "22.11"; + }; + }; + }; - nixosConfigurations = { - lemp11 = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/lemp11/configuration.nix - ]; + nixosModules.default = import ./modules/nixos; - specialArgs = specialArgs // { - hostname = "lemp11"; - stateVersion = "22.11"; + overlays = import ./overlays { inherit inputs; }; + }; + + perSystem = + { pkgs, system, ... }: + let + # TODO: refactor to use inputs' or similar. + nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { + inherit pkgs; + + module = import ./modules/home-manager/coding/neovim/config; + }; + in + { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ + just + lua-language-server + lua54Packages.luacheck + nixd + ]; + }; + + formatter = pkgs.nixfmt-rfc-style; + + packages = { + inherit nixvim; + + default = pkgs.mkShell { buildInputs = with pkgs; [ just ]; }; }; }; - nixedo = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/nixedo/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "nixedo"; - stateVersion = "24.11"; - }; - }; - - t480 = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/t480/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "t480"; - stateVersion = "22.11"; - }; - }; - - t490 = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/t490/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "t490"; - stateVersion = "22.11"; - }; - }; - - PW05CH3L = nixpkgs.lib.nixosSystem { - inherit system; - - modules = [ - ./hosts/PW05CH3L/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "PW05CH3L"; - stateVersion = "22.11"; - }; - }; - }; + systems = [ "x86_64-linux" ]; }; } diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/cli/sxhkd.nix index a70a7285..b616374d 100644 --- a/modules/home-manager/cli/sxhkd.nix +++ b/modules/home-manager/cli/sxhkd.nix @@ -19,10 +19,11 @@ in keybindings = { "{_, shift +, super +}XF86MonBrightness{Down,Up}" = "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; - "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; + "super + BackSpace" = "/home/opdavies/sysact"; "super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis"; "super + shift + i" = "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; "super + shift + p" = "${getExe pkgs.passmenu-otp} -i"; + "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; "@F3" = "${getExe pkgs.displayselect}"; "@F9" = "/home/opdavies/.local/bin/mounter"; "@F10" = "/home/opdavies/.local/bin/unmounter"; diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 9b5a8765..9d280ce4 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -58,6 +58,7 @@ in xdg.configFile."tmux-sessionizer/tmux-sessionizer.conf".text = '' TS_SEARCH_PATHS=(${builtins.concatStringsSep " " cfg.searchPaths}) + TS_SESSION_COMMANDS=(nvim .) ''; }; } From f02ace1040b5153b189ff077c37177a225e0ea48 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 01:19:25 +0100 Subject: [PATCH 1965/2258] Extract `mkNixosConfiguration` helper --- flake.nix | 74 +++++++++++++++++-------------------------------------- 1 file changed, 23 insertions(+), 51 deletions(-) diff --git a/flake.nix b/flake.nix index 4117914a..876eaf42 100644 --- a/flake.nix +++ b/flake.nix @@ -44,65 +44,37 @@ system = "x86_64-linux"; username = "opdavies"; }; + + mkNixosConfiguration = + { + hostname, + stateVersion ? "22.11", + system ? "x86_64-linux", + }: + nixpkgs.lib.nixosSystem { + inherit system; + + modules = [ ./hosts/${hostname}/configuration.nix ]; + + specialArgs = specialArgs // { + inherit hostname stateVersion system; + }; + }; in { homeManagerModules.default = import ./modules/home-manager; nixosConfigurations = { - lemp11 = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/lemp11/configuration.nix - ]; + lemp11 = mkNixosConfiguration { hostname = "lemp11"; }; - specialArgs = specialArgs // { - hostname = "lemp11"; - stateVersion = "22.11"; - }; + nixedo = mkNixosConfiguration { + hostname = "nixedo"; + stateVersion = "24.11"; }; - nixedo = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/nixedo/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "nixedo"; - stateVersion = "24.11"; - }; - }; - - t480 = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/t480/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "t480"; - stateVersion = "22.11"; - }; - }; - - t490 = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/t490/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "t490"; - stateVersion = "22.11"; - }; - }; - - PW05CH3L = nixpkgs.lib.nixosSystem { - modules = [ - ./hosts/PW05CH3L/configuration.nix - ]; - - specialArgs = specialArgs // { - hostname = "PW05CH3L"; - stateVersion = "22.11"; - }; - }; + t480 = mkNixosConfiguration { hostname = "t480"; }; + t490 = mkNixosConfiguration { hostname = "t490"; }; + PW05CH3L = mkNixosConfiguration { hostname = "PW05CH3L"; }; }; nixosModules.default = import ./modules/nixos; From 26072b5cffa41401a223d3008937a7db320f494c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 02:12:31 +0100 Subject: [PATCH 1966/2258] Extract flake modules --- flake-modules/dev-shell.nix | 14 ++++ flake-modules/formatting.nix | 7 ++ flake-modules/nixos-configurations.nix | 47 +++++++++++++ flake-modules/packages.nix | 21 ++++++ flake.nix | 91 ++++---------------------- 5 files changed, 101 insertions(+), 79 deletions(-) create mode 100644 flake-modules/dev-shell.nix create mode 100644 flake-modules/formatting.nix create mode 100644 flake-modules/nixos-configurations.nix create mode 100644 flake-modules/packages.nix diff --git a/flake-modules/dev-shell.nix b/flake-modules/dev-shell.nix new file mode 100644 index 00000000..89037018 --- /dev/null +++ b/flake-modules/dev-shell.nix @@ -0,0 +1,14 @@ +{ + perSystem = + { pkgs, ... }: + { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ + just + lua-language-server + lua54Packages.luacheck + nixd + ]; + }; + }; +} diff --git a/flake-modules/formatting.nix b/flake-modules/formatting.nix new file mode 100644 index 00000000..3c962b13 --- /dev/null +++ b/flake-modules/formatting.nix @@ -0,0 +1,7 @@ +{ + perSystem = + { pkgs, ... }: + { + formatter = pkgs.nixfmt-rfc-style; + }; +} diff --git a/flake-modules/nixos-configurations.nix b/flake-modules/nixos-configurations.nix new file mode 100644 index 00000000..2d3c949b --- /dev/null +++ b/flake-modules/nixos-configurations.nix @@ -0,0 +1,47 @@ +{ inputs, self, ... }: + +{ + flake = + let + inherit (self) outputs; + + specialArgs = { + inherit inputs outputs self; + + system = "x86_64-linux"; + username = "opdavies"; + }; + + mkNixosConfiguration = + { + hostname, + stateVersion ? "22.11", + system ? "x86_64-linux", + }: + inputs.nixpkgs.lib.nixosSystem { + inherit system; + + modules = [ "${self}/hosts/${hostname}/configuration.nix" ]; + + specialArgs = specialArgs // { + inherit hostname stateVersion system; + }; + }; + in + { + nixosConfigurations = { + lemp11 = mkNixosConfiguration { hostname = "lemp11"; }; + + nixedo = mkNixosConfiguration { + hostname = "nixedo"; + stateVersion = "24.11"; + }; + + t480 = mkNixosConfiguration { hostname = "t480"; }; + + t490 = mkNixosConfiguration { hostname = "t490"; }; + + PW05CH3L = mkNixosConfiguration { hostname = "PW05CH3L"; }; + }; + }; +} diff --git a/flake-modules/packages.nix b/flake-modules/packages.nix new file mode 100644 index 00000000..270356d7 --- /dev/null +++ b/flake-modules/packages.nix @@ -0,0 +1,21 @@ +{ inputs, self, ... }: + +{ + perSystem = + { pkgs, system, ... }: + let + # TODO: refactor to use inputs' or similar. + nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { + inherit pkgs; + + module = import "${self}/modules/home-manager/coding/neovim/config"; + }; + in + { + packages = { + inherit nixvim; + + default = pkgs.mkShell { buildInputs = with pkgs; [ just ]; }; + }; + }; +} diff --git a/flake.nix b/flake.nix index 876eaf42..5f2bf7af 100644 --- a/flake.nix +++ b/flake.nix @@ -27,89 +27,22 @@ }; outputs = - inputs@{ - flake-parts, - nixpkgs, - self, - ... - }: + inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { - flake = - let - inherit (self) outputs; + flake = { + homeManagerModules.default = import ./modules/home-manager; - specialArgs = { - inherit inputs outputs self; + nixosModules.default = import ./modules/nixos; - system = "x86_64-linux"; - username = "opdavies"; - }; + overlays = import ./overlays { inherit inputs; }; + }; - mkNixosConfiguration = - { - hostname, - stateVersion ? "22.11", - system ? "x86_64-linux", - }: - nixpkgs.lib.nixosSystem { - inherit system; - - modules = [ ./hosts/${hostname}/configuration.nix ]; - - specialArgs = specialArgs // { - inherit hostname stateVersion system; - }; - }; - in - { - homeManagerModules.default = import ./modules/home-manager; - - nixosConfigurations = { - lemp11 = mkNixosConfiguration { hostname = "lemp11"; }; - - nixedo = mkNixosConfiguration { - hostname = "nixedo"; - stateVersion = "24.11"; - }; - - t480 = mkNixosConfiguration { hostname = "t480"; }; - t490 = mkNixosConfiguration { hostname = "t490"; }; - PW05CH3L = mkNixosConfiguration { hostname = "PW05CH3L"; }; - }; - - nixosModules.default = import ./modules/nixos; - - overlays = import ./overlays { inherit inputs; }; - }; - - perSystem = - { pkgs, system, ... }: - let - # TODO: refactor to use inputs' or similar. - nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { - inherit pkgs; - - module = import ./modules/home-manager/coding/neovim/config; - }; - in - { - devShells.default = pkgs.mkShell { - packages = with pkgs; [ - just - lua-language-server - lua54Packages.luacheck - nixd - ]; - }; - - formatter = pkgs.nixfmt-rfc-style; - - packages = { - inherit nixvim; - - default = pkgs.mkShell { buildInputs = with pkgs; [ just ]; }; - }; - }; + imports = [ + ./flake-modules/dev-shell.nix + ./flake-modules/formatting.nix + ./flake-modules/nixos-configurations.nix + ./flake-modules/packages.nix + ]; systems = [ "x86_64-linux" ]; }; From 93566f658c829d8a513f39c0c5eda6d2cc222100 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 06:48:20 +0100 Subject: [PATCH 1967/2258] Refactor --- flake-modules/packages.nix | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/flake-modules/packages.nix b/flake-modules/packages.nix index 270356d7..71959579 100644 --- a/flake-modules/packages.nix +++ b/flake-modules/packages.nix @@ -1,21 +1,17 @@ -{ inputs, self, ... }: +{ self, ... }: { perSystem = - { pkgs, system, ... }: - let - # TODO: refactor to use inputs' or similar. - nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { - inherit pkgs; - - module = import "${self}/modules/home-manager/coding/neovim/config"; - }; - in + { inputs', pkgs, ... }: { packages = { - inherit nixvim; - default = pkgs.mkShell { buildInputs = with pkgs; [ just ]; }; + + nixvim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { + inherit pkgs; + + module = import "${self}/modules/home-manager/coding/neovim/config"; + }; }; }; } From 5227e82c15540c7a11bf18db3c6e064874a8b8b1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 06:50:07 +0100 Subject: [PATCH 1968/2258] Refactor --- flake.nix | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/flake.nix b/flake.nix index 5f2bf7af..f7d6663e 100644 --- a/flake.nix +++ b/flake.nix @@ -1,29 +1,40 @@ { inputs = { - agenix.inputs.nixpkgs.follows = "nixpkgs"; - agenix.url = "github:ryantm/agenix"; + agenix = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:ryantm/agenix"; + }; - disko.inputs.nixpkgs.follows = "nixpkgs"; - disko.url = "github:nix-community/disko"; + disko = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/disko"; + }; flake-parts.url = "github:hercules-ci/flake-parts"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; + home-manager = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/home-manager/master"; + }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - nixvim.inputs.flake-parts.follows = "flake-parts"; - nixvim.inputs.nixpkgs.follows = "nixpkgs"; - nixvim.url = "github:nix-community/nixvim"; + nixvim = { + inputs.flake-parts.follows = "flake-parts"; + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/nixvim"; + }; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nur.inputs.nixpkgs.follows = "nixpkgs"; - nur.url = "github:nix-community/NUR"; + nur = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/NUR"; + }; }; outputs = From d18476da73035736f15e919b6b78c78d69bf3dda Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 06:54:21 +0100 Subject: [PATCH 1969/2258] Refactor --- overlays/default.nix | 2 +- {pkgs => packages}/backup-websites.nix | 0 {pkgs => packages}/build-glove80.nix | 0 {pkgs => packages}/default.nix | 0 {pkgs => packages}/dev-commit.nix | 0 {pkgs => packages}/displayselect/default.nix | 0 {pkgs => packages}/displayselect/scaling.patch | 0 {pkgs => packages}/notes/change-filename-format.patch | 0 {pkgs => packages}/notes/default.nix | 0 {pkgs => packages}/passmenu-otp.nix | 0 {pkgs => packages}/tmux-sessionizer/default.nix | 0 {pkgs => packages}/todos/todos-add.nix | 0 {pkgs => packages}/todos/todos-edit.nix | 0 {pkgs => packages}/upload-to-files.nix | 0 {pkgs => packages}/vim-plugins/default.nix | 0 {pkgs => packages}/vim-plugins/vim-plugins.json | 0 16 files changed, 1 insertion(+), 1 deletion(-) rename {pkgs => packages}/backup-websites.nix (100%) rename {pkgs => packages}/build-glove80.nix (100%) rename {pkgs => packages}/default.nix (100%) rename {pkgs => packages}/dev-commit.nix (100%) rename {pkgs => packages}/displayselect/default.nix (100%) rename {pkgs => packages}/displayselect/scaling.patch (100%) rename {pkgs => packages}/notes/change-filename-format.patch (100%) rename {pkgs => packages}/notes/default.nix (100%) rename {pkgs => packages}/passmenu-otp.nix (100%) rename {pkgs => packages}/tmux-sessionizer/default.nix (100%) rename {pkgs => packages}/todos/todos-add.nix (100%) rename {pkgs => packages}/todos/todos-edit.nix (100%) rename {pkgs => packages}/upload-to-files.nix (100%) rename {pkgs => packages}/vim-plugins/default.nix (100%) rename {pkgs => packages}/vim-plugins/vim-plugins.json (100%) diff --git a/overlays/default.nix b/overlays/default.nix index 07f3a2ac..7c05e28e 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -3,7 +3,7 @@ { additions = final: prev: - import ../pkgs { + import ../packages { inherit prev; pkgs = final; diff --git a/pkgs/backup-websites.nix b/packages/backup-websites.nix similarity index 100% rename from pkgs/backup-websites.nix rename to packages/backup-websites.nix diff --git a/pkgs/build-glove80.nix b/packages/build-glove80.nix similarity index 100% rename from pkgs/build-glove80.nix rename to packages/build-glove80.nix diff --git a/pkgs/default.nix b/packages/default.nix similarity index 100% rename from pkgs/default.nix rename to packages/default.nix diff --git a/pkgs/dev-commit.nix b/packages/dev-commit.nix similarity index 100% rename from pkgs/dev-commit.nix rename to packages/dev-commit.nix diff --git a/pkgs/displayselect/default.nix b/packages/displayselect/default.nix similarity index 100% rename from pkgs/displayselect/default.nix rename to packages/displayselect/default.nix diff --git a/pkgs/displayselect/scaling.patch b/packages/displayselect/scaling.patch similarity index 100% rename from pkgs/displayselect/scaling.patch rename to packages/displayselect/scaling.patch diff --git a/pkgs/notes/change-filename-format.patch b/packages/notes/change-filename-format.patch similarity index 100% rename from pkgs/notes/change-filename-format.patch rename to packages/notes/change-filename-format.patch diff --git a/pkgs/notes/default.nix b/packages/notes/default.nix similarity index 100% rename from pkgs/notes/default.nix rename to packages/notes/default.nix diff --git a/pkgs/passmenu-otp.nix b/packages/passmenu-otp.nix similarity index 100% rename from pkgs/passmenu-otp.nix rename to packages/passmenu-otp.nix diff --git a/pkgs/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix similarity index 100% rename from pkgs/tmux-sessionizer/default.nix rename to packages/tmux-sessionizer/default.nix diff --git a/pkgs/todos/todos-add.nix b/packages/todos/todos-add.nix similarity index 100% rename from pkgs/todos/todos-add.nix rename to packages/todos/todos-add.nix diff --git a/pkgs/todos/todos-edit.nix b/packages/todos/todos-edit.nix similarity index 100% rename from pkgs/todos/todos-edit.nix rename to packages/todos/todos-edit.nix diff --git a/pkgs/upload-to-files.nix b/packages/upload-to-files.nix similarity index 100% rename from pkgs/upload-to-files.nix rename to packages/upload-to-files.nix diff --git a/pkgs/vim-plugins/default.nix b/packages/vim-plugins/default.nix similarity index 100% rename from pkgs/vim-plugins/default.nix rename to packages/vim-plugins/default.nix diff --git a/pkgs/vim-plugins/vim-plugins.json b/packages/vim-plugins/vim-plugins.json similarity index 100% rename from pkgs/vim-plugins/vim-plugins.json rename to packages/vim-plugins/vim-plugins.json From 72decc18feddd87e37332bd5ed64442099ecc574 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 06:59:19 +0100 Subject: [PATCH 1970/2258] Refactor --- {home => home-manager}/common/default.nix | 0 {home => home-manager}/opdavies/PW05CH3L.nix | 0 {home => home-manager}/opdavies/lemp11.nix | 0 {home => home-manager}/opdavies/nixedo.nix | 0 {home => home-manager}/opdavies/nixedo/email-filters.nix | 0 {home => home-manager}/opdavies/t480.nix | 0 {home => home-manager}/opdavies/t480/gammastep.nix | 0 {home => home-manager}/opdavies/t490.nix | 0 hosts/common/users/opdavies.nix | 4 ++-- 9 files changed, 2 insertions(+), 2 deletions(-) rename {home => home-manager}/common/default.nix (100%) rename {home => home-manager}/opdavies/PW05CH3L.nix (100%) rename {home => home-manager}/opdavies/lemp11.nix (100%) rename {home => home-manager}/opdavies/nixedo.nix (100%) rename {home => home-manager}/opdavies/nixedo/email-filters.nix (100%) rename {home => home-manager}/opdavies/t480.nix (100%) rename {home => home-manager}/opdavies/t480/gammastep.nix (100%) rename {home => home-manager}/opdavies/t490.nix (100%) diff --git a/home/common/default.nix b/home-manager/common/default.nix similarity index 100% rename from home/common/default.nix rename to home-manager/common/default.nix diff --git a/home/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix similarity index 100% rename from home/opdavies/PW05CH3L.nix rename to home-manager/opdavies/PW05CH3L.nix diff --git a/home/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix similarity index 100% rename from home/opdavies/lemp11.nix rename to home-manager/opdavies/lemp11.nix diff --git a/home/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix similarity index 100% rename from home/opdavies/nixedo.nix rename to home-manager/opdavies/nixedo.nix diff --git a/home/opdavies/nixedo/email-filters.nix b/home-manager/opdavies/nixedo/email-filters.nix similarity index 100% rename from home/opdavies/nixedo/email-filters.nix rename to home-manager/opdavies/nixedo/email-filters.nix diff --git a/home/opdavies/t480.nix b/home-manager/opdavies/t480.nix similarity index 100% rename from home/opdavies/t480.nix rename to home-manager/opdavies/t480.nix diff --git a/home/opdavies/t480/gammastep.nix b/home-manager/opdavies/t480/gammastep.nix similarity index 100% rename from home/opdavies/t480/gammastep.nix rename to home-manager/opdavies/t480/gammastep.nix diff --git a/home/opdavies/t490.nix b/home-manager/opdavies/t490.nix similarity index 100% rename from home/opdavies/t490.nix rename to home-manager/opdavies/t490.nix diff --git a/hosts/common/users/opdavies.nix b/hosts/common/users/opdavies.nix index 556baaca..3842a813 100644 --- a/hosts/common/users/opdavies.nix +++ b/hosts/common/users/opdavies.nix @@ -1,7 +1,7 @@ -{ config, ... }: +{ config, self, ... }: { users.users.opdavies = { }; - home-manager.users.opdavies = import ../../../home/opdavies/${config.networking.hostName}.nix; + home-manager.users.opdavies = import "${self}/home-manager/opdavies/${config.networking.hostName}.nix"; } From 27b66a9ff060138fe8c0448762cc34ccd7a877da Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 07:50:57 +0100 Subject: [PATCH 1971/2258] Rename nixvim package to neovim --- flake-modules/packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake-modules/packages.nix b/flake-modules/packages.nix index 71959579..8eb4c3b8 100644 --- a/flake-modules/packages.nix +++ b/flake-modules/packages.nix @@ -7,7 +7,7 @@ packages = { default = pkgs.mkShell { buildInputs = with pkgs; [ just ]; }; - nixvim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { + neovim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { inherit pkgs; module = import "${self}/modules/home-manager/coding/neovim/config"; From b69bc249bc18c9fc12cc35f7c1b18b57eec861b7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 07:56:54 +0100 Subject: [PATCH 1972/2258] Add notes.txt --- notes.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 notes.txt diff --git a/notes.txt b/notes.txt new file mode 100644 index 00000000..26f5fac2 --- /dev/null +++ b/notes.txt @@ -0,0 +1,4 @@ +Running Neovim as a package: + +nix run .#neovim +nix run git+https://code.oliverdavies.uk/opdavies/nix-config#neovim From 7b3ab110482d647ae377387f9a2dfe019eb91a5e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 08:00:00 +0100 Subject: [PATCH 1973/2258] Update patch to sort directories --- packages/tmux-sessionizer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix index 89d13812..4a586220 100644 --- a/packages/tmux-sessionizer/default.nix +++ b/packages/tmux-sessionizer/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { patches = [ (fetchpatch { name = "Sort directories alphabetically #23"; - sha256 = "sha256-+YvXIV3VLdxzIDPYCNaJDHLxUxWuInnNNdS3VrqTpIs="; + sha256 = "sha256-/5ob/cVieu/qq0keFOJy2sq0NNdbUiy9k2a8/6ydju4="; url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; }) ]; From b66a493ed9673fb0777967d63d7d4df181caf255 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 08:00:00 +0100 Subject: [PATCH 1974/2258] Update search paths Using the `path:number` format defines both the path and search depth. --- home-manager/opdavies/PW05CH3L.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 6cc66307..5b6b7f2d 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -23,16 +23,10 @@ tmux-sessionizer = { enable = true; - searchPaths = - let - inherit (config.xdg.userDirs) documents extraConfig; - - repos = extraConfig.XDG_REPOS_DIR; - in - [ - repos - documents - ]; + searchPaths = [ + "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${config.xdg.userDirs.documents}:1" + ]; }; todos.enable = true; From 34cb9db3d48696a954e8f28c36edb83b7798a468 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 08:00:00 +0100 Subject: [PATCH 1975/2258] Remove unused argument --- home-manager/opdavies/PW05CH3L.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 5b6b7f2d..7d6f73da 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -1,4 +1,4 @@ -{ config, options, ... }: +{ config, ... }: { imports = [ ../common ]; From 45433358ffd5a6fb18039d7f32a4b09145e39cbf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 08:00:00 +0100 Subject: [PATCH 1976/2258] Re-add the `features` config prefix --- home-manager/opdavies/PW05CH3L.nix | 58 ++++---- home-manager/opdavies/lemp11.nix | 12 +- home-manager/opdavies/nixedo.nix | 2 +- home-manager/opdavies/t480.nix | 130 +++++++++--------- hosts/PW05CH3L/configuration.nix | 16 ++- hosts/lemp11/configuration.nix | 12 +- hosts/nixedo/configuration.nix | 8 +- hosts/t480/configuration.nix | 62 +++++---- hosts/t490/configuration.nix | 12 +- modules/home-manager/cli/bluetuith.nix | 4 +- modules/home-manager/cli/bookmarkthis.nix | 4 +- modules/home-manager/cli/direnv.nix | 4 +- modules/home-manager/cli/fzf.nix | 4 +- modules/home-manager/cli/git.nix | 4 +- modules/home-manager/cli/node.nix | 4 +- modules/home-manager/cli/notes.nix | 4 +- modules/home-manager/cli/ranger.nix | 4 +- modules/home-manager/cli/starship.nix | 4 +- modules/home-manager/cli/sxhkd.nix | 4 +- modules/home-manager/cli/tmux-sessionizer.nix | 4 +- modules/home-manager/cli/tmux.nix | 4 +- modules/home-manager/cli/todos.nix | 4 +- modules/home-manager/cli/zsh/default.nix | 4 +- .../home-manager/coding/neovim/default.nix | 4 +- .../home-manager/coding/phpactor/default.nix | 4 +- .../desktop/browsers/chromium.nix | 4 +- .../home-manager/desktop/browsers/firefox.nix | 4 +- .../desktop/browsers/qutebrowser.nix | 4 +- modules/home-manager/desktop/flameshot.nix | 4 +- modules/home-manager/desktop/gtk.nix | 4 +- .../home-manager/desktop/media/handbrake.nix | 4 +- .../home-manager/desktop/media/makemkv.nix | 4 +- modules/home-manager/desktop/media/mpv.nix | 4 +- modules/home-manager/desktop/redshift.nix | 4 +- modules/nixos/cli/docker.nix | 4 +- modules/nixos/cli/kanata.nix | 4 +- modules/nixos/cli/password-store.nix | 4 +- modules/nixos/cli/podman.nix | 4 +- modules/nixos/core/bluetooth.nix | 4 +- modules/nixos/core/openssh.nix | 4 +- modules/nixos/core/pipewire.nix | 4 +- modules/nixos/core/xbanish.nix | 4 +- modules/nixos/core/zram.nix | 4 +- modules/nixos/desktop/dconf.nix | 4 +- modules/nixos/desktop/dwm/default.nix | 4 +- modules/nixos/desktop/fonts.nix | 4 +- modules/nixos/desktop/media/makemkv.nix | 4 +- modules/nixos/desktop/st.nix | 4 +- modules/nixos/desktop/thunar.nix | 4 +- users/opdavies.nix | 4 +- 50 files changed, 245 insertions(+), 231 deletions(-) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 7d6f73da..13391dcd 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -3,39 +3,41 @@ { imports = [ ../common ]; - cli = { - bookmarkthis.enable = true; - direnv.enable = true; - fzf.enable = true; + features = { + cli = { + bookmarkthis.enable = true; + direnv.enable = true; + fzf.enable = true; - git = { - enable = true; + git = { + enable = true; - user.emailAddress = "oliver.davies@tfw.wales"; + user.emailAddress = "oliver.davies@tfw.wales"; + }; + + node.enable = true; + notes.enable = true; + ranger.enable = true; + starship.enable = true; + tmux.enable = true; + + tmux-sessionizer = { + enable = true; + + searchPaths = [ + "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${config.xdg.userDirs.documents}:1" + ]; + }; + + todos.enable = true; + zsh.enable = true; }; - node.enable = true; - notes.enable = true; - ranger.enable = true; - starship.enable = true; - tmux.enable = true; - - tmux-sessionizer = { - enable = true; - - searchPaths = [ - "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}:2" - "${config.xdg.userDirs.documents}:1" - ]; + coding = { + neovim.enable = true; + phpactor.enable = true; }; - - todos.enable = true; - zsh.enable = true; - }; - - coding = { - neovim.enable = true; - phpactor.enable = true; }; xdg.configFile."pam-gnupg".text = '' diff --git a/home-manager/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix index 925d863d..1917a2db 100644 --- a/home-manager/opdavies/lemp11.nix +++ b/home-manager/opdavies/lemp11.nix @@ -1,11 +1,13 @@ { imports = [ ../common ]; - cli.zsh.enable = true; + features = { + cli.zsh.enable = true; - desktop.media = { - handbrake.enable = true; - makemkv.enable = true; - mpv.enable = true; + desktop.media = { + handbrake.enable = true; + makemkv.enable = true; + mpv.enable = true; + }; }; } diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 4468439b..8c735ce7 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -5,7 +5,7 @@ ./nixedo/email-filters.nix ]; - cli = { + features.cli = { fzf.enable = true; starship.enable = true; zsh.enable = true; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index db6f707c..60e9a725 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -6,80 +6,80 @@ ./t480/gammastep.nix ]; - cli = { - bluetuith.enable = true; - bookmarkthis.enable = true; - direnv.enable = true; - fzf.enable = true; + features = { + cli = { + bluetuith.enable = true; + bookmarkthis.enable = true; + direnv.enable = true; + fzf.enable = true; - git = { - enable = true; - - user.emailAddress = "oliver@oliverdavies.uk"; - }; - - node.enable = true; - - notes = { - enable = true; - - directory = "${config.xdg.userDirs.documents}/wiki/notes"; - }; - - ranger.enable = true; - sxhkd.enable = true; - starship.enable = true; - tmux.enable = true; - - tmux-sessionizer = { - enable = true; - enableDmenuIntegration = true; - - searchPaths = - let - inherit (config.xdg.userDirs) documents extraConfig; - - repos = extraConfig.XDG_REPOS_DIR; - in - [ - repos - "${repos}/*" - documents - ]; - }; - - todos.enable = true; - zsh.enable = true; - }; - - coding = { - neovim.enable = true; - phpactor.enable = true; - }; - - desktop = { - browsers = { - chromium.enable = true; - - firefox = { + git = { enable = true; - homepageUrl = "https://nixedo.oliverdavies.uk"; + user.emailAddress = "oliver@oliverdavies.uk"; }; - qutebrowser.enable = true; + node.enable = true; + + notes = { + enable = true; + + directory = "${config.xdg.userDirs.documents}/wiki/notes"; + }; + + ranger.enable = true; + sxhkd.enable = true; + starship.enable = true; + tmux.enable = true; + + tmux-sessionizer = { + enable = true; + enableDmenuIntegration = true; + + searchPaths = + let + inherit (config.xdg.userDirs) documents extraConfig; + + repos = extraConfig.XDG_REPOS_DIR; + in + [ + repos + "${repos}/*" + documents + ]; + }; + + todos.enable = true; + zsh.enable = true; }; - flameshot.enable = true; - gtk.enable = true; - - media = { - handbrake.enable = true; - makemkv.enable = true; - mpv.enable = true; + coding = { + neovim.enable = true; + phpactor.enable = true; }; - # redshift.enable = true; + desktop = { + browsers = { + chromium.enable = true; + + firefox = { + enable = true; + + homepageUrl = "https://nixedo.oliverdavies.uk"; + }; + + qutebrowser.enable = true; + }; + + flameshot.enable = true; + gtk.enable = true; + + media = { + handbrake.enable = true; + makemkv.enable = true; + mpv.enable = true; + }; + }; }; programs = { diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index a6c1b52b..7d0d8495 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -11,15 +11,17 @@ ../../users/opdavies.nix ]; - cli = { - docker.enable = true; + features = { + cli = { + docker.enable = true; - password-store = { - enable = true; + password-store = { + enable = true; - extensions = with pkgs.passExtensions; [ - pass-otp - ]; + extensions = with pkgs.passExtensions; [ + pass-otp + ]; + }; }; }; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 88336c16..5c2d84b6 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -18,12 +18,14 @@ ../../users/eric.nix ]; - core = { - bluetooth.enable = true; - zram.enable = true; - }; + features = { + core = { + bluetooth.enable = true; + zram.enable = true; + }; - desktop.media.makemkv.enable = true; + desktop.media.makemkv.enable = true; + }; nixpad.enable = true; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 8395b58b..b3bc1280 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -19,9 +19,11 @@ ../../users/opdavies.nix ]; - core.openssh.enable = true; - cli.podman.enable = true; - desktop.dconf.enable = true; + features = { + core.openssh.enable = true; + cli.podman.enable = true; + desktop.dconf.enable = true; + }; # TODO: why didn't it work when adding this to jitsi.nix? nixpkgs.config.permittedInsecurePackages = [ diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 1ba019f5..d8dedcd1 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -19,41 +19,43 @@ ../../users/opdavies.nix ]; - cli = { - kanata = { - enable = true; + features = { + cli = { + kanata = { + enable = true; - devices = [ - "/dev/input/by-path/platform-i8042-serio-0-event-kbd" - ]; + devices = [ + "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + ]; + }; + + password-store = { + enable = true; + + extensions = with pkgs.passExtensions; [ + pass-audit + pass-otp + pass-update + ]; + }; }; - password-store = { - enable = true; - - extensions = with pkgs.passExtensions; [ - pass-audit - pass-otp - pass-update - ]; + core = { + bluetooth.enable = true; + openssh.enable = true; + pipewire.enable = true; + xbanish.enable = true; + zram.enable = true; }; - }; - core = { - bluetooth.enable = true; - openssh.enable = true; - pipewire.enable = true; - xbanish.enable = true; - zram.enable = true; - }; - - desktop = { - dconf.enable = true; - dwm.enable = true; - fonts.enable = true; - media.makemkv.enable = true; - st.enable = true; - thunar.enable = true; + desktop = { + dconf.enable = true; + dwm.enable = true; + fonts.enable = true; + media.makemkv.enable = true; + st.enable = true; + thunar.enable = true; + }; }; services = { diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index fee2d4f1..873e0a07 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -16,12 +16,14 @@ ../../users/opdavies.nix ]; - core = { - bluetooth.enable = true; - zram.enable = true; - }; + features = { + core = { + bluetooth.enable = true; + zram.enable = true; + }; - desktop.dconf.enable = true; + desktop.dconf.enable = true; + }; nixpad.enable = true; diff --git a/modules/home-manager/cli/bluetuith.nix b/modules/home-manager/cli/bluetuith.nix index b699183f..fff34766 100644 --- a/modules/home-manager/cli/bluetuith.nix +++ b/modules/home-manager/cli/bluetuith.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.bluetuith; + cfg = config.features.cli.bluetuith; in { - options.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/cli/bookmarkthis.nix b/modules/home-manager/cli/bookmarkthis.nix index f312198e..286fd599 100644 --- a/modules/home-manager/cli/bookmarkthis.nix +++ b/modules/home-manager/cli/bookmarkthis.nix @@ -8,11 +8,11 @@ let inherit (lib) mkEnableOption mkOption; - cfg = config.cli.${name}; + cfg = config.features.cli.${name}; name = "bookmarkthis"; in { - options.cli.${name} = { + options.features.cli.${name} = { enable = mkEnableOption "Enable ${name}"; snippetsFile = mkOption { diff --git a/modules/home-manager/cli/direnv.nix b/modules/home-manager/cli/direnv.nix index 875e27c3..7c8d924b 100644 --- a/modules/home-manager/cli/direnv.nix +++ b/modules/home-manager/cli/direnv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.cli.direnv; + cfg = config.features.cli.direnv; in { - options.cli.direnv.enable = mkEnableOption "Enable direnv"; + options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; config = mkIf cfg.enable { programs.direnv = { diff --git a/modules/home-manager/cli/fzf.nix b/modules/home-manager/cli/fzf.nix index 2abbe2a1..aae36ec1 100644 --- a/modules/home-manager/cli/fzf.nix +++ b/modules/home-manager/cli/fzf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.cli.fzf; + cfg = config.features.cli.fzf; in { - options.cli.fzf.enable = mkEnableOption "Enable fzf"; + options.features.cli.fzf.enable = mkEnableOption "Enable fzf"; config = mkIf cfg.enable { programs.fzf = { diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 99a3202e..765f366a 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.git; + cfg = config.features.cli.git; in { - options.cli.git = { + options.features.cli.git = { enable = mkEnableOption "Enable git"; user = mkOption { diff --git a/modules/home-manager/cli/node.nix b/modules/home-manager/cli/node.nix index b0db6874..fba772c1 100644 --- a/modules/home-manager/cli/node.nix +++ b/modules/home-manager/cli/node.nix @@ -3,12 +3,12 @@ with lib; let - cfg = config.cli.node; + cfg = config.features.cli.node; inherit (config.xdg) configHome dataHome stateHome; in { - options.cli.node.enable = mkEnableOption "Enable node"; + options.features.cli.node.enable = mkEnableOption "Enable node"; config = mkIf cfg.enable { xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/cli/notes.nix index 2b2d7b8e..5b843c72 100644 --- a/modules/home-manager/cli/notes.nix +++ b/modules/home-manager/cli/notes.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.notes; + cfg = config.features.cli.notes; in { - options.cli.notes = { + options.features.cli.notes = { enable = mkEnableOption "Enable notes"; directory = mkOption { diff --git a/modules/home-manager/cli/ranger.nix b/modules/home-manager/cli/ranger.nix index 7a05fd57..8fdc10cb 100644 --- a/modules/home-manager/cli/ranger.nix +++ b/modules/home-manager/cli/ranger.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.cli.ranger; + cfg = config.features.cli.ranger; in { - options.cli.ranger.enable = mkEnableOption "Enable ranger"; + options.features.cli.ranger.enable = mkEnableOption "Enable ranger"; config = mkIf cfg.enable { programs.ranger.enable = true; diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix index a3673af6..57cc4f6d 100644 --- a/modules/home-manager/cli/starship.nix +++ b/modules/home-manager/cli/starship.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.cli.starship; + cfg = config.features.cli.starship; in { - options.cli.starship.enable = mkEnableOption "Enable starship"; + options.features.cli.starship.enable = mkEnableOption "Enable starship"; config = mkIf cfg.enable { programs.starship = diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/cli/sxhkd.nix index b616374d..2495ef8b 100644 --- a/modules/home-manager/cli/sxhkd.nix +++ b/modules/home-manager/cli/sxhkd.nix @@ -1,13 +1,13 @@ { config, lib, pkgs, ... }: let - cfg = config.cli.${service}; + cfg = config.features.cli.${service}; service = "sxhkd"; inherit (lib) getExe mkIf mkEnableOption; in { - options.cli.${service} = { + options.features.cli.${service} = { enable = mkEnableOption "Enable ${service}"; }; diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/cli/tmux-sessionizer.nix index 9d280ce4..242c0e08 100644 --- a/modules/home-manager/cli/tmux-sessionizer.nix +++ b/modules/home-manager/cli/tmux-sessionizer.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.tmux-sessionizer; + cfg = config.features.cli.tmux-sessionizer; in { - options.cli.tmux-sessionizer = { + options.features.cli.tmux-sessionizer = { enable = mkEnableOption "Enable tmux-sessionizer"; enableDmenuIntegration = mkEnableOption "Enable dmenu integration"; diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/cli/tmux.nix index 5956ad4d..3bc46547 100644 --- a/modules/home-manager/cli/tmux.nix +++ b/modules/home-manager/cli/tmux.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.tmux; + cfg = config.features.cli.tmux; in { - options.cli.tmux.enable = mkEnableOption "Enable tmux"; + options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; config = mkIf cfg.enable { programs.tmux = { diff --git a/modules/home-manager/cli/todos.nix b/modules/home-manager/cli/todos.nix index e55c7456..34b50c07 100644 --- a/modules/home-manager/cli/todos.nix +++ b/modules/home-manager/cli/todos.nix @@ -7,12 +7,12 @@ let name = "todos"; - cfg = config.cli.${name}; + cfg = config.features.cli.${name}; inherit (lib) mkOption types; in { - options.cli.${name} = { + options.features.cli.${name} = { enable = lib.mkEnableOption "Enable ${name}"; directory = mkOption { diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index ff44e389..ab60177c 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.zsh; + cfg = config.features.cli.zsh; in { - options.cli.zsh.enable = mkEnableOption "Enable zsh"; + options.features.cli.zsh.enable = mkEnableOption "Enable zsh"; config = mkIf cfg.enable { programs.zsh = { diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/coding/neovim/default.nix index 66dcb624..5788cada 100644 --- a/modules/home-manager/coding/neovim/default.nix +++ b/modules/home-manager/coding/neovim/default.nix @@ -8,14 +8,14 @@ with lib; let - cfg = config.coding.neovim; + cfg = config.features.coding.neovim; in { imports = [ inputs.nixvim.homeManagerModules.nixvim ]; - options.coding.neovim.enable = mkEnableOption "Enable neovim"; + options.features.coding.neovim.enable = mkEnableOption "Enable neovim"; config = mkIf cfg.enable { programs.nixvim = { diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/coding/phpactor/default.nix index 83c229be..f135b1dc 100644 --- a/modules/home-manager/coding/phpactor/default.nix +++ b/modules/home-manager/coding/phpactor/default.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.coding.phpactor; + cfg = config.features.coding.phpactor; in { - options.coding.phpactor.enable = mkEnableOption "Enable phpactor"; + options.features.coding.phpactor.enable = mkEnableOption "Enable phpactor"; config = mkIf cfg.enable { xdg.configFile.phpactor = { diff --git a/modules/home-manager/desktop/browsers/chromium.nix b/modules/home-manager/desktop/browsers/chromium.nix index 92178ffc..d5200a05 100644 --- a/modules/home-manager/desktop/browsers/chromium.nix +++ b/modules/home-manager/desktop/browsers/chromium.nix @@ -1,13 +1,13 @@ { config, lib, ... }: let - cfg = config.desktop.browsers.${name}; + cfg = config.features.desktop.browsers.${name}; name = "chromium"; inherit (lib) mkEnableOption mkIf; in { - options.desktop.browsers.${name}.enable = mkEnableOption "Enable ${name}"; + options.features.desktop.browsers.${name}.enable = mkEnableOption "Enable ${name}"; config = mkIf cfg.enable { programs.${name}.enable = true; diff --git a/modules/home-manager/desktop/browsers/firefox.nix b/modules/home-manager/desktop/browsers/firefox.nix index 4b2b7418..dbee93d6 100644 --- a/modules/home-manager/desktop/browsers/firefox.nix +++ b/modules/home-manager/desktop/browsers/firefox.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.browsers.firefox; + cfg = config.features.desktop.browsers.firefox; in { - options.desktop.browsers.firefox = { + options.features.desktop.browsers.firefox = { enable = mkEnableOption "Enable firefox"; homepageUrl = mkOption { diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix index 6f602f9c..000c00d0 100644 --- a/modules/home-manager/desktop/browsers/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.desktop.browsers.qutebrowser; + cfg = config.features.desktop.browsers.qutebrowser; in { - options.desktop.browsers.qutebrowser.enable = + options.features.desktop.browsers.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; config = mkIf cfg.enable { diff --git a/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/desktop/flameshot.nix index f8d51be9..bf0ba018 100644 --- a/modules/home-manager/desktop/flameshot.nix +++ b/modules/home-manager/desktop/flameshot.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.desktop.flameshot; + cfg = config.features.desktop.flameshot; in { - options.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; config = mkIf cfg.enable { services.flameshot = { diff --git a/modules/home-manager/desktop/gtk.nix b/modules/home-manager/desktop/gtk.nix index 84b2fefc..3f737bc7 100644 --- a/modules/home-manager/desktop/gtk.nix +++ b/modules/home-manager/desktop/gtk.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.gtk; + cfg = config.features.desktop.gtk; in { - options.desktop.gtk.enable = mkEnableOption "Enable gtk"; + options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; config = mkIf cfg.enable { gtk = with pkgs; { diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/desktop/media/handbrake.nix index 5da7514e..e9e0c65b 100644 --- a/modules/home-manager/desktop/media/handbrake.nix +++ b/modules/home-manager/desktop/media/handbrake.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.media.handbrake; + cfg = config.features.desktop.media.handbrake; in { - options.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/media/makemkv.nix b/modules/home-manager/desktop/media/makemkv.nix index 5cfa207c..01ee6c04 100644 --- a/modules/home-manager/desktop/media/makemkv.nix +++ b/modules/home-manager/desktop/media/makemkv.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.media.makemkv; + cfg = config.features.desktop.media.makemkv; in { - options.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; config = mkIf cfg.enable { home.packages = with pkgs; [ diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix index 5d0f9570..36252b52 100644 --- a/modules/home-manager/desktop/media/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.desktop.media.mpv; + cfg = config.features.desktop.media.mpv; in { - options.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; + options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; config = mkIf cfg.enable { programs.mpv = { diff --git a/modules/home-manager/desktop/redshift.nix b/modules/home-manager/desktop/redshift.nix index d9f3c529..8a864d10 100644 --- a/modules/home-manager/desktop/redshift.nix +++ b/modules/home-manager/desktop/redshift.nix @@ -1,12 +1,12 @@ { config, lib, ... }: let - cfg = config.desktop.redshift; + cfg = config.features.desktop.redshift; inherit (lib) mkEnableOption mkIf; in { - options.desktop.redshift = { + options.features.desktop.redshift = { enable = mkEnableOption "Enable redshift"; }; diff --git a/modules/nixos/cli/docker.nix b/modules/nixos/cli/docker.nix index fc27bcbe..916a7cae 100644 --- a/modules/nixos/cli/docker.nix +++ b/modules/nixos/cli/docker.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.cli.docker; + cfg = config.features.cli.docker; in { - options.cli.docker.enable = mkEnableOption "Enable docker"; + options.features.cli.docker.enable = mkEnableOption "Enable docker"; config = mkIf cfg.enable { virtualisation = { diff --git a/modules/nixos/cli/kanata.nix b/modules/nixos/cli/kanata.nix index d3e06008..394b4c6f 100644 --- a/modules/nixos/cli/kanata.nix +++ b/modules/nixos/cli/kanata.nix @@ -1,13 +1,13 @@ { config, lib, ... }: let - cfg = config.cli.${service}; + cfg = config.features.cli.${service}; service = "kanata"; inherit (lib) mkEnableOption mkIf mkOption types; in { - options.cli.${service} = { + options.features.cli.${service} = { enable = mkEnableOption "Enable ${service}"; devices = mkOption { diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/cli/password-store.nix index 362cc7dd..61331aee 100644 --- a/modules/nixos/cli/password-store.nix +++ b/modules/nixos/cli/password-store.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.cli.password-store; + cfg = config.features.cli.password-store; in { - options.cli.password-store = { + options.features.cli.password-store = { enable = mkEnableOption "Enable pass"; extensions = mkOption { diff --git a/modules/nixos/cli/podman.nix b/modules/nixos/cli/podman.nix index 5375ded5..edda7492 100644 --- a/modules/nixos/cli/podman.nix +++ b/modules/nixos/cli/podman.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.cli.podman; + cfg = config.features.cli.podman; in { - options.cli.podman.enable = mkEnableOption "Enable podman"; + options.features.cli.podman.enable = mkEnableOption "Enable podman"; config = mkIf cfg.enable { virtualisation = { diff --git a/modules/nixos/core/bluetooth.nix b/modules/nixos/core/bluetooth.nix index 4a2bfad7..dbf51398 100644 --- a/modules/nixos/core/bluetooth.nix +++ b/modules/nixos/core/bluetooth.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.core.bluetooth; + cfg = config.features.core.bluetooth; in { - options.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; + options.features.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; config = mkIf cfg.enable { hardware.bluetooth.enable = true; diff --git a/modules/nixos/core/openssh.nix b/modules/nixos/core/openssh.nix index b248ab34..3d09487e 100644 --- a/modules/nixos/core/openssh.nix +++ b/modules/nixos/core/openssh.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.core.openssh; + cfg = config.features.core.openssh; in { - options.core.openssh.enable = mkEnableOption "Enable openssh"; + options.features.core.openssh.enable = mkEnableOption "Enable openssh"; config = mkIf cfg.enable { services.openssh = { diff --git a/modules/nixos/core/pipewire.nix b/modules/nixos/core/pipewire.nix index 26e8014b..557846bd 100644 --- a/modules/nixos/core/pipewire.nix +++ b/modules/nixos/core/pipewire.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.core.pipewire; + cfg = config.features.core.pipewire; in { - options.core.pipewire.enable = mkEnableOption "Enable pipewire"; + options.features.core.pipewire.enable = mkEnableOption "Enable pipewire"; config = mkIf cfg.enable { services.pipewire = { diff --git a/modules/nixos/core/xbanish.nix b/modules/nixos/core/xbanish.nix index 41142461..723eeff9 100644 --- a/modules/nixos/core/xbanish.nix +++ b/modules/nixos/core/xbanish.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.core.xbanish; + cfg = config.features.core.xbanish; in { - options.core.xbanish.enable = mkEnableOption "Enable xbanish"; + options.features.core.xbanish.enable = mkEnableOption "Enable xbanish"; config = mkIf cfg.enable { services.xbanish.enable = true; diff --git a/modules/nixos/core/zram.nix b/modules/nixos/core/zram.nix index fe980915..a0d0046a 100644 --- a/modules/nixos/core/zram.nix +++ b/modules/nixos/core/zram.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.core.zram; + cfg = config.features.core.zram; in { - options.core.zram.enable = mkEnableOption "Enable zram"; + options.features.core.zram.enable = mkEnableOption "Enable zram"; config = mkIf cfg.enable { zramSwap = { diff --git a/modules/nixos/desktop/dconf.nix b/modules/nixos/desktop/dconf.nix index ee0c51e7..eebbfa2c 100644 --- a/modules/nixos/desktop/dconf.nix +++ b/modules/nixos/desktop/dconf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.desktop.dconf; + cfg = config.features.desktop.dconf; in { - options.desktop.dconf.enable = mkEnableOption "Enable dconf"; + options.features.desktop.dconf.enable = mkEnableOption "Enable dconf"; config = mkIf cfg.enable { programs.dconf.enable = true; diff --git a/modules/nixos/desktop/dwm/default.nix b/modules/nixos/desktop/dwm/default.nix index a58572a6..795fde3a 100644 --- a/modules/nixos/desktop/dwm/default.nix +++ b/modules/nixos/desktop/dwm/default.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.dwm; + cfg = config.features.desktop.dwm; in { - options.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; config = mkIf cfg.enable { services = { diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix index 8c49a2f6..371b2fe1 100644 --- a/modules/nixos/desktop/fonts.nix +++ b/modules/nixos/desktop/fonts.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.fonts; + cfg = config.features.desktop.fonts; in { - options.desktop.fonts.enable = mkEnableOption "Enable fonts"; + options.features.desktop.fonts.enable = mkEnableOption "Enable fonts"; config = mkIf cfg.enable { fonts = { diff --git a/modules/nixos/desktop/media/makemkv.nix b/modules/nixos/desktop/media/makemkv.nix index 2d30d7ea..2b25b7aa 100644 --- a/modules/nixos/desktop/media/makemkv.nix +++ b/modules/nixos/desktop/media/makemkv.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.desktop.media.makemkv; + cfg = config.features.desktop.media.makemkv; in { - options.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; + options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; config = mkIf cfg.enable { boot.kernelModules = [ "sg" ]; diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/desktop/st.nix index 3e0b6d81..cc2345a4 100644 --- a/modules/nixos/desktop/st.nix +++ b/modules/nixos/desktop/st.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.st; + cfg = config.features.desktop.st; in { - options.desktop.st.enable = mkEnableOption "Enable st"; + options.features.desktop.st.enable = mkEnableOption "Enable st"; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ diff --git a/modules/nixos/desktop/thunar.nix b/modules/nixos/desktop/thunar.nix index b6b08214..4e9676ab 100644 --- a/modules/nixos/desktop/thunar.nix +++ b/modules/nixos/desktop/thunar.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.desktop.thunar; + cfg = config.features.desktop.thunar; in { - options.desktop.thunar.enable = mkEnableOption "Enable thunar"; + options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; config = mkIf cfg.enable { programs.thunar = { diff --git a/users/opdavies.nix b/users/opdavies.nix index cc8e2411..f810d742 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -18,8 +18,8 @@ with lib; "networkmanager" "wheel" ] - ++ optional config.cli.docker.enable "docker" - ++ optional config.cli.podman.enable "podman"; + ++ optional config.features.cli.docker.enable "docker" + ++ optional config.features.cli.podman.enable "podman"; packages = with pkgs; [ comma From 52821346baab39c55f277e08732091665d094010 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 08:00:00 +0100 Subject: [PATCH 1977/2258] Refactor --- home-manager/opdavies/PW05CH3L.nix | 20 +++++-------- home-manager/opdavies/t480.nix | 46 +++++++++++------------------- hosts/PW05CH3L/configuration.nix | 11 +++---- hosts/lemp11/configuration.nix | 12 +++----- hosts/nixedo/configuration.nix | 5 +--- hosts/t480/configuration.nix | 36 +++++++++-------------- hosts/t490/configuration.nix | 17 ++++------- 7 files changed, 51 insertions(+), 96 deletions(-) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 13391dcd..dbeb7c4c 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -9,11 +9,8 @@ direnv.enable = true; fzf.enable = true; - git = { - enable = true; - - user.emailAddress = "oliver.davies@tfw.wales"; - }; + git.enable = true; + git.user.emailAddress = "oliver.davies@tfw.wales"; node.enable = true; notes.enable = true; @@ -21,14 +18,11 @@ starship.enable = true; tmux.enable = true; - tmux-sessionizer = { - enable = true; - - searchPaths = [ - "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}:2" - "${config.xdg.userDirs.documents}:1" - ]; - }; + tmux-sessionizer.enable = true; + tmux-sessionizer.searchPaths = [ + "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${config.xdg.userDirs.documents}:1" + ]; todos.enable = true; zsh.enable = true; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 60e9a725..a6346854 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -13,41 +13,32 @@ direnv.enable = true; fzf.enable = true; - git = { - enable = true; - - user.emailAddress = "oliver@oliverdavies.uk"; - }; + git.enable = true; + git.user.emailAddress = "oliver@oliverdavies.uk"; node.enable = true; - notes = { - enable = true; - - directory = "${config.xdg.userDirs.documents}/wiki/notes"; - }; + notes.enable = true; + notes.directory = "${config.xdg.userDirs.documents}/wiki/notes"; ranger.enable = true; sxhkd.enable = true; starship.enable = true; tmux.enable = true; - tmux-sessionizer = { - enable = true; - enableDmenuIntegration = true; + tmux-sessionizer.enable = true; - searchPaths = - let - inherit (config.xdg.userDirs) documents extraConfig; + tmux-sessionizer.searchPaths = + let + inherit (config.xdg.userDirs) documents extraConfig; - repos = extraConfig.XDG_REPOS_DIR; - in - [ - repos - "${repos}/*" - documents - ]; - }; + repos = extraConfig.XDG_REPOS_DIR; + in + [ + repos + "${repos}/*" + documents + ]; todos.enable = true; zsh.enable = true; @@ -62,11 +53,8 @@ browsers = { chromium.enable = true; - firefox = { - enable = true; - - homepageUrl = "https://nixedo.oliverdavies.uk"; - }; + firefox.enable = true; + firefox.homepageUrl = "https://nixedo.oliverdavies.uk"; qutebrowser.enable = true; }; diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 7d0d8495..c72ecf97 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -15,13 +15,10 @@ cli = { docker.enable = true; - password-store = { - enable = true; - - extensions = with pkgs.passExtensions; [ - pass-otp - ]; - }; + password-store.enable = true; + password-store.extensions = with pkgs.passExtensions; [ + pass-otp + ]; }; }; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 5c2d84b6..ef50aff1 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -32,15 +32,11 @@ # Bootloader. boot = { loader = { - systemd-boot = { - enable = true; - configurationLimit = 25; - }; + efi.canTouchEfiVariables = true; + efi.efiSysMountPoint = "/boot/efi"; - efi = { - canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; - }; + systemd-boot.enable = true; + systemd-boot.configurationLimit = 25; }; }; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index b3bc1280..1eafd624 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -33,10 +33,7 @@ services.logind.lidSwitchExternalPower = "ignore"; boot.loader = { - efi = { - canTouchEfiVariables = true; - }; - + efi.canTouchEfiVariables = true; systemd-boot.enable = true; }; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index d8dedcd1..6abf2f5d 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -21,23 +21,17 @@ features = { cli = { - kanata = { - enable = true; + kanata.enable = true; + kanata.devices = [ + "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + ]; - devices = [ - "/dev/input/by-path/platform-i8042-serio-0-event-kbd" - ]; - }; - - password-store = { - enable = true; - - extensions = with pkgs.passExtensions; [ - pass-audit - pass-otp - pass-update - ]; - }; + password-store.enable = true; + password-store.extensions = with pkgs.passExtensions; [ + pass-audit + pass-otp + pass-update + ]; }; core = { @@ -73,14 +67,10 @@ boot = { loader = { - systemd-boot = { - enable = true; - configurationLimit = 10; - }; + systemd-boot.enable = true; + systemd-boot.configurationLimit = 10; - efi = { - canTouchEfiVariables = true; - }; + efi.canTouchEfiVariables = true; }; }; diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 873e0a07..92a9aee5 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -17,11 +17,8 @@ ]; features = { - core = { - bluetooth.enable = true; - zram.enable = true; - }; - + core.bluetooth.enable = true; + core.zram.enable = true; desktop.dconf.enable = true; }; @@ -29,14 +26,10 @@ boot = { loader = { - systemd-boot = { - enable = true; - configurationLimit = 10; - }; + efi.canTouchEfiVariables = true; - efi = { - canTouchEfiVariables = true; - }; + systemd-boot.enable = true; + systemd-boot.configurationLimit = 10; }; }; From 4f4e959c0742c5c7c60441f7b59d2734988108da Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 9 Jul 2025 18:17:12 +0100 Subject: [PATCH 1978/2258] Update search paths --- home-manager/opdavies/PW05CH3L.nix | 12 ++++++++---- home-manager/opdavies/t480.nix | 10 +++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index dbeb7c4c..18c6641d 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -19,10 +19,14 @@ tmux.enable = true; tmux-sessionizer.enable = true; - tmux-sessionizer.searchPaths = [ - "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}:2" - "${config.xdg.userDirs.documents}:1" - ]; + tmux-sessionizer.searchPaths = + let + inherit (config.xdg) userDirs; + in + [ + "${userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${userDirs.documents}:1" + ]; todos.enable = true; zsh.enable = true; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index a6346854..f5aa6875 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -27,17 +27,13 @@ tmux.enable = true; tmux-sessionizer.enable = true; - tmux-sessionizer.searchPaths = let - inherit (config.xdg.userDirs) documents extraConfig; - - repos = extraConfig.XDG_REPOS_DIR; + inherit (config.xdg) userDirs; in [ - repos - "${repos}/*" - documents + "${userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${userDirs.documents}:1" ]; todos.enable = true; From acb5cf654c94f483458f8821b1c72d2262c22154 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 08:00:00 +0100 Subject: [PATCH 1979/2258] Add `weather` function --- modules/home-manager/cli/zsh/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index ab60177c..adb0be7c 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -98,6 +98,10 @@ in command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } + weather() { + curl "https://wttr.in/''$1" + } + yt-dlp() { command yt-dlp --paths ~/Videos "$@" } From 0b437adccc6cc20a55147c292b0f70f5514661d5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 08:00:00 +0100 Subject: [PATCH 1980/2258] flake update --- flake.lock | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 1532f650..5c679fe6 100644 --- a/flake.lock +++ b/flake.lock @@ -52,11 +52,11 @@ ] }, "locked": { - "lastModified": 1751854533, - "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", + "lastModified": 1752113600, + "narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=", "owner": "nix-community", "repo": "disko", - "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", + "rev": "79264292b7e3482e5702932949de9cbb69fedf6d", "type": "github" }, "original": { @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1751824240, - "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=", + "lastModified": 1752093218, + "narHash": "sha256-+3rXu8ewcNDi65/2mKkdSGrivQs5zEZVp5aYszXC0d0=", "owner": "nix-community", "repo": "home-manager", - "rev": "fd9e55f5fac45a26f6169310afca64d56b681935", + "rev": "206ed3c71418b52e176f16f58805c96e84555320", "type": "github" }, "original": { @@ -210,11 +210,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1751432711, - "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", + "lastModified": 1752048960, + "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", + "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", "type": "github" }, "original": { @@ -230,11 +230,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1749574455, - "narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=", + "lastModified": 1752138162, + "narHash": "sha256-ClgAN2eyqlkRjpnU9y0AL+Rg3ICs5k2sJvCjuSit57A=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09", + "rev": "11500b1ad1c01f7ade38b487924ae89f69f3d022", "type": "github" }, "original": { @@ -246,16 +246,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1749173751, - "narHash": "sha256-ENY3y3v6S9ZmLDDLI3LUT8MXmfXg/fSt2eA4GCnMVCE=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed29f002b6d6e5e7e32590deb065c34a31dc3e91", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -293,11 +293,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1751984180, + "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", "type": "github" }, "original": { @@ -319,11 +319,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1751904655, - "narHash": "sha256-lHAj9Xh/vBf3cXns1wN5HPw/zwGTO/Uv/ttloBok1n4=", + "lastModified": 1752145001, + "narHash": "sha256-IVtaLIl1e1UP9p/8dDeaZdFxsnQuN9v1/NQ2CJBe56A=", "owner": "nix-community", "repo": "nixvim", - "rev": "bc997a240953bda9fa526e8a3d6f798a6072308a", + "rev": "db7c5364a58e1d9519bb4e1e0e13abb0a368376f", "type": "github" }, "original": { @@ -340,11 +340,11 @@ ] }, "locked": { - "lastModified": 1751971988, - "narHash": "sha256-dpnTiwJ/hf+aPyIbzv+sHrtLyNYV61O2vRK1mdsAwOY=", + "lastModified": 1752144852, + "narHash": "sha256-1s8jbF8TVEQkyrV/mmho7KSnjUFJqhnGQ457CNCOfpE=", "owner": "nix-community", "repo": "NUR", - "rev": "ba54ff832df087e89d6244c0e42aef958a18cd3d", + "rev": "c99a321ed335ebde63ad94b828700884db7c0f7d", "type": "github" }, "original": { From dfebe131a6beb13eba0bbf9aed0a92df63b83289 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 08:00:00 +0100 Subject: [PATCH 1981/2258] Move scripts to Nix files Move the scripts I commonly use into Nix files managed by Home Manager. Some, like `mounter` and `unmounter` are desktop-only, but this can be addressed in a future commit to create per-host scripts or desktop/non-desktop scripts. This commit also removes a number of unused scripts that are either included in packages like `git-extras` or aren't used. --- .../cli/scripts/create-script.nix | 21 +++++++++ modules/home-manager/cli/scripts/default.nix | 24 ++++++---- modules/home-manager/cli/scripts/mounter.nix | 45 +++++++++++++++++++ .../cli/scripts/move-firefox-screenshots.nix | 15 +++++++ .../cli/scripts/scripts/create-script | 23 ---------- .../cli/scripts/scripts/git-abort | 20 --------- .../cli/scripts/scripts/git-bare-clone | 34 -------------- .../cli/scripts/scripts/git-continue | 16 ------- .../home-manager/cli/scripts/scripts/git-sync | 8 ---- .../home-manager/cli/scripts/scripts/git-up | 21 --------- .../cli/scripts/scripts/import-gzip-database | 17 ------- .../cli/scripts/scripts/main-or-master-branch | 10 ----- .../home-manager/cli/scripts/scripts/mounter | 36 --------------- .../scripts/scripts/move-firefox-screenshots | 11 ----- .../cli/scripts/scripts/new-drupal-module | 19 -------- .../home-manager/cli/scripts/scripts/setbg | 3 -- .../cli/scripts/scripts/start-traefik | 9 ---- .../scripts/stop-all-docker-containers | 19 -------- .../cli/scripts/scripts/stop-traefik | 7 --- .../cli/scripts/scripts/tag-release | 11 ----- .../cli/scripts/scripts/unmounter | 26 ----------- .../cli/scripts/scripts/update-all-git-repos | 25 ----------- modules/home-manager/cli/scripts/setbg.nix | 11 +++++ .../home-manager/cli/scripts/tag-release.nix | 17 +++++++ .../home-manager/cli/scripts/unmounter.nix | 36 +++++++++++++++ .../cli/scripts/update-all-git-repos.nix | 33 ++++++++++++++ 26 files changed, 194 insertions(+), 323 deletions(-) create mode 100755 modules/home-manager/cli/scripts/create-script.nix create mode 100755 modules/home-manager/cli/scripts/mounter.nix create mode 100755 modules/home-manager/cli/scripts/move-firefox-screenshots.nix delete mode 100755 modules/home-manager/cli/scripts/scripts/create-script delete mode 100755 modules/home-manager/cli/scripts/scripts/git-abort delete mode 100755 modules/home-manager/cli/scripts/scripts/git-bare-clone delete mode 100755 modules/home-manager/cli/scripts/scripts/git-continue delete mode 100755 modules/home-manager/cli/scripts/scripts/git-sync delete mode 100755 modules/home-manager/cli/scripts/scripts/git-up delete mode 100755 modules/home-manager/cli/scripts/scripts/import-gzip-database delete mode 100755 modules/home-manager/cli/scripts/scripts/main-or-master-branch delete mode 100755 modules/home-manager/cli/scripts/scripts/mounter delete mode 100755 modules/home-manager/cli/scripts/scripts/move-firefox-screenshots delete mode 100755 modules/home-manager/cli/scripts/scripts/new-drupal-module delete mode 100755 modules/home-manager/cli/scripts/scripts/setbg delete mode 100755 modules/home-manager/cli/scripts/scripts/start-traefik delete mode 100755 modules/home-manager/cli/scripts/scripts/stop-all-docker-containers delete mode 100755 modules/home-manager/cli/scripts/scripts/stop-traefik delete mode 100755 modules/home-manager/cli/scripts/scripts/tag-release delete mode 100755 modules/home-manager/cli/scripts/scripts/unmounter delete mode 100755 modules/home-manager/cli/scripts/scripts/update-all-git-repos create mode 100644 modules/home-manager/cli/scripts/setbg.nix create mode 100644 modules/home-manager/cli/scripts/tag-release.nix create mode 100755 modules/home-manager/cli/scripts/unmounter.nix create mode 100755 modules/home-manager/cli/scripts/update-all-git-repos.nix diff --git a/modules/home-manager/cli/scripts/create-script.nix b/modules/home-manager/cli/scripts/create-script.nix new file mode 100755 index 00000000..1753e45f --- /dev/null +++ b/modules/home-manager/cli/scripts/create-script.nix @@ -0,0 +1,21 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "create-script"; + + text = '' + cat > "$1" << EOF + #!/usr/bin/env bash + + set -o errexit + set -o nounset + set -o pipefail + + + EOF + + chmod +x "$1" + + $EDITOR "$1"; + ''; +} diff --git a/modules/home-manager/cli/scripts/default.nix b/modules/home-manager/cli/scripts/default.nix index 2da9de18..0f95d62d 100644 --- a/modules/home-manager/cli/scripts/default.nix +++ b/modules/home-manager/cli/scripts/default.nix @@ -1,10 +1,18 @@ -{ - home = { - sessionPath = [ "$HOME/.local/bin" ]; +{ pkgs, ... }: - file.".local/bin" = { - source = ./scripts; - recursive = true; - }; - }; +{ + # TODO: separate desktop-only scripts? + home.packages = + let + scriptNames = [ + "create-script" + "mounter" + "move-firefox-screenshots" + "setbg" + "tag-release" + "unmounter" + "update-all-git-repos" + ]; + in + map (name: pkgs.callPackage ./${name}.nix { }) scriptNames; } diff --git a/modules/home-manager/cli/scripts/mounter.nix b/modules/home-manager/cli/scripts/mounter.nix new file mode 100755 index 00000000..df0e0982 --- /dev/null +++ b/modules/home-manager/cli/scripts/mounter.nix @@ -0,0 +1,45 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "mounter"; + + runtimeInputs = with pkgs; [ + cryptsetup + dmenu + gawk + libnotify + util-linux + ]; + + text = '' + lsblk_output="$(lsblk -rpo "uuid,name,type,size,label,mountpoint,mountpoints,fstype" | grep "part" | grep -Ev "/(boot|nix/store)")" + partition_names="$(echo "$lsblk_output" | awk '{ printf "%s (%s)\n", $2, $4 }' )"; + + selected=$(echo "$partition_names" | dmenu -p "Select drive:" | awk '{ print $1 }') + test -n "$selected" + mount_device="$selected" + + if sudo cryptsetup isLuks "$selected"; then + luks_name="usb" + + ${"TERMINAL:-st"} -n floatterm -g 60x1 -e sudo cryptsetup open "$selected" "$luks_name" + + mount_device="/dev/mapper/$luks_name" + + test -b "/dev/mapper/$luks_name" + fi + + mount_point=$(echo -e "/mnt\n/media\n/run/media/$USER" | dmenu -p "Select mount point:") + test -n "$mount_point" + + sudo mkdir -p "$mount_point" + + if sudo mount "$mount_device" "$mount_point"; then + notify-send "Device mounted" "Mounted $selected at $mount_point." + else + notify-send "Mount failed" "Failed to mount $selected." + + exit 1 + fi + ''; +} diff --git a/modules/home-manager/cli/scripts/move-firefox-screenshots.nix b/modules/home-manager/cli/scripts/move-firefox-screenshots.nix new file mode 100755 index 00000000..8f544f30 --- /dev/null +++ b/modules/home-manager/cli/scripts/move-firefox-screenshots.nix @@ -0,0 +1,15 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "move-firefox-screenshots"; + + runtimeInputs = with pkgs; [ findutils ]; + + text = '' + original_directory="''${HOME}/Downloads" + new_directory="''${HOME}/Pictures/Screenshots" + + find "''${original_directory}" -mindepth 1 -maxdepth 1 -type f -name "Screenshot *" \ + -exec mv {} "''${new_directory}" \; + ''; +} diff --git a/modules/home-manager/cli/scripts/scripts/create-script b/modules/home-manager/cli/scripts/scripts/create-script deleted file mode 100755 index 6d830971..00000000 --- a/modules/home-manager/cli/scripts/scripts/create-script +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -if [[ "$1" == "" ]]; then - echo "Usage: ${0##*/} <script-name>"; exit 2 -fi - -set -o errexit -set -o nounset -set -o pipefail - -cat > "$1" << EOF -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - - -EOF - -chmod +x "$1" - -$EDITOR "$1"; diff --git a/modules/home-manager/cli/scripts/scripts/git-abort b/modules/home-manager/cli/scripts/scripts/git-abort deleted file mode 100755 index cd7e067c..00000000 --- a/modules/home-manager/cli/scripts/scripts/git-abort +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -# Abort a rebase, merge, `am`, a cherry-pick or a revert, depending on the situation. - -if [[ -e .git/CHERRY_PICK_HEAD ]] ; then - exec git cherry-pick --abort "$@" -elif [[ -e .git/REVERT_HEAD ]] ; then - exec git revert --abort "$@" -elif [[ -e .git/rebase-apply/applying ]] ; then - exec git am --abort "$@" -elif [[ -e .git/rebase-apply ]] ; then - exec git rebase --abort "$@" -elif [[ -e .git/rebase-merge ]] ; then - exec git rebase --abort "$@" -elif [[ -e .git/MERGE_MODE ]] ; then - exec git merge --abort "$@" -else - echo git-abort: unknown state - exit 1 -fi diff --git a/modules/home-manager/cli/scripts/scripts/git-bare-clone b/modules/home-manager/cli/scripts/scripts/git-bare-clone deleted file mode 100755 index 4db9eaba..00000000 --- a/modules/home-manager/cli/scripts/scripts/git-bare-clone +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -# Creates a new bare clone of a repository with the bare files within a `.bare` -# directory. It also sets the origin URL so push and pull work as expected. - -if [[ "$1" == "" ]]; then - echo "Usage: ${0##*/} <repository> [<directory>]" - exit 2 -fi - -set -euo pipefail - -repository_url="${1}" -directory="${2:-}" -location=".bare" - -# If no destination directory is specified, get it from the repository URL - the same as "git clone". -if [ -z "${directory}" ]; then - directory="$(basename -s .git "${repository_url}")" -fi - -# Create the parent directory if needed. -mkdir -pv "${directory}" -cd "${directory}" - -git clone --bare "${repository_url}" "${location}" - -# Adjust origin fetch locations. -cd "${location}" -git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" - -# Set .git file contents. -cd .. -echo "gitdir: ./${location}" > .git diff --git a/modules/home-manager/cli/scripts/scripts/git-continue b/modules/home-manager/cli/scripts/scripts/git-continue deleted file mode 100755 index 9649ec95..00000000 --- a/modules/home-manager/cli/scripts/scripts/git-continue +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -# Continue a rebase or cherry-pick in the event of conflicts. - -if [[ -e .git/CHERRY_PICK_HEAD ]] ; then - exec git cherry-pick --continue "$@" -elif [[ -e .git/rebase-apply/applying ]] ; then - exec git rebase --continue "$@" -elif [[ -e .git/rebase-apply ]] ; then - exec git rebase --continue "$@" -elif [[ -e .git/rebase-merge ]] ; then - exec git rebase --continue "$@" -else - echo git-abort: unknown state - exit 1 -fi diff --git a/modules/home-manager/cli/scripts/scripts/git-sync b/modules/home-manager/cli/scripts/scripts/git-sync deleted file mode 100755 index ff3775c5..00000000 --- a/modules/home-manager/cli/scripts/scripts/git-sync +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -git fetch --all -git stash -git pull --rebase -git stash pop diff --git a/modules/home-manager/cli/scripts/scripts/git-up b/modules/home-manager/cli/scripts/scripts/git-up deleted file mode 100755 index 79f36293..00000000 --- a/modules/home-manager/cli/scripts/scripts/git-up +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -# Usage: git up {branch} {remote} - -set -e - -if [[ $# < 1 ]]; then - echo "You must specify a branch name to update" - exit 1 -fi - -BRANCH=$1 -REMOTE=${2:-origin} - -git checkout ${BRANCH} && \ - git fetch ${REMOTE} && \ - echo && \ - git sl ${BRANCH}..${REMOTE}/${BRANCH} && \ - echo && \ - git pull --quiet && \ - git checkout - diff --git a/modules/home-manager/cli/scripts/scripts/import-gzip-database b/modules/home-manager/cli/scripts/scripts/import-gzip-database deleted file mode 100755 index 9a6cf7ef..00000000 --- a/modules/home-manager/cli/scripts/scripts/import-gzip-database +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -if [[ "$1" == "" ]]; then - echo "Usage: ${0##*/} <filename>"; exit 2 -fi - -set -euo pipefail - -filename="${1}" -shift 1 - -pv "${filename}" \ - | zcat \ - | docker compose exec -T "${SERVICE_NAME:-database}" mysql \ - -p"${DB_PASSWORD:-app}" \ - -u"${DB_USER:-app}" \ - "${DB_NAME:-app}" diff --git a/modules/home-manager/cli/scripts/scripts/main-or-master-branch b/modules/home-manager/cli/scripts/scripts/main-or-master-branch deleted file mode 100755 index ed9ffbd3..00000000 --- a/modules/home-manager/cli/scripts/scripts/main-or-master-branch +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/zsh - -# Check if we should use the `main` or `master` branch for this repo. -# Prefer `main` to `master`. - -if git show-ref --quiet origin/main || git rev-parse main &>/dev/null; then - echo main -else - echo master -fi \ No newline at end of file diff --git a/modules/home-manager/cli/scripts/scripts/mounter b/modules/home-manager/cli/scripts/scripts/mounter deleted file mode 100755 index 60b828eb..00000000 --- a/modules/home-manager/cli/scripts/scripts/mounter +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - -lsblk_output="$(lsblk -rpo "uuid,name,type,size,label,mountpoint,mountpoints,fstype" | grep "part" | grep -Ev "/(boot|nix/store)")" -partition_names="$(echo "$lsblk_output" | awk '{ printf "%s (%s)\n", $2, $4 }' )"; - -selected=$(echo "$partition_names" | dmenu -p "Select drive:" | awk '{ print $1 }') -test -n "$selected" -mount_device="$selected" - -if sudo cryptsetup isLuks "$selected"; then - luks_name="usb" - - ${TERMINAL:-st} -n floatterm -g 60x1 -e sudo cryptsetup open "$selected" "$luks_name" - - mount_device="/dev/mapper/$luks_name" - - test -b "/dev/mapper/$luks_name" -fi - -mount_point=$(echo -e "/mnt\n/media\n/run/media/$USER" | dmenu -p "Select mount point:") -test -n "$mount_point" - -sudo mkdir -p "$mount_point" - -if sudo mount "$mount_device" "$mount_point"; then - notify-send "Device mounted" "Mounted $selected at $mount_point." -else - notify-send "Mount failed" "Failed to mount $selected." - - exit 1 -fi - diff --git a/modules/home-manager/cli/scripts/scripts/move-firefox-screenshots b/modules/home-manager/cli/scripts/scripts/move-firefox-screenshots deleted file mode 100755 index d47e522d..00000000 --- a/modules/home-manager/cli/scripts/scripts/move-firefox-screenshots +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - -original_directory="${HOME}/Downloads" -new_directory="${HOME}/Pictures/Screenshots" - -find "${original_directory}" -mindepth 1 -maxdepth 1 -type f -name "Screenshot *" \ - -exec mv {} "${new_directory}" \; diff --git a/modules/home-manager/cli/scripts/scripts/new-drupal-module b/modules/home-manager/cli/scripts/scripts/new-drupal-module deleted file mode 100755 index 7eeca36b..00000000 --- a/modules/home-manager/cli/scripts/scripts/new-drupal-module +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -if [[ "$1" == "" || "$2" == "" ]]; then - echo "Usage: ${0##*/} <machine-name> <module-name>"; exit 2 -fi - -set -euo pipefail - -machine_name=$1 -module_name=$2 - -git clone https://github.com/opdavies/drupal-module-template \ - --depth=1 \ - "${machine_name}" - -pushd "${machine_name}" -just rename "${module_name}" -rm -fr .git .github justfile phpcs.xml.dist -popd diff --git a/modules/home-manager/cli/scripts/scripts/setbg b/modules/home-manager/cli/scripts/scripts/setbg deleted file mode 100755 index 9882de53..00000000 --- a/modules/home-manager/cli/scripts/scripts/setbg +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -xwallpaper --zoom ${XDG_REPOS_DIR}/personal/nix-config/wallpaper/wallpaper.jpg diff --git a/modules/home-manager/cli/scripts/scripts/start-traefik b/modules/home-manager/cli/scripts/scripts/start-traefik deleted file mode 100755 index 6bbdb9d9..00000000 --- a/modules/home-manager/cli/scripts/scripts/start-traefik +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset - -cd "${XDG_REPOS_DIR}/traefik-development" - -docker compose up --detach -docker container ps diff --git a/modules/home-manager/cli/scripts/scripts/stop-all-docker-containers b/modules/home-manager/cli/scripts/scripts/stop-all-docker-containers deleted file mode 100755 index 69e59a42..00000000 --- a/modules/home-manager/cli/scripts/scripts/stop-all-docker-containers +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -# Stops all running Docker containers except for the global Traefik proxy. - -set -euo pipefail - -# Show the running containers. -docker container ps - -echo "" - -# Stop the running containers and show any that are still running. -docker container ls | - tail -n +2 | - grep -v traefik-development-reverse-proxy-1 | - awk '{print $1}' | - xargs docker container stop -echo "" -docker container ps diff --git a/modules/home-manager/cli/scripts/scripts/stop-traefik b/modules/home-manager/cli/scripts/scripts/stop-traefik deleted file mode 100755 index 813e3c2c..00000000 --- a/modules/home-manager/cli/scripts/scripts/stop-traefik +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset - -docker container stop traefik-development-reverse-proxy-1 -docker container ps diff --git a/modules/home-manager/cli/scripts/scripts/tag-release b/modules/home-manager/cli/scripts/scripts/tag-release deleted file mode 100755 index c1899930..00000000 --- a/modules/home-manager/cli/scripts/scripts/tag-release +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -commit_sha="${1:-HEAD}" -tag="$(date '+%Y-%m-%d-%H.%M.%S')" - -echo "Tagging commit $(git rev-parse "${commit_sha}") as ${tag}." -echo "" - -git tag "${tag}" "${commit_sha}" diff --git a/modules/home-manager/cli/scripts/scripts/unmounter b/modules/home-manager/cli/scripts/scripts/unmounter deleted file mode 100755 index cc3d5d8b..00000000 --- a/modules/home-manager/cli/scripts/scripts/unmounter +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - -lsblk_output="$(lsblk -nrpo "name,type,size,mountpoint")" -mounted_drives="$(echo "$lsblk_output" | awk '($2=="part"||$2="crypt")&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')" - -all_unmountable="$(echo "$mounted_drives" | sed "/^$/d;s/ *$//")" -test -n "$all_unmountable" - -selected="$(echo "$all_unmountable" | dmenu -i -p "Unmount which drive?")" -selected="${selected%% *}" -test -n "$selected" - -sudo -A umount -l "/${selected#*/}" -notify-send "Device unmounted" "$selected has been unmounted." - -# Close the selected drive if decrypted. -cryptid="$(echo "$lsblk_output" | grep "/${selected#*/}$")" -cryptid="${cryptid%% *}" -test -b /dev/mapper/"${cryptid##*/}" -sudo -A cryptsetup close "$cryptid" - -notify-send "Device dencryption closed" "Drive is now securely locked again." diff --git a/modules/home-manager/cli/scripts/scripts/update-all-git-repos b/modules/home-manager/cli/scripts/scripts/update-all-git-repos deleted file mode 100755 index b3c4bcd5..00000000 --- a/modules/home-manager/cli/scripts/scripts/update-all-git-repos +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -# Update all top-level Git repository clones within my Code directories to their -# latest version. - -set -o errexit -set -o nounset - -dirs=$(find "$XDG_REPOS_DIR" -mindepth 1 -maxdepth 2 -type d -name .git -not -path '*/*.old/*') - -for dir in $dirs; do - repo_path="${dir%/.git}" - - cd "${repo_path}" - - # If the repo is a bare clone, the commands need to be run within the - # worktree directory. - [[ -f .bare/worktrees/main/gitdir && -d main && -f main/.git ]] && cd main - - echo "Updating $(pwd)" - - # Update the repository. - git fetch --all --jobs=4 --progress --prune || true - git pull --rebase || true -done diff --git a/modules/home-manager/cli/scripts/setbg.nix b/modules/home-manager/cli/scripts/setbg.nix new file mode 100644 index 00000000..2b71fd8b --- /dev/null +++ b/modules/home-manager/cli/scripts/setbg.nix @@ -0,0 +1,11 @@ +{ pkgs, writeShellApplication }: + +writeShellApplication { + name = "setbg"; + + runtimeInputs = with pkgs; [ xwallpaper ]; + + text = '' + xwallpaper --zoom "''${XDG_REPOS_DIR}/personal/nix-config/wallpaper/wallpaper.jpg" + ''; +} diff --git a/modules/home-manager/cli/scripts/tag-release.nix b/modules/home-manager/cli/scripts/tag-release.nix new file mode 100644 index 00000000..0bd612b6 --- /dev/null +++ b/modules/home-manager/cli/scripts/tag-release.nix @@ -0,0 +1,17 @@ +{ git, writeShellApplication }: + +writeShellApplication { + name = "tag-release"; + + runtimeInputs = [ git ]; + + text = '' + commit_sha="''${1:-HEAD}" + tag="$(date '+%Y-%m-%d-%H.%M.%S')" + + echo "Tagging commit $(git rev-parse "''${commit_sha}") as ''${tag}." + echo "" + + git tag "''${tag}" "''${commit_sha}" + ''; +} diff --git a/modules/home-manager/cli/scripts/unmounter.nix b/modules/home-manager/cli/scripts/unmounter.nix new file mode 100755 index 00000000..51e5d967 --- /dev/null +++ b/modules/home-manager/cli/scripts/unmounter.nix @@ -0,0 +1,36 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "unmounter"; + + runtimeInputs = with pkgs; [ + cryptsetup + dmenu + gawk + libnotify + util-linux + ]; + + text = '' + lsblk_output="$(lsblk -nrpo "name,type,size,mountpoint")" + mounted_drives="$(echo "$lsblk_output" | awk '($2=="part"||$2="crypt")&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')" + + all_unmountable="$(echo "$mounted_drives" | sed "/^$/d;s/ *$//")" + test -n "$all_unmountable" + + selected="$(echo "$all_unmountable" | dmenu -i -p "Unmount which drive?")" + selected="''${selected%% *}" + test -n "$selected" + + sudo -A umount -l "/''${selected#*/}" + notify-send "Device unmounted" "$selected has been unmounted." + + # Close the selected drive if decrypted. + cryptid="$(echo "$lsblk_output" | grep "/''${selected#*/}$")" + cryptid="''${cryptid%% *}" + test -b /dev/mapper/"''${cryptid##*/}" + sudo -A cryptsetup close "$cryptid" + + notify-send "Device dencryption closed" "Drive is now securely locked again." + ''; +} diff --git a/modules/home-manager/cli/scripts/update-all-git-repos.nix b/modules/home-manager/cli/scripts/update-all-git-repos.nix new file mode 100755 index 00000000..1ef76bf2 --- /dev/null +++ b/modules/home-manager/cli/scripts/update-all-git-repos.nix @@ -0,0 +1,33 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "update-all-git-repos"; + + runtimeInputs = with pkgs; [ + findutils + git + ]; + + text = '' + # Update all top-level Git repository clones within my Code directories to their + # latest version. + + dirs=$(find "$XDG_REPOS_DIR" -mindepth 2 -maxdepth 3 -type d -name .git -not -path '*/*.old/*') + + for dir in $dirs; do + repo_path="''${dir%/.git}" + + cd "''${repo_path}" + + # If the repo is a bare clone, the commands need to be run within the + # worktree directory. + [[ -f .bare/worktrees/main/gitdir && -d main && -f main/.git ]] && cd main + + echo "Updating $(pwd)" + + # Update the repository. + git fetch --all --jobs=4 --progress --prune + git pull --rebase + done + ''; +} From 157460536067425dd17afcc1558e508c1fd72ba9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 21:51:52 +0100 Subject: [PATCH 1982/2258] Remove nvim-autopairs --- modules/home-manager/coding/neovim/config/default.nix | 1 - .../coding/neovim/config/plugins/nvim-autopairs.nix | 3 --- 2 files changed, 4 deletions(-) delete mode 100644 modules/home-manager/coding/neovim/config/plugins/nvim-autopairs.nix diff --git a/modules/home-manager/coding/neovim/config/default.nix b/modules/home-manager/coding/neovim/config/default.nix index 05e2fb0d..93c3dcb7 100644 --- a/modules/home-manager/coding/neovim/config/default.nix +++ b/modules/home-manager/coding/neovim/config/default.nix @@ -20,7 +20,6 @@ ./plugins/lualine.nix ./plugins/luasnip.nix ./plugins/mini.nix - ./plugins/nvim-autopairs.nix ./plugins/oil.nix ./plugins/phpactor.nix ./plugins/refactoring.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/nvim-autopairs.nix b/modules/home-manager/coding/neovim/config/plugins/nvim-autopairs.nix deleted file mode 100644 index 68209f3f..00000000 --- a/modules/home-manager/coding/neovim/config/plugins/nvim-autopairs.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - plugins.nvim-autopairs.enable = true; -} From 7780eca7a91b8d0728c22c9ba8d62381b347c68d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 22:28:33 +0100 Subject: [PATCH 1983/2258] Refactor todos-add, remove todos-edit --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/cli/scripts/default.nix | 1 + .../home-manager/cli/scripts/todos-add.nix | 21 +++++++++++ modules/home-manager/cli/todos.nix | 36 ------------------- modules/home-manager/default.nix | 1 - packages/default.nix | 2 -- packages/todos/todos-add.nix | 13 ------- packages/todos/todos-edit.nix | 12 ------- 9 files changed, 22 insertions(+), 66 deletions(-) create mode 100755 modules/home-manager/cli/scripts/todos-add.nix delete mode 100644 modules/home-manager/cli/todos.nix delete mode 100644 packages/todos/todos-add.nix delete mode 100644 packages/todos/todos-edit.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 18c6641d..9f3c51e7 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -28,7 +28,6 @@ "${userDirs.documents}:1" ]; - todos.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index f5aa6875..d45b46b2 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -36,7 +36,6 @@ "${userDirs.documents}:1" ]; - todos.enable = true; zsh.enable = true; }; diff --git a/modules/home-manager/cli/scripts/default.nix b/modules/home-manager/cli/scripts/default.nix index 0f95d62d..173254a9 100644 --- a/modules/home-manager/cli/scripts/default.nix +++ b/modules/home-manager/cli/scripts/default.nix @@ -10,6 +10,7 @@ "move-firefox-screenshots" "setbg" "tag-release" + "todos-add" "unmounter" "update-all-git-repos" ]; diff --git a/modules/home-manager/cli/scripts/todos-add.nix b/modules/home-manager/cli/scripts/todos-add.nix new file mode 100755 index 00000000..501f3616 --- /dev/null +++ b/modules/home-manager/cli/scripts/todos-add.nix @@ -0,0 +1,21 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "todos-add"; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = '' + TODOS_PATH="$HOME/Documents/wiki/todo.txt" + + if [ ''${#} -eq 0 ]; then + if [ -p "/dev/stdin" ]; then + (cat; printf "\n\n") >> "''${TODOS_PATH}" + else + eval "''${TODOS_EDITOR}" "''${TODOS_PATH}" + fi + else + printf "%s\n\n" "''${*}" >> "''${TODOS_PATH}" + fi + ''; +} diff --git a/modules/home-manager/cli/todos.nix b/modules/home-manager/cli/todos.nix deleted file mode 100644 index 34b50c07..00000000 --- a/modules/home-manager/cli/todos.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - name = "todos"; - cfg = config.features.cli.${name}; - - inherit (lib) mkOption types; -in -{ - options.features.cli.${name} = { - enable = lib.mkEnableOption "Enable ${name}"; - - directory = mkOption { - default = "${config.xdg.userDirs.documents}/todos"; - type = types.str; - }; - }; - - config = lib.mkIf cfg.enable { - home = { - packages = with pkgs; [ - todos-add - todos-edit - ]; - - sessionVariables = { - TODOS_DIRECTORY = cfg.directory; - }; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index dd83a2ef..1d33b9e8 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -14,7 +14,6 @@ ./cli/sxhkd.nix ./cli/tmux-sessionizer.nix ./cli/tmux.nix - ./cli/todos.nix ./cli/zsh ./coding/neovim ./coding/phpactor diff --git a/packages/default.nix b/packages/default.nix index 72ce4ae8..a47e9dfa 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -12,8 +12,6 @@ in displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; - todos-add = callPackage ./todos/todos-add.nix { }; - todos-edit = callPackage ./todos/todos-edit.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/packages/todos/todos-add.nix b/packages/todos/todos-add.nix deleted file mode 100644 index a5df60ac..00000000 --- a/packages/todos/todos-add.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "todos-add"; - - text = '' - TODOS_DIRECTORY="''${TODOS_DIRECTORY:-"$XDG_DOCUMENTS_DIR/todos"}" - export TODOS_DIRECTORY - - echo "$*" >> "$TODOS_DIRECTORY/$(date +%Y-%m-%d).txt" - ''; -} - diff --git a/packages/todos/todos-edit.nix b/packages/todos/todos-edit.nix deleted file mode 100644 index 43d3c829..00000000 --- a/packages/todos/todos-edit.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "todos-edit"; - - text = '' - TODOS_DIRECTORY="''${TODOS_DIRECTORY:-"$XDG_DOCUMENTS_DIR/todos"}" - export TODOS_DIRECTORY - - "$EDITOR" "$TODOS_DIRECTORY/$(date +%Y-%m-%d).txt"; - ''; -} From 5341b761ad1cc56bcc1635f2b2531c5161f85822 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 22:50:41 +0100 Subject: [PATCH 1984/2258] Combine scripts and custom packages --- home-manager/opdavies/PW05CH3L.nix | 8 +++++++- home-manager/opdavies/t480.nix | 15 ++++++++++++++- hosts/t480/configuration.nix | 4 ---- modules/home-manager/cli/scripts/default.nix | 19 ------------------- modules/home-manager/default.nix | 1 - .../scripts => packages}/create-script.nix | 0 packages/default.nix | 9 ++++++++- .../cli/scripts => packages}/mounter.nix | 0 .../move-firefox-screenshots.nix | 0 .../cli/scripts => packages}/setbg.nix | 0 .../cli/scripts => packages}/tag-release.nix | 0 .../cli/scripts => packages}/todos-add.nix | 0 .../cli/scripts => packages}/unmounter.nix | 0 .../update-all-git-repos.nix | 0 packages/upload-to-files.nix | 11 ----------- 15 files changed, 29 insertions(+), 38 deletions(-) delete mode 100644 modules/home-manager/cli/scripts/default.nix rename {modules/home-manager/cli/scripts => packages}/create-script.nix (100%) rename {modules/home-manager/cli/scripts => packages}/mounter.nix (100%) rename {modules/home-manager/cli/scripts => packages}/move-firefox-screenshots.nix (100%) rename {modules/home-manager/cli/scripts => packages}/setbg.nix (100%) rename {modules/home-manager/cli/scripts => packages}/tag-release.nix (100%) rename {modules/home-manager/cli/scripts => packages}/todos-add.nix (100%) rename {modules/home-manager/cli/scripts => packages}/unmounter.nix (100%) rename {modules/home-manager/cli/scripts => packages}/update-all-git-repos.nix (100%) delete mode 100644 packages/upload-to-files.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 9f3c51e7..7a3da97d 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: { imports = [ ../common ]; @@ -37,6 +37,12 @@ }; }; + home.packages = with pkgs; [ + tag-release + todos-add + update-all-git-repos + ]; + xdg.configFile."pam-gnupg".text = '' C0D940F9A390F286FCAAE8439D501171E39D0A47 ''; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index d45b46b2..80c1685c 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: { imports = [ @@ -96,6 +96,19 @@ }; }; + home.packages = with pkgs; [ + backup-websites + build-glove80 + displayselect + mounter + move-firefox-screenshots + setbg + tag-release + todos-add + unmounter + update-all-git-repos + ]; + xdg.configFile."pam-gnupg".text = '' 098EE055DAD2B9CB68154C6759DD38292D2273B6 1E21B58D69FFEFAD077F152A50FEA938A3413F50 diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 6abf2f5d..f5988246 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -101,12 +101,9 @@ abook acpi arandr - backup-websites brightnessctl - build-glove80 cdrkit cpufrequtils - displayselect dvdbackup dvdplusrwtools ffmpegthumbnailer @@ -131,7 +128,6 @@ sxiv tailscale ttyper - upload-to-files xcape xsel yt-dlp diff --git a/modules/home-manager/cli/scripts/default.nix b/modules/home-manager/cli/scripts/default.nix deleted file mode 100644 index 173254a9..00000000 --- a/modules/home-manager/cli/scripts/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ pkgs, ... }: - -{ - # TODO: separate desktop-only scripts? - home.packages = - let - scriptNames = [ - "create-script" - "mounter" - "move-firefox-screenshots" - "setbg" - "tag-release" - "todos-add" - "unmounter" - "update-all-git-repos" - ]; - in - map (name: pkgs.callPackage ./${name}.nix { }) scriptNames; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 1d33b9e8..ff220e6b 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -9,7 +9,6 @@ ./cli/node.nix ./cli/notes.nix ./cli/ranger.nix - ./cli/scripts ./cli/starship.nix ./cli/sxhkd.nix ./cli/tmux-sessionizer.nix diff --git a/modules/home-manager/cli/scripts/create-script.nix b/packages/create-script.nix similarity index 100% rename from modules/home-manager/cli/scripts/create-script.nix rename to packages/create-script.nix diff --git a/packages/default.nix b/packages/default.nix index a47e9dfa..892661f7 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -8,12 +8,19 @@ in { backup-websites = callPackage ./backup-websites.nix { }; build-glove80 = callPackage ./build-glove80.nix { }; + create-script = callPackage ./create-script.nix { }; dev-commit = callPackage ./dev-commit.nix { }; displayselect = callPackage ./displayselect { }; + mounter = callPackage ./mounter.nix { }; + move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; + setbg = callPackage ./setbg.nix { }; + tag-release = callPackage ./tag-release.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; - upload-to-files = callPackage ./upload-to-files.nix { }; + todos-add = callPackage ./todos-add.nix { }; + unmounter = callPackage ./unmounter.nix { }; + update-all-git-repos = callPackage ./update-all-git-repos.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/modules/home-manager/cli/scripts/mounter.nix b/packages/mounter.nix similarity index 100% rename from modules/home-manager/cli/scripts/mounter.nix rename to packages/mounter.nix diff --git a/modules/home-manager/cli/scripts/move-firefox-screenshots.nix b/packages/move-firefox-screenshots.nix similarity index 100% rename from modules/home-manager/cli/scripts/move-firefox-screenshots.nix rename to packages/move-firefox-screenshots.nix diff --git a/modules/home-manager/cli/scripts/setbg.nix b/packages/setbg.nix similarity index 100% rename from modules/home-manager/cli/scripts/setbg.nix rename to packages/setbg.nix diff --git a/modules/home-manager/cli/scripts/tag-release.nix b/packages/tag-release.nix similarity index 100% rename from modules/home-manager/cli/scripts/tag-release.nix rename to packages/tag-release.nix diff --git a/modules/home-manager/cli/scripts/todos-add.nix b/packages/todos-add.nix similarity index 100% rename from modules/home-manager/cli/scripts/todos-add.nix rename to packages/todos-add.nix diff --git a/modules/home-manager/cli/scripts/unmounter.nix b/packages/unmounter.nix similarity index 100% rename from modules/home-manager/cli/scripts/unmounter.nix rename to packages/unmounter.nix diff --git a/modules/home-manager/cli/scripts/update-all-git-repos.nix b/packages/update-all-git-repos.nix similarity index 100% rename from modules/home-manager/cli/scripts/update-all-git-repos.nix rename to packages/update-all-git-repos.nix diff --git a/packages/upload-to-files.nix b/packages/upload-to-files.nix deleted file mode 100644 index ea6a680e..00000000 --- a/packages/upload-to-files.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs }: - -with pkgs; - -writeShellApplication { - name = "upload-to-files"; - - text = '' - ${pkgs.rsync}/bin/rsync -avz --info=progress2 "$1" ssh.oliverdavies.uk:/var/www/vhosts/files.oliverdavies.uk - ''; -} From b32493780d43215e17946c06b6578d7043cddb64 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 22:53:39 +0100 Subject: [PATCH 1985/2258] Delete ports.nix --- hosts/nixedo/modules/nginx/ports.nix | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 hosts/nixedo/modules/nginx/ports.nix diff --git a/hosts/nixedo/modules/nginx/ports.nix b/hosts/nixedo/modules/nginx/ports.nix deleted file mode 100644 index e69de29b..00000000 From 6a87e455bd1276ed9eb6e8f21291be68fd020bb3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 22:55:59 +0100 Subject: [PATCH 1986/2258] nix fmt --- hosts/nixedo/hardware-configuration.nix | 43 +++++++++++++------ modules/home-manager/cli/sxhkd.nix | 13 ++++-- .../coding/neovim/config/default.nix | 2 +- .../coding/neovim/config/keymaps.nix | 10 ++++- .../coding/neovim/config/plugins/fugitive.nix | 4 +- .../coding/neovim/config/plugins/gitsigns.nix | 5 ++- .../coding/neovim/config/plugins/mini.nix | 14 +++--- .../coding/neovim/config/plugins/oil.nix | 5 ++- .../neovim/config/plugins/refactoring.nix | 7 +-- .../neovim/config/plugins/telescope.nix | 1 - .../neovim/config/plugins/treesitter.nix | 1 - .../coding/neovim/config/plugins/undotree.nix | 5 ++- .../coding/neovim/config/plugins/vim-test.nix | 15 +++++-- .../desktop/browsers/qutebrowser.nix | 10 +++-- modules/home-manager/desktop/media/mpv.nix | 7 ++- modules/nixos/cli/kanata.nix | 9 +++- 16 files changed, 105 insertions(+), 46 deletions(-) diff --git a/hosts/nixedo/hardware-configuration.nix b/hosts/nixedo/hardware-configuration.nix index 2164da42..c2508935 100644 --- a/hosts/nixedo/hardware-configuration.nix +++ b/hosts/nixedo/hardware-configuration.nix @@ -1,28 +1,43 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "sd_mod" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/40649879-4ee6-4668-8257-fe81a7773024"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/40649879-4ee6-4668-8257-fe81a7773024"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/24B1-88CB"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/24B1-88CB"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; swapDevices = [ ]; diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/cli/sxhkd.nix index 2495ef8b..5a242e3e 100644 --- a/modules/home-manager/cli/sxhkd.nix +++ b/modules/home-manager/cli/sxhkd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.features.cli.${service}; @@ -18,10 +23,12 @@ in enable = true; keybindings = { - "{_, shift +, super +}XF86MonBrightness{Down,Up}" = "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; + "{_, shift +, super +}XF86MonBrightness{Down,Up}" = + "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; "super + BackSpace" = "/home/opdavies/sysact"; "super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis"; - "super + shift + i" = "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; + "super + shift + i" = + "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; "super + shift + p" = "${getExe pkgs.passmenu-otp} -i"; "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; "@F3" = "${getExe pkgs.displayselect}"; diff --git a/modules/home-manager/coding/neovim/config/default.nix b/modules/home-manager/coding/neovim/config/default.nix index 93c3dcb7..b2886b2d 100644 --- a/modules/home-manager/coding/neovim/config/default.nix +++ b/modules/home-manager/coding/neovim/config/default.nix @@ -38,7 +38,7 @@ settings.flavour = "mocha"; }; - diagnostic.settings = { + diagnostic.settings = { signs = true; underline = false; update_in_insert = false; diff --git a/modules/home-manager/coding/neovim/config/keymaps.nix b/modules/home-manager/coding/neovim/config/keymaps.nix index 0c51a5bd..7ecaa6ee 100644 --- a/modules/home-manager/coding/neovim/config/keymaps.nix +++ b/modules/home-manager/coding/neovim/config/keymaps.nix @@ -31,7 +31,10 @@ { action = "\"+y"; key = "<leader>y"; - mode = ["n" "x"]; + mode = [ + "n" + "x" + ]; } { @@ -48,7 +51,10 @@ { action = "<Esc>:w<CR>"; key = "<C-s>"; - mode = ["i" "n"]; + mode = [ + "i" + "n" + ]; } { diff --git a/modules/home-manager/coding/neovim/config/plugins/fugitive.nix b/modules/home-manager/coding/neovim/config/plugins/fugitive.nix index 6fc46e10..87c01ce6 100644 --- a/modules/home-manager/coding/neovim/config/plugins/fugitive.nix +++ b/modules/home-manager/coding/neovim/config/plugins/fugitive.nix @@ -5,8 +5,8 @@ keymaps = lib.mkIf config.plugins.fugitive.enable [ { - key = "<leader>gc"; - action = "<cmd>Git commit<CR><C-w>K"; + key = "<leader>gc"; + action = "<cmd>Git commit<CR><C-w>K"; } { diff --git a/modules/home-manager/coding/neovim/config/plugins/gitsigns.nix b/modules/home-manager/coding/neovim/config/plugins/gitsigns.nix index c4f7fb4b..7c2d2b0b 100644 --- a/modules/home-manager/coding/neovim/config/plugins/gitsigns.nix +++ b/modules/home-manager/coding/neovim/config/plugins/gitsigns.nix @@ -27,7 +27,10 @@ { action = "<cmd>Gitsigns stage_hunk<CR>"; key = "<leader>hs"; - mode = ["n" "v"]; + mode = [ + "n" + "v" + ]; } { diff --git a/modules/home-manager/coding/neovim/config/plugins/mini.nix b/modules/home-manager/coding/neovim/config/plugins/mini.nix index 6f05654d..53176bae 100644 --- a/modules/home-manager/coding/neovim/config/plugins/mini.nix +++ b/modules/home-manager/coding/neovim/config/plugins/mini.nix @@ -3,13 +3,13 @@ enable = true; modules = { - ai = {}; - align = {}; - bracketed = {}; - move = {}; - operators = {}; - splitjoin = {}; - surround = {}; + ai = { }; + align = { }; + bracketed = { }; + move = { }; + operators = { }; + splitjoin = { }; + surround = { }; }; }; } diff --git a/modules/home-manager/coding/neovim/config/plugins/oil.nix b/modules/home-manager/coding/neovim/config/plugins/oil.nix index bf91a77f..cbe9645a 100644 --- a/modules/home-manager/coding/neovim/config/plugins/oil.nix +++ b/modules/home-manager/coding/neovim/config/plugins/oil.nix @@ -15,6 +15,9 @@ }; keymaps = lib.mkIf config.plugins.oil.enable [ - { action = "<cmd>Oil<CR>"; key = "-"; } + { + action = "<cmd>Oil<CR>"; + key = "-"; + } ]; } diff --git a/modules/home-manager/coding/neovim/config/plugins/refactoring.nix b/modules/home-manager/coding/neovim/config/plugins/refactoring.nix index e696e538..fc4c84a1 100644 --- a/modules/home-manager/coding/neovim/config/plugins/refactoring.nix +++ b/modules/home-manager/coding/neovim/config/plugins/refactoring.nix @@ -6,8 +6,8 @@ enableTelescope = true; }; - keymaps = - lib.mkIf config.plugins.refactoring.enable ([ + keymaps = lib.mkIf config.plugins.refactoring.enable ( + [ { key = "<leader>ri"; action = "<cmd>Refactor inline_var<CR>"; @@ -43,5 +43,6 @@ ''; options.silent = true; } - ]); + ] + ); } diff --git a/modules/home-manager/coding/neovim/config/plugins/telescope.nix b/modules/home-manager/coding/neovim/config/plugins/telescope.nix index 70d49d2b..86d0bbd3 100644 --- a/modules/home-manager/coding/neovim/config/plugins/telescope.nix +++ b/modules/home-manager/coding/neovim/config/plugins/telescope.nix @@ -29,4 +29,3 @@ settings.pickers.find_files.hidden = true; }; } - diff --git a/modules/home-manager/coding/neovim/config/plugins/treesitter.nix b/modules/home-manager/coding/neovim/config/plugins/treesitter.nix index fd6647a1..1d509575 100644 --- a/modules/home-manager/coding/neovim/config/plugins/treesitter.nix +++ b/modules/home-manager/coding/neovim/config/plugins/treesitter.nix @@ -44,4 +44,3 @@ treesitter-textobjects.enable = true; }; } - diff --git a/modules/home-manager/coding/neovim/config/plugins/undotree.nix b/modules/home-manager/coding/neovim/config/plugins/undotree.nix index 4a262eb9..2f523549 100644 --- a/modules/home-manager/coding/neovim/config/plugins/undotree.nix +++ b/modules/home-manager/coding/neovim/config/plugins/undotree.nix @@ -4,6 +4,9 @@ plugins.undotree.enable = true; keymaps = lib.mkIf config.plugins.undotree.enable [ - { action = "<cmd>UndotreeToggle<CR>"; key = "<leader>u"; } + { + action = "<cmd>UndotreeToggle<CR>"; + key = "<leader>u"; + } ]; } diff --git a/modules/home-manager/coding/neovim/config/plugins/vim-test.nix b/modules/home-manager/coding/neovim/config/plugins/vim-test.nix index e6e443d4..e35fbdef 100644 --- a/modules/home-manager/coding/neovim/config/plugins/vim-test.nix +++ b/modules/home-manager/coding/neovim/config/plugins/vim-test.nix @@ -4,8 +4,17 @@ plugins.vim-test.enable = true; keymaps = lib.mkIf config.plugins.vim-test.enable [ - { key = "<leader>tf"; action = "<cmd>TestFile<CR>"; } - { key = "<leader>tl"; action = "<cmd>TestLast<CR>"; } - { key = "<leader>tn"; action = "<cmd>TestNearest<CR>"; } + { + key = "<leader>tf"; + action = "<cmd>TestFile<CR>"; + } + { + key = "<leader>tl"; + action = "<cmd>TestLast<CR>"; + } + { + key = "<leader>tn"; + action = "<cmd>TestNearest<CR>"; + } ]; } diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/desktop/browsers/qutebrowser.nix index 000c00d0..407424bf 100644 --- a/modules/home-manager/desktop/browsers/qutebrowser.nix +++ b/modules/home-manager/desktop/browsers/qutebrowser.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,8 +11,7 @@ let cfg = config.features.desktop.browsers.qutebrowser; in { - options.features.desktop.browsers.qutebrowser.enable = - mkEnableOption "Enable qutebrowser"; + options.features.desktop.browsers.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; config = mkIf cfg.enable { programs.qutebrowser = { diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/desktop/media/mpv.nix index 36252b52..4e685082 100644 --- a/modules/home-manager/desktop/media/mpv.nix +++ b/modules/home-manager/desktop/media/mpv.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/modules/nixos/cli/kanata.nix b/modules/nixos/cli/kanata.nix index 394b4c6f..dc56a4a6 100644 --- a/modules/nixos/cli/kanata.nix +++ b/modules/nixos/cli/kanata.nix @@ -4,14 +4,19 @@ let cfg = config.features.cli.${service}; service = "kanata"; - inherit (lib) mkEnableOption mkIf mkOption types; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + ; in { options.features.cli.${service} = { enable = mkEnableOption "Enable ${service}"; devices = mkOption { - default = []; + default = [ ]; type = types.listOf types.str; }; }; From 1ba47150d1496b75f5ed67d3487a11567c488db6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 10 Jul 2025 23:02:21 +0100 Subject: [PATCH 1987/2258] Move qrencode --- home-manager/opdavies/t480.nix | 1 + users/opdavies.nix | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 80c1685c..fb49a7eb 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -100,6 +100,7 @@ backup-websites build-glove80 displayselect + qrencode mounter move-firefox-screenshots setbg diff --git a/users/opdavies.nix b/users/opdavies.nix index f810d742..14bb50c7 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -24,7 +24,6 @@ with lib; packages = with pkgs; [ comma magic-wormhole - qrencode ]; openssh.authorizedKeys.keys = [ From c676972d0b1792a69baafa9d59e5d7ac0eecd38d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 00:39:08 +0100 Subject: [PATCH 1988/2258] Add yt-dlp --- home-manager/opdavies/nixedo.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 8c735ce7..b9cb643d 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { imports = [ ../common @@ -10,4 +12,8 @@ starship.enable = true; zsh.enable = true; }; + + home.packages = with pkgs; [ + yt-dlp + ]; } From e5ae3a4be74fb7ec70c2097f7d7b8940bcd65680 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 01:31:02 +0100 Subject: [PATCH 1989/2258] Add `timer` script Based on https://github.com/sdaschner/dotfiles/blob/6b71b580dea4f9762727e0b2d7477226ade182f4/bin/timer and https://github.com/sdaschner/dotfiles/blob/6b71b580dea4f9762727e0b2d7477226ade182f4/bin/_timer. --- home-manager/opdavies/t480.nix | 1 + packages/_timer.nix | 19 +++++++++++++++++++ packages/default.nix | 2 ++ packages/timer.nix | 21 +++++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 packages/_timer.nix create mode 100644 packages/timer.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index fb49a7eb..03ac0cd0 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -105,6 +105,7 @@ move-firefox-screenshots setbg tag-release + timer todos-add unmounter update-all-git-repos diff --git a/packages/_timer.nix b/packages/_timer.nix new file mode 100644 index 00000000..6dd00e3b --- /dev/null +++ b/packages/_timer.nix @@ -0,0 +1,19 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "_timer"; + + runtimeInputs = with pkgs; [ + coreutils + libnotify + ]; + + text = '' + mins=$1 + message=''${2:-Time out!} + + sleep $((mins * 60)) + + notify-send -t 0 "''${message}" "Your timer of $mins min is over" -u normal + ''; +} diff --git a/packages/default.nix b/packages/default.nix index 892661f7..42aa2aca 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -6,6 +6,7 @@ let vimPlugins = callPackage ./vim-plugins { }; in { + _timer = callPackage ./_timer.nix { }; backup-websites = callPackage ./backup-websites.nix { }; build-glove80 = callPackage ./build-glove80.nix { }; create-script = callPackage ./create-script.nix { }; @@ -17,6 +18,7 @@ in passmenu-otp = callPackage ./passmenu-otp.nix { }; setbg = callPackage ./setbg.nix { }; tag-release = callPackage ./tag-release.nix { }; + timer = callPackage ./timer.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; todos-add = callPackage ./todos-add.nix { }; unmounter = callPackage ./unmounter.nix { }; diff --git a/packages/timer.nix b/packages/timer.nix new file mode 100644 index 00000000..8580c10c --- /dev/null +++ b/packages/timer.nix @@ -0,0 +1,21 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "timer"; + + runtimeInputs = with pkgs; [ + _timer + coreutils + systemdMinimal + ]; + + text = '' + mins=$1 + message="''${2:-}" + + nohup _timer "$mins" "$message" &> /dev/null & + + echo "timer started for $mins min" + echo "timer started for $mins min, message: '$message'" | systemd-cat -t timer + ''; +} From 263d8e7cd3d908c3fc191f18a182fb2ce01dd865 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 01:40:00 +0100 Subject: [PATCH 1990/2258] Re-enable `create-script` --- home-manager/opdavies/PW05CH3L.nix | 1 + home-manager/opdavies/t480.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 7a3da97d..55e0f55b 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -38,6 +38,7 @@ }; home.packages = with pkgs; [ + create-script tag-release todos-add update-all-git-repos diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 03ac0cd0..6c541251 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -99,6 +99,7 @@ home.packages = with pkgs; [ backup-websites build-glove80 + create-script displayselect qrencode mounter From 3c76e2edea8f515b5457274dc637b37970fc9048 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 01:50:28 +0100 Subject: [PATCH 1991/2258] Add `time-until` script --- home-manager/opdavies/PW05CH3L.nix | 1 + home-manager/opdavies/t480.nix | 1 + packages/default.nix | 1 + packages/time-until.nix | 27 +++++++++++++++++++++++++++ 4 files changed, 30 insertions(+) create mode 100644 packages/time-until.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 55e0f55b..9d511468 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -40,6 +40,7 @@ home.packages = with pkgs; [ create-script tag-release + time-until todos-add update-all-git-repos ]; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 6c541251..b1a96869 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -106,6 +106,7 @@ move-firefox-screenshots setbg tag-release + time-until timer todos-add unmounter diff --git a/packages/default.nix b/packages/default.nix index 42aa2aca..c9ee6d47 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -18,6 +18,7 @@ in passmenu-otp = callPackage ./passmenu-otp.nix { }; setbg = callPackage ./setbg.nix { }; tag-release = callPackage ./tag-release.nix { }; + time-until = callPackage ./time-until.nix { }; timer = callPackage ./timer.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; todos-add = callPackage ./todos-add.nix { }; diff --git a/packages/time-until.nix b/packages/time-until.nix new file mode 100644 index 00000000..82e1c821 --- /dev/null +++ b/packages/time-until.nix @@ -0,0 +1,27 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "time-until"; + + runtimeInputs = with pkgs; [ bc ]; + + text = '' + # Based on https://github.com/sdaschner/dotfiles/blob/master/bin/time-until. + set +o nounset + + if [[ "$1" == "" ]]; then + echo "Usage: ''${0##*/} <date-string>" + echo " Example: ''${0##*/} 'tomorrow 06:00'" + exit 2 + fi + + set -o nounset + + secsUntil=$(( $(date +%s -d "$*") - $( date +%s ) )) + minutesUntil=$(bc <<< "scale=1; $secsUntil/60") + hoursUntil=$(bc <<< "scale=2; $secsUntil/3600") + date=$(date -d "$*") + + echo "$hoursUntil hours (or $minutesUntil mins) until $date" + ''; +} From 2bd14ac1a8051bdbd11b095b8c7f4096f0498b6a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 02:00:23 +0100 Subject: [PATCH 1992/2258] Add `git-graph` script --- modules/home-manager/cli/git.nix | 1 + packages/default.nix | 1 + packages/git-graph.nix | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 packages/git-graph.nix diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 765f366a..12c8fafe 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -170,6 +170,7 @@ in home = { packages = with pkgs; [ git-extras + git-graph git-trim stable.git-instafix ]; diff --git a/packages/default.nix b/packages/default.nix index c9ee6d47..adfc90d6 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -12,6 +12,7 @@ in create-script = callPackage ./create-script.nix { }; dev-commit = callPackage ./dev-commit.nix { }; displayselect = callPackage ./displayselect { }; + git-graph = callPackage ./git-graph.nix { }; mounter = callPackage ./mounter.nix { }; move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; notes = callPackage ./notes { }; diff --git a/packages/git-graph.nix b/packages/git-graph.nix new file mode 100644 index 00000000..4e719bc5 --- /dev/null +++ b/packages/git-graph.nix @@ -0,0 +1,17 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "git-graph"; + + runtimeInputs = with pkgs; [ git ]; + + text = '' + # Based on https://github.com/sdaschner/dotfiles/blob/master/bin/git-graph. + + git log \ + --abbrev-commit \ + --all \ + --graph \ + --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%ae>%Creset" + ''; +} From 839779236c3ceb2e2da3f717339d588a2de94617 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 10:07:09 +0100 Subject: [PATCH 1993/2258] Re-add `todos-edit` --- home-manager/opdavies/PW05CH3L.nix | 1 + home-manager/opdavies/t480.nix | 1 + packages/default.nix | 1 + packages/todos-edit.nix | 9 +++++++++ 4 files changed, 12 insertions(+) create mode 100755 packages/todos-edit.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 9d511468..eb4d65b1 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -42,6 +42,7 @@ tag-release time-until todos-add + todos-edit update-all-git-repos ]; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index b1a96869..9831e2c0 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -109,6 +109,7 @@ time-until timer todos-add + todos-edit unmounter update-all-git-repos ]; diff --git a/packages/default.nix b/packages/default.nix index adfc90d6..92d042eb 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -23,6 +23,7 @@ in timer = callPackage ./timer.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; todos-add = callPackage ./todos-add.nix { }; + todos-edit = callPackage ./todos-edit.nix { }; unmounter = callPackage ./unmounter.nix { }; update-all-git-repos = callPackage ./update-all-git-repos.nix { }; diff --git a/packages/todos-edit.nix b/packages/todos-edit.nix new file mode 100755 index 00000000..f65913a4 --- /dev/null +++ b/packages/todos-edit.nix @@ -0,0 +1,9 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "todos-edit"; + + text = '' + exec "$EDITOR" "$HOME/Documents/wiki/todo.txt" + ''; +} From 81a939e89787e5197219aa64d51d5640e34bb58a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 11:33:25 +0100 Subject: [PATCH 1994/2258] Remove todo scripts --- home-manager/opdavies/PW05CH3L.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index eb4d65b1..b887d65d 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -41,8 +41,6 @@ create-script tag-release time-until - todos-add - todos-edit update-all-git-repos ]; From 559d5239c532bc2ee916324fdf1e9d2148536339 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 11:46:01 +0100 Subject: [PATCH 1995/2258] Add `vix` command Based on https://github.com/rwxrob/dot/blob/main/scripts/vic and https://github.com/etomtomm/dot/blob/main/bin/vix. --- home-manager/opdavies/PW05CH3L.nix | 1 + home-manager/opdavies/t480.nix | 1 + packages/default.nix | 1 + packages/vix.nix | 10 ++++++++++ 4 files changed, 13 insertions(+) create mode 100755 packages/vix.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index b887d65d..7c2a597d 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -42,6 +42,7 @@ tag-release time-until update-all-git-repos + vix ]; xdg.configFile."pam-gnupg".text = '' diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 9831e2c0..0572b0c4 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -112,6 +112,7 @@ todos-edit unmounter update-all-git-repos + vix ]; xdg.configFile."pam-gnupg".text = '' diff --git a/packages/default.nix b/packages/default.nix index 92d042eb..ef78b7b3 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -26,6 +26,7 @@ in todos-edit = callPackage ./todos-edit.nix { }; unmounter = callPackage ./unmounter.nix { }; update-all-git-repos = callPackage ./update-all-git-repos.nix { }; + vix = callPackage ./vix.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/packages/vix.nix b/packages/vix.nix new file mode 100755 index 00000000..6d883083 --- /dev/null +++ b/packages/vix.nix @@ -0,0 +1,10 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "vix"; + + text = '' + cmd=$(command -v "$1") + test -n "$cmd" && exec "$EDITOR" "$cmd" + ''; +} From adfe90c99b4c39f0af4ec343284015e51b73be46 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 12:28:42 +0100 Subject: [PATCH 1996/2258] Add `get-tags` and `count-tags` scripts Add `get-tags` and `count-tags` scripts to get and count Git tags within a repository, including the ability to filter tags - e.g. only get or count tags that begin with a certain date. --- home-manager/opdavies/PW05CH3L.nix | 2 ++ home-manager/opdavies/t480.nix | 2 ++ packages/count-tags.nix | 14 ++++++++++++++ packages/default.nix | 2 ++ packages/get-tags.nix | 19 +++++++++++++++++++ 5 files changed, 39 insertions(+) create mode 100755 packages/count-tags.nix create mode 100755 packages/get-tags.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 7c2a597d..b60341fa 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -38,7 +38,9 @@ }; home.packages = with pkgs; [ + count-tags create-script + get-tags tag-release time-until update-all-git-repos diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 0572b0c4..a1016614 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -99,8 +99,10 @@ home.packages = with pkgs; [ backup-websites build-glove80 + count-tags create-script displayselect + get-tags qrencode mounter move-firefox-screenshots diff --git a/packages/count-tags.nix b/packages/count-tags.nix new file mode 100755 index 00000000..c5e046fa --- /dev/null +++ b/packages/count-tags.nix @@ -0,0 +1,14 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "count-tags"; + + runtimeInputs = with pkgs; [ + coreutils + get-tags + ]; + + text = '' + get-tags "''${1:-}" | wc -l + ''; +} diff --git a/packages/default.nix b/packages/default.nix index ef78b7b3..dd072b6e 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -9,9 +9,11 @@ in _timer = callPackage ./_timer.nix { }; backup-websites = callPackage ./backup-websites.nix { }; build-glove80 = callPackage ./build-glove80.nix { }; + count-tags = callPackage ./count-tags.nix { }; create-script = callPackage ./create-script.nix { }; dev-commit = callPackage ./dev-commit.nix { }; displayselect = callPackage ./displayselect { }; + get-tags = callPackage ./get-tags.nix { }; git-graph = callPackage ./git-graph.nix { }; mounter = callPackage ./mounter.nix { }; move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; diff --git a/packages/get-tags.nix b/packages/get-tags.nix new file mode 100755 index 00000000..b05a6643 --- /dev/null +++ b/packages/get-tags.nix @@ -0,0 +1,19 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "get-tags"; + + runtimeInputs = with pkgs; [ + git + unixtools.column + ]; + + text = '' + if [[ "$#" -gt 0 ]]; then + git tag | grep "$*" + exit 0 + fi + + git tag + ''; +} From 21bbb4a32e3b563aedf1ce45161c427722c600c8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 18:31:19 +0100 Subject: [PATCH 1997/2258] Rename --- home-manager/opdavies/t480.nix | 2 +- modules/nixos/desktop/dwm/xinitrc | 2 +- packages/default.nix | 2 +- packages/{setbg.nix => set-background.nix} | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename packages/{setbg.nix => set-background.nix} (88%) diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index a1016614..1996a734 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -106,7 +106,7 @@ qrencode mounter move-firefox-screenshots - setbg + set-background tag-release time-until timer diff --git a/modules/nixos/desktop/dwm/xinitrc b/modules/nixos/desktop/dwm/xinitrc index 5f8cc351..fd87d8c1 100644 --- a/modules/nixos/desktop/dwm/xinitrc +++ b/modules/nixos/desktop/dwm/xinitrc @@ -1,6 +1,6 @@ systemctl --user import-environment DISPLAY poweralertd -s & -setbg & +set-background & systemctl --user start dwm-status & sxhkd & diff --git a/packages/default.nix b/packages/default.nix index dd072b6e..4535746d 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -19,7 +19,7 @@ in move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; - setbg = callPackage ./setbg.nix { }; + set-background = callPackage ./set-background.nix { }; tag-release = callPackage ./tag-release.nix { }; time-until = callPackage ./time-until.nix { }; timer = callPackage ./timer.nix { }; diff --git a/packages/setbg.nix b/packages/set-background.nix similarity index 88% rename from packages/setbg.nix rename to packages/set-background.nix index 2b71fd8b..8bd581f8 100644 --- a/packages/setbg.nix +++ b/packages/set-background.nix @@ -1,7 +1,7 @@ { pkgs, writeShellApplication }: writeShellApplication { - name = "setbg"; + name = "set-background"; runtimeInputs = with pkgs; [ xwallpaper ]; From d10157725f96f4cd598a1f6025f8d02c23040823 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 11 Jul 2025 18:58:01 +0100 Subject: [PATCH 1998/2258] Remove column --- packages/get-tags.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/get-tags.nix b/packages/get-tags.nix index b05a6643..ac27898d 100755 --- a/packages/get-tags.nix +++ b/packages/get-tags.nix @@ -3,10 +3,7 @@ pkgs.writeShellApplication { name = "get-tags"; - runtimeInputs = with pkgs; [ - git - unixtools.column - ]; + runtimeInputs = with pkgs; [ git ]; text = '' if [[ "$#" -gt 0 ]]; then From 19dbcc89f4b90bdce8794502bdfa6fab172eddb1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 12 Jul 2025 16:33:20 +0100 Subject: [PATCH 1999/2258] Enable Treesitter highlights --- .../home-manager/coding/neovim/config/plugins/treesitter.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home-manager/coding/neovim/config/plugins/treesitter.nix b/modules/home-manager/coding/neovim/config/plugins/treesitter.nix index 1d509575..34b43940 100644 --- a/modules/home-manager/coding/neovim/config/plugins/treesitter.nix +++ b/modules/home-manager/coding/neovim/config/plugins/treesitter.nix @@ -39,6 +39,8 @@ xml yaml ]; + + settings.highlight.enable = true; }; treesitter-textobjects.enable = true; From a620888277654fa413d14413d0d2a4ce82d1ad56 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 12 Jul 2025 16:33:50 +0100 Subject: [PATCH 2000/2258] Refactor --- packages/backup-websites.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/backup-websites.nix b/packages/backup-websites.nix index d70cd8b7..fd7828df 100644 --- a/packages/backup-websites.nix +++ b/packages/backup-websites.nix @@ -1,13 +1,15 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: pkgs.writeShellApplication { name = "backup-websites"; + runtimeInputs = with pkgs; [ rsync ]; + text = '' - backup_path="''${HOME}/server-backup" + backup_path="''$HOME/server-backup" - mkdir -p "''${backup_path}" + mkdir -p "''$backup_path" - ${lib.getExe pkgs.rsync} -avzP nixedo.local:/var/www/vhosts/ "''${backup_path}" --delete-after + rsync -avzP nixedo.oliverdavies.uk:/var/www/vhosts/ "''$backup_path" --delete-after ''; } From d4e5faf6c47b0e12eaef10a5ebbd3fd4639cef81 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 12 Jul 2025 17:39:44 +0100 Subject: [PATCH 2001/2258] Add `git-exclude` A Git commit that easily excludes files by adding them to `.git/info/exclude`. --- modules/home-manager/cli/git.nix | 1 + packages/default.nix | 1 + packages/git-exclude.nix | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 packages/git-exclude.nix diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/cli/git.nix index 12c8fafe..762bb8db 100644 --- a/modules/home-manager/cli/git.nix +++ b/modules/home-manager/cli/git.nix @@ -169,6 +169,7 @@ in home = { packages = with pkgs; [ + git-exclude git-extras git-graph git-trim diff --git a/packages/default.nix b/packages/default.nix index 4535746d..8564ac07 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -14,6 +14,7 @@ in dev-commit = callPackage ./dev-commit.nix { }; displayselect = callPackage ./displayselect { }; get-tags = callPackage ./get-tags.nix { }; + git-exclude = callPackage ./git-exclude.nix { }; git-graph = callPackage ./git-graph.nix { }; mounter = callPackage ./mounter.nix { }; move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; diff --git a/packages/git-exclude.nix b/packages/git-exclude.nix new file mode 100644 index 00000000..45e3cbdb --- /dev/null +++ b/packages/git-exclude.nix @@ -0,0 +1,24 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "git-exclude"; + + runtimeInputs = with pkgs; [ git ]; + + text = '' + # Based on https://github.com/jfly/snow/blob/fb727b39736666f54908f4dc7c83dd6284607c5a/machines/pattern/homies/bin/git-exclude. + + root=$(git rev-parse --show-toplevel) + rel=$(realpath --relative-to "$root" .) + + # For some reason, ignore rules like "./.envrc" don't seem to work, but + # "/.envrc" does. :shrug: + if [ "$rel" = "." ]; then + rel="" + fi + + for item in "$@"; do + echo "''${rel}/$item" >> "$root/.git/info/exclude" + done + ''; +} From e24f8f8f0aa55678aeda6e10f4b8dd55a7ddafbf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 13 Jul 2025 23:12:58 +0100 Subject: [PATCH 2002/2258] nixedo: add `vix` --- home-manager/opdavies/nixedo.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index b9cb643d..9bb4a37f 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -14,6 +14,7 @@ }; home.packages = with pkgs; [ + vix yt-dlp ]; } From a9e3ec7ada642698300ff70af255d43c89d50a66 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 13 Jul 2025 23:15:31 +0100 Subject: [PATCH 2003/2258] Add neovim --- packages/vix.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/vix.nix b/packages/vix.nix index 6d883083..667882d2 100755 --- a/packages/vix.nix +++ b/packages/vix.nix @@ -3,6 +3,8 @@ pkgs.writeShellApplication { name = "vix"; + runtimeInputs = with pkgs; [ neovim ]; + text = '' cmd=$(command -v "$1") test -n "$cmd" && exec "$EDITOR" "$cmd" From 777e9a6a4ca8b3e5eaa701a1437921bb2e0c3b5c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 13 Jul 2025 23:17:44 +0100 Subject: [PATCH 2004/2258] Add `import-to-jellyfin` script --- home-manager/opdavies/nixedo.nix | 1 + packages/default.nix | 1 + packages/import-to-jellyfin.nix | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 packages/import-to-jellyfin.nix diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 9bb4a37f..8b423f76 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -14,6 +14,7 @@ }; home.packages = with pkgs; [ + import-to-jellyfin vix yt-dlp ]; diff --git a/packages/default.nix b/packages/default.nix index 8564ac07..773ae863 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -16,6 +16,7 @@ in get-tags = callPackage ./get-tags.nix { }; git-exclude = callPackage ./git-exclude.nix { }; git-graph = callPackage ./git-graph.nix { }; + import-to-jellyfin = callPackage ./import-to-jellyfin.nix { }; mounter = callPackage ./mounter.nix { }; move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; notes = callPackage ./notes { }; diff --git a/packages/import-to-jellyfin.nix b/packages/import-to-jellyfin.nix new file mode 100644 index 00000000..11bcb7c0 --- /dev/null +++ b/packages/import-to-jellyfin.nix @@ -0,0 +1,27 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "import-to-jellyfin"; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = '' + source_path="/home/opdavies/import" + + mapfile -t files < <(find "$source_path" -type f -name "*.mp4") + + for filepath in "''${files[@]}"; do + echo "Moving $filepath..." + + filename="$(basename "$filepath")" + filename_without_extension="''${filename%.mp4}" + + destination_path="/mnt/media/jellyfin/Movies/$filename_without_extension" + mkdir -p "$destination_path" + + mv "$source_path/$filename" "$destination_path" + done + + chown -R jellyfin:media /mnt/media/jellyfin + ''; +} From 0cdca7d5a1fc7cf5dda9228e7944f641f47f8d08 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 14 Jul 2025 12:02:36 +0100 Subject: [PATCH 2005/2258] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 5c679fe6..3a13a311 100644 --- a/flake.lock +++ b/flake.lock @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1752093218, - "narHash": "sha256-+3rXu8ewcNDi65/2mKkdSGrivQs5zEZVp5aYszXC0d0=", + "lastModified": 1752467539, + "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", "owner": "nix-community", "repo": "home-manager", - "rev": "206ed3c71418b52e176f16f58805c96e84555320", + "rev": "1e54837569e0b80797c47be4720fab19e0db1616", "type": "github" }, "original": { @@ -230,11 +230,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1752138162, - "narHash": "sha256-ClgAN2eyqlkRjpnU9y0AL+Rg3ICs5k2sJvCjuSit57A=", + "lastModified": 1752199438, + "narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "11500b1ad1c01f7ade38b487924ae89f69f3d022", + "rev": "d34d9412556d3a896e294534ccd25f53b6822e80", "type": "github" }, "original": { @@ -319,11 +319,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1752145001, - "narHash": "sha256-IVtaLIl1e1UP9p/8dDeaZdFxsnQuN9v1/NQ2CJBe56A=", + "lastModified": 1752447041, + "narHash": "sha256-n5DPC4+lI9/gM0cdogohOUjiz50jhZ5l+Xg5Ucrj76w=", "owner": "nix-community", "repo": "nixvim", - "rev": "db7c5364a58e1d9519bb4e1e0e13abb0a368376f", + "rev": "eeec7f7c31f84b33d3c52365b073e06c21104521", "type": "github" }, "original": { @@ -340,11 +340,11 @@ ] }, "locked": { - "lastModified": 1752144852, - "narHash": "sha256-1s8jbF8TVEQkyrV/mmho7KSnjUFJqhnGQ457CNCOfpE=", + "lastModified": 1752488814, + "narHash": "sha256-jC19wFMetNg0+AgXKFN2UUYI1VSmFbMNGIACz865ieY=", "owner": "nix-community", "repo": "NUR", - "rev": "c99a321ed335ebde63ad94b828700884db7c0f7d", + "rev": "6e3de6093a24744f2608840cef9d376e3e946743", "type": "github" }, "original": { From caeb674cbb89fbd53a62807d36bc62d925ec5283 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 14 Jul 2025 21:10:53 +0100 Subject: [PATCH 2006/2258] Update patch --- packages/tmux-sessionizer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix index 4a586220..45efb1ab 100644 --- a/packages/tmux-sessionizer/default.nix +++ b/packages/tmux-sessionizer/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { patches = [ (fetchpatch { name = "Sort directories alphabetically #23"; - sha256 = "sha256-/5ob/cVieu/qq0keFOJy2sq0NNdbUiy9k2a8/6ydju4="; + sha256 = "sha256-fM5F6Qs1fFXU4G7BFmYoD4L/oo2ZWh3RgE8MRCyUph4="; url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; }) ]; From 7d4196e9fd3ff7af490dc2ceed16a99cc53421f3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 15 Jul 2025 01:37:25 +0100 Subject: [PATCH 2007/2258] Revert "Serve /daily from Tome" This reverts commit fc8bdf3bce532f0efb5d4024a64d8102352f5d90. --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index e8a515c4..699fe6a8 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -16,7 +16,6 @@ let "at" "automated-testing" "core" - "daily" "daily/.+" "examples" "homelab" From e3caa91477a2f7dd09bc4fdbb8887ce03490fb49 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 15 Jul 2025 09:34:25 +0100 Subject: [PATCH 2008/2258] Update patch --- packages/tmux-sessionizer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix index 45efb1ab..ee8b9a96 100644 --- a/packages/tmux-sessionizer/default.nix +++ b/packages/tmux-sessionizer/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { patches = [ (fetchpatch { name = "Sort directories alphabetically #23"; - sha256 = "sha256-fM5F6Qs1fFXU4G7BFmYoD4L/oo2ZWh3RgE8MRCyUph4="; + sha256 = "sha256-AtaOlV2JSeR0BmDsfuv8ZFbu5G0vz4RdUPY4ZF4UqQc="; url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; }) ]; From 722a5814fa57eee2fed9a71e6b1c4283caa0a508 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 15 Jul 2025 09:49:11 +0100 Subject: [PATCH 2009/2258] Shorten directory paths --- packages/tmux-sessionizer/default.nix | 2 ++ packages/tmux-sessionizer/shorten-paths.patch | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 packages/tmux-sessionizer/shorten-paths.patch diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix index ee8b9a96..f209ffdd 100644 --- a/packages/tmux-sessionizer/default.nix +++ b/packages/tmux-sessionizer/default.nix @@ -31,5 +31,7 @@ stdenv.mkDerivation { sha256 = "sha256-AtaOlV2JSeR0BmDsfuv8ZFbu5G0vz4RdUPY4ZF4UqQc="; url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; }) + + ./shorten-paths.patch ]; } diff --git a/packages/tmux-sessionizer/shorten-paths.patch b/packages/tmux-sessionizer/shorten-paths.patch new file mode 100644 index 00000000..2283b5fb --- /dev/null +++ b/packages/tmux-sessionizer/shorten-paths.patch @@ -0,0 +1,23 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index 036d2a3..cd11500 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -252,7 +252,7 @@ find_dirs() { + if [[ -d "$path" ]]; then + while IFS= read -r dir; do + dir_list+=("$dir") +- done < <(find "$path" -mindepth 1 -maxdepth "$depth" -path '*/.git' -prune -o -type d -print) ++ done < <(find "$path" -mindepth 1 -maxdepth "$depth" -path '*/.git' -prune -o -type d -print | sed "s#$HOME/##" ) + fi + done + +@@ -341,6 +341,9 @@ fi + + if [[ "$selected" =~ ^\[TMUX\]\ (.+)$ ]]; then + selected="${BASH_REMATCH[1]}" ++else ++ # Re-add the Home directory back to the selected path. ++ selected="$HOME/$selected" + fi + + selected_name=$(basename "$selected" | tr . _) From 2870a256dabdab0638f5e175b5261bb33d16d22e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 15 Jul 2025 12:00:00 +0100 Subject: [PATCH 2010/2258] Add `zet-new` script --- home-manager/opdavies/PW05CH3L.nix | 1 + home-manager/opdavies/t480.nix | 1 + packages/default.nix | 1 + packages/zet-new.nix | 21 +++++++++++++++++++++ 4 files changed, 24 insertions(+) create mode 100644 packages/zet-new.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index b60341fa..55cb3b65 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -45,6 +45,7 @@ time-until update-all-git-repos vix + zet-new ]; xdg.configFile."pam-gnupg".text = '' diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 1996a734..44d271ea 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -115,6 +115,7 @@ unmounter update-all-git-repos vix + zet-new ]; xdg.configFile."pam-gnupg".text = '' diff --git a/packages/default.nix b/packages/default.nix index 773ae863..ec591e8e 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -31,6 +31,7 @@ in unmounter = callPackage ./unmounter.nix { }; update-all-git-repos = callPackage ./update-all-git-repos.nix { }; vix = callPackage ./vix.nix { }; + zet-new = callPackage ./zet-new.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/packages/zet-new.nix b/packages/zet-new.nix new file mode 100644 index 00000000..dd82ee8b --- /dev/null +++ b/packages/zet-new.nix @@ -0,0 +1,21 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "zet-new"; + + runtimeInputs = with pkgs; [ + coreutils + ]; + + text = '' + folder="''${ZET_DIR:-"$XDG_DOCUMENTS_DIR/wiki/zet"}" + + mkdir -p "$folder" + + note="$folder/$(date +%Y-%m-%d-%T | sed 's/[-:]//g').md" + + printf "# %s\n\n\n" "$1" > "$note" + + "$EDITOR" "+normal G" "$note" + ''; +} From 21e54a64ce8f0c2e8e155a370634a7c3333493fb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 16 Jul 2025 00:57:10 +0100 Subject: [PATCH 2011/2258] Group notes in sub-directories by year and month --- packages/zet-new.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/zet-new.nix b/packages/zet-new.nix index dd82ee8b..a19aad48 100644 --- a/packages/zet-new.nix +++ b/packages/zet-new.nix @@ -8,7 +8,7 @@ pkgs.writeShellApplication { ]; text = '' - folder="''${ZET_DIR:-"$XDG_DOCUMENTS_DIR/wiki/zet"}" + folder="''${ZET_DIR:-"$XDG_DOCUMENTS_DIR/wiki/zet"}/$(date +%Y)/$(date +%m)" mkdir -p "$folder" From ca1160b317760452ed8f484e0045e9d4ab9df8b6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 17 Jul 2025 12:11:21 +0100 Subject: [PATCH 2012/2258] Remove patch --- packages/notes/change-filename-format.patch | 13 ------------- packages/notes/default.nix | 4 ---- 2 files changed, 17 deletions(-) delete mode 100644 packages/notes/change-filename-format.patch diff --git a/packages/notes/change-filename-format.patch b/packages/notes/change-filename-format.patch deleted file mode 100644 index 6baea3be..00000000 --- a/packages/notes/change-filename-format.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/notes b/notes -index 3351903..34364bf 100755 ---- a/notes -+++ b/notes -@@ -14,7 +14,7 @@ set -e - readonly NOTES_DIRECTORY="${NOTES_DIRECTORY:-${HOME}/notes}" - readonly NOTES_EDITOR="${EDITOR}" - --readonly NOTES_FILE="$(date +%Y-%m).txt" -+readonly NOTES_FILE="$(date +%Y-%m-%d).txt" - readonly NOTES_PATH="${NOTES_DIRECTORY}/${NOTES_FILE}" - - if [ ! -d "${NOTES_DIRECTORY}" ]; then diff --git a/packages/notes/default.nix b/packages/notes/default.nix index bf70b196..0bf50ea4 100644 --- a/packages/notes/default.nix +++ b/packages/notes/default.nix @@ -15,10 +15,6 @@ stdenv.mkDerivation rec { buildInputs = [ bash ]; - patches = [ - ./change-filename-format.patch - ]; - installPhase = '' mkdir -p $out/bin cp notes $out/bin/notes From 198c2e9d590415780dc14834cb2d7792a4e86a28 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 17 Jul 2025 12:48:47 +0100 Subject: [PATCH 2013/2258] Add nix-index-database --- flake.lock | 21 +++++++++++++++++++++ flake.nix | 5 +++++ modules/nixos/default.nix | 1 + modules/nixos/nix-index.nix | 7 +++++++ users/opdavies.nix | 1 - 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/nix-index.nix diff --git a/flake.lock b/flake.lock index 3a13a311..ae6c61a2 100644 --- a/flake.lock +++ b/flake.lock @@ -208,6 +208,26 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752441837, + "narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "839e02dece5845be3a322e507a79712b73a96ba2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1752048960, @@ -382,6 +402,7 @@ "disko": "disko", "flake-parts": "flake-parts", "home-manager": "home-manager_2", + "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_2", diff --git a/flake.nix b/flake.nix index f7d6663e..405da7f2 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,11 @@ url = "github:nix-community/home-manager/master"; }; + nix-index-database = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/nix-index-database"; + }; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 47599e64..53f94a96 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -22,6 +22,7 @@ ./homelab/gitea-actions-runner.nix + ./nix-index.nix ./nixpad ]; } diff --git a/modules/nixos/nix-index.nix b/modules/nixos/nix-index.nix new file mode 100644 index 00000000..614416bd --- /dev/null +++ b/modules/nixos/nix-index.nix @@ -0,0 +1,7 @@ +{ inputs, ... }: + +{ + imports = [ inputs.nix-index-database.nixosModules.nix-index ]; + + programs.nix-index-database.comma.enable = true; +} diff --git a/users/opdavies.nix b/users/opdavies.nix index 14bb50c7..0c60e68f 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -22,7 +22,6 @@ with lib; ++ optional config.features.cli.podman.enable "podman"; packages = with pkgs; [ - comma magic-wormhole ]; From ab5ae74dda4940e84909d02f561782b683c51837 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 17 Jul 2025 20:37:44 +0100 Subject: [PATCH 2014/2258] Update forgejo settings --- hosts/nixedo/modules/forgejo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 89da0991..40d4ba07 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -8,10 +8,13 @@ settings = { server = { DOMAIN = "code.oliverdavies.uk"; + LANDING_PAGE = "explore"; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; }; service.DISABLE_REGISTRATION = true; + + ui.DEFAULT_THEME = "forgejo-auto"; }; }; From d1a58fec569153cc6056c478a557fdb9bc6519d8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 17 Jul 2025 21:16:39 +0100 Subject: [PATCH 2015/2258] Flatten modules --- flake-modules/packages.nix | 2 +- modules/home-manager/{cli => }/bluetuith.nix | 0 .../home-manager/{cli => }/bookmarkthis.nix | 0 .../{desktop => }/browsers/chromium.nix | 0 .../{desktop => }/browsers/firefox.nix | 18 +++++++ .../{desktop => }/browsers/qutebrowser.nix | 0 modules/home-manager/default.nix | 54 +++++++++---------- modules/home-manager/{cli => }/dev-commit.nix | 0 modules/home-manager/{cli => }/direnv.nix | 0 .../home-manager/{desktop => }/flameshot.nix | 0 modules/home-manager/{cli => }/fzf.nix | 0 modules/home-manager/{cli => }/git.nix | 0 modules/home-manager/{core => }/gnupg.nix | 0 modules/home-manager/{desktop => }/gtk.nix | 0 .../{desktop => }/media/handbrake.nix | 0 .../{desktop => }/media/makemkv.nix | 0 .../home-manager/{desktop => }/media/mpv.nix | 0 .../{coding => }/neovim/config/default.nix | 0 .../{coding => }/neovim/config/keymaps.nix | 0 .../{coding => }/neovim/config/options.nix | 0 .../neovim/config/plugins/auto-save.nix | 0 .../neovim/config/plugins/cmp.nix | 0 .../neovim/config/plugins/conform.nix | 0 .../neovim/config/plugins/fidget.nix | 0 .../neovim/config/plugins/fugitive.nix | 0 .../neovim/config/plugins/gitsigns.nix | 0 .../neovim/config/plugins/harpoon.nix | 0 .../neovim/config/plugins/lint.nix | 0 .../neovim/config/plugins/lsp.nix | 0 .../neovim/config/plugins/lualine.nix | 0 .../neovim/config/plugins/luasnip.nix | 0 .../neovim/config/plugins/mini.nix | 0 .../neovim/config/plugins/oil.nix | 0 .../neovim/config/plugins/phpactor.nix | 0 .../neovim/config/plugins/refactoring.nix | 0 .../neovim/config/plugins/telescope.nix | 0 .../neovim/config/plugins/treesitter.nix | 0 .../neovim/config/plugins/undotree.nix | 0 .../neovim/config/plugins/vim-cool.nix | 0 .../neovim/config/plugins/vim-dadbod.nix | 0 .../config/plugins/vim-highlightedyank.nix | 0 .../neovim/config/plugins/vim-test.nix | 0 .../neovim/config/plugins/web-devicons.nix | 0 .../{coding => }/neovim/default.nix | 0 modules/home-manager/{cli => }/node.nix | 0 modules/home-manager/{cli => }/notes.nix | 0 .../{coding => }/phpactor/config/phpactor.yml | 0 .../templates/action/SourceCode.php.twig | 0 .../templates/collection/SourceCode.php.twig | 0 .../templates/default/SourceCode.php.twig | 0 .../SourceCode.php.twig | 0 .../drupal-kernel-test/SourceCode.php.twig | 0 .../drupal-unit-test/SourceCode.php.twig | 0 .../{coding => }/phpactor/default.nix | 0 modules/home-manager/{cli => }/ranger.nix | 0 .../home-manager/{desktop => }/redshift.nix | 0 .../home-manager/{desktop => }/screenkey.nix | 0 modules/home-manager/{cli => }/starship.nix | 0 modules/home-manager/{cli => }/sxhkd.nix | 0 .../{cli => }/tmux-sessionizer.nix | 0 modules/home-manager/{cli => }/tmux.nix | 0 .../{cli => }/zsh/abbreviations.nix | 0 .../home-manager/{cli => }/zsh/aliases.nix | 0 .../home-manager/{cli => }/zsh/default.nix | 0 .../{cli => }/zsh/global-abbreviations.nix | 0 modules/nixos/{core => }/avahi.nix | 0 modules/nixos/{core => }/bluetooth.nix | 0 modules/nixos/{desktop => }/dconf.nix | 0 modules/nixos/default.nix | 40 +++++++------- modules/nixos/{cli => }/docker.nix | 0 modules/nixos/{desktop => }/dwm/default.nix | 0 modules/nixos/{desktop => }/dwm/xinitrc | 0 modules/nixos/{desktop => }/fonts.nix | 0 .../{homelab => }/gitea-actions-runner.nix | 0 modules/nixos/{core => }/gnupg.nix | 0 modules/nixos/{cli => }/kanata.nix | 0 modules/nixos/{desktop => }/media/default.nix | 0 modules/nixos/{desktop => }/media/makemkv.nix | 0 modules/nixos/{core => }/openssh.nix | 0 modules/nixos/{cli => }/password-store.nix | 0 modules/nixos/{core => }/pipewire.nix | 0 modules/nixos/{cli => }/podman.nix | 0 modules/nixos/{desktop => }/st.nix | 0 modules/nixos/{desktop => }/thunar.nix | 0 modules/nixos/{core => }/xbanish.nix | 0 modules/nixos/{core => }/zram.nix | 0 86 files changed, 64 insertions(+), 50 deletions(-) rename modules/home-manager/{cli => }/bluetuith.nix (100%) rename modules/home-manager/{cli => }/bookmarkthis.nix (100%) rename modules/home-manager/{desktop => }/browsers/chromium.nix (100%) rename modules/home-manager/{desktop => }/browsers/firefox.nix (85%) rename modules/home-manager/{desktop => }/browsers/qutebrowser.nix (100%) rename modules/home-manager/{cli => }/dev-commit.nix (100%) rename modules/home-manager/{cli => }/direnv.nix (100%) rename modules/home-manager/{desktop => }/flameshot.nix (100%) rename modules/home-manager/{cli => }/fzf.nix (100%) rename modules/home-manager/{cli => }/git.nix (100%) rename modules/home-manager/{core => }/gnupg.nix (100%) rename modules/home-manager/{desktop => }/gtk.nix (100%) rename modules/home-manager/{desktop => }/media/handbrake.nix (100%) rename modules/home-manager/{desktop => }/media/makemkv.nix (100%) rename modules/home-manager/{desktop => }/media/mpv.nix (100%) rename modules/home-manager/{coding => }/neovim/config/default.nix (100%) rename modules/home-manager/{coding => }/neovim/config/keymaps.nix (100%) rename modules/home-manager/{coding => }/neovim/config/options.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/auto-save.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/cmp.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/conform.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/fidget.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/fugitive.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/gitsigns.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/harpoon.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/lint.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/lsp.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/lualine.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/luasnip.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/mini.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/oil.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/phpactor.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/refactoring.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/telescope.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/treesitter.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/undotree.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/vim-cool.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/vim-dadbod.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/vim-highlightedyank.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/vim-test.nix (100%) rename modules/home-manager/{coding => }/neovim/config/plugins/web-devicons.nix (100%) rename modules/home-manager/{coding => }/neovim/default.nix (100%) rename modules/home-manager/{cli => }/node.nix (100%) rename modules/home-manager/{cli => }/notes.nix (100%) rename modules/home-manager/{coding => }/phpactor/config/phpactor.yml (100%) rename modules/home-manager/{coding => }/phpactor/config/templates/action/SourceCode.php.twig (100%) rename modules/home-manager/{coding => }/phpactor/config/templates/collection/SourceCode.php.twig (100%) rename modules/home-manager/{coding => }/phpactor/config/templates/default/SourceCode.php.twig (100%) rename modules/home-manager/{coding => }/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig (100%) rename modules/home-manager/{coding => }/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename modules/home-manager/{coding => }/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig (100%) rename modules/home-manager/{coding => }/phpactor/default.nix (100%) rename modules/home-manager/{cli => }/ranger.nix (100%) rename modules/home-manager/{desktop => }/redshift.nix (100%) rename modules/home-manager/{desktop => }/screenkey.nix (100%) rename modules/home-manager/{cli => }/starship.nix (100%) rename modules/home-manager/{cli => }/sxhkd.nix (100%) rename modules/home-manager/{cli => }/tmux-sessionizer.nix (100%) rename modules/home-manager/{cli => }/tmux.nix (100%) rename modules/home-manager/{cli => }/zsh/abbreviations.nix (100%) rename modules/home-manager/{cli => }/zsh/aliases.nix (100%) rename modules/home-manager/{cli => }/zsh/default.nix (100%) rename modules/home-manager/{cli => }/zsh/global-abbreviations.nix (100%) rename modules/nixos/{core => }/avahi.nix (100%) rename modules/nixos/{core => }/bluetooth.nix (100%) rename modules/nixos/{desktop => }/dconf.nix (100%) rename modules/nixos/{cli => }/docker.nix (100%) rename modules/nixos/{desktop => }/dwm/default.nix (100%) rename modules/nixos/{desktop => }/dwm/xinitrc (100%) rename modules/nixos/{desktop => }/fonts.nix (100%) rename modules/nixos/{homelab => }/gitea-actions-runner.nix (100%) rename modules/nixos/{core => }/gnupg.nix (100%) rename modules/nixos/{cli => }/kanata.nix (100%) rename modules/nixos/{desktop => }/media/default.nix (100%) rename modules/nixos/{desktop => }/media/makemkv.nix (100%) rename modules/nixos/{core => }/openssh.nix (100%) rename modules/nixos/{cli => }/password-store.nix (100%) rename modules/nixos/{core => }/pipewire.nix (100%) rename modules/nixos/{cli => }/podman.nix (100%) rename modules/nixos/{desktop => }/st.nix (100%) rename modules/nixos/{desktop => }/thunar.nix (100%) rename modules/nixos/{core => }/xbanish.nix (100%) rename modules/nixos/{core => }/zram.nix (100%) diff --git a/flake-modules/packages.nix b/flake-modules/packages.nix index 8eb4c3b8..6640cca1 100644 --- a/flake-modules/packages.nix +++ b/flake-modules/packages.nix @@ -10,7 +10,7 @@ neovim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { inherit pkgs; - module = import "${self}/modules/home-manager/coding/neovim/config"; + module = import "${self}/modules/home-manager/neovim/config"; }; }; }; diff --git a/modules/home-manager/cli/bluetuith.nix b/modules/home-manager/bluetuith.nix similarity index 100% rename from modules/home-manager/cli/bluetuith.nix rename to modules/home-manager/bluetuith.nix diff --git a/modules/home-manager/cli/bookmarkthis.nix b/modules/home-manager/bookmarkthis.nix similarity index 100% rename from modules/home-manager/cli/bookmarkthis.nix rename to modules/home-manager/bookmarkthis.nix diff --git a/modules/home-manager/desktop/browsers/chromium.nix b/modules/home-manager/browsers/chromium.nix similarity index 100% rename from modules/home-manager/desktop/browsers/chromium.nix rename to modules/home-manager/browsers/chromium.nix diff --git a/modules/home-manager/desktop/browsers/firefox.nix b/modules/home-manager/browsers/firefox.nix similarity index 85% rename from modules/home-manager/desktop/browsers/firefox.nix rename to modules/home-manager/browsers/firefox.nix index dbee93d6..6ab4114f 100644 --- a/modules/home-manager/desktop/browsers/firefox.nix +++ b/modules/home-manager/browsers/firefox.nix @@ -118,6 +118,24 @@ in privateDefault = "ddg"; }; + search.engines = { + # TODO: Drupal.org users. + # TODO: Mastodon. + # TODO: GitHub. + # TODO: Forgejo. + drupal_projects = { + name = "Drupal.org projects"; + urls = [ { template = "https://www.drupal.org/project/{searchTerms}"; } ]; + definedAliases = [ "@dp" ]; + }; + + nixvim = { + name = "Nixvim options search"; + urls = [ { template = "https://nix-community.github.io/nixvim/search/?query={searchTerms}"; } ]; + definedAliases = [ "@nxv" ]; + }; + }; + settings = { "browser.search.isUS" = false; "browser.search.region" = "GB"; diff --git a/modules/home-manager/desktop/browsers/qutebrowser.nix b/modules/home-manager/browsers/qutebrowser.nix similarity index 100% rename from modules/home-manager/desktop/browsers/qutebrowser.nix rename to modules/home-manager/browsers/qutebrowser.nix diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index ff220e6b..52fe37a2 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,31 +1,31 @@ { imports = [ - ./cli/bluetuith.nix - ./cli/bookmarkthis.nix - ./cli/dev-commit.nix - ./cli/direnv.nix - ./cli/fzf.nix - ./cli/git.nix - ./cli/node.nix - ./cli/notes.nix - ./cli/ranger.nix - ./cli/starship.nix - ./cli/sxhkd.nix - ./cli/tmux-sessionizer.nix - ./cli/tmux.nix - ./cli/zsh - ./coding/neovim - ./coding/phpactor - ./core/gnupg.nix - ./desktop/browsers/chromium.nix - ./desktop/browsers/firefox.nix - ./desktop/browsers/qutebrowser.nix - ./desktop/flameshot.nix - ./desktop/gtk.nix - ./desktop/media/handbrake.nix - ./desktop/media/makemkv.nix - ./desktop/media/mpv.nix - ./desktop/redshift.nix - ./desktop/screenkey.nix + ./bluetuith.nix + ./bookmarkthis.nix + ./browsers/chromium.nix + ./browsers/firefox.nix + ./browsers/qutebrowser.nix + ./dev-commit.nix + ./direnv.nix + ./flameshot.nix + ./fzf.nix + ./git.nix + ./gnupg.nix + ./gtk.nix + ./media/handbrake.nix + ./media/makemkv.nix + ./media/mpv.nix + ./neovim + ./node.nix + ./notes.nix + ./phpactor + ./ranger.nix + ./redshift.nix + ./screenkey.nix + ./starship.nix + ./sxhkd.nix + ./tmux-sessionizer.nix + ./tmux.nix + ./zsh ]; } diff --git a/modules/home-manager/cli/dev-commit.nix b/modules/home-manager/dev-commit.nix similarity index 100% rename from modules/home-manager/cli/dev-commit.nix rename to modules/home-manager/dev-commit.nix diff --git a/modules/home-manager/cli/direnv.nix b/modules/home-manager/direnv.nix similarity index 100% rename from modules/home-manager/cli/direnv.nix rename to modules/home-manager/direnv.nix diff --git a/modules/home-manager/desktop/flameshot.nix b/modules/home-manager/flameshot.nix similarity index 100% rename from modules/home-manager/desktop/flameshot.nix rename to modules/home-manager/flameshot.nix diff --git a/modules/home-manager/cli/fzf.nix b/modules/home-manager/fzf.nix similarity index 100% rename from modules/home-manager/cli/fzf.nix rename to modules/home-manager/fzf.nix diff --git a/modules/home-manager/cli/git.nix b/modules/home-manager/git.nix similarity index 100% rename from modules/home-manager/cli/git.nix rename to modules/home-manager/git.nix diff --git a/modules/home-manager/core/gnupg.nix b/modules/home-manager/gnupg.nix similarity index 100% rename from modules/home-manager/core/gnupg.nix rename to modules/home-manager/gnupg.nix diff --git a/modules/home-manager/desktop/gtk.nix b/modules/home-manager/gtk.nix similarity index 100% rename from modules/home-manager/desktop/gtk.nix rename to modules/home-manager/gtk.nix diff --git a/modules/home-manager/desktop/media/handbrake.nix b/modules/home-manager/media/handbrake.nix similarity index 100% rename from modules/home-manager/desktop/media/handbrake.nix rename to modules/home-manager/media/handbrake.nix diff --git a/modules/home-manager/desktop/media/makemkv.nix b/modules/home-manager/media/makemkv.nix similarity index 100% rename from modules/home-manager/desktop/media/makemkv.nix rename to modules/home-manager/media/makemkv.nix diff --git a/modules/home-manager/desktop/media/mpv.nix b/modules/home-manager/media/mpv.nix similarity index 100% rename from modules/home-manager/desktop/media/mpv.nix rename to modules/home-manager/media/mpv.nix diff --git a/modules/home-manager/coding/neovim/config/default.nix b/modules/home-manager/neovim/config/default.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/default.nix rename to modules/home-manager/neovim/config/default.nix diff --git a/modules/home-manager/coding/neovim/config/keymaps.nix b/modules/home-manager/neovim/config/keymaps.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/keymaps.nix rename to modules/home-manager/neovim/config/keymaps.nix diff --git a/modules/home-manager/coding/neovim/config/options.nix b/modules/home-manager/neovim/config/options.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/options.nix rename to modules/home-manager/neovim/config/options.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/auto-save.nix b/modules/home-manager/neovim/config/plugins/auto-save.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/auto-save.nix rename to modules/home-manager/neovim/config/plugins/auto-save.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/cmp.nix b/modules/home-manager/neovim/config/plugins/cmp.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/cmp.nix rename to modules/home-manager/neovim/config/plugins/cmp.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/conform.nix b/modules/home-manager/neovim/config/plugins/conform.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/conform.nix rename to modules/home-manager/neovim/config/plugins/conform.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/fidget.nix b/modules/home-manager/neovim/config/plugins/fidget.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/fidget.nix rename to modules/home-manager/neovim/config/plugins/fidget.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/fugitive.nix b/modules/home-manager/neovim/config/plugins/fugitive.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/fugitive.nix rename to modules/home-manager/neovim/config/plugins/fugitive.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/gitsigns.nix b/modules/home-manager/neovim/config/plugins/gitsigns.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/gitsigns.nix rename to modules/home-manager/neovim/config/plugins/gitsigns.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/harpoon.nix b/modules/home-manager/neovim/config/plugins/harpoon.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/harpoon.nix rename to modules/home-manager/neovim/config/plugins/harpoon.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/lint.nix b/modules/home-manager/neovim/config/plugins/lint.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/lint.nix rename to modules/home-manager/neovim/config/plugins/lint.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/lsp.nix b/modules/home-manager/neovim/config/plugins/lsp.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/lsp.nix rename to modules/home-manager/neovim/config/plugins/lsp.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/lualine.nix b/modules/home-manager/neovim/config/plugins/lualine.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/lualine.nix rename to modules/home-manager/neovim/config/plugins/lualine.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/luasnip.nix b/modules/home-manager/neovim/config/plugins/luasnip.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/luasnip.nix rename to modules/home-manager/neovim/config/plugins/luasnip.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/mini.nix b/modules/home-manager/neovim/config/plugins/mini.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/mini.nix rename to modules/home-manager/neovim/config/plugins/mini.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/oil.nix b/modules/home-manager/neovim/config/plugins/oil.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/oil.nix rename to modules/home-manager/neovim/config/plugins/oil.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/phpactor.nix b/modules/home-manager/neovim/config/plugins/phpactor.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/phpactor.nix rename to modules/home-manager/neovim/config/plugins/phpactor.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/refactoring.nix b/modules/home-manager/neovim/config/plugins/refactoring.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/refactoring.nix rename to modules/home-manager/neovim/config/plugins/refactoring.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/telescope.nix b/modules/home-manager/neovim/config/plugins/telescope.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/telescope.nix rename to modules/home-manager/neovim/config/plugins/telescope.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/treesitter.nix b/modules/home-manager/neovim/config/plugins/treesitter.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/treesitter.nix rename to modules/home-manager/neovim/config/plugins/treesitter.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/undotree.nix b/modules/home-manager/neovim/config/plugins/undotree.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/undotree.nix rename to modules/home-manager/neovim/config/plugins/undotree.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/vim-cool.nix b/modules/home-manager/neovim/config/plugins/vim-cool.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/vim-cool.nix rename to modules/home-manager/neovim/config/plugins/vim-cool.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/vim-dadbod.nix b/modules/home-manager/neovim/config/plugins/vim-dadbod.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/vim-dadbod.nix rename to modules/home-manager/neovim/config/plugins/vim-dadbod.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/vim-highlightedyank.nix b/modules/home-manager/neovim/config/plugins/vim-highlightedyank.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/vim-highlightedyank.nix rename to modules/home-manager/neovim/config/plugins/vim-highlightedyank.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/vim-test.nix b/modules/home-manager/neovim/config/plugins/vim-test.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/vim-test.nix rename to modules/home-manager/neovim/config/plugins/vim-test.nix diff --git a/modules/home-manager/coding/neovim/config/plugins/web-devicons.nix b/modules/home-manager/neovim/config/plugins/web-devicons.nix similarity index 100% rename from modules/home-manager/coding/neovim/config/plugins/web-devicons.nix rename to modules/home-manager/neovim/config/plugins/web-devicons.nix diff --git a/modules/home-manager/coding/neovim/default.nix b/modules/home-manager/neovim/default.nix similarity index 100% rename from modules/home-manager/coding/neovim/default.nix rename to modules/home-manager/neovim/default.nix diff --git a/modules/home-manager/cli/node.nix b/modules/home-manager/node.nix similarity index 100% rename from modules/home-manager/cli/node.nix rename to modules/home-manager/node.nix diff --git a/modules/home-manager/cli/notes.nix b/modules/home-manager/notes.nix similarity index 100% rename from modules/home-manager/cli/notes.nix rename to modules/home-manager/notes.nix diff --git a/modules/home-manager/coding/phpactor/config/phpactor.yml b/modules/home-manager/phpactor/config/phpactor.yml similarity index 100% rename from modules/home-manager/coding/phpactor/config/phpactor.yml rename to modules/home-manager/phpactor/config/phpactor.yml diff --git a/modules/home-manager/coding/phpactor/config/templates/action/SourceCode.php.twig b/modules/home-manager/phpactor/config/templates/action/SourceCode.php.twig similarity index 100% rename from modules/home-manager/coding/phpactor/config/templates/action/SourceCode.php.twig rename to modules/home-manager/phpactor/config/templates/action/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/config/templates/collection/SourceCode.php.twig b/modules/home-manager/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from modules/home-manager/coding/phpactor/config/templates/collection/SourceCode.php.twig rename to modules/home-manager/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/config/templates/default/SourceCode.php.twig b/modules/home-manager/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from modules/home-manager/coding/phpactor/config/templates/default/SourceCode.php.twig rename to modules/home-manager/phpactor/config/templates/default/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig b/modules/home-manager/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/coding/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig rename to modules/home-manager/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig b/modules/home-manager/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/coding/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig rename to modules/home-manager/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig b/modules/home-manager/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/coding/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig rename to modules/home-manager/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/modules/home-manager/coding/phpactor/default.nix b/modules/home-manager/phpactor/default.nix similarity index 100% rename from modules/home-manager/coding/phpactor/default.nix rename to modules/home-manager/phpactor/default.nix diff --git a/modules/home-manager/cli/ranger.nix b/modules/home-manager/ranger.nix similarity index 100% rename from modules/home-manager/cli/ranger.nix rename to modules/home-manager/ranger.nix diff --git a/modules/home-manager/desktop/redshift.nix b/modules/home-manager/redshift.nix similarity index 100% rename from modules/home-manager/desktop/redshift.nix rename to modules/home-manager/redshift.nix diff --git a/modules/home-manager/desktop/screenkey.nix b/modules/home-manager/screenkey.nix similarity index 100% rename from modules/home-manager/desktop/screenkey.nix rename to modules/home-manager/screenkey.nix diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/starship.nix similarity index 100% rename from modules/home-manager/cli/starship.nix rename to modules/home-manager/starship.nix diff --git a/modules/home-manager/cli/sxhkd.nix b/modules/home-manager/sxhkd.nix similarity index 100% rename from modules/home-manager/cli/sxhkd.nix rename to modules/home-manager/sxhkd.nix diff --git a/modules/home-manager/cli/tmux-sessionizer.nix b/modules/home-manager/tmux-sessionizer.nix similarity index 100% rename from modules/home-manager/cli/tmux-sessionizer.nix rename to modules/home-manager/tmux-sessionizer.nix diff --git a/modules/home-manager/cli/tmux.nix b/modules/home-manager/tmux.nix similarity index 100% rename from modules/home-manager/cli/tmux.nix rename to modules/home-manager/tmux.nix diff --git a/modules/home-manager/cli/zsh/abbreviations.nix b/modules/home-manager/zsh/abbreviations.nix similarity index 100% rename from modules/home-manager/cli/zsh/abbreviations.nix rename to modules/home-manager/zsh/abbreviations.nix diff --git a/modules/home-manager/cli/zsh/aliases.nix b/modules/home-manager/zsh/aliases.nix similarity index 100% rename from modules/home-manager/cli/zsh/aliases.nix rename to modules/home-manager/zsh/aliases.nix diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/zsh/default.nix similarity index 100% rename from modules/home-manager/cli/zsh/default.nix rename to modules/home-manager/zsh/default.nix diff --git a/modules/home-manager/cli/zsh/global-abbreviations.nix b/modules/home-manager/zsh/global-abbreviations.nix similarity index 100% rename from modules/home-manager/cli/zsh/global-abbreviations.nix rename to modules/home-manager/zsh/global-abbreviations.nix diff --git a/modules/nixos/core/avahi.nix b/modules/nixos/avahi.nix similarity index 100% rename from modules/nixos/core/avahi.nix rename to modules/nixos/avahi.nix diff --git a/modules/nixos/core/bluetooth.nix b/modules/nixos/bluetooth.nix similarity index 100% rename from modules/nixos/core/bluetooth.nix rename to modules/nixos/bluetooth.nix diff --git a/modules/nixos/desktop/dconf.nix b/modules/nixos/dconf.nix similarity index 100% rename from modules/nixos/desktop/dconf.nix rename to modules/nixos/dconf.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 53f94a96..e44efd87 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,28 +1,24 @@ { imports = [ - ./cli/docker.nix - ./cli/kanata.nix - ./cli/podman.nix - ./cli/password-store.nix - - ./core/avahi.nix - ./core/bluetooth.nix - ./core/gnupg.nix - ./core/openssh.nix - ./core/pipewire.nix - ./core/xbanish.nix - ./core/zram.nix - - ./desktop/dconf.nix - ./desktop/dwm - ./desktop/fonts.nix - ./desktop/media - ./desktop/st.nix - ./desktop/thunar.nix - - ./homelab/gitea-actions-runner.nix - + ./avahi.nix + ./bluetooth.nix + ./dconf.nix + ./docker.nix + ./dwm + ./fonts.nix + ./gitea-actions-runner.nix + ./gnupg.nix + ./kanata.nix + ./media ./nix-index.nix ./nixpad + ./openssh.nix + ./password-store.nix + ./pipewire.nix + ./podman.nix + ./st.nix + ./thunar.nix + ./xbanish.nix + ./zram.nix ]; } diff --git a/modules/nixos/cli/docker.nix b/modules/nixos/docker.nix similarity index 100% rename from modules/nixos/cli/docker.nix rename to modules/nixos/docker.nix diff --git a/modules/nixos/desktop/dwm/default.nix b/modules/nixos/dwm/default.nix similarity index 100% rename from modules/nixos/desktop/dwm/default.nix rename to modules/nixos/dwm/default.nix diff --git a/modules/nixos/desktop/dwm/xinitrc b/modules/nixos/dwm/xinitrc similarity index 100% rename from modules/nixos/desktop/dwm/xinitrc rename to modules/nixos/dwm/xinitrc diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/fonts.nix similarity index 100% rename from modules/nixos/desktop/fonts.nix rename to modules/nixos/fonts.nix diff --git a/modules/nixos/homelab/gitea-actions-runner.nix b/modules/nixos/gitea-actions-runner.nix similarity index 100% rename from modules/nixos/homelab/gitea-actions-runner.nix rename to modules/nixos/gitea-actions-runner.nix diff --git a/modules/nixos/core/gnupg.nix b/modules/nixos/gnupg.nix similarity index 100% rename from modules/nixos/core/gnupg.nix rename to modules/nixos/gnupg.nix diff --git a/modules/nixos/cli/kanata.nix b/modules/nixos/kanata.nix similarity index 100% rename from modules/nixos/cli/kanata.nix rename to modules/nixos/kanata.nix diff --git a/modules/nixos/desktop/media/default.nix b/modules/nixos/media/default.nix similarity index 100% rename from modules/nixos/desktop/media/default.nix rename to modules/nixos/media/default.nix diff --git a/modules/nixos/desktop/media/makemkv.nix b/modules/nixos/media/makemkv.nix similarity index 100% rename from modules/nixos/desktop/media/makemkv.nix rename to modules/nixos/media/makemkv.nix diff --git a/modules/nixos/core/openssh.nix b/modules/nixos/openssh.nix similarity index 100% rename from modules/nixos/core/openssh.nix rename to modules/nixos/openssh.nix diff --git a/modules/nixos/cli/password-store.nix b/modules/nixos/password-store.nix similarity index 100% rename from modules/nixos/cli/password-store.nix rename to modules/nixos/password-store.nix diff --git a/modules/nixos/core/pipewire.nix b/modules/nixos/pipewire.nix similarity index 100% rename from modules/nixos/core/pipewire.nix rename to modules/nixos/pipewire.nix diff --git a/modules/nixos/cli/podman.nix b/modules/nixos/podman.nix similarity index 100% rename from modules/nixos/cli/podman.nix rename to modules/nixos/podman.nix diff --git a/modules/nixos/desktop/st.nix b/modules/nixos/st.nix similarity index 100% rename from modules/nixos/desktop/st.nix rename to modules/nixos/st.nix diff --git a/modules/nixos/desktop/thunar.nix b/modules/nixos/thunar.nix similarity index 100% rename from modules/nixos/desktop/thunar.nix rename to modules/nixos/thunar.nix diff --git a/modules/nixos/core/xbanish.nix b/modules/nixos/xbanish.nix similarity index 100% rename from modules/nixos/core/xbanish.nix rename to modules/nixos/xbanish.nix diff --git a/modules/nixos/core/zram.nix b/modules/nixos/zram.nix similarity index 100% rename from modules/nixos/core/zram.nix rename to modules/nixos/zram.nix From 50b6899893245d81aa97ab012d735d5184345aa2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 17 Jul 2025 23:23:11 +0100 Subject: [PATCH 2016/2258] Add $HOME/tmp directory --- home-manager/opdavies/t480.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 44d271ea..71558697 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -34,6 +34,7 @@ [ "${userDirs.extraConfig.XDG_REPOS_DIR}:2" "${userDirs.documents}:1" + "${config.home.homeDirectory}/tmp" ]; zsh.enable = true; From c832fa2958875f451a48a149fba9b8142e70ace4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 18 Jul 2025 00:56:19 +0100 Subject: [PATCH 2017/2258] Add `import-tree` --- flake.lock | 16 ++++++++++++++++ flake.nix | 4 ++++ modules2/.keep | 0 3 files changed, 20 insertions(+) create mode 100644 modules2/.keep diff --git a/flake.lock b/flake.lock index ae6c61a2..62f44c55 100644 --- a/flake.lock +++ b/flake.lock @@ -180,6 +180,21 @@ "type": "github" } }, + "import-tree": { + "locked": { + "lastModified": 1752730890, + "narHash": "sha256-GES8fapSLGz36MMPRVNkSUWXUTtqvGQNXHjRmRLfJUY=", + "owner": "vic", + "repo": "import-tree", + "rev": "6ebb8cb87987b20264c09296166543fd3761d274", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, "ixx": { "inputs": { "flake-utils": [ @@ -402,6 +417,7 @@ "disko": "disko", "flake-parts": "flake-parts", "home-manager": "home-manager_2", + "import-tree": "import-tree", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", diff --git a/flake.nix b/flake.nix index 405da7f2..8863c66f 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,8 @@ url = "github:nix-community/home-manager/master"; }; + import-tree.url = "github:vic/import-tree"; + nix-index-database = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/nix-index-database"; @@ -54,6 +56,8 @@ }; imports = [ + (inputs.import-tree ./modules2) + ./flake-modules/dev-shell.nix ./flake-modules/formatting.nix ./flake-modules/nixos-configurations.nix diff --git a/modules2/.keep b/modules2/.keep new file mode 100644 index 00000000..e69de29b From e72b417812f5123afef3b699407af11e798663c0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 20 Jul 2025 00:03:45 +0100 Subject: [PATCH 2018/2258] Automatically update flake.lock --- .forgejo/workflows/update-inputs.yml | 90 ++++++++++++++++++++++++++++ hosts/nixedo/services/default.nix | 1 + 2 files changed, 91 insertions(+) create mode 100644 .forgejo/workflows/update-inputs.yml diff --git a/.forgejo/workflows/update-inputs.yml b/.forgejo/workflows/update-inputs.yml new file mode 100644 index 00000000..c63d914a --- /dev/null +++ b/.forgejo/workflows/update-inputs.yml @@ -0,0 +1,90 @@ +name: update-inputs + +on: + schedule: + - cron: "0 6 * * 2,5" # Tue & Fri + workflow_dispatch: + +jobs: + update-flake-lock: + runs-on: nixos + + env: + BASE_BRANCH: main + BRANCH_PREFIX: flake-lock-update + FJ_URL: https://code.oliverdavies.uk + GIT_AUTHOR_EMAIL: flake-bot@local + GIT_AUTHOR_NAME: flake-bot + GIT_COMMITTER_EMAIL: ${{ env.GIT_AUTHOR_EMAIL }} + GIT_COMMITTER_NAME: ${{ env.GIT_AUTHOR_NAME }} + + steps: + - uses: actions/checkout@v3 + with: { fetch-depth: 0 } + + - name: Update inputs & commit + id: bump + run: | + set -o errexit + set -o nounset + set -o pipefail + + BRANCH="${BRANCH_PREFIX}-${GITHUB_RUN_ID}" + git switch -c "$BRANCH" + + BEFORE=$(git rev-parse HEAD) + + # Nix updates inputs and commits if needed + nix flake update --commit-lock-file + + AFTER=$(git rev-parse HEAD) + if [ "$BEFORE" = "$AFTER" ]; then + echo "changed=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + + # ── Grab commit info ──────────────────────────────────────────────── + # Full message + COMMIT_RAW=$(git log -1 --pretty=%B) + + # First line is the short summary; we keep lines AFTER the first blank + COMMIT_BODY=$(printf '%s\n' "$COMMIT_RAW" \ + | sed '1,/^$/d' \ + | sed 's/^• */* /') # nicer Markdown bullet + + # Title becomes first line of the PR + COMMIT_TITLE=$(printf '%s\n' "$COMMIT_RAW" | head -n1) + + # JSON-escape the body so \n etc. are valid JSON + BODY_JSON=$(printf '%s' "$COMMIT_BODY" | jq -Rs .) + + echo "changed=true" >> "$GITHUB_OUTPUT" + echo "branch=$BRANCH" >> "$GITHUB_OUTPUT" + echo "title=$COMMIT_TITLE" >> "$GITHUB_OUTPUT" + echo "body_json=$BODY_JSON" >> "$GITHUB_OUTPUT" + + git push -u origin "$BRANCH" + + - name: Open pull-request + if: steps.bump.outputs.changed == 'true' + env: + TOKEN: ${{ secrets.FLAKE_UPDATE_PAT }} + BRANCH: ${{ steps.bump.outputs.branch }} + TITLE: ${{ steps.bump.outputs.title }} + BODY_JSON: ${{ steps.bump.outputs.body_json }} + run: | + set -o errexit + set -o nounset + + OWNER="${GITHUB_REPOSITORY%%/*}" + REPO="${GITHUB_REPOSITORY#*/}" + + curl -fSs -X POST "$FJ_URL/api/v1/repos/$OWNER/$REPO/pulls" \ + -H "Authorization: token $TOKEN" \ + --json '{ + "base": "'"$BASE_BRANCH"'", + "body": '"$BODY_JSON"', + "draft": false, + "head": "'"$BRANCH"'", + "title": "'"$TITLE"'" + }' diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index f813baef..57d5e162 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -30,6 +30,7 @@ gawk gitMinimal gnused + jq nix nodejs wget From 61eeb524383d52dde4990e3cc53140771cb633e0 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Sun, 20 Jul 2025 00:46:14 +0100 Subject: [PATCH 2019/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/79264292b7e3482e5702932949de9cbb69fedf6d?narHash=sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB%2Bjb4A2UmiR%2BkzY9CLI%3D' (2025-07-10) → 'github:nix-community/disko/d5ad4485e6f2edcc06751df65c5e16572877db88?narHash=sha256-PkaR0qmyP9q/MDN3uYa%2BRLeBA0PjvEQiM0rTDDBXkL8%3D' (2025-07-17) • Updated input 'home-manager': 'github:nix-community/home-manager/1e54837569e0b80797c47be4720fab19e0db1616?narHash=sha256-4kaR%2Bxmng9YPASckfvIgl5flF/1nAZOplM%2BWp9I5SMI%3D' (2025-07-14) → 'github:nix-community/home-manager/d0300c8808e41da81d6edfc202f3d3833c157daf?narHash=sha256-irfg7lnfEpJY%2B3Cffkluzp2MTVw1Uq9QGxFp6qadcXI%3D' (2025-07-18) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/7ced9122cff2163c6a0212b8d1ec8c33a1660806?narHash=sha256-gATnkOe37eeVwKKYCsL%2BOnS2gU4MmLuZFzzWCtaKLI8%3D' (2025-07-09) → 'github:NixOS/nixos-hardware/d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153?narHash=sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw%3D' (2025-07-16) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/d34d9412556d3a896e294534ccd25f53b6822e80?narHash=sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y%3D' (2025-07-11) → 'github:nix-community/NixOS-WSL/20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14?narHash=sha256-ZNIpqCG/CfhmV%2BTgIeyO/XbhDjSWpwWokHM44j0Mn0w%3D' (2025-07-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08) → 'github:nixos/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16) • Updated input 'nixvim': 'github:nix-community/nixvim/eeec7f7c31f84b33d3c52365b073e06c21104521?narHash=sha256-n5DPC4%2BlI9/gM0cdogohOUjiz50jhZ5l%2BXg5Ucrj76w%3D' (2025-07-13) → 'github:nix-community/nixvim/60556b5df9b70b7be88de760e695892b9ce74b9e?narHash=sha256-7nBFB2r9E0SyrEbUmZYDVAPkghTpkbgiWywZHvUjGew%3D' (2025-07-19) • Updated input 'nur': 'github:nix-community/NUR/6e3de6093a24744f2608840cef9d376e3e946743?narHash=sha256-jC19wFMetNg0%2BAgXKFN2UUYI1VSmFbMNGIACz865ieY%3D' (2025-07-14) → 'github:nix-community/NUR/650ca8274beb7dc230dc251d677d0b99d4951199?narHash=sha256-yIgIUORVWZzvN61H8JbDYt3kGisy%2BOiG/Ro8mpg8uAE%3D' (2025-07-19) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 62f44c55..c089afb3 100644 --- a/flake.lock +++ b/flake.lock @@ -52,11 +52,11 @@ ] }, "locked": { - "lastModified": 1752113600, - "narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=", + "lastModified": 1752718651, + "narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", "owner": "nix-community", "repo": "disko", - "rev": "79264292b7e3482e5702932949de9cbb69fedf6d", + "rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", "type": "github" }, "original": { @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1752467539, - "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", + "lastModified": 1752814804, + "narHash": "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e54837569e0b80797c47be4720fab19e0db1616", + "rev": "d0300c8808e41da81d6edfc202f3d3833c157daf", "type": "github" }, "original": { @@ -245,11 +245,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752048960, - "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", + "lastModified": 1752666637, + "narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", + "rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1752199438, - "narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=", + "lastModified": 1752682362, + "narHash": "sha256-ZNIpqCG/CfhmV+TgIeyO/XbhDjSWpwWokHM44j0Mn0w=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "d34d9412556d3a896e294534ccd25f53b6822e80", + "rev": "20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1752687322, + "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", "type": "github" }, "original": { @@ -354,11 +354,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1752447041, - "narHash": "sha256-n5DPC4+lI9/gM0cdogohOUjiz50jhZ5l+Xg5Ucrj76w=", + "lastModified": 1752944806, + "narHash": "sha256-7nBFB2r9E0SyrEbUmZYDVAPkghTpkbgiWywZHvUjGew=", "owner": "nix-community", "repo": "nixvim", - "rev": "eeec7f7c31f84b33d3c52365b073e06c21104521", + "rev": "60556b5df9b70b7be88de760e695892b9ce74b9e", "type": "github" }, "original": { @@ -375,11 +375,11 @@ ] }, "locked": { - "lastModified": 1752488814, - "narHash": "sha256-jC19wFMetNg0+AgXKFN2UUYI1VSmFbMNGIACz865ieY=", + "lastModified": 1752958249, + "narHash": "sha256-yIgIUORVWZzvN61H8JbDYt3kGisy+OiG/Ro8mpg8uAE=", "owner": "nix-community", "repo": "NUR", - "rev": "6e3de6093a24744f2608840cef9d376e3e946743", + "rev": "650ca8274beb7dc230dc251d677d0b99d4951199", "type": "github" }, "original": { From cd41331d21108024785cd62aaeaf86fd5e4a99f5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 20 Jul 2025 14:57:45 +0100 Subject: [PATCH 2020/2258] Update to gimp3 --- hosts/t480/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index f5988246..f0db5fc7 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -107,7 +107,7 @@ dvdbackup dvdplusrwtools ffmpegthumbnailer - gimp + gimp3 gtypist hunspellDicts.en-gb-large isync From d34e78f8ba398e63fcf1b8aea6854ea09b1303d3 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 22 Jul 2025 07:01:05 +0100 Subject: [PATCH 2021/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/d5ad4485e6f2edcc06751df65c5e16572877db88?narHash=sha256-PkaR0qmyP9q/MDN3uYa%2BRLeBA0PjvEQiM0rTDDBXkL8%3D' (2025-07-17) → 'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/77826244401ea9de6e3bac47c2db46005e1f30b5?narHash=sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ%3D' (2025-07-01) → 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21) • Updated input 'home-manager': 'github:nix-community/home-manager/d0300c8808e41da81d6edfc202f3d3833c157daf?narHash=sha256-irfg7lnfEpJY%2B3Cffkluzp2MTVw1Uq9QGxFp6qadcXI%3D' (2025-07-18) → 'github:nix-community/home-manager/e4bf85da687027cfc4a8853ca11b6b86ce41d732?narHash=sha256-0i3jU9AHuNXb0wYGzImnVwaw%2BmiE0yW13qfjC0F%2BfIE%3D' (2025-07-21) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/839e02dece5845be3a322e507a79712b73a96ba2?narHash=sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU%3D' (2025-07-13) → 'github:nix-community/nix-index-database/fafdcb505ba605157ff7a7eeea452bc6d6cbc23c?narHash=sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8%3D' (2025-07-20) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153?narHash=sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw%3D' (2025-07-16) → 'github:NixOS/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16) → 'github:nixos/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19) • Updated input 'nixvim': 'github:nix-community/nixvim/60556b5df9b70b7be88de760e695892b9ce74b9e?narHash=sha256-7nBFB2r9E0SyrEbUmZYDVAPkghTpkbgiWywZHvUjGew%3D' (2025-07-19) → 'github:nix-community/nixvim/0c50ed9349199219583cb1ed1a972d71e06039ec?narHash=sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS%2BZGhCjL5k5HbyV8%3D' (2025-07-20) • Updated input 'nur': 'github:nix-community/NUR/650ca8274beb7dc230dc251d677d0b99d4951199?narHash=sha256-yIgIUORVWZzvN61H8JbDYt3kGisy%2BOiG/Ro8mpg8uAE%3D' (2025-07-19) → 'github:nix-community/NUR/d2cc206a109d5025cebb63e370497ebec11406d8?narHash=sha256-e2m5LSKhwAh2HiwfvzyExrMb3XWUips3MuXpeiDdO7U%3D' (2025-07-22) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index c089afb3..cb582210 100644 --- a/flake.lock +++ b/flake.lock @@ -52,11 +52,11 @@ ] }, "locked": { - "lastModified": 1752718651, - "narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", + "lastModified": 1753140376, + "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", "owner": "nix-community", "repo": "disko", - "rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", + "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", "type": "github" }, "original": { @@ -86,11 +86,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1753121425, + "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", "type": "github" }, "original": { @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1752814804, - "narHash": "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=", + "lastModified": 1753132348, + "narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=", "owner": "nix-community", "repo": "home-manager", - "rev": "d0300c8808e41da81d6edfc202f3d3833c157daf", + "rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732", "type": "github" }, "original": { @@ -230,11 +230,11 @@ ] }, "locked": { - "lastModified": 1752441837, - "narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=", + "lastModified": 1752985182, + "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "839e02dece5845be3a322e507a79712b73a96ba2", + "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", "type": "github" }, "original": { @@ -245,11 +245,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752666637, - "narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", + "lastModified": 1753122741, + "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", + "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1752950548, + "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", "type": "github" }, "original": { @@ -354,11 +354,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1752944806, - "narHash": "sha256-7nBFB2r9E0SyrEbUmZYDVAPkghTpkbgiWywZHvUjGew=", + "lastModified": 1752976861, + "narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=", "owner": "nix-community", "repo": "nixvim", - "rev": "60556b5df9b70b7be88de760e695892b9ce74b9e", + "rev": "0c50ed9349199219583cb1ed1a972d71e06039ec", "type": "github" }, "original": { @@ -375,11 +375,11 @@ ] }, "locked": { - "lastModified": 1752958249, - "narHash": "sha256-yIgIUORVWZzvN61H8JbDYt3kGisy+OiG/Ro8mpg8uAE=", + "lastModified": 1753158482, + "narHash": "sha256-e2m5LSKhwAh2HiwfvzyExrMb3XWUips3MuXpeiDdO7U=", "owner": "nix-community", "repo": "NUR", - "rev": "650ca8274beb7dc230dc251d677d0b99d4951199", + "rev": "d2cc206a109d5025cebb63e370497ebec11406d8", "type": "github" }, "original": { From 59403e46601bb4c1cfabe3efad245d962cdfaa32 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 12:00:00 +0100 Subject: [PATCH 2022/2258] Move flake-modules to modules2 Move flake-modules to modules2 so they are automatically imported by import-tree. --- flake.nix | 9 +-------- {flake-modules => modules2}/dev-shell.nix | 0 {flake-modules => modules2}/formatting.nix | 0 {flake-modules => modules2}/nixos-configurations.nix | 0 {flake-modules => modules2}/packages.nix | 0 5 files changed, 1 insertion(+), 8 deletions(-) rename {flake-modules => modules2}/dev-shell.nix (100%) rename {flake-modules => modules2}/formatting.nix (100%) rename {flake-modules => modules2}/nixos-configurations.nix (100%) rename {flake-modules => modules2}/packages.nix (100%) diff --git a/flake.nix b/flake.nix index 8863c66f..64b05b1b 100644 --- a/flake.nix +++ b/flake.nix @@ -55,14 +55,7 @@ overlays = import ./overlays { inherit inputs; }; }; - imports = [ - (inputs.import-tree ./modules2) - - ./flake-modules/dev-shell.nix - ./flake-modules/formatting.nix - ./flake-modules/nixos-configurations.nix - ./flake-modules/packages.nix - ]; + imports = [ (inputs.import-tree ./modules2) ]; systems = [ "x86_64-linux" ]; }; diff --git a/flake-modules/dev-shell.nix b/modules2/dev-shell.nix similarity index 100% rename from flake-modules/dev-shell.nix rename to modules2/dev-shell.nix diff --git a/flake-modules/formatting.nix b/modules2/formatting.nix similarity index 100% rename from flake-modules/formatting.nix rename to modules2/formatting.nix diff --git a/flake-modules/nixos-configurations.nix b/modules2/nixos-configurations.nix similarity index 100% rename from flake-modules/nixos-configurations.nix rename to modules2/nixos-configurations.nix diff --git a/flake-modules/packages.nix b/modules2/packages.nix similarity index 100% rename from flake-modules/packages.nix rename to modules2/packages.nix From 374e5680e2d5704d705ba844b751c6c82605ca12 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 19:26:20 +0100 Subject: [PATCH 2023/2258] Extract `systems` --- flake.nix | 2 -- modules2/systems.nix | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 modules2/systems.nix diff --git a/flake.nix b/flake.nix index 64b05b1b..d80abbde 100644 --- a/flake.nix +++ b/flake.nix @@ -56,7 +56,5 @@ }; imports = [ (inputs.import-tree ./modules2) ]; - - systems = [ "x86_64-linux" ]; }; } diff --git a/modules2/systems.nix b/modules2/systems.nix new file mode 100644 index 00000000..ce708c68 --- /dev/null +++ b/modules2/systems.nix @@ -0,0 +1,3 @@ +{ + systems = [ "x86_64-linux" ]; +} From d9cd7821a166a0509058eebc6b1f5b34d7af28a6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 19:26:21 +0100 Subject: [PATCH 2024/2258] Add README.md --- modules2/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 modules2/README.md diff --git a/modules2/README.md b/modules2/README.md new file mode 100644 index 00000000..48eac0a2 --- /dev/null +++ b/modules2/README.md @@ -0,0 +1,5 @@ +I'm refactoring my configuration to follow [the dendritic pattern](https://github.com/mightyiam/dendritic), inspired by <https://github.com/mightyiam/infra>. + +Rather than a large rewrite, I am incrementally refactoring my configuration in-place. + +This directory contains the modules that have been refactored, and will eventually replace the existing `modules` directory. From d305535b014f31a5b6ce6a32be6407b5614375a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 19:26:21 +0100 Subject: [PATCH 2025/2258] Refactor bluetooth configuration --- hosts/lemp11/configuration.nix | 1 - hosts/t480/configuration.nix | 1 - hosts/t490/configuration.nix | 1 - hosts/t490/hardware.nix | 5 ----- modules/nixos/bluetooth.nix | 16 ---------------- modules/nixos/default.nix | 1 - modules2/bluetooth.nix | 7 +++++++ modules2/flake-parts.nix | 7 +++++++ modules2/hosts/t480/imports.nix | 7 +++++++ modules2/nixos-configurations.nix | 8 ++++++-- 10 files changed, 27 insertions(+), 27 deletions(-) delete mode 100644 hosts/t490/hardware.nix delete mode 100644 modules/nixos/bluetooth.nix create mode 100644 modules2/bluetooth.nix create mode 100644 modules2/flake-parts.nix create mode 100644 modules2/hosts/t480/imports.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index ef50aff1..d1fdbcd4 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -20,7 +20,6 @@ features = { core = { - bluetooth.enable = true; zram.enable = true; }; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index f0db5fc7..c1098e18 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -35,7 +35,6 @@ }; core = { - bluetooth.enable = true; openssh.enable = true; pipewire.enable = true; xbanish.enable = true; diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 92a9aee5..04153f0e 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -17,7 +17,6 @@ ]; features = { - core.bluetooth.enable = true; core.zram.enable = true; desktop.dconf.enable = true; }; diff --git a/hosts/t490/hardware.nix b/hosts/t490/hardware.nix deleted file mode 100644 index 3798ca48..00000000 --- a/hosts/t490/hardware.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - hardware = { - bluetooth.enable = true; - }; -} diff --git a/modules/nixos/bluetooth.nix b/modules/nixos/bluetooth.nix deleted file mode 100644 index dbf51398..00000000 --- a/modules/nixos/bluetooth.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.core.bluetooth; -in -{ - options.features.core.bluetooth.enable = mkEnableOption "Enable bluetooth"; - - config = mkIf cfg.enable { - hardware.bluetooth.enable = true; - - services.blueman.enable = true; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index e44efd87..6e2bd4ff 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,7 +1,6 @@ { imports = [ ./avahi.nix - ./bluetooth.nix ./dconf.nix ./docker.nix ./dwm diff --git a/modules2/bluetooth.nix b/modules2/bluetooth.nix new file mode 100644 index 00000000..a2ebab1e --- /dev/null +++ b/modules2/bluetooth.nix @@ -0,0 +1,7 @@ +{ + flake.modules.nixos.pc = { + hardware.bluetooth.enable = true; + + services.blueman.enable = true; + }; +} diff --git a/modules2/flake-parts.nix b/modules2/flake-parts.nix new file mode 100644 index 00000000..1a92203d --- /dev/null +++ b/modules2/flake-parts.nix @@ -0,0 +1,7 @@ +{ inputs, ... }: + +{ + imports = [ + inputs.flake-parts.flakeModules.modules + ]; +} diff --git a/modules2/hosts/t480/imports.nix b/modules2/hosts/t480/imports.nix new file mode 100644 index 00000000..99e72a01 --- /dev/null +++ b/modules2/hosts/t480/imports.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos."hosts/t480".imports = with config.flake.modules.nixos; [ + pc + ]; +} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 2d3c949b..b378e027 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -1,4 +1,4 @@ -{ inputs, self, ... }: +{ config, inputs, self, ... }: { flake = @@ -21,7 +21,11 @@ inputs.nixpkgs.lib.nixosSystem { inherit system; - modules = [ "${self}/hosts/${hostname}/configuration.nix" ]; + modules = [ + "${self}/hosts/${hostname}/configuration.nix" + + config.flake.modules.nixos."hosts/${hostname}" + ]; specialArgs = specialArgs // { inherit hostname stateVersion system; From df5834fcaf7c6eb35b809b058fd9227990bbc4ff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 19:26:21 +0100 Subject: [PATCH 2026/2258] Add `lemp11` and `t490` hosts --- modules2/hosts/lemp11/imports.nix | 7 +++++++ modules2/hosts/t490/imports.nix | 7 +++++++ modules2/nixos-configurations.nix | 23 +++++++++++++++++------ 3 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 modules2/hosts/lemp11/imports.nix create mode 100644 modules2/hosts/t490/imports.nix diff --git a/modules2/hosts/lemp11/imports.nix b/modules2/hosts/lemp11/imports.nix new file mode 100644 index 00000000..3b832d67 --- /dev/null +++ b/modules2/hosts/lemp11/imports.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos."hosts/lemp11".imports = with config.flake.modules.nixos; [ + pc + ]; +} diff --git a/modules2/hosts/t490/imports.nix b/modules2/hosts/t490/imports.nix new file mode 100644 index 00000000..80ce1936 --- /dev/null +++ b/modules2/hosts/t490/imports.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos."hosts/t490".imports = with config.flake.modules.nixos; [ + pc + ]; +} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index b378e027..70802d0a 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -15,16 +15,15 @@ mkNixosConfiguration = { hostname, + modules ? [], stateVersion ? "22.11", system ? "x86_64-linux", }: inputs.nixpkgs.lib.nixosSystem { inherit system; - modules = [ + modules = modules ++ [ "${self}/hosts/${hostname}/configuration.nix" - - config.flake.modules.nixos."hosts/${hostname}" ]; specialArgs = specialArgs // { @@ -34,16 +33,28 @@ in { nixosConfigurations = { - lemp11 = mkNixosConfiguration { hostname = "lemp11"; }; + lemp11 = mkNixosConfiguration rec { + hostname = "lemp11"; + + modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + }; nixedo = mkNixosConfiguration { hostname = "nixedo"; stateVersion = "24.11"; }; - t480 = mkNixosConfiguration { hostname = "t480"; }; + t480 = mkNixosConfiguration rec { + hostname = "t480"; - t490 = mkNixosConfiguration { hostname = "t490"; }; + modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + }; + + t490 = mkNixosConfiguration rec { + hostname = "t490"; + + modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + }; PW05CH3L = mkNixosConfiguration { hostname = "PW05CH3L"; }; }; From 2a859293a9bf3ffa8f220768102f17da5cd78d05 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 19:26:21 +0100 Subject: [PATCH 2027/2258] Fix /atdc URL --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 699fe6a8..f82be744 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -33,7 +33,7 @@ let tomeLocations = builtins.listToAttrs ( map (path: { - name = "~ ^/${path}"; + name = "~ ^/${path}$"; value = { root = tome.root; From 7a1b7d2e8a09d647c6dbf355941d4da554cecb76 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 22:31:59 +0100 Subject: [PATCH 2028/2258] Revert "Fix /atdc URL" This reverts commit 2a859293a9bf3ffa8f220768102f17da5cd78d05. --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index f82be744..699fe6a8 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -33,7 +33,7 @@ let tomeLocations = builtins.listToAttrs ( map (path: { - name = "~ ^/${path}$"; + name = "~ ^/${path}"; value = { root = tome.root; From 9bdb9f5977feb50e3abb97c5bd5c94072fec8e74 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 22:32:15 +0100 Subject: [PATCH 2029/2258] Remove /at path --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 699fe6a8..47b6c3d5 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -13,7 +13,6 @@ let paths = [ "archive" - "at" "automated-testing" "core" "daily/.+" From bf8e3628d0ef85ee0a2fae17d8a78384970c3cd9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 23 Jul 2025 23:26:54 +0100 Subject: [PATCH 2030/2258] Remove import for a deleted file --- hosts/t490/configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 04153f0e..848db9f6 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -9,7 +9,6 @@ ../common ./hardware-configuration.nix - ./hardware.nix ./services ../../users/luke.nix From 8947c4abd233040237a64c3aa807c6a6dd32a6f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 20:22:20 +0100 Subject: [PATCH 2031/2258] Move initial Home Manager configuration --- modules2/home-manager/base.nix | 14 ++++++++++++++ modules2/home-manager/nixos.nix | 27 +++++++++++++++++++++++++++ modules2/owner.nix | 19 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 modules2/home-manager/base.nix create mode 100644 modules2/home-manager/nixos.nix create mode 100644 modules2/owner.nix diff --git a/modules2/home-manager/base.nix b/modules2/home-manager/base.nix new file mode 100644 index 00000000..bbd936b3 --- /dev/null +++ b/modules2/home-manager/base.nix @@ -0,0 +1,14 @@ +{ config, ... }: + +{ + flake.modules.homeManager.base = args: { + home = { + homeDirectory = "/home/${config.flake.meta.owner.username}"; + username = config.flake.meta.owner.username; + }; + + programs.home-manager.enable = true; + + systemd.user.startServices = "sd-switch"; + }; +} diff --git a/modules2/home-manager/nixos.nix b/modules2/home-manager/nixos.nix new file mode 100644 index 00000000..253c5d22 --- /dev/null +++ b/modules2/home-manager/nixos.nix @@ -0,0 +1,27 @@ +{ config, inputs, lib, ... }: + +{ + flake.modules.nixos.pc = { + imports = [ inputs.home-manager.nixosModules.home-manager ]; + + home-manager = { + extraSpecialArgs.hasGlobalPkgs = true; + useGlobalPkgs = true; + + # https://github.com/nix-community/home-manager/issues/6770 + # useUserPackages = true; + + users.${config.flake.meta.owner.username}.imports = [ + ( + { osConfig, ... }: + + { + home.stateVersion = lib.mkForce osConfig.system.stateVersion; + } + ) + + config.flake.modules.homeManager.base + ]; + }; + }; +} diff --git a/modules2/owner.nix b/modules2/owner.nix new file mode 100644 index 00000000..399c83c2 --- /dev/null +++ b/modules2/owner.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: + +{ + flake = { + meta.owner.username = "opdavies"; + + modules = { + nixos.pc = { + users.users.${config.flake.meta.owner.username} = { + isNormalUser = true; + initialPassword = lib.mkForce ""; + extraGroups = [ "input" "wheel" ]; + }; + + nix.settings.trusted-users = [ config.flake.meta.owner.username ]; + }; + }; + }; +} From e111506428aa54ec8882a52370d6b0cb82177bac Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 20:37:58 +0100 Subject: [PATCH 2032/2258] Refactor Git configuration --- home-manager/opdavies/PW05CH3L.nix | 3 - home-manager/opdavies/t480.nix | 3 - modules/home-manager/default.nix | 1 - modules/home-manager/git.nix | 184 ------------------------ modules/nixos/nixpad/default.nix | 1 - modules2/git/aliases.nix | 50 +++++++ modules2/git/default-commit-message.nix | 25 ++++ modules2/git/defaults.nix | 64 +++++++++ modules2/git/enable.nix | 3 + modules2/git/extra-packages.nix | 13 ++ modules2/git/ignores.nix | 11 ++ modules2/git/variables.nix | 5 + modules2/owner.nix | 11 +- 13 files changed, 180 insertions(+), 194 deletions(-) delete mode 100644 modules/home-manager/git.nix create mode 100644 modules2/git/aliases.nix create mode 100644 modules2/git/default-commit-message.nix create mode 100644 modules2/git/defaults.nix create mode 100644 modules2/git/enable.nix create mode 100644 modules2/git/extra-packages.nix create mode 100644 modules2/git/ignores.nix create mode 100644 modules2/git/variables.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 55cb3b65..7ad4743b 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -9,9 +9,6 @@ direnv.enable = true; fzf.enable = true; - git.enable = true; - git.user.emailAddress = "oliver.davies@tfw.wales"; - node.enable = true; notes.enable = true; ranger.enable = true; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 71558697..ea2a7404 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -13,9 +13,6 @@ direnv.enable = true; fzf.enable = true; - git.enable = true; - git.user.emailAddress = "oliver@oliverdavies.uk"; - node.enable = true; notes.enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 52fe37a2..dffcb5fc 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -9,7 +9,6 @@ ./direnv.nix ./flameshot.nix ./fzf.nix - ./git.nix ./gnupg.nix ./gtk.nix ./media/handbrake.nix diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix deleted file mode 100644 index 762bb8db..00000000 --- a/modules/home-manager/git.nix +++ /dev/null @@ -1,184 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.git; -in -{ - options.features.cli.git = { - enable = mkEnableOption "Enable git"; - - user = mkOption { - type = types.submodule { - options = { - emailAddress = mkOption { - description = "User email address."; - type = types.str; - apply = - x: - assert builtins.match "^[^@]+@[^@]+\\.[^@]+$" x != null; - x; - }; - }; - }; - }; - }; - - config = mkIf cfg.enable { - home.file."${config.xdg.configHome}/git/message".text = '' - - - # Description - # - # - Why is this change necessary? - # - How does it address the issue? - # - What side effects does this change have? - # - # For breaking changes, uncomment the following line and describe the change: - # - # BREAKING CHANGE: - # - # - # Add any issue IDs or commit SHAs that this commit references: - # - # Refs: - - ''; - - programs = { - git = { - enable = true; - userName = "Oliver Davies"; - userEmail = cfg.user.emailAddress; - - aliases = { - aa = "add --all"; - assume = "update-index --assume-unchanged"; - assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; - b = "branch"; - blame = "blame -w -C -C -C"; - browse = "!gh repo view --web"; - ca = "commit --amend --verbose"; - car = "commit --amend --no-edit"; - cl = "!hub clone"; - co = "checkout"; - compare = "!hub compare"; - current-branch = "rev-parse --abbrev-ref HEAD"; - dc = "diff --color --word-diff --cached"; - df = "diff --color --word-diff"; - dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; - fixup = "commit --fixup"; - issues = "!gh issue list --web"; - mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; - no-ff = "merge --no-ff"; - pl = "pull"; - prune = "remote prune origin"; - ps = "push"; - pulls = "!gh pr list --web"; - rbc = "rebase --continue"; - rdup = "!git dup && git rebase develop"; - remotes = "remote -v"; - repush = "!git pull --rebase && git push"; - ri = "rebase --interactive"; - rid = "!git rebase -i $(git merge-base develop HEAD)"; - rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; - rip = "!git rebase -i $(git merge-base production HEAD)"; - ris = "!git rebase -i $(git merge-base staging HEAD)"; - riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; - rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; - sl = "log --oneline --decorate -20"; - sla = "log --oneline --decorate --graph --all -20"; - slap = "log --oneline --decorate --graph --all"; - slp = "log --oneline --decorate"; - stash = "stash --included-untracked"; - unassume = "update-index --no-assume-unchanged"; - uncommit = "reset --soft HEAD^"; - unstage = "reset"; - update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; - upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; - ureset = "!git reset --hard $(git upstream)"; - worktrees = "worktree list"; - }; - - ignores = [ - "/.ddev/providers/" - "/.direnv/" - "/.ignored/" - "/.issue-id" - "/.phpactor.json" - "/notes" - "/todo" - ]; - - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - sort = "-committerdate"; - }; - - checkout.defaultRemote = "origin"; - color.ui = true; - column.ui = "auto"; - commit.template = "${config.xdg.configHome}/git/message"; - - core = { - editor = "nvim"; - excludesFile = "~/.config/git/ignore"; - }; - - diff.tool = "vimdiff"; - fetch.prune = true; - gpg.format = "ssh"; - grep.lineNumber = true; - help.autocorrect = "1"; - init.defaultBranch = "main"; - - maintenance = { - auto = false; - strategy = "incremental"; - }; - - merge.ff = "only"; - - push = { - autoSetupRemote = true; - default = "upstream"; - }; - - pull = { - ff = "only"; - rebase = true; - }; - - rebase = { - autosquash = true; - autostash = true; - }; - - user.signingkey = "~/.ssh/id_rsa.pub"; - }; - }; - }; - - home = { - packages = with pkgs; [ - git-exclude - git-extras - git-graph - git-trim - stable.git-instafix - ]; - - sessionVariables = { - GIT_INSTAFIX_UPSTREAM = "origin/main"; - }; - }; - }; -} diff --git a/modules/nixos/nixpad/default.nix b/modules/nixos/nixpad/default.nix index ace3213c..355cf52b 100644 --- a/modules/nixos/nixpad/default.nix +++ b/modules/nixos/nixpad/default.nix @@ -23,7 +23,6 @@ in programs = { firefox.enable = true; - git.enable = true; }; environment.systemPackages = with pkgs; [ diff --git a/modules2/git/aliases.nix b/modules2/git/aliases.nix new file mode 100644 index 00000000..ad52e1b7 --- /dev/null +++ b/modules2/git/aliases.nix @@ -0,0 +1,50 @@ +{ + flake.modules.homeManager.base.programs.git.aliases = { + aa = "add --all"; + assume = "update-index --assume-unchanged"; + assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-"; + b = "branch"; + blame = "blame -w -C -C -C"; + browse = "!gh repo view --web"; + ca = "commit --amend --verbose"; + car = "commit --amend --no-edit"; + cl = "!hub clone"; + co = "checkout"; + compare = "!hub compare"; + current-branch = "rev-parse --abbrev-ref HEAD"; + dc = "diff --color --word-diff --cached"; + df = "diff --color --word-diff"; + dup = "!git checkout develop && git fetch origin && echo && git sl develop..origin/develop && echo && git pull --quiet && git checkout -"; + fixup = "commit --fixup"; + issues = "!gh issue list --web"; + mup = "!git master-to-main-wrapper checkout %BRANCH% && git fetch origin && echo && git sl %BRANCH%..origin/%BRANCH% && echo && git pull --quiet && git checkout -"; + no-ff = "merge --no-ff"; + pl = "pull"; + prune = "remote prune origin"; + ps = "push"; + pulls = "!gh pr list --web"; + rbc = "rebase --continue"; + rdup = "!git dup && git rebase develop"; + remotes = "remote -v"; + repush = "!git pull --rebase && git push"; + ri = "rebase --interactive"; + rid = "!git rebase -i $(git merge-base develop HEAD)"; + rim = "!git rebase -i $(git master-to-main-wrapper merge-base %BRANCH% HEAD)"; + rip = "!git rebase -i $(git merge-base production HEAD)"; + ris = "!git rebase -i $(git merge-base staging HEAD)"; + riu = "!git rebase -i $(git rev-parse --abbrev-ref --symbolic-full-name @{u})"; + rmup = "!git mup && git master-to-main-wrapper rebase %BRANCH%"; + sl = "log --oneline --decorate -20"; + sla = "log --oneline --decorate --graph --all -20"; + slap = "log --oneline --decorate --graph --all"; + slp = "log --oneline --decorate"; + stash = "stash --included-untracked"; + unassume = "update-index --no-assume-unchanged"; + uncommit = "reset --soft HEAD^"; + unstage = "reset"; + update = "!git fetch --all --jobs=4 --prune --progress && git rebase --autostash --stat"; + upstream = "rev-parse --abbrev-ref --symbolic-full-name @{u}"; + ureset = "!git reset --hard $(git upstream)"; + worktrees = "worktree list"; + }; +} diff --git a/modules2/git/default-commit-message.nix b/modules2/git/default-commit-message.nix new file mode 100644 index 00000000..dfd1fe90 --- /dev/null +++ b/modules2/git/default-commit-message.nix @@ -0,0 +1,25 @@ +{ + flake.modules.homeManager.base = + { config, ... }: + { + home.file."${config.xdg.configHome}/git/message".text = '' + + + # Description + # + # - Why is this change necessary? + # - How does it address the issue? + # - What side effects does this change have? + # + # For breaking changes, uncomment the following line and describe the change: + # + # BREAKING CHANGE: + # + # + # Add any issue IDs or commit SHAs that this commit references: + # + # Refs: + + ''; + }; +} diff --git a/modules2/git/defaults.nix b/modules2/git/defaults.nix new file mode 100644 index 00000000..3af93d9f --- /dev/null +++ b/modules2/git/defaults.nix @@ -0,0 +1,64 @@ +{ config, ... }: + +let + cfg = config; +in +{ + flake.modules.homeManager.base = + { config, ... }: + { + programs.git = { + userName = cfg.flake.meta.owner.name; + userEmail = cfg.flake.meta.owner.email; + + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + sort = "-committerdate"; + }; + + checkout.defaultRemote = "origin"; + color.ui = true; + column.ui = "auto"; + commit.template = "${config.xdg.configHome}/git/message"; + + core = { + editor = "nvim"; + excludesFile = "~/.config/git/ignore"; + }; + + diff.tool = "vimdiff"; + fetch.prune = true; + gpg.format = "ssh"; + grep.lineNumber = true; + help.autocorrect = "1"; + init.defaultBranch = "main"; + + maintenance = { + auto = false; + strategy = "incremental"; + }; + + merge.ff = "only"; + + push = { + autoSetupRemote = true; + default = "upstream"; + }; + + pull = { + ff = "only"; + rebase = true; + }; + + rebase = { + autosquash = true; + autostash = true; + }; + + user.signingkey = "~/.ssh/id_rsa.pub"; + }; + }; + }; +} diff --git a/modules2/git/enable.nix b/modules2/git/enable.nix new file mode 100644 index 00000000..da8cc9f0 --- /dev/null +++ b/modules2/git/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.git.enable = true; +} diff --git a/modules2/git/extra-packages.nix b/modules2/git/extra-packages.nix new file mode 100644 index 00000000..6c610608 --- /dev/null +++ b/modules2/git/extra-packages.nix @@ -0,0 +1,13 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = with pkgs; [ + git-exclude + git-extras + git-graph + git-trim + stable.git-instafix + ]; + }; +} diff --git a/modules2/git/ignores.nix b/modules2/git/ignores.nix new file mode 100644 index 00000000..00b04ffc --- /dev/null +++ b/modules2/git/ignores.nix @@ -0,0 +1,11 @@ +{ + flake.modules.homeManager.base.programs.git.ignores = [ + "/.ddev/providers/" + "/.direnv/" + "/.ignored/" + "/.issue-id" + "/.phpactor.json" + "/notes" + "/todo" + ]; +} diff --git a/modules2/git/variables.nix b/modules2/git/variables.nix new file mode 100644 index 00000000..e47ccb5f --- /dev/null +++ b/modules2/git/variables.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.base.home.sessionVariables = { + GIT_INSTAFIX_UPSTREAM = "origin/main"; + }; +} diff --git a/modules2/owner.nix b/modules2/owner.nix index 399c83c2..c293caab 100644 --- a/modules2/owner.nix +++ b/modules2/owner.nix @@ -2,14 +2,21 @@ { flake = { - meta.owner.username = "opdavies"; + meta.owner = { + email = "oliver@oliverdavies.uk"; + name = "Oliver Davies"; + username = "opdavies"; + }; modules = { nixos.pc = { users.users.${config.flake.meta.owner.username} = { isNormalUser = true; initialPassword = lib.mkForce ""; - extraGroups = [ "input" "wheel" ]; + extraGroups = [ + "input" + "wheel" + ]; }; nix.settings.trusted-users = [ config.flake.meta.owner.username ]; From 0259ea44f0cfa9f05afaf0f9019342bd17ef3821 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 21:13:55 +0100 Subject: [PATCH 2033/2258] nix fmt --- hosts/nixedo/modules/nginx/sites.nix | 36 ++++++++++++++-------------- modules2/home-manager/nixos.nix | 7 +++++- modules2/nixos-configurations.nix | 9 +++++-- secrets.nix | 15 ++++++++---- users/opdavies.nix | 13 +++++----- 5 files changed, 47 insertions(+), 33 deletions(-) diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index bcf733e1..76cb9be3 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -10,27 +10,27 @@ let in { inherit port root url; } // overrides; - sites = - [ - { - root = "/var/www/vhosts/website-sculpin"; - port = ports.nginx-website-2025; - url = "2025.oliverdavies.uk"; + sites = [ + { + root = "/var/www/vhosts/website-sculpin"; + port = ports.nginx-website-2025; + url = "2025.oliverdavies.uk"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - } + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + } - (mkSite "eric" { - rootSuffix = "/public"; + (mkSite "eric" { + rootSuffix = "/public"; - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - }) - ] - ++ map + extraConfig = '' + add_header X-Robots-Tag "noindex, nofollow"; + ''; + }) + ] + ++ + map ( domain: mkSite domain { diff --git a/modules2/home-manager/nixos.nix b/modules2/home-manager/nixos.nix index 253c5d22..d54d8a77 100644 --- a/modules2/home-manager/nixos.nix +++ b/modules2/home-manager/nixos.nix @@ -1,4 +1,9 @@ -{ config, inputs, lib, ... }: +{ + config, + inputs, + lib, + ... +}: { flake.modules.nixos.pc = { diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 70802d0a..0121160b 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -1,4 +1,9 @@ -{ config, inputs, self, ... }: +{ + config, + inputs, + self, + ... +}: { flake = @@ -15,7 +20,7 @@ mkNixosConfiguration = { hostname, - modules ? [], + modules ? [ ], stateVersion ? "22.11", system ? "x86_64-linux", }: diff --git a/secrets.nix b/secrets.nix index ad7e8bd6..26c9e448 100644 --- a/secrets.nix +++ b/secrets.nix @@ -13,22 +13,27 @@ in "secrets/cloudflare.age".publicKeys = [ hosts.nixedo hosts.t480 - ] ++ [ users.opdavies ]; + ] + ++ [ users.opdavies ]; "secrets/cloudflared-credentials.age".publicKeys = [ hosts.nixedo - ] ++ [ users.opdavies ]; + ] + ++ [ users.opdavies ]; "secrets/forgejo-runner-token.age".publicKeys = [ hosts.nixedo - ] ++ [ users.opdavies ]; + ] + ++ [ users.opdavies ]; "secrets/peertube-env.age".publicKeys = [ hosts.nixedo - ] ++ [ users.opdavies ]; + ] + ++ [ users.opdavies ]; "secrets/tubearchivist-env.age".publicKeys = [ hosts.nixedo hosts.t480 - ] ++ [ users.opdavies ]; + ] + ++ [ users.opdavies ]; } diff --git a/users/opdavies.nix b/users/opdavies.nix index 0c60e68f..b8aa85c9 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -13,13 +13,12 @@ with lib; initialPassword = "opdavies"; isNormalUser = true; - extraGroups = - [ - "networkmanager" - "wheel" - ] - ++ optional config.features.cli.docker.enable "docker" - ++ optional config.features.cli.podman.enable "podman"; + extraGroups = [ + "networkmanager" + "wheel" + ] + ++ optional config.features.cli.docker.enable "docker" + ++ optional config.features.cli.podman.enable "podman"; packages = with pkgs; [ magic-wormhole From 278b9eaea1d1bae99532c3c136344cd36ddd49d8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 21:32:20 +0100 Subject: [PATCH 2034/2258] Move zeroad package --- hosts/t480/configuration.nix | 1 - modules2/games/zeroad.nix | 7 +++++++ modules2/home-manager/nixos.nix | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 modules2/games/zeroad.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index c1098e18..af703ea9 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -130,7 +130,6 @@ xcape xsel yt-dlp - zeroad zoom-us ]; } diff --git a/modules2/games/zeroad.nix b/modules2/games/zeroad.nix new file mode 100644 index 00000000..c7d5cf6e --- /dev/null +++ b/modules2/games/zeroad.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = with pkgs; [ zeroad ]; + }; +} diff --git a/modules2/home-manager/nixos.nix b/modules2/home-manager/nixos.nix index d54d8a77..ecfa62e6 100644 --- a/modules2/home-manager/nixos.nix +++ b/modules2/home-manager/nixos.nix @@ -26,6 +26,7 @@ ) config.flake.modules.homeManager.base + config.flake.modules.homeManager.gui ]; }; }; From 64b158ed2af8f2f68929e260fe8b3bc3d1ff9909 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 22:24:47 +0100 Subject: [PATCH 2035/2258] Move tmux configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/tmux.nix | 97 ------------------------------ modules2/tmux/enable.nix | 3 + modules2/tmux/extra-config.nix | 70 +++++++++++++++++++++ modules2/tmux/plugins.nix | 10 +++ modules2/tmux/terminal.nix | 3 + 8 files changed, 86 insertions(+), 100 deletions(-) delete mode 100644 modules/home-manager/tmux.nix create mode 100644 modules2/tmux/enable.nix create mode 100644 modules2/tmux/extra-config.nix create mode 100644 modules2/tmux/plugins.nix create mode 100644 modules2/tmux/terminal.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 7ad4743b..fd76689d 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -13,7 +13,6 @@ notes.enable = true; ranger.enable = true; starship.enable = true; - tmux.enable = true; tmux-sessionizer.enable = true; tmux-sessionizer.searchPaths = diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index ea2a7404..b822897a 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -21,7 +21,6 @@ ranger.enable = true; sxhkd.enable = true; starship.enable = true; - tmux.enable = true; tmux-sessionizer.enable = true; tmux-sessionizer.searchPaths = diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index dffcb5fc..2a9f1366 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -24,7 +24,6 @@ ./starship.nix ./sxhkd.nix ./tmux-sessionizer.nix - ./tmux.nix ./zsh ]; } diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix deleted file mode 100644 index 3bc46547..00000000 --- a/modules/home-manager/tmux.nix +++ /dev/null @@ -1,97 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.tmux; -in -{ - options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; - - config = mkIf cfg.enable { - programs.tmux = { - enable = true; - - terminal = "tmux-256color"; - - extraConfig = '' - set-option -g status-keys "vi" - set-option -sa terminal-features "''${TERM}:RGB" - - bind -n S-Left resize-pane -L 2 - bind -n S-Right resize-pane -R 2 - bind -n S-Down resize-pane -D 1 - bind -n S-Up resize-pane -U 1 - - bind -n C-Left resize-pane -L 10 - bind -n C-Right resize-pane -R 10 - bind -n C-Down resize-pane -D 5 - bind -n C-Up resize-pane -U 5 - - # Status line customisation - set-option -g status-left "" - set-option -g status-right " #{session_name}" - set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=default" - set-option -g window-status-activity-style none - set-option -g window-status-current-style "fg=#E9E9EA" - - bind c new-window -c "#{pane_current_path}" - - set -g base-index 1 - set -g pane-base-index 1 - set -g renumber-windows on - - # Break a pane into a new window. - bind-key b break-pane -d - bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" - - bind-key C-j choose-tree - - set-window-option -g mode-keys vi - bind -T copy-mode-vi v send-keys -X begin-selection - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' - - bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" - - bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' - - # Allow clearing screen with ctrl-l by using <prefix> C-l - bind C-l send-keys "C-l" - bind C-k send-keys "C-k" - - # Enable mouse support. - setw -g mouse on - - # Remove delay when switching Vim modes. - set -sg escape-time 0 - - set-option -g pane-active-border-style "fg=#1f2335" - set-option -g pane-border-style "fg=#1f2335" - - # Vim-like pane navigation. - bind ^ last-window - bind h select-pane -L - bind j select-pane -D - bind k select-pane -U - bind l select-pane -R - - bind-key -r f run-shell "tmux new-window tmux-sessionizer" - - bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" - bind-key -r N new-window "notes" - bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" - ''; - - plugins = with pkgs.tmuxPlugins; [ - resurrect - yank - ]; - }; - }; -} diff --git a/modules2/tmux/enable.nix b/modules2/tmux/enable.nix new file mode 100644 index 00000000..a4a47b08 --- /dev/null +++ b/modules2/tmux/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.tmux.enable = true; +} diff --git a/modules2/tmux/extra-config.nix b/modules2/tmux/extra-config.nix new file mode 100644 index 00000000..caca2674 --- /dev/null +++ b/modules2/tmux/extra-config.nix @@ -0,0 +1,70 @@ +{ + flake.modules.homeManager.base.programs.tmux.extraConfig = '' + set-option -g status-keys "vi" + set-option -sa terminal-features "''${TERM}:RGB" + + bind -n S-Left resize-pane -L 2 + bind -n S-Right resize-pane -R 2 + bind -n S-Down resize-pane -D 1 + bind -n S-Up resize-pane -U 1 + + bind -n C-Left resize-pane -L 10 + bind -n C-Right resize-pane -R 10 + bind -n C-Down resize-pane -D 5 + bind -n C-Up resize-pane -U 5 + + # Status line customisation + set-option -g status-left "" + set-option -g status-right " #{session_name}" + set-option -g status-right-length 100 + set-option -g status-style "fg=#7C7D83 bg=default" + set-option -g window-status-activity-style none + set-option -g window-status-current-style "fg=#E9E9EA" + + bind c new-window -c "#{pane_current_path}" + + set -g base-index 1 + set -g pane-base-index 1 + set -g renumber-windows on + + # Break a pane into a new window. + bind-key b break-pane -d + bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'" + + bind-key C-j choose-tree + + set-window-option -g mode-keys vi + bind -T copy-mode-vi v send-keys -X begin-selection + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' + + bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + + bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session' + + # Allow clearing screen with ctrl-l by using <prefix> C-l + bind C-l send-keys "C-l" + bind C-k send-keys "C-k" + + # Enable mouse support. + setw -g mouse on + + # Remove delay when switching Vim modes. + set -sg escape-time 0 + + set-option -g pane-active-border-style "fg=#1f2335" + set-option -g pane-border-style "fg=#1f2335" + + # Vim-like pane navigation. + bind ^ last-window + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + bind-key -r f run-shell "tmux new-window tmux-sessionizer" + + bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" + bind-key -r N new-window "notes" + bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" + ''; +} diff --git a/modules2/tmux/plugins.nix b/modules2/tmux/plugins.nix new file mode 100644 index 00000000..d5d9e0b5 --- /dev/null +++ b/modules2/tmux/plugins.nix @@ -0,0 +1,10 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + programs.tmux.plugins = with pkgs.tmuxPlugins; [ + resurrect + yank + ]; + }; +} diff --git a/modules2/tmux/terminal.nix b/modules2/tmux/terminal.nix new file mode 100644 index 00000000..0edf3248 --- /dev/null +++ b/modules2/tmux/terminal.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.tmux.terminal = "tmux-256color"; +} From eb516819fad0aab9c40bdc9f711437ee6fe4469d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 23:16:16 +0100 Subject: [PATCH 2036/2258] Move tmux-sessionizer configuration --- home-manager/opdavies/PW05CH3L.nix | 13 +---- home-manager/opdavies/t480.nix | 12 ----- modules/home-manager/default.nix | 1 - modules/home-manager/tmux-sessionizer.nix | 64 ----------------------- modules2/hosts/t480/tmux-sessionizer.nix | 15 ++++++ modules2/tmux-sessionizer/config.nix | 26 +++++++++ modules2/tmux-sessionizer/default.nix | 30 +++++++++++ modules2/tmux-sessionizer/package.nix | 7 +++ 8 files changed, 79 insertions(+), 89 deletions(-) delete mode 100644 modules/home-manager/tmux-sessionizer.nix create mode 100644 modules2/hosts/t480/tmux-sessionizer.nix create mode 100644 modules2/tmux-sessionizer/config.nix create mode 100644 modules2/tmux-sessionizer/default.nix create mode 100644 modules2/tmux-sessionizer/package.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index fd76689d..f25a0dd6 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { imports = [ ../common ]; @@ -13,17 +13,6 @@ notes.enable = true; ranger.enable = true; starship.enable = true; - - tmux-sessionizer.enable = true; - tmux-sessionizer.searchPaths = - let - inherit (config.xdg) userDirs; - in - [ - "${userDirs.extraConfig.XDG_REPOS_DIR}:2" - "${userDirs.documents}:1" - ]; - zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index b822897a..338ae72f 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -21,18 +21,6 @@ ranger.enable = true; sxhkd.enable = true; starship.enable = true; - - tmux-sessionizer.enable = true; - tmux-sessionizer.searchPaths = - let - inherit (config.xdg) userDirs; - in - [ - "${userDirs.extraConfig.XDG_REPOS_DIR}:2" - "${userDirs.documents}:1" - "${config.home.homeDirectory}/tmp" - ]; - zsh.enable = true; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 2a9f1366..50cd8d69 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -23,7 +23,6 @@ ./screenkey.nix ./starship.nix ./sxhkd.nix - ./tmux-sessionizer.nix ./zsh ]; } diff --git a/modules/home-manager/tmux-sessionizer.nix b/modules/home-manager/tmux-sessionizer.nix deleted file mode 100644 index 242c0e08..00000000 --- a/modules/home-manager/tmux-sessionizer.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.tmux-sessionizer; -in -{ - options.features.cli.tmux-sessionizer = { - enable = mkEnableOption "Enable tmux-sessionizer"; - enableDmenuIntegration = mkEnableOption "Enable dmenu integration"; - - searchPaths = mkOption { - default = [ config.home.homeDirectory ]; - type = types.listOf types.str; - description = "List of search paths for tmux-sessionizer to use."; - }; - - # TODO: add TS_EXTRA_SEARCH_PATHS. - # TODO: add TS_MAX_DEPTH. - # TODO: add TS_SESSION_COMMANDS once I figure out what they're for. - }; - - config = mkIf cfg.enable { - home.packages = with pkgs; [ - tmux-sessionizer - ]; - - home.file.".tmux-sessionizer".source = "${ - pkgs.writeShellApplication { - name = ".tmux-sessionizer"; - - runtimeInputs = with pkgs; [ - tmux - ]; - - text = '' - set +o errexit - set +o nounset - - if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/work" ]]; then - clear - - return - fi - - tmux new-window -d -n scratch - nvim . - clear - ''; - } - }/bin/.tmux-sessionizer"; - - xdg.configFile."tmux-sessionizer/tmux-sessionizer.conf".text = '' - TS_SEARCH_PATHS=(${builtins.concatStringsSep " " cfg.searchPaths}) - TS_SESSION_COMMANDS=(nvim .) - ''; - }; -} diff --git a/modules2/hosts/t480/tmux-sessionizer.nix b/modules2/hosts/t480/tmux-sessionizer.nix new file mode 100644 index 00000000..6439aa65 --- /dev/null +++ b/modules2/hosts/t480/tmux-sessionizer.nix @@ -0,0 +1,15 @@ +{ + flake.modules.homeManager.base = + { config, ... }: + { + programs.tmux-sessionizer.searchPaths = + let + inherit (config.xdg) userDirs; + in + [ + "${userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${userDirs.documents}:1" + "${config.home.homeDirectory}/tmp" + ]; + }; +} diff --git a/modules2/tmux-sessionizer/config.nix b/modules2/tmux-sessionizer/config.nix new file mode 100644 index 00000000..83b29d59 --- /dev/null +++ b/modules2/tmux-sessionizer/config.nix @@ -0,0 +1,26 @@ +{ lib, ... }: + +{ + flake.modules.homeManager.base = + { config, ... }: + { + options.programs.tmux-sessionizer = { + searchPaths = lib.mkOption { + default = [ config.home.homeDirectory ]; + type = lib.types.listOf lib.types.str; + description = "List of search paths for tmux-sessionizer to use."; + }; + + # TODO: add TS_EXTRA_SEARCH_PATHS. + # TODO: add TS_MAX_DEPTH. + # TODO: add TS_SESSION_COMMANDS once I figure out what they're for. + }; + + config = { + xdg.configFile."tmux-sessionizer/tmux-sessionizer.conf".text = '' + TS_SEARCH_PATHS=(${builtins.concatStringsSep " " config.programs.tmux-sessionizer.searchPaths}) + TS_SESSION_COMMANDS=(nvim .) + ''; + }; + }; +} diff --git a/modules2/tmux-sessionizer/default.nix b/modules2/tmux-sessionizer/default.nix new file mode 100644 index 00000000..8f4513b5 --- /dev/null +++ b/modules2/tmux-sessionizer/default.nix @@ -0,0 +1,30 @@ +{ + flake.modules.homeManager.base = + { config, pkgs, ... }: + { + home.file.".tmux-sessionizer".source = "${ + pkgs.writeShellApplication { + name = ".tmux-sessionizer"; + + runtimeInputs = with pkgs; [ + tmux + ]; + + text = '' + set +o errexit + set +o nounset + + if [[ "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/os" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal" || "$PWD" == "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/work" ]]; then + clear + + return + fi + + tmux new-window -d -n scratch + nvim . + clear + ''; + } + }/bin/.tmux-sessionizer"; + }; +} diff --git a/modules2/tmux-sessionizer/package.nix b/modules2/tmux-sessionizer/package.nix new file mode 100644 index 00000000..d87d15d7 --- /dev/null +++ b/modules2/tmux-sessionizer/package.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = with pkgs; [ tmux-sessionizer ]; + }; +} From c77d7e4e5508f76d994966a8ce4fdf5c2394a2d6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 23:40:59 +0100 Subject: [PATCH 2037/2258] Refactor --- modules2/git/defaults.nix | 107 ++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 56 deletions(-) diff --git a/modules2/git/defaults.nix b/modules2/git/defaults.nix index 3af93d9f..cadd46ac 100644 --- a/modules2/git/defaults.nix +++ b/modules2/git/defaults.nix @@ -1,64 +1,59 @@ { config, ... }: -let - cfg = config; -in { - flake.modules.homeManager.base = - { config, ... }: - { - programs.git = { - userName = cfg.flake.meta.owner.name; - userEmail = cfg.flake.meta.owner.email; + flake.modules.homeManager.base = hmArgs: { + programs.git = { + userName = config.flake.meta.owner.name; + userEmail = config.flake.meta.owner.email; - extraConfig = { - branch = { - autosetupmerge = true; - autosetuprebase = "always"; - sort = "-committerdate"; - }; - - checkout.defaultRemote = "origin"; - color.ui = true; - column.ui = "auto"; - commit.template = "${config.xdg.configHome}/git/message"; - - core = { - editor = "nvim"; - excludesFile = "~/.config/git/ignore"; - }; - - diff.tool = "vimdiff"; - fetch.prune = true; - gpg.format = "ssh"; - grep.lineNumber = true; - help.autocorrect = "1"; - init.defaultBranch = "main"; - - maintenance = { - auto = false; - strategy = "incremental"; - }; - - merge.ff = "only"; - - push = { - autoSetupRemote = true; - default = "upstream"; - }; - - pull = { - ff = "only"; - rebase = true; - }; - - rebase = { - autosquash = true; - autostash = true; - }; - - user.signingkey = "~/.ssh/id_rsa.pub"; + extraConfig = { + branch = { + autosetupmerge = true; + autosetuprebase = "always"; + sort = "-committerdate"; }; + + checkout.defaultRemote = "origin"; + color.ui = true; + column.ui = "auto"; + commit.template = "${hmArgs.config.xdg.configHome}/git/message"; + + core = { + editor = "nvim"; + excludesFile = "~/.config/git/ignore"; + }; + + diff.tool = "vimdiff"; + fetch.prune = true; + gpg.format = "ssh"; + grep.lineNumber = true; + help.autocorrect = "1"; + init.defaultBranch = "main"; + + maintenance = { + auto = false; + strategy = "incremental"; + }; + + merge.ff = "only"; + + push = { + autoSetupRemote = true; + default = "upstream"; + }; + + pull = { + ff = "only"; + rebase = true; + }; + + rebase = { + autosquash = true; + autostash = true; + }; + + user.signingkey = "~/.ssh/id_rsa.pub"; }; }; + }; } From 1b360709f835dc509fe52f49605bb01f201a6061 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 23:43:49 +0100 Subject: [PATCH 2038/2258] Refactor --- modules2/git/defaults.nix | 17 ++++++----------- modules2/git/user.nix | 8 ++++++++ 2 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 modules2/git/user.nix diff --git a/modules2/git/defaults.nix b/modules2/git/defaults.nix index cadd46ac..02b8978c 100644 --- a/modules2/git/defaults.nix +++ b/modules2/git/defaults.nix @@ -1,12 +1,8 @@ -{ config, ... }: - { - flake.modules.homeManager.base = hmArgs: { - programs.git = { - userName = config.flake.meta.owner.name; - userEmail = config.flake.meta.owner.email; - - extraConfig = { + flake.modules.homeManager.base = + { config, ... }: + { + programs.git.extraConfig = { branch = { autosetupmerge = true; autosetuprebase = "always"; @@ -16,11 +12,11 @@ checkout.defaultRemote = "origin"; color.ui = true; column.ui = "auto"; - commit.template = "${hmArgs.config.xdg.configHome}/git/message"; + commit.template = "${config.xdg.configHome}/git/message"; core = { editor = "nvim"; - excludesFile = "~/.config/git/ignore"; + excludesFile = "${config.xdg.configHome}/git/ignore"; }; diff.tool = "vimdiff"; @@ -55,5 +51,4 @@ user.signingkey = "~/.ssh/id_rsa.pub"; }; }; - }; } diff --git a/modules2/git/user.nix b/modules2/git/user.nix new file mode 100644 index 00000000..bc3f214f --- /dev/null +++ b/modules2/git/user.nix @@ -0,0 +1,8 @@ +{ config, ... }: + +{ + flake.modules.homeManager.base.programs.git = { + userName = config.flake.meta.owner.name; + userEmail = config.flake.meta.owner.email; + }; +} From a3e4cd0e135674fb4438c546bc056920c932c9cf Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 24 Jul 2025 23:53:29 +0100 Subject: [PATCH 2039/2258] Move Docker configuration --- hosts/PW05CH3L/configuration.nix | 2 -- modules/nixos/default.nix | 1 - {modules/nixos => modules2}/docker.nix | 13 ++++--------- users/opdavies.nix | 1 - 4 files changed, 4 insertions(+), 13 deletions(-) rename {modules/nixos => modules2}/docker.nix (55%) diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index c72ecf97..0e43f0a5 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -13,8 +13,6 @@ features = { cli = { - docker.enable = true; - password-store.enable = true; password-store.extensions = with pkgs.passExtensions; [ pass-otp diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 6e2bd4ff..c10186d5 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -2,7 +2,6 @@ imports = [ ./avahi.nix ./dconf.nix - ./docker.nix ./dwm ./fonts.nix ./gitea-actions-runner.nix diff --git a/modules/nixos/docker.nix b/modules2/docker.nix similarity index 55% rename from modules/nixos/docker.nix rename to modules2/docker.nix index 916a7cae..853dd2ee 100644 --- a/modules/nixos/docker.nix +++ b/modules2/docker.nix @@ -1,14 +1,7 @@ -{ config, lib, ... }: +{ config, ... }: -with lib; - -let - cfg = config.features.cli.docker; -in { - options.features.cli.docker.enable = mkEnableOption "Enable docker"; - - config = mkIf cfg.enable { + flake.modules.nixos.pc = { virtualisation = { oci-containers.backend = "docker"; @@ -21,5 +14,7 @@ in }; }; }; + + users.users.${config.flake.meta.owner.username}.extraGroups = [ "docker" ]; }; } diff --git a/users/opdavies.nix b/users/opdavies.nix index b8aa85c9..62304f8e 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -17,7 +17,6 @@ with lib; "networkmanager" "wheel" ] - ++ optional config.features.cli.docker.enable "docker" ++ optional config.features.cli.podman.enable "podman"; packages = with pkgs; [ From 6a12ea4b0e17fb89762d5fd449a832df35bfe027 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 00:25:08 +0100 Subject: [PATCH 2040/2258] Move password-store configuration --- hosts/PW05CH3L/configuration.nix | 11 +--------- hosts/t480/configuration.nix | 7 ------- modules/nixos/default.nix | 1 - modules/nixos/password-store.nix | 29 -------------------------- modules2/hosts/t480/password-store.nix | 11 ++++++++++ modules2/password-store/enable.nix | 3 +++ modules2/password-store/package.nix | 17 +++++++++++++++ modules2/password-store/settings.nix | 7 +++++++ 8 files changed, 39 insertions(+), 47 deletions(-) delete mode 100644 modules/nixos/password-store.nix create mode 100644 modules2/hosts/t480/password-store.nix create mode 100644 modules2/password-store/enable.nix create mode 100644 modules2/password-store/package.nix create mode 100644 modules2/password-store/settings.nix diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index 0e43f0a5..d42e7a99 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ inputs, ... }: { imports = [ @@ -11,15 +11,6 @@ ../../users/opdavies.nix ]; - features = { - cli = { - password-store.enable = true; - password-store.extensions = with pkgs.passExtensions; [ - pass-otp - ]; - }; - }; - wsl = { enable = true; defaultUser = "opdavies"; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index af703ea9..7fcbd679 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -25,13 +25,6 @@ kanata.devices = [ "/dev/input/by-path/platform-i8042-serio-0-event-kbd" ]; - - password-store.enable = true; - password-store.extensions = with pkgs.passExtensions; [ - pass-audit - pass-otp - pass-update - ]; }; core = { diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index c10186d5..7d90a936 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -11,7 +11,6 @@ ./nix-index.nix ./nixpad ./openssh.nix - ./password-store.nix ./pipewire.nix ./podman.nix ./st.nix diff --git a/modules/nixos/password-store.nix b/modules/nixos/password-store.nix deleted file mode 100644 index 61331aee..00000000 --- a/modules/nixos/password-store.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.password-store; -in -{ - options.features.cli.password-store = { - enable = mkEnableOption "Enable pass"; - - extensions = mkOption { - default = [ ]; - type = types.listOf types.package; - description = "pass extensions to install."; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - (pass.withExtensions (e: with e; cfg.extensions)) - ]; - }; -} diff --git a/modules2/hosts/t480/password-store.nix b/modules2/hosts/t480/password-store.nix new file mode 100644 index 00000000..e40d892b --- /dev/null +++ b/modules2/hosts/t480/password-store.nix @@ -0,0 +1,11 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + programs.password-store.extensions = with pkgs.passExtensions; [ + pass-audit + pass-otp + pass-update + ]; + }; +} diff --git a/modules2/password-store/enable.nix b/modules2/password-store/enable.nix new file mode 100644 index 00000000..e5022dee --- /dev/null +++ b/modules2/password-store/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.password-store.enable = true; +} diff --git a/modules2/password-store/package.nix b/modules2/password-store/package.nix new file mode 100644 index 00000000..781a0e5d --- /dev/null +++ b/modules2/password-store/package.nix @@ -0,0 +1,17 @@ +{ lib, ... }: + +{ + flake.modules.homeManager.base = + { config, pkgs, ... }: + { + options.programs.password-store.extensions = lib.mkOption { + default = [ ]; + type = lib.types.listOf lib.types.package; + description = "pass extensions to install."; + }; + + config.programs.password-store.package = pkgs.pass.withExtensions ( + e: with e; config.programs.password-store.extensions + ); + }; +} diff --git a/modules2/password-store/settings.nix b/modules2/password-store/settings.nix new file mode 100644 index 00000000..e4dd4374 --- /dev/null +++ b/modules2/password-store/settings.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base = + { config, ... }: + { + programs.password-store.settings.PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass"; + }; +} From 9eca4f3e7bfa08c03e94f75f341df5707ad11b4f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 00:29:49 +0100 Subject: [PATCH 2041/2258] Move fonts configuration --- hosts/t480/configuration.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/fonts.nix | 30 ------------------------------ modules2/fonts.nix | 16 ++++++++++++++++ 4 files changed, 16 insertions(+), 32 deletions(-) delete mode 100644 modules/nixos/fonts.nix create mode 100644 modules2/fonts.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7fcbd679..efe28e15 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -37,7 +37,6 @@ desktop = { dconf.enable = true; dwm.enable = true; - fonts.enable = true; media.makemkv.enable = true; st.enable = true; thunar.enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 7d90a936..f732bb95 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,7 +3,6 @@ ./avahi.nix ./dconf.nix ./dwm - ./fonts.nix ./gitea-actions-runner.nix ./gnupg.nix ./kanata.nix diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix deleted file mode 100644 index 371b2fe1..00000000 --- a/modules/nixos/fonts.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.fonts; -in -{ - options.features.desktop.fonts.enable = mkEnableOption "Enable fonts"; - - config = mkIf cfg.enable { - fonts = { - fontconfig = { - enable = true; - }; - - packages = with pkgs; [ - nerd-fonts.jetbrains-mono - nerd-fonts.meslo-lg - terminus_font - terminus_font_ttf - ]; - }; - }; -} diff --git a/modules2/fonts.nix b/modules2/fonts.nix new file mode 100644 index 00000000..edf9dcee --- /dev/null +++ b/modules2/fonts.nix @@ -0,0 +1,16 @@ +{ + flake.modules.nixos.pc = + { pkgs, ... }: + { + fonts = { + fontconfig.enable = true; + + packages = with pkgs; [ + nerd-fonts.jetbrains-mono + nerd-fonts.meslo-lg + terminus_font + terminus_font_ttf + ]; + }; + }; +} From 6728f32ffccac440ec43af405c377237f14f64ac Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 01:33:16 +0100 Subject: [PATCH 2042/2258] Move ollama configuration --- hosts/t480/configuration.nix | 1 - hosts/t480/ollama.nix | 10 ---------- modules2/hosts/t480/ollama.nix | 3 +++ modules2/hosts/t480/open-webui.nix | 3 +++ modules2/ollama/acceleration.nix | 3 +++ modules2/ollama/models.nix | 5 +++++ 6 files changed, 14 insertions(+), 11 deletions(-) delete mode 100644 hosts/t480/ollama.nix create mode 100644 modules2/hosts/t480/ollama.nix create mode 100644 modules2/hosts/t480/open-webui.nix create mode 100644 modules2/ollama/acceleration.nix create mode 100644 modules2/ollama/models.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index efe28e15..2800ecf8 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,7 +12,6 @@ ./cron.nix ./neomutt.nix ./newsboat - ./ollama.nix ./secrets.nix ./xserver.nix diff --git a/hosts/t480/ollama.nix b/hosts/t480/ollama.nix deleted file mode 100644 index 137ad6b6..00000000 --- a/hosts/t480/ollama.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services = { - ollama = { - enable = false; - acceleration = "rocm"; - }; - - open-webui.enable = false; - }; -} diff --git a/modules2/hosts/t480/ollama.nix b/modules2/hosts/t480/ollama.nix new file mode 100644 index 00000000..a83349e0 --- /dev/null +++ b/modules2/hosts/t480/ollama.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.ollama.enable = true; +} diff --git a/modules2/hosts/t480/open-webui.nix b/modules2/hosts/t480/open-webui.nix new file mode 100644 index 00000000..f0bbfd77 --- /dev/null +++ b/modules2/hosts/t480/open-webui.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.open-webui.enable = true; +} diff --git a/modules2/ollama/acceleration.nix b/modules2/ollama/acceleration.nix new file mode 100644 index 00000000..498aff21 --- /dev/null +++ b/modules2/ollama/acceleration.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.ollama.acceleration = "rocm"; +} diff --git a/modules2/ollama/models.nix b/modules2/ollama/models.nix new file mode 100644 index 00000000..7919e246 --- /dev/null +++ b/modules2/ollama/models.nix @@ -0,0 +1,5 @@ +{ + flake.modules.nixos.pc.services.ollama.loadModels = [ + "dimavz/whisper-tiny" + ]; +} From 37673680cdbe0fd676e553f9c18c1f7d047daa98 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 02:13:01 +0100 Subject: [PATCH 2043/2258] Make Docker toggleable --- modules2/docker.nix | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/modules2/docker.nix b/modules2/docker.nix index 853dd2ee..e909e693 100644 --- a/modules2/docker.nix +++ b/modules2/docker.nix @@ -1,20 +1,24 @@ -{ config, ... }: +{ config, lib, ... }: { - flake.modules.nixos.pc = { - virtualisation = { - oci-containers.backend = "docker"; + flake.modules.nixos.pc = args: { + options.docker.enable = lib.mkEnableOption "Enable Docker"; - docker = { - enable = true; + config = lib.mkIf args.config.docker.enable { + virtualisation = { + oci-containers.backend = "docker"; - autoPrune = { + docker = { enable = true; - dates = "weekly"; + + autoPrune = { + enable = true; + dates = "weekly"; + }; }; }; - }; - users.users.${config.flake.meta.owner.username}.extraGroups = [ "docker" ]; + users.users.${config.flake.meta.owner.username}.extraGroups = [ "docker" ]; + }; }; } From ad516fd7e0c8601bcdfc7d0fd2b65584720dab4c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 10:30:13 +0100 Subject: [PATCH 2044/2258] Move xbanish configuration --- hosts/t480/configuration.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/xbanish.nix | 14 -------------- modules2/xbanish.nix | 3 +++ 4 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 modules/nixos/xbanish.nix create mode 100644 modules2/xbanish.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 2800ecf8..301b8e67 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -29,7 +29,6 @@ core = { openssh.enable = true; pipewire.enable = true; - xbanish.enable = true; zram.enable = true; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index f732bb95..c100a5ff 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -14,7 +14,6 @@ ./podman.nix ./st.nix ./thunar.nix - ./xbanish.nix ./zram.nix ]; } diff --git a/modules/nixos/xbanish.nix b/modules/nixos/xbanish.nix deleted file mode 100644 index 723eeff9..00000000 --- a/modules/nixos/xbanish.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.core.xbanish; -in -{ - options.features.core.xbanish.enable = mkEnableOption "Enable xbanish"; - - config = mkIf cfg.enable { - services.xbanish.enable = true; - }; -} diff --git a/modules2/xbanish.nix b/modules2/xbanish.nix new file mode 100644 index 00000000..5ebb30b0 --- /dev/null +++ b/modules2/xbanish.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.xbanish.enable = true; +} From ce1fa163fd9365cff57a0925f736eeb24292e374 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 10:33:49 +0100 Subject: [PATCH 2045/2258] Move openssh configuration --- hosts/lemp11/services.nix | 1 - hosts/nixedo/configuration.nix | 1 - hosts/t480/configuration.nix | 1 - hosts/t490/services/default.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/openssh.nix | 23 ----------------------- modules2/openssh/enable.nix | 3 +++ modules2/openssh/firewall.nix | 5 +++++ modules2/openssh/settings.nix | 8 ++++++++ 9 files changed, 16 insertions(+), 28 deletions(-) delete mode 100644 modules/nixos/openssh.nix create mode 100644 modules2/openssh/enable.nix create mode 100644 modules2/openssh/firewall.nix create mode 100644 modules2/openssh/settings.nix diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index a096651f..e1e45889 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -2,7 +2,6 @@ services = { auto-cpufreq.enable = true; gvfs.enable = true; - openssh.enable = true; power-profiles-daemon.enable = false; thermald.enable = true; diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 1eafd624..92626f62 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -20,7 +20,6 @@ ]; features = { - core.openssh.enable = true; cli.podman.enable = true; desktop.dconf.enable = true; }; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 301b8e67..7a4ec730 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -27,7 +27,6 @@ }; core = { - openssh.enable = true; pipewire.enable = true; zram.enable = true; }; diff --git a/hosts/t490/services/default.nix b/hosts/t490/services/default.nix index ce7ea823..ffde7b0c 100644 --- a/hosts/t490/services/default.nix +++ b/hosts/t490/services/default.nix @@ -19,7 +19,6 @@ blueman.enable = true; gvfs.enable = true; - openssh.enable = true; power-profiles-daemon.enable = false; printing.enable = true; pulseaudio.enable = false; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index c100a5ff..4dbd9578 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -9,7 +9,6 @@ ./media ./nix-index.nix ./nixpad - ./openssh.nix ./pipewire.nix ./podman.nix ./st.nix diff --git a/modules/nixos/openssh.nix b/modules/nixos/openssh.nix deleted file mode 100644 index 3d09487e..00000000 --- a/modules/nixos/openssh.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.core.openssh; -in -{ - options.features.core.openssh.enable = mkEnableOption "Enable openssh"; - - config = mkIf cfg.enable { - services.openssh = { - enable = true; - - openFirewall = lib.mkForce true; - - settings = { - PasswordAuthentication = false; - PermitRootLogin = lib.mkForce "no"; - }; - }; - }; -} diff --git a/modules2/openssh/enable.nix b/modules2/openssh/enable.nix new file mode 100644 index 00000000..278ab317 --- /dev/null +++ b/modules2/openssh/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.openssh.enable = true; +} diff --git a/modules2/openssh/firewall.nix b/modules2/openssh/firewall.nix new file mode 100644 index 00000000..c8b4e8b5 --- /dev/null +++ b/modules2/openssh/firewall.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + flake.modules.nixos.pc.services.openssh.openFirewall = lib.mkForce true; +} diff --git a/modules2/openssh/settings.nix b/modules2/openssh/settings.nix new file mode 100644 index 00000000..d1a976f7 --- /dev/null +++ b/modules2/openssh/settings.nix @@ -0,0 +1,8 @@ +{ lib, ... }: + +{ + flake.modules.nixos.pc.services.openssh.settings = { + PasswordAuthentication = false; + PermitRootLogin = lib.mkForce "no"; + }; +} From 603a310d689ceec453bed2e2d80ab41f0ef7c25f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 10:43:30 +0100 Subject: [PATCH 2046/2258] Move thunar configuration --- hosts/t480/configuration.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/thunar.nix | 27 --------------------------- modules2/thunar/enable.nix | 3 +++ modules2/thunar/extra-packages.nix | 7 +++++++ modules2/thunar/plugins.nix | 9 +++++++++ 6 files changed, 19 insertions(+), 29 deletions(-) delete mode 100644 modules/nixos/thunar.nix create mode 100644 modules2/thunar/enable.nix create mode 100644 modules2/thunar/extra-packages.nix create mode 100644 modules2/thunar/plugins.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7a4ec730..4574c319 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -36,7 +36,6 @@ dwm.enable = true; media.makemkv.enable = true; st.enable = true; - thunar.enable = true; }; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 4dbd9578..3b645d60 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -12,7 +12,6 @@ ./pipewire.nix ./podman.nix ./st.nix - ./thunar.nix ./zram.nix ]; } diff --git a/modules/nixos/thunar.nix b/modules/nixos/thunar.nix deleted file mode 100644 index 4e9676ab..00000000 --- a/modules/nixos/thunar.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.thunar; -in -{ - options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; - - config = mkIf cfg.enable { - programs.thunar = { - enable = true; - - plugins = with pkgs.xfce; [ - thunar-archive-plugin - ]; - }; - - environment.systemPackages = with pkgs; [ xfce.tumbler ]; - }; -} diff --git a/modules2/thunar/enable.nix b/modules2/thunar/enable.nix new file mode 100644 index 00000000..5ac63555 --- /dev/null +++ b/modules2/thunar/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.pc.nixos.programs.thunar.enable = true; +} diff --git a/modules2/thunar/extra-packages.nix b/modules2/thunar/extra-packages.nix new file mode 100644 index 00000000..036a7ff1 --- /dev/null +++ b/modules2/thunar/extra-packages.nix @@ -0,0 +1,7 @@ +{ + flake.modules.pc.nixos = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ xfce.tumbler ]; + }; +} diff --git a/modules2/thunar/plugins.nix b/modules2/thunar/plugins.nix new file mode 100644 index 00000000..5df3e2ab --- /dev/null +++ b/modules2/thunar/plugins.nix @@ -0,0 +1,9 @@ +{ + flake.modules.pc.nixos = + { pkgs, ... }: + { + programs.thunar.plugins = with pkgs.xfce; [ + thunar-archive-plugin + ]; + }; +} From 9568e39d2c64419433a559bc5635b16aeaab170d Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 25 Jul 2025 07:01:02 +0100 Subject: [PATCH 2047/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/e4bf85da687027cfc4a8853ca11b6b86ce41d732?narHash=sha256-0i3jU9AHuNXb0wYGzImnVwaw%2BmiE0yW13qfjC0F%2BfIE%3D' (2025-07-21) → 'github:nix-community/home-manager/a35f6b60430ff0c7803bd2a727df84c87569c167?narHash=sha256-Y1hAI9h%2B9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM%3D' (2025-07-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19) → 'github:nixos/nixpkgs/fc02ee70efb805d3b2865908a13ddd4474557ecf?narHash=sha256-i%2BCQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s%3D' (2025-07-23) • Updated input 'nur': 'github:nix-community/NUR/d2cc206a109d5025cebb63e370497ebec11406d8?narHash=sha256-e2m5LSKhwAh2HiwfvzyExrMb3XWUips3MuXpeiDdO7U%3D' (2025-07-22) → 'github:nix-community/NUR/39f88cdba97e0384a2c69262ac4e29dd9e0c5faf?narHash=sha256-mbcUnDh5B/Mbl4vKIGJ89Dh5siM3T3xOIrItYcXpMjQ%3D' (2025-07-25) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index cb582210..cf9f4c84 100644 --- a/flake.lock +++ b/flake.lock @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1753132348, - "narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=", + "lastModified": 1753387274, + "narHash": "sha256-Y1hAI9h+9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732", + "rev": "a35f6b60430ff0c7803bd2a727df84c87569c167", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1753250450, + "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", "type": "github" }, "original": { @@ -375,11 +375,11 @@ ] }, "locked": { - "lastModified": 1753158482, - "narHash": "sha256-e2m5LSKhwAh2HiwfvzyExrMb3XWUips3MuXpeiDdO7U=", + "lastModified": 1753423048, + "narHash": "sha256-mbcUnDh5B/Mbl4vKIGJ89Dh5siM3T3xOIrItYcXpMjQ=", "owner": "nix-community", "repo": "NUR", - "rev": "d2cc206a109d5025cebb63e370497ebec11406d8", + "rev": "39f88cdba97e0384a2c69262ac4e29dd9e0c5faf", "type": "github" }, "original": { From 1265131377429880ecc10cf4d0afe9cc1e70b864 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 20:46:25 +0100 Subject: [PATCH 2048/2258] Move zram configuration --- hosts/lemp11/configuration.nix | 4 ---- hosts/t480/configuration.nix | 1 - hosts/t490/configuration.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/zram.nix | 18 ------------------ modules2/zram.nix | 7 +++++++ 6 files changed, 7 insertions(+), 25 deletions(-) delete mode 100644 modules/nixos/zram.nix create mode 100644 modules2/zram.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index d1fdbcd4..a8387610 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -19,10 +19,6 @@ ]; features = { - core = { - zram.enable = true; - }; - desktop.media.makemkv.enable = true; }; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 4574c319..d37ada8e 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -28,7 +28,6 @@ core = { pipewire.enable = true; - zram.enable = true; }; desktop = { diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 848db9f6..a53adc8a 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -16,7 +16,6 @@ ]; features = { - core.zram.enable = true; desktop.dconf.enable = true; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 3b645d60..0f1a57e0 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -12,6 +12,5 @@ ./pipewire.nix ./podman.nix ./st.nix - ./zram.nix ]; } diff --git a/modules/nixos/zram.nix b/modules/nixos/zram.nix deleted file mode 100644 index a0d0046a..00000000 --- a/modules/nixos/zram.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.core.zram; -in -{ - options.features.core.zram.enable = mkEnableOption "Enable zram"; - - config = mkIf cfg.enable { - zramSwap = { - enable = true; - algorithm = "zstd"; - memoryPercent = 90; - }; - }; -} diff --git a/modules2/zram.nix b/modules2/zram.nix new file mode 100644 index 00000000..3ca702ff --- /dev/null +++ b/modules2/zram.nix @@ -0,0 +1,7 @@ +{ + flake.modules.nixos.pc.zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 90; + }; +} From d31dcb54b6d5edec50256cf6015b0d626f59457d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 20:46:37 +0100 Subject: [PATCH 2049/2258] Re-add steam --- modules2/games/steam.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 modules2/games/steam.nix diff --git a/modules2/games/steam.nix b/modules2/games/steam.nix new file mode 100644 index 00000000..2fe1e902 --- /dev/null +++ b/modules2/games/steam.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.programs.steam.enable = true; +} From ce3270b7732e95964f29c07b3e4b05cac97dd3e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 21:29:51 +0100 Subject: [PATCH 2050/2258] Move makemkv configuration --- home-manager/opdavies/lemp11.nix | 1 - home-manager/opdavies/t480.nix | 1 - hosts/lemp11/configuration.nix | 4 ---- hosts/t480/configuration.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/media/makemkv.nix | 21 --------------------- modules/nixos/default.nix | 1 - modules/nixos/media/default.nix | 5 ----- modules/nixos/media/makemkv.nix | 16 ---------------- modules2/makemkv.nix | 13 +++++++++++++ 10 files changed, 13 insertions(+), 51 deletions(-) delete mode 100644 modules/home-manager/media/makemkv.nix delete mode 100644 modules/nixos/media/default.nix delete mode 100644 modules/nixos/media/makemkv.nix create mode 100644 modules2/makemkv.nix diff --git a/home-manager/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix index 1917a2db..de3a13fd 100644 --- a/home-manager/opdavies/lemp11.nix +++ b/home-manager/opdavies/lemp11.nix @@ -6,7 +6,6 @@ desktop.media = { handbrake.enable = true; - makemkv.enable = true; mpv.enable = true; }; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 338ae72f..a9a533ec 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -44,7 +44,6 @@ media = { handbrake.enable = true; - makemkv.enable = true; mpv.enable = true; }; }; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index a8387610..a3c40dbd 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -18,10 +18,6 @@ ../../users/eric.nix ]; - features = { - desktop.media.makemkv.enable = true; - }; - nixpad.enable = true; # Bootloader. diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index d37ada8e..7a2705b7 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -33,7 +33,6 @@ desktop = { dconf.enable = true; dwm.enable = true; - media.makemkv.enable = true; st.enable = true; }; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 50cd8d69..02168d8d 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -12,7 +12,6 @@ ./gnupg.nix ./gtk.nix ./media/handbrake.nix - ./media/makemkv.nix ./media/mpv.nix ./neovim ./node.nix diff --git a/modules/home-manager/media/makemkv.nix b/modules/home-manager/media/makemkv.nix deleted file mode 100644 index 01ee6c04..00000000 --- a/modules/home-manager/media/makemkv.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.media.makemkv; -in -{ - options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; - - config = mkIf cfg.enable { - home.packages = with pkgs; [ - makemkv - ]; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 0f1a57e0..e4c7c511 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -6,7 +6,6 @@ ./gitea-actions-runner.nix ./gnupg.nix ./kanata.nix - ./media ./nix-index.nix ./nixpad ./pipewire.nix diff --git a/modules/nixos/media/default.nix b/modules/nixos/media/default.nix deleted file mode 100644 index 2efff1fb..00000000 --- a/modules/nixos/media/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./makemkv.nix - ]; -} diff --git a/modules/nixos/media/makemkv.nix b/modules/nixos/media/makemkv.nix deleted file mode 100644 index 2b25b7aa..00000000 --- a/modules/nixos/media/makemkv.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.desktop.media.makemkv; -in -{ - options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv"; - - config = mkIf cfg.enable { - boot.kernelModules = [ "sg" ]; - - users.users.opdavies.extraGroups = [ "cdrom" ]; - }; -} diff --git a/modules2/makemkv.nix b/modules2/makemkv.nix new file mode 100644 index 00000000..9e6912a8 --- /dev/null +++ b/modules2/makemkv.nix @@ -0,0 +1,13 @@ +{ config, ... }: + +{ + flake.modules.nixos.pc = + { pkgs, ... }: + { + boot.kernelModules = [ "sg" ]; + + environment.systemPackages = with pkgs; [ makemkv ]; + + users.users.${config.flake.meta.owner.username}.extraGroups = [ "cdrom" ]; + }; +} From ccbe21a5c42464c6ace7d00158bcc4b788dbbf00 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 22:00:57 +0100 Subject: [PATCH 2051/2258] Move notes configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 3 --- modules/home-manager/default.nix | 1 - modules/home-manager/notes.nix | 37 ---------------------------- modules2/hosts/t480/notes.nix | 7 ++++++ modules2/notes/base.nix | 7 ++++++ modules2/notes/session-variables.nix | 13 ++++++++++ modules2/notes/xdg.nix | 6 +++++ 8 files changed, 33 insertions(+), 42 deletions(-) delete mode 100644 modules/home-manager/notes.nix create mode 100644 modules2/hosts/t480/notes.nix create mode 100644 modules2/notes/base.nix create mode 100644 modules2/notes/session-variables.nix create mode 100644 modules2/notes/xdg.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index f25a0dd6..dcd94faf 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -10,7 +10,6 @@ fzf.enable = true; node.enable = true; - notes.enable = true; ranger.enable = true; starship.enable = true; zsh.enable = true; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index a9a533ec..8c706cd7 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -15,9 +15,6 @@ node.enable = true; - notes.enable = true; - notes.directory = "${config.xdg.userDirs.documents}/wiki/notes"; - ranger.enable = true; sxhkd.enable = true; starship.enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 02168d8d..f9ca2742 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -15,7 +15,6 @@ ./media/mpv.nix ./neovim ./node.nix - ./notes.nix ./phpactor ./ranger.nix ./redshift.nix diff --git a/modules/home-manager/notes.nix b/modules/home-manager/notes.nix deleted file mode 100644 index 5b843c72..00000000 --- a/modules/home-manager/notes.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.notes; -in -{ - options.features.cli.notes = { - enable = mkEnableOption "Enable notes"; - - directory = mkOption { - default = "${config.xdg.userDirs.documents}/notes"; - type = types.str; - }; - }; - - config = mkIf cfg.enable { - xdg = { - enable = true; - userDirs.enable = true; - }; - - home = { - packages = with pkgs; [ notes ]; - - sessionVariables = { - NOTES_DIRECTORY = cfg.directory; - }; - }; - }; -} diff --git a/modules2/hosts/t480/notes.nix b/modules2/hosts/t480/notes.nix new file mode 100644 index 00000000..8fbeaf3d --- /dev/null +++ b/modules2/hosts/t480/notes.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base = + { config, ... }: + { + programs.notes.directory = "${config.xdg.userDirs.documents}/wiki/notes"; + }; +} diff --git a/modules2/notes/base.nix b/modules2/notes/base.nix new file mode 100644 index 00000000..77120315 --- /dev/null +++ b/modules2/notes/base.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ pkgs.notes ]; + }; +} diff --git a/modules2/notes/session-variables.nix b/modules2/notes/session-variables.nix new file mode 100644 index 00000000..dd88be9f --- /dev/null +++ b/modules2/notes/session-variables.nix @@ -0,0 +1,13 @@ +{lib,...}: +{ + flake.modules.homeManager.base = + { config, ... }: + { + options.programs.notes.directory = lib.mkOption { + default = "${config.xdg.userDirs.documents}/notes"; + type = lib.types.str; + }; + + config.home.sessionVariables.NOTES_DIRECTORY = config.programs.notes.directory; + }; +} diff --git a/modules2/notes/xdg.nix b/modules2/notes/xdg.nix new file mode 100644 index 00000000..f0daba22 --- /dev/null +++ b/modules2/notes/xdg.nix @@ -0,0 +1,6 @@ +{ + flake.modules.homeManager.base.xdg = { + enable = true; + userDirs.enable = true; + }; +} From 96b467b7ed497661c315f9248dd9b83d80745ad3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 22:15:21 +0100 Subject: [PATCH 2052/2258] Move fzf configuration --- home-manager/opdavies/PW05CH3L.nix | 2 -- home-manager/opdavies/nixedo.nix | 1 - home-manager/opdavies/t480.nix | 2 -- modules/home-manager/default.nix | 1 - modules/home-manager/fzf.nix | 21 --------------------- modules2/fzf/enable.nix | 6 ++++++ modules2/fzf/session-variables.nix | 5 +++++ 7 files changed, 11 insertions(+), 27 deletions(-) delete mode 100644 modules/home-manager/fzf.nix create mode 100644 modules2/fzf/enable.nix create mode 100644 modules2/fzf/session-variables.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index dcd94faf..5ed05f48 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -7,8 +7,6 @@ cli = { bookmarkthis.enable = true; direnv.enable = true; - fzf.enable = true; - node.enable = true; ranger.enable = true; starship.enable = true; diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 8b423f76..91959735 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -8,7 +8,6 @@ ]; features.cli = { - fzf.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 8c706cd7..9d855bb7 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -11,8 +11,6 @@ bluetuith.enable = true; bookmarkthis.enable = true; direnv.enable = true; - fzf.enable = true; - node.enable = true; ranger.enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index f9ca2742..2308c22b 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -8,7 +8,6 @@ ./dev-commit.nix ./direnv.nix ./flameshot.nix - ./fzf.nix ./gnupg.nix ./gtk.nix ./media/handbrake.nix diff --git a/modules/home-manager/fzf.nix b/modules/home-manager/fzf.nix deleted file mode 100644 index aae36ec1..00000000 --- a/modules/home-manager/fzf.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.cli.fzf; -in -{ - options.features.cli.fzf.enable = mkEnableOption "Enable fzf"; - - config = mkIf cfg.enable { - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - - home.sessionVariables = { - FZF_DEFAULT_OPTS = "--reverse"; - }; - }; -} diff --git a/modules2/fzf/enable.nix b/modules2/fzf/enable.nix new file mode 100644 index 00000000..512d9727 --- /dev/null +++ b/modules2/fzf/enable.nix @@ -0,0 +1,6 @@ +{ + flake.modules.homeManager.base.programs.fzf = { + enable = true; + enableZshIntegration = true; + }; +} diff --git a/modules2/fzf/session-variables.nix b/modules2/fzf/session-variables.nix new file mode 100644 index 00000000..cb3e2433 --- /dev/null +++ b/modules2/fzf/session-variables.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.base.home.sessionVariables = { + FZF_DEFAULT_OPTS = "--reverse"; + }; +} From 988dac64134608ea94bdfe961c63bf408c3be5f8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 25 Jul 2025 22:31:07 +0100 Subject: [PATCH 2053/2258] Move nix-index configuration --- modules/nixos/default.nix | 1 - modules/nixos/nix-index.nix | 7 ------- modules2/nix-index.nix | 12 ++++++++++++ 3 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 modules/nixos/nix-index.nix create mode 100644 modules2/nix-index.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index e4c7c511..41012cf1 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -6,7 +6,6 @@ ./gitea-actions-runner.nix ./gnupg.nix ./kanata.nix - ./nix-index.nix ./nixpad ./pipewire.nix ./podman.nix diff --git a/modules/nixos/nix-index.nix b/modules/nixos/nix-index.nix deleted file mode 100644 index 614416bd..00000000 --- a/modules/nixos/nix-index.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ inputs, ... }: - -{ - imports = [ inputs.nix-index-database.nixosModules.nix-index ]; - - programs.nix-index-database.comma.enable = true; -} diff --git a/modules2/nix-index.nix b/modules2/nix-index.nix new file mode 100644 index 00000000..b1fcf010 --- /dev/null +++ b/modules2/nix-index.nix @@ -0,0 +1,12 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.base = { + imports = [ inputs.nix-index-database.homeModules.nix-index ]; + + programs = { + nix-index.enable = true; + nix-index-database.comma.enable = true; + }; + }; +} From 32e28379e2977debf31e054a952a713278548e70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 26 Jul 2025 01:14:17 +0100 Subject: [PATCH 2054/2258] Move pipewire configuration --- hosts/lemp11/services.nix | 12 ------------ hosts/t480/configuration.nix | 4 ---- hosts/t490/services/default.nix | 1 - hosts/t490/services/sound.nix | 12 ------------ modules/nixos/default.nix | 1 - modules/nixos/pipewire.nix | 23 ----------------------- modules2/sound/pipewire/alsa.nix | 6 ++++++ modules2/sound/pipewire/enable.nix | 3 +++ modules2/sound/pipewire/pulse.nix | 3 +++ 9 files changed, 12 insertions(+), 53 deletions(-) delete mode 100644 hosts/t490/services/sound.nix delete mode 100644 modules/nixos/pipewire.nix create mode 100644 modules2/sound/pipewire/alsa.nix create mode 100644 modules2/sound/pipewire/enable.nix create mode 100644 modules2/sound/pipewire/pulse.nix diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix index e1e45889..90c3a9f2 100644 --- a/hosts/lemp11/services.nix +++ b/hosts/lemp11/services.nix @@ -4,18 +4,6 @@ gvfs.enable = true; power-profiles-daemon.enable = false; thermald.enable = true; - - pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - printing.enable = true; pulseaudio.enable = false; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7a2705b7..880ac0a2 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -26,10 +26,6 @@ ]; }; - core = { - pipewire.enable = true; - }; - desktop = { dconf.enable = true; dwm.enable = true; diff --git a/hosts/t490/services/default.nix b/hosts/t490/services/default.nix index ffde7b0c..efbae4cc 100644 --- a/hosts/t490/services/default.nix +++ b/hosts/t490/services/default.nix @@ -2,7 +2,6 @@ imports = [ ./cron.nix ./interception-tools.nix - ./sound.nix ./udev.nix ./xserver.nix ]; diff --git a/hosts/t490/services/sound.nix b/hosts/t490/services/sound.nix deleted file mode 100644 index 03ff2376..00000000 --- a/hosts/t490/services/sound.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 41012cf1..0c2ab44a 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -7,7 +7,6 @@ ./gnupg.nix ./kanata.nix ./nixpad - ./pipewire.nix ./podman.nix ./st.nix ]; diff --git a/modules/nixos/pipewire.nix b/modules/nixos/pipewire.nix deleted file mode 100644 index 557846bd..00000000 --- a/modules/nixos/pipewire.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.core.pipewire; -in -{ - options.features.core.pipewire.enable = mkEnableOption "Enable pipewire"; - - config = mkIf cfg.enable { - services.pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - }; -} diff --git a/modules2/sound/pipewire/alsa.nix b/modules2/sound/pipewire/alsa.nix new file mode 100644 index 00000000..ad5c1271 --- /dev/null +++ b/modules2/sound/pipewire/alsa.nix @@ -0,0 +1,6 @@ +{ + flake.modules.nixos.pc.services.pipewire.alsa = { + enable = true; + support32Bit = true; + }; +} diff --git a/modules2/sound/pipewire/enable.nix b/modules2/sound/pipewire/enable.nix new file mode 100644 index 00000000..3160292b --- /dev/null +++ b/modules2/sound/pipewire/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.pipewire.enable = true; +} diff --git a/modules2/sound/pipewire/pulse.nix b/modules2/sound/pipewire/pulse.nix new file mode 100644 index 00000000..c3ee1c25 --- /dev/null +++ b/modules2/sound/pipewire/pulse.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.pipewire.pulse.enable = true; +} From 6c1b494e824aaf2eddd9eb203490c09ffeda4bf0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 26 Jul 2025 02:35:57 +0100 Subject: [PATCH 2055/2258] Move neovim/nixvim configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - .../home-manager/neovim/config/default.nix | 73 ------------------- .../neovim/config/plugins/auto-save.nix | 22 ------ .../neovim/config/plugins/conform.nix | 3 - .../neovim/config/plugins/fidget.nix | 3 - .../neovim/config/plugins/fugitive.nix | 18 ----- .../neovim/config/plugins/gitsigns.nix | 48 ------------ .../neovim/config/plugins/lint.nix | 3 - .../neovim/config/plugins/lsp.nix | 21 ------ .../neovim/config/plugins/luasnip.nix | 3 - .../neovim/config/plugins/oil.nix | 23 ------ .../neovim/config/plugins/phpactor.nix | 17 ----- .../neovim/config/plugins/refactoring.nix | 48 ------------ .../neovim/config/plugins/treesitter.nix | 48 ------------ .../neovim/config/plugins/undotree.nix | 12 --- .../neovim/config/plugins/vim-cool.nix | 5 -- .../config/plugins/vim-highlightedyank.nix | 9 --- .../neovim/config/plugins/vim-test.nix | 20 ----- .../neovim/config/plugins/web-devicons.nix | 3 - modules/home-manager/neovim/default.nix | 6 +- modules2/nixvim/aliases.nix | 6 ++ modules2/nixvim/colorscheme.nix | 6 ++ modules2/nixvim/diagnostics.nix | 12 +++ modules2/nixvim/extra-packages.nix | 10 +++ modules2/nixvim/filetypes.nix | 17 +++++ modules2/nixvim/flake-outputs.nix | 13 ++++ .../config => modules2/nixvim}/keymaps.nix | 2 +- modules2/nixvim/leader.nix | 6 ++ .../plugins => modules2/nixvim}/lualine.nix | 2 +- .../config => modules2/nixvim}/options.nix | 2 +- modules2/nixvim/plugins/auto-save.nix | 24 ++++++ .../nixvim}/plugins/cmp.nix | 2 +- modules2/nixvim/plugins/conform.nix | 3 + modules2/nixvim/plugins/fidget.nix | 3 + modules2/nixvim/plugins/fugitive.nix | 18 +++++ modules2/nixvim/plugins/gitsigns.nix | 48 ++++++++++++ .../nixvim}/plugins/harpoon.nix | 18 ++--- modules2/nixvim/plugins/lint.nix | 3 + modules2/nixvim/plugins/lsp.nix | 23 ++++++ modules2/nixvim/plugins/luasnip.nix | 3 + .../nixvim}/plugins/mini.nix | 2 +- modules2/nixvim/plugins/oil.nix | 23 ++++++ modules2/nixvim/plugins/phpactor.nix | 19 +++++ modules2/nixvim/plugins/refactoring.nix | 54 ++++++++++++++ .../nixvim}/plugins/telescope.nix | 2 +- modules2/nixvim/plugins/treesitter.nix | 50 +++++++++++++ modules2/nixvim/plugins/undotree.nix | 12 +++ modules2/nixvim/plugins/vim-cool.nix | 7 ++ .../nixvim}/plugins/vim-dadbod.nix | 2 +- .../nixvim/plugins/vim-highlightedyank.nix | 11 +++ modules2/nixvim/plugins/vim-test.nix | 20 +++++ modules2/nixvim/plugins/web-devicons.nix | 3 + modules2/nixvim/use-in-home.nix | 24 ++++++ modules2/packages.nix | 4 +- 56 files changed, 438 insertions(+), 404 deletions(-) delete mode 100644 modules/home-manager/neovim/config/default.nix delete mode 100644 modules/home-manager/neovim/config/plugins/auto-save.nix delete mode 100644 modules/home-manager/neovim/config/plugins/conform.nix delete mode 100644 modules/home-manager/neovim/config/plugins/fidget.nix delete mode 100644 modules/home-manager/neovim/config/plugins/fugitive.nix delete mode 100644 modules/home-manager/neovim/config/plugins/gitsigns.nix delete mode 100644 modules/home-manager/neovim/config/plugins/lint.nix delete mode 100644 modules/home-manager/neovim/config/plugins/lsp.nix delete mode 100644 modules/home-manager/neovim/config/plugins/luasnip.nix delete mode 100644 modules/home-manager/neovim/config/plugins/oil.nix delete mode 100644 modules/home-manager/neovim/config/plugins/phpactor.nix delete mode 100644 modules/home-manager/neovim/config/plugins/refactoring.nix delete mode 100644 modules/home-manager/neovim/config/plugins/treesitter.nix delete mode 100644 modules/home-manager/neovim/config/plugins/undotree.nix delete mode 100644 modules/home-manager/neovim/config/plugins/vim-cool.nix delete mode 100644 modules/home-manager/neovim/config/plugins/vim-highlightedyank.nix delete mode 100644 modules/home-manager/neovim/config/plugins/vim-test.nix delete mode 100644 modules/home-manager/neovim/config/plugins/web-devicons.nix create mode 100644 modules2/nixvim/aliases.nix create mode 100644 modules2/nixvim/colorscheme.nix create mode 100644 modules2/nixvim/diagnostics.nix create mode 100644 modules2/nixvim/extra-packages.nix create mode 100644 modules2/nixvim/filetypes.nix create mode 100644 modules2/nixvim/flake-outputs.nix rename {modules/home-manager/neovim/config => modules2/nixvim}/keymaps.nix (96%) create mode 100644 modules2/nixvim/leader.nix rename {modules/home-manager/neovim/config/plugins => modules2/nixvim}/lualine.nix (75%) rename {modules/home-manager/neovim/config => modules2/nixvim}/options.nix (92%) create mode 100644 modules2/nixvim/plugins/auto-save.nix rename {modules/home-manager/neovim/config => modules2/nixvim}/plugins/cmp.nix (96%) create mode 100644 modules2/nixvim/plugins/conform.nix create mode 100644 modules2/nixvim/plugins/fidget.nix create mode 100644 modules2/nixvim/plugins/fugitive.nix create mode 100644 modules2/nixvim/plugins/gitsigns.nix rename {modules/home-manager/neovim/config => modules2/nixvim}/plugins/harpoon.nix (80%) create mode 100644 modules2/nixvim/plugins/lint.nix create mode 100644 modules2/nixvim/plugins/lsp.nix create mode 100644 modules2/nixvim/plugins/luasnip.nix rename {modules/home-manager/neovim/config => modules2/nixvim}/plugins/mini.nix (80%) create mode 100644 modules2/nixvim/plugins/oil.nix create mode 100644 modules2/nixvim/plugins/phpactor.nix create mode 100644 modules2/nixvim/plugins/refactoring.nix rename {modules/home-manager/neovim/config => modules2/nixvim}/plugins/telescope.nix (92%) create mode 100644 modules2/nixvim/plugins/treesitter.nix create mode 100644 modules2/nixvim/plugins/undotree.nix create mode 100644 modules2/nixvim/plugins/vim-cool.nix rename {modules/home-manager/neovim/config => modules2/nixvim}/plugins/vim-dadbod.nix (72%) create mode 100644 modules2/nixvim/plugins/vim-highlightedyank.nix create mode 100644 modules2/nixvim/plugins/vim-test.nix create mode 100644 modules2/nixvim/plugins/web-devicons.nix create mode 100644 modules2/nixvim/use-in-home.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 5ed05f48..da7d9eeb 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -14,7 +14,6 @@ }; coding = { - neovim.enable = true; phpactor.enable = true; }; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 9d855bb7..b1766be5 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -20,7 +20,6 @@ }; coding = { - neovim.enable = true; phpactor.enable = true; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 2308c22b..b29c1831 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -12,7 +12,6 @@ ./gtk.nix ./media/handbrake.nix ./media/mpv.nix - ./neovim ./node.nix ./phpactor ./ranger.nix diff --git a/modules/home-manager/neovim/config/default.nix b/modules/home-manager/neovim/config/default.nix deleted file mode 100644 index b2886b2d..00000000 --- a/modules/home-manager/neovim/config/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ pkgs, ... }: - -{ - # TODO: re-add DAP. - # TODO: re-add snippets. - # TODO: re-configure spell. - - imports = [ - ./keymaps.nix - ./options.nix - ./plugins/auto-save.nix - ./plugins/cmp.nix - ./plugins/conform.nix - ./plugins/fidget.nix - ./plugins/fugitive.nix - ./plugins/gitsigns.nix - ./plugins/harpoon.nix - ./plugins/lint.nix - ./plugins/lsp.nix - ./plugins/lualine.nix - ./plugins/luasnip.nix - ./plugins/mini.nix - ./plugins/oil.nix - ./plugins/phpactor.nix - ./plugins/refactoring.nix - ./plugins/telescope.nix - ./plugins/treesitter.nix - ./plugins/undotree.nix - ./plugins/vim-cool.nix - ./plugins/vim-dadbod.nix - ./plugins/vim-highlightedyank.nix - ./plugins/vim-test.nix - ./plugins/web-devicons.nix - ]; - - colorschemes.catppuccin = { - enable = true; - settings.flavour = "mocha"; - }; - - diagnostic.settings = { - signs = true; - underline = false; - update_in_insert = false; - virtual_text = { - enable = true; - spacing = 2; - }; - }; - - extraPackages = with pkgs; [ - nixfmt-rfc-style - stylua - ]; - - filetype = { - extension = { - "neon.dist" = "yaml"; - inc = "php"; - install = "php"; - module = "php"; - neon = "yaml"; - pcss = "scss"; - theme = "php"; - }; - - filename = { - "composer.lock" = "json"; - }; - }; - - globals.mapleader = " "; -} diff --git a/modules/home-manager/neovim/config/plugins/auto-save.nix b/modules/home-manager/neovim/config/plugins/auto-save.nix deleted file mode 100644 index 037f6c42..00000000 --- a/modules/home-manager/neovim/config/plugins/auto-save.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - plugins.auto-save.enable = true; - - plugins.auto-save.settings.condition = '' - function(buf) - local excluded_filetypes = { - "harpoon", - "oil", - } - - local excluded_filenames = {} - - if vim.tbl_contains(excluded_filetypes, vim.fn.getbufvar(buf, "&filetype")) - or vim.tbl_contains(excluded_filenames, vim.fn.expand("%:t")) - then - return false - end - - return true - end - ''; -} diff --git a/modules/home-manager/neovim/config/plugins/conform.nix b/modules/home-manager/neovim/config/plugins/conform.nix deleted file mode 100644 index 50dce5af..00000000 --- a/modules/home-manager/neovim/config/plugins/conform.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - plugins.conform-nvim.enable = true; -} diff --git a/modules/home-manager/neovim/config/plugins/fidget.nix b/modules/home-manager/neovim/config/plugins/fidget.nix deleted file mode 100644 index b18a7175..00000000 --- a/modules/home-manager/neovim/config/plugins/fidget.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - plugins.fidget.enable = true; -} diff --git a/modules/home-manager/neovim/config/plugins/fugitive.nix b/modules/home-manager/neovim/config/plugins/fugitive.nix deleted file mode 100644 index 87c01ce6..00000000 --- a/modules/home-manager/neovim/config/plugins/fugitive.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, lib, ... }: - -{ - plugins.fugitive.enable = true; - - keymaps = lib.mkIf config.plugins.fugitive.enable [ - { - key = "<leader>gc"; - action = "<cmd>Git commit<CR><C-w>K"; - } - - { - # Open the ":Git" window in its own buffer, not a split. - key = "<leader>gs"; - action = "<cmd>0Git<CR>"; - } - ]; -} diff --git a/modules/home-manager/neovim/config/plugins/gitsigns.nix b/modules/home-manager/neovim/config/plugins/gitsigns.nix deleted file mode 100644 index 7c2d2b0b..00000000 --- a/modules/home-manager/neovim/config/plugins/gitsigns.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ config, lib, ... }: - -{ - plugins.gitsigns.enable = true; - - keymaps = lib.mkIf config.plugins.gitsigns.enable [ - { - action = "<cmd>Gitsigns prev_hunk<CR>"; - key = "[h"; - } - - { - action = "<cmd>Gitsigns next_hunk<CR>"; - key = "]h"; - } - - { - action = "<cmd>Gitsigns reset_hunk<CR>"; - key = "<leader>hr"; - } - - { - action = "<cmd>Gitsigns reset_buffer<CR>"; - key = "<leader>hR"; - } - - { - action = "<cmd>Gitsigns stage_hunk<CR>"; - key = "<leader>hs"; - mode = [ - "n" - "v" - ]; - } - - { - action = "<cmd>Gitsigns stage_buffer<CR>"; - key = "<leader>hS"; - mode = "n"; - } - - { - action = "<cmd>Gitsigns undo_stage_hunk<CR>"; - key = "<leader>hu"; - mode = "x"; - } - ]; -} diff --git a/modules/home-manager/neovim/config/plugins/lint.nix b/modules/home-manager/neovim/config/plugins/lint.nix deleted file mode 100644 index ff65a0d2..00000000 --- a/modules/home-manager/neovim/config/plugins/lint.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - plugins.lint.enable = true; -} diff --git a/modules/home-manager/neovim/config/plugins/lsp.nix b/modules/home-manager/neovim/config/plugins/lsp.nix deleted file mode 100644 index 3f12baed..00000000 --- a/modules/home-manager/neovim/config/plugins/lsp.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - plugins.lsp.enable = true; - - plugins.lsp.keymaps = { - diagnostic = { - "<leader>dl" = "setqflist"; - }; - - lspBuf = { - "<leader>ca" = "code_action"; - "<leader>cr" = "rename"; - K = "hover"; - gD = "declaration"; - gT = "type_definition"; - gd = "definition"; - gr = "references"; - }; - }; - - plugins.lsp.servers.phpactor.enable = true; -} diff --git a/modules/home-manager/neovim/config/plugins/luasnip.nix b/modules/home-manager/neovim/config/plugins/luasnip.nix deleted file mode 100644 index 6dc508db..00000000 --- a/modules/home-manager/neovim/config/plugins/luasnip.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - plugins.luasnip.enable = true; -} diff --git a/modules/home-manager/neovim/config/plugins/oil.nix b/modules/home-manager/neovim/config/plugins/oil.nix deleted file mode 100644 index cbe9645a..00000000 --- a/modules/home-manager/neovim/config/plugins/oil.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, lib, ... }: - -{ - plugins.oil = { - enable = true; - - settings = { - delete_to_trash = true; - - keymaps."-" = "actions.parent"; - - skip_confirm_for_simple_edits = true; - view_options.show_hidden = true; - }; - }; - - keymaps = lib.mkIf config.plugins.oil.enable [ - { - action = "<cmd>Oil<CR>"; - key = "-"; - } - ]; -} diff --git a/modules/home-manager/neovim/config/plugins/phpactor.nix b/modules/home-manager/neovim/config/plugins/phpactor.nix deleted file mode 100644 index 1c4f6387..00000000 --- a/modules/home-manager/neovim/config/plugins/phpactor.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ pkgs, ... }: - -{ - extraPlugins = with pkgs.vimPlugins; [ phpactor ]; - - keymaps = [ - { - key = "<leader>pm"; - action = "<cmd>PhpactorContextMenu<CR>"; - } - - { - key = "<leader>pn"; - action = "<cmd>PhpactorClassNew<CR>"; - } - ]; -} diff --git a/modules/home-manager/neovim/config/plugins/refactoring.nix b/modules/home-manager/neovim/config/plugins/refactoring.nix deleted file mode 100644 index fc4c84a1..00000000 --- a/modules/home-manager/neovim/config/plugins/refactoring.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ config, lib, ... }: - -{ - plugins.refactoring = { - enable = true; - enableTelescope = true; - }; - - keymaps = lib.mkIf config.plugins.refactoring.enable ( - [ - { - key = "<leader>ri"; - action = "<cmd>Refactor inline_var<CR>"; - mode = "n"; - } - - { - key = "<leader>re"; - action = "<cmd>Refactor extract<CR>"; - mode = "x"; - } - - { - key = "<leader>ri"; - action = "<cmd>Refactor inline_var<CR>"; - mode = "x"; - } - - { - key = "<leader>rv"; - action = "<cmd>Refactor extract_var<CR>"; - mode = "x"; - } - ] - ++ lib.optionals (config.plugins.refactoring.enable && config.plugins.refactoring.enableTelescope) [ - { - mode = "n"; - key = "<leader>rR"; - action.__raw = '' - function() - require('telescope').extensions.refactoring.refactors() - end - ''; - options.silent = true; - } - ] - ); -} diff --git a/modules/home-manager/neovim/config/plugins/treesitter.nix b/modules/home-manager/neovim/config/plugins/treesitter.nix deleted file mode 100644 index 34b43940..00000000 --- a/modules/home-manager/neovim/config/plugins/treesitter.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ pkgs, ... }: - -{ - plugins = { - treesitter = { - enable = true; - - grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ - bash - comment - css - csv - dockerfile - gitattributes - gitignore - go - html - javascript - json - kdl - lua - luadoc - make - markdown - markdown_inline - nix - php - phpdoc - query - rst - scss - sql - terraform - twig - typescript - vim - vimdoc - vue - xml - yaml - ]; - - settings.highlight.enable = true; - }; - - treesitter-textobjects.enable = true; - }; -} diff --git a/modules/home-manager/neovim/config/plugins/undotree.nix b/modules/home-manager/neovim/config/plugins/undotree.nix deleted file mode 100644 index 2f523549..00000000 --- a/modules/home-manager/neovim/config/plugins/undotree.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, lib, ... }: - -{ - plugins.undotree.enable = true; - - keymaps = lib.mkIf config.plugins.undotree.enable [ - { - action = "<cmd>UndotreeToggle<CR>"; - key = "<leader>u"; - } - ]; -} diff --git a/modules/home-manager/neovim/config/plugins/vim-cool.nix b/modules/home-manager/neovim/config/plugins/vim-cool.nix deleted file mode 100644 index 07431e87..00000000 --- a/modules/home-manager/neovim/config/plugins/vim-cool.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, ... }: - -{ - extraPlugins = with pkgs.vimPlugins; [ vim-cool ]; -} diff --git a/modules/home-manager/neovim/config/plugins/vim-highlightedyank.nix b/modules/home-manager/neovim/config/plugins/vim-highlightedyank.nix deleted file mode 100644 index 2ecb38f3..00000000 --- a/modules/home-manager/neovim/config/plugins/vim-highlightedyank.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: - -{ - extraPlugins = with pkgs.vimPlugins; [ vim-highlightedyank ]; - - extraConfigVim = '' - let g:highlightedyank_highlight_duration = 100 - ''; -} diff --git a/modules/home-manager/neovim/config/plugins/vim-test.nix b/modules/home-manager/neovim/config/plugins/vim-test.nix deleted file mode 100644 index e35fbdef..00000000 --- a/modules/home-manager/neovim/config/plugins/vim-test.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ config, lib, ... }: - -{ - plugins.vim-test.enable = true; - - keymaps = lib.mkIf config.plugins.vim-test.enable [ - { - key = "<leader>tf"; - action = "<cmd>TestFile<CR>"; - } - { - key = "<leader>tl"; - action = "<cmd>TestLast<CR>"; - } - { - key = "<leader>tn"; - action = "<cmd>TestNearest<CR>"; - } - ]; -} diff --git a/modules/home-manager/neovim/config/plugins/web-devicons.nix b/modules/home-manager/neovim/config/plugins/web-devicons.nix deleted file mode 100644 index 927f85e1..00000000 --- a/modules/home-manager/neovim/config/plugins/web-devicons.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - plugins.web-devicons.enable = false; -} diff --git a/modules/home-manager/neovim/default.nix b/modules/home-manager/neovim/default.nix index 5788cada..f9753152 100644 --- a/modules/home-manager/neovim/default.nix +++ b/modules/home-manager/neovim/default.nix @@ -11,9 +11,9 @@ let cfg = config.features.coding.neovim; in { - imports = [ - inputs.nixvim.homeManagerModules.nixvim - ]; + # imports = [ + # inputs.nixvim.homeManagerModules.nixvim + # ]; options.features.coding.neovim.enable = mkEnableOption "Enable neovim"; diff --git a/modules2/nixvim/aliases.nix b/modules2/nixvim/aliases.nix new file mode 100644 index 00000000..e8f6a389 --- /dev/null +++ b/modules2/nixvim/aliases.nix @@ -0,0 +1,6 @@ +{ + flake.modules.nixvim.custom = { + viAlias = true; + vimAlias = true; + }; +} diff --git a/modules2/nixvim/colorscheme.nix b/modules2/nixvim/colorscheme.nix new file mode 100644 index 00000000..28e04bc8 --- /dev/null +++ b/modules2/nixvim/colorscheme.nix @@ -0,0 +1,6 @@ +{ + flake.modules.nixvim.custom.colorschemes.catppuccin = { + enable = true; + settings.flavour = "mocha"; + }; +} diff --git a/modules2/nixvim/diagnostics.nix b/modules2/nixvim/diagnostics.nix new file mode 100644 index 00000000..a3758ade --- /dev/null +++ b/modules2/nixvim/diagnostics.nix @@ -0,0 +1,12 @@ +{ + flake.modules.nixvim.custom.diagnostic.settings = { + signs = true; + underline = false; + update_in_insert = false; + + virtual_text = { + enable = true; + spacing = 2; + }; + }; +} diff --git a/modules2/nixvim/extra-packages.nix b/modules2/nixvim/extra-packages.nix new file mode 100644 index 00000000..33f7d8f1 --- /dev/null +++ b/modules2/nixvim/extra-packages.nix @@ -0,0 +1,10 @@ +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPackages = with pkgs; [ + nixfmt-rfc-style + stylua + ]; + }; +} diff --git a/modules2/nixvim/filetypes.nix b/modules2/nixvim/filetypes.nix new file mode 100644 index 00000000..bfdc4ca9 --- /dev/null +++ b/modules2/nixvim/filetypes.nix @@ -0,0 +1,17 @@ +{ + flake.modules.nixvim.custom.filetype = { + extension = { + "neon.dist" = "yaml"; + inc = "php"; + install = "php"; + module = "php"; + neon = "yaml"; + pcss = "scss"; + theme = "php"; + }; + + filename = { + "composer.lock" = "json"; + }; + }; +} diff --git a/modules2/nixvim/flake-outputs.nix b/modules2/nixvim/flake-outputs.nix new file mode 100644 index 00000000..ed360c10 --- /dev/null +++ b/modules2/nixvim/flake-outputs.nix @@ -0,0 +1,13 @@ +{ config, ... }: + +{ + perSystem = + { inputs', pkgs, ... }: + { + packages.nixvim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { + inherit pkgs; + + module = config.flake.modules.nixvim.custom; + }; + }; +} diff --git a/modules/home-manager/neovim/config/keymaps.nix b/modules2/nixvim/keymaps.nix similarity index 96% rename from modules/home-manager/neovim/config/keymaps.nix rename to modules2/nixvim/keymaps.nix index 7ecaa6ee..dc13def0 100644 --- a/modules/home-manager/neovim/config/keymaps.nix +++ b/modules2/nixvim/keymaps.nix @@ -1,5 +1,5 @@ { - keymaps = [ + flake.modules.nixvim.custom.keymaps = [ { action = "<Esc>A,<Esc>"; key = ",,"; diff --git a/modules2/nixvim/leader.nix b/modules2/nixvim/leader.nix new file mode 100644 index 00000000..36b9eff9 --- /dev/null +++ b/modules2/nixvim/leader.nix @@ -0,0 +1,6 @@ +{ + flake.modules.nixvim.custom.globals = { + mapleader = " "; + maplocalleader = " "; + }; +} diff --git a/modules/home-manager/neovim/config/plugins/lualine.nix b/modules2/nixvim/lualine.nix similarity index 75% rename from modules/home-manager/neovim/config/plugins/lualine.nix rename to modules2/nixvim/lualine.nix index d8de83ad..3b2d9ea5 100644 --- a/modules/home-manager/neovim/config/plugins/lualine.nix +++ b/modules2/nixvim/lualine.nix @@ -1,5 +1,5 @@ { - plugins.lualine = { + flake.modules.nixvim.custom.plugins.lualine = { enable = true; settings.options = { diff --git a/modules/home-manager/neovim/config/options.nix b/modules2/nixvim/options.nix similarity index 92% rename from modules/home-manager/neovim/config/options.nix rename to modules2/nixvim/options.nix index eaf2a8de..a1fdf587 100644 --- a/modules/home-manager/neovim/config/options.nix +++ b/modules2/nixvim/options.nix @@ -1,5 +1,5 @@ { - opts = { + flake.modules.nixvim.custom.opts = { expandtab = true; exrc = true; foldlevel = 1; diff --git a/modules2/nixvim/plugins/auto-save.nix b/modules2/nixvim/plugins/auto-save.nix new file mode 100644 index 00000000..0844ec58 --- /dev/null +++ b/modules2/nixvim/plugins/auto-save.nix @@ -0,0 +1,24 @@ +{ + flake.modules.nixvim.custom.plugins.auto-save = { + enable = true; + + settings.condition = '' + function(buf) + local excluded_filetypes = { + "harpoon", + "oil", + } + + local excluded_filenames = {} + + if vim.tbl_contains(excluded_filetypes, vim.fn.getbufvar(buf, "&filetype")) + or vim.tbl_contains(excluded_filenames, vim.fn.expand("%:t")) + then + return false + end + + return true + end + ''; + }; +} diff --git a/modules/home-manager/neovim/config/plugins/cmp.nix b/modules2/nixvim/plugins/cmp.nix similarity index 96% rename from modules/home-manager/neovim/config/plugins/cmp.nix rename to modules2/nixvim/plugins/cmp.nix index 1c31ec3f..cfb4e8fe 100644 --- a/modules/home-manager/neovim/config/plugins/cmp.nix +++ b/modules2/nixvim/plugins/cmp.nix @@ -1,5 +1,5 @@ { - plugins.cmp = { + flake.modules.nixvim.custom.plugins.cmp = { enable = true; autoEnableSources = true; diff --git a/modules2/nixvim/plugins/conform.nix b/modules2/nixvim/plugins/conform.nix new file mode 100644 index 00000000..8e7e5c8d --- /dev/null +++ b/modules2/nixvim/plugins/conform.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.plugins.conform-nvim.enable = true; +} diff --git a/modules2/nixvim/plugins/fidget.nix b/modules2/nixvim/plugins/fidget.nix new file mode 100644 index 00000000..05124ce7 --- /dev/null +++ b/modules2/nixvim/plugins/fidget.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.plugins.fidget.enable = true; +} diff --git a/modules2/nixvim/plugins/fugitive.nix b/modules2/nixvim/plugins/fugitive.nix new file mode 100644 index 00000000..ac800972 --- /dev/null +++ b/modules2/nixvim/plugins/fugitive.nix @@ -0,0 +1,18 @@ +{ + flake.modules.nixvim.custom = { + plugins.fugitive.enable = true; + + keymaps = [ + { + key = "<leader>gc"; + action = "<cmd>Git commit<CR><C-w>K"; + } + + { + # Open the ":Git" window in its own buffer, not a split. + key = "<leader>gs"; + action = "<cmd>0Git<CR>"; + } + ]; + }; +} diff --git a/modules2/nixvim/plugins/gitsigns.nix b/modules2/nixvim/plugins/gitsigns.nix new file mode 100644 index 00000000..60609c35 --- /dev/null +++ b/modules2/nixvim/plugins/gitsigns.nix @@ -0,0 +1,48 @@ +{ + flake.modules.nixvim.custom = { + plugins.gitsigns.enable = true; + + keymaps = [ + { + action = "<cmd>Gitsigns prev_hunk<CR>"; + key = "[h"; + } + + { + action = "<cmd>Gitsigns next_hunk<CR>"; + key = "]h"; + } + + { + action = "<cmd>Gitsigns reset_hunk<CR>"; + key = "<leader>hr"; + } + + { + action = "<cmd>Gitsigns reset_buffer<CR>"; + key = "<leader>hR"; + } + + { + action = "<cmd>Gitsigns stage_hunk<CR>"; + key = "<leader>hs"; + mode = [ + "n" + "v" + ]; + } + + { + action = "<cmd>Gitsigns stage_buffer<CR>"; + key = "<leader>hS"; + mode = "n"; + } + + { + action = "<cmd>Gitsigns undo_stage_hunk<CR>"; + key = "<leader>hu"; + mode = "x"; + } + ]; + }; +} diff --git a/modules/home-manager/neovim/config/plugins/harpoon.nix b/modules2/nixvim/plugins/harpoon.nix similarity index 80% rename from modules/home-manager/neovim/config/plugins/harpoon.nix rename to modules2/nixvim/plugins/harpoon.nix index 95d59718..830b1f42 100644 --- a/modules/home-manager/neovim/config/plugins/harpoon.nix +++ b/modules2/nixvim/plugins/harpoon.nix @@ -1,5 +1,3 @@ -{ config, lib, ... }: - let leaderBinding = key: command: { key = "<leader>${key}"; @@ -8,13 +6,13 @@ let }; in { - plugins.harpoon = { - enable = true; - enableTelescope = true; - }; + flake.modules.nixvim.custom = { + plugins.harpoon = { + enable = true; + enableTelescope = true; + }; - keymaps = lib.mkIf config.plugins.harpoon.enable ( - [ + keymaps = [ { key = "<leader>a"; action.__raw = "function() require'harpoon':list():add() end"; @@ -42,6 +40,6 @@ in 8 9 ] - ) - ); + ); + }; } diff --git a/modules2/nixvim/plugins/lint.nix b/modules2/nixvim/plugins/lint.nix new file mode 100644 index 00000000..60b766e6 --- /dev/null +++ b/modules2/nixvim/plugins/lint.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.plugins.lint.enable = true; +} diff --git a/modules2/nixvim/plugins/lsp.nix b/modules2/nixvim/plugins/lsp.nix new file mode 100644 index 00000000..efd9d4d1 --- /dev/null +++ b/modules2/nixvim/plugins/lsp.nix @@ -0,0 +1,23 @@ +{ + flake.modules.nixvim.custom.plugins.lsp = { + enable = true; + + keymaps = { + diagnostic = { + "<leader>dl" = "setqflist"; + }; + + lspBuf = { + "<leader>ca" = "code_action"; + "<leader>cr" = "rename"; + K = "hover"; + gD = "declaration"; + gT = "type_definition"; + gd = "definition"; + gr = "references"; + }; + }; + + servers.phpactor.enable = true; + }; +} diff --git a/modules2/nixvim/plugins/luasnip.nix b/modules2/nixvim/plugins/luasnip.nix new file mode 100644 index 00000000..bec75392 --- /dev/null +++ b/modules2/nixvim/plugins/luasnip.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.plugins.luasnip.enable = true; +} diff --git a/modules/home-manager/neovim/config/plugins/mini.nix b/modules2/nixvim/plugins/mini.nix similarity index 80% rename from modules/home-manager/neovim/config/plugins/mini.nix rename to modules2/nixvim/plugins/mini.nix index 53176bae..e9b66a30 100644 --- a/modules/home-manager/neovim/config/plugins/mini.nix +++ b/modules2/nixvim/plugins/mini.nix @@ -1,5 +1,5 @@ { - plugins.mini = { + flake.modules.nixvim.custom.plugins.mini = { enable = true; modules = { diff --git a/modules2/nixvim/plugins/oil.nix b/modules2/nixvim/plugins/oil.nix new file mode 100644 index 00000000..2a022eea --- /dev/null +++ b/modules2/nixvim/plugins/oil.nix @@ -0,0 +1,23 @@ +{ + flake.modules.nixvim.custom = { + plugins.oil = { + enable = true; + + settings = { + delete_to_trash = true; + + keymaps."-" = "actions.parent"; + + skip_confirm_for_simple_edits = true; + view_options.show_hidden = true; + }; + }; + + keymaps = [ + { + action = "<cmd>Oil<CR>"; + key = "-"; + } + ]; + }; +} diff --git a/modules2/nixvim/plugins/phpactor.nix b/modules2/nixvim/plugins/phpactor.nix new file mode 100644 index 00000000..d40f8a1f --- /dev/null +++ b/modules2/nixvim/plugins/phpactor.nix @@ -0,0 +1,19 @@ +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPlugins = with pkgs.vimPlugins; [ phpactor ]; + + keymaps = [ + { + key = "<leader>pm"; + action = "<cmd>PhpactorContextMenu<CR>"; + } + + { + key = "<leader>pn"; + action = "<cmd>PhpactorClassNew<CR>"; + } + ]; + }; +} diff --git a/modules2/nixvim/plugins/refactoring.nix b/modules2/nixvim/plugins/refactoring.nix new file mode 100644 index 00000000..f59f9a9c --- /dev/null +++ b/modules2/nixvim/plugins/refactoring.nix @@ -0,0 +1,54 @@ +{ config, lib, ... }: + +{ + flake.modules.nixvim.custom = { + plugins.refactoring = { + enable = true; + enableTelescope = true; + }; + + keymaps = [ + { + key = "<leader>ri"; + action = "<cmd>Refactor inline_var<CR>"; + mode = "n"; + } + + { + key = "<leader>re"; + action = "<cmd>Refactor extract<CR>"; + mode = "x"; + } + + { + key = "<leader>ri"; + action = "<cmd>Refactor inline_var<CR>"; + mode = "x"; + } + + { + key = "<leader>rv"; + action = "<cmd>Refactor extract_var<CR>"; + mode = "x"; + } + ]; + # ++ + # lib.optionals + # ( + # config.flake.modules.nixvim.custom.plugins.refactoring.enable + # && config.flake.modules.nixvim.custom.plugins.refactoring.enableTelescope + # ) + # [ + # { + # mode = "n"; + # key = "<leader>rR"; + # action.__raw = '' + # function() + # require('telescope').extensions.refactoring.refactors() + # end + # ''; + # options.silent = true; + # } + # ]; + }; +} diff --git a/modules/home-manager/neovim/config/plugins/telescope.nix b/modules2/nixvim/plugins/telescope.nix similarity index 92% rename from modules/home-manager/neovim/config/plugins/telescope.nix rename to modules2/nixvim/plugins/telescope.nix index 86d0bbd3..ee59725e 100644 --- a/modules/home-manager/neovim/config/plugins/telescope.nix +++ b/modules2/nixvim/plugins/telescope.nix @@ -1,5 +1,5 @@ { - plugins.telescope = { + flake.modules.nixvim.custom.plugins.telescope = { enable = true; extensions = { diff --git a/modules2/nixvim/plugins/treesitter.nix b/modules2/nixvim/plugins/treesitter.nix new file mode 100644 index 00000000..02de1492 --- /dev/null +++ b/modules2/nixvim/plugins/treesitter.nix @@ -0,0 +1,50 @@ +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + plugins = { + treesitter = { + enable = true; + + grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + bash + comment + css + csv + dockerfile + gitattributes + gitignore + go + html + javascript + json + kdl + lua + luadoc + make + markdown + markdown_inline + nix + php + phpdoc + query + rst + scss + sql + terraform + twig + typescript + vim + vimdoc + vue + xml + yaml + ]; + + settings.highlight.enable = true; + }; + + treesitter-textobjects.enable = true; + }; + }; +} diff --git a/modules2/nixvim/plugins/undotree.nix b/modules2/nixvim/plugins/undotree.nix new file mode 100644 index 00000000..2bfda799 --- /dev/null +++ b/modules2/nixvim/plugins/undotree.nix @@ -0,0 +1,12 @@ +{ + flake.modules.nixvim.custom = { + plugins.undotree.enable = true; + + keymaps = [ + { + action = "<cmd>UndotreeToggle<CR>"; + key = "<leader>u"; + } + ]; + }; +} diff --git a/modules2/nixvim/plugins/vim-cool.nix b/modules2/nixvim/plugins/vim-cool.nix new file mode 100644 index 00000000..1a02189e --- /dev/null +++ b/modules2/nixvim/plugins/vim-cool.nix @@ -0,0 +1,7 @@ +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPlugins = [ pkgs.vimPlugins.vim-cool ]; + }; +} diff --git a/modules/home-manager/neovim/config/plugins/vim-dadbod.nix b/modules2/nixvim/plugins/vim-dadbod.nix similarity index 72% rename from modules/home-manager/neovim/config/plugins/vim-dadbod.nix rename to modules2/nixvim/plugins/vim-dadbod.nix index 13168c91..1ef2050d 100644 --- a/modules/home-manager/neovim/config/plugins/vim-dadbod.nix +++ b/modules2/nixvim/plugins/vim-dadbod.nix @@ -1,5 +1,5 @@ { - plugins = { + flake.modules.nixvim.custom.plugins = { vim-dadbod.enable = true; vim-dadbod-completion.enable = true; vim-dadbod-ui.enable = true; diff --git a/modules2/nixvim/plugins/vim-highlightedyank.nix b/modules2/nixvim/plugins/vim-highlightedyank.nix new file mode 100644 index 00000000..ee937da9 --- /dev/null +++ b/modules2/nixvim/plugins/vim-highlightedyank.nix @@ -0,0 +1,11 @@ +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPlugins = [ pkgs.vimPlugins.vim-highlightedyank ]; + + extraConfigVim = '' + let g:highlightedyank_highlight_duration = 100 + ''; + }; +} diff --git a/modules2/nixvim/plugins/vim-test.nix b/modules2/nixvim/plugins/vim-test.nix new file mode 100644 index 00000000..5ec7a29c --- /dev/null +++ b/modules2/nixvim/plugins/vim-test.nix @@ -0,0 +1,20 @@ +{ + flake.modules.nixvim.custom = { + plugins.vim-test.enable = true; + + keymaps = [ + { + key = "<leader>tf"; + action = "<cmd>TestFile<CR>"; + } + { + key = "<leader>tl"; + action = "<cmd>TestLast<CR>"; + } + { + key = "<leader>tn"; + action = "<cmd>TestNearest<CR>"; + } + ]; + }; +} diff --git a/modules2/nixvim/plugins/web-devicons.nix b/modules2/nixvim/plugins/web-devicons.nix new file mode 100644 index 00000000..56591499 --- /dev/null +++ b/modules2/nixvim/plugins/web-devicons.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.plugins.web-devicons.enable = false; +} diff --git a/modules2/nixvim/use-in-home.nix b/modules2/nixvim/use-in-home.nix new file mode 100644 index 00000000..aad4ac53 --- /dev/null +++ b/modules2/nixvim/use-in-home.nix @@ -0,0 +1,24 @@ +{ config, inputs, lib, ... }: + +{ + flake.modules.homeManager.base = + hmArgs@{ pkgs, ... }: + let + # Ideally: + # nixvim = self.packages.${pkgs.system}.nixvim; + # but https://github.com/danth/stylix/pull/415#issuecomment-2832398958 + nixvim = inputs.nixvim.legacyPackages.${pkgs.system}.makeNixvimWithModule { + inherit pkgs; + + extraSpecialArgs.homeConfig = hmArgs.config; + + module = config.flake.modules.nixvim.custom; + }; + in + { + home = { + packages = [ nixvim ]; + sessionVariables.EDITOR = lib.mkForce (lib.getExe nixvim); + }; + }; +} diff --git a/modules2/packages.nix b/modules2/packages.nix index 6640cca1..eb17d172 100644 --- a/modules2/packages.nix +++ b/modules2/packages.nix @@ -1,4 +1,4 @@ -{ self, ... }: +{ config, ... }: { perSystem = @@ -10,7 +10,7 @@ neovim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { inherit pkgs; - module = import "${self}/modules/home-manager/neovim/config"; + module = config.flake.modules.nixvim.custom; }; }; }; From fa0bad904c8109eab3335542daec46a1795d587e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 26 Jul 2025 22:28:18 +0100 Subject: [PATCH 2056/2258] Move phpactor configuration --- home-manager/opdavies/PW05CH3L.nix | 4 ---- home-manager/opdavies/t480.nix | 4 ---- modules/home-manager/default.nix | 1 - modules/home-manager/phpactor/default.nix | 17 ----------------- .../phpactor/config/phpactor.yml | 0 .../config/templates/action/SourceCode.php.twig | 0 .../templates/collection/SourceCode.php.twig | 0 .../templates/default/SourceCode.php.twig | 0 .../drupal-functional-test/SourceCode.php.twig | 0 .../drupal-kernel-test/SourceCode.php.twig | 0 .../drupal-unit-test/SourceCode.php.twig | 0 modules2/phpactor/phpactor.nix | 6 ++++++ 12 files changed, 6 insertions(+), 26 deletions(-) delete mode 100644 modules/home-manager/phpactor/default.nix rename {modules/home-manager => modules2}/phpactor/config/phpactor.yml (100%) rename {modules/home-manager => modules2}/phpactor/config/templates/action/SourceCode.php.twig (100%) rename {modules/home-manager => modules2}/phpactor/config/templates/collection/SourceCode.php.twig (100%) rename {modules/home-manager => modules2}/phpactor/config/templates/default/SourceCode.php.twig (100%) rename {modules/home-manager => modules2}/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig (100%) rename {modules/home-manager => modules2}/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename {modules/home-manager => modules2}/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig (100%) create mode 100644 modules2/phpactor/phpactor.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index da7d9eeb..19d2c35b 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -12,10 +12,6 @@ starship.enable = true; zsh.enable = true; }; - - coding = { - phpactor.enable = true; - }; }; home.packages = with pkgs; [ diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index b1766be5..c6588ff6 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -19,10 +19,6 @@ zsh.enable = true; }; - coding = { - phpactor.enable = true; - }; - desktop = { browsers = { chromium.enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index b29c1831..5d4b558e 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -13,7 +13,6 @@ ./media/handbrake.nix ./media/mpv.nix ./node.nix - ./phpactor ./ranger.nix ./redshift.nix ./screenkey.nix diff --git a/modules/home-manager/phpactor/default.nix b/modules/home-manager/phpactor/default.nix deleted file mode 100644 index f135b1dc..00000000 --- a/modules/home-manager/phpactor/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.coding.phpactor; -in -{ - options.features.coding.phpactor.enable = mkEnableOption "Enable phpactor"; - - config = mkIf cfg.enable { - xdg.configFile.phpactor = { - source = ./config; - recursive = true; - }; - }; -} diff --git a/modules/home-manager/phpactor/config/phpactor.yml b/modules2/phpactor/config/phpactor.yml similarity index 100% rename from modules/home-manager/phpactor/config/phpactor.yml rename to modules2/phpactor/config/phpactor.yml diff --git a/modules/home-manager/phpactor/config/templates/action/SourceCode.php.twig b/modules2/phpactor/config/templates/action/SourceCode.php.twig similarity index 100% rename from modules/home-manager/phpactor/config/templates/action/SourceCode.php.twig rename to modules2/phpactor/config/templates/action/SourceCode.php.twig diff --git a/modules/home-manager/phpactor/config/templates/collection/SourceCode.php.twig b/modules2/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from modules/home-manager/phpactor/config/templates/collection/SourceCode.php.twig rename to modules2/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/modules/home-manager/phpactor/config/templates/default/SourceCode.php.twig b/modules2/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from modules/home-manager/phpactor/config/templates/default/SourceCode.php.twig rename to modules2/phpactor/config/templates/default/SourceCode.php.twig diff --git a/modules/home-manager/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig b/modules2/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig rename to modules2/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/modules/home-manager/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig b/modules2/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig rename to modules2/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/modules/home-manager/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig b/modules2/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from modules/home-manager/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig rename to modules2/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/modules2/phpactor/phpactor.nix b/modules2/phpactor/phpactor.nix new file mode 100644 index 00000000..a3583515 --- /dev/null +++ b/modules2/phpactor/phpactor.nix @@ -0,0 +1,6 @@ +{ + flake.modules.homeManager.base.xdg.configFile.phpactor = { + source = ./config; + recursive = true; + }; +} From 9cc208d333d61af5be117877069962317923e417 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 16:22:19 +0100 Subject: [PATCH 2057/2258] Move dconf configuration --- hosts/nixedo/configuration.nix | 1 - hosts/t480/configuration.nix | 1 - hosts/t490/configuration.nix | 4 ---- modules/nixos/dconf.nix | 14 -------------- modules/nixos/default.nix | 1 - modules2/dconf.nix | 3 +++ 6 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 modules/nixos/dconf.nix create mode 100644 modules2/dconf.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 92626f62..ff872ebc 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -21,7 +21,6 @@ features = { cli.podman.enable = true; - desktop.dconf.enable = true; }; # TODO: why didn't it work when adding this to jitsi.nix? diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 880ac0a2..79eba643 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -27,7 +27,6 @@ }; desktop = { - dconf.enable = true; dwm.enable = true; st.enable = true; }; diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index a53adc8a..5da6d5f9 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -15,10 +15,6 @@ ../../users/opdavies.nix ]; - features = { - desktop.dconf.enable = true; - }; - nixpad.enable = true; boot = { diff --git a/modules/nixos/dconf.nix b/modules/nixos/dconf.nix deleted file mode 100644 index eebbfa2c..00000000 --- a/modules/nixos/dconf.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.desktop.dconf; -in -{ - options.features.desktop.dconf.enable = mkEnableOption "Enable dconf"; - - config = mkIf cfg.enable { - programs.dconf.enable = true; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 0c2ab44a..674ee3fb 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,7 +1,6 @@ { imports = [ ./avahi.nix - ./dconf.nix ./dwm ./gitea-actions-runner.nix ./gnupg.nix diff --git a/modules2/dconf.nix b/modules2/dconf.nix new file mode 100644 index 00000000..2c56e04c --- /dev/null +++ b/modules2/dconf.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.programs.dconf.enable = true; +} From 1be1e2dd8d31eba6d62e0266255ac3aac1821d81 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 16:32:12 +0100 Subject: [PATCH 2058/2258] Move st configuration --- hosts/t480/configuration.nix | 1 - modules/nixos/default.nix | 1 - modules/nixos/st.nix | 377 ----------------------------------- modules2/st.nix | 365 +++++++++++++++++++++++++++++++++ 4 files changed, 365 insertions(+), 379 deletions(-) delete mode 100644 modules/nixos/st.nix create mode 100644 modules2/st.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 79eba643..9b5c65aa 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -28,7 +28,6 @@ desktop = { dwm.enable = true; - st.enable = true; }; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 674ee3fb..cb3c41c4 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -7,6 +7,5 @@ ./kanata.nix ./nixpad ./podman.nix - ./st.nix ]; } diff --git a/modules/nixos/st.nix b/modules/nixos/st.nix deleted file mode 100644 index cc2345a4..00000000 --- a/modules/nixos/st.nix +++ /dev/null @@ -1,377 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.st; -in -{ - options.features.desktop.st.enable = mkEnableOption "Enable st"; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - (st.override { - conf = '' - static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; - - int disablebold = 1; - int disableitalic = 1; - int disableroman = 1; - - static int borderpx = 2; - - static char *shell = "/bin/sh"; - char *utmp = NULL; - char *scroll = NULL; - char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - - char *vtiden = "\033[?6c"; - - static float cwscale = 1.0; - static float chscale = 1.0; - - wchar_t *worddelimiters = L" "; - - static unsigned int doubleclicktimeout = 300; - static unsigned int tripleclicktimeout = 600; - - int allowaltscreen = 1; - - int allowwindowops = 0; - - static double minlatency = 2; - static double maxlatency = 33; - - static unsigned int blinktimeout = 800; - - static unsigned int cursorthickness = 2; - - static int bellvolume = 0; - - char *termname = "st-256color"; - - unsigned int tabspaces = 8; - - static const char *colorname[] = { - "black", - "red3", - "green3", - "yellow3", - "blue2", - "magenta3", - "cyan3", - "gray90", - - "gray50", - "red", - "green", - "yellow", - "#5c5cff", - "magenta", - "cyan", - "white", - - [255] = 0, - - "#cccccc", - "#555555", - "gray90", - "black", - }; - - unsigned int defaultfg = 258; - unsigned int defaultbg = 259; - unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - static unsigned int cursorshape = 2; - - static unsigned int cols = 80; - static unsigned int rows = 24; - - static unsigned int mouseshape = XC_xterm; - static unsigned int mousefg = 7; - static unsigned int mousebg = 0; - - static unsigned int defaultattr = 11; - - static uint forcemousemod = ShiftMask; - - static MouseShortcut mshortcuts[] = { - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, - }; - - #define MODKEY Mod1Mask - #define TERMMOD (ControlMask|ShiftMask) - - static Shortcut shortcuts[] = { - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_D, zoom, {.f = -2} }, - { TERMMOD, XK_J, zoom, {.f = -1} }, - { TERMMOD, XK_K, zoom, {.f = +1} }, - { TERMMOD, XK_U, zoom, {.f = +2} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, - }; - - static KeySym mappedkeys[] = { -1 }; - - static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - - static Key key[] = { - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, - { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, - { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, - { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, - { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, - }; - - static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, - }; - - static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; - ''; - - patches = [ - (fetchpatch { - name = "disable_bold_italic_fonts"; - url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; - sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; - }) - - (fetchpatch { - name = "anysize"; - url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; - sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; - }) - ]; - }) - ]; - }; -} diff --git a/modules2/st.nix b/modules2/st.nix new file mode 100644 index 00000000..09d393dd --- /dev/null +++ b/modules2/st.nix @@ -0,0 +1,365 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = with pkgs; [ + (st.override { + conf = '' + static char *font = "MesloLGSNerdFontMono:pixelsize=16:antialias=true:autohint=true"; + + int disablebold = 1; + int disableitalic = 1; + int disableroman = 1; + + static int borderpx = 2; + + static char *shell = "/bin/sh"; + char *utmp = NULL; + char *scroll = NULL; + char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + + char *vtiden = "\033[?6c"; + + static float cwscale = 1.0; + static float chscale = 1.0; + + wchar_t *worddelimiters = L" "; + + static unsigned int doubleclicktimeout = 300; + static unsigned int tripleclicktimeout = 600; + + int allowaltscreen = 1; + + int allowwindowops = 0; + + static double minlatency = 2; + static double maxlatency = 33; + + static unsigned int blinktimeout = 800; + + static unsigned int cursorthickness = 2; + + static int bellvolume = 0; + + char *termname = "st-256color"; + + unsigned int tabspaces = 8; + + static const char *colorname[] = { + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + "#cccccc", + "#555555", + "gray90", + "black", + }; + + unsigned int defaultfg = 258; + unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + static unsigned int defaultrcs = 257; + + static unsigned int cursorshape = 2; + + static unsigned int cols = 80; + static unsigned int rows = 24; + + static unsigned int mouseshape = XC_xterm; + static unsigned int mousefg = 7; + static unsigned int mousebg = 0; + + static unsigned int defaultattr = 11; + + static uint forcemousemod = ShiftMask; + + static MouseShortcut mshortcuts[] = { + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, + }; + + #define MODKEY Mod1Mask + #define TERMMOD (ControlMask|ShiftMask) + + static Shortcut shortcuts[] = { + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_D, zoom, {.f = -2} }, + { TERMMOD, XK_J, zoom, {.f = -1} }, + { TERMMOD, XK_K, zoom, {.f = +1} }, + { TERMMOD, XK_U, zoom, {.f = +2} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + }; + + static KeySym mappedkeys[] = { -1 }; + + static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + + static Key key[] = { + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask, "\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask, "\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask, "\033[1;7A", 0, 0}, + { XK_Up, ShiftMask|ControlMask|Mod1Mask, "\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask, "\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask, "\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask, "\033[1;7B", 0, 0}, + { XK_Down, ShiftMask|ControlMask|Mod1Mask, "\033[1;8B", 0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask, "\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask, "\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask, "\033[1;7D", 0, 0}, + { XK_Left, ShiftMask|ControlMask|Mod1Mask, "\033[1;8D", 0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask, "\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask, "\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask, "\033[1;7C", 0, 0}, + { XK_Right, ShiftMask|ControlMask|Mod1Mask, "\033[1;8C", 0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, + }; + + static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, + }; + + static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; + ''; + + patches = [ + (fetchpatch { + name = "disable_bold_italic_fonts"; + url = "https://st.suckless.org/patches/disable_bold_italic_fonts/st-disable-bold-italic-fonts-0.8.2.diff"; + sha256 = "PG96QMqbX3Fr0EvDmF4lm/J3gj18eyBfm1bJ3M7plvQ="; + }) + + (fetchpatch { + name = "anysize"; + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + sha256 = "yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + }) + ]; + }) + ]; + }; +} From d19c5e6bcda0837639d3b89922e3b9a9141ac8f2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 18:49:06 +0100 Subject: [PATCH 2059/2258] Move and refactor Kanata configuration --- hosts/t480/configuration.nix | 7 --- modules/nixos/default.nix | 1 - modules/nixos/kanata.nix | 65 -------------------------- modules2/hosts/t480/kanata/devices.nix | 5 ++ modules2/hosts/t480/kanata/enable.nix | 3 ++ modules2/kanata/config.nix | 29 ++++++++++++ modules2/kanata/devices.nix | 14 ++++++ modules2/kanata/extra-config.nix | 3 ++ 8 files changed, 54 insertions(+), 73 deletions(-) delete mode 100644 modules/nixos/kanata.nix create mode 100644 modules2/hosts/t480/kanata/devices.nix create mode 100644 modules2/hosts/t480/kanata/enable.nix create mode 100644 modules2/kanata/config.nix create mode 100644 modules2/kanata/devices.nix create mode 100644 modules2/kanata/extra-config.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 9b5c65aa..9bf9d683 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -19,13 +19,6 @@ ]; features = { - cli = { - kanata.enable = true; - kanata.devices = [ - "/dev/input/by-path/platform-i8042-serio-0-event-kbd" - ]; - }; - desktop = { dwm.enable = true; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index cb3c41c4..f50ffea5 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -4,7 +4,6 @@ ./dwm ./gitea-actions-runner.nix ./gnupg.nix - ./kanata.nix ./nixpad ./podman.nix ]; diff --git a/modules/nixos/kanata.nix b/modules/nixos/kanata.nix deleted file mode 100644 index dc56a4a6..00000000 --- a/modules/nixos/kanata.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.features.cli.${service}; - service = "kanata"; - - inherit (lib) - mkEnableOption - mkIf - mkOption - types - ; -in -{ - options.features.cli.${service} = { - enable = mkEnableOption "Enable ${service}"; - - devices = mkOption { - default = [ ]; - type = types.listOf types.str; - }; - }; - - config = mkIf cfg.enable { - services.kanata = { - enable = true; - - keyboards = { - default = { - devices = cfg.devices; - - extraDefCfg = "process-unmapped-keys yes"; - - config = '' - (defsrc - caps a s d f j k l ; - ) - - (defvar - tap-time 150 - hold-time 200 - hold-time-slow 300 - ) - - (defalias - escctrl (tap-hold 100 100 esc lctl) - a (tap-hold $tap-time $hold-time-slow a lmet) - s (tap-hold $tap-time $hold-time-slow s lalt) - d (tap-hold $tap-time $hold-time d lsft) - f (tap-hold $tap-time $hold-time f lctl) - j (tap-hold $tap-time $hold-time j rctl) - k (tap-hold $tap-time $hold-time k rsft) - l (tap-hold $tap-time $hold-time-slow l ralt) - ; (tap-hold $tap-time $hold-time-slow ; rmet) - ) - - (deflayer base - @escctrl @a @s @d @f @j @k @l @; - ) - ''; - }; - }; - }; - }; -} diff --git a/modules2/hosts/t480/kanata/devices.nix b/modules2/hosts/t480/kanata/devices.nix new file mode 100644 index 00000000..635656a2 --- /dev/null +++ b/modules2/hosts/t480/kanata/devices.nix @@ -0,0 +1,5 @@ +{ + flake.modules.nixos.pc.services.kanata.devices = [ + "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + ]; +} diff --git a/modules2/hosts/t480/kanata/enable.nix b/modules2/hosts/t480/kanata/enable.nix new file mode 100644 index 00000000..6bb8c1e5 --- /dev/null +++ b/modules2/hosts/t480/kanata/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.kanata.enable = true; +} diff --git a/modules2/kanata/config.nix b/modules2/kanata/config.nix new file mode 100644 index 00000000..bc73ab3e --- /dev/null +++ b/modules2/kanata/config.nix @@ -0,0 +1,29 @@ +{ + flake.modules.nixos.pc.services.kanata.keyboards.default.config = '' + (defsrc + caps a s d f j k l ; + ) + + (defvar + tap-time 150 + hold-time 200 + hold-time-slow 300 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time-slow a lmet) + s (tap-hold $tap-time $hold-time-slow s lalt) + d (tap-hold $tap-time $hold-time d lsft) + f (tap-hold $tap-time $hold-time f lctl) + j (tap-hold $tap-time $hold-time j rctl) + k (tap-hold $tap-time $hold-time k rsft) + l (tap-hold $tap-time $hold-time-slow l ralt) + ; (tap-hold $tap-time $hold-time-slow ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; +} diff --git a/modules2/kanata/devices.nix b/modules2/kanata/devices.nix new file mode 100644 index 00000000..42864248 --- /dev/null +++ b/modules2/kanata/devices.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + flake.modules.nixos.pc = + { config, ... }: + { + options.services.kanata.devices = lib.mkOption { + default = [ ]; + type = lib.types.listOf lib.types.str; + }; + + config.services.kanata.keyboards.default.devices = config.services.kanata.devices; + }; +} diff --git a/modules2/kanata/extra-config.nix b/modules2/kanata/extra-config.nix new file mode 100644 index 00000000..b41028a0 --- /dev/null +++ b/modules2/kanata/extra-config.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.kanata.keyboards.default.extraDefCfg = "process-unmapped-keys yes"; +} From 9dbf58c1b7000c63c22a35c94dd28fc447b6eafe Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 18:54:34 +0100 Subject: [PATCH 2060/2258] Move gnupg configuration --- modules/home-manager/default.nix | 1 - modules/home-manager/gnupg.nix | 8 -------- modules/nixos/default.nix | 1 - modules/nixos/gnupg.nix | 14 -------------- modules2/gnupg.nix | 23 +++++++++++++++++++++++ 5 files changed, 23 insertions(+), 24 deletions(-) delete mode 100644 modules/home-manager/gnupg.nix delete mode 100644 modules/nixos/gnupg.nix create mode 100644 modules2/gnupg.nix diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 5d4b558e..67ff3031 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -8,7 +8,6 @@ ./dev-commit.nix ./direnv.nix ./flameshot.nix - ./gnupg.nix ./gtk.nix ./media/handbrake.nix ./media/mpv.nix diff --git a/modules/home-manager/gnupg.nix b/modules/home-manager/gnupg.nix deleted file mode 100644 index 84735d28..00000000 --- a/modules/home-manager/gnupg.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - home.file.".gnupg/gpg-agent.conf".text = '' - allow-preset-passphrase - default-cache-ttl 600 - max-cache-ttl 7200 - enable-ssh-support - ''; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index f50ffea5..708f6c08 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,7 +3,6 @@ ./avahi.nix ./dwm ./gitea-actions-runner.nix - ./gnupg.nix ./nixpad ./podman.nix ]; diff --git a/modules/nixos/gnupg.nix b/modules/nixos/gnupg.nix deleted file mode 100644 index 6e918951..00000000 --- a/modules/nixos/gnupg.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, ... }: - -{ - security.pam.services.login.gnupg.enable = true; - - programs = { - gnupg.agent = { - enable = true; - enableSSHSupport = true; - - pinentryPackage = pkgs.pinentry-qt; - }; - }; -} diff --git a/modules2/gnupg.nix b/modules2/gnupg.nix new file mode 100644 index 00000000..da3edb80 --- /dev/null +++ b/modules2/gnupg.nix @@ -0,0 +1,23 @@ +{ + flake.modules = { + nixos.pc = + { pkgs, ... }: + { + security.pam.services.login.gnupg.enable = true; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + + pinentryPackage = pkgs.pinentry-qt; + }; + }; + + homeManager.base.home.file.".gnupg/gpg-agent.conf".text = '' + allow-preset-passphrase + default-cache-ttl 600 + max-cache-ttl 7200 + enable-ssh-support + ''; + }; +} From 67609c408650f624a14ab22ec4ac7c435bfc12e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 19:08:20 +0100 Subject: [PATCH 2061/2258] Move avahi configuration --- hosts/t490/services/default.nix | 8 -------- modules/nixos/default.nix | 1 - {modules/nixos => modules2}/avahi.nix | 2 +- 3 files changed, 1 insertion(+), 10 deletions(-) rename {modules/nixos => modules2}/avahi.nix (76%) diff --git a/hosts/t490/services/default.nix b/hosts/t490/services/default.nix index efbae4cc..f626bbcb 100644 --- a/hosts/t490/services/default.nix +++ b/hosts/t490/services/default.nix @@ -8,15 +8,7 @@ services = { auto-cpufreq.enable = true; - - avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - blueman.enable = true; - gvfs.enable = true; power-profiles-daemon.enable = false; printing.enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 708f6c08..0679b892 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./avahi.nix ./dwm ./gitea-actions-runner.nix ./nixpad diff --git a/modules/nixos/avahi.nix b/modules2/avahi.nix similarity index 76% rename from modules/nixos/avahi.nix rename to modules2/avahi.nix index 471b7ca6..1d5b631e 100644 --- a/modules/nixos/avahi.nix +++ b/modules2/avahi.nix @@ -1,5 +1,5 @@ { - services.avahi = { + flake.modules.nixos.pc.services.avahi = { enable = true; nssmdns4 = true; openFirewall = true; From 679a0900126cd338a7fc4a8bb4995e7676b74139 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 19:45:14 +0100 Subject: [PATCH 2062/2258] Move bluetuith configuration --- home-manager/opdavies/t480.nix | 1 - modules/home-manager/bluetuith.nix | 41 ------------------------------ modules/home-manager/default.nix | 1 - modules2/bluetuith.nix | 29 +++++++++++++++++++++ 4 files changed, 29 insertions(+), 43 deletions(-) delete mode 100644 modules/home-manager/bluetuith.nix create mode 100644 modules2/bluetuith.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index c6588ff6..69ce0434 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -8,7 +8,6 @@ features = { cli = { - bluetuith.enable = true; bookmarkthis.enable = true; direnv.enable = true; node.enable = true; diff --git a/modules/home-manager/bluetuith.nix b/modules/home-manager/bluetuith.nix deleted file mode 100644 index fff34766..00000000 --- a/modules/home-manager/bluetuith.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.bluetuith; -in -{ - options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; - - config = mkIf cfg.enable { - home.packages = with pkgs; [ - bluetuith - ]; - - xdg.configFile."bluetuith/bluetuith.conf" = { - text = '' - { - adapter: "" - adapter-states: "" - connect-bdaddr: "" - gsm-apn: "" - gsm-number: "" - - keybindings: { - NavigateDown: j - NavigateUp: k - } - - receive-dir: "" - theme: {} - } - ''; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 67ff3031..8b161110 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./bluetuith.nix ./bookmarkthis.nix ./browsers/chromium.nix ./browsers/firefox.nix diff --git a/modules2/bluetuith.nix b/modules2/bluetuith.nix new file mode 100644 index 00000000..a3ff23db --- /dev/null +++ b/modules2/bluetuith.nix @@ -0,0 +1,29 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + pkgs.bluetuith + ]; + + xdg.configFile."bluetuith/bluetuith.conf" = { + text = '' + { + adapter: "" + adapter-states: "" + connect-bdaddr: "" + gsm-apn: "" + gsm-number: "" + + keybindings: { + NavigateDown: j + NavigateUp: k + } + + receive-dir: "" + theme: {} + } + ''; + }; + }; +} From 8ca7b4c80659eff8b68ffe9ab39d255e7695cd1e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 20:03:18 +0100 Subject: [PATCH 2063/2258] Move and refactor dwm configuration --- hosts/t480/configuration.nix | 6 --- modules/nixos/default.nix | 1 - modules/nixos/dwm/default.nix | 57 ------------------------- modules2/dwm/config.nix | 11 +++++ modules2/dwm/dwm-status/order.nix | 8 ++++ modules2/dwm/dwm-status/restart.nix | 3 ++ modules2/dwm/packages.nix | 16 +++++++ {modules/nixos => modules2}/dwm/xinitrc | 0 modules2/hosts/t480/dwm/dwm-status.nix | 3 ++ modules2/hosts/t480/dwm/dwm.nix | 3 ++ 10 files changed, 44 insertions(+), 64 deletions(-) delete mode 100644 modules/nixos/dwm/default.nix create mode 100644 modules2/dwm/config.nix create mode 100644 modules2/dwm/dwm-status/order.nix create mode 100644 modules2/dwm/dwm-status/restart.nix create mode 100644 modules2/dwm/packages.nix rename {modules/nixos => modules2}/dwm/xinitrc (100%) create mode 100644 modules2/hosts/t480/dwm/dwm-status.nix create mode 100644 modules2/hosts/t480/dwm/dwm.nix diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 9bf9d683..90f3f4ea 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -18,12 +18,6 @@ ../../users/opdavies.nix ]; - features = { - desktop = { - dwm.enable = true; - }; - }; - services = { auto-cpufreq.enable = true; geoclue2.enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 0679b892..8be377c9 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./dwm ./gitea-actions-runner.nix ./nixpad ./podman.nix diff --git a/modules/nixos/dwm/default.nix b/modules/nixos/dwm/default.nix deleted file mode 100644 index 795fde3a..00000000 --- a/modules/nixos/dwm/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.dwm; -in -{ - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; - - config = mkIf cfg.enable { - services = { - dwm-status = { - enable = true; - - settings.order = [ - "audio" - "battery" - "network" - "time" - ]; - }; - - xserver.windowManager.dwm.enable = true; - }; - - systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; - - environment.systemPackages = with pkgs; [ - dmenu - dmenu-bluetooth - dunst - networkmanager_dmenu - poweralertd - slock - xdotool - xwallpaper - ]; - - home-manager.users.opdavies = - { config, ... }: - { - home = { - file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; - - sessionVariables = { - XINITRC = "${config.xdg.configHome}/X11/xinitrc"; - }; - }; - }; - }; -} diff --git a/modules2/dwm/config.nix b/modules2/dwm/config.nix new file mode 100644 index 00000000..99fd7d0e --- /dev/null +++ b/modules2/dwm/config.nix @@ -0,0 +1,11 @@ +{ + flake.modules.homeManager.gui = + { config, ... }: + { + home = { + file."${config.home.sessionVariables.XINITRC}".source = ./xinitrc; + + sessionVariables.XINITRC = "${config.xdg.configHome}/X11/xinitrc"; + }; + }; +} diff --git a/modules2/dwm/dwm-status/order.nix b/modules2/dwm/dwm-status/order.nix new file mode 100644 index 00000000..9d383168 --- /dev/null +++ b/modules2/dwm/dwm-status/order.nix @@ -0,0 +1,8 @@ +{ + flake.modules.nixos.pc.services.dwm-status.settings.order = [ + "audio" + "battery" + "network" + "time" + ]; +} diff --git a/modules2/dwm/dwm-status/restart.nix b/modules2/dwm/dwm-status/restart.nix new file mode 100644 index 00000000..d3bd1b34 --- /dev/null +++ b/modules2/dwm/dwm-status/restart.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; +} diff --git a/modules2/dwm/packages.nix b/modules2/dwm/packages.nix new file mode 100644 index 00000000..5e58932e --- /dev/null +++ b/modules2/dwm/packages.nix @@ -0,0 +1,16 @@ +{ + flake.modules.nixos.pc = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + dmenu + dmenu-bluetooth + dunst + networkmanager_dmenu + poweralertd + slock + xdotool + xwallpaper + ]; + }; +} diff --git a/modules/nixos/dwm/xinitrc b/modules2/dwm/xinitrc similarity index 100% rename from modules/nixos/dwm/xinitrc rename to modules2/dwm/xinitrc diff --git a/modules2/hosts/t480/dwm/dwm-status.nix b/modules2/hosts/t480/dwm/dwm-status.nix new file mode 100644 index 00000000..c6770e61 --- /dev/null +++ b/modules2/hosts/t480/dwm/dwm-status.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.dwm-status.enable = true; +} diff --git a/modules2/hosts/t480/dwm/dwm.nix b/modules2/hosts/t480/dwm/dwm.nix new file mode 100644 index 00000000..b6f219f6 --- /dev/null +++ b/modules2/hosts/t480/dwm/dwm.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.xserver.windowManager.dwm.enable = true; +} From 2fd69f6266e3ad6a79fd9df304beff8895eae926 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 21:33:43 +0100 Subject: [PATCH 2064/2258] Move flameshot configuration --- home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/flameshot.nix | 26 -------------------------- modules2/flameshot/enable.nix | 3 +++ modules2/flameshot/settings.nix | 13 +++++++++++++ 5 files changed, 16 insertions(+), 28 deletions(-) delete mode 100644 modules/home-manager/flameshot.nix create mode 100644 modules2/flameshot/enable.nix create mode 100644 modules2/flameshot/settings.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 69ce0434..60134ae1 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -28,7 +28,6 @@ qutebrowser.enable = true; }; - flameshot.enable = true; gtk.enable = true; media = { diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 8b161110..27a9e016 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -6,7 +6,6 @@ ./browsers/qutebrowser.nix ./dev-commit.nix ./direnv.nix - ./flameshot.nix ./gtk.nix ./media/handbrake.nix ./media/mpv.nix diff --git a/modules/home-manager/flameshot.nix b/modules/home-manager/flameshot.nix deleted file mode 100644 index bf0ba018..00000000 --- a/modules/home-manager/flameshot.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.desktop.flameshot; -in -{ - options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; - - config = mkIf cfg.enable { - services.flameshot = { - enable = true; - - settings = { - General = { - disabledTrayIcon = false; - saveAfterCopy = true; - savePath = "${config.xdg.userDirs.pictures}/Screenshots"; - showHelp = false; - uiColor = "#60a5fa"; - }; - }; - }; - }; -} diff --git a/modules2/flameshot/enable.nix b/modules2/flameshot/enable.nix new file mode 100644 index 00000000..721b375e --- /dev/null +++ b/modules2/flameshot/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.services.flameshot.enable = true; +} diff --git a/modules2/flameshot/settings.nix b/modules2/flameshot/settings.nix new file mode 100644 index 00000000..86629d57 --- /dev/null +++ b/modules2/flameshot/settings.nix @@ -0,0 +1,13 @@ +{ + flake.modules.homeManager.gui = + { config, ... }: + { + services.flameshot.settings.General = { + disabledTrayIcon = false; + saveAfterCopy = true; + savePath = "${config.xdg.userDirs.pictures}/Screenshots"; + showHelp = false; + uiColor = "#60a5fa"; + }; + }; +} From cbd1f99bc73ad6653a358b2df6b335f0561d0150 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 21:45:08 +0100 Subject: [PATCH 2065/2258] Move direnv configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/direnv.nix | 21 --------------------- modules2/direnv/enable.nix | 3 +++ modules2/direnv/nix-direnv.nix | 3 +++ modules2/direnv/silent.nix | 3 +++ modules2/direnv/zsh.nix | 3 +++ 8 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 modules/home-manager/direnv.nix create mode 100644 modules2/direnv/enable.nix create mode 100644 modules2/direnv/nix-direnv.nix create mode 100644 modules2/direnv/silent.nix create mode 100644 modules2/direnv/zsh.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 19d2c35b..3cd28477 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -6,7 +6,6 @@ features = { cli = { bookmarkthis.enable = true; - direnv.enable = true; node.enable = true; ranger.enable = true; starship.enable = true; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 60134ae1..14d191ee 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -9,7 +9,6 @@ features = { cli = { bookmarkthis.enable = true; - direnv.enable = true; node.enable = true; ranger.enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 27a9e016..564f4e2e 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -5,7 +5,6 @@ ./browsers/firefox.nix ./browsers/qutebrowser.nix ./dev-commit.nix - ./direnv.nix ./gtk.nix ./media/handbrake.nix ./media/mpv.nix diff --git a/modules/home-manager/direnv.nix b/modules/home-manager/direnv.nix deleted file mode 100644 index 7c8d924b..00000000 --- a/modules/home-manager/direnv.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.cli.direnv; -in -{ - options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; - - config = mkIf cfg.enable { - programs.direnv = { - enable = true; - enableZshIntegration = true; - - nix-direnv.enable = true; - - silent = true; - }; - }; -} diff --git a/modules2/direnv/enable.nix b/modules2/direnv/enable.nix new file mode 100644 index 00000000..b758eec4 --- /dev/null +++ b/modules2/direnv/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.direnv.enable = true; +} diff --git a/modules2/direnv/nix-direnv.nix b/modules2/direnv/nix-direnv.nix new file mode 100644 index 00000000..f3848d08 --- /dev/null +++ b/modules2/direnv/nix-direnv.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.direnv.nix-direnv.enable = true; +} diff --git a/modules2/direnv/silent.nix b/modules2/direnv/silent.nix new file mode 100644 index 00000000..302a19b1 --- /dev/null +++ b/modules2/direnv/silent.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.direnv.silent = true; +} diff --git a/modules2/direnv/zsh.nix b/modules2/direnv/zsh.nix new file mode 100644 index 00000000..ca306692 --- /dev/null +++ b/modules2/direnv/zsh.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.direnv.enableZshIntegration = true; +} From cff6bf01674da96e184e9f2b46c2d5808f0417b9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 21:58:27 +0100 Subject: [PATCH 2066/2258] Move mpv configuration --- home-manager/opdavies/lemp11.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/media/mpv.nix | 27 --------------------------- modules2/mpv/bindings.nix | 7 +++++++ modules2/mpv/enable.nix | 3 +++ 6 files changed, 10 insertions(+), 30 deletions(-) delete mode 100644 modules/home-manager/media/mpv.nix create mode 100644 modules2/mpv/bindings.nix create mode 100644 modules2/mpv/enable.nix diff --git a/home-manager/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix index de3a13fd..95e97753 100644 --- a/home-manager/opdavies/lemp11.nix +++ b/home-manager/opdavies/lemp11.nix @@ -6,7 +6,6 @@ desktop.media = { handbrake.enable = true; - mpv.enable = true; }; }; } diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 14d191ee..45574fd8 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -31,7 +31,6 @@ media = { handbrake.enable = true; - mpv.enable = true; }; }; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 564f4e2e..ed956ca7 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -7,7 +7,6 @@ ./dev-commit.nix ./gtk.nix ./media/handbrake.nix - ./media/mpv.nix ./node.nix ./ranger.nix ./redshift.nix diff --git a/modules/home-manager/media/mpv.nix b/modules/home-manager/media/mpv.nix deleted file mode 100644 index 4e685082..00000000 --- a/modules/home-manager/media/mpv.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.media.mpv; -in -{ - options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv"; - - config = mkIf cfg.enable { - programs.mpv = { - enable = true; - - # https://github.com/mpv-player/mpv/blob/master/etc/input.conf - bindings = { - "DOWN" = "add volume -5"; - "UP" = "add volume 5"; - }; - }; - }; -} diff --git a/modules2/mpv/bindings.nix b/modules2/mpv/bindings.nix new file mode 100644 index 00000000..314514f4 --- /dev/null +++ b/modules2/mpv/bindings.nix @@ -0,0 +1,7 @@ +{ + # https://github.com/mpv-player/mpv/blob/master/etc/input.conf + flake.modules.homeManager.gui.programs.mpv.bindings = { + "DOWN" = "add volume -5"; + "UP" = "add volume 5"; + }; +} diff --git a/modules2/mpv/enable.nix b/modules2/mpv/enable.nix new file mode 100644 index 00000000..6985bfee --- /dev/null +++ b/modules2/mpv/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.programs.mpv.enable = true; +} From 8d7d6115e396f5bc41e234aac9492055180579a2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 22:07:00 +0100 Subject: [PATCH 2067/2258] Move ranger configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 2 -- modules/home-manager/default.nix | 1 - modules/home-manager/ranger.nix | 14 -------------- modules2/ranger.nix | 3 +++ 5 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 modules/home-manager/ranger.nix create mode 100644 modules2/ranger.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 3cd28477..9b1c4b50 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -7,7 +7,6 @@ cli = { bookmarkthis.enable = true; node.enable = true; - ranger.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 45574fd8..f6fa1aa5 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -10,8 +10,6 @@ cli = { bookmarkthis.enable = true; node.enable = true; - - ranger.enable = true; sxhkd.enable = true; starship.enable = true; zsh.enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index ed956ca7..e2a2981a 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -8,7 +8,6 @@ ./gtk.nix ./media/handbrake.nix ./node.nix - ./ranger.nix ./redshift.nix ./screenkey.nix ./starship.nix diff --git a/modules/home-manager/ranger.nix b/modules/home-manager/ranger.nix deleted file mode 100644 index 8fdc10cb..00000000 --- a/modules/home-manager/ranger.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.cli.ranger; -in -{ - options.features.cli.ranger.enable = mkEnableOption "Enable ranger"; - - config = mkIf cfg.enable { - programs.ranger.enable = true; - }; -} diff --git a/modules2/ranger.nix b/modules2/ranger.nix new file mode 100644 index 00000000..c6e1085e --- /dev/null +++ b/modules2/ranger.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.ranger.enable = true; +} From 487e116baca31122e4d7ebe90ad8f3b4f13d5222 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 22:13:55 +0100 Subject: [PATCH 2068/2258] Move sxhkd configuration --- home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules2/sxhkd/enable.nix | 3 ++ .../sxhkd/keybindings.nix | 37 +++++-------------- modules2/xsession.nix | 3 ++ 5 files changed, 15 insertions(+), 30 deletions(-) create mode 100644 modules2/sxhkd/enable.nix rename modules/home-manager/sxhkd.nix => modules2/sxhkd/keybindings.nix (50%) create mode 100644 modules2/xsession.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index f6fa1aa5..8ba49972 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -10,7 +10,6 @@ cli = { bookmarkthis.enable = true; node.enable = true; - sxhkd.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index e2a2981a..a1f719a2 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -11,7 +11,6 @@ ./redshift.nix ./screenkey.nix ./starship.nix - ./sxhkd.nix ./zsh ]; } diff --git a/modules2/sxhkd/enable.nix b/modules2/sxhkd/enable.nix new file mode 100644 index 00000000..1712708b --- /dev/null +++ b/modules2/sxhkd/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.services.sxhkd.enable = true; +} diff --git a/modules/home-manager/sxhkd.nix b/modules2/sxhkd/keybindings.nix similarity index 50% rename from modules/home-manager/sxhkd.nix rename to modules2/sxhkd/keybindings.nix index 5a242e3e..811c998c 100644 --- a/modules/home-manager/sxhkd.nix +++ b/modules2/sxhkd/keybindings.nix @@ -1,40 +1,21 @@ +{ lib, ... }: + { - config, - lib, - pkgs, - ... -}: - -let - cfg = config.features.cli.${service}; - service = "sxhkd"; - - inherit (lib) getExe mkIf mkEnableOption; -in -{ - options.features.cli.${service} = { - enable = mkEnableOption "Enable ${service}"; - }; - - config = mkIf cfg.enable { - xsession.enable = true; - - services.${service} = { - enable = true; - - keybindings = { + flake.modules.homeManager.gui = + { pkgs, ... }: + { + services.sxhkd.keybindings = { "{_, shift +, super +}XF86MonBrightness{Down,Up}" = - "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; + "${lib.getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; "super + BackSpace" = "/home/opdavies/sysact"; "super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis"; "super + shift + i" = "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; - "super + shift + p" = "${getExe pkgs.passmenu-otp} -i"; + "super + shift + p" = "${lib.getExe pkgs.passmenu-otp} -i"; "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; - "@F3" = "${getExe pkgs.displayselect}"; + "@F3" = "${lib.getExe pkgs.displayselect}"; "@F9" = "/home/opdavies/.local/bin/mounter"; "@F10" = "/home/opdavies/.local/bin/unmounter"; }; }; - }; } diff --git a/modules2/xsession.nix b/modules2/xsession.nix new file mode 100644 index 00000000..5fdf17bf --- /dev/null +++ b/modules2/xsession.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.xsession.enable = true; +} From e86ee0fce10e714531a70db63e37b2a44e27a30a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 23:25:55 +0100 Subject: [PATCH 2069/2258] Remove screenkey configuration --- modules/home-manager/default.nix | 1 - modules/home-manager/screenkey.nix | 13 ------------- 2 files changed, 14 deletions(-) delete mode 100644 modules/home-manager/screenkey.nix diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index a1f719a2..559ce816 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -9,7 +9,6 @@ ./media/handbrake.nix ./node.nix ./redshift.nix - ./screenkey.nix ./starship.nix ./zsh ]; diff --git a/modules/home-manager/screenkey.nix b/modules/home-manager/screenkey.nix deleted file mode 100644 index ba06a66d..00000000 --- a/modules/home-manager/screenkey.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -{ - home.packages = with pkgs; [ screenkey ]; - - xdg.configFile."screenkey.json".text = builtins.toJSON { - key_mode = "composed"; - mods_mode = "emacs"; - persist = true; - size = "small"; - timeout = 0.25; - }; -} From 96b431de559c441613b0e12f2a780308b0f9721c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 23:27:36 +0100 Subject: [PATCH 2070/2258] Move redshift configuration --- hosts/t490/services/redshift.nix | 31 ------------------------------- modules/home-manager/default.nix | 1 - modules/home-manager/redshift.nix | 19 ------------------- modules2/redshift.nix | 8 ++++++++ 4 files changed, 8 insertions(+), 51 deletions(-) delete mode 100644 hosts/t490/services/redshift.nix delete mode 100644 modules/home-manager/redshift.nix create mode 100644 modules2/redshift.nix diff --git a/hosts/t490/services/redshift.nix b/hosts/t490/services/redshift.nix deleted file mode 100644 index f7e3bc71..00000000 --- a/hosts/t490/services/redshift.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.redshift; -in -{ - options.redshift.enable = mkEnableOption "Enable redshift"; - - config = mkIf cfg.enable { - location = { - latitude = 51.48; - longitude = -3.17; - }; - - services.redshift = { - enable = true; - - brightness = { - day = "1"; - night = "1"; - }; - - temperature = { - day = 5500; - night = 3700; - }; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 559ce816..7fe7ca72 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -8,7 +8,6 @@ ./gtk.nix ./media/handbrake.nix ./node.nix - ./redshift.nix ./starship.nix ./zsh ]; diff --git a/modules/home-manager/redshift.nix b/modules/home-manager/redshift.nix deleted file mode 100644 index 8a864d10..00000000 --- a/modules/home-manager/redshift.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.features.desktop.redshift; - - inherit (lib) mkEnableOption mkIf; -in -{ - options.features.desktop.redshift = { - enable = mkEnableOption "Enable redshift"; - }; - - config = mkIf cfg.enable { - services.redshift.enable = true; - - services.redshift.latitude = "51.58"; - services.redshift.longitude = "-2.99"; - }; -} diff --git a/modules2/redshift.nix b/modules2/redshift.nix new file mode 100644 index 00000000..da5c942d --- /dev/null +++ b/modules2/redshift.nix @@ -0,0 +1,8 @@ +{ + flake.modules.homeManager.gui.services.redshift = { + enable = true; + + latitude = "51.58"; + longitude = "-2.99"; + }; +} From be98bcad26008139b4dd056454ef0c4a05b84239 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 23:31:58 +0100 Subject: [PATCH 2071/2258] Move qutebrowser configuration --- home-manager/opdavies/t480.nix | 2 - modules/home-manager/browsers/qutebrowser.nix | 49 ------------------- modules/home-manager/default.nix | 1 - modules2/browsers/qutebrowser/enable.nix | 3 ++ .../browsers/qutebrowser/key-bindings.nix | 14 ++++++ modules2/browsers/qutebrowser/package.nix | 7 +++ .../browsers/qutebrowser/search-engines.nix | 10 ++++ modules2/browsers/qutebrowser/settings.nix | 5 ++ 8 files changed, 39 insertions(+), 52 deletions(-) delete mode 100644 modules/home-manager/browsers/qutebrowser.nix create mode 100644 modules2/browsers/qutebrowser/enable.nix create mode 100644 modules2/browsers/qutebrowser/key-bindings.nix create mode 100644 modules2/browsers/qutebrowser/package.nix create mode 100644 modules2/browsers/qutebrowser/search-engines.nix create mode 100644 modules2/browsers/qutebrowser/settings.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 8ba49972..bd8fd079 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -20,8 +20,6 @@ firefox.enable = true; firefox.homepageUrl = "https://nixedo.oliverdavies.uk"; - - qutebrowser.enable = true; }; gtk.enable = true; diff --git a/modules/home-manager/browsers/qutebrowser.nix b/modules/home-manager/browsers/qutebrowser.nix deleted file mode 100644 index 407424bf..00000000 --- a/modules/home-manager/browsers/qutebrowser.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.browsers.qutebrowser; -in -{ - options.features.desktop.browsers.qutebrowser.enable = mkEnableOption "Enable qutebrowser"; - - config = mkIf cfg.enable { - programs.qutebrowser = { - enable = true; - - package = pkgs.stable.qutebrowser; - - searchEngines = { - dp = "https://www.drupal.org/project/{}"; - du = "https://www.drupal.org/u/{}"; - gh = "https://github.com/search?q={}"; - mn = "https://mynixos.com/search?q={}"; - nx = "https://search.nixos.org/packages?query={}"; - yt = "https://www.youtube.com/results?search_query={}"; - }; - - settings = { - colors.webpage.darkmode.enabled = true; - }; - - keyBindings = { - normal = { - "<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false"; - - "xb" = "config-cycle statusbar.show always never"; - "xt" = "config-cycle tabs.show always never"; - "xx" = mkMerge [ - "config-cycle statusbar.show always never" - "config-cycle tabs.show always never" - ]; - }; - }; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 7fe7ca72..2bb5c2e6 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -3,7 +3,6 @@ ./bookmarkthis.nix ./browsers/chromium.nix ./browsers/firefox.nix - ./browsers/qutebrowser.nix ./dev-commit.nix ./gtk.nix ./media/handbrake.nix diff --git a/modules2/browsers/qutebrowser/enable.nix b/modules2/browsers/qutebrowser/enable.nix new file mode 100644 index 00000000..a36898ab --- /dev/null +++ b/modules2/browsers/qutebrowser/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.programs.qutebrowser.enable = true; +} diff --git a/modules2/browsers/qutebrowser/key-bindings.nix b/modules2/browsers/qutebrowser/key-bindings.nix new file mode 100644 index 00000000..f825b833 --- /dev/null +++ b/modules2/browsers/qutebrowser/key-bindings.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + flake.modules.homeManager.gui.programs.qutebrowser.keyBindings.normal = { + "<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false"; + + "xb" = "config-cycle statusbar.show always never"; + "xt" = "config-cycle tabs.show always never"; + "xx" = lib.mkMerge [ + "config-cycle statusbar.show always never" + "config-cycle tabs.show always never" + ]; + }; +} diff --git a/modules2/browsers/qutebrowser/package.nix b/modules2/browsers/qutebrowser/package.nix new file mode 100644 index 00000000..c44f8487 --- /dev/null +++ b/modules2/browsers/qutebrowser/package.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + programs.qutebrowser.package = pkgs.stable.qutebrowser; + }; +} diff --git a/modules2/browsers/qutebrowser/search-engines.nix b/modules2/browsers/qutebrowser/search-engines.nix new file mode 100644 index 00000000..5b15d91b --- /dev/null +++ b/modules2/browsers/qutebrowser/search-engines.nix @@ -0,0 +1,10 @@ +{ + flake.modules.homeManager.gui.programs.qutebrowser.searchEngines = { + dp = "https://www.drupal.org/project/{}"; + du = "https://www.drupal.org/u/{}"; + gh = "https://github.com/search?q={}"; + mn = "https://mynixos.com/search?q={}"; + nx = "https://search.nixos.org/packages?query={}"; + yt = "https://www.youtube.com/results?search_query={}"; + }; +} diff --git a/modules2/browsers/qutebrowser/settings.nix b/modules2/browsers/qutebrowser/settings.nix new file mode 100644 index 00000000..f14cf732 --- /dev/null +++ b/modules2/browsers/qutebrowser/settings.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.gui.programs.qutebrowser.settings = { + colors.webpage.darkmode.enabled = true; + }; +} From f2d2dc0a2b1bcde51fde63c41af965ef7022148a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 23:33:19 +0100 Subject: [PATCH 2072/2258] Move chromium configuration --- home-manager/opdavies/t480.nix | 2 -- modules/home-manager/browsers/chromium.nix | 15 --------------- modules/home-manager/default.nix | 1 - modules2/browsers/chromium.nix | 3 +++ 4 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 modules/home-manager/browsers/chromium.nix create mode 100644 modules2/browsers/chromium.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index bd8fd079..c0b351f3 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -16,8 +16,6 @@ desktop = { browsers = { - chromium.enable = true; - firefox.enable = true; firefox.homepageUrl = "https://nixedo.oliverdavies.uk"; }; diff --git a/modules/home-manager/browsers/chromium.nix b/modules/home-manager/browsers/chromium.nix deleted file mode 100644 index d5200a05..00000000 --- a/modules/home-manager/browsers/chromium.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.features.desktop.browsers.${name}; - name = "chromium"; - - inherit (lib) mkEnableOption mkIf; -in -{ - options.features.desktop.browsers.${name}.enable = mkEnableOption "Enable ${name}"; - - config = mkIf cfg.enable { - programs.${name}.enable = true; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 2bb5c2e6..2696e5d4 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,7 +1,6 @@ { imports = [ ./bookmarkthis.nix - ./browsers/chromium.nix ./browsers/firefox.nix ./dev-commit.nix ./gtk.nix diff --git a/modules2/browsers/chromium.nix b/modules2/browsers/chromium.nix new file mode 100644 index 00000000..3a8e7c87 --- /dev/null +++ b/modules2/browsers/chromium.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.programs.chromium.enable = true; +} From 4271993f2fc5a7a616bb9c9b26e5ed43464dc09b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 23:41:39 +0100 Subject: [PATCH 2073/2258] Move firefox/librewolf configuration --- home-manager/opdavies/t480.nix | 5 - modules/home-manager/browsers/firefox.nix | 151 ------------------ modules/home-manager/default.nix | 1 - modules2/browsers/librewolf/enable.nix | 3 + modules2/browsers/librewolf/extensions.nix | 18 +++ modules2/browsers/librewolf/languages.nix | 5 + modules2/browsers/librewolf/policies.nix | 70 ++++++++ .../browsers/librewolf/search-engines.nix | 19 +++ modules2/browsers/librewolf/search.nix | 7 + modules2/browsers/librewolf/settings.nix | 10 ++ 10 files changed, 132 insertions(+), 157 deletions(-) delete mode 100644 modules/home-manager/browsers/firefox.nix create mode 100644 modules2/browsers/librewolf/enable.nix create mode 100644 modules2/browsers/librewolf/extensions.nix create mode 100644 modules2/browsers/librewolf/languages.nix create mode 100644 modules2/browsers/librewolf/policies.nix create mode 100644 modules2/browsers/librewolf/search-engines.nix create mode 100644 modules2/browsers/librewolf/search.nix create mode 100644 modules2/browsers/librewolf/settings.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index c0b351f3..837421a2 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -15,11 +15,6 @@ }; desktop = { - browsers = { - firefox.enable = true; - firefox.homepageUrl = "https://nixedo.oliverdavies.uk"; - }; - gtk.enable = true; media = { diff --git a/modules/home-manager/browsers/firefox.nix b/modules/home-manager/browsers/firefox.nix deleted file mode 100644 index 6ab4114f..00000000 --- a/modules/home-manager/browsers/firefox.nix +++ /dev/null @@ -1,151 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.browsers.firefox; -in -{ - options.features.desktop.browsers.firefox = { - enable = mkEnableOption "Enable firefox"; - - homepageUrl = mkOption { - description = "The homepage URL."; - type = types.nullOr types.str; - }; - }; - - config = mkIf cfg.enable { - programs.firefox.enable = false; - - programs.librewolf = { - enable = true; - - languagePacks = [ "en-GB" ]; - - policies = { - CaptivePortal = false; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - - EnableTrackingProtection = { - Cryptomining = true; - Fingerprinting = true; - Value = true; - }; - - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; - installation_mode = "force_installed"; - }; - - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - }; - }; - - FirefoxHome = { - Highlights = false; - Pocket = false; - Search = true; - Snippets = false; - SponsoredPocket = false; - SponsoredTopSites = false; - TopSites = true; - }; - - FirefoxSuggest = { - ImproveSuggest = false; - SponsoredSuggestions = false; - WebSuggestions = false; - }; - - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - - Preferences = { - "browser.newtabpage.enabled" = false; - "browser.startup.homepage" = cfg.homepageUrl; - "cookiebanners.service.mode" = 2; # Block cookie banners - "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing - "privacy.donottrackheader.enabled" = true; - "privacy.fingerprintingProtection" = true; - "privacy.resistFingerprinting" = true; - "privacy.trackingprotection.emailtracking.enabled" = true; - "privacy.trackingprotection.enabled" = true; - "privacy.trackingprotection.fingerprinting.enabled" = true; - "privacy.trackingprotection.socialtracking.enabled" = true; - }; - - HardwareAcceleration = true; - TranslateEnabled = true; - - UserMessaging = { - ExtensionRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = true; - }; - }; - - profiles = { - default = { - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - awesome-rss - bitwarden - darkreader - onetab - tree-style-tab - ublock-origin - videospeed - vimium - web-developer - ]; - - search = { - default = "ddg"; - force = true; - privateDefault = "ddg"; - }; - - search.engines = { - # TODO: Drupal.org users. - # TODO: Mastodon. - # TODO: GitHub. - # TODO: Forgejo. - drupal_projects = { - name = "Drupal.org projects"; - urls = [ { template = "https://www.drupal.org/project/{searchTerms}"; } ]; - definedAliases = [ "@dp" ]; - }; - - nixvim = { - name = "Nixvim options search"; - urls = [ { template = "https://nix-community.github.io/nixvim/search/?query={searchTerms}"; } ]; - definedAliases = [ "@nxv" ]; - }; - }; - - settings = { - "browser.search.isUS" = false; - "browser.search.region" = "GB"; - "distribution.searchplugins.defaultLocale" = "en-GB"; - "general.useragent.locale" = "en-GB"; - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 2696e5d4..1b1163a5 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,7 +1,6 @@ { imports = [ ./bookmarkthis.nix - ./browsers/firefox.nix ./dev-commit.nix ./gtk.nix ./media/handbrake.nix diff --git a/modules2/browsers/librewolf/enable.nix b/modules2/browsers/librewolf/enable.nix new file mode 100644 index 00000000..3a77d1f0 --- /dev/null +++ b/modules2/browsers/librewolf/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.enable = true; +} diff --git a/modules2/browsers/librewolf/extensions.nix b/modules2/browsers/librewolf/extensions.nix new file mode 100644 index 00000000..3e7f7600 --- /dev/null +++ b/modules2/browsers/librewolf/extensions.nix @@ -0,0 +1,18 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + programs.librewolf.profiles.default.extensions.packages = + with pkgs.nur.repos.rycee.firefox-addons; [ + awesome-rss + bitwarden + darkreader + onetab + tree-style-tab + ublock-origin + videospeed + vimium + web-developer + ]; + }; +} diff --git a/modules2/browsers/librewolf/languages.nix b/modules2/browsers/librewolf/languages.nix new file mode 100644 index 00000000..b84500e2 --- /dev/null +++ b/modules2/browsers/librewolf/languages.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.languagePacks = [ + "en-GB" + ]; +} diff --git a/modules2/browsers/librewolf/policies.nix b/modules2/browsers/librewolf/policies.nix new file mode 100644 index 00000000..4b613855 --- /dev/null +++ b/modules2/browsers/librewolf/policies.nix @@ -0,0 +1,70 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "browser.newtabpage.enabled" = false; + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; +} diff --git a/modules2/browsers/librewolf/search-engines.nix b/modules2/browsers/librewolf/search-engines.nix new file mode 100644 index 00000000..e943506b --- /dev/null +++ b/modules2/browsers/librewolf/search-engines.nix @@ -0,0 +1,19 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.profiles.default.search.engines = { + # TODO: Drupal.org users. + # TODO: Mastodon. + # TODO: GitHub. + # TODO: Forgejo. + drupal_projects = { + name = "Drupal.org projects"; + urls = [ { template = "https://www.drupal.org/project/{searchTerms}"; } ]; + definedAliases = [ "@dp" ]; + }; + + nixvim = { + name = "Nixvim options search"; + urls = [ { template = "https://nix-community.github.io/nixvim/search/?query={searchTerms}"; } ]; + definedAliases = [ "@nxv" ]; + }; + }; +} diff --git a/modules2/browsers/librewolf/search.nix b/modules2/browsers/librewolf/search.nix new file mode 100644 index 00000000..35dbbba8 --- /dev/null +++ b/modules2/browsers/librewolf/search.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.profiles.default.search = { + default = "ddg"; + force = true; + privateDefault = "ddg"; + }; +} diff --git a/modules2/browsers/librewolf/settings.nix b/modules2/browsers/librewolf/settings.nix new file mode 100644 index 00000000..a7c5f5dd --- /dev/null +++ b/modules2/browsers/librewolf/settings.nix @@ -0,0 +1,10 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.profiles.default.settings = { + "browser.search.isUS" = false; + "browser.search.region" = "GB"; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; +} From aac84ce5b582601240af4f5634b87c437bd91799 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 27 Jul 2025 23:50:26 +0100 Subject: [PATCH 2074/2258] Move handbrake configuration --- home-manager/opdavies/lemp11.nix | 4 ---- home-manager/opdavies/t480.nix | 4 ---- modules/home-manager/default.nix | 1 - modules/home-manager/media/handbrake.nix | 21 --------------------- modules2/handbrake.nix | 7 +++++++ 5 files changed, 7 insertions(+), 30 deletions(-) delete mode 100644 modules/home-manager/media/handbrake.nix create mode 100644 modules2/handbrake.nix diff --git a/home-manager/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix index 95e97753..be2aaec1 100644 --- a/home-manager/opdavies/lemp11.nix +++ b/home-manager/opdavies/lemp11.nix @@ -3,9 +3,5 @@ features = { cli.zsh.enable = true; - - desktop.media = { - handbrake.enable = true; - }; }; } diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 837421a2..dafa10a3 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -16,10 +16,6 @@ desktop = { gtk.enable = true; - - media = { - handbrake.enable = true; - }; }; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 1b1163a5..48196b9c 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -3,7 +3,6 @@ ./bookmarkthis.nix ./dev-commit.nix ./gtk.nix - ./media/handbrake.nix ./node.nix ./starship.nix ./zsh diff --git a/modules/home-manager/media/handbrake.nix b/modules/home-manager/media/handbrake.nix deleted file mode 100644 index e9e0c65b..00000000 --- a/modules/home-manager/media/handbrake.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.media.handbrake; -in -{ - options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; - - config = mkIf cfg.enable { - home.packages = with pkgs; [ - handbrake - ]; - }; -} diff --git a/modules2/handbrake.nix b/modules2/handbrake.nix new file mode 100644 index 00000000..8a8532a9 --- /dev/null +++ b/modules2/handbrake.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ pkgs.handbrake ]; + }; +} From 3a6a2f0bccb37c04942b10a9fd7ed0321d11a3b1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 01:39:38 +0100 Subject: [PATCH 2075/2258] Move gtk configuration --- home-manager/opdavies/t480.nix | 4 ---- modules/home-manager/default.nix | 1 - modules/home-manager/gtk.nix | 34 -------------------------------- modules2/gtk/animations.nix | 6 ++++++ modules2/gtk/enable.nix | 3 +++ modules2/gtk/icon-theme.nix | 10 ++++++++++ modules2/gtk/theme.nix | 10 ++++++++++ 7 files changed, 29 insertions(+), 39 deletions(-) delete mode 100644 modules/home-manager/gtk.nix create mode 100644 modules2/gtk/animations.nix create mode 100644 modules2/gtk/enable.nix create mode 100644 modules2/gtk/icon-theme.nix create mode 100644 modules2/gtk/theme.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index dafa10a3..c44a3d42 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -13,10 +13,6 @@ starship.enable = true; zsh.enable = true; }; - - desktop = { - gtk.enable = true; - }; }; programs = { diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 48196b9c..bbc83f21 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -2,7 +2,6 @@ imports = [ ./bookmarkthis.nix ./dev-commit.nix - ./gtk.nix ./node.nix ./starship.nix ./zsh diff --git a/modules/home-manager/gtk.nix b/modules/home-manager/gtk.nix deleted file mode 100644 index 3f737bc7..00000000 --- a/modules/home-manager/gtk.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.gtk; -in -{ - options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; - - config = mkIf cfg.enable { - gtk = with pkgs; { - enable = true; - - theme = { - name = "Arc-Dark"; - package = arc-theme; - }; - - iconTheme = { - name = "Arc"; - package = arc-icon-theme; - }; - - gtk3.extraConfig.gtk-enable-animations = false; - gtk4.extraConfig.gtk-enable-animations = false; - }; - }; -} diff --git a/modules2/gtk/animations.nix b/modules2/gtk/animations.nix new file mode 100644 index 00000000..45d5edac --- /dev/null +++ b/modules2/gtk/animations.nix @@ -0,0 +1,6 @@ +{ + flake.modules.homeManager.gui.gtk = { + gtk3.extraConfig.gtk-enable-animations = false; + gtk4.extraConfig.gtk-enable-animations = false; + }; +} diff --git a/modules2/gtk/enable.nix b/modules2/gtk/enable.nix new file mode 100644 index 00000000..ceed16d3 --- /dev/null +++ b/modules2/gtk/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.gtk.enable = true; +} diff --git a/modules2/gtk/icon-theme.nix b/modules2/gtk/icon-theme.nix new file mode 100644 index 00000000..aed95ddf --- /dev/null +++ b/modules2/gtk/icon-theme.nix @@ -0,0 +1,10 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + gtk.iconTheme = { + name = "Arc"; + package = pkgs.arc-icon-theme; + }; + }; +} diff --git a/modules2/gtk/theme.nix b/modules2/gtk/theme.nix new file mode 100644 index 00000000..44e42980 --- /dev/null +++ b/modules2/gtk/theme.nix @@ -0,0 +1,10 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + gtk.theme = { + name = "Arc-Dark"; + package = pkgs.arc-theme; + }; + }; +} From 5b00484567bbc4e2c4e79723c780edaf4b9e34d6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 01:47:41 +0100 Subject: [PATCH 2076/2258] Move node configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/node.nix | 25 ------------------------- modules2/node.nix | 19 +++++++++++++++++++ 5 files changed, 19 insertions(+), 28 deletions(-) delete mode 100644 modules/home-manager/node.nix create mode 100644 modules2/node.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 9b1c4b50..f2548364 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -6,7 +6,6 @@ features = { cli = { bookmarkthis.enable = true; - node.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index c44a3d42..9e0a5c83 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -9,7 +9,6 @@ features = { cli = { bookmarkthis.enable = true; - node.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index bbc83f21..16df9ee8 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -2,7 +2,6 @@ imports = [ ./bookmarkthis.nix ./dev-commit.nix - ./node.nix ./starship.nix ./zsh ]; diff --git a/modules/home-manager/node.nix b/modules/home-manager/node.nix deleted file mode 100644 index fba772c1..00000000 --- a/modules/home-manager/node.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.cli.node; - - inherit (config.xdg) configHome dataHome stateHome; -in -{ - options.features.cli.node.enable = mkEnableOption "Enable node"; - - config = mkIf cfg.enable { - xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' - cache=${configHome}/npm - init-module=${configHome}/npm/config/npm-init.js - logs-dir=${stateHome}/npm/logs - prefix=${dataHome}/npm - ''; - - home.sessionVariables = { - NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; - }; - }; -} diff --git a/modules2/node.nix b/modules2/node.nix new file mode 100644 index 00000000..55ec9367 --- /dev/null +++ b/modules2/node.nix @@ -0,0 +1,19 @@ +{ + flake.modules.homeManager.base = + { config, ... }: + let + inherit (config.xdg) configHome dataHome stateHome; + in + { + xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = '' + cache=${configHome}/npm + init-module=${configHome}/npm/config/npm-init.js + logs-dir=${stateHome}/npm/logs + prefix=${dataHome}/npm + ''; + + home.sessionVariables = { + NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; + }; + }; +} From 7cc780815462b5b8abb3c373bc432da8083d9865 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 01:53:38 +0100 Subject: [PATCH 2077/2258] Remove neovim/default.nix --- modules/home-manager/neovim/default.nix | 30 ------------------------- 1 file changed, 30 deletions(-) delete mode 100644 modules/home-manager/neovim/default.nix diff --git a/modules/home-manager/neovim/default.nix b/modules/home-manager/neovim/default.nix deleted file mode 100644 index f9753152..00000000 --- a/modules/home-manager/neovim/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - inputs, - lib, - ... -}: - -with lib; - -let - cfg = config.features.coding.neovim; -in -{ - # imports = [ - # inputs.nixvim.homeManagerModules.nixvim - # ]; - - options.features.coding.neovim.enable = mkEnableOption "Enable neovim"; - - config = mkIf cfg.enable { - programs.nixvim = { - enable = true; - - viAlias = true; - vimAlias = true; - - imports = [ ./config ]; - }; - }; -} From c3fa0ce6cee8b3f9a30c7a746577e39065e82019 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 02:00:52 +0100 Subject: [PATCH 2078/2258] Move bookmarkthis configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/bookmarkthis.nix | 68 --------------------------- modules/home-manager/default.nix | 1 - modules2/bookmarkthis.nix | 57 ++++++++++++++++++++++ 5 files changed, 57 insertions(+), 71 deletions(-) delete mode 100644 modules/home-manager/bookmarkthis.nix create mode 100644 modules2/bookmarkthis.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index f2548364..d581f5d0 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -5,7 +5,6 @@ features = { cli = { - bookmarkthis.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 9e0a5c83..2a3b806f 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -8,7 +8,6 @@ features = { cli = { - bookmarkthis.enable = true; starship.enable = true; zsh.enable = true; }; diff --git a/modules/home-manager/bookmarkthis.nix b/modules/home-manager/bookmarkthis.nix deleted file mode 100644 index 286fd599..00000000 --- a/modules/home-manager/bookmarkthis.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - inherit (lib) mkEnableOption mkOption; - - cfg = config.features.cli.${name}; - name = "bookmarkthis"; -in -{ - options.features.cli.${name} = { - enable = mkEnableOption "Enable ${name}"; - - snippetsFile = mkOption { - default = "${config.xdg.dataHome}/snippets.txt"; - type = lib.types.str; - }; - }; - - config = lib.mkIf cfg.enable { - home = { - packages = with pkgs; [ - (pkgs.writeShellApplication { - name = "bookmarkthis"; - - text = '' - message() { - if command -v ${lib.getExe libnotify} > /dev/null; then - ${lib.getExe libnotify} "$1" "$2" - else - echo "$2" - fi - } - - main() { - bookmark="$(xclip -o)" - file="$SNIPPETS_FILE" - - if grep -q "^$bookmark$" "$file"; then - message "Oops." "Already bookmarked." >&2 - - exit 2 - fi - - echo "$bookmark" >> "$file" - - message "Bookmark added!" "$bookmark is now saved to the file." - } - - main - ''; - }) - ]; - - sessionVariables = { - SNIPPETS_FILE = cfg.snippetsFile; - }; - }; - - programs.zsh.zsh-abbr.abbreviations = lib.optionalAttrs (config.programs.zsh.enable) { - "sn" = "${config.home.sessionVariables.EDITOR} $SNIPPETS_FILE"; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 16df9ee8..9c8c6058 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./bookmarkthis.nix ./dev-commit.nix ./starship.nix ./zsh diff --git a/modules2/bookmarkthis.nix b/modules2/bookmarkthis.nix new file mode 100644 index 00000000..96c7a4eb --- /dev/null +++ b/modules2/bookmarkthis.nix @@ -0,0 +1,57 @@ +{ lib, ... }: + +{ + flake.modules.homeManager.gui = + { config, pkgs, ... }: + { + options.programs.bookmarkthis.snippetsFile = lib.mkOption { + default = "${config.xdg.dataHome}/snippets.txt"; + type = lib.types.str; + }; + + config = { + home = { + packages = [ + (pkgs.writeShellApplication { + name = "bookmarkthis"; + + text = '' + message() { + if command -v ${lib.getExe pkgs.libnotify} > /dev/null; then + ${lib.getExe pkgs.libnotify} "$1" "$2" + else + echo "$2" + fi + } + + main() { + bookmark="$(xclip -o)" + file="$SNIPPETS_FILE" + + if grep -q "^$bookmark$" "$file"; then + message "Oops." "Already bookmarked." >&2 + + exit 2 + fi + + echo "$bookmark" >> "$file" + + message "Bookmark added!" "$bookmark is now saved to the file." + } + + main + ''; + }) + ]; + + sessionVariables = { + SNIPPETS_FILE = config.programs.bookmarkthis.snippetsFile; + }; + }; + + programs.zsh.zsh-abbr.abbreviations = lib.optionalAttrs (config.programs.zsh.enable) { + "sn" = "${config.home.sessionVariables.EDITOR} $SNIPPETS_FILE"; + }; + }; + }; +} From c36d1aeaa3fbd75422dc8371f7d0fbcb32550e91 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 02:11:41 +0100 Subject: [PATCH 2079/2258] Move dev-commit configuration --- home-manager/opdavies/t480.nix | 20 ------- modules/home-manager/default.nix | 1 - modules/home-manager/dev-commit.nix | 93 ----------------------------- modules2/dev-commit.nix | 83 +++++++++++++++++++++++++ 4 files changed, 83 insertions(+), 114 deletions(-) delete mode 100644 modules/home-manager/dev-commit.nix create mode 100644 modules2/dev-commit.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 2a3b806f..6f2ca71b 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -14,26 +14,6 @@ }; programs = { - dev-commit = { - enable = false; - - repoPaths = - let - personal = "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/personal"; - in - [ - "${personal}/email-filters" - "${personal}/nix-config" - "${personal}/oliverdavies.uk" - "${personal}/opentofu-dns" - ]; - - schedule = { - enable = true; - time = "daily"; - }; - }; - zsh.shellAliases = let inherit (config.xdg.userDirs) documents; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 9c8c6058..56240fc8 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./dev-commit.nix ./starship.nix ./zsh ]; diff --git a/modules/home-manager/dev-commit.nix b/modules/home-manager/dev-commit.nix deleted file mode 100644 index 823420ed..00000000 --- a/modules/home-manager/dev-commit.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.programs.dev-commit; - repoPaths = concatStringsSep ":" cfg.repoPaths; -in -{ - options.programs.dev-commit = { - enable = mkEnableOption "Enable dev-commit"; - - repoPaths = mkOption { - default = [ ]; - description = "A list of repository paths that should have automated commits"; - type = types.listOf types.path; - }; - - schedule = mkOption { - type = types.submodule { - options = { - enable = mkEnableOption "Enable automated dev commits with systemd"; - - time = mkOption { - description = '' - Time expression for when to run the dev-commit job. - - This uses systemd's `OnCalendar` syntax. - - Examples: - - "hourly" (once every hour) - - "daily" (once per day at midnight) - - "Mon *-*-01 12:00:00" (every Monday at 12:00 PM) - - See `man systemd.time` for full syntax reference. - ''; - default = "hourly"; - type = types.str; - }; - }; - }; - - default = { - enable = false; - time = "hourly"; - }; - }; - }; - - config = mkIf cfg.enable { - home = { - packages = [ - pkgs.dev-commit - ]; - - sessionVariables.DEV_COMMIT_PATHS = repoPaths; - }; - - systemd.user = mkIf cfg.schedule.enable { - services.dev-commit = { - Install.WantedBy = [ "default.target" ]; - - Service = { - Environment = [ - "DEV_COMMIT_PATHS=${repoPaths}" - ]; - - ExecStart = "${lib.getExe pkgs.dev-commit}"; - - Type = "oneshot"; - }; - - Unit.Description = "dev-commit"; - }; - - timers.dev-commit = { - Install.WantedBy = [ "timers.target" ]; - - Timer = { - OnCalendar = cfg.schedule.time; - Unit = "dev-commit.service"; - }; - - Unit.Description = "Runs automated development commits in select project repositories."; - }; - }; - }; -} diff --git a/modules2/dev-commit.nix b/modules2/dev-commit.nix new file mode 100644 index 00000000..06740026 --- /dev/null +++ b/modules2/dev-commit.nix @@ -0,0 +1,83 @@ +{ lib, ... }: + +{ + flake.modules.homeManager.base = + { config, pkgs, ... }: + { + options.programs.dev-commit = { + repoPaths = lib.mkOption { + default = [ ]; + description = "A list of repository paths that should have automated commits"; + type = lib.types.listOf lib.types.path; + }; + + schedule = lib.mkOption { + type = lib.types.submodule { + options = { + enable = lib.mkEnableOption "Enable automated dev commits with systemd"; + + time = lib.mkOption { + description = '' + Time expression for when to run the dev-commit job. + + This uses systemd's `OnCalendar` syntax. + + Examples: + - "hourly" (once every hour) + - "daily" (once per day at midnight) + - "Mon *-*-01 12:00:00" (every Monday at 12:00 PM) + + See `man systemd.time` for full syntax reference. + ''; + default = "hourly"; + type = lib.types.str; + }; + }; + }; + + default = { + enable = false; + time = "hourly"; + }; + }; + }; + + config = + let + cfg = config.programs.dev-commit; + repoPaths = lib.concatStringsSep ":" cfg.repoPaths; + in + { + home = { + packages = [ pkgs.dev-commit ]; + + sessionVariables.DEV_COMMIT_PATHS = repoPaths; + }; + + systemd.user = lib.mkIf cfg.schedule.enable { + services.dev-commit = { + Install.WantedBy = [ "default.target" ]; + + Service = { + Environment = [ "DEV_COMMIT_PATHS=${repoPaths}" ]; + ExecStart = "${lib.getExe pkgs.dev-commit}"; + Type = "oneshot"; + }; + + Unit.Description = "dev-commit"; + }; + + timers.dev-commit = { + Install.WantedBy = [ "timers.target" ]; + + Timer = { + OnCalendar = cfg.schedule.time; + Unit = "dev-commit.service"; + }; + + Unit.Description = "Runs automated development commits in select project repositories."; + }; + }; + }; + }; +} From cff83d9373d20d951dddf2d7f9cdd85c09cabf3b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 02:23:41 +0100 Subject: [PATCH 2080/2258] Move starship configuration --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/nixedo.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/default.nix | 1 - modules/home-manager/starship.nix | 187 ----------------------------- modules2/starship/format.nix | 27 +++++ modules2/starship/mob.nix | 7 ++ modules2/starship/newline.nix | 3 + modules2/starship/settings.nix | 133 ++++++++++++++++++++ modules2/starship/starship.nix | 3 + modules2/starship/zsh.nix | 3 + 11 files changed, 176 insertions(+), 191 deletions(-) delete mode 100644 modules/home-manager/starship.nix create mode 100644 modules2/starship/format.nix create mode 100644 modules2/starship/mob.nix create mode 100644 modules2/starship/newline.nix create mode 100644 modules2/starship/settings.nix create mode 100644 modules2/starship/starship.nix create mode 100644 modules2/starship/zsh.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index d581f5d0..67c1b384 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -5,7 +5,6 @@ features = { cli = { - starship.enable = true; zsh.enable = true; }; }; diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 91959735..3680f7c2 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -8,7 +8,6 @@ ]; features.cli = { - starship.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 6f2ca71b..1d4d5ceb 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -8,7 +8,6 @@ features = { cli = { - starship.enable = true; zsh.enable = true; }; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 56240fc8..a5d35e48 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./starship.nix ./zsh ]; } diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix deleted file mode 100644 index 57cc4f6d..00000000 --- a/modules/home-manager/starship.nix +++ /dev/null @@ -1,187 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.cli.starship; -in -{ - options.features.cli.starship.enable = mkEnableOption "Enable starship"; - - config = mkIf cfg.enable { - programs.starship = - let - inherit (builtins) concatStringsSep; - in - { - enable = true; - enableZshIntegration = true; - - settings = { - add_newline = false; - - # https://starship.rs/config/#prompt - format = concatStringsSep "" [ - "\n" - "$username" - "$hostname" - "$directory" - "$vcsh" - "$git_branch" - "$git_status" - "$git_metrics" - "$docker_context" - "$nodejs" - "$php" - "$terraform" - "$nix_shell" - "$direnv" - "\${custom.mob}" - "$memory_usage" - "$cmd_duration" - "$lua" - "$status" - "$character" - ]; - - cmd_duration.disabled = true; - direnv.disabled = false; - directory.format = "[$path]($style) "; - git_status.disabled = true; - nix_shell.disabled = true; - nodejs.disabled = true; - php.disabled = true; - username.disabled = true; - - custom = { - mob = { - command = "echo $MOB_TIMER_ROOM"; - format = "[($output)]($style) "; - when = "[[ -v MOB_TIMER_ROOM ]]"; - }; - }; - - # https://starship.rs/presets/plain-text - aws.symbol = "aws "; - azure.symbol = "az "; - bun.symbol = "bun "; - c.symbol = "C "; - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - cobol.symbol = "cobol "; - conda.symbol = "conda "; - crystal.symbol = "cr "; - cmake.symbol = "cmake "; - daml.symbol = "daml "; - dart.symbol = "dart "; - deno.symbol = "deno "; - dotnet.symbol = ".NET "; - directory.read_only = " ro"; - docker_context.symbol = "docker "; - elixir.symbol = "exs "; - elm.symbol = "elm "; - fennel.symbol = "fnl "; - fossil_branch.symbol = "fossil "; - gcloud.symbol = "gcp "; - git_branch.symbol = "git "; - git_commit.tag_symbol = " tag "; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - gleam.symbol = "gleam "; - golang.symbol = "go "; - gradle.symbol = "gradle "; - guix_shell.symbol = "guix "; - hg_branch.symbol = "hg "; - java.symbol = "java "; - julia.symbol = "jl "; - kotlin.symbol = "kt "; - lua.symbol = "lua "; - nodejs.symbol = "nodejs "; - memory_usage.symbol = "memory "; - meson.symbol = "meson "; - nats.symbol = "nats "; - nim.symbol = "nim "; - nix_shell.symbol = "nix "; - ocaml.symbol = "ml "; - opa.symbol = "opa "; - os.symbols = { - AIX = "aix "; - Alpaquita = "alq "; - AlmaLinux = "alma "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Kali = "kali "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - RockyLinux = "rky "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Ultramarine = "ultm "; - Unknown = "unk "; - Void = "void "; - Windows = "win "; - }; - package.symbol = "pkg "; - perl.symbol = "pl "; - php.symbol = "php "; - pijul_channel.symbol = "pijul "; - pulumi.symbol = "pulumi "; - purescript.symbol = "purs "; - python.symbol = "py "; - quarto.symbol = "quarto "; - raku.symbol = "raku "; - ruby.symbol = "rb "; - rust.symbol = "rs "; - scala.symbol = "scala "; - spack.symbol = "spack "; - solidity.symbol = "solidity "; - status.symbol = "[x](bold red) "; - sudo.symbol = "sudo "; - swift.symbol = "swift "; - typst.symbol = "typst "; - terraform.symbol = "terraform "; - zig.symbol = "zig "; - }; - }; - }; -} diff --git a/modules2/starship/format.nix b/modules2/starship/format.nix new file mode 100644 index 00000000..eeed3818 --- /dev/null +++ b/modules2/starship/format.nix @@ -0,0 +1,27 @@ +{ lib, ... }: + +{ + # https://starship.rs/config/#prompt + flake.modules.homeManager.base.programs.starship.settings.format = lib.concatStringsSep "" [ + "\n" + "$username" + "$hostname" + "$directory" + "$vcsh" + "$git_branch" + "$git_status" + "$git_metrics" + "$docker_context" + "$nodejs" + "$php" + "$terraform" + "$nix_shell" + "$direnv" + "\${custom.mob}" + "$memory_usage" + "$cmd_duration" + "$lua" + "$status" + "$character" + ]; +} diff --git a/modules2/starship/mob.nix b/modules2/starship/mob.nix new file mode 100644 index 00000000..fd59ab88 --- /dev/null +++ b/modules2/starship/mob.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base.programs.starship.settings.custom.mob = { + command = "echo $MOB_TIMER_ROOM"; + format = "[($output)]($style) "; + when = "[[ -v MOB_TIMER_ROOM ]]"; + }; +} diff --git a/modules2/starship/newline.nix b/modules2/starship/newline.nix new file mode 100644 index 00000000..80920b5a --- /dev/null +++ b/modules2/starship/newline.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.starship.settings.add_newline = false; +} diff --git a/modules2/starship/settings.nix b/modules2/starship/settings.nix new file mode 100644 index 00000000..26b1efe7 --- /dev/null +++ b/modules2/starship/settings.nix @@ -0,0 +1,133 @@ +{ + flake.modules.homeManager.base.programs.starship.settings = { + cmd_duration.disabled = true; + direnv.disabled = false; + directory.format = "[$path]($style) "; + git_status.disabled = true; + nix_shell.disabled = true; + nodejs.disabled = true; + php.disabled = true; + username.disabled = true; + + # https://starship.rs/presets/plain-text + aws.symbol = "aws "; + azure.symbol = "az "; + bun.symbol = "bun "; + c.symbol = "C "; + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + cobol.symbol = "cobol "; + conda.symbol = "conda "; + crystal.symbol = "cr "; + cmake.symbol = "cmake "; + daml.symbol = "daml "; + dart.symbol = "dart "; + deno.symbol = "deno "; + dotnet.symbol = ".NET "; + directory.read_only = " ro"; + docker_context.symbol = "docker "; + elixir.symbol = "exs "; + elm.symbol = "elm "; + fennel.symbol = "fnl "; + fossil_branch.symbol = "fossil "; + gcloud.symbol = "gcp "; + git_branch.symbol = "git "; + git_commit.tag_symbol = " tag "; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + gleam.symbol = "gleam "; + golang.symbol = "go "; + gradle.symbol = "gradle "; + guix_shell.symbol = "guix "; + hg_branch.symbol = "hg "; + java.symbol = "java "; + julia.symbol = "jl "; + kotlin.symbol = "kt "; + lua.symbol = "lua "; + nodejs.symbol = "nodejs "; + memory_usage.symbol = "memory "; + meson.symbol = "meson "; + nats.symbol = "nats "; + nim.symbol = "nim "; + nix_shell.symbol = "nix "; + ocaml.symbol = "ml "; + opa.symbol = "opa "; + os.symbols = { + AIX = "aix "; + Alpaquita = "alq "; + AlmaLinux = "alma "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + RockyLinux = "rky "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + }; + package.symbol = "pkg "; + perl.symbol = "pl "; + php.symbol = "php "; + pijul_channel.symbol = "pijul "; + pulumi.symbol = "pulumi "; + purescript.symbol = "purs "; + python.symbol = "py "; + quarto.symbol = "quarto "; + raku.symbol = "raku "; + ruby.symbol = "rb "; + rust.symbol = "rs "; + scala.symbol = "scala "; + spack.symbol = "spack "; + solidity.symbol = "solidity "; + status.symbol = "[x](bold red) "; + sudo.symbol = "sudo "; + swift.symbol = "swift "; + typst.symbol = "typst "; + terraform.symbol = "terraform "; + zig.symbol = "zig "; + }; +} diff --git a/modules2/starship/starship.nix b/modules2/starship/starship.nix new file mode 100644 index 00000000..5839e22c --- /dev/null +++ b/modules2/starship/starship.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.starship.enable = true; +} diff --git a/modules2/starship/zsh.nix b/modules2/starship/zsh.nix new file mode 100644 index 00000000..f9114042 --- /dev/null +++ b/modules2/starship/zsh.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.starship.enableZshIntegration = true; +} From 556de5e482158f98d69670408945ffe359bbe547 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 02:34:00 +0100 Subject: [PATCH 2081/2258] Move zsh configuration --- flake.nix | 2 - home-manager/common/default.nix | 7 - home-manager/opdavies/PW05CH3L.nix | 8 - home-manager/opdavies/lemp11.nix | 8 +- home-manager/opdavies/nixedo.nix | 6 - home-manager/opdavies/t480.nix | 7 - home-manager/opdavies/t490.nix | 4 +- hosts/common/home.nix | 4 - modules/home-manager/default.nix | 5 - modules/home-manager/zsh/abbreviations.nix | 165 ----------------- modules/home-manager/zsh/aliases.nix | 14 -- .../home-manager/zsh/global-abbreviations.nix | 14 -- modules2/zsh/abbreviations/abbreviations.nix | 167 ++++++++++++++++++ modules2/zsh/abbreviations/enable.nix | 3 + .../abbreviations/global-abbreviations.nix | 16 ++ modules2/zsh/aliases.nix | 18 ++ modules2/zsh/completion.nix | 3 + modules2/zsh/dot-dir.nix | 3 + modules2/zsh/enable.nix | 3 + .../zsh/default.nix => modules2/zsh/init.nix | 47 +---- modules2/zsh/profile.nix | 7 + modules2/zsh/syntax-highlighting.nix | 3 + modules2/zsh/variables.nix | 5 + 23 files changed, 234 insertions(+), 285 deletions(-) delete mode 100644 home-manager/common/default.nix delete mode 100644 modules/home-manager/default.nix delete mode 100644 modules/home-manager/zsh/abbreviations.nix delete mode 100644 modules/home-manager/zsh/aliases.nix delete mode 100644 modules/home-manager/zsh/global-abbreviations.nix create mode 100644 modules2/zsh/abbreviations/abbreviations.nix create mode 100644 modules2/zsh/abbreviations/enable.nix create mode 100644 modules2/zsh/abbreviations/global-abbreviations.nix create mode 100644 modules2/zsh/aliases.nix create mode 100644 modules2/zsh/completion.nix create mode 100644 modules2/zsh/dot-dir.nix create mode 100644 modules2/zsh/enable.nix rename modules/home-manager/zsh/default.nix => modules2/zsh/init.nix (69%) create mode 100644 modules2/zsh/profile.nix create mode 100644 modules2/zsh/syntax-highlighting.nix create mode 100644 modules2/zsh/variables.nix diff --git a/flake.nix b/flake.nix index d80abbde..b1f87d95 100644 --- a/flake.nix +++ b/flake.nix @@ -48,8 +48,6 @@ inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { flake = { - homeManagerModules.default = import ./modules/home-manager; - nixosModules.default = import ./modules/nixos; overlays = import ./overlays { inherit inputs; }; diff --git a/home-manager/common/default.nix b/home-manager/common/default.nix deleted file mode 100644 index 76b2a760..00000000 --- a/home-manager/common/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ outputs, ... }: - -{ - imports = [ - outputs.homeManagerModules.default - ]; -} diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 67c1b384..5f0ebc97 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -1,14 +1,6 @@ { pkgs, ... }: { - imports = [ ../common ]; - - features = { - cli = { - zsh.enable = true; - }; - }; - home.packages = with pkgs; [ count-tags create-script diff --git a/home-manager/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix index be2aaec1..ffcd4415 100644 --- a/home-manager/opdavies/lemp11.nix +++ b/home-manager/opdavies/lemp11.nix @@ -1,7 +1 @@ -{ - imports = [ ../common ]; - - features = { - cli.zsh.enable = true; - }; -} +{ } diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 3680f7c2..92ca6c6d 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -2,15 +2,9 @@ { imports = [ - ../common - ./nixedo/email-filters.nix ]; - features.cli = { - zsh.enable = true; - }; - home.packages = with pkgs; [ import-to-jellyfin vix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 1d4d5ceb..9f0f092c 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -2,16 +2,9 @@ { imports = [ - ../common ./t480/gammastep.nix ]; - features = { - cli = { - zsh.enable = true; - }; - }; - programs = { zsh.shellAliases = let diff --git a/home-manager/opdavies/t490.nix b/home-manager/opdavies/t490.nix index 2a89c647..ffcd4415 100644 --- a/home-manager/opdavies/t490.nix +++ b/home-manager/opdavies/t490.nix @@ -1,3 +1 @@ -{ - imports = [ ../common ]; -} +{ } diff --git a/hosts/common/home.nix b/hosts/common/home.nix index c2073f9b..23426d12 100644 --- a/hosts/common/home.nix +++ b/hosts/common/home.nix @@ -27,10 +27,6 @@ let ; in { - imports = [ - outputs.homeManagerModules.default - ]; - home.username = "opdavies"; home.homeDirectory = "/home/${config.home.username}"; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix deleted file mode 100644 index a5d35e48..00000000 --- a/modules/home-manager/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./zsh - ]; -} diff --git a/modules/home-manager/zsh/abbreviations.nix b/modules/home-manager/zsh/abbreviations.nix deleted file mode 100644 index 90d1d5ce..00000000 --- a/modules/home-manager/zsh/abbreviations.nix +++ /dev/null @@ -1,165 +0,0 @@ -{ - cl = "clear"; - cs = "create-script"; - daily = "run create-daily next"; - rst = "rst2pdf"; - st = "source .tmux"; - sz = "source ~/.config/zsh/.zshrc"; - ti = "timer"; - uagr = "update-all-git-repos"; - v = "nvim"; - yt = "yt-dlp"; - - evl = "export-video-list"; - vv = "cat ~/Documents/videos.json"; - - f = "find ."; - fd = "find . -type d"; - fdn = "find . -type d -name"; - ff = "find . -type f"; - ffn = "find . -type f -name"; - - g = "git"; - ga = "git add"; - gan = "git add -N"; - gap = "git add -p"; - gb = "git branch"; - gba = "git branch --all"; - gbl = "git blame"; - gc = "git commit"; - gca = "git commit --amend"; - gcan = "git commit --amend --no-edit"; - gcl = "git clone"; - gcm = "git commit -m"; - gco = "git checkout"; - gcob = "git checkout -b"; - gd = "git diff"; - gds = "git diff --staged"; - gf = "git fetch"; - gfa = "git fetch --all"; - gl = "git log"; - glg = "git log --grep"; - glo = "git log --oneline"; - glog = "git log --oneline --grep"; - glos = "git log --oneline -S"; - gls = "git log -S"; - gm = "git merge"; - gmf = "git merge --ff"; - gmnf = "git merge --no-ff"; - gp = "git push"; - gpa = "git push acquia"; - gpam = "git push acquia main"; - gpap = "git push acquia HEAD:production"; - gpf = "git push --force-with-lease"; - gpfo = "git push --force-with-lease origin"; - gpl = "git pull"; - gplr = "git pull --rebase"; - gpo = "git push origin"; - gpom = "git push origin main"; - gpt = "git push --tags"; - gr = "git rebase"; - gra = "git rebase --abort"; - grc = "git rebase --continue"; - gri = "git rebase -i"; - gs = "git status"; - gsh = "git show"; - gst = "git stash"; - gstp = "git stash pop"; - gt = "git tag"; - - j = "just"; - jb = "just build"; - jt = "just test"; - js = "just switch"; - - # tmux - ta = "tmux attach"; - tl = "tmux list-sessions"; - tk = "tmux kill-session"; - - # Docker and Docker Compose. - dk = "docker"; - dkp = "docker ps"; - dkpa = "docker ps -a"; - dkpaq = "docker ps -a -q"; - dkb = "docker build -t"; - dks = "docker start"; - dkt = "docker stop"; - dkrm = "docker rm"; - dkri = "docker rmi"; - dke = "docker exec -ti"; - dkl = "docker logs -f"; - dki = "docker images"; - dkpu = "docker pull"; - dkph = "docker push"; - dkbnc = "docker build --no-cache -t"; - dkr = "docker run --rm"; - dkrti = "docker run --rm -ti"; - dkc = "docker compose"; - dkcb = "docker compose build"; - dkcu = "docker compose up"; - dkclean = "docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi"; - - # Nix and direnv. - dea = "direnv allow"; - dee = "direnv edit"; - nxf = "nix flake"; - nxfc = "nix flake check"; - nxfs = "nix flake show"; - nxfu = "nix flake update"; - nxr = "nix run nixpkgs#%"; - nxs = "nix shell nixpkgs#%"; - - # run scripts. - r = "run"; - rc = "run composer"; - rcda = "run composer dump-autoload"; - rci = "run composer install"; - rcr = "run composer require"; - rcu = "run composer update"; - rd = "run drush"; - rdce = "run drush config:export -y"; - rdci = "run drush config:import -y"; - rdcr = "run drush cache:rebuild"; - rdscr = "run drush php:script"; - rduli = "run drush uli"; - rdup = "run drush updatedb -y"; - rpub = "run publish"; - rt = "run test"; - - nah = "git reset --hard; git clean -fd"; - wip = "git commit -m wip"; - - dv = "devenv"; - dvi = "devenv info"; - dvp = "devenv processes"; - dvs = "devenv shell"; - dvt = "devenv tasks"; - dvu = "devenv up"; - - c = "composer"; - ci = "composer install"; - cr = "composer require"; - crd = "composer require drupal/%"; - cu = "composer update"; - cul = "composer update --lock"; - cw = "composer why"; - cwn = "composer why-not"; - - d = "drush"; - dce = "drush config:export -y"; - dci = "drush config:import -y"; - dcr = "drush cache:rebuild"; - den = "drush pm:enable -y"; - deu = "drush pm:uninstall"; - dscr = "drush php:script"; - duli = "drush uli"; - dup = "drush updatedb -y"; - - sg = "vendor/bin/sculpin generate"; - sge = "vendor/bin/sculpin generate --env"; - sgs = "vendor/bin/sculpin generate --server"; - sgsp = "vendor/bin/sculpin generate --server --port"; - sgsw = "vendor/bin/sculpin generate --server --watch"; - sgswp = "vendor/bin/sculpin generate --server --watch --port"; -} diff --git a/modules/home-manager/zsh/aliases.nix b/modules/home-manager/zsh/aliases.nix deleted file mode 100644 index 304d4b3f..00000000 --- a/modules/home-manager/zsh/aliases.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, ... }: - -{ - "$" = ""; - "-" = "cd -"; - ".." = "cd .."; - "..." = "cd ../.."; - "...." = "cd ../../.."; - "....." = "cd ../../../.."; - run = "./run"; - tag = "tag-release"; - vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.adddotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add"; - wt = "git worktree"; -} diff --git a/modules/home-manager/zsh/global-abbreviations.nix b/modules/home-manager/zsh/global-abbreviations.nix deleted file mode 100644 index 9faa7408..00000000 --- a/modules/home-manager/zsh/global-abbreviations.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - A1 = "| awk '{print $1}'"; - C = "| xclip -sel clip"; - Fj = "| jq ."; - Fy = "| yq ."; - G = "| grep"; - GH = "| grep HTTP"; - Gi = "| grep -i"; - H2 = "| head -n 20"; - H = "| head"; - L = "| less"; - V = "| nvim -"; - X = "| xargs -I1"; -} diff --git a/modules2/zsh/abbreviations/abbreviations.nix b/modules2/zsh/abbreviations/abbreviations.nix new file mode 100644 index 00000000..84610472 --- /dev/null +++ b/modules2/zsh/abbreviations/abbreviations.nix @@ -0,0 +1,167 @@ +{ + flake.modules.homeManager.base.programs.zsh.zsh-abbr.abbreviations = { + cl = "clear"; + cs = "create-script"; + daily = "run create-daily next"; + rst = "rst2pdf"; + st = "source .tmux"; + sz = "source ~/.config/zsh/.zshrc"; + ti = "timer"; + uagr = "update-all-git-repos"; + v = "nvim"; + yt = "yt-dlp"; + + evl = "export-video-list"; + vv = "cat ~/Documents/videos.json"; + + f = "find ."; + fd = "find . -type d"; + fdn = "find . -type d -name"; + ff = "find . -type f"; + ffn = "find . -type f -name"; + + g = "git"; + ga = "git add"; + gan = "git add -N"; + gap = "git add -p"; + gb = "git branch"; + gba = "git branch --all"; + gbl = "git blame"; + gc = "git commit"; + gca = "git commit --amend"; + gcan = "git commit --amend --no-edit"; + gcl = "git clone"; + gcm = "git commit -m"; + gco = "git checkout"; + gcob = "git checkout -b"; + gd = "git diff"; + gds = "git diff --staged"; + gf = "git fetch"; + gfa = "git fetch --all"; + gl = "git log"; + glg = "git log --grep"; + glo = "git log --oneline"; + glog = "git log --oneline --grep"; + glos = "git log --oneline -S"; + gls = "git log -S"; + gm = "git merge"; + gmf = "git merge --ff"; + gmnf = "git merge --no-ff"; + gp = "git push"; + gpa = "git push acquia"; + gpam = "git push acquia main"; + gpap = "git push acquia HEAD:production"; + gpf = "git push --force-with-lease"; + gpfo = "git push --force-with-lease origin"; + gpl = "git pull"; + gplr = "git pull --rebase"; + gpo = "git push origin"; + gpom = "git push origin main"; + gpt = "git push --tags"; + gr = "git rebase"; + gra = "git rebase --abort"; + grc = "git rebase --continue"; + gri = "git rebase -i"; + gs = "git status"; + gsh = "git show"; + gst = "git stash"; + gstp = "git stash pop"; + gt = "git tag"; + + j = "just"; + jb = "just build"; + jt = "just test"; + js = "just switch"; + + # tmux + ta = "tmux attach"; + tl = "tmux list-sessions"; + tk = "tmux kill-session"; + + # Docker and Docker Compose. + dk = "docker"; + dkp = "docker ps"; + dkpa = "docker ps -a"; + dkpaq = "docker ps -a -q"; + dkb = "docker build -t"; + dks = "docker start"; + dkt = "docker stop"; + dkrm = "docker rm"; + dkri = "docker rmi"; + dke = "docker exec -ti"; + dkl = "docker logs -f"; + dki = "docker images"; + dkpu = "docker pull"; + dkph = "docker push"; + dkbnc = "docker build --no-cache -t"; + dkr = "docker run --rm"; + dkrti = "docker run --rm -ti"; + dkc = "docker compose"; + dkcb = "docker compose build"; + dkcu = "docker compose up"; + dkclean = "docker ps -q -a -f status=exited | xargs -r docker rm && docker images -q -f dangling=true | xargs -r docker rmi"; + + # Nix and direnv. + dea = "direnv allow"; + dee = "direnv edit"; + nxf = "nix flake"; + nxfc = "nix flake check"; + nxfs = "nix flake show"; + nxfu = "nix flake update"; + nxr = "nix run nixpkgs#%"; + nxs = "nix shell nixpkgs#%"; + + # run scripts. + r = "run"; + rc = "run composer"; + rcda = "run composer dump-autoload"; + rci = "run composer install"; + rcr = "run composer require"; + rcu = "run composer update"; + rd = "run drush"; + rdce = "run drush config:export -y"; + rdci = "run drush config:import -y"; + rdcr = "run drush cache:rebuild"; + rdscr = "run drush php:script"; + rduli = "run drush uli"; + rdup = "run drush updatedb -y"; + rpub = "run publish"; + rt = "run test"; + + nah = "git reset --hard; git clean -fd"; + wip = "git commit -m wip"; + + dv = "devenv"; + dvi = "devenv info"; + dvp = "devenv processes"; + dvs = "devenv shell"; + dvt = "devenv tasks"; + dvu = "devenv up"; + + c = "composer"; + ci = "composer install"; + cr = "composer require"; + crd = "composer require drupal/%"; + cu = "composer update"; + cul = "composer update --lock"; + cw = "composer why"; + cwn = "composer why-not"; + + d = "drush"; + dce = "drush config:export -y"; + dci = "drush config:import -y"; + dcr = "drush cache:rebuild"; + den = "drush pm:enable -y"; + deu = "drush pm:uninstall"; + dscr = "drush php:script"; + duli = "drush uli"; + dup = "drush updatedb -y"; + + sg = "vendor/bin/sculpin generate"; + sge = "vendor/bin/sculpin generate --env"; + sgs = "vendor/bin/sculpin generate --server"; + sgsp = "vendor/bin/sculpin generate --server --port"; + sgsw = "vendor/bin/sculpin generate --server --watch"; + sgswp = "vendor/bin/sculpin generate --server --watch --port"; + }; +} diff --git a/modules2/zsh/abbreviations/enable.nix b/modules2/zsh/abbreviations/enable.nix new file mode 100644 index 00000000..ae3da6f2 --- /dev/null +++ b/modules2/zsh/abbreviations/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.zsh.zsh-abbr.enable = true; +} diff --git a/modules2/zsh/abbreviations/global-abbreviations.nix b/modules2/zsh/abbreviations/global-abbreviations.nix new file mode 100644 index 00000000..b416083a --- /dev/null +++ b/modules2/zsh/abbreviations/global-abbreviations.nix @@ -0,0 +1,16 @@ +{ + flake.modules.homeManager.base.programs.zsh.zsh-abbr.globalAbbreviations = { + A1 = "| awk '{print $1}'"; + C = "| xclip -sel clip"; + Fj = "| jq ."; + Fy = "| yq ."; + G = "| grep"; + GH = "| grep HTTP"; + Gi = "| grep -i"; + H2 = "| head -n 20"; + H = "| head"; + L = "| less"; + V = "| nvim -"; + X = "| xargs -I1"; + }; +} diff --git a/modules2/zsh/aliases.nix b/modules2/zsh/aliases.nix new file mode 100644 index 00000000..c0902f26 --- /dev/null +++ b/modules2/zsh/aliases.nix @@ -0,0 +1,18 @@ +{ + flake.modules.homeManager.base = + { config, ... }: + { + programs.zsh.shellAliases = { + "$" = ""; + "-" = "cd -"; + ".." = "cd .."; + "..." = "cd ../.."; + "...." = "cd ../../.."; + "....." = "cd ../../../.."; + run = "./run"; + tag = "tag-release"; + vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.adddotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add"; + wt = "git worktree"; + }; + }; +} diff --git a/modules2/zsh/completion.nix b/modules2/zsh/completion.nix new file mode 100644 index 00000000..f9859c29 --- /dev/null +++ b/modules2/zsh/completion.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.zsh.enableCompletion = true; +} diff --git a/modules2/zsh/dot-dir.nix b/modules2/zsh/dot-dir.nix new file mode 100644 index 00000000..407f5ed1 --- /dev/null +++ b/modules2/zsh/dot-dir.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.zsh.dotDir = ".config/zsh"; +} diff --git a/modules2/zsh/enable.nix b/modules2/zsh/enable.nix new file mode 100644 index 00000000..d9319f31 --- /dev/null +++ b/modules2/zsh/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.zsh.enable = true; +} diff --git a/modules/home-manager/zsh/default.nix b/modules2/zsh/init.nix similarity index 69% rename from modules/home-manager/zsh/default.nix rename to modules2/zsh/init.nix index adb0be7c..352d9ff3 100644 --- a/modules/home-manager/zsh/default.nix +++ b/modules2/zsh/init.nix @@ -1,46 +1,8 @@ { - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.cli.zsh; -in -{ - options.features.cli.zsh.enable = mkEnableOption "Enable zsh"; - - config = mkIf cfg.enable { - programs.zsh = { - enable = true; - enableCompletion = true; - syntaxHighlighting.enable = true; - - zsh-abbr = { - enable = true; - - abbreviations = import ./abbreviations.nix; - globalAbbreviations = import ./global-abbreviations.nix; - }; - - dotDir = ".config/zsh"; - - shellAliases = (import ./aliases.nix { inherit config; }); - - localVariables = { - ABBR_SET_EXPANSION_CURSOR = 1; - }; - - profileExtra = '' - if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then - exec startx &>/dev/null - fi - ''; - - initContent = '' + flake.modules.homeManager.base = + { config, pkgs, ... }: + { + programs.zsh.initContent = '' background() { for ((i=2;i<=$#;i++)); do ''${@[1]} ''${@[$i]} &> /dev/null & @@ -115,5 +77,4 @@ in setopt pushdminus ''; }; - }; } diff --git a/modules2/zsh/profile.nix b/modules2/zsh/profile.nix new file mode 100644 index 00000000..318d562c --- /dev/null +++ b/modules2/zsh/profile.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base.programs.zsh.profileExtra = '' + if [[ -z "$DISPLAY" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then + exec startx &>/dev/null + fi + ''; +} diff --git a/modules2/zsh/syntax-highlighting.nix b/modules2/zsh/syntax-highlighting.nix new file mode 100644 index 00000000..0fa884df --- /dev/null +++ b/modules2/zsh/syntax-highlighting.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.zsh.syntaxHighlighting.enable = true; +} diff --git a/modules2/zsh/variables.nix b/modules2/zsh/variables.nix new file mode 100644 index 00000000..886b3ba2 --- /dev/null +++ b/modules2/zsh/variables.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.base.programs.zsh.localVariables = { + ABBR_SET_EXPANSION_CURSOR = 1; + }; +} From 451a624b76599e07997bdb802a3ecb3d6620c24d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 19:38:17 +0100 Subject: [PATCH 2082/2258] hosts: add PW05CH3L Add a NixOS module for the PW05CH3L host, and start to separate `pc` and `workstation` as a lot of `flake.modules.nixos.pc` isn't needed in WSL. This probably won't be the final implementation, but it works for now. --- modules2/home-manager/nixos.nix | 39 ++++++++++++++++------------- modules2/hosts/PW05CH3L/imports.nix | 7 ++++++ modules2/nixos-configurations.nix | 5 +++- modules2/pc.nix | 7 ++++++ modules2/workstation.nix | 3 +++ 5 files changed, 43 insertions(+), 18 deletions(-) create mode 100644 modules2/hosts/PW05CH3L/imports.nix create mode 100644 modules2/pc.nix create mode 100644 modules2/workstation.nix diff --git a/modules2/home-manager/nixos.nix b/modules2/home-manager/nixos.nix index ecfa62e6..129c0a95 100644 --- a/modules2/home-manager/nixos.nix +++ b/modules2/home-manager/nixos.nix @@ -6,28 +6,33 @@ }: { - flake.modules.nixos.pc = { - imports = [ inputs.home-manager.nixosModules.home-manager ]; + flake.modules.nixos = { + workstation = { + imports = [ inputs.home-manager.nixosModules.home-manager ]; - home-manager = { - extraSpecialArgs.hasGlobalPkgs = true; - useGlobalPkgs = true; + home-manager = { + extraSpecialArgs.hasGlobalPkgs = true; + useGlobalPkgs = true; - # https://github.com/nix-community/home-manager/issues/6770 - # useUserPackages = true; + # https://github.com/nix-community/home-manager/issues/6770 + # useUserPackages = true; - users.${config.flake.meta.owner.username}.imports = [ - ( - { osConfig, ... }: + users.${config.flake.meta.owner.username}.imports = [ + ( + { osConfig, ... }: - { - home.stateVersion = lib.mkForce osConfig.system.stateVersion; - } - ) + { + home.stateVersion = lib.mkForce osConfig.system.stateVersion; + } + ) - config.flake.modules.homeManager.base - config.flake.modules.homeManager.gui - ]; + config.flake.modules.homeManager.base + ]; + }; }; + + pc.home-manager.users.${config.flake.meta.owner.username}.imports = [ + config.flake.modules.homeManager.gui + ]; }; } diff --git a/modules2/hosts/PW05CH3L/imports.nix b/modules2/hosts/PW05CH3L/imports.nix new file mode 100644 index 00000000..37ab440e --- /dev/null +++ b/modules2/hosts/PW05CH3L/imports.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos."hosts/PW05CH3L".imports = with config.flake.modules.nixos; [ + workstation + ]; +} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 0121160b..f6fccfdc 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -61,7 +61,10 @@ modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; }; - PW05CH3L = mkNixosConfiguration { hostname = "PW05CH3L"; }; + PW05CH3L = mkNixosConfiguration rec { + hostname = "PW05CH3L"; + modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + }; }; }; } diff --git a/modules2/pc.nix b/modules2/pc.nix new file mode 100644 index 00000000..c68d24fb --- /dev/null +++ b/modules2/pc.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos.pc.imports = with config.flake.modules.nixos; [ + workstation + ]; +} diff --git a/modules2/workstation.nix b/modules2/workstation.nix new file mode 100644 index 00000000..0e4984a3 --- /dev/null +++ b/modules2/workstation.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.workstation = {}; +} From 491aeb0c7e02194cb672495b9f5fa36de1feb286 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 19:38:17 +0100 Subject: [PATCH 2083/2258] tmux-sessionizer: configure paths --- modules2/hosts/PW05CH3L/tmux-sessionizer.nix | 15 +++++++++++ modules2/hosts/t480/tmux-sessionizer.nix | 26 ++++++++++---------- 2 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 modules2/hosts/PW05CH3L/tmux-sessionizer.nix diff --git a/modules2/hosts/PW05CH3L/tmux-sessionizer.nix b/modules2/hosts/PW05CH3L/tmux-sessionizer.nix new file mode 100644 index 00000000..1078b777 --- /dev/null +++ b/modules2/hosts/PW05CH3L/tmux-sessionizer.nix @@ -0,0 +1,15 @@ +{ config, ... }: + +{ + flake.modules.nixos."hosts/PW05CH3L".home-manager.users.${config.flake.meta.owner.username} = + args: { + programs.tmux-sessionizer.searchPaths = + let + inherit (args.config.xdg) userDirs; + in + [ + "${userDirs.extraConfig.XDG_REPOS_DIR}:3" + "${userDirs.documents}:1" + ]; + }; +} diff --git a/modules2/hosts/t480/tmux-sessionizer.nix b/modules2/hosts/t480/tmux-sessionizer.nix index 6439aa65..12d4545a 100644 --- a/modules2/hosts/t480/tmux-sessionizer.nix +++ b/modules2/hosts/t480/tmux-sessionizer.nix @@ -1,15 +1,15 @@ +{ config, ... }: + { - flake.modules.homeManager.base = - { config, ... }: - { - programs.tmux-sessionizer.searchPaths = - let - inherit (config.xdg) userDirs; - in - [ - "${userDirs.extraConfig.XDG_REPOS_DIR}:2" - "${userDirs.documents}:1" - "${config.home.homeDirectory}/tmp" - ]; - }; + flake.modules.nixos."hosts/t480".home-manager.users.${config.flake.meta.owner.username} = args: { + programs.tmux-sessionizer.searchPaths = + let + inherit (args.config.xdg) userDirs; + in + [ + "${userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${userDirs.documents}:1" + "${args.config.home.homeDirectory}/tmp" + ]; + }; } From 48b88ff3ca0d2bc8c89599984f8e93730affdbd3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 19:38:17 +0100 Subject: [PATCH 2084/2258] Refactor --- modules2/hosts/PW05CH3L/imports.nix | 2 +- modules2/hosts/PW05CH3L/tmux-sessionizer.nix | 2 +- modules2/hosts/lemp11/imports.nix | 2 +- modules2/hosts/t480/imports.nix | 2 +- modules2/hosts/t480/tmux-sessionizer.nix | 2 +- modules2/hosts/t490/imports.nix | 2 +- modules2/nixos-configurations.nix | 8 ++++---- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules2/hosts/PW05CH3L/imports.nix b/modules2/hosts/PW05CH3L/imports.nix index 37ab440e..00d11197 100644 --- a/modules2/hosts/PW05CH3L/imports.nix +++ b/modules2/hosts/PW05CH3L/imports.nix @@ -1,7 +1,7 @@ { config, ... }: { - flake.modules.nixos."hosts/PW05CH3L".imports = with config.flake.modules.nixos; [ + flake.modules.nixos."nixosConfigurations/PW05CH3L".imports = with config.flake.modules.nixos; [ workstation ]; } diff --git a/modules2/hosts/PW05CH3L/tmux-sessionizer.nix b/modules2/hosts/PW05CH3L/tmux-sessionizer.nix index 1078b777..ee17711d 100644 --- a/modules2/hosts/PW05CH3L/tmux-sessionizer.nix +++ b/modules2/hosts/PW05CH3L/tmux-sessionizer.nix @@ -1,7 +1,7 @@ { config, ... }: { - flake.modules.nixos."hosts/PW05CH3L".home-manager.users.${config.flake.meta.owner.username} = + flake.modules.nixos."nixosConfigurations/PW05CH3L".home-manager.users.${config.flake.meta.owner.username} = args: { programs.tmux-sessionizer.searchPaths = let diff --git a/modules2/hosts/lemp11/imports.nix b/modules2/hosts/lemp11/imports.nix index 3b832d67..20958001 100644 --- a/modules2/hosts/lemp11/imports.nix +++ b/modules2/hosts/lemp11/imports.nix @@ -1,7 +1,7 @@ { config, ... }: { - flake.modules.nixos."hosts/lemp11".imports = with config.flake.modules.nixos; [ + flake.modules.nixos."nixosConfigurations/lemp11".imports = with config.flake.modules.nixos; [ pc ]; } diff --git a/modules2/hosts/t480/imports.nix b/modules2/hosts/t480/imports.nix index 99e72a01..58d63476 100644 --- a/modules2/hosts/t480/imports.nix +++ b/modules2/hosts/t480/imports.nix @@ -1,7 +1,7 @@ { config, ... }: { - flake.modules.nixos."hosts/t480".imports = with config.flake.modules.nixos; [ + flake.modules.nixos."nixosConfigurations/t480".imports = with config.flake.modules.nixos; [ pc ]; } diff --git a/modules2/hosts/t480/tmux-sessionizer.nix b/modules2/hosts/t480/tmux-sessionizer.nix index 12d4545a..4dcb0f45 100644 --- a/modules2/hosts/t480/tmux-sessionizer.nix +++ b/modules2/hosts/t480/tmux-sessionizer.nix @@ -1,7 +1,7 @@ { config, ... }: { - flake.modules.nixos."hosts/t480".home-manager.users.${config.flake.meta.owner.username} = args: { + flake.modules.nixos."nixosConfigurations/t480".home-manager.users.${config.flake.meta.owner.username} = args: { programs.tmux-sessionizer.searchPaths = let inherit (args.config.xdg) userDirs; diff --git a/modules2/hosts/t490/imports.nix b/modules2/hosts/t490/imports.nix index 80ce1936..f7afa2ed 100644 --- a/modules2/hosts/t490/imports.nix +++ b/modules2/hosts/t490/imports.nix @@ -1,7 +1,7 @@ { config, ... }: { - flake.modules.nixos."hosts/t490".imports = with config.flake.modules.nixos; [ + flake.modules.nixos."nixosConfigurations/t490".imports = with config.flake.modules.nixos; [ pc ]; } diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index f6fccfdc..3daa39dc 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -41,7 +41,7 @@ lemp11 = mkNixosConfiguration rec { hostname = "lemp11"; - modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; nixedo = mkNixosConfiguration { @@ -52,18 +52,18 @@ t480 = mkNixosConfiguration rec { hostname = "t480"; - modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; t490 = mkNixosConfiguration rec { hostname = "t490"; - modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; PW05CH3L = mkNixosConfiguration rec { hostname = "PW05CH3L"; - modules = [ config.flake.modules.nixos."hosts/${hostname}" ]; + modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; }; }; From 88fa3eb0fda28119100270d15b307a0f10d738f1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 19:38:17 +0100 Subject: [PATCH 2085/2258] nixvim: enable language servers --- modules2/nixvim/plugins/lsp/bash.nix | 3 +++ modules2/nixvim/plugins/lsp/css.nix | 6 ++++++ modules2/nixvim/plugins/lsp/go.nix | 3 +++ modules2/nixvim/plugins/lsp/html.nix | 3 +++ modules2/nixvim/plugins/lsp/javascript.nix | 6 ++++++ modules2/nixvim/plugins/lsp/lua.nix | 3 +++ modules2/nixvim/plugins/lsp/nix.nix | 3 +++ modules2/nixvim/plugins/lsp/php.nix | 3 +++ 8 files changed, 30 insertions(+) create mode 100644 modules2/nixvim/plugins/lsp/bash.nix create mode 100644 modules2/nixvim/plugins/lsp/css.nix create mode 100644 modules2/nixvim/plugins/lsp/go.nix create mode 100644 modules2/nixvim/plugins/lsp/html.nix create mode 100644 modules2/nixvim/plugins/lsp/javascript.nix create mode 100644 modules2/nixvim/plugins/lsp/lua.nix create mode 100644 modules2/nixvim/plugins/lsp/nix.nix create mode 100644 modules2/nixvim/plugins/lsp/php.nix diff --git a/modules2/nixvim/plugins/lsp/bash.nix b/modules2/nixvim/plugins/lsp/bash.nix new file mode 100644 index 00000000..5b4fe0d7 --- /dev/null +++ b/modules2/nixvim/plugins/lsp/bash.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.lsp.servers.bashls.enable = true; +} diff --git a/modules2/nixvim/plugins/lsp/css.nix b/modules2/nixvim/plugins/lsp/css.nix new file mode 100644 index 00000000..df60f599 --- /dev/null +++ b/modules2/nixvim/plugins/lsp/css.nix @@ -0,0 +1,6 @@ +{ + flake.modules.nixvim.custom.lsp.servers = { + cssls.enable = true; + tailwindcss.enable = true; + }; +} diff --git a/modules2/nixvim/plugins/lsp/go.nix b/modules2/nixvim/plugins/lsp/go.nix new file mode 100644 index 00000000..56dd395b --- /dev/null +++ b/modules2/nixvim/plugins/lsp/go.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.lsp.servers.gopls.enable = true; +} diff --git a/modules2/nixvim/plugins/lsp/html.nix b/modules2/nixvim/plugins/lsp/html.nix new file mode 100644 index 00000000..6cc1f44e --- /dev/null +++ b/modules2/nixvim/plugins/lsp/html.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.lsp.servers.html.enable = true; +} diff --git a/modules2/nixvim/plugins/lsp/javascript.nix b/modules2/nixvim/plugins/lsp/javascript.nix new file mode 100644 index 00000000..148adb94 --- /dev/null +++ b/modules2/nixvim/plugins/lsp/javascript.nix @@ -0,0 +1,6 @@ +{ + flake.modules.nixvim.custom.plugins = { + lsp.servers.eslint.enable = true; + typescript-tools.enable = true; + }; +} diff --git a/modules2/nixvim/plugins/lsp/lua.nix b/modules2/nixvim/plugins/lsp/lua.nix new file mode 100644 index 00000000..7fb31f17 --- /dev/null +++ b/modules2/nixvim/plugins/lsp/lua.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.lsp.servers.lua_ls.enable = true; +} diff --git a/modules2/nixvim/plugins/lsp/nix.nix b/modules2/nixvim/plugins/lsp/nix.nix new file mode 100644 index 00000000..a3e698cd --- /dev/null +++ b/modules2/nixvim/plugins/lsp/nix.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.lsp.servers.nixd.enable = true; +} diff --git a/modules2/nixvim/plugins/lsp/php.nix b/modules2/nixvim/plugins/lsp/php.nix new file mode 100644 index 00000000..6a22484a --- /dev/null +++ b/modules2/nixvim/plugins/lsp/php.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixvim.custom.lsp.servers.phpactor.enable = true; +} From 4eead1485f228e207f33d4b7f1efb7b8c6420a5a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 19:38:17 +0100 Subject: [PATCH 2086/2258] Refactor inputs --- flake.nix | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/flake.nix b/flake.nix index b1f87d95..16e43387 100644 --- a/flake.nix +++ b/flake.nix @@ -1,47 +1,35 @@ { inputs = { - agenix = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:ryantm/agenix"; - }; + agenix.inputs.nixpkgs.follows = "nixpkgs"; + agenix.url = "github:ryantm/agenix"; - disko = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/disko"; - }; + disko.inputs.nixpkgs.follows = "nixpkgs"; + disko.url = "github:nix-community/disko"; flake-parts.url = "github:hercules-ci/flake-parts"; - home-manager = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/home-manager/master"; - }; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager/master"; import-tree.url = "github:vic/import-tree"; - nix-index-database = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/nix-index-database"; - }; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + nix-index-database.url = "github:nix-community/nix-index-database"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - nixvim = { - inputs.flake-parts.follows = "flake-parts"; - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/nixvim"; - }; + nixvim.inputs.flake-parts.follows = "flake-parts"; + nixvim.inputs.nixpkgs.follows = "nixpkgs"; + nixvim.url = "github:nix-community/nixvim"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nur = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:nix-community/NUR"; - }; + nur.inputs.nixpkgs.follows = "nixpkgs"; + nur.url = "github:nix-community/NUR"; }; outputs = From dbf5bde36b53597d7e286ea664eb785f52bd5c67 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 19:14:46 +0100 Subject: [PATCH 2087/2258] Refactor --- modules2/nixvim/plugins/{ => completion}/cmp.nix | 0 modules2/nixvim/plugins/{ => completion}/luasnip.nix | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename modules2/nixvim/plugins/{ => completion}/cmp.nix (100%) rename modules2/nixvim/plugins/{ => completion}/luasnip.nix (100%) diff --git a/modules2/nixvim/plugins/cmp.nix b/modules2/nixvim/plugins/completion/cmp.nix similarity index 100% rename from modules2/nixvim/plugins/cmp.nix rename to modules2/nixvim/plugins/completion/cmp.nix diff --git a/modules2/nixvim/plugins/luasnip.nix b/modules2/nixvim/plugins/completion/luasnip.nix similarity index 100% rename from modules2/nixvim/plugins/luasnip.nix rename to modules2/nixvim/plugins/completion/luasnip.nix From 4ac31540af6bd3a1ae6f96df2df9787dd4542080 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 20:11:50 +0100 Subject: [PATCH 2088/2258] Re-add luasnip snippets --- .../nixvim/plugins/completion/luasnip.nix | 15 ++- .../completion/snippets/javascript.lua | 3 + .../plugins/completion/snippets/lua.lua | 13 ++ .../plugins/completion/snippets/nix.lua | 111 ++++++++++++++++++ .../plugins/completion/snippets/php.lua | 55 +++++++++ .../plugins/completion/snippets/rst.lua | 54 +++++++++ .../plugins/completion/snippets/twig.lua | 19 +++ 7 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 modules2/nixvim/plugins/completion/snippets/javascript.lua create mode 100644 modules2/nixvim/plugins/completion/snippets/lua.lua create mode 100644 modules2/nixvim/plugins/completion/snippets/nix.lua create mode 100644 modules2/nixvim/plugins/completion/snippets/php.lua create mode 100644 modules2/nixvim/plugins/completion/snippets/rst.lua create mode 100644 modules2/nixvim/plugins/completion/snippets/twig.lua diff --git a/modules2/nixvim/plugins/completion/luasnip.nix b/modules2/nixvim/plugins/completion/luasnip.nix index bec75392..5b91c029 100644 --- a/modules2/nixvim/plugins/completion/luasnip.nix +++ b/modules2/nixvim/plugins/completion/luasnip.nix @@ -1,3 +1,16 @@ { - flake.modules.nixvim.custom.plugins.luasnip.enable = true; + flake.modules.nixvim.custom.plugins = { + cmp_luasnip.enable = true; + + luasnip = { + enable = true; + + fromLua = [ + { + lazyLoad = true; + paths = ./snippets; + } + ]; + }; + }; } diff --git a/modules2/nixvim/plugins/completion/snippets/javascript.lua b/modules2/nixvim/plugins/completion/snippets/javascript.lua new file mode 100644 index 00000000..4cfb491e --- /dev/null +++ b/modules2/nixvim/plugins/completion/snippets/javascript.lua @@ -0,0 +1,3 @@ +return { + s("log", fmta("console.log(<>);", { i(1, "value") })), +} diff --git a/modules2/nixvim/plugins/completion/snippets/lua.lua b/modules2/nixvim/plugins/completion/snippets/lua.lua new file mode 100644 index 00000000..31406fe7 --- /dev/null +++ b/modules2/nixvim/plugins/completion/snippets/lua.lua @@ -0,0 +1,13 @@ +return { + s( + "req", + fmt([[local {} = require "{}"]], { + f(function(import_name) + local parts = vim.split(import_name[1][1], ".", true) + + return parts[#parts] or "" + end, { 1 }), + i(1), + }) + ) +} diff --git a/modules2/nixvim/plugins/completion/snippets/nix.lua b/modules2/nixvim/plugins/completion/snippets/nix.lua new file mode 100644 index 00000000..8e454963 --- /dev/null +++ b/modules2/nixvim/plugins/completion/snippets/nix.lua @@ -0,0 +1,111 @@ +return { + s("home_packages", fmta("home.packages = with pkgs; [ <> ];", i(0))), + + s( + "homepage_options", + fmta( + [[ + homepage.name = mkOption { + default = "<name>"; + type = types.str; + }; + + homepage.description = mkOption { + default = "<description>"; + type = types.str; + }; + + homepage.icon = mkOption { + default = "<icon>"; + type = types.str; + }; + + homepage.category = mkOption { + default = "<finish>"; + type = types.str; + }; + ]], + { + description = i(2), + finish = i(0), + icon = i(3), + name = i(1), + } + ) + ), + + s( + "imports", + fmta( + [[ + { + imports = [ + <> + ]; + } + ]], + { i(0) } + ) + ), + + s( + "new_flake", + fmta( + [[ + { + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";<inputs> + }; + + outputs = + { nixpkgs, ... }: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + + inherit (pkgs) mkShell; + in + { + devShells.${system}.default = mkShell { + packages = with pkgs; [ <pkgs> ]; + };<finish> + + formatter.${system} = pkgs.nixfmt-classic; + }; + } + ]], + { inputs = i(1), pkgs = i(2), finish = i(0) } + ) + ), + s( + "new_module", + fmta( + [[ + { config, lib, ... }: + + let + name = "<name>"; + cfg = config.<namespace>.${name}; + in + { + options.<namespace>.${name} = { + enable = lib.mkEnableOption "Enable ${name}";<more_options> + }; + + config = lib.mkIf cfg.enable { + <finish> + }; + } + ]], + { + finish = i(0), + more_options = i(3), + name = i(1), + namespace = i(2), + }, + { repeat_duplicates = true } + ) + ), + + s("system_packages", fmta("environment.systemPackages = with pkgs; [<>];", i(0))), +} diff --git a/modules2/nixvim/plugins/completion/snippets/php.lua b/modules2/nixvim/plugins/completion/snippets/php.lua new file mode 100644 index 00000000..eeb9f5d9 --- /dev/null +++ b/modules2/nixvim/plugins/completion/snippets/php.lua @@ -0,0 +1,55 @@ +return { + s("func", fmta("function <>(<>)<> {\n <>\n}<>", { i(1), i(2), i(3), i(4), i(0) })), + + s( + "met", + fmta( + [[ + <> function <>(<>)<> { + <> + }<> + ]], + { c(1, { t "public", t "protected", t "private" }), i(2), i(3), i(4), i(5), i(0) } + ) + ), + + s("pest", fmta("<>('<>', function() {\n <>\n});", { c(1, { t "it", t "test" }), i(2), i(0) })), + + s( + "test", + fmta( + [[ + public function test<>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ) + ), + + s( + "testan", + fmta( + [[ + /** @test */ + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ) + ), + + s( + "testat", + fmta( + [[ + [#Test] + public function <>(): void { + <> + }<> + ]], + { i(1), i(2), i(0) } + ) + ) +} diff --git a/modules2/nixvim/plugins/completion/snippets/rst.lua b/modules2/nixvim/plugins/completion/snippets/rst.lua new file mode 100644 index 00000000..7964a542 --- /dev/null +++ b/modules2/nixvim/plugins/completion/snippets/rst.lua @@ -0,0 +1,54 @@ +local fmta = require("luasnip.extras.fmt").fmta + +local fill_line = function(char) + return function() + local row = vim.api.nvim_win_get_cursor(0)[1] + local lines = vim.api.nvim_buf_get_lines(0, row - 2, row, false) + return string.rep(char, #lines[1]) + end +end + +return { + s("class", t(".. class:: ", i(1))), + + s("footer", t(".. footer:: ", i(1))), + + s("link", t(".. _", i(1), ":")), + + s("raw", t(".. raw:: ", i(1))), + + -- TODO: add an optional new line and ":width" property. + s("image", t(".. image:: ", i(1))), + + s("head", f(fill_line "=", {})), + + s("sub", f(fill_line "-", {})), + + s("subsub", f(fill_line "^", {})), + + -- Add a page break with an optional page template. + s( + "pb", + fmta( + [[ + .. raw:: pdf + + PageBreak<> + ]], + { i(0) } + ) + ), + + -- Add a new speaker note. + s( + "ta", + fmta( + [[ + .. raw:: pdf + + TextAnnotation "<>" + ]], + { i(0) } + ) + ), +} diff --git a/modules2/nixvim/plugins/completion/snippets/twig.lua b/modules2/nixvim/plugins/completion/snippets/twig.lua new file mode 100644 index 00000000..a787a544 --- /dev/null +++ b/modules2/nixvim/plugins/completion/snippets/twig.lua @@ -0,0 +1,19 @@ +return { + s("do", fmta("{% <> %}<>", { i(1), i(0) })), + s("dump", fmta("{{ dump(<>) }}<>", { i(1), i(0) })), + s("echo", fmta("{{ <> }}<>", { i(1), i(0) })), + + s( + "for", + fmta( + [[ + {% for <> in <> %} + <> + {% endfor %}<> + ]], + { i(1), i(2), i(3), i(0) } + ) + ), + + s("if", fmta("{% if <> %}<>{% endif %}<>", { i(1), i(2), i(0) })), +} From 51316410231cea9e0aac2118df9ba3720b2d97c9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 23:36:48 +0100 Subject: [PATCH 2089/2258] refactor: explicitly allow unfree packages --- hosts/common/default.nix | 2 -- hosts/common/home.nix | 2 -- hosts/t480/configuration.nix | 2 -- modules2/browsers/librewolf/extensions.nix | 1 - modules2/games/steam.nix | 5 ++++ modules2/hosts/t480/open-webui.nix | 2 ++ modules2/hosts/t480/slack.nix | 9 +++++++ modules2/hosts/t480/zoom.nix | 9 +++++++ modules2/makemkv.nix | 2 ++ modules2/meta-output.nix | 7 ++++++ modules2/unfree-packages.nix | 26 ++++++++++++++++++++ modules2/zsh/abbreviations/abbreviations.nix | 4 +++ 12 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 modules2/hosts/t480/slack.nix create mode 100644 modules2/hosts/t480/zoom.nix create mode 100644 modules2/meta-output.nix create mode 100644 modules2/unfree-packages.nix diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 36a5f420..210fa830 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -66,8 +66,6 @@ nixpkgs = { config = { - allowUnfree = true; - permittedInsecurePackages = [ "electron-27.3.11" ]; }; diff --git a/hosts/common/home.nix b/hosts/common/home.nix index 23426d12..1f67d1e1 100644 --- a/hosts/common/home.nix +++ b/hosts/common/home.nix @@ -9,8 +9,6 @@ let pkgs = import inputs.nixpkgs { inherit system; - config.allowUnfree = true; - overlays = [ outputs.overlays.additions outputs.overlays.stable-packages diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 90f3f4ea..6fcb1142 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -89,7 +89,6 @@ peek pmutils shotwell - slack stable.gscan2pdf sxiv tailscale @@ -97,6 +96,5 @@ xcape xsel yt-dlp - zoom-us ]; } diff --git a/modules2/browsers/librewolf/extensions.nix b/modules2/browsers/librewolf/extensions.nix index 3e7f7600..43e0fb83 100644 --- a/modules2/browsers/librewolf/extensions.nix +++ b/modules2/browsers/librewolf/extensions.nix @@ -7,7 +7,6 @@ awesome-rss bitwarden darkreader - onetab tree-style-tab ublock-origin videospeed diff --git a/modules2/games/steam.nix b/modules2/games/steam.nix index 2fe1e902..b87865eb 100644 --- a/modules2/games/steam.nix +++ b/modules2/games/steam.nix @@ -1,3 +1,8 @@ { + nixpkgs.allowedUnfreePackages = [ + "steam" + "steam-unwrapped" + ]; + flake.modules.nixos.pc.programs.steam.enable = true; } diff --git a/modules2/hosts/t480/open-webui.nix b/modules2/hosts/t480/open-webui.nix index f0bbfd77..3da64e9e 100644 --- a/modules2/hosts/t480/open-webui.nix +++ b/modules2/hosts/t480/open-webui.nix @@ -1,3 +1,5 @@ { + nixpkgs.allowedUnfreePackages = [ "open-webui" ]; + flake.modules.nixos.pc.services.open-webui.enable = true; } diff --git a/modules2/hosts/t480/slack.nix b/modules2/hosts/t480/slack.nix new file mode 100644 index 00000000..57965016 --- /dev/null +++ b/modules2/hosts/t480/slack.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixos."nixosConfigurations/t480" = + { config, pkgs, ... }: + { + nixpkgs.allowedUnfreePackages = [ "slack" ]; + + users.users."${config.flake.meta.owner.username}".packages = [ pkgs.slack ]; + }; +} diff --git a/modules2/hosts/t480/zoom.nix b/modules2/hosts/t480/zoom.nix new file mode 100644 index 00000000..f86267a1 --- /dev/null +++ b/modules2/hosts/t480/zoom.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixos."nixosConfigurations/t480" = + { config, pkgs, ... }: + { + nixpkgs.allowedUnfreePackages = [ "zoom-us" ]; + + users.users."${config.flake.meta.owner.username}".packages = [ pkgs.zoom-us ]; + }; +} diff --git a/modules2/makemkv.nix b/modules2/makemkv.nix index 9e6912a8..1eb53a2d 100644 --- a/modules2/makemkv.nix +++ b/modules2/makemkv.nix @@ -1,6 +1,8 @@ { config, ... }: { + nixpkgs.allowedUnfreePackages = [ "makemkv" ]; + flake.modules.nixos.pc = { pkgs, ... }: { diff --git a/modules2/meta-output.nix b/modules2/meta-output.nix new file mode 100644 index 00000000..dbf69e5d --- /dev/null +++ b/modules2/meta-output.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + options.flake.meta = lib.mkOption { + type = lib.types.anything; + }; +} diff --git a/modules2/unfree-packages.nix b/modules2/unfree-packages.nix new file mode 100644 index 00000000..014f6055 --- /dev/null +++ b/modules2/unfree-packages.nix @@ -0,0 +1,26 @@ +{ config, lib, ... }: + +{ + options.nixpkgs.allowedUnfreePackages = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + }; + + config.flake = { + modules = + let + predicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfreePackages; + in + { + nixos.pc.nixpkgs.config.allowUnfreePredicate = predicate; + + homeManager.base = args: { + nixpkgs.config = lib.mkIf (!(args.hasGlobalPkgs or false)) { + allowUnfreePredicate = predicate; + }; + }; + }; + + meta.nixpkgs.allowedUnfreePackages = config.nixpkgs.allowedUnfreePackages; + }; +} diff --git a/modules2/zsh/abbreviations/abbreviations.nix b/modules2/zsh/abbreviations/abbreviations.nix index 84610472..ed1fba0c 100644 --- a/modules2/zsh/abbreviations/abbreviations.nix +++ b/modules2/zsh/abbreviations/abbreviations.nix @@ -1,4 +1,8 @@ { + nixpkgs.allowedUnfreePackages = [ + "zsh-abbr" + ]; + flake.modules.homeManager.base.programs.zsh.zsh-abbr.abbreviations = { cl = "clear"; cs = "create-script"; From d818f3a2d78fa97438df8514a311af44a7945894 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 23:47:15 +0100 Subject: [PATCH 2090/2258] Revert "refactor: explicitly allow unfree packages" This reverts commit 51316410231cea9e0aac2118df9ba3720b2d97c9. --- hosts/common/default.nix | 2 ++ hosts/common/home.nix | 2 ++ hosts/t480/configuration.nix | 2 ++ modules2/browsers/librewolf/extensions.nix | 1 + modules2/games/steam.nix | 5 ---- modules2/hosts/t480/open-webui.nix | 2 -- modules2/hosts/t480/slack.nix | 9 ------- modules2/hosts/t480/zoom.nix | 9 ------- modules2/makemkv.nix | 2 -- modules2/meta-output.nix | 7 ------ modules2/unfree-packages.nix | 26 -------------------- modules2/zsh/abbreviations/abbreviations.nix | 4 --- 12 files changed, 7 insertions(+), 64 deletions(-) delete mode 100644 modules2/hosts/t480/slack.nix delete mode 100644 modules2/hosts/t480/zoom.nix delete mode 100644 modules2/meta-output.nix delete mode 100644 modules2/unfree-packages.nix diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 210fa830..36a5f420 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -66,6 +66,8 @@ nixpkgs = { config = { + allowUnfree = true; + permittedInsecurePackages = [ "electron-27.3.11" ]; }; diff --git a/hosts/common/home.nix b/hosts/common/home.nix index 1f67d1e1..23426d12 100644 --- a/hosts/common/home.nix +++ b/hosts/common/home.nix @@ -9,6 +9,8 @@ let pkgs = import inputs.nixpkgs { inherit system; + config.allowUnfree = true; + overlays = [ outputs.overlays.additions outputs.overlays.stable-packages diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 6fcb1142..90f3f4ea 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -89,6 +89,7 @@ peek pmutils shotwell + slack stable.gscan2pdf sxiv tailscale @@ -96,5 +97,6 @@ xcape xsel yt-dlp + zoom-us ]; } diff --git a/modules2/browsers/librewolf/extensions.nix b/modules2/browsers/librewolf/extensions.nix index 43e0fb83..3e7f7600 100644 --- a/modules2/browsers/librewolf/extensions.nix +++ b/modules2/browsers/librewolf/extensions.nix @@ -7,6 +7,7 @@ awesome-rss bitwarden darkreader + onetab tree-style-tab ublock-origin videospeed diff --git a/modules2/games/steam.nix b/modules2/games/steam.nix index b87865eb..2fe1e902 100644 --- a/modules2/games/steam.nix +++ b/modules2/games/steam.nix @@ -1,8 +1,3 @@ { - nixpkgs.allowedUnfreePackages = [ - "steam" - "steam-unwrapped" - ]; - flake.modules.nixos.pc.programs.steam.enable = true; } diff --git a/modules2/hosts/t480/open-webui.nix b/modules2/hosts/t480/open-webui.nix index 3da64e9e..f0bbfd77 100644 --- a/modules2/hosts/t480/open-webui.nix +++ b/modules2/hosts/t480/open-webui.nix @@ -1,5 +1,3 @@ { - nixpkgs.allowedUnfreePackages = [ "open-webui" ]; - flake.modules.nixos.pc.services.open-webui.enable = true; } diff --git a/modules2/hosts/t480/slack.nix b/modules2/hosts/t480/slack.nix deleted file mode 100644 index 57965016..00000000 --- a/modules2/hosts/t480/slack.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - flake.modules.nixos."nixosConfigurations/t480" = - { config, pkgs, ... }: - { - nixpkgs.allowedUnfreePackages = [ "slack" ]; - - users.users."${config.flake.meta.owner.username}".packages = [ pkgs.slack ]; - }; -} diff --git a/modules2/hosts/t480/zoom.nix b/modules2/hosts/t480/zoom.nix deleted file mode 100644 index f86267a1..00000000 --- a/modules2/hosts/t480/zoom.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - flake.modules.nixos."nixosConfigurations/t480" = - { config, pkgs, ... }: - { - nixpkgs.allowedUnfreePackages = [ "zoom-us" ]; - - users.users."${config.flake.meta.owner.username}".packages = [ pkgs.zoom-us ]; - }; -} diff --git a/modules2/makemkv.nix b/modules2/makemkv.nix index 1eb53a2d..9e6912a8 100644 --- a/modules2/makemkv.nix +++ b/modules2/makemkv.nix @@ -1,8 +1,6 @@ { config, ... }: { - nixpkgs.allowedUnfreePackages = [ "makemkv" ]; - flake.modules.nixos.pc = { pkgs, ... }: { diff --git a/modules2/meta-output.nix b/modules2/meta-output.nix deleted file mode 100644 index dbf69e5d..00000000 --- a/modules2/meta-output.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ lib, ... }: - -{ - options.flake.meta = lib.mkOption { - type = lib.types.anything; - }; -} diff --git a/modules2/unfree-packages.nix b/modules2/unfree-packages.nix deleted file mode 100644 index 014f6055..00000000 --- a/modules2/unfree-packages.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, lib, ... }: - -{ - options.nixpkgs.allowedUnfreePackages = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - }; - - config.flake = { - modules = - let - predicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfreePackages; - in - { - nixos.pc.nixpkgs.config.allowUnfreePredicate = predicate; - - homeManager.base = args: { - nixpkgs.config = lib.mkIf (!(args.hasGlobalPkgs or false)) { - allowUnfreePredicate = predicate; - }; - }; - }; - - meta.nixpkgs.allowedUnfreePackages = config.nixpkgs.allowedUnfreePackages; - }; -} diff --git a/modules2/zsh/abbreviations/abbreviations.nix b/modules2/zsh/abbreviations/abbreviations.nix index ed1fba0c..84610472 100644 --- a/modules2/zsh/abbreviations/abbreviations.nix +++ b/modules2/zsh/abbreviations/abbreviations.nix @@ -1,8 +1,4 @@ { - nixpkgs.allowedUnfreePackages = [ - "zsh-abbr" - ]; - flake.modules.homeManager.base.programs.zsh.zsh-abbr.abbreviations = { cl = "clear"; cs = "create-script"; From 4d470acfad029fceb2776f500c982c36be34efe3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 28 Jul 2025 23:52:12 +0100 Subject: [PATCH 2091/2258] Enable nh --- justfile | 5 ++--- modules2/nix/utils.nix | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 modules2/nix/utils.nix diff --git a/justfile b/justfile index a5e93ac4..1e028c6c 100644 --- a/justfile +++ b/justfile @@ -13,8 +13,7 @@ check: nix flake check clean: - nix store optimise --verbose - nix store gc --verbose + nh clean all collect-garbage: nix-collect-garbage -d @@ -33,4 +32,4 @@ update: nix flake update _nixos command *args: - sudo nixos-rebuild {{ command }} --flake . {{ args }} + nh os {{ command }} . {{ args }} diff --git a/modules2/nix/utils.nix b/modules2/nix/utils.nix new file mode 100644 index 00000000..9793b4b8 --- /dev/null +++ b/modules2/nix/utils.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.nh.enable = true; +} From 99484c61947148b86521ff7067d6498dde40bac2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 00:39:34 +0100 Subject: [PATCH 2092/2258] refactor: explicitly allow unfree packages --- hosts/common/default.nix | 20 +++++---------- hosts/common/home.nix | 2 -- hosts/t480/configuration.nix | 2 -- modules2/browsers/librewolf/extensions.nix | 1 - modules2/games/steam.nix | 5 ++++ modules2/hosts/t480/open-webui.nix | 2 ++ modules2/hosts/t480/slack.nix | 11 +++++++++ modules2/hosts/t480/zoom.nix | 11 +++++++++ modules2/makemkv.nix | 2 ++ modules2/meta-output.nix | 7 ++++++ modules2/unfree-packages.nix | 26 ++++++++++++++++++++ modules2/zsh/abbreviations/abbreviations.nix | 4 +++ 12 files changed, 74 insertions(+), 19 deletions(-) create mode 100644 modules2/hosts/t480/slack.nix create mode 100644 modules2/hosts/t480/zoom.nix create mode 100644 modules2/meta-output.nix create mode 100644 modules2/unfree-packages.nix diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 36a5f420..a3caefd7 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -64,21 +64,13 @@ users."${username}" = import ./home.nix; }; - nixpkgs = { - config = { - allowUnfree = true; + nixpkgs.overlays = [ + inputs.nur.overlays.default - permittedInsecurePackages = [ "electron-27.3.11" ]; - }; - - overlays = [ - inputs.nur.overlays.default - - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - ]; - }; + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.stable-packages + ]; nix.extraOptions = '' trusted-users = root ${username} diff --git a/hosts/common/home.nix b/hosts/common/home.nix index 23426d12..1f67d1e1 100644 --- a/hosts/common/home.nix +++ b/hosts/common/home.nix @@ -9,8 +9,6 @@ let pkgs = import inputs.nixpkgs { inherit system; - config.allowUnfree = true; - overlays = [ outputs.overlays.additions outputs.overlays.stable-packages diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 90f3f4ea..6fcb1142 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -89,7 +89,6 @@ peek pmutils shotwell - slack stable.gscan2pdf sxiv tailscale @@ -97,6 +96,5 @@ xcape xsel yt-dlp - zoom-us ]; } diff --git a/modules2/browsers/librewolf/extensions.nix b/modules2/browsers/librewolf/extensions.nix index 3e7f7600..43e0fb83 100644 --- a/modules2/browsers/librewolf/extensions.nix +++ b/modules2/browsers/librewolf/extensions.nix @@ -7,7 +7,6 @@ awesome-rss bitwarden darkreader - onetab tree-style-tab ublock-origin videospeed diff --git a/modules2/games/steam.nix b/modules2/games/steam.nix index 2fe1e902..b87865eb 100644 --- a/modules2/games/steam.nix +++ b/modules2/games/steam.nix @@ -1,3 +1,8 @@ { + nixpkgs.allowedUnfreePackages = [ + "steam" + "steam-unwrapped" + ]; + flake.modules.nixos.pc.programs.steam.enable = true; } diff --git a/modules2/hosts/t480/open-webui.nix b/modules2/hosts/t480/open-webui.nix index f0bbfd77..3da64e9e 100644 --- a/modules2/hosts/t480/open-webui.nix +++ b/modules2/hosts/t480/open-webui.nix @@ -1,3 +1,5 @@ { + nixpkgs.allowedUnfreePackages = [ "open-webui" ]; + flake.modules.nixos.pc.services.open-webui.enable = true; } diff --git a/modules2/hosts/t480/slack.nix b/modules2/hosts/t480/slack.nix new file mode 100644 index 00000000..97286f66 --- /dev/null +++ b/modules2/hosts/t480/slack.nix @@ -0,0 +1,11 @@ +{ config, ... }: + +{ + nixpkgs.allowedUnfreePackages = [ "slack" ]; + + flake.modules.nixos."nixosConfigurations/t480" = + { pkgs, ... }: + { + users.users."${config.flake.meta.owner.username}".packages = [ pkgs.slack ]; + }; +} diff --git a/modules2/hosts/t480/zoom.nix b/modules2/hosts/t480/zoom.nix new file mode 100644 index 00000000..6e8251c2 --- /dev/null +++ b/modules2/hosts/t480/zoom.nix @@ -0,0 +1,11 @@ +{ config, ... }: + +{ + nixpkgs.allowedUnfreePackages = [ "zoom" ]; + + flake.modules.nixos."nixosConfigurations/t480" = + { pkgs, ... }: + { + users.users."${config.flake.meta.owner.username}".packages = [ pkgs.zoom-us ]; + }; +} diff --git a/modules2/makemkv.nix b/modules2/makemkv.nix index 9e6912a8..1eb53a2d 100644 --- a/modules2/makemkv.nix +++ b/modules2/makemkv.nix @@ -1,6 +1,8 @@ { config, ... }: { + nixpkgs.allowedUnfreePackages = [ "makemkv" ]; + flake.modules.nixos.pc = { pkgs, ... }: { diff --git a/modules2/meta-output.nix b/modules2/meta-output.nix new file mode 100644 index 00000000..dbf69e5d --- /dev/null +++ b/modules2/meta-output.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + options.flake.meta = lib.mkOption { + type = lib.types.anything; + }; +} diff --git a/modules2/unfree-packages.nix b/modules2/unfree-packages.nix new file mode 100644 index 00000000..e634aa93 --- /dev/null +++ b/modules2/unfree-packages.nix @@ -0,0 +1,26 @@ +{ config, lib, ... }: + +{ + options.nixpkgs.allowedUnfreePackages = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + }; + + config.flake = { + modules = + let + predicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfreePackages; + in + { + nixos.workstation.nixpkgs.config.allowUnfreePredicate = predicate; + + homeManager.base = args: { + nixpkgs.config = lib.mkIf (!(args.hasGlobalPkgs or false)) { + allowUnfreePredicate = predicate; + }; + }; + }; + + meta.nixpkgs.allowedUnfreePackages = config.nixpkgs.allowedUnfreePackages; + }; +} diff --git a/modules2/zsh/abbreviations/abbreviations.nix b/modules2/zsh/abbreviations/abbreviations.nix index 84610472..ed1fba0c 100644 --- a/modules2/zsh/abbreviations/abbreviations.nix +++ b/modules2/zsh/abbreviations/abbreviations.nix @@ -1,4 +1,8 @@ { + nixpkgs.allowedUnfreePackages = [ + "zsh-abbr" + ]; + flake.modules.homeManager.base.programs.zsh.zsh-abbr.abbreviations = { cl = "clear"; cs = "create-script"; From 1c3885196d9cf8720a1cbc4260de2b8e46333b65 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 29 Jul 2025 07:01:15 +0100 Subject: [PATCH 2093/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/a35f6b60430ff0c7803bd2a727df84c87569c167?narHash=sha256-Y1hAI9h%2B9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM%3D' (2025-07-24) → 'github:nix-community/home-manager/50adf8fcaa97c9d64309f2d507ed8be54ea23110?narHash=sha256-mrVNT%2BaF4yR8P8Fx570W2vz%2BLzukSlf68Yr2YhUJHjo%3D' (2025-07-29) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/fafdcb505ba605157ff7a7eeea452bc6d6cbc23c?narHash=sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8%3D' (2025-07-20) → 'github:nix-community/nix-index-database/f0736b09c43028fd726fb70c3eb3d1f0795454cf?narHash=sha256-y1JlcMB2dKFkrr6g%2BUcmj8L//IY09BtSKTH/A7OU7mU%3D' (2025-07-27) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14?narHash=sha256-ZNIpqCG/CfhmV%2BTgIeyO/XbhDjSWpwWokHM44j0Mn0w%3D' (2025-07-16) → 'github:nix-community/NixOS-WSL/58c814cc6d4a789191f9c12e18277107144b0c91?narHash=sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw%3D' (2025-07-28) • Updated input 'nixos-wsl/nixpkgs': 'github:NixOS/nixpkgs/1fd8bada0b6117e6c7eb54aad5813023eed37ccb?narHash=sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo%3D' (2025-07-06) → 'github:NixOS/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/fc02ee70efb805d3b2865908a13ddd4474557ecf?narHash=sha256-i%2BCQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s%3D' (2025-07-23) → 'github:nixos/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28) • Updated input 'nixvim': 'github:nix-community/nixvim/0c50ed9349199219583cb1ed1a972d71e06039ec?narHash=sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS%2BZGhCjL5k5HbyV8%3D' (2025-07-20) → 'github:nix-community/nixvim/e1aa35fb04047df11a9c1ab539a0bac35ddad509?narHash=sha256-ZNyVwyj%2B4qvaOT/gQWfNypP8qtHmXtt02D9WDZH4IPU%3D' (2025-07-28) • Updated input 'nixvim/nuschtosSearch': 'github:NuschtOS/search/8dfe5879dd009ff4742b668d9c699bc4b9761742?narHash=sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo%3D' (2025-06-12) → 'github:NuschtOS/search/40987cc1a24feba378438d691f87c52819f7bd75?narHash=sha256-Pmpke0JtLRzgdlwDC5a%2BaiLVZ11JPUO5Bcqkj0nHE/k%3D' (2025-07-25) • Updated input 'nur': 'github:nix-community/NUR/39f88cdba97e0384a2c69262ac4e29dd9e0c5faf?narHash=sha256-mbcUnDh5B/Mbl4vKIGJ89Dh5siM3T3xOIrItYcXpMjQ%3D' (2025-07-25) → 'github:nix-community/NUR/43b3643575b141f82fa21191f90e104d72e3f63b?narHash=sha256-qtZgryFGC2ggWwFrKprKMNtk8h4WipnYVVdTfbMWtdM%3D' (2025-07-29) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index cf9f4c84..0254786b 100644 --- a/flake.lock +++ b/flake.lock @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1753387274, - "narHash": "sha256-Y1hAI9h+9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM=", + "lastModified": 1753761827, + "narHash": "sha256-mrVNT+aF4yR8P8Fx570W2vz+LzukSlf68Yr2YhUJHjo=", "owner": "nix-community", "repo": "home-manager", - "rev": "a35f6b60430ff0c7803bd2a727df84c87569c167", + "rev": "50adf8fcaa97c9d64309f2d507ed8be54ea23110", "type": "github" }, "original": { @@ -230,11 +230,11 @@ ] }, "locked": { - "lastModified": 1752985182, - "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", + "lastModified": 1753589988, + "narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", + "rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1752682362, - "narHash": "sha256-ZNIpqCG/CfhmV+TgIeyO/XbhDjSWpwWokHM44j0Mn0w=", + "lastModified": 1753704990, + "narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14", + "rev": "58c814cc6d4a789191f9c12e18277107144b0c91", "type": "github" }, "original": { @@ -281,11 +281,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -354,11 +354,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1752976861, - "narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=", + "lastModified": 1753706533, + "narHash": "sha256-ZNyVwyj+4qvaOT/gQWfNypP8qtHmXtt02D9WDZH4IPU=", "owner": "nix-community", "repo": "nixvim", - "rev": "0c50ed9349199219583cb1ed1a972d71e06039ec", + "rev": "e1aa35fb04047df11a9c1ab539a0bac35ddad509", "type": "github" }, "original": { @@ -375,11 +375,11 @@ ] }, "locked": { - "lastModified": 1753423048, - "narHash": "sha256-mbcUnDh5B/Mbl4vKIGJ89Dh5siM3T3xOIrItYcXpMjQ=", + "lastModified": 1753768654, + "narHash": "sha256-qtZgryFGC2ggWwFrKprKMNtk8h4WipnYVVdTfbMWtdM=", "owner": "nix-community", "repo": "NUR", - "rev": "39f88cdba97e0384a2c69262ac4e29dd9e0c5faf", + "rev": "43b3643575b141f82fa21191f90e104d72e3f63b", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1749730855, - "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", + "lastModified": 1753450833, + "narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=", "owner": "NuschtOS", "repo": "search", - "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", + "rev": "40987cc1a24feba378438d691f87c52819f7bd75", "type": "github" }, "original": { From 9a86dacf5e187a74dce5a38e03a1c4b81228566e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 12:36:51 +0100 Subject: [PATCH 2094/2258] opdavies: add new public key --- users/opdavies.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/users/opdavies.nix b/users/opdavies.nix index 62304f8e..a26b4213 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -24,8 +24,9 @@ with lib; ]; openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+V3VXq61adoK5kl7AqFsfoU0W0P0gMMc+2zIAvwoDhjqz/eUR823cAifIodJTmf4S4HolZ+Ww3iF8Z8stoBdQh59X11RcpvbBo3XdfkZmr5c7OBWerkJ9w4O0dJJkwm1eFLYuFfkyl5qedTaSs4qI74DmKHSQKOR3AlvOXzq31xMnwrPD8W5B8qsDQ4W6aIl+oXqVIHpWzfWmLHJosQc+z70nk+qWoF6pyYMpUwSfV4Cu9EEdQiwYtVoy/acp7FHn0+VTAlLJxm+ep2fRIiFNKpy5gVSanffTPBzQJjEHp4NCIG8+wqPae3QDiPe+sZS+26XcbOosYLr/J1IGwM68RHRpVcPIHezyiz+7SRKhUBvOO1xphoOprwp7EKxKROOMd6CvWYQE7m1f7gyPFFmSbjSNNE74gYY72FFx4FfPX0J0Ltebwr6xZ+pW3nw/GOaHx0W3D05CCO/nMYOqyrxO9RT88v6gAZFH4HEqS9lu6dssMZOWENFZCl3hVHQJbuLXbYoTaaVOZ99xfC/uslygzxaQf55TpwZSYjMOgXmOAKxV+0o1ZRH1YXbEHaLIzjhyQ58yFgCoLrMRxA6b8wIH6AYYyaLV7xQ1XBJ+MQYST9gXILItVJcfo1qrTAe3JxfODU0W5rYUlBHeBNIJWcHCxOKRFvUM2KkF79ULPG3rOw==" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" ]; }; From 60d17699032f87d6be8ad60319e32ebfbcddb313 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 12:37:37 +0100 Subject: [PATCH 2095/2258] Revert "opdavies: add new public key" This reverts commit 9a86dacf5e187a74dce5a38e03a1c4b81228566e. --- users/opdavies.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/users/opdavies.nix b/users/opdavies.nix index a26b4213..62304f8e 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -24,9 +24,8 @@ with lib; ]; openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+V3VXq61adoK5kl7AqFsfoU0W0P0gMMc+2zIAvwoDhjqz/eUR823cAifIodJTmf4S4HolZ+Ww3iF8Z8stoBdQh59X11RcpvbBo3XdfkZmr5c7OBWerkJ9w4O0dJJkwm1eFLYuFfkyl5qedTaSs4qI74DmKHSQKOR3AlvOXzq31xMnwrPD8W5B8qsDQ4W6aIl+oXqVIHpWzfWmLHJosQc+z70nk+qWoF6pyYMpUwSfV4Cu9EEdQiwYtVoy/acp7FHn0+VTAlLJxm+ep2fRIiFNKpy5gVSanffTPBzQJjEHp4NCIG8+wqPae3QDiPe+sZS+26XcbOosYLr/J1IGwM68RHRpVcPIHezyiz+7SRKhUBvOO1xphoOprwp7EKxKROOMd6CvWYQE7m1f7gyPFFmSbjSNNE74gYY72FFx4FfPX0J0Ltebwr6xZ+pW3nw/GOaHx0W3D05CCO/nMYOqyrxO9RT88v6gAZFH4HEqS9lu6dssMZOWENFZCl3hVHQJbuLXbYoTaaVOZ99xfC/uslygzxaQf55TpwZSYjMOgXmOAKxV+0o1ZRH1YXbEHaLIzjhyQ58yFgCoLrMRxA6b8wIH6AYYyaLV7xQ1XBJ+MQYST9gXILItVJcfo1qrTAe3JxfODU0W5rYUlBHeBNIJWcHCxOKRFvUM2KkF79ULPG3rOw==" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N" ]; }; From 01cc01069b624c227f524646dfd30cc2d18eeb5a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 10:49:54 +0100 Subject: [PATCH 2096/2258] nixvim: move plugin configuration --- modules2/nixvim/{plugins => }/auto-save.nix | 0 modules2/nixvim/{plugins => }/completion/cmp.nix | 0 modules2/nixvim/{plugins => }/completion/luasnip.nix | 0 modules2/nixvim/{plugins => }/completion/snippets/javascript.lua | 0 modules2/nixvim/{plugins => }/completion/snippets/lua.lua | 0 modules2/nixvim/{plugins => }/completion/snippets/nix.lua | 0 modules2/nixvim/{plugins => }/completion/snippets/php.lua | 0 modules2/nixvim/{plugins => }/completion/snippets/rst.lua | 0 modules2/nixvim/{plugins => }/completion/snippets/twig.lua | 0 modules2/nixvim/{plugins => }/conform.nix | 0 modules2/nixvim/{plugins => }/fidget.nix | 0 modules2/nixvim/{plugins => }/fugitive.nix | 0 modules2/nixvim/{plugins => }/gitsigns.nix | 0 modules2/nixvim/{plugins => }/harpoon.nix | 0 modules2/nixvim/{plugins => }/lint.nix | 0 modules2/nixvim/{plugins => }/lsp.nix | 0 modules2/nixvim/{plugins => }/lsp/bash.nix | 0 modules2/nixvim/{plugins => }/lsp/css.nix | 0 modules2/nixvim/{plugins => }/lsp/go.nix | 0 modules2/nixvim/{plugins => }/lsp/html.nix | 0 modules2/nixvim/{plugins => }/lsp/javascript.nix | 0 modules2/nixvim/{plugins => }/lsp/lua.nix | 0 modules2/nixvim/{plugins => }/lsp/nix.nix | 0 modules2/nixvim/{plugins => }/lsp/php.nix | 0 modules2/nixvim/{plugins => }/mini.nix | 0 modules2/nixvim/{plugins => }/oil.nix | 0 modules2/nixvim/{plugins => }/phpactor.nix | 0 modules2/nixvim/{plugins => }/refactoring.nix | 0 modules2/nixvim/{plugins => }/telescope.nix | 0 modules2/nixvim/{plugins => }/treesitter.nix | 0 modules2/nixvim/{plugins => }/undotree.nix | 0 modules2/nixvim/{plugins => }/vim-cool.nix | 0 modules2/nixvim/{plugins => }/vim-dadbod.nix | 0 modules2/nixvim/{plugins => }/vim-highlightedyank.nix | 0 modules2/nixvim/{plugins => }/vim-test.nix | 0 modules2/nixvim/{plugins => }/web-devicons.nix | 0 36 files changed, 0 insertions(+), 0 deletions(-) rename modules2/nixvim/{plugins => }/auto-save.nix (100%) rename modules2/nixvim/{plugins => }/completion/cmp.nix (100%) rename modules2/nixvim/{plugins => }/completion/luasnip.nix (100%) rename modules2/nixvim/{plugins => }/completion/snippets/javascript.lua (100%) rename modules2/nixvim/{plugins => }/completion/snippets/lua.lua (100%) rename modules2/nixvim/{plugins => }/completion/snippets/nix.lua (100%) rename modules2/nixvim/{plugins => }/completion/snippets/php.lua (100%) rename modules2/nixvim/{plugins => }/completion/snippets/rst.lua (100%) rename modules2/nixvim/{plugins => }/completion/snippets/twig.lua (100%) rename modules2/nixvim/{plugins => }/conform.nix (100%) rename modules2/nixvim/{plugins => }/fidget.nix (100%) rename modules2/nixvim/{plugins => }/fugitive.nix (100%) rename modules2/nixvim/{plugins => }/gitsigns.nix (100%) rename modules2/nixvim/{plugins => }/harpoon.nix (100%) rename modules2/nixvim/{plugins => }/lint.nix (100%) rename modules2/nixvim/{plugins => }/lsp.nix (100%) rename modules2/nixvim/{plugins => }/lsp/bash.nix (100%) rename modules2/nixvim/{plugins => }/lsp/css.nix (100%) rename modules2/nixvim/{plugins => }/lsp/go.nix (100%) rename modules2/nixvim/{plugins => }/lsp/html.nix (100%) rename modules2/nixvim/{plugins => }/lsp/javascript.nix (100%) rename modules2/nixvim/{plugins => }/lsp/lua.nix (100%) rename modules2/nixvim/{plugins => }/lsp/nix.nix (100%) rename modules2/nixvim/{plugins => }/lsp/php.nix (100%) rename modules2/nixvim/{plugins => }/mini.nix (100%) rename modules2/nixvim/{plugins => }/oil.nix (100%) rename modules2/nixvim/{plugins => }/phpactor.nix (100%) rename modules2/nixvim/{plugins => }/refactoring.nix (100%) rename modules2/nixvim/{plugins => }/telescope.nix (100%) rename modules2/nixvim/{plugins => }/treesitter.nix (100%) rename modules2/nixvim/{plugins => }/undotree.nix (100%) rename modules2/nixvim/{plugins => }/vim-cool.nix (100%) rename modules2/nixvim/{plugins => }/vim-dadbod.nix (100%) rename modules2/nixvim/{plugins => }/vim-highlightedyank.nix (100%) rename modules2/nixvim/{plugins => }/vim-test.nix (100%) rename modules2/nixvim/{plugins => }/web-devicons.nix (100%) diff --git a/modules2/nixvim/plugins/auto-save.nix b/modules2/nixvim/auto-save.nix similarity index 100% rename from modules2/nixvim/plugins/auto-save.nix rename to modules2/nixvim/auto-save.nix diff --git a/modules2/nixvim/plugins/completion/cmp.nix b/modules2/nixvim/completion/cmp.nix similarity index 100% rename from modules2/nixvim/plugins/completion/cmp.nix rename to modules2/nixvim/completion/cmp.nix diff --git a/modules2/nixvim/plugins/completion/luasnip.nix b/modules2/nixvim/completion/luasnip.nix similarity index 100% rename from modules2/nixvim/plugins/completion/luasnip.nix rename to modules2/nixvim/completion/luasnip.nix diff --git a/modules2/nixvim/plugins/completion/snippets/javascript.lua b/modules2/nixvim/completion/snippets/javascript.lua similarity index 100% rename from modules2/nixvim/plugins/completion/snippets/javascript.lua rename to modules2/nixvim/completion/snippets/javascript.lua diff --git a/modules2/nixvim/plugins/completion/snippets/lua.lua b/modules2/nixvim/completion/snippets/lua.lua similarity index 100% rename from modules2/nixvim/plugins/completion/snippets/lua.lua rename to modules2/nixvim/completion/snippets/lua.lua diff --git a/modules2/nixvim/plugins/completion/snippets/nix.lua b/modules2/nixvim/completion/snippets/nix.lua similarity index 100% rename from modules2/nixvim/plugins/completion/snippets/nix.lua rename to modules2/nixvim/completion/snippets/nix.lua diff --git a/modules2/nixvim/plugins/completion/snippets/php.lua b/modules2/nixvim/completion/snippets/php.lua similarity index 100% rename from modules2/nixvim/plugins/completion/snippets/php.lua rename to modules2/nixvim/completion/snippets/php.lua diff --git a/modules2/nixvim/plugins/completion/snippets/rst.lua b/modules2/nixvim/completion/snippets/rst.lua similarity index 100% rename from modules2/nixvim/plugins/completion/snippets/rst.lua rename to modules2/nixvim/completion/snippets/rst.lua diff --git a/modules2/nixvim/plugins/completion/snippets/twig.lua b/modules2/nixvim/completion/snippets/twig.lua similarity index 100% rename from modules2/nixvim/plugins/completion/snippets/twig.lua rename to modules2/nixvim/completion/snippets/twig.lua diff --git a/modules2/nixvim/plugins/conform.nix b/modules2/nixvim/conform.nix similarity index 100% rename from modules2/nixvim/plugins/conform.nix rename to modules2/nixvim/conform.nix diff --git a/modules2/nixvim/plugins/fidget.nix b/modules2/nixvim/fidget.nix similarity index 100% rename from modules2/nixvim/plugins/fidget.nix rename to modules2/nixvim/fidget.nix diff --git a/modules2/nixvim/plugins/fugitive.nix b/modules2/nixvim/fugitive.nix similarity index 100% rename from modules2/nixvim/plugins/fugitive.nix rename to modules2/nixvim/fugitive.nix diff --git a/modules2/nixvim/plugins/gitsigns.nix b/modules2/nixvim/gitsigns.nix similarity index 100% rename from modules2/nixvim/plugins/gitsigns.nix rename to modules2/nixvim/gitsigns.nix diff --git a/modules2/nixvim/plugins/harpoon.nix b/modules2/nixvim/harpoon.nix similarity index 100% rename from modules2/nixvim/plugins/harpoon.nix rename to modules2/nixvim/harpoon.nix diff --git a/modules2/nixvim/plugins/lint.nix b/modules2/nixvim/lint.nix similarity index 100% rename from modules2/nixvim/plugins/lint.nix rename to modules2/nixvim/lint.nix diff --git a/modules2/nixvim/plugins/lsp.nix b/modules2/nixvim/lsp.nix similarity index 100% rename from modules2/nixvim/plugins/lsp.nix rename to modules2/nixvim/lsp.nix diff --git a/modules2/nixvim/plugins/lsp/bash.nix b/modules2/nixvim/lsp/bash.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/bash.nix rename to modules2/nixvim/lsp/bash.nix diff --git a/modules2/nixvim/plugins/lsp/css.nix b/modules2/nixvim/lsp/css.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/css.nix rename to modules2/nixvim/lsp/css.nix diff --git a/modules2/nixvim/plugins/lsp/go.nix b/modules2/nixvim/lsp/go.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/go.nix rename to modules2/nixvim/lsp/go.nix diff --git a/modules2/nixvim/plugins/lsp/html.nix b/modules2/nixvim/lsp/html.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/html.nix rename to modules2/nixvim/lsp/html.nix diff --git a/modules2/nixvim/plugins/lsp/javascript.nix b/modules2/nixvim/lsp/javascript.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/javascript.nix rename to modules2/nixvim/lsp/javascript.nix diff --git a/modules2/nixvim/plugins/lsp/lua.nix b/modules2/nixvim/lsp/lua.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/lua.nix rename to modules2/nixvim/lsp/lua.nix diff --git a/modules2/nixvim/plugins/lsp/nix.nix b/modules2/nixvim/lsp/nix.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/nix.nix rename to modules2/nixvim/lsp/nix.nix diff --git a/modules2/nixvim/plugins/lsp/php.nix b/modules2/nixvim/lsp/php.nix similarity index 100% rename from modules2/nixvim/plugins/lsp/php.nix rename to modules2/nixvim/lsp/php.nix diff --git a/modules2/nixvim/plugins/mini.nix b/modules2/nixvim/mini.nix similarity index 100% rename from modules2/nixvim/plugins/mini.nix rename to modules2/nixvim/mini.nix diff --git a/modules2/nixvim/plugins/oil.nix b/modules2/nixvim/oil.nix similarity index 100% rename from modules2/nixvim/plugins/oil.nix rename to modules2/nixvim/oil.nix diff --git a/modules2/nixvim/plugins/phpactor.nix b/modules2/nixvim/phpactor.nix similarity index 100% rename from modules2/nixvim/plugins/phpactor.nix rename to modules2/nixvim/phpactor.nix diff --git a/modules2/nixvim/plugins/refactoring.nix b/modules2/nixvim/refactoring.nix similarity index 100% rename from modules2/nixvim/plugins/refactoring.nix rename to modules2/nixvim/refactoring.nix diff --git a/modules2/nixvim/plugins/telescope.nix b/modules2/nixvim/telescope.nix similarity index 100% rename from modules2/nixvim/plugins/telescope.nix rename to modules2/nixvim/telescope.nix diff --git a/modules2/nixvim/plugins/treesitter.nix b/modules2/nixvim/treesitter.nix similarity index 100% rename from modules2/nixvim/plugins/treesitter.nix rename to modules2/nixvim/treesitter.nix diff --git a/modules2/nixvim/plugins/undotree.nix b/modules2/nixvim/undotree.nix similarity index 100% rename from modules2/nixvim/plugins/undotree.nix rename to modules2/nixvim/undotree.nix diff --git a/modules2/nixvim/plugins/vim-cool.nix b/modules2/nixvim/vim-cool.nix similarity index 100% rename from modules2/nixvim/plugins/vim-cool.nix rename to modules2/nixvim/vim-cool.nix diff --git a/modules2/nixvim/plugins/vim-dadbod.nix b/modules2/nixvim/vim-dadbod.nix similarity index 100% rename from modules2/nixvim/plugins/vim-dadbod.nix rename to modules2/nixvim/vim-dadbod.nix diff --git a/modules2/nixvim/plugins/vim-highlightedyank.nix b/modules2/nixvim/vim-highlightedyank.nix similarity index 100% rename from modules2/nixvim/plugins/vim-highlightedyank.nix rename to modules2/nixvim/vim-highlightedyank.nix diff --git a/modules2/nixvim/plugins/vim-test.nix b/modules2/nixvim/vim-test.nix similarity index 100% rename from modules2/nixvim/plugins/vim-test.nix rename to modules2/nixvim/vim-test.nix diff --git a/modules2/nixvim/plugins/web-devicons.nix b/modules2/nixvim/web-devicons.nix similarity index 100% rename from modules2/nixvim/plugins/web-devicons.nix rename to modules2/nixvim/web-devicons.nix From a218f5623c430b69ce6a60c522b76c2a7f07937c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 11:27:46 +0100 Subject: [PATCH 2097/2258] nixvim: re-add edit_alternate.vim --- flake.lock | 53 +++++++++++++++++- flake.nix | 9 +++ modules2/nixvim/edit-alternate/config.nix | 56 +++++++++++++++++++ .../nixvim/edit-alternate/extra-plugins.nix | 31 ++++++++++ modules2/nixvim/edit-alternate/keymaps.nix | 9 +++ 5 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 modules2/nixvim/edit-alternate/config.nix create mode 100644 modules2/nixvim/edit-alternate/extra-plugins.nix create mode 100644 modules2/nixvim/edit-alternate/keymaps.nix diff --git a/flake.lock b/flake.lock index 0254786b..2f746156 100644 --- a/flake.lock +++ b/flake.lock @@ -23,6 +23,22 @@ "type": "github" } }, + "conf-vim": { + "flake": false, + "locked": { + "lastModified": 1507549264, + "narHash": "sha256-AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0=", + "owner": "tjdevries", + "repo": "conf.vim", + "rev": "a716df0fd5d7ba558c07dac2e07f05d5eba11afb", + "type": "github" + }, + "original": { + "owner": "tjdevries", + "repo": "conf.vim", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -65,6 +81,22 @@ "type": "github" } }, + "edit-alternate-vim": { + "flake": false, + "locked": { + "lastModified": 1635180789, + "narHash": "sha256-mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4=", + "owner": "tjdevries", + "repo": "edit_alternate.vim", + "rev": "ef3019115d9bb7ffd691d2859eda213dd99e0b0a", + "type": "github" + }, + "original": { + "owner": "tjdevries", + "repo": "edit_alternate.vim", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -414,7 +446,9 @@ "root": { "inputs": { "agenix": "agenix", + "conf-vim": "conf-vim", "disko": "disko", + "edit-alternate-vim": "edit-alternate-vim", "flake-parts": "flake-parts", "home-manager": "home-manager_2", "import-tree": "import-tree", @@ -424,7 +458,24 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", - "nur": "nur" + "nur": "nur", + "standard-vim": "standard-vim" + } + }, + "standard-vim": { + "flake": false, + "locked": { + "lastModified": 1539613748, + "narHash": "sha256-9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E=", + "owner": "tjdevries", + "repo": "standard.vim", + "rev": "b333ef9a9cf6cf66536deda017a542843613fa75", + "type": "github" + }, + "original": { + "owner": "tjdevries", + "repo": "standard.vim", + "type": "github" } }, "systems": { diff --git a/flake.nix b/flake.nix index 16e43387..9c154fea 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,15 @@ agenix.inputs.nixpkgs.follows = "nixpkgs"; agenix.url = "github:ryantm/agenix"; + conf-vim.flake = false; + conf-vim.url = "github:tjdevries/conf.vim"; + disko.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko"; + edit-alternate-vim.flake = false; + edit-alternate-vim.url = "github:tjdevries/edit_alternate.vim"; + flake-parts.url = "github:hercules-ci/flake-parts"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; @@ -30,6 +36,9 @@ nur.inputs.nixpkgs.follows = "nixpkgs"; nur.url = "github:nix-community/NUR"; + + standard-vim.flake = false; + standard-vim.url = "github:tjdevries/standard.vim"; }; outputs = diff --git a/modules2/nixvim/edit-alternate/config.nix b/modules2/nixvim/edit-alternate/config.nix new file mode 100644 index 00000000..a086c694 --- /dev/null +++ b/modules2/nixvim/edit-alternate/config.nix @@ -0,0 +1,56 @@ +{ + flake.modules.nixvim.custom.extraConfigLua = '' + vim.fn["edit_alternate#rule#add"]("php", function(filename) + if filename:find "Test.php$" then + filename = filename:gsub("Test.php$", ".php") + + if filename:find "tests/src/" then + -- Drupal tests. Remove the `src/{type}` from the path. + return filename:gsub("tests/src/(.-)/", "src/") + else + return filename:gsub("tests/", "src/") + end + else + filename = filename:gsub(".php$", "Test.php") + + if filename:find "modules/custom" then + -- Drupal test types. + local test_types = { "Functional", "FunctionalJavaScript", "Kernel", "Unit" } + + for _, test_type in ipairs(test_types) do + local filename_with_test_type = filename:gsub("src/", string.format("tests/src/%s/", test_type)) + + -- Return the first matching test file that exists. + if vim.fn.filereadable(filename_with_test_type) == 1 then + return filename_with_test_type + end + end + end + end + end) + + if vim.fn.filereadable "composer.json" == 1 then + vim.fn["edit_alternate#rule#add"]("json", function(filename) + if filename:find "composer.json" then + return (filename:gsub("%.json$", ".lock")) + end + end) + + vim.fn["edit_alternate#rule#add"]("lock", function(filename) + if filename:find "composer.lock" then + return (filename:gsub("%.lock$", ".json")) + end + end) + end + + if vim.fn.filereadable "fractal.config.js" == 1 then + vim.fn["edit_alternate#rule#add"]("twig", function(filename) + return (filename:gsub("%.twig$", ".config.yml")) + end) + + vim.fn["edit_alternate#rule#add"]("yml", function(filename) + return (filename:gsub("%.config.yml$", ".twig")) + end) + end + ''; +} diff --git a/modules2/nixvim/edit-alternate/extra-plugins.nix b/modules2/nixvim/edit-alternate/extra-plugins.nix new file mode 100644 index 00000000..ca795f18 --- /dev/null +++ b/modules2/nixvim/edit-alternate/extra-plugins.nix @@ -0,0 +1,31 @@ +{ inputs, ... }: + +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPlugins = + let + inherit (pkgs.vimUtils) buildVimPlugin; + in + [ + (buildVimPlugin { + pname = "conf-vim"; + src = inputs.conf-vim; + version = "unstable"; + }) + + (buildVimPlugin { + pname = "edit-alternate-vim"; + src = inputs.edit-alternate-vim; + version = "unstable"; + }) + + (buildVimPlugin { + pname = "standard-vim"; + src = inputs.standard-vim; + version = "unstable"; + }) + ]; + }; +} diff --git a/modules2/nixvim/edit-alternate/keymaps.nix b/modules2/nixvim/edit-alternate/keymaps.nix new file mode 100644 index 00000000..fa375bab --- /dev/null +++ b/modules2/nixvim/edit-alternate/keymaps.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixvim.custom.keymaps = [ + { + action = "<cmd>EditAlternate<CR>"; + key = "<leader>ea"; + mode = "n"; + } + ]; +} From f8489d5c72af6c558cbd226c9e07242c9202a0c2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 12:18:40 +0100 Subject: [PATCH 2098/2258] nixvim: re-add vim-textobj-xmlattr --- flake.lock | 19 ++++++++++++++++++- flake.nix | 3 +++ modules2/nixvim/vim-textobj-xmlattr.nix | 17 +++++++++++++++++ packages/vim-plugins/vim-plugins.json | 8 -------- 4 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 modules2/nixvim/vim-textobj-xmlattr.nix diff --git a/flake.lock b/flake.lock index 2f746156..1c412dcd 100644 --- a/flake.lock +++ b/flake.lock @@ -459,7 +459,8 @@ "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "nur": "nur", - "standard-vim": "standard-vim" + "standard-vim": "standard-vim", + "vim-textobj-xmlattr": "vim-textobj-xmlattr" } }, "standard-vim": { @@ -522,6 +523,22 @@ "repo": "default", "type": "github" } + }, + "vim-textobj-xmlattr": { + "flake": false, + "locked": { + "lastModified": 1464940962, + "narHash": "sha256-+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q=", + "owner": "whatyouhide", + "repo": "vim-textobj-xmlattr", + "rev": "694a297f1d75fd527e87da9769f3c6519a87ebb1", + "type": "github" + }, + "original": { + "owner": "whatyouhide", + "repo": "vim-textobj-xmlattr", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9c154fea..5c23c8bc 100644 --- a/flake.nix +++ b/flake.nix @@ -39,6 +39,9 @@ standard-vim.flake = false; standard-vim.url = "github:tjdevries/standard.vim"; + + vim-textobj-xmlattr.flake = false; + vim-textobj-xmlattr.url = "github:whatyouhide/vim-textobj-xmlattr"; }; outputs = diff --git a/modules2/nixvim/vim-textobj-xmlattr.nix b/modules2/nixvim/vim-textobj-xmlattr.nix new file mode 100644 index 00000000..6cdd4812 --- /dev/null +++ b/modules2/nixvim/vim-textobj-xmlattr.nix @@ -0,0 +1,17 @@ +{ inputs, ... }: + +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPlugins = with pkgs.vimPlugins; [ + vim-textobj-user + + (pkgs.vimUtils.buildVimPlugin { + src = inputs.vim-textobj-xmlattr; + pname = "vim-textobj-xmlattr"; + version = "unstable"; + }) + ]; + }; +} diff --git a/packages/vim-plugins/vim-plugins.json b/packages/vim-plugins/vim-plugins.json index 4916878c..75a148c3 100644 --- a/packages/vim-plugins/vim-plugins.json +++ b/packages/vim-plugins/vim-plugins.json @@ -5,14 +5,6 @@ "rev": "deb76867c302f933c8f21753806cbf2d8461b548", "version": "0.0.6", "hash": "sha256-oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q=" - }, - - "vim-textobj-xmlattr": { - "owner": "whatyouhide", - "repo": "vim-textobj-xmlattr", - "rev": "694a297f1d75fd527e87da9769f3c6519a87ebb1", - "version": "unstable-2016-06-03", - "hash": "sha256-+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q=" } } From d5033260c962d337dd953d71f91fa8837a2f6486 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 12:25:18 +0100 Subject: [PATCH 2099/2258] Delete packages.nix --- modules2/packages.nix | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 modules2/packages.nix diff --git a/modules2/packages.nix b/modules2/packages.nix deleted file mode 100644 index eb17d172..00000000 --- a/modules2/packages.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, ... }: - -{ - perSystem = - { inputs', pkgs, ... }: - { - packages = { - default = pkgs.mkShell { buildInputs = with pkgs; [ just ]; }; - - neovim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { - inherit pkgs; - - module = config.flake.modules.nixvim.custom; - }; - }; - }; -} From f48b81ecea963b135d7f6ec223ec0a960d24cf13 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 13:19:07 +0100 Subject: [PATCH 2100/2258] Move tailscale configuration --- hosts/nixedo/services/default.nix | 1 - hosts/t480/configuration.nix | 2 -- modules2/tailscale.nix | 3 +++ 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 modules2/tailscale.nix diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 57d5e162..b5a19f88 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -17,7 +17,6 @@ services = { postgresqlBackup.enable = true; - tailscale.enable = true; }; services.gitea-actions-runner.instances.default = { diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 6fcb1142..60c191f2 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -25,7 +25,6 @@ power-profiles-daemon.enable = false; printing.enable = true; pulseaudio.enable = false; - tailscale.enable = true; thermald.enable = true; throttled.enable = true; upower.enable = true; @@ -91,7 +90,6 @@ shotwell stable.gscan2pdf sxiv - tailscale ttyper xcape xsel diff --git a/modules2/tailscale.nix b/modules2/tailscale.nix new file mode 100644 index 00000000..25af676a --- /dev/null +++ b/modules2/tailscale.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.workstation.services.tailscale.enable = true; +} From 3e7bf2721f2755624e5a99c10d8d48012f587586 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 18:20:33 +0100 Subject: [PATCH 2101/2258] Re-configure dev-commit --- modules2/dev-commit.nix | 2 -- modules2/hosts/t480/dev-commit.nix | 20 ++++++++++++++++++++ modules2/zsh/dot-dir.nix | 4 +++- packages/dev-commit.nix | 28 ++++++++++++++++++++++------ 4 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 modules2/hosts/t480/dev-commit.nix diff --git a/modules2/dev-commit.nix b/modules2/dev-commit.nix index 06740026..d767a116 100644 --- a/modules2/dev-commit.nix +++ b/modules2/dev-commit.nix @@ -56,8 +56,6 @@ systemd.user = lib.mkIf cfg.schedule.enable { services.dev-commit = { - Install.WantedBy = [ "default.target" ]; - Service = { Environment = [ "DEV_COMMIT_PATHS=${repoPaths}" ]; ExecStart = "${lib.getExe pkgs.dev-commit}"; diff --git a/modules2/hosts/t480/dev-commit.nix b/modules2/hosts/t480/dev-commit.nix new file mode 100644 index 00000000..cc50b52e --- /dev/null +++ b/modules2/hosts/t480/dev-commit.nix @@ -0,0 +1,20 @@ +{ config, ... }: + +{ + flake.modules.nixos."nixosConfigurations/t480".home-manager.users.${config.flake.meta.owner.username} = + hmArgs: { + programs.dev-commit.schedule.enable = true; + programs.dev-commit.schedule.time = "daily"; + + programs.dev-commit.repoPaths = + let + repos = "${hmArgs.config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/forgejo/opdavies"; + in + [ + "${repos}/email-filters" + "${repos}/nix-config" + "${repos}/oliverdavies.uk" + "${repos}/opentofu-dns" + ]; + }; +} diff --git a/modules2/zsh/dot-dir.nix b/modules2/zsh/dot-dir.nix index 407f5ed1..5707e785 100644 --- a/modules2/zsh/dot-dir.nix +++ b/modules2/zsh/dot-dir.nix @@ -1,3 +1,5 @@ { - flake.modules.homeManager.base.programs.zsh.dotDir = ".config/zsh"; + flake.modules.homeManager.base = { + programs.zsh.dotDir = ".config/zsh"; + }; } diff --git a/packages/dev-commit.nix b/packages/dev-commit.nix index dfe4336a..23fa8721 100644 --- a/packages/dev-commit.nix +++ b/packages/dev-commit.nix @@ -6,6 +6,7 @@ pkgs.writeShellApplication { runtimeInputs = with pkgs; [ coreutils git + logger openssh ]; @@ -13,14 +14,29 @@ pkgs.writeShellApplication { IFS=':' read -ra repos <<< "$DEV_COMMIT_PATHS" for repo in "''${repos[@]}"; do - echo "Processing $repo" - pushd "$repo" + logger "Processing repository: $repo" - git add . - git commit -m "Automated dev commit" || true - git push + pushd "$repo" > /dev/null 2>&1 - popd + if [[ -n $(git status --porcelain) ]]; then + logger "Changes detected in $repo" + + git status --short | while read -r line; do + logger "Changed file: $line" + done + + git add . + + if git commit -m "Automated dev commit"; then + logger "Commit successful in $repo" + else + logger "No changes to commit in $repo" + fi + else + logger "No changes in $repo" + fi + + popd > /dev/null 2>&1 done ''; } From d0f82c028e8d3988bec14e466c67e79621277fbe Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 18:58:37 +0100 Subject: [PATCH 2102/2258] Use Home Manager path for `zsh.dotDir` > evaluation warning: opdavies profile: Using relative paths in programs.zsh.dotDir is deprecated and will be removed in a future release. > Current dotDir: .config/zsh > Consider using absolute paths or home-manager config options instead. > You can replace relative paths or environment variables with options like: > - config.home.homeDirectory (user's home directory) > - config.xdg.configHome (XDG config directory) > - config.xdg.dataHome (XDG data directory) > - config.xdg.cacheHome (XDG cache directory) --- modules2/zsh/dot-dir.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules2/zsh/dot-dir.nix b/modules2/zsh/dot-dir.nix index 5707e785..83e5f2e1 100644 --- a/modules2/zsh/dot-dir.nix +++ b/modules2/zsh/dot-dir.nix @@ -1,5 +1,7 @@ { - flake.modules.homeManager.base = { - programs.zsh.dotDir = ".config/zsh"; - }; + flake.modules.homeManager.base = + { config, ... }: + { + programs.zsh.dotDir = "${config.xdg.configHome}/zsh"; + }; } From b57b037e69891610c8b111ffe5708fa041b6398f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 19:03:34 +0100 Subject: [PATCH 2103/2258] Refactor --- modules2/hosts/t480/dev-commit.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules2/hosts/t480/dev-commit.nix b/modules2/hosts/t480/dev-commit.nix index cc50b52e..0e4ef12c 100644 --- a/modules2/hosts/t480/dev-commit.nix +++ b/modules2/hosts/t480/dev-commit.nix @@ -10,11 +10,11 @@ let repos = "${hmArgs.config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/forgejo/opdavies"; in - [ - "${repos}/email-filters" - "${repos}/nix-config" - "${repos}/oliverdavies.uk" - "${repos}/opentofu-dns" + map (name: "${repos}/${name}") [ + "email-filters" + "nix-config" + "oliverdavies.uk" + "opentofu-dns" ]; }; } From a9b0c5c2b051d6d726fedd026fdb6ce4b5395e94 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 22:11:29 +0100 Subject: [PATCH 2104/2258] dev-commit: re-add the enable option --- modules2/dev-commit.nix | 4 +++- modules2/hosts/t480/dev-commit.nix | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules2/dev-commit.nix b/modules2/dev-commit.nix index d767a116..352a01ad 100644 --- a/modules2/dev-commit.nix +++ b/modules2/dev-commit.nix @@ -5,6 +5,8 @@ { config, pkgs, ... }: { options.programs.dev-commit = { + enable = lib.mkEnableOption "Enable dev-commit"; + repoPaths = lib.mkOption { default = [ ]; description = "A list of repository paths that should have automated commits"; @@ -48,7 +50,7 @@ repoPaths = lib.concatStringsSep ":" cfg.repoPaths; in { - home = { + home = lib.mkIf cfg.enable { packages = [ pkgs.dev-commit ]; sessionVariables.DEV_COMMIT_PATHS = repoPaths; diff --git a/modules2/hosts/t480/dev-commit.nix b/modules2/hosts/t480/dev-commit.nix index 0e4ef12c..e584bdd1 100644 --- a/modules2/hosts/t480/dev-commit.nix +++ b/modules2/hosts/t480/dev-commit.nix @@ -3,6 +3,8 @@ { flake.modules.nixos."nixosConfigurations/t480".home-manager.users.${config.flake.meta.owner.username} = hmArgs: { + programs.dev-commit.enable = true; + programs.dev-commit.schedule.enable = true; programs.dev-commit.schedule.time = "daily"; From 7f451136fc50e624cfba7873d69bdb7cd409aaf9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 29 Jul 2025 22:11:34 +0100 Subject: [PATCH 2105/2258] nixvim: add alternate files for *.go and *_test.go --- modules2/nixvim/edit-alternate/config.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules2/nixvim/edit-alternate/config.nix b/modules2/nixvim/edit-alternate/config.nix index a086c694..4006ff14 100644 --- a/modules2/nixvim/edit-alternate/config.nix +++ b/modules2/nixvim/edit-alternate/config.nix @@ -1,5 +1,13 @@ { flake.modules.nixvim.custom.extraConfigLua = '' + vim.fn["edit_alternate#rule#add"]("go", function(filename) + if filename:find "_test%.go$" then + return filename:gsub("_test%.go$", ".go") + else + return filename:gsub("%.go$", "_test.go") + end + end) + vim.fn["edit_alternate#rule#add"]("php", function(filename) if filename:find "Test.php$" then filename = filename:gsub("Test.php$", ".php") From fe5c8259c855325430c2b379bfef4098afdcf143 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 00:00:27 +0100 Subject: [PATCH 2106/2258] Automated dev commit --- modules2/nixvim/edit-alternate/config.nix | 40 +++++++++------------- todo.txt | 11 +++++- wallpaper/wallpaper.jpg | Bin 2269126 -> 2930856 bytes 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/modules2/nixvim/edit-alternate/config.nix b/modules2/nixvim/edit-alternate/config.nix index 4006ff14..5375cc05 100644 --- a/modules2/nixvim/edit-alternate/config.nix +++ b/modules2/nixvim/edit-alternate/config.nix @@ -1,63 +1,57 @@ { flake.modules.nixvim.custom.extraConfigLua = '' vim.fn["edit_alternate#rule#add"]("go", function(filename) - if filename:find "_test%.go$" then - return filename:gsub("_test%.go$", ".go") - else - return filename:gsub("%.go$", "_test.go") - end + return filename:find "_test%.go$" + and filename:gsub("_test%.go$", ".go") + or filename:gsub("%.go$", "_test.go") end) vim.fn["edit_alternate#rule#add"]("php", function(filename) if filename:find "Test.php$" then filename = filename:gsub("Test.php$", ".php") - if filename:find "tests/src/" then - -- Drupal tests. Remove the `src/{type}` from the path. - return filename:gsub("tests/src/(.-)/", "src/") - else - return filename:gsub("tests/", "src/") - end + return filename:find "tests/src/" + and filename:gsub("tests/src/(.-)/", "src/") + or filename:gsub("tests/", "src/") else - filename = filename:gsub(".php$", "Test.php") + test_filename = filename:gsub(".php$", "Test.php") - if filename:find "modules/custom" then - -- Drupal test types. + if test_filename:find "modules/custom" then local test_types = { "Functional", "FunctionalJavaScript", "Kernel", "Unit" } for _, test_type in ipairs(test_types) do - local filename_with_test_type = filename:gsub("src/", string.format("tests/src/%s/", test_type)) + local candidate = test_filename:gsub("src/", string.format("tests/src/%s/", test_type)) - -- Return the first matching test file that exists. - if vim.fn.filereadable(filename_with_test_type) == 1 then - return filename_with_test_type + if vim.fn.filereadable(candidate) == 1 then + return candidate end end end + + return test_filename end end) if vim.fn.filereadable "composer.json" == 1 then vim.fn["edit_alternate#rule#add"]("json", function(filename) - if filename:find "composer.json" then - return (filename:gsub("%.json$", ".lock")) + if filename:find "composer.json" and filename:gsub("%.json$", ".lock") or nil end end) vim.fn["edit_alternate#rule#add"]("lock", function(filename) if filename:find "composer.lock" then - return (filename:gsub("%.lock$", ".json")) + return filename:gsub("%.lock$", ".json") end end) end if vim.fn.filereadable "fractal.config.js" == 1 then vim.fn["edit_alternate#rule#add"]("twig", function(filename) - return (filename:gsub("%.twig$", ".config.yml")) + return filename:gsub("%.twig$", ".config.yml") end) vim.fn["edit_alternate#rule#add"]("yml", function(filename) - return (filename:gsub("%.config.yml$", ".twig")) + return filename:gsub("%.config.yml$", ".twig") end) end ''; diff --git a/todo.txt b/todo.txt index fd592bcc..e5120997 100644 --- a/todo.txt +++ b/todo.txt @@ -1 +1,10 @@ -Re-configure diagnostic output in neovim. +Configure external hard drives on nixedo. + +server: +jellyfin +immich +tubearchivist +websites +forgejo + +Create a Home Manager module for bluetuith. diff --git a/wallpaper/wallpaper.jpg b/wallpaper/wallpaper.jpg index 75d60ad7521d937453089a8eecdd129f1d213032..9c54212d52c1bdf0f35fb01f928f483f63584c94 100644 GIT binary patch literal 2930856 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 g~n-Z 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 %^!%E>;KDPOhJ@>`4`)QA zcE3DxwD@u)mlR_Or?>;pbM2)op1MwPnYBQQ=Q$%!bckC3ufQyZhE;*;)^ikV1tK(A zmMBE^^~|d_@+>OkxF*8wvozviGMB<<!v*1n-DZ-%c=QrqH1e`+cUsV{)t8>F#oVbO zt0=2c6*ieAGp{Ayg=2>?mz>*$>g|*6Wq2(P=4^X%EHgvpM8<RP;Db5_he`}8XFabf z;4O<}lHnGUHxx5<4@$i5P+YO_;VzC8DGBB!D+Lq9%)%$#b&cuRa9DnkbbFsnN#(p3 zF_)~;&vle|_E)8E`c>@9w)4Wg&hs;PGz?_UFw8n|AVwoFmFES+p~j@cJhN<U6rL!% z@lBiTxhCCg!(GJ{o-z+Mu|;e;AY~n%%qL}#I3dwRk(<G&St0pY56>lm18q`l#Th33 zFD_UVuud?zbIYLIxn0WF)^bPY@`cZu0;ir`neXTOviIxf^iBNhys*t3foe)cPOgT+ z7jgy#FK16x)3wYhiI^C3Ku>bh=9M<5g;dTdUN$klnZmNjDZxYBae@)^nav!HYQkm{ zbJ~&xXPihgx{{V=#W~}QO2op13z}Ryi+(Qax)yNYgaE@AiHHe80(MO$n-p%`;BAOF zxOAGhDc90gWpk;WFV_h#WbJN^aGYT}XT^ynpLd_@e|+2D>h`Jfbn*96UkbwO%<mPJ zJwN~AKuSqO@`5$YGqa)%=Pb7DaZsvaV45)PsD)s1Ge<;<r>4RM1_cH+p9a>zkVTAV zCjFY;bC>;Ms=%B>0t@CG;cE(-?9d>wiAjIaVdjMilRRhiw0gCA90(|hJF}Jj4AWd0 zM!$mXUXm_e2Y6NZE<QTtVALj}!MLtLQ();5fd<7S?&4XoEeqT7=DY|u<h(aIon30< z0?#i?{Ynlnv9j$j@%WhB%BMZUT_oUuvlN3?-lE3yUK0#^&M+>KR6TWcmTSpNwk5%i zU6bcBwT0^BF*8{#<#1Z&7sY*1>)S%LC<)HQ1sm_Yn9Nv`nLJnFUiQ80&CS`CcZK|? z@Gvf&73#U+)-_34i9;E^JQ`tAyj*S^`?5{=eA^bYY&c=>V9t{{G4I(O<JsOz`eqgv zuh*NJQo<`9bHl|gki$vY(j`VL<0^YAi$T0YZ|fs5jsu4$o;b`=@z`ljZrEgZW9DZW z?^;=AaQP@5*4cDQZAF?)L~@5orR$0Ag=`E7Esl-7JcdVSS<W!2T#)eC;oy=N37*L^ z(k2;iKD*7Yxn*<l;*!#2Es6Fo&+g4EKl8WgTd_9o)TMc5pXRd{a#eg1GhWZON-H_H zr1M#X0MC+@HaB~k&Sd!nZJ5`n!{n57h-cPb6K0E@$wo7ebP6S3t5paUQaF?D6gk7K z$8%2PY%c*`;U(RoEyB(jfhjyjQJD)LBy8I~qbj;&tzglG#?*{LXHDj*d}flYO_^4E zzD!ePys)ugMvE?Qj1cpJ;ukmGuAc6D&u?zL%9o#??CxoOtNi?XC;R$oaqDaiXWV57 z(dJ@Q;XBnOo+zT=ILDEtTYFKX#yN`xUUIWm1u%I{I>>1@L1!+TfI`v+rp)<^IxliP zGw5L0Zpi4iU@7Mu77bp}7JnCweGNS4RnG|P#2X!ykX`TO6{pRxI+RN)V$-1ory6(| zGJ;GrCm6L%b6{4OG*`z#MMHq0m@AZp-9m6iV`t!U_4yb0@-)o)y(9i5D7yA(Byvaw zEqYSLc*s48=VC&YO391@PnMgaA{UOHGfH}z93rB%aEa8jgq9bIUMIbDlnya4d46hP zDD>K-X1ZYG5}nB9?6L}KlR925oycavb|><|Vb9`YI^8<i3o~b)xx&`i)z&y^Vat&t z9Gi**9vosRWaCv(_Hei>A>sO2pyt?%6Dy}|cX?@c@<L<uxwSHP3>X(SL@+QgxM(am zA@0omOzD_dq;twk$Af(m%QX-Cs?Ezb@jATNn?X%V=Td;pac903j%06zM{E*zVq|0) zE=d&46;N#Ko7muR`mn*n!^iri3^JJ|FFZK5@JzWgFSC{R<OP+B7e4EobEhp_{l3u~ z{e-;}LML57?lyu8D=1OSZ!2%wJ~L()zh+2@%u;RZbuo87M9fPRKEH^k%~*RGqs$4W z3C(OLmrikX5mI1al{j-ivO&zjrGZsI%~N>IH7}v`qz7W>7<RE5&ur;do1}J#(W#k1 zu1SrL_1r>jrMr%1Y&~Zh*qj6mmrXjtHQBG{ivpLr%QL1!EDM`T-Y_q!{BrU5zJGCj z>t`?bKQ8+&uC}(u;_tqi`R;xG@utzUFP_LZ$~9u}V00^C7GrjajtuHjVUlE-)WPC0 ziF<*7L6y!11`&r10xd7h4R{3F1<o*9F$8jIIGU(&@j5IPU|4cYK-N$pR@>V%Xa#FA zgGRK3zIfNdhPc(tO1hVX9OPXz1X_6&R$6#WysEfKqE$?C=DH-W5<}IQ&MTJQnY^;0 zSkYEQSNT#{K+F}sRh^%zdQbWo&8pRLde)-A!ei8}XgPy3O532(fqBDcziENn+osLp zG16>N=_~R(xbUKhl|?Y`62D~S95!ng-o-v@oi#_BJ0q)d8@D-3OIUE-agkto(-B!U zk!=dyJiQv5k4|Jc&hz|2v+}}A{^lCTJf;*GolW4^Xgy%Kps_6?vCS-C*9|A$jCFnz z5p`U`VlNB5PqD4f(UJ0<^nAX<DaQv+FA`j*L@=-gtYQo@IL>u#Qj!$6j9IvDYKv`D zh;y6g!PAaK%ASmiU3*iKy`LFPO>8kd(=EmEu5E%%Or+`Km@@{)+e9TKoS*fmN@g}Y zOH606NJx<pNY=PGrAT_mYumMVN<SAIc6V$1Yk1;f%-k6NZSz-o-(<h6x@;jdH9=eS z@TUH{gwJ324Q#%xvl4VP<Mm$jX)*)zOt%bWt2E=8Q?{yc9t#$jsN5m3(TRhDfkAMF z#{>_BO$-4G6FP-dc=?PwFBL2|eQ6RlA)Vz^sPP5XmsSmd4q7djE(cB6!?EF3cE0lw zMW1Fzj!nD@pIsWxcLf{mQfSj@5fM1l$TKOglxO$j`}O+%!RIe;e0uJ@yxO^WlCK}1 z|0PrSyK>!g!DIQdl^f=)=CnNNvM?ub<^|@9G0!FDJaXk0a*{mS$-LM=R-nn5MZrrU zp@q}Rv12mV9HT=*j!h>R7OgNbb6dMAp(kMhm&k^f3s}26?yPFy2w-v4EAgwjyexr> znXiTQVnUy~qh<F}Hbxc3Q%AbEE~kjPC~$;CrW>mJO<`CVYk5P}L|V}(#8>Tz-=rmL zBm{Nm^?vxZ*0NWlIgFt#FolQV)U(u}!!rerep#;KrC4BXKBKC{N3vTcK$%G~+4D>y zkLdC!7KfiJ)SVcNE;#hEFP)fL98oZnO;m5wU7m;(jt$*fLf1?$F`mm+i}=8;nRX+y zY0j5NW;(nn{PR6xJ{J@f`t`^-oMr82<2g9Zq|xMrmCr<;)e9S26_gz}&&?|CZ4TSX z^X05&$kNdD-Y+?mS{OZ^YjQ*~F$6G{s3fR5e29{kc(mY+Ma4_64EeJQ-KJYfB(r_C zsJLN~+Oyy=AJ?%72jl`=TPEwOM5HX_o7X0hB4Mf~nb;!LQ;;Gj@$gu~ab77?J#V%N zjngk&Xxq7avB$;RdOHi=TAh1w;n^4K<!V=^FY>;Vo>#mHJyF4mGC$RyyZHMiADV2k zuWah`5;rE!k`VEpPcfT2gkG!&Q(%xhB6((6Ayb2vk8x%dgBOEPx56d?R?aCbD?BD~ zvqUg-iZR%7JGpGO*yzQz<f2Ct*9)%$j2gkrvs&6-Ja8{zVBC3;!-;9dbQbHGZQ&kr z^D>V$9ng@}>S0mxxMG~}vZgxw`Tg?w>(kHMRy_Fq^T+Rx{+FKF?JEzQSySA9wl(2` z@{AHkhE9zW;totgyfeGR1SSbEM#WB1IVP~sN}I!}OJ%{T4E9AGH=bI~koFJ~Sis6~ z%jbo_(P=6wT@f!faj-99ag09Ku;~<shl)n0$m|8h!ZSo(>~cKhJg@M=0S%>&0H$W` zMNDZN`w}z)t;948WfiuICg{&<XqdV*sPV-THw{H8ZR_X1#m~h|xUAQ>HmO~BX69xG z7NxTr`Vyi#ot?!a&J{%M7Fk*nBHh7}%Eq}spj+Y6$(79tmwqnbYmrE7a%?(u_14Z7 z3!e<(s8feIj81VVoN7qCYjQ9`c;-okOA{MSyB8hORX;DaL&EjI=cSWp-0(5DnizCe zDupL;5o^1Es8mmZ<H<=G2bvdqP3C&OE|(|p6zfvgwW}s+H9D}a_q>t&#F*jP0<ITL zT@6{xP7x&s#Ade~%vzHukZvMl<}<ln^HedPx!VkL_GUSYjN}uU96RKAGLkzYnH4UH z34A!D@Y#`BM#6EL0mC7l79GRGZhW%3%&SV(9UdO+k-nJ7Q*3K?R?0f{y82qPa<`V9 z{P%qJ`Mhm^6TggqncoU0?8$0sk^adGHX-|>R=n8rV(MaT8=;reXB+lKE}hJEXsS`O zfKrzz3&$m~t}8Pe_~+c5xpK!^PA5l!jk!#-IJJYWERf*v*lfwgAk?7au~*x{NA1dl zpsoeM7Mof!6CP?r8&6?i-6c7D5rc`xqeBYH!8Ok`CTE@98rC{1b)TEbB%g&Gk*=$z z%ZeV~Hm~+u@!CSZdF*uoub-cP-S$f@j>R(Fa;KC6n{s9ELZ_C=3zM33Ia4$kqBizM zxvW(?q|)RvCAL5E&?GMrFNe<63_1=Tj!PSuf+RSV*celpSM6kVaP3lC#t}T{%0{k5 z;o2d=b2OGr2}qiAq_5S}BQV(1l$k|QnL*=>ge`-Pfr5lk_olB_!m0t=R3AC08wE<S zZZLbcs%e%lm)@jV|LQj=SSYPbR&khM<|5M8wqgMfUxmls7hwSxGK8{Rx-ycyGX>i? zu0?wou`gv4Q#ioPJ>zuHF^#q<5_wa2i>KHnt6Z7WqjYL<;}V`lPl5!lS_L2FX?)Pc zc(zw*T7rN<cgvB9r%KFcop^CBO-wLlbIEaMmCq%!tc3YBOpTYCv3IL%@%j?IZn9PC z$w>+CG9+q#2_~-6V6k#KBB;D&^|O6V43U{z)<=E~63p_j72#@VW$+FCyok*&S#inb zbBng{@g&4tFgVV~Q;;^XZQ{a%Hv|sJNn|QrN#U^+NM`5d>oF0to^kj^W(t?DMkYtB z#)e+S_A?)^T=rF)vQ^DO@Gh^!vxm1Xr}fAN-I`uvQ8%~dR$I7v>Etg5s}{~%Gi3^_ zd_qlOoD82|RO;016+JI_e$%w&E}ll`rDyA#Z1lF6SJJ8xp>*Vw<dKs}u_ED4UFya> z$C9{Tp7D4Qb7}#jYomgG<#NxGMNhVy2DQvQCBop)t+1$7L`8~Wmc#~4%{dWF4MG9a z4HWWb9MllnB@&RrYdkkXBRR=u-&}@9$+O7{6`3)o6`~9ymP*ZgY5C2rmVd6Pu+6)D zlD~`iF6xD+%s7))nAFA6IbC%zN4(P!F-^g42D6pLNd`<uXSOy4%xlz$tYzXi6j&rS z<;!G6X>S291|yM(yab0v4zaEmtDdniE)Gk&^LgqSrj;7CDh(`4brz{+woc(v*m@|U z)aB^G6s{&uu0|716SIYiQ_nCkJ1??QP~|E<yOtr*>CR(+@4aH&4xJHcMI|%V&Nsek z;G(-ICb?mAx8~$|b48tU5+~2hQJXe5=V2?u);66@?oO&xo;{kG(bp!)dErtqPd}Rg z<HI8X6WthG<X)6;JxlgH*Oqx%uvd|hp&(>a^OV3<B@zWQHVNnzS-Z&bFKQDov^g`C zZ_337UL_k2O`X2{rP{XjtdhxGCJrALES2|~P{!x3HfiP5C>7)LF72YdEi%iCS1XEm z30did=`Fh?eJS3ErIq;t=So)AWf#O8U9%V$u&iQhS>XCiN`;>%aOL4dgM$ZK3^G!` z2%HpL=EHN5E%TCM<18<4rVy?$t1yX&2m3DP96b2hMpxpF!*MamWDZUyoy@e24=<iA zmbP3dwM!<_<o0B5UaP`ox7b7WE#1p6z2n!DYQ2{y=RWysSvMoS26{jMdLmP>DXF<7 z=Ou5p$SVE$-O|V_eK|MIOZVlQOm02P7Qij0<8M}(yy{G9SfP^h5>?qVZU!98j7%>! zykwlf&A=EI$6}e5*zMFHworJL+NstHES)+FT$?XUYFxyq(2%mhb+U7kU#iAJ7mbZp zjhrV`FZz`Q9Qeg}fkT2>A;Q>Uh2Z>v8B67Y=bD^-)jiSmT<o6I4|6M5uSwb&IxXGU zDou=g7K7fBohQFYYMMwaOmWLP6_z#QYMxhEi(LW(Q#12Ig$WVNENlXrTP~XFBsN@# zYSLNM#d!A6VUBG_S19_G7_Nxn@!(6~)DUT^QgB+rvgnegf-3VOSGEALhC_nMQ6`pJ zArrlhabAcztspT&N@p)?L(_p`UZ)fe9^Iu;J#W+;oEe;ybEE&&ZxUcN%Q!GaZ^6+` zLSd4LLEV!b6i!`GIu*2ZstHHTtF~3Ugr1vLs<?8dPG0mhXwEqiiw#{b3=XOrmoG>> z%ynh6<J5EK%JR~jc&99!pwJ}2ypV_Ak!$mZ$qq8dBAk5n3NM`qs5utlI5A|In1KQ> zQ`={!;^-ybS?=uZf)^JbZcJ<x^bcvg<5#(0LwDwy=9a@#v?88+Fyv)Qyx9A^tf57K zbwZ1(M#?ltWzCST&Q%;nO)o3lbT|cy5|q7k3Y?i_FDQ5M&wS$78o7w)U@wodhojfA z=}HnNhDVl7oV-io!Eu4sULCV7$sCEy92J+2z4qfNczA5$?X%Z5J0$PYJ$tyV@5LqK zB^j6XqXT{(x3u4`UivI<;cu1SXO>_eGgXk$+OuW9VU4cfb(<3JMJhAXr$xS;<Y`>Y zyy$?4O62^RS!b5a<Vg!)X%aZN>ujS269Xe74^ztoK}Al62FnHoD+Z>6sR}%QSyTcY zm{=KNS)yH{87~MaIe4<9zKCF8kZEdg;^I6LvgMFi*t!F{m&6!VDs(I=9lIEu&d<BO ztTpqw|MPW;JEnc!{cPUk*-MlcTU|?I@Sf!@e8Fkw;+d1$LKzyE0%X;#GLETD_dM6A z;2FyAvn}Z8v>B=ak(pBs*2=XkI4!=ySW}T9%414M=Nhry$}^`(EY;aCWx8<&m*(_~ z3>plK+~KLss;BNebW1$6D?mf$mgWVn7Xmw57W$>Aw7l>*#Lc4Uz`9^du~@Shr_6&5 zS+Ax|Si`B$teMI*F~n-W@r{%tp_&J#NX{_0^N^c^iAQ6@i5HW7y1900O`b5#z|@y3 z+jH3@CW#Hs6B8=C1@_9WkPYLJmE)PY+^Vc=tu>?Ku^tY`X(j^Q+A~hSXyLrXem3z{ z#0kGFjdbHVhbCUU(#-J8h?j@eda1l2izGV>zsa-2ER!7^mKWR}omKFT=}BAqu4B)S z>kCh)MewRNBp&+UB^uIu>7_%j&g^q*Qd@L3F*zLTlD1N0uuOMcx#ZA^Kur}18wS=1 z3bA6`vs>FZ9&k9EFjZSE%l5FjNg<hga_WMD<Yozj#JpL)9K}3Ivm}z+kBY9DU_C4J zzy`mZlH!^7-80Xn8AbU@l+MVwEc4~I!^bU2u|XGqmCp4QDV@9FiRIC`s(&rcJ*#Ga z{k#NwVKrgS>8F?WG<?pgC~+%wx0^X-PI?=tPk1PGzGjxkN`)}tmWDN}0wx<YTQs_| zX*qUwi*TBVMJTX1xHbiHXedbVGCBw_EzR-eWMGixGMb{%5a6|dQ+ZJbqi0ev$Aw!< zCU|PD+S0(mX>#OVL}Sa<2-jVl93oR>Ix3eaFl4y4DKBm>-f3LiSDg2mds@kyE52<v zS!e!iJX5mUmv{QvlwzjFixF%B3rxb5)}&QVUUg=c51XUcl?~kz0SpbIOiO~2xHSwi zHCVJ~wh9Pzzfk)5Wn)9jGesswhbc>2R_Pd8t8bbVs3<Uto735H!ZWVcEz%60D&kVI z0u57=WsdqC6w!_QELg$K;bPot{A!!XhLxQhIy1zrmR?$86(-4=wU$*yQvAx#x?`ee ztCvnw{35_sY0VyUeKo@c4TEk)h7yf9joIhkByw?V=!iJr@WS9(v#{1B&wc5PTpOof z*l<dtpyAN7h?2f`H73av1-8C!l|IKaf7Q<LZ0O)#z^fBIdoB}?^qfl;8&`{M;gFLs zo9-p^q9|uoKrW9_vAl7!&Lwu^xm>(gC%G9gE}oSwc(7N;s9C}0Z0HJ6%d2Ag3y!?H zb3W7~f_Z`1qQeVMv7XJFkQAY+!!<3GXHs8dzyoIextHf&GMk<%H1VwJwvHXoMTLYq zd&Ev&Gim2lc-SH(@o49I|07a126N>ycnlBr@RV%vI3~r-labgbVUq6b-1ywsq~}G( z+pNR9)n~U=JUn?}`WK6G=M}$f^={UF%q=eWbG^=eD}5dJHgDAC6=VRyGhE@*#m_ei zmj2vY^DDit<J``LvpMH=PAjxIAvjl*=MhVTO2BlVM?KFB(+U+>BIac&&S7ZnUJ%sC zBETvTS#z32D^g|AFCCXA2gfMx=dO$wcCfYtD2VV)PY`+G+QO2wj$whu95Jx~77+oa zhNS_53=s`F49qNxPF-xAxU$Nvb5i<Ju@`JB%^U?zA9B3LD;#q@HHyRdbMUOz7rCrW zL5^lBdaYiqLB|-KMOYOYTpF6zNJT6-s39cku&_()*#nmLg<J<>wAmaTTVgpTUpUR< zJ-3@f=;(w7E1g1Dmm^oFhH|ZJn0m2l248}P;1Us2gRT|^CN3Vv1Sb7ODnSz%6d0R0 zX6be7M9<}9Jmc^}$;`k(-GxD@um9w?NcH@=TN+E)ni-W3>(4sQpkeDRz}m~k+{VOk z*E=Fbq3O7!o0Y+WImaAh<z{u-1Qe{k#<Z(At?Q8Rf`tc)4@kXGoYKsg>dLdA*iuC3 zIM0+VE39_u`7)&RtaJ*x%eCl6Pz#H}vL`3KUQ4}D{t}Vwv15Be`-Fsud}Woy-qwd3 zFMN1(c<EHNCc`DWcnpq7sisVvpc=KPDJy`(SMN-*hwEo~M@G&J1BDL-jC~V|I5u!F z<_MiCDdg74bX4r-j7SYAxxmdFu;f;jmnRcb)W+-%!9+GIVIGB&ToDP^&(aI|BrKEz z9v)69s(8@eD<N_5A)n;3{$q`Y*)vwpHo4fg-TdXX3l>E&b8Y#y&9#ooIc{s+w@>dS z-^(L^mA)PPW%O1Tl73Lq)RcyTr9U++ZtVz4UQ~I@=<@ku-?UTbSsp4C>{;_MqDL*M zF+|yM#k68Q;~7VUxi~k7t=Y!F<DpiiwKZ`A%fVyW(Tff~KbzRVprY-XJ;8&KIkaM$ zqeD<ot7*ofE@tP{ZMQalTzw*J)xquy!rVug#S<pEU38f0#So?-=D_55l`&hRLgwer z-Pc~|=L)aT+_+})a+$*^jsY2bnJ*m9Djh!SSJ`}N4Qp3U!UjQ>3<CzPD~rA?=v<k` zt<Vs2JvE8lk)cuCYYD>!nF9(dc82ww@78H%=@XL3>()>ad(^o*Bw2gLQ4x1%5f7hP z9vOK(b2aW<b6^$;Sae9E++f)h-N{pUXYn>{S|H(QV#b&$sw32JFGJgfQ-kTw)eCNg zi(1}WW~^8`Vcncd4o775``;Q&uQ|q{`tllI$}C1F_mV5Cn%EcJInAv0NX&sFY~3-T zMLq&M*Dly$;-#3q+~S2IkE*K5f)JL=a$B?g)a_ChgluWB+`#Pa*Ax&W`8*+Q+TBU5 zZj2M6%g;Ja(`oK>UfOsjk?qFO-j;)6;@)O+maH+{c(HMo)5Vh$8c#eZvN5wVW?f;_ zB5*Qhp3cRp7dseJO!%KQiY*Qid$EYYODffu{fuIpm)S1g=A-RrvKjB3mcG!qKtO2D z1KncZfXWnw6v;D;Q!k{5m<S2<r7LhSy~;4<xY#m9rJ<1_!r_a^I=_-#dM!NC%{;ek zDwp{$>&%?Y)+dp{laSobE0-Z*a>?@STq$OgzGA~GwI)&%?#*0MHa}NXf91tJw=b2H zK6`heZiar!{K(yyCDx?YVty%pRrYC@#b-|saedz9XYB9dZDO3PICFJeUCuJ*X~kFP zTw6XxeTJ8g;~Y;}2Bww<4WXj~p!4a^o}V$(=iOAt1;t&d6Li@`!d-irXPr`a;Rs-O z6~WTY;3@MamPcmUZHs*wOfe2jIt@$=Ng0b?EKCtG_0sBG6vWVYfx&}o;^~y0<Ru#C z1P<(+k?pypN|Sl#tScH?Z0roovrY>Iuw;}p_ynjrGO;^38*`V~wThmtK3lfg(692? zg-niM2f@9D&W?(LIf1EM3Ktkz7M)UFz!p45Z_+L&;rT`ij9n!eLOZ$V?uyvgts(W? z)$4`H!sMeutQ`>>9;n`QQCPTWsnd%EU&I)lzEqr>rE_N5i_+N&>)DQOo!b=6sJtb@ zRYPjBS89k*N!E}53{E^M-E1;!y)V)YnlimwSH_yO@+P#f6z?_>Xi!Kt5n~lvqx5s_ zxvQ2J#3V{Z4zKk(!`D1xYLZU6p}MK>iYsf{o(c86j554)VYRV?po)=Q&6(J@Z>KtJ zU^``Yn`u_d1ilwjrWhC$81|~EY}_CtSd#Vm+MF#xryASa*eo=!rEYWYuoK*r^TC;I zy7H06)?H^e@y`lkR}-0GyXEp+$!%M%vG6KQUf8OvkjxhE*)_3+f$_7!!nV9-u}H^; z$Yd`agHG;)VuDplZ<%x$x?7){@@Q=6a5%;w!R#m|k-&UGX!4~J1{c0?Eg6G?<fY4I zrM%2C;ghgQc<i|(<Ktmpw~cL$hv(dN=UdFa^VQ;)3u?V5-O9MU=2u%-_PYEP<r$@) z^xfoF`Cm4_ie8YZ8rU?SYd;(MY-!<=vuak#(|vA6eh##pSEVHJamK-On>E#(=M~3V z9%I%_(b$(H5phX_DWF@zF-1rraE6D{E)jMkmoBdtB3_|qRJ)ce;L~UjlVs#*;r7{d zm?6+XgoB0MA&ybYx50$z*t9?n28N4COPxZv!d3?@w>z_Ifyg4G2@EGMsW$txC?*y= zd&Nw6$&+yD<($Y=1_r-uhR7t2;90*ky#k8;CNXxadNjtWJ20NnOJ14M^-QqzjAoRm znCL~HeKRI5a#j>%Y}wNwqO-wE;i0X7S-Xvu*NX*5d!C=^aBvD{m@>sDm-!-B!W0RU zRT55|Ob0u80%8t%ah7-}GF%Wj#4;<iWv4!4hhMAOqzPU(rmx&3E5N~VB7Mu!3rfx^ z%u6p=$$$LUbk>2zsn|<a^X#f+@itvuY%ij!WDR&MofKnP4!@9;S-nW0Z<@rFRY55o zH+Hz(%GfYh-?d2QQ^{@~y)4aht-S0rYpskLLZ)Phc-c*pVQ1uQ=3m6(RNO7JefmYt zvsJsp9eP+SJp~fjIL>A9w3e)vIvB&F;O@j`l2&4{bB2l0rzNwe9N2k=H&pGCm4`Wl z#A2T<{wA|lFJx9O$q?LC%%X67f`%OXV#n0nxQiYh5{Zr$SJd58do-BD1X4wn_`*yC z8mBC4Vz|A!apw#nCCdZMifm1eEgT!T6qKA4o;xzTCM#Ob5MXAOu`qb@(xM=(@z}(} zz0B_B(L9$j<uXn9iZ2;lOn-T7U$0)CT&DAS+2th}vKNlq+FHK2Sz275mwKb_q`te+ z8?@6UoEF$@sfhS#Qh6!q`nikKR=k|!ZdQ?guB)kV#`*Khj3uW=h@O4+ct({0hft)$ zX9=&Z0uLM84Az(jF{jQvv&dy;tK^wyiE6pCPsTfVq%<a3F?hPL7_mrJ?J>{|oh4bM z^dy$SFX6?8C94FOx|ru2Sux96K&^rKnUsJk*F;HKjkB3+{)(tIuxbQys`5@@Q4(WF z@bY#_%3p4g@q(#~!;_IyVJZtF%Vfs{2ENo1MvmYalTO}R8nNA4+=FFGQ1O>pCA``! z@;>LfSW-p27>nZAU7m?CBu33LoXgF!;20<8#Yf!Q^DQEsxfnJHSh8}ourP2sFXiIV zOOSAqI5uIU(Voz03|tM%IwC|Cc`CCu=`S)6WNE&@@?w$Yk~ybeupDW0U<r4*ShId1 zo8?5`?nzTJ6AUg(9MzvIom&!-!RBFh@PhI#VZ$IX3wCF%UZ>C8Orrg47w4L+F=Bhc zxp&sVw_%|T8Elp}jTiE;>~hr%G*od4`Wn%2Xk%(gM9mS##0mKhlSC8w7aZW+t`OO1 zl(k6wESEDwa+PADm1EO!CX-FYi#d#rO*gqIad6Ki_qp<2i`o-57P`o(bgEc2yl~w1 z^KqzX%H$=fJkp$L!oIt@c4karC{T5rvC1pb#CgM}(;5ly(nSo+CUQ@DtrMM_ASf)% z!Exo>4AxD>CM_k+F)xgGO9b2|Ff}TgL~J-Vp}CD!nXg@$$5P_pDK(o5$9eLm&UkpP z%5uKDl*VT#8QWPpe{-(QeZJ(PuiBKCJJYsg`_5l0e)jiy*VDT`*JtS6h+CKY&1VV9 zK@&b6`fcrf$6J?AWs9;5iZymyy7F1TyjnrlM5Zf!C5>vS3E}dyJBoK1&U6&Z;E1>F zZk^(o$b0nQtuls%PAr|*Y8B4A9=4s9wo>G&sDhY^Tmyp#D;Gm#)oO{vLvJ$64K>a> zut+9O3Yy~J#w|9%_f=La3#<GYhc*H2-lo&y35(Xw37pf!GEGN_!O2YQpk9!xXRyrq zC5O1AI5`-FJzE<D)`~7*;CjX+dV#6q8AH6&1p#rZK#{3k?5WYtUUEs70?WG@n0_h7 z9AH>1Tg>cnH?Cn_N2K$TMH`;2E;w~|=Cpu^4AZ<AQjQ$qVG?1LbZK*G6me)jlhn;J zVU31tY(tZWgCobn#BPR#u`J9&jT&>gIHEi?v=?e_nV`y~?tSe(|Ajdh*-oowT|4Bp z#N<N6#yQ6}Wbz5?az=%FU)h>*aLbg5TpWF6IvcO>zBshecy@->irYCSGr2V{Hi|d( z<#108tae<zr9^>oUYdXj*IjO(qnqX`h&1@j%4y-5D-v;uNmRjTxid?n_*oYgr4vm_ zyCkBQuw+zi+Q`YCa3YdzWtT?8O^IV$r|;!im&`xw@H2x`>VDH=W-Cjnn_eu?h*L<M zzU)TErRPieRQMSzT6i|Ni3u#|R;)Q95mg<t?ZIiOXL+3xCf=OgiH6E7trt_C3z$yi z;7C<F93o@U*exNTB4My`ZR<0!7bli7v&~|jI*U2BE#o==i)zk`i`$gljc0t^a>*cb zIeX2w$Xi!3P2RlNc`3`Jq_^kt^4o5w-<7<}e0kd4FaPz4-LLK1mG<oR@<m!(<LSdL zD{tC9Y5K8=Vl%g#kNLc!sc@F(ysl?wbb=REPSWw&yk6&>a8J>>bT>hUm8%kN#Az5f zh#ByuwsE+2W{5Bw2L`W9a<~@FFwx12;hfVh5hlhCmdH6wyL8s1HSgk?b4JEMp;<>s zz~F?_A)UsYHWn_gkR?~!wN!aF2`nn{Wn=JQDi5txoiSyxrQghE1w|Ll)(p1Kp@(lM zyh>t<<cOZZEu&$uOT>wh>p=Gl#>@>2LAy9+>1dc6DmZX1VGuSoX1_dxK|xC}=umN= zx##IkkC*pN<YjoVCTL@kVAE+u7lwv5?eJAg+ni4E&tTM%>u})KDCC~y(yM38WFqRS z!X$W3)Ip`KQCWkD!C+m_0RgW}6Qh|cxtw;TXo#DN#GH8D>_7GG-|Nq-&$GEm?Ap%c z<do1o>8!5PJ<cLYNug7-7TkBZ!tA@QoLMMjVW~)Tbg03?Eqg-dXcWd=@6z{wA++H~ zjAR4Pf`?k`GZPYLo;$_XzFSNqTIPjVzy*d*o@K&|Ixjr%(ml7cKfpSAi9*eVs5MDB z0S}V}yyuECGP7S$WHONu(=lk|VKsHKn9QqmL!fBSwWqs+{3dhBtmf4!NjK&Y%ZYrD z;@YdqAHK9rW=YFRnYDflN;jUis?1_|cwq7@UcI(!>paftmASk1soR)1cwN?Y5xo$w z$4SKLkWM5s!-fut1I-d<VUmvLy*Z>8pR_bFIL;PvCF+*MzjQv&l9g;yA0B(f%~fve zH_4oKp*`B~@nOHc)1}sYd~rE)*{mv)lDV9hBiAp<+^7Hc%-^88opX&|gie|OpZxLk z<kyu8vkR!)YO_ntDy_sPDseu?B=u#5GB<B+jCrecz_|F%=@SaiWfsq07rLowsTQlI zIzNX6+oCpy2@*O>(?bQ$wHO%Z=O)D*4^8D@@L=jt_uSCbog&P0En`Bi!bDXrjz$p^ z!$yG(jf)*8vILaaXtO#mO?v2f=p%=Ltaqeq<KkOgQ<kg@PPA-O2w3&fElSXGn$ra9 zNvH26CcZqw(DX4?OeNohWzjE2U4~A%CML$YLdFYgey(7+G;gYj7{f-B<p%1GQ_rY~ zIoe8`sa2mdZMK(8y3uNBo98~yE^E(^id9~8w{2ooS|W$eCME%<X0b>shFLrjjtmj5 z9na0ov!X2yCOhbqH2E?F-0RtMZFPtu1CNJ8xZy%3C($zs+*h`?TuhpC%~P*2%kiCx zOx)*ntp}y&OYQx$|K`VebM4ptXAr&_u_rK5TxGS-Rj!3R8XJpRTNPexT<EF%LLu|p z=|#`VT$FXzbvQV42#H<f?2$Y(u|<Mo;hy8&3s0@N!y`Y<d{NOZt33(dnM}TiPl<JA zzL3?#kSnSoATniFK#9O2b|HtIz6^bes@e;AiWePFc<?n!QqpDW7oA;9-LnK040h_Z z?aFMjh@QDilAA}bmgkbg&z^)!Pl}e^I&dlE%8|KZ+a`rC6N^X*Rde{rJxkMXaw4C| zT1JgoJ{ED(tckZ4e0c7xSj}?yFjL9Su9PVfW|O8lHR~9O@N_f;oN(~cS$HX+NbxRv z^Tc->(`07Jit4hqnFt(`k+?YLyp&DB#mDVZyc)$OeR7#E3YU}?U&~y4Ts<mwdE|?7 zpTflpuUf4tDVggRW%V)jWZ9_~dW*iC{5pHf3+R-Psv+ak#m8QE*i4RDZ*TYFxkuTV z^k*@fpDmvI>{zk6U8fMETZOWfisy_o#i7U3&1Ph@9aWigO6s;&?xbc9CxJkgDH`6h z4m`i8v`f>_{BjthD}!cBD$BZ75j95x9;pBmh6aU|p$dyySvZ;0mPrUGJ7j)QF^dS= zxJhu6&F#}lUn<X-lqoprI+~O$U}R8Y^W~kS9}r{osO3e5__?fI#X*iHI_pxVaJVS2 zevx2YBJ8Z8*L^TiMdX=7gYtsRpa?TwzB60APCZj-d9Aup=G~+z8xr{%Qnk4%zB~=& zWVpKFrL5wSzT_kk21YZkm%U6}vP%L^UNDm6G_hDRE5YU*<7I<)O*#>WI?tr&2RnEM z<jtIwBhsMS#i)8QMZus>$cgy^;}lITZVm1WJJ&rj*fK|N$<K3kG5>P?pVwdgQuAp0 zZ~qUqMJyaunU!8$dm>H4HXd3URLG>Zj6t#Ci%!|nB}*C-19k_bc&PiehIgOZ%i&iR zBHny%8sF2!$IG*xd|eT5{i$yG%rABuKZSd9)&*ab@BGi;^4Id`so(0;4R0SUy+7et zZOB)_$%{?)%6+N0aA*OODBBcCZjPAgTKc{lXCB)X(={#Nz)fjqZ`N6Y49`+lT?<_s z=n|D7mpsADw01&(!zL4U0j1)XD?B_>I?KIe)jbaLWgSZmlj3^zxIkdTrv=U;dnX@! zpvXOWg(J6AM3$+*3u9L8i5E^y+~ssKAUP!`dC|q3#`d!sAp&=0{Ayk#FtTec=u^~8 zS;(xd=OD@Wq99`Wn%PED+*3UprwBT`@yJ=EbouFIF1ch;aq&g5$*i+#jgNovo{wBo zx!!;0g}GLjb2Y9<{OdKj8N6!8_9fPpaotNqpS;rd*nRSsTF}Xr8BPL|TBaxl$wkM! zsnl-emx-4Sx9dFZy)G~3SY-O#v*$ib?!1<&;y5=^+R%YhnB}q5j_)zO#XOHn_An&P z<tb?jh?wA@!Pp=WDf2SiWYLO+<;q(&c(E8Jb+mS+W=3&JY++WI6|qxNqlm9Tf!ReQ zVy4~%#)N5?V=fnR7cXLq@HO3`*l^tJ(Tfm)qpN;iS+bBzDq`ZMDMA894J}5IRlc9k zUzmIJ4O4KCKo~<L2ZzJtg{^9nS=wDqK5H`tCNw!Q`g{@S+O%aC&x&);HheMj*evgH z;GjmqXJ^-JkB}8h9xuA09>&~kV%gSoC}3f&6{q9Q6-oy#BsMe(SeJY2EzO)Hmmu?E z<6Hqn$0KK41yh5bByqO{#xe>EF*OOryNHQMH|p%tny@hS(N|W{Zne)rdLOH7!nEXN zrhmTw(#G_?*81O(AO4EONQCx<nycq5{1TbSGwEsK)MXh4%mpe}t}NDA@N<nqCeu}^ zC2OB2T17haKZ!k;SNik%i{kJ5#8*AM-0yFFZSQfu`dRyqyn1Mrdg95S`(IvPy#00i zf$I0s_kP@Sk8i7Y_-q@$*G_WAkM-$CZ28aqyZOt!@!Nda%K9~b6F=QEU-mnWe~<4r zuB8FpOBPNsSSr;#>qwu6T8YzK$+IS6nMI05371MFYpxivc6&Bn>e$dI#ly{HGR;VU zF*!Tz1oP5|iY+Xz_hvOLoU}6HVq@67>`<=5PLk)A8yyNhsMRwuF{*@H!0>2`bi@vZ zmm+Hn_Z(lI8r897R)@%>Ua`Xr*E9+?9ORzG7QJvn_8f&29xDl>7LHAw9(v&y)fV-6 zNl7TX2^2cF2^2gy+}2}}xFB(Zag@wix8{J0$0mEOUT&+r;I_@p%EgJlF6Q=C?J^7Y zH49h2VxRPlul*YTGVvVyIKPvtZ|Y61YEfIrb!4vOt*496XP@6H9dl4>UzoAul<gtM zmTTKwQk^_ovwyx%TCv8wT4PQIP6nZ-j+YIO=gcbR`O;R@R3bQG(FYcRG=?)Ofi9Zo z?&`EMUvOYx@(~T>;0g+I2vnSR_^g#w^c)r?0in4(eF+SzVlNtPxirtZa+V0RG6?47 z>deZ>61=G*HAku^N$HiqtPL-j^k;QndYk(Bg>&1Pc_%V!CBM((;yYCqzNRnZQjSr? z1Xeb7rza^ZqaqwUoQ_Uda8%<Giw0lI<b_HeDkq-xs{1VVNMDw2vrsyfeZ{U2ui#X! zs}Txo9L}nEs914$YKNR&FioLFTuFo7a<0y_s9Y7lgpg3~7e?J&mVF^1JS{vz2NW2) zcp?@a{i350C(M?$VqLdBlW|DE9s!1yXBw-HUYN3HPR;#kJKsOD-|%T`rRLu?KlZgV zo=M>l+?-s^b;59R_S6aaM$IqJd}WaCc(GEndBqpTN5zvlHqKNEOy0uSEX!%cdZ<En z{m1!t`_Bga5}$ZqH29;xZ=uzhn-34XS!?quukOR2w>9&xUVbFE=EJ@pZz?~_*z)fE zYNwI3k?+{uD$QGO_wU%pTl@ONFLA$F87xO5GExOt?Xz~S7ZBNM9AfF%oN`;*%vt%M zgVT#d*U7Wm1X}wSh^uvG|D3)vxxs{+yGo#ZW0O-7x55F_D5fkY5AG%EzNX9xHOHQL z@2g6#?62ae;*u!RkyDdoW-vTza*er-U1@5Ypyli95*}9=9M`GbWMd0BDNxed=9g5$ zbl5vMl|Prsq^D)-RA-h(VaHk7trHfu3K;k@usI%Wv9Pc@FU{U}Y~qPaXVsbmmt3;A zmSLK2Yf<mqoBZD7wcoMRb2D%Inp}3fVx4-u?a8}Mr;dGVemniT{xUDG*t558Mzp40 zS9NkKy!gEN*da}C&LwLL7ti92xl}Zj=Z2f%=QWojdnTPxylm0P^z#L0)BzC{$5WQ< z+6$8zw8CEOjAT${@R^jv;>eNi6UunWh0V#RTVv5&DTcfxfdvcZ_%%LT*C6uD^^{Pr z^3oQLj73aL2mBhC8pYT)PjwXt*lwY}z<I60b4jJZ-cv=|23Hp}t~epd-qCnVV8hQZ zmk!NHITxM2=UG_fx@Vs%=34&zcSh>&Cg*2e?#jlKy$?*i<Y+vD;c5%-0*8Dz?t@D? z6Bd;)Mo9-437hTwecn{snZY2~OQ1onA?BsR)HaP-I_U>9oP;L%^|f@fUYeK_G3k&_ zgwhwi+`CIxZMu+jkkMteMhnBvNwXLawCN}?DJHpfU(s2xF)CpXi#EryQ)-t(ySPGP zS#|_O3pTF4v2M1Po6Q}2@sxjIzt#y&T>s`j!|^W?DH@3m0*THH&nD=|HJxD&ZR2Li z*lMwFYKhU3mCqgpoos4MI`&f8k&pRgU;H`!i+1^EKmVTTzu@P+#mD7&er-SRwZUS> zr6*_QN;SPxmj=wZSMw`P^*KZ0!l-_~l;f9d=Gy1~S$^x>vS71ieT~j)9=VaSIujT^ z&lNLCbe&M{H<dl9Sdv46b&9NBh|2`6M6Qy3MHhss5)HY6twP1mvb9A@d2hJLw5Dl8 z#j@wB5doPc8@xJZER(nGF5qhZl@h&}b9whf&lwt$3H-Vjj<QLz9s20(#w1a5p&*fm zV-uVH%tpQ!JDma!&zoR5<HP|IjjM@bf*DEz+XC4{xR!)$JQT$u$*tfxLEx~A#3QMo zCz~{XRQX(9%Qh!dF2iJ&uiA9m=B>+aosGI$ygt45*tE>cTgz;FMamwpD|wgo^5j+Z z;!^V+vD0_fnq?Vnw9IwdtfisUq)~Kz){3o9nI>ECbxwF_6epD4>lSB`ek|DP!d32R zX)X5>gB(oUZ9Ue_Y<NB=wrI@;U$ur<G0${S*KQV<mRREkMI$$_sZ1O!EQ^=|SXhjT zxjghHscs27ZXvYRaKW_|o*J@@rsw>2rK>V1rZVUVR#`hb$-HyWJA7g9Lah{Lkryda z&zTiozA(BFae<vN`(opn!~>tgxQatgIo2vq4E%iFr{aCg%k56)mx`<HqSl2k<Gpeq z(b<)|xIu_HBb2F&@xm#6$2~9hc<UIncIYtdDn9S&AQ02hR<N;Z72m2uT}fR&L0!)b z7+CThnip;WjYTaen3pP<dG^KGi}QYd(<r#e+;A~9V6E@OWFr;NX)Gmm8Z8Wpsna-E zTeKH!aB1OaIg~7YNyJ2S?K+l(hAxe06Qu(i6WyQbUH<&9|LmOXr}4i1T=rY`%dfu9 z#CoQK(<-o-<I>KCoy#KDa_eljQd-dXC~LOEl!?;>RP;h3lV5ChH_f)Om#mempZqs3 zWY22x;AK;eq+Pp_STT`j&x{$W61ze(EnnqLOMb?9?AU8-cW<i##Z~6l3iod<s{7CI zA@Aj`g;9Zz0>us(C!P0j{CtchFi~LR)=M5v&k7i)>1<qZ@e-5jQLRHIf_pA>+Ik;o zn|(2`h23;To9csY#k)D0SGYd$5qiVL%GBs8;yKkbXY0fSq28riW@K-hGGA%3Du;>S zTG1IU{IkRYm(Muuz_zW6N8#rh!vzyc)`u_TXpwoDm#br!)^a<VLm+XQiQ=S9OH&-R zOiCj51~BU~^Ds2)ENt%LxfJ11H@|JeS=L#+%0IVAGn-1u+{wDOJJW2oS$WK>YYVnT z9Se9Z>uYj3aCy|bnBzHd(nXc+0i}~eGo_=qc4a)}SydW&v2x|yu%J&<RcC&Xh!MJ) zsO>UY=VxW%%$-Z;IEQQyQlF{hvV~<Mn_Qpg>FZ`E7(5=nYYUv9sF(0!VFHuRxt2|h z42?_y>zbeOG8$|#>|}^jTcdE0cXQ71luL0}wytV8)f#f7-DKS~QHBM=3`uQyy^9vG z6z@xIUi9)}ScHNIr$dyxv0e*zR?guGk+%Y>S!brqwG2yrmh@87`OKBGJ14KV(>*`w z+viW^Q}dleuXepWTg5N;UFjTq)1ib(Jc=@}XO!yf;#Fw(aQf<(AZPr-AeKisbAh_a zy<*QLSC}1~IvcjW+9I+fSR**<&eP%<oD5?8j-3~~4^HSSXfy7=c;uCT#L0-uX4W#X zbFu|*9>4kQcGm8~wNKlXgHC6sySezavNm4*9KqNn5m+n2A#=p(bm|j*FS*O{I``KK zY&25(#gO3BV;kq^EN}5g^K1NsTG1oZYOl_})!%>9xhd3gOLFms6AXzbi%fNWUhw)F zEt{Oum~=`<-CLtx^@1*k2$x%|j+Rc^<n>dkcK&1kdj43E<qhky?-euZCTK7<@)(`c zXyHk8Jn<y$u)F!vl1G~h-&fp!J6~Yi-qd}EAH6suHq(JWn0uo5rJjAI4*o_{GhSG= zl-MfyoLW1xTkD>^bKf27Aj2yuCr|ElTD7atvY|lbMS^03@yvHkk}_|X-8|Q^iA|7M zLsTN=rITr=YfHMq%tdUM9ldy+EEW|<xV8nHl$pKDdyV5_hKb!LQ+xv(izB0&nGd=3 zbSX{w6XhAOaRHlw(&33-hk5-p{d6)u@jYwq5KMMuGZ9?c65v?E5un4F+_`9Lo8yi$ zS#Q$`7upW)?32qd=`-26KPq>_jXcwmoZ>=fwu@J-gl^?5o13xNe5RP(+-28{6L;;F zVcazJd~!&@x)P?a4V9Dhyu_{NcwI|-7QBe%vxeu4GcTtEbg1}=sIJHgnW$9ScjvLW z$5Ug?e$N995)MrfPgQ~(Sanyqa)|^?Xl1-mbJR<(veBtqOkz<6(}unf%`kaWHc4)m zROTsMajTkxnLSz@xHTGADhutD%~-Qb$J2o+Y`wFpWxwMTPtOJX3p6a%o31uC8=fiL zoi4s4bInUnjiZ%M)>XvKv(RnowYIuD<y~odoc^V=_T4*=%N}2B?AQ>YymRw?(^s#Y zRwlH)n6%5~%*F^wNh_wVm8=3rlh}=4FtmzZNGo{480fOZ>s5sA1#a#6h75BqFHD@d zONN0(TWqS&>14yNMZ3?NFL|``$(7Y%FVnr2>uk7khPjqqSI_NiO~&_)@xiNZYkHqO zKk4p84ZREprl1#@vt(DFTxrgsD?Y<i^5^v_uj~Bg%dPtJ@qOO26}7_hNgwROU)2W1 z2krXhF8ssg<%X2vM=t;Lei{FGe|=waw$1ceI{(i6*|$McYEcfmv+K1rYLcp|xvH_v zeg{G}7dEBK&XqjF7}@abj2w^Qt~J||J|vqOs;0@!`Dc6g=i&YKXXQFS$fjGI;$UnL zWNnBzoUmDuNvDx#s^?+8Gn-c%{Jftn{n{e@s%7{^>;1kpezTrFwSB+n!@3P;LONA; zR$1*Z=j3N!c<~YQ>I(@WZ>A*3{MomkxwhSU_P6xsoo{~fU#>g#bIGsOQ%}CO44%4d z71ImXMS{~W#2j##V)MdHY|=|NiATjwY#a`&v;-7RE6ZBCZZi{D%gT0eWlAIKqX#Kl zI2ew3t;}ugP5tcaaQIBl6Q+#Q3aJhSjuWyMI-WH3u~=|g!EF+|_Qc+j1ZNI`gRR8| z2@j5oF)nCrGj%gn+1A$9taWNrPOrv>4ugz?OD`_oxLj<y%2~C>!@bsLzg^2UlVUeI z<a+Z~;o{WaRxj84Z@tjXW3sFF%q{~Zqf;T;3=5bTw7HpQ`gO6KQ<L1#`aJ7_#2Jpx z7n4;cXn4+unzW=-C{1|HwKECVynA?#`&{vusOsT0ah6Mq&VnN^6(3u=74<wVVK=<! zVR=eJX&1`^XMu<W76ug)h8rf)JPazY0+dXcjy1MTvCs;Y;#4$H&?;Hp<ZwWTF=6Ml zYuT%tKF<-)+7RID(X)YFa*<8_a*MmlrfHX>ikA0Ys<^A(?DO?}LiF}oTT6J0{kvX0 z`_&iz)@Dmh#s{{ti<Of-UDj}=$-HPf{E|DhTV>5Ez2+cIBhMm_e_ad>Ss$EA7;iA# z*%G>dZ<@x=$uk)&r(SRoby5{RTgG9YF6UR*XL$Z~<2AvXr&k=0n49oQ!PQyBF7o2% z%Maf^I9ORbx&7SUzVIvk+du9*?)$rHuZgd}*#kufF<Iu2NlU$MMou^3G1FE)6IW+z zuUBPNVEyIr^+1cc-Vz5d-Q?Y?{Vn8|edeEcwt6*>gpb<`zy6qiZ=Om?$O(_;>)+I$ zm2k+FD4fU?64S6-W#V+yb3yBszw!ndrzbMSD^6qmVvzFTVUd=Z-VH0eDJPD){PaHm zO#FrVlie2ivt&LqO<U>8W8xHTu&BG(KvrX}m|uoqGWW!GHHLtbrK-1|Uw(I|s&2|h zo8$ABU;Fs;@z(0t_1Eu6J&BMs>wdYlJMuH1v&q#J&5Zks=18rdl~(=E^4aCjJLgZT zO8+GOLgmkU|0A_CKG%o-S^m6#?d92Le~UkT|1y8(<twq-UtXM@E9Jx_=^&t&&C>Eh z=&)kV1zxjjBK(3mnJqkhQ4D%6t{l522gFH;H9Va>>qA<tw(ug>B@YhjWZdNGU$mrT z(qw~lV-aO$o>um=%q2!VDkcfO46{5OXXHt0ml!_m<=MDIe-@j>g%c848z!ms)$(li zh~?p*xwu&(pxSh`&dO<1J*?U!5@&InvGwv4e2!ecILVABaSDg0U9Yjuvd#X^haJNN zObQMzHZ{3rvY^A0r6q0|`%I;~3=A%xRlFDReDav7;_bw7+Cz!wt;5m<fioiKM9$$& z-BzqQdC4<BMK#;hO-xn+W!CBjPx*``4!&U8xh6t|!I9+xr_B+)4!0!@6Ic6o^XzMB z6JR<v#bAQM2azdEN1IeOCOh+NVs)N4L5NL|IdGyuSD=Vfpu}WLt5c?>);%X5%8Gp1 zdh|Ho;?5U+v3>`a`z<x?cs<9vFy=eIMbj<qM*ewo-$lRN8GoVXukg`%CE;r#{1O=U zwKA?^yKvU#3>TwwN4UezMirx$7m6-If{dPt;Xw<lCrk^J_LiFAd8$WXjgrGeuNOiK zzRvr(;7Fq2g?)2Ad`;LERjd(y-eyw2<k277zCZuhJvrBShR>uj+tthV*6y~d+*5aQ z-u|%91<#L_`Woq+Homdu>|9H&Nh=b#Cciv2{TTnryYT|A9z;to`jwKkQhRo9(PjNm zzJGZyZ$0_?Cp)j`(R`IJ@69)uI;3&@sgK_mzvM&e=fK4a3@&X*xN&u%7e_<lUXkZD z=jSenIBJ%eTsbRjVMJlYo?VA$Th6@7FMEIa>YsQ11;6Wm>i)9wC(kp<b2AzQvlqz< ze@UPCVZXPl%>ibaqmfr#zXaA?P`YzQ-CNPMSKVx8Y1+QM&tLv}{_y&9{T-k0yni7V z`|ExG@;wj!vf5e|#V2O0oV{?*A%lp5fU1q+=by?Qe-K|+VcjcJe#!Dj-Okf9KgXRs zzW8w863c@}>v}(3-+B9sywQJ#+?u|5i*E*7$<183iiam6uZ3Gvpy5T&w}Jo}2aTX+ zO_fV}w_HzNYSEtAXwsdamEm-&wZ&}b3R&;4sp;;fr=N>`xpVa1?mcWPleP;lt}%J= zv&Ce-RkOF0)5)`rTdpOvD^F~ZWM}g<@@2eu=lqLIW}bbytZf#C2ism8I>GTmP9x!B zV~dPzw~XVLDK%>>Gg7Y!mO7YMZrO0WMdC^3ox)|a+-I?|UP_8EN$XE{m76P-#=#Y- zk^08KRw6{9Sy9#K0mB2<1_qe}Teh$`Mx03(doj_#PjSLhrU^Qc6C&6Wm0UT5m)vAx zQMV29xpI7S-*e9^Q>GPbHVBqHyWk<fAQs5@%uq#P-kiq^r>Jb=_E?%?JoN&Lj!~lm zBM+COdrRaTB@rhMO>Lf3y~(q7acng)ViR<cK9j(sk<e}^?!17l_*d~KwY<K*4NnSw zJ+q$jX6~Hle6^bc!_G-%+B}*qZY7d++|7Kutt~s>yz^(*d=5x^so7+~l%b>4%Am5` zfO%olQSsF~TMj(fmbO`V;hY1{SQ-3U8dtw^C~BCRxtN{v<f+5A3np4jD%g^=CT;qf z!%sHw>@^gX*|(;xR=M&=bY0!@gQgF)3v*XoQR!Kf)}0@^KK#6&MBbLPd|P&@Z!wFP zU;LUM{WV<j`nhnSj+)1t4<}E2^>XtwoAj-p?eeEapOWmk605jEuUYE&$%?w{1c`jJ z3F^YG8TkpT54mRDwcqfcLH{ya@nMbyA1;Z=yM(4nM$OvP_AurQONHwMx%6JH>um?C zms{Og*7d}qM)-}rVXgJQj(=kI>UGoV=hPSXn^i77$H2j&cwx>ro9(i@!anBM+AFW! z`pjs0WK_u8M<>iG+b(Loa1b%cc$atFyx6MH^5xg#MK9m|yng%7U%SsAcU8Ywzr!nN zSNl>49>ty&yU%*))y(Pd{cZg7<+sOALQl%7DQkyb_qW_UZ%Ki3%Zo>Qdv?vf{Pq6x z^{?#W?yPtBzdm2@OIDfpqL(Iyms)vQOq#qH7q1dIBqFgkOoEX^AlK`jph}U2oNo8p zXP?iX|2O-W`plodUtG(#`*-c5Rjkn>r;V58gl~M4`TSJ&`@?@P{#-6TW)t`9ckTYR z{|sLL>|<B*)@;AL|1|%WzrCNne`oI$eX`3xNqymzsFW*{E7{I1jl2|+c=gChsb$<e zfh-1#Hh$)JKIHRn!pARJTOPLN8GTt=q-&EGxb*1BEyYXQBp1XRJ9AVr>15O#lQ_7T zS<3N8N!PiBZ4#wtAGTRskoaQRCw(zRXVWj4XAgH>UR!F#<fE~vB*H~!VQZI!&W1(} z)|gY?A}oy;9ULpp1qY=^o%wTuf!(D^CxBJ5)l)5sW1^A^gZe@r=P<3CU#AF16{s_8 zO!G=#)Y{<iMWRKa=73~s)>{`Lhm>6$erYPPY@H%HjE++bj98q+OavD;If?jA@T*ao z%OaU*<-n~xv&~>%txiU&O2;$~ZTF1gUG9=|V#C9wem>fHeDnF8EUS*LQF*b5Axh_T z*rlLjs?T2Rjd_2m@>jLKZdTW2?StLy0*xgR8(6(KmojcJi*}qif#F@~X2+Q)RL@pP zr}|s3w2aKuOh~tRw$@^<RXS73t72|;pRhgJtmld)byqF=?iXdW<#X1wxSr)oKcD%} zeDQO?<{!&<6>(D=H=NVazI7+Ua`71l!`n+TO=dY7Ge~au%g(>w-F|67P3HV*>uXX? zO4hF`SU)Rx>JHyiDq6f}d2Y>YZ_1q(Z*-co`|OTMUR8=Ns_L%q{oj-y{}yoFEMa4q zQ1|3R&tz{!iba$Q_Vi5=baoaoU36SbqC!_@rsBj$#Wltk{y2Yot`qok`Q!a=HS-q< z+B|v8xuku^w4T}hJ}KALMU@xs{1Scow!y)}B{jD;-u0Kx?%%QM#=*Or+IXL(^{zSA z`ug#Hm(L}CV?XA9QC`0N`M&L~FD~ukU+xy8>s6BCT%goH|JTny<=4-D=)cgHQuH&u zE^Eyac9)#Q$upd`I=Gu(Jo^63ir4p_R$G_-oA58_-}fgk*S&U++P5_F(P<8$%Z0|w zs#gt7oVqq<ol;p~!o+qfh0j^JwXDwX`+kwXa&}h6;uTkg?rnc%S^BT<U-ivj#>eL| zFR8Qq9sKD{f5%@td8dc-mA*Vs(RXaPcI><I^7s8`@4vO@y`KKr{L93j?f2&|x3jJH zs<-;_{o4Ac{~2!2U;pRMU&}|Ar+aBnueA^Saj)6?#pkL=(F+gN#@+9FJ%9QxyXi+? zC4RdXQt5udaavz~#Xs}E-|hSTUr&F&{$)++jb7WfxIbR^rcW#Vxi9d|{!NwTH~Cs$ zZb@D!P;u$!90|uB9wR>Kv&n~KObRP3%>B2Rh?yi@Gvt-Xyqxpd!<p&IzBG<YFRq&h zHn+2IY9xltNNo33^%W2j;c4)>6za-d%rtG;I>rXZ3#{A|B$rHdie>P0>QGs1(&n|O z=ShjjtRp58JOT3>{i5|fjU|O=S~k33RPt&o+ENn0%EK_{oS4ljFQ<cSjxJ4(DZ<GY zIvLNVh)8m=EIisGsT-ic*25w)D~N6B6oFZhnrzcT7%uk8oE1vvs7TrnwXRVph;4KG z)r0S4Zl80WXPvsQ=B?nIDT_XQoThBcqGeI(cIMuE?ROvcwe#LRyUl&B!lQ%+g#(RE zg$yr@wunipss=GclsRg%ELP~7+?;N=lzF8@(=IWQ&*xnk0v$wm?CQR>>eBVVKewMu zX42YFB5_;RmdDiZ`LwXqm*-Et`B(Jfr`+}D{@xRFo^okj4rtM4UMv;4DCy9g0I${+ zXN$gUJine#=9z71ly<0B+qajJnn5m~@xzaLU|$R;G$EL3DDaD?iVYt6yZA^MA{K zvfZffA!Z>oxhm0j$Mxrq2lzyuZxMIaY_MG-=jwa!=~a89gO?4G**q%WH*bHoKVScF ze7fbuIaYICtUY-_=ELT+C!1z5Og}$6-8)A$O5B*c<lDDdd_8+}Y%`y#9=)C%Z@Fj% zBhyi{yo|}}rBf{9j%$ArKlk#>{P}h2_v1J2^ZOg!`{s%ErVS6=cCqw3Pn~%BL;4Gg ze+J*q8}0b`sj%e0y6~k*0(p%qn{{qFJiWx~88+wT+nVpcxSy5%E<f}7*Zq^R@8)W+ z`X#tngK^H1Z7I|J_1Al!5fkoT@4}~bS*0XqWjO0@liJKV%`;5Q>T14j{<->@eQ^In z{k4+mv$Cg%o=e=7{pOy&|D_tc>EZV0<CARe`N_>$*^$f^$a-Sd^SI}e{xc-ktp0oW zalMdzyyZ6Qx}2|j;_A13c)KqtqcGY(|E`^S{)_h0_n(`;h}Zv;rknrhH^2CKTgmxy zUUUC5nAW@1+ur`lKfC1WpXL|-XE)pV-k*PP-;x^V8*e|YfA#$7ufOkGH<cM)-QR3? zrOxSFx}xP-+x)NPNA|xEKfXWk%3H@(rjf~~pJmUHc=6y{>c!6{2^X82Cwe}drI4(1 z=`1sojJ)wTzgxmf3?ExbM7X|qlb2>u@UE?|*uX(U;3e}yHp#>(kq!-xNuDYV8l1W- zQ;c`1aOy~^Fe+H-Fe<e)1TZ-^aNL{ZDSDB$frBB_%yFWE(sG44J=+3AqJ>qvL^x|1 zOxCh#&p5$x&~f6%1_`C38M&@p;ujKTI*S_mNZmN4kWeC-_-Mlc){{@fOwYKodaYvE z6~J(!T|kNX%!397qn`^B7%wnRQ2DgW&u+ba@!^*eWx<yP_*yO$2ME_XFJB|__{y`J zH!oh=HpzLVt!Y8tasT-ale?O^j(#@Q>R7~L6Vjq3H@)Uf!)KkjLY;nIvzXjiH@sQD zF6GWDb;qTmyVjm)y%sUSOGK?}T?xNyXK?fL@Rs*x303F(LO;q)|M+%)^{cnPzCS5G zJLhuDKmLn9mf!oi++ErGS;PX)3l2<zE*zP8X`C+Hyv<iP+!fkXbn%X5*q3l0rI{|z zx?)vX&vEnYy?lGt7S98$?w#k{9em}Mvb#2)n^vD}7rtSF&&KMr2L&gWGag(%d)FsJ zzvuBDPwlSHc8IbyyE-LV$o15d1Mkzm^qeX+_{;3wd_MZa`b!nB9)F(iQu%J@ldRxM z)7MKspFSzIhqvvtLQI<4cgGfA1Et&7!fcFrr(ge>e`f9en7L^$JMQKg${K7u&1SeG zZHv^@Mfyvl-~XBY-LLes&i#vab^8l{R=!<ct8;z&bk~c|t9<(QC0qWB`nBgjgGlW@ zd)+TZXE(L+dWJbhG&87)uD<+Sa@os>MUR&|$0vO(eerpJ{p0t)w2$8Y#()0By(3W( zON%y5nmg$lZ;km?tD19d>1Xyv@?VH!U)=RMZu?XF1;5nAU&_zyc|Kq47k_Vg&F)Jd z#oj%uoBT8X?0<&v`Ooh!JG^sN#pxqUb2fF@`I$WT&wRFjf6bpi?cWN_nU<+|NTzPP zD?7K!=$no4^La~(El*9ly~e<81DknLQ)yLLPqcs0qo!af<Eo9<U&nd>R%d?_zfm%> zd%0=CPpioIE%x^J?^IORCQq&F`|QuXU;gQThF70IU$0Ep`L*%*=H<)3gnzns{&Jn* z*UXJqwK5O#^Rk|2$w*$+wQ}ia1H&iM>R!iYtz@3uEEVzKtjsOvWwUI19orXg(NXwP zm2m6XV~@vvYo;v_<d$+cm6)-Wl_k=_i%Es4K_ob2hx$xaPGe4n-~i2R;|7&Tx59*` zfMr*1oUjrSP~c|w-Y~PZD=DB^ZMtg)>w|=i)|?wUBo|#dvnL?ItSeX3#j$}QS;C4t zUD1VMfrCgxjBCk3j`PbN9evrtu}6}fTgWNcmcu~M?A-^6R28?$Gfr~|wes;eCUPpA zopP_>*K_%FxihadWh~Ab&*7BZyts2+xXaBO>#l8S?44l4vpDLs@=~vliy5^Ql1tXe z<!BfFny~2SB!^uhv%J3a1SG8ymt48(v)x3Ovx=UJR`E_+psk{<!F19;AXu?d=NMn> zT$?2spBW|6=O4|kmx=rF`?Y@E?WcFHo<H>EJonY3FHZIxYGi0AaT3_<!OG-r#n7Uo z!^cr3+jesC62GQM4<?aK+z!vIS~G72M;sQ3IG3QR)?hd(P9kW1R`74#4|};bUT}X{ zdG2lV;+ZEO*!n+zeyK7q<+Wef+w~XX%-`5g`eib6XXz?wXKpXM*t}=fckar*4mqzM zVB>H8?0)vg{|uYwpZIJ1#`65k*K)D#ks*PzBDPpqmHVx=DQP{^^Dv=x>aqtJr*E>Z zSytwK_iSZNLfX9B7i|6{>z8bp%~I@ifag;7?EBVNAN=w$Em}Y4`}MrvGxx8lFn?Ot z?zVc`{q3LDU!Om}_+9;s_;vFqls}xTs1a$Uvmir4=>ubnWXc7W)6-VIUN80Y%Qu@{ z{~4U@#Mgh_e(dEl+xOm@q03aVx#!f}zc}CKwQRjzo!Rd_{~7FmEuZeUxMuHOw)CY> z{&Ihg7yY&``QEn2FYIc6x!ZiKJNeT-;>m(9r;nU0UC^@S#*t?ti<D=!NH3PY{k-n> ziJ$rVf@UvK5K-tlyx6xyV#3L@jNVgX1&j`B$e1piWwdFQ&n6awqL&RWhq~L&to4q! zdhPmm`ZJ4tKY#9DRWU2^#m^l@R`(M>+s1FSv(LX!mwr|J&*r~;b-h1De;<BU^5T1Y z>*SeQcV4-5&CM0{nK{vqUvrDC9RG}8G7%S!J0(7DTXuPo-@N`81$p^W4!d-kop}uI zeC2y_$z&5-sE$#)z%D@!E)J$sQ$$WEFlajj9iExO5FEh3&1^A&g~Pa0L?v=g(-Dyi z(JoDl4pZ124y|EJIP=mgfRQC=V?=-hrx?2{=M)A7ZoY1Y7M6vMN?*e}WnRu%aMUN5 zh07pfmtzRKm15FyE{O<c4grRM3<s5@=#sSyq%%%5@`Y+ooa)TKz?1cnNW9ZR)!0;> zvk?=r7*<{Ic$n$uId#Dcx9RR;5&>~K=iNgC)=hSBO84ZPbYyvkdt@S?R;W?ULCrI- z^)r64r7m*4wCBC{)t`^|eEywwZuY0R{`jrmchp9o`aI>0cf6PMvuM*LCw8_-`I;s2 zd`v&M+m7?%6U{HSFTbv+TQILyFJJO_|L5S>;nSWynOV7NtLcngPGyG<sVvBmTEMO7 zz^5b95ji=tYPtx^k~Mn_6jIkkl{}CtEIMwqX8~XPPC-Yp;M~G94b1Ef>`_Y;6HHjR zR&1K@|EB-Q7pp1eGZI!l|CI0iDSqSP$w#Y{pV{sCd@SvDNovmaYkSV$lILB1;rZD= z*RStmoA3A8_PpBd`Q25)+HY)RU)5~h?pwUS`q7)>%AUITUw`&%Ru!MWV$C@(>sYba z<igaihe|dVoSbtZDu6LcCu|vu_N~<mCfuvsEN#+|zI@m9S<_@n4Nn^x<=r@K9d_(< z`R2-9E4CfGCmnoh&(zJOLB4NY4R<Hk`rA(VWV=|)$TDd2)C&hz%wkaC*q33lu8Tp_ z$mOnKwdM7d-M^R5zWD3%gVNvM&%XTFzv4}9E&H77GGFiI)t~Oa@%hikx6jwN%cY)| z>)tH!@aOikWp`N(W}RLBTI6Y%*TIV^H<a|bQ`d%tI%#w~PrW9+=CZL{+Gg&e*O>~u zC4!p@Ri(DhusPQDPNPBN-GanL2F$^s+)YQ>7fqaC#jD`JpyuB8?A7!2e0gEhnA1-B z3h~%!$J{%4uU+c;=}Nn<tH<l6Km1bfSI773OwIJ0@;!E&FaI!pE%W`RcK7x#_x1iw z{*->ow)&&@{1rv(_x=1;qVvIUNuiZS&1~nBDN@VSonp+YvKF^n9y%nsYHJTiW^ym{ zvG$ERIYKNFscnL()0~(XTtsvN95^pLU=Y(P&6ZS<WnemZ=zwu|kjqM^@>woi8%(t$ zSQrEo8yrkl`=xH1vE<ssB37|*t9@M|EUhYxlUy5Ez1%pt8XR~&8AWYnypSZqk*W}> zu}h<olik~+y<$Tow}=H((5VR}608R{CCpvCX-iqp5>KO0)x>QLB@sb888(%;v@8`m zais5>Q-;u<lQR|^cp<AH8_X&iX3Xxuv1`H7kh?0}Ry@qAwQ5W%En3ZIgPTuT82$XU z=ljlY{~2scHx!@o3Ryn2=a1|cxiaGuzn-7|cHTVKv^KUj|J*Ng^94`qm+zVVsMf!F z&);_86s4{UJ%^R-tS{TozaRQc_id%^e+Kn(`Jf4v^YwfFEd26#dh4ML;b(N)7h5mN z*ytKzvZ?uuQig%Zp39S0iO;YQtOe}}o}i}@aq-gy!OAtKI(04|Q2S!G=oE|DWR?XF z&g#fovoB;=6US|G-O7Hmy!3@bNk7-i8+<wbdGqVk!uj*>toK}3$<p@Hx%bsC`-xBg z>alGqS#(+DWXW?|zV|EVy#D#B^j>NB<l|RU-&EMt?d8|}DZbAx{l4McFTZ(ej?ek5 z7o@ZAH22&%Ml&Z7<5ef0^D0<huv$@M6|?zjc2AMWniUqB6Q?GnMP1+V?$`vKn5<UO z=8KJ4SJSkzzIxl(i+2XkR})yk^H)$bN~FucQ#07|WQo)FB}bk$_L&sln^N-S<_xu& zhxY3GKDu`2-OF0`?#J_;EUnKbu{_#x#Uw9iSye=Ge#u(j)+zj+N^0GyCby-uR>-j| znU!`m)<Dc9L`UhPvsFw^18W=CvrPwNFD4yib#vLG;Jo3uv!bVv=MI^Gd6Sev9lBYX zE3Z4;5U9E4<z>NmLFdJ}biP2%Js($HJh{s1<)mK;->yyDs}#Mv@9*_z&rjIy_Nobg z6W<)a+@`kP(Q)_ohzq(unJ>=0XZY>7f4=b5S(mqj)fHc4_ji|O_PDZx$@9n_6Hn{X z)z&tbMEM1#njKoY$>BpRo8wXsP1X}nSidkbh%qc+-4gC}wAk6wsY{53nK8sPgoDXT zM2BTbXwVBLpGOP~ZAnMlT^=PdbEdFy&pKF=;HstKtH3>>dr^bn!c87Jor0PMEnP1Z zj!ZqXWYdZj3T!(2Ch#meCE~P8_blT{hj5FRv0?&Jeu_diPuO;`HC?}uuyeYpz$Q+P zx#9|w4swVHi-<cg>2PvHOQzf8oS*uo<d@g3*=HltRxogBIL{1vk@PEQmDh>~a~4lM zA@izf+EtB!1wW5|KF@fpUhuE@!MfRR%>J(bl-+sqn`YThyQsR%S3mUEF1~R3{QSNz zHtk`tvD2iNXZ)33e<gnI`eXkY3csH#{<>cIjZDb1Uvh6h&#{i5_t{>x`o8>|-;Lk) z1wT#OZ#B=_#W61|SXc5_URLV1+&fdt4zMrNW}b2^EaSq)uxX7fjdM7{npz!Mn!6Ni zF0(eb_1e#NxXSD+BGz?*shx`<LFL(o6(XD1JlHghgtNB(o%`e8vI#Rz9{r*ICHUv& zJ+<bKj-U9~ow~u_#_2#wAg@s^i^sYq1x5aJC&o+L-9BIG>t(adw%Tl?vZ}4x;Nu~G z_4HY4*B7dr9L-9+VCA&JYSLag%@x`!dv2fH;daSrlFkgBrsNWfhWD<Sv!^dRnad+^ zO3+g(Hh}qLm1NvQldpl@`YPX3-n?@2D%YCo@gmVL<i(q?gfC83B1_g79Dg`-{h5SF zuT@hLZVFE7^z~Vx*s67S;+dBRdsP=E?(!BpBQ{HhQOcKhW#d7I%b6{=S4ZhFck?Vd zHZkF#w_|AWQU(RPHW8;|{X7a?FV<XhV`Q1;=$6zVBABAlz%x1O=$vi5va1g_PxSb3 z;`(-{1vgik9Gfh|?YV8S2_KtO;)0?tXMb6|{H6XZ+`jzvJ>9>ppXX2hccqU1*W_h! zv&t|3toqO3RVViM{OpzMPuFd~x95GaNphRYhX|jY6>klv%Zpuqe&6{y`;GI(r}jrw z&ZxR>9$Q^<&Nn<cEhSo|t7qW^h1YHqml_!@@M2%U+OSlsrGeeZn<0X!OO)X#bBL&e zfRY2l0+$9+;g0kR93ml`85eG1)Zp-mo1U%6z_ZeoHK47l;h9szg&SMvM9gt;ZPQpg zm3xz$2v=CFR-2>ZG$DnBC5u*zrN2DG)5vfr<E2?!m!}3(@#Nes4HqK1@9b&1D&8Tm zh_iUPtJ4|=g@{@KMVE;M{pzRfEvwQ$EWbCO`L=rWm)^gYPhbD#`mpWC73MiQ{*Ebq z(`IgyHOZf`OJus5=fa&&m!)Xwd<`~|D|`N_Kl0Df;Lq!q?OX5a^XL1;`OE&y*imG; z-}?7F=`}CrJpFQJim&jhb1i~5Z0qu0+@HRGR^8It`Fs8?`0Rh9=H2{>?!C|VtG;~x zXXck(e<mDSJpF>=+nxUBw(W3}ZP$r;Fkzj@flFtuoXxqim$jiaqj)KkuUD+^#3`qR zJ3GA<nKT-jm8LvvF5GZ^CF8}U7Y9GAYZQstaGHIVxFg?`h(kN4IL_LXu=Vf!pK?bp zyC_bRpKN#B{`B1EM~~=j2tF>7VYzS$hXwD-i;fKpiivAvwq<RQou<co(ZR%3Adhjf zq7`qfNQ|nQK1<2@fJ$ML_JB%8kxP=xx9(X{wLl^9_PH)02jittQ5U|2uw@;(DPX11 zrK&$+i_l&{Zce6y2lJh;rYw6Z*_+|-*2@w-t82;L?m5?lIF~KsWl2yq(>ct*Zo$Z; z>#~@CRxf9fPbQ=8g{Bt*GG~k!1eQCo=oK7uT-2naz{W4a!DZ6Oz~EBC7=Dh0BP)|# z^YF2r)S%ZM$I>S;PhgsmsCRm!gBybbhm)1aTnz(d&n=ggr!82@JaLzqyQiAxxn4!) z&~~+xuN1#r3||_4zRd5N&F5)%Hokec-LE8G`}h6k+W!o*>n(q;ez|A<QXA11pKVOj zFYG+A{6J}4=J)3szvbsu+Qv(K_4pQD?pnIz`mG)BTVrh1%@^DJd4GSgU1*We*E`y= z`@Ji-Cw}dE{@OD8*Tq{NCnpHap1>8b=7ksomk7Jj0Rc`1mI#Ik%N-dOcmyzXD^5_h zxWKZ-E2*U+RETAYPJjzb#)1PHK^>w@nMyDCaz*@F8zOe{GBlkMk(->#k}mTs%CDbm zi<pJboP!q_**c1+^i}TS@pR}GzM$A(p_j&~ut}(E;R~JPRvbI^0u@edU{nfnYSP)j zFaP-YkJWeWC)C~fP#Zk&nQUZ8+wS@RyV8F%ewIgUYATM5kQEZWyd>d<XREN<vdRn3 zbH1#deLQ~lZhO7j=WqTqnEbgu<zLkI;-7bS?u~f5_WYgD;<P^bu;WvvTW_hnb$-iF z`5Aj}wwJBuD$Q#%xn*&xTDDeRewpI8^UD0<t@c{Mk3&zJdk2Y@s@?8#&=JrPVhDFw zU@jo;bmmyK+G(|(MO-C|*k)dGSkw`zU^Fd}QA4P6#>tE7nipr?x?8oN>9E29r!AK{ z96BO{7JZCrY}Ddd?3wzg|1JNCZ*uF4W`4?d`^Wlg&mMQn&$HX+yH0-eJ-p+ppWT}6 zp*GhvyO-=OY4^O)!YOt2evs>gf||o~9<ph8c{KUPvB=8uiz*zOc*{*^!3iI$!&X|w z{B!3eTk}Lq?$XN^ZBU%|Vr7n*)5CySd(<~@EBhv%NqDr?C~a-?OxH=f1WmdoJoP)6 z@#V@Ct)~^ysgcYKH)IdxoHqC>ajZjCz~HEWLKm;ga-L@kg09T?(8!U<I<c2K=+s=H z+nML5NKP<1X4uFREOj6>wLw$U>DEH06HeVrC$-317R_1CcF8rfJmE|O!?Xv9Ub}r4 zNr>t3v3NR6*mhYjK=I~<V^W5fOp5~^PBQnE;)p29%MLq}CE)mUy45L@OP7PCmxT(> z&uA+yiTd&K!r52F+n&Aey2-o4cG9b}mFJG-in&giF!j~ejk}GjxGzgD^%TC*$;LZ9 z*dTJ(g2!ooH{Sl@KVSXl=CAK(ejkX~6Q<U~;2^m0(7_igv>6ySaVjvaa9~o~B{6A< zVgLg}TV1jk!y=X?Z4+4fIvLNfbSo_C&@gIL(K^Jm$boI`1i@N1PKQ$)%pw#RbY}U^ z;Lz#qOJbYF$Ix;!_EHy1UkO{&5v7)?Art0$ODt$DmUmHLE%s7tbh&irrGc1PVUW=j zg_6laCMTIx+)vir{B!NM%s=n%%X$4`Ci-YtUeEXUl&vqS$p6lMX4~f|=^dMTexyCR zBwd;~AyM-D+0XM2-MjPW_4~?qvtRDE>wYkQPF0NDx&I87UxMfP&e~<Mmuq_J`FC}d zOKX1ber<C<<>UL$zh6I-Df~LebHkdHc@thdE}Sd2*KK8qV*5<PDHj)9x$onwaxqn` zRWZ^hz%eo^Y^kf!MuWw&qDxCSR7E?dSTDHEtq|#OE23Lvxxxz**GJ4NJLEVbZe?82 zP`uN3WU`5otgOOHfeQ^;zS2|MUUVPKT$=RdM9BL1o9lbuguC;vDUST$AN`SkTcxC? zyX9nV_RvOtH<kq=aYCnFF73K1+S-$u+b4LFL*%T>HEC}yXYUEGwi+5%g!OMaA+zPs zN5_ks*2XEE6>F;EtePRzxk~2Qz7?xN8#;tp0%IE6GYo7S1Qe~pRdeE=3bb5k^)Ott zi$yM5F4FN+Y}1rydD9xsC`Qa)IGs&w;?<|Vr?mr@H(s6Q)Yi60Ur03Qr4y5B+ufdK zmlm^aTjo0LoRpTZPO*`>@v>Cby=6^-Nj^EjbHq4Qn{FI_p>~WrM&{|cmz)zqGXs@E zxqX>##kL8iaL;URWDzJ$IVvLQWg4@^+u?J{mXinDZY(})A&@L`;c6<sESGG1pE+Cl zR4@LLJDJZf=bQb=I5+D_(8Yx(UC-6(FYr9eur9U3SXy*%^!4SYRcF+8sf*3pnQ(E| zjC|FLH(j^9spd2N60cg<@OfYE>|fop-{14mEqUehNLF%dn)-q*3=Iqn+-!{=Dt!%% zo~$Yi91;r?4?2i8Y6yuqgs?J11vzMjFg<iCWEF|n;AF(c=yECN0PA$sQ@g|jlo*v# zeL2_lFsO97Y!VRaUbJF?v#+0O>xC{~wMT}o+}jfW9L~P@f`MZLGgsFF%jaUxl$;oB z15%Ub9PoM1e%3D4{`C0^c9CCxK0b4P&avhTDjfB;S-&l>zy271fq(k`%#VCg3Tx~_ zrdBThynfr>`t*x7`s|Z`9DjZO*k9pK@3T#vb|oZyy<n?u<R7Vb#r@p3Db;WK6Hk7a z_bztht2ae&A}n`J`5ff9<l<bm5VNq>Z<9}@g}U8oVqU1WYJ#Don5yYDXD@EAt4ZHk zEckNRBg>49cI(KfY|_-yWa~U*5)p8zOwdxnVojLBY-90m{eXqjHZbY=9e%i(y@O>- zKx;9dWLnUbHw$j`r0It@Urh^p^Gs>y%$<K*e#-4U`BVIr|8adg^|$v-i;qv>3D|S$ zqKVhx%$ip$6JE%KPF<ldzCtT-&1xCGg_>$?M(ov9I)RnbJoP5zF|}S%<dJQE!S3al z?8UK%?~9G^vpviULME1)I|OPS>0xO76!w`%Uwjd>bK_-I#=E=+*S1dKd6^^n+L>|7 zM(s&F#fniSH(uW2>DYa@qld|~R@XV^=81_jFKvlvc=@}z;cVH1O}DC-9AgRN*GM_C zM(K2B@3V5(Rn05UFL}j%z$wh@MkJS*@yt^<*3S9hbJsM%*odL!<s~tZsY)-*xRiAa zCuv?v6p_um;Im3J$Ys%0W`>Lu{h5nfnj8*j7>V5uZMV4Nwsmh${<DQGXJxlN*upTQ z#Y-@ncUj}7`?{AMA{SgeyP`T|+v$a;m%Wk6e79lsG<A)&p&oqCHXY*Gk$v{X`ii5A zw%Zyt@U1Sq+QX~ca*!wbdurZ{OA5u+sc-j0zumb%{>S_&d)IeXZGOEky6|`OiQmho zFkEOAVVKl<LDOkh$%4vh6MTfY8Xa^DJXo4sRAdFJm;x1ASQrkbH01J}2}<nM;#?mo zz*n4f@`6I<Zck=mCI(ifz#L!aj0v$~Jd3=Ra4R~9sWm$APGq;*#_zJ+JX!S7s-Ozp zd7if({E`2neWNOV^PcmW&mF589<i-jtg+o>ruOWN1wt$e(f%h~(){$##V-H2d|#dB z`@Zt^0xcUj9TZsmIM>Bp{nv8)-;#eNH9Su~&6UwJ{(1Y-pUW@LPp{>@bFJVUd(G4G zCv%Rxi*@bRU6Sp;VEWFpA8$5Xes<_gi0f=!Ba5oowE|COR0*{-T+9x4W^hRf$dyx! z;N>)ll5$ivYP`cW>8R+;s9o3CJUOJ?j5wTTRM{<g)O~kppH5uyrk4?nd&9z24t<SU zkYb@L))ZhB5!NulE-mxb%g=L*bc{G;7e2FfoRa(M+pENtD{d`%ae!g6s@u&|c8hI) zPWdcqSG@XkvXOSdTc?7RhjU-?-rc+5nbmVs)-QZb!66)b<i4~Vc$M&a#-oGWAuo#h zip5wZyROYlzi{d=^AiiZvq!G5v+;2|E=zD{;plm>o85WN8BtE9h1E(P3y<#XQ%ud! zj0nq2GY)M$<$IB}_2rI*p}a49HM%7IvadebAmjU@%H-OaNhS}rHKp1zd+FF^o$a1w zP{^dy&|)1T=yEXY=jCQk1`ZdVq8W?DFHcK*uE59?$gI;iZSk|L?JUX0s+mkeFU)#2 z9Bpx86Y><hsI#%L$ziS{gBT~bP9}%ro-;}Tvve<sy0O|aY&ayZHODx(>fx-)F9I8+ zbds(cr!vI3-bk+OxT?3^yjr^~M8-(waGv3=jAK9Z&&_Oa&bs#9>R58h8lJh#XFrq$ z^7X!mec8&nZ)WSvm!W5yGgD6-QsE6RdGN&LFvG^f4u2ezVpZNRdcHsT<Nd1^?{ED1 z{9WJd<(~UpOpdChp^T1~8s?nz@nB+L^^j#L)d<-fs4B+D%+nN{73t(M^D<Ys0`GI3 zjSg(40cjpmg&{&M7d%ZD=p_kni3k*sZcl9rYUyG(P+$>vW^%v4m*m8vBXz;edrtMa zkU#U!+Ml$)cHH{1MdfAd@Wp%oc0ag(w_fPEk;a0<3#|n6k_@#|?!=y0!p&lp_DuHt z#Gjvk7XPZNi(1a^mZHB*qd`Ey!(_ws^z`g6_0#?{6#pyz`JW-a_uqLtad)GcpVeKr zO`1D#17pk?Ertb-&o0@#J$(7`Y3^ook;`*7JuzYoUFt2tvG5dw$IOdfU3Lk&inlU& zv|Y9*?r7ZVmno+aH#1A>(4-}El_QITyOV^>b{$;GyxZtK`(|Ooh=!N3R<i1H32|%I z=(DbDz91~@B54@G<zrG;a<}iwVatbHV#X7DjMfKxq%#X_cI_8(vk^LYeagMY)fe&& zwrB-S;}dSp@H%3W_29tDuux|1g^4>(J51Ve`?lsHm+ede6=7fIx;=B4+|Ye7F?pkv zH1lDN4bDfWFF11HQR0`f)hxjaxfZ@R6%t)|p!=fus=kKFzAp--!j#i)Yeul#3%PPY z*tLz@**ZnSu|O_8=%~}z>I+*lmPK+1FI{3b-Qiq%m*$#NYcI33PEcqPb7+u=sPu1+ z7T{r<m{ai7u%xx*%(5~kF`b4!3F#bB#+vWhIp<wfvJ@nAS4WC;M4f0AiOSiwwwF~+ zAhoYVX<-zDs)<;Oj3BqVaif>C?_S>7d-WNcTG=w#T-9Y0k8QC0A|x7oY+KAM1qah3 zDU!N2zsi^1=$h$L?4$PBJJx(t*p0AFndY6^Y~5)yt!10H>-Cuyzg!fZ9v!}f(d($g zs$J4EFPJpmuuIm-&^CLapm8?xd5LAfSIOuN8+9$NX?zP??y@icQswsV>Br0eeEsx3 z`Nfpq{~68|)bfXxiaIdOm?{#mXvxltF&@kgD<d7U4jwurqS3X~!83rz!Ng&rBSW%~ z)r10uZl)!^S{clZ6PY`^=1QGn*p;Tr5pKK8rDI=5r0X-^BVQ~cInVN(?ATZHpJAST zlwJOp<VV*}ANebmay9wW_NTvN?_b+*zW?p}8FnHrOwAq)c}an;Ide}r&wTi$=Ka)4 zx%FE&Kl-O9f5!gGd!e1rUpTWnCU9)<DmHiK*~B;Z`uVcrq(#5H3{4g+O-#^doSwN= zQeY8_`79nuZnc(K%dBTk-rnKBe6da0!DsQ+w(ixvYsF1cZl1m@xaRf(=cI3bp4?oU zBsVBzo0@KpPU+_o?8#9w^$E?&o~<LY=i=6nvaFLG6@$7%Z!K~(U27C*a+2+0t`ApI z_-c+dV$0^AT~t-_aWA`MYWLN`v#eIKE4ywkI>?bXyF<fJp;hwn?yp9>iiJ*3m?Fo{ z?se(8Sa80(^1^R?43SI?fk~R&M_W65&0M_nx!-K!=2_>|vNYRe3;QB%@l|3<ei96+ zQ)F41&3(%oukKvteVL1e^Jb*ESBcrW%Sww`;$GxVG;q!EY}C+ed(>(3;FjzZ1KDtu z11(NGEWAFxH>V}OtniYYnNlL~#lp-ft1a`;h6&~Q2460&Tc~!jaoMD40mpW1JW!(H zv8h`lPF=a0L!g7>;koH&Hdgt5ZsB1#%))RhyG4;h(nTRfS1;Hj-gM`ds6~?mWH}X? z6_?LCrNgWD&2&NQdDk{!-wg#P@{heVvkL5*bNkuC(4GZ{%uXK^NM2mI{p6<=nFj(V zUp#i$d2!Pu%?YQM#M>O$GJ~%y`)*DA!s(lzy*Tb0bNh4BnYhU*7c~19H>rD`t9g8( zqw9-x>^{d$$9yHa=Ia!HJ-&g*O1*yaC09i!6Q-_dX<jzxr&hf$USIzBp1$tCWfkTx zYpP@e7@n&z1aYbxFzEz3lsLwUIGZeKcWls+)mTs(VWYgDwS?mgi$MCOFO!%W61Z8^ znjTi!=1kz7w0zd-D+}^H<Qg=!9iAoa(ok@o!qnv8awg`Sz4fR5&GV1g{@Jfmd#`5R zq}9*nW*Q4GT$^0-y#C_8?0*aD(n~6<GQK>>&`9{&;L_#x;z&@<&d(ur72lpe$zSs% z>+Q?g{c|eqW>y}o)t(d9cA;m96Su^R!ww%*WF}qFG;zA(Fj32+=|wGrn@hmSjERCh zj(P^sJO`$$otv35WeI<<3okd{nLT0=rfU~mn({c^dVy1}ap2lDhdx%#IJssilYKO= zK;E+%H(exe&N(}4H=AqeX%RlIo<pD3r8umcwsh%&=I#~Sl-$IYl{7qJYTC1JL1VE` z#LtqsRv{(D4Xm8ava{7XViOH+9K5q+M(?GxylE<mi>IuLGroP{%ghFT6LW6i(Ag=A zOA~~h!ekrYv_4EuIHM!i(qJItV;-<KFoHAv3yXj=ThvcAwJncR*9dKp;xUQi->_f~ zyUU|ZqRsjx-(ECypA1$AO>JJWjZK^J@`4MSxQd<#ue=?m%E5GUnMakXgyWu_*EIGu zFJbdp@JW>E!an6o3(LZ|%Tlk+a0sk!@OjC_q143h;^1{uESkS$R<>MPuh*rpuqJmk zUf~N94rnkqNuD|DeITnl(e&_bV?haC-cuX58MSq1^rmDpCT{hcBH^OLaKhAVk&a%W z#D$Qj94^<QRTK{Mi*sw(YP|?KBz|tuB3?G(+@87jtuM22T5Jp0aC+mZ<}*si%$*mr z7SEnswB_Mp^<^_N6>_tSvw5H8o|$f@669lW?A-h3b&KMzS(R9te7+p@CG70QXIp1I zZujF&$oS&+GQIcR`uh$~KAg8HsIqL!ZOzl0mOXFo%c{Oyn>SKQr(D+f3Q2JCr3JbB ztt<K6KX3nv{|sEaWnPAEId$mHISqzYYd91-8T=iD7jO%)EEQ+i)S;r(!rPRiTB5O_ zkn3JTWXL&L0j+=;r=piedMZ6ilU3(k=H=zEg&}dyX$HGVB3y^rz4ck5Sz<h0{y989 z{`2K;j)&joSf4T1>sq4rc~($oRKf54%m4hFDO<mwPWt!rQ>B)Ve9g6Pf9m++`DwzB z`c3tWe>FbIy^B~m-}lN*nV7|M{n~xcXmGPVSS03fjE{e=fzzs+Up*vGn7S=(;yIxv zcxe|)<ECx=#_q<4GE}B!L|xGly-_S>5G5<tJ8{b)H5JKS4llIME>@Zu74GxJs5K(t z(g&%gCwl{#lfRd;wx4$9FO&4C@Jm`*x%0Q9p@oc>TyV&~n&Uz5ObQedzEmt>j}e@< zprWKjQ~a{lg$WbVl{em49u@IR-GE2tSn*n|hMlt=7*l%EmZW~Ucz3fO3txfdKK>V> zQ<o(s2<$aya(Hph@o0wk!He6NK7=ePW;gvBwxCLvPq>j|L)W1aF@~LQZkI{58qTV? zP*Sl*L&ttq(`ME#Hda}d&iu?}=gcO3?BCh+pr+^bx%HVFn@_zKW(aqAerAiq3ZoXj zuC2Vyc@ifC*^2qZI~TuNz|FzbJ=t=72qQCNFmv~nn+gmio0=4=;-nWUTuhxN;M2@# z`uS4owMCt&olm29t-D?Xvn-gUXz*0+j;>+j<%}771rtOWL$<a~jxz98Wa1GEUMnKt z!eVrcDKeS$)S-#fOe!Ypt-2=2RxEJng=h#z(VAQ5*12vvCOqS~6t5av!h*E*K8u?s zPI5DLZDZg!d-U^5oymLe!$14OBsR}=33>7&)+0z@yAkhJ^F`4+zx>jdn>TrOy4_q& z?Zs35<lWm|%0wNB`nsfn#o*@I7b-8;evT@9_V(P>lIOF1n5Nj3$K0=;eYJRLs+wcX zkw}eQ&zKfSFdjQvWwZb8e)jd3_vQULeeIK#?D@In761Cz74N^e&-_Zomv6@13lbGF zbQWcn2_`uo@X%pk(rI93y>Z}$p~8d+jb&O>)EZ<OLV1{k9ppHL=f&}_RpIq!R1xm> zO8xo!qFh{g`K6b?{GUFbG(E55dVR3Sj1>2IPf!0;{KfI}{-vkWmps$a)^?ce+r?vW zS4Gy=EVuUl^ZW}n{JrJtt>2VA+IRHv^AG(Cp1XXg%`5k_Y)HAY#&prtK81x!Ucwh; z-YoECKIXJx>e_`D7}}osD9m+GwE4-%FmLUPDVtcHx~ARXUnC~e<)*>Voa`*1lbq9{ zaKS@jE7KZvLxyCrD>qD7KRx$r5L;I=eX+0a8*ZO%rtA5_Tk^Ea4V^Z~I!-heU3IqV zRridU)6};+s^}=BTsAL`xni?UR+0OL?8z&vlh2iyp5C~~Fz5@*nUZ&lJ^qz@C?+t8 z<w)+V$eX02<QJ~q_RC7SQFyV+Ovj^>!xv3`Re11VW3H`P_thkaCp%-ig%`1}(1{bX zQQB%CAtUzU?OEf*J)7D@7hZj|HL>+-gtq-$zecZR{d2_@RBPYbml`N^{_d2DGhv6c zZYyawbX|B<?m2NyLcru?#|;AYa^)8_6Q_i%pTWfy!oM(ag3yw4NmrQ|B4qVhS6w;q zu&;5>d&jxlE*#Ql4_YyDz1nc&obyGKh}_#}8JA^os1_a%yC5qTAh7Y)6$ka?B<0Wx zI>9-LO<tkfOxSiFaMEefQM$IRBXPo_Q_`zcSI=x=*w8L!7p^w5=T`2DX3G^D7i%vO zIjM2tR&;2x%xr1qV++#^b)*ijH9C~HCro_hg4U-Vb1SOmp4-y$;^Wd@f#Q$TPTZ^9 zwPLMLLyA;fKVRQ0<>jlMUcOzF`TX)i-D#h%{XFki<JWRCn&lYF<!CF0e6yXob4%_V zDw*ZC=W0g)WB;^s<uB69&&I4((rb)4!e}gRVUn5GXXe`R+KIhMbXMf`ORoPJLhMXy z^`Gm-F)x1hSNqk6FBN-3r!cMX^E_$BY_md2fTb~#^^3p;mu_Ck8zu`&Jc}6)FAJ8< zSDLZfGF{u-Usv@)&1=RZ$Coa@^zr3_2^Qxc-MjOjf#=_xD_Wbc|M-6VOIG~l9kz4! zhkUH<Z+r4{{nO<yDu4QYd~WSN=Pl=^wGJ<WJX^#JHr*DpIe%C`EjiRkIF{?-pV;nu zCg)sqqyjaPHyA`FN}gbt6+M?fvB@V);AJkiuhX%eGaXDb#X21h+*MoZXe6d1l(aR4 zD_V6;D`P0*Qf8ynZU&}hGlC;)PDf6&Id;r2Cpu&G(RU4%Q@TqSmPAJ-&EM(KFkz3u zEVba^MwT*`^H&rW6mTnbG@a3Fz3(dCR>ZPys%jNaaWm^K>xR=#*~}{#Oe*`HUCX(e zZD`#tu9mpxb8+bjrbS&Wni3Y98b!M~EGo_?bzc$l4Ot!DblHUQ!Kr6%{jP0Mte)LZ zr>b>xE?sr>)kfFJ7jhORW(Fy&jJ)v4S)=mv!q$#A300XDLP_7FHgYH!NX$xG7_mCc zI9PPcv^guoO48;q))i(H&cCqnPug!*EAFi8T-@^wF6%NXa%)fe>@a((*G7*OQghBu zc(B#5wp+`UvtdD?&6$Hi8<af)nM7Vxty|5rusPw4fYD`(Yn|s`2(^7aZf>@;qj~3+ zCIJ)90M+gn2|NpCvrab3vYOy(d6{>CLsz27T`>uVra*S)qP-V$KRcb)F<dxJX1>}? zr^QD+6C0#f+?_qyJ64NV$3}{e<*ZAd@0_!<tep6G5~og3yz^^vN%7f?w77X`W`{}& z_8u^ntSUa0{=(BlTy2&jhyBcRvwmJrZugHBy)>&$<=KmmwlcfDp0hq|d~5bfa7|iY zTI!45g4Jv%R2morj`KcKcR#$i@1)?&wumh&l_XSGG_x2cGwHg?-0NJQeR%n+^ON`2 zeF{Ize_(#;75f$UmG*TWTg`cInvP`1XU_S8#UEbX@2=JTyY%_`<fp!R0kcB;gFVH# z9JLQ+hTFuhH{AGKt4{t}o#vYgzxTEJi=X|Tab{2Q=jR(g?RWVZJAZ+^%fq<Pc}2yi zzg2Df*Ye=Q<+%S0&yGJ@fAQ1t%S_8=7_VONis#hp(=Y!eRqm^NtGuN0)tMQ5t5~-j zRuVZB;=|I`nkscdEHPt>?^==9Us}`+6s;HpI^>PHSQ0j!;#m-LBrt?QJLyGXs^A$$ zji!S~uJ$S{=y2c=U^M8J`JV96sby7(j=<!EX--pCE|zv%$Qkg?{oT^eNh|i=zH;H> zLarlI+xN<!IdbJ}##ZOj5QC*@8Ih(DGW;%EJ*C$A#3|1<HR;>SVpMrjp-gVs&Lv7# z;d569TlOq3h<dnta?X?9S;4~B!vd>jT|B#=Z)!Ks+1bewQi%y|DoVm~_7~O&R&g48 z9r}{+&BS1XO_xHHjmaz-38f!%B%O|lm<S24*y3E8%rGHfLlvLnglP`H*ZD5>`Vz6` z*6mGM+ai@h7z93=CT2SA;%63E#wL7!=@fp($;>Y}-W<G{&B1Vsd(k6D^(>Z%gA2Cl zDlEL%z4hR<5U#Ugktqr)M_)8*F*AsF>EyNS6|CZlE!o6kk}_9U>B&ixHo2CmGtO1r zW#j8P%psvx!^>?jOC|N))CCWd4vINDY?E3$!9g`?OEOc5;)5<RheO(nj&3TxppYnL zu%PYarb`SP+Gcv_m^;fDoHgQWTdi>6(_-n_jK$}km2UUY$&PneTFmG+$I5D#|C3VZ zpSN$D%XjW&Hss}-vmukIN`%v7b=yV@4v7QD{eADeUTFH#^769HGE!=D=51OV>f5fQ zx8l`e-!zMIvpE)Vn-|PTU~u4;?qs}Ncu`E}O8(5OG!Y5r9EKC8c(^2ME);cTecHbI z#Xk2NHvXsnGlW;I{mtIK{N;Jkx;dXpIIo)~oMX02>VN*9;l<9?+jcLlbwBcTzUfQ; zoj>ObZ$Dhueb4!8c<+r<8^dj;{JHYy_lt_Gx!33T&2C$M^vlza>le$+ZhT>y9e(f6 z%|{jKC-+|3H?yc@&XnbPR#H53CEjRGw6ngt^M<E~xwnF%xyKuxWzV>D0%HXNg$`YI zH8aS|ce{B$(N)Z1kpPp~OxMIHCbd)Cvz@j~@L=SbbYOwy3hB6MjJaDUCjD|rZ4hAi z>~vbeC)h<TV%xmr?GF1Y-tOIDIVov#c*U~&4inohq+}Q-i!Ej2FbP)MQY1FDmFoqk zfb2Cv4j=Q0(YuUJr{x^_XmYXg-0f^#ZDF4WYxt&ny;u`aHG@<4+$rG~FPT|(h?|zA zZ(KUjZ1t=OZS^jj3{EE$<zDMcIw*R@>I_dy+pg^At=0?&5?*!tpNPxMD2!0}QW078 zaqjU(>4jH4UB9q)C>?8luI+bF*h$bJRs76_mI*BqI&*mzGF~_wZrXkHhG~IOVH{Iy z=Y^EZCL20#pO$fmIbk;Kj#|f}Q&Yo@j$BNv68as~9a<O=v2JO?x`?UAc72f2Zt!xL z^E{wQd*-CHw!^WRZ4IeT#qtgj9UKQ3H8yoC9B32>Vc1k0wrqA2^QO59&Z=phj+1g8 zZ0)&x+2^G8q=OtvjS3MAPMcL3wb>WGP-1fGa5^O;puou@blmXV0!dX(S1}9Oqc?Sh ziX~IU1X5YdXRJueGPr)0o5^6VMBJ=9$)DY=3>O{dUFB(Vdw$aANmjue(X!DYGndX( zt+=grJp7nQX5!A)-4!=3<=GyMwmVlW9>5Ufv@GC6xM}8$Wv`xAi>}i4%RJg@5NvC7 z<&@Wik`2vL!Aned`J@Vznp{$|7`qi7G#Izousoev@NtQ$_l5vf9u1KRtgDIzk~tQc zoMkh9xOi^q)2bb>PdwhgaZmJnoBqWgYJxsL*|+A;<L{MUmeso!-(U3S`(yv;^xQ8J zk8YnS$v^v7`{DlE^0JSA?W?}|bN1!)pTF<7xVwD%rHZSPOe-8_9SOH^`g+A+#-%%k znhZ^qTQb9!9Z)-^*C1~3l68W(QE1x&v4hOZ7$q5Vmo|twWSDGNs+yvZ!m@#jLs6+C zC@JAtyzR9`Vy+xF(hrDrzcfjIxrKvOY*E4&xuox$4FS3fH|=y1<B)9eUD+(XQ#o?V z&((9bnWwefw$+*-BR07$v%=%-3l|ZgT)oEgE@FJ@aUmCzcCB6J#C`R%xMFaqKBp9C zM2FC}J0f~a0ZALoO1oVo=Sv1U>dLn1By8YF&knAuNM6X~tiNcBlG}7e%bVMyUN|uv zQkm#Di+9WQlaUkF-Z~>BWR~!i?LwoPN%o;~AGKKqER%jOTgb>^BqkXX#>bJiMsR|S zV?si~y(S&Tg<pARh)ExfSn$%cVomzdgERIm(ie7Y7P+xoA+JDNI(nPLN}sqDeWi<X z4zPH|txP_v;hMoVb+S3rr`JhORxvi+oUP>K(H(U1vZ}g`Y{+!a3;{>hBaMlyH<FIG zMY<(1dGebkZ8^)wVf$j?VaeQCHb#zWnT=med*`0l&}LlxVqGGW`=YB;otnNz*m~Os zI3}<}C^JczFdMQ?P&!l+n5=Ruz>!yBtvVCGk4{J~ub3o<kKBp{XPGN!<u<D?I+7h` zoVmKLRI=;LnT$hQV|5OCZP(hVU*bM}E_3PaHS<!9l0Pr&(^XoW9ARyg@!`~(-;yuS zU-J2D!j*KvCwAtlXRSTb(u;Lpm0Pv??T)lE3R64HVRm#TbD$QFjKB{8g&5N&28R~E z^lsrL(<XS8Ci3d@9ru=AxYSJ7tuaL^XjRryX2nD{g9Rc>TW)79d3Q?YQPr6<oLA+2 zAK6=9{#uhAyQ<o@qImDQ{f?E|_Y3Z2_T8WLch0}mSM#+mS;j83*3Q}%?&#%IylIQs zBF7s795ZwpG=x%aN(U^ma$sUSvx{e?qiaw@#)OSI8#*|-^!g^9))G%*5Mp6S<Q56^ zG~39}J#*2~6`{_HWm~y!N>3EOpe)7e=B=|gbb)|iFZagc<UD6JrT|re$`uo4=-lp& z>uZ_Xb>TvWL$`t|)9#$3FFsV8t2^bYISI&C-k5HAMQ>W5i@G99mIl+8h;^%4_`=(g zU7EQMm#8L1tx*y0xgo>RZM^EBlm?@2mij#3OP3f__cd;vn0!*^hJAEqgqwiQVmpnB z!|BF1{;Hcenrv7e?{x4LSL?%>jME>~x<pPg*vj~(fyIGa;XsrAIUyE{0JcdjT|D`L z5#ARcE@TUkD^YlB634=HkY~f`2QtPBs&e%Xu|3du-5jf%`qA0t#X`=!mm6dS+cIY{ zMy&NQ(PcC^^hNcXh90AK$%IHHU!H}|+Q}@sKKfiQR!hn%#R~PMCb7h=55JMxqoA<u ziGT$M&$^D7hS^K5xA?{dd@`7(EttYQNjP{>qq;(meA1$mZQRe~mI(-*xv|z*e36tu zlGCL(AGlhMb}KD-*mO17iG_iIdC{R~O^0+AHZnx0&SLL<c9XBA#K8Hu)Jaom%bBfN zyZ9x)%8G{@T-UiOx~pP&cv{~wlQXZ2lXw3(TrfA@)^PS_!?v>PktdRkA~KUiUBgYU zOkhqpBa{8<3r~qn2m_be%v~9qPQ)tBHcbg!xkTZ?VZ}s2u_J8`vyQ2FY*}d_n5lAe z;RVaXGaj$XWhj~E^u%jxxB>g>eQC@~9cL_XU|#OT!*G;MZW+(}!k535pX^urYrfAm z_w%2RdTC$2<^DB&cJ|IIzq*<)>E~->{#Dj|DCI5YVw}OoBoX1-`GT*g%4SOA3Lg$G zHOc6yDJvwr#H4lD#2uOhog5ij6c{J8G6_6zovuAKDCk6h;<P}AhJeG)vwt>3`b}Y6 zWbBvQDSUD6nJJvDUl?N!UgT!k=sIO(Xz00&kCrV9Zl<zjWqy7!-MFn+-`MuGgsQ1R z#Ma8zT|8@UE;u(uuu5^sB+HJyVa&p-UPPbC+0xa}I{io@`!az=8{VDZEXrZYS7uFU zzA$~^q~B7`GR7S|4PPUe-_G&mZky+%n3rH5etGHVsZZv0TwXS_HQ{KYl7}RFVSC21 z1NlxH7fTCYymh<b!UIc2?lUqK{3|aeGfnl_VCxj=%qq~xCTa7+;qbe#jzsQ5JGfW9 zIl#>&dXkO7p-IQUK_`1DH-}MySg~Hy>uoz5*}Y$6ajp*F-6&<@krpU+<#`ClLWkBR zkKI=A#s^zyv|Qx5VA=OF&74V~$tqNhm*FtCfLv#i*h{ugb9Od1CQNO6vBK7eBU4mu zCYPkrjIg9%Edm9~+hezLPB^i9!pp=9YdOzY_;Jh)NSl6=nQN*Oe}GKbdhw+Xc1~3- zGiF`6jE%!WTULkZsfx;hm#r*PYfPP*#W+kNgNzR9C>-Q4aF8)6GfCS$@5L;h$o|O8 zZT<&dxa%HG<_*e>UUzsCd!mHRThkn~ZBd^}++I)Ibka01aB|tN;$zC*m-LJB78)=d zz2bFRMJG*nm(rJnTi$Efnj=rW@a^2L87UI%7V~l)uR?OSLW)+>4H1Rg*(^;#Gp0;n znxtZ4WZ+?G#kVE!(P{k|B3D^vHf*$<kvEOOtuS#5TVO(ir)ipjmcRAgurEH<^X;xF z?s)C?S9;#>ndeon+m&9btG+(Z>gY9I#kox#771>NF47D4Wrze6O}^+{a*XZJYsSDS zmtKY(3{beiI4wZw0E>d7j!~CJrmGlFpV!h0-3*DWO#%xJ@mxE3UPRb&3+FP?h6RBN zM!z!DcAog+^kHv=L(?hNMJpptO*2~V<#6%LvKx0LPI%tjxnf~asNkY2cjDeYi+ho@ zp{(K5tmuMSZEN&6pKaLUP;%kohWr^9HL@8mILaQZYBr5f_+XN%bz#!J(#64j>lF`| zMDeJEX|-qHD>&PdcI!a{8|SOl0s(ejt{d6}nr*q5&ncV@nQ^v5N7x{R$K$(2@KUK} z?yi|D*It`&AvH~Xw&Umj3`;LH>oj&MuxJ={a2#xGeXe8g)TEGB(5<oIgoIoPL&hOC zhbV`2>`6_XS7dr*?2{6;Hylu4U1oC2Y~KP22VYjlnkfNFdzl+P1$<}}e__Ix=CnaE zb6xUW)-&B#O)HZms#t>cc`xr?=u*<keAHwPo8%J9Hq{bqQH=`{LOTMJD?ck#O>EX- zwaUD;v7qHLqrxdCuQQj{`ZZm9mnGOJ+_l(BXH$cY!l5VUTT3Gzv?Xv~c%gC1QDvgn zA&xx^Rn4*-8<-??7#(;N895qy6%yJEGF%QX`1yj#nA!L2?FQ|t*eFRuAK9>{&$gay zuwn~loHplL|D2MvHJM7swcLUlyIvm+IlOyrb44SsK$rG{Ijubz+m07!me%W3%w4g{ z_>0QAjwsg!%ck9)r6X6;xa6>p)TJ1WIoF<>gfUrh&k>v8F@=Fa?3rVm>KTr#yRV+U zezw&t&5MoGCA4i3OC*D$j@1GVj?|Nr#C>+0-}LaPipWHhtocTtb^QgkRx$;=3Y*fW z!^Fw3i23qd298Uv0u@bGN)7^6oR<zTm|V(f6jN!KqSNfGu!+U#u#SMo=?n%F!Bi$^ z2W2<$GqX53)p*1d7Ohy2DJ&?ZlXYc<n-pup^N8MkJAI9Gc0OHN%XsFphikE8L$|tX zmzYC=%Y{_GRU!P-G)0zuU9D5E^svD8S@Z?hlBw%9d2+nib9l#6O+PmArV9zX_&ZKE zy((o9*l{y2oNL!wKb=b(4x6+rwvvsEWlEkrYw86>ru5hT$v;z7gp)1%7p6_B5=s9& ziz9)_;h>04LPBfIlglA43RR4EcosX&D+-hNe597I!H7#jC$^)RQKzv<;8T&F82f^x zQyL4O@HDkep5$=!wVML7$2A>RZ71hdkqYh1PYjN*2sqAib2K)+uJnGj?G%dz>}>B9 zEnj^U>UWpo7jm(CZRlBHu+GCcI9RpXeUj%4-j}}Hv^O0qXh^xt_Fd3xtHZ-(AvzwC zXO&WxdtSM1QgAS6UE;xvXGzhit;-U1CAN7qN-nrKy*+cW%xRMn-f*XobGdDM(yrSx z#p<<i)OsJ<IWJf6Ob>suQ(LbUx9G(N?pU3OpsU(Cy0h3d+*n>DG+as)<D8<nl#|C$ zahgCXi^N0Msm*6aJ*|aHZ`f=;H+4nk*|0|@^EON7q^qvF_4D$*rE31NH6Nd?xx}B@ z>c(pPuK2sr*VGJ)114QgR(+oq9p}+#JnUAY=cF?`@p3UI`+}JQ4tkoWWNuG=?morg z&Y6OwuD;eLk7Zv?Qv+O=1Wh=lFv+r$`Kslz3l{mu6LX#~RrLyDb&lB9c_wiJSHR!m zEsQ)0i2|JI(~?R85;qw-MN2vJa4uQyq%vD*12cyJOG|_Z*K^lt;x^`PW*p25xQZjK zG?(q*6c%C?Xkl5z<Q&M_<k&h*f<?^TI?_ylfk}gLG4r#=nJ-pF)|}Va=pcS!0+X-W zP4A_g9Km9@&WMSv)lv3MkV-pcxS@t6WYx8h<^@hVj1>Z3jgBt7;?U$*QQ3ZNf#YX$ zDZ}}eYh3h~GQEh(Pu<xsxL92C4kH)G#RF9Wzoi!+ax0WHsOjAzzVw8yYtgf$l_AC! z8*@cBC~-@fEMcE7C1}OGsQFdHCj*B~%?yS|L>x|E`ruq*(fD%8B!PtioEh^<%%l9p zzgX!po@IMfs&~a;VS|W)VvG7*4)z794JvID+87v_KQCmKay#ZU>*_(p=~u%%d1a<^ zFf#Heu+Or%@Pxhc(uP;(b53tLbUAOAESJ&qP=!N#<w|)qnxAidC-$t|lKDx%fo_Jp z?#g>_A|6GSHLKPfoO5&WhPX@bI~RSPcgpmF%R{DTLZ`D=9Vs+gx9pQcYG|T!W!J;f z>8t^t7rcyNk%(o^l0UoR!o<|vbr*$QcAj0LI4NOmin!~o?gf{MY%YWwusHEveBc^9 zcWKtH1<sZ7tF+x$gs81h(z>#+W%3H6(A8oADjGt^#25~p)==VMQJwRW=}^RKKmDwq zThcDOcD(QQ;CVK4?cw5*=NZ=hvJw>^yV9oETBh`#E3ZArIJfC>YFMvk!lW}{TiOB+ z-Z{f%r7hZc<>h6IeGR&2x&v0say)xds%Oc;BRUE{8xmbx9K2oxI#}LdX6@2cn7OjZ zGhn-M-q-ifE}vg~K#`fzX%&}`LPC&8vW`KogXAfRBmqvxrDu9PSQMB%(q05Gwmegu z;^@l1^rB`|SfoOQu=k=PFLXrDFfQR-v_q1yIFd=hwMl2g@h&k2#|cJUJj;z)qIyFZ zQoAH9Cg=!ks1l2j?&4UevgOh##xu^E4nYgK7_=CRwoHn8ao~jTEO!Q-NM~o`zObbl zZen7edAQDczixBzl!}~sk!jkByVg@rPOe;b`d-V`v>QHaZ_m@w=H`%Vy>YZfo>g_q z+-!$KoktC#a@ZFXa%r_1&r564T*9Eh9osJ?a8~ZKzNOHnQ|gYTY&yEK!Yo}H2?+v) z&W;=cr=M6EulletB9P(p*3Zx0S{?TnefJ_DT)BG9S^=eQ8J!IrS?m)MJ{|hP6TL+2 z*}?~6f*f+{EIbCY9mS+xoU>TBYD3%QCli|-IwD+IthvvoCR=U1w{}&q#Eso6XHU7% z{IfXVY0?)DUY3RHzP7*9J+|}9oNJ8E&BYr8{%(D6W?%Exh??d}miJb@c(*2wy<`2% zle3Z+JTR>0JkuDqUFXAGZcT=aD<u;w;xl+pwmh=pR5_QSzd$3|<cIO14Lgmd**l3V z@~N24+!!0;%W53;(o%YPLS@eahbzYx9?MOAAt==-+I^T|%Th0|jocTtrX+i6Ez#rN z+O5DkO)x>AvB}2a&|#BZCIMVgYYb*Zu6<^(IrKJ5u<YTe+q#$Cve^rJEp=Jf9|&5m zU#!YBLzh+ZjziDvu3ZXU2itrl9{udGe6dqOF_uAnk(iT~)?waDUQZmGBrb_F9h~OS z;o$W`Fk$CK4u&Ob4c5jU*u?NWS?XQ+Rg=#zIXE0wdbMx}bVO`m)JaTbVq~3pfLG*r zOEQn40)s}p1J@PlIY(NU7qvb5R=nx95Gy-phs9ZkCF~0m#GIyN2{kra&h1&~I?aKZ zLr7o&GtUAp6T_2&xuO~iA9eHW2$Nx)GpqSS0=G`=^hFv%h8Y5lx{G#1?21izBz`_( z@-4>0u9k-y6<CwQW@*pey~MCmfYHprKudSk3y~E`ZLC%%wk&3ucWy3b+mN$r!`U^* zGIw_$_18Z7vSerM)YS)@+q^c+dzSgEp;1iU*npK;!*RvT2G!-;?(niOZJwjXAFx+W z{JGW<9@!PV)3aF&c#@grbRrIPtD8=V2+EtiaA{;jfKv14*=Lt6ogFkU`i{HInrp0A z!xp&mD{O4xFxvA<D&oB3g9b*|DG?JJCoojX$%mTlOf`FSCNYumy3;F@$mE)j9FZIn z2U9cz_VREi@Mf;k=k@*;F?H*|%7(9cH;?fs_<dZ=w8@Q?`^kbiC(khRIK=vFm}a3T zbFt&aeWym_p5{uOR0V|>&scjk`dSw-SN1J;^_y>Pc<1Px<xyVmgHAn3>zaOIrg(~e zFdN@`(M1QFmlc^yZHzE*T$mNGVy;f21GDCtC?$prx2bmposVX1<!QPqwZ(@sYD4#t zoZCA@)}2|<bnWwr%P(i15OfrCbZ7}Uz+sTJ)+JDkSKw${M!<$Enr6GFoiy09IJQsz zRD5&dv-rAc3Mc1Wn35OG!fv7LIAhhpy=fV|2OC#dlq{JSba>txsZb&91t$U&SzaV; zJuR1(CEnI%Jfo4PuUA*(p!Nb*ffb!QH5MG%xqxYFxX5AFa~&(z&bez>x}cNYn@8M> z(J+KFYQtJZg9VecS~vn&nSy8bXdJT;JjC!KpdmA4!Qwdw7*{4IOH2!D+}1knuolmu zqa}g03>pgE8e*3o@RVDsg*!~)NYOAjsK~kSh!kV8H$&%A$vM1sr@29w$DL^_60=y? z!ob%m7Qmvh+#<rkDx%@L-j(Qta|PShOPlzJu`JbSoZ9~CXOC9;vKqM#2E*!0D?$Vl z)po}6O7E!Lc2?^2Ea|O{cVuRrT{FXX`t%0zq>0=|6C9=dof@P}&(7(7?Xb*o&ehdN zAG#>d_FS4b>$axD5w+q{E#ZL1K*j{e)&tC<s*m^<RWl^cx!}}g()ldhuzh*vuCync zer23=i_zKe=ee_Q_rmsRUni;-NhEyb?Pzk6b82d3JW+euPljW8*@ih8iAfDQ2@5z3 z5_B8Z@i*@j^4l8jcFZu*Kv_z!<c8~X296Dl?|4%q1SdutGY2d(+3CV%C|jbNv+$t1 zTUW_6#m=Y|_EvMQJx}3@4~=|ujE5s4Vr_t`knqIECQ&k+jyVA;Z&T#wSf8oVI;Cei z=S<qf=&jpp16JAzi)tvHK5QanCE%L1p-N!MjZE$^HJ?Q%FF1KPoD$M<J@aW(w(p** zrLRpaE-POVT)HB>Q{`yWjb`QrKbdpa>`PuXMdZf65|tMXZQ`1Kt24Jnur@gfY+RMJ zLM>8O=%P+Do5^fpg&PY^4(`4%<>aKx-)5gG{<=1y^F-L@Cr@uIH)d*JTkR~d=VYm= zD<6x(jBitx%vie8+2;!vXVM7)$89=o#W!|cY;R|aH<1a@o5kp8=vu<T!lba7t<l-l zm}AkFaHdnN=LEgO*5w_zmn`xkah+jOaMskIrhv>zlNEv%bqG2;h>1-(mS)59jAIky zg$+DkRxxR|h%kpbd$z23s=^p3&{Di3tf_(Dg~3RGfh$w%(!GS#5=jP)O{XLbB5XyK zCQb`v&{+^Ha;R}(pyOwObEypsvt*^uB(+V5kY$Ku(1}v!QJU$uSmE{bS)oh^WiC8# z3P_O)Vf)3$Im=9u@!2K4nJe~6Nbm%mTq~Z;!r5>tY1ZkxmuH-1PBwmYOV#X#%ulwZ zbDJ)mKFGNGXrhZrX6+J}RmUyotCn7jn59zV#KCBJF=VCDmSyLruR3aZkFWc{qtll@ zCO)<6dNx^el3|LhXV)9SU11CviUNE&e{Q{8*DG-%b(z*xHWh;%Gus2&GWyjoY%tkt zFTiUoyehFQ!$thLLu-}51%YHXk$}Yk3Jf|4%no8Nm_>6pJ7-z)>&UyOE$w03*sWuh z9{ece@<z+<1<w9DMv{9a+9pj~tFdURZ)8rR>7Ip7yY8g8t+!}?#jTPk%aR$hOQ!Nj z150T8$^{cHpVT-#F<^>D>m>FQZ^afe9Qtr7mVcq*#4}tv0zVZZ%)MV&>0}7l_+_y# zaB6xHvGB@V;Tal<r%uGPzWQj@)^$Y4z}A52K&!_`wp(kQnG{}TU75%_t$WKcx5sDV z19o~XYgWwM*3HqEDq`u!9G;}d*fObq!GuMvZ30V8w?u0$GHrRo!gFawFq6@fKg<2@ zWxjiH)?|<Fi%kbbbWbX6H@+_|CdUxX&#n@7mTe)kj+t;I)0L@g+zSFUHn2_;IB-g0 zW3P_%;wBzRE0=gjE2p0wOm|-F^$uWp&XrVBw%kDY!la{3&mAVR-3t6%!h6Y*d$A+q zCGO&lwM-F;)4~m#8(v>%oyyj=L14)-%S@KeC5I%xI<0lEyx}0G*z4O96s5`(kjrLx zra_FCZHgpE#HMbY1>8D~Ob!P$np=gJF-M*`(7~B>P;63Yj|i(q$~<wSh9bUMdJ}e9 z1uX1KU=@y4<W^YH<vHy(yV-QB6@4l09uuE+&bSb^rllm}ySa!;^HGUkB?%8@mM)p4 zZBWUfZ*KNr>l1E+4Zc$xxf`y<TbB8VXJ7JuW8n2nGK@WZ@sYPono}HpsJmJ@?Brin zB&riUvw2lBcgccp%zHQY8&1*KP_l-TW#wTv1B)m8!NH=LNeXM6M65zsmTbA~@Y&3m zV_MzQ377oTUv0R1a)<BS&Brx9NNv0%#1P<E#S-ZH^MrcIWkwSz_ii4~6o$xz9v$aJ zw+_tW*>EK{d!n1tuNMhiAttJ6EzhDCg<ZY3^Wef=e3A!Qcis$Jw^wr;$JPa#*qCJ; zRb;wbBRZU{+>Q7&_blUIWN5IPKd`|f-8kXg1o1K*1y}yigiGg~7d$99!#CMWe^GOB zBe$5zzJya*?JIxD1Q_M83ruO5+Qt}C?r<U_MMo}CPjsb|7{?xgvjz)Jp0Svbs_x3h zY2Z3JTIF6=)ceK8k~2=O`F6f&tuf<@U`5N<4mWs~H5hJRB&~BxO=VW-jKH*F2URVz zR<jwo1sA+D*Oi!ENonkxb#a!D;m$Rew=ZQ1nA1A*Qty;-)u8T!nL1)7JC_DEN^oZO z)I?_nS$Q}dSP<^TAk^U7w!&@JDV`&Ftv6C8o;dY_-COo77prl~TNgd<a|x_$3v&dl zgaV!B99g7tAldS+bn2DKvKj#kx)h^UGdfNYHx>6fyZh>tMH&o}f@~&YjA|+l3j$RX z^vWU_rc6qf;$mu4VCeN&(!elfm&$_ECF({35w6@hiDH4S6AU~ASYGt3t7hhDWn$J8 zXkq9wxVj|XC}7vYO`jLLoxHSwTUo1ntx}Uyv}ZI!ukFgIwajNWEuXEC*LCGc@s;eP zSxg5N*KADTQDm!|tC8_9*C0mH>)6_hYtA+rJ-hb$yZq9(T*-5-I4sv6Jr?IYX=BtX zzExLM55@+C@pQX{xg5H-+1>H8rqZHGzvmX*)Sefnq3dZ7k&<D!uX(2^1IL+2Rvw|q zB}O~uI<pA9*(I)!xhs?-WeLm1TV-i;uS$IE3P_#G_To*^!a0x9;uCn@ecX8|=|gS! zNf(yZ$iF@U0XE%|R}QwwIX)5N<ZxtQF-U07(lI->CXvI9;m|Ba!C67y;^(@_Z7tt5 zM?&*zPsTLk^K1-$Q>JOwHHFS~IB|<(%bw0fY!S>2LKX$@t-6=6vn~<8!N_Kk&bsp| z^IBJjqr9OlQ~0NzIyFUb*~wb*Y#tNM64SFaXHKnNypV~*=IM>uA)FBg1y;5ZwG14G z4seO9G3iJ-Z7opf;?5|V_bjGc_6qAX6^1VfJo;=q#m;1%z1$)C;+^Hri~~<rD5vh+ zra4QBX=`Njvewy2+WMwz4qunKkd}E^Zn>|@`JGPX@mv>!K26)rt71QQUf{zUi50U- z9;Y=<GhFd{=Y+Y62Y7a^Qg)e~VGy0GBodjp!8?0FMQekgX2}`urBfnh&UEROmIk^j zD?GTW*5}4(l|4;B$4S71TdOVR)TIp>tDf!Uoy5oyJj+Y-oQTwX(fzU#OH&y(I5D(} zusa^wQqnqwG3mtWP^RD+m)NyRnC?7~;?_{&^i*;Cti3QLIZ}eF*ON;k#OI`d*Nesg z4PK^e7X*A39ne^GTG2%zMP~sAhl|1iE{;ViULlMovv>^GO`dOR7;DnHD{_lM<)pyW zsSXPS#7#Gu%<x^;W~CS8#8<p`VTi`&?3oV~cIi!vIM5(w&b;KU=%uqVw|AOm?VRlL z+O64CN9z__k?8E&DQq4-vL-8cUR&gBXgTeaM?zKEuErA)iW!9_5j;kd92im*m>XW$ zO>p}0;KbLOZ*h(_)2})m=U1EB%ErJVqGIg4u&-^eR)Vqqj)JIsVMfs#AD4cNIH2R; zJYW0r);Tf)7e2Vm+%x;a7Y%#olb>HWmTDbyaQeI^JUAzbja%oE#0DpcOd&=N2UcDN zr4tPPPDfjgn~9yuFq(BppgDM{SwzRBZQE5@Ub^<WR(@($l)BpCZhq12L|~#}1Md^L zMLY@nQZt=%&gBNput{0?;N!gMH`y5^{7S;-hA+Q%M2X3yfq~&&(uCH|mTyKaP7{`H zS#E6X?-p=CihIs8rOz3AHeD)=>Q)mw`-L&FNh0QW*DE0=hpXJr^~E+vZ}3oYOlI+X zw{lgGx#d04RTm!VO!y;rNqw=w>xE}{1s9trYox4QYy2+IbgFKQ*UhRu7bL7jqZh<Y zv^1?qd6~B5>_Yj*t2)Ljdr~d?`mJ6}E|EwKp6t`h@Ih)r)hprd$U9<M%?=(LLVP#0 z@gB$$k*p|_Y&s~WBc(U<fOyG^pq$3`^PXv|L)j!Aruup==gr!7%a~1~fsv6nb)v}x z<IAQ=WvUApM7ZZ@bO`2{+G($EpDNaNVYehB%O<C!tgo6J4onPPqJg33Rx-`*4LNAg znxVrmp<^3I5tl}z!6XK=DJmK}rafs;Epf=$#l3({FjeW=c56jfwg6SONY@Dq9mND0 zbc9YzFt8|iicHL2Hs7G*g<@Od0>;J`jfN6NrxVW@8IEmn%2_MPmy$4bTW0r?j2;WU z?u$38gdXxTiZ8tMGBmsEqUEJtG5vX0Q!i@eom%6tZ8=*>qV)<L{h~YH)^7A@;5=LB zb7|Am<ehns9t#HDku^Tx!Xw47pi9T_X!q6WdtQs&oOZzR^U=8bkxFdp=Qi$ZV9a8Y zJg~XBrQ|~1)iZogg94tMQ{|X!x;m(5PT|azn_54!X&Y?kE_Syu%9{1iw==`Gx%Ksl zU%Mg`#Tc1BFIco|W)hF%0>vh79)`mjLQD}8IvkfUh%ad6Nu0QdW8=aJ`SWM?ZY-5} z!00`Rmvuv;v&{z`hGV;;GG?7`x>&xH&4G2AE!%;B6+aX#QYDj)9GLl)?SWN8p`*w% z7AD^3%csXSdb1dCDJFiDV~CxrweeP??par>=-I9-eHX4wX4n~T!X9iDx8Us3HwW_O zOcXN+_?N^r-H|0>!?E@=Z}dyE%_bzKYi&LBA@YW<+swyRWeOXu3eE^HWp6p=dra*1 z^U0=1r`>R4>)0cmEV}A&gW!%g*LV~rlq)PSx)+x4Zkoy2^;H6id}mwxCuSH{`^p}R z2%Oj2edp}e8F3%ngq<$kuwEd>A{&sfv0)oGPeJOT#MaKG5e6!mx}8hro3_1BzM7?U zm}kz#3&$p2I$@IN%A~XD!Zw$#Af>KF0-~L44Z3H%BwQwJ=`g%pXU507B6iAZUk1n2 zX@Mz<sUnOCQ^NfwY;zGYez>UXMFUeHw}Ml^Hc6)&o)O26UCvoJ=jVk5yF|S7w&^%Y zG{i70m~(*HF@Zsl!|4!%XwU);HBJ|W3(Shn-AZAu5%aQC+4^K69fX1!1U7ImXsE2+ zaDhYhnReMm#tVTvm(KFsmwYs^Z0*Jk3wBD_)J<X&Uy*t0qR6+NXStU(I|IJV+>#@9 z#p6z#^1?jU+%T?k*L%jrn`Z7geI{t3gUN44e}l!2OCOsUw>X?)5oqFJXufK>-+6Yw z&f(9EA=b+UWmmR*7Fh2jpmad|idmt}UxphZ#h0%zG9R4JeQ3kxuw7w`S{}~gQ8)I@ znbD)^bXXyQNnlTCyPWg=3mp*$xb)ApD4bigkwMV4i^rf#ERwB>(fNSbTWQ~B30)<I zKo^ec^NFp`4YbAM+DsyzM2lRGox<pG;RHvFb8F%jg)KYv%}lyq8?4o4O*8G*2@&lK z3~OdgZE%{)BjDj~B%!nB;_Q6IUup~s6uCJT{b*lqt-K)U5YKW0)(e+C*>+C3<r2aa zezw}{)mDkdS6!`5vwh?g6b?_g#9(1`!eOZfujS<h8)iCsq&zz&#_f=OU`oKHwxn$9 z&08$Oo@mdQnHz9mrPR)Ysas|`vRvz4FvTr`DYceG%S*#*7iZX}X9;I6XD=^#cELv{ zBKms3GV30%3oPyqidC+K3s_!k*z4o#kQct-Sy!31LxhW5gusFZ?VzTN+;xXMKOd6V zAv9x!NeVYlpq}ZgW)H(ei%Tjj6Qo*<)UAACjRGbtQ;GLvwn}tyNnxJ#i*u{k!N!Nn zmQHqA;3Xm=nXR!%gp-YdX~DWFhnNm^$OI-?DX5ACuqY^<aPTVLX2@_UU<;eqoMVm` z9l}~8#Y`EF?2=?)J;yC0IWuM2rUMKat_%x9o0<|@I5`4b+f16AIU;N>OyRPLOr6So z<kDJ4rT|ri2-TKIj+0&NWr0;TBJ+-Zz7eXowsg&+8O80q(prK|S0`LOwe@JkzDD8d z>V{=$y4|<cM2g}bWUkfPdh3+8y2{rzm!Ik$+PrA8q}R6ijO3YFk{>JFSd<zWgxYpT z_wwlIM$azc^|{04wY2B?IT0(-3#t)}GUj37PC2fXH$#(mc>j{o^E{L?aY2d2)#l4H z7j|WGWm|Tt%;E`9QQYixh~>f8^ohS@c^n=cuRM~@kdXLY+n+nUL80-1h-3<bk-(x8 zy7x>tY@ata>E7)OdfV^Y_B632;@Yh@i!S;!i)0zixy0z&_b85YYx0@BEJ2^9c-yZx z;t6zZdvTD#@+OnWrP#Jv9$S)bo;3_hkIUv^;O1`J>$5iMicXf;A)bYbB8zmCR2UV$ z2D6r5W1klo(RyrS@~VX*I@`T<ghZY>vPE*Kn+7IpxbST7Qe={HaO9rRbmd@6hEPO= zLKBDV>lE?xJPcf0?nL^U2?rTDYY3d1v29{fgAP-NiGZV`m(fhWU)_^`_Lt6F5|^20 zRB~5C;YgddS8=GvyWm-liX7am)7X8@mgr?`v?QOBxGd(-q0!j#GPz5C=E6SZ#a#R| z56|W4>)}Y6BXiZ`1gF!S7w#Tn>0ZH3JyUi)TQs>`>r$geXOK$_f6&B0m&pOFXLm-6 zE|~4yy3J?PMlH)#Y)dAoTrLh;Y9<ho%5utqiEY(M9)?B*6$Yk8&ypFOl0KZr{EjmD zDlumkFW@dVYAk8x(iEJqsnv9?nOmUa1fi)ZL3bWJ>S9<V&^qgYMkKfPEcOKpUocKq zVHJt@ah5u<Rqd)@QkZ@~tC)_$X0ELjX=*(S460bgeU`3ewOkgW6SBrC^V!w8GU}$L z)3g_v%q(2FAhTCd_=syyX?{-Aspn@leR;dJ_4&<RJyW;+(!1h#lT)B!Vic>>lfW?l z0RHZM9$lK}j`8rUdND^ZLPd9)z}w6V4@_N!c|})EI?|)S_<_yjR>F&!`odAx9r>!8 zJi3?qP1E<Dx^u=|Z2_h>CWec<n2-JbW#X_o;=a{h)+U1)woZI1%o7eM^t*dlo^jCF zz-!Zbl|jcavB{}Tz%zCFi3h)C2qcJHis*Bem?U;Pvf-Jkn4fbi!|GS77cq+;oHN(G z$a6zCi}g!ar#lZW>Uy0ia9y@2f6`n9>2ohwzb;w9Zn=Mw&=)a_)lCW00uls_c*Go2 zbPSytUU;OOYh_D%o?VccIz{&qi^&phjur+5?k5UN9J>t|*plA5a4@k5D0+D|^spEl z7Ta|<vqGTp;KPy`ye=1VJC-}JB`nVkUgBn$o%3=s_l3#xIua-BJ;9cB?GjI^!iO_f zCQWCXIS!xA6g63OE8)r7j)Z(G1~qO4-iB@BtB)>-WR5lJ4x7-Z;KCA-IMFFH<e5Pm zZ{(Ka%;y)oAKdK|xZXRZ=c4w+ZkCAUCSUZEO`nxK^UQQ&%{RU1(ZkKQfI&^IQPCwN zRPAaiPrm!yzbmVsZBCvYwXSH{v&>8UbJUWrD=+9db?iu2i}A*7t%knd+C|Y;83G4F z7}h0tlsE{O7_DZRz;nz%g2$j`7l+g|jc4H(T-gFNSZ6V`D7`SuD=;{qA=uk=lUb2L zkxNH$i3o!WpSNC6?;=m_DGIv}-%H};cqygBZk==FiiUteRkJo5&)rSTU1G-0tM7^l z7UZ?G=+CaYbJ>V_hODCZoNrH~H#KJ6*|w>YO?+D@-wQ#PN4zf=o8De75fyK{XXa(M zQ$fp3-f*<&^S(=*BVjzzHZ)O!v95T|5us+&X<?UI4L-B`Ncozxwq`V4$k-a>vqFHK z!C|4oUxo{swc*YW%JjUaT#cMDX~Bz?KF<#EFIuvxjlrSOX8(m38(e1{mf=`*!bzYY zuBcgI-;#K5iRT=W%>3u(H906e5>q~>80)vyiAOG6aq`7Ax&`7!I+4i^?C0#A<|<6= z%i*xlpY_Eet$8C~m(BwASuzI}b;N#|Qg6X?O2>K8g4+U)3ua8%^Wb9lQPCGKCbsp- zoObShx7=0ixeJfNX$2Mu6^7Fc4FapYf|nMXZ0J&8QIyqH3pp`qibE4eKul94=Q6Pf z3)y(rX^hTI3QA8-O0c##HfU+_zmQ99vJg6~=vR1YyV$LRMiXKVdM^|RmEL9*9IZI% zSmP?`$fU=<OE&3VY>{S53RrUHqV!Iq^@THJE{N{XiEBO8m|()XrI}%qfWZt62C-{9 z7M>JRxvS{V!kB1s<=KpP>0;80Q}br296XzETXomu*_Jxl_VeBcPG*LB<+Q0UN%OOt zJk|1-mxo4#UIwG&joWdP1QaYMGO%7a5x~q9E&Z*p)_zs}+?UJeEuU55s~&FAWxLwx z-Ii$G_p`UpfAQdB<-T?CF^Bu6o2~B4-IMx$)}7CHjk_-%U8XZf#FuZizmZSC>cck< zt`P}aAaz>R@*Xqyot<nRd2KJk4q0}%?())GAfd_@y+F`}F+rtS#KBE~>EOh6*9ih0 zk<1#7E*c3J9e5a;yPkz=EphT{$}qWdFq6e{5yz&hOg=hhZmW&mUL81)bnxnnvy5VD zqHT%K&MpdK<vJs`J8_Ce)Ov$rzDp%r<_Kx4CL5X@vNBQYdvhy`EwnXXLAG(-cN;PO z!VaBvtltA%St9NQ2u=%dW^2$8Iv({!R$$KAwuCLIY5PkfH4ZXF9BgWvda@#KeVF}f zg&N-rp9M~bEjY+>WKvOy%J=Z*L?#C(Wv}fgt5>o$rb@AQX|!l8o8hBxbzE{+)5R&T z@^TbiC(M}Dbc~Hbrkz21)~>+VnVH3s*AirQ@drCgJa^%6aA1GVI{W&<8Qe0?K7!|% zH~#Luw4vRV&4l5Q*HvysD}DDfm69{AdaSwAW-vE(x2fyo$$nFpcs%HS!QA%T>cSV_ zKn^EfjSVN#Wr8}L1en^pMV>|JihViHBoT1HRiIGXr|F5yQh`hk5iKXa1t|-!al0sW z2yAGZu&_Hg&)w#lxwkf(D_6(9CNXit27wC#JlRXuh_yVmoSe<L`s$+t3&SpJn{8V1 zmWO#kvtrDZ8<NYa4^Cjbwd+Q($+6(fGhL;M)m=itJsI5@(;YcBElp9@ogg<$=F6R1 z78{r(Ub;?UWY$r*m2Dhu?5;a;?YUXbb1Rot{k%4F@vO^JH>3nFxi}&2QN--z7bo|8 zj7!*YcF*T%vvajmBww=bY*;iw@z!=01r82Yo=gUggRd?2JD*?wh5xhczQxb(JI}s7 z-R*YizIhFoBj-+v%t-i}daNdFeo-gi<iJ@S`Bu+;H-0HR=Vfz0o$JoL-IMsA$EAFh zJ|j7Kk6!nx7jt!{J2&PV>f2wk+;ukc^mTsY$vJLm&la_?G0bYc;59|`GS31A1x2CA zQ%id}0$nCDJL<@Fwdk`2ENbKs>R@0L$>a$)S@hCHV*y8m;*yKftef->dQK5wH9DR3 zSxnlWd0FP+8y%M$dakX=4A3@r^SP9?ORY!dmgeLY0Vhwju88)LnRMlF$%W3nnOhE? zoqf({p6EjEuxkb%)*TYyNd4#=9(0`B<cQt}1|A(h?Q;$47tbDSadbQwbHvAsFZb=G zsA;bflNpa3%sTXJ-C{MaDduh39KC66XBC+ewoabza8~I<R9d^C2Z!9!<j`mPdKZZ{ zDRKmIYa~rskx{H*sdsvTn2F#LV==*0F^dh|pF2Hgc}GVwzFKXN;8)K2X_;0PkJK|o zwp$S_&*od(hpoO4SHP>vuJugrxXW&JvsW9fV%ZFuj<(q_REuOiQnpAqw39!)>5J>8 zM%{}Is+@BUN@=Ifc&74(>6FARiLFzlcqcGfIX1U;X(%{|Wk{v7BuJ%+aHdUKVx*Xu zw5ucH&<S>fhqI=JMtLmg;#j7-CPbt8S;i{QkYyd4-X?qwdbuoYdc<FqWiwTa8pWPn z_s~`9xH?UMaT;rCUf28Z^NGyrjz%XoJ`<a9VtML~J2!Wh>~c7H&Q~QuZ_1U8u9j;U z8krY#o+*(EOLTB#-JaPs`9e-cQd7x>ZjIJ9!Mt9cf^(&7qtfH8?riscb!_L_$laTE z$*jE@E0guSdULFHYj;|1@vi6gONzBEYb!sO&(oe$t8O=S&ZkD#3lWo6v!%6hE?^Jh zQE+}T*D5Trc@gjK+wUq%{_1|N`dfXl?s03m+O9eGrbJE2v{H}aJz2~+bEW2zP?O#@ zjG^3%HaO+X(vEC7ZnPl4WoGJ`mo~4?$@?4(p6V^=-K2SbyZD+<FJ{dvSdwlS$7(q9 z#Tijy)kvn7liZ5Wls(<~@f@$E8?$6@gyekhMXi$0lOnv7ws@Sll%kNzsh8I2!PLUU z67h+VWzuN{6^2Cu0&~t@Xect9w)y3zO$`bPB91rPr6S6<W|nv9&+C>vU)p1^D}7T+ zgx$&o8<`u=Y9DlZEUUSYx!SaKW0CEmbE#X+7WjsITJ$yL0;`6ZyXVEE4A&DIidLq- zyAW6q`*{Pmh<V%D9pau#rYfo`+~HGO#_g@Vgi|VVhEPUIRKtTUPR%Sc)`l}Mc8E<( zI(o2e?V*dNTc<W1S#scEZX(;eO8&HK3M?E#0^+`$r(OlNSRU~_ziO9k&5BKYLXoMJ zzns?AdYd($l4i)zuv)l$f;0Pyoa8%)M6JBTgS$PK-QrG?;$~*tC7p3}f|0{d?OmCR zf)*SMcGNKvOXIktBEYP`ILZAi^VQPE6xNH2xV;`rpL?L%F!{ZMq$86-1am-6BUec? zM}VTZB0KL!5sr<sR=@B|VwtYis<dF;&L{d|Tplt`&H78DRwRoZ@;Wwk$_A;s>CcxL zD20T)U6Lu`t97&cZoE~axYtsFO--qj=iRt&RidaF>&f1vFA}UF+8gTOHjVYP<1Cp= zp)5D-Og^1RaN*E3XW+ONbbW@^GMxxbmIjB`ReSU@BTRZ_ZeN`&?5ys^>pV+Uvyq2! z!y=x@&zT%;OJDXDmmYm}>iS$$w>Moco_$UGCAqh*^zx~f#drU#FAKZr$=GSL_nf)s zqi^T*^XlrCeEd~>c<1~j>6fzS6>%=SsJU)t@l-{o)V5a{{*J-Y+uAhCovJm?Z}^mx zx9vB-+3)(Pmsd`I_32;h!MBMwCQEU9c%Ic3n|&eUOGC+|fNx<Z7bXZjF`XWH^v<#d zt&RyoPt2Se1A<f3EBnM<rZ+5jv&L7nC-ZT3v!3aW8;AYaE1yPBo$8)0dnWI>wR&-m zZ>8UwxNWkD*Hs?RC_R5&IVLbt>!jN|?FBD)vToL#WbQogZ0YGIp4~Brc?ATRSXcs+ z4heZNh_o^VsIoE7wG#Am31w^Xt5RfgVl$HBY->AiVlpYsuj+1Q)7y!wcAst&SipL! zoG&v>&Na<Eyi3o@xTGPOP34l`lnZy$3YDThvNUT%Bs_51Fxl^@n8pQ$q))EOZdsf2 z_1NTCRi?gd`plN?@#09{y~!8;Y@NADdPk#Cvu4tVszphR9RW?1$5$OX@J7mb*3J&a zUAlHH5}N`HbybRHJg5$P8M>)brC?%L@XAk<dp5BcitH8(U*MObQLyQ-(a$5xW5Yva zxt?rrYrewPm#x9q9>H9^iS1T4V*ne+!ACuh85Ab*v^;6}8aqp25w}U3P|KDJTca`* zm{?jk8b7eLZ|I10m=dv%vzt3~rQ#Qj3ksPoVuI{G46k%ouS%KWs;J66<;uYqC1nv- zv$}Sjp1YN$XU@elO`&2dCise-xZdFVveuwLMVE)Q>2+k|E(0A7M-c(dg<X+}ECI|1 zUof3Y-5_1_t=UIvR*8YjmuV`;T-Td*aJn`LrkZr;WS9r09Lcu4U1IZcu}PWaEVZ{% z>Y9tTyjh<0LO^TEl{RLk=GYP!zY3|faaz|TUHE4mmNHo6I78`**H+&)&9^qT0hccK zUY@!xyC&|$+SM<Pmi&AlKHu-t?#RnG&;1JfUU9!z$71ejv%It!kFt9skG`Fkyrd%U z^0Qju)9Yf^c3!IH{PxMCdallT|AUv)>x?_Ee%;X%#g=M&o%f}0>CSiWtzXNm-mbUo zx%s?Tji2^TjrbxwWzAocFFhMJxNs*;P@hq-*{*4cR=CR)6T`%I=LM51&n7QAuxQ0B zy^|-;xjb{sGrAd_v|O*_YQQPu1sh|Hjy?>EoUo)}-_hIi{mhJg?qwEVIIgt({F~z6 z&!z6f^;~%t$&hU-VJy!3<MqR~TWa$R9&X!i>u$c`*_RpLCd;PH^%svzj!T=9x25Nt zXg<qlozJ_T-YeXA&gk`wlto*l&O3?()*Mq>xLBKE0mB-B<!MWo8}^tKOJ+rQE<9jl z;yf|gW3k<(RSgUVR*ODbwQM@B+PPDtBkQg6jEcn4h22H6nNwf&3dQy8VVlIZn!(YP zZ_x**#=}-CJSqfdH68c%k!|Bznr`l~S$waLPU?cjrDb6PVxRrIo?Y90#OqRGCkx|( z2B#g04&?$n#JFd?u(+JYd2sTgY)dYaVws(B4|XvWp0U))T^zQnv4!K2k`9Ap*6TB; zbR6pn#dMcmJ9o{)c(TQT&Z|sM7BIgmH+WQHyl7(fg#Z?v$OX!VDLR6Qr+)TC>Xa=y zEWqG+H16icoK?p(l4oW{Y@8<4$j2>f>)U<TZW2ePQwL{Ez$_l)z)K-hI|7-s=f)K) zortV;;4G@SYg&EggF;e!*69mbFD_=Wd0tyNgE7MJ=+fk8ty*hM42<I#FIrudUb$M} z#F3kcnNF@rPn2FV$w?ek=n)f4<<W?6ZPW2cm?q7-gj1W<s@PdWm3s-tju(|pXVu!h zS6;D;U1_hqxN}PD<GpfhuKDJ9)n(r|RXp#z`_}l%ES{Tto>l&vdeUNhOy9)TIWNzY zig#a&;##dD$l+_u!ky&1%zW+!rNdUA?guZ8ofj)}zgGJ8<9O%K@73n{ZTMyA+*-Qf z<Hzf70&CxuzS<Gawtn_ptBZB>tE=~k{uTZiXTQPtLe-zR{+A#ATz&ZKuEn~rl6ub% z+MnXGe&=8K`JZ8;`t6^m(+}s{%f5L2<o&cg^NWSAb-j3evH0b?%Io*{xs_V`U+CB6 z&pvO%YWVnEmCVYL&9yc8PSL`Kr>?9$ZawYwM4zf@r;?{FczNcsq4SDIPnYppUVF+O zR2t3Y+;T2m+vnOuwY|KXC77=L&AgZM;`(CV&ZJc(!A6@HCV6JP5faD>^J3UD>qwHr z8XdL93sM#w0h2cQ@ICWebFZy7bt(5U-#%YMi6;TYu1ca?viY*aw_H8BcGfd_wd{De ztfWgNQUaQjC7<@)IoD_AZX}adw7Np-aml%O--9!snI5uSZntbxQ3iXqDhGGuY9`*M z>E{=Bol86$eQC3E!JPHxW^<eGO$aI0IdS#1S<_k{qbm+f89G*ulXXw(*tyS@o^>o@ z1Dj;2){NPV=dM@<`6xc+)`^&F&7>dR^JL0pQ`e*ycMS40?ki7;$hy2KX_?E*_p!W> zbCxeUS2;VfM550zY~7^g9$rCy8J^8za#N<|Op`q<Ue&ZqButxiS=Zqbhp9~$Uq;N3 zZOhy<uYAAT7E8{iLp-y1UPfQsdFJ$zBZ^F{XAZm*=w_beur>GWy*n26R*VadE;IV} zo?A*V*@J(9ixk62on4Nz)`YWWSo35|`q87q%FTX3M4(Ch$ll$Ng6#|D1y@a;BHXO# zyk!rY{GxSNj+)Ha^;E+}#PkA}ugf)VtGJaer`9ZZB4I05JZr<r&gBU?n_WV)t#aCW zB0hD?*%VlaNA7;{@$#{p%FWk;_uZFXck%wCug{Z=&r3eD5_xpDa?U+n^J95u--=E; zH~r}LcJq4*rwSIEMN6K%qjX$0;_lTQ4GC-)@6=_N?(w`}z2}xf^<K;4ak(~~2h*KP z+f^4F&)!nyQ+)GDVa@Gb;oD7)mK(l!Y&%`{mDSIE`IBmSfBt8PxqtNB^tsC&<9=zs zk}F@*b#eBUwsrabeCsSf#>|Y{Eogf$U;g6fe3wsG`^!_)GcQlPWbu8LWq0zCuk+a5 z<u9oH(mZ9;>pwAh<JDuir5`VKp5K0>ef#ryN_TGUJCc97CVzcVQqOt+!t<+kh3EaM z?e6~g#OAxZ@}kvsbDz!mzGty($>l@8Zr)xz^-kIEBD12GUtRy6+A}}({j=|JefBY5 zYtG)==YCrv<EHJIi!l)|@4r6%e82kDpW6?9skc7A{#oq$1Fk84Z_o1zNzR#XT7A)` zNN&Tk&t*UTH=3t>{AGD6)~ax-s^8BgOJlamr^m}OFVbLC+q^7O!*hn?ik3?yE7KI- z^%hG<Y?clUcU_#UA(c9<sKmlQBG1^^Y(t5pA+IjiL5oAHN-}p_bxr2>SjyPwb10*E zu4?oOiKse#wvgi8bG|FOe0#Br!!K)6_k#8gJ~NZg{O%VkVzLiS&1_B6FEwpX@wWB2 z((>xea{J<WMPHwNo)_GqyzJb<I|paa`24J_xOhIx=WUO_6mC6t>C4>WlCmo$zIvyx z`ini-Ip_7Iz;xcFofgNnc0V!nS6!~HT$u4ft+8*V@fOp?2FIA(wb_`gqSIDwGw0al zD6v=2X;tynYbi^aY|l=bCD2xEExKBE>B~!Pb0ibH6eix-v*Yqv#`4oKZ{3yE{T7|M zVyrfC0l&rLlAfj0rf!<Gira-#aoGu$8M53nKZYkf%9Lm<H=ki>XcA%2d^Dr$=H96v z#cb|=F>GyJa758t?cSQqs5~B~1Ltxtb(rruJ@vC&*YS;ynVv-Kk!x1GId!*K$`ySM z`GrewbO?R>bjQc4d+Vv>h5U(gU&egeRoUTV`nY?6^^DhFDrc8Szi>CNpH~z1W$(+q zd-j}TEqt;>HoNfW*{X;&CV2}267^SfCp^)enjv7p^G3R7&m_s{$c8(~yzMP2TUVQ} zo!K2xx}L=(%{X(pv(&lD{o<Q1A3Iw7MQyR!*2EpM<(v1_)@qr*_+zm2)4qP*>oxnH zGZ!vTGQU#Pciy(R=G*h~rDFc<aplDqj=jiZo)~=K^`2+K<=mE{Ge4YboypcO$#>-4 zF7JC`$vgMj<+~ipxppk`?6rI6WM|wheKh%SwZZ3ooe!^h6#E<dIOM$G;H|b<AAh{= z>iN2<N8c9SyM1O|XWy>Jd!9$LSk~oyzVyDJeD!j7^~rrfo1TiidLMo6&#~w8x7)`w zH|~6@ZBQy7uD&$k<fZoYUbegIW<RT%$Mm$fXIIVb&5F}6efazQ?BxrGx1JVle)Rg& zi*s9FKRtEkv)pm-^b*s;vL9B$t6#h*e*I4AufFxK{c~UWt+nm4^8PO8UhsY6+_*V* zv2R~~sSmf0za*}|p!#2Z^?hk8zjt?5FFPx8HZ*2oNvn#|avS&VRmGM68LU23?(*5k zKI>oZqc4BlPhNkp_jhr5UE<<&<;@~(Gq{r0OY6@GO<P_Xm3sP}%CUs#A65}BPH)JX zzDBO}$Si-4ERz<4GX|a$&V_EyHxQY#>eN+fUaMl`M=K}I=u5n4u42V*thdSFz`9<u z$6^Psr3rg4IzHvuMwgx?4!T?~jwrEai$pkcm?@gKuFIRctR!;Nr)^SfYVuKMj=wsV zIIC)sor=NTOH4)U)1F>7`|4YyBX;W3^lsxLi<axVh^3yZd^_*Um)?}a5!=mAE6$FY zm#@BNTj7Cs2Xp>Pem!EG*u2y|+i`A|c+5_T6PZ@KgwH*mX*w&tGpFjDy38+?vs)M5 zc9xvIexBy(Qt#Vm)l#0FpV?fryy9Q)kv&r*&%9xHm&1AMhQHtBFl`fwzt0`pwVqYH zlq)e@T(}^nXpO$->y<1Xtjukxn^r5&nsKl%eB04bWATg_6|pCd?0dsoudrwD<Tx8A zc_ucP$)WjPqNZn~h>qT|Q$-BB1R~BWO0Koyo$z>S+ve`e3kBCjGCfay@v&sPM~3W@ zS!^?lXL0ysUOO9TFl~44G40%io&x7vCfs|zr#I-q<1oWaH(fP>U3RBlUftRCG&JBy z$g*zTwROdc4w<Z3$qq>db0sDo%@1>My{IhH8F`kwdh*YW4|EbAZHQ>NX_D8^ap95Z z>Z8ru?#<d)Ey+16T3F>Pqh_FiT!*-Ezqel51ir0_H_k5WGJ9C{Z01)69>tlF-xk~~ z**Qn<W!mz{oBahTC#|KJLqpT=#Lb<shdX+wdE)#+r4y+<d<{GiF&7f<HEOIBS#d+D zcVcVb;nL*&<}V8GecC&He);!vo*O<rTYPOsU*YW+U*|+VecYegAA0Ps%Dug3uEy}* z*Qqi!&Q>=&*UwR*xn$1U`KCV0mzkz!+S+TsDc*Z9dF2x4)jLdOjqhh(nDzFsNqDvI zlb5FhH*QEa&Qsc4yJVS}i?M`u6_>WG;K|MWz1RKROp+JsU5op9-&uU0+%)y|=XTw> z+jVvQmEw$Bw`Z;G557J9%D??*zRs^c_3z^PtKwI=6*-(bA{m}NudJ%jKlA%v@n_qA z+SC0d&oBG6Vfsmb(Q7q}ZTgqj)fPXtO7DLy^trQl&K<7uv(?sWd-K(|&;2qn!>Xvs z%F>zNA@^Cvr-v8hG7hg<$hM&U%*9D9oSp_&3JQ{~vo%Xhj;fqq(xs_bob^bX(RJt3 zAm7j^p;c34<r<|XaOxUKCh1PPVWJv!hS^I(;?T<#r!6=Fr-Zv@Tdqni^?1I{an)9- zpB?vJ9Gr21;qTOxFAU5jR$tCUu-u$2Jnbx-jG|;w`oan9wn`dj?|jMVd77+n$Jb1J zO?9T_RhfHhOP+m;Tzt;h#2_$4^>yrySDO`+edgZqGbu@VwXHBG`N^}SQr_u)il=5D zZ&UQWE4g2`<ZI=wi;C+F{kbnMKeuj&xeeDIb>o<4X*bJQ1jW6Cov&4ju`SuM(poxo zm9Ujg#!b(QC*nRkwXZtU^dU-sBjwTtXPKiHTlCtmNbogJOj)hAvBYL+*BzZ5a$?4= ziw{kRu5#iP-O1W@==5O|)y%3roTdgzA1V}@pPrMcera;|+S?13XC;){vbHZxoMof! zX3TZ2*z3sU!<RPowr$JU=(Hwkg%bM;Q>ByJD%MIE&Ek!46xb7A*J3_xv5C3dRp!oB ziJzWqoV7+gbl2w6%GQ-L7oL6OTX<t*#mU4yVaXAyIg_P(Elw^jIdbv&1R1L*8P+N~ zl14ppI+5lJZZ@5MzNNvti-py1$_1H+mMfHYX_T~uIdC`}Z3@g`o9-;?HRoE!bLqnU zR;9CdyiR*^=U7SQQ$PE-P3yOx+g8$>&b9s2yJFM%B05J3zKiz!I(ubZ<^078?-B)U zHtf<6Skjrnb@J#bu{^cd?H3MjZ)Y=)Qgrth%XttGD;vif5xOe>u4@&W^1Rn;u7^I~ zwv+3XZ{dTz8Peu2`J<)pPCOlPx9XqXl=#KHue>&_%DDW}XHEJExuho7r<t=3`)%2| zJU{Df$($!|`-3evoW0axx$Z{I_j<EqyBMnca=x7A6W6-V``3K6N$9?Nl@I!6|JW8Q zn{Az+w0*txn|F0*zuLKP{T=6besSOV82OyJVom}riW~t#{IWmppZ#4aZ+`vg=c=72 z{k}c*`}pz1%Xz`Y2VXy*_Tg`w-s6@tLZ58;j&I~k*SUT{bDjA@u>#F}>nV&&+j6uf za~)H+`F*iWVEURvJ&#*wxL$m5aYxlT9i?B!OeP{tO&tp-oSSpfRMAs`FEQ${Z1yG9 zFG3DyCWx5y<z2ay^G4+iM^eLc){6-dHxiyQ1v?)L3eZ?)yyn^SHaX+W8QZ-%3KcH4 zF1@N0cY9XfZi%+TnzM^zoKKyxy?o|C^O;@zIch>75gV5_T}gCX>$1^}?bMsIXHFK} z%S)U#S2rbHzkKHI3keUy9?$t4x%B$Qm5UQQ<>D=$T1&i%tc~a?dFT{fFSPKL-#+V@ zsQ0t_^3%Is#+$sX@jBD4aHfc7xy|D_pQltdvu)tNW;las!bI!ZeN}r>OD;8wEq!iR zx;g8^siXyMkr6JF6AoOMv}3W_^n@2eUkcI=eHPa~$|MoJb(cii)5aN6ioLcQkGLfC zT}-T!abmo1OT$C?82eF^0|y$NTNPf}zNpx1wDU~bLDprv9J(3OrZ@45olQ2$>pPw; zx#jW&8R0W8zIG)|i|SmvYQm$;NdjBevTb44zL0e7-0z??@hKLCdm?+Mxhp(!Q@VNY zfuoUO?;G>5;%&d=Vl%$vex5xqe$A)v#?QoFs(Pg9Fm;v4MMXDVT&&N;m3fKhj@I*{ z1&qO33sjla)h?-uys%}9p22=*!KoJ;x}I%%sV#ETvUm|kiuS@}i90W&_ElZC{d7@u zyH$x>3&V{ge#sXfMy<LNR$Y*%<18bWJ#*<!HpB8AGu;d~MI7*OI-obzNg?J)hR)Tg zBE3e8%`)c7e2KAd&c5!Qq&iuO@452pz`1gK&x<Et{k+HP_RNI|x2NcszCQD=c=4%s z#rw8wJXiJkUghkBuU1{BUSx|F%NB28^EC0>z2OYA<*Un6o6B?e?EAd3^2dF9hqv7? z?r*-`{P0ym&FiJ-m;0M9^?Q@<J$dV;>JK+V@15FNZByk@{WEPA^OP#T+^Ls!W`^#P zdtH3_SH<_eGPdEHPrv#1pW*DyFP8IN6giv(TDhL?xqr5*;Lm@C@L8XK*OX6R&Sv$z zUBcJW{ghc<s{X91c&#tH!fkxdeYd&6dEWZC#@o}E&%NsAO9{@HnR8s_Yt^&Mg7>V` za*d^Xs;rl5s%$-O%9`?uLG`TCkuMyVEghQ-WVNn1Tge?Vy6!9<b7jVq&RYq)r?TmX zg(*%HY`w^3`Bb3E%kfy~0$Cn~9t**!NUjYkWuX@yITlUI`;scyK2`n5y^HCF{A*QR zo8E2<7R|b%E>So`;lm_L$qA)xNB3M{T++KtBRX`g*s%b<h`S-h&*ybs3}d%dE<Jvs zXPM}_nJeekG|xS=ZBdhHV|170%XaVl*cVr($9Yb7*U!8#y)16Gd6|{PyZ3f$-TvJ^ zll3cqzNOzBoy2=JpXXJ6K0hzxQ_^`u9g$c4l0BEtd$^r?Ip?&<wqqqXt|~m8v8_mE zalFsrbvD@_&m1^k8glQ`HHD||(l2F*Id;U&ZM+dJ?!r5{u<VqcLk5F~%c3P(axO9J zc@wry?oFDt>e8kUwk|10HZwObQ59dvEqZ+Ew=5Z*chBvvSuV)j;r8W3F`uF7iZF$$ zJjV@YGp8=NkZkyBgAk8b>oqa8ev`7x>f#HJD3<xjd!E!t;rhk%&|uXyYt|)hlhr<} zX$ZN-hF;qc;nVnR#v<`WDQaRI$1ZFUO01F*`=aS{vyvlBW0rzdcCh7v2W4wRBvdC( z>C$Q4CGON+tW>O{U{ayjD#EKJe#NyoLUmW@sc#X{ixyO<TT4$}q;a<QdS79X%~=b< z!(aQp>bUh}Z2Y<0vOnC7%ec>&o1^B@Et3siqRtBi>J4~JAG=)D-0{-eqo+N1!dW-n zJF6E5-h3vgW>zv~=Duwz`OD9|@vgUel3F_T+N`(9Ygy%*t#XbBMI`NYSW}f*rIXY3 z=2N-qHMNo_GLPq9JaaEws%**U*=MKSTD?5%@l4Ze*_k)a)$A}&S2g^y-Z0-+`1Yfa z-5XvWEwlJC<EuN<y+hIlD<xkl%&y9eUcPo(1Fw3xT(tJ(=v#4BY|Fk+pZT)t=ilx7 z55L>@z41ST_ryz}iowD4=j${7im$BK_Y<Fe_49oFl{UXBBa8ZMB?`{Z?pZ$L)fb7U zm*XwJxTQR0c-k#`zVz*b%}flE#m);Qd>^r7MjR{JvU=4n!P~sSYQlaAZpB_nCH+^9 z9kg2DtJcdZ#_z!CEU6>qkrc!kaj&OoE0^k=w1(#v4EK6cJ6IGo+R{9%Zt~iSrD@M_ zcoC;zv?}#nZswxHEm{uO-mdB~S#EE6d)71`<E2c~Q^VHwZ#FqIQDSzhV=ecgw&ikX zo=F=o7Bgwz^SRqp!f!^&)#wF=e%_^Lq-UkwwO-k6{NAP_vVC#S9?^=|Hjf=no}Kb( z%I7r?!akc899H5k-D@mgdED~c={;xD9X#KJ?&iPwcJrQ|;}S3DtebnIX!6;@x3bLZ zigxBF$3A=i(t>eWqfniHu;J6(hc@?Ymd#4Cl=vj|Jnf^o<(IR|g6HT<{#>B%Ia}uO zyvuH;&-T2y7w_|Y!kd|GiaJ+H`zG#4JjZZN;pJTA`ta#bo=$)2n{iB5@Kic`Wa;eX zt|fP#9k*%tvL@__`BcOCv)wi&$})wU>(BS_yL2WgIOeo);D&Ao1)htKvNm#EO*cGn z*G$7vjd{8e^NJ6<ti@PM1X7}m*c=WX)=)Tkt2H6FV)~|a$C!dr&N?NDZmmw8$#@{H z^;u)mp~e#oIk|?j)1sVHo@_V1_$c?-fx?95Wz4fqo!a0z*+goM&<P>214lCtGR2m} zYM#8ja)RNZ+sqPNi!uw_H|;shu(hjaRlp_B<P*;xUcS6o>dxB8orP!9ot0P;(yZ57 zU7opEHdv`@Yh^l@titN$`cY<y`_lW@)n@pKu=}n(yxVjRTlyWr#SLbUm!Ca#`^EO< znmWrvp1!v+@ynZKnIL)P$(N$<RXMWHU%yzm{pwsk>+9AwpL62(-97C5`10zrFH|oE ziEf_lv;Aq#^Vqz#jLvbwYM)br3XkM#?s<JyHhEIP*7dW~cy_P5d3$CK&&zyYW67RB zxA@wgTbFK~v0zQv(`8Z8;@7RLzSP_<Tyra9x>KLYr<b=ZZ+vaf`8MPF<o!#k`sU?M z-Tq>3>FJ$c{@m5y{VY9l-=@-l7EnzQGyU;C`6FKnZT9t>AHGmmHM=f*e!Q*ui8ijv z$0Ej(Z=Y>lEnCbyquaRKxbyj*TU&yDu3juLFXd&}VzrIY96O5M@&)j9ZHs;OP;J@g zo-+j({8q8fUb<>R!Nn%`5~mWz&~pI{B7&JLr$U(*Fo+0j+Ii^aoF)CPnvNb0hxC#> zWYe#3`3hfj=2;Z;sM#?nWOo3ol%<fvmRe0qqZuDBHg62vx+DCu?v<4eZzrETyNoT) z<h7kxamG#F;(InHEL4tMaGT&_9C~weoS^m!zsN|%4kqs7GS8K|R|l7CPc2rw{BmyQ zT{FKO+pW_5qjtVmpM2)_Ve`}3C%?{9O`mQ!XR_b5>SeOZFWE0Fwu*Q@<6Ll!zdOr= zc@N(2{CMZjGlO#<c|zw!N9?wG_NKhwvG>xO*PB`A+)29RTlJ;FCfSmG>MJ?Fxt3yA zk|zKB>b=Z{-R<6-lBF`zcdIPU?)kxUa`r{*${n_Xd$@Dkrf4{(nN?1-Icq&vZjQWb z=I7^eRaO2rUnjmk?-=ttP2y$h)Yr>2IUXAL=*{`J^~$c|^NS}vZ29aiz4+MtmOp=a z<Te`U=!ONCbq5P*v1t@Y*>E_U&-z&8zc?><&uImjl*v}>SsjktQdP<04!z01lOf~F zkT*l6MPr)O<rof;DZWlwhYrmZ-Q{w}ij|{rQrZ%2HEq*1voFp$wP(p}#<NQ<2<uF_ z#?~-n)7FwqRc3{WeQDB;4UDNR93rbUN*<>yo8c-Zpw+u=Pn4s`MaIHy91f?FK3w*^ zboRdW-ni+qHM?#+aXNXf==B`+r6%`E{N`Ewv|U&Ec<Y(#8?C?BtQE6lYi`do^D^3& z9A@h?HLv!$da3oC-sx#;&Id<cHaXV#I&$;u3*J|XtAtnkE3S>4v+GXu++)8jUVohz zd8~c*@=15*e4nVVdACn{r{27LXY-kBu6(VloA3JITVU+lwKjMErRG+?TwmBXWv{+_ zR9ut)aV42G>++r}oDP4k6?~~gHo{mYZN*vNbjMi_CtGEjd0(6JulSm+try?wY9X6* zXH2)R+AeFj;dU>(&pk;u=W@H5PmeDP-d81;vp0LH@y*!}v~Q>7Z;$$Xr}{^A-5$H; zzv8<$zc@Mply^i})-j%6=0E@P@f!X-Ior>l_wif3c+M|){_5k8&zJ2;vt3hiFmJ-5 zX1|o@M$KotW@N3NVHK7vZ&sDIh&A)tk+gQHJCl0PI&>e;oRG&*x67>QwDFP5J6Bx= z5?7qOaDe5Di`r&i1MbC~4IXc%vV^;KuqZnHJS;gSA<2q)rs~YDo1tg9mS}{@x@Mc1 zy^IQ;5n0u=W{>28v&&ATbfsTg%H_N|qc3+yp4QYT-l>6nXU?5Un5^0Q(qgmi)(6{X zeb|`nopeF9K__a;UY{3!4{zws^-WD%<!HTGT<2M0T2@K;j-%&{WcP~uzKnJ@{QC4< z-xj~Z$!B+1MVc?XIBTADgul)6k7v(MEZwhNI`1~Wr+#67{%O00=n9jg(R0pTw^;jh z=VzHeeU<_rEgnSp{1wY$$atE2r1Z&|^@>q9Crxyb3pmYh9`GtySC-|t>w3Lc`Idi` zX53SI@AmM-)j401m-qWxf06rn)mm-M&7Dur9M|A8Hb~c9^?tT{td`7z9p`q;je4rs zuD^6ms%h98k1aOu3K#EQxR%H4or(8Wf0qm+`SW$P3MT6s9rIkxwH#wv+Y?Ln7|4eC zPTg7A;`BS$cb}+g){oB(Uqw0AL@!|%<DGlap~ZNvI$x)jZy3WKL6!@<X1uUoK9hUq zoTsxEI9you>9K;Wn?Tae)s~xf#Wv5IEWw%O<gsV=%?(V!SCfvk@Ui=`O|c4C#KJw3 zTj63(Z-$O9SBaZg(5z*Q#>-VJ0wwa+zX-UN<|53sZ%VvzufvJYC3912xk`-oij;n> z`MlqHy79Sio3+uhlV{7U%6su8=)At}dJC&`yS;MxfqQ)_=bek4-StfPviH@;i~D8g z+VY)OUwta(XK&@*gzN6+mGd^M?MhdQTWo&g^PSD{L7(1Vve-M#{7e6o-^LHRAATv) zJiC4R^hIqe*0P65emy_)#ieb#W9A*!J}1leDe={}i_1=5I`8j(@U6x5^-rTeoG8=X zBwJH<_Rqn&Ml<|Hl;hN%sqf1(mNoY^I_)>}N?+Y#k(X`mdIuMtubg}NqI9pC&b*d$ zd+unzl{LKZGTC#@4Z-!X5%=!Jdf#|$YIRdN-_`i?+rztKEn~m$ynX(S-Tuk>`_FET zt|}~F<aGg*iv(I3b><7N*FJdv+>gC+-qZ8c^=|&WF2p@e`7F2PsuM{sDjPj47w&v! z#A)%2c~VNa&6^dfCpXM=d~vtu*+I2upJ!fejONq!^gP*h+ErbnR;6;+Tt0?fKC#mm z8NR$K9wEy4vfFTVz@!;D4PO`<m=$~aif1+*U|%S6C323|vsI1>T;kq~zRZpYiseo> zJv*bN(=6FDA*1B--1f)y?l!W?&m5OaSxIP|P`JA1@Qii6Az8se7JDr&cHiA@bb~dZ zY0k@S*NnDZW(|8}AXD6OZmC7PcFe4KnrG(33eUQ?JNG_sO{~xP;OTc(J`X9e%KiHI z!O!V?&67ieY;Im}U$OgLS?PJ_t;e6sD=&Y#?(*lnujlt1beS7mFS=T}IOpZfS0$3i z4!rwRAbm8Ap>i{if~>%%;MKB)?;hV_cCoJBU1|PaFWORp$EdXEi_HbQ<|ldGERh;} zm-%L%+V*wfl{2=FPhB^TsA`Cax#e}3UG_)r*#tGdnKzd&wNBq>D|q*F@i(Wv`t#=q z@3>d=!h8M>E4egR`%5o7cBYuksn>45_=Mm1<~e(r;ui~Y!_r*tBqyEj&?%dtrRTUv za-(5&`G&|Uv)G7^txcR3pLF701hJQjgv6{5b=oQ>Z}3PgLPf2gMbc@D>7^HrLa7%u zuQu^<XNWyxV_((Y%9^xUy6P0a<)$l6Q(9(ts&trGt>wCZzS1X<foBtwK)~*Nv7XFr z3ly79h&!^X`APZ;J55@~^IXH5ow;ZC<-jOu)#*|_PQ0d!bFKc|yFNM1<aylex_0q5 zi>qutE!S3mcIC~ZtybpqqGhBi-j-VK<+e%N^;NEXU#<5%*HZQ6UQ6eETV9*<`OWr* z^9}{K&%ci2F44A|tXKDZ@AdHBGHuKB`o1rgY5b0|5>xIaKcAUgb6vf3*4oFv-p{{z z{JPcWSe@L5>ps2H%eTIH_uUD3hfh^+OERujOl2|gUVC=OFLpD{m-A+3HAa2BGHsum z_mskd^2<wggfbFTO>MbUzNCkQlw9t+`HGjp-`q-M2IKW&<KSh7HCJ2?DmIah+1GF* z&Pr`^-mW+2=H6Mqs%pQrfAY$=ZC}gZx3BnG@%6Xy@;8rf{<6`(er9!s5~y?IB+#N@ zGv`0U?CbL9-#*@#zux72|EKTI-1FG2o~X3SFe~;i)|?^sOyJA`i8D$(b6GS_r5v}j zDtdX<*ely~#U)1J*3O>NEs`9W44#V@s%SGOEKAujyXVrcq@HJ0bFBOCq#AZzWJ_aq z<K>BX%<$cugTW+yQq}>VE!P@@8@-D!Bu<#AIcxR{k%Mj$?Jp*EO?|=eJj(H=$Acr6 zGTRy*x%7qIHfEYeo?IXyeBStNq4}aSpRI$p$Cc-^y^lGw*7D5C%SG?bl^L#L%eb^_ zS$Bkw#DN^sIg8gX%VsqbQg+u#_dS30-0G_*`(ixL+ZsRpWz(}`uJ_987hfft&duDX z^8Reb-F2#8&QzQHO|pF1-nsnH-`k)3CO^>@3aq(h)bHRod4|FX1#yFfZ70u4=!!*q z9bTmLa*O$#v&I?|eb(sc1{ytkwdU<Jo9kWtVPdSgw`R8Pa^)#rb4c{chE3Pc9MR@J znBgS7Oz8Rw1LZ|o=c<^@6QWw5T`ry}5-yXqH@LPu=DW_XEBjiH-fo@qcoyfMw)dA9 zlQwe~=e<t*c3NZ6FWm)l4<BWHu#(BU)P1Zs`;dvvwB+KOGwu}szV&JTnjd~_p;@mC z=S<k(q!Tv3rH@14Xw#eMsb0k^PG4lvX<f0Y+xa51p1W@2ma0@`cb(H)rm8S7`6QQ% zmu=giSaU^!g@Ykd%8^%tF-1kKI5TRsWa6wRLKnMM-`vu{_qbS-^N!`^W#-N@H@%XR zE2aCVKFhiuKJV<y*FSClGl(yGetF;i;PZ8}PX|gbiqbZXZuSmUw_Lb6<+GN_mbaQV zd(WL^pZ3b~=;ynO&iVU1EIlW?ar+^imy0UD_)2}gICpMd_rWc@$|~jc(sQ2}UlS_c zdS+t~^Hx9K_sh36pFCHlFf-}+jP1*9Z=QP+7QW^2EVI81=lT{zoaAj|HeSpW?zDRT zg?D;9)^~1MZhs(p`I5*StEkqUAFHgsJd&H!wyyd@tn9)+&sR)lDX7v>sdxKuBFT#B zxU}MCS$3z%OVTEsJ2~Us>D!-=T>G`;*Q@i^mu;VKZ{POz*~{NMzSPYZ|7AJdWeKQT z1Fl)Z=Z8OjdHkpChKlOSb8+*zpMNP<+M#Aq#3Obf@OgvI8I@-fUd(Y`kaXde2xHIF z86r2CTwKEfUot9QC^V^>b+I)iE$i!IC+$TCy|ylne6wrL6l<NJu*liTPS=XpuuMyA zZ1tJKX*FZQGov=``G&?TM0xmnO(g>-wme&1%&YpkV6JzH<#L$<fhP~%#rkcN-Snr} zZ$esharo>~wk<c*{bgm>q)gY~sAO)LXR)sF)|GY5Mo&xlwru@c6}$J+y5gt()|HRV zr(0JV7naVxeersnOVO_#TO8dk-cagIkSn_Rw%d5Fwaj0={H4$L{<(YOWYd`k=d>eL z&#yRpX@YG2wC(5lc;jS?^(`$qRk^+Pp58G_$5P<J#{K0BlN4uo_D4?e3S&Jh<uaKq zvO+VoZ5PLdpqix#_nnKamKR4Q?7fw3ATrf>0@FbbDX}$uZMP47&Db+rYl5t&tVp=Q zqc>4yvv}59t*`Wv)jD;<px7j%FmL)=jkKg>E#JJG=dPJC#aT=4`xSTava{vQ`CY$H z%bI*iU+!}3`K4<&F3rxoJ1uX`<379H5zi$}9yS&geKlRqxIC%bcxR^B+0S_!gX1iV z+$68;W#jhMW?iVJnB2Lt*G;II*+Dp2Ox*BM*DIZ{tE(Dbm~6Oj+UBRBl6U4t(YID_ z#W_iF!Np&0I5t<VxOld&Nvp>t>AK_+Po|)wPDy8*Zk%o7zP5AS60y0@YF@5do%mwb zjJcKaNuR&`m>$DD@$Bbc&w}ILuRq?9`YiYC*|yggi(lTHUfl2d>BZY>J@YT~qTkqj zy*54RdDza<IkV0cZoNFu^!)kl$7RbRuLWB@C^{fh>SMVtPnK`y(|*x}mlCUOb{=@W z*3vY#I3|7B@d+m{ynI=>+hmumTiUtm=lrFXC!RblUoN9o)bo4p-pY^ZMcG%+6+Rcg z`{XZw`SX&BZACBcR99GJ-qpE(_QEyaHJf9bc-srBjEiM6N(vTUxZdx%r1L<Z+Q#Tj zX;u&CTIjAhy*T7_a95X=o2_JrPLefS;$2C;DZ7Ghm<h{jnpKrM*>dtc&v@f~;oM)} zrw{X&UoCz9?svt-%gdcFKlxIhe}4JRGrv+^fO8Cp==qm7$G`LX*+1{Y=k?t=CtDd; zcf;_U(VS+%o&yO2CP!3Gq?xo7w7gh5<DAYFoku(q0@=!4C!ReJY-(_MzQ6r?r_2*) z&hgD%`^4PC^@VQRj91*tvMy#DR;s5SOW*TSvO{9Bp~{A@Ri~1d>&+0pov!iBNH#S) z+`+SV9b<<_%DkOdJf|=(3pJMPTX{}<_MGGw&oWI-gBQon30HDo^S<=;8i8h$Icyp+ z8@psOOeD4imY%#fFXpsPTJ;&J+PIe&+)bW@e7N%=tniiW<~=(rZY3_~J9$x7vbg2; z%)GFMDaU<6o@}f+{hT#)k$I}Wv!ql0=I3$0=TujeSGm>fw_jtu=kV0+*Va`pczN&T z)AQVyEo_bFU)!1Es#rAR{@R@}&r+9q&3X26<Jr?wZ)^{UuHt-}Zs)UV=DCnfk)_wg z9*R#gw7juu<&4v-pKR%@x+Ku0FW$w@-1fpPqoG70N^<&~SM9A+yEj`dPZiUNn-vj} zuCOJNiLKE?c+SOR4pV)sMb@dcrEM-VTwQi;<-9w)D)TLk=UaR!4q19_w$Nmm?|vCs z+s)JC-kdjDANTA|<tgWt>s%&f9QWowt~LAPjbr<Aw|$;nbETBeZtA)=o3Cot63UG? z`$clD^(0^5F=63hYFyQN+cNnmTb$8ngG+LgFDz;((K0c&KALEhaVCGdGq2#fy051z zByP{X&~EK|-8ApZx|+|Se0}**<{QtRysll~P~`F8%q}T=DYeh5*`A%bR(v+%9`EPp zFWQS=zT9Y;zb}8E&C_&;&sS$`Jv%p_*}O7*#`%znwJCdqm8$}-sC%6LRui{Qzu)w$ z=K9R7m#57Wzx?d|=bSsG&#cbNZ(VMF_4Y)y%TtPaEIDs0??|1V5R>km+;aQQv?ud2 zo_=4|7k$Ro_)PZfSg8_!Z{vq)VXxn4+qL`8f8p<b_Rtf(+)r<>YC2yE-hBSTjBUHT z4tKR*ET5mkRbqO*U3qF%#hM9uyV$E@zU{aa^rGH8<3N#L%eGUq@5VXFI%gE^G3UFK zJJHH4E-Q%bDaVUTr*F)jsp!_FaUsIVZ{j(FlCtheg}0hNu9I0KXPr0UOMAr&k+R!? zbw9c9d}+(=uYURPMQvPs`1hLiUyIXY>}G0mfF~rK1X_zzp4P1Iyw5MUFZ%e)&-1Ns zp0xP6BVw|Q&C9+6#jcV^#dMB2Te_PsbaF7}To%}tmBx9|@wjO~N#oLN)6XZ=?%b_x zPP}5)-8zMJbIJ457JoUdwtT9Pe!eC1hR_{%=YoPsjnihyEIjjKvqbOns+&una!v1@ zadS;cK&RZAGm|{Nq?$^cZ4nYs+nF-C#BA2ViyJM|qO2rbcL}^}ne(#rLr~npQ<k5e z%qZI;yX5VwlP9OF+iU44wej&sZOf^9Y$|3|>Q-v^3D3_jE<MiMvv`B8)Y6xgTjt&Q zwtR(E+OaCL^-Df~+Iai8yq1lsP35yErLBIcR_+-&Tee4Det!O9(ftL9;d_4Poc&&G z+fkri<W^YPyn6a|oBFK98}738#Lex~OV^j^3Fb)tb&k1l>VbPR%NaIp3hMdg*UxPz zRknJmaKzl2g-Px`hU<+coGy-Q_F;=W#=1x*_0WeZ-RLE}XH}CD9dE64E;Wp3I(3=x zV(XDTg3ANA87jqR7)A3NX>2(gyQ<(>cGma2D04I8<+i(OzOU{%^YcH$A|qLw$!nKo z&V7F_hdbtZxFuV-*7`D=x0bu!r|g#%D_hbq`A*)tS}WfRMKc%f3D$kiBRtpNr}&)X z-Q(Pw&t2B2xWeHuW9ur(f<4BuFU{uME-u~1rS^FbTgi+o7H2Q)mC@WS9liHU>g1=( z{B5_XS-G!c_$<Zy@?e?>U)kqfx%uh(tDXI1&ZU{3tEy1<Hhfo7K8?3(@eIamv)!Jn z?bht*eBqa5?)E+3Chqyd=Q(%oTc5IJ+0|ZeQf~9{g;uLwS?teB)5=9R-@mruHpo6F zTd7xkG2PGeM#<NYam`b!>#A;6x9+&lczo$(hBc2QX3vkZvfOdd`B-7I<f&fi63gAk z7M}6aYIU7gu$I>#O>OzHeBW(fDn3hco_ysu<$l2Hpfd9*C7Y}EtoYf_UVioN3w5E; zb&>a0<%Q2(zUjcpb!l0KkBV2CE{k5#aCK&FS~i<_U*VF1%M;rVwihnjdti2p=hDO} zalJ}YXM31lY)V{io}6+jmAxd#vbp_pzU0LP3}+3l>*dYYwR(MU`enDNXD^ybxzC;U z%VOOkE0Mdsd*k-~_`26F@Ba0Vzs@f_dUxYpwU_X`H0Si(r<GQp_W3WK_~i8iyZYTG zuNUnplPP-g&d=OUy4XcVF(FuSvE-Q>Rz=yf_*zSz&ADtUyLnFBHGvPC64d0QPsz-@ zu(8QAXV*r(0)MN8QLdXxrp)@qb0ejtm|<<dS0>lmm^nu|*PLFmT~TsL=B)l{ual3J zZ8)!U?flA!3Lb{ZMZuS1qBhQ1weHADu9iI|OQyS;tvHpOE}bfHb#{B%EjBHQzon_G zN>jW|X9ONQ^;t>uRPo2&Q$^EbW0Et^E^l4=<o2rUw5W4I1{>d1Wj-&s*R@2TBz6Bx zsk^O`)|Mw@*p^mCt(w2q;^}La^M*6aCSDfbJ?l}sFVE}m!QBjXlLRc!`DGkPoMtw0 zw&Mj>MqRhw+s~&R&c5aGF6HaT)!LWdmTGO}TJ`x|O}fXC?95GNXQEzjzVz(d*^@7K zeCKU<yl~f&UE#sZ%V*Zv2v60Kdemj~!t-K-yYbN(CLdfgK5Q1%YLaj&u`vAM5v9Q< z+9ajZ$a}*qkoio(pR$eD4sSeu)=_t6_q8+U+A@yU?Y6$WFMQ2c!#B_82~R3JS85&d zJotu(>XGB-vc-JYoG+xzeA&CW--GYVr^r2LtJV|+o_-{|UNQRU_Ju}Y&ZeJdi<W7* zd-2#Y%M#uq-bC57&(=Psa+BqD9H@C8H<=;vT28g*9jh<Va~>~vIyqk~Tsh9&I_K=g zJ+^*!jm?Mst1`^yb?dLSy0Okb+^gbe@}ca!veNLTz&tVA=J}`3ZFyg}M7^TK>e_kv ztdhe0j=jPAl9zq?^zmxq49k1H{^j$gYn}7XwBGW*IH_yz9pgQ(&Q{OM`rd7M#4aLo z&nLCHl|Iie+<h}^)9#O3)-Aceus7!V#fojkFK<{e@7h*evUE#8mqz88t*_^{UM}1w z%dL7|+#uD^!Qh_itcfj-t8RW-8M|}RZ70j6vkK2VdojB$dwb57c(qCAI+tf@dIoD7 zWom_m?J05CWK^OWP&v&i#A@;inX{!U;+p5`{;Fr!np@ZV*Yu3%=Gp4TQ|B)=xju7} ziRv<6nZOB2j<$V0$79{r*_b~%w`OkJD@nGw%{H4ex82itDY<jY=exaM&RmY(oGuq` z>0x(V`18wkOLy(~vN^Kc`mXVtee?D6Zy&w4u6Ebs%~I8$Z@!*ZmGD}B5p?W8kyEQJ z-`-#I!(Y$GHRo#g@Jl`axjJWG@%gLof4d+4aqnd1>!Tt??;Sgg=atPoaLCLctkCo7 zvwo*F>846jTcXddim@}E>c_h=`%<!6^O|3NLU&%K1)Q7b74$mI{2=pNH{bk;Qf>^Y z>?@~h_Du@v)Hr1B#c#Q$MM6hyVZmZnnP;=&CWUU2VibrK%9xPNCo@M>#a?3bVvZvB z5+1M5!nu#kKD}&HwzGEXNly!#5~@>KaYFaJT$uK~=z{FIet{=e9?vt|DRnk@My>mt zo6m}S?n-!Ft15E!D>J;?yC-kCgKkw+=_2vn^R@l@XQZx<IhEp?tsAe@ajvGhZqtli zUp|*SYbrKuc3vU#xhyR<E0b~6-sjt+Ir4RQ6^hkzCOtW8z2s@0=3T3`2Qylo7fbCG zNxnUG(&~+-*RQ9mFSzP1ws}Em=EW*wquU+9=Wo5bl5ex~`A^H^ikBB&++4Zl?8$RB zca3KitWCN$QNoqkXF;Fv%9go>X_YeKYZjGMm|H!&WO6fdxwLUahPiW^?Y-SWUxjX! z7uc$OtClIhp8G9q&;3bx8E^MRd!1Y}_e183=%;UQ?K#bn*Ibg2ys7k{(c{a~RqWZz zr+k(?e)oRQnveVH-6y{IEGx^r<oVLw>!-6v_Pt#4*zc!L<p<+xcd_Tq>rP&Iy5Ilq zwX$FSm-!Vc4)iaR%c`n)+#mBd;c;JS%<r1l>-I~j-gmYQvP$nw`*}CCdgl2X#utx% zOU_<bc=O4n*?swPb5&)pJMMc`UY9?o==07!23h{)s?X&tfA&@0zaD!1<ccCu%cr*b zbKc6#zWU<n)#>L8pKqU<Z7==H&Gyxw<>qVi=jShzuYUgW=+k*IU*_E1yvN}2JhQpR zOM1CKOT7KOewFL9ruT~;?OQE9efFNhbFEf0+P%e>bcrNzM5bO?x>t1PQJJ+|&u5%v z`<Sz&@^S9!P`~wRQkmDPOLgbV>B*g*JiG7AuC+IJh`j1Dob7XEYo7eN6u+damrl*N zptbe(Y{Ny|h6g?tZkD{cX?xXmwdB>TGvCiU`*QP=t(^&<71PhhUwK%;vv=o=C#^Zm zoT8g=c{7`?Ua-m{;7*C5TdlRkxr2wz=E~-5E7mtYJLmh}=?9LlUiqtKU;gH^tDb7F zsj~AsW*gEjH)-dOcXR7bR=zhs`;~w5gZ=S#`*#^1cF!#Jz2@uJ0c{qxs2eRVuKZP0 zXTLC}oZtF$OwOl0<+C>w-4prx;m-QQSKq&s%U{R&?6AM)9IlFUGkg4Fzr5it@SC$Y z@KNfFFGnRm9^aOGXKsN`SMITQx^p<Ly_zFvbNA)0n`e`(43^t%?VHTYb%y8M9P7y5 zR<=1Gj=H?|ULfHip!6w6cLpQ7fb0@;vz;d{w=Vg%`BF*dwcJ8JU-yJV5{UxE2I`C_ z!ue%l%ceX{fAOq%vcK};wzMnTmrUPe^IYwX>E#7drO&ccxt5!(OfLQ;etGV?R+D6Z zcSD=3dE54eT34^#^Gbd3p<;KN*t>du`C*H7w!MsrD2$cpKA0`H^UB#}U&{(_$@9is z?@f4<b^A%$s!hqw>#fx0#XS7Vvss3#a&Pgj7TXlRt!kBzEKH7Ht~B=ZFM0X-+{Sx1 z59IgWJ^Qlkuf?O==Sm;#_z=BuuI_o=oli5n*Pc8%bJEK+vClj+I~No`?^<kec=q(@ z<voA>SbNVT96A%N-ghl-@9lflhLa*p&s^(K>N(a^;<M|ZgJABAyUoIDB?@n}JF)k* z<gHdY-TUWfUdfl>^Dme0IxaWIws?BK(T`m-UYFf*U*a(1<8t-OJKsgVz4fQ<%f`D4 zC0@*Y*r#0h;?tX_ZwxN)oFc?|_QIZsTcR63SMBSW%djuZ+M3J4@wwlpk8&}e)_z)+ zJfkwN-+Etd^M`-cE8foO@V;g||FV(HW`EmnNhYt)KHHmcuIc5Aji;xl-FYZ_{%z&? z@|h2}KCn8!yzG14JiWxV9~U&8-}rew@1=@ryJ%D1_n+6<dofvNTf0xzt(ATGwJ$F( z|NQobu(xMkr2X8t=U;Ns<8xi7u9|L_Yxw!y_i>omR+EO~%g-J#pY!!wt-9@(!hBnn zy+-?T*9Lr*{VKCrU46;Hw8z)3sl1T0J%4;|?91h{#p|lh+Xs}KlssGVJEB))uZtPK z_qK$Ejm)jPRL=I5ab4@>i99P(V)f-h(Z@CKi;Ds~=iD}qZWVZ)-IDcs&ok+`l%908 zbyd2re7;&sIlD4Pv-d1s(ws0awewzsoJ0nPPm^@vVsmS=xfZGSnso()P2F<O^%@7T z%UYOAXkJ)1o8394ZI)-hb?%pfA8E}cEYrOsKQvt3a&}VB%LxnK<vg0V)N-fhMU!vG zt!127^BqyMUY;D|XL9cA%boLe4SsIjx1~z$SKZ_{pXcA+Tj%HQSGV}$`HgR$FW<BM z`q{e%zn*N-Xa!H;c0D_JXv=N>Sv&Td@9+5d%dYg<*Y^3gq933A{PpAK{i*Ncxv#Ge z?{2TYag60_ZOp!Wv9vmwKj|ByDxc|G_I#Nzd6hCp+uC^>JN=G%XSN$hTUp(?VcE~e zXxR`J&9`JrphHO#i(}P{jK!{&j+Z6p&o`NszAUeC@)Wg{9kO9&GkuQz;*jv|*vQ7L zR5C+r8|SN=&Yg#*-=0$3YZ-Oe&pPdb<zowX^V#!vKYaJ4B;BfA<5}^u=v~Fuv9fzE z&w2gOY4hUJ6Nh_e9n!b_lKQlGzTKVdHR3V1@8)RsUAC#)lfPi`p)Zx$^Y;4fd^Rs{ z>c&gKK6~$&%{wHW8TBU7=I%PT@99fFrN6pkJUiTc!Lgrti~3lttX@m8B;>G9Y$`oJ zz4ub);dh67%7m>emfJi}*W*vvE?t<HW#s34A^Bo<O5PgLw6<?zn@?uzBq!}P`~3R# zyn@}=)2CF)U7s&m9y(LHb!O$K_ab4RSFUS(DH~FF&hPcQt(zxRzAcbE>E?S*+j47y zROF<`3XN3}XT;`)nF`Nz6`ECQT5+Rf<LxKc`<Hv~75@@bwfRQ!zN(n#chWQMCcG$C zI6t>|`}9+lGoJr?<D=|#&cokc+MlOl#oG^g#!pJW^DlYAGhOAYjm+mIsTS!gOy@RB zJ~?meA9%Uq_XLe9y_}LKu|JmPm>SMLTlMPcgVT>?68yf~emVQI-siFL^vc8cJT5)G z**BM^s@d*&>-PEEcTcyLEbVzFzI^7^eR*@Oe%#ibx=-tQ|F!tZHQ6if$@+VCpSn8d zl~w5nHs9*bdy^L`7yY%jJ%8D5(s_&fOivG)_uCx1zBRr~eZKW`ElXLsG~<^$F8fdZ zax!qa#MDLEQ~R?Ug)eP>JtswW?T@SHg3e8Kuj77xdGGA6a@Cj8o5PO%lqya!`la)3 z+lQI=)7|5^m2Yk?TvX*#l~ENZ-nG*E7w7rBzA67IqoXIBtKhl3do`<TCfi|_ce#7R zPTBB0x9mv|6J9u1<M`$^=g!t_77uIib#wZ;v|(fIb|$kYAI!ED%H>Cwt8%=4ZFym8 z#3~OlD}9wMnF%~cIqu%uv)n1-a+~a9ws7wmZjYBAoN@8OOsm;17PPnNMIK(lcsb%_ zmcp#cUCGO*^U1!;i?e#Z{7}we&$Fv;$XmYmckw#1eDk_en_rc?zD8dvD#<*{^7>QN z4y%~Yofl_mFD*WLeN)LNfp3h-uQu-Yc`CR4<<GjQr{_;UzW7_xcU$)5)7QK_c<;sA z>IJ``gZK_9GnQ7a+OgwjgiUN=(bk{VHT_5HiqF2hv(DuGnecCNHGlNJ9Nu~SZOpmP zPxS5Ph}dPHo~Q5O&+aDIRUWS1eS5pjuFuo%l=qcd1zm41&bfA4i~G<ihRA0ArJNJL znm9Ba=`Hbh@pE>Zb7s2CM`aerFsDhWUI(6C^m%x#A?H-&=EyY@j?Z~?#+7^7Dubu$ zRf%5lUW?SDif+$e7v-yd_H4e^`<Z^FJK9yAy2Rc$Jby#3&D6NfJoa6ByicUH)2ai{ z5)UnXx_zG97F+G!9M9*U=CaRv^Rsoww)EJ~S5LDhJSpBahi%<$g<B;CceI-OJWiCD zUYPE7$46vNZJDgR^|{A(wyjpNGFi%Vldk=^`gs2(tK%!%c2wrxQ+pmSwQJ8-%UIdq ztI5|s8axd9m_MKGPP(7XbGgT}&T+Oh@E-HMwl?aV;N_l+*7`HQ-MjZ*h~v5KzUi0r z<NBp4-6n0G`S6pt-=UvLzuYcQ-8{LZ+<NBqz%^R8ijO^?@Vxltl4tY0m)p#GE@M1* zjq~Z!+>FQ_=g$?qHwh|H5@9!cTWa`r$KGrC^`&=yd^=wpJH;Y8Tfy&XSn(RmJtxmw zuh;IGb-l0FJm1#RQsMAS)6f5E|J*Bj8vI3n_kNov$#;u;Ht);IUKn`$UhTU+p8NjY zd23}Zv!`6MczN>Xmz@@tZS&f8C0P1?ZJl%K>AY%Y8_QF=TTiX{^oDQqiAxv$&g_|W zj&st@FB5owoLuuO&q^Y1^X?L(JzI<YS|Vcw+V(|HFWx;X=4aL2k|o8LXIaNhm;HRY zb8hCf+3RM$xOl|K@8h|XZ_Vw}XJ4HAU3#wZ^U9rkk#D;jGi7&lHhn+w=|y$x?pH=d z*~i0*LbuEQDUCjO=DX!m>lgg~JC{#9elB$7p3AqB=k}fas%QO7^3Bh=e!Y9%oqIVy zk6r7k=<(y(`l?qfZ?8S|uKWhG=@!dlou}7$1POb)eKq#oq&eZ`K_<)7%`Zc)#Hrjo z@#OiL%R8hFsGG+nZC`v`MAh<j#PoYIMzYdtx-LW}%2pJvt+W)L9Z|H+)t-~7Z$pQf z>|%Sh#bR5V#O-DqEVfKLYcFMJImgadMBw0}v+3c}U6TX*`j@-S30}prWYa7kb&n@j zrF~Q8>XZmPToxO{#^lW&eQv3U>CTUvie2XG9V_v*+A`~Hx()l%XP0GdrrE8jocZ*Z z`Slaex0|QmtK}Cje(`hHzZchEG`}=nbpqOQU7>vP^6@|N(Kgo)J+HZE`}BU_(>nFu zpE+9|Z#?^H-{hBS&gG}(_`S1@kDJq+^Z7z@+vkpXt2Q;1@Og;HKHIFg>eO<Pg1($I zz6R6G#AF_;ZxyLCj|jWz^8|%*Fic=74mFy|@+jG{y()9(k{t)nFlcGpyBVgLNY2iS zw^nQBFqIK@kY$kEcqW$T_(jX@T=y#8&YIcrtimSY<-WY_nr$mN<%&;Pn{2-Ban{0b zxp6~|amnrEh&@Tgp2s%D8qJk_9`U)o_3im1uglBNysoS*o_le&<(pRz9&S0B!NB$> z?GmrM_v~dQJ!#yD)1!)ao_zP?`%TN&AMY1E|CUhtHGSQKho_&+TYmoL@#4-+n|9uM z@FjgsjoB9?o@?i#ufLKy8Yhy+9Ct4A_`_$5I!ewOX03V|R_b@=nO)VYhU0bRE6VdL zt9h>J&H4G`l?-QL^18~WEnmIw`bO3}q<fd2l}lUbcI-1(zQ98n-g$Ay8r5XYrFDBg zM;%<=Y4R}dLgjLi$NjNCOT4U(+m*Ye-C1|9@YUfL=?2f{tlK^@F4??ozwPB^<}<5o z5*9ubGH`9ty4rQG$X9l*l>MZg&);yp>(wvLP44?#Ip@3Y=Zn#k%~irvr_b3qC+=Or z%YC+PJIa6dyt(&t+bec;!QG3KLuWtbyB2Rh-%jQIvU~S+dOp`~?k$Qwzb@A@^p^Hy z%jbC|mPyR9IYnEW{SMCDQW?7W<h4CnB3iRzt8VT}S^P3)^E>I&FV#DzpPy^9ZL4ec zbe;?MHG_A&N_%&Fq1_Z^%TF5{=LueaG2^R6-j3zvF$+Jvl;SfsOcS2<y2$Fw*BLJg z&UM5-x4Lm|S>C?Nrqj!cH&r&I-g@?2YxaxadtrUmPk%fQxsY-49sk-Rcay%(JKyyt zDE0ZBYgdW`{%yHdyeW3~623~^id>_I8)TPU71i9L+9r37dF9rI^SU)XC)whjEpE=6 z_UgH`*|a5BEKaXny)J#pi-WT+Zsl#8xb&b{m8-_Ff3>1#O-f3QGnGsC9Cj-%?wfgl z=jH3!v-V!UadUZL$#chx`zH79l1d4AA^CF`+l1qvUPctW@-$k@+cuL;t@u#Bc203E z<B92Eku9^*tAmbDKR12hv4B@4omR)0UT@^JWaro)R;+n@TTkxs)rOB(Z+^aP?-l>G z+sjpXzU@tWXM6pHU3vDakLj7K59@&D;sjb0S<Zc^v(KMiQ@`@k=kVE|zW+Q^vNJpO zN#)Bu5oae>J@b*SdARITZfnQ0hRUdCe+s1U<Tu#{o_cX;zNx!(U)ju?=N3O*CH2fI zUAs^$t>H4S5pThp$t%*W7)tIONeT({WS8PAaLCqOdtM=+%%Jmb>034CGfp8>(*=wd zCbhLMT(P!z#)SuFpO?++7RV8JrZ@dU%}F!M^)a^<rk+<cd3#6QgLSD)>BP;IH=@pE zPC2%M<KQ%2r=CX}XPi>^6YNv@?0I(kwC!hqrB7e6?!58Ee#=)c4!V6QIY009dLOpW z40oz5OV0f<^JLuBm*{Th95cPI&PwV<#)hlEdGq7$%5JjQ@X_hR?IP8uLS5%l@BJz6 z-E#cm*|SftY%XMT4VgS~$C|TlC+^4dz1bG4Y+U)WZ%?0Fd9wA)U7FL^mAu&ZXG`VV zV=phnPh0c(xg_77#fdNZ9f~bp@y+)>7y78ryK=WoY`<;4<$B|}7T*|R-aMMsck+_u zs|WdUeru1<muSwjU1}R<*Hs&&{o>E^t(WG@)K<=TE?4vUulB_42lC~uD*wJdQdw-? ze%c~xgL&z*uQTt86z#I{dp_yrCrzC@yF;=cnxC&PyI+@Gu{TNf@I}8*&l9g1nanx7 zF5|hipY5K^S@$~bAGkcP^lX~)l#<iiqV=`Y;``UdD9YT8DDa>4_UFA15?|Zb9G`OU zp4j&?+u*8vyTx;oZ5N(2lM%N3qFJ+UE^{7tO!6tYkGHhX&-HBc`@MbsZS6eck{osR zg14Xcxw);$y1eq5Wa()OL92sob2#6=;CJWRD%Iza9>1)xxa45Zb7#hFUoRY=(QInX zKL5H=)T8Q>kAJo2X(YDm-*v9C*irX<MajpQxo4_0tD4j8YCbP|dHnk9<pFmS!dHYj zFSzh5a95#J*u-mVmo%D4bHs`&KEL#$>SVOfVtIFmfQtdgTZ(+19r$|XvT5I&+bLqp zi`VR6xqGs-@a1yfgP+o-ozjY4%B%Kq${L<+$u?Vd=>>1vJcIw@0i6lFPRHhyZ7TLP zoHuvvoL!ZhFBIRoyf?1&lEIfulaqH&@RfF7Z<sn)V#UHGfyL9k4Ov581TA0e`|L#8 ziAxEmFE1;Wbgy_kcSgoG<|P*QGIhSNTYM3)^(i-e-k&27y;rt8+qSoO&C8eh=U@Jn ztM~r$r#Am$<x{nF?jDdT&ZD4TmS1j;{p{PvYW9b**4%&oyV7z;tkSAD)APqA4?XiR zxly!>Kf-W>-|ER~8*f@oJL_QhI-%Ke;d!;b?^DW_3wK@;?OJVUbZ}GV0eOe*MV}je zS=MD4O3NC5)-g7$WeA*ju9Z_rr*cNVnS-p+G!?zcbFHM$<(Pa~x=_b>j){jXgT{r( z8FjOJTh*lsF3*^jr?l=%SDKNmmPsAk)6SPN7bp3AvB_v%c;@_t$BuJOsdE}dJ#~5# z^XN>hF{@4Mz8blcUlL9{4SVofj_vcE+edDnzV#*Qwan++r{`7wV>w+HE?S*z>vldY z<-mo<jvbGs_||RCR$kXt<|`=mvC*>iT;-Qy-OH<dgLyX{V-MqNEWTWw8+SeCO2)Jo z_r3L<&zn3mXuY&*y5YHpb2!cB3hjC)SgSnCu$Gf$LP?I)Qzhk!=JhAHoa_@kzVFY* zy~b*LWqsev%#PjMJ$<>3Rai0OrOF?lcc{KBeWP!szSu-^=QWd0#`C9JaUBhtd@b$Q zd6nIlEsClwzCK@MHQ~(b)5hP{{+>Pi7V}A~n&^XH{O8zZzO0OTG51{J^Iw+j)1LkO z_WYbxn(djWlH{MylE0^x=cdROysKJquX<6$cJaCU-bh`EvzTM~A=avu*ZSG#IVC<z z=L&sYcGGM_YDr|@;uDU0Zk(6d&wJZSeQDPD`5_g5%VZ5Ke+h3&HI*se6nMaFZf6m{ zU1{m-tw)Tyto81&*c&eveZTbnTy?$1>)Sf2x5wJ$o}Reu@p|8?&u*^YdQxS+u$J5m zy<|Cg&O0}+-er92gsaxPlxWIV&ks#K@o>Y-<ie*sGi8jVcUdK5o26O2Jb66X^4s!t ztIt|J?P^~#J;cSTui~!F%cdJ&pDON*+n-xG=V#f&SC)o-%kySs^|cyDosqg(J+JB5 z=Q}?H)-1?48~W;)TiV%|MMqD0s{QLZa82tQLu6&-&kM=(Rqw2vG<&ru!@RjU$=Bnh zSRUn+w3;o=I^DY|qdBLmA$Rfec~%zUzRV9-JiQ&MdBO19htJkR(uH4UlpV1Ax~z2R z$!9M!Ez8$k;fOJItt!prby*vD-pz8kgLACd8SCf*&0|^5eI<F-?W-b>t+>zG_wml^ zdqt~)=Iya&E8ab&I<AdpT?OC7SK+<;X2;r`_q;saPkV3S^7ZrAzWMxpZ{XtVNB^z3 z{^nV1(Od8|xoQy4%V+i0_osf^E2H!F?9=-vfByOs^T*}eXWy6FbJpve@o?;(t-#FZ zyX_^z!L%C2Zl7(j>4sCAjW2bJ=Ufw9c}BB^RmjS@a=O2Ucj(Hrjj9t(RvRCDl+&2x zWmNL)u|cBD1vc(yOeQ`DO@8^gHQjaTJfVG<C1N4d)@f&qrsat)*fzoPgu38qC)4)a zTGc6+mPqhCi?Ul}yrQ&MDCLWxB}dQ2%(aRwjGwe>wqN`5;a9$(!_&>YoE9(7+~mr! zP#0gOpWIdXw_pFd&G+ybU0<)Z?%Z(OKbNoPy|Gl(i?t;a_xeSv72mgyb(5`8jwoE# zvD~Y(%v-eW^O19pUY|_2wK;NWb8Z1|#51;%+s(<Rza4zpT=KO<^G177`F6eUHt7b+ zmM3?ej9xeM=lL-2Gi6p+_jVOYO#8H6TIA%trT!^5a<;uOlu)0x#xS;-d!1>z;nbKf z!Qv6er_P&`c0sc8SK&L^t5sWG^q!r)y=c9m#JMy1^)qXBzD!zOQ1-fSW4c%Q;u*`n zexCV0-sZe|U%Aa~J+{&p*M7g-bKgZSZu4P@oloU$`r??k{dA9K-{~qNJbg#Qk(U=+ zPaD0hcmDO&H?Lf#;5JWi)%E0<s^k-u!K?a~rW=$=&eaKA5_nz4spq-JlhXSpcMf>Y zd2acf_uVY3Juh!&=DfLaa-E!Fx2$)n<+|#P+p8*sTdI?mUO#!Pw5;V#@VsKf&3@u- zzU5D^HDA85a8hjN+Zzw(-nhMvv3l|P&}*ODB-@QFRj)5~+bo?wamQnsk8C%lCYIJ! z&XbzCzC5(bv;4v7^<2}lx2wD8#Xh{fcJoc%Ior9z&TTGxcVTi_x3J8+<c1ejmRAmi zt4)t9v-x<X=T&i@iQ`_ryB8yLFNYTie2L0i$7M9r#PzY|qLt>+CV!Iqsy>`x%J2<p zUJziCbk#CQ^~|)r3{ua%zTP+Up4qj$=ICOP@+A(B%{Z<V_gv60maVLOUG{RqrHpmW zy*G>v9^1P;_K|I8R6p~=+bUQ0h$YwSqA8rm!@NzoZ`Wm=)fGLFbK=Z_=`K%AFQ;Yd zyq>wU=ZUm}^P2BIjI(!c5O_Q1RrPVZl-=wOmtJyI{ViS4lW(hQn>Sa%YOA5$^d-OM z-Shps^L}3R?&7z9<9xq=PLG)eYBe(GAC7s??o+S5o%!thN1yhogzYQ+v@bR$bM8Z# z!%HeAPfMHFv0Nin!0C*Uz|)>tXH&K_9JFOP<Io`P)FonZDx%SGXDc)NUgIE!aMzuS z0;aS)YpZ5yx^YTL<mjv_2H|)!ZoUPRiUU|Lvj%AEng<KdYjA1MVQ`l6Yt58MTdEVc z`MA+Blgv9$quZ={mdYBRpA)rstx1a2p1Vp`*;X8!sdr>K*_sNsp4(<?<oEot;^BKW z#`7;%Zk#JMcg>A+2e-6)^1QUnQVm--#pz>IyqRC`ox8RfQ=1nZG5yT(ulL2X;%iIU zY_64sMH$$dn{EGe@Y3pe3BglL6+HKx%eq!m*q0u8WM6*F$1R_p&OL8kuuYB2KRNbR zcHXzoH)B_?KXUC$`uuHcD`y#tY+fl{wad?W$+?fbYrHLGWTi4*?>Mr3d0$&W;B?X4 zsrT1LSZ=zp+W5<oJ-=SAOL^AwGT6f1<JsqRjrTquE-sFH{qB6^1ySo~{iZul3tC^v zkJG<2<I|7!UYo1oo$Kw-{7Ub7Ip5A=7jJT3DC_l@T|9i#!mI@LI?k(Hd#C+N{<=l8 zRz;sYx7J_xs@WsOqt~shBzKyN@_n3lVqS{^qk6^S$cx7F@;7}wZm~GwU%pB9Yu{6^ z<SGi!-hBDybAO`0UeU&5*A5HixraVD=lF)}Sg_@S7jqUaJG^+wTxQO@jnQ}KZdSbd z=%DSkkK!ijN}qMFuib3A;gO`j$DFeV?kBF@IQ3-Hoz15t{9XC3X?#8qS@oIw=e!-$ z=kC7x`kM64ebr~)miH~Ojor1W$o9&!n7d0iJ1>1LXPEh;+}QN|v-3CS`%5_Ut0!%* z&gSJ>J(+hx-jdhv4$WF{!#Kj7aUsKu=AO!^Z5zL2UYfjm&Q((ngUx(%yDz@bO{%=$ zT5P(RXFJ23S!@Sd8*)odmAuN;o$eOxs`FZ?M6&0umBfj4b!>5M-R%n8We?^s?#?be zw(FA2IU8&B^}20SR$k=gx_5F}=&8c9CA}tR^4FBTSGbU4vN9mg%TuR#Ra}FwT7%y@ z@u}Q16<DQt-pyF5`m$T`MsenzD{D^O$uT>9@$p_(*1om+aXt0!tNb^=X1v_Ddw%Tw zqw8N4Uw!$c?&Q^5+?xbi6uGqG@;~oe$A9));h(>|EglxVe!l5nz38>DxIE71d}sE& zoN+)_Bd~#4GwH}ohGP*H&$A+(d8D}07z7nKUo^RirLj#kS(;E<!gyfjoC6EK>a0uP zJ27RuNz)|HGZGV8r+6!i$V_5eIw5M+3Qfx?&ld<A&e%I^gQikO2-BB)D|kB3PB_)0 z!_BJ75IHB3r`;>+%om|qDT$s{33n9|8+=wAHaPlh8LwRbV#BjDKS@WFl{{IIX6rYh z-|p<!zO^T>UVL})Oyi!jwk*c4dCg`uA8_W&_cz=-qiedFdE}b7$7^?_Of#DKv3t2~ zgve)~Q%`2Iwggxi{*8>>6k%;qQ#^6^a^tvXXF`N$UdY#-^*z4ia&<gQ@<Nka&n6l7 z>NT!iduQ+6xrV*(wnwgQK5Uviv-<h2g~u#!&Z(Qadxlot_Bz|*s$aD`zRrxPl8u|J zY;JwUesSiO6Gc0(najIAf4OmA{OZXUKmR(fQ~BA?BI@&vXVyRG+>_f`a<+Z8ap`sO z#glVHo@Og3dM$}qs}QkPay@JJap&`A&aC>^Rla7*@jbgM%Ccm|pXbV?3dVfvF=}9r z+kRRi?QrMD3whn;pSCs3xhqpv9Ck9Z&FR+$--MU9mW2yHJGif|=eo_YU6p$ibv`dv zU2~-1Y{koqGp_6V)iTf6z2=a@^Er1*S!9I^FA7+ndoFQz^XIbY1OB3W7jKgHc|7A= zx3S5*^A6?emAmIzPpv#R<B{=2xhb#2&bjD)w>PU@Qc{_7ZrSw$X4M@ACt^&KFUy&H z-O=_hZ@ydev?`u^Z1GF^ja($TMVCsSiMYgiZJWr=ZsovTck-V594?(TnMWj3&G^Cg z8N0%!pP1{{I@`)vEJw_7f*+4ZEnC{Ni!H@3-0k`opW_j2OAguIaAVK0iEZc7yJS}; z@ton9tYem((iBs?r_5z$Z=zL}M6${@DZ@QyCog%nLSc4UkK4br+3W%aCgo1qKC*ma za+%M%mX`V)D_&&e?t0!=d6}`X=L(0%^DaHFIz8PfG;mjs)P4_v&z3I|Hw(obiCi={ zw@NzOcB%6&_ozMhW?z5y#lHN^e};vJ68BC5ZQAlw@B3Vr9`mnm9`lpGY?be4TAw)Y zu4lY-_Tg~(X({3C#q*NQ<{aX(P!RB3a3D=2$+#_<;Y^zLLRWz^9I*mHVN1BBVqLGL zh`hL@ZYk8j>FFktrWd&}>SPe(31O!do48CQnKc$V?NaEqbeytoQYORB1`fTOckW-9 zcIgVcldoD_uS(V&p#_FBnpd2UxXCM`bAjJ1*;8{ts*vNIbK9I(q`cxwYgF0!gwc7+ z8ngC`NBrWlPfAtxYDc_$);sCe^XFDVWh>5m^Q%|X%;UV>rd|B;+O-)XGx_GnZQt=* zu6Wt!pVwlhcN<Fg&bV4(k=ib~er}&Y4*SF?SJQy4XGOG&X7n7rt#*26+P%3Z#b=o& z&NO+o+28B3^m1wA;%6@phN)M+Fqz)CX>~zUzO}3PVPmP!l{rUWtX?j*`TTYTHl`-Y zw&we7Z>l^JPVkuLFRos^OvCYH?`O+B>w*vGcfH<MI4^!#k!wPgp}N@DBb&}FTRHPP z>-xh1Q?9Y>3YcS)=v=Uu<3QWP8)cHu&rNfiSJ!{fZoS2&?37ijohF~W%urEmv8~|s z!V7OzcZToodU~#HN@>-zx^<Q}tPcO&^Pj=JY5RiSFLv1}JNL@`dy-nY`|ag)rQ$RB z_7>BU?>x6p+-rI3=gt#W?u(~~&o(hGD(#6~&v>)s+j8H-^5q?tRo87}N;Vb6<XWe# zNE6ikaOq`ZwB-8yslq31Stb-u?RUO<;L+w)UDLhd(xvovPu+9wtkkE=GR!ySy63z* zJ}12E`J7+(=I(O$j9K=Xx9l_z`;2Lo)y$g9C*PNw$79L%?)LJzPtJZ>b~AP6yX~#J zudEO&Q8syf{_VYYYb=%q?p+;aEEV(mgJ{pfGzqoXJR{zu*)#OAWiLG7*(+vNuDMRg z$GB_F4gHlhlbmfC)~3HGoKn){tTfkj!=mESp7fLh85eE`b_g$$SRrRDr6P1C)AI4z zhu(&hvR6rUlx*o-qHZ>U*}PlB;4IrpS*4ES!7H97r&%pCUMZU8XClV9EOwPzRf<(K zqolis@RTyfN#~Z8NMx=seQ!EfS@N>o+~fVT*WKt3)%o$|@Y|5Lmv@MM{w3}wb9a99 z>rdr%->1hfpIBzR%?mWfpkm}dd7D1>`I`Lr37>!0@~>~VKYp8Mhj8tQl;sVNU%d35 zP{1;0Z?eU=%xCA$o6oqSy3umZ%Q-7|q+dECt|zdRA#Fh*GfPuL)B(Pott<;%#7qJ< zSczCPa41f&owHl#n2kVEgBXWvgN|T{rTt<a)}X_e!XjgipPgN~>S)TVFTOGtUU0~+ z4olmmrYdpfuSBo%Hc^SLg^UJkWXxu?iC)Z#_*ZiA+ok988rwyjrF<>EFG$?Mx1g_j z<8+zd_OZTf#u9-Or(T?*%PP27^x}qf#hX0#tPy$_m7MZi>sQ*f-V*b9f;H!}dv<p6 zTze)Jy`tpUW7*Fa7ajF9lFM`p+{=H7{h{?N!QE`hsm2SInl5fk*qRc!-7SOr?9Cn0 zQW6K;0;i}gVQdvVuC8pl+U<?l$w1AOmyP>OBiBp0rlcL0j+-tO7&-HtzwhIc7w2Za z>bIzjxaY?|_owj0>SH$H-k+trui2&~EN&>+Zt(WTo`9U$x-<QRSLuYA28Rjx8i&pm zS@hJZd|q#EPx*Z7nCdS-zWjQB>0|BU#T!>#Thm*-?waqZws}5F_T|2cxHMOsy(n_g z&#$|<BfGO67S79G{oHiEMfi;$_ub@7o|Y8I+W1F*lAay?+PLja^1Qmo+4r?C&AC(Q zJX^o2uySXkw7<jqH3^p+j+M-b&7V`OR8>5)(OOh@<+GpnB5Pe=*{YbPWm$@Ra$jri zoo*fOraUXns#tDC&U43Qg;jCcd^_2Lm1kuyueVG-H;>P}$+w&@;AvL=l*<|wFN>;t zDx5plt$dOC!gA+@H`#Y1XI?&k?$?>JKAvZ>rL)hb2gULpIPt*z?E160wXA#hC3ao8 z5d8LLo<Z8T>()a0>#a>sa4$O2YO5utV{&?G;;lvL-cw&jxNWg)6?I|@RX^`@W8s%r zlNVi+T+X|lTy8)6y85(5iWk%!Bz+IxWeDW0`8j7s$fPV`tz|RSq7RpN91dfbxtuFh zW;w~(aYcmMg99dq-BvYNoL?)ISDd_vvv=K8UN@V-4TYCytxWfOoOzzXSo5}2@Y2I> zRwrLB&)T3K^y}?wr{q;>wrpnEo^OApFYsC|eXaan*{_dZ@BWGP-~O!r;<M7pkoAfl zg_EC`JpNO6^7-wV(lxsidq3IymGP_HGhNraa?bY|rIFL)wC*_1U%M=)%Fmzs%I8TX zeRiJ%)~;!n*E;d6de72xJ!!mYU(96JD=V%ExOB4S)2kzwXGi5+)O9mh*(+_%a!uPb z+oM)pvQ+!Pp`%`3g;_ar_AWZo7Qj}Rvh>m+@v{?K+Bsj$@@=2-Lda$21(8Obs=RcY zqa_?}?nXi{7!+>KX=OaSLT}d7#^jw-GuKL+7o|m5OP=C)OgMRaP0iD#nMVF@1z)Ee zzj}kMa`{SwbD>hKs}qC!4?SGxwLnx>wy*T7_QB$dZ8GnwCNDa(Y}xZWtDfy}4->!4 z%vy84yG-Yl(#c)A(_gZtg&c}rv^jIhp&O@#t{7KWMcp#6-8g}DSt18thj5i+pH9SQ zqljlK?UsnH$ahn(F1WziaK>1=Lp@oTrQ%Z8+}pPoaIJYHZ!`Cy^v~~)<izF#h8?T4 zsyuhjJLGY&%+1356$zD(xw1Ah?L4sN3|~V^v%jg+*2;^SH%*sMd4Dc;Ug_etZ-4I1 z>iNt1<xjo)tMUbHM;BZX_^@!6OWw@O_X=j6E_r%5U2)bc=^IZQH_7btD=S`i-ukkg zXX&F|@t1AZ#CTYSUtU=K@ZF9+Tehl|Pv1}f63W@~`fy9(F4M=?3MxNyp0L*Yw|36n z^YbLvTP;`Ky5G1{^v-dEj}xU<Tko7_Cae0LuP5zA)z7^<<?7>_ovx+j#VMUDyd;xr zy&~|r_v=hcx8^FFsg~2eNZR_WiK}_ne7#2U%C$4=)vsIJxm&$H_~hy7i;cWJ*E@DT z&APs1neLvqFQ2V44!p5_`ewrpy?nPmd7GnCuf4AI+?N&>v3AGH)lpkAe?&UIH{N#O zD5q@eOJ##1DNp0b$x9rUMjpL*uq{nOa@Nj;tENp|=k@GJx#8JmeamODJ`4)e@Y#KJ zx7fa98E1PJnbeYkO}#QdUn#Q9d^lTr>8xm3#TA8%85wvsC%PC(pDp0dkzq{bvU=q6 z@WmIN((KmLK3~pR7;sz9Il~q1B(F9rb;9C3$ucF6m#xVYo73}RV|!^;nz6rsNrG)+ z!`JG$brY|?w41*y<6i1@TlM9A|K`<Qe^ImM?YUA=g~Q<_qI`bmpW2%1$KS=guU}O7 zX`OoW#dA-uKee%~;I+B)SkCaZ*~VzaDISO0G!7&POz_D|)M1vJy8F!S&4pDCN>3Dn z6*jP1UTrtmYhU`()z8^(vP(u8$A;%ZFC0oHZ^|q3T3E5tiz_LiNjG$hg~v)q#!1aC z%ec>;7kDM8sX3`v#LP?2>je{EoZp1qd<&TFe3raxvXDo(@+^<BL)+Gb4C4o160fA* z6*HE2D#<#l#Qe;Yy~+*?M0+LD&Rn>$#pg_;NwT_Ik7)6($fBm5lQoxF$!spM>g4BQ zp0}{mBq)G+T@s(lr58`yHVI^036y%ZG}&2x!o{XuWuIJUxvO_OgRBMDoMSgSTXntI z=faKCS;zZR@-|4$JiYYdEQc1IlvvK}2xp&nWiJgbn9ukk*z?Kh=azYO<-NC;8$8;Y zw0T>xi}j+FpVmHaE@rlQmM_0NB<G=b%%}96Nhi*fUOM8bm%?`Hl~(uC6KzhtQu#V} zZNDD3TdsAtZ@OLef*#B5C(d6^fBBwy>-BkSEw^l!a5kBF=gThjIdi==7cl(@JF|-E z=+#Y<mBO;!%2r%6)*gBB)8E~C_KSasx7(L|c{%H~-N$zle#_(n=f}0nElAt*%wmqj zxu_4<N>^=}V|-XPIC9Tt(@W2*DxSDh9;?1ty1a06UrFwT1I72#tzW9uoHM+<txBeJ z+l_mA4^y>^<%$;izQ{{gH9qfUeEZ0pyot-^n<%`?U-VgT`;pSp&6aO|y6u~KZf|JV z<7>tFX5MFK^hfhfxOn!>uhLg@bWhKHb<*P8x#ps{5|a*wna@{V_6_Ha`T6qd-0Rbd zZUl1V&dg1iZ54B_yd&dUZ932Cvn$$|q#VpxyzI7X8#i3IW24j5EMrww<STsU?VJpE z|Cq%a5~iIrC|+V#ymVF&n{C|XtTl})KhMrd-nJ&|hV`rj#haFj6Yif$E9!kV*}`#F z<s2K2T4@%I%L}fg31u2fdHU)#u&lX|vc$q9XK%alL&GIE)S|deW_S42n#dmZ_%P?d z%So{>OQrYgZ_9l5>Qm`A+tA~Ce#e_HfA#cnUH#%)fB7wnqpakeO#k|&SAxf(Ih+=Y zKHnF9>g}>S_vIJ2e%fp2KY#K0<F3bk+$){(?9`FhQ`eR}k-4?XtH;f8frO8;&$1Fn zx1}GNUz|RhbRtc0@`B^sA_@({4(TU)?7G-m9gM|Vw<|5QGR|BX<|E{!HhK1<Mq_P{ zr4o(Cd~-a`bs3*(SjeTAme(xisJL^3^MWZB{%+ZElO)f%wYjRA#aWiTX!3Tr%X7)G z<|4!C7iV6sXI`>EouBK_p_L1>_NHHU^x!zzm?bkO?bXb4FWzMATsxQTL6?5FMU-%E z=$&O%vc&?$OP;QBeE0C>^z55?(pu897Ugl6q=~p&D=<7vOLlm0jPLc%!xBQbI3qfe zZZ<WWo8&xSYv!07<+>p%IpbDV;TZ$w1SKC8BY{(W#T7pz{rWvZ)6Lbl<UEgBUKLz< zu0J&FW2{Bho~=cdI~AWl{-u3}(fpNvxcOO?&GI%j<>oSv-Y-6NEo?`r%&$4`DrfAQ zvsBTs$JDK4d9C?u+Z@r-{>Af;R6RDd`V!nT_viW7@qwTByZ-qXcX-~k=8|o{RC!cB zAA8|(?~JR|lA5w*f7rLa_<22BR^Dd0=-h~>lP1k#`BXW#M){TPck>M&W!J^mK9MfB zQY)U2Xws5sD(l>P<YuyE-^n#kuBn`lV*7cb=$y@cr^4r6(SD6*kLMd_*NP_J-c)?y zbLN3G?l67ntdDt5Pw*Uj$#db(+w&_H8Dw*Ac`BD4D>w7Lf19D}*QDLn)(@ZM&p&^@ zuIg)YaOoYL5A0EKFWx&;&gI>DefG|4CWrZU{kXXGwDHolW`T2Uo?1q2+nDZqbKUc* zCzlO=^!}U_{o>T6-DiWWbp$xvB(jdqZ10xH*9e?lvhI<NV(84&70+5ED;zHvB**QH zdOef1&x&PI>RPX`uk2QL&-tpask*Ux)v;2KRIkcyeA=0_<kBAAIA^g_=YA7&<dP2^ z7FXEKCTc8w`{JPPE337g#SCZFXR^;NeQ0{oKyYzO=jD%GvD$v=vI?pT0xwIR*}U%M zBB_nrqu0+5_;h^j1aHrmx904xs<uy`e5&B}tLNL*7HqR?ygu>E{n$4@f9<u5dlxNv z^|y@QC&+G*hN3(5YFB6Pev!s6TakbEZyf*p?do$sM6D}7ZgJ^YriInPb+)P@#uCq5 zv{a5OYBjPx<}{sj!brq{wM#@m+gC|z!WqX60oD$a7nM$T_rA$J<+D?R=tYw)OSQHZ zGsvo`+q*TeG%5NC9XV&@{er=5#)*X{OL&}r38_RJvb>PjCB-3Yx#$;PLt!ItQglv} zW=Y|UYaCPa45Ya|*qjX<pN5?f)ihYTAVFkpn&`rLxrQe;u3qSF5FX}cx5!!V#G9A$ z*>dLMXH<e;&3Cw$&m(GXuHx{;xJqrCl(KQk?$ksPZ=Z}sODoTu+MAlNRi<F;bd$&> zsqd_gZx1#$U1-X+hD-9?iLkBrOs&qSJd0euZSQRE+=Wxy4y6SiThOH8(b&{r`Do)Y zgU1su*<@S(c<T3b_7}amF-0P;7rcmkbAIio%99C|KTBSgtt;0%V-sVL81psvdBWz( zJMW+S&C5OQmX%+#eC5&gcC~VqpGuQnE-U$X^ZCB^X<v7qx8L`3HlIOo^Cf{elgIHq z{<*)}FP)!OrGNjY^4IXmwhJtKA~Ss1A}8Gm%kDDq+_bLxNcW%C?^X|v-`cV7Kf|Y6 zX@178JHBcxW_<Seboc8T_dCDsPprG{E4TF7=U>GYFL<{d-1dA<Ud{XIK2j1zUvI42 za_9Kumo~fZP0xDk^YcdaIbF#`+5W0~CSQ2_&OdpYim~f!bJNfBmV`S?^3}XstLXHM zQSzzNYVYje67zIR<NnJc>*npe5w|n_{DER|&o)`-p82}L_ia}%cH^{8uQ{$dcOK7< zw`YYGS4lXVt$N{gD$^^nb%xKaS3UD)DIPC*>6rVvc-w`u!e^gt;CkV`u*5}Lcx|QS zvNmsa?}aZrnPaY=&@X!X#=*en$g-FVCVm=5y{XwO9lI0~cQ2MPPnz{EA@ZnLctX16 zv9pt>dWY3bIUKU-)FBDRbv&Gr&-sJOy}aDC7an`$Y$n4tw^f>}^J1F1_aeS@tG6o` zx6E>x%w``kd$VqYVcO5W#)UnW?LNjHOe}rRuB4ht-&K6c8*}S$v2fg88%eztyI$TC zDqVTqG+>?W^1Rx(jkmx2=)XK~@ynlLXYYH@c?B9p=5P`U<@wKGzo@4C?8k2(<?XNb zPhU7^y;!*Jo_p2Dg89YlXG@-caV*`yO7fVg`uw0(#iu858lFs${AJj!<DfXxo8ipM zrDv_CF&j9w7YEMKjazCs^}<}fVkUvJUP7!61`a%YllFSga21+t+@U#9Ec1ou41??i zNt-mMD3rT)sBB`7c_HpDGCM7Ard3wf6`2ifJ!g|*RIJRJ0xmjsnsI3)MwM<T*0|Z4 zF-hjBR@ZE;jodS1CC@M>GVS8E%qos{VA?#pM{$;JL~04cwhXyY-?T(=_b)ShPVIe` z5W1oB^0`aKPR)0wEw;F=J!i9uNv!E%*P^43W=ky24^wM>veq$eoyXdk4MJL1j+clk z6t7K6)G3K|zAczG>9B_9mPjU(nLURO8YgR2p89N|lXfkp<m?aGFJ)%Cx7*CJ_^6&Q zW$}$&F7Tw~Q#rFZlXamNo}5?tIIp_qY3ZlA#?x>8jfr1<uCDsxKA}H9%IAAkZk(g{ zt~Ka$VCA&Ud^>)fUL-nabKa_`$QyHC6{O|AtvP=_KDbWz_5S2z_K`o0@Ab@C@Nt5% z;{v12<sKHRr+r%V&-vy3lk?MlRsEg$sr+S(qO`r*_A5WPetAB1#j(CJqaW>iUanv8 z)6}*~)ZKl#dFqGH<{_KJPdpYWzB`vYPTlI&^0@7XWiIUU)~@-_kbCmJ<(=*C<!z4` zTIS3-_Htv~^m6~`mxa%LuH55!w#rhrV)5Ba$?+y{^R$wKqe?n=wwt$aZCoS&+~Dai z_2!VCM4sn~?aPlV$1L8b^HhDooW^j!gAaIrz4E;A+Ee8FpIDCcQ=%D{ix<9j^T?87 z=}9-7^YOWB;_M3z@3zlgwB>U;Put|mw0R9BM=zNf`%O*i3=6j@SXh$sDl*zwGeY-T z8pmbBC9dsO8+*=W3#FOzXdE+X-IjT?%J9l$gC7e{J(IP_II}Hd=2@4OvD!YHPH$q^ zaQuLQfX>>sYMD;O-Yw69HLsgF{#d9oIdjQNkBn)CyV#4@YG)`pJ)dUnCqK*EfcMfR zUNMb(Y0oYN`9|=%hgweVDY#mC<#6SFzRD@@BQ8!qeZ10ctM<BvT$AjpuNV6*JHFxV z^Xu1QUw$h28#Di!Ro%b5UooeyLHaEo3iD@Qtc(6=Z+`XEr>alIFV%KjjPcQ)$v3Uw z$max$zY;u;r*=FSv}jn)Exm!wP%VMAB$4A(x>UNDM$;`FUNPYd2~*T(WCYDRzvM!r z@UlD4J((C9L$n&x0-akM*L*7wwfSo2%Xo%m@}d(;%~3N$9``(z-1g<(6Iq!9Yc$sN zs+9$~ZLrGA+TqA_=IByo;dPU?iS3eko^)1KL?>-&|7?Q`25V;vEojawR&8oM_2q8* zB)5x}R(XM0+lnkNoO2b9V%po1T{<hXAVH$+(K@cFW}!?Wsx2BTr$&@EC%xz4W?OP* zW?W!EmA8sai?1BhlPaxj(=5&HerNJ+FNCX3d3O6)Wck%4hj%^;x0|r;uHS+eduE=v zc*t=oi;h)sTT%A$8Mb26*DRl96I@sF_KFp6oY9rNv9V>M2g2vPXm7P$Z<jT1Z@Qkj z?uVUw7^^!Ux1YW7D9z}B#@WI())#+9TfLiiyX~j-ew*263lBzps+Fr>A9K6&(uHm5 z=Vor`Nqc$r+x3&{<rX*Ze7gF1{Pw+behB@!_|>Y$_(l4<_E+(8f8)>EhUA=WbJ7T6 z?wvHJN`^V!VELo`9Zw#=FpQ7=dHwU>r{D9H-+blkIevG6oUB~M?z*(!@AuZY{)|~) zy-Vi0wz}uZ<K8p8o}b_Ha_vspioN=iitl{duKP^uyylDb(pSI4tJTha_I~Ee8FSu! zxPC2uWBRO@)yB3aeh2@2UUFUX#?;JRXMK;&n0Dl&38VR%bIHX|bMDT$ezfCRNoBut z_NLE$i```AaVM8OyY}SSa=VGgU$8qZV&|T|L@xEw+p?0KW~;qcNf*xNKekZB;j+cM zwH2p|cYaA@i!$6KY5C=@nrHGZDRvi=34HCG%dRLk^Xy(2R&sLLnFUq(R{HF&JzRXM z#@8Kq)@8VxcPq{?Y%$T)s=PEw<<QQ{rk74WKl#)5h)2MS!zN!YYbs6NWjJ~E8V^35 z&E;+d55g=tXU#rr(%rTqV=-%w>730~6VL6+?LLwtc}_!kMd9@=7Yqt&E?mDb@y=b& zgy}9uU)X~qvS;}<M{RA&v*NfUZ}ZZs#OL@TEA^#f^KQ+kvTK>^`~1RN+j;xyy<dEM z`K$2yx5CRWn!lb|0@*yl_2lGdt7kv|)?9DDJiYhx&#G9-Cv&HsZHrmSy`15Bap0sG zndglqS~*xenk5!0oq6PQ+(fTK<@_Qw<0;Mt3py{dG+B9zHXdgA!Xun|=>?MsU;d_6 z$wS2(8JLyWI<*&=NSrfiE4O;VbY^Lv!e&m(izN%CRGT^^HgIGvlj?f8y<~10hagjv zjKpGxg-quf&NVO!M9VG}W^vk>7He@T$4yK{(fOlE4`0uc)#+}VU$d@T>}}M~K5<cw ziBhlSrIVX(DlO|)n0Ys1=g|bVe7DP@`YPK})uvyp+GBZc=T%?hof12qFN$#9yRUmq zZ{m!^#iD18h0nX5_Sn}ec6qP6JNMjNld#Mz$yra#v}Z3pTOu6Ov+*vsv4mp(?D@9M z%N`z=`5b)sP=5Vv@4EP?jcmc8Yu2ngUH(|`LFMkwFP3{e(`Ft$Z>i2-^RsYwds*7U z9=qA=E1&JTZCfR}b8Xz*t1r$@d0IMObzhy>=f~w&KF`YzyV)yIdH&Y()q0Z)o@Gpr zm%Dtl`T6VZt#v=XR~DK#ivNs$n}2fO+)|7E0X4n9^XFB|8XY?8v}HNRye&U6pWJ2f zK6Ut0`;D5{yU+g8UOn|2|NQgc-anoE@>t!B$C|B|184k@zf`I3^7s7XU3ROU%G?V* z-+3zCGCk*u>Jrb9cXfVm61Vgg0G%z5e7cmGAoc=dZu8uX>BIWs#NHs$X%Fx8M3X zQ#Q```I2YPljG8keSUd)*X1Y%p9h_9J$kn8mXN-*VZqN$XI9+2G~G|NROd-ElWxC3 z?&Lt730G@=EpE!(ZXq2k;U>4ayFAr-+P${>eo=-7j1QhDnXEEeEhjDY?3-#^tc?=$ z`6W|Nvb?zJ5}57~VdXokG3`zIwQAcHcfy^I&QQE~Zh~$4!Imt;$yL^pefy1?i=Xi; zE_g1h)YEJFS}#;r@lf=}mP7eI7RmFP9owYJmvNS)6un?5Jhw=X_w+gE#TWUCqJ3pn zF1*z))!KgMBXdVSn{2DkA|8RWGB*$9giU+Pam*m!Y;nY5&ov=SCSNFWT%q-R#+3`% zeJj}AHcwT^kDr^%^5yWkgD(TuFMDdm`9`+3s_x>=b#e2rK6zVPZ?=Eq$=Tv7FG2?c z7EXRr`t;AeJ@)dO+2v+detUAJNcNb-$1~6OY>)PfDO@nGmCNE-V4JbQWF6t0rZdk1 z(;S_u3|m+kCY@to(eRv;nRJ-tl=UJmJ&Bx>DaNw8XEa$_m}j)8corS?@D0^>O4BHv zyyoG?3_~Zk26YXyhJchrMb%E8Rapj+X55=DD0($W@M;!vi)Bb@Y-(1Up&a=xcCyog z2wBz!mfKQin9m&KIM!ftkkjwXGM~HR{X0&auwlFqxB0?ZCANl4F+s-}DHS2wQ3ei? zzc1SzeD1Z+`^pPlebzniHAGyeJPTOt`c7`<V*j(J44MlKP8d(Pbj4Ti^1^48ua^aG zzie{u=FDENSIn~woO#uKv#wS4Wt=JevGeNfhkMOaH$6V*(ysN%crJVX@|Wy$ZMLQ> zJbL%(=DoRh`$~4n{QMo0*!AqlV@uZjd5JZ1_D!DEdhzP5cTeRbpMQNje`|5od+BAB z=jIf?Ic|OOcvX*`d5pE3<c%|CkH5csUVUp#S3}y&GQ%(W^XJNo`xMsivD-iG;pyiw zFV~;>&k(my@cql(Q|qREDE|G<x@MMYH-DR4mp;#>2LXEdXXG>A)oFh$e<^ftQv6Cg z>34Q9yQhBXjdXjtN-k`^#qtCDrrTefV>sv4qMQESSLdI5)~jyh`>^EgoB(%|oBXbG zYWmYp{nb~z`r=RZ!RMDRmOj1o$!;@iw!Oo}@ava3+TCLNawc8NxqEcxm6vmQ*IeBz z7x2)1uH>?Zzb`9oeX=6nE=zy8UxG*_Z{&HlXM665Jb&<^;6-p^gJIK|b+cV$6&F7D z5-SZ}ovI=sW3@BpX~^7lwPx9~&oBECvnt%^$4Zl|t1LIIO1FGrbna=}!j|SZmrHhy zsNbrnqy}To8_yI~EhlZ)Fm3vk!#wkXjVG(x0j^ES`~o*#UN-14J?+wQL&tmZ!-zA} z&nyctb<KLF)BY??Z#KiUH7{;+Y;3h$9rftaZ8K3X)9#j|eR3hD4-b_uc+_CVGjruy zw#)2Z&sHx~nS0@<WG|b+*|vgSwhJbUo65HC7nV&}TDEw7Q`5(L>8X2T%MKjRQORBN z_VT)_D&sX@*3XZ>`1DoT<BPxQYVD&Z-h*vy7d`FV`*9zCo_zE5`STYjS=Q|Oksf!% zB63gZxs*AMsdGN_?fE$8Zi{5A#Lwk!#u{wJ2I=;ZEU#89bUMwkSdm%m<gNt<PHkK- zBGU?4zc8ewEY)RSz}lrS$+9IYayj?a&P`T4=TxS|Do(gI!J~xHvL&iDBuygFWVyk? z7I}w`pk2W}2Lw{JX8Jny<W-x9H7}5KSrM4He9l}G0~Mzh_8sO-PAxOJB%UWev{De1 zSl62LMb<UvT>i5_w~4L%JRY}_uW+-3tZ4Jd<>ES6&T;0-*4fHFvq~45Mb4_-lF)H- z!rhB!uBHa2ZaZ}5>@Mcb=6>_lI(1KUUaYl}o>}}lZCgXLxBjx5$7K4JOw^n7<$_dD zT=CPCB0h0xy}$N)^2*!S9J1Isan_FO&Q?`t<g`~SPM0Y@_jsw^@p+Y7o?gk^cIV2} zK6gK^n@`>>o9mZ%_4?|$H}4nUx0k*7WUs8v-Dkc*ty;wbH<#|M%iBKRmVa(trL#rs zow~b!?yonl(u`do@h-1_zHK`1m-$Agr_??E_2<jX#G2QWr~WwoHvVL--rn#R`C@fb zKAN76H+^98udC!@_wzISh8KU<zp>swy{_)B_xa2(-;DkWe!5@!VYlw}Jv-8PUY2}1 zeste<`_$*v{~0*;TCZBOX1(>KQn%;6yU$PKTwBG%R?%A_XY+^k%a8sWmC?24hkl2j zzdyU$_{g`qo)1PZzl7S_n!OFV9~EV~zPs5%z3i*)t?zoK3@?kSnYwx>nB80DG_5-< zYEAN%KW)a=GuGSXPVcok*|O-yMZXEl{dO?27+XbD-RnFrx#RcgTW5RLUYurBy31Wz z^z5pL)J;+$H80d=EKiJz)u?xN<2<-fN0>isQqYuBOMCpbYB)To+}z8cay9s+tj_7P zmnJ_|5y^K~P_Zl4SyQ|$Ic3*#jmx@j8=GzwZg24nwsPz7x-zfo$Jvr*lgApz7Upnl zJeMZQTa|9aFgNY?!egG(Th9k=pBs_P_kG<qjtNrfb7mb|yJhOKEf1H6%e<@kWpn$k z4C7@1#tR%TvR0gwTrcplU2F2!UA{M7PCGa0`?(dlww$-zPMuq78azAi>-pmK^4>2# zl~|`ozpUK)H_zzPOK6R=bGqoUA98*C-Iw;sZua*J*Zw^5vJSI($Ii2SnrC>P%T%Q; z5J`LXXu^!R4GqacfirxK*^(A=GtE5dAg0mN;px{F8FbzwP-A0NT*Jl;HkEQWqf;*& zj6zm)NF2GbWo|43vtg{{*NB8#!<r9PUY%z)TTFeQb@IYx1->dr1*WXIp&g5O6z5HK zmGoV7df}B9B2$kVYjpE?6)rv8#gN#?t+&)R^N~x#Gd4rL>Vkl@uE)mAi|1rts*+6f zJ6Al%*nurF|IkM(hFW&7qZu27Z21@hmoPd`U!KVt^hV;soVC|)$4dxG7{@P>%6mE^ zWrjq~RK_b2cD^>p49yn25RMkPEqm6vVBhZAs-HDAkC&yKtIv7z(sRl|pSN#4_x$|) z<M>g2(_24pUw-=I^W4JXl@DiFZa!98`E_<gIsdxLRu|XIIH~^Wtc=ff_KRIhUe3+D zeqHP4<)hsjYGpp$o_Vutj@_)eQ!+y%B_~UMG`RSC)@HNQi%)I+G*@PMyzHZ|zDaN6 z%CE0}z3P1zm-LV4n?Jo@{^85fQ}rc(^9+1s&zv(oe(TTcZ`z;JFWlbsd;hun7x!^~ zxf5;hJZwVV%XCq1zWvIzt$+5}3BM>^7x}rqG&H>I`4|6Fb^Sjt`jmC`u6}gx$A1QY z`>7?h%g<iia{fY;oC}u~`%;Ug5tUY39-p48ck)T)a_=ANm->0He(}@4xL>EYLf-js zRs5nq?Zw8+?dD|{eK=dr+j&Skwmfjr46ECnjEh!u-MUzGx@YB;85{T9I9K;>)t#%I zZ5uw!eLksU-K_4`lTqi@Ib{r^MH2-KqI&jjx@)*_&X--!0`wPH*{A#HOKzI0>Z!Iv zaPeGC*K=F7deRn~vOCPY)E^b|;v8qJ*o$PJw1ba5BKv11yS-*yB5iZv?#INw>1N4x zTW@fCJ-56(cU?kB<pM6PhWux*C0!1inV(9Q+@Mf+)i~kHtJG=t@-i3obH;|I8+&`t z?h7>wypba$VUjZ`r}^`uvrB|>1UMdh?viYIw`+~r+qq6cY71{QBri6ZygcW0O!CGh zn@jbgeAr7~a9dvz+&OET)h6YO-lZj%O4?+_4PO}FE~&Dcv$J%r-MqZ-i`(|c+s+T~ z{yQPoC<rn>-STWj;!oR86~8L(^KVz@yREk8h~>|VHg{YTyYeiS33Hwmby_}KCRu-G zT7u64nY-R;1|3p?9fDHl)4CLzPPjBBC`~!LW=mPinN*XDQ)i~Jg}6KvytF27a;o4$ z2}x~v<JqgC1>P1X{F|C7*Wqk#IaOKZ;*~iE!ZsypSuGFZzBF-R7q4r{V%yc8hM#jZ z&cwSh^-cI}%GK$)O!LkQk5IX1LWas*8sUaQQ!ngNaZGbJYvzr%IXV4h*><xp>B4LN zN`Bqd(^qA%Sk?5T;-Mv>n?7{z`pc{#lvxlqvvt~YS-xo|yav9T4o07QU21SdxTACB z<pnqY3eOAi?K&)-d0Kk6v7hMd4SBE21@7`Jdb)C-ees#gTQ4tXdj06?48<>=&m_KI z_;dRX?{5>kwa4dKJpH*}`{A~CU-nI2KG$N-a+l2H^QF_ccAs3FX8QVET>p8W<8da5 zx~KNMkk%_LO@Du$e|d$^=WS2pRq{@rI?H?Lu8c_9B)44-q1r(S3)fcv`8Yjy(yDVU z`Sxpm?)T+S+C4?Y<iq*&=T-jdej)kq^Ort1c5LDaYb{dzAis3~4BK1mFV@eGUuIW) z*~#p#P|4!i#>SK7XZ`!`zr8O1p#JrT)%%71`n=5h=^vbH_xZv6OZW9^r@fb&S9rPY z`O)}efA#kkRL#;zEuMV2Ct&kMZ_6irS8d(Ht)!9;iS^}M|M~mn@srs2#WwmYK4l%N z_kKRt>d*J9^B4ZBw|720turm|sDgjE!z*v=&@*{Gdp6EF@j`9=!i`hsoSvxtlRxTL zOLEEIXM6Rta^v)8WrcmtHq2h$bm(co?KPL4zfLfYRn<GgATjUI5^-7S4bf93u8ieg z?#3smdnv~F!RBzj!(3MBr&M#oB-c%8NsPMeS9Z>B>J^zZ!{xr>p%XUNT+4ak$dJ+d zyvkiQ+F-HmE`{FSJ)12JUPM=(vQkPtJ1@O&OSlc!+ARy8@LWF|kY@8_Z>@1h@pgBS zR2I)Wlb24OIhUczH97RO&b;SSZn_3ZZoGc&vYuqGPzbloV}Iw~m|r%=oJ;O7OqR6@ z-FbbD2jgdhmF23N!U8+@zT9hYyC>zv8}IqPi+!CEFP^KNx>K_E(}UCZPa1uFH+NpI zdijzsLXXAW*RH%AIeAUhdiTlKYxCvSuRc0;@*-&dYE7`&B4_oa!Yc7YwZ)&kGXHF) z`NB#*%(*Rn_Ib^Bn{zXH+?Y)*w>;(1czobonWcKf;@Li59!aqZ97*Jvbu`h^?cov2 zGxwSp!kwe%W-d7@AfPY2ak*qq(3Wjo0a<Gn9Pm<>oZ*(0vSnN1;tySOdboEfTAo;z zlqk~LyUbF1sjizBuSlDr^Qz6c5qF&#r=DNswzJ|)tH32*uC^)aLR(iJb6mP}hr`ND z9ycy-{?h8+WmZl*8_&x%GfYkSqBBdk=cUZWUtEIAPOS{{oNW?xT-QKC>)W~`*BgxA zo3lG!PB1y$cyMQLNg{)Gcxww=F?X75_d(C*qhFWCnlIRqT;x8_^r9_S+Kky}w!J=F zutsLZhh2^@&Z?g={HXWdI{J(6^~aAdeUB;hc~WwJ%J&?t`1()#R?67f>UWnG{>oeV zdcCCTk~9n1jmOpZJ->6>=jPsy^RdtFhdy8P_)Pfe);CkW6z$~;Pl%K_mwvDE<AfQP z7x6e=em>XY?wm<M2CD<tl$0e`u40n6Ia9hi^s>$NRhzz>Z*cu&KKoM9y8bEeO#d?c zk};dhCDN|9aQV4sr$6gosSEjabNPJ#eSgmWb$(dw^kJ{H#Dg=7uRq>@E&la?hNB<i z*X@_CEq|5YD|Y|*{=9waFYU@-&$Fvv@-O${m%ZwfY(<{M^*5DPy?FUf_3BH>?`ALm z{3`I<xZ&AnT^qlvPi*xUAH4J8$J-}GJFh>lUueU({<6L4eTEy#@<v~F*2G60&z^3p zyL7tquU%}K0x#7k`pwNM)-QP{W_fJwDR+CJ{LkT6?_ZHO*fr~<t@1**W_!Igso7@6 zUpXGvn|XNV<(2L9oz&?w>+0%f?;6tbdX$X)jNThxySG=^N$||#3!jU2Zk+A=HtU_0 zI$vOF>B6%nvwE&QeYs0o;ZnrAb_uSQ17ep=O49T>yYE?e@+y9L&ZRhezK<eP*#W~@ zDl^mFz9|c@cjYvl{j=w$(L1-)3=z%qJZ6&R%bmIu($nW^S~eYec#-9SRh4k^yh5pG z(HW0^_T;-9ez?Ya(VTA#C6&AQW}b80V|dJ{#Nxoq4JS%fPfa|%S?}PC%p<ni3qPlc zSxM(vzJ4LmY@K#8d0nmX`m?uXoUeYa;=CEgzQUwre%SozJwLu*E~={CSz2BBE3V%@ z`DNkFFN<DD-&b7-X$l6&Wj+5Rx942!PP=?RKii2sHTfN{yJxrEvx!I%cD1?g$9c?} z-Q+=+$&6i0F`mAhvu?C>iZ~mdk%@Ox$mrsTI4JaFM}^p|Gwgm-BBypbpHP_PIa~1D zscYUZm#{2o@$;}caUpUqQ`)ntbWew)X_KDj1Z&TdtO^R|`73qit=VCH*Cp&Mn#(VT zt@&k`S9FLWD<=5N4Zqo)7x#E9H=Ui-EU`=D%8ba4f<-JW-o?(#wwz($WSL|9SaPw@ z&Z(;%GoDwRbq(C>qw?8+P2xkvi%*erQ>&~LXP;HLacXkr*@NC*soLCJD|fUphbb<P z_~@CH%_X_4<c3CN%m&dFes|+)Zq9dkZfh&SwwT4}Q{}9R)2~}kznJvrJO6}Vaz$~I z<xX$=vwvFAYg@Mbxogf|uiQPayY2fA6J>tO<7=cYy}sP_!ZYe&*_7zm>+0Kz^@StO ztWP~&tFGsN@^kDQt}}CEP8aWf=gr3L+{G$tIY07avT3B-x+BNkOefC%b8#Ejwz#dl z`|2`o&-q+pdZf3?N+7%awB6Cqf7!k|D8^KkJ-qVSuiv!ZyEf(%*NYd^-5yjvt^9sg ze$KwdpV=>NDXy*y|GwV(jhytC4VPuMCokOkc=vwwe@*r!b@tm2)%8^CtzY!>xx4uM z=l0WV-=B>yHue2p^DOw={L}M;4^>Y2c|ZN!?k~TepDX!o^u6WX*NO|CM-P2G?%wh? z>)XE8qr0by3tOJoJ|92%-{(1XTYr|W`uV8sbBW`8gKziZ=KS0FxqQu@w5P9LdkUD& zo^$oY*`+V<YDiC=`MLaEwBdZauldi<FZkR4;nd9Ymx|xqcSy}^HVzf<3caz{?kf9( zMcrB(n>3~_oqch(k2$|Vhlz>%v*HJjcVxV9I5^?SV|7D5t9H+A`%=DGW}Lb&!j_sN zGuv|8@paQS?ovA|mr!i%I4|nf(Pzsxo1R+WbtO$KSBl-WTS(q)!U+c+htocrm2T9E zNG`o>u`gZrWzLf_<Cb)<O9#5|K3~5^UvlT|328ZH37fn8`X+92li8N-rgMscJwn0f z?6qSoJf^!enm-&4?7Y~f6um~q#Ovq@UdPjm%2?U;5?9>hmAaR*_QAZy*?fiT<Q7Xd zSh>f%|6FX9cdz`FU%vYa_jL(xzUb}Vs(gF?inmW+m-MY)-|qaTFn{sfuU?SpB>};@ z>}UV#x7pcFHt#?E;`y<}r}z8k+Qb{rJ}~>F&ckI>XM9SR$#|$PbMhh|;~r+oIY*dh z&AM#Oc#(~7&gWf)x{LjE*7RD>WImY1W%}ji1U6L;GfpE#TO)QWp0jQ*t%STaH!7St zb57iM@6Key4HNka*KqQz5U~8bwB1**mdUAAAl*shqOqCK;bqq@y=l60qUlUmXM^Ll z;-n)gnhiNx5;+$aTzJ}0$z^Q0;$lnYxfYEj%nUo!IgWMB+WO}CR?BHzlTN;9O_Oul z?s56dXL*}ShmvjEq=cuZmgO0q4%KJuSsB+K-MVs7&$7pM`cX@x6(=#XPE8BD;B0Ag zf_?ebxPJ-x_tb5-rp|Jir|{$9SBaM&Won+s2X_3t^88f3+`YcyFKd71`#idPbzN*k z*!E8j0{7gW8TOpJyRYQTefxVxr6;Qw{e1q``fh3Vf|Qw0-u&#_*|$}~HvO7WsgFd> zb@jz+X=&=)mU({(7Tw-_;k?~_E&q8b?|Po?j5SN^_Meyae6C#Owy?<1{Tjc``*-|S zm?5t2J>B2+Ny(r0FP0aI7rfD4y5Q`&avvqLr9U^n+^<_JE>*SZ-u1Klm)LCmcAnqf zn=Sd7yywr~FZbuy1&iML@|EvI;vCE6-JksL)@A$>J$dV8@E7-U^Y_=>dB6Ga*Bap$ zC4Y@SxxY=C9zI#)@Iu8&s%N(!{M&!YPHojX>E%jN8iKVE-f{K8K5uk+`)U7fy) z9Z5Cpi}uK``#1G*Rlcg@>Nl6w7Mta5QdSDT@HfwL-Ol!B=B1NooIgKrv*!2vGk57v z%2>BK(xdI_G`E}=&8(&+MPGK79DL$ea@%xbRLbR;&vPUFX0D#|@mG+yZHUV3wQ7bE zH<S6IEmxHXc5RkCofGNq8ys5~TGBU5bK4vh)!BZTyGx3$Urg?pwzTbBQc1wxwCxse z1x^Sau~v4O$)LbC(W-Qn<i-sXX6&0$^Vr-?`I6ve%gwVrH_w)gIb*_Ub(u3Qi``Y* zYKis5%d>61bU!<nxj<-^Z`#G03rte&GM6Jww_KhgX!V6P*zr_J+sy1~!b@J>W}b0o z!K~EHQKoIKdNVFWu}xFBWIv;?alyUB7jJn@KPT|Kops(-xA?N(<euY8makfJudeAc zca>~qRrS-?)*r(oUVeLc@z<V`zj8&Bzz6IJw5T-Cd-gL{_;c0g<n7w0Uw@kO#<Jw# z)aMIN91`6>w~~2D+I4%G5B&xziw)=GdmT1DyRyr(<DBFf(KXx8Bu;0%F!9RNJx{lq z>Ca19yjn<La$>E-ky$a9(pb)4<Vic=#lKL^FELd~lKaKRE5~D{n39Smk8?;epI|-t z?9LtWqDfuiYaaG)5D=L2K=eY!+->*PoMhhfxGjJ7)YB^b#lD78AyaMCxENN%&We~T zIGK$x<Mw5Zb&gj`7Vx~wGdelp?4pT*vW%Pl&R+Q3BtWO+gon+=MTZKb^6iqFE_^lC znsQeyJm!`LQ<K0mC+)=_DjHI*3U75bT%fq~?2Z5_rC;v?f67?Y{Ab8Np1pDN(eShU zi?qK8O?&=i>1Vy!pS#Y__Wq)BUwUp0d*zqwuNTkn6kPK|YrbZ2*XI3uONve%tL41d z+HSsjPIN8%{L<v9*8^``?fpLYa^cs{pQ<c(#ZFOhJ63zHX6>5Wty7(rC!e3YkL}aF zZ8rYPr_cWK;_J*>;}yO&af_$xhd#;u?61G{;hLEIpsLIQvErwzr3$xCUV8TQt4CGl z$Nx&ZZvDk^$Z`6@&({0w=GvRpJM4}6I72a(d)vgz<|m77{#M+mEBV!bZhmm#ecvCy zw$H0i_*Y%KeZIZPzsWW1TYs(plwWy4md8|F=7-F!g&*Gg{nP)w{n(qgx&OL<&iu~L z^KSYx`xSpfKi{%iarVSz&7;$HmiqVomXH5v%Xr}SGfj)P&QI^&pZM?cm-WYMU!Oaj z7r4;2CEK0lQQ7{^>h)jxn|9Te=T8jpzvjsHA;@;Qn)yZJ3){=r{XA!58Q)U3`0M`T zRi~bvW!vzsIB;do*}F5RmsZ3z^@=Ks@Re*zeVO%rmfvx;7_lw0wL^E#mW?bq>OBAA zbUv#EZ-sW=xy{#EbIZ3~SVrdMChhg2OC7h|PI<v>kZIDIH*1H9Ctp?78@)7r!|CA} zISdBpGI!7V+IPh{(Czct*Roq?Kin+2;7@^-?AZ%1URpLjyK6qTsaT9n>RjZ8jG8lU z(<INoTp9N-_s`cmpO+~w4q!J3ykI<6;bXy~b2YmT2G26MCba3uJBFh<?yh@Tx4iLY znD%wqgP2=~rk%+<c*AgBG=ucHEnjjyWdiTqR$08<(c-V%hAWxRUiS!9F{tjV%AY## zQ2+9%+2!-|J`29E`tb6O@#WJ?FVA22z4FWNpZjl~S!o5C{^bZa+7WL5wDft!?zE@( z+n;|4xB9SWSLL1c&Mc45ZkM+{#u4)9G$UW)gd4@@B3>1zb1(Tkefq+-yqpBd(n&ve z$=vblIj+{|&J!SNthvEsp&GNhQ`3^-t2!yhB?)4T%Vu^ua?fMZarmt7I%CDF#R{AO z6M7Du33<$V(sbSJlZzK+WnEUYVwh}s)o|&mP`xQ^cTI0R+kA5SiSJ))Cr_X7iCJW& z!vYOvBaazxP9G?lpcr++oKHkZ;?%*HtDH9T8+Oa3PF9XOGyCkXqeV|PFY7BRo$lFq zsHCclBi~@M<#W@lUz^jOosQcTvFlli!ny2g)&ghc*i9VnSQ&F)%gNJc?|GN|=;PeE z&a0&THg}(^H~BI>dCoq2ub(q7hTq)zo^v1X`R=^G@6T)7eLWzvt0rpak8^7)=Pfhe z$<KOQ=uDJY`KPa+^$R0xa_4UFYq!yQet+KkSD*jJ^!+^a=5WNUr(H8y68G{Hughu6 zFzUN|+5GC`xijxQpKMz{X`=AtWuJDvZ~N}ges$+wDf4qTCf<pgJ^AH)Ywey-#U|b< z=Kem_GJOl~G<dH*T~+Y-TjhU-vY+y)NtxeclTMy|QE98+zC8Q*{Jnp7IUSI^xOzu! z%<&U1^eq`rrysXH-%z!yruwe$oG)>8`(B^;xqj>Gjlb7Fc)$Hzlv{~GxVg22VOzY; zcYCqgT~D5tKCgTIux{ed_vh~WPk-4z??vQq=|^Xdm00e4eqQs$w|$R4M{JzD^jX-u zgtLEEe%btZzPG*CpYqEUrm|vBil1y;7uV<;-}R;BNBx!kSN=21n5&Z>{9=P!rmW-S z)xIKIbu3M@o<7O_@%puW;UD3m@^AAr=a=007{S24B=nTQ>lLLw5)H@w8nm`$&0&0Y z@#*V@J#4v|CZBnGZ13o1Z8^+my-c{^rJlA}*u8Xj-<=oLvX++=Rrz~7o6x+=xS{x5 z<DO?NSq#tSHhXN=-0`d}*~;d;@I|)eM!Vdc8Rn|pR@}|m_}G(2R+dq1u1Q$X(@kj} zs>^4(3%tpWnDgxM^zFCKoV47n8#BxK#WjV^t2iz*7F|^nQ%KP|z?c@i@a%@;7uepl zS!EmfU6$2RJiSqQUia~IS;01A!%Y!h)Atz8Ryi1SOXa1Mzy7+j(<+UxcRl-VblvCq zRNK$X?s?hH+kICyxAe|0u~*l1ze`n}&)+}u?vAhj&Wr#48P^Tjs3g#$B~c@5a(m*Z z-Gw%`x98fdpMCv-#g|vT?P5`%D?ZlLs2p~%`FUcx$LY1~28Tj-o~t~1d3G$%>9cbp zCoj}XD?Tc~SaNo$r^UKvV?LfU@oqt9W!2}*>o;K1@pqWw*D{lJ`niA!I)<^_8hp(X zsX9KNHC1<-ec8G0<`FKb#qyUj0`eMCB^;T#<b8x)mcMu~>;CDu+28BV-Ou?s&vVuv z-}KFAn0c1yTw<Q1y;wn(GnDyU%+#eb;^wV6HOc7kvH+hw-#+vEF`T_T_qpNgB~Q+^ zCY>@l$Xl1x#{VMTu3*y53)PnudQFxX2voi{3hdf)ZAI3pv*9^;pWPi2udU41T*o}! z;OTtXm%FyU{kGNRr%2V3x{Bj-mn(1myy{<w$(PNwE0(-|zV+l?ZCn5CPu$gKU+;L^ zxZ}>fI~$}o+_{?V@^R0bird!9c@CcYHs|g&i@9<6SDuyaDc^H%&WB8|l~a!NiMiT6 z@?FH%d$YE#@@37r@6#jCYjdrMmYm(aw=zDha(~+M_u4BLCRf<<r0@HA{9|9v*25|9 zcAV9HTzdA;SL;dUF|&8iURU_{`XgIEbHBzLmS>#X7e3uL`C#4jgO|VSU;2D;?WMq2 zk1r<K3y;`Hru?1rTeR!p>g!MMZ@v84e!b<{gU!cpY+nBUe&b$s^;wN9l@mT63;w+S z;`&qb-8S8J{JNg)^X^Z7XZ|dYzA0yabMDEPxA=ID&%J)sHvfXX>1r?G@U?O2v#-wY z-S@0w-ktvpu{9pwKkoLoTT#aC6?ri--~ZhHsDGP3E#CjI^e^X?XD?L}#NB$AWGQ_- z!Mi7ZZtc5p_m}olxaP`c@Ffb))}Qr!ACL6rSuZpW>+#1*rka1ce401kD0_Wt_qEN7 z5|6%QWj$#nqh503>8swe?IoTsBI?w|rOMaOo~Q5iWxaP{iSL=~T!vpPZdfc3n)t|B zac_*X;AN>y5ec@<oC_qL-A>74JshECTaqK-$0uDlvE;5SSMjCf7n$3%!))I8=gZ1v zs(PlawQwum9C>HDH0Rvg+guy+E+0PDJYCsL=4F=o%*M9dQa@WU$?Y>5U)+gzp1rf? zfkcj_C(F*r*q-eC{JCGdn57jr%(%LQop-s+<GDUnt9**yUa~kQ?ARo?U6x7GZ}Rej zFUOqMm3;joZoU0dcE8yB&DYPqdOtn>{?m)!D&;HEeda>P{uLEu%FUbCYafi!vzz_! z_W6Q$?`&;q!nJq|(q7O0d1dp(EquAlHGa-qy?8}&mu1>^6Dcd3#mfvha^_XOoN`3r zhSG$PO&3iJ8)mq%U*t08)L$~G_;kz^m3XI~!`@<y4M~ocy{umpHtjN;rqh(>R`4q> z^SQ<auX~-`Ji4M6rrp}Yq$ePw;=3iI@`48Q#A|g<zvT9B{dRxppY_t8!!Is5xU!l# zb(c=@EXTx+vVxYoBDR+sSUzJt_u;PaBDT{qbL8C$ckWP^Jl8I@Ej(rC7v1K{={|lh zqaDw+p4n1&=8$`d#U_U*QG4!6`LS*2-I10r=O@)0!DXyJf7Ou_XIBPadSMkDQ@rE3 z^6WbIv%ihP{j_b59E++B`C%9MbL*^Kw(@@a=iEMa=iANbpI;7C{F}4=?zQuLn>U|4 za_4m9oEL6ilheLt7jMk7T5MTuxy!bu^!>SSbFN=~X0_*d#pk(q_Vqjw(3xp&vEwwm z>DQ`H=C1F!=VW%(t7o6PZrwE_XR{ygjMbHUH=nI8F=Jj99^`rO_Oq}5oEC-7zSwbD zuO)Y5di3cPcU~2~Z(j2D^t#yxzo++p-Lbdp#o3tat<F17*M|4)wLky*_v{xx-_A1n z@@@5txsr*CC;eO^eK9F8Gv>W*ywR8NC-v3O{ubrOz5M=O`)mBEYQCaZH#hMtkJ&9* zeeNA!?H=~%KRdtVKa$(2d#~T-@5`Tcb*E1Knh=?I;-8Pq{kgX5uh^xnblxPggI%lR z)t|s`H=q8Beq^`$$Xazt(Ou6sWG*+WELk;K@<V=p{PvpeyRWSGJ+W#nDoJLFxtt%Q zzO1sWU|!C>@`w8`*$34;-|`@GbENy6PsuhOPZ}3ozj%5tm)Y7omo1-9FXDQBS=Dg1 z`O=+Fjx`tjOV3>RC0DxVarSZ(od&DGx_sHVxpKMYMcGf6n$Moi9kpebwcob7K8at? zcdhkc==KYlk=&zpXi8SX!)3B*=AGLjau54u&kGKmczHvDX@mOWSsBmXold!Qr8jrG zRl2X&kzEPb!_}9b3(B5WmpiGsy`*60!MQ=6TPsetdvm_HVdZIk=}b}Oa`&9aeNBFC z8(*AKv09d#Z_F2QZpOA<t9Sae%WPiGe3U1+a?4zf7w-D9H*==W-F$vt`Qn!{H`-4} zMubiFYrJABc+V#Cv@GA-hNtFLf8(q}PV#&DZ2D%ayxa1Nm1xn$%k$&6&)@&{)8;L^ zUmgA%^V|j6^bApXC(rui(|z-UFY|Rj*5${~dz{s`(){p==RRz8x$KiH9`(d>TC(eG zRGV&de9nskuJ)-~vo=+3IlHVuh4J8=y1p&5)nzujO8Qk!xFo@J=jw&W49-6%do5}y z$+Wz&B3Faa{Jh;Pj>T$Ivx1&!E#33h!#Da>(b8qLFLfMF772+ilwK&V-ly%gMf&`L zmh{Q1_6z*A+rQ}iqMCQSNAIoe+_dFZ%%qnaaz6VSwlCUXd3lkq+Lk9XE#ut+)eio- zaa_YHz_hrPXF`f(%{{fB)0&s0zBqOEfz+*K+(8G=<*RY~9WM7~)1Q~K+~)Jly;5bb z*5pev@U?NTGTSVEK5)HlzT@qA2hXmHxbw2%bDsXQgU|0z_+8xFuT=YK@p5l_ImxGA zZq=Cltj~FIa#MEY?Ac%YwriE9eS9z5J9)QyNy7HE&pyBNvn*M#>%s1QXYZEusV_YE z>iKQ6&6dwa8!l}K*!U@JzOMJn%{6{|Uc`L*q&@G+oqD-8u}McRZeH9g@#I%}^UI|r z&t?nE<h=HLZeH}_$sr!%Yj$t%y*$_7<`=)-yS_ViJ6D^l*B-t3d~aTS(bnjb>{h0m z-v4}msnYzH@T(_l&9(i#b<?-)6=$oAH(O)u`GO_GTQp|#`MA26U;1bFyRWNVH#hvc zMgFV#opO&`%fCsT_1mL2@yGXf{%__t9rh8HtGxbc`OWpszan3LS@ZnY^Cx?kxo7Db zy!>33`o%V#{bJ?rZ7=64a~@cb{p{cJr~E6v$!YyseyVo)+0^wDN^8x_cTQfs+-|Dn zW-IZN&-Ziv+Wl2u>@W9Z``U-nea}_hl3%W4$%%`c*Or%8{dnuo;MeEh*0;yzJ4tAs z)=1lYASqvcS;5=&i+M}V`)$~lqv&t<(z4`y-;B?kvm-WMc=knVvBbT;owFxKN0lwu ztibf)v+7pAZ;$St&&w@dIs5X(g%`XHOEk_$ZrW~Byjt*rQ{*|z$A@LIv!~BtJh`@L zy^Ly+)Q8JG&o?l{n$8W*eD1rKp}caF_k5G147ai-URkXk9I<GIZJN%-vo*(b+F0IO zojRy?>DXzTxfgpZvybhu<2uII{<*AY)s>>vrB|Gnq#a6}@anV4qf4v$zAv4vaZ=^Q z!yh?$llgdFoZS~&^l_GKjNBK+le}|x-7uF*>|x&MSGeP4i@~Mrwm+2<ukH%p^Zmvb zqqM#g*Eba3_v<Zs`Q=g6%j!M*=D+$`_FLhva4oE64C0dx-g92xFaPxWRp!s@<Wrv3 zyo>$8o^VjsF2jDthRr9ZUp!?vFW^?v@)^Zv9KU$5+tk_|l?gTC74=PXcHDS@hm+-N z1IP1>EekiDC<#29X4kBfQQ*5t^kP-U8hv&lH|Ya+T4!`irC*E9oL6bO*o<rSWe4A! zyI(veGOKDlR+*MDt=Pcrui6EMSPdy_#&i2+YQ6s|TfW&>kfrqWGvAsdXLG+kleFT} z)QpVncFhY!#C%TrDo)v)=(bWfNR!#~<b0Vs_RC~lZoYbRcS3y75z85q1DCEl<1N(7 zZn!6>l=siZ=BT~v`J>)Vy_ufhCfIX%g1Yx&=bU^y%kA6G=Dyo*J$*%AX~&Dj%Jcc> zefTr^XZ0)VIh!A*zx?(~_W66g{Zex7>DT4>wjaG#s9*B9B$Z?L)gEgp^;}!Ydp+8+ zC+>v?mD%;(Uv#e8>*>?l;1B1{i(h^A>$!2UD&s0<gVNNb9rJs4y>QEEHa1CnZuacU zb76@#ZS!y)UiGECiBH~6vt4}pW}kT0=YKoSCvN<jE`0Xl^SSS=FFo-STvIYBk3Cwc zR==;h#@6QdvCDH`B)mBM;?C|_nX@a4&n1WR`<h?>WWR9Uj<v^*hiC9+9WP$ov2^i# zo1YhsOYPe9+CD<g=tN5Xv-4{&fBMgG;ZAkV@^zo>6KZz;ZlCaDj>M1u42x>qJ^xBS zE3W3AX?%I&(VzaWuOIj~m2K~T2D|!ob;&O`IDXEmSnvI|-gy3Ev(u@TS1+qsD!=_; zzu?c;7j@@<%ni&dpZnD>zp2*u*Ys(7mrL$CQj$>g^yK90$E%HxRBiuKe*COlZ=PzX z+xq!t^6YPZo2!RKZoD3sSN&<;dd@G;zvLfZTJrqjy{T)D&omHa&2uT=AS*L_t+h+~ zq?E_AeK()|czO8=cb#WnN>yf-|J?RcYO&*z(^HrF8E^=%_imlFWpY`#oc3;6HqVmh zvzAR;Wc)?xmd<5`EltHz4Q_|09Avn&ILNK#nad@^6|v#|+H68o)R$e3l;Dt+$eGkv zV)8V>>Y#SUlaCDkAuoNCX4X4!OiI1lwnit>sqITbThYb~Mu(SJR9<~@EFxCQC+4oP z=A5%@zg<hQVz(0St+}h4zHiR2oa@0cKS~PcygjyDpK-^DlHNJD*ktAM3Vm;zUtHMp z@_b=igzBC%RZg-JIS0QaOXNRW+*QW2J9hE%sW16dc3=6Tp72^x)_7Ctui`JVfA-e> ztJ}W5-~HVO{jf;LM4yw8_mjO>E3FFtsW0w6e(`xlS-IX0wH<$6&)4Cb7cIM@=FzNv zr5u@}9(I%CYqp=^w@ZCdaWChXTyIj(t*6oRd|e)&x@EEOs1(bbkFioNjk=T6EwmS= zWw9FjY*@uNxpc|OIiD`fSr%*%y5>Mynv}|R(+S1P9A1W`JDo{0IDGZ9+0C<QhLcvN zNjfdOklDjJ+e4w!p1F3{-=&Ys_VjvMX&o?M;MI^M!1&N|g<*0mLspJgfb?RXcO|)p zSp8iduT=9^w|zI`SK8^8d!}ct+-7zOJ^RDAFgE7ed($(;&uZSiUvu4lwwguZysp(x z=H32fF5Wyf`bFiQh;!*S#|t0wFD<>lZsVM%HjgVGn{S(4wRyhHmnRPnN$q|6<owB~ z&vkvw=WC`s-~Bj#g}G^2o%YLpdOOQ^efcbNque6w#fcB<UgnEuJ)At}?Q_i+JKx=? zesMSK;;Wq3JKvvwwpU;D=F?xrp9{|S1$G246*V|}R^;y4t54qic)s!ZwdDDm9_#y_ zu3Rt6dB?g{t+;e&zV^Dpzub4yvdl})l`J;?vd+Eg^WB@8u|6*xX68Pe`>*Ps&kX;h z(!|d)+fHwM_VT688L?OM>aWh+o%eUm?iuBl+t2r}u~5GDX}$N;^*8Umt3GS<%izp0 zQ@4B0Ch0c6FMDpdc;a^Y3O8@nZTUR!&#n5;p#HCKU;53>@sTtC3V)m*^3l8I{W*It zyN?eKy?gXsWS7yt^3(ax;}`w8{-r?i)z9}YJQ5}p)Xn|b`}It(<n~nECpL5UE7gYC z>ED!>UeA2vRb|}r$!EXTT)y|a|9pE`K~>uGaO2t5AM=wZzpCr|@$+TIwl}*jpRP=Q zKIi%O#b#S2{5?-?DPDiZK6(9yJ-^PMc^<ZqZL?$}qlJ5bRngb>rTJlTxsy(%AN!R# zjq_RI<uuE=&T9+KD|f!Q6q;uh;%2eqh3=lu9@bHBpIh##crknH#gdr(Io&V4&F$to zb2Uc)GAdE`+sc&Sb%}MZ8&}wwwy8;BpXVf4t;;idy}4PraLthgC&Pj~9zMC;aL{?` z)ZVD$v*z3>;F~z-y|miKGheno&-q!t#9d2fPkGCiY>7DqZULv4@=jZPTK49I<HcDr zpA)wnC^alFymdM+^QJUU1*g?qcHdjVhK3h~&$9VDPn+zxrG-!WqZ`}D@K?Rh^yd6b zyP+-BH_>tK4>|6IPiOwz!ex~<Ykm63XY2Orm}k$b($e|TzWOC+`qr1HN}umvukZfi zbJ@P<^WFDP*$SP&P_&$WYG=Lndh>&KDt;M!x>Hjtmy~~?c$u^F@}8rIbvMkJs6Nly zog>s@#-n&+p5qq}Gh8a-`*`d^bml<|S@o=7-J;|r8q9SYXO>QCQ+df~u<FdgSuB@L z9gJsLObO*Ukt2K7%~(Q~e_Cg{j<WH*q&BJSWl|jPTG<?S&Rnq7a_;7LOZdu!F0=+@ zgmh=JthqT`c=FG?Uw{8+aJ3OUu}9}<x0HcmRT{^sY>AE|vkiHrmOe@mTGQ?l(DQuf zo@bmF`ufgwJzdir@%Gug9i>*gl3vgAQI~R4yxDp5LF<LzxhE>0+s+PZo+obJJ?nYc zpXyin3m)!wZJ&MTk(^rP@_3Oi&u8uZK70P&ny>HvoIKwjRh6{r!M*R1eTo<DYCgHo zy!A6|ze#nX#hUBI=f2DSs!hLYb^Y18{+V~CHqZES=H7Oz81Ij}r)A{z?fUcFeaYs{ z{);yiSbzH2zAe2xd(F=uMP`K(2My+Y^(%Q(vh&zK<Eszn_VK-+^5fooq3M%OtgCn* zS<zecJMCWdrRPgKd!pyu`?))!+;8EJi#%nIepUVa&)_ZEzUl1@juJ~-cE-bcf;X%p z-e}MK@$Tcf`}5ap-O3leUHv;|?|Jjv#v;#Ko<FR)`=WH`_4oH(HfX-Qc912aFWYj_ z<cn^1mY-dC-u9Vu=7rLI&L7jo?$4>aT37Mga@X7$=QBUcXa2bQIe+v1b^GFF?`<=D z&ZRx^)O5AeAEsZc;1A2lW|QB$PuzaBb99lE+5Md5BA;)3xO;zs-Qjok`paL|&)u*8 z?fI3OpZllVrP=G(*8Wxfth~JZ>Z^LYou=C-wjbWxU;eCC-I%A-d)1HQF~6=)x8CwO zdS1h4i}xST%-Q_O{DtlP)irYYuDVB~ds|QLNS@uNW{_QYeQ9Z0_li3L8Ji1FTFv?S z=H=xnMO$xL{qeNibUoM1D)X9TiRG5Yvj;72U*4YAqZi9OcdcHl>E^jbOAnQp=0A^} zP&NNz(}7gep5mrJ@gx^MD<)^YfT?U}4zcl<9C8lqIet;``f-n^l4sTJB9^Xr$#rjr z;mbP*eZ7yJwY6Eb<a3$u%*#%dEAOTAnH%2Rb7G!VB=5z&misaimsgd0GxqN5S|{Tb zvVCr|yxGEp66ee{n_0|XFY<huHj!!RrYLrAn=emgl@}#W4~jn9<SIRdD}m$HW{I}< zQfJ)`$=u7iYkq3;s+4D6)r8kOFE)sHom={7?}Nt|W|-c*zV_wu?K`i&KkfVZ-7gFF zJiG2Um0PNxy@XVyfdw(|#UGSke!j-0x@h@+=Ju4&FVA#8JNK;lbEVe@cA1Zd`7X|R zIH!2IU&`c-ZJ!zX`U)>;d_MNM-!EsmyUE!-=NCB|-Bf3f&UTRH6Jc<gbK-!8vGME> zY4e_1DOL$9*)=x~WOeSbwV2D$cHqd&hT_0Ahw@)Wh9p%<8hb8`XkNomBH6$YB5YM6 zwJ@*e*a@dtzS#%=Jo+6s|3!IwL)v7ci58+4y|3{wYkX+mc}77uTjBAXjA^r$YA)nB zv$t7n=XpP?o|K87V~a~SetS0WZTQ)UW0`H`Mo;cH+q|=lcl>g7V@*%-fjb5v&u8Wz z4?pvIU-f>!WBwC%XjRsppZn$cvt7rzH<rfrm4ET?`_JH5A)j`<b^BA>JGRB&mQQ_U zabWS&+wlx`*_Dr~pLc(?{BnEd{l~j2%^zR-y5DeT(?^!8vT>nTa*L-*?=;Q(zRQ2x zOVd~V-0z-0wccsVx_j|-d*PjD%{mPmk{Hficv|oHc`yID^Nx=%^qjUSH`h&l_NIHL ztMu;qGGfoG)cIr2U$14i(m8wQyV*0Zqrqhv>8i@B=hoc!eDbUD#oH&fK4$TWfljLX z`>OTr-aI)tWA4>#v#E;?%2t&A{Bkhz-0Ii&W6BS!yA>{eJl}3!nb+}6k4sP2FS4!F zU;FY@8MEIp*^u_-wrzb?JlBtN?&1mY{Zb&Su3%}sC(qvU=kyD8j=#^<ZO_&2etR$K zZ}BIiUpJ(`<!hfQuF@%8dhA^N^uM=%PQG*e(v9=$KHk6npTYF~&Rs#L`|a~A_q=-V ze`tR6^pk&U?elB2el4H*@!y?)$B$bZ&bcxF%>JzZ455F{RsW8++VyQ`R_fut+RFQi zH-DDDh=0Xzz4ghl)rYILhaJCAGyPQ0$5{3Ij}LvR`p=;7*k0`K`}%kM-B0=6e#;e^ zW4TG?2D```j_dNV#tWxDf41TAE}d7icq`9~eK}UR)4J+xoAbq&Vh3|#<-(&9?>+hQ zw3xBI%G>#3ahc}n>9&^_n#R0(>em@O<?+-tccV1BW@QS@tJolOc30%gi%KoC&bFOo zS?UmH&=zW~;iYpl@am#Pm-{-jXUj}h+$`IdXLx(j60f3GHIZv6&sSaU>nUb;^b^@| ztlXfXRPcJLvrCrR&*Slno*5c1)@fU`z2f_>-jm_xffsKa=Z$5_F_7$A*UrLu`1!u8 zWr9wP?dh!2TPrqvWPW->%2$gsQ>Sm1)fwiFDhA)AQwH9pSu>yY&7AY@RPfC?iN_N! zr&z1=-J9}_eU<rj`}94ZE?@aoQ@h`vr*2;Ce}>IR{u-CGfX9p!Y^KhB`k%q{^~bvS z{8hbAJ{K-tFJ?8}_NnimUvZOVY6^Moa?4dbJ|o%kh4ad@;~P)!`JBFFSun44I?Lx; znY_L;Cdm^5*H^x6+EC#Ub?(kJ$Npso844_n6Bb*WJQF*8Cdzk;+{Nrre=F{TkIlS7 zLOfS6vgNfZE}Fq*rkXZaDI({L!sUhA4EKtwOR4s5J926D(#}H)7n4H7O7b7rZ+!i) z>BpXvJ<5!kXVwZ_YB-(PVUx4)y4g!+UM5E|nI(ZM*1FECoO{YPvNC!3;-7pb3#?D= zTD{!(#nGDMvb8=vYYY^ho9=jh%G2bcOQ!l<ck9{Dw*2|KF7?Z&y55(|&t7hi`SbSk z^Dpz#W5Tvvdw1NuKi>1)e%BB8FYPJ+^x97PcK_@5a=-HU<tIPfR+ql>>F#{vtsnmC zC44K}nIArZSGM%$Zs`>|7bT4^TNR%#uCQyX4_5sgzFPc}^Rj~7$N3!(%vo2H$Z$lG zm6Iji)^7SY{<iP;=f649T`_mZ=c;qw^ZM0;tah7go2GnzKh5jhy^NB3zR%WNDZMn| zS;_3_l@HftuDh{zdaT!}FJFGX-+21v^xF~X+Oz#-zRdZ)`mp5l=3{kRXU+T-R$G$# z;^Ff7e)685YpqJw?_2wM@nW`zb2-md&!2Yow0`hux8h%>t6%R`eemWv@3U*qL@(DC zFR0ukept?8U7OXsxi|LJTv2%OLHWc_{tI=9zxC&QU6cF%+`sKV*6;r@J7;gDcU{@9 zesiBW_kxtqUMtqO{9c*0Yr|jpXZx?-H@CjMSF10w$H(SBL)`we{~31An<anY{@MJ~ zfBmCl_L{4Di`ZM%rr-Zp?st82&EMVgY;K;Pf9$v2!N<wZFMpE1ci-{qcl&AIYl@%5 zO~3c&>Ej7C#qmMMyI<Pvo?26!|7_mB{|p=K;^oe#>-B7J-f2<&uK4UU=ks#QU5dWm zzBj{n#%aC8o5inYGcqnc^-Jo>V|nuh79m%&UnuRe+Q1=`?`E9v-LF=(@z}vv2iAU! z$qPN3pI9kta(TM1^UE`fcPY;+_MAOK<_lA5-qP2G9ad~B_1rI3GiJrM>J;s@m@bl> zz4N+*W7WZAS)ENc`Q|YcFEX*T7N0o7ugT%&xhm%rh2VLWU%vHxwG9^8Jg>=ozF5%R zORQ7uWPL2c9e8<8>KZL(YPd3izsg$Xx@~%*+hS9z!lyfq>phrU!pz_{=~uzs-ZbV# zHrJ;a&fq(oBxdk#hL_cHg#&j_UAlMNuC}kExQ9JyhU$fqFUPgw7JOOuyGrNm+4GiG zezW@*efwN3zx3hV_m5ZKJ+nLI1tcS@o8`GhpZiyS{o%g!t8bUje|CQEw@r`lPd{J1 z{LI$Z{+fOoHwuq(ST0kZBzeYs@%gZlzEYbV=h{WmtwNqnRkVEWu}L6$#)Pw;K1*bh z8O~+PF*I<fFImAiCAEu3++1Sk6n(yHf{#`%`RTs&%RPfNr}N@wO<8(DaE0k5#ykfD zD}_Z28r3e0rDb|vavV=n^7{A>$mieu{rv3H^A-_jA|CAgEX1v^^(9m3*0zn7)2ech zdTn^gw)Uc8@FVsmYu|6aS{!e;>!;*tlV*#w{BVBrtCxyj&DNQlbT0o|PQ{z*xb(Cq z#XoK@Z@TmQyt~7nSLfXP+w9aUXRn^^Q(NlvdYbn0BQFj+EO%AieyRIq@&4+=^$rF1 zW%Vb1ef;*%di7g1OP`mSyI4l=+_t$qWoh!(<JC6BvWDgNrhI$<<csCGVBK?dANMb= z_x-%()4%EZdzvSdxGdEbGF;JpmZ>dfPN>B%@e{A?U2Wz4m({di{m-EPa@O;(;$6?$ zdFO0iymw1>^X16}YYTUoBrkb*<n5f-X9d!|Wy_T-@5;=Zxy<uA_qIz`%lNK7t-XEr z{ld0~QgPcqoOk4VK5>0Z&NS(SZF3jA^uA_wR_O5V`L%UR{my>AH?N|+KYH5N^optH z59KV6+aUbQ{czTMv9`Wz>vCkDdu>%+$+UB(+9!5romj2brGHM!9+#g`wdP*>qW=s= zzs*0}U)XOR`lT-alD%5JbIrBh%5|ML7cX>+=(A>Tept8t`T26c(Ce$>U&u>;VLyGn z<naYFiHAR>Uw{2!zTIx`r|(~;pOIfae``YXiJrQG?_Yl3pI>boXT7Xe|Jmo0{jFuS z%g@|Bzy9g`weyod?!5c`R>i$T#Y=DJ&Xf4@wfNVR&872aufE|^5jSuB<$ICOBD6)< zPbe?7+<V?^rNYPM%WOTLu6+63wf9)2&a0N_%EvQrJzc(=kKO9#x@}C&rRA3Hr+2Fs zUs=DXbnBU|j*AU@oz~X8mX{LSx1M|Pid`npFV78nAat)`Lbz?vL0z_KM=vzV{56){ z$d;S6$(L0^bzPI=6Nlox%K~S`?mVVkZ(hfDblS^#vo-tYZ0UR|<#*p~Lgi-Gi^tXd z^7vvduhvy-&bKXl^l)B3Q^eD&>h3C)7lm~uMc%Yr9=xbHbKT6P2a9iH=1qMga^uL{ zaG#*tdJ{VGEg#LkbNY0<<hh+`Z?m5GZJKj0@8NB+d}E<meQ$QMHM8uw@9yw*($jfc zZno!^_?3n4zrNns`S$Gd)`7S0MZVkHUT?nYmz=!o*B$YjWiP=lgP$Q0V)Op+w~GG^ zQ{R2Iu`Wp4*L(Z?r+o7zKfgX|DEFT)<*!lHU^vTPf!|%>N`iCbjB<CD20l}nqJt75 z+a)!W9He?3j76DdIZx_r)H=;#Jd2^0L13+~$|{y(hL5xPT3#l!N?6&2U;1ml_3ghB zQ;{ttx|Ua`@o9TGUb^Y<B_OS+SlG963&YFg4%G{%SDwoH?Eh%~#ozTAHTNyt#Eb<z zp4&!j+N!>QbIlg1#hDvsa2<bQz@TvUWw*TQ^7XGC&AR<%UgWf@oG!lb-E&@dez0rz z`cdUQ-?HYfoNtM$R>_pW`Lp@$YSW&atCzaBpEG^ytM3wjR^EM9#9n+VEaio7zICzT z?#d_I^yd8h+UVDuyWBk8yRU3<xcYg!DSO;wj?RAh+}2+1<}%~l_}C}+IA2-Dd!Ii) z^LBjrwb!#h7vA}>&EoHJ_2u*A)_gjj8R^>-?#k3GQ(}?7?&tT%yQi)Rd62UBVym0M z;mLRH8b5u0T|e#1SLK@j44&J*B%i-HZ_T;g#x`$@kH3E2Up%{V_q>NYqNiDxp1t(^ z^}=gEYCoH8Jy-Ph<m<>+r7vx@&s9hK&P^!UE7sk-Q}WIyvyXl6#kf;1{|Xo1TlCuG z@!oSAB=WDn-g#Yrvux4Hn8UH_^vaIUerr=xl5f@iWpaCv(aR9IzDdOm3k;<$E}r;v zR<hCS@YrWx#ANmQg&u29`x0>I*;Sv(mp>oBS!ea@`z-St>Gn7F&#RU1-kvLa&uoV2 zd%h{3Uw^Ee=imRU{A2u;b*y1GUw-4a``7*RPwjEFl@)gH58KDDeO7nl&%2-cDRoVs z&#iZC%SfBIf9Buy7ydKY9{6fj{PgXgr}M3CRlZ(5`P2Sw{+s+Wg@1Pbk`I6NpJDp* zv}^LtOJ{$GJ+JfpZR+QLt=X@CTh!X_Tl{o>kL1P|rO);j-}+qgTind2VB_cJH#a_) z9qjig?O{8-#G&WZeI83amb|>y=ayElrgn1&y!>o&b+7RZox_gvq}v|Pm9_eFeXgZn zU)a{-eruP@Ykfthb^2T>IkZ|J^I0$J8v%=1VM{umUQRWd)vM^zIP3Kk#x3uf5}FG4 zy!hhGsJL4CL2L4^g2^4vuTFP}X?S}&WVxAQEURbC=ed=|OPVb<*X+KuQ}CS1uII{; zYp)wKmHF5l6Fjk4b5$(olE-158Rg3*-t<{I``x@OQ(!qmc)9#Sm1pl|nTj)3$(U(h zO0*DK`r41D=Vgbr)uZU8XD=#zl9_zP`Qk(Mi2J%<FQ2%)b=^Me9bYW1Ut5XJjeh!4 z_xjr>ud4T4+PwF>%`aPHT@LV~b_dl%KW%^RSKjyeaLs>)^!C1g&S&p$thG4Kap(E* zYv=NGcV2pVc~0u}j_vK%Yzdl|r^_v#cjWStB7tlVw=Z8rr%QZTm1aI?a$?G)jJ!PA zB}q@5w3jkG=X%j@qts)|EvKT`mTn~>FwrgGZNZQ9jo<l{8Xhf~rPacqsv2$iW<v*u z)M_4Wvuh4wjwzScFVSRV==@Xty>|ZwyZq^XVyh0BL|opauu5PfW5aX9Ial`@P0LL# zl2&~f8Tqzd``MK*#{<61n0$R|=!M7Y9`Bd<`uyf%i#vP%-Cu66d&xFz^Oxr*ucukn zIX=DqN^bUV<?{zV760*nd;jW2x$5KlS>G<dz3}$woIjE0**zbAxp;%GtLypWMbGE( zZP=x}?A^)pt)cDgp}RI7^N*kNrLcA8wqFzD&bK{#<eH`*_k4Tk+<V1~B474zE!=I> zUU`1!_T@Tdu3lXnt3s}NPO;5>@Wn3eKZ99yyxh0C>Sz0YeUA4$^HxS~)-3%!(JVVM zrf>dK@|*ve!JmKgLeITe*Y@-F`F(P`FFrWG`TW<yvrF$~J$K&m<MEB>yPgN{e7?8v z+}nG<@@k()N~s=ybGEX7+57zVU%Mx->uI|A#r1Uk+_x20e>{wWr>A7*+{kTBdvu!j z%lDnPe);8{i}$y$Z%#Lp`%|;u_t`ye`Rc#Y&#&&8F}ZoMYp5c#xaWpNyJg&M`pn&Z z_}xCg-OM{n&+t}b(IuV834UKrTK;_hI{%6M>g<lMa^cr%@-Oal-#Y#Ae}?2Yv%b&x z=J}>*u3Rl&_>cbg`#7)dFpX<V{u1A8@AhYV`QnfJuhvz4Dfuh@=zjXaUu@~i4Y$pe zHlN&XTW?bxpZH<V{qU<cb9ObSTjc({zG(0JGj%+F+5NB2pZECZ^><bE5jA$QT<iWb zEM2wzV_$b=)t;K)v0nRE7TurquKc^*DZXv5Pgj}!e82nIr>f7ZUcJ8d<j0!K<4dd* zXQi$=?`oCP#+i2GaL%q*`WNS{%j-xgaCq;#>|V{4jF%VNnmx}M7wf$B-DIAkd%59d zuXkASQrC+ju>waHFJO4xDZvyq^@W*0Sko0d&&58^3i_tFC7S11E)!mrZ+YQ%U&p%E zPCmXvQ=ST*v*nrdJc#Ky$FT~X#2GhzP0t!!?wz5daJwzh=&UXSpU%{E%i7XRIe9Kf z_C|g;N?vSM@#0AAM%OncmlgTs-P5EGALnOZTyn$aSjo<fbM^8*tSH{TtfqY94a)_x zdU-2dByz9yWLqf8O?fo?+#TzPukK3jv6i2{ZaL`tyngnzJ5|f_U!E=5cdvfI-}8Ly zCSUxuXMP}b0WX(|!H=rS^X;$Z{Hp91-+r|C?WcROJ2vk3Ti*7JEA7RTwCod-g)5(Y zJ-;nE@ti=?q9v<ZjQNai-TCGFQio^r`Ko2tr6SfYIqqO~TH~_cvQ28CW|Gfm#p?T7 zDeQdk;)rjC(W4Tb4O|9NGPhKWHA*(i?9;yb%|gzU``KB~HFE`wdQMI?ckOzSu`cUE zYb(R$xWwcYXVk7ptjnm}R+sa;?*6rS^JABmFU;VQ(rE1z$U53n%xmy?7rT2xx}xDu zMt!lDANPB|-6NY@QG8*Re@pr6FQtEzkMB2mSns*wv(56$rJuiipBbZdulV};G%LHP zKSr-#*R|JQx2f4z{QUF3`rq1b=W4&Pi~Q4jKm6Kce|y2teVd>Ea@U=8miL7t&$Z{x zu8a2^y{zWF@oZMoUpC!2&uuHN&c5>OO}f+RdP~mp&JADAtKah7xv%Hoo*gC6*Xt#v zbj^O*n=Ny|!8yw2eVnz8@y$QW%b&mgk#z36?cv)s=KI&{UpaWKMt=94*NoRC7!`uP z%GLa`KeXXlp1!$yChy&Qad+pLta>yzd(xJBMZ4F{*Gx8fY_;K+nTPJ|D*c*W#)1*6 zZ!gn(&;0fE<d+vOa2uWY^3Q)!<t>Ynr<YYv3$JqCxtQnSoW8xKuGY4Jov&?QE_nHD zou$>M&ws!7=Sp4dx4pD~QOxvnn-i<t6Imn|T*`m+>a)C^=iKWz&b>_8dZ#?pZ@pdi zwX|m$dfdl_<>&6zKV_ekKIcYB#a_K|x$Nst>oynvPMLo)>B)WTkNfXb&2Rft`YYyH z@b$ER8-B*t?S63oS^5ig!|(alU-{3^Ut65D^1kB>ck7Gi_DlX1-~4&M>j#!kpKI<d zo8#x-Ud#3C`l<5=@24+c^D%wZ%gbNIyW5w4j`zRt{Pc(Y>09n)ocR?O|NQR#i*mNV z?3Zen+$#;5{Jeb6zPYs_=jG()eLsAz%5(mV`N_v)J}1fsJ3gOlE4g|y<Mh>wEE;Au zWk>Fx-P=2B&iQMB(=S)<=Db!sz0K|0v+v%10dJE^9$A&_?3?}akgBZD5nt8DojaUk zwyI2J6<)xr*p?<1(adgMz2Hcnf)dZO9~s-6Bi7ZL%-~R{+~c$4^GlA&D;okYPMO-P zzhLJvx5#v#XNT7|n0+?9Bsu4csn6+HtF2bcGR|c#y3MYyGhgSh>5}V>hMyVNFRq-U z81huEFXnOLhUcp!RWD7;n0xc`vSLQ7uGg;F{L)X;ny31<JIi?F*(%O?Jul_Uqw`*g z(mFwb@2yIn&uPBtyi<DPyhp7uR*`n!uRs4XKmF+b*B>w5;$8;bWhUfkJ^yT7_UC<P zY^;91v)$tSX!Dm^5sRJkjh^nwD%rY7uDWu0oWWPC!})SaGL@UJl*}`*dA;TN5mWVA zf1|mk3E}1(*G`tEtm|RRYn^_k*{?e?bN5VJu4m;AJ%(J*iug9YkmdDod9vzJ*?RVi zU+v9Sb}G-#NWIM9IL|*Wc=z2(k7*N+urEwYI_0ajVpgD)F}Fqxj}4=Ad;ZDj+uRFJ zxHEE8X4go+{cRucXTIzMSs4|94n7`(KC@j5RA){(ukdpF>P;n;o@%%DoC&`C_^!Kt z*s7afCduyaD!sSe?|$KjYjJtylHb-9p4N}EvT~pN;={fbU$)P?d@{cE-Hy4hzq?!h zY}foF{Azu5=-2x!HBI-jUf(WV&whD&&&kiWl^b`P?w-B=bg+<L&8`xwyxcSCp%U9I zw@;t_;^%w)!jdmF-&gCsd+VKRIqk{!g1>zJ6<%taOH<s`9%p>MpyBS;_~MdYbmG;| z_luvWFZ}pE|J2KZ!dH>A&TT!r^HKTh=8LPghsLY_`eR(u85tH(WS4hceDeqIAEjUF za-No+*`*V2ta|;qPt(W6Q(r%Ob>#8e9p5eQetdTF;`4T$t+Q8c%AdXTbhY4~y5G<L zZhm05H{t!_>!puP4d&b^iF{oVSFvWz?s<DsB{y5ie82GH@yuGw>t$bFT`r%$>+$K+ zzx5j{r|o!PoN@Ht$LW8KW=L%JoTZbpuk>=9bV$~7>z@gqQs%x26VE++VcN@MXO9)1 zvb-DTel^}Uex_X^zhd9{`O`0J*XsCpFF#T%eq?vr^*8#e|GFQ}YqorOP0`6_=g;^z z?_bNGDgIG^r%wF$T}zAGr<ePm_$W8MIQ?t<x%s#1wVAhViR;%t8~R7Q_~CtT`?MeB z>rcKgp8ot*S?0A*`A6#J{k{D3`NR2Z<97Ge^?taXd~x3A!*PAZN4!6$?z-`Le&{df z=jR{RFTVWs`}y-r@8#O8eZMuyU$OebzPo$dXSZKn5%DwM{f5o?rn1`mGmo>yPBy%% z?$>2f7`Ewari2btJCE<GotCqX>xVj<e17q`FMC^Wai!JmUC(}AiuZb6yx!sE<-R#N zYBOI<t~CypjJBF=J}cwFt-i7;*@-j1#JXzfEPQHZz)(5;qBC!TKwGlqjw{7y|NJWI zZJX%Ec<7kriIM`vw#<n^mJf}K?=>!LQ^`Eh_NUah;LwXb(eu80v_5^cLe0W$m&l<N zLR&qaH0O%tOp!n1a#?r66A8Dun-y<_6)!MYnKs=@y{_b%LFCJjtwn7vuMefo%U`A# z^<~1llj=Sn+jkhtt&8B-^jrCgPx5sv%P$cNkuMW3KRH*wz}(t=&*{&9tJhD?zx?p! zzW1}!^Mau#BnX8n+<o-N-hcj&dwp_MJMOGq`Ju+Ta$elrX`g5O+}m(a*Zlm2;!0z^ z$tm*^UeB8I=jTN;$u=qBrsb!DC*{736)pL>^SN2HCQsEB(H-it=NH`Nt;kaJOUTI3 z@jbDvXzQ}mzK45DKh`h#eZM27BVoC`Poit5agSY0t)ADizRZ|UlIaV+q{&{m$Z_6c zmC44EW|a+RR5T9W{JcK2R{y+<$dVq0l*`ZO-s67tYv0#THOmYya45)F6c+GxRMu8G zhn$)jJ<r_AYW4N#a80k0+)A0!uOC;u{&228^m^Uu!?siRw54ZNRlNKCOZ@mg=c(0x z#`~uglo^%wi@$&R)wf@C;^7;=<jo(ge*Ho3_pa|7Cw`WjS+lz4>}S^e@U?0`D_uTU znLjDnneRUDK2O-^-Sbp;B_y#|SD(>bl5nT$PL<pJrO$UApZ#`D)jjoeqn{5K&oq~| zobO?5ZWmS;ZIU{xbX9Cb$xp4~rBBOj_#L0!TQ1J_+4fyldu-9Kucxn`e_36XpFjJ_ z{owPH7i2Lni&*&QcBQTPblF2ydon%=&px&HGQab&-FDf}O3&P$``$FWcQfnH&#}e7 zt!h+f&h@w3Br|VG+1Y~Im%bKWd>tbneEP4))AGB&SG{=}+}vaIYV+1p^UpOoUk=~6 zsd)R*mwzU=Px&l<^7Zxd#K2F-UtTCYxw~y<&n(a8Os;>6oh+xDbsT)Zntie4{PGoh z1JCZcwKMh5th=XQxLhu*RsC@OevSOb=ezf;pR}jWee=`(;SavtxvMwl%+LL6|2+RC zYgqZKG}hKP|MmWPf7u^qt+Z}9E<O8m`mOa>|1->f7MuQ1-oKu&w)@kngXiX)58wD( z{@H%7KhM^kGMD-MsQC8TFXz?=Tjz&2zs&q$YUBHU+fV%|wH<$Df6mu`kbk+#%HZ$f z$NQ(0uHW)g-gWw6#ba}xh5Y&aHvP^&fBm!n?(N@OW8J)PcFeTzr7wP5KU?+rNBQFV zfFDzDo-Y3L{dHaAPyh4#otMALw`7;wezBP6#g|FzX0l84C8+!PSVep~zI+?Ix#^zw zY-ZUDa&lc~t~xER`{`M_d$woi#g8jahuh6Kb}6vw%wGmspOt5x^RkqjS39{bMcl2B z`Gm!B-;{Yx7ACse7AvHi+);`67<1v;3*Bo+<~)>@T2!9WF*9$v$7AWGOU!MAl;@;c zrAJ%{oW+)QJoK_n@x|VS657iS$b7!F;e*M8&5N0z-N-U-P&wG|$`d6kE90zrVY<fU z@V$G515ZxZinE{nf<5L~rqNthg(dHvy<MG^wJSHjA-#I`HScXIw{%_}ZmK#Qw&Tmk zFTcxWALf4L`*?19S!`sL;)5N3nU~MMSG%6w{pH8{-80L4PlL}`Z73@Gb9MjbiJyPh z{Ac()-~aNRn#1iYcHXzrpQ$f-Zcn|}=P#H2GSz2#pDwAg%j0~$^5x4*n&+R-mGR4c zzSVNMrOmp@Gs@jvwtWbDm$zf#a*IeSp{UATXQy5f^)-5A`BFyDVaa8$;0uS>&DWXV zQS0^ld)sEOooBpvvCUYa)|blt?9r^3*Va|Abc$=6KJLH1Tx;&!$tM-t5}BBU1Rk@R zN#uUkTfaKnB%m)_UCUF}=hV;Zo}d1m55HqqKX>+Jxg9sYEX`Exk#4d~%PxHpbLPac z`wB0X{gv!H`RsOM^~Ii>{O4kR{R{qX*IfRMfAZ;5wRZap`sV9Czg(LCLZ9#HKD)=~ z9#?*zcK&qj^Z8$rzs&jgvb4YPTUE~f)+aURe*UPcUU{GE*vG84JK1~BU)u4vvdAn} z&8^B_Ph62PX3u|y#fD$X74GC6d38N-{etzA-(EN-*JoeOzj}6Gs+-oi+FR`n?Hw$! zY*ivnkqcgwEVizh*WY*cTwrtY`s3C6a$Zzs%Rb|~+`MX6xLf(mYu}#7NQPFw`DEw# z?(?G;+}bMybQb<AU-0C`&*#gZot<+-vp+iB`i|+%2>tTYt53(CoAUVl`#pL)q`uUp z-HTj*CbD~3>KEBvS5x-QS-1ODdd>cebN8wrElXQ&znk5RdBu6xqnqc)Z0<ez!a48S zIq!#u^LgJLlr27AU0v||z4?;N!+fzDUyE#b7~xia_m=%i8P0v_&ySSe6)RZR)^#}Q z<<`$emN|zKmhD}2+S+~z>-|%I{adP@-}w3Z&79=>#pl)=6lSW&)x7K1^`BI7|9q^~ zpY==AR(}=WzsWA`@BN-qi*vyt_VTso=C7%@J$>P8KhOQ9ztMjp-`=yicHKU<`giv8 z{XR8+a^D->pWbiyx~}6x*;D7$`YS)3Q?L2+pW$}BeO3Gd3p@L(pJ$z4R&!5&?!Kvi zk01C}^11r*o0xfz=lu(RJwM>{`<|~wAL^a$UVc<Q`Ah%nl;&kW&b)pZIX&{{{YQQq zzuP;1sqg&!uV47==f0W0^q=nI{c8R-CA|H6;D;(Z-$ILDeycA;C$KRd+iCJR`Mlis z$e8=PYu-L8nOy9eA+c`3VaIbJ?DL%^tuM|#etx-1Zr(0wgIOiBlV6(5E;ectx%0_4 z>1e+d<Ag}flv#^|IlJ;&AL}&o@Gu;HRwzDmcMrSFn=ckeh4)$%UVm2E&&X_|>UQL% zA*bQ(ZJA9g4@>0p&)7Ii_VV;z<u75+v#0t#GrV*6*^B3uXVo5OT=cx&I5k7FL3Z8B zX?#Y(E4FW+l07NqWSQzEV{U788{;J}YOc&Tn(uPme96+!CFd4C=g&#DsnL#m@~hnZ zthKG<<Hxm3pXKIBzkK!G%6uQ2Z1CmV_btEvou|LN`cGYU|Kc0}+MmDv<^nDaT8ks* z#ajGl&|f~`$GyKY>(3nbH$Hvw^S#o^a)EKXR_ogM+UOjQos#hE#XOmpUn(Z2yA(&h zsO&kHXtw;!mq|t?#m9NFEAJ&QDCKDpy_kMZ&(_cU+QiPF<eW#X>`Dd~m|ifx{B!+H z-HeY{1C!MXRBa_!E}Eu2>x|4jjqg>`&rLR4NNCoSUwP^L;`YTz_8AA0d6Et@a7mtC z?sbnp?mk<@+4PG^#SYnZ6?<%r`PVPMzOSTGZm;F?9kR_wq|zl98$H}+b-UQEGJL;k z_sj73Wod=m=gloKcPc(DZ~pP?AK$N1O8YjOZL9U4?=L#}i|Jn}_4~z{kN%vNe4cN3 zt>*HJ^w$zkUoM{i?7jC>ljA<;<U)L2rx$;i+n11kZ%^Fq*~WUGFI|2t*F90@W9g}v zPk$d<xBJrFFEjT>#d|#eR#^2Z-skx@tvT<`%s6^-(!$`G8+O0AbaN&P!zJI0Q&&%3 zdN{k%<WttOm!I#o?D#$>Zg={!&krn<E&gi7>TSK+xHLR0-8H*r-@@4+_Lt9}y6}}; z%Oazu&wI_ygU`LLtZZR6`M6Db;iT{4c{jh_d8nnVohiPTFK@n1O1l5qJ$n+~pOov7 ze(~q|{J7iGe%|*h*t`8%t!VR-Q_3;9Db|5=*O^~=>hn~wqs%fqd~%7~Ih)VF%1`|= zpZ@Aj)M57rrVX=r(oRP^T+DyDTy2flvncKvh7RJoDYv~iZYs32zD#euezN-b%(wF$ zw_jatRkP)sx>@rU$;0RBs^;b0kty1~{Q3RlLw6saeXspx{=B-w&#LqI{xjI^pSo{v z-OLY#FFu_qJ^y+C?&VMO*6T-H`{h~J_j%vbXY1RtpI+X#cuURiYZj}YUcU0NR{8Yt z3m;0Pf5yKFzhm+F?$esj>pq?5y!l)E@$=)heEV)!-Cyv@uKeydedf>SFF(D!ef@`h z%kO^IU9UR*>DMosY|o#}O*+2+)!oB2E$JJs_q_Pcey-;G3)}5k-wfyVruLpoU$nUJ z?7f)_*qWqOKO4W;aX0hKFFEPf5(RT#l@gO3CZE}Sb7sBJsJyQ6;`72N%iC54CNt-1 z-;7<qAa{LbgHg;Ri!%nNGE7<=*d|;`mXMh2yo4ce!I>Np^Vy#17FpXhe3pGlUz4@L z*VdNh#=G>HPn5s*p56AGy;maeqGHcpeg0z^C9ZChel24+&7QpJ@2s$;C6=3Hw>lNC zn|RL3V`Gm|x5<}+klxj{%Z&?{mfZ=s+BWC$mV{@Qa`YoUUNU#hJ>@v_y!8S(i|@;q zSfq1&d7eEx#WL)x(B%c!nor0m-_>}ucb{G7dgFZV{AJ!RqJHuF$(-A>S3geqQtf|+ z7j>D{Pa#v=+OzFvub=couC?;7Mdka>&%f)cO-`<@xf6SzclV`RuijKlD`YTKZ&_!! z;p)Zd(szE|$k{x*qu}!7B~PRmZV|}r@{5X`?<dr-_d}K5<~I+l&Mc6bdU*NdrHjv= zS?kMCn*7P$s#-qv(Tf801y!@#C5~TO!BpAsDa81K$Ax8HY97a*_ZPnk`ntztcC~3T z^9%>gJ<l?4axa~k@yn!OW0N<BrC9z6y?@;ok4-O|Z-0Hk>&w?a>hVotxV9%CMKJx^ zJ+I3W$Nr_B{x<vii{r|3e*NiZS}#!Z?^n%t<I|<-XMfe^&wciF^S<tRze@M~Vq8A^ zbG*+_{mcjDckaqZKeqROc=(yD`oUk72`4`-yR<kj^N!M;<0VyJpXY^n^-Z_2Grsh^ z+bmyqZ(-cM%4$p5?Yx2ovx~MdOYSoKdg$c>10O$~S;A**txQ`L)>zJ!ym;a5&(G_h z-|L@m`tj~go9@1zT^sjo_mi*GTK*upPx?$~c+{B}wiQV)Z%XNGj>!)ye>q3}@xOm@ z^($q?FKp4AlGVQPla*bv&0Cx3MG|(NcOF;S%B*X9TqC^7Z_fg=)2mtis^0Vcl=msF zm7cz|R(syh=;P<@)Pt<^l`rpkw`t#Una2}*B6nSXS-IDI&N>U@z5n#S+dle!)=lc^ z;V<un7pp$Y^>l0LdGUCo;=Vn<&KWfS3iNANyEW<N*<gu8y`o#QFDR5T$=s-U6>s$F zncTC-Z|-hhn^*VDCjV^Zv!8oTeopW@zSH{p`D+r<r=I-Oi+_54W6j}<=l<@KUukLn z@%7Kw>wf=du-Ci${Pg$fhmF_yy`MK%IN<SX<J+(I)%;3VPoI~vubwCF#(u}c;xhaC z58m1Rr|{eBnH#^%pDoYz<^7~Jzg+Tf@2fsrR$03)F8->;j^j@9Q~sToU-9vdUHKcn z_sfdb_Z`i9^3~@4%(`y9_d7qk7FAWx`!3$GZomGw=NI;6H^1q>nETWA{sm>bCb`Le ziY;%vFC<<HC^@e`XTFD|=EbF#8chx_PB7YKxK}OJaAwQdm`h8q_w`PXDtq?lTi&dF zS;p70z4exEx^J1lvNC3xMY_|8e52xkUjaLHm=oQc6Fx3waMWvHEV}5cW)U^FXW6o> zv`JTZMVyzYaWhN#OnGtLrmeYVvZ~aXuQtE5icKC!7jE@D#kRuj*}=}&pXOLb8Eujk zUKHVIr9Ven;&O7kNW9l)>8{=Hyf1$$F5IX4c1^NLTY}Y+36EKYm(KgoFxN<Xc8l!i z^Afx48qX{~-(%kKZ1csrlg~=?J6|egpL(O~%d7X!m*lGMhE=bd)3y9Y>AAK~Cofse zwX8b7^U=kxmImOg-L&&vUASH8PyflUo>%_*bN%d_&oR5IO0D7<uO+{@^S$r9<kd?W zPZu|bpE8tL*OxWvY31CQs>;e>xd{>si=wB6*it;&%!F14*X$Msu+zo_l}));H= ze6FZbxKbf6<L%m+?`)QAD^I`P^TpPF=4<xHmd{_Vn#HT+^0|_$YI4Ygo~i8)+mF@; zetoYUKWE*xiB_fEGZp73Z<%thV&CsqKf;ZdeA)8UsaeO5W#O-%t83TA``t5-xBOza zIp6twexH)e%4OWv%QYUCRK+gLd*gfHL`)iMUGnRTyDxt^ZSyC6&(rhIj4yw(cR#Z$ z^V*~3izhujJ$=XX%XdFdd+=@R)mr~~f7F&gn_Dbi`nC6}{h~d4_5~iYtAG3a^68(i zTx#^EY`D02(aX}AJ(qX)JDxH-X1(ICOmXQs_nJ>}^J1bBUd}w~v#!H|JE^KfsH9}E z^rX%+OJ=!UF8EoJc;)l?^tNv{tLBuc<#pV=q^qJMvo&h_B-7bueWgpos`mV?@P5~O z?0I;)n|aOieUI%`zkhmICAn**V3X62z56Fy{nL0;S)M-Mcym~`RlfAHg1vDKrtT~k z+_Sdt%IDqN=Nl8t=cgaDZuhIqXZnWcRSkR2zkKnpPd$w9n9SzcvnT8O?X@xcRQ6}{ zrQYbc)4M+1TjnlPa&qU~9qL|E=UPmXlXk~!w>vMrc<Q~Y`kSgO|N35jxo56qY1QYK z1~X2q`Mvbq*W!x5HIwe8FZ^e|Z~Eo$)3bxOwfjDa6E@9WmVA8D*^kR3zD~NXv&^^V z`I47k&To6T^Uv>3@u_vSuP+}ftE#PQd-C<quRojHzNA(5)tmLz*F4;>{Pn(|UDRjU zdyns4kH0lf_m_L`Y|F}fJ0Dr@3k`pvByRj${@jOHtN#qPb?g0Qx6J8znXeb`_Hf_x z6ThbID_pO=w>F>W^@saSe`P-I_p-7Jzqup*mA><})6eYu_SEH-ueS4jaeq<e<6hzK zuS*j@-FN+9^YdfB&+q%j_fEe_f4+X{^)Ju6j5=23En|;5K2vcqUw-qRcZaWWT?$#6 zW7@#4TI#&y<pNIz{`nquqB@%$O$>L6xfqtrUa8GH`?AZkwdZOxc_s<;wTo%wY@M<4 zoSM~!Lboa}b5X`cOD-HVS;-YRqj1d&i34&56&-SN=4pox%o3RxZN1*Iu;X}2#9<+s zb1{2GCRAQJw_xVWWe)s-uYGpzxw~TCHj~wTsn%>8mp$vZjW*dFuvvL=mD!0c=Tc`s zyj1e^OYzTLYzI_lT-L~2W+Zt&SpD;h$%dC~uFWjIXnwTp;~mAWSk5ZpRmHyQmFK0G zCww>h5X4%`_4?$K-(2%Im7KM$@m_u0Z+l#|{`tGV<7(@}CqpL6LsX`UpZ@coA>Z)P zw?F-7U!Og{URnF->FGWd4v#N9wo?;duj*})IN@HUxeb%g@p;ysCxb*D&Z^RB`&YVD za`urIPx|iMI^P!kZga%T6%Mv6+A~<DJgczgo6PX&XaAD>&aXDCTyo}YnqBzKFE1FE zw6PQ>TeUt-OZalgrrdqQ;hjvEB~2F{Q)BK4vdVn%qkrKyp`AAOKEKxXJa;{9jl{o% zt1~~gN2f<_KlbV;@AVsBZ_Jz-)45*V=5I}S+x5l%(_Vb_{gQrs?vB%c8G2pLS?qlO z<kyQo`_B9R_A{9}`Qe_@pT95s_|LH9?w#M#ACEpw=1(+#X?Z?cE<pIj<!JSs4|nIO z-<D7N=vFa*_M617AD;!E3oF{0d~V9C_j(;KXRf@r_H|zQr-FBt@7~Bho>)0~P5PN< z%lV$$o>cNyJ91Pvgo|_StZ2&><>qm*`)$Aex%2gB|C8I%Q#-Cj9Z!3_@}}uJ&pRfQ zMU2gD(`wHxw|!7{PP}gC%0(NuuRZX7iNrFi@>l!v<}3e_^EZ99;l#Q-M>e@lNxx`g zdGF`u>ks!tK4bTuQT5CC%k!+*;?uiKj^5|2T)*zH;q^yvKHj-_A$$JpZ|U~SvThuA zG?C>>c=7C>-|gixpIg_}m1N#KzVLyKkx^)hzy7*Mn?6r^pFJ)4Y?v(XvmefW!IRy* z*3@S8-;`B<bg%1U*^B6}@qM+gYWBNJE`45eN&kHC^`cs~#dkhrKd()<-upCLf8nn8 zvfgI$iaHO|KAl^6dzwdr;mwkt;rlA<vVV)8yRTl<@$zT#JAb`dNi)wcU;EsC<9`Or z&vv4}`16;2v}=D-r}FFeuiz(@|D3;D{g^lP+4e<=znHtf=AXU4;NyJO`?WUqyk+|r zxl~6y|HUMyw(B3;_iw-DXZJt-&ye~{qvuZg{)1oTtbes1`xE%SbVupC4{1H}!H@5U z&yR0@vFq=`=g+S^tyf?5lil-&d-#ifxlPYs=6)BseQCd0^?UW+2g0u`{BPU5m;VyC z%>31#?N4Ll?ydIQH6vt~MO`!ZM87}UFG~J0K7NvLlFQxeM%J@4S%<cyyI!`~Y<Z>4 z=g#Vzygw{g&&o4A_BisQD90YV)(B13Zb@As#kN9cE3v=@ZGvrk(ptL~24_a_Xay)f zik`moOJB;ooJsByN9HQ8N;aHzsJL-<=h+#u*_-=J+{KNT<Yz^`@VRtY$<(}u+3ND% zorTwzwYwe86DU}?S=M=5npwBpU7L5NN;jH!6n<SU%XrC{WjEi{3;&W9H0m68o?XB; zkwL2W&iAZ?GS@_H&e~SKNMCl+;NiSUv6?04{ZgM@y<`<R<>jSA8_yrRwr%~yz%RGY zC#OEwx%TC+#qWCm$;-c1*x!}1wRs1*RLqm-)xLT^|Ko2DJ$(JS=C54({Cvs2biG*> zI|ZJ}CQHog^AleevEXF~r^fT^Mm8G{nk|>g>RROd;#7vw=ND6Eg<tG1ye^l&((0Yt zmB^VrX_GnEggejq+P~Z`W>3xe%~zwZeh8bw@;JNB`*oG_#h*e;U0&K%#jNX3J?d^_ zJgd}sVxZMI(JeF2GA%r{ulnbH>%UyT)YC88gg*TE+NfCj`JTr&zn8AMJ*m>qXh!Do zYn|(kTm8K6ZnpYO8`peg)2kQ!{e|Wm->cjDe7@`H(ii=fTR&CrTb?&Rr%&;`rOf6} z`%1t1_22#V?0kQC|H-HGjOBv2Rrd9p@7c`R_xtDWJFhPkpSW*W`gO*6hpLEsQ}Um$ zyYqVU%RiMhw^tuNQ*2f6`pwV1bEf;|$1aRK@Vev8{mnOCH{N$%Rv@!uE~BBjqh(+} zhp}X_s%!7XbIipDoR9UEsNQ+->f?FuXZQV&Z|72SVNE#q?5%E@TjANt3tihZWbYPD zwD>-6)>_M*U-p*ld~fx<_kL=LcDU!k*q>LWHuT<^@H>6tC;!FgPgia2S$Bb<*?RuG zzur$izpwdOZmzU*arx5I;n&@l8XJ~9`I@}+OaAPzujPI%wd#j&AKUP#;&1ZQ`?I%O z*{Z&Ip52>X!tS$i_p0U0#S^2Oc}reDzFur(`E2deXwxLqNe#aCZ4TYfcNrGkQ{6Dt zXJ5|Q_s8mfy}v%EVpdJ?=A&P#b1TkGd{q<q^*@94%je#~!si<lZtw=a{aAHgeD~9P zD}TLbwoKf(HY`8jWmjJ7%JY*l9+cSY*7Cmiu%Cb3bG^D{mj5Dt-TkRmnqNGxZrx8g z|1<L5+t+@!d;Pqo|LXoN`_$)uzW$>8bN}M)b7!5kzOwdj`seu@>#QHd2V2X9KZ*DE zcRXibQ2hMMnfs@%-~P0{>XrH<yUx2i_C<dA&!AU(`h2|er~RCNrQZ2gou9vF-_LL5 z{Ac97ez8_9|IUAMp1be){9||ZU&h=I`FZp1m-OAczCAx&9lo${{%osrIc<gKugw#G zRDUV|9e;OR_U`rm?op?6tO8_;3*N@7Tbn<fAHDpJUAgka&T#9c244gOJ~&E>PR~x0 z$Zk8cV$Gb>fk*j-(&n|gWt$!<m(9E|p;^daT}H$MmJ$i4!%~dw3125H;?<vRaOw8c zo)W$G8SIjCZu3T8mJ*NLaAGZ+Ur~C%37uE%49C36UWuJ)*NVNvXXUop+<>j<keS5K zZHL{0w{5%~xZ~Al^$5cyS0tExSxOQ&OybO7it&oPWYu`=yL8|8`Lq6}nIzX3%&o{j zz?97t`9b2<oW+YOwW_C9tz6q8d3J&DN?o?Dtm3P4Wp!tK`8Mmraiw3ig7!``f3ZCb zv0j$*_SoOLy7lYNU;O&{-Cw!#$P#dSe}Yf=yq~u1XRls5{rK&nS#|N^CvQKyc>n17 zbA1BNau!jSQW=h=DdpOH?#T50GG$J)g;nfK6%Y0~=Ne5^W7W@IE>ux7Y6xo2EbDA@ z+WIv2ap`+&TXwd>1j_^dg0HITjZ>y}x@AASH~pr?md3MB`M#P3&ynOX2}tNGF12|3 zqkrW$yIjHb&*wQ-X?|W^5&TMhnbA_ysEs#mZeG0famw<zY^#V*Ru^k6t>@gVnl|VB z*8GJ}8z&##>wCZB*0Yk@)6+7a&ykD#@oV?D%`x{Ez56Y@rmtT5cn|+}d!|ah35rE; zSH|Y-t@(Ua{q)?wGVh(sJJ%~)?pl25NF~=CTjT5*?`>iWEnd8Py}kea`Ln;C&#m}% z_pbKB3m%Uxiz6CajNEN17YHm`vBS_RD|_aql<V2Ew?BKizn||o%e?-+^wvz}wbP4M zuU*d`XPsVY-hCnaQsw5&N6+_#M(o?-y=vnfrstNi<?J;#^}0)+FX#8yXJ7L8F5BPc z)BBab@2G43K4Zo%rj9A?`+gQ*`^d_1E^FPbg{vig$<7dyPI$q4?`p|co7d;BeqO)H zGS9MaxwxNY&dkt{Prn^{Ta&kI*MYt7Uw7ur?mN!&=$_IGzWL^xn=%`ol&2r&o|GOv zeYLFQ8EcNItS6i`=cI?NNi}x<9-cQ(=aIibzWTO5hc7%UJ%4c?&tLWfkIu5r?3LQE zW$(SR_tx?9zl8qzZ>W^bnLN4hYVexPvo5ABK9E<l>R#CP!(Z;qoxk@#gK@0A@z34A ztX_RSKlk^?z}3t8V*WEMuowKYUav0VuiC$Pf4<9`-u?6AckK3pb?mDPU%!+o|Hb<A z`q_VN{GA`>FTOnYnEm28i%+HglYJTIw7&VpxvQUlPWO3PSexGRZ{LsapUy9wFZuHF zv+es9Kj&UsW&OFv{Y7|OtbJX*$9`QKeeX~I8MeN#`Tq5ses9VB?VtD8mz4Z5{x*MA zolTwG`}t9i=Vi&)J^NGmeOKLupVuGR#?8O@Pv0)<d9AeJEN9i`b)h96_Dx^c@pWI! zi-*siD!r^aBayV>*z4PzEW4E#L<H@8b!hFy$PFjLO3q%aDm|8aW{a&#;R=t95q=9U zCp_>-lX84oB5B!^cvd6c+`ze9N9bs{i%i1HvjNvz=1%I?D5$v0WIB_>itog=Xv2#c zht4fyvMOnL^l?q#1jhxhKSvbCyjk`l=UuvFNyT~Jqo<eT8_f;(No+6*?ftRYVDgHX zX<EH6Yc1|1JYL^+z*F_)6RV(?4}Tm>w&hG$joDh29C+o~l@bTJs^p3jr3Q-~uf2G2 zxn|8v>2uTl>LxE<T~l7Q=dXUeSXE`ozvbq4{JKGV$!1Il*K%+A_|vNL{rvm=&%gZK z@k;MZ)57E7jFIOY)Tj9}tjl2Xi#+HQ@i1M};+IE*W0ka7Or_e)lU~MGTK!cv8@e{+ zNMB&cv=Ej&xm;;h>Af4S%?3|Z)HI7Tmr18o#M;%~z4TUY^`z;KOK(_<9OY?yc(U?v zy2aNsp7VN_pIvP?@#get#h?AkKOcL4;#d62>6f)?C9m5$Red^Fb8VNw>yvJh$@lhE ze82H9`_Qw$LB;pd?I&FJEB&>;Z%_EXf~#4*AI-PUzWw>j2kH6Q7Jc>XrH{Q|&D<}y z>bvQ_%2}T(f1jUz*)FZX>e!#co!?$QEj{=wbN=FUZ@xd<Wpb?YO;x&yjL7$0pI_v7 zcfOvdUio>;gUb^G&zy-5X1aFjZiiFBa_vY)<3|S_xiw_++Ozwr@@>?M7t8fspSh3u zbi3IG<7MI6EUEh8mo~S(KJ@;$-SpLIeWiCE_w^;7va0z!_x`fGFaEBJO_NT4IWyPs z@nY-wWtZ6OW-lv#A+!Ct-E;m6+|MU_EUV&KCpY=<Tz#b(=51z9xy{Csi!K+}KH9TC zD!3qf`sI|8kZ1oQU;kOJ{^IQI=TE-g3$MO&=+&8PkzL`IuhS~;t<(2$_tGq_O!uDm zXq#4|Vcy2w>L%;g9(-+?*HiO(PjOC8z0QU7H^-Irx{jMq{<eM9-Zy)V91he>kDt5u zd?o*-I-ai^*Dmhjn)&j4^2$x63uNThpN~8KDt_Lphkx$+Fx*>WessP}`c&J(Z|m}1 zjh{TO*ZLdvJOB9mw{@{K{O>;f?mzkPXZ@F2JHy)+tG>_K{HyRo`sK><kKbS3kN$D~ z%zdYS-q-m1UcHSsdwp^Ce8<n%U&^z+{`vmAy?^`dJ-dJ3Kl8`)i~Qv6>z91mdwlcs z6_4jnwS9Z9{8G*5zv6%1w||g-@%LX>_UHc$Uhh9X|0O;5r{B$=udh#v+kSKY<@}@P zpUCgO{AAZ}{i%<t>|R@b+q0)UhO6Gr?(ob147#7{K7Wt5`SH$oukn-m@b%aCZ2$H9 z>|9$hkJ9Yxdi)dnmz})d@K^fx^u`A=|N2k#E(qJ5ReE&Kg=4bLW$~JOVoMb-AN(xw z$cnM^vbnkM#pUx~crHEjOXF19;o^DcLSxyttV$8RFr%c`?2t&4*MVf$9bvEUy?k=s zV#2v8dtUNvx$$!UY{j-&T3Q>wJW#(>yj+s+_Hxs+$3xnKXZUqaiau%cnbTxSykF^= zht5ggo_%<7%j8N4U)F|{FH`4foMk@pIa_TRdu+5{?x7yGk86t_B)2;IIj%QwkX24R zZtx{3^xU`Q*|HTm(!4W_1DRD!9~)jWIXHWl)>m2Olv(LkYKs@^IxpQUtGsc&@5N@u z;2T}v81CEc-76li@oUGIs&o6pZRefS|B`I&83wwKuHoF`v-_N%RsG>V@y%-e!qZiA zlFxqLZ*RNPbdT`NQ#)3L&2<oZKEw0uGOePyOkNIQNd}#sOVf%ar?v33&AFu>v37!M z@focsFX8kI)42+)4LMhq*qppN?cC($>hlxy_zwATp1i)QdC97fJ@JuW#NNcT?W?OU z_S*61cJMxtin?`gb|rPXy*?v5OJs+H@N=<0?_aH7_q5jk+$)#oesf9#Pp|$E8}~WZ z-`=0~>O<4JUElU>e=>W&`}DZY5BIMADzEWu`Ga-)*4Bwv7u4!su!-|me>mOVa^Ajc z#jCBqp6PegZ^`|2va<B&yVT$pd$pgxt6pVenm*xr*w4q7#<y3SUNKPDiYoffb=T}l zm-+6Ur*~ezRBN8Gx=+3G^S!>h>`R|LpQs8rtc?}PF*lpDX|u)4tEU<!rrh&Bx7_OG z$8+1~zW6hBS<MeCb5r*4Zc)qMjf<ujUFqBSZTB62cVow$X?N7h7oV?++3?fvpOy6a z+LA|A+Opcq=TE#GxVPlln_1`guC&do*?wBq_~p-etIZEre?RlJ$2L{v%?XZke#bj6 zeoiR6nvr@bZC|b6<{M8nUe0S1FFm%*tzmBI^T3^_PF=OyYgF^%rO&R&G`j<9Ub?+H zcklJtd9mkvU!E)XiT6!O`{$DP^K{z1rpQIHe393mUw$oby+ixtZ_A2*cP!83?W$y4 z$6w~@6m2o1-e=e2&n_1f&eYuB{CWQE>iyR5<t1NQZk6sW2{jE1GfL}7@P0DyK=PZo zw27Y{9DWiTZ)7|1>x}9%Rf}Dge181-erMUsAJ<=g|LuO_{`Ru@7wqMypWD0n2mibL zvw6E_?_X3`^6&DGtv~eN><t$`W?T5$!oUCh{tNaeO8%(+I=5fz>*>d})2Hn{Zhp@C z<KM%d?ys`T{+auIzWuD<>C-D?lfUq@KbXIAcFp;X1?z9yi?@Hy{t{bdb4RP}$MaYF zN}unvSN|JcZ+w6CH~y!}pN`*M&pM;4TJ7IPp>;|7crPzMo@Y1z<Y#@C+OAZa*H7+E zJG=gJUHCm-wwRnZDa;H8e)(eWpWfSEe(qgSHJ{AIOIx(oE-<{Uv|Ltgx&FkpMz_@- zWjH*)z)+HI7VaX?{nEb5c&ROiNGA8Ggn2DrWDQ#{=oR$M;!#rFKGVp`dc|F>#yOu) zY}_tWyr|ekR;O5bx!Z!(@~)RIFQ2QhBlFn7l0wbpylt0dWO^g#I(L+vbKH5hMeNS! z>Zi**Se{?@cUvlQ-YiyUsmn8&m+NP*GLJk{R<JH-xzCGPt}LoP#_B%XydBQI+~6nU z)b(;^)MuA_J1;hGydk9KJ8_n~=Oy7dQI^Xaqn^IAW;@vID!ugTv)g^W+va@Ev1Q9o z+Pv1m{Dt|Hmvi;*>{Yh)-+%V<_YeCvt`FXl{nh8{6sM1~TPx4&NAG>nX#KhV{I7r6 zPk+hodHS-dNM3&N^NDpz>!+{%)^2d-`HUyQrW)SM5<Q}Yk`0$z1*G#FDQYc|V9lOd zynI1$%i?3w8!um8(WQCbFzO}y7LiBV*7Jk-PqMO2Pi{y&esX!;!tOmeo73$%FI2q$ zUb^*&HM3uuJa3`S@v~K2_g%Xdd!An|@=W^a;q7N#<aMuKdbUg2Hh8)5{q$AWr=`ow zyB?oY^5gaL_Un6I)?}Ba?Xvk<%iK_P|9I$kaZ|bYsv@)h47R&VitDyzxSy-`Kk%tL z{YAmoKfAtFz879?vge!eweRIx^Yz(&KG-41^E~gX<>hC;j@zg7sV2WJ<+-f6Qs;fw zYxVnvW%FE%pT;Ha%gX0l&Q+W&rm->Ex9QTt%|-zhIn(1$&uj0?{``2si;U-0tnX*@ zZYb^j7*O-ht}ou_)#p{qr1+*r%uZi(c=u}Ab;)PX_fB~8!MvZl=PsZAx;^Wcl_s0+ z{9S9iw{qR-*T*ZL&lR5YZ%=Ww*|WO!nWt;6Z?3UlJ>Pm;yhA2y^TCVHXaAgj-g{N@ za=qhRU+!!_{%vlp@#NIkerC_(>MbtLTvvMI@TyrQl|TQkzT{h3w`R*t*0P)fr`Mie zAKh2^ZuMKq8M||y&*iL~xBJjFn-}ikvF~hm-OGOa@#VMmyfxeRRh&=P5tsaBC49W* z`Ghx5zg<mPwCp?Uf_ne;CewR<u9&ta<#^-w^yl|i@A$KRd(H8iHt*Il%vDou)b^Uf zT=RFoZI$+y^Wv?2_2RvnwfE!w4=-G5UGR3{iIQhJHJ|6!DgUaqyZq=&6~9ki%TL33 zpAS_&{}}#K`>Abtirv<ywb$giwpUL#FRa;r?f3f=FRwnl{K@^LOyThh7S~;m|I+-_ z__W^g-{+Td?AQ0?PpG~Z_W7x3@ALf&YaUNOVC$c+ukDxf`LFQv{c9?-Ke*p3wM@Ub zbC;aYt8;(Wr~aM4OQzZ~&RGBK`}mWkHMeSCpZZaL_4!wR>#%*sFKU%f{k?l|+br!x z`BgR_cwC!`&6hJTp1%9DeeoCZ6XzygX1nuCn}w|}`gPduBOE-LQ%p~OzC1(A%G!L^ z{`1B03#!fsC+Zx(pzL9BLg16cu|)=_UmSZm<NDbZcBuz#=iFUuayB^SS>}ox79JCp z+_7IQCpNEXr>pl;bq2-~uA*b7YgX-i&*ak>aW>{`@wuh_;WEY-4m@8LoAvT6+h?1p zdX2~0gQYDmUA=HQ-?vSsU-C^_T$+^MjOM_!l`=cu%3k3)b;n@w#I@62oZy+f_vNn1 z42t`rR1Q15OOyWaQ|sor!^=MOs!co|a=&*&!Q)k#9LIgx{pLFN^zX1JDPIw<TU&my z>d$Pu<#S^VXWHuhc<*j~A=@si=5}$+{@J(1CvVzut<L()(;Z4*o>q2zsR;eB?RNC? z?r^&}>9rqsh1IZrK9h6Z<Z;P8?!x63LMzi{Cf__z>>_3{&C6-2NJW=gob=+8r>{jX zZ0mZlBrTzR!PacX2c^4WH!qj@`qbd!1+93q%9>rTZ)9ISv&8NE$yL>{@(#yk9?9-4 z*!tq>{Md*JuJH1Ud(KGRVcYX$b9RkyYF+BpvI_2(kN7XldH$x*Zc?1x=1W(Sj;ohn z-F!Cf&+P2I&-;yQcgUT3UsyXY-Z*@-u=vN^^Ov)J9(~_>{n+yLrZvX5<{ehIo_@x! zKKtgm+CN{;?b9<#mfUx0`;0fIgqsfCIlped^@^BlvrcapF0S=ob@pQLtyQ1z#^vuR zs&ePv^4TiQZqhP`33Ctb^z1mUIKh-x?3Irm?@1MtyC=W+%YLzW7g89O?qt69@N~7^ z^R#R3)P0WLYjNevDyA7LPMuqm=f!z)kK4wQIIEb?et9$R?vYx0`Jqwe7mM@kyQjXm z7w%q^ty}7Sepju)tIuWW6<25IZj*d@e!1VgMRD%8KExeYUvB+sW9sDQcw_a&X6Am8 zZz~^E{z|^iy{!1Ju<6CtdH1XfD~b>MnE34y`c*z}U;S+hu{_II<(0`+lZ4sLog9jE z=FOGg=<erKd2V`>-}RNx=S`o!+Mnym)TuX~My#K&yvE$z?BV6v7th|;v%9iKd5Kox zly$rRs`k~&EX#Nvu6F82^XwDl&wrkNv9JEk%Wv^>{&Ii5UA-yf%c^p*b(1#Fe80Tu z`qO&fSC8lWbpB4UeOH_@x%cD^TQ$jv2h-Clx6iGN+<#)<x&5vm^DqCMyT`ot!>r%$ z4}AXf{C@oT_gnj(UygB)Z+cemR9X4+<-PB@KaStse{ufY`)B{{`fxY0Y_Hn;mvu4w z3;*T*bbo1Y^*8;C|L6DT|7|U<bNrspmmF^WSN!??#$N`huT)PSm)>rFJKk(_>OZdE zGw(clbMD`yPtQ+1{p@ak{mozR$VcCod8|KM`~CCUlAL{WAK#z&H!kXY=(#`qi|oUG ztbQ}Y^Zl>8&&+2_o;BsYX7=a(*1vY~)9fa{kGGs0yQgYj(qR*c$EWk&W$m_VF?zt) zup(<(<)ye2FDv)6+}j^G_w{?}J*OAEsA%G2*wmoOpVT0GA#WC|@C<{Sa!fb3q)srN zk||}ASY+_A>c+gJoy!v}11ET1U7Xnxr>`7r`P|DzBKgdk+txjIcs9;@x<yOFF>Pn& zq=bT+Ei1F0zI(U((rmv&(oDkYryBSd2kbCrV|j0yXEIknb<X0wYi=B~xN22A>uQ$c zl9$CLJWMI>UOm%JWf;uvca^>!r@X0(Q%z=JbCa#$+rERRmc^E~2k&_P%GbPM-tjzH z|8TzVmp;GvdhoW{xvtZDV}uX=yr=znj;+>*Zy$fY{9N_md0bA&9?o;q&COd=k8_)R zGb>!D_TJv@+2?a#3(uH(hz74|7jb-UdG6O-mgNeMn@Tm;+SM%=SZr$GJ@w*C)y4kT zg6Cf1Y*NTvAMy3UFN;}mb~6q4&ge)FpBTQn^ZDb4lJTy~FKkE`R(~e@{O$8OcG3DF z<-G3RQ7gM+jIVk<J!d}0r{>D{n0xta{`eO^|6XJFuH^l-%KLXJ&sVAVPpC={xBMz} zs^-s^-k;}}$kqNhzv|y<^RITbH7&c>-l*DhUif_7RsE?)|D0d_q<Wrz#Mk{+FN-d= z%*rot%PYOJC+W<&%-0rHhTmB4mAsvN;YXR}t4~{=y}WtV_j>P}ldqCq&P!hN$t++_ z^qf0ArQLgz9nCs-bRV6;()Fx2a{AoaCNDlq9r9bYd-A=C&nj*a_j8~29oKrQJay~M z=f_n&Uj@dNo9(>2F{F8myWPecwdqPLtIx;m+GFK*xSTzI-sgNK%QTO?q!)YdO}9RH zdG6!IXT#3cwPmU=dAjGvIq_r-v#)dJ*hfFV?|Am5-pYUpZJ%?W&*iHvJ)>`Y`|~;3 z(&H!C=daZJe7o`5^JCL}@8ulad4Bog=hxk=E}lRB?Tm;`bzEWl;`84m9{!R1dhkV_ z-rGs<KVNgJ{5P}tVwB;XM_=UXeyo~(Y-`c$*OhtJ75d@xP19ChOO!QkzHC|7$0OKs zN8fPw@>~BIoWtjoZBMP{ta|6hb3G`kqWGEf=kGUPeg-XSJ$8R{VczTBoqEAmCE@Pp zrGGwN`{PY@RxNk;mwNH2&U;B5p!+*4JDL~vc0PTd-#X9U{LP>8D<AitouBzJ_x$XS z)wAyLJ)g5(O7>q(-T5c$MR)#{|0(^$_}i>_?TQ;e-!I#fYgO^<yZL+m^ZPk!%P;Km z|5E+n{<HXn`#D$sxp?0)^n97!$7e4;<n^cPr_cWEma+WRe7>`FTE8PNecm_!>HVv7 zj6aG#UpV*g(%tXP?Ksx&Hve27`{(%O`HLR?W}jYf_&0BU^n;(rms`zA{vLit`Ffo8 z^}0{Rmx|KoK70AQ->RMK`?>AwFYT+mweS7oIc>qNTEXG1X8Oz579H*hdnX*TQY*T0 zS8>#~oqqGB-+cX7zTwHygcrNKY%+Uz!*nh^yKLdY7&$d<(<!#Ti3=9%U0|5C^x3rL zI?G#UecKMo97s2lYA}>`7x(mKu-rT|Ejd-M<GGfQz(?iYtgB})86Vnk%Wg)m>Zv8~ z5}z%2*0*9;@ZqrI7Al1eml*!#s+Q!a@JpVx`R*I_vSnd=NW9_f<2(#=j%5b%WL*`! za`v{?+Tw^z(+1<&l9#QNt}HEm`ci#<!abD(FZmAMx1ChWv*pT@=-|H3oz<(?l)b%j zebL)zU-tFu2fzGy_Hfy~j4w~4&;8kVqb7F4r+wz~Zhh5f+--B7JP-R+dhGOPnctsx z9*cT;$gOwZ#^#u;%FklkubU>S#TK1Q+;!(gLElcb;7w(MQct71m}mEFdRmfseg3OY z6TZaC>Zr0D?|rc^%XnV-!sAP>TYQ=+w`J>blaiVf-{+is7~lOX{IyhdZK{9c$zPQx zSN?hUMSfXbspJ8xEf2FVOPpP_^~AFm(`vG3iw7&upZ(&``Ipvm)3^Iqp8b}m8*{Vp z!{yLo+3Ut<ul<g!l&YD(tfFq~`s{n!`c}X4!i}nGlZ#*N^ZKci9<;sL^yjnBb9bM- zQyS)$dF<wy^oSFI_e-B@bI*%Dwdd${?UhSjR20dS^-VJ^xf?6<yD;~}>m644#x;+9 zX3m_@!h6B+fB~yzzXO+m=3)uU$mhXU$uqv}U3SQ{s9N9T)#qLJ(ic5UwyC^6cfQ@V z%Dc?3KL5RQ?wtB^<1n$(i!qxoR@sy+_cxxMo@UH)=l0SQp05g?suz?TmC%V^cj4VU z-Py^C^VXY|Ue=pq8Fg~zzAxuJ^ZXa>k>6HXt9nvdhT}5JvsX{P8tzt|AAV@V#T)OB z{Csz*>||-T&UV}O-qZKyRuolz3B2CUc>ZQVzvatwOOAQXnY*QABfHU^KY7<CZ+*J& zyWO65d-gnccly5l_{NW0^VH2>{AV!RD{eR6>@8#A<G(l7t=;tE<2w1wXJ32v?quVU znR-n%`^CSW%01^^uG@QX+N+~-#_K-p?w-B#@$>CxFF%Qo{494D)PVopQ}$Tw`QhDv zHeat<mj7zS{Cev{)1RNa`GvE#%luklwghL3%=4?qqoX!fU!L1Pef7iG*I&XLU)#+7 z>HONx@V33<r@F4k_VcUKAMej&*W6mV=jvC^^)KpA)M&qUfBc`JVu!7}^`D=woj3YB zJ}=(*m+R-oFYi_VCI8|-F8BO;P0T*#*VkX0lw3V+*U0NAR~4V|cpvlbr}G_O{+ao$ zPx_5z`t#`X7yf8}RkM@a{&n5VXHS1FU-BpV;{38t$NjQD+h2V9&ENX*yy>sb&y`<P zGyAD+=x6yw-)-iH^*;9f<yHJiaA(8IrPcf8eu=-{8NU9LiR6Lhc5w|?*Qw<leUo{P zanj8reG?CFJaevO-qz2SOUr7VPe-nuaQy0Zt|kW7i<ctwN;n#$UaXAtWy!E*3sSeq zG_go@mbSbru3o|_rgHJ@j);%00t;D$mn1tbJuh+D*Wl95^9#LOX7;Lc*yVK;ubX`< z)ZkLzgrdux%+D+{gSPE5JE5TL;M{ZUT;YNXXAb=;@mz9~=SQ?#^vi_}kqa;0IjL~i zbAe?<$qjK^H9ev5wceMm&t~g;b|crS?Wmzc&b(^XTh_&w8P6^3Sb5^?*SfyBRwco2 z_0PW-ynG|~S?;=ezuD!}^I!bjb6nmnGGfKc-Ih<E)`XU2RmVP0KmYQf&E10B(rr~I zKGxN{pELUzIiq};NJ3n3<$>uUrIw-R+mg*LS47*aty%Z_WxF=p+{qT2hp%%TVKUjQ z__)t@$KSbGN$q=@ii8foFr3T%EO5ckCHp4(++x_maB0q;sb-U9cC0^SoBd1m?C!Wo zyQJqY3;z7PRrlU^U)33v&m!;MEnd9-OvBAHZJUqJ7qa*$nQis2{Mf(Cujbr!t*EGd zJh!qhr@iyUCz0p3CuqlNSFAec`sntxv#;JQpP$$EzFa=}Q&{%Pf)5d&|LXToZk?ey zVcYKFu-xZ5H^Zl2-W?pEYx$acS$G`h+Ep(vUR%4o?An)fiyu#}NteVeUXrj~ZD*Rt zrb#*ir*sww<}6G)`bCL(*0xnyo}ISB(KC)sD*13f_wmb@Hs_t6KR<V8#l7Qp)=4|p zRo$tW*Zbi6x%|bJbB*}3dw$RSZuZz^>dw_>sVSGXo?nw9GuM!H=B9}3g3y$;WxFJ& z&gcr0?D?B@b6a+~S=p1b*XOO7YJ2Ly+w(_%J)eBb)J<$tu|U)93y=4mli2j>$jkP1 zpRSo@&a3mjb@t}D?Tfltf7#2W&i7Ye^Jwpvn(r4r@7(<K_35S?@3fcsreE_ioRfBQ zwREqH>0k5iQvTA@>$S2?_SR23-BxCEKK9hyouBy^JgnNxA9J78^0U>`oQJPFd1g%t z70iEeee&Vi7jOHAoyZO@PTYBY>gD+p+E0F~G0%FM_w(nzckWk;ZI2v3w7B-j^_Rj6 zrJEAB#tVI!ub=<y{@TZjcWhADHR<FfiMubC%LG3;H=pf`-P_OejEbMho&C1sm(Jdt zJtChUf3C~@wue7&*2XvfH|JZvvkCnn{AK6UD)-m<6aKirUbUHf`HJbU<>z0%d-h+* z%lW!*&tLGjpAmU`#;0HHRR+bj&vhSqd_DNpX8+<^`Pp{!57)S*yHBf{d4G@d`#-<` zv|qGi`uRs_Ue?aK6`%LjUS590*0yf;!Siqark=0d9A)7@_3QKNmV50i`sU4vT~@s1 z=hxD&KbODw`d9a}VyL&#>_$^*M&Vs|_T0Iqbbi@od$SXZpGV9-{l(7l{_+?7Y$+=b z_RP)Bo20SW)bzrKlLyW$Ic&N<c&={LC1#O{bESl)Y|u;Q@i??|hW=vXg;LB?#XF~E zN+emO^0M4xY&>7cCb4qE!I;mVWg0HFXZy8WXXd$h)-mA9SEZSJ{e~|MCIu~c*DQ59 zD&?l7=5sTX8wN*~eOY#L*-C+r$!u-X3r{^=Q>Zbs<V2dul*KJa{Ql)Na6R)aQ%&3K zx#Ut&yH$DLjnv0AR_zXjFZ!05ypFuIl5?J_=++x6znkyt-aoy5aew*U=P#?0Cm)*M zxn<8f@p(Jz@;*0<SXf?udN1DVZf(J|O0UEo*4OiDs$ZTpn3iJc$n(<1t#X>q8Qt@d zmzE!{)!*RcJhM;L=Bu^al3SI_1%AG5%AOp2^PSIe&$-)OkDK&vbN1xC_=w+e)dlZW zGD2)KidWC)c|Ozs#D34;?$1i{_U!dGtNHG}@7cGDO6%pGzc62ZZsqlL^ZI?J_noV| zB*!fmo&5Q3y796%dp?zvo8Ppn{ycxjyY-pYuU=l9K4<Murz)P$4e$0nKbyC5`lLT% zU(&3KYp*S~s%`Er+4HaT=c+G@S?|j1<>gK<+d0?r!>ee${|tOR=cY$=-MM9(dudnU z;^o(?u06k=r(b(`=Zt5ikNeY>yjqqmRCK4)qeZK*bi;yHpQ+vjZ|~fmY3$gUX_~vB zjpf+M%Tum>uJwNM?Kk_0{qufrdw%Ln&eNkiLf_jjp89HCxS!0vJB6>)(*3k2?&y7f z`&rn^onP<ev)$aXXYtzO1x43&H#2T++io|v`H<;ysio&PJnRtNQOCGr(XKncexKLR zw|~tZ-tw)oQtahx$MermPrn?x_}OchuW4UXUp}1g_WAv!m)&PiD!e^Y6}Nkx-$ctx zpEswMyw?0;xqril{WE?gKa2gd_T|pa)1;JLgbm&;<~qD_agg(lyNlvBFMRg?-Je+7 z^V*+eDs|`jg?_QT-~ZS4W8A*-nD>@X?!?#Hq%61d(`NS-IiLSxe*0PDqVHL+US7B& zx$bOEo8+CJbG4t9?&p3R7xTt&<zLgIU-E4|ON4iJ&HXI<`eA+QFX0F8-mUjJYju_R z<V>5NFME!<7U|8ay!^R*<ClDmg`Zy*EB>;0<^1$qecXrrdVkpu)s~<B^4jWp^6IbW zpRInf@AxshZME%>_Nl*o{<gxPyrMqr7f<=mdz$NYBX4!SESb-lGb3K|d%8Kh^|yTK zXKOBAu8?bIzq(f^T;|oMDn9FLbN<fmD=q)@bN;ONHgTU`D1Qmpc=XGv^6tyWckLb? zee)~)X@A<kmY>FtYCr$_&v5F)l`rdNec7e2eAejey_fsv)gAZ0e4kJ3P-I)WMh4Rd z=En;jUOS&Md*`;orM|`G%MaCczq2cMo^xAK>r<CviLF$|o(YpPtaSASwt7zEJ~x-I zC2eK5=Z3N;pC@HFB$({7+a+(nW>Lm05YuubQ^MJj*YtcqkX)0FPjMOZ%tNKmGjE%E zB|9eX>~_yszN*)40^7kEjxz#hyqYW4(w6TOf39+|yFgX{Qj3gt2{MvN2YD|wOg*{S z%H+hEW0@sxx%tQD<-VMAk~8|*%wENt3bL2OO|2|m_F1(%L>!J>zQ|$YitiEE`))3u zY#w&|`RzSl?9S`iU4OOLuDq(^{mnYX{;7YSKdRny^q1+f&$i){*Pp*zlVZ6bIPv+y zXTh=Bew&-m&OIZ2ZsWTGK8FWA=j!t1ZQsbfk5`_ovP&{8<*Dbqh>x|$55CN|==>C0 z{9@rQA;ohUDhHNT&Ero!T5h^~X5(jtV^WqmC)cH3KR@;3e&;VKTR#_ltKqheJASj~ z!1JDGAJ>%TC*78{a9%#W_0;!yIe!XY_nXf={bloYyZ!FxeJ^~va`)_)o?2mf+3V4Z zPssF|N$4AgJy~RK_H4WK#;&<CuP+?#y|aGp?8~d3Kl?f7-i{Ub!Yv<v4fnlvCbZ*) z=j}&j(I!>TuV!42F28ttX7RzjC$C%14O*`{;h9&op@Q+;7pudLcJpMcOq-+DQBl^Z z|LDu++MNBug$Lg=mQCysyC{)ckQ^EFrGHsX-n{$IOCEo_cweo!-0HSXMQ!@r+s<qC zc6|QzsVwg&+XDx~6KmGoTcdm2^qJn@f;f$Jy%uq^do8(VoDHqKoX0=6ty@)x@64Us z8+gl%UwoQx_44(Nr?+o?zR&vR`LkNP+T&vLgXjKC?w|K|QO2|vC7bKcA6`G{u}pN) z%S+R<CofYjKT&$FHf_(n>+@^P`>xv7<nO)mBHt~l(CX)>_d30Y882%la2b1SeYISq zC}-L0<5g8v@8y@5&$?xP{`}2K{rP$Ei*5XOo_npmFQfQiWcR-9-fGMOd7EB_{hRvp z&pY8>*;`wu1iZ|CWH{;YwSCd0AI|mZ+LUd%{bEk>7xw<zb+#IplPbQ(&#-s-tNZis zm%sU{pI$r8Tz+`ou~{D*b&Z~<{b|ns%)aq!9$(uYb+vi^m(x$}xUaY4@8`*%mM^x+ zU%mXeb>f#7tE<-ZU)ZPq^nUiWn&&h3e4A(cDQ?e`Ut3Bni_JY>{`vm=*Uuk&we>#V z)!$c8WAr-QeBY-%w`z~wKUrH5Ypfo5^Vt6In(gPREsg#*K6&}G{LT9-f5boL&9ULO z4fVhLto&DYxb2Va-hX?ay#BPeuKfGHj}IR|s-3&<=fm@+d5+(2y?nzmXZQ2wDL?jI zJD>Mg|1h(3=w-HT4|kk1*s{t{`^3%Z+ZQi0mbsJoY+tQiYU#UQ*B2bv`N&jsFGqr6 zw8h50GQpk;l8K*JtxOfu)}1}&aO$?yn`<O=HPSY{S++aVD5PhhW4qcck2EHKj>|!! zmMzPJif1`Ld&$Vz^H;K2Dr@42Hg=^&u2uqSO=npfEEL-k9#mYjo_TD+!w3()PX2{z zpFL9r5_uOtTBfitGwsXeCbL=0(|)Gu&sy-uB&aireYQJyW8$kfD|*`wFYKMBIOA3F zh1Wi-Wto>GE=*qFU3G7d-Sk%<tM)HGx^G>Tt#RR0$EWcYKkV+ipEpZB^wZW}`@EZY zUYd%f?3^1SJf%i5S&5dLj@$fflj~XTvw-JFu}sbU&2MHr$bJ&?Wm#9U%{p79i23IE zeN}S*+<PXTKNo#x&b4o^F84*xeC}PGx*_{a$@6<wTzBLRH69*un<i$HaQRuq$9=25 z&nvsP^<zi+z54LSmuG&NpZ9Ukv(G=*Tm9U>s#?}~`_V6&_lxzXJbr4rU-MkO`|I<M zZHuShSgY>kKlReb7f)ZQRg@fCu$=3X+ww=-#V>n#?m1a`X7BCgvU1@se|~vZeB{}; zvY%(!zV0}CKKJ(w<M_Zc#m`F?uDw5dweeDxxAI}T_bqq$Qn{*9?&ACcmrDU%QrEc7 zgniyNk^642@Qecr^U{Kn%kuVxUhlnrsCrL^Kj)jL2fpT2MaZg1rLbH$W_ByM{pd@J zk}r1@|JhZUZCbjg=j>Uxbe8g$enCIxiY_a>nms*YZN~H6A15zMyRLt+V`b@rKZy$` zuqgYTzN+gtz3IY}q%||HpE?w&xm@aV$!XpV)?YMEKRvthyXAhXmvd)UM)&1DGF%tS zS@QJl&iGj`n~#@1tKKJlaHDhk?sKnarM~zaeegv^{=6^gbKaL<c3&;J^ZI!;;W?MP zn8jB;_uq4Q&4&BMQ;uCYcBkyqU-kLx-pT%TmwNMa$>)k{iNE2;UfQhp`J8>8&rI<4 z?7S&!Q;uaRXes=g@%h=K)9Wf;q)hA7pK<gwzt>N3uRnixZu)-B_<7yh&)aVAep|V> zockC1+;1JvUs}9Bv2XJ3OaB%=PV-w*l3tbe*zno8?|d^7e?C{9dFh|_-LL=nG|$<F zv)|=Ecj5icZ|TcV)CL~7{p0(RF1^0P>z5nOjSIZ~=<;!kzv=rGZ+*7?6_+XTd6w?g z6AyELNp863^>pXcyAQt1nOT)T<?Woj$@|kUey-J?_UGmP?9cla9^U?Be%ZgtAHtu@ z$MdzN%RPTB7x~5J^>e$oC-41x`}F0<vz7J1*M4l?82#d>&3}gUH(Xjb`_5j|I%F3b z`DRtA_N15ZD!YUk#H^z3%qg_lcInMrD`SbAIa;pPP1*OJeYlllmBznpZ9*nXle^_X z#cp|(U7lXE*PMxt&^0KOTH0oQY_@TG>W0}%;#4L@y3J+d3FMM&YV2B>>*F@#%$vOD z1}8(WJhM$d9`KTP64R0iC)IXlE!*g8df+st8nf7Lp1Yc=EE-BliIaktUG_L6#V8Pw z$iPwHXF8kd>U}pB`x#6VPFG%d7OC)hEf=%m)n|nl+wLS?n_8N;`_C;0YoXUC4<*iD zZMJ1zf9$!O#amy!pZGkk$707T{`c~pUw`cV&v5TU*7s*|)`y;6K2>2`um3Y{zwP67 zc_lBy3@<OfRNZ;}*~@1OAMdh!WW{nS+2Fj1_teCTv-mjA8qD}r+&;xNuRGp!=C|Wr z*H2n~`8Dm?w}gB360fe_p1=Ok&Ye5Hh!sA2UaK45W6M16;PHm#tFF&mSF3#G;c=<h z(28T$#@Cqp8ESSfUdZ3{JL}KoGw<tdXZ)2tzx;^R{zV`D{66@_+`cQeB>3I-dG&^W z^`F&zerg+Y>fFCg_w^@L$yQa)Rcqe!qwR05UZlqCl&hk;xoL)xyDsjW9Aka1IR4VN z&C5;uWYbD_d^^7B&)UsPkFK6uvgyja`Y@?w+f#R4djBr5*WD-I-F(^Ss&u8Vp*3rt zPMsPevhBc)S8>^qMnT8&E<`Lg*5YkWnmhaA)2PK&_iFE+x4Kv9niqXu@{8rqeP7mH zQhC`ewwpIhc-}O@n(u3$J-+|6`bXY6$*$#UTb}JW^F(yzI`4JKe#d2Be$tNVn^C!I z;T6j*pW^16O?=JE&2g>SY+{FbFkjHO`JJmzq$NJkUh=s6Oy;^$s|4BAaryh(8(z=I zHqJ0SzT#wMyL9TUX)E)mFKDaHoHj4=>96=O^BD2-wfeeTh5FKd`T^N<UnX9Q*5^Lv z^K2)d-s*+@!Ke0?&pf@o@qNTQ_a#Y<o8zory)Ud<C%fUScHZpk&m(r7pZC^cJ-f}% z^5RRS&vUmn^4yAKP5#yJEUI!^gv_VQJ(V&ECSTJ}f8M&!EBTAQ?ZeQT^c&BzU)J2` zva7#&|MqYH?xi8W|4F|xuC&|n*Ya`lx|pq17e34HRXcuu<BQ7sC(lgzu(4iq^_Pvu zugx?0Wj^x-e_QaIdv*0{uYP=Ac|JaU-R~9m=aii{^s9Hwj*--z6I)mFpTWcJ&+WN2 z{~50C(d$VozFKsC(a*<^<ksC<Ro(jO9OJ!59CACPj$gCt{JQ6k?EOGnd$&sY`PJW- z)t-L#{%QZ(!#6$^ezQ%nw6OPm@^;_$<Cho9*tx&?Qnsh^m;I?f{~6w#zfimQO9|hK zq8Wv|?)~jIUTtN$U-?(8-N(-#Drc+6JP!DH@qF}B@%5Iq9JeI9Vm|L~p2fT7&?!|} z?;w$d>MntPc~^T+v2-s=EAd%*Q7?bhi*BE#y$Z{H_S}nkdpXxsB=z8l4`s*udd(z% zPD*3B!13Ve#`FDdJMSBBikWmNYqqXeQ*g(XRU+9YUC$g2JI!0mHlZw0&q>%yaE0eG zcO^MV7daKf%a@iin2F^{q$xCsiJMIhTXjAp=;3<lB`=knH8RW?{bqH>8PC4`@Wzb{ zGdAvp{Lk)`W?ncR7u9>~u*z)JGp5p3X0rPJHZ$X$Kks!lzT9wrNwrOU$Y1{Rk1BrU zyqzijNx%E;=ebp1Y^<lBu9LH_^qcy8#j-cn!84hzn+W$kQwwHr+OoI!T;Zv8Wr9Zx z-u$_D*ZUl=QCtOo^{pS-N7Z9(wjIA&Zeelt?Bdw&`DSaDv&NeIE}oHQ{rto#yZ*~I zTlOwICRO>TH1p-hej$1B?Nhh!x3`Y&-TAR@^XuF%_44lDYm3ibK9p8kR<l)^ckaKy zFEi_Gmv3G3^WAyjB_DI&?JE8_S4K+jdQX*>)l6rF!-iK59m!}kmAO@@ZTxcjuDd*u zw|cJ5w%irDWv$IF;|b==bh8&c-faEFx8!B};>ULlZQbtGo;O=svT1wKIi~eXqh(H9 zc)2U)l!>v1l}wu>d+O$Sd9yE{Hv6=$U&|$R`%2N({R%J6UbdOPdH(b-Ucaw4U*Hv8 zGi63u@dd%z^XG4TUb1ZNsV(Q)T4(KWH84@DJ}do<<F3(t>xPq;t>)a-xORK$)q}66 z-VU6&u<Neij3;?ZbxksEar;T+$<Dc^)|odieD$1#dv%KZJ#)(U9(!hU-se=6<~`r^ z`PZbM&pY3~@>!UzxX$;O?}xr5EIViQ^7`W&Mfd8a&OW_(<$;$otMc+TPtR84I^1(3 zDpcrf$z8j%PqIIifBHQy`ttGq%GKLG?6UmHXu0J}>AvenV_wbUck8R&`dYWdZPTkc zPER8j-eh~=`kJ9fS?i|sFZTP#@14H)`F!c@t35I9_H5eo{w%-o^q2ml+xu5oq+i^T zcCxPS>-%T-L;mgiao+u-_JjG0YUE#*Tz|a&f}HmwnfkD=uk4e5CNDlc>%rtu>)NXH z6F(iFzxv~NX!h^*a`Rc9eX99Ucjn2T^1E*<ceWp|D*CN&`=fuup2~fHZPn+?Uat?V z+5Xgi)5p6P$^_58+-Y*;cf9r9^UKdvKcD~QxykjJ*B%_aUdylZY3{bQ73Dg=-KW>( zoVoJ3EY>|+eQm%0^X(=3H~suom;EI_Evj(xdYKQ;j8|H0`yM_0=Kd9S;r=bZlAqdj zf0;AC`eXVj+rVG_tKaSkTD5KCoZPk3wV#~t*M9ZJ`+H2Kved_R-itx3JPxdWjmJvf zKG`ktY!_RQm0quv)Z(eTqT*&xjoz8Sl=IyB(z`aT#G~Ry#lFRY3Ox%i8_vDZKfk!F ze_=qzrX%cZNn5u|u8=y-VBT$961jPHoZ)fv-r`HA-4v>L<kHwo5*N*R?lj#Y!{$Op zEnnEWRJE4YwP6-7CT(Py&DiXCY~!woiW{843(d@2q$D>~JW%D-Rk?WM__hZYoN7_m zFHC#b)}W!~wCBs_(=QYb?$nZ6k!e0#@s7aDWzrg-7v<<hsXSg#>K~M{?83%XbJOjf zx>s`89J`;s-rn`)!>4~_e@0(_Zu7gc?ctf%rxzqdsXl&REc32U@sil{cA3lKZpm!N z#Urc|*n88`Z4`n}W-s(N<?pGMo9x~{W%E+w?{$?=3lAQ@_V(0vrsZc>KYf0A_WSMT zPG?Vib{G46Ci~@$6BWYSsvjS^{VL$|%Fh8mZLgo&`ij5#SDgRV^CHJLKCH9cw{)*W zf8zN%r}JAvKljV;ygldh&6!q~<}#<VkLk8<o_%r0Ngt_`=~*+Dec@&5ahuqf&~VMr zv`f_6sAR=no-dL+3nJcmP7FQ2@Z4sr*j+zvUoM>Wb$wjiJ@@sdrFJWMyhRwD78=x= z9oxFfZt~)J3^Pwl&t4>z^!3x-&+g}?&(E8g|NQ>Unaj;fE`2x7u}YtLucm$Vbo&*x zA`45svtJiCn2MZr<b3}8`tuUQ<-MJ=i~T~M<)pRTOW2xk`t1FqGGp&l6YtrT?F(%^ zU$4IL;+VB?`TVlQbHYx2i;%c;J9<N2-m!wxbH`5JTdw=$_06KhHD5*R^4EQMZ}xcK z{rP#dkLUiGzohb3Vg9UNGf%!uu=sLkvs?c3mwPKO-ufP=Zd}Z3IgLSg-u9UntddyM z!jeB%{yN#WTP=P2$LqoK<IT(7>1?%L-LJo|Qr_otgv9-ww{P7(Udt{MIXh;*tL_y^ zeZfr(56<j}SaW%eTPyR-<&nngxBR;EezN1sjbHpCzvxxINv`Hdxz4=ppTpOZ-}y6t zDNk2(o>jE<=jFTmlxKhIe{Q_=#rf0s-TpJ^RR7BE{jz6G?)6uHUp{#H_Gj^%qNMF% z5xd^cPd~}yH-C2NjmP(2&P(sF{M(j)-(tV;H?z-MXMgJ3^PeH0a>u{aZ{NOt`dMB# zEA`FR-~G?+RKMKkc=z+1(Z#B-dmIJ7@@s!De{TMB@~<^#5>|0eJoVE1#^L9&cmB=Z zY<~Oaz5Y2rf<2#Vh@M|?e#M9N$+C8i*Vo^w$UkhIeqHp_ou|ikoLsW~h0Pqc+Vtk< z|IYfnw_o?ruKm=$$<LoYtKI!;n)Zu1YN5$t(Tpcm_NrU`x%+Kz{NftBvcjw;9(R+M zG0(%4OZuIRW>%IQ4P4tjZ}t|yPOe`ir9Hv(V($8=H5={9FcEKkZ=EgKx8;hiCa1#2 z%xhD`FBGXt?c=*2Kl96nwR0|+1gb8JxXiV!L2Y`sLM@LmXVWLY$|GMs+|E?cOX4sJ znWiDQDrp<vqz}IZ3v4n}*0uS~706_s*~(+W^K8S`um%sdM2Q#LRV8QjG8-8Tn%h1* z{9-AnxuJT&%-i9qfTs6SKH1&R!tdE!v3=4yW%}ows1s~6N(xu#<xQ^Aem(bQ`4WT7 zkLUgCHx)kAy>evn!nRg_Prgmo(`PQW61Pj9UN2w$Eb`<c>3PPp{o=kbmq{qjo%Ydm zvE|QG1(_#Sp1$QYW8-R3_QzW|4?jQOeet@i-*We(i68i*n{U26FRGtz^Xt<ixf^f7 z{`eIKzB}Lj`paAs@AYf)sy=?Yn`GOwIeGTQmqk@GK63?rncP+v|Kw+S`OfF(pYJJu zxIfMC&0nF2)Fam~e|+|^OD<ZLx7I3-e>X2*<iRB~*511LBrGs|&tI{o%LT?&5_jxm z`dX#f_>a}9crdjyUN(~W6&@QKacB4J$JIYytUPz$)+*r|*P77C-|tMap2phTH@w}i zyiD}5-hmZ-EP<So;oA(ZWayQ-#k}jecie84an&5Doi9E=?>4;grg)ui$!)91Rok7) zPk-yJ-cz^dN9~Vds~6vN+}_@OA)u);QO+##`T6zdUL@Y!8M)nb_WH9oXH;t6%bZs^ zqu5sC`lrQ*OwaELV*3@J!+mL9^~V{mg0Yf4w<1<Qv)FUg@8y-0v$~DZOD>!36*r&v zGCuxe_&F<wuqW^1mYL7r`Hl1ahqhXws)}>};tkiie)bRiRQ_?9Ut6no_U%vi@}}6S zUr+b9-B+)8y|R2~*qZFicYX<9mNnu%RB}&$Q^maCjUPUn-}iaG`SaK9Gi}p5U-TQl zI4Ab-b(+=B>x)lY{VNw=^4a?3)r7@{Q2}c-;-;9)uu_+FJnUMM^DA(f_DTzZx}aaX zR(>^{ck1)=i*ZcfzaMX}y*yjlB(2#lRr*K&%Y6qQpLad^^FPDhy3U`+tI9v0zqDTP zvaQSe_x8rG>f~zo8&%E8y1BjQXSn)Fe}4W2MM-v=x9!~u@9+6Jzwxi-p%?GHd;K?@ zJ3W7X-cRYe`A_#8U+{67&3}f7-XH3#?QMQ{FYC*9<lpk)zVl%_-OF~%58LVAv-uty zwJUi4qKf=y{~5xH^F8^VygO?rcUoTQy=>*-p4X>e&e>Iwwcr2zdcIA&@@L(vG&2ou z_xbaE_w>sdmZ#5$SKt0*H~sPYSzmkY!|M}&W?yl6bn3=Bi@%j;t0J^lf4+X_?XTzu zCnV1CZ8@B9+HhB7#ND|pPg9=lin8K)yNhvp)#Etfgh`fbj`z+eC^58Lb4M{Ea9Qsz zQGSI9I=a@|LKM!2>Hc}Ww{COH-s3uPv#l12T#`7+W~}a)_$51K*3Jncccxc<IlR<( zTgs&?PXw1oJ}7?f$jm+I3){q8)7?URmvvnad^oV=m1C_{j*e#Lqy`STEVH1OGp?U` zbXH=v(~L#4Qnm=3v0yyhEGKVbld`u?pZmpTkH_ANclIwV`nkHw_m_=z;d<wtTW2{- z?v+k#O>|`|xxFa=Sn`VvFP%UAXV~_iA*o_#CEu2kkJo;co7cz9?@rl}o$Bu$=an5F z-hSL{(%J2+9&a+9z2118T2qwSTTYv$drpYlm=e+}?q}H)Kd;i>N$Tx}PkVm;%v<l- z6C1O)Qf~c;ZNH4??=ShW_VXM0MTMVV&d;cfTCZ>X#n|(s-`DSPc~93XpV@pYyUy~@ zE!8K5FDJh!D+^w==G0qxC3{KPb^TkP+aI&r`K0vOuepU?XVu;utF<cL-`8Tf<@5FK zh2AS?&o0$j;(OMpZ;srl5?<be8#eA!t$5?}>Agv|*tN6!(pHohKlo@hM?dEE>D%{b zU&(itTX5%#*1fbj&r%m;%LhHT;(B}RXKzomh0a~kw`&7*T$mYRUW9wx^}ICqV$`3X z>&ol3uFt;p@b;ABTkp(yE|ORF^Uhh@S7(Z?OfII|ZN9YHHof6nWo2!lE%T*|7OR#u z1Z65&Xey=W&o?`-e7E@{?@jlaevTXamPXyS+}*Oc^g~V_*U_B2*M468dhNY+n(T$k zvEe&=cvFi!O=jM;Zn8Gtz4iR5z}Js$=00EYe2@0sJ$LzRp8Z<AUOsW^Gi@{9AG_}T ziQkfb($>c2?&(?~gV#lQ?H4Obo`$WdvnXvVc`lc*udZm$r77Mo9<R0R+CF>Djn{=4 zb8en}Z!`7L-pIxCb7E!B>|a{azsaZk*Uuk+x1ap@{ON0pwWl^5+xex!o%QvZFR4pb zwUwqAKibml@mGT<)!3KKxb(o9FLCoCe&szbH(!71t6i1<!e?I}Rv8%YpZ#S<ZU1?> zYwB0LXBGeX{qyoZeYxYS&wst2di2$w;uA098NR>o`4WGj@Jn9)mdg9#?X8nPHqU+; zZ~8<3{yaDNr04rhU(Zus{iR>``<%*uZtr8_X206=PIdd^d*^=0&Aj^T@5%FZg1PF# zmwv6WD_nmnZo5t98_Q4ccKw|E@}K*>n;&GC%T1hm{p`!fXTRT3in*89b?IDL!rZ_= z%P$q*U-|L%v#nod?4SF6zvPRj57smJU#}{B`~1D%lsEV6lh?ldUSZGkwJz=4?6?2c z{yX>Sy3Sp{RErx=i_cBl^7z=7%J}Fva&mK=&%M4Y+iNWOWwQ0cR?a4Kxvb|qBeI{r z&E556my&p2_FSpHjV{J>?l^tv%{PlSJl*!j+R8j^ifTpSYUic9>I%2tsyx2!%nC(c ziHuN*7jq5DHhWH*%Q-o9qn=;YOAR5}XPG>+7fK%IGwmr}m*%-yS+s18F;`GpPu}ON zxm;a4^#UrAcZmc{;*~r%Yw7Gng9WD~7%sK3<pgauc5S?5+GHZc%9cE<a@V~(&sRza zq%GUIQqy_;ELrE5Hn$4*&vvtnjs2&6*rDWA$~UjD%QMpW;@GWfXHWhtzw?*&yl<7y zv}#^2_h0k#=NHvQarT@qZTq&~o30)2eDjg^Z0UE!hM#>Zbt_-rsh;p4IJ4ojU*uEY zb`RI$!>-FaFK)CqJ@sRH)?eXgWlMN|UXPd?y=G43;p5An%vFDDGp~O3=lffKMbEyL zeBgoRGyl@ymp{_aT1(#gv)%0F{Jc5e?YZstn#`$uQ~jrE&b(Q5)v>lKKQ6vhJWt&6 zPxj5}m$%-Y-}$=p<(W&K`KI~qvyP^HU2gf@Y-6m+#?^dt1caBXr)8MW51)2DY1OH- z#?zV4#p>l$ai=ZWkRQlBGxc%dyv|KqPL-N3PjdH(a$cslb<(Dnn$lCXU+l{dd)Yp@ zanHqzGcKkjsI7=Q`GB*#<*ZrBvh8Qfe#Xty>o=QMWpuDM_N4m6XOCXIaNEp#_EA|; z?v2y0j;5}NwwgW1Kd!LKo&U1tp{lza8f#}x+L%>T!ujm($y-m4r9JhMba&6SwA^)K z>&}xiSu&6Q{JhxO&CAKy+Qg*Hu-vi1O4;v_PqgHXW14&2RQyW6f8MKEnb+^x&%1N8 z)XvA1_pj^-UsCiz>QmjW2PKDRzdY_{{?bPO(S7HW2VNb%=pNr3ufFm5?&Zb$=S!bh z91pDQxZ@n0c<|ibs^i7c;%8=OKeNc3{PAVwd+X&3#eSKTe3P|#@#?N!y~p{C=NDhw ztG}LadEdn<=vm>JS)WZ@Id^_Nb@zGhgX#86CJf$ZPo>>G6YtsnMgDo=PyP$*d#mKq z&aJ&^J}+Xuu+`@mHP0^=7M5AuEu0zq`O;^DU*B7Q&c83e_|NY<*B3l^;#=ALByR7A zxLcQJUsxVK`<VBo;;QDWHQ%4-{rHy~^z=){%l$dixh#KP`!Q>o-{+4vPyQ;G`q>}z zb<cg5xrg<y2JYJyKci}&{LAzFFAH{Qo?qDJ@1HKc|Ex__mCBEKGmqR#4!aZUz&zVa zacR%<-G;Xx+n3JkeIC#F<@w#8rN3hRALgfg-nx4Bwa-Q6Okbn-`USr%-v1^1vHNG` zFOk<i?rZ!s$KUPm`<wAgRae9cRaBmt@csE5d+TcXw9oQ7>>JiK_v~U`k*RxGaN*8k zS)E;**LyLo7kz2^ak_$(iZSQbwTU-{@}ymb%5H4D!E;A+*H=$LlUUQ>&;IV$Y|dw& zoh`-ts;D7ADWf-&qaa~wyJ}`e=q}fDvR;$cx!tz&yUnzjPh94isJhQCjWwT2GoJ7K zE)==VHz#&dw8ljvE47BKNk6yp25L0%u-rGE;xfhLf>%mr-`U&Jt}B`rv3n?_Pc{5{ zZ_V>H3@@h`&p5WV`^Wb3<hbXJ7rqqP<s6^?#diMO>&@a1vumF*%{<FC!{)))lI6>d zXYb69e8wJfz2{5wxnKLtipxyjL_U8!e_|=$`IL&}OUrdU-hE2@^YQlD+t!ynPaB?j z@#ylY%LnJ3TP}FSU;YBSjluiJ=d>S|#%;TIeww0OQTmRW>zl8BtL&WLt=?<;B`&|E zN<Q?}ulyPAEiXP!`JLClXa9*m)$1?J`t<Ghe95abe`ep7UupB6Io8hpN{zhl^yMc% zN80YGal4l;x48JB&(Hr1IVUe0f1CPFeH~Z+oCfL3xh-i%dFmx5CKcyWPKP{8DUFa? zwr*GY3%4!eP0vk^xqSI}YEzYr+Ah^?Z14K2mMo9uy>7hSE$`FU^Dp<jO1fMgdwtP! zziEyPv#-9qTQj@gwCn8Nv&<VNm{#bB%$~h|-rKpa{1=B@s{DNOSee&{y>cx1TDPq) z_ddTEHRI9u9$EA4vbE;oQafJ=-Pya@e0fEz<;Pl~ebb@>CIsj(CYVV{*xa?b@A&-b zxtRwyGv!<>k$of8ReY5-bH?q%rfDxHZJ(FBC+cEf{UT$jUZL}6By+wb@${JGq_Mq9 z-__o{Zr?uhv+uk@tv)=?es7mP<*C);8un$`+H+ssyKeg|w3h$;?bgcXrImK~;?&Ey z1aCaLtGC`fS>|qWxmZi0gxj=G?eO!F)3^IP_<HBFti>i_zqGd9@_|qHIbW@tRs7yM zZhD-1&7Zb1|B|OCUe9A+SGn}t_f_ZBDi3Qs&Y0_ykgG3d**@PgDxyo{Y|j&he~X^a zHTpcgUSsVKd-vW~p+Q}T{a1aOf8{>|@AZ`@FWc}}{WM=)BOh)a{bTih`*P`T=Xrn2 z%nyFD_8<E(yU9=EqxMZa`}5G}Q%|4XxqQBsXQ$BJ;}%E#?oK)PpCR@{)6<x_N9FTA z@2jtTX?eW)#jn1ScjrF+-0xSo|HeOl{b&Bm?|;l+R2P10!`C~zOb?6W)Ob4%9o z8<oe8{1)D;INxWRiD`4MRK0m!MDQyM`-L^u^>+VOpL6@Sao)W7mj8I)&Y5c`U-aO| ze}<g5*FN+ux0`pa{8b(Mv-<V(J|AEE^WwdCe{Jvm``m1~?ekrErS4yUY}V{DmY-8M zuXg>D-66VVWz9?THtcHoe09c~7u(Xa-R60`&z`x~<ZW^Gy_uhj7w}52I#zS9Zd=Aj zjlGu+MM&6i2OZ-%yyVdPu!FCYu6sY2*Ee^^{7pYAGS9XJ9{N=h5p%$-b7{hsv`)Sm z8GgRU4H%zY>o}pdJi%DqbAf*NnTvO>L@YRPHS!@_%CWjqvu#pBha@yrH%2)o6w4hu z?khF<!sVn(j4K`%n(FFxzLYlSz3{NdIAw;_%+<aL)-(7RpJ|u*{t8fhl|OS<q3U)y zo}cc1^Ov5h*|W^5=v%?hXLi%`<xjpp-&j(6&x&Q2+hLyF?wgN4-&NZd^DjTvRytqt z=##(tD+(*`onQW7;kn~$UfdSmxG%Y!)zJBc=BJ-=iRaV(<}ok6@OZtft^4fx)30mI zSzWoWk9Vik<L}Sk>)w0x>`L*^=Pk#*BNz6~mwEA9-<*AMbIiB*{){jB>n(qt4xZhg zmw5B~eg0{3Di7cLFPvRGf6wv0>&JdRe`(bpXce>h(XN}XpWB>2Yu9x+-|^i34DaW5 zoIm&H{FuMnmgW7LGe1*4|2(>Sxt;vN%UUyTRJI+>)o}Ms)SP){#oEv>^~M_mQrbFr z&bv+bT)QcysZxLT+P?TQS-)McE}V@Cxn+6x_uik)%T})`-C=I=b<Xa&y=+OMmm^l^ z?R<Tu>+^2Li-xa?S4lq4p6BRWER!|qm_uK`_Pw<;m!I8kzFe-oXpYT~FUA$+vzD06 zNXz|H_T!${smy1eYGr=hRS$W;^YfP@7q87Jwt5ge_w{}2%hQ!FGhSXCHH~ArwNP5n zG2?3Cv&-j{S00l%y6KSdy9CpF2D6WN@>;d6$$7G}{mY!_J7qa;pPLPryINH)+_Ck; z%CK)X&n<eZC2RI=->+wy?=JJIZqvi~*;VN`_85Ph_jC8WPrIJ&ykmRc`*9rq`rKUJ zqSf=+*V~xO?7POE-@Jb9oTU-Rmh9XgS<sdC{L;2Sp|i3j*Vo>%^S=;pUgv+^qSkn> z^=rdb^QxDXTgR`SemiY%cw~A+bpO`b_n)6De70*(eD3F?k7RoN*0Jn)wvHj`i%3$5 zTKIfxHJMBctLHPm9u{mh{#AQ@rlZVTyK-K8v;334(ogK|%g^$B!N20e`K4)p*}Ko5 zo?tnj^`+hX$x|gC?-hxT{60T0R&u@K#S3;bPrln}XL<AC`lSzx^wNroj&(4vJXdWZ zGvm|z{;kCoTIp`w_Z_9*CGFk!Uh4jyec7Mem+d$F{`gULrL55#3*MJ$HC6xgO6`45 zf9{W~E9xlmQC-*4dd|i!SKTT7>-GNSR;xeX-+E@%-}UD{`r99>{jB-o=k7nnYfpaG z5Bt3Ji(PHimB<IXpI@<&ew=1Ez4G_ze!r^+8!!Fg_x|B(<6i!XU!_{E`e*X>`Ackg zZqHcyvMTsjz^m=cLSA|&SRGa0^|P#sIf8Z0N9LoN$v1AEk-n@pclX9w8#X4p%(?b1 znKxuj$`Qp49{;wVwoBjnRo_mlxNHmeMc!2o!BK^imS{YX%s#Igbo|LyE7q5D7V?CB z&Zydy@S=oKLL*bOS4ybEE~r<hkhjR|-PRS0_~xYaWUN%`XS~onuWQ=Hb-4_D=_i)z z=NDKpZn-9<Aaru7=8|i-wP&B6*I3X0>hkQbJNImOk(0UIy?CyE^wB5&jQP7|WOPpY zSI+(<`nP)WS(p9YpXGP2e|_I<+uWCSaU9=c&i2h$U01g#-s9fP!Uv__@A=O!skt4W zyXo9F{~}qw(l?u@Pucrw_QT`LjXZ??mix^&eD%dS@zXv(aZk5hVYl_&<}0PB?wBfb z_uRorvG1)vvrc{65?u1UnyKpV%a5!37vHO~PXFv@`z?Hf?OlzJQ{~y?Z}U5`h2N-r zesJY0WxJN+&-Jx~KRv#3ucmnR<GFD+e*0Ml{g|%vao+ViztXSmvHsXM`J;Byru=z& zYi}fW`!TFNk??wJ&Q*qE950p{Pq^~NI$dq%j5|Uv&-U#0@XVO}WL0t1#%otsu08vO z`|i|pcUQBWt3FfV?{h_mF*(z6<Chi7iqE~b_t#IJyu;+ieb>1*|2{u2Vb*iAEB8q| zx$e33-P2CyOV8(=yz=MVlqzex+I2Q7KGm(u%c{~3nk#R%qAu^nJ@$yhKB98x+Y>fr zs6NXG%RQIB^5DzU^IuNM6@7J+!9ygSCF7vXt)IK@EP5uA?sF|MB+I4l(dP-XGS~Uc zi+;8#Pi+@h_|9d%b7V~~m|mF9*Ky<O_AAf#)!GNeH@>u+RNlPvgtO^7^*48R|1rL9 zzxdDf53A?gQI~sOX7cm>jY>P+*Avb@`TF)s_+_Pk`M3L-xAWOP^E+Vj^Db|e=-F8< zMmJMdu<JE0x_NVLR;pEjWpzAzUDlrGnUBBrem`AZmiO)Jt^9qjXaCCg-Y)m)@8KmM z{hgjazpH#SnDNMy=k0ylldL2X3_FdO@(d;Yt)Dv{`&b(jonu=0v+mmK>kHK9@vCil z_<W}2p7rj}*Vp}N-un6No#}aU$D7|soYwQVt5;dR_G7N!>Mg(iu9qx6_u`YSRpq^g zMLYM_naI4Up8RxjWMa3<(seV>b*30f819~3*0cFa@w(&D;hJy0u3!9P^NParUFH4u zmFJhushjlZ&)L_-pO;*_oCez8lK=X=S?^`D>Ahhh$vu1W+kNgIx0`!@`E~Pp^Iz8H z@lmJFZ~VD<xxQ;($)@7-wWsUK@0z~SeEWPk%ct1*rTf(WgkPP%%<B3JzQ`9c+pRvn z{dqtCiD|t1*YH<*HZ?Z;gx}o15NCc^@K^Hb%dUIgmp<6MGFx)bJFe;Tr?bvGaxIBz zyUnxY#VRkJo;z0f{leFsixOXVKFQoRi)H4=`5`$BX$o_^ybBF)zc_n#Map{Cr6&*a zl*CP(ydpKh<GSe#BZ-)=4<1;a6I$?dZc@_G0F8@BBqxgmY)tIqVd}nI@UYR!CbH(E zq_8{VLT$Hes{~dGFOlInofe@yv#sIuf&eS7s0}?4FJ3O^<SA%A@a)&!O4Y}<D}>j~ zxq0?U>6f|Xsh>M5qwa5-=X0iZ$`9@8P<y9S7e9ahV1N03?ECvS;<a{`?zxx0Z1d^j zn!odd`{w+ax~s0mPMtO8OYdLpEma*BkB{5u9<Mdc<34Y5G`V?QdeYNpiLZP1#(C{> zesSk+oX*Dc%{S-oJ}*}tukzy8o?X?V=dGu?n;+V>?c?*0{oYTn?@yUtEt9--=NEJT z){yG3I;$`H0_Lw-eL4DF&3vhuKf`Rz!WY|a+w`=!fBNMwf6|`o^V{6+Z@X9XeMzzA zYspQSv*%l0^1m4LbiT>-2@B`&{rP-pt;yQ_>E04Ozm7**=Xq<dS+#V>nlm+9dKG4U zm%Ln<RhXA_SiURy);XV9axJBI-3y+-yk-6N$ep7V6U!7G6lOd)5xrQ2Dc1D#!owGz zYtP!nU4EhX_TGm%UKb^$*BRG@d*#R5UO#P8e9c>I`?Cjc>dXrF&MBW6xT)MN-*^x2 zQsb99CcQ3PGDq)1Z%*%*z#6?zXYPJpdFQ6}Y_GTb^0(W?9{qkbE-iV5LQ{&up(BoW z=EeogdG_tWNnIT&lQY%<HqRHHZG3Ok8=6vL`79yu!z+*M<>s*#b4+by@BRC7x6jya z`>B1Qw+bY;e%%-SRC9Y@)!O^htBlv4owxnePvd*WtIizDy|12VUHJ0V<Cj@K?yv64 z+w)WWtgO)KX?bdyv*KoViTB)TJiqvP)m`JQt(iAYx_$VP^Wf{B?9;!NpZnhX_4JE9 z*)QL|diR6hr6_w6kKN?VoA2-S{**g^eqPIwN{{oJ$12&)FC8iKuP8d_uvsCkd6L16 z;y-7lPQEBU``*4<e*K@n*Q~h3&iqvsdLg;;WAy#=cjwhFeROSi<~2XvNxzOa{^tIy zZ~IlA?U#N`W##jCE?4X7-@X0u`su%IJc%z}TufVIJdMp@`|RGRF9FXpcg{KXsc*aS z*4xLg{@kZ|Y2Egha_Lv4KcB1>inqPq{8lb`9iP>YH_m6uQr2}`i_JZDs^{d%hIOkB zJUp0_Hs^Js)%~-#+u!oDv3~ty`1aoC<y&w4JnvUmo^0?YQ<ksJif!M_`}6kvO}c(z zpLP2e^IyVG%T~VHKGo`v+UJLr`>UQGK3dE7pP~MVw_Wzd>rWoa`#in$%j(DT$-$aw zu~%mWK1*J{{;Z(Y&7G6Z_P%su5vt&<vVM8N^3aPTujDt+Ssog!_LwJP+BGpL8PjJw zTrEoHUc2uTZk9Odcsu{uyk|uTYuSQb*nESIbIYX6yjgAeaOYtwerBsj@6t9#w#|AL zbne==D>XNL6S!X(2b{EW;qWR{&R0D0EN^qft<&4YS5HoN%;waYnKCVTLf=vzlM*YR zV>ub|6JG9{eeQ)6cXq%0#n1Q3zw(~9I6Fgg?WS0}Z2tAPFC{-M_<HG==Hr&b$#sF% zFMs)8eO||W_TjFthxhCccm3&8^LqA|#)_YOcGZ`c-}$+(Ro0fp-uPGidgb|IaWTJ+ zsO_})81wm=+`aiVujlPP@zbcTD<wU+?Bm0wFFr39lZ)H=gReig^tgrR*G0LSotAya zZ4R87bF0e6kAJ(#ry76xnJd5Ct(BUW@cY=x%g?vVOFo~^_07-a`;Yf`YV@mL?4Nk& z&!puqrDJxVNoQVsP(H^0wOxMm=ey_XBKMqr{&C*SuX*{4?(28l{kZc|Te$tc<i~mQ zGI)x2xn4`YczdFo@@Adc31Ll})qM|U-(1zSb_bhDqIKKlZB<9NhwHpZZHyM}(0CoZ zahKH7+g3Zb#GcdAU#i)4(adMAUWsH{)4|AdJsr`@EBBQf$nv}LwS?K8I6F1Ab5(Dd z#NC+aiud93?pca=U3@4#tGLYX`Ln~3_nuxZwUAxR@AmES%CPOL(``S?TDCnqvEK98 z)#^j9C3nkR`}sL&m&_f0zw|wa3$MJqJ-zVsy>z$0q!tFlT@sxk$JW_w`F#D^=SjS^ z+TLk-N2ea$dUjn3m#gc9yW1@1Ss6UOx$4pytE&_5J)dX1_~p*aXR~{kJpA>GC;zOr zy?^EVM}O5@D`)#0obUX&UgP=sH#PILSD%Zl-Cp*N_xz@s`|*04UGt}YEqwOvbI~uO zuX<gEGdA2)3VoFtZ%{n%a=Dw8@k%~*e>YQ`FE!tHK3gYV`S6$e@|eFYd+$8I=C5CP z?ESp#V$J@|t~=N5HC&~8zqs$(&gT=)+1vR~7OG;tCE*u&&qS=4PqXFA;T|T|xpO{$ z<G=hbK5fs_9Y=J|-V$!w^uwe$$3}FY;r-<&|Msi$)iTS?Dt~z|`rD>2cb>o4ZP%?l z^TO==-FNGb{aAne-k-mmPw$()uFH9EXZLzKpQz@g4d+r{SW51>QrvCsU1RV3@xFQF z$9>Zmulv4d=Qq3R&(`Obt7%tMKRy21&*b$&-bsh{+rPMTYgcAb<$3X0Q`4rZFHd`> zRN{B>Me1LfpZQ1rt^UCt`!+oGifg*q^4>{zODvah{C+Ne^w-93OU)ObU%u;O_)S}x z{|r7K?*6r``aJ99kMFBr317bWVZQn6+Qr?^PhP&zd4B09y<L^791mo#?{#zddg54Y ze#GqPS<z2c+IiU(&wf*!>fN_$#++E0OJ5DLPOMj|N?z(Vr7~43{bIM`S*yJ!?$6?8 zOPx7$MAm6)|Fx=1*UI#wo>(PLH@RtAA-K}XeR0UaXX-O}k1U%zjmtyo`!a?$kL7b4 zFE5oo`lz=+@DZEnnL`gG)-{`Hg|g}xZrF2Wjm(*nspn0@_Or1~(_iptXJx#3_|@}0 z-)b-SY_LpTo^zz8=DQkag=KB&<<|AH-c&{2&nQjXSFLqDOz!^d)qW=XwZ7HeI&AuL z$=8s0^{f7Ki(lS)^4;vD=%;m4A87uHn^!&i?nCtpd_B9^nP*=~exiQ6%6KjxzwL!L zRkdZ8zpNLl`F%THdF|&czR=Hh%c5UywHI4{K`WrtpRYgXyiMuTbJL8M9(}OO=KCfq z;dx5;J2w6*i_4z5=`W}L^e;8H*Va5<^I`M+`O{alZ+r6awcozjn=d}u^2dJm{ATpi z*4Ad<$^O2hrN$O3pMJZ?`uY2uIPWFTuW9ET_gebgTGDj>MA@*^3z1PvY&ov&Oul#f z>%l!|ubEs+%Da{&$(kv0v9tR8rH7Zp7xv9kkKOZb=kvRvOJ}Z2-4T9$*1384dOK5J z>}F(QW9@#SmvH$*O39?1j7!Y@DpF@9ZlAGy*~<G1-0Sq7t3EGWJw31A+9Lbx@tvpl zI9qPD`ds~It;oR$!Ff&jy6HmCN^?&gn6<dz<-O9=#?^wgeWg#Ui=S0(temyHBsJ&r zynFRY>kaQ!otrmbHKx#K{c^J}fl~w>`^5Oo<EO9`pE>v}a*0;jvY_3MEl(bmQl8sj zE>$we_Wbgxhi+BgJmx3-Zdu*@nLoE*-MOZx%y?Px#b<x_nLjAE_k9?z{oW?m`Atmr z`OotM58L^^<TKBn-nYcA+w?Pk@|Dl8&#igsZx;9Sy}OKT<l7!$g@&EtvOJoli8qdK z`DFR$^W5mwRv&+d8^`s}`&}>Z=b!m`--@r6^&T&e-$|Z1FQ?sn*{9ummTi5w<I&5x zb9?e%)|7|bc6;t^QFBZBT;TJq%VT5Dls)&`_p8dc@p0>g=#I1R1LMjH5A)4@YjynY zzw*-awryQ!Zrjw&?3=ytTHC(#$&T0Sim&}sEdKbaQq||0_VV+!Z}zVF{Kol9&%X4V z&tKO^)WrT-`X&AAmpya$>&4rLtv_R{t@-rzGUkmZ9-D1@t~`l_|Ey}sva7~ZUd8?5 zSF3zC^ZeQu-Z3`oiu|))uVml<aEE!#d!NtudUee!oz>XGch9@?QoFBw?YfzkH`Omb zX0=bQS^ngGxW8=f*2`a?_x+i^^k?_Q(`>$%D;Ke@-}-aD@%GtoBekpc{Hpeo{44kI z*}gqLr_S1y7ao7^cirv2niIeOGx+@Sv8(70-~3Ugwrj<!T_&bF5px4Rw$D7ioZH9J z)pt`l&z=<H`3|#m@AuvNd*sQJ?P|YX-%vk)`|-^S;Txil$K~gq`{Q~2{Z6sO;^&{0 z=4R!-+;Zsf5=*uhKCXg}+)^tew;lKLwoJ*sIrEHXXr?Z2ag3nR*?42k)jkGUDK9iH zF6})rvybg0r;pU~Y2s!Vyq`p#xz~3v-|$fB)zzgr{GJDj(=#_OvNHDf2sgCKJXX~6 z+U#?Bo#*s7laIcPck*B6W%%6k{SupPld5da2z_|IEYJ4*+&h1l`P%&6KHFyEm&$6% zN~u~Y`MJOCZng!N=*gSg9W?#)X5EopF*A3Daj(~2zqX{NdhttxU;i1*t>wLrpR(N7 z?mOwncK7RN-Om&+zt>aq^V7#Kzn(w(WBz>K;)5?M_qq2L?h3bC{Q9o)smt@`oAWPB z`}4Br`o8TJmvz|>XMVi*e$(qT_oN;FRA27(^DFuC>&+^8!xtZ>J+-X(##BCU@!Stv z=gxd>d(Gxn(dHW=KX#R<ER|W7E<3ZTCG9}zxw08@GJ(^&H1-yMH_Ll;=dShi<T$q; z<w$MU%c}A<KVwVI-t3n>zs@%9be4&PfACyeo-Z%+^p}15KA&lEXI`v9xw;$k^6<W| zpKId%EZ5wg&FI6%+|4s(k65&{N>N)=&#BDavsa$mYc4m(=j@)lviod(jh!Q>2iCRs ze#k4^KC@Dz_t>YrSz-x`H(2?Hy}ak{neTNvXy>H0_n)smkXN?z%kkiYug}lF@h2y` zaCzU-{=3I7^xf3k^zDl2I<++?&INKvI#<4X)Ar%%+-6<|#++k*xAtZ}<(VvSMXcqf z{=##AW*3K@+q>{s^B3`X|0Hd;=l#65`^-zJt^MZjWPa6@ulegew^DnK;EnIyZrdlH zs&^<@KPlwX+UH*azFb`Q?DExD&+AIxWgYX?+ARC|XzGnM3*8bc_Jzi*PP6*)Wnavz z^yS;1e*O{nB5mRBl$V<)U;VV_uJN5p^A~n~bN%C|JH*Ym;<@!GTc+pWy2yK0>2`Pc zu63W8th0Pt`!p*x;WoA{(V6X4dCQl&tvU9(Q+4*1y*X($rNy@W8Gl_r+3FOXoqhJs z>A)8+Z*FNU5Mbby)^0yr{pHW^{J!8bH+XAfmA{B=dHnFMe8A(&@9fMcud83|v+0Mb z|AMYRmanR&`&#^bw>^1zzp2cj-fPRGqxJf%KVR<j37#9#?|7*8%=N>&ALa+Pc|6~o z?OpPv^x=i{zAyQ9+hdEa9mtpQ<2iGuVDZ9>m(NChPPY}gJNuXYGykJ|V{KCRZ9c#M z)w%GG`zHSszI-xT*W~4<>-@o%2i9J$K6N{8-^^$CU)Ud8FaQ4YuebMn%Ra>2`Sh=D ze*Dk%C-(KlZ{1!wYx7$Fsd2SIUnIAe7?-V9TaesmXA*AL85*)I^UjT=KQ&&PYgg@* zj%RvZAKkv-#zmt8njbeG@qY33{Jxj&#oC^if=fTet~-~%aqXoEX_@El8NDobo;hu2 z*0XJI&dv;tUcD^fWbxx*=MB%yc@898-Z^u%vaq9x!r7Wr411r?=VTXOe&E%{s|Gff ze2J4;7nH;;Su#VS=u)UiQRof%a~_|6y^cKWKAYd%^hWQe+4~lA&A3@vaU=Kc#Kg&; zwBCRDdB08jR&ib3-QRClFMeHlTE$Xk-hHc@b#e1Ox1V7T`L+4Lb^F@q<yATUlS+SH zyY{EH<ma@#7eD7kf3@D9c*s`mxz?S<Id-+RmNR}&7k|Ez@yq0X|8?^xTH9XlU;b*J z|Ji-p-}vdDw4J}i($d)SSNK)MGuKaL?LDvY>Fa*K_MU6mRog1IJ==cnd0l4o*L$09 z7hkKKSy{=qhsExAt<AE%xyJ8Jzt#o5`BZa%Y5yV@waR}%FXwB0-7{U`@xt>JJ8k%8 z9=v&P>hu$TZr`ojT`1#wrs`7F$-;(hv8`|C@mllS243lX_{&?oZ^E1OZPppba?>oQ z&ds>X_NI87waimBu4&JnYz%w!;%VH=J+IE^8a#hzEPG?!W!rMESC_I6-ab-#F5c(l zp6N@YEgCc{N=m-jyq~<s=B#*8tr}0s1epM3?n@s|zPMwo_AFYrt@hICmwwZAzSvZK zuPpg&eSZD9opp2DVo!_Y&wHJ=X5F0dIj_&=)CCor7cVyaa`vXzow|Iz$Lb62+|KiD zu-c>XJm>A_{pPm}%I5r@#kRHC=9luj$*Co0=B-<qR+d}LrrRYDk=l{1x+rSTztqQZ zucO-1(j4u&L^e-(+mrj?xV^Xa)76S!`$|7oPnq|hVcMVH>$2?*9@}SpEp%PZUhmjG z)$|u~rXS{go_cX-Y{We~|9gAp{HgVCxW4e3RZ;K7T^qmdpS#b0U7>Am?e_M|6?d1j zZ79`co?&~Tp=-+Hb+ca;l_%S(Pks02UjNLhs<eKkjI^56Hybuz+&<;&ud4dJ@u&Yy zf68~?_+$RpeEAtKEp~r?5gpOIA>DF<MQ!`+6LQ{*RV7cJ7JONBW~t2Qqmq6<-u2tc zTG!4}pVjZ_TXicbAwhc1XTFrW??0zamdg(>4t4!n;(j2pN5bO1ZUu*EhVk=ne|}zH zest~Rh2LT=zMVe%WyOnk`SDMme($)i-yeVW;MqUjUp~LQQ<X6Nh{;>q^D<Mrw+c+U zocn9$+QU1aZ+-CaOVV}YSWo3*nXi`Tj#>$wezDH(x#byivkA{Pv}zc1+RfT-U3rzw zs?@;Zul3XU=VawF<Gt4Y<vzdviQk_;&(5X1zUX-AqTXcNZm-o(w?~!R9X_<b;Lol2 zy3FnI`k&Xw_<Z?Zv-xo8{B6(5D)-#kqaMEE)wkn|OgCz+T_W(5d-=>4-}S1t&h-q< ztXX~hT-L+6Z>~T6sQTgE-Fp8DW&Tx#!OxzbZ?a~O`uU5ux-=``l~s}Hhn)KtZut8i zn-liMqQo@sn&_lgjn5RyHm9=cZA>)#xUXc5<7RtfosKirx;I6v&K){=Hg!SO{27ZC z-X)nFST%FY!%UNV3u`X5@0DIQo$Ud)5aW`cm0vC%OYSQ@`^b^w({IJ;m!4k^woP-* zOIs-UWshC<gX#C*Y^*n(`>43)()%xu=XdV?KJoNI-++%FFZcHC-0?}4yZHN#A8Fw) z{Eg3lFPZ$vf7aD%&Gi<w!Eyev_xQT&O}&2!O3s>>@cPU86Wik#@7&uy_vih^JN0V! zty~{^_DA%skJIBr9{goL`Ta-DvF9&q=7nir_N`tK_;7pO*<<$h)w0|P2a2m=)@i=a zx6_sW!2HUt=k4Nq^I2^QU+^#ddFQ=H=Bcya%I8GXOpl+vJN(t-*B4KIl%HMYf3V8^ z+|2XGZmo;)h*{g6_$c#`^!jP<JChB!FDc=xE-ZO&&U1Xx(avk#NgHRDUT=_@ch2AE zs`Pfrt!`_|m5Vk{EWGwy+49Vu>K)ND3#T0pUAu3Ywwvvdz2)Z2+dkRqtG_sBw)3v? z{K&I6&o4MSeb479YP;mk7d^dRmOuTT&0oI>=Vm4^Ui2}cTS8`;o~y2~@64|;Uf1oT zcqPNn-gtc5Y*Sud_oH87_U2~K)?7C?EBSKgSGUD<iL8>;618o`Yrf9Z=Lsr&XT0|5 z&Y5fP9-ZX#=HttL<-MmDzWcd8ChZ0n%dBPFo=cwBUe|5>tJKz7RV#VU9OjTSho&x7 zOD)N_xO(37^P`htS$V~q4H*~xHYu9d@=oSici&Ni$L8jDE3cnjZ{hP-^!fg#DkaG; z=}VsPGyD81X7%AObAIGmZmYTWa{un1yX*456#NbSy!i9<3-hGQKG)_S-f#CMebJ)_ z-)r@s+e}}1;Ft95MR^6k48EjYIK!80rLthprS=8(X*GKL=T!S&s<Hm;A6JsTUh1vo znezFIp6=nh`Sh>vj8~t(JYD(b+n4%6`}uX#AJhwf-hV3oZJpiL!dE5P>+0rj=A3dT zy`6vZiuXIV^K<3fGVX{xZNhJ(`1IK9xrUZsBpdhm^>x0s^2;eNn;~QQT=Zo6JN>yC zSGDb3Hur9pP0lgN^WZSBS?U&SDfIcSTx;a6@MrJVw|*_mZ1z4lH?sO%e*V!}@e$Kc zYkt&wAAD}lvv7v&xgCd&y-NBRaVKR@wu@#JyI*Rtn{Y?z&OFV%30KVbeN(P!G7dU7 zH;w0No9z_U^(8M~Ye=LrT;zLa^QD>n>J@<$%Vjb4-MPDMHou6ubG!0gzwPz)aq;=j z<Ja4~?~8u%&*$~gI*;#r(`~<e`X%Rn<ENeSj>`S>Z2PnQmp?AEtu@b#E}m>+^1A!t zg>CDWFm@i>`88f`?bkn_Zx!8L^z~=)<@w2vQud|Qte4yHt>)gPdDAwoxPFnbJ7{9* z2e;ZN{cYu+jpy2(Y4BWo@wD`w3)+i%`4(B!CP_?NRJulNW!ptfp6A_ZUC$o8Oq{|a zz2{S@L*kNrqbCu&+2*%3iK$J}*!$w(vA%2#OO910KPG;A)W)FkYFfsEdFFA}RYlMC zIjz5TXXlr7zBb8w!rrUT{WCrP<<@$U>!-~2eivUdGe7eS`}Ljsl4|;@YS(Q)=~h~J z$<F8buf>Z$HvPIBduF|~;Bw1<2aiAT+iQ8@Zy|qkvbm+d*M}>ASs&MRKKs$0UcR)( zeQDi-C!c0Km7iz5_nO`Q{3*|BR&9S3aQW!3{MMrLYd+6!FRl3-cX7YV*`Mvc@7(yq zuUdTmbzk#?d7PPk|K*xGyRDb(c&}}|ck|1>;?G}x{9T^h&0l-;aZ>H~t<PV+S3Kzd z<nnXb_h0Jl9?MMRKk@hHpLIW<x~m&y%PjMoowV?^>GYGkd76vD^%|0|&k;#|5w@w^ zNOHSb*ka#9+$PDU6Md#!R+~QO(!M1xF3(I+zVxZE=y0rT(J#yLxpUX2TYu5LcQ3!~ z#RK&-zhvyr{N1@|+iK%wt?CvNT9>*q%9=mE{OSFn8_)7hBKwM3!~&njOm5;z-E6&S zzUXYJqo-fb^Z95iscjJUMP2;twZ1>I@3maFUh?2&tmm$4E0fmjx%S-eOq}hxQjb;N zYt5x)E?&2LKJ{hGJB_sPvi$a%OGjnn!r$+att)^1`P<{=;#X&sF|V*<Z``?5`_7d$ zFVim7^88g{kg#2#+LRu-i92}barf?p=MFwSK6BCs2f3@p;)}MNx4RdvUnqKbt<J2o zM}PI3f4*#(8KHc!_`ZGR8w*?B@KaUi_dbmiU-S5wX05PU@tYI(mxTQ>->xHl?(2)s zmHRUPI)4P+<Zz*Xb-{l7`xf{1KK>PXryx}5M{N4+5<$@kr2#X9-2Kk%t)Khte1DvN zapPs-xj*L`->=L+^}XNw^z^1L>BfuIYrf3+dUam)`bF{i@8UoEumACW{rP`6^^qSc zzbpFfn|#am*tYEJua~Yn`9yn1a_^jp6ZS=4wq@C+u90}n=HqG0#e6H$86I4)E`B*@ zp1-5$8<ESs^J<vN>x(OXFFBh2RautNLMLtJ`OT|jV@gGXBR3VO3*KzJYL@*t?E8NP z%b(Nl+RwL}+_6N~`MUG6vP$mF&($QAr%id9&|8tPS+AR&>G(C(Pyf!DHIyZnui8B4 zSd3)l#@rj*O4iPb=}X-1_VF3dmEOyTxA0Xd3tV2g`s#r#La*oKmhx@evv0?z8Fx=r z8T~SsH9l8TdG6fN(yxa5^B-S-9W!6~o#yjj%v0;Ezo+dp{<7!()qOP&3+oDw`JA8i zYuD>Lzueug^yh9~^7v`q@%&kG;j7o?<%d1|6Bm^INap>!J;gV?<=xHKe*XC5^o?KF zyDWD7^0S-Fw@lqv)}rjw;k>*JUGbXnYWerlqIVgbxEpJ9Y|Ei%RV6$xHynDo!uRP5 z;bp}>Ul^604^6N(@|ah(=5P7|<|P>)Hv4XQ`1$Oif^`Ygq73pjN&7lpoU~YJN=7iZ zY+ug;ho?2k>95@ykBB5o89aO)`O)2HhhO-GPj&OpTAe>L^-F7!d0oBW=KTKM5BtsM z+HTDJJlTH5*3UTws*mT|ee|EA{#s`9tn+iSU*DCVskKA<xo?%m)B7j?meu8#d=&cS z<3HiSm%nqY*GsOy{^3Wt*yH`x&y4;)ci(CFGhX`ZzUQVNPgQ3<{gLo@#(C@WOAFU; zlFPNtdET}CaM^m@SVOnp_l>_=UVb{?^~6E(55MnkFg{d%cW(N_&3l&p+-R*H{N(B` zdD}CeEPmZhf06ub$M?_YA6)wwJKyZpw@bg4i(mU>FOYAqT(k36%+sY27bVuMnRe3s z@#2O92N(4ky-MzNzV0kny)E;sdos&|zB4<n<(ZvZT|Dz*iH+uol*(By;ePQ^$9LZA zy?=Io?8^JzyBD>-xVP1!?6Yj~`I2INQKxfRdrnQs)p{f%ETXznjKR2P-rN~^b05vr z7j-IbWVvgc+cMox+Vb!wf2~iOU)|j~bKdWhr`z*<AFuh5F}IB0x+MH*^@;4=vOfh+ z-za!_`0bo?Zzu14S9)aU^LLr?N&2&0-et@_c(?7b*QO_5jD8iz75!9T-u-<4!V2q} z(=RHwJ}v$$JVS1lZL!5Ywa=0pBezR#t^LmGoU={hD7Vnj&On2xt@4tuKAzotdcHyQ z;!20PHY+OU`}q~$U2}A&Ol`aQ#B0&jmX&+TRVVDM-8}V=^qShk?aQBto}YYqqHN8* zD|<xKU&@Jp%z8aJU2o^s({Xy6-^^M4>`wZZ@+0?~Ykl5l?|!vk^W}Wo%NDoK&tLwq zde7Uf=Pj0n`Kg>%$#-A-cm4ByyMO*?h(BO=-){MI;fTs*)$yi({xjS>Kl6HrgjJGt zdbrH#V)cvrxBI{4|14kr*njEq59VLai*r}1ieF|hlJ0e{k6rcps`)~Vf{nMYyA>a^ zxvKm`@mVqB%l?v@J5Mb1zRzZ}D*qW?&-v!Fp5*yE`|SQ4OHL2Cu$FnZSPXaN&wqJ# zJ7=7&elh*t_T<^_%Grg%5AUt{ZYTMyxL@+k{r1wDX|F!*O0Re!@bkw$&s9&><=nZo zwPbTx|HQUcRUM6cKkO|JyYRL}=;_>*+#)YCQ_l4ooaFg*@#?-!$<t>^Tz0-35xwk1 z<E+B88ecJ$UC)}?Hs02p72bY&?Qy%gCr@0ry63*_YgOs*c-?iebq{Koe*ASlxj+5E zkNkz7w9el-n{GGHtg<d{+O4weywzVgzg~XY8d5#k*)ZK-BH`6b>3+-nsVBaEw=H%3 z{POdkdnx%Xr(VB)dz0-*+@n20KVNS(mx^sjb4;u7tiJ9yckRBSScCVbCaa}Y9hPTp zEDQFX_Tt_0hb!IuB3?Q1ItzI&Gt~BSy=^O()BM>=QnIn@*|(&dZRgUwW3<CE4rFHW z9^7g;D`%HM^a3W0od!DBQvYoD8hw66*+RWSZN+q-kM8Sk{rR`9XWyEdbMXrcqW)Be z|1vk<xc>ZX`{Lt=zU?V|?0>=PvaM}R@e2t{d$q4sr|K3@e_rQ*{rEY<hq)J~AKPU& zH~7c7)o<s>Fa4SCEw6m{&&j*L>gUF*_r5;=^vmVa?-lE%pU=Or@$l5zI^Noixpix| zAGcXQw<>PC@$HZ2rmwbF*!<q|@~eOD-N*0jwB0ZM>`HC)<@o~3ANS|=mHy>C^`BwU z9JPuQ*ZX(<yr27b{>S^dzvRt-ZhiIj&$svIpVi3DyVhZ=_xZNI{xQ4!>(-wyPrJX* zct(ZtsnU67JKXQt7(d;8{^+kyY!QAHsjDS(dU<6p%S$P3Oq*q#qEa~X+pim+WsBoX zLqENX_1)N8%==1muZH=&qTR=Gv-ZvDI%cuY;B#Q5`8KJGwo~%=pZ#T)FZcPt_xr3@ z&+K{n^-k<^)2G?V?v{d+8f`wW2-Zjq^op9GvfOC0>Yb;T=OwV6IIKV0a!c5k9r49y z-hK!%?m8D`mBg^>`qrksHmlC{o2_^laXRwS+*ijw<!gOx*ZTGLT-UL4;TL)zl=l3( za6f(Sp7KaH|DvjL<(m486Vsp9*iG7O6<qV`;mya9yGoy4d3Z9;c7FHr^`A<AzTe-r zYn}Mw8QX%@7c(e_tKBPQkt$ognbn1V8QXfMD;ro>-N*?EJ-qRF%FoM_Eb`uU->dSt zc26#~N^V<>)v@FA?-$?aj+_<IoBo<}{aI7HZ{@d-*2u33v#ipT*}Hz`H-5Q)#lLR8 zeYB@M@@cZlzO}O-y?n8Bw|2kqt!MjsWMkyrjMwDudGx91;|z93-;m=@pXU_*ycB(9 z`}&8MU;Ss0+gJESmfyD8U*`MH_h<htuF0$H?yK3i=g<CvveV1foSpsZ=*7PYf9yAZ za?h*pwqICj^Lx^rOOB0978}bFPGwrLhveP*lx^TQ@lEbmJASpIwda}mgffIa@3}A6 z`myrgxv%pQw!i5&J}(<wFr)a$%{}e8(dT}4^H_6T4f)s0Yo{BzXP^GGaJ%ob>KZSG zeYWfTbMw+Z>H9SoH&#u|e%g3uVNB$Li_fjZIL`U?nqPL^5SDRi+oavk&#O$mV6o=# zU7?o+K2y&wyL;~D*|{fG%S%gSx+P3!SA7lJ{Mue^vB~76$$`sdC!b0R+A_zO@3?>W z-NJJ-pVsp6*S>d;uRgU?uj_dK+v8vF_m`H}s4s3mZ};)peNF2pMU@k7`Y)dMd+Fcz z=1*rm%YNGt_c;7{>eH`p&d<(1k=>Yo+3dwUjfeBfWKO<(Rk=_0)&7fhnO~wVJh9!i zx9i?4%R>tHBBN5dzLbf~i`}*3^xjHl-v?4XU(bHtb#2FyxShSMi<Fn$nl<_4oL}4B z;ys*_jNbXV8BXnA%6ZM__KefI2UjdE^$}}!RJh#AeW+w>NrqWjSYX9Prehmt>113g zuwETMb-L{NTgerfXV!5(?O*V;=6m|{<9Cbx#mq0}pXyh)VcvYZ>j$jk@4hb1ekAlu z^3$vgo0R=tyDEymh}h}Q`RIM(N|oy0CqK@szr1_DKl$11x>+%G8^6~@{`vCe`|`Vg zuKx7jeERl6|64Zdr%tUrwEVR6uj+aGv|j|uvwyySy7qlat<-$WS&tvT-Lzij!{7dn z;H&rj^2M(tzR11(=%?<nyqk(Yk8k<B?BDBi`&Zb>&9j@Aedf!Y^uym@FTc27ZtpL4 zdHLt>%l+rd@yk74Qh4)r=R2Q2T@nm3_p|$T4%&Q=EZcExUs3qH;^g%+=PI6-Z@6SN zEmp6wWp0P|!e!EJo2|`?v{%o2dHeY)gKH(lMeohNOn+Y2GWX=ES6n@|(%U{ZOn(~o ztS$G}_vrn3bNP0D?EC%5+A?+yPqAK5=+T>2zTSs5V#FtL6@|<W=zi&K#KaXX^e^|u z;nRx_E$b-x@#$?*>7Ls!_JnmEOxgROe9^h^jm>*icbEONwPIXnyzpGL%?;J|b-(uM zTi%@YF?8$p<yOhZ7d(#nd$08A_L%F7pT|{So~v(G?I&w9Kd;XGGV7&Z#xbXRtzUQx zuA9z#_OfMdAy1g?`u6pUKE?Nc|8)Mc<y^zN=4xk_<sCA8_I1zq(>IsdF1}s-F6GWe z*NbN&racQ5mOAphJI6n|Z%P51c5!g14`<ugqEA(GzrUAx|8Sk-9F{n9nV6E#^&vlB zf4aWR_FI1Mn&-^x^35-*?P1sa%m1k6{pz#TG4tB8uNK|suKdN{TNA$K?EPTV{`C2m zO*5=_l%HqZ@zS}K=a`ScS@Y>mM<4f!+&ca?^WNN(=l(NHUcdQg`Msy-5B*A>`u6U| zeY2-7D?WCA{`s=D@?)>lWUpVIHUE<S@n3b~GW7!gexE<|lB@WblT;VO0=AaO+H+d| zi<g`c+y3}Man<7du*Vxu&R%`O;Nx3!?}=i^dDx{kFSS0t=I_MgvHDKQ`ZCQIPl|j_ zKmGQ7<>&7;QJPmxcO}01`FZ*LC%@Rumpnh;J^9nG{?feN?VINPXHb6er}K8*{F@)l z9faN5_1evHDsLzirF9x?{B?0{dy-uKGRtL$`ME9M3JNjKNSmrt#JuymRn_CPXRofW zZF4F#_c6WibC=^t^T$as6L=YltE~&2ma8+wnR{Na%dfWCvwYp}Q&08xpZa;K^3=Zi z{Wj)57r!X_dSCnW&-d3~zxZ@-&oi4fYkt|hf3;IQZolT*PgDMu3#1#DA2DvKZ0dQw z<od!j&q_1*eA^wj<od};+453<)_>jpmHpJAHRT?DUp|X0*2!OR?VNjp%Qfxgc4<~t zS6-hw^Xd1#X&ZO0xfk{3z>cL~WNz<J<yn{Qt+z2WCZ^OZ-K;iq;j5N#<C*oE@xF(5 zEMzWUR;M@NW0gndMTy|{)rZ|)Y+UY8oVwUCU(tW^d!G+~+4;_yO>em+S8!(Eo9nFe z;(q=O=N0asm;0mUT(#}D_^0gliynX7V^<ng^ZAqIZ?)IY_hz4Y{AOnS?EWsFzfXQ2 zpY=n0p3>{*+vD!7UUYublNzh^eDyowpMRd)XS=TC>3pH(4bxvqKEF5p$@=JC|LdFn z%=e#h<X_h;m%V#tGQId&x-YQwYh3BC=aWBOxBVJEXI4S(mG+3A=fhtxf4=$k9e=O) zm%Of3=apaF_kP^pQ!+pNR=w5Z-Otxw*r#{z`qJOCEB;pPEnnJa{>=RR)Z6t2@p^JQ zGjGg$v)5*aTgE&;f8p%yDN7bkW4vVGcWsw-W98|4MYB@-r8iE=Ui5N)$|Yv68`9U3 z+CsACdZZr9x~puq?3u333;(?9>hoXD{Kd6>>EgUttJm8t-z!_+<-7aw-`bCVH@9Bf zGuPj4)0v$d8^TP@FD!KBmXcxTl-4aczT`{V<&RSY+Wl=eT|6!>Yc<jK#<k+U>5_J$ z+ov6kHjK-keLPP-MqRi3^3>Al+Y;_x?%fl&zwJuCb+NpAvCOa3<<@($rwjeno%Lmo zx!m))FJ)hBl<X_r+upwYg3><QH&0KzmYr8?dG~8*RQj^qBkEqw!QRvEm41<*etl-} zxvzWHub%qSwqwn~ozpMeF%3Pg6)mM?-Eel(y^d>~0?dgFxy3imou5BFe_r7>%kS2q z3->I^%3sqr&*|q^{i>_;!l&fj%v1UN`q)punQwQ#kCL~1J3Yy^-S)F&=b7Krxqi5M zd%wBA_4#*OzWnv=XRFdz&pqom^X~R(d!A$)&U$X{c`n>MdA3+usj}{*yY3I39u=Qq z-TgXNF5mOqzuli}?Yz&Q=S|zNE8OYz)XjW;pPqhue)izEL+XBePrm$X@+W-#r}%pQ zC;WGcp6q=7#Yn`$!(oC^qe7Lov%lkmjRt3A`gym#EwkJ^weR!fhO@7nZ)e|sAI~j* z^6m3aH_rFp+E@D7Z0B~qYdJZ2^UBX|Ki-pm^T+4cua{-zzWsCKlf~DXUw^$S3$kkV zoiDnp^2suM=AJ*rm+MZSUw&xU^J~iW_P?TYH(beSX-aK*bfDnLc9ylb)+DVtKbu#2 zu1v8*ruTFe7W;^&ZmY`QTiy`czU$16IP=eEcSUDjtd&T(Sz>x(x}M2)(_lX9_665x zPq^`=N8a>v)xXM{MW62NzP|m~^kvVlZ?^jO=kb=>dD+kR_52n8VDq10&fcr9EsdVV zl>JuAztOL6-u3-@mHzX&^6{UK_gz~0MDoRgb-$l!+jWVhZ{GQGbGq+~v`67w#cQpX z#j|`b{e8Wol=GV3)W~gFlZz)Ot(Gi~-e4<N^7e(l$;(%>cQ&q-nsRi{A@6&Qt#7ho z4^}P+P0T)Ce1GA+nrHWwPyS`D-nNKU&1e6VbFB?leDmhyl=aWdK9Kv{_|;2`v%w;V zE)^X2`L*`h!%G`fKkq7v{>*!S#r){7=DCxrdOkbPezj;%*v^Po(JvFTAN<al`+35b z<tM(+zu>>^@B`_~uYdfR(KqdW!LQ1fia($H*tTz9?PjaRF;VARb4x$hK0Q9ocD?2I zn9r^yKYX6AdG>q0-MmD3+x(5MzRIRQF8lKQ+>ZURKkm=8-e-M({`I7NdqZC&{>YlY z<>&F|a#M=;hoAkrv7WR2h4%c0oG)*m8=job_WeuReO7zf>DJn}9&9*w{_>oA+mvTZ zevmmYy(VV+$>RMl*nNM71tecetzKQ{xHjGA=XJljT$wAW$r3MPdd`(BHn^v8;f&gj zGe>sDO^n!m>gu!XEX76sqI-2N7A<+OMz0`K_s;a#%Da^ok-U?P{oboDOWebibId&6 z^VHQm+h>0-T`&1M>*cp~{oar7Rm{75a?kO~=^mElHs4a7v&k7ptA<UPX(eFd$lO#g z;px?ObMH$f5lWV?pS&n8wRoO=b}qkB*PVmcg=bZ4Rjz8=cKUkJz0&9B{z_Ks2Yr$C zx_jUF=I3`eZxn95aAvP|xy#PFo;;hs-|nB<8_)fqbjrJ|vnLnx%iVvzyKukCFPUBE z?rOd~`jY$gWxab`GoyE#Fupo?$d+I0SNh49M_*c07k{3&Zqwww1=Yom-fX^bNoP)U zT5DJ8_f^8zJT~2O3sVdbJElC>bgsWW-@G)*b86?#mR&#SzUtiU*-u{2C^_QgSKYae z*MDiVdjF)CGhg!lczf<=?D^~V;`K&<Wlq1io_y}-=Tx7!`{rdIi>rF`e9~sIuiB-l zcZ;vaTHgBneAYFqhC4Cl#b+yyn$ImOjeKF8FB5g%;=;X3tF7zzpM7g{cklZ1uTOtI zF1@U(F8cVF>-sn6#Le72*<a)Lce(m0wmawOs#jOvS^qZt(|?Bg&;J?T{CR)iKf}cz zAFGSq)&wX_;Y{t4TsB#>`!aiZq=86{+A@U#hPTV5eK*uceHX2pZ!X*~F7ffV@riXg zU#;>=5~H3a&py87^&aj0!k6q_Kb+lT`G{FowlZ()r_b+YvbPkO+^vr7+w*+pnV)rE z|IFO^BzM-Gu6totvQ3fPW~Z-wD)f^PpY(FtthvJcwKE@78RYFzwAdS#7IW2$LFMN1 z;1$KZce$1&I(^(d+3%_5*W|uD^K8%4$ITdfo>=XbyA&g(aYkE~qs+4C^>M#<$=mD7 zUlmrq-!<pg`}yln{CYm+?fmUEvwzm#l>SrsEaF;8dP%zfQvF%ALc2<49y)%}VrTiD zz30r`7uq%U*4}qMwkB+bAy?A&f;m<-=l6b0Jo)C=eco?2yF&U-=cY;VtCT1{7Cd-u z_w()gNBw@SUAOD&%v}OqvYP|1yce9b)hFwws`j+)>$J*`B-h!b+66uRRd;unmzme| zb8hQqX)YF?r)5={qaH8(;?Mi7@1uVO&%VES)w9{!lTVr7{koxZTDaw`Qk6YZ_Qctm zh0Ut^Gv(!!lAXUkN9<eodAY>r318cH*<7*XeDU_HT;ze{^UlR9-~4O8_2Dmj^TPXk zix1EJ^S1i#so$D!U(Y}NeEGqr@2W~Z-}qYf>*gon!}1Y^?5F2%Ja%`#xAYg~XR~9! zR@@7Il~vpM%)hy$Ao1JD=O6#|_r889dHKtK2KDQe#~<_EymaS-iA((JxX^QV{~W&f zWnbijUGD4GeD3<WY|i?P^HP5Pvx@qB{PvG8PfF?*K6_VOEm!!XQ7&ou?90ouCx6%1 z`f()u<X`=*MeFOIJ^!)zYV5p=pWa=TS#f6Wq&0F1mkrkSJl@D#AlbO)@YOSWuI{>d zHgcEYJlEby;c;_zWuL2Ad+y2nId{+NxaRv_H+!`66R&9A+<Wyo&r6j)FWueso$c$9 zQ`=YE+wb;#SAJnkWpsg6lC6YU*ybZoc)aI?)#a?r+PbDHO=YK<PPkjII<x9Y1<y|} zy=68hZ25TOW%2VDe}XT4p4fZg$(KXx{&Mi`+-qQ5c$qcrS6SuU+2>x{+&VLP)um&l z`E#$ge9k<3-Jti0_0FyHt99PK`;={b_)_t`HKh+rj^_JLuJN1m@cw68`{`NcGjEm1 z_=jhli_dxT^^M8(^6mPp#m6_r{HWHSfBAN${=}UJ-^%3u>t9~+yW&4Xz5Tpui_fp+ zUkWUCpL49^((hYl#$Pg0O`79EnmNwhImJ|*^HjFtLAt#9)#4Yu#R2;o80Y5fv9`K- zf7XL5zbYzM&M`fE)!^5A>1Wq!4n6;J{M7n}TAOEa8ujz7ZtnPQU8{fg>-2oR?u-Xt zm(T5-ZmRwCac4@tq4d$~b1Vwt`j+|!pEdQXcP+Vd<@sw-L#fo)iLds|>-Yb>dh3&l z`SJR>XFuyNo%8Rmm5|%#!#e~SBWJujpBH+4`{Vkn^AG>}&!AGh=RZS}{h}W`bdEJ} zM5a!Qj1`a;VV~h>+WUgb;aH}G4MRy=XT+*Frrpx!=SqqsCAa+j{y2NG?y4KF=iB?6 z6};TM?8CZ$?$>PXd4B0npJQuy`^8i52RgsE-A|11Td<sIUi+zM=k;8^{<*!rsY-I| zWY@K_F$dhFe3c*UDBCQ_7nhi`*(&4t+|4JhJvp}C(@0N0-tydasqH44PudEUSk0as zwO#Lf|L!T7$vaIldtc^0GEPpL#MmzLW7%?FtFSKt=cgXOv^jj^ulsF(oRaSs++ULR zCp}*C>r?sSr~92g#~=8+-n!;LgLmck=hr^X*?e~SE1S6Vs*h8@l>Pm>-{r-_?9cPk zGPk^bqaO0x@7%59rFvVfBP-5swCQ@)lkGoub$2tL{DO7;mdW?_9r#kb=bJ6pOLbQ^ zgU^%R=i6*JYW`A+Y4s}oNn7XKC{bSZ*)(N)c7(9f&dUajThH0#+dTPDlee>O>s#C1 zp?<N~iqq!g=6O0TDa@GrqqyYt)83zt?31Hk&dQ#b^4YTI(W>Cf!HEeM5<g64vAb2J zIAcN6^>gRrDj&$&>g{9h-!*T`&v##buzUa2K343P@!|Y4{+hqp&ip5L{IV&2lb-k8 z>!Z}~mB-fA>&=@leSKB-u99!<S1pTv{CxYc>TTFBzsi@lA8y+lb4l{4(ck7eS>p>Q z|0?U7>YojlvtGx$FMDb5opX=vor)`2escFKuiGyD*Zb^KrG1*$?dBRk$hKkKJ-v4E z!NV6Hi(TK{K6TfNdBx@X&wih|KUMJb<N5Pt{?tleu8vv%#WcL(alGl5{mw;o#V2oH zt9g4aw`aHbq?yN47u@o)kFm`-`dWKlPl<AIUfQ<0hU;D@pIq&1Y`j_ZG|%p<l=AKa zH_ry1yuAM0T;7GpxwovEdVRk9mFMNf)$dX#SBmgvAHVnW>!W$mG3Q#+4PUQ#sTA>9 zW5U6t3;R-g!~LyNUn@=YVK`^9AZ1O=lDU0T!uD0qt8Bd5cH(K|?8?VG^X~ap?hC%y zdGBwfoVbr|@l@B#c@JJRX7^ZVoR!=Yb#KnSKf&|nT*+zs?Dpz?YGUe_<(8(qEN$hr zZk|2;;?kGoRnM+`d0f}{@LJJ1x9860yw4|pFF78(YFE+j((`rYmu8(wTD)=p$$k5e z$Lu|lR`U7g_1>TAS3akGd3f!q@t&u#Ca11_wOsk?U_q=vc7iTjx~RzRE1mqagKFca zw{fYdUoCq5xT^T{<n_z0J=<E9xnDbGU$6MXJOkqtkH>4RHy5A#^7Pl`^Yznh4V%3# zFTMRdLfd+t&&KIHcU$f)yu0&Blj*4!)9&`}DRcd(dPe;6ycyPpbKd7&PPUa7ldC>? zO|SJA*NcOGbsaVD7d@XJ|Fdpi|M_{#&Cl)YpWXaIf3t0x&CMNubxzuDdsn8u=;!qH zFU+6+m7lY3y8X%c6`wx^&poQTYQ{2?1g2e53Oq(^8rR~cCtqfLBp|qHQer}r{yOf> zTJv|VpD$7G^RH%U<chw&<r!yE^6o78SlnlL@X>FR&-Zhy&R;z9<cH<Av*qg-&gnEW zH`n<gc%l7l)js)~-3w=}k~}AzEn_}uLHeTQ8FiMT=f#!Oj_!1jy*NwC^hM=!rL7g` z+g_D1*2w0bTx>bFT+VnF8_(6`v@hQ*KFJ(kWaw|aZf1dO)K=EQyyGiQJxMM9Y*8+H z+I0Rx8|%ka>F2F%zLzg-wf>M-wdW4M%U>t;^KQk<=eqj`o(Q}hUGJRy!u`y4JGWZr z_|WB-7d~A(J?_fsHMXu*YwzxMl&mYfk!3vR^ghqS%hTd!XbG>gEcp3S_LS^LZ57Wc zhCk=UCErXox%_GUYQL=shnlqhq=c_Ikhj_3NZx#(diT!o^UwAr_OGZ^KO8>$UFJ90 z?XH|Hm2JO-*`BxCMfW{7zxrd3-_GSHikHt>{^sntwSCKD4kfl_svCS!Pr9+@@@)ON zpDSf*v*WJa)>vt5khb6WT<w1bt4hA!<(K>$<zof=C*}K@y+2iO-G4(x<)8lySLKsd ze4g|9vrhOuGdua(SI@79{)(&Y@cexE{nz~ltA3`P-}QKY^zn7a(!S*jo~~QnuY10h zYe&`3r+bVG&($@x@9q7;J^#SkMf0uR&Y8FN<jcqBU8^!{BhNoMuDy6+zu%r650CuX zaU}cb>)oZ5`>M?AY<+fXeViTF7gxUc{`{P$UZ4HX>f1%{nVr)fTYI!@-M*Z1$>%Sx z&-h$D@k|hBxsl$q62rOSYpnT`pU!6YRp<A%-tsK0Bt2Uy<tDemyY-9KlpJ37<bC`Z znKKt|F>W_^+gJWIrr$5)<@x4|eOF_3c*0F@S86q6&6>J&uaQzy)-<ML;ygdko#KoR zIkr48S|v<$wMM;i-*mNokyoeBUcT_@yt=IuXFtz9z0fu-v-tTc?|XA@Sp=S3^uk<s zt@WJiTQ9Y=t+&}!TyDiYeeW0Zz2|oPwdq^qyZK#&Tdh|9m12dnx|4Xb=JGOMZ2Nqn zXubF2dsY6k^R6>r+~e<-Iq&NI?P5P4-qU?;HKjt>F72N5i$9`OH>E;8?c4SEmx{HQ z_DY)<zEUC2mzRZ`C)TdE&&%Q{nlyC_&wH!n>{_k0Ogr;~E6OY#51g4f(^y*af?wR# z*U9UJ)78%T9!lo5+*$egSGe9j|K)o6e$~a5rL%gLExz(`kI37~r(5^Lt*iHZ_U(DU zd#`QGEsOh{hn@AO_Eel_+Pv`k^b0%RPrCW~!}X%m$0vSyZ@%s6o72|~&Ka-#vwi>R zddEL;|Ei~(<=czCs=Oapvh~=N%U`cd31_{YYHQAYbmoaQe;Yqm|Ji<7e#U=>@Tbp| zmBN^MmfT1X>bsQC;KnNvIDfIDYSF^fHiqQWVmce7a&8#>oBre3l(bXkt9C8CkhLR0 zqVjn6n(roG!!*RrrDfXg-O@c?^4aKD|2)Y@=i=vn;E$_mzP;b-&Ee$Z_DuS-&E2{U zF0+ZQo44z^gGjoi_gTeDp3NqS6a0)5XQijrXyjOJS$#)BW~12i1nE-txlapzYz@^9 zpVYHv+TpcU@3Yq*y?U(U<>T_=HznUnlQ%v;v+LRI>1&htoo$bOejhKkU-$36s51X4 zB}ul=XK&-&V;%Q9-gE9xzvox_&gEa%eB2+K@ZuM{&Na5_m!8)OwHBYcWb!BZ`mFYz zlFv8Kzb*Qr)KdDodEU>zXO?@HZa?n$JpA?d%3HVkm3O{Ov+^-}lKXintFODwpTD8s zQ%iehNUV$6Di!c<{n;&lUQWF`=da|$=f~fkf2aBO%k3BOK5;f@n&T?|yj(9h`TfuR zQI)ShuYB9j_3}iC+23uCUtBjlf4n&N_!f?zA1}T5KILMcioxNB&#&sfvbGlRk)HkO z-|e5%UI%`8QQPEkoLhdrd-8jM&)PrUK5x7I`}ox3Z_i)<x=x+v=d<VB#b^CpzC8b8 zQ*roOg8FiQ>HJF5dhHc_k>B;AD&EScT<@IzTK4|DqP5QzJ{9iU^7EYCp^9UF&Q;bG zzxpcju(Trksne6SRWp72^rnYxUcE+QUF7YaD+Mc<dhfh;*>$sO>X|d#C4KMg)`xzU zIWIjqTzcsNt5sQ(t~|Cao))*>(9_NDgf-VClRMF2s{PXJ(-*7F@0s=Z_LBVRULxnz zKHZ+$zueP%?dhFs*ED?=^;?tS?;kGxcJ?R!_3XEdOYd{n)coD_Zfla9(TnCI=B2is zyo?%N%uySdgiT^PLS(n@%oaK;YOM0a;#TRNw|`{$g3a6uM4!CdHR<`6qi)|G9G7GL z_R@Q~^`zwn_e!s~aTOn47^gMoUeDjsZP%PCpH8}dz9=tqc5ME_=XL4pIish|TxTUy zoM$P%=Jc1zJDwX}D|xi_^vbiFV)(9hZC-!+@~zKF&n@SA-&?Wg^rg!YXWu{n{d42y z<=4%hJiga=<mtZMM|bbYS6=dB?x(tQG52oIU!ZMr?a57sUfnnToBGTn(qqqG63LCb z`e9CQgYNSaYu<<O_?vC#t@)YtENe!l^_@FsdVbsf`ce_~#Oj9gR_nQQ{EFWi?V0aq z`6|NsMc_X9WmWT{dtM#udlxmQd`?}T>t~<!7b+Ck)jnM6KBLVs^=Y}qdDpow?rGk5 z^73c#m7@F8YsJ|wJo&Qbud#kbscGT5_vV{FR*6186MlF<Kl96^i?Y&lm+efs^>laU zwH24<%ACKvUwM1SYx^1dqn|!s>fy-5awe0ZaRS2$odh?*wk9r)#%Tc$jx;z}_lG|> z`8T!TmCeuZ#@1=?R$12GDb9*0t@Nv@_;>ro`M|R`pFBHOxM^l-b5+IP%6o>d((TgE z+jSqV%f9&Y@s$sAJC{|cM;6XtPKcQscS^Wd>P2>9+FYNsYdVP&W}c0S&g_ynUY=># zkZB?*D-h{?mM=#-^|a?zOSQgO&GZek(wFmd?0tExOw(f4`%9ho_bjfAo_i*q=V7Gp z;oe>E(kkEWt&*8D`}ub}%g?*?oA(}ly?Otv^vloP*1y>-=QQU??XJf!?50m#{Y&Kb zhMJ;p6RXdC&7b~up77$M(dT5|_0LOwrsGqlm+x-<>+_LcF2)!C8vC1@<zIiZdrtS< zFYBl1-(tUGJSXqY-{p3d%L`^j^wnxhe?5QZhj0GnU3-uFosd0N!>+eq^1{}rU(+={ z?s@)+f3w}`Ip2$`U(CN~KFj?}=;QLjcQvo%WZwL&{KLHX?YbR{ZFKhf<sW?Yv+DWw zFLCKF`uft{^>+T%p7$k*FZ*=z)8qG2o6FA|Z>X!gexvY9;NF?i3+I_t)p>u}bMei> zuP@>)zpectmv#2WufU%{_w=i3vybmN@3HmQ;}d_%ub$r*#~<r_!}!FrzcD|Le7U&$ zyw%QmR!!wQ_jRA!ZSgy8m-{W%&$nMcdOUx_+~;Qs{aeoaUzohps7`j{v+VhkU(d9% z{3SatbFHk+y^6>47YT2@GTnKOaOLeecQx)>7w&%c>(9+7^Qk$nUVXVXXYH9e&oj=< zd8oPU^NiFDFHG*Hco%JPx#y9%YhjzS;jU<do*aYMi~Aana!0;-nSZSF@u^F@zOc5( zJij<IHp0Ao)_K>dFUpEaD)Q43UYF<WR=nC?G-qe6%s=N_egd2KTz0Z*JIs`M#_}rj z%CwaQJd=;Gg`O?Fyf8W-W$$^*cRv@~+a8};bo=?dHP_{rM7cfhy}x|Q%h>Lht1Pbw zu2c1sym!>yJD<&@_`d7$TJ!le=WFij*xtEyUi)R>_G104OIEChB~LEvoBX-#^vuc= zuV-dWZz}%!FXPkPY{!+C*PpMHH5PnX`Qf5%)dZh-`9-@-lgp<scc1TP9=&RhxXt>I zZ#x2$kN;YdwOiIg<LLC=)BQuAt&Nc|H}(5qeSGehQ+f9<8|CPGEbQYmzvjNXGbVqn z_0po<pU<83y0$M%Q|XFC*v96bm_Ki<<T78pd2f06{DRLfAN+Fo-16n++<EO<>XSFW zO#8Fe%}j?~-mx`H-nsYZ*Yr5;OUGmPTK?>t{M;(tYUU^7jaK!cT`cP@H(vPgC~-$T z`{f_M_N?v*PO%E!{b%#EdEr+t&#bxnsz>K&!Mff#zkX?+J3eoBjrQz4@8!z(F)#P8 z(s_04=j(}wmeg$Hdp&nw>9=^+r^lbozw*-}cC(3#0t@T5ovTh}IW)B~81FRNR1|UG zfI!x!b<b@|&I+6}i4T5j^T0m7%KG2JpEjQt8(#Y2w|Mbo-8rXH#S}hBUcMrJa#!rX z+!<*bUqAY}-|6{$8$0=&pyL-m$E`EdW?kCYlOXles^W|2oMr2sFGe)??rXcaOs2@f zxGnS1%hz%{ZP|2^eR@tTT_w<VujZDV`M0!#*?WpDpQd}~FfUqpVjAD>{nP9{KJP8n zIle-!_(ih6y4j5BUFEB9Rvp(|{^?xX{L>~s??&F+R`x}5zsvOVtA1~^nOQq|z1{kX zU*9+Oy<cy>uK3WqpONb)mDEhW^Ktr|J;^y2inR-b7hAu1_RGF&zvIsxYj59;z8$9& zbEe88XGT%@_3g9l3SNGdJ<oi3`o-VHhxZ)koHoyQ_T}{__s(a!w@<qG%hFfB!xcW= z+1`74`P00O&kDcotN!9w_({9+>{-9KNpic5Ur)E&cQ>~%_t@<xa#h8fpU+<yu7B?M z(el+5&u{lL)Xe%WcH!MG<5$0a#qC=-=P$pzo9gTu<KrLumz|c{p_cRV!{6t>=DZ9l zxmTC=v-tV)hyB?{<(;={$uD^N<j?s<&c_PNcBe0~XZSuv|J9#efBrMX*FLG)$5{F1 zn_Y3lvvM_V-O#xF;??ID7ew#aF5h$GSB#a>?^k;#K1e*W_vgCwWz%2Q=^wv6<NVUJ zUp4b5gw<SM<72)q@eWJ7@kbu3%WH1kRDGA#`)1DN*=Y*PD`#Au^5@>SaNVVA9xi*y zm$&Ppzn{;Pi#IOLdb2K9^^|G(44pqqe6wa=o!mEJhS0)&A@-6cyUxvdA8amdIjeM; ze6O|4skxCmt-jX8<yw4=+<R~8&eO-s?ubWLyK~)<n>>BB*_N~?cX*}e)%DdYd=(Jl zvWhC)t<j=(C83+&X{M^@;w45lB|COazAfgz{Q2dDGIyW%3LEqGT<mlAS-sXGHhtcg z_k8QO##Vk+v?<LiwDNrREiLfW?mN>@?Q4B}r`pc?YUl3rJ2#u3|9<#&)1BPw4R<8Y ze%`+8Wcu~|*(Xc<b~b&T^YQ2T+dr3gUzky5zI*3RTUiOVpI@C<9zFK;m&F%f^K<1k z(>G6#o6om5U)_Js-yKiO`h!m|pZ(fq-Okf5_sZ>Twve~m`!D?B=grBR&+YiT{A`ud zu1hm(4J2oKDXuDCb??ltKTm&J+nUe6URk@8?-p<NbF~?VwTtx)(%Pq+TL~|IHgB%~ z%C1jaC%k+5;LhQ5u~j$k@BXlVa>>J!H?`N9CUhsw*;|({w)v9#vi|VXbtg~#v%mYO zc3vLeXTP0~9tm39TbZHbue@{i`DF`#?)rK1bIQ|wn`*`Gh5Cn;U;nr-&2Pnh&NnkJ z_jNx%@On;}PTIGZPrmH*-|*@EoV8DSU$*Zx^>-~zKO=DVPj<gi_1YKl=67pkMfuPD zXIS>BV6Skmf)mrlm<#v(ik>+Mv@mb9;PJ~a*w`W%9h$oA$eoi7PGz#{0@+{6*DrrH zzgzB=@sVFQC)_&1`|4`1(b4m9TTVy5SbBK7`nfM^mdf$-Z25OqaK8BScWGEn{^GgU zD}w~pYO;71?z+t%XnFFQ&(&o0(Dt>m(z;8|BtAIbE^Ydv@VTGI?5ylpuP3l9Y>Aw% zJ7=fn@{8BjJpWu$US09zU2>?dTf@u4+iV<{C(q8?{6Of+FNw;mlJCpzSW9f_4P4)I zY1f|(PgdGb$vk`Au2*#L&RS(nkEiB$zSf>zE<dq)o^V|7{``5#=gKA+%oJ(#_4a8z zp)GoD@2P$N86Ng;{TZ8;`O5E}<-I?}*K=oF=B>UyYyXM5Ip>ep{k%MX&$?<g(`OlX zL?7)sS5vM1XwL7tUHfde{nWXCsM@Rd*O~CMMq6DznpIiOn_cno>!V*MQZtX=cxLbU zwW$AO?VP*&;w`^d?q9IOJ^SMEqwe(+J{MX(&x`$Yzpvz+=$0Esd)G_-W_!NW-YvT9 z<d@W*pZ^*3>Mmsz?P>g6d+qTTzgsKH?KHm4_*qq_{Nm-u$Coa@wYm3tUM=_J&mwkF zcVw%6$)4xm^XIPZk*{~pSJ_OdS-)Iw=gb+VZ~XNVP3Fqg`ju=p%udtgyZzVo+%Acy z+-p7^KeJ_K?I(*r{que%U!1$P(D1?U^mOH!H~WjjjV-qwK6iVCugXS=v|T&Su5(TI zPfk33Dr%QdP7ue`Ss#~6uB><^^S8KkJ>O)W$C~F}$cl$pid@v2FV>TKP3p+B?A}+! z3TNFT3RinxD!F4h>)VENdBtZ-H|2KyHs{;#`f}go#h<Tde*U|;{gy>-jCSF=;(Mt= z8YesAmKNtS9I#jsa8}&hX<B+)?<>Q`*(DR3FV8MGk!dCLx`5|-`svH7PyMN{{4!_t z?Cg7X)7!q(T(XukzP&R$>fV>P!QGY5cj+%L$$L@!`nX-FzyDO<r^|bO+skG@-SAOv z#q-<iZNDUUUaqK>Tj#OqYkR`glh<CBJ+9a~_vGUfFP?sTwe1PF?7EoUHt9PL*Q{T* zOK;D-nRlP>ofmU_x?Q;Y!pA$TzJHFJ)5}&Bul8+E+`R96_kyp_bH8u5O@C_T$vvO% zRz7;2zlQhhp7*O~chA?I)cdF`G}mm`=jfn=iwkn!9DQAK;`QP6;!AF?yZ+2p=EB>J zyTXt9@OFiXH5|BCH7DiSzvBDPmzzIdJ)2i6+G?if@wn`ppYAhX?$@qdlkWBY>`$*r z>Dk(*MK6!Xow>et_D69Ud6#1Id2$yMT8|l*oo3lo$gY)hZO;9`bARLKy`T1D_UC!K zBCm2kdGo7cfAq1h$39e@pYzt{?9=7z=XdTt{j$~P=k@hF?>;(pMQhH#-lz9P<9hz` z-SPK5cebXYH1+7cw{y?m=aOGgBU^3f`)BH}{o=E}q?Isi;*fAvU$WijNsGcmr@yjn zrIpiVt}96~a;=hDdS=t)c~T3eWW2q2^{hmW-O0;!y-&_xiVJ(qUzvLPc!5=H#GPKz z)E7_Z?Z`J*mRmpF=CARQ$DhpC*Sr3C`B7G0;N?E<rTMcze|eO(q9RPf#FnpHu60Ib zz7hAqUu<k9FPJX`Bwo5Wv*2ygi!-5H%@%zwatW5m&d&Sx@J_|6Z1$w=m~DO^eYQCl z>aVEP%6|MeeSVwetCtsJnzBrkW<2^}eK~Np2-}u~%42hHO0Oy|m%3|t`RSbKw{I8y zoocuA^2wj~tAEdUdG7t3eS7L$U*s8meS7dFudk-{>PZn2UCZt<WtN(hDed>EoWE{Q zUR!?ryuz)Y_xY#3QQp(iow+AosO+=B<I?+=bH4GJ-t9`1)qHV&>QQ^`*I(b;yv$9o zlb%~IdHL?=``aqbpWSOMp2PY2T!q*9=-?0gc3wOCyT|xh-M;Hj&(^$pY#QHluRdb# zWc!uH^=fjKb@L}*a{Ff9e`J^V-q8G2p9>fLeX}q9;_r63=S$k1mp=M&e%V>!LusG< zs_h+ePn{8udAzvt=YIzEhu1!z`L%la)gN{X`OfS9nP2)b_P*<$Gar6EdzF2+=;h{O zGn=E%kq7R&ZF?wndhMl)M=#B}XnlHF^QFi8ZEe$aKVFZ$eCf->&&4Mn=ZNI_n??1_ z^`Cbv>OxxHTM0S6_39o^X1<;FF?wV3`C2~H%U#Bcz8k(v4C}JdV}0#z?&RK=wzXF% zjcM*mg$rp$l2(@6+iwR5uI|n=x!rhiIYX9q_xe7yXJ_s$d(XZuZP(?VAm!bb?naxh z7nN1omR#SrZ(s4{+s|s#yWh;Wy*+EQ@t1R{mR~Jy%$~|L+gQMC=`0mB8DFDmG17Vm zr_Yo~Uhr`0u4HMwp3kq{tf#$f4>tIG@!+|-(?>7M?wMZk=Gf<7$)D#hf4VR4Ls@WW z^SaXKRm<f*&-AmMyZ3_hY{7dEP8rVnS@dOI%<Ip~<W0V%FM7Npdvk5S_0zPXUpvdR zF1<Xref^x*ea9Dk&RdsM@KNqod{o%G+%iks^!XO0HFL`=iyl{5l`Va_<NA!(vvw49 zBtHN3dNtp6o3bx<<;BNeX`G+`H}~3pN7MD@$G`Q7SFW4#HshG)lV|KUFMRd4eSFQF zvnuCg+p8~Uvcr>f&&{cR@~q0|<>SAFCtj<)e<S<n^>jnQElZ8HCJ20=XYklMW>fK< z&g$}1?ZUM$pMCn~WxjA`tLWs(#TQ(^t@<PO>1FKu<MB${D)sj0?L4zB%<oQ4Ad~Zq z#+X*-t{1M=@3l|ek6-(vy1XV|^^%SMBJ0a@?EQU2XRFuhTfZy1Q#w!h;(2G;ITfaJ zb|3pXXV$ahb(?J6s*LjNDocuIoXq#vm(rcjf6gMyYR?PveKYRZ&575Wzv55m_w(KH zXXEcw*px3SRAo_|aY^O!T~nJEl1{s(E5E*AxyEL8=OQjK2~+PQ$yr?tM^$%5{WaRD zKl}B)_VjbV+0|d(<Cna;?B_1Iex66!!MpaX{qb=bubj=f&tGlQFU$O?bN!b8B7e@G z`?u<<U+lA+SF~y8?d?%)HCZh4+75?{J#Kua%-){Gc%fD#P3KCM!hWZtVj>LBKfT!O zJ)^;~_fCn$X_L=!Q_foMn>}CN`LxY)e|NR+bsd*JbQLX=-#Mw{@b@LhR_3lSOFU$} zz;t8ZwR^3F=KjgNG4p0m4BU5nTE)A&`vY8S<ahnDtG`xxeRk@ReYFl*J8f61dYkjB z6kVOd;C0kv*3*cUrKZ2c=lz@dVbil;Z<3zR+Ld3uPClY?Ud%o7k8|FCJiK$~uhYw} zIqkLix$CZOp!#8Z`||!JC1qvPIb&^d_RA$N-~M*T{n;-*-8_ExW98=O-_PI9`*U!% z=6mJZboIOaXW!K|eGYlv|9XGj?2m!*%a{HPUVTcgs4#N=$|QTK@3(iq^?o;}{8{Dv z;OVD#mHh1vd|CGEgfP45oS8NM8H#T``;_@5H~*T}*4M{Usun-9dh+=BsRwTV*3bI% z=kw=Dd!F5Ax*Ah?%WeDP7lHc}&LqsJJukI7E$q!zzwBp~9q)?nyX#x8Q%zqr_iM!G zfb+gqzWzEo_KM4NQzcB!p9zyn-<qL#<6&&iJX6cqj(b&UC)XT!;rOC7uPk+=$1z!d z3*VRveoot-na(-Ow<~hlsblZ>!rkJ!whLd1wGMju^Rz*E@z(`+XZt+yUVHYU&E52* z*M2tt?nf_saCy1;$CBuGs#nf@7oBhUejfMLJ?Ha2SsPyqvi!4J^;GsOp9kCuj8m1C zb_khwGW5RD@{Cu{)@C=Zyq;~cxYoV5=<e*k%^|O{=f`PpH-B1`c=@s8dh1)3cOP#) zU3KSq_jR`JYiG|$y*~Ev{hZatGFk7wt(;|C^6B1_%AdEc_Vv%Rs@Ylo^S<(upYM8$ zvu+*Vd3MdaPu1^D|7^bB82bFLM9}>`zvn1#e|m4b?dRIf=c=lAFH2gsIVWpt`|O<E zbMDGTo_-UWXRGt-bJM&SzrV%bpEu?ElziWBRbJ@%_0RgZ#r4bAZ}|A-P4W7v)fS(3 zU6{*vd0qL`^V2<dZI14fP59btd3jd4aDU+Tqc==TAN`*5THNzl$gdNxy3b3$dVcP$ z)zpjY{iQ0KJR5q>1YekB8SrtlRa)uK)za2pUq4<xvGdj5W9Ra=Z=AC;`OcTgHK*nW zpI`Q;Alp`Xx!Gsg${(_iCl$Y57qe&f*{|o_`Z+IsTx$6&lvif;)~Oet{0=|xwPyJ% z_kADlzmA_;KV|R6&*$syBM<HA-yOblRn(r#yUf*n9#`#bs%-OXkGBikxg&c0q8D$L z{Wy2?=DN_gz0Gnh;Wj(jveRr|ERQHr{I-7n<uB(C^gloU{?9$(i|6MsY&z1<b*Zsa zQ<*{T=;xau`--l*Wqk2)v}rI{!1VgU7Rw0@$K<^(AD<!Fzo8`4R^0qWAOEJu?QVg5 znbR(>EuGxUwpa4_lXuAzZT5wqeG_Z5uIPvR;^oFuYo6~*Sn+%=Pi5qq>Y!6HCYP5* zJG?YG{7j!qk>LejgN(|{eoJSoITEf#3f{{c*X0;T8!ofTOFI&AQT24Z%`4e|)vFDo zx9_bqpVKR6Ia^|}=!;C_UHoQea^2RRI>z%t?XI<_y0~}YvYgy!LBIEW`CL2e_opAn zw-uBenIiBe?79B3#Y;BoEj_iYd)h%O?^wq$3+-t0`iKwfm*>?oACtKstUv2sRbG4P z<#Q!=`jhqhoKNpcfALp;_R5pBF@Ebh4ClxRU-94ka`vyNg`az09zXNv{mI68>sBBC zUNQ6h>Vp1RuaAdCUfB8A`*qFz>}Q{Z=S9vvS@bKNf4SeSy($(}zfJb*eJ%V}E8~8x z^yl>KjUwq6E#FT}f8ldq@p|3*neX-f-h3Xoe%?oarDW5Tzn9F9-@YbU_Rpr)@9~Z7 z&wFe#KlQB7ocb$yT8&q{s-^fo{bF(Vz#X5hZhhUe{fJ-Syyd!QLQ_k2ZsNaO>A3mo zp`GFOan-9goBH0C?ma&L=9Rn8-|0nfw!Esmwy-jDl`DtQoK??!FPh$azGrXo+Ue`f zH!n3^mg}y(a@Nt*FJjWX0rhH4tvR_*B7?fG%{E-^Hhs;lmyQ!$1^vp?_@2wo<36T5 z_k}>Zm-*a^eR=cV?J2H&*0-+otMTRBJgbRwyYKCLKL5qXdov$@pXZ))`?9R?^Iz|c ziVdeKFidc3V^C&zHf5DcL`;jmc*EPg*_SOZJbPYzZi}r>%%gAhwx=%}TDkRPo_?V} z`EHx~#KN0T!)12bbzWufeDk<uuJNv=t4e2VZoX|)dL+~Lwa>h=tH&KJSDAmjE3v2K z=eZyI#ABAQ-Rqe8<kQ-Bdv4DzpMJgO`r=C4=lf5Y`lQ*iPmh<iu-!cI-tNsYeK$Hv zE8kpS@^D3hPZhsyrN7VA_sVMnuRYt-=bnAhaCT+ckNedpFK>T-U;4#;=5M>=qrTp= zo4a4_&+L~);W5H-51(con;e&~HgmVz$$M+Qd<wPfRbO;&&fha1_x<jV**%AE^WCne zF;!3h?7w=v_jXy#?81{<ZrsT{vdl<QMESG4@an#=mhTPiu2nrf^Ef2=WW?nQPYaFb z2Nz#*{dsTV3(Nb<p4Z*Bs<b=LdcB=_zg&5x<JpFIpT{!4{=_m*Y<;MB<n{FIxuq80 zZl2m*7yEqqi+kED3wDQ3{OVpm<<sBtGdt_@vriuJEBAc(<y?B0r}4$}>S;OYM^?Rx zEqVGPx#qi%-&D~>Qc3gnPI?lOJ}>i7@q)K67Js(ee|-77{1f&w<1g6kxBpiByjzi_ z%Y;FK`6#a#w_}(S-&?MuCnZwWENXap;j6Re{3&MdcDfq%UyPM2YB^u>`q%pAtHE>k z{4CXeu96wxTD)|5_q?J-rJtXFzWYK(`^l8&-`8k<-tzQL-?_-b=ZmZw1e<#kcqFon zDzB-uioZ~pmLc$FPGgHnr^4U#11pz>TrRxt_<Gk*@5QF?t`%3#xSagx`phehnM`-9 zEIxgX(hFTv$@9Kq<BY4kGp_4?DO^8W?y2LB=UdObOAC9Ko7OjJ^+xIGhI`Fr(@tJ3 zofG0{xa3Xp=`yy@yUlzLeq3uAe!lo#amlKbwB!Y~=K9~(bH^{Yx~F^maNUfW_e=ir z?`wN5+q~tT<s*L?=QGh?OeB(~3%qOhx%8&=-r8qBTa%v){rt11P4M6=<K;8n+RMCn zp7Ztmw2;{2+s}Ti_{({&ytwk`x?=0C`{iENs+R5CxAtkx@e8km&qtq+m;3YnR^@*C z+@e*p`-@N4+<kuK<fVNJ?)`heJNrznyqI0>>G_u*ZkAuTbN=$=C(|#pt6$5WxA>#F zdzj3e%DXSW*Hx~P7hB$AG3)r<^|CzI%x}6>a8Ah+JiFXYtNFQ$T`}L0J6~m1v!q#x z?DAW4thVLN=U>j+#d+3~^DOsfyXEz$`!y!3&28VYI7;>Oo)>AKteLjnxNl_{7<2Z_ z-|uD*zdYSPJKgT`WPkJUh?U1*p4^m^9zQ=d(Mm>t@oK%aEqw?5ww#ST`X)c1sMN4w zZR#6WtIIphC6>GSRqp%BwDC({tZj33;r#=@Eq>N*eZ05kXYA+sH_yIoYP@veTI#W6 zMaK-CgwHkwla9@NU?s)qHD}u=X5p#}XL1+++)z}O_{#F?hbno+Nk<Fz&H1tSbMU1z znUhxVUOlB&=r+Io^~|f2HZYz25;J}6<bCoN&we{$Jhy6J_08vduB8ar`8`*Y%eeMz zk?EQ33!fZ#Zuol7*ZIZgza1%ku`Bbw-Hy!Xt7g6a`Tl5C+S*0G$}OfYFbdv%y7K#+ zH_xwq4&y$%?eo6X=PR%G-aUHyg~+e@Cgm2_=f7^aQS<v{mHGBdmGASr?c%?Flr3<3 zP<rLqo7;Dvy;ENDwYci%<)e2Fp4G|k=3Kw9BD?!C|GLlXEw9=g&VN4l$Itc7%d^)W zJumCtk#4qj4WsX-ohCW&Kc}ZgD%JXwK8yMEt>oF0b5gf&pL&q<YscQ7>+inM?!9ev zP2qXTeEs0r+XVz(OifFc*)`{uLSukU?z1m4_g){oJ$J7~ZTiY5=f2B+zPowl;o9=~ z`zL?3*}nYz?B!<1_N!kkn&<8&U1YWCwe6;|=ksPB$!a?99=G$0+iRJI%X1}9-PXG< z>uMRh=Z8v<^@evdr+(S59)G`n^4mX$|K4vt@GIH$frztZGP5FUx0LMS;Ie>i@gAIU z(^VgQd6&v9r7$&jZ$t64XDijt-`Xs%^fg|6@uK}}3-8~w=Y766@Ja2BpYFC_qt$j! zw5x8`xB4(qaNoi>@#d#@<+3*$)tq;aPd|TpX06eQjK?06j&myRP}ZMwfQ2P|A;T99 z#(!nSkt^CwGWRGp&OCG0>FKJ4e>U8>_Tri2=FnW5GiP2#^KCvJtInnE?>Telu2jiZ zsfSl2nHChveO7w5I>Pe0)7;+U&x*9y)m1NEo$`9;HgiAYulG`qY*%+U*Oz}iZJ*_B zwX=(T=87t9emuL!Dl=sBrN>_)-<Yjhy{qa!1F!jHzn!+~Tkq|9rTct-#*Xs``Pa&` zT8aHKv74asTxNCB@$jX|bG}Yp-1zi-qvg-*H-7JL{JCyU&Hccuj|!S!Eq{LM`N<t$ zj_aF$F}JI8o;_duRQiH@`?X*1{q}pG{}%7hZ!ILbwzID{ocnva?vJn6r0xpuZEp3i zlwQ2}_0|1OU+fl|pE<5n{#nWD&gPdF=UX3N`h0(Sy0ZKX(_afdq(3))`R9&b?wL=! z;}=$5KaoEFe12v1oL~GYB`?jVuKRBB?8trzE2E1WYOLnmjl8_(b7=oO>qi@|$JTr~ zTfOJ4@09H6w`6Bs4heYaD!$g}q$i_Q5$}U->%CG-)|D<RzS~uD+-a6v&vmcD`_>nG zZ=PT8-S+HS)EU{B-%qT*#(d`~c~LC4`L$*81}o3qQl`h2Rc9SK*JkuO&gT5mJ7=GK z*=L(xJ>S>RuD!3;yzh5h^o8rwzvQ2)>#Ll%UiHPi+`Q;1B~!kr7v1QdYM@}TkwtoC zvy4gJ1Rsr<Ss^P}LtYC+C+*<eUpQyGxaON<zt)+pi@g3hZD-}YKgK1YGmfRlP05#E zm)(8t;qGahC9RCUoSnSAa@GcO(~oO|7oFpevA$cxQEv0DHZQ9D$HpC1@6A5u&7Xbz zW$WeTPBMOLElPIPSblk2aJl`uwaj;Yug7Kg*16q?@p@k3_HbF;g4fBq5l<t3+*Gvq zZg>3o_G0#$kN;lt_14U6n)&k6{Pd^mYHj*gMfc9WeD>SbviXbuoOjor{d9l4_Da`x z!sX_djy<vXK2uL}t@UMotJirC@2ptYZ?-N!@%i51J#{;u+a{#F>$ko>fByTqTKD4C z%T3pxys_nQ$=_3ASDR1nPG0}K)ab(z*6ht`yFSL$ey-x!yY{yAX4Bf$vm=l0Jb78W zaJhc*T$g;2#Nd0T0eyMJ#^q*f$~ITk#k?pg{JuP>>RaWN&+gvSe$Mylv-O{~<8S`S zs>En3GqHJFZ+-1IG&_EMy6v2GS7-R0%ln~o@#y7qbF<1GFQ4nT?NzkpyBGJPpRBjM zRQXkA-JQbntCRH?-OoI{{FVQ?Z+|?0o#&tU)lK?HgCK*LP17lc=FH#~x1=*xs>QA5 zoK|5rolB7;?!kSxyaSb|KKcBcSz+;K{>|GD_Fb#p_b>m|e})Nv^*_$H_{;C}^T6(O zg-`2h*6GN^-PfLccD3<~(|-=HZ;w77mUQCc#o014O22gSgO>;h$Mv%>{Vd6IqsgE) zjDg`7H$(kg-p3xrC$F5&GMx}2etJ>QjM-<K&n6bfo6SytRW_@PXV-Hpo5$V`6Ij~J zqj%2MJ}|4&uVi!d7r~lmS50@l7Ae}1w(j@3O$&bBwYa|Q+Jm<?b3;rY-`)N^)=(;` z<Z)b3;{4e&d%_pbeDU&^{k*^P)nebij8`;yefNiUxy+aJ%fH^q&4_K@*;}vuRIW|- zcg>m~<+;C2>~0FS#vFbgoBbmF(DcuL)^DAkIWy+N;iEsDx5@bXy?=gr#@j<ZI<?Z4 ze;#i>dQH9j^0T^k&-XJudHwi_Wni87ns;Y^?YBy^X*LWiSD)rvSye4j(Kk2e`R$Z# zQk!f4y?@!<S^2tb%j)yS&pz5MpI215-#+fI_3Vi|pG2tNdtGt-pqkz3=j$c)-t8;( zTw`^A^076nIlH%A%ab~HoTFyv_w%|5ufy&3#`%6+edpzu%Dg$BeZK5mmpSw5uFHL* zk26bz)pk!fzD6u<>!Sx&PcO%D%hp9LNxJjk%emE|mx^EdMQ@Q_wDn!qEZcLj=HB79 z?<;>hH&%p6Jw5fh*J|@7owRMmMJul#xNNiCv*cv%kEg+W&*t2<xU7-zCN@4Z;(aZ@ z%wN?{R!Og(eXluv)8g;Ur+f2dUz}6VImg(gZk4q$dU4E~l{$=vPP1IF*ec;U&2g59 zal@Ch4hN4WeP5$*u)WH9)trN;t!|!QdwAbD)oa_5=f-Gl-Embn;PTw!tIsc6rmy<+ zUjO30`u)={d|vOZuYN7K^89|co1b4jkLgz2n<HX)xWwSr$Cnjm$L$@T-=F?_v)wlD z&2z0{zW3iYbNoCb@OIbZJFlPaI&<aozTIyMGY=J8*A(~n$uE|#p1<#-&bjIrmew-g zJFnYZPpdh<@JIUEC--%~sK#}?F+Y1huFh6{#y`XBPxm?Bmdy*<H&;7mUVHRQd&!5k zwSU5|On7mc?YjErnku`_CoezU&$nEV{5##ty!HIHwK^}KmF~Iq<Ia{ZF{{s4w_2}@ zdGAx0XIZLxZ%6gs9I;l5+4BmjqhlJc283)YKDXRv@7X<HzUSOGoULfR@ATYX_exjG z#jie7KIiV{xs}~(0@u$?SdcQO_+(E6)0xLhFSjqB`|jsQncic$#p=r!lzyF8{rTew z^P-q1XMNL)r~Tynyjxaouci6y&!v7pt9pO$xi@Fib-nzk1G~PsC0ozCmv^M(#k235 zes1<T_0n0_R^0aUSG(&+ug|W0zSqX)`RW-Nn|Cj>-d8t2>gQj3+rRJSXTLws+F-yf zq;tvH;F5^Ws-SgSzb>{p?c5QV_|oQjqs}be$oZz1Y){m?)`V|*{CT;1^Ox<>x5NFf z#PQ88UM_il`u!R2?dIFnp3{l>DD(Q%m-_;>QQ1$PpL+XH-(dR-!FfjW61S&*H9E@r zN#c@N#3nI@rsKQ};R|~b4HwTi;+QsXO_}21vuzDL^U4^wO{E*3+*Hr*zsc9PtLkc> zSV`cV)@jL#7r7@I-N;ySA}q1EG-Jk|(w$a%Re5v2T#mEkT_|m^vQ~KN4||tT!ByO{ zme;dqM_3(8KYZ%I<AkC;=Wp38epm2wd33$^)$N~a?u%Am{`r1I>a!c)_8Q;+GB;M5 zFC_ouXS<{4Chq*Gd!F-pU0ZcU&vTAvUtd4=XURJKcK*Wj>2v3N{5YR)Ez2+IN?YT; ziX5G^PhYqFXzlnNv+wuW<L#|yKFPc{`d5G3B)iU5<n80W^Vu?cRvuZ&`{vl^DvcLO zUtjHffB$`{Td8^Fn-{s2i`o2k*37f2zIpzF%=aVr?N5H4?{)X}yC2Ug?$w->-eD`f zed4QUmsN}39&W4@f3-8*KH}AR_4O7UPu`UM*mQAoY{i>3N*~@^?5z~byI1idY1y80 zp^tWzym$MUt#jGDZ?pR1VrIYTwz7u~Z!X;M^Vz?c`7L27uNPc<wDtJg^P45sUJN&0 zR{HbGwcK<68MJO5U%H(k>UmkguYxOOk2+57x>qYAP;@kMU%AWXiy}9xpI1FN?|0oi zF6NiD#IE=2SAF67_Pb_prCpx**3)m}lDF$QPt(?4t!&)wp_&xvD57J~t<yN`aOjGV z7AE6fjx_#B+fIvbt8CusyY`w{TG{5x-!pdFy6b$oqd)gFOXm5NU-~Rd?vyOAym&dS zEZ|=7i=Eedzdq+*vRl@#_(kP=;Y*K8*3I!PdfazhH|Ug|Tz50;r<b4aZh8=JJ27Uq z&=y(tINzVY=SZj5)UVpOeC@g2bF{Y}clvzrw`%CV=HBe7X;t>7Rq}Q}{8N6&FYI}{ zXIA#~<hI{=)(>kVpZ<Q<=f9-p&ifzQPvxu97nz#R-LZ3j;e$1Qc0PXd{LYu1=kjLX zdh+q#+Lw8?;*ZOJzTZ}1A08X~Azt#dmBHH&Tdgb4&3L!_R`26)Q#U+bZeP6F>R;up zr?vY`pYIZ1w?A*r-f54U?-kv7`qE~-cgx)~ml$V+_|@$>T`hBIqoJkgr@7&C&s9mU zd2GAl(DF-_*WRp2Z~o#w<^9ZEN!fyzg(Fv+{ml9-y7O)N{7KjO8N$Ubmu>l6&98l- zpwP74<@#~=W54`uEAEFCzrE6P)%w8exhwCR2BvR#TvvQ^Tgjq5&;3$&?b~zV`H7c1 z$~KkHJtnYox4@d^pYCm5cehF|`ox~YJJ-*t&X=uxxAn>1x|q4UuDyKA;=l0W<ty*? zCsrl*U!SM%=wi$xrPF9`EMpR|VMVRkXJ(NI3&B~N7`cx2h%exG*A{X9*5AMW<$s3h z^6cNwKfj+=Y@PY#<(GKd+RF!TzpYsBZWhj4DP8FvK9A+gr@z{t&X>QE(?1qE-|Twh z-mrA%m_K){e1)&_%CzK8(@Hbt)wy66kve&?#^H*?oXr;!Hz*6Nw>mqoMJFQdasu<h z^|O0hxUB4gRIk4}-{-#Ix-Was;`K96y*QZha`w5x)scnCl}3ki-TgM}86Du8w`Ee5 z`s(Sb=l$m7Z<zJzx}xQxtwk64*L~dI{k!t{Ro;_jwml^et{M1k{amnK-2LI7`QfvE zo441@Uss=AdFsWV)%W&I-F<!6pZ^S(DxzO}mDj!YsC@nOi@W_VO+Np!M(e!2>8qLd zAI`J+bFDTx#_#HPyP7#gnMc>{S2dVcb>)X@h35H<&#LF!)n&Y$H@Wz2`@E<7r)gQ5 z%55@!xmSKx&f2P)^Vjahe*f{K=lOZXC;ID^?kzKqnS61=(|c8Z#V3jnoeRAmXQdov zxO}n8`#5>eYq`^lwU-u3UvA%Fmpb$1kNC@*R?cHR{d~&f>-xF<=I8z_k38S^T(7Ob zI!UkeP08b$@0l-)@3qUFGzcp(t`>NnuW5PV`Sw{6;?8l|bFa>L(W@LQXL)9y`s|bM zUi+rrxjK9DGTySsU(QXj5{|TbmRlse&-CEoc+0z!mw8;D_gd}Vm3+PDzLHa$mlWrl ze_njZT+ck`diZodeV@aATf>z;t#4oQ(5ZN}bkEen5__JrnO!^5*VKG@ao#UfTfg+a z|D0c|*S&f6`@Z$nXST8x|K>iqR=k4UZqHB6S({AN%7Puwwd}mNVuSNh9tE|A<J>`& z-Kk<i$35DL4P3wW<}7>oKwC0R^mMs7qvFj+FF)O_tF4o|$9k;oUEWQ>XS<$zPy1%G z^L8IsIP>-UqG>1YUAKBtGS58n-KX`Q=QiZad7qy3Xwfghs6}6Q6j?v(^Sf?0XU=@r zV_Q?&O3oJDJQFOFxAV-G%g;657G1eKG1l<%M&8XcU!LB+`0+0FsypA$e><=J%6w_% zznz!QzAVm}KIiR>(ieLwzswi=Y;2eNWxN04X?|1YW<9oBeE9mD`R1=S9AEYL`LX-K z&uU)3$`3PsX|KM&`TKe17q))aCttdG@6-F`AJgS_f7-okulD(`$MbH^kH~T>zgD?^ z|D(etFTU(Iyp+4{<<j$(|9T()N<Q=T$-LdCU&i`ey5U@GP;7Lt{NnE}(AL8#IgjT~ zebe>2;OQ4VTidxCwjZgw=e4*!`0UDq5%Z>4w%qNB6Wl0x`MCaU5xrTJwq;f|#r=8n zd0!PAefBBWZ|^$mw>7aAcbA{}Wh~nA?%e0yKmQ#4emDAsP2e`|vsKFMi<jNZxNh}v z>UrJbPrEB#O?~lv$u%ujwa<HPUavm4_x`Nc<^3=FN<Z5?z1919uR8Oxyy?@;T~qQG z^uD<+&sh2Vck#&=DJ;zg6uATzCv5Q6XkP1(^fE=fOL|qy5uHUR993ueFZ%Vn?&+V$ zFXqeHYu9zzS-<1FUGh8p%=+z>Rg3Q)@2q^8K3_iJ$K$M(@haEP@8zF*dg{yrXV1>i zO+0^T7yD|5d%iJqnHl<)iCMfnk=Qp=XM*qIK97Fq!Zk;VkMkJynF^e;xRYV6_ITpK z!v~~o))al2ySepz!LR<3OBq&MdG0(548E+QlP{NldCQ)clVs(3-&Hb*+M3SRD%J2S zGj?}>z5U!S$vq;nnT{X++CP8!v-s}$^Y<dxtNwU%_M^URugv#r#rIh+RY&goKHYzP z@@e@cYWw_OoL@CBdfuP*CI5ELefDMj330n(>)Pl?Htpv5uRr|u^}p1w>c<;*;{2Lt zl@;qIK3+fnbm{ZZU+gO9*4pf~SupvDo8`LQ)tl#ZEHi%?YQMnDn)k<i%a5~L=KC8} z{j^`$FL%8At2@uD<R>3KGMDX`db!@*S%z=N-s0bBJ&*f650x)FvnAQjB%SX{UQFrd z>NdOFnYZV!U;gap-SeiFuZ!2$e9EhoeENRAvHIGx+sw~=n;joK-{;r!FRaI|Y`Qb2 zbmzNsvL$IxZ$2wOx8^w0^Ua5=@7yfTk=<O9XI$D6nAk8U+*;l6-Ri=St82>p&UM|n z9qlf?Tvc{mU0<^3y7hCfcZzH{zAitnT5Z#{{Ze0#zqRa*xH$V<^71@czS4B{h2a;r zSf9S|EbTbk($BlLJLiQvGhA+a+<vJn?fvtlb4yEKhn41+mYz4xm%VHlXTI#yE~EF3 zN%`}VB#%lS7K_j;2%fWmN8i7NiAR!IeBq?GMR`-RAMKUvC}m^5DE4CKp4A3<r@pim zudR5xb;8S{`H|1odp>#j{Q0Ea*JtgxS$Zu$xtH&`(x%T=^L&2E_xGRqd-HO<_V%*J zA@8crZF!$PwMyQs;@zB@=lNEv%DwCDPOjNK&)nzw*=_k3f2J>&KEAK=RrQ_~ti|)n zoNHxm-q$>fd;d`SarMu->^*DN?k!w?=~qqM^m!iw_mw}}@07pv)33+oRd;3;p4n9S zeDg<J@!56NUzE@Pdi8!%)s+LA@72uwG;i+n(tFD-?@P_7p0E7uKSQw9p3kf0`XyhS zx4vHWeeSt@^WCp)Zoa9jtCaVR{pR{kx@^;)@9Wh>&YhoK{`2$IpWCNiUs1MZ`t-i{ z(l3gxJw8;cS8x5Tkgx0I-kx>w9)XiZRi~COPoK9VBkf-CyFGV9^;iD*e!cj-_{(|h z;d9^G#JfB+3`;q~ap$ht7Pp?$XU@$&m-p<vUgs6#pU)RsFPbZF_x5q`Sy!WUkNd&T zzW(N)zfbzM%zp;QnTJnRZFsf&;~eX|pZCZ9JkNToX8j^d+0{!g?V7x=e3|a)=`la6 zz1KzT<ub9#oOUwjxvTW`r<bo*zMojUd~yHf36|Z4GmF>7ZBOfUF8lmqdAq;i_4(G3 zyE{BNOuC{)bSEyG9lABsh-b-C#<qm5MPU*W3*8#LSQfpm+x+(3dAont|Ew#t{qvu} z`me-iGu!it&tCqLZ~K1UF!Iei>(HK~MU|JIi2T`q_o!h((izUn?@pyKuTI_4_jzlv zRk+g&w~4)JclgbCQ(q`9;1aOE@J6D~V&SoZv+OP<7B#$IO{DzY@+{Kr&s9!8B~!lJ z!Y0x-H+ilp-*vB@pHrL7g`>}vIk0EQvhIyKSezk!>51Yjm)Dk;<{sPoC;RHr%D&0X z>HE*^vU&YwyY!Ex=TF$qG4yHMWj*WrD&Ng}`TX`=XBChBo>#l=W39$t`O_Ca$-C7o z-)<)tepb(JdE^WKW~24%m;QKK^tk)A|IPmO^Yu*9zJ9BAzp&%^xp#kBk590zysY@j z%G&qynV;2lIcEjq6VH51)06(pJ?G-wJ@@B-otIj)r!2j0>S^=18urz_lfTZ(-(C4y zWuNiZvnx;fNYDDb+^#P*TJ+HB;>^!ox68EW`yG)zK0U5nZfjbV@acEo_WZ4$9Jjsr z`Q7EGZ{PfU?OF2OXV>*~pViD2s>`!JRsPO7%-?Lz?%tUT&fbuV+-KD_wXk_j%2L_= z#%ra|?7TS3;`P}F_u4DZ?KvBjWZrFD74)d&%oeNT&z5a$yyl}HQ62A8u=APMx&I7& z2dykmEROG)diJ``-cNGVgQphnVwOFZboSx9{If4UUp=nA>*)oS;$5~r`9`15mo=Zg zyrXOBd&gDEHQ9HYMJ-=`tD3y}eT1#P;r+_l3TI5`+~qY2V$L#dFkxg6W0ZL))Ushg zr>^3`nY)avjAQpy$|SuCI4dEsM~vTfk$C6IZI_lwF<9T6X`DIh%*6*^4Cjacyjv@; z`zhSIf6gy;w&zi%dn3&4UO(SI`EzfLyz8f*fArTjU)=fo%jsCN<fT?J-~DY*AD-7) zU|lJ>_0p_oCDvlaZ{Czvc1viPowxlUbGC3{Z{*I5KS$0bzuoh1UA&Lq7VoVmS8Ios zt!?}K;$@Y-$)DLT(pIgLUlBPw@$5!fIq9$VT{<<p-x_@T{Q0k}=yJc+ap#{Mms&pe z+V+rdHn-m8hd!x!{QA1pudn4c*9^<fHSNAEV_GdQe5=CvSe4=JD^~e4UK(G#abxZM z^v~a|jhA2j`2O+V=xbq%kALmYefaW4&8>4=AJw(n&#aZxd^x-4O?d5^Vio1DyY4(q zJ=J!mf61ryp@*)X3SXz5d9t#7wb?W7Gc(T4Shlt4QBR0uEX&L@#}EE^{b}BHcHKQ| zs^zNt?#f#)KHD_cuJ+IL#kTpAFTbga`|&>A^w;{?*ZcLi^x3+6`CMy!qw?3kbwBt1 zXR!QbSu^?WY4M!HFD@L8*?6qj`qPZkPbYK!a)+%8-SfiRW!Im*vhjB3cDBcymY%TV zQ`%L|*O~G@6*l)?+uXH~wftPG<0ulC&|7liSuR_4iBsl;Xt@B#si_ZC4tpp$Gqi9B zF<*|4{C48yW0S9S6MoJ-@_N4Ia`B6{q1FExv|p<)xbB?nZMDd9le~bv?)TzEr*313 zgA2bH%{u$XRdx27&cvfqd`sr?*=;OgTws_sdF_j0zl_b62@`IWCN7@c$@Eo3@Vcp_ z=ktt9HV2M-FJ?E3_pX#R?z!%J*6NuzbJX2ADu#<Lq&s^bJ9%=iTcpzI%v$Yr54(L2 zEl-Qz`T0K6<j8Wn{zF@wkKHSHKV5mr;o5ZPd9TjBJo)n6>$7Kt-|g9c;d$L8>yoKo z`ed!{Eq^9o^6~q;zBzl7DyQ!g__AlYJMYi6=VssE@UHstPSNL&>LyQ~@?qM~^Q(5< z+{GV$uFkJotoHiC=O@oOewtD8bHD$m%FkDJ)+z0c+v5B2{j9*&y(`asvHZR#>%8se zFXtq$Kfj=QDu2#f2Ib=QqNjFV^qC#=Z+A|#Td{*rx!OFx{|r`7BR;Fmx2~L<C;iH@ zswm{=yql-jyf}Q}y}jXeZb^+ZDzPcH`nvb6%`L)gE?U*q_&vM1IC|ssB|raNo?g7r z`chk;j`-~8U8dG^_FXxa_Hu^4=!%19ug=~Uvu|eK=PRGrxd$7IN9Tr3T)j;9+;sIt zPiH(&d9`%+e4E{NP1}$E>Rx;|bjHm&=}Mb@UVk)wWwY^#ZP?@MmDv;X?qmj^D8Ku| z>gDN|jlNp`Za4SM$zPoJviP@g^x1C*wsT*+E+2dBajWU7LktY93;~W@3`}g#7?xC? zT(PCls&Jq2#?w{Ci*0`1j<u|mcYC<ui{p$L5tp_^>9FdvP7_^su7F{)-!73%N$u!< z|7YjRKkxeKw?XRojWY-C#h$Bf+x1EE>hrz(&B|@|SQpxvUyra2?qBav_S(_iw$b|a z9=<dAlfD$^7EO6llKJGe%8L&sk4w(pKHKrSpjh|v^F6oZ(tcb#`><;B{QJchH<j7; zPpaIyr*4P2`&Q-U-rX<u@%%i$+~Dh)x@j{@e(t%S9zFT$kIygc^=r(x+t^>abN9!? zx4{df=gYhN`19lIy!5?Qe3dVL^2<%0_UHWVJ^$`HeV(}Mci*z4BcIm0KDoc~hrI3= z_bhYs?2q@_@?Gt!@;~Qa+%xr2^>L-wHw#{SuT8phdgqPLpT5p{eg0Q=@9Xu`s&}UB zc^%xldG)q=h0h-9-99VzbY|7#?Nu@N`pU2TeBXb`V)~qq-!dd(k40X(B{}O%*klpG zWzRaZ)>ZlKGm*BLym{KS_w2FLm*4vHoqPR+kEdS8^40End)~c$@w<5A{pa^id{Vn7 zJ;L?X`At8q{=8mS@vM5Ct@Qbt_|@~Rw><e0T;S*R(k5KhEQYo1xy-wJ=DYfze7l$T zH?P*z?W1kX&yrvM^ZumA$z@+ZKe;7|_wtK1*Nk&5c04S7e(uX=Zbc50t?53T8y4J} za&X}Ufz~O`0nM5V0}YgfmmLVZ+yC<Zne*rO#?PxQEsl5VI&fz?x0S#*nfW_>(oN4> zo_+R_{fXRri|3Q77$<WYPhNR#;lkOxcEyd?wK-)h4F6ocI7P6r^W5xOMN7RbGqDtr zR4aEs**HJfiA%o-B#M>%u$GcZd^C%1%?_b6>w2x2%`9iG;HdJRxhu5a#d`9B!}oSR z+I&`jt+wI0SSj_$pPP^SJBz;k8Q%U@((rZCl0Dzf)v|rMc-gEtYx;ucFHfJd`t$wr z+giQi=dx9m!aUdG`~6Fg?G=2oD}CO3y>;HN?dmq~mFxLv7x#Sn#!J%|oc-lj{Oj2J zQ{{GV`Ok+|eY0!5yzKA!37wtK=7%r8xb<^QrSlCr<$39CpReusoA5{eVt+yD<+%qZ zp5DB4lk>V<!{95GmB09ES)K=XUh)-tHTU4lU7IbZyD!OH`PAL-m|M>EkLTXA{V4kV zM%w9Fy3SV{-Ms6!EuyElKR0|i=iIs_8()2xo4V%Zv9F5@vu9RbdA@Z<#p|M?_11TG z{d_ldO=!}pO7Zh`*#(ll`A(%bo`rSvU2b~z+2eQx+t163KdWAr?&`QYJL%{4v$au$ zT+jD%W<8$s_SlgU3;!f-`JAWaY_Ik1pFHwXU5c%9t>v6~GkFE)T|PbY+o_dX>*}s= zUo?kr=lo^4uP=v%hJCflub$kx^Le)6mov5z@3+OxF}$GFu;so}<$_6FED4I!bankw z1u{AG3m%)TjtQGreE;(&&h!3H=g6krd}14G74!P+uX5H^tz8#ix=62FH8JP|zoW5p z%K`2Z-IwdQ5=w5huXymLpy=lOVk0X*mGrZ2v-|eTo%#HH-KUSwqmNhX>o0SzmCCjb z&gwI~<-PyGvE=i=HdGZq4e>p<eBPFmKh9P*Z#%qGrYLygy-iuqRT3Y^JpOq8OT50v z#m9@xS+b_p?Vgl*>CMmbi<QOVb~pE$t^NGb%4*8f?8`szwV$+Gd^}$Gx5Rpv=`~Nk z$h-Nh+3}12aNlg<+sw-<U)}e9UUe?|)BdvTz0XQsYgo(9D3YvMzy8>+n#!-1%)a~P zC0}~@ZGZ6b{oZG-f4-MqS2a)iQSHq8&*R!pciuZH`E0LEVDRPFw@?3?r@bX{&&%8M z=6>UTe0JhojW5M3&t3gK@7lRzZ)ROQUHDqp;9+g$?&<C?f6lmZ_JFb9&B^mNl{Tl9 zgv+&A-Pt^m_s-oDKKDwis{Yk{le2wTHYKEJ*SoMH^Qt}b?w`GU?%O%}iu>DNEc+9` zNmSqS{Ia;b=~8ct)|uygoOiEs*V}7xg*)%n=h>`DyYMCBTAgmxy{h?kwa=ga{yBZV z($`OR>&(3_8*T2se}0y$XB&6kuVZs_?y;s%d3m0H>5Pa?0xi5-P6cd`WGi`LIay(; z({Tnyrrj$#bQXK4HZBi(S@5s-N99l7nq{k>#%j0j-F<Ukv$95CzyHZ!yKU`*AMd&S z>B*T-f0aLd+ZX90@yu)MWJ%YrtR0LWjB~gCyj8Nfw@dzoz&hq*pSXCKtil(b%DOWv zU*q{qwzd+#J;FI@iHq7lW!v)XO5!t{pcGZIC)L<sZdsp$vBk2DQzRy}&*qzAp6-`A z*)}BUocG)>qSO0i)?1fo)lGl;^69&9m)BPc*4&(zykzC^xLv}1&#%W@DPJjE*Ijo| z^27YtzwFa~>f8}}<$G;Uy~CHMSI@TX&76C3=JD%t&oBA?>bzfRvn5cr^NHx+<N60* zzxXQOS3KXV^!YW@w=X~I&3^v%-qU$ranENzyguJ)o_zM%Kh>9NrYAqW+7@$UyIs50 zi*>F&Qg;n6wwyg2xSC6J@8*&tC3mBjJ@1a?ym018y6>9PefMQ<o-RF9a*sdf!r2(} z?a#}9hWGFJV!AKs=bO`EXYX3*7Uf*HxqF^=gx0Qrt5!G8oO$*6x};x!?7_KeS-aj< zJa5~1>Z0ju@8T<qOC@XN_{{U7w5tsF`0aRg^fl|Vqu(ue{57`~Uw$^@>_yYAg@2W2 zMyR{@3hs(n-d=v@b>-*zJCA;STJmz?u4kLJd0Os%GDCTF>$T$d`l-+Feb<}wdwbrq z*SEtYUOxLh_2RAR*Iz#REBf?T`iwh|t~^|Gc4@G#@WrUGjywg~$ek^QDGH7}EK8<% zbsw3SoM-p+<NJ4YvVZ=*D%j<FUB>$K%E`}mXKv@uy>I!{R<`hEZFon7>MQm|M^9yl zxGrf>3)Wx#VVbs)+xN<^uZo@r?=Tm5dSS-e<U7gb#pgW_?TRa3_TZ=g<#VO;udnmI z>vpV(zhCTpt>M+ndw$Q6K6o-`m(6!J%k9b+Z}r*Q<;w0Vu(FtYLP*BSa{YlPPu3o9 zkuq7sx!(20+AHf<AGWTM)#p!3RgTJUmtXkpVOUw^`}H5(SAB{<Q1@i}(kh;ZPim)M zSo7e0u<d__qi2Qp*}r%mIV0V+ee(Pj&wldnE{}V%ugm(QjrX0Iw(IS_?u`BX{8F2B zsqyj|@A_sLFJJa4U3+!RuGyCl{!R{gUw(ey^pjKWxqE)LJHC3?hktWFmY=mX-|92d z+PpBIXVZ(OghlTc?>--p9X8W8&~%2I@n*N|?ecRzCA)h?8~bkW)7ScJB`DUkXU?si z&)$^o=x4cCTU8af?y=qG<2!a0eU5$g-LmZL4w-xV=WdHDzw|46{i)iRpWD9vsa9`G zYG3)dPX6-g-j~x#BAz^$bNqIn?Uif7u@!yZ*S+N?x95jGd3k!x(aPD|ipxGdNqBbo za@)BjH!Jp<yLVJ|t~W1!Y*qZ^mlGrF1cnn5+nN>GN?xp-el6Ul$(MDe&$4Tmc^4e* z7c=+1yXJVr!oRv7j-Op_6?wVS|Gez>=JI!mQ=UZE#b1BC{?)q>e<T0d-=6+>H>GmR z&zEa=xfyW2S{=C}BH-1{y29CfnR9NwP&v>0ht-iIfmPC0)_CGsw}~mjte?$yhpXqi zUp!~j5<d09@{rqWXI<^LT_m6`U3z93+r}!loXkCEig(VFOe<7(xtzPlXx7}9Yk1O| zqA#sUeEv9c=f#q5d#tjjD}C;dd{voOnZD+*Ozn56PjfeJz8)5Nw#@QX%!i{@nQMA} z$-X~tZX)}0zIOEdXzh7(3U}pozJC76z<9mnw(?ss4{WZd@14G8`h~kT=dRmapHt`C zzaja_@r~CvUALNVSM=t6zV3Nj`}uXX*KI>Td^`R;d%pd}t37+=b<^_AHa<){doI*8 zUG1?dJ4?<Xx3ByBqi;`4iz%-(dbe33(>(m_y~mqMXMO&=+1Zv|_nRE=ljQTI^ZtcP zZF+C9_i<k7i^H>bhVE-K>GSt-dAQ}r`S`hoyZq+dd#-zYukn4m^kQSf=>3QH<xWm| zWoD9ZdAC^AbFc2xb<fYpeBEC8)Yjndn&0i=NoUGuKdv%5@_O<LUYT3p``j*Gn08XG z=%DeXr&2%CwJ+{6y!G_5*|Vy*vt7^5FLwEI+v?x!^ZUH4ug_s#ShaomTEAmiR<ULG zO<$ggc$a+kZe`Zf<9l4EF1^U|qM<=T*|k%{h)rYRliYK04sQ0*hP%vN^t)fki|yP0 zc>lCtkDFhAUbOXG&A!X$m-$`!bKm>y=l=|$pTEeuE`4C=%q|?>!4TDQMbCL}<nGnw zc4<DB?!5X~k}P@bL(bcrbCu;YH@oFusL1$`Jbl|I|KoPO@{6ut`yBE<ZjQdk(`Vl6 zmwx`HQ+aP=tkUN>y>C8OZkqEeyw<NqzVyuN7=LHE%@1c?-106eqU2P$bZggT*2lF5 zrNtjsy{LHoQ||iN>K|@yDKGcf^@Z15DF2ba_vhy0FZb*HI`4RV`kJ3VKmBL85MN(> zHdM9V;m6H0+l6m@UHkFO_qf<EF*|DRU%7kfbJ)XEZw{aSa(Q0e^5!d*zbg7}-tN_$ z@A~W<?_T-&6?W@AzTBGmviP3*rk2Mg=l(O;)t=|~n=kw2?8p7?729X-jr{C4@!H<d zv~$55W1=7LmM%SVE$`v03yZwY>g`<YuF?9?Xw~PlW*l6*_D|E+{XEy_YT?o3W!Gk! zi&XWSe%<kNr!3#}+3)MRtnJU+T|OR{e(`kki~F&smvbkd{&MR0j)#%kZMK)!?|ro9 z+3o9vZ_iKHx3rIuYBl-&!r;4M>Epg~Q?;iLBTnn~z6vY1D1TOPSL#yv`<nYc&wLtg zK6-6@A#4hZ@w3fwn>L?|K5^ZyeCZ6Mt1}H0yd-oMiSH^e(CnVG>7bax!W2_YpA5CO zbg7qfPggtqoA5L0Y4_}f>)Wy)$Zl7=fBESXD}Mc**ZwmERp?*&^XKRHiw}Q3zj*p& zaARMdU(RBkb7^mON$xq$D>Ii{NnoL~TeOA1-77K;rCVon2;V(-v0I~c){$cUNmbE& z57Kqc9$XgNTjhMFDEHNu<p$5oY>uC8i?vNSZXmYh^3LTFJdfG7iJo_k-c~xJa!W?k z-O{Yj2h}z%H|D<XRaI57<ny}Pbgji3&+WEZEt-~6RdME2-2EW!o5kz&p0}-&TYUWX zwI8=;f6ia6X&pE}p#5}SN!rzCJ@>X++<D!t7j0{jzI?9TTua%C@BG{RepH<gd3mti z;zRX$vAj1|rbd48I&U~<s^$8*4<4PK*!KBq)x8aWe(%|Fz1FU}ZR5vXKlANAY%UJd zU-J2N*?C3bHFvdR=AVo1iCsPU+T9&*%6B|Y=d&vQ_1vs=?Vjm<%X$6%V)|yxt(tFN zcYp3NpR=!?73s6DOWNUE^7hk(@GNtEpXb54Y3EET_7$`4dfVN`H*?wICG!>UdCP4- z{bHlf^Y2;v?5g)AzFsD7w|Bm2?u^fKEq?2Twy!>2HB<N6^Sya_u^R&yo;Y*WbxF_k zpmd?!T`Cv#V&!!A?0oTb^4geN+l^nByexWs;>8!4U%7pA_U$^AwS39;rT6OOFYo-F zm$l|@Oz(MH-&*b7$`d<XUVSgxSk^i<ddjZAgw9Yih1MPkiA{$%_;fAjcFt>8O!8dd z_e)>w*ZR48{4SU8IrqmXPJOw})|tEVYS&HK_2I+5)6W@Sgt2)a;FA$#4LWs|uVDh$ z7u#81`^ruE`%0IU9uwE*JzKeW&&JZ8%3YP|7b-J9CQM)caKGMnzjb#lV@qe{WzD$V z^!eEI_yrYv<)km4wki(SF?uP>bI&K;Q|k3H-}CO)PpqGtU+laSaBR|4U6TtvpF1A3 zJ}r4|`t^*|v9zo2T|ZaJNxrOH-}XeRu-fwLtn&FAKG`*Xy07(X=F`1j-`R!yIzQ81 z;cvdvb`{<G%l}k;n%8T$;N8<t=cA9;&3t~p|JU=?JD+D){@$x|&beyy>C1)puG`Hs zzS#Bbn_Sqr;+J-%WtCNRm0#{9-<)M^mS40?Zq5$zdB=P5KHcB=@wW8Sy@ikWHI<#0 zzHSz`bYA!5t)fq=fBp@({k+$>GwId3ty$hP_)5dIb#shQ8|?W!Rh{9%#=V#QZNKfe z`z^Ej`M-NLe{$EwX1<?XX!6Bo_2nPNz1M8`^Mc;rF0_i(i!J>6L~ow;MO(SK#><yJ zJ$K*MtZ<E7*SemN>vKiJo98Q^JRJFA^Ca!!aGBce^Gnb7o}VJCQmk<B=5C31u_eBx zf4;UC*z!C}Gr2o2Cd=&|-)!|INpIfvFM9TqZ}Q{(`No$5wyJg~^)Bs}O6T0bD|_2K z{QR6V5f{~pgOfdX3O(DZ!pWq&?X*a}_n-GpHJ=-QTwdRE`@!Dw3%L(3n=ad3Ykx3) z=YIy<_$l@N&;G2xJ>8u9n2)nT(7GdEqR(%<+2uZW$%Pc2Gm#4n6J+h3oL3%+jmatA zwOOJgLuUbRi!nnf-@={edtS~zb1nB;vFD1f$ItivYdXN+oYpPFlWsDL^<~64%gX`I zJ2ft^xw%8BmiP0;*+-ANmwh`wQ&x6O(Rt@Sz0$9f<D%1juKAw*^tCSgVaXinK3jI# zr==z8m0NqyzV+TIz4`pK%6XGcR>zf2j;k`9b$gw9&6mPmmU(`q2W{1DznGlAU1Pq; zR?k1b_~zpq-p}`BH?Q;C8Emnk>PzKb=lOFiE3O~p(-ppY_<Q>Dr{|BSynS-^YTJk8 z<!-zuj_ypd+7uo$TUM`f(&yQ`Zyfv2VD0&&HudX<E9na#Pd9z@XRcl4>*IHFri*Ql zNl%{UQfOuFz1ntL;k_`ollSKMGq36QIa>W<$9w*Dxz8_OO8t4>WuGa}%fh8T&$qSS zx$ocl`PX@;@{9Q@VU?$~rGJ)vzSnuwZ)wba`x#$m&wlYEcwtw>YZI3e(}Q30a_@d^ zDg1Kt-f<HKzv;^#&S=kW^HGn;7LI&T;a}ZW{>_G|sAOI3yR6d6U4|Lid3)LQZe%aN zSo&qveQ*DHrRO<c+}C`0UfWMTOm60K^VvJQHtU^Y%{X<oM~Q3E>P4r;B$V2^bQF)C zOzy3i5aafyYM=Dkw2pOGvLtK1uRr>1mH5W%ozK6tL{GexadocRwq)HMd&|`}m-w<P zaG88DuJXP5T$54n%+d!1dtXFf{BeDaP^|31YuDbzd~kc2$9rhcg*3kOTLo_~eGXsq zJdVGzvOc3K-R`+Z<MMFhrN?aZ)x~~Q{+nz3d`>Y_*zqkJSCyw(&YrvMN8h{jn2VR^ z<y;SUKFHZ@K8Jty`kpfDm)*)Dk5;n1^(;-Ry*_KtuPu*09#~`BTl4%@rSYr(44NO_ zZ=Yv>`||5}A@9TTx_|3qr9NK@+Bf&{I<;qUYuk<E+R|Ud+}D2@TX|ppGS8dSXM-<3 zE4R7YHoI~{;_Pp7dUxY(6JNI8w#$F}eD&7Sq}_8~KacCnUS8h)Qr>RooX^Xr_7@-h zD{=DGI`fLtm#d58=C?gxm$5Eq?Z<zePriDYdNL|mpDUF<enE{_>*908IoD5D{VBd& z@cPoj*f^^{1=Y{hukJZ@cJr<mooi!OU;QbwZ{p+X56|A!TA#Jlj_wn8Upn_g-ArxE z%a?!duB?6jg`fA^kLx|(&et#Z7k>5p*xOj0*US4tKDj*?-#>+K%{#8tFYi3o{BSru z?d6QJby1dOZ$B^nn7&NvNXg~&yz-ef6J>t>^m-pUm+kAWtNZFs9^U!+x6ONR#z?O< zwpY(g_~^o;sA3}Vl`T=B+g!?p>+V|1N!}V8A9m^l{#CWQ@U$rJ*;#$*s~>V}_HSM; zYdS;qed;g!NAb_>m&!5UJg>*8ajY~zHvB|f^PTOcT5iD=EJ|n6CO#`vYcAcIRg!8f z!Q<xCyHrTLZ@PmdtCZiuYnE;L#$gj1Otbf{E3^E2?pm_v>c%g17DZ<)?xirCGrYVg zqv7GQ$!vL^eQ%xnjZasZyt;QK;NG{5&kLh|vD^K5R=N7@pRbCmFaKP<|9s8*h?ARt zy?zq^#D62>@~|(Kg=d5AlvrN=S-N@qY2U*OBcJ`eZuG17vF6L4;mOmUKb&W_{rcyZ zmtH(BJ5qjTuJVefZxnXEezxQFPp|J5n-?7U^8BUJt{28<Hri~TThTjDf3eN-eZOlg zzWh1+afiO)m$L#T?d57uuI;V7cXhF9)r`3O?B?BvEB-F;f06h;Qu^}sWgoALefO4* zR#$yKd++`8)0aMYx_s~S^Lvgv_1*sSS?JH5y~}4`wvPF(YZ+@W^<v4{YqjdLmkWJf zf3R(HSs3@FbGvtLDmlA5=H9%dyRzwLUYuXtc-hup>QU*em#5EvElIrd?0KHKamrM^ z^u^&dfw8f(yEZMaZJ)PG;ORAM8M(C<*Y(zmTP^o_Be-+kTs!0GmftG!cH9$>dH(JA z``q0NSC_nTx8HX5*VpZruOBTr&-|j|y<2g$;oHh7MHyYkN+uXe9-U&c!AT;W@q&qk zq9YeWg+ab@`|IVWE5G*1F7qtqd)j+;$KB$6_xqk-XE&a`{Q3ME-5I~#wU<3!_QonZ zWy6JC;dXa!t2?gH_B_@r$8vUgv8Q+n$8Nro;APWt&mMH?|2!-A`T4|_bC<5X+&=lr z^L>-@r=I-QKll2h{m%W$>r(Gbouv`+$~WVwUH5z|i(0GVtZ(V;$;wtW<*T_Y=SFCo zcu$;t>eaK-i96e!FUZ9T&bfYeyZ<Gr)Xi!oUVI;eT;@AXn_GQO`pn##YjvBCbghf| zz1i;eN!$H)KkJj9#ohYd|9r#F<Hz>LUcd6J=08K}=Y8v^R_WXQ?Ay8R`_!7f;<nG1 z^IcyyZ=UlyWr@w@d8M1H=16|Gb)Q_2^2w^?%RRq?R=<vwJb!At^W4kJFX#E~v77m< z>UfY=!Si>2YAxPy9SJ^PwOoJI?_DpV*VgW-D|{AjA8Pn;x4-db^)gv=1`f7!ymxN+ z1g|XjV@qFLQx){et*mD6?>OBTAMfSIJTIC1x#r%+BVVq^W!IG-E<8T3uKVnoGtb}i zTNnRIfA;+JU%&L&k9E_XW^C;$PQAEm^Z9v``+l9*t&I08s;v%-_s)xZuUBOC>6yB^ zYtFlyto%WIbrGI<Jnv@Y^~tWh?w)x*R_B&~<bqp0tvesSUa;HquJfAbx95J6t^9fR z%)V)C&+eAKd@Zk$;KHFK&|;i*JkyA6%QlISxc*4XtpQ6mwiO(k(EerCoSSnFRNgy% zK9aw$q=tX<nU{^neNF80LXCG$`+R+Y#pcTn`yKwgm1~Z<ky6sE7<1-@@8swCCQWH# znWj||JjW*Mo11%X<PkAYE>M`3YNhUTnrBb=&F(Wd)8*F9b9Z-qvGCbE-{8v&*YO;4 z%iy1A>&3V--sS4CsIyyhj3ho+NgugeQ6s(ewMI?x+?P|{E|OVVqV#X;p+D1o9(-X- z>)h{bTX*`wef~?9!Kc4Hf4cgE{F_b27mjG2Z@z4tSN`+bzUWt#HujOP4`2OwPvtrL z+T~Swy>H#V6h197dHh<gZom24J@IbhepS2Nvz52@>$iOTQv7)S@~5urW%q1dynE_} zW7^IquDqI8@he?^UE15d^>!scGu~D1dv{)W<GdLfFYleV-8cF9uMN?LH=g=+-aH-< zdft2+fArByyXP$4czS!=n{PEC2lBGcR7<D%$=X$4$)EDYL%L$G{G=bTo7w%U%FCY? z?M~Zy&)?@oY*_U3z#WS>AKHA)=gw5`yR*+Po^^QU{hWti%Pg&H3}pX&&paPf%WgX< z^u>&vw`V8rOWyP@*YfIx=}zSrDpy}EUZ;9qYV(=0^y>?slv{rNv$}uh!Pl1BJa3BD zT$as~wT{`|zw_Ez*Uewgt&e)+USC=LWzX|RRmacmtvv8mxNg4YWt+8W+C7;bdpm8J z7bcw+l5h|+SeP_dVbMV`ftd5h_T^2tx!n7wc=hb3>y1h#-ZH#t5Szc^arENaa;~4# z7YXh;ZdqQDZ@tV~v3!Tsv{IEf%Z??56?eb7W3@1x?Z{PEzPSu6Oniz}4OVPlZcH;b zTe0Kr9_6y6zPil2vM(NoJ&*3=GdlKn^~uXm;&vRpKVL6;%fe;n%wPWulPc6VDtoqe z?riIdxks-)2{b+NewO5mN*niZ<7|E>{n@{^+-6s*{PN=Ro`UD|d|u9D-*fZw!hEyL zv<!7=rt24M?i%KarQ0tSW<Edf_>?MtyMpTc)enB$-?#7Phvnx=YM#H3>pNGrt7hKw z-jBJ@R9}@>R?2ohpU-nTx8!r}W<LGcoSft7XV*UOf2z*+UOrtqcwLoW^ds9n%<G=M zy!NJ}^yl^9<JKD=)W-aE=l(jc`utkUx%U44wlB`<FRS^!-16h;wUhpy=Y4tT#lF4@ zhN*0iR~t{CTC_a7(C~#;iLv#MyE4&-#SdBi`CU~no|hl<;QQw@%FCT!U-i9c600rq z`Tl9E8g<rB5A*fQpWo{XpZUe6ed7wZiIYoTidoK^ess5T#ojyTetpY7dv;cu+{~jZ zCFPy9^)j;DHf#=DBiVd;)`qHAywh&Jj(NZTe8pb%8M<rtc`frfefOl$spAm_RbSkd zD}SzAmpk!#=vG6X6A6zFC^GBBE#2&3Xdd3{v#ER0hgWI=X*`V1UJ{Xig;#$5Y`1e> z;oSN9`Qb+&tA09t{#@+#xvLlV+-XjGxh^UB+{}i{F9UA%#u}9N75m36=Q6oG_e{YR z0VZCD&M!ti>dFh7BCEB14;}sD?6@Ry!?9fRgEn*iJ$-dnZSsc7!-+kO(w1>E?zQcZ zWH{?oG4Up2PF%A)$4%er3gfV>v{loeCO-MQ@u%;{{|u2I_SYM)IeOh<`}O|Wi}T<7 zlbiLYf8t-ww3lgB^J@3af3jY*_~Pf{-|NrZKO?`ObkUCMho?Q+H}mxJ@ZM^B<C6EM z{|4{ce(UG#icM#q%sv|Nd(B2E!`*XB)R$W?TY0AH$=kCl(zwlM&c6P+<ofIrJD)`_ zK2#+v*JWa5bKd8(?cKPT!h1z;7fU^Lt1Zs2o^y(6bH42hx5d6YACwopthg@nV*01- zN$)~qj{REpee3apYkH+SzSxxWdyB=T%dbhlzVu<l@AKj-dIjE8zRX!W=ey7^z3t|? zr~P`2*52&8{JG?S>2_^VKd*E9t@f^3dGfO5_n2$H;;iRwZok+aH~+k}!t6WWBdgPy z?rI*m`#j_8)uyW#XTCi4;_;5xRvSL=omqPOS<Vjg^Ors>es=ci(brb$Re@e-UKK7o z`_;m>T~^<<s_*)N_j~%w)EDdL)g|rRzbxVS^jA-VSvSo*#-w>sRm8%lM`!6dYln+> z9K3DR)5Mi;UDcg)^i*y7yub0{Gj5!$+C2SM*qy(rzt-5B+`Rs{)-Eb0j{CMq-;vLC zMi)!f^m-P5yz=}?Wjfz;wO4zE`@9#eS6f`1yPehRz+;PKx4?=SabI@7+-<PgFqa|V zUBSF9YaYINmA~@d;`OF7vkH~VonOc7s(E}-=G?}9lNonQA8mE{#pfsP*Lmmct?-T2 zrjmC*&6U2;uD?%han7}ym3iyZ-sQWkuY7T3S;fLr?=vGle?HGLnLT*rb@_FnFOq$x zD@}ZT^~1h1{_4vLwmbHJe!l<ndH2aDeih&IU;NZIKKy6R9{<gY_RfB~*X_F9_PJ-` zJsust?e_C-zx%W2$M?>Ts(Qz_`^-w&jM?og9`0NJ^t{~i>p!#o_0#*lpZDX~u6+6V zt8DxD@cHj`AMdTJzWnk0)UTxnBVSmAuX}i6dG%cVW51Ul|CQW(U+DSf<QH+WKhJNr zkZUZBU2}?E(fh&yBb#q=c4eiuv)=BWGjF%en&fFY`pWLwU-sqgeXsY^KYV`3>$?_p z)AjdeuIstG<9WfG%BORFR!Tp;d)(Wc-RnWstY@c7C45CU8ZW#0eb4D#k4olL&+S-{ zW|h3>bZQ>oiL0K+UeArLY~1rv=leXF%<Eyd3{I}N`?<pB>)GDZlcJkvn@*l>xBcsh z)CbqoN}fMk+rC-cH|t<`s&TMUA4|X?ZmF;-%BC|{-MP5>OhgG!z*#nC0Rv_UgZ6h% zeqSk#JXZ4ay4IIC^VaF-*FLLy-g=GuN}}5V=Hdvw85wKL`An1-M}(X`$Gtx0XXrUI zb3?Cdfy@lYTRf{?WPLf%V{t-`eP`H)v#ovVGpb&6Sr*9$K9CjYi(GL^CF|?YFMS*5 zSFWCs+Y{+G&GF9J=lp4}&+r}YTbeMhD}MFA)Jl1|!rIxN*SqU{o%QS6^J|sWN8SB5 z{;c}9^~dZ#{~7+u)b0QA^?QHg{`39Ulh$wk^Qmv<#b=-PTKwWGvsrw$?99GCiOrS9 z`~EY`sg-~3&wuH|y*V$>=LbHGH<SHRV0}<h<<8l_y?m8dyKb+`&w6}MZR2Ozik^$n zm0zC4G)`Xf`tj+w{OozJZQN^8ADLDBRSloZ>7(x0Bf58AWYhKwpGuW0_7>~Mlx)7t zD!z7)%&KdLx1Mre^X$yiD)Xy_duFamJ6TrwK7VS(c^^5^tv+u)-&0>~@a4dzU3ojp zl#7Dxo~^m39v)V#YB@F5V)F6u`FZ-ahMSJpRK>hsXgs@Mdi#>nzOb*4B0kr;vrm6> za;?PoeU^`+#iJg4KYCGpbvn-;n^!;A>!zpAta|XZ>YVhkJ<q<Bs@wA0KJ!bs;q`l8 zrrfsKFSdRCdA)evbob@?u?s7oSr>o4Ykv0E)AHS=S6-fODHfWy-aM6Im4+kFpEufh z9e2x;mEBEl+&PeC?%EL?RCCMN<k;I~@1k#f{`%sRnq}FaUsaD|9&exfzBjCI_q5M3 z`TT3jwlP~3?c7^F>(ATsmUCY%d9Tw~y*+e|Regrvl+yHNFAIM@Hf+9VX|hqaz<JT? zrA1<^xxWZ;u5Z}M&U!OK>Pt?N&)VjS^kqHY>*D6guZex08u{Jk-yycg{ikcETrVm= z`|XUZvd-(5cb`WsPM*B!=XCd;zsYtFu6*0`^<~Z9-N8>k)owmldiL{7%`>;oUM_O> z&#NwHIFnxbV(ytr-qds1haYb0S#x&H%*DwQ6Ms#5<9+c%LFV&xmoGK>*DLotw|?|@ z>Xp@clJ}pUH~aqVmt6XVi!YOoyUEsB9=*Qg>7IEpwf354*XjFyz40+__u7Q(F7G~W zefFz<rd|8tz4L5$&YO47{wC+^IeKruMlaeB^Tj-r$yQzKb7}0Uy>WHX>ucI8KG!~P zeet|~xyiY`^VXl8H~VP3&i6F?!o7ZbjfG7Ls`PY!eE7X{bDG(+s<rWUcQmUsuReHs zeqC%|<rn|Cw~u|D^L4W6tf$}Oy`}E1^qXp7@#5#t4;NQke*5`OZuaq)mnZKnD?e_o zm-M;cX?Moi`{!%fwI7zwV{=c7HTRdkWL!4IZ?WlZg|();&e$&2OETwAwlnC+FWOvd za(ZJQ--hB_`N>P38~eJcYs>g)?pvO5F+%3twR01nWn138^R9JE$LWksY#ITV#8fgi zP0ek&!Q;?jP%wc(LV&rM<KLtMmyhgtr2lNr>U%%#8w=F@XV_LyUK#fMvElLy_EtO$ zXBZu&CSQ4JY@ix(YMbFv!z}A%d`;)#1Y0joC^(yO*<?@Zly`is3?}7lXZRQ{uXT$l zUh<zI>d4&5vlx<2>!!S1eqJ_lU1DF_CSH*<T!zox+mhPDZd89!F6*DYz29H@`OWtg z;f?QY_6fhTj$hLC`MOQ-zCHK-JGbxmc)DNZ=E;klam!D~wa<NS!KqMsdc8gS#r6L4 zW`3XZ{Myeg%aU#S7u%Y1KZz@`e3vzA-p};v;5FyYu8XxPG`G3G*eEY|dis>NPbF6T zc-6~Ve6``Z=p^guYvz`RT<2e-zvRW`4Qua}ZcH;Xzw&cy^x>Ny*YQ_<-n;eFrh^u> za_y&gzBV|sS>4=SeeIXEZ)?`6=JBmtZu_;y{Nl&^^Qx3n^0-SB`&X;`JSi#K9UpIW z<BiswRcm+7`gnO7*NMBvv(ihRR@S{Kotsx|Uh226>acxYP2G+;he{@c_SwwHyx7+B z_)_1h>s?>+<(HMbR(N&gnCbG9_nz)f=`Gkbt7PZaM5&X$LK>~l>!wfID-&gFd2P4$ zeE0LE^YSkpe{o*)QpMd8?fKrz4UYL1y;-Ro@#|1&7Gv%L7p9d{qGWHK;WRQ!oO9+* zw7X$%<)-q@)_tiP-W0F3iS;W#d#=`^{AYN_7yt5UpMKexuea(waehsuRn7a`GS!b) zFL{3Y@X=S6UmsqX^L}0T!*7qyJa1kcmhdL|{R)}vIcH;I8?MPFT{4`%M!WE?W@tEb z!)g5mic&U@xI7p3?04Ifawa<4`RI$v^Q%5zTG+m<V7<Y;%sUs$&&}aDzv9QQ%D79b ztv0!R*<4<<=I1P{qK9AJ&Q@M@CFW-6`Sk~P%f+v^QwvgkIce@a^~J@B5%*(eM^0QB zef3S@!RyRyPZARicj`EAk(Ivj?0L_Mdrx-Dl%K7NIkU6h^YQuMCy%V-_^({`yFcId z{ET&T_Z7a=`?T^z?^oL=k>{Szo8HqeshN44ecAeL?{__mmb}q*{@l(#_dP$lum5ms zZq5F6$L?8Q<yrgX;uX^uJ8a%Bwh)zf|5Wm<EPwSk>wW%vYToakf9~5kqscbyQH2+- zU;M)_efQaJ;k&i&iSm5+<!bYypC+%@kL8|Q@$%WXon=1xRvTk}WxFTOeY}$M$;mA~ zyF~8g_V4@MxqfHO-aog$F7Lf;b#u=*y~@=+-xh5?R%PdJ{9?V;y6G|TzQvW5(pRsZ z&Uv0cH(|{~<qJi3VqYImdH#yAa<)eF?$^ndbJZoQ&-!?rEiSxpJzi?XVzut@F5^!( zF0JC6nsRGP*{rkSIxla<RNgx0UQm+6Bj6#KmUvL|%dLnRj3V2zg3F8_2{5ra2`uoC zToU;I2!pu*10xF)BMTD~BP#<F6C)ElBLfq&Ad8S9tAMZ}o05p55xb~@vXhvKfw8zl zfU2{JnyHz~|62?kjEoG7tW1x$zgx?|w3;P=XL7)C<_tcmCt_24O1vwTCeIMIP<zA9 z?6Us;yG9-r=_R?RZ;8ZYv^?7~ann-~OTK?Gi@b6dALO;py5bOZKVf}qcAfs~Usps| z700->sF_UfW}3h%z3f-^L>no!gPd<eH<?I1%yCd+S~TzO4V^74_jmg%OlVh{$P<33 zVDV$tMc4YTC@Xh&W`|CY(%62xT;+0bL*|v-9V$7OJ~3&RE3Vq@yR?RB@Afwg<%;*y zW-&5nO<f&Rp1~V7>rv>Zm^GI~I(g%xm#&EV+rMD%vP-+2R_qCUn8PH0{E|$!iLYAQ zl&i;+Pi+cNTNB~9Wz`J!o7qQSxhJPoJ4|Tq+7KLjZ>^y759==#;pbV+H#fQ`bl!;2 z>U3Oo>o(K$o7GGccr_PXWLf-G;cx!*KFhEV<;%97JYrdK_{NJ_b8b2AX;a%8w#a|8 z|0>sGCrsX#=T>ZDQjF(S&52>$@+efTfnVchZpF!`S&r)>U9Ri(th&OSx5S@qf}aZG zDft5D?tKT@x2)3$5YKv1S*kN<p>EqLnU=HKg<<-)GOw7eS|b<mpp9w%i|(k;Ctaid z?zp7$ggbAxTFdQd7C}D^(M=D!#WI$g_j)>4FLjt$dP+KOVJ!p8a+VisO&6{(U3q0r zpwsH6*i&i~i|$RBSZTMd^Lg6Vyg5(5W)-@>nyWf}r{NW|=LvJwb*nzzG+OSPvH0Cf z;Z1)nPwZ*C%~ZUieTTq1-*t|POS3odEGy`j?OPFgig{|0gCDokmYW$Kyibahm5y`u zGJY*(ar#*6!|N|K{jI;!dF_BF5eGWBk0&%&E$GhOzo=_hxz%SMu8A_C4A*U0m#ZF8 zpBCM<VQ-mPPu{(0D~zTjM0>_ex#)MjlW{wD<!%M7<Y~Pe7ZpULR_J*u1|>Vhe|sME zP_~(!yQzZvn>*{mx|1SruirY{!TO|Mb$QX=#jkIfFmAfMY~j`$w`}Hby=!6mU>@g_ zK+OZp>-CBs`?Dx?mK~oWb7B8X-p8{xdw*e1d}F%cW8%UUtHVy`e|{>|u3@m?P@wzN zQ&T>a7N5|VWz(clwrRxzjUdJ%>5xvXi>h*=R;L+@-BvXDYhPOBBDVgK`@%O{w;xgv zbrDSDI1zVkQwx*A^}Z7+iQ!gjqpP$uwokY_y;p3({lyvEC-nxd&RxJNCt4I0n0E4P zF^4Z}5clm;k&NXzVrMz{?2`@@@cD9tuHX8%xiyD%OAB|CdHttnN?VphyPnzlf~o21 zsTVgLmxdkaQo8V4>A<SawOtRo90VFO+^@e0ozU$VH+}0_se(n_Gq&08WwN{~Qd`?4 z(-8h@cGBBB%eGw&zIBe<Z_DfS-J1{PTAJS4bucE}glpUC=ig&nFVFY+=XsW4>Pzc} z$OCNqP99jb(eZeIv&Y9R)6Kh>n;JQfW?g+LwD0(aC3l(hezk^mvTk(<l25tKA)3LM ztMtvcFghpd`OXN19Xt44`Kvxvs`MTX5ZR%%gM&eQ={JW-d5yWN9<>*QZ^}?>xX}1; z-@YXi)~ucQJ)}%!Uih`YYokkACs;T;Id0v$ilHw+#GSjfWZmS(&~G=iwXSZ_Un>{< zJCdVde?nHT#k9{+%NC#F-H^Pr=7L7f4(;!Mrgg_1&=t%Ki)x6Q%&*X{FR`Craa&8~ z8Iy0XZ=O}O{?X_?b?Mr`o5dyV9CF9(B(A=B6Z)p%*~+@F&u__fJ6-M<%q(_x+qRW4 zYfdHaLyKD*_AXOSSnz08Sy-d0;SsTkxrG<k`Aj|QaBG*(q~jc`G*)TeS^dV{W)-Ui zYs|6>F^n}$om&q*=-nNw`!z<S(rn)p--Q`gM|GR@9(Xa`nUFQ-m715|#HZHVj<8i% zx)i<MT>3VO$4_a^`bT9CY((PbtE<{fk?Wp5<@UTM$0xm=e3Coa@j$N>BgY4M&+B=b z=St_^X~_%RHm!rHIfh>~XiMx#li)c|Pb#hs2wQzjZ%46IH$!pMVnzdz`{f>gC&vir zx;D)-Q<KV>__wEo<H1(3#lnGIQ$?<QT(7u9*L6ph@9L%TX^kGQ!rv}#n=r@0udwp3 z*pAjixfWM-qxLOmxca+qN}1HPWmEi(cE45hdmzp*H#_ON(36K>^};<ec#H0dw)Hl; zEP8zBhVu=koiQSx4;E;iUtCu9V8`kwJ6=_~?A*IG_qXqZhP?~CN*7mGIVW}5aOW-G z&KRI|>M!G_1=c35sli^1;;iS+F6e#vW{S90^Q>2FjbSodOM_OuVbD6Oq+8`O#b4TF z<C)A<p}k6t?Ay71#7uHpc>8PE4(AZN^H#4z9$jnw6RIT^yXvb%;>`uq0~DKGPQ2Y` z>X@A!*1F2D;KkXGp;-noTlC|ubM&#ZTw+*wdgb;NH`*1rDx9{hb?+5hbZz0A;FDq* zt+{NgHz>W(-g+SZbMC?w9Bhji7}q5+L>6D?c51F!9lq$cRllOlw6(5m=I&;bXD3Z- z<e0ccI)8Ef{;aiE-8#!}GH~(wCCN;5-{_*Bc<Zf)IO|5)o$p=wL;h~bPjm@SVB{0K zySDe^mW^lhFLsBsM)h)7v9IN_X5s4Gwc(P?=G@Sa88@9y{%X7ICDQC9v%C92W3-^x zDV0^B*$q3mr|n&FOXc;!c$ZroLXL_#F*~wY4;FPtJquvn5+ftHg#UK7bIUER$uW)$ z+1V|6H|ictXe`Rr&k$<Lp8Dxp(^eH}1r~l8h44Q`)qJ5^OEQ#iHr{4(&*pwv^Cm+{ zBV%>Q#Zy~L)?Id5uxh$?>rt*7dIC>lS8*=o(sg{G?a(yq*@Dn1zCwW<Z$zW=T4Nd( zdu*+^?U%JmewBa14Hnt6Q8Hq0xaX(LwlOuHx{~wkvwdrqEtgjKbbkfkgDnCKS$%Uf zm)OTE&)ig?m~~z2YDP<n(iO*TZ6fcTr`Q@_w6WQ_?9{X4oa>T)-N?6kQ<B<os&xHT zi$%OY&SpA?HLlWeT%aVtdbHO>cyH(gQC3%G=aUE5IyyeA&3Y*mlEQFOpg`-g+o>Ij z8F>@3t_CTmz7*cHL7+fmip;is*Q7ePcxPSQv{&1;IAMzH*=}p~sjj9A86L=|Mi%nL zOnkiIS;UeHTUhq4*w(jYg;v&TKCzesoLNg=N6jwKe6pNr-?_3S%Ua%MeqEE^%RKwB z)7Pg$!dtJmE9r_&c`@hdqvyxGa>`8f+)N_2mQL8Zb>RZhplcVBvs<D9#O%Z7zGw=` zSt2z{TyfdUJM(XIs)&nZEEn6F;ZU*o&*VmiCUK34j?20^qbA+;WN(Sgd=qCPA+~n^ zMYWl!e^wQHswlsCwKjCYl^e6frg#*p)K)sD3UJPAjn0_l;kRjtq8zJwRY6w%Zid|K z?`J1(Vqx3)pCNulseVcelkz-Mm8*-F=6arccx2+{Q+C~*(pGa{M8>cl&E6q4D?^Hx z<)(5RBlGl&iWVY{ibbnu|K@VP*LS7r!TjtSyG*umtj;tGUz&Ao>9RG`wr6wRQ4i(X zwYcWrRF=SPb650Nv%W3jHCYf{pSo64BI6UoCP(fG+^tI0?6ww@R)}u+Bo=7XClzx^ zwCo$V_q1)<p^LIZr7x@%$XvuLHtU+(1nH`|E4GHMnqcxcH6VoRV(sKve|P$2aPVF? zUBDhE$9(&cp4jizuKX)<BTE<USnt$3-><;7yXnTXw|Upw8up!aT(8089o5brt+<85 zPwdu$XAQG12s{<w;#CdQ_6?V2D|p7vbm^gsTH99h5O*`1j)n^oF{K>GoUWKk$F*9$ zZjzB=p3bmSi1Et%qm3t4i@NUF-WcXl^i+sRWY#@@!E5U?mnQ7s%L&(YcRIgl<ASKE zCo)+@WSnkyZ(zE*F4KLYi^(j9Cif*5_8pX3y8ZU0)uH}Nk7ggZ8ui6|V-+9M4Ixnl z&2W`BbDrFPd_ZRP7G2@2Q#Tu#W_#bt-kBNhbs{`3^TMwf1<U*^5h_+!FRx{C{MPwI zI>xQ>CjXNy3mBq4HEu0i$((goE}T(tRr#tVQdv!`QDSTETSuA9;oBwf@P@Y53G<Ai z6-}8^9JWjJuU~t!n&XztBvU`JF0+}g0`1zp%&yl}f~qqFPcZ0uWb>M?i)(*texr23 z4u=n}Yn^ua7TwTa_qNb?qUD2C$!&ACZjm|ma<x=fwJTecSx3}D=@SW3(-z%3*jM<W zY0H(@CpXOSG?{zY>+kCfZuZMFt}wDkne0hVmbz-XR-<0LH*DKZ*DFox4Zd5?aR|LT zJ2kf9pG>g2mibQ8-zJvq7un9fS);Zv^XwMq#tZQbTe)^Un;_D5^3I}O1&<gJC$lTO zN?W&jwAhO6=z75C8(QqjR&>FMA?w-VuZ{<~TszNdY&{*Vo5fSfWX`&9FO%+FhC^N& zM?`C9^D0WHUR=Iq+TN9G7oCq<FR^$>i04P{FBi;Qr);@tr5l{IMfvfu*F1}!HEeyf zrt$E?CtE@bLsp$zpd`w*b%E=&W?`xPI0yHOzx03c@jC4JHfh#<UB;~^ckx^m$ez$0 z9KBKS(nr=s*Cziv!tL5J?U;6yU)k!pye$`+9WyoNonOZIO=Jesk_V0&My(OK8hbZP zv2efn(BekjQfZatq2^7Gf>-njeDPX(>iQcg?a-xNk6ZX}e3;{;D%LLLlC?v27K794 zFCCe>ai`x_IWX;eHSsr7ZjR`sJFWRQ1Y+X@PkxzwNThEa<F3_999I{_U2Rx-RGeYo z!i5L9!ydHnc5Xc!d7x0c$x`WMeA3PZ!A|8W(qfnN&WavVn;f-`vFc5E@ycqs=F2OC zl&1f=xIsX{sv+CMr7QpDvu_LDoq4jUN$u9LZkwHZ^f(pk=9sy#u2lHIu+had>(Paa zrKcM?Zck+4+Um!9zdOU1<@5o*!eyWICfENusquk(*6N0Srh|HB>yERCymDz#d0xbK zK;7d}FN@TZs1H2}v+rK@zU`8n_DiO1w(C-X*SRgPcWJ-s&~DnI7^r!6=^_Os!R+p@ zi`^67b@(RnvSu+|WV^Izf7K-Kx+e3;Ol>E|W$k9uO;`F!DW_yTVQpS_cEMi#*tPqN zZ@q}j%)H6XE7rSH@N2mS!;0{wUpLK~we~>9hy72ccrMs+d)lJ#t%sggI~0D?TA6df z(M3A0^ZV^vjDZ{qoGu?<MBb<k<epR+Z5f~7bz|)Ws|BH38hqb4m$5Q6hH*UD@$1Qy z+se22ukr~LecQS5t?-IXqL==D>W&e8#c}n{_N{sWSxOV1R=b)mJ#u;a(i08~Ppyi( zz#!!-<`8~DLFsr{gM!_j&~B|e^Q+k}3N5#~6%)R+%t1&=V5xUQ?*+D5vz~`9u3045 zKiwoUBiljTqrlO5iiPT1_TuO!{zbXci#PGv?ro^#PT>eY5w+OSR{pWax|n88$33my zj#XSA7u<4hJv>$5S+B#=!;@zSALKd_AN{a8s!KO&3ab`t#YqKqrj8qp=N6sL%*(HB z$okg4(fe)Pv;zuHGy4}E54yAVNA`uHhwN?hwH>oBA1KmQXxyY@W<OQkIG|cMkME7g zo1FDo6Lzi3y1c{eQq<~+<=?_M?T)G~^p4}bA=0Fve5#_9e*=$;z~1(4SIeyx9c>pi z+wIbFxn-Xc#g${zaU;C@^<$HWY`2CAzeTfG2QWwVE-{&KKp;tJ^08Ap%x2wfNGdkv zTeXE<>e7;^tu8qYQ2|%hnu@PtyL?J@b;DjYmf+dB9}A+-_ct7C`oLApq^sgCsA3-W zHrGseu5|boseP+%`)mK3BbcGPL@?|6bS;N~49&*u%(L3z%m-Yf67+a}tF`TjDpmhA zQ6PA2-J4L8MP|k8)=XWyAnN%R-GB`4f3Yq(TsK%^E_ip{SUc^^{#7iIF|EJ%ariE< z;C}5My6JBe*ITPYDi$xoRpxKd({o_^t|-tPs-W{RVSU#1rDs3Q_Vrzm9iqwbsNsQn z*q)Zk;<_bUL|vIWVie{+;V9~z;?LH^WNxx3<J#$N=lko<J}B7RUK?XtxOBZ#)0T%< z8WfLR{HM3we#*Vj0*jacU*DU-6Tk5txK+4y!*;>!+sy%;w`*75SbB8YswYjtJ3?|c z?A>>fS9crZjb$JD)u%)`e%bc)y|uXV#<y=xK0NAhyTDgaI`yRqLxWapm*&!2znrf! z+<(Hnrb>tB<~9M%e`3d;n>DiTiF|lxtrT<Xa?=2}cTL%D2UmMV-4a|cpmNmr<AizV zw|8><Tp*aCU$(w5agz)uYxr-I2i^8ZinjSOE^=pEb+ssX1^+6!_4D$B<BM<3yRD$B z{naCj`K#_1O-82)nXHSZ|J8QU_uxA|T|jK1c~j1!<h_39pI9#1J3(+u%95Cv{%n^| zmhqv#O><dJm}w{preAkgx|dnBm8&zP@i%+Wrmz#Xr(gLta4u`UbxLn@S)<zor{C=A zpCxqHu8rNgkj1vkIa=j)%&Y7P@2}QIS?Fq=%D>65@AjgV)jUtxwZvn>P23Z1I|T8* ziQdeedAeZV5ev&Ihf8|aIbtuj>}z-zc6L#qjag&<F2-twk4a7YvM$eZ)ZMx=YH!6` zj%%H3#J+voAfWQSV99lbM(#^n*cn)VXYM-}wN|Rf@!*elPUfa2wapx=TUt`t^gZV3 zPp^8=e>GC9agqGtTXOOazhv%yx}bZI?c<*b99^z^F1k+H`l!|OPsPGh>D*DijzNEa z$NlCFaap!Ui<M6}E^5!Tb`|S4T%W}Bjf3Z0%4PP><MfMJf4ky+&8PiU3oI4BX_#Gj z$a0C(Zl3tNw+t&SEfn8K>x!&UXFbGyE91&ekHB)7mg~o!mh8`cDAww=md!lrNN{c4 z+(h9s?bG*ns~o#$;<#;w%+{sSYi?*Bx;(2}Y?_mO%CqInj@#Z#uRY7F%du7Ba`Lma z8Bv`IVnMu1UTI$2vF&gF#kiB}ICd!Q@MCByiP?FONx1)V!v3u3w_XNm_pWG3c3rrZ zS21|<;Xsa-YoGK3GPYfrH>ZQ6OJ*{s!ts<%w;mpzzxH(ISv^0gMV=;3YL^}NIu$O6 zFuOJ(Lvumv%e<Vu@zQ_Iw|H&pySvtU>My%H>!!9dT!|{ZTI*n+`b}%+l__se{_|+9 zVb1+K@obU1dG=4~4V=aM6S{e~1+sKASPC>-{91g7Mf{ga5bu_^ah#jKhM#<J_1o^Z zhwMYRcC!|Vo9tW5xR&P$J9FHunElTtOKJ3ZZj$nnnOyy<jJe6#{nHzV7{=eq6RvA5 zxpwI)<B430YTs{mXMQbbbiFh6YoT+?feTR=0<#&*xi6)!^SZKAAgfnwC-X^WZ@&%q zpRC+kQ};8B%Vu)m)&t_zE}#Fnzw0%bmAm7^!xf>~0gocO18z*HOzUiWBD7(PXF~Mk ziMmCFSGRcGVbSTUY1?ffw#eBz#z`!k(SAy$ABX9Zox2vu%(~?GWcwtkw*e;mj+!pb z-f%^IdkDYM3w;TVE|r|Ei(@|QWSaiwLg-i3R)#rO7&tEJZqRGKBmR+xvvs{g?;53k zja}E4@Vn%uY@0keYNddq`us~GPY*EMdbB?@kM-_~$OH{j(`o+N?=GH_`|7x)^`%h$ zr45aaXTw&V73fgOlImDmvUhD*BXhz<&2^i&wlm2lSO;9<;%D6Ep{I2!UqeB3aY_;E zj@eh5nwxG<;o|o#SaCo1*@^{~VOh5rH<>E3nKB8g-Oip=yX}Xs%-wHd;#;>abmfXE zdvv+7Y%SB&*~QMTIroA+Ip&!;o^B|M(SEotY}Ty01(&vPt@btPT5WZqq$JAnf$pK~ zu8N0mxI+$mnD<&dPAJiR%E$ST-=%n^>$+`yrEwQn790vLbDcI<oIymYW8b-4;gjE1 zPmwBPxRLdrVL^`h&8Jp&-rT`a*%KNR3%V_@)~#8#@XyXg!aMo+w2x;P1V<lR(XM!E zoeW3#X;&qtWi5wHSr@Y3QqAGWUpA}kg!S}2cc)yp&G(3OzW&+GXwIq7Z>1M+F!^3| zZmwy&#p+SFJEwC&^VLa>tl_L}cW#CBbBOq=U;5kB^j9u0W9deYlc$$v>1k(&=&h_* zH(=O1t)W-9qW&r;)79F^_C4+G;#)1xX_#HfDZVUyxY>)L<^HPTX(udCcx=xyi(mSU zW6>3Fr@Jeri>ob^w-Wj4&~QM!MV(>JsUVh!txMkudsrS7_7L$~bikk0B(m~%uIGD> z8)2`u2rl9FELae*AiGbvL93M|>+f>b><LYL8doi&ir8nob$@-Ul=WaxnO5txNv2O1 zEIJ%@NjD>Ev2Wf%>*zvOxj->rmiw#Z_N{fez&8CQ*M8~Adoweb7_Z%6j*&hXbyLRv zi|@BbFD~gmx!uGV+mvZwvEZFW*qlp_OQe`rtS;{O@-dfj8?W`;eXDP=C`+%14fNZ5 zbMdqtd*##bn;*1&v1NzQ`Jaj=Lias(9$^S&*t_tQisgdV{|w9*lLMaoau3?c)jHYh z)bFV$Tv(V^hwR(__3bL=hAX!huZ-V*(>F0g{#1kGQqyh0d#Al=4p)$JZf87tsc5<7 zy<6@q!s?411-uq<W;ZSBxNEs$r|l-ity0Xl)-mO(i!XX0_)z%Vok`nbS~vKaJ$of~ z#Y|;(aclgN0PUp5Npmun-1yD-OHY+EC-275OP|c+mA%^*Mr`1XXHT<kJ?Nt4K1nxJ zIg#OQ>_Hjjti}+r1?pyfOPUVtJJ2B9cdR!{ct_?<_ARrvu5@7FSZ>1oWz7^`i|S88 zZ@YN8wibwNWsq{n(GbY2EfX)<tH<p4xGp=z;q9pf{<dvLgZ>uHJEx(XQf)OUc=47B z`9;s#KE|}JWV*AKc@xv!wEcDSUzkm0iQ;y$*55tBtTSf8t7vi4bqoJ9NQ<y8<MRDp zGAlD6Z0|R_M#rbjzTb8_U)S8`kQtJ(+IfQ8lEvkxgL4lxnTfyKaYccZVc(Hy6L!Rh z+}3XOm}kl-!z3J6Ew;S%fS=7>ZD0Giv&Dzquij>8&fxd3Sj|x-7H*oL_Nl?TsOh3* z)9F%Q<;{0ih{h*$gx*gqxistQs!IpAh<2^Zn7mX$L-?diRMs}#iDKPe4;H-*wdx27 z_^q4E)>;#*9kRbnKYho$0JXKEY2U-<JPJFVwBK=6chu#hk*gg<4}^3_?O>b0yRG0J zNBSzxJGy7vYu&S+|Kxg}wrtvJ$2<91Z!H@o4#ZizE?g0npRKw(qFlTA=CbCw2W{Lc zJ{9lKy}8b2wNL4C8};42N4H*^xyWui=lg|E{3f@1e%%x(Hv3Srqu8tf8-X=js$DKs z@#@8|?a(dVdZ}q%?yrrey@AIVD?~FyVx8YSUiGQgfA#hpujKCb4Qp+m&5H@h@Okiw zTSoMP>XeLSAKX{{+EVm-dDIsjbrX|I3R}gdyzMg0d&qpUsCeg%i)QRxE3;N8l*ai^ zzrNA+giz-a|0_YyH*RrsV4L*L`RLp1z>+SR6%sPZxottUcSY5;r_|04-Mo5kPDA#D zITbf;PwZ=~aLmtlzof@#d8j+~##~>ahNzsaTvN4FGJY$lE0ty~eIs7L5u^N4%JGP} z&>Y76rDyy6mhwM-d-{gSw@HCE%&Sa7C+yv#C!o7Ys(~Xo{MvtplHTTw2KHM!ZC72; zWqI>SZ@<g!{ZG$r{=Ls`#i#wRTi*sOc(8Y2)TBpq59!zDbn)u>JT1OGxB1k)iK-@Q z(*y3FO(^6MYYtFZo4ae$*2iyVU6IJ)VxR1KPW(powX6Esm)1_6aj8Vk_|%eH+Y44q zdFymzW4-DM#V^ko0`r!xee7qtg=xW@z^6s77L&O2o~++kzC}Cx$!&L5lgs}ZCT&<Z z?GBTEN{q&T2D#wYRS#b6@8~$WIo@;jPImj)9pzVUXt(}3+VJu8Ez9N12YnUHUtD^` z`ORNDHh@p(%ZfmmpbM{Rud1`WjcHgEcFv*D@kCMcO4CCo?ss07$M)*!G_TBD@FZhF zz!!J5lfOf6u{(ba+q?czN7xgOu+W7bMbEbAdMNH)HF?FVXAM>@433st;-6@}VeopO zu-5c`7HhanYe{4Ls=I8v4luH~E_ds8y4Je0BSP`$>84KBT*oC-WIeY9sB*F0+N&M2 z;FaSG!T3*?lT-7UFQ_+g&vuZ%+teMv9p|^;BG*-A-)OPbtR|P+_y4+){gUD8(TV34 z2K`p>dU*6i!|X(coLhPse(o3lY5Wbe$&Fok`er`+k4d@A=d(Ebwp{SydYPLc;IT+= zs(M4<H<@2++pQyXx7<?LDD2T~bDJwy@swhyq5~hpqS+oo5f7Lu<EGza%%1wE?P&Cb zZ&Bgv?i~%{eBAZ)Y-nPv?#`Pm{Cr|rmm9REFL4rMe|Jc&@6}7wV-4a5;)6<;uH@K0 zy<mrO;QCJ$$xej~Sz;@gW<25c*yTL$mgqO`qz85f7oL76`Y~g9po<81)(XK5OEe4G zcV)7OzRY#Jq`Q(+x3V)V?1;L}%_(bt2nl@D-fDD1IA@#L>&>Z|XBB3Z>K3S&+>UZw zuEe{0bJv4OZ-eK4D_r!vi2EgzfMVmig*z4Ag#DQ|p<Qc7tpIDoIa42Ahr-ycnim!d zPe_bvNiOhZE!eX3WZ+gVm#EUvsOt^4lx}Ttk-jM;^E~(<pZk={$Ct(w3G?!K+z5M} zdMJ0j$AxIKm-!BDQ(wG2^;c-k;un@CJ4GH;8*W=95_MsxtA$eEtp<%-+bjdGm<BLh z<X5zOvh%>AxPXEJ-lz$du955$)}Ce0TE`r!m9^A`Q~LXrdwUvBFsKI=u*wN&UfJQN z(ybxKs~)xW)GqhCQ#Tf@)|hlPqhR(au~4C_A?psat4(lNo4X{yz4ds$$KTk4Y*%eo zsdVq(wU0AX%xS^?7?InWON3-4?Nefyt_EhuFuQO4rgF1#!sY(!Q%@B7nlvo?+hu>C zF`6Z?xZ|PWvKhxkt}Wig-k8duGrPh!!?r<V3K#pd_@a!N+8bHAtfoi0tev)GmPTvX zzH8ohdZ(^%Z>eN8zxp@s6~Ah|sz=Mi!;RWgU*>2?=kq$aJ-RL|E@H}aYodw&=0n?> zxNZn<UB!9i#N5Lj&vxIk){DtI-MRV(JA;(-9GOeqx2`^UoOYwo*GAYoZ3?e`=32ik z)m0qZC%$<T%A&Jq?$!uh<sILiIB70e#OSo{>W(vIS<>1|gflE!!WIWzYw_Bgw<~$( zrX_LLth0PK9RAAu?x2Fk4g~>)Z`v1sg$60EY79SXTl9dF>mmn3;Fr23MSB+?y79iI zZCU@?to8kOC$Xy@6wFXs(Rzrxd=l4<1z%klez`32%4G?i663}9z<%yq_MlCdIDA#K zx0W?J|IlMvnxHK^=XOlXlM0_0ZSGq)7e;bz<z3>c<<gWh`JgLzSU>^Cq<NX=6zfjQ z1hQS<aKI@mdnd;)8#XSVVhzC%uPnLdPMaP27m8o!l|BCU%Fpd$u3C3U4wus%8G*!Y zo8PW>;=QsXC|_esU`&qP>TlO;<F;;iw)ox4K#j{D3$|uD8SpL5Vzm3u@MMEp+l>sr zeAY!BjN)yJD#a6aELb(!Yn4k=$5scW>QJ>$9o#`-cjCppPkNsSsAsv|vGt(o`7Kg{ ztYRNM&vI<dcComi5vee1v!B^*M$;4a(_VGhcCQr=`g=S4)lnt3TZ_NQu*8V6>q{zZ zJYXTPl|%8Au8TNRQ>pIyt!ls4Hh#M{UFg!5XI;|K5)WQ+tWSM5d1>@bv2M<&pqhk* zyaGp}m@cwKWmj$xNIPMAE+MbOB*3-x1cTU#PctsbdTejHy3%>-qN`h^1hR9Awr*XO z&9v%m$s7xXMdDk%tN0Wa-HQ*2aVl<}_*7`8<GK*1rLITs^t+fEzgja%xFM=Fq*r+B zI^i8I%Gm*KD@-m&IaS9AJ8G=|)!AisDS<mAI;C1c{g>|6umdtJi8)feLa#WVHy<i` zTG#Qsr8;8!tPqcf471F1^$Y*bU!T3{{i>}o)-8`SCWpJ+6?tx<y+t=x|Hi#TcFkt? zUsr6X?0%_WwrvZi+qIW_7KhnNvFCbc#!73?S{+@a_ckZzLoWa3jK%|bw-&yvZ7SRP zC-Q_%nf{WTSzB_Cu;@pXofDI}@b!@1uesYcFmKhGpt0@1D(;`$&ze@dObS-k%Ug6n zv9L6C<*EaT#k1Ckn+J6}I=`F$`fW_>sZHGzf0sR3n<LN~+xvH2wl^ySOM_|rje<Ej zI}fmnN9}fQkum+}dH;+7tM{csv8Qh{SF&A@c6q;fR{rK%))F(`)KyZm{O){v%6#@y z#=>_8i+$B5#bipU-(qNW>sSB&pTS|miVb}Nst4~U9&o=M<Lun%W3v5m3uo5WLo$nQ zIk%=3bl;6x9(CpZBF`e3`M%37m#$kUT2{1Rt1ADh48H~2wpaV+t<b+K#r)=Bdfe@8 z6LW<#8s@OFXGxVgeA4>1wQ%w6i&}Fy7uD){DQ2IIGQ0XstLbr`z}66pRX$&43D{?A z&57Tbp>Y2VU&gWzm$(#jr0-Pyn!vltmG5feS>4c;zZJs1<u_!S9+|r)x3+!3!`lrF zG3z~U@<q*F)Vf+O_7uN%3Rk}7I^OtwTm=kuKSM&-UcF@38Ff*$pxaTQh>MpaYU#_I z6$>{z*qFC<`<g{OXf~4$y4M}U#W6+p+?|^|N(Zx)=LRUO_1&__?2W&|Lgm2Hw#Gcx zg%{`c)U?fJS&+YN<=G`sa}Fj=?4K*PG)O@p`ef1~;Zny1d<?vszAbhXkm9aXxWU24 zs_6B`f`Oq(VXA8&%dUIp0>t(zvCc1BKlgIo(V&kLRvlc>pxtykG;6Ed<c#H9@!7W; zDmOiw8Y6b8z;Ro|+u%5ki6+aXqb^-hYv|;drErP+)mD*652o3Qt6jHkRW&=@DlT|3 zV>#31qfB0mwG7G|3fJ};-N_NqP+}61krR&D5v6Xz^7)L<7U`Q$1-L$byRhN`hk1az z+{G+j*ItI473wCs!uz^gPHptQ#ULV>keO?-zg*U9+uFAWueGng&T-NG&D)AA(=DQO z6^~DG?kZ<I`|#1^*=b?c2?w}mytt5+Ezr62ndl>xigQislh>=-7BxKCbTOaLb)je& z|0dpFDnS=l&0lYRk~jah!{StlTXC~ahk9&lKCqIxv>;?fAjA5E-R)M*PqYp_>E@1| z_%M%4eNs$lOYPq3vV|*HVs>P4?Of_1J0Zj6l4|Xol~-!}0<GD#pM6v7Pm*!6X3;Io zPFrmzsL|)CeRH38lYX}2hSz>dw_aIi=~l%rJmGe6w}O856t9~HnVqg*kzV@iMx@rY zbJ~+?*JWJ2S-7n133o`ZcE<ZdS}*16Cd$9jE#;GSd|?u8!M6K%42ulo?ZD09){!n< zH*=V776?43@(s_vAm;GpVdnjlLd>&PY+dJmyL0=5#yfi^Jc?p0)sA^vt)Lm~#nC0U z!>?!w>#D5MERKb5<ae(ObZL6vy7iigD$}f}fK7YXE63<h@Y<y`_f}`v6|eHU3_7!Y zYt^_|JF;)Ev%akRp}%mWNZnDP?AaWa;$<q+UOm{JncDSh!iAMf*=}jgl8SnAaD@oF zhVo(4B<=6N<W3a#FX7Ny$+htfJBwz$$UV_6^X1&H_CJ5MQ~UdyPrVBhayowN?sy{P zwe-{##ubhW16;Svej~K%z|!m{ciYzWYnd|IMRXaqTK_vy?5h80h1eF+7eNX;`8ch% ztz_E1#D3n1bs3>K58g)YTN}dlYn>?5!*4Eui9Tj^C!`&}<n<k7XNh5wSsk)c%56g7 zN>=@i*4qxh<P_a7ZNeID+s=$!fvq8$*TeQonbtO~a)0HY*0AsNH>n4mihSX$Y>I~- zC`G3QN8h|Lsbx+Rm-a~yn~6K4^;bp}uQJ%6bk6tkfkomk!~;xbykpv&w|eV#-g3s5 z>$AHGu2zfeRVdY{l38vxeM^McQqyT2TSMf8+xhw~&pbA5#@W7Y7PmuKm2}Le?OLDK zWTTK7vEUcuABzQ|Ox>(of}Y5B#5ua&dB>mh*6GROuVUdW;f$-jSXWFJx%z%%%xd>r ztY+6m0vGL-3!TDMd_k2rKt{{`M(Q%AUUBPJb2GozUCw&3Qi>rvhHuMO-?#}TUB4!K z?iPI+5X8r^QR26OZjP0bfA7J}W1VY!^HzCf74rK&c<-_AaQyk#C*706IiF8_xp7bb z=0=m2X%Wxf{&9|T{M0a4sbtoIN3&vPz49|F)3D6p(0kUXx@fP~qYkMc-K{ERdt!cw z_gZPkS-H1oap{I^RhiJ+y6W0dEv-(L+BtSd0v}D}yrVYHNo1?zG;dBe!-S}WC1;(o zqgQfly0TW$#-!l@^DO4>(6;5f8cUa3O}$~W-tD3Zhjwgxm%BRCwX2HW0fFBv#B28| zX0SwE{o}a6jAO5~p8b)TW>(>*F4GGh=jPp#z8dvJ$<a)6O1Sn<KCf@HSIWm8%#ap& zd{R3he2bS{zjEtKi`Jda7p^Qmxb+uz*E)_Y?x`u_ADYBNw#6@4A?g>l!!hW~+ykP~ zZ`NjcZO(cr5cME*ah*ZMR)@8o_Mfg>sO`G;XXA12=eHJ#>TlYux6Ee3cGXCwH6og3 zb0o}s(oQHYP&=gOSF}AlwL>m{O7IS~HNVZ~ro4KzrKs#2^Bc!sZ!WEsb*gl8+`N@T zw~>{_wM(JOWY)EIi%7Fhvv&+n*$ZO4R0{&G9akxGD7${Z<`tJh>o=E%)=B3i9_3tg zzg-({_4%c|^Q%W(`RrctE*5WJE}wKEP&FVbC_|Ca`|DewC*KV1-(>74>I}Qh{(1oi z`>W6{``3w^n4a(+p7^x(KxTrRL-R{1wVzil3VMahR!x4f$f;a8Va_{N!J{{QABrpG zGN-p(@xSs-cSHNdEnZhvF@&n;Iye52bg(+%^g{Iah8Rl+(QghxDp%Xf)}0giU|sF7 zlkL`056dr(@%yq~v<Hdws_hVA%I>bt_ppq*-LJ2Bn^~PH+P5-VAmUl;){VEC7~bTE zXEiR8aZ2ev>EYFLXIt7r<@|)OBeNWIop!}dzq0U9?V`r8eOp6p#jdjGW*=J}y3=pc z^@(|V=T6rsYUIue&%cs$Js@BE3-{Vh`bsyq*UWQX8FXpd+Bd>7+hQi4aKAfS?2>Ry zhv?Gf#_euS9~Grn?O+gjpzXHO!tvSzr)^WiIv#AFt9ehYO>Dvn_UshH>mFOy1w`#w zxVC7eWzcdK+kbBs?w+tZt9b3U@LSzoa_>X8t>fAm@^qz(fc-;O@6bQJ5u3xR*%qC0 z3A)LA{AP9N!R(2CUti`i^8K28+Cw??@dn2QxBQkweqSV<#A-QfV(!Fc$9pU@-H$sv zcw{P=icOJPDeTXh<8;@m>!L{z%Q6AS4DA+=wYh8k3WJI)S<fvFn|0f-KO|H-U4tQ@ z$Cj;O7H9a^+9?*USDxF?o%lp3ChOYDMV$|B-4NXz+{L2s<nh-H+eBntCS2X%a%+JA z)4lG@pmnY+?*bXLmpqV>xzrG|fFsT%Y{BBpvkC!zX4=gscz;_q=u0|wJ2cnr&*r^p zxN<FL?}I+x;MVp)t3?{t4S!esHkl*kwq>hUqvP5vs}{C{XP>^kDZt(Fz`XfIV_fg6 z=FDpDNt}K*JMJe4nAA?<jEQAiC3}Z4=9{(HtoVe+C*8`e8KNl+PMh}E?_vyguHaya z{OY^aZG8%p(yXqB0-u@`cZ;43;kaV@Rz!En>rJAut!&$)f4zF>Hj$NEd(vK|sKck* zH4nsdU;29Un*X~y;@3_*y>i{U-T1Qfu{~Q?E|}JF(s8Yil&-0-*|Q@4O{MO4ceSs7 z)ULEre#O%c3&umGfhzO7{!Za=|IxhB{^-?=OC}v#9Ev?1=6b{|+V8QvcFsM)#doIW zI35fRFzd|rEwf^AWIc0tX?tRZ*dp)v-%DNibatJs?W~S0>F!T<Sr^FtGP#9GgG=tB z*({B>d3gs9O=pc4KgD+Od&vHBk8dmjc1J>AJ=++0^|$Gg8*=Aw2yv*-j$wFkZR`CL zU2j|!Pp%FL_E$W|xQ=0h?!vzK69F9Dj19W6>DSFfXN$}@Ai$mFb~3xeWykzS+gO<b zzaFgo`m)OL;(a}TmiCUvaeZ4j>@1lb3i!&_EwD`XdS?2fovG|mW9YFJk@CCVy2i?T zm|YdVb&9{x>2igPNX+_o{^q%AQ;RHY7Cf329K)oy!Fz&g&RV8fzZjp*RLcH$@WFKH zuq&0BGHg5B(@ohI{Em*wnbtF>{nBUqc!fAW^P5b9PN(*HE<N;AAXInXnj&7!=?<1+ z5v(02R~4^4`sYpltuH%vb699IZ}_cM$`#dO+ZT|b9o{Orpm)J@J+EEid6y0*En)Cu zT`@(bJDhXL<(SY(&Qn*r|CoI1r0M~NXO`?Nuc|&yo5f*1&17xHw~J!>k}3vq-N)X} zmF}oX;Po*5_H9S#Q4y(CQ}w;BzmX2jc5$8{(%`tQBW(7!m?@0D(pnsiu1%-87FqxM zyN*+7BFpS0UfN$cV`3F!yIrS=L?6Bpy6x7ZD>BWeJ<1OJo$#AUcvkRi$F&=knLaKH zh~kwM(sf*Pfb;5FC9YD_=<vmx#GYLH@T|pqf}Vy&L+s)Enfp&Qm2*_p^Hx0Jo&I($ zqi5>+I9uVUfP^B0^&H%Ou^U{U%=UlsNu*44!NE8!pT3C;ykAN(-O=4yeNy$^hS$*r z-xn)oce;LQG~cT`?ZDcp-xaf-C~KZA%$aC<YRA&31zSYwRy3xpzxcGkGtoDTmwP&| zB@YLm?}7^)eG~GpuGMU6-h1=v5%pV&7EEPNk6pR)<eluQ3kr5;MJ`+kXDC{Ak+Fbt zwelqK#b*`7W!HCa&3-e>%Z4eZpi$$4_cpy>+MIXS3OJaFZ!KZpuy)n?BF;BiE7nE{ zEU9I=U+NO*x_I;SS0`Lo|I1u!ck!#E<+j^P55ynctsQeyIbnNTzbexe2H907w!}PL z$$9qIXO}6pZ=H_vhA;8j<RR9SQOLVptxsdZwM$Rd-{=+VR$SHLDA2+1`X~##{HpBG zC|%A2qU*WNbeObT2+a4sklnR0W%fU>?hccFtv6y#Ql%LMMLeSJ!G|_@=-rtTsG#rM zy^fuOwOn>Wr_WXg*{vdTaz1R$j9Mk;s3*-Dt+-00THxDi#$X4fIXOG--4C&lySUZ& z4s+R6$HNWJ4MZ+nYh3!uOlhKF%M;HSQ%1KY_K+OWLj~MZMAu)}waGo;r=BmNVxk{A z$0X((FNgVwXB#AK=U>dvlj+pH#Qx@T`Yja^?Tu{BflM!SIm<P&8o1wtik@PPZ7Qob zv6kN)b35vjlWvj1)mQUm*9P)2MtjdaJwr!+b=I^6=1nqE;qL>uowrIWIXf)sYZYti zj@kN&S2R2!)MS=c*Di-kHx%EksN117OMpeUnnADOUG4%)5nUlCwrls(mQCVNTwu90 z_uLb8tIK~arq(cJSj11{tlQ`4vSpe@_{2)CPdVj@aW1@Vf7>}&o-G!<eT;#@G%DNE zIba*ZUG=JRr8ij*8Z-I+*;oc_d^1n#wR3jnQ<KO{*1)V=2eodsOfeJT65FAmac)uT zgvQMq{C?|up7^vraHs1Ng-;CScGqvN`2D3JL{#Z=$`s2eksF6r`Efg~-l}wuJ7%k6 z!(yoqwefN*wydpih~g=_C}t@jb?K7Bmup)MceV9h2}~E+E8cu-$Cq`#8JZnp$}X-r z((RkIRm67v?VT#3-xoAbcv=;6m1`H*<k^X5xm{Sfw%lFyGFEKbMeSSJIeXNbIF`sC zp6hznyymC)#Hbt18#XIsl}u}VWR<l+e4@o0=jN~zO0yWvJx*MaJ$)~<c<B}wC*3F8 zCkhtmGG^WGU7#F0=U$Ai<pSjw3#1yJf6uU=s8rol{zF{*iFDYK?->Q1iw`L-jP71F zft79cYUiyY&L_27-wLcyI+fY;di|AcQzO<1WcuanGG=ae@%H0LVz`j2%er;SR<Ro| z7&K2FT)0X7qUxQTy?lZX{xh6gc{Y=Qb>(`8Et6M=Mu>FX(a-+svX09}G&^;7)b9tD z3)ro;GBkT9ZBs4IJhH%d*Mwh-Z|!@~TC>3JR)f^a&;=HYcDjll`eOgY{^d!B+Lc^| zc?+z6@H+5nO<Q=kpJT_C&ozp!g}39Fot<~Oa=W(5KV1>c&G3%9`Hf<1*ZtHNLSajv zZ3)d>p<d*xmo-7{_DZMsUqhl#$-QJcQn%3jP1ePv-|-Aw_up*elVLi%vs9@<HA+lu z+tv{GB=Jw`*SD_K5~;0<kA5n!-~W#O&;JaoSPNZO9$1_kw(_gjj+oYi4z|lKl&zjx z*rcK8(Hge@!L3y$QN8Q9vYn%@)ZU)()ZT4v+2je=ww_6@pBkQc%0`>xDpPas1TMvu z{}~eAKMmXZ{N^hEFZX0DqQzz}3l;E6<h&xRwLgC8TY;VXS2&1>?vDTUkcsIgb4It# zEyVyAt!Hl!e6pV)vj6pz+N)(eh0ar>1>ZIOX3<UvxU%52$quIpaZ}BD?|)?3Si8ci zyS6H<og-9R`_g}g1!n_4F1mE@3X^VBx2P-ks!;FNmD+Asqc~5`U7--w(!h`tyZD<+ zL!;Y@pxvPv++kdbq5V6e)T4gCxfHPFzT5SQ3v;tBmS5R>z~WWjp?h<#*RByh9NL}z zwo<3P<))>OSi{@kxJ%oY$O!lrhUjeVXy{k%+wv|@K8Q1_>!aC;CCOL1GoP+(UFSNn zp~5EOsfm#ED&^1wMFZ9K(c9D2t3FvMJh4bSu-@mcINK!0aL?s$H@Yl(n9#(u%5}E9 zdxF@*+~e0yZjo^^Quz8-z-gVk>cXH4izQw6aK&9@nH_aA^Qu+XBH`ouU6U6_eYnxK zt8fADD*x2wrkUp&^kvsN{hb=E&XS>^W4Tal;X&?O9DEwuj5z{TDq7oKJ5TYt)ls|X zQD6}B&2_x42PSx#tk4TP7_XugB^uJZF1XY23iGuu%-62X*%70cd3M>(Jy~0RUEsW) zb&yx4fk{<Td~)xt?XG_+ou^OSqNZ`~>667GJqpua*_wwu&b+$0GE8`mX(5+*%S*44 zKO2u)9$csY<ZqzHtmu!~uhxg|ZThe+x?8nUqmnaP;h*z2v3|{CcVo7{>UQ?vTETKF zJZtKubso<;<1U7+STDuv5}<2sr6TDa9qM^FM3Kj*GlQWx<F$ur)>h6vLhslYpOR1C zx61!X%!A&hhuLv5m&9LB%3QT?i|DI0*A80VUBl|i6udU7{AR4~N!NFJY7@2FnZ!9C z+|+f=-lWTr?XiHtML}w|2Sb#@%`C2rA{pzTRkMFR40;$;uJ`D#0<*_I=eGV_5%y24 z;(@BM?cWp&wz+lhfAV(a!(#^-Yo~45tI(w)7?Pp<wSKFwdyuYq<4fVpd!23#>vVGL zCu_1zh{-%Ot#eDi=30?^3@VIo0(hTnf5o?Wb5~)hL5rr{%KK^a984H~-RFBM?6K&2 zY|x^PUsts@=vvGw<Z90gEaW<9y|X%gVR>Nq6;@xDOJeO>y$k{Q2|DX9zPWHg_f~(k zwYS#QOIynVuPClGPr1eYufxx5tEflR?F4tG6E_sTEs7AoD(AgsebTgRvnuUgo#%ZU zwtvEn+zf_&TNi3HaH?--6wzs^aN&y2?PakwpBj6}G-}VpgQgkNFUt06=}9rnkP&TY z+;~3EA;aW-mBKAw?YLW8jqfdcTOd%d_xh{3PH*OMhZetO&}(q1WjoP(_tck0mj4U_ zGNPaO&HBzMOt|7J>~%G0>B>b8dJ2=uY<6A~=Xx7Ep_6gHgV(LLJ8w8-n>Z|&GBNPx z3W#Rya9v^2An{<;<jC~!n@@JP{<`0v@M_J=)Ky)(9ZjZ~Y5!PPY998Wxly-3bDd(I zclSx%;uT)aXDem)H0E%9i{6k?&%34W#P$iIWlP=#&(eqvp2elB*?QJ_>+CPy;Y+?3 zomO(2tu(>L?c2f=8wAR4*mc}!%E{4~B^Ic%)=6&bO@_HAcKL><C#>bxSfHC#s_Vda zVA+dmp(~l0DW=vf9--d~RMuxrTX}KOwdon63@dbl7cP0m66rPJ8`IOMzaLgz$kN^T zg=sCDTGI~hD#mmBg4Z2<V6~gec7?9j$F-RiM|Um|mff*^LT22GNsUW9HI!JH1Ua^@ zXmD^_v*nd@d;YE`ygP12aW0;2G9{clbd|11gkb-)qv^*o&sOPfdhL47r%+*5bk0^M zgE`lhZ)s=GYFW46l-bn!6EDw{lN@omA^ltT&Y1Vax6dhc!h<KiOo5zt^fULJSDLm> z=9J5Y+tV$sz0T8(-Pv$MCi^Sz?<z<3!j+3yv(JizYh*PpyMOci(hVCpqi!vmp1o?d zi@FK(s*j(ZHC#J(byYHVH*?m$gVUIE89fj8iC<6q#J*~&=U4yjTBTMOpH@5Wxyt;i z_ut*}j76GRUV=B(+il;9FzPu*x-9yzjbmp-@wB56VT@ZUW0q~Z$abFl`w5nH;wrCi z&13(R|L1<5%w4vnSx^5=-*<JBozwe`)y+*zyQ|%AJ!P@3ir=NNW!c&o{yeVVN?xUt z|3sHG=f+AunZm?$K&-bhRq)oy_|M;##x#g8$y^c2=$@{aA*K9kMkUi#mKQI~eUEeB zlKZ!<*|(@mjJ;=v9IItP_tZ(fI|RHP6G8$OIqPrK)7T+WDK)!b=}NBFdCWWGKQXGd zhX)_fjk}P$_-pYDf!+T!_*idT(N4Q^X{TRK3%k_QSlzxapW432W-g7M<-E4a-pw*M zL41pT)}aSlPwxKvxiD3FIos3|zNHF|y1t5XS60?G>~h$m{`(;x6YtiTs|ukei~ZcE zO*|0QCe**EENmys)oM|%mA1Ebo@G25aHVPX@uXFAv!<>t^b3*M`dcdVKf~-IrHf{B zG{mjeU9J`A@Dpj)47|4Esr3C4i;#@Kf~RuAwZE)_9=X>G#{6>0>F2)mmu<@eMirYy z9|V5$-VvQOq1pV^%h=V@^@1s@!;fk$Jz#!g?ZhuT9ZjZYXZcpRo^yTd$8c}@#M1?9 zv^n^6nbt&1vc5gx!2CZe#RcRZCMX4Jc8D!_u>H~7oE^6>KFr>5W5K5@GBXu2*{7ZM z`*iE>QuYF_t(of=$*f%}zl!a$*8{EGK<5dLj(2LE{xXIB?c8*TOKIu{0ke5tPfd?C zceqT=u!*R@F{Sq3tE)_FR{In%*eK*ot=f9d_1gA_%NySW$*hi<cW;8t)`ON}Q@D(R zvJX10)sTu&c&0R`!XZlcYF18*^m*N|xsqBQr*w-0<7Q_R-n`SFu}EBV+ty7|TbD?5 zS1w`{+w#CbUv$x>1`W3@CKod{T`h1@6p=ofwPwMkwFf2$YNzcqy&r$`*Me87r>= zO<Z8Bv_^M_5JU6PH(H0MEtJ~e%9wceY9$jNck59xf%)?My>5rPb;U#^S7cADXIbk# ztvjf9t*5VQUhte(n}lnRMQzQV)^y|klExJquRZiUdGJ(ki)}&J+2z7pnr=JYxzx=& z(SfO}_uAXF;zIoEukBjsxVBu}Pem~_(elo37pA*gU8WqcHd&O*z5eH;PL>zfxt6Zd zxx)A@o9WusfW_;k%<0he-`lsnYTDlkS?lDwV^dciJk@GBg`e;5o}9HsPgnSf^oqtv zWfd;Xp7QX<?x0^P7v=X(_!o1#(M6!yGi-n8p-pRJcTZumo7!5&zW-{3h}c`_pRzH` zD`uL;Sel1!aF5-yrs%-}&Ft(rS&!d0<z0(bO#Q-fi7$GhLb?43<0J;B^>g>9N6VdD z_-m`9<+&J3vu+PYUazg$bNjWkZC3y0-n!fITRV4hdi3t_!*@QM3%1=HT4I)|62&xG z{DX`VQ+AG^dl!d^?X{h&`NCpawOs_73SGawy*2m5Q{E1Zby3@{+~7AY(J`1J<xtL3 zq%cL-?CYZ5=+?E~5p^rKeX6x+;bJ|o!$R?Zif*It*F5%u9noe7IVK4FTJ-eLLkodN ztd|z?zvw&rYXR58HUAW^m*+i@vbv~YQKs^?YLBRMkc_JU`@&P!T1#IFCx2aCQoQoY zrP(gco2*4QG3-20>#>1dIo*;m?bzWIix98HE^E7|Z++2xRGL?7tpP*RqS>#56QUb5 zey3}<IJmBLxIDvYQ*dyFNpmhkii-Yie_q`pxsIh_tjj*lexqKsxMq^pj;z1)JY=+@ zO_(xGX7N3H@$cXpUuo_MjjGkst+jJ5I(-w73g6=TEr0jpslUE8cWq8Q8uet$q~>Wa zL}Z#Lmdl?k^krMJ;QGCze|B=M&zP`RAd|h<-L`M_6x-J)SDBXWkJh~$7dS!V`4b-x zA+;U4Z|*BKZ4#_rvFrLG4(_CY0@stPrfypwSk|Q~?AhmAtN*N2V|S46DpfYimD63g z%*#FOx>Xe=Pr60L1#EYlywdba)N@7U$#MNRlmbc>KFvPG$Jr8k!_3<1`c1Q2++Cvn zrHWb8j;MX&G+~~)D5qilqzblK_8ol_6Rx!AEH~~<Du^?ETpV+4r|GmUu5(`dt@2A( zyY+0rJyY#ak1Y$t7Ru*7`4E_$9b)OUx?%3O!Yp0ag=`bT%~!^#PgfTTG}-3(hrRHq z?Y0iL)!lF0uU=#Pej-}ob6p6Bc8Xl*)AbxXlx{mNjbyPDXX;=P5Pvt3q20WFV`J7_ zNd+#EK(-@!e!UehB`zmF51Mf=S?zJ$?Nhp2p0Papc<9>29@7907Qd56?mbzy-*Kyw zL)dk;zk!Q7mc4p3^VEVBx`B*BJGmxT#4kQo?ZhbP^tPbs*M)}#4w)PxmmaMQaMNR! z^PYVmQ-#YRXLjtIz;bJrM^9=^-}#oU2%RpVQh0&s$itHi%d@w?J@vB4Z_XBhol&1E z{5LGA6;7=V&3Nr<am%Dv|E>T-NZ*SK_RBuZy5!xeW#X%U(?;Iqg2STy37^&$u;1l( zpI+?ykZtFQ=~G>+LIgy1hG!J5JGbnw#5cnQUhE;I(M{bG)ef@UHw$Oozrg8^g$3`L z8{4M-zIKt}7?)lluj!3hE|*mKjvi4wu<m}ginz4a%bbAXZT}f&Z$04LV$QqDw{Y3) zV(kF#$eQ@8yIBsN;F`*?e!4*8<K!~UJ?1HKm*zZ>dEOEewSN94-K`74nA9dOeRxE@ zJA{kp*Ul}?bxSM-oHot5aQVgk8&ZD1mRE~)aBSIPeR1;*^HjI}Ro_&m-Q<Y95O-ns z9ig~A6Bj&JUR97CdstNK?Jv6tOFb64Y=0}Om>23%ulC`0_3Wcfw;5M|i!!-2^_GUh zbG^_H4|ZxqH#=(2-o8G={1w}YjTTH&w?lG6%T`%U*J9`su5?>bG&eikVp?zJ7M(@b z^_O4f`Y*|`5nA8vBDOoubzvFTQ|TK4@+ZYaZfP#DsMal7xNS+7ds2nQ)XXaZ4_LxC zR`srt+TaluxXZUzkL&)1hqY7JuDHdrwP4N8?cbOuS?Clv1SyIwxVqe`sW<XTRcHo_ zWsJfsSIa1tdr$P$S&y=}K3VY6EY4xx)9mlruR}zyr_FMBv#0ZuB_IFhw*rA18eOLD zUE8a+^T@VTnLV7W+X8b{8eT`UCLT|ZUHkL)+r2wPQ*%Nm<=mdPM!a5yb<u5`wSC)@ zI{ng3o?N-*a%oZ6oRbNkolX^Q;aBpOa}fLXP@#$?bnS$~y|bR!PGDjXy6hra(md^( z^ENlPwbM>WMeE7zRLN=XJ$_2D+D}pb@$bJ~>u;FMR$chVJ9mrDmZ{n@PrhZCF6S>1 z$jUHN%A2Je=D0yOD3`@yJA>fXO_{80Tg6ssC&uh#vt*miD7JvnPyB|GX2u>@i9?1B zF{k`fwcg0A-xzgkmCN-6uhlkX%CnvX_};M)5m)6;y6{xkwdo?~y^~L-<kn75F|o|f z)8#Nc?ZPgnw$?dp+m>b1biF1SZ=17qO0#fI*^RCB7c*{rDEHgMz;&8?)sx#r-y_YW za&Jf7xH_rr`=+cf&8=orxt4spUAZq{OH6gZT93D3dl#PkQlGovVX8@#OxuU8EZOIl z$Z}Pe+Aw*zU4MHt?nJwQ*OuGcc-`O6s@TG+T%N)l^1OjdML*+0j8;MhFXt1M?>38F zcDHc6-Msco@T@DYN_!WENp%$Xu?AjUAQ;x{cSUSl%yE&oO^YtO*X4C7Z{T1|pPCq@ z%U8a=IzHeYQ?AH8fvefy7AA7BT+Cc|PJ{8*OLi7dm%nk3p1x($iJq#s!Td&0fuhCM zbxx=FmdJ43h<_QtbwOpd@<yAt$3?$wxFoi$>7m7@A2AH2dW^!SW4JpQO<K+;yx8fx zwWQ<shn3-)=dQ|eZ*#b$DmyhuCA2tdZD)My%BZy&TwH6Uw^wN%PI%;{Tg1!ApzW~g z^3mxL{3dZ-OT)bMT+i^BHHkRsZhaYVcX>z5)YUUu!#_G#S&Oi(+L}>Zx;^0GAAwIX zueX-X`Ni_7|7La66yY@su5dlxF5>8`z$S7jV#R8gEn*AHEc~oiS%);%ZQXQB_SNM% z&y_9-_+D9+RhTKY_2k*@FITM!-C*|U;J2#_pRU@O8=;_kwRT%scjJxLn62{@znKVz z9%p4*n<Le)^R0COqwA`M>`J?f?mvyp8rQAd@75w5D)8)X)^jO_3kfl-F$JB^npCS| z$~YoJv%8sYx^nN+VO=l3sczK;g&lvV3Ng4(V%GO!?e_Ebx*Do*H9@UPBw*{Wjjo5* zO`X)agwyrJi8-$vR{v(N_1B(y^iAi|gax5fGpFZniCuZqVrSqc&8UYbX1gp3d)T>t z!Oh?l$7?OywsGAE7c(o$e4bUXZM`C&UNkqK<24V?bqaYp1-h0i3bvVD=dzo{$k#Q; zB3e58s8C=*jL@T;DqTh1siuqvMfM8pjAm-&K6!r9iDIwa$`@3v0tBar#O+zas5)P> z@Do$>&#f7sq=LD!r%s945u@#B5}tT6do7>q^6FnL&$>RcBt_{8D|27^=Ivy&inHy4 zF2k+csWBOxoYxv}1UvlQ(&V-@I6ICf(Q<i^uKlao?;ZSm!j`=h(6pU0=U|-u+Q3DD z4+YQPx_fBtv?-;2c`I0)E?t|GCARvKT;qaD$91lK99$0SeKM98v$KzF4cV&7cH@D# z-Q?ay&rO*(iOst5;SzV)G?^neWMWS2SjD?^snETcV}0jjUZ#J2VI4I0a7tFS@2i|H zg~g}Vc|P0{&Uu21Y2vQZ<!_f3Nd=0uE>n=%t8_bjRYrWc*5hxI$NT37u%2*>+EZg5 z@|-2cQ)Pj`?!UJb)<5ZZ&~b-DVZ)T$Aq|Ve_!-Y_dDK07rPjr-CEZPG7ba}oEoJT^ zWEsCVFd@stxpld2r~-#Vz&@QR&f%=)Q^d{{J+1P)bm!UChPoA>wq`8~4gA)=D(1HA zdBy`lJcaH*s@)FkV!p)jj-g<;)17rw7oPk!*HJLxu2x+8CmC&#j__Qzi@sNuzuKv= zJ#AKqb#>9h0QT<EsSXO(1<sDkEOstExctkLM@-+^_j{dmU^;v-EBV~~Bq^C$tU-*c zIvCe!tqs5RQZT!1Qn#nS*mcu&3JhM>N_MxVuJ(F(g4^)~!<<%iUB55f&ACPVf9p=! zo!Xekvh#h0!#n%>)fo;G_CMJ^@qlSe{Gy#<AGibT1H#Ris_bStOgbsQttsXfhsgE9 zjgChYj<Y7d_-!+P+u~QVo{JalblqZ~AZGmCRgRH8YU#J-0db9rLCdao#r>ArZX+an z?8?e>a!tAgAu%1+;_N~i0)Z_07g?BO#1*ACAJScXD8tMlB=AX>U*6(dN{8##@kTXN z-dMPJPUvmdsfRsSR$aa3^-XhK{?gwrrl!m0v0534D*tJ(6AfI@w1`(|YZTM!`CezQ zHoAoBX-&Lq67etj*sW{3gI32UJX|F=HE5lN`mtGc*Su~hWe9Xci7Q=O<!E9my*~5Q z)LXx!G=xMK@fO$heyDW1I-55}ZNau|_sxfx7CTM-RJUU4!T42AiaIpRXK6(6*4w%5 zyyqL7TK2XmbK&m%gx=N@j$h0bnF3VV18+~#jn!SdENt!W*k#}Dhi+Iqwbgg+98o0? zr`_>VOxXdhi@r0ZDsp<|99R_NFhyM|EM}H3`|M9^ubZD*!f&5qx9nu;rKje1C*D8h zbVs+-WnqTEtj0p;)|xjho$EPv=r-mw><rar5t#iZ(sfUUlieK6Lldn94?X1%W8#kX z?Ys5jt75Fhr>M`4Cz#iEXRz-2J6}qNq2p*lV1mYn$E#xkMYg&GRR4VTcTxXxrghU^ zNXH#p@$G4K$es)?g&>t>MeVD7xNqn_4%g*cr#<OPWQN&9rX_ht-gFivK5d`JT(;mE zcecg#hEu*Q{i4$j1Sjfd&pg?8=g9}b4YkV+7aj>R3*`K`iu1r)561<%PETY5mbzwV zRNcDH@weGwV+q^gD933GV$lcflS5-JH}Pn=XHDxq?!h3=7i}sYs9&CVknee(yT&V# zsqUdGwuer<QMG8V_IA4yg??MlN{1fTzEs<HH6y^ayX9F^%oV9+@=mwhr=FeG>d|h~ z5SS3^d3IyW7HvkMNBxVdrmI_Qn114U)V52>D<d?78aLjKR#DJ-eIkQ_Maoe|!RxQK zAB#bxZ*hl4^@gV#xo<r9ZX&=v#p&6B+-C1?j#<i6Vpp+R=y7HH_Gau|b-5$jVoPZM zrd0~B?4ucCBFh45&8y6wCLWtER;C+r^(zBcph2)JgRoOk-<{@)=ZUAg%5CSr+IJ=Y z&815J!ff{q;!IAyH{venXr5Cr$$9<u>`mXN*H_uCnEX}wN1t=2hUqyM?k~NU#BaY{ z9dkf?<Ca_edp(x8+lM@x)Ui}>IlH`|jMSY-hFc6Qx~E^wvD|T>P<1!MEi(p<Anhqm z3nFq^4mmr2Wlq=1j8XE+<SrNT{myo=V)<=nuI;)f#Q*IJmeTmN>iCl9d3)O?Coot# z?&98hFs8+UyJ_uGrta&X*thk>hb<So;L5Oi@1jOli^vu4UkUtbnzbWt!jfl;xTQ+f z1D>AnT`d;9Nkw;Fl*Fy;ArboyM(#6Zn&_O=;i47d{B`k*hKOyBOBQKn-PUFJz_37P z@u6Q6-cEQhH&mc@#aG@{3X|S?I;fdl6w`jAvDQmb_+){G_2#w0>$88$3Gfvyaqf^& zVA9o?;E_G8ZEJ|vQs0m!g-Mq>rCQD>n!oCFST<qaoZBH=oi1`Ptu$To&8+d+zlB$# zjUDby(6Csov3o+LwK!9bK=W2RCyoiLZ!oQ85%~JnbjeIJ_7vIV6SI}ru4`PX(A=}O zD`!b>jQf%gUWO)%ZrM$iab9EbHaW$2VJge@sLa5oX3e@eng>`zTwCI#W;y-Mb=Y-X zJ4JTYhE^d4-&H&dSGXPgwmx)o*q={pT0FS(q&<5b7aFZ=ZtriF&^RExc*%{mN4G@i zyx1Q%?bhV)LIT`xR%x^__=ad5aKA2fUvbN<OIzJcUcBsM(TcgfR&+(Ecbr4WJSlO; zqHRlL=6p@wD7NyNfMS$_z|LhibierLI$g|)*}BQ;sfcBqNb>WbJt-@0I5E6>=yiuX zHg(s|K&OVZ6;(_Jx!f+9bSPT(`IW6J*t#-mIoqob&T+R~SATO-YEYH)c25em<U2g& zLU2^G#pQnC>)jzqOP-0Yw_0#j+RQhVQF5D`pvb&TN#9-0c_x-c#S^DZj?uDKJ$8Mo z>MM^ev4`hpPLgf9(Kg-cj@PF7-~6Al-CEEbDzM_>H>SU@cI^5+VXJgocX2@P!tB!r zTv)x|Y+d@+X8Q7gnDAGJawomko>f%bq{vjw?H<syZN1yYj2m1sR|PcWuC(v+eZm#P z@;>Gg?-hm87y+(dB3zGp**<hJOn$NbP1O7K3{pi)Lbpb#H#Klv+O#(O%AScKTXTQ8 zPyUvDdac!)_Ped6x2K*B&ldCCBy~O4&Hmqw6RgVvY`0%mG!Z@N@@9wfEj@<mlN#>y zMQ^;Y*XrUbzD37___y2(d(@~JF4noUq)YAk(vxm?%(h)sUc2=i*BpWPlt&B-QH%j< zJ6W%P=lE!}E9%CV6{|9%bQ|K%M(J0_Za%n;`Hg%`%QvaKX{IXK8}n~SF*kUI#q6EB zaYOJL#nQKnnp9f1Dn+$liMpY!u=VtGDHgVXF!7}+Oi#0CS&Q&%cYk@%Z#y?-$HsNv z-mhE0VB5XPL1UH(*MEk2VvP&g&AzIzP3Tv7BW1~Ufnn06Il6)Ge@h22EZ|ytP%+~A ztuLM2muEc+sFKQd6f6GEz&5d5@!W<7YZUG|ZIMn0ofms!VhWcIU&zH9N>|rzYf{}( zX?GxRaoE-(-=M{zE2Kl}k8Dx<(6QxNyKcs`CfTnsf!`_}E_~be>{~R;=j?WEj$L<u zFA^{*%`DqveYq*)!K$bWSxeV5Oj;40TeNNSw{5@fT-1xPv|RC_xo*)~{_@xk$8~xM zToY8qcd+e#b6uciHvd&Ig`9#e^|l=om@>0u)a^reW;gHH6h7f{%5Nc=xyKV8brvYz z;VhL__;y2gd)vC;6yJIlCSH@!<z~MboN}VqS_r<`qA2!vmPVCNQA*cAmxkt_deK3Q zPg!IHOq!eSWQkpyeJX#$wxV4QYY*{l{Cy>~h?RTGzpyQ{Om!cytqWyZ9ipFJuDCAh z!)?~)-ij+bL)GW@?RhoFbwiHMR<{S?Th)10noe!|%~~C!&KECLoLTY4%394Nxpc-U z!w=VVxrzmobGEd)vRx`z>dF_o;I-*d>F4pA_^dt!Y+5Vp^`-TKSa+`FYKJ*Yr4bH7 z+)O%gb|ox~tBS+>E~c$q5#e}pn*XFbms8Ji9-6r73d6Ia$jlGxC2t(-wkX*0Y`wIU z!`865n>+F^F1&u&>!0Tl1*dOLiHt5xxp51#m@b{3yzjI_aFnOvlw%CD4qVZ-Jizqn zY38*~^FMwMV;5(3U%2(#?o?6X7VoK-q(v^T)@ieERxDb=pn2x1*d?WjPvve!T@2L? zYwO8f>$h;}smXV4S({o+;m(Lk&<;JeZbRLXS01_#S|qb}SO>3_&Gwd><iNajbw=$a zmUZ0HhYv^WEZ|{ayrEUv?R-g>CF?=#A)B?HCZa(yO1{&hv?gYE@y1=>`k#RzaM7jf z1`7fiWuv?p<zyVWr&Q#cp2!Q}i{F3!Rny<uu1#yE9{tZC;wze1?R$U!&D_;%WxaZD z%{aH}fN$w47Vgz9lP>hCO?&fnz5Lp+UEek)UChcZjX&~BeAChw)7FV|v~9WJK5Y`$ z+VHn`7R_;uTYXFI@U+H0=a5^<4Vv=qKkHt<zHyiF>!N+v@=j!mX8)L*$?AIU!MyxT z?SMuz4~Mz+p$8QNPnfNlSnuWgP-w*^^(h)%OE~irG9y?T0^O&uE<RX1<4ZsW2cN6W zMc0p81wF#<P4@J)nvl6IxK=OxChH&ntqD_0W_zuy$~38T{;3$Iw`x{~eD;(KKC#_G zx1C#mtqo9Q&QQDB$G+X>&D~i7N;f<V_lP`L{p!Ka5P<^U;$U~F4-t9ue3f4v4t8DT zP{3rZc<M^r*4t^VFB%#)yNa2fnCiZ<Am;A+l!nfwUl&DrDB5s;+$tti${VuR;=`N= z*V(tmGh8ygaY;mA>A{$_D?^t}v5uEn=e5*TN+ZIoGc4>1--*C5E`=!<0>!$Wl1p8* zHdOj?u3cjL+OwC{a;?UzqldCrnx4A5IyHLg^W~h(lRX>{o?QQMJs<nq8@yq!eq=n5 za+ta}_~wEFj-9y&%siLKJ(1s#$!dG$;VHhQNrzVo?Vp%jnPfQm=24qZmovidO?#J= zbF`8x`)vE79H#sdndT0MsTr2FUMws(P0h2;w$I}K%@p=>9g9g*E!!=YRqm}R(`;II zWo~^brSd_r?|8S%g%9sCZr!bpnG}6^w&xuMS>J?Rtm{*k3GoKiFFGA(&KNR_m-kJ< zim--u!-~sMoQ460kvfk<A_7y{4J)oSiis}b;d3*IbPmyF3Z1k~JH=FU;gVl&FPhkG zn<v&T@)dDcU7GFv<>KkqZ+uG_ig=eU<b11`<vjb<9PtG+SDEIEbglChafn*(p6$P8 z;>GG*F?BxE8`DHXR%X3gAjln+w`wJSuCI??g0#qWp|0!m^g693ID4&%7TB(8`N!(z zQE}bgDbFvlgdH@!@4F(;OKQ>Qyvjwv9m=y*a%M4v+>Lqd!Z0V-bmbl8t>OmDg}Rxp zR@@P_S+-&FTB+PwcP4e8`fEMmL3d0b*V?EpehVh-hzZ_z_|}&>ul%%jXmp2|nkO!M zneCCAKJ`C?ZWsgGg(uz4S9gl7zbP}{wXizq(HgP&E7rN{X{=(H;`EL4X=ATx)^t$^ zrmNf4r+(uTao1erF1WSzWl?WzQ>WIO>mp2==YRcYI4fYfZTIEoiAq0rZ;g+?cWm3! zW4*6tp7=5=S|TY|d2?(@YYuCB&=-%~sV}QzZWhEeu+H^Vxs-Wh9w);V1;-GL3EuZl zXf8d<yoqU|^Npufd<=`;PEgysHni}N&Ai~w^_fT3F)#)*UD&~pwYGqNxsbzhQP;cs zAKzkRz9Fz8@@s;Y%i3vwEDxH!I$+lIc!O?MskR2YmiD(Vwsq&WXG~cC<`UPJj(t~- zuJ+z)H9deQJ3vMFBy;M~TiTay?GE(GTYQUAOrT-;1pO%cjUG7<y(aIU^zB`?cZ`-< zEko?BIpGXa+W%ZdUfp1D*sx7%I`97IoqYvcy;d*@`>J`}QqfxSE$YJRMVDT8{@ME2 zeQU3s*wn=bA4Y_F&3ev!IOfv6lV??!WL9R)J*BG`lF`33Dt)6Pi>q>K5Tj{?>o)uN zMV@-qTz{whXNa5JwcEX%bpv<nuV>#_ni|6oY`SD&^+vNQW(tRkT5s6W(*e9%OT26r z-l*4dZVl6GkQR2$IJW+JmP3$<=$m%dpydj|x~r2sN@vG;GafvAO2?<=Dd!r_itNU? zi#JU!2`MTlE{T}2UUl)e?AcCRofDiL`E#{-{H9$fj%jqft<d=Jz|^qCzqUkWueA?( zko_vOp?OE*liulX*)2@ZYuK!v6;QNArNH&d?6OY}wihx!S$it^W&VLl7i^f%E_fn; zd?LHqngx%xZQ#o8eS6q*f!CJ&jiKlEWOau|U0_}8S>U29uh_Y$S?jJmZ_jd<sP6E- zxei>crYl&U-B={Z)wMcml}VJRj$g9Z$JW&uTP+v$Bw8+LxFme*Qa2-CQb`KaT~Ef0 zPje3KJGoAC-Gb{1ffHK;VziuFH-@cU5UQlVb4iqb(BfZ<qs7>D8C^uKEjoDH%XdNR z)ejFkm;MPbX`cQ`kJX~!+ouRG!xm-EGmMsVE`)@N<SzGOPT*L)uqb1(1m~j5j2oC6 zbG5catWa`@QCxJR>7Ur0osaIl({GpG`so3u+3a2U8oRD8o0_mb^FZW7(e#Ab87-cR zJj8d31zayU`k2*nsn|uP-I?AO{#rMc`sK4o6%}ZhKG{<{_oQMFAFGu6#ckj6Z-(n< z#-G^1Amd;X;3w7Zv4AxoMr-p5j%^2J?yBe3uM5AiqjtJh*RREYnoBboCT~>?O*^<< zc%yj?t9$%KvsqI6wjQ2PuDD0^Yw@AIZU>kDX#QHr$S2P7Dz8iFaD{7t#)91Av8<+Y z0ZZJko?UvXcqP--6H)FNwG*DOur9N?c58Xgr2}!%(lYy-e&2Ak+->~DSIML7<hi1U zN7rn*_R4)zPVTB~$*Nad9k2MZxGuP7UAsDf_46+cF7+R~CO9q*5Pvb*J^OcT(DkMR zE=?!YwkdBlJ$-A#iPK)Z8XK~F*M%)ubaz6oLIBI+ugv#lyHwVDeJxk`Se{aKd$vML z-th%8{u?Z#qW3Laz_vKSMoM`@c9Y`OFT4+hwsG8WnqV`lNTZ!;huW>MMYCj%JiGa2 zb*fK%klm{OESJkWHiR9mS8#4(`S$mNpjgM^nl0hEnY`;(T;#sA^nh#NmBvtyW5?G! zT;kjMCaXgsi%aiHyVaUSx>ja8vrqim*{5K7VC^=CDc&*i;--h4t((tI*tUtYu;6jH z@~L&VCV99h2|M~dsB3swckSR=MzIKmTi^Uum$1|w*>sU@?UgQ;t2g%fZK*re;Lyah z+r{kUTc_h2_8o~_Hrc&3vDz=}3Gce#y3-S8Cr0>&Y2Q*<@Y;8)V}YRB4yLtYMdB}7 z--;ekn7yIHI$k_OsQHA?jD?olo?OaVDF3K3zT{@cPkA?|ncCBSbEUo#4Or;sch&Ge zL)wW;wqm=cPf&Q6JmEr)+2pzvc9$DA34YJ;cJXOGeR4~+kk{^la)t%3qYF3LY!SOz z=y>d#Z{dPhj$ign+p{`FZqJlG(^|Sue%au5KzG{dYRA(lUW+(vZf$j&m1{P&sBYPv zt(k6Jf(6$;Tw{HBqhj)+2S>f*xWgLxS8}cmb=cf=sl&0AP0PKdGKQf$*CL2vt)_)? zhUrl@k#D+OSEfD|QDU(ZeQY8Xu05%{i(kXi@LId>)vUlw?(V0HXN#wBeN;GdaE0#U z2|Gi$KCbn>s+`q4ovW+1ZGv#qqTnbmRZCj|rczOdRY8jmiA}R9xocT0JZlcu^=anQ zSR|yBbC<=Mt!fazQ9Ci0$?4IyT$?G+MR%&6Tk`6SZIDT@*qtfAc55Bdvzoa2RIyCJ z)-YDNJ6pL6d9N~l{WbNM-Tk%M8Rl=K4~oq34LkXU(RSP1L*Ha>m#ufTJv8sr^Sbuc zer!8Jy}KSLak$jxm`va@U;X3lTN7oEx&Bucp2%mqCGB>QrS2lr<+<6DS{GP6jZ&EQ zYVQ=w)F=fZspgnascX~vIGS%AO8Yo#Nv;s%qkkv1yg!(EeS>^#LvF3_g4}nRiW^T{ zbPX(05c~D^?1#oI=_$24*ZNsccpJPmq<7I<VXt4WYR#r!SbQq`jmd}mVb9jy33yr{ z!@)gW-|?->O__C>chrlV6xOfOdLeLVMHB0WDbE(3srL<#E?ZdFxM1(MzpFRA4n6wu zl*&%t6>WMPg?Z~rS1owxJk3N}b*=Vm#bW2ssEjQECR?p`6n^EN8dK$H5ye~fY^p6E z$M>?Wb$=FbV7O)1_M~qAq>}1wF9SHXGOQ3i`oW(g$ZT7&KWn|{A-mR>FBcu+kSaU4 z`qnPdFTRZH9v$U7{4+vpI%D0P%VklszBM^+5nYfgczf#0K$WSRcKcaN#k9K0$7lWB zvDo|8Z|!J?Ml<>In;dwH9ehPrTvV+%^l|PC4xLr$3rcxdS0C{zvs`q+x?VJCr){UA z)vDjo!5X?@E4EJ$vYKhTTtNKh>2GUIdS|`UZg<ms%kkGyMr_sAkpAT?PIl+{ZZKF^ z#hv0hdq4l?m)1qEqZd5drr8qDP}F`iR6+b^b)b3sroN?Yx2{@U2*2@3SKjfC{S6HP z(VI&>ZgB*>k&T^|D=xs?`_ri_NbdMTU1baIbK;YXxF^T@8ZA4uec4RE+dHgI_?gMR zX`1z@dyVPYLLNr>l{uaLj;~MjG%P!Dp;vTKfyv`<#dBALIjVO%w_MkLcA;SP27YNS z`6GsA)>c7R)^>f`Y5HfIcXb+T4nv_&5#JLzoBrq<cTFEGROIk_bu%x&to8Tp%^sR- z8CJVpWM#X=z`8<Z(*#vM0av*|hP9a)*+H`oG{lH5=S$EI5G|TB=Spcv1EauPdDSU0 zhk7!OJzI1!&g^DZcG#SkZk?>%p^rC6h_$t(ZMB_cs&jKGTX+_S`-#l8x`A8=b+ayt zeOwTAtJp(|VTbEFzwD-b=39^MyS6T1V$IydD#yJeGe(bVQAd#2+Ooh6%Z?xA{^$8d z+uKUv$c0stE6f54m9rgBUJ0JVQMl>(#p1OVZ#v!99u;Sr6RP-4p<QjOaP}8p{ftQr zGKN>SZ_SFcW;yFA9j_9(Nl@m67t6-nUAn4l!DSgNE%$<3nXcVcHx-z3Jy3Se1?L+p zt2ln8uJYS3=TV@F;8(r!+fxtf?Jl^<6~D^#W$=WD%;y)cx;|_FN3n)GW)m`<r(Ih8 z*7xn{>FdsJJ!zxAsC;wEf{G;<&nvvq;nVNV-TLjcLWIj@&m}UCIK|frbUb>pYKd(V zr_JoDhvq+K#VGZE`n6SFw%YBKM(m_*SDC%PmNe=GPIUZpgG1VRiuc4PZvu<Vo-q0{ z{gqz&wqWggo2l71G*~ox@33oF%86R6&EewpQxCUXXuI2Fd4$-UC(r)YE~w-!l(~D` zU(Y&FHK4jdB-+`@@q&0xb5#3<?O_Z4_FgKzAd{sXoFM8Qt+GM4V!;&)mp4y;ukzDf z;3zk-c>NTMn5d00tgdG@6s}!(8h+E_Lgjyk^#2TJGGpFwEO^kkMb=|haeu<O45ik# z57Ju~zOh_b6}Hn?W5Rw1wsql4!j9G}T|O>)%0|65Tsr&ktSwPf-wJ=t<S6QJ-SXb+ zTL_oZEO)yJH_Yq!(-~xV*=<*dDKSq-m%8ksa_HF|n~9=pofs@HZE88V^pdN3UU2wF z`As@oSGBgjWj*y*Xk}2X$hAcsP8T-J`qVtT?po`K?eE=I3T90d>Hk<=siSA5wTL5z zg@I8_`tR!#tU(((T`rl&OkMSa`^hp3mg`X&3}OopT~RY?PX4t^IZj<%AmB^1S8M;O z?NN)vLRX8eDPs}n(lcRQy|tz_WbcBEqDwL@OVmzh*q>n6S`oYGlW>aWCPmf7YNxAt z3pf4d({jqbaF=su&bH>G5uB5xh1MH=D!R$b*(E&niC;n3CFUKO(E_u~e6zA$8#<nR zXku?_U+_DcMJ2=aPkb2*CwpRbk=$C-gJxa4A{8M5Pr0~nvA6BaJ$I-5CV#Ycoa@H; zC0dQ*>yB)=TNvVhGb^}t{SA|STW|2yt__}fu2sNkdGJj?gSEUbwr=%kU2nD4t5|I1 z8Esd$t=d7%GhMb_Teihaf@@t(V)nVE{7+812XvUaG|UY5*m!iGm4k>(aBk>Yu`N5e zzX@g(J8NV;dA2;#Z`G2(r_3u9YrBd=g<6-_3vo|Y)^@wyx;7_sRe@voQ5VD2L9Kju z6y`X@uM7O<;d(qN;Hh|odEDjJnXJ0g-!N@mxKTN9^FhWdGoxN{dpoc>gul7mAu{vD z&V})I7p|<!72x&=amu#*c&pgawR1s>$Hv^U)zSLtS0Av8p43yA-V*J!Hk2zqp{asT z&dw$K*qkHJChRQuHurqemZx(T$cS?XI6TZb<j%44T+G7ETU!hIKRsoS+PpG5ibGNK zp!<&nJ2qVPn!8@lVO=#t|LWxF%$p76HEZfrLtedcx7iuGE^z7j1WUdx&zaWE;SRsF z?xe`$16SADe?9d(wD`*^KKGWgMTfSia`TlPcyr~J@3v(-Sj-gnENh>1=@oma=kYg= zZ=xjpIhThBnl*&2nR+7p*p<Gu3Qf8~tGln}Z%SMq>3EyDR58PMgQwQZi0slke0+^7 z3|1`{+?1X1ib;9mx`Rs#u9o@cJaAmPYU!f~@*7iib1k>54ytr-uIb8pqL^FiA??(@ z`Ndi<nf{ILtuF-v;;t_}8FSx^U*UTG1{KAF`5aqxy*=3OeAm6>+P34`HSq<9nD@u5 zHj`PqcmLziZ;JKiw|GsD?lPP9*4t_IhO$!=#Ae;I+qOfcf3JyRm_TC2YM0L^*-rgu zXg=sZaf8;@LdLAy3M~1tlVcj6OnoaCAoDh3g4pSRCsBVl-cJ)c&Xp=B+#Pc{JJ_%B z`daBC^)A;w&4mYcom#a1b=voss6{J;qGsK4U7)<WBU5W-AlC_AmDSNf7c*8}6xloJ za@uw6mdImUdJ<0uwR26(;?)jyQD=F$;qQ!dC%9b~CtX;vYO8mPjDRnf!7SHlOnXwa zd`0Fk@p5$;Ml9-G#kHbnPDSDKTYUZtyp*mMItt#I$Mv*eZDioS3DZMf$|ePLH$<yV z^sVA|y*A4s`l7M)22YuAg)FIAnfVzv!se=~?S0{yTp}mKsiWjHE41Z8?^b5dz6GjT zdQYrQa4332xR{-`J2Evd`jcGuz5{AgoMadeJ<x5+^etVi={LR6I9T30&t+{~Li4mg zZ%?PHuun3Ni}Ia3ciNqwVlUTgpUkjX@PVOp>R0!vhaPWT=fxU5XV%_6&B8c4pTxT3 zyKH++s^YFjeOxRh$gLA4ur*}fJrBo)0UX;y*RGAax}I^*%j_dpa&}toF_|#KEA`ez zF|A*J8?(DuLsu=55DgM(SLod>=+VZQ(a;?#@-TLV(mhkxh6RVK3QzcDXh*v)t++fx zJBstzw9`qmo->v;=qoi8F36NtJrKK4QALhRwME)>T@=f0&OJ(BIM^=gx$fDxl*@m? zoaaKZ-X}b6UFL`pJ*CSUl)kBQorc=>3Ad##X}*1YtC-Vuj`=IjrE9m9DG6?2@MFyA z4$Nie^2=TPf<gRE(BEsPoAyUtTC{~V`>58V9n4!TGcH(Mn|xkxZ`*;k-rKGP;^raU zfilaBuIsv9<n!fUAl6V;z+xf#i)&Wcf(hr8j!aOuIdF2xB=?(dTo=6h&%nP>+;ex3 z%>qr!Slx+BUU7Hr%XwpAt&~}1v*WUGRMg#I$9*!ZroUkdc3auM;9_#DM`j^!2-A|l zL?;8bEzZ0_3=!Wf6I^x(-7C9laqDXB?$A{QZhPik*P7*3^lMVT=7B91kuuxPUH6*h z+z}!iy@_|@(HV~w4C1#~3kCcZ=%{r6ahba&t5<9-r+;5#I_s3@&HLZ3YP%9sxv3%a zsJhX#bzF0#q7OWbR9(XSQqJKa<2Mb_V^<wIxhs?!;;u5xUb`cUp~yyYmDn6lNAn+_ zq}`@YS6F){Z;L6{HV3vH85d+TZkV3tV!Eoe#P+U0J8P`MO7^Hlp}I`EW>WoEUT?6` z_q@_P@yl!%(f<r~$2ZA;&(HN#TzPhR`1P-ntfswd83T8>ojcHc(7nm2NaUf4Lc2qb z$%4|DSF^YttaEy>isNG5mfm&V>&|YO5OcxPp&;3Hsn`uh@fXZ5EZ+F47wy#wJ-tTj zceqVlgOG06>WjP@Zh`%8+*VEA8^qMF!O*SCcJblqu*H7555+EByTGAwby~x-MXYsK zI@fNg@XuXzshdM_kKn-@T^kzW7xdrwRXmS9+su>gqQ<OfDb*aoQng(dwA;2PY=8F6 zF?PYPxFENKxd}U%H^znBD!MnJwA=S;R6X~b3l~r7b6Do)>MglxA;fb1c6WPrbkN;O zuD-lT%`0{nr%f(W*{Jn-y1sR2Q}5cH`yxIF#|0GeX06Lncvt4+u+8n&wS(*o*J~$N z_)cXP;f!9dt`rndrKiZL!R*1pulVKK&irp%bo0bsXT`5ih|-#>puP1QubC}t$h=#w ztAhl8%X(_HW^KvRy(y-2!7*z|sY~%=jU%r<PS~=<A?hY0TkGl^hIzN7WV>@FW?XP? zxvqQX>fW`juQwED*6m%VVR1o$d&{Bj*_mgh<u?>Oh@Kj>iDiy>QE%|<Z`bEZH9IX~ zF4qlNz44*t9;=B_H;Xd1T)g?NIFQdJr+@RQzn7lPabn$FBz}8C+)?T4v;9>Kk0_qn zzfnf0TbHfnf)i(B7N?G%zTZRsjWNMd4O`#r5V*%wxb+an{Dr0Z%AR#gH*-~*Y}K=A z3FPRGQ<^I)eYJq~jkDi@OIA}IPkdWax7J4CLfG0+&ow3$4gzy@UT`S1u5gLcWsGjh z=a~JbQoU`GH5c1TIRSm{aK+N>))?!CD8Y5VrtA2)v)LT)xcN!_L}hWzyBwvtn~yJD zJYl<{gOt|4MHBfouYHR3zEv3ZoUgiWjdDUf=UT^I-3sC2-yZUp2$!kuS+?=2Z_x#f z16i4w$``)KcrCYxTDn%~+LULXzlO~%trqA1Iw3#ANnvV;!^7{cJyC4UxiPCnV?Km$ ztk%+Q(c7Utch=LBrr($+U9&I`u+X~jPq|>-?@8^S?1Oje@!fb6<#A<#HODNmJ+Hch zGsL#&X39GJ+VcAiXSCV6iQgBnG^Q{(<R@javn!S#ZWNhelK-C}n!EQE*P^Wsq8=>Y zCheb;=^WJlN%3oDOZ&E2=QoDkGU;Ah#CLMtrq>#Oy*Zh)ZQj3(J28b<?W*O9){F`J zrZq5%v!3+j&HOtnq}#pUsY5YK_pI&8Q@`1zLb?=rXI*d(&?wp;TDwEb$TM}~!8oU< zo02cbHG8_4ZFw9J*!}8H#^sHtV_tK2{VjA6=veebvv9jerHKGXL)W#wE9?r}j;(HJ z?qU_py`psGp6trSCsnIdLzSE!eB*xAud!h#ql=PQ<EjSMuBi%qw?3}Qaao(m_DL!@ z*F<55%c=*u!O~yMp38fG`*`x9lyi95^$8bCGYaZXy)oRwC%S0o_QKoQF+!GMf(0B4 zc<(3dcUbT$nwu{%M(}NrjqHo9e=0d0k9519PT}G=sg2dYE_Q7}sZ)^q^pY5d8(}9V z$Z+vRe=KWM$jeW7y5IUu)bDq!^8!|HxqeAKr7YY#g==@T))uCHtQI-j!y4Y)4vX6U z!1`6pE1{wk$D>S{OWAe1Zbsdn#kxm(X~xC4i4|`Tv5FTbGM#!TuH>{~hjzdY=Ns;= zWxi7?T^p7wiPqk@9d(O0N=SvNmr3iqy6f8YQq>hY&vpv7RKzH7>0hjVBh$zly2`zE z-SKFv3#(WKJ${*nda!!lPrEv8>jJT<E(-Vj8D8;oOk3pjTPd)pP-WMfNddZgmriFe zJqVtY^-@0QZ`891@yXkcTHb2iemg0m(T7EUqucu_wZFmy>RAsbz2o*M4Z6Z~ZNa&W zZx58pR2Nt^J!;nwE!i_=TXN{sKXcDkiF>|(;1fJQ$?3W*6Qj_aT#E_aYhDTZZ9Q}` zGh=s9RPMD7?MoR~vk&~UVO=Z09O$}EJHWb1>W1#pr50NmH(i^U5w*60X(D&af$*&{ z+gt9=>W-4jDEm9fYqjFawI&xg9enxl?a7mARwripbn0e_o3Ge<KG9V?=+?z@vqq_g zODiqUZ1S?ZUB&3}X@B^4mgcYViv+)(PssSty>_YDgsbKOGj0Yba<B8+mA|n>yTLKE zcFyzM{R)dWI*2go{AUPSwvKxugITBBsnVSyP7jtDEPi8meT(<BYb%T0FYlELV0*!E zoms(Q66XT(t86VEoQoP<x;XfB-87<Z>|{PZacz9Kk|W0!C4n1@&Y2WCy_%a4p6D0$ z^_O}I-|<_EShF5}b)MoYx^>g^7onf7y$O_7{K{)zz_hOPL3fO<dsfmvjp~dAym|rs zy=xa=j)|G&JzdXk_tcjrUF^--xAejfY+*Oq`6m2o)Sao@nWz2I*fv$&e6obripK1D zXTt>6W}Vf)Q6x4iBZ~V~Xa>tcvmoyj->FlXvK#&E-90@l)UH~#E-Kut(z9XO-}=`V z&BDbGt*cf0wC*@Z?)Fc-S9XM2M6xi+uHq=#sdj>A)rBd~x^*6~L~P|eH0R=Z+j)XA z|Nbs6sSR7FB48<!9qJ#|x@xfl*R>9r>ZqF^Z)TVJZrGkZb;907!ckF-SxlXou6yK! zdu6-$ws1K7UENX<)f!X9wmV2QR_T?mO+@_u8}ZvNU6{IZ7x$%S|L!)fJNRJ2)2z!) zY;(gLe=~1jQF`rqrF%lrjh6Qd*e6tGZt-AP+Z|9P7Wm}t2^F>3zE7gccb76T{k<#p zq0xb%aot&&ojKc8^7bzFx}dQ3`m}3ToOjx+-g-2r`Az$#9opgg*%z&~H7vp>&)0Ol z^K-%krFZ(%CaujqQFJ##>y&C_Sa)mGrfty|R8J>`UgC>Zc*6BCinW??<pB{V#h@q4 zetlsTiP)1WanMfnv13=)$K}Ss%T6Eb@w;){+cE3n0yD9jT-kF1HMf@OG(BN-TeB`) zRlw`pgL^SKyIyj|Om>><v4E+5@5*rXso%nD`xh}?wOy-S$F7~N@IfY2oaxe>a~|=z zzRN9zkFHidBQtkGqK4_hr`t@#q6Bi)?b<b}8700&MRDk-aJdw@o%_|C)G2oP+_5z~ z1y9OHaxNFG+4*{wS*S>ka$c@-qJSeuAMb@?XYZAfnnzjR+S=@tbM#v+_tkO1+JLQ& zr<%+JcCC8zIQ!NWT~86=2IqwKRjl0HLA(W~+TXpVHJ;<WDIlukWF|WGcZT`p5B8cj zjkn9$%$#q0XU=V>i~nqx!vA#Z-dtC%V!CMW1{Pm!mU;Z29CLQ+{jERwYr%E4*$Z#q zl9{9#__nqoE8D?ovS-+Bky+w@nBqbgY?HdnF6DRg2!p_;mAm_--yW1+ZeMPlWVYx# zyZ(i(4zo>m?n(|@ogPu>`0d)X_Wn&uZoA&jyJ{IE5*YR7(LGIR2i}zn3a)2ddE}CQ zb-J=c!HTKdPE3FQEm~SWfs^}9^EQ@aGVfgv%wM(irA6dbwpS~|4n(-E3{_g$)wKBb z{XF3ug^MmNwNkvBn)=(VCT!}}^8KaOv{!#))a{0_U%x_^b1OHot6buHoI90ugNm?I zhm0N<$J7&M+!MZL%yV76g)@w4>!xoK-&y}m3~^fYB;x8S)6^~dCx{8p&e*cZ)TQuc z-Qkr*?Obo!)vq1DZYsT_uRNFM0n=~)FPB}{#d(WxO%h|Xme^=Hr6ES0#rE|9n=a<5 zOB-%EM>9>0(v9Eiq%=7o#*$C)Nfqlh(<QEpEI%^rajiIYHG6~Z^Pr9mQ9Cuy{`$0j z9>;^l5*nMkmPp8Sdxx%1np$*z)uNS!X_p<C+}?1Q)|iItJ+zwmptx%Bp-r=16;G&S zpKYTR>QPp{&&lrPiO?ni#ZxC-X5}h8aJ1R@yy!#Vk{sDC)_9Hx$A=4-Pxm}fu3Jz% z>w`eiUFNj6QG81`v9Ru5A;&yBM7T8cw8NrYp<C?T+Ou-Dm4|Qo=V1NHm-o%q+l;ER zJCmo~`I%WM_WD$YMMS0Rfo>631p%(JOaT*5C#<=5LfC0S`PFs5HXd3le4}Waud3w% z-8;>9W_;bc;EC+fDRIqB-<sF*yI;GKqY$ojp>SRJwUf`g#5`jbgxz6h-StU7V?xKH zwOL}@`ZZ>`e10jy%DvUGV0~`|@4^+^8MZAcRXxM`hTDJN3KIqEAcgB@J2IY3uUBGv zw0HeYoBL`j)I~RNh)q7=^y0Ve*-+iOWlfyVS{LuKk<)7q&=6;M<W;!n`;-{Lf<+pW zxC%<QWHl`Pdc{&iHsx=-=Ap^6Gqz1-VO6~SDj>r*gRAMUfJVc<6_@2V2NXmXJZIgp zC|vLDSt;&<&P5r`hs*@l_Od((OuE8U5f-k|9h&e;(8eMwdy?4xET^?gthb7~aD{H( zADUrmKJB{v(W2&XF?SZG9olgY3mvnzaxP>jy>@m{hi%6j=D31_xs!^P^ovVtC0nnW zswZ$$F#U}~CZ8_j@;8@b_d8^DJem{0qQrY~kw6bisMV|Kib0DVBF*zQaIlJgb>$P* zJHU|b>~47A^5W{|8x|Rky;+Q_Z_2Elcjbyjbk5eN2d*x7r(1uroNdlUO@^I9T>6WT z7Rju*Ap7q6)|X;ig#v1>9k`%1_uuaQE3%fJ`qH>WFpD8~g({OEuZC27mPqKOjfs0K zmr8Lk1$(ZY)xN-P-|V-M8~CTR<gy3-)2L#*zICm_t*C;7n@hPvV_zL#>@hWl#c|t? zb)L(Wy>_Tf%=ph>rOK4o7;<Tr({J6K8jAP7*d0))+#BV)@SD@B!_q~D$EVa@oxt#h z-^}^!)je9aT{7KVhnT0H4cL6@DYxT-1$U=1-(X>#ETyZ_T(W~>(rmT$>LGy~^D_B( zQWv=Wa%ozd?_mAr($>w3vz0l7-oy%u?03JMxA&X<@wNp_ii{Z|8oh!Ei=49S7AUz+ zkJ`ns{;IA;v6JrOkY|f5byX%XU0CaMF>5PFsFhV|Kz3*R3F`^DD;Ty$t=5fSZXg<C zFlqn9Vkfc3Arg$)vxKD+nyZ>*t}6W6F-zkT*PM2Redph<6RS0!x}0xmc2lRH+f@Zo z1<Nh`3X8s7d-k1&uR>$)bjEmwN&VUh+qPT^jz7B4kuTVjb={LmOy3%dZnxdwE!8gK zUm|<7i8cC%pV_vUMNTR^Oj=%QMyl+(Zo6+~YpkHEZkN!dk|hgu<rURW?b$X{iC;rF zT4>f6xmk|_R;%}Wr`T@My<n~IDmrK1)F-OB853PD-B`OeYE$zHc8i5tMl7n)O#90; z_D_1cd(Hmv{1Y0p-*DY(=h%7bN8zFvsq&?%xf}B}CbX{8kQQrnEC_AtQZ3r5QLw(> z?db0}9$c5_o>gFsD){z!slL2Ipswq(Q;P!P7u@C#30K@ESSl3U%RB8qL)fm1Usr1G zQO{X>`qGuPPFF*fu4D>sx*DV%9n;{tRv_Qh^PrsgyQ!jU7cqM#WiI>o=H9JIkJ|Tp zS#w?!d~)e;SNQS8FPSvgiSYAPGkjv=o>(2Y+{W@r({?TA?1U>``WezwVz^4C-UwRf zt9(Ltao7$&R(ZFndR*5hbu5iiVy@0uDY#+L9Pb9RuHRY=|Bi1GH($w7#b}{?VqMs( z#wa1@P!V><u9aNcQ{PH&s!*Qbw)T5thtaa?hlje=(!CA01RvGoQtowdZ;9%RJH1wH zN>t{d?vC}ziR+g*79=oi`?^|wZJFy*lLE%jjEjzEHP*_89^{LX%J{W)j%kO<jdaCX z>%ZRB3*5b2msR3gTeIKNX<K;tmoPC#I=4qRI38GTcPnQB*V12GZ2R+6P5yTKHhxpO zkkM;#InM4@>j6FcpxkXttQJ=iF5PI6IkcTIhijK3)3#?<6`Gg$70(M~tUvpz?ICl@ z-t*=+M8j4dy<=LhdaB^T7IkSCp)#@Buv6F8E_}lpb3!wVgIC;Ri}J}YJ7U%ahTL^B ztv24iq;y%Y!;+kxf}0dr0ygb*xb>ImEY}m|s&2<C&XZRxyzw{uWmeZZx6_kqwWKDj zQ0twXv99c)P{601+#I+5c^zGwad#CX^U5ohVwaY!a=)*6yo6Wb!w$D=D>g1QJC*#S z^XZ9p0Zp?zi%S)rT%RSgGBJC~jdlM0uN*l7W%MsP+~P~UIyWFy*HJlp(bkYTnwbY3 zZgEICos#Q_S;XNIr8F_Aq(1PCfl2lzUClG8;qn^<m~P!Y8l}6{gI$R+)H_LZQoHh{ zOa)6W4gs-iYo=UhYK+Nx@`$0Bu`o;b`Md)RJ6X1G{BkHewYE{C+h)Q8hlLqcDgoTz ze><M8ww_wE<xT%Oj(Y8>Cu7tmd1^>Ip8COR`Nfj!ZS49Ci)nWS9<}Q3$liIgl6mr1 z?e7^=@@{{XX3-Qc-t<Xeo7ts+dd7pf=T7YVT^OzKJG$T|htI_Gj&B`LU8q~(b!nUE zuD`eL+!wog*7Pa+f=6Lj8W&i~D0+ufD*vo<xXE@w!@hS#dl1{<ereq`+E+R)H?iG$ zd+zMs-fy=~DxJC^AnV8;bwh23f>+kxh(!<A9gS5C&6w>r{Y`bI>oraei_k?4@vE$E zus3Yi5Lk7&U21Oj_N~9xS#nINjTg_Duuc2MQ(@l)!kr;HQ*&HeY_(hk=AQWGv7O<H zRJPk%C&dizQfslMZim7Q){EW67790<Ix`iz-{>@4xfbzMJnGvl(E`?8b4%RQgZLEL zFBEt3P44Z@&B>j*@n)fm*!t8%M;TTMJlHF7RNpUiL%Z6Xrz=CmHEzUB3|XP&$9Zk% z7S{D{E3M}p&R+WOY}C_KA&u#JrVh8bFK=CXAfzK?s|b@x;KQQM$CtFOFL~r7qZ?)? zvw25FLE_0Xe`eNCQfh5+TH+Yi`KG>~<96F_*;13|TBWl!wl{EHW!s)r94F;?aq(7@ zbrE-0w%?Sg7m_HmYI3@ovGwt>D;HOO6p+&1svr;}xSnOv1zxSIa*Rbw4&0XO;>*as zqZ4}T%A#8#531ui7!xA>Oy*?Xxyk(|@Jnvsrfo&v0(0ASTep0O^12hTOIlme<l`H; z-`Yz!7)%fL#prvd*5q`G`z~DjuPOiL5+#rFH{H5V#n#4LxpX9^cZz1LzI)T^SD{)@ zwoefM7$&HfJ^O3?N%_aWx4iTH9JczM?Z>23OB}8TMm1=>J<GiLq-MwZ46zHP4Np(y zYpmVDKKFo)_RX`bXTRu7DJy!&#&GFC6WisSE?zdnvS<5#7V?%YSX5!N>P<|Ph7v>Q zK^fcK2Buc;y1vY+*tCB85|Mn)^^2|-++tkMa^rS+NdC>NNAqr_Y>bW<UR=n>(6qmc zFGgGIgv%$Xt@{ox6g(^9^sSk-uKnZhSWDKj)$Q&c+;LNt1Xxy;^5;F?nA`7RyHtvE zS?`UDVzYT49=OZ2YU0*}^_vpIGxP!rln%H}j$!%~U@}irKIXpmr6r7^-^w`_3GRNf zpi;fNNaNR4n;^w1SE0=4=o@!`g*k0aJE(P?Wmfo&7VfCqx{e1FzV7YjdQ%{%Q7=2$ zkwtV9d)rR-!mYZkZv=JsnSK%|S2bzs-X?zTT5}WIWVsmoNqoGH_hY;CqD54qnYt&a zP2VCjTX~HK6F-M-gzu#36HV53u^#D<)^=GCSjzB3&WS(HuRJ~~q-#^d7OtnvCyG9a zJ_*mByZ?28-;uQwirC+*jj~x-=DYsx<>r+J%O-~(Fxk$U7y2pY(z*tl++&Zni(Idr z{krwHp7^GHOfqX*O&ZpSRLET|U=j;0n14vcdL!q-rIuTGr##3!@Qvg6iLAvb$_JlT zyH9zTHbLe(OYW_S41MB^L7YpJESH9DWwo3#=d_%W@T$2&A6g%8U36uwtLYN{M>{kM z=6JF$*||`7)rN;_*$tF#hkDOe%`x5Qsomfub)S1`?T(^<u0d-jCKWrfuFY63QW356 zTy4jqZw;^9Cp=rF$YQ#htJB2k+VvjM$07ZzG}IbXv$_Lw8?HM2<S1a0JHK`9I!2jQ zAzXijy<hv6v!|_oduZ=&F5PA^pCuRN<m~bSPfnPwZJxFx#v=P$k<wKKu0prT(I>WT zeN!CBv6Ug<n?vY{i`)!%***khne2$Vxx`iJc3fM>rVHHBj$FD~BHhzj4=}BtHaF}b z<En4GE0?IAyJ2&)G-rKC+|@*j3ASrjZkzqxadk*COWRtV%ww(Do@W+p^?iD9+Yauu z#U~#q-L{&obaqPUtR-UW)LPpnbXbQjeEnnMyGG}E2MTU)`t<lW!_6m*Sr<9?=&s3O zF1u;6ZPw!j1>x!O8??WiEoHl)(tL7(jQIN|cZL59x-)zk9xzXhTHqPde^q+7N>|Ln zthtE`#NH<`UHkOzph@>SFUBgDN%fQDPAW!iYLX8uYv0XsX^}X0*FTNFci+l+IG#H6 zmupewm$h7>M~m|pJPK{i%i1>al;-X`Ev#vO7wHzQwe60Mo4$1;b5`8>1)7Un<=Lxz z%T5T)aJp+0H0!x|X6lWP({}ST{K=H^S|Si1;-MhrQ?7V+0h6v{uj`bp+yUWRo<%K* zDoa`&dY)z4r>KCZmU{$Gu&A5d*P7Pl_-$zd!-e&Yrz;dh7+qKGykg2WVe1wNskz}9 zA7o$HY~>5sFx%^(+~w;VKCGHpwxCuZVbg(bFJ9*fP70z2VlIS<z0Quis+=A0p!V&7 zr&(cpdv!a-wk@q)E0EoFMK~tl&E1CW8s}NQT@lexbgg#lWVm57U39y3lbK1~;z>K- zrZPQs-#YbI_Jz{5Qx~f0PCI=oGyHH&*vTbRy!e*f6i}=bJD@x5b%}iD(ws((9WB?3 z6APLrr!0~4;@`T_r*6fGus?4ESgU+&a+vN+&5LI7UACinuXea=u#+m&8hs`HIB&-T z0#Cf`E}EEKjbyQIc)C^Tx8lQsS)SHH-Mw$T%(gE`St6%n-O${`HvQ$j?iG34;!}8; z+83?57`4_(cY~`sL%70@sOrE>4W@S91p*oFtw%pb=>}wSPuTJHx8BmN%ZqlzTwlVk zu>L~U-=M1k7dkjLH=nv9{MfaDU#cYIh{wmzk2ReA3YNxfJE1)JB&*Q=C%=j_v(JC@ zb5H0}pZ)A@b^e>Hty!mT2)?xW=xVxj^^{+nXB9IZ-1nGtwQQ|O{>G4<A^TReI%d0U z75sPLfVf6>=~;tbu8RUWEm7vzCT4Asnt3FJX_1Jji^<|cDi;g=n7%LK<u(y0TgNm- z;+ZQ?&f#ur-AnUbre@FWJ6P*@gYDnRs3uL@X<I^1X879#30~55P`aGB^wdf**7Z`i zlzW-39h)}m$TNj&S9No`idL&=-C*{fHto}z3ufE4PiNiew2g1^#tmOoo`}dul&hNG zUa>&eWUAZjZ~0p!9!Wdzjy|_)W$1F#<(pq0d*HAjnU|}9`OQh)BP}|LuI6uMIXYbp zS|zeG^z7=536nSITowGb*zYE@cM6xtwr4Y+D5r3XE^@67xzMmBbA`<mE|%+81fm}Q z>F(Hlwc3Gg@}?UXmYj=X-NEc&q3e5BJwxou_KawCzWi6*UzPg;|HW^3mvx=j+Cr?= zFGg$g0r?QiT;<yJubsLchB9vs*kHH1rS=BrI!ERV(WA>gZBwi}cKXtnSr43>oxg5d z<!5ce$GC|j?&=NSo2&mFTOxIP^8MBmDmkkz=Jr)@xxlyY`srBDO(Jq!*@rTnPGu@= z*kQS9-@$3i8#f=d<9^JL<De+8ZEFhS&3#k1Ea=QoP=0$bFlKS)0@j$Ib-t^fzqnGF znaZ2<NqmXrn<%HN0s^dgIaZCTCR`!i9_}}`aPcmA+ojN=n|&}-`@-g=l}B!DS`%qv zu{pNcgZE+fCdL&T)@EjLYM5QzrJ@)9>gZ$-ZPsuVttWlqo1C7?1!!Ggq_I9jS~R08 zMt{?;=(5c46pPzV`@%&oiB4i#=NzuNfQ7p&d&fTKCbnr0b8ofoT+r-V?Ea?i)alR* zS*m;j+UemFbX%DO3pnhieo!&pb=S-xpfFnGrl#Q$dDTT<Ybsgu&pr9ZHhqiixr1iD z;S-kGO`qL+?b)_X*R!^(N-1zf2i<OXBplZ=r&2ekc|}yFUi?vUfi>2fef6C#D%J*S z9nxQtqIs$C_pQlsd!}sTPS_UxA*OkPRqsxI$7|kegjP*giP~58c&dxGW7aJjxj?^N z72%n86s|-t@Jb1K?YtVGv313?CV#d=yW*Ekak86s`irmHrL76lTQ}^^5(#DM-@Wya z`dm@1$6g^@pZ}C)`q(11g!>X><QrM<l$cT@f$lEmsbQwiZ<=my)zVztoEW;^<MZt| z)rD0JbDSMzq%``x16hk*b8b6NjgfNsJJ&CU?^<*7^ef*?o`&sh`}JTQ6RYsi3Hz4b zS}b%`jOl`AwpXL`tMjYswmntcS~KyWqqNH{MrX;1H+H-^njdsF=iIL?A1=js$t*na z?1XOA4aT$asjGf1+tMQG9U!*)XomSLjn+jvg;6Y$SyS~TT(`AE^=57fb`=uq>Z<43 zp)hf2d-PPrgMD{aO0Cc6VqmQj_H~)PX=nJ!@84C|Z7zGiD&yIjEkaBSw+7{3wP2`! z{UuW_ly|KZ<Jl$5QEf}>#pepzeA-qVyFv3>r|Ho*8kf{3p0rU;xjc1l<HVeu++8xu zw!WY2#k*+#HERLQbsBRoeu>cdVESn1f+v@v@+YyHz37r(SH|8p?Sj<CZ_n(f+>X0- z!AxesBbocFW52~+ytKbGd4g2ks-v}0`(Nl*imi>E|5ba5)K1?kbA5|5it?^6aa5n` zx6WgohVmwrMYDaQ)taP#?P3nnPug21wnl-qL2%P-?=SXKqZGqs${#X>t5${0c8%BL z)%FW~8l>xBdX9JFQhl$>vMax}Z>adEoBhV{Tk|(x-H5l0W)1>{8f(7>Z<uPr$G^nF zrSOpSB$*sbhP{&nOm-@4&1&|Zm~pFVsh`r+AdL%tzncW*gXLLgD_z$O_<Djb({-uE zEBh`61um9=rCDnQ_O4n|s<G;UX^@S&A=}3o;iK!klrCl!d#!bil3B3zftG3pW3hwP zqNA&>w{2-%-T0d+s(=5J{MNF4tG}$Qc2Nj;7_}fkN9pRNs{&gWhOAhB@6@#e+RK>& zo|?CCvF2=xQQ}(E*0B6TqlU$e$_1~(G%kjFx4QCgWSaQ(Wwn@~?aG2Z-F0P8gu~rS zH)a34%iguiw<20!G3(RT+;7>}PFRQVD;}5-U~_kY_q0RJJMOGEm-CKR{${i2Q#eae z<I{DnN14Ko<^@)`o><$(&&n>9`E=dmg64lqzxlN0%}&j_u-}o>QqL@An`+U{m`V3U z7r&W$if!5prOcddVa*c?G(-={t;uzj-(<7i^W@i+ENgwUlP~PcetW>g+f!reuhnj+ zcw-iIxUTl|JNYndVU$?oB4K|9E!XUOE5sHE_A)NY=1@}D>UZzXA;-+U9&sj4PZpV} z+)|qut?jV-$<AOetsQ@}94`lYAM56wP@S>jRfR(t*9EI@e|LyJ(rR5?wYt(lsB`I) ztKvdtPs44>uJW;8E!YtvpkbjqYk#)?N(QZ^nb$7Gud3Q2+z_=$RN-Dy&(0qO?)_qA z+4oYUb?bKBV(^gClw$v)yy$e%lKS4R1VyF;I+jb+rPOae4VSvL&f786+ka)^!f(F) zua}!{{J6K`PP0IU%SHPWtt%Y2@b7i-D_7aIi0|f-X<OG730}I$ruA#ue5L;ktHpHG zE9D~B{%24Pvuh1{)RY~$;Oo-$&aH2S=B8%EH6M)rywjmeEO?IQe+E}q?ri57Qek)Q z=WlQkVcp&OCseC+^UwP?)@SZn$CN2{jBV#S?esFf%r^p33uK%<in4CpTUS)vsSw53 zvi0DJxf6Al*Ivl_XS>bu)NG|}4w<)67EI56i-c=vEiLia{-&Q4e5-U}(yjd+GV0bL z9*z$tW?gN0wTV?Q<Hzp$6N_(OSn9zYqIv7sEzz?VHB9*&WY&93npOVhUbUQn%`fZi zbvaS_92c1`7MUmH9eSem?sC`?;k``{dM#=_S20g;T%3K&JpH8O(iP2q3<?KCgG!lZ z?P+M+Y4~Mv*~<Pv&jcwacgtAyd1hKM^$L?^-|FR8h2C7kxS{A-qx05PTb!;a9rbDr zS}wT$`d4p<@U1HuwoOdfbU8(|WNXx_ESUvwIo9S)f1$kUBkOvTogo=zSF&9h&uS|D z&gxJVo9pa$HL1}>@x&HOKkjY?<<O84*QFU=3td-mt4(fvbH&8HT-PIR!XnNsxojU} zR|v2to?;PwYhs|q!po`4v2CjM7E2k?Q>!x`Z#UnraB=IQtuN1he_NY9Avoq$rtI2k zv$b4|R{}HQuHURO>($;|pOm}px$KVYpI>HtPU^hfyN1*5p36<~iFu~{3$EYdS2T0D zqPqBrlS50#)U9h@%#;axnxmik<cZINmTTKsbHB2#2@{yG_AOJZkY#k#okbaM4}9O+ zwzu<0*z4qkSzp$jJG5p(Om*SbTaWq|J>WZGckSG=-TeyD2I?ZRNiW%pcWLa**|8vF z>(SGB_P({chtyNw3iU58b=%5V6|=U2@x%qS=?nZ$Xvyx>x+BVZNFk8%M5{XMt>uxd z@%BM8w>EIBict#W>e5~89TFItx^@eLzh5EeC3TxAP8;Sp8kvL^$5<|p%fGbRPj+rr zm&okgm>Z>9i>?V}FhADVXu5cNf4j+YQ@%ivN0tSPU9Aqu&i|(Qeeta9AbGbhRhy$N zq_0M7@#L;@a`N~hSh$;kdkNEm>n2gxCS*NOetTu5)yr$5>Pn9Ua>W^B*Yo7=7MA{a zEY6oR_RhA84~nFZMmR`co0zB_6qvg{IdN-{$i=cbI{zBBn96prW^FZ#+UnS{R=j6b z=t+@z7yJ&r6!cpapQTvsJo&90YXf_adD^x6u}9|yZh3a=W5aW|XQyAh*`{^%1?SZT zdQ8_RZua<^^;R(HW$x~r$Su!L33GFIaBQ3S)N*;a*=0wScBY4^yIx5Ma=zs)uHDvL z*ELIUN$Do%fL!StBBE+<WD}X3@->PoFFt&+J#@u>kG_&Hrl&=-E+^gT_H=GOWTSXK zYvZ8;-I(QFF|lv@jxq?|JU*eZ=mv8}3*&<87iBK}m3X_|tGA%BXz6c}9cvvOtR^?Q zioVD?uyXaS)hd>&f9kKgX?J+dy08U`FBXTfcC%JlNAYPCtZr!BqB22khv-4^l)JaS z?1&NJyz<HSmdxB6;@r2^9nIP4Q1DEk*=uRczOF0Rm*h-hbekN`{q1CB?*k2$&C<HA z;#Z7rswA%NyR~KdLE+gd{5@^9tDE+xgeSYQYln6Bt$n*PLo9I7oThzQQw!INp5W6w z$m>;;dRAwtSEpZw)>QR?kQ_dT2ize!3WD-MhrDNXTU-xZU$tm&mv)N-N9&5vjGHR8 z&0(tpLbaA;-L0CK`RAKr*NRID${t(ATGy_M-)CKSp83rVU7K|pze;19c5Dn`U2sII zH!yW=V3zIzCZ^MQdly_+ejychp^J~}+L5(g9I_M58nYIy%=*^!E1F$d*^BRa>h>$e zHx^a0Y!&`im=UsLkyOKy`^mSsez01-5Rr9G-RN7pZ1;pGH|-9d<*-?Mh(&jDTJ+7E z5!wme2OLkA)_h_p+M0EB9pksgEAKa{#!Cx`J<Z8nzvOrnd+5RVpw6&fr3%NRmPh8c z=7_!HzMt?wusS&Y_!O4wLX9l%y-zeU=4KtWxWva{b?xBlgv(E)bGC8VT#h|qwnn|G zXzS*!)dyHU?$w=G+w?e0zxCI?+J>F$FFp;7oA~WrXrUiRmt&}c#_JoAQc*e#3}OpI z)!8P9bH7>>sQLWO$7735$83rE^zd+_(%f6qrmdbJJZFddyaQ#soDO9v?%gI<&BSTC z{mmt%_7@Gp5gpl{OQM)~{Zf~2I=1M`(nU`*w)!vYcj>FuW)*tsw1zdKb~@LoT@D{^ zvuH1pJy~~f*)0#>qJ82w<OClwG`qH~D4ccdNeb7OIsIJyxz4?_el60ezo@)niG_=T z<pu|_m7!Xqzi*!Y#t^mZi_@B0SJ^&Qs=xW=5>XK5WS{ExpP^=lZC{plOZ+#r$+bC* znQty9OzIUa@hTPaV#)Oo{grop-Lf?{+*>y~zI8mZ@W4Jx*ZXxG42yi_U2ff!=J>7M zFn4pOeEh{t`=2Pkp86-|kxg{%*#&Q7Zod(DbItPas;N5z?q4#I;@mCUS(NObSa#7l zOt`F5JLy`^ZJ7yAWVSIx#IIU*+i7j+CHB5*lja*DjKv*_A-S%rLsJ&4p7^RM!?mt) z5%22S#jkdTtYi_t%D`E$oO`v4l-M?1wr{IKPj9`F75mn{U`vLI*5fyG=2iX{kr7xT z6L#wD!MGK>8>+cC`5h2_$*xs;w?V3(Yc11*sOKiRn^Y_d0y7E}O&5yoSoLJv<VfG^ ztsZ4LEo&;bMtpAPIJH4|j?DEfES}u&yv^d&_D(wJ{Il%IdXK-qBR59p%<8-{zwC*O z>4v>rnf`r`zwF@K=%8iW@$k&Aml<2LopxkrW@j7=$ZpDCxVp8xR4?$K;vUQWub!xL z+f0rL;x)U+na*UqvTyPM_V3FXYP+4o`a@4U={{&ZJ0*Xk%O}rWs$xwmRyod6;!>=8 zbwOl*joQ4tsjOZ<uXkzON_4ouml`hB;K3@^u!TEd>!T(aeW%vd=BL>ElW#py+WSqs zx^UC)*xT*PYx@~<n6{SW3JE%OJ<-n4Da;Vtw<2o6eh;A?Z)2F8Zq{90ZFXoaQ`jB$ z1+NvaG*5VPL!X5)Lqw+eO|!%9hQP}8cbC~Hp1L*lO#?$!_}RtbNAFup^DmN3uxdMM z`eOIi^{Z~QzKC4gq~5#pj_!r3PeDST<WE!;UnsiEu6yX-_09Xuv+e|%n5(qk%wDnK zL)Kg2({E2)^!pc{b-?uw`(9!1l$fV($CDfq3;dR?W{lX|89n=3r)w0W>B?Ty^(H$U zs~uK9yw~+WPebwbtGRz-UWsR1{nYI$c2Otl*5zKNl6rpzjU!Pd=8JT+kA<zszFlG( zezKfF)OjoSrr7Ov7r!PhI_Uo9fv)As!=bLyA%XpGBGWG^9+<Xmh0;}@Y)`Y_tVeWX zeYdR>S7iuzBao=eb4B9pj#(;fZ*q17mP<1|K2_SDv(u-tVAD>glShwU+-Yet?~~uR zRi}4k6v=%19m;oQ?LjVv>7pxlIcyN;bBx-d<!7~UXMx(btr<n33QoJ?t_sX`dF7<k z-ghxy{rb|k0@hL-ExPiLBy*oE%-}Bn#Fxu-N!;Xh*zFjT=sRn3ZmS%d_2Gfk-u{HG z4+GV9X8Sf|t*t+rb1Odjw@9YY+=Qqn%LVqWI$(b?LSuWAb#D4=Kb6%Jm%m~Cm?|D2 zqhwjU^Vg0jw!@y;KQsg#q6%*o1lsU2ed`oG^*8KTr->$S6XOGRCZ}uD4lH|H?!wDm zEB1j=_t)~GOF97)xzxXPUKRZ_HDJjr<>0M_zqcNGC{UuS8^6GL@(vqqx2yVBr+DQp zEE4?IT`GEdZ4gh<lDwT6ADdQO)pDQW%A^~_(qbvryP$62ANC?styA9^v`$I2W+%0C zG{^7H{nk5iy~$p!;sC{Z6$Zy`78~W(UTJ4D>z3o-JgZ?6z-W3}u3Tfeg6aFqC*}v4 zhfPuLQQyMO)R8^q#<h4+>(G$ZttaBHFS%aq(9kNng2jSCb{A{0<2G+`Q?HkD;bso2 z!vwdkDz12*Yvz~5yU3#MEk|t5y({@&H(c9M?RGxHB`@aa%7uq6G_5+nAS$d?@YuFy z2a&B}_n$C(DcsCY(iH=pOi&f|*<%6If{v%zN26Ao<}LNQ&OOUo-|M1d&a6jkO<Im^ zeb%HKrR!A?>a;sZG5q!=+2-kQgc@17LarWgXg$TjE%k{hGrD-g;&-$5uFnoVpY3>Z zZ|}sgegzRZt_8u7UeoqmRahIvTK87iJx{;k>0WJV%PRsVEmLNF-LQAU*ZtN-G6F># z1d8|{9lAZ?L0~}`qe^S}4G|gr6U`SY7ChZme0BXQJ;xJ!#aqj^Es@WjqO;neb*t{m zO0lPvn(Vh&i=?)RdCLCGO4OeH6m%GZ)qy3o5w1s92ni^izIJV`T<8V4lktn+y%g8o zspp%;bZvp!R+GSe4kk{brKe{eTX9QcQ83p7ZIQ=^?}#o65bL<X<-Sp-cCyp&NHbrP zC<WzJ3+8AFZn`l!mHFJAHvyH=7Tu3_%a<S2ddU^ym7ipxvvsZV`=4c{d`A~%<*k^t z-NjLNiPDvf@V?WF^N!iwJ1x1{#dYPKMQ`VXbHDXpCd3g`Ew@vH+c%5nW=25klZOv( z8>g4JzAq}=!aB)G?W_=k!oRQ2zn09YkP&t@F%4K9vwqc<M;*HUPm5-8`s(GU*Xud$ z5(_l(ZQZDL^`_nuZm*55y$%_xd@DjT8s=PUU8}`C@m5oItc&y&=Eut>Fco`L_I7(Q zuG?-tw=}Lh`n2l=-J-1zwgxTD__Q<Q>FTaK>%>mpS<7T+>ado<MK^4led)=q)k<6w zKDx~fiDG<eVzoo--_oKvx88a+*tMOowD_BM!eoYdvTY7$_RCYVS6`6XH1Af7dPDfq zO>7r`E3b~SbZ&YO<-D>$I%lCDkCft}hg?N$m%Ud^Xr8_~K6c->C%LDlYk#{N^YGTo zqLp&uoGo{)esWL!7PWt)G~?mg<+{F>%NjymTI2IK@nyQOmaMq9lr2bV0h7YAt!$sa z?pkD9*L|<i@tSl<xi9zk-y&fLkLTqw|6^`F$`!ux?<6L(EiBW56i;+%o+)IAPqTIv zdGu(Cm{C_xQG~eIBQM@(O*~um3^S*TY&^PRBSYT5`@5XfC-E(@$v(;wow0R|FDsv@ z7NcdTaz;*b?^QiPKc)klvevW+W@v0rT~*+CrFO~z<{bT1f3q{TUE4P2a@4J5Yngb8 zRyi)%w^HJkV{+J(E(N8_QJ>$2vt7)$V%p*&5}DG(Zae4dTJh>7?#ZDqEw`<jU^YwF zbj!-@vszo+WiET?ShDj*J!+opQ4q2+STrl<UWIl`wbj)dZ{7tyENH*d6#Dl5o3G9r zdA2F(v<uX&5NO|eiZy7T_S`vQPxG@=%hs}+M%`p@*p?Z0ecxG)YWdLAq8;3+Wh)o5 z>!*nB)Y#Sg;d16W5xMQI=NwO$$a|N>dGK$E&9J#y$>HI|pAqMm%d|FUd$jh#UD>_w z^h@Hlx!!qu@{J~w#?GAJOyL8Y)(D9mI;izFx`S6CUTt-8!Y#ceC!GVTJw8RMhy=XN zJSddW`o<!{dBPf{%3BkQ^dERSNWJmObQD(zZD?Lu+jQ;PLb2OXW+A<dZ=xzMGH~S` zkaD|xs_;=~7}wu-423s^%-&`!Z{H$(VrxwC4HMCqK{l&I8bnWBjS_22+91Bg>kEf- zYe`gYu7{lW3_*paof?-G#I6Y8SohR&ZB&DIMs`|r*n+hd8JrVe$iKLy)Vo#6kLmof zSFBpxj&9bvsk|8#hmIW)oo?1syFBVCqw}q$AzPkxXnffFO+F!Kby()&`8QeX&oA|M zH<j(u<;$++*4VOO{p=7YmbG15Vvk<p=Wc5Dp2)E=IEFiF&h4mITNr{K)=ghpQ@>Gc z>*=;h$AlubG6?KRnRMA9g1z6BUH4Y^Zp+sfl;_2)o+Q=3fqNFaP4=7LekL-4GNHXr z538f2u1%g*daWaysp2Nb&+Lj#k2o(>i?we)x!faj>sxk)o#pu}c(2XQP2ZZxztPm` zR^!H)1=itL@2uTw7QB`BD(_Vr#Z!tby7A06oqz0ZF=t`hX#P{w|LzjYqE$@{^PZTj z-I2K^=83OGq-)XIdeyi4rX6WKomtnkj*(Tgw(HCOs96duW{S72zS_1lY-K>m`t9Q1 z77Ay(NPF#AzwhWeKG_+WmUlh~UX5q45OiG1A0E51?q7$TY~tFgT@Fq98}m+Vu@&pB z<myt;xZ`yEM8u_c*LG-cJgB!cX{O8ZQ`P4DEtZ~_IgJue9erH2Dx{w!_}+#6iA>wL zj#_XP#7(@R@4>oM-IT#;YhspQuKXsBEeg8ACqm|ME%D6U?R(?9Uh(7##}f^$J9MK< zM5UEqKQ@cvVh;71oOz)8t;3=t$!1dXPPs0d8tl#V@vp3ei*A(6R=ubR-7#CEE-hWk zFSRP_ZzkKt#cNrj&lWmnpIaEnxo4TsEQ@_iwQbY5SGyGYDu+a5O=RTeSRJE(e~Yw3 zK?7r5L%2uPQ;Unw^UA)hV13D?-}Pid_={@yDNakXj<W0NNQa+Qd@)5nJE76MWR3Dm zCaL{p%@YbZFR{yB)Ub@=cl?vHJ(_8|cItk{hwS>wQ9a#B+Z|7rsB)j!(|u~&<C2(d zORh)VSnyzNWVF&dvuM_>x)%x^zir=I*8Dc7pF8E+o>d~(K3p?dZo1oYEyJZ-&9dLt zuRCI%?BpVs_sxGx%r*t_c8h&iKjq5TO=Y+gV1Dyyu7|AOmvz(Lh9}77MuvNcT#w@C zuupy~crxzV@~y0IUY^Wa<#I_^^MHV)b3=Wef^vDucCnakVS<ZXMGxsNby&w}!)`W_ zck`(wuj3{=XifYQdSf?Rci@}nQD4>yC&>A)Hg}q?^;7L+zSOK$R+Cm<W0zW=9qRVA zh}XB*hGCASLZpV(#0=SXj#dw&-l7KawK_gwr_yFl+~mIVUHzmp_2I|;mV~oxe`iy& zHT0y+Rc;kF(FIYhM;lhCvrP}Wa(Q-gNNAMIvI%RY7Juci(G$BfU8FjP+5f_A$A>3w z70>8jt6S}7qA4Q9$!h*?---*aYc)PNsun%}$-2sK=_#3R)njus7~@NiGA1|e)G(X5 zbjOE|8}%n2*j#Zvw|ZlW+TZgm^^9frxVG+F;l{=5!_-+&x98uFr2h=-*S@;8>$3N? z{|tq1uf{L>8!l4cGe3p7OGdYK7T0c;>+B1^xpk>com%#K@mF0I2FXKzP4-Oijz0Bw z?T+7iUSD)32rhkdb&`zijVcA*Cu~P^Z-=wi+_%wQ@=_x94U=`f(A(@wDoUEUSqI<f zXm1YDJt3lUqbP8}!;{};JqnwX#a(wWC+F&??#%4Nm98w$rZKLaR=9vW<hA<umywz) zSVJ0@u=9P3PYn);S%3Y-#VC{AQ)^c>YV?)<uI=2klXZ{ap<{E7ESh@y6sM8p(Y5?> zYKp=V@;QOFPfVAtTOHr05;<38@1{rI%)#N}v3)03i0DRg?5tZq`OpSe?gEv6?fV}| zhoAfPcdK^%M$Riwt_QDC=T==B$iXCBKf(2Y{;gc?m<9b?6DE{09^m5WvMN;9j&fY9 z>=o6p)zo9lf`f^3#MWwNA6u9;=YU`acR-KAdQoLbH~WQ|o31<)@X(HST<suSoBfr! z>2y@kl4sJoOTGOVVw(6?2sO9Hu5w-7BDVCzwu$*!&qLkXl_rLSma#YgX}zW1pv&Z# zsldGIDSPn?z3>;?=6F4Ov3`C2roZ}k7py5~pO^Kfg>yk}lx#cGPd*VZ8E)4*>{*Qr z%-*RRqd#xDbA3YNlPi^C-@2!r&ND0Gi(WhJDSL}d*q2#Pt``JEtLKDo-Kw8)BYUSS zpV;Xn(H5D#%cgeryqr>NaPjbQ=A#1cVdB$vh~HAX{$fYV$qeR=Wef8+Eq$>ox3j9c zNzY}$J9DnLIUaWp#;((u)ZO5_NG{X5bpzM+EwUa8jU3huU#_#O`N&9pV3^8&;~|&E z?hT9DwSxjf4`#To*lMAhVYxUqbBmMi6_HPCCUA*`Z~fz`J?q>2+HS4~lS8YzbX<kc zF1Nb9{mO^+lV82KtJHO~sNwAa&EvB;bj7w^-gLd)JgkpZE9!b~08i9%C8pI1qS5MI z`8OurlR7Q6ql>Fc?#8{s2YQn{ZFsBad|usD!0@kquZRC{UCvOqHJ21blC&K+^v~50 zc3Bi7cEZy;sbz(A+penx53^HG9@gdO~%-|(8@hT7CyPoq>qZ{53KBd+bIvhdGz z?jW%#T|7kvdJIZ3m$%DZR1yBpviBTIZrCGE#yuOdE~f5LV7e;sgy|#0gKO71m#{dv zyxCvEwP@?MOB<v1G#^jeE4!xFOFI6Bf{uRn)Ue)lS%*8dqpe=O)Bnb=Jl*c}oZy(X z$G2~fTfw5E{l@KZ?u740cPMajU;585D~5@kt!ZJ+I?t!ETUb-;<~W3DRBczA(Ef1) z`wi{iRn85S3{xyJ6&O$2w0&54l+okuqs?X2qHhC2Lc{Yf{hGKkW9i#%40l*OiWo(o zu$W9&XuBOG;=mCYbxEV`E<1zh7K=}v;YrQYd&Q=Dx7e-CG=EziEwpAQpP+MV0>e8_ z=hUwX9~!jZx-1gRbY1NfeX8L3{fs+K{R*uz+h#p_SYsAv+o`PT@ZDwhluMCnC)bHT zkvetbNo1^Dd)KUFg&W*cJd!vY0%fvVZN(;S4GDNyG+QESZDt?`>q|aSsnE2wyA~hf z`1Or{fyI@nr`?tohc!Mso)=oiJ*oBDiEO`bPOH=!e8sjt4~(1mk9EtIrx#nIZYc@` zW;-ov(v7-w(Q;aM*oxyPd#<fuaa~)n%7JO?6XRJ69&qU>Fm$jM?eGn0yLLH)ck;~h z{aq%K*&&Wm6S@OrO!tIat@TgZw}P*N``d5L#a#+p`BT>}yWzM*Pqgoj_Dz1TA4^@M zv@U2*+L^_&;BEl-6fPU(RA#4Zr@wB}d!7}>v0<my1x1q&asd}}&s}TWe0Gw4a_XIC z?>t7+y^FKXc7=uB($l)&c)GM~*2Ba?rzRGKj5nQeM=xwm`?ho!E0gDunT-?YE4Nu( zaTh(^&B)CE)`me?(na08|Iw@p*DYm>YIhynH0#}+)dl9aZ!ulJvfl0J8$la!k(gj7 z5wWE!syQYnY^`g*YThE(e4%hd*y+Tu?a$sa^(>WSbZJ+9AF%aVtH7Kqk=aMYd)h0u zl?LszU2rcmFl3IUjdH5t{@1^ma!fA$mExZ2vX0ro;S#T|`z^C=TVnQ4EM?l^C(_&g zD|dqX-Fp`w1T1Tkc9jnI&h}Mo$zJhWx9%+Gxu<`7TVD#ETgvERaBqrc*4}jvM~{E9 zJeQL@@#s0h8((%TvdHEY%j#Gp(0VZ2J6dXog~_CA7wZ<<{EdBeYwp_!_v?R!52#kI ztlZ`|?L^t>Y}Gq&#Lk92X!spuH}4fs%)(OFtkB|@=2LEK7`|1|b^6lnbd}@hwQIB1 z3w<nf3@%+1xag3R*t!W?T~AiuWIX=**53w3k*7Ptv%gfR%CB}b>s?*ovT(83!PCA0 z@&UTLZWeIvPdz>Ln?g&>91mWzS$6xgzU-Y4wN<6qaqErUq2Cmu5_g)Uz7ft2{#IbM z*kj|F(1Q;{C$1I#DmVAwZxO+3tvdxX5447`b40KNZ9O|r?3~us&qr%DW0`nsJC`ZP z?rYfk@a!s?R$t96Po2JT++=U9nk~DxKkcoQgZ7rv?C22ZTa~MQ3mE3Mid0G$TxVA- ztNkRKJ!$r-$2)#6xa}*pM*jv!VCd1$3Cn{%Mt*6y60Uk;hanTk2Cpk?yS{WjUEI(- zfwgwRLkqrhY_kMcS9?ZHx%Rg~H#=1)@T{BUl_GY9%I+!GwjL_8Fgv^P==wfymp2b? zi(J@pl=Fw-&YgzSd|c&BRj*uU*r^ivCi-wA_m`b-cfNg5(9bnDHMDEXE#`!<j-vhf z9KUxt-O1$M9kaLYeQ1KBYXRfKg8fO;HPovVA|K3OwJ0ES*V2WV>o`<vU%RdjaMATz z=i&BSY--3|hbUzs!$rpy@+~>;w|K2?<<+{CR;o*-wn#AXDzdG$%#N*!Fub%}jcw|p zkCSY&k9r(E*m)%~+jW($0^8qazg>&=wH^o*4QW+Z`>;i&@AfVAw%PF;a>EV>2xdJI z{q<zmR12*~y)Rc~J<tyKQ0jbI<SN3u{<`)p^?BF4ZcQ-T=K8`iXD@d&lit-^><s}` zVr%*1t{uz~C|jM!7<M&7Va>#vtzXJEABc`%pB*jY`|Wm!{MpZc!p=D!`c-q$EdQOL zh+5U8aKp7HPfffidFtcJ2Z{L|nu=Mg9F`T`c3|o$=?>c?_D%au=<T&E6>g^<FwGM_ zWwZWKW7uA$M~&KF-$sVJ*qUD3Cc0hm)Wt%L-E%K!p5s0tJ`ps#C)a#+!kk<Iu@$en zicHte(#>LJ=hnDkvudLQOZ`L<3%`GUTcl5Y+2X*kB6!+DIdN-2FK^eS+^%~rT`er( z%&uIp?)c*G8htUBt~mW=TN}3Jz`>M)M}cO&H*G?tI85$Mi4j~HyY-nxdEwQbN`2E! zHp{zWS|2Hzur0dsT0KONv1m`t_7`hdo<|iwzU7=SfzzbZWzzeMbzC;z>NP}U9I{W{ zQMX;yB{%2MHWm3zGJH&Y9MZD0?qy9#o_+gbhDO!1v#Xx4L^W5uU8%w199n#APGENC zf^SQ783M!_Lbfjcwtep8s0$4jtKPn}XxE+ipxC2D!}9n$Q3c;>6T!F(MN&5}thKZc zx^S0oq2(6aUO73b{)w^c0=bSd2^M6pjAWjo8$GLW+uN^p@B1%2sGa_H+0_=^10S@e zzwHomTYXD3e>>X*x%!S>oAVwvPl;j3Uw?IO4%<iH0`6?a159tHGnmZY5USw%e$%hJ zTN$o?O`Z`Wov?uSSKQnXjjOYZ=QwU?Rp8J6we)39_npUwuQoKVWmhQmm0IAWuu6Lh zr{Ar2Q$+%pCeLd6UG|qjY{6X13yTjWvgl`B<c==a{(9=~n^$rdo(5=aQ9kf^+oB(? zOHaQpJo8PW=v3!z-7CeKGBMnB{}~P(@paWuJ*WHTLd=ZEvHqNArYPB6S+OvyX<K8W z*`c*lSs0hR4?q4Qicz$-_wwxwCh@C`DO<CTP3g{LV_J1O^F-?kmQO3g?zXQxF!A;c zv*uG@d=;Ez+iw=E&}LZdDi<iWHOex>OLswpSO@E(3%VK8mUFo_X6-4fN#(ehw90X5 zRzN;q(&e`<UEGt_8aG{HwA#VZ7^n7n(Y1?NSH%QmZn2rQi|Na&PTS*gq}%f2q-KH4 zs43FNy5qMk>fc~#pW?)5-V$?R_Nm`xjDi_#3+|ad>M-?~!tgeR?UGp7o?CyvJ<$_b z`jRoWT`@qTz)|aEytHoD-}_?w%eF;Z#;)yRpAhg+_}HQDM!#~#ob{>MDcqj>{C6*r zJ*i<CtGkkUmHONj^HUbX$%cpXUr{tDOwQw_i1;LK+CpqOtT)%v{U3p^;2-<85 zxN^Nyq&|c}@#10$)`NnFr{6SCVhGuvSLv|YRW58nmmk-TjKwDuUne>gzLaywUBDgA zdA$4C57lbTOIbbJIvI0>Qyd@WXLvN9V$oh&Bdz&u&fHU~5h@~Axa`iVHHCjtT^MTZ z>>?6%sblHszy}jET2HASY0O#~wAy}CbdBh*0$ul?m#-_b-PDaU5EYSHb@FMTi^64B z))nh7s#;24|H72*#Ivb4(*I$s{-!QYxsngfsn!AJkF)&5R$X>dnmj9Waf2qCl*ZJx zOqE4tOQl`+WM&wwm+Ls5?Q|qUr&{BU_`d5|2c2Ja?z^6RW5d(LyKSq!Is`0vxN6ab zO0_lh`bl3!ePix6tgUvvk~j61*!tN;s|&aTWc1zoOqWD8EH8TWdc8u}D+Vq1)|Ex; zEH$=fAMCrBv53*N`*p~d=pqKLD>ol9%>C2d5i`kBZ@Yqp%_{SinHk$`m`ohkW{8CM zh^|}h=e2Ofvc-N;Z}vMU)GF|&?-lk?dj00{zkR}4$8UtL-{8WoV4-&5LEDL|8@cno zpZpf%kequ_DEibBg_r;{PBW)Xq2hw?TkbYTxn5YfN=0$?#D~(HeT)Z>H0Cm0JJhkQ zf5nYO&zkFVw}o7}E_zD4i|zat`;OJC;sd&Kw;UI0R5U!I@t>jn)zv9=tFzs2ZrZ!H z%Vu3*mP&(c#-&983!J{qmCz1d>Hd@NV3y|<(QmioGPd$|ep{p4J#qE**Nd(<U46+X zw(Re;+hJm^;(G*CSP#ri&Ys?#s%Cw9QTD9zrHSS(H=T-=E9NhE*E)Hu&ZdQ-o$dYB zDURH!+vPePw{;f2KN#YvD0uL@SL-eVj$I78e0u~}eOYyF3IB$WTi1KJiZca0Sl9E3 z-<rC%>#sEPB^IU+txW6ZdswVxo;-V%nIL08+*IAZ<IOH}nRsJZIJCO1OmTEE%+lGS z8@8p}ZkNJ6XO7T=Vls#39QD{5^lWWZ&azui6T_vVu8MV+<Z7N3bJAV9Fl*6@^-?-! z5l<wvojSDNh$@}a%nF;f;@Y<6QeP46{+sUCL04z@e_HKQyOp)5QKXhP`~{1vl-7>W z;~M5&+LyS$|7TDQ+EQIK^U!~WC6|wH{q<#yw$|@z@dJe$Dj&+%2ed1vRxO+CcxC&; zC6lvL{G}sYt){<kntSLech>D4+TyAcWn#YVw0yAT&B;Y4GmAO3B66*?{2O*yv71a> zm1uT6D0!un#-__Nwupr-+Tqf)ZE2!>xc4o&z2E-+c8yXDdKz$h))H2Rii`~mAzFvb z0<?Zk^Yc{9+wSCY+VPKg@y5L?*+uSevSx8$bN*VqQoM{W+Bo*I@1lpPSJo_guJkT* zg<kNXzZY0y8#9X5SQMt{#sqG44V_oIXl)U15vTSg#_Xd}y8gd9rOb5K9T8Y*qMNh( zO~;aV!mT2<n=WQ7dfTrk7rv!D(Bb(>X%>T>=T!bPNZpik+tPM0$gETKTmi?7LvrUo zK2VwyJcqf<JUO8^GCQVMUG&BLCl|bm9Ya03IUg|o*1Wq#<wbL;<BEa<ms&-nRxWsz zvtg2xY5@DI9XgNRTwLHg#dq<^XKhEtE-_YI+cxW*!{Yj=XDbU+EtfknI=A|{oOoX3 zTlP20%SLPKs+*z98Phi`UCCykyGxHrH^x-TMLC+=dFoj{@hvVLo9;zjU8~Dfu=wnM zhLao{raoS}GK$rM^_0RQuA9}-8-y&Lu1>ptW1W;^*p7`~?N=9Rmr6UcZ;j@S5=ivp zW!)C4#8D8V+Zn#8d}H?Q=_-BJ1y@toZdW|<ZN~;qD~A4$HtREwEL(I>RPA<v!{Sq4 zc7%E^xOV!hOS|HRXsH`hVrD&P@Lh7zYwEhN6H_;BSk-Cb=&(G{z3=$lN$jf~8rJB} zYFE8@Y1P}zZ2|>hUJQET986mub#eT5-DBH%FtlvZ4$avc-F24<e3cEbG5xdq-8RD= zR@Zhbyh@lirE=niV;_~y9&1<JX(1;h@yL7`^U;sBb39p!{Pk?=RewEMpc%!oV0Dw& zs+~M0(HUKST%DmOe`{s1F3ddmq}u)dyU9{_D?$V{ZfYJnzQHlnqiWfzs&DxlG%oM9 z;9WoIsK@=R&=Xv1+E`ckir!#!UB|IO=?bHIYhs{wbksuWz${+z$61%><}l=kdVSSZ zQD9=aDzHOgi^v0}f+r1Imad(2DoS+GN2a-)`(>35Z|~*k`WSFAqgkwJOVp*03ywa1 z&?FUkG`e&FYuQpihlOuG-gel_z_irk+Liq-QD1mh7j0-)<#W~dXcBb4w1jDC*2<`F z`_m?9ck}sb9a8HkRe0imyQz_5>UOzvS2|glwmBYXs*K;Z<KCUZtZPTj)`(pGwuM*W z(PNnfJf19PB+h-@&F2wjdaNU-`9Sbv#?4tiy^Il@{XVs8e{5Uq7i6HsI`7EhgNlp? z`Lw^TbkWxMV6ph*RdI#r&6PIs9M-QmGV`^Q<WEKmFh;Y)G3jsJ&p+u%>ydZO*B%He zMBn1ynql9sSh#I@Kv3AZEM3-!bzV2to@HO3@oCKzug&g1R;$*o-7_i1J3u*ix16Ym zRQ^V>Eur4CS4G`gx{B8%YGt_mrYjG&E?v3dh}0a5kIEhwOcQD+GjOcU-NLB;`ViBV zK&zl@(@fv1MmhxB-JR<iz4h;`1+T-}_i5~(Zgu^|PLW*E4Baw+=Tzs7ZioIx-I#jl z)`V3BchCG2O`h~>=~||HC90WO)Aqbt-EiA=VdxIN2)?&UM;ebOJxMi@iOF)gu!i*z zulX<DC&u$KT2~fa-R8D%?e=Pi!b2uenk<Y(#ep(Aa;^u53awcE{N{wYr^U583RILT zGKzT3q!_k(G<Ae-6!8^$_+36JXMx?4t!%ZP+yTK0vvf>PJrE9ieRIwB7tLOa1d=n) zY7}G!tYuox&Ud_R=K_oM-$cvWRp!Yiu3SEMI>)=Go_nVEZ`)ra^F;D+>yAjb_WX?L zmV5!31&aiiZU~Fgo9zDU);k@A(1oWnB_@hp$jsT>n)G*(fJ}Q({ywK&GH<in<pNeO z5O}y?YS|i=_+xj(Kb}f$FXG>tt70QkcR(Oi^v$h*T5qL7_F8OR@u9S|IApe?i0{JC z4P2)iZCJEUgnna<%CuVbd<s)FS50Du*cOKy3^Tm?;<p5=`CMw(<z4XOn@&qhM990} zj7eKdf*ba%E1G3{%ul+pq+~@4tAZ}m{%Y<;k6l?RVpiL(SRF0;Hj1&f>#D$&sI75R z1q3(PE;5U{a8+Qg-0G>n7p)ErVK6Cm2+F@{xkNByLi5B*m!|dw@7I1j;dYU=(5uTv zM8I**zr&dl7n2r=?a5pra-kw>fp}kQL`ZX4=;<hJ*F{$)4yYNmWV@?P%$2DX>oAmP z@avy+h_BH?<hJ9sIhR(3E|k&{Ns0>O`8C7BFyM+l_pEM>AJ_Y?cb;|Z*dY3N@v5t0 zT2EM4U7mDwC3DbL?b&7>TLgJIwr>#WXAE$xTch|jOpxP7rhE{i)q1xbS6V|FO#(H9 z>rX~3F<lk2DkN0Fd;ZI6)`KguW>sik{NkuuwC0=kmx?z!s|(zwu8tO1v#4^HPpwYO zw?piKM*1gIjIARLpCmt4UFt16a}k5b{mr+%i$aPnCLiKkpt?l%sJh9bOIsH&j4E8Z z=;#XVxR`q};&+;}E|e~}x^QEf@YY$bSK4lwD4b?)@zw1r?s~HRa--juR~ogGW41-J zq;OZ;MHkks+$5d-ChyWx`=BSDVP1ud2R^4P_#z`ZHS3UaLZyq6V5#hMma5YG*$<b$ zKAsmY>aj&_)9tSu+phIT-4bgKRnnB-lwG;>&~Kq@H?CdhDL%w{#4<4I#<EM<PG9D% zxVO~d_=%a)$^BZjw_{A1SFv0ydYU78dCsRb%PyG-R&wmLJl%Ts-Gja(mP}XbR@XMx z9e>rIH22j>*QJ(QZ;0rwjf%?747wchV%na@6Hh~}T0g91K3J-?!IWz%!xp`$Nj6?{ z*!r?muP~^Gvq%VJePQHix#y9&aAny7<yD(k-sE5PJ5<+sy4ISBw;S9!775>C{IYN5 zo$1Uw%vLB!hm?v4x&-NLc{XcZ=Ix4GVav8Ic(uv$=E2+yJEv{T8#A<>Q(NDq<Q3_v za_<d3xQZofN49f7t`aYcyNaG@M2!BU<Cm*zSKktO{4$=ci+zLRf<@~mzFYHeXV&$3 zP7Dp~S2k`hn|<hS+=?AjU$pBv{SM8RS7j1i@3r!9v!i_K>8VG#87^^Mu(|a-_;us0 zuC4Cdel=v=TVb(mmgALm*G@OB?t1)&?TA2i?&%#;)A<*f-fD24a;s=j!><Lm<@bA- z^gTQ%ZeewJ!jk$4PjYwK?pyu+&%_MJIbynAORg=ObeZ#}>&rb0E(q%=nB`p9GTr5Y zihbI)$?3(+MT{<aDMxNzIu!NkmU69kDANiS*-eW$LUKMdEDhW5FiEOZteQ8VkcDZl z!i7L?r?yjTEVq<|MD2H;z`D-qqS!*es0mvaC|}`r(Z8xx@nwg@Y8MtS7PWc&9Qui& zOsry4*DJkI*k5hR&C$Aa(gpY4igQc%)Ve2#e+*;#%bJ*>aV%#;T=zGoD<UseY!6_* z>pUe`Mr^I}p;v}GEABK~uI<d&bgp#is->$IZT+1!=Tw~9p0*ph8<OI*l??WjwKy#9 z6Yt#mnB@nfU-QI%kH=FIE8G;*WhG9ysYE=9coOYCq0%Mr+VwYm4CWqOE<s8c^45v% z3~728x=L$S_`9Q%&tF-j8PB|ZsYlVar)C$pL%pX|C|`(SOl2>+d_eo_t}R|S)TA8+ z1iu8tFPQt)={J+p(Zu)!)kTF%KQbEV7N4~b?`ifcXU>cIJ6ZJ#C*Qt;;Iu8=GApGV zTP^nl6^C_f5pdwVqa>Kyc&h%Bg4RtY?XL++0lvBY*{LZ?&W$mwoAg9}>6$!=TETqK zuJguvub1q>-nYI!*&^$7xnp^?`rK(p*(Y>2ZFrpPQ?_#5ldM@4&Qn4a6YKV_e`N7? z-3caf@vNQV8!{GLT|2kbaZk9^0!<NJ20_1E-B86;`IQ_WI#?~&hGg`4yMB7`U}sjr z#p7?jImNwrkR9^*)6=)&3q1W4rClu=ns0S(@w}f`{_s-JmRupHD_d(PaBMA@dm!%m zwbdb&u7M%>F6`!~E3+Mag;?KYgmst*uKM<V-Bgbcowj=?mT+pFddj3Xd4<-m2@JX$ zAFF0LWou;JUR+fWd4NUXQHNsCCg~@9_9fia+~M2vGj1?kddl=+efN^bcaL@N@Vha| zf{|-?Mzq+p59=Epc|*B$vzA$0TCJjPvVg&*AWD>*!Ll~+Vf_a6{eSar)_r9S-5uw| zdy&g^%2w@LJX;?>4_7+ARdnHAr>6nh-g(>Fbr=^O`X)AqLpp*_`<BTL1&LGUd9F4& z%@quRB3io(R(FLS-MZpZE>mXq=K31~g~~y!>u);Td|0<u<Q2<0t+hq1`p!*W-z?&f znijgSEw7b*6RDhc@Q(hq6BY{loo{Yi@WA&2_XOVJ{!cgKWdcoBEMQNJ+WcnL%G%B) z4t{#>uNtqIo?Ktxc*3fq+(s{NEyK#}l&n=(xj0OXn?-hQGheoBXO<w-Jm!`SvfZpR zIvtl-v438nl_9ms&~low<gN4EtuO0UUuGw8`#ufOdvv<;DYw@2H}z_hp8hJo`6O~3 zv)$UPtKn7`uG}?QEIlEgMYn=SHS@-{MiZ^6Yg;ELO8Gqbz^>3@$sAy-_`Y=&@AH-n zs~<N^nHmb&Zq53_ZZ|8^`<v7C=?04~x(G4LhID(xT}aYVc;UptoEY)u#0~M@t!@pD z+ghBqux1Icn%&vLFQ@WjTG!-;sM*<4^QCm6E-lembjZ<Hq*Zi<*2?<JzKZW1_LS|Z zd9@;LVYb&)Q-Q6l6%Bsv3572!4t-R2du{ji`7!UU+)+^iTZ)Q39OtlIT4i->NiAPs zexAcOZr`kx1%i&Xc^$e6iicQhz1A^4`2Jw=n|c*r(X6xayam2rQ@XjXPB42Q>Tw~w zw&_OfCAkOFGvzYBI_Vn-^u``!oVH2QDbVvM)Aog17rd69w&Ll-^*7mC{fZQnE^OKI zFr#6q$UIS&XX`Yd3iYdhkr6CgP&--LgZajUE0xY0m&B}z%=BkEzdiK2^3-p;CklAG zCnlPFk`cQm<F}+X#!^P<m347;7O$%5$z4|`tedE?N-WBYf#upqkJ*j|jc=I#d0$$% zmBCW`>o4Y6tl1f@tIXK9{$B7oq&vE9;;;2jYLzo4?3HDWwZ83<S&(aa#AKW8WQiLh zmo66G43bvNZVl__-8*r^V~?9|*QG@~9oK2Q2P9>CC1?J+RKS|?#Od$n^l4XhLlrIv z?s}RP%*t@t*Ktwb(jet-KlPxBr?GwEH>DLq--K`S4)}KY<U@AFH&-`(;k!{?TkD`T zA#Qho*7W!Pw%+JpS?m$@F^2IV%c7>=3Ypbhw;Hy*FT1c)V@d>9!S*bt3#}`;gOtr) zdNDP9Ys`$BDD#W&!PKL>@9LI{cx-uiGQ&Nc&yz9i^!wG799I{0=d#_pHj#Jp3B?SD zztyHEneIA<9S#y(qQJF8_dwCU74`BL&76II#V_3S*Q#sVtGO?B+{i3G+$vl<_kh}+ z(7C<BVeQOcy>F)Km3`R}qnH}RTCFfCx2}DW7u!YCTW3G{et3Ri3Dd*X(`JWf=an(E zGwoG8^mpxa(Gy{7L@Mk<4^P}s9}{YII9Kohi@y8qITl}UH}#qXPv=mm>v|cr^~GI1 zv9;QMrBNT4uCl$F5fUuQvtZi98$mo`3anPL-uo7QyKX*_XV-#fHkNCuiw$*rg%>Mb zop*M@e)ooVOyBlrO@Gl4AoHoUMYC?_62_3Itq(qNGwGVISKzu5-*<U-!iK4<KHj)A zy>H?IlMttU(T6k_hTC0RwpV+}l}Z=p+g}fc3Gei0P*}-s%JsIYso}|Q2KIt(?}>?P zbt+y4UES4ig{j1Ck89@o1g7f~W!DS3DajbV*v8w~p)aqb&>i6W)Jpbx152`YP_T2L zNM(#T<B8s&!UdKg;XP5SRadZ{&)Vu6!j+wCyLv)PMuVVO!xH_?Z*BLy_Sksx&6DFN zWNadMRn1HvaUb_S7Tz&k;!UPk)87kQ*D9@U5_}rEit+yEgz|MxVy=srY+7BKGep8w z`Qx|#X1P$5-59o4FMQw8DAuS)XIoFW-j9F6SnBqzndQtjf4O_P!K!?|6So`}o4$8x zO7N6540q>W_FPozaEWb7@r1=w!k(Tenxh-4bahn$pQz`TB_?rSUN10nYStA#AQE{{ z?x2QkwJW=j?D?df@kebw{AWnf+Hyf_+WxGizhbnP$gJPEc8*TCp6IP>UuHc_ypmkc zaO<~;wx5P&>|Cz}J7cs(WRFg0TIh6rgGJP;r7xwzgqu57>8HKD9yaZR=GsLLzm@E^ zF#cy)fBUB%W7ehi&$W%wd}gbB_<Z`qPV23_pSogU#@jF_n{W0<uRP*adhJ(u^NP6a ztP74g*$xhw%+cJp)^G1T`KIWq*e!;L#KnoM%T<@nIA_D4e#A_0%8e+#m1|-G85Vg@ z)$Q71ds9(5WPgbuhsi3F)$_f(Sa$F~I`ryBgPhpG903j1FN%*EzMoPQ+8=khRiW<a z5p7j2wx2e0TYoZDvgBt^uzy&X$GCC#O&j(GPmbKYO>u7P7UZl}&3n3eh1DIIHG%)s zuD@B^=$?Fo+qG`{lS>=gm4235FfnCMes%h=e2C6E9sZ3E1UweFZWXg#!m#hPmr1wS z+RYnmzS*r0VVzi}v3{fc-rPGvx>ik_S4b;n-!QLQTy@K;`Q@vLtjqt+zM*b1MMMAI zwUvw+d}mGiRj&nSA5Jh4{mp$#<T-!BDpoEB(^E%3><IJX<Gi=_NH_O|ToLA3bJ+9B z`82Gi-uTj_ArQVrCO|ud-#o4L>T1TiRcFhVuIF$+D`h5J=6I!fa_oV^MNXT`kAGxN zSUn-MA=;>2W6DWRN51nLRPtV>2`pmk)^vLn?s-0YT8xjz=Fpei4iU?>!m2|R!nYpU z`qrd1QA9YiHvfX%nww8$y`Id!;dCHhL(gkfW=3(WU(|;vv4vRyiGH0{rVFBq7e)nr zG3EZLwM6h~mES{o=SFW|f!-75^MdtL7Z&8CN}OA|WY%*(sUtV8cUq}Uc(~A4mCd5f zDaKwn<c;ryW9B~|8ZX;=AYt3=UcWMFk%-*oiENsQ7j`Z>oU^yFqSMKo^%tY<9I>*$ zS#wy~bgS7Kd_r0hC8llZ4tU5Hkg;LK6oxp1mG%>3wl*v}mi2<uwY7E)pMBI~c{$}Y zYrn4Zo!b&P+?;ft?YKObOKCdGv?yLxv9`(5)0QalvaNCvnzL{9luR)xt*Kf|fAhI? zvqtO-DA3r}p~%gB>4C+!P5c~+8FKaI=eb*Ir+PK01lcHtMVXdg=?l@~h+X-K#Yiri zd9LfVIeV-%7ixT%m1}y9A#B}=$<sWZoIK!rGN-#>)`M`(KTN`N=Dik@(t9IVz_FK4 zz_ISELgV5X%P6g%rG00AZ~4u3hr^|5P19`+h8+q)b{7kMRkT$ZV&=>}Roe2T%wf{( zHzG1wN;;on*7vRn<fzxym}1SGee1?`GiL9trHo#U@yq30MSrVJI~cFD?aIVAt4vqv zsD`ffTVg5~Wns1GNqt9O>$d%q`mAy`3)t6P{TPyKp=JJ!^I*`%YNjn)7@1?kdlXN5 zt!7+wy5if`C9LWN9UNPOvZZ3zi!lA&5P4;7*tV4c8bN=9zSVv!SLsqaw9-LW^K60R zg0&d|AzK;#u6ebSd3MGY!L5I)KY4_o*HwJL^eOb#L&1z67kO82@(g)YrhQR;dcoeE zcUIqM%#QNSWxBMg{l$bpu`WK-qQD37_fwu5e0!i&v3G*a+pP2Hv-p^1A6o1$^X~`i zSyr1j<-cPWvC8k6vTnkawk%O4j}Z0*i(eN-T6awQ?0aoitJcyD(M4=W@9nR;b>S}C zD%aJnUL8@ho?0%N#i>#$?R{zS?b#yY3!K(*J2+o<dZJ`j&L|?FS}nFSYqx{YfsCf^ z30s}LmfRCG+dqky*LTr2%_VJ<51Q<VVSO9;c73+up)VZm@!Hv8x1ZMTE^2-$Zh0h@ z`J`$TYtF0(Yr-{@GUILJ4&J$>tNqoZB_fcOd#%@!`^mRsv&+`5%}s7$66wg|-Qwx6 zCiC!=e3mV36TGKw>uve#S=Pf_u6S#*{uP@k4{puUcGL2cX^`q(@nMA$?}Pvutu0P_ z1HwHf$6dSgVef=5GMw@!<m~;vpIR{c#ieg^Pc4Z)8>O+mH#kacwac?@U!pE5R+-7% z;#l=$d((B6i|NOYcTCTkW5z4CVyBqC^c-nfwh!B$SlCQFyohsRRGM-?`;kY7W*u6V z?6Gz2GUHHYT|4{5eJd<iskK|#`#jBbch1@J;?`3$gQ7{S3yT(AezP`{VQxv(mMDe} zm*R!4-N#RMi2Mo>6zh1>y3#>JI{V1hCALf*E^6B+XfUkMli8!Nm|srIO^748lew$t zL(YB~3yH0+OU0(#cq`F&@A9l!SDtOPoU-My7hkVM)b&YX3v_cWTa>@OjS&#l72mq5 zI9y{#gT@q3r;7|qT#IXNa@=|vB_kKGp>gX8Gx04PTszfgXMJnXT5<gb)068a98d3V zIQNX*C#GY0a_zxfJ(>BNeHPvNc$!_8^Qy~&{SK`qGc`9V`pi9O<n5;_#HrqXtJt}* zW4Te|#v3jC30{0G>{G7i%*u^2>H5v&#dgq4c7w_-yPxhic^wzs>5bTWip4TOX)RlC z>9e)gw`U)Xx^P`DO09K;V{aC#KtQR*o=Fxi7xlx>t_zU4%5W*P*kR|wf*H}#wXwMl zBEI^yXSW_?Yhl=6p}0E4sgUs;i<0;jjw`>`<uI<;u}C+_OKQ$z7aP-St7mDhz9cQ` zSmhplLC;ZygE3s>=}L`>j%)mRi!M*N)L<fgP(<!tCflrXtyX~m=Ctn2t&5v7mLB~r zwyy2UtXB#R{hv2o;`;kbt#h?+uC?1u#(+gS0xPtf4kc&E@kZ&2R7TwryZSBkIAfIE zA(po#b*q|gH+^S`y>;l;-Po<Jd#a+A{n{17KB3vs=jQ4u-coGGHzcSvDO&DbHBnWl zx`;bU_rdk8S>2Q8=q!p(S<oF>B9$>s;uNp0$p!9+t<gdrs$50SR?1n&OS3ao=oT?% zXH7Mka9SbfU_!Nn$g|n&yw-7Sd6>s|RBXZl)~qd8c4WnHnmFlPWf07ayUtp)Ci*`^ zclYY=s{@~|+f?#9z$HHU<=R5`pKh9awp=V+-YUWME&UC{73S=~xOR@+`!_IWu4U;s zYh_~L$ar4-*KYTljCJpN7l!BUcHsWi!o9mXbd`BnyV8Z2)>C{BmtBt8wlrb;x2wOi z>kdRP_j1|D@9tunt`e^xz@ES2?VqXoKRa)&Nd0XVcJ0foCuKn`*EJ>c3N{|PyD&QB z+E;~NFSbPOnvnHioxsyj=3J*a9jsX$%Zr+ph}~`dwnc7FcU5$4nMtkw_4iF2thchd zbF*fNb#O)9xO6gC-IT4NBlO(1W*LD5?r6s;vo3|ru`$~s!mhiDht;sf_6+CQ&FgtZ zX8Fc58cpQ!PtLwjuDIh)Pr|j03wF!dhHR)+Z`tzUD$gqMcg+Xl9A<vgVVLa5<S^;& zS;m5}1s2t!u6r&iZeJPIWjLW%7nFM{4t>0IRjm8t$A`rYJ!^%N*PYAaUBbYfwl*ML zgO8u1LD+TC)kjY1EYTi)3?ecbI|X`bDmompTGx7API2V=%@%akc3P|?cSw}j!itw- zQGzWITcet`ayQ=UQfOhF>*!MG_PTpZWpsEJ_uE@jb<JW{Ee~{HeZwc9^;@WS;oGR2 zrf%P_uurp7T9Ojp_Ux$2CDRihR3=SXC-R|*cS(-!WUtbx-#7%CI~|%D19!LG;Load zx^yvjxf9nk+o&Ha<@iNdt)?oz+%}{AYR=WNc{z90h1NBwE|2r><l~qfcOlbZigm1R zW!|c-x=Pb;7R<RFWFl_5XPKeIS1HkDtAp1ssqoum>D&~1_Jd5jN<sUoE#eHti3<;P zlpWuDYeOrG&Z;Lx7c98Gx*k1pLG`KCy6yg3vtK;Txar8S;P|rB#>_D}Z30aX8M>}! zXFK|d%{daCVe)o?Z-(D*buRT+m%s96m1;ekw&!AYt@1|Z3t}8B44ToN`bDz)yKbyD zdoCr`8RE5wb8lSkk=0r+iW)g?=9|Qboz4!^`?1^o)vSKz3!AovpHQ`a)9F6-*V~vX z2Zl9wyUI1s6)2t%a=pZw^@Lxm=|98VxUC^8SlCW{+IM8ys-kNb(iK-V=`Q{1SKRbC z@#Lcy3KwSkid}tqt4UUN!G(q;*QT{~z4gBFPjPql?VB?C*Eb&ydm!Mu*W!XgyPSY8 z!(6V9x=a^Ob+_s<=|zjJzo1dgnj_BfD(ZQj<Ff|!8!Brv_P;VwxT?HS>ej086PZz# zhvx8`|Nfh`^=_!!>nMHauO1hf!xpSrm-j<j#M<QZdXbo|&ehhI2NVRD`Z;z+?ekr5 zrS3q~e}>hJOe;@M@onO|8I`H^^WFrr9s8U%^xn|Wj=Su|{K_J_DYsz81CP4Dt-4(s z<Bxm@SkN2G^^mE#ORRnUh27UKvP_s!+2!r4xww0Yhvp@=wP#IF7+vg@lP#OWJTcp& zBt#|O<f_Y-2&b#>_D3-_GwS9l=!UB-xW9ozJ%@vHO6%13`|d>DxOSy`-!=cVzH*a? zn|L+0W_tu(UDdQ8Y>vQ|C6S41%#@=pC2)r=xa*L*R;)Gaf=$A*V|Sx22uE;So0y@o z>8hGZV2_|bhb5DjdDIl;4ac&aujFM0+6dIWJ<)5$;MlR%$el^G=yOn4(##3oevTS@ zf{*L7OycdUW?IV@Ric{Ft#i?JwO7>Iz*WVLQMWD!Nj>P$*xXxrVW-%KYoaSPwk$d{ z<5ZjxTL+h%9Z$+y4lC(wiB6FRTi>q;*^|I@fP2M4@4$`eeEliUEIX$OyNcw<>PmE7 z(3QEkO6S?cB;7czsE-R=r<Fv_x}eKDEpkD3bV+k*jEJLbI|sLe*rIz;_pYogSjqY_ z{C3k0jT@n77awBf6XsnphpYF{l1X>F{xfW-xVnzjhSelDt5iI8_HX4wtW3Qk(tb~w zPgF4WYpE~y5EY1vy1=38vvku-=BDMA{D}oCL}RuDZQCjywb|v?Zr4582N@Q>zfr0j zT|0rLZR=6vDV5wo{rMZ>u5V%2OI>tyRdz0ef7b6T;i#)C{au1IraWCeZPh&PSkLuO z>NjR52efm)+S^^hT04F5rrVo697IGX^e>QV4f|v9>d=$-Nq0P1qtwnu9zR}SDa5wi zIwfb(aSOfxYyKOz4(BlFO-x#PcIyhahsx21*L{teuzKR5avkmONA=h4nkq0i)%J?+ zQE81WJ1%g4k=|eu><}jKd@D=97pF%ZS`)Zie=SUVVY0yMw|azoR5ZiN)d_1?XqzVR zUbJaG>1VcX>Y^uc+x*IHloKq9_eyU$_;0_{&egv8cGs0R*sw478~%Pu6xZL-28$3T z6$R^nm{lCDVLSMCh4o}!oEvj~V~@DC+oaP{(K5HxW;L+NcK`eSd+pR(-wC&_u9|+U zqv(sHOVpw!rU_4lG@80SqncJMx)Oabd(M`n4qdqymT!K=DxCd2Yh`x&#mlcQu8h0L zFu}5bQS9SmjZMF$_d9=GJu&}w%fn6oJecONR!4ny6cX6#)#-Sx?L=VsiLEF69v*LY z6__<M^KduEn^1iZJ;4Plmj-aIeS5b4q_1{T_*-s{o!ssdbQ&z5H7<R!c;6Dy^z9og z!`6y7&H5F_uxV%2+Nna$o>8j`9kO!XG1xYmCn&gXnRxqEgKuS0w@R=|m{-}!L)Vsw zHO1U=yf)u!f_=5?+U+J={=MaLmEWZMc#1{sg6`aEz3e90#$R1pt&_8Uth0X-#bUvv z-FHMg+(R_`>x~clPTgt0v5srOO4hI)oD0;B$@OSE=jNS0a_d7=y~KK{D;ft>-#S)Y zJnq<{<lx7)<x1mewgZn%)RS8xw4)f;vGy+&bJc0Do%bM+Ir#mFJqI}t`kZ*W`Gb0q zzO;Q%x6?(oS=S~chCL|P)791dvO47$OXRmj-8vmH;g3z!omYNji8%WB#x|w!&g@0X zX|J>Wn4K1MYg*2EwI@aD>3OSeg~sxu>tnZWbh^c~&i@AEt`fCwhY-(iolz}OVp|$C z%r0b4ZuH~s;*Bbj_73U}Ovt#fUNGv?)$CQ;(Jn!}rYkv^6HFE{Y4Dl8eZ5^{tLf?> zPbuZZ{YSbv7fs*do}IzI{q-gGkmG^LlRW~3F5UFVahv5)FzMbVrRA)NQY`bzmT+y+ zSjC#L^{RQx@f(E&cHXr&74)={zg1~8H09ei{@$Kcnv><Jag)U|XUF0bkNUL^`mSEb z?O=7`O1vt=%A)H<flD)XwAL_r^7<te`&$3x^Oa_~|H;QkkD=L*t)HWX?Sz5CrL7#> zrY$|dF!S)NM~=${9=gmbj4qQ>&Td!{aAVrk{psQ?F`=K!a+Vj(J+xu3Zq)39JX`zu zPDQftR&Fh64Lf))Lvzj61^Xp5Os0m(u0GwKaiI9CY36^1G@)D7oeE66CZEC=9`M`n z=(Ar@Nn?(Fvdh$v3$j&g>%F#x<bR2}H0R25b`J}=3G0q5;FOtAAzIs@c}M@EqUkxO z3*X)DW(YX(IiBNg-L%`)dTO3_LSU7CG`CT}-T*7!uF`L8tu6dEimyY%@*4HI4u*Nh z@n$((yWEtaAg#-_J%sVCqLjrHCX*N^8^)}|4BQvgC!gTcb($Jk*t2*mm;NP_h(}u% z{k0CdHeKOUAj`B5WseSr&fTl6D15X<;3<p7s!f8TH@NMrO`Le2zUA}JJNB)RVf|Ih zlV_?UJ&IfxXIzqw*tC^VK&Dh{rC`zo6}>?25Gf|6gYhAeo38aOo4}m)G+>jkN0wOU z5{}ghOtV5inJT{#|1)cCz^?_~0gHMHr$isuj>~>y;kV)L1m^^{t>12N$9sn!SLB_@ zu*yZCbwLh)d{Bn|s!fg2qI<>I-mj8T;1x}bHxrIM`*&7wZQJ(z><b?+J815^wv9QH zeTr|HhRAibGf@lXpV+?Tu2`>Q!=l3*G8hj8&+2&WV&Z4GcYR_=?z->;yA?$pGa8lz zXU2A`)^>hb$;I(4vuK}2thQ*?Jg=p1`d2*r%kQ;TY!z2;wFra8cQfG*t`|94mSVqk znNk&AJ1AY-xvqb@OH@l9<C(|)+m;$0T(NaUAGgKzwhd}r#c>bJeDh9!y!G@)@8-S_ z_rJN7PgpKjX7bPP1k=;UnmutXZ4)Y%?Vf*GBBr~PFO0$A*0-%&lpnaCo3=-*wLPo3 zlRu;AV^dAprCW}T5|<Z8G1WM7bQyenq?+NtyX3(sRl%<rehiwNi!60Ru1JYZ+mo6R z*f+V>(_!a9flDikgd1FfHgr8?<GK=<;g>tzEjX%_cS*A7aw~QB1ow1@@V3j3w#~RB zyfDt3b-7-D(~)GxjApK@;Y#bjIfQ0)IybI#(RY~;z}>>=x}+=A<Cd=5)xr~+YZqA9 zyp=2vv}n2694*$D@<7ue)bn}!PRl#*wyDPJ)~f9gb?M_YxpI6~_S>Z=H%WieU1JvV ztmRu<(}i{IAN@*Y%@q4qsuT!We!HAFzw~JCt**bb;}`AKcd_1}vLI0NTJLfTwjG~0 zB|2wqyS!r2z53AXup1mvnXV$g3hYh?<O(qH#78qtZcyAdOZ>&|eg*D?Cms%$>`wY^ zn<ub^cfr4FSt~@|N&kMb_>j#y0n^)Z0*_4&2`WF)-*;=rf_u*EH@izs{q-;N*i@Dq z-+X&kyPmq-v1#RkTjihr3duC`^1a=v^u%_p*R#Fre=b;=!%%%^8`ss#{=2n)s9lhm zt<hrPyQI3HW8K-p%_p~<UtRCP9h!Y<pM8CGaYNkX*5$PmL~OMg&C}UytFsRMdK0?9 z)nv!|Z!DF%x>x1~=sTXezTi?L$2?u*tGvBirJb9uM`v9S(|=vFYn%L;0v%R=&4a(X zIf`bzovv8zAhcIOlh^Z$*0m{*zcSQjtYXam`f=+DKIbgk=E<!M9B<EUYg;gz$ua#B zFYB&1TV0nf+Qz!ndfL?m98ul&p)pzEJtkQ@wZoNie!pSdUd`Uc-7x>Xi>q$MRmPL) zx1F}K&SL$~V4Ah_YW7MVzJfcurbd<IMNM1FdR0#_??so}R%t!X2Z{+-mkYEnTl<26 z>so(rhUS?E+or!-85ncv0o$Z*4+iOC-}N^$79Wypu&!IZmDls}zjp2kI~=Cm)_${7 zd-kf39bq2(x3e(xuhXbf(SM}Da(+X0Y}9Nk#`yTVQ&SYai`-=DR+=!kbN%lwKa=jW zxf#D01){bq=DN2$%xIDJn7Va(sOWDo$0gxQW2zNun={%j{=Km1dcc?SD>sO9x5zl% zQF8j?u_)T3&z5_8X4=%iRZedhI-FkxitYWDVRk*ZrOUi%R^7rsKP!YT<{a3aaj~4G zDBA1iqOCUs0`hOTJyCdmd}Xpg#)9*!rB{{kR@9kl7M^gEWYVc{VAo$A+R!t_`NiLu zHf^sol{~}5+C|3}+6l+-Nek~P_Np_?EQyi$`A>676zh(l1@mr+%o6Nm6I;Z@!(pN? z!Fh4n@e@+L0#OkcxBT;&<{XjJ<$6cti4)Jwd-fap8hQeGqZ%%K*#2O5s%xMN`+AA( z2I>Y%M;AEh)r4(TTv8P6;g%omKDmZ3Agd(%7*}y-<mQrZpDu(oo;aejX<DPiX~%Td zmPJ>WF1Y2ms+Vn5%mP7~txMX?`V*M!wr*Z@LETVbFaM^eCs*!S7HauxqW#_e;%@Z< zznPoN!nPhh_T<M2zhCP!ro?R9D!Jvd=Om_kGI0l^Ud@ns;%;C4JY34ZR?#}_x01Bq z(<t6eQVbK1Xr{2l^OfJQy4n=*ki{ZKf0c3*lSZhi=@m!ut#XX2Ilnh_X7`lLs9QGK zcR35I_*OXv&b8WY>^I!rKD%1z!7ZZKl^gB1YAxgGyfagJTG^YtZkR@y$Hc4h#_+aq zzPbM4_WJwVc8YEmXSF@R?NTUhZfrZjEVEo;l9ZIYh>70c7XitkOcw69>{A@MC(Lnf ztc(`dJ@j|-_N3ckQCIUW9-H_y+l9r6N5e4N`*PM)w#kR|IQFc*u{!*q!zH~Zb`7Ol z*FBlA!|`ZN=-&yY{HvbIh3#Qm>@``+>#yv@LhY32IrpUA32dowebWA6-))OoV%HhE zR-9yPtrFQP5^-B@$3=@<cUs;jw=il?YV@-S&{+Ry2gj#v);DezFlx?Ev5dR^f{!tK zDwFRNDGt`YFmaZmy$a8oQ%_B`5E6W7wD#-*cKH)+moixQZ&$jm#aR0y>Vei)uNQm_ zPqwt&uUf}&#Z=%p|3cSg-C-?aTeId^C{1|KrLpD4szv)2uuWT_!!~t=T4Mpr?By5Y zS|ip5=I4d3(lE_%juOn=bnl43PLAjfnZO%{5vw?2yPa=uby^ektyS%VblEG1Wjoo~ znGSf$7hPS%^PqjvIg^mw0|E?1W&z2ZS1eg$w=TL6@O`DyiD)4P^Vb`+4!gg5Y4UAB zD2wO?K8M*ih4Oyq9w<BZW0$X56Q7Qw*rG$CMfH<&J8WGQvr>+_8~R!=H<7qJQB|sF zbzIZJl`e&A)h<Rc?OWZncOApuB2ir@1|`POtV1`{1vhXQhkD)G8h24<Z5NATNc34P zja91E?AKPE2otpJ=O|!|<}TC_Ij*+9J8SFV2^@U+4Nq>0Zhhf)Tj156uss}Z*A?Yf z9~1AooT$k5*)d#kwd=$_?wS<M8{Au5J7U{z2rhFA5u85lvC&Mvg?p4wR6N<isw%iZ z^K8haSr=N;3uUD^--fPASnAQRcU$Y0;uU^9@x5$|n66Ja@{A=aynkcQ6p6Wq47M~K ziE41r@^{hov@=P%%5iPmjB_&Qm}BM~*B73Uv~0rZ&4N)Mq@FOi6iImHxE)b76J6=2 z)Uow9)72=$ZGSSlSfVb^<(;w9kX=1#f{kj$N;9K?W5u^0XdL%yx}vL_wI^&(cIcts z3Qi1ngA~FRvaOe5n(&l~@uqmxQ}>tC94k0CwK#C4d|R9-6sWoMtm75ut>x3-sOvga zWfw69oH$VCdg@|<AJ>Fjg;JJ?Y>^zX-;76EKE2(`#67vTi#yNv`;8_J?YwiUW)sD1 zYW_1^JKeNK;MpR_%(9~`Eb_?-os7}z-sX7mZMmPzu_Lm;f1=RZSf(8cQ*MXohq}#q z@@UO!(ajS}mrdPnT@?HEZ`iR5J~n+}x7RN!S6TEpW^uTeMR%ue>m=Wee;b-}Uaj1A z@6hB7DeX5;<DIG_R&s>RGjm;9<UQlT%G#K{iz*9sP4=xb&6>8b;*^Y%c{J~whi*>d z6GSr@b41Rscq0?~Z4<NIiV6FlU03-nGbNnseuBDg#_YEnIX>iFH1idDoTuxTyY<-I zQ+%$m;!Mtad#5U{2nk4ty0mn|!mqAJtS@fi-T6RqZP8Ya&2uxe7#9V{Jn>j9o^<!C zzlq+o1M^pX+o2%(+is_9_btxS365b;`0uXUSfam?!E||mul^$e2FvprYQ3Ut>+h}C z=ql?~cM3QCosoNOMNYV4u6M0)e2TQs#iQa%9_1$Wy?j@^%2m%Q$R}h(ot@!!qDuV6 z1*=yF%gnUDnd<2(Tr!D%X=AeWEaR^t)<suWt#emBAnYBmb?H(iU9npQ8Z8GHwqK0` zosO%u<KyBIcGVSJj)mom_lg|Xy|C2BK{qgCZ(xQ?Ej#DJ!n&!7r{wP34coFZ+r6n{ zNmM`g4My|Ua|f^Nue%zwI{d6vv!f%IbL&f{#s$n7dR&Yq3WBK<a%Qg*VO_N}{D!T& z*}8s(Nhd?2wqz`FRNXW6Q2C<nn4N2Nwzq!}Wj(Y&aEXq(xI(+e&8S5OqN1)IeHU1; zn)_10Qr9E5bRD;7GJoB`&%Ax>s^S>8Z873o*DBvyb757ubLl4jrF$2=4qF?Q$;#-$ z$6WDnWuH0sto9Ap)-o|o*Wf##a40xgG4oq?Wp#s4WSvXRjC1$ch2?$qcwQdRKak*a zEGb8|FF);AVAh0{F&cYzOfUEz^(klZgy57d*H@W6U+u^i^^r>_>hs&$sejj<Us4vo zdy(tfj2Cl-E;k+6lDo^!r{?8RxpRz`Y?pYJ#;2Ps(ybR^bn9Ty&18%Ecr5D0&fmIg zc3+OTw4}d#x!D>)@7|Q%O4qyRnno>@_S9LrR(;dNtg8#!mL1!Zy86gbWeeV|4>RI) zV<HdsC^Kjr_+T&lki$z*UwBqe$z0LiP@y&JA8AdEQc$|OijmLSbjh?<VFw*u72c_q ztLDu2ax*-6me+Mf-?`EqLXFY7O?-hTqGmi7C{zCCyGo<#>QVs#-`<nGoX=<8Ki#YB z>(a32%bsJ04@4Kll&PMOew#5}$>~ePD;A4IUF?(J>^vyM879oDobgxegv}HN#g$vc zr!c(?Uix5m_}3@>c_Qvw9lo0ymU>KaRo7m)RgWo`IaMh1CWjo;UbiR9c0~J%30>V) ze8@;7_PF_qz+<UpYmWA1_H2suiMt@uxWtq31UFOT0_lt$3^D6Y-q2>v&-i?UHEgS! zl|z)S_}f6v!*7?CJ>K@Z#Op@*qBy5jjN4Z2wp%wLBYwT->K_dOMRyo3d6&fpg^T$! z6j``hZ;U(mko|_*MO9g^U+YsoY<)I2am!XlG1-QNo=aj`e~Yy$e+db@W1;+Z$<%Kf zn3iTwT6s<8dRYd?r)^KB9=gLWn9DTFRCz+qItJ02R~d^mF0f6gJ}A}B<;q?l6Lw_r zt2=@Pi=JIDYmB<ZaP#To3w#O<tlu=Y?)n|0beknggyY6)#`ZT6|DrXtr+y3fPU_<K zyZHK6a?bXEIl8=#*C$*_x@ozv;IaRz(DSSTZx1b9rIS>Wct*LzlQ}j%%;Vjyy|e2s zmufI{R~DBQ&$_!pM7h9m?IPi*CZ&rDE_!Tb=;n51zM+3t&xwKW`iZiY>$V6oim~fT zyD9YWsvmoBmpl6R>Zn&8T2oEF@kV6{u&noJ&S7cL<c?YIp_s}L&M@s0+v?dFTYsyr zZn5-LjlQsH_Eysab5BN#c$IJTl|LyGwQ^O{f_BdS1*#c7GnB4P`|YxbF+_l6$E#i; zc5{ze<y&1Ac@}BkTI4JJ=!e#YC8aJOOtm_4Z!K!jsFpjfxmMrQYi;NP-MXoT4t-o# zMV($<)&Hd+y6RbHLHx<0rc9ITOr0?;u6@CpOu;$REZ6%^T<cq?WX^4~uA0@6tvgqD zqKfX036n~7{d;!sgxxrncd$WDAcpCd<HDeX8}_Z{H&ZRoGC9pvEHe5K@4DV8NTisl z<&W?VrpsP@9J{;4H|%yi-DJwjCbX5?Nvu00YWAUW&BIey>1<u#mt?q>!*$Q=b936J zC~bb2;ihFJyKjk=+0;j>9KB&HukG|pbTgWD;U&|Pc9#!(GH!=X+UA#cIy$cLOQY-Q zORGa>U15kaSudqD`Ic8kLDU3?B@V7@_Xb{A$F%J_$HoO#=4>x6#7h)=Tk>Abx-J!U zY1!SVD}h;8*|@JwTXt*4t>{Z7(`J2-ezm$Y+VhNGev;*Hg_z*LD~boQ=NEchS77u@ z)eY~s(KmV4>JW+9@`|hKq`nKyd$i5myU_9E3d<<bth0+UMQpb)-)LCDn&+=EY0a{U zK9!mMQ+U~{)!*EI!V#^k$glrkwsrB=Sz9Co#2R8QJy?J5Y<c>m`K4R+pGd#kU6^>( z<Yu;~0_zHms@>5+pA`P-C&e^J*Dy#t=jsznd1B@CT=7s=rd~*U{@u%S-f!-3Jb8Xe zO#W%-6I{jDj`DFR2xr}Snz*{?iMWZ>anrL)>^sA}7Ky*TtsWh&=OVOjBI`Mk4#&`5 z*4Hi{I-VX_oOS2nufIaq7JhSJ=+bC%f59boVeev(rsH*I+k~Rl{mxnQ`snYdk1O1^ zsa;#U*J=F*#(=0>igE!m^O&p_TyS<|*s|(*@K*g*UvGVLxpiyu-n*v9-<RywZDg9x z+BS<p+_iqq1jndJy+XcIzj4fRST4t?TbxrSqtso&a%t;+vwa66R(!o9)^P3J!|W8U ztbB#6Sy2&Df=>ff{xe8xo$fGu^r>?R$11ljlUWW5uezh2RI0{mmo_;!_nI}^t#z}G zvx=JHE}m<$Gvv|!?wnU*yA~fxxDvYlr-`c)-}c+LR3=r1Wi@4J2hBO;@$JRg>ngXT z8sAE-m*8AmwxuIAY?FzWR>RxhN)tpH9DnueDm(~(?ee3yqU&Qz#QsjZmn?2a_zo!D zE76X#$y*z$?;X5h>(Y7Qw<d%ia9FmZId+ZqCK<640?`|M3ztn|G;93L=dtnD?HgJP z&n<kgdWrm3z9sRSWETI~_G_}o9<iJI9bSbmKA+_>+eUlc6^+)nxkqno>fh8D!uaTr zi2p~&1zjOsCZel<vj^;c<KPmW^=wYJMZu#LVoe=-&MmA9xH1$iSag{J6fKv%QQO}Y zHRbr_+q%mvjW=Za%1m3N$?}@>MAT{#2i_-LCi~8XJpJZ0XU43VCmEJotX#6xx_NTv zwqwuLlcPQsG3U21^=SNCFx&Ubb%7mmM$WT6_nljK_6y^xLf@}pTm6<TVx7?Oc1299 z_pK|dwk~HgaPQIQx8qiv(jC|_^^uv9W9P+7i&k!X>$N0;v!v##e$tL>jeA!tH{EiL z)nU<vP^HTo#I|gE>9I94<A~G8i@b~s3>w=m<SuJ;F?v$Ku~%Gsk%h~xf1VHC$T;3R z$aEs=L&n-nt6TlHy*I?xXmJ=_)nj6wHsyWdtGCr}J_Kg2+PvOsQip@~;~xuhnGeT> z6e&D*Q4rv8yH%2~P=c#>*TFMuQ+_MII~?_VXJqt;;{wdx)42nqT3;4ixwhlD)2ay% zb6wA|#;P|-|B6}lbYWcg$%UK3x9-@e=;o&@9(C_GU-+9_nW~H#Sx;lcS)McGTK<}T zBJ<qC`vqM4baQmn{xc|MRR5ZK=(qmGjHp$cT?9;d6-~D}*Ep+{+a7<_c4VPv!&dWq zSGNCpqhl$qzVF(RMGx0cYMgL$BD>}4bkVX#mvzD2a~|x_Jg2d9>j9PvTemZG-Pq>! zwC=q6r6pX2ej=H24BVj(>Rf)Qx|O;cJy?A8{k8`%?eGopnmi?jtN3QV&JwSG+EcyO zhOSbu&d%okU2*HWNqF(w+Nqb8wH{*8+8Q?N_|B{~S}s9yKMJm$xLSW9=5j+usn(ME zzAYV3s=g)bavp1X%9z14M>=ZD_Nm@;qqCFRxtnsCGw<xs-on9k!msE{PHW17+(3<4 zE?v=5n?(5~)}7gv`QU=1U6;<r_1C+^WY5;^j^z3lH(~3FOoo8$n5`N9UHu<pbiKnD zpY)Rt7VFsfuB>4h??k>#v#X~#7ZzQLxi0YH^1cVtvvlRWcRHA?&EyOGS|-jKs&Fsr zRzZgLF%zDL(T)GSR$lcy6S7t0#k_7No!?m++s-dw412<;H94~{lh<Ka<MW%kE&^Ls zDkjg!kMmgK5x>|)H=H#yJIZ~tqxvP5m+M7D<&G4-6lc0uUBw#UbjoVkJm;O80;=|v z|LQ6#_F53!D)^@MY`61Ig9+PW)~<OoM>A5R+jrT5?`x0dAG@|zT>m=vEnUTUh6&Br zw}xG4Pt0{)c3i9LVbOjM>8Pd^Wm^v^vVL3Yu-5nW(Vz!<97~+8H(c5)c!)v4ve;=~ zxc0Ym3^uV`B2vP7v!eDi8Xh$1vYFK2$HDDnx{^D@>8fdmfv&}+3HgjGw}~X$F5qce zHqrZ=Ps5uNfxo72pFSZt*X2-nM}zVNeZjzEG4-NXlB#`0o{95wuSve0bZm+8Rf(e~ z&IZ&fd=OaV9k|ptM0f_rg8h!IY!`UAy+YkqOt~=Y>Lc-ou2c3nCkqv4W@mn!)UYV; z;F1r=nI+YoW?f#{A&|(iwd1DMf(!HRhKeg)>aM()<#cuB0+V^+pJKunJwDy_iRI_M zeXgkias3N8cZc6vo0+TQ+F{%)Hl;gLY>}qv;w(P4>t<40H?Cq>`0g!3)6$i$ZC@7s zSSxXD+Ex{@Ru{eONwo|9h7_@!T&#P8ZJXP&3BeA!3pZr$^_ozqw~jwCa}~eM{lt>v zEXOZpH*ILwxTGTNy0?2}q|35N!Tl^PfvjSa)~Cn_YV5ebB-TCk6rW=3>Lr@Bj>WTP zW!@G!zHCB3*@4r?o<?nXy(?EaY75KLvU{Prp&w#h6uzFyR6Q!KKHIM2#$nkRGn6HT z_qnE;a4TAHB`99?PG^r*R_@B4P?4#hsaGWwc$eAht;t7^Pi?18eOnv5c5!0i#vSZM ze5Z>9%gt|h|1P_-*Fx!T6r<bjYKFz$-*yxzPul6AYx!V;_yWhMMPj#<Uhz#j_oZge zPgkZ(YnRU7B=96F{A!Tg@vHHA3jChSUvFI(`2Bd&rIl>Ux_!mAW!fx$Kji|)w>67m zo}Mu4R}OZc5+&oX*zK03a+h@IDiaL>sjvlV?E<>8Tnle(5p-bu783AJVfE$=t_;)L z({%$D?AWVQ?Q%5X(zDsGw#o>Yu5!7>x<by8a~-dWQ2A7*t>Q0!i8O3s)p{PS!ld21 zGIsS6UhPbtP5TZ;i8MM*UKwD!chPOv7Nx7JS2b<Z3oTBu+0v4uztQhs-ovV}&=%R- zx7e(#vtL}Y537<ho8r1aGduR*(EyH(V%-YsL`@e&M73)zT(m%t?W-!=2aN@}rcb!H z)MjyHJPw<>biHut0@2zs4ZU!4ucoDM+U9z27)@Iu*7nYw`PDs9MenA!T{raaFMJvF zt%-Agh>TOF%GMW_+iRxtW{Pc(%`KW$DV<xj?b;vRYiHxGGHC3TbyAF6yK-^sMvX;M z0r`23ZytYT->4`Z^28!q)H}Fr_Sfi$FJ;eqFLzwc%;?LyzI3}Hb5^4iQ-@>F72Uw3 zt3`XiEoi#Qn4$Jtq}4P)agIP{j=<EjzEfU5<<p&X>n39~Z*#yy6O&079DB27+>T;h z^sz-kI5NYOtyOX9WLu>VPo;A<X~*gMY&7XiO5J7Ptxy?w=)<A}%?UaCWteWP<Y+q4 z-6*=^A;%%ji&KT!mM&QC7PTxn&Scq(GTx%CF|P#Dtv*D}m6y^BaGC0Q+My>qpjG68 zIOh@VCp*+lD}L(wC+J-b2=|Vikfp;KRozvt9l9dsKA)4>aucNktBw|?=;<tSy1}Hg zyvVCa*C9%IR(!Tuz?H>^t}J4RU#(aW*6r-Nr|qWULZJ_)61f%Oebd{nce_Z5bu{~C z39>E~xO(UzTbIt($JrshafWHqa-u)ZDL7;wx@~Z~MAz5%xBjNgs_YJ(iKnxD8MX&4 z$p|()74}(KY952y1y**2=W14yIa$|lk!hX!`&(1_b}m1&=mU4fWi#HybUv|A__|9! z(^@HX*UHngHv~AHx?|Gq`@raZYR%3={d+rdZ+n`by0Jq(p<t`;zT<88S#yHp0?e9s zZmszg&cVl0_99V`XXjm|o7Z1Rg@3);T9v)(r^^D@&Kz-(?^AcWoib}uD6>y>VJzdi zp>8#IzjTz5NQ~DF))e`Sxf2T%b_6QzjJbP@kEQL>70ZgZSu!iMTvxq(!=WUQ#rwp3 zqqLID){Sq)+hxDze(;QXwYQ5;)cw12o|iO>Q&BnJzWcj1y6t`knJ{oQUAQUII(5C& zf(zn|jK`MUx%9+?J8jB)#}zD5OlA(5+?UpAX1lb0(_0!-?7GmTA+uhkBIf$OYu#H} zZ?CP8JGWwr*>Y|ftt}iZ-KI|4GNa`VUyxe1X$IqRwwy=VZ+&fk`NmD>dK<*65v6pU z!*F4d49B*4p*bC5PX8GuR^1E>ShV)l@4PFV4ozhb3YeXzGiK**oATK6Ky0Mki)A-L z4=^<BWNC5YT;3<}y<}UGURdMSlFW>)S4~%YF}5taqRG&{yuc!hcT<MNMUxD^Qn$5d zqgE|l+i)v>*?$JHz_<oq5$?KmTup}Sxk_BKH!NDQK11n1M@YMN=;L*Vr+#yulKezU zsp;=k?%bOilbk)cE{L_>?aI`!YA9q7T0iL%Z`Ze#0cvwMOL=D~HFvR!8)v&reNvj6 zbp2Yl)1|%zvSCXD_hkn9J<ak6+p%#IOT(q>YInD{=4yvcab3Ufj$#6fMGULQrekxm zwl4MB!DsGT?I5~Rg+;jOf{5hF%#iS<zj9YQbY(7)(_CjFdpI^b&rGxJvKLG2wi*8! zHq^arnR+OD+Mk?&0;g%)n$|tIbt8CZWcyqhABp8@&YoYEnaz}+cvy7H4F@MFClRHq z2NbS8-e^)Sc0_E2+2tAgyY|KCdY<ly5nCJHE9iFWThp}*4~5TdTQzaR_9Zthg;*YE zH<YmopF5r9es{KNwQK8%Bi#W^FIXN$HLsZ-pP#`n>)4Jq(~O3=gWo#irs`>YGkFp= ztu)i5*=u3RRyPyYwPAgm?m6d5{NUAy<>HPwrIRaSp(uKaH>!1Y&Zgd?=nRwF8cMDL z<{uZ_tH@Fm%zQL;!j6y&50~w+v@!^5<P&Q&2@;!iVb;BnoSRO^7TuG(v@}&y@=VWS zm9(C;!(n@-t@ho`r|0vlU7*o%PecFS-0aNbO;2ufyb?ZDsb_b=q|@<m!fQv~+$D`~ zSni4LWqS2xZDh3QPVUs*)AwCJX|^(6x18$@S4`A~>guR&*6*ni&XXD+HtgJ(ymeJ& z#*SOMPkTc&t`-D7oi|bKPUY6Dmswj2Lsr&b<@(aO$cr^M^-_f1#@!RwW?fV*c)Cgd z*K~p0NS109*4ndb1x$a%a#kHG*do<YS{0wd86UJ#@N8H0iv08MZ#!;zJ5g*!<D%rs zyjw*(w-xLa@;iLD<<ip^VW+3WFeRT13sBIrE@<cAa$3RdC~mU*MPP!0=$~*itu^14 z-$=e=x^?ZMa}}%t-2$Aqc3i)*N_)zqsGXrnJC{^C{B1j@cH*B$Y<70ukp{m7+irBv z360?8+IOJ#MMSQ`<>=^@*`C*gXI*I6BAq?;Y?X6sMqll!_;BX0E)D+~GPvT`Z?#+? z^@J&^cKu~v1y1Io?ycEt6k-CZw`N}`*s#{}z;r%tr`2U!wrbqsP`k+c<^4()i%S>c zd$&H;b)2@tSL|<0M_5g-BKsbNcQ(`dKbglT&3(J&k;nB!zu$UX%&!++nDjtqf0<+M zecM&nxBmXp?8JEB^`-@@o4B~9YJ~|hEIQVAf3sI(+;8Ty>r7Xv&YAJ1XbZ=OtqR2s zQyfFKif>)uXwCKZWvqVgC#Jt$x27FgZn^EU`#)EfD47_hZ;!5?aG#)?dtiyz77pH< zIiVBQU1iO+UBi&QU9oQKvwwe9sphRUjacn;XrGgUT36WG*afegrgE>gS{1c6lkI~; z=A}l4vg>cIt=b-_HGwtIt>JIo>{FS(93s97jv=$IZd-k#WvRQa+7q+=iYs?2bUb~0 zLa^N0((UV$rO&ueZ@hJ(sQBWP+s_m|btdiO$r9XnKz_y4qc-mndf3dg89O(wWsp+1 z=b*~AykSM_!5A&hujMDJioUfZOy?Dy;=100&s9l)HH%3vI!fb)L-)S&I2UiPTi4EO zPrluHJpbw~&1;SiqqC+Ky}QPxF)=(NJSns8r0K?Jk^c-EmPB=nE$P*)xVBJiZKl}N z6-qmJp04HCWRjdct(WtRqS&HL@r$=-ZwW1M*IQD{c=Y1mBGI)kBNi+AR>n+WS|s>T zh{<NlMZeIM?l&E7DNjy$l~bJ^-osGa7g8g(Du`7<)#J!F=}GoGQ`_Bc>pc9=5K_D0 z(<SXHI~N(<?cwKT_cs-)vT(XSI<I-%IrVq>{@WfLyRJq(t#(j!HT#{FBeX+nPE=+5 z<~KVOQzKX`m)!dMNw7%n$Hr4ngmU9K?$&zQwJJO<k={K`#Wy=`R)<-~680+soRyn? zyFSdB^Tdl!;Z27szsEcVm*oYX+itvhpR(w4>dB)y4kB?L?pLEWY-2t6j_um1%WI<> z7709Mo5eI$%jAM1FQe%~F++jUvLzD)6-^d6gr2>guJ3(IG23Bl0LSLJQhU{-Co-(f ztXn_%6zf*kpnX2Q%cas^zX@gVZo1Vv<#N7W-Zp_HjvTuudx*7!1|{q`9Ik32TK3@b z`gcvgOf7DG>pN(}yQ65e<DxF9tF!D+96y=q)?~(cMO%^i>>|Hg-KETBt0p|O_%!=Q zm)0%GgvA-n_giDOHL-}8X|y^9eQStc|0IStFpIIEnMu5iJwN*=Z|)N5>)Tdz$8R{` znRTgGNoIe-f(K7CEW~!`JIxa7i;}()?RIJ<+uCr2*(w6z3#786Lh`zpCVpSLHf-67 zslOGpIjR<{JXqzR8+dhf6~olGTp_)SQ(pD2t3TLufOBC)$o@%7BAj$@hIOp<dK_*% z>6}a19`C8E6e4VXyF^Dh*e|%SZ+GZ=fvSt4QZA--XQ!Ub=#AbT5g#Sfy3y$*<3hQx zE6vwgBOG=pzndeve%01P4_3!S-MHa+sC()pGx0zD3!dmKV7mQw>uTqq9kx4M0$G&b zh^95LMr5%pc(AXlwM}&M)RtQu7abR^T^;QbrC?dmvDBegVB3Uynps>0W?DNGwq49x zr*(A-uiCB)OJthoG<S+;`#IYk&1sp|{L+1bQ<``787`sLr;E~9IfGNT$h)7+*f)9J zGJBth*e&(}_d?cj9+)gsv;DGmpywO~Mpw&)vAUDb>({bb+^Ez}RoS)m@~1a_e6AKL z47060RM)v45VwqsX5F~@(VL>+wFNufnmt|Rm^Q6h9j$vx-_3QubQj-EP9{C~DbHG> z7)#e@ow8Xw?bx?ykxNhiGk8zx|HK+E)n2yRYHh`}X>+o_8eY`lFkvqW*S?^)Y?2N) z%hb1_Yb%*f6zOq@#AfW!)0n!!uX0h?>#S&jy=qglQ$#<xtE}I2(`MlfZ3p!tcJ+{h zD-)wy*l+eGrMA6IJiFzC@GOyub7LhmHmGlEe#CLCC+T#?e+B_wEuSy8b+0Zi`S$7A za;8R&PyU}4?2w(u8TB#5opa4i!zm9p@fIy=4(yrmY|-il4*i>}F6f1>`XZ|Q>S~Lo z6hl$n_Fv*IpAW{bb5y$e_p<42c^PJ#h25zo4M8Gt*-7s29<v^0`@pbH^wT@h!b4g= zHn=v_Pc+*Wwyu9`)@6&#-@3B|v@h7FE?fO(hx3gBhg+G?FYR;I6-+VZ%32)mcrN~E z(VW1g*>V2d1=l}yaIB4*W4W;ER&m&}sZvbW-^~$T@4~U{)!xNl!-Adu?v9Pg?aNzr z+V|F?t<U51CW_q-$)D8d__|Iv*E!qqj(GI8ttFLw4}(k^G7C4&x$SSQ=ao10Ec5YC z8QKZKljm;U@4^~3%Ts1uU~!j*iHOvrt*YU=TNBpB+$()*o%&LA^K`9KOS4-~G3_p5 z?YqX^t|8^axccT5v9|7S+HZ1ra|7On-L0&4JGeiH^{TqrRMr?amWZueE(nONYS@|~ zdVu+|!=;thQK}31%e~$Najgth=MH;hq22pKg*!g`p-EJ+bN`YDTvyMfZCQEX&4ZOo zv$mK;dmhNDj4rwtu+^1e<<X!e_LFzSs7;QkIGg)b;VxT)sfoMkxhWs+m6q0ZXlzk9 z5a%W8x_0rwe=Y_4U;UI%I<8k8y5O?oLd$90z9JUtZ~QqF-bw8bYfoF`duxMWf#aV_ zS;vFbr4iPb!<TNij?zvDWSG>dwb(T>JUiP)G-Hcp@%>p}7#HxazRAwMtjpn(>9W6W zM;cSP9Yd$^>UlBpKmL8YcjrFK{Wmn2#5XZ;^woZQpmaMl`^GLu>-$^1Uh)b4R%%x$ zXx9iTG~25yuB&>4QFq#@J$u-183}Q(`Pm(CLZ$MJSwOgm)Z*;0Q<|LFKb@?jK1l^j zWGKuE{kX%gcCw;hy-L&FpP#u)maV(ed9J`Dz@+&UzvJC64APA2WcNRteA{dC-thcY zDhkzd=QPi`)*W=b*2%n~Tso?Jaqio#lb$#(vRr5C+8>(H<$l%l^px9NE7^;)8+4_@ zS8)_=bzLgu8WEbdHhYz#n4b71OSuVgS1;X-Qt$W93O}hmTcvdq*VS7xv)wMbrz>Wy z`SmtrYy8pZF21+fDc3)o3TzOYvU8=Q=8F%VoNxU5E-!v^-1FjvYT=uH#bHYn7-ST_ zi=1BlWc#GhR@LbK+f&_|odjEw7%jVxd#>e?Gj_0G>vC)~GT5RL;KJ0g*rSD$qsw*I z`h=V28AYukWidJY*-NzkGbCQgxt)2q`|sqG^_flA>`Z%lW@XepJEbCSJ>iwBQ1@29 zO7&Y$g-=eD^3`r=Ulg_fdF!ulDqK^wx0ZEg$*1sNk&AJ3n3Y*PQIX-eP;QmmRVir} z)@APmIGb)snATq0<iE-HP2&^c8yDZ?9{A)TRU{DRxYff{zGiXh+O=WpwC1Kr$^B>W zXxiq#X%=gn0_#OT`Eo89)}`xz@Gf4p%CXilEMsE&?cV7TPNzFJL|r{mP#xOB$(^u9 z+x65bzRVE8{ZhXctz7H0YWh`%z7|>Tm5fen<MZ$9D$Fj>ezl`I|8;C5cp8vhYC`)B z#W$atzFmrPc36Ks;R(Nj*_(-*e(S}o<bQJI{Ynik_Ezt>?4~WH6TRD-^AeJsu0(P> ziJQCK-j#RIY;xY${|pfs+;6zotgYlz6fNmz-1UaRwv$iQYC_gRSM!#r*@qN^uF8k5 z;@Rq)t+~A>;!4ATrz?s+-r_ZX{F_aSk!_){r;eiKf<;F|W`%1goXcpDx%8@vIqYh$ zQ$|=|_UeY7T)+NaUc0x;-$-#TyT8=8NZTpUFH!JSu(RXeT?Y&NIBtZ6My+Ffw$eJw zzC7yA?YuWZTeENIsoc!k7xCZ%x0gsD&l}F7MZ(*{u4pLb+;G4Cf=^@hBF<>hjl5eA z#2qket|(-z?P87Our-+?n<1LW6i{^Qf+F+Tb)l;t?bP9z?65l1ed<?^?X#XN{u+9c z^FPDssUE+6U3gL*GjXkM{>FS=_B<~UvAc8qqZZ7UWHE0(z_)N?SZIMvpb7KYx0#y) zQ)aiV-O4<jJ;-DRsD&8Gz;|!j$;+?inl3i*o3Zk_b)EOcnWmp2Dx;@-k5W+*d>X{7 z9ezVax9eukcFz7MyBl4r{qtFu-4WdVM8WKBYJSE%?zO_VzpR?Nj%#Ci($$vgs8uYV zPuM3k-dthY?Gn|nbY%z=d+!dh^?jUAnH(Kozgl;-NXKmAE<ceqLJvJIIFv2$lo3s3 z5;S>SX8AVbw}Zk8Q4fK26V&G3_`ttOKqfeNrJV533>EG047H0sKHD0;#Ld?`<#>A5 zm1m0%=OxvY%sKMot;FTU9LEH^Zatg2+UrYm*Qdhmtml}1lwH}e_>k!ax9NIOtSdI% zW(Zn*!)RJpYv7G-C!Y$fZ<kWLz`+pKeLY*uA*Llqx9ir#Qtd4d0*XXhCozXLC|uLY zsqJ&wW%@~cLPqZKE4mFq77Q`_Cn&#)d9H4{(BhKD--%nlUy*Y8yzj&gh2S-7cWjJ1 zZu(1Yf{EVr8|yq7!e3udY2f<OzgK3fSyTXr!A{dT0SjJbYJ6(H(dW)F%VG7CU%TI? zvUMql#spo6$iLAbvx3#pWL<EV=8>yW-<mUK+}d~GcWCz8r0FkA*Elll*qv!3oWjJP z+rf6|**v+{RhbT1>$-jQv;Q+ZtLx{wn?7}`?#m^Y*RBw;Tl8<quJ?g8?dI7mO3nKo ze7cl*ZRUwZ4}xcBbZJN{?D}_d>B1v9;xGO)XkE?f_AJWo%y>|*y4p!^sq^*?uZw=Q z9?}=%%3dQbF7&~pNc;Bj8%_BI%@b6%ot_+!z4i8_%>B`YdSTqFF7PTeI&NvHUT{uU zlvgxp{aUS?K{i?svm6vp9=f)tNU(TL>jG2ft5Hw16p9+I{OeykRjq}2s{RcYJ?8*Z zg(8-3oKvnI4k+NhJ?p#a!m}D#!M8e;H!eN9?R{K*(wzq9cW<Q=yRRp^@;f)KD2|mD z%;0>xb$OO=g4WvXqea)&iz;1-PGJ&c>)pzn`)#Z2-u0eav%l$`Zg|7ncwhn7x60jm zF>0T-FW@XP*>}ZjgW$vL*ll8#j)x9y3iy7|sq4#{wG+w}Pv>vD&ETb=6|&Xg)q_fw zWs?N{#a*af`!Y}L)uAodFMZl|Q$f3_oufN$a%g0T)>^T@Tihn*CkbwS(UQsbK}u_F zmN>^0ndd@Id=5>sZu@@u7b;!(hL>MiyD02hcki(a!V<IPUa48AE!&==xI`i_`%q5j zdfy_w=s^BW&sV03|CG;ESA10Mdhq1eI!|H$YcIuh4@T=wpFB}HK&*me+qKn!Q9H9w zWtv?I`__L`bm5{yftmYm>jkW>Rn9tHE$DGQPjKmh5J8bHt@GJo0$PXka+_~l`aA7& z%!I91iyrA+RJ)OLbN$aP*A=}lU7xUGk)`gF)|kT3>}jiR3Z`s3&wXK6e5iM~$V%3i zd<RWgLPetHp8DJ9^+GoL=99&Lc5ZmoxaD$|n8nVuZ+?3B-FefyTGgVZR_s=BV9)X` z@jWd+?lf4vOg?zLKjc`ghia(6m4}NS=ByMvsF)-6Zo!wwSr?Vs77A|6@GZZzCaZUY zsEhLZ1`pM0-7DL}E;_pl%=OqdA!<R6kPP!lR;Kk6-%ns#5MuFd`812DpWYKSV)>ls zFjZfk=a8?v^q0uvgHh_-dQZho^e@`vFtYb{iV2jf%6jQ>XStVpO>TVq+hpsK*Xshd zhRwR*;mfh*#f=lX3uK-?F@NH6OZ{)P_@w8S!YiJ=?p77j*%9zHd)D93dE)OTKKSi6 z@rxOI!qc|}VM_zqCW`gnv~G=&yPn-*+n;ubZ{el~jav&mTzD(AcAA$7{1!a<#o^IP z>z0bJz)I$(vu{j3`Cs^bXHRX{)<2v!Z}#U|Z9V5O>u*zjS$po;f{fK$--<`N9mo#7 z{-Y>#$F!*5;<91OS{XBndbJkSx0WrweT&!Zg8uiT|9acy9WH)hsA4>r^Pv4>b}Q4i zn{t8mtVd55wH+*S=Wb23`px)FB%EvKqSXz|0X<V(t>$#+h_x$A8HyxouwU<<wxM-p z)GFSXRX3MU{kBg~W%)e&n){}|-&~t|cIpWi%NNyAlMWxsN|4=O-PEq_HYGCIoki-2 zvTt^F1B0I8(m>9|^VeQ*Y-C(r8uEm}kJs-~N7TZ1mmT87CqCvd4O-O8>MHUee9I+4 z^{uS2UANz+EPj(C=x{@(@pR+k*3uhU0(+e&$GevYhi#dC^6BbJzXda9In3Ug^)-5m zI9G%CiGmG*g^tHgu<Q_tdc7~ZNqmX0*}{{512<G~{p4H3#dhxGdJXG7u8*zj8MkCs zhwSi6h?@F1_qvtT(sf50`2@5tDO}jD^<-<1@*7+88z$?fy=A?`z<*P0%Oc*!#4YVy z6GUb_k@sAp;NZJpEtA*+-OB6^#iNy+u20!Ns~noIZsdKU@OoBUkg)H9E6%f8x@#w7 zXie+m+^8>f;ljg6*DKA9ei~~7vSgH2UDfl_F?+V$K<U6%#j5xahV{4pehOuME3hJx zJ4jryIz&*cYn?yWiVr(n8gdUtI3A5qy7;Z*@q}$!xB7Lhw6?yu+Py?3J3IgNt#2#k zJQEjfHD9kaQMNz(w?e~G?@Njd?pY7GVw$cVS`e63%v7K;N%Urwje?YiSV*GDrJh}_ zY%`fQx)|u+=l-d`Nw;WeSa<NuV@oTp_pD`zQaUi_Xjn&7-_daU5AL@oxa700iJNY^ zig&A{e4@$h3^VbMp;_JDYv#J{own7NRX#8J)3eVpuUD<oQ?U5tB<8v5+x}3;J&muW zls@b99Pjgt`Ci*~C7@Pb)5)oOrI4A3X!qTv;sWmKN#PR@+;Cex_4gOwSIs-N#5{6d z8@2V#{IvJ;4*&Sn=$G5p7-w$Cc7sPdE>d>cu`3Ubu~*+%;NAPV#4K!Wz2d2>M|mgD z%-Ggj9O8TJep2P8y}B>{&G9k|EL>FPa?9j_BlpE`58wUBc<^E0$wgOhEfD|ni*38e z-fb6be#a~h-JmgTdF}L@(Sf&<b~@aSUA1@mjRiNkHarYj)sU-JWLfwxJN4Jb^4r;k zO7CYcO)Uyot8=k*+SC*FpRPQJn)Pty)<Yuerr$J9TKT|abu?4u!dHzkW&asgF$V4` z{Uy>6b0Jqtwdi{PW4G4zSCurGR@}9`u%(Il2W#%}*Xaz`rPzDd&TBP2vGC>f<kqZ1 ze?NN2Id1(e!l|9k#1YoXnpIk`b@}xp8OKZvnPNrTjps`l3f%Qu#~OHbbu`mf-lZF2 zM7{l(!<GhV{a9{!=;YHVmYdqIp1!CTx$K^CU5wdDVSxa5cwGDT-YXI@HF`xKKd)W3 zd9tX|kr$WO%3Whx<#0j7z0-23iD-=FqAjj1`l7lOi!MYttSWpMw9X?WRIl3n&8$w_ z)u|bmRyl|s+WLEw_!j8|7O4l>(|%o>u;Ep>$Gm`tCKsO;CrUdggf4izS%uN$<FBih zs{>s`Y`a_(1j1Suyi&ZfEj)4E((Sqvu02k8nACMe(PMjyYj19LhVk4=UPZxG>$ftr z%QnOa|I)oF*1Bp*h3nHI(a(Mi7Rzju*RnO;3wZFKLFD=}yUTI{6;6IpmA4KQsh#4# zB3=|H{M4^_N}IdTZHEHqE*_17=#*(5^SNJ1%*{QbYA(}mE_U#!6PKFFw;<gu5nENo zX8q3nooTz$yzzwlPob_-foC6Gv#bSgPkr-m8~6RJrN5WPT)H+@i({*G%RA}prq%PD zo=T~=W>`iCx~}Nv`xY9Ix%G)cZo<Tb8+@i)*LLy8{TBVjbT(>r$edG|`6{Bn7T%iR zFiA5rt1;9gz<I;ds0C}Q)!(cPU7It(>H6EXs{(%|=bDIo52{&r`&8J;mId#)*EBWR z?hN57cG7WOn31y~dZy<a)?)^KTe^Mc@d`Y;8nQA-Y^S4uVD93w=<Lvydb}E<FR%6A zv=G?gDCa6tww)z2K1-`R@M*-om8>uHJpVJSo$SCYCGNE?N6^=LUQUka))jk?Mii<t zZ`>kiWwLWY)YEvm^BUjuvhr1SP0)P8;<bg#{?zg8Cwh*H0=OnDkv@=gxos<(nnCW$ zAX}jexn|w_t3UOvkq`9_{mMP{kQ7VC0`_c?=e2X+?OQ6k?O@$r{fr>q$FHtiya`p< z;rCF^os}`IN$a5NxtR5<Ht>GVDB5?bE93D`CATXpi)Lm1`EIgv@9fnpwtO;O@Zgz# z0=M)1E#b0jV`ZB?Cl;*DX+D%8S|+fC>szDWzwizFECL%C9hb(PcGqHI%!oA6e<i4( zkh`GZmh-ghS&t{IxPC=}?|94IsZok`cXySYo_DlJw3m5pPShn6r-_OtA1*QJ{bpe( zj&VMB#N?t&*UhNgZ#*+MTuzvM^_;arz=NpWj;B+zo93=`729@#Rg5?4I_u+`5-Tf? zR$NGzx^%tCoc*rllJ@I=CiGtrYnUa+)|wTzIy62pWp|qX-H3a=vv$QV_;O3DZApQJ zjrsPa4ihXCvsb%c+1I7}aO1^d>CKBCA7RQCE!-TlK6Oj^V~$O8qB7d1hIzB?Dp2-M zx;7y*OV@FsWyhj(v64j(7BGfLtz?_6XcJ|(ckQ%;Cqxg}Z+ubI%6e98VWP#Q?A|I7 z$MqX}SC~x*Yt_H2^yrhN-*0^v>qhT9=2>g^?p^4yI%I#++r2A;mS%_?YF?R_;e9%F z%k@RB;fmX81w$RPwk&-dHEE0M5`o#iT(@sjhj2bl=kw5N40*!bm7&VkdWvD{T0Mtd zftIGHOJu@lOi|PDJTN`*sZ((DC8L)341wUqn{H?tiRJz{8{fOhBGtXeDMvy6IIFQ_ zBLlMoUsRCDylXpcS9xFeyUh~Qs&t`QQ|#j+#!v-8&O?`*t|(o3;5<?0>f#p-)pFN8 zc2;X0TJ3(5F<_O8(xL9kg6ED^O1fg}f8Efl&T-;1ujbzJ#C6psX%DxK-xr<UZHv2* z`NnZ`hIx~2wbiA?DM8npu0(`tg=`IJSa;>#Q7(s7ih}2tJUz6;T~(|#rtOkxZekJd zQb{xU#BW!X4+%$oVq2)%d(eFX?>g~`LY#5C1w58|w60a(vgk@wAfs4oSjWRars;~T zYq$MdJlXrgKaZx1+jG|ld2JHCWPZElb(qtl{w=KRqGxUA2yR;H)uF()Dl{W6#9+F` zkHSbZ&$$PGEt|Zdz~#d>#&xCZxUx1~s5^3^)Mnvf4h@#TEs~jUGxQ$jXcvT?y0GeQ zP9w{`)87xqT+p7d@<ey3=t;)5MIAT#ru1cG&v{zbskJ6YYTM>F4J)>62x6MPyhwoQ zAg_7t-u{H&d;8x^sR(oWe(U60SGG$VcBluIG_vL%cAm(>c)rZyK6kr9j=&R9Q_Ee7 zFPhv{g|<C-)2`gqoh!Zc)FJ_<+pFx{m`mP2J!-nA;jY&{PR1NAxt%V(E2bB$pS6Xd zXoGCYn)Ry~w4xb$*||BC%w3nQ6g_Co<RqPS*XeKYgw@KEN?j~FqO!xaCp=Bedb%=d zc|hL;sr8#D=d9vrSG#mIT)Ej{k!9RfsV9xDf-9dWSuSYWWuq5%P>4bPh=IhZE#~nH zD(@&fXk>|9@G$X;*`t>RQ{=AbHO~ro!o}8htmAUJonZ<?)G?FSU#bHay>bv+#me?= zUCFa+P3^kZj(4XnXEJ%QEza6?-G)OPJqr%4H058#uj}|$L(W!D`|DdinaZ#o>qM0^ zSXXd$DX=b;+Hx(3;et!?TBYkuQJQO`x(rz#aUbC-Nv!Cw3Mz11HEo5vchJfV&qvLk zdTpm?x^=h~$A8M?4huWWxzzMZRK-<+txH3;KJPoQYwo*K3}p*=r@oAOw3Dl8b^L~> zdnY($E|EXr($ubT^_%$Zkf?x6haC!`lLR)*3Yc&?uDR*k$|7;@Aik!pQAICyd~8_J z!t`i=-Gr#+W><qt{W7?JDwr^IFWBm2;;0?l*L3Sbl+(ttZE>MbR4Zkx)%MD}->z`l zeeBt7O%v0Kqd#u-lr%Fjb$4a&<oHm=`EJvbCl5qLW9IujWD=L%J3p)G@09P#Z|`+z z?G`+%bR{~Y<=Llax31jlZm@R^h++P%)ueP)H#V-HW2@Mz8yRo2CT3o#zOpWSb4Ei~ z-rnv&uBIzFmvm1AINoaVyCN#IV}I7vq8Ntqg|3Aqt)a{}xA89WmF8HR%f{+?M>p3~ zYSE?jO{*@Lz2g2RHS0n^zID(fukefsVqaQXrk#1PXNBMGPXgPuPdMJ1KK=D>4i>G= zt8|{8iMn)sl33Fh*M>!>tQK+cZVkPC)3jv80;Vggo?Lwut|8^C@oDx~lR)>@Q{U#6 zZ1XSOG0$QbYhl{SC-VfaG@j~ge8$njdt!F!b~7Ee_fG43n?B`8xiUDiOvscA-|8Lh z@~T#Qb877J30KojKAx~|ML@-_(w$MPRnAj?F}LP16zt$U&~Qw;kL}u;L?eOc-p8)2 zpMB%o(-o#?-LI|qkXh^XVExq~YlgZNwXO?OgJ=0`|ClyyO6ck(8teV8uC<%6@b;^% zTw59M)CR7)(ozw3osm!Q>HaTyQ;QzNw6dm0Z_H@FYoazQL|nUR$2yNk{~6MzvtB<u z!-J{wDch@ceFsbrn$GQb*8A_T@}b;Su16Mr5BF$Y!5(M9-Rk`|WcHsmQy$$8^^mL8 zDp0uW+VUv>dX{*JrJnLT2cD%N&CS!VZ0iWwJIi5G$FmjlOSWn*xwe$itLxg`Rg7}{ zi@&RH?Ynm&e$|pF;koJm{JAbStS&ozRf=uubfvd*E{Prc&yZ8jJb8B)pDyG1=-Di> zO{?ErEm?Q^))i+jne|WFxn?IYHG48{^VSpyT%8#oA{RBwcWXiT)d1z7jz!Ym4zo0a z7|M!s1Mc<quE}X``g+^#uJWNL>ZZs1#P)C;$ZKVr`j~U^E2*uF8DV`2#~$rTHPhqq z=e(%Te%ndBbHNOY4^btm6&+3rd&;&HMsZ(ZlF~fux>SDE%_X~RC-zF5h$^W5=yY|# zyPDqJ9QD$<m#)uu>tddG>Ywd@hLF8_Tnk#Y!#%7{6!CHWylL{WhFyeTp|xbM!pfq4 zt;uUw*fOVt?QUV7?8`Pe@k;aBc=`1ig*O+jj<(9_7D!s<+IG8)dAFc<bX4oowH(eV z6}nFiSdK;MiXGtOVYRYyZ`*N;J9L5O#r4wby3()a2x=~g%3W}1#%&)Ju}hiJMKS_@ zu2peG;!~#X(l2hiGG9UK>ax3A_k=61n8doaNpI^0-7TL4pUUx_m}k2vS2U!lc%_J} z*U`JpsRF^3Z{KeeYYxohzO?jgQ7CKrR+gwOT3x24Hy2DjwP~e^^wOi#J}>7wJt1mB zX2FUEMvdmsynouSJe201wAmf5_1q~``Q7e+Q$NXUcRU-`$>*2#Wo33o>)A<RvlVXn zaA>-6va<x~Y>7VI^r(wtQuEq{2i8u##P3t-JA1;19U5(muKv3I#*sncwrj^RCPS_g z`DD2z{VVx6Ze7u3x-dP{<D&c2rM#g**Fz#6RB#lmo^E0pw4}nlF~vgZwn(_fyx2pV zgnI>aj!Vxge3)bS^a&@wnC~i9^MJK04>gKq<gsc$*>!aX+qTOSIhsB1U1U&N{WfF{ z+m>+cTMT6ytZ(biYp`4hZLMA0F_lGWt_I^Lq3*LcT*Za5u1aTn=|29NnA6?pbfL&@ zh3Frr&3QHxG`?wn{}!IX_Wfz3`|aGfPq;QP*&p~Y`<q@y{E4FWPgkY18}_YWbre0G zWX4f=^KkInW7GfCcHNwH<4V1qfLV2v+5T5=1+(AhWpX#H%s#04?5)+C>fARggFAjr z{PnE&4Zn{3>w@hJD@3BA+CM(v<@$AE?`)^ez1Od<ZqaGG-Ju(PG-~O8hL|a59e+(d zrK0$vp*3((!_~kruMO-kSVQV3X_!yT5nyF&4cp04#PM{6MV5z#fUxVb{lOXLVgEW^ znVvYWJo{TNTvhb<<FK7)^-7IvV^mmqy?(K9axN_rsK2>R!(-2!`6+5Um(~jAt_^O8 zn{i8H<F#8wi{pbX?+>S-&cGN|YdLkU|Tu@}cXm=6ZiWn&n)ok;Td)#gwVQZo=Ce zZ_T>9bkmNw>06RHHqRBv`pB*?FU3^CarAgk+@4p~VlBz6!A@5zE_O{`tmk)pNn&Q4 ziQ>XXOCK%!aczOpZ53AE4Qm(5h4mKdYHZ9tuB+Ve;p(5zTU$$Jy<`6B{IgymKt*g@ zTSL>;w{b_-ZwzDlw*N`lg9Vxv3;uB~(TrREQ+o-&G>c5wgV|eT)=Guwf6+S_T_E$Q z^|n9HL-vB}x=kWGw*KO0S$t|yw@$XVx9XBr;_F3Lig7DlWKmblT(5oN*5@cbmaTu@ zaA@uPwr>l&j6#JTW9}-p-zK+`>&|ePnzC(WJQ~0<v4pux&+){o;O^jgf-}}zH+z3~ zT*~p*%+6F{Ymgp~UlHHd<c%6Tro{AfCy5<ctugfpcXss6oAK&XoUZMzJD>0UrNWgz zu0f<d-`Sf*FLY{&>(y^xwm!b4DD3oBJb-WUE`HX0uW!*xp<PR!#sqTT+U)SLCL%`e zT2|ABeJk#UuF`5+$Fwj;`*DeU#>F?T<qzXo6b~_-mf{GCbY1ktML_G=mKL`&HKt1= z<3qp4wJY3Jc%t%fvuw11Q_wcP7}k}p3v`_>imfu)ldJi$VXi#u((L4a0r_?l8SAfJ z`qs>PZCUH<uh$MR^l$oR!FgpRV@9_^*7e`42N^RyJuiBAiia=a!=_K4<~@7s{ms*{ zUV+nZ(Hw4f)qt3(C#)GdpHJNwp54^DAW)B2LCbaJp{qfK6UC-}bGWo1AcjFQgF)DF z)gspghk_I1R8@NYDz;0zPr0?>c8H0nl(^%z9qiq82l_aQz1ZjJ<ji2m|MOu^Zj_4h zsVmpFp1sI1sc~s`Ud1X#E(a|QtA34X4R^QP4(|;+=YBP-H*!;bjj7cBwd*+k3JLz^ zT4Ec1l{s;@1+OEY!^O<2S1vRz4Y3UOo}1Nb!<Z<-9pkX+;lfhJng9(J3#W^Zw;eH= z-g=_oxALhatP0GYDh-zot`1;3x#aDktE+>oc~6OEEvcEKP^x(9RKD7+Sx$FMbC0&I zy=c}Nz1`{cr1uF|n_ak7Cf;CLbwM#YqdQEr@7bGbhU<(0ZWD5w7#xB$3MzHpL_ON! z(vWH0=(RS;YUjG&OwaRlrfyxRF6N(Q)f-TJYqt88AVyyAuPkD1O-GUocr&>=>X*i@ zXilvcV4i>Lr1;qd?>M&HauD@f8!Ejz|NYeUcE^^Q#`bUYE#7uVEQ0xaYGky+-{>dX zE4zf6dgerX$}ISP|C3e2s%z7>y7qB@tMA{u(ec~b)xOO$^9(;lJY9a>e|?YWBaMv* z#3Gfueoc^C9lCMR*Mm~+T2ES>>{hpyG(Kf-kw1D%kMq!kn?YsUQx+a7p4G1PHdO0D zlw4yG@0DN7*IAj?U0lT)yZT90recnOhG_OJt`*(Pd3Gz;MGN2h!RK4f<eJE});&Q~ zPi(cfn_=p*uTf2=OCn+zmejuDyqdLBl~3#;Q}FzZMFBQHdGqG#3jK3FmAsbmz_-KB z6W%#wuQXaC&?_1;?@{+l_M*6+bsRfA-fv);cE}?o`<Ot+ItGO-riv|PYzMfmFWvM| z@TjFUQ<quilP<H+##=kGeFaueaZ;Y;x@VT#^rdfZtbTmqt=HsPfibNs-@52K?mK0| zxTy2l$@s1R8LV0B6Jk2wCg$k!Sz8KR*Y|#XyY=X7^={3h(JPc)bnk3)X}+<JNoMuK zBT8O!`yCg}y5v3Eqd=o2W}f#{{Z$Kmb3CFh@vyw;Df2FMT$p`SE5vJ+bs+mZ;W#Iu z2{q4p7CtWEJ9TK?0bSu)Ivdxjwq~qYz_ldew$fBB>5SD~T5GL;R>fy4y!m#kT%j*} z))KpQPfZj`*~1lt9h9YI*36t0y6eaCB3rGn?peL7wm7^wpm+7t3e#m1o)&!AtF$xA z>_MeTxJGlzrF`WO+w1DDn0@&-{l2i}*lfYp6<IY)EZ=Pif75bdYe=}B{Lxr#jn%(i zz49$P^)^65e!<g-7$vV;le@NsYCj2Okm-^?&>hmNwZLB_Fn8)91<R_pC0$AvzSU2V z`P6z>FZ|UC{YPB?G-Ri){uNcObU`Dy(dLH6r@492LX9C&roM^XvmR_I+QM<QfoZk< z?ggP!9E)l#S!A;>{+-}FHR7s)*!<+=MB$t3m^V1LuGqizs{Tr!+X<l)$`-$97u|23 zeM3ZvmHAAG@4|x*nVNHp>-Q&3cFx@v#ky?55vQjG96TFuoqEc(Pi6;q_u`e(+|O=R zGjVrwxZb%?BzEzD-%|nMb~$rhhmdDwm%AB@ealtZ3mPBhJbhNWDM)<ALemKk!p_DS z#6D)UT+!^h=cTiAsb6x+;zRrN-)BfWO)y(^ZPl8>b^G%r*D^%?-SYg{w*^Nkc;pjP z4Qv;!s6QL@ZI+|S2TKMKndbX-@f%bW-Z`(CzB*dzUF|9k))i5ozeO+jnqj$AY|-J3 z$+NaTzodIpfa_zEx7XFo^Sx{*t_Ll@w%a-&FkfntccsD<Cz;htINk^p@n<;Ps^scW z2wEE3I>o_HCM$UDqLsxVfsFhPpHmsn%eF7@;$yihkjbQfDSIc|fz>jKhgeuNv`gPK zPyM`K@!G7%xs?hQWgL8h^0|Sm*@tHz5Hr~lu_yD4W24w|<G>XQ4_#6G8kT))!K#V> z%$__~deHsSsA%Sd*#@kWMNUq8t06GsL(i_o6P*6EK6`pz`_$8?rh6BO?J<(=PQF;> zpXu~!ZBXxm^$eO9nfR>NUYxdIt<b*JEfH5DPjc-nu24L%>(Cb|t{iVCPKH&g7FqSt zN-L{F976V&-aNtOayfI>wAQ8SZlNL$A>k~SvMqHtJiA>Q*C{h?>Y=AqxvRrMw?=Ic zJ8}1y-PD4NGL>&89WF}z*^g7Rr-U;y2}+ke&Dr)eYQv0cD=t3Sx<Gr$_eFsUt6grf z&%YqMHfL?tr8xq*iv)iyxaX{!wLj|HKaI)JOxqU8dl#2`l&x}IuvnH^Uh0!nH{Y$b zx|wGccwfC<;2NbgIr_Y!?Y7v288>|s)~|YM*|3O9m$5dl!@=|zhi9bF#)VIV)TXkA z>^t$FLE+(A1yiSsSF~eTGw*bTo|IWsvFvKo+|#wnr&MFLw>&djDK>RgzE;!kux&Fg zEXvelT(HYm=5fYE_n`d~#kOoXP<E+pZ-?fd))02J-C25PnNM$HpZ)9Gx)`Yrkr;-G zf^w~<bs6h#uC_a2^`GJ7t#6uF9$YtSZu+}6ZbnWx-=;%XUvE{9@MS$3rO01@CL(LQ zMHYt*!wTlFAy;4WIW6Ej7(FL{+O!G0iym!TT4JGn>06vsz}3Y+1s$v6I+<R|iGR?0 zo5~Q^`IJex!s*tWN<KN)Lo!T{SNC>tPI-_SxH*+~YIs4;PqynvZ~W6bdf(>4oo?>1 z1v{92-cVRS-^XShms0n>7mH8wiCLID(|@A7u$rNEMdPo>`5R=ePEC;JT3c`>bV4m# zW75lD4?nS6*<tHg*qKv=5A9>v@=8}Df<r3Y`(M*8#aoTa%;lWxHzsBu<YQqMU9mSX znd{N4yJ4%HQ>4WN3O76tc)(uU-1|0h%9Do&ZSFEjJI&h4lEqvab<6PcqT-C|C<R@% zwVK=xLbEQ0m~Ce)X?!3Z9VF5`N9@q72f{I44<>}O1_xyDEiLKYBDmq&K@l0I3;Nf$ zM4!y?b6x#CK40F7t?5YQrmN?xXD}{`iMq7q0qfB>t*ak5tWSC5y<%a;uIbv-<uAw- zH7s6lv(~jhiX(neROrH0kAA+fu;0yE9dqf{1g+~LTzpzT7|O)U0w%B=5{}Ujxn3Z9 zwENZs=c&K1=;~$&CS4WuXn9uatTAn^KxRnm;*(s{?pRvvw7<QUjfF|1d2&kN*{?a@ zS{_!esBBd84VZR)V&0=>@6Oh165pn6m~vx|v-B#qD{a$Gu6x3gp%7B;!M6O+bxj2x zHzUrZi&gO(m<(%uYRrUOCQPW&i?a=m61MQo_Rx78z<q;5V`tRj^zGbJSMfSTElf~Y zao@ygNpjRDhs_dE3S2s_)3&;9+4}T!z)ERHd8chp)=vGHVR`Dec!A)<P;q5PY2``% zSsbmK{xhr#)@Z2M=g9Tr_B_$PgL{r$jWM}hc`cJmW!{l*DpM|m20i=1{(Z$R)hel} zE=pIN6f-(pSiR%C9ay9mu<Cn6I6h_P;&Xh|{DY50U`rIM=h>)&=mQ+TuC;Z$=x<x? zo!N75&!^SBnOO}_56?0WThOxiv)2tyr4t)imF83yJQZkI?3c06ZtFpra1OQ|v5GIa z{xh&!7KJZZDWt=ao1L~(ZgOo=!^W5f=cu>NOZ{w`0>ABVV!S3Lm>u=uiROWVIqjQ0 z&z35PvRKO8fB*ff#;cV@qKi*G>&QDO$GE6rb5zr%S(iE=cj@KLnsnF8?sjh6L{*bp zx(jbje0o4H<JR9B-2ePlCUq_o*xNhN`Of@fhwNsD*e%Ek2v?GG`PTI4Ud8_OTi;$S zmkV9(FeUcrr$)t`mFMl(d8sU@yq)@=LG6OPqlf65Pr-8>Wz=3>&&hlHgo*QMB*T{M zvkXpO_8nNZ_2CxnOG+1>UYq4TNAu7D$NP>iX1$T<RNk&QhrRyN!xIrPtC!D?SryW; zh5y>lb$2E>R+(&NlnOs<A;4O@oxgP2g|)kj8Xf-j%3XB~p0J@JOscxL<{Qf*(H#Qo zCX}wdcEWart=qTTabA2{-<VcA)|oIaV7id?t?*G)(DiA@#8&M)aH%k<_$O=Lx(nY_ zw2mjN&~=P6Q<nO;mQ!`sTHa}5s~&6=D_+jHg~7za<`tKsg@vAgNux>=r;S2pj%Y)U z=m|gPd3QotA`f<oS$%zeIQxi0aj4w!i~nq<M6G1lvf<eaX0Pk>v!?Y$3)n3vdhl%3 z(yVKDcQ|}}o0UCv)#|uwi;i>OlAD!V?Qlu_M$iW9aFKAu$Y_OthfH4C4NTWXESwtn zom^yQeUT9;XS};^+To32Tis08>S|^^iD0@u>8NA1>r%n9CQ7$lmu5L>d&$|ED%MU_ z2)i=tkwcY`v{2-oWxFoBTJF1{v9-~3<;A9Gao!B=z&Mj+UB8}|V+D@fx3Usl&ng}} zoTB-3otuGM!*X}ei^~lovu@85SRiwoN##wL{&7V!aaL)Kjv4d&C4&w)O;QT)Z)Xzt zx|jcMfk4y(!3@_G8$_3zIO&8QWDQy*xG7X?ONP)Dr>kPCmPCXt;0@a|(K}q(<HHVz zsU<oK_V(W>RqAf9(+IMAA^PIdZu?Eva$Z_1b5GWqE@jEt*;6}#S=HK7pv&$Mqgd;z zYMp73iW%LRnFn(90$qX>7Ou||U-~tqBd&i*^nsADFFpOY6B8D_W1h~+tzkBMy?pjk z&okRzUD{gc+L*!cr88>k>aZ!@7P?$ry6yoTS{B><S4ce1=~tT&=Co*QMvP^_iyZ}K zk1SPIbKedXS{WQsQSA7;IO?`{4%;W`yd|<HGgTY3pB+zpyXXQdZvf{4wH>DYDvNS1 z?(@94&C==m&7)P74~1r3n5B7eQU6EP*5aG%6c=9E84{?vx?7C@ZRC~an5l1LWy?&x zC-rMzy4Ix_#AAMT8taP>trPR^b-1oP!1~KCuR)q`RXOX~=d<kAR;d=>xb-{osfp0a zBk}fYqXHQP`d6v0`}WK{Ay+EycLAfS5EJXs0$vv1-ECU~T(8aAKWVFj_R<6K>$leJ za17PsT6T3;=MoO}YO`&d5Be_Zvg>X>$q}Eu@6bv1*QqCam-9dHdcGmsVOh9T-;rA^ zB7EHqza3_OTeF%q_waTNwJkdXGr!b3eD>WKrnAa<l4a)AQ2osl`7~}ix2EWOt;~wq z@BV{{!6eZB_3D@w?uogpG|VO}^1tG7;n4M{zeRf&{yDyC>u;$YZ>~-7>iKZJwxz?i z){KQYH|kb#aD<28>`N1Kd2@cnsGCH7cWYg^YP-mF%a!Z7?u5NMwcGKwg$3iGg&`bQ z*2}hC3=w5rb>(8xUp*)GiQgQAR!v(NyWYcM^}d6rj-8seqG;=qht94G;!KxYG1=(G z8CFeQ$gx3*dD_x~hBuif_(~WvJW4!2PLXO*tPa`g5U_+xrd+0rV|(h#IP<VAUW?Wp zUwCS_Vyu)y5Z~h39k%-p7H23p@o61x*WDelJFNMFhRF4xn-Oj=>xDDQ@|MiF<=&%y zEU-gaR@dulMz-s!V#|+FA1{4uQC^a~CAmn)k=b)gQ>N&z#O3a58D<GvC~R4HD2sD- z%XgN#Q-=e~UTohSvol(ErO>-WhZNavRqNWBJ~myIuVHGs`k1gX#{n*bX^X<1THKmC zTiw~qZI)g}nCZ=2&*hEf8#yd<b|@6>&$^gZ%n>!kUFw$Nu0F9v-A={10$a?Imqh5k zeH<M%%Y4IAvE^l2Qx)SM*7h#EeM?t%^>&RinMF+NLW7iBfAevO94c$F%6YF~xioNb z=}Upo0w%WIQXv8&tqKR-wuW44;0}q*_LfuHq8$<y{xLMAf2-2<xTRv3eusawY2A=@ zd%}N)jY@B;9a==C9&gp<v|1={C9p!>Fo@^DswV~h+_$nFbqgB%>rQ`*nd{lQROC_M z1NOzI3gS*`-47}Kl5u|t#~b?zyEwOP)ehp@veI%-m22JkO)HOby^$(k;D1HvIYa&i z?r6tltFEq-GF4<es&MR<jlM&zJ8PD}L&3vwzn)gRUU?9`*+VZO*{OWLtF-%d@i&ZK z)0YHrbzNC>NmMjGNNj(Q?&ImRxGq-gdU|5#*|7a#;w*iFX6(G*R(yNPr9Jz~>IDo6 z{X4cevhB37n83W4<(5s8+ckkF=2P=kwqF0^|L1aWW0v~cQ^j*S|1-qS`n*LxVY-s8 zK<KP(J0rDj&Cp!k>XCErK!IKNt<|B~uXZemdFu6pH-q8h?He-MnS6yR1@2mJtIGPa zzBI73y~;crcTwhJP0L;GeW!z31HP~;+z|2S3*lrA$y~XXyXpO^1uOZh)tUmz)o<oA zw^+PkD)w%_Ai83~tG9n<?O1qf*|+};lfOB9{Hk=&y(wprsM;104TfB^t=a3Wwj7Ui z4y|Dq-RLu6!7rz1pDDJckMp$yiaj^_{Z`V+2y4v{TgoQzmm{Y2VAS8NiM#J;$7eBJ z*utG-!NRNXMSguAdzSXRtB0P(U!TG|TdQelRKpqt|J=8E>)ZY_FhvD!>e|%xR4Qt@ zq1bF4(FIYpCa&EsP7H0YR)*V5jcxXb-~Gmvt!rK21J;t}HO(1O-%8>HdVJ%IR?iJB z_K1u>zM;^!!0GDZ*S9!WPsAs!Wlp;zP&_#{!|H;{+_m`!>Y1YA!WJs$on_bNh|j+& z{V-~~y47`#jnk4jwq|%4>Ptq6L}+Ze*4C3MaZ;~m(d{UKuH+r}rzuoq^-MkJ>!V>4 zEaRy*b&AT;XD-Y4=IvP_{eBbc(d={=Whd3gTOwCoS<m%BJ^9v$9kQB+wH^xu6f?ML z6x5Dv<v7MQi($T~_@^x!e`Wd>YKYdZjf`I8v^#A5-UT_u>8&2C_TBp6y6AFf#<703 z-k=4-v%E^8)eXh|hJRH1eRp-VQfdCu-&<1)M0*>{j^EdqdbFh?tdX_AZv~g4L$Y=n z+umz)82q+tZ3*jI8yI(X_0zhQbzMtWG2B(p*~@oF*J;rf?hse4jjIelMW0*rHS2=X z6@JDm+ePFvJT5iL?mMU5rI?+4>`FvWSvS+i#qz9MR*K!SYtCiMT59LM@5LnrbvN@& zU6<8Qgv38--((GR<x*g4d@*s;<#`@Y6kp%U-nYk+F>UhXHOozu9Bo7@+zze|IrKjJ zRrpKGRa1*Ss=stTu@GU@+wI=K+}z5-SX9cmAd6|@Q*PI~Go=dOI<$T;n!j4h7kh$_ zH~N<H{OgNsgEM%i>)5pZO7>dnvF)mstH2!5oG$i>C(0T0I4@7p%<`U79ekaYF==*` zz{<d=RnI2ot8m$^yIV8g{kke+-ja6$8WXObPd;eaCLX}?+dgb(<h2ta*LEF@TCG^k zaO1ZauapjB$}*vk4)dQqbggpw#*+K%fpXNZ5T4W(w>bD1HdwL-ab3M7)q1o`BV&Ej z;~2HBn2GPV7P}~(ShVi=rJZlT7FQ@9>dsyNl<7fZe8K+m4U0tAKgw&&)M)T_wVE?~ zh3VOOS6VYY_$0l$zRYUg5ffV^x~pNU(=3Z;tGjMWzYW{pT{|_S>cPU4PggzajU3dP z_e|Ndj{8i^p7R=BGA*Z1aXYt8o35Voc)>!6tgEIgw%lu3WxCkuKf}WJv;ThJzgi^z z{^E_$soTZ6y9)VK#q^w{S+d@&=8*P%TEN7jB;Yc&M4)i@6RX{^3o}<#e=B`7ZQGV7 zTa>Q)MSWg*gUhv`J8J8OsKCrs+iTZv_FxgQ4B^scta1!np{*ghaW`w$)+o^h8rya^ z-;mNR)tylE#f+uTi6!8h&NtCphxj-|xHbvLWZ0~@C!BgUZ`RjMd|KDdV-~pQUwm?1 zp)f%~Aj@#Q(B<B+IhJjAg>+pzFV4Oky0$U1kzw`<9ka%#>wF6}`yF41c<E)Rd8<DA z#+Va2<<iql`@%Uamf2P^-4xovx_7Hzg0{n)qpmAg`$ch8sB(Dv^|Xe};}kl=G0A?* z#EUM9-+2Ei7Oc7&w8)dS$YX<NSpLnw6WSBz>~Oy*Gd25yAJf+m;aS}ru1lD1`Ssd% zT%KC|``hZt?_TDto4mwie@!{}R9C+0>Zk>lUmBMl>ay0!TlvXqFT3dRgbOS57^T)m zg{|1$@3lj2I(NXzpue-ZZ`tTyc)s<f4gaDgb$gq>X=bKPTeV{6l$|V-c19~a;+S+f z{@k70p-g)hT<Fda)0Z;bDe=?rrjA~mahjfd$(N`=k(H-Iq{0<M)z0{-9{X<7`d0e- z_x}vmQQrb(EOX{*_CGb@;s{7EQ^{`N_%QdB%{rM(R@Z7XhipgZDbWcg3Wv7-`q0bz zvUYv`#w&}&uI;$owJ4NLK!-tetNcQ%mdZDwO${84Zr4A$M!t3H+7Qm&_1iLv&-u;V zLo!U^zYduMx2k6~n-%hH@>;;%wU)zQeJiVD-Hrv97#YnIZ|84d5RsU>BL1vkcCY8- zf&i6S?yu$uKDF4f{*f!=uhp4aC!F8B&Yu3J%7!I3r#W-csjXX=Uu_9^Sa&BUcZHs= zbd-!XL!S7X*w96pBHmGt4{_a2xX4&{V)NN;(;2QVKJ0d&xN7km?VI&iC#;`4v4}5P zsJ>d^X<6(knX)C0w_gQnPq~;cpJ3ndyCFA=YpvV%8%?cxqI}2iFLYQZW8bwle5=!) zCmb%#x9%}lI!w5F>?pf#FY7mjUm2xc1yA&^2G`Da{=%tI{kH7&*4TDc{#9yiw`Ox4 z-TJ5fmav7`nM>X`!XB(w&`wxen;ji>>(aC-D_WjQZ|d%FJ<49|7}oe~mfPaoj89Du zwB1`WgT#2}9cYcQpIXATs58X9pwqgVdFr9RTI-Ha^jRy_@nF-%j3|>;*}=0IR!L1g zr6_jm%Ax~Xw>WbDYux&N>sqHT4OUHgw*okr>z7UaGo3NmtAy#a#yt1eA?)HF)od5^ z!kicbu3hJzZZbQ%ICC9$w&S_@MHQK0T+#~fSf<PhDB^o!BcL(Y>G^i?5ZObkowq99 z*rIeQYSC>qyLfrN-io)D9mkVHqyl7ExH7{Nq<spQ3$8vb`n23Wh4<SHfm`f(&Q}+F zXOXXMeCry>x%yT{-0`KGlrCm1v1X24YoWgBB)4~@0K-z5y)9ab3@Zy`*6#due@ia& zjViUPH*Q^2jpQ!PQ=ZUu_r$)dt2gf2#rSP|(Y<SD*h^xx4yxbG(CBuZA8x*VX==RU z*}ZFp*3Z^%zV(*9?8?+f8poZFnOzOlb<%xgHoI%qeI?Cvc}uS~F5T#O<@S>cZ>ueY zIv-7Tms<7s5@YOCUyh3*Tnt(vp+!twy@DAVgB#ViYbaDIu!eZ}WonqLDq0n@@X$Up zJ>6Qh-HnH~XtGBtSY~Y9647TnpCQOV-Q~et(e<2h1`m=S9Mjpd=+c~1{+SCj*=8wh zu-sB+V*9yTL~y|h#)G^LY^(MiiDC|GXNo;^{moOag9<DT4xeAfitU<niOK9rsq+h0 z(FK}^!y|WVC(S;zJo3gO&&;ZCjf>xOhX_8k4i|pk>%YiaKB0g!V_jxe!`-8|g{})l zyT5daQVh>_&)TK1cFyHf+g9n9O<Ofxqba!E>UMV}?~{tF>P4lBp{rO;L|5<TcTmU` z$q%Y1*IdUE+x&&)(uP3g4U2jgF&5s;@Y*1DCVtz87*0P$x%<oYycUGB@TW&Fn|EvH z>YIvHg?!s{lbdTUF3<8`V4-+II;=S+-h(exF=NY=3*p?au1(l?V2A0_+j({;Cah3Q z-+F0_Eng^;e)r=yy|<np-Ke?f@;rtGPrq_73HUvXdblD$X${j(?OS#`L&7x|C~;5C z+W#`P$>|}VY_yi?Dlv|$^;gv{iQnqa)0r!JOF^4oMnQMMr9~_BZ`|5{ZEFV0#*RrV zOsitn-`-*VO=eYQ*xfaOJRJWSv{@#|yyn=Vt(fO^XYGYalT#hPwajKa<;2H%ROrd8 zum{^8U5MXMd1tkDwaZ`4&{bShMZ;E#II75Tcf?%IWr_(cstn=UZPM^0>dTsS9{e|% zv=i3d&N{nDz;$VWOVrg&uel*xLprpt=Q>?!VKQT2krvBoyd53C-+k8hfWl}IfpWgw zuB9PcIkvxY)pl6TJ+-8PBS_SBft=U6+IiMYq2C^DtJ<0xtMD~*QqlEEvsDGY_$w^* z{u;aD+Om~d0hw#Pm=0#RL|spKrYz}Z^5U(PmFu?VO1VS1EZ13L8qJ?5ut)Jn*OqO4 z8=195{^*36FD$e<iZof+MOK=w+TEJ<gHi03Vy@SPB9m&dTi4rzeV!eeaQog_zty3x zbtm3<I{hwKS=$h{!(~yw#-wdetU7Hfb>zgJC_V9XeJU9^rS*wI-u5kVIW`Iot_zd| zw><0mvR7$;*2QRrM(${z?j&W0*0;hp@BL@!*zn}qt?Zbs3SzhC1b*?acHX*n`qiA) z8+)_gzKqX)Qq;O&XQ;==8_OC*nbwq-PCglbM4BU3%9Sr%djjvJ4IgW_MJqIIH@UI4 zi<Mnq8^@&u9pWoEjxm*#@tDk&%qX*NGzc=7lJwhl&x~_Vr|of=bg4r%@WzL&Trc`W zryk5-8uM!1wPOdjy*;`pYHeZqEyisQDtz9qzs(Ok<!x?Mtv$HPIwF(BruAFYz7rZ* zk3)nrmN8gcbhGAWCopPW5m$MgJoWu%*V(1BndWinU6l(|+biuHcWAm+Cv)~w266td zCs9l?`WZJ}Elk!{@cObeTuc$#ac|8|#;mo^18+1vcA2G-^YoX3)>h}O;tG5XA2Jrc zo62p&=f%?cjb(D(bnVs^ZU>a#D7&^yj|e|2w7=>@hOB7NgR=h&(|0cO3(#R;Vb0wm zW6d2m_qW?Yxl`)%oSrWDePjDZrHMMlF**F3{xYX%sfsOlB)n#Ot9MYV$=&rozFnIw zW6HZmaN{@4l?%26YV153n6b~1@xg>`e9G59`F^?V!Kb6_Tln>m-P)>{<+c5<t}oui zmnAnp`Xcj-m8&lATeV~BuMM(CrLKRu=$zKJp?B@lBN1OT>l$Lh7yg;+X#SHisrRBv z)Fy#d(l;JPZisr~v?$atfNRc*79H!q4N<>Et`}}p5Spzo=QefYI;~lOB3rheTgrOu z?TxZ6qPmV^T#vfUJhPTKsI3&c#jxno%6P?RC(W`BZfk0Mb|TE_MvK375Z{fv+R=)y zE+|IXuDZS@isQo6)hkRh=3IRgb!lDc)|hZ}@8GBf;##}InWs7(72(>#B@+BtYM0T` z8i4@DEU^{_frka{%t@;*u=0EV*md?(;FkMwzv~WdE!pPea$Vue^{yKtGQnOf`dK?g zw`&LNknIjzVVcnm8ld*!yeKeN%5X~bxh*S%Ry65vy~w^_m-9@~g=MVYd{x?tymd_3 zCUpxta?F#cj@ri<U6!SNVmqsNe70GWqMS%C%Px~Q1)G#bq{3E5hlCb}$y{rR%2@sO zt$--&sRE8IYjXv*Ze1C*YV#@c@~nO9Y+k2-@lt7t+cRaGlb2JH_(X9o)d1IpVrzqE zCLamtQI?Dnm@ToaT}bNbw?#35rAoQ19!<?$R~DAVJm`F|>*5o!sHLt9!R<0FlIK<j zHEk`KRiUE2v_?BjK<RyQYC&MeaxS}*+Osyt1j??M6dI%`t#$NQ%)H|lSVKkEE(|SM z6ZTu7a{YGGCmcJj-P!tJvO>nqrFEyB+d40P_%Sg#uzjYXqn+v_RtX2!Dc)jTI~P~2 zaxvk5G)tT@{Q9kjB9Fa}E~?law(s=!mqM)q9%0vox7`o;dX&rQ03YX_9n+c*w{QLC z`z2?`?BYtf6JK-#xlTHK;%-#$=HScja^14kbmb<C)YvH9jc<aM#x~h?s4{vrrr*rc zy%P7}n}vDU&G6$(Us`5yUOesMxHgy7Z`FfscbBa^bW~s~Yux(utHyr|U#(oZy-bGV zD#MEC6<Svd9Q+t84^7mbkTbbt-|E)F)+!;dr`DId9-Y4`zB%#KQ+9^Edd#lZw=lX| zT`-%SSnZdo(H(wZt7CPHZsh~LY72|ywG$KF-`+elHLE#OPBd%ZS*Anm&M(?UziQmf z_`+|qj&Wg$!+(a!j?po*|ID&32>7kM(t%xy`^}ZI5QjzmH_hG%xqfP>(pPEHyC@&O zG1P<afd1My&07l!7kQsmI3W0t`PixR`3_YKuRYIZJy_**h~cK#$K%yS9P5*RY!Rrg z3bW2W^u+q#%7aDyn|83RW&JJo<e8pm@ypy*-}<i#ShFiV;gkg(W4B?Ap6G&iW!y;u z<<bnzr|zr{KlMQS(aygDp-~G%GB2+G$y(H^HYHr6J4T_4HQX%gx14CxHtw`37erfF zS2-@t%66K?nkBa4$et8guSHkaaxpUKUsC0M!(_H~>#9Y~&W(FlsOifDNh&OfaLkBm z@)qljnytvfF6uso!I#e=a;wX#B^HiBye8~6_ct^yx#TGn$ggGI&A&xXIL?gEVZjr@ z1v&8=v*I^YzY<&R;F-GINq7OrA*YWb5`i+TZzEzZ?9SZcq-UP1VWGA`S8RFOmbG3o zYFaF|OGBA5*;jL?Zeq>3(0#FZ+L85}{yFk_M~Sjz3areUd+<chPAe;`qKK_gvleaD z>hNPwuMK_EbbGR^fRloL#w?c>uP>{vs`F_~s;!P`{k_`HCd&Rq!!|{6-7ab2lTL?p zOqWhL@N{ut-?>FwbHx@)x^@^HH{U$%>8V*)5A8e1mAQ|5OLRfr>a+%(>=FTv)?YW5 z^oD+am?f~plfyFpN8R4Wl{Qn;y<7wso_`Y;%TU_k$JVa!>+grv&5l)~2ic}?{l>L# z*R8L&-#X7b-kRBX-hbkTe%1B5`bKw{_v%jP*ko<UG+(scWxi;;W5$8ZGiDKUj#*kR zJ$X>j<Av<{>p^SOnnUJ#{Q9lOl=W2P(!FC}ZylW_B*1V}NT$Pqg?GJ&*0SF4OWn~S z`aur6^i-O?a|7&)-ufL5ubmy{&-T*%mF%k@COhI6uD#*XwICqoqKaNlli<C1moDk7 z3yor$ymr-DhSjeVR;dQ)Wjz0SGDiP)QvnB8=Cu{8T^Y2)CZ9gRr`^P*per4JR9f>6 z^P9ksm4R9Z-CnJccMbG=zSUxtNY=^#j!(5a7;f_KUtuDu)-KM=#5A#Z+oo9+4ovGO z?X+DrVfC)~G>aX}W;t%*c47%%5XH5q;nB5)0?!l<mw4&se%SANmhn)h&Gm%6>#SdA z?hkRgc0tkV)&ukMEsSh0%<tqD*1r#0-5|yPRxaw=<qD1um3j}9*DY%LCczzlZg*=~ zE|WN8ET7a)2f1sFrHi<DLmC)Z|1<ciS_C+J;JE#2+w&<I3)gLF*p`|7itTMiX!a|H zrLOE|2Q}<p-QE>-Bmd^vP0#*LUFazP$k}O?V}wSed)ow#MZR3MtXV&o{*s$j@vB96 zZpP(_A}a#kdfi#y&}v$D^6K)mb%DFB*5#erApR-z+{!asPhFmL>57h?Cu`BV_V<@m zivl({a@;a`UU#~~@r(Y1$|t;Cw;KX%-f%5lv47RoZLaJLVoN1n2Jvon+PWZzzjoDB zCZ_y^j2w<78oIp!y2Xr9QMv`bPujLDmUb$(__l4!m6%6O+;7}XeHSn~=x=3MzkTVO zzQZ?s^?XYem9j5X-DGOda!@{>5TM=E5z-y1baj!TqLe{PqF;BvWY)C_i&_=GhI`Bo zoAt`!QYJ$<bL(NJ?3ISs)~-ChkwZkLxzXX9NHdep7FPz2@<lSu*IpOxbWma{7IR<e ze(QkChtMcp?g<?(A`xP1Hy`@XFfUNG?vA)=8Pm5pnL?dhSC?0B+Fz}FJ}G?b+J$|y z1vYXnlwNV{YT%X--;lP`Up(WND`~XdSmLA`vR6+(He6+UL#)$RmhIW%+s)P;u$k<g zx>rwTg*sE~)u87aT#CQNtiK^MX?;Vb;~yrj4T6ui>IE*?5v`xlXR98xBv<gn151Iu zCchNJR&|KGObXZf!7%S%18c3}jF&d8>$YahcKy>C=RWl*r}&)s$<y|(nCh!}*0tA7 zsn2-wB8`KY7pFYCyyB(9TDv3mS-*C+9}DMx!`k=nfYky)uAOgK1sohUEcX7lV(a$P zm9BRirNntXw`esyf1TE)5Z$X?D5m#jlIE?Q;@pL*ksKnq1^wzx`%46tzO~$TNoVJp zOK*yp{xUmgT{ZoFyJ<&Q+ch1F{f=i>KfB!ZXn)8Pr-B=^xi2x8d|+*7{<GC|h5L`+ ztl`QR8B7<y(mcVb9mky$tMp*!9rbD#%Si1B?Hm`v9$eCV(zG>h>cZ4ehDzR;NV9d* zzFG1;k<WV?^yol*(mk$>CG2udq6tC{&Qo~XX0a%UzbIJAHf`0WXBYSiL%!``yP3;k zw&<!?r+n(S@UPE9Sk)%<opWH@x;^TH6w|8sRfX~Uy{9~9o5kI_c@0;=?o3tDV@J8R zt-mOrfAxO$*0%?9m^N;0oA0s6GiGOD_=%-40Wqy_#U|efvJXuTst(ws@z>*F&?;B% zqQ6;A+@XFPQDXZY%mXYLL-hg`1S(BF@vFW1{jO1jb)omXJ5yIZ4cZkJ&LCGEq<FB( zszv<DH`AEa8d9#Zb7s9?^<@3!HQ&C7t=O<Cs_UwVW`y(4935^4rL8WyyuY2gHgTwZ zQ#>%6Pa`yfHEJJs_w*Zmq3V3Ky&Nu4O4C*@S>VK&^=d(X;ik+jvEE;tN-bO0@rkTx z&e)#(II88^)@A>$crs?KxZucN6P5M-*3Lx@&hri^te$p@Z;4#Xv>8vhZbp4szkxAS zvG#?iqgd<OwTx~C;;j-HGrSC15~G569JhFTEehALn?7OfOEVWa(PagV(W|%kt4z5c z(xAxO#HXF2;^ek=I#-j<qOgPP4K3Y?w_A-PLjE)SZGXjm?Sy5{w)k)@javmvqP@07 z-6(dtYEh;b5biN|`jTf`tuN_rULm{cI`@$;Ng7Pt+`=rb8JY(S1Uwe4y576AA~Pd9 zFolWl#Jz=kOvKg(uUPf=E#uK!S6Wx@a*gh^YhQdwZTkCcm!@seMO>SAF-?r$9iA$% zdTLBV)0GLVWy<poe6Vz%5`Ao&t9a1W3~`gEYniUNYH3_;o6x1J@+-tkYNw$0Y(+lN zkBM&A4xLQ>WP5EJ#}0+w)eO>{>x#DSWImC7!t~QEewCRO>a$q{&$oyqimUi>AId$u zbirn!D;p$kaq_xEEjN|lw5nEX>(_f1R4oP87PTsP@hLLJ?Crm$7|GQ<A*+x>ja}lP z>4B_*Ee~WG{hro!xD;fvy=mu|Zt^?aJAv(hHlyjUxi8s+?wzb%`(2^?_H1cE$8{{s zUK2C~)+j`*pLl4CuYg6;x2<}4y>~u%#0THF`^jyK_M7*Qx<ec0D%TwAD!Se9Jal!| z!@7nC7UJ9Qvc6^5-#yns-#gmDlEt4zk4rVMfcMe#g{x~y1p8mF)&4bUTc&-|HtWI~ zeeavazI=|l8BZD<3wdKEM~l8Kx-?5v@le9L`w6wHp6z7wlIvhun0n7V%Ta4(_Sqtb zV%gQLQHwY4Q221W`fPOG!L13+hwJMXSbXXKq#9WCJ5V`Fk@2w8qjiTCt(q#-J<GRA zrn5j}_iPrCTMEi=K5Y|E<>Q?#Gx1cG$d=q{r#m|~xK_s}v>o~PLr?3%hTMhh>`a>Z z8Dj0dp`U-*AANZBgxkpt>n3Ofa)0%@D$w}0rjPBK4hwgnB9n&nTZct^Cm;B-He$hR zmRnC6!e33uh?=@6JHU@soNF~x(-w=cbrWwWer4Y%w(3CA<#`_ax4*lfof6Z}9Vh<2 zAtzqz(2W+E?Oca4!_Q91dOh(ZOKZuxsjH$EStuyJkP6E+JH*R!apNHllSTJT7kdYJ zC%MaJ`sr|<;b`i1aH!4Xj%xKViPsPc2w8bB-tPL=Raf*f$`~2X^SV#D#rD$h+!c$p zjSj2BG*^GKX7!rDVWJhXGeoAFsl>}8uv22C#Hov!>BlsViFLmb_{No$Jwao~+6j~A zPL`SVIz~5FOe<zl*y*e|*XM=NQA?s4mdG`)wLJ91Y)Ox$C#S#EM33ySRt4dv-7Zag z7vGMZ$kFP)^Q}j_l37SK%WL){uLY(Y+qTE2s7xi#dAVZu!mA5bZF#msL6ar$tHX}1 zVyif|=*RYo9u-(U>9*tALcs-BUs@-vd|@)h>7o2%kG=ytnkqL56gW9YFMiY19m6Vj z@A|8q>ja<1>TxY~6<D48_{K}`DVi)9i^TS1du+Hir|xA?(JGlmnzJS}Y<<1++E2Gb zEGrf=`cFzPXZh&4d{&sl&B*Xur}(%N*0jWZ-7h`$$>S4Y4;DRGvv}#WjVm@<i6p!B z#@Ts1*>-FppWn6>3b}#XZo6yfdWPi)a1=ye%w*;BcyNnB@y}`p-NUidf173JigQWp zr%Vz%dg#LURevwWTwl6&mF>3Y8~3iCt-9m}Uq!U6=hDrmc890Na%F@(@b-Gp{PxPF z_6@#5`DuX<w+V0EowY0O{NLiOvJUaP7<N0XU`{$a<x&2WOv`mqtGRFdy?tlDqpiiZ zlQHYWH!cWSA-cBgFWaSM)2G`qui7V5aqGJ2n;jEgM+eCrP~{6?vA<*=x?O(Zin0R= z53YLj+3N4qQ9H^eCmOZ%H;a;tb#MTS7UNO@DZW=LK9)M|G(58M;DTFB*Kf*3Nk_e! zb-I8tV8andj%e8sN0(1>{`ogE;(iA`+Og>E9IZoJU6(aD+|YgYw%Xilt)TY=-U+%v z(t2Jumojmg33rC4y^Z2C<G<Y+Unv!H%{-#@0x$FXg(8)EJ)I8eimz8))~>4{qI)_u zWtJ;zhN9O?`NtAZ>kfu>I)=+IA6hQF(!sK-pj2DCUHW<JuU#%(tjy=PJPK{iE-q_i z-*)Gx=#Kd}n9g(U@XKVI$o8Khu4`+xLgUsQzKR7~6vd)+t`_xgs{GR2DHgngFK)W_ z^=!wguvr00Z*z}+;My1?A{7vx!WXsQb<T_zZBr~9a-6QU7941HWn+0J^^`H|t8clU z>z%A84pFU6U!O2_aZmkqHB`=_^wzJn9{Jj>>+Sb@RB^Prtm5F)-*D4>JLjsq3Evnd zdvH5g23^fsnYGnHO3|`W;*CUj-?Yv%QESCJu6HzD(^_KN;x0E;?#f<;FERmD+rBMf zXNg*O)MUbTmjz*Wc3$IMq-#5yGx6!6iK%LCtENqp=?sfn6V6!uwr0NTitdoW#8suQ zPjdWXi0_&DxQIvOgm=U7C5gIhY|CBR4h9wLiba0hxnlc73BRO^90yE#znRR*4CcC` z8_4lt%hpxdm0|+FmA|=|h&Tr(dt3}vV$$`0C?uHdXtqYkNo;LS^VAy*y5WBXwmR;a zn6~Ca({8QnSH5lXJM>LE#h-cNOFqG@zd?WNCO2oWL<wex1}<j}X<fWZOQSLP+;@RT zGcqIm#B3LMiKoBXyLxlh)wOkNZ+%lNYM%D`>n8n;hi<Oe@j7LlrsYB_gDt<siqBRY z@XMF#y3*(>6|z#=edBM%6I*htva{AVhCDpJ<O1iHy6?X>IBa@t9>UH&eVt3{ea8)^ zM}<06rChf>KJ>+%@m@Rg*6+pJTtrWVMY(@uPtjZ5(5s~ywA=ZW1LyLsB2OIEzn*m9 zTGn^XC*w_E*{WNjN^49-UNO`PY@2jT`trW5Z|_VkSu-W?-EZMMr8~890xniNIVNyw ze_<$|+VXmN!EGMZqIDA%WnA``){eVyYt6*8{|sHLee+fqJ$V=K&$sMu<JR10v*R1z zEO->CUH0a{-Mp(eAFY}ixjOXAYUSfkmL7V*C$63L!gN`8A&Z{(-vzk^I~TYL_3Aph z7AC)H4PAe)m-{Bi7O@2t*81t&8G<#+7MJ9nExMw$g;l#KbCJ7@C4;x`d&gDH9A9|n zPLB2Zk!hOJ#P#>{iicq*w#~S(VrS8_8yZzCWedb_ta{M$`a<gpzu(+T5B=p*ezP*3 z`<vh06^$<sPw4K5`<>IYL56ejsk_2w7esB_lFJpwp%+~c=Xhg^>?Xa%39BDnaBq=f zvYReD>r%I+V)2bBekb;bL}zTZ+#hs*-O}vTGm3RP<F4LfS$I;UUBkM2%RSCQhp8u{ zrFVzdwk~TBh@1YVx=1@j+M~~O(XIGp1v8vD51w|7>UFvxx?V4JvDB5O<U%(g@y-|9 zri$wY2juI@WN@tuTgV;K5qeOJ!MW8jNUT*Wq}l6X(6tL+ZaGcW6VMQ7*dp*WXz425 zsHy8Y`m~#_2xjSQNp@3RxZ%Q<Ey`}DD;&EW1hZt6U8~-DP1OFnY13MUu*Qtlv$i-b z5j*jzHB|q~Qp;9}pHCS=YvT`@y8jH<7unPHZT|=LjVu-m-#C3=_ONMjYvZmUi{JW3 z7Tt(A!s#eh@M3y@)BZ_MwBv(T#I4wNF+roDOGWsQf>uZX-|np`i=Ji#hFtNC-|L(6 zwrfMEmig-Giee(sCt0MmldGpbSt64&MNVMqG?lDRrkqatBANw_9HI_uU0-LdtZQwp ziO+hYE9al+9h@TK^=xX;<BcI)ay!Gbz6H9dSsMM6$$G=;SS0vM%1?HG4QtG<Q&0G~ z%w`|5YLW<a`6S1+Y1_t4H*{wRE=?2{XL`-j`cghL^~|E=qGB(d4X%s7`sZ4-v$}?z z<JH=+JJe(Hdd)quE8aYEUl4PJSNC>xPXF3jovP*`OgDCX2$z~CutY}mmVUhRjX*!X ztb**uhr1SpemwPe!d9+crUwm+Dl$};6zn^^L0Ue&VTI_Q>Tns0+5nMNcfwhAzgoLu z_10?LrvD5RPu*bq6@9au``_X4zkHmx^S4&nXz>;3#w<J~pYpazOiDiCU7*yWs2vL! z{jzORBRB1QBO`c4@lDXWV{=xT-@T;Jz-43o?b5c~9m}R|%xgaBa6_Mg{l&8_i#-%q z#$7gNU3k`7pnkIF_JVM!8+@XvVkTW0mrDEY7tDSk<<|K363doPvu>p?P37ah^ZRy) z3Fo$U4U<J0!nLyxX5>$3kaG4<;BYW$%!ra%a9hmDJ|%`zYnCh9I<A6+hhrQW7*|g$ zTrO}$O7LOU%IwqaH;QELUgX-j+E?vA!=(JpUz83oPuwJT>Lwq*)D5@Ye9Rt2OC7d{ zSomoKaW(O7H$5F1wd2F=Z}R(-Ti=Q^G`h@nh+j}?Gmq&@yH=Ch0S0~Vgyv}nR}@Jn zy!DzoHDk|K_5wNmJmw$Yas{)ST1Afvh^<%{ma}Y~xXBLJMJuzmMzJos(qK^<_@?rW z-rFFS)vA%Mr+#F=c$*>m<bkEp<P3#MwN?eDB^Q{k=rS>$;Br_kQV|pBD7vDEcj@EY zws}X_g#`BKiY<E?cB(OIZBC|l2)hOg>)NQTEUy}th$|kx!PTVexH{_X>+R+)3R^=0 z9>!|_XW$Cy&dds1HLW!(tlQ;T>w>7(RadP{qyqDkPw8?^TcIVpvMPqf!gn=mPWSYe zhr1t!tFHdG)8%5t)>RiJR*JO*xAx|8`2O%J;ae=YQTlR{>e}N=3ImTR{E+GK%MzHB zbd)zvU=MGUiNcX2-Kb)3KW}Egckw5JCnmV**<>7Xx_UNdL9SeNme^8>Q%V#0TnfE! ztt;g`xn}FCrxt53#D^aGHSMq06;{WBCrrhG39M(gJkxbDT)?Hfb=Ae7O)@eL(b|se zqSc}sqE?xC$?!Retzdo0xWeip$0PyGd)v0=X%z7)^>Y-pep^z>xN_q3m8wggP3m@V zVF~@VV0~lxDeHK}YVor>^wWN1x=dPI{r1!%aqZiVtc)k?7EhR)xGpn2oBOMa@S7It zmBmiQf?by%-xd25;dp66`pu26E<4D(?%Msu|B94Y`@Sg0CALD<xvMs;jk=x0v3rrH z){BPhuA3`9>|K0HuG4l$e28h$-@l!O7X_ZJ&u;Qt((q`<t<JZn7S``ykb3FS^@U*_ zS8_a_tY542sCDAYD*`w80#q#zX!9uS3{`en{C>itYc0$jtdZ)|mVLYt5I2imy7-{l z<@W2dYFq49{TA?ABr0-C^VjMP5@OptVwRgXTs<71)jP?QwP@|iwOh;j^_HIHzI9Lh zuK0BRjqzK5J<Mr7^=(crlaArlQ%~fx-bQLPT*+8*xQX#eaGBYxyP*rD0?LkUb7*3c zv6|Ll5M3FyGf;ym;Kn3Jw`tev-EZ7j$8<%2xun`b>m_4GkeJ}jrt4xAj^b>4G8ps} znpVVrbX;U4b&B<1wbTN}TozWYE8nj720RH>IBg?Z)AUSWYjMZTxl5jK-}tchY0eW* z^{>88t0pp57iMuTv^&83;udq>857r4+>;uAYw<cZa6RiaZde;DpM9%1P$pFIu;}-P zQhsl9ZtR<OKU>36O1rxD^U=3w_vUo>-r5~n+oiHPtp0#u&{eTXb0xW5o?TkdutfCl z)+H8ZUdz9)a#(H=zC>pG(<NEggB~@pO?YZPg*k?ugZmBhv}OH!-%K&(C|DWku;{Hr z*oqd{hC`tWg0lO4MOIzqwp}&hCWGli7AD@U3$$GXM7BmvkqF3$Dqg6yGKi7Y@zlzw zt(*1*C~wTVDt7B)(9%^`ExSV(gx;FAFr!<n<JeY4F;@5OZ+7x$r(8Z^vMpM7Le&jz zmqp<mU2lIa^$uroo_zCU=jlUU7g}zyr({|-EHj!?sL#*F&Qf^2gKd|>Y;oPLwmC2M z#Qd1valJRw+o4;$GmAa{Vz&63hVHP1!TBLkf<3xi-)s_^1+HunTy=Hoqu-W|Rz~4n z(|b?53q31(kt^}@YL*j2b4+d5mKYtI`|tBSpIoxh6AV2%<$>sWueah68w9o9)HRBD zeQ}f)$yg+PduqrImJhazx^7)mSnncw>dStwsiKE$7F-He+N}LW{D$R%ZdV4*5K$4^ z&)MH9O~QFyrdWojO_y!oa7i?PgV9k=P;7sy*p9^+ciV*KaMUYuhkGu6CEUoNztMe4 zUUx+{(}T6l9qB5v4qMM{{b~{*!goN5>DIH!$6rr9#BuGm5dZoM*8EO$de!!I>}C=1 zvRh;F(WBi|F#Gi?**UMnH@kB#-EuKQe%qhb#eUbeWr^Mndipg!Tkp55;N(}eJFmE2 zyL$WUON+~KdX6tH-4NREx^&$t_a-hgcJ3**Q$#<+Zmt%3EdOUY^Fpgd{~0z;$lg@@ zGK@dT%x>!JUkl$&U@%*I=WTLWa41U!pMKc7vq6k})^dTecTa8F;drHYK{c0SyxBIc zuLa>}Tkh8=1T3&y5~`IwZA+ueja4GEI=B9r!>*fuJ3MS%*20y3TQVkQ=zHgeo%*?t zd7{nlu-RYZLl|O&-uubi)V{zdxUqPxeAN`U6U{DMTbKi$R$Kk;ox-+)OGG<_dG&T( zlf9dpx^+wnPsvTa`Ba4QjzVTs=A)O^Z}>GtE+79C(!NVoVAZv*i3uDgH}iQ#R!Z;E zc31pnrO3O*?NK+^#VpZ+2Vo0lX{}@t{ro1nNjf`2*6q)&-PX$01?`{WSG`SHr=Jig zyI0<0>Mp(TlpV~;8yK^~R&3Gb6j`y}rD$c)Vz;Zi-mHFpKX;|+sjmvJW@X%GZau_( zYZud<S>h&Zi<%ZRh{rIjWQ)3()f*~Ot0n3oUGPn7Z9%A>`1^|q&KnfDqFTdNZ`gW> zF=#>9Y8Q6JrJ-d{gTC=z&=B45{?JuWH%MS*_Q9m9Yzjx$DqVf-A`<Arw3TCHMze>D zmPSFVR_MuGz0l9Q^tW!>9oES;!TEkxX!bGTM@5EP)>`Pgt};_=cDl~d9VHSKesO`| z?N=)TIW~$-ab0d2#Ly5G$Td~VZMVfG1*Hq3dbv4XH(KO$uY_NEH|+{P$CO98{U%R0 z#4v8UqrZx^W3hzBmPL$llh-IUF5K++S3qa`+yIfeC1H0KymRiI)WmwiV(pGkLHvBK zxn4i`Hs(c(rgDdSd|D~iwbX0puJ{GHIoq^OU2iy?lUO|G!7+<l`n>MxT1BhudbKYW z_%C5Hymdi=DO*!urSLb!K=-Rfr*&PrcPlikp2u|c#E0lNliuCQJv(>nD!nBSo~~Nz z)S8`Y!J?zYdz05B?5LRS>!_$t5sa6nb!@vDRd%Y8CF;wn3DNp%iv(gsc$GJ(OmNhg zAXO3eK(~@N!mpU&j%C3L(UbNGueVfWKCM>;jp}<J4gcscslp*>bN#{lCxY1SmF`OL zQ#>(2^p*;XtDMt<2A7=c^-Aa0zdE*VmqzuogBlYAbJvA0;*7cQl<D`4>CsMKI3N6H zkn>t4ro(&T%Caq6A2%_oH+3@99cNsgy6(hZ#~XSv^{+!*XL0{%&o1@op1AhOgqTa> z8`dbEuzNGTHsCk+vqqQl%s0NP9q%wbsO8QM=X$?EbKc?T9rE#6Q?(YcDw(-YkNVB} zr=Q=2#kosiN*UMM>1U^u7uX-a@nxsl^(~?;vfu7rKlC&|yIYTs*W`f%<3S<8?;%k# z;a9~Op2e*?q?h6R!d3BoL;Iq=s~7&cep7%w`$3<DtJtxyEtbq19d=ASvFYO7WB0bj zxr=TNte$qKox%AOpTj4afFe=%_P=W;U143Yb?c!8p=BHVuK6#z#}E_kyU0mzY0|%z zf7A8cTUT;?=wx9Mu=$*@;M3ZoZI6qtmThzRm>s~dU217rjzVZ_B460Us9O`X6ZS3= zZqP8gwp;mibm+O&m#!#XTW~AHlk3_M1us6c>(cueeG7awmwXdj*PztALq-3>wgnaO zAp%c}Z(UvN(WkN2!*O+R$;$ex-~RqmS>Rfjpl~&0_3SqSTfHt6@jLB55S}35xa@0) z6EAm&?SF<|1+i|Iq&Ney6<b5~Ggj}rA~WYmMA)?E%y1UnutqV3+fmDNV-|%itg_LM z-K)^su)g8Jwis>SdTHfTPsK0ZjBvcAZza6`1oxTi+U(nwEZ!t!$r(Pi()Ficg~BBT zkq4_L-V_piYGoj{f;lCy*vz%4I!bF+FY8LJ3DR0iV_F_&+=!bfwdjgFi}glTi%Yjt zpDcaKo#5J<d50;}^oaJt1l|ive7QL$%wwCi=vq^g$eM*O>((fq;$u9!po^n*y=d%< z#cxFyXqcDShOUiT$-im~W8oc_L*JF2uj9Pll@X(tGj}3aW7GoiD{B84q*Q~umcC#R z>z=wwuz|<STaZP6>%@%OxxaKD$1xN!#4^mf(08JBl|uG<zD)L4&l|QXu(3pEo@ESV zDTobWSfAE9VMkU$rqwOo#fzJ+O_W)`HgLU1yVCK634#9CrY{ZY@KX$1-6g}Ev15YH z>Mg$O1T<zjb?tHvebMjm_MgaWwyUfMov)kd2rC~_4=vkfZE<N+__EpBH*U)DZMpPp zvfG_o_9vIkdFa)4P{7%>HS6-$g2gv(PrRb!I>lLZ^;JGbsip^_1@BiCJBlCB4dJ>r zF=Xr2EOF_edi9I{v<^78c)Aq3aH(u%+qzEfuv3C6!-K7xG;BUJcd%XFDH9;0xFh~c zX`$|RwtdYWZ&R5xEZGZWM5k`gJ^Svh<JK6hCw~R`b}?k1Uz8!7(Gad{ws+OmRr%aa zU$VYFzMr(BT<+Fs`xCJXVw&f;uD@CE=8{Hswc8p!4F++QqJZsMHzuB)wJ&F)=dV=? zH<pFnnRlf#Bv9kk)3eRlT{hnsrgO=zxu5VbnrTOLPQQl8t@scQ=b&Rdx5Wu4ePhkJ zBI~)HW$m;Rg03elw`JySd-O)=$`f}JryE*k;!EGM{{CBdXWo%d9F7O(XZ<i)v;Knm z)&)-cDnip+!fvhiYK_{o?a_}LA~I{4xE`{umtyD^5P7uf+N#cwJ$YGTE1AOI2(7t$ zbC=@@s|$<zmDcoyUfQ&6f&78u80`(>H;T4CG4FE_Y5La8JRwO}d*Y1+qO5O&7;bPV zo|2LK*2q!DAj0tWWfX@cizZXkR<DUNK~MP(vc|67x7yn;>&ha*tfenmUU7&xth0`Y z-zT_eYe;vl*rKDWmiomVUA6BD*Td?l4@{e*)rGb#i3@vm&}Fsz)KfRbEh}aAE56*B zmnB)YUq#U%dgG}>X3ZxYPoLPcC*S>K)<G8*C*7xK6^rk;c(`9Xog&Aj=h6~;(6%#f z@|?~sUV1J&BV5+yeClqU?YDZ<tVaQbz7vJ4Cuhj%EDF23=Gv)S>n1$-wvSc!ZQgA@ z?$iTuZWoF&qouQ({$`)p8dA!&Qt()x`tfY9(5xn{wI-JAb;j|EZeguYZoJ7)x{`VL zdyRO}PS@50X4f|#o#%J0lktvz)|{umc(<+y^<z$wT6HjkW2@Pzi(-Gba6Wv>ziQE{ zYYSFA$q~p;y0B%T$JP_Ao@bYf&2{z&^|;7%LWV15ky+gNZMUoztz0U^Qh%ggHEe%K zAY;HHuB(B5x2C@F=8UoAcFAE?{u-mi^!3Jn2HhP`%Kl|dv{|%wy~hr<OMF%zs~fsl zYdddGdTqZ>KPkB|{9sPP&MW2aO*?O0wBdJ{-u?8*baAr=j{gj*e%eiSS1uney<l=( z<4tp}w05-91;*^`_-*^s*>YDcU|X<j=k+&^4y|dk{TyctTo-keFH)NQ$Ll}CTE8R3 z2l%o*9tP-Lo3Q1cKV#kg`V;>dRQPpyb+0b1zZhMhd3IN>fY}zV8~2wUefvG}=EFZb z@4WGlTF|V^7x0ijL~P*+la}zU-j~+)Z*lf|qNMS6^34oB4dt(4j!*cdm|y=1e9~WY z_2cG@o9>ej-8}tM;gQGV4fhu7T`rqe>-C#;k&XU+^GzJgE52zRC~mbZ@KU;3(50Zf zA#WS&B5_93-c`?o({F5XaL`s^SIj!KoAKD%g4RXv*IkqPox7Sb=jx{HIgaJhyzA!$ zIL50t`}%#+`_B-+`Tf*4g3hg*R76;pS6vNV+q6rjxn$cz(d@4W&8%}*Y*-Uzv+8-* zQrD>8+UDEsCRB3R9dzniSaoZuBimXJtF^jf(pOfwwg?{jwo`N8UxhE%r|#n0BAYS$ z&HYum>!P+X<|ikt5ttRQG=_oW??nzK>uFmS-DWe|x<op|kYT5Dif*JseS=MNc2e8P z6;(?_wcc?$9-9^5$j}|OI$*1VZa{v5z+3N7k8ao1t_xjTGXj%zw?ukJxhQ4a{mwnb z>8YGxf%~NFouM}m%JCh|*&gp@#&%`D-_^SAX|JxmKGD-%5__P~^+eU?IM*jzcL_z@ z&B;FD^l29VubihDdn+|7r%zG(Sf;bk<+Vpkg>%}XC;6Lud#|o`S>PGARyuC-)-b)b zmMdD^^|+d@Pv?qR6n1584%eNn+*>L`RtoHho7VlUB4j7mDVfz<OPa5p5Zbm#*Epb& zqv}Beqn=FGTuJpyUplmd#Fko4Yxa!)>v2<ssV8IGRDlNV*0YPe^0jY0nz;0rilW!d z?c9^PJ;FY*GQ_78)hcw{+`s8mRA6XEQ+H;Tr*e}_aPzc|2G*d(DN&1dWXPY6?OPq^ zTzOG8tkJ^qP;VR8)2gV2DN0vt7rDm$?Z0|wl?&h1>`M<9x43F8a9#Cu!6I?4j+ho* z%WW3i$F^$y{Cev|*rPQK_p7F8SWIYb@>KsO6R4{ze^fk!u`*gj&PiY7d*ki0Dc%{s z%)0J2Mmue4w3aG(Xg+P?!O(+Ol)sB`-7po(yKa8I&#i3%qvIZq2}`06W_`<DvZHse zR)Oew@vntf@)v~6-F$9|b%_0hUvuMcM;CGwXs|FiPhr<QvT@l&7Cw$eE1J)z30yqD zJhkNSK@Ahp!vV|sxc)Otd_U!FjOPP(vFpqi9$7g)kXPb=e9}X}?ZLFgtF8tzdogeo zXovbaPh#DAU|AOn!>i@OH_Wb!ajGzhzgx?=lHuyK?&aB;Ys-#@{$kL}x%6cHBkyv% z<8N18efRN&X=}FIiUqggkBW;P2-~Z~l)YnP-7VXzYKu?sx=)DWlv(I&dNLtHNBW|+ zpXr;d^9z?=da|~1!(RQY11?h!Jrtj|_Mq~V+WQK#?B2%RU0dyXr8kgkZD7=vvc<_4 zwQh+W%-ZTAQu#Lf#`5gn3{xGXx1L>glZE9{#_zXh>-x2)zG$&+TGJ%!VRb?2+ais% zW~zJU$$r(lP{tEy5Z?bLI;|n}Yy7eT#|?7LE7^tGH#I76Q2Nc9xs+WY^mEn)F-^8f zdllm!IO#?$x>x#eU&9vm#8Wb>9D*1`S2)IMhu^-W7`nESdBfICtjx8b(Yv*wK})@+ zYJu{MX~m%uk3(~X3>OKeF6LY>$Q`tLtMdC+&$AkD_LeOQ6{&a^#bu+uy6DEvSl!+? z>yxU5!k73i3e_sl3+?*in4!{;yU_5hirdu(8Lm^hnXax}pzLu~!0Bnc>bdyRvw08p ztm8QIBrPr=?9m$K7q3$$tzh+Nc@@RIN;M#c(YtBiQ)!KD7dN~Ul$ks2^rSB32H&X6 z-%(#~Z{50D{9t_OFT2Kt4)eXPM(JioUDAEfBC3}Y#dg_Aq=AE*adFtjj4i5cpVzLH z>CR<~%*gfp=DLN$?6u<7mA&1^u0DRU=~}mg*phWz>=XL6Lmf?{Cn(AVym1cLn!)S8 z^=0+})g0}q9=x4d*I%#LBp@Tu5Otw^iPM+H?3ma4Z!iixb*w-6<h93^@9UT@H|2b~ z_(emn`UB^$Zz@yXhA$VG?<hNUqX47A4b`9pqO1!x-F6Y`4u92Z5+pPE5M$Pbz1k0t zr~i#wKX=xe9Is!ko7msPJm}u$KH)h_ru5Zgb7b9<#NKA|FWtJxlkr>E28RhE;^G?} zKA)=43*ln9penl2h3SdEbn%xfg4^#0{A1_(X&rE7e)gMh7ADHRaaWH8$0wS!)MTBz zz4iP8ztt1=?XGqyjA7`G^?K9lYPzi9Mvz(P&FAsIb0h4NLbLj{-}-LatKR!qRXXIg zp6j~>jt)(a#8tNZZ9BN9?9n&YcoDtJ@mXiLMMdA><4&8H(O73Tb?GX`?6bAI!&%p| zm`(3(yqeM5k*grKK<QrKhSsU4maS6I_H_wbqPsRbhGW4t&9=teSqza29OAB;$8kK` zS~_jQ9L+nH;flW&=8CO5|2{lakCAQq#$2u)CLIbBQ~I1;r@h*-z~b74%#eoMsi!ur zI)1~ZY3~Atkk*NZZm0Ui^d0@PD7XIFopwEO?t~8QmZ%G_9&EkpVR|-h`m48#uD@tv zklkNxDj;f@l{HoI)kN+~OMkyTtEI{vcQuObqSj@9h7T8Bb7$M{^^!ZlVgB}av6o_j zOtjy}#qxGmPPP%xb}TH<kaC{*Heic|!xXN}Ew)h`X1$6QXkN?I$Xd68HRi&qsBhaA zW=(w1(4;kCHS+|o)xL}c_Gc6t9D>$mayv533jMa!J9O0*-9XuuL07X@Z~dkyrtT)Z zIL`F3Yv)B}A)Tcm{nd*y!+%t>iae>dzN(j7)U_|x`<8a-dghigrHci&J63N^Sroc# z(sqp#9yg{uUueDh+|}n<ITLqUu4O%-#62N{!?fb)E-g2ch&dMo`B-i^aJfi{wXSVq zu@qp?<qmY+*5M+0dh#5vZ{2~}Vbi+nrgVffxK_CaJ>R%>>)My>QToxXTi3qK5l|Hp z|8t$8s6#JGtji%PYf+<bxplzZgS_2!SEQYtT^nXaT`JCW7nbVOEBxlfAQGXmZ30KP zi@NEOfTh_jjEio&$X$DPtMT@?SkEO&7eg|B@2iMe&3H9ya*m>R)0)*`9?KRna$Ws+ zL)gV+LG0S@3^89l0f)7{pTb2Rg>Rc~!6fC$eY;X)Tf0?*gZ2&c4aLkSHoq<KU_9M= z(nVT^$t-@;g#Z>krwm>3ue_-jH9j<Fv_vQDU_2OqlJV#i%Qu+^-bC+~Vq3Ui*54xG zy*p}M*Uoa(UAwYCK=at_O=bbATy7VOzFF+vVt4WCj)o{MRW8+~OHAhKi2j+pqCZ2o z>BiKA#RoRAPU~M7AJkaLvh{@a2AQ2%52Xv9n%&tMBEVs@x@^hT6TNLq^q90d9F&A- z{azjF-L~qg!0d1FtHfPa+}3nl$~%>*cCmK|W6b@nZeO^X9`t8T7qOLNR}pejVf@eF zvdDR=LVR-bW+&FQx=M}D^U8j|tLd$D3JQCxUEs+Wn0Q4z-1OwX&~uIN)@hoVTV!RP zu?}0XdD5Y+Ti31^T3oV5;GOf1a`FERxsyZqPHqX@uJ0YrZnDs0w(H$_IZdsizirlu zT83Ynz+YstLinqmSgZ2Mzl&eD{(98U!Qzm`$PgNN;Z?5SQ4t3BiKkXOu3Bl{>eXIc zdNTfNjY(do=_$FDfmwFjOcQfA{aWoWA7FW9UG~KdYm_oBJ!*|rYyG`}Q>)Q&#i~cs zHH2EX7KCd}XB4~juqwp#VL_vB5&LY1ova6<*rh@QMOIDcn!8r5FY8*zhTuhtmM!Z& z7dM2zyYR4Rui7u(H)dhg4NYH~ShU_ATIylSn9&vLQqUl}YN^ZG0NGg$kMC!No^T9e zWLUjb%dyH~wT8ulC;V9<TU}SjU0E4)HQQ@~>{izmTQj-^lP-#}JX5;Vof%|Prrme^ zYME`n<{e!p#UjteHw65XQ$)R{FFon^AoCyxJBvGOk+8oifAxCRMX&u9#oUfsrFH7l z4*e4a?i#n#GovH+SzcLmz%!k(VbQTg2evW_?BqPR<T{t@!j(sJb~qkUe(%4LYfbIc z&nfa5TeAeSuFBW%+UzK{AX6l?C3HgbDL%(5+a8>BPY64^_mJMg#JuKd2NpR>vs?&{ zh;er1a=p|3;kr<FXLMott;xz;zKbiLTC_4$Dd)q=s;FBRbj4;19O$?b+jME~`n8q; zQR_s59<60gkaF3&?9{i$M?W4Ythvr8?{!i8l1ZS9rLcEw;HHjejSdP|Ot}t(pWD(J zE3Ig|ZD-8HZ!8n*Pki9aQ25Xs?cSoJbhk5;^Wf>9LUyYrifPJO7dxj|+I2i+Fn!j$ zsAKCYyBCrF+}l2^jM$WOceZwm4A;Jj>VBrC()IWM%CBN&50Y7b(VDSZK!>^Xz`xY} zwShMj_AU<1Zdk*2fL~(Ouh${(B>axbr%hC}m^3#pUFwb3Hk%@khq3D)^{)5+sT4dX zd`aHHr6)8BoHoTAlDo~Fl^`<r)R#G4Ph;16E?Mt&C|RoMw>IOgCSSH$S)At><~wGe zSbgg}W3AKE6VaUuG+LrQy>ntb)hX`M?I6Urq-dwo<eY_nGPmuS(!5h+wf2QCW>+dX zqi@%&)jltEKRxFbhX~WAPVU!^Yb!rq)Q#yoAh1$w%l6o|b(I%0p013$wk?XITyfvQ z4HumBG`3xT^-VqD{6-Nc*2vvkWOU~7Z9T}k@K|Tag{_QoY{#0p7OgB;A9DGGbJMoU z{Oem8R!v}JyR?LLonX4+o^K*gPl^bps|2kMlPY1fT%d4IW0Hl<!dHi$D888bjk#gn z^qY)cSL2gUTx&Zjy<1Uw(VDU=fmt$o)uHki+4d^&C(No`R~mIm>EiCI0r6YUvRg9k zbbVpT<?DP`@sQ2Lle{Wz%eGqRI=FT_-@NX4=Yt0a!>p^Tm}hB+NaY7@b)Nc?+xhN? zwXEI&E5oz?GjN4^2yEqOyrJx}zIJ8s8in@UT(-5jLA+6`9Qh6`s6RASK~(Fl*Y5Bv z7u~=l-Ka~&UWyhX&pt(Uhb@)6dh3F!P-oa$fqs^5*DbvwF`=uUisTkLhAOSl5?|rk z9g-ZgnlWk<`xZux!W)Zp&5Xi3#VmA1E!`EfK5fz0mf6Nyu<m4m>&asmH@%JP)O@cO z*LR-t(qer(?=bD=TQ96SE?TbGYP)Bipjbc44cCacYpYgTW?gZNntf#vV@SBx)O7)0 zDin|C?$lp!eKtR1rNG2o7pu#0!SM$Q!<uLN>aN#NKAn9!{ZwOO;1)}d2Z6tqe=E;^ zo3`!A?dgpFF2=At>RQmu85O`7xWsjNfzw(i=G0$mQ^gi(6tyR2o%+VH^kCk*kU6(p zM8n+m3|EB&?p=8>`p^<j%`0nzo-Dey=<Y?X*>S(?=3H{_)hdkIvv@DVs*7yv8bdcd zta4piSf=sn+U6;iaaRj;__JS^^{#eYxlllyA#~NFZ!WebYFjV0HLhjYuDFFmfxXr# zGw$+UPgkpk)egHubo$p$%-V77{M8j^GygP%t`KRR<h3h*;X(BaCTkY2bWnbC!D-I? ztOlnGY{!?qk#Rf0G-uz@C!hZ_I9B<+b^598uy?^;*07kjyScee*{ouDb)7+`LF<t2 zB34H4CWmKl#ahY=e=+0+F)aHVBNZU#u|dVmT9!j}Mfl1s_T3y;K6PxVZHj5Q%Ecn` z=<M5CCZ-9SdatWW%kHewjsK(}pUW%FHeJr~fzq$IsDx?Lr^Fp(-oUwzwRTqLgL$T` zMb+HelV+#ZI)ZlR6))gZSrz_8^_;_M#oLkJ%tfv<HM*2tSv$A>^UJ8;BDXlIwdOTg z{dKC}6}n=1_DZg<FO?Z`-MK84=9^agDi-+)WN0m^jNdC<cXI9KQ%s#9f?2wZf?qEv zC$h#&%rF(Zb-nA+jwOyvZTEM_{AXxY4?7@K_qy*t!;zwGOKWEz`qt>MHs^xFM;C=A zk+l(fr*C~3xaxrjKf|(5y5}4|UB9I#S~4q~qoBh1!c)F?xfb1SM%_*ft!oz^%6Pi0 zBklq#V|LI=wpB|*1VU3xw4xQB?hMaeqO<DRgsiJ<4eh%^I+n1OnTcvS?{H9P;#!-v zHEM0Bf`B7a6NiZX5AFX94J}b~u0+f^^5SBznEHm6i0;tvB>k;gE?O?DH70ew4eNGv zpW<cK`G)Iee#Qr#&`+%*&$cM(W*^ekP}|i}+b+<rp2U;C#Q)kw)!Mu}ff@?`%$7Vp zF5*<GpqqX8mcB#pO0PxTI$<mH@=pXVsSWNd+FHi#rS0dnPDZqF<=$K|U9tVSl}i_0 zX<fh_;v67z)uhX<%glAcEYBF0+^V=~M-887Jki`1;LvqvZ5Q9xq+3pzoBm8uQ|Z)= zGVxx^aQko9t`HqQ{q0MSic3HGp}t+?@*OFzQr6{3UJvwFywO=F`1Yv4`q#hsxU<4S zS2J&I^^IZl*rNYvtLr-UIMXE(T#R+S>u*nO$ccY(OCd{Z-;pWqQmreq7H#1$p6t=Y ze=~TiE=zU%r+>1CR_kRcC|O _8Pjc;a@O=v%9<-wNj#9>?99|G`Glar<%I7}lCu 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�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⪻-G3u<EdDb{|BU}W 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¨BO)y2BsTcHZwk{tKg+RS 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Π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Π`X<M9;<~`$)PwT}exsQ_mq)+~F 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%0Dmj4WH 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%0D*N^g71L<JWedo9xM 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�jrmR`K zW<~$1ohKsP)1T>XVD$JJJm2-->gwR#twoXks~*;Wb(*(5V(!P{z`b+3W)@gY5Im&D zmguPRpCM?&z2gZYCa;UR|1&7exf8@(?!o1$dii8Q1ozAsy^<$RcQ?Ke)K@(sy-Rd& zqBZY^kDkHSmk+J4KjF0F@XsiLgFYe8u3IuUp8ZtjdHAup%4+FKeUYE~7gh_mPg%)$ z;1x%t!*h*Cg$W-fG?bY$PIS2cbXNZ|)u&6ef9bonRkYl#z4CJD)ehzWry29gBO6by zGTxTOt{XZxsp!z|yKnr;g#85Ar)890WxD@av`b2VkHDdVxCffk+0J!voLA=H=)apG zdwCN7>_!2nU56eji?*yZd=YxZhx1(U;{z|u0-VE5zqbn7Us_|pV_3o{oTpF}ajd7Q zIf|dZ=g9)|+C8Us{9I$bqw>{a>vV3OcN2>`RU$8zaGqb)*|(y*sw^V)tV>0?f9Rgq zKh|s#JLR<D-skYkrowq=?*|3)-QPOrXhKb=lXL5)z^~ez@>k|Cm&YFAbaDSOY5lww zh5aEe$7Bu$*`Jza*(?4kOl+cX!Fsz!3I4pdv$ZSsRUWD=@teCpDdhOcbj4#AjAGsw zasAe~CQzm)&*3twzy1h!NaNn0r-V2RXGV5Pw#pj2ZpdHh*Y22{!XRe+_h4m;Nd3&E z`J8*#FS^^FBz;z^vdHnUf2)wk`3ilVX~D17CtuO9S8KHu5sIz#PrrBSU;Bmz<Fcjo ziwdv&nA-YP`(1a#wI@?26n<#u*6yDe`D=<xB}1oqk@ej|*6#*;jvo4ZeNjv5M81<t z8RaG|`*uRKx^nf*AE5_(#iCaJV%XH4!5F{m_s#m{=`S{2x*(RkvgeAd(V;~bR~*{C zarGKSiIpl(&S-N!J<_`%BdlWo(s+NNnX=XfbM+M#*V#Fi@NIBk*UB9&dN8~|W@_Vk zyX-GP`(9l&I94F?)z{|eyS?Fe^!F^NOnDHz{(#y;_js<oyVf_nxGvgO8<M&3*`_a3 z=M;r9FS?eYxuZn-w9V(RpQ7>#qW@Nj$mvV<c^$rL?0q-WI3u#s(?wYEx`O71SCu-B zXU+GBrYAKY3EB0mIN-$R!ho0T%M)gNajA<ISo&_p7SY7lTK83FO;j(_TmLU<UESVE ze(9#AdiuF*xo338y*zt$q3z{Wn-|@gdT!1X?PWdJUu^odaC*qIb2VNjl3ugxGXm`- z89n6^%6$I{yga|@-loN~#D1+gKSkqcj#0>$lhIfGy-zys&Dp^G=$uh}YLUO{x8RyJ ziHYnzpThR<o~SMUWEZo(D*F{}ld7plj6bwatBmzfk=V`k`HVVu`mC>;p4B*LKYhsP zwo5e6yF%laX8sE8x7yKGj|6OfIQ?fh^;#!zvgcWGwg<vxQ+VXM-!16e_o1kP;aRE^ zyD!@cnPVFo1AIF+#_iIszq3I5&u^nIQ(rIo%fzQ#!#%0Q$udfOdAj4GiJvs0{xgWI zRDON)TjYGz%M&7ht`BYS^SEzwiXn3q^Sd>h|4p4YEzDkZGSBCrIsB?z-+ojp)E5Td zoWE$-{LhC3=PPvdz6mqhAFy=Ca^5Ga;}=G{eRE9g6LE<*+diwwF6+;dyT-pR&WjZN zndtF!)vhD4Pnf1XUlIP5(K+|U&XT~(uG3~}&MoD7d`4i+8T(5+S3g@jr6|nCOrhsW z^D|`=&mZ~PiZyTcueckz!A94Gy`a#frKnCh!RhOcU^|`Z(y>n#E{M0}GHxw=!S!3I z>R#Yv<C)AVp66q<7`H@;h^lY?#(goSX7Ylq+pl{5T=TE%()*U<=}QmY-IA(R|E^ox z?3Ptnyz2DtO6j8OIS$K6o9k)wo_%U^?`KEgI@SLSQ>PqXC_6vJ|3DI#O1xO2S+(vb zMQ4kGC;QD>EzUfYT5WYCpIu{P+q2DEZbmfMKDy%Zg=5mz*PXF9Dw`H$pIB&gFHPLo z+;+OI&8)?o`LniFi5BOwr|?Ce;$O9)`v~i=Mc&TuGqsANYA*X9x+<I#qh+_E^J}X- zpNCACrRCxfHMP`~{!6buevX*Vzh-6W^c&jujJcPa*1N3}P)Y4feW`uv@3tq)%D*HA z$sD^~A+Y&Gg!meUnBI#Tk1nK%%)WJL)}u(t%Z&LU%%9j6C7+E*KcW44LYPAFru`Qb z*2P}X-!<dIyO|Dq@~u02G%pv$W?qc?cDLnGO-#^|V_~`)ayzvrUgvawA@X|Z)#I}^ z{G6)xJb-C}!916B@<yAFN+!AFS00-7>B>TxciTfI{`H%h_#oU$>G0!I0-stOw#<Dx zEz%<{y|Q*AtNInz*QIk$-rc3!(|cDt-i7DUvrU(dRkLpVUZZ<-7MsaE;Z++9mrlR4 z_Uzr;RwDbW*jDo&O3~ZZv_9?Vo-2PYoaXL2Y8At@WAX1`w$E$#cug-3H=oP&_oBk- zJrnPBN-tq$pDtuqZaZh^6q9+~Yu4>pt8K5X<h_4I>n=8NvkRN=_Dtc4SZ)+jbk?)S z=BfXyeJ?8CPo1?j-Q;P5X?oxh=||kxRe38X>3aN_B4*!ql=HIEy3Lc#G!C9Vv~gbe zq2|^-SLVi6aG9EI4tsBVp){PO`D)%=qp58PJ-0;qS4}?kFgB*9>qLIRebwZ@M@{}- z-CpTcGI?st`aeylE^T^qSZtnM<~e3QZRwTaKN;3qluTG&uf5gddBU8}34Gn%)el=2 zsR-RG57ax}TrCm%Z2iV8*$Ss~<#pccLtia*`FXSSYK->O!sIzCt@~y)2^?kP?FihZ zu53G_(>yO|qu_%JD~dnfJIF7(eQC^}Lw~2Z@P>&!owMA%e^L3-hf}A?pPG9iLNVj$ z)N9}GRy~<>=X)_L{|^8DC%Z%2+;n9s!oGd!?l{T&;6Wv;yi&jBDQkn1NB=YUiN!5g zqg=jv&XW5No7R5j++@=cX!XhA>zU;tuNix_HDA0tA$jPdbmRe@Jzav!?L63a{#&u- zMS0ET@{^T@cOSa={u64yQf9g1qnU-GckV^2`j_uojbCcXo_eC#5wEcP=~ccwb1thG zwR6jktX|VO=dM^}N@-YsP(#_fC&F54NvDpVJ8iG6JxAG{VWY?S648%wZ&~Xf38)9} zsa*Y+>-VAkHaC`+pU{0>8u_1Ls&oC8sWNTd?-n{TnKUdi{A9G|dbGLFnooWUTC<Bd zo~m~q(bm?rYF(!*Ts2p)f7Z@<n|5WSR^4^@wN~Kp`AYxj&X|by)|i(Ig5|HICVn`3 z>an5Cv~F*nSz>igqQ_6@xNfY|>n=I_R^yyDw}oETlaj{UdtSWSSTkj+z`GevM^77A ztIybV{`Ji{#TjRd56_<VUVDN6Pp2oFFIz-r&a!&sUj8hsV(IR)%Bs0_qR%INeZy?u z>3^Y>SH}PJ^n|><fp;yBocg*&yC>kCWbpc~Fpa}|CurP%v2OEcjn1Zn^=Foa`*{e~ zI3GP*+1+~mh-%dRIZqZZ%6OI+l638Y_?@!6?z26MxYtT=zL~uDV#Lp>y8W&y&x%`_ zP4c9au7~YOXU)76@=1#2o=c=l_M8Q!7ZldE+*e6{vES8pUX5z)wHHS}tbV?#`LouY zPr+ZppKUtcQP65@)Y_3MwO-sopj|9Jpy!s~8x5IHs)g}W%6w`=&i-Qk>vZ~ENcRex z&%ySgM;v-S>KGR2g}=Y4m27-A-lvPD!bIcenm@O>9$6-8f8${1_L*90n0Yb6<-?=^ z<LL&AME5B2#4Keh_~>w8!}EHs=}BM0o+mB2Q@N5^PhpdprO=*DsztBXneN)UFtavH z@Zrh2){3GNI$MI*wYo3R4R{dqbYA6zwF}}Ga8$n6xTcfr!qf9k(B5>;fgN0LKMU>G zNxd4)VOa2J)8`D0)kS+R&e-su!Dz#$U1~Q|Z`Oy{$+`MpO_F&NZf<R`M*Q8T_*EM| zt44kNsQhzFeBRz^L45qGQm@ueH@sPxTebc!hnCUS6M>Q`s^%5X3&K60EwfFH6kat+ zhqovFX2Lp?GwXNto$EU8nx6Qo)2L2eRQXj~*>0x|`=oD5SnrEmEx+jei)H^AO#E*$ zl$5O7v4CNrxxm8{4UNB6|7kkfZtFBPf01lxPrSjhl8DX|5fe6+p0qyink<``A3tXy z`?IU37xkYu2%KQW5qYpzL_f~!<BPTD4=w-Cpm+Xm-3xw^Sijn;^?D3UCmET}PYRgS zF;CEFeSYZq$(5_Mo7LMZ)7PGGsc8&16lW9NTWx%~&062+;T{L~PrF2P+%B%slV4>Q z&bfr)c8sa*#Um+`LbA;j^fv7k_+7?%I`s4;<C#_~54l^f-?aZ^x?ESq&PnV4UYK#$ zM*Cv4;{>NXZrxOQhh@d*oOYe{%rIWbEq;2_w@-olFAHTC3Pl;W81(9SZw~sy{2)7o zFH&gjsh7*W=45=Vv{?JNUbQ^Yc=uH|@zjJ%3;e&V*?O|*$cE=nM1MY8?$gjJWS8|$ zP{@IEoy;0*{ljNkS^S+u*Irp^zAx3YM<GsX-`Xj^@7!6lXKDPU*K2N`{uUnj@}#>d z<GSsVF1%K1RtY8_inS8rgTj}dh)6w~lea>m-zI7S$04@xlS!7-WApvLtvM&8Bl@3V zYgMG&s+)6qG;OL5&7aBYV3^&wN`+U4G5l$fxauCY?^zw6cJT=d3yE+r>F(P6wY7ed z>hYtqIxoFz-SwxY<89B*gVFbLg*JH12>u#Xxxmzt_4<)3QAOR_F)MyHZNBzt)f}_V z3@#bzX$foob<F(CqF$G$5wTC?^2)QRyU#ket(f@Xb6f|1$BkBA@yzxei<s}YX$vg& zsfoF=bDO1sWzm#mSHWdLJMSHIzv}Xfl~=}zLr(7Gy>l04Snhiyl2qE~rLyej9oEYM z)w+}CPSNOB^4h)pj9$&0#gp#mIhSb8Gm8<))17S^Kh4OEeU4hYM8d`TRWp80DUL5% z%%`uk#&qj7;TCtn0JciGv#;-+=Xx$aGsb$kvbLa*vO?dRWHHwK#DWi7bnGNgM*P$+ z^2<Ey{ozcM_#KfO7cbAtDtI_gZR+_?E6epH-4<?6?<$IPKYT?=+1Kmn!>c71`DTjF z`}r^VK){|pZvnBZ-i~G`Sobi_S$N`6Ub50&<JR5AA6Z`39N5B|HL-K{!MCxN8b@BI zT{8CV@74&mzL+H9^Et!U?BNdW`5_#aXH9-_N#y9Rto2h)1Q=PCr9KJSGGm6~!3ck2 z&7HTBr>~lk{l4HyOwOH1Ual?jFEy-miWC-qX_0zV6j>X*!2fV*nY+2y(=(!b{31=( zO<1zSdI3kGxq8LQ!m`STF;7ys{zZPC;ybH^&vHeN1<%d{E2N&NZ~hkWz~<^XC#KKm zxHf!>=rA<bjcB-bVC8+jIR~OAy*F6!-rz>%0_p5Ee-8Rid&sP6mG!jkkC}=Z+vLJM zjuCTA&rCJ@q?%$d`8|VGS)}Jf-4n9G=hi;#J9%RDU-4J#Y@V!9=C0ZqJ$LHQdtq@7 ziWlzY2Os@8>#MTn-Cd{UpR$Sx6;D*GFWP^R_l2C<p>s9Y7k$}P!rWqZPBDJtwrekM zPcqC?a83{`68pTTEG&3QN<ZJXa+jK}>4no{v?t0jY;T*^+V=g-6y50}it{IE&;6`z z@0y&mNbG~*2@!)knW_2iPN)7n-|%N?d4e&saixaflsjt-4=JpxaDCUpYo4(7A?vys zd~UjWC)TaH$#XtscK(Z9auPv4m8^`Ha~j|DPfzx2dv`F~>EgGOt4c2Dg+FxQ4+{MB zY=5e~Yqf0N0+T+Msb|?vY&;+OdSd(%O`CV&FT@wkKU=o4@Z_DT$98J$J@-vujqb_R zr*)_I?ml!jZl`|q>hm*W-X@8!V%Iq7Fem0v$*qbbdhP+DQ_g5tP2F4W_a?2U>d>8@ zKfeB%2RmmrY__eoFO@BEKd-dqe9V=Hv!8JFZHw8py64w=pQo1dI8JZ+_GF3liyQ9M zzcwsPY+o3}7RebdSbCZ7Lzv{VkXN%4cTeQL7(I20%%j(rCy9TJ{421pa^**%Hg!Jf z34$+#ebUS)1lOOju5t@lpVz#JtxkJ|-qB~X&iH00NoxDeId$*3ZVOxZ#_%8OFM94g zoN83`C~mU0t+6&I)2$WkCl1YQ6`bZi>%4c9_`AJ%dv-K2+^S^#81LeKMpS5j>6EIK zY<C`}*@Z{Mb}y8j&##g%cr^95&X#A3ZXd4txw<yIdqw=BzZ0HIf7luKE#~d4wjZu{ z!UE6Mc5OKAYH#9hJu}S0PU*pdU&>7UPRr+Y9yTiNJCWVHY1-=NtB#6)id=9#dI~H1 zzYE*ds#d#&Z|W`OUb7}%L4ZB5R9RyONB7f8&Luowxh}aoY&!gNPUz;tM?z;8A6YQ_ z71x~LnuQUZ_NNtN_umOLf9PYIC+@526IaUh^VF+*YAxxLX8vrQGUH)n&E!2xw6~mZ zy*pXXD=e}!?5ED3DRbRwTl(M0&QG<dTk(1Bg^*7tV~%TZf8nU@I(>%mCQq}nDoebl z_SZnGXWN&ZyXbymQM$ZG;HRKX{hfDyGpOB)bdMBR(woodD7F5I+KDp<Rqgp(Zy(-t z_)^%1IhJl&b+Y2h3&PL55`WEQT-I89(1Eem>nXdbZJ5`;Z9zQuK8bubcVm39Eb{8+ zl6!3zb{$teU#==|6jB<*`)5jXPNe?T)a9nrr|7)nz0Gy(p4XjE8uhm}_Z5itPo5qt z+Oo?iZl>3{%LPmizs_E7^RTiwpy0;4<@}60RkL#@8d`75(G%Oa?u^N59`z{;d`cKr zNVX=6pAy}9GxgPmKNoZ4U$zQM_&KINNtKznQ%T2az0dTUdqe(;Jil5y<@nTV-}zNL z%<l7PtM$pg-m|lI&gN@RS`GGx%1fS=J}5O|$(>_Ql)nhy?3kU@Vkf-v&8AP0=a;9H zZd2NPZ|>FnNG+Cl8^@Rra~4{E?hWB94@;ByD6~X2EHY(D-XD*@;x88Q6l;7D3n+Th z`7-ljOvW;s!(DsVF5;Wyt`XzT*Q0f+_*F=sZEF0y?75#5ef~3qv|4QZq|H-UD7h== zujuAEO;5S*sog7$&-9a$IV4f5pu~LZcOgT=>m%D8UI`vObz#kQ#uMv$PkQb*65X3B z`R_>0wQn4kxjH{{m=$~yoTX6oWX~0yPZwBU7c9zi^Rkqg(wG}-slm|v@tAkF=#Hj6 z(|$N*mKA11pDw?$EJ7f5&oUR^S-e-IIXA@bPkEL;=~1JMz#8+UCo9=xe9vh1ibrk; z;E7l9x92)_Pm{y@neUwk>mGgzGI|oy^L&%?S)Q2n9Bhqt8kWnS$Uex_Vw3TEd~C7B zmWEBAjJCe!E?rWbd45Ba(zPSu6L!W3Uki?Bul9&&lk9HS*|J9`PFA$1xOLx~@U0VN zwglPfblC*$H#ZWvdwNpGz7=xQx%iff@p^S!FA>^X5_UGxtmM7GOm*f6i;nP}7mg?9 zIlMYzvM)jN>|v$3v-ez1KA^0cKV|*KeA8>?3)bH)Jg(rLCf>G<tu<eU=c=Fn3xU}} z`X`fqDKnp~TkW$>)vc!8<kPRJ6s|ONgPs^(mm@po9GcN@c=KfCkHxAjmy>7yyxgYa zvhS`~@<p+iE21h_JlS5EvV4<zbi>B?sYNnNH@r7t^Xt^*;tO1qv-f-HMT6><j~)E< zHgsCLIp)i2YvydTNOd`&_GI}F^F_~1>%vN&Esxw`+or6&rL}dxxq`!CIY}oz_vxv3 zvUmd9A96jHcDK2Z$9VUO*h($qSF;OuFVXjz+R&gUA}={X)%BgR<HgLgmUlKWheXx5 zMI{zmUs>7t%rl6^=Gl+4(NnMRG@Mz#Yp?r*GaON08kWa7%Iep6sk6Pk&`^9qvtvHj z=VzN|p3R$ZZfdd1r;AmQY%+n%K5h7vv&Ja0<-Lj0wRarTW;ppgda^gqa?OKEZFx(F z$wyu==&<})b0PFdY{>=fZMvz`UgpeRH>Yd+g7{T;_q~y{Y~`Ju5+mFw6?JR1xU8RQ zs%*}ZSNe+S8JnHXeqJ$E!Qq0JZON1ynMW?}c^PEa{lNH$SJTgD&LI-7*4gY@c_pLM zZb7m8tMGpgD_D;&jEnr1BsAap&n)58qmmcyoqF<1?U*XFt=A#P%qOAmuewg1bG=B{ z@xY^PZ>PDhI??=bkz0GGk5WZJ_u|SYiFF$`pV#CtVV?IVWw~DWyY-nDPdNSPe6oH@ zAxrV+7&~d9z;mSni(lH#&kU23D4fbx<+XV>yE6BsR}NpM#6GfPTqJZ|GWVhR;w4V^ zn1$UE(!yUYESW35cFO8n@fVBNPMfRB!20OwoRB|vPx>!to%{39p7Tzd3ZFb$!@WHr zk&EB7Xzl0l_(lI2PWlPd94ayA*9d=_w0({hM}Sh*)H$V7OJ$1ZDeOA+^sK{|P0cTy zPW{-?*Ts44$Jx~9C3)!<Os9PRfrjr2Vx0K8+&RoO&%NiEeskgK^``UZPJL$SG-v0^ zOBEBur%O+ocj4us9|r5*8?_lJNFP_Jf7?3m+qSUsMW0Xd>t*HL{xE5yMarM1{T=UG zi|4C8%PnP7UzB($@4~)Q|5mZvDFifBolpJO(YNhQXJ1h0&pQG;7EgAXd#~}<ng^d^ zBC4FuJfD+(bNT|Ube*NCVq4Z&X}?_b^`!sJ^e>S|QajWCrk)b%KIR}QubS^V&snvo zV!Cf=oA$lGlT70FDeQY4vuW!51zhf`9rGRboeIC}SnRL*YmM3GsR{h6)OqF$?N6C> z!GvY?D}6?XoXF@W4I6E)NX%=DzUuQ=^o00F(c}()5zTAC>svo2bK8l&TKuN{-5$Zy zo3EQ5ez<jt|008;GgG@StLBv(E%$X<Wc6&5*hf}|IOE9FDN`QGL>@XS*?M`>>-HmS zOtut9zT6}DcS>WP%K`?=xZoU)jJrlHuXv`;j;-gK_;;yE7Tbq6Ti2{jUA#7R`7Fzb zXQJn}3EpgBp5|CP-Eq~|u;&Tk)3V>~^7Fc}>5Agl;3aqT0>W4I&v1;l%W`Xau;SO^ zHM383Tzi^ke`fK74XWH`Z%>-swhez3y02jK=Of~a_JNKP*|x&1aAjow%jjFPS&LsR zUfXarI^^|zC62hPs(Yu{txsK6o)PwS@~q#j$?H5Ar*}-fR=%+CKSKuRjMk6$#Z?u2 zw}yAvbH;D_E552X=~VIp=jdm9Hfe{xE=@@=*D%Uk%TjbTzo0MC=WlTGHKwoeFM9W_ zKCSwCd0t8>E9Z4(Zq=URd+M9N1j@-?5{dqm$}T*uEGk}6>)!&A=$$sx*Clew`AuQT z&k&z@W_`@GfTc&CCV3fJ-cYbHPMx;9tMsZT^FpW4eE~iFPCNNlpPsZ~UXY;TwI5y+ zKgXultrk-(EWOJ6qNl?_IA3JW<vnjgPVeeC=`JR$XS7B~w!rK8sc_Z5+cf@8i@NoC z-HM-goK!w$wx&PlxOaIb*K7L;L9<df{5jNPIlI*Dro7MwL$L`vKQpG*tx|cqOQiH{ z-HPKYwVY?qeOR~Z+owRgRX>a4SGDyTPu-I|bz+D8m1XOAwi~oqWi5`&I<a5-cuCZ9 z3!|{b0w=cCE{*%s^!I|r9D_fMh1=~U9Of~uI`gw>!_oG*lhrL*7lhwGzO%`=&PC__ zLv7{f+V8dMly^N?bKj^q=wb6G(Sx-qE9?!{&)6ImSFq&sNxzNUoCO)Py*8Skabggh zx?tJASdmO4$2a2JRvoQ+F}LGB-^&2YteyoAl-Pn+?U=YvSNE!4I*%lmn&s4QLEjn- z-ie7GZoPc;wsB3&#L4^OlezsQ&-&jjx_dHpX8f*Ge-3T9t0Xs{xggtejqsXDPE3X# zSED<t;spAm7gq0xm^@2y>E;hpthf(E-}v75*eSPl=b9K@H7Q4jw3}O&6|^%S+4S#; z>J3|gkEM!^Tc_U(Q~bNo^ZaMI)4z1~G{)bpUZa$EGn4yK!5M}vvP|mFM9$88QNYUf za%I@1rE@jUOT7sFmslY4zBDu4p?g-^x1!T$8aA~bnZ1zx+-b30I|a`xt$X7>GkBk} zLaD}!KjsCFcaFJ6KjEsGo>bPzIDJBJ&cY4r6ka$@{Cnb-$loyg<%!12dDd2SMjo!w zWlWs=>GjP>jx)SZxgL~;|44du<ZFuZ6u%c!jOT{Vsp^byl#KH#ulQzuH_u9#`}Th8 zbDY~{BAfaOIUF~9n9zUdTeMi`P7d=dJ?q`qxS~=$nR!z7KGb2?v0CHo_Ri9PS-*SB zx?S6Xn>X$<DfIo&&dnrlf0{$W`ldin)~*$54yRr{Vw7GtRo^&J;BrxM!Aa-29iOu% zi=7Z<a7nq!y8Y-3ZNZEqe6KrC#_ssfkeV$#J$=y}XX~cWBTNc69mTsP1Li%OAScVa z=|NeHqmli-u(~B$Gt#B`ekWG;irkqvc|u9&6^4x=jQ1H@FV9)r^z9y><J$S^qN#2F zR$I32u6`v_dXFo*^OudE7rVeCR_?!Hg_3&dC+j-=zkL(F=Xh}y_g=1}N<W$QT>F@< ztj-(0T<Gs^=3VP!uG?knt6Z+reXMcRMrLkj<aMUEt;tWWvreD&qA2{{6Ok`xD?f7_ zt72Mddiz|)?xp$W)pORz9O|FQ^<%li5{|O9;k*gmiDB&xI(LOz-F==tXsMaPS2p#} zd9#MzC(OH5Q-#mQcf0f5x!tC7NBe8c(#qMQEq^A?cMzz~t<bt3I>l>4V$YJ*M}LYM z=uS|Ko}_2^Ohho}!>N}ilV0u;{hR2~H*HtX_mstR+X@!UXStgnQ^a8)n4HLEI{Q@a zEQ9$KSM##J#-|wYJB3MZS1Enr=KW^<zaZl`e?yL+tvl`W{s!a6lo0DHE$@mGLfgNd zJQ@A(X>!Y4$FNN6YZ+PvFCRPGPrCbSrQW<SXTQQ#XNv<rya?y}ZaV$)=1Y!KqHSz^ zS^X7@xh?-qSQEbV(3a!Rw5L3g>X7^tRhMBq!EL+3x9EA^Z*P|5zv{Uu*nM%8`YEoC zGx<6y5z->5CT#ce9<6_|(OZ4W`mI+!Yu$7`wMl}(&NY70@0A^29sDXqcjs7YaJlY` zjajcMZyEe4$ktIy{QjoOl!cC`bd@*V{1U%vgGw>i&w0`-!<lZKnq#PRH1(77zo+%P z#O9x=HkjY`)bv4t5XZA!TdNLFdHAWdetG)4r9Aeche|qLYwV7h$mDJzsbQ|%#q=Xz z<RdHlrB_ePz89U%e72-k@Y&{1+f)8rt1F97YQHLBezd^pKSN0AJch-dF5Sy!Tz|H} z%;v(Ye68a#6Sj-X^a?k-pN*c|r1Y)y)WjFNUbj|dZC`s)vP}Dhn4|04iBr`rFM6^s zu`GC<y;yG2@@H2QpESq>3xv4sKFjJT_2HD^c~zCOYaC+MW`ywxq&dV*Z~dr!e@4q~ z=SuA={dYUKSmGBQu9nD*-?e?!rnYI#mTR6aJ}jxT_LQ~JwNLFABmKP(?TkL9eC|~4 z+(Tc_X6-q9rLT69TV(vEqysljZM>K+JI(oYh0~0O7gvALev}iVr+HcR{G`_l;%4gJ zE1%l(a@C!Ovz-ilj(z=Y_ga5O#J*Rr3=T+I#yvjFx!~D`c~v_5clw`T*imvqQQh?Q zqJ4`Mc1<i=F#BAB;`u3S4&K{4-S*A#l%6kB3uPuSWPT`%w~1VNrpWc&apQ!mIbU4l z!WBLHPqR80UK9Pds^rOb|Me-pkHX^b%spXtY2TBn=TFu>jHnIWbhYZqrtTY>lCM;~ zlb<b)by?#pA1Zb9)|%uwJyX}8X;{2;&4P?>Kgo3NSsT-mO+23UU(wt+m#xDju|n-Y z&xB`221}lv(f%v)*__L+EYf##fxj_tdg#lU8k483=-GK{_K_IYde`ra1=|iWvWmTI zH!^ZwmA&gz@VZ`&FBeOniPf#L*PGkVA}8(XpsaG|gL_Kpmi2oy3co6EwtTMWz5eNq z12(?l@eALWH=41gzu?L^_4|V8nfjoH7&g&g8Zw(B%}g`67=CJhT%CS?!@QW^ygw=& zug25{@IJ4Mf3?v6V(p=scRz|3$0vmdS((pjEX}@~FW&r+;bwe?oT`QQKJJwY+itCR zJ!`+Udz#GJg8e}~JU{L*-4&ZXq5sX=61E<(uru9<_G>%7nV_=cz2%7+woKdhioMg@ z(bU6yWsSm*?N7Axiz2I7=TzxmbaY8N$}=$}`=ZH{N~hBy3a-=Klr7?Fu2rRSzuR|r zZwX`F-iFtb8i&{;{Psn*TCI;4(!0`fSV+xts`|y~3mQ%9&q?jg+obflv}nG(MY!-8 zuboG09#%@X6dZWr=H<ME@yL_ob=geK1x>Q551*PzCR|C}x0+|3q@LqtnF%Y;U07z$ zaj!yy^ON(bho1JAE{N2;>uuifk!iuqdm9*Is-~(x>ba6($-2`nk3*)yeABbWkG@x) zpV2J*H-oD#%W}4M@gAk<e4_=ab6Dpunwal8|DylJtgU}GEvP!xUf-5;VL8uSrv0Zk z%xrT%YvKQyr!Ud{tbKKXd8oxR->0kotYM5Vc`TWhuA03%-BKe@X5FLkW}5>pe1d*& z75%)5Uu`~bX*)AIi0ffS&xScyH#@GgK5W6kV6$cu+jj>Jp>kEvw6rIzO5Te&3NAW+ z=@nsq<<z!Iw_LRG692KQ%5y)g3Fe={us)_Ee8r2|!55P&$_g1YUeEd)V6|Oo$@v9w zR`tSHxZRd${M4A)!f#mGA?=r<|EH0=eD0NnO3$^I^LNCB|I=Lj*erwd`NK!~rtLFM zMrfX&-1U9-oda4f51D?P>$<UP@s*Q7>UJ5g&01eqXdT%ibKG=iE}Lob^w58+ZF3Z@ zD%xD-^2`Im$|V&_xmY)*a#gubyx0CCQErbPx4`|SW;L3++YgDw1#G%k*dRK$Hj(%8 zm7Os^O;fD&FD4e(bZ-h4JmEF@=p)YKk1q<b`R-&^n91~OS8>?sxQ>SwM{XW9NosoT zdZ^Fs;!WG>hLR1N_Ix;Xw?XQ5t3vwRYv0~KoofG7X8O97?=z3K+zVfqZ8)vValWd= z!gDz@xN7pwg$SM7(KI7lw(Eg<jJjL0rnA5dD?RO_hc^6Nz*C=8R?&G^+mzu^#)&Ca zPsGZuE=g<N*O4UkRP&tVsj2y^dik;{(>W67n^wqmIc!%weO6}I8kVzfLO)ivUOZ+L zwso`A>YB-OyM3CDq+2^iKlyO9Y5pIl&llaw?y36CND}|&k+=KTlz4un&@E<>RjnNo zbB?67q?;A(xb!0F{KH@YOVRJG*>NvU-o2n~zAcq=e?aJzuYU6v3D`^!?^RqSn<PDD z#jn<1D|_F@YF+Qs3_F*~#OC~L`@&@<8h`T^|G7I^t}EGF<JZE=iYJpU>4>iHxZ}mX zbm}y>p9+_kc^!@nx9gs7Abvx8&7O5@RgQg7SN$Ft9T9x()ML&$yH$9OHUxi)-?Vk= znVH*^mIuz-yteI;Kt^)s#ZUXMW?Ai&Z%IjY)10j4bpF)crsR_69FxzN6vxj#aw&Am z(XAZKiPB3n`qhP6<V_gw{W)0jY|ZlLso&<E3Ct_LIWOIH%KaLlP0VW+6s#`Vvs!ZB z>uF!!&Gs^z6xS(#C$(;&iA&t~v#}0)f2&F7rPh~u{HW5u>#*M=aQD$!-F4Y(zMOR2 zVY$^Rx$VOGZr!K(ZAVsr+Nu3!qt)Z+^}G7E>2mOzYD`YNpxpk%J^gOpj+*H&gm-Pt z7i@PD;eKSf(w;B2fw5hz+;zXw)x5ANY<tD@=RD~TomBa9k}$8K1=rqv5**p*H^15M z`aNQ2>yj4^VV4y|@3L7cJbNGC(YhzU?ORm(Dplb^$u)Z>6n=QYbo82s_O&PLPp)oK z-8^sgvejo6*E@(5olJRoMgQ%d)qk&BE3w~nlnak!D%td;G}dxq=AR=AOr|cYxfb}5 zd6t>IYQ2x6@8+G{`kvuE*Md(R+I}*oX18jjkMG*L%lX>hqN>(kS@2%)p)-g0v#`2? zT_y29rj`mA%$}}k$<w1_<yX+)H~SG+z!v?BnKe(V(iRrITBN(O@4U^lX-<|4_!oxt zOt?IYPiDQU&)wy<ZcY_T&Diq0r#SrBqIJ;W*UEhv&1t)hn4T^C_L*Dx5?8g;>1S(C zyLR!FtIGdQN!#xkaOrZ(=g2cp6`l9Lz3B0*|Ct&0iB~&U7o98#{Fgf6+@X-;OY{v3 zLfq0-6EBG`%ewO=X1T(X{Iawg!Phqj<|&AIoKC*#D3!M@OxG{VE=A{0m_W;%PrHuS z#QIKc|0c9<uU%Hbk?u9Sw!M6KxjQ0w&E1&Hy3_v|X2$fju=xLU+M$tnaT|Mxw87F_ zJq_V<1>*C(_^(Reo}<Wne&Yp;igjCFcm^zgw$?IcMXydknD7bBiNzACa>*u_q`THh zKfGG|ORvsj+Qa=~3QPMX{t1ax?D6<{%SrWEdfO?h*j27i?)slxpmeu#%I6QeME+K* ze2T1ONiX}OTDNJ}n!wz!*9*>`Zo0>?`%z}xObzCkhkn}gxk~$f+|lL}xO{T8__K4t zOE)S#$k^ySH!LrvC`=}77q6VyJ+8mkZ>;~*wf)<{xS4u;tCc;2d$vyqa^0fnG-HdK zW|)BJU#GjqnW`Sq`;Ek^V*O9LDcG-cw|OWyJ;ZdE!tLtPs<e<fyi#l;Z`?WOUOX#! z?e({Sm>1m)o4>Tq?aN&Iqxa6*uR(Q*Rf~?N3M+bkVNHE~v*Sb0MX`O^7SHBHDbLwi z@@(m1ohPe*InC^IQF@bC!YOklMo7myOi1ryxzooa$w}`{<Wy>dmdZ9C@_P|utlP-0 z`aSBMRWz%(E=#xRL5BCcD%pGPo|VzyJbC&{oVQplL;R|Z+cpGd&no!gab^8gi!UeE zs88B*as#jSddv7yy_1f6|8@QOzR<d#J@jtdGZjnkI&Dk2DvNdc8gboUxx7F0tDax9 zxy@t#6c#=U<wY45+czslzgjOQCbYk_d(x!u@1C4xl4wa1<EqP&yZ^E^agD$nm)*an zzOObFdUh?L_eI$JSFH>#-TU%FTT0?qD^Dv}WPH`XAuV)bnAtVq>SJ^CtPie>wVKM3 zml2?{yIfnF-}r{C)ZrOk1s|s8oeVH>V6NP#dG<WxJ#GD&5$<JYV#0QE&fdN7rsx^3 zNiUyp?Kin#`Ch1ZpKIk4ffLpN>(WH;8g%sjiSBE?@==8S#J7s7cF|&)2WiU`+#IVG z+uzzB5_5l+ZN>COEXBLZ)pxrneLu6#>)z^Xrz|QT`gSKi+w?Iu3UqV;ul*&)$jX@~ zy+6Kt+1@Mdpyr_7YI*ebkr<sl>(;S<_1bA!=ycEOm2h`a!JaiLHK#UhUo<`aLYdFX z=ZhrPnKGsowCA;p8ZPsQuU@tBm)e$3cf;>ZPU}0f?51U9M}TWvqvvx8Qx{%;A-0O5 zO$N`z9?kAMJ!77i>n|2I9ho_ArhPo|?A~eF_X6S4yG}-CXD_b{OnGc(xiRigPH&s$ z=|!iiSlq-noJ)-n=WDIlCB7!eeo5<W-4&90YP%<9`swS5-#N7S&4LZyMKvp5t*gs? zdgi^kxl>xo(PN_BPlA2hWZvv>lUwSq)3p8QKCz@1^Cvw$<u!lS1V^j3shwv_jvk)1 z>5JptJmDj0e=l=+G1hh7C=`2iuXyU>s}}BD_r4sOop`)>eO`=TtYY4CNl|W_U)s8b z4^PSj<*J>!d8U)2Fm1U-X^-X#7T<+YmuGFV33}7C&zp1WI*0J5N5mIpD(R<to%-`M zZ<qLsHM-B%pE|{VlH)?$>HiF>yCvhiCfIreT0Xs*?^?vaXxHECuK5lDr>!OZ<e!HB zD!Y4QpD=erv*o1aV&8Qv*91@Vew)fXztg*-vst_2dD&FutBzke{CY2M>|;N=o162; z`_ymR(`P-rm*25wZgJ6t&1YS1N3Wdk8PT|HQ;2-f+OH9@6}in#x!Yrkxl8_BkvMJP zbY@$gQ}LBW?iMBMckNW&xa;0o0rq)`wG(Ijxv-p1ag9#dCyjqOr_QUMXigIQa`Ge7 zq7s)!g)g~yA{H)P^n!1Ww}s51=Vx^9MJm`S&WQYZ>a=)3$aFbr2GPTNohGQ4{qWkp z-0#e?U!wCbCcWC9njXO!`P%qo@!n3~UluDZ8Ot@V<%mpJllwSaK2&hN>8#&V+5Swh z`Y|i)<+TS3m#h}Cc@sLft(41Px7aG@!suD&&#=}!dp=9`&cX%jPc5(9IOEwOn+5Cd z`kzcxKQm$H7j1oo#p_nwtGt=?vuW;?ytTShr$ya*_2@}FXRN^r^%G9NwRb<gQI*ly zxzA(v^GWAz)~sXPdq{=HR#7G}r*E~)(@75t_p7R8SGdpXuGr=0nr~rYZq6`Up7*JL ztO&ou`mb-)@+GGl3KeM`=J?_1@RzH?PWfb#`J9Imr;l=9d$2+w{m7=tADjB8tNvQE zZ<XC^&+gUvpR@Y5bAO3gd_kLk(aGAW({d-3JBeL8%UXM=VQrmbs`$yHe!F6e_D-ue zmDLM<yy*0~pW4M+7GGJte$!00&#B6KUiXb}3P0OCZ;7_c*-obepLZ$lk<yNz^}%^_ z{EN9ir<<PXX_}X8u=rK@Kh@~qLyMnz?E38y{zW6|)w9n<*7hOp&+g`%c-k5)Qs+qt zWO+2*&wH9+Mv&d=?_p=<UtRd-f0Hx#i$-*)(f!k`F^`^zf6tro<~OTF$=%4z>Xn8C zYv;|F`uL1?^rF)zSZi<J5&gD5@$<=S<5k=AmRiUuA6oa|vN+$F)#suYuIAnNaOPYQ z_wQc!iYv`eCUw6^jn;KHRiEcrw9m`frqQA3iemO`_mqSC${o^kUoS{svi?uk#-A%~ z)`%2~Z_Bp-tU0GGwLrph>hd|-z2*sPjqY)-&Hb?HQBh>oss2^Hk54+vG6pZU)Yksh z8D!`EX3;%YPRaC?+(UT_()OA+{a)F#HK^ke%b8QWuMe#~uhej6a)#eF_DyGnXKhJO z@-j}?`Z<2p;XS2C7B1&q=i&Rr_o>*eJ6$`{=V%;x5ia<;MEc~VOUqZC7q^hqZ(pOJ z?5ETw^XyW`pKF{8*UrA<HF>_%=J+M+Lu)Npn4Dgl-nLl(+Knzf6{o`z`Q@iRY5hFr zWmgvVWs36Lt2-BF-aA>fZq_8R1mh!$j+1vL9N4h?jQPfEGh-E_ul-!M^#Wgm{wp)5 z8D@tI0?Gtle-NH!Jmtfuh^R{sN>v@??|7Y#%U<>HKZBN-Zh3oU#gh446Q{e{yULgT zQeylm@=)yXqPyn08yOwT{xcYfuUjqZ!N<nz81R}`bWQWDT<HU=pI-Dhlz)iJth-)k z_6m*4#o~vTn;P02616jX;<T+w$02o|YR=AuD(MVf&Bc~2{~3NSh)wdpcV{+VwwU33 z4la&v1;d{W;dZg}rfXfEp7!B$)7<)(IXZv63_neAIj*qyRYNx)Yx|6tT|1>;?pjp7 z=wV9H25x(&jsuSzcKTi_7TR*yTxI>uxO-ie+n#bhU)1jJ;gsK!xAM*J1-`Fj9_Z@| z)JKcHELgKwuVJ>#lSNDX!gCfx7;Hbn=~r@0PVlV1_qw^_cICk=oe$?+Q!-aORVZ;m zprc1kPqlWkjH!9f`m4g9gXKdWuI@b$pSPNCpP-f<&%vnYN&7>&MN%g?%=K;RzTbY< zd5wD`<EKdfSv&fbw)-i5bZUOJXXom}NBk$9_Fl<SDX?MF@0&XXyCp0I7kzlpd*SfS zX*H*|^mW^7Xx&@!Q=Q}btf!~A<}X>zKOy@3Jv$i<$IFci^JZGC*A__2V^(>mXL~4S zmJ&<KgLQVUiN984&I=Ix$huE$Lu^W&N38o5&7VTc-vsVCxo6Fv<(t005-6~hEtUVS zQF`P>aA)J*og61mM4cAtmVL-AV3!oKTdyPWl>W1QCl@~pvratPda1kNq4<%$q9Sc) z=E{?Y`DSm}XmNv&<0_NOq+G@*t5`W_1E#)duNF@_e@!^*`lDxS3?%REoqBvGcUOL) zq}p-rAC8fUTkkZtF1$IlI>{)|qV&<!qTC5n*L!d={90i$*Z0OB#q?D(vKudjt!B8l zFFkbrjMj&}Tz%834ol2>yoceWSW^P`&eQ7W4W2m9%)A>QyZ1!v?uG4-94xYnWcq{? z7u|hc5bPjOs^~oDxtr^|V8eC`t-6G=+9n~BlNPcT94>s4dne1D$-Yt9oHSP{x8U-m zeQ{nDvuy$v`vy+^7Erl*P31NlSLVyD>C;>k>SPYYBwtZ7xxVQb=c6~h9PvAxTz4M& zD>6CbYTb)F{b#uLp9?EK&t?9z_4TCFibb0rNr|v<oV+CVt+$a&J!WCS<5$+YH$T>U zy0;YVlK*b9{$fh4e`51zuIJum%-23FueJ?;F<WrX4ow4*c#(WQ&-H4C+%0$P3=67F z&xih6z2>Py;pBM=vvVvezg1~}iu^evva;2_)cB>w7uja9_Oh_Fv@=tuNbJ3?Z`9f2 zFuT)dV#9{h4qC??&%OTg=I+x~*Y%E@9X;SD&}=z%_bZO@&TFUG1hZRNs@8KqH+WJh zJn0Dg63zV)F~?oAOEe0-teo@2P3tE(xfHQz7jNp(XELAmZ>GS`d#As0mx;W7w%&Nw z{xu5zC;d-v)>r+defRQ_HLnFrZvQBX-uYw6vjyGfO{dSju-V{fm+pxzcUmRZ_`Oi| zKa>~ZyY=na^i^NtOY0TZ3ovcm?zG1AS%dM5%~$h|f0wy3`Qfg+#veuJP1mY(nfhw| ztiOVWYfoidGj*uBez*A9)x@vi=Zv1-WL@)>>yVwo{_UnmAMIdFG=CDh>D8taN4(5F z8*G}_>hC8~^`xU$Z<p_>xgy7^*6$234m8e=^su^jQ}b~5jNqSZ7VgN)*Z6yVTI%WV z@taPHO?!ToIr)TFL2tORx!<Raft6M*>NXqo|2PIcJ1Mp7=$V*xwV^woZ8Fa~_iJnP zg+1%{q^y6*z2;_p+2`<8lWbKZ+`qO?;W&Hx)1z>Q+Ax`4edp32W<8RNnes>JY4H=k zj*=&vUZ*bH*1lP}EAPdo!fj=YanJIO+E_8{FBPb{5tv<^wzMiPZ04)&J<%F*+jh;| zXz8BX?Z%ht^X^sDLIy{hHJeX7aeBE%gZX6SuGl@(s*2*1Hhqe|QT$MH&DXOIlFt?0 zPp+Oni%F*_xXtF!>1X?0RkvMw^`F6nr>3j<Q^e*M0Xe%2PByOUD2rYiby|Pb=d+1C zl~2A+eI)1c==gL~-Fq)W=IC3LY|-Btc_xK1{_do05lel3lxQw~CAe=h_qy(wO@SwO zuKdrSHM8^Vs*)?BuS@K@?(F8NS|@LGMb~D^%6*j+Hk>Yg5P3X6xOdKjq|;wrTmLgW zJaOddl?<kNk!7xX4xP)-2>i-*_{_Tb99ovM#Wh%$ulA}`Y3H7>;M2v3<3R!jwqEC7 zY?8mT(dUl}tCgE?<h)5C^S#&aoo?s-R-<!ETKK%K<WPGRo9_vW3VgqJ7D+E)UUgUD zw!(s>ZS9+<>0CY0tC;#Vo`>hqM)hCQ-*opLH`@13OZ}*7M3hn7s<eCt3r)-7=zWvc z7?$L%igMWAv1a`m^+(JVr=>2n{1x4KV`}3b^{&uce0+%!oFBFcY@gM*azoL~Pn(on zc4P?iE8dV|{cvZc;k?%93$kG!_QaSnOHa&nXq)(vA$0BQSzk_O+f4s=#pQuiqMzFL zO%G2u&Y677CSv~#N8h{K91ptW9V^<b%km=hNXv5u{R!-Phwk{vJoL%y=?oU+d$vFI zWYKFaD^JzBoH&8~CFvJh>nAZEa&t^NbVs@Ka*4mry6v+cUeVcTRl%;B{x0iAaKnFw zxs1zQO17=s^R?*cg0pv~O#JG6<UF^-!<d~Kg|iFQgY6hq8QWfS=53p_>9fJypT<*d zKC=o=v6M8Do*9-ud!ggKCr-QeOl+?blRRK>Yss?qo10mWh8!qoe&pe}t{~rhr~8S; z8XotRyu14J+-Fs)9f;i2_-EVHQ&r0BJl$4CG3PrTzBzq`^)jC$^EZy@mRq53&vR}6 zHYuRIa);*OTi0}aAE>cjU%GrV@6$bg>Kkr6X1gTFTzborL3w3S&n^?C5-s2L31I>S z6Y_qZtxS0kCcJFVwV4^4Eb}LcefuZV;kf4H%`Gbrr$vd#MYgj4&fEB5w`il=AK#NQ z0hW%zpQaveUJ*ZqPa@Vt>rfSIhxxtI2#>iwnu`0cEPt^s%}Ah0-8$+uqxFw8FUH$T zpBIJxeAYR0ax$04=~<_rbSTIA=g2%aRlS^hVf}=QrLS5n4;<(AY8SYE?gwMuk3G(z z4BfjfEs!k<;CXGZ%+4{5XHL_RoVOBg83G?(T5hQo+4^15OnhDn>yCKilVV@y1Z<3Y zbJt+KrJqJ%%l#v>EO}pq|GRvHEoF97-@BNm%zgg?0y7HtB}}y~VokN>I+JMQ6TMR| z`{?{d!V4cwox8O)PtLQqPdS0Brb&0zY1`D)C#jC&b45COWwqRwhp1iK?e+A;slS0! z>xvk{uEe^(m@6-O{nh$&M<b7T?0D83rMhv~RpoaruO~mPU0CqCNMudpy{*$;v%GSQ z+pfqHar?u;_+2~iew2vYIaP>d&Qs~F$$|{|{;8jSEVapqwV1j${9W(eX&++VCatf_ zeBxJhdUf~2J<mnwefbp8-thEfel3%V<k2PC{SIqx{Aer^Sn{mlb&<8zu||6lwvF3V zg>JXap0u%ahnB&8_u}}9_zGVZzc=k={1>Yn{jAItnC84qxU_zS%bz7We?_K8hilA< zpCy=6k;4%9RqL3@kIEI>s+Y7>y1lYl9I9t7qs*6D&=#*Y_4UpANvC5D#4kEIBi+Pp z)@puBZ7~`3xK*;%(Ok2iW@>Th%~RkyWxrzmhJa#8lfFxp-LdZ8x;mChFSae-JR@8# zJZ62~$)60fS1VhbEbiq`UVh=&s$acMU&1EWoKM`n>4N4P;fG>Vr=N`9?E0T!(#x|P z=O^0EtJGWheD-$t1i|vOFu84-m+k}}GSmrvctT<SZq+0IHf#?3=8*kJG2iTR`lNnm zw$}pJT^U|1m=OIyA!SehiIw8}KHW96ny~(;P0SS$6^@>R!9N$8ueg}D<X5CmcDb^E zgQ3C#g{Lz#=3n)TIT)Yr#k@)??}TDL|0=e$3l~KED&@TRmND5yX@=Q{e&=3b9-nG> z^kmxR&*266N_}#cceSUaIUSY0TsCQM&Ya{EUX#yOr7gI3oiFecPtXnrhP0TqFK<?4 z&UwD+nNP~PC7vvKt=0Z*;d~#=d9`xXUAc;k1r{#m-s6|y^!oQ2uJTK#*kVN+4X=8= zUbJ&|l$ZIh1<L16narM2Gv!~0@TV}TqWDD{8{7iczi<qkt`R2JvSR0#$j(01f2%F5 z4sF*yHABwp@Uu-bPHtNN)!A>=z3%I((|=B1yRd3?)f&UxRDSK&U3S@T#9!@*{v6ix zZquc6ftOVnZM^K?avicfwYiY9N9*50=lqXMMM0Jtl1ER(te>Ocx9nggZ{QAFRsS=3 z4Qbn%cdfQQqgNJL^IPe!$iHls5S~NlYDHFVUp!&ryan2+)|)mw{A{$T_wKb8#tShF zJ6AInnpx^>K6C2T_4ocN>2Y!$Jq3Tgy(%wjulP0fEZ?pbFPTo+g$4gy$SE<kkFPAi zLwL%!#Geyy{#sc1oMZm14PRQ6{#?H&a(eOX={J3P;yHu%=Its9G?tvSeCa~>BYB_; zMoOZ@!n>Qo+eMx{y&R(<xw&ukyUky0C&gOd)U<2l*A1Chu=s26wbutFwnyBx=8<3Z zW!Ha(JHkHOts4Sg<!oeOyb`loJN0BfzlQcK=7&#&9Zzg}nzEL8)*Sv9k2Zgd`4YrG zb?RSn!!;{(3ao@S|I*V@E03_$-x;>K^AVTif<2!jce#rx-kcJd*KfV@MR()r7KRO< zpKXu2HgmV5ze*v8!TR~Gr@kA^+9YOq>i4N+-ez`=h)y{No!}SyL+8((Fri{?s^omt zTCdD&d241~RtVg2&rG{1eP*y!x|Wg@?}@BA?WQ?fBA=d7u4bH~Gv)r$iN_b0J8&c( zwJ1O6e(vDO<wvbAZTfI#{r&{$BWK@i`n*4N?O#RL{f3H(!c&f{-}P+MXNMD~j{55? z^}ksxWoqEEb8_p!G*$o3IR*=g0$9HmhGjl(xY}fJ?@@^9j$d9)%Cn?*rmP8h#CJrO zG0v7N^HSa>i?k1-ZD|J!jF-M!a`RSGyXHei1CvBvOQHRq!80xe&nldITf%31yMpL6 z<{4)l%#>S11up+Rt*f`(`H-b@W`S9`YQduVRZczXi@u(WNt)BMlEHei=dNant(n2> zCq&*izG=D<o^VR_VCs?boMp8FhhIHvtnZ%@WEo+hE^YAWfkV=fnA{e<E<X23LcaSH zHu^6vjn4>EsY_T>o^G^<dDef1kQl?*-ItaWY`w$hl3b8ou|T=y?3)mA_XzhHdERGU z^$G9&ptfE2?hhx6g7=YeryLB$HD|XeJqn-ZCByLNQtR2xk#l}{M85au+C1;Y*#(+= zXII2TJ`s7e=R>QFQ;5063D$4g`kF318&kyRrMf@c@{O6#=1fMXq~EJgS0fH|ixkGs zj3|-OE{i<RwXbTbO5WEZ!`)BB=6P;wKlg*1VN#q$l!(jcBO$3*S95P~-lwqmMN7Mf z^@fGJ&q;O!R6IK(!pPvZVC~~ecPB5Dw9v825O{ggyLV?pgM!%PU5gC9%scb!mi7&q zhiq9zSv!Pu9x>&KJyvgEj}v)#%wq$$zU$FvTy48q*D{ChE&ixxXR#(yTjR6)sS^^P zh4#DV2h6>@BUs_xbOoLKJrCBN^^^;0dAcC}cUa`|5`(8QJG{<c65agKWMyVwi~fxj z!q2tXV#DH9uEm!WyB+wcr?2DPW+igHC{|r5{AS$=+ugf2c{mF^%AFH3&04H)w(^9$ z0<P21Zry913EHcQe~RB3W0$h%#$+L>C9fC6ZDUNFV>6T6_{si@E<P)s<jh_AX7lH5 z-d~<At69_YDul6aY5e?zEky-k+n;h-rOi5dS|jkr?U#pdPH{M)Gj->)YP*L%uTyf@ ztq_zxw^`9zB;J6jdf~c56|t+@e#|agp&{TdV(}^Pl8k%$JeQSEL>iCeZJ4u9V42Oe z_iI`_e=5CWJ38-azU%9gQMyysL?oWKKDzp%!TA#@9lS?mZd8Q4tEliez4^MT*h#Tz zp4~I!x<VM2Elqr;<CN{Gy7$g${?tEBhpo~z`?mA_PT#D2P2@=Qku}C<`eM%B@vAmk zesG%h^hvYt!fPeU{~5Y|ublnjUY7U%Ev?sb_U3JUC17u`snO_~P>0Ps#kd3A4Q<<l z6n=_M`LyfRPHoL2>2AmKRc&<~!Z*$?bzok5Ab!`6D(wZaECzR7d}hbJa@StqHE-sW z{J$F~H6C1b{)E&1Q{p$HuckgP)w&;AI(>fH%++a2{!DmkDbVfLT+y1p==Z_+Rj2Lt zF8F-5?(ei+nRj>ZT;Jk5=c#SjB2$i@MW1G$(qlURYUfIOi$JR<%anZYaLp>MXkt8f zq{c<5RI0|y_2-v}{h{q`xBrHFgl&Dd?_kxFC2S?avvU7jVcNc9i@@IE_!V)T+y1Ry z`KsS%N?#e*O}|xQbzyJRY~IXD=zg}}VVBI@PWg!~`T~`jk$HbK`WJn1Ii?p7Cbwzr zvaYA@F{k#fP1@6QSD^C7qDq~OMXc#emD<lO53#SEBJkco^vLI3V&_*~KC{q@m#ZOt z)y54cn%2)#ebM_#oXh3RlX+@CwpXn%+q=-?p5T;cJNC@xay;=Vs_#Hu!eaH)o0z6n zyyW2dIWJp(Rj;~g{zUDo95Fqy{+GhymS|Tw*#~pmD{{~J8uc|kVfnkAD_VbR^Xdh* z8h(vD*gZ2)?82!p8^WGv25mSlwqet}>=W-<|6b2g&RcRUW42G6pjd~0Ba`BVW|zEe ziV?Sr3tZ;PigAcei}ZS`^gx5-VR3E9ZJlZHp}#a)?{arZ_;=4bZM0*iRAOw+bX8lu z@Nc(5jvOv;h<~xxQ08L65fz7+i9anPYQqm-Sz*5KC0De-#XSqohkjS|xAjtZJ(J5{ z+rfP{%Y>(Tvu9><cjeEX9+w*9`(FF3gWba7UP1P%B7sf6l$Fv~?VY}8TX8Xm`I_S< z?BdU!EWEe+&87`jtcJT+PI;JgL2t3XX=&ng*W%}?^WOC_)`ePSG;q1wd3jDTn8T*u zpit$Y(d0fy<Km&a)4ymhZ>_q=^r-u0>BTg=Y#x~}SMxq^dA9yjT-ElF(=NspUVo>| zwdj&)VBBL6azds@ZSteDb+7#=&AfC-faT??d;4dx<u1qwc>OO$WV-KW&F6pC#;-cB z^R%w;$mXwM&(<zm%JleIV)m4d@awM1zn#N`{^VV9YW^DbY@O3l1J50;zgS;&P3M@< z@q6|5QzCz--!zctyr=8_@9Je&KU;qjJ)>RcPX)Jb^!p}vNUBI&bNiO3+HXWy7rqj! z>n^wFDB3rx@1**#u8Ds)ZDjoHa!&1!gHEie>;@j*)VfKXf3|b$uM+BbSuR|vW_)Gk z`B{h9Crr)$qV>sAV1KC!=aUNy>z}kdU7}q(h5wyu)|<$w9s5NWI0VbJd~-M-5SCSN z|A<KK)peKh_*R#^^F186{mUsm>m|M4g&Nr}u+*$+-LmUMw85p#*(~q9&KDor65f)V zt5D|o?t{B(_mfWXi3uUj%V%=G+wxM?-+OB3PKz7b+(++f8NJ#c;`4B}M3`OB?2dwh zlkurtH4C)2>+yI<UN#EnGoRDJ<?t!&{K<$%b&Z_QD>;g~S6dxca8kB&^!%z=`f9)3 zk`?(!_jx_vy=d}oGoCm03CoYUSUOt0=&<<`_-M{4HT&tuQd8G0%x|({VXLr+y;ytw zF2Bx!h(6_$>w=1BJ1O};VOYWR+){hGL0jNOxA2Eqd)Fs%_3uy9;mMfo81!+E??X4g ziwE<XUgS9}vuO7|7PR?`mU_><;25^oxyJKT+#+=x@?Lkk-%MsYTO-tX<l(tFI&N&@ z5nl7dosQ|A_!Q3lE@0=`Leur#LL1)Q$#?YoJX<s%K_W)y<u0-MXPYWYb>x}n<Sj@S zSJ8dv{Vl-bnabjfr*$XT_o!aWcKUQ->h9Jh+zrK%CoCPpb>A~g+p)6Z+K&KZ>782? ziW)O4)ek>Ct~O!chsB&K(i6g>j>(2wyjn0<$FeNG`fPOE**^hBhqk*(o;v*{W}m>* z(<_5J&h;KnQ8@BM&}w(bI<JD2x!)_ARE`PURGFI2oP8j&YRaM4%qt@rYmU91B{IEg zYJJe!gA2H#XFQs^D|bz6x1pJel9GP*BCC{!ONyLAY))a{_GmCAWO>AG;0P1`$Pmz7 z<6W(*us&L7|JBkL;&y(jdAA>_x@k{5<aE;I>BZ<v!R^t4H!5FqHl@X~9J=PXdtuDu zIR^sO&qn-oh@0Njl2QJCdFt8alO`X#ykoiexAig8XKb4IQp>CP)I-zDnY*LJZ@sFz zvAB&*c_x?7vN>u$#a3RQ8N_MRJtg09H+SXgs*^#^C+0MS31;t5%HLJq*YT`0BAxHu z*NNFN-zFaN4w3$;arnjdTAyd@jvaB#S$Lv?(|0z<3D&MB)@rS1wDmX1&$wkREhYOh zX4lFY^OUYmc=14d(axW&lg_T&`!QqD<rNuWU#EVL)H(0HuIx?e1CvjImc2|8o;{YV znetN>fAwWjJ`y~)Sc#|gd-zZNIK9gYKlEievGXK~AHMlL?B}7K+f{OB-ert_6ucy* z-Dg^wY18H}t*0-h@3qvtl)$Qznc*zZDLF-HPVwHWds9~K+~+)r;q}Crb$fm;%Ds6( z<FDvkvwKr~lC~TSV%gEnwC_?;xWV&ujoQT8-`tMsWvK@RFPql%73>eyuAbWwZguv` zL*td|CJ*OGui!nzS3Cd3f>$MRtE}#YmCqKnI`!LWU&OjKFVggc#NS!#pL%E|{%Z4w zkBaO*OWkV40_!|D-(3FGw8$;Ib^eSXDd$DkBm4?0G&i2ET^O&|{ndRz5NEk|S;=e- z#fzuHUo4;3YQ10+>$Qn1-M%qql*VPfa#Su?2tB8_)MNisXMuT6p}m_<)-BCj@!CB6 z;g!|RFT&RgeRbfMVoBM&=lr76XI*YO@AI-ttZUJ~puee``&{;X!<+wB*{xF2&0h0Y ztm-+}h4nAi)wJl%NKDh6rnILo>sR;c%(PRdV+HoPJrWdN=W%Mg_9^CdSyrd!{NxNX zzcRJnBU~!#^_vB?7YelX-_1Mkt!wmVX5WOxU*b3YZhg6Gs=eY3$Ft_IIo?-pS-)%I zx~wSE-NF0hR$o?Hrr-4~IIp8_)t|L>Cxx$O+IjF=I{m0*>Yd`yq|5zAEb121>1ge$ zdFMmzXI)sX^iVN%S|0bi&Y91+j!CaKv3awm=82x-6LFqTMw?C>Yq{+_^><p3((B8v zwnZ+DGG`Wr)LgxF;pD~B=T*Nq^<++2osgmSmLu=ix|jp;Dal9A`V{Otb(tkbV7)-Y z&w1H8zx4NB?TeW{Z{p3P5+(5oVTw#Yot|}UcQg;5z_>+Ixn8zs*}<77SeJW7ru6uS z%3Fqu_1@sNeyJKe`R77EF|%ujHqAVv7rr5I-nW-d7dxJ6Y>`)J+Z(%T{}P?YYqWRe z?-DqYc8%-aDna(cQ*^JEMCmdWPGxwR`Q}`ufVgI`-k(#(PehK*(pzzK?WB~C;s-a) zF5M(+DVqF=`y%JljNqSZX5Zs6Ug%P|`w_Rezz?QJ2~v{+6#7+nU7IYqW8JEH)5f@Y zBC7jb^yZ5EXPBYjT<}St=ZVw&l@1nvrZo9H@j7`?Owr#@wS(=*$E01#GtR8+X$xA! z<9ctqWo-PLjm2kl{v}Gg{x&(Uu4E~4ukFI-wxhG9md$T>shVo|M6t-hZO*&7f6aV# z?=}ityrEqEm?dS;v6T;g_?WuxIpH9`Ac$xCMA?a5zg9jy6f*y_X!1*r$rDPu?)|&L z<-X|1^@P3G->f_F=hAX>X{R0^1D#7ok-zkBiXFNAq=nnuXaR%$68($*_qW~ovD790 z;Z)w|i@sjp_9K5m(A|GawB<d6Kl?Cl)SKhTHlKS_tHtug)8F+g9<p5S*<ts#K_~p4 zxni2Ldc`5e!@jrE#M!17+Rm$#JX`c{sY>Ox5VmROa#fj6o9d~{JQ3WyUz0J)=z{J$ z!<E`I%px2&<oR-L|Ki5+DO{ni(QnVhJ8TwCf)$VWB=t9KHsshNI&Zu7-Dy8<7Fk8} zn@Wo9ukt#hZ*%Q&`-;G7o&&Dea#Fk|nSZUcTq$1cvbZICpJ!y1j&Yyw86~L$x<!}z z{Z_x{m@7LW@Un@y{q9-k&#d&9m&^8_)N$Ql@!BH`lPVqDr!83B{(z~FY15wjTz9{| zF>bfk6RX@QA@=I(y?)+Vm$vBjOufw&J;72``NCAmThB!PoD81!u3Mm^r|a(H<h0mD zc^~x(PIDFa%rrOJlpp)lis#zL!Zba}AVI;kR|F?)R22Aj+GAq?m!RbPsV(-bn~NsY zSZNfu9CKK+`I%VoHSrgrk53kSnB8RTcyr$861mt-_kTD2W}QBP%W`{3>#nyi_B>l4 zq*BOIR9WUGsPOK!V&0!QAxeBp^HUd1oUZz6qv4F129NyqPGCLZuyMyd*9VJ~IrEZ2 z{;m4_`i9BggMN40UZi@Q<`-~(dE;f@gs`xl%az6c`zj|j*QJOGzuLdJlilI2S+-l( z=T~$7s9yUQc{QTBbGp#J6SvQ>$Uiuo5c>1^syXXV3R|q7qq8?LrtRl?n?sZ5tHjPX z+9YNZw07aHN<n$<X$<cTxeb%~SnkGgyy#?I`!#ZQhe1g9=c&bZ9??2o8$TQD`7y2D zwLV;1+UbQchs=YU;yoMl*+uh;7B9<k*eA2q?@k#*E+6R5pI6Ic6UF@*cZ8qkog*G& z9$&C@XKKM5*Z1kN;;J>~mMg?EWn=@`ZeLFQCCdKjq~NEpudP>}Yvg^H`)cjqkVggk zyeeBQV(Yw|_j&86<@`Kb-tgg>Fz2+>d5XTD_n8X+-7x#S*vp~{=FZ!fmg$R!{hVrR z-o*Bw;nF6_HOq{0)|Ew8#xhH$iM{rBSX<{LGEeie>Yn-~jW=!exD@8T+%$jD#OZM- zPggpg4ibA&@WiXvO3CtB=+xyGG|Ki|kFoK3x5xF+>EBcSitbzeE%4^`RlnEYP1+ve z{AS78+cU2EzgT}ek?*<I%QhB&4$1ZJX6sl!xD+_cZ^PYvULx)*U5bP}Voh4*OUo^e zl|@GADcW;&ev;jlIw9O_o`C4FFL?)}-v)ki_Y7Qb`tqSxRqTej1xn9CR_n)1nOCDI ztGg?(;OVT)E#>8nt6nYW+3NGmcgpI;yL%ay^aqIFO?}E`9KLl^-1PXoLq%IJ=6<?+ zVCm6=dkzGvSEOtzJ^QBhM~`XzMTXMN3)U8z+|c-S>hPrx;xffK+G{M{+H>uFtomxd zYr9Vn*NMI&k^5I;qpEI}T$EE*b~R>r0$S6sFU#s4*ZJ}(`qx7Hw%?1Z68*+yb(7Co zQRCgj>Rlm|kGu_U(X`hL{t{+a7GZScp;#bSy`E!L+OnFazV7*}j5wsc=3jN#Z^X1o zNbNdbT=(VH^!2L0wdbq+_^4r7qjme@G=(ifuMY&zneDW5#u?UhxiXI8XMwY=opxz< zJP~o*B|0<a$qGviw$GJ;_Lo$nom1^o=S|~qIvsN|{EO!Ot4ZOLHhv0R*LC{3-L>P| zcZ(v{$}|REpCuo#*e*5tkZ7NDq0_lL*KbPy64+n*&0zh%441zlpRYy<zMRuK=hWtn z?j5aaAv>4cJ1uT=p)Zp4f;7|G5|@KV7Jai?^X1-z?Jl<ti96-&`q2<1oy%lc9T_{r zC0)Bj&Sla9USlV}jRtF9?37#epF!0?nME>8>Zx{%fa{U<ZLHG+a<&?;N!b&;O6BRQ zj$f;{dkbyfSh+F6Ju>i<!P+{9^}EC0?d%I$dSlAdYF1^Xr>TOU;%cVfjW(S1b=Ssz z*TO}Aug@#kqxx5>W2VH~)aR?G)I9X5T)|{{Gxc-Wul2j0Rjq7(=JawwRLzyt6I04l zgfk*<dj$6X?qW9L%N9Sg@@(vm%GT*;i+dR(6O3nf?ctS*T($q(&b+ynWodgp2Y+Fe zzP&K=&nZDe>37VbR&J@Wb$JOl)7Ql|$cO7}ioUF_w4_RVnXu&gufZqQyXIBtZwx+j zH+t^XS?R9T5<6tB@SDfF)Lh;9Z0(2lv96C@bB&A^9RD`u_S3o3`L>m;F@Mci`JBr# zWv_+T@5Nu7?Dq?uI`C0hZq>g{bChF#%U^i6;`jPJ^A51Dh?)MT|L>+PU*i{@f3bMJ zt8nJVzH?&Sv8VMEcct=MPul2H%JDF>;=|0VoRS~!CjVqLKOc9fq`Xz^OMw5XzGPEb zk<=3{3YiIuJ}%^FT-LbC>RpS<!xv01wbJ~yhXo(54D#5qacc6Tz|S_<U#&|rnzU)( z0+HiaEu`MDS)}bgE_~l5I6+D$-@H#?J@;F#Z%<ntpC(<t`TA__)g#9OLcAslK6IJ9 zcj*<;Zo#8hG>mvsIey;WkfidcgyGWSC+ptyHcj5MrSp{V+3izX?pM7MpSIBRmqvk+ z+slhd875CJWGX9WzPr8a$xZjT@G$1JlU;be1n8cXudwQf<x1(P*p$sBRvf=j<4#f0 z=IvXvUY}see=@6H@58f2Mq<0}pI&tDdG-pqM(&@it;fRj&obu6FIslZg5i07-pVsC zLfgMHZQgliN`27gEk$8+jRpT1X67IF&|KG~IA<Eu^Ts(F3;k!rmhO6bl{a@UH&11I zSzW9XOT6?V5x$toF%^Fj9eEyX<kl|cZi|bVWANy}+h;8g4@<Jno365MbM}h)77-2> zrIXfoT;{#QSn?xg`8(0JnGDN~#bQetR#?7bjH@va5qmu6hN%O?$A-wQBF-D#x*pqf zME;yAD>6A_QdF4QbLo{cI6LkiQG1mfZ9Qw^tL0xKrf$BtVKL{IH+%m~tMg(Pyt4Z6 z_6nyt>MN>Pe)P^MagYmZ+V|?dX2hM#@*KX#<-APF?PBTc69i|R-#p)74Kw4JQ#<D+ zh<F^hcI<WMqv*3o&oIxDaC<1FYvm;VIY)iEkh(@t&bmwY?G89*|J)SvHD(vXt`e<v zg<Y4z1&^L-wU|};Fy@zNb+4G$b^bbUp7!Dbtvj1oc`Y@SbveUwij3CiUNzT!*De0D zn*Y@rlbuuTJp(w*c37^6)LuPbmHWEEo=pMDYqV=G+!OoIcP`7nTf=qZs}0Aycv=&5 z-o9S#q*k(b%E5BAHEV6Om#Ze`GRBwiA6>*|aw_EY*~Dgxl<4gfK5F)d=CZw<67!f> z@?hX{SJnq{CnhD&URcboEV*Lu&eql^+b0<r8ndoj%r|?-*0}6;@k4^oc&z3qwqH@7 zCiWm>L-<c^?oUO`7J<tx15egY`~G*8!L*+%eu}p6Y>8j8(lTq8>(trHx_NxK+eO*0 znhWc&y>{F_i+$GVQ!nOk`eeECmuBZD7ludAQ=aQ{d!A$Je$KEXZT(BGKT|hfSYy1T z$t_!7K_J_2y1}~T%d(u8oINIL?<!dI=3tN^#~IN*_cde8o@;JU+_<M|h0SM;p9_Bm z*t`?`bADI<#5un$SLQW63M{-5q3yrw<f3bRr)NG*{T5)OT6dx{p6lpk-_UhRmzLR_ z2>#^q`N9e<4(shKuXg&IIIpjnu9s1IGVXckH|?*%U*c2ki}qHo`8rekyurSQenAPW zzeU?Wot+ZBrZrnHY@2N8ms0}9Pp&>cD_6&~psez9Or6fviSuU$#6D51du?4DYZ@v0 z>>ZQ%a)HS1RPB;>UWcnOzcl8WaN7y44F9p_Mohfv>!NjRWkuUpXf(Wd7PX<j+bCR9 z=0eZcf&f41XX26VEEn!Y@93I8BS2ayW#-9<%wkKOf8AeW{t0cK-}U;d<K`D^+3jb% zj6ddWb$LE_3iH#H6tN=1Sx37py)Km)t@D`f^t4*Z^U}4*s-`t{shLkgw_J?36@Rz4 zBz{IoeCC_q3YF5@f0kx)U)GFBds49W0>hKd*Ir*Yvey5*>b~izi*41?U3%pX&lc&< zS(}p}5tsC;<hgC@o^x4;U#)#59_JW;G5uMhU+m14ujj1j{<*g1(Ejv0tpB?1t&QKs zrn_?Li*=>}rDjbF9QVx7SbsI@Ue=>Ooq^v2rz@><lsYwkVvw!V?}cKYwI1c|YJM2t zQ@N7)RbQ=ww#QvR;~5XNoMv1*b?vE^TEQ3hU+b1HYEb7l%_}q5zVqE7@zayeN8c2j z{Jf0m^U11bYicZ~{@tn5{$<ko^O^z1mZI_&!QZuxtNy*IVQ+ehx9R+gCGnq`)_zov zTy%+L<>96~tZwONT~aK<suus861^horWxOt{OHh}MHjZa&AznBvSM0b<^Ggo@}~b8 zu8K<iSiJcf%hbYkt?4hG{%4r<TmNcdeL&3Azf3996Q!KC`H4l&>tgX)E&pnJ;#0G* zUH=(Qt}d(JX>+9G?t~?&mMb3B-16!z;ksVd+nRW@bCGk~i^xAsWjkC?{S{ebKPlD6 ze`d^k?yq4JFCI;Ow)ko4FVVcHHP8GUBVM0$uFJZ!R-^x{YDA0vI?q1>S}~s@_PL4h z6)`>BQ@FVPU8{ZQ^s6T4A{ne%=TAMzrBJy?nY|>1Gp=U3__qc7PF1C>v0Lr4PqkwQ za}yKGpNF-Fn>Kt6Kl7~P>bf(n>LL%%g;?vY;@zd!zUq0-G!69y5pxv$e1qKH8!h?e z5HEOf$?7$KrrwrWn#TH`xzn9rY2BlDE?etfv75?k1U+-;xz61X+|KdD>&fQ*76HYU z0_#tm3;U||sFGpr${oSiTa??D6!UT)Vz?aQlfAo?!F_#76TfS%?@eyOpI#fjM#i6Y z+Hget(YCG%&HoH7haYKw6usHEUF@t!!LQ|ZD|wGjP)y2RJ~M85%LO~#@X)<&&gF{H z(=zrg-v4`^c<q%wiE{x3CtirQO*CjON%K0)aa}OFsd7S?@a~^ZdMnD0He_wTD%au0 zQ>FV*eYV$$?Pp8Fw<|39D;8)e5oZ25T<qH4+1rgXxzD|u8zwQ^XU(TmOm*A0nOJ=a zY^h6Mqi$Z%=`M1<V~5WAzqXU7uGxB2C?>E+wop@M-8{D54O|m9=<e>cT(|0`+ow$F z!$)LxpHbcMrHX%A-V=tf^Whr(%3SI(OY0Z0@FtiQJGfW}2&nvQiIVcXaEd|Vi$C9o zZl|N?L$jBOi9g-vwNvfa6cyQryVf}D=j1#yKR~d5l?A8r1TG8NheZcc*I5cIvQ0IR z{;a&Ya#?A6T2Hs&939DMr6tcLPt~|(e~pOk<5!x^b0G3?&E=<S3)G!g+40^MYABnj zZ7%**v@qjj`seVUijrr~=&UPk)hS-PGPd&2&R@&6>-hC}^QqlilH`|HeorxJ{){kr zg^iLAH^lrbt9>)y{&wEU6MRa1-rUi_`p+H**N4g*iQib<{pa*)ZJi+hry6s1w%mN6 z^ew=aYm!Yz%+Ev9-p}~3INiu6u_D4?w%L<4D(@!Ns5-MvI}-Zgap|3>ZG}uPi{}W` zmEC1zdU4Jn^UZ&TS6+MHFO1Aw8N@#!z-{KKou75NJgzYWNyz`4rrp5)sWV9OwUz?k zrX4Cfr<J_uD7@yBy@%bH!zCi7IKEW)8Pj!sqkcc3W^OjM-Q6K6nX^7SSiHA*=MXr1 z(Nog{Kay1*c6o5k$T*WP>BMq);q~8(>|b#oQv3NNbnzL@%d@+-t6r<jSh!C0@<fN) z$~F797VL;Su(Iu^(~h4aFQ4yP|1Hju@#k{W{Lo8zBFs$2TKDg4`oyv_*S_jty7<B~ z#<f)uEakNhZ)cqMjGM{YE_irxOlaS?wSA`-PSZ<S;1^%|J<Q%!PkQ4nccGo1TDvQk z*@}HUy=da!O>>N%ZQi!p^3_wpdhVv}r#JnGN;`RAMzOm<!1uf#aSs+8-K?-$KXk&s zl_#UQm)x*eV{6Rn@l)6TXiLg6DZiH0zg9~3{_wxQ$=WJoS;^Kn{Wo3CKV@`ke6^%= zKXYkdOX=j2x@Cg$i+251ulIX(#Q$AD$<v8p&u7(c*%A1!@FJtw1)+wY2g1I**>%2p ziuTh55sPiwy7;Q@#_MJMXK?*k**Ymd?Bvw>tq#HKO{KDLcs41W{ucZt__}7e;KkZg z=U?9Z#{GNxo2A|x-t8{Y{82R3vc_e#wnFmC7TtUyal@q-l~Q<b#$TQFqrK}@?CFwL zZu@{R&5!qj=UShu`|KU~d4Kxdk{3O*D{}S+EYbdTAkNjLHgt;o6m885X(C5EHfVW# zZvDn({A}k>%_lc@{khN=`CgIt@P(<r7Q8>zGJjF8!AI>Zec6eI&(?m?zI3qisa9RW znvI-WuQdPNIP144^RuP=+O2<gukMaM)xglWFg_z{;hEW9P4z2U8E&NBY=0K6nr>~g z)cwRa`B#&cA925$FB8_NT5@?4>lE($74y9QGu-Clw+)}>RhODCuh!7grz;Z{A9qsz z?#&Ywb3|Jf=bI|r%GI8EWXtx@xyuf$v{}cVQnxDqV!B;w<dIvx)5R)hIQUiGt%|I@ z(sumI)(DNC9Wh6q?fbNN>9tSK`MSSF$9Wa++VyqQr%3lzr++Vvttw-DH2c)wX&wJo zo&L`tdVW%0%$1dmuSB;zoOk}J;5z9;uf<B%?74a|U%9A#*1Xzj{hEQ_xs7u@qBmYU zapK?Ad3&bc(dNzZnmFI|)Cr!S%2&4sUd@|t<7FB*Pi)QK&~uRj%hIRrHu~9WRTTIw zZkkK#+2cp{hMe2!^!uh{Y)Kfq_PUq{n(8rk!XxfFpZgXd_D$TMMeVD3z(w<WQ<>*T zM$U;?U?wi`Q>pItRgN!0`^_~2l1~;rTU+NEZ~Ao7VZI$3Tk@o{@0->KHFthY=hlBW zd*R<0EvprLlTWlJe{o8#c(EpVif*dG4jFwr(LL{9WcZ|?Uv$|1QDoJMqknZ<exETf z5!E}VxARMu_)pO}ai^{4oYAm+p=@Ga@W@V{>(R7R2bXD^DBWKXTf%)N^7O?j#az85 z@`fBd>t{8jpB3Qxtz%)jyEDw!Ae!xypwe?wDZyQr*2w-1TBF9!>DQh2VwUMgoj-?u zufOOvF(EJ@U+J3jw=jic0sAiOH3`f4;ugj7Qd{5i&2LS!LwSvIjd{OL`W~HlhM|A% zZu`(Z_mzqxckJfv3_CsP>q*~7MLtK<CeDa_eX=s8LGXp(_cn*!iXOpIG1^(Cv1#Wx z{=D0&y6k%R(^aRh7VMbIp}G9=L$3b}s`<`0%l6)tn&0w#@x{-+4eUn}nLl$C@0q~X zb$;5uA9IYte<^-=wQ18NxsMNZ19D9K|Lj!qsSDuRaVYRs*#x(9_r#iKi55%@T=zXh zOQvbXufDR+OBmMFdWJns<o@;MQE=aa8*BCkzMS;CVVUxrHH#nl?%l#=dgXi~-@b2- z(Z!2CxtKm*J8f;xhF5EDe=n-JXua*xyfdoz`Yt*&)%bHfkT@M}!Npf_@1v<_TZxu; zt@zE_YhmF}XKl+~x76U+%4VbE9>tZKd`F*%9)0#qT<~j*^{kyS(oYr~IrdGc?ayYO zC$rK!uW@sf<omR;|8@wdTgAS3%H&<V52G(Eiun_^LDlEc-lxKBb{fG<99#5v{bm(D zJdu0udM%E=ya3tGUdst{+#H^;UNfBCdoau@o+I#Dst5P_fW6kb(`W5@p5doc+1bQ+ zRX}>VWT4ui3xYDA<2SutX**rbP9XI2h2@6Vdb+)ia&y>qKInLN^vdCNx{5x(G%br; z%s={tg<UsV=lrXoXU>oCX?|MouD7swJfGE6Sgd>1{i#o8S=5^2qMh8z#_8^<C-*Dt z*zhl<ME+~|>zl<hE-3c!-syJB*p<WEqIubn!=krnYIR*icwXez)9<*RT>bU%%`)b~ z_!?8ePpr|Z>fsJymfbg_=XD;lS;{}TBdlYd($&`E6}t<{k^?WhILcr8wDZ%Zr`gU^ z&zR4ilDRTc=5zMuh|*pzap{{5PSLFoK1aSj%sqeB?*+`ud`|}1C^28jDskLdbR@7h z<b~@&4s#tQ=bfuR91GYqaq&(a7xyoV9=$x6*ctKRNywi63<Yn_h53Fi`s)yW`efDf zo2BA2?h5St+g7K0GG^y$!M}+<E(JTZf8F)`&!F{JuprZHN7mNw)mBbFcCqjz?q_^+ zOt<GCm%)raz3gkJ#TKM=njf9`W`|`g^GBW&zE6BRx&ExZIfE(B<7A=fU#BzH<%b%6 zso%2nd}BPXb!o)ku&M}k4jJp|XL%Azvq~~2?Q=H@t8>xewRcsiT-NlkXhZ+9Y~g)! z3cVZS4!U(;H|UV$S-wfx=j5Bellx7Xs&2+R&UDuK-f?}C?io?#*g(b&5($&S)qR^z zU(miilTm27$Hc4h3pKZ0u9#}IyM^UCV}r~sFS~MuCp%4^Gg=>dx$#2lzqvD%FR0CL zouKfnPvOBEvw5dA?OkO>Z!cZ&&1Ll&nOPe%TcfJh{Of)r{vt%Ua$|f&pyAom`jbwd z-+b-U+OLtm?@L_LbiCRP&b1Xs-k!iQZFaHtd+pPv)28qGay5PLDFNdv4sY0>h;9y6 zU3y1_mHpj1TXoalN>$FOd#B5*u3vQMt!vlw6YDpf_gTmnE56>ewA#<htvOUS#q0Va zyGr%>otJM)#9x_uIdtBxm24L$#-%-V{k);2W=i%|m#Wsn7oq<;wiIvZx$sx~mgqk3 zcgtUdi|IMADnE$iS*zX7*_{}_YSNqFnc<Hvh(14Sk<=)bZ*nGe(&L9kzfU#P^k~lf zb79GjXr-&RCR#r;xkUT)mYV&XEjsn*YI%dj0{PDhg5^WyL#Hp=y5~ytN!IJ3e{Yug zxrtS#JlK^bzIIx-z3V*5AE77JgX)_c`%Pb-l>Qm%9vQtVEw@<9F12>*Usb=djU3|E z#tb|cPkd@>pBL07oOsdRFL~Css@443`Z`Msb~tQ|oN>5N!++_OTBms@Enn?5jhi#U z$|8P~<tvd_MXdFYHuWpDUzwU8QoiXTzuviB+P6=7$hE9~z99Hhq`PJ0!-!o^_8P^_ zTJLw_<@~gGqkS);pS9ecJ9U%e;wS6BxSe_&m;HOKwr!<eL9UkL;R`zbL7VzjqL<t} zDrqMz*5WW<wQ%W^HD8|WaBehL%<Hk`+VFGD5_ZM;K8n$;ezRJcFTH-x75FJ&!JjEL z(_ighDO`BA>RxF75_P}kLWbg2*&>dK55*lAr=_gs+}f#qc$#y_3-Nq`td}xZ+jf0( z56zD|a3OgG_t%!XQ`brsT>i{;`PnRv89R;E&pgAh{KYQzls$H_6U{CtnMlqJnWK^+ z_AO3=TlB-Z*IxU-otm4jV)JIf%Ac!O3!moEzI9EgF*4x^-zvZMLjl`YX^H&h+R+_Z znHHeHdwH+swtYHJ<EOQHSgp5N$i#DxML*`y<u<M>#f3p!o0rHkeYqR?=hW5ILpt6Q z6b@QidKMaHF!I|>EYwR~n_7C|$=a`xm3O7L>q&+`oT(uC>r}GA_WENBGIqJ#l{e9U zqL`BMTI-P4{uA28S0%qVbT3MdR&ZNfx$5z&b?ax%Uv%`>$}>grsrieV6IXIOzFKRU z5hip<w_LWGrFdtg`>OM2oc8Ipu+H`_X;>(ix*>T|g^fkIV*KGbQ)lmG(!D<G{1cIy zha6(P55j~L=CUW)yWC%UCH2{s&u_k*6G__KI_s)@Dyxi=OI~NhYKu)%4fo5bGD%&# zHCK7jdpWt2A13X*_1b<><9ySuBgt15m0ZyI=T$npwR3x`@MpiAvu_@V%O1F*<9Oh< zg7};LF1qs;T0Q62jI0$orq`k<ET>ZGJJs`Pirp%u&jrHsbOW!QWzc6jvesxv-?{QY zxk>BKtG+DYnmA+EU#3TWjVX57ZIuj9C-PmHy69-ZSwsD+!sllleK?yV;MxIZ^|U>^ zZFLrle_NZBa<`=7ZdiZlk}pB^r)E~(J+atc_JrHp!^>3dS6%Xa6rTI&!eY-b!!r{W zsa~F;eb>HTqxFdKDG~E-2QT^WthPBKbBh=)FRqs;I%hgz0mCDIZl^uX;(QSs&OAvK z_#wS**In_RL+O=_%RA2%RhO!lo>Kce`ShgSJfEg0?#Q1Vrd)gXfw<_G<=U$bThBSv zvv!Vl$Dd1U3gbH~dcP;EEVZoDcAoYwa)H6d>GyPF3{p!YYeTku_c>#-y~aoT$*!Wn z>DGGXyTzjSEPLV5yk><dLrJ<ek9WG$_BMHgrR%1BVvN7Au4ZX;pI&Hp;r0&USskAl z)?bXCdyu<i#;3^maP7Y$JWKO?jag%C<hqXhxfVOWGJNJUuU#`<&YDpv#T3x7ZHeYD zwY-xbPsFdXnNXlCa*yjjL#X`p(5XKU?Z4=L@$|#zTt@o^{EGScQWn<F4Dge%J|^Pd zU3%0?#&E;?zH_m{=XNMLsTE5fjJ~+)?d1wli;@n`%k!EiwLO(;dBE9xv{YBXl4;5M zEgG_uY#m*E9~H$f`g}&`&jD_3&lzqml~a;0tp3k1GxmbAf(Xy%Ol^Bt<?2sD8%=NI zxiBo5|7zmR`c?e*K2K$esTA1sQ*`>Oj?>33r?}h>o3J+RrJ`|kOv~w`?^A31rbjV7 zJsZ32#hTowH}ix1JRW~|mYBM9R#?1gg6<Sn<9P*(gJ=I-D6!b#3FizZgZV<LYtss( zo+|VFc<`jtYT1l!i>wVMFP*0UyJ>=7^?}vgZZEYt<Wl1fB?~G2aJ;)O`^}p4nJxNi zMKSI&w`OMTWO`+A`_a_%l^kE<E8|z~5I$$E{A9o1`TLuW>m1-X*SA6IxXqNLqq|pa zm~6(PdvV?B_l#zyC;555aO^gCShUwjTi;b))!uZ5`37Z`^rI7Gr=P3Tmh9(G_f6&1 zS6MTC)!!=zUaDH2m20>e!}$DmDnt4aue0wy2l3D7JHIjfm-c<ZM;yKUhn7z`>+t-D zd&0If<w*rk!Z~GQ0w+G%8Ev%dT(-XGnFVR@%05l|+^BVLwZ-uqf%V2~w0EBn*dL<1 zWW%ZbS5u#C{&z{lb)Q1OJc072myd#Slpea(bsv5r`q=jJ#R!kjVNx*~*UG)-pIRX1 zk|iSV@#f1__Y+KwGli>lpG_z^w4mTi<ezJC-6H;;k;2(djWy04N)MAKFJySM_Qj@c zZQ;wlXcu2Bxfosbt0m9sWYC4nHW5>H^NTiI-egf{8F~9Cqx;_ri)Y+z-BS?tr04q6 zCmZ^s*JVAknO0aE!fUN=mvvwC$r?4Q2?Bj(uh#7?cIQs}#_()Oarl=wcZc53)(hhW zU$7@Tet70|{^Y`l*LzEoYen}4r(`CHG}nsXboq5i@Kxu*{En&fzuZi>>we=UYsBq% zwrF2h$rF+8;;GZur@p=FcwK4pRiFMzGd}OjO0&6EH=*+~?~?Vqc7AepT%gTeviIua zi{AccV}6+|s+2GiU3)Sz{+h_4qhBJ=Td$n+IiS|V;rP#K%E^*_r$60oO*giF6j1p& z?CX?VTh5rDQ-7`KHO|_*r)$6UBD?tqKYW>5SFktG>YR6wy58wyRoZhVvgB*{_vspD zwRQbGb=vO)+pSMwk$H0tZQNkJNVw9tLvM1yj+%FC1wVZAKcOEw>*QbWsqL$~&Yxo1 zu-`H;=c~(^#)n+DURbNl)oE0_=W+Y!uE5>yDltaSmdt%Fedxp-H$LTAC)nEk1lE6i zu`@r?%_}8ZVb7PS+ZtMrE>2SWc4n%*>a+H_hqlE!J+Tv=`Kd+S;?dOnNzAX-evZGp zr$_TYgQi>j)2p7sC*^9c==eS@2;Sa&q_A;SckH&7dxd*;-YyHD=CDY{OZe{*nJYC7 zfuEh1CosJ`JVmEJR5AXNnD=?tM2078qVo4j=|}TrOl1D_@XhYlzAr7OO?TX$psnv2 ze^=vd&wG<Jk(aBswl@p?UOaWC%Biyw65rQcNysnNUUP7h@`PPSDq}0xhxqMkT2xrn zuz<Tae41l~fWMg1V(oR=`s-7#)vF5JHxT@_W{-K`{7@|swqFyL=xv;|@oe3sCDN}1 zjHd<km6>nqo2LCv@b0$0Ck>Lmjlsef(?4<jTN>>z7(91^J;#QaDcwJ(%3FqSd75`J z^Yf;iDy1C7SBrwbNAG$GTCCf3XG*P8{~UFLEl-(vFP6!OM5dpJh`Mlh-t6*d^C_n$ z_x?H8Z9Mm+_SL#QQxeY~SyXaHgxR5AWXcQX#hwA_HE~?JOm{;Xmp)B3YrGk8B=22A z<2=R0o5H)z!w*TX)cPpADF5&ESP{n05wfqjm)w-dpLJI%KeqB|$u$>0mxa%ZwVbwW zySM85tH6?yO{aaDt`;=EYLLEtbHeuY-(5}53VwL;%9%$@`6=A;=lXin89!HBd<nLS zJ8f?|ea@7(5BVjX4*9RqeNp<oA<XIquUK7I3ELC71MVkl)Qp2JTKL`xJtF5_u|xh; zgI@WRn-PD7=j8b{7P_uk`^m?uV%iJCt|Kc>UY>OR`sNebzeJR;yxR3D*wIotk^5)v z%8yCr(Tf?BD<<{tIht)Uh22;1aCy?bsqFTgT*vf_HSb^N<&r8_Z!CQ9CDN>FO+DYF zc?EZmInCK#e)pogP2-!tT=#@TKdYTeVmCcwePjpYr|3=WN+KIL<}~d+?0Uz`;NdQP zuE&PEx!G+F&8|`x7dYnj`1p~{bMHRpGT8W5QrukC-j(lpQm}hV_tun0rdB#z?rLj% zjw-cUw=s47iXi{)>8Y3dpH5IUy>rY(f5V%<qV22xhRqG<-MNz^{&(2t`?*|wHCK)= zh^R|wl`IWpK3iy1X|ejxp-09`C$O&lbDneJI*;Qmu_;N$t;&-MjHk}w%6YQ(V^o-U zw7|VXGuhHDxz2rgqjCFWWy)gLUmEAjo>r|;kDd_PK7p}rwb&cKREd0vUGqE~^tK+_ zaOUQcl?u-%#HXq-Rjp8o-Pvm3f0QxG;AQr@tU9lfkF3wy_Do-U=&pXBYt^fzhs!FK z`d_VmDE985r0^``m0P~Wzgqi3;Llz0JKFpPT+N9y_a55Y6B+Y-a$@o4*qZCFmc-tf zw}|guf#`1jd5*C$f3Bs=ys%bZdTRT^u&=(Ir=BJ<M@vRulnt44dNGgsjPAQ@Ej9Rx zceZ|Oz9}Ejyz^;l;<M#lydPHFJ$H_~%-u5V*XkpmIp)s@ys19*%I&2WSp1EaSFh7M zoNrneJE7!R`;9W@Wv%X~1U~O~5mTJs^&%p^?Uj#y%oX=ZuNQEOO<uKq$vS!C8|-Fh zye57M@SEv1fjy|9-}tOY-mHbXb_pwG-YxzbQIP!gO*`|{1uN#8do|gnrax1xNcM1D zJoTj3YmviScAY3O>h3;}9Lq1Tvr>C{>aJ(4HRoyrn`Ip$CqKXWEx;%4(vtfVgBVk+ z9JNv;&oR9+(!TUz!=J9k3MuU$n<n43pI#wa7q*F|>SomSi$Zmx#`P^LV>YIB7eA@i zKX-~_+XB&f^90uASwu^&JmKbj>C*a7@uioYxc0>yx_GCnZ<^MlUvgRQQ?KdCFuUf9 zW!strUpmD(FHKNc<5bw^J!@J{Os;T?dH(6>ti4ZnFKK-`Gu&d&twpto@fYLUo%U?f z@ZDLK`PXRQsUv);2jhEoafbiWz4UVSiQvU<A7d>wUKVWrH2G%o+9PEiC!UFTFF(mE zy7N=;s)qNfFXycIIVGXyR4bQDdi9#GJEoqV^!NIV_|l8Me-_pU1XgrQL`o_ZEIZ$? zuuuBQmAdYCb7E@D7*>8c>3^=;R;AQob+JQ{^@;eCZZhsZuBqZXkL=A+j5$8*5dX!> z=c#!ag2jDr1M^*_wB`Lynr%I_@nfX$bW_F3XI$r_IU-|bO9s6$Y&*D$V|KdM<D+6) zyiX#&hVP%m@{2RTck7#N-M<$w?ak*7Y>Cm|(ONV8mbH!Y%C{S~Eep|9vz!rMTHHO+ zm2alzud?V$w_2v>IbCzYlnx2*U!z^MuKa|~G&eP-yBnpZ&Og6-(vJQRk@_cV?K*Ck zzgjSJ@0IPZW;4f%uRZnrXGmXope0X()2}#z7w@vg4VE!Y&=vn2*7$7a*Rak%cjt!R z(ZA|ak+ZYMOknMcO+9Lt_B~9UAIcCtF}&YE+^@Ew=0Nb50Ohu)?ydz!dsw^NbYfUz zFP@n&<B`Q?-ZMH|pKW+y6tPR+c+s|Y)#Q@OV~M4~-?@@)CLS_5F;!*@N8j|wc@3+p z7RpUpTfE4~&*=3gqwt@~Q;u#}{fnvC;ZvTg{GX7m%?mkiU(~r9;HSKF`oEz5D^3&F z>rDNtvp<yO{$cJnTuPo>7pw_h*I2)*-drT|;k)l$8~PlXE<RV4elIV;^+;^mX`wlG zsa4Nr+fCT_>WK6$aq;Epcipdu?#anlO%<Lv<)!^)#;gUFn^(5Z`;sMAS702URIO4Q za9SpxrHWfr<=u;L&k166tCS9FFMpkT)!vnLV>aWeou{?eUvxaZSvB$R=9{WZ7g?N) z=v!Q}I<7c=QK7nb^yV*aANX=x>)$dcxYeo37KKTr^*rJcUmdu1*ZG!r8xPy9T70^b z|Kh2~vEnx!#1AViJn4UV!-N|zmMQsVeSac;=$?c2%md|u%2yP{w?0|S_D{!E=-PJf zAD!BTo08j#!{(p4x_jcrxz)O_1avb`t4sQ`-Dp3{H_NHP`PW8%+b1s3hrA{j=N=4l zJ-BJ6u-VkPTLl(wa-Xzy&(#N?6r&%7*%gVbQPx|zU}pItuEq=*qebRh%O>m({T|(; zv*(27@*|In_Pt`V4>@slQ;4weL{=+(rcX0Gc7MuQe?$Ln^z+-subeiXR#n!G2~%Fz z81*mXGJ91%)9dm}UbEKnK4oP-6QOt^ZQTXSyPglESlrt}I9@f!u3H-upmt#O2e%JX znV)PgHCIfM`Qfzla%kE%o8P+gRvujRiz&GB*r%`liWh^*nZuWU)HW9?E|{EisQGj2 z<MXbvd8wh<%kS>u{m&30Q_OKLpnO{RRi7K0m%~<0yYZCEPxj*CYK7(ez1v!Dh-ciL z(A}5+NNAJ%Rjn+?$q%`|hW}pKuNnSqP3fNH0tv1!*F;7utus2!8LoKk0oyCj%OwpB zdUMoET3dFQq-#9l`p9>JY5fE%(O<ehk6Q0=+O+3kn3?*dj@dVBr@g3q`F-;*CEoSB zoVNZHS7i8*Ul#K-GL`XGu|x4$=ec5!9Cr4oqz62|S#75GV0N2Nq2FqK)ek4m=AGyJ zV6{S?>)}U7R)M7B1+3Gr`tv_)&3~s|eqnBC>rb!WD}QN!b~{vfEBy7%Zn5oI`^D9! zTw-qgSmIEZbKUdwwtGty{MV<e&iTw*@G_I@nEnH8q2FsyZ^;S^yW%zTCkw+5l|y{Y zC$xJ@xxYGnt`(j6DrWm`-S2_>4O8pFTW#zwt=o6H@km7jcj=BQizl0-Z(n;Lwc=~* zrJ}GOS9hc<iB&yY95|Da<GN|$C+>FvmOBbgz3M66b?%-jQ}MHXPYZ7^h^zGaD^|%` zKS{m9;%S5091Gn;%N1lLb>6O>CcNTq!z}ZS^_{8tF86i+GnlH+>NI|`pvpgS`^>PJ zhby8V9dK!CzgqX2-_QG+h`6WKp;Hf@cr_=V6kc$)_*FH-7ITG7Vdp1L*H_wEs%4%& z<IUlRM^!8<KfAwHjXpe2^z_Mmo9<go6F<4XR^B{cU3<np_t2bQ>n{p;ZgWhO>e;z4 zTQFf+$+-Xq`AL&2xUTJeS~NFc^3ll-0d`rBpX_&iI%(Ix8wLv|RJCR{PMkXb%;FP; z9AQSAf9YRzxNaHYZ(WvMobupNIe)_nB}<93wNrnlEq=G_Rgd&buAiTMnFHsneXDaL z=wfZk>R&6K-4?N1>iIOqC3TJ7p6k<1ua$=Ne2t$PJ?r_YSN|D8?HJSLR`Cc_u9&f} zebeJBn)g1jdKYEf%eril!S##p*cAKJpGw@zL+c~8+;w)_J1pa$)HglwjQ*ytZ-gyh zEUN2ze8y{Y{nCZ@6D<||8!ugGYsybClq+V8f7bhb>lEdyd4H$v<#==YTDAI%<u5|M z?wV@$HP9;G^UaK~uVIC!9tvE~R2BT%qU@qSA*kTsDXxcheUaUBy}DPge|J`5&Kn1p zr@JR=e~p`2mOd@pUTLr1E|#?7lc~#A9m`Kuc8?3)d3({9i#`z@;!eI_GdLRFmb%%k zR=#rT(RGyzrDxX1oxS{td+wJvUv@;MElc{jZllHY?v>G}J4&?F?(Ei`-sQx+sC4tI z+23N?kDlbP*qE|6++Dh1ea2Ox64{yklkCExZ~85ix7NHoX>Qf}JL_r=?fjg<Wum(= zAZP89)<0LyZV^~ldZJZ6?=;8OTU;ler!KTw^X_V5t%_dEl?=a+t@cja9nM?26vvo- zj;M+Y2>z_yWpn8B75z;cE3SymUT>Jax>vtcwm5EEd@ASlYX?1dbT{nZ_IlZ*^`BcA z9zR#~a6a{E`IE}^cT1&Ka@55%F~941d6?_D?}h!LHn(T}p0rm?c%tP--|xIlU;Xl9 zE~n3Zm^jhurr><#lQAx(LGF`uJNkr{>8?7Gdq(+Oaqt)I^54rhaDF)Zo2Tkv{Oy^p zclAQf%@mc&EPcIK+k{bpqgiroB~$pTh12Z?!@n|Uyk6+K`~K7;`nsv^*8(rEGCp1E z+HVoWAun`y>!+|^tDisHaP*7ou7wMK1o!jld=#w}4^lgEQcQfp+ArMeySzTkjyN<s zCMzti`;AktN%+$V0W6F~FXMM<mvFoa__V3{WL(XaqyIz;+vl)qo&CASN_6_7i4BZL zJR=qh_IYtlDt*{u)L<J@&=Xb=INx>pmtECXNAztL*1gs~+Hti$_u{-0zt*VicyxBj z>g~UrPFb2v@wu0?DSp-8kiS<a{_^_r$VcRh+?VO<Hir$&-l<)h_uXRlyA#3ZH92nG zQ=NaYq<i%*fzactI=*IoJz4x}?b(>)i)QjZyBp$Gqs!{u`ba^u;pyJ?bE2OvFwatt zW$JGJur7Wk)2r#T8HA7cM}}SR3OuBIVs(|*y}6Gov>eKKJRi*AJ*s-t<gdu<CvCFN zEO&pq%ANOcx|dS&!wl}P@w<Mn)Z*D6Eg~=QqSaLGrqg-5#ME`GIJPZdO?&s{P5%nF zy4U;>4RhNY3bwr18TV<!pQV1z?q14EuYE2#v2H%UsUgD?k<ZVzyBZbdi!18>yC!oj zt|)k4tFxa_aUu6tuBZ3!><<e3b!ei2oBJlWn5M0>&8L3bB=okzA;9?AzL_hSUu}=b zDb|WIZC0&4H7AU@W#Rcp5gd1W7D}ApUT^EA{7PWo>Z)3){;P@aC4K5rr<nd@(Xn48 z(qr(S;Tf;jmy`CNxKFV^mR!KNy>t17-Am7`-*wtfSgS5E*&=b>#>`#&Re!Jk6ef6K zYJS`axxKwdvu~dD|B?1!y<g@t3%{T>`sNOddp`=#+Hh6ya>*f{j{^Iz<`+HNF)jF% zut(!Zj<a>IzeoOO2u_T@pe*%LbK<$b)=CA(imY`XKU+Vq%k;vOYkN3*nhw5V^jG#% zV4dvm9qVVoD`Plo{-W%X&LivA)H>yTdvT^WP+n;ci-hE<%g_3!9@3rr;_eiM{|o_7 z*2EfDYTavexXRpJx=co~c42<}6pdcJokc;6N7t<U$r<4`OaJnwlG&~8lQ+K+N-Ak( zS8caZiV9P>^EqEt>o{l69kDN|>|77`A6YzYDf6eM4WG<<uH5;|r+L9)p4p_G@eZ@f zm&-m_qh9Ab=h*5eM%<j6cd|a)zfI~<-#%|^-!7KUS8e4sSC3V-Dx8=hb83TZiq6+( zoicT-ds5s2*4M2zeWtheY+>S@CmO%>HWmbz{0MAbvq$-x8}||3gO&@}ZC`5Z#HyN{ zuqfKKBF|1n!+D9&MmI)DwZogG&nlaIxVGJzU3$Sm#wAbOR$j{O)(F!5=n?)jUHe<Q z&26p|a=W+t&Nh8B$I;QoxqQ{mvpZRtuX>($;xf*DcWjkmt)RT=%UM<@&PLsHl>d7| ztW!=?BSXEcTK`k5=hZ~B7fj8sxE{`P3Xxx*G9}q>h5Op8kF}lb1FBVyPg(QijEnZ? zEt)^4=7-k%o!RR&`$$|^WU=%4(z;c5ra%3#$j-~?xnlY=k+t_~TrGA?XpxCI!Nt&E zlj>*}u=(fIyfBB)SIX*MD@tsh`c3P6Uy}IJtJjKcMK?d!aGT?#x3iatb5XRe^oBKW z@3&ShYn&7FN6RR_B3SBk<ZVYuy^fim<2G&Y_^ff?Y=M5x!|2dgOPY<VS5LU-SXjxf zA39GiebSHph5>bfH`#R^T-R=W#~5FtzwEo~#n>A=-#uCXGWDEa*4@dO*Ixbn92F54 z?srq|&q8-&qtJ;HXI!kkc&ON%C03~9WX0X{l_gia`qE8z&oETc_r0w-m8t5~RhOSl zA@c7Oz4K2Vb$qNm>!sxS9r1bhUBAsce`UqY{U-jQ6aE}4b}2o-amKBieF{&k=7!V; zPUZ4$yxW}0a;M;-``eq}ZRZz+FTGZHPW)9%%%feuwdY#|%Pp*noWONRch9Elvra`z zUk|$c<WkH0$ng0=bNQyKKf5}mbZYh^OWrWaJw9t(GBY%9_}(aAYAq)7-Qmq=^C?!( zxSG$_?VWRVXK~>7_}fX1FDGjB)dcOT{N`4+tFS4zBB1DszN@<Crq-@vOa0LNNn5H` ziaojM@X;+xW%l~JRWW+AwC8K<?Gxm-Ij?%vrEe+!Z~wG}Pusk$k7ZlVP4xU(7U{MB zVx>$+eCmlTvG2N~a~|Af;JRj*tu1R2P#`(?**UMOyMmv>_Pb8~bLF-*XYgs2eB(pa z>QAn&-Ne4xaC+*_)q+x;aWzx?W(q7{=b~Y+8Mn>mw|-uNX!{YCQ>T5F`k!)|UCJAn zw@&-oh2_hNmOt}qda?h|`g0eSOgzUm*_P>(mj0_b{@Oa~(^hN0x?bc^KSgKHyFFXn z+-5Hj{n!01`0P%v4aLh1LLS|lZSu|iY~<lJTWhCeYgMMCdT1SfBJiTI^=0YhSx=X# zehYZmzv$D4Z_nqgZe#0?PIGFsye)g7dAB%={{A%0;@ph*+p988NiPUuk&U%n{oGPx zU(9rSh2;~TEEf~}t97jEP?KWfiAQIYbLOUN-@CSJ|4P}mv!`8W=1+K2y~iSF&-Lko zZ|n+~nBOhaU8nNc{<5O)lh0h1Y3&Mmd&BA#)=t~B*siv%uH)3{3nJ<<Z?-qjap!bO zx49<VyY9)gZ%(};lFD<|Zz{iNVq#*IGU;hIuX$XY+sfNBB8rxA{S_;Fwvl=5t!1VG zMe{O_wnQ%9;1;lU*(!s5YVWlEZCbxBVByUdiQ?`*X0Nkc*>=#J_2jin7sBF0=l+@c zuXcVx@Y2~g%4JW+Jlc9jGhEIs@b0!5A^%pGl^4c}J>0g*x~Q)~XJ5C*r?<cLzXlog ziJZJs^U3{QNbUDdt^W+Fs_U34b(AFy6~ta_KCP)`{AYF5rPtanKee;co^LW~IhC7f zc<jNG;)4%zR-P*kxAS<NT@rosGk5icl|A8G^mnw@m2c`xy0k9orsB=|UG|~6XSXp{ z-3$18@jt^R5jkCl$f}h#-@UJxd+(U4C%AWl_IK@$(y2N^?803;+2@JMD=pk^(-@z^ za)Ud1llnEW__$-%Jja{@i#L}yXw1&yjJ$p1lK4%BbLQ9HRcv-SFIFU|R=Bx=an{6{ zk7Or*2~x5Yomki*ARg<e^<vj^zU<2u@h>+2)SPb_P|Fb+FEnFIj8f@^R*RZIg*6VZ z3)arbJEf*{onfU_x5>(m8nyHCePImI#Ytbd+rE5?-m~t8Z`!(?^C=?v^1PcP_64=Q zULIP+`j%t5)qx1@b75NQ(L1IxEz{euAbO%!RX*$7FPiJs52rp7J|Zxac?S2y3!mc) zM7!&EtWh}om7BZtT-f8Nn+CyA_qq2zP?WcmJM&k}DcMGQ($mshwp24)8PV@M1&kvT zpO?zCxvYs~sOXwGFHNL2tWeoub8yY}#>m&D%H<QL*7`p55k9#vKd;GB=ObS>+s>`0 zC1?N9do$@$d7je|9i<za!?(U$r@kPv-gjE{odfZ!tZx`{zgzEj;;g&3f|TU$;(Mlk zF$-g)pO@}VJel}f``eqc%6B_0mpLCiCvt4gZksIue6=E$J@bmT=hVc8{uTLTrg3tn z`KAd8{5)w({)+ZZo3ME1&Nt!(&k`eEuL%CaJ>5v4XY17SleYM)3SV#xkczpnf7b79 zBA;b0Zu#n8r<OS5Q246T-mSmC#VEJchVIKaUGgZdrfF`~%9oOB_N}gPpQI-8H?^|Z zp*f+v>Cd9KFIwH(zvOkVFz1aq)}nv0<cesQzL~23$-38H-Hen=-Cr%zDQ;15=)Jvu z*C&_f9qaYH&l|1r57_QGH!7qw?EI{@x%ygGG2hHTZQ^(~b5~yZ?&BH^m6LCZM}4(z z=(+x8)BICQ&+6`Tbeq`}Zn&ysgWWfwhS#aT*8El8c&BrR)JomsKUGsRx3qT0d7n3x z(%xpdLTrD|zplEjpP!~)(+QuJ#cy+^_SAX5GcE@!W+=u#^O`)Z)nk5WN6{X+n=#Lw zM7LMA7IwIEdo_N2)A%*){D#S&xxPPJGUMe9wq4UTR5w1<Eo$0gel_(;2!l`Bg+=~z zlr4{?`mBj}mD$XFdU;CH>^O1pGn(@RcR3v>F8HWuQ7LM<vFXdfoxy_DTc%FS+j{l! zMZwDkVU@Evqe^$pX*|=kwtJcC_etxgL<+GbeT&{U+bH1IA&GqsD}S;I&kKLkzcbK2 zbXp|S@}pt`TX#=eklpEFbu;hvob@httBQ6#KhY{%8o21|u3eWumsLgbU*Fj7{%rrJ zD8^@<&nHZs`o~wh<aIGe_QmLj4%~gK-gVzxC^lD~&v!##(c1X|Ym{f*JF?e&R%xK! zgdO!eYv0XnIu!7qVOMqjf-t)UD}HL)T%7#ZU?;<!Yn4w+YBmKK%zP-@zRZg;JXVB% z=9~VOBVP84Hhc<Rt`V;LCGxn6o3_sB+-m(@Uq0%@TezQPz8*TsSmv3)r=7ubo{6x2 zv$-DYvq-71b-LeK!;G+a)j40Z^_8{$Y>iJ^|7!omSiw(P#&fPkFP<1Fx2kHrU2X5S zv;$LFJYV(9`Rp>UO4s-5Ue&56Eq}sWS^hK$>1)1a?2#8q>yRjToqBZH>dThlU*gxN z)TUO&);&#sv39xXvrX511=Zgy(<=$Q_F&}+*CRS>uV`z(J}S9>M_jV1MB#&)My)?< zm~uB8Y8lL)EwK1mSmd*p5&K?WH`>4JTKrF^?Y37Z=M+bs`Y``xxJB-wZSJO59e<Y9 zow~O$R>odoxm&B@ve&7#zjI$Jrar$I|0JYXdczXlw^1?cZXdlRdU&qd2l0CX#h)wh z?(<@P{&180iug@^C-`)wI{fBUuQHM3JMoiw)x__?7wf;;wx16D&(O2(jf3K*PaDOh zUvjZ851o6g>lynqmx+}drz&45W6YV(bKk=CfXg<fzB8`E;ssY$&wUflkkKA9*|XV5 z<cZq5@I1arb7i)N{)~00TITmn+{df<W9*~vzK3egq_x|61l6Xf-LCjBan**tY;J~< zna+|a)6OZ(7ESFv!CJlZrr?cZ{hYgI-tBJ9)AKWno25B1uiJi6@3q@gr-|)mcor^L zujA-%bCQd-xhSCM*@9m>fwlsl;<A;W-;_`JeaHGpgR;+4_n%9hCeLdSy|~J`TH!xK zR-cza>g=U;FF5`!*EZ*OUUfc}sX|KH>$jrSlkl&yVq!b&T<^-eUiXYx;%>Cz@yCcs z8y>0t>7G)axaYKAcH5sOmQTCGc_+MH^n2NyBX_MIRi1RQ`J}LV<<pZ%#rwA|jOnrG zYA<9g5N)(NH1pr86itQGzH2t7u>}R{NvvJy@US~V&-;Ab>6kuOo(8suam8EoWOOg6 zb?&qM`k!H2u<CO$J<%d*&i9!ory0z6&J)q{FvcY6;$#O0pFaU&Z|V}(R88h`*A2hZ zQa<aR%cp?N|DIYDnm^JokB!;Ulg0G<$>Min;aB5k?_ZHJ*X(KPuazJEcuD_DT-9** zUG4nT{8gLlPtMwL|H&r7Q^6a&_o)e{&i{63-gNFSF4G>dYdQ$ab?fX2S|j)KjA32( zMFvZs30qHF_)dtI(am0Hdc?8!rnX30Qs}?#x$ERYx15-?(OoQ;EB2MaqVoN-cRkuL z@p<X<NjW@$vz^q6ODBKm7yB4;;8^vs6Z}a})IKcSefzqq<KZi<0^Z4;2lMkKH!>!+ z39s%5{@gnK%iX*`8q6<3YOAHvtDORLneCKz_IY>Rb=qR#E*QRdqRNxpRCQa9m~%@@ zt~%x}J0f$XQC3W%aKEbH+$)Sr59x+Ix)^1Vx8Jqk-wdz)R~gTG@|8re^@cB7=wY{D zMd?qW^^2aLs<t~6D4WMLF|XAzTk-qUBOm{2{d&s9!<}}uCBNayBXw<dwHpQZURAin zusBz~+L~hCk+x2GqSX3LojaYB4svd{(KdR2=E>`K33s-wdTX(~!&=qe=xNQ?77jCJ zjrf;0e=nPPS~K9zfio+AfBWd}5nfrm{9#1Zz3@9LW8TbG`nCSzD#kgn;y3;DEd#D5 zIjVgKiQFD}_m@Z^M?<%o;XI9926xOiFXYfmH$UcW`Rc*G*Y83%9FIG*?7G0xvxjr0 z{ayC<(3+QDVk<R%uWXd^n(?XeW?{W*+ocN&cI=*eE!<KvfJtyl_F0Rw=UrKvPqeLB zlI7`d5mzU?XlKcPhRdzr6sxqS%LVN!e)B3s@QK(wM>A9LAnu$ZRV(-IQl6O0v)I2T z`8M6zzI;}HyXo)sH{;(d;V#z5JnMhPvfzo0WLf;>4ZC#LUj6wjWKMH}jzVEd&*7a8 zk<Vu+GN>J{7YGx+ShsiH_Mi&CfRNWqulR{8lspMmb}qF%=fx=gs&~(U2*=AN1@8qX zOjWL)?HDWgV{vJWzeQwC(|?9nT}C&4B)aLutl9H5Z0}Ev-tr#(n>AwF<PO=1{#v)^ z>Z6c5y#}q1Wv1+K{oW8av#jdHzDFUuFZyJ!43t}~F}366qL+(y+F#~8!l(0KS;x$C z;%^pc&ecnlKXdj%^Dc%5;kQhKxT9qb-BaRo63BCQ-Fx0t@?MH)cZ``!{Vk^#o$1y( z>#ekZHJ+_oeSKcmqZrpG%O)xP68+2Du6y?JRp%c&S*LBEn!+Bv$Zh90NAnlGpJb+e zn;9EDZ}pon_Z3r(bZW9qPjA;>HS^4xKU4pl+P-Fa^x?gw^VcWze9?M+^ody9gvHZp zuH3&^`&4kR%(TkcN$&R3yuWCl%}c9X=fe6eBK7c0?s$vf{a0+=UF{8)KQ9%o4Zjt7 zB;FwG+iIP-Rlh#0zIF3c{F(W##h>Cu-)esi@BFBsyLWk7Rfd2?P0zC>H%qUaPg5@J zR$El5*;raX<7E2RxYh66(-&=D^><3*PtpAS>5KmU)_L=Z(LeMhi^fl#f2pM}#G>w; zx_9@p_M17E3jG{d7=NvhTN)GXu>95Hr(B6C&kpWct@&ef%+8f|>JCn&MW-)%$Zcvk zT@~jM{MAoz>Ec<8=k`R_ugiL*o4um2>2cAe#V<B@KYQ|L_6hyJr@zE6nwh(aPwP*V zdt!HMwPNzMS3mZO$WQ8<X0#~ATt78E-dS>`<)^SYpM#7FPnKLPddWRM)LtyhUxP9A z(7v~=Q`}9>WqS1DyuU~IwlyYJmpo+O<oHulki9L$Z=2iEKW`R$ZcnN8>bO4Z%3S9; z%XBS8+e{*}Qyc}N=U(jg%lh>x=IZ;?+s@jXzAnvK9;z_;*}Bpv3wT<OEKpy;t^fAT z<ukhMGs3@2oxAmrwa)rEw_acSv`BfHDhuECFa|!C)n@)m{gxYIEVH#aKV~g3**$^P zk1grP^hMjxXcwQYda^(Dm-3gXD))n!4#Y2Q;8GKOVKjC61Vx8`ueFP=);@In$;!Cx zNYA;?o5G}?-%R_@Fg5k>3b~zSDYIqXtiN$>V_&76Sj(lqw+lmJ@0vHeZtL*fvi;$c z9{<P~mCDuTzdD0*PZYbq5}!9|4#y|MS(9v2eHX6?@ZlF>arQLZXSVX`q&e$L&wZQ9 z;_g!L%tZ6R4`W4t*TRh5jNzH7+oM9-#jIzCeBIsjiL3a@LO#XUH)ksQcw4_xR<#e+ zO5S24V}3$ZZ0nmHx9%mh8XFX6#8xS`^X_ahIQC+v#*TM?bo)-6GUd`O-1EYvLQdy` z=sV%1XPa`AUa@@H#3G^lP^<3N`U`5&=fq^KRyRsX20ono$Z4{f%bKW(MQgZo&kDWw zaNJzy>fN|=AJh8eHF}a0lLD^K$okK4)IF^(o71d&m*}lKn}gCzQkXuU6Z`UoLHF*v zh^e=pOYA7zq&_cTvEGvPS7ijJo}RT~_BNf1i~cjbnwa*Q{Yk(Ba~8wHA%;A9SNKl8 zJhU+SD$~J?oh>oGk6o{shFg8u@NB<F;I67I>bnKm4_#WU=Vch&d2fo}<RjwuoSOdr zyqhL>P{_Yq!1<NPu7wiyFE^VCt`}MHvt5+IQSxAfTg0-^^B1jdrOk2|Hc~A5F-=qQ zS@XsuJ~Q3u#nC4N4AYMU&+>VA@-*i?VT+iJf<>iT>>?kP7!Tdt=~JihSRg?|jiq3X z>$>wT>bolXO>MSv3zRsQX!DDH_iCQ(&f&nGSe7g_L4NMz5QZxiO-Iig^nGtv*vxjF zb5W5vd+732_mt*-<!1RhBT!;}>Tgl*lC<)TqJ{Dt&o-~^o)TH`D5y>Q;1+e~S=<%P zmybL=R&m3`HzP0YSXlVynCP<)xo3UdwDYLEK-{)0rOW0;PnXY{KkNC4R)(6ZE%Utm zPYT^mG7m3(bS7AAwkXGp!hchA^Gy@j52^Afm6tba8CL4=ol<e~uJ9sRAIbQN2<c>- zT&{G+s|WPd&lEfi;&WH+nEbaj-e>CPXM2kyYs2q){L~HU*~)#@^SWvMMA!Y6;ingE z3w{*&XWGtBP9M(*>@OAn5)mbPW!fU&?+XM%)&{(o^KyQN(3<{>>93ZQnes2{EfMJM zc=$|bkJ|S@p3fCw=Z|V0=GdK-n9x}EBKYC?o-hXGv!$;Vy}EC@SC%8#Dz<j|o5gXC z{;&G&xz4!tGDeEMe#C9DCsFgbUbcSdug|VKYGNGgUSC(8cwRGL?t0VHC#yb3Y|Jh@ zG;e#LT+yP(Wqtz7(rWy;Orn=0KIMMYCvx{tobPF;^MdM?wM%PH8E2=7-#F&|HSFh9 zMak=tvFZlPpK9}W<t>clTitl>iDS6D>iLNd&)YQurM$bg)rNgPGbLF!Z+~iC=EaXG zYi9&0ugO^UH+i$B^U6oj>;64sWuEt<=(p2<hFd*sTe75<uk*NdvB<0AD{FRX;d9pL zS8HD|G1<J^GlhA+>$QZ21^T-Vf4HMF_wPaZ6|q&VbE?Xmlm*VEOnJZSZ}{C)ceX#@ z^q;|X#>*5{|5GpIXYJcFW%cUpg>HBF?>4PJb$s)i&F5Vc|EjFpIA`IvFpK=XykS?< z^Lbb=sYu53#|CegEid%i`DxSN)M!1|)cLJ0jTJlI{O)x5WVUPG&eap2YE><~a_5lX ztDYHq*X#owrJrwoP3Ge4rk9;Doo4Yb)-T+_b?5Dq*+zy1r_P@Xm~6I#k$=^BJ+GVD zrIIz~ajSmpIW#ZPv32^@;^(EM-@`0_R5L!wd1_m%8h!0mz1Hv5rpt7@LccuO6vQ3< zQE11eGg}MmXG)*lsj2>C-|KJjsmsq+6*_I0*RZm^l>19uZAgFUvjnxzv)6l1tt-=> zuB|@l;qz9HIXiV<_lsz!E?IvqQ0>F*lUGxxhot<BP261>Z({fQVntmB)Bf$V+I@;y z1?9T#t+M2v5q@3uyOaOr&Bo8QzCU{z{^igvoqel2O0srdH(X@V-5**%N0Eica;idR zqPD%kuIAkuc{{J~cIw-v`JZ9BX{Gp{HT~b#INP7gX?!`U&u_A#qtuP5NlJPPi}qzd zeDdzZiHG;KZl!n`zve!z>2OGB)4z8of3CC_U7+0?e#2|eaTmL#(XW<hu)kQkxh_lP zi_y-xq5rxS@{QcnXJz}%JhXMsh0}I=Cxbs`a+O{XJ-<ld-GRFqmdhRX&6xU6nnC1i zgZQHUnPFm*hcbH0-BbAG%7e;#Zi(N~u3EkFN~#vW>C>ySegzw)dU@yZm`CrLb255e zUR7)TqU#&{qSkFb?>eQJdy(?mQ%3hcv;NZf)pvf=bo26=+Sg96HxR$;H+j~_Gq?WE zKCb8Je=ekfL&;NFwX3E@@ygwTq^Bk21@}G_IUe@qI%w;oI4?YI=L%t2r@tb8X%ADM zz3~b?^2eYk$mLvX?ZWu0sed=^yR^5s)&8l`F3tHK@ptC%FTE1KJoR7qcc;=*;`g_I zcQD<o*AzUj_-HxPY;T#(d;tso3ODCkwQ~Kj=Xtgx=^NMey$$02GM{3TO?SPCd9rR6 zQ^)H?N_j<&eHZdWic}t-E-^@JUce?;<88l4uH0x-Uu@_*&OLfw$FH>3-R6Dk^KAVW z&9kSA95v^Q_e^Eosk42n;3Uh^!Z5Lq{)vXQTnyQ(6h6i6YV9b#=g0ObMMzl6w45Vu zdt}XonYo_|oOtYXWOO>`R%$9=3jG-+I{UNMb8koAdAh-O=X7iTQm@N7wEe80y7)1s zIlO&Ei&#Fp_-@^#lEU_p^Ma1+#&4w;SHvdOOzt|%(fdyKw)VX9ey2O0h?MTV+<wAD zr$6@2)N`}9#q3<sx_eH#1{0s=*<I=}yNp#9Jl|c;bI|dlj-^+LwV>K1qae$>MRua+ zzG+va<Z`RMH)XDS&-eM)in+!yJMSiC?pr8O>A7oTnedFPqZV_;6#YFW-aLHxG3T+I z3!5%0EPoOF^xN8?s23;WzMsrD|Fd^S`K~5`Ya-_-nI-If>Y>ZHy<^wcd#*cs!nD5z zv9Ic2x}zvF?Yr)c@VxB`n!h!&^Tkz`b?oD|3N-qBLSSQ&c;AV@Pm#OaGSAf{elU?= z#b>#>rN!M?Z%RRr>)Lyn+J-7or@POl>^d*B=`qjK4o$nR15YOz&yZs|weexY1>@j# z4H|oji)N?JVqT@Ec5zwehP;Qnxt?7tSW_5n;`ylehV!d-&0THxR|dB3zH?}&0qZQT zhUYtf?C^XTzUzq%%leBk>n5`ad@NE~8N6(J_=!Irv)yEFwaDr!)~%BL>b`Kpl<Tg4 z%)(@1!r$Ecy>4=b%Qht)nebaDPJP`m_59S!EIi+H_Lc;8*{OJZQ7w73VC(hTIigQ0 z%VK(LrZC-EBl`B_X^w*YqaE6kZ<J@=)&3jO#O@>>T34leJwA}@kpH2M2MTwWtgd<# zV{CcXJ?5f)ibILS7MbfyPdLpuVO5wF`sq`c`kAToXSAM{yyF`2OT<BMLcU_!uHwLl z9}cPS&a*f#wC9|3YoR=gWz22wyZMrP*Yu<={jI`im#sfBP~KqYr$hTrpEpsEpLC>1 zYR#WpAqR6RmU?`hwDUyI^_fkg>rWg{{dsrw%bS<<F0IYmJMGCv=eDmOHI1hp4F7i{ zzSKZ>Ay>(d;Eo=(2dwq0{=F9ct$#;D;b&r`>vFr(?z8sQOg+81DUq$A=3!cSQI4YE z-g$ZlZXPJvmaWb5Uia$D0;jKMW3p$wdA5Ge&AZbtt0dd1`Wa8pZSVW;Cv=19Mpt*K z*5$cNQ@J(vxs>@|nEG9dQ!>W1eo@a(?Zsaj7HGUa>#kT->ZZOzi+>^K2gjb1+TMKG zrc!?lT5jE$x|rc)<hEBK;)$;orTuYCl6uiUiTz2c*Ul|>_|65M`4&}gvSRkJ)fcnt zQtLW+{A7-aBnKyi|MULBt?@Okawo^$?Q^QxW33B5Tek8&J+icFHIGuYGN-L$xMhlB z`tCEWs+&rT_Q#!5tTkA_Q?~uw>8tKHH0+irv93)D`MPO(mFU0KwmFwVSlF+utv7Zz ztqTkO9%ywgyPQ*CSuJB^eb%{p6D55quMNMx?f!SIq4(e1mRc|Q2@&hOuN_Q(bYjKp zqV-?2u1{K<_TuWa?fcW$rKWz3FP(mUTbi9nVf>udOF9>p&$7=9s`SyVny~Nqq>l5e znnE_-OLTKc?^tQK+GEO#)8d?Q-uf>MHg9>ZVJ$A9xM{mPM-ON~c!Alut4Gr(K3o54 zam2}pXfdz)P+l=5ozm#DZLij(-CBM7;o(_x{I?4@-IO`D>d(56&u6^0pDc_DNw2y7 zJx1Gi-KEf@-CJs}Zj?^(I)Cca#b;sjO@EiUEjDP8JY3y6P2Xs{-|DNL=N&bQ4_Cf9 zuhS7`x2bo}lSLwv#Tr8RS8Y^r%f3GAa^>v<YtEH%G0YETw-qTCZ#}AOqq5U4Dp6yb z=}zs_iW*bY^}60=Zr#xOO|kas*Q-Uc;&1j^O#7g>uQx!qlqr2?Y+~NaS?tcU=B!^B zH$8B@QHcDauNUKI?bl}5-aqSPN#uWqLarQti{Q%|!NPK?>(k=0KJ!a2bie9Sxp1=X zoOSy|=RP(|>*$lY@}FUf=*znEyGrC=Zu%?i^HJuSq+FII&jp2}?-h&LO&Kb0GH_VU zUd)hsXv?1?(%MY!N5bDN_|Guaf%#jY#QKR^{wJM%=2oto>m+7qQ_w#5aY)^!#Swv4 zMd9Z+RhltqpSX8=;+(0om4n_2Ke)}hVTyEj<sE}HDLfk&_%2siXYQ_Y-0Hy-k>fL` z&iuKO>+=io{|q5J=XaJIU8TNmRn^V-%bVYA_;N=7uAo&6>)h+F)<2UGf3^IX=<Kc! zi#IP@6~*{xotA&c9p%c&2_g<(xcSSwuQJ7|Ettb6qxojhyAQ`cuk2P6p5GhgZsWY^ zSCLl9RriyEC!Q^1|F-7Kh86~g6L)KG^_Z^ZFX=G%xqI&_^Yt3h(}K?@b<Y0Cu)gJ! zUce>(NfS>gEZTH2_QQV$Zie%lKEJ#<X~VXz#}_Mku0Gv!O{soWSdb+vTb1a=#6+8u zQyF#~+}T?5h-G=bSI0!D)x`ntBe?%F)GVJ672(<#_-VpS-hJ!TUGt((E;Evv+U20Q zEoGsi1E29kM#qwp$VamCi-KoyDzLcgoH~E8>Q-1}x5%?UzI!j&CY`!BdDUsdQUT9M z$(|<pywgYA?apt?Uhs9o+EWkHGtY=x^i(X+6F->tGGY$jyMWNGlG-nH_8oK(dlJr3 zcyV2L-mXQTit=9YM$CDm__#!ESKevU4U2S&n>I8r?^tUaIC)*VE5okkVGEi3bf)|{ z_2^4PNAdby*K`aVic>cT^zuHfTW!DU?^K`MV#VDXLYMgUX*@o>N0*y#M)B0Pe+3%_ zb!W`+oIkxyuwDG~#L}{}Yqh_`ulmmr`s<KfdF%RxE<MfaLK9Dyz52a3Fz4ON*4p2! z@2^(H^3@zV^(z00)5LEsewDiS-%VPOZmDTpFQUNF{cb{Wz>AH0Sa;QR6>dM#bB*IL zbH&{1!h?sr-ZRhc;K&Z2dWWfuk1d7MfBvSs#(KN@XU+Kd+5N>5#<pU`*cA2&(Z_C0 z5TCf|{K*aL7@w#X{M?$f$MuK?<My-1Hzh7#+;rsPYwc>~8@w$U%iar5jF_Fa<&M{k zdlycfj#=pU_D2-g=D7ML+RrRm50`!q`@K+VHD^g4^QwNawR5H%ICVr*{e;e+D=FP; za}M1-8*_h-vW2&Qm*^eVx3Y6Ai-IqGYMgJadFt+5;bgwZJ^B|HItp6(r<7c+eKUKV z>aLO}i#5-&r~JKo{ABIJ*v(g~Qo?7oojrTfdGYtAI|VNU73xFQMBjWS_-T*+jTPEo zf;Mh>SU+p)Kc$%Mu~rA2zc}%Whdg?0kYu$idhM0x6-5Ovlev_=51qO^Ih?z@yF6y$ z#%m^ie0g$ys&0EuIDd&*TW-p)bM=7Xqs)N4daBXWygQ`t&6HHMdRoHl`rK&gjjDvA z{)rCF%7L=e&Ig3<4eU4KjEv}R61cZ%{~A$V`Ku+5rP9{ER%HH{<aPdH(X)V^c8P^n zHfz?b{Tk_RqgcB%{-VQa&o}p;?qcfswYXMCIH6GXxn{CY(ixWP&npgXI<5U`m%8hN zxbS<`ws~ChwkcNW`@RShJm)1_^yd7j6M`=U_3X;xGyPP2UTS}fU-j9c=*%MH=3SL5 z`$b!{mvb6gp6Xxqkm=6v9McmT{nq-M45W_Oy9(?z3E1U(@M`*(*cxu#cR_2DA7yae zT4N~wq*2Q1Z^)nNdaL->Zqe-A6QjgvSrq3ne~I>=hkQ{B89b~OG3<BP_dwgbUaPM| zZl?Akhr3Lk&g(LMI&z+~*%UlSujaRo@wwOQR@G%sH`*w?%t1jtx+BVMdf;bY<-=32 z-z{Lgx;Ad6*Et>!Z9TO+B038u+6w$$xZ-ME=iSI%UOhi2gr1Ake6h?{eCg7vo2hHp zY-ueuUb;Lqe|`${i?#DwR?Inj@weA@ol~-v>o?8(q!FdNC)spn_+^!vDJ8q|BA;r# z{g^KqnZ3KTc+tJna~8^*o+x><saLEr^`^bwISt{2eb;@Ty_x=++uoQfH<6+Frv3LK z_m%E?o5CXY?=;<+9~b6$r_tSC)mBG9`#;0V@DI{Xna_+PSL_#EnE8ZjckdTfCcg<x zjoqJ><+{H(v=`34>uJ~JZoPijmXDE3J?}}0s@_Y?P`A`7=$>)3H~NasUyfM+^jqSK z>>~qwKDBaPyJ9l6J~TasPsm#L^$n}oQ@OPwGJWkE4xZP3wtp8V$3si$&oKt2Vfz)B zI<ERuI+>q0TYdX$KyC8oMNJhxt%~>byzIQcy7}#1@poaw^F`Zj!{2TC^5*l&$|9|M ztK`@{wBLy-pPy8IR7}g=LNWD8_|pCqpOwvdtEwVa_P@3b*K19GnyT*hRAaa2Nq(EF zce~hyR6cD8+xNV+=ry;EU9w5e#m)^0tGnGz3@2Dl$$Rs*HTAQ${;b2hpRKP>SwG>! zI_;tswZBd;SJ^N6de@Eh(YNSz`<)hizRPGK+0P@&cYe_`wn>{ao*i4g<6n;M$@+J5 zu5%d|3Mu-&pQHWhR3M*C<kWO`C8pm>G6jFk-q`HXoW*1G_-gF&w$t;SZ|K~;$TDs9 zFTcGr`htrV>t+2iJD~k~()n|zZl!W~eTm=n_rjw9mbRPgroOzX{AAy$dx~dkCw}e- zKb6Gv_wwRP;V*AEGFzWIRc-uPU`fr1!1)f%uT0C6iuSD0-SDAd=X!5}Wp>$Le5dF2 z%sw0AX*nZ!(Ia6?r#%m5AIpxLG5yW{kMj;LGv2kvNK$CurIx?b;$1uqKip)Vw~ljv zsK9NR!(sE5R?5Cs7Z&iHwbZfQ;iN(1@d=FCKc_UV>w2tn(y#pJ1TMyg;!QIrnr)i- zi8XJ=^VG_6ZH>aO+)LhzxR)RL9dF8Z=g8tGi|%=!abf6estrAIE_X`eWgCZ{i4%)- zLi~2EWIXfZ@P!S+69bLhR!2W^2(a_KY(MkB8im`Q;;t>7Qrbt%8w7fG{|c)M+L6HX zQTO4zf^{}A7uqw6wda1;{uU_L{cx(}%AW#D(yv-AJlNRNZZ>1r%LQRycj=fV_Z~Op zWj+^RGkcMM<aACBf!9A4r0iI?{K?)5uO|j;8lP~)r)%#%RT}tnbL-2}1mh=rOM;Io zaYk>dV(9GHI-A=@-Te^X_Zg3S*2T_Wo-$eek%k5D&AUd616RgvXLKkjapp9NUg)>) zv&Af?hH~T1d-19Ai{?!W%l)G9CHLL(7yC<@n<JucNsG;C>ON+BU$sT{UaQS(Gog(o zr$qO9ecd(t&(sNqM`yH7pTKRn$09MG$z5%M`bjz0okIIl9`U8Uwl~_-yR@{gcG~%~ zoO!&jw}rH`mpZQt2yJ||pr>`srZ0>VLfko*XMH-kwC?YO{iVtmrdSlp#<b3ym$1k$ z=Fr`*VQQBCDSxeX>sqU_#KN8kr~QasRr|Kvbob1MMf<;V#GgLGx9~KdpmBy4<C*)M zC!PDYtE@S)dV$|^*Jim$Yp%9mEId3hr^*EN<R38~>DsQ!@bgiC!Sg*&{r=P`EXtMA zP`?_*`a`6q>#q~f^GQZ;oN5#!Zt14*em<EJea`9mhnw8-i;g~ewSV`lb2eR{eN=Al z6If6j^nTI26*2z;#5<zP1ScCFWpt^$8?VvKb+a_U#QKP0hVW626W1+*9<onaVY1oC zqo_`BM$hHkdZDA&{caqUIiq=ca%w*ROVtx*I{IB<6;@4iat(GyJ<!p6w)V4X-KsmE zrm_{CwXnMzrcpVuLd)g8j`JpaJ@1O2kyUA;dsS<vsXZ>9qtGON*Z1v&smV5dDg`rN z%TD~c)N%hRr8K`3jeGxA2C&QtGg^30RsGr0!xu#Vttx8T@*+UIW7llvhs+_#W#4+k zm!A3NJ0<<fx>&ChJ`ox{c~1hu&Xup(bnSHLsh0;=#2i~Q=c3_+Qz0MgLUJp&UfnSB z>gjb0T?DJW`eH+mN!aLXMBDQ$-pj5K+WV8C^~sO-w++N!1*iSF_Fm^;P(i=a(m1>9 z>Z>WsY874nT%G=Ief5o%*K)+>&y=2TI{jjz&YrxP!RJFW&xfS$zqPlR<G8ly43^Z6 z)obf@C*J+Jvfse#{Fy`Z(q6w?ce7!8{kHH|0t{cZ(vCZc`=;^)$W-{KbN09ug{NQj zQn@{MI#02xymeFWmyKahZ>j4B8h(v@R;1mg5*2#=wd|~_)%`PrOy7J8|2j2)g0@Dv zxn+F3NSP<I;F&{DFZzdGo+MZHM*Olx<o#LK?gTA}jA;@*?7OLG@B3NZY3om&T*vfu zcdL8q&$5$`n9fc~4_vjme)T3syP$nfU4G=Gy1tz=#oo-@^xUhX5fw#KmpklLm|C8- zEdAj&4<2F3NpE)RzuGJA*KNN(t!!@S`s%ysuf&&5`}pwW63sBH*p0XJmp1+W=I<L8 z*Hss^+|SE@wUhd^@-REyd#8U*<(_XMX#M%5OZ=ik>DHP*_4Zs}mwoME`e$vMtADIo z9@J?szOu69$jyth_C8m>nem!?dBB!0kw;40Uu(E8WVOnzKGa*edj2f4^XgtK^F0E) zIj&wTNq>5i`6~Bc!CwjvUjpZwtM5v?7HmDs&@<)T=g7=e+w}Tm+XR^Gy#6z|+8ZtZ zbXTtMp@YWJbzaY&d<uV>@%FL&opsB?ohQ6ej>|f9+-dFWRAsf5%+Gdxb}JOJh!Ve} zW6yaq`qkRMr$WD;Onuhbxh-gUg<Q7CYX<FK>tn;)o|`SQ^E&i-X3Wm7VRnwJ=U$xn zr7?}q^<cK)EQ`I0(v{kacz4G7&6*i#R~FW<`g}s*-Sevyw(+<LE_!acLULXBJ(rCA zp+)XW;_Yj+i+7#ZSt{2keCd_`)TZOR-YC6^bT{DIk$<-SF<0^#&>pf7zwVP4IaV}F zSvtzA=6go2D9nz2m>E==HmCUBy@+*^Kc{XzS@~>{$<D&)>s!0F)E9k?Pt86xt!?g$ zrjS~%!z$LiYi1TEp0qGsE~Y&pWZRvMdS+iUg1-d3ja0C9&8wWW+NYsHMkFS>GePlC zDcg%lZ^Z8|bJ_wL*vxoV-WdI6p69{#Xs_ZufqS)n^@=n;QFZ9~G*xWIy{vgrn!0>{ z)@fI`A96Z>hGEwVsa>CTxX*AoojXC*^WF=l`AfdVi=JT;@vtyb(2n^L6(ae0>d|K+ zuOCLlFdUu7IO*$E_ZwxI&$TV%s#Z5&5_xWOwSCrpeuXt$r=Ntyb=<04vsZ-e!G6<P ztHq}y-ZZ`ntDAgN!GrBvoXq!i-CJfb=9^jShpO|Nc0V!;lyNr*sj*ZNotFD4^UX=# z0}2_%;Xl=Qel`dm@7Yt|ev--b!fMN%F{>Nrbv(>TxUg);+~?e;tGo=qI@!5O{@4+{ z=s!cqTW;B;V2-ml*M~e8l6i5L!`tEC)Vb$*ryScJzaVDUf<h+tLt^f~mhxPQU(u>7 zc14@tRozx<?W}!Khm?#?OntTQl8A6RpNv*v^h0G+mYUzT`HH@uFKGPMo3-}Y9>)!Q zQ9n-!D9==_h&{8g-6r~p&XUhlmAzxD-c4Bc$DC!YPU!ZQLe2Tsif3dmIL$6$Sj<*< z_XN-F$8*Jn6?^aI>8aWaoqsW_kiGbBa7TG==}8yH_LW-y8BEu%%Uf%=ux?ZT)NA@J z_XI0H+I<pTf6}67_F0FgrR|!Qt8yn^;SErD(DSDAsMzMpl}vXUqn@vtA$gCf&%H3N z=2o!%yQ#Aj+MAb`ZFsbe^H|I0tI@h5^WVAIZ}}W$e$l$*jCaoLyPebS2(3T5BC7Yr zl&X|~`QkkKJG4vwGnDAOGj6q=^;OZu@<I2Osgf&OlV3b)G4RuU+;!rs^{E6a-&>Cw zvia<JM5jpHyZ5Hk(11nZbYVV6aOc0EeRrpQ;Zi<%p{1kd{q{*a?pSWgTDZ1xf&T<0 z-JEG={qKs7pEnTaOIDlma_+TvPC}n8D$68gtk!SoI~R7=<WHo~_Ri0(6YLTNt{GXb z*|%C>w83v)nD3qw(?$0r-E3&&Gd$0g`$T%W)281OHYS!jlrXnS{3vG(`zfwBYxRqq z?cVjqJ9YRhB?Ux|z2N3J9kAvB+rqOhwPBG@QX_V`iz##}?w@+tVC{0DbC-9CIKFxi z(A8#=$?X&MHA2SZeul;)IoWH64ojw~=9$h*Sv}uiOGJZ;U(g(x8~3&e?GJrEcltkV z-GuniJsh@9e*<le!XN%w7?DyGzi8jiDGZXW>aRq5ceS>K-_d_%eaiUBhFY%IE8a|f zsmJBMVCwfspOgj1<h57VUdc9VRiAo5YVE~|ol~1!KWqJ)5y1MhGg~pg_)cs6qCN@n zqR*xMrt%i<XQdO{VpdnSb}#2TZ7mU*qLjXg<LHNzv8ggnoK{miUe0W_DvozpUzehJ zNk^nsOgvRQXF+s=pUdjMqU$9^CH%_6g+wZ96zf)heY2<JP<TW~5TnhZlXrRacfR@L za>Q}h96MKk!#&ozAL9g%m~Lr3bY~5tpUoGon+pYJ&FH=rF7~BBJ1cMfv~JxSXGFQe z7qOT~2=ZySU-WvOy~cRyyXC%IFBhGT%VIctJ$^;-ztGpxtK-h^PhFdRGwF4;{zk64 z?&<T>f-i-u7Cv)~ElgSaQp+%UlJKNQpR(>r-Py9(uKSzAzg)q6A0M{3{7j5|U3O^S zp6O!puEhq$iV^q9bN1;Sawu&5S+L?nQPI;2>-L=bTdh~u^{+ed!lJb|uhw3x3k$H{ znx2<!Z@psXGe>7%rI61j^t$RpUi%wy{hfX@Hu_cXXRC#K@^lp4uf{*?c{zcxuKUgA zpQ1_o9hSfFy6AGR=*`wE>B_Ftr(UZn3ec_d{vNUU@T!T`>+e?nSepL%&EM&(j@GQ> zjO%(H`fF?5i!V~&qMtM>+w5jg=_?4UN?B4H?k^B{Sv7fGvkP0jc<8UG)3)y_*}|iC zJXG-Eo~hq_CwIjjG6@ztde+}{&)eY2V(x37T9+iA3#pyB&3Egyz}(-fvrM&4Usmxr z`m-^}uw>Wd`g2|{7XMkGWOXxr=BW_(HH+-Bsv=JPp0?2V*}{mLY2lyaQ?CbI*l_-8 z>e6+Kj4p^KsFiz0-`lY7gXpGm0WI~b((jAHF1*-V5|R8Q^q}|~<tK`Db1u#aKjC!r zrPk-m9C0z`VGpmS=6UhOTz?h#Ir8TTKbv#j@5J8eEsf-qOA6=AU=MlRekr8nB;)mt zHGwa=V$7G976(eo91K43IsV1|ptYyY1zt9l{2IMoYF|Lf>zOgZS2X)qoj$>|c<po3 z_G7#U1HU@CPZP14dqGTYyTUTw!k9_@a}QbHsBG6+E6LRH;YZ5KpH6euPPA=0GBf;_ zc9lk>T$br8(If2<54o2_uhM&2FzZ0c1h2`pw;5J;%zoc$6ZVkR=k;MOyOaet^qz>R z_1^5cl5OeLH(guK_JPtZ{VR+4x8$1{yG1?;Q?PlU@OWK72%pXOrZOFI=>@I7*5Bok zH}U+jX8o6di%&db|2k%T&$%*1;$XwBxu?DK3U+T+4z*2IZTWL`{i$l*PcA0!f1H{> z>-pJ*^4B+i`f=P;INiK(!nzApht&9=?V4b>>OX_%^cOw57|$MeIrR38l5}gdMnqxN zp))sLY?W1v(=k>}Gdja!^U0<3B=3Dyd&8S$2P_+Qw4coDEz<rHU$o}2y@;}!mDBd0 zU!!+y?_ClrTgZ{~IkJ<v%h*|v^|-^+6JIs*Ot+uWV3$;P==d>L)lp*hiWY+#eo+f} zcZz0z(mH0@n(JjBsgd1z`<(XmSw|vUcjPc{j&$xzVYT_hed1>HZ?8QMEn5X=oDx&Y zf4J+?&5l5`S0RaeZv9**dePx&!6v(<ZgZNp>E3BdG?4ntz%=*io>|q`Znw=**!Q&R zU2DxRjnbbDb9a5L-uW)R?2v_@oRj#{r<_ueNl)@iE%tBqcb$0th}g6XntYZYoYdDg zb+n&1Rq^}g&3R6jYsSyW^vW}<YbIt$eRO)VQD=K{8Q0TiqKg+yQTWL7Q0&?Dw5P() z^UnMU%Lrp%krCv0+HJYzI>{8*>x;H8Vv&7uMJfGU$fL*7Yg;Z<M)K_Ps#B=fPTu@C zOnBkc?*V*~n*5Ecz5X+Vut%SaUUuuywD$8xVLw@K<V7`{Kcijf`_zp+`EYvE_MI^z z&mLs6+!CKvSg!5Vpmbd|;#Q9Ehof!FP8ssVv*@T_(72Me=EXC`sL!*fG=Jv)8u@dD zxSi6x2T{@sR2l7-3K!PNc+XGqtK8}qx2jHNvi~u?M45(@H@1Fq`QeuJZEwHbnFlXb zW%B-gn`&>p&O&&W%0mmMrnFnE>iVkbjn4!u4({vz?z$j*hK9>er*nU<Op3iE;>kWo z|0)xYwYyWN#A1sGpP0`9A_7HcM5iz6X^9g1_SrAOY5#&}?ebqHY}&4RxK`|++zf#u zDHRFYHBaq7rE!E!w~)S@_we6z(eGTxpNUUP5ba9lb9DAB>~0YIaQMR1`dQm%>ffxp zJJDSC9%EHx)aMD>8c!JB7+K7n5jS(8_K92KjN(@XPu6umoYNitlKZqq*uSS8oqE>- z*#E4ym{_#`X9-K;bM5N}y>G7Pv6QOYov>RWV_vpI`D~m`!<&wutDlv)@VmZRkh<D4 z>R*mVgKS}rW6{=YJKuXXuJ26TyOZU$+0Q1u1<%j=WnF$1*l~23()u}1mKmLB+H~*Y z`j|ORr|OraHJqN<BIUbJan|potIlrnr$X4C=slgg>|wfG)q0<ajSu%uITmxpeF0b9 zgl66D+10FPcR2mMmhhSD(SgXM?GAgc)Zf;s%f2T1=}OZYlP#jj%qs%cA8xM-zgfF5 zv03IR(-LmqcU#V@c>H*v`@X$HJNna#@LeypzsJ95_)#=r--XaSZ{#GydcMB7&bP42 zKXq^V=6CB)G5vP>cboP6nQv7}G5Y4(t<09a7ud2Yb@oi%mk}L3sU#xFT;F#7-ANlS zeF%Tk_)~w=*0+-sp50UAXg*!)A^u9_)xHni?bc;gEB`a-h!(HQGI^Vk`)68(&yA+d zN0L4)yA#Q@F(Zc~u8VKZl)p?uwQSwqvM;rd{&e=*S3E`MKf@AJpD(RtKPR*wDpic& zxH73jW}@*fzrdT{onNQK)|(2;IYxM!6lf{ePg(JE#ZUcB`)wX?HZ83!W{khcZ@p9c zr@m?a$_T$kcW+j~zrL)DpW-hWy}5qno5R;BVU<ryxnB9NnrG)#bac@tGlwJ#wMW9c zWG`*ruln??$Io@E?yG(CKPBR~bMeDxYl9`9a{Ea{-(G&U_TuLqZ}u-K6RLYvl(#BO zC;9ZIqHSL4(Xn-}s_xdU{ucG0AtUPRyfgb&|8iS(-}KkYpiN&RPuaW5d{*U~bE@M| z<xaQFyPQs+`xdw)M&r*;ru83Q2`K#Zda<s9SN-(nZ&9V(<#C#p8iK+{y#9*+yR`g; zwf@J*_$wOf=h*Y=x~+BApN+f~*;2;8%C0Q3V#55;-{0y^d^yMUpW$Tu)Ki_;3!~?L zpHiDDYj0%dQ9JcxCBx=MF+OgdhYWG2QcA)O%X&?Gsa+DY>-2vHO)d3j)*Po|wM!%} zh3?e9n7Ynef0Zgn;i-cQ<DPr^Z*RI3l6NA%W%1JKOPh9eluzJdi&(35=W{@*dCB73 zoL$<*v2F<(JGT|IZW7B`Jvn*L)j9T$xSmI<9!;7Pq_g<Bmint*FG3#KI^8q8veq_a z*Po@)685gjQx66UE#r4s{$jiF;mW5sJFImY|MA)LMFdL8soV*<%_nBmP<T{QK%_Qm z&7IFin|_MQ2G?sfh+D@m63CTWVSmRl=KY~H_mo<MbCxV;T$iGq{<tuB=U=~YUR$sK z3`hNB^)~$~Gy4^ryy|31o}=$_|FD}&R#=`rShVq|dbL>B?>h^<H|*TiTKMEe`1#<o zUXyJT)^GZHvhMVM27ygKSEn7``(%5qV&!USUd8&bjL9o5a$LEgC#0Y0T=M>DiSIwJ zqH9h&=XW?2$J|pq_Vj6z$b8rQcT*gmi#wl`_E*%lj|^A%q@cfR>VJmbYgMm8WS-qV z#jtO0@VX00*W)+sWU^CHU6Xj3JM{a+{j=`cZCGMezcN~1Lh~G(v)e+Mxj7wg=8G+i z`Sr=cV0%en$kmwRPEYr)YfQ@dm-O}gMC~tJB~R9Vn&PjRy(WB;?$vr7?t8D2>b0jF z_!3kq*dn6FSk5t3Agz4O`pk1;UR5{O1>86tqRx==F)?muZ|Igs4IPKuSi2|aDRZ7Q z7vAAI>*(uQc2VDI8^RuT|6IRoUiSC+RTFCs8W#L9pVVVwcAa6RxW)8WbH49s`n-!d z#Ja@iQNpfFi9WT+<CC(td|0d?Vb;(dToL$d#r9dv3wOGto>6j>$k?Hp)cZ2>&y{?C z1A&C>+VFU;>oWJbD(>y8KH*sUCgSV#2~*OiE;M~7Y4(6M=W=?tDc_8vXW8XF-|WAz zI`z!D*wClXj2Yd`_!7^CAHLAGQX%Hm`j;gJjwL^uY#${1#4~N1`ORM?l{<ZXO09rU zq3;77b9+u_LEedFz2RlLQi|=|G9UH%Ef;b8o4tGz+q+sZMzcLm6VJM7zF^Y*y||^| znUlQR=dkM<(TBygwWB9pbvT@-@U$f^de(3K{pmOJGiPS~ohDh`;+Z{lXGOp(W2?27 zpYe62mzB>EVb1ULiK^&)<bL=R)4591gFev#UNT!{d(W?KPx}zJip|+tN6kGz^zkyK zO<yDZ6>VGQZ<=HH;bBDL#+6q+<wNJ(dMGw|x6BmB(~kr0MBZ7UZLi5;I#cbjFuOwV z{Myflxn5b_jK8>H`LhQzn^ya7zvZ4*w`*Z{cpU!+6Q2{4oJ0PG=-ln~@XL^Vmg=v~ z5F)crHQ8?Nr212qi|Uk1ZS|av<^-mlVvm@>wJmtB#=q{eM@3qE^F$0|_o)`7tKamS zn5b>T+a2k#UulW_t0=pl`kO=EN4R7xh%T?t`#9%4$K)3wllQI@?XnH4SfA;~kXGLF zYWuB-JCa*(ty$93=`L>V)coyD<8+Gv&Q~1n^IAl8t@2u{KL;wzYxMi_h2yVkiWSS< z7d>5H&&J(($Z)r4D#Mc$p?Qo)qOY4uY~MNcwYXd54HiGid4d|U>Xi{cMd!@R;@mbZ zR_zp9t<#sYwTI4&%)Jm+ugcONu>KU+-wB`Z$y{w+_GIes#WGQoHhogGs^98x@?DdI z`@_tgfnT-$Go*OguW;OR^wf!ntUa6G{MMAe!}a@+uKlfxGacrI3$3$R8d)6RVb2ix z^HW%C*rM+o5A&xi(zohx=?{4NTUljZAII${A`d@Bbv|2Kv@d(=CzsDpX4%Q?PK;5! zkhQZ!V?v?DlN%?a%YRM%9B!Erx-)vy;qs%U?9&n!SZptex$KynlJc&5P2QxXPN&o( z!k_KDA9sG&_LTuqvS)-A?pIax&fTk0>KO00!vCW6f?Yc<YX)C?=pV~8f0prlwbuOL zU%DwzZaBGo(fDenRcl?$@$;r!70bo*1`D2F-h9=0Ut-bZLyMO#b@w@Bsnd1%@l)BE z_fK*N{&g++vx1{re^XCi*V7-%kMujI@SlzKKbyMrOqs(M+ilMaHu6vE+}BX%?sI`z z&x?WS`=+V$l72YNJacf<>`BF3cB^iscq!Ga>A62?<~+xuFK=G#j|l%7xU4(!`HlRw zPyO^~xK-Y8+O9hDtL?l>U8x0yHMY}!t*|$n%Jd=6tGmRZrX_2S+E0cBHA~(0a(xzW z*p;#PS?Jc23=b!4y(TyNQlLt6HB(Vg`z&6*jAII3lNfjnE^t}6pDo(k=^h=KzIM9e z8qo!No6br<$r0C(6S<z+k+D23>quSF{?P9(|7xZcS_*_!t@CoLojiqG-@9SQTCrUl zyR-II=YI)Y^UT`#(zUZZd%8OIM2WV13BGh;(}z!QKD}C>7a;oOM49{5^k<9TEHFR& zG_rK+-WREf_w;^r1b0e4+j*`rwQ@&6&>Q15Wf_Z~wSM@cqNnl9>+iL&p!5}yKb4mM zS#^1u*8`Wd%QxGM9yTq1(*I0)>747!J_as)6xXe*Y&ysKv0}k-qeZn$+n4?}>ai95 zt<JN$YISk+p^N1V+dXWfp4LzL_xGysE7Q114qVF74a?Mw+ZLKnF64f*aIM~Rj$J%H zUVoWRroIq47TFQZT&=|Q^lHJmC9Jg<ue;9ODYW>R*!QynCeK9gE<M2YeG~JGO*^D7 zENMMuG_~9O*o*Lt*QNDtt-5l$Vdi<4Q#YNJ%2C(pa91+sJi5etvmUqZi;YvKz2oKj zo9LIi>f5$}T|d@s`t{9m<CP-kl_%q`37oyp5!P|-RQegGslPOgtd?c(-K#Bf?AvR{ zO^q-1&p24!u3TNjbz_lU>yn~a#tjaMU)}yKjK5er_54ibP5&95#;4BF(~qlN!nWm; zYJI+{oW|6efI88`>t5(ZO3r<>+&yJYO#1Y+;Ahqbi5W-dz6)Vw=l!TDAG)(@#)5VG zR1=@{oBsS~Dz6ki*+|tRIeCV5IsbRj;^(X;Y#klE&$hcyn8Mt)$6@t<hPjRkrG)`E zUbC8BJY?=Pal&JPjWc;I8TO|NuWeDb+2XjsA$y%?JipSiG^65hzVDW<8|_weh#f6g z7f^ZhZ0}P;WgS+($*U%^ecyE8aK$6WB$hj$;}>dq{F|)xD`gS4{_dJ9ZndJ{x93Sb z<;yXiviz38K86;fd*Vj~3->#$&n`4KZJp%aF4Qigdw9<aUwMJe(-h~eHo4sRbjiCN zx{vuR1(sLE&b~UQeo3pn3&WPFEuSu|lsvmcqx&;g?6QD$=@VK79+WC*JX6qqx<+3& z^oxM#tfa)V?iJ6|CT#l2!twNM-Y?HEGi4>w=H(t-=7lEjO_aE6)^*%9zo)WZ?^N&Z z?+NW|ue&~&a`R*F6$im*)mFY&=4@$dk$tPT;O0H+R}1DFFm-Uud3tlDvSL#Eyp>Pp zKYJ!%s}u0cA;|Z+MNrAfXy)1CT#uivtvnkeAF9T|b|HN21U7f2<)JEnMYcT7n-&nr zYb-hS^<J&wKV8xPoEJ&fWxD^H@ladb+p9-6-y%LE@|XS=ZFaWT9dRLl9@cfg3u%1R zbo9fQz|Y$6wd{g+<XS&yt$%yO$aTr&?#?4?l@FK78?Bwlt+}me(W!q8n*D~{U*lKt zo_VxWO8;(T)h*GVFE(Zz+!cCVC4U|08oi%<2fI%wJ}*8SyeGaka^YgP<{Q^0B;G$$ z?R&L<g7&w#s`VGM=QaBMY0lBxv|;ACkeX}hriL$XPJ0uhp42CM_@vp5JI2PddUolk zU32i0b6H(AZS_2L$6bPv?+;nrF^;q_f5e((<SAybr0w>q8Qa#jI2<ju(TZ{|ER6J1 z;<Vl%a;vK4WZmuqtcQ5taR&R{XmRVVU2bz|?rZ7gyoP=n!5K=&H}vgV!FIWH{*ndm zKSR!6^gp91udpTfOZ+A^3%*p({T9Kx=VxsyzZk(eTXdS+L-E8%XZ?SAy*?}aGgo%b zHTjFh|E4f9T~BTZd%j2HUge52npP>IJ6|p4KfPJ!%hVjldqV5acc!lqQGd2S@AUJP zT9+=oKBCk1acA7l7I&TL^Hm-jpJCYVlKbps;1{jB&dqY|o9>qy)}@xto+|!x#miZ{ z^Vew3|I{kPZW$;Su>TYH*Mj)XQ#fB=tn3vJo)~_zw(Gp;n&+uEr$t6q-3nj()H*Jx zed?Qi52G(K*+e>>EDfHsX3-sO{YC$tJ`t<SZT;rrmh?T=B#`%&)9JG=zmBI*t3RB- z>YVzbzVkP|E}!3cOnqVesvkSOCKNqVchR307PmcX{wfB`%WJ0`|2bvGT*acT6Ee>k zy*YJC`RJl~bFS{z|G47yESsI$RqG~CI`8KpeRGxNtHm3BYIE*4eYHKh;qi>(Y4vxx zURQpWjP(z-TK%KzlK9QqY2PXq2rc-$>C8{37khKA@V31@$Q?R=(k11&7q(5`b^6u* z5OsYH_c@V?^HlT?nMU?pN!s}+KXtFF?2Djx<qi8Tg)jQ@=KSGZS8m$na##Fm+Behb zQnlS{p3JlLt4`gr&=8#WW~wq@`H|3_S^JYV{aSxhHt?RUBA?s0Kq0k5A^c8r<z!9< z{n~Y>F_m%Kr+}B|m7cs5Jh5Z(9)APDLp4jQo@(2BI7~Fixe#C!-EJtUT_dboyya%? zbRDav7SCR<*?mPz{xk{LhW2fLb6zo#qi?6vU;fnND}wD>WqvV)@Wou1>$L0ZMFIVV zQR`yPyV@(>=6ZJEj@K{knrq?tZ6S9&+Px-EYmAP$Xc>2D$AYZQUnSM~r>Ar$J)60E z=?N}3`Ji1#uL)0y5luJOW-YN)Dw(mVp}={q=Gh<TWzxFOwJ}8aNT>OE3o>wA<lnUQ zZH4ok*rjs4PnNMoFId0p(~CVnbpj<y<4c&nIDEEb{mrT;d)u?^YUcSxr}Q%;{Iw4{ zR^{u(JPkTLIVRQOlVuC<FIJgPE~SrRrns*<^^5g;T&?J2zgc~!x1VU7p0MRp>-AZ` zI3u6V57C#o!F6x{q%A*1m1SOWMrzkw<XmDMeK0QFXus2b^A@*k<>KXOm228$3-#^z zR_rL=Cvx|_=q)CTWc|>>r=7_qJ#O!~f4QEX{$g#~*SJc}pPl}C|H3w}I$%-ETY1v6 zu8L{l!yTO`*Ijh9?B;M?xUQ|DOL1|TarfGX^BN-;?rHX#o?#p;7kIO-EKInjN&4*8 zw~MSSe>QYn54_>W^I2v62G%^o$t%mce!k}TtH`(Z<Sy;vtDesjc7Bb%q@Nj6`D(pn z-i{S>-?F4_IMn?`FX}-n+h4`nHCt!ii;T*(oqV-^71Pt>ruG)W>e@o#H!Jy+)_x9N zwm>PSegUtb<ip%kPquG*(qWX|Ci3@+<%amlO^;-ym}ay0F&PCKORg|}5x&m*&Ei)g ze<#k6X?AKpZ4tQO<7#p9hns$^oz*Y$Zl~k(a#P2jPQNupl|M7=n0;l(v-K<QX?{69 z*LWw}2?o|S2c73LTim1tYdkEJEYrlr`0_X!-gw+rEl!tI^gkODrFJkcr1th9rew#% zwa;0e9q%rCt#6^Z@Y)e`&#==@Yo1#ieWGwN&!OecbJ;GV&(mIql!QnA4a-)lIy6b) zg{ougFV?BQ)b@CD$cZaU^c#KAU(Ttm?K)Tc%ak*YJM$XC;sSc+7+7>T?uh;C&8I(! zmo0bJ{5dOs-t|eJvXb}cllA$hwYl3i&)T@H(XZy(=ZgOf)6zE{KXlbfrmJyEOiP0I z$Gok_O?ZAj3|g1}P_Z!LRp<GMt?Y*ndG()KYP)}SrL^qD>?gZq=B#D?WwLDhF_#@Y z(_bx2Je=#ZIC<L2=0BG<eGR(qJ|SFLEVos?<`2t?{|ra-?pg~cMe`m$o2cfuPBB`) zO{64lyU;G3t#>v4t-R4uc|6_eu9D4etFO+lTGs3pIX-D~PcOrp*WGrfd44UFc&B$M z{NI)68D%Mo%Y-u|R~B~|r@3XvT>H|vvbEmBaYvGIq2-Em-&*HIwz9Tao;rP@HSu%w zvR{X6je^#H54w4}^Qf4=Xb&q(YTBgY2>%nTsn1VZ2uOd}yL0`nQ{un$_fBrpf4M2; zW5v2T>9JP}pO((i+`_g%SLFsnhq}_jn3qL@mRnLaw_SS{_~EO|<44vPuG(pCa6a`~ zPdQbcwf6v5$()Ax(&ShD7ZyvE#;=moII+`>q26SL#eN+{^IhG~)3+$@ZFSkbI-oh9 z!*%<Pz0=g@HGL1iH=)7C_>j|%+3y}|a~Pk@ug{-lWxMlKH(yfV%9fkg8J0EN{S)b= zuY7o>Sb+Z7gZ1w;#67pYVYxZ?;mO)lzvDL*_bG&bkBq6bbepBWNB^pH+ZXq5kv~P( zc(wl0x8>Tmb5i@k)j##-2JcF9>T`^~W^HxMd+IceuknliGlXXL_eObMOl|*kX#VV| zb-Aa)*SY#Ue>jz8`)@C+uL1c_+TOX_c>mtHS~gcPj@?@Srk}^pyR}o#?P|4G2w_|# zSe>%-r`+)ad%B$_PoK2^u7GXAa=(NKhQ_ChPTPqXA1RLcHFa9j*`P=71D0-ocE$6$ ztFT=6{6+n%w(ZiqV8x~WRO`>Qu%7GhZ*m>}m9rpwqD!`c*S2jXQ`psR)~#?>p2*7i z?`p?Wae*a|4$tP|`p<Bi%ks1P!tJR&#W6;m>Tw=FSDTfbEM%+`x^r>+jH$-YxWm3x z9olcv`kL#hOX}HJ$45+zjBf4$3ywu;|G83f(*I~ixSVus?UebGB-+1ZEnl@SHuTd~ zb3?v+Q{`1lZSAs3KbHAbU*{^Fy)Ndw-Tk}y^*Q>{E9NWhxmJAUkX%`iyv&EG!b{ie z{8X}fuBC?Z@8#RqtdQ}#*Zn2@$J(3SdMj#~_WWG8+BQ$Ipwe2Xw{p#&Fs|p7yI5cB z>~Q#V;n$)43zh9o|621ku9CI;(;ZgBC!uZ5s>*>kB`bCQoKK5eu*g!hE>dS>(V=yA zsh(0dSYCS`ow9z{esR+&YuaiY)?X688}&Hu*m3I>uTOIPyQyKi^Vr{OV)HG-i}?+; ztNuCq#mqj-eL|dpb?2;47fXMHO@2OUx`fQBtw$nLW!Cj%&uYw03DZBD*lnu%Q})7v zT_xe?M0+0xZI&%qAFY42ZWa5Yc`F!?N?!~78ou3vyX3|^CF5Apx2ImQJTKz<>h5g4 z>bdXDKsomfKB;Emzckc7re1c~bg?LI^_yKqVXn&<4(lp!+~lyeMT!60PLuY0p4(ba z3S)Rh_(NNIKJA*fZPSVS###*bS{W?7H?_W=wEe2k#lP#dl)WE@GZd+;{%}fN`^nXB z6S|iOMb}uZer9xJ=jT@D*EdysKe5WSz36jxxm4UUq1cBnMMv_$wC$5#nzLp-;7ieY z{A+Vu)#?@3Jp&J^cRX28rDHg`+|zR96A|yZf4vSRuWGI5a}A#G_H){XyLpce`R!u; z>6gCw(Tl5dTy4Kxd;LiBhFjHC7KcAequW=VHrV>bx87zcyTqS``6hiqyWFylKNH!p z`O1onkFh5vo;PigHI9^j)l%@m-K2Cs*9_2THM{<n6*6n0c6|;oRyH;M%>5<o*UG0S zT`Et_vDoRfyIA^M)<LGj>Y{tqr7b*9EMk+$xU#x7aO)SN#qp++W&RgdcD`7?$NrL= zm($++W{gR^2TC%uuST2PFnZ2uAh`G0*_K24N{=7LJiXqM@Y74uZCU8@UmY9W=iD^C zDWJfxd|6hZ%(_&*ITxg|8m~JnJ=pNW+so$B>FSp^3-eEf?!0wM=C#Yt*Z&zL<BJwc z<Zaj7v*`5KSd%x~f2R8U4G_-F>CD_<eN0gI5t|g>DjAmTHe7YNQF4ur8$ZSAZI91% zOJ5QHY7Tq1(IR7+E57X_YwyW<y;W%5^B|yS?mVNOmy>p!NV$4OXU|5Bxh7%pcV|TM zyDbWfcm1AqH-CcGVbOR2EA88pGtEtT&8~>fI(#ByulT!-jE}ZxKV9|wNk`D(hnqe> z+VyX7`E>0Y!VIh|HKz(DADw8W!OSq*Y4XF9Vpge#4yd(Tw?sH?u35M5?(B^<?>3h1 z;MfsTxSvO7%MLA5zO#PuGpp`K{p+?5O*^l6)=j#xu7lmIkoN-D(^H|FXFJ`y*K_A> zNK;|P%>d~m`ZZm1|M;38*!M`pTyxLr{Q~)|2lGDPlbO1XWAm&HCdm@1=L>^acdpsD zTKp%I^o{d9Zk`{zpC&cVInH!fZqsJLQ=&KJR;BaXIQlAgRCG6;wt2EzHZS~pq~%>D z#cVn6zaa)M3pPAu{+azX(5$EH@`=SyOB^LXYc6OnY1((XcIouCQ@ZC@gyozrcKNV7 zY`u8Ug?7#0brV`9_m$6iIIGxnUiS2W9S+Y@^LB38uj{nq!@txWAH(bfW;{w<a*Xv! z5x3>h1sCI|b=9qCy05hSMcc<0s_qxoU#!Y#5b_kS(bym4H0k!SccN+vFV?^2{7@5i z<jyt4DbKdP5V5#X8d<gS=gPc#mUZd#RXb#UELrcGAXCYjSAAh`wYr~|<E01d8U^=W zi<)z-|6Skx3yMphi01rSmsF`^A%8V7_qn?0<s%{IrPm}TO?N-UHAR2PlYOVsetj!+ zf9m33msL7X<Y$j<h~G5X?avq8-S{kY%>v1-Z*TtkR`uzv!r9v?(nqCMye?Q&zh&zA z<*Ml^DkuEPmK%sLcHL1?Fkv@X+LA6I7m)w#UXXn6<fN<Wnz4MoZVa#1>GcHVearm7 zU7p8vfNi=K@3pTt*IEYgHr{2?yz*St_*8i0v-QhcmNTw5IW7H!A^L1d21D>!hZY~l zD_#;cbM|b~x^w;2nmWhqzqS)<o#xG2op<ttcJY(N!IPJ!PkgdGaDtXy;mzGePMOM= z!e1=cvC-Jkn<uh$_O65RmvVZTzGrZ{)rwVboTDLpSulK}&6U65(+b4Go``8|TPS#1 zVc)|v*7c=RK5^7JEBZKCotnQOVynX=_SuPyd3!^?bWUygbu;>E%7eGE8vZMs#ZsPJ zowq$le`jQN;l-$A*WW90*Jf&c-+D$TuwqwUx^#+&oAj}l0T*j|)+kt>RdOr{Y!-O( zVJ@44nS#1UcZ6OBuc>OfouiM>ic5L{DqFYDU`*L7J}oTr$M%iNR{PZzc=t&w*gfUW z7mtmf=egm*#YYyw+c%u&X`QFM^6;d2C-T0V^GrFq#pd#ka+eA3yzUz<>Dj5#UUEn* z{fee##kB7N=R`_kRV}OqUUI)%WHaS&HT$fb{|qx1dPik3nIE)Tv-oQ5l!-ED)+}** zomhLFr8K-TJ2BWQHedQjN7yE*sD~2&o_=ecyJxqI?5PWTMgK-^&#isocG>c7L{*tv z;iUa1{U%SEf11JR=>;XrEP*W&CyOGFu1)>^rg@5kR?)ofS@(?Vyx;6Q{Z=vl#a^Sp zFK=cDKUv4pUL51D&k<(tGjXE$)+>vYFRc6-8y{HVWV)ku=1bP9Na=T5_jn6jiStkW z=e@4`ow&$1uk$B;=1ppN(HXbjmE~*U6w9f<^>3`-^kvtkgdcYnmF{44)Kb0{a?N@c zlW^3rjt@5@ehDnOzar3cj=f~ucUz}>U&88yA8k6^#c$zwao?RDO}SOdHeKgWx}RB> z<u-Fo`$@@PI!5ls-2WMhey@q?dn2lBdVYEef7k1G&sIKPv)=S|sd8J62wzyv!oNXJ zr*0|K{u-Hnl`m#m=CdM6)~o5SIZ~4|{cOHCl*Fxa4BxuxP3OF_z|Y}!+4iB|wYWF@ zXYh=Roau0W((?=JqHnF+w4i2TU87&|jQB+x%2!16`3kUyYWaScouIA3C!@!$`D*#P zfK9(v^L!5Lh~H%v$h`8+q#JiTo`rqW{17Q)w@FNYaw-G+s@=`@h9|k({UW>!-sY|O zquagl*4jrRcke88x@$T6QGDq)?yBn!-HC!+ciyW;I_!FCDZFZqarVM5?ruBoXh*!_ zIGe<lo3Nz$@a|N0yF>?z<QZ|>j%@xiXZp8Wp?{sW?YX+#;;h4$ESU}WxC}~nd#T9k zZT`91a)&=hWa{jBq5n?Rb)Dt2=X8tSb9!g=v_!rt;Z@t$tWj3JXyTS`5uwlC(aI}P zIUz(S`sbawKV3K?%H4#Itg&0AYx6L%^e)$<n)508ej@t0QcGSe%h9_ayyuUX`}NI+ zb5GUPde3Pqzo748H_ho^(S~EW8>fDE5tS8CpEh^;e}=8a;autbN}=oChMve*E$!l~ zJ`~>msa@1SWp*1&6c0Oh(=5d{7N)0GZjREM7gRW2o);Eh`Yp&!?KsbxDaQjCgC$>d z97_GQ;+*fpsIxEHudwE2eSEPnHriF{bNH{tELBsdrO&dM;s1;^@!WOAq(67KH790R zDwxmB%VL<9Wq0b1l(w>#XQs^VyyzEUug#Ob8fx>Ja9#Uz+UVVewYHu?i#vRqr^ve= zUb|tj&Go=ZyV_IST1_J24z7HACFM!|JFWi=p%3pxl;)cj+}X_iJD1DOHR8QLC&$FU zM+@z3X07e`G*xfT7LFO$6eT3qCoJLo)2IEb?Imx7<I-tguQabcsQKY!g5~*?Ia3x^ z&UxtV=N`hQw)HA+WBBtD%X8iDnEqb<QOU6XgTdy@RbpkAM4YRpe$zVOHqCuqE+ZR% z+fip1ro6cDX<qI&T|K(yJBp`ibU)!Tp4OP4ENze%ETzd*X|kxivAf4hOggc<Z?(?3 zR!?!=X72f}220E=Endy?Jb9hbZI|$@=5Oxrmi%x_^}PEcgzdKYksZs$a<xn5Y;T&s zMCoB(Uht)--uf4&TKcstmXduLE_Usdi(6ws<C%v2)|(?^o^ml>`!JvJtHF&#ZRS3` zh3;3~ubLUpp68X6K55S5N5L%bGx`J`o|d|2oE@2{ez;iUs~C5=oyW<0vs<F)u%4fk zVYf^`ci-15?FQQqU2A1|_~-TMS)DUaOtp8~$vBz8jdxzk)L-lG`d{=vnfap8>M8fn z;-9m^<5e%p6)$>y(&zb%*3!K5uO4NDpAKMBN$Te)dUDTOUo&nxM<VaPr7u(EEyB$% za-NR}OlJBXRKM-SQ#(<Mf-l;98|HTJsd?Ix(wO&M$HTu{^<{y`(Zxz4H4EAK10L<a zzFAz)`)m^b{n<$ovt;hS=G<RmXjLf9p0;#R&U&4BQ7croKT`CGn*Dj6YES0eDFt)P zmR(yA&&wx0-Oc5b(f+l&MCbqPQknVeQnR1Sd!bb!%Vb`kUYjbftv5@*`B4~4^Ta@g zO40L6mK{s)Ff9!$pE7m+r2W<{uO0O6X8m^JWv<GTS#pc7>)MmHuq)a>8_%Z7%+@d| z+VywpzN|m%oPL-2H|%;A{`8V~jFlq0_crmFJ2)Pd@wc8Ttemu~!e{Lx`;E+>=Z4k0 zIDVMD;^p-8z)7EM=a=T}T(gm5*T(&(d#4+$eQ$YcN1*uy&3@}|{)z?bS6qz#y|i|t zW~)&}p4w?orl?H{pP%hJG5J43(P^9MFS&GbXI<X(cmASHr;kq5j$ZHLaGGz=m7<fi zziocx%vL&nWJ{mNoR57OlN0(K8l^JCq6)qK-QMx7@>S>s!DsW*SPB~2HMfZV%9_Pw z>pHc&v%51c-5^X!*MLJyM&Y<>#>>=SQ-AB*EYOK6j&z^tE^d3nUCbe4-&3EwPpwn# z#=n@&$B?u^vDkRle}+$$rf%UM^@Q|SeLAx`^~`E{gBIzz48bSvXj|ED74G`g!X@){ zTh@OD)!CliTgu$R_AC^CuEp?k>eHLgOaeInJ=z)dg84-?$4}9dv2I<Kul5R8eOOSK zX5Owk<!ktdO%KYVp9tFYt@{2n)$&vP@)VbNqmZ7*vzpe}Wre?5{^e|hx@X73Lp!Dm zZ#tt~ZxDWyaf<ZR{Kz2ASC@1e#9xFSzv>^NKlQ2q=?(XF)~xZLpzW^_Zg_d~*}Cp8 zftIhiSRcEdDvD2PUH08*3BRHC*B}m=ce{?8+FI&9e8H7o@vPH&$Em{>v&|S~)}L7) z`+#e^wZDqmr5usx3k9}2|7sB2dtjf!rp>(zzWF&%`nRU5iG9&Fp~X)*f1UHZ%X;eb zrI6=mS|ti@cTAQ18hBbGpyT)Al_v{cmV2GQB(8dX(&TBYN>1iAvm8Cu|G9Pk)GPN) zHvOIAwzE|+@x{h;u_I3{n%C!OPghNy{$+L2TNUnetCFm|&YxWM__t$h+J)}6FE4NM z{bW)3$t3>oWo+`Sz3*r3x4p!4?w9Bu{VVJ0s&w9-b!+d?*>h&K$BQtYu&Xgq<v#1b zM7pm}nPVaKLSagw!?x#T0`h{5jPdPa-qlx_HkqAbI=Ot&v>AD_FP<$cHdxRWbDQhm z)bo=rpAy`*P2-+!k<<AX>x-9YUdakLqQ25WVqegL=TC2(eArpQYGSQprMbr~<3_yZ z8}mIGOUynVTF_*#-864Czs-~vJOZJ!V$ar1Xz4fin!h}SJ^tuT-Mw%3Ecqk3OupM} zg_yv8SLvG{MZanP{=#|g`jOVfi_X@qu44GGMYMPFuGc1u1v|Q1TlOCMY0A#P!1gF) zL&9W!=Fs|0{~2CQocLt>Mn=mOJsxu_weK$zP4SNIs8~OV{TWx|{D5V}1}|+V6wk}n zcM##;WIoG1aiyU8q`edPc3u|x$eng|<>!E+!xetaK8-Qcif(Kyh~N0;+Rb?xe0si$ zLZ*@CrEbbkH5gC*4QV=fp?mFx`W;ydKJDbTj|kuQ?uFYQ=L&|++l}^p=s3rg$P>2p z$ZCFteHWHnM`+(Ea=kx|IZRe`)1{E++!O`Ylai;N>|A{=iq*16cBcP#<>$LZA8cPV ze~QksZ(PdW)22w(=uHT7DHdABIlo1L>A7UXg7ifb&%L`CIn~g|A!+7$#a0(%?VSq+ zKTrLwGjaP>_p5cMLY7U^^X=LZsm|5c_ToXOTI7R<C2=f?4*fx4x!WTAQ~FmOwJQ)# zNMEx$e!|rJcY(_1#Dw?U4cK5%?#XQ*YIQ6_;>;b9gEEo=ormoO3ZsuRN8FjZ=#Ig< z?Yi9^yF*{sovY}bt6k!5t<R>HDC4-CW0Dv9qPvY(S{^H&s~4GCY*#za=;i*DEw?9f z-LaW&-)ecE;Vz?j>G!<PjV^m{L<?~lsSEFzFwr(u%x(Lj1+!h>>~~mj>-IqoUV|I$ zqWdmbCKjD2IU+Xg=?#Iy=N|gsl=(Gt)66pwavAgTc4)YL>1M5-e?}~>FqLJ7rBOif zlCQz@UAQ-2bgnr)BP@F5=gDne{0kUk3Z4Z1TC;qG))8$Uvvb8U(~=%tnDKbF-)9d0 zC-F%lrMu33PCryI$8}CF=jIiUrk+0=eKF?cqBAp2c&Y5Xv87>`U+}C+C!So}8EwlM zkbj=(Kf|dI;bn=%&%|#9NP6y6bO@?jnEn^Ehc1b!F>h{@#356D$<+@tkEZGTY1)@% z=gQzdgTujqw|Qc|YH{+TH!q)T`c$E9<9(G$EUxR+x3BSaC)LmBI9~r0_Dl08Q)f>9 zEA7jh{|el*ydyYkZrY{U#&T+(+|T!g^t-$Xs5+jKpY)-vb@#HO@Eh6{MN`>dES32c zzsbjXCHKM;%Xai^-u3*d>~oV0FQFfMzfX`pdTY`g!}P0u^Ay6~e^<P8hI2=6TY<QL zr~j3yFV;`FC%XOD`tn_W)|mPww|$VlwDojreD#E>x{8M%F`WumKD%=HJXa^V?8<$P zr|zrf2W;PPKzc{Dtsd9*Rp;*P)>))0RhGC-S6YkbM&7|VK53!lykE3MWQ<GmT?N;k z(E8VHKkLXP^I~naV-d52)6|Nk)-3zpn$Fj<)sykYItR-|?@v!p*e7Y@>{=6Oz_ov2 zocEW2%U@keo~_X{%KAIyFPB2mlUWQC-dSoLveU4gze$PZytu)RRF~|-Hw){##63=w z)h<|_Ifd1@>-whCep#nN=Imr$S2IoXuyV-?zW%pydptkbtXuwWnaPt~>o0m<c4%Ew z+B#=Zta{ynjI}RBsw`8MeS5N~CfxAm#LrWew^s=AK5X%ezHnh}`-Sy(CueR+S-Z>k z+P8L9TZ^s}m8W{$y5IH3R!iracUmsaUp2=}a%V)9cDL~Et0hnN$-B;+FWm8_e`4Sn z*Q?*xE!MDHo0>EyaOxD-ev?an=B1K4b1cPKZ6{wkXnwl2uKP=z*Y~(>Z$Et0nf*EP zuF27hQT(dE*V~+ouRA@vB4=K`ZIfK2&hiPY{>k2z?-`cczk1Wl&!ZW)cjozs$e&(4 z@wYktipa0}u}d%f;hWPZ^e^aNW!L!{c)mBULr!eV0*<5EN_MZle{y5YPP(wmB!1Bh zHr8dYKH7@M=FG~qS?ac2GhqKk#(xQ-dsP{h<n<;-2=Cny6PT|$C*F1HKc(=SaaICP zyVrHJh}*tqYHvB!{&|mR(i@e?1#9jK?oN?Bue3e?$wt8<UDotxF(T(Dv=-D{IC3{% z>!zmMD)G3kpD&hc-&qrE=NR=Yukn}W+4PDB;cq5?j0(5!(ERDd@Lc-Tt!E4TXT7xE z{<iruxBaSfxl^>GUVl0k8~XXh;^(SG&%E+&J%hyKYWL03{<R{QO}T|7U`xr=xzC=k z&cDbmKWE|IBkx4#Z8KPxyF9f1ZRCH3tOB-=Gq`wWM|qvSCaKX|q9syuQv2Q7{7wfw z`zxa7C!P2+x$61Nc{?X``z1Uxj{mVHQr2hvofVBQMEGa*rW-9?xQX{<z(w_Udxd+~ ztTR3({$jsp{HEVie=RipTeYxz?)2AM-?^)GJ-8gdOs)6yJN1aE!Q3y8<BQqkMU#v6 z$@xB8!mrRF(WzX@uf6cf0jK;D4~gTdhBHn|=4^N1`jM`qt*hho^^K6}8Ikl$r)~AF z^@`QG&eE3EPtARKW%bjQQ7&iJ+-}Re8^~~Y!=0Twb)Fb*FWwq4tLDuj_0`ja>w@~H zE>Pp=KC=AG+~0ENk|$5Rciza<S>V&5_1$L_LioGuxF)ebozU+amcienDOnctXZj7@ z*KrP6cg;Wgt%x?B5x+`(kwUH4hK^HSyZVxzX!dI>+uvfEHu*}%o}Xo<SDH3$@4U2l z=^6c-5mEZ3ZO3BwrvB1o*#2vp;VG5{%xT{R)-1gfb8GWg)#ypTPaP?_T9<iOvG$Y- z@6QcId*&<b`_UwJ!r6gi;%U|CbFVy_@8WZNd74W2iymHM#l+WnUBB<ojDEG)BYyTG z$*s2z)iL?;oNn53Zka&$JQp24!v-IdMSfMM9v%Fv=uzyuM`OKSYTc<*mll8V|Ie^p zD7ispx6?Y)9Zu>N64Th)-tBr8zRXcrabwb>HQqD34y@mzxYu|ASNa*vT;qNAGrLaI zt%_#4y<z)~4<C4~4Wm!;|6VG?!=JZfO48@Mkxv(kq&WOs$$U0dDOYpt!J{W#ZtgmC z=uPL@)Tb>g1z7GVMcEvBQj+!g$=Vm<OB@2fOsPsyEmb=8pFu(Vj?m(|5{UrIq*Gj{ zMP7*C5ZLg-XsYg0v9QaF=2e*rE=idyDRwjQ$Ro~43}GcDigl+g>YsBQv<VaHoG0_9 zF@ybLLbc5GSB3h`6U$aTs$xm)TPn%bn*Qvr;M8wH+huxQPn2z4FtO&LU)hdU*^rPA zyNelH6F+NxuKBRes(o?Oa~VHIA->8ck^Xn=ekUCleO_fhC98FP*SVm)DxHYt+=Tr} zJCh#8MQZP|G!tI((=p7f_a@i#7dv%de9lrxHOmZ-PZHcWUC)WV-AJ%pF=3<s3@Z(J zzRb19Gdiw%bVzA#dBv1trdxJu>#sx2FZvCP!=EQD6PdrMKf--tkZqx6c)-K2VgDI+ zyZ&dGsJ&`VTzAFolfIibw&ohMhkk$4Tgv@z?X2FKspr2ltZ{z(P`jO{+kDf#u3tSn zbsaCPRM+!*?CW$Wv~ACo&(f<*dmoiXnMqIj;?Pj*WjN)e_8XD;6QW}7y<$J{E%S<U zz5<uP+q+U;D!;Z&J^Jd>X5%aCV!i%eYx-Up#&UT30!{W8`$Ow&ou<vVR_t0X_>kA( zcB!@G?mYoJ@&#nM{xf{n|2H{|VVUkjKJ&=;mHHQ>iZ5t?zL;)!Ge5LuXX`ia^OnAo z{~Cn9+P>3CzSL$*<iqA<%hlYUTfa@Q`NHuzvhr^BHKw`uCT*HmF~!2&NF>u{bJ*9& zKZnj;oT9%yh4IzmSAu(F%DH2{1dFqsi@!Uo>7q)Ep2Ul_>mnv>{~8;4qfWxtlCSG< zoa+2Vg-XX2!~{&P`rlb$HhI=|n~VM2X|IYojyz9zFz=0##0wp5d%N=?Ht+TpNB(CB zoxW<j>G`wVars>LL)GU_+*Y+_w$!ArlEssjPcpk`@mD1E^s31pBXp~rr@w2M9?7e} z=fbAXt*;IC2D~m3lbhrzyL`a~%}d5_o>iVYvGR1es-g7urcE18uuea-nsx7&SbkS! z)rmi~7u01q8j5dE*yeV$?nKem_$OlVsw$O2B9qtiXh@bhTvl3_c4zwC+J^8sU)@i; z${TWDJN2*2ZPuaR3$Gisn=0MsI{o^F^oi9qT^nQrwsqYsiN9sc#rajs-e|&p*I%pu zTzGCSu%_IvEYRMdq1SSC(bc*Y%?mej-FmLQ-gL%m?rWiYQ&#+3Y}xu-Z*r>qcb%hi zPj7lAyL9@Ul|P;C=FCf3Ybac_-Tz|U>M!9xSE}AMSo@fH%3|fi)$77f1<EU*_4vB! z=$TvMcTW8ci_6wm3h6D5%i=u0=%uBmvfk=%;rnN8UncT?#gheDDN20bo^`K$w(rxL zn}S9m-kU$PTnpBlac{y__EjtvCGka@E>GGo@{DPA#FIH3_re0rB!xmh{g{4~F>g=O z#Z8U#1T%tEnlmzjA6_}sTN5Di^+^xEM&SO$%s{EM{h{5{O$}dNntj>G+TQP^^4Zj{ zab5RCAC}A&EKt_i^u^`h>V@1Kd3q`9Gzw(2s$xW$l%2#^J=yY8qvX?s@H?yPvu13b zyE2gN=cJ7$(G#^To_NVsY0p>P`+`g5uA}+v*z^~{`Sk);+Q);g=I=UppVOCdTc6nz z(Z1C)pE&V8Q3||vdr{bXov!>Ncdow8Q@nXG{YC#(+jADWyQBo}ePS(4{NnbaFyWe* zkb|MZq|M7-h#zR2A$<6()$xj3uk5lpx<5>nD0FP*Ixf8InTTA?#UsfxTa|Sg!?qiQ zrLS3I@32Vea?;k9>YM*FWSx#)!E*4Dh~PA@Ur$@T+XNS?Iy~PO`0Dqb)jG>3?btqR zUM176Pwum3etOm65`QY-xt3*d_<p}*+aH#F-EB1csm46HR&JNsUUwVWWRg`3rF{=d zuDC3^Zr`C0@13WeCaJG@(|^9g-Nty*C-LA<aWmzPOPEP7Gj_Nyw#~(*E@8vg%gmvB z%YL-z{8dbvI7RgPo0)<u`i?s{sHEFY^3W?QFbcGH%@5V~nNriEe=&X9gzm*>Wg_xS zotJrDJ`}xZ17Ek{`M^(#g#z9RB1$)0Y`zA5)xK={T|4qcNK<(Yi>9ROq2Kyn-kcNM zXtvSmKZC(CKRsV79o1V|VPBqfFH*MDvic}mJZ-|#vx*aEYTc2V%A0>RT26V^(QomK z=FiaX(pBXC$@)vXctdPyP=2-0hQ@~<^|fOYr8ggKP1P1ZJUKPy_7t6KVHcDxh}2x3 z#pb_bD(}V@^Vu6>y=T;NHRM`4wMPp0bleR-!uVqXZ}v?|FC`_Poktb~%1iE2F<?8E zvibv`@<*M;69O*>wBOMAdSc}-mgK2jJ#ErESF!8N3GFG3zQtYY-y1Tq=*`8PJ=Tv7 zZJczgY)ADJbFpwO-~S9os!RVZb^5Zy=fm+<4~w_ynwAr120h*pJxkzyg;CYceH+Bz z1;?a>SZ-0f_4aDy5#gB}U(c*~mS?&4g1g#|mGZpD6Mri`eDPp|>BrqgZdrw<cO6bf z$zNpmdy~%*q`;f9GOWpCV$HM`*X!adqZiaAIJLJu)#a_4E>@Dwb>{1&MWq{C*&l5z z40`sc^5j8bJ}tWymmc<p$>`j@lC|q|%r8CBYx-PC`MaK!ua{o%EKEq|`X5zm@pe<@ zR|_O$8sp}~T)y>rU#!VPug_;A{&amkEAZI-T-ZEEw|7MaQ*En_-<*1VS?|o-Gon-P zPEkJ7edzhg#PHoa85Y%VVPTQp_06BxhFjYte`W5$+>^1ToY%taT+JU|jjNil<UKzF zvubv6t3`$DNv-3&YaE>`tlWOip2D!>N3yC_me{s4EH^T9zb|>VTziGg^w8hm;%uh= z{1jAK#&-P7;=KZS91bNXQ(uYSSx}-pX^!}hgW>8|R@y93aJ=-ieo<f6O+SyAQlWjv zH}gL|=~5da{P5`{<|T3`U$pCrzgTCwkv0CQmg$Fsfj?_pT@q{FJv39ye6{w)dWOn1 z%V$hwp3kXOcQo(DSM8pJ!@HhIpW6FVRQMHt{>;st4q3hv^Yqm<%9J}|ruJ*QDQr(V zdqMwV)!IAP*Iui0(a6|ouCo5jy3N1TYvNcH@{XQ)((Yn6Y5l2VVc#znG=I1oQ=hZ` zO6$K>&tsZ4#;;L3zG|w}r$~3xY1<<!C7oZbpL0T1@ZSEzTt(XNHeGkxca%M;!Nwx2 zZo>N0>bib!XLIrE%vqBB_06HutEb;o+g(_jyojxQ*@HEExpp2s<<);~`Ae<G&t^YA zE4O@B#<jd;)7Oj4Y#F$W%GUnlJk6K<C~!$(S*2C@)rBb?QXiQbjLLJus-jLA{W<8j zan{M0Gfx_R9ondGwVkW{={bSVyY`zH&)F!jXUeget&A>bIyar?S9q}9$IkZAsaxyz z^XSTc<ny}oj%(w2&FI_L&SuYDSifrj+1iIClA7m!TDoLbXw@Z5eYMGW?Unh9_U_cZ zS2k55|K}77&L1-t2qzzT8z$$sBcfnd&AqQ|{D-2#Cry^~68rG*gs4>sm$Gs}N!%_G z<8!ZWr7H4UYs|OSoUeDX=ZkyYuShq|vI!zJzjXGdZ_53dpm3?^_05`JtjT{JboQ+_ zmrLN8&SAc1s%@Uw-t-N!Tt{qrTGiFLB_p#>Zx*<2w#d(`c)RM9N><g)7qnmLUX8xK z`Mvg~yOUpX>#zFyW@q;ck(yH_56jdG6Wwf?W_;p&q;`8<rps$_xBm>PKPyG&uhHyy zviRAu(gyLhQ|1S(ZQ~0Nx7&05X6+TmWnZtqz9}m>p=i_7kC7g#O}W|uyVm%g-~49H z@>Pc)v7KY(mz=X)Rrvx#NAUyk6gLm=_Ge+IU2NVt9o_YAQ^$|uspsxoD_B%>GVJ+` zh_s|-S+|#qdHJptTDbj%NZS*m_*eS__8nR4Z_42NzV2lADZ%rhPgngFUKVw!NU?U; zik}h=*^i7CPu>#!R{R93z3Cdi7tEV=^Eubf*n39Xf1=Ypo!#8Cp5J!b_xcN$=ViS! zDo+nMhrip^FVv)aX6<{AuupMOQ@i&FxCONdXI_o}b7Ddv=bqN(bJn@WUX)Q3dvxc| z>SZ1A)#4&6^4CmFu-a7|^|Nu+=?dP*H-DWv_vfJd!eFx}i;Sd?1^m+A5ueIyc35te zRc!plv`z5^oBCB%9@aNFZRpNeu&^Wgkg9uE`9cPlB8AlxpUkc4^OJ3URL-=!*nHRK zsG3vf?9@I-re2j${&Z^J^76A{g2Mk4EOp*4S(tB{Dsp5_AZxsHwPMMkilir;llH1i z*yz1s&a8dk;&=U)%aE9UMri*<n>i=$2(16YIeDcY%Z;on27CNNF1*~hxg+fP-m6xM z>+CEY4wyY#ci*(mOaHI-dKHhmjeE6i+E&QzwDeAxJTtuUq*XrerlWQ%BK}OjCI0P) z*Q2^PRolRAHBA<^F<#pOD}z`{IHvnaoN4_wb<Py^7juue+&J_!=all3Y9*rwt@f+V zeO{h=<cp$7dTm(ThDA1A+tUQ<SD34)Y`sx*Xz_~;x7S`!R-Ut7XQ@Zzv!d4PXWefW zoO!PG@J8%R?$atBX0!Fb1o>%*G3abQTl&L`;lrAs@0^>xH@mq>rwEr!-1l_X%e@<V zMVDV$w5)We)~(g^HG-5+tl1N3@oeEvUXR$&<CFf}IuK;BYrTobxtypa^Ia1zJ}Y)| z{U;DmxFy9)E&XJT?iJCODemi(_J+mjWj#yXtXT4D;n|-ne?&6{NKY1<syr{YWnZ$0 zL-b*3H(zcJvG|nRXL>~@Dm!Z{J`+o~UOsvC_YjL{4~^T;HeEFElkYlp>_<+s&yHgS zomSjTVt-N>WyrkS?>c`9Ys#JKgF87w%YBTSnE0$R7MUv@%)ThEE6k9)_@2d-`^}Fy z4sSZSpiuK=iOpKAs++Y}PyN<zzId>{oIhcUtdCBh_=b$YuUu|bI)QaT-RHj_%Zj=q zJh@P>E@MaM)~0*n7aG=fYcmNvU!z@oGO1o{LO@{8wjy1BVcm?4E&gX#>sah)TlGBV zV0>oq$EU0jXVR`3ef;ZP{oA{1!@fydPOHxScY=S>#(gb|pD)_+IqbnRrpI~~?-@%j zx@EWjURpcl<jxaQV#Ru<8I@PEYscMQ82{wT`&S#M<QYADwp>hjq0`yp;sx5u*Q)hT zoz{H8Rr~c0N5p@IV6PX&M$4b<JEB*<>pw%NxU3WJd&AEP3Y95bcaG`L2y&}A^jBos zPs@(Kp?||~h1)A^?tjJEGV_Q&x4t^lUeW2VIgjwFy%2c#YSZDLQ6c{sZmpf)7N#2( zQ5*ixXido;(bp_GU(T%jIWzEc^v<HzDOKMh8ST2;Dkp?YT*9hw_FZC(bE!`JbZ2hG zzpc^FRyNqL6p%H4vNu=jZN_uPx-Ng4-71}5gKR}6rt<z;*gc(R#R(DhlOArDt!$%g z1I%ABO%z;|y1mfV-Kluii><RlBwwe>21xHnJ9txTTD$q8!-i+Xl&3V8xY_7*n{#bq z`Wd4ibL#GcQ%SFzZse*)zgZxvvRj)$P`1=|`iHcTo?Wljtk3ge{1Pty*{8!|$NHOd zddyff^R>53mD1a#{cFvhaP7EmonzhB#|61OKW$=OWV7#eiKp%c*PW8_FBU&deVLLz ztxNg$$w2eSzapjg8g`!ZzILH)&a`yh+xk~s>a+GQ(O|zOGG`~lp08nFIp(HM%D1s> zTC?;<>snTKF~uXrVXgDO9r~^FuCm3eSu(ON^UP}Aytqw!GS-AN8Sj+2?0zIKHBmX9 z(|Mf-|C*IzQj>4y$7Sp4g~(N{obM6fquf1RXgj|_$iiP5msd>|{HXu;sOSE$mA@u6 z7xZi{2(sT5u2AHZex@~T`?=8dGS{NiI?mkb6<)t?VUf-4o8RM8=bug4{8iQGwrF=- z#)Q8)p9EhoI_G|n!%ywg;hSaK>Qtv+t^B0@CHRG6+_#HXrMVAudVa33;*K}X3vvu% z+qS81^<|gCZO23N!drF4=giXEb2nRO`^27xomIcJGr}UDTwyodBWS=lLvYrv-})i- z@1`1m30|)eT%E!ZJb%$?-^W_ln+rlWz0p2yIHk<#qsI=5uxakq)&J&b9R93r{VD#{ z4q0{cQ-v=U<kuyhHL2*g%P`^1a|~Y9vE}8>^<U;({rqBczw4{cZr=l3u6>&q?MpZP zrF5x0y`y#ase_)f)8iL?Iaw4QH&a>tgx;q0h8H9LivDM4O1R(ZH+RA{pIwJSc3sd_ z<$jhIYU6vH&&f^TuFTTDBZe_MOZrrc?Yb7b->h2kV!6kO)v2e#;!-2BStjh)KM*pz zgw@|Q?bVLhxoh@p;;Ku~)|t@uv#H&1h09-Sb>VfTL6ypLEN<wW_@s3|R9>~VsCCV$ zQ#M_j`<JcyZqGHzHr4C=r4X5AufO;msb9vHtv_q`rZWt)(tmsG+GbtowXx)Nr^OK- z=|v&pjM-(eV$)7OaoV`Ax3x`X_l7sJis^=PSm)l!xmx-y)>60TK%BPKD@My=r<`lg zOH(|yyIy!EcuMVhMCC`JWv1OCN!RwQR%c3{(|7t$c#zI=`8g@OG?_1j%qtJbuhuyF zaATId@-2NXm(&8Mzv3<YohdiwoZ4_cXd_?tJMlNmm#sRcU#)oQk&}9?(~fF&>lHJe z=iR^R@_LT`*RWugUI&h&i`!y0e>T`&%ak*LjZ?q1yXJEyN4zWR%~wo}$E}K3G?fph zH7qdM@n|F8$)t%bg*pnU2UA&Mqa79%9N5Un|9jn%B8TQ@kHXUGG{eN6F`b$Cz+lrC zRqN@k7LVEm<+7eV*4CSN(yXSE?}Yi@iCx>vau{PTUs&;U($0Rr(>tGC<FjpkDB1dR zkKU2ynCJ6fYCV}<9L80bn7(w{d)2?Z_loA4w%oQTR?&5R=Mmv~%=<H=o14z;wd=W; zt(dbn^vr#Y2#<Troz6CVJ1iF%{9J!ACjEp4-@ki@KKMyKTUOBP$Zh;&ozbZm+@-s| zZqWL-Vc+Yy>(=oeIuhk^bkgsyF?*(ci*g8D5_{r=Wmd4W``1TdzjS<e9!@CrZ4|q= zYv!j(3wB*D5V%{NtmKw`Se{3d>DQE8z8_PB<s3bVZ>3kR{ucDOo1dp=>Rwqb-@9ki zZ8nPLz5Dqn^6chTdsBvYM~{^Gq|TUH*gj?DFU^v8vn`AF?lEb7Sz0WcSbglA9!J<& z+Z!^Eig_b8%uc(s-FcC|wwUm=R0io<uQ}>`8$wLZZl7fm>(0q>FL&0ztLoRh^n~Pe zG*{nW5SLwTn5z5m%7h(DK53OcX*}xBQ}AO#L1tn(r{x;Q_x-Ikv0>jAvU;2=QWU;+ z;y_=~_P}ZWlfDH1(pT#JH+LFu_Rfq2&x(u1`KH@kuq@_!d3f^V_kS69gVPO<EKB+` zeccxp=DvqA4%$3U##7vFuC)D(joncvcIxS?1u?7T9YibyTyKSTeqxMvyK83aXxnR8 zaNA=2rg=M+?ya_8Bz~kOXc^P&e-2DvgVx<qneB1b@gvW|*xf58R;LIYJT5+I1{*W) zj^c@B&Z5`UWr`<ev0L9@W%s$*{KV<^p`&se_U5cxrkW=>B~dX^eCr7pKY7=~&sF0? z>&hdXmwneNn3yNj*L!tcz=I7pqK>-!(rV@@s<`OfXg@>Ld}q^!)|#J>0#6%={;Qp2 z^km<w(l;mLUo71AIdHzV_Oc%JGpvG{d#Anr@aXK)RUUipy<(hbrgt^NHsn~k-XW3u zt2R!Ze$mRog1<v&b6&?Szv*vYpS?SAQihH39Q~U~dRuNVPWmg-v**gAc|rZLqQ{r4 z{K*jd`D&$Xweqs;=?3c@e&j9nKNsxY9-X#s<DAC^p^vLI9Oh3te?~*+=&2XSPsUqD zlsI(%36I{dI>l|zwS|(Wd8Zy<vu4)PW;=~=$zm7g+ys5mO#<uBJ>FF45f<)XtvG4k zuGSB|9D!;{iLoxPi%+^_&kUZETKY@-_KYy8doSv5ZTzx<(Zv1h-FUlNk;(HCSjxBV zjuM~d(Ob&(D7srAuP5=|M<s@@tq1hXeO6own|Wh(Op#*wEXG42uNR$_j(7L^t@yNP zSy80F_KMdh<*mQD+njnRd@+f2kL7xv*NpLVybf6u3C*~mAmBVD^}@QCDaxn$Rx9YI zo%*qMhC@w<!{oK?DbtQACviRh8MUB4B7V`fMbE@%oQ&7l?6gBNORzbg>-^D^sj`VO zzZ`<adY(EQz8GiKw*IdBU1s46t#y^Gj5~V{{a(?!Xu=trPRkXY&pZS4pRF-3c+U|$ zr`sv7+~!mGjvrn|1@{XVM*q98sjp~REoUJ2rB_uiLIl@#aQ|meSim3pUbot5OU)FH zxhdM&hb$Lxer-+s5<cfskyY`g@@X$yzYFa<811t($*P-G{I#NA%|nydMl${UlRj&& zxEhnSOnudtP50z)g&e;q#5Qw<)V5b2k7fjZiM&0L>+tc)FtJNsAD*6++qv?R$d{9{ zRmZ&N{?s{gzGMAPuFq3Dw0=G1Vn1nm(|LP!WtGn7k3!q?uUT6OpRIlBezmmcx4%yG zsz<hAf*(`4>RhzjtI7_}PI21tYZ3bbEv8eJlfvKaDA_c@_@Yad*C)x9@;nl6XBe(* zoindszS6^K;a~iE*}Rm!Z${fhFVHZ&ym=Nw)nbb^I!t|)+P@^?7d1F9h-tMd(Q^NG zD%rC;KUQqRPl15vW)A13>xGy6Y$*-f{?z5+PwkFRk$<ig<~-#66Hv-^-*oztH9s~t zEx31cft~j<=>=(Z5<$gM+PsykJ9-{^%xelcw(9KR1&6lCdHg&5J^adx+27+A23fv4 zw0%|ci*>JE7l#zTP)xjhXn(*ijm~+i!s2wURoyIkA`+$cwEmG|%<I&o=dvy<tui*8 zJ(ebNq#>6*l<#9fL&wjVVg2v?7#@`y-u%7#!Ka9|Qmo&cia(l9I;4E2b#?6%AC2A| z$FMEjr#h}zahd;|lJYY#(pp2yIBq(Z=~R1#U1`C(Yo93PUuZ3yu_2)HQ~2{mk3MHe zmi@grFM6qeguzDs&=>32m15Sa)OhZ`edM6vjW-LrS@S1Ee4d!F|6)Xc(E3;1`^_BI zM{EB%)Sje!xNK*%INwWk(<vp4h0L6HOSojL+E$zVXYdUE#4$tZyTGQ84k~NZuf536 z-s9lJf6+a9@~Y)Jr+-ddWtb3K*ec^&_>|Fu?c|O4ZsEK~VgfbBMoWIJ{CVi%o!L{~ zTYH2zo_hJN>`Otz#%<2~m;yeW%Y5u{V$GhW*JsxJxqOFx$+}%$uUAcqy8W(Q^!u*; z+B*KFCr%kf?DKxNW}V%N`)AzKzAv;|qquPSp{M|^Um1e48Be>Gr|HDByT|5D;)&z> zy}UWcZ<7$;cZR7fFN<c&?P!wT_-p-5KONg@p2CWdUt+!0`mgrsxlg+H#rJZx>v!%$ zQbmkK#xvtLU0_%oud4TxRkAKg+|&Kx;dCd7xi(LEEZS$f9NpO}SrphMy>|MmeV5j+ z+E6g(O6_FN%dPQqr~H|+XRq}0i5YRzwx{2ePQU1IchlxA_Zakc#U}llDv-bG$>!~o zKA)MIU8(tem746Q7>B3_^UiF26qCCDlIThEjRi4!^$H>r^IUD;ZLzx0C(Ls=N6Rl= zMZG)3_~A~sTX8R!%+6Bey;c{j@o3JcG>?0qW-%V$T^SiCa-@`b^Rh1KS8;)f0@q_C z9sHLlZ4{gq7It#i<VhWs#z%Ik{Ybn%Rj=%I+XG(TdEt!aXC+U&T&T8KJmby&6<pt? z8d?|G$%d<5K5Z(iGIi14DQ(*?%CBL$WDz^5CnDWcwm5Qit(by2!=8oabG<6n9-AHN ziOSfX^0`Fwnoj6u%S7|QPhq=vt^M|3>w?u)OdAZ^ey?O%_T6`OzR(jxiNX&H*_HRE z$dnpLFzIAYT+-V0>|4XS{V5mn9uztAeLrGZ#yq9S<@L>W?UV5Z`(EsLJ*%gQeO>pv z_0w9@*Q+vb{}MPM-PC4lT+&hg>zi(+r`EbIba^_V^^EHirAII3Tz`F|P`23ZKf|SW zSxQgxC4;>47Uivdo$^5UWW*yW3)cA;t)p);THRUvJZb%BuE(zyq^zIxpTYI|qU%rA zTK<?W9R1gedG_v!mP)4TohuJKdAg>;srOBBvRTXf6?3lkXjsluTBqQzYA4ToWnT0W z?O(Am@6Hu8-rLupvu}0el?nS!$koXm5Pesv|1PjzspZ$f_`62imsK`3isig-68&d; zNkse835{Q@E#}3u=d3+<(6NBole_ienbpUi#0JdSuXX<SLYJ(**9=!rS6DG_Xnj8S zg33f@g$45!wTic8bEiaC-Uv3BpugX0akg*Q{)K9Prw8zNT@s7Fv4wN_pF;sX=O!$? z;nO*7yXv`bMYGRDW>roXeZ8o4;>>63KXd$X-MRW!rOv(;U&JE?PoAFCI47nk=;71S zuF@^*q`zK`(a`wZ`aQ^gyHLLCw3x1YhYc6)zsT+S$NM|?{1EBd$GY0~o`GLEZpRh{ zyzjdnpApmWDC|qt-KPo5=dJ!0{=D=M@0tbN=e+ezv!fn5G;?$w-kC1Y@Nx$C+;<|| zr?x0CUh>RvDLJu1^5I9;{|r0U+<JfJ>ilo#y8QO1sCdl2TU8YF@=t?l)lH7@?XzBg z)O{Z$zN-0S<O#uQrwx}a!;aLc&OEJnbNZ?i+VZaQ5f1US*Az5(?{(kJJbcLOp+&M~ zfRxeW_|l@P$oN;w-z?c>ImtLC{?@M5?yG*U_n8*l5TWnAx@XhWr;`rZig_NB@s8G; zs&^&t)~oBExE|FUPm4F&`BNwAT)?KjNqfGy1=zc?Scsb)5}5e-LaghjD;gbNVy3Ul zI(O|uc&OTqO`GOlOjDks*Oj~=qArDXih$1ktIXdcGhc~(i5Iuz{=#+VLepBYbFbft z?pwt$Z(&vZhMC4@O<P~4&WmKdR1zpV?Wagpnpj<s=+1nPH@{mm|J<Gbds@8<$G?YH z{Q`6t&TkTYAtra?>BNYA-Dl-yYJa}6PXEoDyJFpw&+;$Pi|M#p`()X?DE*yNQxnyv zEVlf{;KA@*)n)gR^}b<_8;^LnJ#fz9>WSDXB%r$Mo|sEs-j+r8-pAZ|dPzs1nN9D4 zaRC2})?e%I=-!px7ZCWxnRn;bh{{Q8c!UMHzdJo&;l@*<b@0^jt7i8kI<LBi8fKge zTitz?$LX#4zSUoBr~g_ldFRTSb1_r<l0FG5rHg)K{jG7`Aza_6<;M<(K*>z)_;+y| zLgcDe>lm+j(lOukWsOE&U&GWBx;F|l_q2HXZHi&~axv-W>Y|giPbGWaFsX}fP}r;2 zyJzZOg|d?p|1`91ixjPFRM{OYdRrFNEsgqfI(+GsJ0*&O36`fmpA##rUeWz8wSvD_ z<Z#N1r!`lK%^i4+TC49BEWWO=WBH>n=Sg4ptg%okGFs59v#dzGMR(F9+d}=T(O0|c zb*xv5pAlNP^K+PdsMIT_E&o!V&(uC`DinQU?d8v0rXSY+wTR`Gyslao-6rm?<B+_~ zPxF>Lk7(j@Q?+krR`%vBx$`x^^2nl`#0w$9nOm<su`IJPNZ;L~^gQjK5!3T0+ZV{{ zY`%6#xP|wgdQtS^->Gqjr>u}$7%yCNd7o1FtEKOby|`B-zaYSo-T7=xb_VySVy&~f z%#R{E`n;T<G$uGDBu<w8F=xTY7f(wQKZiFg=+$N9$Uo`*sN|5ypP1{b4xdPy@o=x@ z!Em9%_mci>*SECVYlg|Ywke)I-W_&`UBf76jsHY#ft@|4_N-~q-=8wyfvIy(D)$%L zcC~&}C5OT-qE9D1Szm19>TumCWa@v0E34BNI3)E=*dLmAa`p?wn97y}aeKGrF^4y$ zq->b_ugf(0i1FE&$A2y?_sc4@h*xVdKKG#I<;RpQ;dYHBPZs&f1#N0vwcnam-Zd}d zRxXRz=EQ@Z+Se5pFLO0vUib0IhOM8^dOV%*=Ea)^=Tn?vP7CF<cUa0;%?&G?-5GJi z-+S$yxig}d?)7zAvUAxVos0g5Cr|HgbnDjHw5w+0jzyP(4SDoGHY{G+HRsQlaL~Nl zx>E1=UMbOX6%&8WJM-twRt5b{42}~kEHyxGubSHS&sF$8L)MiwDiM-7bEZxZoceUt z+0XZ!CH`G~caWjGeagXRN%h*LmPdEbSR*5*yz4}du7>26TPL5SJdX;Qv+UD?tq&J_ zhFf@^y|CfEg!H=Bic?2K^WQ}{3b>xp5R=lsTKjI1{y7mBdDG(gDmH654(t?DWS5K5 zWO-V4%HAVTynBI#!ZWvQRa=Wxhx3OS<JnJ|88|*-bZb_caZku!(EZcY>D`)Vg{MEw zjA+g&4cn>SnmXxWyPSG&u*Ye=^E+I&ByF7~Xvr(SY}J2;+c%FyUTINznVr^>WWH(Q zl=n=6znq>VeF#fG)B1beoM{yy?6(&sGwkLO^2=Vb{%ZQC7`s##>E~LX4O0(y%3Hg2 z$r?)OUMkvVwEan?sQk23|GI8E?I~%P=YBX_^Toc)tL}Z-pK^ZHq`P-z#EQ>2ZTffm zuJrB&t@Xd1PTdlz`u62H_t)?*llC0F&Zas&kSnAw`jlN_{M701HXY7>5WVhv=&x^e zM`JP<ZT`=2Cbjh9!HS}L1!0m!QSP%|ifh@)hV&?8_ez|eo*erzBe3#gMTq>OQ=ccq zFFNudcP6`Pi?l`BG8YraBeOH*vc;d>)%IIG=f(V-&wLv4Clk4xYu4-(TY3G+@_$#8 z-YadIZyL}&$NFq$gy+1n9pR_lHJfxNa^*@jEvh-my>5wyjLmLCxk|-qnb}-+scyA% zOCo<Z2)5e0o~(MZz~`K6?PL$uXpIxCmqKo@%K61$ty9-^Q|98M{oZBn&l|OJr<+tg z5j|MC?n3DCB`beVeR97%^|yxZmb_in(vpw%UMoE3^w_e%33S(}tNImvpHofDHBB47 z&b#x^>&VYTM{^!tckrL_X4=H(+5*=j<Ez&j@8&!^ao6ohi<Bn>?mjwu+Q&~5nm0`@ z<W~OcA%9XlK4H%m*|uAEbUo(=&q^+LYJ53MrDN|Dna8dY1xGt0D~hKo^9O~6Uv%5E zVS)E%OJmb1a}!cF9GkxBb-P87^wI~~zMok%RMInoKZpO+y)F8(RQX!K8NR@q-;QkF z?^<@;Y16jesV|Eb8J#*+r5#)KWC??AvGzst1wX&Jd#~iR^O$V0?2zcOU3#@%^LB#n zm0ZDfxp?B$x>q-!FtI<|+_zy<=GOp&`l8on3QCOqebKX?O6pBo%u_t|^@PBjrINyR z-cu)tpDxj0y=*o0<pk%l`lZF&ycqu_KG~mIDAUM&=~~>1Z8dK;85<~iH~d==KB;e$ z_=`=ScJ;+v;rSX66`LnEb=u4cdoA@h%~?CEbN(47u}_gR=PXQpTKf8|&7}N;+}BO= zzXY$FILWTk>G{=sGkzPde_j6>Zgp7c-;BR1d)w08d(HACYxb??+cTxMT7}<O`%Cb8 z)0YMQDMd0DezLxvb%cLPYuY1=9br+i(T+*$QtuqgkeuUOqJ8?9wrBK_%~c<o@6_)K zUnHbwq?LDV=jB~ulK&p<du6Y)E9~P$>jR?y8G2UEw~%c)H?3i<t)q5@cd}+gL*q&N zMcuRSG4(InRrsI5Ks7?#zlGKC?<$L$>+8Nwzgs(9Y?k(?=u4GC)+#cag6)+Se|i#< zex=o5{|c|>8IM}EDxX*`@=HG=;`-bu^!oR>Q;&7SB;^uIpUTcPjbEwt`1ewad1Y=< z=_}vtIC0~1r1sO3-g|?)*GNxpcobD7;wT?_oH>xo-E!0HubYg_OE~6FaDLY&y!WF} zCtvf5DRv8aZ=cK4e#>>_k<z8j!Iw_GE`PP~`m-I%lb5=mDYINIz02v*nSv>a`!9J< z7u_du);ss3!`aBQ<!TKZ<wK_>&)PU|iMIb&Q}^geyZpT0t^XYU^VE^(hKkv%Ch&y` zH1sR%30(A%<BB?)Q2r68!{0R;OwP;=t~~c4=4b2k0;ZQslyi$5ubnoXBHtAje`&Vm z#819ChnH8Zuz42Rzp8BgljV=j3d(uwzBuWBwld@E-`xlO=3J{wbelYr^YOHz#>2A< z8XCma4fd#AKeRp1hO1t$!~ELaHrBTCu>BU?I=}QeH2P+?TK$;1>B)vZJ@0C>lm$LA zr>BV*Z94IF(+<OrI&Yus+2nHTZpfd5dD)TIPU~BSH@v*EZeyvuf@u4cbumpD8*FYB zzj=Pqdjs2?hO-Rps~&!4bTEFltYn9V!=<OS)5Y`^miw!!?r3<m$oRC-^@~+6cAcG& z-&MZUdtb_G&8JiJy(80YuEllL*&J8Ne<D^lVO{B&sngdic)8_Mq}Z`?m)8&Pg*{z$ z?!=_}6*lXX+Z_T8=WS~JQQ@Lo_&GLF;%U*6El+bC6WeA#3zSfwz101bdkW_^*SZsK zHPdZkyiY6jJt#lq*ImsVWvrl3xs0DNb@tWLKdZSvl`F0Ps%>+&Y5T(9DcnqYv!53P zZ_K-2BwY1ueWh9O!=sDX1?EOe>fbGX6>zxXZ1l8G8O<-k1Ku3UeRPu%bkNb)s}X+= zl_Uz>UcYN&--Zo-^UrYkYw%t_>(|9Q@z<J@PdiqgpP2RNNS#F3hF-4IvhR*(b@VH0 zOi$i%_u$!l_RiehvOj-J>@6ycK78TTTFU}aD~62~G3Md-LOz`ml$T2qpBA*k^C{Q4 zpWo7-s!AVu@*-Sr!`h>ZC(Qlsmn|(X{j*__)Wyr2(l^!kpXYkmeOI{R#ezvZc{gj{ zt^FDorTch~@0#TW6Q`{B(bih2S8!WE^snB6nV+~hH_Q#;*tSHQZ;{t0C%&qwN@|Mn zlfG`M$+%*-U@g0Y$dR8d{5B1NQct*Mlw_-V9BmciKe0UdP`ZZpd55)a2R-{*)_d!F zua2L3!QNo!CzdsfeqT!E=n<?|?Djdt<#2>A{AB7gu9J%wi}qggdi1w}aan5Zo3+!H z1@4>KE71OMyNJ#czl5?~MXkz#nQtc4s&9U?_SNE7)du|%J2|3Hz5W}{=H3<Z=juNP zofbx;O|zqz8f9ISO6O%MUlM!yx$Vi$qBz&|x>bkHKH_?OdgHc7=R`CQ^M9Bb`STRx zj^tT~EN`4@d?<Zj>XD=($8&ZLij1jW1NXiV{2aaGNzdUh@uGledEqH(c9LOCY(<@i z^yf}g;{VcGSGCx3>(14$N@MI+uIp*N%~d%y^=0aHZ-uS<J6F$YoNp>0a*1E!lvtdq zZBdY0(uZ)CuSXVrxF;C^TG=Nc_1<F9y~(PD>67M9n!iadJV5u1Y3<Yp`nq0U&iXt* z8Ie6x^X$*5zgSE21GW7_wOc?#pK+&I>iu(%FXTF9_1?_r&9u&Esp*UMwzr>+IQy0R z>l>y+JUiB`wYj!0B7EtAfXXL}ID`{oc4dhBt*F?wevkeQjV<T0MV`-W-8<dnabC-M zSBsh}^P*SX+awlTebb7u*GDH_Z&ldm^$%H7{0+4^#WJVu(3YRoSErgkBk=U1*_x7B zb6h?~Mm*YjM=WmD=eZ9S*trG%(!U%1By?wt^6uvvnlC5K*u0tR+UKBJhO059s<rDj z{nC~<l%4!JR@tTA;QXw8JNr)T2>zVG{Vgzc>a_A+rqk!Dji#iyhcY`)njxFlA^B)? z2=gm17Qw>?7q)!n3Ssg0UhnPn@Amr8Ns~Vu@j7Z1xj_3**ZwtS8Mh<643ciK=v1xl z)wvOP>B(9vr~TRw-}LWly;dCdbW(d}j)KzSS6g1DYS|TuzguIMSoCJ+w!YSGvDA{Y zj6bK(nm<3~&-v87p%3O2EvYdNf1a&f8}dGJ_RhVN+m57bo}Dp0V<)fE29{E-kdj@0 z?leT!hBgVmVwzjowB}K+niGq~)5Ba+DxX`FeYpd5t{WX#e=bb$#mv9brvxXrSC<|P zDS2O!qVG~O!K_zgGV_X<U0(AqZz{}AooRk%ivHi+o+%|81MLz-XKg(GVbOJS@0np2 zukG5rrYInx&(+&ll3~H;oiT=|1nvr+5wYujn|FT8;+jq2S|YVxlOLX~o&F;1`?m># zpIts>rC-o7Ui)AX@AvIquP&_5o3M6HT<De8W-?cJj%A<t(DLcp$0wXFGWN4MqmBhU zm@Bc}^<dPq4olfEH<PB#{~6v*5_4YA`iqr$(&rO;5<Lra-2J?Mte;WD=pdJsEWGU8 z6xCzzwka)fUVNz3eWLUMQ-NBp^Cv4;K3P+9GLZRP;Jh$xo$KoyOE0X8p2jP=y6V*S z6|Fz_Oys?K$uTN^Vnm_G1*hL@{&EI_MrvHXO;SGObpG6_)XOIpz3vobbX#r|!0>$1 zhJC9w`aF)FI3t?-`UdNZj+Y4mli3xyLNZ%jq9^fg`QhOfb-CvBR+l_+zYm!~Z;OI1 zan9b()%Ik;(^ab5B-UyR&+cFKT8ulu#w_yJRNd!uGz-q$VSV)P&6T1(B5(daUMJez zuIW-gWyQJct&6KnRzI~qz`EO3MfYCxA<-kfc{?38#;=V0<zzGMUEh{hz0dwk`*1qa z`A~_X$JeR#v+|$iHgGPva>#q#jWE`WbLLDbxv+dv{zHTAzO@^|F9)puTr^p3#aHW- zccX<iyyoCl`VjVfox=K}y*lmB&&Z0@EX@0~>!omN!KIgHBQhU4e_9jP*{zoy{Y<rP z)x~E{|DO08&3XK4^Sui?TXrxy{9O67X@0?lqD}i(vPNGDIljPoUDi*p)35ea*f>m0 zdh;XEqVbU4=8btl4RYI^iZ85G%b%`lEPh5*;mahkoS*u)H?LA?{k5WO*`;Nr5xox_ z7)8<p%Uj#+Hmoyw*0W_^g2E#y^@dZ%bp>mZKeZ~)7n--~kAwEv%@a0SYo3|nu;XZ2 ztLpA2d0vMYk3TBpUihe0@%+mUrHkg~GS`&SCokS~Z^6|0OVo~i`}W;6XXpAYW#(e9 zA03#Ya`(_N!K1rg_9(3BZTlv3k$u`rtr)*Z)?IPYS2TEz%Utc*WIXkIoZF}El{Z*8 z_;cp|Gz*l!Yq@f2d-Wow%VMn;(!%ulL$jM7#Z8~Iv|jV^XQ7>y%Q-H6JIQ<Uka1D@ z)#zDf-9M)O^Zuq?@vEUF`h18__N2|T*q{4tb2_V<^vo!>O5dBcWy_gYBDYVl#J+HP zG;yV(w7=@F6~%q>0#np2?%K|(6rJ$s46E9+@&*q7D|(7ALU%kj-KDrMTl+ZIlb)Wi zdsDwp%{5hx+*c4*_C)l~b(!h~MFH<;HSp;<I%eiOEqqrNGx>YT)(g!_mO92qk9h8y zqu;zZEbxTaT(<5qkKVAzh56G{L{%?dS@ZU+;}@gli~chljei!nZ`L=#Pp$Lh7OZ_< zk@H}!<h>W$4eoUHoz!|~xIi)PpLa?0M6D`E-GB!dCF5QlKj+l(OY@h0%+)hhnhf*L zSQ~%h_S+<;ESGijkgar5sjvD)r#WsVd7|9{r&S(V-V58e%JZ)7F21=5vDPy`YA97& zD9QvXy%scoc45Ekvn7_zzfK9xe5~s)8F&80`uVOB8$QciON==<FSc*noUf5_dNN{_ z-K%Hh+~t3@d1>}Du8(y=UR(Eu_WnF{*GBF1p3=K*N2Ww29{A`Gqy6v+XHfnLc5Mb* z!L45=Y`R?cy1LtmE92ZHhj5j73pvH+da3;hWYD-)sVODvG|%bP&8d8HUFx=CWvyMh z3#KOcFWSE%zI1Lo4{Oo>q_v6HH@&ux2q-zhl4~o~dFGgFWhaAn`oc)JcSTG3wA)Ti z{_t!G1AiA+3Ga<f&GU9lX`ENke%1e+SjAq!iPKUo_q^MllK4nq?WxaaYoEqc9@-YQ z;^mBRmj4U^k-rZ8p0ulI>MxyrSwAOc1Q=gAmT`8cz=mgcJtNmFb1T|e8d!0$Dndgk zU3Grf-HDe=CN%t9e@%2<(%UMfs%Gx@Tt9X(EZO}#S+&hjVrQWFk5oUu9~}WKKb4<P zjEoBqV!SY+O|E*0zMt1ME3ZfM3IyhR#&w*oF%J{Jx>~sL)Pq+u3_7inE><p2oqLkY zbhd_K{BthTXHLH-?KS0cE{r!x$y!wNX7Rk#_)D)<bNWp$7Vq<36UDS`=i*;$_Qf{8 zTC-T=%=(>S##dUW?s4_)S3N&T&a3L#rhDQ4o~F2~c5L@M@l*d|L?y%81-mAmV~AB& zopk!;O{=UhwTYL!ey`|PopgC|YSq1PyCm^dh0ls&lTE)(+U1w|$t`+eU1s37!0W2N zwVy10wnys)TZ6y4DErHsa}R8Gh}rN=M&#?>>o*okrE#7A?X>CZ4wsi^!Z&~E?}&@k zzvy9?6jE%tBIDANsgj>x?b*U1t195S=p1X+TG!3ofAiMPNvT$Uvw%OerRc2lVrv@_ zmDenmiSKT!ZZukWcJ}kmpy_$-u^YB?FFf~Tf53v7Z8tP$GZu0l7wFi)82xb9^K(D7 zt4`UMN*?Op^m3(YRPy?i%u^x#t3I2t@~FogvT_W&+$DPbW{giJ*I`3J&ij))WmJzv z=U$zc#u#X$Y<hHl?!`}A7VK4NTDxx5{nBsTYodfXo-Fyi!_Q)K$y7F*hVTvZxw^Zb ztu-*7u;|&hAlWsnhP6H`{xcYAx1T&^w54f|$0X@wjg-pP$s3vHtp25BRd`By#_r{& z>c2g-j_K}6<als!)%>Ybvd@a`Q(oY7>yB4*o$KkY{F7Pt%G@9JOi5DuuArorx@!S% z+fwhf6<p6`WDoxOR{PZbBF~QR>o(`^TEsQivMgr%3RU+Ly<$P73YxJd!KY`PKO?Zn zepd+RY1h4Gc?mj!PZ`|}E5fC;i#J3p`o*yR;VCigo~TJ{ZBrI0C5NiN*lL#;dHc?R zphY$hwC|O;Pj}d8c~;qNp+{bJZs3O0^$ls^9<J&6s)e?U(d#bzovxXtF8ye8s{h^O zNy(iX+A43#<SH3W$=5q~>Q2nV_-6}JL^|gt#@)*bcRs3BdSMY)Pmsa0#lHNB3KHse zCyaG+d-T#BxNQA8Ubf_WiI?^scA6+-#<{)8s5tb~tAL|zhZREF8LgZ?pDo(;WjE7Q zVcD1kv;A5Nv*&2Xxp^NoEVW!I*P3p8q}|2fN3r(lRZ}I;Im%m~db&HkIBvSuuapIR z=Oz~{f3ojX>8H5JwYR@;?x<*dSQ%BNzav2Ub9`ld-s;n#sY&TUUTVcB)EORk^FGj= zY?0rwOsvPryy?h8xk&Y&&(_!_mIk@-C9Iym=x^ZVi4G4{WSyoxICZvq>c5U!(SHfr zTV_YJK0oOk|2h2WqPyo;9eJ7g(X`d0u$PfrsZyKYDWq<d!Tm>5lhvJ`W>sI_C-Yio zcDsj`v-jHU^`<l0I(G)S&OKa`KDBG-osTyK3!+kzo-D4a*Pi}vnca%*hmANQeSfa( zc(KmbBgphraGSWr&fPl#WN%t;zZb54HIhj;=hT$sxg8Fv%C&p0J>8iUd3-{!-dvYu zJH+P3h?#TyPO-?$2$EKr@kWpT-?US|o7T7May?sOt~^t_%E}?&;@|SPSsJ~@L6=_y zZ<JJ5@?!S5$Mr3*tL|atJQc^CYzIUOUOr>`bFpA&F^m4jHwCZuJA~Z$&)~&W(Q?y0 zT1W8F6a({L+ozOXOiOw4)N)?X!nJc>Pqkh?MYQ^}YD87T=6$`bdv{+w<-NiF5o>h6 z?CG64k9?<iw;yTgStGOf)jEN`sIv6BgtF7y4_r|4=yTwiI`zxRx>xLHnciuHpZCx_ z++=!q*0H$vFPKh$)8bzd$im+iek&yDXnUNu&J_uXzBi)R7hNj#W4gA{f#+OfO1;6< zqx}yHxV7aZxg1U(36XaaV7AMUxUTwh&$K#+)<R~{_p|KEf{c`og;f;1FbzK)wlcQT ziTxR4xLsM0{)z1yqCQqwu2wI);<e{#2KRT4^qh6ejLy9{JWJum-0)`~nQt1t*1Gn> z>8RLImgSxEP3_gbrGIjA=Dg<Az{2xD-%c{J@{sYW-z_p1mpE$M*oGCKO?r6f^va(K zb%K+ca?Nry=Np9fRciCz)$4t9tJPT6IpDXKt+8J47l#Aef<%sPX+1xQP0wP2t$B;4 z)GIIkmn^2yJ|7jYEA$CpQjNFV8CIt8kzH9TWAVIIE>F)&KF#C`y_{gVH{G<O>Xdz| zywU=B>ovXSkF5Kkf2cTq7n{+Q^*7VM#O-WaQ>|2N=6v2@m!G49*k`9_HxK1}zPGLW zyGzN1wRK(&UtPYQnJQVMYT{u$P1HWMI_Zp}@~^!1Yt=HAeBPI11GcYO{io|cgUh2j zk9hA5Jy(D1x%x9DtlN9;>(xGUxn7lqXI)>zY8h{8{QUYR{*I{AmtNH0)#CiZ8k3n6 z?$0N*&iKg^j{MM$&bxP6boOZ7Y`ZgU<%_*y#kpbeS5xcCHVMzJ)cH}o&x<W3O+?1* z#M!HD%^a$Zl385yDp#lZHkCiy5NycXbXDrrMp@DS3}^P2GIOup$>s66X~VG%TxQ~u zUgv&n(s*<tozY{z>a@yJr`Vmge9<U8wsxvjk;BCNwtz!=OFqYM&%b;6(!s>W_LHg8 z9HZxXUjMgXnN7=zmy<faaJL_wJoVUit@P*~?O9vCswU2#^q(P={lY^R=GvS!`^`gN z@9H-`6uxxoCzqNoWxb-cuSEL7eJ2XF+@579E?ywHkg3XRrts5JHvOsB*Lhp}Ep**5 z{nlxIp9|qan}6vWvaIG0oqjR(iE8SThL<birngR;bA4JW$8#f*XPYj`Hl9+M7Z!d# z=)u}^mqZWro9>+_bNy!N)%eQ-Z~ABTdHGeb{$BPzbHSU=&ynXR6-=91G9@MR5Z7O> z&Hk=>a?%=e^+Y!v-K%x^>W0nx1NObD@p{*t;$@Jyd=<mlzM^%?lbw{;y^OxMMC3v8 zr<D?K7si*Ea(|84*|hwL$jP6Y-A8=1do9=e6@Rznv-8pFQ!-nFDxYfEC~nt|TbTM( z%dVicJy`RH+v}aJhu1E2$a&4MX7R77dqX$6PnywqlKC@N(w(L`7W=h+Yx4w7m|Avx zRpZf<sq;hUMe0d3o~?>GC3ao4!#h@7gX40EWmUvN^|O~2@Tys^St6I}y7<WQFY$Lv z5BWRn%yLq@*j^MY`%_=*Kf}}3=Qp#rF5_<ct?|RPd-{Y;%IjR2FTH+SQqC6Mn(;|7 z^-K76y9*^xT0WoAiw${l!Gz00eX`fq_mk#W=$17tkv{g#M5@Ne$^EKN<%~ds!W5^2 zb?fJ;%KTJTezksI`p>@0i#Bav_1dy&5$}1^d^b(L{Q<KTW~W_P^6Jg>+pF%?KJsK% zopQVM((<Eb?$cUW*)_jUTy*Z1ziRHyGpzOj0=>Q`!>()VMBI6qJ4@{KOlI?`N%C?E zo3FcGDrT*nrf7f3sco*Yd%5og!7}MoZexkiV^w;ames78aZfvK&(8(dxlQsJ#NRD4 zxy!J|>g?0{RewbUm#vC^apj_6?xTIGhW`TkKHfbSs5@`drY}>o=Sn@=^q)a%&f7&- zJkRn~Y)|y#XfD<kKRQd^gF~ovx3WnIOJwPlc_)o8CjDH&q&`cxr{C^G`1VPEuYP*6 zspG_{XUj@=r@iv{H+vDszYcAE>lM#u#I0i6b4_sC5~ZqG$LpHf9VHD5c=fqFWt!Dq zf7KSWK5&2|f;;x?)#&nSa}9aXS>fNa*1UN3oHhF^xADBa?O!8jUePzTSDimcDN23G z`qdLsB$Wyp7BRE+&7Sh|@$p@cHfCBbd|nXj=Tttme_?=LX!q>1wM(si)J<QW-gNZL z<P5Dtf3Eb&<+)6L(dOjZ+@C(ncsEn|bcWMLVNrMVG+%PB>*9`i?)G)f=6g>$Dqrl) zn|mrJFniX$_DxkUI@#OxR?ZWM-rrep`;cQqU)6z#gFF5+@EJ!m%s;KU*DbqWu=iQR z{t_wgblwGP%rkyGHnrKpRd8%Zi0RI>&D&N*J>TKq>3=Ff?`tbFAM@n4)QaMBVL$pB z)~L<15X-)%KQa8xlXXhhlta7z1SqDy*qqzjvdE$1OlkZs`%1@Kep%)A%fg;tl>fa% zM_oWc<5z22=^4$#Z5KQuf3^NRmZxzqCGHf*wnpnuJ*Q@VxOe)z+nVimLZ$JWj!O21 zeZ6g-;r86xYrbpCul1)FaBCP&S#Q^+=C&~IKLd{lqvVsQb>+KSZS@&bpZKTkpK)m4 zcV*7QL3zm=zOns1)t<=wC~M=yg^JOyHcIssKVuHzi$3-J#g62w(XY1eOx2vuvRgrf zdD_IA=Vwhae$=!$aF*WD={#ARv;AhAYG>;>vEiGG@^yod81qopdp?Y@ldHu=l;?f2 z53#$nc*2v;pX+b>Nf#IFnl9ZZ!BwhUy5L!(#YT6A$eJtjL#OUjwb-)TBiu5RD|LbE zx{h8QPu~xZ9y40-6{Kh|%zw%K_NKkVg1@5Q3qA#2P5rFpx=Xt!Y{OKkv!|zD(Vkn> zBKzoByRTE}rwhv-2!C`sbNtX^{f-v4iA9^{$DQA@a`M$GkEu0x7jW<|5?-!q{8GCp zwz?_g$ib~wCJP@Ddr|Jh)z@{Ts#W+o7mw+Fsk`%*#+<fSJQ=O$nqTy6@sd+B_q;oG z^wNirm)0A$itSJiUHR-nShA+TBGWA^n6I!(y%38F4_+L7XzT0Lde2~ii*qmJEpHS3 zk(&3aG$4H1>hDe_R#WF+Ont3&KUHw;krh8#^zzT7EZ6IL9PPBR(W>wC+;@&K*?YO9 zKZk$Sy5rumLj1-0x|TJYFRa;gdXe>#VvXMDNt4uPWJbDcYVm(N^jovvX#1Yc0j_)U zpR8H`;bzg^H+xI9>`z@`lW~+ju6woXhikXj_O+WLykqkPw6znjEGqi5X^-K8z(uFM z@5Z=1XLV4S&%=87NowsB;dKG~9mHNtQHe8g_j8O$dVV$H#)}L4uQE<>=-DUY9+LZ1 zi~r}8y40kqwU^gUJz4CrXKL3qGokHspGYm49~rh^TgN%LY-{O>#a16RW<E`^bX~XO z&BYu=&J(fni*_8UoUrH;TY`psD7Sy;^hGD?i)MVDu*Sx4(mf`ncd9Z{X^E-Jx_@7N zY<v5zdvwPxgZgtKc|TYCzFAVVv9-g<$}b~f<CW!nk)qf6Rw*=|jei#Q{^W@hTk@x# zVqLSdMmN4-`T9iT$2$vx*eC7yG<8l%-<iFl`+}D6D{%cj*L82xz7y}BpDlPj>91JT zGxo&B%2T0RA~W~4R^9aMdAG)9x?R@cWf{@u!s4{IOkEzTd?ex2_9d%(HoLUVd2c&u zyH9V<uA=xCJx7Y2r>jnxR5bPc=IV=?PcCfkKg->HNjz5Y`mC2rrv6g4d9YCO(7hjP zwV3`q4_zK;JHJwkJN@K~yXj&M6??qD2G-Bof7YjJQu~#nV7-46M9-y%+E1VKqGW1a z<)L|r#m~6@2FxqEATCyEGVjFe%J@Z=sdHBM8b=hIom}%hZ^>G#LwC(CoxD`jvbsv= zbJ3aq48bAXf0ViQ?$VjKWkNAm!6QDgR<>uxVNVt>^LqYb!=pT1=Meu{GvzOH)n(bG ztWc^H2)7RvWS_HgzCp)HpV{0GBewQl5UKG#bzxRjgzm+<rKwNW{tIoqWS-A;`O2Xq zv9ip&)rwB8T&ClDK&vKd@}karKc-Lfy7q!gq2>a+uGfZ7nE?+j{)||YWHe#V#6H>3 zX}Tt@?OmU^ukDNyJrh6aQq{NGi%(Z*8(H3EGAVn(VR<J$l~2JsoMBdn@-MHu5<4d^ zV*0bx)8&}c6K#8MGiwGlwh0@hi<)L!Pm9)?|IB=9`;j8;_u9;Jd(I04)bb~8U$WZt zW`xd{kF0avy$Ianxp#Av&YlLX3ZJM`34Tj0CLdhJbH(JK&2*<cuG8Kcy(&)nV$&iQ ztbe;vqgUh;=d_P$i+$cKp8PD)yF`pd=U?o^GdC|RQfA)l_8}zV)}^o~sWW`<w6Wbi z@@zi;VdjdRDFrV+6}#ArDXwb#6xCk2SW+-iODT7vwwTy2eSuG0M{nkxh>VY3aj0mQ z-ZY7aDQXsftS_xiC^lO1qx~%7AvTAp>eC!OzXnQQRG2FKHKLzS+CY15d5S*&!njK1 zdSmW4f#;%3<160CJMFvF_sr>m$YmR+3s-laH~q#KllHnZY`*FK=`9-U&lb2<UlN_$ zKhdhJGHZL!%&V!-5@jnRJ>`6-p3UMp(a`zfRallq+k#~W4p}nndzxRB5MG=x`_SE^ z<q;NZtaxT^npZo2d7`p_ZeG_ZznZ4qF}ezto~OCQJ|CL9`}iZRJ9`7{HJoZW0_Uqu z*nGJ5(b^=|g$%JO#eTexd#-Mg3F;`!Ioh(ibK+61{|u_%I3}fj&ek|zcB$cSK!%lf zC-+y)#d6wlOf%Cbh97zt5pHkF`u3>x+E#g^#jCbkw^|e=Kh*oE;~?~A!PK7OcGE<? zEw`jL%0?g7D)`g2VfL$#&jyb=j@-PsY2WMRuD@1Z_d9ud(Fg9h7n3KPIOe%utiRQw zElfevYW=38-K9IXEaW>TJvmub>weJUWmy*atLDiimR!u6_I&cK9R+jq7Qfai*ll6a z)oFj3L&mN}yC#z5@_&YGr^<6aW=@ACwx>8vP+#cq@L;v+u0_tp*C)+Odg@m^>pbYF z;U|kq9=U&Y^PfAV=Wu@Mzt!K~sQhP0dU{3s*P)Ix>Dm?3J~cG{oV==6+^#G##d3w@ zu@`S9o>wh#H1B5RQa{nK;d$nfMJ8J(-eoV>e6vL^rIpF%K-iD+CHk9wYy1>_&nNw1 z+S)q?6^*_O_m3np@qA{KEa-SP<8rZ>!JfFps?`neTc&=C%%1i4RD+FW^UZG0@RElz zo5JtS^_rOdBt%AHpTb7-hs_)v+h?8pm##W*r_<?}DVdA5uR3phHgUVt{?%<Ea%FFx z*FMzpn73(XjbCK?+$&}Amjoy3Djkt-)oVC$Wp(?!h-#M3Codzty4~a?!saVjv(GA@ zJ7w~dDAoLYq4ExwnTM?#WTwcnJ`R-^OIdsAVa>IArFLB}!^NA!zcMmxZqG=~Q17~~ z^>6OvSq<#oE9Yzp+^cJ(*CT5j;r`u9oc}xP%%IzT39I?^EV!HH6}2^9>{7IA%xgIO zh>_vIYo0qI&(EB);&8k8Gw{6ijG+5%XSLsLco@AuXl=H3M3$n-r(la(@mLZ0t|R(8 z6)UP3mapx~d|9pk_w;<vz;+%>f8&gxOFFq7cWWnDCK`klDt%aP?>hae&%xg777CA2 zw%q498)bZEio2~?(xbDirI|Y;HvDHOVtJ7xvTmM+<M!O|Uio(;<2){%ek1yQ=TzfQ zT(Mnh_p+^D+z8Om4PP~N`mFh9S42La)$qq<uGot+kujB;G8UU$y5m(IN&htvP{~?n zm}I6^RnVGU9F{+E%I#>)sSNcYQ`HrZFrIZRnYl}^*F;<2lqKQ?SC2pMi_J$bw5C-~ z*L_{@5z)@4&9qK*?i0S%Z#vjxU+aI3d2Tv^NpI_ER~G-7ftD$bk<S-6JU^o;ksKMH zTD<J_LfPBat}W(e#S!l9M>dy!Voi}!Hwd$H<CyxdtIk0~cfZrx-8oBB^ITTnu69+Z z72LXI)AT~OPaUTh%`4MNWnMKgJ2tO3ujj8|;eNIC8=@~BELc3_BkPosRtC=5oiSE7 z)?Y0S;61mZ^K%PJ%4;Ffy`mc#iVEVB+T6Up?y5X|aFKwG^|O$YGnzkzW<^`R_jD_L zwth<9j5mLOtH0{rm9>2%V|VA$h+2`FlWvxNud-*Ux%P>wPv=h%{1m^E`)jz=oiz=I z*Q~TztEKjNj(Wz;yF#r~j!(V%H>6v;=&r-Dq+?+c^H%Xl$Mc&S=8EZ`o)GqA&$Lzl z)<vZMUKl^E%j4YJruARmZ20xfP5V=;<$MwSEBaRj_NPvtFf~`K{!XLH`{KYat$%MS zSw7pyS0=FdImhG*v#h?V)(!@J>4WutMT-jMR-D*xk~}Td*q23rXUxx7pZ^RwieFWQ zKfDm(z8{+NCHy?^o8|r{RkIz#%T^p;)b{D#rd_Weh5y{|T48kCX{Y_2b?XnYz1p{o zMVVK6(RU~DyFUC5i>{lu>pVWQQun|m<Ed7%PQP`nVynvh)BiIBEneTTQd0Bhp)*r| z>Ff=W^~<s=kH3AS&FKRN$MGfWO<aDhoH;S6?a!w}I_p1a>nmy>zPfj271QSMQ{p1* zX*c4!D!F;Z-dpcjv-zQx-6}qrwXF5exoRA4g)~a<WR*8@KUtO1SNWvcLgwRX)#;1& zY5#Bxa9^_gK6i}1c8i@Zx4&zJ*{*XJ6E+)Ju;^?GY;B)?JR#d4CSKfx<<~dy(@Ror zI6Rv6(C^uuJK@H1s^9yvKL1Q8b3daKQFAX$An``(4l#A}(!;ZU>#J~d&kgy@G@ozb z!4%1#sfmZ5EY@2kWwPtcFV=Qn(FWmZLOberrq6sBcv{u!Yuqfg+lmL6_IVvX=hbt$ z@jrus*70W>Zd=X>WH$Z&=A4}}_xa7$zZZHJJhWt<_0lX%_p{5_9r25%%d7s<ocUt? zi}iLMLU&JYy7Wg;V$0k&>~^Q4t_M}#TwPKhSm^dEZ=t%c=$|O3Iq{b)b^du>%gI_& z<@9XB<eaFCMQMLr)-0dsbl_k4Zqp0aEqWUN)}7vAJbA<FU+cX^ug?fF_&RBw$14%f z7f$ET`qg=#U!J^CUdPcxoVhCazR_KsjY8(1bu?_3E&Q`&^+e-B+unbxJK|FcE8G%2 z<uARAzWwLSBDI^Xfd{fP;-<y;9$vt^KXLCCq2-YqBmFJ3?X@*uEm&^A+*G8>k#ThC zHTeY*(<4qs*ZJ+zu+j;9w4pGDvDt|~bxGcbDJdS3kF?kv)*PP^y=dy!f{3idbB+nY z%@T92Wjz*S-f>;`wQRzQ@(UWL=d9V-xijmuae~+RSdqHa1kMWrd#=1{_&8DZw35}7 zT$>Kf2RmZ28jBh4o;~Q}uD0M}kA>Z*B@r?Qx!h0s+dLF_@2#W8uf(3_oBwK~iRaM* z*U3>FJ0>I+8y1O7a&B`_=Sw=u_9cL)C;Ua@OyLaev+RGYG-cK-yjZuY&Oyi5mZjCU zB=XLu$lbrYPM><E^k-UKhs23|$%tR~L^oaZ)al%Nb$#s(?Gtyj`z^F?@^a<WgmWeA zoV=S|b=CYS`kVSM3V!97V}EDXGwB~Exg7p2;QH`1iOpN%Y0mY#oHNv}Mc>@=&P01h zy_ZgLV{=B<>2`B3@&2|`kI!sm`;m0saw^NOL#@T~Tr&?}Tv+^M*AI`2G3RHz`Ok1N zO8W1LTQ%3zd0HEs^gBG<>=ONI9w?ekoEcELW?wgtcY5W5wZ$7VBGLsu1<IAhS{r?` z2&vmU-Ci}fs6=~5iQy`pW}B;jS-z##>aF*e4|+4%|L6oopJ|^2I{q^pHR%hNoiXcX zp90q@<&LS-W}1pU+`ZLD;pVdMQOol!*Iwq@_VI^9%zhpH+nWWf|2*~H8L{Qr0^K{t zmU}Ii8M=PZeY4#4n?~yHOfH@kzw~dYHMcNTuAW=rHKT9R-pYks@AUsHTowC5+?VU` z)SsFsJ_Xw~td0<_&^DG6V!HRBSEPTIL}k8LL%!vNO%KJ3z4)F_<d{6qV%MYM{VS_( zonE&@L;ck0(ldV!hhA7MFM8|gtB&U9VsXOiRj=5sIRhEiUtm?%TUFO+A?<KZ;Fq3~ zWnx6zE7j#<O9b|7<fpdPoSGf;BE*Gb>$RD&@wVcMORqnBwPT-mSG|sA=L?aV6K~G_ z68)`zLFdcKh}4Nwzq73FJAbjrp*Z-o(~{#eVr{%F_ob}<^kkXMw6NKW>nFOITJDti zd8kSMBUArVvA|DUx1>Fsqwg#<uJ2fT_r;SX_ndxDN#ML#na-7WJ8Q{#cdy>U6t6j7 zcw_8*!vw3hn!GPzthyDFZ8^32RL7Yc>I|kES?eMnDoWhlFZ?x}`3%qH^-oi?S4tG0 zSvDcZEnrcR=D8k*h%KUr?z`@}x?9#EQ1Fb?L&-E@H`(0Ih^_4p5AEvd6D_nk8TB>W zYrpMfF1rcq^J*vRzh)GcTbgvf+Qj(Y!%Z8n&-$}5S?ln*z==on(l@1_S#Rf6{3J2v zK*kl#SA9#e+QU7IzHVL^JuTb%b!p}4Bg;QWdR%!QDP5W9R+oLb)S>5lr}pxIj<`sH z*=8mACd=+C7GL#=>7L;-JH8@IB!9kZ_hGH$o+tC>zuq*v!+L|rH~v-gCu%N_+_QSm znG~tLd3!duPQU0<IicV1EW?^SOZ}Sy`6u)?W-Fd54*R+0{G?NrOiR~Z*Ko0@m?C*L zG577PlWwzCKG9FT^2{Of_>5T2lQwRZWmOUDzXZ#*Z-}gWWfi^o&8`LfOO%<PZN9D% zu{2xd*`BVy;V)*MDRFyvT;xg1=RK_70^1nMKI#QCFL01w)OMhGhUNmxwLK@fZSz?Z z)z3`bb*FXLVk@&(o?GHhck3$p-%bA#R`_W5bmuv%W$&^m)?BOXy|DJ&6V}<@rNX7> zidyo!Ot_R!3i+NlTb_8=N@!8?Os?Du7Awr>8C_cZYEj8qH_h#;vUy9B?1cAR5OM8u z5b?A~c;|7}gy&Df+P7Df%f#veZ@%8Ky{9Pn_^I%BYiicsv^vA~%{}znRC~_7({IKJ z`#iHqOkzKwV^F@|bfQ{FQQkuNm+_ZwYtDChylkO^;ZKjS>z%284=hkA*_L%@-5T|& z7i|OOO|2N#*)nz7b@N}}bWS$rtJtdt8xxP_F@BFNEl-Pl7AE{6{BHUSkw?Fj?&O=D zFm%_;);F<V^*}fGqUE)R@!9$@Q{>-e#EQ*GQwytn(eN_WFk@3w(w*skE4sgKdilst zcfy@W(eG~_WY;N0EnIdZzqGjTTEn71J^oV{N@K0oD4bXKQV@8T$C~;zJT~q0MTzJO zC(LxU68FsV+Q;*@(f^9*(e}x^m31OZU1XfaIkS}a%s4Tz)cli+#>dJvs)y|u?o1D@ zj`urz@tKplb&Pha;FG<f`?9NF%#}3#bU|e622**V#=|mG7-hZwioX&mKA~LiI`^y5 zhM7vB+c!>qezC5|ETZ|Z<r>S+ElG#;?w!Ay^m_J`-rM&?k0p1kk@?bkJzO*VXWvP? zt|ZHK+3OX;U#xwt{axESJ9SE&n7y-hQBr=#`W*qgihOksPUll)Nj;$x-X1ZbIa#8Q z#p5d@|Jo^uJFaM-t7KXbeb%LF^)CIHT<Y@Ar4~O=SZ*qB`fGv1wZCESG|JqJ;-c1u zm0jaH|6+R}+qVra8PD#tzTC~>zDiloTO>}|w4;Y*&Y{yMJ+{8T;jSvF(Q|g)-0Kcv zU)&lr=l*ACVdWJtnbh+qoLjJrM{@V9X(_Hx9j-exFF(O5to*R=?92T;ItQLJCT6F7 zSFC7%=6i|vaj4?1yFUJ&Vf&55qT*g;pJ?%Tn&4$IlmExk)MW*;SU<{hU0$IYbM&X4 zvsl2U?Lo_ur-#m|Y<*b~U)oVCsJipj^0qrHi^cwi>@K`zB6|1<(>>!0I#yZAChr-P z3zvG&Q7X48bDNkMYpH)x){?d6%8!n-9#YG<&p0WZnXudGr8tXTfS%LV^@^@L);XO% z>v*(1K;TYB@!Ae;@pKkb+gXO&4Epz6d(-mf`JweQPcpALBHF%3VwS$t!iUeSRfMf} zw9ZTW6#gP~pU$26HqI8oryE+2cCU!~rL*2_*Y;J7>s*#62}HeM<c`vN`f|$Ztq<=s z1XV`pyIw!A<n|n0e`Ai5_7fK<v!9GPKO-_Td&SQ~Otp@YyM=Y6EW-TkIbGM6Nv1wz zoO-1%(yLc_^PBWd`t1&z_P3rk-Sak=L!flWRCygQt2?KrOZ+*ad)elST$$~>SdlNg zrv3fR7hue?I`wRQxIozNW%DYvd&BupEUpQv)O5StZNdG;eST~0)!Wl1_5WSve?|XV z=w3r<?cH&LlbT<+r%!NUJUX$pOMlG*znzUYUslF1V!y1~x#x{Tpx_18!cSUNd8g(a zSLlhovAL+{`K-?FCtHG^Gymj>-2QBl%jb+(<<j&o0UjIf9x@JM`OH%0w&z+^%8vRy zTScFA%-ELd@L_iAH0>DHT({R@<ria~uKDIStM!>K*PVBBCp>GqTWHHIy0-d}*174~ zvhDnQ6I$15J$ra9{?+>b3`Mg`rk>;tpO<+^ow4abSf276jh~{~w_drQjJDj>`h7}$ z=-Dd$m_yqIEKlvfSRA)&z2aHEK*h>#fp%Z^^cj;D*{w>`P1HK(H|?yXx;|&*e}<V6 z^8=R2{&h^XbB(LHQhTa#?}>%;YJxT$y)ae(yjZ{@z2ZX)(yvBe6K>e3Y?_!*zHTw+ z;YTGae(L+3^XQ+W{huL2Tj$oAt$_;JDr>%MnqYiJr>9tpEsHykE#b*pmig_jMTW&1 z%`ccv{nG9?70O-U5|Q^x<oE*a?_5=pj$a#B&5NC8cJ0*Z`F>}XGX6^_jsG39e42yy z>x=FuU9yjObzHg@sJ^Oy?(}6{Z_it=Q8q{l`{CkY^Jcl<s-N2YPMhRSUoA2J9TwTM zu<F&WIbF<8xvLFw)){fUyLod)xSd}MgV>y>ZtuUV|BE?fTQpVpNup2Eet}q%O?%H- zPZHo>{xs(2${Ds!+waC3t&=r8w0v5ui2LjbDz|bJlV%uC(foNbTwbC7-Tr{}pMsXp zSIvuF@i#24Bk4KoLII=0m0?mT>lQuxB>L~PzRAl^1=0KDv{$DtS^ekGmYQq9S5ME9 z%eKwES~`1W@3q~%wM%6dAKCTCsFU}T_B%26Qz0)p4mlj2^R2c$<#rom<lg}Gi+sT; zev^5HmONcBRpmxT!|aKP9OuPVYYZhdxpm8Da~_E2OLbvZcUW#+6d?MaVVCG$(YZ3y zYMf13e9}wP(-&EtTk)U4_t5WkHIFwiNa>g61>`lS9iH)a|KFntQge1LmWd5s!hc@T z{l-G`xa7@WW#@H$+dEBo&b`;yLx1gbw>hIHoL+O~@AS1#77AYw+TeN2&Fe>1Vu0tL z^+!{uZkasm-u{V!XBI!@Tojvjb0PC|gZ-|_&$+&Dozph`oQTX~g~hKnTa>UY*V)%` zeqq?eb24i>B`cb~M3f#*XwYRdQgv6(c(d^f_k4BjBN<GaH;ZrL7U%od_59Rnn_a8# z)=r<%%J8IoiB6PPO3~&Ju3mvsZhsf{Q0Avx^`Ucby`HL8bvOEAT=LOYZka!h?nftb z{adi!xa5ZQ<~{2YY`3c>ZQ&Q1SGl@4T<OKhPkEiQw=+Ex3skpwbKYm79=o<cn8b{0 zVPQSjt<NkhdMte|rr*@+wbmt;indjDOA8a*ZnXNB%f0J9awEod3Acc_=l;;;tB$_x zsy4h~!rc_?Z|C)I!p?7rKRe^ocBVg5bopQwcO&QmgR<Jx4#{UX!j2!-YuJ1_B!%~% zFxR8<%4IVq`OfJRd+&RFx{5>jtmkJA{S995@?_k%t97SrLs(yI{S@|7_~xt~pKa&m zof6&jDoi$6CHcvM*Rz^mbQ~3&^*6jrU7d9bZ(_uwyq0z0_tLbNpV%m)3c4TtZ|FbA z#4EF>p6Bzpe6oFF@O6W=ySuxXj9v=w;tXta`px=8KxNlY6W#lha(mCDwC;(LJG19j z;Nip-QwzSb+;-IPo_lqHLb^?ZR!r$b#>lGJv=<%itTmIP&*W__oz1%U-1V?~Pr1*x z%ne@NePqwkH4SQE`%>#x3w{ZE^r1av`|P@$pc}j&C+(;Wzv()cZ=d3%vrF5R4lLKv znKo(r&Kru?RaiG)Sbw1<e{I*cO3U~V$HHw(^!F$4U#-fwF?#VCr+v%L@x=({WyF~A z9yduoI!{zzV$U%zhuq$tMIWbWPu*u;rDOk;MKS5~qk=HOi>Fx9_jGiy8!#!0*)=jR zNeOv)@}{ND`5904ox1trX~&&8*WOw@<#M-u5aO||+h?<?=c5Z=XPK|^uUYis&JT}! zn(OvF+8tFC(Oi&_d(y_sf#F=iT&d!?38@hxkN0+qy$+dO7dqMf8DsjtfUO%Y`X9TO zb?9S(pw-zavc_7E@>dmhCpgTXwSD2+{#9Flu4J<EPk*z$e7V_L?}j}qdyY<IyL0XR z)ym?CldSid?kca)kU6(x#nVNl{oZ;T%a(0PHxt^(V(@u~`?ojeFHC)1x+8I~Q}Wjj zi=WRr|7?HgDc3oREuQuCM7S>At{<>T&NZS+Q(nv~zvk4-g#kSMs`Dyua$LMSxo%n5 z$DiLm)@N<MzM(e!may~r*|XNXu}kDWzv$e>lX*L~uR40NZd3o=coV0)ecNLWp3t7Z zXbQWYDf6?%@7jGuIzOp0J$$k6VEm-BDK!f#HtpbZZ2NxJLp;dy+#zF^r&0p@UDsqS z4={c+NqvF#lGuWz`DZp=Dh_)#%T30`fzh%5EMwm53AU53@;u8^jlXJn_VCWby$l{R z?lWi#w)5q3-P)$;Am_lUxc$QF*K?<yIR219yK3=;_nP8X4edtz4n{@2b4*>kMB{wb z)4HyE)51<hWS9P4f6?r%?nlY^HOr2~Ue|gY@?*n{sq?Rz-fYTqy1sg;%l$)-td-x1 z9zEu|R6sXdRNkbrVkx82*#^aezNIeNj{*YcWpOgyZkhUW(e{fG_gxKZL;AZ_jm0jk zetPCxX{$}|^;p%qhDH8IXK2iuy?B<`i5Sso(otUL<4&AkwRvBc-KxiaXSDcguFYG0 zTGf(i{rN+S-{~!8OE`4;cZk5|^Tyo53ojTIgfm+o2ySmzT6put_9&a{v-3903u}F3 zzCr7erAMsIly-kr;ku&6p3Re%IL+vHt)CHSy=VHmw^vrr{KT!B7rwS@uBHCg-3&+P zIjs1pb9~l`^GBTiGq`@!dLn)6^zXd=4%W({ueR5vN}NhOu;S&c$+ls#l^XJ<_J%j> zz4dh#7EJfpnd$p)>D;Ae-)6Vge`ZaTO-#LbD%o4NW?E!X+_cswIwEqBhkA6Ck7lnt z+`dF(ipO*}H!(MlXPcE?SJVf)WzSdG?{L*-r}lhRCZj!5AAZU@&JwQ~Um3sXN3@kj z{>k{OE~SjZ*G@e@_sZVo^f6<GmD_k7IF4C<6l%Y`>iJnATXt23l>8u(7nbW}b5jco z=T12~fkiO)gPYfZ*|(%x_*FZaYZGJ7&2`NBs~S-sSa{Yg(fxvU_l}$PvtzT%+;v6o zSec36j9vGV!(Za8%e~@QOT|;kLMQ6dc4%zVn4`$EVD3$hJE=uZ_Y3u|IsNq#{P5oC zxAxi34U3mv-E>`e3df9{+~0%vDo?ntTg|7);IhDdp~Is~r<C=y*F^QzOndvbB39(w z?n?p^=^Ps^SryzZwcpB4p7WIZeP^Z2soyhQo}XQN)upO+eaN+jGscx!4Qk(ZWgIR~ zWsJH%L&4=~f>B_LJ)h&TQ@JlT%qzMP_$Ag-FZsxlhzya3>EBt^*uSj2zd127^)q*o z{W5F2<D2xKIZc|)d`<XF=7h5zdtR)2eMEDHMUGd-Gh_F83tj$9f2q-U?o<EO=vVt* z3!X4H-Q{@AX_Bs)L$Q_Ko@?(_>m%Z}N9>B@`W>5Ux7s!=JG$FU{AOa0O1f%(;@xKp zH#UnNS#c;m^a#HNx4p{ED|vT$-y1acYxoHtd#Uy3%DVbX0{3R$&`#s3+%rARsjXwq zta;pSnpdy8E&RkYXYy?2Co^~-o3Iq@HkH!;r5}C3adG9vot8Rkh4Ykllx%E?-esQS z#C-Iu=hKX<=}!b3#m_o7%x}@P@(4DpSr}z}H6r?~j|KB8gPPM#$}+uPJC$c}`@eN! zlX!V^a{bOkOREE>a%~ruKjYf)dDl^c%GM4$4>Q%6^NZA#SGCssaZqo&70v2ab1gpZ z+~jJVg;g5jjYWYa?>+^dtx_;9xmRtx-y-@>)q$W~E79+*zt@MJ_#Ad6X2smRsNh*V z+YfQZFZ!*2LG+sjkAdgoDX-6@B}UsihFy#<$=YhRF}RK6qfn=P2>$|SeM>hF@rSL2 zs|+6nKRleM&B4sC6uN-Vo2PG~(8DehR_S`5b*mo7X}X;MyNa!NX5`ZeE`BpxJs2NO zs$64Ol=rAZ@T!&n1lfsF&o=+kc`L<p&HvxC^=~&u^>?1tDolOI82vD2=lu=FN)NNO zXXbak=9oWgPW0up-mnk*T0|@>roH$wbx-c2)(*k;DGS@~3w!NniJAI*PHQU5c76qs z(<gLJ#$OWsF@^W}oEClMVy^V+$TySH7rf!qx4gSnJYumef0~}$()6`w)E{0b)c(;n zOTS~g(bBEzk5cqzdBmr_t_Zk$?a?HzZC)G`udMmcuub$LFAL{x&#Q%rpSfa^KDMx2 zFB0sYRnYDy$zPNc{fKqvYAdVO`gx*7Hcis^f|d)UYhI0auGW|@az^{_6>-OIAu;vo z((g8lPMM%QMf1bMhe15Wo9^oMGI9vr$kWV}T3zAy>%%XWn(aC3Pn$jo|E2Lulku)< zg!E@^iziQ?<T*W>`9WZ@{u!sEYLBit<nMc774bqwVa2a9{;SbfeXqPcnO1Wk{>9oA zdzSS#oCyB8{nX?q4BW12pC7tR>+ADX-Q#qQ%lK8ef>F>N=IZLoWP6c>*7LKb7O->+ z1Q%wn(5fqoPpO-*d0UgXNYSQ!JIjimgmAvr{?DKptM=MnTf0_7vUw)Ay+{12BOb~} zuI9hxlF>6|jlUS}votpS#rl^TCqHSu{t{c5vG`RWgLlIT(Q0k)szW<v9kfr++B8|# zf%|*#S$DhI$-lIpa@|U~u;l))Y43s-$7LP=b9b8IlO=AE7RqMjDvl4CU#-hCZfy@x z<2wH&;F{~47VhG(ld0=FR(EHpy5Drv>%5@XZ7DCv^=qZnGs~6oDvbI^#Tb_T{OrqT zeejxMddGrv;aPXDN-z3-sVM&LqU}1@mv{Q~&r)MNI(uovU%|udWtXaTHat{fJ?wS* zTDAQrF6PY!AJ5iy1WrliI($Xu>h;?j^3Fb3kT1CB(&p2XUW;?v8-)I6IK}nyYDDD% zkLwB|CjCl1_kQYie+jd{#P#P^YqHAcfOKo^$XgTEp8B-@)X~(h;nKGpBYl6aI9$AD z@w89R^TkbHE_`#M#IWviy~mp$xwC$kM(px&nz#F4UU$Q;qi;5yp0uxG=i-{)9?c`H zYZUo+WhgY81=)u5Me1MPWEZr4+N#4RYp=*wYJU#jAChu>(WyUICYtRjllgP%@AP-e ziZ59kUAqv{UBt>%8*cLENUEZYph{He-w@AJo{_KjDq8*XIKD>X$-3KTW`uuj&0n-H zX2Qg;!FGv0nMc;Y2!Ayzq0d{_=*Zsidt4h%&y37W)_VPJ@$(yewOmintm&)St-kb7 z|Eldb1*h<N&yNTaTOB8H(#7hJwua1Zwd86g!5zH{Yk4=t*gxeiZK(-ZV0kw||IW(B zNj;Be{no#j`sAnMy1na|j<7Eb-YZ-Y<d?3rVa{@c4b3mLZS>|`{nssiPITv8nKycS zb$0cfI(@eE$&xCM0LGnHzNP3CE4|3~H*;!|Q&tc(ei(S^^~D(fSxq(*=1ETX%e<dD z+u_O1xa)5DXY{?5tG{UTbN-mfcv-P7;w0~Z9%rB1LL0sYC_h>7LPb;S)$>!QlFRv1 z*VeuW|H9~h*FRb!xO#WRso$R>GZRW(qP1s)$*azLKdIbsa#-}ONz0#e>?+-R<?n9( zS!QS6t-gP;DkY>ZoOAJnla9=Msr7HU-<Bj_WE8t{s$)Z5(4vyPQ@D#;pH7`Jacv{l ze+E~<`Jo-N`8mQZyHEW+^vq76XVMLE22H6srzVv=Sy$5$pn5mN^?6rFi!QHZ<HTUW z6Z)@ePj%n8Wv#yG!toZ3pYG|B^Bgpj4=+F5T6LqfeOb1>>a@JOeC9D0yF?z^1uZ?0 z&dacTe$U<dvR5<D+~)eSOCaUg>)^X(i8&Td#f621OndC79u$;{nKXNeUfEes{!fW< z+qkbQ^!*gbyAk%4!(Q<)Z+r>s(eLYv_J>GcJLn)+9{<}*KzU7C?_Q56#hNQScB@`L ztQd3f#pbUr2Uxdd6i+#GFi`3_*TwRDua^sAgZq!Ync|(KBUY!Om?!z->i4O<lTQi9 z@QJ&9h@UR@xO11yDZ{U>sb9k9D>U-ndlGI?;}KVRFg$1Lq3;fL(aY}JEKxW4cxI-< znf$2N+F4%PFXqjErOS1hIWBv-k?1Ge-n}2Af}36cq)eT-t=A#(@TubXU5v-uJ{^0u z?B@-!H3#@Viporn>+)cEt=%lHw)Lh0`-wHdiE~)eu1!gK*8AabafR=>Qh^0g{;RAv z%L_y=`=_lvQ*eO;Z|q5zCkc~6nm@hSzDlt2Y~C+ci|F0Qq>9`sqfRdDld(Rs)$^-@ zcK<9TX(^4@b2L=a70+t3R8E|=@$RL7*AungF$k9!ZF5jQf6~ER(R06naQ;lEk7u0r zU-WY-vYk;Ew4m8=*Ms%8A*CCiZQbc0CbK3r+A=D2*Ar*I${A<lTg)DXm?f_|Q8T4m zbN;G%Q99FCP2PRRlHs+-U6b3hIzCM;z0fm(;c%%z%Q@kh++SnjCbaI~Av*E%)as)6 zOLv;~&05WPrPXk~ij=JN&XvE`E%>9Y<hFL|;U~LJZLo=&`Yp(Hzh*pxoYMB9=iKF& zxDGvM+oj*3JtuHQkeye-e3OeGHG(YfM%&72`S+aJS?ss}i${>R?;0k)x%yfM7*{tL zJS<L^JMr|Q+p2>z@4dEv+wzhn@3ZrsnQ~$+Ql@e${~2sAuev*1_GJLiFXf-nMLUb# zZbiMk{F0kZx&P1`jnnypiY{C4dA|M6V0_i$1Fz`0^jSR-RTCB@-!<e7G@C7>dGmhD z<Vp7wdKtOj?ajL&A~v(&?xZEPSA<e#9_BXvr4e4fL{mohgbv%=qXkTrg}L+7Sg!k? zT_h5{sLA+5Ys;q%8n@4RJ*+5eJXpNVF{1xvOY+o*E=NBFH+{~2)_OQuRXMm|nR#DB ztoh^az06j3oaXtRSuD5E{bcErSxLHOt7k}YII%^>Ce44vpj|7-V7_MCD|3G1Rq7sh zGr2y@y=<`I(90FUUu~yvH)q(M|6)=3)*Qv^IXAia%I|L4+2^^zFDv#-#C|hxYw<hl z=A7EDb3L9Tux^RA@H4MN&MhfVe@$W3Wl~Ku+V%X&%AE&q$gb-a-F$Ls?8cklBbl$P z|KgbXnaiZ->b_K$pA!VORcRR7a_taY7<gJ$x#0Y&GrvTCt)6f6s6obXkJo<&*Ll+f z))=2$^+^9?nUHcx+M~rHMeb+QUxjwORE(atR9;2lM;=E|{;S20tXEknUw9|bKlP#M z{-DhhpDkXOrGB_<0mHp3)0HKK)-94qH*!zix5_G2>rRwt=Pv6m;iTWY--bQ<D6V<o z)#8UI4n6HQ<~}UAC#-CSSoqiI4UfCbn|3sxP(Hz}dGB88ngzF*X7-;7v^DQ~CVJ$j zvYgtTb$dnT>~UE0rYdE*>#udYR?j}qld-TclPiB-g5Io~5?f}oxD~Ft_cW<9=b@yg z*%2M5xnhAQg!a4Uhn^SM7*!&)y}#W+q*-R6|5=ZxtNz@Y`g@9AmFQ*f)iqN;e-3)f zdb!~9&z7p*0|M%key?EsEH1G8Nw}}en#U(}Z4Sn-YM$4cD(C2a;!tsJt%no;%*bC( zGf!J`J%6$9^`-0arRs6#bwzjThqgZpe<f0MDlGVFW?i<=rm52^4+MV-Y&{!xde)Yz z*8Iq@%UxkXYd^P2RxSRrOXXAWWmn;*Zv}q?a*t$PoOQJ0sfxbh9<OOn*XTztuZy{U zNJdw+^lH(k2+ymIr*cAyx%hR(rzNH&C3v3oSDdx2&RhJFz_o7~4q}WKpO((kj9(C0 zsnfjYqP<JX&(`OY6l$h6yn2*>bNWn|`_}qb>-~~9Px^9Z^{-Q#V_)re+Hh?5G4UJ6 zQ<$Hpl-GK`xyNR@>6C52mLjf0F52&!Cj^MUSsHI|YFM#RFMxU136}#Kwy9jQvp!|` zxm9qlcx!!xLrvtQ{Uw)doE6r8jw%g1@3g&r%1VVhk&`xEo^<!$%RsBA-0wEGEoYu_ zMzJ>MY4+{yZx##ecNKoIzRg}st@zA}vfxEcH9<0=^VRf}RbNkV`p=+J^Ha}#rr!&l zy{dIxr@y$btDPqNVd~M$4T`n1mKmHY2;q1AwffypeVeDLpR^S(oH~DwOCj|nuOZLD zurE{C&xQVc*4KWRwOD=DzU7D3C9iZy++kK2SwA7xEvC6iknKaxBIT)5{)$Z9WnP)J zpm@`4KHpfI-Mpux^m%;^^2?l9&+hBj`m>!=YNg%Y5V<meCF>1l?_%AY=~Vn|!RJj+ z|7ytmWLg(HFClB=1dATA)$`xE|GODzeuZJ-eZOPVK5q!Locl*x-MwAv@5Mu#6plVw zX?$hso(Io9b0wUvVASqD8+pC=$>kF_-8N5ZD&0J5UHsI0d5te`zMQgt&$7nXB{iS9 z-e%str);`Qd4c8u-tx|vU280Cg5<<nwksXl_o}4#f_TTR6SX0h{pUNL?D^ERcwTnJ z@sQh%lCcrLR?p4vjPRdjKXr4bjkGL}=ES)T!D8x`&Yn&wvZ2@NoWw<Bg@436oYi3P zCnBJ&PkYOvIv3H`MInrPwf-~s9jYq}TJoPEBP>d6&vUH<Rib$Z=d@0nxJOJzDcyL{ zx#S}~J?C0$XN9mA7Mj-1dVKii?-r>NNzr-Ro4V(?emW%b`c$wi+qrvOzf!e~=RDEa zkaIdrlaJ@>Y5~cfrYA}deWHw}`sJruow>jHd-NSC6OBuzab29BS&Jj8(zd%)s-0%x zY0+e|*U)meJHKh~FP7vu)z_1rzF7XsY3G?|VKP;o26Od3si;jhliuNU`ck-mi=ukN zEzw)jcV`~B+AU%o)~fsO!PCxj)yfaKj$fJjYwD#u%f&}87CV$~`YZObd7<{thR=6{ zWU3lOlnUlVot{<}>GL(nrR2?DC&BisRnOL>B<)%GeAdSK2HV%&JfZu5<HJp#t-Tjd zJgKzIuP<m#Hs87_F74E%%7!a>l2UFN9Cr>c2s1vT^Y(+Ng7N2MjXx1<Hk>o4Nl<%l zA#rzC=j>M-Gk63R-pHSj^n0~i^&tV7Qwpu!>zudU`IL3}r1M_}jl?{)9|tc+<heD* z{F-XKd$A%@p?_z)t9<Bhjh`!|n{@aS^m^8azgn>IoZ)1z$-Za%J9!N{6_nhq88%GH zpP1CVzVl$}v&~_wcV@|KpAp&aE^27D^~&ytJ5(L_ylU)Ub@=Rc#k$w}t4@0#nt3m; zEUxA{hxtyo19f>>(YvHn=4BO4JHxcsC@g0;KhGM)OD8w9ChhucJ6*Ea<=nqEoz0i4 zPCV}^*d<oESnZ#n<T{BLJ<PAd#CEQ`^N`g;V!6SVZ9(nxT0KtXa{t<~)U<Wc`Q3A# z=C5>+-aP5O=Dhb480-4Dg)4qGFS@(;k5h2xhv(eWRe!CCPw_CWZq+LjTsrNIcCFK) zhp#SmJZ$_NGiA;e-Y_*wi#7jTqc0W(UN-gnC-N?Dv(r4^U8VmSmYw)&UR3+_oJi4G z{}&tC&RbY&yL&&|;6BsM^4*SQpT#p{(<lAC_9l2=@gl~Sk1;!96Lkx>?ppCvo2T_v zuYhvvu_Ge6e>JxoT6&ewd!gO_tW9UbleLe`SRE?&Ijo$0^pw=?P{a0_b0)AbD$mQ- zy_f2{Uw2yE=9^P0HD}yCB{DU+)=MZhaZXyJam}F(!B!Pho|v@SC+w(mw6cs{%Ke`q zII!S^w9aSo*4=w^118j5{409km59i}qNs#N9No7qxxa<|dlYct)TzH*c@h#fE(;Ai z?i?zaadj2L7ugvuY5PtkJy@CNZm>QtAbe5(s%-%qHb1;qb+=4A@?3s$$|kAXTb4cg zu}190{Ls9rsdBo(rF>;8wpdt~9SS`rEZ{VMhSp)_0;b7_iVPNA-+D@@rfKrJpe4mF zjYbA@RO2^W2v5`&KXFQW`AR+4O@*#qbFX*oj=TDc)$m#P&8%>}pjkH`m7We{IQ!;- z$T8oIt=XRU1aGESt*{qazk|c!)0D(ZrU83J+<ech_}P+l+VbCmElhdgcl}SszX<2u zVsrgP;M_``KO5J(8rE`s3KqMv&aF7Aa_Zq%`-?VhSC#O0+8N2Y?Oo80!cPpVKW!5K z8p!QG>wIT@?)sbO7quGy3!QuFZ}_`?7v>AuNk3cTr?ElR-Dm1;<+D|>b*I0(&+G7C zbm`~Gxb4B8xF>xL(_S}e&rVIb)%vfvl66IoMS9I!Z672S7i1hR^|5uAUG2P?P72*~ zdURZVIqmowd3<7|o@m9NgC$c7?7Un)PgT0U_sXB^cTGN-z3Tbw{5rMpX=>$*o<E1= zBem{)ij&UPyu7YMc-lhwGdbecpTd8x<DZ^#;M^tA124J!zq2MTTQPr<x?Yymjj3Gj zCpq>zJ#mw;YUtg+>Q&XfklvzQr`|hVu4Ov?Yg+KBSC&~DnwJHv{}Q0UaW5ufr$gYR zj!Q@5r#`LEn*Ds1ZAGKQx|#*r$DinFS5Nbe>(;eg`Fw)5tx@azMH5fE9(h=I{$l*R zg;kLy^AvCXQYvJyah_$f=#_$-w1YFh_6p`FdrcyLas<m?c@+L`OTf)nUXPl)ON3{H zZC}LjX?rLy+s)XRS`jBES$1QNqAOFPDl;~nwmaSbdwOiR_1#qEpvChVqy969EM9p< zQ~Yye)%veNZo5~%QLTE{_M}nx=pnC3YDTR`SY9}Fp14_=vMGPc+G{6gxA+OzhA+K7 z;iR9gc?0()#iWFP5k0P_Ijo{WJcTEF73hg4vD=;&{iX48Q7^}?{|tV2K6D1D$-EF+ zEVlhfr}(R@Tz1{>!rt}XRrK+^GUe_y-uIkmE&ixISZS~6(rh**<-Kc*&Y!n8&!0_y z<@DF7=1=r0@4cdP1*g4w^izN9w7Le(Gd~hNXV01TEvjiPm-$|%3N_tXZ7+0Ey^|_; zhc;JRw|<|REvv4&t4O?c_AalQ+YI;g!j&vfsn2M5>FmLk9CIr1u=TyqT*l{1L|F1C zmYZfjalIy_FQuKiGEyh_CC72?Q|D@$%*?nR`(@R!r!C-k!s-60TR_a5A@*_3f;-V` z%rZ1Df6Q25!ha@wUH7HaN>Ob2+;0|f@7%dq^~s_OMvSFbCagdA+PW^0``z+tZKkl| zPC={Baoe~a?))foJ)TSK^Q84J+OL-~pSf3UTdCOE=Dol%!snxphOj;J)SnSdi=TA+ z2(I8r{5kbP_cwoU(TT<%wr`yDPH5L3MbDp;)`iWev1mH)eIW8>vX<E9Zl%S`veYjY z?<?4=6EaEJtyQu}VBd#5@wY_oM29_FXR}1X?$!19RhL&C;VCw}sq%b|qCD^U6pN$p z9HN)qViK9t`9LczwMz41l+~%{S4*EQ+<oLD<IQgzg|XMQzeV`1JDd7i<GAkYH3}S^ zdYSPR&U{giBDUKsW&9M#al9pKqw7D;vk|UexZiBFNL{FP=vGVO*-XBN#Z%AoRfIkk zxzn(&Q1BsFB_HeW^_ym#HrFtdJQ?#-ZQ=~A)qhfMCd}tKqkO&N&`~LuvZ((IGf$j3 zCSAFr&fZM<%cRyv#tb@t6P-8K<!IfTwC}@){jGOA{2L-pRc7wVkKXjWIzaU8N#-?& z`n(qYh@SIm_R~H4uO=$T2`zfOWJSNa@5DR*CTqPv_1(>WXX3KB^8DUH&Yn4o(r%w# z9Q-!D*GqL*23OO8+`XzYHi0`hBWosX+;}fO^~vVlN88iHw)SQ0R9!KzvSEV>XLj1F zQ^|EX?y7SitA1~(f7{9)FTiE=YQxFTnSpu*9rxloI{MFQh0NJArF;8=FecME*IpiY z7dT70S-fXw?bXiL9E_jC_j^QEo!YVC4D0l%)54!~u>IV5`DUWl+fTdN{lBsvwwb!7 zYQcMvqQD9BvKZ&PsATVn+Gy@}K+7&HzV6K86J-)#<GPMlnJ2FDNuLm4Bq^FKwq-T< zIY+V2(Kq&rJ#O(^8!I}Eoq1}DX70Pi!E>~Q-n+iqo?Cq~?AK~;*8@&QGFQwFe_EMw zNWIkm+^Na}&243`TC_h!?0T~At)gSe+|<=R>(-w7v}B>ZE9+z#)uqDMo^Mk4QnH+p z@5e@#sK+)7boNZEztXrNd#%c%>mgg-&Ea0u_&R5rtXjyON#-Y|*8cgWIZ-$%r1Pil z*<zo`X7@6lb;#){c=b1=f7I9MDRa3WFelwkH9tnfCth7o$1c(HvXOYirY}2Urs*%* zzeYPNQ2CkDsarDxFFnyzyUR4!QuCM2r;VE!WTNj(;k_ZQSa(XPGB%<2<)-b7Hja+_ zgTj~(n<=J0*Y-D9|1nL(kI|e@ask_SgIRZ_Cj@`qH0}OpwVnIcKI`6@%6&-f8Q0U= zkmhHi2TnV!eZge^ZR*4Geka2+XYM@GBPlpXd!As?gO&3;ZW{2kwH7=vo@yUry1irN zg(sW7Di*)KSy##WqP3qd(bG=iWcHKgu^}`1Ii`3W{qQ8Q^4TJjtLaNywEv1P+8`Mt zwC~le?3+dF!V-Szg>U(m{%pzYqi_0S7M5I1ea?O9Y1*>VApfpwVN#mCdF^vVbCw${ z*YkMT|IS%3{TajBqI2PKsc8%A_Re4Rd%fqbubaN?PhX$r_2)|eq`%W0bOP-?f-KWE zoS!7U>gT5b*W+EHs|uc-h?HAq9G1dw%DO~P-XKg)z%NB-&ze1(Ha)y{X-jYT&D1Z^ zYj-?p-MWj-<f?m2*YDN><4uM&HcfpqHD~*My}qpLUyJ_6nCr3OFP6{en0h6J>+<yt zm7iRs%^kw+5^EpI>a<kdb*b1KzcKume)NhXR;*{EU(B)7%d&e|dMWguV~SN--RhXN ztT8VOyc+CQzgw28!BlMCu<S-<(~i=+ihetG>PIV2pBTK}#AEL388L<@=7vSZczr#i zGqJ6(SWE5BsY^;vrX>8D;#amYe$&R!n?Bjjsywy#jG}zN+|z+))7Hsf=L|dV6h2A* zJL@U7Z1IaezXW;;&OYDtkjL@<v{QByHo9#rE$*He*8OVpF9o|a5sk?B&|hoXXW7+G z(pmB`!|Urw|GP1jZe4W_+U_BBjY$$!tsMuZJ=ONv)bg?^xitFChQAI$6>YBB&z$C# z^qt$a;#_P|u=~$5D_$0Dc_H@3>i5Nyk_vH`Hb*j^dmT3;a9+)Y9Y>0?<QJWPCTM)5 zDC{T86Vn$Bx(`blwXa6c%J{KKyIO7b)a0dC9%-*Qn|P*_yHB^UwMsASqTf=_tfQ8h z9Ad&9b6;xo&j^;vYg?lptfE<dF(cLS!i!Bd=B$44Q(kpgePG)fZ*MyN%*r0;hf_*k zYPam%^)Tu%PsD=gWkCz>Pg!C4YFWw?m$mnQPd%pn<cj`s_VgR9$1a}G*&F)LOaH>^ z#lqb#1wY*P%y}AD^z>$O@uF$Z#kJpU{u1_Uk%^jzmb&+;L^ERrrHd2G97}#U?f5*Y zJ?5hF9MQQ4PN)}MJ+MM%v#RT-vqiBb%%N7yldP}5YM9aXWKI5}T`zVO2e?mUjdcB` zC)u;)*^-$rwJ&;pHCX&4bmzCo>$BJCd{$-SJa?qE=%&&QucuepeZCY)_-@^_@&1$k zBW|w}#SWPtSzR0YwtBtttorAro!T>HE+@q9^17$G|B~o3wjj|f{Ht_7yhyY--(8w1 z)#-L$#q`;%4@RfL*Iug+l{MDfpgikv&O0w#<4HUAiW&b)6<)fg<J7g;+S{4?^7PMo zK2Obwczm&PZotgXVRA0t^0TLuC0?I2@vx-M{w-4lYh{>NUQZ9*!|xNNc3(u=N@U@6 z)#5MC2a=s<vE3C>x<5@+H{<hE1^-n~+|oq;iiKY|)n1?75cX^8^0P^T&z5xdJQQL~ z-Ja^~rybLG_{-GGi|z_$Pg?s*<oHFK+Y1=0QZ`?nbWVMS>)eO`8I+zaUzf6M2j}F{ zoN!AWTRo<G-5*wb@cW>xUAZ9U1iMnWrkIOGewNdIQ+q{jN6EyjdE0jFdGu`4zP7N4 z2J!5WX;a$|n{jjO%s8X{=b*#YM@M&Xx|jd<43?<ZK6RdtJ!?s?aqH<vx@V)OK23U= z6r3#jsYG4I?{VKt=5|@bWK|Q#f5#TRnCG~{>o@DwSSCBK2R`riF5cw$;aEocbxFs~ zyLb<BU#(2<OfLI5BWI0-Lrse4kuO<-6LX)s70!q>{}r|Q-+^_>7o&eWeQ}DNdazZw zWX^$r_itP6XRD}R^*StnxwKs8(XCd-%|Dl#pL#p>m#9%*5=XFQ+NCw$&IjyI-EsX$ z%#IbmTJKKVb?CyoGaI9RYz>zW%@5kpv+T*5Mb}tsVwQT&Kf~y^cX8PX;T!3ftSw|> zKQhfyKI8TG`nx3&u7^(iY~}mHu$cK$=+{$xUY61}E7dFaSa>z8+jlBtuHUOeDW3|s zQjRTLD4jV=>`YXMT%=B9-kNx$1!nFoqIr=TulFqNwY(*`Z`+%SLwt%tk0&vQ@jll2 z&!Dg%bxn)xzsSI|C*D^oRHcZ>7TZqy685xO;nIygk9(#(+!9e7zp3-zvlU^d9l~F1 z*|tP+?=vZ}xUl$@k(Dd9Ki&0r`m2yen>!(gw)3qhy%_VKp>tQgmR0B70?9Qlae50F z{{}6v7eAty*uC+3$%+Y#KXxl$S^X-P<M<kdB;6FYmOC2V{wC?RQ5R-2ecZQj_wvZA z45d#NnVxlRobxm_H@Y*T^8U8#a~ge;{l9Llx+f<1cfk}JgJN#$EJdf&wu#(xKDCO4 zpB6pAt#9tN<EQB9H7kCed~-MF^R8<*JEIp_-t}K-(66!4$2?E4=+b)0o0q>k$b3u- zz59a6NK$ZjYwGjTy&a$K1%3&O<e&A*YT?(gN9waa#g}FaPMy-T$I-p5DDd-(Wj5=U z_+&ACJ{x^yLhGKMmEwDUt8Ol=wB2Ouv~Ol)@z(a#w-<}J7g}$NU)8^B<N1diH4)SA zh(7%6&bz+ANoLo|_$dXJ{+Bnm$7u$B(>|^GtJPR$Y2>{m;RQb@iT=zG|E_<r?!=9s zW%oCGTCU&8eR&hZyZ|xv*avxA)Mi|IW!JGqx?<Y8v^LQu>3ts2XTA8Iq-LyrZ97@s z^>syj=9}M(PnlOU{#?IByK2pzhi>5)wEqf9@g*|1pA(t*itF#8DS1{aXP-L%V&CPP zYg$!)wv;}beO)tdJ7bjcD)C?I(!!#OW2@H1Twk90_DT3HvA9Y5uNH0dn6t#CRo=v< zK4@z4r#CyVJ<-{EE?i9P`J{=j#6$lxOwhhOYwD!QLW}h~MCG4OSexIP&;K=S;z!mK zua>D#Q$76m(%LUE!L?53YTDD>*Ip?)<JEEPLcq=!*VgZpo&L4;)uI{$&&c${TyL(O zD>!L=UX}S`ypDN9dGFG-lFIDWvzpVMIm9Q;sd{(F?DN#+PZeXfpY%VysbXEvmdZoS zpNgEn#jg%|xPQ{gn>QV|8wJR#N|v;KpW4xDG?n%GJa7L=8^x`ctX`vjBxmcXbFEB& zo&H{s4_&^h<JamJMQ&1VUzbW6GvDoqjCJ_RSf7`5Bh60Kp0~O3YoJ8c*685s)&0sh zmwRfd{aPVem!e-%>6UFjA^6gvaLrwFt{!NdICV-*c;t;IqWe0x&r7Y(?dny#&|qcm zqI9QA+4F+JT+5y=gOpSIs_xdUdRA}1t&qIx^sf!;Hcwe>VU^%MY4VFrM=vhTx*wAJ zS*tKQv|ICJJdayz^t`1mwIRoZ*1vK(UMU$H!+C{i{k*P{3mS5*=I+8P-AYc0xv$9T zKRao=YR*@q&71xl?r@s7`ns#&E3dw;q>rm6+<jh=THYYX-EJP*;`5_}>(1x!uN=)U z+TMP+W1+<CdjCB~;P;3cJB39xOMPA@YB3yt5_0}K!}7zA+*dWNQ9tp`FXjp#gK^}^ z*)!gJ*%+4`cbsGHZL1LBU92r?kDg{ma$I`(ZJ+F+%^9z}&ecrhmGJnNICc6}rWlnU zj<I#BT1k~(BL6dltWI6DY2)WNJM^BZS`=Hh7TYTN$DN7%8Z5A+$8KAs!*ec!pH5Ft zp7Wby`Ba1d(~4<lQpA5PQr*4mLP+CFtsIs6f^PS6xxc#Z)z?ZtJZZ!H(CnY<W-Jna zGspknZmsC-gRd5^^J0BG>&KFsi7cyYy87oR>;9YRl6rz^v)$5|V_%mnk8ilY%KX!W zb!m5|bG}+UBS>7;-t@w&eJA%EORbyRRv7IWX>TpArx9*^j_aj)*17zI(B}HBbzOCi zsjoyDIA-PvwQfG+b%^D@(dLOydiSi^=(m$$uim~>b+6uDFFVa$QhFltPuJZHE1^ei z8x&ZlX#Y8NZ|2;qda@kc(+{bZUeW1p>uGVGCHX;ML%!+fLUD(zYw22kG8Q{RN_S>P zxZHRa@^_lTtJ%-%W=Aiw@Y#Oosc!R`5H8;f_6A~ciJlfSA1(9h_&R6u=2xM68MPGt z1$nXE-linn_+Vz%5r4tE*&)0|T>lv~!!yMm6$XB>oxe*yZtsr8K1=IfJ^Xlv#o&Bo zg!@XDo-eBYXI5)h>D#H?+*!EUG4PUyhSg<r2EAFFk)nHQ7UuKwy_C8Btb0n5(QZ%2 z<3|@bSnkMKBD15>p~&1|Z%%;Ki=|QSu2zhDJWl$RZRFPX@XLu@yGN8k$04So@y+jf zXTs+Ma#`JFw<-8AY1X?a_mmwqUE6<##qF4)Gez2O#T?<*YbD==rRUylc((Pf)N0v# z-ru8d1Ty)gyokEr>hbUO;t$6;0$XkyJZOBKn*1d`t$EhNV#}?sDqHI(I*XpLUKJ&y z?#?P~n^^or@aU)5#E8lj#!^<HKc9uj&)TuADX`x&{`RW=Rc((t-rSWpT6dlQl^dJW zr;tbNGuStAa~^p;Atd|Z)S0jAPP{Dg+HPv0_It<Y@c2^R{Fz#ObGpvuS8JRzjhoq$ zXXP1gwDj`NgoV#DVj`a?#-v%UVBP*>+86(BJ}<r5#+NxAq>BtXuLaI46WD)!v##a( zUBz|EyVmX~Eyzzja@(Nwd}N?q!P>veXZ1X|F~xiR3DMQbZc`kJ-_I<{c(FF)WM*CW ze}<y{tLFc9ntk7CbL4u}h1)!K85Zw)xn||-(ntTM)@)_bt%{6zl6NEO=i;y28gm)L z=fC52luU|wxbpCYsa!k<PMB!dblrVg;XF^LAuO`0Y4MA_`HYoCVb7B-^>!WFe>LXM zsm>EOIj@_(W@&L(u8frHR=%>ecB$jM)}l`lF@EK&f^shUrr(@gmmRFSzi3{h&YDKG zbd9jnpbIjzE`JJ_TfSLP{&MNJqR&>^ccn9TamMGJk9`?my2r>Yi>dTs+;*4LI-$1j zlk8m_Kc-zhYSZk+AfW!p{Y%`cKkLK_7C+VaTdnBU5b5%8+tS2r?{m73_`KIV=Q2;= zp4$Fy@v}ug@13X(`DE5QN&J`2UUAM>)t1HcZaba(^IQ2<|J$2fjyW&XH=j32j1N6q zrSrzZWzAnje{(%u6RxDn*eDUdSdnx|R`z+`_7Q;#uloMtJ2{`P(dni1?$uu-s}B7= z^ksYKuk{y1g=<xdBitOGEuZP2e=U67r;T4)4W9^Z-7;x!<%*Zpi!Zvr*q{1qMV?&4 z)N|h%>ssTh*Q~!8doi0;Ti>+f<?3)_@xafK?hb3eg{eKSI{i*y+w21id5>`JVU_T> zyJzJ=)<eevPcLkpBY0KV#<GRw_^i`$SwD-o7(YDaO8Ze1`RmZpPr6rK+-FAL+tGDO zMd#1@8z0*)XM}%Y_3>Zym#Jr0S?$!%AC+fHMb@oiUwksaPg_H7Mf3C{?ZM@zzHZS_ zONk4sH&{H+`|{?urG;y+1%5age)oB6<!n)zvnMn(f3I2Nx@7faDea`sk&kQ^@~=_0 z57A91iE`6k({o%z^I+SBj^h(Hdr5h0Va+^!Y@J@Q(Bjbf-<-D8rRIfkS$<UO|EwwV z#!0DUV=KcQo~NGI4P+MF;0^h@NtgHT6|b*nYs`1ueX8d4=<rzyJ8etBuP%M%+|wt0 znK@O;^}_2%97lfXzFs$Z)zn%ep=EZCf?qWsZnwyZ3r>2>_KV@e3z_9_79X{_y2Q;z zbkE}}D~=@k?PC4emzvQ1ykqLO=ta3JPx`6tpUM42wX%D?P6t=geGy%ohr<6-F7Le* z(*4Kb#R6VqRf~BN8=tf->2_)`+@*J5qt*FtlQl;E+AA|ujvmxjHasM#cD^^nC+b~r zhliP>>}#JLht8k0db?p`tbb^F<tee=8{z@X9+s!t_FY^N#L>$4b(gY}<+`$a8rv+k z1h5G%PIcJ&efkYW<HV9n{H@V1*0z5xj=x)YbF!5{aiDp3>p9tkoh817Cl8mVc28`b zKI3X#tWM`;(RG`)HC3w~+-SWl#Q6783BxOEuRnejHFtF>qdUXJC7M5{X7_n{7fb5w zRg~_i7nxf4YGY=n5bM`Xf2T#I?K*o+NnzT7rjCp=`4&@m*e1rvZQ63~TadWw{Id}? z7b3H>wXG@>V+!hotQ8le9`ec)Y=3OD#;?3ka%KLvCh<kT?@HH(xqNE1SFK-l;<-S; zyxIm?b`_WZ3<0cBH4CMG9pV$tQwZ26;QB;IU0(FJQB38Nh~PQ_J*T-L$LHxCPJ7rL zYqBRzkL$Nr&)U?zyQ)^$n<|7UWL=LeE%X;=R}4`6r#Sn{k@*#JY!lYL*1Bl1IqJTN z;`CR6lMn6t9=72MOX6lp51+fnb|2=3HqT2+%$Kw>pOld&{n0CD>)I#Lv&4>`dv%z7 zrn|a$q3yxiD>}t{1w6H6`<{0;=Jn>Nx+Up6SW>i8gMU}%kD{!nzts6>#?@SV_Tli^ zR9RJn#Ont8OY<j9kNQ@kF8@!&Zgp4Xp~9m}8#y@79}#~irrc(8b@8h6&u^5p-3z_i z#^*4VaY<>>gv;$7MV9B9s_l3B+$&NPo1ng`!`SlBi>1QCe2t10!ZL5#U*4|yqO!W* zLG;VXeBQfJreO?mXJ<N}y6zSdt?kA9@6q1k2#3!`iw?0)%&Qk!xt)J^(=y|;n>O-B zH8-bNp1A)z?CVY^UUi<?H|5$+UpiR#s<fvgs4_z={A&C)F&*p0MqbaK?7b7a`%?Iw zsktJ$H5dA1xeiFgoV=$SC$}lw_4k^;adWSvYtP+&g)dH__3MtQ?2qnhU08Zf)@kS0 z7WQaX<}06r*DLM68dKBsTU6^>dCN*Rg}9q*{v6R&eyE!Fe1)Rbb#|le+mAexF5TUA z{MeGYA>X3sefsSgz$SV1xG783ma>v(+c(d4>ezTKOsqZPzR;wTL28yv3!X}@cHMj= zbj=-e4(5*@n|`mcpLLqQb8(ya&A7XQ{haO7`A(l-81p=I`lQe2S8XoHyQ9BnwZs<( zi^+U<i;nQN3ussAepollKe78=#IkwQ!@dMASDp55Vac2>sYGqXD~FDLlDYEy>}eY} zQ?8q<t#XS(8|Ni@UaU-6|H<#qEe(Zer}bZA4L)5heX4Qd#Gy&Hsc|=ar;9HVJZyAR z<M^sam%fEtEWH*aIL-G<*vUn&ZA~Jl$H$$28}?+&=fW_{*=vHIm+sEK_bT^r2KS`- z6Cz(`a!>iF&3mt?XHM%ZrY%;#*8J;^d7CQuB<a=tpq)BS*C(y9xh9xw=Hk2I-CZV& zh#Q5f*;5-Fc3%^{_D$xEM`UG5knXenyG>uF{t^{C?YijPaV4kui&PHI6I-nNC9+ER z=G>n;k8UrYHF=&))A?76O1HjS_kPiD&@_HT?|F-W+G_Rc%}ZXbaq$aSQ*-EaNS?^a zhnu_lCu$X0Y5qJlf9|y^?ei+J!ntAUHI@t15AFZ9{w2rj?$C~z_B=Y%mn|**QEgv$ ze$)9UYnDF|(>(3^YOV2!GC{LfqC0iI%$efyWvYD8&eCAxSBp%xUcY<L|IDe*+4scP zo|->tTdmXSSBte@tXm%6qW$@*%kxFQ*C-tQqIE#7D5Q4!jaK<kdDrDn8Dow+h@5YA znj7-rc4bv$)r*~<IQ(rzPQFTwzVsq9_i6RLr;Zm(xc@V(c6)qb#q1*1g5ydt%O@G1 zJN-E;%%v`L`qaslllLrXsPyZo*mJ6O%dX#+o=;~zQ%uoav!+k;p`wFT?1Y`NUUN>I zJJEFKr{;AY1C1ApYQi?{*ElKX@qB*Ang`l(KUvf-am|}4%KU8S`U@+<?!Nk}{$i)* zOyOOMwN2Rzeof8y<nmpRwkhw!#(%<JR4eEF*57+F&CcszqxZhn;%y5vKZQR}{l@X{ zm7P~rMC)(8`CR)XEGI7ddRI$1Bw45HYW#E+@i&5oPZrp5o^aan*<k;SggGbTHVVzo zW-L3F#hjw7BrCHeh%I~7%Z1u=*E#*ZzrkPE>F)2<GRKxmm|Y6YE-IX$nEEyR{6nr7 zzmHel6;o9=R~+I`yjBt{^`51mLs<M`)!l>9Q>Sh|ytl-Ko#WoF29<LekHjx7OzKv& zEQy%I$GjqJ-qKTc-PUK1Xy|TR$GO0HiD$Ogew{n(r~6!aezorIjJBQYb{%>Vm|$Tg zD%j#~DwLGx=_9M-w7cZ4#e{i=N1n<{uM^DNCoA4*J}1`kN&CC*<%g$y;|bGy7;!q` z>`AvdZp=j@v!^D{SN*qwA%CTx@&yt5lIRzXR};(BZkI6Z*UVjL<+g27>sLR9V>%}} zcy6%^Pc*LBl+xH`-Yp&*p!|E?e%JPQYmLuLow2WI$&ae_rrhtuT_u06E8C{pb^DlF z$k7k)1!lHx>z?9n(7@i_=B4~fB;)fQzE#f;AL0_bceu3HD5@`Lf9h|=FRY$FSuGy< zKJ?RkGg&fnUHEkkE&mfb`#L-ekLW78pLMvJ);Oa*!Y$*g(ZVG5?zYp@LzQa7Tw{(; zh+mbbcxbtw*9mviUplcBiFL13K0N12KFLv%|GuU8;KGbZnRlJ9cWNm=5y@P&<5PjQ zJ?}>Si}8mS-L<})$aVW%cWd&4Nlt&m|EYS~EA7~q{a3_ue}~>;Q=vVT_ql#6cK=y- z(WjEtc%EbZs?%qal#iyK6{<)($KhDW?%ML{Z0*~dzeM$<8zLJP?vOfpS65qbWnI8_ zm*PYHDp4<AM1{;auj!J#*vmp)`&`G&OWz`z3trAT_gGu$#hHTDpEm|Qoj-NT-X(Vn z(@KKPUI;MWa5#7KThZQTr_-wSG47lHGl)D;yUEZOtGCnM$Lre*ukDLE=f5i2_kK~+ z_Z?Z+b#MH8uwMA0+#FYzD3Q!X+waC4H!zLgW%MA{Mwf&0h|)39+ghx<L~S;4Yd+WR zQ?~JbpK8y&j>B*Nm)oYs;u|z<Z|o>9n7Vi6>CG2wFMO2sO7`!(Fu&!r<3`1#Y5y5K zgG|qb-}OK1mT}<M0*9VRrsceQu9)jGhVSOi6X7<>J?mlqDQ>zpzt7};?%0QcY|66^ z-g$CQ$HVmK0pBjGPm?xUmoH|TX;-k={#E#I&3>m{-_ly{PmF$cSvSB%gRSyZkI~t@ z4zVX(>QAn+w}(i}Ik5I6$rl99Fu%*IW#T+<^Q!iIbJ3MMBO9A?6rDFb&C$BIX<1#? zeb=1Dss+YdTHCJGw03-U=h(LNw3u5(wQXt4v2NYU)jT_{)w%jduMb^*R-$}{hDp-V zm2O6@^>6(ImpLqO{hlXM@jQe<`0S-cM~YnJ1P`&TR$-HvD>HYOpLja=yQ_&W!dCR{ zapgQ07XB$#%`;+|?i`IXpQEZo^`2%%r18nz5&7$7b8^?=DX&DBpKbcezKQcIS4EwK zbFjE->8oXR-S3z-ZNH*dm(g3J^?O_3&s?n|C45@E>$bb;ZCd{+GCN`R_1?Ny{HyvG zsYR(&bZz{s81pRevTwv9<87(=(j{SESgY=dz4)x<JGZs&gq(I(%Z#jjl{Ye$cWzwN zmu|2qt+a*x+$+0A-_INP!oCJy6cnmlUA$-I??r5FsXkkNDy6riavk<Qwb{XH#p{`F zmIqlGEz=$eUh<2bG5g@dLhbjdddBQUH}&*gUr&f%)UfH&qmayI(@OcNl}|SMMXk3} zeaZb+EB(Y4<>!Ys?@>^46ra?v@8yZ9ZFXJHp4^zQOzEcZ4V!nu%j5V}FZ#uF)qi<6 zNyJ6DFwdj%L~GaMs|Ni6yACPvnra){T*?0E#B?`d#YbMnXp58PYo~7hbChZQS8n@R zjpv@Mw0yPY71z1L8sR@%)aSnI_$A8r=gMEvqZ?Dg6#uS%tI-#A==WNm6mkC38(P1| zms);#v-L{rteyL3S^d-&&G~Aytd=o&=IoVHuNE&0*zc-VbgEicviQyUt3t+C<{jso z9`mP(O?SoA*UR(jpGM03arDWYQYKd$`dj&F>C4PFd)My@$v&YUGyRUP(Ke;Es{{Vc z<+A*>;^Dr9QKt?_N9d^gI-Rzevp;A7Z^GT^x$kc(&pp6(D*4nao0tQR7i+`cE!lbC z#Raj~dGmLb8wcfQJFz?EDOy)^${adU8~S;wy@Bw4yTo+ePi~bfBCFQi{cD)|OM8Zu z$@*Pif<L!Tzv$Lj`fPFe$<$@;A?`04eyxy+5(?W{F>Nkm{Gz|sM)N~YN<J@T`twA+ zR`g%i#Z)W*)~I_K?_VC~KCh~fS*-nTdsMB!(RHm=Dce(`ofg@8$-DTzoyPiG(?0LO z;&*H961jg(TDz>f_0V^&TMBDR;w!bkg#Xqyk&axlLP=R^(|(KaIX@g?LsHdeDJ~cN z+`aNi=%>EOl{wo*ElU=gHSW5Xb#H-&u+=F8t9;R^$6P%wZWm}%oAbsoOrh5!$U^NP zx4y6FkDY6duZWZExwU2;<JSm}yGQr`3~hX=#UXDh{Al;IeXSA~VkXV6%t>umy=3a( zINv0yhUwf?+uQB`89W!p-`XEKZF~6d6#;4{4U6>~SCw{ejd0znaWE%ak?mjPt{M9l z&zisMf`8{}ze!=5vz;9-CiTRn`Z>>8&3wr{b&<MJU%aWk0@u^itA2Ah?CtH`JXz|@ z>2u#z%0EinXVJZ5ELIqCxZrd}YUK*v!}(k`%T*H?E^{5$`?qPanA(OsE92mfc%}WJ zsV_6$=-&NvY(aqXir|^ES*1QX&)XY*>-2l=H<sF*6%Vy-Y?gYQ4-nlqcmC{?f|p)# zo;Ktt-7qD(W=&N1@@~^Vo24Y<7d2gaA*{tTspy(${~7&gp(QDIuC7Th6Z^bzUaF6d z+qF|--xeLwO5kkV_h^ZmfH7m<%!v~<&wgYsTBP*zeER#F_FQ_CZfEJ<lscBVnD@l} zlEv!}gdU&Nd*Z~2uwUzXA935}GbUu*`xNv#K2)N9XZn{n8WT#M>@O{6&RJOWB!qva z^S>F!LYu{}tkX3Ks7oxg{^bxU>2z)O-DrLv?KK}(_xl~&P~n$7-(kxa?JsXG+&Zv+ z*Lm-|=AULS7d-S&?a(RnB*s9tLl-tMKHM4pe1`At$HxS9w`+18NiSfUddVdG{3iAj z>&#qSSogR^FAx>~_h{4PH6n7B9~SF=Vp&<@69?L1V!kiy`sZNX9e1-sm>y?O5|8s{ zyl^@}$GuqK4nx{fhrOSR=DE6G<!gIU6u>`u%3rU~XFW4FY@BlZSaMs~yBBfO7`dZe z-rjN3dFSEYn!??=`=@fz@ARAJt_jS}*)&)5QK>e|%Vh1cKg%~ydRQJ5u)X}ugzYhR z-fEvHON)N8sAf%v+1*E0tB-|gEZZUTIWziDtewIdTY>qLcJ9+<I{hT@f@^1d>iG#p z#+lY<Sv~g8+I7liBJ<%ReyhaP#X7`}Y_y1d>^jZux=X*qrq2$~u4hy$@U)vUu6=ly z-SlBj%1b9VGns|?vAeb?9q;@;+2x#fT<dCn-H_J{!-90HJA&o9L>grUkI5cB8LcmL z?(#_wWew#?3dLt5l!~>FKatv7zG0>0i!biRrD^9KcIt0geYd!0y1+eg*2-lk9{&0k zd+K}hN!JC%+~32Vo-KJ19C3TTz+A!Jhl~Bw*R6d1*!rN2SfA_(?KNxf{F+)=*S>kp zQ`z~8__louk6!R+nvjiU>+Z@kqL+f(jc0A>@ABGp*do1EK)E8VIQ&0@aZ}@zv<=%W zuQJr>bA3L^T%EDp_^gAa^wjAmV@}MJaP$5az0Gi<nNwYs%ykDdqXrwRzU<b&iLVYE zI4ux($+I;#z<$!Jf0LH*UR<G3b9m~GEj~x5I3F(6x+$9TC1!2e)NA4{FJ^zdna{D$ z>%QsBS-<t8Sy)~db1UTM_&Q89JggCav|z1@w#?6#PqOXhg-f0-ezl}NQ{%qz9;dcB z<~!q4t+GV_Gi+g<^d;;IW2vugdET50;_qhLd<jeLys$NuJ>Y3Y?waju*t~T%@dZ@g z<6?N`+Z@`v>sv&;qxQSCua-a8Hl6zH!(Nkc+xd4FeT`pl!WX2=TC{gz((4S4=9YxV z+Lre=H*L3l$^9jMdgz>zmi*cT&3>m%d<wBg6xS;?+DlEIw`AphODi20+uNJdHO_sT zYHMwGBjiPiQ?1L&^WwH5e+7E(+@2tAZ0>&6<E!ihb&)$i0tLTB@fEdwc**tibKD+B zf5Xb)7i+tIX<YXV{5thoarnjbX<>n%r&<*UDWw~2x<2dr@2OLFRIPrp$g`J8qUcHg z1<mJ+gujGcw}0?g{P2^-&r5gJWp}+jcY@(<rS?aif89!gn|`nP=P146=gsJ6o333C z-|n#a=bAaMpE-Tm5ns+){3R|i;{5a!!KGbK&&pqPPd%`&XzgjEYU6y@U*}VJc@Bnc z`C~i%r*`Knu9vfZ^PN0*>zklmlGyY-?{}Rq7F{-Dl$ci@^>d-TSfc!&Ih*faUCUjS z9Km7nVX}mKYMa~l$jm7#PA^$|F~`!Y*EH~Jpz(#ND$!?akDEALx#48++Vx4+UcHdH zmD=-XZT!56ak=+Sw;fYz*0offjQ<%~^&@cms_m<G^q=Rp=bD#vRJxKu^y=mdQ)_<d zU-kVLJNfgQ{no4HEw0wJ7Qa|~GP3Sfddx#n!CX%6^RDvNdb5-(_CCz#HBVU)w)b74 z|Ai^<iZiso1^G{KUe@*4?{sfb5bLrJVNV{+IT@d{taL-G;o1YS>IyC0eIg>I4_lW{ zI+@q;Ts7s*`_`xrrLk$RZn`#bS)B-SZFtr(=eDkb?uF<xllIBCoXcW%kF?bJmt|QJ z`FcXwkIB29DY~DGzoKzX=SJj;-`XbcR{v@Ao3kY-znb-WKxwezT<+<Mb{>DS{D~_6 zim8k-r%O}xPZ@Jnt^UQ5Z_~74SILJyC9%g_HWuv{TcX6b(|Xpg!~j3HgMPaN*3Ng; zE3`S>wDFgw&E;g<1U-c{{^@I<`p7I6ckuun{dg_xlwS9|Kf1i<bY@7tO7-0OM(pLb zWnz=Xjs&zF`DkG&@$YJ}@I<b<*OmKK55D{3r}d-g;);iI+MH)OPCPG_Ppw&YWO3oA z@X1O?UNy|OR&IZ^W%a|24>RKQrzf_y<<8hN^+o?BvBEWn>>@ShM+Scm?*4c6ee9FW zt#!*y&(G?y&@DTqKFvwo?@a6GXUku#f2nnFh5L$U%X#>M+OLQvCg_EgSvmc^@FGo2 zI(4C+;ggu+__{NH!^-A76j-?Z*`>AY3j>(b=V)G!)c&SXfA^-=oz1S3C+uNeoe;&f zT~J&vHcY|kFVpr_=P&4A^vHc|cbeD2Yi6T3%K{t0bk_V8QD36h9JBG$^UvHSJbSwR zY0U#^z7JWy1$UVLnzE(&N#hd}F5Tx`={CPr_q^lk=*#x&;PL%lc{Balo~$F&UdV*$ zuj=SH_3BhzqU+`@`u|qO^QhT8Y&=-KaOD-Hw`_Ti%VsM+?oDky9JKyRfavB+Azz*? zNMQMN*5&SEqX3n6uREomlt-~;)vf0Fwdm)TR4zXE(4#qlT-Tqc+Ln7pIDU$MF;hxZ z?8rUMH@tH`Yrk11UAM~N<nD!@mUEx6p1Qrzr1a-XW)88Yz`iOL!=fi^-d@sg6*4)? z?0b8ijf%3RTbAM0`?uC8Pifs_f8yQ^n@<kYvkScDw7hGrpLC|)lk46>|7RQG1lSx` zUB0@s>eYfjoe`y%L|Z-^ZThvs@`s0un~sck)15g16Atp;<<Yj+2=XrOF)p33EoEhM zPS@l6oq4bB*+m3qPK!Hw(85ivvBuHp#>_T@)d{D|LLW@$c6t^)+ey9Yk7|;Di_Ty1 zc`MIdJ~o^0PFb1n`O@nxN#D;X)Rj3*EXsN5lKo^6|5vY5_cUx9cO_l4+!T`hUWRp! z*Npzq`~W9&`6*6^7fpO2C|sVk%-xCW?sbb;Rq>iDd=fib3!j$0*!1%ogOcaT7kAo^ zZV)-Cvdi|#%Kg!55(X|pq5BrbG(QpD*XR}&CVg?vO1WhrJ{oM&;z7@&-556Y6)mah z>i8OFZ?Ks~xZv{5{7;%?HPduo2Aatzta)pG;OXJ!ssqb~Zb&jLvQ>?q^m|?4tlxUY z3*2(<rf9Zv`zZ<YAF;Ol63BJ#Q;E*jdz*UJYzm*@^q=82*MEkm(aZGfzMhKSQ~z?! zhEGD<E7Mwz`)F0AEDti$D3M&<n;LyZf7j`AFMd|+w*MH|^7GKuqGyhgJ6@{F?J9~X zDw(j8&%31a;&H!&OW$g-UyP`n=`txN!Gtw0(rfZVA*cDD?k1jaZQ8q0dMdYg_k<W< zTh;6<6L$X83*WRaO3~)(Uva<gnDvU$q4R_-n-&`j#XQkZxlnw46+_0&jv$515_VrE zCY$v)f34po`9<4jvuZx4uKA&!bn##-7v@<fZX0UbFZ#0SN6qwmuYdV2jPyD9#7WKg znaCgYfF(s6!@f?P79Xm1f2RML)_F5UUruWH_{6FCQ}Cq8>!sx6eB*YWI`8Lo>uHJU z7FPC2TX*We-9PL6nL`~vMW<h_?4F{#cWT!p*B=WOq?dbeaqoF3w@1<4=4yYWmftSc z=`*KtUi%lZKXk^aA6{QiR^60-_WG_n&nNAQ-KRuOZ@!|@Z>h~GcC?uD+nHOh^<5Jd z)~${=*tKHz`nYr1?-mwC<XbVd{%2UBJ#}8j{3#+X&Flfo*L{dJ2`o*h_1gMRsr{eJ z>OWU3xS#N+3DqU0*?C^yKWRhB>(rO$H!*IBJ7ss`ufSXu#ix6<?z{e8ye4I*Uyw-j zvrXGI<7B4(Wtu-zqvQ0EOZ!gTHkCS-J%wBUYn;c+%t?#it=W1u=Fe`sS9Ytv1Zvxw zaN8DZOl<!({ms&pqMfZan|A#^q`0qTN=i&>>GVa7pS7;rG^q#JIA-KO<bHH?&En^~ zLgH1Ke+ND{&)T;0c;de8o6Z;Ir`9`Magn^TB6y`Z%eq-!kBmR8v~xOn>r+7fS@)~8 zPh-<x?Ryv3rQYiPYEAmt)V~K-{+w$3nv3ykn2>4FU-83d%G{%mE%XRlFyHmNibk*H zik~`-_jagCXJ-WGhZ?TEGG}@Dq9?o7U(l=bs5v#EX8GoabFMp7uHUj+PiBi=;MdmF z`6o0cUKiTFB2ut^mO$!_HOZ=-m;N)H=9pu6a?|o>qI(&F?(>W3Tu#Z()b@E}u>NZ8 zp|fwc&biP&caGEZTqovftDf7On&2L^KO$l~a}opB;a3Zi=ARN5>B|fJ<}g$FsFp#} zQ^xw-<_R-TovLfmIHbR3QF^r7-1&DFubQWLX8qX(TE}wta0FZ3jK5erdEMJ%PnNO! zsMcOCtgvudU8TJDdbMin!QSI@WTyVSY35_`yg`}o?w^wj&M?++zX`vi#JRI{UBltD z*#e<oo`@XZZOO{3o6yTN{Z0l$+|HJgeO~FM=Qk+2UyZbr6*A>W+T9lBU*0-5Q0-F= z)AWqn44bA4?b*y2EpVm9epUF|E9WN!e|ojiTE{FS%yQSK#jmVY<R``~?hsgHzcTOX zIRTZ2&z=hIvhZ0~b7!H4@TG9ii|M&4I{&<+YCU2CJ|}Cx+yCv<uIBSbt2iE-z1sRh zX064tYpzE(?w+a9@oCr22YDY~%{|fb(8zVpC8NlfCk5*C6qfwt*5)^II=bYZ=<Upn zQ-6sHPTbRS)52|=JO35U$eM|#wG|7j^slCDe)FH<NYnhwrp3&B*>h6fX!G`@IRsrw zUmd7E>tSCix4+Y-U*8<&huq+8i#$=8w*Ka~@WWHPr@y|zaC&C+hW`xenhNp;o4PZ^ z3U;oD{3|B0ty2GPsm#T#KUeFlsTBPpv}vMPruMsK_B*E5EKUEbWE^I1YVY#ceD2jc z@A<2WYy8R*y(4&xeq1gu5<e8W;4^ELw%L!oM^EnF`J@{qY(6zFYW+>Nc9YY_T%JNk zn<l;zn{N_fV!g~bu-?-B*LHW6L%cf=y*A%;{)zaV;|V2E#Z&wyu40XUvi|Fv`7461 zv)4p4ZNJK9<LzAT8KC}I=S>OMwWlq5?FO4a1%8T4dildgmPJ!uY0ZxOg>jC|=S_bm zAGuO+_ny&H`>Bq~zo+GPKANJdl(%W0URJL0?wYInwAb(!n{PfMR@@RR{J3IwYSP?< zRvG6<VUfQM{a(O2`@__NG=0V>ca_5YBBQpsOw0`FPgy<h&F7x%U2dn)apslNGdGtN zA78u`IhXeBY`%=FL#&-j^lrmlQa$NfhipT4rg(ME)>*rfiz|aK+v8k-<@wOxdiut# zY!4b&wx}FmWaRUSd*)U7J*)dv_gqY7v1GEd-m+#oZ$m_E-h^5F+-{8#GV2xdo=Pnj z&-dqdojxl=dd=+SStr*?d7X|n3*O+Ia$h_x-e`^83OTp4to2XA1njr86!i3nt=4(4 z#`d<~qQ$*eH(%ubb45Hw@2XXiJIA%6AZew%XRB+v_Fqi1YS><wTHtkW&L3vg?muf= z4QdWVEV4KHclWB8YI~){d~uV6dlskU#q3mDQctEO%sAYc`eMIl<eWGe4UVY^(pHCZ zQXj={V!i42fz@JSLVjz-UZz)Tw!BWAY2Lj${mfJWtAmj)JWorz=VjgEeehtbmiwy1 zGnG|$)g0vbvu;!1dZR_Tr^1BiHJS({={Ob0nJ`>%o>ChqtD<rE=CfTT!TYahJSh&e zOmhgH)?4yyQAJy7`rj}Y$5Wpc%y{)wZ|i5pg8oVW-ac4Ux^?P@FRHG0bC1fqCKlz_ zo!>jP|D;>Z#lAA`<tovaEnLr-cT89?Q(lmx<SgffDA64|^<>X-1h~j~@gLdwMf+O- z=UvH3>t8%v)mL-TV!LDSgXN#r?DYr}lr&i%y>O<$zH4v(h7~faemB})G(#yw`m>u6 z(}(@$?VJ9rm7S?u^lbg7K&}4_t`)Dj?HBE-Y*=vXdr^5z*UL59^>@~P37oqnK4F>o zs<|aoJU7m6JzJ{w>Q;J*@xE5i=M$oQBCGPv#BT{V^ljLD-DrXQjHu@sT!$}+R_otT zW3($+JI~EY{FlzY?k`$*o}12Jvi_f!<S)^=zt+3Xot7~@esbXRmGQH5y!PK^WU{&9 ze%1ZL3ZZ=`5}$&uWs6|F?%`$`7xuxfG4=D?m#4zlo3cOKShFxX^z|(Js|n)ky!EZW zv0k6GT{kQ;HB}*^dqU^S)ZgnjvZl`qYIcb>J?HiJy78G6O8VLBTHf8PoicyXe+F0i z)Tuj9{XTWxHqm;{t=H36O{`v_D|YJD<yV4|_g)?Nmi~#mT&z56;tK{pLxH^1swZB} zU*a$I-xBfc{4lj;Qk78Omt%RlVPAb-{nkDyyo<wS%Z8GozL};xADN4|CfRjc?wz%u z>fOpO=58X|JfBMzuh-EyVEL?f-%hnH>8H7x&pnNPvcKf5f`@AQvl|Z0&-0Eo7hX+S zXY^{hpI2Sk8=1u=tiR;WZ~A;HTs!kd{oB~Ed8^#ha$l@dek8E=MGL>-N#Ql`oA#F^ z`X8OM(oE)I`i#vBIiFUqINo+m+xo>u;l1LAT0foMlBm3<^~Ij8wi9m0o3<(L=?MQ( zsa!EnTYbjA2@CT2#b??4Tzlh{SghBHN}<KCy8F+F&R#x|>-mY|z@NojccS#l_GrFd z)v35K&FS?r*$~Nn$z1;#?mRWLIT5}6Nm%Z`shO`jX7H5Wz8Yt5I_2fVm}BcW7u)%1 zB=w(hVm$k)UHi{c(MvU|wY#m(Ua9F0lbC(SsiSZ5jW@cF%_pp1m&zztv|i3ZUuS7? z_*ce4!4qQ77F#@IOr5!NYBoboYH7FV<zOy;n*(lq?j5a#yHBS7)eT~c7l<@_?yy%! zF{U!s+96u-=G-kol`ob^gj=SwW?Zm{TDr4Xdy2GDozBVlMPE*=l>DsWl0Jh=b@4n^ z)jiI|La&ydJNlyIb*76|^oQG~-D}v^Z|Yz5{Hoi=1+fM9PPRK9<_hx=GI`eGSH^DQ z_V}k*tG(;t85g<VyS-_x`NCaSe0HJzQU10Gf!9ygPI<z3@^GgWx6d|%9U6wlH>VWM zJ0aLUG3L({pHjv2S6|o<h5R`*bAJop>1eS;6APc&0&``oSYIrdcSe7rdWZhIvoR4B z)5RCf?tapvcIMqD?fHi}lFWJ^F|nDKzS_Ly*<PKt-0}`httXXE_bjRoZOi)h*(X1G ziv6mCQZ-I0HxrreioDc*7y7B6KYd-+F`GkdJXsu(Ddnk&g@^u}ei-#2O`zoUF2xwr z_1#;nRTZixZJ7UzpCefJ+=qSEDIG5sB%Hf(W!s#G)*r$Y&o@Thx$-cPIb6@{+KcTj zU$`QC%r&$)nreKt?SqzmULtp9q34ez#o8tV$9WR*r3yb=TRxpoxc;NU!Ksk#lTR<} zd6W35j~?dVKbht8M0E3uh99lnO=X(XW*e;eD<b_%$NkxI4&{f6QM{X3o&C?o&6A0= z7y9((?B(_ffrgK6-nK=p_NIbQ_FpX6)9dxuX-DV7@Y5b)nRedO4K==s1>~8q<}s)n zYWc385GdS|B^G2Dv-r`br&gkMCnd84^2F=h1(xeA(d4_QuGW%raJKd@R(reiE;sCz zw)cK5<hI$AqwwP}@8)BEktd7G=j?l}t6RF~?aQ5UkqrBuN;}M%R{3I`xb?U6Wd;2g z881p?|GJx+mz8|N$xJq}wrl^=$qRmo+>pMZ7x40|<$>s#4)rrVXGjW!c$z<3c!2k2 zleKZVXrG8fhRsJ-`_v|ttabT@0&6SIg;YE@Rr@?4>-2^7x*>ljSjikJS1|W{v*XjQ z{|v5EiuPrlKUh6Uq-6J(s9)=EW-=>lFfN#sXnCVx=drh$LF-pUB&m3ESJjFfF+Rk# zZP^i>=aW5RJ?|b})VN%*=+WID0SyXsxn^8<?JoN{A&jHF$d|q9gTYi;<Dz}D8kQM} z7l!Tq-k|mPnOM|nd7+Neo9rCx7FvttONpMIXS9Bfwn^owS5ccj3oPId+OtK=W7m#P zLd%~t>^<9IuKm8WBhvp0>$FvNt6QumpFHW?@AA02b<;&I_nuel7w(7@aCqqZ=ceAO zux;VoZ>%lNrzbpoDzH;K`ZMdk{0qw;S>0IsUUg!h*ZrsQi8l{FV|vAVXVVwkX?x!> z9Ts@Ff?M&@>$ry2DLQ*YKEJ-%zIKl2k+`G67Heni`7&u;k@Pp`*IK+gBU9TfqBYW| zK8#j+`%-(pYT=Xpai{w=o^9H05iZxT@=9t6`x#dGr$N5YPSq`Bo-$Wt@?Te%+ur)F zQ_m#@8f^L$U-4%9(Y;!1#jEx&o${pA;r#62r)xHxQJkh+tz)<>XwG|&sZ)R3yXHJ& zn$u{WwcjND8I$_5*G<g{#RZX%et5*yTvYg&<+c5ONFmd~E)`buz%>yQma|Aa+a&41 zvTUBC=Z`5buSQSn)@gmP$n?n*-Dz3>8E&n6@!47D`}&*RroWV0<n31f&RdWr&^$5x z`lNe-EH$b|1&`(mu<py&{uF#sD9MCjjjx<E+p^o;p;l`)UlW;{YZQI|X_)vGuNh%- zllGl>Stt7Fr$&2vitF*CT1Brm?RPb_OLftiZk=LnGR5Wj8vU))O{d9iSXN~9t@6pb z#m16eW+z^S_Ft5AIwd|M&?dbkDNtf()2_0T$n0!Qnd__OPY7!LvLkNV{uF6(-s_3M zp!=w5rhdH|tvtKyulP%i=EO6K!Y$ns7Cp&iEdAkh`s%?%gV#SopYx<}{Z-`H`(DfO zr)d4maJh=9`?7wd^d6O0*64Y=>Qp7uVvikD*u6zxmd@M7l74y8>xGfq%U7vJKiMBz zYFnuh?r`>}#?N^N?AE!z*;%apS3J~e&Xqq_N{?SKeTvI^JO8YPzxJ2l6E|I&(hU~; zIdu54>7h+Or>I1qbt~TxnfNs@$4+Ves-1mhZ|3Y@8b9fGY;5$a9Uc2sr$y@POh0@z z)voLGx3G*IJFixzt)JKW+;maL>sCM6e8w6lbs@XRbz+t4b<QX6Sf}Uo<%E)Q^-RkJ z9$W5sHMvQin3{Xz<k_IlD$f#=l;Y2YDd~UI{JnmMZ>L<Mz}oY!EA-Ax*dLO>vvbYo zXPf7{Cf!>enkc?!YHC}}0j=X#Q`WqEuJz~Q@dbDDT_^50+VoZ1=Zp4xuKX)2POn+< ztl@RRhNB<jUhWI{&tS@U{-C6#fMra>E}fQFX|Js_#J(JxFjqxL=Z#|gv^Oh%tyzE4 z>iazJ%O!^<=OxxHbU#}=^{-<5vvswBjE_pDTq-U5q<px)eB;Cq`FB0b1W$=oehHXu zeWxpb_lDAQDm53LuG((hw9)id6w|%)9${xbY;})r@ld-bwAT7qj7-RDt`85_Xmp#K z${by=OkUXS<)P*|Dd!S9<}X=$I=ZrIVMq4ae15s7*TlUy&V3}+GVOVS*q6zchwf$` zez<GKwGV4Qam9ED7l}<aV_3aa@|XVAl2`jff3Mhb%+=vc+D5l1ukG58Gz3g`xbw9= z6IcD${e_FC=A!tY4Gnq+&m6KSe_O(EA;!z_)TfT00_*l&*fcwp%j(qAtMR^0ck`-j z);PR=&!gmEeO##}t|UnJjMv0&antrkXVz~Flk0l^JGCfZb?zTWcHR>0uE#+kNk{6n z{$78zgxmMj@kfU<BhwcIOWokDHg?H+Shh&gv-i)9DGB-EP71S&!tUj}#JqSR6=3gb zZ{m67hLU0L<wEWWR~>$>zUf!<Q2tB~SKI1`FS)<WJLizn$@=q0Q{$^dx5=PgD}H}w zPFOD3YpC;f$qHs)uZM@L?<U42`n^y&Cbr(@%1pb|$e4bEkUvudKWXzMPEPXDo%plq zKf^1hrrN~R+PvNkUjpr99_Ib&I#;>U>72~zX~8Km1y3i$Z-|(!^6;K2XSU~@8^IlV zsh?U3IqgO6`tF(Hc-q2eR@jwxjSB^f8PEM$n0M>CV&0#tS7a*AMT9uMO7-~Fa*df` z?gytrQ==1N&-R2rJR~CIlF=W?VIb2Mu&n0F^c}ZcbaJF8t_+a2d9onsL5!E+XN`)T z*0W}Q;ZnO%srbC8v)a2Lh0(d*@W>U-Ejz!>EIK^7RIzTUuwBN1*;z|ns!pAb%X+Rl zf2KqCHW8=i*{2LD+)@pWr5l88C=EZ$z#Zdt#P{Trj+ZA3-W^@H#&k!-;;SZejY^bW z{AUPJ_{yUBds$rW9)>sjT<$O|;(1welSlPixhwmV{hy||Uv<|F-Rm?#_r#RDcW?FG zV_0LaT0g12!siF4q_&{UiEz1ahi6i+8Ty2*8U#*1Sr#oUsBICn$TZ-g_}SK|q8}60 z%dQ33yj$PBXkXshr4~GkOIN+KG1FeII)5d{iFu8cyPX!~yA{me$6#r)vE&+4TThXW zj9ALMTU<TSAJYz<j*j)IJn4EM`>59SKV3Sr{PsA;JMU)9oO<Q>cdv5sFB2zi`OgqE zdAh3LYpvI+>UIllrWeXIwPz+>Sj;HTBPx)W=NT5~75X<}nLvun)5=t<^?wp;4@4eU z=3<<DruF4XpPv#=<#npI<zA=tR=*3}KeOoGzY9`piq9_5*|Tn0u^40eG!F}*^QR8< zl|9=Z$}-h9EKD|l!SvkhNdeoxI=o?j!gc;hSXuDL(trg|C0pmkT&v5vJooL*U#oXt z=sTUg=xeC?rqafL+yb@LHk;yCZ8#GbBG~lVXl-_u=#ek1^1B*~&AF^1{ZEA{?{ZE^ zjQSW^*TEO5Z!J1)f>_*&3I2g%PX7Y-hTj!F?ZS9IT0ivHdY|9Ar!EL=i#+J?=lZ+e zbCDKn+>TW=osaX@E!8Uhuz=&d_KF$LQ)P8E?myYoqpTEuFXYUx)uMHktzvptMC~oL zM859P(ble9{pvNtP6pAn*&dOr=g->g=T-1(4)0E{>()(sbG+uPJ+%MV)NW;)fK6Yg z{?Zn&EQ?~d*4LTB)3^G~{!fuFXK>lAz8X<^KK;!ux9;z8tJf?Ff3^InV$tWY4bQxK z-WDwQd_vEAzN=wnxZG-ur`qrKy*m8*rhTbpX{*$$M2T~z5xG}1emb2=U)5a~p0%*( zRcQOv>%Yo`PdpQDu#>&%@-JGmpGV#EORKG-OMC#=#?MCtjbCi%J+821Zr%maeI8=F zy`7$CAKKmS5&k96Y_?b{Tk%FNk<4z(xK)gnPl6k)ZY=z&A^6xl@~8IfjHNqY1^$XP zZ`W^S{2V@kahu?*9iNPr6yM`Edpb*sCp@MlRa@9o_geUyEw4)xSDpBIs&ijU-<j__ z5AFKQ_3J}xp-qGKb-nX<J-M$>n!o6C@RwGp<#nOITc=Hrf3f-Bg^t3*S6YvnU99VJ zUjK;uw84U?>m_%zi*`&snfS6`jji}y{#}1ByDRJs`77FfX7$rE>tm+w6<?O+a8W`o zXje)2byay&0Y9BHdR_N6gn8Y3d}96Cz5{FD?D0yzB;r4j%j89va)RG$#~}YN+l>5- zbWF8%bHZL&EH^#8r!=eaeCWUKsq3}vm#4@@9#WXod!?>>x<QM}D|OX2chBIf_NSfp z7c7vs*8co3;PG=sJI38>9#xyzO!MjMo+GU${e9*Yj%OD?H1+&v$Wov6*QtMdI(NU@ zLb-)UrG3|k^M7OQsM?`)vsuVf>#_0vl-N0+9imrv#HTat59Q`7YSRxr+;+X{k}0nr z3wzOvHFtKd?s%43+i!Y#ddj>=owwIF9gaC=vq@#e=?Ud&3isrs+D$vsV)eMiJD!F1 zez-A(^KtK|3q4s2gr|LoKJ@3LPX?R2r2Ekm;wcN}e$dwvOShSpH?Jc6pIPvw4{MZ9 z78&l=D85qW_EPZB-jMThNqW5-i;e`gJuBk&xT1N+&Czw?OsAdZVgifI7fC&pUjCU? zIIoM{`q159%Vn?4JU#2T-rkx0Z=?4$u)GPLyFmGU)Z-P|MZxV?E7KO4?+FiL{K{=H z=gs<+TYuM=cI@MMw{fAnx#yuCt6SoluP03?Hg{oOdq$`6M~d#lWv{;Oblm*-VxqZl zv6fgssUqj$xrYOC-ff9+niH2KR@Y@Hm%z|+WHCFR@Sg+w1H>mu+%`U}#duHYSirf` zu<)O(%o;nU?%(D4kk#q%lxM230=c<Y*{5Z5+j?(~eD|rsap4a;brZc>z7^KmDf>Nw zY#k$N0t>n7I?jDgJFxc7Vx?VY7smaa(ei%wyu(j+?0K@_=RKwKPG?V>ev9br3)p&3 zYHCs6&)n|~k}LC+&pEwVJO2<@cIAhgwsU$P`YWvLwp{;+)#~C06YamD^YdJ^o7ki$ zuG$<emnFJbJ1KhmGtcNdYf`x#W;5Q*D^69ZpD9<I8R_y&HCv{u;>XcDv6Gms)0}27 zuMXj@nD+9-`dxno8+R`gt;?9a;4ZhtGmgmr3_h&tSJe8dR;MkLuu0-!ow;G_l<gN* zvI~Cnst`9!D)DJFGH-NRvW3@W{nhx8H02{v!ROVZSLOShh)?_MAa>xXrS_an8jZFx z!Ap*APY)Gb-?7%bUog14BYM@=<6UlEhfjr^eQxLVwt3}Li3-1$;pZ3Sy*&RYKwadH zz|8AL0{7dJ_Vip~eqy<LTY32`nI#-OGh*6=bM9SNDmuDEk?pxc&r`EaE$q69b*t*S z#m{ISo!M?CE`E`D$&Js!a^C!gQ&w8+a!)T~He^;jD#TrG@ha4}XX~z#bj#0vcg0S< z)^|PYkomgQ`sNBVKAXw2EuT2G-8tu)Z}oYPs;BPxNq<BBh3d_?CO*yM?$3B3#yy*h z<WuTS*=5OgpJZTttfaThbdRRqi2|odcW+E?xSQ{K?8S=))`bgVrd<0Gmy_s{eb(nm z`I?T)uFO|0PUOjSx<37}(d>|jo9{)R_$lk}`qYN=?Oasyl=GVSqX|1oH%>LIWjgK6 z8JFl&rP;3_`p=79Gg9&AC!a&lQuPxx=65_<r&DS>f7ASpao(#Q+J-NEDm?Ywx!RDg zTNd2gZrfXIp7>p8e&+F29bs~=RX3Esxg9^lnw@v2H26#Sa|Kq*_B2aPmg5T6I;J~a zN_NIMy(+oj^~qe(XZP>0Rj$WF6Pd%NDmsXNbd25~s#<sI(C4IGD?6WU`nCGk@zl1N z>ur`g{#^gZW$|*0=sQ2IA5u-VxhGOH_57FfIYmNT=WNB7W$P<z^i{SR7UjHjXi0V~ zwSSiN<zDk7o69?QhyK=^IIDBtw79O*I_)ayn<`mZ9|+v`;+^?CRX+8i*QA<-5l>3F zzlZ<Q*3<WhHO;#FYsGwzs6$7T($z)lBO){NGD_WERi>x@Uimsz-Xid7T$Msyw~F1V z!=b-*_H~)GvcG64-Zk~*!oY7q`;KVOpS1B)+^qGX!Y@R=C0%yB`E=6hQ>XPK1FfDo z{a*cxHMKtQX5w<yU+cYB{MKMTaccgI$n=X5#}`eUvSv@${)?Vp1ZQzwH!NkT6xe+J zFjw7+hv!2JUu)f4vZ7<VspKc^)7mRuS1+9UYjxJ<yS;amLtEzDEfAE=3DdB=b#vw2 z4Vz<@`WsfnC!a0t6=`g{&UNRyn2yuiz5}tlKeVm<sq=LQtLc$vN{Uggiw^SM{1klJ zko(<JW{r)Et`DRSb@RW{Qokg+=%zr}-n_+6OZh&^Ix+M2E6p{W7PO>4VC{6(X?gc* zz8z3{ZnOq;!QY-|Tz|tu6JIT=4T~#}K7L}|UasqM6G8;n+nw&U{8s-iZrUd8HHyDP zUzf1E=;@SqNUob)!1eo7<7wA<X|GG>Z00;LTTWeQU3gr!#ojIzeg(0$d#}IL`ZN93 z>n~wXcCO&M`8C}BuI#*B8o!o*wO*ypKOxr3HgNlF$GABc8`r&<cm9jRwC5jM1^3!` zJwEqS(K72oBSU_X_8YF>9g+7Pc71-*C~nozl6q43=g!6UJS>)T778qhD$@GTpgMnM zYs>nJj$bxSo+m9T*?8Ub_tZTx`MFPXzNlz^EPk{91Z%y+x;gra+ggs>I4V6ov1PaV z?~`1~<?buaoa@*kd+|}`S&RI<80J;;XKgDk2>GLKyy*JkwpG_{<}BI9Q>gKC^|rj_ z^G#Lne_OLJHR6_Tr%kq55tGT;h<+u}eX05Gi}qi13*WO^Px|vz`^l#HZzpZyZ9H^g zkt*}&;HhuKEzhoEi(*OdDh`)(5N(#-lA>u7r+4~>?XA{%l?VLv^k1fSFKcx-OnGVk zp<#Q;v#oPgV_r|Nomlb7xx0%^wA}ruqLE(uq(AqxS6eQ;c<AZ%h{)7O!E@g#)~$%E z({Mej67R5AFZf*W`At7xY?M80w#%&9`tqvoh}abqWZRFXUUoflz25UpZ>8qtNtKGX zpWW~}e^pq|rt{gRecPfBoZGPA$wteKdwHh{r}+MIVt-`4G_kv4$(mCwcDh{mwr=JS z=RU*6+QK<s=E)`tb<^py8^Qw$Q+W?9elh2{L;KB=Zl~r~On1wFh7?~}voCp5s>jTa zLM`0BhuU_R-rU0aoy*|i+{(4@otW|uT)Q*pn&A1)q~1e0jxj%53o|b)=Qw+<)xvY% z*Q>s_&%Ie-+Imf|Y5vuMot#EDcFz)Be=bmW?~gD)mNbuWcQM(!4q;!k-)b)mo3nG} ztNk9qIqSPOJ1-PiBVv+1Q~TPJb>W*fZtpr>yCZj3YHeer=VyO)b#8`T|5Ef`OMmsL z6#G%B`E!!^i}0mW56`XVh^WfDn^b$ZiGyQDzO`G^&U2ne(#?eCN(P@1SfqQ><+viZ zZElN>ab3XPz{Ii_S5MR)nwOP)(f@D9kGEy53{fF}&MaDIw|YW1!<xrZj5n`5bDH#W zUe~RPssC!{zu5FygD>qB=YEaAWfK<rIl9fc!Y5<d%HA@ktAEyx`JqW`bfuKV=dH-R zu#&y1IK1dDlfuiHPJ9aSrTOnzlcb_N;)_H(s~)Dzx%YJ8%huXyP66}ET5Fo$mj3+~ z$v?^L(j}2|U-Gub^q!d&9xM8<(K~tZ!hH7pLJ2?HM0@Lkn`RE3_k<QiKg`;uv-x7G zuF_eppMSJ|FG!KvQt+W^`SjLQ=7(Aw`L6Os>yo5X#U6eXZN2#HQtzEgubpRNYr9^b zbvJ#YB%tCZvykC>o?E(W@!m5Eo?qNPU*yi7)ug<7>h|)b*WUcrS$;Bgm6~}}?$4<+ z9-d&@WEpFcd|c^u8B50u_lgN_0ZSM}+;*+#f4S@Hu7{ToE#}h?ohMfy`ZGo|pXJr& ziHjTJS51&rC_Wo)6A&dP-t_uM$T_wh&)B@x1&j<fT~?h^JfUZM%&Fh36If<5h|k{S zx1IBz&6Jv$sck#G<jT0!OAVG8#!tPlw|ULNJ-_*1EoPB(1$Ak!)^*)fW<MjsR&(mI zhLYHayEapJ@2$F2xw0c|Y4o(LcVEMPtvUE?-_hdFZUqM}RqN~zl@(iY%F28FRk=m4 z=T7lF^;+lC{?udBwBKzG{H6Iz(~Nymujsy2f2P!4J@i|_V|E-@^XIVc?%4EKA*ogq z_7-LRRdmz6%e3*@rIyzdv$osJ2`QGDQrfN7%hc!f@$x2zpHr`id26qHQsidWRkzCb z{S;l*(%>&|`d95=Ff~Ehnd{rrRMqUO?ygM7Otmjhy2obOwD!f?FM*%A&Ng3JH(8Kd zNw&?{;l*;ne>38LoZ8cIGA6r#KmF~^#I<MEU-da}dRXT9W_#W_PQOq6<x+mKcGcgI zKc}{&R|M2~RDOE%BY)D)&ry|!w(Ysve^ESBEN<rdyZ#s5HYV(QZEwu=E2a0(6Yaku znpV;lE96zbYn`2!8gX1(FZ@iayhY%pqg8iA6F<f5x$?=9^>s#k-pQY*vb}z{D*rjY zdHSsLrip7$YHVNT8@FQ3A2Wj%SyPvqQ-1{}&fL{_Hs-t~cih6%qFhGHU6TtgEi<s^ z-L<B#QegRu<?~IYrsnB)g~f+{(|*TvS5AB7^G8nJwM_pOCd_i|zIAg=U->457rLeA zzD=Dcm(r?KHRG)R&s6to;!D@;JNst-q6V9#j>;FSUTk8XvLK~YVNueLwW?L?FK>R! zZInDSzWQ4P+o#}Vn>I^63$)b<*mHZ*jCqrmx|>{_H<_CwqUrRN)u4|5^Q$RFTQAHH zeSXsAw(GA$9iJO!l}ugvEYb5^K(F5BEze|jxve&|x&9_F{CN@A-u0=K^Hn>{qj!b4 zZ3{cUYQ|^Y0Pprm&3`Yg{oGo===rntCp}J2bc)R}Pmo;Q8)!c}v`zNPy0C}7<*IW& zZSzvf&0c#eLGp~H0N?ixr@m?2-@@col}{XcZLYakv~wq;RerUXigi^^=-v?N)n_#1 zRVRMo)_lSk*(WC?BH-~VOnACM_=}xCHC6rvG41+&s&n%Wr{*ut9G|B=-xDu#lA~R6 znGGW^+rnM?0{uN2Dql0W>{c;v-0Y*6{$k_5XolJB726d=+EW+JKf9_%lJC4&SM-$F ziL-=tRU$+sKlh!zzsh2LwOhx-c{{H79$TW>E}hOL7TpjrFZ1RaKVhX0Van@L`BDx? z->hGrepljosr>Yii`QPcFZvQc<H`Pub+7f+KF8_5EZWhXu62`7g;SaHVbhYC^HzTg zJH2ZE^-b#0q73mK8m70bTZ+TK?3%G%)$l2oRiV?wNslCNa|9)xKRP)i(`?uI?nOO^ z+5~RD7v~j8yQ{LW#_-6E_*I`y=<k{;cyxBxZw}|;tE=CLn_9grWqH>6NsLjZx%sR1 znvd+dwW5DTCOzKEV4<9E%+Yq{=n=ie+Kc47{6Ym9&7Q2Sey=_Iys2Tm>S^Izt<xfp zuQO=5Yj=jp1y$>q?(RCdqjc9PE3e-xel5#4y^tr>ulkL1znJaQX;DngJ&$arcrQzF zaI?(nHwcK^{-!TdQEt<o&8;>&SLVIwHc{_t7JEC#DS6S+i`wT+r~bM6zUGj~x%Y>n zo>;N|*4OD-KHa|Zj*ep8+@=Fr4BW?ZPYTYMEn@R-u9~Fu8kYzoJr9RZWgq<x+p=gx z??{hvW%4-iF++3hhb`~atxKjo;o26b$(58_YM3hcYME^J*`%Lay*D0z%3<@~;cjz@ zR_uZg>t8%#&71i`P;kD|I)hI_Oa3gCVPb!#eOgt8Sx)4}HsQ&pF}swaJmr)=EI0ey z!t;~0bm~@@Ih`B0->6pIVYT;&%MJV*#4^7vWMccLrcGa`D*jj!GhvRW_{k;O{Hr!7 zykc~I7rM#$l>qy1hpW+7dPUA{6xcB<chQ#}+&V&eTr*hCZe&$|vEbtirspdeJ^7et z&ss7+BJ!`u{23YocD_Nfe>dKgTC>l!>eXU~KbM5>@4Y6>Az)B_EaRzx<J<>gJ70t( z)s<^;_P-2V-!fqhM|tao1v9p}y8L8XKfO(?@`;FG;;IR6jRLN<->*Cvd$F29WGeHY zgD!uj?&#d@wXLfvom+NMLTtW__3edA<>o0ZF5$Sx#}#w?hr*L3-7ms#<`-XeD_$J- z&UsdkT|`mz^-tW2^IS9{)(TgzuJYRExwgk_>y$0eelWCFRJXU@6qU#oyXV&|y-gu& zX6_qvqs^1W72Py`yxCkIZp+!@thDce&W5(Bwz*mc&npW9wlX{QPrWw(3RlO8Vh7i+ zMFMa0PDI~&B65Pk>P`5JPm#wDD@Gg-C=QlO3)`2Xp`>5EV(ND%x5!wb&ZEm3<E!pC zyE1E@S=n9Vm2%MBVp{NrNsDX~^W9IT>|fs%XfIZMO8;hFIY(;u!>Lo^XZ>fmWo@uq z=2eK5l{UxLgW6xTbxi|5YnT1=GJUn)_-wlPqs*vz;ZdbiYqr*_oDh;by|OcYh4X@l zy3`e0eoa`rENGK$&f4rd`q67Pmo8bM_RGP+uU2&W(xwf48JwRK^kc3`%wezM61S+D zdd~G)Qq7gghi7|<6>Pd>*?QeG^8Ult<ufCr`AzeG2fVy#_+rb8sKu)?=H{!)t-khJ zTR2h6SUA=G+p@#ad5IP60pVBE*9GkQ%x&;GWl^5*0*#0X|5mU5rJTQL)AeWjQ-x)n z{xgKyd<ws=5!dxofysPJL@WElU93#*vz=xr%;gNTD-yA~KQ&3}x%StovsxMchM2zA z%}aIstvx$yvs@Qn@S?w$_bhe!b!d{VjKLC)KYiTa-%PYEWIY+{A06r4zeeZ!uZ34V z0xIu1JYDryaMRwkGh&sMmh@|{xIXEx0Q*J$Rrd<!?QJ``SEOh9-N<`hNwvk%XZKW0 zo!EE!{7H8gKbfsjeBt5d^RjKlU-i%HKJO}P9KRwy_4LHxPb!ORE%jY5iPbCY$`YAq z&ol3QH0!sZ7bRIDN2jch4Q=_t{a&l`#-T5p>~}Sudm`HI6SVx*`cHwMrdsie?z|V) z{OOd<W7AR#pK~9$mFG5cm0Bw9HQ!vY`1y>;s)oJ~f@dS1PMz{Ex<zH)Hisl}vw5d) zeQOba6*}dq<f%#TCr0k)eAc>rq1OGNEpzqu>TQqx9Bxo2v^PI>{>7po^R+V^l1>zS ziqDKodwpHi@X4Z|aVL)cxuPL&5wP^IV7H_DsY|87Q`c)fJUnTec2?N_sj;bF!nQ2l z6T9Mw=w3(XSIbPVPh#h=-o0cB^IhYITy`Cmv85Mu-&DS6eO~oQ^z1YLNi&UnkF5AL zY0q_z*Icf9uEiTH;5C}cc6rv<-An5qE%>#v`|}j;*~JsNl%tzOUO%$!6+Aq3>R*B9 zOTPL3a)|$_5jb~!iO;UmSoPL}&i-E+Ht#oWKWcsYYDKN-o3H0L7sQKp*?eKq+sjob zdCr6JxRm}L?c%G96B2haI=5A^D0p<o@_gRNAzpL6#6qgLHKAzJ{0;G$Ty;s}i+-<u zF3uQSpx|BZb<Ahxy{%VPc2|C5-M!wVu3_r@Z>Ropbyv04yZ-Ce*`hIjdFqpMT|8eJ zb`?3~9r>gEd)mD2Z{a^%pOgkYTsOBt@b3a;v8PtwoYy~{wENL77B!c-OdT6e9#~=3 zdn3ZP=Z2|?#CFyx{Q+}rwmWkDSr=w}&dBfXu{Xk8y~{5B2$F64y_B(A-n^mF$ozp* z(}`DHdyeGY4rQ19$r5enCOYfR`qDHr)8c8#3t64_>0SuEo99{-x!yaHZ>Q5-^^&Ib zXCwSwD_`7<J~lhbsDSHOrDf93L%V0rZCSJ7PlR9APxZXNf!im}newr?VSi}ilQlQD z1y4Fu{LyLhViOm}4$GZ;O}P7IKl$aUn^kx_UDml)8KdLM*Tj1LMZ3Y>8(h_U|1<Q; z&0PFNv92+{Xb<<ob}{kUcH&Eaee*drZ<Z!U(w5!jf_@5&yKA4eq}-Wkc{-=D+$8DK z>r=mVp2bcMUwdU@l95}<X|5SRwcR9lXn*C_SLBkNUBnw;`E339DiP0KorO1y@9Mgj zZn$%1opy~u`wiCRC%t|zxOVg6Ua4h?d*(j*W2gO4O8NPtpyI;`;V<Sc>C1B1KWlRF zVkZXYnP$mOn~g3mS8AK{M6)gNC}Z^*6(5F6i;})g=)b>VcR}OIi2Y|-^QNa42Iw9) zT+_W}YxI+4s&d7<{8JvCtnK=IHnCqx{H2z%*@<2Ar>s1zW~^Ov@EKEaJA3Pe^>vwZ zji+{dZV3F(P-&?t^J9wOU)6$1?5@=wo1ULKZ5wXqFSUr_lLp7WC3CLrO=Rwleb(~w z`EJf8^S*$+MZu5rRdk!zEN;Hgu<OT~o`<K4jGY4|Ma*Z)nc3)n4JftlXnx7DS>#+% za23yQqpzxtc4?x=^c-I8DEPE%;<D7r6~%>>>*fm2itcf}t^FWxt)j`!GZoLSJYw2# z^wk!bkD?L>_caPC+j^Bx%WOQxVQzCl?ZZ2P&3CRj_1;<Fl>Y4Gk>xiI)_uNp<q;nn z+XsdXk7nOk^!U&{uUk(<|8-=Zb80;D?A@tt$)-$qy}n%0)Uyj%?6K>JwBcky-5wnS zhsY;;SSKG@l6orm$UWVf345<d-!@p_^I6qXH^8}m<x-#2sh2wiJ8t-S862_ic(vqi zm5!s}*Vez=x%E}e@0KKn38fuSXJ^zo(X_*nug<lg?Ne+1s#8^_oW{&;p*y3zbo2I9 zOnJ)tP-BMx!@1MTkF0V3s;w#WN$W=PXLGxgd4+p81B%!co)*dGGFcTFY@WQL_2n$} zb*|CVQ-7}anR-)U*TJJ1(jQtLTXY&v^D1fW>Ai2tt1xpT7ylaF3k;GLi@bgNUNW27 zo0vTD2uQe_eSFg2>FZ6bUhJG>-cmlx((AX*u}H5o<_o!ApZO*b`#El>$PF3Sv^6ys z)Mst@GBszh>BrlL!ed2B?(LettAA$TnRu?gX|bj8zvt}D^ZL9|qjf^(-pdQ?^HuW# zJOe+gMo*nG(N;Bu-C*shSMRQeeh=2|Y?4{Ccyr8`SQA#0nzR#HoIBi%X6tX!xbC#| z&+1k4=3KusX|HK~Limftezm(4Wxns$NjVlfmt&J%&Gj|<S6w<TXv&MZ`acW&teP@6 zaqhci?vauHtNsdrE;5c<F>#u=?cHdOgL&nw>0h1LBJWnNxjThh=SL}HqNQMJ#;5Rq zuQmH8mHhe5u<6UDGy1!}o(s!(otpe&vEk)S{~4Ut)HH3H^K<3Qo(C&tzX~|L=v00s zx4xmaYW<?dlQESI;x9J+Tp#CcF}3u!{#`fMNXesfo967)E!xpKe};S9>bEz4>6>0N ziM14+^OMy!_wsg)zN~96wd!7_*&91;+)^m8HF{^#*`uXT#FtL!zO8rO=K78G(O%cJ zXSinU<PBHoe6~;f$y(m|92y-z*N5gicr{Lm3wv=rbmq|$tn;+fo|^64pdLDXj;QgB z9jv9#HEP3(Og8n;+V;C-SEs{EbIzMCH<X{2<lOFFJvVQSVQFkhV9h6u<JLM`uPl0Y zPA0IZ^ZAUh&WmaHXYJVVYPs{G4f6_ubHz_gJv~!)|4+WG{|uou%MN7pUvQdn+4WoN zyzQH|pX7b1^2F))p$#XiR(^QRX!E?~U6Z(&+vS@tOQ%W4Iqej*-XPlhCrNx>c;IxS z#cR91Zdp|I$+^Gll$~pF@YnFCtLz22I4--|KijqS{jLSpCp6E-ziOWIc#4b0$>*9J z^A~-7vgwz8OU1^r;-}j77F-YBKYJMzZN5eBM7QtNgC`lU##K4G{0*6y-+HiUK1blE zK&j6z#nz{8es=xoo%oPDbJpb(O84em<8xPCF8W}x+1>_+KbAXF=LK|czT29(EbDp8 zUAqU#R;<(6l0x{xlNv5h=ZNSoXSjdNB4D}anY)jQCqMjlbipReGk0C;3$(AB+B>XW zc$H_z4yOY1Cs6@1o183TQ$N|xPyHpZZn;mS(AvK@rmvbVRN0!-&a>Km#T!}I?vUNj z#JhFHBKB5Wmb!ll%=f#*z9PtPCqv^)1;JSo3+KuNROU$D%~}0dbe|vBC(Dk&j=X}q z7R+WlSUqIYOE2x;_GC@}9G%4vdrsZWGxz5%4hyoeZ0bBL`#7N?bV_TrpM#EN-m`G= z*`Ygcz5Y^UkzNolbh5Ok(>EnQ&Fj3*$CWeo1?*2{_&Ig%o@sACbkFk;O!wJ!%JizB z^~D+P!XNipYWL5GD7eu*VHRJr3A=g<)9*!gr$s;XoZ5aeFUt2|_`YvJ3;#3RVavL+ zRom@Y$NF8*x?Z38#vm;l+;Dz=>TS8I)%t&?ZV7xe`>vqnk3g2)ED=thBY&P^-TuVs z_loOI>*ZY5$1LCUQz<s-a^hJZfg8_n@JFa*^hiAC`X2Zx{P1Vj1r>Rz3Aqm<G#-|< zx-EEbG3WZLjhvqg;|!8MuR8r=-&2PR?{%zdG&iox)?cN#t+_HXvF*;G^H&|7pLD<K z_3x^n+zPQjQR|~M&o2xpK02!>uJf}@SS!2bq@8y?C7*NE7(e1V&hv@8;@2U8=SQBb zisutf;Zv@8(@<t_(8<?(H}re|v003d9%&^++<MV^*r@+v+SAIJ{(47sYCD}i*i4;s z-F#B>=b(#g-_2v5x&QD*cR_a3DbY^rUxaw>cd^&&HhsA=qC$7?NoFR`opUDdG*{LZ zZe3dWY5`LftA+KZiv^Eo9r2r~U0*bRiuSIWsZ-?tgjHBNgs<$~mACfUaqX3d-rjj= zdP_W}soC3LzuURQh!vWf%4@u2%}?wOEqHnL)TPR%W#zFCTiK20i004Q_*Lto@g#QV zBkHP!Ma7C)maDUhqR$@TD`?>nJ0&uE=H{lq9B(F{bwB>lrSxQ^n|Yg`gT@}YZVTD) z(ALd$qVpI17PWo);pP%exfPF|?pnUgk?|w%RoU<*9^9Y)I3^iLn$;{wx8;Z^FaEI1 zx8+X5{Mwwv_^Br(S9`=S+P-qC@Yl#Q9E_<)-ZVsSlWJP>dDF)2lO}(1`Fu*?&@+L@ ziCP70R(YxxGT~;5+>!Z(H5NtTJ0z31jeokRz5B74BYx5BpXvwa*c|$Dwsv9F>zg(* zjlRN_7iC{Q;dJtl^*R}G@W(>7{|r-O`X^nkc(+dC+0*V9f%~WE-;Aqy8u3?<Pgvbx zO;^bTg~NqeYmAHxRvuF6J~YS3)M)EmPnTNZKB2d-k9ECn`(^3a|Bm}>+$#5PQ+tfP z-|O^63hXyHnb%=+N_}0T`^l2-bFI=pX9TeAJoVdxwd2p!pG9#y56%B{`nS4JK}GTU zT~e=C{_G5LoyhL6W{+G&{>^UzDX%+P*Hr2`8>Z%kPu-*RO(WVcd)+(_!DXA4?&!0A z#Oi;s>c$$C_ay;2%0~NL>!NhNgjv035_ze`I4?+iUZVTe^j8ftUvqy6l3mvAv_8M> zRl%bt>)02%L|F=~H`vj8c6(U8>VJkFg}ou?=cj%Oe<~K-X60q;;xxhBpF>K!N_*Oo zjP^<M_RdXvvVPa4{|sCYKipaI>y+@hZ*IQJt_4({)QyR#6+bG**ZMMt<8MbeNA02Q zYt}rj);R0ge8JS`WoFp<nOsNj-wV0Br=jR@*OB`|=GRN39xsg9rSos@<m;PX&gwpS zwK7#T;@9F&jFLN;Ra5grmwW5qjsKmPd11}oRF`P6#hXH}++L!yr$@V1^ke0r{nt0y zb$`{e(v(+NV{=fevM>80$Jea6N{?sli}Kq$alZS?LypQ-FOq)bGMgmm-sPRnQ!?*_ zwtlFb%+uOKTi?!f@}I$2RUE%+|IO6D+V6Hoy2+L=&@A}0$?RzM-H7x>+q}GUWv)f8 zH_Z>)a#|s5Udq~<sqas$&baLvW4Gefop7z2JXe2ef4ZWWn_pTN?p8E6Z2FJs+*Ru@ z^6iueyYBS#?=5X>)BJ$t+V=wYf7@EAD08JK_}aTER;}N;?fp*kT)(|R?sV1EvmRe# z{xhtsz3$T`nEg4}ayH-T`HEbX-KBvOkM4Oo?Zw09S)Xk#$_g)!^S<ulZn#Tq^ON;< zS%S(w7oRP>`H8XWQ}7GVH;32cvrdbQ-}IlsRVMzDNPCrN_Pi9GJ#Jn(+~%qr2d|y_ zd@Xc+t*{5*ORcXAR!wVa*6rA<8vkN*<hot!WOa6Q|6KoWrr)QTVL#Gdi_ORhH=RF2 z(eZR>;!|xy`>81|z0VI#%I|KoHj0}z_3)FJjXIyNI!Cd6%e7p4FPzodx_gbKpKqWb zo9hMTd0+H6g!jaR#d*)2eyC2v>4K@ERLSY*$2(S>`ssAO+qIBS*<o+_(rCR^$vPeG zMg}iTeJv6%7k8#tZeAGq<TH!@uKx_TxY$`fx9e}zw)}Hp?YVP(r>pc9+nwnT*X;g0 zRry78oy>-H(m%SkoQXZ4^Eccwi)BY*?}g&9op0FZC2tac<}4;}!q}Y6DifPn;4oWM z!73^*PQ>)g<nt!6)))72-F=)dpmfS#ZbsmzGs>ro;%18OWH{bwcVpu-Ri9rXAx~fJ zwAfv^x%3x{@~h>1U-G@4Y`*SNx3sb-(s#{<Ubc_Hc8T#94@MkUmYw<D_sxP=x7VvM znk#um@-1OG<8<CkVAHSF%{J47%Zs>AoLO(G`+SAtqT834PLvugezTajJ72rBPx@l& zuJnukzQQe4Yqo4;Eq=17<cz`@y+`-fh%aq=nmYetjW^5tG|$LJrtjhZ8MHcL{!FQv z-2W_Y+7v^{o^{KQ8Zhmief417X~AEsx&L@q^flH_-Rk>qwdUPVTn~>=W7xexj%^*s z?dXPOhpzKobr3L&3Mq})sw5?nvgFsPojH}OIm-`uZC&2!`gUefalyNU$5V3_EA2eD zf^ohnub%Skrr&y<&F;?@eA<u^H!Xfg?Bn%k$|_UV+lKsAO`0g2HkBda$JBY!tvh8y zKif=8UVAN}F0@6qV!EoW#gwmC^hG{1y4-){&QmqDh+T)(%uk`1^SGkf)L+XwcJ~O) z-`!$xXKKw)-FxMF9Lz5^O!!$Y7~oea5x+uXQcVNby-jVgIeP;;=R_@FJZ-A<=hTdC zOVeL+CG0q**Z5?k@H7XWX>lI!k91!;n0z&HzR|{_E392L<`cF@#Gha({OI>al<(gK zwrsQJ72I#uy{_n<?2z~Vxb~+<n;Xws%)VK}Te&0iEZcVH>~&&WV=5iqFl0~apVXW7 zwsqRfPY&nBT;l^P<4dQ{dfXQl6!k_SUu>CG)HmxkH?N<rhr^8*W}dWO^?*gD>&wX% zC%3z;z5SJA`|O=-?p|~$OnDUgFZa#wQ_9a;-#*%vDUo7zWX0<v7nbkVFL&DRzq*Uf zmNSyEn)TbOwewnykEK_69k?iPvq^8$>5iQaa!Fy|zfD!(+u_7_>i0s+Bj=Q72R>aG zc+ur&WZJ#8+(#Z;noqhCUAnYX#?0mLuANNDs(hK5%!fi;7>pEsvI};dvN>@t{AuMy z5B_tf(r)b3k304yV(W#ezeJ}bTVHpPX3*gXuvO81p%)gtab^6jSAJioG%$V?<+Z<Z zomEzsqquwOH$TI4If2%>N6T5Os}?HRn><@Q&tu-kSq6E1dSL~D>WdfVi~BXQ`#HCX z%y_{x`4b28%#T8I6Z{&FMmwJL{IO<j@)GS&TgoCbHnUIAy05f&{-Mw#RhqwaHl2I% z`5IT>s*;}TJj-uvU3)@iN=4F<)iFHXVIP%0GtN5yyCK+a!}565XN#X|zt@VMc`l&G z)-n7?G54icyhlE)6t<OFpRdBmZu2xIW1aCyd25Z{%RftFEmxTB-L+=VyQPbNIfR{d z2$45i*8kaQJKv=Jr7O2QSt4L%q4Vc-nBX$6M^>jc{$x$G^^9KN@=^Ha>w*xzq6h0! zS3C>9>mSWp9wU1xByV1dX8)?q%YLsq<<TgqIbW66PF46bxAlwlc>!YKFLr$jYe@9J zm?|?%BzuX5;{Ivkt`ikX9X?&GJ9Xk?L<&<sf2Xv$ZOHuv+RK&}`cLyXF!gAvglpG% z?^cbO=UZ6Ul~3)`DJ}XEWYoQ7>Zxn3OLwgZv|5n<Yq!GREB9@Vr|Y@K-qgPt{bc>C zC7d!#9rv4Fc46cd{P3+b>`VAh4fChU+nDz5(*BmROQ-j%^5*k1;}@MaHORfb>CUt+ z<#VF#E4dY?o|-r-{~7o1TyA@hFtOg(dOEfo;m=E%eddUzuW%~(b9L+0`mFxXP8&Cz z(fOMgTbZ)f{L$2>vo@MP+%z}s^)*A~3-^94{1&EuGVZnh+xXJI*IU^ydcE$na;s6R zR<b!Kce+<ByxZ&YZ?8}08C)DPhZn2vF|WBY;m)Jfy4PQ{{xg&=$&wN0{Iel!S&hpI zdsP<B*;DJP)_ghXAN%*twdg%d{ms*s*<4p#qgQZSo8M_qTzBb${|v!X+-8;4#m1iG z)n_cZpi%yJl~d2ocAdquzHGAj5*6#V=Zah;>x9Oc+^q}uF>A5wdi}kA)Bmh&i2laF zRprmjTV;+;t7}n~dAD9*=P~c)dZ*K`Z`O}HA^&Z~n@=a@cWUq~H`@2gb4w9u)6VM> zk857@7k$05=H#<YU#5P`+VwSV=9+ySPi&_COY})>+!Ovw`<Fw+Mtkk1{i)xBj9-bi zRPL<GJ0x`TNvcbwM}VKZ-g#XvBeyUf?KjIkcL#R7RIEMhw14501Gf(=JxuIA=d!x^ z?o?TerF9GIA8^F&)P9-3^z@Wh?xWw=A{N{1TBB|gd5ZbLi8T(t68*Sz*8g4QzNR(# z71Pn&HwS`h#pVUy{Jm!Ld9K4t(n9xj{rnvKE%-b4xA;Z<GlQ2cSie2t*P_7RA`dR^ zW4+L5RHDtj^GSEU#LhJig;~NWOgHcC`uFzg_lONI8ARM9%6qe{^hMfki+TB9WU3Y6 zxq9SN(}IXknoD;**D7Iq{WW;8>mlo1pJJBlc-fus>3Fv9skiIbLapZ~8n(K`Urk-~ z=#c5A>1Kv0;<sL{{m(F?ylLm@S<kQNs4E#cF4ow{{YGH&G`A3bxlNmn=6b2{^d5Hl zbBp!&8XHCVrBiCJO@6jhoKGR3+v%_P9p(QFSrcrue*Rn`R@N8g-}TDQi$iX;P2W<X zr4j|N7W7&yjd+%~zwqX?Z7tDLuTGz_F)*9^q(i28_`F`fe`{|B9N)X{f~l|1v+oXn zZtZ&;Y}jx^(_Ud+lF=p$-<>Qm-c{|QQ$A%nFc``vZ?f~Y&D-~Pl5OY}-W&NcWt^8) z)a*4Q|6F~1X2taxZxo()z2kiJd-2_=Isa62E=%q7TX#;xsGINY>A5Ac>y<V}>?=RO z<r8y<ZH<Nc#HlB&P1!9rM({7>=$uri+Lmjqvfk$E+A~vlUKdI(@~-%zW#=T^Fs;4N zd=_tyb3o{Ud8=e|a|GCXxH*Fy)ek+JT7Fu&Wox{e>>aC>m7f&T)lb%5k2vXn#%ud` zrmz=>&!#^uot-fExu3VCz!L4JYc!so75CiVCi<f^LgL#FcLB*oF@=ts6Qk#K$1Pc4 z(miw6hKFZ;?u#T`(GdLXaDPGki;bpBukYYsxSO&quyNhrPvI(wXQu8B7FUv5`>EBC zq2O*h-;ajK-iJp%%)MvfCOxf1y09VY)lb2qxrge6xXzz7S4t06I5GQS>BMbc-rcu5 z!F*+EMRtkGO2tLLw@2(d{buRG{|uL|_&>YLqJLLz+Y~9?)0^j;u34;e>4(=$$*hpS zQ+mEml@D<)KW?t9@-N`R=AUa+AHM6o+#RAK^g++*Xy=U>V?~Fj)ytC$@&so({JExi z@}^#LzydRtn=23fz9p*su%m_ZtJDgcx6Gz%vRibX6mjd%y38ki$a?AhiK|lI)JYrG zr11W}qd7U}m&VVji82dTUejBA@WYz((^Dos+<IkR^a1TVu8mxWerfbOEvfa|zeXo| z**ESsFSDPb%$Gtu&*dzsnY{Rv)6NescJ<Aj`MP>hg6Pl1E&9Airmb&{GTLt{I9a#k zZeB}sadugxu>DoWy4PRAzi`<^iB!pD^iMkddttQSYC-XCoyx}sOMba^3s#@`;dQ!r z&f>kyb5fQrzry-*&+=HqthG<I`9AO5BKqi)Hviemb$h1F==GZa>CohtvYQx{&$<cx zNqTi}A>-ld3Hx`wei!2LTEq3{!>ft&bUL+LZ)#5NKEfGbQOUxv|FHInIIkV2TbMQ+ zo5rml5&39qi}qrLrxUaex1{Y4{oPvM?fPBS-8ZD<tk>>#&o}+M<QJXy_If<~)mC|- z?N>cd<*C-i=Iz-MB&}pLb&BBJ>r0%rMKLU6Ip*l`Q)kb_{b${;==ohu7dxTZuO#y4 zK=?2H4Nm_YboQ)kZs<#xIz0t+amLK>?1roBVs>hOJ|%j4?Js?uiI*={eD8grv$xvn z)0<wkQ!4BUcQx*KiuVT0U$x(Qp}mOQiC6pnPV1j_PyL*@eT#_4mDMX1wBv5A{-u|# z?-?lds+#v5zv{~8imdjf-@~4+PyKDFy=KqT_zSGlC(WCtRhO8he=_C$ss5|}Cv^TC zDLdaiBkT*;<0tE1mKHuQO;{i)&!ZGOZNk-QtJ|X|1$+w2(==pF72C<>d!*Run<VS& ziE(@9%FfXX-&FooO5bMc`wQw!>JwXK^)LE)afiRydF%A|z;)B&;zM*l#jSp~c$Jdf z>h(&quN!z7@2+MNJ%2HE)sLxLWUd}RTbUsuzsUY_((+Xs=55;YDlu>3Gp6&=Uh}30 zt^XFkB7UW7?Ni@BQ`YQRSl7Y7M&sw|zu{AttdE$m(EYC0%M+SETkH}J&3PJaZa!(Z zd-Up;3prLO+pYc<c;0CJY1aywcYE`=&ODy$^yQJS+2#aY9bJyf^*8Ikx^MbpEBa}+ zcFmL-%0VSTmJtdm5%~=3PhIHfd=m2Kkdk54>-C}EV)lxZoQ=8`_2=>;qg_m&rC6Ie zUVv`iQdqwBq2H{j%CB}QSMEKd#OGR-7V@wAyX%ry%O1+FS@Y-eVx@AQvIwtF;=2kv zCnj^h=hl4M>U(rkVf=zHw{zAzkEi^(_Fnktl_L&2rp{Tfb0T1FcF$aG{kIXGpM>`R zEG<tcvssuX_3*0a*P`Crsmi9d#eFBYReGH*G}l?`^Ydou$`z7}4!t?o`Iom*a(&E{ z?3I4=+g%R${BdDrySB41sPc(Ogq-)(cguM?_g-H+^{<n5;0dR{*Y9sSdHh*m;nrs{ z>la=XFAn~utsm)f*KbZ&?uQ9EGQx8ef6U$Uto5SJXE7~q&#kw_Ux>`U^)$X^c9U4t zry#Z$<~%Wca}9TTY~8uy$FW~EZq;2f<{evFlLe2gtMzoK>zMIbF->=geysSd;6m<K zpJ#@t9Xhb`WvQg&?r8yQt&jbfv$bt@+te<bcMDGLU7B}yM-E4zOpN!Nt2sM$_KNQ1 z440^E3j46bTw#$?rE-pY;7QkyKO8wW<Q-_TTyrz$slTbw<8w^g7w!D1Q&7bjWS8Y| z|I*8KQrw4jOnUas=ShjyVR7vhGR6g!Yo4FbnC}tvK0<bq3*(e^imyc5v@5*k2wYsV z;_|E>smOEM%JV9wL|-g^!(x7BU6B1WljwUbE9I30Y<A3Qj&QScS*e?SZUv7DFN52? z&8c%AeG=}Id&j>^-%RV@_Q=|RoWc}GzvdS9f~oc{$Ln%$Xgz<jc-iVU-AZl6XX}i` zv_%&Oa=$Klv3G6CZJwR_7X@z``7g@&b3MlSSE7T_-3TX%O*Tz!FD#YQ^LkE1{+i+* zJ;UL7d&?qOl}8S|_kz|QT^VfrWZ#95N5z%S*NwUTXZ=2P#J}BzGv(Ln{|wUvb8hoJ z5$!(O9jfwt0T=7~lZo5PW8H<PJUa4X1FPAmw=UY+t7Uc^<T`$#HD@cY8{?sOoLYhs zv!Aq0+k7C*UbS+&utSWxt<!JTB!1If2j`ydYL8yBl1*Mr&n(=|MKk9{+_wO`jB^1S zt*?dd^EP)|WE{hv`*i8M@cE}X*YoXpZ)(jZ!FIMHi1XnthA4~vBO5jyym{)v@k8P_ zBmMQ6^wJb0kI040zV)G@Q!eYzdUchLYVO=lGK*ddUAT4hgizWw4Ttj`pW>u<NnOb6 z_~@=8+jdU+)9iiHmG>l9mg!h5h;+_M&Oh2%^yW~h^+Jaavsb8J3dq<wH^idASgre1 z6Ng;ZPfbI^lWCWAPORvz30mX!VTYna*-z<1BIZ{n^kl9KT5!boi0;F+6Pw$G6Q=G` z`(C2`Iq(x}!Oy!6{70>itYr5-5Vm#Ao}J6?w>yYGpS|*A68i~F#qTd#|1`vHk6V3F z=F^_3vnHCKd-d#|_hl24un2$a30E&a3Y>2Gtf#VR&D`^cZum|pZ*z9F>Y1iEugiR& z$B}|tUb7t~TNUO_JDD%~J+R4AT<&hwf~xf!-QK>qYI9|3LhGLJsi)7TK3VKIAvP?s zH$>8APH?l&eWe{qzgF0PTiHKp=BG%0i<sxyn)|#@q_h<6PTo}Da3#r?{ZNh*UvFM& z>h3d|8gBBML8e*^GhO859AY#d?Q8Xuy(;#CGqP%}UB><29)Ul@eZ!wITSTABWQk~K zld&jjtzQs!E-!eedEaZDE!<sfy+vOxy1Ujqb$mXlFVRsd?nK_~=czAty$b)zed_tu zsvE5HCorae3H}yzdFc~Hh3>pH{~1;|ZT)loF7tJRknAf9m6SEKEuW|GKi@n3we7r_ zqS=+-{7)z@S6Y1SRmtqd`IBZeo~l-#R~BrX=XD~gR<Lnx%i6$w)2Gfqp&u&P!m~6= z-RZ%ix^z?aX<7d^EM06kk<0E?mC|C<?^A8d7c8h#Ri3&uJ<pN(lh)1B_+9pw=Pb0W z=-Tvmw{6IiB}G^3UhB{5-=6;Vro8Gmw@PjP_33YRmbug%Pq0_$cb=oO*S_gLgX;8! z@h_GsFH*j;eq*Hm9i7jYM30|YTqjtq<Hqk9_-X1doxcpR25YXwKUwfOewW~SyEBho z*`;qblxqE@qjhiHlUb!@&3fl*4!9*Rb~=AH%6z)VNr`!r!u)2Q6N@X0x%!uDOZQW& z6*3p)XMN~byLGVmIcsg#->d&tYYOjTI+dHfx~6H)@4BNdwV}taroUo(6e-svR$MLm zjaBBnBG=<Hr(R#Iy1QYoQSiUK<9>UqjZU}yT>J28$?aeIcl~2;aNc)nuF8*O{+IgK zYR&A=kuOjB6;AqmM(s=9>Ptpp6Mr^!mvEn6p69-DYR<=-k&?U2EN`q?^ym7tfS#g_ zaoe=&R(*exys0ipK=?_jyZ3?cy$h@2UccGsx4qBfX7fXpyYVq|wWocZ$o!0J{-;yC zW=Cf-y4CDl@zZIS#J<y)U2NVh*nW6dRG8Dbt=GS63s^qV^6y?`xT3A|s@UtRF;z{Q z1lv{YIPPWHyXr70n~Pd$S{21_h_w{hY!@)+?H#9sOIP2M&9$94v%4eU(F4m<+0mzN zOl>)Cn(n&J(fKpaweX9jFBbe~$l6%Gd*`MjrCQHdWIO3kJ75si@VsD=$_vK8f2qPR zxxf1TS#I)j66am+N%E!gL5r8ZoBc~a=K7oUpQE;Y&sq6uk<A3IuZ(+-D4*@Sr&_nv z<rk~4T*vRtcH+}D3y+v;+k9eK@v|&mPR=*@6Knh>slAGc?B~3;>nwEJyz2DTv<szs zuOF3UNxS$_Q@A$lrPA*MqQ6^PZvE1Hv354wYP0tl`;NwP`x~_>^YlJ!58d_Pu@q~& z$jL3=9KKFTa9=fl(#FqIl;>W&RNC79>Pdp+l}Rmsp4Q!+pIXRNx#sx{U*o6TU$u0F zi*1|k<^;#^Gv_7R-cy&}v3z=Bz4@oOT`Mjh=}BtJkzI87Q`By8!NAiF)_E@sGs4Q= zhy2K!sra;DY2E7YG26FyDS!1lTyW=UOwF}D3)K2PFn2w)IripeZBw)Olh8BqZKBJ6 zb?xn2uyT6;%Ob;dK{KVSURmr~wC|Lu)WUh?g<8L4Z*V!Db`tT+o3O*<xw^^yvnM4k z8;RV$vc@l`lzaDyV$S1bH)A<dJ(Z5Gothsy=TpPZ%GJAB`UH$4K3FY#SG4AiENA40 z=h_CAlf;ENpIx2$=Q{r)wZjji&rdYF8{B^C<X_&ULixH+HndxA+mR7|v1F>?3$Gf} zAKu$%iG7RGi<x^?=<n@V?-+$XCJ{l|R8AY+I}_Hd+wZVg^r@%W36oakOM$;w%+tPS z1o3gdTx6cT-gsr?jVFtnem)Gem}|DeX>v19)GL9Bhflh>&u-ekFd{#(+(!RqZPQ;7 z_b-zK%M>ljJ1tl4__NecXNy*0;^Y|tk9&%<UM>?_uv?~kgK6Ty&i0O?!2O5Q8n%D0 zJP@|K^3eQ+F5E?maYh#u<yxk8F8X-LN#?^d5jo*Shqmu!48N=qVEIf;ChAUWd&Pf- zh`_HLXAfQwoqjfY%2dmlTd&0hgt!S9@x`Zj?`2P^xgwpZ>$s-mz|Mm3dGZ3mwYLv9 z89v&f7<1c0c0%sS1M4fETkf(*n{y$i@L7zA;FG{3xt0tYH>4yS+P!O0-QW4I8X}e- z=9{plrfcU{RiEb*SlzUbwk&%8D{n`p%d_jVS<;FxDBM{-YtHuVUKV}H9V{2^O(jc< zw$)5`t#@r-`jk2O#0ths>+aZJ68S42WAkSDyu^6DfVoo)?yPZoRIGLDnJODkSI5CK zlh)*}y_WFq?pd=pPrEI+zp_?-4ivu_edU`=w0GJv4?FK)TeWp|>IAO6dZN$kkJe57 ze@kPp|CqC&_^Ra7q|LuHUKi|pZMk(?ysN#@MvIp_nEtw_|7QpZU`U@i^?PK`JC87{ z0}YL@8BYBbSz(#k>Ug5mrOzhbweZDL<*TU^H*L5)Y5&oTV7mrge$@`?^E|o_Uurym zdeeS(Y0NK%eRn5Me6_J|m0!%lc&@*P&R?uu=-e)_N5p*j$*K>hw#7_yzMA@4<HYqt zVIIAePCFvyrpK=clxuYnJ8@2Qo%)fbK9!>LPj7hnWRLaPZK9>S?PnG})z&R4y1uA? z(br86KeIepqg3%xR5DtX`Ps6X7R_Ix|5iPz)SL6LkZ;nG;_accetSAz-@GW*KU!IG zzR>KalV+z^e=B{q;Lo8CPgSNa`4s#m><jnh*62w+f3Ck;|DPf2MCA&>=Umqvk54`D z=JnDkSw#W7kG}ck38cIi+EggnaACjG@)u(6dfsnUeSY4ox?8p4*YcvdH^RQW+4)Q7 z>yEH{_A}P}75r7tzCQK2&F_+PhpLS}mSxx+I=$(%c1G)#)0^W~h0pWWE}r^)W@Mz( zY(_~|h1$S&pEU02x0o*7JQ1I2VBDeVe=hvHcK@WU+l%97tre@x<g!ay*AgdwH~UkV z*#*&gJH0-+^v{S)ozz>UxJ>m)h1Zu|Ge1d$ZawwFea#{h)#z#77SEU_&RbX%w@dly zB&F}y#QB{X<hI3W&hz@$vfeK9KvqcUu5*=5n?G&Ks&lNp7PUU+TG$oVS--X8z6&h( z^K&>8^>EeC^>*3cvi^dO;`-Ki@cM@JyS{FSv0I?vT=Hy>pt%OmuZ4T31$3Uesrggm z=L|pHCre`MOP{8u8WtY%h<trA?{C1Nq~AxMdc9nyE7<Q5Xta1;?CixI?;XPOUYx78 z>01?kLs@KIqT|zD48HTi!)CwczIL!`&BN5^irkf_zMhPTK3R39_2}AL7uK)X;M-@E zw|=5|0N*rK#`Owo>zu+qFn`*hv(JM^!EH6ie}=8@u_2v@inOa=EKQvrDmbrbnd&XK z6%x&6-1@F&InTH@eC7IXrG4bH!{lSRsd-gv{&EDaH{on<$vYUV@JS(MxnAmt%$`E+ z-G>vl$J#pOq~FVDK55P8Wp%T@yfx*$!-5Un#SWf@GO7ptuSU<y;P|=7-t2YMf_~HN znRk=UpA%Cod$d9GMuYK$Ob50XbNB8y)OBK$c+|8Yb?N3X!84ktZnd8N8vL1y|01(E zo9i@n!%e<VYY#?WezCyh*mO6`lr=V2H@}%<V72ygZkU(c_5PMEI`hs2btikD`n}R> z&gJ*JW#m^quem#GnuVF{ib&y)v5CB!Z@;^7dD7`KTUO7sWfIW4(|zje&a8cb6SWkZ zr?I%rTEFRTnXq|AR{56&E(P~F!sOD#0<SvCg@>8Xo+Mn!JnKmQH8BOfQdQ6A3Cq|g za@o6fbSkT@WVThc*x{kuz!_P|8Mtg!va7si*sk-ZPOs|xyh&F+bk2@wm6I3FC|CP) z$WA|OSfP1Ut-y+*wd~-t^`Es&FR(T#e#{8|?p7;e{=4TJpSzRTQ@6H?nXM9P>7gC* zC%L&ZHZ}ORtZ@FETJn%t;KX7pZjsBXdpaTxT7G2Rd%j~`Ov}1vZAH1&zs^oy)xW4G z@Wcv-Kas5U@3=nml|6cHr@~UX++SN@ujPu|#%GJm&#d1VDm(SNi*_oP%A?u0RlZvs z{obNy<Es?qp4xvlYx&ZLF}DvXTCQc{ofjOXuKjb-3)MSI{m&?|wLQ>yl6R&2&n>3; zvvyveBq;exWU|iOH;QozR*_t1WIZjl3oGUbcDz<hV9QtM>Ur+2_)X(KgBR;%gN@(Y z_&E->+lDVa^q;}CetGKg$xU<o|6Q2>Am`?ar_+L#OD`!j*jn4vu_wjUclHE}n2<kB zua=l8TRNnx+OE6Db3*fu%m&RFijg<`jjo<wqb5AR?WWr4k9(eZ#FqFSx!k4m@}#r3 zOug2IEg4H{%rws1ay{EwrSo2V(|O50Z`b30H!NPeH1)}|mF<-ly3b}@ytGDFjNwW1 z(sR6z_`<|zbH)UveG*>sakfK1k&JHO+_&0OQUvF|erKU`MsP2qg8<_Rony9)+GpNt zpOY8Sj}3Oo_xn71QuCbmI%c2aS8ZNC+dF{ao!$AVAC5C-?ff^H^VS@$imC}M1%I^5 za#utzaqn{4ynUaLaKVg9amM@~z6T=rFDM9)JXB~W)77-0!SZgE{!Jsxm<enD9?(q> z5?#Z+=4yvTv*MA3?A}eng>zaPg1@v*u=&Ws__RoT)|>?|=DgTxeLcW;OVlsXle=2X zJ@Y$Sr|waWe%11jsXWFwBI@zHE{9J>YnA6rx$$g~`Vx)n0Xt_t*_H8VndfV5F`4v* z!E&1?&7ZR3XKTjK_5Wi1PdJ^vvRWoqY7Wa+R-cnsQ<6Wezp(Q9$-0N`u{VQqYafZ< z5@CK4GWm)0`Bf#oIbxNmsd<unG<y@QM0ehqu=b0)o;1_)e^+O`u(ms`o5mQiwJeo8 zI=n1>UH3|H?$@)nuX?C{vf$^ou&Df4S$@^0lZ4M7>PfYnx-Mqw)VI|QTMo(AWibS$ zo63gnHvXl3hUY=b)>GFaYo=%ypRBrZ>UX50%b%7Nhw9JX%wL~y#MY}<bYDhNp+ym^ z{L-t_jUT?*zUEuftF;dwsqS2T=2#csw>MkYg&m!j7(J;&OMmVW{i`v23#N+wn;C8w z7TK>5dj4nA>2~df7Mrg|X6ROmYg_AI(4O!5i}fPM;VTNteyaJQUnVRLUZP!FZB^oS zD_zT9_4TCFuhuMH=KbA$;*;esLjH=pyFcj@SDl_@Kt;p7_)BlEe2BR7#CnqWiCavQ z_U0@W(dadAjQX-^Z=;o7_Ip)#zw_5OuQwI@8gBT^+W7LMP5XA92&{S6KR=~r>hw2z zrvA*>cVUhG8qx1lUu+5c8lM>!Uw1NK=dYFSC*xl%Qokz5yh6+V)LgdvQ#4-B+OAsj zYo)RJj98o9e0#1X|4QC;JZ52}|IdbSxk>wuOl6-kNqp&{nLo=sp0lPuO|@4|TKsC? z>s6CtKSdt>JoWIC)VjSh|1*?myNh0JeDxx7-t@D+&v|d{`Vpe}GFwx8Z)bebrmt^| zS8h6eG2X7rIPlV6@fqP}ecmUlB8%Sq**t6R4N0f@7pwH|%3F(8{@MQK_lk`+hopXL zN_}!MQ?R<xq#*NYs^HhKsfm2ucVq59V2tsaIBkLUolgOUUxl{2e>oUm$}4;-EHaDh zKf{x6`Dr!^dh;aSY<;so^!dXm?$2?1r|mZqzv(o8Qvr+cInm=+J@?FM`nsho{>`Sm zFjenO-J-wC{7-1Vm&-DJwO5~exoHx|6{dX$IkyxC+lLB2<8*$l<+oG$TygLU1M$E^ zqRlB!wNDfWFIyOsbSN))?Q5<(dmP2KY;#LkUK2PY@I-9%)wsJco6ZM`@ccZbP_#>| zFQQBLXRE^NT^v!<E#6IQDJ=T1`r)bT@tgi$?e98T$p4b-MioO_ZO)QE)1QW)KU*}f z`<;Wo?%wYlR}J^f+$SZ%^X%Y?d2w=?KjvpVNN~s$3%(q#o%x70`l@?qp=>JK)3Zl~ zII0~tH@caeJ>~j-Z)wec2CXwbcQmK_s|xOW$Ng;as}0?LDU0k@>`1w%@Lbb+_fFv( z<{huD@|Eeiv=-d{XtAK`h4|5*Av4drI7**0)8<tCvp~nzxHXL@=AhrN)?ZUU=DSWf zbgc7&s3@Pj!Y;k|OW_tL<!^8P>cH6NF6`C(l6@1qw$RSQ#S#0uPTi~sll-b^_3PHj z!)kxL?raXW3y*)XHj&Hd*-eLku_96vpXG&j)l8OEwtd#HvuM-C%b};fx5Rcf{E-Ox zdeQOu9F5+yA^g@W%NN}XlUf;Oc%`*IoVA*H>V?Cfib`fbI%Tc=>Byl&vQNBDy}Gkr zRp{;UV=tIZ<R0>MH;DcV>c6;x@r4NIYsN%*6UNTGRbiFSMEv=DTWhZPK00}D@dg2z zDA&8Kbtj@;&z+_&Bh%c}dD%#$HuQ3GoTk$^*-5dgcZ|d|r=1ZB`<Ct?pt}9a_Rw#; zCQn;fm9^)m{w9T;J8HrmIJO@VzGE?WLTlNBlB|#qGcH=Z<}&>hdE>LyN}Dh78^g`i zt4>|tyVT+S#3Zro8CR5LuD%oQEK57+bS^nEe$fnDC%(gm3xafida>pCIp``!YYTr0 zKOMArj?&T9;@3B^eO<G39rGE5qLP?~eMi=NFZ{~u{_jSh#m2O!^`TRDO}*^2{&lL7 zWtsnpNjo-19cewJqg<kvUZ=qIuuzt3TcF;A?S-imUCt>kp0zB8UA5kIN|IPXOnJ{8 zfupY;?JO!!VYZnz-HbW(m-a6)(e4=O^T9%wS8&fdT_Y{$!CY}=h0L{me$h*B>VA;< zbYsRzhUfOH8{GIODg4rqkj_rZI#iiCDeqm(Z)xMXhXoEPPnq&&SFCUUEOpUqN;aL^ z>$;woY_HHcR+Dx7#X4KY!1Br!JCp-LpB`WI`DD!NMKk72+F8W?P3yQ#i?+v;rzQF- zPi_R(Nec+D`IsGHwQ&1wp0~LD)1(D+jk#?;M;&=lt$4qbrAoBy*W}cqqJ1o~50#Y! zI%l-)JoI5hW4?*qD*LysOE<R^Gx7xJ?&jd1dhvPJ)7a%_^NV*)Fo~IR#`8q$e}<iv zJQJQQ=qN0gc(UW&<%!%jt=GQ%5>b8;zVu|I^fOi7-0YQy{3lOsJ(ni(v2yD4tCh2x z`YkqwonIxWc1^?A$4x(l-)7y~uUvPoe17v+{GTiT?~eG?>U$sdOgZ=E-Yb*tg<mFZ z4XEqZ{ycT+mR+A82Kj$$$z3nhz&~fjN9(o|?mAQcid6)D-lM<kujtPeuP4N^AKLG7 z@$6=UeXm5%{?f2_-DRs<+QG{6`JR=w`R}gzf0`~|tV|J)I}v?ntGnphf~D(b=Di4b z@tXTrbn2x2y5jFPouBmk)cH#y!paVzQ-3~RCE>m1_2l)*i+?-B7l}OFAG(II;6i)g zL@t%5D_rK>%6Z}NWk=*suXC1Dtwf6RUH`3;{t`aZX4cL!rixNV_h^RouQ~2}J8j)F z@#U<>2`9=-BEAOMdEF0KJ3aUFm7UQq+OJl9llZl|<BJPlSnH&dsX2$fZkW0(a_X=3 zp>wx#+vcWzkM!N%vf|XWAfqeVnm;?^Gvjux3lR9vuuJ@AM1APh_2&ZmLr<nGetrAb zy0T!aCr*+zyY=>8-&9%8+VxwncK)spKfV4lxK2N7aeUS(-9oLi^HTJ`1g{Tmy|d=3 z693bA=i<4hTNd5Dy!lJmleHEl1|5Ae>(-xESXZ(!ev!@BqVqo2mmblzicMcT&0TZ4 z=Fxd&k!P3I9j)t9jrb)xfz^3-X~v9`kr#I_I_b8#THi%EPBX5{-Yj<Cwl_O}>O62; z{XJNG&Y_;SNz0cmEtGdr%AKbA`y0pe{iW?Qwocc}7U)hBTV=KWhIZ<SzSG8sAI9vo zj7l;MzII{BwqFn9GsCZ|_-#(D7o6}^R%g$##LP>t=O0x}U2pm_^_lq;{#l*-B)P0I zLKvT`##G6j`Pb3paYT>n-jCeW!U<b<>wa?Kc+LGreA(Npf1URHTz@nEV*0<({8hi# zoS&k9Rq$JUNwROqhu!WCi@Rr^>YLE;pTV$b{)G62fnQW5pQmenbj$MB4Lz52+~#Th zs+mp226OC~lh5+oip+O;(VcEPL0Y%N+~p~A=!E7unvHv>UW+S>-?jf{Y~8DS-O?^! zICfbb)M8+}Hfb}<kBPhW7iy(dc7$)@Rg+#i?PcV_9}6?3b}p=(KWoS3P<f@c_uqBj zEI%Z;d;Q|3^WKX^zHU6$+40q-=I%!wwL2%BDheYv%#kjrNR0N=J7Kp>ELiPWh>5?s z0!MdofY{8){QOG&%ONMP-10hSGp!{<M)Xf)M?^uzT2|Ag+vi-jTkHPsqQ-sRcV5Mv z_x>CdbKyBXrT5|^pZ=~F6BFAG^jt6$yRc>>+vkAWQF$RXHEzW*c6mW8@ebQJTbVlk zR=1dKdQ++7qT|mNmCA<RHGPJ=#hSMJ?Kc&?!a6V8_HK;Wi_Ot{!WM}s${4ULV)-e0 zxNd3ss|7nsw5-%_w`=QPjjGtBl~?8T_f*5N)S0`4*R8hc`@)(YRm^ePuRyl5cH*Zn zxfSl3EH5_RJvV#DqBVv^ErtG0BEqknIxfA9{8bk7bBoBs6CN6+Vv~#d@48=UO|>sw ze>So3%)7hkby-D%B{sqz)!9B)aQI5d+&?82m-U&sn@fm!R?(ydpka*9k!JUlZ^VlA z#w^)?_`r_6iG?1|L}r+s5V7p%nq(`m=M&ezN#XOnZhj43u4<h2oa^|BE!y2LHkv-z zrk5B~rM>n>kJUQgXZszR*V;*DrG1gS7i{rsu9(=I@_P|}HC@|JddlDBm{@GaUGk?r z#X~NU!NkAXTRNlprfpc<63xHWHcG~N5sn#8OVVs^^{K}myCh)m!nW>&=&qV@*2t%C zJ_>~Ud31hlt@Ao?Y{6<xvDY_(m%G$2SADrk$T%-6`XyK8vugcgvI;sbv4=bu<yQnw zee-D9$5jjkB^L$x&K>8Pw`=9*odzNaH*dBYUSjlPK34AG{wsW1d2q(7(9dCyKA6us z_3^N_#*_8TGZ`h%dvY0?&Y#W2{5kH#yee&G<9({}ZTT(QNk27yvM>r+POUk3M)R58 z0yEu;aLKt`56|3Lc6?><cZcq|Tt+r)Z_fX&9rI(!%I+6CHgZgQAa3Jzw)Dr+6YLr0 z-ckEbu`YI4mT$(Q-EUg4&4urHU(&@zJ^967*+X~bT3<VvFZnc8z}xBJwoM@>*^8RK zr>{DFEvzzSoxic<%8U}8BbxVEdM|b|_!+l-62B#S{@YeFDXY?mW%+x!!#kJhNQJIH z_sZm|=hF$k#>%eUeqHxg{p<3#^Ij7h_0RjfW&FQYf4RhGiZQa+t@_N6wr0P%(dMtM z=dP=}=DRW;xLx7&>BC~njOG7M1ljnW%%1x+-e<R7+q~@eDK=kXOSBKaT4wXKDnh8e z^VXrB?Zw((**9N%!T3UOM?;Rat$y8^XV>{8b>bb?u9%#f@!9p9uq223i@E0y?Yp#R zi~Gtq6F&vZb=<!sev`TSS;*H-B|pwg>bJ{Ee$`fNeMnIE3u{cX+K<rhfv-A$F20&Q zFOl0#XRemPymhf`-QOc;esbssZ8MrHR{3FOY~@OOSKB=CyG{>JA6aY}$o)0`#ipqj zt5)_e`p*z^bzj!Id`GRY{W=#uOj2nG3xBTl_}NoiMfd2HPbXzES?<ua()n~XqWP*z z$48F9tEJ)3CuLY#ykE0*)4swfIt@>`KG(UrpL$W5w^%;3=CSb&(S43Ff3C&3Mq6Ah zQLN8BwClIFNtLLjw&I1@7}qUtXM73gd)cACt8>Q*r_<+N|7Tbg|7VkZ!jezB{!aPJ zwg2)4ji@vFuGvLS_gv;&i@#b@GUw`(*z|RKC-g3LKjHqNYIT)=`n&ypH^aB5uX^-L z|Eu%-^cQn8rJOc=Zrc2{@1W(Yy^5RK<GjDeZ43M!8JAmP)y=Bl`^Yiu^s4y{soK{K zW?wg2dw%n(xm9bT&Ur52Irix@hiBu$sS4QzPwQ8mKhe;|{N(BBX$qYm&pxbwvg}C4 zrA?9<fm<INbgFwhgwLO}Z`qOJaJiz+`6{_zV)lyv(lFO@DPfgMc_!YyGA`+0>hluQ zzV54T6H^6ZFRr-t_EB86NG4;{w_TUlu*w_kEeg{ADEfQl=`%{KZyCIpjn78wxvbgH ze8e;IXN%4H+oiu(Fj>xwU$Q`dR_E8EFR=o`f>WkE|17A=uRV3%_co_T_pbW;To>E5 z_Vo*e#TTRPT+?rAF`cpv`TJY>*>aB!al#igHJVp13tfMeyE4|Ls;NJvS@?whpXrMx zC6scnD4KKX&z|WXyBgM?_B(vIW|m28vZ{Jq>`Vrm>-SE-S^R3}S4JbY4KB|*toL&; zR^1V0JkQYmkc(&TJ$2T-5**VkJ3Qy5wC1ns=aXcO@K<?gqkGOcHq0UK&aqTaiMi)Q z{#Ca;sC+j?XH(x&e_b)R=T%&a2d`N#J#}0;^>3KaW+q*ZJAC0WKi7#Sw)Fa^wC?d= z5Zupr_=r>DnH?Y1D_3ij+bJ*FepYUds>iRDKko{D+GKv(sk<g{*GtDm?~WFQH*<b` z?0RvhbZfq~@E3tO&$jGd5wURbs>ahwA=8d4U7ESKyXq~Y&2(qRyL!RPCWu>}v0P<R zx>3D<Vpwcxe)^mJo`J?c!`tc<L>~Qn+9FuIYEE~K`2EcmFM>PM(*BAzp4SL?SJhfS z=@h$)r`eNDvRp@4JGNf8%ZicicINt-;q~v$mFd}&o~6BYNj$=^acYvy()@^{({(I$ z7BBjk#CBNdh%INZ+$x^kpH6lBdtemZSMMnv_|=d3m@zl++DXQS4|M~$XV)A$bjHB6 zAlUFl-`71ZEbO+yANtEKODwH0{;*O$)V?%-(SDmLy|14!y%vk{JFOt>DclmdK(jzM zZ~B{tdx9z7`8iJL@7lRh^Wv17wO8LQ=iq(O@ZrV6DW`ALA7M2YNu1Bsqp<yKjlyT{ z7VA%Qrt4*w#LPbEbm6&m>uK%G($>WlbG^*3J)V^CS}COYrR<C(g$R?CtlI)-b|2c? z^I~IWcW3?bH2JdyPjv(g?i^e3Q}@!JIHiZFor`rY7DyBpU1cb;np*l>dppORIiVlA zqc=UjDq&GM^^na|In56bxxcv8Z+k7=Qj+Ps=!DxQ(G$Xpggn#^uqxhEoKcehHFCPx z3$Mv$=Uzx&d&?OAJEu>%tEgeNT+8aIO4nMvHnK0eR_Uc={A#1)!&Bj|>jV^-o|@$e zTCRVZP<i&?>5}tbHBb2-_WHeCaOFKk27|r(6y989xbayd@%hTI!p^g4hb)^m37=gX zR4S=meCAo3vcQrV!h3GSEX<ca7SPeTE!}n2q}gmw@|gtw++6eQ=OLq;Kk^z1y4}8~ z6bY-WE=b%{9QkTN)Xzg_<W*a@Wg7XYo1Ez0dXSw_Vs2gL<)e>;7F`HDJMDr7-_d6x z2lAhVDc<So@3vn5$7}L`hOAB-q08I``UN}PR{v^!>hkl@bjuwxew(~nBDt)X_rpp) zrCZt^Ujr|jev4n9{$hc95YwC`@7rE&wP|`Seq>p}qm!w-*m5=GVzk$!Y(76}?_wjS zX~(@|T`D=;r?(v1a^%UgGH1_@KneN2uM829hBB^&@t<{*Pnta!&No<d#$ng9&@C5O z^^8m!7JS^g`$)^Bn_?5WOvC59eh+)pt#)4fkieVISuHO2d8hMO^9Y3QlQ0l}Gsm#7 zL#1cRBlZc5F4+p-gxJ4wI!yPt#$@=?O0&r)WAQ_dN)HBYp3U47pM)>JTKi^6_JXLV zrG=djBDQG!(s+Hd{Z&ieo?@42_uY$w_LokZsj05ZHGhgm<_>eN@~Vb=2d@XMd8>Ez z`HV28zvA~d*|iowQFV!*vVi~m=F^JWZ>;rS>}g%@TD+{;bo#~GgTY^ef95Sw;#>AW zqvs2kzF>yKr;}CsciraBU*HgTlOw+JYTc@$y;n-NtXpx9d2`l1x#$%$jQAR3ele}L z^(k{~{k8I^K={1Gl3<A?pTc9*SN&%=GNtHzIhR=NXT1Pf@jdI=Djx>sE38YfC=P!* z!+pgr_O(4}%hx`Pd9mw7xb@0Bcc*=?j+f~w)}E60bT3KGUh`+&q8clmr;;bQTND2U zExBbB*Ws_N{VBdwUiIbl{CDeYKCE=BjC4O27Wkt7Ug-HL>*S5r=DV)_<Gjgzji&0& z4~OhmeR=zv#Xp+WvP3odxmM}C^P8GV_fB7WQC?~Bn+2aX{Z&kTuIirtX7Q8oWnO<L z?a~bUwf<tkPtog}-*bt-SY#XWw@EA6m&y1=h(KKyU(K}OQ?GR`9OFx;tvY<_mE)zu zo7_+O?dLk}mu0lAV9ypU<)cNQuGg$jX5o9c#Oz$ZeU@Hdi|Fa{Lt=&1lf>-;M9yw_ zvZ!>1s$0wv9c7#E;o58d%wn2Qc<({$tBoc%dVfamEDF*;A(D72UpvCjm9Out%lnM0 zrMkgC%NxSxtWPm7GB;YM{8?wubZy1zpV}{SOYI{grMa~g)Gp6@uId+ab&biZ^)H0| z&*;fkuAZ+dwWjgaqm44UPr2>Q4hg@!nU{6y=a<O%8Cq30L<RTSTxtEcS~E&pepcV= zx$C^neLh)VI(=Tp&y2ON!m4f@nrys!X-Q<Od}yLwD)+<vovUr)MYP>Cue?}$*ie1j z;d8I~PfS{4)5PXKrOad3{)_cry}z;w<eqgazt@^$e<vjM%z9m~>)JQdKgXy3QdIXo z5TtH<RehSby=k>|P)PfuBgPJAs&tHP6&=nybL$$%nsR~CrdSZ?#nk7ihKY;j_uTZ} z__Jx1#3bHXi}eD;>P-uC4W@o`yY`VItT=z6mh!n*`tv~-x(FzoeXHg7b(414BYiI3 za|>E^b<Zp873uyQu;G^U<S8CM7k^<)H$Nx#eFfLGEu2A>&&A^TLm6CuD?e}bu6z<M z`qODYOT_9wmTMMXE((z?DhNuL(eTo*#P$2SHOmS<b5G`LS)OXlxYQ+jmQ9XwgOl{e z6QXm(o+-vK{?!mZcVVC0(!%6T8#7)#*nGr9C+NW0i)>!gh5xQ~`}L89@9i1EtLe4T z+|@6{3^;SvZ<>4alC_MQl#%hO=T8>ZWt`}~d!l3Cbccx#@9_n=&0d=R!ax0{=YIyR zQ?<c9m3OPuo;}aHBE_8Wf+;(7f#2`0yFEO$`;83uc!ulitHs3Zdl)VHMO#;2OZlqc zzX-02hG(N$Saq#_Og?kQ>Vkm6d4mhB_EV=WwwWg1@!o0siK+STSk0oYJuG>r^ZBA< z=M#|z-4konn~WWIeBJF3Y}Rw}kixOmYUgC%xaRd1X;-9PEwNl-^Tp4Q*-^uKw%$g@ z#FIjPJDpVb*mGsFpRMb<CM%HR@+`2!Hh{gNPxDPrK-vM;>D`l*^88YsY<PZ-FN@Xg z9Y3GypAGlV$<8_(b?0Hs9K&>mwX&-5hBLAb9XqF;Z|b(|Zo=c~ey{eMN~ztB%jh}Y zylBpztG&NkjUJR9TAy;yxi$L<)5Gb0UjG*Q_&W)h_qQlNkYnVwl$s>E&ZKDng2?(g z8rjiTFP92F+bH=puwC3UT=Kc1-|y3N(@q_FX}+;l;k@0k_<n;0+j3_FRqWFKFt6iY zWP6GB<)fC8?jB|>5qvd=KA&~G9-3>yA*=S?FJF0=XOx^T=O>G{7e0Eb3(PB8pI9tR z6rb{eWlrQ2E0O$pi4|^)rZQg*GaZtCK3VO+c&3Em(i-J8EAGDLyuHh_W<h1QW0-wt z^>*H+sb($gPa|hPQFM-qJtMTBLD`U_`}`~=<7*;rGY{P}&N;PrSBp!1QR52{_a$qO z-452)58Zp<VYTjM^GAw4+xXVT{F$5_oWOPZ+>1HtzjjxB=3q(KeATYt(b1%%O)fHb zg!A4$T=jbCl+#h^M?#`XCUnjbczqz~+ATfLaLv1{S9<zQ+-9|Y58~lVQENW+)UTFF z@YVj%n&%~}tEOguR(CB($}L?!W#!AfZZRE~Z4cD?Ds}9Qmh4K1P~c$ldn3xg6Zxc* zIeJpa>s50r7pr|*GUMLm4SD^q;-}^8dD|tHVe!<Qk)ydfQu@4t)9*u<b(WSqVLE^H zXiWCXu#(RX=O+ZPe&Js3ur%U7Lnhb1Zn-XlvpYgcXRlPhAj0`2@~^eUo~d6YTk}H` ztR@A{4L#qj`pe1imH65g<$Ue67yH~QCT{ySqpNSV#-AhlyG~VlM#V(v$EoHVbI^T| z^29N4PD*Geo3ZS4$xN-3^g|-<E8iSFtr_@fm+~|hZMVotyBb&hK6L%*&EIS6g?BWE zg|mm+oZX#N62EG@uIThhPxc)PnIF1**7mCz9n9wfKR4}2U$bI<=)@Q6%)dmL%sHc> z_Vd&U0p42=mK8`mSzq~3G2%Z%(X$=R`H5$R&v*KLd8H`$HSm|l%hGx`Ucq1UGA2ED zZxfmQwIC=--7-#2G(-KU)~yz+S7Hu-%;R>g?)(z;e$l?5J#7n1o-E2;Izd)Pyv=HL z*5W7aSJwRVUh`r}{gn0lb9X9EE8o>WGuB#t(|wn)uR9s`eOQ-v=Sp3d!*$hP+B`p3 zY?Nhs&U7$U=34sFDQ-!}Li?r*?02zS$}RJi+q_bL>lEpg<+h@K6H^m<YIf@@pU@9Y z{k6Jyf9izT^jTleZwuY<Q~Ot|eCYR>GiCRm-+Z<2di<hIc9DnnFOZ#c-e}V=jbE$f zU9U2hPM;Y6V(}BF9S5@=-*mPn-FI3hzC5Mo)c%zLdg~lsbL+oSS=V)}=33pRj%zs~ ze@<;bv+|j~Y?Jy*ML&(t+-p7sUoTmmCBC$)qujC}diR|ZoZCJHeh!|yJ;XtJ@<pS% zt|O^Mo8+%*KDo`=m|9oWz4%+0u;ksS3t|Py4(lFSC5G7>tUr9BRjtZd(D<*4=F3&{ zXK26McQlS&_o__qET*0LK92kgGJ+b4mw!6ueX?@b)2dg?xKr+U{hM<=qB$k`&$$3w z7rn)*vvwC|=q<BbebwFO`nuKHm8)kyORei@YyPdRSU)lR=ueNUE?+pdM?SKh+3}=b zm+4F3&)s#W*H1E>uj73^)M#0aLHO*P0Gp#nR=hNie4UaUb1k=*!8~eho!5i=K^s0@ z_0#u=?4BJN^Yn<*(L?u^#@?v3vbJ}fKB@6ls+&xn@{``L&wAt|<I+v{u5$~weztFc zcE9b@sn3n}>Iur}ioLjA#q@f~!m|GidNJ2ociq+5{GY+V{WX`t<K~B1cV)~JqYmjM z#!p?dVe(!{=9?@XPcCfO@aNE%U6-{V1sdioER~tgy&)@L!@e}p{|sjq-21iursMTR z=YNOJx_rj+=GxmuQ};w)<_MJ7xr4RkPWr4FUm0DROeZamW$Iuvp33~>-NBBZ4QrKW z6rK3b5VE52!Va}#QOg+(tu#LR&Z*S-vaxmgp0d2D&lWbhNk7)udXd3{VU642la9|9 z876*UXgqts>0V*(=fIxc*Ef?4%Oi@MKYjI4$hS6?7Y{WQ-!WC!YVG6Z6%PHJt@&l9 zM;1){$)mt|y)v)uKSQK;^))BG3s07`9f{@)Ox|5|Y3(P!OMH$|MSG?&*qbQuKHgix zAQi>bDsaiK;?!nWixXZMSAI;K<nUo@x~xZJ%Ih7{i=@1F3K_qdW0$Z}=G_Isj?<eY zcq-nlSx{xdbLHqCM}OOZk~?X4G!Il1v1r?u$2j`LM_x@dG+gxM>}rvtKf--=mb{*{ zt++IM_0zMfuN{?Mo$po@`gnn&&+QfAh8=fI-A}AMsCV(n>c65}%wMhHKj|j3Ibi4d z9bx+wTkBRS+*g|AaOw567jxfiS9VS7ymDUX`Go~%j5}^vIvA8r=zn&Wx#Ph>)&@<> z;^=9AF3o<rCs29bYBm}F!@C@VKeNXBG<|mR_@Z5{aqrN=eKRJuKiGS>)p>sLO3pK9 zj-@ix@~l4pZ7M^}sj~;p#ausZwR+|&roE@;mV_Ojd)le-;NqPtZK52bukFiv=57%1 zV(qz;OV89*A6ylq{E#ogv3l3T@a+cHMpt7~Y99JujPyUVX3t}zHM);D@66EE?qX}< zxgvD?!=ZNTA~ohP1-3B0=*5CPZCyrtPX=4`D~aSi%1ddTr)j-JS>O1?GL934r!1Sz zn%19t8u4>R^kd%}+V38O|62H;A*0Z@F?puj?R(nmZ2v@W5bv<~Xfx$?qqtC*x<&q` z10vihyJZjU>AaY}wDD?2|GY<*?|HqHV|mmLobS+>!FqFf=M3wm@v6H&d<rm_x7@T| zoU=vOsH1FWXRz1>wFCdQvg<@C9*VZ{c(nHmSHv5enPNT}jq3z9x=Ehx7I>NzGI8zm z5GD7Z%@ZxZIj65_m7mJ?>Di9{V6Mt;aRuM!I*RFk3)-9~9$7wfBiFrU)&@ToPfrs_ zuX<z}tb4jGpfAjwBXx7h3h{}%xHjHt)=KvcZH`Gg@NDg8%^MY8eRZ$o>rDC67+<jV zysF{4Z0`CUQxl(g?Jhl|!1FYb>#X_|mXgV(-?_iMnYWEaTX3GQ_Sd*=LTmP4Wwy&Y zexbEKnA_sn)kkv;R!C{cOut$6Z0WVV9Zoksa<i@Oo^xA!hO7YN=X0lYubfgdF9|-a z!M$wptobYBSM7_)Q<XR!t-o>V_pqb#Gky1ZZMVHH`fru;xz`iB&#gLs>c!{Q>x<64 zE{RBMn0>bEyj{nqCjmVN&N?TrX|4IW!e&eGjM@4-q{{p+icb7<Jxs8gscnO~(~i%I z9;Y1w)Gw%8zm%O@soj#&DCrUYbyHKZnZN?>bF06_b)VOWOqzUH`_1CuS&f!=j;GHn zT6<V5-2950N0Z|Zrx{-(Hhl`)AKD@R*7e-SG$sXytqnnHhmAHo>W-PPXG&@C^;w7c zge*E@nNI&oS!u7Z*Emou=~!63>$z_NYXz^pw$)oZZDFhj>#`gV=T}~>PiL`kN}Xc( zrNG7FADSq$X5Xpj7kyr5aEaghJI(OL=F0)gKRpR?pY?Tn%BM%%U*5>O&RMO$AyTJ( zj%L3`tZC8j)jX|F&2FYJnO~pOaW?yB=&`6Z`{qvj+WKqFe}=7$A5-?HexG+fdfnV= ztJ3&Yf2Y4#{PgxO?bX_uleVv&a;#D^c)3PcL<#p>t?T=iZwfs>%dpNxe~+SN)}q%_ zo;`h;v?Tho=!?z$s@328&-%xljO)5pC?po-xkpd!KZ9eOSKW%4dv0!6RM)LNXTkb? zs`bHI>ZeWzUlRNr*rq;9wfEl!t`n6^8*7?u{a&?-|G5zI^(1p%(bg~VT%AWRtXVuU zE8|B=*6DKsZ0>4p&$<))3$KT*y>@hcsqyX)hjwgBXqxvT?^FNTBB%YGo?CZxbqda% za%>yJieIex&e}dZQmgbf?9$}@>b`K(pA)ibCojKpTOISgG17I%)2P!Lds|kR?ejQr z+HLK#dD9~cx~J|@adTvFb2_3>n7qwFL+Zt*{qs|bCD(_z>s(!bLR8-L)q-7|mOCTP zD+%tOvflg9%rDO8Ui?d3bazwpm$0u>?d?ulesR3K^w2z~g9Ynv)?RJ+s`YQf&QkYZ zyY<hz{%7b8oa_3K<FxmRV7u%Jb8)A|hsEMoM7}<m{>6duNoxG_o7~Dz0*aUKshhC= zbg6*S9hb#6o5GYAMDH<7<a|`&yJmj~_nt=XuP*H#LF!j@_NvCZUvv=vu=<yV<a1Vc zodaBa!R1ab%`&fY&0{)oQugl4jjcw>4h=HT1n=DKz3?QrMsv~6TV9=C!wme~RNdtR z)_&3|teKL2VzsvRtLofSuhosutiC^K{)|B5+J~*tujU!nG|k(2YVzmcPluM=UOfFx zfBWPv!Bfv?oia~2=(xZqmHXP0HC8Va{S*})#Tk=+o-#cAv(39iW_zLN`k=)^&4-s1 zyZjaTazcZ-+<VR5R0qRzCz#dPS`C`#C1}nqZv7s_yX?T!bJv6C?g;kpmTQf^z>;>X zi2IVBVj}YimW0$JqI=wfmd7UgG3l;4=lEe#$Npg1>2irhp99!xgG=|m*>uFDLM!6z z<Joh1w<mYH82_Fw@{`5!m(Jodt7|XzUi;Ct^Rj_Rd(x{Vvf}rJ8fWPhmi=cC6J<#% zIC(J5|EOZJ#B$y#9vL%rwH{S1{;=62?0i7At@&ifJtgi(Qy9;rbF-}#R#}yM_+Ijr zjBfv*!OV+oZ)jcLdg5y3Y?Bqa-4&f&XV0Fxvu;`OnNyFqe_3{9j+cGti5E_rH{SXn ztaRi4Ud<bE46~E2@>mMioBrE7O|En9lgE+`3-XJ?pBF4MeSFdL#}=)#ho1zn3%=&& z;nO*!B4ITn*s}X(X>aJ9tKY+ZuDl!)^*u>=7l#8|H}`bSnNM3Q7Uf-MRo2`l;%Hbs zoy9TJe&*76m6|u}^NQwpmxnO#UNH4|+fTU@f;C;$2Hm|c!+x%=35w=&kh~XAel=a9 z_*I|AeW4qEYKNnBTpZ_2^LSXpc9(hY&y5=AZml@-@HE%&nStF`SL}A2d%^6~tM5<R zbhc(#F3wjwbs{xc!~E##r}iaZUM(s<$JL~3srmEdn-a5x;t0-5<xcH9pNu+q|4nH2 zkUo26E&uv--hG;W`BxTMr8u2jz%B4-pPsjl%_;V20h`WSYHQ@JRZZ#^&R%5M)1H23 zYJF%!(cKB_c^l_^<NU>1oUw=1YI4HU`4hNms#ruOPxJ05iJR&4mm_{wab$hbro)oY zSse?Md1p7K%Cs!rm;Tu_zgA42v9xPX<%)jO^K({8akENny=O32PTBgD@qSJ&%M_6> zJGJf`>@SrSo@E(ZSktueQ}|g17Ps)ow1m6m1*hj+P}Ub&&3(+({Z-@TBLepie`pZ> zmlw|DoN{XG&O~47hrK@no|=b!iC=Vh*#^;ubH_qwul=xGcz4SkZJm8t*SAi8#nkzg zvG&k!uNjw>s_h;2<}EHeZgl5L;*KY6OXeIn8+D@Nx{*k}jOD3qd#+Dg!C<m;YD>+P z+q#dUmefq)S*-fk>0!~=c=36w{;gKxshId{tHbHgf8Fm?v#*`jHjm5xqLo+@x2mpN zc)g8+Zk_kZx>cuJ<cijQ(p+|X=OfwqDQ@K_>oU)URi<}n9;xDZvvud84JSSAI$rGg z<LI_aT%pkTSICdbsqE8Sqvv@kDP9W~{_DkmDty^$&<5%M46Ye3RAaW)1cdHYbx`=q zTB^nvP(0fq*v>cBQbeuFA#mc4sdpB0M-=Am(95#Aclyke#dGI~zgmzV^~&$<=hkM8 zXQBI~ThC8yt#_4=aPf0H8{Sga(fh7VJo23Q-B_PnN)B$nTr70<bp7?3KkIy)w`!hu zyt(F!<#v<W)3UX*o@TF$^K$yVy6Rh9_p0CiALVAPS(3H(bL7tnVsT!tzqY>GWMri` zIcZJJ)V(6dqFAR-nZo+0RO`O#*~*kn`?iNoy|6B;T6yV(zZZY8{^C2Q@sfMZ^V`3s z{#vyB-R56qas})5ho)BkEOS3=S9yEWFK(gmn?A>#`lqg0V{`r8&UZh&IxbyzxxKhO z@tk;!Ib)^HmQx`QKMC!-B>raK!RQO?w@&Rk^QfC?%Xz1T_g$aQjC{IA|Mbe1WWCh* z;NA7B=1)3xW1ZLO*Z|f=KN~{(ayN_ateE<jfm^jc^w-MSf<*!n4cm3D%y!xlId3uB zDz(FhxjCEj)HTj8YKY-mCgO1TRNzFL77gZ8C(e9gVXfbE+ArJQT2tnM=h>|AMW3E+ z`ZC4m^+XQ-&pNm3R;eFNU}}6_s^apzwEdZ9uwl;CF4<zCxl6x0Xx;0$t@Cc*g-xH- zH@&u3*1B(M8z#R$^`gC4$Bat{M4zqy94opni~WkealtPBj%S;;#EI^FwS3j5Q`L4a zkMU1->R<HNY5t;<bzQHWPn_D&*IIC1mA&Y?ivAXTUlG2rdFPTH*4G7u)tf2@Pvll= zzPn;tQ{a4lj;YF1*DbvHYTv_y=})}&6((K%*|{@rXUjw3?32M?!d>^At6C@%yyuGl zrI6!iQ>-H0viQ7?xGfTQO4yqB?%}Dh@HtJTdV)rtF;-Db`}8*Sl}idOc(9)_tD}7N z)HdZ6N~aE48E6KIPi;wWJ7t+(T4?7Q;qYO*(BElMD_$>Rsj<?1@8e}3lH&QHHQ#B| zCqAb?+RIgQ7S`o+Ui90zC;ZjZ;(2MJ9}XDkZT{5IvW;yWW9&|AqwuxML!~#L^f`Sj zNl@NY@kp^ipRmmm?N1RM8!iPrdXdQFmage@xYj$-X1D0<UDuXLe&I4w`5X}2_4|U@ z%U>GZrP?KlvR;N$($D72Jv_Uu`-tZ?VU<TxH}g)s;*vVJ-9_q?!LbyzY0p>>NUr(N zJlm^zhIs3o;v;KnI=O3-()2qcT;Hm1w!It6arDEB2TRUHZ&+h|&g=XMC-oN%*)jD? z)R_v{=BfC%AL^5yvGd97gg5FvyG`ySPB2{-;;5tcJ;?7(fzyoce5Z-BK8wExozsnZ zniqYl^2KJ!S4*NwvX07MQccxba=W}h^FM=O*ss+R^AZ!Q8wySyKe8yS{?e70hx3nY z_srMPp8w2hVfXLykkXS;e?z;rfA@&1)Vx&Qwd2>C&F5Y*Nbh7?SA23cpNzWbow+JE zZk=rTygekrJz$LySE1k;r@O|l7C&27bn3(wtM?_7x%s|*xW_!Je-m5rLk^A!R_k~D zXSlQc;6h&u_V7n<KA+8-nLmlK>Yi7}iL6e`x`6hB3nL#Noyq7N+a<rxA*eRd&-{6z z*5yxOUxV0oP5tID*Cak|F>jCWy-A%+DltN9KTSQ7q^DRM<o{*ukE1`uKeI3=HoCml zYuGbEc<mYW!+Cc)eF~T!z0(Vv9<b@NqQC02>Dp|GiMz`!x}GJvDV)nKI9nI7)8-nF zuil4E!VJ694Z_0YB>kB=t+t-9ej@%$IrGKZQ%~zw`M3JtSh(h+c*gqm3Ts5RBvts- z`Bm&F+VhoVjjmuzjQ*y*&ks3?Z4lEada>!!Dfe?>ik2TulTL0vX;P7P?%B*K;`yDs zI!_#Cp1o-9^-Mme1I4YY6R#f;d%^pnqhPbYVB}xX{;BI0RIcv+9AHq{s=IyGk@P2P z+@p0qmA##=mm2-&<k5H6%f!N&jx1#QVf<_zM`MlG{o7iP?sNw6l(IS=oqE}AM;_Az z^P~e>W&au8O;}JXGCfIn(h-(uqo?&<2UmCH&)RAEjOkot)6-KIQf_mGoflnLx6p5M zLU42RJinq1+mBi<aR0ti>c<3?^P1sL8BT30E@hvzUxRs8|D=cWL)D*%1-`!7(G%7^ z^<}~G_Fq2w`&5;_?`SO+{;*P*-TCIPQ;&pfjP~@^&R?GLSLECt?Rb@#*uM)je(CSj z_^ZmO-1e}pwRWLM!n<QG3sN}Gh;V%6UbQD8Qc@}-MDzFRIXn3d=fB+5JWrD^{Og-f zC)V#-XYUdDQzAHLyQAg8>{ok>!X7@^{FC+fik`3GVYc&2+pS-0`nmFT0@wK$i`1@h zIi65d?^d1W;lFC)+0xlU3oQ3KaJS35UNa4-j972;Fk*5E=Wk7Qvtt}#bEbUSa%{!J z9oL-ty1$3_1zcEAbu)UBQNg_*Av-E3gx?bR*LCx2_+^95xwo|}cX_tt-FdR|=M<Ss zMq8)kS2FB136o0-UCi^u_v)UsCoFcoQ?IZx`u|*5+r|E>CvzhA_wd6iu?ziAXwKD5 zy&mNBJagLAXT_0!n*Lt=)wK4*+7L~dHCs<z3ksaN{@Jchd((fb?H8SYwPycS|EtAu zkzUsq^<Up4=5=rNe+KynuQvbEefUZH%_7ra`Ov>!KZ{#WW?x`f`}g2!+uYRpIji+| zy<X|`{nftL-(z-ti{AV<bZ_XsuG9LF;em_(TH9ZZe-hH5f1=F)WYLp#`?o#$W_fv) z-ubhMRxcj(Ja4yfx_xWXV#_ltuIXx(_Qg&<ZRGT!`<CE;hOMbDwZBB^zwJA5eq#KN zAa>5HwN3NR$IR)E4SA`h`~0T#zQoke9H(m&WA|TTnxs54NdAS><KwklXTCD%-_Y4} zXj`&f*W12LYj2vrSp1~pvg@yJu`{2EbZ%{Weug!FX3Sr)xCt8`HZIY8nJRwT<;9%B zld|_3rrJAo+BMcTHLz|rSXP(y`NBF`W5&9@(|>{nMvX%FqE`R8ena&8)Z%$%ajWc{ z!oGL6@SXSR>P>q6SA5ds^U62vT~q&_I&t*Z)bH`^O3Rnq1_*eU6a=0(eVuxJrTa3E zx}0fM_d>QjpW!mE=IWWBWfAM*yr+jwpR{k+8ueET4=%bdbbX12(Ed-{pU!zt-5Msh zWF?2*uf-p>_TCkorL^$w;T=*}g^VWL%hq_Qm3~tC<u1keD+>3|PWo&nv{$#3-M+Kx z+1`rjiju44)%B!5#{^yy(YUw0XVJ?OHJ*!%h4MC@{Hpc*l1Qz{<WE6viVG6r7dk8L zPboA!GG~rVyMmy-!yJ3lrIHWkzKHl(>2>60`K&XyHMENM9*nhA=Xhjiux^>iwB7th zZ7&WBD7@Nqdew%`6BY|=KFeIGIo0`T(&A_9JU(eTH@x^8@*`PEWX?~X$!Yg_iUYrC zId9n=Qxqw>PIFV?%ok6ReI8m_>`~=zDrHc*dER=p|H_!-hq#n<PxM^u3lEEV%W~>V z#IF02!O9nl_j!wjpU~`IB{Q{w`C&#t<@%d>+iEV%`Pz5-SeQYB;)G>&i2^RSZZu`s zDJO|33oj1KIrL6o$&Jc2_VTK8zZz|rEOgt$!ENWH1r^55Wo#=1em5p?b@d-8<?@p; zE(+~DueQjMk9CD$#x?=bHKsX=PfMB3U0-$jTIj7C>T@riUNW`aI-fP^&a>Bif_o2Z zmCU`c_~@deW`7nYG4A*@N6YiFg80%?`xiR=6&H|s%EV~?Kx6xaU5D;32%H|`Y43W* zt&2@(jg*-8m*4`EsVBLg<!bbNko~l-|JC}^mbg;Q#S`xZJ;<LT@<;E$g%<_NCXSJ= zpQlRSzqO{8t8cZ~rWqzmprJP>yQ1||-iz9aJ@E|N|1`Ytuy}@~sQRo!1&?O$(6Qe0 zOvLAx_RYo0SL4!ywTkcV;9N4v`ruBjWA`)y)DGQf+ByF;=abhHf~|k7RdrK4?zH%| zmfb3=lqIhh#u%-W{n@r!H&^XdU0O(O==ZjT-Y)DiO`G>LW*NBN-ji6j)c<7cqvsmY zN6xoy+H&f`!jhf|lP)gci~q5@Th{Ar%=6WUCi#1(ZEojzvp}}kx51&{u3lu`(|Z~+ z-$Qq<xPG+MGLF-k=f0B&$7j{lm)e$c-uzdKK84S`(6r9n&CA(+%AzDb>AP`f=iWcl zrY6zd@Kj3Bz$Cup!sUruR+=>*;+@jAO})fqjgtM270Tt&n#Z4T1U~B6#qgt8H*Ti> z+YPG1HC0aMuPzk4Y#HI~S?qcu^8M?SgrA#49A2_Umz{`uthDyg8P*Ac>r~Y>Hf^_g zXmm~O$s);gzn7eA?-kD8d7|M>%@n~sMukof<`%N9DRowezHTZr^=ICxjpvVr-)YUT z<({^2!i2qQBHi~5)*oHe@k{%_;l+WIUtC+~(JyXll%|uK*tD$9^W2=a4_6b}Pab!1 z(<xlRt^Kl8#dmF~;LHt0e|O7Xw+#Hqt#hF~dcxXeMGb7`>#uLTSH5ZHc^z&3C-+L$ zs9038)=%13oH|WYoZ;C{2Zx8pD;`D3oqYN*?C0vgVj6Od5z^1rzG``36jqlc@LQ8j zy?33YW@P2e!0Q41Ukh3%elBpH?yz(9^AqbY`b}C^FjvadcMs<k&C_$X#!ol3=hzY0 zcJZiLki~MN4QKBz6P>=Of9}=29O266ggwlZ9$8y{)iMzL*(Eq_VbUc%r{C@=f2Xds zoo;WmX5UkXp7pBrp7Go<uczi3h5ypIW9bkVDO%Gm5WKrspu6DLqy;nfK9slCF50zy z)%o8GnQouh+~#$w^_PaypA!L=F;h-<zYt;1cNgGXq+{B8?t09$@E;2!N@j*_pLOZ* zA+a}47dV{JlrL?6&Gl~u=SBZhr)T}0{$k0e$mmB=D=tP^ojNR>;XL1{XHH;}V(P!7 z#o{vpWnHhV`SfB>*Zx&^pYCd$YgrcYS1egO(kJHGu9C>AHD90fUwVD*)83NsxM{6* zCtodow(qs}&($wXBL9l+TlM<;+fQeveve;dS+$zqBeG`Nyw#UCzt>)F`n^Qoc+$ob zX`OPW(<g1(5x;5YuQHdPH>+-z{^P&Asjlnq+$!x~tYzyjG8nyiUMm)Ualzu{vtDev zc2sO$<&@moyk+07OkH$Nch;vftJ7C#nS5wXHrpA$JmueN@290xuVk^U{u=mm&DwvN zv6k9X7oCndv}0S7*bBSfxb52W6+*WP8ZGwN(Q@J1@rba?s)pAE1KelCTsgLV($Z+1 z=v5|`D>8nz&QP8-Z~Ii^ryA}@S1H|mvTkpV@RFLTi%g7f&Y#%&TccOEL-9ja_?Nkl zwcK@f+y9!%WWQo{UxU-8CiWH1U)>ic=(2~NI(6c8_My)6rZdl*>&$)?SjdocL0>O@ z)4heIvz_LqJz0Ey)yDZ}n7%qZ|Hzv7EHzF|q;A!J2G>dRXFbnkmH5g%<3)(X*{WA- z=NpLlFA#T-j(f)_TzgUJ^l}a71$Vjls<hjM&0D8!V~we7So~zyi*WrjVe?g|PkQ_% zA%546{T9J(HeH7=9a$Ycd&*}qtq+xtxW2vSs!Cb<y!_Ax_UajTH#NVMT&!@cEBDF5 zwfAQWi0iqB7B4Y7y=sqtsO1;gme?lq*|zg%DW*Q@C{X-m6rkXF=~e#x&bZTN_k%WH zH#Phkw<4?HeQeb_o1na_d*?q5Kk0tro5x*YiByY3>Aj&xw`@9fpCf*e@|z_RTLgBb zS+2C2T5NVQ{gdo;v%?cKmnlEo^?T(Hw>RJ1<K(iEqYo8)bnO!7E0gYJn)sUgP3ZQy z&*oV29<*F}_{pWGf=fFbcosQMRgYP+c<Ro@ypN=&<eKevVkzD=bKe3}mzR}SEe~0- z=pR0$ZaQOIF85p3y5v=7XV?UlPd!u0v3<Ef;I+H6uTSwme3IkI{;U4_{JDEm7U~(W zo2JVvh)n(xe%e9c8t-z~mN?BPPuX5srR?;$8(#3@URK?Ul9LXZ#~<yQp3fV(XmhcZ z&YmaA=4xkI&8ItT>1A+yyD`sY%}G0@M?2jdOQs}!i}@Mryu9%CqA<gCODpGcUH>c* z{$<mt<1-x>q@Gw=a5t=Mmd;*Pb8!wyFTS3LPppjBzU}(5p>^t=ymV7p6Kw_2=Nud| zKUr1R34hdie$nCUqz%Vr>gmr2<o&lYOy0Dk-*s8M(6*gT9j`OuwyUPDH;JCusj{-g z+vV1!Sud<_HZ6|~e$aj1?)(+)<7d<5y1S}$u2nu`jNkQJxqzoAK=-QHwA+tnua*z3 z4-%PM!a4oe1@rt#8?PIL?OU~Q9-oN#i_Je-7}C;bmHg7QJi0KSamog!CGzI1>Q@e_ z<a3@Bh$-GIyK3XLw+_kKY-@Y2wr(|Q=u=G8(!J!hqlHb{@Ab*E#^p!tJa5dic^G{` z$+O?(#B`?e4lehTr{}Kgw3wy#u6X*gRqy&=Mt1ORQMX;*?IgM{VBahL1&aPRohzTY zUUn{DyXS&Y*srMtpHFOA^LXl%Gq(-IoH({#loX!DE3+=q-Ly^L=Hj!<nJ%9nahODN zZ;vqv$_x23S^dSD$N%DvH6J!ploYpA-2d#-Rhdmw)r}_v3O`x@vQs)vw=_}g#EKcu zUc~(R?BFN-q2=eE+o~PX%?I8F-+66g-nwqnc9EDhzJ@zlBiwY}&Exyepl-?VSp1C6 z-AkwSh0M;}m@2%iVDYoc6><wt6}m{b+&_D@;L!`N(>CvK3NA}oow_3WXj75F_TC%C zQ`6&}xL$NBE6<uZZ`CQ^e-d0bC#MRoonC(Jn81<vX|q;dp0h0d<PDLUuJhfUDX-IQ zC%NuC^?S|oxmTNadF|Za<}`_YiZYkSY3-HlhxTmJ{_fk|ct$&W?!+UxOEf#?v7PGQ zrNGhC>3VVP)hD00Dl<0y6t&lg`ZImfmef*phqf=)hm=kH&*=PV<od{R$7D^q-cm-p z4vx>to7k#E1?z%uD$m*{Is4Guv{O%hvRdBPjLe=G{DsTm-_<F_yY{u~on*7QIPpb? zlCq16>&|Cu>pFinFVqm6c#?mk@4V<$h1nD0!s2B1Wko%!OPkOVSA1x1=&?PD^42X? zDf?YtuG%TH$T)Dh>+h+*R?anFvtYHx%ZdQDX{~3@3w=GC{Z~b!V|!ZpwYx3%mx!o+ zp5Xk#Y2u1|PKPfha=&M+eOebQ=JSdz>uu*r4~Z&^XKUwax1I{A<@zhS_-l;u$&w3B zcYiAv+;*I{*54zb`0ym*^QtUouYB2cI?ns5$Ft4Xo{3Lub-!4`dpG*}bM3Ry7gJw( z{k>8%{l(_<i>{w__&RB4No4<|zp6f!eCM)qU*EQjd&s|N|F`v5R-WE$zo>tG?&b^Y z_HL-WB{)Acf79g)--?3v=4)SjDmPPSU-r9Y%F8o<mDR86U$c_y@j0&F>!a6(zgYii z-np<hU&6O*yg7eKWc?oPzfR|B#pCu)`>A7Cv9a~}8NC@LT*oh_7oX74+dGl>M-G?F zqo+yFXE@00(w1M;I6+*CU0d{;$lq&mn-)8m1k2ymI<V{di%p*z*4$UyqO*09*ysMR zEy^wO0Sh8sj$UY1UGDOTJt(!5?b6zrR+<eRPbWrnOx9MNKSytt{>9W<k=Lt!GYD*- zsF?a$>+zHI9r-a%+vW;fU-etpUT5XpVs4wcnQ!*(x&BL2%35jJH5+fkX)dd)M87rk zJhz%^QL>XSZhE-kv#s0wrcRx1u;<w7vo86r9j^S^dNBth{j%pzh+pvLrR0k97bAY& z-gGYPtId^l&1&m?rZ2s4cU!~i?D;9t3j-DU3ig`5>0kAiY3CR2_6w}@SIre^&hHTY z&1zp-&a)%Y<z`I%49)qje;uQrZ2cPfGgjiut2HG%8H?}k%K1D|TbsLG`)2zDhbK4h ztFDqznyhnsMS*1+)1ym=MEV0}%h`G<OuW!M>o;qC_ojbKBjlEa8|>d2Z`Zl)^IWg~ zDQXSZh0PTuWh{?%m)y#GF8XSj$*I7*r;VOYpD^W6#o`*Lzf+E>&fV$6mUKrww9w|k ziVrWYPM@H`l;Yc>e}N@d&NpzG^p3LV-|i~+qFPnl753`~H1;Nm6dQ0E?q&NB_Muhz z!49|kp~`b_g|D4BaqqJk>_^`-&6L$ylPHvz_Du9=MM$kz0ZV?mR>9+!9Q_*t+s>Zy z+J3gG$XR;Hi>r$N5_qOq9GJPuNV0g*{x#~txvyDk>|CQYPO$!4{rK617SrC$uW^Qw zllGlT+$gT6l`N(ws`_^IPlrGzWi?hCjh_80YrB4*+VJmY#Jzj3;(3-B2S|6%nVKJ( zze@eZrsF5OqIV@d&1!qw-xYq-U3$?Gjoh^fG25Lt-Jh3v$K;IT-V6CU9b9z>1-opT z+EZ6bt@-eCs$s6nV!eN}H8SQ+TCS@8=)}s5v)eblyqKEnwSCc}YcFr#XwyE_V^nj| z`sOXK*_A9sW>5AV&{bwPEq>;8c**aTekt!w-fM5&8S!XmSZ3+F3nE)1bmrKpGi=;q z$8RdUcg+;mozvM?UR>UpcW~>5sTSqO@{0b7c>Gk(v~rA?b3Jxv)0P>RH(rYG$hdOp zzU+yje^;LwN9g7pJnLO~N0fi-AMYj4Oas@aUd#S=HT6^Q7cHlpADfz5KRs4;e&2EK zS@-v_iwW$UpCUG9PITO)l=EnZ>|cj94-)ScH=Xvq^yDJ*>S>B!x%tA+o)D8}j|+AD zWVE(*hims%*K4oB6#jh5<Q81nd2~Bp(#g$#wS1ReYl+|!x~NwsYW%#@G5MIDqGp=~ ziy4>R+@E(1X1N9Knc-(SXQ_Ym8ovCMZbl#O)^&5sK78oQcX(>gvrU`NeZ78M|Dlw| zp%j_x^DlC=8y{7y@w<|EGV$ly3o-0Mcgw{ET8w`#d(Uo^cj2nV>D&c@62GP{w4br? z>(u($UIlFDoJvj{PhdH{xGJ#p&KdKZCt?3IXFDD3IIk=ES7dU+9EOv(S`3Z{IeiM- zyH13;E}LWCG68neeFo8`NtPK5fqZ<kZA1#ae_9@IWnejO!ry(AoAFHVb(Z>4v3rkH z?z;YG_+_~0K&^-5;@$V6U8QeEaW&XFHGdBLH01$f{qdY>4-Cboo{X6jQJ%2uo_YBa zz3e$@%O`(zy_s}owPJf&)Y3T)cjm>;-c{%{A?=kox7AJV>_y5temh!^GGtx6dFn*c zZ0io)TBnX{=cdju?@?H*JY~gUn-iLgjLWiqJ?CEZdn$|doYra6r%pYw;mBTn%k@{2 z*nc&0M}Ceks8+IH_9A({fk@4i<KmoiuC~vddeT2arIq=bi1Br<SDSu)i&uSqwrcgc zD3)h_m6O)lFWKr?CVVpH_^MvDr_q6PR$AB`47`@N>~GHO%4babc_L%}T#GB)b^fGF z{0!}`%Tv|`>4k`$*Iq4i>V);gjHoh~zhc`?mi}4&wWwKn_SF7qinDexPv_D38&-bN z^WTI0p~;K(t}jWSu3EEL^&9u3b4Sv-zq;9Zzgzw_UR<?M&M$2LtnI7*iZ9)5{7b>; zhmW@Ok2Q@?vqc<~ttG?1wkp{)H6&M?&g7ddQtpybsK06Iuhq3;%f&V<OmUbkw0KhA zbX5lhzoLLwIZPcpA1bVLjdj!fBs>4=jPT%3;bHq#Yko2;=iMn{{OD|Yu1;H>OBu)4 z_*Li6=-;fJ+J0vJzok{N{vqr!7cZanE8ib#{F&qYg?bk4zhd5BWgDYktzUUIsy5)S zwec6%y1kR-UB5+Ec1HfSw$+!Nzdq;u<<09;r$v2>|6zCi?ceL~_MKjD@#fE6@%5=Y zv-Vo9-=lxm=a+l#;|r_Z(;`1b>P<Yo$$jnAGxA;HcB{V!%A0;yOf{S|={93h$nl9> zQ8%BgQ=bvUy2nA^&s#h3q!9a;E!x|?Tdba}mwdIO^jzq{ZN1v1`$J!B`n6K(Q~aVi z?V&F#-t4%n8JW2-{7ZcC&DTZivu|u!{bQ5%^^R}#i@N`;+4OVXiI*t~5os?YU(V6| z&1xSy{c4iD(w>N&t=0ch#a>^GzB2E0kCH`5@xxu4_ngR@H%nVkXqmcm>9m>5H{Ra0 zh}zy#l&Qrc-@1a=W75r&e2r1pwzP7eU$yVWY!kiY=#`hJXl|b*YszJ>bLy1Un!g_L zoAxeOoBC`=ZEDnm(v$AzH>v-sTAO6PMEB*BzOrYagI~Y8{F(k@v9aa)cp=MD-uMMt zbq?QZr<6|wEtY-K@T(;@uPHp7SEPoCY5%Hy@l#`Fr?OV|-n^LpDeQsdq}|IRTu*2( zc@fCC?$x7kZr;yPCK-ztJ<pC5FlO^~Ikrtj+uh;OlIJU9PWLt$FYBs$7J7a`^u<em zXJ((3u9{lEApFFWrL_zFLpbiq*>$De;&A(YpG&|<>ecf9463TTHy>I5cSAs-QO#uM z^6ln#9_@Oe=ze<h8FjbdS#u^>$z`v(v-14hssCEJQxBK$=`kj9USNIK_Vsa_=%(J# zV>?$jcUrifon0!^mar~1#ILgTW%5md)Mw|k84F%>Ps!M|z|QM=oR@y_o@cGUwSOHt z`h~mv>iYOa`rSvDDEO;tG@kPe{}MP~?a+DAFK%IrZeRDSIJtA1_`Iw?@3|_UHR^sA znrp`LM6`bj>$<8%vge+#?y=a^`g`$L72V6zvVGPFNNg|Fu1Gy}p~WiQT08chl2`t# zC0l<+w8S~yJ!|$%MxWz;@vI}~B+tI$Teo|u+tWP>tM3)JDD+rupLOI};?W7LG1ljF z7D*&4eCm7o>RAhK?;cnAbLURGRqjmsu~V}nCL-nTohhaZK2@JG?|<od_)w+Jo6s*O zInL#5ocqV`p3wf4-z6q8EuT9r{KBN=z6=q~4{w<!&e^A~`E$+wT_FX1jy|3jdEBqC ze$$GwC_b|N&YAU%oW3d_xgBD|1JCHiG&S&k;nEjQc=CAecd12}%^6b<<vH=O`-&+F zecq$W!BFEM`fo+_lbu-%4xgXwJeH-*^W=J3v-`@3I>oZ1S3c(@`d;UhIivY|&8BBF z)XUj<QZ{|wwcW&1{nLp!4x1oBWj5ZJPwnhZ2bQUS)_-Mvv_#Tthb`CsC2L>rcDj0a znuquEPZKA#?dDE4SG2w>X1-&B?5=RXqBZYlha~<~sMqVdw>R8xg^9`ZdE#E}^>aj% z8y;<LI%1jPbmG_A`;oz)!tUPNsTXkP;112V@=vvAT+tTNPurMO&bP`XeNq3$!0D@= zUQA+&T#&iTmUY(x=aN0FC$gTt`&lvNM22$E`cuzD<OQCrKW&=8Z<pn8^g~xS_c@uE zfYuXrwzro*-1c7TTxDeJ4tI?=6IX0vf6kS<j$eF2+q~||!@_+T$E1rQ`mHAkN;Xbp z^vFIj=kmU}kDBWeSO2WNy0z%+yoGsB9?sfw<NYavlC%C7%1j>}J|eCt7EpOhY+uk4 zA6aXu%I?(@YZ|mK9bqv(U2^E-jg0WM4P0(T9TSW9ByYA4t<m4x-E^<u-jkJ#3+@H^ zP0;BOm!BE^@5{~px4~0no#u2}AJG#uTo}G3#d0O{xmVXGF8Wa=nvi&S^JP`V?N8bi zIIr%RzU+<e!(FV0K8ppV*?2MT`78RDY4R86!zU&zc_`7}9-@?Hx$L=={$0rn5ejeb zEYaC>@(uf&CAWUAuDMpxuePFp)sB<yaSD5lo#PT(=dD(qzeZ=-_rP^aL<?SAV>0X( z?_j$be~C${<jLX}OQWvGNaW6vy7f>xa+lY(s7dQj8|*uE@zwJ8H*+m|)^GZBvTkYJ z={K7`bF0p|KdI0Av`W>Quff+1_NiEGezJYtnZ;Z$KdkxJ-Db7s`K+CvH?5QtP8N6a z@mKvd?{@2&Q=O-sLd;*St69_7B;(t`eU_v1+RtTw4!HTR<nZx%w!Gwvs=KRff`0Tj zCJvdW+_%NKR5M>~IX~&N$D6)ASNAggUf}qdLI2A7EuzAC9=*w>bxUi1+nxH?7JgIy z`sRnRYDZU>|GBW{<)&AQBhF~Qz8L*v;huM1=U+6uE?OM=J?v|Is^Iia|BH36zr^o4 zts+u;^>6r{vecW0Z+`nH*|Xd9v;8N%o!_Fje|huy%)FDomG(W2p5{`PvZOZfueJX4 z)ZaEc*T-DTo*onqTJ<iNx3@8R*7mD;zt*)Y><|4G<oD<9xw!4YV!@|XShDA6cI?^~ zwNh;Bm8rj+P6alu^I*E07gBYzc46&_H($>zN<Ve_dw|lRBkN*gHpOV&bT{3jd^INC z$*bqq;(6Zx8AJ`AZTdWE=fbCZ)`a|NI`!x3LF-E#!G$Ln7QYi=m2fFy^^izc@H&5` zMMXe~tA9q2{@z*B8Ptz*uXnvru-e?)F<^0AqWjIt7b54}D{oBg`MK;9(*fmO$?hU4 z?vXBAd_J6Xa-X5CTluYa>d#vue@=bfv+^U)t~HD2UZ3>zl1S|oKCge17CY=Jnwt3N z1mEdxH;P!<Zhu<H9K9>#tGnH%z~^S4-2dH(TruB}TTEYV<;zLuudMzxRsHhDjWfiw z?weNsTJL>6b>HgW>vs4rI`7jEzv%SoRsAz#Z}W3r<h^OUCwvjRb%fBq1$wJ>TCeW> zeV|VC$(yO|R|_>BJ<XZ^s_XBS)xS;zGaWjjUDMQmc@yX5N&7GQq)sY{ow3HNqi@3g zl+T^ZBGz`?4y`L^jIZ!L^rDiL<Kgo?PZ+<n?z-d7SG32_`p6WY#}oQqe43Kt`sU`F z6aN{!r|i096#05WnBCG99@{O#el0tbo|pBXfotYwwx?73mx&6BU0FA2NAlz;{gE6E z#Wvcu!5gbMgXcUEbGh$YT{7kL#FmrX*Ii}vL>pdthr~Zw5@%fUr1?)Iw|0h+)S7_k zpD_)RFScx6*C$vPwCk0K@1Lp9^}JMmPEGzCUpjTC*C9&}?RSd`zH&R~UM~(m`eLiQ zeQ0U^tes+~m^x3~I`!?@!bRx{VRDkj`$8A%c{Hm0)Y$XFiEo>Mj%rL&e&+&p8Q~Ax zCta8BZBm%CnfqOz*`qWGo>zTu7nca_D1M~TdD&@G|E9f0@78LVcrTwAc=%-M#kCdj zvjaNpR;gc1QYnlQ$bY)glC`4he6&X3=je^ytM-VyeN2q2{8ptn^=yMSNA||zf=w#Z z>mtMg+!R;s-5bJac9rqkhgH#h%89m3MK0!r|HLh$%l!T`gkGPu=e@1l*RNT+dt7HZ z&G{#-lbfmk?D49Kk2_*SZfs!s{^r4s6DF&Fwd?AIzgfpTEx0aY@;|3dUjx|}YVm7J zI=wqmY_LAS_Sbf%FB@2kpY7=U;TULdu&y>Se(H3)uDZGN(-mzDCyC$v5%OoMUB!FG zq_dNYxaREi4BKzywCAV(?G65C9e%IBC@m`R^2vh*!tH$7{LQoO&RhLn)yLmy&$adi zS}IO+f-Pl5gqL<WJj&SS7}K4y=<yO|&P66W=bibhXk~dvpMPdip^fpbD6wzB$=bq< zb?Qf$x@BjanNmJ~p0BgKw$o{m4C8RIAIU22uAP_n=J*vg&ubH|eBBxKeV>Tul^YsA z7yi=ri(0d9^|vtTUE1<)t<%qnH}0MyTq<DbSFmYI8rQvf(vD~O+}&2EFOFJpd!@q- zS(lXw8_#id{G2Lpuwl;5M3<M6tlwJAZJw+!W4y+_!g@7d>n5IsU$kf4v%k%KS~X8e zkE?OQ39qjk^iB$X-ZUY(?1RX2<<k5e`Ep821S$_*f426us*Cj%{fi72pUJG#zZmhe z_1|hfnOY|+?b^V3<zXkD&9@irxES;LWK!NtlPBwL9DV3#@%F*pU6b^mEh=a{$-Gcp zXw$@>fz5`K9U`ipauqy$A+F??Drj}1X^FYvM6I*a&c#fWD7{;=e%Hy3f4z!dg#|tf zJo?aJ-^<VEj)hEo#dPMlMqHJ4%HlUWJ05cLUlR*spLHrf^{BS}BIUKyBs)Jkb@q2K zZQYj?AhjZRO}f^p+vl!s+Ua>We$~!7kq5$eFum1!_LuAY*{E+9)6KT9*79EcJXhTF zOqsi@=Hcb0zjd~p3#koPmRxyMcgA$qe7}=_RzLh4`8rW@{XZ`?b2mTGc-Pm~`q0ah zPWxpQ$t+BlRdnP&y7$bQH#T0$G0!*D>a3THU9iGt-M)jT57m5*+qG`aZk@WhEyXfd z`?g2MWNU6R*?Mta_M5eNxo>`J{#;}t>2&^?;Fj}x=VO^Bsk~bM&7t%jSE;I-Yt`r2 zWD5uRV9vW-Ge2c=&q?d*pYtvL$y57juhdVhl<RtBSmmC2eR;ZGz~-MTgO=#@uZ)ZI z`fF`p`u*+pn@;n$=hge2*|+-3e})NSh0p9;7VQO{yY8y|WdFDIU*ap`cm3V1P#bz( zJ8S)USNVW_r|lR0oszaRZMo{V$lCB<WvP{q=3R(B@5+8bS6cE><X_R9YqmbWDLd`w zdYx<aD)#T<U#+qAIvIVj_PTa#-K*DM;%4gXWqPvn)+zCK;kQl*?KO(a3VZo;<-EpK zCReMX0>oa4_U$oVB>b9NUwg&tqJ_)!C!IgLskbdspi|kff?M2s&DOwcmv81(o|>@s z)sm@+Pf}~Azv;Pmtu;SrNq5hJHCOswvnyBZUlEt~qHpJlC$B~4UvxjQ`ty_J)^Xy? zQl)?CUzE50R{A;Mf&Ss@70SNXKL>>z|F-^OvG(7v_|V$Q)%>7|B6)$G5p_%SLocQ; z3s}2o-fDYm?N{awTGw7}^gVfEh4QQZxpy9Qc5YqpWXYNA(w8%Xcp}A;`c_=dJbxrC z&g1q4(b*2YH_QWPF!vVw{y8!6l&qHGT(85ImDYZ7%RLw7UJ~`n;J(A!(*av%K60O* zcu4ozGSf2}r9COj!=@TP+@kQGf#*fFapUTy9b%_S11{JyO+0ldbXL8kVr_AdQE#}I zyz8FyldGpYwA}lZ))T#u>p<RY)1&D&Yi9YL)N-lRp8t;H<dOTG2jhIVC#>lHxnhdS zzLFLh_AjTbXWyC`m0GlRPORgMOI|&}%>g3PuTyT`O_W~3n!V-ObA?MqataG(CtdXY zb7$G<CAS0$d){|SoZuIlV6y87zi{HU0LzSkjNh8C7b(w6bx=t>%^6h8Tvi$^mp6qu zBDQ*0h;*rz=k_j<8;flMGql`qrWP;cGU$2B8~k|_OXIVUW}A~-MV}&m<nL1TP&s)| zU_r+duI*R-=BZk2c=ut8=JS~`_Lo_i=VTZ~EPDH++U65iRm%R9*y&CJ#_g*V4@>^& zjJ3JCMT}+5otrt_SsTv&6uG^->ylVYHrM0BNk_Hn0@j~8z9G)@5ktzJEfH_q5}ca2 zE~!0Cl#%BQZokN!T@q~XIw!JFbJ}s&^8XA8SrcE0zw5cpmloLBE91rNc<Ax0_Cn!w zf$asmzGZOUDh@oa8Myvw@Pw-d{G4am{im?hEl}Gap_jXHMag#7D@m6%e6za^ZD(KQ z3@hB0t7v;pQko(Bt_Smi*6$oUH_5rTCVkkEw|Lrvld=0!quW$$4YnV8KWoRo1zc07 zy@^S3J$uUBY5E+S+pQ+=6F-_fTVi7LPpPB#tYVDV%#XU}pBtKEl6+f~Uh45mPH67v zPPw#v>6?u)l`S{z97OjSJe0K1Ia86KE_qt*(8klft7ESI6>ZV!KUsGo{#*$2w2BZ7 zd82iY{xiJde&5M<@C(<!7EOCsd)2b@M>xZq>m-Auj!Etld2ch#>%P*y*OyM++q7n# zjU>ZPhYb;Z5>LGPru#Nd{LuPa$06dC7rUal(cC({&cm@$f?H~QTMT}0HdjpKyQ_Xr zq~PU6M$2MuoA93L?N=16kL|jC$S8iLw#fa+Hx)B&9v1K2uvMs3>&WwhH5bemTd(HV zUZ{VN?ciG1cl*>1pLV?#nc6A5`^nD4lSvo)&R#S9J|XzzoWNa|7VJpw>5Ontu6nTg z=@L=K9q#&_`EDP#hnm%NZ&^L()0=s-Sj!rJMuq;=UaagrRqdI@sm-#}MQ(aMTh}&c z{jBXa9Zna|u&Qo<CbRs|^Vk~~=l)x3sc*Q;>HL|-o9936w6AXPahmuz_roH~^b&=5 zXWJQVfdzYdyE;A{3Fj$l;s3iXZujbo`Oy=c^=7ZK<bAY7?8MahlSBS`mAtn;aMM?Q zvZ>0-{1qI>R~;#mTKPI}b$gY$&w_iCHDq?P-_85$b^g^x|IX+q9rG2rS3X<+lIuT% z!h+8`+_>9ylup%kAHJZ=x^4ke!0Zx@wKqR&soN^%eLAyJa-R1ZCBynU(VAbH`Qjn! zQ+7t)UYb?ecjm*tjIigajPZwVdj{LJtgcE5`?YA(exne#X^|^l7j62rK2~(+hZXzh ztT)_!Gg+obyW`2vvz2<`Pu6~oHPPUUoi4Zermdn};er6mto;Ey;xFBuzTe={I`g!L zK0g`um$17EvCk4pGj8hnrGKGS_%*k7V};hgxpM_&^TJ<q{0-f=`kTAW8?m~%bCq5l ze<G;j^P%;b5x4%Vhv!Y)Uo89U82B~5Xm9v0#jk#<bt@`kWvf;&skeFUU$isulh%I* zg9XnQv?yk+G1*ZVw^QfwqTfurz69U={`RkZQ(f}ruW^-SRf^ni|I}~#dbV!<!C#B( z7ujXMy_vu1ueIH&$4_=?>+B6#ANum<_0Z|5$4_R?TfTYH#?Mo2KF2R&UV8P4yz|Z1 zlRldVUppviAF7(Vbo#gTyG}>nO<kXU(=9fvu3$~AYWg$LwNKXBhD=SqebM9es#p83 z`t51jZ{4*1rR;R8h}M?(&PA=e3hptqq+e;Zu$jyKEpE^BN!v883q(CHWjOhiTl0yC z`^>3QU!#6$C_f1)+1=E)UF%+-w&vH^s&z{~$J%&3vJF)E=@9<aU2j>K=JrW5#ZJ9= zS-s}VlSaPT&#n}lvUR-@r9P|Ia?P@frCk3e?Rywg8CxlR;LWD<6}wmzmrt7GzC>NV zyGxueO8DlY?WaP&uUWiG(!+A)5q1Z$;0xLrIrlQ=Rh4yD-gU{Gv%1o$=gG~w*YovG zKM{FlG+jeV@oA~?^Awi28n25}ybdeRUZBWyxyY-3ijJ;S+>1xqwOm`=LlacGEo82o z-P)pX`=sBFb%MW~CZ%8WznCO5EpgkkonJUF*qnNr-4wobiiL~J@(s04zdK^<RN3e5 zR^TlOl6v`X>*+^a_f{!BNqkhauTDTr$s@&$LGjY!cWdUD&b@Nu`mBfQbCf%7<w|Kw z=JjjU6>VSOxkc0AvyFo8#YKl4CKseu?>O~_RYFdu(?wcxWAxd3&$TR-T)rB$u3x~) zc_!s*w(zVSpPLpQ(@#5fT|;5&Z{6QpdLM|qJh7T%a_P&`T`6v#Lq0v6dOgIYaz(|Z zL*Xq^H$q&0uD0NR9sT(Cti|FpBK0fNUU@|L>3ml#n#%O&$;w|E;uEV=c79g%)I0o$ zS4-vLj|r^zbT4Z2&GWWVp2)F#T1Mh_qbGIxodx%2?N2>WGP@~6`U^Mz#famIl52X7 zzFDU{Mdn&uc$~Lz>lUFs%AZ=RUtPImo9y~)XUektHQMqXz7sR=YTetgoQ=<MwM_ON zrrjJV#R2&zwkUpAO%k5Nw5c!4d3&;p<Zg*2oI(B<ecV^=l)j_5(D-n5NA#-j7faus zJ`{4FZ3*jn>0Cv&$xl<&ohNN}_!|5ve%GNNJcswPnzSFt+-e})C*HVFF}An%Pn2Ry z`XYsGF89Qj-r8RBkT+si#?lAkdpCMC%#uI;=s>Op-!65_vy(q2IlOqBFt_7D+nuSZ zPy8Ho_NAsjSCsg*BA-EW3g`Jp{&iYQ_IFrlyslo&#yE8fFOSHxUEep)+Hc-=%I@Sb z75h~?E}9D-y(aQG=v~#~+R!arKQ<O~zSZk~C*gKI`Ms)mlU=svs|QQ(JV=UO!tqQ@ z@#reO?Gw1n4_`UvY#CX(;L#rj>5XU4O4hyWcjAk@DSNv((|u(_NX)+^Ya_XgJ3f)} z+D+m!HtqPia&|^yTJbJ6yHzZcKb*>If2bPMKdbQREa|f^8h*|QuQ1AGl(@I`Ku|gN z4(AEIkEK5?f3Edp>n*3eXX#Zhn$Mkjrc!ul&%A(j$x}p?bse?K_>@=1Oga3(yrN;b z=gFvl-reT}+AiCiG!N{$I6=0_Z;nCBuZNMlOb!L_dV1BHBj5JPbAIkMe5+#TyUMBv zEWKgVB;}naXkc}dgIVXPTiJ)HElo1KcP-bx%w#v)naGwLBw{9GViD#puCeLvFVTNp zCHY)OKlDD=ll-iC{H50M>Yza3XR4mEtQX`pBkhHA(nBZjnh`mB218osK?4ODujsn6 z_*HWjtBWSS5c$)1)hDG$`<m;-l7p5j8+>lPXnU7j_Gjvxd5s?ZrUmAk4~3*>FxFnH zcS(;~*D_Z}YQy}l)9pv+tV^)&Ocu8dJiUPH=U2BF?kzD^`Bs6=Vmmb$EaV@>ng;Hj z#bmR7RzvBI8278z{Mr*1<v(<2KVjLl^UGA>PhpZp+V-xx!Z}@iQJQx@WrRg+=KjyH zDm?c~)1J?f-OmI%i`$ACf0SxpdUag6uB)zKLGeuOYnS%)?$&>?-7j*g@NO%8ooQ}r zZ&`gjdX}a?*L`!!U1{-?j{gih>n80od3|&4*IoBc2V7eJg6m8C{<OG&kiX)qURpA3 z`uC)6Zr{Dr1|s=(t{>L)Pvo*o^f(=<W&A1lOMJTKWrs~)r(O=~6rAU7`mcNXtm|u7 z71Gbj@|#VasqA)2tlVjTQ2*3xg=a68=9QOd{92*&@T0|=zXc0decg2GSFGb1o|9px z^lg{f++o_g%WL9i?Jx7r$BNA5>keg~bpC?oua&P;&&sb+s(P`u-t_s3z-s-k0ZJv4 zmesBJ&+sl#K165zstvzZZ1>dq&)}+6S3CVnnB9hb2fo#>ntJN>Tkg>B0sD^Dop#lb zyT3o3YwGu~fBN_Txy7q;Upw&4KXvih*vgd6@uhY5Z`MxTxBAkn{|u)2pEaMoQ+>Al z&DN-z>#Lq9*00)<x-#%v_}9R1Z~lr;Pk*u3a`p3zS=;MUOD?p|{He)z_=2+fRqLQl zpNw{W3aVvdtGRtL{TWla;@R|P>YM7a#Nx{1cfGc`I^CB`K54Q38S$kj!Ys9;{!R~n z^TL=xXM3s2x>-yi@}XyIZ09dBe6eQjl(Z10htE{qPpsdwT4syiM4RRi#=NCghktoJ z+-?xwz0Op!B<#Yo5OFIj#a~lg=l-19@-_TT|E}$4*1Tg~xBh$l!tkH0>bfCvAFK~W z?Jre|QaTp0<73*R#m_3&Urk~@d^UAblOF4t+nc`!UN`;lbLzJ@tp)ZwRu}hZUpDFt zd^q*gx0tABPR1`nYP!z7{_0Y6;#<LHo9A}tgy&`R+*@qXv|n3$zUl76Yu0U?b@^(h zy3v;SlG}N69;OSGhwcm5(>mqkwuVJFuX@I>n)$Qm>VJlv3l^I{Ep2zu2`rQ=*fif% z%kop$SJ%UFnt{u@++suAPw2Eot=Za``f9F>D&x;(Av;d?bM5$47;N}VQ1H1{Wx>|y zxZ0*`S6JC~!UQ%k_$8(rKYY`(cGmXvSgrzznp2OGk3ZG;mvh<2F?o%MtlNqY^IX&B zxW3<YX`|bRhYBmTV?M>Fs$RT!u(s>K+u}m!ju(oIQgI;~Vu9jEQ!_g6O<F%+^^o_u zfKC6N9(~Onw50gNY8~e50%7e%Q@ixrt6i0+t5)vZJWGVh^CP=v=9c`+ip6u*ESO<) zBHW>LXZXFR+RIh1yXrn&5P5VhYx=UH9SPZWXZA8(kv!3oR&;Xp#9lAGmq%J2O`dgk z#<h@W?b4uHhq!L*ESc^3?dC-RX^9-$WJPaTZarIiA*JFO*Ym#~F3|>J24~;KcDiml z!}`tr@ytvPS<icu*1Y+|pb=lnS7OfRb?oAz1gmFE-_w<goEZ2%{eB|);Xgyv#vGZ) z8;?6qoZ6);#`WBmGk`;{+nlRT&#d=m*uR$%ccqtyxXHepV5MEPQhIT;#@&(>&&c>l zuF8zQFkwF5f{WK#-NYWuZVF*=H}KkS8^ApGsmtwEIWdCeMZqecvdsTo?RdE1<f-Ck z48bf#Qx2}~ofkN#d6R5&<S8+M8tJ3au5+Iqtz4LUDe-!Ml6uvvo7vj-vm|bJ_%?>I zFTI%gBZnjWBd?&m%d`1y?^LT|Wv<Ch)`}_UIMK?_V7#bUqN23t+Ri6|lcJ=jUVE<_ zx-a|PMze2E7KeWnTDx%5=_ea3tgXcs7~DNxvib(|!Z-ObYc>?b_q4V=`W%=s_qd6M z-ibR++oP90d9~{^*Y(EC$b+xMDhnP;uF>0OsHYd+d}7ODtCY%h@^AH=4yHZ}T{By} z``u!-2QSviKD(MIeSOlBe5Ud_Zr<}}DV|M9+{VHwewa0p%ixif<*EM+zM``go|pK@ zHHq_XEt+}VBKjE1b8dT;<O6yk52yVJTE|>@>W~bdp2y!Q&CH?6pS3<!esS@WJh9XD zXN=DNRbGD?1HUqgS>Bl4t<bvg$6`(?jbBPm^96S{&pMP_b3K-6{|uGI>NeMxo3ieZ zvWb|GSG}_(iqV$A<++sT9x1jZmO_R8ZCvNio%(a}>B-n#u|6-0q}JHRgzyMFoa}Wi zG5d;B|DyAU7dStZ4d?cGUb;YehOe;oc8S1!I~9umbQ|4w;dweEHtC?W`>M|uB`;oU zT6FWqH~*`V(luRdv56Bn4ll^KbmvO3dGK}Dw1@kaO6*;;y{~)1k0vAOgiW7zZAmW* zDT#lzBYo9huZgp_YFEEnV`Ij$u*N-FG3V^X$!z%@+JBlRm~^PdKiQvJu=EmJ<3a}h zh1{XP7pUo%i^>)U|7Xa$%lqn5c<3+9Lt*<oYNs5Zq<nZLH|G}x?b^^szq}?-Zhh17 zlS!nelRNUso=x!!BY&~xow4kkk@dUv*Ft-RCGr7*lh>;<tTb*9;!i0#8x=C|%w|ik zmnT;x-8vYzO?gw@Ywg4f>-SDed-gEiVviE*!_5q<qg;+Gdt%utuR49rYLkAW<=Riy zs?T=%@}!gfiRhl5se95_ME#jkKlQ?z{UNV^l;<`6*&g^=d%fz6bG(~^nJogp#!Y{7 z`Pni%SI4+Wy_z@6bj2gHr>wdDT6@l?xb81+)H%M`ZoItt-9pFb%X8|wzlZ;0wCe7= zzsq+2{`B`Ze}DTo|I?>mt5?VWP<nP}>b?|>UGo>cygC15Z1g6(?6<d5=U+^H#noN8 za?`6tHEY(?dEK}1ezUAr<h8ig^<BSP=db$uY;WZnweROb&h0*+UYQd9!rHViV883% z>x?lU?OvZ&;hT}0cT#R)<+B|z`(E6RnGm0}$gpZP|Eev&H1|(Y{^Dd4<#nP;TQ-Ly zdcV=u*Q|A?=Lc;HK5eRg>9w8CL&yIN25<UjM3wHEvE|0(S-)9}pNQ%5d0pT4F-Vu` zU~QM--=opbI?n$JzxB%GLaX3Y*5b(tdv&=&9KUec)lN37?mX-NPxI2-qC-m~zNH0< z{W<9R=V|mSk;K>C;wkMOGlJJVzxhkwTjI^`JxlqmPhGyEADYYC_2~1YWk1*a6}LB) z=U3QSsxg1k{*(M$zBx$hOpkNkr1a;ZN$FYdJq;24HrFkz*F{zd^>$iK+8@HU;^3Dj zJ3meRrG4wy$_WYY4((rir77J*`(5bl7T2Z*M}<3+_B~~KT^ti9$){|3eggNBim-Vp zs~ca4z1J0so6!2%Y}3BBPu1oL`EjCqL)<jAIR&B@oj!MWqFh-3>(&W7JbJpP^VO-= zFJil3qZqkkuJnQ33hV5$&)ke%CqE}+ardIbaz*QuPevapSGD*s?T_Z<SC`h6Cp*nE z;oUTU(cg=<I$o07WF>XJY<ev@sl9SS?yRRuhgVHJby}zGlkf|{?)ygTHbrfpC#o>x zm4Nu8M;r_s`&QiH3o;6*e6>hlEI?((y-ly?UN!M4(zdDDu=c%2fUNyAvABXo1)rxa z+f}-Q+g>Qg;PE^K0fYN5ite4t5tMv*F7(!VIqx^2Z?B1HuTV=@og7obvVNZk$Md29 zsiUXvGyS~l?KbE7tMKKf)7(wx&spRhQLpLWnfCUe?<<k7C)W5jy$NS6IQe2zkpIM> zhjm$&A8sb`Zg`|9!zXCA>GYGeD|gv+&G`57taJ0GjahR|i)PNMW1l!HGkY=jIwobG z@D{&<)B3N@uJ(7WUnSu1IqKn+6(5;Xr%$~&?fkQ;EfOVZAu?NzuG+hc<yjQx)@cGS z8Pc^>9?CPu|Cq{NF7Rw)=@y+wKN+^~RnS>ys^uu_5WV2t?53VicYTjJcb2zkT%YNZ znx|?kbAa=h>c-t?>%V&ak``EcyxK=G>F5)|&jCeOE!@9|<lR}<;vPD6mxy||M<jc6 zTY#1Oo(z}mlK-|&`f}Fk-n}$EF{2mEwqkXO+^4<E8zj|cyEUve+G4$_<ig4;Sr6t0 z>-atFx%&9C@uYgUJj<vHdRM1U;yv6h79Qc&ZV=cw^WLOQUmWK1g}L1O>2#u0>zd#p zuEKNIGJ;qiJ(#^>cfHo<+@)L!)`A}yC%s$|X|Fw@d)KXyKTRK=?^*ZY_Pci0T4{!< zt^1WWAI_e_Tv+NSZe;GX^E1Qp6Q`TFW`te02wb)-OlIx^?cH~Kg5J1t$}4T2eed+F z?IJgH_A1IR5tSG7w&QuQ$mMX$mbEU@LZUz8h0aIM@MGzym&gomyUcLv@03LG+#YRl zzm<p7E~zYR$u2u|-e!W$l&_mUn{i2*?kw83TDT?dhgaJzi&TGacJ1}Cf`yZ+RyJ~1 z-tcQ#ogeSCKlRrX>1(fwe}o<vH<59RQCxj~((bjEJ6&GxVPai3$8Sr^pEp0^XUnA~ z^#`q8HGAd9im2`WU)kq|g|R(hQ9pFs(LsX!RhW`#1E-5z<;EBZwinxSu6cX?Uh#Yd zw{9udeX*Zz{Hy-lx!iB!d4AIAGfE|gcZvT}oL44uCGOpsscP4n9xYug?ppjM+$v*@ z`ZT5W$x?D>9+(`_znXc$>9qIi^R6;KSKmzUIJU6rj=s)AKi!w-ME_;os9EZM>UHGh zNhj*F9-a5`Dww!;=2fAswp<&&v>LK6`g(m+T|$|x!cCKZF;n-gVw|{;u`*Rvi1XB= zoCVpl8o$4}Cm-_ola}35+598>Q|p3LzjMD^SF`qJn_u`55uL?bZog{zb?EfrM6ExY z8GU}<^v*xIG<}&P+aJG2h2dYCc53|A{<ZbQTuasqbDzp4i2mJa>M73A-|4Q@-Sbsw zP5!DEu2WlnPOUBq{1^E~`OT(FheF(E7RG02+v?t^EQ<4f%klG8SY4yr#MF5+o!HkN z+U9loi`I{|pWa+Pvwp{$d8^cZ&4~Ofyszt5hS=QsFZLbYZ1`foYkssw@O4w}OLyn* z`YV1jwlpBzSFGOe%zuXGss9<YRT7lTOSXUb_41G1s^?FvjXqD6Kj4yPxo-9JNi#nQ zEO|X6ZkPVun8s4`&)SQ=hCOVZQ}5xtEc@O5fVFn1v6Zsn{EIg3G-Gt0{mkh+zcKfE z)6=WOuPX^EJbRsA7I!*cGj68<=;VU6&(`FxQeS#RXV02lI$NKuu@%g7D>|^u=E#ae zFOJS?(%06AuP#eh%2{T<bDe;?M$FGcr;nD(Rw~LZji2^K$K8L`DfU?tcPV{Zbg%nj zijKLJj-gHSoL%R9!)#?)3m!4tTs^T*B<+;?FRwlSGGa|!{hw~^JKaBv@2JeQx(cVn zd3xTbO}}$%Z1cKv{l${9V&l414nL>L&w84=cA|Xf9P<gblg;M|t+RFdy=Iy-UsK+) z=)b4mDb_u8f6>7=skq?H{5dP0t~XWqF`e_Qr{ssb9?#Z@eQbWxlXiQiRu=yYp&sA4 zWmEsH)=u2L*fepufcB%3w6J%<sfR1BZ#HCBZ@nJ+dr_YG4u`OGzC3O2S|9z(n{|%9 zTlD#qfaLqUscC0FPc?A=IyHZG$nk~T_Lk0Hv>tuVh|h@ISyuIAN4L+NLzmAi&YUl( zIl+hR^I74dQpV_4AtEJvoaCe<1m+lDHkGdpneg1r<J^~SL&pzKyteLK|M$ZBFK=d+ zy_hHZyv)*H@Pf!YrP!GlBNP(;T-i5UzB)O8vCk{1($srjtIaNM&%2CK^B7E2BZRN$ z1iV?4m^k;v78V(I)-?^fk4xU0y-N9#qx?m+wllE#*_#QH@0HVcob5iPCVTcst8&am zf!vv_2HWx%Uocuc_h3Zp_M(h43of5FXgG57iGM<WXvS+TDW&fU8o%`~@~;fy>05o- zV6VPvlJdn>1$*~2PslF1vSaOY*ENCDKJ;Y>=Qv$hJLk^SX|uFBdL5$AzHAZg$-AX6 zMdg-7Vq%%h_W=2XMPlEzg>UH2E027=t4-ZxN5&e{-BXS}w)E}O*pzCd((dc3Gcns{ z_3pFYK7KAO%>L!OE3*{$hdy1ix;Zh!sV1__{ak6}pF@r3-t}BzN}qYPYJF^Qo3L>1 z6SaAEL1G`~HLNV?eXaW<|Jj@?Uv_<OTq7kJEZ&!0@oU2N&GU>xOgA?73kDcU|7S1~ zluuZAbM`x(cnu$2ORKj}`utvmWNO~<u&`)|Kh0ZyWWM0O-&1+Bj|Z)va<V11?H>2D zy|>%K^s?qnf3yE$M3u$b!o+)3hxpkh%yDk*QjwVw6Ln58qEDK|ZuKOI@;=#@@eAGf z<WEa3?6K|X7JIdQZ_cKPXEcAdyx)}FwsU6SoM&DaOqV+}o+|P0xp`Py#JM1!^>D7j zYK|J8-Jxo>A@4X#e@^|+&^6tvPnPj)x`0tj?05fVcP|GNT1N1!=a3Axztzy)`b||- zd5UPe?aQND$|ojm?_Z+Hx7+uY)5P@xQx#rLS#OvbC;v96E@;!G1Z8!0wa<a(Pn@>f zbm{6d9NH#xEpE~r9Yfyh7Rw%#eGosoYVUIk*OqBwodQ>1th=~(>a}<6YOA04ec+y+ zQfwX(rI6(jmA=a{EIZ0yc-9pTL$S=(zpKB-?+8~i$vA8DGxikQ+lw!c$Si-cc^4n+ z!@~}uYd^@HnDNE;!~K$-iF}{6`SuBI@San8Y&oCPhtP+2x~IR|zdPhz@MN#U)|=H{ z+ebLr`MKGqERT=YZvMNpE^|ZRk~~S@d(1Nxqct7{ypsu^^4kB<qlLXaN}q%eFWI(u z$=2?O3zij&XNP-SSuK6;ORre@vrY3-ZT!rvo`rin*>qk>K>c@9A@d1_mFJJlQ9f1V zq^leX+KT_xg}0>j*OZ*3N)5XW;;SawB|4nazrnls(cFN^EyC#xoB8ru54yzjw0>uG z-Saf!Wzn+e!-qDDz1moFb>`Qo*-;^9CeO%-a5-}8^qYR?Nr%!a-rcO!=Dd5=LEdO< z>Go8o$=wTrFSo4OqrK+E8lIwXt2CxFeruoX72C_8WwqEM#<Hy7*P*9%n(>?VuLzJ` zueyAO!^6)KQyP~AZGF+bbf0g`PyIhl=WIpaKfn2MQvaskr!FbCiN^&jx^C8b?)$Oz zua;D`3U`UrToe58D&W)AycH_(6XQ}7Pp{<G6f9Vh{xI-r%-J6fyS4>aKG`~_`k)Uh z=l-kJ8ngWzR<JA1h;(_e?E9lB3E4*k3=e<MS-bT5x{lRFE{@`7WF}1K?6z2Qe5UNQ zpWkYKEAlP77XHQI%abjymcQ8d%JNhEs#BGBi}$Ws?3zF6^I4a56L;UJYyVOISvx*p zp;zPQp!}ydOIUs#`g}IsuKU}Y-`}eAUAg0@e@OrIpW)4Hoqemnhsmo>n>EE|oruo9 zZu>=lufN#u`s>@@>9bn@YU_K(zrHQFF0u0YO~F@tbN0Rd%9>$$x9U^4^~T+;vGJG1 zR{dv4W%;$B{PrnpyKk|k0s0r7ZQs;=H?C+SmtD&uJLQ5+UsZ*FR-~5pdY!M*PtEsU zc;SX(zO~+rHKE7mTz}X3SLFDVZ!*75ee|ET*>hjSw78@Y-z}{|uIof<V+1TVOA7RT zl=Id(`hDu&)T-w<@^;>i%koa1w12VF(SM<p+55Hb%B4(Yw{zs##iC<1HOZ=Jy{v-% z)!5=Maoumk@5bw!CVqW$j&JTHTSx8cd5P(2l{$Y#kM7bgt39->l7Xw|$gNkWucm*A z^{WlHytpv^S>TJDjh2T`uuj@jGO1I+dP0Va0CUOKE04NwJUr`pC7p|1_lEYAjP1v# zUeUehy+-MK?*SvdtMQlaPW~2k+$h|y``W>()SKS}KLzZu_1av&L*w)u?f(oJZ#o)w zE$%#I>2%lO9_Ox|9JT79^PW8A_<CWv!=C4o+7dmJ9VG6~JQViL<vEwr%Nf49O6f|1 zM_eB5V2$YR*b#kay<#QL6#1ZCFE)K{-LuB{ocQEC&baB^r&WsPs=F#wZYvIQ=?hw4 z=e=&z?hS7*m9J?$tiZu4Y~H>0dHe(}#|f;58cgr*GX50*(<AtsZ@I0ANo7}WnA*>c zCk$ptnJ)F2aA)_*P19vs7e-XNPVH^)n4(Y_>)qRUWuc_&lJ(vzPZc@2+<N<LvG9zN z1EPl;yLA@*)aZP2!_7@b$vbLue~Z_SnPx6N2ewZCrEoF(S(rG-9-#$neR+8+*YYx5 zFIk}X=(~e1M{wzV@fBeT^5rRE;*Z&nL{8d%HzxaLU8QK{@orbKyaw42tGiB<v!98a z={y_hyZo%1_A9TZ`4+Bk93!G+{+=`6%C=*_E|ZGbY{w((jBT#PyXL!me$;zmX2#uf zf{Jg?$w-OSIUY7Wn$M#X{Di?Ru;jy!#j5$66kImM1(Z!JShB<a&@$tbo95haxNCGr zxvSVMDLJ&ZPPNJWW5lFAW>RSzUK%TJD!$Cs`?@sZbbncjOV+H*N4t#{T|P6FnY&H; zu34Vs;m)c!r-F{YRF~tX83v_c=2s5gEt3>K{K(0CW3Sgkv6BlHv)6R@s+!%txF<mO zL<*-<VSCb!#Fk{yojV;ie2lCQ|8z)YZXVObBTv$wEj}#0O8Tg{`sO*$#Bav98;Q=k zd|`^xn@diI@>_3;<nOjTbnjPd0{f~N8_%D$7L(2r-M4bN^yYgkD>FW`tgaP3+;4PY zZpTl7<uBIMT#J*L>@Af$XG;A~4xw8W%AM=tS9`r)v&Mc=d*VxO6|e1j8iDPnh4MZe zKcU|v)9p0#=-CD9Hdh8ek_p=XanerSz-`+%*|c@tSN*1%*!e8{OOZ40Y+*jjmG(E5 z9{BR^+GmcvjS;uA9TYV7eC0Cy*`u-ZTu#E)D}_-{)~u<RXq&(^vwQBLin569p5gYc z9n(|yi2jw~x+Jsdr>0HXxg#R(YgThSyVNlM)1st;7h%==G{b6)qczxM&(<$exp}z7 z<k`Z5oBTdxMlaYo@e$X}SC^JZmxfKwnK0+ED~rFY>W;Z9t@OPm<14uoeyvMaYf=6; z_Yj*;&r*XOkJPo*PyS~Rl1<(Hxk#b%WcX>W8J|klB?ola&2XB2qN~hz<0;2T=D)5* z&)Q@yrv7KxS^r4<pV#l}cU$T;cDTt_Y|Pq|Jk`FGap#Y|4xYJ^UJ83Z3UP$|XIScZ z_utg4#6KGq)lW9MUyXhex>M&)F7KxFzzQeh*575!Qa29G__bob=z-|vI@846zPae^ zX*apS+c<kp_@dt$>dJ}SC5`8t_QX%xzn~y4a<S6$Hu1Z)Po4T#a=)ooIAcF)|KSwQ zJM*&C{xb-7O<kwC<NBsz!$Tr9l~eSJPE1{XwkCS#YK><V;Y$yhAB#Q8-F&oY?a{99 zv8GYaXEoS5?fKHM!MaLPw`wk%Q$XRv?y1k7q)(j|r+u?Bos}<eH}}`bUu&&&-k(sA z{LfGrD7R^y`W)7rzJmP@y_>EUJ=-f5Zz|I@e^+Ck%leB^M!{d-%-__T^q_U>Rxab_ zS^Ki8UWMOjJ#j8uBy+}_r)PH7&ecjkaY%h$_8XDX=2Uqd@As_Hwp<-w<NpT6?M#ZO zdwtQtUE@`_=gEVfKQ*_7?|OdjwBb_@|3xR$6*8>zzlQxh)%msc*ZNIUwSFqk_g0ol z+n;(#HD#yH71qM%HPh#1mGn%jcb$KE^XcvOX6yH-?(d(!==7`oslV1=t$Y3LKf@dT z+uP4p-TqOZdeP|%=zye~W+i4*FFWik=3cU9N#%Oq@cE|N@AiG_j9Yb~<EQ?v>#NFj znO-bj_UY(Kna%MjHtV&QZ4f!WW;OpJmD`(bc4_`Pwg0=u+4yN)uiuFNlV0<vN+W*P zi+!i<bvzOkvb<+4yBR0)pW&8>+nlSXcAkv4&D$Kyw#q89;OFF<IeQdiDr3{CPPkR- z>`RTmCjRtN_$qc^chl-3uH&biKA+LNd+LC8m5KI@cAfJR15X=m{-pgivU2_Q)O{<8 zuZjC`e-B*sS7bx#WY72&(HGm#R?fW<v(qE;#yrWu&r_#Vt*$wBmM@|>=x(KM@x+#u zz50wv^A+}r>#G`n4qk4y#^&oA!PgoGPFpWfk-oD<<EKE|wlf;MeVg_v&Ej3N*g`D) ztBU69B!O3X-E$W<YH{4<IMBiUw)7<H%LPGfzE`DxRBF6j_4H(2x6OH#_u3~SllEoR zWebW2n_bZSxlnF<<e#Q(%C+Hw%@13r_Z_Tl47BX-h}c=!5hlGkGhqG87R8hDI!#&K zC8~9KiT<vs>Q`Fw>~*K5{A^{mTfv_7)>_>zRy@KX)tt-s%z^Bt{T;Vn-M`!Ex_+8y z%j73da@RJ*XRq;{q248Oe4glauDNNa?kzo)Kezdm;p-Ace#0rEmh)2m_J$sN<Kr|{ zOy+b~+dlUrPLC}17#RCWB<@+o;;`M2gF!l{Q@eum$)5AA40p~S*<&uQ!{vWM?W^U= zb00$bckO#I|Cza|`FV?2zw}MNy1lpz?>|&FRXcZ0;ON9B^Bxr(UU=|Sn%BH(PRFm- zb?a+rm0m22Uo~C!uOs)G2v*(1*FCFy(^9jaIn7_xI46zi_rXZH?eQ!8_6VLy+c?K! zD`PtI#HiZ}t!r0(*>v7E)uJwwLI19h$u%*tof}tZ?6648Ua;P~)hf}sKKdcY(Vq-E z^!x?2JntpmEm7ZR@V&iqQ^(9#BI3sFhnDnfe{+yqP*(L~o!x3V`<FRN*Jq#YI`qN+ zP*mvV*{6=NT)sBJKIDgx?35`NVv<E?II&)9uJk*R{Gi3)<x%Z!o;e%VsQ)>T)}+hA z!1`t;-x0TLi<m!GT)sY8An~I|dkX6=&7Ul{D_4|!VfFSom#~=6HbLjF*K6+3Y0q61 zs+Om`3k&65I``(ugXv2<wAb~OdB4@-w>$i$RqAuNWKn!7^EEDuTk_fY+W#4D&E-2} zx!2>KaJly9J!{q!?<!NMUogdb^WH}}+C^9N{CZ9XUhXyVJoj|hH=kcZJN9px5*7I* zk>e-pb$1QRIVT;j9bo$~b)MqG7wzU1PU^*cy;i!{D^G{N)_Q(I^ta~ANh~};YD^RU z<XmW&-Qv4e)o=5peLFh?Enj&VtvmT|!TwK-QBS%h9FEM`JI&iZNPJo6lOH>#sWsLd zj9$RkpuqOx*^(cd`J$h${ZXi3DyFz=^~6hJuUlTRWjUXG;k3PDb$>u<;JQg`^Rj=h z=VHEhSX}pN!6X}%tqy`8EvDq|(Q(uecVA?YY#qs-dNQ_I(&)O$a=*e|Yndz>xh|+2 zQ%N_-Vd_pzoj-TCLfmU<=YmJimh?My?u%p<zb`4Y;Io_O&qb+6n2SOhnIogyetE=( zh;RAN;C1TP-BfwbDK|gN%<Q??dH<1u&f7;RI*S)Qml9ZBSEBfWPkPPchX$J&&V7u& zw@g4tc}Cc;6}q2TJz{?TTseP2m_=pNRpDi?HcH-^nv%cl#i8wtKlK6vEWZRq&po?t z?I#ZAdeh(Q;<AtU+}NSNiRZ5Tm9^FPHy^Up{!!H0F~Kl`DJ+ODBJld8zn61(cO<5M z36y$f5}7*b5L?%&;%86iwmAt%IPUGV)cD0T$Ma*}scpfl4A&)czbs&y^l*=o!Ma&V zW!dMA1ndnp{xkSqZJT|m*jG?+(X=B)Q_W-<oWDgkJ=V;cc)IG8ySOU5E!X)c3$~wF z&1<o=u1i;zspr&G^Up5lwr%<w_)GH5v;C!eKXbq5s1*^lSG+xc_8id#_h;GfdY+PY zdC`euOWl%1m+1UUR(-x8vXUv}P)XKHp-s}qE{ViEJn`Ad&eh#}y1wF^C!I6zZTfpH z**5%!Huup(UrxGY7i(MY7xbG~$@)F(@~Yph`LkZ|PJ7vTLh$C97m1Ei>0195u>RI~ zwtVSQ=FidFUuwvj3a!~+T0g0OiT?JKnx3-ENgF<^EdJ7(vv`y8>)XnDtNu)1G_QNo z-|KI0zWx)i>CN`*KPv0Lxxc;<{!9N$q~@+qr^H`t-T7_RQZxO<{?c#pFZKtmtG2C3 zOn=cnski1@aQ4k;wPzv4C8wHSES_(ARCo^0#k@J!wNv&MhyV2Yay9-E*XgrW&je+T zc0^gvnX1UYYR22kORwMc5P#0CA3A;Rl}Ak9x%FoqKCDz6c-|xO&P%R4*F|^f?CI2U zIC?I8>C{ab_q6p@r!G3J!6zR6WLL2RukjT9bwzX8&##(Ysa-S8?dQ$n*7~la*72`` z6sGlM-MQXv%^CJn!7^<Ti@V5LyX>#wadYQQk4t-?*xpvYJTx(HwdH5->GRXXe(Z74 zzgczHsr7Z~{MOP}i>Iynw`ubwvGON^znv}^&sm&(&f#0+#S>mfyPpIK?{fNgd%e%B zwbNE9GtAtyU;NP8qf1sCH$Kw(pJB;Lvy6{wjmx}0o%_&o|J4?~nl<|a7Ce8rt0W_z z<LmiNzq(g*zT`6B@bH|e)2|PQ_Mgz$9?8YxcrK)W(yr6jMEa*_e8`&NyX21cbIbKQ zQ_n99ySMehBF*+h<tnDbY6eCA%@SUxk0zdt@LB!i=t=FXZmYh(yqPbzigVt&H-DRQ zKMS#F{N&Mox2&SIA*hzY<=+ao^q~Ihn@U~IB$^q_bLhR@5ODBxbtzlB*uAriarq}X z<jTVBHmuca*3DVJGu&SF`b@XjNm6m1tsT213wO5eK77^vs<X%bBcU4$eux~@yAX0U zj!iMMbV}RCJ0C?4zYu$uYpk+j?se&{iLLX`C|viGoU}h8aE|m;!JSVQ6m6WMyL85k z=Mu*c8JyZFb5NrpO4sPCVO_!U&uKf_VgmaA#awRr&rm$w@X5ORB|@F0%{y5b3SLOh zDttaM)=q7q#rj#>szjd8(JSV2Sz~^zm}A;Bx0bE>MSEEO_}%}{z{AjzeI&I1%;Jt) zrd;VhSD24jH0^fYbL#vxvG3LggG>SwJ0d$5*=VVX@v!bFf0|k#n0b291htEMLi=Y- z?PyL;U}9fxVwhj=wR4|!Ly4PnQn|~zmRrINd*3`Qe9kH<Jx|=Lw}gW^`$-sMp_xnk zi551^=P7?|BFa6p*m55+Cgpc4iDaMkc+SzrelA6nz5fBT%CT+b(v?>$KeBdInM$zL ziG2RBi^HWudb>(Wx16Klu888m6R~xtOAaf&)#l#N@Q))h|LEfl^-o$}FKW=^J#$M? za+l6K58wBtXTFBZZQ7)D=gPff7aG)5(zz=hJ=cCCV(l~a!B36w{Q+URuVtC$zWE;0 zV{LfkX-#a-GGi%`_h*mn;(4MOWTCDgdU|%XLzq;?GG)H<s4oHj6I-h*b=uu_=xlz> z>QWh7a?w#fwDs&ArW1d~4SxnSKJWAs`x>9hWLPof$U{lZeL=T%7X6xX|MVoevWUgM zoqj|wox0&yYw@B>X)iAG9XW8a_|yyu<&uRb-#+S@*!jZ4y}bPh*Zdi*S?m_ko8|}{ z_HX{#n(_K(l7gECli;+YYZ+ah<pk#zUJYg4r(dcVWp&d}exjcWlbqrPBL|nnGoRy6 ztKNJ(TT`g!O2m%zQiUDUKAIUhY`s=_k2O^F;@%zivJ3?*4PTkBT|G^LC5<uC@dDHG zBfKZ#3zj!8VqBNKzGzMzW5M?2JbCUWhJUYj-rj5x9G@VgpHkr`c48O%ql+$8qCc0H zdhFp1i&r(atDPwMj5EG~sq^%#o&Tn-KJ!!KNpXN)iP3`dVXYF;IqMe4>ZjPXCf?of zh;waWJL4RkJv}P|yU#^+oUi({fM-kO>~(uihAXddi0HSORyS$!tF@;tExZ%7?{#_E z^`==a-X&9F;_F-EEiR@%Td%pKbK;~XeM=FadXLr#k4_rA;612S=Vf>5?I(s6g3r8m zn>)5kI!{S)%KdXBZE?In{Gx51=YDB7KGpKq*1XcaW?z@`lZAXUWAlE+miRukUU}qC zLl9fqkEYI#zE@U+&({b(oMM@^-!o>K<lLK++UNY#ec0gIs1^A7(1Mz--y-_YJJ!b? zVqZ1q{aK5zyF*MeSGp8iwOkg?*c|r7<HQ1Eb)$aYfM1q%r_1%czr|JRUrniUh+njC zCo5yUU$(8K{#|#UQ<BGYuZxNq&YY_LyMxQ`ch&k+MVbeGIfQ+kq8zxF`^^@k!~@?d zi{E^`TH925W?t;fnkj##_<q$Dcd5Plx7zsblbxP1+jG`u-}L#V9sgM;J}9JCfVFPb zzeQqku6rkQS*9$0v+rSLsnfrJ{dH&diXQpQux@VH>UWzyz1rn8^?O|R@2z2%P4mLz zSADs>`OBM^{~2!CU##o?9$Rf6cyszXy^}BYoo)*`J|R3-d2{@v-%gX~q^;X4^772L zzU<3E9g_NQqW(-@+Yphg8<KISY2Gf4Gp^S@OgtevY2qvQ9PPy3YSWF+_Ps9W_txLk zKkM%W`Soe_u0I#O`qvnfov1x|!yVCjztab|t<rzCH+)&QZBb0qeKmDeo2LC&R$HGb z3O8?Mce^E~Y5AVj`k?ElGoo{NJ+%!F@3~qizLA@E|I*ZDOF?yW=RL2w)n6i0M82HR zuDY4}Ir4l&_>=YLT_0{&W&6{ht?{%qddj5G#;=j`q4Os@g!@f?!qimj;KUc{R9)wN zBGUh6>|vXQ8CJ4^8_%68y|QA?KULwE9P(4I9!t6qax98PE#*ne^A(KlSIS%#f6;n= z(&s-zLG)?ymO|0i>GvKvF4I3CwOD!SwWzz2KXukF(d?h4bW^7<JZs*zAh$Ul_Z3q! z;@78ri)9j0D=K)h>9b4GiPj5g`>#fHf985qD93bZ^QQ@m--upq_|$5cvruxoxzon- zX`*=^zWX%-ul-$exc_jAro7TDOKzu0$`jlVaqKLN{4-^@&qAj?^Np5N-HrNlXoK=X z?RRU!?|MkxFm==U#65LQx=FHF^t&XXmrp9yz1KdRuw?til8X!?sX2$9te@2Ucf*ca zug1fc3_Z`EEl54fz3uE>gC$i{C+^&oU2i(IO|N0ilXIUtoGrUKgHIpv`fM}t8t*hA zm0kuHH|h79y2Z{+*B+hbcyy&W^6`;`2QpgB8$KDdRGs>IR>CrqTjcpf?T0Vc{E2y> zAAQr=PeW!(w6^HH$W!y&uALRU<fdYC(QumgH@BPGuSEZKNuM@Y_v7Ey)aoLE<s6?B z89%0p|7Um{KYP-n<h2Dym4i!#^j8&Ze_F^rD^uZ@sr&QY4gQA}_=TQZ%4iwS4SyrT zQ!Mjlv86d<o?m&xj88GqeFhC{YL;>zxWv@-rhb~p2fv7^e^XZWM~2^fs@eOaOIiHW zd9H1NB`iPkxxYmIa{4Q}^Zp{U%R!6da>DFQ?M)4zctpyzh%(&`P=2=a_9PYm=+#w| zHZq!gE%ust_`}rW?ZVI4vXWSy?KKVl<dS!6iS#1%Xp!@;PUzS#+Hg5&V_v1@>1zk; zUL8FCsMp%^*0=biFiFWm-hiph&a;|wO1RuxZm@jrD%^C2G5yKSAmeUb{@GLiDtg49 z-FSA@J+Wh|g6l<A|MFY)w)f36`3VuO^H(}NRG%Zl_;i)A{nP`ilIN@HR+@Kj<z(C* z_H*jPm!%g9nMAnbO?l5x&^-JHGyvW{U#P87AywOd*7Pb?;qK2GENAZQOcIn(m>Fhu z?^OB~Rt5(tHHkTXO-zTE6>E#tim83>;hu4&)v_pf!bQsiiIW%2eemqrv#H%r#Dvcs z^`1MauS)HUSVZ$YpL;Qj<Fc5`=M=Mw&H3t|Qt&m1FO6&C;l|sWSDDSUT=5`#M{;Og z<(db@+B^>IvrgT)6>xOQEy2Sdqx`b@J9jqi*Lfn+bpBoRVw<b$Ef?3m6%kzaQPuxx zGdD*@!AxG&B(p7|1r@nx^W$eVoYqmEa*847@R@U2$<IQzKXK~c_4Hzu&Yveb@gBin zxcnDn*%nWgX=|-YS<bVj|4YM$Ke{KTTvYH&pVT~aYtyH*=?_ndbVprSdS`uS<bKnR zU;3cEC&yf#a|oV#Z7=#n+2(seQMmNR8Q~eHu7~qZUKwk1;d|1rM}c3of9EWyii|2a zR@C_Xkg(t8g8oaQpSusu{M!0Ge$&&FbxS?0Vw|#zRMG-3p0nN_$UKuz`>)uC*%`CN zpL6RLPu=~WA?xeaf?tO&3!FK$t@vc!TBphz3;#0|I2p5jDh|ACDz#cXY3_4|u6>If z8T~T;ipP32>G5{Get0kP_Cv<>x_|}#&o<5fGp$I`>}SEvxD%f9yI%j^6u-bR{>_@$ zS7G(Hoc>Okv*>$R;FRw5TUZ6xtNzxA{L^)==8%;<XMo7(Qvv&@PLwy={NYpF&ep_F z+|~b%uFLxKR;$WI<NDFk*Ne_{UJ{XCw(4J(@tmuR|D2xrXKB@%=PTk%^PTpFzuU-I zd2iQm{Y&CA?gZDYO?|QH#OGl1m>^4r1^tVRXZ>dgoj&#Y(yRNtPT8f_bzS=!eDizQ zo^GeVSI?iV-EHqW;qBM(rv>Z!FK@oc`Ag^euX_Ib8|uYkr~lHf|7QRG_VmPGnr^4R z#V`7;f3vdeX<ch2>o0wqhpAtKzf6^P6<%*Te}eX-d8_R`oZL@3%DGH6x}5rI&-L~B zcioLkbCxnLSFNjJHLz*)6}Z?Pus3J@r}#|YUHf*5)_Kf{x)s*-pfqk;>o=`q`9)5D znZ9n|zIHV3Iq$W&qR=bHm#jQJ^Kj|6srifkdi9;0t-;Q_W+QKjqR;kUPTQ?l^G8P2 z2XOe@S6ZwfyE1y$t_Q4T9rH3Iu00D^ojz&jz22uUw)@XeEPC^IVy7)f;MwST*<S*- z?~K?g<L=K9;Zw5pT13amRUVI`Z#~)WQWF-}!8bkfulNgLk8>flPWz%-S&!R!)%{$^ z+g;Fn^JRv%Wy!myu)0JySC^jxqG#?K%&j)5T2K|CsrFn^!&7kWHL2v{aMt<Xnp&Fk zM2pvUXh<Jhva|Au=+DULX<t_V6<>5$*yc)Y_>1LTH(9HTTk9RdD!Wbn7Q0&Sb<qAj zEjxZv@4XFc>qE<quTP)3>90fluCpoYA4)3b8gcPS&Qp8N`DfO0Jzr)MgBxcb3V-5W zuWGNFKa-2u@tISjWXwwTCu_gD&%9WBc|GsE$Q7DvBwq#O?qX<}@ibMo#QoP4lh*~} zZ`Rj&$>e@$SUjCiX&Jk_*F5LSe3M<S9aT-@ajX3A3Qk^Zv|mSOFJnZSrIqNxGM(nA z`Q}F_dpfW^so3gLKTVL~o~~|ConvH6yg^|9t}j2Pm0$fd|EEpxk&TwewVAfJC6{qE zEn>ZG#`P!W!^*Qen*#q%HrSTGC)JJH_fA-xpP#zrqj`te#d=$>tiAJ}L96FxTQb)} z!&3sbc_M<D&z99(6T7{->D=ds+^W1fN)<`3j{MaB5`E0CO+e{+z>;4qr+M#eSX63b z7GyE+ex>?m2Rl`jr$;z~c>G*i8RkgjJzIO@-^z&Re6K#8baxeNFy+|(NIdEoH)kZj zi|TZx1B;Y?#iq7@^?Pva-~wL(S@yV$^R3%#E<O_5?GdTv&#WHfb>d<7L+-cSDhid8 zI_H~xij<h)H&?b`^OhBAm5FZG<wQI>dmm~S{_yW``kPqXrzY}VJ2I>05UbVqi*qhZ zv2*O&aozRLwl5`%>{eTT3BL4c;qvkTrzeYp7Cc$H?rzV+x)z1ROT5ia_hvu45#biq z8DF+~KHn?F`z{xA-aI{`epKUq=1I@zrSl?NUYvGuNiUI6I`l@*kL~>NT@0HVUux;@ zJ+bV-$NWh5km#Q|4JUt1XSHg3wR^`*nQKq@Uuko87M{_4eUFjVQ7!4(8{-!Z<riI^ zpDndo{lj&M=AUiGv$DGzvd{2XuDGjzw213a?iKaA6FYb<HJj(2SvOB8aQ<6?S#nBj z32Ta5k00jxessyQpYLv3Jk0-jVb0eUchg!^?XOzi<t8dC?>)MEXme!EMP*wR-8Wyi zr|wPB<c@hWdw1`~g^~XmLRhW$a!+<-u6xWG@#t5)YJKoo_p*u|8`avY#8yuG>3g9} z_j<vMaAvl-A^i?Zvhu_VYaaUlU9y5bIx(1KTQTP+9it;*4%?DBxj26=o)+^d++t^B zjm;75`JUn1jV`pMWCkqjDBM=C(S?`OZ_D)0@vFPU^ghQ`wHnqHZE|z*a|(7m^Fm}^ z^rFz?0>J{6%FlX_g>ULmyS>9{CdZ^3PfPsIg~i|D>g<%9u;ItE(_Jn%T(4E#ayor= zg`3Nr35%z9x@EZQEUoL@_*i<=hI#tC`UGq=8b8KH&r8rTsIn59`8n*vzf{|>s9WOe z0(NirE8~i0X5Lhm{f*1?M_9c{^5Iox*Un9ST@ha-zP2;mD#EGB_|=BSH4|^vg-t!- z+H~pXLaTj@t@$$o_UkKbWad*g5>wBY+}*Hg_E&?2*K_h7J=-NG%91_n^q*57r*@sI za(aF>!}4y0|AgpwR|P!J8!U;R5i#4MQl}>?q}Y9aYw_eo8ya{I1pi!Mq8T@5ir>tY z`2tpJ4*T2+k>!2rqOIrsrKsamtNk<XFI>l?XGGRa{dr?uEYs_&smqp@&b<-0$EfG2 zS*#`N8s-(jmt7v3e~O5@s~6%wqxJcu*={nO4)wRz*eqCGv_nJkL;lIQSyP2S1%B23 zq8J@qu$g^|hVe6|Cwqg}+e~xhu8d9F8&;Pcc$P1)ApBkX+?MsBQ{q1DFP(bj+;oFY zK|3{GmR_yvst^6n6_$Qw{if5KC%$U<`R!Mkd-}R8_Oy7t^SA#qZ2ix$>->w&pWjG+ zjg+6&msq=7_di3{Z=JoW(zm^JUp(5h_xvHFu<c(~&&^XTnsey$#hAb1+N=Ktw&>oh zcM_A6esT5pir?B*tgrT5k97IE={IZjv6Y8cZMWu(o7MVj#Z1FPEj^!`_DttLS((zi z@K$X6)a&=G?e0$e5}&B`^EJocuKFnr0Y^@M<*rsd%ym=$rPVrz*&gw)*5q0q+IntB zh@{{luEy7@ej6v9K3n>1nd(mO&{OBmTCQl$4J&`OI5u#@c0pD5Bj%yApM);AeHj<Y z5gwL5L)GQ^OpXIH&V@x5Iy%Vmi+oF8*C;Vbc~+vFVcDtvT~;@RKegKQPJgj{U8DQe zx`uT#!or;o%S_$we@yJ_`y<uH*W1GTtsimJUbD1iEcz|l!gP71mQ~jBnY;F1OnZES zVUFj+9L=l#*TQecS#gBhIk3uy&fVIutJMA9WiGdvQ+?BY3yLj@6uoA&9i6Ln-&M=u z%hdetik11MQ+|CjnfpeZcj~k%uWhqV&A%vn<JFE_W1%%yjbC!V>GS>?ki3L-m%+b; z5P1iYt!Kn`6dn4gdiKMs4J#Guv-;<|b}5|g<hFRadsb`x+sU(Db-peMY?QwgK6^{> z&vi>qS8jQ=eP;ygua(Az1)DFIo#JjRK4Q@-KTXQvB=f23A2qL)1Sq9<EVp=NWOLn@ z;mvkF$>OF7&n;IeRUULXyVL7<JI^krjt8YjR?4m15i532lxfSO&khs!o|u|8efPuc zX&OB>33H~~Ir6@(h}rOGqUyy8R+s#rYagWPNQKD6x@aCU{xG$e<)ahR!(C>gkC!O0 zYd5WZv3+fKq{AQG4Vh;X+rO@u&Hr!Nj<k8~{7o-v54gSG@sZ{9>)n3F(TAQq;W~dw z^oU&0+7%nL^;gZfbXtjTd*DSLr62j+ynn8Fuj{Hlm~%Mz{4ssb{olU$ZrgpqIDS^S zhwSwErmffhJXf9blT~r)a;0=riz2bi*wWVB_A_>R2>zUs?{uWRPFY-I``*L3-x797 zJvgyL>ACEqVn%meuhVDN-rr^TDEDNr(E%ORB<pXR8%`GG+?3auVi7I&GO1(Zxl@<+ zU$y5KKK4=LPn6Rnn+~nhXYK{xo-y~ZmhzbioAw)ZF!`i$WxOoxG~FL6^NG76Y2Od7 zb0rx!0(!d(p2Z0$yv~$d9^axdTfE41Q+e^G-&5r|Hhb+~b=lghuWH4FYe%<FoS2lG zbD^#A+>3*kOE+{EAA31r^R=@vW<Mqz`D~csWGtuD<Ea&6dRJQ{de)yMcURqOP3o*j zE9$?ZUFCIoA)|9~=cFa=oZ<x<+uk+iI2OGUsHqK;*mL*D!smNJJ}Ri6Sv~D`J6D5k z_-pQxv+q--j;x!J<8|U!#&SNjNB3l|9LS#;6|Kz8z0PCvG<6q0*Swdjn+mp->uH_c zc#i9k-lOuy0N3Z15d|~UD}<KZ+?){3ztCvA|3xve9mn#s4qvXAb8*@Z$1Q6P|C6|w zs+K1($8YbUdD{Z>R-G-2Vl`5p=(6jRjuX3$^WjoM;X_XQK3+@}UL01}vTow8CC_9N zHuM??860mt=sdG1w`H9~o`mwMbGg}ShoyDReLwHfzAePE<6ZaZ(Dk)pFZ#*@l1)`I zk8EVyW_fDDGtNsQKKshsRd>Ddvr}c@=9#nQ)B~Nbdnf7@H}4TxEOB3)an*s7uQq%= z%aAL{uy&dI#w8X>Gk6)JEuJmeB5ZxO(EoHv-h|nY?(P$<pFC$BpW#gYO@BqW9X2qV z)*FbVN;>t1eJGgMUGa2EYqyx9B}?6^$6`%he6LHtIUcj9NOhjQ^i^VfW!QOd?bmZw z^J_S~UZUA^_LM@>YsGx_^Iz7-d07?hI#qe<+Rd9j9aC#>KbysVbRXNQB-@Z3KLx~> zUicLm|2L5DH17oY={8<>wubLlRjHh?zL>lG-_!G_H}Du<tuL7oX2iLnHF@T<eXo^k z4rnhAeLlf?zQWFPUJoDrns-K9C;Wldx8{Va^CZO&i3v{N;=fw-MD*u+vpc0>`&Iul zOk%QG9x5NOa95g)NRRWBHGj@%ujn;>`}=Nf%fj<VOE|W#lApc#&3eg*E!y|~cwRnr zd6D3eYf)YXDzCy{g?>FHwWLwXF`#^{(K@B?Tx{R$vaMf*JUYyFq}4WERe73k{H7;s ztM$At*j%ags<)9`v*%s!S}9SbYdfZt2&XW9b#VMQDZu9Fh85S0!lvDh4UkvnV!xt& zJfPvaT#Djp&sb}_*Vj#%ZfuEPpHdqZ=OW^77F(qsbM@MM6T8J5YQ<OmX1rN<@~?Hh z>(#os^H=?@XRG)BX}|qHLq>hwd7tYqwnpmJT%Q)S@A{h^X3uYC{%6p7DXFdRs=^;S zea4#!rCVB=?s`VXReods6gPbegXIhNgwK~Z2S0m~R{UhYi?X_C;ku$FnRC`(Q4oI@ z{xxIqYmFVAvt<++FP+w3b^fp*x9+{7T}449ANtN#>Dzh7Z3|>5)xLH@&h2URrBgSH zTA#H)JG1)JrhUb;{$5|!b!TgU&+SRObIlmtpLUD3A3nL_%<9SNZY{?DI$W|ZR;AvQ zI`>BD#>e8YuiWRJXy3Y}|0PD@iw5VRO8pH}-mKAM+M&12OXj|PMel+aTVKu3RLQ%` zv9b5Ty3Rj0^`lSC*kQdyB**xw<k!F{sW)HjJH`LAsb{Cxj$dm&{7YKC_GDPeu_S@U zSAlWU1?I@)ysK^8_{8hou?M}6YP>GbdouO)q#cF7l_f21?9mk4)+Lp@dd}j9S5Nt$ z3OJXfFvTXOM>BlB!dj(!3QHO`cNc}_Pg76ZqZq}nTC+>>Le_Hei$Y2K9Gn;K8!h&{ znE7gb%Of#e7we0)*TOG}^Zq<Fp;pmv*UF#Tw`X#{<qkWzA@H(MpYrrpZ~uu}Y45C; zurf$<><p;$i>)`Z*qL`|a;f^&Rov?zW_?VWD^hyaXY&>9S0#=cp63_2h#lb#xxaL` zY{qNtB`G4$U#xl2B4Zg9$lRtE@}J=@_vKkr``u*@8J;h5YIi8Kaae8TapG9k3@J`k ztB=`<S6%mVojJGk^fexhNhKLpI$zHyXRn@H<0^aSbL;dkle*U{ya+$?#f5F>uI5=P z%z7uLM@AkhcqNekY*V|t`>D_3T8GQMmrpl4a9VHnGR4%_sg}hW&8JSUN_Jabb85rK z$TJ##i%UdoK1c7~^E6)1ebWJ<`%jw!?Eg$L<Y9K=%N8g+@4Dy47A1WvmWwC1SMA+% zxuZLkqcYOF+<(%B&Tz*AKRX<zJ^T@~WH(2*xZ1}XF#_xT84K=acU{(=y2oTDtAWe; z&V@-c`RZP@R#&ZjG`UdY;nk{xT0d)oC)wW2f2y#?{h9cyPEqBBTxs`(LuOU?T^CX~ zC(e8AQ)GR~H@AJNf6gdR%*xOcJ8@{k(dtf@Y;!HQJR3!q<BOi#ihq{8u-EZv(GtrA zHF{Tzq?~5&uX;N*_w-4XmFkKQxE{GgcquvaEv?=p`_V$L>sHE|nj?BVb*q$P1&yDC zOq{SI)@pq`N5uA?k7lAB9TT<gT;%Qhxa`P_#oG5yHhDZ_IP0Roy0}Yp!5@P#!MyT- z$BA<^FYjra!t7bdcds(EaO*O*$4&dsnmoFv%I@QqXdV-(WU+8}!)mMi+N&uJ)*q|2 z?^!AtTWK7rGM{z!<`dB`=U&t<Ew3oATp=GCFgG&8w|_;ba$QBoht-0UPWxQu{J_n) z>OJ2J-5y4J?tAanadSvTx}Wu%v5sq!-^YDQ3s|Q_mb}{jA#(TLn-Sg`4?j$Jy+Hl9 zgUbPn*{mg!UYD&W2siKFqVxWgaN>@Qax#%C4mZ!3+9gxi-8`vGvU569^Q^>q;sV<{ zE!tl8TwPY08L5AHR{x6N_7jVh5*%5DY#n`H-ELU8yd`6Kwd5tyW0lQ|?7~V`&gs1t zUeE0j;hk{2HSR7$WX<)PJTdFJ9PO4`{z}PPx|63ti}SL@?*-EBE4Vq%%()_Ksy$KC z(>dH+`G)VW8NqTHH)3}REiUJq5W+G4%sM3_g*6eLf>Rd6?^gRD=1`>QGC8LsDkef; zrrEZiVSC?%eb{tQK&ry&n#qLD?$50|PHb!Ro7G~s(C7G~jry;->{fjiW>~?S^SQOf zJ@ib5*G75Oxu0eP&ix#m@sTN9Y<mW`ZfRKA?z76KCu^@Sn!vfQF>{u7f#fx>=G0$P zE&FmK)(fu)|E2wR`it)NMMgH3lNQAq?^ymhV&xNsQ-$Vjhg0hp?cFoo#ozd>gJ8`m z<Fm1nlHIYDS&P2}C@)!Yu_|V2o4!?9m3Ec(t?OaWleRDZ)$nHj{cYcRy?(3p`Ynw= zF?GgE)|jN{+SaaXwuIlcJhgw-_J#4;nl?LEY^z*b=l%8h&C8Q!^mXnPn|Z@Mb?3dx z)jO9@;C1<w*WsyN?3y^?$!5u0p?hP`I_{Ko2&mNd|LRveLHC((iDC8X*VEJ2r0k3j zUAmL?`K;|HrskT&-#uITY>ly%=#=7Jjk^SdCtT5w7F(=-GWwd}i)H$jWj^OUB5&!a zx~#EsYt3sgUl;N<_;c$N$%~#pSr5Oooj85bm$&C%tX*!BKfC13sq|I-6CLYbU;klu z>cqF`SBw9}zrJPv+uvx}Kd;B9LMAM@_f1Rv#gdi3zIj@$>nIgd`6jO?m#v$7Gx^yv z-Bo6m#qo>I`edJtsJVW7Rp*|&>DH(0Piz04{?Fsn+zX4B6)os|o;v-+>OT{EzPwt_ zKO;(8(y;XUs`-oBUe6NTE#so|XWg><rulK_Z>A>CPpixdP@X&OTSA1F;onQ)_ZK~9 zdM)~k^_P>eTw`t1!^3B$)HUWuWN}2^_Tc8+Z>Yt1ceZKi?8vHE{{<Y6O5!ebT5+!l zJbGkFP1hOsmZqgqf1dItR7`L2I5S1x)@h?H1J`%kkh*BriJ!FJIGumCeAWCptN(<# zu~oLtv=vEDWuNu@qu@>9FJZsdJfAz=F45tHG*kGxM)$Mvzt`+K+ttziOib{sd(8Fa zs)lx}-kwR<ieX?^^4it6eX7lu@GmX*J2chLi3z;1nX{l@LtEc7xSRKDma*{SjoLq2 zPt9l)pL~P&=mY2JdTD|4BsXd#KI+~gt+V)Q_KUW6Z#<2bolA*a$6b2uM}+vQmtwnq zH-*(djagrsAHCx8qR#EJ=1eeLw~%ptS8#4e5qI02M(6TtBFDe88a^*Ma8WI9=W*Gq zTg6yiKNe~6{L<gp`dj<<!r&!OwQhb2N;)Rk_UK1r(IkZoCgZN3rXG8*?Vq~PG3Uf2 zucitkUXB+@?|gF?Su~!lTdnw_aYmZ9V}QrYv&>QsT4z}*cCMUY8OabmdCj|Q4u^9) z)f~zUih>@ly{xkB+_Z+kIde8_ue+RbFEBIkp4p?LYyEQPw#44K7Pxzk#$3H9L5ad5 zRriZU&ldg6>u~dLJJM2~@_8zs5u2}KqFTx`rrk?-9?-hZZos9&UBv2AbEx-Bz^>Qa z)-U#bSi&Kv+HG&p+7~nB(Q<Z&YW1h7f=^TDZeduXa;H!-(#%A7))D3ASb<-McASY| z?G|2?cS$VxN#}<bp1$4j6`#X)&SX5AWIk7R(w5H0hs5e+u68cZ(+J<YV?xitExHEn z`O16Ee+194*rLd|?||i2$Gdx*y=HuERWh2Kaz`lLLGWl2>#sF|pZzi)75~wQxp5<D z(=p3q9D%~Np;!OJ7>FF78TZD(Jm6`PlKGj{iz3T|cN#C6qaxK@Vp&+Z+~X+I1yQHC zp9z~|uJCEU@`!x&>_rgovTuRwmDXn;oT_WslGh~WJ8k)d0*@2hPMw>;`#}F`S93(s zgzJX$neJ}g?x}hGh~wVrOIojb?k+vDJ-SFQ?8jxN&3R$(nNC?b-A%LWi#~hkt<)9n zEUTmkrumi|E!!69CayedU&Ltr^weq@Hmw@fUF*cR%xO{VoR=49=s#!O$L)f=MO*w9 zOci46X*zuP%*0s*AIuvs&eG-k9M5@lZ?A0Zs^gR8(^}lkZl0*kS<rTF;;d(WOJn#| zq<@xj-4m|7$}E$9WbxWF>$fa!`S@I0@vmasX+E`|Q@?SGGcS82GG~jjX^XYmogF&2 z+j*O(?0(nzGK1T^bl1$jfCXpm8rEK({Ueca+P_cRf>Q)C^fqi{OyYZQ$UW(*tfkuP zSDPkUuAH3HvcTig2Vsc{b`E#x1ACh{2V30`*eLcoNx0{SQLFfi@Kvhk&f9q1%-9>| zxBKat%(KjEUTn;^TI2pi{GY}{8ylB34lhq~bpGgwiOM%UdsVhx%P{f7q@_n&Hx{h@ z@KO6eLuT2Ed+MRxe0mX6*T3j_!uMfHQu6F++ak`(X&g8z{mA#A2IHeg;ZfUs=ZGY! zvA$Wtq(6D;`)0Fs@!a9!i_ZLK@X>yLezSnolbFr>*7i(~RrQ`*ID=c?CNbOA+CIhM z>x9jHPI|MFBU~Pxyp|@yxOv%wsmmR;USB%6v{HJ~;#XlhzBaR%giq#k<U~xK^|W-t zdDE9EKB<!{*NYUzFATRgXo)gr<$PWwwwF=M-<Ip|lrvEeTG{@l`mOkU$s}Be%{R#8 zgx=&y89(o)J}s%(bN$ysmVDXUD-K;U77EDOa^lH6MxLIN-1ZS+M=wleo_aFeGRx`m zs())v{noD9p%*h<uP;3K8nfqFcaKdCoU&g38D8x+x%X=Qi{33K&1{|Oo-}{dXfaR7 z=6>59x;|Rt*@E8uQkl(hk?L|WtPz#dS$~#lzc0;qDe2`p?U#M&d+?g4>l5b6maU1( z5P9)%()F_oi;O323#^RvkenO3(dF*ZRreHEoqImR_uigcH`g`K`hBSRC9AtmQ%8rG za_BcL%TMt|n?ASJMV|U|OY^X-_{$rP*~^12t*Pbe*?Ee|W})Z#iIFMBQ;TgDR%tKd z_@(dr)X;AAdV{c?`EFj~_d;qGItGi)o={yWuUbDzu0}g<?#!x&{om#t{Ps`&%Dj^{ zYj3i@y!rb-!@1x88NSVbd-H6pgS@G|v1}X5?b1!_r<=~d=zp<v&TqTdx;l%sZ@oHk z;`oVEUn47WRJs3(_%!JxR%Z0i?K*9%TK9VHrl_Af)8fKoOS%6uWbIeYpBU#TSGDrg zo$F%L1(vR=`c|2;{0Z0LZvhUc(!}3vzH~%Se}eDMPg5suE9#N?qV+WO*<$TATlcBH zEG?`HzTy8fz@E?J#MPL;VsHO69bW&VBDlZzr-zGonuVjEnSjoMPa6Z=Cx$(*)_q$X zpRHYUz{Pb-p{1U-n_uK{rJkytK52KaGQ2#=S^sUduq@Mz9nW^HR?c^Qnfml(++U}T z(@J6m>YDMX>x$OD+NmrbwB~8`=cx%+rzW2^SpFqAZ(4xMi8G=Mm3Q-c%%08tXc6o4 z$Z(~b#U`$gpM$$@F<h0sao#dedQV4C`A)BSJM}LniWNQ)KT@Klx_ovjzn-_nm&j8m z?}o`HyMEu*C@d+o_>IWS?FNhN68+CG?Til<+FsY)?lGZZlK&C^l>S}9*)`s6{GF5b z|5{qStkI(6YT_ZIja)SbYu?Z5EuFMRT1u?7d*+7~(@Xg{s`rSTJR@?iFf;nvj|B=B zyV*N$t#J;{j3}Kg@<5@eFwiPv?fj=vPb;+!U-Z`(+V*wbz7K0&^c?#9V#mfx4asMo z5yjh5W6r+qb~P5zJC}L0E=a6yRrC?or#0*%P2V-u#bguxeZ8iA-l$l6#jnQEN618x znJw+Q!}OHkhricaTBJ2^oo(v)Q=_fp3hUH8N}+EpTin8SA3Cb~_Q%tbSF?Z474zG} zCM^+>qi({taG%nSdC`)3tLMJg)-BQa8}>Nqj?unT9G5$k7-Z#&10;&>X>;DSb=uw? zwBSF(jMeeKoNT2F0+wCp*<2jnaPNs|yGXo&xNuKeV&0R-nbF&fk1W~t`EgKm(|6TW z@kdkdB^yPr&e=Y9?V66gM-Of1ciOS%?Ib<E7d+~5QFp@%IG!|g<lN9SW>%>@_j)4J z4I_j7D{gZYet0;M!@`<7_Ru2{rjI{wPD&Ii=$H|H*|qSM)8PqELj4w94>|JTMS%Ie zM*>Ut*fafZG52@4av|qCA48k);h6<zEt2o4H?#_?dxmG%%nB1Y9us@1#q-DAlid5F zr>r!~%zYRm6F9r5g-^Nhc#S&GKIXI0Hs+hQ?q6zkuHHy=>xT)O=Bv(&2@5i?@NMM0 z)7R*6-f6kWzVdVvyJ>-9ADg<P3VI!bo;N)_q?l^-_QCFr(~ktqi_+N>#*(tW?A3-3 zGdB3DF0a;JlN1$w<l3Ao$0T1YFh4UTqSQg!tzh%n+Z%!#mc{YqMQ=A;)gYZ7<8|a= z<%N|W-4Z3XYsQ!IO^_<N>fP*N*%`Cb>G6?c1?}dlhDRr8Zctw7{;o$r*)s66!JLbK zk4CFK5pk<*mCa4<=&|tOJD62HGcrH*f=*b&oee95KSvZj@d*ByeYUPeulR5ZhsF9m z%BstqH4i^L=X6!jtUFP1h2W=%eTJo#dBO>$PHs_5ZCurhkDL2hY%gV8byzs*h&I!` z>YZy0Uu#u96L>i(Q{lvu<=p8<_MGifXq#6QrsVpGL7}Qp-=&Is;jZ^?>m>g@WqPLf zN$mBOd-JkStG?Kusy>JJs^GQYTy~p_7aJ;?ddzyR9yxThop-V6hfj*urTyKO=d`Ev zUf3{m!_{<|t{F$qdHrX&wePfA_v!Ag;)d=|LGIH;zjMFg+E!e8kJr!Zm)f)mh1{_g z^9)`K%&9+RskZu;UiGQ#CC?T}?ptLNXm!hLyY&p0T~RlC3i^Fc-AUWlwD89J2`1O# zbh##;dflv?6!=RnTmRiumFAXot&7#O7iS-Rv!FI)zQdXupS9Rm#_XK5$u3~uw*a=7 zpylyr#3c3~3V*Zqv-Vr<H;Q$^tNzVtk|?h{B^MsGZndiN1#MZq#H2Z!Su`#S{k_o3 zHKE96%GUc=Zp6*ht7Qn3-WBT?%NQ>9IeHOGR#^G*Queu1{v3#`4HrMjvGG;7#TA`r z6%%Cjt=8MkowQ++RiyAV(fq*Eo8L4%5&3Mn@YkAkpxXjEcKvqxvcvshx6^B}rp3!m z?oH$P8?)!^^cQp2m^s9Hag?5QI=siKwf%|L&VNgC{xcXf><ecs*!|0^e}b0jY_Cr- zJ6TnJ<Z%Sc`So0%mu0Wp^?UU%r_L=N3T6Bk9e%Fln4Z2yXT903`KKSobt}KHwhdit zIq&2z&1VYhcU_E3mwBLhc9%r_i)E#|6XUPwhOg`JPo282L-c$6uHV{aK7Xz2<IXkc z{F^)T#+UyLQ-9Te+x~8^weF{X%zrIc*i4VOD!Ti1>c6@3Q;dZ449nzPo~+GtboeEA z-Zr51m;Q}!m9uY(yUwayr=77j&#`V{^i%HhvpTO^oQzrgU3=Bv(9Z3yGMi%l91=YD zWNW;iN3GZPGs}M7UBwo$DY9a7k(toD)yp>C6v+K(8dVqdE&frYzrhn7X-m_+)3?uR zlYG(_=kfFjSB~)Blk%(B{K5s+u>91qaI~5eJ8$QrT*eEp*Z<wryLHa>i5F|Htd?IS z6<gB!-FEh2!(FNIuf&2aCxkC+WbQ~W5SYJ7xhm=4il3hYyX{<yUhF%fALspU@iVXU z-jR+{X?))LrcXlp9hN^^bm!odD2B-^wGKZEStRaIKDEtx7DLr3>+6@C*wV|sxqk~& zN)Fn7_QSh}S@U)}?fNUw*0<f6cezE7^wAmG=9P@8xuJW*#ik$G=yC3druBhB-te38 z(>~=N)n2wL_ti%J&~E`bo7JxKYaKo(zUWBqlTG*L>h1V?b=7_2o0k^`E)aXQvxqhB zwYUeX`#+7MG_RYJj|e=!>VB4U%dUG~jQ<&oF6O<Pd7`!AWod?O%$m}Tk$+~b|H3ix zQ}CD8%A-=PEqR|+^s;%L*EpKY?>iLi-Mpmt6JM6p4JmO2@08g#?YdUeR!p2Oqx-%6 z);UI(O384`luOmzeS3^TcAh&_l<Yg%UwP(}-m6A;+5UWv@Joqk;d^J47rv~!^KN2# zjoB3E7V$!X#eUg*s%1SkPt!lUB;D<Ov?yiT0oKHNu@;Tl#{%{pSbcknl1#DLp)~^X zM*X&;d&Ay5uL%CcvhZi`)H6R>1*{UozX+CQ&+`_qEO@>3pxmxCeuh6i&KiGu(qMG= z%@yI@Hm(*u1`io57AZWRZj!7#A#SzkcIih&ccd@tE&sKK*Pxh%#drM@4GV`e7K-dK z2V9ySorzw0(DGJ=(`Vnk%PSwdwrf8<n<BZ;XuIm+$fA4OSIJcD*NoY7X!q02ho17C zF*~5Q&nxDl@xln@(wS1NNeanK(sw_s=-H~x$d>d(B*wVo$RhVSi}-dqHUFIuy4+^M zz2=pzd!DDx$a+=b!DaW_#_xjuU8~|N3)7RTE2i;FUKF^V_+x`8v(M7hip?Sqtq)f? zJ+WGS>)W9{XGC6RyokCh)@A7M!^2si+vn8vu9L@NeC}9!+MAS@J8W(Yp88I#uIpxv zszZap4S{trENNVa+fP1CJX%nsJ?Zqd;Pq2CIsIo)>ivA?R7c=>Qy=r=AC}*}y{)w+ zj&-5GxM#RjOj+@hd7ejWFKoK*+Lk`kaX(*@=%?AS9swNU_l|@as6Q$wda86Ryv(B4 z@>l@Fd1J1++~6<qe1-*~?d_ox&!!tr+VeESYNd)_gU+7yvo^@j3)485y+gFC@V<p# zdH<*NS9Hu|dNi+ZO224ln9%RS?6*fz((1{Q{7;8=ES_;_--)`8Y10mxWd_xRWl7J> zy0Gh~{>JE=H8EG0F5tZ(xw5n;qG=Yl&wP=O8n1V)msQZ7KO^|Mi?e@QUc2(7^U)m9 zXTN4me0)mu$y~#%1w86URlVJ6f{f#)X;*Y!m9F=__Wf|V=z;6S$3m*6*u-TXx%EwG z(UBhkyep?oTIbW8B+kQmE>Ml5n<HH8#e%9>{*71j%oJ}QwB}2B@3rSk>-9P7VwT2k zyfXEh)_ql(wER^4jPpjp3y+wKHaqQ8&gOJ&i87v=@gh~??n|wtJ4>r7!e1==u}d+# zJ?4~w>fuABVR_Q;*;aNRVO!X9{Mi&vl}FZ-ME7~0H{D(Ic#oIarE^oR7oQb)E+{8( z^_$HV`F4YSr{ArK>U=s!^Ow^O$-9*cVjn$>U-b8aZ8+baYtmmN!dxQbUy1%pES);# zzGmD`jj;IvJLe0;mn6ShZXqYM+#@#G<XW%Ys%y3Zn>Kt2;-5PG&EA~WKMN~am34hq z><gc^BB!#cJ>6G)?Wxlj>lfMlT(kKc*Y=aOhjKTI?dsU>I`wNoP|BCMX<Wy+H@UYZ zeF$0o%!oDJHgul{r`WS4*1T&HT~1!QwfcQ=YvqeXew*o$7d_5<YU$+9I`uc)S|@mo z_R+0V=Q$m9_kCIy+bB>OS$qA}-jHl7?LP}6etBJpZwp<#MrZSr{h{Bq--+w{oi|Qc z|7yW6hwxuIdsVCS!h!`aw5aSeei-v>?Y;7*HG4jVpA)~c&~|?6e}-wQ`47)utXq9G z`sGc@Z&Clezx`*J`ujh_x5?Lk=-;e6e=+rsWdHn><Eu`lKELYo`Y`v^suZWbormT; z4iNwLZi@NRd%9N(m$lZNdVJE|Hq7~A_O%zq1$*>w%Ii#jc~jZXwRp>^?N?o7HU~<j z1xWQN?G0bs)I96AzO88h?=qfN<yl*f+!NRH`ZuBTx+}x&6}zT2E5xr){g-v**aXqD zd#1&!8vSQ@*_yxN%@21a@yM%58DD#@#GiENHxg`onj6AB-R$*m1-aANE5k~%JY%J= zRydr|zJFFaTFgO1E@gGq`P7{m`%b@{)OmT*>1QER)heCxzAmmg^q(Q**aW^W2f4p! zIDX!=;ppp|wmEywepvBSbmG6YVl(4HYIZ9>6J38o^!cofpIB4pO<KFQtNGP}BSl#o zw_CW(4`MoM+4HdEQi$^URrcSUo^!m*Ox8%Uv^uy{I(uQ{y;7~muhyx5YU+F-cxdgX zxU7<^NlFG^1ESk59eP^((Q@h$?qz4QW~VQjvA^fk*Ik!SrbJu$PTW7GwK{&5;rY<t z+PnB<9>yHJur+T_%DN(Rt%8>m0$3b&Ov!C$3yVl{v_7!n=al65MJdj2_wH%87n=B5 zW4nH(np1Jlmux4M$#Rlm#+EnP#pW1h_-&N_y*5ysLqd-suPMZX_oL;(sJ|XTES?)w zJ)ahHmuxdF)R<rsW3-%o7f;ir5N`*zCsSW%#8(6*RIS-^SBrJG{=CQ)FL!mCKe?hS zaqR20xbDlUDGpB>Y-Ac@EDIwG{e!}UVlS*QIAa^~+H#G1`z%$T$u?Kt<}_{m8sX<0 zJTv@xwl;6xlD1!>9fI~V^Ctd1vE$Dy!I`J7``op@;}l|js65ea((;KHebVw-?Kv_m zwzsUz-uz-g{Hl%33l-TDEfzhQQr@%O$5Mgyd%9rQl{>7#^$jtKdt`S{S=sSKv`@#m z!X{<I7FSy-ro%1n$7Xq6FF195aaZ#!!TmLhRV5|&OexKI*EZ$%(+Q3{(gm-cytsJ5 zYUv`scR!XNTTqy(nxZaxi|J6}j^2$^rI(-4m?OS9>T03gs`A{c-hGppY%KpX=q&!v zP{?)sWQ$(-PA%nEYySl_uVVPm@XLiI=Gpr!u0t1c$`4O_bFQIP*D7oI^j2s8xmUym zlHM{p6!tAN@tu9qLfXwW#(=+r_54+zwA`A@e(zr1ZRO*g%V7z+rOYo%S^aEc@fnNA zi-&e^3#rXGd!D<^lyheOt1x+ydoS3F?zQq|{<*NqT6j)ThO)wfo4;C|i)<WIp9#3J z9Nc?>>HELL;H!cbjk#;~2Q^wUS8_3I)7EeM#x3$drt9-n$6}*xN}K*OX#Hn+H8F>K zwz$aUM~Qd+tt{UETqnr)de&2R*XyeoFRQn-t(^8X<7z~q#?OV<wUr*SJP8v%DlWA4 zg<t~1S4D|P_NWgVPt0iJN_OQoVz@AM-inV&J*PfNpJG3oo?d9Wu)JS_O=hF!<&)_` zI#<}A?JC~qt7vj;duzu7#%EGe3#_@99SWVpuNj_s?tsjdo(RvoNAwmPpY@_7xU;>A zg(doP#OxLU8&{k8f*XQnRko_UJ~YeHzN953Y3~8;lK6>Q&bQ}2b+_|4_hGhBm>}cl zM^DzapQ=_D{U^%akjCM+Px|i08GiOp8#e7Y$$RHq$D?8ibrsz<V@4+Z+Q1Ew{h{B4 zW;y4!J$%T&X}`Aix$0Fs^;yi#<)%qii}O|YPHHe{ZC!Wd=DmicyRts*C@dE0DR|CR zdS#iz$=jDg=Unc3*Q)d=>C|O~d*OW!XS@D0C~Z2RTp(&0@3vg<QSPbz-_}@P7SGPv z)E5*|bLjBTa<3;<ua?PP6X+M-%B?@sq5IamaI094FI;L0x0nv=t2;S0zE*Wpydbog zq5hd(_*a(Ivt2uaVxKpg&YoMH#L<1{)Xx61++Cj&n0kCuw`T3Po_gYtK~6Da%ADwx zn<uMGn^Yc<yLMG~`mBTEm)x?R@Tgtd%6CmHrTHW4u0Qso(~2sm>OEq5%aN^YIzenB zqv&<lqV%&2*OLm&HO?PR5a)CH9&0m2<8VFK{J9h7e+l~<*4H<+P;BGWHvbvizt?gd zd0wp@y=u;zwUhS69QwLv#ZS}J%4f@L72~hH62Gzjrr)MUH{IPS_Dky*eRY4g{0Z0J z3#`{KoI3UAeDXeZ^OC984+T7zKJi84;Cxed&7SFYE{mU*{$7#O=Q6eaT|xA+XqgGj z)3U$C{5tgYVociYSkH%-!g)&LDmmg8?fj{j@nqj?|1XiNpUO<DOj9hmBFc1Nc5LQV zpY`6N-$9l3f~s}i(+$G!w7#CAdGy&;OFpmTF&%L`o%&bp_$;){X6o^U?&mJ8KU?)` z`J}&Hf3Ls2VR!od&2Mpgw}0uof4A=LUi;t4wlnMbyd1u^*r)zI{br8;qU~!|o;c?l z<+SmlXPN$KZi{Ce0d?N?*7|#N&U>#=7rZ7`V7lpV=zoT-%#yFQ^&`RqKO1dQ+&t@W za`xTQ3);W#`pum-Z<2VdC-*mvTG44U*Lm}9KEpbHmFnibGgVzD{<)**?=yXs*lAN+ z@n0)Wv7Xw0Hg$P!!>h#DrI&JB7Ps!>KJ+!FuQ59207sFO)4rI66%LXePHssL)74LA zx8+5x{Tw$fvSx~AWNqkI*-546!q;`kU#&g0^QihH<Ja6@!e(d0-<0GlYDwXJD!?Y- zwQZlmlFnECbEieVT6p;P(oDg#dGnnD7|y+!v@!i>SbXSj{Vkg6vY%SG(;QD$EGr2Q zlS>mT@ALTUHTmJ`O1JqOT&!<1xC)vcygnKJvz6V>TjT4S3692-?pamopNg9Eg7t{Y zq=siITYVT_?rw<FoXw=ucu9}x^7EVZ`*VEv?6$aT7Z(0})=SG%r!NJ3e%P8=%kyl* z(=%(9&*1V~c0few`VOsv(|<1e8z#(h?>Uxnvfk+m&+Ca!mhYWryB`XDFT=1~C1s{% zR$uW##gb<W?=VE3)w+0e%Cp}6%iO&AY|WSQ*laFp{&4q{>rN9Ly*&NS=!?$VlUqbC z7-g@$@%Y*S{VfZHYu>c{WVn)4#VXUXL(aoOLSpHP$>Qck&rhtIyl;WY)_r1Y?kR3N z6!v3|(vN8`d+%uk-3w>YVA4-;+Bri^XnmgduN?`>Ea{bjd<vUOFCPk#=i8+obs%qM zc=+j%_<fZEVG1g*LfWk=PYJ(L71Fc0_PTVBrdeMWL)za1#S`=_$~STS{NpRR#(myu z4)tHN0+=s_X)2$MaaVHUQ+u1^?KJtdR>@PXa&~Kln9_}0=g!<sUly=P_DVy)W^m>Y zu7}6N4+rd4`B{8Z@7^k=-BF(x&zW%{n%|t!Tk6_o5pSj+2{)gtJa*mBMJe$|!MjAs z70(~K$a9`yiIMNS$*`pNpBM9K{{vSOr?o8Z`h3VKPw0Y8!n4qp$qTs!QapDmRz2nZ z#?9wd$ouB}q2+7X&t>y9cb&HW;&`L@!qkq-TW!|0giMy<&7HXGUjAzTw75yj{xi%9 zKJz-QVR4si+LSkrYqs=gm(_+iex5qt<wEkO1HtllwW=1S9eH=t;b*JiCC`9wY>X2# zW1p!#e5z%2#xn2aoGDV~5j+nMbuW@NJhE_em$7QHjLSVQKBknEoy8n^;xq0ttoXC( z?VBl#6^~RaQ@rk<f5>5R!kDL3_;Y~!ms2xOA3D1CbJ(xd*(*7F&-|Fr^*l~tzMazM zKF18p&Rr}I`PelsdQLm$AaciS<-Pok$6d2|Vl)yHY>uq%5j=D=BALbPN7tk%_MkP- z=DF^jqx@Mih^=x#&b^h-%Sv|b{1O*F)5Uk6xTttZr)qa~SAxlM`LnycDw)L$Gr8|| zSR|cRt`k?POJU8Qqw!O8-cBbowrfY$*sbDgKeFWYB85*ggKL}>w#P_UPCD9oC$Qow zuW6ZT;>2f*_$NClNbG&0aZm8jh0R-Dgm#{uq_<6<<JoK_LvE8PO2%i!EDmpJ?fKN9 z%6RRRvT~8vkvD;7M2&MrUX*B0S1s)N&dX)OvG<O#gx3KN@r~NdZAQoQ#il4-DAMw{ zc3{qxuCn6oEl<{2aW6Z(>8!WwqDO(#Zl85_{d0AnwAYiQ8>Ml(FSP0G;XWD1CbK}V zS#{4rWvvzd=R_QvXL4{_-*l2#-;uH4e!c5N=78{TE3ePWIHuT^(2`T$I`=Bm^USLD zQ1)5Z1z#**7PKhGgmdx3lRl-YOHH<(|8t;qx#+LO%CUE}-)xvTFHgI~UnA1-M{4nl z#+M0#zt`<`Pu-az_-Nvzso#P+@BY~odTtj>P51^4linPz&e<okN;ioqnsl3$H*MVB z;>B`6PFdsUEvCM7i->*RpEGWpEs`w`;M?}5Z+m3?+3aUdJO48niOVglFPePR+;!=! z`_-oQ8o`zvC*!I#_6KwMe0lTbV(PRYk*_;iUv)3%P<z|@TYsnf3&ona^o_^Gc1;zk zIuU&BQ0S4*M~cFpR)!z4nR@7`)Qct2tDZ6)-uyMVUL*K>d}ZA1)f2CJ?{#`ws(9mA z`=-ayQxn&<mP86>?-1=?d(g@9URYdN@TKoz7WD?)>s{)$2eEw7aN3+aKlFI=?8MR! zYxcD0@6o>&{%+qv=eaU#*48Dge!fKW=X!sxFDF+1XV6cJ2i?crE^@C``0P!m-?9ED z^zTN$TIzp}>)-8G+3DL=_voJs+ZLa+|El!Ui>$9J-&{T$DSYYf%)jFQ-re6i^<Ve* z_{y-@%6gG{mj4Xj*4r=taQo@aUu8Gzy6%f!sp&eevt|+hSFhHW)tb-rnC>2Z=5_Dh zm-rv+|4fT>3;ipo@bYFwpUXGL?W*m|vS+frymr2Y_1C<Ue?{gCZU_te8d)h2mNI$n z^t;6lUpIuyrPjS@`_GUWl#^}{9xE1j&g*Y#Rb)}j&ULlw8=82G72cihU-h5CB{^_~ z;{`T#NB*cPoj-5Z*?bgzedy}+6~SxtmQUJa;oA7D<@FThFGc4sRqM|B>-2Yetl*EO zsZVacX?R%Bu~S)tTYuGQf1%T%vc~bLHeWgFy8RCS4GaIzV4|;Bu+Z_eYtF9L^=Bhw z-YZI4a`T;hKIv2Nq~8sVN7o*D`us*kmDdi##Zz8fEaZ^<q@w?K!P-X!*{ty~4?T4| zKD5f)cwdaNve5b0rBKqE{lzhLKJV2w>Gz5`p8^?97c&~4yRgh|72DgNYp-V(ty#~v z_m0TH7fgHC76{DFyLake`z)rCd+M(8hTLDc=O0Rqy0KHV&E};0>qgfF+e??4WSnXG zQROuE_UuHzJ-01_>R!2j`lG9HPVicB_#I<j7LEN5+h@I;-L(D0sROLjc3*RH@#pSz zT>f~vB`C<)Ca>DA(<NlTD@1<Rr>j19QWX8~tdzNKQuNi2$KvNyn}EOHns#ht$T_65 zeJ?}c*H}yaP3Q89Iqp1v<aYmRs${7%+fS=U;a2aRX1m1bsPJAp(X{A;^idApbdBhD z+ZxuGZMY}2<<E*V`BefD&t4Tg>115EOK?@MX_m^XwSQMf&OWz#zO|z6-R|9!PVR|3 zq<V1OpRNODcZBwexX&`2wkcrmq6e+|=X6x-x*X+JUi&mf?fS`6-cbp+yf!Dyd1^nW z$jvfFPv=O(QTq`7n5HAl=bvgk>@nPx=y875?2oYm6|%FN6psIAaId+h6Ug*7Zd&xY z0*f_<Y3uWP-7GaGoIH2R7_?LJ(^>E0&k-A~#Se)-Dp6T0QgdcSro`OCiixGhS6(z^ z&v09KV&;ig!adg3pQdPWPoAo@B=Yl~1EQ_VE#0}zXS{tbv~=C)OpZh6jzoI?(#+oa zu;~2Zhur$B=Kl_>C||}@(>d4iB;!TX9XEAz50?fg6leO+tKJ?F^QuB!an`my*S@L= z%Q%`>PS1NMcZ?_Uljh~lOGb>$-^2r_himGxxTT&dteg>Mw_)zlD^nFTj>s4m91^;F z&tWmc^IeR7bNL?l8qP~-dCs6L+M>?Z*p+TN@zjMdh9c|ZA<})EmW{La&0PE1pYz$0 zUkhB{C(W^OxcgL6`mjd$(?x9?AAc5FJKyAnTv0$t=Gmlvr=@F~R|X%gZrEcXJ3-Oq z*=>fc+sY#OC-KTDCV46J6y-^Uebqg-P2!H{;XUtuGIY*vk9_BPQEX@Qj9=4r(jWRZ z-BA0{RbVMzuw{+n#h+gLe+FpJn5}uRd&X4BB5m8Z(qeBm&P!mGjMfZ@xLk9mPwdeV zi%y@3%Y}9bFB6zm6{DN5-E>OytkYMf@(G{OlyrM%;y7ED_p&GBB|S!$B!+$--3Num ztPUTgy{eT8rEi*UK0LA2>JzuRyT-1b^ooOgS{G_Vj@-K*Bf*yXx%9Qdg#ELQi%YY$ zwyxcC$7x=d-^>Gk6Vql(hUMu6>@hOt`q^{9`PJG}-vU_N0@f`%C$rR#-{1)M&iAGZ zQ}a2>viRnhg+HBi<e<NGQ`koXX<n9;1??r9&RIFJTi<couG7?Bm7pEB`fALr{8am( z@TF_k&beFqEYRvlfN;mWu8XhM)^}N}Oq<si(cW{1^|!W<%&hQvs}!%B6+68?>lc1z zrQY!?tcAH;!s`OWUVB%1#{XNj{iNr7r`A;^M?#8AdlqrKWS1U(@-qIX0#8rcxfTaW zX~}@tLvOEb(R}uzb(W=rq@~AICl>ivg0r6HDG8=OJ6o{fGpnc6heN+l`hMCtRX)PO zed^U?yRXNZ#FysBo#0J;<us{u%j&8HcG+*3HmPer*_Fld=G1+W<z_BPTc>`JTq!kM zbKXSltMM<yzZR_c$+QJ@#Zc-m{jJyP?aswzCEU5eYBtw7a7)S5!rf=IYXyYoIf?WB z)Hv($Rd&wa;Kh!ae)b0InWv|{t6JSGSR|s+YaIDkq@!1KtrY7uop4owy_NbKUE{Bv zIPu7O+vQDR-ru!ueoNaNpJKP_v~6kl^VFJi-PbGSSN+yr-LJi7>J<ft^QQTmCgoZ- z>^mfI!Ed>#;Ae-%XR6V2ciY_!+nefpUNwJxg8P>@Urze}XUMIp=YO^7*SDg#UxL5H zRq4f?I_-D*9`BSdXMN6l1pjB4^z~WC&vmO9e`)+&ozC^M*Xiti)nDsvTJ*0*{Pg;3 zt!7?%N`BGyCF`S^+NZADC0bn^_WWes()cUdGxv9g&i{63WA{DZuFK101GzPxZTNGA z^`qyNb-PxlO6r>$&r1?L`08aWUt_#WrQ5F6*>l##WgCUhbM)M9Aoz=6=>~pF$77tc ztwNe7?r4=S-DSUG&Ety<Nk6AbcszO9;&^zK{35$DuKx@wb=~#~z5lv3Wjb6q)bg0L zik>m;UzBk<K)~LhUny5Hal5lt;u7B{i`6;jUR@up|26o;lTDY+rW)u@UYhsmp_bk0 z&wg{~?{K;&J)wK&wu9WshKCmXayotL)#-O4=bjvlPg-=>KYi`g4^I!@WY^1bKU?zT zYG!}S`W-!|HrOpp{K*kEKeW~;`lf4xL(+~9YmU5N>YrJ3K)+I9<>>|7-y)AY?JojN z=<8gI+q8c7iDC!gzXuk!Pkpjt+qYHfXSB^KwQt^9Z`UnuC#q7@bx0xV)6SQBmYrib z#<1z%1hLPvdF^aPS9<r}448B6r?FV8y;8`5l3kA{?OzdK%iv@iGT&j-y=Q{wFGPCE zZQ7rjA5t*+?{O2B+A#4nwxZTPC6PN8eG<XvjTR-Z+E%B~HmSVp^a+KB3wOA$>#mr{ zUgDOy$ha(v_raa5*>+w`R$n>%D#|C%h}|v5p!0U|!lZ&rhlCIE-8bOM$ao;xy6cf{ zxrt^r<DW|ligz`hdpEVk#-eilhUmj*Sko>173Of)-ibK3>iDz$rQZVAq-!0s75Ne= zH%Y{^aRqm|<(@T$LUy9XpMyR=S$yr~{_keSu7{5030ev-h}pFwTYbin*$-_+tSus+ zE-G6$o6~XE><M9l%Hkq2SB|}NV3pF8VktB!@J{3uJUeOG$DdB(AL34N>}xH4wIS7V zufgH<Q$)?@at9d5MCqh5FlLIY6^G?7<UGfFSXS)woXVu4`KzAQxcc1EJsW*NRO(ZZ z<sGJ-N!l&;3ybD$mzlcrhPJGp$ja?cjdo>ivdfEKwBOEqUXh64I#<&jw;nxCI?$6j z!Qo+M8TVA)+(*ZSRJR{0KM+*Qw4wXZ)4embIVw|99*Bs~n$ss*=T*pLkh0uKXM6Ch z@AG(W2pl~f!ovHwA}VRlQikV+KW@#I@RRdakGIx1eb!=g%$<Pb#9h-E)^<hDofeUM z*2D6JfbJ>tD5u{o&J~_Jk8H5q`C*QCMf|6!iBCcVKWSe!t@+Y8i|^gx@7tpumlQJH zj`8|B)#ifD^mX2%=WGsY)txGSs=*<+GKg>5gsuN}IQ&R@u*mfWU)OamuCw#jxE=bZ z>ATH%)m??#6-Cb9e73opPI+Xmut>SxoM~g{ix?4RnNF7-@3R~NDpzj!9Ou!V_Wa3( zy?Nqm4|Uv~-89G3sKV*gEvs;`Z!JpCW%b-v$w=@&(PCf8`J7$MEpXGm#U{);?j1Ux ziu5MQnM^hOq{Vs3vp8=F?~4sBac(d7uo_P5Fk|fX%Qz_D&!g74IaYPU-dx7$Yfgs@ z()Bb}%5|^Fmpof{Dj_}lZgkc40GEUJ!}1u4Sk~#(I`vNzZ9Us@HPTV)j;2(f2!~3v zl9=SBhh6M8cNXOsXQ@fbY>X}KK6Ngn>EhL+`L$DzPT<@2w!=lhqi4qUhL_s!!gL}d zJmMFfE)VUv&(>v?(Yle{yz<<|L>9Spx$J8P6Pe?Ldgi+_Kb*`Jm3E6Y*T`V|a+`(e zPdiq0zT~c4ek#D|hK+8~>67uV7WCc;$ZKtJ%D8uU0jt9Y2_v!Mnx&@enE57%Etx#) zUQXx6-mouz7H#tm*`=nw3Ye!nA^7^{&lO7}{2ey^T+Wd*U%*mB=3SWPC+5xT7U-Ct z4qN|c%HQk%v^9I)Y)^Vr?sZBx-RZYnR$ce+Vy#yX9nK#K-M9K3XWaDG%0BPkTf)8s z`Oj<>UbgCJ{1c`vRo|Y!2ytJd^UpDL@6xO1PblfX5?`0RNnJ7R(CKrcb6eBwvg|_z ziw`-?ee+;f_`7xL3nE>&hEJ~LI#D%s-k#}ezVY7qY&-4D=lDgf*C)MLkp7|X<eW{L z_Mdb*|3rM6_q*k<#Qic3PFxr_i*@R+c_$=S{#-G0&H=8Hi&Yt+=XSB?ullVKbvq)i za_ZH(j*J@H`I#|M_kZy2xfuRS!*1iv*Qwt@XZhUzH~-*o%~N7g5lsvJhI7nSS@T!1 zcFkTLuD^<z^Et!W?N0t$IX|Rs^_RHS)<si4dVY9$GwpuBrJeCdx=vJ1YJ5Fu{-oz@ zANH5lFFGGB5x=Qd;6KBY6^CV(rZ0NJ=T>dhmv!7{qHc3`Y--EVBP-@su6MQB%zf!a z{HasnOPls<Yg`UbjI6vFRTUd;mspjx@6&?%Tg#t`McoUFTe9-7PUeNxpZDm#cJtM~ zcEjm!_=GJi4`rA<rYcWcy<Tarab#?2ThWnSf(e3izACKzwOIGllytl7tLe|Lx>P#- z6)^l4`uF<Oml?q}Zm)$m`rI&4?8?hgbo?=O>&b|DOY|>^FKs$vqx3YgSiAdoXH;pS z_IlNC8s}mT6{<}Bux9bq(z)VC*$zf48NK<-)xT=uq6wdF=XLlge4ITaFn`kd%Jf(3 zZp&O~e9e6}wQj|MYj3CK2L+!LuJ%t*|LwEV<}FA1l@(7Xa`~SNv`C+|<LsxxmDh?n zUZ0qE@~Fm1o{4)N?Ozcs5cX5^=-&<9bJ!wJ{bmR&TH0oHs`>EM{0yB9v*zhu+oCO0 zbLi-!qh*KKXWo0#G52R%lW|y2oQAgb(W!SHpS!7Xev-|(g@qAMxsLljn)Oci?S%{L zcV~P3*dKDiPNzxX)oaoGNxKazcbc)KeG*BPln7XNbDmhkvY#0uO~tdP%8H0PSSE5A z3qOjeak<Ua@tON{N2_kht#i&RH*h_EHD632uU%*R)`+5#G!Z_%f;DyBEiv~_Bxc($ z(R`iEl~?(Q+jF+sBk3m<p-1iqZ8+X`tXe1OTZ#VWsec0`;|{)j%lEO+<Vm-4cfTp? z@rAAV0l}3!B2W1ROB~w1X1(_^iAVXS%(G5MPng>-QO){M=9*%0dsXzL8SHbWd_U%P zJ@UhA&UKx8yAJu~O;SyN)~`H0#EL^`{plmE3tSr_59xm>W_y?~JuzGNR)xxaAzqc8 zbAGCu9!RXbTe6~&dD5gaVvmljpK?M)J?cnt%=wV(;xc~XjAC2v^WJgGN~_aW6zO%F z_)uF%X33fWLuQGl_RMPSTfa9fGT8oT&NauwPF_cO)4ukse&}bBxFqdDgP392+~7Hv zlMkov@u`Tpb~mYT{=XjXshw+^d=F|o(%bI(pP{o=&59wgwODY4i(l2}H!4XpcO6_{ z!x#8vid5`puJm|;zy@LQLu;OwEc-a=@MWWQ?9pr9-E|1Kv*Dx6^i_?;7daml-py*a zU_X0{>2P;lUTPBK0iPI6wja5rhU>iE=onY8`Q8@ha%T6@lpFR}Jp5JnU#_|S)%>2J znBjNb4aLC+q^}&E)4=TeXkE_5S)Fs=Tzm6$httfXmqHg`t%@;OE&Oa&lFxgl#j2eX zr{%g{?iM&@t<pSqBi~`G?wt<LCk8x7GvPe;Rw^mrHD9V+;7o2|pDjF7-ly(uQB+-E z^Db82f-$Z5isn(3XHNIab}BJGv|j3cSMLJD(wn^MCNB)LnVL7uc&@o|rOS_H?_x`< zCKaCVOwRkjKI^c>`ZCcScf>Yy#?R6T3!8HAV~W$gBjuZ?cwAYp%6yg4GHd;Z8@-`R zOn4t^y!U-`dC{L;x|g4D27eBE_R~b9GHKIa2ge&7y@{S`k5$+NZLWR2Ev~D@arna2 znq95CUzh$lX|e8;n2zf@Nz;WavX-f-N`=K)3f*U0R$j{6&_6qT=@bV!M+X_Er}26j zCwnYe4fN+uz2dO1KhoW;b?R4+<5!l;w@;e0lS!n1(uqIUWE#(?i&t^PrF~ks*w1w8 zPOq)o!zY|svt`1Iu#K}VJ$GJdHOzI;QoB4OpnluyDbLm(;q5f{l}MlT(QUy_haF7c zV~kJob$D=JI%sm7<F3&Xzw!wiYa&;F+8CLctWo3g-f8}4oxt=bBKOzm@6@Vu&|47E zb3tZW*r)hx{aDexsZ|;;&4a&2Rw~Oot-0}vtACPI<(jWg))$`>Y?O1%p3d}V$2!Hj zSGt0;zFgnHv2Pt~s@#gd*W5p~3cl3n-<0vXB+1rmhWt#=%>~bvzuNUBJb(QMudkct zte+$wI`Mp4*ra_I*1vE%`YCLmESG?u>n)}uMsu#;tW4FaTUa@}VeP5c*PhldvKMck z^tbEF$s*rhJ4BBzJrHCVtr`49EBS){)~P%1N;H^eO+2kq+FbhgrvA=1z3PYdUA$2@ z?G2mFyZtVe8SS>>Zx-;cPuB~)E%?0j{GzG(q0?qItv|oXZP}~86L0=n^RLTpRbBV> z&DZ}kY?rlfo}NC<`)d3q^{eqyr@vXV{!{oDx68TWq4GvcIKPHRW-auZ=W}}VS8jv- zrO!J0MHhTasTHZqZhf^_FGcyn4GlK?724C*-;FRoTeoTPo8^2v*Sn;@SbJLa_xe5h z@9xd>UN=2*O<?8T-#W>UT9U7Y&s$Jd6#1i4`|owZf77NGa=#PrKEbM*vi6nuyT#hE zQP=jcCO=!eE_LM*|47cZ9M`+tZRP8{roA^=oql3<x_Q>!{IlFC_cAOuxLd|rt&l3T zG+>-~dehS*%}1V|KAT#(N7SO`sbBom+NN`rPOr^3WnSfz+c8~yLW|25zP0fV>s)x2 zu1LLbs(;prs@1Ia3Ol`a7nv0XPyNCzysz8uZ2ra6yrB8{yo+5fnC47qnX7x%;?Jxn zYDGJvep=`SpWejQJn1*9R56!b)_(?voijFs#m_R|&G&lotUU)G@wxf;9ckVBh5K9J zny1|Mijs?u6sGrbC*9r27e4t^)bb~c&K4hI-A`!DRhSWd|5muzmm6Ch1WJr&H6LB* ze{^=+14a|aNy)+?I`*y^|E3;!vm@!$Ss_y{wYcchs)jEfED@V1K51i(j83a%)LX5T z_RQ3Z%qu(A>{*ze(GgkMDl9L+QOn^o`B?dzo%hc9S)F0I`C;~stgSNZI!pIVJw4|x z)5Jc$WTE4I?gxq^9Pbuf(U=pEtKpGx^urXT{|rJZ(qA3>4!v=E#~TrK;EdiQzA2K* z&$`_l-gEjfDf9M;NMFC|^K#bdU$Gj+vlrJ1uG+5CwBvK@hfh;k;_^}*9$q`;P%rc> zU6rk9qx-2-ukL(OOch8GofmWJ-Y@m(yUygjbi0_d)ZySX7mbShGSi;bb4@bY5s`Lz zmumb~XSZ!7ip}<7s%6c8PnbMBchLXmtOYejI;)t)QyewY_ZUy*n_;DKdIIN~%6p&O zT%R2Zlf2)v=oEMQI??)x@ta;Q)T(o^WL{lSFqP%RoTY3>H~OhsmBe2?wDaYxLoxRx z7+P6g?&hvwRyr2K-`+CiQ0ztbt3^K&^NT-f%r~2`QMjnWY0mBQlNuUcZ8$RF?e%jW z>_t1XRxsS*yUWU!lym0$Vpq%ek$0}}&rxD2)#KLw?0TzWfpYzeDR(Tln_hU%wc>*8 z&2Z*!g+{wZ%j07299M4gJf@mhm-I}$!r4zw@}jk|QeJbPcDGHLndG#*qq9_a%uYUy z=xbPGB;D{~r{p;!)@YxHp>x@uUO93uVXJW6rUmmoBU;}Ua0&k1G5y)x-#WemX}nkR z9=^J&#BRZ5G3#-<SI?Zqiejt+l@Yz+9w&uvM^~4+$^7wRUsP6^Kl5a&!JVIL0-KB` zZRjm_Xo|eB`t056w59tRt0GPvmMD0|W#l6(;`ZJ$K#=W?CClNCTSvV9UYqA0I&F^8 zhBJ~|7NqXpW)Z&XaFN<I$Mt#>UJ6_(dCq0pZFwpxf9-TJy;aT|K2MnAaWtqj$l{;4 zD4$f!`Yrl@rahGW&(IMlXK`}b3Gsrn*Pq%bntU&_+*KUC+@3>A_r#ZQ%g9Y49OoVi zKbm`~$@tu<=<^jqbKAb%({pn9#20<M%>2ljI^hHD7vp7KN$hxXb_UbV?T47IaqbA> zw5V}q&yRLnaVF{H>6V{sKhJYmdF1}t&a8ADjbm)}-`(zd>e@V5eNLaVwYqXDd-X}d z>y=B^xa_w!T^Bs}6G#6<Ztl((PcGCd`u7V>{N#J!WSulah#;E|cUbU8$>7hdF_jGA zOW(A`@+^0e{<Z#Y`ntw^(`%BGXWe1hr6SrQQIgLTzHaq=i@>Y-riZH(L=E=DdIo-X zj*hH+@<cJRVRFtjA>Qen*1K2CFwg4_e74!%^z_WBYkL=mnAa>>%<QUi<Vj-OKM%`| zO1DqGefZ32Uqo@Z)Dz#|M$@tmiT?c1nq3-s_H*RZIj!Hg-*|lqKc(k%TIP>O$HP3= z)Mq<6HYe8IomVUR@3p@6%5vTC`?KyI&Qp5&{ZQ!ajL3)24qeUB?RA>{pTQ%3(eHK6 zi;RUO&!^v6f3u=>-KNW?)2~Xh-DKKTB)ivYwSeB<@HLNums^DYoV3gLO2zUP*5q2Q zd(!)-W>0&g@c5`0Z_(ii7o0ZyTj^`Dd}gGZ_RhM;n+$fv=r}r@onf(Sz0HQz@-8-8 zVzktMFO9#j`twFD-k*`_uSCD(y*jN}!SQsDPVbgSQ_uQtzUuFH)@r@ZZ++R^+gzWY zY|1H?o&H;sE!{Kh*ScByF~9Av#!os~cl!NJF>d`ur_cSJWb~Z-{mp4<r~g(vKA-=e zA%Cy6y=&chyYrj=hSW@dv&dE~t|&w<to4`LjBD2-Q}RNa{xi7TSv%|Wsng4(b>B~R zdY<}f>-kB4Cv?2j)_AF9$o)}I-$<-3Xu+IKD*6|TY`Q+Zv3HeP{q$sd@r3x&<S%ay zrIiRRf3~D%`W>%L+VLj0pHFGMmZKPLmm2?MR`SW(ohx5ghN(Z>e0^G0a?Db9)8uCy zk^PhUl3uZ2j8mVpfbnFSt$Pa3uhqMwP12T3H?o{M=W{`1)#?rYmT`jFEOk2qTI*-E z);lb>ORQbU9g%i%)u)IJ$Df6Loz$s*)pN^_u&6uVBI<pn=za~CH=Xz*^x5n3SIeI* zvw62k)==M6QrzlDY^Gr9&n@wnPYU=|I?X7b-NmGKQ?x*LBCBI$<qCDrvn9Qv%lKB5 zinpd$^@{MXy8G{G2Ky@ZO@gs*MIn9VeW&$p4t4x{8CjUp@Oz=)6;`RN28DkyZZG&| zzn&0ZclM$9h4rR&Wvp>UJGCyYpKsLDtFx(7tT%k=(}>Ip&W#^qPs};8W_zVq|D@~M z2jgcS@p_QF%R)nschmGO?gnjdJkJF`iLiQIe&BUd#Nwj`PQO?0)@c**uWaMlA+Tj% zO6#=MZyJ^O8bl@UD}@!xih3xN=k>T~7B@>i((~(Cc4YA`<84A~l3Xks{ZEDb_1gB{ zKrF7#V}i++wFm!JTz|K$F44a1?L+lRccpJlJ;ggEd(o+12b~X}Sz#%>quFDhrasft z+6iobE-!i4xT{auZk3VE74i4NX^G*_Cly?LyXo+UXsN@i4DIi1H;$Nf`~05DB7-!e z3ht|wpJU=CES|BsGwkU~ryD!(au;;8O<~;9>hp*9q?P48uZ-rTg*Pg;`^1VJKeKXj zBI}0EW4{YbME+QPj7%s<(=lQWQ@9o3FQ%Tdb4#km<hy;%u4YHAuQ@C4p7LyyT`N0- z?6Zx<C5PJCZflCWe6*1^b!0TNv6PIyR`{?tEN;o7!Wcf&`nL=#f1bMbnqy9$*wmj} zTlcOPNt>l3ZLVjzW>16GS96Xn>VFJVPw{#G6{|PsuCd4wDY~LruWh={uRkE9oo&0j z*y@bi`;3G6DnCaot`57(B_-W>>{G}|u?9uKIX@<{6&#(j*EoJr+t!U%qKVHoe>$>J zc+X|U3rp{%zUOi-^nApws>68n*^?KG^jFTg#$cZGgmwDN7P|#gkGA{~nk(0^tiyPX z{u8_7&Z*g-r?Lv9nd~}ec{6^x$?Kn{#XZyS3tc|x_kGcShIexu*6^0u<!PDkV!h~5 zX7Hy`QZL(QyQ5$A>@wLqeBtvNSPup^85hL(ZS&=-sZ;29y-H&LPU*8h?uhP;Sn#;v zm*&q?zny-smemVPj+Gbg2xMQq)H}Uwey6#puZ6Fv^v*QVb2}H^$?4pn=$LcP#WFR& zWoqIJ@x#?SWUlZ&FN$a>bZjv!-Vr4Gf{FEg?>%)^<~obGbvKPCi^;6t-D@}_UGnbX zNnOpMdt8K*f*)V_9J#B&AwzQE`B{^9m6SZ2C*3Tz@YX_>O2f=&%bvJCSe<n0({j%f z+R;n2<L7AFr#xKZ?ReE%Fk83G>!|pvklCv}UWto*Qc<7y_>5**;H2M^mdF}~{Sv+K zWX=b@Yfm{oUpQrUT0<jsTB}KVhk}026TOAs4u$D{pSMd<+{OCBq)p6o6z%l9N}la| zpl$9tMdSQTE!ioN%xzEiTsP|MIoIfTE{EyxvNSF=k8Q6Lz1RF@C{KNUMn|E_>+)x> zr#4e0Wj?C?l@ib^UG`zC;WVWM^Z8Oa8rGhB7W)3#&ier^Pu{6DEHFR0WD&!G^ctr1 zrMnkyQsX&$QhUw4z%vqiMAR;na6C$$-EttQ;pfCe@$j-YF;k?ces-T8I?HUHm;29P zccTRxHre=TInI8{t?^=+{R*$U&x<ylUv>V3=sd%V%qOD7Q`=8y%kzEk4f_&y+4R?` zo!fSV`zpG>T5x+&^XIoG>y9Sb@d<bx{mfAlbFJRA^jBF`89SqF*oVW<w!Ut)(n)$3 zdAeV)H9P9la=jJ1K3FPt{b!gKek-g_yCeGir$Zutn!fJ(Eg8VUR{UhoKGE#kb|=g~ z2VS4lbn${$hw{8nPgC@FKiXvY;aPydJ2_L9nhEAFls9pHZv7tkC4l{8U8DRWC7Y9h zQu^07y-2_CEpu8$SY7s;rFE}#Z_0{JznQgD|7Pmb)ZdGrPWtWi_xg=>-QVI@eR}hk z|35>1ZODHH+3UVx`w}y+h<=OTwf`jl2De);LY`jVeB#cE-n`I%0sFp3KHRQSS^VZd zLulgCp4I1rM0e_Z*|N6aQ_!wV?Q5q+gfHkh`d?Y`Q*_Sf#!1ggBKsD`r0JF>FZ2Gw zb?~mvp73*bdxfeFM1FY9W#^inl&6~JwcYmhVi~J%amJAwH=bG1Td}m{`i8o0duxph z^#!gs8FFMcA3eFD<MoUH(T2~hb1K*GjQORkdvCVlk{7*ScW5p?`cOslS*5o3`U%|H zn(WWke-7t5^;+P}>_h2uufJeAEO<uWW7j7!f#pwjx-E5id4y@l&(^6Qp6xprKb>dI zf*RH6&1Y`9d$*pR5GWtI+cs4$u%O|XL37!9Z&u|Cnm?z?eAPPqYV8*{*>&F5pIY<6 z;w$49MxULXH(}Fxmzp(C)vv6MbL~&v=XGa_$D=c>)8}4S-SfPXl`VH={EN-|mdcx6 zKeVHM>#fD}vcG8m70K#QKCwnUFiHG|&eo~y)Bdc#DDcpx*Y3p6zSF<-y%p@re2pJi zbZ|LzKMP&ivra}eJ@ZtU;!N{ku^H^Mn62*|YVv81VA`+Om?&iM#7nkfO}}2ytOv>5 z3ar`3Rq8e^o)@&y_r%tzca<L=T3(f2=5+pCv3ALkY_3mLhjQ+-1uU4acIck`6~{=K zo%%ip-<;tqb34ou<<u;(+%o9$(oQb#Jx}>pZEd-+_VMl$3K!Sq^@=ZBx$yoo?o~~N z95K8rFTQhKBOz-ia;)KJ=2;=XJrh3MyBjE!k`l9d(nUQ6&1F1-Gc|6Rbey%|5j!s# z;BBwLD7afCOT_BjlQ4~Y^GuAkxkjbN{4^4quX3CBd7+4(j*)q{lU{ar$JryR&pSP6 zc)cs+%=_3~Q<;zDF=Z;*Nocthmz|oZ?7(z1r)Hj5;NHFey8Jm#uvY$DIX`sD7gnBK zkF+(mzS}4ibNSG7o-5yzt#^gr@ap)rtnFdn$|H^Jp1!*G%5)|+s5>q07S7x7eE0E_ z0*BNcLf@X_PfTx_8^UdpvS7lck~tSt{xf)R$F-))JX!dBFUOX{8|Gf%%P#-3dcA`1 z&z;wnExl2{EKu^@GZBt`n-)C(Ik6#ur!!)Is7mt%9X-ok1wt#fh;>%JS6Sm;y65U& zv9CTxDkeNvI{Q}h$Ub{=rTm^t!IhKsO%l8ZO0OC4$&@7oD=wZrwL89gng;uYHQ#-$ zZ-*S;;$kFIwSw=H;jE7CBchc|dX8~#c3wQHm_BoZ*0&3halD%~+K$C|-dLY|A#lUL zl_w*AES??Q$Kx{B&tsBdehQz*B;%{aHai#Gi<9#*%-_Ch(p^2L?Q%L-?3?*kojq91 zw%hbSLsx-Bb6kGMP0RgElh-X+Gbh=oh1>VZO5UHVwYRPDeXzLgP`Pu{;ltTU+V8G1 ze(pAN+Pbz{`EuK-L;RKzF|Uuk&^R`8LRgy3lnGWIeku{A4m>9|Os)CJv|jgfu=u=; zhC4=ij1e){Qw_xDA6OgA$7ijhc==~n&b#SWOm^BUw$)6FzIkS4gJq|WU^8F(EIz5! zy3=~jljhHMy0ePiZ09PEFV5UGcP`C2HpjRiex~b%$ck1Ov$O7ZQ|?<vc<@g?!sq>~ zxM4xjrX!ViSgSt;pS`uxuP^#S+g#C>xMQK4C092m?}`dg4@@^%U3>LNamlhq$-FCE z{??pf)BXi6lD>SkZq@HgI!tqPw{7ZFvo!T!UDtCmST5Yj_-gTswSPAS+x&gNE$n0M zt<gPCSfgDwM=@!>ww~l%$N0=Q>>TGFi0H1}sGZl#bnUs))xDB8TIYP;lsJQV)=O?p zc0=u}0?HTkcW9TL`p*zL@y|i#_LKYz++VOKx5s&X+q-6t-_DtC9_PzWUElgde`oNQ z@V;rmU$}1X%f56>blEMhFS~3XmT7Egy&C`9Z&h8<F1J@ZKV@<$am!XOcz>FuG_o=> zalW{U<*WT3zJ>`oF?-9W_POT0F57xk@LE{FI@{FR<s0(Ot}lIAU=pb}dC@%UTj8;( zKIg6Vw@%4Vn!SEQ<ioww?eaJT=R67N59re?o3MY^Q)A9+mo~qM;@V&t=hbN_y)XOx ztkWLmXF-E~??0@rnX|UevEck9hMFryS2Ru)M{lZZ&6!poTEA-kq8Z(vT|Li*uf2M~ z%Bingb^6(=s1vo*70rs8wtk9VwWIsS+>qzDzcuamJ8yb6{_^(U#o=#WF6#KDxO5HM z3dyT=t8FcHrmX++_G@_j^8DBT8E*H7{w}-!V)@IPvO81fOtmVCUl_D=-JatqZracI zyem?tDAt@^y!kyhr~0!_<#S%A{xb+_U*C9O*X2D|ZH|4~zGQvJYPCMM4{OwCs@6_% z{HY+jJ3EQn-y(YXuLWgsckZ-)-Pl_EDf0NUR$;X~2j^2S+%HD>evN#zFJSpI(OdgH zBmZ3OZQRpy@zWO8#8+#$cX@5U8hz0vGx2J^%ejCxvd>(n{OdYr7qIwQIM1<`m1dDI z=d3t#WA0<FgpY2TXG>ITmlkwCOLg2LbMf@Aj_{|mHl8SG=%4#EeQnqIi_udzO#RpK zqUF;CjlW`n7pB_kiLPCvP<pY{a<$H8%N0LG>u1EYD=mroc6ilavEpjaH`@=dnkja+ z!gX!x9=|HJgM03sJkI+uE&OKbg_Y;44zRXFKjLDwK7Vx9kI>IA7W^m<KCSv|<#q>= zldn`AzX&Y&eAYkO>j<CbGXa)oI;yE(d>JYyEjaSzvF1jhYqwq{U*7mHszugf>CHp? z?NpyVv3FSW`sae^_QLHf+OLYar|!$Ldp&FJ4b>#QYj0b13zS6<7L~mh4`DwmlzZxA zubzdw@P?ITZ5OuA^@v`+^y;}6QdtXRA0Jlq+4ks(#?J}s#jZx(xu(|p^R8Cu3<Zt; zRTC5vn?$(3%()iz#Odo!u8Wrf^FwV~r-(g#lD?s6&eOVuJgk2`IXd#gS#&HmGrbl# zp3~jtE&gmr%%3Yq7kzi>YO3LBO{{MVV5w|q3oy-Ue$l5azJ+!7$CSly`W-7BWQ?vo zyW(J%vM$A1<=*GE9K`||Etg-dHCOUWS|0JwXw8d0TDP=rfsVn)i$|lcOx;zogV8_w zkbqs5?72f>2C`*|Mj|x}lh|&Znk;sLX*sj{jNm2tmP_4seAaUIdGsJ-*Zdg)4{OXA z*6j6k=KZPkF+FLAU-r&OhZ$^_mR}O>^V@X7%=H4Zy<nkx+doyN-``5qXB=)<7oIh} zDDahM@U_zwNplWLuFIW!?NMM^wCNs;wijC5bFWElaA|ub(iiYdcvh!6!_!HU&$E^8 zw|9ke7|xiY;4-^)M@puK>-T&u>z#kj2JmfX(B8$a;bin|!EQlzg9Wcw&B#1_F`rX@ zs)e=Xos5f)*TdDeN!bQY=lK#A6XAJIu;h{9u3Zmzy7an;tt*SZH$g<AJYa4^b90wd zkM4Ps%Tr`Sj%~M@W|Z3|aU=NCrh~$}6_2d6Sz;mDRkHQ^wLtZ%YZ@;+b~m*>R6O%^ zRwJ*<4O1iE7av)C_?iM)cv$Yq%oVzH?6YrPJ<kd=t8Jl6J{JqODMdfZ%-VZA#5-0Y z%jx9hvz&Ia0nGC{PH(txY7{H!=qJZizI4@dafJ~7IqHHR?mn$3+Pz_c+v1SaHJx`4 zEHD?3a4x;!d4^m0a?lcX$1|co`+T*M)IB3t%f9rh?0&)+{w3fcGw;0+*R6+UpZ~m4 z!c%XD=4EEFfE^ppE38Yqy<kn7@}fy6x4l$XarWNub=mS4V&7b%7wxy{x+iX<GWFr{ zbt37PUhqw3S^QC+OSq+k)#BWW`~97+AKCBS(mZ!b(a*M&<6%YVPQ949S{8e{&R6Bg zi3OjGkPleo^ODiKE>+<E)2~|3_0&x?t{HJX*m|Ff^@c}2pX$W(M$7WMXDJ-XZY^Ot z#d!CJqWP4R#vf}opI;<+d_nZ>X(v|9*jCUs?Ow)JKSepEs5$4kdA77Jk6xI0d~sOR z>QBxUx6K}In(qJ2(!ucL5zUAWz9*bv`Lkx)c~#vx_1diHKZEPP6@R&|tG4`_w8m!L zzNd*VXU1&kRJ=Rcyw7{O(X!GLEDRsFo5(JS+%dJ;;9POt$%!>xJ>eg=iC$sO*fMpF z#N7f7x8#l~N-9%XCf7P`eQv!heST~0iTF**&piE~JS@~Y{!FxYE4Tit{)t>tH{&y7 z{)#-Unea<*W9jut{fp*RY4=)8ZdWWYj+mp{+#>odGqSQFuz%8Ty<Iyr|6FJFvAEyr zc-lkzTbSLX=3JILLJM8@{I+*V%#X-&a6Qb&_%Ush+qEZa9^GrvmT6s}l>5`!Y2J2@ z9X`GdV)4JjT3mPOKD53w{qV^Xaw{Z1Gy3hBBYv-1s!njyi^^7+Hb+So#|?r1874`V zYJFDs2!Ga7<#hVQq2E(^rJh|q`ghf-17CZ^_I2^EDT}`reuE|DxJP8hn&KCmf9h<$ z78X~2GX9B(pWiw0o1VW`&R3mtF8j^SQtmg^wncB|cPnhNS3Oj}qRelu({KIgQ%AqW zyiM42S@X^QRr7a!ja&7fLDi}>zW%}A{avT+m;YzTttyi{e}DV8H|H;M|6K1qX<hic z<uCS%toYBM)i>RC=K8lAA{fp`23bDYd9x&Ld*J6-wRcmKif2z{y3nRqzUj>KiDB}_ zHw9%nwCz2^;_J@*%l@VzH!b{2_)pPE6KqA+Ecm(luh;g4c`Gunb6FKdzAQCVp0jes zQ$~4HdCSP3rd4qw%zsxa*Lns{SK9PhTjNEw?yF5-wC9^BU#!#%i<{2%_S&()$@RQf z=Dv>d+P>;HM|k78S3h5@sq6T2BFa6KS>tNzOYQbkFFdb(J6pRjU4F*8`kA#&lb0K9 z{Svi!)j3PE@KujLF_t{PX*;R%=}qC+T#rw2?fEtJQYqJ;=?AM<_f{;8yw`E--I*25 zR}LM`dB8e-rPeDG%QbsdeO?|~m}K>g>*<rl>oQDI?kr_Kxx4Gm+N*V^-);WnVy&0; zXFa3OFQ>+HmqcovCd&%D>xv$#Zru5!>E5B)KVuU_X4T)-GI)LbY}MM_sZ-yS3e5aj zskwhuah=fqs}Zl07S$Z!ykxp%MaR93u_YS!`H$vYU01Jl$a~KT{|oY+5lNOETKC1d zj<$IBK3G(kevBjV%#-k&(YA_Ff1W629-TO~_%(OO1fwIO{~Rlyh#uW@<@^%unk(JW zN}+d`p4z{-Nx=8>k&yZit9k4k6D?m|*k1SgOXRJ*`SYH6c^5M22)iV1J;71`^v3&c z(GEBMxmR|5P+V{~&B`-+=h?$k7Def=h*^@dD>LOLpZEsF#OEiiUwohHx!K}#*qtBC zL-NIEXg%_Ic4_vUzV6PO$`>Ntl+WzYINIvKRudK`;S+Iar)0)niz#=`6@|!J_-I>Q zp4BE38z3bc@Hyt^`aP?Et;rL#F<85|BQBuvYvkb*8@Ya8yVshS%d}0Ixk6}H(xyqS zn>O(s=DQ~PwqNOKN8+}nK6j6Ig?QMU<alAD_pJMS{sdO%84^)1C1U1$&ijzhxGH~Y z*W~Z9m8UHBauwu#UUV+g|Ip!{ZRd5PpT&L@m~mt7+XwS5A2QN<9&;ePpyBSNsD8_h zk^ax7=s!)pmgC|6GDW${&CxMqo~xsr^kUZLiHhQR4@+&P6)0Oc#XpM?Z8=vIlAkP@ zsFhxpuuCLe#=+FXO5=*vL7~eBR3@$6W#cGa)750MaVqb1jTpUSIS-!h?3q^BVB%}o zx=wnP`_UEQ*5}NP_D$BXkdqUbZE?HfITzz6t*33*cik-)xYxA#b5=+9b8WHo3BLas zws~!^Nc!<}VGv7F&-Dt%NBd0IMJ`CY$d{AV>^c85$HN@KS$B7^{g}GxaEkun1s7}2 zXdj<mv0>Zl&ks4ePnb8%ZJ7I}lk4ZvD?5HoO{sb@%kZ6Vhq$VR&~tZ=sm(K|nx9sf z@!I)QcGq8Fw~iA9`*Ovi7k!+wVt?4N)t62gT9@~<9<J4EmMJ>nG(ElRT5wNl+O+jH zU44;j+|}kZovOT>_$0?*rGoI1srzSdGP!)y{t8ojNa_A*hpuMGJkk8ma6(hZGOsg! zXXIjwdW|VYht9dZa@_sq!@_Ob_Rf)t7E&?nZF_II)J<P)>aR5x%l?V7mvB!ylB^TX z{YK>L-QcT<+iIp8<SM$pF}_-QVTw8T@vfI^n7dmytUdQi#$EIT$Hc#V8DS4Q#M~Gs zt~zRcz}ZFnugJq|pF%&K@Y-FvajI-yuv^TX?wy}F`riIAisCx^W}d)@HL_Br(U)Gw z2rQ6(;gz%dSG$Ra)Vqezof(_9JU^TMFY$)T?ErD@&+)Hz#;cSsUnEzPz2phgbG0M7 z_b2*IZu_~~^7%ZaMY%>UD_Pt%;ui<Zw4b5LH~XH~&dViJt&TaC_Dt<5icOv+xH^|L zed%lthyM&ay|)@fg}v?g;dO*<`>xq8KfEr5zrXSRL}`rj*YICzXO1mdd@AR{#$v1W z8)8mejE{M<%u0~!Fz<uJtDak4aP8bv6n$q)Sj0Yu)~+hCLmTC%3&a-%KK!}5O37hz zw@LETo4aR<#h2DEnrQh-{Ff5{qIp6W+T`Vm&zdh645}+=%zZvF{FG^+QHep@K96Fh zPuo2|E2|dUCT}YL#ky-#PS4W3&ll?^?RQxA^Vz0Lr)n(n79C!6DtBRIX7=i$dsFkW z-|a6+Ig%pMAL;VsLlKwqiBqRl9QN&P`_Ev?QZ;Fl@k&r-dSaVf_zmr6%U^9i?-3}K zw&`nJ_qs`&KM5?d^Ej}>eA3!iTzzw!{xc}-S<7+!YTc>uOQ$azgn8>*Xx-j3{r$}; zrT-b`f{sNv{LTHxo=pL3KfQUqrYt^gm9^dJcbk7{r?F*UI#~2IzV4*@6S2)Jwe&A6 z&Y$)4*%A%Ov(xVdOg7&b>$uD6-iNRP(^wNXw~r4a-B-Q-?)+l&=g69_zro4ZLh7fi z+qGuvrWuzm>}X#QpBYr=asPzQyYQRQzo)-jE4f(mvzCqVp2bgYhN~1AYNRsH2sD<N zx;G^H%Gx)N71sHcbBix}WLL1ge*s6#!oANHxKGr$r<<(N^Egx`Ui94}qqC`B-CwN# z=F)2vvHXP7d6DOe4t$>#>sDRxHwxGDezVMClkG&gy!e!datZTJp0CynFP|K~EX&>c zZuGPDpS42be><Iyz8g~;uD8lCMQ7jX{|uAXzEUlHBJ%Xbn(Lm|g&uw`S<LjYXzfJv z*2=G3f2?%xMTyS;IfY{`pQ^mE#=-NUXQN+j{><fdeI=Jw#8ifRmYVi_?i)(auGk^D z_fBb;mCp8LP3H;QUdgYzzG(OQ1>ENyw*J(4K11W(c~vRDFY3idcZr^#&~x?u8Lz)$ z!RJD5e|9>Ro4ttbxwh_ep%)u@!}oMM22Y!?`BQ7b%a4+A+jedEwCi+4r^BBz<w<Rm z4Fxuzcs6s-vz>cf7kc{{TAwTHkc-q=zDn^>rQ=Bxmrp8d^mxyG*#D7Rd+qa=nNG>8 zr=*Ggj61ztMS0fd&Z9GQ<J_17Y+5JIJ{GWjdF^(sJ8$OlnwcL7cbv0&62IZ1Nt@3r za{I@f*>EgZH9z@fi-MHwnH{edzjE5JLrk%<XG;IBN&X%h9A>9ZetN$1$&;tw6=nW2 zXlPFC77)|s5zcw)Qzbfuuj7kY_saP%0}O?XH|>jh82EMSHS>fu2c#zL`pQ-Cs9a&` zxlin_)2f!6$=wjsi#0v8Sh6DXF5|2<e-@}aw|z@!IsDQ3p1964qX|o5ULEa_Yh23Q z#@_Yn%-tW25$iZEdOR&)nm2RB{%CEpdqSmdS_z-Co}aWm{_t+(feTJd*Pg8@ezCLo z$lQV(`JE9wF(-oa&v*ncG}9`VZt>I)ylk-fdJF3}%`??)(W}xx=V*jQ-C5jvcya71 z-cIAgS}yvbg7Tc&{o)Z}d!2MSChz+^`(!|@+UgvS!1ad~zgc5?QqU^RsZQh6lLdx8 z+s<W%J>A2!u|HIOZUcvfSbEvi{LpU!zl(VT9;AE5S44Jx*eCw%>e;J2#)ltiw45=M zI^Z(bwIf1GWv*wSb+0+ANzx^U$e-;g;WO_V%zkM5yhD9+SbD0xM$jSlaM5D*BZ~e! z61-Lm`^CQc=r+tbTw!^r;Q85n_is}R^I8Sils@yRCQ3;Q%zG#2=y-mL{-0@z4=!39 zNqU%XwETg2R@1ZNIvV-$VbfO5*kye5Y=YIU!dHTMse6o;*vqc%NLhF%PMx(p@iRx< zorgX*q+{c9@|N=I&3X8W!NnwfMgYrKbrt;={q56qLk@p0DmvtJ{tD~mNk{l+xVcs8 z#fk~8&hOA+p0<ijW__s|?-hnSh6RuM)E@kB)cViB`_w;#ky%?r`GWSlKaTk>?xuoC zS7mfAE?KeiR5W9X$8&LC-qXB?^msD1Gy6`PKV3-4=2Y&cD^tE@6%~gGm7EiHG`pH~ zRJ`qyqJ#3Y&1YT-J8odFS#1+Nds<Z*Q^lm49fw!VnN`fNQa<E6(~XSYD~t!uo-F>k zo-d4HxoljD=<Y)-Gqn8{9*vXTo4TMkpxB%L>7niQJ67&{Zt_?(x}vK;$VqtO$&zQg z&aUZ9j%_RNxR^cl-P&mjQ@{F6a6ioGe>J8`V9nh(EgH&vZySO(e+jTnEMYdiE_(f* z=)OeO%zYibFRnUB`K)iRdgpR~^@Pro=E5a+RaUBd_j%oH+$Ee6&lfR0z-TJN&jS%{ zg4tV_Ms)N#%{Y1~bpKZ0=V7ahqRs~`tKj>(Zcq5LMfv8z7u~%@a)oDdPrMqjvZr_5 zo?xRjHFvH`{!6W&)a$p}R>W<(_Og~07i$mApY?jti$yuUQ<}RcX3g2j&UZf4ei8HM z$kX;S-u!2H)%5iAtfP<EPTSA)V_mmj@X2!J6PiEQZCZPH#Z;M{I-ee?ta*G!w>E5^ z$J6Ipuk0G*Ra7ePn<USRoyqe?<Vzr*^&Zz!=Tjf{idEe?wD+gzwA{TH&X&Gv+;a4A z*J~*a<*SZ`=V!gzUuy5vKlQ?{`4i)(uTTA(pf;l;pG#<O-r~<``$J#fd|mo${ayYw zW&cj;?N7e_yX=>~^37-a>mSTt|DPd$-{I|V7S?tBn|zzwf7aJCtitjft@AJXRIR!G zT6U(tLD*b((4JFPpO+KkwsC*ej$5!kX6nuxnwMR_bEMZ?f6;$st$uRp%)2MlEAOn? zml{2*|7zvj@E2|KFKyk{!TDKRf7O?;{W@CDqnXyP3)q;%Jflci#^1HhTjxjK{?NK8 zJ?DV6XVV-mXv-EUri<@j^zrBoNs?Q3il@|Q|HoI$%>9+t*+g#$ecQQu=7+oK=1-RV zY4Ejwwrl&6HAj+8iQfuS&J<t|xhW_!W%8H!U6*+ZMAfdH5Vcx=dqZ*enlE8?MIv8! z?d)^lxx8OrblQYB3-njKIeq3--ywCIQ|GURp4%mo-0JT$g;^zCHTuP#3G${t(^ajQ z3)U>)p3|ZIElkYjiu<g-6+dsVvfayk9FXJG^g3(pq|QviVjFGijARp*?A;|l&da&x zO|qO3Uz(oHKI<>ni+ii;T~9BXyk2B^!M1OOP9EpDL+3pI&kz_md3jq{)Avo8eKKqI zyYOy2mTh}ilI!iGXMq<omU}!||0O^#>49eFGgZgzje@gSWIjz;{^y()!>3&n*4#I` znqag`SGmO8An@PH)+EMPB99U$?~xF0kpH&q$FHWocG2ab?6y&24)>KpzMfE@IOBxo zN7t+EbEkg3ASzW9Y_Wd!)P1Sx21ZVnH(1`E$Xhb=#oD@-l^^}yPU)AIpLM3RRgdBJ ztfwdaw09ImpK@QEY&xe{MNeN-`&~fs!W*sAl%7X!%ZRKpS+l26n@{q`_Q`YVEH)|F z?D?0rX8$U$KevSTirn!Fnsce5Xw#P~%e*%vh$$cGE4*5{O_lA_IWc{q9T%N%8@(2_ zEiQDfboe!ue~!A1wxDHX!)j}eA7Oqr4O}HhOQ%%|?AhdU%&uWkuHrVKMTOJ0S2ILr z&(xm!W<lqZ&ZGR7IW|VbEL;-fyd;+K!L`5%#hV*8)p6hNSfkzYC9=$Kv5Iu(p5UVH zP4}+mO_UM}Q`@c2y(#+6d)DaEW`hv9GHrc@Mk5Y0)|H2Sb(W;AnVPe6>i4PY7cDX$ zsOD{5;BFEvTpep89#<Z5UCnmMV;MbF_QM;kyS!$Eo%L}Od(ZjE@srB_M(1@hH;=G+ z-f(D2J$SUBNA~Uk%{y_4!jnHnh1G{9^Y>nz@kRSh;31p)T36*hOYTt@kAA42ZCz1d z8UJL>ffpbBykylsw<NthAoexWr{R(3?%hY*1(_<mjFNu`6c-iTEpQM!Q~GA(;g6Bt zNhaKKGRo#m!F|?~4|8$Kb?(~O7R7J!i2I|=#wX$T0)Od0Gq*Ml-E*T)Y|_57s?1-e zN}ik0a_hT5PxRUN7qdQ3(>TPne*w36$84bx|87(J)al<ffApTww%zt@%e*|dpWKH8 zPb-DLTYK6lETwoC--qM7Q|>Ig^N4TTt2q@h#gVB~KZoT>-#n{5_lm`|xVtx_o-E1G z6H9N`3^)GJBs}+Fc6s^KeRAcIJPuicNAxOn9+Yqy<~3()SUtPiQlF_6V|veclH}x5 z;_o(X>#n@#+rn}t<wk@{`d-zDZOWRyasmlc-uMYsq-aiidX|Z=R-~IJeD9TW5?2qh zZ9KUAkz&@tE*bXDB$>4xYt%j&{|I^b&}>5Y2I;g5OAhuio^($C?Da75%UNcDL$@7w zb^D}<ukG5Vw`t+6tkC{5nwe=II{bv!_pH|yF5h}Wm-kEjqRzI)T{q53|7Vz5EO^8# zuYQ`-UonB4Wu*}xd5nv>Y7CRPMYdI*nq2r;TVTU%rmdgirw6x2>vy`mJhI*Rl^{#! z(Fxol@j+Y@OwY!=oOI4=VZF76<m6pz*3No;)sgvG!=X<P^jj1c?O$oNLh#B~KgqfU zvSKcAKbjhJ&z=^r3ELT9m$05^Zp<R1vyx9I#8|~lWt6wQs{U%vSLV(3p~X*C9lx|* zKUqBI>YFVFFDG^WoT?ntqF9?3@Ow)7yrM;E-%51kJtN%>9&P#(nYkyGah}c<!RbnC zjIUK29X`==$>-$8DUYw6`p<A{Y0>k}^rwnE{~4_I?o=v1l(24N(&mXz_8k+84?S~i zX>7{cJhu?B*9l^E9kth9#+UxGQ2rA6>(JjY3B!+0mN#zl1+D)czh))-#q{Ug+Bz|7 z9xPMHn4gfhKkv->lkv8Sr8Y);Hfw8aH<jvJts5qBS!qk8|Ek}u^JhIxmHccwS?WEj zysLcu!@t*GS?m9i4cnVocXxi~o4>nlt?T3e-T&A1cYfZvy&~W0UZ1#Gd)@SxHoxoH zqE~x!s*SEzw0~*kI_zS)X*&O;zhQB5UXQOHH=R<V=<eO(yq6(xp~Ihp;b#4_Ce%9h zPuh6dgy)xL_!rg~-z^too_}Ojs1lti?*DmHhpIrGw$sCX-SIEASCl-;GPF5ZbUs?t zO6`kq>AZak8;dNpnd+BD#`L^dTRQ(@Rb1%fRa?Hs7_6UY#;}-;=fm9KMzvp}(o63g z43qHM6IuCeL4DE76B@!&PTQ@gmb_n-!Q$OAQ~N!~(`id<ck`R4?V5MO?3K9T$*Rxs z9<6hK3iP|@JN*`&`*>1!<(d=wJ~GOv)f+c$Q2y2RW!K@(W#4$ir_L#Me$goNwllr* zo^D*%;b)<nucp7`ezQ1UM5FuM*Xy@eZNHdwdU|Lwn~hfSuA2Ax_e2g(3O(8Op(#vb zgSnP>N51R9^@3*>&zX2O@%kaB?PpzHSFhQ(`dj$VR)bovO?}%Ur~e5Ozniv@Nlb5# zYgJ0)Gn4ooK^`xJOSdjq(XVn^Y~ErMkAF|?x${$%!|n*If64Xu$>zf+4!z_${ABAZ zrwymoR^Ok%UBb8UY@kL%{f3ps7Um&MH<gcsX&e32RJS>!kyo*Oso-Z9zgZ$T?<p&V zIWm9as_dTfZeh|B;U4+wSqeLzABtMS#2>VYapM%7=`&6&>*?DY+Hu&7@BD^_<gz0z z29tk&TrK%(;aRy<M#GB?K3^H#@2peX@+!6T*+%#8r}}muT`krUqxocgU00mB+9~HB zMN@arYiYfk#LHW9GR7h|DLCTgA-*o-&kh2$qU~4XFWp@5`rYmlhW)!ubf1?zmbx*u zpP#=g{HwKQY_&nJ&qOZQ^_2m|7uGmGJSW;er&a0Bhjme%;bs?vx?6vV7A@kL)7{mc z_?fkC#b2*K%U!!9*^h*r;bq|1(ZRTlVZHFilCb%wxhr?_G^sD`?vhx!>FtE4vY`#1 zWT$`O=F=>R&?xTcY2fhK)*|A!=q=Zq>fDKOc1yU`t;POCm@=|edfnSOdxBW@3Ud|3 z)%`*b@6P7&+$Z)aW{Np??4s%EMu~B;b&`HZZceV?G7y((k(t=bdhI_0zrn(WS&6e} zH0|AWs>krj8k;Hno?3i!Tsb?{oqDGIxw<axVcn#)oqJB6l(m_rc1~h<=gCZlcZYUd zZ=a>&{zbH7M_;12cy`*MQ};QY%YS?6@twH4hP%4zdZy#SJ<O%-$Hfvv3m;use=+jN zxeBL-3y}}zsXT0NdlvF_%bF|azf56yFQ{7`y7RqwT4&GZU004ZGPm=-EoGQ_X2R?a zGnwB>mW!06En7;Ta&wv|Oq=ObJ@-AofTWU-=g9+#$xlLWieFfvtZ1xt|5-p$^nuwg zg#AxU>i3ggC;Oj4P;>gEJG0!pt$#!@-P`iatMlJv?uT3Fgk+UUEj)in?Atz81sRJx zOA#BHPOaP5ch6dS<hBLZb49brN~SfrmMi#_^mvqyyu2pDJ}K#R<vH~UE}4?cPL>C9 zSI^7vznRzjz%=l>s=%Gi74dU>w~0IyFF3J)U;990zmk~DoV`h>EM{GvG&Or=|IG0C z1>s*cwk|p=Hg)Ok(ss3Tu5M);BL9jlU!o|)w@gg(-x5#Z58FaF{0q3Wrk3H&^z_Lw zPxNh0xVK+el<dt=9DL}VE3;jn-^|krvt^ceIP5&HFLt*0*@NQnt?wGl`7TD!nzr-W zB@t;qFQaTXM|WGN{VS&Geo>A6z2w%-1sprVFVEVXA}iJSe9^-R#aabPPgH$=Y1dr8 z={h(2V8om|KN8u_ZrvoOov|ocxWY4h)7MSAo%@5<R-9kd@c4>O%=I^d^EB>gS$T5V zrG;32dvTTd%HpSaXYR5u+Ie}>yeig-ryExD78S|591g#mYV<Cfck|wBS#?WR^efv= z`?Wq!VELaG5oJEvoW)PpFZ%m6X7Q}~D<c-9&souU@l^U5ua{cS%1b!1&jqqLs#lz9 zJndqop?1+cvgXSC2~j`SpML06de$X+hE|=M=sMG|Id4<{+IXMI*k7s=f71VC)w3|K zTj|<gwa+igegA0F>znr9ChawjHQ~Nkzv!=6-QIQsQ_%S=SF|~|uD_X7HA(#S%~y-` zt)@z4?CHI7e$nrhzm)4;6lV0=H;K>s&k%Qhf9}?E_YZ!LHF<m9|KGj(^?%m<>;5a& z?fUKQ$@;h2*Y(a{vbGi7zDs+pSbXU8GwZzWKU0nOnSRe}j+s>})14{pGF!C;Poydq zTX_UMl*@2D6ZazTZ;1b-)6W7eKeax+n*Q0XSjJmdSKD;z<FZ!_mo1$VE1!8WWFFS8 zezvzr)nV&)&j6FF(Jw@om2%t=UVC9?qU7DUk5kH0la_A0a!TD;{Lq?`Gb=CYaKu%v z=%2OW3#*%qgG`h8rB9ubNhcP6pDJ6T{ch8vlWy`8!{l66`=2!bl_T=<Y}LKc7Jq}y z`=$kdiC@&fem1_VuKP=1&6B$&FV-x`KDIzwxn6^N*@pcAi=QPH$%?G=`xIGuXxq-4 z5&mB_m9HjBY(CREf0oUnyTKe^jh1(>bUzzYDG(NYt7%E9_M08Elr_WD&+r`=s(G{X zQ&j1+XC3`76^rj}aAOx<b5*c1Ape5shcA2)t;cqB{heUtqa8hi>+`eCSAFCf55`^J z*jo6R+kVk+ugrYiXKVfhMa+4Zx0#8d^4VOyiR)}d@Agk#cIwZBo#zsC-gW%ao3%XY zmuT|3)t*Wh)_)1N(%-U9H;>bucjrx6gA^~7ZnvW5zQ7|Ju2^jN&?LI^&gzWvCF&L( zhZ9m`wwY#6ZQQx{%H(H?(a&bFTd(ekO^v!d!ADug`fi|AhUhV2ORv3)RqD-ro$@VL z%&t^!?>@9+<GcH%oPsB&yiU_kE#33sl99oVjioI$Yq@xTuDqIg?S%H0s?{+s85tF3 zTu@eeZmey6^ue0Xk|LH9O9h2zOy#>{v2c^IgT)rkd(D&TBBF8}&$=s4nwU4|%4bO( zUp70XE#WOM=2Qu6y7cyM==l{~oJVXFPjTnmIkRq;km%c=(?8GoD|OveCb0hzm+Obw zP2uajMW&x?T&?eVrpQO7fcHk=r9%Nn+~g%$ZMHZwKGH~f$h$#G+bt~ew%ehXr$UdE zXuO+omF?XZUiZ%&C37abe3{|8dAcey|973WZO;N^^P>8li^Srey6#x;aAT{*<|_+s z|6<+!pP^_%PH}*kV3%L?X+HCUd#}a9uZjyFPfV41bZ<(b=_l6tz9x4r&%M=uW|`Oy z>2z)zy}1`T_?#ZBn6GZhsc`SZMrkASf+;%rGg}otO6z}hY2R|bb&bQL<Xu~I-bx={ zb<Tc;o<OD0hWjg8XXnq<Y`Rl@mh+PN$2{G~&lSyBmmOVstUS43YQ4jp=f!uX@(L+E z3w!ZJ)%|Cxdsp#PiSkPAeg&qE&nheDJBe2?JDVtnT(>rV#?-WCmerjJ8#-FA89NIb zirrnu7gW))Kjb2_HPa%KEvyRnk8y@ef6j>fE5azzdg{;Sqz#jgAByUh6tlh*%s4Y) zN7bBP3-><Fxv+m$Lzv{HYeA1>e`#o(KfJ0p?Zi1}(-Rd{tLJ+JF7Z?9?%N{~{_RuL ze}+J9j-OL=ey&+Mc~4AfVCSa5*&P?nUtHQ>+NR)ddi^M4{IplsZAG>)_8$rM$X~PE ztuT9mp}6%!H}m`%L2PNSzxZVo>dk#NwM{*Gs>RxF75}3Xwacs=BRsZg#|p&!PLrBZ zS01q?W2f({m)V^Wo6AiY8!KCn@GFSr+H+|CXHcDfweFSU<gO2!u50?2=@}m8VA`9r z^cJs(k*!zb(WTehyG>uuI$XClzFNomB3tuojx%+sFSB*#)GyJAxjl(b?TNFK`opsx zdD9iX)jo~(OO#RZvzd_h<yb`E{BDIsr|M*uz7RB*+L?KgPySUzT5bZ9EQ=(!faI-0 zJ;lF9YfE!WxNYC6EM~hW*WDFu{%q0r{|q~epQL)^9Ncv8&fW&jw?Dn+>|D?DvP8GT z;)c3R%ez*~gFC{0vhLpVc!HMaXI||uPPI;V?fSyDJ1#1}viQlKPgC0`ZtS^MeR0o; zlj(+2r<`9jLBH*KY{3&JF{bM=Z&Re+&xkJyv8cJoD<(C0)(*)C*UNRU=UzRwy_KP{ zT7Q#r;LOOg@51Vh)-3kRj#p)Qog`NH@|MRJ)%Z8-YEE^EoqD;b=7`4c^>@uVHcFbP zotqgOp>}pjY(&ke*IlQ}ZtV(>6)Ac6rsU4C*CG8%T>D$jHqGzIJL&W*hBtI0cUGX~ zeD0>1+a2~OnR4rE>poaMUtzAq=CcQVj<34+bkT3o*QLK#&VL*BH7=5&ch8#TPek|c z-gr9Z!smNM`_GAYYsb1xo)I^5^<UB5x|T(6=U?7bDp^*!{=&DqSEn!kXSiW(@BjG8 zp569W{awFtiN9L>YW>L~E`OWd#-BFr`aAuuTUQCY>g$Tjo4*Itoqpr=@VbW6xmRqf zUpYh;#%yJXa<}n19KC+en)OSkL|<gOEbHOIykt`7zY~6ZlfnY4SC~EH2s7TDy)Y*( zD`AK4hMi{YvtvR`&hBt<DmfS8yJhOjDJvB(_%`QlId6KNFK?>6jcd{8;Hz~Dmi<et z@v?e0hjZeSb$a4mCw|`0Q9GA6dC}$1k+oAg&mCB){$fY0O3W0)_$l8a_XVs=IQrYv z=FNt$TXY^(iq5~7Iz8><y>1P=mR75|VRQA`FQ&fM{vJ0ie8W`Z^(r#9PEXVxtbASl zE%90L)QVR!YxiF4p6+T<axQe;+S5jB|AkfrzMj;-Frb9%=G>6dT}REXI2~=S7TrGe zv8^DxE<^aq+J$ld8H74cJn<^rd-jO##f)=d@1l0fU#wd_>2Ck5-3oJh7AGnzb94S@ zFq+w8<JxRua&JRWWyYNRS9AGPT-#0bg=Z(a{AZY<edg@!MQ6@6iO7FixLils^<UR9 z%QfGZm-e1zs%837Z?t)1-hHmq(OxrW-#IkXV!zhuSNlWjL-JoS&2hcckk$MmeBHu? zV*bh_-}yXdu<nv@`E%+NgOtwp=tq%1y|!E5ta~Up{m25dTl=hSeroW2cy=}U*~`f8 z+3ZUE=fb|}I7BY=ynbjoU(~5Ri9ebw+}=$KlR74@%kJ>BuB`PUcfp)4p)?zY)#o(N zwC-+Svo-yTn_Hw>(xX4CZWX)SKbaEyB+zC{tJFUiKK6*T84hQjYRv0mC=V))tU4u- z{)lC9hv`|%jlb0Mw)3~Jigiw44pYi=%VId1GeK|f)@R)<F7G{ebs8@b`JJeH?v=fs zmwfB9oT&BZP8)3OzI9wk{IfuN@QlE#f`X@BoL?fE_+(A;8hu-jV7qLepKF|rLCfmm z5{nv^9&B>w_PV<z<*e6?PeyAVSU&QT*zS2^D~J4*kp5>bOzT{CDocHiaC@g%8MjI$ z^@!Kp)T+A+i=|klvbg%HrtYx`+m)$gI8QWromWj<*4xio4{SFciCLq&LNVS}bk5C+ z-O{tt-fqd{)|YK&dTN!mp>eMn*Be=%wM7omZO;O7=H6MbtZO>&!=}z$b3Y4)smArH z2KN=jKOMNgyEDFm>pz1lL+8Z<v3Z|&gx^!R=^pzigz4p#7wZq(OjFw}T$+_B{G!KP zpikT~b?*Y!=qp0oceEes`^L9oV&M60OI;pU&#iP_ZuY||duw)iw3dw2HH-UvU9P{T zCV1}?Sa*l->QWi^@>$zrI(!RR?w!-hxqZfD&GzM%ZokqwH<VmiG55wj<ym*lk`t1+ z(l4+wvHs|cej@#ZX~xHlCrS4O3nOB5s#f-w3q00xG+tn}D94i1ouTdFq*P{~AC(K6 zl-WLN)CCqW?US3~HF3(b^;2R!nM_nxZd5i9U}v9n<lr;Llbmx5i}sgFS$CZ>lu_2; zo|(8syC*2`>iXyv>K)H6w0D2@no#grTVGj2(AF{X=zCTl|EEs3ZkVi8yT!a}^29Ty z(HEK)?ATV!o0q{k!6Ii_Uh&k+5e^%-&7Lm$eZrb`Yh{@Zv2`o%G0}d@@o)9)Ey}9j zRHNsfp86o(tTl7zo|cDw5k;*m1y4lZK5N;oeAdITT1bG|@@%E-3(hlp+zOiA-dhGr zR(J&X34U1PT*kt!bUARc^`@guImQZl8qO2M6?9*3Gt#>0d)2{)jk&+m;M_LGbek(l zM=u`qD>CAWO`X|spGA{#PJttb?@v!BccJE2P7S&%7^7na{5}eQ^|jt({m^lm#K{v5 z0>!*B`@~MY>~_ufh)SJUv~{OwzQS?+9a;<}$0aqaZC^WWd_C*esm~WQ1Y3$Z%%7${ zJ+jE=PFVeAM)%mzomp!;<T4JN$+ws~|4ZNMxjQv?JmZM7><!rFb|{2lwproz5P!u* z&#gomewm)CTeAMD@59yQ*Th2)FMTSw-i5JrpMdDxui@K6)C1K-Uarx6(&PEOMdS6M z#gVbqDhuoaZ)R7ntvNM+(u?JOLHn+|-8WS?ot9PiTIcgF`&~z`t5(n0diAHCbjI@M z+V84)K1c38CHlscG3lkSR@Ke;d9l6rp|3X2er~C!6LV<umJhA}8LldsTno3>o||*S z>0Wu@r?8(B_I=uSVXw%Ve_d6t_Skj(+3NPQd&T@kQ>AqNiW_tNXHeMuWlHk2rA~jR zug`b=9=EF6WM0?b`HOz*`~SQD_dml^_xqdQ-kd-4&F)Q4_LqKpyXo)syOsLlse7$W zzXX3|$^Q~xT3r&Eda{`9^+kW*Cole8RlMU~;pTPtg!24nTq0}QL#IvK^_%(Tywx^8 zr~cM47F@G(LY31I=L+SD)xShvtSkEAb^fILx$t*ltL?2L-T!HYh0lGgb?e2ZPrHm) z7e~32-Fx-=n_Fe1nbO-G8bY&Ai+wWus`V#g6RS^UY*ktPs+XrXvF_3jwYOfsA#Qt^ zoyVE`HjX~`^tBGVT(aL4v+q@U>}w6VZhLD@@yti8(NA`L4#>Tl`ZcCqH8n9;^ve~^ zXLqZW%Z?kYv)>r^pW)J`PrK&LQp`@;;bPMBwshKRNu_6JgTHaVS<o+fOU$K8|MupG z&w0;Qz1Z|?rOeO8Oe%NOE7#bwb1BcuZvWjGU>o{oXOZUdr3>9{o-(W4x)yFOGd+~a z=0x<3Duyd5zZe#`3+z5{GG=<z(Ob*Sit`*a&s0okOkCV`Ixg#7_C5{&dSymq=92qO z>x|FF#0CFZFlm`o?(D9IdMx)&G5niZ)Tun{{JB%cjX4@(jdK`p{$>@pd}8&pIc_QI z_lRDO);*n7xaPx8*6JBor9X1BYYQ8n^^Q%O`g`SHF+W+a^RB#?jkpfE#p!4%tIl7e zV<&UaN$JqLXZs#HvY!)oo)JB5@4>6_SEVf%B`_^Kep%?@yjARnwKyBt0@i+ZJA33} zq84vY%DS2ZT+dJL2n#Binjhi!>7j4+mJ_CVGo>OcXKUO&Z|V2!xORQ%)Gv}wf10~a z^SysssKvZ>_pGJsSkHajqxdu_SmE^60|7_b?uiz^+HC$|#lfWFtUnuPy|^zB^m|A5 z7R^UJPlalk(yxfVPFhyFInm*+;WXA?4eJk|3;BFvZt!B`vne@x57v}#xKk7+r4TzO za$%z4zEv!hN}dPz&g3dgy0CjzHt(9Ho4iZ3Ic2Pty-%Or;NodB&&zo4vjy)q-U)ZH zf3$^H<VV}`N%OX;dfIK;A1c9orf|pI6pNAoj{TwS!Z~`1hD%I0RD`a*6#CE6Upnbb zrr*RG>xKN*tSt8`*XWA(hQD~)&EnCiY?76Dpolkq(L*I8#@dO^^&E=9l{|)j&S)I= zmavd34W7bc#d~|%`L%wTZyTP=u|JArdN1q|WB97oDsQq`PRi!?r2ADznB(OP!qm*( zNgolpc6Yw8*XBjvqh_9&%Hr=Cr@{8aI85)Z)Ouf$iAy_t+GfvvAkg-x;L#Mte>ug) z;g=6J&X#Ei->>8O=ic2%!Q~2l+Rv7r+14PM&6{e&yzBJguH;p02_3aoSyDb3m)e+F zZ*E;>^(;W|xL`#X-??i6&x2EnB3zEVn5W$G)N*m>tUPv&yMk+U){1G*UCUZ*Y}9Et zLHx79t!E<VC$_#k8Dqk+d79<y6sA0L>5pvPD<y^2zSdH`tDs~n!}aOWk<iCiRvdlw zWL;gVyRKBHyhfPs?!4SRn?6s8lHoCnEjfSDr*CcdLgq_h?p$L3o?7^ey<`<U+`4<) z**M$KmOk&2`V0-nPg8Y|cK>ntp50xdV>Op+OQAy+^C8~@8gg>p)?a-~KF$;IHuMj1 z=8zXqbU*3;chBT`(tWH4HRL-yxNR*G^JVinp3mvzx;QUo#easKRm#5=yi0#B*6p-= zW9ssA8GE7y-)pZe&!=_q$TddC9Qv|3{Kc*pUj00Aug)p2W_o(%oA692#f-S5CoApw zIkdkAvAwzBm&Lx2(PKL2;XMoYi5*aMp8LY-_tae<eDZemOq2X@XX?DfL_sOp@LQtG zKYMMzTJ>y^)Bfclb`wMd?yQO0v_VWc^yQ>&vkpx@ZMt{iN1gp!G#T<aj(BzaoT?|u zv2p5!XNrk--K9%v0z$Wh2Yw4Y$#~{&?bEzx(M5}m#kKw|X>D_<3ECW-uNn66;_A=h z`Ztp<7XR?k{-yEr)Q_Djjh~486-nFrI#vFu_R6!nbWg}RX1Tn#&~WmfI;C#)`9s^= zVy3U_`1E9dXkC_7Wc<7p^QXMp^5>BFw@>k}7Oz=p)tVRMZE7gIFzjSRZRm16FZYzM z7gKXpd6v&~yO~}(eNo4jn~wh(wno3&@?!CmeW!K0TIcYq{?`1t;%8ZD<lpd{_3yO) z&8W_^4Zm4C{r$~f3MLob)2FAu{?G6xt={kQ+E4MDo}YEU$~ymI#QaJB8R8%OXNWt! z^389)`#w`{uhBPt7`Ey6)a<X}zx5_AnpB(0Ysf8HKgqI6NjGt~l>U~rFZa#T`IpGc za5g4;0vAJBxPoTC^-AOJLn60zKI(7U5o;RQmL6KOOY>yP<GRzcUsbMip7d&0&yn>P zrGMn6+&^<g@p8>><9>tnp8~lKKMQ|hT@?5wZqAjs6OEq(cI2<U`d4bxuZ7o@c1+#* zY~SDc{F5g7pM7{*_3)ENYs@QkK3Ol&_Z8?a4V&{h>+iHIzu-xY(+`EN-J57TZ`PVW z57uSnN|mLqUAM_HGJRTE@Xyfid^4QpmI~~UHCStxXuVA>_oU;OhMnhD-T4~Ka_bzI z(II`V54Cwa<Eungr}%KEZTeN_DK?w+Q10R>$EsTM7qL&+z>z1jzEdDyYW>AxIRTNz znN1?wbZ1U|U3RGAhhNQ=zalGGkKQ^FTe&uQ(T?syuScI$()yNsa$$U4`m9Jp_T7X9 ztD7v@roPxSE$;n9?XoI%(VuQhQ<)Ei^I4R>S&;Q!%zMg{mZMv_mj^6(dXaHj!*cKF zlgujdheFtozPqkmnDa2|&nezL8L6D|svRFvJR)CaYyR1(z}hA%ysTis%ag*N6!eYO zIQuJYkL@d7A+jy@>_R5D$3;TT8)Ke4T6+A%=ir}tq5ryMk|%P`*uK4@IrMSW?H8M3 z^pChs*R)<1@N^|B<EKgc3)Y5CGZ)zWS*y-9u|P6SYPojgrsZ$Mig&LL?Mtq4IuhSL zS=r==*+<WSi_0FL>#pfrm&JSVnN!)fH}4*C$<CjpdpSbGBz{8RV&8_aGtY$W43ByJ zIU~ucSp3zsH)F%3aPFzwciy#npTc|XvqOjO;XNlEwq)zF+WW+W2h=Jotj<m;(!D%u z)3)UyQ7(=bCDh#3aq*n>W9G=u?-zDzc(LsxSIN;FRsj#;L!mn&ZtpY@kEjdX-@cH; zdt<b!oyKmbdz%icbGHk|-)fw1$@$<%v{|rl^{%2I!zACk?_+JQIJ~;r{Utn4c;VEm zsr9Fp+un7$KWEK@jhx0aG!m<CnPwIpHD<dcXuRjmfnau<3o7lNJGj5Znz}oRaojV{ z5n%h5{ci2<>MgGtB_z_j1PbnL`#fvo@hPl3e*f^~=6f6~rs`bl?Pc`#E%z0fyK~go z<i$R^xCpM)y0c(vdu+g*FmuK17I}^!sb}-K=gilAlrE+!EYlhJa!;c4oVBUNpE#Ip z9sE@OOlg;Wm~cHdpZBeYMla(%t>_0vQcRNUGKVtx8f<(Wm%HaZ47m7&d-}|KhXm7) z2Ki3lecZ82VfN#*QU4jP1vcGz%RTd>rR(B3tNC`XKJ%li<O%C(C+Qn9@`@XlSl(MG zDVY+rBsueNkyG~a*4vMY!zS-lXxgyzN8z2F2RZIPXN-R4Rbb&Jv$TFucY0EL@T{J5 z3q<n+7Fe!rE)Y{HES|Q0)5L83(<`(Bw#auLt+DCUK9R9RJlZvR-nxsiKOQ`DQEPhE zY<=X(veb(?8ax*9(w9Oy=a^5OyJz~I6)a}g!ya@`Rklry*W4+kH!G5@)4;q?$u8Al zvwBs?mY+^9&%T)0{b_;u`}wN#C$!G}Gj&aKx@zeqW6t$g*S4)F+sUx$@JZ_x8*Q%4 z3!kul_f?LgR@$0se>wvAPpnZ_JjB$`C*i!TD?#v4kmakjr(UsNW#lh7x<8v$`HJR? zEuW?`y!#p`{or%-#d$CIF6Q&JwQqVb(SSp9!K;K*+g0)f=U$i}y7X;H`JS+hpigHk z)-Xixnj2PpX2PcKd!hfj>crlymMsnYxn4}SQfKp-&u`|>l5nY<n(=eRl~hGpzQ$Ac z@2n}=8NT1bi9tyBZcF+!kMm1bO#G|GaP7mIwd)erU-T)NBy#?u`&Ir$r>{C~;j8eP z`Qf8w;zM1_Lp|YYpTa)(_SH=Lc;-gm&0Zs}Z;p!&2RU^fK35t%b2eX>TCB|UJ1ZpD z@A|q=^*c9DrDWhmuemlZqN>+smvY^kw0w#F#^8r+s@CUD8|Ga3vq1mymiykZZn8#i z&ee+Bo4#BSdEQjk`0bZXrz2QeGnAv(+e}@1WldigYtfgtpU%CuU-V_u?-l#kr}kfD zE&ZkaEq?Q=`HQxv`*qbfe|f|G{XfIocYEh=Px;Tl@~wW+qpxu@|1*fM`fHuO=<jah z`0BM5Ib8R?DEj;ri(3DmA=JWsX7I(@i!Ae6`K{N7cGh)ki>?0}+;(x%e%q^4ub!V= z&DY_1v1-Mym6loa{C28wJDfOm{>A3Lu*fRS=VvRQacxvzpuOtEd5bWvI}@cZpA-2r zac-q(YVNg%oBB5f+O4Ww@nngH@wCROPjP#$FFNyQg7yiGm$ROwU5_ZeFtt92Yi4Bn zjH%zkpKAyCyZ&c5y|~^Wbc?ysa^tfGJDM%ornbj-`t3RxZWZaKRCDOx(kJ<;GGE`E ztJmZ_TH5EO67y-7Me#hr^(lYFdDdTLTocc=Q*KpsyY)@Kg5sDx(>9-3{rREhJ2u^2 z_cDYocl16fc@-d0v()411g&cICn8_>soc2oBSg%0|IFxVosGA)U5ng(N^JgRZNAM5 zBHNy(E2#c__mF#8x4!DS$VrO@Pn}jYUKq1$rFPl7Yl7nE9`sDNSDm-LX?=(1-Kqap zAGJ9VQLdxM5mhC+&X()+)x^C061%=!(Yd-WD@N^`!a}*;7KgLG{~1<Hy_EAv_`Ds1 z)10?;-DTIK7gbH#aBjQSDb6Er<E|>teVV%Ljq*A3b?a(Hj(p~x?y#ny&t*-V@C5F+ zTHG?<ekz)8UGQX%v(J3VA|aW}O?N|2a9?_u7b;L`T3pxa+5MV}cm0G2$DKJ|_k;@a zcJxfy_gw5H_p+tw>D`@ymtF2wdd(9&xzu~3l?f|P$z1*iN1igzb6EDFdF_=06DLj; zT$iQeH!ZS?RbC^;EAZ3Fqyodsp$v24AF=Oxv75KC>B-Bz>$yC`=1mIWj+M-_&TH3E zJF;D2-KE^!d_KjkcXXn{MRuD@L}t#)<~VJs&9R~9N_qd?+;gnV&zyL77u?zZ$lv;S zS=6OqLpS}_bhDE#l~aSo;+Q&n!p{ob?>;hjO<HQQ)knz~vu@EDf>W<F)El-==L-mZ z%ps{zm2aTUbN6gwcIx?@N2+mZ2_9$NP50_a?c{Z|d%vpP^li;kDIMQE5;D`~m}~L5 zD|1<<UUWSlQoiAl_=F8F&)RdF9}5aR*z~93=R)4k<tC5fkItQzw{t^r=*~q&&z4x( zX+K*h-7xoJ*K5(`t2%N&P19lTTwZxNG%H=etT5=!SBAAu=g+!&=f;I)wp@wIPeS@v zF-aNr9G-f*aJRXbc2WU*TWEL7?6#?f2QxH$3>Z_sM-@aaUE$-mgyno!jfdbTtq&J} zI%UlL6J8j7Uvz;I<Gl+l7v5E$OEP$z^Dy6vZB>*Z$JM%(=Y(s;{+fUIXtI)Ft<6Gn zLrKT5>!!9gUdKE>Ozk{-?L(NxrwOf3pX3`)lGrHrDI?DCSy=jtschz(BI-@M+Rcyd zT4wxYlfmN&9NF#G>t6**wtg=v%*Zj_o^|Zm<C46lMfu$=t2xT1IaT~gwVGX+zgw#{ zJ+F~Fsd2ZWUyu=F%<Tz&IuaYX+go!FpIB&7v`uvSn$@!JRa@KQB@Z3@`_laI&GKp6 zKeZ&cAMmQEmP=OlJ*~k$Gf-}|ZYjqjt6Qa!{zq%3NcXv>SvgIwxwB7knP`J-zS7I( z)<-8C@jW}M=kwig!Bc`8&Ub~!nD08Rmp$jhU5Eb+N}cVpiiKM&<ixty*fUJHa^Us9 zfOSPz(|Z0K+VNRi$LO8LS-EBAZmZZ27cDZkaV?nmV*f(nU&^X`%qDIAJVpP}DZyu4 zPpn$gUKg!B>!)_+?$YQ-dsa@C6X2TA_wBoa$oxs?te7_O&gBgJ&bfS^S4h&_gjR;c ziDx;#v@+RTVYs(+DaYAoPZmF2^{ge%B=AGG{s#B6a#aEglP37jn)#EZuG>?xtadWP z)4hr%Q%v@?+AfGI_YD8ZYMbZu`lH4#&7Ql3TK7vhekv*mu9<51c$dwh3vI%GW3KR3 zYB1G?oXFwcdNk?fl$Dn!W$gFXzw0(Pbc#i7xc#ZUMJ>|nRZmx!F3^ao()V5w(7VrD zaq4*$_p7yyT8A!94(8aWry%g_)I7HnjJbDCN!@#GecY6_#>_dcBkDhcfcDhSTK^eD zukP?(a(`3RlRcZc{xhh~U!s41Q_3Tore}+4l{Zhl9{Rg1MJ>l6{D@^oWY3Ncx6ip3 zxs<PgW@dKuhhCo<ye6*NR=C>k)t%kETQ{<sCfa(2eT`ojwm<I9n!TlOE-!kuKlR0a zzuRTS@%#TX<lDzT`rGw)cYXeY-}<}cL#k4?d=32i_DTQ0*quM`Z@7Q-q)%;iy64s_ zU)%)dg$K$lbd)QP&xl!@!1N<GC82WVFOB|ywRtHEs_tli(0%W%B<}i4|L^Lzij}jy z8o!2ZU9T+`=k@GBgwE7We~y;+ip>k!_ga5ue5t*{;y3HR1XwJJ@rbDG=5YGG*jndL z(|?Ae@jg?UYjqaz7IWJ>g||I>ecpsYD)uOc-dxX<9^2k?{q>B9(XmK$+BJU>SJIs; z2mgw%+I}{ok~41SDYlv;8vUWnFGPetX}GVPDknH;cjvQ3b=~i8K9tLFoP0*9GBx#= zQq_~il4e&F*Q~I2+UjI_m4SDopXaqRH+^1CD(I7W8n0BUt(`8l(s1vjbGI4-6&~)L z6ISOW!pa<&dirciy_U_QgYg#@-H<-Fb@~P28`s)?<b}N2^l9q!uck3ir>yMRsu-2h z`|fl_NN;rZvh)+We^0+Rb=YoNm-X)GX)f9DS4?*+AMR#|pL~+>m*%vIAM`YzaRl&B z=sP!8{7pdP#D}WZ)%*t>;!7_TDOTN-*l*6T$d)srfqAC738(bkr!6nK=P0aKT+~?S zdiqPGvPDFUv9hU(wMdcclbKI0H7{bc@$T*a5-h!Irqf4u)1<^jZ>R3=m(xDsr+0Vj z@(}fQzJ#>yO;4mcPrO>DyGCPfZY#&ic{9Qk-1J-1V%|DOb>4ejYUR6YHFM2%?MP0^ zG}U;YJ4L}w|FW;0;QqDvm#BruGsnnZI&*d~mV6FZdUnub&vQo3CZ%Jcv!~@|sYOVO zWlEp=rtqpy?V#16ZQe`ry$;oHS?wMfU=wr5@bDuR<=yMvPS;m`_d~{fBdd;awb%X? zoClmY@+^&Sv$*`cO{ass@_5OigeR3N4l|iAS;T%SVA|njKf2}wcPm_4RC9&>!SvY0 zp-LZ&k1Xi1d9ZG;)6q3|7pwl+@w7+rd}#hmUuC{<quCv8j~>1|^ykJJ(Ua#7g~?Qu zukqUReAku8<DJt=mKoicardFs+Pf7`)2cQZ2X-*d6A+1F-kcG=WZ`+yHx1?1PStXE z&d!l(j;+3VP~O^U=NFeGu}7I4@1C!`n84EgWRd5Q4HNDEO32R9;_T}xOrNR!Xn(7t zK;@zSRfjuvey(v$E8nE+cznKTZZ4x+%;Cwmtv41uo&M8{!Ss;NL5KQjueoRaHm^9f z&mr$n<F_z*Q~Oo>tsCY@q|TG^wyxB@zlzOz+qR=icP_3MD$G!;adn=3cm}tPP1BFQ z*46(RG+cU~NvOK*Q?%5+^-m>v?$Qj))<<8QtL`jhO1Ea5RjwR-ce=If&z%dCeD1xf ze6i$1mXmqEE5lEX{|qMU|AfW67K&|fnQ>S?<RrWHi~!ABYTlCz8t!-VtuBAH;Ya7B zpC^<IuAF<aLb(0&niSdFoEj7BL#15riS|!Wt-2?2;I8Fj$>#l9ZadjmZ?lXQ%6Xfh zDPXxq;g^W_zpUp~IS)kF=bZX-S1acIt3%5<nH{{&iOH<jdeSJSW4TD>;g5v{=btHN zKiQwOG)*Z*m+xD~(T&A1zjXGkDAB6AqbR3paNk@clEq^7gwW5Y0(grb^B&?ak@4N_ z)u4Qp!+PO$f$mvul08NnWcFx(dLgs;bEId4$B9?sVzRfb0=sXWoBE$&(kW)IJ*f*F zCQi;_j1;q$eY5{V1_#f=>k{FscK&3|eb9M&0{3?<hJP;umOl~Z_Si1%x9aAr^)ES& zTR*yJaqh*ly3=pgFWjPWwQ{!ZV+r3`qO-Y-S{3{QmX+)g;W_dp`r6(nD;_`Fk-X@& zc-EY?sfMo}-|#>6>gJ2hZIcT&msPd$oq3Yz=cc$YUMFVi@~al&HUc?}o917Pf3f!5 zjTY@0<sHnk{@vEsIdo6rr(^u>Lpw{e{+2p?IrGiu=S|NI7j#1(KiiPlesp$c-GW7n zczVvHEs4A@vfl5slCo|1gfOunF~3h)=TB%0RSDjl(YLVfVYJ4s$rH-5_0^^p*>vsO z8@}rA<%V-Q)yfl`&l|0sb5r<R_?MV>J2{^$dA&wid~4IZnfkWju>$c)PPVSgH?h@v zoj&P)GW{i2>60xpFGl#!YX1C&`DyC+_)UMU6L|AH-)z5G^7Qtv)ttM&Zis)e-&M9+ z`IW%-t5vJ@_vgR8W#90h;Wu~U`b5T<pEsR;d&Z|O`n_H^+~aI))swZS9!#Az_3|Xi z%Ju5nRhAAv7oT?I*7rO8pP@|DUe(^!-qf-r@RK|Ll5bUUr@utL&eq@AT0iUe@+7Hu z2Li=re+h6u>+zpqYh_w$%)JsWhuJZ$`H|7r=iKVQ;B;BrsejhVxJ%`!RgpfmVeuh% z>hG2suiT>Xe9?~2%$whGvD}S#lDE#T>pz2O>a50(QKyvSvUsYdO1)APv~yvdv+`*B zMDzHH_}|m&ChU)JD|)g-e}h|^+6|{O^F!GGp4MMw_Or$P+1c8s?uRE%$v0Zk@j13$ zi(#_;RO#CAyVjMv7d;9WU%Z=bPLIZxSE-J66Ba*N&$**>QZd)jo6q(g(NUAlwv4Ep zBobF5b0vGxoIRJ<n{Ra7ymrl^7xT7-9W^XIo1PoGTYX+x<a~=akJ4v-wm!{Mxl^pS z=+%aUcg3`4KD)a9qzoIw!znC}u1wV{J@x0vovDQuVQxPySlAD*&^S@}?`ivljhufi zW}i$KGE&UvZe~2Nf}Qs(H_z;BuJ91)LzQcNcrG4Z(VoOLzw3jS`sWCZm!)D)!ip}Q zSrc5(aWTfboqMBlX1zgp#2yxz@;1rBuzAyhAF#R~J*drlqI-wh7N$3LvR+KG^<3&} zo2NWDV49)LSCnF*I6vrWb&bkuPASen%ehQf4@WqB77LVoURvi}E@G~FSZw3e>gdi@ zl}|i;{ycY_bh`XdgWxWGt%CQyXVPX$uhYHDr=?~&X_<?kivnBT2`BZIjo%q#tQYb+ z-WQtqBFt<%yE^OjN$2hI0)^aMT7K#sZ!=_DXn&^n(fSv2e};CP`hDu{wPPZwxq*D$ z+sip(o*#L-tN5&o{aK$cOad(D6*<m56Tc;BpK|>`_F~QOeA!d~Zm+R2HWIm~Y!OsG z({eeF^tlIz0w#Aaj6co0uV6{4rPH>Whi>0g_sE>S=QMHei%r2+Y5r+~(?fSfoKgBD zZoYeBj9&SqyPNkUEHq}e)?h!nQ)Zg{6wQmfblgRML<uiCrso-7uJd8KJXdDMXM^=G zwF)LZpZk30HO;d;N7T!ftdM+}cW##xbJ??}`Ne0u|1+!#$~`61ywPG>2WuX0sTP~= zn~kC!TlXcNoHbp#!|7(0$j%3!4$b|~kfV4?Z}ZnyvwlJCvI}`HBi_Zy@)c@aW?lE< z!O|;7-!OA!E0^xPuaawaE+j75bk{w>eX0H-48l*gvwxekpr`l2!ZRZ3B3XjhColB* zX);BnifP09hiZqy-ZL9zYD~B1Kgbw)SlmD?@N81ANb;#?;a{bv&MrP{BdAuMc#3(S zBjdxvN3|p7DTx^wl^C32=6Llebba;8OGVK)djD`e)7{;nX;CG%RU%KlXo~EFa^Bzi z8P<*QPnO-x3VSGQ7A#S(wd3E1g*(r=7Dq06@oDOw^3p?V^`3-0+&8KFZTS<Epu87N zQQ=3Qgeet0bTL2nzEZ<o=T_iR|C2`+*8C}))N|YNkkn1Tbl!yyh9?Wn7b-?A+5b>V z$EoTu*L|ZUuXMSdZ2#povHSPcpEp+f)VQQAdw2MuD({USQGx#%j>g_9n6UO`3WNCh zvq@KGufMwb&5~Eab(%XBZH_&@oA78uUx2EBjk3YwFL8pr9o#;fT13w9da3t2=1jak zcj{fajM$rZk0$-p{&lE0syy!Hp)YzD&#o}njySYuzR|`MOYNE~{B15Q9Q)pV)Y7-( z@UuF4IhQ$D%lLEfbd9*3i}#8(YyZw$`#Cb^h1c#|xdsCJ<lIDLmYZJ7@iPB1wd3=X z<xl+6{GKvKPwF`mqht8ud938Wr@MOpD)Km_E_AWT+~p*c|FAdk<;jv~qJP+4F)CDe z1T@Zmc$O*V<$QtgQ~BD93`)<m{#I1!eX8(GpE2U+a@op5_qM%rP@6YNEcndIL+Wnr zY3tcsR{UD2rn_6wr#9r6^Q@yQ%@VYyuJd|P>|)N6_Izid$CPBBg|Qb;cy0KizTNbf z@)xd~U*F99()#@Ltn(N1UYKuG-2K;J{pm^jwMBe;R#)_1t5~0OVaYH3U9T3^b^Vfz ze765n@TCVUuk<Xe(&o2bv+32Q4|i5vc3bxF`5tlclhNI--(yX<&$<=mg}q;>5&x^J zRbhs@L;tjoaml937v(=S-(<5>RDDBjh<MeCxNX696PCZ(`Ss1#pZea1p6z#ideh!D z_5AX*_`~-8kL3Su{`;Sy`&-n{Z~x{_do%lIS>3C9tLpB~tPQD|x;6URi?yfy&hMSN zZ}q#){ieUZMSWhfVq5j4uz8M^+S#-EXZ24y|0`$xYt^VUy}gy|FY>SYu~>V}b+O13 zF8@;PryDH$eqmw9?Kv7V_nwfQ{<Zbh{#1*aFrme-oK9cRvp1Wt>FA3kk;em;{1sdD zy;b?T(8j(c`ppZ1?Oa&Z+%>Oy9SYs&{U&V1*O*<b)6c93Jb81%zE8`agw-1?%3s1N zxi){LAMcgB>95+te@t;H3cMc5P#gN`g46j+;jSlsba!nlTs40en@(}j#FH@(<vb=% zTWEIOa&_v@=@Xu9x~%$3<8_g+<J><>>t6pAdA+KmJMQNCEo=Vy#qXNyaCZu)<ediN zaCgOLAzL2v=Y2Zbbva?*Lznu1sRh@pXK<WQ`^M-OeN*G^e(C9}PVrQP|I)l3VsmBo z)OuIt3#Lv=ce%E&Su4;J>zKq~uq%4DpJxmA(RW*H4$oP5Jf<<=O=ODLbDM{C6Z$GY zI{nstT|6~UmLsC`ddVq^=)YmX3oq84*7@A9sY8tW&6*!y92zt3hhH}>p6ALv=i2Ky z$&VIFmfCEo32!b=j`HV@Sn#NyhgF>~N~x~%2*3L3&nFM&S$!^N@hmfXb3#(_yJ}%v zd6)U!D^pH9$~b$X_w8YR+3;mvCWounJSh#&X`ZPXUG}ZT_tObci7gxao{P1n{QQx6 zWaY`riCpQw!|HE^SV=sxaP)m~#dX26M7Dc}ZaB@!6RJqeHqKEkG}$p{R+#+RL+ekS z{_J(?Ul#kCXB%CYoeRIbO2O(D(}wfYL|J|^Y&i0jqj{!SK&6gN>jX8Mh4R)+n|In6 ztg-Xv)UREeQgF4pUwvy-{TAiq`Kr$>rrU)F<bGtiZ1A9{HGMi$jz{#_ifzsz-^|O! z5?0Lq#C=-BZ^OO3RF~TmT`wk1ntyuI5!;yV`Ff4J!it|XH?Lp2$z8Z7gXyqb%IZSj z&Vc8Z{oNb3MtweO(`Yy&?2DF6^x<9CSos9?Hv~LNne$YLy}d)b(Df+~GqZQz_2QWD zCrlGRW^HIbJnJ5_;E5f}4)<;?4v~#5XHh(UVrsGSg7AkID^ptktXaaAn!QYTSHXLR zeV=C8n>h6-E=X~n&h{~P7S{&3nu$jqoWA9i9V<UYVEevS0ohzP(T7b7E+xDYOPJ@N z*s|lw;hEfDT?8)XJk9&Gcj{inn3ReMCFhhU?P@&rO3HmESK8+zTo$DQvz+Igf61{U zd-9aePu9Nb@t?Co{^`_5Hn+LsBr{vD>FxX%w9$Fj)>Rw~XBW-uR{R_{OY@FWsdyZN zx{BM3b&AYixvKI+#Wpx_->%#<*==(6iiqZzg6A!(<3Anxt$iq={M$OE%jZPb)^s&+ zzH-WrRj)egcz)L2{|q_{cQ?)xo9i`6t%zfL`vNV;uWrUyM3nwK^s{_+N%VG3n9AaM zO{f11Dv#&B6AQf3b9KXsD~i(hzv@o9TPC-PagN)^Rr{@Xi11VibskyFk*~y;-5#y; z$*gIe;bU`yjxvQe(QBtTzda{1=h;Jln;ZMp8iVuviq{18@}Amw{ZYieaDUd@>+A#z z=J+2@n9VEEw`p%K*D<TM)#hc!4$^kzw-#`OXV2X`o6n>1u(?Kia2b#FjF4FgU-{gk zqRw+W?K74X&seywan08Fs-I4GnLjm&-(K}^@}kWfCWQ&roZ#j-FS~02>xP@B(z`vQ zZzOw|#}|Z)FUYdwZ<w&A=BdT4pG;y|MFpoP-CcQ)`N$!Q@LOK5t#tb1x=bat4+!oq zDPML?=9-56G^U2)Gl%Y#{+Sj&=Rl16g4XYWALo2^QYhMV=3~Ccn~b)9Nl&LP`xdiv z&EwgLDd$>5U#(MkxP#H*sm8Izs)B#bBkMg|YSxJe+`sB?;xn(&O~Oi1$>vJt0!8;5 z>v#Pwi~N_!#JgNc^v>GCtDa92PZrF6_H<2g^tY`Gt5QP0TCV(XoNMNF)d@XOE9G5M zlJ>c*JmGY2zd<LH`KFBc-&1D1P<8mZI&1A&p*)6r@qYsYY{O^n+HS!->-;J42^;+; zPgheY-q-y%TufhCo8!u}eJ4t_>>4yWpX_`6mFwSxEiaZoNi3QkqkizijfGQ+rq+4; zEvq(+dgCA;>33K7qsFrZwIQXh-0?yCccyH0;Hz8p=X&JDxH}J-SQKTx#J}3_cdq98 zixv@OyX>#rU*5dDId9hd2VXb5{c?GmV%3ZNq4Uq^-_ZCcumA7P?bkO;|Lxr~ebMiR zWv@=#JJ~m>#=32s8CB`^_qyWZ=}UL5{<P_AN?o@7qHR?c+Q(-^R<X)_(&($wX)AB) zuw40i)y_Qm)+qf6d;xBi0-bmNO$wdZ@oKNm`jf?<g3PNlo7J`TqZxLt`I{I~b!z9` zPjS<<FIS#o3tSMNto_|DW7_%7bi<Y0(_OC?J==8IVENJ$5d|~4Cv{x+>%Mehk-nM1 zzEj^{h}E@kezR#$Y{`od6aJv}b^#lnpIjH8uzY#y&y1dJ$}LSxh3C&Yy`t~DacXJO zy$vCM#n+w;|1#C)mwxor^^2sUj<m3g$tIRu^ZM{bH!y$JaXVN4o2kb(O)?4yt9sFY zSAM~>o&6%~L)G7PSfzLR)pb4LIMJ{!eL~STVRkc-#~-@=Ry41Cw$bNy=<Asp$6|f2 zecQ<pF2=W^r6bbcGkk)jlkt?*w_bGip9%STMfqG_vdZHRyBMdMoj0BMRr}py?Uds9 z)bA?lG7Rypb*=oiUOf)G-CENVWu{fV5_>t{b@tk$y%x>W1zVM0tv&VR$?|nxA!q+w znR(jO!rx)}BQpifr*m5O+}yIoOZm#miMd{F*0zcqWlFpUI35Y87lrUVt~zz+v*rc+ z1)?hT89~LbT4tYJYCT2cx|2BH1G56|D$QGOxj+4JJpDC(*Q7kwH;Z&!A1vE4bKC2M zi9GKm|1$)I{>$YSxmUz!d*q$T!OW{nmvj_3q8HhQOj`0QG4lSb(^nQKy*sn!NH(|F zoTo`;j}Mn?X{yYu3z(T6^N}%ONxE5u`=bl%eV%eZ+V^F}vtqy87W2xZ@wyJ~ac&`E zkLG2UWT&&Ho$NV#?Q{FH)!ZfLpS4PCaGNkQbFQKV@9B>$JbS-wY)S4b51HJ$ORRPG zXU!jH++1C)CVv#m+TQZQQOo4w>SDJ$I`P(Pd>>yCWyv<v@>IJ%p(A_qg=L4O?6t$* z>DY!DB>5hUzOyAVI#P3K%g5@Yf-(zMB_&ieTy=J1T%m3BHceb7Mz?!mz4cl-WwT|R z(ud2UHZ@xx(O|0;-G7>MS?Rqa#*rUWHMrtgEP6xorBh5kN6CjATwUR_#;MTn^W-F- z-4#q*Z59@Ke_>HG=idBe!Mpu#ydfpQV%G$Drx_pR7Mqc?SS<O7h@aav$HgTwcbp!c z$+uh@k@s1Vd8toRL-}Lwm<!$I#rN_}%%y`D&zakoWam|Ab1dkpzWPGlh_o9^w?(vD zuaHXBJzH|&5W^#VwX@x#dOYXVMRl!r&2ZQ)Ei1-t*zah$;9_|e(_gN;{pT8!E6yZp zvA$2Zu*Q73NtFN0)|oRmwzl)x<+H2movT=y{^%~p%mifvu@~nLg_RvH6@0ef>{dmG z`her2=l)#DKA9{brLL}6_I#mx^gXA2v0M|BjGRT=J5N67>3e(S$-Pu(pLw0P4`0pq zWQgaoiPW@fjh>cy<LR|KyUG;G+x$4p?3Y=tu-ooBL#k3J^u!m9o?CuzGBz3UW!`?W z`^a_EXdCNKYrlruE9_uBdg}a(jfwkabhYn3Xdt!d`Gl$Gm#n;c^ORwGw}xx4Q0%03 zo@7t0vvTX)z8_x@{(KkHy|lCoVH(>eh19aA@VL)9!n-)+o<K~_8_jD<-;M<Ax%ZB9 za_#G>-(38{#a#r9CZ<S5>D-o#ygfyk<N4gqq-|BPagJA%nD?0FX#C<k&3$&=<~!#Y z+<#5KY34WkP&mWOJ^N0Vet&jhaqx<`6<<%ZyneakX8cd40OsJ7ns<rT(NO{gx<Bv6 z-2Tiu<4Z*GmJ=F07C*PfUMS%{d%blIU!E4HMAG}PdD2Y+#sY7qo=G&8xvpBXQ#4u5 zBj5dq*Q0+I0t{b;r4^q{T^6+OVI|KM{uO~=T9a+w>@VF@B(TPG=hXUD=0Dd*i|%<Z zdaLu*#_Y2mauuO{dnPJbRLl$MpR<0?%9pcp&j<Cm6e%(V=L?niNya@E`Zwq5`rNR% zBti8<Z!c6E{S>v?xtLi`Y3IFjEgn0s6$O5YIW}R@&6tHx7ro-k{;tJ%CdTRBcFp+T zUXR))?>QnpA^vXKsgHa??+zZlzUp_Y^0UC^zMETXXE{yMwO$v=Zy9Fi^)5*F)sBtA zGlLvnxUCky8*xsTJM=imnKgf=zu226QY)PQoLP1H%&0HBzMgd2f41t#vg2!54Q)At z?l1bSH)qOx*V9w9KV7YQX04aLM(6X%^iS~%wTkuy?D?rTFMIw|**$x%-(uRn=w#LU zi`jD<V?+N{OrPgvm-T1O+Rsj}^;ez0yh-`h;?2uLORV+Q->zTu_dmn$(qI1>*q1Jh zzrc68X8K)s?-gI;H|_d6^{<G2-0jt?Yo`BNzw67+uxINRec2dSsqZVuv0Z#-E5~22 zFPpwz(Z5)G@t1bm{-CzN>zm`Yg|XarEuA)fSLd})Vr54YCD&|>ZVM~U7Cl<IGb5sX z;--#YE9DyN7xksRx;|&!`il6}nm-e5c-1@<{U+{Km3e2(>hW}9{4^8i(u)hTUR5-> zpLR9=5){MluxXyd6ouC(-EEpS9kwbISXZ)j%H-EvF4JCWYkubbqV?=gbBINyg=lSY zYxYmYui*#hc0|5B$+J1AuH#s7*_66-;rq?DI`zG0y!PtO!`g{<ypB#rGoqJ!p9rW6 zS}e#_C}cTx`V^%l{1akaH!t82c>PKHo7T4{sp-$6cGY<OXK>nZe5R`K%hDaXVu#kf zc-qSFz<8U&{?v74;iu;;uTd#j^X24G*E2j<{sxB2t^Us-u<*#&O%v9CDcbm1U<0$i zCBy2O`&Li=tQF66tsv`AN>tRdmfOxXt|#9yp35k6(9HbzY(cWEL!|K)<-HcIQ@37N zAtgOw8SlBSdpf_CJ8qjEQSj%^=J?dK5Sugl7o(r7&oIll>XKY&c=uFs{2}8B>-eKJ z=hPhj;;^N$&hzi%8IQi-Jj?y)-o}=MXE}-SuNu3VEBy{g82q>sJa>hisDV!^BilKS zb6$5Z&SdCLi;|wS^V8Ipoy&|GHmez{XdmM(So3_!oGZ0Vhm2;P^>3fFJLX+u(i~-n z?RBf(%_}g9eDowh`OnJR3*x@V7~Ss*oU^52!Tbm}2`z^$Q#cqrP99ffy?jACU4SvG zDY{y0$Fl{IhZT$>=5|DPsJ(C(ofen4(B$()Ny#6DWe&M*e$nSrH?^ic&3)96c}Tf> z)zS9Cox6oLZ#n7mYeM5pUFl_Fm7n6p8g$=JSyXg?gQ{%us=t?Yg=b_$H_K~kc{4B{ z?UneYxT|=xV~j;5!y1=!AEqj+#~un`Ij*gz9=)iu^vAR^wzG<!`ECcoGd5mWk(nK9 z9#Lp|Jm?6AU0#q}d@fUt(1mArmQ^2S4%hy?^Vz1ur$o0u+}SE?F(r6L_xJAq465>r z4%h6M$YAr{XHuW+9pAlI<}7x(qyFpE7QgLI|H}OGKm8PYwSYZ!j^;7{CvoYnd_Nl& zd42X3JYeA^V0vcl!zWIgb8Uilq>B~I;$Ht@_52y}NlQ8c-bk2aa9175kqDe8-&&I2 zkkL5DO_$?&@7ft$uF-;16bl<t#ML(5KI`^Rn_b6lZL!nzN&YRZ-5fb7Ps<;^<nms+ zq(E%#vmJjdVpFak5uVKGE51ALMZojJ&)zV`UE9!7vMps<L&fKUK$U-?LI<CTm3Y>9 zJy&;A5Lj-`=Ce-X-}IOTvmAx^mU<>T^fWPh?$qcwawpQ#L!gwG%cZYD(ej1xtjdfv z`O=?^e2uQZd!MLv=Pk$X@QnFtKQ_0#eyI16X<7Lui_r63hs0x<*yN{vn8ITDpFw!1 zhP*<<e+FTZUB5J$eWrb`b%@{9x2<)i&A~jcbCX!tY&fPVX`<L|x5{m`!quZKH4Ykw zpFLi6#P~@Fvw=?7xA}rD2Pe+au>2a4_KRtg#G*^ZVW;vuBYa9UIL`-k9^K`Z%KUX| ze#iyZ6FWIPubpibe5tWZ&ENDM+k^coQ5T;$2IbfUET6GGVDp(f3_EfcXeH$fh;96^ z;9>WQtlc$cWjfPdPBho$vOlC=c{c3I%~k&y?p$iO2}~81X$<@FVtzy7{T-|pR>?7n zF1L(Y54VdIby)9daH=iTO(=@-&+dy}#q4<ZQIW2m{Iq2%4@&+;YM)<qu2MN;>(gRC z-8^<#uJin>=DyR*N;)3n<#1fR!eWKRA~m_r$#va78~PkO{;Ik}mBy;q?2P+!O}2zV z-?OCU@)T*Odu7x84lmfrEwJ(6wC+pKLOws5T9|ybWHzg9xP3^W?0W%4zht-7{2Cfo zx#p~SlYcf(sd<=vMf19dz}($?uHO~DbU@+ahgY+omprW0yE|1rv`(&jzTUCP3pR3n z(%%(k-hIU6)ai5KZ(2GgR<HQsmaX$6?EMPX*v%cE1Kac`&9Ms${1hXRo1wAYI!gRj zNc_sy=@YdDBq}>1tENs8%=W$dx%JyFmhBRK0wGq>)lTwCjPb7)ySCMD-=tsjZtc3* zIoIM6^nI?jpIDix`(r|3*><jfzD>J$rkMB#ERkQ-c<xfejC+yM9@=lYEDNT-*sEXq zOY`}n=Pwqie_C_>ZdS*yZ>e7cQw7c9_UyL*u6r+1`~FFHSKi=H3f~03y!l;rZtwh6 ze-HhZh^qYN@Ydd`+P?1m^&fSou7Cc|@b>6`hUV{YZTHQcziY!UeVhLb&Gs{b%`P~d zKX<qN+~4MZFW<~NR~vqRv*s1a-~}h+teiRyl}0X9_c`=2H6vnQ$IQ=)l|^x@#A8Eu zE~qRN*Z-3$w_1OdW#^MQCS|FWulD9KT@|jlAo_d#+mmtjTPt<8ZoMLFwUXtyQb6hZ z+2YO*<F@Cl-{3NdB`q=j+0~rIlT^~4<x2!lH|2f4s@+khdFsFJYk%j4zu0uq?M*hf z{j445U1z>f^*{T<>2JuK#!X*0u$wXm&ziG#LeX}eE62MOSneoJJ~8LATkwpqGil+z zJnL3&;IX*t-23cAkNq95&bv(4FBUxf_vGPx?G@!Kf~9WwWw$g`PF<n#KEId4rK5AB zs{chH5AlujPJd`D3e@|`k^XFd>5Sf(%|FZh&uI2IJ6zg#Hdrd|b-ZfM)kilyBYOW# zd2Z<$*m>Y+Uzb(PiU7MTW#7jdI|_Yb)IR6VQMNl>b86<y4Gg;ct4?2J`&U{~KI`|? zWR_=Q0`K_}V_r_t-*o=eiG1(JD(QAzb>6G{x{N+^oPDogqL3ad+R?eoxMfq~hA{2} z=IxrVXDJ&lz0CWlywQK}7hA#mEN73zS~wp(n#|FW7uj<ySW3^?BQmpGTl$RlT)jl2 zJC;og{C+&-;P|YvBHP`2^_JObUV^VSU#>cRzC$DEwqNm0n<?9yEV_CEZftf4vs)MR zY|YZM)<^wnIh^dYXT~Q9$QVE3GTinjV1vbf1}~<^l8vlI%sqz;qA%=B{Nd89eI~}~ zQNfQGrpd2f1WT-+v*P@!lAhLeyIzGv>uE$UsrS*G{b|bMN0yW3_D_4GV6WFLxa4~0 z#v>c{-qXze^x5@yud!g)=^25-d6jCrzxvtPaz@{Lt#STmh|ss`sqChV(<EmG8DH7$ zD*TGcwxTh<MB#YYO18(VjtYJh5VNb%joZ1>@U!cUsH#crUn6<U4!mZUR*zh__rvO< zo$dmKbGk*EpKF{sQxsIbQ?vH)+}$bPWVW<iK7Jx8tmJlw$OWBavd=z8))%pK7i-12 zee2bj{6aP2UcR35?woUZ8Y#JZxi8N;eP-?ZfY85UAMJ|T#9d?$YnSj;cI8+uZa3$B z>C0ELqnpDegSTgel*~itlATko&ll%*V)=ZMq2h}kH}@8^;*g|?ZJrTZFS0Z5Zm#g! z$#ipPocf~{kKLtOw|e?k%}%Hfb}BSF`+9ZfiwA2=qYvx<%8HWTJFz&RP|x}fgYI=> zo)q6}3U2~uhxpu!lDRV>{aDV@YYAl^RV_Z%nA%Qq_J8JgH^=pihU!PNO}X3KS~Lzf zG^dO9#dev;h^ZHTa{ZCU_p)dDnhA3_?kV?)De1PCcF2}attjX@9CG9<XG?zjZiBTQ zMcfu&!gKy;i@n(Q>$vfYo{lYBrluY2{Vp`i<fG{8RgY39q>0(~iPhXSNj84GX$SAN zr&s1hzmS~g+wv#k!+tYEkFye1`TE@s7uMJu<T$ZS_6nzD`kuA99z}C@u67S`v`Xi4 zsrS(GTXeMUp;@h``w_pO^{+alXSBVV&LG{U6Xq6^(_Qi@Ec3L{6A9^~bFXxJY<aaS zi?5qs+#rPE`MnqCyjadjCq~WhT$tKYq{{2IvSsFxn?@T=eBaEIJ@r71F^TuQtMZ>! zhyOi2RP%8)Z_b9N%4(~-8QEU<@6MBXC}5=Q!t!8p(o;UEXMz3B9Ot5@GC6JCb?R`( z>3w1=Kl*S6?lrE~+jZAw;$PJh9J5~pN~q6Jt)1e|an<qpLbspWHJsPE#^g;t>+p2% zMb90tHhtpwD$Y5VwcS+x#k%J|Pc^?tG<oN8$7^z(1B>FWnAV?Lv^m6QT1<QGK0~{* z<<}a8>`A&u3(RLN{_2u==}`F1(kCIuzp70>=UBAgX6ojs184L@)#rH|JTyBbC||Us z=2XeM3A)-duX=P|(UyF!Sjls1CR57IP3s=Lez$tEM2%xf{2Gm4ius0GRT*nl&NFhU zM>8#7_rcw6()M(n#~Ws5ds;5ecM6*(9^?IPdDUZsHRUC&bt`WDdG2cYiIp>N*CNkr z7p@xSCM;BLO=_Gvk4d8A)P=Q%W(+I$i+x}^<+t;ML(PQdwQoy*>0d3DSbvrGbjHsx z-BXvAuiE-^hhpo+>aPJ@vn#!JUQG-u-u$t3R#X0BufJ1j#bX0H|1A=(>b<@A*VK96 zO|R@aShs0OOcA5|-MX0dXX7m&u}WIq5`VWY?T>@rp04LtMC+ZzU*D+ATFX2k>-w{u zI<qgm)_qsBxo^Uf^fQZ}End_aD}J{qZkymu1%J(}wTI?k->knreO3RW>sK?mzrFc; z{pEj#H{$m<FZ!}&^)Jz13~R*K&E3E2yl%+(31RjIOS$WVgqGYtzv+5>!lp+TYY&}1 z_jlr#z|)>F4|LiiIcn4mtaazS_jHk;bX|N>Q{CL&{^<2rl<R}`$DR1K@~3upHrHW} z8M}V3dA#cN+2R-b9rk?>yXwAba!O*+m%#j4J8XFr^Mk?<pW-^ZS1M4L*>5$+7o+ua zRvcBlc`%^#$>O!^`qGMpcJg_ppF8zq{ffAqD}GK0t5+%g6tjLsd}(!2{H`9S^j4o* z(VuxMeksn~)Eh9N=-JxO0hKp2n6HH|+JDkd`Xyg%dZ_x`g8_CPm9I82{XXb_V$IfV zs^#WO3?t4@2%jprtkwS_FHg#xn!w#0(E?9I<~%#ST*dt)r=YF)&4ZkC_IOB`pIO#3 z_spV`mmW$yoV`L<!0+Ld+jqJfM2d1xUA2<Qojc9@8^`%8i|ZGCmboUkxwLTRxj<&S z6z!K2xxaF2UN8~iEa&r`YIa^TsIFCBbaN2@#MWur&$vn-u|CoM6|c(3%#iq^=cCM_ zYo@%M=l453ob>ndv9M<wGL02<-+MY0ee&&@@lG>FWpcr@oiV%WmwG-g3f;>XW%BTX z_T-#3-Tfjrn0lUDA5BkvwQ2t>d8aUOtIHW2r}tR53r#+)>8m?Yd`GZK5yLtgH;csV zngz<=A`{pn-Sl$<*lJE?PM-Eb%UC#p>&qsVS9x4L{VgVIRFB+xB6E3ddBNSfQ@rnI za2fIk_3jN@_at`F0pBl*@t4G+-m{BN=<}FAIqc)%lSh=R1&>_VZogxvhvC^4?UV(K zuNI3<%ZRb_a@U!lV6FRXQu`IrxnDD~vQIv=Y~2yz-S)Y`abe?Ok&_%uO1~Scet7B0 zEeejkuC%u(_-MzIxqI&E+?{pm$FzN|F2}9aAARJu^qyJSbFt^qscSWHOnWb<t8)r0 zUS)kFcc$b@vF3u1N473{4JWl*66_R2CQ59Yw7BIZ?^&Y{(U(olzG!pjDm_`Jwu3!F zR8Z_(_=L?<8V}`ho=ufoWw_<xg|fWuW%~W5Pv%|cIHcnkF|&uqoMrWb;uj$j%x9C7 zZh1!U`M%UUdOn9nd~@Haf_~Ervvux7FP<ePbfzHB)AeIhjleAD28H(~yn@|+S=}uE z8H_#!3U?gs)a)reA*N_~Q^xw7)tV&_?`9oJmoR5Z=~NfIaOkw_+Ru?Pd=IP6-i&={ zlAiNaaH8ajhtFoNjy?2fiPS_f-Z;G-N3T3dyRcTGZBx&qJn<Oq)U&>GPv+-KK56Ou zaxP{0vqQYwr-|<}hzt9B?@f1zOk0s)Nyi6Hr--!jI}L>vN(XnX4@t=D=~-8{XLXf` zrFaa>a|T)69a9e5=<R0fmUcW)q<SJQS#{3mFqXM)sw{c0Btpbp<jXpW&qZ%){c=ys zylBg-1>0?|IWP8_bmJ*sQ1FQ|fr{?|^Tc@1URCZEy-}%q)>zx%vU$_`&$bghZJK(o z@91V1xyU$qc7UK>@n==ZpR8TWJGZs|jL~`FaGZIGXgBY<B`a;#Yi=lSnB1XrLHE(6 zkUu9P&%0~ahTn}gEhw*8v&Q$AcHUf1joH2L6heQ-3H)a`Y4M+7Vt%39i;Mu>+y_jb z&m8))JJh?P{N1vOnFdevcR$*e<-GaBr--(hr?zqPzBnmRnYQneaD&Q;cCQU$GA=q_ zH*LID-lfjRe`>LQ`>MvH!Ys?)arO%Ge6POV;=O;9$g>iTN&0pwE<Y{Vts7?C(Ry~^ znd{}gjcM!5t;Kv4UECEKdhQA>D!L}9r;=#BNGJ3b?>d>r<`;rSm(`9g^^3Xk^yi$A zM8+FC8qc~L?@@IVcy@H7CF6;FOYhw5U4q3$&%BOKe-=68N3v=26Gi#E1t$x4a@&>% zdzL+0r|70Au(M-hnTN}Ql<EGa!b=ZYuJ-rj$f^nGlNJ4WYR2rRmU@#HoscWCHs5(e zKlVmYR8;BYSzAh{xFs)YFuA9dtmhbIGyR4WLzUM#mAn&I>t0(kE}H*YMA~xpB%^@J zlyH%+su4dAggsw1<H30WKQ)~^r-v+-yN?Bk&wR4)S+z7nzd?s_twU75tG#QvL!W|( z&vAoIpLS_@sQ8#J&|r!D&gETo$~Lz2o7Vjlj*r$AtkWV7#9FNjp0oD$v9iFH?r5Qx zr$ZI~ij;1g%6wsG-0Sxm$89g3Wy;xnjcMjDO}46*i&OVye+k?FEdKJmPus1h3a)*! zdUr`Gv+6g-)OA5EbBmQ;UreuMZo1nuE$adQOD(Ry;x85)-Ky=K!Sz=_?A)a_ZdI-G zFG@dObu#<fi=yCl3u~{;?_ybhGkwu^T@l~Krq5Sht?NEpb+_nAs=MpURGTa7uU5tX z*!7=5{{4T3+q?PKr@!0zIWqhF5B*o`_KLffzFzfZgKprrfc>FHxeK_`Z55-Q>1&ld z5sNq4Yd*zy(e>cVs>`P=%#Vz$4WE}i_sR-w`x&t&Ty@#Y8f&lL5~*3dq4A}bi}0iU z=`&8O`E*9~*K*Ha8fv;)$125Ir!V?_XuoafN%oV`ek<YyTJ^R+(~UWBQ8L_juEq5G zTsbvXYxbrVY+uRIGx2YT{=X$_ZWk7KZT)jRr8Z`xT%`6d2IEN4ukj@{Z}$5J8srsm zL_h23>}gru@l0JMM|X*i`-@H6raSRf&Tv1Q`Y6am`jlPAy<1J9ea~806`tjYeA#sR z{Hhc4UF}QvzF3+%ZPWg%0>!%VKb>AZKC)L|>sL?HXX~XWYSfMi2tNs#o$n~H=+L(# z#nI<}u5oSM^JMX~n5%!Bjxw%W8r>n?T74`a?7gPS6#u*aCsx;nl!OUZOqDNPRvyHs z`6H~(O|W#M<%UNK<QgWdpB<f|B>Pd|>6$;<9$bP3>`F`bY;Wqgc4XD^@OoX(N7q99 zwr{Fvvv}Cpn%8kiFV+2w*S#|pZC)I6Z%^kH|I(eWHm7<`{-;xUJI;NaVzXw=hNF*L zM7Vbrth7&Exb;cO+Vcvchu4{KIb>!&I<mq2toIV0l^tgp9JVWLx_g*cb~;OyhU(2H ztkYkJNcOe5CC^zMf7R+|%7d%9VPCiBwpR4dh}^wI<E(^=V`Tjl{m886GJe@%g6mSF z<6Mh=gx_@8b!#izpN_Ky{hHAiyULv!9@wwY<&ky_kp1h>^1i{yi=jaJVD#GNGoo!a z7c3l=HOwQwr_Wh&C1P1~V!P|h5)Qczp#;}kO#3u!CTwZA!8^6#BcB@6g6Z`|59?j6 z`VuXUK6}VH?c6%E0O@}L+h0C>s%|R1W1~l~RE+*jqg#=_AC9-^-oABq>fYVwg7+J4 z_PQr{;!#v;N%@A3hrCXF&pVv5x3AMN)aZW~6K~p7BW$ps<Apd&+}Wu|F7IaDu+el^ zY{lnYJ1#pd-t}%*Q}5qIPNkcY;Xk%d-mZ{Ydg^r9zYOMXiIWRf+PfOAds)=jy+_%? z|IgaHisrn{>z;iMxVY|vhDDNMbK@yf^G&~J#!Y99e)4p0UV^CQ7cI~7Z#v3?R;L;a zHXq@<nq+*k{$2d(#?{j*XFK|5Rto4y-8uDeck9wq9M$U=*?RFlpWPW?dC%)Wi4*51 zu783%+e7uXZgyPIdG%n#u0xkssXx1VewxVZ*Q<WB@YDyDH07V=+@`Zo-g?@?-F<%) z7F;`>>AojVRe0&iz-E4>Qor(_;+2Ay>ptB2mbHC>lTr7Khz)n7_pJP_S@^~8;&Fqp z^(qm;S=;IqHedU+VMn$R*I~P$#S%x&Gq}8Gc04-}9QC@irDX5bme0Ei<{VcQw(I6! z-8?NWOD5u+9~X1;uC2Cbc1SX{{Ja@c$Su%%^otX>$1|rBKPS&R9e3v7Ck>a)tLH3| zt`}3~*UdiAmKdJHpclI;lUG-G&cc?)bFXf0jrrLTq^#>T>HUP@j+hUx8Yf6DX?>j$ zA>|i7Y1R#M$x|;UaxT13uMy$4Zc<{=<dc%8#a_JGd)}yhiV)YmyHB`|ahPo3J<Dz} z$&_W0VfGY7)sHp~Df6!9JKn8X{b75+yl0aPrMIkLezw?SBiGNO@Y9oyuqpU3gdepM zozi$zHR<q9nV@C4XVZ&kavs)@bZYC|d%&gmqT`)^4YQ4TA2LQgJa)E7qCJ2~=GoJv z9SToGCjT`Oiw|uxFHueEeR#xs>Yai<ZOz7M9hL8<>xoV07WdlYw>{AO!^)0c(SN5t z=q6mA5x#$7fQ;3IjdBIzU!FuQezxU{8=uqLSW|6|&L5p;g%zw4ZKR#IL{9s3$T+Z~ zdu_^8$qc8)x}xxR8+mqWCh#>EI2G?RHdudJ^^ofpZT>Slf4SyQ2<o@oqQBFr<OJ&l z>91~<DI5BxN6J2|(MsHSO6<e63*pnU+b*wSKD<)PCgOXG&WUG<>A9&)#-9S0Em&x? zRV)8lNYPo}&rjB<@GMOIYwjyHV+Z%|{LXm2pv|3UQ@@7II6Tw2L~ga^OKzEZ4_5h? zyN<FwdaW^URl1(E&bim+KI`f-{xjU^ce^8+?^?fzt>$Tc;I2-~Td#j_ueMK}`t#Ju zq>0mcR!?`66}=7`TiqxxxJQFII?;0N<K~$KL9%8$xNT%Qgtfb$ZTYGD-ht_F_`9uN zf{j0VgcUs84Z2QjrMk|6FtckX_%CulpAq>oAv`uU{?Q)Mf8B3Of3Nwn>+;fx3`d^l zow+`*@J8L<`TIXqJ-_{Z6T`QEufP0fnE2~I!?#PI-8Q+_mh1PdzgV^Yg7&w%6@Q=B zFFNfV8)dxrcfIT1YvEtRwi|5z^5%DJ{i4qQ453p5Lcc!Q_p~teVf?1O#}-Ds+8=5g z7+BYs{VaUBX+FQ{91VNR;DR+30_Qcw-A}t%b!!&~)u_AHWz1Dfon;@RRp*#$o9eUP zlV!!>XO(L<M(K!o9e%aH?!3=aj?DiIM*E_)pH+Aro*p3nYqkH1_%#~6VhU>CwJ-Yn zblv^QwE35|%j=Fce-@U`Ua#)J8uL@fecm5d^=D#r4paAj3EOq%7wf6td#8OdSp1yP z-=$*7lXcPaGQ4YctzNAczDL38=vQsq{8q<#)8e)>7Kpu%JuzpWn3AXYIq`PxO#x}? z3c_0o&gi~1Vr5i1eLz_!)$PL%2QH<`*!m||r%hK`y`s!g?c=0}F?VElF$S?!P73_> zF!&Sqm!OI*&Qo5AE3a(1X?-M(sqOsakd%UtBA3nQ35nb*<w{++H>StnfwHNs$niO= zO-xFzy1bmV;Zf<Cb$f0t%U`p`<=}H}vvVz?vc;<DdzY+JFf2S}_{!;8CBxQ^Gb>aN z&PX|M*1LJbxz}?R+qt~j&~xkV4bH<aww?~n{%W;8R;*0bXIEjpj%LT#2sazQM>;Mg zd)BuwPM)(-E__nsC6OOVM>Kw~WWE+)vEAcL%c079P8;PK-D5+)@42(Hgu`{8`qZOO zmOZI>)4Anr<CBhOZ!bJmF8ko3^EbrzkE&#Gxtn+CteDBO)SgdHWzzjA6V4M|(Q34& zHqle1QhQ&zhr7sshM>)RHY(KXv~~+jf3d8jeGBX13Bdv-nMJev%A%)A_n-9??{(7a z(^EN6ba>wCIg6jqI>HvIkn)q&^1f=~XN{(3A8sC4eWl_@Pb81KVN%G(9eo@d!^LMa zE#Y@sxaeb%*F2{q%b6P(XYxkQ=5}y$7Y}{9=<eOQQG$ommuMQKcZe-iC@J8oe0ozR zY`?4Fbk%v94;d7GG@A2=U0${IZRzZ1CC<LDMe-k=VTtUj+&42U&pKwhj=_aH=2K^! zcUbWF^PxSP7#+_as#Ke8WAVz!oqP5ZuI=ANp9S8XsF9$z;i1xr=j|sQPw<`$zV^_B zaY;LC>pjI}EryO0ES>_%sy0_LKTPck%&YM0l1ex(veruRCqIYdu8At5yRMr|-m4ex z#`*8T#)*el&8uVz+3j=MDet3_zHSivgoy2%?g#HW;FiZ-a(qVQGxIy8J_!YR%1LaF z(cI^zR<4<ubLEz)QFCQVs(VM8YGPjcjPT1HqAQ;$S{ZuJP2|?OUB1XF@+h<5$#dEj zW+o*oW@iYiG(}F}h!&1}bMj<uSEZ5EMFlk`V@sxv!;kMOhjy2X>CCvA6ZmtQ!WwSx zcigA;pN#XqVa^;<V`-U`_jYm=!|{*8vre}MiQaFno;2b4L$)7IC8pOOPW{!|F+VcQ z`kbVQ{O1YH4rQ{1GFO-kGgK2d>ZKfcvh>KjfaT%>Cs^1T?k-JBD&?3tJHpgou`;4r zx=lZIkNU4GiAStNzbA6;vw!Kj;LhyCAVcno&90Zy^b$So4VLLkGPRigjXfKY^t|N8 z#oK3Dqt(;IpGd9wGRKj}dO7O}&8E2T_MbkiQP@>jZ_uKyx#!i=b+!^t`>h!kMcvDr zDyOm2x3O@g>!E8qSeeh<P-8MKOB6fiuCVE1>R#&ubEZsd^O(4&N2qf3L@5T5uXnjT z<)?`}xc71G+q)^Exg{F&Pc36B@SZxq&3H=U?Ro4<E>9;3zVL8)G^6yx+WWi8{~6Ef z{LFPHV)ImSpS@o<?KqPa7JV^kd0eBtaO$j9`ROGKSl6$*yg1oJDLiPgy3M<lY(Lg= zKYq!j|2eqhD<6luP1nnd*}^p%&U?L%&JUHcws8M<`^k>xgp4cc=G>FktL{1&c<sp| zbv}VU#YbD#8&BXe{t<Ox=P3i;rfHA#E|r7{?w%QT<h{~9d7~|-LwA1)SWp!8bkVkg zPRm|Jf1fMoY7Wi(+PeGbs_s%<?e`ofuFsmYeS2!%Dz!gTKAUBS?!2L0bM3=Czo}A< z6FK~njrNvCY|NY_IeGQcs=RNtjoN-Ynod6npXTV3Vxnzfyy&Q`6jS5J8tr&>*6+JM zU#-vc`p@8+A0YZyG1}Hz_e<2y_-m&Z{S}|J<EM_Tp4XMH1(E+5ax{N7h4e_KaP=j- zevkY!LFHD$%~Y{dVTIK<i^8mTafI*J>yVRM<@f1)w8orI0{auT@4Umb`O!lzw>?c8 ze`#)?wDH~(C;0{8!cW3i?YG{tF8pNilV$FKS|2aHDy&?;liS|(x6U84H#@(!*sXs5 zN9^gUzf=Fc{`%%@{i=EK2Y=Upd;TRp@6L6*z?<?0?I!7)ZN*=RzYx=#wdT*8eFx)T zg#5W~xG+3i>>Af^ul`;0SM9LN`p=*dEdE^k4cA|$?b;$W+dbSWBZ~rf`a9E?w+b$9 zo$!0LyqL%QMa|3)dBcCMEZsF}?Mv<VHy+$(@17aaZ^7ucW1Wc4Hvxw2M(bY*%qt75 zJenE)JVC79wIi*@E1^C_BVYRNqTYAf4U1grk~*H`mpmwqPcU^kCpTg9<+9UnReg?! ztyGqLwR!)cKIJE>rLV%`Htl=p@iqK%+<9-Or_V&rpY`0Idi3P>&@R46r>|RD9$Ve; zx={RvDL!Wo)10@v9K$4hZh2k0dC00*R{TZirYGV{A37MH3z%;ps5|Gq)_(@ESN{@s zuWwOO`8l~%GVVy$g80YAljf#(y45U9pO@(J{E=$d<Rf}dcRjq&+T^gGyJ`M3RpA%w zD^EIP&s4j-O4%WQ*XHh<f*t>oo~@R5Xg-qP&CsACajD49rtkI6)z2Sl|Jt-m<wXLI zm$F`J#EB~lqFm4LWZ6~7ES|mDC5_>3`1wV8cN!8*ADe!UJ{~P%w<_f;%c7fi=001w zVc*xQ%P*|0I;D7%H>TQ1si;y*cF)DBlXVy?HUvt4o)D9G{lTHN7F(88>(qp?JlpP= zp>$-$&x3B<-Z%781!VUedoOf#`i!Z&?#Oc%PcXFbZ4CRV@#p3W6|v78H495WoZ7c@ zLTF#urs?tJtxNNs?Buu`^iX+%#`|d1)4X$bBz$5wox`zp$|QvwThxN}bq`-QJ-S}S z`<A>V)6>MAmR^%&>{q7Cd3Z7|c2&G=DVi7VEcj52HSV5wdB5l^*UPb%p91G}w+bGf z)v+b*$>9@EoYZW>d9{A;n7yonpHKG1RWr-T4ITMEy9|nQv|k8&@2FJo*je@>J2?NP z)}gy0HO>kfg%1TUygl<I_nUyjdD+%aOXUkT?VGTOFWh3v$*<17uPs>19x2?|dsDOD z^wiH~&B<nmSM}bBI+Xcy&G`kvYvRJv^+ZzIipo~5YhvD{&v8)t(1B$|Om8Fqiq);< zaEn^p5*ckTs4cKV@<hN@c7uwk4=R`c@zFeY@5s~qkQ@5j99j}AmoD;AJFb0MD>g5n z_tVKBmL%alOuLh-j-+kqD7dm?#ZS>QHI9|i69n#_-DWiFy7X=hj_r~67{#{TzRs)B zme&(~_UNid)qbrDnLBnIk&N)z-s)EC5h$1WPOp9P;nu>uISrbN%-c3?-n=Ei+~w|( zMaG|^x9we`xZ_37^>2BH_KU5OZt0CF3EmN5vDk!jR!no#5!oZfZinqe+kAeOvF-ek z+<IYwjabiZ$(8m`TP}+|S*FK3S*|jjdyZ^yj6<>CjHzzEU-vBAXK<j^#;EjaG{1*7 zbC%!Rr*3(bceG**9$HQ9F8LR*m`^UKnsHASQ=yWbfXJ5ZZ9a3KcI;rAm@wzkH`$vB zmJ9q>L}oI~J9~M#>Yi9;AI;+)cNtAe&sxYVwsh|D_^4^uz&gKGu<LJW{D#02H`YY7 ze`#1&zw@BbyYgZuIk9OUc`hDe;5*}W#Q%);eBOIrhe{<|jm@9TeO}>u^FiLn;1erf zF1mMJRi<~{!tKwTWc=hb!uM-vJ1eWRPM;>i&ZA+sLOk`SQ(f3@pR^56yo-JIGnahS zy>RV)zNgQjGr5`5cUb!KI|)Z$uh{8toWyl>Pr-9W&VLUj*EPEyeqOrrDXY*KCDu6~ zH4iq#J$t3H_13Pi@79MpcW;uIK66KFfP7cN!ZqAZv(smWD~rU5Bvr3pRrc+}8K>N( zH`1IMJYNLJC=_hnsqN5w%xm{dnOie1ACTQACYN^5|JhEiWA{AX-9O|!ed*g-^C#^* zZ_M$@PR0D|K2@gm6L=#kd%1)>bM9#F|7@h~^Ht;Q+mn9EQ(MxuZ&`jiRMxn)Y-06< z1@f!@Gn_o-FyClR<i#bg*4!yd{1j;1c0uCctV0Q({F&R#r8c|87(Ze(nc$s%kFDpT zz#A*J7Cvzkzn7{>+ju%&EtudFqwyqfJA2pXRc*(jFU+i*UeK_)`%crE^~IK~EH6tF z=M{yo3)pg6^<VeV#2UqDJ&)aM90K@P8COR!?PPO%nK!p@XRmVTv)c|EgJdiBiIy|X zl|DC{NvzJ>=N(7jlADQ>h0C?2D^fEpcfI<V<#Dkx#c#FE&lODhg&LnOGOsS;5YBwW zvWTr-Ff#gVdS2TrznUpeYXy4URvgKf6&IN+vt<6PbNRCv_{D-cY_2?g7QXaD)*6E^ z>YFd}d_I%4U}yZFRqonM>r8eq)=u5``uCFc>YDS-ranKLVx_q)dT;o29_`wY)sLh% zYFkdMbgPp-7#px#_soiGD*4)<P8K~0+#$cppytWKY&q%0at-U0YdNC&ywZ*vJlGo| z^HX#NSH;?u;dX8TJ%1*g`5d(0)!v0^{-&qT7O!av?fIpzIO(_E=F(r^{+)hXTHl(s z*S`7M<LzJU|8D$UCi+{i{^09H>Mu5*w{ZLC?eBNy!RM)oe~+xwHwdfC{=#+ONL1+g zIU4howJo0Q`_xyXbx`8V)RzgO8xFlR_qDP%*gQKe{MF*8C6%wWFY>R_?mnR_@+s`} zs)m{aw(}RAKgG3c|C)s#{&*QCZOaWa3V*kJmH8)b+k1|yyPxfPc(!Q2Y2m-1{#)W} zm-0let}#<sANp)>d1IWm1aHQ#HBKLL9_&x84`C25o3OVuX4j;3v55&z+t;kP?vW++ znOi*N_*LIeCv@Vc9hqAADJtId{GzLwp8_Q_=GGP|tJIe+c@?vys>mhj=!un<+ADss z8VV&aZD^DgzZV{t^`pG!#_HKG!WGx_T={$|ctPb_cU3+0Ck?M>85S59#+RheU6{U} z>$KV3x{fXVpG8lvo_Lxk!f)k`hI<cH7EW<<^vH1wUSyZ$E^;?YJ;-VH7cT!f`g#KE zj7yrrc76&@QaU_o1D|n`Sk%2&mAp*-E4ZsUo+Q>aCU(qq5`HMX>bSB2)5GSKS^F0; zWG@K3Rvfm2UG<P+uaV5=9oGVP*Gz2eOnsV~SMGHCv9X3ZM`7gz=jkuRW~4C`1f2HR z#m=XFXS$NR$g8!<l9LwQOLQwrnbc^p_jXZ+Q=x#7Vsy;Yv_*ESo<E!AAia}aDR(}% zQ<Ga*tH?{AG^aT_9T!i}cP*Z-Ft<{Q<v5RZ?<tXv7m6;wybO&`E_8_x<~aCppXlz) zv+I1>kK{213QOKi&z0I+ta0Xcgp&u~(Xt8qz6VHaZa)#@bnmA=<2=s=56sW5IPrDr z-4jQJH8%>M^`8Ie9_!BaJD5&++B7gq%SnV^bYt!*b($z)&?!7?-s+Oq$sF4f?<t8- z2tJ!;6>W0dV&~e^0s)mb)Av5vIJ-tg!S~6HLz5?3Zx1tn@?gPxc`<<<vWcY(b6g@f zZQi#*BwE}^WOq|ui1ht3F`++wAGMX<w{a;>Ros=#ed4A?V}W_gvYC^fL>oNPN#(y7 zb-lsCFU4HKY~rM*@2QV`o;NEj`q$08gZFNGXZ!`Gr8nDeC_Uu4;I>L8zwOCt@uYsK zj`K!Ng>2?)Q&j{ck0e_Bi9B&O^@-@(kI84f6MnAlG%RP@XfE=w?LhR}>oqnjnCp-1 zv9MB7ezow?#RL)g34v-qI|FQ86m?YEBQH-no-QCfPkHjJz-d1jw$Hg?$q{gSUZaPc zhH7osw4zhuBBgJhcHEhgqgJH3Hpl8Z2dCXq6CR5`2i?aNa|}9W8*cZtNOnwl8*6Sb z$4)T4*rn~GTDH^_N5-bS60P%}HWeOaK2or(&!(z%my#^sk+8?<{~4AtGXKkTytZS9 z8{3PIUfUKWp1Oa}sqLYHv}MGfCWgH?N?J<qZP1<=p3GB!xro1KQ=(Jl4b5MQmp*wF z_U0?ACfm;vUFUD|Y=@(6Gw0IdVs9L>b{v(o=$TgeVQM|!s){{V`~3I3=u>~av*tSI zd55jVHGXBCXO#+{2|VohxKPdKlbcb--fN4Db-Cl+R&=}GdD?qx*9rDXEP1WFzRmV+ znmA2*VTJRH^{*Z*s^76d;mmsh;W^4Ww^j;W?tE+%+Bba@9}~OrD%In{=^Byu%H<_B zEE@AFxHj(F6uiFwQ?J#EO<%+0T@#;$uK($D<YnU3g{K82Q<xrRxID_Sc=sqkw)r84 zXZcqri}LlmRfRsPUOT|&bs+KRp^&L3vI6f+XWsS3%iCa5<?{BE({7&iWqJ6_A^g)O zwIn`QH|b*q+iSVlmc}rLtqHa=JzC7H+Rm*odpFm<X4hJu8II>lKgI=A=$oG_3Nq^H zIy&E=QKz_2_V()MXBlJ|=L-a`DEk<HHhaIu#WdqE>s^x09;d<$tq(@XPuj0DnL%>f zYk>=KUT4zxyvwdCzRR$XVf&-WT5QX%g`Wz!^~YdYm4@Yx2+_=wc~5vx2Ki6O3{QPr zCVKqaDa9SF?-=4{>TihbG2Rop^X9_*U2IEN^W4&Bben9jcIEV@C;3mUmQ}u2uK2U! zT&#FJkA~d#h~Ac%NlR{@JgsW==%mB1)@)fGrTeQM|I}W@w`;=M85cBP7lgbjjud!0 zb<w#wS7iS)oO;w3d1_8^wMoyE_PjoU2XlAt?)nhW|8DAU{j1!M8fTb=_e~J_dQPO^ z6jRb^owd3gkId&XH978kqy1O#^R5o#m94q1)9<X1zr`6hVeP{02_^3tCw;c$%l@i$ zy!z2$E%%?||D258bTlrUV)L#i^=jm#n|nmN!@9Nq91_1?(W-U*&nm}o%V&E{xxWN1 z+qBm5-QA);tN$|;b$-^EtFF}hb??;oPc~m~6OpT0qincp@+Xcvl_EC<KU#%;n(g5H zX!fbe=Uu-=K0mCH?|vvoK=RhRs3R#I*Fwa4-lX#XnKonbq0n=Cu8T#+M%!hZ-Cv)2 z<i69olK72ImFut8o_czf=i+~cEvx7BzP<fx>g7eJW0sc0FZ?He`#;0B!atGj@ej_w z+VeSn*UWv}BF}I;ojb+(OPha{WnH??pJ^ZMTAk}wSHD>PWUuM7x%Rvrkve|`{<5e3 z>*ClFu`pM+RMBIy+Ox2_u*i5v?RAZ*a;a8v#S?A>*~DCYzG(a1)W6;rT{4TFuKm)& z+!K9h?TW7fKKJ;PXFb|*Hfe5AxMArP%lg2R(Z83buUqQ!@?_P`*gZBE4k^!2b$pt= z=J~@ZhHg>%p1Wpz654a>uhXAhcRjy0G%!7H5%JzU+v}x_!Qxk<Z{8Ma^UsW#?wjcD zbNyz~v;M;mRqhtWr~aGUlz%lM?^XH+p11~W>)(|tUY7n|&o%k**~FLWqSL=DRE#_O zqf7Y3jd05p#mcmO9~Q4G+VV<t>)EKkB5M|(jIE37E)hN@BJpTf=k-a3(mM|ZOJ#*T zdwFj{`y~;Es`b7iPfs`r9%Yx%I~nt`gyBo9<C&d&GexJbv|O{N%hvD9ila&E&zo>q z-3xmmZgVZdeBGuUTc<8PuFX1KxHL>oJ2rX>6Vrc&W3MYx%oEM0`5QHgKUI{?TP|#1 zZnjeWQsB1jIe)`mY>Dyek7VS|p0oBO`{%pq6&F*N+lKks&s>=KEO74ao2RZnN#ynK zT%z6cNjdaINB8PKS8A5JX}<^yS9+J}|DRz4OQGf2KJUZVN}b!%UW*&86fnIXrVw}S ztY7$suqVs%mx$V|`+U*NJSA^t*uBO%njPvLUK@X{iI_bv)nU$?N4-yW2Z$t=&&o;R zOH6P3Ca^5ma)rH7Se!S9-Gq+Q6RZ{(WU{bp?5K$nw+otcS$?*VVB$$LhF6A4O8FI* z+VfxfPKd7FA$opNwnvUj!;x>(xp%i@ZIo$uwRbr;^Hifm$)p8yHt9MG&c1m(^!Mu7 z{wjIPr)5=kADXA+`qX#n&68mn)1OI%xP6IT;qAtx=e2Xo&4U~dubnz(<#bQ?-&>Iv zMH-Q*^Abc0F3Tx}y-qV_tqUq*EVTH!GwQgL*G`Ex7tIdiLhZIEcfDJm9nmz}@8a<A zQur^OJ(gaNcbE&76zmsMk6mB1uXxgFohiqXK6UYBv`u?zIW;|L;$Bv<`)5<9OV0_8 zx-T(JsKZd*dc_Q(h12(UtbJE~(B<y2D2Ir)-&c~d{kyz&G<P2gzZF>A(s454;2D9% zdy5Svb*3ivG?sf!%oLE>RA6<pv^SXX;)|bmnayWMmd?=T?{<26c;=)(UYGo|Cj__Y z?9od1DCFE>VWL%>@F>ZQm%YW*O;esnLwb4Gsk5oe92P0dSwF~Ph+sY>@}n?C{N37l zjqEZ9E~Y3vZH?EB3dmluYn|G;*9-Hu^Q3V`KkquDc=~Uk?(+R&hk{>8^_uTBaoxN} zFIHgtOs>Ob_XV7%8_ZoF8L|1bc1K;pvu{bS5AA#Pd(NrtKRf-5_bzUl{hz_>NLuBo zFBf^f$0|l!2DkeQJ<Zh3TV3+-*;Vz2=Y^UsJSfrdU$i^gV%@`4cQ1E{TDQ0^dD3un z=c7$`g=??Atl)Ay@8SNRL2T;p_1!aDJHAg8SGmdd#3X?6llIhg3-~95Kk7bozT(3+ zk;lg`n1{Zc_40&{>pF!BiRJ1UmqbqH{_)&3$=oCQY_p8^_b_40&Tzq>jxoEGr^~)u zdSFLg&>YF`nG=@reo^&F+Ri<>XV+tg#WQxs>=T<X<G>v!)f-{9=^RsKi?l3SQk)bo z&h2*ExNULBv!|<!A4=Z{Q}drZ`IhVB64CZ~DH?S$Yq{rtS=nr57Jlat?_tHWXC3lp zUuZ6vo#r&}ZTsS;hT8_uSJ`Ek9K0?O`Lc%3!Ed`>@XzfD>%w*vot#l=8f-7xQP$ym zz<S-04KJk>F4lJ}_&nvqRLQ!4opU+0Wc-R#oD1Ew=L#QQbaTR5^J^hr8&%!;4|Q&M z-m%W8@@D3~oRIWthTx3_kJ?RkS}y1|`XFHZaPRe-M~h!wwOH^<bmyxjPh1<W`kW8d zGp{RNB)%m-f%`whs>seuCr(~2X-!VJeN$5SRLtC;NjV#3?}S-2ovRh?(tF9W!m2gV zyix1toTV-)IqMGjn`O*B^VxT%MAVWQF9Hgm<cXZ!6L9s{${wTgsOM_}XRj@NU7}Le z)cbw0tMRhNLYXyDi#gT3SGQ(YDqrt(nLp{%35I=p=UT1cUe*}#vNFhR)>N*`pWe({ zeSOxwwh1{0L_TpZTQNz8-&B58&rcC|ZxNN*DHp``T{Aw1eckli-Gnb}SHtfYe5*{K ztvzqFHZN$e4%5B6pSh<_-5K|)&SA9+e{boZRqhvyx2viLr_PzV*&}YJlGQubwC)+U z6W%;7JsvtIlbhp9Wc;jo)27x3h<={E!fI<|O1ihsmw0}qWyR-81H#vRm^$&%-YcKa z7X0jt>w13CPdmffJ~C#D(B_Hj(_i15_1FG)9{&gbi`h2Q_3h5<#m?C$xBAk-)K6OX zHY~GSJ!_`q9sjg?zw=+C)_L0&Ig8tde=lQR*P8Ttmf(MeqW=s>c>|Af?yGDGsdegp zzRP?1jg^ubJ#$a`w@2$=(Pa2ny550F{n=JK@A6At6VEz+DV{Ez{%N(O@eJ-0XQ!O~ zGjZQ`qjjE7ON;-Sy=izUbL#v_f01W=tNel|oq8M@Ip_Oy&rNK(EBu~YPg=hA(EL@O zPr7^0^ewy)nPzlF@#juUx4D9IjhlAztvY^Y@zc~xMpF6<wZFyZc==l&Qma)~mA8!B zur{yT+~ifFyTY!lK&E$3xs?7aty@*sb$0fT(BoH2o^pM>Flm3$x|n-;j4{Wpb^ax$ zSL~hee3Ft)N8m3_LBXR}Wi40#<?7qD#%l76F!g84m)`MDo9FSD>k<2Gk2l-z)~!lD zn4yv1dBN%F2~+>Gb=~jwU*A+0?ms8|^rAy;+7CbM<lHk;_~z*uk$)ykmzx%5^`q(V zS0Cm745!%D&o9ya9c>v=ua~8K;?x8Ft+O6&najW}ovz&^t|`vv#M$<2PRY^T8q9xJ z^sQD-$zAsL`q5KiJM%^D=P^Xz7hM>yki%qu_0TdSskK#1ot;(|Q`!D9735pHt6aLt zlFI6M_Sie^YY$UD$NxB_%Q*Ad7l#=?7OUnvh3;ED-Bj^btixf$qB+ruGm=D(@fCDR ze0S&M=6SH6k&E%#K>?0D;YF-F_npf%Rft^lA%Nl8>!$g;|0Yl3$*5hwXMNp-_0uK@ z-{re|W{N>i#JQ#7jcQ6<b1dAf83K#5c-9@dYW#wUrFf&3=k#nw@3ngqIZpps>bT{( z7ULm135WKCCrk{xqi4Ev-r>7fwBg^QwHarb?g{C69sa6){m9y{0hV{>9Z&jqgJVL$ zaZ`3%FLvRTe=NL?+<tfXX=3j^*9@PGrx#;x%(*69Zz2`{ggf-}1%(HC&z(B2ht@CR zIV^oy!@?v<P9n&#FY#cMRc!2G0kfdb>f$P&`6ND<o3f?PSzvGWQA@eR>fF?-wdr43 zJGVOj+_}mxaMF&1ns?Jag)G-~I>Pe)*#e8(8ewuNdh$Z|GcwP#&AIks<B3T<&p(`+ zX1P{3cVkib&jnFY4Ay6QuJlig>~~n(Rk<cm_hW37`RrZYHOUsye<aGgr@cJ-VRi3Y zy?rkaTc?Sb*u-7haPE7Tg_quR>2$8j*7-AA4c9rWxc5qKZgty<<EuVjSo_{Vpg)MI zsb<Z5%gMVq-E@>LwSF%(=&3JkRbBS;QJ7@UoRH6txuU$?Th>W#J>i#e<aFVdg?qc# zsmNL!Td-_<c&{M4pp}l<XR9?I=2(ha965V{>uJ*^?xv&v<hI8|9WnG~H2=>an78ZP zBZ-i@ZjR!eF4{7ikK}FGuCY(`@!qA(txFzuuU^)W{774zUm;xf)cKQDDIJIRy<=*t zObM*sQQ1<}Gu7g3->kkl7x!&z-E|?>ENkZMcOCxhCGA<o&N^$kD$|yvN{aAzyjb%5 z5yPT4%H>9%mM-r|=c<XhBFP@<bnDrp9ZO0gkK10&i)6j-Rveu9VVSs9+_ji?ZTGMp zv30BJTpd$RoV}%^Ycb2R#ol1+^jAxyUoBoQ^mW&af2&vgI&@xsLeS&(2?>FG=9^FL z*8MoCu{ixfgulpBEtQ8Kjf}$&xvM=}y70}`!}EIgJW;CGeQ0p9bkmfA6Zdw9DJRG# zh=~`vcJ1B8x_f$uK;wptS4+<w-J8(et}CWqW4=rEfWUi+2tRQd%eM79THL*hgQ6a0 z?|c^#<??WXXUvml!MFGBUNt8!`%R$mk@7@->j`0XE>ol%ex5qbf4J1%MfTF8K$)(8 zucut!UBvd-&3)CT1ODF`wzq!T@n$|x6xY5g4fbE_daQCMa^*f@D&2lZPk2^rcPW$m z+%-$$r)Yd+PFuO7<o>E7(Q3KAr#=?ucY0Xg;&hPN%6Tv7>fULqJoc;T=;&<Twe#oH zY=z?Id$#UN6X9vznbJ77_@elW{%2>DjJEz-^wwn3{!c249uy{@Vck8u@7Is1JMTG7 z{1kOe`u-;M^64q;V*B)NMtD9t>H2tzhJeGV(3ZNOJ;zps_RnNY|I5dvZ>Pkxafjo@ zirw)iMdypTi4<EOjSk+c=pn|$GgqweuVUSV{tKe&c0nC;4jnb0=lv!83zxC2z^_)T zUXjUbr-ixvW%|$HniOr77?J#9@x)!%pUf$Y=$R!V7Z#tA{9@B(RW5^mcjc4u>M{@O zOSTG6d7hg6pCM@8c8xhd_3E<D&3>_?)-!VEwO4FAMccJC=Py#SP4s({Ar`N+G1E-Z z^S4f4*_4ZI`LlNLDr>KNSz5eXQdiwGFz3<1+9vx|f5YBitW5Db<Mk!JMBgsaZPvH= zD?0z?_U@a`{Vsf7_SdlHXJK_+xj9q*{I+|2?eFqa_YeNA|F+nE`JaB9tAE+k7oCrb z-F~D_LR+_T(XxBqhE~&BYJS_D@Yg)+@^k&os#hZSpY1!Cb@SrQ74uzd0+;AV2Gx0g z36=|Y`*zViTJglnS9?R|J98bg@@k&1y2d~KZdFm_Hj}*7dW&AwDOX;M`L)nq)o@)S z|AIGPPptQ5s<sq9Y^8rS-fx9W<kQk`jB)lWw5v|WTCMoGUVPG=uqWc39A8@1->s=R zqQTDcis}4|{h?Z=e@@-h=GEsacwHH2_GHga{j1UQ5?vl`xwB3qZ<DxP7U#xSYfFXa zt@^(0Re8%NR!)W@U9Gy;S7T~Jclf2&KK1yiADa9n{OeS;yP`YOM0$c(PpdG@=GY>y z6g>B|0@MBrI*W>@NGDoNoxVo->25~L{|xRKZEiQ4Z(8}bEWT{1byjzKXZ#ia6vlap zE;@VOt;u`1M|qQjnNYv-S;wEt`gR|UD3~qO7w4cYq`Rl>+cs6}=y$D4{w2*YWO{s* zS+#Ssq{W1Gea@n}cA8;^S6Dlj>8=Q$s6J`Vk=O{qI;H*k0j>KI1+Hz7m}b%1mvh@I zyXA4=J$}E>9bBBBGQ%vNtzkJ<us2^dvH8{7FI?vyoeSe-+$cNQa<<SG+c4ou$znfV z-tEktCu3gCx6ITkp7YSZ%_MO5C8nl?)t_Aseqt5pb#u}FwCnD}4;K1wFS3`Obg5eW zH=N_%#k8pwU+yx-oZURNA)$0lXiMA?o!lKKAFP(s6WgL;DO}d_w$f>1PvohMs$v|k z#3f{IcpZ5DFyCl>(8qMs)dCW2E`F=d@=V-wAY{(0BCS8y#CP6sJfXp4Cw8jjW8z&t z$9Ky()1RHRxLt8e{Mi#O-WgXWggrLAcPwvv>%oVt>21H)#)MxN+JDiZq<BK(-4~`@ zPY+#VtkUsS<JddVtYb%OORtIcbt4hs;z?fvjAx5lerYXK%aJ_kR#?bwAG9WS)!oGE zEzxHsKdh6Ks9>_#UU}$T)k>B=m$U^<@6Uv8s9OE&o5S6}IdcO~S?Sez<TXEAlDMzj zw<LeIqsGbpHUV>q=xnte{URP(&hp8#a+0Jkyk28{Zt|*P=b}fG_5?mO*md+>o8!7C z#=ZsDwe|TVFX*KO<fWEe=TfTW@a4@BOL^6mF#EkY>oZfXBC9Pr_DVbU-12&2x%#BS z`^dUjMH%BRJ(=(T^QaKc-Q^owE|r{2Dm;GipyBh*rn6c+XKtM8-!+l(M|n)CvskTI z^x>c_f-B=svl!f&v?%?=igvMAs-+nxT6cF#T27Bl{}TSwONIZfcAMsod{cJ!FCD?> zXZSH!3s<T!7rCCEZmx0f)C1P*lc#JkyW=pm;Bt4shRMcLSQrZGW3(%NZRM3-GSw_% zlfn(PZpPrBOV6Hk_n7j#;Hhf-6{q<hHl)?5@_pHKS9teH&qr5Q?0>4Dcz)H<e?iOi zSFl<z)f=_FFV#A0`CN0|J$BKzB_E#o8Se^7i!#axo?R)*@RQ}(_Gur=S}hV!oUibD zDOQrUV7|8Iboo<E*Oxro6SyEuE-jGP{OZ!ES2w-%#ih&w4jo{#y};(pCvUV!cclh{ zkr~6HM+WB-bQmWT>+79$EN?GgbmkZ9uAlpbXZ6h05x(=zJcH{$!>uRGwc-C6f*P$p ztO<LiYPe6q+(rB8n$;`hjh5VAqdnoGa7W9-z9VTzGwzE|>iK+!H;|=y&6@s6`>i!| z=Kk2}EbO@N%hWcPQttL<jf*BP9%lIF$$h;4=vbpzlXvXH3in`xr|tHx6*k+aJJ@)6 zx3;it-KkN|en`A~Pw|^eIt$PKd$yn|Wz9t^3(XIS8`wklys=p*<M;3LqE5Y6!pon8 z{g&^_d3Ggm_tk@*u@RfE#ysS+JhXZ3Rpxeag8;#`8(NFk9$Ou^EqXuiyCoLSr>u$C zea5|$iM!y@iK(x59sOWt#Nk$$s_=70;GSHIscSE=N}d<dI6U8=Eo^g(&YvX<)!tek zS$R(_CnB*#?VN6uqxJ4n%(pHX=jdM&nD|7sE|(+ni4LPn(!)nwf3E&@S=l(RU?az= zg9p9qRy3b_$KCC7_20`q#oZN;BKNT$>z{90?-?i8%RS$iD}MfAtu&iM*0(Cc6!(5; z_`NvSVyE`=E9-QoMMXI^<geKoaqvaJzB!I5$&aQoE3VY|D||wkC(dp4n@2l8&lPxm zGJVFq37h^sO}6XcUl?&Zap6CuwPnY$l3y%K$&l)4{_C*p;n%jc#v3*6UyO+}ee-wf z)X&fQP4XXZ(N|1caplRbBVPRz;!7LSSI=pgudq>6=IE77&Kq$uCR}_wS?BH(T_%^Z z;`LegGgIpWf_vZSgrwJoy>0K^(8$0Sv^bXO%SAu+d^ySRpDWL=o~HDA$CKX8Hq(@k z$|=q|?{l$vX^*=6r@Q`F<1e%*$F$t#*LfNrEEbU7?X)27*VNZVYnJOPtp6Nn6|?@X zPv+Uw&)U~sTl`zJneE%Iue)~rUaegl@cY~S&GwI8{%5$Qt!rKRt!m+{=Qmev%l=z! zpK7^g-|Da2mc6kzXS^(ZS;4JPIWze4n=b+PB3ComR@)XipF3Fhlz-Ke{o5X_o0xZB zVdv+#U3zNIXNLdOn=>u0EUxm@<(0v9j#anBeVy*w8|?o!_3z4E$B*;{Kit(WufUc) zrQp!tsas-x>6|~wEGN@t7v|!ALdRvRQ{%Z)>F1c9cPq3zPTJM_E%N8o*GcQ%ziPc$ zn3Btw)jw@@dB^M(QqM%6FWPS@7UOI)b+6ND?^c$!KEJTTg*n=j=1;n;J@d`>zo&kE zjjUSPRI)LuN@Ew3p-lOd!l-Wy>$=~q(Y><PX4c}D+PZbBN>x+s4VFJIO>lSD^>^BH zzR~BAO-J~Sp01ZC^LZ|2JTLnkw{!9H)bCu68P%0Se7?r*Y}nkqXxqA-N)P=s8)q17 zNJ<OVe)wwbgde5BU6s?OcA2Lgn0oFTYy8{;T2g-UCXA=_zOFo?^IXS#^X68==`9Mq zKcW?!o~8<}?bKj+C!FvkzAIc{j`5`3dv0rAd-cs?YUjC6;_C&u3OAo<iT>1@ANp%` zlGx7j^rdT-9=_1>@~Ck_wcRT<%M(sV{shdmaN%a?@A@-gdevI*wjCjsYs9vRdo|fi z-M89aRcg(iGwR8uTS}B3R_k*}-OcAwD(0HIT-KwaXJUKm1IC#6!yPM>q{W41OW)X( z)%^E*^r75}h+R7Eu97o$GsNC_bhNBj#P?YDwWrQ$hfS5ae@<WH`*hEBZpAjEojxTz zj}r5qKiNK4cm>zf+sg}fEO5DT>*g}qnDVCAtA0-~iY-xenX|=e**3oN65Vs0lNy<Q zuDyHveOj@k+<DjJrPGZqSA67otU7;<ruehHCV>mB*M{GfdU)1nH-8Je0;hU}hU0$K z;z##d?L+eG9F)puGncuo5HFN((Nq?EC9uK%D~tBKd*|ZZXXzO|6mOcv()Q{>7~|wf z+s9Xr{?xS0;s};=So5D@tJ|t1dkyZm#*!<n3z#j!?;f5oRqC_Tp>tcW{_(q~(Rugi zu9@~?owwentnoNfqw6xW^l8@JyIdk~HdVf2I;}4l`C3Upy-8ouvaiR_Ojp~RgJt&0 z%<Z9be@>Mw;<&H#uJzsHU6+JAmhl^1T5`+AXd{R4Lq_(l{A$USez#(dm8X86Jn7)( z-=<g3ybr0~9wOZn9`=PdTu*SZ)2CB`dfUFRX}`*u^Ez(Xs{afY5q@hnDzY6kT;ULH zb9qKg(fv%W+`SVu7v5g*<3RKhYmP_ECX9tjMZ956C+-$r^lb1;jh`fZ^ikx`HEV6I zF(rLBm@9cEZ^i3*tK0aELVNoXL=1LtSPJytG?HCo;nda>zLSf2k?)=T35z+*?oLnH zpQ?LYxW-#p_1ejUF7Mq^1=q=5cydg*M*P60Ic5x+{~2EDIUTv!EzsDS*wglX*7=L^ z8jqsBOjscO#aTP0^}Xb&3&sAK>PxRw^sR9D@aO7X=EICJ`Ncu$=R#bJj0(?MoL}f3 z(E9nL{HiAPiCjEw$KI%kZR76yJ@<%c$HRLp3tmg#ZS^<L=qso(*nICrAiwmIbS}P_ zgAtC2e;&l<Kc2Bg`<*8J(I=NFYdDcXCj_?h6m%GTPV)^A4pug36C+Vd?XXQTfF zZLy*}k1)ySr4}U{!=GkGRK40*SezXwe8i~5y?hDxvhFKCx|<4rRB604SpH|hRDolO zIaf@s#LwVXe6IaPTh}zqajl)lc7@AD-SZ7{u5GsrvW*HWu8w!T?5TZz)rogcIUFVY zlEk9!2<`HneOBPvv_BSIjdMPQ|2#DFOIYofO{ZmdOku2L`a9)I_{X$r)7-Z?*Bovc zGOV#E5?XlU?KE~BCx^olTwCtkU7{`EZ&VbKc37>&YVH&189$sF&p+EN8~*RAp_*<f z8=G;GS5Jg`XiJjHhiMuT{~3%socJo6mRNJDmo%)anZuT4xo*$ZTggsb)5W&kWZJYR zO|*NK(s!pHNf&l~YRxegKeF)TnV#M`OI$zi>gC(pV$S(mbNj>6HS1mrFZ%sn_jLyI z6z>$?n_|xTXB(8+*}l%!x;JUb@c==4C6QYWXCruGu6?(?5%Ye!>G>I9@}d73u1tAs z_Ms{C@$(Y4cS6Qj>vJEhu@zs}QS_tfKf{rxy*g6Ma{N5+L`FP{`qesRMY!@xMu+R3 z(fgIEEsM1bt?V_z4Rfs(p4q7AY<U#+WSw1N^aYKdr~dsASUzpF!Ph$eZlP^a3hs;M zO%vMpX}`(6Q(=0_7t=F0oqo0M@m~eaa-KUPR!<mWen!f*y0|+%Rlg{=?BPPkb0%*T zdiBCR_fDycefo{nyKePG@3q-?OP=4XwMdm)@qC&W``Idu@Soa#;oEb!hCN;NH++5S zTFKQ#S1XGmYyLAdz5f1>`#;0C1wT`EuD`tLe%!&DuiW3l?M+W__;S)g>h7hU)HAE) zwRPX9eLJ+j^u>az^}bvuDwD$1pRN5Krd|E;qUY?Ff7q*S6-Dhst4m@<KiN#37I-e) zR8B5MuSjo6e`J(^5m)}zx>a^r7nU!*oG@?IpLJnTaj%qZ=E}}rJ#C(sLxB9!W1_!A zH5%ULguhsS>ecPLp_{IW9E(iky7^kQDz++PN!2N{4QI4FGd@h=eZQ!Gjh^=Fj&Je7 zsmYHfMeW%X*{`%`m&Rq!fEcDz9}}*sY`wlitL~KPwbx$)f99uNO}sv-=fpXaa66gl z>$=VzWj5IVYwGDmOvR_X`X|j_b^6s3nX?NWm<kKMlpW7j9gK)cp2!$I&4XEbr~cQ# zFOk|?&%V?$*xq(Q+}G)&ys5&C7Z3WU{#vtTLu(<EMPkIC3&lL~_cWi*XuY_&@`QNa zd_kLQbuN8puifC8a=y*rP{-FJyUu-5U+1Fu*{11KZiVH-g}u+FD(fYBSaR>sv^SXZ zsK&fR+k1V2;6(LPF9anIFyt#vlQDmjvqeVFW$romNn8I+U7s^&|HX9cI{}Ln_en-7 zRjn&Od75|6)xU}{HC_9y9U`kl1z$B<^lP}Tl|JzCk<Uiy>)JfG%00Lo1y6-;zUH+v zr8rCKlVbdJp`-aqJ031qh}!%m!Xw4cqru>3){b&NmnpgVraQQO?#0fUyspu2vFaW^ zy>6LG^U%zLT`?Rn4)5MIh~@EI7x1;{liU$%zOl_*T~t?L&dI5^`rKvyM;6sg5zcR2 z8?}AO>Zt2UEZI{utT){>5@UPXmayi}L2l;rVxK+ycVx;$oXcEt#P5TmphWo^#`s11 zqJ$P(YhLyUvs<9dKlAJojl(vFPG5BSdFa8+GpCAo9dw^3dttW4rX6uRHGb@HS@dkz zTZ2e$@rz;|lhjfj1wwq1&YUWkW3$vv_`2X(zxclrewk&{`7YLbJW`b~KDnV~_AAAN z$1=}V)8hlyChe$A<jgs6LQ}XSrQpf-Rp%GY{<*rMcv8E_(WlNaFMoIh=d9Z(WB6?I zex-FUo^o+-EIl;a`u?TxUkk4rYu&lx`&>bgSzuzp0;^wB9OPvER%^fRbPwf~j5u}7 z#Ng9fS;pYQt-DsLm=#TVo{)HWc3;*DYngiomKPOoZ@SXCK{a+6#}*N3<B*-UNBp>% zyz0xIUCPs!s(btKV6}@^(+i;;-SfLO0>5#a9+A4ZdYV%CGG;ed$LDj@n{=f&%rNYZ zF%yxzm#$*WxYN}0!Q4mPE$K7eE?<n+*b#6&bD{=M@;nj$Bh|{2D-x4fcWnG%vD)m` z6uuW*A2Qikdg&>>vt+G%U-9I+#*uT|{F<snUaq+L;WE=}8~u-wQFrbHwns;V{aWq5 zO6*X{F2+Sicecn%>4#3rFnD>Q#kuJ4%m_}U>xwROK1I*uX|gDv^LS!J|BAp*;W@`e zbl)B}(+_&Mwn1BT`6L0ocaj>_+n)Y8HdXJm)0N{^uA3Bv)gE1W=>PO2<6-3rp>FRp z<_ZsH@t@JX*j#Ot*Qvm^CF%t8?Ar>WtRGA_y{kUGyP@sHoM$_iyh!yqVr*LOwpoKo z>bkH3Q#bR*2PGD!i4vX_8?yF1U*KM+e9W~=_uO|a$HM&`3Nc0Edz+4^ChCcuar*jU zVUf*6<8nD65ng}J@Qt&Znv-r#T%@>$x0$)xw0MbtV0&iCX$R%1aN&<fXGyiR`@{>C zsqHE$j^+CNRHLtQ^`E8kck5SuI(tg={TbGVj>M84)rcSY-KvY%CvhFk{indz#ruAy zyAq$n3iDTUKW2E{&HM6UYR<unscW0&N>9`llTO;B!BDlLOlFhj;gU~Ai$(4|b%}N@ z+%3Jz&-o!2gPBdXPVc(y9rH3iT}))kT^O<J#m487NrBx5)dKd-6yX<lT64EJu;XWu zU-zR&dI1;W+s#c=YD4Bb%_!zEiz@W-+P^Tu#lrIT(OZghWF3R}GTuind$9I#<2^5i znWbm+-<`E8R@aErQ98JWBdc;s{%6ki1IL`3{!R;&e56$;({=Z!_K_V21U5XLA)axO z``x+j{|pl0*Hvsjhwqf!*>=M9?s`|*$<;EQ!P8B-q-s4}ZkyIA<z3qPB5+>K<z<JR zM0nXvcc%*$d2Ro@TC#Za4%O&K@hSQ*wH#z)E%m=T9G}JVXK7VzYF_&$w>U|z<1ZR| zwrV{yU(Xnkt;CltR<Y&DreBNFPl^6@>b>GtzDc5`Jwvp0&(zO>rzibqIO$k6DK*kh z@vqf-wH5mv+W%hK_bGt=!s?#mrZ4v_nP@ek^KQ)(2bc2`g7&-CJ8k~7>EG-1aTz5i zV`KbH|1(UPTJNy=x(Wa4PPbd10(ehsoi6&^H{_+5ugqtycPCzn?mT;Hzcs7!t4&OI zrd2&-vR~Ca=~vUPV{fm1eYU9PRR5|c`%|Az6IeVy|H+?)5%)vC$F2TaBwzY#wf@Dr z{eRcmPXDEO&ALAHm)!Y_b*I0FhkczY&=)JdF7xn{y<+mKIxf#rNWHRB@^z`k<kzLI zOO$m(w3#X=Z2qayv8`zHW!I&xhn`>2*%ZHMSEsGs=Fjm9efdtiK7QF4S9K!rt3$fF z!vg7yO;dkO{iWl?vb{p6J6*3^U)AOdqu}m?tM*jszw6P`oqB4cir<%(DBnfrTJ4_( z=B(TETYXs~pN338=oI&p-aDTxU%K1Uzb*Vl=svIX6Z%(H{&d<_xU1vWA<*#0CgJI> z^QTVO9m9FIY1eU~t1_E*hH3p%&e0C6Z}s={=G&3euq}LQ*U$Hn+}7f*|5jPf-dVTm z--Zy6JEubTzl&6O9rNz4&yCrSIHIIj?|ALYF25qQc<DixY@6vf7C4?)&C4==CBQyq zs!i+Eujbk(Zk&30iZA=!zQ4h(+najU&JsBLAoUkVOuND&?mC8^c#a)f{~1&*!d{%W zUN>jTU*SHXGm&4z-^<vE>9~uDZ95zg(8L}j-d%3v{g&$i_Z@~^nRzGg%G}#~dt<4U z!pr<GhbE}coRXsUaG%c7n4gicYk4moJmtVEB@ohQxj~g9Z_@84>+~0Qo{SfN%JrZ` zXcNn;7!hG*AH~83JBjE;xl>jsY%ZU4D8F@kaqpEx-R&JKX7{}5uzK0*R?`@MO6S_# zkn>-e+N%F_ov579!+q}atPqDI(v$s#Hh#|0In&d!==I4htUpa#k9K6LN}So`JXt61 z#jFWCi&Wj1b)=UIHQ7ATJfiHao!5DSH+adTxrqgw=Gjg6Kg<n2r*`Mv)?FI2#XTpi zxykTuQjzZ^>B<=A3Xg5IvwnI_JYQj%_$=VC*vZM0j;id~_M?mC_C&T9kIFc$`vTbK zC>ri5&sqL#$wJnfi!+_|R&Kb#>=4FdeP`;Kss%RcJ&Tv5Tdi4`w)Sv)=)CU0bHa)1 zil0{~E|2m2bp7G%hK75u@9|8XpfK}^ph}7kM-0#YBLRwMnrDj~aokZDyu4*<ZjIM9 z|H+g3S8dw9!dI{0(T*u^A|8vqOk2ffc<O}Ua)IEE^uw(#a-ZFGjQM!)Ya~f*;I`3u zEV|jBKRK?(lzDPgl+<_592Ud4c!sGg(iI0cJ**G+dRUNh!!lZV!qi;eE8Hi83dIw* zh_E=_Q>a|?M1SkWl844;9p)_yvF151p^+@TIK;w$IWy4k#q5H23nMq4m=cv@xyM0W zh+nkdbn>QMM{WxkE81LFoVHK>*($D3GoRFno7+N;q@N5~c+Xz$%-iRES!vEK?F>t2 zubsiL_U2KWi7I^!ta}tUn@67ZD}ET^m@O?<eSziYsgl|4QKC=JU3w+E!^Vq~b@Gl6 zdh@&w9(m2Q=H8pn$7dM|Jxp-D_V-+i+TNK**v@5f@6da+(WFwe|ENsRMw5gBsjM9z z{{@BL^OAnPkkRVh@dug<>M!qXWn8>^Dd&YWfu|4K7P7}Iv<Q*d__XE2`llAh{F07} z{|I@QK1EX|B0+So#Ye@x|2keJ2Q(c18e{RFK{Jde-EFV^uZ7EkJD;YOyDvIEGo5+r zHT`yljWIltTgCR*b8jx#b#K3>whYgLrj8E}FXqkH)NK5bdHC<^)~n_hmc80CcW%lv zKEs)O5s5#xScFDReX(&%=BBHh?#$kq8~=To_G0fn8=aI#ib;oM?v%zvJ>|+Rp6L=& zonf-MYH4ul7VDG+)m_z7R$JU?`8)H<4PLE^z6<e2Gj9JrxH9(UYM<}@jU`#%uYA{t zW`3{HyE)VDd{e9s+lhh@Zf*AIGqPW1%wW6l_Id19-l^tBv*Yg-Y;9z_zC37R?j2{v zm7lI{=WN?#95E{*zibWTjfgidCQh0&d-8MB{29?}kN=#zDECLsP3?%Qsh_pj7*8IR ziO}-x5v~5&D$G>G=%#x&WyL+SjojR^{lyhm99;KY+2Q-6!=bJBPtV%wb6p-^7=6!v zQjMQF^<(80omd@leb?l}XB1xkyE=8*_dq3^33^shO!H>1N;;rfC~w-q@X)M4o3H92 zvr1vrjKGtZmQ4P+Zb$P@%?8zN85+e`9j;_8$+~j)t@+AB<(8A4=DTZ~Uv#N*np<#O zC~?D_TU-9E2q?6=&g){@T$0Zju}F8aQ$zgGg^{~IiN03+Gfg=~$@5~Oyy<$+i0+i* zrt^GvCmnSQP*F^t`evQ<Uv*Q4q;2}9wZ*}ock#{_I>b}8`aeT)YP3Din%mc2^iRy% zmaeqv=sEEh3ySZC8@67G){riYQEv<}m>#=y)!}m9Q~7Q;&UvZXYllTez48>aT+yq- z604MS>Z3)@jlgf(?@L>kM;}tza^k!|+_d=Y)z4RO@x9mJIR2e!G5-R$TWc(iKg-dS z*!3t!<N6_WQ=2cUN%l&cwi_6S?RSZJ7ulL@z5BGkWw03E!>Myjy`$c%PsvL@%Ib3a zQEOY;&DNjKm0mbK7TCNn`bqb$r`mJhZMbc{)Bp4)({86n_j?xlxa+O{&#*H1(t%b3 zmKs%movBwe_d6AZ#i!cGo!>j<;Q3Dfi#|Uc!ez8PuFv{iR+)P98^@MJgFL^CqNf@^ zZ-~lky5yaATKhR}qjq<+$!dxH9hx)mo~?Ybp?T?nxM|$e-X+#vy?SM;<gKUapPkRE zevf2jzVeO#V*0};d%RR@r|Wsue{_CRZTzM0^a|~_H<!=&$A9@h!<PG{=YObVPuicl zTeWt|pF@AS&idcc*(<)T(dS2ghoYLtS?Q{E6V^%Fa-H^>6;kTvxAW-Kp4$~pznMh0 z23BWrUFq|_SoiAtuFE#FLilHB{|*1OT0S!PjOJgFQ***CPrTVzT(qa(^rOySMc>wS zikv&2to<0XzPs$eieIAaRRO}&0>pnUw)9)&dA((!QqKApVuhtSi(czmYWDopuzJqD zJZSB7)$d%-Y7U)x{X1~ZmxjHSS$kE}mrl1{S(09~c1p^wHR|V1Nq=?o^V^{)Z`~0t zK9{Q}B7ai1=AYe%LVWI<+B=1P`4@C)kx|KA;WOS2VW*=PPWZDh`l;6CtIiSLH3lJb zmTLyx*}}^4bT7C4B9)?hlNLYMdLBA|)l^#@t{s<N-B)?}bk*~dQIC%#3V(I`J&z;u z=YinMnyzO{w@zi<ueAI{$e(xHmu&aoy7RWP<cjj%$}OxpD#ulY<s1usvKqfwmr@t7 z_Vd(J-)yd&Kbd|+kL#W#PlNCMLrG`#{EL+i*RDMq_ep25bv)DT#wD$`r5rJQd0N~X zZn;i*Qdo2KU(o(k;asPVzJ`@sGF0Q+Z9H7x?^&>eN5(;+&f`eu$t8DF)!n_m1l)Pt zCQ$ISKwLvy<KT4-7nx&A9X=MCCLOpQbzrJ`;Vrgh^V^jc#2LrWcy{%WM9ID2dd;Zk z37hw=`kBdHa(~g5T@}qv8$L!0gnv~O?vr_Tg!MP8L~~TJ!7|TGGyTX)PltrwyH6E7 z=Vf%%>2-1J+FctUtZeXHhxJaHx1nN?GIR27MTX*|yS1$DiMfB$HG0GqQ}9Q-War!2 zI}0n#L~rkuURw20QC{@o%yLC7hAnZgtB)RF+P})=hV$A98e7^PJ=gl-yNR2-NRnyE zdky9@hkEb09Gv1<Y<zOnH<@W452ZJVo`0mGd2&`m_zmq960PeSjS6qP=gZb#wdc{L zlZPX=tob!lOZ^nnfzoHf<=Y(}#;5ZAShK0z!Ab1!xmU?&4oygSbVmD}#+~Z6Y&IMJ z<Q;SNNj_o}Y&R_8`t7yTuCa2B`hNyiGvzspf33(%d9{ge+X~OVT&~dDUB>J#*Ik<4 zvUwh<sbVQi;?KOJXn6d>p>m`05XaZ4JDH5R{xg^!H8N_so$vQEc$ae#W76@&xf;G1 z2}U}Pp1w|AbeOMmW9!--4Z&xemnP2q5zV<Mq31Sti}eYm>p8xwmE3;m-ptCCwp166 zIW@=5W7pdB5L3RN<(({-r&I(Qx7JRWmH2R%xJJ*<MZ6zo<}9Dixy`XEpEK-CO2{Oe zX`h!*IJABbn+vPN_QguuTfY=&TZV1up0wfIOo1K#O6e*}9Njxsnt$SoZBja*AARW1 zIUXYs@rQpFXh^>BQh2akfSc#YC(ho4yOPscyl1)06%%BCq#E_7L-XuYzjMxyx+g98 zWudGtC({uocq$}*#i6yY&qgI=eOSW3=&1EBfd#$q1p~QPd^j{o>DDr{ciC+pRn5~5 zJob>jl52Xee213h0x{Rqlcjh3d{lgA^}LTg@7TUcRZNcFR6g6+vg@mNg4g109|G6h zJ#Kocqtq$O=J&zQpquqPt~_-gpDg<)`!@N0@!j37?H{JfZwbA5BKfiMS#i6qG5O_t z7@o~C3|Vm|@V%@=Kxysbdr5~*39J^}ICtLUSdmvdmhV~{=waf$N}$)vI$G|SjC+-^ z<mT(|HU7z0t`*$7YWb#IQTaPQ*NRuE1%0c#bWEz`!;YPYUR)O4`%KgJ@@BuA8E<k$ zdn0qh_qW=0Z}5$7SGxCUu|w_d<yz9NS*72)BKAH|`w?JmzIipn<y~1<LcTS;KYV%V ze}+eIjXTSu{qA~A4LJYQmf_U8;^sF6>gMUoeGF$`)!y&wEi)(SVI#9}&kd0q@>f-} ztxR@iA6<Dh?b)rrAumiBO)qd<uvo{oeFfLg*Rp*n%(*Ae@+fr2uJSId3p{JMByUIB zmFJumYn-?Eru};_^ilfVG|glBQ>R$edn^-wwIIcJ`l2ImUl*D(+!u3Lz_BMb@%fs? za;pt5G2N5+D3@KiT$;s*t6(CZ^Z^BqY0U{DCW*@*>xgTZ*{#yq`RHOn&pWql+msHM z##+4&vpYMSPiur{Z<y2V^zh#c_eb3<ocmSTFO|kG?m8^zxO(00RV?|@oJILh&vDI; zH#;PxbW6m$ZyS4PNBx8~iQ6hpn#|eBv^~9A-SS$1?5it}7ha5cy2!#sc%p{T?Kvl6 zo?B{IZo9iv>-*Ldt{WfiS@eR>cz4I@?ku-ek7J(33CytAqsPH087HQr67^(m@agSs zZ6e$CQiZ<<@4e#HQ{i&M>8`?Y!J_j|dfM)r3-xV#7;eccW>gcS$E`f=CAT1-UY?6( zRmJAupXE!kHkv#!Zwz~G^jt&DKVaXdHFtjasI$*8oTJ@q-tBby)X&8ow+}Hm6rWg^ ze#EQ6R;Ib{y*jI){0vdExz1h|{ga!1YZvV(4x7Bd!BfbTi}&rE)jh|ah^k+WIlG11 zeo@DVS0YDx#JMfDi)jAbDeg8QZ}GCM+zU(#b}8Hnn|4L*w8zAx(wG3HqlLb26a{Lz zzU*$=_;bDK>qVQGKG+EL{90X~QKUU*&eOu|($@)GecSgZC)5W7YoAu)`Yl?&NLk5L zdwE)2%WCEqVIL<*?+Tt{>!P!M#Z+6JmOob}>^mCMIZtfr&w@M4tkO^JZTmUrA$QOF z(!Z<E8+h$ocgmXek){5wEzf7M&+EP#|5V%N(DoCHEg2U?KHA$EUcTVX{zboacH5`c zo!PhQzTTOC^ZzdSyT3_%TI~GHH#QT0>vgH0Idu7l@}jTdZ#q6^tZ8_DoLeQ~<;iHh zqQ$R5YJaO9;?un#^7&ER%HyB4MeUV(KV6iYc`A3)u5C;6UKqXEIdQ#<!OXo2OMZl| zt!~=-Q)kba)vxD><eJ^xmAL2Ou1QOtK3P}O$#Gw~m?OShLG<}TR^c^wJ-$YI{d*@7 zC}gU2XMO7F8Cs`1{xeLKU#MCY>whWS6LhPq*0oB}!oMots%~23`$W2w#X4Nph*)&o zH<jO3EN;{Cbsgzkb*r^y!(XkPANp$Xe}>ldC*tc;UGCN`t&8WJ`dg`3J*YqUsJ7+Z zXFDrJOE@Q4iX@jFDb%jNwWs%1pz*Ur&dH~^dijFZv+y*8KVQW%<KL3}SK`Lzs&V%` z`ahe>?UFmh@-aWsU+2L>=Kfdf6qqx#tsm`P>bp4T(emk`@?uHhejO7Rw%yHldF2q% zC>ON+*+%{t*XU^uI(z1F-Pzu?{S502>Fb-m>`+Xxir)OL|Bk-Sw3nX+_UpXc6_Q-= z=WW*cXUlgrF3faqQ#xA^(cSQ;LHD8g35}R@tNy&((D?ae%puD^7iJnKFzrh=TM+x< z#T=v88gjY!3WCcHJSvjfZ$4f0^b`&Cjx>=o+aDGNxi3Cc+?maju|Gg`!MP2a<%(LD z$lTTbRk6@R@*`*T@-tJ}eB{JhtK&{yY&o!@Xxi3wf8GYNSZpp~PPxpi(-HZoOjB1; zX2;gE6-)1^w90H%bX|KWN+)#R>ou`UQ+2O6>1~Ugw&rU<&4meu6>~)AvgMby8H+Kj zkdhX9V({wi8?OVUdR*q8PPFnKwCDaBeZ<q8VRi8a?O$iFOftT6<mrt3r$t9Q{LNS| zhnpxxe>~#!^`yA@ywuVc?ek6Z%7R#KeGhuMb7y9F*{+rcZaaI!_ARWv=6Bjv`B~^3 zi$#LUzdK70DHTQ=&)PY^Yq5#1@yxp#@9x<5te%^nVzRCKO^DylDG@e)oy;l^vO<oW zx%b4=V(pPN$qx*6a7&x-I(^d9T<OV_s5iTJiyF@Jl8MsI43LpMciKih$Scv5#m$#{ z=9Sg*N`cB#FQ`xY^Yes8B13PO#bHa6se+Zeq%TV5t%-WIc%A3@gH3!D0fl*n6B!o1 z`?HEYWqr|^oojS0pI@{Vy~TS`UR7e@<44^6$_au;ip7qExNX-f>M%aLTJTh{X8(o* zDmJUmDE1$FQJ8pD*yWZE!`tiY44P#ROD|njwd}7~L+;Wk#{|u6E($luoLQal>QnHE z4;i8V88(=QNZk{9eb858j_NlauIL^a@j{>bE2<Am6s+j~tZTeGxKZT$5rK=PtXJ2) z;4PjexN@hD@@}5Y9a3w{`y4bGB5nw+DcPxU^zD>&NyXZF&0G`G7joSDI7LzAy_rhO z=?_m+^}iloB~d?hrR8eb1LiI2_Y6L?GH$d}3K5*RQB`bC;m4$i+4-$U^DSaLltW&B ze6rwNd27Bad%=$srIZ~n`6C#`gi@5<vu>~4_$KYKq3e}5`pf?4-hbDY*>^<BdFdiy z&90vJQm-u!y?nbe$nbXI>W{m1t$J=&|7ZB?>Q#O8^oOb6e!W}l-MH|yY`D}pNvT$$ zf{p8CbR!@2ELmf*p}&E(E9FnXlG?z70h7C~`Q0k}&yaQQ?j4yDR_i{mZD%*{GK(?v zTd}cd<>p<x+squxte45;ZCh8gBJ)~x^*M#@**2xeHg-*w^-0%@y<e8~)@knV>#ydj z%&a-GXvxmh^`_UIL_L>DN2RtEYxU`V&$_T;RyD)&EgOzzJwLL-v_0!+<nHy$&R$q9 zys*7!p-q;uUxxHAk&A_;N>+yoBsL~Ym|ZdL&Y{Ab?=!ahDDGY6pq+Pa(|TL4-*=f6 ziX&zf{qQ>C@aQh1clnzI2kco^>hdZFg*@8l=rXaQFN-a(?tt+Zx7a5P4h+V7T94h7 zW7}H%Lcm_-^+!==jz33TULO(Z%r~8X)ldIrj{YtQ=bk>rMY@XT%edL5radfv!+eU@ z`slRk#;D^RqSK}`tkEkm;ggJ5?z5DM<=x4tO+`Bd+QeiZ?)o6?>cekyXYuD4rq1RU zZEAMs&gRR%6qv&kd1u`kzA#q#8Pj#5z6P*GY4clzH(wKHos+}V7pJ!R(qX2U2X7Ab zSg$iXvUU%9Xko?Orls-Eq88a~SkcpU@03y47YFg!X3b!$J5E-Tdsdvi%R2qn`j}IU zhby)v=&LASbCUcT{>9&TZA0MKpz^hc`r23Bxw=i!=F{1j^wmw11I`>TZ;eVn!V&Sl z^LSn8oG8OP3|p;#u0H=XQ!ADGrIP4oGbOS2);sS`V++W!@blHk>#hi7Kawu;r14U| z#=EDpCpJ}0JsacjW6tsyPld%cY8(8{5M*MR{neTKM1SkfmGS}Gr{Aqzx6b&)sdI&! z9*Jo`<m*vAWp1VYiz6~~LhyWb=1FCO)<4D7<J2B`**rH*T)QytKLhXduTQ*s)w~*( z>p7Zy-8G@+TJe<??7tJ!*A?unTx_YpZ$0CL62JDLZYAl-v6<R$to1gXiQ?+5T(ib6 z(f!Oyx$Ut@uiu5gy;=Dpe8ycxzw(o(e{af~^OiAU1G{v)=+vD;YjPijec5#SET2o> z%5K+ls>^3M`!&|Rt`@5knw?v!t(ccucUt^x%umP2s;O2lxjjF}Mc&`6{5fvV_4WCt z-y-kN(cg9c#p3@ATWxm9oz~xV-FkK0uhsfr+#c3W-RD);m4EZwn^%kHrRG~7W?@yk ze`W2bn7|jUNB0{&vs_`;`Z8ht--GpU<04rT=OyLrci4Phq22OPSl*^*t5cV$t$aCC zJnFd;(|?Ai*I#SD+bo-~W}mm^uBS3n{)#?y_r7bcog!%dLQJ~UV8P7KT-Tm+9Zj!I zEPf`wX#1JPR@~0h?`U^^vYq@*tLoMAO(Om$6qE9knD$?Ene$bnuA|TRgy^)$*wkf9 zJ>A!Ju^#!zwBhXIR>%FJhu5A{{oN|~YOQ6u#usjphk}{nF*{dIe6rzK-igJ}4=wn# z-|uYInq}V@)->Eb7y9$Po`EI1=C2m>rMDbg%N?KW4V^Fkq|dn4BSvEFQO(VJKW>fP zc12W9R{RFLwxr+wuMWWzKE+JlFnf3Br5OxNuHVDHf14C2d0TbX{%;d+{%5$VJvX2y zen#uF<uAnNEoJ*;qoRAAbN0yy7x$wY&Bxo0OYx+AH@I>!v3gdcfM2E96uxgSHfUb& zj=ZpN_qDxK-1PETQ!3Ue)^)$xQ4(3@r5@`TSJ}3}O?ipHqN)?z%C9!hKeMi8!m|wx z>Y{TyQ>P1NzLD9dp0@t<q`IH`J4~J3oPIb>GHJT5<7V_Q>$9YWRpf>Z(i5jn`B=m% ztTXBLWlPbM@(ZHZ$`(#dvTAvBU!Z;GiGy}UbD!^4tv&Ty*Z*m27kA5(qWC{8*J}KB zDhibM95h(M9~3TMEpuzb^X?D_AwORSGo#(9{--xAx2XxAs{TYo;@owYUB7Rdtmb`r zm!l^3>8)KnP192!Zram-PH=C>W{((ipNz{&3vZt7^q<zAc*ZY-qt8K9CBLXudG4Xc zd8@8H)%y0YwaaBo9=quIncUx;OwWi!3Z)%cymmcno;~Y=0}(D)YVt+yzI}Y0qhj`& zmD?S)&zq#qa~GPctT6YlG0O_e%v2+Vl8E%uKTe{v(iOa_>x3tDd=73q+-cA`{n=*a z89f)=E8G@lPVX$q+%r}0%dXDLj+0KGSZLn3Xz%+%?oVz@BOm>_R>^ZiIN|JijRR?t z5p^wV6n4wEzJ2gDxcDPWQsKlSQEmT>pDc=g-YT=b?e|v4XUR&8e&x!Oow67FvgF>m zXO_qZUhi;4^IiMT=xl7-8F$L}&ou3r+g!!cx?4{lYIhSenH1bAyKwH!Jh_i+A8O>9 zYQK4xn)PkDf9KtRyFHSu#!GiwMC2z0Y&~5xXZq5s+ubMK74H^X*f3A_kLTLM$BL#H zTl97Yac|zkYFQk^^t_z&s*OK$d5_xj3!(+N6Q&xME_^1n|5c5yoahB<-OFt^oh<w; zAL+)hy)xK-*75nG<GVOEY-&4m<}S~sJ*<3lJ~ImGC5L*p-sEn$I;V1la96RSP>tja zcRt;ZN3KLgJWG6}r^Wg4be8DR4xZBid2HKew<Ro6JW`k1y68r3sga?D%L<#Q?UT|9 zA8C2^70qCF{&}VKe)u{K<30CG`LeUh&TjcWB`d~q<)OV+Q{|pJXC++>DXvH_Ok(?U zXvwpH<P9>b<W!xLZmsH_oVM(ywB7lH$5#aoTNJ5izTGsZYp0sk!UB$y2U2!yw!WAd z*LB+7^hmYR>=VpplT%{eDbG*8nSC=e?&Xc@ZSUKs6zu77cexcB-!}W`orjZdX3yRF zY@hOuM;in0C(H7!h~*YxzpWI`e=>=^Bc->q<d)2W*?x|0yIAd~dT*-p*OC=G%^9&T zVeOseN?|XK|BMm+e8p?W&nd4nGlG(m4y^7mJGtty*}F&F#!tC^J?HxTVyCskTGff^ zUY&9&Ym6uE)UNoo(LMT6%+A$}7aRTtHa=rwFsltOlkL;<4zX{K2xDA%!}WQ$kl>tD zEr){b9k13O{m3-OE>*VjU{rn4->^mBc`et>Ikw~3qYX`OnAKXl|J~embn&JP+lHRX zbK)ZDPu9O!viF?5fR>+m<+Ba%EHYbGPB$rLEEZTJ{p8Zd`CSLr2*?<#tUfwBGdTN+ zh<sPL<HYDa?&=l_CoLAc6rZ~ww)3-ZW92=@6C37K&tAy=-bI+>#>ZHH!@b(Z!V{u5 z|4dCREGs)?8ri`XWwp9$&7TJvr+zJepO`JnaA@Zz<;_RuNOHvUm|Z9i{%H}WbnSR& zyj{mvvsOOygb7TO&zrNhSa*1PxIg$Dc7E2m+>*q7BKIn`PfL1k${_!$wTNBe(e`<- zQ#mH5eTnQ3T0hZp{cCOSRPA^JL1)41%Bu`N+$ssW%c5Lwsc~L=%_Dz7Egre>xH&P` zXY69R|0{53ragy~-v={;Wq(t2_N-f!JR|&hvbO!po@+mI&%K<zu6|meVbjM3jVrG< zoS(8PA!1AHh91*(##2_m`?Tv(`->ZqX{7-rlBV&-i@Kj5T9m#>-13RQ!)*@hH|@We zel%Oj&f8vL?TSsObf>K2*!phm3&tRqV;!Dff>)Y{o%TB)%hf-LeO~vOv>gw!6{})R z{xmh%JXrJS`=<R1BQxhLE6HKleCf5d+l%-V(Ia12^LC#KG=8`{bknPS4_5DxxFVV? zmzw&T<3`ODpOVPivl^Zjzu2X{GCsB5@4U@#tFro4e}CK8Klr=<xAEIQa^0tY7{#wT zf3oyy(Y7wDmEm9B{JX9DP<ZNY<-;ptdOk(>|zEBL1%LwdXabuNNhx?wtB^(dP_L zgWE^;5~r!zo_8m#oz-SlwL`h<>Eim`NxxTDc^zHnCbr*n{#oDk7wb-&++QaAJvQm| zr`L)$yu3?mA8&rIaenRfFF!ouW-j1yG%H#2_1VsU5y9sT0-bD`{yM}~t_kk)>#E9H zbg#>jTe1GtCZm##T$QtTuD<pv-Bs2&varUx>e7b!T`%uEI~X%xDUhW*?b4d!XZycv zY!^K}{nBaw(B#kIPctHR<jyF|?zXuy<CE6UITvRhHlNxuJ>rR%V#{%JQH3vJ?kl!l zH(ufHe_AWKEa$1by5g^uM;l(I=4`3zKU<ofa#!RYo1^bJ;{wqWvZ8Mu{E!X3b5Evu za_YA3nE`zAr&>Qp9l3F6oBbKNj?D8dhwkq7+<Gx%v*TtjhH39UY)KQnSL<}@&(fm3 zO`W?e4_u#BGPyj$FZ1xHdt7tBmt?8G3qLGl9&xT}TbS)@Yt2m+Cw^Foq^_-XvbYnl z`T2i_#hUN=O1isJw?}B39?RkM*|=kKNBr~%m#3Dj^$}sSKR(i4*YV|C$dRaXffYY) zg`W7iW^YtjCBM)l2dSw=?{rUQT`S%6!{J=$Uyg{)PaNE0Gw)_S{G@nV{OH-Jy9{v> z8TY1kSoELn^!Tc)#eZ~WxYehyt)EpBwkb~JGJPW2f2OQp^`Gl^51Q^!7XLA0%8A!p zch<BnIC{Y0-1HQMdzCx0CAMENDV>^pB<J4h(+<nrloA((Y23Z)P_z9}tMb*P-kWDy zyDV}U*6En<3@`c0<$tnv!%DGjKUzHH)z;qG)%xqy4qevU>liH;n|<^W%&s^!!D;20 z-FMGrF6dF+)zo8@ZmE6VBBIdp`n0BvTYCIz5?k&pJ|+>S^!C1L)sF2s2cD!0Co3H7 zTz*>6hxN?#7gv4TRx_`fd#rWpvS$G=7pcqM$~*GhCHag%OTV$^IbNQ$b&NdQTN|{m zhwiaIHGjso7m8-3maJ@C^U_-jcEla|Cb;BgMJ?C-IT~{<IGvn(QeK1^)*R~SKhrFA zao*2@81s3W5jpv(6)zT-o`~VNvU&&ilZc*zW3D_&oN{lxgg?7*_KS$P`6{LK2F#9h zNh&nUdA6a!;R@4&@}`@odf9>&=`V=i87cit(epyaO!khr(<Nq{=K`KyOcK26Y3IQ5 z+;I2BT@2CJR*Lf$Jv^hf?c(ZXFK@Urwl-aED-;b*U+$by$)_W_P0e@LvdhyqEfx2! z7xv-|wLX)!O!wvKi!rA+JY(9scG6!#m8Vmu8rz@AeKUjG_kJn+qs<)~xbBM;9@(>n zTl3k>y^4zr`nk5QKeCarqQ_u~MPBc-RqZo=u6@q-@Z{1H9QVsyR_6Y^nQz;^AW|){ z@O%wZr?Bv$u#Y7>BG+im)K`Dh(3q!jWzy#TMpvxQzAhA)YuTK3NGAL|TbA{u+wV?< zmoMbHVI?X!^UAWGkGnoETBWl0+`}g`?l8`X+~0U}weU5sIyc{?NyW{UCf$0;v%`M& zw|SXQTvZyGC$Xc5Px#fQy66kb9{9N|54QMyU1CY*)cBM<sT|&IQmeMt@*jG=cb#vp z*$%cpVey+b9npUl`qg~$?Wc=QC@%Q*jqy+XuK8=0C;!mp_!=uVd7<{~ex>bq3grZ@ zEzsC5@|@|_=HGil4USA<`8k#0j7gGeaB+O#jrwWlKC61J%P`TlllwK*D8!@OwfRZF zsauO4PgnhLFDcCBb8GPv4ktJ5yGvG^^KB3`T70xyGv>%Gu@CBOE}F(a9kq^bFA;h? zsrm4ujM$QJ`^&06sUH>_PD@$&V{3rvIj{NbW;;EF)LeQdyWBk9A(GB0C7PW1NHO)V zR>8K;k6XJ`cyAtiv~hA%&IPfTKh@;8?;d+?xyLNn+epSiG_~tytjwF&Orqy@?+9J{ zlW7v?3$f_qp5edr1?L=|y8LQI(Uq08messx7G2zDQgq1Me6wP$!qjDEPmXKKZ41`h zuy?Zhyj1VJJ7K(GDqj=}Umq5a-jP4gO!uC|1}%p9A&z2}Wx|ruI$^IwIvAI`7Cz;k zx?a)QIr&khTdvvzZ4u|T*?p`IIZ^Km0zZW@Jjh*gH_7bT;+b1s^(`w6y7seOblM!< zu#fjn6+hYZsUY0`l3?d{{?NVE&%~-e9LqMg^LQx07r4r<TtWL>&E=N7b1z%xPiR%P z+!0@_#rFQo>U^8ev6k9`HczYWG<C8W^jtGyxO-n=wY&k-j7OFN?SB{AE|YAX#(4Ta zgCy6#1-khQ!+$dD@X2mjX*TC!)vJ)n^BhDqetNg5zMRxQ-{kzsN$1b3?#<<X=Oxkm z;l03iC3l0(XYWkdSlBb6uRKt_qELgmeP-AfZO*%s3mVSe5)ys(^QN1-lc4;QO<&Jw zbiUNq*!yJdi}Px0_Oz^crl;uj*NK7giO7BH8DU>EZueU+tT}riJ~cOV-|N?<uQoiX zTrvOU)VxTq8J}WwAMOkndlmk6)xSH_q7O!2jr%LWW4%w2`(%pj84;HX(f(CCWU6<> z?9JO%8Wwz6@8lf2j#>qMpX)c1wr&#I@A|rEx%jGiJ6BBp95-$1@0GvSTzD&Ut={$5 zxAd=X{<8mP$S?`}`sP&S{cUx3Cxpc-?K}Nm<G8A_Z&>#9neiq0UxP1JJ}>cnnh^4I zZ|Rdtoj>dL9h9)T_qyUwSEJ$TX@T`Zr_Y!yZa>qsBYgt*(HEirTvqoxguQcbDGvYr zWP8VFF8vEmmy)Z6RE~Mvai6uZUtzQMU$J`ElXa`(Rdb7{{#rTLDE$1azh2v~tcd?{ zFfMymqg<juU84KN)aTr9-eq0<9I1anbNi&eZOyZ;94p$e+hSv6^A*<Y&NJG2I$yIU zy!dlE_+{xH+3P~{wsD*NTBCGV)n~@+nPFBpoWAb*t?}f}#OqZqn)4mRCl?2mo)A6r z$CV*jn_+pZ*nX9mmd3)0@N>D`pEJ1jMKSCw+Vy(r)h%Zo?8=;OtS_6YWN)Bqd-m=& z??*@OX~tOJ;_%(#m#gaU`ph`6@M>$?^SGx^6RlEI**JR2-Iy1Z$1wG;&^r3JP_bfL ziblriBV4l|zFHi)qqY0<LC$THE|)XUI;xxdmes;ax^?yuksCXB?;fd`*0AHogtpK3 zJK}gJ`>DI>RxUbl{m9+pDybV=4(8lhP;g#Je3?h$y3g4RPYQeP&W_n0+j((<GsC@# zlSdt`e{Hp#)7laIjpKRCyxM6@X*a^+<4#X|(ArfS)%yH1)8<!uzHqQjyOI;JHD$l6 zWD%>!p6z8~g4y{@0VNz#%F}t~XtpU`XIZ~#0?Ur~@uqoUiURrVw(kzSXOn%MwdZq~ z)aQt#lo-*(JdereOEeBKNY03i=X=Rf6S!yXsZ-A9d2b2FpKwSn4RT?saP*ze7anzP zb<>hRt|!+@)kJCXTBLVOkyb9f#xYORx;4YEFEeoF?2aHKw!fjXA8q&%BD1_=<%JIu z7WuqZOn)VozVu7fvFSm6@^2$`zFhVAqVjChztwC0GpzJ(OD;Ves;sxL@+lW@yQzhF zXX8~NlZ)KU=LI8{FbjyPo0xYwZ)LPRzGuSgrZDr6F2f8BgU5UcTUtBcpZOuY;fFhS z*J1tpmtA!DpRo$$e%QjgtN4QS${({UBW4|PxpQc@>DkiRtGDGRb|y(Loa3;#=iM_! zCQ0$Tm0D+4<Uiz=DVV{OH!sd7@h&5G{^X-)9VWRYtT2AA^`xX>+3`ny-FFj@+8l1n zl2L!iU3)L}Xz{kL&%%ebZZFaiP`r@#gRM*N@0&Xd*L9w;beaC{PD5wswhV*Gdgg+Y zGFaE;R3G=M<j)B*_~a#Rxyt%IA9IQvckg?)z>{k$_nGUy)SY|jLUY14-fIl}-a5w$ z0u2k(*0>q%ZrXb$&u_JZ>@>OKjLc`Ps+W5{D*EI6Eh{uL?E}*vy^|aNNzGNCU(NZW zZ`&^O!!pM+^WIo@3-vcEYl}aBQ!pvvaLS5+cjX#S)AJ^5NZgjX!upu+Ne!7fE{Yvn zOm05W*>lJ1Zr{oS&p%B4aA3>Y^h1t5j2F}^wk*GVBwg(7l+8NkE;0=ppUqyb5Vj-f zUD(6R5>5v9yI3z9bo)Mew(?QJ^2Tet##$a{R&!cCveZ;ExZ7$m@kwf|pT^ei2}f+g z+x4$3-l6_jOM1mgKS@b1vFj}w7JnLocZGkI7Y@94c=u5b50&F0`lTB~Rz2VGy?^<h z&?u8Kt>30xNwq(A&*^AuXRf%I`J&TGrfXT|i`xyGud6t1s|~+b?YDPl^bGT`UwU)r z@0u#RSS(hwZ_l;BOCejY+Mk<y@5(*q!gU(EdEzd-bf4DC8)Eq8%(~;&RWn1(y5f#6 zI?j7*ZL!<S=iIEiGj=V^kxIBRwehxU?ySk5>vB2lC78{&zVTPR+!Nc7(kN73;Siqp z=RH$iU-j9K$}%o-0-tuZN3S~1J@xo9)tX&8AFTxM&b@up<8tE)nZ6CP{upMP=y{!= zf3h|5Kf~=-hmGpStIQr+>iAbL%DJ#8c@E35Eju=zyQ{}#F#S`*g8h-a%&jtd^ITV_ z@lBF@xz020bJlXVE!E4UI<6gwy=UDZnpMO0D3|lxyqA5(9lKSu+_dTiwKZOC6!+el zbkg_i_PDG0p%pn5v-0MOef7I{>4D}i{T(h}ubz^5w{S;@wPQ|pm+k{DsoEI9BMeWT zO=aBn!Gh&l<GzcjEH~ypYbi`TbvAm>8YYP)a^0G*oFwK7Pn~|<RQ=zTm*rpFR;=#M z<hHj~;uL?xIcMvxqh0EY`1FqMESusNb85nad(oS=&tKEdwtD7k4WZj^nakr%k{+I$ z?qt1rZ;D_2RLhNjRWkN(cQLUNxAdIMyE*B!PTT5G4)-<7rJegtg*dP1#L0SS^u**{ zl~ESs^V~l3<N}>NQF;-ZS?d>l=&@-MJlb6%Gr402{~<ZHtm5WEZQUGIlcX(v9yXua zy~-Ts^Q5euw@g4boZFM>z_JE)jypLk?;hGHS81~P*Ov(A#mwJjWxRDh@9MTbv7W~y znj`p{!IX53nMFtVrYTQ)ezjPuD(;oz&y_ac=Y{TD#W;CI+^hvQ!KH2fA|1iW7cFWm zc{FYx-E%Ye^vodVejUBwsaLYOWqxvO`tmT){4z&mm5uiCN$1arB;7R^Sp3L*s_@bS zvXg)AaC(~OvCFiP(eIt+u7{sm)Q*dGa&hkF?fM;Uce7D&&ocF?SO2nTp1L!|&pGhO z0^XePMc1`kU+!AKb1tZ}yYXSb-G}B!cD-N{tg*5@{Vq)7yg^UuO6|5=r~d9%vU5#a zylS#t$GNs+V)d?8lNPUgqvsm)tJQq!cP^7pQB~`G#R^|+mW*=RuqW#Ee+Iq#Tk2)^ zHy!`auwnW3tI^LEU31@jK1BU$W%tUsS^Arv^}L?-Tl?3c-$IKmUhH&N*q@sCl(Fhw zh-lg(5kKXX-1>ZZ4ma9UQ(tC(OP@Dk>zD9*Ut<C<`jrQFeO{!#^l9bXkj6<;yN`)* zyh;?XT+#n~`qk2@)6cAwi||h{>t)okdam_cZ}smYRmSYnFsly@8~!}e`5I;x|J%t( z|5@+%Eh_8xOg%q|Io4~(M6pTh-g^Yts-8N2Wu0!q0l()bkJfekU0Rn@?{a%$>Ad91 z{G^wh2U1sX&$CUHWL_r9F!%E8rbl17O;vuf+PkDrUDH=%y^zt8ldEW3(7Mu{t>;9) zo=uh8_IA(eA}8O+Wlp7E_D=ngeq`~p&GwhIQqqgL*sXW0yp-cSebUr6&yqV0i^_K% z+PN)q#jgdNM{^Fiuig^0thRE^C(9Mm*B?iuUEZS_WBt2}*~YO*s$uiz@CSVY;x|^z zEe<zkJ0i-{IoGLuhnbCoqRcy{-7$*0d$qlJPDXS#eP&(9IpIC;$}O6DucBA24qVdL zut4Tzf?0BxaI~~kMdYNJk0e)H7tF{^^ijOV+uZVOQLc^A5{~S-X-ylZb3bi7aoF%- zUcdkM{6p`!98b9^{Mb==(nxFnYR&+=Ze8QngvTEa1}l6CzU<0)&g`RUguiE;lj}9( zPh82-ckSI08?IdJ`Z#GvLVi2<wBTwcft1YD_D?4#bT@2oU|Kp&y_-MriBnsLV9_j| z+ZsheY|%$7MY})USf1s$r^To@s%1K-S#NmPu?H+AuR_n<u3$;raCjnzbSdY~r+ZU; zvR8!tTEOu!(nW7$YRfjCbnWkc<)IxNc`a)q8uB6>cik)b)GDhdQf$Up^ep`561`Xv z!QxfBOCEBsd2c)+=;Y3`2jyy-4)J}tyH-m^z>>e+X`@A24x>u~-_aw_MTMvHu(CWo zp=`t6a%$%F5a$lQxfixK%l&6)u#CB-%k_EJn>oU_c+8fi38(B!<KTR|A?KY?n2b-y zqpCX=A0@>%N!(udAv41Bj-1$CAA63gE0Wh73oh6ie#KXG@8Zot@8`F5dv6Z)yS+W< z>U_63|Kz56@3h@_e)*Q5$qLU@jkeY<Z0t|}H*di`-xZo$XB_P;%NEYu^DyAm4yCUQ zNqWq}CPqC>bpl?(0gc@a+7?!SQYFi#J6I$ZOYf*$o)%NFW@Eu-H{n^^P1Vb;bEzHs z`+!?uhLZX8n~ddq<~~ado3>kLEr-oaV+NDOU9T>kOK367o-`+V&y=l8++53-Jj!`* zp>}cgmO#E0_w+s*?^y4iQQY=><IPn|`O~&unHO2rxT)98zWa~UcCE|B1qVc3)}-xr zC`(+u``g}tw=?#aa|i!k9JV$7gP#OrST5IYgPYIqntr)bou7O2<~`mA7gx#NyWZ`f zYPOUi=GK+JcM4k9g}cu#X3>6nrgiVU##M{Ib*&M<lRabG-06vnG|u|ytn+CSZZ!B4 z^wd!Nl<36yeka)yulrqKFO<0=oUyqhPHriqjhmxOk)amn5r=KB*#9$#PPFK4xauhJ ze&UCfRw)Yv+atNv<r*|>K1ZLEOLo1O_<E*a+pT<c)s9{x_mX+tKYewrwk8}oKH;YE zqI;P$w_cD~Jg24dkG6;--)2?MN6$9R3wPOFxiM*0?3}xYCl$=LIHSGhmch&e%^QyC zt>*pwq+{>rtl7d#mYtnx^nmBCM9#l}V9za2xb#(yqzJ0MO|_W&Ol#_XVdtI8eP;dW zZ7R62?ctWU{Dy@B+q$Cd?rxd&dB?X>w{@4})?ExdT>Evd#ss%-+3VBxxz?@lnJH6$ z{Fj2q(F-j;{2Fgs>u$a|zkwyT_pVguFR#DTf33=AZ@lBWB59qp+F_m~uD(0BOz$XH zZt?TJyJgdyI~HdY?_bM~(d}$EHF<q`)f=-+%`4v;{iaHMFV)yrXvuKv;rr@G4>=i{ z^iorW^f;o=On4`(adfe&`RUdqb)6$+Nea8m43%!)JIr=1!1SSN-0uxuEH4+$`6zp} z-0||N6SLootqb3#%6>)RnML<~A(g#5*Tiw`o)c#D;OvXOtUoNV%}4gW(@NfL5yyTv z#P&h{KEo&5VrQN!_4}N`_ny^O?9j)pmybuDW$QIA5WBxU<Tfw+o3l*a+565HKH1y5 zDW~*5!=tRL?6;UEZ#F)(BDj{rf_3Gtyj3}Of0$}qp7&;J(2f5LqMHn^EbZ9ZzawJC z#rFRUi;Eg97Pn~j>bKTEVw$$|Y<Y`Q_vEvwb*b)WTNKTnEq=9jz0mb8@$U|;E%!OM zNGqtH<0?G%*v9c72fN6#&bz|%Sd2eMm89sX=`YM;dUQ|3d#m-PCH|8-n;#t!Y)+h_ zcwI+xuf=T5Z`-uBQ>`zpUFIY_cgYhG|FhmM#a#NI0-o(*s5rFomy-7!g}k;_c};Hf z9Zx>DM&uoPsp_&R=`CxT`%^`qi84(a=T%JGKXt9-3SEVkPZm+RsRha5Oba)qx5zq8 z&}~;*#;<UFjmtbau{qZwyJLNx&RJP*=cQj*-08Y`b5~RP#8xHd<wrsu=6<fU)X~dh z|0A?E>CLS$J;@JKRbC(E$dY}m_Nw&Kt2>_xgI9<JFKY@twoPd59@F?~Ibk0qmLJ;x zooOROaoefG{l1^uO{}<EJQz54&bc!4eEXz1>l4Cs=AO|xel}a_F-MTkxd!bI#}+#L zZ2fy#Tf1^~#(RO_N0u!QjiSsK%4<tF$d$Jie$t+<w7=9|BakWW#?*s$tEyg!3Ff|e zYI~n!XH2l1z}nN34%x|GTK}RY<F&f^qqEV|{M@5&d7T%WZDQ(q-BpFhPS|$-qW=s} zR{Uq!TD<qCt}yG4wXEq$IU@5TBI7;7y3IcIe=S%s^GRaVg&SJuIv*L%I(2zZz{`^k zr%Ji6JuQABx;A@t^rEwue>U|h)~$Zaebwrx{+89X;fwx?-!1wSJoDL}DPK=!-~6TX zTmR<w$Z!8%&-z{V^ZCvBAJ5<3zCNw+<sZAb^HyKq9Jes~_04ZntMy`bt(Kqo=I^w) zF5~c%RnLOg*>s(Lwd6<dn*FKO_Z|gq+qUcLiS;*K&;005pLOb%&|>SfoyyGTxc2U{ zbPs*KX#bk^H(k6MUog$#dnNutJl^!1YSf>T@uf@;4}B67Dtdl%Qs;y>7wr`~=6o`k zom;-t<j=yIu$@v0#(ff6cB_mdk54-HD=FAgX6iq0+aku)XX=}+OT({Z%#=*n5SPfn zJojg3WaWeqZGWFE&ZB2O1uqci@V)l3*<8z^p=j64yG)OQ9q&$_HE++fS_fv+-rGB3 zcZuH%X-*2CuG;>ToB!#~z!|+<uf+>27bv@gedozf3~uMw3}+Xc5VoQrrBZ=?5&QI( zsp|6_4g9vLDBauM%6BilLty>%LrlzOU%5^>GFMl5{hj`5LFU|PvPnKuj&tt3qIB`$ z<KP_QNoub5Cv9u{JM-vPZabMCwbR=-y!Qx_-Y+>_^W>cihxc~=J|J4ScKW&xLDB16 zmhZBOUa~rSQn8C;y?{pN{WK@R$xD|kRJ(t@R3&NOGhLBAGQoQoBA+a9$zbA5IL2^~ zkAvZQVf9gE=Q5TUw(qm%<P}~E)4cXAVm6P;`(4Jq+4Bk#@2%iEDitjl&Um(a>Wmjr zJL{4{BF>A46kN$Rm@BQ7<~@4`*Y$0ydGcO83M|<?Ig0h6gV}l2x-!mnx@YbvE1%{F zsJtg|?Q^Q0T|onXQ$^H+WqukD{p_E%7<{@KQ6D?;@XqemwLwyU-fQdTavz@iMDum_ zqK_YAmps{7%(C{wk2$l%9!`3*WW~=(-K}p=W<J%v9vga`<HDLpm96=qo}bK%b99d< zm914QSiiGX{gU7zlYO7=seihe`druH;lG)|W<9sW6xWNaeri^3I&Wv|o`-Gaa~>?; z!}NRGS<dGv1&vpi<_jLp;Ho#hvh|$In(f;^N{j2o3YLC4>+|79z`h!TKE24+mPe1a z==hX<SJw%Zxx71r%OmfbyU<}N9g~|+;-0pdH?LvzJ#zceodb*Rx~Z!FEc_a=-I;Nt zW^dVL-(|HAs!Ud1%Dbe|eI+;Mda-}1$=#KFp$563zxRAda^ABt@XzUcD<8@}3BFhA zsU_>ou<Y)=Hx(1B&AQI4v538wvN7Ox+-HHuA<vq<x4B21Tj?ZN8#_7qj~mCz;78hQ zH@z0zvVVCY<v_^Goak(=>YXMh@BP#fKXpv7ao(nNw!)mO*V|5>OyZq<F`t1aUAyGq zt48a`L1O<IY^H2oc1>XJp1Y6tY6voZPS-wD6r{1|1)qfL(j%|?L}q@{o@X06|IS0n zY3n|%yL4+U^C6v8Z|0pZ6p4FTd?U1>MCRVpUGGi1h3CBW)be)s@qQ!zuDPwIYu_#w zgX!nLt`k&=J<9iPeVOyZ^~$Q7-|Q~C@asyn2jACT-?e^w)q__tE{gg4v^??Oq~<%` z%=R;_mS1I^pn2wT$hWG{IA*@jGaqTOb3|{xa_Dd9nT7R}PQTbNiQ(#5zeGdzl0&@( z2Z|VOKbp|?pkmIPxe4b!USe=vwphCDEqiEf^bD?>jk~-KWZtnhSopE6BwXs9zM!(} z6pnvUJs&z1S`BBoBu(#U6SXLPwm$P@x~*64{L7qipT2FAxxRMxN#VPua~;nze^&I6 ze709OTH&-hXQcPM@?C20&OSPIRo{|r#X0FcPgOFrwRi5ZQef;nKkMPO*BoY2>N0vW zPI7!SuUt7ZA>r<nn5^m@4|&h#ma=NepEQvBy=qFvwUrWk|1<2_bUr#k<GsbX)>C;^ z@(<2$ekUd`uCVEI!2Y^(9rGWZ|MB6Zka1?@%3ozZM^btn4CGwR<*cS;Nvt@&?_7x4 z!hp-BGrP93Ex)$xdcudM;IiWnm)u>Pe$*vs@5JSvPtU$rmrPj|9d|iy@!fmPJ{wO9 zOY1Gpdbi>!<K~)+M_UqY6n&mA(cs$><;2{1Pm^1JRe|oA53OynQXLWcyL1}ASKe^F zIHP@=Wb1044>MR-A9>#)I#VexYHn9y(w#nUb<58MbMNi0Q`ov(<xgpZ#--)5cilg# zz0GS2s%KpFT5HOTNRh~%oo_cS-dwHCygcjs)o<moIr}?qt+ILhwa{|mg<##b?}v(G zp9<f-@?pA~?6wta8{SP`Br@aN58s&vE3Vw?SiCuKjrFw+TGi$oWbbS;@3WlHy=vd) zZ_{~Hk1cUZySk0Ne9DUl$u~ZK_xqN;>RR6Y0KQjyl6YUO$hEe+^6RSg{2!;TN{jnf z6zAO2Je!x=7=6j<X|`j;=Cn<D4IPt>j*2szhqRvEoDlM$OeV@QPD%Cjb(OlK{wKUx zVlp@aXDC;RRlej9&In#<&KvY*u~WzSqNs*;H_0Pcl&)_NRXfA<uJt>sXCq_1;lvM( zrAHKGCfM6~>n1t9{yE|Ks*d|*ZlRl>br`q2;5zMlQQP0b@tpaEhUJ2X%~?GTx!e)$ zT)60_LD|h~Pn_(cSm#wbnbk?&V>B+0eW<a+aMR_)Zr8(YMn^&>zYy8uf9QeOqF*}; z&hA{@tFM~=l!I?t{1ofjgL!v+yPkwD{;YpB=Fh3i^WJ$qW>=f4Y+F8^=QG#!XB!#~ z^1Kd7y?nK%R@L(hw@%N5ON%v1dz2XGsFxMH-e<gLw9ECP(e3ROr*v&Tb6syf65`XV z(-tV+(E8}7iH?`uQI9WEUuJ}F_l!KlbKLY&`I@CmtUs;GwQ*RZ(|b94U94AciQlu! zWv><--Qjg_l4;oapi0H-N?h9<B7~Otg&$gbIyCut>eCh4--9^*Y%&gbZDka{N%iv7 z$+;5l0^I91ZL;&@^0&F>R(K#sd$qpJ;?3tx+2?i!SU%Zf=No?BN$k6&mL8LxT!Fat zp}*IcdGYOJy;c%@+4bAh%ZIkieAN0qe$#L5^?w=yS4awM4*#Vy<#lJ(i~ZYP)dk+1 ze|h^?*XU<kf0jl6xwKdJ=C`SN-e0-x7oC5x^J|Ov^pC}FexFY%tDV+8J+JGq;@P^> z%R^u7d;MmA>GuiiYQ>jj{aGivZ?);KZ*sw@XXA8omgQcpouUz+QuJzVzNvAo?v0Cf zZeri+q_wC2XULLwaW~w}<rz7z)%}!Mz3bmqo<CVTKA#H_)|>M*Z=2=L6+ORJ+O^u= zSS!YLd75L&<CBhd9@!sGzGZ&WIcJa2uA;bIYrZ~Ytb4^KF;6uwTsd@)!(6X9cB{T^ zZ3y4`#_R4pms1Q02c@^~Do(!Vx_(mSJY9jKnHyME|7ZAq!L~fC>M3_YbLPgl&RsP@ zi;Ax3`!sz_O?X(EJgxACgQd)&{uSD0+vlmg(aYZTDQfb=*wD>~i^LD>J=AhPoTDgR zb83?Qg_Y9VPC5#emaK_bYuoT=vdW!4QTb<Fb&gSwj9s`Vn0HN_wrS4Gv$Ixad~VvK zyJga&#StfKuP=Ka!acKJ;EZK7|94Rp1M?}7GWMo9%@yZX{p5MD=zT}T#96P;avDAn zUzSm^cA<-0*rrAXzfbe|79Lmq=;kJPx*|qk!`5SmEjQgS-IyUVDbi|Z#QVwxDq`&( zn<m>Fjtbo|FG*2s%l49t9d`<67R1Gh+&Q?ruWPNjzz3gT-6UP!)HU8+mONHl)Td|M zy|h6*Av0x$<O;PVzRg^vpR5n8n>b70oqlWVk#jDs9l{p5DJDmh9DQ>wr$^i^cv3WV z&$Z{pntyL9@MRgZTd$lSDp5L<>-L<b>H8nIt(n_BK|{djWoliSLRoao)#WR)tk(&D zRJ3t!do6O@V2SuK?RL$JQBkIh{-SFZM4WlnVLoYY&6bFgd7cfI_q><%+qP}f^$Yr9 zO23;HDX-L+knEhgCx`ce`sDu%K?l}*Ivf{s3%T)y%lM_%AH%Y(dC4{(MNgk~H%am6 z7d)Go9dT{WheaulC-+=QmvnSK_eB3<#O;aBf@gk&&0GDZ_p_wvf!EI-gsEpKobzIo z>$;g;lJuZrY3z^XN>0_@TkmGg5I@Jnz?heqE`9r%aKnWgqFv@2?`XeXvi9QVut!&q z=6koqaUJGkcrojug_VdFvwum!9zC@!e^j(ewRRW_muo&cYy0=DSC#qhvdnkWr|&pf zbGQ1rfXOD+*285-WG>FIRgKVKf3fFtL>AMpW~G4Iti~B@53HDVTh;2fui4>Q$DV~h z{KmdN-BiA3JD>BUW#8YLtbBXr$LgIYe|-Bp&#;hdHT&b+Q8m7$O`>J>nK^gwX%x$b zcri|GEnKjyLu7UG(FIOdHA)K3idz@|YGRt_n{(1~L2MI$i{^y8cb{$1wdu-`C^YzJ zv9S8s$M{F4Ex-5VolVp~+;Y!LX>nWiI;llj;Udj``O&UYp>hTP8Fc^N7mRi;TRZQ4 zNl>+HLhB>m1^*d%9`1L&>a_Q7h|@}+oJE`eh{_0-UEkQKY{ucUbo0ekoR3+SUtYfT z8pHguLlsW{8LpJiP4ZHB8}=j1P(b@~kHH5Pos>Htou?aZ?d!VkB>ils+-VM$s1uHP zTJ04fXVgv`UQS-m8}xEttF_GzFTFx0OTCX<Vnb&8Xje6Dcbu`4`)_EUbkvFRnaA?D zWq7P&^Lu2Py=I(oY%R;oR=BChcx_68jGUwfw}+I@GE?89fopy+)@7MjSuXWlp?=c2 z_oHV)*eMl(4wmVD-(Kxsbco>?>%p^`%m#Dva|I@GCo70Z-aE1EJcId!?KOH&<|HJr zou55bW#S3f$-X!H9d<PD*Eel(V0!lQxBlZyyM6jkgICP(XKs5C`igh@zQje*flvQv zMWpOGaroB?wW_k)KcZMqn#K3kZ#C1%X4I2Bui7FLadzH?m7yy*-t)On|B(Gh9CXci z>#zR|JWLUfr<j^8yBPcBhLOUNWx4K|%Y&8*wp^%<tpCqYnOn^qzp1zPZNo7$nXB$8 z(s38cYNuU!x%0WoDbcdnX=@E9<O<x3klzrnHgI~%i!j|~t2gWszH2#QWt-)Vd$teQ zRizJ^GMeS6S1+1TdhF4Ww;$K3BuuQm?sVekxh$*utEN3&P&6n0ip&+?&l|M#^!HrX zJiSOF=Fhr28c9n&y_n-$IyLvwss7~$K9^j7yyA@d;Xv`-wKpodC!57C+kDrpbC${O z%ez8-d(5)Jmh-OCT6?Nz*~|Y7%eA`8ZteZgP^8pRb;`VamVe6RRU5mXg*rXDQ&FzF zDo@Gr*`Z}c=EfzmQ8V7fI=)$HZD%nzAnnkrt*bV~gr#MEsh#Q7Y^EiCD>~%;p_?zI zdR7Lf+kaGT`_w&q<z1D9ddEL(6VtKSUK6Fy&zBn{+g{#T_(*Y%;iR*BRjXn&vwJE$ zIXrUrIIRD(U`;NwwpV7pZfL99`}{T2_O%wW^-8&ANNkh68NJnXcg&jCSxh_UrHFnF z$}!n>eMOP{s`(u^WA^>h>66Ww`QhAm)1wnNx)~i6+F0r?t~32+663lb8>g_XJ+XdQ zvjNX`j;m>&bGnqp{z+S~NKWkLs}0VTef(&Ch{GA_13~F+AH)p&ew#<FeYNIp$nmSf zbsZKdM%-d8uNM4Sn&SJt!(rRx4;wGUwwrcLI@oi%Blc+2TgG>XUiIWmb<bM8E%=YA zyQ@`u$oDt9L#@taKRlP!U@RoF?nTa>hV`GL5A3?fa_wz(*!j)YW=2cB4;^<~9P9sY zL7da4;HM7~vL=7=-&c7z%U*-?!L8p1#hL9qA`jgZT9CbJ|Eet=WeLiEEp-wf_Md3j z@cEGjUw3s;Mbn19pwJIL*X&J|(|FaoFV*Ag)YqjoTUaZ(JHzZGgxch4ra9|r2AE#- z`02Idvgx#0qR&rOt$z5zA?&A9hp~~&lBX-UiuNAJ+OMt19=Rd7^!lv7(|@h`ZE5Yq zmvP|3`m6bAn>r<%mb&e^7JpgY^ze+ctL=mOHct$)e6i-ZT!h!}6=pqm#An9oJXYPk zw^~zPL?Vz~Y?8orzKH2JG?;8oJv?uC^L2vwizPg}zWw?pvwnF>=Gn^9@UL$e`Xj>v zzl2AwuKMQm`&)h1`BQf%t*dF^{-WW&Wc{wc)8FlT{pC$>=(%mObH(5Pk<wdG&${;6 z;^#MituAsuZ(8K9sdf5d{M7#RSe?x$H_c@3_IxwJ=E(XD+J8YS>h4sEYo}UY*eSZZ zBCoNo`?~6j#c>5|S(x{Tw?A8d+Lh`0RrfRBJilmPOq_P`e5t?xs{ah3O1X2d)j5ep z9bW2x)208@>Q_49*6IT0{+z7YS43{^(G>g~S+)94%+&q+s+EkcOq~~bldo^nHjUXr z`$O4(=dH2J+#j&vsoFz{56{}{iv3Rg^jpYqf6<Y2ou=RGy>+W5gw)9BJzFAhL2|{_ zn3}E~zZP(8pJf|AA#lMJMZxQWVL$Rqo;^Bv^5lYP=WIV)X>1Rhx=ZzP(mFo<&epix zxzoiq<t)+u9O3@0BPRG%plnIF__L+^78Us^URSSjI%KCgb^gWFnL9GVl^%+noAzSE zZl2F>KV_Dd1b)@reSEefm+vtb%T>>GB^EmE*dX4@tQ#X%v3%ByYsW&HW72*c+V=A5 zT8?8ihg8>H<MvWaeX8i7_G{97%VQ5Sf3Mq|to3>B!<7v)dzz<gpZ5EwM(I!OAFe0k zi^BA_39Yd?qob>z_x2=rv2G#vVz#PQ+2Gjo9#QX84h7GM;jl5d({%QZjh_bN?74dt zEuMZjpKfe9bwATJ=8zM{EBK0Z3-1?BY|&KanDM>cbaoX(py9gDOEYv+pDl=UT^MCG zsq<yQo-01Z1{=;j(_Z;>%9@i#`^^n{o}W#+lR10ZZj%SkCY^~|^swXJk5fmlafi&9 zl*IMKEnu-}jq<}o%hz5#KWS2|oabiq4?ELe?9KTUkg-R43(u4y%N5Bji8~^D-%MU^ z*&x8U?q1qYMZQ(sJ}(mUg>*lx7MtMr+Hse}or5g}CTbDAzb9>+9q+DrjJu9uqf2qg zy0R_W*1AlmPq6OgvDy^eCfU=Z&iY)_T|gqajBoXUpQSfqHuV*R>8&dFUUqb`>7nQ| zei;XI?TTi-oHqSHLwDiBK85Hb-F1T5tEJB#Zu4eu(o?LQ?R2EhQS3j%ttGMt?!HRV z=_}jSU|w)y(mMaAQ@*A8^X$Aa;Z{~|h_?8QTruh87jKrOZ*u>9&FWnBykiHnZkBx% zJa^jC=IWVB&Ei7FGmE8LQW&D1t_*CKpEZMf-_5eF*|yGp+$%-@GYD=CulsWI)zOa& zim#q^eDZa7&{A{X)A2`U{)pZBc(++*#Oy81a!NC_bJbR4-sKfodHLJa07L7-O|x9K z?~!}C)=K?K^X|mj;PP&tlqc~)nGZKk*u8eiqg8)qnuW5;KeODuLDZ|d?2=^dwXmw2 z_usr-x72H4pQ%<**_*}xKCO5)m3uq0wAQ}MoA(~Q%6l|;l2N+AHt7ZW+%3PR&i(21 zx4Pu>n+aksZ0A<3uy>UYl~3_uZf^_wAb&+{^(5=-GS~GwdX~!UI`y|bMX;H(E3G(U zZaJgSyc_4OmwlEMkn|UH`JTY`yynUyU7H&LXRgeBd@;R!p3vGUaW4u>B6=SOwQe~V za5sO3Hs>jwREJ~NvzVtn{b{1H&*H(<>!D||)*VQ0J)+UMb={seuS4k_pM0%%I5Y$_ zTi;PofAZ1B=E^yxhr7G|x+{Cnmo%+UYwCYq_NMibT;`)R3+c1@Hj|9=M0xYneOjU( zO0+&?;ND)OqAo5mVO7p-wiB=RzSZDAdT5)}`x~o6a-(L<jb@$wYKD0svq&@7t=jpU zugktL-eO=`+wz}*^;-NvU4zO)?+mBsyxGI{YNqdFPQHE09Kq8bEYWccs`Fm9O7+bv zr}vE0CL|uwIJ(C#cK)tsyX0=md&C!V-H-n%p>q6?aAxv>W8HBfv##259VzcHl6kP4 zv1azckkfCNx6cX<ueMr|$k*eb^gMWVXwTKwq*~iWQ{$eLuQQ8~;NLA?JyBlZUW?TI zHmNo2(Q7Pwp0HY;-Z4!tQgh}rubdxq1scvC4&B3fcgs|@vptVhPR)Kgac{Q%;WxWo z&37%?xvqGD*4A&kW*<3T-gn>BSmw5N2y1_+)tU!c!al3#hn{u#wdP-!?knrKv$J-; zXj1$kYJPQ9j70i9(Xf4&--f-pt^9UNaH{XuZExk@Tuyisy5V}Q&-svR;kRDc&e&Xd zxJ6Cw?^fp7dc~0m8~wBoCT68Re<-lY#`<7ZZY7sD`yvHVh219)T6`}3wep0_ua!#r zhpr_2I`#XIgj~IGBIomr=pX!=oJaWdcvPcfdNkyXTDP3dv^sU!y5)O8eANlh5AW7{ zcbrY1=b$!2-{kBq->wPXx~hv^&;45ar_d~!iD9?hszQTz$A0dT=sB#%B)yeAT$yi< z<)lRi_;#)~Ij-rRaqCs!QqQ$>{8qAt|KYppvaQEY>v72W<lm}avIB44ZND`;T28k9 zRM^?K(>8x>&b)i`<;L6ZZ2nBXy}4RHZQ1utS7n1$y_Rp)W_xp{?Aw{U!e+-V)}8lT zFyYi4Kd$Td?<Z<`B_2+<w(&mfv-5V_!q&LHt8e%A&AYzYPCH1{kvIOm*_HeUyf#TY zN*7x1`8NAI>*>r@U;cJ)u)UG_d)4iLjpdWxYgIcfmN#P66)z0Gb=z~H{fX>{NqW_H zeD>D{Ef3ooHAQ1r#>MJ4m$s$ZO}w2cb^Et=tmLw5%VPP2?|zEW-Es10{B^Ed+x|A# zPW^r0V4P9b`)zMmExQ@`m^<rA*%$rq(!XC#`F3jd`W3%}dj%8wmh@aGHn{V|so=KR zF5OzI;-GFVue7V1uO+Xvn_=>MxmO{}>E1h`=hSUt_AK%fV^2#qoww7e;r0&(jdnAh zCtl(fj}8@w$v!xHmM`|U=cJ!G+ErfLSGIWcY|$3XZah3CZIM;erqh$2E4}SI_*G;6 zrg^!iM4s1N5uDgIBbrrq*W}l^(s4S`rpkxz<@w+Iw#xTgdgT_eH*bnRdL@cV2e$5> zD)rP%WzJ3wn{|l-y3e+LYPtN8+sSN8B(LtOmx}~H#)zK!eem?(kbAehR7`KaJ3M`D z)BX!9?6!yf);!BBxx311qtF7sFy^3TH48NCme#cvKj*Sc3H|Fm?Zdv-RmL&v)28n6 z-J~dZ>A6tn;j^bM&Rw@axaE22^oi`MvZ-ms_jWz4KJ_~?N+-Y7x9`==(m&eeb3d-X zS{!)kv~?Copj6uaUsLm)_MN_zTKQ~$>9@!yn?47u(O-MrU-i}IYuDm->Tmj8mj3kS ztd}S2R{fj1|Mks(tG@-<rPfVYe_A6v=4n-ANnH1=zu_--_Qme2-M{Fs`sQzM4u6hY z#TIk5fq`dfRob4<@xP}<eblfw2&;Fon>$m%Qs-fb_QSnXzV6ZPU)9ss=-K@&s^`|X z5@pF_1)HwDi>mb6w@2&Gr|3EBxL%%&7H$2gd+q2}ZPD8wEws;k)~YKD|1~A;u*by+ ze$#KP@jBt3f)lF^9nP-|ygcd5e+IA9I@jl$R!`DpwT^!m8D~88)#iz31xzfb+DwmU z$yz__w}``CJEcW6YZkxS*?D34iI=RB+gGt&wq6)_=X>a1@fXV<TDDH_E*CPhTNC!h z_44en5A!_arg8mexT|XObt9L%b!$<TL!jj=@ue3s`*JtE7H?&LwWO-kce2d)&~>f- z&fMZxS{SaxI?64qYfOEnT5LQ;`Dg6(bV0eU=O-C2SLk0^bI#6VKDXazukN03)fJLk zA~&?p`;xW2JU^MsIPiOXYVvc%EOyghD+})&o*r`ZWABBzlIN05-h>>yduOV|lJ1=w zR|%c`vE1bLG}D>eXHDCBqq#`WPr!A()}zB37hQhNaA<mXhPCs&Vb|-Qt+yU3=I!15 zK}6lp%dfa--h(*(G#iayhd%sz);xQ~y-AzTUgLhZB%kT;L(T&+rXQlB*4wSFIsU9w zdQbGaDX+I4DvuJJ?!fFD%=0qs(EJ5XGAEyLHApFL=k+^mtCH3zc5z|)w4%*ZpA@;j z)(bupnK~_(UG=a=`@1Fu9p(#1Pn~w%d+L<hpNBR)?(Bk7lKy2~Ij#2e=xJ5Kj8nmL zt>Qvv*ou9*5qV$%YtO5WpQ0)}aq3O$bj`IaXFF|vZM#oldo3q7uho*`BR2z_Kcrhs zG(UH)b;_;p0a0#xtL2~E3Ho&1Oy`+x;mb*4O452O&HQ<l@9~PU@BF<_UAJC)PH;=d zb8f+6*Ud#oj+wqKUh^k%`B}SHyp3g<OJ?M}dMeTEe`rU+{ep8@hMcq8rcPe<?nz+r z%*YuP2QQjDp72h_=>?O=oQICq%}OgD9-VpYS7TkHnV!Mv^^=Y-H`SRgUNB=*cK*CS z3ohLj=3U{XyK;L#V)FJI*VnFLx7&9#a6-J-$+tJV?>fky$}e+d{t_nkWbF&_mw&>( za8&AF-lWp6wE5q=lgi?&HuQ()ubMwc<0?~~?v0R_p~WW`y*)K!-J;zyzVB~*Uwi70 zv#+&z%@!S|3AcWqv*GJecD*;tf=z-!?Oo(e3s#S-tXB^1U<^(>?#63&_`Hit_m3uv z_h)(ovd!Z@7I;m!d^}BHbKwi73A$HH-kjGBtDP(6xNr6M_|#p`E2Y0hzuJ7>^ykiX ztCzbzofv$xG(U9y#Y8q0#fkTJPhq^r_(61@{Hf4e(NCUyYjThh*z{@F){_Rir(3Qm zH($@))*^FFo#9%I(MG{_E4Hqy+<JQDfv|^?A`btqt^DYE<@}-zpNk$gn->T6Ji9UZ zmVQgx8hx=WmRo$T5&4$C59rK_He>aZ?33|IdU{X9&0d^MX7bi}{z*A<pZ_iP*x@o~ zONMyxja=hZ6F75j{an^m?&l_2|Gn(+y`W^y)q(#+s-Imdkv<sTy11K7^N`#s<J8;M z)2<mk>ppH8v^46g)-}E9S1KQc|Ks1EcwSq7f8wj=8%ZWpeodXLR_<M?DDykz=?b5v zj0<}&l-2#6mvzSQ$r5H^i8-c@vnI~au-)2t_?pjhn{6)dEm)Tb-+cb3Ed1yCO?Qqw zwm+Tq?#0DhSs^7nA}de2fBdb+^xRu>!rU!pd)3|w=gwN_oN?P#tMrw@_bD%)Ecnkb zh4q{2$p_n84zx0tG?(fspXd$y(yb(u-*+f*TXN9CqtEVK<9+*ZSE-BTx;){$td;k9 z)Jva+E%7#+nf5sD&r~<FWo(bT{4Orcd6#z4JyW#pd(k`5yz|@BU*42Ct~zz+O4s^T z7wcB@DGILe&5nOCiPz=Dif`?^D|^c_e`_-z74Lm^E;V?qd(mR)9KWlftKaf&30ZMT z`bSyNp=+%7g{(J~6tQHz6B3?Pc~U#<(}d;gR>+zd&uX`+YR&kmVfHlV!j4z!CiR95 z3wqW>J=l=%-oko%0{5Hc@0KNBj8n@Ai%UG3x~zLj%KAC^7E@Gjrtz)3eYo$+sT1j{ z2i6!*OLS0ZFp21>+`_~=!FUP79=nW#(#sx+^H1)GzAh}$)wtupovzZTvxoh<W3sL$ zM7te+Q<HydLv+@vv)88FKl*m+Ytt{^GxvTA_S*bn@0qUkivzY=Og?5l*Ssj%?|SUp z^iMBm?OvEKUAc1IC&?Z$$E(H(s{_|9$!zqzI)7Dh^)$N=@t*rbAFhn%Q`@$<M)P;9 z-Sc}_zVj_VB=WZIPIc$0Y3FyhXl>Q@O~3l6*4b!VernLIZTntz^I6qCds3;Oq`PSE zpZ?U(uW!DXk-7Jp;XTtj=KNJrr)u<$9uc+b$=*F{%F}fPp<3aq?*=YA<G<#e*S^D> z!fW-DauUp@s!eQLADX;w<<z~agERkl$4blU&dIa<&oJkcTifZlsksZDd(E7^{(#le zs<<1sj^wOa>aTca)zqvjE52W`zA77R>U#E;cIb`P)j1Dd%y~Qg=9ERNld^iIR6D0H z-W-%|aFHiv=lj^Ryj|-qpITw>!guk__cv!uYoEGZKH8#xB!_p^Gv8O!Zn__`NKIPv z?c$vYueK^oxn#C>?lQf|P}{TL78eGWh&|r5dRv`YtCdMC>w#rgZ@&6|CB`s0<6@%D zyLqRI`HF6>%Ke(1J6rqie+J&h3lj5Vr$+vGcBOIS-p#g73pbhXSseRDZJFA`)_j5Z zDYMt_vQeMO-F>)7bgLxm_TOm>a&mTSn(RKfYV}+D%-s0S+uBw~K5U%Rv^rdlYs<Ui zTT=G+Zn<{Ubj7>JMxBq2&zWk;>#{=7xWr#LSu^Cu9cIbB2El)4+_HUl+2v?>`LvMc zZ_k2O{kEOT<Mhs~KRf5f+pJQxu#20MZfRXey}i|F-ply+`f1`<Z^lP++|n{XdeYG< zN+j;)>gehtBHfa+m49XJj0)JnzA}3GIj6H#I-AXf_Udx(nU^=qE#=PCU+b@CPRsgP z%q{-BBYx2wt0?hBCuZN>wCUICU-wnzLyZ&6bM{AuKV9|7j8%R`_+@1-lNWp9R*9ag zyji={;?voPO4gjO+><uky%bW{ZSVT)TgKvd`$MN+bv%=@Kb8CPwtw5=^c`>hTjgN5 zW@_ou-^G*Hv<lbN&YPuMt^V|eLwMix$kngJZ>E2Fv;D%iXZ`^q&0pX2#kfZN6#Eu` zeY?-6$kZciY7^5J_3iw|yyVIH=P57PZXOQ#WEQvGEq^b^&sTGq*lfC9n@6;MnAsHC zw*AG{vvsY-FLo|GANpJS(+TalISY4YdHp_QrG4v~yUoP;PL17jdKS0U8%#Y_%60Zc z#gto~d#Ah<Yh8P`N4<FN)zWF(CvDm`si($XXuqn`g^**~5lo9hq-$LCG(TSyzOEVe ze78p1LwW8ws>OdEdg|`pqxH$(@6a04nNzEG6}Q|=HgdAOvF!8gDY<_g*=0ITI@r5T zo3^X3YR%qMX*WS5zbuB&Ld%XXS-xYQeQQc(EC<h{4M!H`uj-qr^T1tzb9wi}2@TSl zZcm9Zs@R})``q!frR=KT!Y@3#w7JBcMWcL)xhjL_bs=Nf@TWf}_C9lJ%#IR0HOGPT zlxXXegnK`_gWVP%;ZhMkn#sAjzGG$Q6WIxYVjm9OQ**q_>i_Iipvvxb44cb7wh5Sq zpP%UF7uoXc#QDM{8JjOFgj?S=`(uB)X?xF(?IpcpdTEbml`%-fDC`QGz1V2sk48Bq z(T&!NLv~$jD%6}jg>Ax)`1vh*vpC`l)?GZi;Ym%+=@JLd{h_;zp0u2=`153qVw<1i zv8P2+4uQPqo*74<-L4ceNy?;n%9-s)xNK(RToV4Vb_OH&!^5*<jC~F6M6#XQ9CiD> zRhV$wvx6&_{1SaAe`W3pnOhxm%;vZn9*!#4xN}01Vd;Mc-r22=`4grvO3q&WpCL!V zurQ^k-AtBkp_w~R#7C#+-O5_*x*?D1pK<Fe?K|=Hk)j3DmVcKv_qB(%KhE0ldD1%5 z9aD-Np4W+{ZQZLH{c8V3PpcaZEhb+SR!T72ga^w_>Nr$2ZKptqIg5^-4)dYsN(Sxu zQC!x~tF63}^fUeVcCx)|x!)|>c{Nc+qFgGtDwXq?`JB`~RY$8hf&JentetXW!jj<Z zyXF>C91cA$@zed7ZqZsfp<-!y%i*s%3eV+V<|yP(SIyzy=I)x~H?b(x$4#=mxH2Z` znfP(5<db%*+a`Qs^L(E?v;B}*e)5TXxpu5AH;&a@$Q9qrtRH#wC(Erj>z-d$|EIiX zacXeNP3Gzed9M=P%Fk~p`NyySbNkOS5A`QI>Q|abg>tuZcV3n9xuwOGZ@xrUcdCAI z%8$m@BA%j?(IMiB7mKx$7~i};Tl6LTSJ}L#Pit>j>wa~&KYR1(ADL?ozgDlm=~7>^ zdZlF18$nC;iMyUXxvo>a=sHjE(bHUyj_2`sF6Le2d!6sYsX&`!-R_BE*=-pzOLq#b zsc7w4G5dAuo`?7BE{b!svB?@on7gid5nMUXbNcuGa&{Mob@$e0Rg`X&J#=99o~i}` zwHvX#jN+%;%YHv_nf7`YmxSN$Ye8ykE}|XcyT!Rz=_r+NZK-ou#KU777PnM3JtW4s zRqpMMtyN90>Zfd3-DY)1%X%5_%Z;wT16KQpS8o@b=+<_0ORjU~8g4Bq-)$nVw|V#J zxF+uXWU%P({^hyvU+vl7zW&44$m3}qGrz>XODZ*YU7uKe^2yB2);BgtUF`TixkPqD z5YI9RBXj?>IdfLOd6TlEqxep;o`?K`H-E!l?R4|jf3T7HY<k8S77pPP%k~~zH=W0) zd)=?ak#~gOOSX6|x;v@ujMQ-%x2@L8udNqf+0$SVcG`On|E+tfUvA~GhX(CcD}UrN zXMu9>+I!NQih?==zZXsGaY*wFsz1xQ-iFySdSh+n>aBk)w=C<OyRJ6iwDBx!i(9+z zF0i_-UGh2D>fK#&v&A<G-kYwA{wni2T6l|F<zK;<)6=@{$DMuMH~;W&{hR(ehu$mK z<#Kn%UYos>|M14Ee6klgXS14ZT(jO!>oA+@{ak6ei$AhtqI2DUZ|Kf=zjeyfs}euC z1-=L^xPQ{WowxC9(UVL2r(c$C%CLDO+%R+Yqo~S-mG^eB#D(pZ5q{Zap%qxe^mta| zJnfE%dvA2-zPwny>D9tRN9!bl3f`UjI9pVudGG$+v*x_pRUE`J^O3e~zGCeuIVH>1 z%4ey*t(%zwL_R+HC~(v9vb*i0*P6V^v)DgNyyO<ly*owW)%s+KtoK|~6?8YvHQ%@G z>gKl*l5Vp%`ak>RXI(w#)SLP}X^!_VZ9AV*EwXQ_?E;goAE9Svo_V#bWJB1~Syn}F zHcahM+kcC<)_2})KQ5mV^~=lNnCw1ZawkUT$+q79-8VkI-J*CkyT^6Si&@;8@_fuR zcAoFPAvo*&37xOI{(AjZa!WR}-SbOb`d>ivo*ZMARlY0Va_xWjciwF0S3(92CUF;T zuiAOPIqmSD<Gmi6DjV*UdNM9{Wf9(+G&8o%db@}I$*|jHzRN%Cc1^CD!V_tqaog<f z>dbYYRe$@|cnFm~TdaS^i(y}ZnIt2V-<NkgSW=JNdb0K&k6E%?cIu69@frW*lm9r| z3%Wi&d@}h~?dr`rvxC1WhHlBUmp<`Ac=emzW!E11U5O02!Sa2&y=?gD?xLy3Sl=_2 zr>(y0()&&S@TJx79wf3KGI7tmT{i2tuh;%FroLUvz6T%NBD?VKGqGDH4#y;{uQG<L zHe2fUJ+#nh!Aj}Hv%blleKWT^WA$6zwLi*Ml}henpLM*!^z4%B;mPvdJgct8h8K0K ztua5eG3-`k?Ebc6clhqlWzk)pv2?@U->&vg-t@05U-xhRhHrc?8{AH0i}r2!&rp`5 zV{o=P?Uwh9_pc)R&vGqx3*?);=;q4uQstZL-|arW-}r)#Gsl6OET)Olw|5^=+wFE| z!YaGeo-}m^@xl#3tKY1uy}PYF_+C+E@x1TsCvRo#u9%l~^vB}47gt1l|KrE&yf2|t z$DS*Fv%z<}W1@xonkBzF?K^a8YsMvkS3h)ioxO8u|Mq|-59|_aKeV!6X*Jt!u%K#+ zr(IXor{ME5-5j@-2PfuUSMayyjO9zL>v$<OVNGEv2j5P$e_ao{Z=9OA`;4;PQepjG zr|!AuywBWZ)ctck^5m5X3ywvx*tLnQ*vM-Z{3UMp-ie>5vSb%({b%qy9e>tw`=q~9 z{;F1etNT0ADsA(x)fzvWTCZMw+wt#afL-^uH;uQiiLAd`+cfq0P1$P2`mbK;HdC)J zox0D<bk6zo$g_2)O<!ij%`7W^5mIt8X?vhXZEE^!ZTndpFMU|Iu<q3H3#~tQYA;-V zWYJ%Rh2J^4&n@}pAFXezTI=-u+1?`7*n7Tx2d$pXmDsO4MJ}whz?N&yk`u?4@z2n{ zJZZzHNz0@!czrmdz`DL@LB~E{t^W*4;{Vh)e15e|z3#13xr5oR?r5b;oBGPbpU*No z-B=W$mTp=<gWLF(m~`F~;r?fLS>w_jB{kH2E=+#j5?TLF+g5K$O&DwC)0^2pSDMK* zMn0dZ>i9)fI$msHmG<uA5*{%}UW9iqXr230H1pi2o}#NUw@SEY&JWm>R}<71Ssb?^ zG10zs|G5hRpYO_C+#?f~#cS!)tr@1Q?Gboyy7=}gue%>*y1rgzRy#gvPuzp`J6ct< z=bj9zRajv8q-S?bgAebPCofNW@AEnw-4NVSxZhOXVZ)b=(eM6EZcSbGMzp}i>Rr)} zJ<*(zl_w)>x;B2!S1oL>4z(?f`8BoQ;8p?ibdJ+bbFV9`@p*OK)bZ}0gFcg)4ha-q z+?KQE#7ho;JMrZQAC%tdDVjZn?VHX+i|rbZv<1wM7C03$%O4Ir`F!0+Mji!6NuJAd z3i$#orZlhnvQ_rc<%L`>5s`d*{H8oixOqjP^ux&@6G?%M4-YBNdRRKE-}2s(ox2iD zSpPF@J?OyRZF)$?#$~FZu9artrPG`rJ1d-d1iRc+JK8+W4lZija=xW$(SL@Srym=a z`+4aeUEt=ObLZ3~{ZnCYp028>`|PmWYs0^3b48C&(f<?jpW&9*zXYX{aNbuBdI~a2 z=jp4~K3q_>BTpuJ39CYW<?26=Rg-RKNp0TN&~k|9ytIS=#>N9u!knk4ESIrR`Oxwr z_m3(=o#(mPzKt5L2EXs_n6~ZYf;C$=6dhH!W?hnQFo*Tnq>vpoUH4kM4L>w3d1^IP zS6#kq$x6NRA#OVLU%n?M>b9L}_mZnpufJ8b=ux4S#pLSE9TWFnOnmqG%&GRMYn%(O z^XAN6R5|zBq25!ub51(%N%c@KGxA;j=GK<8S^VGEuJk*(ReO5!afY1y!*W^cPR3rH z@3uJS*40!a%@Y+9B!sQc7ySu1<fSYv@of9O9aDqTmOOa1L-Fa_i?$2iO^;A|P_cQ} z{D<5p<sY8^=X<luciqypye~QwC$M%1gbVNW>eT)c>Hn0q=;ci*ZQU1N-fVII@Zr~g z2L5^83&N)T4WCzk(6a2+`sL}N6XmjaA6o<{|MF_`*nepK-k)9-y>B90Se~y4%;px_ z_`Tv*EK5@dpZKedXU!AD3Qq<t`@1A?#kVs_Ta^7jGB(S7O?$Rl>UN&)i(DV+b3qU9 z$#eHkJHO?h;S}q~S^ia~(jlP<=Et5SY}U*#6R5DrJ>t|o?O}Yjb~j_nr-wcEtqYzt z=W)+2o3!YVu~3`K)cK1VB}%vo=DcI;dQ=-QC&>3eQnAMF8u^dW9L#$>cF$PC@Y+$` zH6i9Mm(;;Cx{EXU<sPS-shMwa&;EAo#_^43CCZYcoNK1aF2DKkqx6*<VgHU8rgn23 zxpl>Hc0gHH@thAW&rPbg@qV8wtny@ARmrzmQ_YsYdH6NTM3s4^_SurKvqk^-_Rg!_ z_GVXU<NS`=DSyR^w)^bLw^V!Uv)pUv8b1TAgMyP*b{zY8cTQ8~%?*!N-FSFW?i2U1 zRG&((lkIDC6xVh<y{XH5Ws%J7EiZP)Z~hV<ziGqIZ=UiYr`F%hyuRo<-?z#ALe_d` zH<epo%bs0w>W8e?>S&RBmI{9tt<#;hdf~b1t??heu6R_s@&aS^-|Z<2w<O8Ev8+Bd z`*P8hTe-#a&RB1_8X~M$>U&JiTkw`<@*l_S%<r?b#jJkqW&R}88?m}^naAP<uiCCX z%VkbUE?;@EMx1ra+h|kuOE+KfUicm>^Jn??<sUQlOxu4jSuS?}F5$!G5oJ}?y5=sH z=ax^pdH1bW&(h5~{YJM;);$fr5pDR#ezV+jhC^pAm&MLb>e8|Mwb)<k3dfV>EK$$G zww+K`KIu@|-@4RecES2rMyWnLUwr$jFYWoXX{Ec!zNx1x*KVD?<@fTV=R|+R&M@0* z{rzfWuwLi8<y(VpzB1@PlE2EDRqQ{*Ub7Y7r)FH)5S{p~)vD)@^YI6BJ$IkkwCrzx zUgnW|;`=KLV?wr0*1mpAqv>;&pMT-aneM5k23-kxjUUx>{$9TKIq2#=#g$W6NZDQu z)KPs^)VxPFTX)lJ$^Q&X#EQ=gPjz^o_IP#M-OD??Zkeq*&RlTryhj1kYO8hkel_i0 z`mB4y^74GOOvj}WkNoBCuHN(}Iz-rI<I>9)gBSJ~CoOon{6}^2=O~jM_f~QUFWlU= zy4>Pw>eAo(=l(MsmbcXI%-L-lwRXARzKbnaR^(h;{@Xoy{f7MsOPwnZ?fZTINu$`D zgYm2W{#G`9Iz9bGyJ@{g<naJ88GoMt49l)R+kbbq+x@6zrx~P5<tt>g>{eZSu~u$j zQT+8OYyNo5+kRwA{L0`@?k}1*7q@+BdG&Q}-;&1OQ$J<Je|@W8p5lLIMcnit&ZCmc zcJ@}A@1Jq~u2C=VzWqh7Hb+jK-!1OCEoX|Ejp(;&45ywvJuBq*QTj;tn#jDAw<7OK zrmf5R&tTg2*-GSmYR<ir?^kWlEWR7I?ZqyUZ|~EB{s>yXUl=VsYnztcspVU)FOUAu z5FNJQaHH(HX;<za?5gNKuj+hT^mKOMy7vXQ{O4r;u3mX@xnH+;X7KXdBR@|cOx<gq zBg8tr{>`hNvSZf`x1LRpm-H3gwmo@|;gp;?npet<{VT7`6<T4Q`kx_V?v^X>68{~` zuHe^<sB5iE=eQlyR9$!}c}98jT(0|~-B*OH1U52OoU&Go|94??{^XF7O{cGg{#<!_ zjn1E@{*I%El&iHF_MIp?y6WYJ6;>IGY88Ecq;!P;T=rDg^3bzAKN1};EWRGJz$~|1 zTsw8m+PAC=qhn@k{dyrH-}Ny4RY=LM*Jr(cyQfc_Et(x4D)l*T=C>QaH0OK7rxriu z{u{pZ`m*k?Ve+Bs7c@_AHvRqW-`t5-MUg!_^*8;Ux?8QT>(2D)hxYrOwYGQtrN4P8 zi2rIym1FSL+J^YlU&>#CmcQ8>e#0s4oAjwu`Ni62-LE=+ydkvMzDwL`>%RwEZMvOy zo{8T4H$2WU$}X$!sdV$zbCEAssn5D6#8wdY;%>k2)M-19y$oFcG+0u%Ht_VSYrmY- zlx|HGd=<cUH>7sD;evn%>H$yN{xe*<u<PuVKi9rI-E*OR>blJr9nK$ZS@V=PH(M`# z(q-Gw_8C)3jTecZxw%^3h{@pc9PLl{Hk~b1cAdL(?Zb>+d14PG-f^ClYgSQqRApX0 z+b-+dKEL3WyjP2EY)tF?bJIVCZC7c@%HLC$i+R|$E=zbAcK9;Kn+y3-uj;%CCcNC; zBxJE!i*Ip>cF{#2$vzL0e70`gcU2<px~b9~&jj{Q4xIC6y4}K*+_Ow2)=QIKN<@{$ z#c70P)>~*-F4j}1>kt>7d+W;k1zh!}P0C`km$1k_YArjGvi4BCP#}ZE(G1Hq#}}O{ zU(3aAvouM!di~zU*W8ZT%==ViUba0kiK|?x<gXC+-CAeuV#l){R<FeG3I2H)yWu_O zkqw2C_w;1EOR`rL9(rbbykfG}^0I?v?@cNuGv*}cy-p9!3!j+EXIHRr(UBh)Ek7+= za9Lce;-X=1ZZ`My{dTLE3vVCVo12ojWLG{H+dr}DH69;R)23%_`fyt?HYr8v8IS6_ zdzqXE*D1Vm2n;-1c$vfP{-u{rIwwv{xmh-Qq5nmnhX#w>bzF3wS?O#q)vfb-ZnLhX zPdPzM-SUEIcF2S~&Ow6RJCAFI^}mYf+;1S*`}&5GgHDF^gm80<f>Z7B<*N3xyv|fM zEI4ZY(L9t_r^o2g)Bg;eQ}{N`iFqe;z{%+F<f%vaxo3rmTi?sRpkU{xYWQQ8lssRi z<~wHZt!Lfd{Ml3-eMaF)-eTT;1|eHFow%o%bUY_|;o7sz6Rt3AUZp>~OY&osc$a$6 zg7i}&M>|f4>Xz=4a5ymkjL6aEb&BHeE!Udo>0Hni?$&;?QH*;=b}Cn2f!!zON`<O> zT=#N{+Eyhk%?f#C{m0zuReV&p;oM`FYnJV(u~AJ{*?DpI)nLo%ecol)POzHl_HKCa zcw+2TcIGgp$uIZXElmG>e$R>?%e%2%FV~66>X;SQUe?I@9me-|_oaouqt8A&YAts= z=J6xO6VrF>yfxkWhwgs{om6!V?d7V=KY0BOVV(1>=(+ZnsC8Z@&+6O1_MP}Azv)HW zLeW{zPrBP&-M9MN+wGbE8J_-U=z6EO^|TXn+xOy1^=&cFUIxDU8s}-Fy6VoS@GnzR z`=qz0Xw7yr<BGQbEZu8*WzMZDckc0MB;P*1*)=NVhJx(YkXr>D*{^oHwuBWcKjM0R z&NSe`<!6oQt=BS3r=9g$YWH#J?YA$Mb^D!(KX9rw<UhmeH7$Rw*BmUX>pFH^Tbucl z<ECo|HWUW;I9N8Vx$xXt(^4mNwq8Dmq{z4Z$?v|OdmYn#qSRLP${VhmGo5+ecKBw^ zePpuxP3Z0u8QD3zw{Mp`y64#18QVX+Tk^K|;1%xmohJK*Q|_30dzhU(v1hvM+c&Nu zH}=jscIB3&U+TLp%L8w}a`qR_d@?U{vQN@ohQ&2*x_j2=bt~FD%<i7a&Ae(3yIFC> zV!w>(F_Y)4-=6nC?975sjz=wJon%hLitw*bpZ+1@=a-n@#&NMNpM96ce4n!M=91;# zbKArvqSyV5WSj6^cw)xXV99p3H!Zq#hwZwKbJ=}8RBW()U-qQm?x|D0nG}gN%nY+X zBGK;}v`;x$aAV$vZL|6}mqjHWZSg;ApFa66*Nhn#o_6+5VtaYK^zNm1(r2$`X`NZ6 zox8iR=6iqXEP>k@xuz?o%a`v>>sOKX&RS8f9}pSy{mL>|r62dK7Kdl7<z?~a_4F$) zyH&bvW5ornytR?7Q+Yy`dibBMc4w{oo^te^(#1bw+w<T4XHcrH*<JK&&576A#+P39 z@!rcm;<eQC+|9DuN!_+D7dtR*+_2+O>71xGf!NO7Yl`)*-1~WU=EK9YO07zz;yr#J zkk;VHsdMOE_H(C@kKx*T!EbFB^B=q`6VxgDHfrLIW4l8Ggfi@AY^b~&`k#S$>-IEh z%Pz$pW#KS`S5tc3tDl?x@fOau{Cw==s<JbN8*JXoWc|J+z_feo2Gzh7hRu$jc+J-z z{>QsJ@wn2~^q3OA+uyo!7Dy<kE%cb98x;R{wJ?uNc+-a9+w=V<oa_&Mk!ziswK($@ zb88v*fr}yUw|PZ-$JpLn>ua}#@tz!8&ot*}n|`gXIkm-janlh8BV*<57a4S~Xht4? z+IQw(M_>1ulxpKo&a8P)&P&K>&EFIweJ7_>f6KYAE-uFx{Y{L&#`O2lqj?)|PJH2> zR<-hV-T7S~z4kBBRIPfle|PB5u((a_zN&o1dlvh7zrUFJHGV<lFa1sXiWj<ME_!bH z%|D`Pf86QVDsBE%yO&RTuKm__`j_yZqFp8TrlddIp}FXGn~U!C9iLfrci*`3>Qddw zt;UQiKJGcTJ}pOd?dEE|X;O~cVsF>pHZE=#St&C?<?Qu>vdMSP%+i%yG27oX^RW1? z<<U2HXMc0&eIBxO_N;B6--d_XE<5GZpLVHkoz}9WTOWL@O*4ylzPt2v{``zf>08RG zST1JRsl45`eT#N*^)1CMuOueyXMg)RIJ5X}b9#lP?$j??L5H_&%G_{e*FD1u#ijX? zA16-}oGINT{ObFcX0!C8L0bN2&DNcboZ4pGzuQvt$2w20*mCBX8lCN~bGF7j$a|!% ztETF3ns?fFYtLY-TPKd2PM;(CjqBXukEW-LWSXv-9NGMN)9mNEyT0t|U$StSVuDzj zyXm93T&Fpoa80P|V*FYV_~p%+rzKWt0oqq1+$RP-lsU70)4r(H^R@Lay2VecHaZ;? z{$iJ(_odhNs&n^Dza@SvEGx${e)Id%@2&IGZ>%oMSpG`fG~c!Kb<)1q*6Zy=f9rd% z*)#R(Ux%>MtM=84tY6f(E!I*~&5~)~(G_1_>`&U#adO4f%c0Z1+?4#O7c1^@(rah= z9KBetzL;yvr%Y{MG;bzT<GI_%!W3NmK7?&Q;t}}aDc7HMViO-WZQeG+>FlDC)^o4* zBg6V8ZQ8Wy@}j*zHD6EKb)+&?%f`w-g@0w-s^pVNoz<;#ik;WhWxwm3`*KIYMTU!e zPZb5}UiHb(czWXO^<`akt2pj<M!K$Hi22#0t<LeI>9Tfb;OAheJ4x}=PqOCxQ+bj9 z#p2cSb#tx<ycXpbRJtByVzqj%QAF{x>rWP#-4`y3^xF0%WvArMz}?rv-nE@`I=*0v z@jUPU3|SLDJoEZ2{%UqLbAi~qC<{Fs<-kVo@^q7%Gn7kLm+Z1r=U%Oq&?#}Qi|xI` z`cD~QeD_XF&FEEio}0@cxzf1h8DlV4?zEHz>2hB`yqf2>?7$))_QXA`32#2N{@ie6 z%^KHcuigHvhtA9k2$^HyxZzc2;rSL5ovkNC4XhYuJ$sjU(r=?)^mIL;sH^H451;hu z`ZX5iZ4mhqyz0y5g-HtjYOO3apWW`pa``W0%(U3deO+PGJvr5~-+LX-CNVD&YSd$? zXcYG|J1lAH|I_Jw%qhDvt+Zc>S_hk}E2bJgaZ<^+smHCWTjKdxxwJ}Gszh}a_r`lq zSYnkgEbDxD^5`j*$W02X)6I@gx}U8w+iLbTnc!;g$&It6Wto0No0q8bf0_|+-SXOw z0-qNf=2aeQmp-=Qd0%-o>%skpHZ*7K4lKE0_b#kV`=j12je<`t<_&T}8}{zg7SHOr z^;7@P?UUSDJCtNAI2x<peGQ&?!Lsmhji0jWmdneIiM_dI9auZnOL4{rE4E9Q+bb=u z++3ZjwBYc)D5kYRedpumUG2-X7Jsqo!m(35<v$iYtU4UM=Uek?>;DYLR^^-Wh}!c9 z3v`7>r*=F@uTkw;l3r?`v^-euqRa1-@$LF-m%Uh8+wRyX=vHr@!n!NPx9do3{+W$N zDZ49|DCFsNUU;@4LH+U82?=+Y16R%cAvrf#>e#ujjd`vi%ROgX-#F%d<~`HuOL<4W z8;h7;xwBv3`Mx<a&z@GV-L+)vrAxtgf2>{Pt-PmO@73;l>39LgE4TM*&GpbJlW|;s zRy<+u>lxABPm*diG9+7~UYdT0nZi)IMRj$R`lmHtH?&rNX+7d)P``cC-)-`$zss6G zhySzOQ&#%VVCSK0Rb|ET%Rl`4&v5+dl=T-G+iW(y{d7wF{mneDKf5_Pe<Y@UjrpZ- zb5ZO?K>zv=6`%JBEV0<&_Uf2?4|~2i%X4<m%H7_<Kh{son%VSbZHaVvR^OM0rm_!1 z8*cA@#p1BobN4#ul$+JF9M9e>UU^SII_`FG#<J6wmc8e)eYWO%QNET(=cVxbn^#Q} zxSpvS@^Zt$xyP+O1aJGhvbR<$_uh&}tGC|@iS@apChx7T^vdMhtcKJD9KHRij7#!t zABtb^FuTJwS?jmq1GYGA$HHf``?_BWPHqg1bm_6Z_%G3C{r!z!V*`#Vy*~6u+pI_0 zT==E%k>IikAMWI-t}A|`b-$}t>|vtO#d48jxgx*2tZjXdn_lvWJDGO!-u{f6Ws9<H zW*E%g(zf^Q3cuHp9j8`q&HWv@aPylrDnajdw1?jLZQE0G<zLFX3EO%%wU=ePDarhH zs(b9JX3@+XYWb2yvo}9Q>dsTKdyXgNugcAx`JaL1Qk{5K_`c$KY(Y==8eVp2iQ%7R zb1we)<sbPkxb_HDu8ZZ2Jnr(QB<h{(qL}#sZ9%GcM1E>7kUegeab~S?6u;~FANf<( zR|YMpZ(Wl$)1p$et-K^hQ{zegF0X>6y6>g;MJ;)LM&GsV;bt?9hhK}QSYEm|n`v{u zQQu-`?z_ABO$??_w7w9?cuDQ7+tN5CfoJvI`krt8?(eeJy?wUm?R?HNQv-h+w<#D} z?)d!0Z|Pg9E8pBMmP@~Su`*Zvmb9)>ytQ@IgSdCg7p-|Ek~Vu)-p=*iiubN9`ZYVd zWtM59*1X$WtDPq5^G@6L^6&XAW<_sw4_(`p7hJY|@BF3}XF|2Cu0;ob(`vlUs(UL( z_oKQH%k(JW*=~CsWGbSboL!vpy)Qdqx~A9_hS0y&#oMMwKHIaYsq^}*)~7ecdG~O{ z*qeTf-=81ientD&ny$asE#7?A*8Cd3JpJ}&%V0g3J6t{SrWfl@>0YunId8B(_4&>2 z&rjxlWfk&YqUZg^!KHHQgn6q4zbZyQni+WWmv-Fk%Qt_qmOh`dx?joK=Cj*BIdA_- za^>N_^gQ?c@qN=b^IO%o^v@dcF-_-Bh5l7^-lx6t{De2Zzg4|kf7NY9!2Ct?vhIg+ zxurP2S@5Cph{a^Hu8P}%i_T3A&sZP$^s8)fub;j-!@9SZUW;zdo!@gy+dNIsZ}O^B zH_zRC8)ag)Ea&0Xqu#MWD{A*{u0PTp%oeks`Ay%m&98$eZhJH%^w!&T`}eHw&RFWT z?P1ZoGG`a2w?CH_tpbfTiNCe>uQDi4x-dWd@6~PmSvzDz40{Y0@veMR#kS6}`tZe@ z->%i~E?M?!s)E=1l~?%|xBpywGDj!>KSNB}+<o3<ReZanOauLIO739i`}DGD@#=u; zSBZ@0Ldxb&TAdxZ=6%sOX|;nHN8Y~6KCfdtbNjE*_ZOz>{(D)(Fws!k+RfvOSll*) zo+{43{|trke|B|VyA;~DA+==c^ab&oWQzmR?Yw?`dba+BSlz<xx|98eT6JB?7xZHK zO*x9Lc%47#`6a&eKf_i1uWz0-#3$@}bkf~u^J&enC;J2TRx90G{iW4*e(B{&yPj)n zeA52f`dj1I+KNr_socv=a=%73?EA1reaV`=oRP;pq8EKE@=s}A`fkTsN!F=fjTW@~ z8;HzVuCT-`s;5f-VrpK{B3m!!WnPAfPu718lQ-I1-lbyBF<Uo%*34JVA*CCq9*I6t zUfb@xcuKUMf>>O5@cKzR=Et3!d-I`U<u{*7R+X8Sr%v5jC>iPdCS>w-*VB_8iJwh; zeW0Pa=FBq2X||7opIiQH&5k<tdQL@1V_QXGi}UOnvx-2;^qaDwUr(^gOqpG^y6Rwj zQkZPgYaPQCTnyVy&tI+UUdOTX&C6B!mUjxdZaraeei8bgVXKvK<~{B+F{dVfbasd+ zYF>GjJ9WwGB=OxI;c_mb%fkAOd0M2s%W!Q-KayJTbM0HBDJ3#ZEc4$oT5QQXJK?FB z<DmjkW`}jx{TdcrJ6AJ#PLfHsi}tj4KR5&1x%W7jrYSFoa1=Yyrg6&mvO__k-tJj@ z^Sl^%dZ)Os7n;0Uy3_SZZ2FoG$p!w}=T-lv^RygDIQ>A<MNmAl>Xe0B<=wdGy=U_s z?%h=m{kO`Yue*9WM_i>|;?7p}*x<D+YqrEqYqd|cdOE3>FHyi{>rJMm3m;wQ)8cIH zND|w!lW*s#vm5vxunMw^ypOb8+FbhKMx^Ictu&W>j&R8uE&emw_gD3_^@eHLy?XF; zq61@1<no6nW}muyepRE&u~m%wH3DMibH{8rwv&05#irQ;i`Tslw2zG3e%AlrRo)f% zBpVisPkgnkv{NI#PO!W4<jVHL!W|hiGNr72)0yI3zbY)V{u%8p`)B+1LaV;(KOCK9 zF0aylCb)9*bgP+Vfr`#sN)HFN+q{olnx$2tuu|{PvnMje4rXyl-j2I&X$9okeK5-2 zobhB;!1B=F>W|~~>vTh-m@^i}?_An>HS67p7u^ycjs-7QJvz;Gg6)mNI@;Ei3!d#c zCT(JxShy)yxodT1f0<!i@VE6jZ+@GqSvb}mJNq&^G(P=zm&mr6OM^2~ZU(R3zIE^G z<3F<I+9!Um(6~B%*UHVaSDD6d3R?8MQ*B;AL$TwYh{*K4kGKpPeng5%o)9V6d%f(V z%ik+zoCj-Mx!aEUDdx&u_~WY8`t{+JhW)cv2e!PkxuN57+Am2sYxAD==e;Y;rk#0p z)igWQz1lggaBb+NlO+j7y}Op(5A6}J);#%B>F%_7H-7Ed5$`7IC9+LR@hcB=_@vr$ z-e1j!N+Nt`f7qEiKZIfSik|7hF6pXui?`js`zK0YHT7a@{^RFbM%pIqAHM#xtDV0f zY}2k!Ve<A5F8@$^!I~>>w|MjP^ywd1GvvINtL~~fqN$eb5fQ1Y_GHe)vUidX=UnFb z_~J^mf7UXy6RHc}g=*z)tv+tH?6p&ER?)33eIH#IjLx*??`mhf#P#?3+uKi9Nt9TM zn3=t;_PEI|D)3w5DDUCYc0X5#pI$qEt^a#k!{*T5@4;*~Y>CsIGv2#q?eJ5Q*P6e1 zw%<(ta_PPg<t}Bt%T`w(+g29bmKs`o=fH=XC6Qdq<t)!GO<wZtyRLZl{pwGl%^7dL zHso0EufJI*x9qIf`aSyj<#Y6pT)pYB+-0`3$$ZtI+23Mkr!R`B-t0CZvv0+gsOu9J zulmo>vRq$$YR7}xgbVRLg{A(>jFY!F%5M9|=e&8rKU@25GyYc^zi%aMHwZjX$olJ> zXvJ5K`469nO^;HxT9<9K>|XZQu;;gJ_f{!S4@s-nPwV)kJ>B*9f_?uP4uAj8F!fix z=(Nw1?>q0Vo^!+Y!NsIi#ifU1maZ%4EmZW~of_!7Goj8~a^254SFYdE3YX$)SBdr9 za_dpv2fh7wcl%adH7o1Lk!VTCTfgb`AKA*6HxtxX21`mW+Vyj_u64<m?aBGmT}z+r z*);X#?Wfbzf?w^7J3VLiq3!ASH|wweP}2Ic?#>aOC*PufPtkl*9KY+ruWyxEEsIQ4 zE5BuOJ+0CYtrnhSJJ0*7Pv7FrU*mSJeDiOedRg78BgX@ldc9n9Hny(&VtQTeG=(qh zKXlUPPLK0a*J=7YEk5+szPpoZIpXF_m}|`EP}3ZGKzW7B7QU9*dLItQ-AdunezWsm z$b-8##3$|WIrLZbhJ0na*8Dejbyox}jQM?b0e>}zaNO#9*KS-ZvvgaS98qw0%F#Vn zEZ6Fq6>9Zwocrd~ZI4Ble^hN*RWRjMDDyVo%_6}I1DsAg-(k6?BDQ@d*JJP1RZOdM zLr-U3zIh`y;)=n1@0<Tlt=tlv>SOVGc4?^nz1zC+X%EX@N2OJ*n&0y6+Uc&@{~4ye zy((>Xb91g+j^<T&vBK2fE2bJw+<HN3Ph4=(pM}vE4qbFzKQV5#&ga<BwRuWUZS%x- z#+~xFW?H&j^bJF}T<ht01@X{=q6@mZGosuk?G0b_Wn)<27bn}iC7(Av&pW-|uXcY* zOsTg0tTU45H%~WMzI0l$UG_<r%$ZvM8BD)vd^(&Nn{KeD&x<c`Qs>ve&jP#F?^*66 z*JY)@>+jT#{0V;cf+s{*T+lAwwS7g@FVXx}GmOP#rp>>s{WW02ffr6svk%6qeUFP; zv-Oc`^rPTU+TR1OtIGSGzrN|dtAf0${37M0lj|C5uTNW;viX;0Z*FPov%DLDbFY4R zwdo?q`N(h^%e5~ao@mW6f3=`zC+q98bqiCUEb#fUWJT}0g0-ifigPkg<hUL4bN$uY zt6wjO=0!T~zv<|dU*8$+enPA2URe2+hCN5uG|g{}ez(2t#j}tX(z64~ug3gm$cVnG zUfsa@{K%4|C(cd%I|9_7bjSoJEq}K8-)#LI@jJsep7e?M;^M*jh@)&Z&rjCMqc)0J z_8NX$Puyi$bNez!kV1pH^`g4doVuq9*SOqY;eI$<D17PpbiLHtcgyw9YRqxie(bqr z>fx(GmG@5UNHWUt^fgjQ*{pZ(BB$j1Sq1W6b(TNZ);{-P%G+yuDkQvqAKJ0!#;J`T z?o8Uuy~4bydt<(Ji?TiMoxLJclDqfZ?elW@GIj4+@tWJ53)ivBbFDaaJMOIe?v&ko zR<qh?u6|oPYaiRmRCZ72{|xI4J2&$QtjL`$chPOz*?<$PZY_Q?hfg8-o>8D(pV7ko zDGoWeE-YxWnf7z?8ui$|$-AVkKK!f|nS4rQo@P^GjQ9hAt4e<!tP9`3>T%^}!k_Og z4q}&1G$%^wxE?NUS#&zzDkgoC-G()#S67SGbe#0yIrTV{ZwB+B#k_Y9d2N%t#5G@F zpTLt>ixwL)CtZIsC-chvx!0GsU#*_?{cg+pe|wBJS1<0HvE<FQb8jc#+xY%p;G?YS z1Jci{_f;+3l5;gWX!hqk)qdgTv>%hBeb-i2OwZ-X`yA>X@U8nrc*5OPnRgSvt>5xG zyxaDyprX-QrRQOb|7=T)&<bczX!>LvdtsHqw8JylVkgR_7FG!?c^Gp%)c5@Iz6s{V zZmTxjjCdBd;_kB$?VCOcv##Dy*&4QROKzy<o5z_4dDEH0PJ7?1yIJeCCAwvU6=w+F z?YFiQZ+qXB`?N;nWwm#WDU+b$jXby2mmZ01>FhRP-Jve{Y+m;D<T|BCt8%9F*}Z(u z8~2%O{U+l~y_>K0#T*J?y}e`mnN{mVTiLe%^y7IHZC>izx4et{&eM?c%X`u}PkOA1 zFJ_I|Uvc-~Y0mvYYvo)|9s708E5XW$PiPHy%3}6c`%dc}R`Z+NzWl@Sl!LGTGbn%k z$2|Yz{D;rN?}`5Fx~~~o8~QgfDxs|SQ*1!PrvA|1x&ieZg?F{SYX?8SrQ*NJitq5% zqIq6EmHMW?*0Spz+jT&&T9dt4blO+;grhZnE|U!^I$Fb-8Pw+QEHpdPc6oa)!`qf) zTxkaj#cjBEeD<%cT{$WD?!zss8e{_AURrv<dY(e_EC#^|Z#M1yZSP_?VS#*P@E`eI ze|NK0p4g>3xn-{3s#2S4LcW_esc5?RFInLGFzH-LeA~N~-z}DT?z-2ncV=IfhJBIV zAzh9TQG=N$ru^D^%sixIm*pbof_sPmx%*w(`Jds$r_<}xMNUn=xu)-2{m~_Q8M4(T zZ~ltzZ@W7;>F(SB`MA4v8Slk@e#=<L^kirKiO>HTX1=^#{qV$kz1W?9&Zp~j-QB-F zuPXcI>60;Kb^jR-*3ZvhpRRkacK-H6+xn)k?l1AHetUI%RsUh{cYc@sw|f4YUcW`3 z&;M}iUhVYl)6<sLow|6f+T<(8*Wko6i-l^%9haxS5Puc^YW;M-lgz&L{l-6Av}>Z) zU(mnlb^6)bWd*a(bIDkA?wI;rF(u_kr=#a2I{`r}*QT#m(<?h#FGq5H-`k_@7q)3$ zm&m=JtiO~G)+QD;?s{VK%;5P=*;Ibr@KrPWL%I5HZ?b32(m!&@>s#UC?u0+Q7W#|c zSp1s$BWiZtW1nW%qpQ<y+HMYA);w3h|L&=22i^0RJ^FT{I(CQf{+nHlQ})h|Pnk7! zCGT_X$c6~DyO(F5o-;dWakHj%htU?BReCqfUQKxwXy|io?GAU<&B5QM-HP6Bo-W^6 zYyY(Ug|J!g+&3$|R;$aZpNMYCEebojp<3kf%56asf0tx&3VvAIe@mp$*URqLJexUf zFU@zbazAQZ5Pl_Z@$_fYwdDi)#LlkQ+oY$LYi4kGe%C>}vcGc=*vUwTs9pIWxa(zb z;N9EqqVBV`W_<glzt(SixnHmDAJ6{`4L4bRXRf;(w9R>Q$WqrSb7Fp#NI!bDd-7&+ zlboL7Z>xN_*$ap2PW%#eE3d?AWr-%kzd+6}l3Op;R{0zan@}@B?EKbTeF?Me4{sLi z?pRZ88Wz@Pw&jlA4AUp8%0(jz_Hi5DEqdCSc;u$!mZ{UydqmfZc0Du{k2&74+To?f z!H4Ds>kk?4PYXO1IQdbaarUX->%z`x+O5#ms}+k^T6QOl%XzU!>-X^Z(s?@%y=v-@ zoLcYHKkHon$>Jx1pEhv4yyp>pVRiPLl=W;C8(OvMPpNv^g~jPln!mtZXXgs0J6DeF z)Q{BD@;}LIC7LI1DpeF_k*wgBb@3>h)Bc~c_Oy3s-(DdWb~!Tal<^eytLc9Y_NUI# zcg^{^=3n-w&*93a!s1nPi?lWOn;I@XsC8#TXY<^Nzr5z99TJ}z{w3VrB>G=Or2d~d z{gWC$tH#`Z$eNm0d~^Afg}LvF)+SZ#T3vg^`q}zV9A6}v7H)V~9wzy`v>?wUy!pw3 z^9utmu6wiGV%Nh<kz7TW4hoz1z6|1D)U(!d<?ktP&DU~$zxxn$8iw19?H)l1MXfL9 zG0Zqyl@eB?+sJz|_T1@5uKR>%S}xmh_MD^D#}zC(5j$>Igt1jJZA>zG{K)0|lusu_ z6nCYShCi=xQd2&(*1O%t>+QT0qf>{D+~Rt8B3ft$`@By-baqa9JxL@^>BIU@g)YsN zXB1d}PCZimMo`Fa^|jX)`wBKDw4IlFc~NFplJ*y8<-gt?1y6$Cmzh_%t=zG>;BE$& zzv?ehJ%(b26-p&}VvC;doF)|WJ<>d@?DnQQ`8`Yvk53Y@zxj4W_$|qBQLl4C_f^Al z)^EAOzv^W{sz+1z!8-FonXHRXIj5TGu3C5QS?G~#roT5onPGP5?B>0j=V-;uTQ%1$ zaWC7fHM#HBzD#9#c%;0;#o|AMcUMMnZhKd;Uv`7~A;;(?v!6IUnzx~4-K?qSmni2J zvzlz#^GHrL`S3@LjKdwz7CnBXq91!RIRDJ0#YLuy7D>`gmqZftihPu10<%{ZCP$i2 znC<=1Wb<^keF51qa+h=iSYqPuJdi$L7&`aOi>1yYre8OghrIi>)oaPVhf8A)TwU;N zhD?Epb;okk-4EoH^cKxc?-W;9pdIpl<z)U$?ZiJKh7C*)?<-~g_L_I<((8+>%7rtp z-PXLyIL+ktu1=<C%igfa*;_4-ODy8uXs&8i8oxaM&bsbdTis1(ZC%wG^!TpXl7l6Y zMpK#n6RmmW-f8Z7zUoL>yXEDiU$a*EBuaZ%_mmzr)@r!9O)KQvFTOdsxmUUJ+V-xw zpUt&%YIn_+bVl2+QMcAFFWb1)#?HHTS$Dw<7RP8;uWHx$!&l1QN}c;FrnN5B`-ocO z?pmhv(I<QsyKRm*D}6TPMsM7^UN^^gGndawD6F1!W)@f3q;lsOYl_Y>2^SPSYxkLY zEH=>HFLv6~S=-NOe>(rq{q>Dx<@p~!{b!hedc&8eH@VVvn!dgfXDDmD_MhSKH`)D* z{)%~rSXT7szu5Ij<CARryS)K<$`;E`@6k7Sov-oye8{W5yYH6xshr)PR4w!G_5JTt zzl#fdXT3T#Y4^s2J4+?Y_sv$8>i#tK`X+;!;m`jw7!<`?uFhDWubL`<eAcstJ3N#F z`pVC5_|L!}cjNcERIc;M-)|L2ZuuJHRO$XPUiJ67Y>l^1HbuIB5Y7K78*nl6KZ9D) zi~V^A|HS-fXrFcYqW{Ip`fs}b8JfR@Y1`e7KU;VDZ?(~vsX5a<PS(wxUw7i%<@yI- zHo9;6&*1uN&2Nr|-1%ummES7)Zc4hR)O5c2d)=>j!?%BPXMU?+wDITasjru({I#w- zviSU=O*zLLYp1`y`F-BaU#zD$)Ggn@m;L4Ki~V&sUhH}iZg*OdJuZ8`>%4S>kXrFy zWp&;2zAjB)+Zg$DA(xFxzRuRWO=}i-evWxkF`-cYifa7a>H4k-zT4+4^PjRldfi0v z$dt-&b*HOe?Ju2EsiW{vPpsxHkN!%}HxE~wn(k}ucQHJpSdynSJkFXYd(Nto*H=Vt zKCY}f?B&e<>4{_D@x294U8j^?yLv-1Tr{?8aWU8S2lxInBnPg!k^ZpH^Xj&CsjK&F zpJw$>3ayemcYAkNwRe8!j;*H`-KxKLXy4T>doO8e-uyfH+4G&{v)xW_p4+?C_O5{9 zg>CZR<4y+74zs*HbIZ1Sj<)}<eaj6Fe1BKk`g_C`Gx>x!%?Zh?j>c|U{e6y=`lXd` zb=S?+nraxb?9|SwuJ6_c?l7BEdr#XkDSb;lzvJ#L8G$LzwZgWu<8!{7+|^qp$zSfm z&3eys&Gp`pf(8Y#g{B)G7_o_V*nXMw&uZz(sVnVb{T38^maClFYP&pWu2xAw(4ymq z*2nc-kDTpx)Avkma=_d}D}ryCbxqZHv+ld{9y5)(({m2q+g-b^X4P(6-#x*pRTc3~ zQ!ktS+B!FO%j`e%K6mCkzbP_%bFL2SZO`>({~5gMF1%eh#rl}+DV@7hHwNTgxK;9E z{*SJ;;+3JAzOqaIK6|~&?Chsdv#zx_SHC&8T)utz!mEMbCeLinS!4U|gxja;Z^t&L z7Po8&E=o0g>pR8r%@NJ6lUp-FQ=`=XxLKQaPWWh6%+-0>_2|5=JMR|hp9@L+Df+wh z<;|yyI(|-leljKe-GWa~)>g-bxJ9jazH0uCxakIajat?IG-wE0>@kaZn-uU%AS|v( z^k<X^Pw?3j-W_vhG40oubo<Ysu>Q2_ua$Sc#;@9c(c!1&FQ)aUj-Czt8d1=EUg*U0 zbg$DVFD<jbnkw*A?4Hy@8#{#%`R<ab>Q&!2nax|8y6AVAPxOocTSwdZi(2PMY@Oz} zt@H8wMco<&<}wcJeM9%=-?X=0r}^Z9=pQqunA_=!B{LdYo{Q~DIA34k=D}BaYLcx; zzr&(G&o?icWA9qCMbUTD)@$=t)wpB?|IpE6h~75m)Sk|dPUkGYy7-tz{A%T8yESPU z$LDylS2HiY(@Ht-w8(vq=IpHHkHjLYCar(9>+Hky&o2Ej8k0{w(L6upo5%K7o4+z9 zZhiOqTh-mFAH^<P-di8$O7@mpdAZ9wFD5wuscJ-}S4Y8-*E`leZt-n68Lboks&&iu zkehwmgX~_v<>n|U3UcXXo))=_fwk&}@<orQMeFCSF3GIa_L(kbW65GLeYafoOihJj zEBtmkO<>6`wTQAz<j7EaWE}7?^ATHU$Ja0^&6oRbgv7s<U9x#^iQ$yiYgae?);+WI z&7~i?&VKQB*}F=s&M!B<yKCvxbK4l>Z06o9H(l<jty|1$eJCpDK`4K^)#{s3b8SrH zw_M$`=-Ynj`oq;m(Z?QmDyCgJF1^+5Lz=$O&QAvO)lZ3}cAKqH;CSYH^>)VHT`JAf z-ieCu2+QGFu;R~kfi)==Yu21JTs)0W_U#+Tx^&rV7HYifGZt>P+s?5v*e^@+ZEn}n z9WSp;2$a^%ot;sUbCm1G<ZW}8&5fGUoW47`e5&m3#BZ&!vnIdJ&*?LGT^vy_BJn)s zP2{@w`!Y(!3-&&$TGiI-wRPp?6&{JDbLP6O?oMuFnm$p_a?5JQ*Ee%x8O_!|jNN1T zY{{Fgx+hlg9E^)j+wSt+s@K{|a?|(S@7(5Zv7H;9oE^LC)-uQVo>Hltg-xDi7t}AP zhkTnVbyf5D?z;1{tCqi6tDLtmYT94(i|q!>Gt>(=PjH_loOpTG1*hNNI{v-%<y-Mc zO6S7H6u(VNu6|!~cU|s;l^d(wmYt26k$p3olXHsg+Q8j~$KS2~zWbgl*Zl4q-!g^6 zvW_TaRwpN~j<Lxzy`1`PW3Fk9$;*`4TOOFiNb)7ebk8kb(VC#Ykn^$-Thpc4AC;`0 zZJAdqHs5-+%%)9W&#ZlR{E)SBT<!c_eJ9wXo7Ud^{hvYp*MA1_cWc_>>W@^eWs*N^ zfB2W4*9rfRb${pVxz>HLuG^XG_52U+XVbsDnO#-<#`4?czUWKa6F>dtbZ{)$7h@6; z>t8Ihb;)urw%L)cmm_Tcb!~W`?fq(p4SQtD&&z_ri&&3c+!K7(h)wX%rhe6v{s~X^ zOnh_wV)o6v3tRp%UX1?d_{LCn*0=OO>~ROy)VVqq_C@S2eIup0KQDWt!(9o3u!*a* zz4b53SbdJ)^t+zrKZCg4>ARKn;`9IX^nb|wQ|4}W&+A0}nJ*vf&-@LG4_%&@y>9O0 zIiG`aOt{x%pZ;O`$$4GTe%Ji%A8HqGw)`BNuc{rG`fP80-nqJLzv(Ws9XFW!_GP?2 zC#K7}@%ioF^`g6ruD#=4)>0<8Z2nREPxhhqdI#F?R;KNAx4VD0FlA}o-R;5iC!H;N zbJ}=!>F;$J6Z4!z|A98@Na}m9`7=GFTKUbI+ZBDH-?gu+eh<ExYFp|Wdt>L+j-u{$ zLNBkbIxDv>aJlM)zNH0>KMzJ$o%(v!|7?8VB2lUT43#ZxJ(jGU?<DpqD9ZnN>fBkq z$7Sk~B=eLNg?TUUG%YNw)E0fQ_Qj@(S6*MvGFFxat#9#bSf}<=RC(&s#2>Lqi|Vqx zJ3mJrxAg67x}ne;F5DlQER^?nRa5=WQ^xrUn-9I~kC+vA{fN-1?wz~u@y?aLZ}OiZ zJ!Ij%oc|2%CND1Qs{CgNTKVQ~Q{SbsUtgb1tzEY6wbaTw&Ams<wsWuAuhn-=BwECe z)6LdpE$3XW#($}=C%s(Nc(yLj<1g30yJB<0?}+9+Iv71AHeKdqpc(i47n{$UzOLj} zJtuy5g>%B3L#O;L!%olova9jjJMGUuSNuE}`D?xEGowJcO$&;ztmc2q!QlQ(wb1rZ zQ9+RVn&lk-W(JfmysqV^{e(%@_j3EwXX}@_W@on;T2(ddT4}NVA!~Z&$=Yjk*6c0y zEmz*-5P9$;hufzIIvy_bC!N10GRMjHq5GZH&!2RtpExzSI<H}uoRUf4x8U`rdEpG2 z)sgH<*R^Y>PIIc$j89EH`Z@R$D`Te8^~kE0(!1MUHQBFdT6nWamHE8G&Y9=Jl=KB> z{q|d}zv^(ySH8f@lU`f4zO3|3Ii`G;v0f?s21}lrk+$x;K4<;6+Lv8rW~WUptl0JZ zlAw*jJ%RAGllS%c<wVRr)Ti$Eg6ogc1+O!13k&}<6vQViNnIwe?DGlMir4L?1@HPe z-q&3FAbdhHsK9#a)h*BV>|D5a5#vs=_be&5bW%CQ=iFJu?9BHuNJn-;<VWd^Ru7rV z^ApdeK4q<KS!9=*ZnsJ*f+uFr+SgyWr+((hPd}NoJ(7E+<%9-1wRfznPip*HQaE0T zeP5!Jf9QFow&dPJWtaWtO5JvL-BxwgV)D1Oo7NosUUKlH&2hO2Yd>p$jjZ&~7yJ}! zy6Js}?STi~qMLtP=T_X3ZqsZk->CQXe8>K>$E7VZkJhnxZs;p__%k(FtS)cPgl%8$ ztay4d?#Yjxi`beDXwRSYyE7vF@S+bT8igf(Yu|D`ns7A1_u7@(*>APl`l2<L`!T%Q z{XQf2>bK<&dqTA|lDjKS*Tr{ztGgbbwp#klvE93N7Zl4L;SSz?Ykk>{s+H|lrdgsZ z-$y;X`jAJ|fIXFeYQThF?+T_fE~>b->dKN+Nij?-?#^1c-dTLt>cH)RUcFuu^rQrr zZwp$LxuttUjPCrDZ<Xur@O)ptKKWwetxWrz+lRkPMooM8)$z-ViwjQGpH5{vR2!d} zo1UJVxG&4T%xT4`YVU7dSM^;k)NH;g*n4cogX}vSEVrzE#2cp9>#03oVf~lzyBvS@ zHbvgcnI$h#;}pI-@$gF4e9gnh=d5{ho-4<|<V27BuDwxx`}~R?>9HF;f3+-s0jt~B zpJ@#*(`A0^&o@c<xz?IrZ|=-r`WMsf(l^Y#aqaKM8<ns2U*Eh+ocASH$@~YO|M4dO z(A%`B@62wNGSGO`<@sro&vKkIUsC3tK0n>p+EjK){`r7)d#g<xZwVjSRnPhKYF(G( zwQs%$5BYtLnj5y@z01wU(;xLLG?PxRy1h;6O!lg+$64Ka+PbqdPvo*3c(b`Zx~zVE z{@Xut`wxVDzZn}B@}J?<(?5b4Z(shgi<uDi_Tw-9hxSJ;*Z&j!HSb)_!Qd$`)@@;b zdBfV|A5**D$?k7O|K#;9p8pqqfBWelw)r=ot~wk2`u6X7-fIDi*QdK)|B<`=!&CJi zg_$QSQ<g9DI(_t0c>XH+?|SnO|JE*w*;y9%;??HuiS~d0ovm_s+j)JKn3m|2zhPOt z?~`xTTC@DMW{>%8p11XD{EjylT7Q+@m8zV2{YTy1Y5(|d|JZarXkp#oecs=~_opqt zzM=A4mCpP1DPI3xPo464(&k5Ek-yeyK6|wOC9D6d_0v|do4(p~dDc1o)0_V@2)4T1 zGn$%L5dKeP<*!5Ys#x<^&FKCdmN}tR`>%j(lc|;dM)pm|{!D+jC;qDC>U*!g*(|Io z4*$7kUk2y31f91x86#^K)?R3y@A_Nk?IQEbPV0)D<IjY=K3V&;_RPxQpNqu5-6^Ym z8naq9PuyeE`7?*^#yXrdd#0wkw4z|z(R1Eu@3!q-)@wWQ-^*UDw)<OuM{SgS{%>A! z!o}RRH}}r=$PKx}$~9&Fq*SX4d%=!9SBh@#ox3G;#o0B1{~0=NnRPS$XXvccY7O|M zYrcwiap=7_UnK+QK4E813lE%hf~~Q9$NIyYb8l9^_!q6M*(bbcbB!6J%e$|U@pIM* z%6u$KU01Y#*L=dSSpUnLUw5oHI%(R3j&nwVOCsfeCq~cne)II@1Z{myjjvKVKUxeg zma@;i_-{t*9L7ZL?q3VjUx`mE3Xe;T`?J(9=ArB6QzA7}=7)&Kdi}lnHs`6&>i$VP zEh9NI3;%Q+>HaWv{(|6{m%_@goxJ=){Kmqi@AiLGWIPd}U6`q*=KqZA`=3pF^_;dZ z<QC3(xihQNu3)oWYl^?Q=+xt;xkXbM#Qiw}#Xq~=oVre}<E+fu4^yYlh(FzSYDZs$ z)8W=_XQo=zv^?4Qb4AaOF4pV2%&!%^TEiEXDY-7);c0&8a@V}bHMaRyio0w@{v4V& zv$bZ6mb<nn%k!&_Zr6G5W(3&pOtiYoHY4}DM`Rwe8dLVp?PbET><c+BE=zTed9&`q z)104PY-g)u(=Aiy9`^9fJW<TS(IMH&P*^a<G1u*WRrIWR-nRLv3+AopxEe3+s$-+q z<l)C~C(WxvHr9M<+mT}_x<AxK=Lj^_bnRX|lS}RX9L+PXYZl!5%ok`Q;}*K}&VqV# zu8Fe_E2&-T-ml{r>)tZu<K1(5+)uXK@31xeo$95Nn!L-D`=e>uw9sVV+iuH#-QLz^ zs%_Vrwb>)AX!qX0x6d~JyYWw|G&AhotDustXD%9U{kw2Wu8Dj=a^mWC{?IpfXWyKv zHA}(O{jJqniv`owZzZ=bU6J?jsnr@c*7vP>_Tm9MYQ1_FXDr>^v2$gZ*u~Afv;RKG z*ydi6{%WpQtK8$v<icE$*D|xVP2O;2;dc9^JgqIRKH49n{Vx7z5VoFe5Gud<t!}FP z5%GYV_ina^XMUTScBRrtvh8e8?EDti@}&4pYWXrQD_H(qP<Bq5?-RtYzxvOa0C(4> z8M7u^u7AF1A#>G4j#*RIZZT#(mbJKf72EZ*Z7;+w=lZb!^mALwR8}nXtKz{b|C?pD zvr}%BX7iq(rC;n&Qpn1(@;}4Q;%%#WZIY|2nQEn!_f&{AG-qvXc(kLacjlTSY`=Lu zqt7-OGs?|cs3(45?SF;|!F!7nwb-f@6Q8V|ct$~`@xtQyXA9O}Or4&7Gq(1(eJPjn zsaLOVW^nDdJG4Lb*ZNJrSHHel8L{c*?X#tEweuI*?ycsME$V+LfAI1TK5ze@<_&9a z{whlsyjb^oxoh6}J>UFK7TLS5`peaKaE9%~32!c6-fX`--NkN&{82yaMy;qq9(B&l zt5P{SD_-@Vmg#Vt>N{Cfzwyu!xmA0sLS9`oovSxJWyzg6r!N2CykzuGU+?xDyRMsM zpWp8PAlISzpFvsw!N%}6{~6*R$j+HIcV60yFQ+$E>)xE6ZhAFiecqXCt4?I!etLuH zf_v(}`3IlgUjC<V&$Ps%H=q9T><xXgW;fGc>-zdf`?IU0*M{w#6YqC#_1V&YGEeK~ zPLtkOJ7>3*{@?uvIsP*3PyAU{rSqTR$&-dFuhxrOPVqNfZ@PSu{i;`sf8@Tt{q&FE z&GpOEXT<z=_qFEOb6oFSMp^oow_kSs-QUpqY`^RL%bV;{>rT}A+dp{vtbgvciHrVL ztHz5IP5sZXGw#Km^bGD*R~eUePdX}@t-WB^@AW!UN;k5m)p~8-d@dkm-lF1IWrNV( zxl2~qPH@b362DpZDn~bA!{ohf1yc_{ODzer51oHCasHx@lF!!FicY`Nuvj?xVO;jN zH_vbWTC;EOG~ZvV{~S8+voQY2KGo!x9INX~rvB2{R?NL5ZS$ADLpwjc`Mt))Iqe+Z zS&yGntycd!^e^$z-HD54oX9)X(c^X_c;V#>%l59<DL8w!tn;_o`R!qUjBm=GtUBm= z|HI!uJNxQ9|1-R|ot<%W+q8hAt<y!hZrSrjt>0WbgSqXrW8dzXSIsjPZ_8!dDtymu z^D0Tc(3P8W^DezQcGaxyjBa!8`mNv3-;8))bo}PM%-zN-uiPxVbW%hnEXAmzBl3w6 zqoDQWLm^xKhOh0~<F2q-?Ym;#;|(QwZzntUMDBPPmREDAQ|#0!qvzb9?nH`d&$N1l z1(9>Z>Rsnm-mR2bT6#@<X@k$k-FY5w`rBuTU;4X$XMo%6jW^{(U+h||9;}rXyCO{4 zk}*lJ=h;=;Jdya5*;cF{d7UQ+@IPfuU3z5YhI<#*$4qv6v)i=gBlDh1R}=IfP8Ac| z!0LZx>g73_65VzR`@TCVuUWs*<;#hwx`rPkJ*=LEX}iz*ELh5Zg<*@r?v}J&&%`um znorpDCGfI}Pvr_;vva3)%~O<|ZK}Tqev6Xpsylt!b?#OMoj*-8C7*JueT@1$@xv35 z?Nb*rCbzubd9*(C(3vfKN=`@ayUojxJ=pe+;jUlcWUtpB)+ppXno)gS@Z6UR-Nw;b zoBNeEe=fWj`L^Sp*1Xfvw@O}zulcrhi^h-GtL8VqWCh(Wn|>uZ(`st&?N#l0-&&=9 zdrQkV+<5h<PTw^2x7yX<q;J*P{}~RyS&)C|-QJb=t3B_&E0uldw(iXFAjL_q@=GS{ zSpM0malXq5sk;kSGqJ2xeUdcEi{(>;xcE%}IVX3z)iox{<xY!qu2fFEGS&RR^Fo%I z@`eY2hr4-VkLYjWxu&~o^XC@noF_?Q0o?v-rwR`#J8-Rx&RW?tBklFMcvGL85UpyL ztsg^zN++z54Bc|$?k!XKNjnR^1|}sN<=>uu{fBY)r#CNe*3X)de6d<{cix4}H;uoS z*?3EP`&vxAr|&K4U;Vsrv%!4-zt7#e8z<fB$emKQ%G%Sc)QVl@^P5*9uP)VcsO>gy ze6}LzcR^w<*QV=%8|SSupR0Dj(&o)?-zq-c_O3ja-tD=`rxT`ybUI#r6|&}8@1@TZ zT-fc@XKlas`pZ9VoxQ2?wqDDA`RJ}VbB`}OYvI;hwrLjwKYMKLoFW~z?UK~v)^+<= z-Ont2$8j|wS=Mj0#T1jned{91d!7jj6z$p<e8j7{MPftIz3r<kGB2-^xlyLJ?%!lz zslEws*f=?VoY|G<HSO-X%@1BI5T3iPZ^@6PJSU%OFXIn=w5^d@@bw?#?u%7rXZ~EB zdj2Et<6J?>#J86h&G<5PibR<GUG7DvZt3l<c79y)#PRLRoA!3+<L=-8@$1vuj<0UI z{~46$e~66>_gmqlp|f_;=9mL@hNbqUr&ryZ@bdB`dl&PGao)4?T&DOHY!=$lbnf-p z+Jk3h#a=sxpRI{ycysDrmSw8umX#q#+aHy#>-ZDwk|Gg2cT0$A_vU9aZq0xA!6E#_ zlb5mV_CIay+g;dmHwB*l(I5X)a&=RC{`*_iMQ@+&Ec>}2_v!8VAEgy`>0c~<^Eq;@ zee>D)ZMip3|9JmL>_5Zge{=U-pP&EoKZC`82HAc458CeE^<v-aZ~r*iFUbGAxBuYj zNj(S3R{iQbvsC)H$3Nxo@<;9U?mSF?$$fg(u9r9S?%&?N>c!fx;lK1!OJgot^-p>! zv%9cfruIKW`#Y~qTi+HeS$$h}iQ2ifJM+_uPu*>vq?Equ=|``bEE$f$MwaXLTz?fF zu|s>AwAcJi%rnoXKP|QBaceBzyK&94pOcnv`rflJ;`S<CCf%6<mfHDz9t;oo4|A1X ztV~<xzR>CCREgeGJoDKFw5w9GHtHPQZ)#)kPBPf8Jn-i7voR~>mS)`B)PJ$CQe4B# zFv&FVlWo(tPhr2NCNEb#QMu;Nn_U{ebpFkqSZH}7_|u#Dlg^gfOfmn@pqgGkv$kvJ z;cJ3BY<ixxeBL9<n^RO+bkD|0NAZ167}xXPA&x(ny`63R$~YtUcI$_|GrjlD+9LOS z-{Sj<&sV)Ko7<mOYxkOC@#fu}_A{k+2fkZv_&`c^$Go<S|32NgaqfxT!qvgtP0N0T zzPKVCYZGlIwX=1XU*)lEo6iD^L)-3HP5q_6>CwKm7hNa**r{V+Gksmw^&dIwg~g__ zX3u*N`SWI>>*m(^mp9voikn~gR(tAP<;n>+3}^j5^!e0j5ssrtyN;e&aeC_K$UjrE zt(R#0oEgr0T46&Q_mg$XOIFNy-lDfTT`8PHO~+8<+#Ro1_m*;$e~nia+<n!NcfV2t zUytq<r5MkN**Y;TF==xZT4(p^Dyt^W>opI*$oZk*u16>P+$+78SFonnSWejVvC!$> zzJD(x9iPa|Qm@kE4z6o;eRpTN7_$+_*_hiW<EM5{-RlwLl5sQa${nGO6Q5Z#FTK9# zae7j2%foxE^B0}}bJYKARPm0$^Rp(NP5lzwebIIO!e?t_Qt}#>a6Z?F_-e3z+7fLa zW5ct|EXgNC*{`l#dhVcJTRUs#;ph#zi?eRdI2KZI$Te%R?8VjhZ2LcQxrcUKDLpgE z@6&tpIW=yJmj&;Lw&z;xHt%onq1|)$->MEfyZu_4+#BP&(~G9IeA+lw!01s%{OuBj zcU(1k&)O7J%+9bDe~$TiO470P-R!**MGYHk%(;smbf22dd}fNQO_X7(;Ebu?R1>#u z4tl7j;2ErZa-oOy<;uWIm)7pFY?yy9=h0f*C5g;??tS*JwPajg<8}V^AGP~&Cw_nX zd;LXEmHyqxfVJ*rOSxvuN)Gi~zGd6<t$SaqbJr*au8qDeakr&Tsble>)tA3nSKsa0 zb}riYy^Q*-m0_#rJili2-RrR4!IS61zl8nNt;_xvxM==^M|oB2cb$HHBit@%zbl)? z&PA{Mb?VJT9)?a`ovZ(F&3^{2*_~HYUu&8CS}kCCA|giWk$>BX*C&%^7fsQB!FnyF zQZM{1^E~fv)*sUaSN@#3BU#m6|G{68__GdQnK!Hc+uJ;O*Gly>WwlG?mYXg=nQnij z|3$S@^2|5QlkT$p`E8?qvgE1uoRT-M*02BY^V5HZDPi%Uw(VQbeb{ca^FISySAAb% zWm)IRbh}j?C3DuM{#v{%N4I)?%h&zsynW@nUhUJktXlT)YfPZV-$RpAe=WScNKLQW zILdkzOY}u~k$aW8@24l)i<L*pTSiVk<)6WH=Spq0W&J7f{nHa(-+r=X{?A+M;y)$F zFM4_NYRdZCvfKVKSe8}R^XvbV+0AvanCp@KlZ^HcDb<$WUIo0d|77*WdGq&wJpUQm z{eM2*@b3B5%G%vduW$bTcC+a1=O>G&rEfkz{X=QYuC=w*xzjf7D&tF(+dH?~O6J1L z>1pu?r(fT^@@LuCH!t?Pp5JWv!rD^*rb}7+=YJe;{@QnBpZ{TeeR|5vlWF^2@ZJ6^ z=DPf|{>|D(jg|JU^Dp}AbM2k7{z936a^-f`+J%{)|8e}BDsK_F{9G<Gchp8+r|qkk z%CG91J8$Re&aG1>KTFJ;!rV4FUBPpo?2E|zvwGa0Eh@TJt>SaG-{s<^r}?71R-Iw? zsxqHA;uWhk<V{bnS+nVc*XI+WwqmO+Wv{+kU-@Lo1l>o`>*R0sem$ADNBYJ7&{X@< zT=5%T!b+As7g~R5zD`NM^!j^*<7dq^%l@4EJxkav{DQ`Dn_W5)YtNnwx}0$LwMNF| zCLiq+`&O~*T*y4kxPg)TyBl-WiMUU@&;0Pdc04-e);<5tckFrn7JpX`*v7cU^gl!I z8Y#2uiFcCsTus~@vUdCR#6y{v(_d|y_*Oq{<Nbea8deYLQa9vWS$XyNmI>O^yA7p& zhh6pS<$JMrUFD;!Rc5>^Y%VPCTCw7R__t?V+jT>jXKYa4(2_oPg7UMi4xIm<eT#1o zSbOfo&!}JPFIKJFSRgiUssEX&-vySh%RZyOWzEJfQ@;n?k97GIk=}0^z_xSJUK4G5 zYu#rF##6o}e*B}LqdaeEVdeVhSc#JJrpfcloNAP3l`a-no-{dWv%tfo{Z0$t70y|p z%y&;R?zF)3*-aDADXiF7e&kVySaZ5)&eyQAormsce#)LYe|kfUgRrDq*G0os&p&!P zoO3o>`{9<jc-M=%;9bi<-RC+nt+C=_lEp^xxJvEXt9QjNGE2VHdi={l!=>{yM}+sH z62`ozW)15<KHK?I^U3l<MJx*n>oX(MCr3R^k9nSYabdoda&u{V@+>CD=G1v*=5cDb z&LtQ7ypK8Mb5w0@)Qz0^Z_akUzq!qK(vr(7ot8^}4qchFc$?`LXNk89JmprrwJxpd zw|^KU%EzXc^6X`h2>--j<!2j%t8cjZXVuBhnwmA^+1#x5%B5j9|L*Nt%Dcc<>y3^2 zs<f+{c7K%CO{?D3b?898WXzH09MewLyk~kkf1&Km#@#1<PrLcG%B$!+u4US~zG&Uc zi4%PHwks@{FV~vB?t_Lq-_m{Zrao_X*PZvg+P!;L?Ay0z+3SoyO1pT!$ax!h=eo=i zwM*aXZhL3e7j~_+on6iD>igUCXyp6eo^5Mtg|ENa`u6v?{|w91|1&7^ELm9m^k)97 z&u`A#Ts$oFaF6Us=c1zqSNvc9kxy8sd^NUiVPxs6PTBd(b9d`5Jn62pThBIm(|?A# zo2Ompr|>*BJ$H)rw|(iaR;f81Z)Y?VHEsF1Zf=Or+=A9;d#3DIIDe5@ztR35qW>A1 zE&KK#{Kfh`@blZhUC(xXi~nKz_CgE0-igcqLfq4`mw$}kWZ!N&|3f72O}T7`g)UX6 z<}BWB8EYEWP`SV`SkG$1sm>i&Wm-R-jW;cvba#T)H<>j%7qv9zin(uCe6lkA_Nq&j zD>glUvh!PH@tgBMKL0Gslr@eOIiBa3{YU(t;7#E_<zd{5?2G?ct*bwJdc*lY-SR)p zGRxQhIp;n9&uaJeX&uFHKLy`>db{FFocH@1);3e-o%|<nE3W#ho_~6J=+i$^_b2VY zy!~Cve+J3$U;5i~{xfhmRaBOxE&gHr=6CBa-D>+%&;s`5na^(-z4;p;oGS0SJoWmo zZ_jTRf8y3(b={UfUu@6R-F0`TJ-=BhrNoiZ9`!v+@Fe4ORW^$?`%~vny;e7&VN1q^ zuzJ^Pp`WB$uT+G;TDMl-?!3*_31t%x1)g6!-FZgDA}gVt`ZuLtCwaYGd-X5Zj-MjI z4Oe$5ev5jVz4{Mmp@;U@;Li^8#U{;tsw%H@eQCp+xs|JTlqkj=-KofS@np>FN&gw{ zc&P~FuHw5}ke8!sxpi*)1I;&5W=CW$TKu}RGM^_ht>%EkjD2BmUh(d>4Xb*!dDGpW z3e0=1OtuxPdLmZm-SKC#bo=k6@-HLrFFOBfN!4oa{VVI{Olf|i82@hHDRbMXeZrO| zE9NV5PL+6ced~iJv2(Udx9-|-b7pJP)W&?3&zp1oZuVVpxFvVKF>v9g+~$m1W@!&r zc$`ht{cN=VyE4Ns)7o46LwA3TEuFOX#r_h@A3aJ|&zN5EF7<h)tZHm?L@E7Th|JG5 z?;i<Hy1w=T!>!a(rGpNWPciM=bLF$S)_(@od3&bYo1VLULh?U@kcu*k(eI@v<Xaq6 zi}tOaB~bcio`$7pg3*=L9iOz^ZKi!FU-X~h$U-UZsZ%^RK3mdsh;5;9*~d96d2@bj zzxFx#r1iT!$1>QC{0os{5WmN=F5tD({OO?z9JAXsmF-p?kIvV9?yksPa$D?G%Jav8 z>Px46UMrT#9p@(cBk5_XlI6lLT#x;{OE1(ZZ28{XcB;ZoPJ&y*`E^RZ_@4DQt2CNx z&WYqG&s$}B)$>%&)r5-DB8hcLPwjONCY1UW&ykSy7WG!|ot~hd%QfNGj2~B}tkur` zQ1<zKY@)*Qz2~Rf+&vel^yrasKwbCM$ZNgU_7^2S^uAsxwZQS(qp<Vt8Mp3-CnPtR zsJm!a8$Qm?Zm`JQtev%gwp*IA5QF(2+fRoUp51N`xPQ@}3DOIk`6^P_TXQQlU(cFh z#ACs<NqHgX?RB4Iu6lhf+m+1xXm$08ubc;Rn=@BGN>$t=DrNuXYwYf1rT+bET!ePt zU9_<_$b8;&<aRKjyT^7EO7zo9)`)S&MH(ee}HMvv&JizBRvc4*PDEPy4BVXZ2H! zL%;tsoOyaND)5)$(MiI8EUQlK`pfk-EG+)j{<!<sx80q%y7<ZFzP;1pH$B<>=0Ahq z<?oSIWzknwE6S|DVb@(9I<qgf<xc1MP0H5-Kkb@Y&APVt>hklO;~)IpZIOPm@>}K~ zNq^7y68+a45z$6WTc^MMBULZ|YUjH6g9Ry{oPXHo|BO5y|M2w<k(Z~p$K5_)^-b2` zNmr)jZVUHGDzfif)7U4tedoCMx0>H@(x+I#ZV~Tdt8a39=h`>j-Swa0#FL%ws_SQ6 zvs*pqb7WcF-<f4{XCD9PU3*iq%xllL)SDXmH<QklXnbouzu7hKfMsoU(VJ^k^&-*R zum4E;{3U4T!X<yERi?P-$DR1c$>E;2chCM1`{wn3=FLB-z3R%}{ZFD_*+2U*$6h== z?yUXpAI35N8J?BIZ_m8acW%|=*MDm5_8*)xzfCOgRa;U?lzWQ%nr|HEfBa|2fB09V zmg}L)iwAFZ+x?xtJ|kxOmpQxi{m#2SpZ=%+V)P5aU*C#jc52FpPTivM`c%lD>$f-E zT>WZc)w=8@i@!*&bB~LidGO8kE9<|$dA2`vhV}$Yh9xUrG{mQ*xO)al6~{R-HUA5J zIw8Ka#Ba{22L3d4!QB(4c<y%)P~Dj8^>x$l)vNg@hHrebT%6;I+5t(wPwYp{IFHON zk2VYNbK}u}X1l7${cA+M?v$q$jtgd9JfLuIy7rP6`-}S9ZZ9<Z`9fTL(w={j@ugC_ zyqjBpm6`o|wIKRx{FT+h^HoZw3V#Z`Y&z@jDZ8+#uP3p*Shx0M^aa0cnfp_;>MnmP zbu-Ri_wVhL`R-z`ZhY%q&;KYp=x8{%=-vd4pI*<;u%2-j(V6FRzc5}v*}YZ$64%2C z#k>CO2)`Fr?|NC}(2ISSL^mg#<k-6|@TBdpJvW@#JvK&GHf%ocD(|Xno45JXt{yuV z%k*c93MQ`;QTJ(#U)29;YQAS+-3F1THIqHevlFBLoMMZ)Ae&bb$h<JC;K%G)0`GYb z?bp_xv-!wIlc$Fq!h5#3BuP9vB*5%;NB`}fWxLEB@5N`j>HqZ>k$IQM*p>g`Zo$dw z1nWsG8Ab&`<$V?zjBff4%XeQ_7nSMlba}3Hd$q>i2kWnef4kw;F*{vza))51-r4%1 zj%z7Xo;_ha7t;7OfalQ}b)GvF;>&U!?p!&#C#Gjtq?zlY2lu=-ex2II{P>VpNxz!7 zg1Xurixs&~?k-sWy?#^l=2`xWMel}g&+sqq@0qNuQuX|1_UB;RIloT*ow8=%Dl5I1 zhyIJIYp1`Jy7F@GhK!xp{8#?CyXdRoym#wd>%X4P5h*)6YXa*Hi>tEhTEpyG!%oY| z&3w-|Pg*%_X_(QR!@XXeeK)twowrU;ZPWJllUD6D=YAhLkhd*rcAZ+_t+@^17pzz1 z`p(W+7&Y(09bc3An)lA$`ZjT6uI-iW!fQ4AZfII(-HHu7v|?4c)au;)vWqU)3-xav zO>W%h_2@@MSFc#T(dK#H-{KejJ7P2=_)A=3ZF_qBqt`dThg}c;BeeNT-?`QQ8CL$| zzghSCTR`vi_cy9bzc`#Zd3xLH>FKw)p8pAtx$;>)ggM3Cpii6Q1m9T!^X(tp<}9t- z+h+8}aQep^6JKq8^ZE4VSub{#MOV*sj;oy)GyUC8rM}gxw&zbz`IZuJL1<y|=lESa z!-CXao7O)%8Ch9>LaSIlH2I6KvHB5Z71Nfw*VZMnv-EU~FK?c;Y3J0_n`Z>CdQz#F zC_X!FOSp5$yVS(3Te+NO^qu_22wHH%Q_t7E>gk`zzx8c*XS%O?{>S{yu1Wjz&J}Em z)Yglg_U7|H?r)Xy54I<~+H+mw*Xpt<%0JfMobiU~NKvG_$3NL>)3+C6v(|olD}2c4 zt@6^Y{ppc!|5{gm%V7T?*X?>TQ{&~$)a5D9tm?&o{bvwS{vN;R`JbYFua}3ek$>>l zI=^)K{0~R_1OGE9e2J>+yKi@1RZ6K*P<j4`+nc9nUK5|^@vr;z=J?PjYt}#HUi4(= zy1mm4PgS$O*q?gI^zD;%y)A!&nkFt!e|t04;`#6J7vcA}&r-Zq9GvdfZx)xu_41<p z^0eA%KPK9{zFzhGtb6XGFu#`^=VGmm8&^cle0hUkdH1u9E7Ct#Hz!wUPkbWqdcxtG zzgB;Kvp@aS+RsiuQ%e$lMwT3&wdeVqg@4VozXg7dUaQyhL@z*OHcz<A_nvcS`NFoo zzo6W9*J*OS(H1#ZHwop?MGxP|S_Jc}GC$Y0{xtRULd#XTKctH-*I#vyx%RGB_&>w4 z)4G;rp0bKA{^m^kOBo`%<4ubHTyv_MJ8AjSss9<8uKnY`prwDbO4QJxymR0AZ*R3s zGNcSQ=lYd1`rfRa`qp>iZ_h<?uNGcvmfskBtL#}5tGj(^;EJ;ow;UBanXOf*yJ)iQ zykpmEUxZ~o{2U_dpY=z(tjuA#NBXnn8Q;2B6)ApLZG7v@>bK(8Rvq-ba`({LP$`{N z-!86ni;2tcH2(0rmi>`=#)^f{I9%$dM#qL;dHG~n>E7vUmwH#m#(m0BEVv!}bXw8_ zjjc1abuHJ&KFy!h`8h~@d1vZ`y%ToFvpvzh-=()MC1JD2iN#iHJ_`wooi}Rz&bYZF zd=vAVHU6Q3SDc>e-F5nXPTV~@Wt}_k6P<sKG2(8klrAp}{<%rjEqlgwp_wmSl&j^u z#oP2=2I~ELV(I6yD7Go^;R~s!M{A63gq@%0x<)1@DB#Ziwo_8<{~5gG7lvPWCfeES z$;E$k(qsDzY@S!m+IR0v=CArVBRW^3?o3%S&)TTDtK_^>>kgfYPCL8h;;fz-wd!XN zE#L4~T8yjIeOIykBiGxZQ6*CM1y`-G&iK|UUZ?PGW8X>h%*9(Th@9M}e$a2}y-hQZ zw$6y{@+uR%t)3Wo*_7{8@syW8o3^hCNSJ%?!_jLuH(&a;R!Ta()Wr5pY*^aW(5u<s z&%f8QSp8|!zQP&hDWA`1_A9La`u6kr?bkPWK9pW{{8ET?+_T`?Ua$2#(k|W$Ug^2v z>z1IhQ)f4Rt)KRG)ekQHTie<%ED!vA=kjWvpZY&)ckMgR{>NO)y1I6G#M|A{drz)P zQTr{O^)2qq-xb_%bC$3A&(M79+uYs*`LgrYsOLtP)-Kw1;aj3<Tv(7hr>gfpUV&d4 zKlShOb)Q+Uy6a`&*O))o?ZSfpl+6!VzU)icA$t$^SNl`HbAS0KYu~;8qGa>a{|xHi z!|aMe|J5Hny?uR7W_#S7e~xu`XRV7r{JUO!`k(GwmAbZ})3VR6x>Q-lvpCeO_1hbB zhtJRFulj4>Z~A2U_V@>9OJb&ed2{)PPWy*XZ=N-EyNA~DPF=G<_4KBr9P?GJ)};lU zaJanT1mBmKY2k0?x_KVmet6l^IIpd{d5_HVV6AMt&2@K<LsdP$-C2QOQ%}0*{AUpT zZS-sPny&4M9aCT4UiAF-vrU1wlS{czZ&<IYn6dLe14Fy*A)6#?ot~qgU$pB#I1&BB zeErQCPA1QGD&OA2zC7Jt@4RX1te1Zz*G&D-&^^iCm3x-)y7+@qWtlgxPtS3yTIc@H zao+ulmEWG<yuNwXrceL$Vy73#)lQ4wpEm8y=a-BAUa4o>w0!$4bMv!VYf~?8p8lsV zc3$kf_)q(tZ`PgssmcDszV2*Y?B?}pdpFCg{`%$@xJJ``^I5)~t81<;V$1k+ef!zU zXPfP<%S5WU_4$1?7FE9LOZv6m@0|15%+C&y$7jmU6<>7XcHFr+Q(JDA=qg#Retu!i zpM_4_*Qft8zNJ3z)sbYotfEgbVOQfGyUI@M4=t7X{AT_X{rxH5DwTYHGHv>`Znb$| z!QwB0pQl8ayxLnFP-45kXn)-Ooo{9^yB!Fu4^@7$+?4zGl;bOG=P!ug#s2!{46{8V zH!c)MUw`uM%#VFS`%6oItqA+Iev{zo?Pl{9ELu`@GVR6eCJ~pPQ&l5=u71Y5t|fid zy;G)F{ZHrw+I563iaTz4R>5e!>gMYBJlS(UvtR9bw$Z$)Jj-crVFc66t#3nCU0e3u zeMio!k~wB`JE!^tuMY9}s`)tOTi=O4e7oZ#JcB&$<!+GH_Y)8cu=Ls&<uvci$G96# zmg(6mPjQ`l5_ihrXKZ5i!W-)@Y)w;UnXtD=H)8oo;d#Q<i~I$zrmlM<dM%IZ{Mk+W zi`FpzI(4R0`_m_fiMdQOua}Abad$N^dZcB%En~)sl<mc5w9Uo$Ogpsw@S*t9uJt?f zk3Cnm&ec8mVcF4u?~mGplj~N@F|}W^Db<2^?(v5#%T3;_Nle_#{WNN-An)DcGqD0$ zIlSAx>{i`%cGl0Gt#+DQ-}Ii^axOJLBvs+Gjp6or-TPPeZJSn=D)sP6mPPe-W^<Rz zYun~oEDb$>w<vq%)#SsiuY!HE?;d-Rz~(*q)zv$>3f0Gb)a-9ul`zx#on9EWIDSvT zb8ZQX@0(WFc+PvzUUK3P>jabR-RZ?V-`AFXUzBib+xERvRzA!VfBvj_cF4b&)Wp22 zTN1Wx-g9OR<J7X{T{C8Uzy7dj?N+Omw`Ru3eVTVMSaoyYZLQ6z-x@8lE*F3Ih`r0z zU@jxZ9vQxRYv|&BtrFfm)q5dpqvl$b#@@Y<8qbv)xW#_&GPQ|oD?+t$_1|mRo9|ft zTu_Vm?d|iceyw-?UDj{^VB6017o(MD?OzyvReocz;R&X;Ak$Wszk!L2XJ&Go+Ws-M z<3**;zwWNeo9>|(i{E~hKb+BbI(k!e)k4FZtNR=)wO9UReL4R_-~Idl{NFXb{A2cJ zw|`_9Yuw#x<M>T~>z_#ExTS^1o&W0m<?YLxSJG|wRej@|^Pi!8)mf)~-jP#OE7ykW zU0(n3)XSTKw)IcbZ=Wr4_1d0#sDF9lKc?A>PMx~MZ!7SubHj`3QrEnjb$930P8U4s z-u`M!-|2d`z0>!n$S=>`UGtye$)WxE`le^f+^=t5{-J*P$IRPv>N(WyPG|>&IjqxE zw@z6v*KK#8SY~3|L-tiKw!ZBRk3V~JN*Uv#4uee&GnzlY*>!n)`RiMLt3KZRRnI>^ zucIvc)t=pz-)@Q9|BU(bTbJW`&TgM|>6_PoC~?>RRv3LUdi$z#wqhw&Wphr=U!Fec z)t=A)__ELc$XPpyd4~Is^FI5VCw+<yo4-C^CCo)$+x<`Tb-nX<1!ebnw^@~a{>Oi{ z?zH`){#Ad)P3Qbtc%tUF$tHEZ+Jz|$Y}a@F{jJMVq-FeS&$M{sTkfH{8I6x-ui&Um z+aFr_CDvq0zE)kq&f+(J1)gia=lVA{WX<w53m06iooMytWQt+siug6_Z@TM-hp4np zag1NocmDDw%dEAhKHfZi{)h7O8+P6L>vKvkZ|;71vqMI3jqdZBCPC)e;c>yY&p(V? zb*irWT}OZ1`I|0trZ4+4_1B8t92xO93nu9<dTm)|Rr%TF{^zn3<8z|xFNwd{`h|mk zLF6x|ukN39mY?4I{*Rfx>u-I#EcTVQ(|&1}bw9tp>Gg*x*;mU>{^-fOc{W<nBPUer z%DWGyi(B^wM{a$y=H|D<erK1YF29;1cb@P2?@-TaArG^9iq6PrHQfAtGW)x?tU%cD z&A+o|q^9NkSb0UXaI(z>p_j@nt!L#o{chUx*=2rrY5IgMth=727i^n#|GkxjnRmEe z{l&oijVm~BH(2X$k^0T*oOkQn_P0$dx_)aW{Yem6@wj~VO~d!cL+i?PwQX}tuRFEO ze73_s!ly}v+cY&}lU>-<E}PkwO2$*o&2~gIH~wkua9wV;b*FX*uhFA;uA6LkLQ2%T zww^AKp2phL93Oeh;)eS7lIlHt{}MD0r&r5{u4^}4BsKre&c+$reO@g5cWJHgpY3KR zdvD!%b=%?5Dz=B*_d-&2LcY&>I4ePBY3tIE^--%M>;%%E?SH7Xv00sMyXoC4YddEw zT@WQQYyGx_oyltht|v$HEDt<g*I%S06`>P+=Xh-2z2b9STGoaYMaP~?e>Ca2tkHgL zq3?q4iR(A`-`tj;$$tIaVK%E`u4$L!vuhJQ&f2}bqyKDm;F@P#p;^_}H%+~q!Bh}z z-NSbJy3vA9&u?F>TB&}8wbp0~$I~RH#an|bt2OR!nHT;zJ6c-t%Pn)AHb$e@C;cby zshs+&p8fU@o&Bl5*Khj!JNHZc{<Q43f5gwaDb<Qh{k8t0|J}?#lFu)?znEK`n073q za_tTKYdr@FKJ?w$x9X9#Qf+<rm*6D__UD{m^PfSivgDsMXc%Pc+v^u=f7|TrJAZ$3 z{DbFzWd1WWeS5Opd3yT$+j*zwFV7FP{PK_c`5)Kf&;J=F<fJ@FyRUb<UZ(zpTy}K5 z=+!A1{c)#PNYp&u9KHVf52s77b*Af^u1{O-@oTMja$NnUJ)E&sWw$pk|M;_>=bPi( zdZ$hQ?ClQTC=IOlJFj<O%RimpmaD)0tUvu^{rZ%Z|9C@IKmSuHcT!=6)<>D&p4YdW z-QRpZ)>^k^uDXivp7yl4%Wjsrl(AH^e<*tMZ1bBIYnz{CpZ@WAM?Aj~ve4@5e}-vk z;dhJPUj7mr^5^Px)9c&M3ZHnjKlNnFf|dKdU$lOHvGvV=hPb=J6*UXx|J6)?DLbpI zu6w;joJUIk$Kz?u+m65d&!GI}AD_3s)1Ke<DK`JQ&t_iDX7_MEb7rBrV%_Pp(bK%& zR2$jr9emRD_geDi2(53=FJ@0qc)C8VE>U>GCF@GT>3S!hE_6BZO5{)D8`Y?HQ~2#p z_Ah$1Q!aZ>+Mero>y~KlpEQ4wMA5VD>ys0<{NpP-S+}C{{szZR%L)5KwWp`Q+n;J* za#D=BV#_!G%bUdG+c(`;*c(1S_57mef5d*S{yY6<$(%#;X041|UTQ8o`4eOMqc~~l zgKs7>8SlOLt3`iu{#8HEzN=@?#@-KQy}h~eV&$Br#jiF8HatD5ZF41Ca$)_V{Y#YW zUAatxYDJG!iYBgGTKD=t!>YGmVy;y^;aa-=&3nBAO3TiNUOIHPHthJ8oZYMnpEn-X zVvno(<aD#xeOGaN#oGt$LM(6Jt~++&z}a~#e`<Vt9lbes?t_ftB3q}l%bO?t5_R8Q zS)$dKnmhAt@`gSClq;-HnwQLpbO@;E+|jC+S#A&@_(at@>z(!6Mcdw;W89#<e~HG{ zudC<%2)=XlMRVD%^SNGWvYWd$w;D|q;(lJWJ2)%w=6-=w(JEo0+RpwV--5p7N?loe z*KSXb=9aySH(0grzJDuYf1%-Sx%-<RuR7y2)%`>3)|`1~*8W(Z6=<N4*R-lmKYj7m zWaiy`<xC5`^S@<B`XzoXEB$dl?aKQy_p67r7+1|GabbF}T(7nEq2X`8t6t4DuKyXh z{xe*cTBk7Gbd5{3S+j<>;?{fVTm`0PQ3rN;uMVCx=Y8gN-uvG}GFe>$_)3lZt7MAe zUM_F1E;O9d{c`7-t_7Rl%;9X{dyrjS|2I|FknQ5EQuV8)5yk<wxz-k|t!)k-(g`cK zd>Hvx<Zt*5g`0OTy-GQ^J^ZU;{KH-6+z)XXmE85!E&I=)akAX>_4Gjgi5|sqt6N=u zM*q-#wPVkR75iuJmSSuAv_FO8OpS-+&$YJJI(x&m{RpdA9ud<d7d!b&{G!W0*sqD- zy1V?;>67k}@%4|H*Pi-a))CY<=kbQ0Wl!shdiY-+T5FrK`me};2KITe``3T?cmMFz z<Dt{9Zzw(gW6K-c&@<mM`VBvYpY?e2q9p33oX4~MC3UCIX7t<(f49HxtoX~@tLFM; z>-=Zv`p@vm^zGA|Pp79Vcv*G+<Jj{pqjyuJZhd$4zk9d)ADrH9|KLnn_U+U&`gi^F zQjUjI{bvw3nVNT3dDTVVr5@)u{hiC7;HGD7s`dS?Y_*a6aV@6iKaw}={xckvx%!`> zq4=%*@-$bclTrT}4zmBST-2Vszs*|rPi=K&S=JiG;?Gg_4EC<4&;QW>BbcM?|4=sE z@5Ddu1z~&lipRwto}YWIJouJ%ef`5T=2uJpGfe(f_BlN2_V!6CpEq5QTU2eYe>L;w zS&mKTU;nY+|6w-kH|^8^+~3}Odh=X;``Ns$XAhsetnr_L_o?gqMf<YjA8-GV&V6~q zNtHP#HPVlkzS?5TpW4Zi;^?IIG?n8;`&FN+Q%`oTSFVU(pVA@gHF0_3rLcLcbtX2s z=^PHQIi9a~&g0cO_c>)UhyGr;#I>XIWP0Hz7h&_QQ@X#zw08+t2^)#jGPtx9ymvPh zf1S#HS?JZ4w^}NdPQTaHhRs!tGK#G7Pupe|EdInO{O97in_6Ywm;`o2?mVA<fAjm> z`4ir3_&jOTzn5ogyEg4#9e%e`_UinL(bHU3&o^K)KNEH8^6nX}PrA2UtJYnX-7()_ z&)u7UPk(#6U!~@arRLdKmtS757wum;^|$EDq(}Q578LJdN&a&we41DCtL0zg3pR!S z)_Hz1ewtT_q^4C$wcRVGzfOHG|1(^>TJISiA;aRd)N$XXThe|FT{_vH{Qfia-IB_( zuY9|5)#5k*8FFVGFfN@PUTx+!RqQPv(>8Id#lf{p-mc%hxaXMF&ULSEPMN>$_ugMe ze@{Lcc=PYdH;SRRO?^VLX6@eZ@@w&(rk|-=d7Fb{vkr^w+{%{Kce^ELOUBzPFW-u+ zoN-iZ`=)QRZigM;`sSSNF*fmEYQ0mxY6YDZyYT*BWWud)&yq_7Zt+jk(yM;4$1&B& zyMfQ@rhW3ki1znyZihzMpG~|fll0hZfyD8o$_={FX6H`nt$nj=YJ0s;UB@nGMj=-B zh0U@-uB{3S``)FvnVY?A{Hm2J@^W|S)Ofko+_x@TcKUxfaQ9G{*ge<Aj|!#zlV(ru zIx_Wo!1BmnWwO=`KQ{SxKHR~*@8&A2-uT{DtHtXB=6<&o{1%_e<+0yk?fLkJ{j1Ku zm}|u<zdSwe;8o9`WwCX8=k0B1G=HdCyR;}Q>e$k{*KanrKD{Y_Jn#0e6>{yH{xdl3 zPrW|<gUdZVj<=isUXNe2|MKRp%A2XL?T??WERNswq)WEGd;OpOU7zibUf(=RwkXQ! z<&CN-;&<a;gl%5<_WBvcj-SV}UcHWYeSNd^Ty@QVhUSPjPqzHyet!AKpQ+dV&g-3d zvvalfdb`tii{5DX&7D;yv;L3xn^)^LhyCN(ZSvNr_|3_b>inBm<L&NTH+}g>up%y7 zVV8FN*^=kCC+#)3{n<fgmtI%kIlKKw>|0j+lUe?ws-Dk#eM&vMs#IBa>8huH%>POJ z(^oMHyg6ydTf?Q-zUS+&+Mc3snzXB|=+$zkJ^vY+K5Oeg-0<de%>H)INQLG4rdp?z zue(?&&%Hj&);jIAzTaK@wy>^ho1be1nmDhx=PTY^Wj{4i?yNO?o|BhZ%x@!Y<<D<t zD?i&3zU%MxfURHU5B{oWi^~2Zwts&9{p~KLZ?4w8p8oN+-?=^4-~MqE-4vy9-D%gi zl7BqEtBRxkT-%v_tGa6O(rHCIj#Mhnk$G<NHu2br=L#7)OKK)G?R&XvlFypP&)g!j zOZ`sqP5iZJ&(Fm-r=Ga0t^6YJZ`gJ%yVZ++FW7YW)z*Chd;Vod>!ulnT{o4idp&E5 z(4qrpe^x2@`23v~VELb6d7|>PE`IHw%JV%V8!t?~yguDu_4l{hYsn{c_HV1MyE}hT zU)6sGmU)$@{_bzP?{_ZSx>7$@+^_4t>GfHCD-NEvh-r!PI)6pfaGKYD2GwL)Wz&xB z;;Oa9+~3|9PI<Tfs(b#M{iUZje}B`rd#QiS#3K&Q#<f>Ze06wL^5*sRO_!$?-ux|h zpyXoR>Ms2X?&bG4+3T#|qJKC2lU7J=Sm9soY21_UhSg<@<X04$o3dnP>%Ersd&7In z&n!+}Bhvb8?eteGH_emUt^Vj{&|c9kZ`&pR_~wM%`1~clZ~fMskXa9PZ^r*QBw|vr zmeG9gvS<1A#^P6VZu@VsUG;bGRNV~^ZWX@!5^6pDKZEB=-@tX;hL`gayFdJn<z1bB zTYgL8P43torwUJ>WsX}K`#pBy_g3bIcl82Qk2^iuHg|T`a=*0#Zam7Z$-F)4N*fpj zRPTBJ6<0C}Z~fI;`mg(H{L7n@`WFV?)b6U;Z8Ke8`H%VAPw|;=lwaSJ^jrOIy<N7g zE@R!_`O8z+tpDP^{cG5EyF2^#AN>8F;gq=6z16c$zuM80wk4|U-zmFI3;HKU)>h~3 zlV9~)S?yP3+Rl3RX#tCW)cgNC!2bM?@J-u^r?+r2um7_y{pIadDt8z&p4B(|-J4sj zSS&m9&dZy5_d3q=ME}@T&zR%b&|#*$`P*AF0l_QZ_*!L-DE^UN{A|JN+f!S&PwTSp z3Z43{>F;j69sA}^{&Ic8!s|bb-)#CT9-6(@W?IJS24-!qX96uwCu35UWOZ%Yx!v{o zZQEUC%o(=x;twa(H&37bA=P%9`=WV~e6`!&yu1}YZ?)Y8F^_&h_w6p##R1he{~5aM zo1Xv3zx7zbZO(;VdsctryZxVmGqAL1d(ow^+NQ^w^&f6}d9o;ee_HpdCyOWj-QV!d zMgGCd+ZW|7UoCp`)bc+Azv9hFU*FDER#^6*;h1GT>yv)_$1ksMt2@2$V!k;~u}1C0 zU*F_zY~uDi@4EK4>D&Du{;jxuEqr>q=_K))k!#*qtrUJzUHbOC&%z?N(~CZvN8R2$ z{i9#O`Y+KlI=aO>G#IWun!Sf5H(}p1Yj&eOU){wtZCa<#lDzHO{hwjJilJx5e7gf7 z*-KdRSh(d<J+C~mHjWkDdRDS^{iGMW{#Y$gaFKCeCC?|n>SATuo{54or@OXAX=hJ- zbGD-MDTk~>!=9-}ZU^kQYpb^UmRfK6JuLq9&EJ~L&(=#;?6x_dZyhcE@%Ho&$8T@? zH(~jvzmvbd`FhqrTATA}=}N1__|ot3oBASIm&dr)9t;x;sN1{k>(t90VQ&r__vp7) z-QT2sbk<zPlX3UFu1jondA2|F_xg*qv-XD6Oq68O39AbWQ~0SUFMEA$S9?`MyT--( zRokuC&C<*Iv!+S@ySUC@#+Y5L8T%TRIiB&ocILTs@`cx0t$ELr*L>b=xURTt;XTuH ze^$2eUN6|Qs>JNrrPUr++r34zu9$6%z2Ezt?{JPy)7_f;rQ(v4>Qr4HEsl8bQLi}d z#I$RR<(OhiEl>1)Ty{brd4+by`T!pFjC;rK9IBQ+kYAENUup5z@c2b{#UxMu<JP~w z`TN`F)wh4>m7cA;yFaxqvW)wQ`GPW+<Hp?IWA;p`-CghhsPDYae}?9F`|D2pa?g2v zL;U5Rz?5qKkbr+Wi?62a`P%wRJN@SLNk)DO7L}{B^lv8SE#GYM<;~w~4)y2yAMUBr zt#AGkx%gZ7uQHZol`4I^b9;7aUXA&sJoEEEzPYo${X2cO<juVqFV9x~XAp_u>kexD z8~EmPWOtdr>9ak*E!XSp`ZoE*w<L4hyv{S9-#)#($>fbytL2ocw5|P*p5B~0rDuQh zB*AsH)89P3DOGml`I0jKwAFLUj-?;ITB)~pv)28iB?;ZBSEF9=v|lX^EPb-0zT31~ zd$R2G{U3{_O054Qv}Ws@*3;WUr`2xOI`vGjT$Nkz<bQ_Amp6ZT(;FUodfR`7gL_q@ zw;SIO-ObqD>m{&e(|-p2KR2JOt-Jl7f!}|9?r;5@Cmm&HuCA?4H=XqK=A_Madz*h0 zHJHvjS64fe*~)4Ehd6=lA3p!HQ{q3&b+fGa?dN~I)(YRAe|ckQ{%mdPvz@EU`c}{X zQ1|^G$DYaa(*yr7zuNh&^z9RW)$5?sHGZ#US$U!;@aD-B<zU<CC+mwo$5m;6D~_2` z>z}&MqbTxmL59MYSk99?k9dAAo?~tLZ25!@Q60Y(C(iRWE<OBe|5cv$tC=jiw~Oax zWQfl?C)iykp}@<?eLnQNyFuE8g>Eqyc2{g~v?_^D)!VKR5MMgSEi5iulVR-xm#5q( z<=1?6KK*L*S-H8P`&Lg+d~@OF+WU(-K&Mx)`g?tr{CDN~Co|afPCj3rH({4dfBL)q zfq$(2#hnk$v0Q(D^VOnQlUD98F2&sMHqE!Yub2Im>$GBCYH9rbguCZ0BEO{=3MYk6 zTXp<Ji~MU|8Sf=G)a5^It(!Z)@TR;<)tp1WSM#{LEq*S&`n_UZYo%WK4#komUNc#5 zE&LW^P#E<ppWE)l>67`gI*QRg?Rk}7+>Cp#+$&UF8n^gvbyxpXuimJKTcVFV5_?(} z#`43d?s(AZdj4SJfPzKW_7u-K^l0{tmGVC|vmg9%SZ22QX6TIVzb{rqn9tskuqGtS zXxZNz&zA37k$db#LiE}mE0fjVYP(Kevr}0AN0MJNE}P%y`rAMDJHzEe^UiOb@OsL( zpT&`X?VJ4{{=I&CoA}#5>M#E@D3rYU6zQQIDj)yg@AOy8H&ot@N-BN3EnwfNv|k>9 zX4ki$xA@0@`-gqr>F9-TIWm?1`E^y->~>Fh)m>Wrrb=(YFO9o%8N=ed>Xw#BI_;@c z+EvfL^glz(lXdIs&b3ySmB?%koBwXpsZ)1nZ*siS$`$T+yDaL}>qXCRuX=8OFgxj7 z$=j#gUt_DePH%P)U9<d0a%kOIYyCgMwma)tbe=kFYBp&2wdj(!$BE;qn<F)~0xtA) zWn4_z{EvGomo=lM=#22vojNCiJ0_o5x98%nzt@&;pZ?)){Ew>t42;^7p0)ngTRfjj zc5Yo)!1k1hH=nJ)xkO)8EUtE*Xx)j6K74oU+gJSKQMb!-YEAqjS<fNw&=Wo5ABSsN zd)&p_i%waaFZI3f!_V8uHrypKdeiq8Yu2<*tDRT>NpDxFgKqxG_$~h#cwXOLQ~96a z#JmH0b{oHua{ut<?W=h{vpeJu%I=EZZZq}z{Ewv^FK<taowJ*7U-tUkB|pFYyF0Nm zlJSCGe5maF{ppJ&zf~@;wf4R6#%AaGjc?c|{hjD$$d~>tu6C|fz4(kzVI59>-tT26 z>4jvKMlyblalD(nAzyjvgkGcn3~}e;JU+>r<S5>?_S@9(Yp(daohyZ9i>L0Lcs6Ov zXD9WmnaY|ci`*m67Rv@I3ySU0Ir5sTa`xo2#WBCr`Pcks;CS<5ulQ5uxZ39Px&dc| zr>oW|uiRujCr!BOd8hET(|@b;UvkfnJ8x^Pbo06G{O#$l)}L0jS6H`idi?g>y{S%r zMgC4X7@v3k{^oak^VWX}zmWY$w%YjLjrd*rPgdQmJ+uC5)sy`f)4#;8&)Zwbce;vo z-p;AJjjeA?u6cj+_llouX3J^5`PK1e$EUY{L)_{#12&(x*1wuQ%`4rO>%@Iys}(j% zhh9bQKK1IK&Z(vdw+6+hrTO97e<JmLoeZZn=Iy*JIhFOf&Y|Dm>bj>pZ2mXNt4XKf z^(^hnn@Ygj6@NQz+o``lUG>Czo!$P^(_h}O`_FJx(0b?jwAlTdzQk|Z`+W21!#8Vw zrR=$`7k{ww&DXO|+gI)U#86hhJbzv6{Qc<@etq+Et!s7aJMoXN&im^>{hPAY_U5L) zb!)@+?yH^Wq5oz3hv*+wiWm8I{%7DfJiYzRuGJ22E^oj7ViWWA?SAJ?zfYCjeEaey z-}9FL_~y>p-{7BauPXkg<9uk{+1LLW*yn%9*lchAU{9H6%>J$eqN%ns%O3rzXUjTu z(08}0%QxTMdh0e#VgFF{Ps3bh!dv0>s+Tu^4g06@PtNP_tjaZ0f9Kznomqe4$8P0K zug?5u_%vy2;Q9{-{xcZ$KbUvsVdXc^shR)Yo#s28vE`qH%j=u!f9}qho#Fbq_{buG z{s;dVUhPiM%bvA8_3CcrZFjdZ{G4}h|50t#ng2M10>Z;4Kfh_)@}Gf!Qs23~^$m;b zm#6F9{`NUwi|jV{O_d9j)HUMs4xiur{mt10l?#kG8ua*T=UUrVS1SKn(I2p9;+snW z^A|DCIw9|3qH0kTv%l+mj77U*@-551qR&t8otggn_UR2Vkv?}B=O;W}pKq|G&+GO4 z9L1j@&$TBwulf<zR_E>S`g`T}38w<@%EgA?-}HB0MwI)k7ah+h?R)WaO8G>i%h?Z& z*00)b?Imj*qju9Xpf6~12D5YVO)bkc;Vng_`&Q4eoUp@BaHe`_K4;XSM~at|`0qyj zy8mXg-Lzm9eig;D`;x!E5mWNd`SM78^Xd2p=Qn?kttu<vz3XneexlY}6%8hKOSePS zc87}NgKf9RC+vE$WuoLFHHHu09Dc5lTm9wj{Hv0nVcHXNMf>B<hsqai{+y$8eC6By zi@wHJ1Xj<U`n$~iYSf3EUF%|6v|lZLw>PK3GOJquRmb^KpVzat+nuhO6s~IZa2K=Z z&Ntg?=WqHFH|@<|Yr~t@HUxi}s(m#w=IDFI*n6tNf6d|-{nmb!<MjMexbDk_HT!p_ zKUFrh^j171{%WyDSX|}0S*`6awd%^FzPx$1c*gn7-=j~|{!V`;aQDosaGtooOTL_} zySwenypvC7J=y&8+nw{v(>*uZZrb%V{OO`EZ_fX)Fa53a<khZk|GHflzH-|7H#~0j z+ne%{Z?`_Id+qu?et-Ilo|W5Ot5<vUiu|4Wulwtp)35(Xd7Ledi_-q~DY!I${)d0} z5BQ~pzgx3bcFwM{*W9!0U4Q8nevYiXzo}rxQ!Q)0*lCevpJFS&{rt}$`SinjyZVEF zoldKs-X^ZP{=@Ab$@c_r%gz<~CUJSw-EIH4`R>{`y-GT~UGH?wmHtQF^{4iyoSk4h zIpf#2yLoe5BCnnF+BH=?_>cJ8{pqgH|42T+scovD`9|!l*QWE^>fc7LF7rD5&!z17 zAIbXi4|mEu!@0hN2UP2=+xbmG_~xY3o6m1M7+Lc6Z<yDs`^QUnw@iK*c>0I(w!f2a zPFbz9o8><P`<u0Y#GL)^#ZLPtWWud?XRm$xs#j~jzPY~XKf__!S^pUXB;8h5$UE&+ z+iq~DFWxk1F~|0^DgCA|mX>~Y4q9Ikmvvlx`Nz7y%hxAJ{SEWhUo|hX%zSo$+LI|o zLS5GV+fw<uDs_G<)vW!)JRz>~Tj`TcZ!X@8-F180-Mwz}57=~_O<S7&#rKp*`qk7w zQTkWw{xcl9JV*Ir%;XzJ`_Ecy@A^BJJ>l%WNqbIltO-BMaOYTS=9BGt(F^5Mt_vG} z^%XNyDfYc|KQu#DV0VjXwd4k_lz9oWt28&v`MG%hq-Q%i{_F@}S3Bpt>Wm5bPx`vQ zy5+yx`7Qm++shYL-(K>KL;akv&kU*6=hJUSips~`H!Qup`O}yDwDf2Dx7MvX{Q8FO zx}r^Ar=I(@K3ZRI?nJBDy7o=4XYIEY`Ez|{e5uuOReAr1yUsrmtKH>4>-U;17kw&Y z?Kv909TO;uOtM+(xL>pAKSOB#s*8K2s;yT1T-R(FH+SBgDK8fW)P~HMmmB!0mFs@! zwUY4uQ~mchzw10dlk;x1(Fwh9-_LJ;$GXkZ&bNQ~cFxYbZo72;wCJjzO|O4&=I0je zK1HF$%hT#z?L$nAXDM4gdj3c3+1?O^O&oundMg*ENuCxm*gW6$_qVDWW$x*dw&!{O z6|gFe`Bl&U_7C$WB`g2DdV~F+xWE154f)3NtTg5~@0)7<%v1jv4!B?Sx$k)MS-a2q zoc|1L_5Kh4?th+=e*TBr<*SvS{t1;RzuL3^X`Ho@`~k7{4Mki}Sd0uOeGXiox?8_8 zZ2yPY=xw6=pTuvf?=p@2=6ND(tx|QRhE{1nwf@b+cB?}|zLf@R{VMa4ZD0N|Hfzt1 zUD{=St8zFVh5r-GE-QZfWakRmZIQ<l-ah{$Y&$LL_O^qmw`C`v?_Qp}C20L0vF(4l zS8!iUulZdZ?&$lUVfnw1{|vGd_SM8%8|Qzxp)`x(eCM6r`IW(1>>rxmspg&e&(QVp z@7`Iu)+S-Wx7RP)Wh>@VR;lrJ)2<gHcRXY5``71Qe|yW?=HlPqmf!kT9Qjrp{!io0 zE~{e!3riz59sKHdy5i2K7a}JO+LgpjjD>Gr-X3@2>8ht1zGoIc+xq76lbu!C2cOE$ zIvMyWrmNMqd6Dd_vibYd^&|g@`^3N7`g8TS^jDi>15XzH6WaBkf#0aZ@^j>0>ooRN zR$ty;EP5kbJn!7z?eazqrHB2T?#G=Cc#->Te@c~tE|=-E^}7P{Ix@e-{OVqRv2OJ@ zbN6>`UE!K%7D`&joxXiB{S(*m7kv}<eCE7sSyudF*B{5K^`TF13d(sTonAEc>7?f} zKb7pd4nMy+uV#On$(#QDA0jFnZ=}y%nEqUQQuAl+4tc%Xziy^KuRDKvv(D%Jsb4m{ zzFGQ9e}|&`m2Y<?zJxt3YWjLE-0r;J0fY0JZ@z@Z)lPdee}4KKkxv)h&%Nf5Ufgz5 z<LA5+Hfxw>9%g#mbA9cF)2BCItm}UN$6P+{;D3gll^+wGYDIgZC(RZ8Y}t3NV3uXp z^6l@emC`TP9-7xZU*pXbk#Cu^wlDg9Jf+z-v1)ad=9{O_`fseRwJyGH@#g96U*Dp? zg~hG@^0xoMzF6@aQ-819EBI^8zSSCE-)=g6itE(JvwT(Sx}M#N-mp?$@BaNCpX7?x z%XNEve!Jy-$JF}e=`a6?{ak;w=*{)*apzn5&Rn;<mpvnDN@dy2Vn<o!E$3FB_6;eD znYMTNy4BZzSR`MSi*45~`!Kuo%?^3h(?2%HTARK-|KqLf%+~W;botZuA3VQ#`iI`) zZ6=Y?+gN^md$GTCej@9({!ZUNyUjher_cYhdri}cvcA3B{>l6<ej{A@=;h7po2(Q4 z)8dcLPhm~GnJ@mqrR;9X+DT9UsHXl268&8q_V(!fr%~UIr#VKZ-n2hlT6fRe?ndO| z%iHdMGO|BlRhIroGWCyJwUUTv?vv`|&Fj-@H!gb4?W#RLZ~L2F@&`|p8nh=!b?&;n z#r@CXi&1|!&%8cKEay}I)w)+E8XPm+9d@xk*{S$*Q<Q(`DZ9V(e+OQzEc^Uo*ScLr zQJzmW#qXLSU=(io<&FKp%Rl(jrv=q_o4(lk#{A#xvR7;F&;O8S7u!6m&-+UYU-PEZ zUu7p|XPd{StFB+3Zkl?2yG`q!-%2%)H`{+!Jf+w2*?o%Wx{R{8S7Mn<k~SDAhv@1` z{`?XpVY$}$blkZ;7bF=cwy2z6bWZ7JR=chu<H`7Eo8-E`Y0vo@Gf~SfD~+WnF6qN& zyP|db^G^KZh+p{T?-c#p+f~17U#y+}Yt7W(wmO^MZd77D875#gRomVper3c~o9pkI zewS79o!_1oA9qgDu6DvQX-SuFa!s$#n@<1ef7abw|Nb_`<G;jTJnbkxz5Q*ex@{s~ zmDlU5?s4a`tg`k8ZSFUHUHYr<;Hs~?w*IctuzB<Dc1@({^GU7$89Jwy<{f;#{zF{x z8J&OKZ*Tt6kGt`@?(p|F{d2Fszb)?(^JlkWe4w_`=Ifg;$KAiZ#Yc2W-~H>GFIJ}B zo_^w+d)|K4^NXI?n@)*XVVu(uWVd?Or?<cP&R_KZ@G>>;Mx^`lbo+<%e@=U2TU}Z9 zZidFEOV(C@#q};ue6i&p|4olA&-VOhc=}m(UPe9V8>#;ca`U48GqBA+$WRs=o7w(q z)AkSXo6i=tKHHyqezQeTaahCpKbB<~{gbZN*zWumby~Y5NJTSjd+Kf@+nL{P|4`vc z-*k7TqE^f@W7pDOW#&4@{Ga@q3MOY>jNbg8VP(wJ>+?T&y#4z2Z2ShVsk5uo<4(^z zd49XyiHmXvPj6P({AO;Q+?jv#k2ri-(OUd3{=ud{cXuAzwLNvpH}||%xA$MYU7GkW z?_}hm4{QE2G;wd>`RKOVRN4RGuKgb~cIn$cI$IpDHD>DC8&+jMHJSeI4VyQ2nYjJK zU6;3X&pWW$>2-A_W81&l#r_Y(%*6Mnn?9fPq}oJ&*I)bgFYXS-+|xf~bUpnO<8-I# z>CI;yPCU9YVM&%wSBqn=8??M?iCK9>&!^+fi!J?+p0uY=x|rU+A*1ulKkl+qr$v6G zz1H~p_RGbnRIfSbO=lcF!5i*czdT=W?yUKG+5Z_P-+a>kV$bxKH%otgyOpP}{a4)b zlz`=_va*v*J7QkOhHJ;4lsRZM=OWXg3xaKvvrleW6Qke1NZj~o>Jj}j8k3Tj?zL}I zzZn0l<L8=Xr8B}OwNLub;8MQ)<myYW^)<u8;&;7VbfLBMoAZ?S8rO`~e<&zQ&AWej z!%AlFNt@!f&pWfHQ_F5i8Q-E;mEGUmb*65*R&7<Jtv~ba*Z75RKA)9eWjjA3Hgrl~ z&2_uIn>_!`h+h$(d~;4wWNo$nNq^t)drTXDY0F!1SA8mub9>!>X5Q&vnm@Ix^uNZe zSv<)i|HITP+#(D=ir*Ce=zUn!8`|<~h2-bAz1H^EH&w;x&C-mkTz<QC^Q_;?E7#xO ze9iqs`U~-Q3(~c|_hqk=`ut|%?ce&l{)#P3mvhYOpE_m!@()$(;~$@`ObLu%{vp-y z`nFRJGsJ_Fs=obubyM@yi`O!?%^Fhrw>O`xTmALz<sYW|)8F5&wKjS4_359Q-<9>J z=Gu2p`t1BeUoPA4Ubpto_4l`3`zI@IcVG4N50fKBb9P&mmBcUPGUocJur}|`x-DPc zT>sJfrr-61p0{<`t-JFwN`8GS4%#Za$i6xLf&Kc-%dfWnT;EYy_VmW<_s#iw=eku@ z4_{oRm~=^*YpU#?h3U8FCz?;Sov{9fy9!(IEF+`R>2@cZOH-##$+C&v))DFcG1h6* z^f)n{8SnY(Kj+l9G29I^*je^Or0=$WLgVz@-Fjj{TY^`-*~K0@>GZ2jS?4#MvTt6V z`YBFy_kV_>{dw6ZBb`q2?cID+cEaLG*EgL~{*mb88Cfs0aM4rllku)vPW$sswI?+e z*gtVke0%zb5x44v;<ww=CWT(NySH~cN3rYXj$S9JZ|U<>Ke?-3to;1uVn)B|&!*2Y zON-yI)U!=mw{y+(SDP4$18>fnx!<Kql;ezmOX{RkwPH(Zx;TzDy!q@t>(l8UMseBa zO{%`h9J(4&@GWg?Ty6N9cGX{Nqj&Yc>VJ9Ls?2Zk#+@BA-^easwdqMo{4UD~&EBG` zu3cyT>}EXU7O9=N>ec=ffqd=be%=OF%RX7Ut-QQfInE=WLFsI#lOA6;Pekg?g|2e* z|7_2=^q(PgX<zq3^H-a`#1}Qr?CB|+H}hNVZu=1B&1Z|={!NX)#-I3G`&U_gdHRdJ zfmdDMZ91)D-@M#mf8j0upACUO^Kbt8R(t*3vQyRdc_-!@bCq8IVf>~4!7jT>?fMeU z?GxfRZ8v>=v(}>8xZj}XML@4p&yqVrTRy${bb9lfz4gtPRe$MU-n>k7efk}ix=H&> z)aPDbH+RCmyYox`uKpfhcj9k|{;sF5Z?a#kT2Rz{R`}ZM_33Lb%I?|o+p<!BllG<8 zU;pu6-~9Gw-Z|&Z-`||SRIU4m+5ctOuWz-#i{^(KevN;5Q*!Z=SK{v$PYYWA<<0Ly z&rfLl<Ng+L-bLAN)vsskc71*GSDd5efsN(*P4geTJX!a5+OKb4nYYi7Kf3U3-v!HO zd&S&N_{<MoV4HvQ@;32zTisZny(oG6Y^SczdKF8Bo$G=Zbw@^27Q3Y1e14<YdDGoV zujfB76MOUeMrB#$HzB3aB|kqqqzLvMzA5=F(o^zdNyO$Co8M|rPu*Q~dV6Tz+0g$C z4afFQ*mJc%EyMrs>glc*W79Uho$)p1`Yfye3_O0>*56WZp5MggZkoSp=iBDn!UAgq z%oLv9p1=G<>6>S3#A^5KHhOdZhsw9;O^-K}Jy|1qYTnH^bE|b{%{!cW(rty#v@cWh z?uPiMUU+?EbNtntR%OvYikw22b%SrO&(}LGcV?RRq;sLuySLq)^`C*`oVC?Am#S~k zo9AbKa{f^qJm00hp<d=&@zg2nyhG1#|Muo;A)}P*)dRM3tLoY2Zh!mf*{;>=yiG4C z+s)mjylCq0g=eysIDB$npAZ`!S~GomUh|TAwk4Iiwc;Umr|#@qk)Ar`Tgj_E(>c|> z*Q^WNIM>VOdfd!1xwB#3_8!5fU01x3RG$8Be`(n%vklJcJSHx>zIkC#U2J3B>Q#oR z=Qp2@JHJ2W+rRGf)~jQS=6PL@ln-c25S?>uLmxX+<V>lBHTyEJ@0(y6xO8)%?uJd4 z=eothb}4;go&IWV-HAyy6Q3@h_3~oXx7)9lPn^h6deJZI_1l{lqc;bBjf+xhd3|Da z>h&MG=Utb1Py8pXV3o3V+TQt#UakESUwpgx=JPqLC0}wmp4>BCHGh@;BC}uX_KNOS z-mGD>v}*mulB@1lG=F}po4Y;oUM{15Z0I$wyYt*tpDceO`qNYUdu;d}gY{Qdzy7HG ztumFhD$@OfPnCa4$)@dpPu<)0X8-BUU*e|6X}`QtCHgY;oPUbnG{Kwlap%0nuW0@% zb3gH|Zt<qK^Ok%|pB5IsJ>R}(#oS8GU#u^0+86A1y!oA>%rmyy_}8~*ZTge6qvuwZ z6~!&HwSRK6?r-z!o3k#TC`+qZnz4P(bGgOazy7oN*CoXs%%N{uzdYgmmgC)a=lAGe z-(;D6)~$Qdu3o`Qp<kZtnio4)%>9Se;y>jsx3`~+5_j7ADL>s*a^;bz;8{Ad^FNjb z=dEb5=IvzOAa<i?dfej8la!9HIK6q5%thImjDOgFtV!PVcNZ(y-#NRD`X6oo@HF|4 z;3D~hw$t8R7x`6|{>SFJ>Jj@>>u=6a{S?1xQ%9@q_5h}t&dU={Ffacg!Lm^6KZD=B z*!B(jcIQ^Bs&7hr^?G`q^X6GI-Pfmli{JDxifhyCdYNzTIjp7g)Ab)e+5C?$tMos^ z#LP0e+kI!6C+^){|Lxn&xcdip?^|bG9QphvQ+-plrN*AW)(WfFO!+1}>GbAFpWl3b zvpu2bl;I46D!J3&d~UzKS@Gs#oY6nQNhiu$pDzFKDSnf!wPTd$Prbcj^?qkV>OX~? z&t3au>(?m#n{j`a7P0H!-#q8b8|KaP=O>&y_OLi^#gC9Le)eq1vo1Vh-ahkF%<iIJ z>rGR&PQB>$+-Uh{iqB6Dcgy^%+4e3aJyY%|84B>FuG_Tt>N2a9l1iQODy$E<e=YBg zKGLAL$*63}Pd)b#!*k+{(^Yc<ubp_B`q%sNtJdaEvz5Pa+)NjHvX=4euNAM>C~rP* z|L_`PWcsShoASAhKl#q-%Q$W`-S5tq3)wfXI_`QR=IY}x)uQ;y%3X>_gcpemKfU>4 z&4c6_!K-AJ+&}%J=<V<I(Ry``=`U|iPuJ_ZrJz4;&V@I&`&R}EUaL;#__yHcs^6=% zR|YL#p8jTk+?lWO`}2RTzrOjcMh8O?qsxz!Xj7?2C#&i?CO%KmUE8vLgKFLBnHN^C zkPq7YY164c&o@=w-u_+l{^eBpAK(7n-6*&ElK7;HDf>gexfZ?rBli5}^tspH-~1l8 z`sl^F)6>)6txG?lqkd)mU4fnJ-vuw%JAc*jT>j0owO7_}(Odo2wxLL}^>>+^W7aym zz1x3jK2cNk$valDJ2g%4?{8I!(}!;_ns=a5TB-8c@`z5YyYo}${AXbQ1v*mIcGk@z z#nie~J`aufU6;2Ny|s&4xQBny--|CNM4i_aUC@8Vnyvf$KlSvf(<kjezj?aenQQw$ zRedY^^`C*=@BZ~4^?CQY*MHzUYi;tTane)mvog-&!SxSc?d1O{Sr)w^W$PQJOQla1 zy*_PfsrgGgdef`p&-RAZ&eVK+`G=C%lQnB^&a~b3)<E<>LzDZT8!c7!Y+a}SS~L9E z*BvbNjluL>ShxTD5AqLQ-+Z#a{_*J_Ih+1*YnNq+cAYH_54PPt|J9q*KZ<vqbg5^H z-Lu>N*ZiL{SElCtuF{a*uvEH%>BaI*P8!YPC!@ECv*&&I&!GRoYwD_vZ!T|orMRPH z@87W0h!t87R<B<1k8kf{y-hn$of3Hxcv*1LmbdCk%Qb_)XyvS1J3VxHW{l-4{*RTf zZ?G)ps`@5(&ebn@(qH@L5XXlzzdCgH1>Ud}<(?5$7MrcTJlSV9cV*F=>px0dUZ3Ca z;lMfH-$}`<Cg!!9E_!{^Z^6?u|4y$@S71NO&csnRt2KMxp|u+8grBVIPk7NF!1!!K zoN4rSZaz!7Y%X)dXFGRva=Sd2-tlMJypHbUlUVL-ogmmL+gyI~bLz~T)Y|Ylisv^x zS#&|l>qsd_c1O*`7u8JH?p$ww(x#nsI-pah`1ym2X~~l|`+PAF*f3w{v)d*2h?xHj zi(aIuTdV!>ToL%gZEtW&V#b`!&KerGtK9zl>q>gacHidmCc`PMnHCjmS8dQc{rqg9 z5Sv5m%)?KX2>5HXo?a1tI`s4_(dpJHE%hH(PtJ1>eLAO%Q(pCIitZo#f`wkcwWBU` zl%AD2G21%CuB&eD{M$u)rp&9<H@^KO+%rr*bp8_ki?s)WCtdlfyv^OFKjp88zISZh zst3=@4*li&8*si{^*guS$<w8&pJH~c{42g(RiScH_#K_&C+k<8sS9BG8aI1k-Rp0% z^U_X#i(j>?alZYdt;gfeE0?~ke|Y)R!M9)D{O$U!ziaZ8l>I^LUsdaWjbHvT^+{?( zZFR2X-N+b!4cqyZ|KvBFKXw05ee)afSNl%gzxzjiSO5ORf86VDdKbOE`Kyfem-4qb z$LObj4EEhWJpIIf26nr{^V6NDlr`U+o_~My*SBATE1qrL9{=#~?v$$j2eL+>eXjLq zu2z;gUElCLXS(a<%@YDP{o}O_f3wzZ|G@<>Z(iR#^OyGgMG|!vb{={Xuzi-{9;R&` zuNmVv%#MEjN2Xox_WjLgOJl?B?qx6Pi!A-8v)k%h$v?jC>p%2wYW>~j96D)Z-;HM3 ziCnKwZ*LL&Bf0v?&Yxwe+N$jQGX!tu-F|+vwA6NP!1c|3=Nv0n^sjocc>DSfPJO4p zJzKzcdfrXO_-!g>4=?|CnzlKhT1|wt{^9;S?~?kNF`R!^ozU6*=FGPkC)r)P;<L7Y zC<==#yBTMlQqOwvNZs6tH%l+3q@UmJ|6qISwbj#8e;dgkF0F3OfAsw3#kBtT2inu~ z=FVDqe$n>p+qf)`e=LoQX-_MYDl2*OY|Gaur)QgDriWhM?s`J`WRz;<^17Jiad(cN z<jXkqH}vb9&nF%2yd9QLtKFA*opqUl=1gtFoLvjKzdFY_KM9{Cb3x&}izRPJZQ$(5 zlP1o3u}@*A##vs`>z!4rU!LR@v|2I8)?-RadyQHAu1hBtMEQM}P!2s+GIjZ+3x{4` zS7EZeZ)mx~n5)`K-=t*D!?d)bKP#8S6|)q(@y*eY+q=hZ)B0KB!e1OtF-%G<Hq4B* zR^|{tds9zBI9W@7*PhRBEdO;+yt2MU=6YAU#unuZH&b8Dy;>qW^ZcTd);^IIO1XlI ztk&()zfdpkIEmTr;M#XPqm6ci-`=eGTKh}5;I;7EtG-6w%2_{c!%ltIU;4W??4PxN z(TC@SHy?hDidPVM79Qut7dUJG#q6saw!438EnM~VXZSkr`34KNMO1Wq^+k%PysR!u zDc%|U<sXOCRQu!hk#GK5+r74*wNchTg^BBTtiyiO^||}sxh6Gp{hK>^Nm=c0`?~vE zzRh@k^tP&pU6P3YCGmexOO2oG*;!T+cv^M()w;j)=1#o4*~RD!M^UffY&Wmu3sbe1 zhfYuZZGU<DyPe<ay5lEp`MG|>^BeX})%B&{gFnUR-Bpiq-|Tm1@zv-b9Fp~?exLtP zcj}ML6utRJm+n@Me;|MG`3<YZm$xtKfAI451ZUOjKQ{FI{B~+yR=8jCX1^O-R^R_& zRTjs8k=L3(?p#-??%PZE4+<%t^u6u}>gMX-vhPzmQUCO2spYxkz#HMy^99(~e{gPZ zO%Ykq%yqZr<<Dw8-fOWl>ltDKpKa#0J9G8Zul4^{Z>VS8t+TwR%;Ta7PhZ8(#R=7= zQ>R}|3teWj+e$A%|7vXUn@#(3_doG?bCNah^t`k7-71xTt&?53UI`R(-9MOod-})J zmKsIA)u(^tt8e-q_GW+T{^s@RcIWo&?^i9Tw)t(T7rWs6@(*cC({De&eU*QG+G@Mw zY0U0t)_GN{uulJ3-#kCx^(4>3=vRAw^QWwfov_*dK;<X*4e52~Z*R$3J3pm$o${*7 zS7R$hSMC2GBK~IW4Y9H}XZQ`ZzeNgP-t?j@{ma`=CySr#TsOC+DDqX~mRF%qre6N) zmQ%Sx@tw_~OMk;c&RgH#{4HkJx{egjH_rm3kIaAYclw(}J~h8>HaX9qb*4)D`LD8Q zjevCtFIUa^^V{aP@h_c!dzY_I7eAwTv7qth^fl|cr>E@bcRhcWJ9X~FQ>Wjb-yUgP z+V-JHwNjdCxxml3up+-C#mbcMS)XGCU+G?~RCir&Ag)~&{i;83dfHw=bzPosB~RKz zpP$gbv))_8vO%Tq{HEVJ|K{%5ZL#P2Fa1q@Uhm4M=wB@U6!zt<{Px`4#@honpLM^# zsgS+6Vc*?`M+MXFY;}md{UCVy(@4MXCiTmBCu}Lwx>@hlH~pXF_On&5Z=S5Xf3W`1 z?{9TokHi{l7pDI`Soe2ws<!e)f4`GqUuCAmpA#wFbn@o&*8KD(WrdkFi7}P&o3F~h z3Jd$kw^yv{DYt%Pe8rpoS^I6@oy+>qU}Ez%uKV5cPdDpUM_$m3Y0rPLH|=iwCjS#< z|Ms@&|FxZ8`9?l<`l`NrlAp96x~8qwdj0L6{^jl8-u$)B+n-WZR%*$5rtEI|m-y`; zey!-)>OSkzuWw)8Se~0R;Zywfj9%kN$<L9$%I077y7qUjwNb3-`=@`30-mqefB5=_ z)q4F0_MxY4u5~G!cjM{w_($_D-p)JAo>sZ~+2()R{~6@%Zl`UPKmPn?-rcaz=|4&X zm|AnD{?2n>@aCTQud?DuZ9T8=|CY{>>$W?=p}qP@$(v25H}F=i6>~a0;f-<W{Je~q z<GJf^iuaw+4o#IRi>i*<TdjIeG_C*PS@+c4dYk1Brq(a&JJEOZpY)pFdTWw5Jx%>1 zSr!>9tL}Gb(cfu-3$AbaJ6+2tvYzMVpWs#3e^}MClsV0R@OPquXUn~v-@d$gwkTY6 z=@rq_o4>y8Ui_ayiD{GV%+>4lPT!6HvDtaczwVQj--@Q#H~T-z@zYJ;@SlNQ@4)7t z>-M|O65lsr?ah;Mcjqs9`p13InZ;kjuFqnOWypKK=;e(-%XzC^iefHYWS%A;y?)o< zumzvF<IZey4seq9J5-s`a--(r-|$z0C;nRNczqHseI_>XWO3Ag2H9r<f5SQ|zhzWe zEHHhsWt+#BlehG`4POX;_+#$$uPmry+T<I08=hI`uX?iB*FS&OmvE!SN83%WPbsVI z`no;;_U1K<#pZec6=5w}8b9rQ`s>@jzhzz%`ErtPW?8KN$%vn2l{)LMtXKVYs^jw} z`Q^F$?r!@!VXrv<#JK5k)27Pm%C@gty(Fva_v)Tc+FxVE-`>oh)W2%ib7ke*zt?Pe z{)hS1zPr;Mqi1dNx-8S5`meiO*HbI$&Z(Jaw;8QVKBLZbu+}q1z_cJX?OPz5mG-Zd zJ$+xMe%Ez>bM-s-x=H&lZ`KgBo%z?={<~g5zU}m|U#suW`aRWt_7A@JgTGkkU*Ejs zTb1J1sT`AZ&5X80$~)dpeC73ZSBJc+z3XMS^ZAis`&H|IhlhfC6<^<OPm4eNt6u!} z=5KGd=k1-oU+-M<s%zG{{~2_?M(O7CZP2~>d-d_@A4*^TDG%SCx^M5i`h({;G-k$D z=h>}3y&*NHKX0|m!`w&9l~4ck-SXz;S$Xl$ymPg)>e=nOU2XSo`V{9q<;DJx<RAKf z43=4Q&E-$Ge{eCjvYz)pL&H2TYyBI=w&H#l)>K=TManpZ)w`yyIwZZ<_@0;W`V_(6 zWgMqB**9qWlx4Il&wToaJtREt%(~^84jhc8{;5;yS-fWcljwgJ{GUPHbYj?>IriVR zzr|LTRjz2Ab<*pz`}WZM2VaAX!rv-Sy1t3ScKXTaA1ae-F3x|juY39jj{SK-YZh<1 zd{gk|^3$6xSo5cO|Fy0vesfjy^pB$Ls(feNKg7!2j`e!ATxm<#<t<-a>Q73RNk3hm zKR<VWyZ<9wfj>9vIo?Q>eQ~-U`n#SjJMNx>yTw1F%4gL^_bz;T!@5b_^vTwLa-DYr zd+QtiPIEaCyrwMPA<#(u;hRrkS})cmR`wi{a)^AH`s>@5@a=0>*M`rlop@7rX}WFl z=HQb&YZuM=$vkP_oav!!PHjKB`^lcoZ+3Lr{O0|9>ejda4B_pYzr{>9JQ0~HtG@kP z;N{KNPW@Sb^ILrB`qaIiZzh?ZShi;0-dXcaf3c?iX8k5R@${s5T~*(zZg0L=*Bbq5 zVa)btYqkC}xY%ssV*lw8vrFT(_BS`4&w`V-U#wfmTV9>KX41a9d#==W{hj`1X@T{* z(6@D2%IE%0`|{@e38&xRQon}(QvMS5<?VllQ`JVl7FA0>pOoyrVa4@g-Jr#Osq+6e zY`12YnOOe2_sVmn>#N^{+RV7RcjH@IhUhJ2_m+utMf;R2S$cKbwz}{)sr9cGFJ8Gq zI@D$@PyDY{alTb|-`%@g{yF^MleqoUZKXnA+VFR5P3?@gO<2=b_G;6{tC>%=Zu(VB zUGhuEB6eCuh`eXuC$9et3d;j>78LI~{pa-bNlM=zs%G90{rqChuCn-9XUhC<Z>mZW zeYa-qx3K3$9T(;bSnT4AFO}5n_BXA&f7PX|uKQiJ{&d&h-zM#MeOY&Ay6dw|KSh^M zPxrfjS9sapowe0<{}~Qnjov&z;i-Mx`TN_feahVCht6mziE91zt?u;9SNl`*w}1F| zdb#WJbp7=oj=S3D-P`}EKI9_P<&JOv?#{ZIRn7M;cDmx_%UiS+Z@I;83OBvJ<tay5 zN$~B9ZXM}27j0_IyRGM4BL8@QqImPo3k6@_{=IVQB*WU9^^dpBKb&{4W@40R>4oeY zZV9#Z&88e8$)OAS4(!qmyz=>?TvvVbB*_KF`%|x8-QVR`J7?<o{Q0?$w;ha3sm`;` z|MI4FdG58?o!TqIoQyS^8TwoPGq5>tx)%QS$>uk^o~-{Py#9mh;vad|mD;Zs-9N}( zExz1z>d$%}{)eC5Y?`r4=9+6ds59`#W`Fyn(?4{U|I5j|`Sj-U%#)t~1g-Sy4^I00 zMmyAY&u^2r&&1#L#m@TnIb3f4!Lz=PXT4h2b+yFV{{eU8uX>)_XKQ!o)ODOZs&wF+ zf4cVV&?SqO<rxX=bpH_3VidnWU*lrwo6lz!{|)=c^UQ=>KlIst*Vl_QZrS`cR-Vz~ z6Fno?>{;lhsi#jy-QAacRbHijaa>0B4St*7#-FFoU-k7Y|B5iHm<jt%FZz4^{hxAs z)8C>m>rU_bbv~{53g78_qCKA{EN{)~cs)J;#nSj$%J$ttzeT_Ioj08#xicd9%qcbf zD+?6*maO0PcXx$LF>95Q)%qQ8{tCpGO6V@V79aX=@0?$X-(2Kfr(fUjQ^C%8Q>EO! z+Bp|KzqJq8Z+K$$${D+EYKA3eU0fX`@A>SAT3G%jGsfP{y8_<V_HVX%H0fH1rFOM| zamBmfwTrfI{=l(2CS`R_U!vaglsA0qjvsr!dsF+(wx07P3pS_KZZFKa9`Gw#eyPIV zXD2t?Psw>$|HD45mt*m)wl~)16PGQ>xw6c{Sxh~ES-3otu`(#)L(&6j{r0K@Yh(|9 ze7GUklxK11w-bi-`pjuRUam=77USAjed;Q6vfbCXZ5Q;<1#g(U;^2l_o9lnf&TrjO zqqk&1wRH|t`G)PLyf?qS*~eNtKQnhvv}N?M#a31m!&m&gepfW>$j{dQ3@cMVPugy_ zcIuzMFQRw5ot5Q!y!dCI>W)+SFK%^3Z}#XFv1<OsAolHi@D=^1))%+O@O|MrQ}4;8 z6<qLCyY>FlNcpg}($4~TA6ZRhvpSx>&ii8gq)UJL)2(C59A;b*SQ`EM=H;`s3;pvQ z|1&7O*7*GV_SBu<j)68|scKK3^yOpyY5Qf_C(}R6AN>8Tf7S2*4D3q%fBH?Tt=61h z{(*V@N4~Sxrf;O&yj>oiQ;fP-zv*JMO4WY`*3EA|xzGCSdrDA!>Yl5={c0EMhptcU z|HxAF+e&-=?QNm^n+_>&D9f@=-u8OdrshS@mZpD}-DGX_kFR!G+-f7S^zG~O_N`XD z$^P<YK`ocyjFWLsi~h;$yxVgv>w3VhzH>3x{mzCizgiq~t^Q!%z51imKSY$JEs!od z5mn}8F-7jo6puGk?ms;LBZsFox4z9kckLg^Z~m!I-Bz7?b<pYg&FN{C8ldLX+n(RL zsok3cZ~kYv@=fO8FHNQY44;hO{1vx5Z+G&|-`)9t0;=<Gu(g{m_{T1t_o6grH_L5- zt<N{<?J7HdvxGZn?N<j~YyIizs;mCiw=Yk9Z)<JuwCv-hqcV?Q|EY^V5Vk@${YCpB z*HhPi-mH85MYehKjKDuK*XNs*_DpyD6TfQf?#gf5os4bgWz_EP{_dJ;8@9p3c3NEh z!QU(5*QdYQx%MvWlZ^dZ7v-`i^>-WfUo3G+Yuq2SH?{8Wp04e>Pf||VZhLb&ny+@& zm+c?Y#Nxu^w<rE**#5(+taj>uhIg*=s);v$mDTRf{}lPtJ*6|&#<6Ps-Kx7@`}SPC z`|Dfk*U0Eer%zSeU#z|6eOh(W=?(w77yT988N27|5x4L+^QY)6jd_03#N%Z2tL^P4 z7XSM8ccHuKCH<S(v6b5W+AHI_zr=$M=GdPoZ!mMq<>Xo43TA|qRn0rSJZ`Zx>%r|` zUHa2a`}L+L75X0BWY~Can^c#!fl+LM+=eS_)t!#!RHT<oWv;MsF=_d3dgU|&<66r_ zZ<y;lwnUn)&B&IV)b`-C`3hYDm!>N!Je#?k@9DB=+b!u65^3Kf@sKb6OwG}IF*|yX zzG=Byxb0<&<BHd27ersN?>?*>(d$+axx+N#qtODM!;IU5cd{RgoYcN)p02mk-R17$ zZc3TonRpUc9G!ORq?qo_X=c^dsjFVzQ(V#f?`+_@^pf4G?0@_2{h6xD9`>Iht$OB` zAgyKmiF>!)%6a3Z`DUudhRwpUVJEo0-rr<@$T=}->D#l*=Dhm0GXHn5pXL7K=>2cS zH-DR#wC>R2kM~YhK0BYj;^3RA{ldGOE-n0RzWG1H)>HQEn;-q@s^^G4v(^8h{~WLW zL%V<N-pYUT!&k<<;1$X3rS&?$bl-g`y5qpLLG9ft;e}_bb|?P|ICM8(^Rnl`=dQ9h zKQk8iyOiq~$Jo27ZhNj>A~!+g_^gLtSnC&^_L(9rZ~AZbH;0-tWii`-du_kGsZ^39 zuG^)guj59d<+|ieb<LZ<#qZDOKbb0j^k27j<vO9|+l_YBv%gyVrxvs+tNq(Q<yD`< zf0o7B+ILUS%bs=0HuN+1qF3vMZ|>b=sed<R^Y)L$Ut1^0b=_K^$9VmRYU)kNsi%Kb zev8e%d3uANyGeaheOJJtH%^w>e+1WceG19g9Aq3G7EoOj&{FpF50hz>_Wey4#8pdk z>l@aqh^q?jJsUMMrP%UYQJDMkgy74n*SAl2v#Do#(B}QQYZ{tgtiL(^Vua4|53$jk zm2WQEIz`vMiQ(<Uo2hxXzxmva<rB8?JvwQ7Lf^4@ULoI7{}eAezuEZZpGx@$eP^y^ z`#;#UYu<UgGruj%GQwgv=bg*=#{Y=x?w+aVQ~1|^$hMv5<)6FT^h?-`*M9`+>OU2W zU(Eg^Gi}43{|wDDo@{=5ezX1Ze7$q-+vn#6e*LHGzv%jwSNwn0U-W%`e!Je;^iB7J z7W<v+p8xTu{y(p~6EEEVvFDksxZ+p$O_xir`hR$8yhi`N-D&-cnNOHresw>0iqGNQ zx-PNGlKA~8H9htGD*E%4cKK!d+a0p(y=pV%=+0BWzh#8K+G2BPOUc`3OIp9hO$*<y zT^48cE&5rA{-0`lkGChIpKQ83tAE$u37<~-r|x_O+Sj!|_3g88*Xgrn{F@p7V%?fe zKU*czFBYu+J1y{}%b)A~C*z!E?75>eEzW&@PR;dIe}C(Lj;vZ;JLTvu(aWyJ&t)g1 zFMM-1e%Igdb&1i_Ru#WsDxW(2-QMCDr%Jgq6U@(RL^hrmN;`Wm=S$)4vbDjxHU@uN zzxkull2FE<Yn+yE`n{_(u{V3O&wqx78?UX(drhq0r{zQxowa>_vs$6}b>6mx4x!)t z4#`S?47C^E9NF=qyp$`|aO0l5n^W#f1kXBuEa%AVD~q?psC8A>-IBO3>mIZIKLbY+ zbBpC_;ce4q8adBcEFH(Kc$P2d`Q=YjC(nN(SYBM0W2vljIQM5!kD1k>oS3cKSyqba zo%1U0*PgH=vOHqzsvCXZ5*A#zd|}1?Lyz~|h+#VREReyBpMmS`45L_$y5d=9ZtHkR zURGsVynM>yJ&*n~h%ESS*=JGF;rCu6aP@A!V^{8dPG1uHP$GQKP06_@vZ~w8alev& zc+zIm?B?d$%TjsE=2rD6_t;u|zv_PAV&>=Q_r>Sdh$gIiyZ)Ax(!amev-Un<`}_H# zNvyM+c2eG}W2dBf{akNq{%0uqt+%1u?}GS$hRbqi>%YA9(yreWt@A2+%c<}C->hE0 znyc&nn{8LFyWVlx>il==mcWwKA4MWN_a1rmZKdc6xt$uKWffLdyY8;v?EYlM^1aFa zUZ;Pq+ZKK5tLE0lt>=pFt-JYWUHq>F=b}IC|61)<Co?5zt@?!8>;IPTvTENKvODwW z6VX-oe}!z%PTsG_n%;O_VS8DZ-U~0g-|2bZk82k#mFANP*HW8oC9YiEs-{1Y`y2OH zrxTN_r>+sb?#Zp$=NgxLGD7mo`ipW0zqTst?VTpCI`PfCDE<8(U*G&)e`e~pe>zGx z{KfX`|Ex{^@jWEfYQ>e;H)M9|+dpKVSATHT{uEu&eJjqzS{uE+B6#|T$(v34_U`;M zZU5nE*>lQdQ?t6R`JasOlIOC^);oXwM}27anrVSI*lMdyv;@zT%}dRGu~vJgyWQz; zoU@<I*|WRktCNoCn@t+^Y+0|*X6^j;Ok8zN-`+(mWknh%bmuHBdA4b0tpA@Cr$ox) zfAC(bowW6hu<XwI*;@`h*%TJZYX3?1=ES!eUfWZzF224^x%%ZFvp4eJ^<pOoPM)4u zf3W`HIfba3Q#j8Gh&1ggiOYEOW_!8{lakKXaOY)vH~%rNyu4ZSA7kCki^cMxPj9du z+7>&}{*z*6-MQL1SDs%?eOmhTkMJMmnJ@p?hQ~j;{=>2?I_~uAo2NI_^G{EBvq|c6 z%<r7^%RlN}QY-&6u#|BhPyPCKYUbBBpiLUN>rFU!N|i-}?(}-IcG~3I|GLkn`Ml;* zzVhw-hq~9=KiBV=dU&4uCh<j=1ou2T;q)c=Y~3lluAl2S{jE0sslP?9>(*24RlisC ztL8k7_B&TA{$kd?6a1gcj@&X0wsWjo9khJn>CIQuKXLyRS-<hk-|(eZ{AZoMzJ1m6 z4=b5{rp1G{iKc9tA9`5$jAG)R1csTrgMZGMx?y(qqJ8h)OK<W~JbEr;cR{3#gLqxQ z!UdDN&Pi&_KGqw=K2ysoM(Nt!UBWkBhCScI^)>w2rt%e$RU+({LU%rUI`!w8Jx_Ub zKl8@e`A$jud_t%H^rrs|DFtjh7k8YU*k!RkL+iI{^2J7vo7vARvf3`L-gVRBrT&vE z%Ad9hyz<|8FEQ!P&G>n1Vy_+Ecy-NpqXNSfbyl|XWBVGt7CwqzVm*;jIQUVIZqfc~ zhP=c&FSGg#`^xLfp8Kd-@2gGUdgRXP?>+bS?BvOP-{!Dq?dR@UGm`COa($<7TBg%2 z;y<U=>cxism0|2Q3sdbyugrYm5OH*Fla!3;#?%)bM_ccT&P{vfaM97~-66p#AB)|! zpLxX1UaQ@Du5ov%?oZL=?uSt)&v>1_veT}vl|8t4M)Z*ji&8RErH<a&(wADWeHm-n z@d<(Kwjqf!K{CQ??YS*i?l}IiD8u;Kn&-_6TaWIOJtF$!dF|0Z-f`32lAkP!dgsup z%WhF(8T{_vgS%309^2z`E!Y2DuwvQ<HD6ElBT?ILJt}SGUt)Dwe9ukI*|A$SW4*VT z`P?u_TeN($hS~2WE0%8x$==EJ;=9SVg+b;Xx5D1mE|J{r8l1X2Ja^`$mCn0wZJT&P zTt~lnzNFpasV}*jk2qi7yYODAu7g##%*%%?ts=Li>%>FCZ_W%}U$Lx}x5qoT<F45C zrJg@58nb5IRy%e6-KKr#-TyP3yc*$Z74rP(y%nM?8SlP@t`2$0?<OCTbiUej$FI4r zPU{03<U23S6_t8%UV78iyStVO@=cqz>($qYhYu~LY`MJhl*IloPyRC${b#sjcW2tS z<B|J(r`ory{@l9XVfzWMy;|*`b|}8<GB`fj{D{c5sqV~6%@#JbU9LG_tW}W9KH-nm ze}>D~O1~~&bnoWt%l{cZWjC#~@)i&%+V^TRzmt<ubj~5ePpbJGe@^AfG(9uDm?`x+ z_*bmpd3Bv>+27yJI~k?D__E%aeX-mAGfb^JY<!_K_(o~`nzGWc_(i|<W{Ez(Z9HxM z(aWpO9;<KGpZ`HFwtdly)^&EPD%Yh{v1XTLeh$8It-<@CQPHMLVXHN5bru`mJX!Mg z*`DdD3xAclC(bT){$bg_%5a_g7A3XhMe?B+>sFM+WgB!)oaFP@y53>4UG2;XHNP#j z%WkIsQU38*b^iLqnBSJ#tA)g0^}p)RIP&t)y3nPiVf!y{R;{~vF>T#~6<1w<E7Y?# z?b@DJ`R(A_sY<8RuW!1v$##NXeaGiFlNkQ2Eoz<rA>uy+TcyrJ58LHG-YmL)wKV+n ztS#SO-c;Yb{9|#fegBNGe>`hB$|}FjtN*;KETb>@=A=vZZT0=jv-=wA+2^MmJ^qpB z@r<{&vljkp$)DFfGtN8uOJMz^tCcDHvX!h&|4E*#s^^<G|DffX2bE><+vDTzIlt;T zI`v;FU-6en|Ec?*+`HTEdNO-{x_&F`s{ahGPcO<^>g)|)BguX3)bkU%`jdXI*?hjT zc3QUL1)V)>Z_b}(?~>*?``uk8I~V=7S5M{ztW#04ySw@3@0GvwqZ|6KZ{XXe9T_um zd;9#fH}9T=&-3t_w{8A|zv6nU?wkHz-Om?0^Ow%_{|q74w&Cl%^zy5f3T7~Ub2xrc zLbq&3qr=}fjs4oIO}rj`V$m?$+qHj1c-a0`5B^<U@G9hl{jDA8S6$q`q_k<VE<ApB zg2e^Zskg41m#$w>u;A2{4byi?oDqoGSZ>-ZSyQ1iS67)~>tya(Z031+YB&DX@J9G* z6+co;%(cx=wNTh~VOI3!(6tJ)%}z^iD}P*Yo~`rJai1ql4-e)`23(K_T@>Q;DIjyE zZODZiSy%IPAN#DY-}H8iOU14E{^_^b%w|+;8?;<|6Rpd;EXHB2-`+JFHs5@-&3G^W z{6+e=wgqo$lUPx`sn=@WjYTICOl9MG+g-l(=LHq-UgIO87?^i?ORmV_bKeA1U(Rp4 z@hX?E*xc22Sxk8KruxnMF0MKzQR|kgY_IZm=Dzc{XKva2v$r%cwROt2MGt=Rt}eYB z{w<l+d|Q0v6~}wA?|7%P=|8=Ye>1thzN5P{EbmgxKOOfkv9DiU<vGmvUiz2Pt24Dh z$K_r{a%a{?nPl%<>U-_V(nZtWOxfVlqqX>(?wmIV-`>>`2rr8dTPD2I_gM(Lanap7 zi>yyoEG~=L@K14*KS$Nw^)3xBSeH6yWvia?EB4-)xJUHJdyPQ;qi1g_$b8@ONhjE_ zTG#ChtHKepH$@xMiY^4+PuSYbbXVlp9FOw8%>ANf>$DB0?PB0LJGt*&;4bk`w_NgV zk22ZGsjbmBD2YCoQ>x_}nG(Cu<;R*TWhp*|;^3CqcYjQ7KXAKM!SzePN3(nPf@(Y@ zAN|?6X3MkXd@rxAZkhdzsqRUFS=!3yyN^77acFyV#l7S$5glnVmXEH=)jT`hlAg5S zm`qqhcf@gtvX89(92bhiAI+I?SpHt3OhoFgH9fwk!{Q>kHgo@sdpYrAT!`PdwOSr! z@BPlRZkqD;CQDrChHbCj9&tVNFMbXSW8y2<iQ*=Q^IL8jyzg&mSKndt{_1wupv4Sp z4&)vB>3FQ|Y#qm0<GV&P?ZkKT|H$$$xfgu;@3iX<ca<})Mkn7|v160DyvDKPZ+VK# zxmKO|w(!}tunw25d6#l`XgBQt8v3$VN@xGq*)Gfp54G%N{<y1k73}|`xQ+Rz%j#;E zNyVk%>;E%wOsM~*)ms00_u>Bxm#zf7(N}(0CG5F$bGf*7PQ=a$VgC-dPh_k=l5<u5 zLa?*^=KC$#cNPCLFbDn2i>#iXzVqG1zU2%H|1*60cI;o|8q@llYbXC_c(~x!yhDpl zo++<dx%SPeFP%!VUVRFCk7_*a-Jn>#N@V7V>Drf;cCXyDSIh7(m$U1$LPPh`%`>la zNtkK>NqmuX^XA`U;{PVD`*U`e;uQ~@MJL(<Ec_Z*i;9KvJvqAHr~jQBbK^5<^(S-Q zesF){&^h_2uFL5KY2u&OF6{m@!6Mdp!jrzow<R5dS6*l>oA_drZEEVx)U&C~bILx4 z{no#~Ir3_1>h!!0|NOY~rdQMRg0{Tf#qejVL*}CAveV9HY}xescFnG`+Wk#0BIXs$ zKE3JHb=$BXhf1^fbXgahSty^(dauyC$i&(BhG~>uT<uI2HvUx%4%-~l?P6yw+^0S< zdQ;7BOGT^y3~b(^>r*H05uBX7>6*4fm!P(?R?#Pi-rIT(i!b^K-8X7oQ{uSTpKrx! z4~A#aNzEHN>{K{eyq?>2PfuO5M8mP}wBL=^>zn6)S-s-)5Bs{)tM9Cc6<xEA<IU+G zT-UFr?NX3hyyXddPFalhx7d=P&A~TMMpiCb?E3VEYRcAs-0xT~MxCBM%eEzACG(H` zo23eRduP^jzPx>*w%W4(#IDzWD!)CIZJwUGyRx1=G*$jc@%9f-h0p&mjjgu)_WFk2 z+T|Zp>rR)IN_~6r^mS?e`h2^Cx2Gtxb6Dy8RySR>|MKRRFWeeWODFve=U)+NTGyD; zc&&2HUQRy?=ba2jzTXoUaNjolGwlG^myLXFT-Cd~qu5Ndl&^(<Vpa~DseVQ~XcdR~ z6@`m_3ntIJpq;urQ{mBb##H0^iD!P5Wxu|~oUg4ae)L1nge{GyO>(O3FY>D{pPnDr zt?{aF^BKkUi_DC~@@#sv&FYs*CVRB5Dd8x3eN*|(<}<Itl7CNqSEaa9c%I(j+o{Q) zW#?70`2IQ&=^-h!_lDjR=~BJKPo3e1*aNkHns8he+ABME^SW%#8!N>AMHSd(Y31n5 zG1k>c`W9w>^v<K@f6v~FyAikcP2Zc{pZ|6LXK?v=K|wRHLjF;<w$>XvyN~YmVe>VG zmj8V%_GI?m>I4hh&5Ap#))&6b?b?1w_+EC71v}^a1&0p1Hf@~UW-Yks=)ae@@~6Gg zsc*gc;W%sfp>1b3?WxgOv*fqN9{(Ty;ooAtxy=OUCxt41vdpjM&(4&b>|6gsKi}p< zz?8yj^IOu*75_w5mL1>9xcIKi%6Hj<=XXV))tQ{&#L)h;VL`~G$`wziUeW&iWRqRN zrfu!pRsVG<pIC1za{uCr-8`G!8`e1OPkX;cR9JWgm&Entr;Uz_QhrQbx$~G&cCcC3 z7hf&YI9KzKD=o~c0#arRM;d>e|CWE#H>1C<?pFNKYM1^qe4c!B2lujN7h-pa*S-HX z|K`@+*B>spWqM?auYaCV_t!%Yo~=4I)ywo-6;t)MP|n%DQ6jI6CQR>|suyP4vA_12 zrsW^)%(|oAd(%#R(DHR)ocf<Zbo1rq*@nA4raY8M<~%ZUi%m{Xe!0%d;GDY=tE#<k z@^An2GFK=#>-x9ln_q5b`JTImGkB}*vI*rsO25x(ToRu=k>la}>RVG87JA;1H*H&y zee&d&xv3jNZkxp)d2_{Vm+KYBhVrd1R_spy&yXJfR;*e-vD(aP-}&rFpX=3)5C4Xm z<<2{LE8}~#!JWDj7b3oH{+%~}!^W-W%PY5BSrc{X{fp2t|L+F3;=}K5n#$WB{PSUs z$+uTJwN}gb-C{dk+*A>E*7+vy`a5s+GH*rwve>=kmx=TIrX?oZS|aUsXC>s<x9?u- zGF|JcLBe9!<M*#DZ(Y@Qy7h^DM%Vg<-h#YN>yEzl&%CmRPw)M%%x#MfhNfNK_?E}i z#cW}j<dZ(Nw-MbBx6EPWv&(9YNL9;~c5c;5ynT4pZM9`jt#<B+efMJNntHR{yMnIm zFZsiHHS_wd%uti>nr|L!UNxKls5K_1J>*ta+WgJArZ3C;mpCqWy%}{tcjfG|(_7lN zb)=n*2x;4T-1Nu!l($>Wq)H+#MBQrr(fL>Goc%5NO!HfEr`P(6U4OsfC+oJ{+4-Bd z$!?sw>eyMo#eZzWi~VoJzxgUPJ60k&Gv`sL@V3o2&(un}-(ydiyXC?yjf-n8+<RfP z_5Ky*;Ph`>)3*M0c&~A}^8CeIQ?_gGo=txGbspc!h5v3X_fD&RE<F2-+qRQ$rA#w} z#cc0(Et8I#sc#UIndr87Ti@G>qB3)Qi`?wX>$&R7zU|!N_WAD2h?#e7j(2DW3*5Q) zHsqhYw8uWF?&c!B<FnV)Uel`QsPSss_HzrnhRJ+4W7VH)be2Z$=RW+<IqsE%#cb=) zd&#%74EDW!zxZn6@}LFP{qlA5eL~iD<-Zpbc)PkFEmrI8n&+P@U2Heqy!x_NcSSxQ zPtox$M(ag8xCKh%-)2pa*B0LW-7No3Yv9>G{!f;<c}ZzaTs_~{oV||Q@AZb|Qn`kU z9bLAk7az>~9CPKy(uwyNcdpU9xqQ#RNM5Hhhp6Mnm}dr<)xFuT9a~-++4Ws<QplwR z1;;+LXqP*=i|kGKV|~B7p>Yx4foD6{?OE`QL+|W5j-6lb9iO;h%bK|t7j`7Jo3_{S z3us-rQz?@%J-LGa1B=!jp5TBj&)Q_QB99*u+4&&3#$0Htn_RgIvsII<!2-c)9&X&7 zo2Pm|&^J>(Rk-=&>56TSR227d%r*<Dd3ti=e}*tl#-!|9-@b;Mmvg8({#^XmvT3`^ zr`G<MR?}rK_Psi7bIl>|mdISA7RE=)1q~a{xtp(%D7Y;3BIKNN$>(4`p*I!=D|i=O zxLB0aIpaUW3T0E4ZrR%zbJv;Q6z)9u#6e)Q@<PoWbC=#Rb)2!}=n3EVN*hz>J<sY> zGnoE?<6!`Irf~2*bGgpVKDN`3I0s8z7i;%vH+nTsjY&G|d~e9<nfv(;KaAe(TGjF* zxLfP`vBMG(PYT|O${9NHYi!76IF?%&_ibhFnuy;@F`ok`?&1u4uRBLi@bAI6t!m9V z7Q!9H@-2t&_^oEndb9Jx&Td|-YQ4&R9lK`Lx3J}ltZ8IwRQP>tmWQxkWAa=krbCgg zhja>FZD09x@~jeH*%NwYKF8;%?YyEZ6vfr|Zu8yQJ_nueh7<~SuGqeF-GPI8_geq# z`r-Lh)neW+rAwl-{z=~wkUbWxwp4qag#D$ZUkZiiL|Xrokc&Q1fB0czjm?#P-3Rm< zTYoLyxixsMccZ)sbM{-8UWQ$Ual6ky%f0e=bzV;NRJoV`8D32Ltb1|A?-j2#5AQ7b z+)^%Q@XTPHpUn~7_g`b!eop<y_4!jETdBah+$Wt|j&;nAel~l~gsmKFZFPDV%AC01 zbo$wj&@&~i%g?6dH5yq)N=o>oYDE2K&^xp#r?~rD>d`rR*;7{cR@>*DP2arS?r!*W zRT-~qvFxfU6Ky7(d)d0Ike}<4*UMG=T*bCbh%bmL(vUv4BK6f4IS)ye+Q6rldIFm| zP83Hze42B07XPdx3N{OvBkWDqhHVRLTYWr%FO#kQN8kpVH9a!Z=hcc$+F5oy&HJL) z)@Q%BE4svQ{#pB^<4t$-Ny+~VTGox1-syPG(7ZD7&-unAA&%H*FPS@b*1yu)AzrU~ z_M`wuLtjGc;R*j49!5Ex`WrT{+x3jD!hZ&NSEdsayBzoQ)~8&LW?S*~?VR%}Mcc}M zmu3DD$`jzY6IuNHV#a#mXWQN4g{DqVa|?@IzOH$bU+wlV_emG?)4v2TzSXune|xk3 zsx8Mqx;}JLI2j(st#_L<lC|yM-feGAEKvG8^PAK44a)OpZCf4x;Q6z)H-E9NUv;5s z{g?2wvH~#^A{k$8`n6_X?Odys*H4}Hj5-+D{;JL4lWKA6NsCv!Q<r>8sc$mko*#Vs zV)o4|-%^z4C%oGH_SKeu-1R5y>+av)d}g`9$>I_hZPt^SpWWwei&XoUmvKO)xwLE_ z=N3-KC61qbmfZ@K?U1<hWTR=nlK+pCMXXv!UcU4A+QRBPJ0njyzbLPJ_o@%32f3VM zUS5v$nZak-eA1yzc^PBMxp%9%?;0Jl2spm$@%k1~QJG60|1<c$s5kK5eC~wRx+|K; zS{D9i5V`KH!gP9m=w0@W>wl=d?oKo1*k-$O^LNg6vGaxdBDXZH`#VQg{>Owq-WfYy zeBQ!v`L%}MnKO>xMP4&8yjs5@*YxK!E2i%u-@4ov-u<<lIXKgFaceK1z+6#>#=5`X zKKZeC>@VoP$)mecZ=*`Y{ELYzyyx*A)4lR0_O9AC#b<lYtg&{rn)*K3Z;O}e<BW`B zF0#w=&sy(V?K|Nx<N687t4bI<<UL%jtk5(+AYBwZ-#@F=M{lpPAJ4iUxdJcy9<#_> zI&Q2h5}xn7W%ssczos5&nrq=*#3H%t?*xXley8nj%1bZ&XJ}hhbx0+!Lf8Cg{wjvc z?Yo`UUE3Pt$R1o7)#s6vyDRR*96pOpDhpfJ7pi-uwAN1Bp-@=vn)pXHsgkke^1rvY zUdgvEdXfB1>{^WL;Tb*Ee2ZsaaGX-TKk==(W$W%YR!i5O$ZHj~ZFOvq$>%M<Yx-sH z#7%)ma%8ue_@7z6ZE=~D+C<&r*lpVluX=Br+qzD@gm<yPgpJm>rTNaOoKr{<nBD$& z!HsWgEVuP4e~;k1rX?})?v}QnUV5f0FH5nr)^2Mxde1$#<a)@rUapESZ2l*G^YgcE zo^e>?Kf|Bnaf^55JmBAT&^@O#@#EeNPq=-(j=Z>bYI@-9R<r*MUksM5Han2u_H}t^ zmUV*6!726vcek$j$nbk%aKbIKS4t1x+|sWVj*QMZ9((RCZ_ZZl+Ql2UUC-0-HGK1S zOT~sO_wr}iw|@&eDCGLe)92vEOYFxaPV3%J-uZa0TV%rOH|Jh1xXo%2ej{GW*J$As zZE?Af&bV*uE;<X`&A2&n)!h{*JCeV9PqROAX_@rQHL1zBY`3~F<lYSkc+R_-Q><FA zIip%SRXI3l?q&Jlq;I7<=?#|x+tVkRA2mzlnD?)hhi^-GV0g~$ZF^sD+@1Hr<;~V@ zr$QH7g}!Sw+kJbgN7~o$x8~Y+FW-)-iGAww_^#yy9ais^@4cnltGTED+qQf5id}ct zM;@6cm00~Otn$^<j!V^i(hUl_cb84IZ{M?Q!<BD+r|-UUJ0oE2zopD<#-m(`rg`s= zR9l`axM$K*EBJ2j!p$=7tzQ-84_`<PGAdZL``B-_{pBBR6n);bbw6@b*nRJPn(kr4 ze$(z9ORRQ249&Z^dBcMe@xY2*g(k`qHS)Ioviz{VL9X`cG;t|^<D%<|`%b@*Te@&- zoKa?xL`Gb0%Zj?=VO#D5@kaD-m~%|nVs@<Mlx<u`-x%c0%lfUJS)FuF_oT({o9k1L z^Leh5)~}7&#mn?(YMAA2vx9Cu-oI~ZURjwVop(zrA$&>VQsa;F&fPZ4GL?9EZ`;yq z$L{v$-nhA0{LwA>x3+r>-*A6e`=6m~f0}fd__eZYeD*4;x4EN!?I`&EJ^np^erVb0 z&2LSXC*_^p&ig!5LCrkrX6Mb{H<P0T-!&{dac`NESZ2!Ib(O7AX7x|Zp3OKSW+iR8 za!cZoU%tyKLM|-a^1W2{KZ8)@p)1F>Ew423Ub$~&NrL44N$<1XT-kO@bv^UWm8<mD zI%ggB-K6n&;zje6^v&9#D+6aVN8Ej8KFiuwcj^^0-kzPa<E{p__fM)=x;fW$+Z^9n zDUrE(x98kXF}}H*`Bli`ZExPqTK}P~So6!VlR;CxeC95_8qK(>*KOO{uw1=Ex2~?N z*xHggcZOMirQZ6G#W7bBRvq^hH_1M0o%L;Q)a=xBV@`|7X1P=M-jzy{IJl^5-tW5d zLq~pv+<9<=_3XvG;AH!ys}f2#ophdYSzKcFs+Dnl=Y6MUhaCCNwq`GfueAQAzq7Z! zJ1CuSdC|@J-hbzRD?1-8!M}XtmHjJ2wQ}aax!k?`$0F&iTW_!}zgk|c{#$)>4$sXp zCbP*~1^52^bM3r$&VPoqvi5S5j++^8W}7K|7e4ZIn|1b$vi!8GrF9?oKHji(&n!{< z^eZ>*Z+4yi)_3EX?8e>h72lJd&H3>yG|=E#F7Km%Q$6>;Tid$Z@BEhJm7PC~Le1jS zt5uivDanRzO`Vt3@vVPj?OgxFcifR)dkZ*UUkx#-ZQodKvZDV-;nuu8uU~D<-FLk1 ze016h#|7Ds5}wR>xG7-q;@5(EIj79_PA^;;c=u^|_szgkEo;U*?Li{yoFUQ8$#*Kt z%iYs{uR7FQJ9Yhv_m!S!T8;^B-1{}c@wj*C!s^GHt|X|JO<uqfb9Z-I+JA;mho|XI zTXxK#LUv2{8usj)N8R>4x&BKd?fS+^pA*h5+^JvvmUsGsrCW7O{x0^|&LeKOO7`Am zC&RlBUvAwma%#t#507SdXNX7~kL~YXzOy&y(f1Ttv9|($nA@d_tJ_T9SU)O?ym-Eu z>1e<Pqdaagsn8YgCGI6v&yDN*m%<x7Pb;X9?`|4Dm+U(k-IT2hvKCy)^}Sh~XxaDf z_x2gNHs(IXv;7NiuVwX=eK1=*XhTr-j32Bf&IQ{pxXE-Wv8i$I=1P-$#{b#9WVVHT z%lkcBo$dMiipo3>Ex!3P+UMP=<de%M9(#Y$IqrDg`yI;4!UgXWwFQgSY;W3lxdsL# zpM2jS{G|Cr(+06Svn@?;+&RF)tfgh!BeC62=9-f8k-XEz0hyNy%7qISzhj<P!W;05 zcaG)Om76`A#kprJy>k0n)Z!g!FCJzFNTfRn6k5nh%bwU_8>V>Zv&EIB4@u{WrzyP1 ziF>VMD>chaY4guzvppq01+(lIc|66(&huPIl4agq-V=s<p6xb~-P?VzlXLb{MZaB= zzKjpt0-o{}>joK4aV!5Y<wEh{v^@*n<$YK#^s$h2L-)eBJU?8Pn=O7O-Ql;wBv<4a z%ZAx%t_6NJrV<wxOCJ6x{$%M?O$(koUiY5oa9x)Y?LTzq%CkGc!Z*_&9<xd0xR<b< zYX|#9>87_%CsH#xe8lBBE_(7Dv+&*=-NfG)ys}>`VP}%^J-?#O-4SbS_Nlh+d4Dy6 zG1w_jtfFSh^z%nN1CJ@2O*N9KQPE0Za1-uGbeBv>lP+HzYO!$Fr|1SVe}SUOk}tv) z_)V`>I8AKa*2Gnio!J|!7m#K3SbZzQMW2m3ua>&je*S29q3x$ahEtx<F~d6%g44Su z<@P9dB<8p9OqO|-C*-FVB>dT*SLD$RPmL2|<`!wM1=7;qvZ>naPA&N1UODSuB<u0k z>qQUtKXWka?Q@a8Sg);fCqQZTf^;RpqZ^Zz^<JEvc<{~Hl}DZ{InBCva_wg6`ex-P zeX^}L_?D--UNvJ5@onSLD4)&!qAzs`hyQnrMM+DZ^|5(cacvU+)KC&}u3N)qsb_~I z+w9ekWaD(^?kZOn?2cuSo&VHXwzy9A3U}7N1y<!{Ki3`?Yfrg!rT8m%?^$KTwo`>} zvJO-ChW7s3=ER?O)pfxOPj|8F8~2!-1wYajF59K^;+xaK-l^$I94(Bz40Q$DvrO0L zcP-ozeN}V+>>FufLE)Ts-mTYvX*2Elr87|}#$;mY^s7Fx!Y#K$+ddg@f3>}H-ogxr zpNkoOEzB-*V%%lD{3_3p=P6Yw;i@4sbKE4Z&yrl=Ar{FWa_NEZqdWf@Qf|zz_#x2m zcQ$MlpZB8K`up=kFGhvlvGX>ae|gIeYeR8i4hGksE&kDK)mNQNQ=T+MEq$5C)7*e7 zt6wgfz&}Zh$;6FwyVCY$fiISavTm8d`uAF@=lM@-o|(23ZkDvu@rv<?ynpzrU-5FI z-UTh5TQat)&)R=i?%>BPk%tUQj2j}g`zLL4*4sP5+Nd?LZfWV8N6l9}V$NUQyy#5x z&EIA2>3Vy&xvx*%{Hjg0dabxgj-9und`OAy<l8gmKd{~QX6t{3?!cP{3sY~NSkr#i zLt(<!H)m?Et)9O~{@~RJ(TOp;?Nd{KuWr7*Ah@WKwKc-swP#}Sg!7vpzTJCWfVF(? zzhjpwqJK;@nDuyT&ey{K43}3=Qb@2ZY;C=|!r)Kr3oW<Ho33P(h|k&}5_((W;76tU zdm^if4y}zk#eC<2jlWTw?aHUkVH;Y`y}mW?;@XJ+48QkDB}%UO#JoL9dXen!Z_8L5 zR&TLs);&_!&3)&YvHy>n;!gpr?mIp_ne%P80AJr5Gtpx={cL<I)SvX(&dyu)FZILT zYv%*{&jtyaZ2d7Ufc<V!s~XpfwWU&vm;2pY?fhy(_nL+Nc|q$_pWZyZL1*gzj;!S~ zuPnM3^^KeH)hbB_#x=1S>_IzQYQmfh6JIB5Bu%)>!SV3A5tCTA_Fn<h`%!jWPU+tw z`p(CHn)jdKU7G-(a`{H4;vWnxAO0?Dl~KsE-KD@LwP2s>W4jd(ZhkAMG+ePG=w{EK z+#QZzRs|;iXZSrK{@fBN_fIb`3dNMZSa~HkV}&$d^^x0??%j@Mk9+sja;x8k=NX01 z8rQ1q{5^3MzuNu^73ZT11%6HSP;W3`{5<9ITiMOGa*oct$)+GuZGCIsrS+SyKK>KP zBv>53`I;evaVEpB70X>r55&w}ELBk|!<Sd;IjLsy-p{L;lxv?j&3$xm?$^&@EPllr z?7LP-JusNv|1qL-%iARfKDqvmyS=4>?<rSx;7PWNx3-<C+51eL<xh0oH4Tn;FQ*@3 zTXu1a<zc@+2Y)Sgn|9^5k;1b8!GMtYHEBma`<UDfJh#ul<Vkk~XQpJx>1Unq%GA2@ zS>Nia3sqO|vXFC`VEXceVuRs~_}tq%{wsz5$(rgFZa5+GtLR0Uo6c<Ct=t9MJD0uw zd49&%=&ObQVy0D=26kPZ@@jKzn1Y8b*PgYvowi*JDQa!~otvB|&+}8ydbhd2n%BiA z8D4MM_2k)1lhwPqH&2xR`}Dx0=m{^HGjl>dyx4oz%B17r9ae@{U#eUc_Wrwg&!qq9 z7N;`Vg*T!F&e~=Djt%cWbz5ymF8?BjGxGnumbc%Q_Bf_@ae3&yu>TAh*`CV{3ttGV z{r9_8Y){8~sr0ivad%hWP3mNMw#p=TYoEBFez~|(<MOSS4081vHF~#aWY0~~eDl@0 zf7W5&-?3@&JQJAm47Y4(O5eT1Xhy`TE04WqudZujc;ERcm7PoH@Ojy50-WU?jhc(r zoq09o?y(CFsuuOT?|STR5%=s{r4evb>Uq6^ob%MlGT*Ds*%a@-`5MD}js4BNb9$C0 z+rK#Px$#XaSbb0S@taI%XQ%J~(RVU-t$2f`nQ%t+D!--vmG5)^Wn4A*{-~`<m*czL znVa9HKfIsEv3=H&_emF6_yoN|cHc<2{O<c4=~cG(H)q++(>-Q7lhto-efpIJ4=Y!h zhg@B|+3{brz=~V9P0i-9vqvT@-JTQDAb++h*J|FC<W@u8inSc&b@vxH?lE~TG(Go2 z(g&U0&mOG%q!e?tomVRNI^)j3AJc;lyf%<=S+U^P!6n(Na-~EwF1MX54c^Up|6_@o zPUbH0J>UAyUFSG*`N*78Aun_FKYVX{U7fU4Vwv=j^_%S3Ce8V{VdI7b%lC)sJlB+R zndj^Xso3;h<IR=We(QCwmTxW#`ebC17oh*m@5IHQvo_|+ow>20=hmw*t);e`Z%FGV zhHPivR(pqg&yCvo8!z!}`|5MvXyvYrH(y*&J;xQsajov+=5Ph?nL*P&Pv8B`=5fBL z^`X_xH*c3eS$3;qmbCen72V}~AK#wt@}2$dm1e%rtKMer{}_7i&Ajiq0dM!dpM3D1 z*TL>v{uWEmX5O9JxbNhxSC=n7?ehPvzxAz<j;znZ_P-MryNEkmKYO)%d;P{MSps^W zeNS}Nzgc#4Q^>Pp`vPk9lY=tZqGCPPn3VaaT~0h>o+{Lw6_k*s`)%hOZ)Wdrv9GO@ zmo50GwL135t-jc+QKnIMtQXCUegAMZn^d7c_xn!c9XGda+k5<IWb(@RoF%Ugn_q93 z?Y`^wtI$Q}uZ&hNJo$F{kG=CY7jpTm3`@LoYWaQZjO2LVmWS&nWzUSyU3@=ex{b8c zQm3W0%U0YxvuUgE!V9~1-R~&nDp_FF>-+J^%00bH|K1dIT;Ba_^3AQ)mh0O+^f*Fp zZZk8ls@_%{opydx(zo=-ndPCpW_LCQ{AVb6yxM<9@3!e%_$w}be$={UbLzqkAxpz= zp1V0CdQ(Ar+BW&LYwu#ilXG@lym{F1C3k9a<fe^%#oZe>z5E@%dBw%Di{T}?{u{GR zLv3gNuqrL9U9_S$${|tW*oy5pZ>ybkz3QO)W{K_P+aIRB`MYneRo==C!7HR<&c<?H zSsj@C((+Pdd&srmW!Frb3)f24pPeqFkQK~k_P#UiTjp2o>&t!DNPl`W`O&ts!Mm1s ztyGDe8+Pu)FZO*)`_qpZ=bN@?-m0D3wX(<b&Xu!s-pZXyE}OgH<~hEm$|AS<b+`7O z&Cy-GIVWY>yf%S?wc8EX_kCLYEh#3{c7DQbvt>c0vfnn%Ij@{ES>`{(x7IVu8#c`~ z58Pa}c6RDF_pO=b>&vu$yItHp>u~U`+q&twdWLu3ZhEw6!cBW_k51cnzv_1<&xzcn z8vMR?eqe9)N6Ra(GUl3S2i|RyDlJ@Y{`cWl_Km+E9#{38vUkV(e~%t6H~AIvcgd;U zCRQ@fBr08cXYX4X+^3nhV&$f3mp-!ZSiX7ZYOlFw?{`jp^qM(4w<qDjidU1iZ|mwY z+;huks(s&T-;H~m#TetZKRmo>smHErhqa*--<`fYNkZz}FY}dqZ>nwhr`CN-Y4NPr zBG=6`Ze{EaxSqCbuJ5AC##u+)g%htoEI0Y^>&%LKe&VsO%U0<m8_V8WdH1cvt<Q&k z)o2I?XIij*dsRIri=C&}?WV~NnKut~wL9jkCd<zdZ9Uf$HEGA54j=ZG-ba^L9lHE1 z(O%R~IO%BjM;3vc>$=|)=JcEDmQ2XIw0KXmdA{oIDBYqCewB=y5g(`DR#)<FdCh9h z8rW9B9l*1W`PSV}mzp>3y!q%@pioLSm(P)?69SK(yB-qh&fXTe?~O*V?88HUAAOpa zxoKg-BmJt~GLOZQ<L1B1y7*l0$ntwzT$iqRw4QIyyerRwXRS%xnDNM2SZm8UKhCx9 zPS<Hh_@)`j7ChSceQm;#1lFUE9w|o87u0xfrk47CQ`r~JdzleYCL5JqUKm~$+W2Lv z#hmB<652ZHytAY>TJF<*Fh?fVXR?`4$GiJox+&LY-n%lzm?19J<DPOyVnlS;<6iml zioIL?v%f{DGwVINy-4a*Aj5<UyN_*~R#vHbY_`<hdkUq2eak*R)O9h>SateCL!Z{s z!#rD;-duSthp+QYo@R2&4#ki2lxD;of26E1w<9bi;;hLZ(|a$>+79Vidlo232qxTO zEM|S0XA{cyql;ZQ|3P6u!RCk6S&F_-X8U&CRlR;k-!OH5$kxkZ&eGrI4@)hUu@mxo zdPP@vno91P34Cu>{5j1n^=ymmC8;e+IhPj5ILy2kv3vhKk7H3MTzH?I*&!=<MBe8| z!iyH~58FcvF4Y9&Eok`ed${Z5GXItpJys&mYb;wns&k47G;Y~#uVOhd-ET#TY=6y; z<&!eIa(Yy@+jZ<}F0g#ZGMy*h<=JK4NjAQ-m%Te0Q2Y4C4X!V<Qtm~x1Pi$pEMsXX ziJJMNI3PNCsf+!?1BOMi8vUFs9^$)_<sJvFIbm(BY%+u8p6`Y4CL4KW!oG6lCY-vQ zQhiE9$@m~+QsT{(8-6q$d%h_~!E$T=O@~{lw}MR-)I;*i7z&QCdY_y2WX|z&2btRe zUd55@!ih)MY~nrWy5xw>wukjr)BiIZX8!8%X8odX)^1mtTH4zAqkpz|E_7Sn=99ht z`6Q;bTDmMx4yj7qaA5B}ze4@V(j!L2$6mH}v^~g>{&Me<KtZb3ddczvS&rQwzRo|B z`J#_4j92pV<a`ywH=+iw;)9%c^G^M8-BbJd={j3=)q7_1&VgFZYA1fT&D;KW%0Hnx zhU3lJ!rR0RmmBv8toKWw5E1LNyT|9UeCkw(zpg$P?=fGETI}rJClYM?dcPvq=kCBo z8G1{k9w&X~{IQ>v*LugQkA2;(jR)e`>Sk&=_AK`1&b_zKury-s9nTLNPucVP9;hqe zS*&wYg5k=Ym52Q~Pkjj3$jiGWYopoZY>o{H5q&4#zImUz*YRw4s>dhyyZi2nK5;j> z*LE-a$kt6SZ|1K${VnF=#!0(cuW!=7WzF%VB;0p{;_3Bij)I4|V)c6F>6Th>@AB)O zl4AL-a=mZp$^40Lx2)T1t(UiJox;vT7x`u?)=W7$FFVp|h1%)(NoS=e%`%dm_3h~6 z^P6L0cZr_fyy!o}6TN!ZCtKhA6`Oy^B&;Ls&8wa@Q{>JvUf(?HvrEz24W~EV-P7@p z<E-y*D{Uunq2efc)d>MNRF5WXX)fYfo^<BJ*T~v%?x>opD>wX{dPskYqPFI|)jtC) zo7#$sjZ<#i{p)o7S(A2XnaB;vkBfIs^ZN4qtniPbDy|9pCn=wM-Sjk(C*!q-i`V7n zx1Y~<UHLhzS#$TzmnV77d&KRXv$W{VV+B2R_gS0g$}IIXkMR5OByWrCv=g7*D*Sb> zrQHuTs?M)BwVaw1{UmJr8+DDSbsgWtdVYQl50I7(v=Z^pS1ET?4ifF)v%LLg>vq%2 zo9!2E^WZtRch{eZmnS`y{FeIZt<BCupM&mYuM+>%`mEnI)9KwO)}p;v*UC<3n9DsO zvnl!zmqoMt1n0#}&t@11*1jw`_3+SE^%?P}vUg3|c=Yak7x$9euQh(}c;Oh#xb}(2 zP1$QRuZ66+x<n+3<ItP8^?n|_rje6uE;2m)8tD5Y@>KZVm1??bO!w9YG=$hKJaA9O zRp5H`939_#ZMRMt?9j`0v|LmBI4bRf+6l|8QI#Dh`77tQo()Pp^0fY<Kw0|aiZwnu zk-a(H1v{G0Xv>%fb{)6abc!Wo_JV8oQ+RdUD!QBgUVpjhZleC2g<?CG2vn4Y|J3=N zroyNEM>cG3==-NPWj@JnJ6!XmEUWF~d4ojpq$B>uiw@nod%Kif<?{WeXIU2~@vq+2 zZgp&Rl);YXSqtx6U+FqU^Y`YEr2Q8DrmL^rp4-4S(Vsba(Sg77R_-}pX|G~<;nqo| z#D&4xd*??jRr)>aSVE=3#W!73=hr@y5tC#&_x|SXWCk1gt}S0*Z2vnu_Tzts%cuC{ zP8XLomAgiLx?s67ee*VR`InRC`2V)tbk%;=9R6MWx9e}7PrsP+t}XZxhuCkn7M=r1 zrB?QD{vEpTu>67gt67q7_NQN1-d!!N{MC8ixAaXuX6Fv?)h@qzTUPBq!xg67CmYRE z76u;fynBW9?xh>|*;2Rk#PYpQI&$rfVPjbS?`@Maubl1M#We5I-D#1#j=d0O{&s5p zierbLzDQi*yk*ysn5-Gw#MG>J$#<-|xw6}!<Bx5awU6JH&l-ZRO%^Aw=)JN0;TF>8 z$mO#*;=WbMn`PV7J}r6vY}Varvo|omm%qE*`s38dd2A-x&(;R5e(dl>ZT3rpJD&Ho zMIA%;-YIXMlxp^NcXY$4&Sk<;T6V4555(THTJz_t*0b%eEN{%-AA2?V)&7S^ozj2K zeWvoubX(Wkghg>#!DlU}l%3tMx4m9?nXvVLhK%cno);Kih`M_8E!T3MoyW6w#ywBC zZNF;X^<BdK559Hpzh`+hbVYdPVU;VZHTn;3&s_2>Z~9*I{|sxl$adr#uy*wwI%VR# zy;&=(Pb%-g<=vg9f3h~1cb+|a@`rTWe+E<6DckbPii_uKm$mWmDwr-e`S7+|_T8t~ z%Xa*>ob3DIjMJ-sXKucBHm)u|J}F`Gn^k&u?-kE3?dm(}+Ozb?f!kBQU1_sDc1Fkf zqqIfc)7{6iL2{mPiJ?^VS_Q4N#FW-HvhxiilGaTDH<^W{^+1!2kP^y>J>jR|uu zZ@#?XPDSR%-g}2;d<!!9zM-+(G;H%qNyQ!Ba<iUUo?UdhDf-a%tSf6yH7TC!2#NOC zJNLq=mB+Q#YOUAHlaRf!!Ee#?jf<x0I3C@7qE2n9o5%OWJCid4mwkVn!!9r<YeR6Z zp>SjQ+GEEO@))9bJ?+Xo@Mzk)_l(D70`}gud(U0I@@o0jfZ~^XuP){d@~U1H{BHI= z2ibd{mKBB<i1RA){dg;KGi(9Rq8h*0o7S#YYwLHvmtJJ@GFMqTULrm-{!Hqpd+wZU zyzl=rSpSpfvplnQar*77T@zQ;o-H$PT(y<!-EFhE)0Q&He4nx1)Nl8zx29$3fd@Bk zxvsKxR%_&W{`^OAZ=6=2Ub<?b{;iCQw=_&HE)BbJW7esyGctpgi%4BObhV`|bnov| z73-R_-t6&zSgNzow$EC^R93$A-S^4!-P3Na4ocR0evyyka^2B4ze2Ner5E*`=gSV( z%9U0-8IgGR{mSIldpTRaYwxaFkUFc<>5pahjPH|TzFpq+$5lLcidofHU!A-ak4s+3 z{<|R)t)o-iv&``8>#NC+d3D_GWzKv0rA>3mbBp(CbM%kBeO}&fdjG=0eQsPmx%P}_ zt^YHueP68o@KCVkzNuvmZw~y@y1|=cy70=K<0%WbT5rhlb(}w`?XB;j+}5Q6W^0)A zuG^b7ty7;d;h3c{cU-*Cv%S|MqHbpII2_d`mS)~O#iMP8MOVRb{=;eQYRs|km$q3S zs+h>L?hn8928#ftJ#%$t>rdZt)NPS@pD@dVi-~D|IpP9yJK9ZLnl^n2IGOBmV%w|t zpOR<KVxFDD)HtmvOw#&LAyY@5_=b;jykvb_TpP99_$G9Jc+J>)Dkdv+vdogl#%HaI zlG|i<cotZ({K-AaY_yT%c+=6H`fUFhRJ&ZaFiM_W(~xSgo4Zf;jpeef(`E16P0E=a z*~;U4_`($L*<Cl;R`T@3pUFJ2j8`s+sm9p6IIyMTJg46senFLxtUK8e1!*E1EUz-| zp7U2stg%)uMCi|#q`8NZt~uBkSLE%O`?RIu=EG{eh36)BSV#mp7oWVju;YFE4Oyps z>~TNbyqpzxO$d2VvHh=!tYquq&q2N$@;RMWvzc4-xrXShJUT<s>=I{B@T!N0nH~j~ z%iM80D{~=_UHXRLD&2}hkA82s{5Q<uz~(4H`?h46hesZD9JqFA*-ypD3ojok##`=m z((~9jdrjbki;Th22{*QU)X4KWFSPS>(Q(_So3g_MuEjPy%GQ~6;Ovb2n?LmCX$3Ex z_H@m{Eib+O9M(VeH&?!Erto9V@?A3KJb9~IZU+g@Nc;AIvp>x!dYbz3JMXt$Uc|U# zNrnL9?~N9-#FCUgJvk)5+fH!Oqr!b3!+(~zSgTje3QpO1D`Nc~k(3`fj=qJu7Lkm5 zE*#z6c_V*Oot~23i<4q!wivxrbjUBYabZ1s)>5Y-|7zTu-b-F9-l%Rnxs=E8z<J@O z=T{b-leFH{D6uHN^97^Y!hLLJxzA=r9hO*^CQ!_&dadH9*^Akghs@Q#`X2Ch%$#&l z!!z3@Z+dau$46^o*Cm`Zc%O8*!mz|m_r*un7RKu?H+3IvnQ62m+U9X+>)$(m4_T!m z9G6||+*7&eMqA?D#)+KEcka`@JVo?B!{XF%^FL0%7rojd^Ze*ZgO2Xf@I}!lwykX4 zb9dP<sTJ?v>XsjRto&j-Pm#)$f?WM2bppojY?rsp+Ew0nm-FtkOCMW4%3t*EyYp-Q z*XWSrr^24yh&kV~&FeqI)ho+?^0uE$mQJw$D}CheM7FJg>{e;+C#%nHe4`xq?#09{ zwtrRbzv$U}l|j;FN`B~`BWdlQPpaQz-*iCfT364?Wd;ufS4Ql(_g=LBW_*s`OGU@q zuY$UL6n@RSo+cg@_rq?5RNcjGJLJ4<k6pTTS5a(pZYuYC9_f1>->bdl?acRa9S*+5 zV7e^7dX3-ed&hrF$-4h!|JTyHAJ`=#Ze?AQ5)S|3Qm6TB!I^N0I?ugNt3LdV_{l2q zt?$ysX+It6_wK%Na>*S<xl3h&8Shi$b5>ox_>|%8_WZ`fcjsQ%F1zKr)%UGT_UD<* z-8%Z7t(LiV_*mU4dGCy}jh>SN_uciqxxs4g1k;#T$q_=`W#v+Hnf2B<$~2wO)I0p5 zL8vlPaFt<2tkX$;4$H}ltnT{$Sy<8^I#K(t*u2#`u5kxGMe4MaKEL6?#Wr_d?4qQf ztIc_eb{$ffyfFOw=2d3rRj+T>`07>~{`Rx;zX$8J{Vtv;dwsifero@sO>@lRIRX}a zJejKfCG5@9o2#~^Z@Tzu)BX?9n?k1M9X!1ulhx+v-02@*+aH{NeRKRQ%iBM!R*E~% zII$>!^ZY8?;x~J$v|p|LBldG`b<VD`x>Ia1r_ShQ``tMaHa|qw>8b5pu`iroBiEeE za4T9nT}4UZSzqm}waJ@9@_XbCvT+&gFP$0uIk@_h(5xRNmUkStg|VDB&GJ+K^km_I zZ6<y?c?!ppN<Yb5TfD{e9naB6N(Zf;MNi`m{S>ytS;DTnaH`{_qM%sei#&S8^NhEr zyJm2^o?rB2f8O=4wmZ#iChvN&KJVboCmSB!{Sh3aFLP~!*C)4UKUc3eeR?vw+tV#Z z{q%OnC%e9e7yQ(}|HF8HK&Re$McGZB>g)gXZ_oV{HpfcHe9v?~I|r*1CYKYK6|z|O zww}wEc6H=<aNv*)zoB;3?#vB5N8k0aUo3bPD7t(4l@<KuObH7L4c{q!`J{DjxxYxv z#8khsRk|6Er+_AEm$xfDu5|qRpW&8mm%hoI)J;`~vhDvo|5kmcDAy{@^FM>`1kw6i zynR#uGrXLfKdJxwT&Z66qNT<Xdj;obn(22L|5R+h6>^}t#qOM4c6H98hyNs4O?z); z?0je3GNbWa@XC<e8b+(_#HRCyya|nZcy5Mowqd-{`-|3}3OyZm9XU2RX%lN|-HAzT zi~Y{r{TyF<eiP%@H`}k)Ucb?*J?qIDHGUHx#@9D2eJ{+Oxo72ik1O|f7rIXWWY+)h z8PAmCmlton%)0xmdBn=V70*oK_ZlUdt>p^2cj)f7oj1KI{%{oJB&mK7Hq5EESaeWt zsd>Go#_>%nE|)mGoBMAS-|4_}dUq8H7JPL5GF$TDRk?qYS8eG&=vQhMcF6Z`;7+yq zKYCIx_-V-M%(|6&?&#qXX~p*|UgXT~JX>D-*X|QfyMFbSV3S3UdQzG-cAi}p%ey-A z;fi3pi_*>s)2;fsgtv9&Ug*Co?0u_R_vo$fvH7`*=Pxdr_eSAY8e{3~X47s_E?=hd zyW9fRJl#85<-3>U@8Qy`yX$&jwrO8W?7a&Gv)Mm6Y38`RxVdXuPPJ*c;T}Ef2EA|V z&U@HyKX7ZB&r;7Vn$vqPJle2p*;$_ohNO4%x8!`)WbSh=?{~SLAR2dYpOx0S<-r-X zPLE#ou2K_L?X5G+J(3l&?AE2c<02A&XSOalr?^UI@#dgZi#yBSbQPFvXi7b|Y*k3E zR^!(eXD^+_e!W`f4f)g0TCO`7EO5w=qt$b9I#Z{FpO{WaY`gG+piKX~-*fJ1FHb7X zvCw&Weo_0@AF=ZkC+TG#W6M=Ezx$Z&ndS1mS2EkSYbMEeq{;qgD8IXM*`2b@v8ngU zb@G1j-Sc1a>h1d(uP?E>x?9U;Usxj3n!cm$+*7l=C-yn}L@qSj_{UbKgn7dw$2HYi z^3qWYpPgYdv<`KVDwPkov_mg2{N{OqH!AJRwllo@@ZMz3#Da_oZ)|UCsdc=2c>C}y z{$fwPlHlwqR_lJG?-5vOHurAV!G$>wpUGvOP(69&+?`{4o8qorjs5+1@uu$)v3&1~ z9QZRY<n@-8XU+Z3a6Ptfns{R6sxNMr-|n6AFil-5&88{&{Fasb_ZNzsEN7}*{FY0< zcs4KJ%0ppi9cRl|9FwoS^E}j8?nH#NpTw<gcSBxYzwtUJ@BQ6-OeZHU+RD51vEYH@ z8*RUQQ`@!h#8!jLJj;F@k<!eV8J%@o<9q6jqh>~&K85di%_NsSoT<6nHSEFqyM+d? zI;~~R--_1Hjr^`^u{m{#%1Mjha_QZNQ}cg*F|R({RUjHTRg)|BcKsCLmjP`%A9Krw z-YgDzVb?1)b*0_anA<;F?}mw-NPY4=<=EAw9#^`>_PZQ2PQLlB_6he2X;Y)*FfZ%S z`t+Qw^S&jDyb5-ldsTK;=YNKeQRyX4<qv&zKPo=jz!z;iN8?J}=_9h?ovYSA%nVv4 zcT!L9q|v%-+LN9=C|q_kWaZVHccW8lUu@?SezCDD@8-+yH-}d4Q4c-rdbK(4d*Cj< z+tzbR{9aZUbM*MM^XQs<_W9m>>_@i5$63q6)AepuFK3cCmHcXEct&RRJ1K3RuB~(b zDX6PN#0E}y^Hl0^#;QMhhaOy-ac#43@q1qFsx`^H;YX|@=6D+!1~kpMqq1+o9p300 zce7hARA`yKnRE5_v?RTmZ8K+V&<ku`Ymv{I_~TUm8g|io!TZiUlH$jTBD^==H)UJC zLL>3$jy(5HpDp*5`W-VhOk`EOc9d*7vPJ!S&Yi;w3JxW6o?1MwJ^f^n%~eOSg0@rl z)BZ&?PqfIjDOxZm=;c(28gZ7D%%Y#PqUWtXl#t?7_E_S>&1ARLhEJF_<U4CTEsqkb zSD4#)w)3N&`IY8f9PZwCG%|H_YO)Gn*2G-<YEj&JIK&}*)iuctEe7|ltE{n@bNbH8 z*{?i<&2&$+c2u-^xBg7qUa)=jP3?+Jety~EGbX*uy#766dt+9K;O;3?Zk8#E%Z4pE z=jdp$Y+CAy1W9wt_>2hkQ(=p|+O`N76;ELk%kZ>Z#4+1((ku__o%6b!jZ4gePdnZh zS2%S<dbx<24Ri1LhZ@@qY+}!9et&e;<MN@alVz2UEvYYP%{kT>{pX01xn%c|IsQkd zs2y>&s=mG9(fViMoHk2Vn~Tg7$eVl5XZpJdi+6u*;ge>Z#5=QjS7OSuPt`FCQerc& z3NpNpJJFEXvmvE+iucd9MRl3Wj87bz?C<+7%f)TMvJ>Vu6Y_#5HRR4T=-20JbD19J z*C8HvAwf?)U*fbvbM<9j$>fNr=gIlfCwvUv$^NujVHDkD8=Q7|0;`+E0X;94ZHF6} zmbbZh1iVzUQTw!Lb}Og#(M2yLkEFe4jJq55z0!EkC!LkfjTYNyUX+nodTyUlpJ4aN zm2FG%n00wJehu$@#x(D}q?C9@n;?&R!SY8!?*+}=F8DdlT*%@eee}e`m3|)27VNQB zR9G&jarvzIl)u4#0<Y)Z>quDYzial<=ta+aAN>wyN~l~>+;Mnf?t{g?>(hfC3thdt z^~f~tIYHa+hq?JOv9Fr;u5nI_0oT>e6TvKpmOZ~%sV`|ZQ&LId_+@n?#(-~EbU%h1 zR8TM9cl`EBw#j#|in0l@`Egh+wfbNzdvo%u#Tj{*J$m{J(w}YUx~f0D((9<NT7d3_ zX-r=Fe@vNeQZ8;knU^!=&JT$>5v&)#o6Pfka6n}LO_d$#N+&Mcom%4|wt92Ukxjud zXZxl7l6UHAS0}E!_)}wM-0MBr^}ifK4{sC{<M>`}t6?eG5*gM#ds|H3i{0F_Ezc+h zZe>$^AnJe9c;B~D-}U^TdNm9`#oqO8&R$|U{dBNvnAHkpcfl6{wr8bc^}O_$*p?{X z6%V<0U+Peob*T9+qw4n>-m@<Gm<i9ib->!}T<7_vZ>xN>XG-v@`2Rk+Z26Jn94@<- za?PI=uqyMCsrQNMBp+5$v#Qz;_GgnFd~3aQSvMs%8(*#036_o8eJo@G+gGziZ|}Z1 zGVhIwT-xi>ZJ#zZDy+Sg@UPNOH&gZ|<6EUC^E{Y0?{X_@EamEBe-MA7`Ml7fTcIrJ zIxcKN^~(fwm-#(?yDH5pbmMH>UilDntu5>+-|pF$W-3q7v5-@}z2R;+TlUYCLzyO7 z41X5K-;}+q?4;<J-S||fx6#&Xj;>s|dud9Yw{qSIp$A6WYUl4yyneBMk=RD(Z;|yP z^B<kw9(VF&cCCL(O4rGvw|}kEKJ8p-G<(hSKQhPDx;2Au{?d7S(s!@;q`%g>T7Rca zyv-f_CF+~d8|ACTpWH5NX|Y;Yv_@=6rShCUM`o4{U(PbN+)TAC2~_&Gnj_Vz;Ka14 zNh;b>A?__<GOp$CM3~*0R=8YQy?K-UFHcpkzgNnR=k498T^8$f{iLKt?Bb+qrz`&% zSf5wiSYgUsZ~V#qp7G{IR=T-2pX|9heR}?^hFdAcx>Gcgc@oN$u5F0Tu-_KGXZbyM zQJdx8{QiX6mv%R<Qw<h5T4ghX%|3+h>=u*Gdq-}}zbRuVb3T36#$WX;#b+z^VteQ8 zOxyM4q<^~Uum239pI+Zw^sN6Pcl-~&;6>+u><@i9G5AlN*N4=CW)4~V=C^+&&-)$B zu3Yiv$t<<Qu0jRbtPF($XSVNqT`i&VpP@Zl!Ti?6iA6f5uXZkXy8k7xFWE@9<nf0m z;m>R?THomBe6?dv44b=3>Q{vqMt&J8)-$=ME;?P&K5^wP<6WK?BhH759)88uwwr&| zq2mIvN7Q_lbv-;=-1buKX@P*!r`Kz*A4y{?+9<VV^~F}hmS&Uh4q|=Bj`++8`>C^= z;rgt;nG3J-JYIBt`|=QFrT(}RKLu}?b4Yy+P^)^<Vs*I7=`Qoi*6K=ij}?!tm$vzz z<oT847FT>yCg?$Qfr$5U9W|Y`1(nYl=ct&tbStVnl2d5Ro}d0+Y`MW(zIS(gE|+<p zt)3ARU2t9R?St=0*Q$8+3m9%Jluo<s`sB`*7mNBXhU~Dfd{<@4cR65JG2dCf=Q(TT z)b_rL-5y%_qcBQ%TiF$+=5=w8XQiFH_4uxJ$+oH2t8Oiv8ozK?&UMv;*BOpZu0D0_ zr%A}Jm4WA0Jz~8Z$+m52VC&9yy??Ty3x0p+wzOQFt~clOq4XWM<bLcE<govco}TT% zEWA|USXWE;tUmvhJ`>}1SZ}$PXmYeXm$&xg)ISRjikV!V{XU)VL(<Jx3A0*+gH~QN zeSaiN{+V4)L)X=N$4|#yPVJhi^=R>274c=0d;1e7F?%`$tqfZ&llu0L)uT*)c`jZS z3o(!4nVC;IO4)Ya|Ejrchp&0^{0f~p8E>Z?zN2^1*Y>OCrPWd8(jL!t-?|cMyxYTA zq51Wj^QXAkxmHK-T5#xtbz8D;s_$e@OKZ#cmbDwrcP~=h8u8=!v$^+jOym7I4_&)@ z;>FCc<(my3qy&A>oRM+)=3$?!`YB1FaS!(#Fpsd9UU5rbwDVr^oSC6p?%#X!>A|aI zC+4J0Q+y!Ss-9UJA>4YjJXGph$U)(No5ml0C%^1_!u3_6JSKQnoLq9zQpc|mt`66? zUSA`>XVsOm3wIaxEq^!TEx)ObsM*}byXP+Kec(E!Og*{Q|3_8JJ0-2)%IdcwFK-3D zE2~|$G%K$wKUb;Xr;bVO%q_O>)A!DbT=(&J+}TZS%+iKSQbX2n`<-&xWS;dNKCSN6 zztd&){xgWCZIMZ-T($T0>#&<gZLis_T9sLCd-166jVactc|q|(b5`ly+@{;Ui|_lw zgSKbBg&huUdY`>Qo&Ug_GvAw}G|g3m+0MGnHJhM0OT;O0rFUBOOZ$Q=3sjcp+Mbm^ zvUhXaVm7u_Q~omu-J1HUduMyAdFsvIyF_lhTpKYpuJ3R}t|;@~x9K-b6Z7s|in#mv zUSxUiQn!tK?FQHG9hx1Sw{%P3>VL{}!gRZD?)JNO?%h|}C{f1Xw8C4>g`o>h%~bO{ z^KApiyU$uu^7eev%XaHT`v1B6{J5*`p?9fvGgcT*JD64L#?$xu*4to)qv3bovs<e~ zy|S41m~qS9N$<H0JnkPT@~PI?d-jaD$lV3zyN`y+afcSYUAEP#A}w?7gVnOrHaDOA z&mj3@iSG2wn`NuEYFo|Ux6t8mwAIwGWm;2b@QF7^tGcc$X5LaNb@I#2ZM$aAD3DrT za_VT<!peoa_j{e}Ss!Bf<;91st9MneDwi;SZPcb3wpAhGm>qA{*}r0!?`)c1@v8im zS-a%XCo`k>Cm+ta9+0>4(X?B92Ig`K>t6o$^=f=SJ)|?xJ4Z4<tVs88bjEw>qL|t5 zUIi|DH95VaDO>j5we08WF*-`~EAM{T`RIYxl(VwmrDZ&~%)KjaRM2BI<JN3T2}x7M zmk;*soOWa4p>^3wC-#LJoa#HqppqDTPi|AQ`JC88FCD}hzU@C2$geZ0#8SaW#&S~V zIqnbbwc!<Umt>Tj^p7_rHarlQu_}*|)UrOdkM*9@F_osfkGYKIrCJ<#^kiAhhmOd~ zlM!`>yPT8`&)Pk^N%47z%=L?hr57F))HUD8RevVfId;Baa93`^vz6O4?lG*rzUAGs zs13W1uhCg+rK8&9-yteFC;Is$o3Pr>CyVmCQl<*8J#Lzj(mgMmQ!?#|%k#sjiLZne zCpbTy%C$MKxQOMs&=cm4N3%6DP6vh0>pUVeyI@w$x;<xqt=RI3LvEXk(UUZ%J?uwM zhkgDmmM6Naz&yZm<$Sq}nddvDWxl(-SUGP3qw5i#cNaPp9?agM*y1twp_T6OT{3S2 zgmPXp?04<ri&|-}5aqN@`lHw1X#x-Dwy9S0Is|r~HQ+JqIyW`RViU)W8!5b3&h1{X z_TuZ-eCuk_M%O1X77bF3*K$%#wmkZANM-AFE}4>(@*BdtQ!W(;`6ND>=a=5T!r5Bn zR@?Os)~J}pLFJw&<NJ9(Si7>E^*k4l@qBW?pLJU=v(Bz4WOd<DIlDD{<J@4E`vIcw z#Y?8dPMLdcYsD_dEt(|<Pldg1TyE83lDCle&_$_NOP5YNyJVT^0nd`AL!DNOl#YD% zyO;NJcPc}2$&Kb&FWVei49$-g1<&ky+dXm7kE!Ro&e>cjOZwKLG&!p;F?NT~tJ!xi zh)Nmjl}Rt$p)ny>$wi@h@3h5#!dtBG&YDpsJ>iOXS>-a;g9c&ZZ%jYDin<wecj|kI zo_0GKTS57zTa6cXZn`3MOLTVh-dPh)<jI>DUbx-!RNAKXedgQ7#Zy_^=IUoWT74+i z<@hSY=!|*EUtF(z`}K64{ppHb#!-tK&RDFJc1^SjE>SNJ{kGjC_3o8De<oY6sxEGc zmkr>w6$z2Mkg0GuYXW=d-C0vt?da~&Nao|Um(J^!-@0v{<jk8-6DwB69Q*lB@!Xe) zZBca>6EZiHYX8~dE~~qCZC=u`5Z?JYD?Uy${H<R9b$513*3I&p%#B|qms)M%Z2aOk zw=G)wM%2vy8>OqtdnUXR;1jX`b$#1orZ=}VPkfI1&u}xJeX3RQS0^*xmF@o-cCNIR zyKt#^Lh_RhcYA+W&)oHW&ATH%R>Yrm*8U!UO+m5w)^1*%?RN@WWdD7?A*cSwI{su{ zb$C*8W#}>y<6Cj(Ri29`h?<n$PfPCRKf(}@X?HF?Y{Jt$n%5E@>Xzt!Gnshy&?#x3 z-RrBBY9=PH`1zk<VL+L5akf{f?WDz-@{JF@?|Loyn7Gj{X8K+c&kqkCDX$NyJ~nM) zMcG1e+e!6@@48+w2;!00(4rl5I9yb};*2q?W#96U`Y)*yY{j&u+zp$-Vmf6dr-u9H zS4Y3U>baPFH2ex%Z0qFqkk9ud5AX5jS@!-k_tG6J?+Uq{ao9cg?y^g>7}x(fSbp`U z(_%yC>Rk)|PUKz0vtM}kw7*<>OE;cPc)>2x@hKwvjdbw0g+YbEEE)x~>c2$Y{&UqP z<jyZcQOOk?Td&Cbw*Smq_QYU!rd)@Sfqd6ehc&NE{f}JN(e032xjgqqnc4#RyZ;%A z7usdbj@&a@J!e_r)2<%9&-)ez*mrKZJ4tZM<$kdirT52zR{dFd`EcqH{x3V@R2JM( zuzz$eSaq5F!@Ly_m(S-@XjM<X^W^4~EGdT#*0yzCnimT#(xk4W^?DV4)Tq|~sARo; zOaG(?=FbF}X74{WKauHF!IO2@ektxs$>utvC&d!2o5$aocV$8Sj<pXb_1?V9`c(E% z!AI>a9YNAvHA+WQb)Rw^m1=)<=w|Doy0GXsW@ln0mi%XMHJ4eUSAR)x``YXFt_RId ziTNo{<W{d*=k<D#K#boaaf3}-R{A$n)@t2cb7b}W<>_zwvI0(7o@&-M=<%ss*m+G| zBk<nVx$0k|?_JE`*~#-;|8L|GqsCd;(Q%FZe=f?K)IXZ_{nN55GO_Yg(mJFqZ*`oP zURd2b_ln=9rx%`I-ni*z#<|xI<7%$A@C9m_CqM96a_U^FSd5X_(#UI1H6AMNO-x!I z`_@)(;rWu!SN+VH&xPsz+EOE&qVhgt7wh@Wu6Y+_TV}|`wom%}{EyPldX_TzUFQT| ztgp9!_^SV-*ZB=e5{osoCtdaFcp+{XeLr-?KWne2+J0x=>@0J?DmSy9FLR<r!#yeO zb@87nzg0e4vrf%Qd4ZK)>|E>OFEP7ww#vty*V$cPcP~NlYTfBIPXd3{^X^u^^unaO zgqvrV&BP~0n-2NC*NAC%VP1D_w%7hOkz!jH{oFHu(@{g?%3T&QvQv0NqDuR+FEUnI z>Q@+xF;CjCLu$q*wx?&!82+vDZa8%JgU^gO{h(c+Ta^U&9E-UYA8O$z%jd28Hd*y| zY~`HurZoyLWhPwF*595|8-D+XT6w9i(Ef`KagmdPrH)Og4}BohpmCVR+)`U$rC;Y$ z^T2!TMY={_cSREldBmp%X<kWWF5g!Ye=<=?%IKNbvX>V3%4g&(xVz_<y5WL{Qcc?( z8Pe6f3@&-ssDJUz)?l+LzuWa%ggsHb*k{>Mi)}9zBd4>6EqHEz|BAwy7tPE|Z=~Md zsS`2x9;050jzycg)eWcj^6`81S2$$5-}RA7ZLYFhmh;=xqc-O5-5B-YI&0on>z1ag zna$2T9L>A-V!|!?sFli<SEBZwueaw+y)fb1**mUwD)$cuh;HBB+*PLNou(scxnrYZ zf9CSeFApESJ@dtP*{P7_N1mJJg?3H(R9>EP$3L|?_TZ|WtGm`(B_u80ywPCu&8-Xv zEZ%BuUil_(t#5C$OYl8VnWy)D#+eNoc?W&Byvz*zo|UZ`kYO6xwIXAR#MxOB4&C0j zxWp&p=8G*mZmpKyGtc^g>h7g$&MdQAv5eu8afJ7aSxyDBQj@KnUwLnz@o|#Ly<a68 zy0>mM*vn?LdZXp0<I~TdO{~86z<1X1Sj$CIE-$(<>CaU2z{Q)UZ~SyEwD6vP!op1k z$DUT@&CzOD`Q~ibTK9;ruV%d3cRo?K?5~vmVQt|yHh(^u>AP<l?wkGa?yKcL_D;W- zY{APcFt<5***DAC>xzGPO>_trENp+)8<n_zWzoUVnQHS7UpRR8K1a(LYf%|f>2!hJ ztEz3&FY`5qK6ZH)@~yr$aLs=Pfo0qO-rW?eFZXfE`aLtf=5N}Tb@i2>+{aD3C%&0G zckkQT?xI~1Wn9ud%FMc~vh&(bI#_eOSDoXzChz#&Jw1oR%fmL8rCUvIcD7QCogF<R zEAO1h!I0^X^1iw+cl?*S@{3>g{kCrkYL@G&3pytI7X>U1>3hC=_l;uTQrSiE_fF(G zY`mni@m~IsS-x6Zy!X%ew0Q5Tzh{qaeKl8Ot=~NPD(`=%tCn59)TeVbdCPwWy}7p} zkA#ZntXX%<R8}bV(CVP<Snu?O0+|x;Yc6M*r|TcOQEDz5oK?p(waPE&A%m8wS(oU> zNB<%uwXUoTTJzlYz{WE_#J8I5Iy1}kMB1tQLbuGe2WPG|^qainYVM+aCr;(9_}I8> z#moN;rtfP`Z)$%s+pnNq_W7Yyt5S)q%hqSJ*M<KPmU|#?B;Uch#dcv|<wK@L)$_fX zpM2l#sI|T}@N1?|NN=d^yuRyqE~QLk`w=zM_4r5KB`JF>6aH9dCZ&j5Ej^WLer2tm zdC{UmyB5KYexbZeWxM8{SgC(=M#WUGl5JVFXVX2D7A-p4)^>RFKgl06Be)m-I4<PK zE};4JFmuxFol|)ayg%c0P;ceEC!QPpY;PxQ`_OmZKefx^iB*zULEW)P-zMwtVQj&j z$F$vEyf+V%%HbE(Kk}4m_R{OBt>qOp^Smr(_E(oM%<mSR&){^BS<qayVCz=(5_{La zwYT^_N3UA&&2VY&lP9mHO8WP)DJOIv{xIWip3IfKzg`IFt$CJM+iTi2H_>=cjIo>C zGjXePdaiA|XWfZDt8Q|Q>#BUS*@TVdODEk(d8%do=|Oa5)*U8?Ms?TO40EHJr32qG z++Ff)!-PlN+vj$>JTp7K=k9x!o3_U$7bM=v$XgY|Ecq~N!iC!rdp((L->`>P8D7d; zaIi1kReEFB!NV?(-X4E+mqGnt+H3P8O5WY>20bCgIxekqO1TQ9txj1zzbfPZeRE=K z-Kt;RqAf|=rBCf&wR2nLx=l;wi+L_R9>FtpZ+Y`>)?#+kX>+E%I5+2zGM|on>59tY zAdAjjSBej<f8FWlq<7_cQPtLkzjOlL7*EnoID9H(UU-WNpPjgR(fqPG$+Bytf@QnT z8XXdT;&0A0dnT`W&SECr1h3?R3F&2AsqV?=-m<HFh_crVS9zS4ec4>*%H*5_1&((% z7igYS{#nk)!FlA;-RtWL^kTvkct7iFhZXlse)!B|qN-=PSi$z~OQN{$9g^->oTaXI z&Nu8sidf;#sD+!uu4Q{kw!7YWu;%Uk7M4f6cU0QG1pLuU$$Oa9aO~lS-BP@h=c$)O zESK3`!LIfp^|2Q3$#T_}_(zJa?@YrhW!gj@_`SGiWE`Y*xmx-`SP8GV$ftYJ=MHC| zDicrYnboiHu&iT}YVQu=nZc92misGw_t~OzgYgl=-6XvY&%!zO`LY@a^JiQXl6lR0 z>1}X9=(1arr}}v_uQI!?60^Xe_{ibeoL41|*|0^;6j(XO{P4b_UH6t<xHWU{I%l4| zkC8#gPF2MEo$vlLdGF)@492t03O8r_3GTF9^UihlS)u2X+tq{`L|$z?C*4yecId?h zF$WJL9c7E?g}bj;==yH1-rnt<xAeC{!H*5GiFx7-CoOJj-Mx@=fN4(rs)Iko!=5}l zz+KlZ^<J2}eEC`ak~?t*(h5bp${wqSvlT3Co6xcQv}43vzu8g@-}l~s(Gs@2*10tP zpOA_Ce+Ga48_OR3XUH_$X1LWnE0`($tnr@z3^`@9#kulUd#-D$HHv%vcgLb{!U=Du z?${eB|F7VUX+pLaS9NUE#1+4%OZ*j<cUpGp4ojkX)#K2Bw>hF(dw!q#$U9$Ee+}cy z3g<oFTHU|A6a3@8jqmj7Jrgzjw`8UtHCB|Vu6TFH?P-7l;~eFv>03`9ZhUuB;KDse zhQCXDkLdj=YR;_oTx%uIziL+8#c#e&tlek$C)qx`{$@|i0oEi@Gp<K@tYHi9UbyMK z?2NvocD4D<t>^z5F*umtl;+m5h?;$mVZO`d=$l(4<mVR#2q=fPtvhn-Z21rW%K5H= zTfUVCJvmkCvns^b>b&T(H@7+*a?XD{YHZoNV%H4qySZ@}s@r_hF0v++-F$0R?O)=p zS-#2h$;ye_eme`wbal<UxaL(t)?v-Ye;0L^M??$nb2KwMaOu5Z$|*kU=<+>LQ}=F> z|M%)w^yX(XO}2SGxzzV(yUVpJ3*BajtM;&H)*atGy~cH7_r;`lk(;*^+OCxdwinX~ zS@t|nEGm3wM$U&vwf%2abA2_-;!~5j$u98O#W>^U(c-#KmpR|{PCR<{kjLTAK1ZFV z`o0s}uD8PP+^M^NcQ1Fc*gK0cdyi$6PJ~uKM*gQcHzq%8wF)iUC8|{*c5O!V@3I>P z6?4S2<gOpN6Q|G|y*;?vdwW96`o9iMHx6&!=ILZ+eue35se7T~-R<fB8Q$fs=(fMx zGrw!yk6-GOH$FHxjgv7kfAi}-e?l%uyPe+>-4bLJSQ;f=keu85<}QcD_x1^?%6n!> z-AQ<M`Ph{gOG6mSJCb(GJgfh1w3s!l@n>Ma^-kIU43$5F`>Po1#YFDN{_N9~PknEF zcaGmXgD}P|_G#07Z)+{}m{XR$dpFbkko{?T#Rb2&-O&+!)&FWmS^!@vgWQWFuLT6z zrkxI*r*3I__U28t^0~fA)gfKU((j(_T(w))y>5+E-jlZHCBAzPr?OqIzHuhtR$snQ z;;}b8CFN6YSA;fa2I`cqyjHw#HLvf|<?O;M)TUKCKKajZY26FW-s%-^Dk`$9_Uz3y zdHMDVpZ&*}D{rEG*~CA*kN9_5+U#!M1UvOmj<&ZV+HC(BI&L+vINxlLllpRp=jXC6 zX^x81VxlJBqEsH<%bs2NV)y2aO`2xadz=Nn_`ctkW;-KoF5kNc|4#PGozO4-v0)2? zXzlF37c^`)w(ZXHaGU>o<@x%<ZBGr?-ONf}eK>IK2G^~HmsY*LeAhhi&b3wNyVLSC zw10*^{uSJOcZ=cS_T5Vrt2ce(|Le5(D|_3g<)yp*Hdlo#TYBc;i|sMj_lpT!I^mG` zz3Hm7r0y-Zuz#mM|7W=KZvU6BHX9bdi@W=xYs#4^(Lbt=e92O{xQgTAnO%o8Z6vO) z`f|GJ;U;5&&e`jf{w-N6F8FCmd5-DS6`wTE9!);$G(rDtlvtY0m87Z9Z~t38KW*Rq z!zX1e*GygV^V{b)Pqys;@M5iE^y`~vQx)_aQ*V~A?J5mk;B5Q;(S?%8dWL_z;(7-q z=lr%>mp%W3&$rZ1@l!GcHyBUpe_%W7KLgw1&9gRby1Zqr{(lB#)tPeMC*@`;KbrXT z=7kk|%3jx<n}4wK?bDl=U*FuTp|Gp$-`x3&x|_w-f9ULRWOh(w7kHqqdZ^~&Guv=Z znT?8bFGqjUNNhg$VmtS|WVKJhEPbn&t2}ReofP&!ujKC9J(>^Y1vg2omg-|VGSh$M zk6r#p?#wux*XpMG$YuUb(}i!_zU~ZP={K9t^=R_SZEP-wUG4N2NuT9cIVQL$^H%e$ zv(7o8&KncV#n(r3&g%$S@^;l~<_|k8B9})mijci~_U=WCz!g6&P0w6SI3nY{z1v07 zrQ_#HzQlZ`M48ZAR;&w|mBex@df(m*%g8d)U%h<$@=13stQt1!1*Ca4Y`^#ZB?p)P zjC0>P-X-O&bK*39$SC&StduwQsqBKC_r+ubMa-I2?(Cf8rJhl+K7jKWj~cs##S-D7 z=8wDHcHb3J{k^>R)Z2Sccqi^K-=n!@_Qu9diTuSe8|FTHsF)XAEZyHSwRY|@*E=1n z3K<-WHI4mE405d9&ToD+IXI*2<EQZV<!--cnNOG={^Z*9Wo*}l-fY}<VTF16>Me#% z)el3jX*^uJ`Leo=-!8!|Z*;bcRxJ|$<LWza^>T%03qAX9m?hlWrq5OI#;vbJw!dPz z<+_{F+4CMf4S!#DD&&=rlBJq?#yVLYi&dBM1^udD^9XV-;nFY3JFT~B*1BY^W3MwW zPcCh^Byo71!K#qEt`po`H|*Y{v+Q}wfvdYdCo)W)G$F>>;>~v7v$GgnH+KJ9vW#t) zWE+F#@rv@YrZ;~kX78WDxl^;{$}LI#4cT=o*RieEwfLx5lh^y4#qi38oM{#deocD* z<Hm)#Vf~+8?klvo753Kmq+WG%k<0GfWaqXIR#TmK+>+k1S$<b3n-0IJ%;!WO>q-Ob z;^NMeQ|`R`b}7r`Ro|uWmS-L&B&)qzP-o@ZR6cvpQ<12Mi$`9yiU;5Ndt+VH^S8X+ ztKOCG6Y&$g^D3CXBGcx><%5&f#YT%s&4`HnsPymM#<?=VQkt{c7N;(pqZ_d*nBQ=A z>>|DDNQ>>6TTitYdt92xlOZ2^&-Tcsj=e#q&U|-%Rm|VBdwZ^at+RL0?inlJif&uT zZ(hc7&~0ygMdH!3Csr}7ezNiQ)u_5K-|V^f#AjsRDURSSUtW6hyvfrZ=^n`)>z-b@ z^{Q$^%Cf`1cqgp5@S-{=PE<m<i<eDK<w2&DUh;P5dEIVidoHU*UAb1L`Q;9unD;a( zr>W`F6KkWU1}wd^;ac&!2Uo>SR)o&F>MZ=KJU`V+$@8et?&Ar6tY2}K`iiPuR_3*D zc(;7t?3EV5Y5#-|%??^yWUjcLO}v7SfvqDXk<TJoX8q-VW$_^=OU)bJ3kPR!>s9tE zf4DumyyV{Nj}sfuSSsDUHFcHr)fG=07~Z65CuLP+Oxt+x?SfTXH7}docvTUrC{^&v zq_EyV=GyPwXZ&Sv&sq6>cG%;&osElCcXmGgV=DJ0D$`ulYFc(y%o?^9e(r@*r5T|r z5(dH&=ao*(bSuwKy4t4xnR(Vxo);WGbrEeZ7}Kl{O`N@1VoKuWpk_^ebM4)}!V&xv zxzhYLtSe6K(U>W7W%sm<*OgNWwjV9>;w|rZH?8H`w7Cy=NQu2RFHIA<eI-v(m(@)6 zb+;=2if4P9EdzcYeN?D1;g6EVth^P6pEGaY$a;56`Ha}KQxY4ueNs{1+IIGtaX{3G zGfsDeB#MIlrs?qR?oz#f=7PbKg*VRbaWtHJ`NQKYY6;7pJt|Z$jc=CwyfO8~hArM7 zW~it&T&x!;+OPZQ<1Fj7N9}|<c>Z0R^65>(ZiZd?!ZS*HCY0<r`D|8tN9=|T-UVF6 z1q*LT=Nt?ayTGvI<rK|%GN&gTD&47?A}x97sN96LbBY45hyJY8{_sNJwDqyBk`HTg zH_y%qSfg_8^FqccpEb;GJPt{i^G-_abz^$xT1n+y4@~&tGqi>4Y(La^nJeYVh{*hz zvh{qPa7Na?AH|#f^$zLpkZO^Aq^sx?SHp2a_Rh_Xm4SBQ@weHySl3N>C#}g|A>I0@ z?CWgJH)=n=*GxRUkkvnCPM>yki9w`=&9;KOM>HP4a_Z}l*<QZXPjTw3s|?A<bT|XE zISMiY-o*$lk<Q}q-TL!f_K`a_y%*F)f24<$Z?Jgs-O~KNxuhBE3h@X3mSydqc6@@K z^SX@!XVzV}5-I2FnDk82!D^m<%M__+`87UT+<mesYW0RcN|Qs_9;7Q>DU^vg_Q7(c z$PxG64)5~PZP|sbi;C1<oKz@QHr@5wTz#vc^~5BuoX5pcIuVK0n;zV}H(lZN=7)!# z{&`;68ru5zdDT7fmg}4<9N7(<BqG%k9$sX(o7-HYf3^Bl(TR<GE^U@KTxW^dm`VpJ zyua)GaYN&~(@y2VdN!BWsOiWo-zQ<c+jQ-{xxuo{{mv(yGap!#H=M24n>o!**)Jfw zp@7*Spm>AlDN_!yXM8W`TwFa*n2%3NIZ5W8cu7R(w)~Pvf#gpoT&7JvVS3#mWSR4$ zLkYiDq{*nfXXiep*z-Qd^_E{({H7}t%x5dybvE31=-FZqMf3j*YxiAP@#3DzruYxP z<t{oNc(-k<^7NBp`%`YoTq<wQln4&$zHz|3H+G)>C+C0a=}N`AJDx3hdqvh`cGJ;- z<Qs>*`-@_X<vg#xkdk&zd;6Z5<xAYx-sCOcH*Kk|Uzv1t%eK<gAor8jd)Eg(+-0-! zeaC#xngs{LI;P#ds&(S0vU<uoX>kUzU+Sj+&fQdL-0%9`&%SBd^_|;~s5zCFdndA_ z-`~z<d-(74yAyeswoH66yW?V^RKTY4@=bTLgZ8ja=Iq({NZwWbrsy1o$BRC<pHc2l zx;;DKWz?zawaaFAo(R)ix_0e7PMefNOlxD8uD9cwD)677bKUixc_%iB#=ez$d&|zY z)+xPwyGzQiWe<Jjvo7hV`R_LH%4XkM=2iBefph+%<c&tFBmS8cD!+Hmoc#CVlRn$| z+3Wt5>`#&2Uag(ILh9v`;}_Lz!|cE3T~P17E6ib1ZMSo^<#*S_TN=3r^@l_{8F_S9 zd(=B_UsS5}-D=6ZSq=^EDz8fWuCYl<$ORtXl527%HE7AHdB4{5CC9tOI%lqW`GHq( zYoyHmggL6mjCRT1&0RJ_x%Rl_rzhQ!(HR!S>H*t(6AF%OiKtp870S5c*a5ym#=C){ z+ooSh_IsDk5%+FuSU3wuhB24M+u5#_yH{S9|Ffwu?@ES+)sM^@qUyQJUZw8bxKZ2b zeh>E=lh+$IJURYkaaO9OIA5+p)YFzXvyE>Qnaaz%2KIj|J0x-J{7!St^<`QW>zHPh zd<*v%uehPL)WSmU?=RO$>fc;0EZ*4puy{qsPj&0R_um|wW23XYT<O?v<Mj8ecP?+9 ztzZ4-?99WDmR)F$ebaWG{m`offmMnB8Pey5Ub+2#<<@J=izIA24t%P8a7ab>eyW2_ zM2m?1uX`@B8{UTR|7L5xC*<zYDe6}14&4f6|53ro%Dy>yef@_|9BjYER;;Lqy?<Dy z)$mPMj^aH9ueD+8PCYaIC-$N_^TMr&EbH=&BMQHCl$KpoynQ1^`J%J&QM;c96z`r? zn`2&<nDh7F`K<|JYo1-6t-k$(=<-8v4C=hTtd@=STWe~X`PSn6p{qelZ8yF>cH@t3 zmW<Zq%-;?+{~0<1*S1=lT|4#ZedWE~wJU_T<>X%%wVLE)VY}FAt$OUa(giF3q+Je| z=g!zC8smS<|F4aIz`cJqe(!bGZp#g6c$h2ott#)F?b5e~4%T9NpZ<COXNcTxc<^%f z{{1J*n{UNkIPy-seD}+yb$8w_y)v73b=<rkvX#rka~Z77uH>z3&rn?YPb)NU!P}#2 z4!<*a-WkNS?wDNk?(UwQMmtt+dRxjncXMb)=KP!Cd1rsfr)}S(cxC6jjH`8*H-48F zo+I3MI;u6wxt+TqWagHj1qQL_mOboQu_S)e<g#6>TTdzNyYcrvcNEw6(pCE(Wv^7T zYg{7vaMg1jMX|S{H~!>(|9d!RhFSRTuG-fL4;}1gtO6ZLxa9GM06o1PzaPN|mcF^R zpS!s{-}leu%(tT7q^f<@{xg_fQQl`&!Zq{e%?)q17O!q=+4-O0PWOKXZm-?v#Vh|a zYz-+pyUFyosqXdiwfFd<Z}a;9XJ}LY=Wkk?`fKX3>qUpws}{wE6>3jnkK3tvs>FS> zY2Dpg`~LaqlWYa!m#4X$SIsVawP`|e)XFO<UE=Cr-dri;JMHrIWa-PBR%=7IygeBu z`lxRHK}&_YS^pXMx?a_{PfvKW{X^+nne%CjHx$3TX*++_{+!xyy*vME=Pyrpy;`Za zcmJQWmH!!7zc^dJTK=NTq9lIN=YM?JvrZO&iBIvr8uibE$1qtnC4z6sDa%KeLQ3~{ zF~=<qx%Y9oZE?W2m_26$lev~!RPdOs@@dyFdCuqVqPld?A@hURg{JL4)1I+#O`*L) zdu8aFCk*!-a<1@3s!W{2w<0K4>+i?8&o(rtJPSGE!7|6qOKGx}_3ksK8<bbAc;3U< zcVfA_NM1w!C+7m|vZGBtI?`^(@1EFvM^A6%tftNLt~1<GyAUkx)Nu0-Z;#~E_k6}? z`Xx8*R_4kG>ZVt#)l6nspLP7Ft`YmJQcVf&B_5MC4{2_4|19h4YG3BppqY1i%WdO^ zL;FsK%=2}<vUg_O221gdzrxEC*2EllzTI?S;oaYMTMOG_GA~>2%f6pu>c+fB=C<a_ zoV3WAX)>0ag>E+-&YhUxypy%wQ7b8@^s3+|R=&1>8PyZp^d78H$#Qgh*F23qHZga} zN84Z8Z*|l^%?LWXs@w5O>;AV=x)mA6GA|u{vf=H%tGcY4oHgPE_`Yr5`f9G!0l`w; z<+uF)w5+PVZFc&D?fXq?>-Q8_M2kCIy_r$2Q^-0s+Gy|Xm2aNdDgL%P?wxT&>7pA` zdEpk*s|N2bmugJy2wv|0i$`?k@~h{kJo9z`-o#pFWw2uTTi%7+HW#ij-Me_J-JB2Y z8lu~NHH*#;+oyW>@vY*A{1Gohi{tJIJwNHT|B>N-@z1dl?^f1t$*%X_KK=9RM~5X& zP2aRMt<5>^p?So%{pp6s6efl5zd3gkSHeS+Xw{?UJ8rHjpP5uEIpxwX>o6S~-Q~Mx z-29`fyS!_4&pxq}Kjd@5ZyDCx?3yrbVdVKg5vi7}Uxl-*CcKwX>HBDTHDkM|fzmo% zk<LT>5>m_Trn-0E5pA2sCbqwB!BwfLW^+=fAN0|C+raQ%pv;?B{mR;9>LPc0*ljmO z#di5+?K^ks{2~9n1wpr-t=W{hYsMr0>{Xj)$0==Ib@3=?zo~2bkBEpFr>@L;6{ps? zYK=zHV$UlxO@5!f67M$Eyhq@S&sEcFOOEkAIR0ZoF?VZ}{Ml9h;;wxQOWiGQP3E07 zv!MF;8RJ6@E4Ns#>keiOD`ogqGJCRCpX$AkhVOHqO<#W5@NW4dX3djYnL(*)N%u+} z=P%MPyKpAI?1jji+0N<7@?kTNWF1?TEx>*D#-o+r{SHXn{S=+9{&4w^wI5=hZF{w_ zl--EMaA{($x!v+^&XY+i{T6P^OPxHISMTVaEY^F$E1wx;EWB8Df@62<qxY&jsq2rK zXD-XLF3D?Au`*7Wa>psX!^=YRV8=bqDX#;K4MpC5_E~kSUn1*#x%UI#TH9TFrPkFw zFVPcC+n;yq)%T{OhmY<5WA#l&;KG?dUB$ECdabz?^U<O$(VTya?2qz}cg*iQ*{|Q; zHf=}5_I;abtE`Jz+4fY=sXiJ~xqfT#AII-G%l_%#%-QmHiDn(|y8Ac3xyyaNT3&bd zTiNZ6TP|;nT5R$w*E+p+%kDkvu7?z-{5#bfbvP|q=305k%KfrkH*M#7Z9Dhs?~OkR z(vq8&eamIfz5o5TELWQS#a!vQi%xzFX10?i`@OtYx%Pc}7~`=cEtej)9?9qbxw9;W z`I#73uG*d8RmZL;uhR0!uv|N9d9m-i1CRcwx7zK_lv=xWR$zJAtG?pAGm<5)x4q}P zK3e#$nQ7ItEm!Y#RkY}Ro4Me!%e&L1eybybj`uw=EzeEJ==D<ka=TxIUCnamxsR`Q zAC7K#ZzNvXcPp5q<OFN`!?SlL&J#RT@N9ky&)U?kLZO=~JX7ZSy_q`od6#fs_@16q zP5I)%{q0JRw%>i;vNG52W4qczKL-0>y%!k|YdbwEZF5lbK4(-vgRS%7hlq>iTNId= z^K&P1)cy8nQMX-Uvt8jqbM<=O6SbEQCa-)T8RC?1k5SQN(>&RGYAw%#_r2M9Bf!G( zkj`_F;~WRO@2T&baCi2ElA!N)>W%OGSGKn9idQ+-bf7SXdvTkLX(6|)*N)%&#DwM? zuF1b^us!CF%7?vi4+<D8!i6_I%s8{g@Id+GwmDZU4<uPF>-^k$*?~!vWiCgs`L)?j z6B+zgnO+j@U!wcya!-Wr-xuO-HzRL8WfVNxx>+?{ewz5IX%Am<oOF9>bL#HyMJ%k@ zaV*Q<HK@JMeB^Gtw?fO_dyT`dl}C@6&sjV1TyRXjvci1nN#;>r47*RAJW#RKWuirN z@!9Ns>XnHyYeZ(2%$^|nGb-dviDKz-p;<A$y*IcrGIy4qiA+}aZV+F4XZ9}dt-9fM z(j3u?a+Y@_Kh%%ez9oRoE+TO5`4b@z({#(Hv*}1~3$fgovoJwjyQw%b&*#Ro+5E|U zG6zn^uoo$;;hXWH<-6q_<`T=DYy6K+dvIv)<2#ogKT5LT|1sfLj<{q09l@lh-TU)+ z8mdF;)YB&(xt=DNE48-r*=62{xv`DU?p}^9abCp`b+f70;h9}z?bC+MV&6U=l0MgX zDCUawvCHR6H}qURAeD1m<Io>wb5Y&ZM{_36-1YkIxhS(5N0X#gF3vJn3U=7t+_FyG zv-H+=o%uftS`Im$uP~J?<38*sVz7Vrv&*ZFsPF}Js&}{vwXIEaGW9D|vr$mnmM;@n zx;JFkMbjn=h317CY?m`Kb2~LGygl+ha#tSm51oG9Me116ot;Pet9`dF-IhH+^K-y0 z#tG)Ljf7<+TV6=LK2>_>dZN*F$zAVWeP8+@O}aF^wl7nBnTu$P^_>PAui2Vca@}^` zKC<s&Ax8)6HSN+ZuT0<Vo^x|k@wxLp2Q21Y*6URic4`-P*|gMp<sVf6**R$q%f0x! zxlO`v%=vltMj}s0R<nAE)xYfB>)p8b_$^UnuVYTG_Lq3)rgGqHe=1M2#fp0&q2J2R zM%Bb#Xep>xYBpd0?!bOio<+w#F)mmr5_P-6Z*`G$OT^?=CBgYo4fmhSs^0L~JSR5s zkFv|_tMTdSo+}(&*e)(Ro^jo)jN!RKh3iRe;gwhBg%(G=ym;ux#--T{+f&{<n%h2@ zU^BTjwm;)QrG@;WX+{f{v98>Alp*8I-HT@*XMS&}RJv7doZT)hex><|&Ya`ba=ivV zm)Cg5y!hlN5^+o5@jao_e<tL5HJ;D^F;(-%;zMZ(mjx#Y-O4+rtERXA;Y}Cwz<VDS z-AZj;dv=!mB8iMQ{yBFJOjx#j)3@^T2i|{)*jAr#z2dpoioX|&ZKrP!obz#m6_;)) z+m8A#w{>)UzU2y6&wC=a{>S{p-}c;_RtKjy{%6SZICi|vhG#){-|<a5m)t22dh*~u zL)xXub8;?zjX!;J#^a1y?OzM6<&K6e{Lk>>klsqC*|Pr`{JIsrJrkc92YlcAd8XUP zuMU4~raWRkZxU_2?y^%0+pq2g3g(LrJ&=-~n71PCr=GdQ3I7zoDE+73laHkp>b!l@ z6M5%aWofv|vGAyVV~wY*Dd`?s^SEYshuG~^-;z=gqj~hNK=@})J8%BVmO5{B1Azw* zC%0a(7uYqU&(G#JyKneS?^`nWf)+&7T<4fPtMBQh;;j>G?^mClv7ps-ThzUf)snGq za<4=`DqLC6DV=sBPRo7&-U*^+pV`&T8hj4@lJ@z}(Df>z`PsZ*U(M7E;(28z%lfA; z4_jDrc9ww}d(cYfJu4+v-V&3Y`8%SZFxT(nH9wPWZ<qB3-Q_yE`FGXQAG=?2SN~m= zEMpOM@YgcS{claRrnK`{c-W`zd|Q5fN&U+m{7ck#&MxK^erT#EUhJQrU-hc!R^Bq< zl$myFmxEsM|GUo0f3r1Ao_j8bRJFt^JMoa+Vp6w_PyA;PnqA_v)~)ZZw`|<owTI#u z|4zR7BX)t!?LF_fgJrH=S@0|5L}`rW^6z`!UHZ2Bk5xfqDeua+HonK|Zfea~@it_o z)a>0y9KJ+U@7?<0{;ziVNy*0_uh>(t^|t3O(|Yl@TDr9{7Ev$vPtq&9`c`Z6(Ytr+ z55L`AYX0b9Sz_Yaw;4wd?@+($ZFcOMz3^=A@>|vl%W6znFEeXjs^b&exlG`_?B?^G zJHmv2B*p%dHM?6L-@epmck9)xe9`v5Hyxku)5<&Iwd~fvldENK-d(=y(Tx8L2j0d6 zz2eJ%eRGv${VChM*6!)^KV;uLSy@&*wPv^JKjy2^n;t(|y#4g%>FNFt`p)g0etOa7 zeO<4Ep9r{S{$clDpFgY5!}Gia_o8RjjBj?eSgpUm?TNgi?4IX#r=RUwe_{2vM_20k zpT#e-t+x4X`etA3{7t87u6x9W+nv9fntCck?%=P;+R4!YhihDlTnygbH|WvpR(>L2 zINzYlh@;S~_42IG=Qn(2E#dgLx@O`P4ZVV%4V^CR;tm2a`kx%0o^)ir*EyvjxzOaJ zgsi~o=!~1MzL$L8mgToaZpHT`jjcP2wB}bSvG2(cb1tzw^p@AGZ^h{p&t9*LW7i&^ zZQS0s;?3X7@&Vk9dsggPYM#I2k>K)43KxnSuPqKP%z3m%+C*Y|=>E;yCQH>%I=raZ zY}HoHn4@O=SCf}LxOSdhc+Q45TY1Ij+;4g)aZ4+t*rM}UrTU|TduOWsXHdEK@&~Jt z!6W%at8P8)&2=&qP`Ewa_3qXwbG~z1uHC;XJL;kDS{c_(^X{ZA?4BfWICMGN+STU1 z+4rt-KYnkMxh6Gii@Zb$%S~(J)0;}oJ!9{Q2|f4F7F7?b*F06Vh~ws_%@VCyB4t+R zj;4ndCzWi<yybROtvs`FhHt6)o88(`pY;m%Ed0-KJxllQ<kpLy{7h_D9XDdHs6L@# zxI6B0p<b~{tV#L#73tLiO<{_guj+PB(pk75rjV&mN>rvaVijA^kErLd`8j7dJU+6a zOZC9BA}(e}dv2CBq0#}-dT-5^S~;+DX3r7Ms*_=VXwe+ayvQ^wr!?-l+k+y#)f*m8 zyVY2FepUbBpoTl$db935-I(LcC^qTYLm>(FS93)(jBYf}6;#f-8TIgx)JDTEtFLrF z*u*3qq$Kfb0@LBG+j*@jAJnZpd+*U*eevjXcQ16AYl~Se7uZnI+PLJw$B^or?z_@q z(i4v9mv6d~?;h;%kMW4#XXoPh5Btt9cB|-IUHYG4xxW3x6Co=dzr5Ub^aNM5-1+Xu zib8*EZ(6UN`mW5&Z$&Y$dC2hxa}Gx>$o87MZ}$CrK7rXk7Ft}s8FMP{;Zh&P{|wjW zF8r!odVa<3bI&u5E;g&Gm{?yLrChSN!)UGe#{Uf5x8`oi<ymlTmTz+P#gifHJ%1dw zpOqQ1>4<Aq&YBmjQ_DNu=AC!jcrd`%YjKr$MHF*Ek80bg>a*VqA4#tkd%eE!-XRqe z>$=;Y=4gqvg_ylNwdmse>NmHJ7cAcrnrAaZ>Yk{z*$s_rEbMlTE#HEerTe}nyt!Uf z81l!KBSZh$tcSioo>xoU4UKzd`!3nQTRJB-xv-M|VexID?bX|_%r;38JlME)$%|#j zqAR&fzLnLRW$j#lZ^E2wTsfs~@2?bpiZYhY`_;R<OSI6i_o)7%m(%s198F5?JE&OR zuT$&yUG3eLWqZFkt3MFaay)AJSV}Q$-IZ65S&TVP8qNLQvSr8e+p-=LnNDoKYkB3( zr|60Pyo}erH;Z|+ySmA2$XHw0{j)dJx^16B+XS)m9)@e1)%-dy9kkd!zf*kvlSj?_ zW-c$gbLXAPqvO99rgNMPTy}i=ez~88Cs%bdr+g1z!L{t=?8FSci-rs4ta~ncZ|B?G zA8AKJR{AY23`t8VSRA-$^{tO-m#+q|xVCrgOkT@1d~3d6WENhrWm)*a)_!B39e0h( z93QNBv?@5WUZid3t`(EMOI^=fxn=I=8H-Za9%{ZBv{~bFnfT45_Y!5>_b%&GYE`?O z_h9!d(-7IMmu=6N^Btbm7FhrAW`WlHP5R4S*A)L}nDNMb&fGf}mRz?tZ;NHpG^qCu zZ9h?eep|ZAb<-co9jz?R-rMK+3o-2J`*^u<QZd_$qk1jg?rw>e3l5x7eSR<2s58%e z<E7^fGcG){Y<b@iDj6Un`|P38i3y3zelJZ*E39yQ`ev>aS8{YP>qmxTD~{>TRJGhP zoA3Ap|J6+ow=<sl`#9ZgYFljk(N2TSZHw1&y2zyL{iL_y;m3$x;YB+em#k5J%&Rl! z+9J)M<E<CuypH^0G3`4V_~X&3gE#t_qr!}X)>_B*X&wpB{jnfr*0(+TX7|qfa(wG2 z8NCCymp#n;Hlr=`c}9Z%iHDZjA%}MtYOWQHxc$tjIdWaT+E&B&#Zkw0mz9QU=6Roc zQEj7<T*j8Tb+W;gIlN5<&o*r8;q^1!bK#lQ4KM4p>4#elTrG;Xv*}!Q$lTm^mUmO5 zf8`$^OOYSR^-FptZ`iqGc17_g|Kgc{!(ERv7xpMTyyp;Nz454qSeD+S#q&~EbL3At zbgeOagUpqKI>m{5xtNQ^_TCOtm;AFp?Qy}JG%4Yf>cbBiB}*SGEckRTyk%}I=kcT6 zW+}^;9$A^~FZyn8=<Kz#mi$>*kU24&_q6k@ijIjp*_9d#XZ7t=lwaX`rd@cR(9)|B z2G8bPv)v(=B48Bo#`^4?L*Z+$Bq=j*=K8+%PB2@`jZfirZh;TdzOQuYwtm;Hxgq>x zL92qe*b`MIojXQOJB}Fo2?U>H-o^JwN-fEl*(K&o>WmbVok9%9A0$s_l$V)mk@xJ~ ziGb%OcIC%Jo=r<Ec{k;IT>a9B##67NE<K9f<Fz3#Tz*mB%j9E00%hqU1_GPrxcWJZ zN$5tzFj^&KiCZs=ZdushFMC3A`Td`LS2W&zPm}xf<Y7Zd_U7yf-)--ho##E9^iJa4 z`Yc`@Hd%`((}=s9FX=N+nzcnCBh_QcsqGfAmTFfHvK~6Rw7f_E?#aF))-9`yj5AA? zvj?hFEM#)rm&<B<#LO_V^``dTvxii+K6K8KOJ@lD(PYQA^O}$TZR<53gVlm#vNrbG z=+75odFyxcwZ;38Tp!h^W=nN9?Q`84@oRN?Msdf*^Zv}4$)=OuKF!^7g|BX*@Q?P{ zhohud=~@@NiJflNyzA<8J@lw<fkSi4JT=R0ai7fRvY3jMS3UFM)m!#F<Iw9hvn-u< zxAq0K)h!f?tTBpPIXQe!uH!W6Q}>oOF38VM>v(tTqj+Y{%_N>`&8^!dQq6bd^h>Td z5qtCKE}vbN%Q<xzBCl-rU4C!Z(l?Rm3Yu@NqvPU~jQUlXZ{?SV%?(rg&#+~-1Ivfq zv+P^`Gi3OeHa(Ypev)}pb=<TYFYo2%&f~u;^!)PVQzs@whVvz^nYw@DmWNlbq$U+} zWPIon5|g@jc41g_#mxmP|1%V}o7CveUv%$3L;AL9lh<mg`v0D_`N+MgVFFM8GYJ1X zmpkS7G1jSO*B5Vnv*qre<K?P1Y6VP=M*Ns}Mk}&``Rs|aHM~-ppB>MvdUbJj^$pGc z3~iY!xZ8KtHAk=i&%l1A@Kx?-XZek<+Fmd}@hUI>cRp-;#}3i=wVhiT7aZhB`sSPP z<5bG8*8dEPie*<SiSJGI@-1k}?2LP!vF?#^p0LrX@{o@SJ+UvF(kI!y{B3z@v3$Mi zmRz}W-yUxZ`q=qpZm^*GgeN_}ec$Il&-~?7ruS&~^7`VcnuVN;H_y1RNikwt=LWWe zCY}xX)prYGiVT{o*DhS9Q>b5dhVAcD$Ab5EuHv(Hd&d<iUXz<J>s8&A+bho>3~99U z+<Sf7w$tbIJ}uO)zU9B7-Z*E&KLhi{k&II7Zh5aNK2~>AzcOq=`H>?YD~%UEn{n;h zsg!A^&i@(so_#WDus7jh6FhNK=#z}iy2eI1FJ86(3^Dhg?1&azF*R-D;-%BRn(hD9 zb+T73>rI(n(S~i!ACG_DeIf9$-<E$h(_d^-z83h$`OdN8<#SdX59ioAyWYgTej7Wl z$IKwJUk7-tH+bFo*1F}mpU6K8%Uy@L8iVCS|J<<hbmqIj{dJji;;RMqi=HiX+ok-_ zR;;LM^{%_3JwI3IZP$oOU9@xJO*WoaJFC`L-1_HRl=yD7?L4)RjehoRs}9tO$I2hR zT&*6}H??5R4Oy;-#{@ewEL&0@vCo*AY`D(b`pliIWfxB}-{nqQ>$sr5>tTLC!oREU zj>Q;l+_luny>(rSw|wNnn~zs{e(@>Ry7s<xcHmV-w~KFeceNBIuGQE%@7{XX{k&e2 znpgg3*ix-`i}%CzjZ?nMXL7ks-VqyYuypFou-NyqelIpBEIRh);f)uTXZcxP%{D3H z+L9%iU+=nP^7BP{e}oIWcg@~pzv<35<HP6wI%=-_!^&2FwZ44M!UcBSE8mB#_NkdH z-JYs*@}g7zi}uRRA&Ud|X-R77-D-aE@WTV?3%g%M8z$SSTZWfbRU1pZ-p;-5i}m@m z;EH<Qu&dM0M>s9G@h!2tX)f2VpBmD-VK%Y5uQ~3}$#3V%ez_r3xqHuo=sl~>a#Tk@ zT%L2)s=jr>vBYUt&K^8*iI1;fpWN$1vv-Hs?$LX9nN@b-!!<dUTi*9?R@!1av#jW! z-QMXjd-k_a2<~vwy0rf0N&ob?gJ;v~n@;H7i1}S#cV0Yg|IsD?8Tj?ihEM+>cQ5|n z#q68UmOI|Ox>Hu%ZkN}~TkN`FUiaf}uViSi3D$Ub|NIa3mp7mOkv#Az=Dg`|eUoad z(m=yMmQ!n{zw1x^&AQ-q=~?NNopRlVpB*>JT5Z>lJ5crXqHoJ;4Gu}^dxFKE-q_s9 z2{*i0(f*b7nn-O|w#%f4g&L0+25vmSoL;`FzSd_$bGl9as?1z7i`xPj7rA#NpOdcO zn5Dah`Ezk=m&A?2;^KwEZgY|(w`k;wIexUZ{N(y0F1B6i_9=edYI*AmdNUi}tq$_p zdgxzw<&@w1rfFDhmU+N<gz3)B#LEib=a=wZJM4M*i0`_&Kf=T(=vb~jpU&{sV4wd< zi_qm;f|duFsPu<6r`?R*`c~oY)mc8u_ue=y?wK68<<ZNfpB&RZXYR^BX)eqwC288b zynd5>>+&sEa`Kawu2R}|d<#dpMB=2~yR1#a9+thR=4iZ{y!Oqp>x{Rjx_XyRt!-ic za5?|Zg80ocpE4Z+zZn)EeBAn@%kEsNXO2~$#ZK4#@9wa?lGR|mfBDFVN5As+-(|8F z-XeHN?)+CbGuc_Q9k*sRCa>R;bND~Q;*9C?D%G<>-~VR_h`QI=m%Od$)tTugvz3nL z^kndFzLgf3-Q3erz;?>-%rT}D+0J5mFZj(J-81UW_X|HgbF|a;?V(epd8aH=ShGUD zcQ9<5Q@KbxWWl93b0kY7UZv;UGF_qR9Qf{)l;iSy=6rG9vazdWE$`gje^TJK;6&cP z!Yw<OY%e&sx@>K~>Ym3v&phY2%7o6k;C`gPe7gXfPuk*D65INIM=mP~?)+<L?Q(1H zxwBg)q^@1LYIWHDjoWOmJ3I5GmRI|4_&d8r^1!L;&sW3#h;Q2F747QXHC6LO{+s4k z+xpB+gshj=&YPx`^D^$)#3gU77wvs&TQRR&J5*$@^_r}V#hY`!yfC?+SsMFX`L5;q z1LgBOJ(oQ<%9#^$LglbCi^k2D4(ugjPnKuh%FOxl;n6HVpQW2a-ksxQTY0o3>em(R z?RsCYY&euWyW{tb>KR9_8Em<JwQ+vQe}=>E6-C9e%T~^P>vi<37{A88rBPQqYdj<s z%<e91eIpR#I!k!N^)<)#?p``m)bnfEttk<wcCV}0r<eIS?bhnBWZCztY?tW0-oGxB zZRgd)<-zxZGjA=Hd(C-KY}Rk*Bk$VmxbCcsIL@&$;G|Esc34Jo%Fe{(l~$|gPCY%< zJh(#T?w1)gnqOW8znk%PfoqVF-vO=toIBKAvUjU(zPGbUH7Qp-xV}`{RBL(rMT6hV zujn6fj%}~V=9*EgX_I(A=hfc3QYKkvws@5~eCujCecN~UrbX`z_lB;R-jKEP({;f` zD}MDo?0Ypc;Mp@ZP9L2-b&HhuT*-bMs}HEXnyu9&>8{|nYUN73yIm%Cf;}4wK0G|h z-Y&ke`Junk`@)@?ZxR;C2OijYbfzZnlIwzXZ#%yo`cx5|;+Yrbze4iv&PUcKVsc8? z#9VDKk$rvQEE}U|Z}z%ltO*MH9xUrhZMmBE*=yEpTQh;T7p}*;nq4m5@Xjif&6she zaomEEMeKWy9{O%rea&jI+K<X*IidH;Z0Bd?ew+5}!m2m-&Q5<LE&bur>VS_k?#2E% z@Vu)$)u*ZK!r56J$Gy&18~fbS+SO)eUpA$7;_4>mx$kCc?_2F9+o!qp=G0AB{%Ehv z4XvN(@oIL^?m5a`lX9chWt&AEyK`#!7Q;2QZsxs*73PKu$He?~^Kk2*^Pl0jz&2gU zWtY?Z9u+BwhX}7WigrzWzbcWz;>F7Hsgiwb*lpA<FUj1w@UWb?QcQ&`%a-M)(^U5a z&Pu2}s1&Ohd@DXnG%GRnv*wMZi*f>1`S1S7Bs_<)UwEnQgWDn-Ce2GKUoW-bo6(JR z>8fr1Vh^PjMZGujYJ7YpYq8jyR4s{%4QY-Mr<Iu%*Bn`TDAt^Zi`!#6cgW=*`njPW zC9Th#m3zbUso-RSp8m9trab<4k5}pCK1@zDh?n3z89Xt~?3({!e=!M(IYz;UJ_j9K zD7MEU@7cv!+063_QgZ{3$atRIwBco!r?RPnxt?lAMu`?1yI?u1n$1C9@rhHf7|pDF z=C$nlrP|(RFa8<AyPmBO-`5rOP>VC=*yme1iz;?BNG{uOi|=(~SaR|1u0t<ES-$Xb z$?vUb5ZPvM?nBYl-ZW>S&W$#keP*=#OqhB1$`ONe;-&=~`a30h>I^l{mU9Xn&|KYb z!s7TjxVv>*MlfHGICtsBdO<(_Wz2CWGBX2PZ!ErhI`sTmv5bocEZ50=oioKvJ0r}< zVvR#o^_^RDJ<socBgJ&=;i1F@8FSt^)Mp*?{TS2QEpoZ{+2qn=Rf$}Vrxj+eUC)@T zF0A(9&g6Nw))pJQ+q&oKne1|X<%up66Y?0N*Jm2032oS6+h1^Z*SkC49#qWH{iyN1 z;_QL!FV1|19}|k^z28%uThw~)<6V};3g@IvrW(%6N?<fp(b2c~&#*xEUgcDlym?&? zm(H#Tx%@8DPv_R`3yY=MjXC1_!t+F|?}f8OmQOlt^0?H`s(OzP->yR$8`r8Cvd)$; zQCa@ohi&m1)thVo&Yf*}#c0WL_BlR>(;3#>Q8I7Tcw`}Q(CDcA*|d_^;yR{{1${go zZEXho&BT=s8Gg#JRBTC*c)0degQ@l8wU^!0L$(W*aTRD4GOzj<zD`wbnysMjavvT8 zj%PF9Y1SqAW$|*Gev)D;`E9SK=%Wz3DR;f7h4<}4vo4+8zbE&u#x&!6{n-bVRj%*J z-7?>IkEzCuRej0#?{3K#Z+SNDt*GX9yQddIz4G(!dtA*C53RkB%QZW_!qlWt;qjKY z@9T7L#kZQpzK-6qbK&j9?46u9YL~d&TbP#lV_W!J{_4HA=X-I;Oul{RYVw?y*{aNU zHvYcY7HY+FbG3ot?Snh{Jc32M%@>|8^skd~?7PcnFfUHq@@?+R$D8gjshykM+Ii(; zO-}BiLuQ(N(#x4Q2QA&dJN8-blm0(q$3u77D|6UwJH7eR<Q)E8#~aTUoV+wA@qqwm zakissV)ks+MXD$EKHBmpSi`daPC7@bhuw<rO$&cG3W@K!Ia^LM^=bZ_E!_ssA}fRL z&T6(iYZ3IfIi>dVyNwbN`#BpvEz#Nk<;}JYZBind`=fRkM;x{C+gDf;^UB0S*YZ+3 z>wktd6;|yRCv?kh+2C*{Fl?>s#ku=kF8ngN_gwb6;dX9b^$-P_m3I`Lc^|wc{GWmE z-Rr#q)u;Pic&((ZKQtZ;IJ4NkErGdhsbfld&W)E>X6URkn6Dc6?%V#&E2qtUmGY?M zi;MB?-P&60xA)}em%jB9h~4vSoBFd^-{1aLzH?vrGT+^|T(R%8yGl}5zA2V+Zc936 z*EQp&SsGW5;63|vzWD}DD;~eu+cLer*RMPB3!{+jY}frWggdkAALw@8n^<?Q+iC5j zC;MHkwDs-WxTF@eb-OMpE7S;^A9_|UV6*b}Nw3du7KuMwQ!Dml%j=W8zj;NU%3A4l zth{TyZ1ri4H{0f1k6ZPtj8}O>S?Q&aSJkHRt3JQw>%CMw??#lKOq^@oYlAi6&t5Do z4c}87SP`rum#|PeH^EYBQipV?hfPEb)3LL=vr;x0Z2h_J?bKHeH7DIg!>)bKI>GTn zaGt7#{)zQZHt@Hu=Dd0HUx?wGkkj?r3)U{n^sKIb_)DwMpS9w9-$l0I;^z-9`eym1 zU8=}7SGnbL+cm1M;=O$6?H$51-Y#3+{==_ix!uz8T*WJoCTIN+wJJ5cJ8yN_{O6aJ z*D%$DZK}4umazJ$-|WJgojM_GXCAlnsRs);e^w7(yJ^$vn@8^jF|a(dPq`TpTVL=- zRQYP^O~Wr?Zw%)wv~A1W`go@Orp?Kl%dAee_$BUI`ShYgV9jQYPq8&`w%27(pY^O{ zf9it!O8Zm1KPG=*ob*KO%giTxFH6<0dad(?!{xr6=Q-B)6MFMj&r<)9>?*0fT47h; z;kt7zX=}fp<+#Yne%|GVMXj~vxB5@jHTxUn`SlJ?-T9w^-|j%4i|+G8!}Y4X?S3mN z*R=kex;Xa4-Hhgvy!eAxeWcTsPM_cYChVa?QPHbStunve3QSI>Z4LX!JnQxC-|OZd z@nq!-{~Rfybg9%K%3-If@I6l{-RE1<TNii+*H7Xr5PEsyZf4=6GBJy-%R9O&7u-1W zV&TEJhLexfiX1<go%5!(r^v-^+TM$7*93Ui1SD&+?b7?tAUr+tV(N=c&L)=w+S)dU z96Ii8lcr-EP%LvNUM~Hj>9N(X62%TB-E~U!de$8A^3b_gzLQ<`4+mwc#XVb9k(FF5 zt9#%CXOGC7)A=*bEbi)Dac_;|6f<)p%Wn5cqVpX>-rYagEEtk?<z_wC_aK8qw~tR^ zns??_-<2x{Vv3vI<d(%`o?r1QH`97eT8GurfYYgMui2}l?w`o#-d+6a>fVix{-QCd z*LZSGZNCOQp22Zx(NEroN8RmBl4eKx&0hModh4DKDH54CAH6)b?fm9s<pM6TP1AC2 zn+Wf*Zt!0;E5s~^y+!Px%jTPJ%8iZM|EQV?shF9(>UQ{J?c6inI5t>{*;mH;O=9O) z$Fqwr9OC<E#VV?8HM`I8*o*BS&aFCm=4$*et}n-r9d{~~uit!-WzWnkQ_Z(q%NqO6 zi7F_a`uggD<<@hX3YJG~d}jO7JVN8zEp8cw_Bl_vs?9EZxYi-E_-oL$SvhJ~4ePqH zbFVhaxLDS|D(lG=TXB7P`QuxnzmN6knywMwm3QTs+k#WMdhavVM<0m~5?pq6!<z>d zNjGl?3vgw=)z$00eqHnNN7*;h-$UMh_Ft)+n=ZK1caQh}Td#L)Y|`A6qguV{tJcgP z7t=0o4qNNbV!qpaid0#U=8xD;YvI@ISxE=WpULolI#4sE`qXW2`Dh)zyBxOf`4T4_ z-?dz5Wiw};>~oQOFQPrQHmr`EGADk=b=KbYv|DcaPj`5&^{6(TqOoJzrln?)C%CrC zoyrl<+$8GB*m%45C||^@+$n{--sHSjx+Cox<D0SE&iI1Xxo^Ey(){IV0k`h%dABN~ zF@!nq#f^1uwtom&l=s@JOm+?1{vH;YvSp7B@+4j~G288%bTWHUs7>k19ie;Acolm~ zH+7fC=`4M_;@O7Z$L(6$S_3YpG#<ES%(KXqi!YD&-iKJjMKe=<!k5X+c=vGY#-16! z*S(r-uJHZGk<-)5GAt&k%NM6S=dj+uCeOut__5%w-Pd{YZuSJS&&ocSam0ghZOFqd zOV74@=dIk+X3WmQz38*MobtPaIZmRn9&E|mgckKAS0A(L%fD#an=9xeeKqm)Di!;> z+`#9hHXF|v+&=W~_r8zo_LnZy2q|7|w8hn`BJe*$OWh^U$3?YXCF{f51ofO&uX?|6 z_m-%WQ`<Q^CwK%re$<xtVMX!Xh7`?360!O@NrjU(+V82Ep>mgN;d22q)sz(JWOwOL zXXXl6q`7t$-IrkbXnDHo%2%5vk@t-^?F0_+Nt~FyQ2Lq9wJFty`+gcmm$2OyVm{tI zEn6@xuj%ouvd7Eanr9u6Z@gtN=kh9xM`^MbIr~;zn_<27@FZP@oqwOcD)GB%d+l^% z%dVx#N9LVUU4KB&Ypw5b>4?8a10Ix#ab{%3zDWLkj891KYB!&Z-(BV-3og%*agq6@ zDQ(8ZSHNPBGVj;3vi!p{a-)j*0z1D(c13+YnOk>B^hu5`;~GhEt!nT83=gvcms?Bd zKbq>Dddu+S-O{w4Yp311we04ay$>rc_sYC^=b8<7UuM(7dk2e_)cj}oE&AS~{+B`U zYjZZU%Zh6+vW1jA4RgNnzBedUJ^7jES@XRo-%h`ruxrID-_koTCr^0Q@_X;eV^S-+ zTCW<K-xcQ-w!SWYDgV>$59>Zl9`5?`QHPC9?OpS#Qgx}Gl*qMZnG0{+W^eVg`LwIJ zDxzUlmg$>{@*kzf5p&9B=0&VJHR12ET~b`<xIgo9uzg6n$G6eF<g3C;{m%)`B5e=n zUMYWk(ekQ7)D5rF_OA@f|Lh3glim63LYvmoGiL8LtWh{HL*|0T?}PX9g=Q5dHYRIr z6W(`u7w1KWm)WHX3-5NVzjyYm^Q)`nc4{|5B!!9;1umMO6OsNDy>!~6={g60Om>rr zzPauVqhQvYi=TF?avTcn`NH+=V@lFI?t;eeL6rv*EWZXbDVHA5$f;cPUQ%)`<D8`u z7K_b#MGod}_ioClj(U{4>;5XeY3=^1Md#g?ZCyC~c+Irct}PzgKhyd8Sz~wIGmdbc zVPzevct-pxb5rgSFSfghu2vTJTtB94d}pwC_ZwEB3-VH;k_<14y{A2%U7Xlzyl2@T z*4ghQwGz)7K0LJL;qESmE5%aZy?a*h*NN>eW14Wre5ZORk1ylq%%Z~NnX1>b&w0hX zHJ{UB&RDSVnLvJd)3-`Lo+a^}dw4WDD+)_j_KGy~ccgHyI3{i5AaYz>Y+ueH@k+(B zz1Kt&e$SbpBYSi1^_{D#Pi_~Mn)htljg!kRuX?YNSiJ7|cGc#c)w4fl^tbUi-K}=0 zPTE+v@<+Uyj%N4T_eZu=EIq}%+9b7OC-1Lk{0Ely-ddY`J#STRdHqqn(om1hS+$1U zm5ZM8gzkPFHG4)2ui8&_+cSFaS*G*yE9}tv-r${^$~UjK(0%W+*LG*$mjqk)mAyDR z$+W=cp<s`txLI%bhI*4}8FTMmEUtaB?^-L*jaAd<+2l^SzB}cXLFfYs0lvjs%zTeA zbFP~;S1NO%bZ_;t7rXZyS5~+xA(K1VEyHLk*O9iHJH9wBzxg#g_+!(POYf6^2Q%}9 zoSnw_#&?yytw{Z^<69Dc#QMhH)XTTM)NIf4E%Ahf#vhiBE0M18DS_1m@20Uf{5IZc z@t<MF-nVieO0=Zi1%71d*q-Go-<aXN`wttF-uDnEwo{z{8J2TPF7Dz>bS|@9G5he1 zBbrxDBV9gL?+j&F9%5sCck-q=Q*uSCr=N3Awco`2aq@qLJ1Y;mX<sv(d1UUrI<=)v z<=m|kO9Qv|w_Fz5|3`HjgLGE@&HoG`=MVEPd}4mj^vWZzS<$jv`2y~zY&`qpW~B4q zX%8GueqEwzcY;4p=h#J#`mZZGPE5ZmU_1Z4jb7pQlNP&gyk*>ZdV*<f-@CWV&MyrU zv#M6R+A^CxboL_qySH5??($wU$1Fc>J42c4_xN90j(Y><rw1rJRpV0rAkwJrHA$pg zH&ez*;QfnTZn?Zutp7G=%A7givTNl{x4xpp8~+(@*}d73@0=sP<3B@InR(;%M`rcA z^ltv${_ot|wY(M%8-K6=(L4X<)-#Upw(obj82)$O;%&K#=k(TGYiqizvwi<fgJV2r zrHp?qvcDtk?YHke*S6zZFERhIW@^-3>+$lQ;5Ua|i&q{vH+QM!k?Xf)Ug*7NiFvkv z+Kt17!SkJFw{Dc_`5WA@<a(l*>cy{Dmb0@@GkNk@{i0+_iEgCW!^elj9C~?Tt#mDq zt@5my>$v@7F?ZaAot10$)i$p>yDydD+N1d`%N{J;^<LJUL2&ML@u$mDt=Y~!KQ0}4 z<nmSLZN6JKo|@9CoU-oWUylC_2e1EU_~DV1e0UCz2~%up_m1^4XH9IcCb0i!a0&l( z&+}YFUB@{Ex3EoT`VD$^e~F8^_Vj1xt|v7Qw6jFYoPHO*`CDzt+J1ydck8*Tbs4ks zUhG__zi8`(nUhy_&)YjQw&cyc+y1BQTk6FP&sHwyzFG3D=dXR6So8VK7H=d^J!>m} zwvgL&gNdMRSl%n;Ez0|C=Ve`U<Nu{`M_ohrjCRoCmfJs_0yo>AYL4IV=7{+pw_S1@ z6Lb<E-HXUFeK7xQ`r3=-+hX@DTU)lX`H#wRzmGYI*Pm@ZVl&~H=<^F@oST=wn0;C- zF|XmFnM&Hmu!M|m$Fu1|BI5CL)ZZr+h;3cU_jz~nmgKoYy@o!LI}ZfMJ$ESWW@4Qr zDW1J9HQ!`Q>Dj#h3=@+?zI#8GxfPPgB&epl(2sEq%O^(RgOUqBeC9f?)VSI6Ro_C> zySHy${--GBUgtOMY{3?buMXU%zUDcH#S%7o1c$yUd7^0~7I;;H$*R+pyX^k<;4i_e zu82PCxW4K8=P2zpW_@0N7o5_#Cl=duX{Wx<Z{5%KhgW{uv~_yTx5PXRp}fbx_4Z7k zbnN#orI?LHQC6Q-CCba#icDRe|J>xRH)*y4UxDcCyn~rRtk+~*w!GN%_Rq%krcas# z9OoQ}`E#Y#Yu}uyn|>|snmki#&a~wlp72c%T(x7@27}^FPuvq{_VQ?ZZdW~=tG{Yr zc8Skt4ckY|J#3Tr-qbrOS)saS>z24r3zK)U`Cnzb%)d(c?tz_LSwV^uXG;A{+nj5+ z<mlx&&y(sJ&&-&rn^7!rveY=i-LxafWTn`=k6X?@4K}&O?3T3p$wU8}vpc_L1v4Dj ze^T!0jm&fE))@xw3QX^NY~N0s^!TK(=WkPm%d`73E+6&0QCyssDm*b`%O_vOh0hr8 zJv=n;*N*=TLf;NY`))WXS*7$i`xgI;jnmEflKhfS`n5d2Dz|gNh3i5!F3Tr3us1Nz zQG2<r#&TWCL*3u4{^`2ee9Ekg7&tFn?$}@YImu??&6Pp#WhGzqSNlb=JwE%cPwi}& zxc3hio+$@kMNeOK_tu9E8Ip@~c073YE&Zg;gyXwbZ{PbwB+e}9`PL10^3GQOG5IjL z#c0Wt)Xz0rT`pJq8SZ+{+2R{6KF1)2MR|6vP}l_HmWX3v2~6jwL~fa$#K*pe>Eqff zy)$+Qrn4{W3i)twgZM7iFE`u#*pmXJ_&p+a&(c$IoZ|oR1(WH4Wpm}la>bf9NXQ)U zopzN^#_xE>wNn}PAI@|L{#t%{S$y0=LC+%xWFDx^UAalY)%>ooSIRtbtFxc{4sW?4 zq{BJI@X-o(jw0pM8^2GSTvK~}&rR*}W~C>EZ}Rw51lwmZZh5xAM&#_TQ+(_F_WIu5 zGUeQ}wwwGZ6F%-*6;!KsrBj#XreIjFma~tlMc}QBcGLU6s&em#Mr2*Fc8OiLY(v5! z>GD0@%dB_s^6#GI_vw4JshGvKb8Ev`)-IcNd&?VZT_)9|Yd5uBS@giTTGZg|n!_)X zG|EK|yXmPt3lqqF{@u0LG)7u&arNGtethpG*oD2txTK9c3z_#E+1)i;?b5G{<;<(> zTbCX7y5T&xq%h~J7OzKX(~4K?-<|%^SUP2!w*1+v&b8A!&wdQzn)yeycHUI8cmLFu z+^v2!_1mP&dkiAkgO;}~iCye^ue{V=Aj(Z$>D6rh>d5)Oa!faU_Fox)^GMR86)cOQ zeKsv#y(PFbu)R>CSZm+Rd#r}LV+;?lZ<?7^{jE;uVA=Lk%SGLC9}KRlyZABJiMiiQ zTK?uS|5k&n*j%3PJr?#;;{!Ha<4KhgZn+$`?AGnuTRzlY%t(GEeq)-Ued*g;^~B;E z0f!Af?u-cGe0ViJ;)u|9*Pm)ud-Xn8{)jo1chYph!<^sC7Rbn*tlyPcmztpX_Q2n$ z#)@Uv9v?bzH{@FN!lpAxJlU(>&(rGLRiJ;osbG?kFK>R^yD86R<sbS`*m0Ig%DLOT zamB(dk$R76R`4=c*R)8T%B?fMv6G`@=bLs0;XB74v^iFC1ShZDb7bc`$tl<NnEXrY z4Nzt)+r@Whu7~E5-UsU9Cd}oIk1_)acCg1RxNzKN>mJ3#>Vi1$<Vx8$emXt8`CM~S z54)Y3b!BPehG<s<b7?8Rm$f?6<UYxL-tld_YT&t5-#0IQ=aszDp7AJumR`*h)rXh4 z=K9(HO6U#QV>ILV?$+r6&zXZC94)ycA$4B7;z{O-jEp?3+_F^Db!#K8RNhTf`K7<= z7hkqH^GdI>%RvjOkFDdnB5`g0v#Tpt6;2DQ^-WWhQd?j8?#XT;ecRVhcf=IvE<JN^ z;=7He2@AJ`zrXizM~>K;=kIL7?k{_|sQRVl&!bu<FDq&;FzuF%JiA-w&g8P#o}9Ng zXPjW+-ur9a+e29fZ2M;4e;E5(v;9i7MPDPA=}fPgr7O0s^G{(9<!x&dIc9k_Bmc8c zT659X_WultM<%SgcT4hOezH<(<GGUwOZ=)2urMD9&X_Lx?ru%655vr;mA0SzzJB6n zHIKHM(YCVjdYbNqt2JQ{RCM(A8lF*~zHz;%>kMIqV`BLxDH|um_|7_cHBs&Uqb+l$ zJv`qdE8H9R@o01Dk~M61ZgcZ7Hy^%Q-nb+3F}o}8vNtX<Ybu_7<8yugbl1j*$88iu zRGgQ$T5WFRNy{zTs4o27OY!J~B5v;HqPtehg+6&c()Fp6@tGp?d0AG{hq*cuj~o>} z72h#=xGu1(VanOPZSRdENx~@?y*mUurr(q(kZBH(&ASlzj`QCnQFD_=$4;NBNZxxd zx47%TrKse}wHoXdZf{!d@D=xd<k6P(S}XFncJ8gi-gWbq9ukw(y>pjE_r;MrJ!=&2 zNgj(Y?G`BgsrhnJN68Owug&)l@AB}iT;F;wgKc(S#)I3|s~VnLF8_TwaGmrA<KQC> zZIeJ(;PM`u^6B~A_6kd}E9QrdF0J9n%=^H(y?)QbmW$oL8aa3DP>NyNbJCKvE%&4L zK1Q*Lv;H)fO9bxt_)vA_VvanU4$XH3){CB%`evRhiYVMUZDPxUdVx2}W>>VN`BLt! z<d_q3xAk)8`+!Urv-j_Hf?v*^w0Y)SuU;+Lje&=|7)om{bAJ;{Jj{CKuJ%2HV(Ha; zOyZ;;GJ2=;H7v6|Bl4E5+v(lu;u7(03x%i$i62t#CT6F+DopG4F8U}m=h@XQ6;0M} zo?RDPBixa}v~<ri3+{~zP1yF!o8NT4^^Nmhsrnifn@@#RyFccgJ!E}c@C4&5zW3hw zg4_bD-PRivbI$0fsO*`-zE8?HyVOBE?3}MxPW);8nTH-6E!(@kI_K-wI@zx?PUXqo zUS(c+TDol4S2pRbFPHUi(KcaDo8|FneeZ*~#WPmz-e2o|TR8Y$S;yV2I%W}#v-3^{ z#T_U$m1^#u@yUmW>2yW#A-<n80=t!WH*V_nNqHm?b!maL;6%-doy(7KhoyeI!{4I1 z^ts!Xwcp&8oR+<P`(DT*`?0QMo7%S7vs)KsTOM@vduIQ8lKh7+%xPB*VlB@vcc@|9 zGVQ5s&kk;8A9eAIH!Dh#+H-cRvvl5_+VI9iW0%Uq72C_A@~exd{%2VF?ygP9DV}#_ zJ#jjwfx2Zk+}e6WP0HqHT~heS^_gSxzYEn~v+EBh{0;xlaOLS+b*n?dNA<JKRvev^ zoEYeS>$kFgP017Gd)4VTL^&U2e+!Aos^9#TZK`v5uxoDfjol7cuVfu+ezSIZwZW<X z42veaUU6&O8W!!V@igd^-`y=+?{hb)&W=r!b3I}F_hanF$$V$F*RHX${9+u@zwO1A zk|hlb-^NbQFrGb|mDz9E;gIa=MXpl%FZ;ya9r^SpJUeFTZ?+4{55>5-zv(V8k#7s` zF4J9kc}A{?^EcTo48|rr3YWb$nD3sk<`Re4_o@{q=4ER)7cBCrTwjxAx=-QyDcQrX z7}u%(In^uAVgI7JHT=<q=|?Zl-L*_E_bg9zY}%ENHXK@!Z+H3j%#NMZyshgt+Xd4y z4SAKv;i)&Xc(pFA(S5P|*si%Yxm)&sc{b-_K<EmOuF3f-63>H{U6x*3aa87M=%T;# zc7OQKpto>s=IfLTuR^&QcRQ#EZP=Z9i#e+H#&VB^{~36<ZL2?`uzdGF1-bJ6N#&)X z=jJ?7yc<$|D=k-GyV>G<lG7e;KWh@a+Vz}z%d<Jxw|EyT@~BQ+U^DUF%{%sM3xXN4 z@7-lHyz+6*Mrj?@+Zv_M>ztG_cRmi=ck<wxL*Fu99bh%p3d?wMYtq%KP3-DUch@~| z3(TMCP-mXaJY!8#=(e|uufF>2eWuu<dhWG%JB+;KPgn1>nxM#|oGARz+T@gO+4&8& zEiWBvrhc<+IDdRod(GOE&+#{-6$FzGGC$e=cdqMQiA#b<-|T9r^V$&bZd>f?^ulwp z-S0Y%hOL${D((2{!n<g5a?nj@wo6&<H9k#Z885E|FZ!YEIz?IA*=Aah<$71)FENX+ zZ-}!MtB}1CnNhR5nEU(LtW94pX6#Wuzj?Xe+3KP<Q>u%jI!?+wpP%DpSynVPJF+Bj zd79hnzXI{QWGC$^t6wzl^oon6+9%W8C-oekpSUDnZ;n@jsO~a}I<+U=5e#}CEiWya zeLv@8MpYR{Y|Yd=>MP>6C-1$d<8(-vQBSd1X_G=<mt^l+N%7}e5(zR(?h1LTJTIMn z-1Z5ZqU1Dt*K~Hq6HXUc7}Dh2XT7^s&iw2@gU~hgIaA7G(%sTO1!&rfZOZFo7m8h| zb*9p4;-ZNz4}ZK{xg+Q3(_?B2cG@p8bZU6Qdr|b(H4~Znzm(t2x1W*La%avI^Yqf> z4~D*8@$GunQ=Tg{tPHq(q_}fav2^%eg&W&dr=R7_JnyJjeXLpXgzK6`r&9X3GGyK6 zPP@oC^GWL+&Sz^pU&_vzvh(_nuzlGr^EPciJ&P@H)!iUzRfb~iFK=GVox3S4|7w2p zgqhBp9r}Gu-E_9RmHMS85w)V@)mGy(i!U27UHL1{J@?5?$3v4B{PB4FUfnIB(`l*} zyWqvstYuQAb__c<>~|1hc(<f;>O{FjSA#5j2Opi(8M=o)ZIlgo7Or^K_Dz%IJY~*J zDm&sniMaE5><KPpxW}?GdnJRh{-%4YS^hIz-m_}L?G4fsXO-3jXr41WGBf1le+CgA zJ6G|C#ZgLfMU#4MBA$1&9FN(;`@p|5MXFBX*VNsa&(?9;T-nX=iKDIY63ZIb<<;i; zUB)fkQHB`>Cw~^X%L#VR@nTcSm~|&_x!QBpVqNxv-r$tpzg&AZ87oA}eQ3L!G4afQ zhE=>}N4}r$>9p9T<{+`Hsd`u9cIGc}?{_a#d$hDo-sF|FtMANr+3SO*p85G|Zs5AK z%RW~&C^;0Zc)MsVmqnC!)B!%vt7pCZ-%Gc#&TaqhXY+jblJ^~@e)``XpJ@piG3lCW zNqh{>oLV(Cd)K{JD`(5RYvoVBP_6YmY~jje%jHZr>l9lKl|MYH7`p%K%8YL92k+<H z-V$}sbBztdd*3x3%M-18S^1BgF>mLXSsr-O_U~P@M9GGRWq))xvMk@dC;PE^QfuQx zJsFqiXU!W8dJYseTB(2E!F=O@l$34?FAwvh;-6}>uB^NE?%-LA-N{G&T=wZ4iEdrX z?yzxp`kD&~(=9h}WlNnc5m@-;w1Yu#c_Gg%kNJ!KIZJPm7iO97diTzOEmNm-?%65T zx0KzX)c1%^38UbLX9bHCcAs=FpSC0U)rPZMCv@&(=N1wW*}%m2(p+Hs%Y924_gy;> z@adu?%d>+5_A|Brt$86`swW|N^5m8o=~doSpFGZcsK^xUvCB^XqQD!6e=(E0duQ>n z9b$bq>Dl|s-HUFOy7055ip3=rx%0aD<VoyM6};Dz64T6mCs%*E-I>h4VPA{11j{W$ zR()@`Xk;<F=DRXpl5vrQ{36|hWhM{zbLCxjoqE^9;PforQu+2&_bgBMoeTZbRk!Pi zYZtKX*xd1Kb?EZIFT0mlZ;U#&;O}I^dA~OI-ulnL_3qA1WBml5;+5@DXAdmgazo}i zk55KK`=<F}d~f|eo8Aw-nZ;;$_sueIugYR=&b?+2op--`dg#i@fQXBhD{r~p_-(s( zms;l{vjYA84jmJT?|mgNPqhcH47`77L#~MRt^W+%OtpT`)~W^P@8(~g)I2wKDvQUG zYc5*Jxy$#&iX1s*ZEM@TJKJY>hT4TTrd#K$_dZQdYk6+8&dS1EMxY{bTI@R2B*A{K z)XvL(E2nwidYF3GJSkiM&+(0x4}Kq$F%A#CXFK7{j9ZqcR%P_Qx!oUHp|5)-rCB24 z_+^Re3+FejlKU=wTX?BVZgLdc%VOb%Wy~_CcWhTVzQawp$TZY?b5{R!&NFM~x3)#x z6KYtcZOryz)sbgg``+Cu=brMQo!N+Mui6!sd+RhEk}QgKBiMfA9$YoMv)6)m@hpLw z4laGx=|^TORqyA}V&>W7BP-sf{xDc4-^i&<;keI-USa9GCk`iE*syK3X3{>*h{PRn zcfX6K`EK7hXZmM3x9!1A(bAV@2Jo=naSE^UDE*<Db$qu$Fq=(&>75f1tx1joQeFy% z%SGpT-Oc@{AYPHZb+OD2hQ;Z+B6Hq;7ut|mDbK(yt+^%Y!TL(qcfxzpPV4Y?WHUHe zT<^5V43=Cw^W3rMpc%D6f5j}O*|!MHdQ}o3|ENM-bKl$Z`@RYEU3kdQdwbdS?-kOr zH;!t~j+Fb)u$xKqa@(OJ(c#i}brVAh_XOv>3()<j@ZnD2%*?BdTd!2}++1k6`|i0( z!oRmA<d>)G&YGqixb6{SNUE3X`{eD6T=NTE%KO-bz21MD>@Qq@c*%+_xwAvsr`JjL zZBzO8`CjPzGrRJF=ZD_VY(J3g-)f(oc)at6rtSNOjt%oZr*C`l*iZK0yE*9+WuD85 zj6#}U+5hI*JmZWSU-d$^z-oz`(<j}zdQQ#nv!h?GI-AkVdzqH2)~&X^^Kfy`vp}{P zJcsuNF7!JedR2n&OUtjkYK3~e??vxcbI-7l3f)q;M^XOHgV~So{Z#yOtlV9{Q_T9{ zjJ%cS*yOGqH4|6gx20>I*jDkjnQ5)3o1ZOhulBs?-10tST|(m?E<Fnu?nTGmy%PO? z%lGu<4efOy{M|0kWy}Rr{xOs^e|PYUVmWq9_w1wQ!#QWV?pa^jFfX!A_i|n$`+-02 zRO30VOmq}HW_z7_ti6)y^90BH%oVB8x>0k|JK~($CaLSFR&TE;O*-zk`1hOW^956G z?R{!B<7^*m!SVQt?cX8_HW*&ZKIkrbuC3qX#vvXb##Ikb-o6&(Hmzw-MKQ+?nUrm3 z<^~(&^zj`%CO5ljuA5AFebq+OBah5y&0JG5KU&yPPgGuWs#$kXzHHd+bsuN@Iz8`9 zR(82=pMBVKZ4cwjWoDT>n0MUa+Uiw0L+Z2ITsI%NZc(e-#y8tyxbqfgm9pRNk%*qU zEygN%&gH`1`7C)GcB@>oPG>Rh=5@(se3Y>4okyQm&)uv8Z*=#b;4o%R%6asJu`54! zv0PX6uC4k-%~?S!4hG~IHY;qH@Nsu}qSN&9$m1f(t#@aImY<or-|v=q#;k7_%h>1H zt&;xW?OEpKxZ}~ZbziItq#q__r?5Sm;OKZUbMNH;3=cp4(PMwt;^Ow*#o+!FHStX= z+MK<GBVM%&yH$j=v&B80#kj=igIuXQYfkv?z7<`yhd**}JSrZtxXpD#%0~AyYCH1g z6>MMPaV~sUzU1uXI~%u)9ow*V$L$F#1ow8{XUyMpxOLCPiY0|6)f=_zCT}dxUdY&X z@ex;gS-C^Ng~v4wS0mzgHgibV1#*0^w$3x3^IZFaWK1ZRpOnhBhs%VWx6S=j9@Qqb z^~LG6ckNDWx%xi(Olym~_u|$spZ6)vxVA-jvGZoX{|s$)3OX0wT#m}TE`9H_SVmXR zx2eXfoxT28YlkoS6ZHPbo27OaKU{ft;oYl1y}6IRWz4yDb#dU{XD_+rTk@lMy`7Gj zWi36!X1#Win4x#Z(jcAV*ZBgYGj7SB*|8?R`}Qo)lU??*+q&;AU9oZArBbuUcWc8J z@o&}0mFT>e;a~V|sqLIcjlNfPHW=R$DeJy*iEE!Y`{gAs>MKHe=cn!5@a}2Sn&^8B zg+`Ne*728FEKtyTGg;|?r1n4gw3R-yr(LxOzS(=G*4lE%a=jJS|I}?Saj{%kb8`b< z-3qDOX%~G2CuP*#j#{rgMW^Isb(`POQu7sT>0C<tP8~nF^Emh2oRH_AuegLS+<a_C zbZOeP?B{->e~xwEa++Y4a4)Z@y<F|S=rpl9*>zhaChWbN#d9cKRIGnhNq>4+?i<ZJ zEb_t0H)PqQtp%o<{GGn3FK@Bey%p8HQ+A}be+`X$rK7ZX-L?6f%5*0!mVGGu=IL3E z8>?nVY<%Hr)thnQS$oCbO>>^fPg$`tI7{8(pwZsjwM)(|xtV|M)`s4~IGgF8ww+qr z`+U<f@tTQ;%0Bb%HF&JKUj0_d+z)%N#eG^^C2Cl2EM)&tI{CmygPT&lYq#0-#s{3r z$lkU}rC8$M>btqeI_$q@vYON`(Xx0E#h_LFcEV*TtGO2r|6u&<%c3^_yZ>gh{gpf> z-~CTAM*p4tt@!@x==0C^KeE3$OQJN{g@0FZ|HkT$r%A%eX}4a49=ABXMDSCnRxlsi z;-nRN;$JR0f3!So_Q0XHe~<j%OZQdV|DHLvCFO(9@;dn&@7CPh`Nu`gAji7wZ2!Mr z-}|$&>wi7;{5AcG9^Y>#)!lh_F1(rLbN`~lx6Lnw|1$*TtlYTo>hh2uf1f4Vvu`nr zN}Ny-vX-T(M)Oc>Zts^{7I)(-?|CFA@F+c-z3jya2}c3fXD=_ip6zwL!j*c@F+%!> zNBH>#O#yl-pGsH{-G9r)aWBZMF!-A2%S5ZJEy5Gkm;`;#t4Ey8-*|X|OM>A-v#AFI zN?Oe2(mjHHnYv6Yx{@|~R)lWvgjv!ab0RYu|45&>WUTdD*DEFco|)*1o$J`EPFb%y z@G|vq`_y$?)lb%U+<&`i%Z{Jw<{CntfxC0wtXC+Gyjv0wVe{GTzU#m4zt-j<H#2Wq z>19uN{l{jv)i>EUo1-r)>)lhd=TSbr>f+f?yPn>BdeU{ze}?W!R)>ss9+K=kJU_$g zYplqGD84MV3-y{O1&$m3h_;9>vRd$JO3azu`39TZOAqsvx!wG*+~m#M)pGh@!V=`V z@3T+*$$Hh|=7+Xh$)=re3;t~A$Zj<k)H!DSV#DEAVsk(IcAm)EGHu(p>x(K5<dkxl zc<P<|#`z`cds4>zW(}T=sb|F=mTpxvX?QlRJNi{~!>WIc+al&VEm(d|a9ZcV9d4~Y z0{1$kO6G=STw^Jhcbj>lL8ofjo3Dpu)!thl6P%U1>}Lb>y5P(!3j?oqtM0v)`#I37 zSE{KZ>m!T3@P@rJT#_z7S>>v3@o=J&;K7i~TG=7TZT#vw_U}C6&M3LCPvhL235B=I z67$$%R!vzMvgFb8iraQ8CU8GCVEWI{TmSHYU|Ca0&ei$Rzix88n?LDCOtHG_lHw^! z-0dfmj$HdXm5C=?>l~k~wUL39^2vhfMK;qsOc(K+JoxjgMSaq<O$~0|&d-(z*>ru} z`8>EZF)yRtg5%11-%>8`mKKB9{bJrK%uxxy6l4m_Do(gCBrZ4I<C7tn?Wvb<ILqW? zm*3H%{|vkCt+?K~G4ZU}rpyhqH~zFJbzNUjFxz*jt9<c=eBs}EKX-e-x~AT=SVvU< z=(Pn>m+MRAI)WBBX0N|DiG|;0LiM*UHQvMb)lXXAJsgwsZ^b3i=z!gNPbX_>Zu~0q zXXA@dv#U1`7w&O=|NNrme}-Psk565D^!h_$e^m7eAD2>lc=HZ}^;MM!1&QyLht3Hm zwDKQH);s&)S^vXr4v(%$iy!zj<<;#{y@$)nSv?Lvzi7Fo?3>}n!+zUde({y>OpWUO z&%oQW)0vg)d)*HcC8opv%#M$fe{`AD^S!j6r#^Rr#c7Q#?<_wuC~mr+T~X8MwnX7S z!%_3}BlgoG^*E+ozxmqZKZA4$%dei>5#K`oC8k;mU$h8W?Yp%9u<49?7w;AO&NE3| zN?jhUDay@xdQa*}-}~#N*O&Wna5GCsXYQO?ml$gD%__0Qy+Z5hi{_agQfE)NWq!@7 zHZNTCj$LWxv4dL-`-DzSm0xag`K0N)YKDT%k;lZuuB~`(@xE)TO4Iz#8Rrd59H&No zYnOg-wt82o)|UD!=02-`xQ8TX30*VX<nbx?x0%+O)emdEitN1qX<R9l|5ba3<yp>D zXGY_;#gATGDBo%pJN5k8ho6c=rGxX=Zf%<&<H(!%pTYIcrJI`9YHb}Se)d`AUcANd z+Ctw=7nChs-z?pd+dKa`@BG4z6`x<t`X0E{Z+4%+tL5A^le;s55Av~|&1rr$Pjgn% zZ1>%n=lsf@_ou2I{(JB30jcG@bFaF(eN3{bOU#x1>*cdXe(i~bFTRzjzDxG2`Mp_W zRu%GsUGUDuoN2$NJjk?~Tlue0NO{r0V9psw%|8cRGhMUHJX&COf#gHxIg7pSUe!9V z^XSG&hrQET4+!=c3ud~u^<8pMd0Z=@r}=w!Lj&_pHLEWl7_RNM)_X2kagK3k(4S|8 zZjH|K-Yn+Ru9^6sp|h=tn^kb{t9jf#2im6H^m{m2fnBZLOiRve;-n)io=u!n|1&IK z8M)X-_xf4hLo$z2do_Ys+C7<zPWgY9;<3^3ty73jo5<b%VvQ8ft-2NYvu`(w&AO0z zW9y>J&lU?F=u<jAp`1}t&GPP@b3Y{KtMD)v7IepWD16wvvTfS=&U62g?*^S*Q+{|4 z>#3Dtz3R?4d5;9wOT22EUGajaOF2Dz)^#%jarFt>A*($OpD4;>zB{4l$b7dAi;i#p z<IWl3c6IYZ{(A@gRRdctt>3b5zNGkPm+ulUA2#~SUrovhSl<1!XyrwV+IxPCA@3KS z;k~m`{FCdM+tzc+Med0|{J3R1n~X{Si*+~dZhAMD_1vRR5i1z)G8Sv^z0I+5vmi6` zH7<RTmCSn^?zFls)k%vfU&TKuWyj>Z-t(TlnjN(8*zvjF8utY1Er~er+Qc$X=v1`B zor0YEtG>6cTgkqUH(%wE#0eRR8LLcxTReQ6ZX$bE>hDuKj;o<7!{)Jt)|j@W2uEn| z?JX^v);sG`)w&-a!%EDU7Rhe5D@=Ot_R&{y#*O1gZ7M|$WL-WIsmHE*Phw{KgQViy znPx2o!O4~1n~mDEa+kN=kXX*hXF12apJm^<l?x)`142?fb+s9e9Ps;+)ob@6^3t2g z%H?9m$`siWMIJXyo>gMy9Qi4t&}4_%5uV8rdTCCF9{MfeH?_IV#?<4KJZp!<EFF)N z$@R=`9~jHm=`Z(7VhrHEuYBZ5^c{QA4SROFKl$#f9uku-5PqI3Iq7SU#iVubgjYo0 zn0KD_VzCR;-H#eO&s~b{&`8&Pz3h8)$ARo7i`aH%)ekEtlulQQx><8CrcsySiu7_Z zFTPqaMnUt!fInNBW=N^HFx|Og+K||x_pJ5%mqQ!3Y}RPn*l<9NdBXIB%*VwgfqVYs z-&2USaGSk7R5Ea<{ImUUHnQCoowM!^-<2t{_jn{qwc9iw-p#gL=Q1N_W$}65jcYze z8|>bmcldk4isjP(892{|Cf?MTC33&&{mS`^Rz1I9S-s8h)Z~mSv$p&=>vnVHRqeMT zuNxG%G#iDyvM^ix`yP`(v3GQJQ}F6pVMk5wT~C>(owL30PIG5sb+2{og0zhxqL2UR zz5S_f*6RL!=H9DEAC|WnA6DGCYSH?#J8JUYM|NN1d%3pmG3Tx_v1xneexEesq2E$5 z_QUg7@67uZA{&y__wklmNE$;;%B$7Ee1~53wf|>Wl(2|5qJnR^dCRdQiTND=8Q%D? z8<tr*tW4vcahA*4w)?jJ3OC1`b4z{Ryff)2Nbg>Cb47g7k}Hg-KlC&2n&h2aStr}` zuDsSO*?QaKgzr;jo-$ZV&U^d*s>yCXb>Vy4ik)}ATlv5s!fTHC+(*Y1BFvNC#lDX2 ze0clttO*AWOCMNv;@*#wCms3ko))U<=X<k!n$Yn^l_>?b4HX+j^)hPaoOB4elk1*$ zI_!lk*P(C8b&`iWnT{8l9Wsf&{rn-H?}}%K3@Z9Q?_B#lV$PKlkM6b{^Jm=08<JQa zt$tauaSvBQri5}mmp}^R6dnKa^4+Y0mN)DKyFa&fp1oJjp~a`nw^MVn#IuKq8TYzH zbd<xJOQaZc_o&*h*x9;^W7dqN+~W5hS{)ag!S$cvRo4#77wu1T4@j<2kZU|xGN&^j zCU=H&<p<t_oPE>ZaWjPWZRecyeaqHAA(uUje@-<vD?GsxlQ}2qq2{{(3<}DsvJZ}2 zek8QfUEq<T*qQCCCyE?qIQye1Bk{<m)17|&dc1nu*v_Bzo^ekiyL+-k;k%hD7|&Xs zT^Yu?Sth4_-~Gw&qwa}B2dy@no;=Ndw@+ajkCp2*b<=f;?A#vydGCHaDh`%7cIn8) z<56=@v7TMnv+GmK#kB8&2UqdxBz&L5YB;NU_ck`>NBK9M4_lpHw|~w9gS!pO4@k(A z%bNRT`@|cB$$b~GdieINb5_qAj!1)!dj%y<hnp53>o*UOx*w*OR@|E9@IX#&b?3C3 zN4H1JV>s-^eCxf?vdC>${xiH({1$s-)${r<J>0ww5r%QgR3bd4+aC(CJoDsYtGVDO z28}CE8pZZrC=-7td#`iH_jq%bXY(?v-<5d!=r8%U{n#DvpUlkjcema?D0p|jfWaG8 z^F66C`8m_RIKEvQ*pTXTImVJV<l51|hWC!Ugl;YVEOu&INMWDY&K0}&WiQ>HleVF2 zjr2C5C1#U1a5ovd{ypCR$EjnbN8;ffxAI~{BijyXdA(=ON<Nt6)PLkh&h^VKVi%u1 zw_H_Vc<t;$2@&Rwd#o#u7|mo>*#AhAZC6fOxb&@`n=`MTwcfpYi$O)yt>q@knYX0e z60S~(^uD$AWykK+=v&Lyu2XfpXgYUsS7Y2#={p;A?`K#(7t52>`%)b=d)CFWEAbz0 z=dx{Dz5UjAWslr1@c~iHYc`hWDpkz-67?(f%DKdKA$LVJzo)!snr)ifcCOH6>j&-~ z6N?M2u1QQNt(~#M*uaIw;7wzj?w;+(xNnK?UL8?<Z;L`^=&CzbTen5u=zrG1Wf+nn znOVB)(8G@VdllCIXOLh&BpDR?`;A?B#LW1NY)hfNZ?hg5m743`-L}NfKm3+_kRYGP zYU609%(_#@Z@ty~t>bg^k=xH1?sBI+=k!T0-rbVP7$G{bFOgYthN7hS>q&Pr^TWDV zpI_m^Ci7mAS?t20Z8Z<$D^skR!u1-X?s<3JI^iByJn5mv;rksgyp-bDofZq<mjA0X z$N%U;wbxaP=e}xlvSgKL;Y)Tcuo4i9d=}23Whh`LT$(Q~5-GOjfTUv}%dw?qkqsMe zyy`BG;Y&O*{mtVuR`*r^Gb~sa`$%_9cXrNh7ms(W?voiMtg~nNuADx{@KoUUYG0)y z)z9*-yZ)|xXE~FB<&L$h(WU&13fb^o-<G;hmz6GC|F=|YQ@LU9hcLO1%V(NJ&rUV` z$#eduHQ(jU9p_?MSe5pj`?&D<k=Agt&YYrY%Y(~~Z=P<&E$8Na=ThGLreObvhfi;2 z;go;TUil_#QgKC{(0iB2_@vt!)4JPcx+I#!867uT8*%*kuEJGi?YEu@bWLsS>Ak?5 zyW)6zgv|{d({F8Wg==#5?ssuM8X*06iF4C&?@YbJljTmhZROgn*|>9aTRz_kZ#RoG z7g~4w^;XL8Hq32KE<W?|nCFf%LnA|`LiK6CO}Dggv>yn1+p(o4@nOA2-=^Mq*R~&R zH!%?R{4=Rh?<eaTKSyWH=@#<>1PfW*O|zTy&jm`%wT)?Pa&%W>x4GiOx;u2s-JfSC z+)I33x~N^;KrrJhV^P(&)O_o2`KAXCPu#?2d_g;?W}bI+NzBA~-l}b{zq(I2nRwxO z>g8FsGv#M}a(N<n%`|4ug?;ip3#8*FDBD-)^}6ltU67;nH1BA{M?0ojO%sn#SQ?bb za7+2ZV%?fQirc4{$5u;b@w_`{e5i7TwQjmQA6K#Flbk-Gx9|Q=v)^>!o7q&yhsmCd zbxN&KTV92IPtM5ImTP&k;jM*skHK?W!4|2*fAqgbtlqpUU*YF3wMXk?&zr0}r5vJ} z^IQAF>!5WjOs~wl-g!Lm5u>cI!_u(HxALPOIrgSWMXbp({^l$l6;o8r{-Wo?Etv}` zdmCyd6fW*O_e<^J&CE-D6S4(7f2v#aSFz=HKbw8`&B1jxsSlp4zLIv{cdFL>=k{Tr z9L|c#tSu6JuXTBSR9iA@`!ZK1R<W&XPALWdUe2J=`?HdvN-^?w*r^Pgdi8x0`!5F9 zYEAXol=bGwBZ-}-p4$q~zbiJKr>#4acXfo>Qk@xonQLdQwG`juS(Itb{-`JN&Dr*o zVXHir@JKoDnjG+2-PQKCYw}}Owr$PZ+U1-D{pugSGMd41a<za!{v+A&jH?~9mN2d` z*qF2RTTbz@Zyp?Tmn}OTwtD}Ilnut|H`_kQ&AIB<#30TfeS8-G&DFCcc6{j6zJKjc zyqi@>&;qGCyAJ+C40e_+AAS|x*m%zW%?7b)jjK(yVlGK`spYj<nchA7+1&kZ?&N^q zI}Mo1*b<p1PTG4rqf>a_3&*9snYkN+#5AVm?EUO7Gvm;POE<KFvi&}=)&CH*&P@+4 zkY3~XTUAMOw&{;8pZrR*p6&iq`&doXYyAzW%-{s2y=w2>HGIk+yf&Tf_LVto?uKKF zT}>sp_v?9H-My-X|J24hxut21sylUWiLTrs$G*vZ&YHw4(H^`Xo-sVCQrp{~>$O#e zaS2Pq?pqg5B{&;)A5!W&eQ)Q+np>&9vb|d+r1g$*yDwo{zH_B5>r~ro7t3PA;?I@* z=w4Z{jQvWg+baq4$#Z?z-9P1e(0NyZY|?)Q71^-OE5G+N2eUacz54pv=GlXsKB=#B zc^;%L^}D)lU&H*T%q5za*M>d*&k#8OteAP;%7`?%jNT^^zf88R+Hr(y8%Nm9l{vRn zBbZs<J$%Y><<^Q#yYJ}RDBcy`y)8-Y%+f{8j#EzeKAf>vHBi1aPfP!9tySgE#X+mR z@4XikOkvKLxU!Dtl<mFqu?Kp6_lj~&`FqcNBI_hsnTyp4Tbgy4jZC70x6My`TWZJl z=9)#RR>w`-*>4>;3)KspepL9`U;f?tLqRL_e;l7~{d&<-pPasS;d^3646#pbC+#)Q z$h<h|Y18bi%eUA+YlYRGGF|cJwrxQ1%4qwqPV>$^3taWc@QRH}cCDywf6AI$61->2 z=RVyMeyeO%-mO{e<pILNmtB3Xu40b%dCVNNd+);Ysm6~}rwTgltUKRd<9f@~b?>ul z)t3_;H>tc@X?vcx`g@dL0?+2S?@70`-UcLX$@4cc%UvvM$Sk?sPo_%q{kCIa%2sEN zD4&&T&c5|Bc+0+4rj&Uz75+1%o2|QYpVjNb<(Bl6V^<g6y^wfv{rR)TyK>!_El!#V zPEyZYcl=!2g^j#ZugX4FVGvyOYTb=OZYdUi*FV1waLiiI6j-ZY?Yeu}UiZX%u5-_7 z9m(Qq%i+~~)h9do!&&)9Ou{eU?|iuMg3pX+v%XJfu+U=X-&AUKJMTK*851|J4Q2PY ziw6luHZ9?s6egZ4YPQVnb;gzE*P8cR*KW!A%^X#jb9QA>$>c>MuiyTTwR>?mb5im} z!A-f<o_s7j<OHA1_MO3?d%tpDtnjMc>9@=_yIUCCpH*J!@+Pm~KI5g>SKTX<GM*Yg z>%8TCdXDW4CjV8(u3a|GDG1GP`RX)#*1JD(Th-!bS30`neEC+qWuBIP>c8yFTV;P| ze`J=u>F;8_Kef^4n4t8D?>X;gl_*yUF5Y}uf2DWD<NQ~P_KAJ!nWhw5^WcDQ<t?4( zJSH!<N(hGwSllu3<vY43mo@6$zBh5flKU;zw`dfoT{fDbd2>fz^sLD}yB`*p_)IVC z6L}!xruN=>Vwsh$vXWGv><{rnt<F6WzxQRBtuQ)v)NJjwzDYR(O6L^*Gia=uP!M%s z(~CzBWc;d?yezyWZhX+nk+${?{HJ`ov}Hy{?uV9NQzV}6mwPN1EE~D^uA8-yaYP$e z@#Iy~TGh@sea~ecdT#piM%w&?9SXNLhaCIrwnlV**fhyWS2A<H9(La2o2BxW^{eSc zH^IP1$M<L$u3hTKsb7($BB}Cj>q7gzOB){FEuLv_QoZQ<6@fx#u`pis&zdH2$7XwO z;^klV_O$b+Fx`x~pT6G_d8xGf;AW>~nE^~I3*KwY6)$$1on`Z%L2q)TxlexCN#^@o zcu%^1nd!Or@gI{fzRT~0R4jXQOJzldlD}~8<-}*}kI9(4m~*YiqD0YZdd1^)V%xs? z<|OC|-O;_Lm~~N-B|4A$u@>WjzcOqcLFL*>nxA*hEG$2={O1Joc9jbp{2eoWzPElk z>ifzspTqCrvV%e1QNpvX3%a~G(7A!n?1=EgGsmraBlzX)D^&9X>x6D*e_W|9G5@36 zTw(8ah7Ek~!XE^4E@xcM&bCvN2~*q7r(BgAedd1k!<LjV@x+9JyE^6(D<0Rn%U8W> zOfD{;^MXGyD0Ro#jkABPdt*B7y3o7x<@eGaUD_CYxcT$4-FwOekNf3>d>4&5R<R|b zo`=QQY{8qt3sYHM);Q*U+Q7*4d3GK{Os@Ee*~|NQZ%>?b@0MJ>_N?B8ebVQ2H%;5x zx;BMd%W%gh)wkNrt?m}jTRS{gsdva+w(c}|*t3<Vl+Va~)^T;a$?>6&e=d-js9U_z z;+S~PG_D4-HPw4!uJ4;w5oMUb`8J`#Vp*InSJu|6yALPH%{g%6rO%>I23OvlSW>yr zp7rgd<6cYU<Rv2J{1IL#9-tLs{)p+7y71$IV=Iz$>fYY8)PM5$m`+Ua%l)#qXUENW zHd&$~w&Zfq!Rd!JcpM&F5?&+S62WpQD|p#khS<Z}_QGsm-FdE;dss}fit}__pFO{I z#=Hl&mA+Zc&aX;XQ|f$pmJZ|DWWHk64Yv|kzSpxjxYy*ufpafHzPBEG{o%LRZO5-S zHzlozIc;=e*1@f>la-d2yh*59#N7At<Utd=*=pwZ+&VXJzMQfxb6V~7N7AkD3){t( zS!d?Fxten;b=T*xTh`w$K3<lkcD;I4B5zyZ@q`sYizB*1UL{q_s7r>l-n!0wFCijv zk9EI>^Zwr=2T$Bt_x6m=lJCci=6nmOIB?SZV$L}c-}1fF4rgTDHtXFs)#;b|oy&~X zo>Nn&{yuc8+EYd^?!v8?hW9R4Z!nwdo_3ehcjd-ylAEpXC0|*dTX+4Y+<%5c{~45e z1)E+j>h;o<jy|z;^N!f1c1z<kFO)_ZcPHsueAN5Tz<PMYhLEy%D!+19Wrr+t?495C zYO?e1?N{x-?{QCV_`7Vb)9LLct4cglogTi=5>C_F@?q!Ep6@Kyg-1g~8Eo$wxXE*U zFMavlKlSaTV(naaf!f>F3(I|O%eKvaBei?g?zl^lo0*=o2OnW{Y|gF~`pv#~Lh$bY z3^~aweQ!8$3)`+_JlmsdrdV#Wt$lA_&b9?>maV(;eD*u5<y@)8f$Q4y1%pEc1K#H~ zh3s2AQ@LoiUq)N5j`Z)d%9ZB3Z*{60$RC>b%R2dWyY!Vzzf`RqCo?vO@2!~r!EnXn zMbC|QHyqm*kP?>A$F(Lnsx?b5`FVQX`A45a?z}1KOxY&2eIB>L$NsBKaewT@L~d=B zxc7d~;lM3FnhssGeef?$<xj+`bk<#>T?;<On5>a+FFnqgm0s(%ntNsr$F3FcUYhr< z)44cz=~S6({iW6?&*laP_{@FN#m9I5=)?%-mqEq%6ST7SzV#{-SIOFad{+53BjLMV z%gmqLOr8EY^R{AVQf4O0$ubphho;{%Bb+yj=O{2o6=e8czVq7l?5`CkWHz$4bJ%t6 zzr0KBm3-^5XMSEe3K=1DnC|##70)?fxyaRwSw>Iu=)t#pEZ2lB4Lfv%#gF}~Zc>I! z?(P{}3O&BPH!oUj_>m;OM<PE#>?1=~NO!!Epzx$=GbT=qFpSt0qZ+|JmwA)30Q(e{ zXFq11EWH-OVRlzR!8~Q|XG<M-wt|?aJQfkYr;f=Ti_;IZn#;yxb*=bwgzaP91gGrv zg){xK8D`$Ev{awGL+OVTv*78@l}oqZZMtqLo|wFTpG@AoV>$1Om5UaKDP8tCmnW_< zZSRbO8;bhg&AvZjm&B%zmyc~YQ2fX7+)0_#vt@EzK4%5Kv%iq~b4_aYBwc6GKi3T1 z7TX)%y6mUBA~8?g##+F4`n8_$>XkR`cDt5U-%(naR?zAd9h^C>kDXJM@7uy<elx<@ zLUp=Bj$BpFsOM?7R*8ALbOYb(sM{+_qt@}B*m_EGOZWk|&m19hyw90=yZWiNE_`dJ z+;&>9@-v6gihs%H)Q^3-ckC^9V&b7+g&917?aF$^U!5`;Osf7f@V=k1vQgY_s(R<f z>M(UF2XU8er{%cbeV^cSQ;dsUPLjXO`|hPurDBtN>)x(#-rN}zn(``c&12b+_kF3{ z*Hj7~W=*UAd!Sc6yw)o3?BrSfM=aM~isr8Be$BBr;BDx)u*pBWdRR*Mg702C_~Eg` z#QfHSJUT~S_E=2&b~NtT?U@?yRNU6=`rf<Ns%<0N6}@GgXEuKcGL$e&FHdT(+<Yx# z_OwfJFPFIs&w0w1?Rh29;d{urZ{OZ^xvGinxVf}jxXkI|*;6+%J@2zl*1GwUCr0Vk z#MH8!zZ?dOGQTh=i)Z}snvmtMB=%Z9@l^PpW0&}sEau<tuK#S~o%U*OX-SVw7Q3JB zbhuJ*vDN%P!&+-!A1jl^a%XQf$o~~llom}sBe?gIyC_$0`STQwKiUVL1xIDN=`?D| zx-I#_G4JieW_3YD{(?{J9m*ZH>t7uypYQX6J7m{}{9vEOZ3_x6G%VO-K6j$dii=Xx z>ctm?nxn(!9zECL?A`K=cXD%d$2QdkCwJL@xGH0!;Po%Kd7n6kQTGPRMMYX~R=&8L zk|49T`cRMgv(Rnnx2<o#+pe)&TwSZj<X#-Vw!(G819O(tUY;$Um!Pb8!AM{^2g{dT zcQSLGk2r1&<a=4I%~-Sd#r#kSIsREYYxgNFTvyT4qQfT|XTr#P>F|Q9JWlEc&CLxZ zX&ZJeTrHK*YMR+`Wulh#D$@w##MFIRS8jXAt>&?Olp=P=i(&uHC9c0u9^uMkm)atA z_T$8=!lk~yO_R>dEA)6Z``s+9EawLz{tsu|_}G;4OTXMBa9xGA!DPAa;_MX<8J7rW zJ`=27o!l*H$#Q+ewiPRMK8A39cDeekVyWk}vJ2OJukT+Tde)xxA$#DT0OP9AyQ$0q z>OP(ugI4A-n{1Sbd&lqI`kz5?W5BJ*55XJbf61^PJ}F-y#rQZ&c{huEkC#f?vP+Bi zRJ(Nu@3(3!6}IV#n4;uw;$LFE-)Kkcp2s;$o~(IcbAe^e)3o(+9TPKtt`wak@^0Fv zcZZD51V4JU=Gpv3Px|kCOHG|V-*ne;t6#ANqI;y05Aa?%>Uk#f?88rezYjdqT#$J^ z)osr9kfsYZeiv<zt(N%sXWOGkJ}cy|1(oHMIQZPV*-*V$<XNZEI`%978H9=*xB6@r z=jyT+5UvT8HGX>1_@8X!j_s?=O*<|sJbdIXvGHGY!E(t2#*2II{&=w>_qN@AhjL!U z+oo>!7Oi`pX#1a`bFG+9_KoKcHqW`md1YJrC6SH(<*~az%@6$=yJ^SnKekW1cdd=s zBXHu3Tx#0ItNH9Q?uE}ocW8^V_aw8$znB@?F6?tyo15j-k~cTxYj}hL4?EbN{qfR+ zRqATiuE{qiB%G>J`sKS;;mPNuFs-GHw;r%Cbu7z{{n<Q8@mzMyJDHrBzRT~vIhMrV z@$W>=xzwn>rL!f243?Ki8{gJHap%vK?<NtK|J+)CrsaC*suwbho%i0Am*0>2{3+<{ z%$7esGveN-_3gOwke69Wa?#ynsYmyer~hZD<*#6T%CTz&i^X##JCEO!JANF>E}Oe* zN4A9~n`WxI&79uARfnCHmj{*09IRK3Ja=n@`L5{?RxuVlo%McZ;JbG(J>F+cc=42L z{Ug4sezT)HPM)>gv0~fodHy^%na-{~o3W8^iCUoUYOjqp_dB`Tn%%#t?VU2$&BT0a z@0LEZClWX8UkT)0xPSO@>ET<6ds7po!!Gb2VeS8=d^a~_TY81|RfWZ^S6=0sWc^^B zCs4TB^D5_Lk0|l7Ym+YJ1y-6$`b}=sTau&xZtmR;*X1>1Otuxg|Clw&;Y-~2Tf6PW zzL<&n&YO2Jq*-G1lUm_#Ri$$NrN)61yO%7Ce4M)ORnGohC+b!N+nrzVt95rz4-2a| z+fna(=7$cZWL`RaZ+iX~lbQ*AZ>OxPH(P!8m)gTWHpjjhDtu*FyeaJF3g#gGs%r=P zRkDL`&kyUK%Xf3Fyw1h!Z4>?Gs^tZlY;jt<N``e$!+w>hyYr?-Eq%O8M@gpUqIH0< zfP|h@clF(+TaL4rdUtZQXWp9i=|<Ngh03(<*te&A_)hO%()g`^OK+Cn(w%n=V*Yi_ zJ9h5pyET=O`&NFv5f$sX%#mIE*DALe!XbIdTa=ylo%UKA_T!#j;9cg&7g$c27;-tS z3Dse%zgnIn8uQTT`I_Kh4gN)E#q@sdczv(YuKS*SIxmyr*VbRlckf+fnDza{_R!WA zo9#AE*Zl4#tEsrQPny_x<eBus_|rF~4q3dm@p#R7WmZ|$ET)PMhulz2gMK+n&HJsl zG`?>w*57I8>~imOHqRQP8uyEAUA+bD<}>9rT{bfxtkk#Uv|LlIDwT3YY=uOg;K8kz z`E{BO?vg&s_n#r}=JL<`d`h%MW0$8})TA^BW?QdadR*B@;dxH)vhUnYJX3wYWCh<` z89bAJCG(SB^|x+oqbj?2HrjI8UOVWYU9R=@@wL-?%Z_etGwE3Dx1c~Mpn68c;|Ird zW?g%$G&8rQb4rBf{_L7N<sUfxOZijYiuBx>cFR&B`%T}nXVOA%`c<x9w|yqrWpboS zB<tbIzzqh$V%*GSy0enr-!g9X>Ja(fzgJ{7@1eQ=88_Q5aGwcz-*ZT(e$%!!bwanc z1#Y%lcGxHFQrZdYkEQY*cbB<Nd))0%$b8Q;?u*c~JNs5n;GZOWIW}IzH)@fTaAx?* zkYKjzRZMwvUaq>9AYOX=Kf`_3bE|GSGamBnUORWqtt`vk4%TN^cQBq=*7W>Zp~0(` zmshJ-^{wKR++}l3YPR2nYaE9(uU!oN&(M8KD_F<)-V8lug%x|x7Dss=bKEE5%DlyL z*Y`y%%dK;C(gb(8>UgeQ==;7xvMW&4s_&wAR(_qE*tTi&GR!|l`)W;{!^f*wCpFhO zY|4Skg)PyRTIZKtJb9F>@ylxt#j}}{W}N>Xoo%@wX>DMeaI3Ru_Y$iK-To%gTlRBj z8b$AAz0@4*_->g>o4BX?s{DdG>I@Sun@3Nbbxr0V$L06@HP4<}uF9XtI!V|3+6&XO z?-{rFsBPxe;mvz#IpvPX&4%4|(e^5AO4k_`wyyA1x4mrp(agop;K{i+{%0jB4@L6M zR^$7AZ+piEpJiu{9!|B^xMIovd&i6njx7h?OE2mPm2*pGTG|kM?7iAUwtqtTdqZ}K ze~QUH-pO_$Pf2!n!<y2M$*DHYf3&nMANg>UKD69o`<Tu3xWWGEt#2<fJf5-Hi}_x8 zL*Btn&n1(Cqm<Gsum99AnIA5AgxSwyANR{?k?YG=l+S&g`j}&pv2UVUOyaVoO?hT{ zTdyB{#Ay3?uc&N+VO<B`lZ4ZI3wIUw@$LQ|>^PNoyT_*QQ{!$IJoZhN*MIj!+`80z z_U4Dzxr$d^Ul;4T`_mQKjeVacdmMYD^lGWsRkvWj$xgOswQ_2myB7CWpW?Z7?98!; zcTBP$sanpq&3j;;{=F~rx4QM7)G*V@cbi%7t=^el>o0NN)Matwl~vPc9}ec@QJC?_ zw{)W<<Am+LhCyrRoUv?u_o_>Q_qjnzaNO}Lx9+!BEsdGZR++>tdD!<rUZ?AnJCzS+ zD?Rw-GEYIOLvQX&CDTw@uZHB7*mHiSD>v_(Z6P}4o%hMAc~360emE1g`tIAr??D?L zC(A#|bw8D@ko05L+sZYvmsMtF&v<=EnK`oMy<K5setx3BjhN7l=ULY1-QU}NXw@sH zsM``*MmMr8x_2%+$8er=YC)QD>zORSj*7yWs!RRro;Te7-jvsn$1a@Y9GI=yyn0oO z?lGNfEh(u76&=Lq%n8}kn9s1O=}t^nvD~$TGMasdJHN_GSm}h$lFczWrphBB{b*N7 z{=U`aF*RD=%*n=Qtt)@9b7Y=bZoi{=#`OdHR{zXdcH{2RqndryAA<|;Wri|yYl(4Y zn}!@-wW)LNw;*w@W#7zytg;mL+g@@fJfSYDNa0!cTw&?+#lgLOHs80nzFAWJM)Fju zf#N&kj$nTszGK&KOp%Y~-dNByw_AE{``wHAT+^+8&5D@aw!U0y->JD~xjx53Z{!FU zTupo1ed|g5k6Q~5yt|w%aQxH()BG@Ij@?^}4rv?ky^(#czVm8?giY#+P@U?%Pv=jn zJn%g3LCZCJ#tP{jvsS&`d+wP;V&&aqD<7}DyJ_*Q>z9|kDBN%AoVMC`%HD}vFMh9< zukL-i;P}$3www2*oq2!I{lPccS<d`(R+ajCHNHQ>tW~gT%HjLb>_6J(3;vzPwcFPB z)jr0I(2UK(F|tZa{ac-5V|y#w_f2eAdG%(LLC*8K4jJ!{XLH4Jx884@ZOCz9<(Bf$ z7n|#5&z`+gOXp_we}*F)_kWD`?&qqFsxIHL?c1fhkDqKS+!S<tv+csWf8)hh-I{yH z?Q+oO-l&uXHyDpjW)z5u^*mmBAoZqRvj2>*FY<poQxYnctSp{=cl$xk_ni_QJbtMR zXKb%`A6Oamt(di(YvPux%KEM`-uA*<LXTv2=Zp5Im5Sf|u|fKg|FXM_*=`1{?v591 zJzI2JGgrF2ICiS-Td%K+W=Gt){`-3R60@q1ms>8~lKXS;$<^?zTV~g-GgcUeuDJGW zTbA!F*?0+2jqRyP>m>K~e)7J(M_A(Qf=jm~%fw~F>$e2!ufCU5>!vm3KLek)7VmfK zS<6oG-^ty*t>^OTIP*SnbD?E#XJ?d(@0@n*?U74neP18<Y)KQ&+P8YfwLPu|cSFNB z?XSLXG2OD!aD8f6=nPY>?WHSr_TP-}eR{rl<$`BdSZ}1Qo*TrJVXbz$X)?om=YOvy zm-enJJ!`v^`EF=(VP3*5ofVf#nf@~rCzZs$b_sju$aqt2_wHo<_cE7eJMYRhyK2}q zdm8VwX5Q^>na`QGWv4pLTk%h6$?cLYx_1}8{lO@?=#A~aEAniaPsGdPS<9VUZ%_Dp z)v6?8Ged4~R_5EX0|$QP-`BBRW_nwh;mpITBc~)J{zm0_sot0!Vi#4o?z^nh_jFdN zDRaJ0+x2EunECZO8?n3yE3JinN?HwZv5Ry|qt0(VS(JG2?%es!#qSzxy>#~e-sZBH zmoLXbVOiIfmsg&|`X-AQCYgN-c*t{cVQ?DnftM;-3k=uqo$+l^^+t(x&eL=X|1(@n z4)!@GE#Nin^FCW9od)l@>Eg@H&J}*-UhpR&(f)KnRD1cH&s>__NAJAzX72m)VXIh3 zW$C+U&+-kw`+J>l$Yxs}SM{HeIcfLB(6?ngjS+=bH+Oc-`8jDZ_u)k@hE|%*yK|H{ z9K<BLt)*-Z=W8xJV0DdQ*#ndB=RRs*dZ7Eg?Zw@rLUIRQ91+>_qx_^+viPDNekGmb zrtxJ(Q`I_a*EpWFnD*d^;+fJj%Qv>p%o8^X=&H7!+xE7#ZNj4Cd>R(PGq+sG_+D`R z@>-)6-=~yS{kG>XyMF&{LaMsqK4Yz;=M%)IX6Y9nw^?d<mFLRLRm_34Hja~z1Tuc> zp6Re{ou>4HWwZ2_?y-Gl)VO+c*Rd4y^i^}TbE@6W#m=uvO)T{~D|ItrMOkz2w-P0L zp+jm%U(UV0HDjCG&q4?DY|*#7zFnIz>)LMzc8mC3e}fIG!=j!au$lIsVQXecn(n=K ztFphvE(tD<v%d7J`+l|0wY`TkmtT4B{YG(Z(y@$-s~bF~>(_3&_V8Y=nf9CAAz6t@ zH}Cvmh@7hVWcw`H)@^}dogJHJwd{H)aB_Ll>^nQ^6bjqbg#%{fvzlD?&RO;S(W%8^ zLf`C`JUb$%ZTOhyL6O?BOSi%&x2$_R_i8Pl)<=y8H(s<&PkFVvf7g$hO@VqMuXe7T z)^4UM_c_VbronOjjb5F!1DsReYwWr5L~6mM6_*|#lUlYm(R=lr=6b<Cw_IOo>y@F# z6RVPCURB)5xpvnf?|g98yR{K44Aq(st#@eu>v}YKZTX%Bh8K>n`#N>?n|J*jD`r*y zNy#{sE&lL!(6<##)2=R)a(kT>yzB1r&DJXybDTT6X^(}3;?C0ekJh4m9}2H5OORKQ zb?WV26H%!y-gKN-;)eVFn>S*Ni+dl+AO2qQcFwZjkMFttXV8r9pSItC>&}W_h4WVU zhS~T&{^oM?T;_x1b#1RXtoG*35<8RmV%B311Hq)jnKA7K?{`Va>V6dZVqjl*v;CP@ z$;Nd|3T&${=EyucYRz}*y6_|Ypp4uz_5T^1w?z6^zLm=RvHSck+k5x71m`z|tmO#K z-<rAmVRGw5lh<$FtDJe%)c(ko>q%!P+sVtDjAozQxZ1DI(fRLu_soMc4{|*I7W{JZ zMBVKt`G0U7nD*Rv+E3kMTMwlB-nMbSXfJ9N@T^DIT2Ij~%bt64(tJ@3XHnjn%VY0v zl8C!yD&?UdDg0ZPPpc{B_RZ>9TXRpmR~F@*ob*rS!bzJ3OTACsuMT@olI8q5TlV#_ zJTt>H3tp9KPU4-zP#~+AbjvKuI-<KR@X$-Y!*8C;`L1;Gy7x`j=~L0l&F_ACz1RLN zIVH=&Wpldbg5SEm_J2<-wB}>m{l|@?`APWh((r%b+XRlfZE^j6=y2%N1@jDxtRn4q z+`8%b)nnSO-+P`0iI!dX<&^rRWq!!>;BPnH+y8ywpm}loh1I7y1v-`--(eE*ecDg8 zJvNecKP3BB-<{+9>tV{TWan8Dh3qDAtf%zfFKB;t!eICD&_s5RrlngpPCT*p*|wQK zjKebQI^I3%ITION&@OmXjFmwuwp-6p@a{w@1O2DFECps=_Ix|1gWLGBV5G2JN8*um zr_c`_XCv<$G#>1;%kZ9e=uMl2OZnFZ%f_J4Gwv$oeacJL&6%LMra;PaQg`2Z-z87( zaLI4pVe#xw<j<lQJMGgyrfi$MVYiO>E;F?vNu4QDzI<{v;Xidn-Zfu(@qkC+qv6{* zp6BY0ol3kXJLjg{+lH#O-;yH*+)Wp;?`^NYe3i-U?7TS@^0OE$*B>#j-fXm8%3nir zrO4czlS#+<`pV>83?AuAZd~iMVS!fQ(WCzMlk(oWbv}6anOjyZ)a34=<4%Gb_wc_8 zzad|LBA`D#m;cA?yNl}Y%uX}==-@8CY1^uVyJt(KryP45ck1?v&FUe`H;dop^8c27 zB6<JJpdOFVjla!PnEo@g<yw2`uH0B2dOB^{iR;WBRm+U_YRx;(dwO@C>fOuhx7yC< zo|V^M{i7|!#_q#{$lxsXPgfN5UVqG8QWN_*RopmhX;go^*af?j&2r4$4>wgFd6C|( zAUx;7q0c#?vT`dzbeDX~<x|{y_K`s0?QOxHYun!3$lI`Y??3scrdt-(T;pAyp31S; z>`LkN&#SgRe|XaJN__05cj6XzmT%d)A%E}L@LR3v$xHvqSI;{BV}h$=!NH2q`bSIJ zqSIR)Z)<a`IhJS8$$01bzLlo4=P@W+T*-CrZkF6I)w8emr9u9N2sy9n8|^0;oQhk@ zw_2PuSI~M}nxiXtr>jYKl||OJWinq{?(i40ZCHE%`hh%$>#HnYiF=-j5>00}Y;v)= za!)aF<JXH)y*F<?^WmB*Uwo18b4k&%A99}O7VGh(O!&Ylx3X_3%bpkpMhA~`AC55G zT45h>=mY!N#PWiK4>|9TxQE>P`2Lt_wNAiVx5eJ;jnZsIx6N|<XmND%qRsvRe=fW) zYr3P}Xc2tO)tqx%oyWet>X!v~-cRLRy0rI*&O>p|E31VA59CjOceyV%ge#<h`H!}U zl+>$P3@;_Zf4pC&E_{3D--)HX+m@=;|1x=c)mb)bWj^Psuc9$hQRXQxdd=U4tPXw} z<oR>)-Mwp5eQuO@%33P_=$(7+@XAUR1!=GC<)3`l-4e;VzJh;G<q4&05-g`@XlDOb zZrpU&lZ7Sf?3}PN=e>2Wl$P>#uKoDHQt#_**{Ut)1$h`mV#9A<UD>?)9{Wv`tEEAj zG8-q#S}k}S+cfi8sQb>_X*WX}bb}R7+FV|}g>AQ5Xz3yOuF1Yz)tPyOKe?Ev7x%YZ z*&)|8Hz!nWsz$0>1mB9JSw~V1&N>>MW^Hg@R%`a@y)~2E^2}R9znWFuc38n3!FlM~ z`A*9RR~9_*j;wuea?9E^Yj>zjv1wLo^NuAFzhWFtH~hU&vgPW{hVScdF%-&qgxOtO zy6Mu6G&|)NbN!}oox9y?X@I1A8oPwloQb!xtL^q(b=!P6V^(P1_2Qz#@rk<1N?ANz z$tx`vP3C*e{D42?RNHR1bJyg)Oh5UOk*D@|TMK8%?p2|T*-z{iHVC%{UAKJpAf{41 zEH_Jp(co0RxviJ&vkMnKo?5%l!*1W5Q!1PPNL8wD{}`IZw(s%^$1|&=rrI*gt1K&* z4$UciZ#coDD0$}ga8r)^d@GaY2WPFj^qgC2su4%^!7zVjmfB!m+j&#fHq86rrxcu( zvn48PM}fmptNX6^_SkMY=3^deJu4@t@y_=tZJJ+CI@|Vc&Rt*eSfRUTjZU{&e|qrE z8P6&t6!<)@RhP}0ay!|_hOPP6n$Xu*ZoHgaHTRj0?kB(ZWv^yeGT#lZJhME|{>@RT zt2gdH3t5q5U+Q}{?Yz@$%^5deUOau~Rd@HdTjwh$`}QmL$|csxPWIkmIYl;lPx1Xj z4+4vChQ6)Xa4AsnY{mtym$yyzUKk#)7MSEeYwo74S|&GCu4L<XGJ4+@{WgL9(}6~g zoj2xKTCBZxCAr4W$<U(4HENoX=@|tX=~||YcPI9qcX{?`sZVh3?t`kwC%E3UGMf5c ze%G_+X{~IRZb@8T_egO~Zld+o=-=wTPMnX9uv95&Ud;{s8M3i;&Yf?kmUqp(y-NN$ zR~mcBuiJ7*1J|jSSgl<=fwOmISDV`1-jWkO`iZ>P1^zRHcsC@bz4mw_@_2EZxx*vh zm7cvTKJk3t#_?#?=@jPePD@TbmX;4_j<EXApz`6F<-=tMB>h%=n{Zh6beyt^x8~(F z56nGxy3AslIG=gR`AH0KzVaJA&Yv_(*JS=O)&C44pMwSNvnz7%td_}qIPWu;-lAVi zAKb3eTQq@xBA@<~FuRv~KX2kOk3X@Bd2XfCvWp%OJPP}sUo_aTt5->NP4QL@nc64P zOtTJ3q?b(35EPB}yg$WOz?CiNiix`Tv?KRqCwy{e<I3$$%xb^HHz{fLtv0rYh7wV? zMO7x>opD&quffIY9N$?J6YH)Um(OYCmE=uRcz#KD1;fz*(R+bLoJ|MxL>&?jZY&6F zPgvQ;80h=uR>6DkFr&LCIx8cpmz_B>J#Ee}m5?;+Z4>6$W$gW;eg4RW**inGx_^4P zXYI9Q<;lS-x%yN6h3A}BOIlhk-SW(IXYb3r)%%v-Z3`*M+xB|b3XjZF3pm&3#x7gx z@S5xF#t2@ngN^&dVw0B0oN+D*lT`fCwdJ+R6NxL_tBm=ylQ<uQ9y#~!V9%zlQg7#} zPg4)Bj?)s{@t}MD*3e!lultH$4xG3tkh!f-j7cGFVXxw`qvy<g7KUdn_7*OW^UGrO zD&;g&I?;Av6}P$^^Q@)+q&HMwYiicox^DTY693$lms4Upq*8B4|7Qpe`LQfM^vmD- z<%^cMN?p+k5&AB*a%;1$z$LdVDV6O#ioIu+W*e*yQ9b*pF|~2&kAwGg#QbzqKOCH{ za6Nc=vy1`HM;&#=89|yGk1j3?m~FAklk@$W=VuO^he%G+dvNEP__iL?-RqysZDA-l zJm=GlS683D5s>h`VlV$R)nN8cfwV%;paRpD$U7GjCSPf}E*^WxBW+!P$McTeMss4- zA8y)aWN^noljZq}=-V4ltWjKFySb{e>|``gzHQ>t&7s1FWS%_VEwSpl1CP&&%R9b3 zF^P!Y;u=%q+WF?FTD}JRZial03>U-oEBz0>dw1e{lgyvRlUUDfZ(U>VFx%tay^9VC z2PW_}S{__5=|{F#_1X)jK7DB~(#}MRnWeJrmo!vxdM|w^IQvb!xaK?2m+U*<J(66# zck|gp0y)3$8dw%=<~cHH#&y%>%ul9So#quYomhTN?Zo%350869tjrD7yrSMOH0`Z^ z@!^Wj*xTOq)9zP1oKzhjpME#@Zs4k=ULu)0XIrSP&05zPt+{l=KZUpH9O;#e<;U8r z&KSJ%Dd$=e>D0$@Z`pNT(by%I%YLtuxy^EH+m>A8qn1i<S1qsjE?@H8j7`MQd{2#Y zr}KwsRo*4#JLKI~zq_|#<(qpKcyCr;JFDn@NbI~%F7K`CS3z10b53n_vs%tk>U?O$ zo3(2`Z{GMhw5N7y;Ja;k-?F#!SLIw1yP<Vq(XTUUYS&hLoL0R$?MB9hKi1m*wOcGN zcdWX?n07U6a-Qat?3{J)%bq2#-nMV!on>d47Qg-VJJsB1-K|&k?|%7wpBCSloSAd) z+$|T=+m6TH&GXv7Y4`UlOHSqf@r@GQ$Wxcizgf0BeaUmPo%~0?#+@%a^|xQ{s8iXr zt81j*UfPzQb^XR2woC7SFkIYGwJewCR+<0djXS<A4BICD=*ixG_nUPWmi=eQcsq6O zk6r6m>Le=$+;~xKyF0m+?~Tb7o@DJm&Wmn*i=BGg?)Y2w%SX4o?X{Q@`+?P~c_sUv zi|kpYYAIj7|5N@j!))K%zkjW7+znmx@b1Ozh5dz(xTXEx9GRM&*Xo`BpW%ju!)f!f z@`6XDB}&&!uCFy)?DaI)?(*&V!nXHLe&`juROa<V{+{uNq!n}0k33g)S}I;=wS}iz z*6CX7n|-fVM{Y6CT%z^ninQw6>q6faeyh83ajV^xm{-+DzC^Qc(tLB<S9e{n*`|G0 zPFdXS4%f>27Au~+?@Y1z?(K3v-|Ow(w>oEST&rw<=AVqj8)n-McRbtOJAL1`?r&K> zvqCa=zUBQZTDxrD@jufU-cFse(dN|czYFh%-F%s&qm#JayYokDyYJI&);TLT=UV#; zo&OO#cb3+^dyBUSZaM927B=m9kMHJF!DfX~i+{hJ`2N-_vndbidP9yE?)a8mcG+>p z+9%tl1%H#fyyfkeZ|{HPXPQml{qFp$)%6E<J&HPYwnv*g!}`wU!*_#)b}!E<mG#|| zZ}Q2%RCnUvlXmZR)V*36Ht*(^H|Lhz5V<uw;CIm0D9LSe!%zCG+?>n5=$A^@gxBiZ zGj7Q^Y*UkD6%SeWD<`>J>e{l0x9%LX-4xqudH&X%Z_`f4US!*mm*%JP!29rqce_j? z;sYNQ>y~&aE?ap(b*k3Bw-Gb9hGuu}%-AGyHaKW@Z28XX;kV{DJiE3vIKMvhfwbL9 zcMgk&J(ectwiR`J%9`Jkuh?R6E@8?uj=PUoH0yP*c|F{>mg8Y|w~b(_#D<g8`Lfu5 zI(@n(sw7i>@Q73Ls)C*y+a(#KosQnSTBkg-sxiDO=enhD`;k-z7q+xV^DEo^cmq~S zaI={1m|ht)P2H+c;EBPE%tuqx>~8L`^{h4jl<n0ncDh(A>fX<vW^7(kQPNFc?wt*t zb^jGByUg7gjBa90A2Yf4ta#15=is5`qQ>>*sfNvun&!6)C%3MXT)`|RxF_mq`-ijV z|1$&}PixfSJ9PKag5V-yn@FYm6S)O8>E;Vd?^hFJ+f|;k!P($!-^z2P+LQM@+sbY= z!6J60FK@=-$KN|QJT8yXNu72$S?lZT=hp2i<=t~7ZBIDfKe&f+SEmu*uk3xUOC!%$ z9PDVCRr@AsX7;qa#KN-&Jp|7j%Umwa>Qr7{<bUW{;`vH;-i2FY&sdix7QcMU_)Q?B ze9FoLJrcny_f4-dh+w&NO_C{EF?4zCk41A1bJfXi$+;oRH2LM3W#97`ZZkag+0*!L z@bbvMi9RWT(rKrTz0doeA|fBuo0YK3`kAeBcCN)E^Op+NCrnMacgcL8wQOT;f8$LZ zpY@UFj+X5evk^CT?&SSm9~iOw*z;X}*}|&~zwON0Q1iM&GpF8fmG!3Ejs<z0Q@XQu z1X=D}F)i4FZMCrHd(S352c^{Q=LGMsxSl*Qu#Ky$ulSbHds(CISckysA9Jp+$j+2b z=RE(%H@G_Zg2MG#Ur(47E}I`N-0ZFEd-~_v+?@*F_TQ6ZXP$I$OSp}V)7(S4X*YxT zS=HuT^~#?$mGM!n&&1tF=69Vqylq*?kJ~X#jW=zVZ)4}_zF*q6?sj;_^!)et0%wIX z9!}r1%~kNn-X+HV72W%V!%7%mgyecn^;fxcciL*6n>W@pKM1j?h<hUQw>^E0atW9B zKlK||7C%y~|6$I4v@xmf%(Y(T{|u><SIYTj32&a&EC0yE(M>vnN$*ro?ET*x!g6l0 zh{XG+|4~1xH-FYceyN?Se{Q+`(M;99?9`m@=+ds+)?e#G-&e0%c-YLcdR5=zX%Ba) z?z?cryCrAY!G#i)Mm&k(E2o<)#5_pc>9=y(((+{8`@B{w-!I6@VsS2;_lCLX*(s*J ztNtvp2Tv7#U-Il_V1sqVk#!9BTtx3~TbdyCa@n(8Jj>d0tGx@EJCB^bzW27_!;@P( z{SLh1vnVwZe82LIe{zrI-YYYF%OBo3quX>w;L7<DjU(TeNKU+<BNFp$L&~L_fxfNh zp13H<`mQZ5PFbv6y8PVJ%CDQ6<e9Z6rabICW^?N9E$t?gY@IpPha{97%#9Xq)nd1Z z^HY6yU*^}swrvv5dsf_9D-&?{$%9)4G8L~(d_K2ax83r3LXk=Hx}{e%3@m4_&9zWG zvE$8I-RByD;%AqrGxpqX{bT3xU9m6o48zQTtvhBYUb@evxVCQzqh{}IO-9KO$;Cg4 z!@AGf9yeN+zA8KOiV*9`LLYPe<>sos7RO4DvpTGK#FxX*DtsqY+Pdv;;Pi{^U8OOf zbduax>8;)PpeB6+_dSQ_8F2z`ZpQJaQ(IeogIE4zn;JH;NI^t0_-07;#_5F?{W=d5 zSH79Ms#B&=VCLOTOAQ~-)KiqKUU~el$Iick$IPnQJ<X<g+}xJcXX(yUxzKNAJDbNl z*RCUX*KEl2*{t%+K6BaacjCQ*2VVIxAJb`AB=uZ2a#fz%p7Pohf#sdc6}V)dwk@5d zd}rI{$4XJ1Di(YStcQ;7xn!c~J?HmJF^BJG6`m>FKAU!jRfszwQ)7o&&8ZWN&(?`v z*eL56V7KZS!`I03i;VMD`QI#>D!BW~U76>r9<?6%z#h7LYslf%hEv##U!^*8o6qJe z$bD$O=eAi_e*TXhW4W4(%(v8-Q|~^wYI5mYtKXY~%gc)0cifIRw)v0Mxw8z1J?8U$ zxhuTw&2G*4r&N<x`mL7uT|L|B&@12D?5$U$_r99<{kKVv_~y-Dd~e;}^yW$Q9}9Ee z_hr75mZYxH>KD;8nk)8xKg+|<PPc8N(~dbEy%Q+2Zuy5R{Vs)Xu4Men2@n*$>tKJ> zZEFPkRrZ|oH(vC&@0+Tg_ix&pSG-<N=U?6v8XkNr>w5MJv90Se7_@wrecl=HZr5^? z>u0sL)<i^?e0#HG<J*VJV=pj?nzijYYPMZW=hVHMW$klz3Iv~CEf#*bbM4{uDGxq( zaIeVT&|ahWd%^pPj~|%kym9UC780KGYqv9x!y2acT+@gP_A@0H{$~)m^+s~Tu6J6C zHFxm+d@v`~ZuZ^QUh$P0b)tWt7@roN+_U%GN{NFf_c9e9^=du$I7w7CoTJ<Dxyc2F z$pt13C)zVC>t3Eu_Fk_2^hMwAgD;GHZtgzh$~8IXsoBI-_boEZK3`eBYiiyDu>ym3 zaX#<#TXVN|RUYL^5wQ8WT(&>!-5uXmHjLdD<&R!p8??au`_1{j0?XZI&-1vWWABoA zwfNSjBDPDj->tl;d`!J!xj5Sd-vg=rAr~%uxHwIik>h6kmTP5+ZTC%E*VjtTYEb8& z^j<4B+U>%n69;~6`=z#xF+)Jz<(9QKw`6}`(W`E@%UevJKEIcy{>_)SeM>=D#l4@( ze$x(j3){X;zqav<<7`_+hier=XAYUN2_2j9uKTmo!c-aF<pST=tlaX?X^HP9g_s2o z1K-TKcW|%#uKx^IWEU{*?w$DAO{UQLVbR9J0TGic1O9HCx%5ASM-aoG3kL(X$UJ&& z^uTKU;eA`3*tsPXO!FTpPb@lct0Z&6OIE=x^FHu@xS3KtZ5n$D<CHf>GQ20bD}=8J z=$c<Yn^<b@c|ls4ov|*}aB)pax<z2nhGe6YVwdy|ojCAumeJcA&(=IjcoqIROWvr# zdRgvX;b*h1J070+WP3%W)4OA4Z$29u2;_#_Ot)8h`BmGd<oVrw#h*BrP5ypt;*pI3 zYd61ndboc7u6;Khk9?FW{^qNA<HJme-pRLqOxxbC)_9TYs`iy+kIDRczqIN;=hcP_ z_h~+TwR=_QJm2E~43C|apP!W47@cve&qtJF|0Lczv#m?GZm{gAR5w~*bA8v0*^bI* zlw74$Coz<I&6*m_9T~V*deO{{b{YR<r)q`?6yD=mp13ZibiyjT*}J!0THf(i+Vk!w z#yb7Xm77Bf#hN(#Reh(FCHlF(Hkz=jJ=avr^s4>ziR|A3@6CHJxOqN<@cCJ#%3Ck5 z4|wi1bB6q?jB589BV_}@`z!D5kTFu%TVaqhW#u$u&Q%Z19oOGp<!Wmd_AvA38lM$e zVe*fpMXp)4o|RLdX#87q#ie6MTdn!yvO13)-?rq@9uezRc}I+ezq#0mN%ie4b66g- zcuP*&T8pmSiX%@h_bszddiPJY^+s<%`K-*lTsd928A85It8Rs|mz-0!UVhRed+sSQ z@tpU$>a*?HRj&UN?0@(9NUn0ogEHNjdmq?+7yEvaD{Xq!gByHocBwM?2d-NyFIw-r z+thbq+ug@maW)f6<<l%1>aQtzeDW>zo%-9LV)shxs!*>*3v1Ov54XM(=6ttyOYqYF z3>RP5eDT+jySVDu47S!b-GF7c{+<oE{ZG5%{H(I$o356dU(e-curJBv@_)~BZ(Utu z&e`N{R(HvAhgJV1t}MI7GwIa%jV;%&7iaFBeZ=I{d&B8s!VJtDA(?#Db9ddX4VDj^ z_PcWe%R;XSc_%kdcYY;heXo%%Cu!L=xwN(A+de<p|M2D8{9C$5{WME==`3{FwVC(M zN3N+}Q$Acy{=RbKwV%u1+`X%%v+T}8F8dbQpE*sRI(X9<Cv^DgCA4iXvH0X%W~aV$ zoA0r^Q%<i9?b#VoSf_b8?UTRamfL$1WM+pjJ^!#xke6|-*pX)kf9mvZY3-Ig*j+b6 zV_NauT^67C=BYCNdLlLFlh2;KCS%8Sx;3(oxQ_g4`^hB6bXnm)gJFO4n<MH~C$?^t zbed`ODo1in>h0ER#cWyJjTS22Vjmj(Thusu*xs<6D%g6J_3-3Jv)lB{jSiluytz5W zO>IxRW5#lU1$mFmr>AwW_GbThpxjpbSpOcYH|N%vxvg>Dk2@uJ=5zQb&wAb{7$O^L z?%5N4zBl;e)h+L~Y<DqY{<lcCkiA|wHbCi?6VH9l*fUoX&p!RtBK6#If{uq@d(ax$ zOAnJ6{MITRO<ecbcjK`+CujNAup6#ukgA%x``-IGvtH~nIZ$GC?%vsC#xKXq3NB~w znA3gdPpE|bG&V;u$%pr*2D2q@=ernt?tRC7-MUvx?<Usz`LCR%Tao-EZ_`8{#xJ-2 z2=6WJTQPZ>hC|T319^>lChIFt==k1><}V95G;6EWcV^w$PIG*-H++;{Z9C(6MQFqw zhsgr|SGi(;$DL}5GQ8>PRlWY<z37EK?KRoLtL|{Ovraf_-lq4Wyl`@=828?Gw`J3> zROcJ9tYjCylY5UNBCCRB>q3UNe4iTv<P>j;w{T}!EkAma;qj632&a-;{GD#ObDiq< z6lOfko-;RW@w$gRtfyq|i!LqLI76LJY@vySl(gcZdG6m`V%jB-7(2F2-hM3iqI_3T z_LR2i(=xd1-d>hbEiX0K+)%Jb_i^InF3AV8r&-E~8gxzh5%cv3-`keuyLkiKj~o{F zIlS%K;)d!~b1vUGyYc*Szqc!0jkad3(_3DZHrIN6)%B2^ca~>cSPi3PZocLGcBgth zpNnbVeBlnCKh`#djlb6T@$et5tXbq<;!}~es&%d6udU~PEk7F*sx^C7f9&NIb1WW6 zHJe;ZEX*ujaoH#N!#l||;Z?^wcd)nEeVV@|I8DgsbZ@_l^{E~6V!UTdDZQ%DXn*!& zhu@;J%N94g{b#87{Yy*n%j-8=B4-{yvSNQ)8SjGBh#v1fE4NL5AYSUOwPs<steKr= z^9<k8FyoRF6?H4O#`yZ)3H5*GwmLqzXxm$Z)A~o*F4Y#C-obKQAmUeUk55_0Ke@#> z4wr{kT&+`@zD28g`RNs0ZCbiBBuagRGVNylG5eVs_`bmEOmx}FO;^(nJMVn2b#2Yb z%>Jvnv)OKM3j5ampMmG&M&ACC^5dcI`)_{F&RM&ndevp)g&}2Ca_73_&Xvsi^721} zmZ<Vu+j)H#H@)roo_lonvu(9q^UfR&czYn{Y+A~vX#P##=FZ!9cFS8+IkQctW`3Qz z^{wB6zsqy(ORIM3H1Cuz-TdA5YwhN|Y`?1kJI~$gO;>&Ec4>7>&h6;iZkZpiUaRs9 zS(#g1xHLRjLOWo&m|~s$&Cu4`*~xk48?M}|{wEpymUGc}iG{vjHXKThcKjMGeN|%C zt^VwdX{G-e-f%MT73`Rqw_@%E*>cg~?B(tEgBiB&Fa4o@b<wTcVXrl>6fJjJta+_k zdWTkv^p7atRJGsBg9P_%v#Qoi&E1@Pd$xbpt$Fv@=8G@7)&Bc*YA$a>S9S2K(EIu? z_D<hcZMP-h+tNV4X=WdVRvTyDT50+vGjXNwn(MO;+})kNHu{h4!Zr8uR~_6?&ih>_ zH|XH;tGT_ms%P){{zdkP%A?S^p1b`wf2$N_Rln9|z3R5TfKPdw_P(X3Ze^IK)#OgS z_3z8!se;}K%Z}MiEPl23pWN!S{LSBLXU$E!lCVbevh|sdTFE!Be2WUn*kZTuj9Fo` z#P3zJQ>7%d_sv$_QtntDdgp;ovE+L#<46ANIg3tJBn0a0p3=Lhzv%m|j=Wh~yG>=M z%@yC=d-P6hXw;&8>}FBVGPuev$!@%E?XWqM^@qE8xtP|L87H)+N?Ef%)Cj&=U^K0K z>fO*qkv`kFo5c%*Z~jiZ=)0~leCN@Q5~safq8n@{{c@Y;)f<*0?O9rN!&!5A@ai{f z7xn5GT%Y!8Y13Y-v-Qj`=RR!-UhTK!&Vztcy$8?6ZRosTCdw=O^vA_n4MmDJ(>f0C zWDlu6`^N2@qRGZL7V4q`AxEN>0yDGsTrTuDSj}3vuei`bTy9-Pu*7V!BQ5uCZcQ?0 z`w-&Z^@6eOaY(#m&(nC0`_r0oI+JC0y{}G9cYnsnzWp9&`@>+tVDEME#v10_-o}%P zqI>Tty=V2wKl)U_zf9?ZY1rO(ULtq63pX9@JIi#(Cr?l4_52Xo{c}HR+TRG-`nhI~ zQAEtcxkq&Lv!A5zXxH32@jt_^7dGAff)V{CkzJh2XZT7S`}sZS%$*J2L!Pt!WLKK? z>A@S{y$VI)OD8;>y6fiFS)VpsNt3uZRWMB^_vmgN-$T*KHQrUL<!hfSurbTHY|MXj zU%F{_$ee`Z(kmCb%v^Nsq}4JR|AZB)Ygoms)(J}=d}y_}zwB9u?vYt1k1;RVx!CYz zy^hh(>Dn=8JA?jSJNJaOW9Pc9v%Cxn-WTYY8a%C0G-0}<a%WPfL|)ES-I`>%k82|m zr<}>3xMySH+N=U@sqJ$<cEs=DNILTSAdkPO#N%oi?z@&B#WLKMmmQCKde(o%!}d=t z-z?_n)Lb}_x3*_PM?ul71OuLlT_G}-dsohVaCXuUcV2b-Dw*p+5t`d(=O6fTq4?k) zsk;FOT_4HTeeD*^Fesn;LHO*6tw&pYrmsA^*m_NZ&F93k)_23que<KKbooiot6~n5 z#2ho#(@PG=$j-XE<hiWOrsY;!&+Iz-Bf;NHLwBY31WS#zZgcZJTrS_#IAE?{WidmA zPfS5;hMn4@UGJsdE^y~{c<rV7Me{A=x#=E38s$N+dAwDp6is>KVm?jo{FmT~Pq>bp zd0O6A>cFu%BAmVQ)OGHHX}e>5-1#K0?C{cE>6~2Cy(4JX<~m1VsRb(AKOMTiO8VK= zdl%Q8as00N_ohL->YnRmX4$)sUD~|VV{*Bz+~@oouT0EKmmHj0+tg8hgscDX{)&Sp z{~1d8{v^A6n5-rDM(@uf;Z-^NuC-abyHpy<Slyp7zbLm^sXNQ?cM5k`-efs1*4Rbe z&)%*&5i$F%x`ln)>_hThx8x3H9$23C?exo&`?UXxJ>OzhyK$Gnt?++c%^qhg7M+@{ z%N73k_^P9u--?`^|8(nT?Rz#%#djRuO2=wmGnMnc6Tav|jb*KfLHnoXNr#?`U*5sY z`;;f0^9rkI){YR%@}!&vd!M!xa<Gb(ub+JGen>s{TQ3n;XZ@v7GfSovT)Vltm)B~; zT;HoNf~#4qCeKyBuzYvvmb?CCdWA}{{ziE$(I>+ioICdHE<Yz&yHTpF)L1dNxU6m0 z;#q}(hgTJ^Vt;Tj?UFhFlVC&3GpmZ12c$n~HoP*)GBQu#@fnWjGy0#zqj#?j)-ztn z-E#6A@AOX|>_!5|3MLdgOuE(6J!iq9OsUpem#dfPIG$&Dp=kMF!nHolPCM_PGnN(R zIZt+cufH%NGgoxRLnGc;(QT`4$e7mr6<fOI>{SjXo2gc%k(<Kbw}r9^xX(KDwr%F* ze=@sX*xs0-#mAO*U*-FT%Z2YAl=t704KP_{yW{2WL-7V1jh6Z-Yi`uITztQs^;uo# zR@Pa3{>xNEBd#s?XIN=+?^ym%k!N!!EtV?MXGzi!^xKiK@!dVo`6|5pnb#B4t$HRL z*bsR8X3WGnE{hL6o0l{5(~}MnO|zsNW0!n`K8w5+7jAj;+%PaWqbPFhxov2C*|TeF z{{A#$U+z-A!DLrt+cV+$&NoBMj`dk>jb_oWeq-hE$7fZW7VjF4$)4YupKWBjq%!lU zM?^_T_d$_mKO$C@S9^P`slC#1K*VaTy6}u8zjZHM=Zm-~*gYX{-!66A8?z-3Nn|Io z&-z#SZ%OqwyA4+~i@jZrD7Q7AH9Yot(f#BN^8<P}g(ZG&U9%|vqMwkJUR+1Xi^k3$ z(`47J^(wW|TXcUHbK-5bD=Fg18Dep-^KR`IC|>+w{-$Mq7o*l(W4y8Qj^1PGXH$Kz zTkc=AtgP#@%Py_NmHYp7ZGJg@R^mN%?|&X#w=0eZ%~R*fox%N2Z1=0~-_OmC{5#cs zc>9e<+I6z0@7i3;Z=36$wPAZkMfL40Yr8mCE^FVY+8c}iGq`a7T(!2~<_(Q4<r1-f zPM-C=F~k0s+m)%Hy+rmoOI};9D?RYZm*-o3@$OxZZkt~WG0DEV?%1|W%P9tj_iS~z zw1V;QyBp6AEpJ=KBl7pD<yE7;(_447@(Y(b_N@*7wJ~jx=X^2Qkbee2c6x7DHr@{P zTG%%~F3~={?8;-e^}<=6_9m~43hKi?DQvL+&#=oXc#)({tYCpq^yv`&mfiC@f~14* zIqv4x6>5(3n7qJFKjeAv&Bm1rjthnFNp-j3{h;2-#Mn5!Qt3rfPV<a})*Pi7;)*l< zLoT*HTo7}pSXTAdRi(2I3_RRUdd0Ii&iTZj^p1G$aoOeh9>;=R5*a4vQX-b;@0v50 zubXqlOZ~@e0ljP2XFJ|$R)5jFa{6_PcgHNwWi2mwE_UUf+SUg}uKyWY7jNw;s|}XE z=W%uQrktK1%$iJI$~!VEFHU1L{m;;F^Ssgb`%gNP4Fsofd-0@Z<))nV&KG>L`?%?& zUi${eDXuc9jX(F@|NG=y@}k6V$p@!!toYSexK}adq1)`vyq44LXHBjy%am{IpA^3L z=ACEO>eFwon#N|QxnE1kyMI#Q(oHs7Qp1vJh20;%+PF{e<MkHq+v-y^O;%kht}{&W zOZl>?poHzSS^r%|ub4`P4&Ldqs?JY@PrHg`ee}O1rtG)))|&-ci;u2T<k;tsUA*_o zow@8LoXN8-g}8Q9Hyc-$o?7%hgmvppoh7`FXZoyei(dYpq0;e?Vc~;t#fuYXi&SaX z26xV|nzTeFF8oce09&{7{#U|9dv8>*t4)}@#X4)j8I?Tgom|o94YQ+!V=WY7+%k48 z_3?eixqVWZT5jl^PYM$!_$~KpPTd)@qA`EVi%S{ejMJx_`<}0t>vN7%K4!A3?y|j6 zi!CNxJs!~ZpFwX<lo(gY%gtiVvsAA}$cpjoTK4Mv%rxJ+&aE14cC**()d=)Iin@M9 zxgfx5)zo;$H8)l?JmB@{x65)nqj@Rg?4m-^#@({aKF{I~aJ*W%^GvG2nS)wWrS@HZ zw{6{*JzZ&uyExrun{`=x$Jf2#RMCmOJ>$5v!8z|;H#IlSbvpmo)r;|f{8iJhnZYZ4 zq87e;d_~JARoHjSowSvUqP%O3L*?fw6)=_f)LP|Puyf>TPkCi~dd1`*&+5GSy<fE^ zyq-{`&8%_F)L(eR4V~PZE3YkjbNZmZUEriVtNbI^-UX}atlT*@);lxTDCSb)rXtQ| z3yb@f?0z%X_qOX-h69ZChxY6#TJl2uYT~lPn;v$kobC(^o2zbm>?>c&@;Wt6rEgo* zj-8EKD$i!ju*Re;ysO#b`ERvdv3C!4g)%Cyov=J!RP5+0Mtj%5{q5yjG;edSx_r1c zWb@6fnm1w!mfKBLH#}x&@KkE;yuDIuYnASVvcxR9UTvPLB74V7VD`O0ktqK?2Tw|s zY?E5<_iJV2C-;vwd1l#J+0WWbH%sXnH=ZeJvij<`{D)5|Klg06{|wLkkG;}e@vGqM zjJYo@*Zo_^Hp!eb=V89<z1*f_Zws=DS8o?MvE%l$RTjn{4)h-Dnx*z&)vZwP&83<G z0`D>|6ckLq()}ekaDkb{ti0V9J?y$y<+q1)x&$l_n*N``)oD@2imae)*BP%D=)^pC zKCm(2nXvWh%Q=0YcE&y0vUN#9a&*e^a*-36cWa%+-1*LW9@24iJlb--_wq@*3CT%{ zXKO>%Q$^*B84nt5jR|?Wd&=T>GvD>9n=Y4b^;3zGEiiSt`ff>zX~?UqD`f3w%KpmD z%=?_0xa?-7dA(}4zW~RU+vTO_oMrw+`DG>FxVCYbW42d%skd;e?eCjBA-7~d@LX=^ zP}cA*>HE2u*Ztw<ruG9u25cgQ?T0guT)t|#<l(eCQ_t?&C8o2}A!7UKWiiLPE!OBQ zmA=f7vRo{^!rHZIvaesS(Dn#MWrdZ~6AKTsp4Iq$%12-NT=C>)$$O0M70vY~g)Yox z6Zb3;x|KNT+v6=-e#`!pG;d-w@H28TX<K+Nd>NbWHPclFO&7{9Yi?!}48DKjqHsUQ z(Op?7!ZDAuJli%Xy*TtZio?%>)j?LsX`heA!zBtYF3&oU<9piSVr(08xnhjPX5I~} zU+8ev?=D=G-!D|+rgVd6YVxkw6~1}vawaX=^q)aGFR(DRT0*yY!7|g{%{-p+E)w7O z>{2}t6!+pSPo?yZ$b_X+kA_W_ky_+<=-vB*zKq~9qv{Rb_lhGjY(IL=WLx~BYw`Y> zyoLKjyM;F#JyBJ>@!=MuUmDA|2%Ts;Ah>(pgOj$e*N7=R6L_5d(6x8P@oBS9F<#YZ zJ9D|1i}l^XfVtmgLm%@=T67)J4B=yodXzKgd7||m$I~2#d2+VQ4ak}KXW7Z#%sS(u zLt<8I-kp|ycT#fs<i5fiwuyXY)vq#x=CDXr+@DpaX7<d1(csZzp~G6`u`&sBn%ZXa z?_gN)YWubqS@XU&9zVc)b%yF4{vsWQ&DFhzcXQSm7@4QuT*Pbli7#lK92@VoM^nw} z!!>z#nrCuz$6UK8e>z+8vqMqIV^ssoDIZOzGs>uL@o#y!iETyMg<{=~%;=WDWpA3L zXU)n#aN?futcqg!`MWLFa2<J-cwSkcKIGkxc@L*7xh%b8#iCO`WM>zi@H_eYrtm|b z?94VR^FER5VR=@Lw_B46Yt`(Qn69a6f1fXDu{l)kR*tC_@9mUX*?ZTuy=zbs<1)EX zxb5Mdprv056U>f0`TOqWjqTlDe{8=^Gk8CB_uU6+zQy5{ev`cyH||`q>Z517AqU%T z;p8&Dj9I=jC3pT*$ZEIi^)vKXHg`^We({GZ$Bg}}pYN+q7Bx)0YqR&u++)v86PH<^ zs#r2%-oM8?D>lb@rLo23JeRpxoApL2MyoG-<*vEz-V&O3)GqK=)_fFO^;_=v7S3C9 zt&3+Qy-s^4^G4c~r`tf@)IH~BnV0G7i)st2XRDO@t&YA`n)SBY)#=&gWqJpfXjuy` zdw%`qEXi<z^Q&%|_0C*>^M<DPor|mP+%lVVs{h!-fV=0c)-KcF`?vSC#jDv~y=I2z zElrd-_~bd||F-^KwrxV**Z9iDlV5zjrmTF}@NCuDKaOknzFWETruy64zFMXdkvx1C z?ekVW4E=j2P+~dPijQIIAI=XKUJ<-HVRbIww{^F@@11{eG~6k-yjq{(U{#)sYv8PE zX9KH@%c;H>g70rJJpX>KsdvkyUagRBW@(A)rNJMb?s&!f?4j?<E#>E?KU(uSxHGK$ z_qFXM$LbFUs~<j@^vC)BefxWci(6N9EPs1;*;Xn4@3XD9Ra+E=e!HJ`rDAblJ1f`H zpj6$3v-Q}1f7>;$_$uG`tfdM~-o*y<LznsSUbrwbZbrhgf9|IDaz*{jxf9O?7lc1H zFFsW4kZ0ae8*cWR{c+}z>SH2On$vC<b5CuKsqtHtxBttRY|~?G>MYO8bNhceP4fs& z<F+a=?UHrs<-W6ZHIK7tL0;xr%ew4krd#g!NT{B<*OzKt75z}6#3w=I)_0Hh+yY7q zO4l)N%AWB&=_%(`Uw6Y9K89DWoymMFZSdVVXl`(6)!t`Mc5X~z&R}mW@O800(PN%b zbmW&wtF85}nF}Mfvl*vN+L(1X%|hEfdSPYRj1ZUTs#i(3nx1B#=M(+U@Z?8ozVQ4` zZ_dMyjn@2_^JLAR2TE@i?)2K6c&lNKspQs!LQ;1>G8u;{o=YxL6v#_@JLST)M}m7b zb{~pj+>~p>v$Da1B{rYw=ZA)cTh7cm+&g7n-KQ{h!_U&|A`aj2@32Xmr&3p~xR*)w z0nddy)$h}o<~XdlUZYoZEV0j=acMqBb#(fvGxv=-#2+VgKghkN;Mp~E_oQ7)Q{Cn; zJr9+ACz(6z%(c&k#Zy_=ZrEU>>L@3@zTEfBwbZ<esebFVd9y0Gd(WD!Gw-gkTzlaA ze$l5t*ZAczU5l`Hy~i)i!d~Q8R%Om{H7Wap$34EJoM~e0ce-XNJ&?Ll6UkrRk+e79 zi9?;*4?osD6*CP&cFkB(aC7k_wWaEY%U>)>+VOEKXWtCjlE@C3NY0QOnjsq>v77wK ztyPp>x{Sm9UdYA`m9BG-X4H#@^<Ld`{Fv*xEZLj0?<BgkZ@71si~VP6qR8viKL=hb zWQy(G)vjZ*L9F7|^JVsY=8w*__H6h*_vvKkxjaXAT@p^4v-z=p#E+iXM$WriXGJx~ zx~+b4o9Vk>|LFkz%Ddh7cRAnNH+OS}kKUa3S3`7H9xGo`u>MEXmQQzcomWl&Zc%5I zxoq}I@4go+-l>XaZtXc*qvtMnCi~GxmsY+TcYTlKJL}AQ_x5e~^!AK78XMj^AG#5d z{YK=|j&h+R(oG9WU+i#EKb+&+qoGtNnX>wFQNybwqxT_VIc?Y8-RQJ%d2wNTg}Y0R zONvL7TsHUo`nC|)z71=n9L)H&ScU6!w5w*Ot4+Cnr1{cm-Aj2)lLX#xcd$NpU`|=p zjPAY{1y}2>zMb3_*de$?g#Gc1J8nPPUp4;m<y{nKz2Rd?<`vzeXV*>j?0K)bZT3gb z(&cBJXKoHDloU(~FtwfUc{RD3*V}8e)|+?FPECu5e(Sq&{-oJo9CH5MzHL_3aBHpm zNx$;n4|kWUORB#0D>jS!b;q}K;!6LUzrACO+r3KOT#Y{4x}lACdS*(&&ZUX={mZOY zRIdAdUouR8;)%O#JI_t9NqQ~U6ufAuTicUDFTpMQZJu%6UH8CpvMNK_t-0#6_IRGy zveNY2#umkU$pw~q|5or<-Ow&t{YdZ8+c0(8^J)ci-gTdin#|;K%U$KW?NymqP4A9$ z>aRFZ(N)cM;n$j)loze(-;G{RF3CH7??SG|tO;^&i{t0%p5^YFzR99`JO8OC_t<To z`|ey+FzJ$QaM?uHbBjC=C|wdLf3Vte`G1DRmR}st-&k$(%6j#mDO~=`__j3859qah zd}3CLs7|%)Q}4fl1v(km=6s5NGx>R{?n2MA|5pB1I)8A>qcd~<S}L}uE{^8-7yU}{ z{%_s8S9(gG@no0Wd!10Q;BeVKnfD$p!Pzf@%N#fq^EaOF=}@gdd}(d1di+hcYm4qA z+~VrW&18s|bnIVphq?Dn!Gzhn4oh9(yx(#2<;KH5YmZvb%UT+_;)61?k*Y^R2J`ca zb}J?wEHct+j`(i1xWSYqa;+8X-8u!fiOEsS>1Pduv<#ojDLK=odwk2T4I7mlS~BhA zJWm)n^sP9jcDzMYxAs57S{YH^EiFn5*{2!lE!%KUQnYo-$v%OPlgb|7)}L+ZyfSG% zdzs#nOS(swtE$-cu@|%}l{fy|lC=7;f2)Pnk}V&N^a2iDTJ**)C}itJIfbRa&sqLw zSgyi&<XNxGPp)q-HZ#2D2x97Ee-)+5_Hb8E$HVNc5pnDl716$zy6=5<Z9ev(`Nj3+ zA+kDRQYG>1M`wiJSQ)-VmY;PY*V-Fp(?ZgD)dKzhgq;tXp*P)Xsdc|<*Sy<rwM6f| zSn=xY#)#;*lI*Q#7h6nBwYa}~&a-u&({EYtZ@F@!O6k?2xy2uYKk7ZW_|D-!1M5!K z!*}=GJzaT~@tVM);%5!jg~f*_HM<K$FX-1+@^$~-ZkOnI>_5Y6E@mI!hv~aN_FUa$ zxwx2pmO@;u7`tS`iJre<@8Uzn=Vkq8Ftuo(qMf4mE-TpEjnh&oE4j?3<pAfFqgFn= zmY-iWM@#f=X0&W)Gb>>DEpKw*qvvdw{|rqR1!kPO<WM)|;=5b%@(*7HR3!U~%U8QT zyU^XszFk^JJzmwjqrCkd6K_+Vv`LYFZTMq#WAV7RNB=xO)H9it?Va14Q#NO31hRSW zVVk$|*@o)-3>Vb>T`u0al&JJ<#y*udrrL>_-{<<gn#Dcei!Dc3)%jJf&-wtlH`8x? z)i7+hn(;6B<o<;Y=6gFg^jwZ^-Ey<X*L^~tR%@TSk&0JBZqmauhGtuBTeseh@?`ws zziR*H7h4b9msYh~d>}XDyJ8cwzloddwxv$C?;jpXw#%Bl?e6T1y7NJWZ{DnBkv9@t zRo3W|CK>sO-R0F6vt^U&XMA#Tcp})f@R1+K_KV3YW42!0DLntpjL!kPHqKm>FSla* z-y7=x78-Gx%G{E@U>VF5UL3jGr~jj2lkkRF=L#Pb9}oyrjO`VktoJhRy<oreO~qu> zD651(mhH2STzby-MCqva%1iIH(zsctS3Njz_)+$g1yX+>PE6b-+_ykpa?=xcgHFRw zlbU6+ncn%DaZC#>^*kfUW$v!PHAjtK=R!vEtjY<Sj>`WzS#V5O(V>7<?%l){bqx6& z+t!`Ra`V^Uq;f^%x%;v!WtaWdx=rj|a)+<cV(Y&*Hp#0p?|2m~_nTj)WBcUfCzn|v zD^2e(NV~u2FOE-pcPzkVQG8T`9rv1mQ}3Q|91@;&ZA(z^Nrm{6e4n<OSuR)O+$8(7 zY|rjsCgE1wrSs=ZUex$j=y|qhkAZO9+vOPtZl2elq`Es{@`B7M*WXH;=3dTP@=-l- z#p9sKeIIHXn6jfjoJx0_Gfh0yl(nZ({iM~*g?@|g+%FI4eNd(F{Bo{Q?5;a1Oakv# zyxDs=*3{Q4VfXWs)_WFQdexTsRHBk$V|iY(zuHZ++23AGdAapaW>D_Gtf@SqtAdvw z@MP%gNLcdeLXP*+3oVA*emMM^+PP(B^lq_bN$F<|_ct%~UBF&Gg^^u6<o%DR)a90? zm)*{bWb*%VDxbc8b=Z#bqdrW_>$+!8%{sD6I4k&;S=5_spYLn$PPrKT;gI~i^WJfu zQzd=(-sag5Y~J$dRU7Yt!WPcOkyjVJvv%zN_sP`2Z1W5~-!~ifwVH2TUScsLqTu4P zJ9bizzD&<1Cp}QKo$Yqv-EWTFEz1%r)*5$Z9^l*>8P#HzVv)BxJh#|9Il{F+ROh&| zR-Vy@%h}Izo2JbF_vzh#hP!K5J$DH!)G&CnuDE#G40+Z2)`?Ab<_2D9HOuMkyn3y* zsh4-^+3xST*F&uDwoTPq|Da&!SKs52XEK*gFlsfsb}MVg_Ok1oZ%sOiXQi%_oWgli z;`u}A^HK{AL_OlyV6^77VsX6}Tk*+lshiY#$>7Z2i>f!fi{(~c6=a(z+_lyH_(^L< zQPtlwd?(K@D^HTs+#V9?dE_#4xp>UQB?en}<ojH5Tvxj2KqRxz;f-+%t}^THm^I_p zTmhc<VvCrW{~W!-o_F*jZ^yIJAUU73Yg>7IjbxA7XjL!U$L6kYs$9nV;mKx;WzJEm zCf;&#Ia0#jnawp_$?s&%lbaY9?B{;AM9E<9nxnh!d6%|++sWmtc(n3d7;{^4hs<;i z7HQ{cV*3`mSy~i3zB?)<zSmKD*Azdl1opV4?#rY~n{zWF4o?2h5G<trQ77Z5UaHfE zZCm*yS=U|U$}y6;*{0*)E<Aao4~t>IlAm=i_0CEu-|g>Rcd~qc$1Og_30Ik(?LE_B z^uu+^E$O|AYc>Bq-n~Hc=HerZ5|>_zd6v~(mVVaY?{~pUXX)L?1!oFum}Kl*a6W+R zZccujS99nCpJ|u#TrE0_k0mY@4B6%X$yKpFBz?b%^z@z1DJLIhKTQujq~Do$;STTp z>aOfIe{pBVME%Vhe}o@7kaJ<t;@f*}TTHp2_xaJ0jSo-c+00(nk!)z@y|qY`Iihm< zRyMZ4M-#4ZOgM0GMX{UbzYo(~*e9&4xOL3&=p%on+1zv9UNB~~JT_Ujb7Sv|>Sb)c zbFRl0SpS^4?0a%;dxx6ivS;RI%tafwZO-^!CzY&v-#Taaapt+RCLD9);9K!GAUA4q z#|HzQ#L3+{&LL9q>AS2~rB?4<xmEc<=F4Zz9ilAxktQ4Wq+M9j@cctpeqMLQE;Z&m z=QpLDJ3GT}GVkk0XX|9AFdJOCS8FxhR#-l2^LL-%<YK?ou~Q9qUi55P{$9+xn15HU z+toGF(uWpbmUNvF=jQu+QEb2?rAMo$SZptNx3k$)PfzFQ0+)vG`)aS5eOT_1T(Fht z`QFDqz9((>-d>a}qHZzwx|xLFX^XQig$1V?8}|#(*?9GUW^j4qX;HJJ!jH_8x+Yqr zCC2u>X7$-qIn|$cgZ-g-r_LsS;4}+)6>#JbXG8p~$F^_otO@1JuuRN4=+}MkUv8*; z<e{^7m$rIG{mCiW&Mo45_C&?r%THV4TV_vcj(j&Gaw4~Y>`V0$6Qx%(UTojJF?*WW zz7?5D-fh{1Z+UWcKSUo{9kR^G-~n6ayNo>j54SF@_&#&j!XvMoRc=j{IMr8bx$IDJ zw5S-DiAG4Fv`2D9)VAEoH={kOAKv}ywZ(6~i`M>()ZjK=2En{*S#QpYY?SJg(tDk{ zF!IYxm2hQ)d7lcL%^kVsYK3O*T6}lkwU2sl&%JvUSogg`O#Jflod;fJT$>|)H~G%W z9dlS4w(KykH2!ez*tZVG!zN|@85aw`U9DYyCopld{m)gY<>mFwi!Rs;M>zbOx+URV zde&C4pggY~?=*I2RGYtgHFtY%&ina%x(X@VCOYq2bZV>loM(rQoKn2H^3oy6&XCnx z4S&oJi*I^ro^kWxS>=*x_y03&Sgf~7W8de3N4<Uz-<3puc{R0bOPhHI%R|Qv-((;C z()j*$-myJ5udEWi`(~<iK+^6d&l;9)d2rOfVyo@@wfDu%?ssVHT6k1ltwrt~uZPqc z!KlT`?ObISH(%l@lYNjE_B#GvNbWs8k6B;OS<HQEBAx!xYJr2{)$R}ZMj@f!DwZi- zHMq;e{>!<^Q2Oot3N9_nekq2H7mB4APiVf++B#V`+o`MX%#TWi$6FsUUb^;bW&hD| zorJw+yG>5b@2@-0cP~S;ad&uSc8J<jlk%R`jTc_zUejIpbX~@@txW-IH($-Zb*kW1 zMZ&77+HXYLcl|3>^S@|&PE_W)nL+rHh>*Z#-)nfaoMSidTl_sX!0UeHn&&+)H(G=% z?_?G=diGv-(OetrDNp+{&n6r=?s4|5uj1?*d0}ilC3AExHN4B*x~28Q%%fMu-%HB9 zv3Ry*1H*G3olKW$V($c5G&VE4<#Kt>krG=KZLzVQ$I`Z6Z}S(2&0^pBv}@nxJ2Xsx z^ka^IGXI3Dwu>&9=QO-7Wmi7jYUj?*9r~YP8`Ghmn^Ph!n2U4*j`{PeGArp`lyMeU z=M_94{ns~!zsLG~^xL*qPQnkD^JhHiVSAd|!mO9`Y<BDYD+W(`=IV29dTlwe_0VbV zKKXNEimxn}9Zo!~K555-Kc4$O@7wpO*#1PS<H<cPqU~}Du5BWcO7Hhhv3%yd-8-te z<L=eBS=n!XpVUv$34U~Po!|6LKMjw%7_VIRTHR>zOo<<}1S)PN3v6SYRiN{p<+i{h zmra{r@Wh`goT@MJpTRIl;^bwaS_cX4dxmT)x^(iba$BC6%lz?oT_)qMu+j3z`efh4 zJmrt)JENkM&MJz{?h(&w+s)0<<SlaAifM7UoIpoM&AUC)tu0B}jgKw0cgJ4fI`V7X zA!F9>LGej1Gn7@C);&2VxzVR$u|EH`rBfXWnf|dIZH$OJefG3lR`sf#e%}K2zlif@ zbZKw&_j26cQa`gr_W714>x0(LO>*kol=wb&*YB-o{K|#p%pDD8Iea+(S)A{qS@Eg5 zzl{x?ffjAroKX%N`LiArR^+#+HC)cBJ~Bo2N2AZN*9I#m-?u6Bds7^}+fV*q-{Q}a zl{%%FCo*;@`u&dnuyKW1uZ2X#oK;&7-1ZFi5wtwvWA}CGOevq}-@e`%U+?bxvEaRA z;N}Yxq*uhfojNmn+gfcki;J~h5$1EQSWmywbTV7!Y3JGM<}EFeTjp*~uhX+i<l3@# zP4*uXxuc23hfCfU-D(dzR3|nq?yTll`H0J_eQq{~w$8C?w=~_#?Wx|`!MJ6Mv73!@ zcjglI*1l)6?j-hI{qjjm({?J`+EUfpuGw+MtT$I$3mYWu&fNE6@|*HKjT35=@8#qz zI{1LkZ9?_z&OQEIS-y^|H!i-rYpJD}p=R&$_+1q<3r{SRF0XJGPBh=W?)$8!w8d-0 zd9BXs?w;|Y{A5Dj`LH_?E%QSRc3di36j;6bO0IjVDA#|6E7sOCCUu|WSCK3f_if*M zw7D%&vf<)nDKSOArF~z5U4&G&op1H2UVH4Li~p>`>=i)_F{1w&*4*U#_Sr8{QaSVR ze+JiU(JjW)6jRD?Jj@BdzUY|m%!iEZ#=8=f913@G?t3k2_Tp&A#_QLVpKbUaWOXzD zVg++Riso)cOG{xNvjvma=vN(Qm%N+r`tHcQY1-<CroCPmefOrEvgZ0F&-NaOU^x@Q znBKwmUfsYvbK$$^5;^fx4&BMEdZ%=B?LC+JqvoG>%~88-aat;k*LW7w(q!K?0?aF4 zURWr5wQOF=A>KcHXDqLnG-`0|);sj<m8<m{oxHPt>kmC-ezv_VcH#l)U8#JZZ;E8K zOC+!C6k4=><IBd2ClCHR$*Xtv%Fp#x_I&UEJuH5;aJP3>f6Gnr>R0CHW<OE-mb-PM zeBa9(@za)cFAiKQQEJXno_|x8E%BKw=Y?B|i+hqEeTsYAKi5HFaqol+dU7{4moqT* z?030v?d%&)_w?$G4{8o>@Xt(?xV_xe_o~FDhsHTm>>7-xJZYBsxOvhag@ldsH?8*F z;hkakKKt`02cuT^6O-fSRx`D|{%8|3`>waFH@_v5aLlV}=@(nx&+?b(Qk`<#*+(xS zMeSAG*-f(<c2*aEiddOzs_=wca6^Ha>LZcxRL6jngOiF^oLp8DbN$n4tGNLd&MV!1 z&VBe|yID<2O8g?W*|GkM^%ku=8Th1P@qdOr8>JE#PrfL7G|>L9V2l65yUdfl7_Y1{ zJ@@14OPkV95k(WPzu5n^f8x26n#qwry3!Vu{b#7G@%iGk{*lMKoL9PM<ZrU=eP8YW zBX61L?2T7g_kU$*iFd!noK~>C<W~3Y^erpimb|hS;cD3%dBy*$qvqS{jBAw^v$D<n zCry8ov;VJ!+x&tHe}Zn!v`v;S^)fuXcUHBg-Cl=^xt$ho-mN;-{%^sA;IlCi=YLE& z*i!ITR9oog-GY8q-IYNTlef>lv)uB^!Z#0fH~duZin!t5dgV>C+1!bTAFjCWry_OC z^5fCYRncCa1xM~W?LMmeUZ^_r%F@WG@w#g}ID8YA-TQvD^;*EK-PUn6rt<`KZkLtq zssFJ#U;S+U_s!iubHkT5|DL$bTd{7H>9h4lrD1_u62B*ADQ;)wv9?^}S8<<XdeCy0 zl3h80rA0;u5~i>}koMWbF>BI`S4($DeS5-tFz7f>O3V??7rU=p9zD=m^4Yy^v(_f= z_qql4tJ-WA9{%ICO{in})*Q#h;SHRQyB(M7mCifU>6;tY`=G$6gsbpj?gu-a{*vgx zJM%uU&sy^61FPk<4ZTl)R2&tb=BdRkWANni5z(1!=4mYJ#0(Dy<OE8eIq>H|=j*G9 z)%QLaInI2rQ~6D|tT%7*0nOfP%l7OLFcE9$Dfsi0F_<%7No9)P=}p^tZrB{mUsY3m zfcM7d0)gzZs+>X_0sU8VecpVPN&CUK`k&<a18yHzo=qr?JmRtPp3MwfE4`0fBcAPU z*lV%<CVNIs)M^#!FFyGXw72h--urOF>x<UAQ;nan{tc5VxpVSNn`4k{?8W(23hMuO z*B0OT$5gj!#`?`cH)lO}SZmSgUuPJ3W6R&^%u#k8W>FDu8P6<hH*t6*@i{b0YRam% z&RT^8lM?5h*%{l<dF}P;Qx8yjd3?|E&6nQwS84C>_~M_dRg%Tl!EdQ!dt?3y-LF3H zZhP!nXmM=uB>q*BY_|6lHNU)kvs-xqAN!WPuTSP>Us`g@Au~c~@9PN8v<Ct{|GElg z_9Uy`+j!-sQ?jIhiqe0EBmWe3|BPT+n0xVJQudwaM~@yVTpG8#{+B_0sO^Uet1Q8l z(YN@Q{c-*y8NzljY-!Nr{|q93Bs^rrZr^?Tbc*$}TU#B?LSES|&0V+KbE22Gli{XZ z-aLO5zYN*g>9^!OcfZPOsOjsz@45X)M!C+d!k+D?^wxS@%CJ9IX{_-*L~{F{XHsWv zgA1#*({JATpki^l({9yb$qhlvd^~Gy_7`-oxP0@ptVEOqi^8ef%-KS@chvR-EO#<m zrum=YNub5YhCIz~ui{(RF0FZFy~Zi`$^J)~S4!V~>%9`|EwYE>z0v%eA!V<dU*!w? z`Fwe?Xy2K;E7<3~Im4H=?x^FM8=6)#-kWVuk$xgx8GK831z+OX{b$Q--+C>Wv-^b5 z-rF(H>pOJzPm;SS^pw}Y^MukR!<~=*EVbUb;+pBXdwgf6#JmZY64*bpZKk>H-2)Mf z{P{;%yrz4~d|2GPr!udi?S;>pTT6Bud+!qPpH+}{#GyLjYGa$=BZlWsR-R=Kym{01 zt<O`_EiYu0wGU6@%FE?6di&PC<oWb{t7jN>7|pY1$Ta=AYfI`ysnCdvUTi{qqJQ2v z6mmtLpQSW4M<qLKXUJLhOU0Va_qhDd9yOh+$^7BF@BE<f%I-|z85Nr<D-T>sicmR} zcj}et=^47AYr6FhZNItq^QtXkZ}}`X`7*N^@t71lT)(A#@<U)5_s>(gw!K?!`|jae z8|JfOjl}6R!DVNgbJoWt?^*Nrr1PC%o{2h%R~Fdc{kqMg^v>H^C#PmhiDo{$lYNsd zFg0vb_s7GUZ@xTpS{XZaTh~^D0}EbFvK8zpSzo=3tG~Fh=8D2yDgT9iefA~Kcj;a= z-O_e;4#Vli_d^c*@7~7d;E<p%a_$+^%Dpqn+ZN@m{pj88dbwQld&-kPms@9_VA!~A z;!5=@nOScb`;-n(YD$=FC?4qgXo4DZbEx6{S<hBj)L!$-3VSCNy)R<_>>#zH%MF^l z?+fl#OBDVwN!EJN?7GfF#X@Hkon!wdRRn*$GP%ESc}Uc)4R<0fWkNq5OIZ-*&tmm! zd13zSLw6+hi80Ok_v*)EHj`(&qzq#hEMhG>z&p!Jsqo!xNgq+wH6Kr}@yd>Fxy8uz zvgt?WHmSp_>eNhsZ}QZdu~)7CS1OO*ZI%cN>rTt<ZTlo-gF8(w7wEHBuD@t5c&Ok# z=he6y#hN!7Gmf4&?Om5#Df2Y;<IhtCypv8SEm`)5S6uh1<c5yK7aJb)9mq*a6uWd( z<-OF}poA^61&W;+Q-!6^WnW&Lb7zIQwqI&6!}mve*Rroh71%4sylM$v>iguqMTmn$ z?vFwZ<+};@rfdH3waPiDVB*nI7`i;Vy!3#=uaf)1EYnh!Ep@Z}&%hjA!r8W)w<-6W zjPV||7agfBkEY(OC^hJIyr=g)(evoMuU9v`?_>~_XngkgY)pG}P16#we_>9C?p_Nv z3|e5h($uZW)O+6XM<tEi5^Z^jZM}iUy`OjcJlQC=@%?iyzYjlRa+X|9H}La3He2FY zqM_$b1&Qb1*PU9B=eh2EoSf|5z=M)2d!`*}So!<cRc?Of-idk@$>+t?R;=8@Yw+Og z$qUgZES81n6|ZV6H|^-X@bO5NWl)ak+l;RF%nExSKNi@i=ez8Tsl4$nVKy~`#_A{A zUmH1|JU7!n*X;2z+dCYw7gkBcsmaZ|HB~xjX`t%o)aJd6Gs-V(l%Ewidm(nwG1+_m zJt=c{&OOz3=iyA<lkDHO6g)WbY{R7^7b;G-Wqy_6j&3iUF(sHUcQda~_S|DBOsQ-k zN1H5OZjG?Iso#0zy$K70(RbN*Z<O2SDXuI$Sw4lCGjVs8i0l^EPbR$+c=)mnV~i~$ zD-xINH2s=w`0n_w1HrHU=`I$S_r}t!Sbz6DkxK=<bKSD6Z}}uzU%0B9{VXTu&NXrI zH^09Zo|LaSwRL0Ea)ag>e@uK=85#s1O3Alf<1;5|wmz?ohsDm`cWzG=T75fv_KQ9H zly*u({4LAb@Ch^TZ<cu`rzU91U;Qxo=$c;LzNPk67R)6fudW^Xm1loC>+qdTz3%g$ zA3aoCyK8Cf#`SWqW@{b2cK%0>PqGiYb(b(RYxo1pJz8qLTJ>#-_m>^s^OR?KQ0GyV zX?Kl9z1H7~Ep`i)?VQT~aK(P<+rE>o?Oz{qYSHZ7yUHdhhAefxy8G61?m5?=?B2Ci zE0MWm!u+jPd)0EL%&Fcsv509|?Ed>#^2_h;%{7hREWW+9@g}R6)R|EG8Ja9_?Bo9( zy8LW^(W2E7-{vVfEpASKKl9#E|HGFb$_AhOqpdh2>Q-{~lNooL+PK!2?ASHWyRJK? z^xaF1;%{Ajg&lpO?_OE&`Vk}YXu044u3EKA{L5sMn2!2f&wlik`QnOW*I&F0U-atQ z&gvgwpC#RRPj~4r4tY3FN;lAdZ}sBpz1*Es7GCbLOk5e1pKhVC=uZ7Ckr2k-6A!sG z-}>7NE0*UM8r0r=wscv_t;#j*1-wbG;=FrqmzFS>F3{Ye-t}|c$IBj%&NK1cGRrC! zJ0S3`IpW4<;n^XE-%g(KIlyAva;nVimW9`mQzofr&l|1Z%r2vnByzphuOr{AC7#_* zHdy-Z3>(#_Y==EAn5@~damuxwXDuQb`Z7Men|o2?(a{6dXVgs!Hl9rrWIW9$$uBce z!N6Qjtz(DZii<{-EA3{V<~UNG8WS?z?1;=1p+{;eEz(_XOEe~1tmWpM`*G3TTh5Z* zM`vYcg+AOI!!+~k#7Rf4J=(wLP*H@8`xJ%W`R}%!x>0<_)OmZ)EfKS2Vr|DH&(=OI z%s=);lkv#s$Z4N+T_-F4dbq3aTYl*i9j?O`TU{<6HZ1s}xTeIsTI$H32>z!h1^qtV z7utR}L-V-cA@)64+oB@9on<bS@6&YcE%rRK<8#FFl8i95U%X=KTjy0w=kM<k%`4wD zp(Z$C&SSszpKULu`8u@E?!8fDyqo6?pK5*JMT@OBHe?*XvB-$uEN7AR$>y_SyH;k) zt}f=7&);&$_U6Gl1@X@>_uc-ax54Lf#vDb<x7W>Dt7~*sefnP(Pj(Ya?7co=$#%nX zrUkp%7}G4C&58SPBDa%s_uU8cG<=Tso;@SB*VU|0dRCV~Td!=ZkLiQ%#hp_Rbn0ce z7z;mKth|VIkKzJ`0D;H6|B{cM+NvJHI^mnp(w0W)1J*(fw<?TRe79EU5Xm-S&ignm zvXVh`_Wpnvv1fa~B%E<t_UyqY%{Oc_if8MIT-6txp{FhSLz#<t_LH``qBC_nmhakr z!+zyL$Bcb0t-85>U(!#Or%hhW_SLPMwZrs6Nx>9mK4qb2HYqJVWt%;NbS0UL0(U=S zvT(D@T_#xS+qL*)>B%gG3%4{SPEA!|uMB82VS4pgp>tvI9+n%^7O)D$Ur@Yf`9`5& zmE(=M_k=rEl~&){ayR&o`MuYryWKSI9-4c{;QM{<xg2vBryshY<G5+sanXZi9@F1^ zWz1~)@I=#eqp9MIW3Gnht7W3}Bm_h<FX<I8`2Oah<JoU@=YuOARTSyo(g;p{-2JBU zo!kS9#-df9?yj1A%a6Up_r2O?Zu6*T|5lXW=Cia(xLaV={ZD+WXWAJDnTK30)0)b? zgKvASSRr+?prECCo5YhV(y_CnSq;-J=kCiEEW38kPxMrm==^}1P%oCvipPo_cAlAd zB5h-k^)08FYkr(a@;_F+-Q1mfb*Pft%S<1}Pf@q$c<IV%I{C@DyQJ+kDp6RT%rm2t zck10)xyx&>oBX{z+xDqZzS3##jE##Aaa>V;f75C+i~FjB!6~Uhx06&2w`4ju%wdW6 zwOn?AHS@_6enJ}!gqZYos(Tz$Zd58f-gL=$Y1l!hsan1_qh9XzU1}ET`EHqc+(Q-C z&P6?Q85k5^P2mlEC~_|2inStdx|n)o{u`0|*#ZGaHzf2aNwese`!1d3Jxwb&Tgr6F z8*fo_i@pM;-J0i*M5%J;Y?UZEz!~aa?4I#H%i}#u;tPS^dEMpZ^Q03(zK7g>cD412 zru<8Rfd35b>ED&E1tm*8E->=DQ|_ZG@t(1)C`H|Jz2HhVF6-Nl>R$Qm?`HaS&OEcj z(S28`yM=^`q`Xr5AJ2r$lfCzXf2?Y}|5w9(@9iwZzZM*yp7s6KI^T2a#D-~t57cH( z?Psx>r*_7PZ=vt|)!j#@$(vl;ee>YM^)r{wS@-p~vDERR&FzZ{-Z|fTJlBx#=i+-g zR~_V5v|V0xCi#GxaMay-ON0M2T;gz+i`o!8#k(vxwC^<I{#E()_j7JkhA2#Yu^^<@ zt-F1{X~*?!=P$`$U$wfu)vady7bzgqoq09edq?xpeOc2hH+P-QFuE0aYKeAEwC9q` zIpvvuCw}K$TE{R;;=1hHH|eUPnx~gN;Furkk@Kb^Ii@sl^BddW{(?`eTB^^^*?87Q zaoZR7q761DHt|@@x^|n{Eo1AMCC)oqtHR}6tG87f&2^q;7U_Na&3E(v40l&@#C=Y? zdDhNpivP(ZYwLRLO3golEACj`I@MYw;!$dzR4QxmX-d{Ci+b%`jtM8(TQ8O{&uwg+ zf9~*?R+B!a*eA;z74j{w@?KT$ZQl1UzPu<*zvleQvtrlRnYll_yLOAogbij(%?>Z# zQ`*R3{E@Bs#v_^7nO|aWtW^0iaT14osI{^4&6DRMGPg}AzRSnAGGRY|=xn!(;bz;@ zmz$jY9Qea_elp`>Zs$eIXX(CkKI_)|-0aiBD-y>ycMGRF9<n>xvU|6B>$#HV7k!tG z1>chTc6jB6eoKG*W|Q8iNw3b8O#jkS{q4Yq-67I`OSSF`@7}>`+1nE`_t15nwB5QN zc758oIWJW$>3c<%=T!b%vJL+ky6<V{o?k7u@<wUYqI2c*T+Ob#nZ#UP6>$4?_^N|) zUl&C`*?ypS7b|;u>XxQv*-g28YwTp&FP)g+YA9B7GVbk_1+PNvHt%1+b0MYqWMWRU zq{|xRq$LvmpSA4mZzk4?mG_FbpK;sgdFIHk1y(8B?oC*E`kYpzY+}fy>)Us2c1~Pt zbFuK2%(1hF<GlFZXH6)w*y^YF=HLU~lquIk>n`?fwPc&AP#Kx1ulU?+vWkvHk421M zDo=j);reM07d)w4*q@dCHY;&@px5MciW9HazjQS``Bk9Q^H5P<pInAZP+IdOw#9`z z_wX}TpW-jHc_pxF-|UqE`F*~pCj1I@x#QQ7aP!uIYk5+68$L^|SnnZY|K<6AhSpFM zrN;74Gu(cLSnq0W=(+c^<yN(6Oyuc<n^yeY_;vMz<@<N^m%Uv#W0~rddxu+3Twl5U z@-d^EtrmwGHqTaK5Z@*G^73-eE37w;pPu{7G}LTQXk2`u%bY)L9s4sD{8E;eWAfDa z{hj&bo3m2Ymdl$QR6Ml|XVo)`t6Dz1(f#B1fem@>Jcr+O7v`KvRo?f9?cVBpmu{Io z<2iQzx8mL3>bVOJ9{4^(K7`YB7T?^j|2n=q%`B)}<W;<FRo|r38&b8|tQIXi`)nfv zOSbIBbA0k=RvPr$&iR;@GUd+e?U4eu{wmBbFBG%?D7n8YIIEmDIa!NmbIk?&o_E|w zXWsS7$gE9L%bv~F=NMLA7jdiP<Gdd;Y(?`Aw;A>-?An+7H&m<IH-J$n-X*P#cYn5? z<>h4Nx|LI6H&|z`dc4m!$xv?f-JCZ!qpshYXjF5^&?B^Z6U#wHrb5$OT^WyV$@~0E zm~ky6xBYV*o5bJiMUU70iSsvc&a^R^Ezuv;UvcU4e}=o9zG-q_HisJs?frL-Ki1Cs z&V^-%&9-&C-_e`-qgF6m=9$UNch4?0rdU2!a`}6CX4u)4OOC8yusqOX@=K%G)u4!* z?~BQ8(TNfs!VCOo^=C+Kz4G?6|3Q`gMi;e9&o7mnmnxQ|mtdna=R)lPd4UOQ1N&Zb z9p^szXjzHte}<k_=TGr0_L+X==*kuwz3wmJwdwyEJQ?()dgi>mTGV!Z*>yRoVtW&B zk4bk9I!tG?Y1C5+u74b>cOrPX=8nCO+YL4fxKG;Ce`fpY&|X8U+$U{Hw|2CyUG&{Q zm*IJAujI06Z>wFkd7Rq$&(<5~+=^YX;*q1vch}|9Qe{fdiWe0+%U1`kKVjgr_U`0N zhV9k64D*)CJ^#qdw=;WQu)NpoK3?zTCe{xFe^fZEY+>OwbG#rP>s%hCF6`lQt?mNH zL!J^A=1lR<yDE1RMPek1^;T=KovUA2eSPbkgJPl4PK&**_dFGNHRYycV(F=hm9giK z<d?ji`CI$-#Z~1uWRL8<$~D`vw$&z5xjW~U)|MMatJjEXg+_0gJNNiKtL^}~^WQ2K z`}W=yy|+sIyUrS(%em$rt#_}~>MmRS-nX^;pV1sY-z7&qf)=m*e&nur`IQrFXS0Ky zSIqj#&u3iXeACBtPtyEW)8ju2_g&)_d2Y>ew$Yux<hyX$<VkrSO5ZWWpW>-3u{@Bm z-M?L3J^ASok@MvhX{N!l58jyuH%jcNR1>Z+Z)m)3W3>H-uV2EUnad;}C5pSuQ+k=H zdH&Fuyhl^@n4F7w&#ZCDH=DzFlE+l${yEl*M?=q-L`BVTUima_>*{;cruob;58ZLU zBX5TY>+WNPwnrtJl`D@t+0etfS>ja2e})yW@5a0{c{S4`ak<{KU1E|)VsfGcYVZ3V z=Wdps#QUB(>YAsXcFzRfd%}rZKej!4c8G1QJ6B5N!p^@BSKl#+y!%Mx=C(w=8e@(l zbMJ?&`5wG=Mt6pF>ERNKLrTl*Bii2uFAh4nm|>y2*gLE1K1WW}$>`UI`fS+yc8*HY znPpqwi`?Lu`fin#TyfnBt92K?J8o9BS}hmhF1v14Tw(cinM2d|p3^I_U3y3JKf{Ns zT3^#u%Kw;K6otI%x+?d`+|@zYg*hy3VWD5ffr3JYtGr#lmDA0P{TF*N@@?H5_nm#; zzgVrbhY7XDt~1s=m$_QiR~y5#k|$ZJ!8Bv@<M+{KPd47+c$m5AKf}tlA0hu4w4`@> z6#ARo@-db9^J+S`roz)XYn;xOn=%<Z-W*lrf0V~~7ngA8`YY2~72f;ys2lHD>HC@W z#x<?oxn6yT1#Wd5taVSC<EIt%F<|fZL`n5ss~IbP#2?w7Wn;Iv{FdY{rsOP1rFm~m z#Y0o0^563boSN2pFL-&^o*P!nJpX>Rs#v+X@T}z;lU0d}@1BnJy?t6XKQk=*ICErF zT^46?w^3oyyL<9|I_jl<Vtx{5%cuN(oA#eUC*{DLSF?jxUaNClcTzI>+oZ_yuAQ2* zdb>B+oRZ$(nYp}BVE6ULCX=9Rvp+gdT&=r#&2i1*RfdxbT!dz}Zoj(njC8Zij_n4W zbtNn3S4fxZh)BMBUVDyn&5oQi6FO8scb7BzSI0Is9BsNQ^x*bY?aC<+kM}JWmU!%W z=7VK#M}%^bZfeKgb!-QxoIP|m&HQYy%b|;{%e$CrjeYk1Sl?+AkXn`~eMV$!(1j1u zvtue1|1${O;yc39eJWG*Y*pgDPankWK5dy?X|yO>UwQ}E(a5)nY-ia5SGqp^8hd<i z%60p@hV2#Yu9Ls5y6PMu-MVDI%eA0Y*Ed)_nW9~%HIGet>r%_x_VvjI-y;J>XW!XW z9`U%;Z{BI$)m_;({aku>&w3qos`tI#{U<c*Z11n7JHAhi-MHqMmXXvS@z(IP%-Z0% z^_79^mx}u@^_ySn|8Mu*NsE3}JNI4C{J7$_M%V4#J7$;u@a?}FkT`40hrgmy>(gYH z&3Kf~b>y4r_stt_+Jq-$6y8zLioKap8f{^s*u=eSv2sNk)A{HB8EgzLSD*2F5V(2g z`^ggAn?j{-zh!aAzHhYmY|*P_bB{XAkDGV=eprwH3Q1kJ)$^=B_;FdWhE1OFEBw&A zr<Z0Vt@Vn%_d4!rz^3kI`G3+oyoz7sOu1!zr}ldJ9m~G?AEkBO<v1=bnsnH=FVSY& z2YuD+BFDV40!pKA8At5rad&zV-8wTrsp`nv-$&R|W<Am?64)Mf%_y~X(d&EV(=FMQ zB4l!tp6)$r*1otQUuHgscu$J#Bbn{o&&A%Xak<YIF#Fn%u+OV^r3(~pU!*Wus!8PN zoZCWcKWW947e*Y~yr;YAbj^Otup?HBUiG)zqy_4lrK@mvH_trWvFO5W=0zqSc_flo z2^>&(5mx?sQQmJ)%bOt<MMmB++oKyd=VWZy((9NRy}0qyM=6Czw<juI+A*=+cE)F( zqC?T;DQ~<hgq7a5w*1<%BJDrJB>qEpKCxQfS8FjhxO{Zqqo<0WICncuuxSji`M}iq zqoS#_^H^T8YQ<45xtC8{jeTEpoMn5eULv%q_MdW6LvPN5B{J5R6K8dA*{wEVQQEIo zmcEFNlLfZlcV|9Z+qq6%tIxeyPn<n%LC3_>Q{Sh`-kW_`=*XoPmIf;sZ}bI-ToLQ` zHTjg-%zCSGo#qdzFfqT#=2<Kj(Uw_^Q=R)XEoO7`^n7pHYPQeb#;NUwx!F#~gwwuZ zjBYco*seHhGrPia<sZ9$x__T|$Ge!7M-+3j{d=t>BPQt2Zs1jT_+jT%z3OBKk-rn0 z{uJ->x}&r}cc0l^@5(4Az2$-PF9xnW*ZbgnWy+=KuG^P3eD@dMe9W7>CF*@rVw(Dd z^UtO|S^BjtOhrd$C({v;8@Hqz_c5HgSbgi$^ZTmut!rL|-(@#3FO+z=B4^H{Q@VMw zkGyubnw`BDJ!$jq3!e+_Or68bJJUycak=5yxqqD&T>3S+`Ci!U#d~B=T+vD}`}E+b zsrIG3OVN2>mYHsyQNa7@a?-48wk`a8s-{}azBjiSMVnpRaDDN;Jrl#Gx>tnn`xai~ zZ#+w6b+y`BcER)q&bx0dn<?~-OSL@zRwkR@i>n^DHT!Z4&hl8to%erKrgORf(YK%z zciEP${?8D(Id#v)5dGq?xn8w0bI!e+!E4TQHX+xm<R_EL@-`FCf<w=qbyRB^|7X}a zMc(mu@GQORT`Mft9EdFwxAe}kvVR$prJpQSp5qYQ`o3qD)1hCY)hEy1S{_m>)pP&D zJeBCJIsaa4FMY2ib?m&^<p}AGT?xA@CM@2a%=2vB!RVPsI?6X^Szes&BT~J0e%5l2 ziY)0B)#_Dls!6YE9xE+8TkHJje%$Ni^~?uuZJPDjefMgksJ!hN7yhk`eI2D`xlM;P z(PZVcTRPiU+S@$LyC`{cozS|1e{QVZJ8yMfeYEIGpI^}ByZvWgE4)}5x+Ge3idcD4 z?%llwLTsB$_dCvbcE0q=wzX<oQm&gO7CRJtWLx>Zywd5ATx?4eo9Dp`A0F1dJDQhk zDpe=d8`vNdxl1s!_~XQRtK2Jop4ho!R!?TKquyk;(|5bp%kyzMo;h}$QRvzFzpmoN znF1Ru58ZsYBVwb66ia--jvYVdC|cg$VP*AldFRGGR;$faZ^}%QdwV{6%a)pp?`!7< zK6mGuHgCoDj2o+h*YU1mkJ!FS?%jg9-W`7ha&4DBTKJ!VTj+h}Ti1;bM7g$Er?wuc zTVZo;z3)s0zr7*bZ<%y59X#9VC+cXp+V`I~$LgpVGA~a!t}8P>ujyAJSS>Is&P}L! z{+911bMzkjO!Ymx-f6|*f3j1)zh8bOW$(S~uAk?0XkFFpQ9Gjlqsw>2{nNVw-aRQk zp6Pa7a>A7}fx&`1th7xx74=NL?IXABNL_bRpWrlUW!~&vPLo}>%yskTJn-JE|DrTQ zrIQfLC;w?Xm)_i97iBY{?V-#AorCid^JM4TR&R0R%K6tK=Pc)!a78S7ws0JK!-Rmt z8!q0Qm-me=X@0D*!KL)##}%6tw<-vgpP22XEA4mU<~AmMj?3?(qZ<A*aQTQ_+dF0D zbUBL?YxGuom8#ri%6z2ut#(@O;fKjQYnrRL72jn(dgd7Wdal>(sPeV5PNaUgDY?}3 zPj}1ei<!0&0?VX+`Kl}EhzTk*?~0il%zEUZ%;o5S8P)kUQ@*d~ljmEpd(X0h{|xP` z4#hS<a$2S?JbBie>AN!}WXpD43gp!hd{DZS>CeqSJF;eNIXJ&_Mb{S1T!+Ak_W}jD z5^|*yf0mcLydm;kcJ@b8=8fffInj%jhgj`Q++SYc=v(VG)tQ~|&H5vz=a;+ndahhw zc|qw{(ShsEvz{GVbU5@4(?U~&%f|xrGA8DU#BaGIdgHusPSh&%^qZ@?rrIA_>GPPI zagBt#n99fato5$X+m>3N68RRp!0^$$&#S|BPgv<vrxnYaJ*SViYhjt}^F+2#|06k9 zY|sD5&k&mP?P99>#>=~2vRWQbyO~}8-R<u}&Tn-`)PAqs5x^#v<amfdU19siM^cPQ zYjTPO+EP8vC<_%9UyRJlS-a?3f#?2N)iaCj{^@n!p6SjVQ~mh8l<8-;$py9#H)ZbJ z#J;Lbt?%V=GnsbR_X-=^@A4(DS{cs0an8;D7Xo*gu5I&Zh`CVw=l&+uPmJgJQk0^% zhQ0Uy^sVlVbmg*b-BP#KW$tz2_Hh5GyZmRe>LJcofq80%dz$!4s~ooEiJKfhnXq=t z)fN1IC0hS%dhzh+9L4Yt4-zM~%O%=w)!NwefqD76x%cK2dYzM0&gPj{tX<Lhl(X@} zql1g?C2GA@;1B)tv$%L^oAT9&COZL9^{q$OmgZL+FqX>}wOzLE+yPzRSw9!vyHdPX zd5`jwxjMR)&u6h`>CaW@-;~OK#6ERV@rqMM35&g^R{f5iQ*qy)Pw|>+{n4D>112IT z>|IS-ZD)R-Uaqo0^O9-q>?2H-jf;+(Xzo00HT(MC5ZQHe(}i<H9`L(-VrAR5;95uF ze+HNHM-11s`Gy-dS1fK$J}fD`NS(DHs(yx>0+Yh-l6!OCh1X<m?N_?EKBy<^*nz)S zeHYGl?hWGE%-Rt9_KwHh$&;*)>`3{T@7j6rti+kq&+>ZS%yy39o#((XFZ1tHv*|WB z-|vv?-qSnvw}$w^0A@K4!`qVIE3Y(&T?|^9^h-CnAgAGAVYKD4>%k&FZfM1*ea~6# z@Zewa>%5)j`_}e0H%_^)DwdqE_+FlIz-r6i*=D=?nD5N8Ua%_R_axU9fhh)G{CjkZ z+g|WYelo)_I87|JU%=BX`;vsuV}(=MFZWKBzT0uI(6&<D_Ns5zxwIcW?JmATr}Au6 zUUlAzcRi4CxcJqqJEpH5p9tDhc}Vrftf<>ObGm!oA4*AePB%9H<oE80$rDbWj8687 z*^$PgV!O*2k8CtyaB&E`w|w<h_HX{hvn<-nu4f4rM|&;xm3o{o=fbt*ntZlJ*4wUD z7p?48F_cs`T(eTt;GvDHz;$-}N8JkdzCK%!IngK5yle5D+vhymFAKLD<!nzep8rd| z{*}40f^)FNEQbxxpY`bk8QY3F{F;%_U}!!sqrt3wQbo5z7F#<H=d=mwA%$Dd&pGTe zf6|?s)r%MEHU*bemB<E!6(0H?xt7`F-tXP*88_!|5_L6tadMsX=Bq-ta`-<o&eFA* zSsT+|@!;X9xo4EawtBr)NW7OiL1f#3w>PqtggvHn?o(1|IlPnIMv?D(My}ei)Z3Sg zHpzd~)%!DR?cWC$-YqkIMONkfIJtpYVcF9Cwq_@^iyddbJP`D%ulj4QSY-a?Vn;ES zyB2KSPae-vy!&vHj`x;Vix#(+G7CtqQFyq_y_YM;ROZHAU17PEJ)$uZ7R^0t^cgmb zUI|=$&+<Tn#MAvA6WG3*O_A=MvU2vWsD(#wEONemXv2e5Kg|>ty_#)lpwPb4a7)xF zpX9_X2mIJPE!#FGXP0eyY_Y1myL2k=yI-whQd2WSay@x7&n6tx?AWr=dZ+#^{{uNI zXZ}&tz1O{1ymFg4pX#pfZQWKAawqZ^%Vuv--?LemxtyzQcY3zRM^@fiLmB@B_dR9C zD;4vv+^KC2&UHPwxMYL6&E@I)mc7|2#6S1i-zP6mCjMv8$SOU1?15hJBV`pGiT48f zR}1bHYlw$e*NI&Y^jpj#Sv)Ug3db7xy=5D_1q>G-No%mt^|M~sa(8J&qRg!3-MdPq zyQDaF@f>d0xqEHWz05h$M-R&8>K@8jcP)5M^Q<K@%4{!+O{3QxX71+~x;t%`W!~a@ zSIgbD8U!xx-z}tiQTv}VLtanDNk6M;Kc;NirG7-vM5E1O?)88a_3b-X91pGuJyPnl z*wt&&&0QHfOPkE+2xN-<-szJXer;C%^o_ln(#x(tK9bwS)c3{2?Tf8c?df^fLWBcE zgI3==r+ZAW^zK<j7we<*M5Nt(vr5hHa(-nsGrTqLt+n9h*;Cf&B=afHQ;7{PyfyE0 zNcGxFzr~vOyz7YVEqT-wnCxEnv*FsBQnRAt_jl=4$)7H}_@5zY@snjowOFQq6jKg( zEBZ3|@#4*MuUxo!Kv{52NuYOX^-E*(klN{$JbBvIQhWzaBrkoRoHzf@zO6cJvAP>0 zR)r)V^X1j@J#soa@SAVCV8Z=nSH9b9Fubbw=*q{<SC<zb$~@F{CBwnYWd5vsN=d#3 ze<oW`Gnskh+lIBzHuk8O&5rBbyGCZsi+ej(p0)YjqxiGUG^x{Sx~8eIIp0aczC*WT zk54LCx})I8p?mA(KE3}aHS5FeHs@D<tE3cXtb3j{=X1c^hkA_3OD+b!HE`Y<@SJVt z!|dtmNgFNKKAfFws=Mu(tL6FP-+L7!&rN=y7m)e*M~9Zxhee(T81AVWvwF72?1))Y zllttDUTgZ6IShGQUhUo%bU>}p@<iUw<31X@ODE)HnZ4ZcicKam`B6m0Z0lvAR+Tna z+JXzBuh+>uO<3+H<G-iS@vY$gsvT3V)qYGl5`Fi|Vd-^hOvx{2m9Dah2rXI}mT%ZL z!!I{%KaV%hg8vK$_C7H;`f~7Yg5++7PL54;#jhSRv^}&&El8xE@5iL$bA@jPo}K<o zBIM1R6)tzHuT658=(W`K?zA^&ZpNH{8f5*#s8{Z7%ULJC%=;e}GyB!v;!CV7%ojFd zHQVY{I`8p;FdmgTr{lznwB8zAmc3B+BJM-*^vq7)x$BEF`*gIT`~NfS6574pIJ@|M zaFOpcwasa@Ywybh%n#4Bwk?)k+TO~Zqqgk)JR^P~`>vHyD+}%&3NQA2yVP}A)Z2jC z@Zi-Ub55E1rKl(0vM5edeaEu*nfa{7TAzTT%l`@wyeeE!5Yfx<+`aL{mF&3VE_=AL z<Tp$8SKc!X^<DbgRZIEb%+-_LeUrM)ai`7pXwoe$n|&59ujx#Q(hRQV-cfj}(f7=n z`@&*8`r918s!D~%M%nNzyRE~z<>j>Pcdrz$TV*!4cHUxlj*7T1(~k8NnXMMw^+8bg z=&SBkf&9l5wjRt2O0F_l`EK{c4~P1mzA0B<!E`x$(V<J%(_Eak{G8gdK|ITApZ1)S z8^fetY;In_UH-cvoK5M7$cy6R1~D7OlS<Ye`?)K)Wt-B$gUszEX^t@#|JZhDl-lqq zm+W}5*f->Pwe9I{@3v17o)XOOF7?T4i%$FV(Lz7EHLdx|PM*NIYu286uzF+Lx6J56 z_S#I1CjS{U15X?E{F=1LW^oAP^J;|;=8hLn9a@&TfVp_ri-0%AlBQJ=i|**&Gd5aa zI&qqki1-e}ZP_uVzIl1a%l*0;#Ai=6czB`p+3QIgX62f1e#*eOokNw!r_eA(bqV9@ zm_DuQhFc4ZCS7}IW$C!;=JQnw`;R7b9aFinca`Idcx^$IlRKORjy7J;yy_e&=NJ6J z?pes)dx=6iZ}~)pzTLVOUK?h)u8FI2da<t0o%CfZenzmUhvl=jz1#M5TG-Ko(DuJ8 zOt+SQ5!gO|;&ju~Jtj#zD<bR#F8f~3IMhAsVOws?8nwk1pS8{AsGMY#aXPo{XP{ld zrnItMJNgzVJ(uCh)@3#^czExjm747Xmm|!R3M^tzOzIQ!dzT#AvL)wj?}6t!&KVN_ z84fcj2J}?KzW3e~^vs~)MlpAA+{G4y{|u_TR`A|(UMBNMXXVb@X&2taC<!KO*&Zt2 z$f~=_cOA3d`l!|4Qv{yq{i#S|>PkGHaK<u>_h{?k(&}4{(<a4)RkWnZEZp+Z+{|FN z!ovG!l&;*{F6%Q>NHpM;?)3ih2y<2C-J287>YkNYbnIVh>lMv?-EAM)UjF@d{@%P# z?p0?31aoz#r<ZOwyb$zuQm=)PtgkpbQ>jGQv%~HgThHkJot&DWc4OM_GPSr1B70{a z$d}3}_gnT;JljWL_uF|}%l0lidpzay)&SM_XTN+8Japn|-~3m5Zzs<_5qtX<Pxqc~ z9cEF>6Wc=!LzY#FFYM=;8?|9~mdNr)LfgNs%1<c_4tl$4uAlEp|H^{)zFZB)9efq< z_TISp;g7@G%Z`UXUD-9i>{zzuk)2C!oQ`YA+;C;1;Z&L9;@q*$FD`HVu-7>%`uQZr zH)e7lw%*kLsFbU0n)h#_rP$tN(R+Rq1Vp99chA^pays2e;CSC77x{}OkA<$?ik`#} zcJu9myvzfZOV^1vH7H2m5#c$iw!Ly~*1H7>nbRiz);yA@BdG91PwI(Q@UcH}!hZi& zxLPH=codS<@hmlR;T6AyKNsihvAFg-Iv|6wwSzrc(cG>2;MIeY%WS^7uCIRZfmckb zv}NKR@3a$-bPpL7OUt`<Etzpb_`6@`VV0lrvm}(+no?yi_#fsr5B_|TNiXRfU$;`S zuv=r^c9z-Gdzw_Pt7J(Pw79B=C*M61^D@(&kHJAA=GLV2ll4d53Nv^cpP%%vkmc#! zUXe}vt~{{VxGhX^Tia%**u9@3_KSP%wv$@9;n^l5)uff7Q!{1eu>K9mv&dU}bQbS{ z=hL1Y+x^w$!HNSVl~damGMVIFmipZNZ^jCR$h>W{Q@8P+OxX7=`kTYY9ThoTd9w31 zt`yc~XneMPF?U}m(`KnlRqGU@PX(S_r!DqTN^*)i_nkkxmbEvxE_c{omZR{Wp*wI9 zSJ}JIelZu0wywE$!XiY?XsWr|FCE?`&YWi?i;}munHPxP-Rt!@(=M~+O7a}e_nMnK z_^)Qko;R)jxmemwpoZbl!QLaTXV&_p_N-KY(bC5GOt^f;pYZdlDwmWe23)(`=b&(M zf?q<4@Z9^h>#n_+wr^?R$;TC};?IxFI(g)*yVBAH_uUqYNXv^^Ml7;?ct+`w|99&z z4rljFRB)6DkN+LQtx+4pt9x&o{-$GE?dFFr=ew3~GD%sJwpqd=T}0G(O{M;V*I{L; z+)Wp57H?8m<q){)PuY=6T)J!h7TSL)xSP1%e>Z!VMN>llmRK*J-^b1<{Ac*SIaaB{ zA^z8@6!~9^#H_5{j%3MyxLZ~;`R?YqGp;D?yz*j)fq<#oyffb~t~&qW)=j(4gU{sj z-)r1GwNC7)qw3jZmpneXZe2dV;@RPY{u9+_UrEyK=~>vP#rQ92gZEw|m*%1?tZ({b zuKRaydH4FP>AIsWDTj7?y}l@47A^HBc5U@(&a?=z3(uNcpJh$_wQMFsrE+p@V4b+l zj<oA9=Dk0BE!S$w@j~D2+5Vvk?AEoy_Z9ja6uiB=I<~7MZI1T6xlM1w#fA5*9r!YL z%#eD{efdh&3ZBgDoc!sNPW-wlecx&A2FuHjR1LRkmKPsVs>^zE+#<p?rg(<s%1*&d z?g|f<1797i`6TX2{<*-Pyo>GC+ReK<dhRAwt%+E|Sd;31bW*L|^Ni`~0o;mHzo>Ee z>#X#d_VF@%Rml|VwR5lb`rI^>%RIDIs&w15JHcx_dF>L}Hs9>azUzO_?lI?!Sp^}P zY2m@9F_m7bR}N&(s5Ez*|4=Jb??J^1rp)zjtF`z)++h5*zTBPrT&aAKP1B0=2REKy z@KN+N=l(^77AcaZCZX)*TXwKFoZ*@9@t5w>51AVuINma`nZ`BmivHn3w_Y2Cs<nsS z@ST13W8(WX*%MR#l-&BZb@t>(THF6{o8|qT5%Ep3Z}o>C_wPOA-Lc93JYQP$99M}Y zZkq!qbRV_*xH-}9Y*wy&E(_ySnG;{0bbl0!d*53#{olI9vyFHB@Jn`$UHIJM(dX8_ zz3K+S3+~B=7kf?9TCBTi;l?i!vfk3BCO?(lm`c^W+aCAm^Gto;#9L;`=ejlCSDwmP zxXC<g&F5o9te(YXT5D_1iY2wk{kk2RbvgNt(%(f>3r_55E^XY+>g@S_&7;p^KDk!B z3*sj;Toikh9Z@V{{K;{R>cKf}aVy?knd>JMJg-c5<uS!$N`ZCa7jj}`Z7!Ou?%H6I zGe!39q{|DWO5;EBtaxOSv(Rtex$6w&E}|V5tE2qhaBH*QpF1(XM7HDAkJGF8mTxqj zeL>=JQQ&(s3tdCSYx7kuH_m7){H+t3@$mRWzDWV^UVWU+9+@xhZzd%0Zq?-6XH#zK z=#@EzX*Dpa-B`-D#m3&9QPJZN`%^<j!PZOp7oE2y^PZVvd-?EPGbN_BH?!l^c6ZHA zP!GLdsBAaS<DtI#M3<n-Wq)Iwgtv#Pm>rS-66l?OOSAb%x~Zt`;;mPnaPC?e`rGf$ z^PP*L?<W3aIiwN3?%RjnwYN9^UQoU4K;By}-R)<^dRw2i8$8b6B$06`@yc|^*t@=K zuRJ$6e)8vXvEM%V-CXC6bgthz>&N1Q-+bR?8FM_8P&%xs(Yrij*=vXF9H;j(uljXQ zuCJY}d6}J6t)MT}c^;?b#EEhqJi6_&&jlylsh)S>%^k(+ZI8-&`F63M?fLLH_o<uh zn?74%KTCF{`V^^K$M_sqZjM{2XT8PGHR*kG>JiIx@{7{<78>vPcKM-3xpi{$@_Uo+ z>AOS+EskyOJg3dTvYTh_6T=-3%YW!<u1__1HtkmT7MCDVjVlK`&%ImwIpWo{X@W&} zo)%_W1Qg%4*pzCfzMXmY>RZ7cb8p^j4V<D?UaGlw!9I(Lc^5Kw-uTXK>Q?+z<N2O5 zrzW=k-hE*8h6iUCh3s6rjCa<NV@-<9_dFun_oU>VxERd9@M6OEMTSX@<t!f4@0WQ= zwDG=~_2%-2#(i%u1xG75-c$Ifbs&#N=u+s8f;);ewGPowDz$t}GOuJ<%<!Ik?+%ZS zc}zt7YKMrJH)dz1TBUMxZ+G!i$lLDu>d}U6Ikq=tu8CW|Tm6x-wA^m#dqswOMbVu} zor+OXYVTN`&#BGnQFmZmdTZ^eoE4@PVpc7^kD~p;nddz37Mrc(lfN(HQSroF*{N4$ z-u%?DJ*+8n>)&S=-dNd=!{Np5Y~ND$2J;$bZpxnV*(1cj@$9Ln2l@N8nO{!JyRl)x zspMbXbC$h7I*p}}@97Se$GZ+(7niY#z13qZCvYQTzSlIy*^EJN4~wz-eaJB5Ep3v> z+WGsY#m!Yo2@wLjH~anaY`JdPE0o80(j@uFfj_est!&+=ry9EVZTO6bjAA`Wt{Ydp zk9d3R&fdi3LDMAn?+JNz{njeGAH9YLHcSuM(H>lGa^U;JMThr9?L8bH@bKKa45=&6 zTy}JIzRTtla7eym>}%}3v-GTah&!veebooyOryrs?Q<h91>g3XcTPIs-s*Yt{xcja z*FDU5RjN}uSUY6yrOycqxFSqeT-7gLWqsrsOZBu}i#t9Vo$M>`y?rj*#)~D<UMNvz zMv76)te2m69r+-;m(6m0*|Dt+H%wQ>q&~S{nwYJ>l2yLEsg6BuzRAn?<|P(c8-4QP zxy~z3bc;9d329r+s+`YQ=zQl<Nujvf);HOeZOb2-CGO0cm8<;7luOA`A>TQ`;?9MS zN3OQ^uiQD;y|weJ;UE37mFo&C@7)!-VDfUG_k!fo$(~CKKN^-VXXeur6YYHXxx3`l z5_NBmxX*Gj%eh1{tS%n7m3h%^#gpeeSFSFKk-2+KeBHNw=OfqsXW*MrWitETrM(jh zR>YJh_fB4TVC&6kiXw+!3huujdND*=?Y!sr#<nGgs<$0CoPAN`W`&Qn-O>9z)yp<7 zdL_Tfz;df`*_C;(u4Kf{@m=2~oSxGC?uyiM(<wLoI?D2wEn9Z!n&G3j%dXx}UiED9 zq06hji)h>KvOVUMxbmpLx9{O@v$L*C#O`hUurm1Fy=Pm_9KFI-64~)yYGGn-?9}BC zvc&|umTap%ozq!Rt!^H&M<LsE>#9eaTP-HcxE7Rr`{A;fW?7%W#oY=4CL8z8_<qOh z-R*EjHs^x7mhHJBvm|%iv0RWHcHeT2=9;vHCewws{#@4c<UhmdW4CtYUDiG8>vSr= zv%D;oi*IS<IUAMBozc4u58YFGwD57wvj;_P3zxbrJTHB&qf6+Paaj<Dg?+}6gFK5e z*Z4Me#GINIR{egz=hDP?tM?0@Jr{j0W4U;Cm)!SVhLinP-;qfVx~6m??(oGf)^y9G z*8`sKUzyg*E`Hu@Qk&XCmb(X5ERTHR=NrB<@GkdKPyIhjJ06vMDdNksnY=Oo^pe)> zqU@<piWHRPSsWu0N(ut<CAGJ&5m>^gZpfwNaE^<w`tD!VoeC14_;k99-JF+4I`1iy z6xWLSmMD3`!6KzRG5&W*=Zi$6`;Q_ItmxU}5mh-UWQ)t}wl#i--}APsw#c-72uNd2 zWYo((Tr9Otr)}k(eFBSLgeiZxd(igAm(3i`d^&>qthHU)-bL4n9nLO$(DHC~+k--% z?BuosYESo-YA)wp@N7dTn?;OZ&il$p=icLoLJlX-St(U9t8exykDPNaG`js~@fFX= z{j(u&G4CHmM~m|9-A%@YVvOQRWwIfj=e|c|iksbJQJCbG_%_h!gZVVck1?z*(sPcf zwp`7Ad}zaT>&2dDv#m5HTwJEqy`!yR_L@7D!NnD!_v;#&kMOzZev<BP=i0n**MuuC zbSo@xx_HW5-fsVAp%35I9}^CTEl!CrW!ux1cSHDV^tzd58b;BVyv{H2TOqOi2$${= zL)T8u_v$vM^pB+<;*z-Q!}(#V)YfZF>*BO7oe+r+TfNaOPkL3<w~)QJF6~zk(%Hb3 zY<ub3vsu?|g4Zs+T)lQt%=I`Yo-+1>_X=~AF88jJ{Jr&My1=r<itlpg9b9zm`kuUZ zd#qj8l?5ekKf@CD+4ufrA)Q4x?r!Al)92R_P@bf6`A9Ke_Lc7W=fo6pA|(oz{obHk z!)VRDX`6&o^z*&5j%CD1e)rq-ecipemu5YXkJx)re^rM_yN}<LPZ#cecq%jfbL*z; zSu^C0Cs%KeJ5{vw*yfc9n;p+A>zcCnw${6I+1$>V`O(5tzvX>My1Uxzl|iWRjCWV( zXhl8He)HR5l~Gxj&##>_qM4VAeP{jYnl{bAykqMh$HW!><tw?)FN-$IEbG{{S54U5 zWUi|FA6NB?xvd_z&6a&;WPfuz?BbM7@kd1dsV!6M=HcuwyI9NJHEU~TlAT(s-b%l< zc2g%Z-rR2RX3F>T$p<$Ui*Rj94_o7Jc#e1a=auX=dYadH8_QW@%+@IEx*+z}$=^Jy zPuQb~MgQq}bJJA^C!f4>{nNLiIs9ce^AZ%U3GnxxH&*2|a_18~z3SwSIt>@5OZVFX zOJnD)`*64Ddrl{}MWOh_RkQtOcpZxJc;<R#yPWczU8nB_O>DQy^D}V~dh;>v<lV>G z(_THe8D%-^)+>gB-z(nrf93h-6&bj8a!y%b&{}mqU-O^?&)sswBR(dqUQwL>qVott z&)iiOvl6V-XFlsZcE-h#zwj4J#C5UTHbx8IW%u<J3+8(1l<E0)uiiA*Q7k#OB&uG} z^+)+E*%X6a8;{OdQ^@*f+K#{BpYBASV6}huE3YJe?}X<08!se3|D&ia#uUZoY!Q)k zTyqyQGkefg>0T?(c+t(X^(*gj{%2Scs<v~-Z0~l#y;rQHFDbv-E_3tGxlPyV)MmJu z-Fh^|f#Kv-(LxFH6;88vxvtryutx3p%nd)+=oTt{us+Gnpt?S<BT+Y#_xs$(Yc-M% zs!yD@a+U+ng7?Bt`d-UiKB^$vak0(1g{^~Q2M@!G4Gr}(6dD)lo7_0ny8o>GDhrKS z=X!3bXccb`%|4c5(xUU|R@<%nU)&bo?cBlJJF$3Kl}=&!Z_U#IiEH26F&*6-!6dm; zYKoy<&%fgQMXEc>w{n*)J$TY$PZGlqoq+!gZTkOyxAv{&Q8H!?FOL87D&SmeK`=vq zU-~yUhu0MW+7Ao=EaZs}FaP;-?cGgNgHNP&)XIIz?b#=ot^MZh&7<4z@9C7TJ8`LM z{om-5LWMy)e3tv3HPtdNU31#zVr~%U(dlnGa>^r?Zuyw<FOjV=XsJ()Pg&=?m2a(P zOP^lWr&V##CpC8MRL+ORMcTYx4=z@Fto5I+5^;8On#n%dy38%rze+XdK2KbxcFRlQ za!SqR`)-V8hb)!fdmsPL;92}7Vt(KUlkA1e{+X)|*)SgUe`MC=&L?%0<F?t#^iQ$( zQW{roy?QHp_R5f|+PF`Px#wE9$h&-U*>g|sg}us~*_Qtq78&N)Tq_XEGIxm5e74MS z>LTuiZYlFt&rdhyxN%c1;coTGWWF6;N8Of|3oh<iaM5_lztfzD!-^XP0*-FJl5MBV zU3MbxmY($YAUAg3rg9$FBPmOGoImNln7HbQ&#$}YVgk|=n4X_awaZ{D<nLG{b^WTy z<2|}&yZR4aUG;b(-=^=IeM%-R2{zSYEP8t-p{t^3u2+7c@6z6xD}&bfFJjw~of2`` z^4|%2NtUbt(^XcBmq~noA$aWemWbx$7Y#YlvkqyQGhXPqI7xc-(~nxKXFRyL<>Psu ziE7I%9|`n5cFA&C{=Ic=f?3;(?H_G=C6vPdSVvq)%QpzN-nL=yv;wIqQJH}ZbB{l| z$CzB3)n|3@M0sLM&q*=2jcv)+$7jj?e79QulmgqI%fDA$`ZXsZ^T~`mA%E}Igi2KO z|5CT!T`PHF;*t8)yH^Si+0Rg8(YU#C*Xp*Za_s*ZDlNDEJsqWYDu4Fczw2|4F3{Qj zpP|y%sGufwy5G)B877q}NwYg-g=HRwINnJ$a{AA3Iiz^*<77k2Q}+CUn^(V_bFsI5 zPaU64lJu2@VH3J`C|tSxq(SsmaOLv%oN2EVw@Ur|_<-re_Ja2GiU?OVf&0IvDh1a+ zd>J(7w7f=x=FY|84WbFxH+3v?nYi*r8`JX;rmK9OXKKCHDe!)?VW<t9wSf67Pri!G z-&-3@B|oxt&cB(r_u!m)dfQ_@RGF|CJUo2zxa)g^CX;TZ%WhNM8dsckF01l6KEKq3 z@pIsuXWQE>m3}yUa&1n_H9v9u9)pjD75CzP$yYkF@4j7=k!dl@?fc2<?N-~rnhDRj zaG@q>?tcccW19o69gKbI_1iby+UR*yu&)&RryX}znjFZvwYc}6*AEtnglnN*zO@EC zN6h%onp|BSx3Kq-mdDiY`+NF7e0;U^w)70nb4!E58F-(}-f^&Ip}>RJe|RILe>Bh7 zToU(c;c}0oi{n;4*fYs>o^kNqNy?q)uBJBqGk5>bz*McdJ?*_z#pa0F?l&JK-CG^H zA?({l&jl$_FS7J*nKfEjO}(ZS`bu!|JjIn?+pc`No^g5oB%L&MgBhxC|AvWM&30S* zu9a{7X4}7PO0!!Zaf&PHtQ6c9n2?>kLsaEvopka-r^PObmAg7_zLMB^t<<knt8~T2 z<5k<{bxeD^Zd*iss_dJn2b=0vv`^c`GhKMq3Y}YyyZh6PmR?n3`!IV|-l0#oHdoCP z_1!Yt_dVaeW3Qb`Ok5rJ_;t23Hu`frlxVHxHHzNh#gqL}?tRUIhkwq*C{H>!za+LO zwzMIts6v}hs(ho0?jPSiX4e%P#1pRzP5c-Y_IP&ZVzZSh|B5QtRIFd1T`o8`YR>f# z8>4535|?rA7ZecL^*(#M*9y*~VwF?VHg4a2OYE;<&a;Cijp8TNWzznMYw{-CeOQ!G z_WAxv_FW5>w_axtJ#c%=qv8OGS#|;qWfDhsH=D}d{>anG<&h`0?T4S&oy~_fpZunp zbm&p3ev$r)>S+^q9A|mfKF9GuOx{ZKiXTp_TRxarcm7=5&1=5poKQ(ntk=T17ky7X z%B_CVotF^jq*k!?-95!gVG*;fKdyQ&bE>+DWqrHvvlYiKGMDU4WUzcIUM)Q5`Q9J5 zd01EMylP@}NQK4Q@1cNP;Ii*BiQC#%rTvIWT<Wp*?q#-fueP7|<lQFJ#`b>W#I}_Y zzn7nN6wuUWPv4>Fnx44qp7^O5m)^NNPF35JSh;dmsaJ(oM_bcvP1dy*`VBV}{#48j zh!(iWd-vuQrB6xMt0!mmls4ub?&|;3b?EMYhK?zBYH#12v1xMLWc^*&SnsimUpXww zJvUWU^U<MX35|VogRbveGi}!_y=8ajXFR*`r214~$o6|7rlp_!3J)I^c+_8Ups+$p zxZ`GAR?=pPH`A=9t~8o`?6JqBrS}-CrW#F2{dDm#=Q+J2@pGog{GGQp{OIYpy(iwS z+<E)VoC(FhH)b3Uz4UZP3eTK2Ezx;}F>|JvJlMOkm7hnydiyKeU5e7SjOx7)#X37r z=&0U&uKD|h#t~`teLvDQb{%bey3u0ZRiCaMx@i;UJv&fy_pE07-jxzNG&gdr++w;* zJga4Q`6JHri`~{bT;w}6>rejD-Bo^BN8)=L|17#{@*%nKUgIRit8-qz=UUg=G>`GT zZ0LJw^Ulm&GC}gYyln11Y*jKp_kq=#mHm42<hcD4?>;s!Gi|)_A%h{XneU0&&jqJu zyeW5PI_%ruaVOLHKL4}Gg*z1tt;HhxGPbQ=x#{PesfSPBQWmyczH!0jTF2HSJd@`J z@%`<0c^<UlOceXpdNYo*2Tv{+zAF<kZ+6$(llLmMq@IVZ7QPq4dBI)$(}A7QQzed{ z`(Cl(QL3|L!-h-C{pNgh&f6f>R#GNXxIJ_2>Un<Njc=BVnF{cx>6JO|xO4kXlK(sJ z4JHvGYiH$G6!2K?Sbgp2$zFHXtc8;WWM+N){&l|ikte=oVm;BDZm%!7zV}x{=epxA zPfQ}Z)BdP6YD;I^r}O6vE*Jac&USlCuG!se$<)3*M{fB!CS}~UKh0yMa4cZu-Ho%4 z3o-WB>aa=N%0II(^6B}NkB<i$XD>UYa_)6paeSBlf?xg8TNol<?J<3F$0YT({ihqU zW|mF!o|)tqii@^qEcsJ=$K+Ddij%i~FQ2HU&w2I5W0A*g>s4OdbYuT<dfK;(-l@g@ z%$hN4a&K!(<~A%7*%4aNZE-Q~eM);p+=ejQ+qYitw3xMS?e2t6Jvnd0?uvYk@RmB~ zkhL*9r6wX~R^p!))4bkdHQ`&CSC@U9JnOZkWuM50C)|gMX9x4XImWHN^|q-ePmhD6 zpM_rR?(Rv4+{-*SvdX?>KD6ZXu8Bc&H|5+-PY^ln(JPX~oAGD0P5mWt_F2=?ZCsQJ zwv@8QK415CiqEkPn<SE+>FtnCObBR@GK>+N)$kx%Okj~kYp3?7Z=S!@W6$v01Z{Vd zOUashX3j;%88N(fwd_)BmquUEU{da`bd$Uqm3X+iDolI2d1JwmXUz_qD_2*YDm2e| zcWwp8wIj=gzFALWT354XPhVo<x$i|%dG}6!>~r%xRD98)a6U)toJR&sude5-Kh%A6 z!qoG5GIz=ADJy^U9*o|>!`&1zu{@2@@xZaK4-^Xwt<JW#>{eviqv-SaS<J&p4a~bH zExdjFNL0>RpGR{~?G;mC?n&1wOud@eXcfskk=^xB(W9y21w9AD=WOy>&U*P_v3T2* zh{X7_8_$R>x|6&_<5E5sCu6VqkIBu=+jsc8Bt7X)^2=Dh>&`u{_i{Ha6fB!V5*)g> zEPI%_;l6I<(@FPpzZPhVOJ+XI^h-=N-(Z%-&f2@BTh?sX<~fE19S)W|mTr<N^|f#1 z**ov3!Y_gC{wFQCOtP+2?{T%9xL1tPKulQop2`ZnavmPtfH(2CemHR&D9JDCJRjC_ zC;I5Jqqfs@`FAgjiFcG-IJs(vwwPSO5(A5ecc&I`?>^nOGf_$9oZ0gC`xeYE`?kn> zap9hyF%Fz}kA%Jq6f%$Z+jQtv(erKRic)$6%XzYETPNAxWEDH`>bY9}1Ko#r&*on_ zT6?W+x!r2{X}@3YWV^I9r0t2^?p<G`%yr(qm9Gx!;ZF2RUcK{NJ@-%Lw#MyUVQ-~2 zuh4VT{Jw3Q%*FKbxT!XgV(Uw{?h&4$@qO*ekU2}#%_ehOAJ0$T^)Gn;+J)6Sa?G4p zb2whfD1R>Yd1c&b?rmO^jPLrUdX+}JyniH#No{ua)jVzSR}0=e*zOS3Ub!(@=60&i z(k*U%9FNup{<(SgMSIy}g&PUZ0v9=M{(at&FeC8ZRhbqAW91093rQY|++y=`vRFb^ z{x#VCPVK?$Ki79ZR6dd_d|e@Y@A8;_&fF_pTQ&Pane<b`uHHR;(rhWaLp9su+mr6y zl1tqGaF=4@%6sj8FDrr~<Uew_vnu&3`z9)$ot(+Vr(-|0gPm)}a!17)^G8go);pKQ z^4w!sU+GfsnZ<W_Ua!=$$A{_^ni<4}b~yjiHraaEaF)bYalIV%gq@c{%wzsDTx3XL z()-VF(`@#~gc*gie=gE|Y~bTpu<3McpiahIAI-ys6WtEla6jrXUg-41%0%;RMdQ+o zN`KaL)FkTe6tn9{EHS<FZp}T}BA2c6(q|oVpWw_Vq+4)%xm4@fY=-+Xf2QTDdvYmm zyBe}QBG1Y|;7*v|yQp{X|JYP6OyFA-kllQ+_lB68RD6he*~~5TmbxZ!Cqyn++7QIY z({uE}qRhb3B>PwLR~df!^C?#@-E@CexwIC~b{{Y61&$kA5)T|d8+kxpTdk}Aypi~> zVs3Vc&fhu?iR#8@h3+`;yxDs@HmJtp!Jo;ykJ&CfKIhO;w+Xezk7xJ0X02QD@SkkA zmr7Wvhq=hRjpiJy7k8&x{@9kj<#~nXkBu@;m&=;w`%LDQ{_?W-zSHvEtF9eA{dtO- zjQo^nq1siv3pY0GiQIE}Ue?uBm#4(p3LLtV_hIv{);+u$kJ``tQrmEKb=W%XlL}7C zX}qNocPno3u&Zr6u=68}vF0-_*=Ofm<H~3Jz1q1$wMWl9AoJmhilbp`d~5ulX<WX! zZSA5N<`!AZpIk28mh;%Wbh<|Q!pFN$^X=c1tYvvNRgWv}!qUsy)q5&!>|eE)@EU&T z75kd@pP~BN8_p}bIoo*;{he-acTVxs+X=}_^z;{Pot9;7xzb)mTw%+XnBRH3^zBYF z*LMm|S-9uW<r&2bey)4FF8i2(bG!1d#dkuN`tY1}Xzum<_|~1ra<9(zn8%k^Mqgn4 zay6OPP;!y1+sg7IzLV!Dm?f|ZKbdoFW=R^0f`RarMR$}rPP=@1-gfYA9&1<rlR3<D zq$-;I@0#=a=vel86|9I9+<BM#Q1#5fBm4g?Xt@w~x$`<hR=<HRtLb|czX|=-9l=+& zcskDLwT@fry__v{j@r5YRnz@vu?rMP`E{qf-{_iga@VBhS$|Rw>v=rV+wh@#&8r>O zHXgBO=2^yGc6B&lyh5k@@QrIb@;C*xCEnd}T`nj1Z2#A4>pK_s9FFkzcli|(-}^S@ zd*Zdvw!-rFEobyMyBOxOo;_3E5@~u>`*DI9!!dnR{$z>E{~3HAUYPSH&*=2NEw#e) zWIck@e<;1{Rn0#f_qg`Y<qZ!NJ|6ns%jDY2a;o-j?xKZa_2nrB+!jw*ujZF~OYgIu zn!as9`Blp$;$fMS1B`r%;@*GkS;8_YO0Q1BA?M4t>xYlbdvs*^c3!Dct(n!lcY+NA zZ?5oL`02Ug{mA=s7T>v4>$O<1@N0ym?`%s;n|%(k?=EgPJ+pj9YNLa3W@*y<r<*(Y zO}@=q)L!OtSjB19?1)v;4_M6pGi+M%>+k*Y4_uSH__A*~x6brjG9w~}JNe(@i?f=f zmt_?)REc)P@t*X}+}t5~>!`HzIe*pI9k)*f96DxjVp`J<sTkvI>C`<2GoO|=E)iC; z|NUBeu1|->vUSQFZSBk}EGKOJw`f+Z=T_;DR;Rf=Gu4i+yeg+1l2h<v)~^c3io2qD zOcKWweI9++Y1S~BW>svqLh$(3t4GCEd@tTD_4qh>k)CL@=N1QbS;<M2I<Ak;^Qg1s zyv@wGTk7su_+myu$cik^l9a<&<vvX;d@2_AKB?3@>cXstzO$9%jMWkr-_PZ({^OTa zIma(!@8uaX4?gJ?Jh3l{{;}$Vai!~;+Nib6<{{n7-&&_#^gY8jWA26KyMgQHawiE( z`p6_6i_(3v`*={{pLJ{VCmjr1oO!&3Q)9w^2GOUdcdouK`%aA0-o)_2t?ge{2xnec zxcO1d5o4F{`y_oVIu3G9^*iagZBAZ^@Qao=Q|=siyyy56vA0tFWiwnSlvZusJy&DL zfuBm(uGqO8h`7Dyj`W%1GlQi2IVRo8F#hmvu?L^77yrS)b2bXW5v@{F8Y}oj=k*C( z_<5J}&{XGp=U%KT{p|PNW7-SZneN;(6n9^Dd9<|mS_PlK?i!Zvy*9g3Eea0HxL@TL zZq7}8cf0l0<W+pDzRjALz*T&5(KW+K<v*sHvzt!3X?=|`Z|~OSYFn0Fo};oUHuR68 z>Ei4q&(BzxiW#lQnf>mr5A)uvJ`Iz5mnFgvIP6rkT3q2=e*9TzLrG%JiStkPK28@_ zTvybQ`NAYvX#X^|^4QK)qhjsC1~Dt{`-}4ToOikIE_r9lVdX9!(T3?_JKiU1zD<?k z<7<*%wd~%v*;3!#c`rZV3cp*uUQ0gY+Tmp)4~627$UTYTxp&;4XO2Jb8E)-q506ST zT(#V)X|yoo?vY}*1*v9<;>m8_mUlNNG9+HPedt$u$c1ask4r<|#68&Gk+#7k>7Lk% zFd?aHk7gAFvhUfKduX1<E|z?D){{pLPmbbt=HATZYkT0fRX}CN%ue4z3H5far7a$v z=E1F-uHO+Xkt^c4o05H&F(ltuDeUo=E1E~HdF<3&!}orb>FgdxCiy*wCoJ1&HRrNA zM@Ch3SyZm-^42fQPVCybbl=4m4bhj;3TFk6{z%@R_xGdb4Fg6=<JO>xHQ#K{+|PE) zNN;%-GR=%{VR?hW#&y#tg>m&9IP`L9bI6A%DNgqGP>G1={=&B_A__J(Ugza?{Hk28 z*7mIVsNr4a3EX^a`^#!?oD3_dIP`fp+gpu9fus-JnO7c)W&iPbw7l^ne??j5*&~Lw zyU$hl9=g8eLDQq+pyDf{;nFg%*06JG#Yy_^z4zGF_EE4m^S%4x6-W4_bpG^lusQT8 zUD#3caCPsN8$~%z2V!pZ9DT?!gGY+f;UUv!U9H>G&sZiU>)U;p8_0Vv^W$`#0>8Ic z_Law4h*_!dxV_c&Exe`tDZ%%>*(T?r<#$&ubKWweRiST*s8WuypzGQtm(E15pL$R1 z<m}6ND;OQW94vd&QkeJR?NjNsf{bs^nml?Jak0F`d6i9c>D!3%J9ljS1lH-UPJ4Od zru9y*gZnsk@M`gzZTeF&vG_<=TEvYYhRUmb9Epz)@8fXTVz{K|bcmm|BTw$q{NVd+ zE}z13f0-6oubr^mBRRqDbE$I{m)~q7BaV>bkNM8de%U{J79Dygu95xW@=QHO+cV5( zk9t;1Sw7m8!N217d(*cO1-ln>r5Qv#%Hcd~&m3R<y&-a;<(B(>%d|a%qq<`w&)=KW z&CBMt)bL&M?pb~9mdz^8QQwR2M!Ro${Z{?%)#A*cj+3Ta7B1nhdeyAD=ed+sc}6aO zouC=x>RroZp6~F`<C6JiII(D^khAffnGQMM4!N8)$ta)g!1L&x>x5jhoyV<GPtLZx z?#^bMeBZ+-Tf=Pok-{}@(;wcpUY9+&_Vqn?;gi1S_2vJ(DdnAg);?2Ide_-^UNOhN zhsy5`3O--w&2Wz;qjCDl&9jO^qh49e_3^L>T<Ny|VaAV`=V{$$^E0<GY)GD*74ofF zTDj!f$|JqWL9On7f}T5DPDRH*eCaS<Tzc)YeP_4!Jx*U-7HC<jd47rfmY~Ic*;mCG z1DD?8Qd{vz-(T<6(<!=lEz-j4Y|pA)X}&up`relK5)+-AQmIAevmTawHh4aJ3+p|@ zXR8Zh9=7t=Nj_wZ+Z^$hp=x^U+S~(L-tA@2P85Wk*k^qH(432V9@JQ}Jd2C6)c58H zV2$zl5%T!{2a^?ZZdN~ATV%p2`AfS#gE3KNI`>|ujF~+bWfe}Tw`2t;J5HMYwBYLc zFH^JQ4onrE*68lNebUZ8m$bEW(n^Ego@-d-ox@htDV5@Nt%O1SV6y1}rukD^P0jnd zsx%pW-Y0gnD0i869sH-}J7N3pjZCS%L3boL_M7UaxurUE?~36LQ*x_X#}jqq+4fnl zVw$Hk@a~xG{UavjWZ->2^_YYhi(5V}DNAk(@6={AUJ+0}@AiZ{(_WN3>IgqlUcTo- z^_<t%Wz%FXT5!m7-)jBOuq*IK$4+gzcLC3Av|lf3Y`Rl1@lLY;5t){Wd}lTqFeN_L z(fr}h`DDYV+S^);zgFZr?_O}yI>Kzi(zDrLnid-_ceS1@u38a)o-<HP>GPr)1$8<n z&vGX|S2ew)GMizp%^R;}kLM}Ld<cEg-zC0wiDJtZnY-#H(QWF7yG`mfdn`5u$y_&V zIX&yC$Bhlao6lwLFq#{@G45Ldm(0hrM^_70&#W$u$T2W45xH)AnZ0U8k@ZGP%QQc> zcQ@;GkIuc*&eWK}c)486YxeU6Zdulqx6d3}T>1N+;3B5EZlUUGEr*`9iE|%}`#g2S z;=2sCPp;@2c(@pDJ{8j~b&aF+R)B1t=yKDFM<?c~^8OT&c~EF|mSI71%ex(-%^YQh zdtyQ#95?OY>EELxlvuBO!*Ozet$)?qLc<la_TKe=$F9yKrDeL=ry`hprk<LN^H!&b z<2^CH<{U<u(~mR=DDJpd%v+?oc6s3Dk4o0Fe3{N2(tRe*edoj()1*=}+l#w6T-Pkz zeA!BTYeKD+d-1_Tos3ib-4!m~Dpfo9?paGv_RHx9vS;trVB5cYV%o##h3nPMiAtv) zbzhkqq9$Q*pWWoqGt<3JHs;rv_!?sT895KGE7jPUpt)wn>56!*HOxQf@pgpgM%w7L zc+212^E9<>srk00I(K4|);+Vko_(k*hgYU?>LH$ITz6OA-5&5TCH3r#$*DVzrOybq z@VO^)+u9@GGoOu97|+Qo+A=>|czx_vWuB3l{`qk4BdPw1l)0&i*^eLH+a=+rcxItQ zrzBURZ{(!gCw{MS@#(hcUXT$YBjcDPdF*Gw)ifPFMIWY0r?w51M`C4i9)9#&y-2}R zW}_ZwNvh_)muG*>Vren=RJ>gF^2zd@%MLDM*l+SDU_HZ^lh%bT2M;~D_HH_3x%Q<@ z<$2yeMIIDsDKos9-Nvtb#rjl5f7@!;e;$b|94{@*`71ojpYxIK=AFk~F1$9YecU9G z^)O#a@UYsQMy?ozquX=ZUMJ-xy*`?{AbZCW|C6TY6fUcm9I{@-^PXGeRmI%cbH-}V zPv$4-KFR5Sc5+sW+5;Us@n)6v4QH1c={=sIt@Bge_P}(L8!QIKf)_+8GD9Red~>5p z7PFo!e>Ue?(<Ro^yi3{VUaGn){p@u^k9Xy1Rq;fHIT!erT<6Q@*d=ktSvBt9l~o1| zhi5qCH81I$f0J=aZ|ItLUB*)`OZv31mwYhHm$;Z0c)0UgWzP9orUpA2&dIGX@tK!v zG}k9*%W9^x&v)FZTL0JX+%@hb-AR4A)6-Wgm&+>kSjhDRY3F=7xH;v$y6IKd!jHi{ z&fkN~dRLT|T53$Ys<`;*MBiG2TU$JK9xb`_D#7&FufG#an>AkU`K@`}_ig>Bqgpfm zor-pSCqH$?jn+96FM3^czgog=@47%XOe9Z5&ik92=s)jCpI`0Qy7qVfrW4B^N+i#m zX}{_3v~5ostiA+`iD$jKdOz&gx66AKJ&*2QVY;SLz+m$HRaciUQdeV~A5!D+`lL;d z^|Dt68<MWEEKa)K^Hk=%!s5oo@n2lG7upJMIH-H!)!blV7sm8RCS}Q|dp5F7ci3<; z#&q+;s|6f=mFwGz8g}0)FALwbf7Lye?F)B(FV%JrJLpipzUE2RHjxbvZKm^|Emiun z(6PAVDc7}^7j63_ni&q88=tkBSSJ<AW3<+>>;59q>RV@;m|q1jJ!P{!&(5)7&+T{J zyRWzL`AiCy(t3OJR(T8C{F`BUT<;J4y?9UQREXA&8vYerY)j>y&5kX)?iiZ2J1e0y z%7RC_?dLM{zmGRwSuTHC^3<$qSH)~jw_Y#*Tp|6i8CzD_p09HL&oC$DxYNuZ^N;N9 zeI6xsp<|KMt$aD26E4PS8I@<hauteXg=B9^RhWN&*S52*(^)60Uu4f&uVz|tmi_Wt zAECnuxo4{%NPW-vY|uUHx{TVlPPc+I&i5?q-lrE!@gKUaq@DY<IVNRO_lM>e0!O<x z_Poj$^}n}kV$PG3<=0jIlxBNeTfh|d?dH~I8-|7}nyy|qB;OrW;h%4spKf`TL5$7u zr}EwJw}m@5^wnhq)>f^3pOzJ}LC+=h+l*{W_H_?uC$6~cFT8rsX@{rJy3MTaUXD}$ z$XC-TEBO6CL#Kk|L`lshuWE0f+^2o&aEJKh3M2Jz?tEu;juc*bzre$3uI;>D^%Gs^ zO5X9iaIX&1wX|}-8PaZI!e0`T-~E}z`nlm%8@HM6vy0j@cAxv>XqGdn*)xs#(yOb6 za=u9tXQPZtJ6d<iJU-LfI^|B)<W%+i;_@Hf0jaU;3nuH9e&kz`-=27JmyS)4-b=?f z%NUpO3Eda@>>#NAXo}(0gLPs(!T&lo&2GrBWER@+PvDx4cxs?h!0I1fSC!3zmg^;c z3cPb|3FpIg3TsTWg0uO*D{kJLskbt4!*#CU=_(KXGgkeJxXmgxb(Mw9+-F7)S_+KL zC7!w-;hUAS%(ZR5>D|q@M82)sKFcI3#p%G=w#6=YCKqi;eD`9Pp~1b%1*dK&+|)eV zQ2(Mk<8AHxqxbB@>^=+rTNIpm<yPjU@(!_k!uub^@ta+~n!G$Xr=YN*dZpZ|?5z*{ z@}4wUOUKlir>v@zPrNnTM?lg$eb48Jm%q*P{>?fT(j~H@DZg*dlvknO?pHnBz4`J| z_GjD8yuMb7?Mz&|*=qJaq2J5qu3BDj{pp_Yos}znK8kf}|7URDp47d^LLnpg*2=>< zrxxAIT(^4jo7D9ux7;oH_j9({`NEbhYj{@&@4gV6=PG`6<rceneZ^m++r{1(lvhre z`R=7PzjR}S+_Q_!4jbn#T0Bo*RcgxIz_&8K{wo8oYVP?V_gekIN{?OUQKvR7z0Lfs z&HQI?u}-V~!QfQMMz6&>{pFrLeUc^WNwpGET$36W`*kcg_FEj?dSt=z_Dx2UcJF)p z>~rS}S2NkO_cAsuj(Arf$j9>VKLcOKSsT;6ciqhlEuM%ap6w2qs=wh+BNKa<Ow2}; znMd~>p0w4Cd5%{hd$;woMw1WQeV@o^T|VC~dR_2ki<0xhGo=SZJJzt7zh~0hXq=ww zRMDv|c;%Q-@D16%Z<DqkuGbS<$HV7c+tMrLwYgwhI?JnB-qmMRWlt<}eX>&GuG)2H z?nOrYVQl`)O<n7YTkZ(VZCh-;#_sL8E6aj2-pk+3x813bWxVT<I=Aes<;@wkk6mAG zTqW_~#mTEO8+Lvv->my=&hcpGbz;VPycg0|xrztpmmm8$Yv0A5vuox&+c)>TVDQ{! zujI349utYX<)(bkT6A*MbI+LvJ-psaRqwQWJ5_qt_pi=Akz3rn@0#s?@XmX(ruE(9 z(jU2huCI>jyBv7#UvzA0+gvT_U2MzDmWo|FT(%*2Q{VHQTW4|Iy^`-$U2?ESm2K1P zcZQZ%vmS9C-QA`Xb0hd(V7XS|o`zC2qv*u0rydqD#X31_f^M>x#k4xTG(04-_ebXO z-TSi3<|R4*KDtNl!0~*Jvpf-!_NOz<wJR6hlnsuOJ5_Pab-I@K$HQw|SBpL4bu8LZ z{JvQ7*D{HB23Ar@Ua4-^bG;oULcX8hdH>!P_3ue5r`_M5yEJ&hg&$kGMZVi!iBL<L zeW54ReBFUyS2vUVs29SW8_c63(@O(Ro#Q`zB%(X2!l?CWW$RHlnVbvjA|5}?H9cD1 zdt6}NnTj*-6Z5<ZWLU3PH<d~G6ubE`MwfqD`}f|AX>0#%o)LNU(~HKecFQw7Wp8$e z&Y5{n;Z^IV4eBaU#+OVY46L>Z?z*>v@9pM?!jt|L7M~ZE5_{{ho%@vB&z7S{%`;X$ zl34oiti;6oI@w>c1xj^)_uQKIjp6U_q^#mq%mG;k?ulGa$TsM`ba__cEt%pwydU)o zr)l(f8Gfx(SEw^I^H<#T{Ds$%@8vm?3?h5yz9|e{afMfRj_I5^#SXcmGmd33MjXEN zfbGSz8NYn=s_&{4xm;iUUcTtk6{&AFI|_F#|94enl|9SvV-t3t(O351*k8P-dNZ>^ z+qrA@jLSu3d{3pC3mr53+_LUduhrbsnn$zxPUueSSjT7n$mI8#$r+rhe%x<f^{#qX z)0B^<t9KWyoYQvdk1JRH@}L>bdpVdxZycCt>6LfhZAM#R2xIVapSJzxyF(sCJjmKy zw|cVsqxlUI*$%$%WII0}4^ZE<HT`l<;l@{5w#Q~ycwb5Ek*q&&v8lVMqt>wXaqXm8 zr<@rQCrAZm&+h7cXt458-jj%jp&1v`#H_qunVWj2=o~ubKarJd%FVz@7B@<wb!B%< zujBt2=C^pWVGm!;o<qF1l=hh&`#kNcb9&-J_iSBhSF5~pqG<tZ+|EXB3{T^WeRz1w zyieX)+gn%X-1_F*_-@e$>s5)TrX7w>dH4I)j@Kc_=6k2y^kh<75USl~yR=R2^6JU6 z%+1x9w??aPzI8ot>84AEe)ZURW$g$_K4QRgXsK?pYoNl`+b0k88J*aDXXS<5ut)E{ z&k7KUHeGgfX?c1^wd{<PScjGGjY{2H+ve6demVCbMXh}5hG|C<IYQJW>;+CHXS04P zmf8C_U&v48)KrbVYYy*WjL7`H#xUJRL&U7>_WrZWZY$h-_+-!TZ97kCz3I<>Uby8y zL&>MI^1{OrOV1wcnII9YEFrvK*PVOIi53&p-RHE0J0xQF1n!lX>+~p1$IPgsnDvaf zSKoWVAC2M3?~jDO-Vpadq#%v8BkR%qgS&ONiT0j7qI@WL$IrGyY)5D0abA_myPNHo zqBS|dc*+!)r~j0i?&^f@TUGpG!{j~B&bW2!>O9!M^iNJnbo0@ZKHa-3CM`IVt|)mS zqU8dMYs;L=Z7=Umyl5c)Zr3+S9fgMz3!IL&`xt~tN=6(i+@_bydB}d*i<zJ8xprJG zJswi?+3lW87gJqoWd}pX!kb;wvraC5n5KPb*@qv8UK?{wkV#p+|KefO_O@^O!40WL zwH_PSsD>$X@|G@G9lbIt=E$MHVX`NcJkwQ$^vb;yo^j2zOU>?hq8K}o?Oh;$p8C5T zQwk<kKIVL9y(3TRYT5I-lNGF@ZVQEoy_)}LRl(akiY|}Kw6{*V^4B|%Z}seQhOA89 zjP4K5I*U2Vv>A+D4$HmgH5cK`*1U4HVR?G*x((5XqgOKgOb)9rdAY$!w)>v*?xT0v z47cyTHOtlE(&eNJ8--P5HazR@?f%4~Q0Q;sAUXGOr*oD>nuG4Ov(Fr(&kFISEZ%eN z@sDXQua_M9Y*v*~QgUcj!I=}PrstNN;me)Hb$7{~cO20RHa})q-7R)-Uv|NNhD;8V zL}mv8iCa-`4shSQzq{bTwJDG1sTXWn^lYEMX7r5YM;fzt9PKsOdrjkG=dO4E8D^Xb zFFtyRZN|ht*`Ol7)vfC-`Yg&mW#9M~a`*d`zFgnr**?Ju_gS|)8S?N?n~<0waw56N z;;QcT=8on)+Y7m$$<7jbJ-O`FM!t_rtjzDvvc7OPD!lC08h!Q>*DGw(CGJUte*Dki zqx8Vw;Y0PHKI`_h?GX<Syih83JA8KgCg~6S9U|5Tw6+x;TJ-yQ$(EG<ia+tQ6qAw{ z&54^Q;<3uHdz)TkNp~7ofy(3z*^ta7t3T~i?Odb&u-I#}BePRtrqzj)%*-cOJ*f}i z=oWs`GGkvZmtnhqN9+0-E;}T*^mR5J;OwbiwL#bLf$zbvsLKZfXK5a|#&|4qij3*` zlkVjV(pCYvuabmfE>2RoAaG}nJcsRL=Gen$8F#Rs<yboLapqsa!?w?6G!?Hlt|-`4 z?6PmNO1Fvh`B0H#k{_AYhAou36}VG9ki)rLy<$S&>v<+hr;QvWEnYPoI3RUTN4vD4 zd1eL|cg&r5AqnSMFE;4SU!*>5v1Z_M)fS0fadD1IFE>w=obsJ(MwHUgc;ic_+XX%c zPmnCu*v;+O`-$(9z@^-kJ2aQ<7QC2rH^bKSQ?SU}DI#i51@CS=8hf3)C?Qp9E#tKp z>CDQ)pIxsh2UIFI?kMclea%rUvniN$&RgT(YV*FHdvd8E)l*OWN!y<-8Ld4n4>%gD zIsJ?h)O@pi4H>7#>FuBHw>-)<zfN`eCnKi})2vN(R<8AC6XsPdk_>rY%Aor^>F5Vz zk(!AjuT5;^rH!<+s=4E?8*`g~jmQkX@#l6J|H)vbw&PpsJjC4PH)_uBe6!(~a`(-% z*)_h!%WNhT$GmdaDS5N^@m;1HA3R&)e`JZibo=VQP571l?j_FqCpsJm)61}*>FaKJ zAnVKb3)QhcF%!f7bs2_!Et>ALa@V~XmQm^7A~jCAWtjbZ{!4Ga>y&;~rPFg3x5U)$ zw)w0b{H!m@C}y{*@qE|kH;mnGt~i`{s7{sFg8yhM$J#x1YRfo|utpX~ud2SCuq~?O z#nxrL3b$I9d1@pzDl3%u${3&UGM+puU_-B;WT5XF9kz3&7GZbw&dke5Dn9G}Wuslj zBW7XW4|fz-yjt}>!Q^pV&E)lWx5z2YzGu31@uL*oyVGVDH{G1nXs<N8^LoLStW_ox z_vo&Yn3d|0{VPx8PRL!Uo~21gPT5~ATmIw|@0<%g&NEk9{$w>|)32F4<9R|&^{$SD zBX6oSS845V|Kaw!ta+x-nVsjSt54h+q^tSPFr*=g#nU<M7W1qNj4E@_e428rXK~zW zt(0iLkbitTm>+GjD3iK;X0Oz2w{xGKONwv(x!C>hZT>R9WyN+`OXUw;7uB*if6K;F z!nyaYn&}$L$wmR?4<mc`DNafelDczq*3q!7hK_FzoJu*#K1ati>yj)Z!^EeH-fws2 zn3J?X_3%ll#W~B}W-ugv6xF|#VS84b@ln`m|HNeLUHi{4oSgDKtTf!N$mGk5{%YTI zjXTnqEWUa1Ogo_Tta9<4ZQX6lmUg&Jue#{D?6KsGt5P|lnTGFo*5<e{KIdGUcRBRk z)6Ltwa%`H{8FlYoHI;9P$^1>FS`ivoeyCTy+;P_6Z1q9ayntJBGP*&t6BlyvEqi~s ziPz~H(~B3KI!CiZ6qscu-;BO_z9PdS#!vfY%ALdW56ND&o$>I%>}e;y_?KxdF}cs| zSLd;fJK|3J!*fa-1Bz#c@NAmbdG~?p+7EL&t)}Q?Zr!I`%3^zD=H|3l2c{Pl=d9$o z<jH9IqjhV`^<4)K-CDJ7opZ$br<S*tS!`jmi9PVF=it7i*LSX&+!kk=`}nNi=etYa z1?EQiExGw)qD<g5!S5CauS*^OQD*jQSD5;nkF}2^d0jT%D4ePKZcB-a<(Kn5UROQ} zt}xhrFm%0el|!7(gd>-yPjtL|cgr)w19llwdU=Y6q*6`4o{sX#oBcOr<5feqw$u0C z@}`>ac+B>0Qn&P5-$mVh5s|;v<lWx3{9kyiL9pmKamkX*tIqSX=QnH;|6_LEtAqWI z*j?dfy<FBh+200>J<m7B=~OO=JC@6)+QL%*K+|lY*^1j!s(%!_`SSU_tL^mOU(mR9 z*OHl^qGzXX-lpKbM>NB;d{V)GhU!^U`bwl&oERP!_nRv`OXx7Vkhk&Dt#4;1Ui@=* z>SiwaxBA&{(`s`2SK0q9Eai&oTJLM}N_Oq%eGinM1RuPa6}VI;ZRu6D%eiVMCrZ<U zr`KGr7vGxm#BfK%y;q;wq?WBH3%IQul+~WRv9<GSN22)Axsz9JogJGMxZ}VL+rW2w zXFad;y2=^*cw1FTbT@a#{9UuA_VEO0cHed7;ye2Bl*+Z$?q#)?mi*f7cQeBJkI|P? zxw&SBa}=&bL=~{@ub-7GyY}Bj#WshVH@aU2z2mvPcX6r6w^_Ow*A{Ft)qLxtzwFLR zZk^Iqk8+}=r>-#Iyk95Uc;h8gc}iNRsN~UizrVlNdtZ3WB6F+B_fX9q2C+#EdIxjg zR87rYczaKnd)exH@1>n4Z?>Cpb;sIgjT?nCI1aLid(T>Fvb}7{!5~e0n^{klx(}NO z%{jJr%i+&_Nk==E{%4r!y-K2wt;Jz+_w4Qotb6a69o_C%xZ;_|-DOepj@xs0oJ>qS z-FdJpb4wVzWej6;3|~z2<;hcKf7S3@amS4zIr#ZLd*OLc-q=`4MxXuJ^60vA>@nx< z`?s=5Z@7G#>z+tq;vB(}Lww()A4SBJ-+A46k=@r#X3^v#-@{>Bg9W0tN1V8{Akc5l zq&Ip65mAqeA8V~x8MgY&EtxiPt2H0HdQLL>UYo6><oo7I+_Px0&nFy`E957vnljU3 zp6%nivvRJjkT~W%<J!u^HJ0VQuJ=1u$zSbY4>vVWTzKe(^_@-9`?9t&T@Tc?v|QuI zx0Yw_^~+*TPahc<2J)VIvcCLI!t70Y>%FB*@~cY@%CPYnm)?u8cDS@olk3KU<h;(e z%O2gbGdR#3Z=sej#aX)Tnknz8{bl7!-ao?ByG$fb8}F&hXx<v|_%4r?W^GjI+Ki;T zQny}6ZB<-&(`4<hyN_io5`zm?9cQS$ZLnN?*3{SsOI;rNEW6p86~e(|^66gj<{<4f zy#oTX8}d8UZOW(I`JA?ObBiY5UEXOsZ?4SVuvuNGqfC5Hx7WMltah?j|1)%`t7Mri z6*v9mbl{hR_%_8;zB0M#!gmDTy)=kF6eh$uU)o7`x$nW_9j&cLze%4hUK6_JjwS2t zXC+y4+*fy=WZU_!c5UjOXAEZ!23jP<?DXDoC+|(<8g}N!lnome_uj})o35U)><{lp z%e;Fvu9Am-ST?l1?sw6g$z<NL!eo2HUBwl_`qS;^G&pUj_POC?V^Qg~vO9zK-JHAU zJ~CX?vD~@rM9c=6!xL(&&Q#ASmpbzOvP8b>QyJ44zUr>6?`B-8KK`RQINE3Hyw65q zy6cw49^Ty^)ayH+Rk6GDs(8^KzU1hni;Uu7dFD2r*?k_TC0Gu7yG}_u;hfnt)An}E zWxnELpQc~E^P%Bt$FJ!Mw|c6V#B)#1Zo9JN=EJ&`=Zoi0y&Jl6y$<hE^O|Kj)e5r| z7Yp#*4c#vsUSnRitYJA<gx2NCyLmEKtJ-F-+_|{4-{<?XwL!K|HtTh+<y{&0{$D~u z?A!GHHSbJ%Cj9e`sF-u-!h7lalCvthmU<*7X4gJ0xS6ondC%QRFZ@>Cy_hjyU{|S) zh33)w;&B?;`K8l#FX{jJ{nr{B?c&VB7az7Cs1w{3vUf*SqF<XezuQ8mxk6IK1!>+{ zrc%$}ysQ7CFjMmqx7_zrc3(F9I6SA%V#SL`s+>y;ijyzT`jy!3-qp=f?5kU7_F}V~ z5br#hjg~+D$t2qEO0_&Owejw?&)ZMCK4oV!u+q)B&fWL#^-RCuqe0)9@(h-V*}lu; ze=_BFe&S}Q_mb)iI|@S%KAK+^%o}d9&)EMki&#gm*xT?u4<~nSi+$WI_m_Lt+ξ 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%0D45~P&#zRG`C?O<;FRvQcOv={Px*#1%PGv0 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�#T&bWO6+ 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 -SSMt)O!|}ns?TBxny^{z4NbR`G~)YpHSIx zz-D4#_{2m3lLm#JX%e<9-g~`e)AoBDW{Y=X>Yd{l>Dj@eoz#+{xh8M<9j$M>>pdMq zi)=Wo?s}=jG@K0QYBIAj)OdSeQGh8$V@;~l2A1N7qPGsu;PyGvD!N1IkzW2SP4A=L z{Bt<s4n?0*-2CfAN7T%2#;TTOrxPv&y?ip=aNh!T)ql|+S%Y1yyp4W2uxY-z!xjC5 z<<gJ8OF}2>=vp7R5wf>JDbxAG&Q&`70jnlkFkabkev8?)4I5Q!iseqMWHOn*;)wH! zZ~vA#nrul(S--@~jb&k-f_qHerN%Zk2X&@9dQ305XXP$DKQkaB+DWNl_T)AD1v}1M zV-XROX=v4&m%4!K8RI5CRi>HuZ!(<vA>6jkA<$8?f$NUWcCRfTJa#?EKQZH7lDpTA z*wnSnyRI|wi>It;+>?CsnQW^5f|;J_A6geSY!bTJAsQOUw&K&rq6@qemRH=lk$?F? zOV`V93Dd5eHkC-1I<_dam?w1Gyb~A0?L9;t&hA~{svfVB$$k1n<Mb6lzVlb9UD5RL zKkcv3$)MYy-KBhM>#t{KQCW^23w|%)-mphd^vdrkr!7>RHq=a(dfcwep0i56y8B*% z_TB?0Z+`f$Bi?v~WyzVnOifz<8D=O)Fic$_x=TL5Qf@)kg;lqu-*lZU)YQAX`H`_~ zinQt>twl$)ZXZ3mFt_I9NBs)94++tigL&<f4MR_U61Wh;6Un^b9ovCpOo?T|r_XmD zV4lI_dP{QI`bQlMnXEHi+8O4*GMk?GVTSFdFMX#oxwCZb=BaC#FL3po>$1ev>{I_z zyUV>j21)-;9N8S;SX|(^JiNQr^%cXE6TSfkiX4J_yj&R<iH8@Mwf5SoDlBtjy<fMq zK;9^jYtp=@A+8l(nQI+Wubn8^>h#|JKZBFB(TCU^4n4;8iAQ8->c9Q#^nkykw09f( zgc%kRIYzUJu212qtLYTpG>>Izs7SiBe&;i8-qrt-LT23aZQgmlFoi8M`#(eP!Icel z0T&Ok9#S)CTChWuaetG<n&(e?SQN@tU$k6eEZ0#HQD@t`S!TDwgF5xZccR^$yHnC$ zUWv^;BEpsH$anHZSL=N-@xM-|x2`*QOkwjJ$;P!=8^w|u*gvRF{?Fj?hD|^4%hbO| zT0$zt#g{3yZQAk4eaGMVS5~HKak?f2O32vEJ&^BRJO88Jl@rUC2Pb>ge{l2?t6hDD z*?qcXM-=xq`@ko@%a<%?2uaD<#KFBU!DIdG#C2TlY!*U?`oFShwa-d=(5l6-;G*F- zL54MUC#+W<ZZ_(Dv6GYGp+z^hh`mRe%Y?v`IiEr@8g!o6y6|b(cDAriSn%bN2q({+ zCTqVNqS-kImMNt=DQWG{N`1(B?z)+FP%ww?1w*E;d-jD2q9*rJV%Kc{tSTm6ki(Vm zl07CQA(sDVfdQNT7o`IpPLJoQ_I^ub>WfGfty!??pw||wq^{}!x9IR=ExlKwyAS+l zFjllz6kT<Fhjf^NVC(M-3K`~aMI={*`)09Sd$nxy)Vbk1<OMcI?a)Y``%|^4RbS5k ztHuS>#xv`s7yorJI>{7~@Oweig-Y>9+6?liBx)^mr>(WKQoZS?|J|bFib&m~P=Q(5 z1-hYUC(aMZbc*p4dUK<9vdo=*icW1WJ~K5wDY7dN{le)ewZL_UtX<;q@JSD6Fw`zs zp}Bj}#b1U-5=oqH+XB+x2k!T6Z$7i|(-V6ZSN>Heex`nXeMm=kXVdAFt$zg?yX2VP zrD_=%8LWA*!a;j>>gm<eZ$z~=-dFwA^^$vs&?+w-od6Tp^SKN>o_9nTm}WbkoOWAb zf53LfX96PE@7Vt6x#qA+{y`UW=zoTdvXkaNWMayZU|)G#O-5LeEBVebvz5O&R;@bA z{+J`<LEVX7(Ty+JLLO9}$Yq**CPOu5bz$fV-bJ2aUYi2$xNj*wIAuwo+mYKdOAi`n zY&o#0^6@W;M-11F-#KzttkRo>|3u*9Gae6_464?DY1w0+*ww$E!!hq(!Zya^3#W!= zuj1bkzNM<;pjqbMr4CC43Lcm|X}T%4@PgWl`5YJbUP*DzsSBuIF_B-7lh<dzfzMrE zS?0Eh+RU@U->F8+%+Kh3T_+HlY+#^rVY8y4`e9C=4|ea*9E{80o|?Z<e@1bc%W=U6 z-rNgqm(D7`VYjfRuV@8xpwW4eQsJitnr_d;*LV16h?W?L-hZz&i^285^!Xj;*H21^ zZG7T1m+SIF0g+`q2J+8bcvP58(-Q>}qpSsTA8fuAblG`=y8hqACAk%imxPxZ=GeF# zc=}y9OCaR&&&GdC+206n;pzORP}wOd?EK1XHdl)Nkt+GHnu>lKi%O-QRr3SZ=A=qT z?c`96SkElnRB`b684c|jkx4U}S|VSlYh-d=I=&$!a<N@oz#RLh$9nhg)zRX1VGh5M zbS%!{z-oI%ffNCaz|zE^HH<y%hYAhfE5&j#f2)&h=)TdkH7cJY(DgdQQ|}FbPE2%G z-D$V5<*cP%(w-)Pozjj!Tcf#_v)|b*X7NBmamOct>{w^9-TNk8R<rjHdLtV1oA1%W z>ir!Dy19~~w@L0i-uUl=h69&w)~7jBnR$aN8%}dn_Y1InYVxmGsIqJ6CKiL31oMS! z9AX)C*>=0iXYy?L>mqR1=C{%;>2nQJ9D9GMm925=UEG|wW#^8g+{|B>vhF{j;8XEu zVdR#g2ZpB3Z)W6*3q0N*qoO|JVYth#7xy>mNb~-X-|?_0_!WcIqf7UbH(s)~kz)yC zuytfHF#M1(G0cA9j9wmnGmAxc_2ig3L}#1b^A~V2|1+6GRHGnp{ttzME&Eseh%&mw z^yS8{>4s+n%XI{2ZK_moJrP-6SEcrg@vEJZiG$)bZjY{2pO2=mec=!=O+Itm^gjYC zy7F1MZETliFaNZ&Oyg#TM!g}IvflbF)h$2xzv`BB9eVO0g7J;s1gX<0I$Ux&F)YXC zn1zV6s|aR?Fz%hdGnKFH@61$-rY%RWvc=yyp4q--y@qDAKKCR3$=Xkn+pXf5tj%Yw zvi#4`nV^yNC0Qcum(Vsg{Tt2N!56Ap)~?#kFx&C309WYqms$>T2?sNGFf8$YeWFoo zhTUY<X$B?>eKowLIvrLVja>g!M02hJ!#RcnFEX3OJm1(oICF$IjW3Gf+Vn3@Ggu5> zG_2;zS)^{v_{njb7GvtJ^%^g^{U<4AEnKwvOv{4sJwInCEM(?o^Jmh1QK;Br>EE*L zl{LfJrPZhYGptBp+FxjDFa0Ryg~J1(-TwV=ym~#Hre=%iE{zMn`ERk;(Q67$(lXs_ zy>XRFx#csGoo+IFICg!|)6oC-z+uPEPahv?d<%Wpxzu=`ITK%a!}mLz8A2CnCpd4l zZPU;#{MPrxL-xjgM&|bV%*5RP3>i$_Cl8v$?sHjqXz`PyCmK>t>@f69`*p_Bn2Wix z^`N%83*%t}!zK;oyu^D^`qNK}%n{h#c}1(c^eOK}?;hT%>suVk8@x8w3M{VNq$XWm zbw)EIknOra?!ODGHUtDHcYG4m?d%TP-4v4bDz&*lns);09)qla0ENI9p@Vt(NfzCP zGrlwk-aM0=@t?uM<954hRl^ZoUD2o8?kis5X-fYq7?*y-+0=Z74s#gC#rdnur1fud zpS4@Dxa_IIwAarpis%0J;nL(`I(SFn?+ic9xd*Ffq~B6F8v5tds(OLx#}>;d&hj&w zwZ7+|xI~16hfZ<8lry#LzgoFpxd*bwzw5Z0d64gL;ZY?qbKPBztxk(sWB&&1%zhxK z6|2|m!G4yVLFa~{R*2(27H{cK?1fPqy!V<e>wXo%RnM`;pzx!prNLsw3RdOt--&-+ zw_LYqSSKSJV<GkTg40`ttd|G2OE=t5|E6?i&Zb`7@Xs2q?;kWJJBx2(zLcIDDyF0T zRBDw9L(Qp`J`KC>Yzv!J<+WvcbHua#J1kk&?wM$IJ22_O{_mWu8-E(t97t?Bf09qw zocGlh;bU{wyo;8sl{m@xMVD)FoY1!X7fP`U{xcj?_UvKPWsh)MB=nCZ;?GG1*4%p+ zl-Dn@PIhIjV_9&o^zVd3uX5IZ3pJS8au%*)Ra*Fk|0|cs@i(eH>|W*vn)9Pi?p*n* zp{vKDf@8s>w(}m(XY)=KeIURfeY){c2usC_fJU2l2Ogz7|941hZQR~T56XWpIQg%L zXKDP+zwWbwO5_D6?s(6m8(gAgR?;CQd!YN&*KhR!y!J&d)2}|M?}$j!|D@2ad_-dD z28}m?verL(HoJdnp6s<eW$UuK6G9ag^*fqmHb3||o1J-@5`*ctga$szW^E&_+7}G> z4E1NYwprg>tX5m$ayE$3K}6n3;L_xiEJF5-_D2@Q7N6)VH-F%EywXJSxj@6qb&lVq zF05(DblLt-&rErO;MG_m7T$#iVu~(k2!G&VUbOzDSqO))^s!cLKMNKC-9^k3u3lmd zeViHgQ+&(ThQC5P_>4u$4U~?bXxg&-&U)j|9G}w+PfTo^dT*!wmBnX%*e-7P^<cW0 z&{Ki56FCnWw59LzoVb5TjAPTmhCc>s=WhluhJWUlQ|&gpBeT~}JMlzU>%<eDsp)n{ zGIZ-WBC-P}St}_l`0gOFRcx-%!MpcZPWi?$>ueB}7UeLAdQu;FHa7L6G}rg9th@5c z(zr95-LCw*8F3|zHFeo7`9RI2FO3-{9ik4~H%e__Vpo5tXu%czq3PD@4$e%&jeCqz z{~lS?V9(h)N6zJH{|$xJPkv3%2}saxTvy_K+c5r!tKtJup6$_J{7QESs|ILvIrG~K zuDIH-64`X)O`7QT!$REwOxmeUj$$%X>~5S2+VQ2Kr@!OS4$fF+K4(LXLWZD|1{_Jp zcvzL0j&R8<99mnLW3!phyE~lwm)8u__)p8#qd)l?{cBQ)&Yx0|^Go<kvEX@=dq=C= z^~@N(CVpz1vcl@Z>dq|X1>Rb}Zt^4+SMY|dXks`Yd0_eZq8U-D2HaPSyZ%nqdihyL zNut>_guCTILde4UKSJ}?7>c**|1%a0bPmvXESkW6K4o(Rdy=i;o~*a;jI;Rfg{<D~ z=E*yS<G`~Mx+b;B7Y)`jH%!x6&9P%kz=H$lSG4xryHGVp`LcZHjI?)$_8bg6#ihF- z?y`b*2cL9^FXIdOSNsXZO}E*LBv!4p`k<%ul6(5op9;J&f!)WHOWM~tcrZ9E?ET@g zeAB!$ti0zA8hB5*mi#Pqnd?_ZPdUW|MooW)cQLBDJLD8(UVLT=;lFOIC$NJ{>GiiJ zft4++Q)m0d8#)y7<amWQ9dBlH&Ch<Ob>POq)lQCKJnK1{)h&)QyZ4?y!o<?3xHyih z(a=2WEfXUnXfRSK;1nO@cfoyEs;88%%HR;Y9KhP%-R^!vF4SyiZ%|i_z_T|GgcC(C zcv+{PdABGy^wY}oGq`Sg2nvQwxt%z%jJ2*`P&aGaiDNtptRjy;s3qh+-xMJDN|5;{ zN9T&ZM`DcfiUwOd8DDO``MFhNiC{q1!wlVZ8x+J3R@k0u-Sk_&<G{mnKd1TrXP9As z#3^k12X|$u$XX9h#{DyOl$9@P1SDoQ-<th%+V<ZI1ybAn1p;H_GbE00(F`$T_;W?a zxcPv>7FHW!QSr@6{~1=?mJMRxd}L|o$AxmyKj*w`i@AJJSNQaS#FSOJPh}MsRf<LJ z>^sQFWA~O}AJgyY9JMUWb1w@#(>9R3{+8p3t)u@jDP!r~H6K<av08htHb0_uCccYN zP%&xce6}POpLcC6ms_+K9^YQLYU)0hx(U3p6QlVah#f96X6-oK&=e9-Dfy0BW9kNv z7dpQhnNGL*^!H4YWjvmwKB0Z1h|=>Ht%r8mpVW1ze(J)o=6(i)X64VB*XkU)1KDrP zWDNNxwA#D>q;Sv~*XXFOkn;)OH63#TUrFa^nCS0NiGHK3Y9erB&C}1i2^*Ugb-cJ# z9eK`j?2cy>3W?0WY9KvnwPLh6Z?1<#7aPy!BL<V=7Y6u9_j`6-e4OXeeQ5p*7gd#Q zhdK_0%CV(%`UQA!%?v%3v|2sAc?bXWKUZ8Cr|IqP?rTes_~~oFb?i@}bT9jjL+cb4 zPyDwmY=YM7)fI|d&o`X=tf%#gFTCgte?iyYZ3iN`7B~C5>{;u-`OLN%Teo$rP`Obf zp?CjE<36o6jf+JBrT#noD$f35<8(MRlVwX|v+i1j<k{A&ss}Uv3fAtQbB*T>1B-#h zEw?Vs$R`yo42o;pA4NRf%)y+X#OoK%qUriW;YQhihRtl3N?Bh2lYeKj>_ZLnJC-Q% zuZr8J8y=hW`lLX}8YZQQk8IL1g~X>ViaseeHQ0WUh|np+w=-|J&zLLY7U1gZ@SD3$ zE1_jW(v?@+J<D!f_)y<bc>mkSN1|;RX`!wHNf#{?MHLQCZTO|ItvPjZV%R&5P_{=W z<`{5^{!`apBydN%SZ*0}`5~s}=8ep1ryH^YFK?0KE;`Va#Tz%_n%KdFZ7YwQ$PUOj z^^mnMWrfjyh6~Le%pW+|O$3s8{&hOsUjAg-wu@pDeCJ)5bm!2ui#uXilQ$_vUH<N@ z5gNrKtQIi2ILS&SdWFXhNka)y9}{yM{!Y(X*H4Ol@Co`^uc5#@f5|e1i1eK88x0zs zPdFN~?18Cis`Y*EIgE7=`vQ+Cte$Xax<%?|J;wGUZnHBD6~kYh+1cH#$z#T6tI*8i zcIab=g7y!2f!TW&I<m#N|Cn{ceuqoFqlVsgR@I2F?^siJ7p$zATz2}5>AL?684ru? zm~;-Eaa*o-RPNz~`hOE-WNjv`Tk}gPPJWS4(#rn~E$Uo(3cRrntc#yaS#|fXYU85U z8~-}L5VjWQQFx<#Q77tt!`WN0AL`$jc~uME-gQJ^fx&k@M?I~SlN}#U9%bwdEo6RJ z`!c>&G<&1}k{s^HCmlMGjN3%zGZudSIb|lt2Z5#UT8yFtKMDNU8YOBl^@;308~0_C zpUDTG(VxPwDOADfQ5D<Iz6<M_{~qDY`^BWmbE9kDMds`#)Bg<BQ>SJ!W-j8WvkP4Q zg=I|_%a#{%%b2r5q*!{pD}Q|yI-kR>nkN!<XyRGJiJT&b7k_CGlwev}_Qd|mgSSN- zinS+_T&F87i><$V=vLwxF5cT$IIgA~;GDI8%f=JhtPOi&`8omwzu6^8u6oCk^K^#- zcf-mDX%o~6>Q1(u?PZKh)qFgI?ZOv3rA14GnaX)Q8NMhmL~JlDsK2IUdj3_+s|5_{ z@=Rg}4l{8tW>|8MsWtV5s(}k<%Ui}76M45qUV3!#bk0UbuLmu9aRTcDe_r{*-=e!> z2b1u#zibiT{swZtKVHSlaoaz=Aj*~_GFol_qO@FL2D9Ud#>-Y-*y-qQzs4<p26va~ ztpyt-Pj5dHI^oNK^@e6auN!CHSY{)Tq_l-+Vmd>Oa7+<H>fP4kY|5?MzZw0?np5Pu zJNp2O*0m4onMGah&DGOqjz7iw*!-u`cII@akR@L^6W+{M(}>+4tTt<1YC6~AiAq_z zH7r7!Pb7LaFn&;W`|iG@^(5N|2dz&ZrNZLM<m*&B)5H$OI)oldKKa+}%*OUFs)F%} z-*sMG30(HW{fgiTsT{e@ikrApv!375Es<@ObCVCbwEkJ8%eGUzeyeYamex0Mg@;d( zEDSgOnLcw_p@$uZGW)02Hr2FM6PkKHO-!E9pqpPSsG+*~SnBf^u7)RDl8omsQqaBN ztl)oP=9<Mn6la9a5q-U5=kvRIcaGJ}d(^cwt}dbB&htr+^lvm>TJ-rhf8i7N70OdL z|55GSWy@sO#Gk0f)h5#s`dDv+-Lou-Sps(t=<Jr8)Rl2ONoe8%n~Ae6#rRe@SBME7 z{BwdweSUt&;-nS9F)wypIvUa)ZBqAWp8JW4S+nh$v<}tmzp0aI^G4q0(9h8K`Cmmt zf(?b-w}<wpoD5i#^}WdU&?=MXSC%~euCy^JeNohkhoY;~4}~QNcm|%HC?f0l#AvtZ z1DmR4yVaP?zbI%eUZEGZJ)x1GpHIB*QPh+_^^0_;e(XK-@8Qghz5kX~B^NoS^~&$) zl0P7SM_}DP&Vbqo_71O*gUnOz9*kJ(%GAa-LtS;|N3q@rRTaj0ku_e-HqBbByIwTB zaE_Q&$@oYyU>RrD+MJHnAN&oE%bev)>V4$eG?hzqPdmp)#wl|yR!?NGvM=g<yIav= z)q16ft!k25$tM!5^?5p27C+_x(aUAhuc2X6DLE}~@fF{u4M%ehg>c`WvRo>_Q1p8U zgPK~5hv7knfCcZS=&>%ZWce;&&RDtOq#1v*7W=6QEnJ2yx7Zs_?eLu^|0>!&yuxxy z!~|BJ-x<qSI-dCyvY45V>9IrjFC}x~DI%E*UpOwly-{q*e#g%?FLT)+DQrE%6XBIG z>9olgqZ<nzGHkr{chZ?hpO&iLc(__cB_RJ_%!;E0R*iE$b~uJSzr}8BzCfvMq25}* zgLO5IqIoNCDJ^W5nfJ8&@u$t|Y~E2PFYhlAZR2mrcxKEn_3WfMyA-nw=QzGBJ|`}t zseNV9oI8=M{~WolD>HnV(s0$bBV6H&z*(~?=}$W&>nC_|6_-e!)Y|rBLQdPgi!W|v zGAFi8>Uup<>*Rc;zzO`b794f2VAMGnzmY$>SF6C@@m+X_?j8Z*2$=<`0oNJ6YB#Gj z@^|d!DibI*{m<a)uvPe}VE@H_m7*z^H?qjeD+)AUW@nV(>rFUi5__Y2`t=8badV7B z9T;}}WuNirx*$W-7M@1sX^jjlY5zEr`en3Pr-h%HvTZ%X-I+RiXXgql{rSkSTIx+& z(BUUDmc3z6*tm^n$<Kz*oFZ3!xmrYmpG;Xd-{3pbEwh4J=bYOogPt)YL^#K^EC}@o z?tfzVh*iWzR<7Z*h?Bp<{ws$Rr#<Lx<9pE6?SJE^+O7L`L2c^=5>~A9wRK#|dV9&n zXR5Xn4wz@LGBxrim@64=k(1VAow6fIz4ep8;t5+mI33w`eu>lFsX6>#rn$E>9Pkl2 zn!$Eq+6;w&>1C|<1y<d1VhgvEd*m+rciyfktWw+DN**keUnyEN?JgVhX8z7V4e1v< zk|R`SoS$LTIhTFqRH@BRoMae(y5;w<=5BS&zF#q2J157W$;H0F>+*4?1#3%otNG3s zI3u~pglR(3)Wgh|1Iw0MG;TVY)OX^?;+?y6H{`wuZaLX2uVk&bT482g9aEIJ;sR%( zqz6m)wk%Q1Ke998?LM{`Evp6lUy1H=lSvY**6?e#alBqJeT{7ktJ;?XM|LtKD>-G9 zRq)1ST{Y$j`Fo_y!d~Q(V)()M>?Y}iquj@sgAO_;NUe}R$u#@w2PNOz&z)VPU$`B6 z6a1lROQERw<nLn7L?nCe?`Wu<e<zgbo~>OnXU~Bi`?qIwn2VcTJDBgzoN|J}W##-g z4GTmL@oG4;YM$R>pt`@wD%0laesP_gcO~NgR4qgfGU<K!(ApBZo%!(GPcfXwEiW{< zcKux_z?0_^6{}TXU@2MK8N{b7KD(@8>GkC*3-sqF3s_}wS@E3RS)<@9axf^Y@T(xZ zgxti^ruqZZ1fKus@19rXrQgiQz3{J=)Y_y2GbN^qepL<FvqU9u#?C&DjUMJ-97|n7 z*58@NRv#qGm+?(4w9u}`kxMK}Y)Xr+&h=ZCSF$slr^-r9W?R74x-a2#fbO$ef!x&r z+*;=wrA{|L5n#x-YV=w2kTJ@~VQaX^ES?QfMMoRdtBfUbf*B&i7*-U{U-F-!%l;J) zv;U;P(#1AxjG1ZQbo{goIJEOwSuRGON_4$;G1~9LnWpy>rF~y1h=eWRc)<9SrAhfe zgO+5JR0B`r3bVxhDPgt+S}F@fe!Fm_ewi-5`;*JcPb!b@Ez-%K`Bq}Z-5awGAJuRU zU2^P!y@$o@$*T676rv*?w1cdK*(WSJS++AkWf7bB!`{<;k@g>)xlS$2)cEN->CxQz zuUH<NylFVJ<%@eR|ArOoMYuE%>3p{7|Hvvd{T1hm!?*IIr$p&|-uQ2^_2;M7j2~9) zWje32-7kKVvNOl5#Z?z(FwL}d+Sy@shT*L)k7)5r4R)zACx<QH1eUw|brw!Npk{g< z)Oq3OIUMKzCi%*$%ReP&Zth-^akzpt=7MXhMYHSWpKcqkG(;$-=B+(g?DTHo=~H|M z%p+bJhOyasChifsa9}Ins+DhQ987ht@NjXsE>*pfq_<Cr?VSYE--?<;2QN+7;3vlR zy`$}<hob2;3!&a^2XCmp*8O|_D`%zajl(h$>p!z5JZ-q}RKct1BZo(``~f#@ozoY( z53DbeV%=-h*Ww$~Y~XUK{iNKiJR>#xSMwVkeHLu~&k)q4zqYLJs$d>>y!uy-jmy|> zXPbxzhNxf3O4l*Jae!&f%DKnpEH>E6utj{Mfa3X^tVxaY7}>ULVpgqpKBI8rhp=Mz zJ^hWW7Iq5`%olM@Ja#~@VD>?_-UriGEXr-xY5T{KtG1@=tV+4eRE?#5d&F77&oLzF zT{!aNQ%s=rzJ)bknRZ;QK5|iaGrQsamx5bZYdQKBdnxSZp0**;?y2I0b39e@g))jd zEQ`9|3v54mp83qlm@}bKEv!w~E7iDp=kULaI-n588?I2_*|I(4<-6FE{Yiz+jHRkx z?;ah}wSM6cpphW3GI=BGo9G)X+k_sNT-x)%bhW#ZE327Avw+AU5e)|0u8xlPZy$;6 zyuYdFxOmIK8q=3STN<`K3rMkZ6#5$epP^AJbNz(MS!ITag8KiSaUM3gv2WqD3tK*& zNnn`sqSkR$Z_WHz?-t)(inDoZ7e1cBcP@Idj?(rU9R<B}=D&(_$ZHe(yq~3j|E7(s z+j@lruITiG8k<}rSHJ6>&ZamyUtovi9-BqkzR9<OdUqe4xo_dlYX_<$kK|`)b00l= z&i9eVCFWlohi=)nDKv(acxgObBJytHh0i*Ze|Ly3wQc^lwC_FBt!q=B&TKW-QJfJ| z!C{gk;4?3AxtQsZh^)5)?&%6v#k(8DgW_6Ul4=$j1u(t|)LFFMX0p!>t$qc$r!L|h zN>{mg+Qc``I4Jk|ZPzzzx5h_oEBXbtnVGpTzD+PT_WZ7-6){7B^ZGWn3!858o9v&c zlYdRpee#l3Te42X*C{SLfANv2i%k8bM8Qui+Upr=9rr9h^OajX`c1{OASNU2Gcm5A zm4YhFi=9k43qPz&)mk0ko}(C$vi5}2gkOt-b53miJHvX);_jKk$9VV7IOy<p2Gfp% zW&HNR%<7Ui1Lqj;VGQ^@{m&~N^RNYMrY(P1iVoH(ifCn8)D%sgeUQORLe=cRWM$)o zcTWY~{&7aR@V5l#K7TX))F*F?fA3!vJ1<wQ>Rq<yh5Mp?21yLkE7uAh^}naEW_$aQ zHJ|KHxa{Ek#F^-z&JeTWs9|bUIM=KjADkydzlm|qQ&&3az^oi+{6kfX%j8Dux11JL zmbE)MuB!fQ5(|?{4&!OoQsr6@cCeUHVGB=y*5iXBjeA&*q&#H4Wv;Vm#WEg)g)`p@ zHnT{w^e^O7TwLl|pm1J}=jfU!2i`p^{Xz@EwH!I!id&VorT-NAGyTAiS3z521QREB zq?|hDvUFOld#4xUn*R)q+-~~|TzfWt`qB~fvte35W$S;2mKxRYg9cNtoBU@8>YlpH zM%E`_^(&=qcWUJxh%<iT2(S6ikkQtw-;rXO8N-<$@=amc^^BJS=J5&1AyeBoK2y!A zpR(X}CI5M0u1}5~`biq18$Bb-S=qO6l&7|~^BHVqp4WWm{Bm1y4ioK%njPn=h2K^v z@FrU?*&TIBAmrbTE)A3XXMD5HTx|1@)Z1`$g|PS`vFp4AJZ5nVPqfxf)aI*yGee}L zMPw#lm&Lb#OK0uaRpoFp>Tds!2BmvRzpth<{_Y5f?$nkSj2HSP@^0GZcK$Ek+8Yii z*xzS8Jx9w%vXA}mB6a0Y?4993-;S6>b=GsNI{RKALFAe;=jQ$He|(s$I|LIRPYie< zlRRPnqlEsB`Xjn|40Ad(3U6Nw@IE~CW`cL?#(>oi3%@6Y3H^%?ke*P}Ev&S&A>;>} z$QtI2g}rStZ+NO?zVJ_}oHx(Ka|yrg1UKh5c52}~37o2Xd{<=ubkmv^E70O-EpY28 z%Z6Zn|0a!z+`1hGNvl)sI@itKSGPc8ZT=SKz^Yf)t*Z{7sdD%-d5V!h)Y7dTyH{|h zOe}Dm8E(nxkvf&fL(ysLt!K<aC43dV-m~VpzLRX~U&Onz_pfp<C*$J2e@gTAIxV<a zGNU18+Ucz1XYs~LH(OgLgl?~YGG+Vrg&L)MCZ4)(uA$miC#c=@Z=Irs^zAKMP4trm zSl2FhiqLevC9!%2gHCB*e;{||XNLug^E3_z6<&)vp?^K#fuzFIFMU&)JfA&~JE7Iw z<+yl_;F60QdPSoZo%YM5G5p<Pu<{Ut(K;KRLu+L23SDb(SaPn<@mPk&JRb)p<$4yG z;PVwzwN}np$+LfA#~WV>*9|%@5??9|yL~;R_IwkWlKpdnOPS__cGf5bLCJ5%0*9D1 zLm##Xhb>-kkg?$VnTu}u8=6=zfAd}v{-mifK{U69O(FKsfu`6%7T1ObM^|};hLg^2 zt)F?<c$7I#I`#1+gGg%Y(t_zN$-g<IE-bBDKf|z~rbqB_M1$k`n&^*m%JDkhGx`~W zT4h`=X4^lUnv?zQPf3?T_IbhHmOTqv^!on@3UHooIP)a7uY>i?auyMeeM|w$>n9)Y z5K%tFy7hB~Ly923#ou*`aYxL|?rd2QaE9&5p?e-I9~L?k9MU|_$PldUuswHeEKin` zz*<hj-7^@L`WI>idW%Ue=U5m}%$GW!F__)r0aK%k;GNyNkqzGIf3NH=6PkJEi^P;$ zi#1$z<<1;o3%V7dbychL&WnS-Nxy8*uspsf!N&GL{OPZTJFBGCJ|D@tCO>6?Bu8?0 z{iTJ@UXf)9uNztR{o~BKbH4d^@9f6=D&mc--t|j1Ea3f?+$!a-a&lrtkC*I$IrW_e zY!_1nKEIO-)a8D?@Lkx^BQGR_-UhhL$bV^e;wzKU?U+fkMcFNuh-(Bz&iKyEqPb~@ z?}^(5UT(c2!b$hOxP{8EY*}3Ilz-0nEq}@$*9n0~6&r*Ff)DasRR1k1sBr(KnDosX zl?{T4%|eZ}9bCLS8XjGGGh^Sww_C4o=2$%aLBDrZg`@dZ_DAv4XT-ZS9cO&(lqO}T z{Chg1c!>z>h8wZR?{WTiVKkkd-f?S@PU^;u$y-=Ii0=?Q?BRDzKzh$!mNLBp)3p0r zT-a9gcBovJc_Dwt<3_7tQ5qNXxqBBpbzL@y$_Vj^fAG1Z^TbK$;3xT5$JMh;9)wt{ zB*+AQcqY}j?TM51?i17B9%x$-6#e8_)9D-Dv#mGiF%;f$I^4X-WJ%r+&bCiVoF}dr zX*&lp&R(w2p(6Yt#EsiCk+rbx&pw8=lb`)Ls2lY7p;_0=Ms8=jMY{ZjsY~xHPGI8* zQ8j7$9QWvCWtO}nOLWo;PH}lf<9>;gZT!C;U;X%mjcs3?ZUf`8pkt=zSU(o%a2=j} z$7jRqs1gO2RV!Aj=>Fj>c{s1h#5qUf=Zx5g(Q>J*-VK_mjY|3~t0vb!331I45OCUA za%NRy{X&sF66ww=BCe(xy0iW>+}Q3Wm|NuK;GAdtROG~Fj#cbR-7L=^1f00}cng=K zyMWkAg(nIJVjj3X_1Ef}l~c!Ww0hg;hx!gHpG=qPT%b5LZGV#LltKrV-j5rstlE!; z*-og`KKjytv+b7GeU+_Sig_0H)l78UBKvpBufDCNcc))544mAU-|6a<I8j=f=YRrN z>Pd|P6P0QG6aOvMo&Hmx=4_dw!_%e*W^r>DIJH|;IB4qKa$KDM%(2wxidAz|Yt#J& zeG}Ht)ag!jU!=mc*K<YM#fu_&H-vwg$ojh+U&QXQP1192gsNuXzs|6?aZG2@BmED! zn(%MY?9lXxy2+BPcSS(B_77)g+AmJtsf#yM&sF|&_(lrT#QcJa&aJ1}u3pHQcrW`u z!|@ejlZ_2Bnhx-WofTgo-I5|RoBIl5P~{V!>zaAqFJCdJd^oW(Mc@S2IX`Jti!^J= zj+~uc%2F>hW@`5CUB<-i)8X`B0%PoVp)1D?M3SyG2bTm+_@OUw=v(Nf8L@N3mpDC~ zA-r+Yp6cUGCRfta_A?w~nkeVv7M{Vun0w&J?dT_ly)$Abt)2FY=g=C-nq#U3@(i;! z<n_-GWeZMBvk1MI{KbLs0KZe{_s{<87R^iiz!Bo`pJ8Dy<1aUMZta7b8vhxLSmRt2 zLhF?np7uK3nPPY5&bI9tn_m8zaY0gHwPr!2O45Y~r%&qK-92%N?)s??tSSu`bEK#4 z=l(2IeE*bY<BEiZZZiZUqVH+622Ho-7uArzGC7xX@`Pj0-z-Snwyu`rg^o@z)1;;d z`Ey^dEO_?LX7M%&ubjOhFEuZ+98nNYTCdscQOT1Ttx>>cw$4CFYXif?ym|bBH#8$O zr))mp+9)+=LI8V?W@0y6N4FSjIa@=NjO&JS?x4L-W_`ImSKN|&{U(*dV`+ybJXd}c z?eTb4q3)Vp-xPY5eO}OQAjsGtcl19)ix6kp{>L3N;$$kEj?CD9lRanOZZ=6()6D|z z-t$f?eR%z6;fw9uTvu8G?N&5yH|JQEpwHl#W7XJqU1UYj(JxzBPRz0Ic)s8V`w^?n zzugN>#15LY|5)0d`<O4o>Pa+<nSH~*N0&Do@k*3eP?Hj^nc&>a(iCz01ZR?);u2T= zw||`{J$q#2Vrk>t{GcE%T_T>baOdkg!fJ};N>Sggf9jraRxmR9j?#yT&5?g6E!JtB zF~7htVb@PbY0dd8qD+>T9z=%<F-_}exEm3{y!nqnx>Am}h~(amj#D~1ES#)o7(Sk4 zTgkIOaMgvq-H-V7-aQR$6FAgT@>I+?n@5#r=_kcb<uCPxX3U=jy{A?22X*bvzogkw zvf=j(3vCADBnHMrhM;%a4GLYnA<0|pC#7i{NL&1N%~~6?K;L0jna=~Ybxm<u=Wki; ziG1K}%=YiRLF&cD4^tVYmB>wM<-B}pK}68HS$1ix>3>#4S(Y<)i|&ajSK?Z5Id!qu zljlcR*8J@HdZt49kfeis5<_GUgZSiEQnB%;7B-fD6j%`&lB==j&B1p8>-l&1XU=PJ zT>Qnm%>6=|_1ABz{YEcl9^3xL^@gEn@1raMX|^bt&@!cUiTUcC1?wYD{XN>F=ls1x z*m^5>en{{{omVWe6E>`BRXXt|{6Qo8lskF%6F=?XF0ZO_<=WMBF#p0KeZ!xMb$Y&1 zf-mlO%oCZzD6lHvr}V$Yp{{=w?mGQ!W7x2rp(%Fyt$2?KoLw75bmEK|rU=eE7I1_0 zuAH(fqnbtivIs~0&s^(5FYM5bJocqYhwsqlzb={1zZLRtzJ3+4`uH-=Cv!VxcgO!} zXefCRxP0DBm+RZz_dPIL^+#X>(=EkF)?hb<D~sRg1xdz+7`Sk1&0(LJDI8KMbg1pU z^A#=c_{7dw^DnBb;vEMf{xb+I{xOq<tE*<>v&BWz<3Bw(;iwoA+4Q34-Rbg6?1$c~ zu!g#nopE^|v2vB;n$^<F<%Rfq;uM{O*6x-$Y{fSr@_OKHo`Vj}wJh7BW(0a3{qRgd z!ROC$R|{Szd7b|Z0mTmkvfEw@c;Ei!yzq4V4?l&#??&dliy}5XWSg+%m(xeDEEbME zM^`ak5?!Ao$>O<Y(QdA;mD}|h3dIV`4oz=z;@O#!%CIdj`Ks(E!SAb>IVUr6ZOFXC z&T+H9BV?KEqHR)|)*lU>SnQlM3(hL59r@vyq!J=oC>brp{fw_j|5pRo{1rW{S_%iQ zWPRrL%)KeJEcdU(w)O0{xFX8`ab{<(WYFY2#kg&s5AT*wPv;xG5Zlc>Go^X)KbK`U z+qk=CHXPaXbH@Gtle#>SzmN5@7PC$}Q+(sjTAmQD4MkthcF+0Guw+A&lNN{e&99=* zlIHfmiVT|XI_c=r-y8u!HfqKH89FxZlyM9Vu5Z>cW8HmO@HA(Z{F&aiTQi-yuOEqA z!{RHmPw3nCKNAC;yAMiji+X0xAT&Y5WI}<~c81P`De-DKtEV1N5^Jb)6MgOYEau>f zr!u$MwAXLakvSxw)W2ox@_jB0Yv;R|G9Eg$cxL#agBoVR^&bBj&InFzdn%B$HUA*f z>i-NrnN1INb^d2aikjxEeX_H9iTBR7)&4(fy$}BT&}fv>+Vr2{U59(4lSoPHyz>rI zz9dQJG0C}@3hlqha8-Wezonb*Klh$xQ@ixodM16IxFf5=9`5?7)3qZ|Y|Zi{6X_!Y zK~2VN1~2s%<n&2ze#;P+TeDH~{Nf~)Zr)vj(#%sN&s|~QNWS25)M>)e)#Ayol)0ug zGp5(Hgk7&lYWjZp_zGvc5;olhn_ll=%`KIvjL3*xBe<B?X2KIT-d?d!R(;7GObtg2 z9`1c}X5%KV>nnI;6uGBqbsFa!o%;Q1pwiWZ&zf4D(E%qiow}H_|18jBT(IURlenO< zw6mbAOx-cXZ0Gr=tWU)IB3qk}v0Y(&qNT-P9<bP|$uW#C%v(f>+xhQ{E{(bs>Ji%- z1J$kUo-$^zHBDN;!XrQ9GyBZ4{|qb|T81kFy`~?Kf2M!@c+#V(2cGdYxr)!WZPaIO zb~(3%jp6u=@H6L~d5^B<F=?G<c`sZe_VWj~h9@ud&vytc_y1?nEtUMn;j-`TKY~ni z{&e@MroU+}d3`|XREv0Lh{M_?Op5~fm~Sz3nVzuS$aF>7VP2HEZoxWTiDr*;Z*&TT zr^xO~&WJrFTDw4K`9W9bRkOPGJ2JlBoLK9W)$>Oo`ay(^a>4e$wmx5YUwD}pgiS8} zmU?pH!<W*cSqULrVQ+Px^y`VTOicKsWft!L!!SJ3^38vSK+Dyx0_<jL6<)gMe#fs! zy;U<Y@z3Ji=>i*_)y!umS8jWe?BQO+%4hJ+K}TEgoPB|uVt&&L?yO63tGG@ncC%Mb zJt<<9dP5;WT<T);mXO2yRe0OAC$v^x3HvO{dD=xUi(k=t*20W%rSD8j6Aw;t6K7Ry zxWusfgJbjjFH;?pGZ-t2p8Zs;-fxgBBJAPaeNw2E-+N}#y_A^ccMZ}G%`M?r#Bx80 zIalS%nx(v63%oA7R!&_ipHwklfa~-tXQ^cxnz8*qWL;LpJ`vT-u}|VUu^_3jMcnaI z!?XhvV$6h2Z)|DW>ce81B7URcM;<@dG?60DM4mrtIvWhx9d6y>bbL@Fbn|ie7DK1| zn}0Pu7F#Fm?7K}&hcoH4^y-#;kL8D~e*R~8;GChWqtmc9FhHTneSw{gSL^J1OhIva zma1ZU3#SHu6aA+;ne_v|;1Xtk9q&f}mkd_Yr&W)xcG~yi^m^e<2R3Xy+8B9Wn&sai zEobfrkxoAigHB(5#{Q$(>+lyZ<Bj6Ev$`Gj#<Ez|Nl1Jad~hHlATh}$g#D4ht)~ra zuV!@}lx@^%K7LcGF+jtSGgq0djsHrA>8FdrX;Xi9goN60beVdUtvtnNq@J76`RCfn z;Jgz{&Nt*<+vc+WP?NH9xO4p#&eI1OtyFfLXbCvIb8o=`2Cb&9=^`wbj{3RjGKd+A zb>H}NAS`R$rMENof1U38!KQwN)scCf3)eVIc&#DHFTF}^%hN4exonxAu`$H3_2@kC z(pbOZKSSVh#Tgp1{foF(RdxE_)(}tZ|9OznA*4IodEUuI$}MgG8AN2gLpQjXa6PlX za$vPsmq?X_w^xbW?zY#zel*N#e=y_e$Atl$X-^^?(`+>VGZ;3P=_rN=95r~ymL^<~ zsw~1|(h<}2s{UYS^bFaZju#f`XbI#B=%j?GduDzW(7530Zn*iC(X-$O(~VYt`p<B( zV2OcdO!$dJfrP${j||Zj@^5BFZL{|{(|d$9dqv&SDa<xGXEbybXWW`?cY)!+23Bsh z-EONFG;c^}TIv=3Kp~LFA&$+i??L7kZkzWv>{r}&xZtqaOC)3C2k&iq`#RgA?3}nh zuU1Ifb@qhMu~XM4)~`rSILNO2W{SAuC#9M9ZynV>@+eY+{f3t-$KxgEg7UX4*j>wf zWy5cS9}OB`OL{~+!e%B$6nIppUDVlO@MNJ~i@=jPA(t6BS(lxjemZ=@4r9~Pi;p~5 z729z~=3%(z{wC>S2|cY#?-;l6{1z9F3_H*v`)Cep>rs9leuEpSUpTI1yxf?#R50l? zt76_!{Y$|Pub(LK9xZY@I<r^R?ZB5Z2i+CNb2f)J-0=S>)w$!qe&Y$^FB!eI*c@4N z>_c_on`wt0w5?S;?R-L5@bWKL?LH-jyY5LT7uRo!yB&YYbgjt)mkzg?vosxccWye( z^T6CJ_vXn$?WE1Oo<5OF+OS|<bxg^se;!L1Bu`X1_DVIZ(w;ZraL#Yeg^Tn0h4w6A zXFPLq`!)xc_yz8c<;+ueE?x9>QC!n8&Ia>a{hwLl;u9Jt?tS4U8j<6s@WY}>K~v{) z!|E9exoen`5)`y_7d~+ASa#n=pmaTJ|D>q<GoH9e75;HsH&sIN-y)vq15vyt7gwlo zF8S@H_Mf36Xq`l21<TfrWvly>fAtFFRdTbgu6HzHJ=f6{@$tsL#oQ((oEh$CWD)`- z|1~l6FjWd!zvwR6-tS=(v}e+Ph5(!T7MHaROZa$s{wh12_^D@e{rIOYXO*okY|NU! zTqYK|pW@q~x<j?OAk4Riq3L|0Hftrz#@y~F-b~L_B6hq;n9?w5#lH9}!7ZPZ)}%M_ zdG?;FauwyiKZEhHWZwqM2QS@co<DOa=Rd<iw#4K8o)-+fTAzMoaG(65eueboM_dXq zE-gWvt9lMMs7{{hmg5~@&zH(zzvn+g(6iQgPR4wNj4M9#NJj-2oLYDI8CRESeoB;; z&9|?z3tq{2FWRf@IQQ>_jqVLGTqiV+31;nm@ThrCl>?6kce!Nnj%&AfFds@jQa?ra z_J4+k1ELAbiyquf({Nl@J2BckhjYQ5eH;xN7T&zGA#kF|YwpHXwbl|GPwh|XcFvO% z)KCq*CEl!{+EmCG!ql-hYw}5BhnY9(7D(y*^+@H_-I-K=vWhc(?Osl=%QH7E_{kY| z`GS#i&zWhZhA-CE9EdD@p}??e!p4mE|57D|ypI^RE^&)td&I7~J&84V-=U%zO-q&b z3q~6`JY=@zacC26+NI2T&3flYz3lBTHO1KGT^D-WTfb0tYyTFLYH@~@u5X-jHQ&6_ zEwWpr6MF18<2zT=E%}~J;>+_3&UXK2;O;W7Z2g}2t!wom#)>fcNsmLBp9>y3X!rQY z((ZsM=HZ$Zyb&b^+NI0?`LOz3xO3}E?`iK}4qaxquQ2JP8(iIg#>r||QS%L#b0w#@ z>HQMbyV-WcaEhv#{U_5qjxRlDADCjv@lqm6pYN*9v*vb<&d!`<{T`9%y%%LqY`);W zPKK{VO4fA+*YTFd9TQx3EN?QFeUN#HAw%%n>2BRC7dj(ce)7mpXFIC>Ti|t1^5OkU z!XC0tnLF>ny~j@)?)-B(z?iDc8ZzOX0`G#{^}QdTDIKwQ;@iBdjJsc)y?6Odxu08@ z%N~Vn75(9KwBhd=kLXuCOSuFz73vduCv8kWvqwLUWvg&&>w>jfOW8htUgp8Hc~j%0 zj|UpL%xaEootFAhYvtvGi~{v8+qnL<h;rKbztVJD|7Gec2I(Iim!-Vwr+j$DQ&RY0 z?&*SUx?56C*K6>w9`KSpwDOV<=j!8kRIc7{Q+sybY3bwaZ*Di(@5C2f(K>dzi_^Ve z%L+Xiq1Ub_RD2qrwB0l0-ZkUGx}_U7apn~k)biMzbufM3;k>gzvdw?_kC|Sx|1)e^ zb3}N;pQd8z=95yJr#md(6+iteo4fNHm#vz8Ctn*h+zaEHV>Qpy(ILRX^cm9z?I@0p z=BsXD-Y+#6jpndaueRZsxZsz9LPc_+^9(WL#lO3mj8s<~Nv!N%n!0{dBFp}!;D}Nt zmiA9Rj0YKd`#qDL`kDf4>L0ulnkjtY?3DeTybb$bHnQX&_}ww9Zaxd+<Tqa2Jhh#z zQfJP_KA9nKHce$|=rhY0=|r8R@(hmml0Sq?ZqMg<J>v{V@|_<uMU!fl8hG8F^eCvw z!`N+>jd0NZI~n>BqT8<=i2f=n>-tLUI|H}>H|aJz7yF<)hb0s91=OD#q^e2Rs&2ck z&U!xjKsHxMtK^d!M^~#F4(TBIgz3i~+lqc<)M2xdOK|TpJFqCzbsCe~{DVEqBkLyE zh<<B5E5ZHlu94lMZK*Rv%-kLX7)a=D=$*i`yT(f(;Dfz^u}tkm-rtt0QHqbakI&e~ zddBV0e}(|o)fT5Voo!@Ycp^v8G1H_;>!mK!#o0ORuTr+Z=Urqe!hR*`ZT5lhQYqiL zr!0&~WP2W>y={T)WHt#ihRl}5OM(ve$i*8J*k8)E34WybkIisZaA4QDq^lc$DU{7z z)Aq2@wjwFyh}L{V@ly(=EJ07d<)85rpCR((KSR&C5Ayl1vdt$X^wwWE;=F(QPl?$V ze~C%38a&zkZ^7kVzui);-uP$*zwkQr>h>*t!Sp7stf>}us*@(4Xj9`lBc6F$R#^V< z{!JDK&R9?Lt`^p2d$2jV^rgh7qysxWr!7-0QAj#<&svaSMe!x`qXBnPHMUf!3M(yI zbhKi_X|^f_#-C0L@{VuWX*{{%qyEl)P6jm*Q#aOYTwUq#MA&NS_76&|S1mqx>6={> zIiUO1hVyK{p~Jdg69vR=kEowyUDx*SL<4(=w<xdNL?y;Q9eNy+2NcfsK2TL-x9JNz zn313_E>Y4@esEgR6~pF;2fbp)6DAuSnRk9hbL%nZuk3#uC9_+NPf1VAJ-fDJmDW8w zjw?%7xP~M&U#nsN)x2Z>LsLfo8~+)CR_LFISuSfOyMIM?_Je>o@+`KmT|#xW%DlH# zGW<-4e4F`JRLc2P)AHntpSdmPGtM;NwO=T6O!4h221W+P8;+|!JkUG2pdlt=-M1V2 zYkemka5($d&o`e*+1P#JUvDYq?>ZZrlnV=)7IeQku<Ime!6{aDQSPtxOc%7S>77`y zVTT#}3txTX621u<7Y$yR&wRu>;cqaL(S!JArfC;E6PmxvCG;zPQ2Q1BU0L+jkG4Rk zI*zqrsvfF!%C253V<ej<hUhlLY?#n<_U%HkGj?qO7qV@I7X?jYVq7!f3&)L}FWJQB zJ$Gu7S#9*h$>w*nhwkQu0#c6!ydIWZkV}yA;_$r3@VVg4!cSgjEPhvX^SW+&*}3v; znd+v64)tFf1s+<|9SYlC(ctcN_MK$gH{r7`GSUa49~n=oQ2Ma<#z9r_LoS+8PsK0& zOJ5mc^Ma$LX#J)@Y5qpGg@GTG7MzUj-;=gx&5Qct$@w=~L$d9zi{);4l9*FJ$wDtx z_4YL{?$xy&ubSQldL7LF;1yi;_rRU#0%6^SnW+cLZ`#bia#-TGyO7U~o%JeAcQ%9y zIyA;!v^*2My<_(-cUzu~clkFN8`yGuUo9_}aQeVL*RNusr+y0xH#tq@@LH`jHSX!u z&0(%T`z@|8J?}nvlcm&8s5`P|*};$oCc^>~w&N4N8?DUKS@YzJpc1#(h2GQa&N_rD zaEM*&I?pJe)<2UwD4yvU&uzhVp+Dr_r94>hX~&h8jeMVCm?zHv(Co@oyDaYbpWhv3 z<ufFEqn-8KfAxf2%`jF@Un%9(encytH(YaONkil#fr#{a!3T!Y9ebR$n9BWU+-&&c zqSyFPL@Bg}TT|n1@<FkX{;%vuoQ0Yf{AZY%@HtN|OP6b*2si6n)!WRUIzz9qGA-a- zS^xA%Xk21`xpDK)o?Wx;S8+xOaDFP2c*WY5bXu6tF>d~y+_Y8y83L<>TqibN{=4+j zHj|4Txk8;6rk(fr(y-H`;lQG@^ckw0Hak2%Gu_%gv14`;tEK<bI}2y8D&m(l3{j3{ zZ9KbuO3an*^90RuuHUJ0ZDwHaXIYWcD0VPthYQCZ)jrJ(1rB}xCs#IE&U-4dar&g7 zoSze;7w(W@Yg0`-yuM>g^YJ^u7419kKjoctyC5{MM_&KELW$-lhiM1pj%?uW?mJ>~ z$lJ~3dS>YENnNpjkGjtJt;a2JQZ%#h<pd#~)i=Cl%`^CX>^*+nIK1I>+QNkw6b&3d zh=l72-+J6p@Y`WQmZs?O4NdnIzBO?tzp?6<j@=`%Ff8>)si^W~Igi_6I^w7PGq5;% zw$=9km}0J-{EpM@@QL-oy5R?dmNuDkhl+m@;_By5-eJ(TZ;3;2{YD0s<+6`twaveD zMI4^zdhqnx#|QbXs#^+KvTFs~CR~xtZQx1^-7xifhZ)CC+2hP>4Roe5{$<iX9NFL- zQ=$J=(=7WzqHAPbg2UT)ZKB(cU({c!ZljkGQ9u7xJnz*B53)OE7_Z=+UQw^{<{EdS z*TkCE8KQ2tRkhb%K6^xuv-WHK7Pn~+R;%r7^D>;Fw`To}59X3;&4(Ty5>qVa@$ym> zl)E5NG%@JoSI0F|!wk6-H^sLp_HC0_i|Y{;Y2Eg3!o^(gSG$)l6S#JBn$^s2EqQO1 zgHrT(D^(qg3)!wq=EMqTZd{^gTEslFi6x?kk*m+?e$W=>Edmyq4<eeK|151(`62LI zc%Hn_R)#tzJ+~=Ui&#P|!#{cNJ3lkl%kE^;vHDVem3^#^cND&Kzi`lWOW(|QWY(9& zV$S_3iy5TKs`{K09M(0}KRu+Q^GI}ZQ6%f5cE-RH@)`+TUzD4LCTy^(ogl*SxBr!T z%zPI;-o+Ene`d@Qoxyy>JA_B<)mnZJ>-2}6yN>N*VPUi9tlaQHIU&dYRzT6gGDkzv z0=da@$7MvN*Q<SUbXfcMw1d=?@YOSz3=*030yne7b)BDl#dn$(uk*}|3oCrQI~x3C z`oC(4ex5y}giS_N>OaHbfW;Zx9~y<*Z&~8XD0hKj!hy7i8}<hcC*0%m$~W)e5YV=r zpv-?^){ZTVRdxYKW0xm(^6iW5*_sx6#L~KfC*b%Gp@t5-6TPdr8OusIT0*Ng{AcJe zjVV`tWYrqZF3!QV@j<DfRs2DwDR&$c4(QZfNbZT7JE`@Z9?NE_s0yWzOOif`{IK7d zS|-4>;V1iyFDw2u6wZ5eZg<DB7TpJj1(O4Um%Vnf(s2^HAj`h9-pA*BPuk)Z?QJ3p zcgdX=EEnF#{wUgOev|gp;}fi|FirJ8`G{N8bw-X8<K&g!T5l(G*7V=}C{<$MvZ`i! z(Np6;9z4@dGjv^l((&*=!!==L@umxvxo^$2&ty%tPSA9^e~EXldt%q@X5YrM&aE3( zaC1!DTFvxy`N8kP)^2ZmHgfH8PT9zBeB$4N7&Tdq^}meT|F+x@`DVAPL$Ewx7pthz z1N+^-x_tRxYURi|{qdRijlqFcu1YZ2{f^Jl`3_%2Ip?lXE>F#=tZbgR^1up7R`$)W za<vi|oHmQ?p8ufDXI}<?M{3|3!@L>cC-tm1znGB{-;l=Oxa@SYyK*Q`@{Z^YzXWts zbp9N8o_0@9XUFnHVRJ>Uv&TNzxG#1OY<{L2mu<eiFfQ|_Ky3bvmdJVWZ;ie9J=EOG z9C{oiU!GsW=NkM*!Q#xRZM&K@rZko(K6sTY^MPfh&v}KA3peC%vGQm?QJA_evLW(6 zgT_3C=r0`sM=B$0PVQ}fCc|W(SrDP2FV5BX^wH~%&@I7y8%17j+px{JB=6p(M{^wb zBy*X5ze(D-^|ylFlQxc&2B)=uChlZCaBFsAO8a-l3b9Wyk!LD6tDgQ|ux{2TV;Rwp zOclo}uZ6HiZ9Kv%|5M>;<kBr#yt4e0jApKFsC3wVJ&*D8{Rfww1Xsx4Xw2fX6+aVo zVf`<Gck38~?iX}%WbX-CxXYHw{DggbN7#wG7TQ--uC{L!i{ALqc>O<@n`w$VbsR4< zKS``_@15+h>wbpBuD0E(4d!~z0uom%6`m(P=vvF&?0fhC+ucRSq?!}w*(H{4n<0|f z%cgp%LR3SZ|A6X(S?`s2q6>Sb)fX+5cz@>D(+@QcjjUTF*g}t9sh%S`f2L-}OqnPH z$3<Hiwr+AQVcd91MX?|!v~gzQo}LWWqZb7{nEp9M=0tKk1UapoowQ(Sy9?i%#V3U) zaF;mqEYM&H>W<@VQ%*l5>9s78H+r9cz@`RGneOm|)=Kvozgz08-ZSZG@aYLnN6y|+ z-4Qo;=`p4bkyTe~WnFW*<Rt$sRu!#k`239X#KVMY7yf-t3Ot*cmN48td1rHY-mWPc zg`Z>(HeElk!fDa%hIQW!Pgo^shUjsM=zdd>JQ{F(bJ&~dj*chTuY~XR$!L&ymJlpm z!4WIy?QrNx?fk%tO&|N1XRpyd61VHcGk#w7J0joYPP87?lN5Uu_o-d|vQE~r1$mN( z8|#l4=<0DaP4_!e9bwnde4zPLV?bf}!l{k3s}(XCXE$<eYF^(Nus_P)KyaV=MBP^l zV+|~vi`JOeCoy>EG+REF6|h@(o9%%%<BgcLPZb!C>ZUKgJ~N@Qi)~WBoQBP%#}B4u zhF)03_j^j`(t~=f9vWH`&Zk8c<WGnZiQ8CdG-I)$_ouE#cAF0N^eGIVbs6dlGUOZj zZbh>#cb9EFWt=85)AD}DSwS74uF7A6tXg;OXld@6A#(CR1CN*FYCC6X5$okGn?<Fb znwb0iNb0}Px}NKke9)p7zgdo0Y<SWo+RPX`W$n$PrlUVq&m{ew^jXn<hu7z{2bU%s z<aprkDRGOdD1>R=wbuU(!3};zP6rrgo#8&hVc@}VVN18V^87lbNgF@N7ad)&{|`rS zVWUCXOcou-^YuqQtgSoK7I6GVBWtq83n%VfFU76JTGw@5U62{{q3di4yXId34uKun zx6C>B?+T34*I2O5{)~YCi{4pk8ZW$}7;ng230wE?9be||z*McKPd2Botrh!sLRew< zrqCJu(ux@o!3zZ>v%bvcE{w`n|HtVv|7T0Oj_Pi)o{$|yo@(YLC62rdKLian-e-Tt zl_Ji-WwA%_q=F{Hsm%d8BB~;W-3bl5HWtMm37fpWGi<FbXK->)nbX40mzIW4FK7DC z5GWAjx@7}nV*7svB}Ne!V+KjF%$|4G|0xH=I=^U>=)Nhd=xWec{-BYY|EacT*~EpR zQ{M$`Hk~==^L!V<tkbNs<vr9T|1(7NJ+f}N!#iQUaz{4bO0MlemD-&Pwq`zfCBZy- zneryzXG}|PE;~KVYI~D4qa9O#z$C^EX<F9*8K&%zR9(CF;^jLgVQX4nJ8Mqqt=X#< z74n~f<1EABMMm9U+srbOjy{W!(1~5lpS0+5`;jR(Z*MZ4-2byP#blR}Mn|a2F&Dut zay65-9<tO*3woz+>ub|-BiBw*P+QzWQfb|b+MZRd@dpmAb+8t{bJn;dK*8%9$5WXt zZxqjEKjmbN_!ReO*ZhR-$Acf7aCMK^E|K@sTc7!RQ_}odp^T?bC3c<U&ECE-XuFe+ znfQa5OnJLGquP!i`Lya_zewmi_2i5LOB7Z<*s;m$=z?=;i7)C`R(KUZWLU#{Lvl(W z|3;p!M)yodr-=(@97#VQ+z=Z1QQGC{n<-IJd)1yMGAuU~{xHRG_nAFAoLW2cQy4Z} z`z_Sem&CQWmElfDL;Q!XJz+}=o^9rKY*;8P|5EAmRa-UJ%;wGBG6ynya+Fw%uG<A2 zX|+x64_dqUNz1m?JQfZg1#aBg?)<w~XZ0DkO%LX|f7M#5|DPen_fm`SfyP7bUzv_s zA3hZI$931W%z!3VH{Dte2X-DUHYNtM#QuWP9=k-RwRIE4;uZ4(H~nYGSa|)EeEk(S zW^)He(;bd(3|()1lDIFVzYS2}I&l2=A$4=HrkV3){w>%g$EabbE&rA|cTLlS<9DXD z3Vr@JbN?3e)@W`~$p?-F%QNnXWiuo?PxSXJj1hTjlo)fs(czcUv(?8=7(Cgq!9dRO z-(n$wv(@_Q#{(JPE`B<Fla>3SfLCHdZ<a1rxUeB{`;PUBGs0fn`l~AYr$aK_%0|86 z+Mkw)#Zl9zZxdR<<@i+NMINuicP0_TX6>vbqen5?wk-K8t~tj&oTBuHh22VVs-;lR zw*BAKB6t@ryx_34VBTf!7V}GmAADF>{S;)7NMQaYBDhnQ;aBGy(RxOsXoG~^i|c-L zqzD9eEHc|-@m-NyI?9k+B6Ql?W*tM3l7)^UpCo4MKH?Q@?>qP`THv6Q)E>RIrPDse z2yS3!Dd|}f(R!LMSKl%|Q9jn;;@=t0;X0N!%B+>qA2uFHTQ`$c_CEuc%^71)rke#m zA)?0L6fTE^Zxr+651jWPu4B)|Lk%kyt8IL0!0kOnG$#CCnvBxFj+O50izJd6=IpLr zs<ApiGATNvc~xpZFKdS}(;7Y}`Ga3|rIwo1Ep?ISQ2#EVqr0}js`rt_`3KVrE(a`{ z5`OaEQpdxew1S>(X1JYm@TT+f{I5nL{~08deP%t_F>Uktsoo3rJUQyJ`=ik5>EV7X z+}CXS@9bXb&!VhlAoO(YOQY*Qf(|7#Fwg(cwWg$IVnWFEBazbQnM^mn=v~o!VAG_6 z6W`j4?>UN!``R~h8(sgdKVwIk&&0_uR%GnEP`@Z3asgLhhRCY3PKz1cTY|FvoFbx+ zGyIzIxHETp`Tm(+4R$U%tNWaVCX{C=g=n^Hbt%6j7dZ9JwASz|O%L5C6><Msa5HrW z>rF<lFy#r&S5>!ZubQs2TW0Pt*4_e<9Y+={J})BdC;0yI&Vs(ohaVZ_KN~tcXHT+v zwCuo-)|k^Jwyq~0=N(GYU!$O98!s%iW_|ax$7RhTs>d5rpPFrGSCJ51E6dOp68}*^ zFWHaZ*l@>$l^1H7QvG#go7p!s7~YoQJXFlIwrl>APRGd?e5Sa35qg{ykt7iRUVB&D z3yJzS5*^#$&pesgywt1U2yer_zyOQA^^dqiH>}(j|4l(yWS(bd#!scZgYBxPwT>mM zHAtBf>U2VWg4{D#v4#E3FNG$~xaT?bYTChn4_l+H8J}73$}@2#nNHd0*-&%#fvN1` z>;5bnk<)K<Zk&C^K{oc8YSygZ3r&vmPPADgsdeUQ=6{BZ458^7fs<Ng*O}>>BnsDe z{Ba4|{*wJs+@4(x8?WVSY+L>+m1)iw;o|Za^+l^#zVd7kyEb8g=?ujk?+%=CNxj(c znae@+xZ2VTr~eEGlyY)2FSu-5YNGjOrjD(nr@^u#d7?Y{PRE;^EU#@k?xonUWlH=n z0kf<}#eurh14_>A6`UFKjYZskk&@=Y?*e)=J_&A!?7A#|-lZVqbMrriwjG6BXNunL zSe$9mTlxG+Q>$rHbL0M`fbb9UuYxB0XE2e_ePEEh@VKMKU0n-RR?enJJw+w1diz$W zo@buK;<5Up(8|SuI(v?;dnwYPx7dB&)2@ymo%2;#wjMpvo2SUYd&ETPR*aNVz_Gv; zvwW(}UpUSFciZ3!^DF1z714~fUL9LA<Q{EXx?OQf#>B+OA^hhQ9|fBWsrBqpnBMXD z(I=s68=e~r>{=9kOSfoEbmHC(zDLY2#yAMP&3wxC=9j>y$ONzC$OTUi&f)seJ&WC+ zg;nww`#XiRWn8rf+V$iGWeOU5qJFXjo!Z}WXvgxWS{L<rk7Pbk;$FG#{jZr>;-(Ew z$=g1Bl)n4CMIzAKiBWgXL61!jRyF_T=uFzk8l4sBQO+`D&Wr75G;+C03><0>^hdv5 z^ho(k@djsx*qZ(o0ZSq|?*Dw09aJT7>pug}lxOQ_XozS3vP;Z+?A3bz;4@*4t*7K{ z&Tfe{i4;{hA;SE-W$Bh%{~6jAtbOm`A2jdm+^HJTr+#$>JMB-2nYH9s0;?E1|8GGD zy?vLMW=~pRc3fNj2)l0Gv+M3RI-+(atu@dQ|MysQ{|<MJ=*1J#C1-!C?BdD&qC7pc z<VzQ0w!O!v?V=KqUn+W^R-EuMbGk9}#`dy5r8=flYlPm2$)6ND^;=%REdTru)q-s^ z92$;Vs%kTqPkCjY!H^woBq7Tt@n*wv^Y(WZv+gzJ#okqHI=-CcE4#~T*&f5#IU6*a zV!Hk_aB!{PtJP8VV9s-UrL9HJ6%B6enK|)7Lt^OjO$sX7PSK|PC-s>0q}fs@`X^K> zJ<mPFbe%1s*-wIDt;pM=gL8r;4Q?#YG|1UuA+B$cdi%<*SsO*H_Id8@lTuX4TQ@zb zb9-cchtwu{j@6Fely+S-{yQ;7;@jaF#*Mtn!S^24l;$L*iXL}8)Uf-nOQm^&fqvOc z$)au#^^05`k2y>}tq{wvICk(HL-}7$uP2u$yo<>3pV@c#w^M?_ijKTL!lu`fMEGB+ zM*Ge4Sdv?xlKrdCFy63-#jhfXMfH%wdm~jZ2fHTL(CtqgZmoXst#ikf#&s|FzqFmc zyPkdKS^;*O<Wpf<YL!Aas?yRnRw+1d-S5cYu%%Y%<dfw~9F+KETWb6FY!Wl;lGiYa zlyR7tJM}B`Di)s9%5Z}_evD4<ls8T|5U+D!^^z3T8UGoMopcMEY^!i-{S;9}yF(m` z3HRjHzZyK#yqA6XS(<VD#J|3Z&l&<a#O4XTkeS7^J*zP1rq2(xgy8ip=h{nO98lW7 zqA8+H$B_MW{i($4<xL_RHaJgQcQBPzU{l1;{ux_L+$y4(Lqy{}oTq;0nW+A+gTZBg z%BE$7qP!WwCmCJluheTgdm*>7VR6yA29vBCKa<&`mmT$Pi2k7+7{&Ztls7hxMTO~e ziLAp1qhCUen`%39ECiN3_|0E*&EcEFckllU3O5&Pgxr!kaN_nOt2VbhV;%iF3b__P zg{C#cR4PWg9O9p%)L6(k>+fL~6Z;j`qWzkwy~n;6Hf5}JDqp|+v-Hvx-x?O3ImMs- zrZMt}%H{N1j9UbQF8y)ZJv}AeUgP4fJ!bY-xRS;HGb}kPkkHv$#o;>l-{LoN?>V!* z>s$^n?g-hm|A$&?7yI_FGM=kGIZcaw(aWs0FtIlK{6Fsnsg_D#JsBip4oWQykY;di z*uk@4KZnxna|%gI@|f~P0&iZqQ$9nhv;N}@m5$tisoOIm1nrxmBKFT|(K^s-(s!0q zYfgL;_r?nCgn#PaMOGMpOJixf6SbWsi}Qi1rp$$~i|YinmQ;(0Y<l<aM22zbTiM%3 zncUVfp190#$NNL4*J_5O9ZAnb_D^DL-FM>D=|Wa#E8n<FR~9`GvPxPd60f8fuArTq z#dxXpTf?pHZKskokN#p?md9GZIGA^J5d-@#Ri#V!_{s$t<23}m6aI1BI<k+6gYksZ z<EnY<jzwKsrckVU{_5$&>HI7j2OU2-UeggQXq8B9J$P_N)J20fnGQqIDGqir-i(3K zZbvWAa9DT4ubK63`b&;mY|R_Cv@q}ZP;=<RrW4s$QazTiCe3Qt)y8Ji;>DUJ!@5?M zW6RrLf;{^+*gc+}k?%0=ld!S-w?ppH3DX&cLlYYgn@{g3I$Fl;ap~MSS090s`ATKE z2i#`f(f=yd7u>Ku{LEQ)_m+*5S(OtUV!jB+9=70~bbrfIgDqdCYPNFxQ<i9}d%_l| zy5{aB1`f06XMC&{H;lF|uz%2S_UeL^!|crl9DN6Qcd9nKNeVn`3=64aVLbamDXeqb z@gr`lLjNxAxN>=uSgvfnu*}vb*1$Oqyz|!_xj9k6OQf39Z`0|rnvfIIcwJX9H|YQD zW6~GcaN+7(orTeF1Qpgrh<s1Jy>se~lk2A@^v*x27v62dBIe~?k}8(<#P?%;K}uD% z{F8>MS^JKJ-njQ+D(ABgpV?V1-f+xxKh7}C(CfF*Z10>mNlJ~ECoMJm;l-S2FjI(m zVs)9~_S6IJi~e+QE?trP?zQ04^{;IlSnVwAk`%3@lOz(a9d&rk6#OhA_QbM2UyhU? zzg*l_?9fr<TQH4Re#?QV6L~kccWgRyS}N&)`H^3O$9A!PTzeu?fbUq>m$Tb`u>|f6 z`J%-8sAeLo%^B(2J1$mdp0Gc1V5OM2<O@}Uk{4Z<FFbL(AQi>N)oZPDL}cGFqu1^m z?UH}EcV_0lm|4C3Rm|N>3~~HtHlABiEGoJ}TH|cI(7xhVe-G4YEp04JW<9JJmdTiv z60*WyM^$?-s8g<5sN)?c!g`<2kz1xlpsQ8+gS?#5Et5+2GvR&yELu4y(~fkou9+>) z%3WTt(&IBn_nM9JJC)*Zh~I4N41D6WVe$u8(fa~>l>am6DNWn@#^B-fZ3mfN*B%I9 z-MF#t0fTkU??kqBdjt;L{^YYQI=P`eK4({?pS5D3yRAg5bK*ZH(H=eprT3p48nsLI z{!4C@Jbg*w;r=U&r}EzkxN>`<*c)C8&aA&eOBXAaaWE&Ft3BY@`N}E%a&_sy2gc2D z9AR72Ck2@;VR667;mW<jN~MxNWou>*b5O_1KOJnJH57Zz*nhO#C{J<t7q6_dLUPZd zD<MH|Z8?J4@7$dHVzbAB-R-xSxTHTBFfKNGs=MjV;~BMGaZYiJd*^iIG%c|{cHZ!% z0rLWZt}vy7sXU<;94jAxkPUHp7bW4;71y-hbe63`=!z%ozxsm9FEmZf*?2JUG}DGq z-EKYSM~a#J$-kx?`s>;0R6D_f;UNeAAGgK1N`EhFw%4;Px$;A?Vxhv`(6x<U&Z|x^ zX11&4*;c&VE0&#&>Fi;Kn0X03Hy1H&D2$7Lm1ws9!heQ<%cWZkA3o)7@IIAToh|dC zJId&g_tYP(yVpJ3(iz0S(ECe>#pt@@lU}YZ%n|ET&ZKCaSf-cBcei6gtl~26b4Qdy z;umr;yECo~vE0nS;Il&DR{nyS9Is`S9F!janNXtfz5NK2)13$GJ>l%}EG8a%Ia?$P zd1qa-3u?Wnn;a{<n593D^@!=+ihWC`ZtXlUbs>k-i`id5YyECErt&?X*lK;>GR-`9 z?wvDB8hN8mZ(q4!n>>fD_utOiL!nQ(Z;A7Ggq3&{#5~xYcKOCpha20S7@tI5j4+g0 zAW_b-=CG>wTlpk|o2OoE?&!?6DQLJL-sU*v$&Ze(sWZg4BsZJKvt)hx&9Wim`od{K zeIE-}>q}J_a5QYSyLV*muO4I9fbaZ<8qaxI`*ef;Y!uI)9+&Vb;ZtMQD+xhy#)z_a zECCvaZ~tlt$&TwVxp?Vd(}!m~t0Mk(CT=_bU`mlzn^QMK3(q>{Gu&+UNg-<|^JW`9 z@!4|Hpx@A+?G;<=rxVLf?sc^t>dxh2yM55JxUQc4yFiZrH`iRw90pm}nj^dxN1wk- zFg27=kiW@ovgNnnoeeKfDEbDkJh-B5&jJ<Z>;tuDnRbY3gkLzS_)nJgil)=U(<R)} z=KJQHVG+ny`eD`mCunV{W6KI&hECQ;9J8bnL|xkFZTZddv`q5NteMHxv3r-@oA^yI za;3<L&Bp`2_IFHUjO}+}b7IWkjh+8WQ+0zWpGbpj=ll%itn-(`WnvesI3H4Gz!Mib z(T82+OV>RQjf_7XZ%YyrgSsqg+s}7=SZI90HENkWhv}uwZ#pu!EISdLx>_eX@=5I} zQO1cbnsYYj=r>IJ96eVrr?`EI??z97Jfo({H<G8A4)lKi)oJi~K?7^pvCFN`xX$yq zN1e<skhFZh=^VS@gLl!I=U?$g%G6GXSIgb7L+g|_hjob9EY}0KbsjQJQa`D)acbjQ zQPo*|rc4QLrOxYoHW-^TGZeAJWPPY#S)v)3`-;i-5RVeSt<zHO6Ms7nXWcQH{IOiR zRpp!0j>uvT^UWNt6*|{fO7=d;Q(mB%%V9FbXYY5GRWHB%XkI3J@KTI)6JrkRvEFH^ z4_Pmpp4^r;x!Y8`hWU55W6p<~E8!80xlKPBXT(2g4*Z>>!L+I&^GKQf3ZCl^98;&t zDIE&6h~=DNA+$@@EM~SVH(O4_%qh>eEDQa(QB%abQdv1I!+UX7ivkP(q@@llpK4rG zrSDGEbgq9CwU}2ilCwMLy-W1T=$gfRM%H?&(mNb8t_o;y^>wV#bbk9?m;LK9R*Bn> zB0TRfXzf2L6MMK<=~*uWf1|<n6wLz$a&Fuw%Q&`Oz5c0#=|(~jQ~D$ErID>l*F1t4 z*B*Uh9kAhIWW5W+lKLqj8YkG+{1u#5l=Gz_ir3=8k%Qp^p$>mL)N1!7`53I775-L2 zF8PzvvW!0*>+QAen;g1VKh-uk$zaa5z#w&PlY()9>GbqQaVPx?U7TmXxNDdPu=Ru+ z{3zmgjA$&W7i63^UrBN8wf5uBL{}8F?U>)wEOLk0$!*$M)u`p-8O+5mW?Z&W)NQV7 zIp|?IQ}5jafhoK92c6S=Ag|&T`Qy{6J1hOzQVz~wF(|&!AaIg5$oikK@GYrLkGwXm z*5!)u@iKo_DF39^i+gSTghNa(>y7%(++uCziYQqozr-n-;f43n8;=*6_xx6ut(gDB zwZSqW<wWW2Vx6E{6{_OP9%zT|cVao2)0pv$Z#$2~eua<H0?Kb3Z*myDy6z|DeRuZb zC0m7FF@zuFDvIIYVlk*#@zyMoE7?Fb<2R33tASbik5wX!UWeH%o~w5RP80O?ex~$E zSc}zh;&#<i?L5659zwwj#N5s;UL$|UW5dc%@gKP(@1?fLFZ}l`=Z=Dz-I0u=%HKHd zeY*aOBZF(>1uvZdgY2$v93tG2AGHe8*cV)!u^^h=(SVgLlauX%JGW)Ws;?QMk-J}b z-PN1feQ(komL)76kwJ#5nIHHpmEf7NSV{L#V{((2xy4)E?sGN@Oh+qtthsi5a+zKA zq{i8Uz2Wy%r}@v?7Hj0~^f|e+!BSn|1gH0xhN%n=+vY4&m~dxr!2W`%YqtGo=u1f0 z_S?9<+=<b%`pssgozHC#cI@Cc<IZ5)z5nSIS26Zaf=ds?FMgFcNvu`UhGW9Q@&i9q zUu~C}Ajw^nV(Y`^`a_lRm&>-bJ3jc%WB>CiO5fkvuuOM{o=DW^JKj2f85wi7F6Z>T z^p`22xYKQ7-OQ$N`|kpxGyZu_i2BQK7`W4R-XoUComnAA8*-&se>InAKa_iD5&Xr+ zE&k`34fh`0zrtw|5T>(Y*6KwG-(r<Yq9a%xCRqFwWKMdR5LfnTy7YXLeH~6=T^tha zZ~9E{ed6l7#boUo&h?+6aD}OB;4T)Sluf*1GiR}6JZ=&xWOSU@)=-(W;%B9g>61p$ zxZOGDiyE_b+pSXj_RAqR@!PZ~$_tqm7#cP9%xjaCsu4OF^hY=+=T~F6x3X%(T8H(H zyE2YwX8mz+$XLh5{4VIj`$>wD?GKvso;h~C_t?@dw@~oWohr3Q4ja8}nSyuD5IUFK zn3`apaF(~PX>qFT%;xai#FLljE6R4*9ph>DR_KsDwRVCW=Yu5@tovA4dz%{-0y_*h zsCn-{;guZR=f2}|u3WDpf1B#P^jkK5brS<NoY8s~zQH?l0slsk-t~rmy*8Nbzp3k0 z{k!%09HmptPX8IsrLMmbps90zL0-_Jxw`~6^we|AZT+I==Dr~HQLiNLuii5n2eck( zJlg(K=&M*A=PUC{8*Wu6(WhL7ZQ6e(O?FLQWOD86WybwA-7_?9Ea?j6cFQ{?+QL4k z?ZE??0^NVh3@m*b1vf@^BpJ{DP%5diB1o7sVA9`TVlwM%K8v5Mu#;QNB{wO0=@0IX zjOgFW&eJo5C8Z)+|9YRcEPX8#{?cXHbe`O2Z4;P&#ISHL-Y>w-Wy7)K$pQ1aO<fDF z`!Pw}4>lKCDtu!_E03Q;zsiD5#~dS$9}Kwn!(MQz=L^Fk^*7$S+J20W;+`5${5?Zo zS?)w=^LaIfK+D?OSJG5DmcH@wI(|ZRX4AbR7ua8FFH=;z*|lNQqocR3sOc&lT72=$ zwp*Wkny(AoPHAM$Jh3HJdhwf7y}Oog3oP}%eq?&Zt#p0D`9FpXisd3l1zmMqo9rhj z{0z=lY|z}Eqq5_oe?#x8lf@5Bb?tkZbL3qrr7s^660!NI$CUPXq1goquAholG7AE> ztDl%MU2AVgj!wm!e~VeWA9P1K$o9CV=d16CV3+@-=*{6F_5LrXgOa?0L)yLsMZE=m zF-vc;T?k<R&!DDyH9Rn|)S7cK>%WOHvJ=FVQ)A~}vG6$~x;VhRHiu)!zhmV(lKi%Z zGVV1!?KZGrea6C=?ce&JAz*1fLrEV`cy8jG3R$@%e$y`@ON&l8sN^YJQ$BlOLTOjE zfQV$}#R5M40_8c|%~=AO-*8UaB4gv_^-M!4r7l2-aR#dkGqdSo36YL%OI@Rrm;ws_ zIA|*~nDH->E@QEgm8x(#a9UW8or80MVqeM;3kR>hy&ZuKU!Mx_`XA`v+~?pHwyVM+ zDW+w?+PVo@+7lLr9pN@`<q=Cb)3)J7|5RQc?b>BCzH^B(bXOc*kpJgk{FyiPJJZ&j z5Y+9ibv?T6_Q6LA7uTO;t)G*m*je+_Xmfcj_eY%+iMDghj(-0<CcU^LwY&c40jU_L z?J<7Lf?Exf=B-{|s9j<+aaGoW!obo>xzrc-77;&s{w+N)OTlty>oI4((=BGp9v-P! z);WPSK>x~F|N4t;O#c~}k1%KMSj)AYb=ri+Z6dM$caLaF2<)8I)jmynk?0Jgu9ovt za;AnoV2c0!*S9bKTeD?Dr(T%9M%KdeCyoaW{!2B@W-TdaEBfPfVAuSUJ3FrS@bBjD zOBK2p$;BDo;WT4~+9uN*Q#R_I;9j~SJ82$AvhyZ^8@_SxGJ?Gqb|g)CB(_O0Y$My% zbIRNwy7?jsBs+{!H*gt*?F;Ac`@^FgDD%(xQDms|4LSGUQy5nLXJ}*Ya#!^c;QAA@ z@j&i@ob?@X9NHBt=drP_)6*4m<KDkfdd*b_X?|HPHT}2)UR4?QlQJ5zzBneVSmF@N z|H>rFe)6vwxe^9tS0BvL&_7uiC=|TVQh<N!Q4J}99ooMepFd*PQ|Jt5*mP?h@8O6& zjHfm{Xwz6z?R4{-Lf6{Mmn2Oj5486(=T7|Q!eg-dhs~)a6?TDKe`Swx@MT$X2K;>} z?0n$#SEeaH>zYFPxgEvs-r?5D*`x4n;*<${I~JO3d{W=>>g5@c5E)Bh#;*KBqWen} zeP$TmT72T+3e(Isxl8{d&zuN$PYL#Te)md=RYKXz{3a={#4`bjGqy8+5VVXqGJ`A8 zp?iarWv1A%kA-4=`&iB={Ab`0pK>lOX6-MDrLFJuJPsT<_}e){dHxZ>*uw@A^?|M2 zKlxvUUi1GEqQiB@NYr(gvXEI7N6peiolt#-E74pIb5`qqaPhcykM-Z99FY)7N8eql z$&ty+!w&h)XqxW-RO;CV*Z4Z`tzSIU*gsCYsmGG7aDK~rkJbm~cU(29`L870nRZZH z?9*EJbn`0?E5aP7Z>Zob6#IU`(dqDX^?z=@7r$t6M`<!Rls;&8xxKvp3M0?uZTkZ< zeFYa=pOxm9i9b-y^~q%-b79FF9xt}_Nz6WT<mS%5q!Fy~%DYcMvAWsMkt=hjMRVkv z2u@e?8RAPhW3Os6I=6{j>nZD5xob(7<BJb2SG|9-ACWOG=Q7j$W~ieo)E6;RBwnyE zL1%B1aY+0PUy;>~mHQ*6rSiG`Zc-`io7DT+EoRxNHwrg*U0{h7&^&*}^|S#mhhna_ zflXzV64%vQ0V(}yE#|TAn|@3S4Ew{9E8Zrk9eMC5OY={`prfTPCC!)dIQ1piJ)RMJ zUh#;T!QPtqf+wbB1_!d2l_(S%bKQ<I5Qq@T=GR<wP-?f|@dCECz69@YFEkSs<R@M@ zQ{LSwvS>qMWrs$=PL@?GEo~R*hK7i<DbJk{#_AQ#Hor-Ei+#t`yJl`mbHunkw#Rl| zUvbyu<4xtc&;K)UWIqyFrXkz%isjsbQifO2wcaO06(<xL8`zg5I(Bfp5fI(ANXLLf zYtKrK+(qJHg&d(4KUIJ0#r6w3KH@GYebdh4=Dcj)QibDEJcn%-FLe-)J8S9m^MZeG zF5_(J<%v9onl-EQRm3vSFuN6(i3(*M_2rD#uUS-NnowNC9hmTpi#J%O=j^<N(tNi3 z0^6A!n7;g6^ycA(o!j<4PD^6#s9-;GQRlBh(1(VY^gAiM8`iefJ?37xfY(+2!L(M7 z=x6D<Q+~ASmdx{zEu12Lbsb~w(!|qTzrA+II15HB>z^psz27^jY1OsVZ2LqV*8^dh z^IaU~emJxu=a)n~vrtr5w&PcwDCQYVs}9Td<o~wpX7!&aHCvChl|Ml+L!2uk*6DOf z-SMx+W$_LbtpR%L7!|HY-&m5eSz)tg!G(B(Uw(}rg@VsLOPpUIJCo_a(TyTUZr8KV z%$l-vf~{Ngk)H-rZ+R6tbKiWTerR7)(5u6Zavnwt+BlkDOb;~s;<B>tQo-VY1npTx zOERp3FQr86Xt?Qa)7kMd;&jx1hNUh7IvSQP_7fDiPeh2>D!iF)%piXHt&z?Z2Aw4* zxz<%mSg)!P>g(E_{Pze`)Gv-(mw&lu`=z;=ng&i{K2x!1L#Y3$AdgKuYARb^);J4$ z?qDzqi*fzKb>Kj<F?(zLjQSNO4P{*C1s(QC<+x0Xisn##(D6~=khz{?rO5`@Tm@my zn~ZZ86dwN1z>&1F>xW)ULcPoC>>cv2LV}L4hOhL}JHWEN@E=R)wwlg~3o~#0TOgeO zQ=ueNcfq$K%bz!@DtP-fSxvM~_|H%gc69v{r5h2NyHAQ43h<nM&#mqGW`D;G^(Vqj z?*&*BpMTb@wOsVE;c`-Jj^Ggn=9&czuHk2b;`cUl>`aw^qUdy-&DzIOubbyTLkCOX zvJ)E_?#}<!bl}!s*`L#zjW0wTVyxzv)+M{)$0G?L`AeY|dylLNP7;XV{?~GLxvK(W zWJK83M-B<oKN^>*DXdtN;n2YAa&*7-;=iuR#WS=5mWAuq8|KOj>h9`f^Um)`(C%co zwU=T4vkXqb<$40k9p5mY*_<1}bi=gIeZ_@q`#h)c)UJM3aIus@S=b<lBY&lUX4!-0 zRy!t^)T@~vj@@DOW3~Rz5O8bde+KWq6*jDA7>b)xZK}AZh;}qLBnvN?u}p8V&PKB{ z6>6<MpL_)iM9$AnG|BxtG3D5&9?69l{<t{l*0UJxDF~kUp@aRP;5*y05A~ZOu1MYJ zh&pP?qNkc$b7WEbn%4f(dH01{7VK*lafoF2v}09M_ktg->gtaaR!QH8%-%oWy)$b; z+b13&Uls1M>l-C9_aB%Uqgx-Wy!5Xci~LI7%*t;yPWNI;@~;Q3x^H)1Q1sM~rCH72 z4c2gRwcfT%+SO^A$Pg)S;4sTU{zGM_lT`8q4@>0$uFFpMh3<EivE&}ilVrX4*_q|J zPn%5w|3+b_rp3+rZ~yu+GbY_NuXI=$dtmXQ2O;^7RNq7-iXG3hcFwZ6wk`akq2t7Z zOFy49Zwp}OmpNcu*2B%pnZfLT`ccFh_EV3Si1#^PVO#U#(WC767k!d$Oonea)-Cg{ ztN*w|aHio4>xSzYU;aH#b-vN+nq44${AZ23(K^vB48Of}bpsqrH{OV;mcJs*s_k%D z>L#1)Q5%lkqWwn%5B^@fSNG4pNLSrj0f{Ze3`|q6JMlgi&oR5(I5Fjn?!t9X1X!Nh zdp0EHhDVgN?LRRuA#Tr~Q><Rw#8*17Uj4JPi#z6+@g%h`4-Uub^XPC_=LnP;Uud52 zxq~56@v38cLc+zIS3Rd%9~LlAu3y2Q=jX;&$<)wQ#o~QI?W|F{YWhSSPQ4$T)pGlv zIxX40XyI(xzYF^K#h+y}P1v?-`zMFo<?l?rc0AAz2>3kx6|1YXbz0QvL%TQ>#QzF% zUH;kSF5o_iA#eX5Teqxlo0}3`YhOH5`zFi3vf;g)-?KxTSXD0m?$cOuPUG*hv~9M> zc698Wq4{@lc*fsFzt=kLG~fQ8fpd}~d+zDQJANp&);H=nr0VzBE572}VdoUMsXHeo z#3<};$CJhJ8Lmg`)mLmxT;uxY*xQC_J^G8{a^;Tc><r-yxZtSeBeV2q)4z+`w!M~r z($92Pz(8-~h0pA+dDZUR?f#sT?jFpK_~yu({lMMPapN|TC-u*g($XI8{c``xG&R<w zpodx7n>9riH^x2PwDVwC<c8bEY-e6Ci8|e}=_vD;MzN{0pGhxSKS42S3FAS(8;2O3 zwq0m@dSi$73f_kQ3`dXsIK00gQT}sM>UO<=FlGiBxr4?>r~F{Dd^bUePfu7z>i1Hv zhO3{YxAjX1=onqU72tGDY?kg4E{51>ru7+S43<9}!#DPIR4#rbqVV|qlqJ{VPl;Jb z$mS*<y5rxxqOtu*qMJo(%O<UV?q4-|Uho}xa@l}gNy1r2A|WKUqC?psIl!swN`7w4 zkG3mMD^+{eZrI4DP_RzniNIPThnsAyQg%}X7?(B}C!Ma4Jh0%g=cKUBPudmx@19~m z>B!3SpW(*Ju#PJ)dRPJl%ra&;X#Q?yHDU?5EVe7J{-Q)z#NP=ASq;PtK63Bg=dv|) zg;J+${I|{nyMG@zbjRo&WACI1H)=a0R#txM>uFHAsC1F%05@0c;Xls%WVM@AR~}(- zeSS-+V&A1t-xLBTg>I2g$@Z3aoRXxs{L?&_TMd^lMRxfs9C6tb*ywRDv9YwpLgKXU zL74|D4CSVaNpXZ*2c2V>%Pv}@eC766^XPz#mErRPnHZ1NDs|m**toWsWliTSRtD?U z2c{Z{va51uvNc>?o)KQ6^Fgv|wcr5>ZtcS>WR`CFnQzl_hH0;>PiBGMtJ@9V{xbwF zvG>yP;j<QG5dO`v_}KxUto4&$o0_km;KlG%%lqgpy=Y;fr4j!b+B>2YRz8>~THh2~ zIPGoGp-^*a-UShrySN+tn|btDufNg=h;g{+IfI*PWwWNyPI1Ao+aE)sIV_&eOqgcb zbak?Q;ElG8?^rW}n~S!5YM9=}F(LkVqlHTUhI9NW`e8FQ{<tv<eCIDT_5WRa&_vlq zVwG6!q(@6mXt`$3H}aZL*Yo3}P{fSoN?g0;n*tr3(<k!PxHwKZ-gv}gTTFq_nvg8k z9r8s6q4rK%qG$G8<Tc3sGhsTf#(#z;#Z-kyEFp4+9IcfOEc^+oO|vD~cSxONeVue? z-r^0$KWtA2?0%)jD{if~=jalrl{dcfznf{@c!H0?#^tvBUjdd9$H>!SYCbgr+HNy= zqk^B<UtwGv|KW&fA!CdI@9MAa9QT+WI!0cf$YA08ZHpd*&?d1~#-`sK2f4gf+Hg0$ zn$Djuu+Ag=RtW2lBz5IS+)QVeL`?n9;IcY)uXTvAcY-Iwfm1rVQ>I;b#I)3$(R6l( zj`o};NtXQ=S_Oh1C`dfgym0Y9gT%BAMVB8j?2S8oMQNw+Zcc%&x5xcgtmsP(IvPJw zU<v<SL#}+r9Pb<JgBOLc?D?X_dhYHEri8V1F8c314j$Pb;kruj3eR%cXr_gcp&OJZ zzhqfHv7cuH_v~L@youSVr$6s%5EfuBJZpQP=8WrP!3^_AhHU#SHnUmS%JLe;*4QfP znw@Y-?qOTBakJEi9TR%<m81>^bXVpT8-!RhuzWKV;9%e499h9wd+f-n=O?9i?{W0V zIm4AMuwg^Bu%>6(wuBX}Cu|(KP6?klHN7v2`4NXJ)1S#YckilB(-C+R@lr-tb%yMo znCyGI1LD^$bQ0di`9?`p)$TI)&NqUA?glT-3O}4_vHzjb_2%YHoxNJ07PhtD)C=n6 z&~3JS8ZRJr*QCw){2#uwU*}yyTd%U{w0ZD~T(!S*>vkj4%89=eHx)jJbk)0X;@6b0 z)_Er{I4-a~c1EP8hbb~YQ84DV%Vp7~i={3{=PIx<-M-`Lvn)kf-$O@n?S&s5Opy&? z-u#OW1n>zilj_`Q=D#B8vZE#o*SUb;Y5O=&{`ersS~v5Zb^V4ZvU6As0^Yi$v+Y+o ze4K^rkYz(s!#U?G%=Mr71H6^RPlR23li4THakBSL)7n>IIzB;Z>KY7YF)fjM6Jk_L zD|=Y<{eNCjTi{cvl$(0^#I!Kc?QTjFe~CUmv-x)Mq@S}68nA1K6j`V3YHWSp!Cz4K z!9^}?k2Bk^3d!E}=_e(MRYaL~&3`h3rLR)|S#U&ZU%7J!(<=Qg&L=((mx|s0>azCu zf-8&%UM1)qIwyA_aNW(f4AYJ=GuWpb><YaxW2N)6#Maa;(bA_q{`xIGGN;NeIjrkH zL(8j_oY;pNC2vpaXYA(g%sO22qiw5&`6&<csl^+=YhAwYSRff{)WzxZ&5I$v@T0z! zfY8Hls_tC-Rs5z^SNWc-;q-HVXSgE$gmlw$mpe?)Co=9jlj5V*(ss*vHjfvFfJpIQ zSMN~Q%(_IDWp{)4UDz|fNG`gcBlsw3pGW_b$9K*$Z#@vT<>b=){46pLf8RMc`!;XZ zp?ycVdJhEd{KVpTwvzc7>(uQ_bdT-r2w7at(4i|evoc)QYL(q}u8FJ##uv5C9C{o7 zE^B!Fq}S2?K`L9#@13)3e4K9aq<ofYJkp?;{huL;&&}B&<h^#={T0DFQ(m}+EpPa2 zFvWnYJ8|**Be@yU3nFGk$UUywta18EpvJ}wChLN^^QIl}X}I7ph3nbH8SFRQH-^vS z%*)wx&^JWEL3NARA7KX80~e#5oTl*EDhE4mVMuOUuxOgM$a`^?=fx5Sr7K(|Oc~P! zlio%(W_)K<ka5iRc(ScCJ2$q*JxlQ5Mt<&F42dZ$>$LffcbL8X&(M4LL8dr^-+`5R zt<_A`?GJSL`3|jpaP_6h6<3EXpUNMxp61qE8uvKt`xl4J^CBGl7q}f-#M*LegYKKP zE=Sh#Pdz?K=Ux8~p~<^gz0N#86rH91Mu?^D!h_$vdTn})^Vm||n)_AkW&X^(Xdo=0 z!LoXfYk=>Iw4kppx|64boKnyh5&w|X|M5g#WMje3H|<CA=Cdv8eaR6u{TOrLmFPeH zg{2K$JI?<RYHL56vMn(5pupy`my%ucr6gDu{5^4pm7_+2(_OtuRAl3uX_rg)a3zUe zh-u+&VE-e?W+AaFUx4M@BZjS+ixzMlXqt7ZMlxi(Hm}h7N)4sMCmK#~4s$s;OF~pr zK+2dgx7V5@tK>h!j>bKUmR~AZ!|O0VMAdGx;&%IFPJ#Vz891LG_$U&?^{?g4pZ(wX zo#Ll2XW^30SHF_8r*E=`#)t6l443qN@GOY<EHEkZfPz^Z&&K^1ZI*g7Rtt;Gwd_w@ z$EeY}P3j6u_IHJMFMTwB24B+PldV(@6JH^HVfUv03>|B)3hkNQaA2-U`md(Nu09=H zuS0Sjdk#9+)So%NFs{XrNB=XU;Ie%eg=3S%KIT}*f90N?^JlJ{QvEb02Jt2xllL3{ z_|?dN?FiMleT$<dkL{Y-NAVoFPa=P(uy8u;QFtwOB0A-lLaytMJ5ospbLP%doSA7Y z5qROC!`Bym90&e0c%1$H?V0U@pK2w)N))rr-`J^f+gmb<&Aixc5>(9R^HKa&_zxd} z#UB)S`=YdePvJJ6{zECNaK^?-E3`Diemjaa<(h=wD$-iP#m=^g(Ne9E?RmtDwj<99 zG8HGC(TFuX&dkahy<pp-V22$^tc!0X$y!&rX^1I=FZ`n5lImIev4Cme#O9_i3%sNM zc^tacb1}~D!kU~$=j<OGmQo=?OB4Sytl;V0^wX_(cg!T&4T-1QUm27)waCm@Im~YE z%oKGk!t8YaBoUV$2A>yuS{AkaXPBt7<>b5*iBtX=W^K6an99W?bZF9QyTGU@9;S>3 zMGZMNKP8GE{adlEN92=p&-(2jt+swUbH4wF+hy_To3i%)XXs4Nt7tJ_rFyVFWmUG_ zr3cP8I;ULjh?vQvuw3i3s!vVNf}_oErmKEt?y*<1-;vY&%3bu`73o}UF3s{Cx*}0C z1U4mpGtkIqt4phka_u|zcVc(B`r=2CTbCa)`MsiG*KM1o{|teGPVEN!ma_BPadbX# zD)8FJeugnLdy^2;x_KO`%L<kXTQ>fl{iXEZ3Dwir1oHW^61x7Jk9F16T_P~)lT-No zg!6fycBuXk$kb@Pz|zq9O|f;?Zb`@bI-g6kesjd0^i{aAM0=x+>%t$6MOUi~xuR?i zNQnNjzmnHm$FhOzqPX5u_j1037~MY$RD<2By;S{gG9HOZEG$X+)EImERkY{+FNzyP zD?WVHPuZaqntM=*<KWb5xepnX6E{BSd>F1GdSHJ-!;1LdEN(@SeLoj-UR1an_^D#b z<C#UmLT=L&1$6G$vIHHAPdTurKIlAm@7m%!dI|>dpE_gYnmA9jF*S<kiuoutFK2a( z3~gr=(wUJEKaJ^@`bE>k$PO)M`OS9@^?S|@ln;rL*mgi@D&tZP6_)4Q>NT1YS+B~T zzPjnJaOqYq86Lro!~Px{GTV<V2<N}ZJZHjHj^Yz`3U;C=I=FUcNbFkZKk=1`;f$se zZwh<&oG~k(|05~w*nbA)XOV2;Zz_^P7j4tObHrPR|Br+Bj(zOG8e$JZA|&Kk7AIf) z&tTOgw*5%VZ0!#mYj*dsX*irNS}&j=QEmLAgO_d5(r))dI+_8_3J+F!TOBy_E3Axz z$76=;x+6PSO1XYMt-qq%8zFKw^F#x${3mxN9oDUff}Q`K>Xm5YeY%88JK$f3!pt72 z`2znLZfIy;p6b0o#;k6co8xw-8!L)_vL0cNKQMI<Pw<4l&U3c!@8CTCO#X^kKn#oX z4-?1DWuh7%!emw+_;aPq`-i9?v+wQ>p%=Y6;x~?{Bt5vXB5+&c27`sC>^xd;8TZe> zC4D0A#ogG`CSIcA+(J986iv3eNUv06+&uMwSJ#ejN($0@nvB-wc1yCeEMiSx@Qz8R zXYW#heL3rQH2(?IW4Gv>YIOYkt*EQ}53I~N8C2qR)qYc4Wc)(?i$-3$H3GVCYdJ1F zQ7ui$WfdvQP*Z((QHo94)${Wwg*!)IyilA`|ByXsA*0`Q8L!O?+LKpUy4s(zJpGgL zqe!g0Q?>mq25t+%oL@~^$JrLF;+XS5{kxFD;~Q0-np_8CRX4C*I+$I1vO&aQVa`4^ zZqxq^w|rC+zf4&(f0dS^-qweK?lT*>L?(o${m{MQxw<>U<4d)uv}pE!27Y0&Jsv;H zg?66cX86t=`gBEG=n4s6F^y>oHf@ZI$zh)vqgOoPuvOT`x__f+$^_N}I$S()fvRE~ z8g6U6Wisqf(=Ti-dm_;@;oBS6-3@CR?(=uN(0${0%b9g`|2+?`V=<d~)5H`e?PEFj z<&3oM+>5W0|FQ9=8?NaTH2E>_(Tbe9i|3sLwl4hFvRFXx#+?&fk0&@RV0z$tvHuj0 zwtY%N!3I%@Jx+5)Kd|j;Sirl>kcWHugQlqCf`{3(!fqSuocr4H-Z=8re}=Y&6SRIS zPK{(>+FI6>bN+KTo52>P(+4*1SZVsrXw_=gp3T;b8WInmcpDfxsOFc5>dN16U3x(C zz<-9If5|5nCB$6_F0Sjzn`*{C!*+q@XGTAvCk=uN9$$%Mx|NWy(d&$3a_yc;#~N#! zk5nydR#<1bQikW$)7wviKZ<70ydxc%5TQ5kq0ULSDI$*E_8#3;p_doxdAxT_4!FL; zRI=^UjeeV3ZyePgmrYy!WL~F-Gs9vgFQzwXaVmM=npdAWcvOw`Xq`iY0Q34&!K)V@ zEMU<5vA8CzzH{|5ArtkVE}Ey7TIp@;o;F3Gxv?}wL-R6Ir)x6fuBzkFD;lKpw-nr+ zI5E8QBbU|<D-*k8jHh!fvcvg1G?#aM*de}VZl_Czy~-M<Vulm9q<D3h=W=rLHlJ|Z z(#L#a)}#3bQCIxGsjgYglhJ*oN7z~D;29QO_6NNc{U=2fn>Q9(m4E4w=KbVgES$(= zt@=l3#iEFC1IrW%m7qrgPZPhXUdcQ@V`r**^YSxdVd|;%f^5-#El2fdaBPvk;ZS=t zxZ9XV|Hu|)!v>Sui79T0L7$Gf3huvU%IAM#S~`=+nz#o}mqd+4?F)`Q^R?b$u60y8 zLGEezHgonPA{$H<;=7y$uIzG%QIv>&GQIbi>B+W;un7*)Ef%a>(wGFJL~C>k=hR$i zPHJsvcHQ5koN#;617)RGm)#p*u^p~rXqwLwmRNdFE5g2rS110#l;wQ(E5f+Wz4*wg zIK?;WpJ(>oYL15g3=1`8%i7G_>vFTLN~GqDs%rCep=}uoK?>3{9PgQk%x{T2^e|3o z<5Rtp;wz6HSh{+JSJ;d#1}k66HvDIh<ea#vU$rSm@mTxvz@mi9lbPE6Qy5pQ{O9qu zXSu@4bnXKFLIuU<gIpipJ%5zIl6vLNDuWpD72FeExgC4VbTxic)atZ-5esKATB_e< z+$i<4J}@kF%lE%N2iurb1>E&#OyK+epgZ^B^hL3WehT8^5%Fg>WFNmMdiIcT^c%Mg z9twh<-+GTq-f!=mI^Di0_Ci8v)&(nH2_yM4%o&O^N`Kp&o+bau@xW}|2@2aA4!z-h z*e$i^@arRNeT+TgjlJUR5@{Q1y=tbMnf0KJX|wu{TcQVi#SR+J(`6TI7H6zj*>H2Z zKF6dcy-yA@g=~IH%+_<i)i@`=L{B^7JD1kJ4n3{EoIR`D?|;>k*864SH9<n|WP<x) zj!W9l^w%v?dbYPiG)`MoE47aG%=Yl4i5>!sk)I8?92hiWU&y}-+<N}zM}a<x^Dc>g z8?5CrPZor=J@_fgbmxazm)u=>!3WI;pK%&oIdF`}v1{4i32e<P?l9GzbWFAW=6W&7 zwtd}G-iy5gdOg)Y1vX8LU%aCC?zWC=0p`4$Oe}e(hI(FbxDsb0c&5w#Mo*0HLCyys z<X;(-n<omr>JfR<$El$^=>jv?ff}J#3k#pj_&m=}De#8&52Y>V-`J_P=IJ*)U}8<t zvD#yk9d}`tfZZX(5H0SIQXaqipB|<;KTG6p%)5EkmEnHjgI7!!BUCpOFs^yK?fOT- ztlo?n-2#ng(@*gkTNiaFWQo^FzG>?JRo%7N=b%`4fw1GA10j*|M|jpQP;m;oE^|O2 z=+jT5S%F_1mn_?Db2R%Ohif7O+hj&d@qA9VRnsr>u9T`!%PC|NJN=^Kvrev`Kwi_C z1&V90L~)3&2OTrGGuuvOU8}vop-TZ>ny0q!n;i0=A%nM~!!S?h@M(wXQo9cvb`I2< z8;~T^pI<Cs_b66)DKo?4$c7fq4K-m8!lI8~m?D$saiI3>rx^{aG!&TL&tIfB<Azcz zyM@;6>??|!+YXe-K1%J(^LCEVKXK&j(G9vL?6=sQ)=$~a@kQi6L%@taz0(ar;h${J zW*lV92!Al;y{yC15dBFJXDo82U34+$bAHg^%KghhuIx#DpwH|!23uG8%PkAp7AFQI zef_THwm{6h+HKl<X|2Gg4BS)Q*{AO?3jd>&6t*By|5(?Isoif}6q-7P`uJ~haqG!S z{bpLqdi=ZVp|->_hwLN;556N@Vi5<9+KO>CtqPB|dzh0^$+2c@`!5@3rMkwyhosXV z7*}4nqGY;xW6d+gP8Z3><VCLn`Lup^Din(=2wvE8`omWbi-@?N91aKXa5~!tPx{@M zR(T+PM?<FZDS=DJZyJdH&1h=-^=V4i`AK_RIHp|Q%))l_o7#VdRSEno3!L^(XcW$n zP>ymC%ldsp>hy7kCSGyzk8+13OKdoD`fp24`+G2MX{v_$Nsa7QhqKWJIh+4Dxa!u- z2)P#XpW$#pz^R3AMYAWdmHlTplDhiP-eX)mGYeRjZ*yB;J!^_>=t0^0(_h81Je+r$ zZA<!1#trfl-vws;yC{%gzr~en4)aq(jSG#lR@AH$$zl&?NRDrRS3PYe_g^ou&2=rC z6cWN7DzDvsWzmfUgHyi*`&c9+R_3X?_FXKzWn|wND78+Cf9I!0rtjJjbG}&2aLazu z;5Gd_`xH0luNo|=Z@LzD&SP2pVFMEv`&FThAsJ4&*Rv*tX$LOdw4L>nhsLV9&eDu+ z1u;xre&4*6xMfn9LcSERPUon0P}q8vRYAjLYa37HHeoi)#<WB!QO2wp4;oh8{iJ$p z)y)e(rk#tin(@xyKZ8>2kq1^SG9?06bPtK;Y;Iw_q5FY@!>fwp*4ovHHa2c2_?-36 zI7dVzM#{`ram!*)K9d%b@WVlzuUb%*H%-DK{A6*^Bkq#fAAFcBQaU7_7IGzh;Peq$ z<96FTV0-f`Rqp=`PZ$;FFdaS4;AN^`&9Umn^_zEOg%YL<{$8+c!J*!pOi~*0D-Yb} zY@EB$;hey>cl-am3fA?kESBO~cz4l3kJ6q*W={PT2`fZyPg$$s^`C)Bal;WK_QP$A zQQ^ONj~#XSV83PItmlo#XMNz{HQC3;^<1`D^XL!9=?OdkvV`)<dr$H6+AXnY*SSMn zsmoZc_p#(1FgM|Kl@LBrb5yHzL85Nn%83EHEEG$u;|@&O5-#7ubZgSQqSlPGHwveg z?f>9+TEOe6RMS(=Kb8XPJin@19NKt7fuZdgx7j`>mNRl8b_b{NWo`&;$YYd<UiDFQ z+Q9?*J5<<~ID1TI-pF;{M`iUH?$A&-g~}=`t)*5Ht3vat*}EDt{bjgK5<+(gPcUX& zyTm}r>lgouZBxwioGsRzV@nWOH9c<P!$&Fd!6o?~L2t^-<nQqI3LW6S!{5R7n*aDe zS82wzo!kzem(-T(L^VBMvapGB)pDnfMKf4;D+j%}Kapw9ZssGAfo2D4eP1WoXz%Qr zBfDp@wC+zmiOsK+j+WZ_{Bf4>KEadE#@r$DWSezsvaf}(*CW=bk~hi~hEAKG$*xFz zQsiwQ6TDC}hW+M;KGrL;3J+VI<$WJ9WHI;kZ{L~eH$zTgYl-~R#sup%_Rma1Qf4O1 zm+6=y+IT7D$b1#4HSABiCC(}cyUP@~x0cSTSr^bLJ<X}A)b8?T<7$_~?@uVbk!TLS zC94`^R{hKE)vB2Z23vdcZ>fufJ)9)2sj#W}Mkmi2UY2JUKZ*tH^lR~{?lA0jGLZ07 zn63AQW#f6ng`3zC`2#hgE>G9)I^uozsnHXjvdXE!^RH~2xO&QA?rFdFDrO(lU9kVd z&Qz8&7k(HU?Wi_BvnwK|gp>Kiw53b09{hNjpOwWt)PAE_W?P8a%^8<O?<o|#|0>M) z!KrnDWWQpE*bxO?5ozY98f`aOSL`!m5_uI`@K3|+o}MwMl&$-(h9kR!zfKG<_EQsG z_}fK}okLe@pX!8HYoAJ%#r%{^;*6<rkx2jP#OXYj<w^i|R)Q*z+j=FXEzYURZ%tS? zPWbjtBlSv%TgavhTUj0-XwwMeD(Ga`+OWuXo88hT-kQFD$_`J{4|WDk{a&<yGxC$S zND$Y*=?A)uy;IVP!v3n6t_k1B9i@5PDZ=;aQp>GH@>kLrYL=xLCul`#sukF39DT53 zxd2PG`?7_B(nl0C_4YsL4LtT?%9|ssD=wd$DLcd2X3>X>cHWI4bq#l9ndW?A5^}!C z7!qFgrGEj>7iI78?PvI${xi5Zn3WxnnCifvlwsr(ogQ$$qak+2Q&Vnj4~upG7Daj< zKHGmMW50OE0p<3I({@HQRPn!>c{;=+%Kkt*M{o1}4vw3quOtFwELda%a@KXOG&~}^ zdgo80wVCJ7ByPKZRp3fOiLuVJ4Q!1)hju*K?vnF?chA9XVFyL`96Pd_@2Yl@y1{;R zN7b09BGD(!R<9HOGiWx>?qCoN`or<H@a<ov4WC814u5mj+i-c3dEt!D@t=df&p+W4 zX1IgbcAd4S=;4Ws-b)`z#)L2ity<uAFixn!zEV;zq48jjIXl~$H{Dung5CdI*jDV` z{>$r8K!VMoov!BVUlvB`|CzYH^oY(`9no28iW5W>G|hMyEpE8I&|K{O#(#^-y2BIy zDM{ar3!3;eja4DETD2!rfHBu~W5I-rIX8cHoIT-nOiAa~^HZtJVrGttt9lhCaWl9b zu57qmx1!?(yM=Dll_JN4n>S|MU8bQG8M#SR?90mh{hhvT9z5mld`E8Z{BBwQ>{-Lo zW1r*&4-~IAGiTC1A|-Gx!0bPRiAbwgM+2kwn@*m?AN&?2KhwBpmKgjhY0(W+!x+}{ zN(m7g7DtG`<XN%*paff1pRmz{CdV~@Ri!F&o^&YkRqF9i*l~o*cB02pw~dT;{v911 zmqf#*50;q5Gd*)Y+CH`Pidx(4CIQhcY0A<$M;tbs^ksE0HvU%Q(-TnPm11;EzeQ_J zIfK)!`V2mY=3s&5dRME|{#7$tZ#lFsnszy%au#FxuWlxLk5xCjTN`tiHzXa^I>nmx zt#)ZNi|M5UvA52v99S20<)PB6n;rTrtG#Z=9X4HgXDWB@Eyl^y-!hn(FAQ4Pu()Zd zn)^Y)aMj{Vp?v<iGvp`T<(j4|&XjW1rtecj)(pOD*(bbaYQ*^!^X>ETk{9Nhk$5ZT zgUW_Q@8%n9>o-UZ<*L)HoA5wfZeik!QqBnxmV9-LofFqoM3{NKYCX;W!KI2t&noQ2 zfsP#=H(xj`woAD6M?vx6w$oiwI@hG_PyY3iFn4cRxyFy@Kf{TsLH!Fpvhh}3oEbND z9&2g9Dq{tW`ZFBN|4bH~{~4@d{A*&%mCtO7jyk;A?u<ge_S|L@eDt4z;h5;=13n4c zY~+Jy?0*<2kZSnw?<u8qi*qitDQ=%I!z@ddDc(w<f$0x>zkxKjT=Nd;RU4WWD-!tJ zk_);^1Ux6?vz{>L=!=}1%z0qrJB^RUYaF#LN*GRmOzdIg->9`C_>}Fj_Md^8X6Fw+ z3*__PqI;(BLw`rt1kVf8S8V#BaG-Gels)<%IPy|=Pe`2=uwV7r!@DPTJasfXaAt?| z6v^hE2`sq>614VoSbbdQ6xQ~}&Hr~+((W~SjK|`VmM_eBF~9Qdoh@liElo?iR75_i z#!q3Mcy~eXg2PN)p%M$ex9&~sbCz6MAT_OV#;=O0*)JB^=w!66R}462;=y<KDSLob zj+&VFH#e~_cbJ&F-)j{AebJTq_(el%9H0M}4%KD<I9n}cC+u4NPSusM?!who$105V z)YkF;ZD$j)vN?9>w2_u(gIAII3XS$T8VOJ9GrZf1TzT52T|K0j?S9fQVX3%=;Du8% zXJ*gn2tTOJ@HqW0x96Ep;VVjG&o{WO&ibIL*Zib^u@&RrL(6Vo;9pp^i0j&lv<=%P z3Ks=Ga9D1ocy8}u6Nk$i`wnQ!9WoF1jouWhC80X?#uw&4kDa0lRyEd(__EDdq%WVM zQTFrFYrho+t1SZTbDSgpc5p6Hzr}PY?2XH@eU6TMe(>-%{pLt$-{O!s<*$<X^fikZ z^pC!A6V&u(NUV(MRasaeFL2>vDZ_1>L@DbUPp54XKfR*ecg%mvBy>Y7f$N6D%%urU z^VX{#lG^e^(aU%W&kgT1ChJDy?v#kCX+eQ@6T*xYHUy`v`TCWmu;Q5M2Y%zE<KJdV zx9evF@*J>^34HOviR0(VWg+(kaz%L-?k@l2axqQJ=;FTXLOsp=#tb4qI}?n39_F^n zIyJqT->8*Y=dyH_a{*&mfBI)b?i6mN*He$~?YyvFWw+UhmEO*F94&|P4;(kx6uU(# zL5fYIMe|(5!QZyckD^^1WZWJ`ssH0yZOoJ<YStLkynDf{V!<2Yml7vr-#D1a`-}g` zRss9J8X}cHCazjMD@Uc!;hX-iDSS6}-C8V_@oxjuniIX2W-kK{td6S|lu0}Mly@Tk zO{1nq-_4>NGtMnEPY`<cpP^#CfzZN47svJkF$IzjZ<;9wD7mGaSbX!VbcRUXgSoD6 zrX_AoKO=S}XZhq`O-`4#e`bteVq#oAi8abnI#Tyk&I2z8$s-C13rcLHXP;3BJ`sLq z=aKMFf=!uwna&%=m5MPuzT#TuxbJBqUtVNKhE8uX^TS}q*5^tA4(m_xhdkkGxUr!t zrn#;&d)xgW<*e6Czh;?sSKIH*OvpN67q>xBOjd#6alw+%jXxF6sZD&Rv}OnYiq<V# zmP7@|?{wYxpMmEPtJ&le{}y~`V|*1jarrw9^MCBWTBoh}C0O`b@I-ZQ#uW~esa%u& zZyby-Y?v%{aZ1zN@;A=6f>%`7&k$c9_&eg6R8Q}G;ahCS8_e9e7+F_4tmysB#eH$! zi8%KI;)2Z+H|`MJaWKYvKASpwjbx|qK7$SKyhG~Oe`n&=Ipef)>xGr;^g_6gvvECP z3Swf~>(7!H8{1ml&fUhE%Q@v~=%PyR?C@EMAI%*1|43as?P=87kTO}P!g~vrR~)Tb zWNEVQz(#@na`~^gM4d%VLt8{b5+*OLITYfMC%n-AmB@BAvF&>7lOjWye@#1~`_r2@ z^K!$c-bZ&CmRoG#lI`>Ko|hQjSn<=nWm$7oV@|c}oz(kNg8l5@I`~RGz9O_{qnu#Y zn`Mnb6LxF<ZrfJ#TfL+%g(2p;<J5-%JNSgvLX0DdUNSIhGG;s4CC}4gOnKSBIH`7` zIgh;79B$?dwv~O%{7-q$1tjire$cqO=g{St$j0eL2OP4bnV#teX4y|PRjhEz)bLOh zd%Ap)Di`M`$JL_VcU%+xGpH2Z`o;5_Z_Z}zTdNdBwmzTGv$8!<L@I$vw)IZl=6@%) z+%4{&X<B&WXH!6XxOd<AOy4~FXQ>v3(MwN%Xo${{au?V*w|(+ouN5<oFaOo{BD$G* zyS|F=bcN8Vu^kMl0>P6wwAY9~NV^&@$gq3ayh$gQG5xgs;+((qp*CyGC!vcTp*N0f z+2ne8zM}ZVv+{Ytg4J7snNJ=)EY3Ms@uk$KT$VM<{W#Wak#%6ztrA+8FyXYnq1T%$ z4GaD=v>3Wc^fVc+-7N8^R<P|g;}oU8OT9%78t;t%p{S{K+go~7c3Ex9?xha1SdCdv zthHqc+Ze|1M&_4*i%_xFH4(Nqt`S#XeDX1fT%U1j=cc2Z{tC@hNyu3#Va(N%urkc) z;hlhzjo$+oeLdU$tK~*AM|2;<n`x`~mR{xlsQQoPo9f!DTgn7<7W`!R&tR-@_Knh2 z#*V@xx0ILizi?~1enHTAvKVv0j;49;g@=0oZY(<@-C1p*xJTl%&Ne+|rE=S4q6JEm zE^IlYaU*}j9oJV|Sf6YRUl!xd`^ji`%EBh0EqnJ&nzUz^WQyrEvF|*)7d8flC97^f zqau2#zQ=g!Czoq)TyOF2J7K}j5FE=sS*+LbxA%%>AHK`h2NpizZDHpSW_M<E|IVz@ z`p-%5Y~mtY@#_B!DoYzx7qA9Ru1Qt6mT6zI;%=N`V-7<Dd-|&>GAit@f<0{eoY*s5 zS)XOZI|+)~JE^oBWLUjVe3CIkZHwDy@11*F-%nGB-E%0)*k37Ji`hW?>M<P!2gl~Q z6~0`TjaproIJq(8R^6C(fb)sMqj~m=*t~2GIWBnrRd8Q@qENWUZ@U_Yzy(E5DjM{} zZya!q`g?KNJ&lqW>nfL7st2tOWE(8Z^uCa!pHS*x8Jwdr<@kYrkM;9et!s}RlK&AB z^}DF$UK^W*s&~NK8x2_@HqA#iEPj8ACFC~4ky*Uk7eCt3wP}&pAvtNoE88{QH>z%1 zkSNAbbF$0%iJ*z2|B{Oun)eiz8c%1xQY~{M|9EHCoBN4z>1qL`;TCUVLjB%waBWy7 zulD>;s>QZ5!hARUKk_X5%9X2eCQ`j#$3<t~%5bxdZ-tq{_6T?#Ji^Oy>sy&}+EVEj z$%K1d;Tu`6OINtviu!mkP)}Z<W}<GW&cu`#>))lWE%~56Lu|9v2L~^$#c8W5^fVjv z`c7&ca{b0}bLoMLsRx|oYy>R>&z-m~=u_<)xpCg{6#<O;e>=pFglYsNFhzW1yYym* zVA$!L6(TWzm(6WFKYwPzp($_dY@8-Dev%A3_n#rN!9zeTQ{@QLQnuehpCf`F>Z~q3 zpv9{ZlCLo1cU40)|HPoy*^zCB*1mUAI<TFIX@_2bfHLEnjs;=q&eyo|S*H}ucrZ<M zvu#JwybPrnZ#||-ZH33q9LP31m~%Gtz_%LPrKe9i9@?i`ARTld&H0=18HXzsZ_a!S znSL%*h*3yGEH9+-!P{U~?^QL+daQQ~9p(MPW~#eQBgf!B!$FPIitUUH_ly++G^}z$ zj%3fVK3vY!9{$f!XQk#h_k^7V_B+eg%5OOpR@x{WTDDhS@TRGP>Z&h?I3L8yE>cb3 z61&I!rgqk0#v@;=d{QTKiA+DQQaO=9I(vGHl0o!=E+(lDa?3VNZBXt1+ZORSU|B`e zyZ;PaD<(ZS#F)vYt{r{Q>`H@%z`7Vwovb@0UNY`-&S##<Y01qGG*F%0dhYcFFJrwe zS~0hGG2Q4>$ogQ*COBay^A;lwRn_0Bb2eu>_8X+gI3|~rONmcpeJ5gmN@C6CDwc&= zcMjHEaR}|sG-115=b@JD-jp%_8>@@!#+J*!6<X$R6l>k4^PeHjBlN}Ni405Z94e>J zO8h2qXLaqwQvw=X<vjenyJjd)<iDdf%{)hL(L~?fjK8O9)--l@-8r~wbDEQ*>Qx6e z7Sl}6HFr3>CP;7Vebedu$kd_uK>dmv2i`N@NNa5WG4=G62WRtI6kb`a*{>8M9VO8w z_4bGY+q>2OoFrE8-_!~G%+#7t+r!+f)W)5`>h8sVQCjDfpmyNlX$1}ECqGMN*<0mY z5@&b(D{IMv>CK<)4K$n2FYIDjf5zD?^!)WsKg|`)I~KfX<@)FnA#wJ=5mvTeN|(>S zIil@h#VoQ#ep9Bl{i6q4S5ykKihrK4diC}<4mZLsRLxpl$MR5}?|y-})Nj>g=hra` z@iYhiXGjX%Q`5o{!|##0@MJ<%N2EyL>1XyU7W~}qq;_RVyUxExmb|wNVsUW?*}mz% zU<$pZ#Sm7zG~qz)1f5jPjl5z<MPoi5tW$bk)V9Rgd!n|Ft^4m8Ov`US3vQ^qk!BLH zenUsd%~z@}ZHvE^G$a?<DCk@(z9l;K@~OqW>E=!mEZd*VoUm<OW>XYzRjiS~oPftC zSw1Fi*jd7V!kC5S5W|J%58N7!5}MbwzLN?*#lC(8*Q)r$wtNkVf7%lzqgP&Rl+xYL zALzQOKjA>-(?%VUdz>+jk!=Zbfp0hu)HLi^vU<Drk^IRiDz`f3-_h*~xiy(3z}%B% zZENEMw@*&1&lW#q3D0lV(fh)GB}CyOZ_ZBRo4V;ttURYny61ebXOx;g>(J{i`)7+6 zm>e<5{n1b!5&Vd|x#P5t@yU+N0}oP}-I>;YKUo>J%J$TY_3r{FZg;$MQ0iY`UUR{# zTPrM$4S0;MFYfEPJdJ}j{!!BAw9~VzXU^=svV4(=M(`7(sTOi9YZdk^Fi!U1X-=!r zzF!cr?d_ZTpmVGS=Z;EtY+2GZcU1r<GXuw|&0M;smWtC|T2C*LY%N}>E4EXLakZGL z+DFG#GrnudI%P&Et6pJwwnxm6o$)KXZs>`BOTV&CVAVeJ;4A-pxi%h)#NgCJd;Tyf zGv-ZLaHMgT)V-uLv;H$|)nO1|c)0nK!k6x&4K-)Dw@=y?7Cu>T8N>Zc;;!mvlyaRt zTA11xoF2Y#=uY{gd~xmpHs;-17>mPhG^J@7Y+CeQkfEWWON;-C`iyl~g)VfiX|UjO zj98)Dp`pV)h4t<;MdR`VKWE>bnZd!eribIQ$iEZM8oU2+boH*hu>Kvxl*hL?J$DG+ z{4G(<y4djCyH$Zn_wOjKK0L$j!=yDW3(v0<*|~L-rtIhKGi-YHYbe|+{&H4b=aI=1 zulNrgJgte_rhHJIs(nD}#L`0z5qo}2d)XLw_DHZR!_5s#GG!Gf2sXCfSoiwJj0*X} zF8+U$taU;^{Slck?VTp$>_#qSW=o5N+dXbhCl7AeZJ**&^eEu4;LfanJlqR4pUha@ z65_0X<KLoHlQ%lrUEDiANm_jQ$<MM4KRDKKM(lKMOn>LFYn83D){XUx5)-yr3M*e* zd;33wLbTa`hM7BK^;2vQF5y~pk!hLa<Bfu+UN4Qm<8bLKqh`}v?hux>zr8d<(|D(z zUH1N>#)jZ4JKH{eo6dDa?wz3Zkr2iSj*ItATzp8+Vt13GoBt-0AVVo1Ek2tYsoxDV z+U1m_teUzSt~oQDUH@VFLA6Dq>`h_XIz`L)PBpSR9OjPd<hXPE_K_o+<^LHLh3t@c zcDtpyPr~PP1jAmN_D2!b+F$i{-#+-v!dhF-Bk|o&{sQ0s3`Klu>(23aPAEFY#XIFk zug)#EZq7OTER-a6-{JnK7oFY5XgEo~(a1q;-h@@NH!?MeujOu3?Rwt)*VQlVIAg=< zZygPdUzN)Xw@zEE;1hq*sCB~eN@J#ca|X^V4UyKJdYmRYb6Y+$@cuZ(rTZaq_B+!y zk>!#<d9E7#=@7lSe2KA9O7rfI2Rb(Rf8`R0oO1n;gogHuDN@GAT^8(_lPEPiB`e%e zZ&zIhThuX2L2q|vv8@qrLlahiDAbnVXYk@M{HD&db%|b&WK_hz`GHqg%xd#GxrA|} z_jxCl%>_BK{C`;-=gF|ROB~?H;#t@mv$QD0cG^Z3ZBfaliAn1(N;l|pF)Zg-Nth&f zQLAYAQvuxqo$1b-M6>oB%z0QC^ylFth6CRevn*PbHaugRP`^*aL;cX=3E>aARj)qy z`7ZL+{>Z7f!>5F>u3k{iq>(K<|4O<~@`)oELd+S4VKc;f6gvGqB)Ov*{P|1-ox^@y zoYAFyvHiPIN%n6?_27h%yPavNDW4=}3Yhz6%-WDWQDF1lUygalesgq|eo_jwnlE(g z<`282mnMcT3|^GnExuuf$YIu%@n1arw?9$Uxfq_z@bz<vV}rnUo+HZ^)m=C!QrQ!* zPGA*7LEp8MnFh0$fAN)k)Wlx?L()6qJIjp=^@_}{QoFBrTvLoX&=hr4_}(46!qtNQ z8)u5FU^2~(5uM|wz_NR70GD<R`_5LKMx8502Y>f+&X4L_RWKn^=Fj{qC%Im+&T0@_ zns;J_cY4x-c;-I~LUS&km=$`rDrQUk?@9Z<Kd^2R@VudBA^v4L*N%%qm(NcL_xvs| zn9r3USGw-{Ul+0Y5BbxDrsh59XV5+QitlP1_w+`~<y%(A=`>GU5XHCov*9JX76-M+ z1Iv`6t_U|ze=Gdq5&O>BIqt4U7cBk2vMBiq>$anHE*n=1Z>WywSo4Ev-y)sm!HxRT zi~k&*78RIzz}Fxvmr-0o^5~s?6OC3RaWmF5cK>HccPmTLjp{y7d$!^JMw5mw9aFVR z<N6vd#J#_zk$0chMdYXDX9LN_4`rs-Ju%qzk-NkzIM-=w!geObU8WamPu*sBmVXw1 z^T2}%R&6%?Gwzn3Wm`J4;c?39?7SCVnwku!wEr@9*77_2dM5DU>4Y7-oxMWKSQww> z2u@pf;n~z9I>M_{1wMz~J``=qezH73@6&HZo9qr38N&{zpw)*b{byJ)qci;%$GyoC zH<B(cxx_GEk(p)n{sWCpN00ez@OZRzXQS(OnW>NXHkAJBkd)rWuwN(ByS$;J^@h~S zB_9NMwgev7p);qpCHUkOY5k*O9A_<!^-p|c{@v7ABh3*J@s54P+{RBrOVR?`HXM~( zu5L6_?d@Ax*62;_XZCBXW9(X1{!YO-f1<#_xE57ehoZ(gWfwYp6&SN(Sf+@wHS%2N z>I;6r@KIcASAoplErlOtBBvY?=-78MB(8sA-*Mqujw^F3+J8?IIwPemY@K4H&v`=0 zpS|I<NigfQtvk4*RRRK(pGvjpvleK!xHUE~g__3iSh{UXWRGs|k-ec4rEg4S_F?30 zGuBL8pP2q*rmh#0u}n<!<vS~i?nsyzbFBQJq*i?URM^z_Pkg3r`%ti|IFZFDCSqx5 z?Or$Yr6R&EQb!pVJZQ)bvl73u>GnZhb@v-nc$b>#pV{Mc>F&k_ffr9LwJ6RI2oS$; zN_Ps+HhU(q3#@$+&Ac(PJjDfp4B0!Y-BzbRXm+~#jN5JAgZeW(g4Y%r-ZHz^J)tX< z|E5oIPX3b6;M|0nua2>3>^ReOOousq&QG<5vdSHImCmd(`;v5LEwfALp*w!LPY!yg z{7~7k(vtg*5UZBpk}C@5{BNaoDM(#zy!lMaDBdw}%cj?U^MzG*DLlFM`ozqJ^$h*N ziJ3dr@#;-F^Dp7|Y10`kt-1zh^gT8m<Ji=b{p7m=Lt3msc!RB^gQ@N%&gpyZrU_2^ z<G(Xev;ItsR+`ygma|8H3bsGn#+IEG#PDMMqLd3C8M{0VK6w|Kbz{$-;|wuUelv80 z%-`~a$Hls4&T_2jVUc;SrCWHvY4K(?kvE%D6weq`Bu2(Bn7(#RnC_%mf>ArdUL2XL zbV0~z#&?#7{TGuMR9dE7K2US!UjJP!UhPL!GsVuhoi8w0{Bt?WwRwS}S@MbkimIU* z{<jn>A4zVDO%veC6MD1kQvals1woG&Gdn#DdtI**X`cOM#<EEw7QD8Kd;c?>Dii8n zb3n#WBqCtz#Tl+|E;KJ&Yv&@hBb1MgAwt}#{)mpoyNIoqSYm%P>7A-mk*>%&_4pu< z+3$#eZFltE#Z1_gcKPS@3%i^DGi?0NFkvSD8O821WlC-R&%&Jp%&-1ucz<NgYV-DJ z?{79f4n;pW`qqCGR9@K8T<x~(+n@d)3ew4bj;+GanoXxOK3l|{;AR-IX3rv*J?p}J z=dynn+_EF+;6H)ozGp<d8q8x3c5k_VP^5ryYjm~Gk#MmWKc+bym-qDEdYZdi##WV$ zWAVbNulSYzoMAj|CAcu8s<SfuME#<y36k&jpYZB3mE#E6n*F57yN0dyjAo70d#V2n z1r=96*%uovyLj)i$yWDUR)N2l2Pk$P3&`bIdisjvA;%4-$#4Jq%u3qj!}ae~vW8pk z)s5x3^)oZIBrFtWYyK9@-T%Q+BU-mfG+gpPNDB9po%Kxz_@>t<|LTzXG`Ig1_Y!`u zIa%+IFlJRYopv!7*M8J|ywGOuA1|M7nPu-eg02<3jrH1O^8B~zY18RvHj64Ov0+T` zdhx93W}{>NE79q<$`nNBI54M1ys16c<-Dz{J0MlF#MZ5Zr&Rlh?}GCwj#0-uwD0VD zkla`h&9$$ED=CaYWY%uZNp4%exiju93fZtW>>`h`Fhj_VE<eYF-z-^r*)p6t{~0`4 zm|BCn6qdKL_7*jy8t;%WX7CD*&zyF`Yu$u5Q43m*J(#*aAZm>-m%?1h>6eUdzIB+> zz3gT;b5a^}!}A$wO;bO~CDyC7$~0}1oW8xqwd@!NYw(<nfnggMmpp#bYj&zDRBs<= zHTMMH?pPMq)$Vp4BC8(?ny>$-D*vJPh{%THe;3!jn`OvW@sPW7(&;x1cj8Y6MkIez zXKGIjS~_#7$n=orD8{I`+O9@k_8FNGe|V0US>{Yh`Mx1$$C4Uxp{s5IOg#$>5B?TB z*p?Wb@<pD7@mS3sp(*Xt8wEEmWIkhYZ=!&oNVK!aCTZ3VR_BTWRpIbA)5ROP7%g|d za9PIFxb`sD<~l`z{|u5W_I{s@UfOnM&H9@;?e3w6T6Gs|K7Z*mnzldVidf;7sVv4B zTb&l>tys8){kG9l*%M0ohZHU6?oya!{d2OSWu1qydVHDy^H*E1$n1OZD{8ci^lgs1 zF353}kX*sS+<#KXU|vFB|3uc;UmbN?b{}3L`=w&K^R#dCKd|W>*r{_teBZ>7sC_jZ zuDeTE_@1jR;5&1cxB0;o<DJgs;a@e_HWri{vMER?a@$N5Y`r46E=6X^<2Myk`Cm$= zdpDi+kXJdC$LU+s|5ZDH^JBkvZ4j@bCv#1z+gZ7VGZ^!1m-Z}6GGd=ybL?y64>pb+ z5w@$<m_<LtcdU-Ic*tDt<A33-Gkdb&!ANJVRSOezcr6w3<Ks1hURS&bU%6wu4vXge z9e2Vl?{LqGe-IK}b-zh#Vo~NI?gQ^+A15wh3EFTlbMD_Jff9ASKWFvjI!iA0FACkR z9CT!E&530?*Ag!<{1D8$`}mQDeB~1*wJ_f9x=B}dHq8p>keaP~e8~=Wj)l7J7llni zmpf@LI)6teZ`zYSw(|?Tuez)*;%G{q|3hj0z6V}z)Bdz~IQq<JV0q7+%Ik31K1kbo z`3km!oMF#iY%RFDAYx6I@&V@NJ4G*#pO{(ldcu+=o6j!z74meWV4>>#qmvc3Z8zZE z@LP4$k{QxblFMhhEOK~}r_b=EO;lR_gxA3ftU*hx7-}k}@=iW+Xil!ir6)gCOS26Z z%cZ$`PdgNKf6fu1xBNFnvp#b=$}gB2yQ3xI`NN>sMW4KQWoizH?B!jtu69DnXXi^M zTIL}il;#`Fm0q#;<Lpi1-{c-;3M$W;W9!y@wZw75)*~?u{Aaoy*k77)U(vVY(6HTS z<Hc$7C~a!Wh4xSeq2iB$CXMlvc$wAs+l7}1yBY9`_pmJr3RYOOPnx4iu&+I+C$n*O z(s4$HEo)f)3JaeaI9n7r*cb_kiL*Pba&JB<-s@+ruy$>7%7R(96T;Tc<zP6(_qlbg zi;r%Bm}i=S=Jbg^2YRk5CNmg1U5rXB3f$kqw1Zzs%|}ab(fkQsCR+PA9%R%V3NS5N z6kZ|XtM*%Hy<TE&$%=r=FTzgddDC^2?tTa<eZj9}#&w<b!_tZ)93p}T_CMoL&tZ4q zYt&h{+V4=xi)@*Bi`mK=&V=bO{XMeGr9kY4Vp@knlmP!9!-xy}8fskUlr}8To#W~} zH_w7cv)G;aej#)25z&MD73M8%&e-3Sqx*NA;N1xV*UB0f{9)AF5Ep--HR98uVxNOf zZ{Ht3X{>jjVT#`2w;bmG88)sKoY}DDmQ)+Rhl}f)!<%=y?MUD*S+3x!>$P3^j>D@5 z3`*~KHOh+kSL|dqUKDhO>*2OgNxAX@4q<WsSG-fZ>o{J$eZZ5$Tfw=}K0%O6Ai*HP z`ou?R@977P)#n{C6;?`6_43lu@#>ehVdIjXu=H^s%cdtOJKYL5{GRIYtx<?m{~*t{ z)>@v>`R`plH@H5|`(WLrcbnnN>*i^PPBpgQVvtt6b?}YR(tlkE>z+>yH%{IBrRKU| zV2u5l6<o&>og<7+?3_Kz=~Wr~4~bS+!#D$pmCi2S=iE$g2}VD=D|9&V`l&3@D{Qf% zUF)<zD+fs^tX#7|hexcvW96j33M<4P2sQOxJuvBkG<Sm30y~ejcV!oHovc3EJo$y= zeuEuXH$LRv*y*9C#(!!7!|g8<`OWKBbf)%fVE;ZNb!uHe(~jLvf1OTcePaEWw$`vA zB>f~~<AWvJejbu>Q12|LzcFFXp}9PF3LM+E{G0SR{WH(DC$E+MGZ@B*J#$vtd18a5 zL`(S0KAzLwL0S2tO^c-dr5v2C{Z^{-PC&!0H^*9vJ9GoT8;G5?PjOiAPjhCjbfvK( zS8GR2LRaSBMOQbc7_2+^>qy=-jR$=TmT8^JJ2!7>*q1|UoS!;l7f;|>8`g6{S=0SL z1H+?)U7g%#PbP>nU0Zd|q13=w+?vPf<L-nShnQ`u)+WKn&zunY#IiIck1;zshJ#`C z{e;F%4;3!GRA{Va6*}-k=v`))+=7kl`7<^cO6oVn&YO7J)N~<F-pU5);?BT`oh&S> zKe|2#-rDq2K;)=j|BkC^S{etoGdyS(YiW4&_#szOc!1Y5u@A0m^*^a)HZyx#m_InU zJ$xr?RLakWtiOtEY(I`ou_*Y@(9v`EjHAZw`P09eh*q=&<u)C-{#G<`@mn6zBYJLG zB5CjcNp;N$Y@DF6^I(|O@ktREzO$FhY*U&Lqh80dn)yxqx`i=IeVE#JwECI1u$}6w zl4!f#yg6xo+P?+w;$JC9`~MDz-pZ4>An4`O*pOnWgR7?2G77xpywI~-!r?~KqFd@) z7UY(&{%3Gm)UM5zb$k9dhgUb4)!4Wta+dYDD0?^T=5W5@$m;c1L1$lrXZ>Nh-Luu& zECp76`XC`bo8>@<(|-n|8s!U|QzC0QOFkFyZPvOKKH>UI2bn9fJ6AC4C^ELQh~z9b zc(dX`iuZh%P@DN2*-O)v+J8>#=@3|LW+TYjP{Zlo%D}gG!Ep{FuFQuQc22Qf(!FcS zr|&{5*e)z^RlYEF(UtT`yr~NeHyD|H`8)CK4S|G3@1Hbtbh@x*rmz*S5LXdjd1kt5 z5}RpA_U^W#l?ski`ki-%H^0(PJjBwKwm@rw=&_0^jSn^nXmJ;Ony#O0zoEG!{<}nQ zZVYEk_CHYuog+^qewgeRoG#|SQtZ@41JV6Kajdgz6;`Zn-Lj_d=GEE-B8g1xp0D;j zbda`w6(*p_#>()K@x-*k11?M&!LA4HaPT&kiiaJT@x&vz<ek8-?2TL>jFdEQIfXsn zArQgu!}??TRwvWE=BN4%*LZUFBnU8F%YLxw2-An4mWo%B34X`EE_&*CN8{o=2V0jV zM*kVkICDLho87TMHFoaww<0^t1q@S6rm~t&$Uk*Zbir>Wop6OyeBn!U@5Eo^5<BeQ zvFyTc)xWDgSQ;)&`|v}Nb>AOFovub<%_1(hMQ0vg=#DtuzNA#yccO^i2Zh3j2U}kl zeR8^8_{Bx^_LGh$d|%vV@=sx0UG$}~#C4LcN<f$K2epQ(#-&D21sXh<BhSdIL@Ua- zh+M3DvaXXmJx9P~{~E>s{Y|U^{m&V+*cVpLjXAz4P)e%ASxNQsZ*QjsWokDJ1)Y|^ z{p;$svQ~gWeLK?;^*}DU2f`^*?oBCsj87a{wLxAjGFRjJk~+59g)yn|%t8$TQ@E!l ziF*8Va}fN`ASm%_eKTwP??8s{POBwm`mGmVQqvdBVZN^a9l!VcOA%oQC(cVQil|au zx_*IHs#oHRuH*UzU3`2se~vX>Q*JDu|M5tXbrMt15`l+bdAIwBr`}8A-u_K_$AROl zr$h4gv;S(j^illE-5X~fbg#}@?6dO-uin=;O*5~>u8ZKUd&u!*kIj5pp;mXxZ*!(j z5MjCSTVR3C@$G9R0$MANFL7W_ywJ`3#F$SysY}#MMIa%~;B=XJ>%-riFX{u<P4j0o zmcOJlzvn>ptVL~g6NDzzD(7BXB$r`#sbwc?{e_jm$!FiPHeQ{3sCR8at!t_IC!v!Y z&jfQE=HShfX_D^uZhmFbbVMs-r?}Var-sqRr?<MP*2o&~JC-0hfvIacL#Wam7A~RU zcMMHJOj{<p+G*GvZJ7Q;ne$<T;!gXihxE8uLbqNsi`jE!)2FYZ%zx(a#Kg9lr=;mc z=<pv>{ivt;<dt$G(|#5O<Ig90x%LN&775?j@p92m&O+zOZ)ZN`pWv049(Pe|+eN8n zdya{DRn33BAFN7lDo($WvY`A3YpRy&`lGIyHaR|*4y};c1v>5J%^I7JE4&qZMPpqz zy_a(|+UdFMs#wtRuhVryw@iJ0MrX@E{}mSkyBE%vO*;B8SF(X^<BORL(GP5nn!T6j zR><8x!J)!HbkhBgGsMna*rC1YwnX(~A%$AezXy)|HvH?Y_4i%iTA5|s+wE00to~QZ za6$Sf|BtDWOk!!L4l8DFi&%9#V*<nSchftA6>e1eG_1F6Vot8m$hus-gh5SS#f<Z6 zqmQXk)D4G-jmJ4yHhr>D5^H$F6Zzu#<U8V7TfQ~v%@?ToF6Q=&A!3nedE@e=+}@q? z0*b$!_F1)P%rRmA*=J$%K<uax54U#nlml$jUvlfmGF{MG+aaK$me6te1*6ca9iI|D zxj#`e5Ps8kW!<Yl?K;Q*48jU?cdEI~-*9@ztRfx(36oE@rBbaMdA)cn|1->R4fc2w zUT7WaQzB@)iM#BiMvL9zTV_)EDGPfRhDA47C_QS`J8+9Jcf<Q)E2W337v7n1A6+<E zDf2`O@3guXCJG-MZ!SErYavgD&UTqw2NZoddxiK7rk}WYMs~CQ+lMm_BtF<VLs{up zsOE{Uf+5m|n*~I8?&$nz(a}AS89h~3lVPXs_9ne)(+(|t-(nZAAy3iw!-~kmj0V>f zrfs-*VxIS;x9qhnM{;*6@?P4h%y5v+l5d0dU#FhHm`bHxdOvKOe9t8au^ioAWOHys z!45$-r%HaKCvg{+>F(`ezQU?K<v^=uU&DUm#GXS>O&rd)OkjLgEiiS1TnFdQjC|Js z=8RmX1NAM3CeLH|Ip0RnLHf>t3DFB$&UQ~a>BKBJ`SEVy$&!s5SF>)H+B4zA7I`K1 zKYn)01SXz#dte-u_%1?|&Hawhrqu<mtXwgZ?(lwJ|4uy4G$F)Q=T=wnKf{loA8;^! zPN-%P+bgur`;#iyw*480*4m!**<2}@^&nVwap1p<g?Uq+cynJ}EBTqLtC(@ig)Qo3 zISsvSIvvX{vNPR@dm6h#HIq4a+94&q&60t7a!jg`&W!bf<wbv8j~v_FuEY>nb>L^Z z?z5ny3Kd!mXJ=%dl;F*Y2zl4Op<JRca$1ZkoA<^>;oLLtxQrvNL`54+VAJ6)4_vgy z!Ba}Vzk^|^Vauwm+%4XJR1b*RdzNf_|DS;)jrH>cqb9cqSwHzZrrNBh1rMlH>gn&= z!ITo8!rc=6)gbU*&{fVR=?aDJo~{2Dg<U)%ut5J`3(uwBq8h=9f0s%fIChNf(g7cJ zum21Iix>W0|Ev34Nvg)O_iqj?;6KsPxGaUUBSheq<AryX5*i2UTD*5X61(<FcC98O zyF`WUDFK$n`%N}@Owc(!Mfcei8<r;}e<oevxOQkk)}jSE-i$BVOcz}`-N9p-{K558 ze8+!=l{vhHn+143{8{=oYCBs{=Le$$2Z}!nXzt{m-W>LyAu!d!JGo;idrMM;^XuP< zk=-X1bym&4mEkSrpcwjR>B+Y3Pp0b>G{%G+xZK1Unw%lEBWT+hYonU>9n*b&32i^q zTYuQ-$lhgQ1-~0K(jT~SU;eRht;q95Z07sKuf#AUznEqu+A#H;8-uLv5$jNgm_-k^ zo_KoGw6~ctXwJg;58g!)U7^Mtml;>-?U^nhu+;D-D}%ALq3*fXgKMUDuSyjaa9k`I zn7Yq1z42YrWY$Rry9K>8Lqun;`K|OK=%}dwtLZv-@2xDA{wwIc_J^KWhk`e+IOCS9 z{l=3LR~XOIJgLA|`nyMRUzJyz(_yx(4qeByfBFpz0&F{U_GNI)3X!fB^yk<h+y9b< zG4uD-{Pu-`UXn%MX57%aGySgv|IQ-|q>P_5D=-VY6m&%B8)(g0eaX!4VXXNlw?B)z zxFZWx0zYamKC>ci|CR0gZ%lJ}<0W?Rfy{xh9|y#z<Qe82WKebyo3)kc!L@lE?{-Y? zvMgj?xb=Wa<?|Erk5c+(edxZk;>8(`a;B96XE<j&eoPODEUKLr8nl}|@aU#r&b$Ad zbdc#?5Ud*S@VP)g&}6~#L*h{tACeAcZP*%kdBG{B*Ygg3<hI@T!FAcSeJ3L{f(@Q{ zJy$uxIKRUzily;&S^P(l-HmfM$el3Bag?fk=%K*E{IhiiBZGLB$bW{y*5amHx7SY! zh}zCM*CNrN@Nw#yDTbQ7hpP-zpCtBWoKbq7(e=XaQj3{=p|AayQ!G5mEUI!ZTbVm} zRM+1WTGRYYFp4oNC343mozR<%42x54iM=_cy`=T%iiIDAj)ufPWNi$(Ah>n=tGw2R z*3FEw^aG1t*IjzBP4%!Z5Brq8o09fS<bAmMiR;1lTuWJ}r{pc>cYYRiWrCutd<WBq z8d2lsx+sOfkR7bc<}cZ>rmsMYSw?Wf3g+!Kf*XVGe`+wf6ZKE0po`x?&IwdvurYBZ zn-<(zX;;n~shfN#>W)0K%$Mzr6K*ypGvz((5bIZ(HqA!<PJ;RI#nufPi^G=-I?w+R z_vi_4Un58VIYxskpHB;Hcw2XAbEfP5E6mLTQ5#q*IIAP89G#9%s}u;;s}a1PV6U>a z!1Khax14TGr#Ec4UG>{s_}I3F%&2d*X=&kn_a3})lAK(+@SWviQ(ip@8|ALh->QE9 z8J6GC=H|QqN>@4Pe!^#icj*Up48&@cqzs;l9{SJVBstZ5;=6dk*;9{pweOvm`cxo$ zL1$>-C-1GsJ<Z`W8by=(S*$DkO@+4XTex>kc+<=`U0m`j3$3=fPhPRDw@qMT-rCPB zM>v_TT>55nMl|{ci|Vn*TtBDVTwh@(r}S-6)M3Gf)&+aZBvw8DKI6IXr3YoFM6y2B zx~rahD=y+zvq%23h+ynPpWR8lMmzZwqcaozDlh*OoFrk$#q@_|qt^Wk4VpJQcCJuj zVfbl($7p}3(8-gD(+=qI9%}LVcTtSxz(rlrg0pEqo2Jx0EL@fNOL6JVg6KSHUDh)G zBU>9@UifTazV^mOXXbhik#*)eN5o!R>jhfINGELj6Tr6Xlf6#Vy4OqrAyPh#Z(Mk_ zU%4LoxUJQpXLqeY$mUfnXF$7M{BNJ}wQEt@w0-)dr7k;`Tza+eQ?VgW`$0B#pD*?W zx1`+9#CA+zv|HHh(w*?yHhUuTfv%iSU8h!><ykzCOKYs(V)FR6>b%k?N?OIoJ7ar{ z_`b%To}a*YZ|>nX3ntBd9(p;`+uC<J?_c2Kx>;tbl&sR!V@qC(GqS{g^O{}!GX9Pz zGyfuemae?d3|h0D75Y<{6COoY{8DC{KCvd(?nu|7`^A5bZ9SmV{iVu<<#E2kdZBkx z7ObCjrWqgj(Vf=Ck$CE-7sGoy;fCigr7}LwytQRXih|OMe6|H~atpk#_i%rg{3kIr zE?&WA($eVjX$l*)7Yn2=Jbv;&gYcC54i2k}8pN#sGbBoFlRKoFv0PgGw#GZ#1Jiqd zDQIR*5s}^_vfQnqwa_GE<<y>E93sh8Vr~1E$X*Il=&YSBUi3Ze!eP^W1*eYia4V&? z&oPX&OXyWsi(&uOvX-@NzM!IW+(TK{d=Ckx#Uke4+_rCfu-Ny2)~&+4=q6VQ^PuZ@ z*-P0R4(3nPUT|6|;s&3(`@RQRH4o1A@Yt}Q4!p~}`Bco7yNpY_4rQzKxo|&noIa7E zbqdp_eR{?k>EeppS0<#Ms^c)_`eG-vt^2IqqZ3P)W`5x?3^%)=AYqrvrODc=HD7;4 zt>g3US2RkTc<!jKiF0~nP|V9@u<G886$^LPEA493U84}jbt9xCbtBj6i+j3enTV_x zpJ5#n?W~ZIQ^|g0q3R5s^D};TxGh>CylCxP=Em124FcmEI#TQuB6n=qA^gYt(~KiJ zPOIY$mxfQ_FuKNbBhR5P`<Z}l&lm4En}1Fe@6}vj>m4t0J26n~>1n2?Z1*}QO=CLP zbmm0PsvLy{&EZT*tJ4#vImquhZIC&SCC8Fy*IV%!o()@je%qX8+;wL{MEp93wSD`a z2fD|w3VnT1>&jf15WoD7({af($;jH4XcL9x#%F9@(~{dOo7PD+Ej;x&)J`C2lXpyo zW8z*fT~7B!X{8CG{W5Pj^h6R9HvR39=DXSNp|!_g`G1Cd&QBsej2f*`Un?7@ia0Gy zSl*<O9kj7cmgB;zUo7XuS#6cIlD|w4pYO=M=QjI-`I)VZ2M@G8Sew(V*T$Hi>BAi^ z>Y8+mMexEGpQS6lu&lfz=r-#Wk9k*HK=2I*)3vUrGT*p*tf~+Ro_XA*ma9%lVL>tI z7G^2ux+C5f+K$wFEYN?~8e=SyvP9H1;fuQj|91w)DccjJW>0ONf02t{e8HSP`**75 z+6A|~7M*|K-E#YmmkRd-h1`v%SGHRoPweQ5X*M{`y8p__Xw?@DYo*U<YZ~Z;6}ff2 zdi;}RY1*eZLNCNLPgJMQl@IvY^zdmjSJmn*tW5V;$iGUN<^LdpgU$WLWTudllfSsL z<eCUN{#{YXV=QdGg=OIiM`h>lhM`gqbZ3gM5E7AC$^UwC;?;LD+<OWd&+yeM+_)fM zcw#$a*R2H;o?5m!OfBZhclyuJws?BQGNuy>%j;Ua#f%xZ9QFuc(Rtv_p}tYtvxY^m z<g?2PlQiaK+8no@I56xk>K6It$i4kSsYT2)qgOj(r|W-}^%LDNr|VdPJB#?{Gm(?y z9Gt~6>=K(3?+EAk|14V0sI+G_vj*4vjA`pqFZ^ei(Yo!Vn4sqALjs8cyz=E=8CKLi zS=ehJm;0|L!%n)|agi$fDR#NkR<SBUmMwN!)6JfWTUjb-6@*?CxKzs$+|SYM74+!h zIkgIjo7{CCyLU&wmGJo@cWJhxYu>9}Hb<h9I-c-4B*Yr9t=-`@rTgXbGY8fNupBz{ zV87wiN8Q%(Uj^kI?UqJqG#XvaKBd7G^1{bp=0dJ3+7a_NC8gAMT#G0;$l5!n=V#NT zwh4mC_LG10JxKmBwXLnf)PUi4$JVBl1Gno{YNqdV;eBP*bd={1!v*D})h|W$CK<Ng z+3q5*zC~7XLIbzy(vS89O{P0p!%LhR%Xppk&fwX#`EAj;;A){2H#J^~F3s;uOgW$t z^LIkVlwAr-d|RZt+~TGg&ElUmU2N0FC;yf<&YAI_Av4fqy~>H`8wc8!eq-!z+ug%3 zZD!~6lTx~ye;VX6*Ej~|>&3Xe<~g(>CYk9$d<f&I=O+xZ!&jtF5dGvRuOZ@YQGI9E zq-z#20_pWCfg#&&iA06j9SLMNuNTnW{rIAZ_v}W7jZPmQoSNnETeVyMi39Uod(BMI z=TFXkyJT7}SSfv+=|giE_uTF|vsK&GB=x?XPZWtw`?-U4%>|33s2yt;20S?;JVE9_ z)`Kk-ZElN16b)IIOaF57;>ek!`=23&WpV!z&O`qhG_EW6Nld%xBw(h%pZ`j43rBDh zlcnBN?#w$E3tUaBm17m&H+FI`uDG#P?#QC%lE&<I<_(KpPUI1}>|}6Wk}c}U)&n7{ zC+$(*_-FTD@66^U3}%N;99WUfps{~ZP`YWqiqoBsnrfHzXZVS|e^q4o(nLId3vX=t zOBn<Hch^6fFm9Y#@`q!3Rzg|RzNd$zTkVvSz2e*=EBH^$NOe$L^@YD<<+ihy3NeA< zKgA6hbt~=kG^J*!owJ^?CUQ!c!}2FbCx}eUk$dNKL}wxU+5ZgczxrP3ED2&Qe9&HK zH+c#_LvloK*L7RA<U?N)+s?~dc;}cJa+Y0TP`uakYi6v^y6{U%ng?q+ny1V5zf#!I z_AQA^n!owX_O^vNi=~}b_iXUymH%uMvERvhQdAN9j6TElD@rt<o@ni`U(vGSdfmi= z{5my-`g^KNWe#%uXE15w%VS;2pKyA?ja!V%qqd!#{Y2rZx5|-ezxiJU^+bA@uKvT~ z!kZ$qs_KmBmbwlx3xx%2YG!haZ|JFR+xv;NRPt7RQ=syCN4XniUs|_J+-zv*vp?{_ z{^!0&IaM$HnbZ-m=>Xr_4Q<JBTy>orXP2%2C=mE3!uUVKMjg?swi8-6SH7w5;G6$g zQM)A~M}^yQiQv>SJE2oKsiAAbT4wgoP|(TlR(<5nr2DtlA#954s+azMjyNv8koL?t zaniYnregVjoKC&<8JYs|NhUA8G+z<b%<{Q?kehM-%?7qF4MCgboEW0y!q42iWcPMj z@3LRPZ`8Fca_V;$t%_G<5cV?@|E07+!(i2|El&(~HQOI#pZDO1=DNV!;ujplG}(3u z|E>>Ko^7`*bajBqQjQ0LP6rDk)W3h#Tl$<SCjQ!yF9!KMtbBh@A22*2q<ygcqCjZ> z7G*QTtf^m~*k3uY?#E}rXB+%mavbZ_7NvhEYVB5f!QB2vb;tcRJgcXQo$%lb5{*q_ z$mI`E*cQ<wsidRK@KbPc*Ta?4c0Ar*w|^)w%-q%0HTj6TLFJ{Kn*2`+Yg-R1q(;{q zEV!mKL!xrm_ALtwiY^E`tG`w`uQx-aWAQiF#NxQ1PT>lsyyM9m|9U(7T%Y{+bYLvY z&gM;?yaHy+4u8}=d|xtTfwNP`lqK~O8yMSPGAv?zpz0|7>qLYyhpOPWzSjQ?98o;o z2OkC9jM=8e-Nxskx$nVpzvu(6O#7n>LL9o*BpkSro5Q4~ol|0Sz}){v)2Y?+50oMp zuTQEFoASvk#Nm~e!UhJN)UP6qNk0YN1+zv-XJ6hZb<-k8vUB0IPrgaqH~uYtu+{#- ziUp<%J=|nm59Y7`({W(`U4d2pi>#%pxob}|UgzO%4iJ43;nl0O!XzM#bFXBEPQrw} zvY*0Nx-PY430-R?E;h?9IIDG=#HwKHliYzCt9lZGS!xakwkAkk68*GAQRm<BuM9;t zHo}ZrZ*Ml4oU2f1%St$Z=E<e)lZ3LeC#r>4A3J)gg!kY+=PTmD<;o1&J2K=Jbj8%L zgl4lS-765AbYFHsWaMuNi$hX6|FYjjy<u!fv_BPm+NUJRN<ey_XQfGWUw=^d#t^YN z3$oT6m}XwZQ);60UA{2dw5Pg0U{dr4p$N<Dw~{-v1=?k#gkCcj7_qKkPY~|wn6m9Z zg9fwH`Q+~=Qt>PccsTPo7J39vI2fCC=-sAfs|}T`HWNk9us6OEyH_#IW7`jx7qyN( zSz2$t3#5nFv$%-FD+->7V_cz@YRB#9y64Vx4erNEynWvk+<5*iJn@ccg4q5*ZYllm zA`S+zA#yAmPTUvh^Zhkn@F17nAqM-#1zrb_opIPF{A8NIe})$CsV`4-bFcU&x3DkI zZi0ZI<$+%vIsvR1-3>Fsu4z7v&y4%9<Avps<opf=K`{df@jo1iVZ}El1bq6*>9v-z zs5QDkq9x={XXG;F#(&FL_bR>7$iBrFDZgazq`ij@HCx<J^1XR_!jGns3l%KW0=VsX ztY%+vxf0swvtd=kdv}#h%a^bi9k`)=W(m`E2Y0W?{|t4D8pK~zwyp`03#|Wes%h)_ zFD@Nxn5Vv;u=$lLd(}lz`zPj1U#;$P@a7Bf%$Rv#8KcNrYxWh)hr}G#-4Iy!*T$9C z=&;7gQ)+FBDv};4%o4MWik>NVIJEG(mEL&~>t^#~+QWXEMpg;uD+<~>zdEfB_#^aK zKZnV6%bSuORz}-SkC#QdQuc{=R;Wv!m}fOh=oNS9il(OPhXRXBzs>!f#o?v(gX8Q( zVV#xS0kVG;)|k6UPK!UtBBK45WmPWs%+6J-E8C~0cF!*RqA1eo*ZPs^^M=cO{~3Z- z9+BO{8O4wi7@Yi4d&!&w4<|7!-BvS^g?sjgR=MKFChOnV|2n^1WprBSVPtN9pvIjd zU;R(&oI8FsvPH%n(f_R^BT{s8#)38X#AQ~^f8f@>)!#EPXrE(;W&9`AZv7M9;r#KR z925i;WV%+YW?H_WdTLb2Uq#Pl%1M!p53bMY4F6f7Ho?;VrIh$B8$rL&JE9JCCxjaJ z9shMStdF%ooQWk!;0&*cO^C*h<rinLF79W^JQyg{b<5<YUsF_a#*@~6$Jy@(?lCy{ zpzV<Mo5Rl%7V9{8YJZV@rO+40dU~OKK|YV`%Qf>_xU-qQxXj|qe93;#UZX^auURK~ z+C7&C(NE4jP1fXRI3;E*aWvzbol-@%LWD2-!M}%g8#@Rb*dkufa?Gkpq{zO|iy`^+ zvpA*+1{tsZMub0$O;R#CtFf%{=_|F+_#ajcQ&-nFg}yDnQ=m7|&gE{L7}r;kRzrWG ztA`~U-zEiYx)ym+dX_=Vc^wD#DbmNn$|QY+#olyIS;Mm;{G}j+(_PN$o#&SXMjMM= zSm?P};>{7>-!3xw><=0OS-KK7eP`l3#Kq0>cj=-zZ$<Q^UMO~?e{ki_HaS!faQT^5 z^6!fpE94g~eR*r8=E8rSVoa7#0#;pAxw3wenG>_<qX#d~O@GT9zWh&z>GE*C=c?jg zrdY_Uaj~90&wRwWbk4zd%8nkF3R<n>6dp4hJ1zPsV*V#(YxmE9Q>*VYX>d5UH7wEM zb2ziL=`Y8Gh$@!dEf2-3bp$p$cgQ%TesC~76YiS3FxX^*lgd)LNgvZ5u!NqTT4)gd zk(YA{lTF=82W}S!_YNJI-xV%;PFqFR#hvvDPgMUmVfur#h6J%?=kFdexPR5?vXs2h z<tt(ymAws`uh@f{91RzQPI+b_-Mo>LZ_n`u4IP|6b(RP%I%DxuwW~nEdU}^=_ctYh zY-_<KQ-2FCSn!m+YsbOe^YXesGAwnj>u7Yird+71$SQqIIQCzQnAw`BO&e|GKY5+{ zWTm=lUqkp;<L0Lh{~0=cc^B0z6}@#=N!LxHV~Xf^1*yD`4b5{{V*fK7xwDAd&iTb7 zxg`6K(~rj1ec($FS3R9~_?!2Nf2F4)nyM6H89xiPuD4yf(zK#WuAFgU1OLP;pUtXQ zu&CBFR5h<K|K`FSzxA-K=x-MRTc<7y2Xnn2d>a`qI-lfE+Mii^E9+)Qv&F<i$NnB* zVHc1P30uP0_VDh1hI<M*yZ)XMt7>)Gu760;#M`XJc2Zk6|D0p{Y8g%4FS}j5uq}vH zRsV(cl<5A6J#L?BYmT)}H+R00Q^in~%Gds8hQjN&eQB~=^bJgAmtHdEu}?A875(9K zHa(!CYjMe%KYkj0ZK^8MzSKH9T<?hQa4f7@z>pZ%qM@<bawpTe$)A*+m8-b_skX51 zES%F@bK>{?qo<j!KNK@&-Ec{)HMw8`hr@q{{(=n)KBx)rEoo(*m_NnkM60}O{f=fe zR*(Hc>>1&oxkQfUKIJhJc*51z$HtXAi8V?lrd!65>zj?=NAVku<y$U#&xpD=Tl8ty z!);8580$E`EtkGnw^ZeZVJlCmQ-}P9S*p2CKN@mGpEPZ?xcgbe<=!s2$K4-3c8E0> z#!k0eoXo~Jv2HPArt=erV3S|U&DlKlO{y=aiL=dOeY!O4fU%X(f&6JZK5FU~FX%mY zD<XeI-;2LXTNYO|Eoy&fr!2VZ2S>!sMh4~?`~mYAg=4K=hW<HPdZ0`)-JWC0gF{=S zc-s^nY%8hmiqiSjHG7WO`hBX-7OGV-(n6EJIEZZT|NclO*Pe~%z_BX(9l>*7-g>+~ z@LR{GOK)%f_1>U4xuPziq1~cH;Yf7rvx^?rXK&(+I?WRNqJh=Ig^6F?Be=-HnrTNs zK&8Ck`gMLR0_N@=GJ3C1eq=PVQ`DXOz)Ng*3)8WKjNV?2vHUwsuOx-&%gQCOh8=da zJ#}M)rZdNlPl*o;Kk@%+Ejhk~|5kqY&lA1hpDVslF1ERxEzD5)kayN^Va9UxC42Mi zC-HJkzNBz7KYdBYfkS5UMYpoQ3fqc!EY<HwU9`R8Kf{fboDe~oyb_O;oe@vc99VCP zOwOC%Xr@?vP`pW|@%-#&NqxNu(SIKnt|(jkB4ne?uAJ}{t1qs*d}onq?8?<$Yme<T zYP*}q8mpgoVr?LoTFf__WS8p=i7{uH0}fq3#CKn!zG$<^fzW?h3EN-KSi81L(2w2e zs?9ToRHa>V91IhFH$_$dR?KCx*LbV@M0}~6!=%f}Mw4nxB#y51TNo`KuXtpMgX4{Z zIlIp&Oq032DL}-`*iqv7V$Ir_iw^bvXLx+aCG{mImqOjM&svOYM0PTzx<3+J^+x-q z(b>q~Q#5!sT%N@&vuL>~_Xb}#5hW8#<=$Ldu}Im@2?~r1lP)m)QdK)@al=>OK+1Ba zDHG2fOLJHp(dsDtse0Ptdd1dUwK{pj?3($U4NomNgl^lnXfU?0XxOiDS|z>xn@c3y zTpkWZa|;%R(DMg>O?w}Z!+X)><s<2(S0+xXo5&!!{3S=CaRtYez#u^mvnTc|CpE+~ z>TpiBHS%WnQ~J!Pur0OWogh<Y=Gi?HPb}YImo%gJMprM}!rTuMGn{jp4%lCqE;!f1 zASO)gu;O0l&3qS}In?ho^Im?*7VIW7fy?rjs*)1_rr^VT2aDQk_H%G`HO_OBI=;)0 zMO8(4+hVRm3q|KvYAH#sKNyg&`tL+XQiAOT{^Y9~Z}xeqYX4G73u0_K|7Y>tXjZRz z8s`$UZ%=cc>38y(YL=#xE}!?bsQ(N{R<x$sUrG=8!!>oojJ~InFQ}P4aPUl&`lOm* z{8R9Zx9);dozp+<xMFH9d}k}u8?let(R?R!HICVz=va1$J9|bVuSaTGtpdlTmT!(> zTyGoO7@F);7CfCHttmA1%LJo?nPTq0yB{sS`BBHaep9U5b*94(KP0C6y6~?2?NUCO zLE6Y=G0(K4r5&m1LcK;Gf)n)EEX$LR9$Dm8F#S>Z%DLNLRd*D{uUKjlYZb%D6#n+F zYvK7Dt$n{rW~p5`b5-1?TQg$E+9^L9?-aE*c^O16tg-)S^57lQIYoc%F1^A7XMzG2 ze(|}@B#_9pzlCRog8m}5l%Qh@r`1FcX&;!O!{{uLq1d?a*n=+PFSS0bYromAys5-| zQ@dfcyG9c82~GPWi%uL~cYmV>tHH%9OfMP~CPk+NME;tfd}_g&X#MjHzgipDMQHBa zHp@^j;6lx$NAn-4c6AvY*#C+<Bhk0_?}6poA`Fri4bd~IH2*EqJI$e^@$ebn%*_nF z1_w_ce97+8c}8HHRC9Uz548ka#wMBYR|ZQLeLmrmk!*LdJXe!vo<Oh^yWt{Eo*5Az zoE2KR7j6$onkMJ5u`q_kDy4qOihJ9d7=z<D7N))AZmE9YxBNYe-sj~fwU)}yP?(c! z|KhkQk1k6{xabEjwzdMJXI<YPOub|EA(`oB?F5#~ikx+Zdrk-VHB=~0y?fwc`3+}Q zehx3U(3gcJ7k+X~UHZE%;lWaS4`%ZhhHfHK4;(LuZ4A<^6=B?c#rAyL(&-1L@Lr2` z-(m6g>rAh3zQjP+1s4MrJno+)BX~vUEc;ijV1uYFH4~J>BxL>TJv?@;{x&tCv3wG* z3I8p@=Ax_YKPTu$@gH$f<hkvboYJEc!JOxrE)|@@aK`FGgTvcqZ7YWba<(%%b(j`T zIKM+O%+4uQ#ix48X0{W{R`9+!K4m3?Av4$Hb|*H+E!&;%>`<uB5SiS*eRU^;6IaN? zkVeg4M{16LtU020L8-*8Z0%pK7UtxXy|Ij4t(kdZ2lRh7dKQ^+zr4`9iFuFRA~R7H z!$n_SOq<D2CijSE_byehi3;oFH|jL(F-Y$%IjFEOFk79WcV>j<lWEiaH_Ut*V90pY z%HELKv;E1xMQrhQOPLLgq8{-^>10W!1VsBKdN(vD9%gC`SjOizyEQ8G-wVd2&b<$Q zPh;l4q%kqxWpVfJJPw976ON3%f8_6M2%39n#nPg-TYC>Ky8PzIg1<ZGUw^QM<JM!Q z$9zm@3mg`7e%QgXz}YgTD?~=c$o)lcW5uUAU5QR@xwbs#Q|mRG|1}jG?4EE+bnBna zlx%a??*9xSVWH}GqE6r5te0K8GGj?<>c(y<9xv8e=d{^lCpC(S--_AsYF?mYZb?H) zJpa-oW;F|Q@-7}>+%!S&P*a-hV`c&7>fd$=mnC$Y#YLGdbklFP^R!*q>^j4{V~+iT z)<kP-CXPsR1H%J{6&FV59jO#(n*Yd)$7{+gjwG9PCepVBnv;L1PF?f2U+8LSzMx=r z$&+~XfUWDFHF!lbGTq&^S5WBgluwEa5*6aCBpY|Fe$u3U>UVvh-2R5?dq2L^4{AS< z%G>l<VR7K2b?0N9#frsVCzNqqeej<lAY%G~$#(XSSIpJjF4NgQ;m1N9t<$|z^%tJ~ zqdJq_QtR>cJtazEN;8<wxTY>KK3jL`@I?8)9oxOOCts;bIAEUn!A|MXh7ZbN0e?3z zZ#wYh!u^Cp`eIIPv$<;~GOYZ^;;*<MQuX~y&QR9GVqRAb+YY|^iq4+P3S0Nw5MZvB z-w~pH&dFg~?^>oXu7)X&#}vXB1<3S7+`0Ck(dqUhEy1`+ccS!vwij+aw5w(QP1!>d zV$r9}7&#iG<}plD41VPH?bLpbCk3@Pf=y=z7Nu**tHj=0z{NMu#ps?+TVBi$S1q%n zuVfV#EL+NSPtlNnovowOCkIi#e6JaaZgF=HEY(&}%Pio0d}dd(EAx}jj{>y2H@ciz zvR00TH#AAGCG0@-6_;g72PB?polUwT@31o=W*-yNb2SqtH5Ym1JEE%Bn_^9Qckt{N z&3sbT*u}!Ij`hU;6*jy%y{neb(SN1Nw)wk&)?q8dzi0NFH1R3B&&WCLQ^j#}!siPv z)+@t4sdhD=XR=oeP)(7H=?_Rfy^KSgIksbMe1yX?*N3O)#4K8_dFb>T7vEDen)a8a zeVDdQVCL%D#XDni_p|>#mXRl@eXeG~#hL>CnJx=5N(8vXn^>zPLZ5TiOR-sY-jkdn zYFBVH+}24+hpRau@Y~91e{C18y8pExYh7nD!-0tVC*NhLpD|p$A->a?tIyz!;%q*) z$RpY^o%zChJ0{zuB-(he?0gWU{6H)<>r-XNWe)b(Ii_(DF<Tgl5)7u=ztrFgy%7DF zp-gAJB1ha584=+tJX-lIM`T;Q984=6p36VfH)uO7$jd!NOHqGC(|$hg*0c>x8<&SX z2wA%^?@q_mJ8|VaA^#aV>>e1bd%k7!9QjLpYnFQ#*rgc#J0=)@guAiORY|Ceb&J!N z(BKJ`(;VXzsy+(4e{m5@Jm9mbs;z5N`>80a_!L)>qDH=?dwd<!EdO-eFxsD#**L*X z=kmnqUNbUOIVT7nvwPe*c}r94cQXMN=D7=}L^JkGpVO%Hp!T4^^8A@mnqMc~>t^1# z|CWN3JM%M#8Iw;4SDk<0r1sEnI?F-T2bU{kmP!0p(cQ6c1y^86wWHzl8^^nO98Ooy z?N}gqry;z`i6Q)-*Q^;)8ID0_ml!8qzoBqwzQEK;3wISApL|9%*M))O>gs>YEAQ8O zx`aBO5m<Zq)6At(b(bbBzv4aX_KchZZYP&AZ?<k&QSd?Hl3IfC7TfabqB9&TPKoVk zPr0KicJ}65rc+V<+H0JW{$}{-FdSl;_UiH`-i<qRFUMzYkr&Z3?M!E2)i38h!Wd@t zNM-MyPiJJeGH_|@|M|+nC3f$!;TF@4f>QBk9BfX7vVUpX6S>PhH1U@}sI<X4kJ#lp zysxS`^Ilk<NcP$A??1!J&|rP#r|cE#A4+xS-Kg*hJ#hMws82Y<9WCx<^FOcj$$ZS2 zk@cS;WH)ow6Pr6(PdC4rF7RVn+Qk0n;&NZQbC~<M8MwJ!MR@=AM7Crzu-?DX^3d;( z(x!)bN?j5Q&a7(|x$L{?N?_=>BMjaiGkO;;Fj$#7k2BHt{Ley>4o}5M_wXzx^I+~h zr$sG~2p##HamJ><NbZsA>-qWudUKBD`5ve?|4=#I!LCq8BU6D((opZo&kHk?9&QV) z4>0#^jfq<3$N6#5Or7+m)K&{FBS$waCgFC59T%-C53EdhuEg{>T(AFK{Kjk!?#K)S zb;h5L`Fr*q@!GodOkla~`~bnnTk0RhEp?tZabEeC_8;$JR_2>e64Ep<ce7V`#p1N{ zrOwR?EddM073LE-b{237&6RAO8Qs9JyH(-zqfWu(@46!QIg6f()d)52-zSl|QTa{p ztM?~XTwTm^u3)CCS)<BstAw*})LkEanX=3B!heR~EdF0SrLLll+E14+**R%R)JvCK zhO^lpjDz;ClCb{K7THyQVegp>QZ}7VOP5)>a&MitD018WlMHK4DDZfnpL|8DyZpHS zx(AO;!+T~I{8GBr{a0Yq%-hdrFa^DvxIuglYuVpLQT{E`SEQ!dpJ-YT_o!%5v%H~J z$)8C-k8s~yQDCSUa_>O>3eU`45fAPx<*N@Y2%GOQO|7Qsk9Ppa+}0^)PO=?(JULIn zQT>udS3!cvY@JTsX&b`Xw?uLIxb5#02|C$#eg<<1>kQ`pB(v3%<%Aan-gp$bbwN~W z{1=5e3zmxh<*?`cWPgP9X(&UxoI*TnzFhK!$jT=>_FXu-W`}XKfb6u@Ka``nr!Tmv zbkTDklZoC}nKa)o8<g_Xlp23K{#$sA{e{<b?HAjGLzOqQo3Po<b3MRX_`zuhU!GTE zjKIMXQH`(|ey*me53_i@H|BkkoOU>M!;|wFUlMQ6{k2SmnSHjhf2NPv_0RH6eSv}{ zS#uX&m44B*seALLJRP(D3@mHc9L~G2t?~EapVLH^JL+7E-4&8-p!&l*c*go9(cn!i zPtp!t{PLqaAy;{taPOoqB3>1adecmO@9yMG;;OgU=+bHQpF#8r*XKj5eG?8WTA1`~ z{jI16ks+e583fC2Z{rqYE4U%Le(G_@@TPSYhyN7{NFHQNiRoa9wQrRySiMNwLMimf zF9+HG49YwQOr4Hxi!ow02<fqE=HkfaFn`ivsU0A_jQ5?>9>+-kx>Tl|gI_AXbZnf& zaO><Y0SQO{OWe^pSDvlB!Lh<IYu=d+(Nag)KUXwq1!=ezPe_`1TW;yZm>vHaR8%K7 zPT#rkW|G*H<U0PqtTSv%>-ax;?_}Pu;uK=HWXtN4+*Q>(st!o@z4NY~8o5Dn)22Ty zI)&>ei7|<#A5uK5?c;l@nnfgK?TyCbuH_l3nSVR1kFh5CeUO|aton>aYC#WE-bd;3 z>8JR8PY0|z?83cj^S`t_u5%1VvGdyWPKYu}@7SZb!n{LMW0mH+s3^%NTBefGic?Q# zN3=5r*k~E38a(;VJ@Mzn#u*1V)FMy(S@0%(qSBKa?4Amj3u1RWcYHh<x0JQrUL`tc z5i|D}B^?d>owFygPdFI0S6@*>XW@1g(M_`o<dO@SUpX+B{ONzCs-AzvBY*vqRIbMt zVx)|&FerS!DIv18;fBYy4+5ML$&P}m{dcCB&pJOTvbOSD>-GGbX48(lgqrT>u(+!E zQbgHF`oo@Zz4_ldmiOGd-!WzBjW?$XnGYoYIqmiAeOsp3-UlBUb8Va+@QBt-m1f=k zPD$z8{sY~u^Z$x!1vLM33Ah@*QP=g>U&X4YQ`q-wH9uPPu8Hm4gGQ$MA`SNxp*<6R zOH_H8&H6HhLx3?bBS}qb@lytk{|qwkGgkLcXYEKbSUi#844>J{lR{gMcph=P&Hrl} zgZK}HrExVJv(Fn(yJ;+;#qMyuqmV7ZY{x&3c;SvWb_u#p-~TGI2L=eTXq$3vUfS5H zb@`Hp>>d}zy#3FQFim;?P|8cdpu)jsY1@LIs#=ro-()bzI}p$66mTTKG9YKULKCZ5 zC5O4uZ`Vy1yH@Th`_@(wbwIQ+|B{_WrCwz2tGoI~gue1hS=4y#4eYw0CN(cyinDB0 z6%*@nh6j?RdOkr@jSP5LZ(eQ6jQ;5r8TH#$(}#J<o-#x3DXg=%AMg>GdpPv^3ENWR zhJ$yQRrws7Sy!Dul@_(Id-4t8WF{8z&Ce6#jrH2NO%wh~q{KyNvL2nc^u<o+`FnaF z#l}BpyJGKTav<(ty&~gTZx(J{L!L&z2h0rn(^w;SH#+$gaJMG>>1^jsZxYeWPg1h< zW()`}V7jtQ#`iyi$~M-*w;ZvVT=|)2n1TZCxw>;n)^RLln!?K(^`D_BP4scg((Sws zD|nVYV4rhmV*aDZ{|u^4l`&6#bk?xe2s*B@Y2n>`oI{&+6UW_OJqk84qOT%0xt~yF zeWRdS$aCoZw;B8l+#S8V?_U}_`+6oA@Ren;XYOQScrF)^qB`&H6{b_BWjiiTo&Vv0 z=FxfF!BZc;WqPb&JMm_l-|>z)ozL_lp8RJhkc~A{=$|2cw!iSNcZL|pikK7r0juKP z-Sh6+o|`0`7uK*l>cEXl?RFQm=bkFq*rl`CVnXyr#?#RX7Ch1p9@}_192fG&P24-r zLC$J=0+(Gt*t0urs#^tO0#X_obZh4=n0oZ*9b=tii;6GQ7ksc^vdz@_SU^Ux1luX+ zw6=X5LEX#$<fU9bv!OTglhW3!K5yS1UV1bqxLqx__2U}{HIqeeQZv0)FtI2GHO#AO zbW#XT{Hp0xK0&<Th+XqbTkl<(|I&Dtzvwu@V<qTZ@mq=I&V2O_PUkOv0)op^oNhNC z6jRAR$b4X~j*7wRf-MUbC-tx%jk+Gd*<QxDU2UFA(ZXX=x|cQ_ek0Ihe^)nX_ixvn z*Y$R3&JUcve6m@fk#~aqL0Pn*nD|te_7!%DTr>9wX6u}jyv2THliptzt`HX{`JzX{ zV!H%Z=A``NS;YOPWeNKkRgX;)=X<o2WhI@OLbxBl>1xqeI?(C**kD8C1EI4)|0Y&Q z)gGU*u)xD`OV*`y?*2~RUpscMc=6&*c*k$8(_3yGj#cb?zo7ps)04mb9Z!txJ1ieu zeao|)t1`ht;Jd(u=N$`jGA=6xtjw<yYR%ulnHLp#vBNOuiJJZKL{V-BjyO4vC*RZ4 zlGkeAeq^rtLrGh-ge_K%v2#|k;=hd(!+jf{8Cc1&D7W5Su)@;CYf=9Wy#_U=RVo)Y zIULXrkXtBOp02SpDr%=)ntLGEhKe_;U)NRfJuYQ+^VAS6UEV%@hjF&_$v3Z9FRLvO z$eJd!vL=T|<Y;~J<Ie81M_0RARQRvCO3r@Za8ByD!juTnj~m$}S-vG(_&BO4F{&6n zc<)#^XX^Hp-Mop%6{d=Yirm@tVv5rJ8}-2luG&moBYB1EWNriRYW^)kuhhJ@iLSbL z*t(T5{;Y7{e}<C+Mb6IKZ-r*8a(H(nR&gWi+JY6aE1ooR?_VgAvERCD$Ch0@2YIaz z9Eh0kMPOCNwF>13hkf1u79OylDZsevPR>eCR@>)aET_dhwDVZ9XhSgH-gydP&wtF| z3g!-4Z+9}_hTa>`NRFwzq3MV9f3sMg$>CsKWw}K(Izu`&DZ<s5WmS%isu`P1hV!#F zT`j|mIVLTlb6G^6Tzw_A`q=^ROlB8rhsflE%hHv4zS%ztI<fgi>+Lv}3%Lo28{M`z zT)ov?<2}{;PX|-$4P!R0OOLeG!hV>Vu*Gm`^f)YbSp1~bX98<({40j^8Acodo1gYH zt>2;Q?Pl>==76`_#mFW(DYpFo3<rF#PgmX7sOK90wBy~eM%PRK1Rm->Six}0LPXy; zPUwZR=Z0d#by?>ZadKB~(rUVKrGeX7g8QA!`Gpc^{FBNU?f9NPbo%#XNhqJf{PUMM zqK~YQG5T_D<)dXz`yUqs+a9|5=qrOJ*X=2+vkiVvVOzn&pg6NaO}6C)zkpcHyg>0O zTrm~Dd#^r!W&1Tn*=WW+&ROrzf0<I4Rv(;UwxMe2J%zmePS*Ys6+Vt}Kb1Z$dS$S; z=YxWX)0_>;4CfcIz1aMsYkL4!Tvq@0d5fYBac<7g+1q8qu}~zg{-Cj59mhhSGZ`U9 zg|}}MoypRYf8u&z=MSOokf;*XhDkEKU%9f|ZU}CUnZV5~UgRLUJc8RXS41l`O=HW> zB&Rojd>KPMSf08m_-)f*QCP&>ysjW<%{gWt7U|lo7R~to3@!pv){E<mSz;bpW`8v_ zWi_AwS=2$<wSAABf(9#3mA8iB`V7;gZ#gk%E_x`5JYbEJpQvNtwxCpSo2`;j*!xWZ zT=!3SPe13tV*JnkPOjo3k=QH3fy)B8W<3dfI{&Y&my;1^v)!e)(sx*U^klme7z*0D z&SfwPtdY-5EaX|R_(NsOyf7Ax86To0Y{maNzUyLLHpM|P^j?jUXvKk@RSD$_VmjKY zf2($7|7SQZXz;}NT~MPVbIGp9Cz|vg?hDR4raVn8EVA3{hRD@rh99PCv;N|AQ;<6( z<E=1_v#Lau=~|?jb>m!*E};hp1P(Z{ZoQ)5(6k}!oXl>C)9s&BrOj8!O3teEW|ZA+ zzoP5ve&!W7Ykiz<eXKq6Gl+?G@lE3n`ScYW+urrxIJ2_*r#iEfWZVMAh8MzYZ-4ln zN;=kh@uv7(;}iR1T^Rg)82&w#<L>0oV64htD9jLBtLiBEn?*0Dr`z}HFU4wxXObHh zUaz0o9KxM9>GMj7OV7C-MfTrftQVQ46v?7DS&(&)&|LqMTHFs08M^%z$i47E$6&)+ zMx~eRPj$<lJ!EVAW_vW)OQS7&DYx5UrUlw2U;5r;ak8uaP-J_&`jUdf>9>I!?N*BR zJ)FFFc@v|Ip+oGn4Vrpqb3$|iUPVp3HfLX|>qJ@QsRuvJV9n>8vHjS&g#N%V`^2CJ z-8-J~FJu(9{m;Op#ZZ&_^CKHW@CTQBpY|+s<=XAG?(+O(?#AfG8G;O_dR&<*?*wjI zq_FM&L<7yoT%3&^w-f!YKT4lzJ;j}S|7V?3hARS2^#ldiA2f@XesbW!dx5J_3~Ss@ zujt?Q=yr3CeBr^Y@FkA1`(Hm(UU+!Je+Iz?CjFO!+`IVr67+=*TU`9k_BQ<}|Aw~< zUkNPZWZ?F7Tr#yWU?*G4N0HTWH@(fSJLagha=vj$<6>8{3UqDMKQTq*t;^p<n=9TZ zL>OGjd8M#*)AA>Cy4IHMD4MYLRP=fsKF5`TE6M~)PfUCNTEwvZt-KI#j>eP+&CZhq zX2mb4J?8qxW)*9$-wpOh>>jK888Wye-Y^wvr0`sg-{SIcieA8)1>C70*?&#pC=~Y5 z_c&_zz-jMv7rtj{SJL}AB7$GJ9n5B1quYAb@sq-(Y4e>FLMJt+^fJx4u;XGIgUYc- zTn4QciJ6fv<nLrA-C*Nmu2I-_-$qy?enH0!H^qdg-yFAkem4F+5`U1zA*_iZCA#5< zxv1>4{|qb#C(YpT+MlF5<4kl#il|89U*A_vYoqM9WGwO$%)d~3=8W8e?)@&3^&N!{ zcYLRw6patPI3*!)i|Cr){IOnamIZQm4^-cuq$KwCuXE<^q%GzjyqQ#(ZiUS=5?1v8 z$ebhLz#Zf0J|kI2bGDJ#;bfZ*9)_~-x+%>W)*2QU8aA3PNdMJwV2!m>YiJ?srB6+Z zr1=Xzb2)|EsWF=D(BeCL<NHCbh?RZ8g?baT<|o)Vmfz9j)H*il28X-*pAgsDdsB_X zN?vpX1+*^x(71-Pnk8SrMj&>>ohNCUp<T;UayRWWQ$ON$$K=z$WljAv-{~6v>2x@G z{E(7sU|q|;`wla?p58dpY82<-uY6}!PoRU{9@p(L${UVNa9g_O$AKK~<tk5Bh&KPd zY_%XI>}dQ#xezxE4#CHbpB&ch-0Z|T&HChDS5?M37mkI`Bs13JIc41Zm!P4w?~ql= z&XS}FSAPmtgtI#`nEX3_W)XMYO)l=_Pb(vK*FLT4$l1?er=}5d(T3-O{(?gv`1oIR zsV+IAcaHr<yK7s4Dr4BgDlfCNXz{@0I{}mb_#FBoUe@FHfpuM4tCC)H(}f?i`_c~n zJL$0SAY;~!>m9AV-UY5JR&gf^oEEtg+QzY^zNE5;BS0vRS?oK9L7s!AKU2K&1eRwJ zy96b;E*Y0kl45PY%`OmbEi^?-mSb|_-$~cHzvu;JK0hhw6<!eRf2qs-7ZbOOyHj9i z@DrmS(yKSV<CyaLRM@9pj$;?L9luiImHA}K13j_Au4$42i~e*bZ(9)cl=)UVYfQE3 zqLT`{bPqJ<^R#G6PU1arXgB+t>8th21hTdqNnQRS!a&O|V5iT9xFaX`9$>mE(eUZ9 zyA$uW2;c6F?WWfc@oMUo?Od{RM`6u+mEylH6*GGedvVJo1|5Dg{qplmBCP9=Ov&H; zq>=f>kq|8@*Yisz8Vb!})_LlGqTf?9)n38xW3p1mTFockY(1hvI`6+SY&fy1^^Sll z*V>~Kr+@3}U43DCM$KWvfIEK64l^#V=x(`G#l%p=DZ%F>n{jH>VeRMqUuG!rR46TA ztZCVpwSP;ja?X0CxY_ehJrLON%S-PBZ{S}?oz-u(-U)2FxX(gW&;6C^db2$f#Qrl( z?rgZuBKJe2fh)*izFPC~&a7D54n^K-p_QRux>J1@++=&UomDDwf2o+R?c-;fp?h}n z2WV@3lP_RZ?LW~xYyEeDY46|4`tCWRxaNQYcY$-$@)Hf)q`%GJy5qU~U|9Ep$b_Ri z%tZFHNXHnyXwdlaf@NiCIfE|qwv(q*)Gn>~)}XmqLhbNBJvFydEyiiLj9Hq02wUD< zJmKgxC)v%<JJif-8M!%DbMXsa+0z?#ldI2bVY$lFDJl8<9~3T^EwY%Hu4i|$e779y zfq8Q}ttRNb&ZynL;*slJmV@y-w*Q*y=&-w}Rdf49=_6Nb<~^&uzw@8sO8rj1YoAZP zVk`=la4bHsgLUarBYmTFanoKg?LV(J*ZE1qLjG6Y8Yzb=IZlY>+6ru74q}a*5`2j@ zHIFwcT9YYnV)Uv5lEr$9*8LG!kax`>Q;TbP`NS)cIg9Otl_n=|Q+Sx?z`gpFLLlS9 z15*O09eY!sk`eJS{=*ffiMvmHXVL!L=I}O}@5r&b4DYUuHyo6j8C2cu0ycfx(KMm! zoN@oVfSnJvZ_>zG7kJkDz_pik66=$!*VkQGk)70W>B-H`oS@$)o4b8Faum6np6zpr z&P|Irv-P*ro}*`uIZY|Bdl>p{gBIInm#v$sS$41b&v53b#TsP;&mHV9MV%By?dL=W zZ(6RQxMur*h86n~nI^1FW82Z$K7;Gk@(h+IwT7ZCpM-2pp7N!CnCNKAa4|&eKf~dG z?IQnNmI#$pcLvvg>N+hmG3@?_w1iBtO`OcLPd1l+sPc|7n$e`t`om2kza#0Yio?+* zJc*u4`fnz<P3hw831WATyBw@3wpQYX{i9%!iib0rSh!Pyq<M?2HU&JnfAX)3Vf#(# z0LPz#468aM?*6h%n0Mw>i(b5vWv-&X$0tp;xk4*LHow(Y2@>vX;r-8WnC*I0rBGwz z46dop2BO9OM^5XCY|Q<zh4aFFo#O>QGrPGR+dA$!|LWbGArPgLXQLUacq05yOVG+a z7u^FS7^<g)<zC*%u-JLWic{APJMB6BNVB0>><^C%cj68ytJ_Uc#||u?{A=c_i!Wx% z2rOR`^o8~Ae1X2sf6EgR8FcqKMNNo5H|6mB$FD+~ZXNiyXh!-Qw}lPMIaUbIDe(#3 z^4+>Mcq1!ok3z8Wujc$2VOt+h<kj*~&6eZ1o3^>kXMI@C+K(5xQ`&v`J5wT7J4IYg z61ULGS-yhv&fA4zY4=s4R_$)cFmc-XOf7216Ng<df={$K&X4ekadFb%Ik4;Mj@8_! zxM%Ti*&$xEQfpRy<^=b+_B%VP=JGB7z|Fx>nUKBPL*BcmW#a+m1zg`^9K??-zoz+B z-<UDGdxw@uYNvPE#TgBYUNLO`%+)l#aKTjVw0%4d?Afb3%MA7(WI25}_2`uq0lXWW zrIN*(_!*Mp&q*p?ntY;%`T4>RKHtJO7QVf9xA_*+o)d{bmVDJbdX2rXc7utK(so-% zL9wQd+`H^I3T-lR`lq`8#t|jmr<XL6YA)pKDlq83Fgl<;Lz7$b!Wr&WdvX*Q#HF`v zKk%(Xa1+a!H7PN=Etc-}fku}Dt0xQk^d7a?o3U$G!GkGtUbgkzm>SLSQvThvUAL$1 z4rjQX{l?&HZbQuSGY&x;zfFA<`_q2K!p~-|uP-h?sinGVrxsVb=(i~mbu3z!GQQ1z zyt(m4yMp_OULccb349tn%;YyZ)(?D2%(-W#W{)Cm#Z_>5H~CcxRgWZlv2fv%@= zZ#`be=00U(&4e@hLF)xCKK$--<3)kmDU-KFy~mHqxC(|c`X2qpBXmRaB9oroK@Nij zH^V;Y?n;R1aoXxU|H@_m7>U)-8oz}*C1@<{&|<Hj&?zAL(|$z~%e;v*?%SSPTAU%M zGLMnb-;n(dPx;IXU-?eTPyW^P`JdC$&)Vv3i_B)^F-(g&|G}tj+Hv-_gvuCYm(0(V zb_+Mk2i9L%8MeAbJJWXJo$ybsPm}-YNKCI+aWUPo?ED9BZG~qnX0bb*Ztito-uTmB zc}0Ll;nR*Amp`TQ=J5%u%O{>W@RDoNE3T!j_YxfIJZD_(f7B^;il0TcEyl$DgxW-H ztv2^~hJ;TiKS(YqJt20bD#i85;R9((w=K@I=`1cxkn`~DQ_=QhixRq0Ht(oc?lc3P zX_o8<bzH??^=Qu*<PvcEqUz<g^5(06HFvrB776TFdC`n#53^{@2^MCZH%{xWU1DsI zx8z?T<`<#5iSgX&f6Mw<6|+L@I=mKyA5yq1(8Ok>C9(9N$Mh2YF8&h-BQ4hQ9=xDA zJ?!9e|3X$Vy<g1Fm@ckk-gM{Vt))z|VIrTe97wn$IQi@?ZBG8x*HXDQEWRkn7ynV$ z;qU{erulE|k2oyn344)H&G)HmXZ@bDFBoKRW-x5eP{@78nx%5ik>Nw@#$8TdV-98+ zz23+mmvw_##P#%znge<=GTas){xbx-y8fK1b8yOX<GCH*8CN{u;Eq)c`|zpdL`;Pk z*Xb;4qXXh=I>dyUq&VE~xm=vKzCfh1bW_BtxQ;~!H0qlfEtawF`O$P{>YEsEsrUyS zD_Ql<8wT$7Zg73{%qb{KQfbo4om)N#WQYlRTohn>#_D>Gf!iY`aDxpGm&o}SQx2cu zR<2okTD*M|Q<aiX`-_&wQ~`knjVi~U3BI_HAk(G!S!%1E@`nD{ZM9dbnbTRnN>rZd z?hWyN!<q2-gHmj_U$wj4fkq$kyY*MRkJcL$Pr6maS$IS2Y0be6+xJBNQ%y<#FoQSc zm$O%g^NkNiuNE7~$%KF8;#&V<g=PllEA?{zrWo_<3*{K&0~TDYDB`zXdhGVk16~)L zJ_uy$KX+_ABxjcXt2ZfzD_(HzinicRWzEWP`(5dbb^bdRy%%F+SZUs%-l)4^g<RLc zdy#EBj=Kaz)%JaS(fz@0(WkbEbn9-*D~6K${o=psENt!w56RwW9;m|Yy)#dIMg_;O zz{eYVKZ)_kY~ZltXnN@H)R7T2<AAef@{J>>?ke6(f2n;miMJzd<t@JT59I|k1PV3M zOr-C$GPIlIUhMytAZ7K#=Uvd752~NOE<gG4%DRcu8*?1PBu>OgMR&N}dh%@w|AXnG zp|d}QUkOvlwpLuZw9<OVwWW+ERaK4`SYL`rue}h+d-ZX^4b!B#GjA8_^DsL1?5pwS zj!tAcFyXD^e})~sy!<yJdcyz3_)WECIS?9t@y=eYsXz9=(mI{!ciQNj{sVW_%-V$= zMk_ZPoBa#WeZ4Mcf#I72f?*GIG+$g<%=<*u>0*5oN8%OTDSWmrMKcS86f$xwIkL@f zv1Bw|%yw0dG8a!ekf4^BayGsFS5s=9?8X(%BIg<zK3G?Km1p0WnsKsEI^AX2{09<2 zol@sm`ls7_1TgqdWbG()Qe7CIq{W=bwO63{K$ixG^dZ4-3Sw<ZixN-CYQ=Qi4&W(l zXoy;VDMqtaWJk2Fizef_2cFR}Wr`hL(RsgK<tS`5pX;<^&$-X`JGj<xNS4$b7c5;{ zyL3_4{Y@+;8qI1fwj3&!?WZ&tbIvTY`X&1JRMmtf(*InRHZm3keowfbe<^giK>DoD zPmQ=|*SmyeTUj}*m~wwZr{2ts5r&6dkCwMZY+c$Q`s{&Y(QW1v8ip&6&YxkWUU#zP zeZYbMzbeO~n|w~{6I#!#ZHV(&VfE+Ae}=$zu3HkD{Xh9HunwtVKQO&V&-ju?QU2{$ zv8rWH{(fW&E7yIt_(f&I>}%=Yg!U|b{pfMuyLrsIu?dX}KX%7|)H1C8J#AI@*I7p4 z7pJ6M=M{NSyZEsC#-PP_4@|oe@w?-&^+Q&fo8k;{UmRS5o{3M|wB_};`XeIMT@N>; z^|TpinCWx1?zvIZ68h4uMls;t4c3EeAI#DG&(J8Ou#u5<-Nu)!Hk}NPEE#V(y*)ef zlZ<{T9$IgBA^C~Yij7wsG6ke2O_*Yl&|tG?k5BBM7U8q+7R;59-?BM8>xXJs_7jfh z6L+{oET80hypFZ+)ar&=!Iff$jtYkzUj<xT9yh_{)1JvY_!3$pXRioMIwb9s_~?z& z*8A-&u~)ZB$w#v3CbLJkzj=SX(}^+uP}s(VE2;-rHH$vEt`R-Y`1kY;?Rl4Ov6ws* ziISK%X=Um4QyL|n-l9odnf()+nV&q-Qg-}%*J-Ud!;Rx}7?}PZ;Qihz#h$*zOY1D_ z1c_+Ljz_O@cbxb&^SjKvZHHIZ?(Jti9q#<j=)kLGjtudW7Ud|d`B`ps@cxF*P$9-c z_D&3&PVs99r5{sbp61{e_o~(8F<;vTv2{yT1vSLvCWdYJ@TGSHpN3R(?aF^kuf1kJ zmDZT|K(IAtnd^RmO{e}%+H`FCkp)%;g5Ezp!(;4DY-?j(_MNd|#gb{;C%823spT*e z*|6IAx3WX^j^^B2NrPvVO-VZDO>0jCUs9S<#F!oU(?MT#k%+k+2h#>lHg_Jq1@9sj zS6zv9ja$&cy@G|Cv5IByjd}^+Q|kkz@Ag!3CSAF%div3Ik8f9Wl<xmYV{Z<~`*8O{ z+d;?eX-scV3chP)%=|Vr?u?aMs@|!Xla7ZEnLS<6WwQ0idzQq{taH{bP}bYV-MHcU zCE2F;lM?tZyXd-==!Nv#Pn6cmVqs<bt<i8qe?yBIn@EiIC!;QnVg@PO4|0pzY<{Li z2AACvzmmW9-i6?e3XTicpA=hd@}GgBSH!So*U1A)b1(ntESMR}Et*;&nqL^Y#Ylhp zcb7ijU(@x?9&Od&vpM7Otx|Du@(d;sp1++A-aB{e+yB(C+L_zw!r|5M#J~Ql&8Z~! z2@#7Af94msx%`n*M#IVN)6O|xc~Jbsd&O#<B`O)a=N>X$KY?3QBJ;EEQyz7<^(S0k zS}`)M{$1@hQ`kP`xYC`H%5I(6zhkt_4AKrO_$AkGQrJD`*GD5mts)iI113$A?mDa& zp0Bc_y2885#kc=5XG(H&(!wxqXM>FGJ2WFDn8GeLdYd!Ooa(K2Kj`c0rXyUTGPit} z?K}LdH=lix(yLhk!Usk5!;kQHEcQBcVBrA+QJ)LOChaRk1u|~-O?23N?$Qg@8(gpd z9?>pKNi)q#Qx1A`S8a23`?Sl`7ARgnV0hGXdumhMdh;cU`C%q3Ob`Eg+->+N7-aaY z{fY^P{X)a8%oB#1yn#2xc4ucuYwT%1BV6vt@cOu5sKc6~+5>OC@waT^5@XE|7m?qg z9VV~*OliUO6FV-ZMraz@ryPuT=vbXxVBIA8<#fR1FAlygxf8j<!lDElJ@ejlCoavY z7rgRTIn~*&@MWySinR~^JzQL{AnMtUj?Q~m-bIPrEUIx;T`R}_-7Hw*#eRe76T7G7 zd6)2b@Km+#Jy5uLqvH{4;S-959p*n2oo0Si3tg&y@{x3Q{(@t-%yx0CI?xrR&O6yB z(vGF<cI&03Ym^*%87!Z6FZav|UzxRL-g&LoDNNj_XUlakMGI=)-K9GH&|#Z{;te-; z8uqQ>n7MGdjQ(HORWq%XQ!i_%c<*mwlPG9y-tVL^ZFYqc<KzDfOPCYgUrMq6VTnlC zn4$eyQbYCmAw}<*H)qR+D@&QoDydd${otq>CiKd%ehC-vzLrDMS_T3OQW|{%19oVc zZ;}5vT`cgKxaE=tL7B7dM>g#K=M-{X_Mmje7T2IvRg&o~jpgMJjh2^vnel45VD2qV z-doqXioG-=c(hr+O}&xmaJMNa?n@Hmwi&J^ztt>LY9u;RRx>~RxZ&#+@8%S%sOJY; zH2$=DWd>&P|LhcJy?!Q}Ltgv(BesK^STDE!TiRXXlsP4FP3+Oz(?U*Y|2w1f?nJ5T z{>Gs8b@TWORF~9$X$V`-_@lwF<A`PfUt+MrkEGDcW=y7T*<Vg;^FL~O5mR(nM~LtJ z1}7bEf6d77xo!#tJKq|)t$&ad+f^6zdUd_~ujWYS1M&fyevh|l{%7bn<SzWl{KuQ& zyxjdO8B6ZpVmR#Fkzi`}Aw<`?;oB8w!}3p6uULxHH+aq6AHWv9b;(M%*WAhOH??2X zJ8Bo{I8Tvk-n;sRoSKR9GY%7>IhhN4(|MS<vJP+*73#JAn6l|=&HO7H)b@G!`LS(C zP{_NO*s(r&hwfGBjWP+#6H5gYTNphz^|u^}R{hUloT?YM|4rM`KMemKRV~&j&f^f! zKhP08!M5{}Y_gWx1J>Xu+X*tO-EaO|`e;Voq`e&9KC|fc%kwau_IF7S-Th#iZcm}f zrv5u;?z21e8tOL+3B@NGXlgX3TNpk$)q8o~5x4XuL2>Mg(y}glxf?xRx92VY%OPEG zzs2ov{vSQD17T*a%gc_1+g}xJ3(z|-Q?6amK<@_c1rG*Zp$gTd&h{T13wAnko6P*y zy6J7(VZmpKQ^XG5-LYcBzQjrc%LL7`vwJ2UFx6ss{8r0Kv9j!6VsEhdlh&r9qi3vs z7_8V5!&$KEM%_XUuXTOwGkka75)*sb&+}O9Nf)=4hir%5v4!uN!%j}xddJ#HM!<EO z1=ESfZik5*(j0~VGc>PY%28uz<@yvO!E64(af0Vbuj3o}eR-xFI=YFAW$TNW*o1d_ zDWS|B!U{{jdF#AlJ#@S8Am~KzPni!|S&t<i+H0d^b>fHgl#AaFuV~#<KE+jYndK=J z9?ci7S&g?(2I?rpGxA96WAJ{<d*7?^2#-PA?J1FE_3URHGs1+<T7NKjmb5-l;6P*6 zwk&Z+zA{6XCC{RH{xeMR-ca(Pv3cg=Z1F`Y7JLU&9bEUba0R{p)}dH^zGZ<xRcr48 zu0xFJya$?&{b1R3b>Ac1hg{dXs=YTl{C0etme4J%yDu<n$BMuS6LR$1&Kxv!UBuJs z$mR1S>E!M@rVQ`K>8|X#?;;pCecButy{o3DzSGz2^oBb*cl%w$1)p#HDsyM2lZN;~ ziTrO$TD6WV#obu{Geo3adl;jj^~{)CAn%LAQ8&#^vraz?W0bL7+B&oN;m%ZthYVBl z7aY!s`t7|<$6&*L^$$uM52_cnZqOI_aN0{xQCR(?$jssfzs$HcwXgq*cJASyC~|W4 zn;Bkg?6p;ex(pp^Yv*t1WzRV1pm0RYHIVOwz!BS)N{gnmJQEIZHa^+^O3&gu>-}#% z8LYJvLN#A8|8Bi?VEH$thCP>WMNL?@+%-b;q|&U7g`ag-KQ41sn!d>VOo~b2iK>>k zs0QJk<{R`4c|0%k?QS*fy7}bCD}@}cdL{AXY34F#3@X=2sGUljHPtzxeuv<Swwk@A z`eLOYrnhN6ahfuTt4Q;l;BnL4>>W=|hDx1T!KT7pU@&#x%bT^{#%H!%=Knj>g<r2T zW?@d5>Pn40rZS8(raxG*<XNJl(6i_p0?ccJQW^I*si}7`MP~l<=zL|sxJIFoX?BUT z>gxSXX#wj$P1_m6>$y)<?DmwMxhfqxV!u@zQg757NCn6Xv^}@&{wjW?)wV-x(<D~M z-%GU_>pGX~#W#uQeEiulM_d1c!@?2+)<A}+b+cQwPHXo)ZH!vKg+)-ZsWqlK-=lSX zgvGIlkhQPg@>KIrs5z3!YqaUfF@~<N`>qvzMdunj-uoojJ(fAO`jWcaJ|>mvj9286 znEx}(Wan7?$;R#4)`kVF@)tFv<rgxDhKgL1H#9J;Gf}v~s&cR>rbzZc!>=zfFOE9s za+`|nu=uGs<>D2tvv(hEigdASsX4t~>{M9$n`Se{{8GuA_s$+L`_CZaCzzNf@?JnD z{Hqd=?)^)Qi`nmZtuU)SeV{zxmtKh$pXMF;pFABG4}RBpviL2_-!{jfTR*y_7T*+U zSkBL~L(F8sgzcqY6qxv4uso1F(0XXvj3<t58FD-txktHT)-9+n`pQ1R=0N^wheL*8 z8oAq<&dq=1t@`t0vFyt4tP`i+n9k;vlrmY^wDr!?{1(;@wF-6a-Hx?Bq6zg*<_jKG zCQbN|z!d78+{4|VtJLbZIDh34hSl{U{5tH1Ww}^SFG_aMn-_Go;()5gYj);md`lx@ zw$-tCP0D1IiMq!AeCGTt_w8Sq7>ZAv4zD^rNv~TwK+tW`-HzyRjiRWDA{~wkc@LH{ z8BFL2o?xf2(D}`;W|Q)_EK)L`{6ClpY*jhHv$M-!_b-J~rXwk(|6H8X+8h3yPH+Cs zw7S51ThoK3GZZSU)fyTS^%NphmstyXEp9Ps+wp0}G?smrdUq>|y)a?2x_R@4gVgmy zqMVCrjPB=HIL=`{6nL<0p5R)a`<aRR;tuO`i7OrT(s-*djbqutSwZnltOaqBEA<bu zDN4Oi)tcTC;<TEJSyUiTkAc6?(8*p&gd?x!4rqki)xe>o{-vC%G~2rV$tyd!7ERdq zS==v{@uN0}KBFVkzo3tce#<50J~R3`b9S~KNBxY3UAv3iIZ8iutcgEldU1x*TJ7)J z7SpOEbQdIUNP21fvMwt^;Td<UnEL|`jw&_=1xD|>NAWA-UR-2gU17?7MPXUV2?N#p zE1bFg9-47Xm3Z?m$ouh;D;G=OG8Rp__b<UKfWvEA;GE_wYk%6^zhdmi{M+eR@44xZ zgf~ue{Ls6tN2b3+&+XHbWwvTtwg;@zjpDJ|S?{yo*?9AvgJEAjmCFY3Z+@mFV$=Hj zRcguoOBp+yv?AnFb}~Lt)^9!&5Mr6`$|Zkiw^2`u-G_ZjC&Yevm9hHtKK;OZDtgld z(IlmoK;|9%y>jk#%&(W}t@Te7R@nK|(JV<vGW3S3gy;|D__7#b@vs=F3me;|7Rh;V z-#IAiwX11cw)Pd7CmS1%`=uXb-C)n8863_c<~vU?W0AxQ7p5gW4_}G0x}=}_&#+=c zxZb1OUuE5n6AZY1w=MKF(Ej*zZK{LBS6g9*tA7=^n^Sz6_+M%;yT#qVQmB8ODgMou zQ$1o$b`3`a3id5B>+#*c#8IM~B`L-ARdd~;0OxxeY9V`PR+%*TTxd*HV_!Za*n7pg z1Dlv6mmc`f5ZD#KrzNpecDK9J;y3jHEi*4qn7#GNn`!#(H|&qZocw4|$$!VE^PH&J zl#h=rjsD3ST0H&WDt2fy*B++to5FI>{@uTV(RnrZ?%BT_7COv$lve+swSQUv$`Ia< z2U;QmzX}~y-5{pBW#${lq8KM1@f)d)jVr=6eE!7E>G`*eEg-DXM?WK9e`eC9H)*Mr zvD>&By=G)IPV>mPd5<Nh^#_N5s0G{egkm0Ei!FLKhbBbrV4QCj{MTJqA#tzI$?b1> z*VK#b74%N{<F!9y(gTs79EsLZ(lZk7>?mEH$h)ZXHuLRU=^iUe*lZ^2pVX_AbJ^G| zuzZJs$?bzuvS~~PJM}vEcWOCYu~9bEF>=>UlyhtA@wzgnNOjHY88KeY3;r{#oVdGw z=Av|&CNm>9LD2%GhuSZu&knl9{4e3NBM)o$xB4Rw-9Fx}^-|c)?_~7g&eB|FnQ7~s zA~YEHavvA$`nJErSabK?e-rbWvKRuc<tN@fqWAfyq}%$#w-%h0dzL1|P_jvVQgnS& ztkVpw>$yr?x>q=lZq}N;`i!0ebKbA+DaU)K8-_-;9h$t3zc4%L!JTaV3})|ICu3J( z1*HPZW({4gM<ROlO;Lw_{HzcB{I#Jmv@zsh!I{VQ9-3|)tXJQ~GVF<!OBI}G*SX1J z%3_HnMn)TYjLuAZu+Znm<!5@VdQ68H4{j`si#VnB{6ckK`Scsg)2GF(?fevT=fUk~ ztksUJH{C2)l(#H9Vxf0@iPOc(PevP@e>h!{+{5tM%4OOz`-3_QbCMfXrBb$-gzZbv zSn@+4W%J?PjZ1eNS5jUqVAVcHZqxqFGZr}7E`3$Vn8>(-jbC8#w5Pd+410IH=#?m_ zP+}}Az7xD9s>n@m#v8YZ9UK~qA56(z{@R<%ZQbGh#S90yjMpvIxpARNUZB8;Np${~ zW;Gs;iCca(?%Hm^z4yUOV}?JBT|q6MgxZ{ranDKrBY0}x5gxb23^GXz3R3?0ztS_= z(J@6KB-rwS{j&(`#S9<%yU$3omV9u$BIC6{p^jw%lilMPju*bUERb|Q@vdZ*<5~6@ zf{gO-D%zapq(9W!!vD*_A)wA<S4&KZRl+GwGvPhbXQyzPO`4;B=E31Ng-h2s9Pz&; zbbk}?j6TNQyO~z|f9jjK{*>z4IXY{y|90$G`+GPrRB!Fcga(aoLf@jUR;o3r2<fln zS$4xw=xHdsz2m>6)_n_}Yo2FW$01eY^L@*IhL(GR9|X*%eo#+N*^_a3p{}Dh%e6m6 zk_B!Lxu!IzcCRp$x_$6j?9{LY+gyC-@XxH#muKiOi<{JR`ai?zMzfsV|17(jav8ET zvZ_1No2M)P>bf+|WAClM2XgbjHJR;Ub(LwIps;LhU(TEe{uyjx>ZN^3r>5neew3=w z=OUHFDyhc0=0wH`6~>FZPbsi48cNHjo@R4>;IP<!iG%U}CiOJ=jH%iU7f*y$#;lTP z`=_vKZPhcrmFL_Ngy!qiDMp(7mRl8i<m0!G1{w^<bn_O9ZnqO=%sqD~!-vP3=fJ6H z(Z+(I`QMV*y#){2c*mVOKP8mAo+&k;f%DOWi#Y)g_$OI4PGD|a>38VBqILgLI0CDg z&nz*VbC7qF{D+<-?saRK8@;p+9M%2t)7Z{fq>O**0i&+_D>6=P-O01!jqQTzLF>Pq znOSf|!t~Jtju(xG7mD4T`oU>c^yEjZ&rY$j=DIGHDmM7~*=0@2o+yP1@ynO;wca%{ z%Y1OyaCx$;tBB1%4~3~eCmgw-*~Ikwsdwa}XA0-ilzNW+KF(gj#KH6|Bj7HNLim&) z4z1ZNs~69^a3m(SeoBU9b34;jxyE;4Z_eIGmz#7>Rd~@yJ=qE3+F>H%>i-!$v?8a; zObik_yXP3|#&xUJPSvjv;;)c@#JMK>$<JQTThd`AA@>d6@L%zgn*Wq5gsuKT7av2z zyZcN*4g9hTB3SJ|J(w<1DJssB{AA-=&1J{$obfS`%91<r<s;J*?K6^}QY-XdC{J7} zohX>)ox?G8Ba`$msl2M691Pmi`U8VRJ#xOspHOA={mQb$zuDyI6_eSKQ~FxOS&x2O z(R5GmEu)jfx72B3n@>!14XST4cTia0{r8VsxjLh?TUPUl_yZ1#xtFw6s|(HqE{UpW zQsVf@;&f%@be9m$oh+-&ww(W@RFK@wx%E{4O+EV#9jEj5oQ+dYX~YX8yQ+U{P}sk; z<G5qLQPbLZB^iIOC--M^ZCxUIt0DNGxt7Vo)r+{Mb?phrm}1~)xnY75V{4p1m0b$+ z(FfmId3Ur(GCgW=QEi$p)esqNcR@rWdV`~O%`LXw_Zzxi{%O;S=QDo3Lg-AR!^6_W z$B%WhC$eo)VTgFdEiBfnCEyk7V30a(j<}Bg9_~9T=V~6Yz26jjILhn5*J-C+EZzuM zSC!eET4UzW5^A5Jn!4-=qs<O(8R^*vg)3HwOj#w^w3%U+^hO@mKSc^G%X+82TC|Ht z_uwm|?H{#5_45vV4m_9rOYj5Z98PW3x|VFN6`SrHm3dOi!C3sJgZ)@QXvyR?f>YQ3 zI-+nX;8Y9Sv;b-T6Oz7XH)aKDX8dR9GEdzgDO=2TlxhDFrs;beLl$zc_c-uj^<jYk zF9(_aJDn@`88`)5GoSJB&9IhnIM9%+#Nu{X(LYYv*|H@)XF>d_z5ZL4*d7f|2%pdv z66)93T6>@WUDURdANsh=S7d01pKw=8d$dZAr~50zbhAaTf9R<nsK4O!V~%W-THXh~ zlk<**9#G5?KYAcx@tcJ+rb+xg5D@vM=Aek{7kNSTbdxtbQuY2b)QaWyU36h&C}V73 zv~Tz|Ey_*zV9}!HD@v<>U3y%=@#x}r<JAwFb9MA0^Ou}y`R%y*D$_I#hK7d`m24@2 z@h&U74lUEX<B<MdDeOPPVUhSW&dqN<OxL%w2!<_lbU1!Wp(*{sSLx8~rl`}|-mYQG zE~qRF)jKG_%lyEJwQYiKPC@ds6os;HoosItnht9DUP$Cx!lv6jC)RPcIB(Xy#Y&f$ zR@rxHNjzoJo$*(3UUZ0frr|pd!Ki#!w<$?|9t^Q2O$&8@3AmPia*WcMvdXO^WXcuS zZ9XOZfm{r88$W6{tan<l?R4R#0EPW5A<}+F{xb+1Xsu&1=)dAFBDD5KXTq1Jn@PgQ zn8WgZ$mcx{NxRKG`?Gn|h2nb8y0dRjRIQl4a``D1!I~p0PDM@I;J{J#lPzHSU8Z|a z=Tv-G<#5$x^kLr^sNf*~BjL2|Cp|8v4+j>lw&e&=TK$$eYU>m6D<u)vIMS4Ed=3_9 zRS4K3_Dw)kRGx*ieDQw<7EV@kMx%l&x_h?&P<uB2qCnoU>O`OWLboD+IsNoMp*TSz zF?X%Vjh&(ap+3{*Z)oM7S~pp6t5`!3!#DXyS~*QDnqf71&vMl~cb0U7ZQrFjEp?m7 zqn}-@I=UC8hV2ZH&~0Q`TJXW`mFaI$k<9eF5{F_oo|_=a>JZWWQ=yS%y{dDloGnk_ zu|->p_qS}jQ~RGG=)lS^idL_z1R|YVxB|^CYqg!-Dbd7T;HW$0Q&I-QoHLIS`2RC- zH*`t-R9&%<zgoZWgmkOe9vh!2RnC)i|1EY>y2osCMKR;dR1=nTw^UZfXNL{A`Cm$1 zFt6XTHPNN)%_$9=DhJWsB0`$~niyMdh_6n&e@Jn9U>H-+fyQaZo0d*bsJnlqsIq#I zlh?$w6DwN(bWUNYyL3@x<!7NiEheXJk4$E`Z61C}mpPna1N)mDE0@fkTmImT$K|3Q zQ?+*8e<&*%^(&es^zM1Zm=IA1gE!u{`x~a;TJl?|W$nsZRVEV~xy1%+-Wdm0Z4?k? zo5O!b=S`hc@q!DE*)H)vnw@_w)7;+wRAYPgZ(oMYUtVdiDtOO$J&)qBO!(tc{h#3y z!zJY<dQuwGd_w;-ycA>7I{s6+NNrVA{TZ!k7af_lglwE((eXwi?9clTs%idr+TCYF zZ+m;t==J>FznXG0KXhGKls@T^*s67htlQ0>1?YCNE}EFLsh&k5urwnwjZ2pAL`XoW zjex0x{q`9;I`x+p$gpH+hseeoEMi!>?{te4zm8&9US@JZ^sMga?8|>9mZdBc6Ruy$ zSL^7ow5H>#+nxhIrp`QilxsSVg8Z(4NAo9&M`tnVt-M(-%yoRhW~Sil8rp%Gn-(sT z{+HUiqg>?OPHTmLg4i2Vy0?V#)O2@osmeR4hRktO^}BaKsZ>;y)6BA)JCWn*`Gk22 z(OGxg5(+1!FHHV4Ek%X<fMvCw=IjshLKFLUOurO(=2y4t;(8XLN$V;EqOR=^SRiwB z;m0Qph5s%xL_NqAjaVagc53{+X90N!#1H(txH{#qLF;M##lPJm7qQ&=mtqmO^XW2n z6Jx`$H^$Ebe9t@PJ@C_UFuSPr;C`$Z)7n3_hx)>c4>(8Z2u>4vu&aGOL&db0o{x8k zoo>I$IyvI_5uU^IZ~b@`sVmnwH9t^fr$fWV=+?VAi@jE#SMfdaYZYtI+JzY$8#?^A zIF>STMy_8Hx~jiZ#8*OG=wRv8BL;p3O>+(8{8C#&W%-Sc1z5hB_VB1fL|axs*ZmcY zq5>g7pFgRF&CC*J+Sokh!3Hnp@G{3P?sSt6(~PuiRR!4;e0{QNY<xa0NKgJKyHw&$ zUv&v<rOg@MrJ1*4mhPVvYb9eNkSu*wfH`8n5_g-s&nexO!xr0L85rl)JAUTKvr}YO zk~q5Qs^KkRz5BIJi@9#Qgf80eB6P~|iBiRCDRJ$rz^*v{IW8S%-}rbj-)Lddo?XKs zyTjo9x;OH#IAWd895GlBKQSjKA@HqDsY%nL!vf1yuPMB~_~eXuWb5<vLxyel4t(vt zlAK|bYIkCBM89AO^Y1RrrIs;*V%OA@>W<`U{bvwgA>unVq5e!%<8pfrgA5iU*8Z7- zUb8-nObfmJC`9LsN^HK|M5bt~50!mv<&EDp4Ed%SYh)a;RdoBaFzdjdemTWeUuvfR zn*Eo(Q9IDlu}3E|EciihM&XyKleQf>Fn_Y<&Mm(hqBa>kX@25(k@eVNfhAWTv?vt5 zHx4;Ar}LlcQvL{~e9HrCcq{mW&gv-b)O+l)_LBl5j~&axg!T<ueH{#8we9CS4<7jD zyEr02cVR$m_nig$)~6!QTz7cFvtfxt`z^+!Oq$Cd2!1}laM8ml`j%flvmD@H7IE31 zvP-*eVRK6!JB!!Nrf1nZ+`Y=Vx!N3JYxU9sb6FN|UZ{U8@PO+2r5D`4C3H`9Y`R)j z5_4!_Pf^VB>`z_{v5#I%cb*}3_)2Z*PjTkU?MGJKmUv<s!nRD<V8WB<7uuL=4qoIr zmhH6S*2A|NlhW9h%|Fp=RAbC!R&`*ec2t#%(EbU@H?;mUY)s9mUES!c-=Vbf`j=)0 zomY(P-&-~?>{@KFRF|Wwc|$}}c!<EFuHUX&;U60A2I=(0h!l5N)J}<7_*>v-t4vIn zNcKUt{297}3+z7zeS5Y}Tt{3xw@FL$wnESPj2lmXyN6x~POI)Z$L{H6yJ2N2%c@T` zPSX`Vi|m#EGbmk{)pT?_i<*XlInyLY=W+{frnM$g%&djs8v~dEKPap%I&2hsZffDK zyH<^S!9iQtQq2}^e$$#@x<!=L^IPxlJ&85Pn(7$5R7IXd*(>$8M6Wk^_cV?_U<&Jl zH3#)B&fwtBvsLz3lclR?UwnpR)kl{61+yy48={gHu&v6y(8#i~MV5CRbJXr1Y9D6E zn%qAVpe@&=nc`c?lPR9^qFKkzlA}vZ=39+plkPj#qZ&K!@EQp*Tx;Rqu#@WsTglO7 zEX#yg|MG;~vt;<pbJXd{%<qCnw;l3|{}RK*oB6_pxp%>Y#PVm#X&eiVER9&*IwgAj z6vqU=gI`6tzBo2KXS&OowY!47(crL4OdX@@Du$g~6P6}P@8)3MXvZ1F%>0P)#fptw zUt46KMY09m{K08-!?#6KtDL*C=Y|$H|ICukzv~#EHaCaf=-F0$p|f18g1a$lE5CZq zLh(LZ&dz5iSW*j8PySHwI&*qc@Y1Po>{n)}$WLMxP{{87;*=S4_-upO*?)q8#oPy_ zxg?prrt_Q@c&rfLB=CYqwP(%2c3!jp3`c^u?-A5>d%8j|gI9x{gS}zLiZAkotXID& z9p;nsd)R27D8S9w+*tL8<;d!vGZZv;Pn2r1U8ME1{)>x<orQKs;vNsNqs)#iOa3l0 zNnFBox>YYhbJ5HvvW}0$J}GobyixxtEYPvrvD5ACXYFU-i|igTEclkCqv`KB^`z_L zTUt*0l~PtqD0e^KVk3V*_>o13kAYsw*`$E3Rbmelk{5J_y?x;{HQ#*`!<8K;oMx~@ z><Ljkc0ADMNWu$-15?dgr)>*ywQ(qCO<@0ahqLRB@sr-J<b_64N<PPNi10cz>ON*# z5XKR}{&Dh^XqnI-ih5%F>c<0GV=`n!`wp@^347UCpqR!nt!aX<VevnXE73h#!TAT; z(!Ov?PXBv!YKDbg`mCG&N{nmw2k0(TohzZ}UeB=Y?Po!Tup1BKl1%RY<!IdA*YJ^3 zuHuFA3`ze_-rFQkp9(ni)A>>AcEcA+i`*Ewxc+n`#{FY|l*ejckil!pr6rkL%<P!@ zP3cSV^du?9=9PQ@_)J^p9N?BvBq_h+G9yRA17W)fW}lnH!}-O!ev04Ou{Za?kF*`D zf7b`=`(9siwzx}rSx%dd&f~km9D8hg1m5glvRGsPLdGRrmnSWr^6?|X({fFw`CooD ztZ%=iVbE735Ek&a`MA%K4~=|2t%6f0Tz$l_jPc1#et8wqf2&@_?Y+lxO?kgElf13K z0`G6E-mF}W2CcW^Q&yjU<7{uB>#)&3CFemCcl9*oIgg+JYQ4L92K%I)itHYr#s9j! z+VY)e(G0$aWm*Cyu4iO)7cghC?q&4oxO;#}HJvT0^OLaKv>6Acte*Qousrvb%T5C^ z{wc0G*&^0%C6<2!7n%KMI4oKsmpX~{^un1l7I#T3+uO5n*^j=Iub(zBu5>yryi2P| zHu@RsoYfDkI?VX2Y=5*)3I8$k$+E-@d+s(i?K5A4wPhF1@QuIIB-2%JM0Z2t`i`wr zO<8Z0e{fjg`-A_x=D~H=VqR$uj#~ud#gF8?_?KoVx~zMez|OwY-}z1-VJUFkrzX^y z!pBnhL{QOZ+lH=J6MGLh<O%K1Ot9)$y^LXl-Gc6{E$5l_w61gT*)~jNTCKWrO74mJ zBU>Ugrf<2Op}XnEG44mvj?FiVddr&*?P|AFU_0C)b;d4{rF7d{wr3G6Vj^D+E6@I@ z@mlD;qL}%Imq|>O>k-kPHa|K|Zq&?BWwqJuaKg?bH-OvGJ-c!0{#!?n^`B_qI2OD9 zS9|U{&E83I%<Gn!9{#ARpjcnDJmbLTeG{x#Eq|-2trvG8LiS)l!=418M=fFpi;~W6 z$kG#8JnsU3^m-+c>oH1K`!kMh+Gl^sXv+Q1S{j$*dK{wtDh=PBbyeIy)j6U1hhngv zx`;Q=p53+wy(WKiSs?WG)E+m**(X+HitW#F4izxCR}~U=!oNjhwc3NA<)#@C-e&7A z9m~p6b8WgXW5egEOxfp`YP>kIaMexWk}zY3jK79Xm;NLQGJX2%u)FK;qDfUVLYD;; zanFCobYdH)W5hEq#*#;mE?7orUW{ix5+b`Won^<GGa;v5itSndYudr-mzX=ET@Omi z3B_zNTd?ZxFR$ojEKAH5p5wZo(a@<Jcu#E6gn}>sI+ou4&k#NR(usYyc05sH*p%t9 zy5v7YcL&GR6`74QTw-_IueiFXmP33=<0>_YhhIgxyc8H63S0Xs4lys{sdl}vX0cZs zqssoL+J_8%&l;bYxrF_uU}wOGn6M^xE9I@_-(9(Nm}5@Oop3E<@g~_-n<q3@xa~|5 zFxc9!QWo@%H>_D-{mjvIbwa<m6o2-#D&3v&jOoMnK!@5N%1#r0J3Hn6P+Wb=L?Y?< zolS`jUlQ3T$xZ%y&Rw-F-N%c&JnC@V;@*qPnoPKl&27mOl=sX!8Rg3yVxPg=8T+b& zWl4Ddlg8aTZyFZOniq6WAcy5YgJAUa;|kRs8NAnyUs-5#ppE~d(=!Lr<VJyr$P@n- ztZNX^DCSqz5!tRd@9E8oG}g_hxL8*05-t?CnZ(NIP!isevUcv|NmH3Km*(8EIcoID z(cAO~i)dMKBU8&`rsa%(kCcYWF)3Z%EF@)IptI4VhcB+2tzbrTLO5s?pO^K7{S^k= zD{Q;Ozv!P7T^W3mrMLCBDg*C-hI|9@y{*-yq6^qh@-VSU7;11wHP*O_d^%zO;>-r! zn*F!94=5fe+dDy!Ay8!51yxb^EnBxd7h847wCKE=dD`M*+MLcmRS$?f61$<4{!4KM z*AG3_yIER6pAQ_IoM79rz4VUszoq7E49*f;w#)22t@M~9^66i%?gM-*sdo+uBtFwx zbojg8iMc5%MR)ck|D1loYNySNy^oJ;HQb8*#Q&8k>p#O*8yA<lB@6X+L}H|tZwY+5 zdsEQj3oP1~p08BooPUwQV(m5uqcx6U3eT1HdTB(fzA;$RvYusI>hhLV?cdJ7(&&jk zxwAsa`h)9z&0lWUK3;m56PuV&GF_mySHWj>{z<{8xa389oEAOeoq7L3!)BINX01bq zr@wIDby@w4#w5GLQUdpE)JqmDSKTEjs`_BD?X^U~p2DXrA?6ustMmSOoZ5WDJ52e4 zi<+<rXIT7AX07=%MWXjJIKA3_h+XYWE9<p;m)WjxWUdTOsBG0bQ@mjsQyUBOY%9g* zD*{^h*2OJi<XWIxKZ%<?IPt4}(uGFm(w4|=2XqwV`ky5PsV`#8+*P#0AwPw)qRCqP zuS1cM0+0J-fwEL)b*cSZ6wg|-M3`$H_|FiqdC3wkaUt%rS`Vh&WOEhH+4xZ*vB<z| z+G@7t{}xTEFqNq7|IWKRS6Nj+e)^fBh0e08crEsMcyXA&6<IuA@sYv0X$`55y&~E* zDl1|R+}#k%>Bhn;^GoOq?~I1tzlKvQ*Un(uY_PbSAtdA`N2uGf-9H;*4_)zIZGB;9 zN6ZcOD;!%R_slmGTla|N<7I6hu@a8m8|oO1cNGe9`YZgNX7y@r^O~b<=@S*MC@x5u zq0o3=CE=m*hJ7_I2lH8+6{NnfteCQ2IcUxF=KLuo0gqi`Z453nGsp`}QPN+~5gkz> z`uq%E(BY;38M=C1SDuk!d&=}`0t<_eh0rPW!&8<CKbdrE=Fb{ovEFAwG2)7h3o~n$ zmRK)1w6<-9mer3arRK}+9T#VBc8y`sJ$Nu8=d5DWng<T8dp~mA(y5Ya_$Z^If0IM4 z-(abb^*)bf_iqS&HUBboa(>}ohsL{152j7<3GAHT!WvN9%&IEKv`_J+)eT3bixN*g zvQl+7^r_~^aQ4g9bjBFIQCapuz))yU<rKDmjJhlTutYpqW}LWFB*2uh@or=8f*UWU zx`;f};7vbS%s7E_!s0_*VRKwxZRytyKeNc0Vf9y!&`CC-Ga@YPj%aUok~v}Bm~*q< zQP{!z`jM<tp{#mwERL5MF6{lc>0;2svK1YMTVLsgYgj2UhGjB5j;!C|B^W-3Rob-g zVAq=JX4ws?8NcPPWX*PCVEQiTC0tr&mF%gy&#V57zORMr^dF0NgxxZIGNohba;4wv zo(hD&Q*7Fz!5DI9_YZ;8sr(|_^=llY<8}x#ifTOmXUwob@;^fp*Q!GcZp0oelDx&R z>Bj?=6}OJ0a!y>xb@}iau5Sg0rhei0GOLT->_F-wmZF2ZeQVm!Y;^y{_ve5?K=DF@ z1?J3KIAXW<Y>3JzomP0^)YP?$SAG<@5a7<(dV3L1=%Ih?M=}~i*Kk~kvh|pAYk!zl zhZhIyvbZCKi*Cxf9GdZL%cg^A+$B%8Ck1L;xydMX;o~o-y~!+2+bq7!SiA1Q+6@~{ z8C^cundrSos`r{`WnGl3KGO@gt|dQ}a?C8A^q#&N|Hf-^)>FOHJ16tmXK3ryzf)%v zzq$FJg3$Jg3LBx91`BIAT!U`xY35Me<L&MvDsa4ZD_4;+qqNh%j$XZe9uK{GePu!( zED~Zqqszv$*MWOY<FjilZ<p@$3iUrEz^d@@hE9lF9aG7QKQ3M?G+mT>qBkh%)J~Ks zZm|kkVEVUy$BOkV+D`u&nizP6Z}LP6?+EIROL{B*t2-#hyecMO*G~?$Jw|7z?spN& z*!(K@2)Ay1hO}P)&A(3J41bmSRaz_#ziDfht>h4z^}A!iE_tKRGnkni*!v$!oq1*= zm!OsM+nalNfZMsCv_#p$*_X<7n(H%McPDR+4|=iCq9uRX$4lChi{CP?cH!dM|BSW0 z?!-wifwXOxw%px5@t@kI!{2r8w`Gg|5OjI^q{&ZWJI7Tm6@z0dR~Q~$-*VzV1E)@5 z;RzkF=?v4X3SS9^-R6ohZQnIxMb;ONu;7gv<@IO0zc8*~7S9Qsxa@t#MZYALs3R6F zcCR{lnP<ALS-<cV$2tC!|DL^Kf6BF{ex}}~f?GUEQ@75KSP~(xk=V3ANh<Ls1JBJr zl5>hG*hJ(KRVtzcSyu;(XDBr4#&xLe;9so$>8su2=&7^nU81!U>lZ~ZJ+{%EV(H|% z>RtqM<41{C3R^6CPFhzxHL>#@zrxALpp~L@PArL`X>Ui^v3(wCOtub{O>0{OnAdM{ z4f@N>v}$%C!}7J=*RC1X=x6#B*=Jn4dmzBFfa#of?Scgb2{NYNh3*91;&qz-V0zH) z0GS)s%^$A>vQ6w>V0^Q|$y6|DyGGO7-F6*jYa8$0$qReO<;^o;uUYbeIX%}enjWt^ zK40*~!txh(mYu;m9Ko9;WaZBqN}qd>>AlK3Xq}uhQ|9Wu%2me_>r^8zuw+E!9`X9m zAmP30t@qPM5nHy}2(9{7)3Qn;Oh)vbqQ<&11EupX95$Q~2;DtVbS7)urAr&5n@&Gy zj61k}lA=&-L%f}!sMqHMwO-1s0wzJb4)_!t>|%S@!m#Q*A5YMQKZ;T-cX;QzPg=($ zeKa6~VWAg?&ela{EZqL8mUar$W~EOQX4SjX@q{I|Gn$+I#{Nf2vs9l*%-q$~u<Jj= z&F~99+)C;*7Rc{w-O@8Z{J<d*y^KURey3Q5BHqJ05*uPlRSP^)U1K<V98H>Ynb|io zow`<~=2z2tribT3nzDrBWU+~dg1+zI;<z_KSb<F<jn{^QamD$Gyy_ccxc@EP#NQz~ z;c0j2x?07kgSLyi9|Ui5^kO*R#rK0V??RyJQYSNp<4f`zuAJDRFQarxYer+_Y~_N@ zD=IlY2#BBMUY2#>QPcWcl}pQf_H=x_!Vo%h<7b1e6<li!mgsadFRC=;lD>Z{kkg0t z^yz~fu8TI7&sfkPuuwC4x6X0Z=bNHeJiE}*IDJB!%=-u3%RdP<J+@ENj0}DAV~Uvd zorIFT9UV&*)utX^&^l*h^%O-%yFb&f?BQN|xsaD_N>1G4Htr96Z*1mgY_ZQ>@S|5X z{g;}kqi^rekCG}$v)w10$;c7VDu2&&SmEeyTb@mu_PZ=BJo-SbEcCg;tk8@P#=1_E zB<^M=tVne{$~s->X1j`4w)E_@zw>Mab~<%#=>96;?DIH<i{;M|g^Azwe>KKT-OlhX zkjekfs)qjzMp3u)AJm)@-TK8f@yhgF&dhc19TeRnzD5312nc<`Il*+s#SkXe>AbZZ z&0!B83a-|UX?~`2m@C5d%J#Y=4w-h2AI(;Yvi3OV1xn6%r5Bgf&1)3uYF;Sfadpx% zhHt8Dq03WZt(`9^uey9nVZ*NuhK<Gl8J6r}*<I#*_W7;Mo?8s7S&p^xOcc7Z@Kj{$ z-32xhCj|Gju&lrHq_)(M@!?6C)eX_Iy95@x_crV9@N+u2!0bXXV`)c@ocXDMP+?~A zJNHv$9_IXG@snLDw&pXZ{0EK+8jm;L36AmAI^(JlzjEHg8j<UsjqX1eh%Ark?ruwJ zx}PYuw(iNf$9vj;O`US^!g*n_)rZ~*hCEoA?b^&x;~%<QiGd~erv9`Wf(H`vGgH~5 z7-FXD9a(zfKf}tr=i60Jy)=E(rC8tlEOMiLl1NnH#R9b!ElH8{{wta%?dSft*vspm zlZjgChN&O^3Z^a3Jy4~3PqThSQ)l_ij7R6hcfI^DODrOK>ytMwL40fv<v(2!77RZS z7|tD#+26sL<oG=4kHdD}gNDkV<OA-qy$D|ZN==EikjudKpvU$+!MU2!U*<VQF=QKX zt?CoF@xpN4ZzYC3S;m5^6Mi&a`PUSg8MSyqWZlxYr*1PvNGZ+;vO4$V=QNSNjvCjZ z;4iAiIXe#i{b;ONd-m`&@gF|B!e4Yr%rh{Q%t&H5z4(N!x7WHT{uL7w?O0rPN1u0J z5hUGPsoe7BBgYGm{|qnM+=U&EbzNn%wYw~qRW;+j;gmC6y*+s@r7apV7d^^^>kI#S zUlV^KuXEN>`meWaexi@3bl~zvja?2Jk`s>mF5XgbYRYmY!EBLoPDAPC0n(a=EgDVD zY>(?xDs;P|l8fAPF1@}KvMMEK)w2hTVXbCK>DA|192w3xGnWQyNY!1uTO-4iBVD*@ z|B;=?WpZi`m9D=NDk=GGrdrRriD#rDtLpE%IJa;+uKg({d032DfThIl0(b9QMw@s+ zqwXEwYEC62Z4v$QQCul1MgCC$SN2Kf$W=^hcI;I%{>~J$fboHWrFp!ZQi)0P%-O7W zkIRTfi#)!uAhPc0X(pb#6N(==Jq*!%_`$53-P%KO!F9R&Kba2C-^g@$x{TbzdCND1 z<QzYKgjc+-^G0I3&vrRBPFJowhE}55Po60pEHK<urKiZ${=~;jZLXfii{~4J*e>Zs z3OD{fmi6$LLbA4P+u~PB2SX+V`frO_q@BgeC8V2rX#OqbiW<JBMYms+N}YSAbE}ir zU}a}AqYTT*HBOob?#Q~-vMh4kzOepE+^y%Sr*>|B(DzpLU9bM62df3;8~#078r8<d zmFSrEY@6;QhLHRVZ5q=gUQGM;{E1Hozl2f1l7_b#^%<s<#ZLDMvlKp2y2{hTB;{P} z@~P*R0mGSFDRxF(SG0@HtS;6*+jmbgBVdQbyZcW?4%qX0Gn$1I>C~r476)$R){A5o zy>By_<-zkiQoQmi8)wX@&#>xSH^+4yTk(n1H$K6)n3w|pJq_E;S-t1XEvdJH9a}H( z&zuyRc`$%gzpjau;m5&#?of$>sq^!LHzXg_;woj#y5(;$-A3kxQsCyO3WYn*A9(f6 zKgcq3h7t3Zj(6P?ysq4Srky=yC!0cL#~Q`Trmsu$Cn*T0KdA9z&Tk6OdBEkmq0;6+ zIO};g1ugB6KD$fD7^bxHyb^mEthvyDwO^s;Aa{nQ6dU)R*T*LsCG%`>@ZGIvbS-?> z{Z|~*SU)H>In20Ga+o!HJx8Fpn4CAe6VIlXFJ?4n8Yj-kG0xq>9Ju`}vlq|8I*%LH z1xI%7juJZ&vN=ET<&lkZqZ<Vl&WUZ|x|rNI@q>&*)<ciwQrFLa)ipW8bTl+g>3N;c zaZz`^$f>hmKJmK0M$ISB(Zc;kcb8wCaG6DI$D4$I%8vO_ADotU%O%*(c)<34G6QR* zb?dRfl4Un`Y|Z2?Qi`6Wp<VrwU+Eu5>+X+Y)}_4VI|7<3)EKMg>@t`dpT50=bz>jv zH3@-gL+j0dT`Z>mbdcQA+9PvCVbi`OyW5rj8B$o8Y+l?C4C~2d;MdYV*>vkxTxUXR zO`{Im_9r?E1NV9N9sSQ>F-@v>lkqKv(2Mg6gZk<wEnTpqBa#1%>!t0!UDHjsw3qT$ zC~++M_+WO7MTcFy%PPZ-XSm;7WLmZN(COI6j~K27u^u}9{iE)*!v?QjhE6!XLyPZ` zxr6`mm2GchL|4TM{(Hu?;H3xWJEc_#u2)5#n2YEuui!9KsG7!Ikg$7cg=CvW9;0Z= ztLE)H?j7F2og#N+;qI~p%NUfOwoXZS-2ZK=h(b<`oSPYgk9<k`Lfs%nrkWa;eg8H| zowhrXZOwnn<X7+Xa6f^y&v}=1T728EjY+V+@ymf#-P;)x4jc{Qn{ISn=u>a%O+BX1 zvT`2MX2IJh@#O}$C6+pFR+du|i?#FUom%5`I`{H_hE$`w`9cd8e0m^pH^a`sF-%te zNyh}&`7BZz^ITSBG3Y(~uGM`<!^l9#a$SN5cjcRo>GltHW-aVf%#Te>Ise4zDSHC{ zU8kPHR^~oCAC90$FDB|A(K^rDHSO$?hi80ZeGYhJa&6T)kYaEn{Z9nzkwpQ`J(Jj& zW`Bsuk!yWtdq74(BD33^pP$8H!4B=YG3?xJRjLx&o3E^z`k7nUHN7K&Vag-!#fe9x zvi}JS209<+3@MOmP+)Ayv3eJ^SVwW`UxzhLijUYL%kG^pf0Pnb>wd_(e~YA+<P(Ku z&3l;C|M|a^WefD2Tc*}{_)9PAbAyt7$*Bbfd*amJvia!Mw=r+_o*^n|tjpDNfm?S1 z!#UA{mL11;v~J0}#gXznr~XQSt&@nP8Jo!Y2X@a{(oeE7i$Bw2agNvgwBcy-3=1`m z@9z{A%=|0BJ^g`}?p#AJqvdaAY>BN<XuWChWdAE+j+!IeWn`Xqut+YSlq+?{s_*qv zU6o3~1u~YMlMa7rW6b&H&Uk*Y$S%9bkHob<G>E+aAaIPyhGPfUA=8f3dmX}?(hBq> ze4lU1Q$2S4O6acRvK&f(ib4d}Zd$uCz4^Ov-?K(;qYDl@7TkEoCBl5rU`LK>aUNHL zc(Q`aQVZj(lmxcsewPDtEQ&Z*Z}}rE&EV#(=p((aeanfXg$GvXDKY40K9y$7Jg{zN zMZlijzQ5Ps)Mi@sC^Gbmn$vf7L2eHN=7`__mfn0OG@E0~t^W*fRD~zKOlB$fo{+@y z^mvckE+x5(-o6PE78(Z}*e*|);hFt+f>No3#I#x4S2Sjve=DRlyW#F@ab}C%Cgvs+ z40zT~6L2tG9<Yqb?Lghd?Gmcxg1ZVrxPu>=Ke84n=if0aqlP2wi=B(ZqN|P!8zk}* zGnABqZ`7WhbY?<uSjb^V{z+OF*q^xv2Q3TR(xBtLn!D=&!%U6;40C+K6@N&kX6|7N zdL-;MW0v->1#I#L%5IN^*^&b?|1(53oZYr)!;=F>n-(~+{%2r69~gJtfTe6z`sqik zqK%Al9LxpRH!<uBc(Z7x{*Ky%8@`GjFki@W(SO<_x#We<wDjITXcxO<+t88_&tl3o z^G$t0*=Fr2{s!|N&(poIW|#I`uD-+r`N9Hb@*dADe{^@3t}K|k$eO`Uwe_M%a^6kG zHmN(TYh$E^RW?0V&kbZ&ELdSAs``L`r-S<jI|a^Q3E682EY?**-6Cta8p2N-b(b^B zyBQ|VIiIBTUD-WJA&B`)+ow;g({`k4Wf-1HTQxT)OUI#KMl!R2G1)uIl#65gP43j? zDO-8Ml?~rdxDq>o@y3)@%V(AqD+X#E5RZ`G@$wMo&R5I^&u`40y0=NG;m1^FhHsl? z(|UTm;uQJbxW2lvg42}gM0&$fgA68*AO9HwR;EOpjB`KYk`X__k?H9DB^yE-?{U=! z%@(eFG5geIR)Y}X8&lj~H-ul=mivI2fzOx6-=SCTSEa&Inf@<RW{GcEqiEax$vfiO zT#lI<w*4JCOYIJE3H(*kPN`{OUBO<heP?O@7LOP9g*-RCs_oRuxn~)^TEs9fiuFH( z0N3?N9g!8n7UmfhXA)h1$s86~^Jr>j4o@yilZ8-diT+Jik-kdK$z7irxDWo8zf!PD z{K4T3H!td_PQRm8eO-3aO_9HXQ&M-ctXcNYjqCPvw&&5W+&AQL{bwj(&a9Sro~@q} z$x_I?-Y1H?UP!1l-_QSbM{IC_Y}%j5)$tR%mfe3;F<Wv!%hA~ShZ1HBzxh6X)#7c~ z_(yS{6xV`Qh0SaaMY*I)6u5owv<K@lU7T@pmIT}5Qf-R{0}*+R^+ILrUqwU&1&(kV z^CT;2g+-X^vAwKgY+2^PHf2-4hiOLgt0@}hX8fiiRo+dPCi566rj_U^obldv^g!9d z7gHCVIdSHK<M}29!5D`#Ddrk{tQm7%j@oRQxz&Fo+q2M&<jv<hbXVM8605j%A@ec* zlR8Z&{dv!D`(N@};%b@hzU1vXxl50)toj;Yda*+?%!75&gEsCi|NcAO;=AXaf5oZH zo-|Q!#=c1nmwz8CTVPbsthL_gywZ7R6UG9OuIU$?+rI2x_+3@wIs1(>L0hGotwT&3 zW+p71S#zr4_T)<(m$_MQN4DJlCF{Z^#URO$q&snv)#_?Ko5bb+lB7bmlw_acnZ|pc z*X05GiK&VUml$~F^Kk_9DQ<iDQCuW%MoBPp+VN@ZtCU}Kr)!rlik%w5x?Fg<0Iz`m zBWbqzleCrDpR_csp2IWiX7r|IYt1<$GFrP?^LjVNFBFlHj$`jo>f_lq`&Dr6q2Ef0 zp?bPa&(l@7q*Nw(-`#Jw$1CM!w@BEJA3mF=D!Noma4uu|yGYOR_Y}r+57^i@#J^HB zcX66@BO)qfXH(K%JN94Gw+Mf03p@D6yI=H=ciGWH6IB=+DjgSXv!CHmoWioz`Hb+7 z4!JqW1w!W@9eL{4dT2G%w^OE(#kNaV9(=LJ_wS=)W@kT4^m!)E&|1voD70m<Fr!G4 z*0bD6i<}+fT&HQ|{5ur8*@>HF6Qkbg=B=|ntze#XeP>$Qd``z{Vh7G&;#?ENxJ6*c zi^erKkBFM46v;i?vGIXYnB+6oaE;It-H+P8OwZWHwj|O+pnDgW$krFi9H%0J1j`Nz zo{g&Cx$EGK_cl(u*Ewdd7hr7s>9im_r%Sc!WZUABPb*XA2Sm6^6tqT&8fJS>=xY4c zBkb{|V4Ca7<Erkmf+Bi1ydyf9rUl4NoWqr17Fw8e$4ux*&>7y&Ude(3yNuRaaWMP* zow%+uK6A~J)7%dlRNww`OyRk3ip?W2$Uw}dx4?bx^aUY0is~0SX1zY}HE4Qcm)nW= zUtC@9-Bpd!YvJ5xKT}XDI{TvF<N{r5iBH|U%rg}8C7YQgw&d6^VPJZEV)l_(CexZW z|3b4BhYI8O>@QrgASOY<u5d%+Z1WjUL$xEe{BZGl`^4y)qqX3np2OkX&(E)5Rw!gI zF}VKl%8FY%+ZJ8;&(I&Rs(toGZq>}@((Mo28ty-3-!-jFRdL$=#74RQ3|0YUQ~f>~ z@VMXT%2CnJyShTpB0)5>+(ksnP$$5&(ox`OcBs_U{om3SFZk_qwY&Ajd;u>$KW2$A z$u7UBtuMUW|FM7Md!T!OMTIGoVb$mV46cssuN#FdG`pv#r3Rfz{-iKR`kPB}E9a(z z3)+vkC+&9Fuqs4hhF!DJ5}OUX9zA9ha1t|bzooUDmF;*#RcCUP$!Cqg1qT^4c-Hm5 zOZ4==!_77?g<&&SL3NYD#)K<V6|^1rCoScw3ur2v(#Tq{N4{Z(j#h3iN6V$dlV&I# z(P$Lszh=K<rpy&qh4_`s4NC8nyf3rxS}iu3CeLz__di3waK84F>8$1-lyaxm2i`C* zOfJ3gp()@Pmu=nxyJgE4X{fVqIJ1;r;M~+3^&MQh^gUfV!xWp^OmE-Gc-^5>QGe#N zLDBQSOZnRyrtMzY!EYBB`s6=@ri<i5u~vif4pSY?TFxlBIZB%Xs^kTo6+bQI<tW&Y zl^AN3qY&)=$iUHj1!L5KQuctHWR^`y2{W559Td}&8trD-?~vTqF6VPA?19MKKX(p9 zFG-WB7CP$i=!rYCoSEwOS+;_uK1(E-_Bn2Q`q8k5(`BkP|B7H9w}3hp-BZ7WRc>yc zq+dLbJ@dJvk$8H+1;x}&Tr=mzv*^s9AXs*M@v|6>sw0Ou12Tj253x2^mw3AxR5-@` zebiw$YwqG{@qYeAFE?6A^l?sgFzvmc{GUN#vfxj_g?`#^r6bq+|Hxw1dS|m)^Wrpz z_>MB=F7C_U74IwzPj_B(%1pc|F61GHpz{Y;2O&2XfjL!7l0iRSeiV6digVMlR?R=I z-CrI5sd4^QTp=sX=Jm=<Y1PvSt-l1dvy`T}Y`yrrX;C<v3Ul@uJ_j3z75Y1NFs$ys zX}r(QqjiIa<D#0DWuknIf6rz$GB^~!>6kKGK}%jtQ2c{zN8_fACv1-ie7wkEV40zM zjqQnuQ2%s>BL<6Y8U+{v)29S1cvy0g#bm?fB?lJlpJ);p|MgKAQ%_0#95&;#tUq?J zY@U$3J78*O)(bV)ytN_?zga|9p7dw;2|8rTP$tCFI8)5m<jIOhk!P6J*h?+0?76Vw z&_%uFp`TouBR_d<%qjdRZNRZ$j*MiJg2L<0^>WV?qEy5kf`2>YY<s>@gkRu8BtwWK zm&T>&H1!C}H$S>G?;m7z2$kK)x^?yuexZQe?+FKZGz)LERw*loJm4?7^ompRj)A7} z2e;|@n^Zkk8Hqm%@Q_ck;ZH~?y8dQ`>g+ns`CId6M$TB^xaeO(H@BV3!lf1mk}~u3 zVlP&FP(5$FfH7y;?ilq=8rwd8Quc|I*(r1|)ZOWHwDykFHnxDsJkIoKf3-v}eZI(^ z^w#j@G>*&$8@(98gZ~N|PRKc>swJ3b82vdJ5GSXQ)#{<mu_5-=T%m(6H`s01$8us8 zLraRe>zgaxhC!>v4xX$%%IXoFx+tPT;ON@!{|sjjxc%LGw9TQSLyN^oUgaIv6vl@B zzzn8u@~>F@=Gb2eaE|AHr!cGHgu=X;T=(~I`15a(?DF5?P}c2Ou(ae0$F1G-_-D+z z6>zdZnpIvXwbS2W-7ALdAB$3syxIPr!DHIyhNW8rmadI@DVV>-gpapOK<nTmu@DA# zj<3>k=1>1UC@<^lxN{;wfwfZV8FSi|V+*6!XFl2AX!bVzn}d@0C-2699XAWzCLL3{ z8M*Kv*Cz+DN!Ef6qVZFGSbsJ>+US*g^RH`Z?)juRotvL|Z|wc8ysPLxL(hRvf|+@# z=CdU)b^Y$xS$|?@)t+?{T$lc`1s=F!x_O24$@MqQ_zDazmpCQPhzs3gGkNlzDwpQy z>)%=;Wy%EaHW)tn&(P^1*eJ2d*|Ecu^}edW*~%#bcYnFW<|L-dCRhi&f8gEEU1{Lj z81li}c+sH)llOUKOfFdSL?P6>jb$av7cU-zpANG3FU*?y>&#K9bj_@Vr&}`oHZEf< z(#zOyxYnYUBY`V-v;7tE#3YU-#cyJ`7Ve06V(@BqrIxy-q39Zok3sjAzl}@cdCGop zYO%Peh;?If{IjVnJF0}9?vT)0+r43i(8soEZl5<6H7@NrJgxnwb%V*er=feQlnz^W z7QNLLj81Un+CQ!BK<F90pIwU{TJEXw4s2vyXRNbeZ6#ltkF@{Kz}C|-yyZsP+bZ}4 z^fxNs*i(1h(9K(>OP*z8!hR1;wl^=dl(TmFYo<!O=!&NbFi-sR=n-?AkCU5>#DWJ? ze(m7YWYs<?%^@T@IsR3{WS(aRY8wPhJ{7zy+~7BbVZph=>`NW2S5Kc>+N02%`OqNW z#PE)JSWm<JM@;P;Hdh!LswQUca#(Rll=;e+qYLzFjx71lpjp%Z?W2y!(gL~P%~LF@ z-CdL0eyPpotL-pZe>kz|>XPLx^Os21eEHAdBO#%x=+ym+JJ;~bG(NTmhP%Xio&Gb- z+>vmm;ZuTK8e8-Ei+T%uez5<O*nIZa)ag;dKSd1;c6^cuR=u1*vte!G)6`k6&6?XU zoY^{!_h3<Ez-cl4n_@1Rzk0(JwGxspN&IIxmd>TfSn_-$tK{wiW24hvIr?7(y06{4 zDD&vS6ux-R>;r=C(uv>itYBcPRJ-w?K~jff{SyTaUuTiK%?<w<g1S~tYnG1tduc7p z1Eqt-GAy!OVGVMRweRX(+^}7aSt{y@gY@hKnIk`!Fv(4Rp}*4Uj@^+U1OB&cO!LoJ zHTu{UY&!q2Eiv?pMC<a&-#VH%NEC`VTsg5vMby!83&V=6&lim(^%M>Va2mvjZU{N& zm^4f1?E|Nx_|X3hPj*DkdnA+Y|MSW=;eX<G+RrpjaDJ*uxEK~9Y&7}1V2JL~m-<1b z+w2}h9av+(GoAJCV!rtX2VCt7{w?EBf7;x3P)%>19EVnm{VBDxJ1*`?n&K`e=)R*n zUBAVHBj^gV)#Qu3catC0c&*gEKT&Rr!JA*bdHh1Vy8bgrR)x)<D8O*)rf}-&-2(nv z>s<V9KRuE6Eai8})J?y>{aY5JAU<h&!?f1Q-Cn(|+m%e4&tKBsQ2yey-s>OBUbEj6 z>WwT+JmNIbUDr;Py{PS!!o*$07yFb?79ZH2q`<amp2u#+vNtXftEW7jvYfj?==%?) z&7NHmTUJkOF%7;cCb;{rg4@o;H-EJC8Sd4V&&+)qy=j@~vV9jXO|?7!N>%i#+nchV zN}rM<r-aKpq~29#XR6=CVqX8K?T*L>5$60Zqowc41iBoLZ`nI>Ui~5?uHzG?c-^vE zc0=N-<7dNQrYBxyU6pMj8-mxioLJ2onZc_W-zY2QJ@ZBHK|YV?*Y0&_Wk=O7(reG) z$S%#iRZ}By(qG~HiX^QaO@ACT-!X+L1b3;X%I%-XW?=H4p;?xtC3r(cSL?Zx{F3d> zGwh3QDPO5^S-!0-Ifm<e>Y;@aix{f=@1$<HpsyMJIpEZx@RKsDEsES09X_yS@5_ed zr25Oo(V+qhBmOfmGKe{>-TX-T#V@r7h4YSy$LhUn|1LbSE9H(zX!=5()mwrV6yH!2 zYVzXFy1bAl^!AB1chx_}>dMVZeR~~5xBpqEz;NH?EVti-D-Qx$OBwxDZj@^1C^Pj4 zOjvBqb>PtrYngXWR*d>`@mCf^7YUwWv)FQ8N$8OL8`Zcw59F2>P2M1FuyOT#2JZ)r z4UV7q7Bt;?q0ndD5N~@dc21Q`nnX-kX!JDY#YvXk=QSDF96uBqS}Ta1>JfDazt`r< z^TFjtriaPdlLud!2UgZIbj@ym^Q+?+OWQQ}H620SS`4QQj&AtXWmR@#{v(E95oSgu zrrPpJ3RjcbuQbix*A!SQ`Dt_Ao&OA1&I&m+z1>sk)2;nP)j4Y&i)P-GCkGe{PIqzb zyLY6}<O@qHOLT)4=Q0KXZpH^{g54Kx3Z!`GtWiA96trqlnoh{V-%~9t8E@`>;MlN{ zuX}r+XX*Y2j*1_X{(6Z`{H8cNLga$#mc6<Q&MGWzG6>CK5n)`(!0E6j)S}%Y7t~|9 zcj@Jw=B^3*6?H}ay6H%|db>UdFXl>|d?tg7|G*JtAJyob5B#5XSC#7O25K%~|2v&W zgx$BJpw)}{RJ`icbsbV1>HPCrIJO;sX>jbFiSYG;{G<s+Cr?i4$_iU_Z0@>{SZ{0j zD{Bj?JJal0lsGFKf1TE736L$8V(5Jk(0J*mQ2$1Dj*E?ote;|n-n~e;KI6gM9S^*t zR=3Tb{<F<hE}?(MA)kZ2yALWx?{<h!GHG~O&U*CVgEXOqem}h$II4smv^m^uOSrpd zp=iMVOD4PQW;#5ak(m>FI5A(1{fL0rivJ7-Co_Ld6+87z$8qX~Gc0ZIgbw{W*gdt- ze!`Td>H?vM8@Byt2x{lwr?hOn3&Znmj4Gl(1ZJQ9C(7ZmKlSwVh&0wk24T@(70zys zFp-$LW#i6u0?}8jSr#jpvskWG@OY@@sQYVaV1Dwu(Cym&ntf}hZQ78goW6*U_r8l_ z^C!y=HijRijBHH|qC4%L3P`Lk*gfMF$E<{_GjI0aDRW<4!Xc)ouCi%$=mw>{8(mo| zA_RiVAE_OPJv7a&Uqh+Mvf<wYKEL-5T&0EP{4f;V(zrPPgSW@o+C>aZI;C+2;{U>G zy$!d2aJ#iw?8;}B0IrXpr8dcw2`F8toiHn9m)K+d-x8)NKW0AP_*+o)-LY1mto~Ma zwQEVHGwd3AjvXv!m0N7h-&w=AZNZKsZ<e(MEX=EK)ctgurSIt`#?OJQjVJkT+q=jJ zt&`YZW^`5fm@;=p>H}BK<T%DIrUQR>H~8KwX0V7#RANYDd7F~tT7FZ5Ip-qJMh21T zBH>;&9s=7`RAUb9>ngvqP(1!13lFQmQcgGjuISV_Yqb!agY`RgxLaol)Gpe-iHB?J zndF<&)&|?tKh5#--_R@UpA?+KKgrVa7Sme8ul&7-X0kt+W|(uh=Wtc*e}=$ozkYP= z$X&Ba;NT|4Hm;w>0^W)1B4=J;ZLW^a&v;|tpjh%IIn?)HvDjO^wkv-WzPao>!6w?o zE*N@YU#)AT#ld9n^(_p!{}~>1x=r68ZgxcPS^Leu-Y4u^zjFUrrkEQMapQiW)V78l z<_9*I{j;0&cH=YCFsrvlTla6jvaes_x06D8jjU_VKaK@VmoAD~#$C7&o5%iXCL>pu zwjF0#;8%$&6YUQFn)aIOX6o@E4LMPU-TxUfWA#JQB<9@z^GZW!O-x5uhSm#N*NbdI zTR0TV>o@~<q*z^?)m>!y!|jLkBh4MwLAtBb^*h{F?Ps64^ON)Cm75;aKbX?JX1n9x z(?MDescZLd()#%C#Eog{SA6c)E$tUGNIsM4c#bW9rt8xB4_@B7yp1t28$v`LoSxY6 zAV}`K&`jeQJB-*DGPcHib6{hCDVd@F#NkSJxBPZ7pFU64xrMT<@hzq{JG%FG6s`;2 zIDIou|C9iQs0&xTyQUer`d+&KBQc9B^QEBJ>{cI>KmQpzG>vyYamw2I#d{y?QMQxw z7uaz)uK9eUUBmQ6N5XGKe-+(@E0k6p_KenZKNxgLgm=%`&dqig_ps@{W!iekbwl`{ zLXo8O+WA)kmfiYLzp~-3<^*wrW;Oc>GlZk}$$GJ^T%y7Dh5z^TleeESr)}=Nb9eui zp!Tv#r3V7Xm<$h`k)2q-L}$&GDWcx02TV(vCxkW}p7mUBq2sETiHmxC0}eJxIl4uC ze0XDr;-cj@g%eMF>$-I!hS#xR=b|5+;fm1>JFeZF_@BXp@$mZXUl|Rj+bu4Uc+0fr z4ufsK?qreWFI`)WSy*x^1zf@-tDFNpdwEaE8JD?lU|;k==k+`nJ@Gy^bMbuj!z-8< z$4GQZYk%d@t2nw;{!y=2yj|QxgXEi=ZtQN`ek(D+{F_77ksc<egP|7={AW0#C$^fk z_s8+O0$X=3%oBd35RqHg*<hn=W8JE|Iq<wnl<U>~fs(I;7cm^Vb$-jfx9UlzYxh3n zy32h^a~p5YMn5Md3+A^5`rJ!hPW9gYGuf8wr<&d;uXF4d6s1GUemV+f{FyjA$xEAQ zVy16UXzOVf-!;0^Hbg~nG#r)WITLPv{!E70KIhwvzJJ<}EMR=eEYTHyKq-qg{ZhCQ zmj$0(M?+AJ%Px+COP0Ok(5`XV^zQi~Th&Lr;oRAl-H!T-feW+_zP}!HBPNbt&?)Pm z3#+K<BF1fYAAWWo6Mm6&v!HHbgvX-P9~?h(zo<L?o^;yqkDx366NARU&&+2SR>$1! zdz2dgGf`LdKSLSA2_CVyOA|y(bEY&rJ@w#-NyPe7CKu*7%oh&axcXVB2unoee+JEL zotOnd`WNObigftTaAi~8Mvhe~Y}2Rin91(JDq>&6v~1hAVy1(oAG})iD;2sHED*aZ zo?!B&neqN+0rfy`arRGc4`LPu?BI}Ksc@}Rt>BrjveWgdh2vxKCsUX-KL{L_lHfJF zBd!$DbY{!riM-S87fe&(+9Ec!XmM58Th_@1tl`gOIZ~$R+p}L;t&(iV(Pv@D!4ebM zIMdnoPOGWbiHyd?o4)+Nr*GIMePcbd+5CgNZaQ!89%o2@ka%L*7VoeF`#PRq)(t2! z;OhOm?<c>}!N}A5e{`44OIWkJVSkS5JaZ=#uQdllP1i2`E;(h9*xIZI??PU9&A63( z_?hX1j}Ch`P0cy5;NAjB-A%>uM}ua#$1(If*+dA0MVGX{^KlTmqpUpZVzsFKX@Mz5 zPwM!MPRA*zOu5!NAs}S$o~3Kn+J6@6DgWg<d%s{zxBn#5g|0VNDzQGz>1z0!AaHbk zps=6ulh(sNzZ4^Qd>sQ`a=a7Q+WBH;)8-GHlbRm>^Nczhq`7FmfscjKPoHh)b2#i4 zyyE2A#;2ENI?YAMFo-E6enHE^jnkQ)Y6gW#v1>%DJk0KO>SbK78NoNdDd5(wFAD76 z7^N8a*62P<T(;+6jAKB7cmTK8x!6;Zx;;+f9*lbTZ%&c*Y?N_W%hIl)tZL|G##F6v zrS^fhHSbUHUsE@R-4wl+$ni@+IrZt~XF6+kHU=;xz7c=NcVbQOx2B@>mj#BC0~ohI z6Iu{v;UFZ>6vVr!(d1p()Q<Q73mb#L*&bm5D?E%6oP7;1_%2Rs3P||ac<r3>BGY#o zT(c)Wa0oM#X*P;|6B+vVbWSb@!-D%K`Wo#&a@@@PAgJ9Z8YbIN(S6`Q!*!t^ZYNPa zJ5Hx*xlfd%SkspZbu)dLd*zpE*z&zbD^{C$*t|HOBz?k?!A;{pt&7uv=n|i4{}~p= z_VzHGuhDvRV|QkZ2`4X4&IeVE4-TgzZ*ekh`sQyCRkB~;IJa_^!LdfRt+TpQ)PHlZ z=g;e~Ev_mxid!Puec%kwbgc~$&eaM{(FSq?*<x>sIATkSxHjn?tU7RoBgO6zpZ+qQ z6n|5lwQqKaCoXi3oA#9Bs@tNq8F8)dCVxAe)?8CeWorAo)L@sF>+$t!Jq#P#8D}&d zT%Pz(vH3?;$g>cp6#-9zw5HBy*^q1g#xBXTPdFndPU%4K5#jc@kev>EHUAl!L|Arw zu=SbEnzS!riXq3|UbA4SyW(7XuDUK~a}d{fppbC?ePXiuKbJDz;J<=mEl(dYon823 z%GLvKY(s?H3Lh3-lg&F~zTBUuBK5@8@&i)?87yD4MYdE5EWIyM>pRnF&DuACM&0~d zHZ3f$i~r7&|1?eC)uzn;O3bkcTSeBa6*6MpjtV<=uE+}5mBcX5ze(j<xPjZbyF3eZ zch7LzJU^o~n&aRmNgwairBburzBqfO_QF<9#;3W>bM@C<oDuzs<DSwBIgWKAUnKrB z2(7iaGij&(0*8<9`TY`V9VdhwS^UjFBcey@_k-htl^=sz!@9!Hs5|{=uRh0qWZhA_ zrAuA^uxXgCWn^i-q;M;!R_LnY2TrFQ`-@UKWkicNbZ|PHWlL_m|5``n!heSCI(KR^ zT$sJ;zx1sx($3t@p}FcmLxwfygNCU4mohHKR7{O&Kd8r0($>Y)E71}C<-@;6vzF~+ z{K&O_ij#uLkHaiQi}@%2YTESN_S9;L_bgl4_DD=SmHNXa;P8`~l0Ca@D(5iN@?RF3 zUtsZ4^F(^Vb^9r4s^JS6nS&*{jYN($Ef9J9pF!wjUMH{E@+%$J9$tL%QFh1bXFjdd z>sgK{<z5sE2xB`wpTQvi<zoijnvC8n*Us<Yy}pUhGsIYMf5XhQ^amY0roUV!o6hBG zx}N<*Vi!*yzn~&Re4^pT_7^>~tV_y2a|AYjYEZrBvEbq}fl}>7Y}4HRCRRuuDxBHV zIQyi2Zre^lt;PV>=T{au`#Hu7H_19mudz>3N#OkL=<MWlb@H!gX}3;_JmP2gEG;83 zMI@3XihU=`Ldk+i%}AfS>;Y?yb6>oYWURg+uv+^Qd*9+1wj=xjdt1LoHF2%kmKUL` z{Kl$DW8u`LPLB)3i%(n$>SzmeU!cDulAAvzJE6X$<mPe4CP(dq(rFvsgr=)R{BQ`7 z`Ol!TgkAsUGd+$>TeH@_Uk$})#CAoyn2JArVC-n=_?|JJM}h0(w<+hs7_tJl@}80u zZIw#2yR4|E=O3`*m~G1njh73*nw;A$WM!2QZ(6Gw7U6$$cLOWi-o-V1st1^&Cq0<R z>R6w$bxQokq6P0hd~(j?&|%ApS@@`h^(9Ba;a{pvw;Hy3WmM@UoDx!gbTOgPK>zS2 zzUk|?MBAKI>Q|im*R??S+k&a{En<CtDYdcxS+Im{<CDYTCJvpgApxzCpW<i8-r3oh z8+888j%jf=N=)J@CzZZ@Sa5gieeU`hv(w}__;{V110olz{%6=Euih~uh=0bvWgI)I zB>yc;P5bm>v-JV~t%t+d_#6(1@<_C{#-s%OX9!u`p>;>X!ikklg=_734-rGB8#=f6 z)6%#eEbUmpt|Z&9f6#=@!?bn%q-@6c)Yj9kCT}XcbTof=m>I~`9A#~_ZT{7E^a|T| zgFKe>FM>+8*CeO3O+CXTn0`|Hb`AfPP}lSeN4K@uXNVlRud;XZj}u?ooEM5rxPK`< ztNfx%)D*L8d?xW<wPzc@IJ{e1@g(c(OOjrSz6|k~7)#>cim)WD?e1-}KgM-wS4mR& znNaciltuT1c8ZEltq+oxN}J3%BkFA|XUdZ*4l|DlN*CS#9pYB1_nf8MqnP`(rS3DU ztniJ4QqpJLM7hQHo|JIZ|F?=MIpp1g6StyFn2wyYDEQW3a6pRvMVG?Q4?B3o`8`yn z461jnhzoJOqG9s>hP(Unw+un*7SY>wR62;WX6kV!_jRzYI#%MA-dAAE_h8wZY!~n3 z_-8y}9~v2dGT&L$&mqxKT*){&u|-CAW2ua)wS(K)n$s_5IC}913UGh&+AXtxWig|H z-3<=){|w%}4Qs9^MR=`T#O3Y!ZDm8t<7R<n`Qd*;#62E9@!qM!(|tzc{ED{d{f`#x zHJ@L!pgzP!MM3B6tkzd+U*2JQd-zDq_5%tmZSSu{YsOSeca*D;)Dqvm{AXL1=6?NG zrgNWYl*?N%3JD4^3YdC`H>4bQNWYO6Hn-ogBUL-^#Kv5PEzCBT-%Ml83fp$whNZ#z z^bCPa<1#gl%@>TOI{cldxZ0p$()tV+w$d~F9lMx+J8U`K@7bLEqEF1GMg8RVNn#<{ z9U_(K4;q-*-@EQF7bq}&z`dk!!wRFTPv$x--tgV9l<!RF%!rWO<4-!Kvd!a6YP{BQ zeWq)SV?k`Sg7<X$lm*@K{!JE*^9pJXvP5h<&BAs3dZv4!1B2KbtB$S8a~K(S?D*p3 z-D@3L^yjA{H^bA5TsH5X)CcSn_}ntHJ!|3ZP7kM6b0O2ZiOy?wq)m@;mg(q9RlGJ! zCL>FrgQ2`HfgyHn!-_Ru(?6*-mNN;)ri(Bc>*WYcF_ZWdVvwwVDYonCzx!8KU1y&3 z!01*scMbCyqmCF2&(8%4UCHIix=Vhxh^!T5%lgl7NLyg9s=9K)t%W`e1=H4T<INRt z3Fi{bVu(!HWHJ4Va$?^LMzxgX6M3d=++Y{<AY-}Xe+HvzGGAuywp3U&fsfNU;Bb7% z0*z0nuZs%I4A{^gVf=c9Hit<=ZuFs`^+}x9_M~`i)>yD>?gs8|ozD4cn!;%l_D&5| zSfjOfv13wG*urAb&RQdlR>%Am(r5DDG{!X4E-(<A`TSR3;Z=#xJeF#VzK+QPfeb8r zgBJ?KYD+VTACsTRow|*)AWvq}bZ3vKkb;XjQSK{NPIA>akj4`t_N3OWq+~(%k+8&P zUDKC-6bMoE=RI(R->%JIMbg89=b`n71thomI~_Qc{>jDMH+-W`zK`mbXla27EML?# zwq<e$EZWx*z%8G$%PEgz|96#LY{z#P?DFFOVtcwgYXkq81zwBa^>=NlP+eKEz~<n@ zp#J0;7epREn5yH@!=F9lpu_BB-GyJd4`hGmP%da$*7&RAYtLaT)yF)_{Xtz^&kcTf z87{pka*FHLXO<+(D`qX1xgJHjJBys)Z<bpcDIeGvV0&A>z-41TBMYNoqipa&OYYr{ zJG`GKUy)wFCq#I5xU<j&u^-A4jXNR(AGS!%u4@)Nw7>9~A*=t5JG$&|gqEGU?^e~u zko&`pE$WxMcFqCwuzis~rti7@Z0hyCPaa&8zxixcRhY8ja#E63nx(=<=T}_`yKDrc z{JyuDZ}_(|wbx!r$2h~*a;m`sPA=)U1q`(hLYcn`Zq;n<-tc`v6JzCs9SuHr6b{FG zBzn4-tPVY-_4$X(ymK}@IrdYWJL)=Du-1L>jqF&^ws}g6NUq2%!Nqz0EBMw{GI411 zA8_dOOUMyP$=SX~XQg$C%hVX=W9KJvcWXYGwqSLf|3AmotGomJ&a+5Gnf3~<Du1Tg z`lV?BcXibihT~710!`L(c`vCyyz@li37^pP9Il4)>>Sl50p?k3f0q@nZsoo_f6A>@ z50>!C^cb=H)KiVsvt8iT-XXChxiPXf{)5--_QtrHqmf#5&4zBDYbVw$NszZwY}r-6 zDLm-<C)FZ0e?{>|)1wp4xG!YMop_^F;lm`pyx$zR>L<(;+hTm`@xSzrLyG%6D^^+L zi=Ar^w%u5mVLmbN#P+jac2>{yKhU_L>OrsQBask>9TLp~%hr2zPurOI?#0f;sn;Dp z>@2(1#?7X2ds+gw>-__bYEzk39cE|<;Q5y5w)V`5rJ6Uo?wU_eH0zA8a#)_>AXqwk z0mE`V?$2VK$p%VC?F-NB`{1!~-GY;|VmQ{sa<AMeq02BUkGGHG+Pi-zw0%>%T3dg6 zFPr+F|DVWbiL*ipi91hn9kB1z;bHLzv7h{F#?6e!i&Ad>%Zj_U{EpA9tvBCl3FkVl zy;Y%{F_9tfC#L|ju%kqHjmSx_?ffkTZnxVFx8FIv?9Ffc^#{{dPjT0K6uYh<%4@Q3 z{*<kvy?+iaGUiV%Hq8H%^l{$2h@hsIFQ)}vX?buaK*xydRf(hW>@Tz0ZvJ-66y@h? zxKjSBOC&>oMnrhs$=vCi4}1+~*mhvM^k<`0uAK9A>jGU4%JkjL6PtEpimS|wPsi?X z|FS(h*<weqMGITQ-osiVcRAi9&k~&LWAV@=Qm%i;yyFMi+ZH<9lMfWSnta4|<*S@N z*8aZ&?=_y^+NiZi{F}Qh!x6!4I#!Jax(TJuj9Z$r7$(j7X3ohI{h)S(U9ZU2S&iD> zhjys$c=MUhEb)P(ultJqf&S?S+g!G<tV@V8)!nLMaa^+d-98Bs#^kB2Z;Yn=XE?c| zJ7xV%foab!>NA|3wzFSJ_}J_8cg$RpAL<MEJ~6l*>)2kAEyuBI`4ZcO?)4v^MV$;| zI(S6)>it*WneMLp$70-eO^VN1rlVvd8=r!}ir@1EA~v>O<(rs$aQ&18SG^|vzCDpu zkkj46ibpa*zc6`|M%4}@-Q<@oQWKqp8X{M3NIcpiQ<%EhaN?!y%mw$wx*pdoXmi~- zgFQXsL~2*OJ4<PS$iYUY)URq&{xc-8<d$~?#eP-zA$*{-fcHPcK|y~l!}*;K_v(92 z#vE$mQ#!ct`l8sCe_sX`{AUOeZJPSQC2`Nc#`bFdg}PCfl2|s_C;xSbI<RoRhV2UO zH*VX~E+||mFyWeRbCdmQ?EVv_I!!vw)hqp3ywh^u@Ea{#$55yj_Uu9j--iQ=^HiAI zfBPtiJG;g_GC9og!v2WOZ3`Qjb83$tGXG;XoUp!7^(bS_2g#W}cbWe>9{Ts<oa#xZ z1-k+Q=O1b;TXWk<M8uR$$-I7suA5pyK)&#{<mm1E-==8wN4QO~{;8(x`{|UD{WLF4 zw};D&bN^0U+i0k5&{fm_E~N1Af;)=g0t(lv-Z)l@o^h77$o<Y#Y$*Nk$jXm=K0(sr z<qu~3G)Q@=z>zJXaU_UA>f>7bE50d;A)z%5r?|qt-#GaBq{yLZOCq(T9timI>}O%w zuHU4+;_A2U^Pb+laLBOk<G-c7QEZ?37F?ZrPe^O)a)qWgp@lcs$xq=ta_|;|_Fpfq zyD|JT1m_enonn;=K4m7vyYEogvYmW^CtnuM*vZ@OdUM4U?K|EQqNid*Le5W#N@<K; zTfu)Myl>lv{X%~N)D=3Wo(`WRX;6K`sD1j8?qu`p8JthWoK;UKXNa^v6}uk2)I})z zt7?Wt;p;QeW=pNYgWFfsE^uRKijzKk<cR+VK{HkB4KwY#0(n=nEwIUE?TT@&QdK+M zsMA*e=4jHhH@4o~Gk<8YAN(P-VZqCHihFAnO&oKl{#%fgwa}w2=S8HhU;HiIL%s(t zY<T`G!ptBg_;JgswJ$_jHtFV^-r>Ndp8BJEexBR{v4cD8;#AE7s$G`OP{>+z_^I;p zA1=E**3bT@8X5B2oyq;l5vl3<?^FsNJ1mvCeuQDW2MhNTj<B;=Hi<|oPILVw^mOIQ z3Dd4zoL@AhVfA07GkSlngc<yuFn8O-jq3xHXRKnoBkJ*ZVPVqE%~3u~`yc7e@K14C zk+q;9c*5EZHY~gE94m@uK65s*-ev6su1f2U=^HqAHnCP19pV*v<HMWy$w~aT`;4aS zk`(QgjjV->AK5UT(Z4dOMBAYB#hVb<9WoWFU03Wp&g^*jq`U1hf5{Jqf6qiG&b#qe z%w8q8(at5z^U$(8qV+3%-RoF<9pa>od>FTzGMQX{;VLXE+3WpFfn&jz2fcpHISgkw z8E$T`?etdtIg#s{<bQ^MW`-9^38LryXQoC+W$f=4jLO`^l@t~p|09X7p^Pms`{PZ{ z5}72!sh175UFDc+K4Zc1fE$fnEw|FRUq~cwoq1;CW=*G?WeT0Ty)9kh`weRk6!T9w zJX7vaV37CE1xza<w2oGOV2Sbg=W^j+Q;^0IO^NeUa`kK-JA<XJq$KYWX4}QOa4%b; zLwDhXhVvPUC%s!VIi(vnSZq>y7vb+BQRA&8`hj1#$-c2yZ^an_sg)CcwN>O8zxk#X z|3^W<JkVBR`rf*ym8<;uJ5&PSuk2jdxJi_)scrqA9jYQ9)HGL|y~T0c@4)i&#X{lo zoLL(4KO9ym%=2`3u)OiZSDj5sqAR>TLiAqs7<0)_WKj6tp<}t2ZA((brKS1qx`OfS z2HJUlc{YYiJ}B%mn)XRSaY3mlyV9@oGd{L{35&?F<*2@UT%~iigE!*=uC*CFON(3_ za#lVxk;q~;GilO#dPgKR-aueSkO}i&_5kU~7Vn#mPWv9n{%2TmDd`)N_iEkSCuca< z?h-WG&%<NLa`vPwNAtfJ*N;6ddUsmqbpCO0S+$AjgWI-?`LE)9w>e3f@GsQq%Y5;p zD}!riW3cP?rdV;s4?a`xPH@eA!XYF7OwUpOL4)(fE@6KKF@tEy{>+NP6^qWi(Q#e8 z>5I=arg_Jhx>9)<c7KVvb9zr#ow8%Tgg0B-6xOaw^RF=TY`>cSpMfb&dXZ(6{|_f) z`5mWbIo)Rd&JrPiDJXcx@&IjDo)Yf@emR$jsY`yiM;GvH+{bb6xCd*|F>T*<72dgu z*&I6DOBgPicbRnPZaln6W8?lM&-(2=8}ot!7e(B#zj7esgtl~IjQyGTjzuf;ZSAjA zwAS5VOTF*nHuVTA^A)?riM!AL<KQ!zpqPF7R6s0$lA57gw`9@O-maMwLp~h|oM4}1 z+M98nEo8y8{|w4UByP_?(HbfKs!5ZLz1pJ9EVucf<c!5uB0N0b8;^YGdZ(6h*D`*_ zWgYW{=0XR#9?l4!^UqDF>qLPI>x7;N-rs^9ZHp)DKJTm{pjqVdz~>BapMuELrU%?D z8tgm$lYcelJ+1b#IHPg%H|Msp2l_Loy2Tv|%K0%l@*BrAu2~O7ofds#oI2Cn@b<gp zNhjDhva%}QFx+rHcEXaB4^O`9uC)*o2sxl&uDK+BnMUZUZOT_dR=?qlII&q^<=Uez z59%fhZ|s}&g(v!yb^SKwX~ryOK5rz<u6kEHwR~;y?LMyjonPVDwM234?H&)drX{2# z-PZmwQ^Z{Aj-s3C5}A!>?uR(^IecdpJ$7t@2iKNQE7%OWV)Yi}hQDcj=zfw{(fNe4 z!X)h(Ce30x>(x>nBo#B->O7id(y~1iMdvH&irOVKd#9Y=kyd_#<Jz(J2RSnPH%?*v z&*14X)xKnd1pAFr27_lQarGCq4rDZ!yh;$OY;@CmG20-2!TUQ~&rMj?GA%t=Dx#K2 zYwPAWg$#=;ck>)Nv*5|1#KZelv^llDi>z6x5|$8ZvXrqUwD=|Ci`|lr>EEU=le+L) zbN>`yv3)*zQ(v}h(45)TG}pmr+Wr@>IK-cPE4Q$HuiZOic5&pvQn{zaG98i^j+$xA zSTN;&QST15nIGC*weC++JK(e|u7gWtf+=UyqPf=U-?=%<j-7qQ_RHE=YW@~(Ui<UE z=6@;FSQ~qQOR~8r$f;q<%QuCZ1;O=O7()+oW&EBjns<EB!opp3{k3jw`QPMi94uoh zq~DpBy7sUw<=Jc~DjSlS-T6e)o9)JoPq#1f{yNFd5D}df`NjT<xCHOP=s(9d@-}U2 zTu|H;Vy+i(qQPwjUruS^<Z1igDKTub_vqp(dKti0S+F8ptm%f~w|>*9LS?h%XK1;u zZ*XLM(#?Ox=$}N>_xmYa-PtD$YUl50G&*dVx1eZc0&92O3FX=KD}7WgU$jcvIR?GD z9$)OB_*<P}?t|SLF=k8NF?g}wunQ>v^<$>Y>-hz1L{*rjPkdP;v^pd~@kpx2aYoJH zhwU??Mfbb#-CZcEw5|P&pzDr?3#`UWf#o0SRA-%RPh@lu=<2wC)xfq@LM?ZGGo#eg zcSbG0f7mTJx0daF<>m!mj7~up%-#qpOC?3$Q45H*mVXs=rL>KSq3*<-+|0Lvhk0u_ z9giM-<G`9+uPiK8$UA-gGgYtEH7(jteuqfBI^W2kI9ZKDF6?0u)70lLnJcxP@w+x$ z*<-`qI3vPT#oV;`tJbynD-!o~FDbW(v)Vs;uC|}?8B-vWa*e>TmOT!FXKfw{lqotq zPhTu5wZ5U%o0IpnbjuXa;OV;sqVq00#bx~HVaeLeEpnN+VhQWI!mZEv0{%0YTv%tJ zb|z+G!;`|~nVG_Rt(TQlS4auFuA2Fw>F(4B#tEm_am-?#VJkj$UcAth%twljJa3$0 z=iPTod%>$<82S4ETe}_C)YKVu6J;(;@Q99aE9NzD*gWIVrCNgpOGB!B!Z-0X{HsV; zzQJ%+Si9k`Aos4<DIo#J{&`4lzoiv#dG^5M4GUru4HQ3ZJb7mKqIqqqOmUi`e){i} zSPQF^jxGJtm{h+~FHGxzQ`E{Dj|h`h4z5dg`LL!bU2)kWzBa<4F)wq&>_*cSoTaNT z>}YQMGNFUlUPa(q-J=-REZ%7C3_(Rd3(XlP_Bcprp1g37D}_~DRUvPoN<sgH6?O&_ zWH@)bWG?zD5aiz1!RWBFHHhQXs!MO#Tt9x|SoMmnPEH};N$zOQxBAX}Hm#LM4%AF| z;hh+BdxchVj*3!_){D<vE0+nM+T|4xzDUd9K*7ns-fSNoraHAPn4tMnz$^5ZjLa7K z5{0Ose~VP3Y7U<{G1cyfW=iw}y<ExesVm+zU2%Ko{%cO}%r9LB&M%hnlRNZa>huNs z9w_DUu4i@JJ6)z@d%A_&F$P}sT?=;gU$HsPvHz@K30FplNY8=Pn-vFsHGA<T*hOX~ zWO8n5zbGrlkr-R=!QDC~taoyOK%#`?FE^nuDIN#O<|kepBEKAXZ=bO+YGaU`x^?%A z5Uyp6Gc@Bjdobj$c4AH!U`zKd*!AR3Q>d<(g!>ML<&rP-1hzBU%vj6fyRA_~F<vE1 z<rWi5p#DE*Mj?rxY*K+54j+9lF-0zs-fOtvKSRK_7t0?^*)gw%(=jD1K_}qm$)>qU zv##DwOVYiZ&SLiVinp6oi@M_<Ih&)Wzc~MHIQ0C2OESA0zai_^309$h7d3nC=6qz) z^!C!Kpkp<xho-up6FO@A+-c#q>$Ve<h0@($X(+Bgb3`VPkvV6-idf4*rVZRK1|3G6 z30GfijmYE94Qb(0yM4p{%5u*)N{_Z*67DR2qUac0ufB4^DFeByuV-wH>Yu19bxlzx zY69;u6&8241lQnYtYQ2OGdOmNt^dlRl6|9Lr@hCe8wR>d4mTX+juHLOpvlrZYvF23 z!zWD1kAl{1aJ?QilY#rI4sYHrk%J4iiWP3q;#lba#O=Mie{s(@_PB&a5srJJ_B{zU zJd+W#l%dvfriWaDyLY=37w=kQ4Q=K>KAd$cg1bzLwy%sn!d)b=_RXJFqD$=#GjFi- z^w}CeDaPgaRRL-F!U7S22r<RA)&kngL{IQ^rV4*^5WV$@!#N@LV2s#<)9<Do*c2l1 zo4ZT<aQY-k;T;^p&L519xeNY2)h_ud?SS2a**rB3-;7lp3p27d|0`#T%`TXd5nIC{ z?l6&!ZJ*D{llK=i=|o$-=H{7qS=j%xh2niB=DY51{w+>jbU*oe08?4nGmSa3<bviH zygbo#IP3U?KIR!>(pR)@If)+qyWr>pb;aC{3x<uXbAIxFW&6Z>r-ivR{?6`+lSHM{ z-ij27UzD;4I?33$()F|0+O5+w9Ty~hXl7U}#=57JT~zM9hUmfgCCsgcT-;r&xJq&w z7&rr#7;r6gNLs<vcx-{}*#m3)FSt$#o)BMnTfB#54U0p=xmwY`XS62FnUJu>>EEG5 z=0{?VW!9|^L@ZmL$+NgS+D_-us$Wpix9j|77RjSrR-SLzXPAgQd7J*D!SL{2R)>RO zVN3^>US$X<{-fM>*#C=~f!>6zY6{%b)Y<ETwr>2ax*%-Qxf7am<_k%3sD9JmAGoXc z=C}4}`HwT5rI!mj-s|6$e6RTz$EuAgl1VL}<c)1}Kd{9ew_maLW-CW<%nR?34VfYZ z>n{fO9Q!4ICnGH&QEB~4F1?v=?04{Xf3Z_wkW&cH2)bdA>b6cSa4xfbol?-8jNet$ zy5?kPFW>%ENARt@MPJL(#$<I~QKpwuM6>i04#v10cT;sczbLwV_P6g>1U=3#@CtXj zH>ra~L03Y|sqc<reG1Pm*NVT-f===s)O6p&^j%lStXAnOE6Zj70&c|}DOVr!dob;( zJ0ZrpoqOAkZr-RKrqjz={N^dGVO(QvDq`tvnPwufGjZ{Gg=rc4&;NCm6I**=mxcW^ z<=XDQN>8_L;qG3Q%+O`H<NMQp%U<0Lh?sWpq8M-BC+m)L8)_GZam1f^rQ5%OGuYH+ zYiLqjXZnN=jYIP$cBYkcOa0)8XP+84`^l{Df(;j0!tQ<4UKsVsN0CiAJLYiG?DGs} zajQ61`Y`6C>8`r;@bI^XO;^sGD%!;*YIvG^&-C6*wwVcyO!0~x3KREFG$<`(uIjxW zws&3vx5IyigT|84+cXm|GBhf(M49GjnF{1Ha=o9?ompW2Jh*koJ`d^O9eD?K?`7F> zeEGgK)phQ^3A^7UHyz8@$!jnO-R|%8RfLz}?W<T(`(0XdmQR_M%e}*7Qr3mJ;>J@> zGcA4j+k0M1oU#4|X9xF|^ItW^rT0#nZn(W!FJ6f+V()y7&+flkmSym-<WOc+S~XQ6 zF!%6pi)p+0cJlWvm^_i$?ftiB8c+N5a^FmEeW55QHnp;{Mdq0CMTG*>p2KD{n=;}T z1}zckc=KI0L;s<`-Sih{#9Qz4xG$AS)65XQ_?atJ{-)TuTN$mbQyZ4OspAMbrhigo zN7j>>Q?wXw>`a)s{NM~O=|(OF$xwBH0<ZrJtEUzj{bx87ms(ln<uvz|(b)xT!Sya- zTCZ(+-MBjV_n7?i$t<0}mi6xT56+zS4t5WIaapQ)crT3lF4p$Xc5zPLhqEq@dD#a| zgv;8_Y+BYL_j&ae9`4F3*>9yAD-TX>W527Zd+UW_XPoP4y$AIw90_+?opQaOILA(Y zQ*$6Ja$`(q7&k{`ier`4RBmJL*~<l<vSo7z=v&AK>q_XKm}%o>wDW$(#JPr|EPwTM zrPLA?zJ6<pmfoIH{o)|sSp^p36s4eG=B`Z{-04j7KRK37dSm)bS9Erfts^_z7X2L| zi$WwC*K97*4d{HLu&vke!n^y9Qx1ewbLdWgrL>{uNbtc8>Y=sb=FW8&`kcQgWU|#b z^5wD4xW%71{Xow)eI^ObeF>tfm5a<;>Tm4cagMRz$BYuW6Gn_@8P~gJ-k2I4+dK2h zQQimNS`+UzdR^JMN9yvKswSxm?*x)&M|jWC{iM3pLAqxGlcm-^mXqu!SU(!BT&VS4 zNQ9N;gO?@aFM(Lq;|T^!6YC2;iyuG0vP3IEWEOv;AlJv^inEiS=_yOb{%2^4XP4{r z-2IP9Cu-yIFA4^ZX`PkVvznY9ct;--*Ez7K%B|76@Wsq-eue#4@|l0g-#K*c_73(A zzR7%1pIY6OM8!<!E5&>0u&SM8&Rof&b%#N0W>c=^`WexTkDoqUs-*obVR1#PE6?1C zCxaQb&XeQJw(6f0bnexgsfqX4rxc{*@K4#la+g@^Dgh;fPXcn@HlljnhQX{+(=PTc z^jpsE#+(p;rz7$3k_EO06TJ^hTv1_*HvOUMzg)m);iiXCsSK;$SH74Uko-m6VC%Oj zY##(R1Q;;-WbyFMacyS(w@|!$4$GOA7L%YX%`hdNZ{Cd4icd^6n*Wrsxjx8Z)AqMo zHyPywOj9&UzfI8k5YXW^or&}7hqes%pKKfk*-zRSa&zDE9Ncm~S-|J&40iFEMT#5F zUzqXC^!7BC8=AZm&A<Qke)ONgNi|R4v`^%M6PeojD#6(=uedi(c>PK2$&Q&Dze>7R z#3%*rj^i*%tD7v%aQcLjPQrH8mKD2dIJO!5=?sl-;Sk~5?KSmA{fj9Vw)|1x2wirV zuf?+dm6}ZTbd7TUA`^kd-*wHt30*t!d!CKIl;cG9I~`(~&;RZ8WUFf_Q&nEb^!(?A zE$VNK4lHeU>hx7AZ`qT4iAiZsVZz<U`{|R4n2R_L&g^_UF<pLwz`9LkHeNHmpG=Vo z`X!w8#Bfp2#r00cQ)LgG-Wc-1d-e5(XJV&6h_fy-mfg4X_A=$>rvVGp{%u^R*^{U5 zA~N*=cZABR)2==_`?oN;6mK@@U^*ybKC436@6$XN@jnbZi>f=g8@~yyJ<(Ak^-GYo z;h?4d16Qu)I~+YH{}AB1`{xAHe+CYRy!9Jer*wL7X=p9;dM=<f<@HAPD8&uo23LdT zvj2AaxON{8LsrBS^N$+a{vCdm5-u!J{XuSFZrm>IlgR?259YESI~lmZkozusB7=zT zfo7@t4PA`8W0(c>Q#!Mk#|u4>TI0wcQ5SzDYGblX%+lOT{~pA7Rt8z!`_{~{LYHZ} z?l#SeFHMfwtG`usO)+Kd&1Z^gioeL*zy8Sdo5z&B@_Zwm#2#+f*gN^eiz!TZ7KBXX zPe>H_@VWlVy)_e8hTG&l2rcy5*8XFbYud#r69YrC8AUesH^uIXvs5bB_<9Lr?zF!G zi^9W|L>D!#<(T&T=m9~U_Dg>qLqZg9NniZdd}PDL`VT7_Elqi+9N}h~w)v0_iw8qa zf1+5f!{bRo!55hwTn>nahAyn=EPvjxXIX(kvhji7+a_Gw8O4s)T@~IL#O1j3K!Hi^ zI&Rm%-%YC|uV=95N0hW(iR4_{FQ;H-%#ijcVd^r`Evb4FbW?Y=u6n)alhOh0y&O7A zexB4Wa?n`DJ-xzq!O@KhWeK<QqMuYuW7>46w@@Ua(M?)%f#t@GCh_AZrsjD>-n#z7 zJABXM$t!BD*Isaa6U@c9<zupndFz%3-Kp|Fxdj-Oeml)F^}1g2bpCS+FTCQF0yf1v zI4QdnvMgCYccS*Sh|o9Hszs{~HB7Z@DV)w=94P5^wxNFI+$l$bb#2831sqN+|J8NQ zj`<N6k4}-Vub|VqGkbnb3;)Bi=xyOQr%C4LnctZh6`rUM<jK14;&br$nP`o$1Vzce z!m_(~xV_iA#(y_UOMWmdc=?6|O*Re&k@S<ib2rF7jZ-jL*4nU}hjVqa)QR_-#3FkS z9at8@<(U6g(Bj`jnQu$XcE5N0(WUTg^`)n5id<Y80lAZ3MciBeP><>An<R!%ou;V! z=anaj6~CEwA)4XZk2@SW$JRb*+!Fti@ey~Rn~k7a#<%zx4h&%rrZSzM6wsqB*>#t{ zF#EDWhT9U+`a?_gT-K*7Tdu%&V6T#)?vIu;)2m8kj_NKB>E^k?7*$y0r#X{rXQG4I z1_8_dCoXxX&%U*|e&>St@0JsqjxSt1Xa4Rze*BBzKjz~*G+qTykbBxCy6;pcU;a&l zJ2A8EzrIp6&}<NQtYUS28uF*3EMxIu!xG-6zAZde+`Stfo9Qgyy5>&o3^9R<ybfzk zh6lRE2frF!ZhmUUJAV;xkza!2)Jb=k|D3ig-0e2Q?T%o|hviMVtamJUm-8i_Kcf-) z?~4@MUj7*~LZ>wx;Mu^Ub)Y1@Mx@N4B23z6{ViU#1C0y9&P@pL-*L$CkDL3773<5{ zj|496eqi8w{zARc9>06fG8fMfc>d=MYyE^N#kFk#Et|Mg{xc~5b?xv<W$n53LZabv z0JHn_N&E^H{~0nAR<<2k%Q^kQlm#XtH*bDw$#3D3zH@0(cJedM{|tsPTvtt3?p%K7 z-_ohR+c!)+?3*P!weALM=-O?p&i)k|CzhU{6mhcackhj--#gYW?mP5A(>a*=KZ8<8 z(~V+DHIw6K=Ikky+_t5;NrmZHqEpv=<4c<7*57)3!lH{i;Gn26SN9z&-u7n0%rGqm zwnGz_T(d8bb`oygV<Wd9QfKkWX9`+|OsiDxFx*;Y#{ONzHSIrx2gA~Rm$`Pxc{FIs zr-X?<{q3&j)jIJ3e^SKN#V6-Iot<6~ET1Eg!Ck~Ha#iBfG?VQ!LL!82E3I?g&!Oqu z`(5Z@NsZf-jQPm{9-QA*TeWW_NafwXvzNEN(^Sl@e5S9_9*Y@T`W%I#Z;KidPHbJ) zP}x_TkhHU@b&kuYWtM@gIm^Fwr!Ls8q*tlG@jK`GSv8YRP2$-4TBt+(f$LJn+=HJb z*{V-kwiZ~%3PqRea@=nI<Z|a=R<obNj%RnA9=>Tf+*16OHD~QEwKsXHn^IGY60$OO zgd}b_zr`obm&bwS{##~Yrj4v=0gordu<(CY6VMMjE%y9@gVXd&tam?Zv-!!eoZ;Lg zBiVE4^+BN>T61S;v{*Yo@R=4M+3@W9e})$415J^ec~(3~Vl-q@J=)IseSxfaJo}2y zq*Z^#x!Uc27A*E=(5ycv8F$L{Ra{kkAXCX&_k$vnUO(ubx%`!4Ud1>2E43@v-FFG_ zi}!TAHSL=Zci<6;yM9Oax^CmQ;(1Z`ptpLT;@XV04!*694<9A2eEd{yom_$sZ?VXO zynh@F)1nzfRbB=wyj{0oQP;kyB0Elhm2EMJyd%V=+7&APz(s8CgI$Z}{5jy3SHtO% z*5CLj_*;Rp*`f;q?|9aTuoT8Wuv;LqvUw3lguTj%AQj%+vLCKN5x+SnE)KPv)wcbO ze&A34mCrOKULJ3h7MRlA%Rf!1>zzsZ@y?q`x?f!)!XuOdv-*Fqu=yWynD#W`$$}ME zHGYeK)rtMb$RFt7;@#H0`z~i>++>>xiCi9E4AS)Xbm%ueIUR7<F)qom^|#;^5gUJ2 zhv>*}?haQbEWYt)qe|Pq$;{UU-t%W9oSk0l-Fjxj@{}UBa>u%51#?1Y)je@o9aCQZ zmgVLSgT&m%{IKwbgfhKJ2VE;C9q9hT{+)B~iUwikC)4(=y3MmpCVrEs|L2D;#aRqH z9xh-#=E*8JX`ySp#g8fMPTppkKYfJtf7Lhytzt^lohfgyaGQ(XQGrn5^^WW=h8g*B zYD(>ryq~YI>Qo7Ju>DmPQ#IZ&)#5TYL;R6e+5XF{dCf&3t`|JGHVCFO`~Or+&}Zn- z+W5&)^Z1!L4resBty}PW)+~=GqmKv9K93g_Vp0$Z-JYZzn(^d&&{D=s7WNu*uOlu2 zd`%&z9ty25=P{aeV8N6JilOc2l+PVjpP?C5cSb<u7JI1klislW=K&dwinT7uN=H7_ zsNP)D!Wve?(R*U&TM=(>n~oe_gU4@cSU+Cb*!KE`FK1`o8Ku~d%qwO`{hfH~lBDAG z^asKxPKiw1(9roT@c0E|rkAp--xWOjH^VFQPV}KV^&JeqBxW-<6fS?ECL{dHWqbA$ z9nQ5WvFuiM2@*>*SH<1wZo2cIfw9lRVvC@+s*9qWgvd^f<izGD-dWN;0!<u06WQ-h z;Qeef>DOvk-FpJl61K7>tQGg(E5MxaOfZc#{-AK^6_Jj&j0JChczs~~+3F=W(ZOYR zW75+2gWNK?M_i`0ZxlFqZ8k@MWWtIW?5DVHSib4>J{q1fv-XsGbi(Xv-NlA!Qd1{z zB=Lmq<VagtUu3MgX0fWt2fIaVFL-nq_J31l2(sjUrKmJbLb%0H@j=eVD~np0Pk6bl zu${EWF!`Uv)SUVk4i`2XEa}Z+2%J$RS+Vv%!z2^d{iQCEQoo%J@^?tgShn(FSG!JX zd3$616%Ou|FB}v$Mf*JEnWWogbg<}UIpe=YLYtRw;hIvze#Eat*M1XYL*KUgBYQYK zUnpGmVb6A3=>DKV*XJg8?==g)sWX%hG6wqoY0~iB^g=Z!|F~1?!C>+E{987h>(J;v ze^W@SN$68{16$}(rfRk53B6pmQ-8EB>YpiMcC@#AW6;XA`nR|PHagfh1%&ZmWK7T# zF*))g)$7p@HYW2m>awbDBUeOTIzN%oc>R|t-Dh9aI=yQ6GpS(hx|+$%CXdVw9hw#` z5#4xnSxdsU*q!1AOD}uGh5wUr$&RSd+2{W%QF;Np#)QhP`Og^F=+!QjOk-Pg{6fQ% z=?7d}-=;YiPAfXcdO$J4A?Q?>QUCIlU56De2(7>HRb~aVZ3o*cS-(KPt4zClBi#(W zwRAbem5v*5yjXX-XCeR9IoB5YNc03tx)vVE`?Bt^(X+xs4`<%AVE@&bQCXmPynIIN zyMTsp=85l;cf42Zz549XQ?^fmGb2Co@Az63>ecf1_?=8i?TwrXm%iv#v^}v;6zx+z zI@{$d2eW|z|BRX3Wv#qs@;laExE3pybgzH$&V-Cd3G5NvKDi%uPH@}5Ws~GRjvj6o z$L)(Qcq?UG;5d08EimEnha`_>`!lZXd!dvVA|q{Du#97u#3r@yq<{Xe*qiDmGGsAa zZ@0Ez@kiGHbj9LA_lS%6U&R<iF5j|{`q$}V^hqpf>wXV09oCH*rzh%IcQjmTcQ$(I z|Ew)@{f+t~3TFZ;?Sd<{zt}BiV7$+!+%@%2r^C(t8XGgeIX&C|$jdP#^TZhk(WF2I ze?{vIVfAwwjIou?iw`l)lE^OgkMN3V&r#hoBavaLg_3W!Z&$l>(+`QY4F4Gnla>i& zY`N{u&=<g16sd9e`XMf>;5jqqD6QY9lWV9q^<Phfo<LxN{F8>Ia}G8Av})~&Zd|7u zc%W;;8BebT4LWNrTXiJAeD5%8$(Nn*Uh1)%;=;vgZh9#yx(!F0`EB`s_PvPx&!GOt zo5AD^^EvfDf(|ub#H4hz7JBXAoRFEJILCaw(~$rk#}m7L`8Y?PpOSe(Av<+{u)vZ7 zubFp<8#pK}5W0VhxBGmn-ttYUx;va5)2D{Gyxe!y@_+y{N7$kR?0<}oO11M{>SevU zG1kQ`y{~0qfL6SU4%d8zCZ>c+g_~0|r-|=&E;IgBD(cjn=P`wC%Z<;4A<H^$*44Ok z32kKC<-@sn#gfj7o}aq^83a!MTu@`+Ra2s_zeB8XYII6VZrA~BgF`>L9{zmWk*v1w zpl;eGLAGO&%uISa?teJ5Ang8?Y6neYp_va0LKfWhZ`2Lq-Xh>&a(b@on*2Y;oQ~|9 zM4Qh1DHLQ?`0dQ_=8LU+iR39>DS4LGiF@pVy$(Fx@R4Kf{A-c1CczcS(q2E*SJ=Dy zey~5PmDHrMl_!GXKZDWzQ%^)))efA?V%NHM<ExH{N${loEBa0z?>JRpe`dKrdUIsM zy^Tya<-bnrQS5cPc%Vl9j#Kp2&jvF4r<iVBVe0n&>}iYm?_wJcii!pPIUUR|7ypyB zyZAfnY9-D+5B6F0=N`MTBCJF2foHb(@7)d8KDEVP_#pB_?U+x)r+*Vn+~&7DOiemE zCyJLLt97U2FV(`7#ANve`~rfx9f_j08jtTTKeA}{nWZhx8GPSrPjnrOSJH_4&u}I; zY@ruh!XfSY6ceR~Mr{c%<{bagV9MNnhT&%Y4!1>fJ~*UKP2c>CsaYU3u7BdY5V6;M zZSgak4yWJf3f|4SmiLEhqvRg9Q?YGfdUx0VYB)PZ?$Wx*0G1nCNtf<-R82X1?6<_l z4^^spn;2FZ6e$Qj_s`%?SJ{|vz*T+eiT4)$8LEM$zZB%Wn@+HZL?j69S{uA@`qLH9 zR1IUZ{?5$W<TO{E#mvNiQ=s4SFFvMQe>WTN|Dw3^bsH=1oEhD*JquR)-jHw%nln{o zmqaQ@%dta0W>h{u^We?$L#h!|G}sco-HL=Cw60k1!4-7wu5xN-$&>oPAd80J$`uWF z1h(WXXg<ZpK7&<5Tw@Zq$$tj*&TO%nZ&obk=B_`IXBZHdU*K|TpU0+VMYgGNi9D7H z!jf;C!w*lrB%K~PuX2au4z)`xpG0DmZPp7Odf&^!`l9fJ|GS9Q9y-g8Fs=N?_G^Wy z*~|s&jh0M{u1dXFT+^7k?tX#!dZ9B6?g~GrGaq2BRAFWRBrhni;5&cL!S&}i{cc_* z)FIleJmE9T2ALA4Rf_HNiw=JJm^iafui%XgLx}&4*{N*IC0Y8eKNoWKh=#@7U1z;} zH)nL}6@`n<CWkJhJmXK*nZ~odk4-%2<OhY1Vn^N27afl_coW7I*7boidh-XD?UsI% zS*7~#R7liuSZ|G}_SSkDzhz^PhLqkTo_4;@NrHLYf-ic%ZD@+lcIpg$6}<F-tft?I zg~#GAB?SJ~VKu4ZxSXK=^bwN;-^qx!`wx^tS&Kz<PU@R8oY6HE-5Bzp;mD2!m29yK z__u7^VbVG$NQA#Y(ByPS0@vqT5j{897Wl9kuXl^&Y5de<-1nG)<8Q|_<#K0+74b~r zk*iM@b9fmuY!H<aEP1j^!f;a<>xJrOk%fjAY`y(`-$bw-_{TXb{jJ?n*Ct1vBYLb; zN}QK4sJuJqZ(nS5VS8Qy^O2~7HXW&({<4{Ho|HVKb+=<tbMrU1#=i$yrfsWMJP;Un zsd42IE#a)XfDTE<Q>?5N;V$(b64H6%PgpcX*%un^_mWthzC$A<|KL}S%srjk>=kT& zHZEOt{D94O7HJ8ogr&Vq?@vsdeu`sJ_?5m5J2MiVhcLB2;JMdTJI$r<Po;NsU>?W6 zM~OU7YEvJrvz7Gp{^xnX;(?wRV@AT6Te<8p{i;U}Ts^h1`z7avN8-CQT%+~HSH`w* z1QzRG6gk5@-+7Oh=Gi4&DwEZ$|0OU@TK8ReQQsOB4*3OkN*9|PR%UNpC?t4F<d08x zZheZww)49<oIRg3Fs@`<v8LHjf6CU$H>Q6UZc?~i!x<?1?B(kttcqbd5_;!UL)K<6 ztz7?9;7~ye)4`@=+gdemKU7nlwxd-~?|Gt_(#%||`34If<aBt=mwSAKK}WJ9v@GXW z+fhFT{{VrAEUwv8l@BV2hSl&FG8bpC#;3oU!dhCvb0)>k?_svZzEhvAb<9pJo%SPn zL!p3Vg!G9R=?5HHOM@@02w1>>&g6RczfzXtx(lW}Uijo)N_q+By4h_Crxup59=E%o z^zGpjd0}mthJsFg7Os{3_s=j*?yFF8<od*aW~pr5q?db7g*HAE725nyph{uMhF;+( z9a|%cxns^H7V&;@++Z%kWpO~!J?vF#z)V*LM#ldPNeTzb4lHq4vHz|3!C#XOE|%ZM z&Ghuttal9D)9npJHgdBp`rG!*CA0V~$MpQZj)l8VbA^{Tgd0uOpR=QB+J!r&Yc_n_ zZsz>kslY6^LHPAcPMsdU9rmkO^Os3QY&gn#eEJ-YDfKg@Hfycd*}udjWoJP-3lGo1 z%!YFZb2uv^*UwnRsL|M%o!9XwTXDgx{NnGNtd33w&u>ZH`}R>Y^?A(wui9#*7u>A_ zFU3X`@fZGQFknnmzh&{T>ZYKd?{Ohcq4<Cu_IB*+4RVws8I!dVGLv2&$%$_Nc*R{c zZ-MzV<?}Py75$T#xz@f3{+G1iA4lg5PR|9x2ZEKIS>w+95pW4Am0Xp`Cd{ypW6?Wz z+xbFM9WorUSyMhZY~N9QVuG7m6=z+=UZ&#A9VUUtc%Qu}GZ(1Vtr332vg3y$kK!G! zk7C{VQv#N&-)LIe-r#hTT_yM7U$r$)nR>TBadG(1kpC(mG@OIc!gvbn>K6?h+WKs< zTldLoDQ6_92)nP;Jn8=A*lTaUsjqjQ3Ejskr*`>21Cu~jl^}oB%d}bD3HzIvbOPKe zGCPC!?lg1o?*AZQaQr}wL(h6A86KJ0)3|p}<p`d@;b1>=#;q^UCq2E9(6eCgf%O3s z=H3%DW;1L0WN_p3cY}n&ElHXgVOv)<Gwpogt)1M#%x2p$#o#N~h2t_CnIdXCZp8l( zx|;WP+Ogf29*G`IOWbh(+~S$;6B-13U)U*Wa6P{iweX@GOB8bzgM+;A?H#KxJ=kBg zY*Qt-VrI#~*g^&k1?SB2XNqCT`fLFOr~R5l51w!E3gMM}(_IwrAs{XyA@;Gw>z@IO z;9>Jd$*#j2c1%3^<<|_2r8~7)R&8BAp?-xz<PynSuP15-PHi~E_rYmepupK=xn>5& z&bfk1wEj6CiCiUYyKjMJY`nnMkH01?QA@gX@)g5+)t`EqU7ShYKSQMMF#q9Tx|Q`| z%H{;Vqm2o7l4Flg6g$M}cSy8IU7F+I)dS0ODjWA2$N%wWy8h2&<~;_H;tx@QMfZPv z)l?|8<JjoI87+{s^<N`v!to=0Ci^`eP5UbT$4Pfn7Sr|QC#M*eUvXIKX!xMvK~jMD zBh?u3=ud7@kA$Wq`B?PMIGdK-IV*8#&sM&YT`#-@cL*$%XA7RDysXqv=?}|NZXsE5 zs~6su=4ZCLy?LT~cZn|VdcFygi-q(ZC)WsSEY@<~Wg*+7F)b^=J5}WN7pu0${|q;r zR-NCmW8>a?HXRFh{W(1~prNVJ{eq9c*~{h6)VkE?9%IZ3(>az9bx`4AQvWJ*H;eO1 zhR1pj)@yAs*75R;;WB5xQh4BJ)9!nRB*kvo%>SsTy*%Lv_q;DGA{VTFG?rZXC!lkB zen!qG+ofKYzOpBT9gy0|$KCpJ`XyPVP0W+Oa0WQ;J8^Yy{TAo8uD3HcYR_}&%Uqvb z-E#J|U$+#CY{Cj>){7c3EVUi0ZWt`n`p>{oy}15Ym!58No5D?|o;iCRbsagh4;_#) ze7-ZJFVLCeujHxY2R^h^9X3!}9CUEC1cT~K7v}hjvXd%W%P0Fy6uKQIH!*VQ9>W|v zm#o|sS`CqTk=>y(FJjiV-N+QPV0HSv(6;sAi6l`rI~NI^e7Soy-X4+{=f5g&dM$5w zI@ZZq-ERJ!zy<ayPHn+YHSX}8SY}=jnKPduPfSLnK*n3}{1c_*fCg6A>ef4_zNiQ= z%l}f|>{jdZ?TIdPWBB$XCF1caL9bs`%xXHC$1murJcD6Zw3*MMw7E(VM^Eug)xO}` z9qr>S*K;}{cIOAx8;wumQmyrGxGh(ld?|9W<L~+%7etqTV_|D7*vH-?a6qJ3V{zM) z)+w7dq@6N#PGn*gDeAiYr8UpsH)qm+hE2iqIN9AocTaFSd6@CT%vRnb5>oYhxZm{s zQayUwnwweCgQ0QOe}=Z$`Zjq}nXp_1nIG8#tYNAP%ra;9bmwk9;l;B5PshW^SAz2Q zJH!9%-7hQ@P{7`i9PyK5)!9SSZYwbDOlWX2xyAO(uS%&&FqV6Yf!G(-$+ss(nuUCG zVcLJ7?MRR}x6_0fEZGx(v<jUz@Ll*PUg*L>pJpSOi!+q|%)7|6Y<m(fx6rwsW#9XM z23<8&JGL(%dR98q(p?F5kMwPLmds$*?X&LPAbz3SW&XT|@JTmj#MQN&^f7E?Jz05v zih#BJrGyth`9B(o2ELH9ITV|HW2M84$JJad0S$?Bu0Kd*J$^!CcizH+#ay$u{b%@P zJw3$vkAl&M?deCtS~aJ%YRvTEFky9(dV9v2HF?hl0scolp^@yY=EY2A_OsX)1>NcV zpuQ-=ZF>8wsH<`ooK36FRLVWlRr}`sii3C8@sz-~0So`;c+F503p4*%|7J<({ezkZ zvKS}IuQ1T5XyI4lZ~Uz7^YHJ{Dc3*sMyX!Ws{YKzwdMl{<KmjbMK_w*<?Yq9r}Aj5 z-qE^=*W-bG$kMkt(~Z;*snsvh>}t9%AXR)y?xFudM)l1sTS7ZzvR<C>wVJxi=je)z z9fI3jWVrYq>vejk%Ipzr(Z8@G<&^k_Q)0iDr-@JAQ*=hI!@FotY=W(WtJR8#-Ag|; z1_hsRnfJN**K{{Ar&G5oKI=C}8aJe{PMf<c<n+|m1tvc_cdXJf*V%7&^jyxA16#X~ zTD0CcI9<fS?&+bMt-p`iu}OH(XL>4J^OybC)ZNFQ9Q{$))mGe~S(?<4qqYCr^3>$F z1`V}~R&nJ26xj8jVWKgw-6Nf+%e@*h>=qq$ou8Tac!`Sm;(78cpA<4K)*TW{Fu%}P z^xDsJR`y$oUf#!sp*b8f+(q(*x}R)2*86>8e3d!v8~YBW@L%g^aJ!c)^SpFrP3^ak z{BFEzo>P>peF~%Q)*nJg>RxJ;Y)g>XuEUaYRp9;_FD`}bq#pvJ>GdiXJofwi^yWGf zyy{fR%B;mR95@y~IU{-}af4guBh3aU-tNB=47rs;$13iLI4Q;6WL>z7an_D*O)Xxn z_3S^A!YV2|OONfYZxk{8Jy~bH;RJ6E9^<E{I(9DQ5Mb(_DYzp1{yUa~mRs+C)oR>w zoyDW;eyc0f@e}?IUs@SYi7ZWA!g}bz@+OW*m!_>L+)@S3)87{D+W(;`%VUA|x5l)i zr?;%(;0Q}*<BGbhz4(gYg#ZOnyY{o^G#paHGS9HPone}kz@28E)$dZ~c448@ensAw zGlJt(w`B)C7A$T!SUEwjnSVl4>!$NtuB@)-+$9khR?(U%k|jND>6V}WmNV$>wEx7< zxLjIPry>7|+u8N!SR9s0GtW0%@IvImnM3E}1=wz;THCM8UZx<~7b)4lr)d^v^P7Uh z4)Tmmd6VCA?+*Q&9OCtF;tvbK$tHIl7KBK(?`>aM9QL2#(qgCjLNieZk)+=W-9>Xc z^7HP@6X0Fdcw3e4Ft^1D^ILHX#1e8=@k}^a{v?F!>hFUc4YMC;>oERxx#Xn%@Jg=R z`-TvPwR;zAW0?I}V$+Ei-eInev1e94J#zHmAD1P*^Ovv|?GIwwB)>`W+J}Q#zXZbB zZ+;gqF!bPMuxw)R;No(On;CudD69O3PK9GOf?E~OrR)8gE^##NrTA1QA+_L3krB;r z)U>iZ1&+KC$WFUE>$AwM=?|tGtrBPzS3f8(a{r*NZ~7sF>$MXys?5^&IK2C};%@t$ zLT;%l@4R~g(e5lf_8yXYGBy)3uRed;uC956Cr>eaK~rmTdlS<_*PZ+`CR=RaGS#wc zVNCug>>XNpGw7v#hk@mU9c>q~RQKKtxSGGD@crMG483c26*^6xMGMOCZP1py@AO<+ zD&dIqDRIL}>m4T3Vyz??efM8VeECfwH`Tz{dk0&7;>wH_HK%l#*HkEoW-j#g639N0 zwCvE-U3SWiU->zEwf3h46?+75I6oE3sGp*|;LMF6F4o!BI(PHGtHuV*6%K6a>OUwq zUE!N=PszUvhZg>4SjZxIu1-$1VMc4Hq|m`<2QCWV+uc-ZqP73y3N=>6q)?p<rncQe zPTRM4Bu>k0>}~w)cunB`egTJx*Ihp9-$`Eh`iM#N6Cut++n#i~-M=Lfs4r&T!phBR zB`~!ua%wd5iTwrJ-34+&=M>c*buw+AVfde6p@e401L5ColPg|o9a^QqE}tQ3oT>M8 z`4IsZ!F;C3X}>QDtq8bn+0D%TyUC+I`0>oZa&8`ltkAbFR_w9-p(IjpMC|BgrvD6A zWaox05ZSD~w?~$(e`c|kX1tFLyZp|m8TM+bKJIa6ycopR6euaUZo9Cf<8Ji7)Uf#i z>s9|s%xTkNZBy7QDOkBSOX!9tqwm%!zq&1aEppwIj&c`hrhirr*s$@-wUm|38k?rE zF66P=obMnd5wg8WVOz`_BQDbwY+>6Q7VHkb(VTLye~HM&W@&DXug@YJq?pqhj(4m& z{3E|%$JXbIG!kPKMJ^pza5}^Puf1r}g%Y8kTYY(oLZ>wDb}6#CqPdy<iQlIj_7+Cl z14|A6EPOH3&a>!~^nr7WQ=MC)R>&nDY}=y5?Q^h6;<t;az!`x`JGZpSXAG~@2}E7t z|0L1$@bohY-MUAr>%!-Yi%o5Mey~yV1%JK33)W8#Yghku+{i6{_3U<rqfXJ&CyO<- z&!`VDSiNP&t4F8gKG-&f@x;X|{&l#SS`ohWZ$yKnh@E>!@Dqg%Qx+94ADAJT#$qIC z)7jt}$EZA&_tS;9elEPrJ>vU?ql)u0X3IZioaC;bIjP`)@4?Uq1xHi${l#C2q;^bg z+~34Fd$z<=vzpG_qzhLC&M8C}IP)#p)&5iUO|^y4i4`8vN4^Vs@4jlgYuYX$Cf@Te znk6P)wLj)?r02%|i3>U;<XnC<XDHSScw82Byg11vN>SnDTFXNR0y=U+j%_{r@kOh? zMy0@YlQ)LFe6j1|x$FyBWh(!inmYBoOBlQRdzN6;_20bi9{f9@<g%TU3HQ7j&SR<7 zx_>zy8HqDw$14_kgskI|Z&KSWBPC&e$YpW7Aj5I<gp>ddeurcF9edlBv7D;7Ke5n= zVMo-<iku^9p5AWy{A|s)E*?@oUDdI0pYuWq8OgbP3omY-(D7-{f&UDhGef>!dgeR# zhm!JEOCH}t5C5?wKH0x1iRniMzfDW28&l{6_akQd_TE$1)gMrNDzsq!<cD0XlQ;Z4 z!u#^K;Oh0WCLLgA%DkVUx^h>B>boRen-&Kt7hax-2IJ2KPK)d=1xCGp;LIxA*TUFg zzbI~3cT`~c7E7_+6Fo)EHhfUz7STMR)Uatjqdt#Ml+pd1E!*511(q#k6kUCe@s%pO z^-0~3wR#zwKO7O+c7j!G=XXPaSqpZ$?`CLXF*xOBS16)+jQKMw?;e{43+|r0(VyGN z^HxawX8#?oRU6M|dL8meb!Ka4*qA$`<LRy`Qi^XJR-{`ghH5^zQts{`;Nzuh9{*`^ zC}&Z#gJRUZ?&%!f2jW7PEB;$*F13~QsK@#*KAO=kdw36WpR4%LyTC7V>he<&kC`~N zvKLA%(G$olcp?8=^ltbjt!WbLd{}oYPg%saT5(yIOP_VmqOduFhoqadgG97nv8kOb zv^Do>sOs4n;h({fAHk7vUinwkCglx#Se=r06z~UqVO}DT8&S2xYO~FsL$kYE3{tpe z=vh3m7B?^ux;tS~?+vvn&&<3^v?6ZRvMide*{|ZxBJf0jZTXKMv0@WCSC_v~DyppH zex*H^ZHobK?>`O=KbZ=zSsqIg4lG)+*<oK&qTJt!(UFmFrP=iwk~(>ESVHqO*cRv> z%wgtMx*y0W_O8S!wb@sY|7_q4v8yIio7~p0{W-P2iphKPe+Ih+ll`|TZIs{p*QHhd zQgnp9OP&A+m-l}LtwxvBNuf?>>>meRxu~#I%c9cT>e>v}UrpUdjNYzq{%)$St$ay! z)e_#eNpmOtoz2W0QajV_&OU~7JjI{PkA!eOToiHRl-!Mg>6^}-h+z8pK>m)9K#Gpk zdym4<Q@W`M<^}O@HAD<1igu{%5wP4|>!kaPx%FVNh)?7nhhT0?!Qc%E=2Ps|&*)2a znF(^{7rar;?P?OO->CH=$!w($gZQ7|7{1>zSKb@&KN4fC*meG^hLOZuQBg4gj@)@C zwmR%faga1QEc*A1(8YF%2G+|N(w6(#mTE3$=E%OH#SryVagyL8F0u9Efh)8Q&d}T2 z=_#dfM9OJ@ic!=>6R|p$V$S*lQ@u{J=^eA5u^`~`CxxbkE4WtNv*v6}n6U9o`HSfc zxv4^vSe*-^FRXZy-z_ndThEK5!RU$o12v~-Dw1vCQ`oGoY8p@WH`wau!sjLADtKDV zOF1iaU+1ZihcAWA_GTP+)b3-JDq2;flotLhDRj9G*OWaSy>*76-s@EYbSs=*-rtkO z&D8B6e)ya7RFNMpQJ-!vV(#WX!)oRr_BH*_E91g<g6|?3zTAsHqL;(e+fsIUGQ*bm zpBER-ej>Pb#gq$nsXK&YS`1gMea0yybLobRd}eU%I{pr>Yae!-ui*?Xe=$RA(KTKX z!#tOyN`(s?-vpGVaNlT4@m-L`sMx=uW2)rbj#;KVG(P$8Och({^>3mS*C(N4dmTi5 zlQbjRR{dyI{gPxN-5Bm!)bOE$uVnU~2?55}GlH!5F+H#d^;zTgSBd|pX39&8FMkfY zn&&BSdi`g(koq}daT~`Gjo&SzGafn|P;ktX3^$yil_@VMD$ajNca?RK<buqdVY7oD z^m;sg5p(SEyw>VQrlt7@8794-Cowg3TBTypD=xvLCN}RMs&^md2n#zqywv!hEj#JK z=D#glH$+#d&D0Z1j`<Y7(rv@#37y^y35~l_xVdsJ)HrS6x8;deot?8jka5~xj^5SM zLO<$-vNzc?FJt?2g=y7)hDO#skt_EtS?<0<TW*JAZ%e*~*;}DUU%oU<h~4F|UqSa> zK<xAf#uM}xGRBA>l2{S8XTIT+s{RP`nm-)-LXDd4+Z~Q|e_`}X=mg90e?49*;Wz#* zZZ_rUSbaa^Y(~=>-5(rWQ>yi1Z}qV)c=WWBS>l8LvnsdM<!{<F3%_aKFMMCayh3Wd zT8_ED&(`$(6<v2P)v(WdH2tla@Ct3!`YBu6RtPs6t(x7mDC3pIv1X-bfhVV@G0v>M zaInj2ixlsEme_Owrl*-KH)h!Rh$x*uFk_YW=I5IqS?l>^l(4g2Z?IEz|K2cdPwjNA zmob}HO}?pfbI}CG`X!yEVG|Rs7Jd8A(3$-Co1s)k+KaTpRW{u{jg!B$=K9ukPF(qm zkzIGuzKda6-{gx;#JU`vH!W~lbl~Xf7xIO9s?AI<>ozTRXfV6F)6$zaYAXxFgJV+} zf4VG{d|=En#ZEx!<@rUA7(xZATG`uD*`~}pvUKj83c-xk|Bi%ktUb<tW(D{9Hyuh@ zAG~(2QI=3SfA~yDq~n|4oo2V$Is-j=etJ1s{*t_Cn3%buXv6h$pJm^hztw84OHjV_ z%{ig$kH+MP7^ZF4bPk>oS*~)!{f$8^*BwO$`x3F(z^QF@3L3k4PY0QnYflrL-QeuO z!moI(wQ5@5ndmce%=v60x3B!P?9|zC&f!PPwPQWq&&;L#4hx-3>EmwOe*cdFXT>d5 z5ktr2v)Hd}`54Vwy=F$&f%**%%6gr}t_sf&iiPX&n&jFodc0njyDe`*qsQ_c&b)pi zo98~>%DbH@<*G5WSg>>Be}?82)2r4UQ8{sN#p$=QMf;shwom-!HM{1Qx9Y*|O)gIV z8E&cM?7ZN0)hTJ>^t8C6e<shItj`|w)j@wD)1k!1Rl=7F9FO1BEYtrgrn#nC{z{HP z@{7(E8)vyi_rmzEh?)EL&Uhr#BVVHA_KZ94*AMlU7<Ym0-bM2i4un03QmvVg$owh9 z&#$v${SNy}+*0{R59)+$=h^RZwI{cE{dcCK^RA9Q%B&j2EN*8G{E+w~aCqV;pWen5 z3U>~FY1{LI_sEKxPjY<=mUG>``AAehkM~=3H-Ctz%z-<u(@NSWt}NoRp7D3_uFNk= zQ%&q$s>B19I96yeo;qlyB|F37L~SX<qTaLIcgiE{jzls_h|kbXKG+~t@6a>(U$Wp) zv&T(K8?rfM#m{n`$<tZ9*easbi0QaZ|5rw{J~Ii)KzT<IgXIsVu#40vDQG`4eWl1f z|BbSb<Q3V%2zhOxGm}`&t`{(Dd-j**phvjObRAv8{|rmk-`?^;i9_<w<fCzW7H;5Q zE4g^OtE0{r?SrDci@6-memJs7=#GuV@=7f;-Q$Z=g>^JE;_tMCYv)e+;<iXbKxlhM zQe&ur+M>yij4kgaxV^vf#M}H!lR~%rTdro!!;3{e_fPyeZF*N{hTSIyy|WFQ=KM>T zI@|7`*`e?ahqX@s@F~l34#=&U|0-Zj`pfz!jhn2$m`mMUty0vO*T*%j*N3ykdX|@N zUrJzU-80Uo0gPHb-Axh-=_wpR)An`F^GahoG`D8L#Y<d=OBy?QlLDkxGrB%=3%dGC zfG;$b-_W(}?*f6;_8)>KWi}HmvVS{0Ir(6{;6@JlDGGmE8r|<-<Q7`EV#mg}MjHe! zF*{v-B4{Gmv^tCDNMO`=iGY(`^^;hN?j$bWQN~(1F|Tc5aECx7YZi0a1oh3Y0#>d* z(ZK0#J83)j752RLo0{B-0&Ca2uyvXh-f%@&&+tXVZH6_+BMO-7U7}097yM{t^D&U_ z(EQ|Rm==@4BDC3k!x7%x298C`{5&?TDSpVg>Jo>Do`cof45u9%EZMl)?q7>!EZMC# z%ggS_LjEh>8oOg0*xv6F4-MurQCzH8f22@GfHiTW-=TmmVR??k<p!QBn@=_f?^n{C zar;YWfbGe^$G;b}`IvN7O!=W&rCHIm<8Ti9bEed3dnPq%*q!LQ%sRp7XGK$NSDMa- z6GDOCY)hGg%x^>pPUI+hux$JBDXXI--}p>;$Yz$RAF%GubWN`I1)o~Fl@F{JG^}$} zx}X~u5Y_gI;o>rewsq=Bs*a`1E9w?M3Tj$!w0Rw)#9`BQ9U`etxrZk{6J>f5t@FGo zGHYquMgcR07=}MC%cjNcka#j7&Z{AXpDmTCB&Ys~(ObKqIXvFSJ?9$~)*RTexOwxh zwu8&xBv}~$@XFTTq0Y3%sMCMT(+$6;U-6D!S)p9Pv*S{n%##alv;14qjFNL~k6aTw z)N9NW8SnqCnM<<sz!dJN4?=CPW)|kvvg}*%uVdSkHT%-Ki!R@au-at!=&q!2S8r3- z!`CU{?tkS4xYIreyX`r2%3O8c;z?ZVRkD5>e&vzA#OibW%s~mQN9@LDm|2a#_)JrA zTeq+=#qxu=AlK<9_5o_=<W+94?w=G8E>Qo$u-0{9rK8UcXQk`&{I5tQY;g0K&Gxf* z?$Ir7Vg?0`9|c*(GB<wec@@COmXLS1qODS4YS@MaHl+gmnu$B&6n=Yktjzr7Ef%t| z>A+!!LZNM90<1eWb_lwJ7nsLL?^bg#KHjpGC2pJDgU0$tJZx@pjtMCoZ!Rf^Ni^s( zMz?A#n&*=2<r2I+)KOC?@x0r*V<uhN%B9TiI!<j71@S+6qjInJ|LGC)KF}p1@gXV6 z=%3GmT&<ZBJrS=K@Ea^VT{87XLSd_XVfcZ>eM`TDs9g$)lqzd6J6v5oZCn4sZWkki z1D{1jw2K?GX20o7(fuQI&@4llG4J2RRh#U&8`i3Kc<VmmZVH~Yyiq6X!~=GrX6G9# zo37<(RUWbkea7Ot%#US?=Yexou?rj)f8x-*_@`%&!__A<1noTz>UN8~`o-z0)OUz= zU1;Moi3L$B8ucFhRBiA5q{P?uP-exy2Q&S64t&<M>75`Q!o8wW;+sPd@2RlvgzPns z)tS;<wPwi|Yb`cuSReFnp3=(uuTo^&6b%>?@)#VtFE}<VZCNGj*lICf+_wGOe+G$L z2RgK*uE}Q@opP8Kf4V8vtd?UoV_N{*d`7NCXBN1=Kd|LI*NlK|PqZw>4{ScN#b#fV zu4oqf+&jybu9m*g<aGQ^{gJgNmT%N3Xx+E)(fOyEC97Lx?(AbrPElh%s9REDAiyGX zBe`hma;5(aE5tYdmS|af?m@+L^X5b040{%>N|{h1t0tqz8MXeSp`PVi*$wZS!|m5J zna@hT#nhyI!JA!R-;vOjp7T0&Sj1K_Y<S0{%JksQi-W6It-r&xa{eaSrn{_MMbYJQ z?uVE&)-$H2Mn*R9T9|y=Ru*=ELsoLy?Jv&)v&-UK4n;3W;97d3glWh0fawRV?Gp`_ z$T7TQ-Rl3j;XUjArWm&AT+zl-D^Kbf878|<uk=}v-4XFX@Wr#Dl=~l)@AkL2h}9o1 zFfpAOn9C!)Up~E%@qt@Q&zg&V-W-fus{9s5vmVd5^hu&&(LvVG!0=|Kw1nMpe<scP zD0S=Z6Ez<nj_fVxw-hiI-I$VG!1YC3R)CAm+u_CC(;eF$EczM0aw4P2mj*W%MsAVM zOybAVG`8glr|ogvHnI3YdXhx?9qmc_CpD)vTv;`92g|KO#?ph~{VSd3K9s4fV>s2o z-5PNA@u7_TAHA!J-aLz}$oVy+bh}_{=N|>{Kwm{Mwgn3d7M27&F@F_tUVeqS$@l(O zamwXI+kdso#+~2kC>6N+KSQcmy5ICiic9~pNae|Am@ZOJuY4e&u{ruelb-JbWtAH* zfA_T2WF&Yk*J&0yT-|zL<2$jc&>!xcQtYP`g7&XGWbi;`+s5>TS4tau_N84sndzrz zcUVp?ev^P^--4Bk+gOBG%yzm^A@HdFfDiAr4R%7iW_x8Mg*dJdZP|PDM$G<GO1=9J zw5?{#|KR1;zt`ydGnP~74`Q;e?dku~Bc6UxhLwN9bjJ7()57u=n1*+(TCQiM#C`d# z#^V)VeCG#iZ27G);Yh@%DN)5dWw8ef@(;M|S~_jo<!N<R3Xe?JznRal|HMqmwKf8; z<j-_9H5>YN9M3-z-f=3-{`^;g7dv*alzmajWv%Rxa=OxR>z(9@6{>a{>OZCMusa(Z z*tBG78y7?Ih2Jx?rtWK5ad{cfvon7LGcLBQW?e0<w}3S$aqSJG(h?6{UHcWG3DKWY zXBU|$<%cg27ixN+!oTbTQ_azIz5O?JyWA)79{+vBWMbt739FF%lNhEQRmiNUZsuEc z|0Zjw_anYX4GIi*mvQxOf8rPs{-C$*_zYE@>0cEx7`JZ}Yn=X8GfC@?2&>>PwH)sF zo1L1bH#*q*5?$<l+P7M;y6*fX_*i-VmY{7`2Oo0(z1$h!IOCne3+>;nXYU0p>5Y05 zaxnRu0vC_a@${#~+Pi<$oLQN-gQc{IdE>j7+=UA|6_)RMx~Zx}VcYpNtoimK2Rr|8 z+}+zJxkBvh+DcWP`4%0CrJo%3K7D#q!eiHNxrKEiE?m-fN!&@_bM^-uPC8h&?Gfvj zR~HkdC3U~p`keH+$!4&`-A0K+SH@CMnm<K@)g^Vdo5b4O=Bdu{!3-f~B3);m)-Tzb zVf3cchkuIvqX?Zaj@?<Z&Knm<gfo;esXyEyGCkC_!%pLM!gQD8zdM#%Jzh9tae9aJ zw9T=L7d?A-{rZaCQy;MfDc=3aSn0{MYD?S^ZlC>EKIk??o?h0%&3b-O<kHNa%Dq=> z+XBj_=tQwiUA`k`TfN4Sm+$nqg(P<0K7Yi4flpCwf0E?t)$TrZFAM)R>m2TEV04gj zU_9NyksPnY%6{%dLU7&T>p{~F&R0Fn?ILP>Q`J}X>@)pIzZ;*vSdbU1B(^B_LP$!L z3%A+BB#-?mZ`2nV%rMYtvt{40eEzp-J5GupOIoXyHRG6w<|BQVP`)Np6HWgduA@Jg ze$PJXqqX{Y!vV8x(F})04|aV1&%m-Ed%pAenK1zo0u#zv4YW2SO<1G(Y3UBeiD$)M zC>t9uP+0TRMOq--v1oh$oZcPk4$X)2-ngurZo~0nN>5<O`G(nA1|I(zT$~LSo>zL* zm~e-ccYDA#hAk|t+Z9~qJ+OP^_;9Dr&EotAKIt1&e$6=aR<ymv==vQsk2Sf*>rQe9 zPc0I9`Y_Dd{z$aOD=wCR**fx*xjSY#Y})<vMACuvKRaT|cX;1q7hp;VW_W23s8rac z(Cwk2ao~oXbLTQq2{m!Q2VC8J6Z2aC1t%=~$C=A*!?9jk`XzJo9l`y(mv*gs+p=_N z%^}qskEHGG7pAyvyx^^2+UGvwLTlq(<~k>ZtTdY$O6TJ*r3CzBil|tjJ86^m+xVSY z>>dq_y2}~4mn!`c+ReIx>BF4fT7TvX%?u~loG$(K-_W)pIhJKn%=RbVrg9ace~!nn zNs4QKG0^h(vsC&O-+=|*r=q_6nvoKDVM=rwpFo$EcS4QBjTtqQr7k?#>b6lU=hNOI z&T@|}t7iXl%oqE&c&h1thNJ|RhE?}P3}l`*vN->XOTSX9UYN;aar8^oOyw1pWuF&C zDlAAj=zhaRVT&9G<DWGSjnDKQJ5$?Cb@n(cjrc2A?)Xij;TgX|L)_+6o1d+TDfgKl zNi*KhJW;%ELb~PYDT{c8XM_tI9yHG4(q(+Jv+?i_?v5}6!w?OnyeDdn-f!!#oH?*i zQbgfmdxb-Ayi!<J^p`0ie3mY3U$$ta8l8E?`obZYzrpp&od-OR%jHkFXw07!BC|20 zy44^<F>A$3rkC^Bxx)S}>oWgjD$H<NK+!qL+|l9Kp{J*dR$odCRXn$Qx$>{ZQzw23 zMg{Vf2`=>1ifRehNC-Ny=8e#$XAd@s^X4=$-0o*>3lcs*$<1X(;M$dwbS!_dI56#G zOO3kyz2V19>35&Jy?W~>cx{XLEA;G1#2Z_mLw)(0E*q}>l5jnt_#p5QOVT6<c@L%g z_FNlQ8gDk%xp0N;^!|vZz-YVr&a4#UPxXP!@iWC{OYOWH^zUgz$xqcS9;b5aRU9L% z%POXDuhM1y>lL-7kY(E`?xOgB{T~=!F~~6OVKXbJJkfbN+x5lL%%;mqZ$zex{R?#e z+o5#f&9|1`<wvG$_|M>y_wR-yU+5GqRtJR)j*HvhTDnC$RttY}syuALu$Q~*^H<d@ zjx9b)&H8gMY6lv=Q987miQ9W2mx^-o+6QfKS9dTd)^)u2?Yu4frQYqTEipkC`*&EW zDDdei?|N7f`kPJ>860;RMSnOJut;@b}dfeex7E3ZI3aRnEk|MCO=<o9LdR|@E zZaqGds5{T;sr$w!!ZYWJeW-{z{wC+hT90J~;*Shi*E>r^E|j~Wbkl|Vh+l>Mx43r! zqLuQE{~08n>e@%FV76d-Vcfi4;n$8;=lW9?ZLZK+8^|1(_43Ki#2Eq(m!03S#Bs2P z_p@J#6}W#;XxG6br?~4UY9#GH_n`T2hicHWJ8dZjwE=lq|1O;@+2IszUdAbP%f(5s ztC;1S7T31p8yRk?doVHn@r*92blNs2NPzqBTiv1?{ikz^dXvuxN6-0}pte*wNwoU2 zNbZUiL9duLgfKKFu6}xE$4dPTX+b<(n>?Ofl1sGSqvEkmev;OS{*CXly8S&<Hw1}( zimB>h-P!*mi{a7wjl3Gt7n(FTUDP_7)OIl_-6#6SbdD5f2DAQTjT_osVKZC#xE}sp zu;R>vQwbSex@F03JzoNkDG4QR{WL@R_`6iI>;U=NBL-WiHvVVWP-+@cB5-iy^^`^7 zdlCef)}3^0@AX=pC;#z^W5Bxm2WD)SoIQ2>mqxjT6Wj%IUh>QfX5Ict(sB8ngiU-0 z85V`MNu5-%*u;J&b49R%VaTG@8d6dj2WN4)X)ay+LsYgnQ1Z#+Ll$!44QGsk{|G(s zo5|95t#y-Fx%T10=0Z)5W&J;<dKI-!lvcJA{3er;l**S}`gEGi?u~p0T6c0tn+1HB zl4*Q~ug7?X(#6={K5qXRmN4hmE_%rH<3x3XHow7AJyV_yZQNxdM->gbJD(+`Y2I*j z(-U9)OoTiBOz*^#S`7X-CN&!9Epgfy^5x$H-G0Gvmh`<(+_N@RJ7{nJ*nDK4gjP<i zo#K<Yc^-~IF}I4INbrchKcuucVBwtW2RY)c%iJdH5NHl-%yECWqqA+F^RMZA?tb?k zB*ZNDn92I<$cl?M<X)J63Kxu8v+oFtt_!zn)B@3#HQX-u6ud&d-+b7+_Cy8ql|A>? zpP0IgMLbwVe8RC6hD@Th%_5~uwF_FgnZ#7}|6Ew{_nXBP9aX)#9P-tyJJ$H8G~K#T znJFYZ@tgOrWj8st?QETr{;8(n!v2Nt%=oz81~A5)dcyL}P3dOR>eY2En?vkNG$x8E z8UJTU;hmY#(9L+!n5p&RC-xuR)fHV_QqDcguYL|XedUw5*vDT=dtx-WDi4K=_BbXi z%WGJ0vY<KP;wK-5Z6@-s0@}X4NY-V4q7<b*VZ+DsOU$=yV%na~y20w3stnH=FNRMN zjcY9AVvpx-s&z@0OO-qC-XZSWcIeZgyzA^|E?6a9di#69QuQ+qO?T=}@Flwn8>CJB z!hU8G&xWqG=}ZdO%)T{u9&h?8`bbrFJ`3xH_?FYkzh~aCNEgoZx|X2ndY?Pw=NCgI z@A`mTX6ajnt<RfO4^7)2w5W8?-csh)Xx-e|PS;YDY#5CM{e>1DS)Trb?{R_J+x8CE zoNAuU)8Z3<&A1dF*qlAF?C?9Y@O>(AhwMdeq+PzlcJyF|)`{$Q5v<iWJ7@H-*ijhu z=}C90|0_2Qfwz|w3^o)epZx2+bkBc=jE0s6g*6;e2M;e4S=<rTuzx0x%uRpwui6#o ze{uRmIX`h!QT)#k+1_X_=v=Zfp!LxQSI%XL>7wzO1shHsE#JOHxOM&{?$vV@gH_*h zL>R6Rbx427GkwVi7onymR^R<64jN1TQ!W$l=Ki-xWO|FB=h215taT?G&CD*&Xh<l& z{76SH;J{o~r;AKa4R#;!-QYTFk1K2VGoRVvPn1k+N;sCc9*ufx@6omPlj>8ybM03| z0*;^64wRdCWXDd2*_}U}zDoBnofg=)kRf{cw{FEhPLUhuPh>CnJwJdg!Y8RaBK~-X zfWV0tRkNK%E}U+usdd&4H!y1S;o>>N5#0G?Q|<GE*Fr_*7qNJS2Yk7@!tqbztFWTG zY?^V01YCWJY)b`{7T-~vxzb9~`Q^o;R*uNpMXifjq@PAeZCG;r$b}aEL}}i=_aAuq z7=DUbqWhK8$vl>2%7#x5mMr+skW$C0%MyD(relxLf`bSAR~S8E{?EXov1<87G4n7} zi%H@l*%vxAl<E&kMH?JC^`K2v{>k)|nSWZib7p1ie<k#7!n=+M3z(W8RWu1dx8QKl zJTPsMluFRU>x^7lTYoBF)HP-beELx)U6U=(PI1ls1)qhZQ-3NfRIQNiVi9P%oi5fT z5`KUu*kNXN<2D|<88_rTy4GA}6=Sh;Vb=Y3{HtbW=MTjbJS9qpUTID&;+*C2c4kWG zoC=3k@`c<+vCf%F$DMurjpCW}1&u;i|C(`e#U33y)xPfM42Erz*}f?|Sr2qacVE@? zuS;!emHwc7F8Ivk*y#-(7CsKrkD4^Tr|e`qd{dBNi=#<Qp175zP}_o5Z83%fk>?>! z4XW>*4Np4UYd#Wn<01FI#R1;O#9lSeWu3~(SF`AJbGw$(q;(G-hB2S;VmE6RFa6?u zp=q1z?@s5Po90!`Wd5^!-BPul4A%2DLJu|LoC5ex$lScGv}}4%)0@}>y;ZZilT5!W z6}u$liqv`BvDo>+XpK<rO*4%Pys9g{DLVEzR|o!3=w*4W=wYzw4@=a<nzHo*H;N7h zhX4D|up)zdVpaD!7Ad2EgW-QT+Ex}EtUVU}pJ7s50pG#E05QX|TLryh%!}#^m*v@A zxULZ?zG~ft2oV*AX0{b7Q}~m$w^!!qX+7N8XejIOUZA#xHGxfb=lMdR75sjJp1Y=h z`{cU!a&Bji$anFNI;ZsiG;z!f-zc&;tyWO<*e*e)x78KONi!NF1^-;wpPd?*@$}TA zWZoZa!6vCiVQvDAOe+~{g<7Y@#jb4JSp1^1Dy~C~E9;#1Uk9e1PX>t_8bq}w=IpKK z2)?vW(6!Kq?e_kT!2b+8`?R%IEY@1PXI}Eg$rn^_ZvEvdA}n`I(lP159F=eNnJEQN zxp{gFxguJm!yZjYczHa9k@e0K+k@G+`vkYXNH{+`K+D<lNoxYv9j9RNTM3RFY;64p z8CV65u%1`_(qyvfcdc9LirWtV8HAOZGA}LFi#YvDG0=ZTM!+t)-3#U|VQ77(5i~zZ zaJA;G1s4)|W-U5%_|BTSJt|>SVp0P?IW1)UDPPEHm7p>wY{3Cj@#8N|@10N6m0Gc2 zro+PamFuz@XFkhc<gmi*ss6IFu?jsLK><Zg`Y#Pl=d9`#*}Ll4iz!psXZ&%Qp3G5m zOuP07yGo<iiY6BK3pJ;z`FFTFR{ZjE<w@3E^pf@T#ywSDS<6pMHQbVuzM>)Y^2T3{ zsZ6#)PZ;DG6;<8mghVmD3Cx>5pXtYo?(O^)XS}x`G@1B`hqGwufp+0H^(#|7*XM5B z-1XaS#qym&z5f{mkA(K$WLe$vP2pqE+1x_OoW~D3Y%<@9burd?WGwumyf*9YLl&Xf z!;0Ht<Yowbu=A`F(_HwS;UwS2ZiS=nbGlP6iT<{KWOYrXRb%bUW+mnq@#_{%JtZPi zl)r?FyDa*anRxU?QOg_ygK5kXyMNoSQ0Ja^A~!?cWlxUc6d$`p?RRe;G5Ee}IGJ-J zK=qdnSI+C3a_Z~{r5g@Ean-(Q%OX^KyJh32opq_v1@<#1?vm~b<vL>7C#?49UDLjx zu8?^LnKz4V&DLWV3`ty7;#%gi-Mgc~Ytk#d9sE1Cr7T$`tg!T5)W;NA=I|L@J6V77 zzp`#_$+whpTo<GnCEBVZc5vQwpGBLFDTZ6<I)>MXE)%;v?SZd&>yy@%mQCB5*_@rs z-*~f4YZ1E1=#Z(PDYf&3&n8a4iHqmfG8HA{ZcJUV$Z^xDS{4z@b9Mp;E^U0#t#R!r zcm0uF+f0;})*h7Mwy<DfdwsI$PJVAQhf~|pt$%uo=Dc_)#S#9U#U<PRLsw_$Jx8XO z$4?psUVmxEd`B^0#+H;zEWf=Eme^;UT%mdE4EJPz7RGh<AzrLK93nc^<~mdRCuyyb z`NR`_;)npt@f-hCl`qJ6_X=I$^*&;ksGBjtC;Uf}I@j-o9h({VhB$^EeLZQBw^sb& zopZhOFELM8lDN7e$5`KEJC}L4B5U$n)2GunGhJGHdZWNT-R0RGW)BrEebU`n|0rnn z8i(fQW({3NaTbLD{dt`wYd1tDWEu5cV|u&o08e8X&+$$ru?26cl^fL9Cav6l#Mwhs zQ2Z(5U$>_c_Ro^~l&rY*->bB0M7~L5Zw>i(Sz%FF!o^h^OfJ?OT-3Zm!P-zPL`~|Q z)Q<hL3l`n>Pw3ihsNi__d$OV1Yh__U)y$_l7qSniwjIlr?2G!(Fe!4EY|(y$=)x4% zOXrKUL~=iFeB)#7^n+uy{>DXI%Ua9tY;I&s3lTXmbEi<)l{E#`4I1b6u>b0E-MdBg zP9{g#oPC~N#$gUibz=81MTs3)w&<pG4D0V6&PaBrEZ4P{9}8@73D7vuzTiaMk}EAU z^c=&B?bp8GUs)3ObJDGa1#bn!-7YW&mL)H85>f83Jv&conr4##tL)FDmet>UZmhd& ze#N68oAY@15x1K5$vgd(u6;<$UTWAi$B?<urR!dW<C<km9ZmfwIt`Ma3g_^seUrb) zn-Rn4_@!0RDQHrIi8)(KfBVUcVyD(WY0MM|Z@eZLpHO~@wKn(3DP8?C`6FWAa+$=^ zixg7$`6ddoO*W8QvyDY$)qjTP3VQ2Y*P4F~nj$6nt?7w!z2?Oo4yOwjH#~}N4ir2& zqb=XGV-?rh<b9pfoJCYq9Yg;1WNGXvbDXyIM$PeuPU%h0nSakOsFLWL@$}TPf}rzB zv0Fk9UA>obgxQ$yf<%#{mwe)9&CqL!c|Qu|jg_-=P6TKzVxAPSzH#b4`Ohm;4^(lO zY>yRY3;m^Bv#Vj%%b!kH*Eb72o0I;ClcC!oev`KG4+&PbYrAZ{qPL0}>fHamNTKEZ z1A#s5A$hk#cgpRW*=W2|^PgH6<9QeHt2JIn`Y(2tEbMR6=uN70Fq!t0xi$9hAGbN1 zSA^W^k=I|r8n$=B!l!aGrf2EiW~#{kDqtiz<?QV{z8k|X<Y?3%Q0`uxn8x(Axkcp3 zyvL=hxbrI;R?af<*%19rp_{o@XzkL~9|X0gcU3#_nKhcu%xkle`q^@lYvX|idwzM% ztn@oO7A$-BA#p)iSW}A7f*Z#dtcWx)u#i4snvkHd)YkLw;SF|&v^T6i#Pi^0N5IDB z8*W$23hb{k1k|<|hShYeo82Mzv^%lz<|~#<Cwa|YG%oviLvzZB5Y{Qb`R$Z?ye98@ zVEF3zO{HnE`#q-2wL6sL`rze%hKVjWZ1}JEy<YR%$2{L@DNDP3all0u?!y`hjAd+$ zp3^VthEAVu^x)Q(yC>P$xUCgx7~Uv748Jj*Nvx(bA-?U%<*eBaylkg$^i6q`V9p`b zEmEj6<Bsai;-`#<^fxq4=$n62KxErLC7n1MrZ2%U`~^nc-vv|SJs5;nh+VjNgkkNy zN6&NTGtLMXd>}M|?fVbGt$Arpd6sRz8V%!qsvoHBzv5RQv7l2kjiXPNP1!X~_u(s5 z!Qi(>3w^YLJ~GYis#KJCcw6-R3LVbQo3gFp?-=s`1U<PRG=2UCKUeLGx0sV3Ida}h zV3;=3SnFo!qX*n6pG6tB1xj|se-mfd)78*EKeHgQ?A!E5&kLe>(%2@b-d)Gk%m375 z^@=?XU&W_q*gDJKF^<@EpxQ^njgR|X^ww^M<zk9aN0kyMbMWjky(x5B?TN&Vu$m?% z_CH)x7ApP=aE~%zmp#B+u2JS;^0NJ@(WT$w(!r0vOyvnR-t@>M^p`^=v)}Q8J2JP$ z|9T5%9lyvrnK@r2XIJ~5os|nxDgu5^j7YuLr|fk6yQ^FKg|76q^-YXkYxshj7(>G^ zvgy=&##Y%cXnea{aao+6)bEPU+@ckmB<x!cFKEoWDbmYUE2prwH^FZ4racR`*1zb; zxW8%9s`f()_v#zk=a$7>>s{7&&SQa`fE3dL{hN)?mOfngZt08k8^tmvj|1X=oRRer z&encne<$48+aYQ~{zR5ltN$~I8?uJ{nSUiz`bcBamFJ7BRu^-5*sXB?wWjtIJCAVU zt##t8rxcRUsB+lv(vm*>X?ob63p)?b5U{js<J`L7)Pp5VQwq{J9_`%IS<`hWXG(OE z<K}Nksu%ZPVGOZrQ(&A>$KteUKL3>i3rkt_n%!M8i#~ozn{}9V1#9s|p>2i}Qm!R@ zxPRiaj-X7Dppp22h_&mRO!y@~HEd`2tq{~BcjArqPxeA~?ek|`OMa`GaC#Uxgq>d$ zv9bM0Z-4jP$&$<XoV_a8k1X7=uj91yXQ4wTe>yxvx8FE@E7V?PS9+gP@05inwO&oo z2tWSE(C|ik(xWYb`+|<Rep~pA<r=F{<K{NaJrbPdhJU)HJQqKF%GvhoNR6w{#G>ba z3hz{&*FCba=s$yt=(PCeGaDwWpZuu973C~=KKWK^Yhw4mMt)(<JIYBj^95x4cdX*R zJ}D~fbL%NFXJP3>vvPhcoDk&5FTY^Mm+1y}3Ow~z*?J~dcpc@HvX}2;5xCJ-?WH57 z`c&f3ou-F6*S~e@+&<1Q{e<`@1zr9fs#olk7ECr_e0xVwl*dkWRp;eoCDsiNw~Os~ zyq|3StHkOVU&rQhOy{@4hxLoNJJaN!^kql9Jyp{Gq2bC_2F2ckG0od21&Dj?R*ZVO z{YlpezUVhecQgM5iWHVJZP?H7pCM?=s-86y0;6O<`3B^@N>5C)Fg9Ewvf*Y-OP*+i zCWqdGv)7bPKRMNECdbj}dnHKk>I;Qfja2bO8R25~?+F}M!IK^>O!wzl^+e>UNM!y? zaqiWHp1W3`)ZXcQbB5EbEe&m9=aOD6ZHV*PE+BBJ?xkaB?xF|mW_1sWvcG>6QBe-; zTbaytMcenct9k6t+C$e$?{MnRb$Sq$eb(V(R?~~^4-`x?kEaT~EHi!5*i_%qo5P*{ zS1E$|a8jDybb%R?pA7khUVfH#jSc>-cKew^=F?9Nk(-Yv|7y*BI)ybTtVriSgMg*! zX1Dqk+qW7@8|vEJIh(cp_OEsymMqrF51-BMyq;3JVSS_6t*O6d4*K#>)Z>f~lDc_Z zcj<)nGa4uC-C@6DZB1>^jqUPIiscn&VsE=Ad>6=_Tf*NjxIp%SDw|{iU#MZfn$DyL zpIn<6vc2n{J=Izr@7U|gEf{id!Ltch*p8iVI9i_InOUDA#gZj<<FtTChPSTTe}<s5 z|7_%+sVfOAW!mj<O|-&=>16t?G^YDYA{q{!2;R|AAU`FyuU@5wZLvY3|3YEG9G(`f z<Silm_LCUHl}<=#M93cg&)_JXvfQWp+#|=ldE$SBu9?QA9_UE;&u~%0ApD?S$O6}2 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∈heDfH6v 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�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ℜ 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%0AM*#j#-PgDX-C!`*6KRMvdqd=-$i%}8Qi*L4*U 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]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†h+F(lHQ<Kg-lzI^wt7}{J(FCg)$^ah;9|F{pWzW- zyO|f~UfV7|&q4X6PG-UzW0rRk2Dfc%j<9Q6pE!`r>fkVeH=m<`;mv35@;b2@%SCyV zP0g;cyZrWS(RrrAa89$i*p*f6Rk-@)^?&?at{gr1D0b&H_D5Xz*BBqvb?A=Tu`{JO z`C^(k1K*rI-Omo*6Z>(d`{{J1N3P=19O(>KPTY=TzCSZ9S8(p?BPEduOZ#WY_1<dP zEj^PVm%+L!`Ir%Rnt31t)5ErvZ)U&e^4ym=^U8w7$(3P@4hwJh73*kUPTYHiu`s_W zT6CJmDciHl61r3Ui$1<>)m-}U-_j1<1uvVQahbSCPTQ)#<T}rOz4ObW@9b=R8hhH+ zwORLcc&-J@XW_C^o)EXtZ%&z)zf7H$v5qAt!+<3#TIA05#1zrPEKLoyHU~uA^i={A zKboC#nw!n~pCM=)cR%x$&DYXf9ONG@nCAbi?VR*Prj)D~)1@2a95r|UJd!Bf6!L`s z#;IU!e+@r}_?wK2m)?A4<$YyBm_WgY#tI#eQszaXnr@Gh{ytZ8yVz-TODVfqM)o1c z>5YORNy1X1ntZ)or$6(pe;~nR6epeXIagS6YvaLH3EkTg47Rj#n0DnKypYxLW{DK@ z&7O%y-)6pXG<}w4qO$k&mQsbf3}@zi1Dg{!w;sR##Y-$P%F^l972WGsvX^VbIrFVe zQ=Y`McH%mv)WB6c`erPg5%pB`fJEn!d?&`N1slv)D(y=;aPdlX=Txb=5y!>bAJ{E$ za53skm#X99^7eeOAz_lrtx6-^G?~@8mb)(f5_%CHyFBTvgn`iH>SvQ@-u%zNa=%mI zo$%hKe>R2{UiO_!K3OafoUShZFem(J{uwboLnevF3;!g7eGanywx1;JmnFR1{l|=5 zN@)>E9IK++tP3Rt9_k-)`se@SiI03^#=`6Gmxf+;=>3}Z-P7>w!6#0?QUm`5J>{sH zIA{I|_KddgGcI>E`z>C3@a|3)kAo&%`wv*|dnE0oYVJD2$bIeYn7Tssr^mkE?yy{H z*)+*D!F%E1?jJlW!^3$LE2ap=2|Z*LXnmg;{_W+VlE^DB<nF8#{8#fsFwG&0t=>?G z{Y4_XH`9ZI%90;EK3qGmVj29A&14PF{GMD9zmE0wA1vOm6+ZrYIWf)NX1k&8O;Pzj z45}fO>;|$K??oJo_2o|~9^KS(HESEAQ3`L-1Cyh^G26sL+}VxY_Dp!;U}7h($9!Hs zb468BmCs+{{QnFNtzI)EcK=a*`Sh>9uq}J%)4#sLH!VzyH-DIZY<7MAxyEB!f%}5a z%c<5MG%yS`j<o%FJNaF6i`Qj=?EN1(<Rkv*$7MVHbXELlZ4qwc+1Y>NUD0#n01oFP zjej1Ua0&8h|J3xrqiF_XcGDmG{=Ib!*Vi|vs6TjE#rZFSjs4@MYnA*8fn9Yg)xuY& z&eu7$S2^fHfJjP1@CO&Bw*otS7limO;_eFYk+m>>IdQ2GuV%wN_lBCIsSmdmNy(S+ zdh<G*Qr!M>zR?m%0oI$U5jz5wFMn03l#u3h&g+U>yFn4}Y;Wl~JezVj9XodLm?gQa zXW`x|5&nTqS^BZB0?&f|Do5Sio@_{eupniTSjwj7oW>98e>QK6S@_$rE`s@9o&Xc$ z${8MMyocPTKb#PCn2mpr{ef>+np%xtrXDn$HNz(3nCEgndG*sv5BzbMD8s16<#1ot zpZ(s2HUaO)%>SB#TkHb%^924dF}{1CZ|S?Fu%u~)e~SZ*Uw29?f0*fzwt(BHC2^0# zi<aB+!8{L?^duyo3v-m{@t)vtJgr<%V5&H)eoE?j`3e52m6eVP-(DPQW)n_4Bf04x zN6*Y34xtZ(?e0uz{VFJJQJ@jKHiuC#PQGEzDWQ(q6NleCvRk^(KJfl=k$-(N47^=+ z-1;RVdfP9krpq(9|Jvq#{CZ2Y;Wr=V{*M}q>^ppRd98ZP{&iC8EE9*+++E5}M>IPt zUmVMuaH4DJiMQcjHD>*1IFXRD>xyI1(_ezy=I?QPz#rk9k;#4L;QP<Jo91hBHW~8t z+umqPsoHSj`QA_VE1pOcNbJq}ykFoy!x46=3uh{&6sF92p?^@b`_S<RE~4^`Y(Gxe zOf=U&-XWdVu)62uKIc8jcPwMFvXrEDy-HiNc%kn4Mn;YXr~eEYj^&q>u4Qf5`kz7A zCjMw|Jio%agb49h(`>vd1+RqaHaPD;5Ma!3`hh}ebH?-;FCN|VP3>wEebanhO8i~s zn@UmUwrvdCZkDSrSYGt}Y)l(h%oAay!_POjnf_gKy;EUb>8l?-^>Z2CiR`cud?z6# z<1$BjUFf70|1RxbA7IhE^1blN!hffZAK5w4Zo!u$A2UzIes%v`#Z;94qf3;(|MHOq z&rH+TSXlGM-=7iBY;i9sbITchIn{P;4T<^dixqkb`rf=3Ov+!dOW}F=Wu3)m4cg}y z7b!-4ey{wIeXo!eOZsEIh@X#2IgYHinkkfJR`xJwL$$`<S@S;jB<*;<Y30Q4aVLBk z92T7E_mQ7*LHf$4>7u1yZEIM|`)8b~vJIawM`L~KSD_8js!NZT_btx3<DPLsrlipR z)<?eXQ@t)vLrxvPvvkGh-lwg*a}U4$(%99;V9vKNLf`>kmS)HKfY4X&M&W-1gMS^6 zQs}ChdwK5hRYi`~b6zC)1hB<<bl3!haD|*#zH+ZQ!SwWNs~NweUU+3cX0Tz2soul% zjO%<`wyCPkoCAwH-mod;Y`morlVz}Oud$T_qr0r(!OpIV$9vAaWMKPddrkRy!Y1?G z-$l$@E2btMJfN29Tr5}jxN-^8u5GWLepYCRKDt5FU+MYJ9{T|4^LG~XJ=fT=B{!yZ z*3>s{<x&f!>W*3I=Woeio|2Yq!^!0sIAPsJ;k^!L<WC5_ay|T4;c$A!>G}3fT#PM# zOPw2LoZL6Vy2omYEmO=jr44FKr<d9ACFH!QySQQ9iwWV}DzDc3aWiT1P|aTWVY<eV zeLjIT609-%qT+u$e`~CKsCe+JNT7$@`)d~@{wapCM`keDY6Pk@th$jXF@r}~v?TI6 zugb&7<x_%Y_#fp6i*xR4<Q6b^!F1?vXUAW+wZRU}EuL2-HtY5r+PbAjoUbyudZEby z=9D72fct@;L^koR68g^E@@aOO#H}8&#V%sJmI=*4%c7IkC~cjRyKCmIhW7zs3W9Z) zm1SSKTzaWEQLZw(!#^lTCsBBE@#kgNRoNG~ujh8uJC~ijTH*VgBO&^_ZY#JR*Yj+t z@l(!u7-*#Ep_s>}mY$$^L31bnVUBn54_nOty6pCx%4KcIs4n#Jz_s{?Jt=Kxyl$M0 zpUpYVMfpQd{q#?Me;P&1eg{nc_n@uuuJ1>#QkArm!MyMGGrq6?!(y^|>D#P7>3J^Q z3|=zU)7e|pE_ATQT~<BYSvW1gwIS!&Hh~5mJ&uAy8fA4Bd%T|)J=^kniSt4^{{t^( znyho1GJ8R{+osvhdpb|A_{%wCYsa>Z%FUc}7bGU1TlPD$)%E7pgcyr%6~mAla)rk~ ztoZt{sz7+l_s;_Bjvc<-Wh5hV^$E|;Y5pG+uk$(7{<E91Tz96?ggS-|&MS7ZzAO4; zIO*ipIv=0Ysm0b0nie@1c$|^y%C$0Pm^81D_hW8S!)k$Dh7vy&4xj(eFlW({D5Zn> ziJ4rfGtwsJ<|OzWH2Zkut)S={KZC8xxf{A>?mz1A`um4gw#?aLUn*wr=RH|({==T@ z^7s9dOi%s_6#vg4_sQ=0w~tzNlhb13i~0EfGw_>#T)kWVk@P(KE9>P~uBt!!Pgo^G zNSN`VNLTWSFAKx=%N&;HZ@r|d{h_C`S6#NlLrB<Z(WiMLlct6;9+8-SX`0%DopVbg zzT_39n_ZkYXLI~NF=Lezdm8o63Y*CPXOO#f_{ifEo2zD;b@92U#A&R}arn+2_~qXl zVF|N8&87x_lb<NNSxq?Se_Z8f!o`HMuiNg)??3vIYnjZMJw;1}`Ge*OZ>(YKRk+EY zT;CwO{iyDb4T5V|*ygrz8#sG<aqK@ZtKDmU;akNtC8miBCbT#*pKM<ib%fQ&n#1|Q zN-y0XuQQT41zR_~6ihhFn&5eG$EI0dB{beEoLyLSP%mt^gwX7ijztOV59ESkSId;C z^Z(fB-hcGY>WKU`4)!M(9%wnyp;cTiE74f+K$GE*&?NRU=C~899pnG7$a74(q;smb zPD#Kp@{x5ti<TD;N5pr9W1aivT~I3c&dDEB&>0`2>^-l;^^c0{tq}2#4Ku$l<d9x( zCYW^bp+MlWvn?-LPFmh~<|telp8l{_S?~Nm7T%W&6{2I_C_R{bNAQ$FT*O&Vo9;7= zeb-$!7hX93%v)%;gBa&GHRBpZj%h~bq1R_^ZfSg@72KNZx@_{3eX9Cq+F8?Gy|}#& zc50Y#+a2U)e(3Y)*b^Vt01bl(#*d$>oVnb7vDGhqzj$WY6Gd75l*s=KD=ggKD;?qM z3SN{v*{1WapMv2=21zf0WKa7UQ|8G|_%7S$I4!@pt%zmagKHJ9zRq}Bn<Tk>yTGGm zYolGW)Ze;@txP+4&*JdcxKsZb1e)!?O_kYP+R&~hev)BYLSD#2J?&$)7e2B~Um|`b zCGa87qr5lvO`NlSu|#ZQ_c$2#<bqpc{Ds+XGQ{6$w4ZnC^gj4<deHj1d#>*|u9$sK zJZzreeCDO)1f5;1nE`5h6sKoTE6C;2{ZQQ>{n~YRlgZ;xUgtHR@>fn<Ipz4n?>g(+ zOkbOMRb+}YUO9iybLP@HJewx(kl5~*y=2YJ!qrPc;w<-W3Z1Z(wdlw6<B|;L3zjkM zIePx|k-Vu-4?H+Nr*(IZl`tdkh6e5_TJNW+i`2L0OqkxZ&CSod;y|?vt3rkP{K^S? zk~kyZcj@sxu8j08`)+HqK*7>~S4WlnhEo0;e{>(dEn1#EN#M`#9$t=5)>Bum;t-6! zb1LY;jOHiyKMihFeAAv;_vqm1v^%c~+P=+u+On*9`4Ppf%ML5&e`LA4NAy+Aa+7Xr z+2XAmUYVN;z0#fQvY@o+!{RH&4yUI0++?j%&G7WG^fvz7_;0ao`3xtCRRUcP<4P^w zXLw}CM|fRJvhV)fcjC;}jk%H!RxXQsV81ge<Ud2lq754*xnDHtb&Bb2Jt5<_XP;1p z-{eaPnTt0{#I9?T)n)#bRI)tIea4|vWx74P92d%j97$7Zk~t){?YPH+$qv`HGfymF z$!5N(c_@zQqsAWYhrB$6MUkAh#ii8eZejS$G-sXEntcj)&PxhjJd?mtajNUq`bKTV zvI1pA-A{(Wc126KH0_`Kt98l>fsQbfhMOBKvp<OL3^?!KwxF|Ksoo&@S;&PajecVH z&s>>vA)ets!+}E~6D&na%UXGN@pQg5(f>6+#zOq~`a6=dd_`r24xBVd-F81EqP3EH zL(&4FD}63}OhzenP5MW)9IRG~h&Cwka4nj!Uh;{CYJL+>bHkxCbDZ1Urak@7klM1$ z_Rs=HA?>_}PUkl$=F~q~bYcJ7BU!yM$LBc5I<enm>ft)InW^_!Ys^e$<|91j2Rd|S zSKM|9xOyzQLvgmFZ&mM();$YEP8}?fjNYubQLI#WMNi}-YmY7!G25dz9KR*4oGF_A zWXg`#=8w}}iEhfC-?L%ugF^?jI`=Cpc1AhJABs2>;P8}3YiXyD47W;($QA}RUva)O zo~3H<5~o<4>9^nIx8@&{Mu$=eU)G5w)9g;PmZ)aQH<Tv`#MH;1l+COQVqx&E=c*8B zOxQSi&gFQqXUU(N8eZG0F6RAL{DZmwK#cCBw(yU)Kg<i5amwt;KQ)ex3uZ9<OWB@u zROFZJ#HDL=gSlraED<pH!=SC=E@;xW&iw1_Kkn93X0CS7O<XM5wN4;7VWHZy;)N;A zEo%%Gq}fE)7-SpC&${(Ff6akQS~E5GoOE|**>+@7gB7pWv{P-LoI+)GOn7#re#+)Y zlY1Jv;}@MP6jxjwTi+^vIP-%?+Ud?v<3-E34i-xoysmF)4AWQ~+<K2wKR)8P{lu*m zZkInkjhTFw->X9BnXt&)^J~OI?>8{coy?K9nJp##@l5Y`Hf1Tj*JoB~-Z}2a((HA= z&H7~J&9|Y)AFBKdOgdx8nov-1J#|O6dBA@LCd;Dg3D3O#WKEO!)6)~`&;PDWIA{B$ z0_Q2`FSVYu?HBsb(05a2&exxwKkDlzUR<$guKW(I{nDxZLCe)&@qbr8`D4;v$C^`* zB((pvO`4^=j(vmg&Bq_+DMz21{JFL2N!6C^NgFihc(&{p@Nk>g{hwizuuQe{wVut> z<JT7b=D66<{?B^<2krYu4hrvgICu5j&49qg3?Er*y}hR8el?#u{lUREelz$h9ptB+ zP4iUpE{ZsEA^wnct6R*5-qWuluhz@AXypEI+n!XxrJ**b|Cxfl(BnAuZ#>H^561au zxJ_@rS?)B~Rbt`79TQ*wn#C5Fe=Fdn+f0j{I}Vq!Y%FjP?^4~$cmH2Z=z(QUfsubd z>=0>*S|IUIyy3<v1@VrS9ZmlkjMYlJBfNfA|7V!s>{}nERXxX@VO7!0%FL@e9s<4( z{K7x0|J_i>CUZkbnTP4dl{-7TBb`6DWH53BdT`4(a4-c3+q_&Nzo4n%M#sCTc`Zx< zPF-9bnva^79G)HhhGAis;iKa$!Y#Uw*xuP~nwj8TRUUk%g*CylOXn^BLB<P#XJeMP zxb_RJw~TBkJjeWV@np7X0h%*K&o=HT-?xWv(x>Aeazr%#Zf;;>u83;cv5aAwlk#Rp z8L`S$l4qRn9As%*`z|T8<m<i9e9zWSvF=fmtE^2uWgIqJ_r(<9hL~d+3(M!#H}usU z>{$3?bMsZE-OR;O&K=8*^U53l3Ew$2Z>Hz@ADee}ew7fvU8ktov*M2ki=^%1{TaIK z545Hf1+8HZPS0n%dH%+it1gfJo}Y5!oSdQ2v^R+lFYWvINRavV=|X|sPA6~8|M8Wz z=_uEsQ)L1|t8A1rkLmtA#s9(5eU8xvJKNRli`U+Z+`0c!MEw^fCGY<XEIcJ`@d_;! z4;RO5G^qO-v(DUuQPD5U)V(8=S<k6lH>0d!orkP-W2@JtIX{&iy-C`-NatvC;#_}w zv&YRgQymVkFFM#;z<Ok7inq;cx5!OOHv7_*e@JXE$lS2gb=7?JTP)wdP5-XL|C~*# z^F8w+!Ff-6Qfi8o&L#ib#@AXfuV9;H&3=Ok9F^yj&bBk1e*1C3v!Lx;eESx@^y8Q= zv3`Nn{6~}bG^#xcy7X{^*)O@vGm>5!7f)ZLz3Sibuk!T?);?=>Ev>pMj|o5R=@$6@ z{!&7h!+(awnqm?8AqC&|BwcSxx%nv|SyS=Vg3XniC*)?a`>OIzbo{J+z)iJ(_JZp3 z0h!SSJr4c0M>ZYhRNh)(cfN4m=BaO-WY0`aOf2VcU3>HIGVziJRSji@52guST`O#o zT6~aAW<mG69n%9(R4AMd`Nom065*dQ@3}!nViL2H@1Kr^hcBtM8z0zvMls}!gsBJb z+PezcKGKznsaG!SVE_3+UeJk$OKiD@)WoUYXD#~ep2cl=WB!bDU6=H7Io0{E7PvkC z&!GAt(OTIrox$<j#RKAnw>~!PkyAG7u27J>#=NT|ulbGJ>`pU_=}ZfxZpbuV?+D1; z#y9Kj#i@M_&$k}jq~~yGa(J?6vdjL=@HulkXYZY#WWC$2HA~g|?b7F71%h^)f5)ZX zvHmvGF<y{ijm)QgA66XSQ8fLUt?q;?{K1#q!UYNw)IMIk(7bNFX3^U%O{&~$EczPs ze~4=TnSMiAV=6=ZCi%mOEsTLTs#{MntX+Oq>5sB%iuJmkQ7!`ZjrC18Sr}A17U*pV zlDX)xOZkB8A{9$Zqr^8x@08p;bVRwtL&a1DSBoZeI!%ajuyjjdoWg27v*gg)B>td3 z#pz3Kf8dJ#Bd$|)MXbeW+tXH2i#1LwZeDTpa&ik=>byjDo101RUYn;}clsZB@LVh~ z6}@wC&)YddZ)Pxy_&Qe{Q8{qH=|6*DL%p(<kbsWU!wro`Gxtku_pIsIThJZ)gJI_} zfwQgYsWYbEY2#yWZs-n`tP+@b#iD8Jd!gp_XO>txva%cvoY#?c>C^#Dxg+*mr3y2m z?sQi*`u;F9VDN1G!+&J?GEcdZ`XAYj4gdHLM#Nk6USw)s;<!=#qe8cNcF?|hDW|&~ z*G_UOMH=k>$IBDWIeV>$Wn|mph)M-ZkLItOX`Bx1_7mh~8LDi!ukgw(y;iWZRra)@ zgz}<9raek!KW8XT{@}nknMdN!?j|<1R~*yNMg(1Bx>Bojm_zDBi%R+ro0Gql8aTBk zuiRli;lZq30&5d|lh~vVH}GE<z8B4OAcp@@@l~eDlMUFEGjc-xRJigO6sIWcEa#1E zo8x}uv{~FMCfRRCI3GP%`Om<}G);Bp)V2zDyF33GRx-1N7#%i$C>h~&!;t-f4&Q=1 z74na-%)6HG$9P2~i%uc4vfh&AH`5DcjI<0k^j~r3bZpVpuobt;=>2r_^XEh2KY8W< zR8^)I#`o<}^MCtu@BGgAA9Z%+@$<|iyeD?8KU(>Bzvzj6{a3kv{xe+tQ(c!;W*_L- zs?^OOV}HEYf%C?qQ-xvjEr)(}-%_3TJHA&z`9a3nA4hK<+Zr!p+;qRoVZk~6f3GyO zKjfYXkI(1Gd&tAzrPyaxnDi%Txy`D(E&(s6xScH!v2^{k<M1WhjaG_3Sn5tV9GlXb zx0zSrMw_<BJ{HNjG92O^#_vDg_~T;u*JIl}|LYHgBtJEs*v~wLlgDsM&K5?GTKS#9 zvkVh|dPLt=l}Nqxqb=#Bld<DGqx&6?XHGQP@TS4nzhGMEG><z)J_dItEC|zzW_Q|L ze6{L4+nH#dI=+h<xrINQ^jNgk>`?mmi0g_5OHuHTrd5hDlU8cG<^MBa+PLvQ!=nbt zJ6s=}uP@}SluhB!FetE<*v7u0BmdC7%xwa<j&0b`uxf+SL9c{Z?x&9~a=v9hvWM-% zr4|V#l~UKuv(N5`xVTJ0Df-LY#f!p!&(P%1eZ+k9YJ%$T84lAw8eTD$35v^-o14g< zwtCkWftW6rhz`plMVsvc2X^Oe*q_AM^?hdRxtR?s-U`_NeCz+zZqAvr>0H}OQv=>~ zt6!MH-XUe_>tQkFOpnK$?|-KFhTEJI<BQyAcUXYAR?9QZnPKJmbsyQkw0@1-VD%yA z1pDk-r*wz3!%XX27p{}plb}&2|Gug0?LCM6Pt01pSvFW{cer>)u4%Zta>B*^o#yr> zT#4Vmu?xE#(4Tx(-<Hoc@s@sR>=o(hm2!WSr8hADaM|{}$nv-E?f65Ur{7#W`1Nmx zaquT$_52Il{w(I7>|3Ou(=J{AQ1<&}cAGjwUi~9lDT}!|V-I~OOWz?gCo^1xsi)|v z;PT)PPSXB|d_J;&5bV6M`f!dT*X-)sk$&wD{Acj~l(5_**CeuhmukVO>?!S^rkj)p zhOUo0zQ>t2Lp<Wly)`=z*1F5cw6y82RX!-M5SqWEEZ>E7_dA;nsdwLZuBv}4D)a8p z2e<6W2hOO-|55wT(5B8N{cOkN-*x5ReOIRcN@U#5#wcfBF?HqDnY#1YTa-gKf9G_6 zesS$d*29Mu$}h=~UMP2A{fE>43fi6uzjD!w63_qOq{-f(t~}w)(XG2%Q<(1WX{m7T zUUvDeKYRZUceN!ZncvwbUA)~t^SsIoIsbsz%Zk^wykudRQnY<mpt06w%TKjl8MFV` z*$AGEKbGLuW!fgzeVO-E#|2s8N@I`YS)2w6+<R>VI$e*mY%TP2JfmF5>@-b7TXvc2 zGV=+|@kT+10uzgtCw}sKs()d}eUsT$j)l&LAEmQu{`2e$|0B6@zQaVbfAKyq7Hs5F zKGB@?UhJ!$>iVw+u6I^Q&fUbPZM1juErYLqS~4bIgEcHCL~fd|bL_;_?d~00e<?UT z?AyYU+Ws^6)*Hqv&QotQDoOh7ne<Wh`r<R<ckNSFw>I)@bz=G$`BOMLKw!ZRO^=f3 zx`{&DV+5KmNY_j-s8>kR&AGx>I%k6Cg71pn@(cn`s-5oW?pb_b|Lfv&PK}+rni?K> zRt2y~?NAWyS~$(XjDwelSy`kp=FFQ<8GfSij8l6!lI>qOUJdBrT05y#bMn?@od>lm z(snRNN&N2l&u}}aoh5J+&%`{Xmv;F_g>Fy#aQdhC6gCc}2@`(I^xoeT)XdfD=vdTM z%=KM3vPH7#y0Fg`tAuyFmNQ!?Xm~73ck*(*y;FSRO3N#MSQvIr|52B+{KXnhiKhw+ zpJzO9sBx{c$XuuXDE<604Lv@2m4FXPYxZ{^x}|&JKf{wlDtf=9&o7viRH*5##Cjnq zfM2?Sb(iWHt~M!i4tL9)0__U|m-oA^W=d3byLk4cpp=%6)~5@v>^kN<c=Ky)64=D` zFO+f1();$ZjSm0rAI!<k%Ky(WNu)oAOQC9W$BC9{8x}mbj5+>Ti7~qItH*WWcdzTT z7k=Z>&^~kEa5|IDe}){%$&*gH1T9H%U2|G+!q->Lxf5r%%=;tJ@=5>WciD-C$Cp3L z^Zw89fq_?b=QNkchW+iwmY*?D5DsIq*?KxFS8xAA*6gML$^CU-0z;Ot3D1*B+`N!= z*^LiEi};!C;w1|%ALRX8e^e;uLh{iSC;zbj4o&>jQ^zRr$H=ki@m=F9;e1N^g2x_i z{nYeuW!%kV3C*+9+Bl!=ZzvbIr2F8)d|9RGJ%5Ur&L+pNpA^)nY!$!%gp9Y~xgY-- zlxC>Of84r$O?;1S)yhP%!yjCAw@6Cna^30N!~Em0Myi>&(sEYM<???LlHP^ye8hb7 zXWoAX`F^g<8ItzKH*WvopKDw<-RPfn|2zL_`z0h-&9ttwdmm_UUjOjt#>t=UO1{Y1 z|2nX~@IK4?CoRoxbHpQC<qvXvI;EZ4w3JmsDB#24fTZBU__pQNj}50~oUCx&+<S7G z(c8TiQRQO!M_>F>Ioj8jCgk_aUMyr;!3xpuTmqIyyg1)D-rBBTen#U=z+3JQ?ic!w zt4pOxu{hr{b6$P^(ZiHA4FV5$h-}dd+uwNM%poBKeu2PGGAtY7pE0?+KVbdG@I-m$ zv#dXCB~fV=e|XD(bh}KsZp@kz8+}OoKZD1PBP&&3OKR!cy1bT)=8!4;(fo8y<~1iV zr($Id(+3Mhe>`bE9o*~G(4fJYmawWJquV2Csr;7r2VV3jGxw}HlQVHegVb@Rgrdh4 zwm)26cqJD+eCEQvEzy9Zvw-Jsk^;wmAputIo`T&U52%RpPHca~u^>5<g(rRD)gYce z*Rw5MBBGLNF&3u|g?;j3Iw7We*DJU4vs=U~mM=FR82NsdF%7AoqG-Uqpm_f-<qI4W z?)_rbZQ0A>Euee7!98v57nR7Ql%~x251S{Y{AY;hUwkY*=fwjnzJ6gz!JI7)IUU>w zKTT?im9-ZTz1$Gf)%;ie)LUV(#ebWgWi>uxddk(naYFKQ!nC8=yAnRXO1%Bo`}`^6 zr=5(~A8kGqGBe-hAYW0b-#n$~RU%9M_oTi{zhWRQ5b@2UppLIjIn2!|;#ka+DVpJj zWlroU+~-uOzpYvS9;1ar&Yjh(kFvhod&r?)hV$u6%~|u^IfdHyTZ)};l)kNGzO(G= zwa13?TO~v%@hmpTp7^%cTfd;}*be12KR@SX8>c$*{}hv9y7Hx>qWP0`psvIHnOojT z88@<pxF}^l(3#ydr~8q=kI$`mo^z@XG9ndI-_+bQYTmH%q1f-b1CCL9a}>(2E>{)| zfBbdZQ{97&G3O)ita~GAtiNepTHW&*cGu=_UzzjqsZ>M5o@R#s3{$G=k8`%DXPeHu zK6lZQ73}4bXPA}e^03A~kQYc^%ixeJlrOT<Rq4s}_Rx<Ul8fV>W$Mm9`JdsCQC`+O zi*ttC1iTa;KIL!}JmGNn)4}FX|J0S45>M1TK5~2AE|%C(#-hoge}sR_u63O9tg0pc z@6|=?>%MSJh->>Pu6~Q9EW;wdCF;+fka%XD$sdc1ZUjD)c=++{(uI;w*KZVO^kcd` zMMzd~^KYII!#=quqG{)s8n3QT6#K33lw0ZGX)UjFHt~zINRmd@1m$`8ENiq|4}?!j zUl#nILBZj+;FnC}sgwGqn?DdeQlsv&;vj2hu2}k1PMwQ3KjdFA+1%_}Zf!I3RHf}k z(G}-7rinV|^!;giWyZ~z+?+QtdHzCO{b_SHvhE2JFuGb$t;qc#$;+y?P2$yZrM*fw zx0U~AU{Z(>2#nk|@8KcshG|Zdm~^)^Bv~Igm^q~(drkeZ#Fg<2y065)>A4+q{9?jW zJtz5v;ya!=@NCllGk;1YXK1)0E03aS!+(Z0fmQ}rj=&!(f>$P+M>4NuP?TqI5i+V1 zcw-a5Rr;#_z!lBo9C4mK#Y_7N{wxdsBN_Wx>FkM(pHy~M9e%{Hl54iJ;l?-1+8>5V zD9vvZuu4)mde*g7;Lx_iC2#c&;sTEUwrBg#a8O_Vnf(&k!;G6n)@)>X%CJ44_Q}*0 za*<C3_qQ7;?UHQVnt#Gd(}{25{>K7=C)ao~h%vQnm{c13<8u7!z9xr>>*JoBljhua zAXBQL<;=SO44>cJZQ_-9*!`^L{E5X(S!VGW$%%_)T9sCp8#$Dy_O7r|bmL_I&u~XV z`N@)9(!#n13vaz}*V6g<M?3IB-Yuae*-`e+ZV{in!n`NkP?lpj_i*1YjrE5mn$`rq z@_Jye!1$E)rz6X2Ih)l#Tl00pgi;ssJ^sL@)GfNpe7XMv4?`=L<Ez5<OQ}A5yGLh+ z@!OLH3P&<Ub{y|E$n6MJzGPsOWN>BEMw#-a*<$lA8#$J{Y0i8Yav=G;iSNbNCPL@Z zyFYyJVN}lKQT}qZS+l5eMb}HK!yBeo8rDQ8Zt1u*bH-&ur%!*BT9X@^R+t1?8r3oI zSFUZ1(-8feb!ds@in%8&LQ`COEpt;mr#w_v`);vg`AnZx1~p6(m(n6%vp8&gxTtE{ z8fRCIIyRZo=yN)P3`<Wx*FDPq&quyN{I$)V3lBEcA6UWvaLESmo&@QGKigatN-nrd zCQ047wEloXhP?C#o;kADm=C<Q=DwA+W7&gW@&6eV_RpPMW?Fpm_<siZi}o_+YtHWf zQ~&JGwfir5%`A^_&wnw?P5wZ=bo$RXXSV*c`MKjiL&j_uZt3reZ2uWPM)P<Jwx;j9 zvMKfbvBiNmkH4HD{c-&Z-x)q-Ml!ieSnG5*FSnh2Ly=k4{y#%ld&Og=s{7ynWZiCk zb1+o%N1)YBq14bc>3*GLk6W2bKK^5<f8aA=byMYEWj)3}o0xf>6WjUISl2zwx9?DU zm?ZAVGwHnZ2LZ<77K`P7=BUJVyi=X+=J#CdmtX#tSeN`4{~09KEdA`H@mV6=UYvK0 zQ66iWqN%Q`q6gPQ9*OSfjc*dBHcx-c#&U0m`?O0bsmoOsr8K?rv1j+?$S<sK3KNui znsBC9uFlBdOj5xciEC<Sy8=9R$3N8l!!9Xkxn<G8lkA*6TQh&$^%I&F`eeyIjz{9{ z(TvWI4>TA2aa3HV$skhc{c(=RPk#1)n&xSj;yeX=EL^(kKWvPPoVc}7XjRdkqbtLX z@V?Sih}K}yR}c!?`bQvSZFM6<BCG1>IljN9WzKbY;IyUsQE0l#F4?dfXa5yC$KAOQ zaQ0tNeXXwNzti^>xn_BNNPSv=_nF9w%;UN%8FwkJ*fF;$Y-7y>J7u%;EQ&@!3qD!8 ze{d`7JNnb&qv@qU;VcHp@9li1+y&WDCW_big10?d;n%Ma)N13)w=8?Xv@EyAwpihh zIyYr<97N_UFOkjsa$V`4fjs}O<%^EHvZ=4+Y>1zBL-~GIm&nft`_F&a!ckhY;gR#7 zvsDrcpN3VP(qw<1r(biRG08ZDGvk;{wZrsBEHU>S|2lGSPjTrGzxeX%8Jl;0H(nfw z<GB2O8_%8%^F5QwR4r~BCvCaI|I<PKm(YVfuFe)Kn3n5U%4NpA-y-_b_-cV6L+jI% z{{-KqK5(*M+{h+V5qMH;-OlTeB>I0mY?=IiWAm}pr8gZ)y1q<Z6E^qRG6P$SB?A9! zzO`>%mbdZB^ZFx?uiG%^|Crg&SRb%+Zk!=U-L(h(>mPsce`Y$}VL`a+Vf%t?x!^P1 zAvL-76GgThS+Dp>P38VXBS*&HDf$)+YK~K!H~!+Bu4tn={eu1x2G5;QjFVRF`Q1E~ zw?p3|<U`C-Plt|I4;rqgobo*=B4Dlm&AX+*j9KLKfjR}@$KRX8e&6d$4!ZZa?;OwH z9gB`^xc|Ui+pHs=Jxpcm!-LsREmU8c7zw{kE?F%o;<3R(V9AR=(Q46552GjX@&9y~ z?W)zUVi;%eWwAw3LP1Uk>xr;tWBnN=b2Aj2v+6IO`Oly^$vBl^^?IRKGaNZhesN|m zTCA}v$GXL7*_$@r11}UWn7=jiys5fLPGE||jvK<Qd*1w*a#YPw+|g^U;DwyK?KAJ( zeUr>~+~UI-#z}t!Q%_%TIe$CRe9LdiWRZYRZYNzISTW7ZOIY>Rgy+TgA4|BEPTZ4h zR6dq+tNoj)@!5z;KMz%_MknfbJNPBuK51kyTWD?I<P$BH0>R>MmR2@0==^8+u%Ls> zQGZE8^4g~immh4Xw+XeF<JeSIBXfw6J2HJ6mzUL29SgzZmIu22GwiDM*e+yRHPcw9 zJx9GT>iS`G*0qi4hP%2JJzz_-KgqGi;L?d@Cui+&aEfe8Sfaio`JwJ|Pptr_)xE~{ z$9k4<s$AH>_q1E>dCJeJ{~3PFny}}0+vP^Zn|VuF>pSQA3%>H|cIrr~OmzRC-+cM4 zc4G17LWgA<&x8Bi?k!!jW=Ceq8JP<H2UdQE1*VF{6ooD;Tau;B)&0XlD)+h0swO@! z+3oVJ<;hc>VtZ#y+ho>t$-Um1QE-1Qi;U?a&ElXB{AV@)e0_i8!$12>v8K=;`&y>F z*xzBU?f;*lFH8QsPQI8{^?!zcTG!cj3#KUOZsTrTBF~v5sMzpq&YEWXL%ISp=kf@N z-cdg4S=Sk{{!qgoXS+3x?fW>`<u`U4T?x4DXD?`^7<_wqZHN1V-uVslf7NlcfBzxB z$Xa54_B1wCJ@0i9Ja^3c)E}0zsh?TY{N{=L`KcyHBXZ`x{CvEFe|uH2qi0bwQ$ZeM z!4v*RNz9=h+y0~qe`yK2qZ=sB#>@Vo+9SU(Jib6{a<`eRLuy(3e+C5=&O;T&PaV3} zDj4dmnwOA&>R=Q9{Kfl^=rBYmy|(JMoBYrqikU}x;~yr$Pn$o4Jip(0?$euli-Qz7 zxo`BXP;C9fqS~|9|Csvm7?13iX-nnZXDOfAvSW*xoqF<DoB8|y@fs~Z^`GIz{GXHi zwRX-<{WVwB_&4YG(jTriJ~ox}8PDXk?%iKMo#)T38K%GgFzKIAZ~yv3ii@+qHs|o9 znVSCp8DtMUP2YTw_m7p-61m(9^)dVHn4dEQIj)L-5W~$riPNpvc#idt<QE@AzdV%G z;hA!e;pSF;{l-5c8xQiXZTC<1n3z0wN=%k~BjY5+MTwWvemSbAcP5*Lbg4{vurx#a zuUVYPcKMZV9-SS!Y-v^e?GHUtjz2hftXW~+ec`8muFd>^B<3GESP|bD>!vr2QLM{b zF;DhK7K4-i#Uq^-C8{3gb1E|&HXF0AsuOTd-Fa6*LOA_Vvam~I^mMmS?pJCbjxn@t zPN+EIWBx;ObD~RX=9#YB3#RB6$Q2|xOcDLOa9c<2v^u>leB6hniYr#i1b5aqFc^k6 zn9bx!T<?A04-@wq)&oy>G^Vm_k-Z|^w(%g>KLNJ2G0Rr5-#zw2anoWm*8aoUP5J^0 zmoYD#EB!=Wg~w#g7H$@oxEDO<w;rrL`fq;WGwzMQvy5_!x?CG8gcMi=x@-KWD(_Eo z{!=!eC9lo$!tc8gti|u@8zPy$JM22QFN^DXIJ20oqmf@Pi`>N~^$+~f4hNKWY|qHE z{P&r|vXL#OYu#`AD;~2on?(1rIL+I<B>q`oghNd~|0ln7Ggl-$ZTYmUvc080XCsGZ z2WOCd;vIo$FS#e>TCNg*s!-$C*&tALpt1i~#iL~f`kx#Q)J*c+9`IgSEZWs(f7*l_ z8uhb6UtT%*WM}9t!(RzE5AtfoRV1h?+|k*}u`qc{^(C%?{TKW!uRZze&3y6JPSB3X zHC`b;nfp?jrZv0}ZVtMi+1YPw$|b_^ZQ*~0m#6tsJEQjr7Am$07U&e7)fHgbb3*6z z+2?`bNwF)qZmh4_dEun<S4Tsony#&uyzR>MMcZ8t?N0k7xnSm+EU#M^s$FMW@NBwZ zcSE56W70~8y^9`qh>9;w39sPfx8l&AJ*U;+koUXh(`;tD8ER@S3C6vDvdX~q<<T2F z8Ekj>3Ke~CId#67rk8$BM}+SnYjC`iN@Csw4)qTuPXgAiK6hc=#9#jzuAL0$JI2et zCHa2GwVyJMOKz%2dua1%eDhXKOJ_a&M2q3h2?ha?o;QNIEA&z%!ud^fq=f724+t`` zZq8rArMve`@{u1C)wnsLAGWElYRI@^+0Z5LG&PBDGAsW}e%C&i9rH?_xGog1wv^95 zw&uzHMv0~a+!CS<aUE=&41G`QCn<hcFA@oIO5LNvz!7j{4eRn*I)Y5{$ArIDbNy!! zTvb^lba)&4>sH2@*?+2ibh(NQB9rSZ1UCzPvwSLEeD6S0f<k5e!lvRXu9h3yoLwG% zWiH9xcbNIg9*s>GMAKOX#Lmn=I6d>3<J}|03!E&!TrP@z$`g5@eJQ7q2e(@s=QsJ| zF-nb>{}>+ZOIa=4|A%+7lUnD5rd0-uCpa5c3JNa|esFTeWB%HOoOZkmS|?~NpY@~d zJB!$Tw*I2ZciQ55mzY-s8O>}pW#u`zCoM3H^HE3imP<EcTjbb(8thnCD(tXDfQR)* zZ>K${;d0LZ3=gzkl^*gu;;AOv(&nmvis#|v!rFZ=SdCj0woKDw_1C`DW4E)c?Zo@0 zM;$Dyq+aeho{-r3KKpaa<G!H96}>+)n->50n|SKZBjaA>_{Wc{&nGjRNgg|A-xeev zef;U#!wQxTT2861UVWj9_9(NS^4u@|xVBPN{IN>!617m4(;6bbXZHW&+HM$BTqM!I z&8nQes-C50M$ti;R<E`H84j8o?tb7feZ9vnhyC&otbfk1Z{V_i#kBF1tkOEZA|v*# zJX>aqyDkt?wp8Q{=IXxEH-$NEEw78D%AJ>4BA3r794p*;E49gV_KJle*^`6!eiGX= zGqU{yt6NKz+WGp{><+iB>I+H@i!Q|MYkQ)lDs{x!CHr5l!yy&lH*FzT9J)HW=A8YJ zW?G==xc5h*qOQGHkjeSSu7}SzolD#!BYge4@CWW%C5D=F#{U`Y%7wnN?v$H8MUeTU zpVISL<_QL0@AmFE^uTiMY026N=UeA(bd}q%_2OY0fhTr4cFZ%R4u5Et-=}S|YwABE z<+>ZHoS*dsex`jo9PF^<(6K3T$C3^zY|{PDU~*t>k@=69e^u(ti7Kb=cop55>-<)} zN4xEaT6gC6Jw6*#>m^&#i<!mi`}JSdhX4GsUn+fj#r&`73qJoi_4JwQ>1Q$5>kqvD z{GXxx;j2?-f;OKP_h(=E&roMCv-(4e{0}85j@3+uKmSWV6X7f;z0Xph=byI2^_vEN z9H;&Z@@IZz`M1j@&*Ryj2;IL&|Lhm#^`G{(N$=`SLwl8@_pYz)<NZAUX@7vQ;7Lao zsZ^7bfxA4SR1XO;92844dY=DLB7T`?@DJxF_1p)4Fn=sw{6Xr^;Y7Bg=0y3Uitm55 z)^AyGbosxPPyg02I2^Ppe%kacaf11z*nn4BeY{=vO~vc>_7u#2YIbC%{?UswSL=N7 zNG`E?Q^!&+c6i1ohY+TR2{Hx|Egtd>?0>Ip5O}kQ?Ud`9Cb4ks27xTqg<AtdzHjpH zcrL>)FY<`}*+sWk@2|dK+I*e2>dWbuw=`ru+t2E2#Hla!@QX=P|00m!Kf&EWaK@rr zEn1U$C+IEUk!-o)^=?MW7O!cmyZirWiENmWC+*_i^5SGe^HyG~hwu517tEN$bHx6^ z9lphkzW+S6Hg9I%vZ<D_^UltXuC>lt3KI`cHkZE@S<(7<-=pR!9wAMSmIP=mShw*x zQ>|g<v-oiHCvRQL{}q~R=Q61%EQk|Xx-Bzb@I}CHsb6~zZuWETOK9Uhp>TAmlhbzV z3%TMS3?`pl$z-V1&(gK+AM4YF76<r0FPO)1Z{m-FX{_fj{AW0;%Gg{G6|dK`eCLNI zkv(5EN=20(Jvv*kz5ilG<18!bEwVr3qU((hC%7NsJ3goMi;uzqRfkjJYDNxSe4jM9 z<Br%bajpH&kU1f6MFvZ*OsE38#smJmPhkSBH*ywr{wa8Hb<sKg2i-?bKi@I&UxLD+ z$jPy4JoooUH5^eo=q6+#z;Ary;O|)H^@YLP&VBvh{C76v?-?mIXODkzvAfw`94FLb z#P0g<vfA7UJk2Id21N%_x1L$wzo>4}&6e9+8S~qYUb6Yg{<o2xE%^K&Wxe@t8t1$y zu$M47=qr7oF|)NR(tzbJ58HI5X8#AKPFmZRrx><yF;4j0=-pYgps(S?9))GP?77QV z?^xsb&q2`B&sgL1<31BX(T$p(x&Ij$k7O1w9Ae*c!NHng@ur-49IOj9G{hXXd~;z) z^HFm(_~f*};C=_=XD7}U$xoeoPqN+4y=Sm=b!RZs)*43NBF85yG=DS&YSbNYTDizO zXy%rp4UN&e<EJzPEihcf!~Rn+@{V<+F0=cEUBw68G+r!JNOqKPF?rkn#C87f$4*x~ z3RM=oO4|RxxG9|R{%sx6rGNU2_Woy3Wnq}#rN9)RcJ$^4fg?-WXNJzJ?7ky>@6i@! zho2_SyPdl}t8Yl`VHcg`kRqC?s=I+ZSivV@tI_HO0X{t}k7qnAQ?%rmqcdgclAjmP z|B+F6$oA0sx@U{TF7-!ztS#B4J{<h3=gf5LGSqo6HT@aq>5Z>Mn^_O@Jxmcb*I_(0 zzxgcJ!rga{K4N5aIz5Hga=Kq&Ubv#<Y3&b*rhL~8l{2&_Y~%<v$~K!T@^b$1h}hzl zhr68rGc=pXnN7cQLPlXxf=?LV70z?!yc}BYUmo;Kio3G?PvYAe7RSAdKX9eHZuQu& zzeb~h(@nE-;w8nKom~r8{0YkDQ5AA57yZNLvF<;Es>R$V9d$V=DpK#`ZR=92E}mDC zNm;n){KxAlK~?XjsXtO!_1w@%IpAo^n*Op(y(KT#{Ac)(t<ECIJ9|mg1~<=_FYkOl zvYG!sL(9~zPk*;$+8^GfQ0H?XBxbglr(vCGd+C1$vz$9K<>q#8RJ-)l<YxMJ=H7{` zdgpfrSNC(qh+Qsh{%O(vNGW`)xZGObf&<$W7dfrk&uZVof9TT`k(aFQua!Ny1m{10 zP%9`IJ}E<0``yB__g;_goZ|@Jl4Eo#{BzMPj^d9$HgA5HF<avZW3zeK6#f}a+dlsD zOiPFl-eUf+jzK_R%ccpJ>zh)4PO{#6$l`3~V{N(V^QOfgyAbnFGiK-3qWr`dE|LEX zM}!K*d}lZ2C_Vl;^Oj_;)d%s3Xa49U*K!nV<%<5XSLONq_CEu!)1&m8OX^Gt3p5!$ z{ExUly0zIZ@1MTkH+#mX=06&wyxl)ODy^E`_*8W3470=^9I=mteyM3y+blM}@h5>b z%;~Uk;{v6AJI@)fP6!#sNPlGcBWh}=J#X%_8p+N6$NtqVx%}fl!%CYQb+Jdwjq9%d zIM49?$A5;^JRcu_{BE3c@$a((yXK_-68_77q|V~UpWHuDbA*K6%BDW~81&XZbFW|Y zZ&Bf0b=LQre=E*EaQ5_v^`d_?->d$duj0-)RbEY_)&B8+hK|ibxhZu@bqcQgGUv#f zOl<m{&Yn1-c_O1g)1#g51-ccPml$Q`Im-TLShB;#NjW*b<4tLw|AE|ZfBGjaR`?Sv z!8qe(!#9pcO4pxQ+Y8)Vz5YLg(Dlh5%Q$T|Y+kU5snOxi;aLLL4Y)P$pTA{PKQr;@ z!^0nc@~IqJ;<!?-P;&wQp|(Qy?;-3DyH~NTY)WI~dutk~k(0!D)ajKDLrmHve%Vfr zgvn-m>|4zk6k3A!-m90$*KJrmQJJf8(~1X;S_<!WoaWrQ!<8-4FeE3Z&E?Wrfyf5w z(AO+l40&P+0<0a;9U6g->%#0D8(!T^V1FOU62Rcf*yA81Tf)K?S9|%7^6iaxH5Rc< z6@SwH!D;#<;U+WLUG_^1Wj2IsJ$|C-^@(Z6oFmg%KgcCqTy}`bKge-PDF4nnq2;U< zCKeNBA2pcSSK~XeJc)yOlIDT`3>rdTZyIxGJLbBGCY=;KbkUwo$sxJ@O~yje4K9qo znK#dW#yG=7;^_*HJ%{JD1bvFH{NrKB=p=r>Lx8=3%Pg$*79UH~lYbJ<JCsD_<vAEP z+}E@};gP7Mo5BBTk&cH_!)}IJDc6->&-`JU!}RFo-}U|neZsglh1K~)Epur$l#t?J z5M+0hV7&Z;{Z{bLhn$N8<!4J3xEGvIX%sk|95er+WyoaK(*8dmO7CV!wS2UFz@<K~ zFFJ%R<T1P8`eWtwkC>z64@?N)*~q-gDE!3iNlIJA7$4tm{BwMc0JDuv*g5v592?yu zvn!WKl}4C3wkwA%cAwap!}w14Z;e9Jat0rcnJy_0j9mm<JX9vVTg%VEP{$#|;PB=M zr<Yc&qj9Rj!zk@vOb6FE^?S;wt9vrJ<~Zgl91&n;oWsi+$;kA<>2{-OQca&YL#9Jn znkcWmtW&t+%r}=c0t2)+YDw(rNHJj9pmfszW4_2kJD#H()^ss4o@3Y^VyMQrh@Z)r z_5Bf!gYIt*dU+|hO0(|z$HQ9mM8;HCOZ(+cfq+{=y8H|w8;oCY{+h%R*`?5X_M6X# z{xjZeLQA+^6dmp;?hq2;T`E$<|HOVp@&_gdwb^q&Z1HoDc-=UClhCsZlR9^$2~-N) ze)fBjh|WQOi-X?WjXWYU&Mi&`{}~uXwK$)08~U0|a8PA@c8@LK=)|CavNI<OPN<Yb zIl7xQvBk28=shv(;4pZ9zm?(VmKkXVlUgSlAE-ET=8sIr!LHqbt0V6GXXyT!(9$|n zarG4K?8dMMiW5|f1GFO@B6rPHEpyq?ThLykl<K0mWY3H~sU2H8i)U@wA25T%vRSO4 zTk}W2p7oJ`lx|)B@S-iiq;vj>^6hQz%hbf>E!UiS5-41`CjNoHzTW~~X=#qd51JEZ z)(cJQlH6|aS>dupxy$hj8pZ2gP5j;1{(wzOgl#&@DXs8_LYxP0=%0FOovXHgH}8Lj zbFsz>)&+e}l00H27Bn88f2^6kbEeAjl8W0G!yhrP$Y}Y`kRad2aMmZ3x#Ay#a;E&E z*8dEzmH4t|H8sz@`D*1MURM7j1$zb0)QR7EX~^3Bw|Cv-_JbOmFZOTu-*tFjqQUj2 z=UN)0g|plmFNti4s6S9tA<ucXkcnqW)bVG+`_@g6kTAI6X|I1qEXDGR|EcSpPqq0b ze*CBHeQsNjVyvrP@|wf`Paf!-vdVaU7TYhq)Wl`={)3r9T0YNx7IaT&7HCc5=uJ{y z;g!T@y!E5leyd6HU5D+BPm27N(*Ha`sj5BlpJjhU|F0bzJ6>~ymcB}PX!5nKv#YXw z(njarqt?xtQ<$WKX0Ts&lgoS>?D%@_0jmSYKWuGHyRH4>q~U*tHjZZR6Wpo`&G$LY zJT7w3p1mRdKt6Y+s!O?xa&;4LiSkzCSIyJ+a);M91~3~PmNQtXQQsxr&=}Rm#BwW~ z<B{oKeV6T)E!{usf0e5o`F;7{-vjsRueu+Pt>gXAFx_f$`+obzgZIy@{+n0(@`A`G z?|q+|;^)7sn)I)}{*S_$Kb*TXl77$M{o~m-&m%_`iBJB|(APh~Vrj>l6<*2`?H|s} zw`^qp&!F0TZ#pYi?Yy^#)PKAWR`UK6_)G52_WumBqOp%R@lLe5%4^oLYSX6^JxO&u z%#4ydeVV5qpRv=QtI+M!GvT!%saM|2cI7{~sAIysj4AuK7);xGSC^;epJtsyVN+B_ zom#KI|Mf?AYgK>wZ*9*%vQDg2F~Qg+!sFMDpL2qO#GcuENicf;sJRf(u!D8OwUR~O z*(y%VIk+l*lABd@bFa0&V)O&InZLJ+<t@7W*(3YOPM1Pq)#J_|HKrb!?fm2P)=2F; zGyWQDC$Vxgtl2Ga)+<rmLtAVYhqd$HBRc{j)?9J%J1)}M(AeQoyMVLxLx54#^@j}h z4HX9aJN{e~tm+75%ws5P3fOmaK`zJQcA*Ga6*GGWH|EbA7S7yFEk~y_bgyAxjXbZ` z;(yK9L1BsDrcd9JOgY(Zvb9X(QIHNg!hZLJ%keX+tjErkiTn$d_^NSqJB#Ebje{Ms zt<DWSj?9Ik=hz=NI?5O&2=;e1>|>Y`t!c>5st{Btvgwr5UKwv=af3r%y^3-sM{YUk zc!)pcWO${`)#7a$!9I)S!<Drg*u<Pnq<H2(bh>!(ibaHzv!g&j;hc*Gab7O27p70$ zx#^eRaR#}|RtM()c~-}j70h^*$N68Z)R8R{jua?g;1z1pe&_fs#$#y<zZ0Y8<ue_j z4<;-AdG~DZ;V*(({}~Qmu!%dD@Tb<xaO06%4#l(TA9qGCnc~F1Wp7JW<A!O!O4zUM ztq`2DsAKWb4aXTR3-siV)a{8>+;M0d@7G0wraL}%aq-nO8o5ZZv;@W<cq}>Z%VkEE zbC3LvXa!8W)bNg@Kw;;~Pmdi}9O98~nS6I*!6G${fYOy*?k8G3YZ{Ll7y2b{XKCRs zICF)C&9KKHIYx{x!NM_dpYT2lzRS6a0<rRq5ta*1C_OnaJ(hFRnibBStbPlWR0Wo& z2}n<@-x1W{uFStp%%)55U4zY;3w6iB7<zRLm|_<!x^TfKO#g;!pp)oC^MHixDN3hY zF8yaX*{5K6V5@?!3XgIFf0UpIm&8Q}zKt)hn9C>ZIq0BWxWwzagqgs`@cloIoj<^4 zyZng#;RVWnj&P<v<cQhvR3q}UQrb%c2G+Jo+}TY(7O?;D>EH{xa<sL6J=+UG4+Hfh zS)mh@o^S}4ac)^45W=v$?TqInCjNsROe;bho2%*=7_RErb4~tm`<0f5N6dlmi=|dL zzvfbQWE4_fV|c{<*94nIH+GzP$)cc`nqs3WxBQ@q>yBoN<Qb|G0(vFR-HG*rfhSUh zP1zRfsJ`Yu%*`lS-!tX#WU2G&Qv|yIuyA&G9NPbs=Z3w)92qtVwJ-)Az7>{-?Opye zNPK;;HUE+L)#X2Ul2ZROyz}RgFSxeT|Db!}^V2`BEqR$Z_a(EpkYVDc3;u`HH@)Tm zXCU2^Ve?4-iMOKEck7>V7O#KIDgMCZe*A~<ht0h%Jt7nJz3vG96FgweP{-i6R{!*W zhAphsGjg4NtUt=(k<)TW@S7apJX5jrr_=(QBqlORchtBi{%3el8zbPFwc#TB+$rZ+ z-q*{zJ$Y+Ab(WT3`^<>NJ6}Dlo;Jaw*UcgDS<+2K#fp$$OS+!&+);RRV!OeAhG)j} z`P2THE4+)&7d_$dxyqkm8Oy>yWzUNgHC}I)c-U+(cX8CtvITpWRrM`-^GE)Gf@NFw z2alAKUpvmS9cAHo66<9A?@Ev5k9gCCVG2z<++VT(Sa@^R^OQ2p;5W}_>?!`x{9tCn z@hKJ0f4VfR+NZo@qH$ltr<N<82e$`*T(;cKkxk^E+*jE>1&XC{`z6`iHrA;BSf<!! z)8qY#(fU%Nsp4X-&_gr#TzjjR_CmgA<<h40e;jW;o~$HRIQN{CS#H+sFPSoD4LH`E zNbP#Kbw$PxfsHu_C(NDnxHQ}P-!hT^3_s?|yLkQi{`$y&hVGdXtNt@Q-uY{O<j>cE zz5V|g7;dS*ndg81;r{P_^*f*b^$nhX{8vED{D7bT8JKz|`#-2z&vTo5vrEcF+fIi` zijnsJq@3>9axFi7r=I7;iUPKzOAG(mooZ8-|IeWGhr8^!@5fcS7jLo(|8U;NuP)sZ zIn``MirTSg<_|ogJSB3Qb^bU@DssCmW|&g5Ux8^-#wpD|><!b~JR&yyoHKDxcj=dY zPSN*XlOGCxv~V_zx1SKUs7S!*rT<pD_#MKR>f86!sb1+ZW+-Zv?~yrk*2vP`Q&{>Z zFXN@ArY<3=<jiQ5L`4bR1DAuvivt;jPG)+wnnh$ySa2jE=cE8jdx6)KHj6TYxMdC* zZEO#|>`*J2=o+#$gz<&u51aQ7g65X}VdmlG-27o$QmcaUFDEVW9qiM8xJ|giA)3>+ z>tBnQ2mh^L%>%W64xcpqA$@BhgFQ>ab(Vr6Mtdd>GaL2|DoRW`B@!&ATdg&emUgbx zH7aqo%<#OtL8hl<_iTnE2lN$FdYj89<{xu$tNM6&PGrYaj@@ORI(lt}8^x*@@0Uz0 zT(Uw%FZ3jX22X_n^P32FvFp#6^xPkCS&2*+;|thb;KF|Evg0hSocafgh5tDeNX};v z-7l`NSe~hBev_L}!>+6X1&2+-U3MHjfwKy7A35<aXE{-~@&sG?LxZ^o8UjA5q>6Dw z@Uet;p83@JxZ$N)fWejkm4?s_EgC#C3m0nKdK(hVCElP|{KK*FiW0wDpwNpdP5wz+ zj#XuH>hMZ*Zd9@mXt4hjbH|6ba_Uz0*GC*>4;V4H3Vbq-dl+Q*&mz#&jw7!B@D(1- zfDIf9#}#cFgg4$|4UX-rFqNIfE6F$g(~3Yh0hL4zm*7&xmTCQ+Op_%NE<5FJoF~Uo zy>P4I42C;X^)|fZJb6UFL*(Bk{^O4%111YI^G!RwIz_7~Au2ijwScom&`iC^A9q>K z91i%oIpJi;;ra|0jSYg_49}FOhx9Of5|z4mi%UpD_()HPyrz<izG;U>gR+0{B}t*k zj^hsve6NZ)P0&(Z(DcG%=@d=XJsYwXY8wc3J4W#oYu0&nCo?QMcj9S_@CD`v%p3F^ zgbx~8acCF_FJ{+Ony%^67$uXTv&wW5^V!xF7xL{_DDVg_R!Aw(v^QMDFxyJ;Nyh|< z6)Kw+dvSgikZgP6CfZ>nxFS^NpZWtv&j=mP1DOZvOqCKlf|vzZ?<se2+vLAXF=7+b zzS7m2W5l*6YZ*gp-#m$ch66kbYFsXU8cS+_s^x3_STVsZAp5jj=CVLFzT}p0oedFg z{Kl$|tK9Z=CbRNdwUv2?RQ&9<a@h5-JKnI=K(1wb*B`a3#?Pcr^jZALE$O@xu3>T} zrQ<l?_J<vMe?$sD3Qtlt=zsi8(RxkefzbKd%0CoX|E%a>$hx8&)ho1CNyt&hQ~1ja z4m%x-&pK>Jb6fXCpShD+7re5rYUZtr@AIGOJNG0NmN=`=e7i1}h3{a@!9$-n%S(R{ zIKjCu_i>%ZBem~!_tPKFeXAtF^Y8F~hLh(j`3}2$%9(EGe@SEi6lZ6)nm;dOG?VtT z`T6mj_`+HLaiW#~y1UFJ*B7Q#avRn$pS=}RCq2pj;1cKdtUblDa{n17oZfN$bDgcL z<Bu=V>;5<w7pw3e*u#1AxRPn~fu)bX^&1MA$M-qfEb*Kc_3@Y62_IH2iB<6*7*)c* z2^r|HpSNhAXqS?vrZJ;qn>*72%_B0`8Tmgsah)-&5l)dWJTU3-2SZ!`yY})8ZUXKr zS@wSr`F8HqrG&?O;u&{@-hJhM`p=i6?hm{-Z&<AoEs*0-kWd%7pQWf=_>N<t!hwFp zAM)&8Ru}SG9qd+Yny2+#>OX@F5BG;hvy0bGTrYF%W7Fd4_ZJJWFmN<B*t5D!;`l!O zQQ(#vv#VSSXQud0d9vyc8;6bFp_qpsJVL*6egFRBj^k&C1#*&qHFV}z2z3SOw@jL` z##_bI?O){Pylc~0=loNWyKg^t^V9zf_HRNS-<(r(?)~bfTRRVjAKAM?Aap;&P3>p( zw{2biGo002_^$Fl!{drNrfuOz><>);sJ+|Z<d^fx??2Su4u5cG*QuK-SL(kg=6ooh z%Y0u&TTryH=cdoJf4N8HJC}cP{LgU7wE6mfhQ0bfcU+NgIIY%samw~}>Sud5$Vl7& zP-Ie?wc~aE1J>QMlV3A@-x<KQv}3b;XUWtZf5emiGjNF8u+(>)N?CsSgM{Snnapx7 zi$BOE)pH+z)VJ%eJ!4f@h;9D?_8WD2)8E@~`NyCvqAYvxq0xlUGdZVtZeN&wXkqvI z6Y4wvDC*U6#xDBL@LeOA@sFFqttWHXv;qb12rP(f);wf0A-Ig`?w{qV&Hq%?xGJ5_ zDBI3&5b3dJ<2a&m>z@6`DRbKO14AB3PG(xA6tb6z*@@{uOpu<y9Hq(3XBubJUh>uw zP}o)UukfG5NroDi9fkJnOj9IfW{7YdVt>>&O+to;Im7G<=QGZUEDcK)N(0!k`Z6WE z0wVu2^r*UZ3CI^GTJ(Ptt!oPU;i&M?L1FR6nKc4We>8D2sqrT4xe#o>#)0uwl7wH> z1A9@15ay51S~PV2El6W*k_ZUOYGJYBD7#|4Waml!!)y$Sw;GIHI&V90ACP@0n6|`t z${)WIv(t{%&wKRfPetp3b4hxvKR6vsR>}9t9!<LGa$>pl9BqzF;e;9MECk<2J`nX~ zJlzoTpoXu5kyk;H<!pzSRof{eqc+b8OD{A(zF}nF;v*B5;H4m6!MWlghq~)VR-S(W zPU#PxPHH@zqt>CbRrk8#{$vS`(?J;vvbmJH8X5mH?DE;#JoBG?(-Z;L_5=}zzJsaz z1I|B4P@J-ew@9$=ky5R5-@zu8sV^!I9yq9W!Y62g+Sb1<%W_ybnP*Pe?4ZZIM?p-= zYO#{h3FklwO-Tmf2*oMRo0>GwC^+8WyTEeb!`;#wj7A()T@%e4I<&4P%%0MaBPDrt z=A5&<lN7>J+Apdr_O+~!dg!@%6;r{JMdF{%?Wq=Ix;#xj<#aWp(n5xZDFWF_%BozK zw}~%nl@W+Be-+Tg7j$<+TIBsr3ob@fT;RF6lV#JhSYF2?8Jhfl&iekM3Q0n<lnm>f zCM>W&V9>C(;ie^r&=$2;rp{wL!V)ZP%t?OUZShQ;X%TZ+WM{~oY1V0K6`B&F^`D{9 z=Ct#P89y239#(L9V{=36GSl8m(u<ovZ(*AB*q-^N$_DoT3=NxqFf}o3iegpybCT`A zm&kMSn|T!2-fj50W8;AkmFIkC53M>Ox$w=g;O(|PS6hlsGrS7?dsu!4dy9<8Gn=H> znu0lv)tu(DW?h)QMf*Pk$EQ|HmoqE!Zd`0hKeOuELd}{pKc|(|{u3)(BBxZ}V#v%j zk;^!s<Dkl)=t$9jypOeOJf$_>nfBFx{NlXp<ECFeQ{O45U9>pD;ktazzT^){wW2?m zI4(p=Yb`Xtf9lUUhfDvySadcyzWO2Ld#1tY=GkedwV&HR<jCJN`_F@~#TL&0?B?vO z|GCd`!K{+T_sL&B<t}?F|M;Me`m9@Zf*-!A?ElZu;BiIIbW&HnV7p(5J@?UDzv~~e zY*_F<{m7j=&K>O~2PQe6c(dg{!_P~*?>TtvXZ|QqILYr@Lt=nav18v~HLlPiw^zpc zk3W6upVV&HZL|H!MC<aEa*9qj&T$CdsQ%FSZiaB|%odpxo~8X~{@4pht4Ro+tJ7iR zndOq>^Q2+jgNt*^W%adQ>OYd5-?-6`DNRLRrnlf?oz10mZ`R1_kW)>q>XRNRf0{4O zwQfnq^M?tIg1K?Y$@MMLr`=|&+}XCTV_m}f#~)t!wr|;}yVr$l@+PZ)hWeFNejGN! z&L25=zH$6HF8Zv_F@yc_k7EfEH;ey7Gknzf6EW#Xvcl&`2?c-YHOp39-dS<tNTuh+ z>ESUBei>_K_CMzS&k%M0fZ-iRBby0#E}Zr<F4`9#|Ja~;L(8oGH8UriN-H$~<IK4F z%-lNm*L61gS4hA6b0+cgj}u43|1&V%{9!6DXD{az@=#sb{Xc`kU;d-z$+{2zRLTd; z6h8BD<-wox_0Mir_7k(av89E%l3U_G1KZRmTqV5{b}|pxpIT4X|J~yBPe8R}tESd- z1^b^<9JLwF_A_OtIj`;%6umaL|Ja2jm!+SQ&ARUxh^ar=6gSUf&Ic~%()h^}W&IEA zG}TQzvrhm1C!w|9=ATn*_gi=*`1tkDbJ%}2e){-B?`T@$4;D+AI>!GD3uV(E{!3NW zV7SETVz8Y{qn$5x>XSn;r*q9${bzVsF`@aJ+F^}5#)rE-Ttb*!*LL5qP_x*vfWQ8X zFsnsFx&9(;XYDD9v7KubHnBNbPsj_@wVyKay}|Sydmr=dXVSVG)id>^!()y^3f|`R zjT*lvEIm-q@PzqA9fycw%7hg@D~g-WMn8yWk^9K5(2=;mWnSGU1{F?^X(|o<pWOHq zHcBelKIuOwbE3s4fj>Xy#|?{5`<sI756)|@a8UKxDR6N@ouxuY!e<AbR_-#z(gJ~# zXN*oTExEzOE9)p|>CCVtW684@?z4?Qu?AGKFzq?iz}LaZ@Y^7T@dA4e-$Jg6oCnH* z<|=<D@w00ShcvpaSdjl~{!@m3OD2fROn<`b_CQd1LDHo^oS**edYGWZ@@-;E#0-X* zRt3&&mI9Fu2V!p=F4`c_@KcQY=jjFfN}WBi^Vk?K33I+W(a_G_)XZrV>dY+Pz;oC^ zjLD_#+A#t9BOBb<AEj{UT5f1R;jd>TG4YR2gMrZd-Qp^22Tfc4FfRD;avifkOpGG) zHilU`N*w3JST<aGbJT-%f|=rK*EP&t3WWv>ig;aQZFjEclF+{-r#*r5VFe?XXUF${ zN<6%#(;pva2xVNXcH>|;&$i%+d*s)BTpr@mxQp|SA^*|r4-02RZ_8x3xI;ziz4J#Y zmeo3*;vb(pp5<z^(pqKOny;B<4Y~?vR7{_x89Ha~HuStG;cfDThxeB-2Os<6hkB3G z{8$1@c{U}^@)l`zNw3jNQsC){RZV=%;;`h=_e&xlG&_Ylx20!Ya;UyO??lJa#=nPo zSr4lQluY0i<Xgabo{iJFRjlYi!>R`Blqn())Kg>l?ke=SIVu))N-}s{6ykAiFf`pQ zp&8I%&B)j=_rXNb{<9NADprflNqjV+H+0T}wR0D+vOjoX7ryo8s)JQg9YT=;BD_zH zE_UrXl-n$A5VP?Suea37H-C@*R6gopo&O<oZu%Uq_N4mE(o#Etiq10MRnHoK#9cYC zD9*b%s$=_aueWE8y0iXc$hvX&lu1jls)2Hc9!pZ9rfklP=QkKmo6b%z?q{l6{6T+d zP<`{&gZ?Mue_W69y{#5&|F|P?-s%rU7q<1ESzC3W%*Fd3gFVl&C0F^U91!e!&9QZb zM(2Nq<9Ge1xy*2J*(UQ&Vcj`_rpC>ITeg;HJ{SJa(64vFy0+ja&)ms%Dqna0XZUfU zKz3)62LBGe{Ray2YlIJ8lkah_liZv*@g)BTR>lwaX4EOFFnkc%IscKqwX}+Sb3)I$ z-zHIsb0e}Boq6KCSM&$tf$JY%Z@Z;;P&!BbKLcM{;f0p46GztkFs(S*Thc3N-*j?y z%E4*<2Q(%Kmb(cG`9*(R|4TKc;)Tl2nP#H(|K?q~8yFEa!Dyp))<4tt$3k_shv>L9 z&Tm{XpMADOOGojK=8UNhtj#m5)ZM0(>ilPT;4i8@{{cfptHRHl?}ASY6<n*FF@2fk zSIL5f_4enUNL`mXVfIvFR^O4Mm4?rY9|kStW18mfD)g*TM#g~i#Fo9%CcowC3L@@1 zOmma<HGh)XadgJ~?ssd>BwktTaz*`tv)Vz1JS_%BJ-;On4pfUcompt#=xn6Oqp&ve zl$gXylbP4N9P&=NzUgVbBo@rHlH+b<X86O{H4(?2{bxu@5omSySCu!KbJpdjm;Jhg zA9F;D87=m_{vbBL?(5F_-ukQafA1I9KJbS}<j7ah1pwRXYiH}v+pqIv*F4`J{MT4_ ztG1_nUi|QR=}&coUrzp?ADv)oa+-G7>L`=shW`vLv$x7m`!V_NrrAtyg}(o1V7P9U z@A`0sN_$-b^P<8-Y3DaCaIiFQ?Vt6MMeM=U6E6bdGY(x4pYorf`wyqsA0GD|hIRF4 zxV`%x{%1Jm*|@f8!71B1#>)BazvO#=3E0Fpu6+Nkzxh!{xBgAhAI_WXwrrTl%zxJX zhxr4IrmjfV7eDIjI~!Y;d&Vrd&izdx#J~MPW(5D=V@U@VeCRIcEmZdwP-eK@q~vZQ zWiK_6p;#!9>Aduj{|vjBp3g9KHez^b;mOf;lH<-%v7b(pl)b$t|7e=d;2?9_tJx&w zpx1#I@oa+~{Qo$)?mXa<-Nhtp!FXx<3I?g~F1=dJvAh;+Mmu=c1e^U~I&(0mtzqYd z38@P47jJgdi8o5JFbNv)DhEh1vOi`LV47pX`kz68LD?ro_(N+5t22vY$PtHmJDiwv zT;iRy_IwpNpvmafcl+@ClNUrZ83QKXQEz;rWzQn`qCx*ZgTifBF*e7AUQQkb2eOiw zyp9^S{byik4lv-Haf30Zc82rmhjNB(rqi8TofDFo^wKs3Hh0djZ*n$Nd9f<Owkco_ zgN5Q2#TgpK76$(|aj?(Nl<GJa`|eiLDaP+C%*?Zm9|(m`{?E|za!D#@UwH>BlMw$O zNs&h)23460M7-P`Oa3!39bhZH@XDc^^%Un1fy9NZlM?L;Ja@#-@Mbwv@S?%(MRlRF zZq1}XJ|~Cm2b|`59SLN<&VS(5f`+7ssO=|CrbtS%Hq9)bv|zoiq1nz2n)(l|6SOBX z<Qz9UCDp>@KOw+tLCT!%^M!w0Ef?ou^e$z-y^(cEnXpWapwzjeJjYdvH;60fhzkDL zY`DmqYmJebNDOCxqoZSi{BhS`OsWeK_$0RIZQ5~5rSz%YL5a-AZmDydnEx{fbY|Qa zlbyu>LF@U>dB&XYe58}pGFvQ`yBM$=DDMlYkeRXQej}S7@2tv*3)&AR=<|Gf(5_|| z$ii&CDSAc6{Edpsg!A5%yKe6cIV@%0AhE*ixzsJUBO*6TLK+|ZXAlwgNoASDy)@}U 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%0A58b>{xOSh&Dqbp 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 literal 2269126 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≦w^Ijk%R8ec_q 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�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%0Di% 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�lE<CTb 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�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 z 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%0A399J% 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 Z5 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�mH za@Sg=O*`3Deg!{cWY+)Cw|LGK@3{x^&iPtS&SpOF)l}|*``L-d^P@6YS^6AQ(l@Rw z?(?@?A(G2?{9WOHhFYm&Lxz=aj~a+SS9Hi-@_4>qR*>vD*#^6-d}VzcYI9FBSxCzM zuGQc!Q9boMGx>ZB-<GAx%FL?ua~&id4)dPA&{TElUF~9ahMoXzp{6blNx3O+9@f>g z%JN68<7z6XJTCvYs=y{)rubO(1*3x37ruU38|}M*_dkQ?Uv0s<z#Z4N<emK7+<0p; zbBW*5qUr+MkCD@hCUL6Yn~{D%`_AW(cWU`Mo7BF&-nM|NNX*jm*t@SB76~)HpS7_2 z#LdT^7+7<p=Dy~a_hB6=zjvIp{I*hL9m7GM+8v@10y|x0%6?t`RCri;-p+qhGdngP z_<eZt@oQ5An-~@5d#&7g;MQ`L?<TuHJZAYdhmZ67Dk(i7#uF=+geoq6`1!m{|G9-} ziIW^G<)><GnkwyQ@qn*w!II9#6DKUcF8ljwjny|%$q8aC^AG=LSnr#3SZ8(PZM6vz zGlW_u9KKWk_2sFj2cGAKTd36R51jYq(htd(4rf^=6nQ?sHshT5a{u-At${XgWWJv~ zr*X%9op|G`+82tmm>d?GJ)hI_E0||@<*iEF>N>TR8z%-!KKQ<3&r=S|SC#T!ESb}S z|DE4!xN(E*P4%BwWnWatuUuxcVErkBke>Nb4114-?l|>ts^Fb)#T|L~|5mMi_Abfs zP~W{RZ8-~%XRT}SRC6mlEPQ*fOSH{nx%*zpF)I{K-2Klmmo3y@r+<6CkFIvZv)Ti4 zRUhAfUD5ZQwas|mRHgkVgc%xt{>@Ug`BeDIHk0Afk%zVQ=S`!}-kr+Q{PK0!H$IOQ zQUXU((q(2bWF+l8J+C@AwBM&xW}<&8J9qPW`zVK<xt$IED-Zk%V96<;Q@7>*6y8m8 zd(!2$FdXDgW)W_c`JmagWLapZUHgKst9S4wG=>WQDDGeCzF+(B+~q6Y9`)B?H=KMx z;a|+<0{LyWFLt~MNn`n-*}qe!f$Pij*YCrZ*a)zne)%_RHcMe!?!LpfugyKRk&){# z@3fo`%NP8~>{%diiO=14$*dVor<Tk2ua$QAy}$bYwT6vcn|j*nY=5XtjaFcNVSTCQ zcVx;j&vThOlDEk5Zw)up<@c1}vAcA9<#CHeo_48ssuLY#S8Y(%iFnXd{GZ|V@=i&o zV+(#YS%-4Op4__Q{wu4xEr*^=J)Zcla=FmKa?Mv&^}Xh&c^k!5=6uRv@D#24@ZhV7 zY*SG4M4vlu1xD;yi45yc6*{oA^t_Y#!f<f{L*kXHOEU8!((hanI=teX<}&6;PIh+7 zzgn6ila@4o`XbBt>&lULk}^^WzZWY{^q=7?Iz#VS;FYo!T|1;VSv+T68<%mW^O?d) z_Q_vXM22jMeB&=NVW-zYwsLjm{jx9rGiWWgPHDWuwexApp99bTd|feDX3}zb{iP8_ zQyWqbZ+v~D<oL=J-GT??{xbwrUs)hv7r*>J!@9*>MchIjzqjn{RMshMeeIL8-9|HS zs)4J@G@Dt;E@q$18eh6z5NL8^W3}1YGx7NTOG_fAwojW`(^q(HqTfNEb%E_FybA;> zU!PbR@|Jbugv_^d{@z=>zJ94&=z$XtzMW-w<lC0Gvo2JAsXmv{p83xM7o`52&ANeC z+pFfxWA+`g8lvqR&MWYIU)D3<asKfx^VAJf-tT^Ut8s}j_mz(UcGrE^?63HAxOYME zysUcN87tVQS%~Zli&<aSZo+q@F0U@-=hSweU<dzQb2h$z8TM#<p5yD=FN2qE_}s+6 znDfu>%bd0#vEO&nC(YGL&Jo#=yxZ2}?c3lKnbz1DkLP{Wn!o3i1v5+8QP%@YpCr1> zc8Cusp7{Q~_uQqS;VaH@oLFk?u!<+gBe;p-vB`Z?$6x)28W%F{+Q`m(N5Fomn!!Qi zIU)Y~r>Eu^zR(J|88h*+Y}Nd#wuldJW=b5ht-jhjvG&q|2IJ#3-%MjXB(F+0+<kfC zc3-ee`L7T&o=wItKRsUR*Ky>Xi?x4zR$~fplg0V<qGdX~M}+t?W6mxNQc4M))5Mn< zs+@7^b6@-Rr+z^T(pBW+uKZc}^0-Xs%+9`oJzUjl4hL_!zxMlSuvo(W+;sNe2c(vq zNXhZ+m)<7TyWw_hzn}fzQZtnRPls3TEZ<CHHkVkO4&}&JNlEC-+N=?FgFkA^4Z%(G zAIbNI=TFE}x7)WTbb(TWV_v=0l7OAho2-9bYu5W9%4gowb46$EA6r)gErIyw&J*}} z-8L~<RXtl*FZS@-qKftz5j=(0W+jB&iK&^>H{~WjbH>T{^QM{|l=_+Vr04nPWxE7! zKK}SVWQOSE@;eF%#S^bBHT0ajoAdtLOYQGpzR=20KIWX-U3Ok#se(M~ZlP88_4mew z26ct6uQT*o8tPJQy#3?yPlj_opLI?!SrFW07q=uhG+A(!2=h9|=aS!-Kh{1qx$oJ6 zgp)h>e)gWhwdv^hkomhT|1)H*IJs41@}YjO-8wzO3@O{|y_Q=}WxVAy@9x20SC_Fm zE%;(8)DXk-*!G3=rsMfFbtcP<cK#C+Emzzm)UL9VxA|&jSs(xRUClwoJw3mI4c7d2 zk8AlAyrW}k!F+=!^K3POgze`3TrRBCE*rj7lWT|n9*);9{b#V;p7Wse{j92q7k8Jx zK5L%HuKOp}_|n`a@w^9?C)jr`xxuOV>1Jmf!|`>-_ZFunh+A07B>%c{yX)k}eukRE z*A{i~E-3%9#9!kK--6_g%O>!J%kKQo@b$`q-E2Yoisr`|2DY#~{<4-WEa662{Ejuo zz6A@r6;G&JtY&AKpOro>Lgr%^TTqG0yAulEmgLR$ubc8`OTBUV*X4TgA4QE+k1Tp+ zeB!+PT*U`E&hPd7cZ#M?*s`jNuj=D{k=e?Vp2jxbT6KGOv5V`e;J@FB`q-~9J65!r zPd>lkeb{t<fue<#$7Qo3{#<%~iZNQk;vM_7Egcc(GM052YA0U5H80LAHE0!I<?+B^ zj<!orzMnU_9(o}0u<$v}uYz6%r_ROHEO^2n=ofZt{^v8Ar<z}69pHPpUnZr2J%&H3 zu`@N|x&^zs$vfs`9{Y*|&6BV1-zyzbJcmE{(tM>=O^cr?G;zG_;$ZzQIN@%uU4nMw z*6&Sc>|35cwQsdJE<Ww)%_-~8gp`{sX)t5CwRmEer=+){Z1s~%Ot$AYByQkWo8z+E zY2Kg4SGJjFC2sk-UuwJcZr$;0t+(?2OIeG0S@iE&*lzaG3+Q<`+je*Ll}4KjO!M3w zDpnmlKkM<bd%R2;Gc<zC9y5G@={X^OLd6?f+f{56r*geJ_D}P7k;vy~7LTtr@_U*e zHLSh3Cb#wR<oC`-3xs@*hSYON>S);oOp5F-4|W!~IQK+o=Yz>Ns)IKORW3f0!?enu z;VaX0eYKFppND!v!wwt|>??fz)nvcn!7wfHWm;=k+X}=l{xXo^38>&Y-19}$)4WvS z!FRQ_Y;sY}pL5RLDr0<eFY=y++`g~UJG81r-|PvgTXpl~%f2aZI<9PPIDO^!r3}{3 zDfjpjo4?9U*?nqSN{sNO$toLF3nv~oSy<=OBq7K7ePsq)WuJq_yzu1vrIy}2jmOtt zTO6js<S(mvuC?>d6TU|ib=VmUllH#6G4aop8chi;|Cp-4UCzo@+fO+#l>W)MyUku_ z&gVIge_f66NST>-Tj=5W!Yf^gVXl9l%RC6$_f&d%QC0G_#ac^iP8RKZzH@b;fPwV3 za@)U}HfuDvoCU93IAR!6_WZTSeZ#{A3!d;jn&qG$#^xtddeop%uJF`$W!d(X%XTk1 zJ?-bmKgwH8m+*-u2XC0<zy7kRgU7K%sY7<D?B)AyPcCK<p6pPRq##rEc&qxHE<vvM z%=>G8UtJ)$Av*I3-<He5mHo=k(-@)(a}TU9zBhrlMZ;3!MP{QQw}j4}-?Nk^pJ8-= zrgbFAmGN;(sO+7Tw1pG@e7I=z_D+$<gOIH&xSzR5hBm)1Zm4gY*z9(^KDj42)~C(H z<6nqE+j*Jb&STFM=4D2(c5d8Z_%lV~s8W8Iq3|bl?s-dUGr8KeWFF5m{F}L7i7ogO z<AurhCVKW~GEP2KXMcVz!>3b=Gv$6RGqFsXsq=B&C;md0Nt|<2dRej#gcx;7>&;fq zUA`~V<<yJyQd)0R#F(F1tU8r)=iraLX7&}|SBn1Gdpm`Ly})?>QqIX|d{Uf_r<KX? z@@KhlW|8snsx_N6m5lWs-DS1$IIu}uAfotaq{?IIw)fNRpU+CXb!iG;Ip2XRt|xxV zPkv=7s*|uLcGuVU4txpBQ<<M8_RX|hX29^)u}{lYCtCWG`0}l;ia`#?IG@alS?p1H zfO`XT-}8N0>R}U_9tg}SIk1#xh3Au<k8jP3?5Q`NR~<0H#9dp(Iz-P=ruFTtvP+lL z*v~V4`NDo};-!F&g~zy=oWB0a{Iu?qcU$6pnP7qQ6IN>_2o?7|x#BN=W(V_A%af*B z?ztOhsopxgyY`W7uQ{8|dnZOo$tV9z-Z7gCG{#KYWPZx<{%fBewsQAd43E|4Wj@^( zuy{fi)4ZT&u4xH%FJx*xmoR=Z{@Efw`RVJUPRgCz#eP43*Hl%jb)=PBSmNC0&vG|c z+)ie_!z?%_dHb~n<$#AzZXSGGZnELH`Rs2+|1wi`IAjVv-YiIUlUCj?@#{+0jw#y; z?lnB_U(4XU>yiFFSEKc5u{$lkEnlo5ec;eH_UqRsxT|FO{hid;zFy=dx5U1b7l&2q z1#SPXU}92B@R{^<_TTwWeGmUk=W$M-{7NfucVW5YaYkRa1Ny(t@RXnTxs>C}y<ul) z@QFA!TiYzf?~DraRfWz1_oVyo{anJhf#I<5S)(XX6@~WxCR<mfmQ<m~tbKm9nbDlh zy$ebon~0r1;~*h3@&3KJZ4;iSpP#P$<vIKI#{u3dNopaI({0k1YH6+b9Ih(g%JSr& ziQ!a{2`3v*em$x*;o**&H3z!764soGXb@j$@_{jaKI81E=c~dQH<&eP-r;)aS68@W z``yF~wOMZG>IxWM&fD^M$EKRwBGmzBj=9fx@b2~TrJP-dHXT~$)%09m^Z1#}<?Pba z3vJn#x;ZEMFzfMo+D$b!Wb6_=@9a?~6+QRtr?+31Xt7zmKI^G=aBKL4)8{gqTpyXr zt68eA_$D%oajEANx9+CH@4qs?_CBd*W|{gr$ZfTz)}$QU&X+E$H*Pv3A!lSIWh&ai zclUA8JK5vwAA8vBpL(OElYd#&uUYl#cLKNQC98Azdzp%BTo7(&jV>>|wD?o<z1W#E zYuN+8E>D#Gbh;(}!sVI+GCDI)mng^xzW1?oTax1SzDK)&RW9=Q`Gf3@{-ps6Z+`MT zW@~$Lg^c0PcIN{oLee*WJt$lDXWwJ_wKi>!&nPneXPB4CykvISpF5vwGZ=efEOl-K z?a6!D@8~7M9ouED^-0sL=G^S<x%pEjHuhJA7TqwEsn^PE=<_`6*(uTZy77%><H38U zKefJo8Pvw(cOmlla<9aojVEUQeLd%`EyLH<u8Sni*SPLE=9+i<`@StVQ_}Kxgo-+_ z?wVg5%zDEv{m$QGR$LOR*+Q+`tS;|l4LIZeZi;dBtQn_1%zd>?(@OYzoAniKPUgH1 zjPEjwmHzDB`SrC2|Nkp%CK;9`G4Uj%@AZ<`lHl3C;n_mH#%-(fWm0C%^?UnTT14~j zyZ;RSQ3oe2(K;)k^8U`@>(?eq3aR=$y)pTfmhQQbg~yCvdiSsv8H7CVI^`;K-as(g zMLO?V(hu2M<DeZA_{~BU${31jKZZ(vU-{V5QhEPF|NGiIcc$w^u*S@Jz;$LxclBJq zYtMHaUuv?&@%kAZZ=Qy|b}d(P-|yF2GHtoGNLfU~Cx<6}je9js0&62<(%=0~pH)$) za>#bUySSnPHm&uix6FNYSn}}-Q}I(5-+z^4{*x7@bacxkkvoB0Vh=vgnfTWGneg{_ zA-T`f?g;<5s+zOV;sMV`7i*@Cx+mq2UJ1+XxbV5$>C&-<bIdj8HT=4;scGp+t;Opu z&Z!d(j4??meZ1mzSLhDw>nD>$r(c%&CFRz!UF6N_-`n*TJbosza+dQU;Vs+!s}`gf zJ@h<nczfcFD{EHCx~y&6_VQib7RJ&i&U!^oQx3|%4LIYadV(>`^v03GldH0oEt78C zx$|XtQtWKmsm&!ZMYS)O4(WXrWXsS0w=dK0$<LJ7ofdNK_ZIZIPO+c0+iacqovzUG z2|CdmtkV~))$upfUUz?P+f&&>zf(JpaD}Y5H+&tiSs_5Csn*@Ah*|Ba>%GPA%M_|E zZS<JJdUN-j^f^3@Ul*UdEqQnHjpR#<de*3(No{!HR-t@vzRao~SvL2){|rkF)Of^M zWN%13NxAHuBC4K{__EnIykoPdYT?aY&#%pL`#g8?ydM9ka;8JOZXbJ9HG$zz^|M)P zXUuezu#vO;qd9vKtGC>ZKbgm~t<?96w4Tzeh<GY`?4Dg#=+wt|w}uzbD=$92Vv)1J z9hpgt|K#>hH9y_ae9Ys8RAW(Jc*e!2LGsTSJ6~uO$wq8mXU?}ZRCb!$lU4J$p0BTY zG+*LK;>iQH+$GB{x*S%PcDL<(`Qx(7!Tlw5pFX)Kep#_yd+v(g4X?LczNXl&+<N>` z?MjB#M%z!Gd-40he+H{9vgc$!R6O~<>b1%u)7T>l5=T9fOI<2{=-8hZ)n%BMnR;t6 zyN&r)O~d1gI_7FtrO)Q57WKq7KWShy>?%mt-75Z6mUGz_*^b3`RT55!uV>(?D>d54 zZt<%+sAFkaWT>&Eg^FDJOP?5_<7EssRkQRI4htP;6g_d0-SWHA{Jq{M_A-^&Et;S# zkmB)io&=XeyR}4a@lXDhiylOT^{miwWMA?A$0f1S^QXA_gRcZtruRP4HkVjt)G8f5 zNsHULdFrj?0Jb8Bl}l#yY+4Xh&9}cdtmI50^MfbF|4g1e*>kkn_+wA`f|T1QzlmB* zQ+k!s=ppm>{k0W8i(7-<9(?Jw^l|bt{=1A<iaZx^uhl-a=D?eiCm6o06iZ0uRueFI z@b%dW_vhkI@&Yg0q)laJSZ-Z7`MCXBhS*4h7XCd}eK%Ly9MKTv&bP0&)mr6ox~=Eo z=1GPA4C@}fpKm;iVT;;{7j71h7SD3)jcBoLx*F>0WV2k4KW1LrlCZ-9>!%%;JJz7L z`AP4M7``pX=SiG!KdED(JTa7W>cf+kd2esXS4}N<Zx0QUNWRj)RPA`uoua(n8T?bK zlTB6~49GcWYaFuahHB_l_niK7Q>?zqZ2$Q-K<Q(VT|%XOFV7j}@*rtj_8|YQj+~$7 zc<SFNsQPAiY*Cn@#yx{0vl#YC7l!DFOq?^1;n$UYDb=Umht+4DD>~47a_(ITo=5X! z3xq8buQWC~TwIjqzgO$QJd1xN@68)8%=z}8LF)Y7Puo7&ZuaTjxYdzi;ykOghK(D} zMQpGxuzI}IP>u1_mc#~0mU(tlJ!Kp0@7p}z%9P->@#p3jdjgcbISTgI$Sq!`DP&#A zt(g|DK1t-U(n{`Do~O5Y{Ogv@>FYYqKJEA6TZ;}vdpyz$F}w06daa@Ol+RV01qyG3 z7Ak(a=_RvRD0<udsws9y?)SWtjQKeK*aYECtvbOI_^W(QRBe}i#qq2?QG2(g%6FwH zF^3iHBJ<`SF?8TJ+?miU!_(}OlH8`kw6AH(iNy>Jwj8hBXZNmJBW>IN<C18@PP-`Y zR?SHquZnM6a6D1i;O^zTvCf6X(EdH+>*k=DPCcu>t_~8{c(miGUuJ{M2Ls!eO>U}@ zZj3LAuPymGBZuo;xVqi^sNH>s9#=~D*|sVx&FJYeFZ*WF<fy^dp7HJ5(t`;%6qElw z-@jtzjuVe>PyFo3ckjl7D+_1VrOW(h@Nx)jll`>%xH`*U%{P&^PsPt{ILH3u${lvI zXQ82ijn{jmGAAkOPkVmS({MxS$uDPlQn)+ApMA5bE75diobj8%EtA1ul4+(4!-2<K z)xkF%CcL+ZDf_yd_Y61dq34pzay*sq?Ai8izZZimkH5mIzO{X<N|Gw|a~lFLObil= z*gjM3socITb9g>a>|-^t=H;L9VMoP{2ODMiH?B07-ILP#^1YAN0)_>@^^-FHGn7v4 zcrKyvZF%9RNhds}FjO_vO}WClSntmU_5Q4|6I`eNq_fQvSixFUeEs&lC1E1TilOCI zT%uDnkF(5~_|l)ld)4y$w*3DY;%03qs`>o6<Y(ox$&QH&w>Mqs)|@E+)FO`0P0L^9 zt=6jpg4ZU<K9pJK#lur_l#^ZKX~LO>$1Yh{hcsTV`zK;}%w1IOz+uH33`HU3D^<FU zPpsjevLp5JUPJ!$v=i*C^-&q2rFL0t8bwRK2K(IOZav5GoS}4O*U2d<(%YXaFOYce za8WVk)=tI7FAthuWFBA-Vq?={JgLAqKdPRy)n=pQ<8>N38_pc(S2O!=`}u899{)Do z2kJ3j60$aSn5kHA+Vk9|F68V)vAbIBzdm|Bh@M!p<uPlg#8LZqPmFSvSM{+!47nS5 z?C#O<CXUxfBlOOH7CRBwv~+{$l3ugN7PkFsy(azH!Q6NuSoA~9)q{zzjJskyekwFn z&98Fs7dDr6EIKfG;-w{#vTn|r+P7t{XtpXIXTR~E!K!G}r{fIF=dWB~X<*!WcVFFs zkVUQvLX8ppd#tWH@6PlOp7VYAJKgyomlo)(Jucm5l=&#ZX@$&pyRSYCOAHT+=rrWr z+R46GFTteE@QP5iu-7Jb=|=7swOWmdcgnslEITrrUCUnPat`;??Ukv1UP96reuW$g zxy7LxzfIe^`uS4^{-;5C|4d(4&9Bm9Yb^7h!uYvfe5qw*gQaSt<?*bupO=JbR5)49 zkD8knJfSXVv9ipQUja9ylzjf&wB8+%GTGwL+`GlsHXUh^Jw9t@o};{(bJ7Cdh$k-R zEbLD$<5|K}Vmf0xw}Ry3m)9CgmKbZOG<PxF&76C~fMMR+##_t#LRp<2^Hi0t5wvCx zSj^b2@}EID=y*w|(!Qs6-0#XwdB^T@Qsil;glvHoSD)FZ+3z-}d}Uj)_DL%vAJg-9 zkLRCTdt7U~?azgb%UO1F8p$4*e`>uG;|qVu*Y{1^HtQWYJxTiZ{A0`e9`kN4ymQx< z{c)&*>CE7>o*cKtFRgRd;NMyIQgpt|#XonYug}`Z9o;y!V8xzl=9d9%dxG^GLfLKm zKd)9!uVXN6NpX8oUQlrQO6ZMcLQV_)%*wwmn<3q4VLh?<Mv?v0*wDapWskQfM<gXh z3dk7Cea*0TpYr6%lh3m@n&j$Tvy7iEH~-qQ(9=x*@qS-t%G@~A$N73<nDe$92c&1K z+iuV_;=awv&X7{d@^z`!6SfD92jr&m`Pn+GWadei6g?d}%T-{HpTGJa*7UQI(kGu3 zo=^O`c9JvG3<mk*re6L!?Fo)|ESdJ4>JMJV9XxN!8@orFR8OsD3I5OUdhO3|1}9kE zm!`zHE&X0{JnN8=t%Nd@Ly@;o<pHM6F>dC0%(~aFTsyMUHTMC3)G6)f@_P1j<Yuf} zRb-lRo_ni|@g#|FZ?u+l?|%2x%}Va;0?|8De3*<ZzpXm6F4*#$?CW)E!Wu1#l`kDT zMe<+y=VxsT$-QMfzxdbX=!rXz@f8$CElW7Hl#zMPyC)&~!tyiwZ8wMgWMRC1{nC`D z8|0h&_AOg$tTdt5^ZC>BOKp@{Pc=EbfBDw``1!-B?UKvW6A$Ju4L8(NEn0KD@iSMp zP1n5#No%LZw6jn4(>Us#tl?&{Y(~+9!^Vj%r((V-e4MpO)w(XR`P%9YEH=rL*zbP* zlle3<!t02k7Mtx0A4_-fqyjhR61n-k8Ywv&9*b;jo_m+`>r4MzOWF=t{AaMaaAT(n z-`dZNQ<eL(0=hU~@7}(Yg?FiY+>T`n@7Tp(-pbiOMauSE;E6NoE8g+f1kV)Mb+Uhk z-u-`jwdEha?pwZN3D-mJ+RO9WcYIytGf~Q1=GXVL+~V)HrF=b?q1wc|dir^%>a;nL zQ|8XM`lSIH8~r5GdOpxgIn^?#ewn6E_nmaxm5y%g>4CSGdhiHL<y1HjYEynJvq|la z$IChMt2Qj>>7K)8(^IePr|7Ar!8AeAg5l3{S*@`6d%{9*&fD4rz74ycuRYIpl|x6x zv0{gaMZyXzU(UVXYdT@0y#CX_Ss#0vKYglQA=svK`tq+!J4D2c_#${hR&SAi_n*OQ zgEB+iM{kW+tX><|G%n%aqVICd-|kDylCF9U_JZX#OT$|wWc}-_<|vE3J?@pQY+<i& zTTp%Bro%?Dpi|`uDZlDO1v*X~c>DayrQHk#p;La9{tHd7D4cpugs1GNcS2Bv=ebJB zmmV7!JOk&<fAsw0TEm&<*4rW;vwZAwnC<uU$@ArF6^xHK6tHo;%8U|VdvbnX*0-bO znN5FgzA5Zqu{h(2!IOWXUJmIdK}^!@>`RR^d)|ENXP@>qDy!A==MQBG`%8<temsAc zP;v6Ss6%Lg@$tB;Qb(3+y>0S5rgg*jv7UwH%j+g@yLMQdWS9BRVAXb@!^x?4Pvdpl z%tH<f>Y1M{Nmz5RKQOGm{7R4gev^iT0?$+lTmHR9HjB4CsLRW8?Y1xf^m?*mZ{q^C zw=8=1-u{>sJMo=Q%}krgx2CX#yZuvPm-xOiIp*PPE&llb458YM!U+@4MKAZ`_`1-e zs9-_imGYIF);%@eo$<$V`Jz=qYZhBd7gTl4?m8@xFv;;C1Ap>sKZ$czY0LUq9$Wma zkE)1cNNzk=@n=;uU!bT%C<`B(-Qqi!T_RIsKGfE}a0(RJ@O1a{u375L(z~8bH#nAS z`LHt1;=RwEr5{c?%jel!?TGZuF~1-su`_o0{1+O}nAT4-a+<q*&i7{%Lnh8R=Ia+2 z!n;>1$Xj4x1^Y{PgPk7EK8u^|<+Ob7Xz4pTJI&sF(tfGQI{(vGf_9wF);1IEbNcf2 z&ntgp`|5?SLnHa68SM7_XV97>lE7!LXH|7ojdjnG7KsD0ef}b|cUo6*wP-wy$@_ZN zOF;O%$PF=uxYncI6CzSRzC9bl_3_V|x&`G+-BQ)_b*lKLiZeST)+PSr+R!7xbVKIL znyKm1+YL{=v3+&u+^ZYRJ@u1a4_sE2*r?p+FTd1LfYB~5+WxsI!yE%1;}^9nA5M^~ zTwb8l#`5^elfPQWnPtzWx92?WU-55irbN3WGkfztrAY}fCw@jtF!xknS<L8hjNSj( z%J-6tJ99vbkeDoQEmxXvAQl=eT^O|P=`puUwOOl98Gh!;dpWD>^aP1ZJH*@WJZAZL zOw;dT&-ybKc2|Au_}<>F=Bk?D&%R#Wq+#|PhC7-z37>yl={V(g=%%Sq)6Ekn;xElv z{)FNC9}TACEX~_lF8|q7`8KrK=!5;QN6W(tPns~inaVh$a1KvV@q3TLE2ZC8I)6Xs zxm4Qo*9DgB69;9re3yLrbJix8Bid5;pxhL__YY(KnJ_e&GH+Dh%Paq&RxAFV;Hjql zYwgu#`j?6`Z97+Fb)_{TA^Cmjqa_wWvBk&pwlGCJUsfGp&2!KvdCu46>)!9aexZ66 z!?}n8tG~4`515(v`B$;nXa=7+o;5K*Zcngz-jkxj%a@jfOZPL#1O#;&xT#-An%`je z;Vc(_sBHD`;0temeg1KQSMeZQ<=fy@PbOJk@%VALWaWhBV^vZ!ja+Y4$nFZ6UH9&B z6XP+9KYw4ous9!=<-lP1y8qOy1a1LEk8_^S?WSfZDik;Vy5c=gqVTPM@QDMzE;E$| z?D;&WbR|Qb@wv=Zk0oDs&5bXY@5@}qlDsUsKdWj^@mb%k{&(McZ(ypv+Hi61y<_wE z*kv=#p8URifTicJ2Af76`?WRt%<2<;IT~uNeBQp|SFq2SqA%xzgBM7CwYw_x?b~V& z%P&VGW-6tdrW)BzjY;^*K5LH59J#9*v&F6ypN)!X4h?Lt+Oosc!{zkBb6JPx*Id!! z^;r<M(Qu-wXW;MP_N}EC!_s`FByZI<kgBZ;FwW3e)OE#?^qbT$Z(j3o%gk8wq@i!d z;k_PrGnd=0?pnhutWbJ3EJdM6>vqYiH$~ZP8MkznoT^-P_RFL78`(`GH{M^Gk`t78 z@T{YP#G`eaR?38y^(1u76cy@jsG66xq?v{Bb@&oL+pL+q^W0cdPHAs@GtW4{SdQUs zSp0IEwAFHUQ)Y1PXs}$qX0P$d6_Uqni+y!CPpo*RrTXAuo5#U_Qx2JzzPv2zu|x9U zlb}vF5#gSCD_8!~gSY2RjoqI7%+@M+R^a!}1I)A9s{}kH?Y1zqv+&+swR?qa!GgN2 zn)Q!lxcv7p*I6v!GCC~z^Gflh%}YBSA2+{@?g?j?Eu5Fty^QY_!;ypniSqZMXHtZ> zzdoC}$CB0IT)o$_j}wnsFnoUf-gAS-hC2+e--pgJSJw`|$-&IDYP;NGQ-<^{LCjk@ zw68qxsqR{K=Ev!p10~0QTwBt^Zh7*!zyGn7rzihj%FNqy!K7=Fh+;ue@#P&Wo@hCo zJZt6hb3-%l%fDHhkKL5^mv|r2e#+$(o2TVF-@pk!Q;yyFVn5$B$tgtcai7-Y-F8J* z@|RXj^gXPRyruB^{-=JQEe<fV@2^@CBcu4rR?FbN!q2t~{<3EoGG<(9-oDVL@wJa& zK5N7IW!6_Tg6%bK@!N##NDWwH)_3pAWyWP1SMQ%;VZ0)E@XLaAA;twB&+jcwzr~Oc z&A!y(sMmy$Ccc6@|F(uR$?jBGajdxi-(CfMsov%4%Wbs^%GRG?IF@C8@X0*QI~*L9 zM&c_UEqT%!WF#^vbGfp{kK@Ug=7bt}$;`6~U~2GVN?^Qmd8V7w%9D0;S1ye%yj2yl zYPmxC`q$nw7z0lzOETYEw|LXTR2H5RnSUh*mb0w-^0@!CKda$+iIq95Lc439J@|E1 zGp~ptraz$K<Z9s)Exb!)_^t+CZ?*N5ssH-&21mr_$;UDyCOAxZ==j>>)heT^c~f#z ze?~W12Rmg1sugaTyX0S};sHzDc~jXQS*P30TQp^wy@7=KRwK?`6C^v>FR#@|FqYbA zVe4P-wJy46;#rf8#}$}gX)c<ix0_*=;cd0WdKTK}th&}d7qvHJsGqlG&6}zse&@@d zmjv3+s#2GE{%IK}|4Nnlk5=56KV9WPmE08ZJJRZMGZsuc*?F#hkLEJ>xCO<5Z7~Iv z2iWhwcD8)j#v$7u#ab8^R2P%FZ>mA+f#>qiFRijX@nqg!#+M#$lH2Ba%6Eux%$=`2 zRfWaYwz}B2XmQ#783tch{Yz#%&t*05N?z>Dw1aP7ItUvZ_mnVAes;ic#mRS7A?fOw zY3C)D<%ij8*!TM%xWF_m&%wGjLt($=gD-zHLkj0GXs~+Ts(ZiHx{=#3UDmLtn)$Ua zuhQRdcW%D2N?K#^SfOV1QC5jLCF=7u870#HJ-hh#&3^{3f`n5MGT$D2{<>VS`SMZ& zjS~#XGLNq{h^#WWv*e$8S4Ga#YOa!m9#$XopKm?NG)~CJTwo5J|AWEySS8!6aCu{% z`B_0uQx%eJHP;*r?`yu)pu||tJg-^uxXopewgTsE2P#jz_Dz@e%=f#uRqo9^tHytY zJ}dfiYX2@~?O-WYzBhHc><;ziUact=SDx^s%l*0BtaoYs_ubXOPc@43g4-m%$W1v` zd*fyE1UGxFtfnO!5<l~Ol};`T{<!FX;*n(C@5Md+F9SP0bmz1_DS19?idnd|zbR*_ zq|v<E!fPuynpqusDw&n9HJ!TDcJhRTZ2MY;<9A>Ad$|SF1y0Cdl3Dfc*504LE}ZFL zKil9}R2}rQ-dN10aZX5@+T95iriJ2~dPh_?ZF7Iw<s_cZBHU*kY;f?LUErn3neTh= zJ({u8)2xs4{e8PB*BSEeA6WM9v&4auFEZCGe|l1#-9A3q>(Pd%LAN72Eo6#s&3aW7 zQg7w-<3ybMQWFnJrwJj|eDzY6Ev8de96XSp<+~%`$e$a>ugxi*yLjTOsw?@;CtkZA zPYU34kVv+9d~XSdh5CxWTB4~AXP)qGxi)!Dg8Z==-TrD-{4>7V?T=dWWb@<;CCm1_ z@;}@7<5FJ0^33zs<{rqCWpjG!c`S3z{3#!J^+flj<y9vyf9g~Ipzr5#k(LY3d-~>E zhzf1<i!6Nm-ec8Hd&A^ED^44yd|=P}!sOB-n)B{O#c}z$id@H+o3u=OymDc5(K~yu zEyuLp^wjM2Tv~j&+^e5qlH*w$1`*@Zb6V>dL^dbz6b9AKR@vrp`?hRWh=PUk-uNEg z8#xcY*lp!)41Uw{V9$&bk3Xzb-qIP8|8w8+`D-)ZNU%2K-nCuX#@h2?@v}eKb_tpi zi$h~HS>*iJdWbOmVVwLcWZ||sJs%1|=akL-a6qm|^K-+I6TE%<PXw)*X&sSpspjYu zdv?p8nfyU~9Ov`4>NW~9pKgelJV)-TSES>F;}=$({LjF(<@L@DJJ}YbGR|~lx7jMr zw5IQO*;|Kd`H!pKa0bXcnD4cH!?t&Jp|6SqP25j^mi(9VfImOj-Ed*R2IrG^+^aUk zXe#c~<M_UO3YTF6tI4{8vnRf-n9Nj?)AXQV-`rkLiBrEzzpoH6uy%JoDVn9YBUd5s z-&Ed4GtZ>E{`FaNy?8cCC@m7yn)~2+-`rN8Ri3whTnbX07A{}fFE{f+$i{~TJMJ)^ z4fH*+`>AxyhkC0G(ZBCJzO<!twt5;vo=x$EAodu}<nw1IPY&G_-}caPiE*kE|J2|G zUsk(px@>eT&|USI`=uF|rv1@cSRi94^SJq?$0v<rY-|?tkHZ`j*O`mD#;!h*zdkuo z=E=&J7v_|T@;z{KH@R<YyP^8|r7cXEvPCN_v<xg(ecIj8EqMN=pS5?2{8EKO$8H}B zsE=aEyJ!3BN;c1q8YXj|$Jbx_|D3FKQ?;u3;IE|KcLo7MwX6(A9$^+!CrpZLQ24qc z&VWIE>iN2@hGi2boC>Y=_nKU^sbP7+*JU##pE_+g9#kCG_HpZMoA2M2S_E<P`TKNj zVZZZEeED+Qm1c}m#|~$0<o$6WrLw?zYDS~9|Fz|zDT)qvsy+r7X{ML5M(+OlGT?^b zN%d(vljqF)o5hy<wEP1<ci*$+75yyR9>4Bt{B%RdDC9|X5Yy_~w=)^$JfF4Xu4nL^ zu+`!{?-UJctFDz#S6U$<7d4N+t~P5jQ{PJ?$=e@}n;30#Y1ydq$y#dDt2GSAoqY~6 ztNP0@&yU(Y;nbYG`_gX}K5^J;IY?)xX9$(O$;wo`WnWP#d+^cX1P;H4R>98%&S+@u zU$BIk>)e5deQdUw2ekgY+Oae&{+?TX%cH&ot)Duo4&{}ZlPaG~zBEPoxe@OXIj!RJ zr~9g|WH|phId{p$0%?<a!}Hb!6&4FN$<*Aou9J_Nu5l*x;HiI1tD8csJ$6Vwe(A$d zGpVyYFMuPa{H*b_@Q4dj)6a3d4SvoM(v$LBd7WnK27@h^nUv=)Z5Dg{?D0eoqf_FR z%sUr$eUg~i?|l7rAgij`>Xcvew01U3-0`#H+`T!)f$yE9=j1-PqIKV*_u#GS=cdAQ zC)xCvtzYqMazey}`PzaLWIGPN)6%TJ^7VAO%$MU;o?$+@{X8B#o{yPUZ;NPZo=`mR z#-axv5&TmP+-u5K+8i^^zr8){t@7(TSKW;I=N82Fc^<dB!uzoASc3mO`Fr11?+~(@ z$0RuM!o2yt;o&p=Z3GIBT5Rs0ETK~=!phPg_A*4R<BB1xySn9f6U{XB!W;Z6UV3d( zRIUCOvE(y%LuKImdy`#mWFC6gA=C5RM5gFWC3DZEY0QZdhtt<*C6-v;^Rr5umBbcV z-f!sO_QKWSw&TwoA`e2NwLD}u6?@&cI5Xc+R;$aS^D?8?#GWtje_VJX_*wp?UtYxK z!g+UF-Hwzh2)=Z<VRq7~<3fMToM%%`oM}@kTHKQ~g?GNy<n!@fz1=*F2Nulc@V4=m zE6=q&UVm;@y6*WY$#yMI`j>j#E{fsZliYax+Kfd;Pxck|E#Au{{fv2Q|Go46`B8<+ zmJ4*!Rn|Rxe<g5}YN*z3#&hmpS9S2@Jg+>+WhK=uxI<@?+2_mhrL`M_POOm)DN$Co z{kP?r^o~5vFOOERDQ)IkVED@4D=a)nIY>o$61z!`!p|VRNK3mJ-xt{!*WR7^?a`tK z(jOf8cbPuFJgXwX-KM|p%2MXiB`H2%AKS852{Rs88MKbO_?RuLv$E`x<ucFaOXOZ+ z*rDCK?@N!I{#=Ko!xAR983Pw<30A)U=d1N5;naTyJ;viZ7dG=Y?n<5$%y&WDmjAim z0W+mXqMfr9+1MqXT&h{Ji79-U$17joKDVrOmv(Qs-96{se+I54EuJUa^FJ<BpYPSU z)UYz&Y7*y9_iGa$rG=e5DDnDEFthBtzkX)_M8g&8ewI%QWv$;m%gNJc<-u<zZb=NQ zPl$Xw>lVDA|4CBS*Rv*eiO#Gil+|DQBrTY@U3q=nRJ}J(Rz9gW4A|tUHMd<z{<;XC z)8y9lnCE?aU#@vj#3sPNX?uRFud%l0-W@8%KZ4Df8s_!-&zMk@occz3;nE4ya@Ki# zJzv!qIzhBNu6^S<&B&SqN;b_WMSeE$6}LIqwVOOGNaEoW36^BZc<AB!w$Il}wZ}D| zn@9Xyd0pk=84Q+FWOx2_^UG4!me{`F?m3R{E4j?x&-j^q`$xmqrMD&0RCg5_p4Cg> z<o>hJ?|znV#{r$imQPX&eS4<$_t>jEUus`iaoyH^ui}l2&o}>E*zGCpZ@VI)tg_+` ze^%`39jX3)mP-;pZ}XRU{5t4D2TyeS490-HEC0obpH(r8n<1;^wDF`w7<<N(=j*a` z7tcM?_|{#6|K1s^<~~37uS?l1J?}RyDB8=pq&4!xf@H~`ov$5uwFT}JRLX7)VF}m} zVKepdv%CKpUa$1_`S8}|%#!DMg~!)r8E&zYRuO!8Z)uVHsp`5ChUeiuUw%&CxbO*M z)5+!?1=VS@+{!*~nIHEhFUV|y$G;F>{u{UX3K(De#NStXW5Eu(^ur)L_TUN0m-l9! z7ppH=qVex5tBGxc!R9^{9!uE+CjS{`S<VsO8NuiNX@&Xv6OKQl_wQe-E%vi)-m+y+ zZpf>4FlVs$FSS3TSDrp^eyd4)(v9<{51v>O#AxxLZ_8|MK@A~w-7Rg8P5v|7Z&R*# zlJNG+(i*qo?e>0O)x6YaE1b-0D3y;|s`y!8V{F$dvzAwdvof?NZ+RNM&vIpCkN59& z=6%KYR&S}-(0bkX!&YObN|9bt#)bKN`0XqBqpF2Y>U|K;VDxxZdsb6$=gr;4@{i&c z-<UNqIiYO*IfwJMz6RQ@w`L!_e>|&N@zbw|Zqol5*1E}TJTG^zZK{xgM}TO<dG+;| z8jtij@t>(Ud0>e{@{GKg$v3|Lx-yA}_w<eCFU#2YH7jMFl-Pac?Oi0VDca#FGUxAk zuar}6fyda4r<x|8p7`Nj+%wq&D|Q?Zs#*27@SNe>keMn0Th_{*41ZR5;C266kHk3f z<b75T{xf(@G@g6vx5vwgXHDEri<Q?tDsqos8<ezRIma=j{Yw8Cs;^uv7O5+kWWcO( zT$bbe$^*B|@)fGTujn$=DX-ZZE?fLQ=*An%BRX$7mP}#zR6o^ufA(sFV}9(muj1Y+ zB*gCBKi6<t_?^j9l9m@}8J<-+bV&5?n~585B}vbI=^^{Qt(zx&xoolH&rjz++st)% z|8@ENyIL*JdusN&Ut7WM5&hJXVUl_BrP)fyZhiu75z%5Wa#w3G`%t02&vF6hjG6<j z$Ji~uu5k7~)v$)Ys37yzx&_mo$W7_`=+!qd;XlKc3WdG}0pi*l!|HX7A`AR4Eh!T3 zbmn_l=&SZP`>4RJnB=lbd9Q*XVZNjN-#btK3h+0$eC!%KN5!)?P5Bd?IdaRUUfn3c zJvHq4g})gG%!S(Qcgyqya5?d4=P0*5S6Z5MkpKMUMcWJC`l?nLs?R^xma2EQ{nG)4 zgme)RV~gY|_xSUs9R8%d_|KUm$rs%hESC&Fo%8Vo!z{PS`mGEr|GW@(VeS+$KecSm zB(1wjJGmBHSS+n=3*2q-FH~6I4uiXm6z7KA*dy<BIBi*34HobjdOUsX_WEs5<8Dsj zB8L+;p(;u{1e=`G=XuIMcD%Lf%$~`YZCAPH>+YHRdjAEPD=AZ_PTf$p-qgV*T1MgR z$?wa4woJSE{bQ5us-Pv$jYWb_JT~PB{?<0XoM(oz+|-x_)*0$g-&jedPx{zDTX){! ztxEg8oK(>+Y<#5|o|Ct9W}B_0sY3n#tLF_xa!;HxzHahC^nUW&JNrvJk7*ga5)0Ga z8Q#2oUgqj2XO*4^OUA7+Y>x3uOX*aYtmk=y@AB)fM}4Al<~GjY+wsEH;b`pVKVAmD z-X|>8bG=ht1lSV(EOS*dycNPT=een#L(jCJXdC{lerczzds<HLc`)0zDs@g_cT26^ z&Gzt>|AJ-H@1A^oqkKi1$DzLJS#<$+mk-)%=sjs?<h#l;E5t5pN>1_5znU9QO6@y& z?Atqb`L#M7Nz)S;=IxPr{Bg-4$9DCsp7f26<)cJ9?V=Qf<T%e2X(*pjF<0OJ<3c<0 zX_baQE8ibYRm#!vdgl?*wI$|hpK-s}%&EtYCHFqIb`Sizg4^rETjj!-PgV2R+Aa&% z{#2RHP@CoD#IBGUvflp5rKc(WdTvkq)f(2f_wG1u@{(g>@^R@3g~CRMm<@c_6e9|c zSwEUp6yvq_)R%873fxkDKj_JmzqTZt=Mcw-o$qR0qg;&KwM6AS`mR~%@Yh#Kw%-jq z^v&dW;|)n}f$qyY)F#dncqJm-IFFs-+BBx5lN{-vjdmOs(iC$&rkuC8_T}!R+_e|m zEnm-1($HIB7Z-Y7K1wIUX9545boKsZ?;Sr=qZ!f`-Mi<dJZa7Pd6ti+Mwo0`#>shc zx1ei7VH)R7yYvTK8x9sN^*H(EN%Q-V!)%Nf-tk@*RjCV^U*;%X@_1cVgji?{&#IqU z?AottGoS2o+N{X(T)Oa_ZPu2;9Z8!Eb@qD8ZRy-I_fv1ra%Ne>_km|v=bQG#<xhXQ z!<JuNZp%;U=HoffR@w9jna$+pOu4b#rZ%fg$nCrsALFa6b<EcuI(L?BKV`PzxXkyn z3O@rwgsQ&2^ia9gv-3b!hw-WhbANn0$`I3+nzQagOZnFYYkJlMZfkkcd|oux<L-`z z!}sR&n`F7<Fci0`?^v*6`ULHUkMpNaTYX&FgCn6_o!xfdlmj<nyDH8VJ237!Uc@ZF zyV-M7xAceI+l1JIgA6|1ub<T}H}gf-lDyko8!W%Roi!onz~hPE``0=wIhhm@`>o-W zzw;bsKVybSmy{_MYKww*7q=Z&cc{K3Hep)&@3WU>8NZqcMBbm0udn&6@Z@t-ou0$* ziyKcK|GLVtG3cCK%FB7}cS82>QAl&ssyv>>FxTw>ALskm{<=H=1@<S0itbC4dnUAA zC4H;co1UWMG8dv$?l^C|c)GxStL@V5LTcU;pBwi5Ta(4ATC}F<Zt=Y-R*z3k{u?bb zKjybochBscLhE&BCZAAWX1ntA_ZExa_sz0ICT{xh?)Ur>xkIz17VZ1-UDGCY=Rw;8 z%Vvn#9Fgw3vq9u>OPi+Xq0L|8cB}}P!lwNB?LWO|^M9|AH!hI<cJU1J)L+x`e7)G7 zJ481X252pQn|2~9cmvbf11A`QcQYk~+1`G9x4GfK<1fpFr{5CMJZ8)PJh1iPb9sG> zv)aancQ5ZX`l1@J_Pl-LW4kSE+RAUAH_p$mT63Ubxy8x1Vd0f`9>~nQYouxBds6yD zL0ynbgzDxiQp{Qtc85O$og=<XA)Tkg@RgR$wz3rr<tp`Bz6*sLyf~hyG)}VBTwD>j zXIjobr)lQCU8_&Zt~~Q9bn3n!tK|9Tmaqi4pGzs#u_{~MuKZq3o@wHT3)3|0ViG2w z_{HU>vrcL9KI4$KnF_&*8t!-hx*B@8e)c$bxIyzxYl>a8Sm5PZ2~Kv&_qUqaCB9T< zw~OPHb-y-mGf!p81jYx#N8JQ;76mQ!-|y_F`}Ey0zJFPq>b%Vpn`#T^1hs`0sLGYS zE0;42U7Ti<%zK@A!_r7+52b?vhgsx`9fWme&%CVCcz@$BDYuC0ZTCEX@30K?*e&wY z%dAztVP%lL?XjB<60fW;u;j$>PyO~+E9iH4p>=(fQqabqizj%>T6cxAKGl1t>{C4P zSeBG*tLnFRx0cQ*Z2t37%tSUq^L4Y=!h`w7`DYJkp7?cP)oS&)JAX4d0#5IKYST5f zxOwNX=;gASjm~P%9;-{N<Sgatxvwez+=OAN#EM%7n?8u}`9JozJ`j9r<HNnj_qy(8 zESpnRmA35e&c+#!<>vC*C9nn@mb_u;`&=^4;menmNwMuU%e4+X?%VRTcDdGkO^KJs zAA4kUaI&B4GMhNzuB+#>bGN&9H7vf&@|&x8ZudNff3LpCx7uEbejtz%Cf#Pm^KGTi zk`8VKl|1boDa@DUcCHi^onHCS;Z^-y<MNq&hvsWoY8_wdsWSUa)|_041IyZs&p16$ z{@Hy+sxbBUCcUQ;3VfXQQROqD!e=(U%j1_||FBZ&X+(3+$JbqYEV@sP4Y~V@T$MD_ zenzW&k-MtM6SG>+mVYf*tJ#}l;vZkTo{-sb?A@NPUrd!tcwafJxavM#h09#K)Yi~r zl}KgE+#O#RJyp6az;?8zp`NRv^_s#7bM3<ZtToF_Cz{t@bewbOknbDSB&SthZe?1E zCf(9ne`56ncK`Te6D9OHk5&H)aXj{R<M!)anWdotMZ3?ld|x)hB+5P`V43X_zJ>jP zZr6lVvi8@j_vDI7&HY`@vn1uY%yX0XcIW4A)@r=fc0{Y^v5Y{LYb2xfj9n{P_cp#f zYZ_W$m(yfCp)icG%_F7HuRNJSriia7vzWExp3drBb9(-)sW|Xm<T6XILV+L0G5fXA zswzy849}bFrtD;XCa<fPurV@lmRi94^8NK|m0DDGs#i#`U)my}z^^!c!J)PX6Yq<7 z8&ziYm1}7{4Of}(?Da5-MPB2Md39HjLdChVr~b+-SDG)@ym7G4xWRs|p_jY#$J29< zd}nL?)ZiX=Z<U8k;W^`bb7j}8-r2!gd{TBl*NhGJMmugTRwz;VzI?Gk!oiLA8)vbf z3ODd@klp0&S8o+8t<xd>u5ZWdu%s!+ul}0km|s=wx8u$q#`_}NQ<enfNXka*zdgCq zX6DVAVy0=_bJClC{JMJI;<VJ6NfT=QeX4@iv^me;WwovP$~Kv0)vj9_UL<E)v0AQF z>D>Nw@hyu3_Ghk63Gj<%PIsKQ<-U>4#!0N5orfMwp7=T_wBvE0a2~Ub%#$Z|p^`1E zn!EGrJHD+xI5lJ&<53gV(r}yARb>l&MK31a>+w{ywGw_GBywlX9VUO~Wm*B<$E@nM zeC;@~lxfn<KPyz$1#D!rWU1Tod2c|T1j7Tq{|vnzCsn$RD7c<Kv-6<cqj^dvnbXhq zANiXh+m-%I<_X`tEgxD^);oszcopx-JsyyGQPJY1LzmagR2@&|6>n!vkUeECIHCAx zB-ium8QpxhtCMDVt#RG<_4UNF3=STFlU%LT*q_*#2e2<+mlfJO;rU+1*!%3#yXEt% zxB?|6txjnwzW*|aO>-;bPsj6nU5p~y6n7jyeIfWv>V%DNk1}QKP|3-&dGcIx^@W(n z?><R<e;aXHY9p7l?h9U@BL=tJ{jW93x&-IR=v}H@s#><|)DlhG-LsB$Jqu;*{2AWB zo9T2c<Kym0MgD8ejwilIZh0np`^KEBUnX)YSXew~T5Xchc&xVe-<C@)e=okB)pqDu zmycUyO!H;YN<Hq>&XZqXMr^daGsC{~+iIm?<)`7(Y&CppmhCAw%73{te5LKGBjq0_ zNhzPO`K!(0dBy63b=sQVQ$K>t1o-W?X0~fy)qTWiAa5zjzRq^lr})BYPY*n|UELQy zOF>2A=k8L|!jz)+r{BJtm}$$-3I90x)aSmvt3r2%#m{)FzF?jGxdL{H15bo6tyy}e zInQf?dq8pXZPT+MD;6)#UKZSN*y60K?Gdl!gYp)SWr`!50w+&9EjUg7Vdy&5iL;+d zdrGixt-LCDnI-GA(RAzkEPc;=!eZX<JZARf*MA19Chw+Gv%fu;IA^gc$j@B#4!6b& z`?(1V$}bC^>M{Crc241mqd_wmqE9PKyc6*L_u9_MeLGgD?TF<2mLS2CEOA0~kKoEE zSNmFrbCs(ueb~va{(Hyq$3dPN=N=q&lsLZEMW#X4!S49-$FYS*GYn2VdGf0(jj!_2 zG*1TggyRdoEHPT>`03B%3m?C(4Ypj;;Uu2KFZ<amu(Rer11C%RoWGh!+Rm{nlrGld zzk6_%&)J2G%L*qjK9~Pn)w}q_K}n@$H+r~@izUz9`T8f*+l?)>Kzaq+>KT(5<?gQC z{xojy&t(g9pKN?G=kYSF3z{32t2{~TopD&OiCuCT!$bz|=b6c84X3(!SlaS$-y0G3 z#$DpUWxj|BmAu#QHE2(<3%j>w&x6nB*J^3=?X)~;nw(LlxZ`+Cy;s@6iQ8>T&hO=I z44wE%vT7d3`GAa+NluK%V;9Smd|ho{@-8RcLh`FglhFRky1XUNm+B=NF|CO%zn6T2 zZ^m-%njI?7ul%|)J7oLmNsHGf`-KD*EPwj_wXb1B&w}93HFts;U-xMxN~aV~veyZY zVBq@odDglFkNi7!Ngw<rR?Oz8c{8Wapeo_}$}`R%k18L#A=A6#+0<hbTKV2SJjHxr zUWG~5QsXTjs(xSYU`UbU&s#RTDMdnFfB)B2KFQauz1bdL==;wQRcuzceZ^l*Nk_TI zYt<y{3NMr{FOZj+thJ&4z3`kb7T=b48odec`SqWn*Li2Z<u550OO^EID<LtQEIoC3 z4Ij^17bb4x<7WPmwCKhjo)3QhTRnJko}bP=zOBL}hQa#7syqGHrbhf{5IFgL*@lFl zr5e$5N|z|l^Y?P_R?l6`ZnuA_h7KQxsqi{W`=|=tIdlGMFkU>-FyT(~fnOKSJ@xx1 z>BeS#*@J<VxuNR2$c!iNPRLDRRCClkcc8-3CjH8lcIGrIb@{+R<~=3L+7k+PvecO{ zW|&zXv_CJxs`q+B!gdK|w#7kZOvmL8Z-4A{rfU0r_Wt;Da}Uf^7PL0*Vc<BpOsFOI z;Bk3FTiagq_bKKg4}OHjHnbgkJg;`+>wp`VB*ZKQa-=uD_BWWbN}pZka#^eN#_3<> z+Lk@_NWQ)=Gp1$<lX>u`RL57ve^!OY@Vry0{`%*YyUH^5n7*vAP`y|VTO&=*g%f)$ zPW)%EkCGC-yFV@B<Mp3cX4q(09<}t+W3XU;eO9|8f6~0P7uOjsAKJCexyVW;ZOz-C z)jj`AR;`wN*){DziyOa|0pt1QrW&r#EzWu^uX9dUzBPei)t!$Qo&+)N>@IqnJo!pj zAh#$VyQIz4rCbfq_sd*hvtU>G&oJi#3&$FnNmhOPy@HH?pMS`_;OpuxCgI5wU)0aF zahtFAm3RBsUl&+&mru>Jl4(4~>$zQ>yY0Yx{|QWd7AMbd)mnL;{iTEGxd<^Xei=cp z#k^bHI3(>JTwTiY`Bi~Nsl~z9FC7Gogq$9;H=kc>u|VZ_$nU~Wt9Tcbs@wbycB$S~ z`gOs&zy{&-K9~Q+801W{N?z*wWMgUG4hgl{Tc_JSmi)Knoy>v-Mjt;-ytd@&#FqIr z$?O~Db}VL=5$^l9<EzLM6*J=rca2|qOzbh+=*lcx{L-KC<7K&dU-~3Hnc0<Dt{kij zyf6FNfun^zCBUun`SraP%c{zkGKOnk_`33n;Fgt#lP_C>ytl~a>v8|6IpQ%Zk69-z z6<jR4d?ovGk*@v;OH$;%Fg!W=fPvxtysZg4^t@6+lCCK+?Kp4ybLA|78S)KB84Mkm zd2Y&l`?~zWygy$gSDc!7tiaVm$nVXA3$fi?T$3c8^nJBj%^*|6FZVT~X8HQOeOo>% zNLNjCh}g3({Jrqx*I`Ko$LHi8k2<IRl-;)Yc>S@d-f9vuif`XK>Pr0%VX(M;MdtDu z8#cMAvo?z!IPRzQC|1w?Bjat`dZ}qgyhNB79?Y5GzSYLfUuA;7&E-k?yWZ?bWvMO> z*6z`;nH8=-C9C;+**{yYl(1U|7?yfS+P*vy{%*UpAIEB*#nK@k=Ugl-ny^Ct-TdcX z0qMM#mp={`ea9}h<yp)&>AeaY1v*4!zApLX#vXk8<M)*vsmjbI{~4SrzKZaQ%o6UK zYjJ$5*6|5tAH%nmd|A%G@Ultsj%BGv>v_K_nc${e_P(qaE@=VvQt{K5uNP6!X0<r= z`SyqRVWLJ3ClvUX+N@yUJG3+;CS6iAN-%M?G~;d=u8B%XZVYyNS2+~z7AXv7GX9*j zfKB52ybAVZwpyV+1#E`FdiNiiDu^&LX<9s6!tv+1%&*er&5f_Srg|Q$3SFQadYoyg zV`Ja3`ST2aT>KN)z?I<BKJi6X?%E!%#^|3{TXITYWnE_ADx6hz`NowlN9o$EROXFG zjiQx9ZCNc=hdihYRS3vj<iYmv_N=L%EKOPm0`D#5GJF1?;d+#Uf^>&WVK7f~m?-;F zuNC{|_eMEotlRlmG|%{bmutUm)}><$F1zJUa=Y>UY-CiYK-zL<(LI7wT3-k8X)-M5 z%ih&%EOs<*$}0y$@7Rkj28+719a%*J9jJgk8!qvh^j%doZ7sgi={ZqAOU$7<ZOvtm z$EJsa*e0e`tH){WUTC}8cS;DGfxGBwm7FE17M3ey62c}Q;rCj1(M;P?YFXL_+f|$S zc0AiMOXqKvc)!}_jLkahgWNBzw)%6Y$TmB2@i~uGXT{jq9d9k*nciM_;+59U-u9?l zpH8sLzFIS3p1)I7ShCNFR2jbId)=ooZIu$JT_x7?_N8Mgqk@K!5&u^63ihc7zOK&Y ze0}4Ju6XF{Sq!Up%UXq`o@bc1SL?9L>7JrmE%A=^@gEm(^z1ms?$vN|$AjnUeHx{y zCz)+unaMD*`W{d@DO<ROfxl|a&l_$=eikbukCiq0=1ji)WyuYZ$a1-g^9fp$n+jWh zU0W#giBodbdx3PzljohR_}3~J$6EZ&ww>y6UZ<8d=On*!p-ug~EVllY$JIYCSTSRn z&;h+Wg6D1KpIdoi?VQ|G^Dk|iB~*A_ZS@}3aCQrs3xVwlHXnPgN{TR*|5@B~?azd~ z1Ka_gS)Q!yrZGph6z46T=4W_s)x=M4;`l1;zFyqBsO9dR>QMJh7H91eo*LF%W1m0$ z*Q~jz4~r_)_xgRC#N5jA{rsg>d-RrP*DU$$Jwr;xoP}XwQOMV?%VvfbC-m+8aW<^< z*3r*f9u$T=sdIBbJI|i)Yq-i4y)}+G4HieG=hR;Qv^BMML38u*{Z$iU7@OSe<@QYx zJ(c-hM?&;u{-ZC<TNQW;j!V4l`|4-;iS2P;J=c!StBb_<GG#>kOVv8eQ&s=<)rk|w ztokqf4pQkbdhqe(%UMRd``6cdF&#N^&|O`&;@2gQo6HS|yBbeONAU5-$X{CZbh=&S z$=8hzowow#JeJ-2vb8fb)Z*QJuXU=ryOsOnqa<&X*j6aZuDrvY<IKa?d*L!4r}mY; zt>N<e@w+e2GxU}gidJW~wVve=d1rBx!}*$j%cg8l+4NwN;dP1ctJXX)$X!s~m6%Xf zIQjY?t#_=;GCnpO?F~zwXO+G`CL|{^p7+47ptc9aJ(DkAC^>80ux0_nlg~aZZ!J{j z-B>WE_xOqx-9nGm?RGq<GuhcViH)oN-gCPz#($Rd{RzqKX<{q<8KT>}N_@eq+Lx9B zH&d7J9L_v;&)0KzzIspbk5FbcX_lT@6DFPBGtc(bgl^Z<DQ(Am-7Y=#m##e<B01sD za?1zlUBNvy51!1k{_=eRH_u~s`4Yj2uN@WVeEIfeRqG8VhP%7_|1-pz&S2%=v6^oI z&qoJwmxlBrL*`xIem$FVw!toG)!toS*L<Ix^;YM;y-)c{(HqIOg|iqg7^!jTTRchM z%WlJB_iW{w#)cT4?Fm-F&EMW=Fx~s~IIVDARodL=5?AtmcF0zTx=v4?RLK&w<yFD? zW7b>@bGz6jpFCG*@0)V>?FNskdHk1FY&l-`)h2zf+xy*<mdiCSSWsxfc+OE>J}THC zz?<pb;h(e47zv+y)FOYWZ3l~}%5%%d4gPysBev?i;IMd5d~(H^?u}&|Pn<XPncREI z;kbm!u}Q*;KQ~xBmwf&*WWt;1dz%C#4^?mXN(-2Fr{XwEsL#iSqCL;MDp(t34SRR| z+v?!Gqb+x_mX&-};>0O(t=}2@gKA%{iO{Iykab^bAja~JaZ{1;jR2OmaEq{iQkBzX zR*Hssnj4<HyCdQ8yt%!KDV<L1jPCS&`;)<Rd2`Lp7g<VwWHc4NuJ9J~<5ag_su!V| zJjp%Z@#_Lk?$n5t2jBk9C_F!Fr+QD)3`wuW3A{V)qq0u!wm)PYz&edvP}LK3r0g;= z9mh}KR=%I}Y_aN$X?OgU`(L|xeLI%H7@c`Sz0vcav@?TsO6i|0o1V)4t8I7qpJhhg z&T2n+`=#FleTIi^noAhxJ>R&@tnQnqeN@mXt2uRB8d5q!IL)3$uaw<;)?A^9VWs!H z2$__Ux4vnI-f2(nJJcA_u%&^;R(yU{)e(P{TCIx5=c4V69?xIDR(XD0hGdv?r-Uf8 z1ZXZR_E1mN)niWts;{`&O#RC6Z0?DSHGyS$$2@I0-o6f8cXnx~$~W0nCquapep|+I z(B`Rom7bU~_ne70gx~ux7flOnzVb0>J;MfzgMW@%&d`vaI%8f#y>VF6(Nu>6PZEMQ zP5mx+=gNKaa~=xn@%2mH%o*n%=Rapvm((b@j?eS8hu`H5y!ZRG93>^?_Vlkc=?{GW z<6?o-8WDj4gUaQf?2;JScPtHMNoHugfB)W`Rb{PlO{-^c2Kk-6wASU|j8&7$dY)fe zRaq%1^H=lYI!5PtRe!ajrQFUG8TiN_nj*%%WxL$`>!$N&II!nUReP%ZO!7%x=wx}# z9MPJ`+lwq#biE7UI4M8XyztJ^D!!|Bf7eMAM3nrxR3zKsCG*bm_=07E6P(<3_Xpow zqwMBBWsOK*!}ldRJ-0)OFVD(IHPx~E)L{E-{!+69v$+e3tU!H~nVq`l11APdcXH}~ z_+VB-*z`o{u7{q?muDpe81CdaUvs6;eBYZVeD|-dHv9X?!RS;~)ukQ03hlaA%0w2L zH#f1d*J(cIxnC|SbLt&Wb`ziFJA>-5qO^`__BtyL9$#KHH#v-zo59xOW#9_-XUDQ~ zHvXKFyXH2Vf=!>>#ba5A9!_nrv1h+8a*#V=MNHqarJ<pR<kxBVobm`&&l6wx)_cbn znLshegvG_eM_B}JOK+DcjygKiM0(1DcTY-JEqE(E<Lk2trxu)OpSzslS7_Nh+Z#2H zcO1<XlK4JH@O#nTbD3?<JJ@2hd79sb-o0{kub=3z>PHJQ8yS^qRz7XB?)R_S;<(^) zD=VA3Y-Urz8p+u#J^VFS4LlFaynXwh;rcR@1`mP9>+7!iHkO>SVm|R@Wpcvr`n~r> zr}a-%`g{HEtf03ODg$57+j8Jiq|4GdDG3uNUwM3OiOd}B;+|_sK8}y(tdUkRWROYt z{{1XNruO8|G6_A&zb;=<2u(5)f6Bc4afr=>b!Kyf53bzvZfVD%FAJ7Lo%g$HwQ7Tk z{-w=FZb}|x`DUAS=?sJ1zNTe9zO#6x+|@W$+xRyuxwS)U?auzdmw`(b$o%^HeTi{v znBEOHbqUGWK?<oHH<cUT2XvPNPdxbgd{xPJ!DFlU%stTHW^sI7ZPr3V?aBP7Y9pSn zW$;(#eL9&%>TL4PPlpxc&&|8cP&OxzeZ|X=$QyHyOfc@VzN%<qu<3oOeP#a%_QJ0# z=I+@L*?8gw``6XdKjV%RvAUdDGI3tjqj`&-D)1O@ZBY5V<@-{F2I+jcyIR3gQzh&T zBu~8VUmMPIWLi@3-#Z^zr8*Y|p5tKQkGbrfAA9Dmebh|9yK4?Q<j2)ptvhZ#TY`O_ zW{3YAyAUSB`&$jSo4q}<exb;hu*CfqCtmn6OWd7%a{(K_zO;n#oC41mS?1^b6}K~9 z-|D})nALF({{oY1%nZlao|@)13L7fx7`RJ(TV}xi^vUGQOlvGTY}Pi;Y%89Z*)zK! zWJ2}tfQB_2TCL5P4!@WCD#fN?_|@Xkx`dU#cYJ@BWyCGp<?#M^Rzj%q4>zOA<6f(u zv-_+wp2YD@_O<(Ip&~!S*P+i^PyBRHD7DpK>ieD&<~->qpRL%8Mt_d7k3G-1`<KRq zsBYTJE-I3}EvaYW1kD3V4VoKy)^2&Cd0cKw`{_v%mjXQdFFZE+kt}FgV0lvEZ$`%7 zn1!-OgAyFpUpY86py1$6`&JvD{|wqIUtU^#%UM#)ZNl?s7Dw4E>k2I7cFJ7qZ0J-w zc3i@4%au93rw-WFR`WYLxgF8gxU=^(-;|?0t*H}olj`CNUuCr%U-xL$k_PtTTm6Rn z-t<X|{1X+PQ`3^4_ixIo8}XARPe>fq?abihJt6b$cvisqd6wUoo#4_uuE%lW%hJ5$ zsf&LfmH_R4l3o<k&f_WDR*<=IlAwEha9>vH!NBd)m?yt?i<!9P%PU`*!^&I-=E(7{ z)o^l1;^eaWcGmW$aK_~K+kHNJx22u4SeX+h@!(05;lxX`PDzS7yeRf=VC1MgU+1f| z(NZCyZcArIub{Vf;`Fkjh>!j(_Gb=HD6lnj$|<_R{*-<FT8otvRy}{F-nCRwaMv8| za#@X3t!R1k1ttr-E7#7cRA-xh`qRGxPua?s;YE`q1SkGWoN##ZUrk~CPYYfZuzGH_ zymdg{DRb$z6&VN9)SLD^{<wsfuV<1fm#CSH0o#nmn7Q{g<kw1u#WXk7ec$=j<Ws;x zEpOJ>M_DEaFy7XDeP#0HmwpxxzM8x}wYWHO$2%=fNw1VSayPy%;AGn7!PseAyK;}h z!JOL6qYVectUI1GU%29Id05Xs{@>mV<{8hW-F)37V;xet4sUpod8F~Pa?Rld?ES|U z9y8dXP=3_psN%b$em-vg1%+M7Rw5x0hgzRoK3Bgsai;QrhKSpa57HK?{Ab{IzJF~Z z)2?-89!o3E|7VC>uJ!(a><;y=mgxa~es6z1=$o-j;-FIa$piz-N9&ZGuX=sHFR_Gc z`6R<G^Nk8U#(WKhL2P&G5=7=-nwjEeG2>^?%;P@aOfGoX#ofvMYO7Uo=jTDYnDP^^ zzpQ%maN?5*d8Z%CU6JgTIx6JR)m}Ykn!4rE#J-3WzAbAe9E()q*>PN_Nb~980)u_~ z{xf)mGpTbiN*q+y;#@3O5D?7je($`O8q1Mz3H7}mT#X0cUhD4VxjoZKtBK>u#n0+z zw`abc7{suO*^KR9gUm&tnM*3Vg&RLTpTAZwX^k3#!bS<3%Yh;(f|GmJS)70FcGa+x znW_Eh`M~*Jo?g}qX3TLjnDO=d(!!1xtGN5-*3COMd!lj<XVYSp$+xd9<7~Niy45D- zi^(-DM)hTeUsml{V;XUSdH&p5+j^;<2I<p}ZEHUUF)*#FFW<j%>8S@B;^%z-woGO* zgNmp^N}uh@zLQcl=QmpSS8dpR<z2~RQ9+B=BrW;s6uvJV5^IV=r>w5NyzP|dG45a6 zMb=eVDtg#j&0m(GQaGvh{89$@r!8k@pH5%#it*dhbBv4)?CYxjl`wc}Md&J3)@3bO z{Y<+wJ}N<JHG9f5d)>mR&n=hSisxYqDLgI{z$|XGt(>{_KSN4YuvuHukqNczUTia! zrAw1HSTkNQd>|j_d(U{<$>T5GE;osqZ%>?4m$t|)sLknq>4y443#Z)p@Mqge4&Cdr z{MRPA9y$`b@pH|CB46eCPJFdi{cGJM*46F`Qr(nqSa@ZfRoWy^yPy;I_k4fh>XM>t z7u8<xeEGHar%h)68TPQtlrNZe+@>qQ?9!S7ruol<<}M7~uvkXGYJPFRqRxm_!fHpK z%ro}lyUKmQ@=x6qrj#cFi_`A5|8Qrw+j5M#qWJK7A1Mi=1!Zv(kGt}o^#v>}PyezY zX;RvRNqi5Cvdonk&-=|>s=+khz;N=9=;d;cW?4wfPxKX=@ZG6sA^*zbOWn@y=iQ<u zC;p#dU1s?yN7tf;4~MURT;jtf^Uyu;weJy$L*lwS@7hke>>;7E@5cGBOH|s^QtzJU zo#*f?nC)l6^wZXE?r~c^8V?@&xv5lz!EVc%1sX~IXKzS39gI$RVHm{lyIe!U?hB*z z_ERh8Xnm3Ua?Scqkwe~=XF0t)Ui(_gR#%0bV6D-+DzEwNxzdc_!n6rfVrrI4viu61 z_F(-z$%8A!JbV(l-!eR(cyCgI6H6o0;#}JkOBt^}3p-}@c%{guhl;9w(v}QG9?K*X zRpvf2sA78^#?tcdjp!50bJmygPi?lD&BXJ;cz#v`<FlV1H#)z*{Xt}37VCXAX?Dq# zIePXL655|NWwV4jHnl(Rn>ST!vT|PiRQC^G&+iR8c#dDgKi+G~iJZwQJ<03WdMdU_ zPwPCHn)<WA_^dV0DzkN-FEl%rp9!DqB~bCar#5q$VrNhOdFM-0%-FS9HRA8>4E{84 z&LxqPcVzVJTfVQ_aY=H|jBf>Ol`B5fB|nq+YilnxVg0EH9$kglyA@26Cnl*Gtti~R z&fovqjI)h<D{PIsDpT37^xZwmuuNK+>pw&J6{!gd0XGzOyq=XjJycR6_(I=RYxXk6 znE{NKC6=W;INDHDHS2<o+ieHc$gcjVIF@c6d6P^0Q~I_{m-7&E`_EuJ$*f1Fu2k;C z<J64n*?o^!oHaR-k;L)H-6bI6@1wepcF&e1^LQya`OmV;D{g-8abE1o<Wr32S=)oZ zE_ubR$u7$ql*GxPr+l|feyX04*Lu6J(q`Xo@frWCx_rqgg|C1onOXiw?W>;+8Ir}H z9)ouA^e~+`eL~_~rcln2wTenf&$ZmWxCEXqsl8~R+AY_<L1c#f|7*t?7pG-xlrL@! za~9tf`J|L1c<$ZvTQwpl%7#?VwCT@sO?bWiR8Uo3-r-w&t{ghd#6O>V;*DpEW*BTv z@VjZwBlt30soQ!c`yH8CJ#T}Ie;@rK>l+Xudu4;|IfKl%I$mD6iYFfQ8NT<Coc40b z&8N;=Sb3_XoS4ne9cX;{=LO@b!|cg<%zaay<~=E>w?DTiQ$}EY58u>;#U?Qf%t1LU zX~Jv{3ltyETN0ey#}O{*cJi2|<-d{zE3MhYe@V#~DA?bPfAn=_PHw;M#^|DHcN@&U zinNAKStVpEy<^3_M9F~Vg~@$WzRHEYJ^!<7Hs9f?Cv1A=XU(qOG+|9c`Q7UuR-M*o zPJA+NZ^!b}TcaB%zw8R*?wZM>X_xf%?mYLcw$a6A_vU>$<UUQ}Nce`t`yW;;vFK?& zS9#Q=Q)h*=B+G5je}WgTtlO}%W04x?)4t+)Ut?5Uc{XZ<960fQepYzFDZV0hEnC}H z7le%6B%VBAz9OgjsDyDx^1rv?l3{$|^A^l&f9=&{a7I3RUg52|2j&PojJ4pg{&4t} zmZN5XIOE1w#v#{CBYA$P+j_kB@4afQtetMde5vKM>!hPQ^Ut*>9Q77r`Y!uQ_i527 zcALj5mWE9bJt$Meo|UW~nq=;J{j$hOW~G@aj9fiak4H7^EV{HZEupaaxZPEw?GlBj z`g$*IPEaXQRPl(E^N}%kvUQD^DqVNz_r|8$_NAc{m&|C-VVGYccU5azil;Q2^A)+N zyo_oOB+M-08h-t{a4x>?ipFskv*Mp!4eTMWjH3T^6&tTO#q*y*ONZs?C+8CGYrT(E z+ZDd7@a$|5e7bvHVbGeswOb~v_@iXL{@NN=HQm`hJreVG_fNNbwyfN+Nk*@}h0iTZ z;1aV+I`e5srD>WIFRMS*KmX7%P;N;Br-Jb94a+yC9z5p1OiMN6_K&@*BL1Z&#ZSC^ zB`9N&t6qeL&GwZ`RgN97uw<X0wb&qOqwpSsbC0jcdu>>AMpQ)PtHdk2tt=;|pE;TQ zy>3dIlYze}m(2S-JHO*UFK=IGBwlvUtt!A%@5!x6`?%lT-u~;#zqC6&dEdUQQn6{V ze*5+DR?p|IibrA^Pv(68vVil*>g~lFeC93RYF)K~x%?Dgaey_)k-AI<>ko$W&rR7U z+nlh%@_>bj(Z%F*&($aY4Bm6N;Rx^A3*XO%sZ6+gy6RVu%Zimx_q(vHwC!K9B112- zbb`Tyr~P(Y6{pGm4s%+!Z}F@p^Y?U_m*3Y{oo{NHdV9yV2X{G^SWgq3kzV{(cJ^9r zgOuFm7V>jLgN`T^2=+VqM}<wj(pIoUxKHa1>tP)Sy$j+>i$5FjX|CHBnUa&hd+#gP z+>?C`pWpj%ADz;C?1HP|-0Jn(XPx9T6nB+8o4t3Dtj)RF>HyYb5-HOaHuo&5s`a(5 z{;4skjYndF=Zo4^qPK3xG%Q}f|FQq1fZH7hzlbmzP5D{A@m|%$AkCs3NtVCoef9D9 z=h5-N;8kr_kVnW3zo*aVIs6LB;LcU7-?v!uz=4BHoEU%lEBp)f)`@tVbngCy<;s<j z_wTQixx$!x#moIx+rOe6KQn9Yn<a4^RK9*`f#j4Np30YReUldaxv%lUpz^GCuhK2E zXFAJS*{iCSI3*ly*M5C(Rl9}YyxRW^$L3fyM5KJTW#73#O7B5Kx#95yKZj*=TVwA| zZ)}bGx$2l@z`OE0@t5DtDmKWhIVi_=N1!VGO0b~Tu_u4lSTgt5uk|>WoU~VhZ}GK7 zVSEdhC@8$MJh<ZY&;H-*XQa>hP`9<rA@c95l|t*D*?bPpWk}uJ@3rm>*JL%%Utd>- zPA@!ow{iZl$qrt!K}P0tcm8y%zBDIACf&AHYnRYD4@tY`Srd#r7SCa-Dqk^4*QoXs z`*eu|dF}V6GB0tjU|D%MeTChkRia@Nl%6wBY(7`FRoOV-TIAu5C!Yg&wztKu>WbW3 zeEg|TzF*7L0`c-`Jw@)tm*z@z#<O})Jm&eRF~fiBfji+{1*xIBiaGO|w?FrZnVx&U zSmIAcz|Js@qCLX%pF3<(<2~Seyx{9gr!zk^q%+v(SzWEMV%$B!&q&KJq)nsNV$snh zQPL^XpH3-xP<25?Z}s^T?Gmew&Q#Ut-m>DA`&vN*N#>Q$Ef;W}UZQibTj)-oaaWDc zdabAbk~o=VX0@hHES~=9^6%pl=lcY)CjCe|={Pm7dEQk8&%G&!dm8WmXISsYIMb8Q z!oH-`?&pfBGre0S^bGu?iX=mH(sdY=`?MT3KAW^;r}p;Cll>U{!c@z8<jVQB#!QXT z`y^4Im3nYO^v1)%8~E>~DlU!5v0#u}eC5*Seibj_v<gYdXA3?%{+zkVc>AZ7%z{nJ zwe~W;$c*6@+z?q-`y}zR@QvR=i|s071S<YBNUe!yFqAl-{MujV_|!keK{qpYd23C# z_U>~yAAf97sJyY*$-Kgs0cy`;?{LlZyA&;XHo(NziS<@<`g+^U;~5P4p)V)?dAYPX zd4k8=z~<&xtPGu(%qy;i9}HuE`i|rKLT)jQnK?Z3ESO&hcB=8cm=VxW_`=u1>*B=8 zP3|$JD~lwpJohOo*lSv_zYLNz=gGPK<LfG~g8|H+)>ZM%xpG*^QCdb!@_A!dI8(wa z&+r!(Czi9ROp}axJb$T!obipx*O`{_EhyNjzR{#%w#KDAPXmv`JY~yWRxCaFQ{1+y z=c?1eu7(}9ob0nER!X}$$Q0jOX}BbU&+x?YPs^EiD6-6}E?E)fDB|;gExEz?Le<sQ z(`wF4hnGtnc<=Z4scPD1tC~BXC;Ce$E#SIT(>dw*hNXO5P4!VRNBT6k`Q#}yerl+n zu~M2>nEf>KjmyasgRR^BjIXS#zQh)$6|TbfB-!q(f{O2iNH-Cl$1<0{w`*@n{`m6i zGBbD8<92sf#qJ2ZwP2eO`{ip5a`MlQ2fy??c5$oY@u(h63m&tb(mTHVy4>`DX*v7n zB`jTR*9xj1TzP50m=>;*(!d_%8Xo$zGxlsx@I;T^P`}IlCoUXKIv6RkdQO9zgKbv8 zgC{@d8@wt!vC2usmG$R@f{1yA!GCtQ-E&WJSDP88+Iv!Q#s^D<ucitI0~Mu<{N?6N zjWRmYR(xt+;iYBlJbO~(E!mff3p=d~U;lZff!EW}4*Nq^^Q+uj46H4lueDB^kP>j9 zzs{a(+K~wdXL@Sc#kJcOdNDB`u(o159#z;oaf;!InzzSIzJ*yvvU6F)2YVV$?AYgj zcW&?NAl9H(*-n+`wkyx<o}67`GQ+_xfm3#`tI2_c(3q(V8y+uLTVi<P<uk@scFE&j z=~E8t>{qY(F7GwrEyvo=X73t`3SVUuiMDt=W-sYIXCb$>P$^%B{RH!@M*p)LH%@(S zcU4iZD}KYv`zCYRGMp8E7SGX*DdCrNeRV{j)^@dS%9IJGo97f%{CV|a_LJD<&uj#& zlP2&@<l3lxq4e9bH4TLqeqCK$`03A%gKw&?Y&_A}y=rBWf$@7MCQ+H1y;aZFtej9Y zyYUy7a>Q&NHh!OwLkiIf4?{lHYQ1Ba>=EOZc;}SeXPLUt49_|Frb6q#_uqSxHpfUs zaQ)c{{>p3BjwfA`sX6jz@tpq*9V@SFUifY?yGrt>RVPwBx~KA-onY&JB}jYIk<~k< z$~wM``K+a}EpjSD(3(GwZ8^T24Nse#mm+QUsq(x?uTiU9P~L$jQeBzi6%GYwj9X=D zIoEm03b+WJI<q^pZ2j|)Cmj0?q`fC-T^3mI&PHm%8E^Tusi#U0G*wD^208W3v<Vf@ z<Z9^c`D$@CYEro5Ek^Z~M}sVtOKKVq{%3d{)+x=G@aNBdt?zGq!z(>>`cE@nYRf$? zp)9xMSn}?|*U?8MPPk@z_dL*$v^4psC27{&^W8MIGv^)4_Z25^^cbJ!<9JgYw$U(S z(>ibC5|)o|{hUIkC5MX6__OLx<K&m~zUb`BT6ag(_HR~4>Q4ELu!9QUm+N%7`)PHZ znyGc_4Lb|pl|?}wl84rd2&%*fEh#@Lqwm))v1(qK<OYl5@_(xwHNTvV@ie*S*KvA& zy;o-X%_~p7ud->{$^Pu^yhqDeR!FLRbUm;|UgB2O*RwVo<c;Onmj>y0-eG%mw=if; zgOCT;j|b^p(+=!V3EER2@_gRTCHFr~51jujYvqjp41A({cmBx~D&CW8y@}IyLndQ( z*#oOK`=yp;6P7ghe4e#xo#XN4uY)RkR+%*vRi0nU*=Y1Nh)rzPDUmskCEs2bIjEt0 z`W(~bd74YFFvV{Cx+;jNw!yF`o#ngDr4{i8%8Y$({{H7yS2iptJ;45PsnNE(bCS0e zhZd-FpLgJR-RH`#^6li8Rge5<G*~>EvXlMy7SU6Y7Am<64Ti_-t1S4s*veBtr}V5* zQS@Y2x8?T<Qt5I`Rcua|yTYz%b<E+IbMASig^U{yFh<X+nC5WGdBWoDTg}hN^q*=h z>OUwW_vKmeu}_9?Z!HXu5xDbq$sG}yp7iDWuQhBmyRcBA`1~Wy-=TAF$h@<BzBWu) zKlqqc(!5QrL5CY1!_;$9*q+Rr@wUrN;m_T(#%FRHPs+&qWuDiTGv}%LetxgG+CjAk z;`W-~p3Pd{RJKui|G6ytDZB@sd|$>m{q8*DOO3*n&00&{!YBW`s^=s>dp`qL(p&xs z+$n<R*Kf68{M7n*h2_@;Wg;os6R+|aRDHg;T>sbw<B4;ACCyN_=CY7bSC{>3l$GAP zgf*h<yvb~Cjy3z1G~c+iS?)pOjZ14{^xW^h^hnM<Twv{R&fn$=ucC9Vf@WOisijjI z4wzZZe;K$Up+e&OQLpY3Ws+H3DzT>w{`&fuPmq?aIDcuj_?g{PYWBxmJrbjlR2O#c z;(vx~D~lKe+jw_2_19hbahh?<!v>q=<*&WE3XF<h2c=KoV0C{USQrtc6lTq@KKbiX z1v^FyrYUNSIWp;=&YHHL-O10q@xAwqX&rYo^Cvu(+w#uhthBe#D#OXIFEtt5e^>bR z`znEiIRzpAO0*{U-D_X!zj5C;BaX9%1@31G+#jE1aNn)tEo69nuZ_pyi6{PM#W_9Q zslJ!Vrs@7v1`{uz#>hJV^(Kn~_wI{fs8}|^{Zs`{;a5|&!~63b?7oPe@|ZML>&D}C zS`G&`o@AL<v8u0s%c{cd^VfPgS{!#gzh12&<=~=!3Km~q`$_vr$jE!GekQ+b`Q%$m zdDg5vc;Z#9$AWM@w)kDgRf3y^ER{3fXxpYp9<$4us>18=v-4M@azXgh<11`mKCLTw z<NolUXw0^7>xP^!Z@cEkSSpmU{J!Av^q<j^ggHIm7j`usw|%)P-17LtmqA5-{+Ak; z=rKN;zeUaJ*VkptTYsKk%G&VqpzR7xr5j1Bx6~ZDxMLYx;qIPa)mJzh@AubjF-(`V zb!E6%tH!+l)K<%xDb^9|nYVvkv%w)O$*N5D<zwp#=2<Kg7q%v?;&{A#`Ey^!cJ0d+ zs}_abo?y-&pPx1TZ0`Ks$2{KOS~w-jC8<n^jjeXS)#S_|rmw$34W8Q+2eY4MVq_?_ zT=c*uMX*Q6HuH>Mk#*^cgRC3G8-w^N)o+UwGpb$SXTNOn`MBjl<`v(*uGpbcB^=bp z=yvFHUnbX)mD-KHH|3V^jqbhaS0A;6<L!ly=fAG3e0RTOUTuctvh6&4;VYisxH@&0 z%ER4tp<R1j8l*OV=BpQCSin1VzWO@WNWS&=He8w9#{OY7*WJn|-xlzOYSleFv0UW* zwatMIT&L$GOT7GX<)!Ai@U;x_58Vpq1cWxr9r(WL)NhaH>n&DJ^LglgU4-F3gYG8I zC&3#VJl^`b@qc=})V6Gcg=}>IGyBSCOJf@Qqa2tvzC3HQ?(vSY1>H<5EYIg%Rgjcq zn!Q`*@p4h6dB#1=4xJ1M7B=5Z6Dw_vte-95ayaWHtx(`r^=y`d|MmvsSrgrp1Jxe+ zvHIV5P#nh8V0hs8Qj257UYyJ#Uym=Vt((GdV6Wv_uWAj+<*mn+8!}(*-t}#jPf*hO z_(RK>^9+5sc05|jVSMLfh@%nD*VS4(-X3+Bap22pEeDBJ9m1?{{X-5ej9MmfG*dt{ z;L3}Jq*=?EmIa@G8RFC4@^xhsqi;a<mD8ajiIz+~!3UPCWcPZrSbDSCQKtFsQQB8p zd?Er}MK@4ku@7Rw5c{nzEftoM-b-_;E=yn9p{?w=Rq%C?xmU*|?WVMjG`CtUG3i}b z*3N2ZyuLQ+>>{U=_f~JIc(!I5cc9o=<)qc>jsZqj&uNJT23-&}Ybw5QMTg<{)zmhN zRd0JjOjxAZW$H@KYgV3r7%bekRWfl-V}Oan#l9J<&I=WBocy}l=K#-DPw6{d+*-R* z-mU1VTeh_5=1<2J&6AI1MKiXsDtuGFw9xFqr+bU#qqaWdNjJG~7%lnO{@fC-+ziHZ zhJ9O^qgKsHw_Iy<dbh-rOK*7(EZ_-i&iuY=lhY|aHvYYNCycC0R`^8k?O*uP;Z33q z`zo##7sV{JuU}qUqAS2M@8=4Y-s0m`TprKk1VTREZw}m|w(S;UPeN0@{-K2ih3736 zq)9ut6&Rm4Wsc@F-s|~Grf%yl1(lC?f^8=4Fnr#3tV!A+?)tNDD^$1XPJ3Y(y;e}( zFs3Wnsop+|(Rfz2Qy0T?=DlH)E*4G;I2-FeL9!w+^d1AdgNEP<&m_JA3%jd+zV<q` z4#(xb-q^a$k@tAqys5EkeyF#~Enmw}Fe$TFnva3K@y_J;A*q{Z2%TB#@BCMLUj`e0 zeb!3VO$i#zmtSRQ$|&*}?e*%J6|!TRLb+yYPBL@Pyr1i~zTte*aNv30pQ@{tB~MC@ z-Qm0OZ_7JlO})C*APY<TskZAnZg}3hH|6tECEkl4Uw{3+=BI8-jORIa$Ll{Yo-ukc zGo<%919Rgmf14|5@oooSzsR<n6nd)X$#+v}lZk)M?V0bFwX^k9*6N;I(80EeQ==yo z7<QeAJeYc%rO)4MLhStMS`0G5>Qk=%<lw(@WnRWDZ@z3J>lPiymp88TDl$xE`0{;O zOPtZFNfHm{B=7ZE$MBeU;{9J?1qG3F<j;3i?g(IKw%vH;!h!8Q_0{w4X0EwuJtg56 z*ZJ&498bEYKDoVHM>;=<ulS2e!<1EG);pftNM)WhGP6jY_%kFf`P~~MBfGXmpRZe< zvo7{kP>boGWMJ`jR&Pkt>A8nhy7C^eU2yX_@$J{;Gczn=a+$ko7ABT&V^B!nR)1`v zy2{hCiC3!XOg`&#d7iU=v^b2XF1ew|I7E!?w3~?RVa3LGb!}5C!lk)n(&z2>V$@oo zap3LztOS<Yf7Q<#BqywFzA&f%-(F)0>&-txW(I#QJb7N`vV3N|&Y#`w5^o($^!%l3 zjq0}K9X#|T<@4lOl8uKpvobI9FAQvmnEd)xp(8K9kb(5{_nNl0nk$XXm>%>!n3HUh zP$r?guBzBqGG@g=yT@yp)bH>7uy<E&mRb#i_w&NX@~39(`02djRQlAfCig^)lglig z-)q|Gp084~y6?_^1}k#|_GcC*hYox(S?0z)Z&ls*4YHOCG6mahR`oTjO|dv9@yY6f zm-)xmZ?>7Oj;GDf94WO)YwSxqe<!Yfu7|_~e`dQmwOKo~&z))PoBN-^s$4<)^N9y? zSrfSK@H{c|cf9@DPr7V#-mRM_4nF8F4%o<$Q2yE>Jort$)B+WE*D&sL@0};U%h3JA z%E!N0u;+5w<7W)%%b7)T^LK8Mk>7QNVd-~$<xIKxS1yN6ZO*f`e!SN{Y3>0t1LH=w zgIjj@&iTM!=pcIR?PA;N3p_pdH4n)CtzDHgd&WBjU6<Q#Ob>b<_ebe5wf*#bRm=b5 z;*<$*1E<;uzVu2;D5@?MS*G64QZN4U>!Js4>vvW>&{Uo^G2-u~jGXnSx0qiEV4gVj zr{jwZhCJ@aAASYNwkC&K+%fXA_!T5lX_U<J`2N@B$xmXw9^>D*fNlM~1Je7~X{d%6 zvS=u)BrS1Z&U@Ww@!Dfz>-z&HjPlcu^G>q-75vyuA>m2sYObCL{@wGvrmS+EYI$-2 z*O`X`i~48oFb!=^zA|gaD~Uh*D@x_29O7WC?`qK6k*e@qxvTTowOhxPR~(HmNn;FY zoF8~=k-%GNes#<9+m|wgvs);CGVzq)GB=PkwRUfi{?BkVki)rQVO>CZtuKSy#zj5f zZRDzhG!Gt{#J}CI_SM0j^eX{McaM8*Ik2W{U39^T-i<$gT@W#P>gIUfH2suhXyDiH zCPy4XI1X}oKH#!!I+~;TK<K!{S*1hoj$7W^BiuJN`xL`=mEUrQmI#XF-h5E9B4=Ju z*ReI$59E%sTsg+DaL=NUa`nmKHIp1upVnsb<Sfbky;$a1tHM+5RW<Vq6#x8Zu;RFV z=qt0@+D)4clTW-bbZE)b(b(x){Pc<2x`@()5)AXc9B#Exws#KRQoZQbk#}}e*6p;{ zdd|T7&tx`}ifriYSGF%s{4D2Rs^O;cKycocjcuu_Zf6S5I&j=(X0nT`k}LG-&rW}K zj$h^Dtm)Z|)BaXnX1l<olcHDkZ1oIQh4f_%vUYpV8fb8N1nhhK>&hAtrZW{HYXwrD zJP@2<e{AZ3MW-x7ANDV=T6f0$ZGy9$LDrp#^C$466x~~J)jW2&_T_uap1KMdN<8?@ z)&A^v%agw4*JhqSQ){`rPnvP+<^z(?Kd#KVsQ6?<ZU>|G$zRo>EAIC3KLst2Ij|$Q z$7y@bmp`xW6u$E}mykSeI%UQii8AK<+r6sXWI82k4PU<xvru6B&+s+)VzR=@B#xJj zv!*I*DzS8?6zx3$x)^u1PtBq)_EV$99{+IsHMwi{Y4*nZdvn<mmFInmlQ(WUUZ}1t zo3-Thr>2viEsxb^FG~sIiMD(h8Yj{3czs=V#b!;Jm95IBcl_Q{^=N_C<L@hs#OGOE z_cu|PcrvE&c>UU-3=bW4?b}zXo?Kfp!>{M~*$I>9-TfRiQF}pnz^dhq_vZ(P&tj6+ zK6%b9Q^mdLw!4vmO4(WKDT~q{uxoFhCYza(l>F)B`2_!*(EFO(-`t)&CvCN_Kvz&h zoAR}m<4L;=?aLP|W4}|j@wn~rnBX~z54$G6&|I<GVWLNXRkN>AWa?7s&0C~Izw2?F zvkFm9>7BRZy_YA8m%rrg&_eMbr)cG8=YzwiJb0qPwsFtb13YH)Pn%kweOmZ^R}rr> zbAI8mrxJ2srMErh@MrlV+P7WL;r2WZQ;nSkw-3Fw`F>85F?WU#lMvH4^%Z}zIJYx! z*p#1jIl67ybOqr#m*XBDdYAw4#IgxI6EF0nORhSr`LMd|`C9EwyB<vbV#;l_>gf*V zFRK}U&pa2tUF6Y@4v)2sb7V@{7VGqGoRT=Dj{V+*2?9cV9~=+7bP#%Xz~=Ky=Y4N` zj!!=7badw2D`I7q3VaO9w%z1f_4xY7Ul)95rgr{5vxM<j{aUl|K9#VXryKjUm<|b@ zJ=OMlp69P%mx;w2#DniVx1Y)~T~2={=fTJOv--33Pc625`E^<4ZV`<q6K8c8Oj&he ziOiGqg(i$Pod$-Bd5oU)$owniw)`}6%7earU#_LQYoADbdHkWf?v!`c!9J{&oOcd- z-eTY9t3PK+-mQ?w5_Ve-t!uY@P}u)(ugMA_OC9Mu<*PMaCYKpSKRdrZEAMT~$K5ag zGhAPFe5Kay0$0CR4^O>6sciY>*9Eo4rVUy@C7<^#xEwS2<O9J=vpm(GTlX3+agi?Y z-@aE|!0>@W;^f;)!zR|{Y<j}C{EwD<>fJ3p={=>ZelN1*{=?3~AH|S<pC_1Qy@OTq zy;(nG**?|1_`1^jiHuvY{n~IJe#3|aH3L?TT*0*9@1FjF*A|!f{7gM?-omt))!B@Z zrR4qB6<jM_E7?y~9Iv|I8s0crCpxVv&tB7HcM-p2(vH^`t~N^cdWjh^es>S_=-8Cv zdg8oF)pyaD1Hp`;e)7qJeXj0LCx70Z*zUXk+}fs1nhbAlRi3Y3YGu*b=PALwy|Hi4 z_a!$(ZnUz@`8})b>8DdJ1<r~4rfO-mSr*yfJm&c8(oYZh7G|4E!Y*EAE1hru48AKe zjd_BbR=lS1-jk=kEqi;1gW<vFvwDfK0y1u^#J4ld%W^kzYc=ngd_u%TSMO>Z)2B>P zukELp(|5lAx_HJS^~sE73zPqy|GH9U-G%TSC%-PeBdl(1F6Zz<V`9-ot3IZAw#9cY zGg<s|xFKIrZ<WX@vg6faQw2+&hwZX^HFs}Mlvwwv$ZXb<&O(XB-`xusPB&FP`I}|C zX4R?kl=(4DT1g`F=dXB@d?m=3dD^?bg%_k2giAaz*J|`<R=$00Y2-|!zXDAhvRbQn zH!{w7Zn?bR^ruOV3zE0XFd6n|u?f6m=5dc|axLc8DmZ)L%TW!B18!*to|muR%EDL1 z(=o}6>pA=N*MX;%1b2D{{ymfaQEgs*>wE^ec{`UG8@ipEW6yr!0@LKrC6Bv$zfa3J zsU=ai+#tbh$CpR5pC3EYDSBImY4xlv2a>hi1e})I@4a7YyCh7-eGY$AWeH0TkHc4) zOB;OV%v;=*G+7~C`MuzlU`b}tpc}SsS`KCtmVBz7_l098OX>4j97;MC0Y?v<^IW#x zcVWY?EC0gJ@Od16>Zy|a^vkyeTRJ#<=Fjudc*h>>IE8=07n6mul{%Vh7Jgd6slIdd zj+31~i<TrWv+uUM%CcrDm&X0g@2mc1noW2uWtik175dX?kIa*_rJIe??>4H3DWp^f zr3jqwNfr&!JScfOdGgyJYbIy6B|Qm`CulM%ZL>e{E2LMU`};ZO1@`6Z?6!u^&gxyP z<8HG1Q(X~T#e$5AJ~gKkPvjQ=XISgsJ4d)Fpv>-m)H*#uf!d{Be{P5F>OZz5^P<<r z+*kZ(Ldw1^*yJkE;iKo}vb^BHd;dtuP9u#_<(~3YPY-v>$Q+*_@L2NO(z~B4bH7hX z7h%+>eX&yGPFHbPV*YH-%fEu7T(#sE$}rf^T<#@iyXVti_Vrss0{HlUAB~;8+1Ya^ z(+Xy}Dc5xDN*Ns<G}R?KZH)Wspl$ph?=<s)<6l?Iuw+;?J=KPxia)9*?-bX&lh5sY z-HbO*-udF@ns+{}2Xekkp34eJJn&fg)*`#424<d#P1b_1zb*|DNqBO>V+~K%r4)?` zAN<#EWe`~8cFXM7yyCZR!W$oaId8GZ_lCx8kGQ!fzb`LbxVE8Exp-C>yQ+WSy_vf? zdmi7LwJ9&g{^hj^Z){epao3A0-&@4RJY%}@j}E(KGoKz(Jykh-cF)EWOv?_kPMlw6 zWw0PuaMOxoR~b8x%f39rz*_cB*7#-MqNeiI4B_*tuXOy$J63$ox;Ar(qZr4}D*}am zRhJ$-NbH*WW$D2HIo0&!gDn5H%%17_Sfy<FDYZ5)zBAKKF5B?b{Lj9GQ;+w0NGq4! zN#3|5y^QNp@#e<2vn<^vJmp$m%lPeGibdWIlMC##f(vwe{@QI-i3{8rp1f0h9eYgK z!i9@$kM_SeK5nt%^u}8TBKB^tJwBT}i}cEIsE|Fea;A@$gzN+TyR!SHOxDS}-v2b6 zhrd8`ZNmcQsc$`u4m@}uI4?_KY2VZ2H|$<ZPUIBiyi2ePegEEz&7t`6hNWB#uPom> zy+5u!`Gw^&#obFJr%FGyt$30&VMl@LNrf**eSaU6HuRrTdeqQ^L22&29|z>F@EsEU zIWLW2!cK+|!{=#FoZFu~xq38Ez;HFgJHCf^`U3;p=4-ie9(SC#W66b%o6O&jRmwb; z?=>+NyQ?Ri@%XZ+_OVs(y2@D}%{Z`uOFGZ`vHe_!b*8gS!n7Dv()+gPOv;ZpW{oU9 z@kD+t-{SW?Imh^SE=ko9m3|h}^X<{xW7-DVTY8Eo`xtS$`{&JAZZ${rT-iM1D_y>4 z{NC^HGk*EjgYDt=o}S=uD^Aoc{<36}$B`u#2}^1}-uM;lc4+rcE;pkL;f}X2RJoRX zIgw-+e{ROdB|YYoe!SfB(fd=2;D$SU584C>KKjoPvM=J>0!vS)T;?*azQY^7FMDLB z^V`uj{Pourv7Z*UImo*IxYVkW8+h=w-{TFJCQsZIap1r!X{Fguz23#Rd97gCR>dC^ zJUg-HfCyV&?JId5_8UcP#<Lu}Uh}m1F4(i<gem`-5H|;&JriHl7W;>Baqqlw^YKe( zPocKys@p$!JeT{zaN_38vI+6*lQI;U->S2GTdtAXo0LDL`DcGr?82*89|^7Mc``@9 zZmVa*G2NyX(Sv{fzFK$3t6SpE+e!W_mhw3rSK{3;scfZX;#ZRkjypUPCQOZa^5x){ zRcg-NtLOfRF?<>5v0KGcqGoYp-;{L+r>s_Hx8;yuxsp-UsqZjL)di1Z=l*;-zSPL) z%x)=%_Kj~eZ-)r2DqH`|RnawQNA8_Z9&i0;u&r8Ue(#>YO5az`06wQD&-ePvo&A@+ zLZOMNkK?#gX17dFkds~5IZyj(S`*~|Ute(i6vxdQG9Tw@x|vOAkza1A@TrL9fz`SK z>8;K=n`-CI3>27Vq4IG{_?(FgE=y~uY0kZUxv{Hi{j~YDGxy(;u=jE;IhZ)1>PhId zX`Y74X8!rk?gq1!b2k|zRUG4Z<G)s;Podyu{I&V}V&{tR-pt{jH78=5hxNw$*SaT! zSpSq{kdLZ=Z=~$1^7U8$T8|L<8S65Ojwv%)9(>X_LsYksK{E04gyrjHU%5xhpO*f- zb(7-*L62B9#n27mJ=Im0RvHR#d3W$(zt=RA_Kguox*T+lw|x=0+~QMIczIu@<K0&F zr|K$w#X-k5Y!l8qWZ!LD&sC<gCPF0a=BMZT**`ANl`B4d(Sx!0N^mz%UP1(O5C3z| z-_sIacx`(ABu^tLW2&RQadF_vo6;v9Pb%2)N-JSesGIVKvl{(E(|fc&Ufe07STtdq z1GgAc<GiX_843Rx%DMYbE%`J%LHf$(66J=>qXGiUxx%+vw`&~eIsVMrxn#ML@}E{W z&ttE`e!89HdlvUsOVehXTewQe%WLxuF6l@-@7-VK$bCb~{c~UJ&*L)RRxIwjDLIe% zq|B4g{xKb47LBL3>r}~Q<r#`h?OD!c^*7TwH#P0l#*@rfs;-<_amhygS<0W4Y$qlC z*k>&6&x$$VuCl4p?S+iS0}Tnw?<->^lX`aNmHh@?*X~?7$)o1jXXEdO`W$`*EH7e< zW8WVo%vfH}%{OKD!GMql7Z#j47-(+seBS(C$%*{$8-&WWFN@6J;!E*870O=hQS-cb zPK#~DqfXi2>J#<lUfeRGIn1|hLK$*ziP=9oF1KTeTw;gPlnH(F7W`-EwXk*xJ@lNt z`AS!D@A2Z=XU`kE7!v9q+HC*)>%u0{RG;Meeyko`Z#0j+d2ah}%H7@D6DDyyTPrFQ zo)&2~@tlRJgvN3WgNuJ3zn;~Vv|s^`xB~B%&l_imu^eIJcsoBzN@Hq7gLv9Ao3?K& zn|FOp{<7-gwx8bG5{G*9cP!s<LS>`+rOhcuF<aI#9tb{o{OhtKF`8*V!z~y-WUf8H zC7tkkg5^Tzw!@ZF`ur-7Uu!KCZtoE2xjoIfd7jy<j!K`mB0eIDw>)IC#4?`7ybU|~ z(w|M^hl<<cuckWO3JXepmd!Z$bMu6HyD#pY5<3!KpO5O(<jCFatoh2;_H*E7iO%`V zr{pymii%%)WKLtydBA(N=dt{?IRUbZ%L=cpRu<tp!zDaN?B$Qkk9l6j-fnx@cwA(L zlH=2P0v|8@4!Ou;zbmMcUFP$w*5vB8v~EVGCk?imX&FmOE85O5*h@`mG;)=Ts(pLp zEBmkD!+#c7oU4+`c{p==c4dMFi`<e6n=5;`o0xd2xHf(k)~<PS!tyxVteIND3zO&k zXYfi&ZU1%P$v0++Wjal+pBWCEl=~B4a+>w9Sf=}_{m;Aj&OefnKg9lZg)?9D3g%gX zTFWHwhTF2&TrjHrE%8`o-n}b-A4X`zC`x`m>n#27d-0Cq69?>j^<J`c$@%o{I4(ao z%E3p%Q14XCcE`K^Yi%PBP4Hytk-4H1d48rOS9Ra~sjLm9KZ|x8l>O}N;L)HV!@yp6 zZT|NOi{@w?^IsY+cc(h|YHXjlwg0{2OPw7e?iFzLS(~qQ-+8#nKx9s?%{043i`i`d zGZ?5=G0wj>CFSIS)9MPdx*1a^tkk+B_`d&HrvFEte2EuX3TNjTcv@P%bb7EsdBx%> z+#c_ru1Ij^yW47CcgcM2&abQ1yz%4ITT@WGB2u*d^r=2enTrX!izQ{6`ww5fa^+#u zint}|`=b`Um%Ah2`0Z8Z?VAmZZq~sL(Y+IzBGUV8d$kgH8s}wgyH|52SNq`eYfX*{ z^ViG%+ZwJb?z|_xXoth&Ii(VBGCZXs0{;c@IsCDnwQiER4#%B}=S#I@6jBeKJibgT z#VBDX--4bEN9~lFTm#n5TeAJG#EO}dj8xTMSp6$mF!!`|&4aJ!odc6nqRRS`?zKFB zYO?f(Vu?)pvu|=+L%A3~6~FIu-)b}EaYfpHhLXphmnV6<Ox(Jw`SOKJY(2(@7PLv| z&fk63!7^ag@r)PzS)qc<tv4K7x<F^iy{MKLmRGgLzCx=eJnYxKG_fH;ruRU-R<{0Z zp-rMa%$IFuO}dzJ;^>X$hQE6?=f4(jVtjd-rOs6H)YtQ}yPm(w2s_X4;DS+5guoiN zJO4sftL|ytbK~@5TYt9M6D)04hECmNWuEvpI6<Xb>6TI9#5upYs@_X4^>gC+{b*rW z`4puG1qJ?FZPRoXH1WO93e!}4IB_DQM3{BEO!NDoce3G=Ux(hAz~<)oXby*@t=*K{ zY~8Mp4y|ck=JB}a!og6tYr6A}gr>zD5sWT;z5DWQQLX24^X6?;ncO4S<M?*srMbIV zQog)?A5g3;z;|i+yyqt0l05i+?>sIer4w$bk+(afFla%}=C=oIghOvOO)}gf{JGds zuv2nkxAFsq`njxXK27%Ong@0JD$cJr`M~GRz<Az2t99n$prb{r52!D-E>`D1_-)C7 zDO31936*;pHec?0G-t`A6>e3tI^LbQw^-r(a<POp2fKP6Gp}{v@cY2-S7gr>;M3=` z-%zIb&kFW4N3svHudhEg!TR*%rm{Kd*CxbNub#l-p7s54<BuzE=k5+||9!VL^v=V% zR?7TQ)kR(N3uO4G@88S89hcx_bVKr7VNlA4=dCu+7FGIv;y4(?pB1Wj;Bz$dg_30^ zwocP;vD;RC$SOFq<U{SN-C`5>+!1Wtl6+~Vw7^+uPj&U?28TrtPQQ55;=#u6=y>ah z(i6VtmsX$nu_HAg%CK>Mu-{LPgGqK%IOcjQYDt&xU#mG`S;XJVcjjMO^jTullcyoc zvM<H8%-5ei?ze?ksZj07&)`bCACH!`HlCjN*=SDJf+dqUr7NGv?O48MjnBou7uq?h zCsaLa{4}kRMcKmoe&gFPyVBmfRm)$8NI5LBD>t;TyQ-78p=_S@^Gj2=@&(=A+!}sr z#e<^4^IJVqr1u5STEw-A>FCtxW$)TwdP`57e(aH>%w;LpN3SCE4C?3F*1dCQD7?0L zyV1ir&u;`jQoUWT7*KP=M&8S}XUC;9vyc<H_vR$6sa#sNSW!|&=0ojkGwbfQphLdx zWp=BBI715-uXWV9V6<tq_MC0?UKNwMx7V3{j@(yyZ^47-E5EGVb8!3bQ`Y|(zP{iK z`mv)oWLIP3dFNos#|djzh%3)Y?>ZSiExF^$+`W5S?QJIUaTmC%9Y2+&z4FD~tbEh5 z#yO8y9#?)HsdZ4g`Epmlo7vms{1xWE_ObL0IM{b)n#B7H!BbcRL<G0@SwFwF`Br+M zbp8uViC38?E%mn*ZfNiec~YI$uyKKz_wS=z{63H8A6p*UF0=h%pSG6uwuE);?2|YS zESKImXT#5a2X>~V8=jgv@Sc#6wOqa?-axQt@{hW$^YYjjgJg^6@%pIiSxDM$c1kKV z*>;36Cb7@*SLhUvyECUZ+<8!Td}*rAz6S~E6OTqTy-i_Y{=W0XzZc7nOkA*$RqKRj zTwU<}`=)soH$y`-EuPeWeXS>bX8(+{Prp5X_h`-1`_m8EN$<aK>6yIdN}1HYs|xe> zd}UjEXp$jMa5nR?ciN_Tf&9~j7?z}4KDlzf$Vcl{@wozjujxv?jNC#s?>y}fRQ$<W z?Bp^@?G5wg{U*{=mAMN0>ZN#29M`e>JiqFc&x#4Y(kpcCJ9jngykWMjyyS8Jxivc{ z{!1#}eZ5a>W;(+vJCS<MHIjP*MS5PXI_1b$CD$xE@6yily4n4Xx0X-yJta8hL6Pm| z&=`TE{-J-11Ctl2B*i`W)V}chs!JPeKlyr`x!s=f_4WBnt9J5v9JHHvb&+dtl7X1| zVRK7c##INWzyJHF(suKE|CHOG8XNrc=0~kM+b8l^a_u5#xm4A@i<7Fk91gR_{5jow z_`(&<rlnqQzn@iJ$>oy3*gU87*R!o2XD4%p_Psb5R6Wm?CuGv|)dlzeX06{__V@BU z2HS$#O#eC3T%H#1uZxzs7~MKM>G6i6CIa3G1#DUSwHOPx{1Tp3HO2DpJ$~PtXElZV zRJe~7?(cFsy<^dw7519!JKkmO7T%#WA-3|s8{3TZ35t%#GJM*4nU!WT6{#GHD6@RW zzt;K;gFug`tld^G=cyhkdC|Q6uV-c3DHiv<m480V$8AQ6%*3{re&=Txba5LTO`U18 zf#2uxdjBI=9(gRW4rx2Stk8oyF;ben{g~C|?+JR(B$>B{uydX`X1Vl%0{c>iXx>(v zPltQ{Ggyf$hADq;JTLck{*I|SHyEwcw{jcXD?GlxEJI#%0l&pDR>kDqe21AYUs|Di z&hhri=d+5=9BfqJshanN*>&%Yv>OW<9#qXQ_P=X(@SGbTd;YmqI=fFRS}M=ET)yt( zo=Mg{A4ArdbjKwNbsb(__h?QG^MpIk_b(02OiokuWWMnH^I0=byP)WaZ$knL?idz$ z@-RMI65g}%oWr@Ql2r){xa_{U`Cpq8UGzS9f>r-(2XXV~`!CIqpB7Vc+-_@RieBq+ z$IG%WosETCPfDEg)6!Ea(cWIv+)&^t`_k(e=k0(_i|>CmPhVJ8sc!ji%7v3&lQ?AR z=UsWUV0--JUsoKrF&Lj;tM}=~@hWM?!Y#@Bug&scU@F&^v)i)V+S~Hmvag5c75)lo zSg!DK{-LQ7GQVa8a3(N3ny{+xw)=u*GlZYdpEZx$FpamV`unN}A1^bMpY?0j;;@;2 zX}*EjBHhi;)L&)&%2CL-;X2=2VD+K$Sk{FDrzdDdGo8Eod-ukdM@<hkbs5k5vSL|W z2=hFP)u|l1x0Y^Dh-my-#kbX_;IVbZ*X64kKg)T($~wSfxFgyA)Y21d3PA!ZULR!d z5e#N=2)9tI{1v?IK|cHX$Nm9k^O|k5D!V*-T#ip{{PAsx;Dd#Ee*|o^POV^Ga6b99 z=RtpCn<qW|YdvNuewy>4V1Im8-qnNBmFFI0rL`xhSmgBlXZUqiX@mci^;s;g8$61n z^NXsUT$<s*YCP@xo7yaA^_T|spRaw{B~mT^ZMiJ$>~WYS_@vCQ;4+yfTvHM~Z2O~% z=9uwEt?r)Eoza`Z@N@>_dB>nttDYXX-9P=c&%GVW>n;DRa^4uN=$VtgK0hYpPNtx@ zBG>)hI^uJ#G}+!@Xo^U`&U|my@rs}O@_vZwb1ZXVw&Cg9b5+f-%<bInXcfMB`=g3o zb{}NW04)p4)!_UtA^+GvcFBZ0^Zj4@u;~Q0=1*7oZtJSxC;7>Ld(~{_1<&s-xwF$P z@BWMhzM|ilmKdIpwOBS|89Ph)qqVIuc{ZQ@BBnOpy2&!<Kf~9RF)>S(rQHl3+rC^a zJ&lJk`R&W_KP~p<Dqk#@MmVbE+1gEsiCL<!X7+}qY!xTZxoSVq`(|H0r~h?WO_Ole zyt%vnX4=fL<i0fBK;h2e_p*1=7V~+YtH`QyZ+|@Rrio6HnR4N|3fYbBhA9i1H59(T ze(mSjGxfWDs|zzv0-x2Tcejq#)_c_)@Sk!^;(7UoN7H%d@v&F67aj{&^naE4@W<WD zvRTng1v|bU_o~{wBB#V+Md(SJp6A<_`b1VSU#Zt}ux4hMe17>-&(G;kAL!XjbsGK1 zYq;|Gsift%?+e&hZFqidi3?BsyuJ2Z8K?BBQXb1~O-bpQ_VRL9f?Mde-qY{@GhAPi zbS`v8!Jf%?e$Sd`yK(;d_+xWea@IJ$zBYkljYt6}`<%;H-TpI7VQ#4YvRtC+p<CwB z!Zs6zFABBqclcjgqhV7nYaF_vs_b>wTn^j+3|tHwcFKs}(K^+t@K$2g$rFt33Z*MA zOzgcg+3P`s$LH^rOv^*gyB?P<4!xdXsXS{-qt~{JTOPG4$Zwe=`1A4=fg)B*4=#}s z(L^s9;j;#cT94-y2d%I!VE@k$wM0Sq`d&@ujjtVenKf#wL%Jtu+;CU_vUqB8^PvmO zQ#;=t|M@z2^<$kq$z5xwoyaM?*Kj1Iae^;H9N&_ss{%wm&k0qnGoLr_tJa)P{Bd92 zdAlB1^5t#N+jrGnt5npPE$y~y83q{@&&r$>6IXmAq-#&!->h9H7@jQ?(sTN5>fp0e z$Ku<{tDGlSOlZFHpW*AOP`h@U0JU~j<@Hfh-RzQ&n%nkz?P)xk(IM(CA-gKk*Y&{T ztr1+-Tss;L9KUR;b;6%*`swptfs)K@>lA!8eK0)hFSEB_G&K0yk`U#kfkq}1H~$EE zm2GOovHHZ-LW5a4d|MS>2R3Ow_#D?J`zle%OJmVqiJ7e;fl&;Bt|C;#qDG8sebhz1 zeOYm9$LmEG?roJkmgSXPc((GgTSw!5tHwst#7^0)o$JbaABE?&+gwp8oE$cL;-6PS zi}xxgZ7%RNm?k4N^Y~Jyn`e1AW>&6{G|D<%eAdNr&4CqvYEGa3aW#`&B7ePT>A~Zo z%skI$wV4Fl^ax&Bm}=|qwdFzW;{b~j$GxUS&etp6!KbyG$>7Fu(IqDuJ{V}RIW`}4 zkbG?4pOtOQKjG?T3CR=3szQX+qMtr%P`=;X^W^(i5y|~6U%sxGTX3A=LHSYlD^H}@ zCZ?ZxKCej2-d<h3@nuN2MqW{&FVFGik_$GyoXU8o?&E(3%N0MA*VVq-SNrQyp30MN z3pj5ue@^*){Haf<O!J8)_x|mz4$^*-Q0TyGIMw2nmRXp*Ci}gm>>{&go;?2HQcjrG zo*Kp*SJLd~7`$<p_u9T&cfMDe=!{AG{$}{3inTvc`0`}Vuj*iy=yqm{mr=bEssE;& zUGTg|*oUWI-L_)Yv->&~Dq*)>=XIZ0l3if@=?NEW^8D%)<;<AJ*H^4~vL(&d{&3d| zsXIc^@)gCtVlC+^pU-OdJmZ~zX6**qJzpPxTs7%t&73*k?Pji9_&_09R%@}7QFLD6 zWs!C4dO7`WGTYTJn})?&ENV?)kUYm%H|KiP#pjco`?5B>%lTcLP~?C8PT(1K*}~<_ z5(kdkTou1O{oP}hqPnTKw<vsk8?vN9UHja<#lJ!sk8GQ}wJvZ{adXJM!}gk|lUFJ) zE&Fu4_g#3;mtUchYeQ!k@Nn9j)z4TR#N1gObTHO4etB?L$8DR!UCSJp3%{Pfw(I$p zlZPJ2Us~;(*`~7ojK!~K-IGrhtx=DkGs*Gz)4<u&!sYFmC$^sWlfAGyi807R)XUp| zu~e>kso{-NkxwVoJZ2G|Q&kmQcX?yk28DjV8LQhaxt<i_DOFl9={AE9TSTEFORmMM zxyLHME{M(53YOb*g*Wfi^KI4qSuMw2e>P{nx012q{G=GIeSUR$S4_@u<sO>)r18Yj z)J>b#pW^eBpI((_Hs{M(>&7+Py%n`up36LM^b=l_>NThJ{NBWAmUnk6FE=S=HLqEH zp-YeL#SUiWGWPw?{i|EUB$byHzR6}>a$NCTE&o#exk@|A3YM(1l(dlf==UIZ%^?HH z31<Edh5hH|Y<eeg_x{JD32U$PAC`H}BKM!cYv!`Ue~wSmU@rddXZECKPE*w^e?!h& z2JG7{*8~?eZaaC-s%&Yb!F|mKpB<#uMD*;u?Y-0M$-KYXhRa{^Gt_NW*m=x4eP4A@ z(#Fz;93l4Y>z_MMlH}%HEN@;TwQO@A*JJspikT7bPJTK6pCPK{;G)!k;{M(9wlIho zNG4RvWi6aAe`;UhkKn`G9=$5=|2!+@mDegu9!Kpv!TX$c-oCsoYyGSvax;P~zb^gE z|3Plg#M@omI{K`8Bl`Agxl6=rJed0Y>C1kftF~t<AJ3WppCMMuPGEJ<JNdN?_LZO7 zB<6hm{%s}W<DVg_Cyy_)N}7>!KF;vZ-^@GQK8qEvBusvNsqMj}n<rPj)s~+T9Oksd z(DGQ-WgqU8w*gBTPMownYZ=i~em*{H;j<m*ESCyT{n>H;+6wOFTm@Uzo|Y*0xu$hW znwu3F9`%%YUX^2^A~U~g8f(uA27C1d-|eFcnJ2z(s@ocw62v@tg8f_z4{l}Q1C|Qq zA{T_-C>HJAH7T>ac>4;qSt-GD8umZ*oUqDMakj0yPq4OQ&uU5O%Da<~Uu#uX5U5-r z!}KR`0_V@2$NVx>sxA2^*uD1(y}Moe_OD-;Ee>ekTNcVtbEMeyz&uq>`Ex~u2j2$% zT;q4CF8IfzMU~|m$zP7Ts91hk!0oUw_Vu|pGF@)R`26E$h)QiTzb9e0Zwu3bkFOp0 zbZ*AT|J$m(^O(iIEv4*v#xGxGWNa6F{r*A#lODgyqZy9u%=;PmqslIEGCXJhyeyZ; zkI#PjV+W2S$0yxol$4ud`RTmMyST#pa$DZ6V!MBS&IM74zRKtK8pNC1;})-2a)5{9 zs|;W9TVM4;ttHHTZdD;2`wMzB-}ij>p24ayXBu-^R;cfRcM``xEl^82|I;+l><u5| zgMX#G4M$pXZWwOuD-K@Oa+q)LG2@`ddCkmQy%zfWJPGnC)AAK~y2$$99<I&_$#a<B zUfQx}gGb3@+wd#DuIO|<UdO-G@Y9rU$rf4_FYmt&FbjVc*if78eDZjl?JKkHg2P4o zu5cYSaFk%qczJ%U#Hl~a=RCjtd9|xU{tgbgtHP|7#SMG<tkN0<4Dv+#sz2FJWfbXc zm?Kv&H9vDg&E6eLOLLE`zxzgmX`aDvE8(N|X_q(5-(`PtW!bc!{%6>Iu1*#c5q)R* z?c0i+GNUIwhF{K0u6dboOk`gB+T2|$bKboSmFBB@7iuXJq^oSW*jfJ;r+s|Y!~`3| z(0j)%kH&<&c*FL1-dwE&0hy_Hzdl-c;+Do5f#=Ubhb5<IE9UMuU$8PzWL`*h=!yk8 z##bgrc)1o$737ln8hmSQLaT)3`Io_KcduT}c%jLCYfN^<-PxxsSe_IHElD;B3|DA- z#b!M3KSR`<R2A)prGB+Lm*=D?Gw-yuzA$m}%$T`P=1=LHdXZCRv*InbPphXTPd*>j z<;rK&#h|>*a&=v_)svKo2UgrNJHfpC)4CNiP8^%b-Fy1bdYP|h!xKMEVDo$~s~vb{ z^;G3T_BkbMzTGL_S+5)|ls<7!@#SBaWg~Wc`?5NBj?5=s<HCpSUc6kYku%ohHs9}Z zcUM@QYx(bef~{|6W!90r^D-Z*{$}>(?0G)HFN0b7q|O@7W0q`-J4HA2SlIr)cG&SC zchA=YuYJ327@q2@`ega5izChYfE=4@_lzHpo9cEf-}JtN?a6Zs+0{OW0_Hzd`Fv|} z1l#je$%FD!nKVqe6~iY_aF=`^=*cH|&-CSuu+0uT4L2M+7yfb8nWg27=c*nx7`J$A zvODDFaKQF_&E-=YU6cIY{dgJHVexyhO!1XVyPE3ax*bF!Z>(VLkdL{ddcgTuylr*z z%Wxhqqv+*ZgC;PZE?C~!wd6qOve>6K+w?ELbUwW$p=aVx{;FcvXFhN4I!Jt5;bo~> z+<0#VyRq1<P3h{-WOpn$aiArq@5ibis-ZidFZ1PD+9_n_@zPOu^2|+cm)tL0wmETC zvTRzJt(As+d{pP+gyrh&>oOUO4{c+3Zo+GHaO!r@Nni6Mgg+N7-tqeDs+)CEp4@yl zUj{Mpy}hXtz$x6;=l=IvG&8%hNPCs=&a&V0pL?iCay)ojIPLho<6BMiJZ}`SGpnnA zT)x1>i|?r_r$Xs}2C4LSn?L<I`+81Y$;S2i(&;>w=l!hHCMJ7Kek#fQ!@tVusoc>M z><oQZ4lI}>H&w&dfGPLwwI#QA79T7A=No!#V)W@=_cKPUmLDQks!aa*Xc<@Ilr}x~ z6|ep7*vw3^bv$r>;YzlUkRGOwZOIo>J_ee&`W=)1n;dpaGo?+nXVnAQ10QE)8?)Xp z@OLtHWR<uY<ivQqZp)GW(}fJ7lQZ<r@mtukFOA}GdvI8HUhPW7N1kTA3u=~hT@)4C z`PpXEsXt{wmA|g0xA303Yc)A4Aveg8S*GOV(trcKt2or>%zx?V7OXwV=HREtPvsWP zN-8@o`cwGx*$h#)Jf}tTif@FbhuT*!UtuD2F;qa~h5MJY-cnNzhAQ+tnD^lOa)Et6 zM2>mNb43@(8vA-oGHubgJtw4yq5Vqv@v6<r#x6WLj3?v{R9(qi*pX_<{O8$x1Hm@^ z*3iE<&da{i5n{O8pS7X<-QD?FJ;wc0<fm_!eQCxdnx?F-zWhQ+j#%1_C7V_}sgjx? z-p{x**@MX~vYlnl^Gg$EDc{&>`OrN+D#_}Nr7EYb;XK>39!KR>JreIt4EPq@x4Sk| zjiW#7P3j4StD&k4a*^e-952J<40l_8a*tp6WyO*Lk$m-6yqRJKH<GNo{yd*kn`yS~ z@&rb?JC~<6NGQ)qN#Fn2H>kxR?Zz24_n11<6>QuIoAVrRl%7?Sy*bZB(cdx1T_$J$ z?l{L|nO(c5E@fHa+<&Y=nd?<u$c-nD=e1N{sc<;1!_9Xf<f*jfS@#X;`?8|1OuH%f zxJe@KdC$e|y1UEerYg3cKl5^{wanKQ9X)gA%{XrI&ZAxLvBat8_xrOlrwML<dgt|J z%cH(edvg4kekXVNp5vdsWlG$PMGq7wh#c0}DW3CuepZh-OX4ZUYfEK%S6Rf>TRDmM zPnl}!*>JY~{Yn+NFCAwj8|4ly|Gj$q4}Od9%j_c7`H4CnJg)NlVu4~vX|KrKH%6W> zyQZ0*d&I`{Nh5&&^q<(H`e&u4Di{2^SQwEQIIYO)>yqdHA{W%hd|N4E{8oK`ppVlf z%aETO76;ycU4F)Jw}V^q_jbQ5vmUEA%H=PAU0KDD#POtbMc<>NH=W*FhqE`o_j_Ra zXqwTQ0EWfPvyu%`db=9#Jh$EZs$RqGwnWptDc4RFG1$j#IhnEk{5|INvKpZp2CGDC z9bbQ4`DgjWJ^Oc+y|aJl#c(d#BCvtoi&N8hjtt}bd0VB|sH~r6aClwytSu)broFKB zwU{8ecw(UfbB6YHTfVGGQret6mW2oFB$5^WiFBOf-sW!0AaT?uq_buxyT!@lULE~9 zed}LUarufCa__TC@~=OBZBb^J*}b!$%_VKKoR-LW3sskiTv||boZ0rQVlh)*s*;)v z-;$3W{hJ&f79Y2dkD8!y%fLeJ#<JY_*>lYJY<Yu{ecW<-+PUg?xa+>3RVldP#$(l8 z@*h{oC$vURKa+Y){L)g3GP?-nzmsoGP8QfKZ(wJ%m*c&^1heEZHp`c@*6(;4{`<JR zSJ~6aoiQ5hD@7H2W;TD%`j_V)lf0J6i7}|i`0}M0XBcYNPFj+yec$$#(UHEEs^7n_ zs(7npGO&F9a@5FESx{1dXS+;au|LnnbDS(wWok8N*qmB0C4LY4%7qIRpY*P}sht1R zH<ZUAc*60uW;UBe(i#1odnSHeK4WqsmuKiniwBpq4tu|ya?Fz9LBH3;E32m}<XR}p zedSO%(xh}EdZDte|5Ojf?Fq>;^??p=GzCBJXTQ{YCOnft?kexyqq`4^6xO^mo@aP( z36E&|*=G#4hSz4PPbvElBj+GDx7cgR3Y{fyU-`$?zG7i?liXyRc|t@X`Ij8~wOR5S zj{^5sL@y8aWtkW9_1jyIw}uW!*qjRIP5JanG?n-FzJ^~H6)k$WcK<obAokurRk^|N zbyre@`zdp+Pqvv#lTSOWDL>`NZt_LSr9lw1Q9wIEcJ0-w+Ds*j&|7td7vz@Bl9+VN ze@_<M@eRt^rykzi@u1L|HRVw6I=feW?RRFmlyJ?INW3=7?mc^fy5;hs9NVid2^(a- zz0+(?a|qM!tB^eZ*t=OlcgM8za#OxD&dyZzV4mQnvE!0be<AN@qo%5WQ_mR$MC+qw zCo1fCT3Z~bdCTYwSLuP*KQ9MKOK&gGoV)h2UDKjFT?O)G_r0df$^Fle^EU9x<oEue zzMEJjY~I;TDVCi0)bXdAv7d|Q@{s(g5kiG;eLr<N_6V@E%=5L3m3VuQhuv;|<4UGg zQ?<&=R6-gb*=x^TEL(WiF7Q|Y-~6?1D|Uy@epbZrc)@})2@b=Quk33T61Q8Nl-(VC z`%IV9?t{k*&p-4%KjTQc+>b|%0&i84WvleREM-u*xjoNn<#J8#`Sx1Hx7XRanl?>i z^|Y=y`MSS~J@E%i?|%lZd0)AHc7NaCSG4>_NYC*qr{~I&63aIA_HTYN(bhlt>jF#1 z?V5e=uN9xm+DozBJ)-&C<Z9ThQ%7>*>*KwWS)|#|I6Rp5W5JS655`R#cVB6)QHc@m z-TOIkjkmO*z)xuvxi1eS1*XYXZ}=C&+;MZJlIkL@mwiP>j!Oapx!0e5{dL6?t_77p zLh@F>e(xdrm^HTh$)6?v8Ok>-XmY)Ci6t*`Q|20@Rb5YZmj)QvTP6OC5j?D~*d9|A z^qzhG?#aFiGAn-gp5D^`@XHDj0lUOK(;mnfz7G;&&^z9EZ<1?G?!UUJ35N4|MEf{j z?VI0gWc2Qt?QZ|1s^sgY3YkLsYPP!z`)8y)ejRA+wOD%dG0O#QCYyVnUTC}%sLs5c zrP%j~&u-&}yA?|l&OB2s`{}-%ZAQo31GkEp1bZH@f9zYdl*!;k+*H#eJ6$}hR-R|> zT5r<$<lYVDm&YIbDR2CL;e63z%by)@{WAV+z01uR+kWRi!`CY=JN<W*^DQWqk1{m) z&k(VA-lIJq)Ks)~XirOQ>^rtF>`=pVc8lX*S29|D|GH#ioc~m}PnPPkT2YMe#EhSA zkK5m>o$vl>+Z&a1-50f*XNrniJ}}r_InJVa&*nhw&tGYMflHXHc52;F-XAs3Y)6Xl zt_1T_{P9Pw7JOVF7jf(Ps>x?PPV>x;PIR*^@HbVBs61G#yuetF?Y{p~^Jx;Ywf4tm ztx>jKtRiX?^xofQ@|j7c$@fKA+dCx`e=;gFFnWGwsyzAn%d&(OKR0mN?YaEtNPlKf z<mMAf4UUS3%r1rQ7QD4aJ1--pc<&+>*~61(H6(7T?mM=Gr@Srs)A}qncj4XBGDY0w z6%Fcge)oG#4V@u$_Ckr=R=x{)a%m5eB}Fx~_e{6h^wEKVv*8@W<E}97PkbvZ@BVT5 zeOZY$nZw;{vW7@c|MYeKUlwqNUcBcqVP)8hCq?_C+SCf1jxDeHYVqLr<)D;1ffE+@ zl{MbJa;0B;?<z@|^)>>QiynBGwQJojuP$9tuCkfCqBE${dKXW*s6x;gm6kjXyQB(} zlM=_u8>i(p{3>6O!@h`3Tbg-?@QL4NwDf1BK1g`AhxhQal@V?+m43lCP5%B%^|jiV z)h_p~vXuMMFx7o#zj{VaadVUZUYFd67>y}!ZeC~a%Vdnb9scgu#GcFl8OpkXC-^&G zo0VYF+Y=hoIIr-ssA3%7!Q)lgsiDE|#a?Bm1?m*)_%^KJJj>hAvwOmNmU+k8dQ;+e z$*d1O$7fp{e6s1ya^__m&rL2ZY-5*rG~Yllx4-PE#0`t**OunId+@v~?}Gc3)BhQ+ z|H<;v=yg_m+uoNEB-^6+ap#nI27H=)A61+T%+poUB}E=h7uxo5TBs$n#gcp@cb$)w z@o!6&<{NxdN!+a|)O+%D`lZD;*+NzuO?=t3{Kl1&h5@faJyMVR)otZk<LYI8YWar6 zb83!EOq6Imt)6!vNTN~exw`FM%@f_H*3|``x83{l)CqIuiN_^PW~*+T_*7#1(|MVv zI}Wev$(Km7zNExcb0%WmSF`&w%hew2pZ?h0pyQa+s<$!A3#|TTiru_<`eD2*!(0Em zQf<1Qg)htgo2s-X)m-CVM8Zmm<2y}t8>6$0Cx3T%(C8_;>0D}hy>9Tk=L_?$TFsrf z#<xv*$8xQ<&Z&K(eua1bYU!~iEAO9fa;fvgPf3PDvnIIjn9vpS^}q|wr^*xgu3BH7 z%D${_s@{jtfNd)8yJ`-EHkT|iWoXa&&8LykXEu4O=kdp1SDx{1RhheZ!-ESKJ41sU zcRHT>#kHvM(B{=f`CNuQUsrs3-s)%ElfL}AX>vyJHr-Y3$`=A&YwvsDEw{%1^8%m7 z0?B!qp1po|R(+iBl$jiKM!C0$KR-Wedd4T82o>X$OMfq{lt1MzX=`uAVx(!5BJIFY zu=7RTR^@${-kh*2yuf=PBvrXjU-Qa@=$_BBCYj!xD8Tv3mSJhpgtqhvtVw0-9atrc zj!!7C;#*LC+0A^Xo5gu`iQ|uhIA#huZL2*WWVh9Gis{Va1LtM^lfBmV32r`D{N5vk z(;|QR%kz)@6Fl$Cu>EV#wYp*9{c7tu@0JD%Na`GxEt^;DJyme(E%Cx9rGGLvPTYC( zQ=q%-=AZ+PC&Cyv+_fzZ-e?)%_$1Vo;fV6?WSNEA8T_=8lGV=~47_Z)gk@fJ>*4uR zo-nXmeqYF!XkBzk@O$;&EQ6c6Jr*wv3hJc<a%Zb@$<&<THxXTElAffPaOvxv#aF5? zPv%*8P$K#D*)Zv3mpO$`Ha_2Yey#cGCtI>7953^axo~4<g~ul0#_jp+CcCGkM*7>H zT$QlIOKECsm|umY%HOOK*6ZIB{_L51r!cak%A+#)fK2j6xvgq{7e7&8{Zss9g*VR= z9_ITZj}?Ly(hkJUko@y%U6;?62)8A|*XOZiDwl@b-tqN)==E~Rb5+l#7p8u?Z=v32 z{Ws&nqFbIEmUq~*SQgl`m)$e6c(jUlCwJf6!YkERx)@ZQnQHx=gZ$c>&g{_JU%gy? zt4Z;s`Ab7nb)43-6n3?&e$RDDRHKTq&u$CnEVoh@*R+G`?;bp<o>ja%?*U`qzeOwE z&PeQw{`gKS_x7e&%jNE}GU;pjY{~l1P+Bh2x9`xb(>n#*?RLHmEjYJubK_h8?1r5Q z1>#%1UDaalc(dIrzFWI*%cX-$ViM#IEx5lUWmeISH0c8l_T4L2@+GAez2DEA@00#@ zrQo-z>eBA(qn2FKl%D;ReHpu{(aAX*CAkdGvWk5>;rH}bxl9wkLhuwGqkV1{KRv#F zZ)Htu^B3jiraE~Gy$wGdE>-#RT|`vq(sZA9EX=R$rz(qu@vQFoW*Vk>P{vqr4)34I z?}LpS1XYX7=0!_BzQ8pt&}!qvZBLl0<ybXtospEzl>Muvd$G77w&TG(%VnG@8B=AM zrpj0FaV}Igi|6U@*DN@Y+E@2|ufe7?Pp3amdW3H+2ogxoyQaK;t>@GOX)Kywzb;Q) zbTM|FvNG%5s@h`5(tqLy@Aj1ay6SIqmoII?rp5!z`>)McR<^kPZ%zL$>nlblXVx4L zF|he_dQP&)?{?LxvsWJYSsfZW*{1f`%F_k6X9!p-?|&F{L&)!T`x!rf$=5$F-(ln_ zQdE8NT=H>qfTps|pS8Db_r7w~YSHoDT6lb`hp;tUn#OF-@9!Od9_F~S;Ga&3eQzkA zx52CZzeIhdpKrS&GgbEQt4fCrEhio_oT~~s-8fCFypLaoe`#P_yusX6j+WmZt<h98 zPfs%UDV`H}%EYhDHGCFZ>?`B*^@rx|FHLzB!BpED_I2{<gZ8C+HH2heN!jg<w!bvD zVVlaWyPPLpSOqyT#&~fHRQ?Ll;;K1pX{wNT;fe5TzXLZD4Vy%&8|Pd$_+7M|VNSZp z*#mtQOZ%T4(k__!hnLx7wuLpn-_G~`Jv`I${iFIB{bio7wb4}B)O(oybr;)&*6lmP z9`-x<tMENq%5yy1gI%Wi?fZar*KRAu81?Xc6IGfP^G<quol|3<k$72h`@On=z3kVP z1Q>6bzt+5rjjM6@GEFz5pRr4i*&h75<Ocs|r?+=*8qS}RtPsp*)!3#!$zS4E&}xx` zmJf<FA2!dwS9|Zq*QIAz=4ek1-Z4MV@a?SDq6%h~ZwvShdi3u;wtNuWufwq907Gip z^Et`v3zjSBe)s<oxR*(8>E4|pS3k|xuw>u3gy|h)Wy0c(=f5uRy>ag0X31Z_ySlTs zIje;fuqS$L-0*uZ!!fPOhM9JWO`hy?o{MTYzwR##SY5FC@0|v%!aW+LiSPJ>y&feu zN-|rjP2DbVFY@$yFPFsa+y~DU`kmT%;6dZBiv<qrwOMrx3eR7gl2RnieEr@$KEI2f zp3j+;Q)roRYQBcOW!l?UtcqQ`n>i)gas>T@yi;%IZ*{rt)7tp_=amzVKeyE!DShw2 z=l=N20SR^Hmv^qLRu;3~#9V$(YiG~%g2eeteL7SMr`_5&<${pVNr8;M3x4<f{A>$@ zR-3!#PjzFoo9b&Wa>IdV$)DptLssnAelX$5oE|=gFAEz>&dPX+Oe#LdZfY@QV&mm~ zwc7Rz&dkW+|J+q{@_>5JCD~p@3zd#1srT$YzGB~+p?W2{;chGUmEYl3n_47Xgm@my z9`%~^Kuh!FIcb?k%bYh}(djyUTvGDUl(ULIMgGifv;H+X!n5GUft<2uOZr~qsP>s% zE7G`8KCwgcj(=5)M{K8ZW*lGj?<;~a4WbdB|GZ2o{=T{QPD)i+uC$ArUBdIHE7WR? zHk&c3q+E{9ymM3KdC!-lPEVWiCZ7KMz3}qAC0C6sWy=#ePd-)%Q4wXY54`-JVZEo? zBL}xz5}#NdE<ILA=RW3dnz1j*=}FJ0>f&27ULD*vd9UHip3r3N=h+WEZH-SZsgx~h zer7jyi>KP1eGw9}cCIh{Z7x+-zNqI~7c04ayMzSurFoMV+!Aj)=NdU<x4Gg^ug1&Q zO^*JIFpy+d{?BmTKeK#tALE~w$)EPD(faee>E`Pn!8vUwl+=^+UM-i~s->Oq?pW2= z1Is;b3wp%#%_;tQsb*>Mk4pkqS#~_pnzx|O{Xaw09ESWUqR%hSzcxK-j!epb1}m;F z2RPW5G8j&IcXy(qOwGRey_%D4CiiE>IXrIsvVvLmXoNtu6vswQ#$$(!_`iHzFmdzK zQ0c12UF%kzI@9vD_~ki`3C(?m+xyq=W%k(Sndh9G?^O}Q6nT7o)PhTF@p~IA>~=2u zIj7|A_Ib4$vfVFEYHEJpH{}@vli7!TTf@9NW%T&|^n5&KyK=2@zV)uhYpr><-RRGH zENS!4_LX>C?;O4_SEn@Ge_PnqbB;~qx%%y%+Dt}+6A~Sdm0A9oFnMq-ws<hVDrtI| z#$tt{x+x!(Ha)EhXsE2wly!XY;MwBOQ}iS^N*oXLWzhWT$NAdXZ4;B>`5$2oKIb|L zj<c_|^_Db${w!`znXRka?j=8G<h}*n2;in7;8s*W)jPpUUcThxIgyfQQ%*VM+88FD zb#I<OrSN8Zl^g5F{VV=zIc!L=?JM;EY}RkU^LS3E>SqbI`rYU4zN$r-Gb=Ud>a=zq zu=r|!ILPfs?iwRM|EHm{Gx|J^Ulw`b60=f4u+P%OjP>uswhMQwOV8TIXFN#HPg|vW z&ZkI7)Q?g2KZ8_})=KXEk~Z_>SFU`<^qaTQ&s^+<ZKmYLD~Wq~g9BFCCGS?3WViek ze1nJgXTtHd+KnYESXymuvqCvH^H{#BTs3>f_miep&t<+XdJyTrdBCR3Zfce(1KU5n z=i8r#ik^^5GoIKrHATzl&R<RbDf?0;P7yiv%|haAB*XLv?*a;r%*&c}#_!6xE3yu@ z{(GbPGCDc_Gw5I5f8~N*(4n>yaeM2vwk&U)<o{*W#_iMi4o_p5zrc2tPb*`{oQZRf zFHMtK+IwO_|4TpDTjk|>{!5+KEp@B?l=)I?b1t*Q``|Nyr753gmzgsLvMPE_o_uX` z#VyNUR}wpwfB4nyT*dgiOsqbNktJP{eXsI1kKCO{S^g|FFx$#f)T=n1WzK^qK?2TG z?@ny&|FB%^KLdj;TRm4bpAjpQ)WXnySzgO<zO!=#=hWG4*~zk6h(kueYF1^dyUILI z1%AgH7g%_u8O$c{tYwel+IeVOaZh6yo1fvQ$(N=y9KTcO%(SpSd8*%juL=bw!-JN8 zT%$PHPtV)G)WU@$oh8xlPWb{3KBs2ogo)?3+7~J$H(tIs=VHN;{|th%wXFKnLQkGl zNZ%gsmD$jB;GtWQ?JAcdj=Yv%Aqm2tKRJGV>!%pL;N+Ku8+5jD%eMD>RT;ctI3E*Y zp>-sEsa6x?TMuqlZ{gcLU%xD@E9JBPz9KwZcy~{q{jaYU<-Zs3v3oI0&N%1GWMcDJ zMeeJFO-i4u4~M-$kh>3Pr7EM8l60}&-8&aH^7JnMc+_`JAHS^Kmc9PPjjjjQCE6Q2 z5Pd%H%X@8`!oON2pH4`~^hZ@IC#-nks@>?}bl^de@uhi*H+CqOFMN46n!}xa#gec{ zj=+<)yDu}%pWO1Z;;ilB+kL<Hvc}z>e<aw;ql0Ol=W*G(EsUO_$K0ywrtG)0RF_=+ zRzPOu;|qOT=6UEIw|rHr!NjO+#$5I?s9i=|s_Njx%NZi8^QS2^@L4?Hf31P{aoL+W zRs7F`R!E+BzE|n68bi*<JHgY8mOM$8Kh>blZu4AyuZ6+6izjUUYU%6qHvSBm?eCMo zpSOikLuDRYp+95Y%U4>gHglS+Lw27F^?2HN{Go%;s+B5oQ!S)J>ZXQ9d^k|@b>%_! zr+M~LzKw~|DvukizprdeDw3|N_?5I;<N5l>L8~TlSW3RhV%W9z&a4gV4)=UrrNPWN z|Ka18v*x-T?s+b9nd#Ry%bbMj?<=RQEB+Z))!@I^tG=w#l4-tyl-H5(kGEy+u=lx| zaHJ<~ne*RQmJO2`7VubDN-WTjxch~vse*ZV74s8@N|VcsujZTE+E29&pA*ElyYr9c zfse;!Uv@5X4RX6RF}#2JR`<z`?_UP5PTbtn@Bg16mgPp#<oQu^gnOh~tMZPU8fdu{ z9u1n%84g-=xmlXeNNd$&Q48w|Q-_$isYdg?R?YkC>eoAK%ZZE)%hqTf7Y+0?d>y<# zj!$c{U@4#f+2B^$tVvg=s>@ux!&z2*yzZ;g`kY|VRjC#hq8T&!7(%+{Je#$6g{jf3 z9W%}Z&IwuYXwsCVU74rO9G%4c+JD8%$4jfGEG<d9uqDv7M9Ha3V;Q5XNC1^^P=cc5 zvg(j2hp+8?W^&@&tYofPv#vf5aoec5Y2H_E&9~tv9xY6anPk$_^Zf)n+d>_~@OgG$ zBOl$qw&0%5nrPcqN_Vru;sXP=OP&`IbMvq;IpppY#=hNDI&Cwf#J88BGtw2xSN5;3 zn{vs#bVahO+vBd5^|qF)`<8s{T6fAns#7f7=3{`F@x7(R4G|whBl}~nH1x4Qy|+M% zQ*ybnoX20^;B=V>a{^4-Jt9LJo;JP@y<7R!MAEOIDtWE@Glr^vrn=J%R>)d@Ra<y_ zQutPnn7+NgFQryhg(^t6F)%MxWAiii*ZrI}%W0B(7DIAT(SqmuO?X)C9|q+}Jl?s$ zeM?d0${dbno=1}{p3K{t;k={d+0;b2sS2S7Rk#Yc_zF+H@7kh#`?I{4@9G0Kvoagm zr#Z+xH+kC3{Oon`+hZ1wrdTCguG%5+M$7WgN{#^IAmi11i~F|n{gG+A6_NaL(F693 zU-PC4Pq6wIQrXJL|G9d8)N+-jo{4j=F!Y5q_RW93)+sRJ`R%2KOY8jiN3BUMoW@gl zU#&rHVgT>$&96h|iguhhss8fvwJE25N3uJgzqUxHh|`wci=p%Jo#M+cLvJw7_nOZ- zecoK(;8a%~e&-9%W+gZ(1TihIk6QDX;rX23SGTcDJ^o=<!=bysgsQH_aPf5c+cep| z4b2GA`;)@&pLNAhVBzfdQjL#U3U6PUd*JwlJgw+=8_qK?zqWcyR&(Lot~&<vW}JK2 z94dD+maED3^WO|+u@K(fHj~dQZw=4bBpc}=@wg}XMRwua+tLSE<PLW=9EwPoGw0)5 zzbD3XGdv{X*8bI0X$<EJFUVU`@@Mbr!rYTOOn>g44b4t<V`tg#*p=mEn6f3HJwy3r z=#x!u2@$pDD%MSX#J=9Ys&%o%t?DO*{xkS8-`tk`eSF3DvrgZZJT)s|Umx|7C6LKn z^MGuYS_|XUcNx!^Xa6=#<#CXB8)&-f&(Z06)xW}Bztyb@XI__OoPVNBQf}Us7`}?z zS{l|@J{YmbT&|gBq5NZ4t#<C(3;C)=(YLQ(n)U7R6UKd^FBo2iEMYV3-1u1_b9Ri( zdVl|@YuRyiIgb_yq;@=czRY&j&W7`!Rb+S)cRic1-7?R;FuaA$-KL1$tL5PKoaWw} ze^y#DGENK;SC`w8SE7E3;rH{e3)h~OW8-}7Yryo=amTNDH@+-ssGsG3@4<yhxdCfD zZ(sOs_iXW}^L~FbxE15(R6Se6Y4fg9Vx`aOIptqh^+@hczSo`<(KmysL7zP=a5v-h zy$aJO_HA{If0}yx`cAtke;=|vs`}61#js~x+0KJD$#!is&UyM2PknylYU+fd!ritn zj|EOTVK^(3QESu5HlMEw!k3m<d^sD&7kly?+nvJKUsiHYZ0uRT<KNaYrZnXroA&-# zF4*>by(qWQ1aS-IIkWuDpYr~F)yb&r;rN)PY$2y|4}VP673uDTGFh#lf>p&m-@dKP zDU<W_d;0v|+})Y%qCB~s4#yrg-<v1Np*`pG>w7DWc6!PlXSY17_le!XFhGMrZf?d2 zd$V^8&u#avT4!`<^1Qj#-<Hp@IQ-aFYooNkq})!^6#Y}2uf1nX>r4!l*O0Y-zJ06d z>|%la<=gi<#5N1}@6uqm*Lc};$!FrbKU0r;rF}mT&LFq*>oVaD&wHL*+P2E21uTqR z^`GHLRc+>HMvDUJ=jZC?a80nT=34iJf5wEv*RQp5f1kPW{;Zk<QDLEp$JtkYSt7K~ z`ik{;J`cG?tx3jx?aMDsHxTRdvp8@*%6HGN5U(2tY#u!SxcYFiocQEBvnFWDPkAh> z8Bt_j_PncP!dq3x6LHP=?=1{kFu{1@^-FUPOleC#KW*`q4_Ch4TcW9aooUrZAx-X{ z6!~>pcd~cPtF(FYbqVW_MU$D!7;O2gwj|#w*OYk2ztmZ%QOekUhF_84r77Fkr_Z0h z&VQ|Qs*2C5zUVm{Z1}y*bJX{_I;rxWc=A<+|F!R(?m2xN4=!nJINA|=dP~XK@EN^F zC!~h-757MWM!IwPKY#68^2Ff9-PaE4mE5V@(?yP^);yVK`6o+ACG3d+<NJFP`Ohuh zc-~aE(a=Km{?3<v3V$E8I)0T2O}Fmz&+<LT&Qmw@(R2ghWR>QI;vbCf{kT}2WDJtR zCm;1&=f`la(Dg_sQ^Ot}nUIRGCv$Hs>olCoQ*d0R`frw|%r3LTpP7#@{CZZgxAbtT zyQsK*{U?cMOVSUhe0%E=xPepNeE;W_6W0V>Skb`q_3O$%^UMqxCLdKvnA~SCwL@5a znfuRY8)jQA6kN&1$G{@^`qFyW95*%(?V~zokDOLjKAu#uHbR-9dGZgQ>#R{{joq0x z-Oej|xI=+!^V4;2{QRl~k6+-r*2Zk3I$a_C^2+7iIe(56?D=H5W^u=EOKok5wYgIc z1n=L!*DW`lcf*2nw%J)3Gv-x)JuVt@%t7)&U%Tncz^Ui$a?bx2e#_8j`{UV4&%B$Z zftR+0xl1>%WGQ|dx-P`?nfD~g_S1bczpwY=IJkLEsj^1Be$}E25BnZoo^@xMxNGPE z{r=gr7K9j0RzJ14>x!FYuY;CR#d{x*69Ego)4!}`+_P%|v(00h$FF@nZmj&-_9lIv zMp~<B&-zn)p09i#^x(~{<&rjkHBarHFz557*{44C%xXK(BfzP(llQo7W^080l(Q4& zKNorUd!PHgw}I~!-sMl3{PnD&iLI01RE6i;?AL0GDll1|w|J+KAf3O^!giyNr;Odr z<bXY&r03^pF7tMA)4iE0dHmCgNTc#x1w#hrKWBZ8yw#c0IRD&)vroO{LMEIBEe{Mg z=!m-IsyZe8-l~(52fnP1-f&al$?r?=f-0ZP&(mz2bn(>Uir7037(;KE`!>k0%T7F; zemZ!5&6OgKo~1LrwlhpHzSLk;@Z`Ns^Rc?AJR5&@m3>_swypcegblCw3j2#g=P5PF z6jTNKa0$6KNX(gFz-qd9YHY}YILqhuy^*OCJdFRuaLFlgGL$So!)h#c_J;M861%M& z$0gq1THD%gT{dw?y2-&K5iBY5ed@Lpa~+Ymb0$RWjyp@q%CsboQh7rQ%P&h*{$48l zvRGk7+MoSvgCyFGN)mQFXDP}uS|e}seEr6iHrorgS}3zjK5*3S$h6d#&FA>#TN!Mu z#Y@$>mOuTz(#`YkJpZ+UdAI!vUk9<pR6Y3q-a+h~=ef$4M~zISofNe0JehoL)#jGp zkDIEP=hSA}+^Jd8-0#J(M^%gI@w`geOwZ5Cr`LsCl~^)i@)QOBM`wLDd+q#rf}!?- zg$d_0ZtL_j2V?3iRun93dZ)bO_}3MG-oD;3=Q~T^R+-6qhn6JFe{|lfOwweNnaAt- zQR%b76$|^T`odDULW}sTT9;0|8CWc3p0~Ka%9JVJL_1wV_q@o0cL8rK?UpYM`)tO$ z*w#8kS3%+3`70L-^z(0-G0*Cq8N089r#iVO)b{uyIn7g-jxeWqPM-MM^~mXThFVwm zPw6TN`V7BA{0)nC1n>CvMziPk!;}{lmj9-7sP`7CeP_`B&Tn!^Nm6iu&ll#U#%0QP zL>Q|3wk&gy$PM1CEPFP{!FbMQ;f5WLSDsaqww^6vYj`E(Ujnzri}M$%YBL|K2yi^l ztnll1C}WJu)BdTSa}_?{3GrF5QIIDuXPQj^GOYtsj5qa9&wOFc6&52D%*DSx*mHrV z5d+`DhI@B4rOz^kY<pn4b9K*(;8O{O^V;`coBhOipFr`oNf)?uqOJQJWcU9qW!Bo~ z+|ztTYS)UTWzEm{cAsbY9m3P&_I~#{yRAzcdZ((~>c7~hd8Tal%7bq&e_gEGye02( zf3l~v&g`it?leDJ8_c+jHI#RUc^$ufFPnvtv!Ro{pg%{4+1IRq8A*=P)8|M@Gd84{ zd0KpX?Hdr0X6No4v{C2jujiMR$VD}s|CB7j5W*Nc{V4~-Eqg;>Ew;O-IAo2(JlVgm zsrt{r@57aCG>Jjt?r{^wsGL=jcb>Yllpo*9C$79+`KjdF;5EX@8VfJq>FP0>&Mdw0 zpi1riM8}ydT?=Ge#Ev@@|Bxz~vuT~d?kcWotwnZM0(Y;j7qtsLtUqIc*~KRQ&#Rtk zDlI(t)5zg?lxSVz?g_S8CwwNvOk(%p`zk4!#2;YfYTZAjLwkY;Yy0-Z0L{Z%D^4c& zX@znAXV6(vz@ImznQMmY9rurNS8a}LQCTCh$vCI*xTuh);N<U-hV!`1+3mf`t`+Zi zy7^rFvBg}BpYA`iYnnBoQ%qS?UtVXy<jIX&>a8+!XXG>==e++)bJcJEX$w9X&Qj)= zX*HgEs>oj@l;Khr*LH>NlJ7JlSQvJv%i7jUwW&_BFx&k;>B#T(TRHwEi~ZyKQ@)mA zqw=oR<|#6l!zJ!iO0a)k^?qx={1MCLOa<bWvRaFnJDgi*<OQF)9QxGQg(Ka;!1GP! z>~BVF68{;hFHJecEoPzqd-c%(u5(FKQV+d*@OYk<xkgILM6P50yz}<`SoW?n!hD*F z@&Z#~?ir`HbjzteZ=O@%>MX3LtX`;`J%^`kX=+gOgu@GEU#Z1xQ)YPZ^{v<K<^_D5 zvR?hqJsR{kPV{6h_y5ljDm``68IHH}wjAfV*V0$qm&K;X=$d$5{o0}jK9{165+lEB zKFEFj<I=R4Hs^_Vu9i-4^GV#7{Q7mU_NQ_^&u>eZC)&l{cyNhX?a`#v2FbHr9;*Hd z|E8=<mIyi`95&&d=`@WecO33HF!aB6w&aRnx{}}LJn{Nct&L&HZ^LG^v6a?w^YpdN z+1-Cfy+Gc4|F!7_50^6TW>sHTo59Od*fF)tq(;EV@%&!31N{d4v)u9xzA!I;9QeF& zVuP0WisOO7df!{;G`3n7Sk14p=n{Wi7<m8E#7xGt-y3@r<*Rr7?&{HW;+a(0@cmug zqB(3=_}*S#erfhbpO#gPvlyy`K50$h(zmp=n<{DOcJA#?(eq48Q-fxQ)&*4Y%@6i| zX0*EHSVZzXhXrAh5`6{^htq$wn&>2J6gd7d_MV`8<FIubCv(rGBMvf)HZn8Y?tP(A zDXA?ITg}zxs(+X-<b#%vO|*2ugbgQ^w_lqj=y{`M^7qd3L75wroxE~w%q_nx>Cd`- ztfBVK)7|pNmZs)El88x~DfLLTw?S*>_t&pI82z5#5m#mBv8rR6yZtP~%4ZYiFwHMD zyfsO+JzIUcnxMPN*9Bn=?jZ;5wkl>uxp|!6Vk@eipViqBsx38P@%E_XO{sz>ZtOSO zV6*Xy$&J&hvEr-_Ur#Qx)@l%8+&zEx{te5Hbe&h(Q?ygkhS|qbqhUvR+>R&w$0q9b z-;&wwvD-slk6*r5W$ouR8zy+IU@biOeOci-tBLoPNq%aQYhKIJbu)Oz4DEutDTj{i z7CQXwb>EkX!qQ$5sqqWGtXRY+cvD<KX3hncp8bao7yJvAo+EmDj{b)(;ga2*c9G|u zugfi(@Tc`eg41{VGXX434&E#B<{zl)a#PM@HCcB4-iGH*6;J+VI!+L(xOI4c6#E$i zo(<dwlRb`3OLtFjnv)W=Wurb%L3Ki~+2*;o3tvw@xj;`SHz|}c-g(aRmp;-H5+CPy zPu%@`$GZ&6oKKvxh7Oa`PNv@xDbUdAb*MPBSt$HRJKNOczE25}{~Ql0UkMK95uK8H z;7OUu#ot@By4W61Vr5V{v#y7`P3tiCg`TR*vtk!EKhG{a@N!l`%Snw+v)0s;$v3WK zolCl_s62PUU)v1E-{y)5hf|W7=lRvH+Oz6E!>&7ToQf=8`diAB+&z}r7-gFODDcYU za~e!;xhGuO%ijH1w(cl1%Oo~Sn-E?#QAufS#Y5@8eg#kP+_L1upPMHWDwr?LG8Ucb zCjH}M&lmQ46Yns7{&VAbUzWn5j9H=5k$!j2-mIHq(&+Z&q)(B<`!J7h6*m}8gsI8= zma4h*VU6WuhO5D5%F<J&<js$-Viumt-2e2;0?YO%6V`AB-<u_Wc2a1alb-vv$=ct; z<%23$NT&q-c{sh|m6g=GBv0X|JsTK$KF{0V%5(JKjh*=cSq9I~*xz~KztqF$HOs_h zS0;Q~ekG();B%Rl%c&!B-rr1~h9`v=oVWb4;<l2~hLcaljy>#oXSd~9rP+!H8t?D? z&AhYh{QryR9F)_h7t7wQ)iO=quPW(0@451)mE9UVj0xelo4+job3}d$@1M!{_H266 ze9EZi^ks|lSv{-QJyVx>@ZhqC!W(t&>+3~T3V9lqzb`+hp%6ZaY1LD&$1<N!eqYva zT$nbo;LaQ7<&V8y{VV9Up4q5a{Ao`4@_CD|trQpH<G9BsQ61VctAN4xfH}*9gka9Z zsS+n2O=u0?I{yP(Cr{0ai`#D=xchX@yLZK}J$J?L5DjKmY<&K438M%*OY3{DH9HyW za_0RBX*f2qz?}D-Eqjzu0>}MxSxG&cDsz8!^=ExrePRLU46TXH^P@8I4R0sCFFeWe zAZejuQje?9_EW`^PdvXj&+9qY((QFq7_AeS{6zN}JDUY^9yWOWMoUSVV@*M{#qmNf z{u#eRQnt&~TQN-L^7~*I<oWxixXx0KCyke1W$j+QlH+;im)8^Ddl^bwubL<*c|O2b zLG?}m$2B+WewBpha?2*Vq*U&9IC%U_ffm07t93!)`K1y0_YTdTpkQxc`QXYOwyEKH zGgZE_^mI*KqP1lEsgnoTFRfPBV^n_q_f`<+?7X81-Mt6C%570lOEWUs@?1hPhHI*- z;=M2y<8_P&j%96BnLp<V<AE>BC+~PGQ)e2+z^m=DQd!8o_{yxA(m93;rDKHrw>t0t zy+iKja<(8wmXu2w?45ir^Go`prk~OO>`|`2H6-n%bl;nK?F(13T`o9gklg#R;qd2$ z3hF#<cNKWI^G<S)KXXy;D~s{_ldt?811b}k&iUE$nwR}a$yvy&bfizkt%v!%+tQx& zgyLrk7C8m=R%@2IrA{jQ^eu%o$l$<tlT{}cJf1k`QtEWc#XqMys#=#Xy(_73a`KlI z$tUl;U|L<SHqE?HuRuoMO_uZ95;ZTzJ90XVm!H{Rn!{%C%K!P-Rd1Ev|Ge0k*TScH zT3LRoc;QzYK}R!{;O}$Yr1#aXJlL6k?^qwx6PeF}o7V@FGhUl+I5kJ`neeCQ8@?}C z;<xjLoT-G}m(?me4jVq-o|VApcJ=sTx#KTA*09XCxFzzp-ipn3B4<#D>|Xw**6Qq; zudgi*;x_;A<YN$<vh}Wh$ABXjzF6~xBus3+zm{V~@gE&4u@_kixA(VOd|#?1oqy&4 zU)j8=Vo6VRR;Fkx=hjv6eOa0!IYCkKWxzC7#*RCVzxU1Wwe<d(x4Wrw{SJMV#vhlR zH{>~;+PE!E`Pr908h4+H{;WArq2(`fh(VE`{rYRa&^)shr{)z$DfTH!2wY_Swp>r7 z`Tngre$VgU`MRt!Iz>o+rgh)XWon&MyZ-Dg|N3poq0{_R`?%BRRf-&1!+6g_Zr&9J zMveCMFCB^|rGDJzBRHqQiutv3Uh3VRXESDS2^4N$zt?hyjQld|kk33NEjc`$yH%JN zU%vNPy_JE7)9?9Sr4wI1a8593DdM|RzO?X$YsQUS+vv60%5B`QjAtcSr({OIdn|Fh zK5FW%9Jft;A|>aevYey>7(dNfUwq$WP29uSmIe`K?i>FZzP|jIbF}TK!;JHOU)uaF zgOyor*^K8$Wj5?ScIi~(5`|=&M{|Gg*Ku!>k@@my<|O`;pDs`7o#)2L<81i;i^%cB zmYNoQp6b4<LQfZk)UCeq>z`?M88cf8>-q1SCpv__=-g<(`$~Y!5*GIjw=3g3r#zP} zejl`1@tDzp!v3ZFt@+l>$_=)w!W?GLWHY|5d~I`%rN{UEjxUc@2YIwMq~%PLd>tlJ z^RRHn$NMW+I62AW9-16@M#;88peS1A(Xu;7XD;|DdED~3-4#|z7MTa1gA`RB&S2VK z>VHr9+DZe3JD1*t|CHaSc_wC4d+h-}Hp8w8g=x1xO|hB${^e``h}+r|pKkubJ}WiL ziGP7eiiKvAMEOdd9L75#Z@)Zezc)ow!&@lkyX*^=#>Pp3A}n8??&US`3sO{+%NA~) zHN}u`&Ds8}fC-&kD-PIC7h!g?(2%U|yB}p2+MhGK&%U9cUaDxqs;D@}M@>6^N=%BL z;2#qpv&hL?jK{2R)$$cz&zd$TUVRkV{-OEcpI4#mbqoiU_s6g0YHhq#RCs*FpA6CV z<2w}YEHu9Ao_}smN?H!<<7*4^^-uE@tJw!>{)=gTp1XSY0`{MmGM03T-r-SaSO2uE zvPt5!fl3N1^F05ROWD~o*=;LCgd{3+ENngoCr)cn*eLO{aJT(sllyx-U)la#@s#6@ z&HK3y2i~|}Tk13;LF8xp2AfL~7ala9wEQZXW|qLx|Gg@G{malt<q;p)nHQ+5i+l)I z?D*NgmpNyOovPmQf)~a|t<PqP9Nw|wyz-U5nX?;X1m{!-crX}W@XR=I%p~!1!qlS% z1|ia)BId|dh;pWK8Qd{f2>Q8O*z#u)zx}nwMF%;U6W*Pa`1b2^%bF$PG0iWum^FUi zE_?U7t7w~L;QZu((>nQSol`p`?dDv5QgR}WQ(02>)ykS}WexoDy;?i&i7N<HUlP_` z(mvtzmaeMp=Pc#TWxoBos;K;PQK;p?XUmG#oH|ty{pWM=DX-MIrzSlz+|p<9d&@h6 zz!^>cDkZ;!19aAIZ)4tOIQi>xos~+`<qqcMGHJ_>PFj8J;!nRfv3?H6*zC6I6lt=S z{k=H#i^}gSOd<VG^O~D#*>{?VHa|67C!%Rv@vBQG#9K1sDzog<s^<&Nda3k=Y|Nih zKTm7vo+V1&yY)_=u(>>^Gdz=lKPyMF&`XHVgS{_vmGk1&JdYMeI={^e(fkcs2@@9S zI74>N<2;MwYZWu1K64%4(Lc5Dtk=?+;gyGkC-%P%mA#t6Fn{X4_Y0P<+V)M0gME8c zxTf&x?W!Rgk~e(&lU1U#IN^cD(O}*!l{tnxp3UPv{+X{j`E~FaqtEA<n;1T|2UO2r ztD|kw@-A-Ahw4yQy~W8rtTrJB_?WkewoANrJuo-ceB*J={`C(%Cmo#`@#OQY_Oh6_ z$1d2#^ko&CZrt4;U!}*e<D`(CIS+HsXRlR_Y<z}y%9qrhY4c-pE1d6hN$gb0pF5?@ zTNUIA%!DTtPdxwH>q&m%9GS1n7*B0v?CRn2yt*`C(z<J5ya(TYU0K8wnzVMu2mYm| zG4E6ocpj_o_58j>C3Snr7x^fzPW!S0PyH%v3WJy?RGV3@6m+vJQaQhzC5TmBw~uov zi#GFV##;??Rt09CFJHembDLW3jq?k>EEjM*liat%<kRYDKR4Yiunu5qVG-K0O8A-2 z#{A14mbxA*V32=4tLUp%!OB+|JDBuO$^QDXe8O_pUwuvUBrFd|%3Tp)JXdMEGKNKm z|ICe;UwoP?cL@X*pDX@xWlg94v<Fi%cG{H6eQ9}Tukrl)^*fhkTa#Pe*sV7oU#1Z= zaq_i^;<|J4&MMw*yH)o2eEq404Ig$qEN3XHd^z7M=t#rbR+h4*u3U2Ntn3aPPxtz7 zRiDP3SbZTR(AexM1Ml5dD<_8A(uHqB=a?}Y-feEEefgi^_{Ki|wc0%!Qq;dE^yteP z`Z2f*wLUKVxo>~ey7OBb^Ni~C*G42P5I7aHUW?sp+5x`1XE$HoZr^L065>C7&bK9D z#S<KYDwhQH9OY-Ne6%@-)BNeNbE|J$>DFntWaqLter;jG8^+-IK9{tW-FNyG821MU zD~Ch~71dUUxPJ1m?W>n+w&c3g^VP0x)_uj(6AvD9x0%)Ka#AJ0@$UV-4zhO79eoS6 zG(+-tpS<fKIeS_F|8}n((_Fla#e*jqpVQiqRwf%U=jtYLTe}24|NKLX1UIdF7Q07= z>!N|yj>O4x@}9HJSm#!BLwTX8qDs#;VY|Iqy0iPQtu!_ayfMc-YR1VebIMm`EiN`Q zz7gaR^I>mot=7(tj7xnl-Z?e2IuzaAR4vt;TKK(R@?}Ur_s-dj{r*v+1$-9@=R7vq z*^*f~GsjX!Aj@s)9B+;TcTc=OnyS3XkcXS?dHEMpWn=A!`+myn+3yZvz3`tw&;N`& z!?)#Ib~jCX^8BNz$Mhb7pX~PKzb@(AH{-bZE`#Zr!EsruXEV2K&b3LOGjD3R!Q9tM zDbE!fAAeddDf2F8e()C&M(t#-AJUyqs<{%~@^>9bzqaV^yv2pzmi=6_pr+Maz%H+T zDuds1K3P7=>b@(TnvtOgS;|kGx9wQ*q~hu+gVW0ktbV0UOl6<D*ZoNblhY^WJ@X$~ ze*eC}W68EZ34LsZq26u9+u!SphzTY?<$rT`<)_AiQ)XJrC0^O?+p=0~f=DUb<|C`t z_}z<0zBMQ1-qM&a$G2)T)}OWBw#@RKtM8mAn{!ho8F-o__hn1mthMIbKi5Nrt8r$7 ztkw7BXIPI;o^V|Hz@Jr44-y+sep&NS-898xcO|>>_7#f`M0_>~(NHO>`f}ELxB5J- zNoEq8>zubL+Z9Bwcv9@a%dkN2LcxNPe_Qmp=FWY!X?OawgxZaNUS7Ck_Lwo0$I&L8 zp|&cmL7nls)(y**;R^3w)&2^}IocOK!SMEm<?SlwvK1yXgqdVJ|LtFE!4R3`s@lI@ zCL~a3^~N@{FP5)tUmeIj#c-_hN$E<){|st(j|dgtUa)+D#PPf>SHq5ZJm`u^?5pQ; z@af`|sJU{Yz3}!0#=vEFz8=4}MtjPsCyD#dWoRm#>a(pp>o-$D*Jafbxw;qUO%2Km zBI{lpmtCPzZTIQa;=;JY*VbyNa=l|ne)e|$((vGOPi4NX+_1(|OQJv6>p`Rsn^pz8 zgvnF=rn3j%9xLqo8tI@DA-C67t5l=zg<`v<djF{f+*-%NWcpe@ANMNz&oIeo&c@#d z{!NW_mr$CL8YAQ(H)UPJ7Jg-BiIuSphm$RAlCLdLZL42+R+9DL3j?d~iyrtto2Iqo zjl|p6FEW?8IV@zWeEw%v_vy#Q+nnaHS4}VGnPgCLTqc;YXvg!F@BKUtr{*>PyjoOn zcE_CloGS|&FSLC<p1+nUV}{knpF19J^;1)AyMKLYQ1DdQzO2w7KEvj}8YwsCrrlY{ z!7lTBze#@J;ljyRLaK{o-Iuf9n=-M%c=A!_#8Y0q2XtT0U-33boXz)egP+II&>Ke> z7C)8!U8{L!-NMRS#;(UtMY9+GS!}X&#tOxq>`OyVPds=~ef?5<p4j<y?_+-by8MhU z=+M4O?(enLvx*GtUt7()|F^2SSo7!X{|syWbi^&5e6{zo?9}Dmp{{PfEHi@lcu#WI znv{Z_2~NNGp9gVDtb4}Nf2}V;jca%D9I2_HlK!#JB^4gO3^~lOMB|`xL&cxsAkG55 ziX6tD!9Luo1%_9CUw$0MoacXOfv34fPC;hq%+3RrCI>c&Yx%$Q=Q+Upe4k<H<_2T` zu)M;FFJA}UxTK@``n=s%vrET|WuC3nR58yz{Ap$2hXwD>di?axo>1g3yV5-2?d!<_ zKNtL2-B6nq`y^qG-2PVUNfBYO`>o^;e8_wyu)<Oy;cwP153je(?-S}ol^zI*Ov>0H zCZ4X6GEF9Z!5<9{hg*hS{w95nhpR5P%wfGddEWlVP6;NhGLx_0Hu)@8;QreGr1qyC z!R!AS*8B7JDCRVW7Dzv3ylnSXiFr#^)unfb<}PpcT6^fZg{|>h*8>yWce-0xJn1Ss z*R$MWsnCkURUwU=DlPvrNX_n_(y}bV@@1FJp0_MTma7>*vAx@>W~pwgvE!%LzDS0* zZ@r&Be|F5hYRl@Lgi9^zjSUOFEqe4+TT9HYforDoG?`yK{a$lioYQTy93@ZO;y9|X zk%PzhM1nv2pR5Dw@@gVg!B-iMRexJqvx$$DNn(xX<K}zIS<>%Z7A-zj_%?Wz;O#~S zt~G|A{_V~3X)wO=`N!o@Z}|y*dtbTrwAnptkUt?Ae`-pe&Ew`PArXb26CPi=ayuqj zdA=8eIOiO`<y*ZN&Kf$r>}y|Z>F4-u*$m;83SW<9p7MNExuTi5_4WH;1_#!{&;nKV z2CGNQdgd^`(&Ax0`5<kngzZP4Y2D1s7O%7%C%+HSWa+8ZN>!=8y38{{Mrvy1!Iy!0 zmETs1Onx6S!^Cev-&U*bGR2`+zO1~y?oDBMvC*MzY@A2^))j|}OEN8wn;OXU%If=S zhUT+@aTTk%{If18W$ai|vNC*aNZ9MwVa#$nR=XLw&MLa%QDnLN+J`h=q2OsV_%dHr zhc9=F5;z{{DtcYaA<$LSK_t+XfjZdn+sX;NYO`GpzOK{SY_cI`mRDlFSLbZGuLmu~ zCK|5zl%@3JMP{#>rA@eX+Qd%7mjOH3W~3Z9<v!)`Iw)JBFJXzymsMvamP@i3Whp(7 z(~34xN`3P9(~6mvD^I6<_EkwY<!uaDA7{C&I&@m<>(H4EYi={C#q<cy3E@9yaek}E z8-LTt8PEIbrn0r@F*C7-Of<?mEhBt3T*p87TH})7sm48@Z>{hYZk%ATwuwDBU`I?) z&St^I59Y^R<t*6oXuF)@#k#Fg(FG44GqamAq=>11T*~|D-Fc?9raMm@b-MP1NuYFj zfzoHjgMWOzb}DW@zSKeS7PHL!`lx~;K6WoX))hCNw;fpNop<Qln$JoLbSE(U)jagj zgSGODNyEMfHtEcLd2EG|_cL<-zOz4H)%nhF>N~3oY>WLErB}`?VCgA*RdvmAdf_*b zUc;nXkvf|TY#V1JPd@5$S>ffEHBYCWk8^kslB@Apo&EB!3#`wzPWycBwB9$>b$M`e z?-HKc%y~tRZ7#6>{j=%Gr{b<IPXqIW;-g`ieU}b=d9-@V(Y{&@rm)oW*A}RH{@l;i zv+-w9fo+x&w@m4+;^RvhJZ}3{N~$k-9eT4<`s0a5^LM07Fj)LqzE`iDX>mjK1s0w) z2R9$zYtZpw_fIXuSp__91#T4#{~4?bgU=PtuVP46l-CdR;W}J2r)F<fKs0;4%H;yK zy4V}9tO8hT_uZ{3do=5#nx|H!4CB!V4GH!<=Hj0rJ`qB9J^!p=66-IPy*DTM+JX$@ zc};7qa}_uDeC&^M`Xl6SyV37Kpg|M!#IvqXnI4usDSfow@R<1TtNfAD8Mmx!GZ`Hh z9(<51^UpNqw(P^>p-=v5duUH^koo#Y%kH=(ORx{m(r*5p?I)^3l62cGbmu%4T^GX2 z(wDWfM`pwMsG36?`!4isk~2PeeyLlc<hL(t+j}cdSctMu6Zw2X_NAF#u;#*p=PXy9 zmAHHGShd{DucDhSZdB+izBcn|?){0oRgz{+RC7KSl7EtU<BBESr(@<%FZ@@!>f^@a zGAYmhGpr5V<1V3n{O9|S8IrC>55xPea%(kjPrJk@Q~rIeS<6N}Y4znxoh}-vJZ?R1 z@p^vMx&$K^Rfpu$)%8&gP7Qw!TgWg+^L5LGHmc0q8oOA>qqAJV$i2$4;q<2)^Tb+P z1HT({TwiXw=tPmlE%(=fru!rW%1czrR{8Lp?Ks{z$vvv&i2Fvlt81Tb+Px~>w(xDh zjN2AL(aN?~)uC!^W#{<V9A5j}@J=nT=i0UUdcN{PlYP-V3F)`y9$2Kvz-JYr)!O#> z`)>JTTcXVT_y2KU@LWEs^Fp8Pj%BQ=jyoPa;g63>JG7X6a#)0*z+`6jU!}_o66}16 z?{CYH*Nl08B6ewkQS|j&z30wvpCfp#imRxtKYixs<n^+d_ca_sgo^I)*G;WCaN+og zP?fnWZ_RCCF0_1SFCWF@!^yhq>v=~vj?)FlcZv!niAJzm^A-OJdeXP2@zUgXb8jAX z-@ALxudw8u3W-fO73Te$vT$ZYh@||b1)-na?j)D5wJoSP7`t3Ps$44N>EnK`b0WWj zHa~B=`%_}YcRt1^S5~zvY*$)o)ZN*9etlG=szpc)W1oL;=$v`omlh;$f2PhfW2WV& zyNs>}|9z{qU6FSB=UhI+<6f(OpLzSF`1s{3m$WzMF)%S6{C1Q@EGD<-T>|@F`)X0H z{|rX`yWa-n1({7gzRW%<eQuB5<$2GyX)s+pDD!1$z=4{(zpuud2;KE~lX-EQc=_iA z+$>C|9G^UAnqqju@<C|+lx?4my07}r@by*dlj0M{D&PBXK0YbEo$-28<!VFAR33-N zJ<sQ#TA{&O&Uk!%)f5l$iSz2uM>)hKpFDWJCPe3E%@^kVKQ2Ei+|wgu{a3RqG~z+J z&7-LYdflEYhA?F&74I)l&a1H7%J+EAJdQ_`%x<2meChQfQ|doMwu8$Io5JAD`|l{P zUmtZ$C)!f_;Bm>9eP1h6+$?4H)*oB4DQ6Pb^S-&668yU=nP#vnXq@URzW;H#@QzZ+ z1&pU2Gd3J&zt*Uzeg5tXR%PwyPbJP*B?K*4`Et(X97a!D&+lh#ELb#D(ieVRCcJ&0 zVW9A5*&AF|@@o}z=Ph-3T7NFnctUk(;M^xGPuji;h;*nluxo3OlkQ!*alWIU#Gw^A z$vYn{JXba6_m?FpkzT9+9AB2f<a;BncFE($t{DtF6#g@`h6_!ItoU;L($t6?-5UiN zIh?bMeim8H`5hV>yC$5+w)pkemFMnje%9mq!cuD2G`rz2V~5?`$`v`cG^&JpmR7P` zep@SDd*(O)8LLm)rZIebedAhhYc2n=E8%m@RlZklXLqeU_w@MI%tMk+Z!Op*-yThJ zE|8G8<@iZ<`HgFL_?Cz!_}OcHUaef#`-1K6ZqH-I=hsFj&%G&M^W6T@=7&=lx5#|4 z_u8dWySzAE^t?#rjowr5ncm%P-qBMh@3kuTgnLZu?O%Vj9iO*Y>8y$_JeF<c-sj*b z?O=O;Y1NJFc{vxo^DgmAB=;mOp3Yd+!{_w-Z&sy>5c9l{x~Vcj$L{ZlpRK&(N%&e} zww{&Yndd$fU*WqSb#j))b~fe$(F=EE_b_h0w^5I&f2x~*fV=<kd+TQicB(NX9awIY zyw+*?yyD3RnAZ3`*4g{x`K8tQS_fym{m;NP?X>jgqSd!%895x9u!fKGW#E#ob-(%C zD(wGeRZbE4wDVZ?x21(QijGAvo$X(0uxOek!}H~~hJKk2hXk7gHZmBV*C}*8qFLlE zU|sS>lrb&lJMYV2G3Qp!CW~{G_EAkv&FmJkFFSj9H9HrVJ?!&%qh+Sje0y8%$~Qmd z)r#t;y78Z?{PRK~+k+|5s{g4+%G4*J2RKBY{Js)YQ2y4!Mkd7B;<-X?<$~Qpi-kDf zWd$nh$JsA+lFn4N{4TQQbWdeF`>j<PQp%s7=tcU)TFp-mw3JDaDSPi9dh5se;FDiP zJ{_;<<j^uc^wrd5OZdG5;&EnQZC|RSXe@PCDJs4;=WwBx-&Gsl`&X{$OEUBKt}>7| z;pm*}aLe-BiY1{bI&5ZNzOTG#u-6=vFjbzv6Ylq7$adSDxHzG_C!y*J-|Vs+ndfPa zFKS=DTDW~9o8fKc{g-B)eA*f@TUqA$wYdk9j~8r~-?A;zU!jQC<<yy{hCM|Ns~O$u zawc6BUKzA%Rq;IkIE@{m+;8OV8D?dhc)1-jV!rcjb+mNh&*JUNs()W`V^6&muK26? zyxf%-4#_#9H!5<j_#Bu&bH}gGK{LMBbR2A|3Sm<T%fGwwyJ>>-;gfr&#qd9}h(CO9 znZAKr?eWtu9KNqwvsV4oVXehI-&Q;>GdOupvNEB5Y3KxTG2g|ke(Y5?M|jq(Z?iw- zE*ju*rpsF(qC`|`b7ISk92q8ei)CzW5ByK~+sv8M?D6FJ(-ZPbgLEfvn6&4y(qd0; zkANqueqUg{aI}%7NXtA;`3hfQpqLgX`=@1_A0*4ndp1M3W=-?L^CpkZPu#+qQ1RvX z((ulRx9%3~JC^Xy6JH?vcSVA)a^57zX_g0B>s$Uav}*ik$aqk1m9(3|>#31J@wwuA zGx(<|g<3L9D84SY)yy#|XB(#tQ&qas6#I|q%kBNE`T{$;7oJpKzF>(?S@QOu??cqu z=imE#&+)m+r_5tc%O^0rscQalMR5Bm!TA|73ExFNZEQVcap*q-fBo8cO*5I4JEC*1 zntfs~{<{36qTq_ja>;h@53PFJ*l2NPZvTQ`!N;{Xy#1DZrB<ub>F7z7pR>;>oP1N1 z89KwuyiC;7QE{4q%&)Gp=XwE65<K&+v{-C%X|g!R9>A}@)@0J#-69XCXg!|5=3(pk zWvRS%-tC^>{~4?p(jK%VR$UU7wBL8)4j)&~=i4U7t-USeHSEjgPEre1&X~S@!}2pM zg{%8#x%}MteY0<B%d_;@bJbt|W}RRyK9>A)^0C@g2FxrjfgPVhBR>9^Rdc{Vxr3$m z(ByOc3bmR`FZ#W>JEOX5rneza(g9n~-wUd)q~~}YjmS$rX1TOLO8!i~3FF2JyRF<0 z9`+S1-)iSp^vrW=Isdy$d8|Ah<=V10zt~N=%(x`6?;KZ8<7@Bl6V#^#ex5V=TDt`I z*7Drf&Hcybh<4t&)BN4zdDlV{3#ErkruW&!6i<F1IPJ4a*hFuoK6by_muDm<z3xB0 z)y2pmz&p=2L&~M^?8YU@JH9X!25e5Lxg(#Iz3<Rbx3_y8U;8HfXV6}6DfugadA9CM zj}x+4I?LR?s_;3!?5~<Xcd4|@*M%PpJWhxR-HbW1M6vfi@8pAzMPBaN;6CmCp1+1( z$D5qqGA}m~`5E$ON8-f(*ADB9IS;s|6<$|o{;<MHqv*C(k;6*K6o%C`ulveAxEd*) z6?-Fk|FYcF%wCrcR+dd)Y#RTW%9ZsjV36BsYVGzwSua}s`G1DA8K<YKD`yulz73o4 zCVZx+Vt?T=&14k=9=9iN|Cy$_Br*NH&@5|pwJb8yJoiQ2_b(<_S{|8sikCAh|2{ma zu4(e~gSW&>J&oR0d@wt4`umi0QGs6PDaoym`*zxGjXBbBDxl<5mhMgE9>#miOBHYa zIb`{uzSr%}R2OyK`x|~;VlrU3<IFtYKPstmcR`^4hF4jk0Ur&DKOeipc>mtSS+0zc z+*QSnx}4k9_tk2Oa^$WSD?Z1*e&zC2k4z`jixt^wvVAaL&s8Or$*ytZ?$X>2kqvfJ z<vvJH@=U(KXD_w!^RAz3n4UMdv%d~#DYcRL{cXua<s~dD3~O%wK5W0%?To<cJn1Ti z+N^jriy2c7oDb5lzk9RsW`7ogbY;Pcg>%{O$`n*z$>KV3d#Pf_e}?eBc|VtQOt_@e zaU`MP=IbAq10D*Q|2}>H`p1PEWDY1E?lDkizcx?Kacb$gcaP?{RexR9(^6Me!oJt_ zfaB%9c~jVIf4r%EY0&#UCRwH@NOVU}O8?ZowYC{M7s+{T5~<%+RUMMvSG-;BZszg= zMv2EgAA{HZl$_Ew!Rni=p$FUQ4XObXcdyk+jh%6Pg7~UmmsEC#=QzBzku$1T8rIFC zFZqf$Vzyw<0)yM%`=9zwm}g*ozpHrqvAfN$XSvx$z3VYdJTBY5*SaUN$f07&vEIX) z?*mSB8C{&aTv>88N4b&W$+RbFGgY#V_B?;LLAy_b(ddl(%<KEJLT*3XQuao2PC`$h z@+8UI^Vb@@bJ(1c7kD!8z^_X?I8JY~N!QpT_{ZV*l~qf*H$L@{kh{V<#b=q5!DE&G z4877*Hrz2hX1CRxNzH%4iW8std0z$^9XTkR@sqFk{j1D3H?57Q^v?-S(Gu`lRhHZn zSRi-y;JsBVFMMa4`FjFK2VeDiFSe_`uZ;LDZ0mL`<$ZeWqe#%DFUmb!TaH|~#<yaT zE7z&2uaB=SW;BY7uQrdnvHY+kYjTjc+?9Tv6J=)>I@<6(Yb@%ulu4K$d~52$uEdQu zn&-TgwOcmJ@2ifV<;z)xMK=OC)EB&WDC#ejWQ{DcIQcrjF6F?4=6<gN|M}1Q=f9Vm zKi9B((PSO<=KjfZF69WRWX|}r)4E+@UY2IMQ18=XwMyIm3qdP&7(*4l94=j=uzsV+ z&W6hBsXrx|#3T<q?~lq%aC%a6_pIwV?~;XHkC|4i=H8mjIw3bc%J&45(Ft~$kLT*9 z94~M?`mokGaLdF~H!FD(-5L0nzjolMG_zX0bINvked)TbdJZi7d*|`zR9$gcSG4iz z{H7=MQ7Vy6k4$;oW9CiG6u9vvVw0zmk6b}jz`sDJzN6xn5-UQdPEV>?w`ZI6rF1<` zN$&Tz+S-;_ZZe#B`pdz`a$5vmPYq);4>Gq;%90H6>6Nm~*;eslLD_<d3ZHJIzrHou zd8f8jj>i<9V+-<_+w8V@DkdysyHomoMZ4A+kDpciOI@Y^y+5nD^S;IN2D_;$LV3Y+ zn0J)1_a6!T#4bH&-Va&hKu!OdvPaS-zMD$iJAC>-!`Jy$TMkS;?K$=C9_4h|qw1%X zb3?VNKKtHT>M_w%@}P46xrs+Mu_P2QzN-#BGOg{jQPb`zP0=jBE_t1P_OR{k^7)DH zJ>E2YeSH1W;<8VN3|u8`_J=9oTQMoAW?IEzl@)*5WIp;jw}+nlaz5UFsoP4E=u5Wy zf@PX2@=r}knd-aL^F@{p^UXean<tk=mKRUbT<7mlxk6^!C3f9gYgO3)Us`Z!l4$J4 z$xVfhNya;VHrogubG1m=cI~mOtBcCd>si8|lb6c}#|5XI<;k00&hYK^`D;s+)Y_k= z7GKUU4DvYRtTVf8y#t%&_XTdJl@_&TN*1wM*Jf%8UAPjF#IR_dh0K*1M(YBn8dP5r zv-Wi3vNEocN=pogN_*dW%Q(bT@SSLkNPpJJKkgIfeYxg)yn2^RVNY?8q)O1LClhb) z_><XYuq35j{Zhk*@5d+0Ph0Y-T<*}UgEQS8PT2eMw+CzJjPxJ=&R)B(iXKiem$kl> zqvNzY{F#xst>t5;xqtMko=az*%G<p4)Z1?oCT3+1@^r7Olr24@7}=n;_T{PX%Nn;9 zPX2MVtwK6WMQ6Eu&3}eo_wAC$9q;ueNXuPv-p$I~#2@T&K*;NXhOK*$mhTN6ncf{= zmNKR=XNgL@zc)GA!=d|IjD}p&cKdr;wVGWjy*z@JfiK)ejWs6p$K71Q^Yhk`L_asH zi$!aAVl*<DcG~M1_EcYq%+WGq(hsO#>T!c>lXl8ROSvhNG;S4DRRt+_dGWkqXtMep zlC?O|VQ+QUREOe*0+G5Y9jAUbS%$v<vTUX&S8{Ui(%{n)3iJFgO{^*~a#yM1k1|`# z5R!ND^}TsFCi%Eo+9a)d{8XwdtyEyyt1QjRZ;M(A53>Kf#ByY{GTY;o>=H-4&iEX2 zu=~%T@O|N?DCsTDn;E;l{%4RXpLT8`zp7tm*_Y=k7nT?&$hqfyUC2>()rj|S>np~E z(M4tlyynMkS#wdy(TDGTlsKF7h1#lsiGd1+3s3h+Z#XWhaX`zf`K|AisquFg>R5d~ z>J_5rC|_B`Vaw~S(Vcd3M}V`OTZO2Zn7NP(Q_Jtg+n@UAbbk%Jz5lV3o`|_q<@2Qq z@)AxxX*xGg#_rwEm1U6e?dj%MZkj&~*Uu0xE<bo+*}Gkdo67TcO4_n7W$@hDQyncS zH)U1PBR_M&uH@;KmNLHsR(SL9^aL<OiCTLq=i3JdDd%%fY)w9Cs`l_{qNk*NN&mGO z+&OmHkJ;ZnYEZG@iHvy@eDb)LOZmOmTP$r>TE6rR&0SvSaNg(R*QM4o)?J?b_S$3z zug%9i0{ZNEf>sM_O$SwnkLO&`@$)v9Zew5Z>+-pXR-*)s1Lu7%J!LwyiIsmlhyQw0 z@pHlF6$Bz$zB2VF9tb=kkyKSDvb&7+7NczDiblhkPq@~xU43kE^3Tf^_KnhWKJZs{ z7V%xOd_Ak8xBqPGsrrh?A4LvKGS~W-A$jm9_hr6)87d$AwDjD(=2QzG^;yE)ChzRP zf4caY&|;b7Ikg#o9~`!x#(UZ1&>7B?=PH&?kho?#{l45)29Moc8+zUT?KDy8c$g~j z^Z18v%GVZXeoE{-@Lb``a(0Gy%z1u{vM;3+U+p}ebNQ}WkLNKz@yjMhb<A@m;-1VZ ziQwuwtmRiOd}#tdhr?m>GuFY;@7Xh%p2$3#e_`q?_A2po9S4iYEQLN{QVx@N+<xd( zsNY(0$7|9J9$Ty6x`fcV4(GW#U%$#c6=iV7&GYM<+85khyAP%4{rL5KFT+e3rQRj; z4=t*=%j~Ki*mmMU@mnu(EyIu{MzQw|Z`|JY^_$6|ACga=Uuw<KjLB90w4^Ld`)Tpt zhb|4X`JWoT_>+8H#PD;$rAe<03`1|}c<z<m@ure(-ZIypsf^At4V7w(96VzFGn_U& zo-_Y>7}LoO1<Z0YR;^iNntVe2))Ivl7PG<tZ6S}Jop)y&i7{@zQhn*)6SL5k)(Z8d zVH_UGbGB7qS@N;*HZ$|&A6FL?s`O4cJtg6O)I^DQ_imnedEBdahFM5Ge@)=d**r53 z)qcABZ^|({)jLNMWAat@*?0W9JbU7&PphvymauDET)V%zFw|~ty;W#wp5P|_^<Nio z3NDE~t)zGP$E+|7t~cz7uj)H$wM=uG9PTZcc;Lz9O-!o=7)=;HE%>lg%UW*7SCg(& zPXvm)LPJlcs?W=O=JtCX1M}1a$DccJ_PO1kG4bHS#5=Fd6Xa%?Tr`=ueTLzdc^+>v zmkL+d78GekGoIBk+{Qd{`{fmOU!HkqG9F0!lRBfoZpwcKBNHxxygQZW*IJ(rh_Vb3 zzx!#<2iuP!)=V<8uXb}hURUhMyzr;PvxzZ>-l+cE>+#;lHBsW9rt!}Ur)88RPJi<F zl{CR!jM>A8f4N9sU&=lAGle_Kj`|s>s9xu)(p+=o!o=i^gn4nr$BJha9e;i2dEb^f zZ`+hA(kv5iR9`;!>~3=_OaEGyE%wrF@4BptC)F)l92z)1z<j;W_Z8l1%(=%cPRcx~ z3Ryepk=wDyml}n%Esp)sw42NR*tdR;8C&$1Ul$lkC&p}6Y1diaP#84*ru4Q;eg+I8 zA`^~<x-(d&9V?vE6>wyd(}ZfNVh^VUp$zku=YKY7nN$}%XP(AJ*N&@8wHg}2C)ECZ zW#P3c|J9MX$3HG(*RiWT{KZry&G(pV|M!Yl^>ej37u8Qmm+6n2qRqQ_=eM^3OInU? z+;Lj*r1HC2Q#^OH9ANkypwjLUrW$55&0?8hiR-N;Z<Teg?`7<n_~zE8;&Xl+-$gzg zSS|9q;qhyaMWqS1pB9LwTHdOBP<2VW=WXJKl3!ejkuK+ssB~^;=KWs#(Q%T4@h9_T z?j~j|ze6_XJke*|n^{%Uu3YZ(eZ?eq)_DOOd0l)AOCv8Ce>#4AUGdKlW5<8V9tTh7 z-7@Rpnq3&UW2a5|zo{`MIS&L*EWf{UCEJ6;3Hs+1J_i=XcwX}T@zwTkmhb(eyXAJ+ zd<^wIy>}+x<;ySq;~ZGNzU+VP5vIc_F)dYP`hlN&ZCyQDe}<lx`x+`;^suc=&Tik9 zHO^*yj>%U7B1=<x=2$A*dMssSYFf-}scthrYgP021!i9Q!7d3NE<R>+kF)%ek1AvO zwbQWu>kHde1rI*lX}nUh=39D=-kY4Ce%6h_46B%#Csp-(Nip4fdgmZ#Z%lLZi4$K} zUcB1oY26;fr)`^}tT@NgR#@io>!9Q6?B%Ci74#}wXK3_x%`;lOf3KxO;MNc!<It8f z_PrZl&eL+4xZNzG;V#EN`Hw3SA{~4bZ#VzF<@86u;;j!~@4s`_^S<m$40^Mi=S~pQ z;e<akU+sL|Bfpm8hwJTQ;w*B@@2%$TE56Y8@5@J}Z4v9wSsA?jQNCcQ(5ZdKGfuKg zM=y}u@`2&bjpy=nL-{()9b`S99`3W}nqgIX%=lOJ1#7;abJRSTS2C~5Dmd6L!`05a zyLrdt2KTB;^>qx#<LalXiRlzAF6Liq>A&77i^+SXQxzYt_Z}v><W}WAtE2@wK1#tm zXG~@8({Optyw33Jvb?xRPfMBludf_Z5_j-yPn<XJ+1z86f$VoBn15dB7GQsRAnm!y zxjjYfMYUN$Cni3evGLEVT?}_OzPpv8b0B?UUq*J(sfC*u-`TIzJgxR{OV5J~9F~?g zzdr`BWX(`9zbil2H27(9Pr`G%sVNV>K9+rzdiz_w&ct?0t*VdrO>K_qcF6_pmMMz9 zy-w?-&gy3(>T_g5b~h)iJXUdHrD!lSLyye7s^3@cl<kaJoUCJ(-uT)%F`D~+*Or6+ z{^#ZhOj>nL)V|y1(vFDL`;*??;QuhM@W*7&r+Nk!2Uag+U{>yTe)&3J0^<q$@=KFb zRYEkkl%6=Q@WnoAje*~lTWrRCi(m0(*kl#&m{2^=N`9?d^52`G1rE;{N>-#!nO=4& zcIUg=EVcV8)`1&bqco22?%T0!(~jIrD^K<0z5TMR+qJlPceV`Q-Iaw(6Q}Ws6d!lU zatnx9At7=8ap0DmQ-N+0ee<q*_GGgtZf`i{#`xt|h@6*O*TV0{1^fOp#CvT$t*kF; z@y9Umk;}s>^Lnp~9@Dz^`Mr53U$%M=%LdC6U*7+`Hfz_UkaZIL=kLu~<A36LzfXPC z63^bI<JrYe=S}gHNIUqD-+|Ad_O*LTVmIINX5Va&2*W&?FVBBo-f3jKea?jT=7UQu zEOf8%q^;`?S5H((U#2B2$;HiodS30z&qCqsPr?uLOg>j+H&sdO!Muj&ue}yDZ<)07 zt;Y?mkcO-V^VH3K8pU&_sPKGz9oXcdQWCeNS@)cUt)>~%d!8c86}O)$%$Xze(R)YR z%Le<YhPPyQhFi!wy!^80fzZk49@5zfAJ4D9Hn(|4&C=pI&t@$#(!3Kguld@X5W&yS zO+9;+*mRVNjOSUdOiha{R*RhJ?)RWR%I&eLAG=SmeAP~sKW7a8Gh7!<Oh{wVd{H>R zp!Q|x&2ZUWbAE?7c<#24u=T54s#R3h$1ic-WJc#KPXoS?jV~LI*}i<{&}CM0Q|9A^ zs|jtQN7~ES9dAvI=qv8C=U?l^6q=U2<zL#oO$M=dCRIp0msoY+!RJ#Omrpw^9(-Hc z-Ou`JV}Z{Z&Kzdn^whsE4;*K<+Zz8QaA&2;mtPkyTON3M-lr<yg7~DM{|pw2Pt}(@ zuzIPxzAEc$e;s0Tp?JrG{-~1NrZXbK?~IS8v8_6F=i$DvSGHO8wr6~n`RkcJ=_&F} z?&NMdQ#kR`lCIbW<4^AE*Q&8ix}$9O;-r>u)MrMX)hA^dBOOlMeqP5`bbP_HCBk;* z{JYO_EG?Y%DnKzj$M8AxwKbBV{ihZ%-(ImMb^1<A+Z~UV^4-z;pyf7k!z4Y6XG?|F zugg}I;nA=-A9MN7rQ*JZOF5ZRN2m0ET;92@`Np-(*{3__OL7@Gz7Jymd0e5Iuj=9% zW8aiBJ%?8wS6XuKKf~dJU;j;=vFTw~bAMFTovL|1)Rt~AT|B*LYV!H2xq0G}l6PN5 zoHi(X^49Xeuj*NIQzNam+p;Q{p4qR-KB>T7_}((TC3DaA&H1*b-{gy|f#Hwxm7$;3 z?%4RwxX)Lcaov%WsdjN}g@51wXNa{wo5p={FZ;qZ#hOzc`kxh4)mv?fbb8#=xA@ZB zhCL}-o_UX#Rb9U1eC+-1zPo!@TUjbS(NLFo+y6YQXlWCl$Sj7PJM<NvmnZw{ES9bk zGVWTkuIy7))wiRX)1?{yDfj=|tH#=sJcV_-O7St<S4CxSb&CAGmhas@vB~{qkjnZ= zizi-JzqNon>%h*p*VQJ5y8G=d(h}CU*H_=Uyp!Ri&H5Ez7jWMEU~rS+KZ6x_&BCg; zmhw@)2RF{2ZOgt?u~hwiQN90K2G1$yE>zk~^i$xUA@lZC{ZgePyB+iXS}w6vUT4YD z=pdB1^Wb5|dG?3qsPZt^3zz>YTXA}|^#l$c1OCqoM4gte-=-njd4hS8Ro@pebs5GR zm$}VZe;#=J(tA>6n1oES%=}{wPgQPtDl0tx^L2USOpnKmwUzc!E!!?QSg6g}l$Y>$ zWlYI}m?gWt_RH|ic%zY27bu<B__N{5(s0Hpa&x|{WSPOo$yo7h?%^qg9MQW=o?LD? zVHf%Q`h~xli{G>U`@U9dB}>OK#xF~PR27mN=ajExcoqJ--z#e+!)m$ZUshgTcwTY= z$5o5lebH+z+HQ%IsL#3F_IDM-uZj0x`?D<bcvJ7iU?#gbJD2_E<vRl6lE)Pu@5}ss zI=P4OU$K9{x*f-#WQexq9=OF<cxg_k=ba*RIk&<fzR={C%@@9@-`{J)aK9pbPJo!A zTg}veFV5TgT9?f2mw0ZwDz=?ncamT63$2(Ywuh77Iz+77v@wA3PUgeAbIqQ-v7f)y zI^$=IVB?&mxlfxL?6&Y!Oq_bU<lAzc^;<SRe;N4pxuwX*>tz{?hr-w;{$z#DX|RuK zPk3zetd(nr*3RR_4q`1Uy0>;7U%%F8vz}T1+JF-_byNO!9g&-{fLCSCW>)t7qDFVv z<SX8N`4yIb#%qPe+gTG*c$z2PzSm%KWcL)gohzp~SUMkHo2ppYu-NXZ(eyZpgkJ${ zt2TXZzP612%JK_on?g^0{PAd+r-h|W(2j_!C(G`>J?q6GU%r2BnodLRc}dYcOQQm| zLcb?QuX2^|E#u;pDOuI!$M^owQn!OoE+`d?`+QjvG2MFih2>4|D)TQbxo0=yy#trB zO7W+Q8~Wx<_77uc-|8b<*taKCL6NcH-&Cb(4<0Y|Y`k-Ms$cP}1<B6IlaFPEo_I8e zt!PQ|b(05s=FE9=+2_ne4jHbQ5zOxcS>@)0bS=J<w1#u)CUd^61~w`4v}6|~d_BK% z<#hY9St(om_ExT(@*uR7d8-XiSjVIb-&Rgr5YzY7C~PCsrEh2b_`OywTNdQ`c-CS| zrAxD>t!{1(W}c_*v6)lJb$Q8(<581#ukblBsVl>F<<%F5Tuej)U9%Jxb!jkA2Rju; zo^3dlxioLesn6P{gF_5g2{9bcn%bwO<i=a*IqRt4#7Ukjq}7(IUs|X>>&z{UHE)|w zJX)ag)im?ttaTxBZA&*h34LYusw!Q1(=~Jg<M)acIa}Ih`dJlzU2!YPQdGLn;(f@B z&*x2f`;JcAsr>HC3f~LQZTD*}IdgAu-__8&8~7^L+-7$2UQl4SHRjH=-^<xn8Z%#7 zq;uz8{;BB(m-J>jS_Yq7X58~GaB^s;#DO<jrYd6Z`#j$U-AvtY!2e+>AJeZ;+xtiR zs?w&P(Xn&(;AVM}Zt?5;vQ1CeUS+A(uP`}pZM)HdPy4!!)S8349@NQSo2$}1p;B#O zCg%xT>!4?heLK!oNv+me=Xi|s{o7zRmIw1#9X=)ex>&fx;l=FsnI~mAR=qhs$!>mc zr0yTf<Ffvy+!NRXC%^TnSz4x2zT%Uo+|BnvMjt=(?)=YSxy(rTb3K1f=>ki)=_>Qg z`lgy$#@?w9^xV)_yW>B@>r2L>lImMsk0$MYB0od)-&W!L+Y>5Q%1+()&rQozW%3rD zU>_-|i0ACvO%7DCBu+bd)Z+xd&*#^^hRg2j$fPf`u%8>yCU2bKaO27Io@X<nS>9Uj zn``^o|5kX@?S>U6i*MWg-RQt<z^uI0{aN$0<n0zGO&-n6+pnEI-zP-6cv6*o+!S7= zld0;Gk9+24`5Wt0^IZ*X*;B;FZxbx773rMvtBd_qWSQ)ZCm+8o(OI!{$AQ<O$0Ch; z<o3536g-`K&VF~Fy|BYh@5U?5t<NRTRb93@ICr_sJgwcLIR*;zgRFwRjZ!O8^Y$HU zaBVC7r+i}7((|XAj|cnkpEk%5KJKSw++^|ky<?dCGtCn*!tZY_zO&%*ULMX<&sjoJ z68j!rNotCcGTX9X_f%&4UZ>|-JHwvHeDr%-HD^wU&+_t9#b4h#w0`E44C0sDbD3Gg zrr`J_<4cQ6PpEvjccsgJ`t%s#_m>(}g!Mu@be3OQ6uTgYW#T+fizO2ZPd=HI$s*+O zcw21-V{BX9l-7eWwGZzEN4o1QnR?D%-Ybuf;{-zh6XTr82hP6^+!oQ;Gue-M=gD~g zx-0MZPCXy^>jH~(Dn}7x&i6N3W(ieA%l8!rz0F-{%YL?Re^k!{{wZ^J{0jDA^V~A8 zz;lJ6fV^SiD|WAmfu0t}ZI4Ig)iZ_`Ms&D6SGD|lK5Naz$)6^-+5WzIjd5|s?bf^< zHvdWmLIYdRi>T=Z&1~SG+4lH-;1;bLe0!KLtv8U=`NMpCtHG)V`cHi_MQkQ55w$Ly zH}9+9cI$>PEp|)M`h+BNndB9VvjwM0H$0f{95Ulg+7{{A&tyJ-&oXmtR8E(9FhA>Z zit^mO?iXgYPW&!<gK5R{Yb(NxZMMeG`D$zUH`8WM?-^}}Lmn9i&Q+dYW~;g6`Lkng z7QcdhbW%@BtxmRN-fQ5re7Sto#ZRZ#UAO%g{PtzQrl*_d|JxdFa4N_peEvh55MDv< z2FtZdOKPv)@9Iuqd3VBY#?mutX;yQl{reu3?0($dKkHJ)@xaiVT%Y_mEV;>Q_On5T z`LCAn)CoC~^3V5Xyghl$psF^rU#{*O*LR8cUzf1@9=2vHSbL@T;L74HbNAFo)g9st zIn?hHw5I0If%$b;#AeEI1Zzsf9a|#Aap3mEdHZ{{p9wI@q))sPnwH?d^M%%glX3Ag zj!*JDsD5eoZWWE^c3Unj^?UPGV#VkF6|0y|tvGgn_q-i8&##;GI14REFn=AW&AVj7 zIrsS2f!bb@dk%2?lPSm$*UaX;Sb6-pbIqD1a~FJlY_Z~C%)8Vlmu51xmA-XYV?XzJ zp@gmBt4tAAX^98Tekv1;j4!tT2oj!lB950aalzyR2Yy{R=8{n0zd&T|gv0hn3csx6 zxIJgy6yAkS&7XyvUpr2C{?w-MDA%d`NBdVC^VKuD-Osjs#+1(FsT1AY?gz1Xit21y zkUzP(kK?(*)l?lujY@WwzAX=2k}X~baSEO^a40MNB2syi%a6g<{bNWGpEE<{tNNA8 zekL?;c_KXdU2WDRoh_4|>+IbjYUN>MbIsz5+}0T)E3EBuJ{4rXk!@-_^(4J-(cFfc zK@NI+w(M&o?}Z9yeZKO~?rXcuyHx^BPG5BIt*<;-X~AV_s>@h8TV44n`}U~h4J<pD z8Opw{sJVNf<|gk6i=#efty&VG%RnaZrA#opWU0K=ZMR?LlYlfMjj5a89^*C7HoPNl z?=|f}Mu9|=k#SSz8$q6|`lrjP<Yp|}v}r|{#NF?ES27#Q>j&Ps^o;Q?hb_BT;0_rE zU-xIlTldZXx2w$ggQJCo$UEj!c~44ZUmn?aVR-|a#lNkLwF}-#23~6`+}^*ZD*4x? z9T)Z9aecY_=Vi|-PwV0fCCl2Z+xSFE<(9Q2tv+6SYvLC6<opxIB_50BncrI5C();E zpH}xZvR`wGy2PJ)twZUl#!;4DZ*+_f)X%xLb?J#P>Avi_krB&J&*_i%+M>pBBPoJ! z#yZbK&(^s|P4|@Z-VpQoXUO9K2Av7p`Ic;}IKN!<_}WMBZiTdce=hfI&h=%fZ03B7 zuiW_eX(_urSoiK+_gk+A#v6GmZ)FMBFsfGdZEesuI(Oi4#;M<bv-aPb=qNOSdEQ^n z*ReM$A|6b#s$3_*)WGvyZs&5<(;qgQ+ufTtb6x&h71>wSh4V7QUY`0E;9I3R(_*%9 zO#h4rhUbefzl;<QO5~n=u8RM8;OW90W)T|phyOENU$gQF2cwS6JU{#PTYU*nWzNn# ze)dznpz`F9l(JOj9qJM*md*9}*~$EO-qtwJlz`p4t3swsESzs~XHVmGiD!#-isu!E z{JZdbgMsIBwi$XH6U1LwGaqHvw`M55fBo8w6c&EJt+9Di3{?u}&D+X9$M|y*=UZQ+ zDE;<NClgQ0JzEfblK1|+>d;^V>qZv!n7%FfdJEEd=X|LA6*|dZW%n}uIg_eC{t8h& znZWMlnyR|#?oW03rEZM3l_%K+H@@zVVkq{w9m)OoUG1ygLJ~$jeE+`e)M?!Hx#v;y zZuSPdEteRX4cXP1W<Q&*J>zEKyd??$LN0l*@BCL9n|JP`$b3y@)%s;w2R6JlOpR!o zaNx=09(hMUp^Y~Woa&KkFF$>q<?_@HuAK+i8jW0MDf!(Ltt~$BD};4oc&7BHT8kw{ zDb`aZgDRMN>U#|%3^?Xjd~%QCP?;cLaJbGrpyH^3u@zIxavR~JE@=S^LmN`n8?Q}@ z3}zIVR`$+agfT%<_2;qpZPiH&l6s|65}5n;Jew8Ta5Bm8MzBG<#fe`5*1`-P3Ua=D zJTCc??_bYK`%)lk#POInkay$XgWL0i_@fvX1<t&$SQoeBi@aCI0{_{TD&JnQay{o) zS5A))o|Wf!_w+%N3(d^xNsRr=O$B?5+I7Tj-IuC8kT1UzQ~N&nWtWpD>--g_2`+~V zwf4+f^U*6l!|BM?rW2L7eG|8CPiLtLVDXh?S<=kI=J0KWWXOl=FDw6?`*HXE{Fi|{ zYf?qhFWcHnF|7M`Qt|1H<jcP<-%{gQ)7&bdeEr_M<L~xy-YGmE=&ijcVb>(4PqwcX z9ca98#ON-6{90vJ&eJL8g|}aaJxN$FNpuq<%NLe!E6g5Djr%iy{nh}1oEJN6q%tFy z)SHT^)W1*peRY|GFyC#D7uHwO<c+!c9z<W7dSG4TrUOOn&ab_;3w;T@Iq`D7{9Lcs zQVomCzS_Kdv{><K|ICXgxY+II>N0e2+%BKV_ARe?H$%v41@=s*10UF`f<#pwtdw}= zU!Rq&!JcQ<bCu!w<jT8>cdF9m=C0(7H(hd!^Y}}Tvkf;CBR_7xE%JEJJdbqSRZ|)~ zBUTx>{5~Sszt`=v;B$rNuf65jbqwxpx#}9`T6j{OZN9;*9qC#^X4>aGUu3>w+Njtq z{wn5ke-=wz%6k0|6R*GYl~mE1d-J*7Ri>wEIu_{(i<kMbW%wjI7cHM;HEaFvmk)(J z4!H22;yifb-;|%pAvtGmsxY^_sFz|-s-M_xU=iHlUgf6P<<`z>WPEM4)r6ZYIkp>{ z=dblxbK{^57t@iYEgdILH?`++KHPiMbT)6}by-dG!sC+5-X2iwJk{lxXmjSVe7VfC z#bJHQyDiu^{+sf!O*(?9$C7=oOEQDjx=4P>fA6e=#hRA9*&XYk`Q@y#(N60fy64<Q zo<=G=ZFu`>|Lxy5mi^fq>#hIPVMcRim}=3DN3&Kx{XB_5((;AoM}>-JA@An<ms&%9 zJ}o=w+!}aCKC9-C=uDrS9j7f$&Clw!s(ZhE`C6abF>R7T7GIWG2~_LaC5Vagyi1E+ zB{Hvi)_P&%!<{0X#>X$;TO+%Jw<&u2k4qZ-J9ggfyEmnnwZl_-bK9M2xhZ!KOxz)G z=dV_gK*QdZMpc4af_<j7SxUPU8Kf)EZSFsExjc{i#bS|7hTT~T4|l4yh4dOlGnBoY zl)0(xU4dDiHGg1$xsVRW(iuIgnwwnxC!B~axbcAROM{i(%L|WL+5%53WQ;i?Z6tfQ zTF&^rgTb6U-!q;J^E4AwqWLFwPqUxCPNO_<<4il(lWFJ7em`32!MIUPS?FC+<%we& z2f3f7PgR$E>G{lEi7n32Uc3C+oFkeU{d!eZm!2`smYC<}?`IuklAIA>m-BT=Z<OOn zX^+2|;t7FIw|UJm^UGW**_(Q&)q&-T0|S@7#4Gz>UlWoQtJq9Fi@ls<{nk~!dY%8$ z%rmT^txe)d2L3*uG#MBs6ch$E&9CUaxA@l;PbCHqN#4tSg?^7cx}WfzITPr=-qH7v zA;<CpTYj$%EiH!?e(v8JX!Nvj!h$)U4=ykK)Dx4k?Cn|4om0ISr`i?=X-uuZqMqmR z_WfDY<lB75Cro+Yzt5MY_h;EAgWrd@XSwojPmpA&oAQWxj{BVIuV>BW4TaibN{&1K zxL9anJuO+nhH;{ApGzvc^$fYIN<TYo6!@Z5m|yzdkc^do8Z-GgyD4wqf$+SC7kBk9 zbvrL{;GmxW!!9Y^*2s`a?yUU^L0<e5PFW<m@h??kydhB5R~3>P>FF`y<h<XT|GaXR zGSqvrNhU$_;Q5-1J6sCIPyhMPV3o0Px9*0T9Z%f;Gh{pozHqvYgFE;2IYSRQ)6X{V z9AEZrY4cDE*eG`B<0P|xbz8$28|N|`#_s)TyDE0&_JaQmVTV<I2Zub|t|#&3>xrc* zi_>@h3z;SC9NI1yukhvZR@;hG#syZ5mrah{ihlCbYrXxyT|O&YJa_PCP3%8b);!<P z-{Q-%J%)Lz<*dnfKF_bY)alG{ahuA!+LcCU%w){`>ZKT__MdS*qVOPrsp|KvWW$+q zGH-aV@XZMll6m)J>Vwa-dUhELtT?^<cK^8sl_Y8Ilgd5wrnE56nRDr+$tM;Yp*@T} zJi!rcIv<x^m36BM5M#YFdt0AG!pB+7Tx&QViz<I)I>i~T^5vb@?z}L@bC29Im=46W zO%Ocp;BRv6VD8W75-SeZ+?0^NHZe|9$zPLe(?<RqvsN^Gx#RY=!0@2uvyLmdWfplB zC!Z}W=keMh^YP2~70X&@RZNvHGdwhJf7AlGNdNOf(`3(CNd-OJw*So93(tQAY}%M( z@ab0*t9cruVAGA~ET8AERXY$?8ZlcdrY!E}*JW!iFF*M`e8;k>HJXzZPX4iLe;s&c zRpGQ__x4?7@KmmQvB28XHgi$H8KDdn{=OAP%kM1?J9*0NtMY!4^)?$$O0C}1F3X;k z$?)iS0hi&t1z-PU&fjxev9~Vq#&`LsluaH7Dq9MQ{MTP=h%bLP<IP`fmxg44kAK=< zWW`?OWH>qf=>x_F{=Lq-%g;{Ycr3e0LCT=jGj_?mop;}4u4s5_yv8x@pPJ<trp|_L z!4>!KE6?Gt%DZo9wmJ9ym8zgE_cOV=e{T)FQT(a7KkA~A#QnL8^%g%-mRu&M^waMe z^IB7pTqOl*=4a2}Rrg0ZIr^?Dsy!Oo;&K1=<2ogt9Sm}uUzaF)zv1!jJ2WFyI%%6- zT>FJ9mhAF+5;DSft|jHn^sG4jI8R#SDu=gb?!xMM{~5eGciadpD*l{)Y4%RHvV}Eu zQ`U&9e!eKOW&zWml9R`;%~;IS!>k~~cK*|XpGx++=HfQ<9e-TrpI4?4KSl1@EQcAA z1+8|UCQp9t%cN<x^JnHI#yzWhcDy+Kz3}~e52ts`wyQ2lv@B5Q+4TLaj-rI|<DxGX zZ#|qv?ujduiprl>dzQGBJ%CSh!m*z{&!zok?WXLWGr?Pa<y&WC-c9cw^k}S@7aGL$ zj<G#%&jrQ!b9Yqw9GegPto~Q>vUrz~V|wV574JRP?a^jFu58lvR`t@#pUUqX|CMI& z|G&KYWa4LS4SB;C#g3oDpZ9m1_peIkWIr`Sb=R{A8iGp3vWGvdSKYiI$mqnA{|sv$ zH2*O%X<Yj0%H-Wo?_OrUHidWjB!_Pcx6PB@?;n3`2@Cg0_qy<f%FTX!AFcMV8dRL_ zY0C84&+{auOg2+=h8Isyr2mJ<UFEXvt97jJxt>sFXTN@FUN=v|hTcXQCg1Q0i+eY3 zs4Eg*>XUNh%#RZmkGJ|8wEf%{7#SHk<?l6i%cZV~zxN(zna1sM)8Wm2!#EFFd#<Tv z0!tawj!VAwVH3Z{oqOx&b6a0qmP?8(My*e(5~^kueCp|0GjpQ2!n~Vrv^b^YH6x#- zo=>V@>M=`|=dDEQxnnOqrDt4ZIuhBbVE^Ht(nK#kS$Qoh#`pd_JMR>Jl4+GcI=@O- zT;qWxW4=LAajWDX&4qi8d`><Q_T<-OAD0`^&u)31U#IyrLLq=#J;0qsYSARgPi(=3 z;_nR#9RHO(jp$PfmrHyi|8Z%k%hM?*s?AGRni)#pXkd4+y1?QZI5*JEzsy!6cuQXK zma1<nB_GD`k$Ju#@SuHE(s7A=)9ooeg7erPMs_X~ZFA;i;`{ly)N9GM;|_vzCe#|f z_fYISVdS#@#o5~*mIOuJm2LPOt<2om=xaD}M@s!<-CvCFgY4e6y0N{H0d03F6f6x` ztigV!_`>h2l~Ss~l6TJWaRz?6+8|o0GrN;nrtizyF1LIBwvH<gomdll<%@*!QjVlM z2M_ojUSCw3QN*~BQ*@gfv-_XaUHyf=Z6+;w7KxMF;+C}@>6OyITl4(7-B+bUjYqQV zis$IB6&LNekn-oI%o8RH`ChB1j|xs*dgiL|SZ4mQd2ig`J)N>bw&R@U>;S)x?UF_x zzh_8lmX)94UAng_M6t-*IML(acauka*L1vDb9cV?ELbsV?Y^>>pWEf!O=e3uwefyx zvUu$+7h1OIL7C-iuY;WotzQ{<(qCn+*`b_WTj-P;;h489PxXfX8TLTG&mo07(rsU< zO$=F`o~`-H)z93=+v}B|MSN5W$GIZWaP@W7!PCM%?fEwQ^m7)*znRTkua-ZJ`K0Br zu$<!<TXFOG$Bw#Pn-nLO?R!_`r{(i*;!Msbp97jcxmoX;^YN(A>D|*L@_jBAb?Y3K z{C#(0|4a9CbvX_0%OzF>#dxrXy*!@3a^bm?bGcKJzb@eBy7)d=^QU`EseM$|!p|w; zfv=X|S{y9XWjHm#E~)yj=F$CCYo&kAc9T|Gcfe!$lRNIGDh@okxWmI{%ZbG6$`T?6 z9y3mOK7W~}xxs`J($Dh#-TTVhsM*c+a?h{iwcY|M8&W<qHBP8lAu^S3!Q>s!m45}# z-2P6eKwdKMPtY?a*Y2{XpH4ou5YZM5h)Dn0m6*n5CUnL^rSQ}5%SkWXRl5t_4TN`m zW@Be){CW8b<9_WuI}V(;IO_E3fRXvVe{M_k)^x=g+?088rBS2LqkOuAp5@8&UY*_^ z3$2#tJJe?IycLKLG08mr`FpLUZ3cV!slBxt+Kx{Ic1JYXt~{x-z{FwQ;l9PD(ux@_ z+)XcTck@5>E8e;NEtiK#m+GB``;zA$7Fl)pOz!fc?a6=a9<BblX}!cf+ZAC4rT0ZK zY<*U9UxA&y?X2xAhBXWc|CT&4Tvf=lGbTlNzSqW`?59@Ulr5_GqoFAz{H!&=z~TAd zRav6iJ1s;S7Ck?uULYftqZ3k@WnNIB&XB%0$Wh5PX8Re>Ust-ddsa1s^vD@yX`DWG zieDw=`TFNUib1;<TdJ$gcIiK0@#H~3v_^zN*vr>PjZ6B!|N0&5t<t^qd+y7|gKKVP z3h6kX{rh@zV)3Mk^UE{?TsU0=ckX;PXVPX3Kc+r5tNCj+56EjC{{AaO=twH#rUfaN zS`Gi)FWJw2Z{9J5=lLA$lK-}J9G?4z&DQcyhM+`Ol4Mx$q~g9CD?4*c99np<mpf>5 zY|gtkXZ^!jc}7c(C%?Y_d3gbAFrS&xt~rhKGLw~CPp#jkx!_p$=0t|_<EQMUCa?yG zST*-F|K+ty;P}r_F3ndic0#%TTnoEo;+#2rhhO<>t^2q`U=_dR*X4QKQ|?ZE{bl(X zmK0xc$?!Y%E#JPcwAp@eazp(t>i`Dn!nw;Q6?PRk>|UA_Dv`9bQ8JHf;+)Heraida z;+*uPuk!n!%rndkj>j~`CQ7t=vxGh<Q(x<?)#S4Hsl?0oUZOXr3Kki7%P+Oid&=@; zLd6&6ds}v#kW8B@T+>=EzxPgU=Bwj1GXwTK?yHxYop?^9e|?tnZ3!b*=^0;bE8Yj) z;7vUluen{X^6PS?XC?tfqJ4E!zGO-X>MTy4e9pptswrQ@q6f?u=2@;}JY|_v@-O6U z_ulC{7@EH>RnJRFp0M+rEvsck!s|cI3cstQd^;BgY(KN)gS*_ZsgaFbUQ?KvLAS#s z_w-Mh<oSdvRHrhg*6LAT!iFURjwh8bZ@;!AHR;XiOA}9XbOugS;j7hj>b<?!_QyiQ zo*ti5r*^kJKE`j-&Uom9{2bxyc3ZU-RlJ%DWn^RugBaUXo2GJA^||jbInW_yp=Xz1 z;Gr&JU~jDUZpMk1Kdvlf>7L=48t0#9Tj(v_d}`Yd<5OQi*Cb2I+bhla&!FYJ!`ya- ztIFK=X|~qEm$Q-!e(pTKaLsMTRnZI@GBV9Ce_XyGn)GDS@;PN^O*TY0eNDP?eyhiA z%kbQN^XB(DbMtJ!vtXrcwEbM~cExQn6MqFQdU$$q!Hqv0UrcuQoK<58yL-&yob`np z932a^J?dUOnb-c>dzUNgJ|FW1OO>mvW}Io>A#zUOEyFy<+iyKq^hcV@&v<<O_J@`7 zJdRFB>-S!s)iY<?Gl!i|rvBUV)c4dOKTp|}MN_<DH;K%7zE^7+OTyz>9sk~EP3}9s zUu4Zr#eOXdW>cF5-rRQ2f{J(BR&_D=&n^Be*edb(RhFhoM{1ne$#?t=)mNuZy}C_- zYpK6V`r04|u6G=_9KOmw4C>^zQjo8CJZt&Z&{?)OoqL2h6JIf|4*d6WiTt4g@!KDl znVbwgeuk}JN&l&SlZV?rc|0~{42yfvd|v+ARI|1dmcPFJ3faaxUG&1+lzg8C`?a2X zG*52~e0gofW}C#B`(pa4p9HnX^jUmgDY*RE;U498vIqWc*|@PxYljwFQEj$W>~9HC zj<?On?bmufb2HrWp_VNxiaAKS`I*)Nmd|tVY6?y;_{@37xTnlM>U?m+8HWeY*XLJl zT60{8Eokj|$(2l}?OpHAD{}SX$za}pYWc@!E8GoYDp}Z6-m%Yl{yL~wx<~B-TZN^l z$Ch|cX1hx_dwAyVF{=()6sG8RXt~7my{Yd7pMEoo-m%hYn&O#t?u(N}W}IFYu!gVT zz_U5Bk<BOW7d$PzFyA?pS!Tn_d9JoHk0lO#`L~s~ae<%AJB#D$9~am0J<6I{bdKS% z`h-f|FAG%?7>^YmJgZ{Tef#RMcNOm}RxX;tyWcRt>i4y(J3_b3Cixd$2yIk5zpudI zq}{UFt`XbL3o6S@KGfGRYvT45JgXbuUN@b0i8I8~*1GSiO7509JCpnNZJE=dzxtT* z!SgZC_wV&k4Y&~&bfk#=^O^@oub%oKkUmdy-NTM4y=%hXm;Fjwc!GDS<*TYPlRTDr z#oO0eHAlYGKVczp-1**|&7yHLY+pHC(kb2|w0PxmZNWp&`~I$KnC6;4qiO9Gso7^! zV>TZ1V_2EGBwEMv)92gkt74zX`LTvZx?MPX+~TPEY)RG7_6t{fcFtXMFS+)frgQIn zJ%;nowB~)7d5_P{F7Mc!HTKu~%FApubj1WatT!IdYEbAgyJvj<ao}0Qo1YpdA9(BK zaq9Gi=1WbFJmwoPd@%kgA7$pg`I*WFOPj*C0oEE?$xch2+kSrUSaieZ+0;`a3W{@z zn|m%LGZ$DU-ruL$RpjQbG*#uNXW{2IEypikmw6}8U}IRx(zkfwvqg+Cc`=Vw>Oxj( zx0Z&oPTj=uPLuhG_&GnrFRL9+d}}?)o{;!*QU(XtJ14uj|F#+wsx$^XEc;adx8!Q6 zyW4q&e^X<QOz5~GbeF#<%V56cgueT|(HiDP9=m<omF?!Pl=Mhtc_8=vQeT4Bm(;Z2 zzGrh{n9lHBs17;msM>#KagV&0qg2Y<IIEtkccyhcPDs@;^2?IcT|6n`>i&)|zpftd zE#AF+uggdK(>u2(6#lrdL|b&;Nx_*S>pYL2zPGr7Y1?rH(Kp8@zteg?p@RSQF@CQJ zhb$@!A~!AgE)tWame{Nj>Stha*8Rz*#=ia6wwg`YYry~dec+6pI{VEm7nB)2>Oal* zq<FW|tW!st`=sY-$F4muy|KyisMAIbRl`F)kM}<eJtJnE+P|5h_GP2r+XE$!O;?@# z)MsJypJDe~-`gTHLlWmbDD<C^maP4@cCmEfoUbOweikJKh0Ndkvg?Y#NqMc1NtNH2 zW?bCn=OFXEOOGw?&c=*mvirMtE_l!**#9)DTc)x5@x0@=W<ELo-SGOC@5^RHoYU+p zoKVH=#$oMN_TYKfz6*X&*l!hB-2R&>cK7tA$J#y37t+?xh*`?FYU%U^k4?VHD+XD~ zZB0Hc%P+Yk<3^%L;r&^bt*63y*xe+Tvs-F#vh)>R=&vev-_k#Y-#@DC`h=gGWS9TE z!nv@qD`Ee`zN`}}b2i*^e;V+#&AR;i0<X8Xms^<XIq9_t$=<X)uTWz0u)Q?gB5wba z(9pzImA8-W|7I1PTI47^$B^NlsOqARg?%@Z=jVhx4E2lAntVdx+p5Zdo3_>|AuBdD zZPIE#<|e&V?O1f2pKX@!YN_?Iw*MJ|BhS2*(0aW?xM#gz?aH^Bs@@;m*_9<k*0Daz zJy3pBYv&EG!mf4l>^%(CSDIYUS(nLuX_&j@Sd^(sLc(^*ug~U9vhy|zzfiVn>AoaR z`+omJOT$kyzWlS2F*nYE`>~e4#4Ee4M%H?M?zR=rKd<th`m(3|**yPL`}+Nt8gwgn z+Q?Le9I9PB$u}r=`Fpv{WNW_%#a~xFWp?oX<KDGV=JiF1zrLw^o@^6I>D%%(xo;*z z*=w%@+3sZ?Cll^Ay#H}^#oYPNou|pRtAAS4qPUZRf4Rt0%iQ}V>leQE;N57{{=jJ3 z>m8R{mgK!`uq~dyG-<kO=*-TXp1)cLCTCh6W}d*mV99|ScU#yk&KdgNbMu-r>ny+K z@8gXZLQY%T2_!nayA!g7_3zz+N_LCol`W5zMO{wMpJ{x9`OhmywP&~Z?iFw@VVjaa z)q&Ht`0KZoM%5D=BbyQyXs1h_Jn;DQ_tl0cCsnY>e7r0Zz`EafV&nC_7Tc_3CZG7C zv_hp}66g5^D|wa%teR&n@4u8KE2gq8x%s%L;)MPwa~f~oS}EMaQ+E76L)_#tnFY$) z$24^IK2LOv-{r?^e>Ql-a%+E^tE$BpKDcU4b&!_XR<X1|zq9O<;e01!zt1eqb#Hh4 z(VAfKMCSRG%X=<0v?{ANzx?{^${p^F`}k_J67I-Vm96=3ib3*8fmX&$&)ak4mI(j4 zSfIb+;K`g>6I0Gxo{*cnYNE0Y&+lhT+yjq)n5D;hb>hKq%5q!Po*na7kV*f~ur}m- z^QY&tCPqs>sLh(p^q*l4!^;V^nopZ}5++!suMH0VqwsZQcwudqJHtHxPv4iZUcDhM zdG7tC`JWOVKNIynbJFsJ<;s=@naM{T#4b7}ZecjQ)aK9WbLGr8uG;=^JNVPxa=Ff{ z0}?+Te^~X5>7CX3*gFE5R!oi(va19&gZ%HEFZNR9Ib!hk+VUCP+;eZn)$P@C;Ixpr z8gD7n8mATT`n;2S-lOhDjpNI*oEB%ky{|m0!@K#?{5gh>x98Mm?BJ8WxglcWt%fC! z*(G282x3~UykmLq{=;7vJz!Tz;Y!Xskn`1cm22`9IbNkU#+|RP^(6>Aw}{(Y=rnhM z{I25HUTls!1&6ze7UW4h>Pt|IG(KK@Z~il*FAB|XLvNWKtKyo#CTnEuZXm||Y3Hju zp}hwldj9&G)u1lZ{NwBDuEM^@FFm-mPOalEQCg$iSN3Jqj5~$%|1*TzFx(7%88SnP zTdAk?(b_dLpFIB0us+gz;=%X9nl^k_-tkI#y`D2~uU3HP<7=B86F6R2hrBv_<%`J9 zj*JVe4Y!YJifnV5|GBF(=0Qr*vasj6_f|L`X)iOL^KE5V@+5bLZz~$vpDK5SI#s?8 zS;E>n<3EF_-zFyUd3#?iJMUH1+_ieb#mad0^;;vuB%jYZEy=cKrOmvVZ+#7=6c2n~ zDbiOQ`N~6HUp{Kf+FL6P^fcI(vR|LIqW4wB%B#E6mqw**i3&12F1d30I>%M7w|rme zE~_1KQkN+!an9$^DRT<4LX-S$vnC6>PN;q5YWr79RM}!Bqx{^cG$YrBV*j|WLJxvJ zcfDM$%&8Pm=zlIt@zOm0tS>M9oz2<<L5ClC1iFeG&{)*PKp~c3HQaS+a#yD9>sf2I zXezF~G~3HBbNSNBsi`ZMc-(nBtL0zGx5sP4lMnuzdQvTyMKP;$rKiOT$zJ7>mb9Y| z=NL{dtv|JD|H3u5C7#vvXRUePc$DW(t=8;qj%#k~DbEYan*E?FET<<#@@U$PV-uF& z??1K3u&1b~x>n1{@JClB3tz>z6**hF-pd*G)lC%)$*U3!t4@)r)m&5j)+5!ZA)&8% z{eOnI8K(~PF7F9lc0jt{@2m9NgA(5taP{tx;hS6hK2ThlS#q@w;{%zi<=p*+mlmGj zxEI70wfdx4@jS=JB3>59mG_2Et+H3PW&d%p@J9Wt@O{O<Leh$NGZelLjWMf8{_=Iz zxwrFug5)&|?xb7qmg-!}Ji#?kf6nKL^Up2fseF5X7MIDb#6LDyQa@NcTWPY&aN>5^ z+83W0SiXstGu^g0=Kt7>&qFI~(Fv}fb6@3~GtXbE$(Zt?s_|XcX5ZVNml}O2`(!;i zG@|$TJXR0(8Ie1GF9?WcZ#!_-xI(wlqqo8F7{AT03rs01&&QN3E(=MY(|^1x&zb4p zTvkIPyR@ACn3CmZoLw5Pe7rK>@5<W;D`hKI@U&aUJib$6@71#D>-i{YolR9D=NOm0 zaf);n+JA0wnjeRC8=uFU>YyhH4~vf#&zl<Vpwc{d|5Sq_3BI}iw)|(9@$||ki=%Fl zOq+!-Utg=2AlXpd_vKRIjh<PB7WJ`vx{}RL|9Jj+X@QJ;=?c&Drz(`!GR|i8mwy=8 z<X!Uo`n6dpH=Oo}s!zT&<F?1+X6KdpQwoabpPDd#m&3uB{-9#Nr~Cn{KQ(??(JgAp zd*DI;`n5Ke(rtxv>O`64`26Gjqh@z5NIm)cuC3<o`qrv-#%Dbk^ZZ!dUQV+-Ec_z# zv(QDpyJyZUNOa@#GYk-w?sF@A8Rlnn!ZPfYRY+y1!zx?jx9$cVve60)S(0aUcHZ62 z!g${H)sdD4>(A$`f&^MxkE_qyQp|TW=;q0s4;Au{z0Pib<|D)|DHD7kEa}Fv>Z)Kj zhUY!O&$v0(?DjuZ*!OquE1^>b%wh+hd|5fUO?Te?bF-@7{e7PEsJo+c2}@<e*T<8u z-<z?v`2<Vw&7wVgVvCc%FwEgf;0u3WqPCc!arXk-&%Q|~${v@o$Al;vwN6R+6~J;N zz3<59Kr6vh$@89XRZ>h+Rexq9z%SA}>1jX1$G$rO3>9uUDZ1{BbNaqKdwC`AT%k|u z;djX=U-~_8iOy7J*&bDPhw16I@3)pUg*15!_sy=F)v<y_CO>Z9)CB3q*uRXD$CsKO zdvticOyiaGolAAjPJ6;&ua&`fCPF5)GUuyps|n+N79$y%5S^O=r_41T%X|6E$;-1A z^lU$=Wybp4Zsz;Y0>P;V_(F_|uRIo&k10>SGVjZ$1M)N4<sSF^x}q|bVdLE{Jtn)* z&Nw$MOZ!_VY(g50jvqL8$<yxG;)BJPKQ2APq7xWj_UQP9uF&psCq_$~FCyQi>jF=% z=wJDu%d(+$gU2mCcl*Cp2|e2Ndnei2OKn<Hd}(s>?!RwVyfXZoxlAvJsbO1H+0xu@ zVfP(t66)t^9r)DGB2c;NaDmNbmab>Ai&-X5Jh*I)_io-vwd^q=Z3djF66%*`9hS8! zw?F!y;nji^N0DtGk1tT4Q+>f`IhW!5r+%qP;WB9xk6C?@31F#6aJM-5_|9d{bLDwy zFaP=aEoi;x&hS`7!19Uk#Kx~*O=Av(h7@=tNxJ)#{>h46THHU|Hlx&fYH_RjTDhQ| z_kNs^34X@d8o48`w%5j<IrB-W$(r4>wJMH3p7&Mc=talC9q*3WuC(Nwq`lpG$=%6) z?n-lRch^4d35lq5(%KOo^EKx2Yu`$lO?)$7x%*d5oRr5n)w#%0VtKoETiQvxt!!7= zzt?U)zgF{S<2l2ZcLH2bp4l<6&1{2hb+LcAvd-T9g0ohH2o$l^`Y*NJE<4+>`3m#x zD;Jb5B<x83EVo3?ZqH?&87JQQI7{UAEbX+BN@-b{a5U84^8J^!+&&w3Iex!bV9B$W z!=zV##=aRAtGpF-cN8sNe)+=X8Qba#7GIWqA*piiHs{;pUR$1M8s{DA;i<anTG+{; zd|Cbay;&*wJGGuKm)pX)=+aXM_Js%Kt~{Ahlzb|=e{I^9B_0tIj0)H<Z(J!BSs<Me zP|elGHtA!>VYd9Nyg#WDbNCuUO{Q+=GpKq}A2nCberCjk#}leUwlE(&pu>55q0Obv zc=e~}mpc5Ov6+oQ_yF@9F80`)&z2pC{Jih`%44qDar?~mS?WY*J%6fmr>TM=<>I6Q z&V%2Vr?I{_GcP#Daem?P=MIw;7BqzZe!g*)>Y1FFzegp$p37V?RsD>;dHh;!Ua7?G zJ!X8hS%(-_m<#sjU7fi1+$Hu?#b>=X83g!CF3A>lEvUG=qj=s`MLv&PcK+8*1Jy&% z$L{@Lx!PMpSy|mCY4ap2WyM!V{m(F-^_DiAqR(h~)=AvP{Q9hroE15VyRY$zJn@j} z<o;r7`A(}?Vd8d0MvwPLU0TF-7;-)^KAJis*D^+K-r<kSMT$a_W%LziY+q)vBxjkx z{5s1&SxyE^56JM<zEYDsar{Sk2w$e)%uN*v^PR6PHfMELelJtHVhO`e?t?P*lLI!3 zD&Jl%x%T2r<Bj18pV%$lhpOtNrpZdwUcS^;CYis-*Xg8&^z{7!ZUvf+!mCyuur9LV zn;Pa;#u`3>)w}SC*zGOzW~AEwJsOs9VCs2^*RQ`WSQqHL;RzqR{9HH7b9^2zTon&U zhs``-9r7SRt@ZO9AwG^JLKClia+kaJRoLz5aRm)__3M{r9FcZQWwCp(^VbEXL-tcv z^-lYKR>Ly)#=-AjR~@g~wDDxdzu4pZYBMa4+fTI(<k>#e#(=j!tJrhS0|TX1GsS!U zEZ)A>HicmtPr13w#{=J1?dXo)7sx+<gYX2yW3{hT6Pp;%+x~nu<J^KL#q)NGq^#oM ztLBeCw$gz4Gr#LOBik&?7`I}*nB*p_OHD4`(go(i|9s8m;x&rwkH2;|;BZhm_MgE> zaQ9OSg<ryfm7DTo4|DCW;PbT+;5;w4Z%g0B$qhI1vuX|{m!A-Q;&P6k%g^HLie(A= zt)9#6IJhL0?<rr|<Mn>?w)CFjndE0sd~5DW54ixYc{~4VKC2WpkY~SBueI`X5yyke z(Yhzp=e5mHDyT?UGFjmy`&uQRb?hG|AC#LKD9y7<;^$n;e{F4(PxCB!(*HbU4exZ> zeYK4nL_Xd&IhIsz#BkHz+@@>AniRRTBHP_T>>M{<y*<BA^M>oA$J~94{~2s9*-U%p zo_c`2@$0IE|6<G~-p_J4=$!lW^Z6LYAeMc}J!<0eUaiNXRUR$YTPhaww78-6<)%-} zYzpZUyTX}D6R%6M|M`>=X#D5mA+ztfS3}EPr-k#ZDG--9u$-xkV*}U92UU|D_)2o- z2i}_T!mHswgXZ^_4!YZ)OZye}ePvmAWrGA)6>}7$N=t+JoDIKsyga|w@bob=1vV$Q z^4bghRZh-1)`c5BEov)CR%hou_dfAL0CRU`v6Y?I`owd-rsl23jC-EXYSVmNo_ab@ z=0P9FuS;xGj5(E+)wOQE^`F71JkeRa*K5P;-SbaPKc~*SXN9`GSLROLT}tH%1%~J9 zwsK5f7e4XtyDJS_1!Hzp`W$jQnPmCr<*MhBJ<r+q2L^1Occ=MA*>aWMhUL<QKQ6Ge zwlsW|-dpuI^S+wf=bqwOYi<}ml%7;jH|0}kK+2@5(kB<ZllEO=p2Tq8KYpo&Sm^}i zj;od@<jo)YGM>pev)ie@da1fvq5L#w56d@NQ#$3J=}g>he&#@r@Rdsoj2I3UU*VY( zl6R14fdkXW<Mwm4B@2X%7MHI$8xRxL;wENU7d!Ky+?Up7^OJK}4}4L-wnXs6(Sq>I z$CmGGS1#e>e4HP}6{Kvi*jglK)%yBtvpNi~_doRui~aM2!QQI7TEO_=KmC`EPP=7~ z*`7INl~U;E%DXc}e)2p&U&SE53wJ9|EWPLbE_l0*fCi)Jj2-3H6G~+@4R*I#urI4$ zYq9e2z1drK==OzguL)qDv94_5oVt*Y8|E1Zuixr=WL0Y5Hp655F_+CaBi<*4wwZlf zFwJ*6ds*$azWZL;KFX@1%;pO%mfA%;nA^2)&t)Z5zekMf9~VrDpTMX*&p+|j^sINM zn%b}QKlNdMazk8|uUu|f+tkeyJe612Tw*+=@_NU%3Wfg+Ud|ly#VTdzqnO(ca9LQY zd|fin?S^-eRjuZf3B5CAjB4LK-lnNsmh_h)_(r{z@9oDS>Q7ZlzJ6bNByitFMdcmG zzb;s~FhW@2R`8wA9*f+09(wC<&&t~4@h^DJyOY5l<$8yE*0f8?ZoG4O=ZxifW!nnh z`WTyC6Ue>8&e(20*T3P6`G=KPm`}<bTWIaQkteXaaGvdpou0hTb2l}KY<SW*r&hBv zf5*`mjsg-atjt>O#r{F3_Q(~USbiq7!`mpa;KY-J;u}|_0|eHpT|Z~o^Dk{#s=Ks| zTvft@3ul)0U5Mc0keOxKk<k?K*wSggecFn<jz5>j%qc!^A2qY{R?QmWdBs<_9L#y= zy6^SqI$Y2wc#voRT8(oafjjyZFVi}1SybR=U>MlS{wM1Kufi7Z$)C&Fw@M~O7qHCR zArsOfP<if5sohp)CP$4U1}|SmscCb!ytvDs#rHH=B7o_et-}(HwQcIp-WA@Po|%?* zPIBWkTR+V^I&N#0+tsu@UiQ#=@wwe|SeP5<6|q-^xmy3ZKS%KR#uY_Jugt4BmKl?r zns8>}{EWDpufHxgu2~kI5)#K?>$y_?Y_GH0F`WXD{@Hem7DnjKnX$zB)ZF9BYR0cL zJ3Abbw+Kng8hUP-ax0>Bnd-GS=e6Iasg|=U2-xn;im_wX*S>B0_k}{%+$CoIvYaOC zn?E&pW+hE-3vl08E$`^DdauYN^K#jv+6}uqSVK}j_sCr_j5w#lFmKM~>x?l*4|hv- znX2%c?tJHK-E}xP>4^73>2l^<4P8e!9De$IR?k$ugU9@R<mN|BILflabMeVM#@9Vn z7Yxf;C1hW!oz{uomwZC`_Df&AH;r}yt8dLH7v<TnC>v4wM{6?U?~Z_kL;o4}SOw+I zX?pkZVby~od#(g^2_28G_SYsbZIXSQUH+@;!VO_@qv!0uQi2)oEetX^b9{MDNNUqQ z#)GndU6qX{nayc@dDP>Qnzpj%3F&?b*^R!Qi$C*Z)Ro#B9Is#NAmceDc$&<EplRA$ z?=Szn%A;n<f?VtA%$7Q~zN{Y@k_s;*Uz>5Zqh+1J*#mKhUk7fhS(D6c`?q$b!BaJB z&x7p!!2wOHKgrd)Ws2<jb9<BfR@0OM@0IfAD^A*7X*s^;c4e4th3v{G&m#G}N6#~q z7HE~POl+Kg`red&!^7;HPv=khD)}ow$ys?tYSQw|<4Q9wtITjX>MyAf;`&terr*bT zo)XJ89Ijc;ENNQEbmU&t&Q6IFR+HSUu2|f9cv;asKB_m3!A!t=-p^y2H&jKp=YCtp zvM9R9(<RB_pPl8h7}3n+^IWG-u+MVQ^41KBmOPi)af<EZIos->4A#`17L`p}-_%Xy zlGXD<<oEtFxvbbJ=61SMn%U;jtZ3;AW?%DWELp^K>SxS0TSk$e61)Gscqd)heEgA? zz-qbU{j575^i7%3+Q2;ZKSTDqtVxU#@4K_+Ecd<lc&qZZ=<oJBV~U&S)n-OId-c!Z z*u{9^vY%H<kM@_ZDq#(b2VNES?R@`bQSgc2AD?}bDkh#_-e1J)c50$!TE5}@mCW*U z84Gko-W)&W9@V-qUvsf5gYa&Z=U<lhCFdJ6?k>EwXyU}=TXTdQ)nzjmoB5sT@eB|V zZ0^c7yJKh0VAz#hIr;IM2U`Cb1l1?L?{Z5rdu!bxq4NFv!p;o^la4jAnLU~F{rpl_ zWue)O2jd-sc2(vuO{h38ax^LY=|S1^Ta}`v{)p=MxmlV#3p%=ZN>6EQyX3D6k#3&P zZ?DU;X?;-K?|0Rc?@XneBxBh+>p3BcA_4)Eo-a7h{?g;q0-4@_cYWQIg%o(ac>e53 z7Ik>%vHqFijq)cCeoN&P)&0&qt@WYs)+9H@ZSHN;C4=0=KiX{(61NslO#Cc(=lg<i z(T}?`*_kH>PVjuZa4BnYiT})Q{ykN7CeO7t8Qd{T2~a%8_mpS17oRO}=)^gz9yiWE zwq)n@l2&C)E;qjF5MxoJe{T}>_-cKba>_pM&{-l-#rL0~SO1)F1Jm=5BA1pIosh8J zuEPIN?%DM34JxO~*=z()n8qCF|9@r0#~CvNXS00XZF#_Co!K^(+?VsGwo5L~$yzIu z+<f8pye;4QPjhn3edtzR72bQMMDWB#&OcjEaxCnybzHXXl6ms;yyAPy{+^3+*u&U+ zc+UK);?&ez;?Gkb+p=X<wskCtxRpA$D)*NA%9Rm1IV>}S*q8Ylx5|01<Xb-ZN}Z^( z=+7BKp6{wI79E@Fu&`2jU7^p!ib~-ItLAIV`XoIpo-oeJT9~*uSb5>MCCsAnjE{3t z%3l7sGLbWNn#Gg+$?7T}yGjae3}up2W<Itz_@gzW|4hTmr-nVkC!ftdn&h;*Te7On z;@~+~JB2XcyT%891+g-$QsW40ev|pc@J{c+xQh2bE*3>e?0n4KBYakWM(AOWeQ8$7 zPnTLA;483x{3kQcs9Sn*s<hpc+DwjsI9HyDqWAw@^VNvgGR+a2uCC?p_}Vvu*?fk$ zO}g|(zy31!6T$m9&(%vY_^C|q+{ROTru^6C(8antqrZ3m(W$yL$7{dEbDLUCACGf} z2jhCX${Alz<q<DhE%RVbL+#3sHJ?>{ZiL(Z;y*TnG546u@8u2r_r5RNuJATSztDp{ z!ChhE39Yp~e4by93VA5E`998mAHXPKb5YKzt$*_Ep5X7|ygS5fPrh~Fo2J_57H4K= z*dL`F-4r`@Ux2;+p~d}0ZmY#4p0ECtCA`C?af6KDmbKQ?lMY4-)|DizDKM)39sGp% z)8aqt=0Bg6cz{(+Wlc?!{hrLz3fx=UXPiA(m9+Fk8E0By%S5yF0SD5SWL%ftIO*^T zo2wObyXQRTJSn;K-s+jL8)6>1X<b&FoY$jy>REhzeidJG;}d2}%jds>HcWA{*}}J? zE=}g^_Z6Sk_FHoE$Y?(Pym*H5jswc;qk^J5q{QU4zrX*&HgnG0yPZcpo^BUf!urN~ z*2Fs#9r;uy)+O!WzQN@zG-FCh%E_<KCdPI?c%1P>Dp)O?%fR11(AQ|4OV>N*nsYmz z+xD8sSZbKFK5cx(>icxlku}T9q9=Mz+GMg};*Opod#|NRl2WZ{osT6W`3mj?ZMgGi z-J$CArABVj6DIg{l?(RqUs`JsDRWLRFn&(Ce5+wZ!?A;nNp2PKRUCzLCKO+`U6m{+ zQC)mijj?#k{ORj5Bsn4(jq;9JCa_0^Wqe3GXdkuV6z3_eckhm0TAV8R^NPg_$4A|b zQt#O(9`0Ew^Vwg?<<^=-c9yoc@69?X<IpoFCHMC2*M1R;7^kHv+gkqHa;G6{Wu< zK~bivb;#St>aP#3oF#JT=>~>l#n&dRcUXJ7x&L{jmjmCu2wj<WX4zF@lOA}jlv$OK zcp~w{pR5CXj9~}QNBJz0dB^4N^JT>|MgbR>!i@^+ZL2O{@!^c@U}@goH*X5dx!5lA z-+NacS9!YAZmVa5(r$fu!=BWQ9-IE2G~00ZdpRF3dja38v;B{_?*zN7anM<FYVi~H zIiYGS-Rje1Z`m8{*IDo&{o0(=wD)Z`|3qVNwDQdH+&!r>cHjJ{3IBe&*_VlbIBVUg zG$~@$^Tx^VJvQfA-2Pl5y+b~#TY7r3xxzP5h1kQ-;^zLkl*3tbo&AZ$KewjTpYt3) zO>F&jnOo1m(&TCYBg=E!&7Pa4baVX<$iF@HP1WR}>ESHRn`IspPkuRT{lsULg$5^O zJx<6+)jd;Xo_L;R{oP-ee9Gli7?|!>Kbjip`P0wPryx*J`B?0x==CDkN<$O&TbKUK znk<=_7C7UM4CBPF%R1Q(ohbS@W103E2jhPqcD%e(|Mlg@6A#bF_82(6vVBp+ly7{R zd&|4~2bkB@YJQv+{zUY6a;QTob2k6oIqTPYKRfk`YwDf5zb1cOb6YCql+6~G#1kiN z&zpR3$qTLf-1jxa?ow@Gv!6<SKTkm84*B?F6S^(rkDgz#$YD~mFi+(khJ9C=Jr+#x zGd`<7gEO{w>y32fOKq%ED*v4QG{Md60Z+-or5qNHpC_JQ>ei#;zlYDN=d*{Lj6j#8 zZNKG01)a?%UCAmBzAfz9aKJUraN@Pqn*}U>W*+>o&_C`AqsgQVDV-vTyB;l7FV0Kc z*zx$o*HtZ(Kdt9|@0UKIapK&0f3qqZwyanG!2Hf|{;7E?798!%Rpf(1TKWuodj2!a z3ErMx%G>exXb{t-)jVsw_$@7M&tIFGl6oh4d4bl%yBn9N81P<^%W}KBCGSb{Qr2bB zMnb>YRohQD_g|YYz0UI3*MA=msIB-WA;Tlwx8v94o&&4RjOXus>$!2-ce`>6F3Sfc zzb=QlmGVody2oklI&&|Q{d-Tv9e(b&exD;67JQM&k@DQ2XBlzG%IxuW-8;=MGW#MI z-IYq*ajfcZ*3Kzf{Zk%%oc!9)*x)4h=aT0Om$4o=!85z<!{YgVnXT=Ux-TcP+ufTQ z6}e}<sbgU4IsT8ennx!nZEE6HP$_*jrD4muGml&!^xfUJZ0g)#Yo?Fq<+i$<+&b~3 zwR?X2TD1VCk59y2Su?*4Vrx24;H{N>-*UyxrP1|wzbkNcPW`j!Ku+rMxcxEZ%eS02 zIBn<E=Vv(o(6UE4+ZBJF`unDFk`=SB(6;+?n)?{Ou3B-1F?PvHndH6tzZRcRw(Yg< z6c-iQS?R42IDh(z1y<r(&F!+bSsQ9L>tt0v_<d>hj<g#Es|;#0r}*y;(ehf#Xdxl_ z{NB7`>EbrYV~%GX&a9a;=NGeY&!Tn7(hio7uPtpXoa<MX&i+~CSz;SYs{89un`i0i zQy8i~UYfGuxia&r`7g2@wmB&9?vT6kC}6_c)>W%c99Vg1oAJDxE0;`5<0#-fX5`A? zDcy8Cx7mw7Ecn2;<(^X|1KX0=YF91S^7A`aJk{c?*QQ)I_2=sEeg}JOiA<VbeA@Dy z)upD&-Zts|q5^!DG8<pc|F}rl{ES3{<J<FcU)ubd8BZI;JkYS2HFc9{0K*T<C*`Y7 zorv9V({J|5x1W^GtWymtn<`W2!QPfLm21K8FQyiZn+&fl=(SK+Su`i%^ZRRaWg6O3 zEprkCFW-?$u+G`&=NY@I`F(O<W*Mu*9SL(wk=X*Q^)n=`^6d3xGu=K<sQ50cmBQ4x zb>?>AJqee#3Fxso*UeaFY<X+(VgvR+S?&x1%@%QtrjrvCgL{uKt*NT|n_2F5q)pmE z-ppO{+fvs9X$9W>J3_w7J(|buzTM)a?9a1GvzgY}rCQ3i$NUZ|x;OKS?5cv8+|rnT z7Rz#c#CyNDE0i2pYFBd3)N->_o*3j7;Wl?$AN!9>4H8Wr_beWKKB{%>cFjq@qqZL> zd(T)GsMKpdEphj{dZ~gw(>V82d)}S5@3pYrlB9M}v5(L4_+FcZ(iJjuitkM~bpDsB zT=>&p;rX?tf(9;$8tOLdEdRW)UOXj7yGO9esBX)F{d)rzKXs^lmle}6;hlt`=ET0b zz*|e1GR;;o6j**;E@yCx>q)ZmO4*~<l6O8furGLW<ujv%_3ga6{J1ZxF0JIUFB5-u zH;lnw!}{Z&m!Y9|Qsk#kV0`>4bD4?x*)rA!M*kv1r@WZ=H;UiSzqD3G&F#i<xgLMf z*icUu!Q=Hy)lSP!V>x6XAtRr2;p2)OsbMNBSSEh=zx?ZJ(~%uq3pbxsn-wblG-mFR z2@EeiH$^cVwr#LA_7h5(6jEfNzLaa?giV&#?Cd-LtaLhboVD*xiPA)cn+ygva+PoW zgv@1UU%$6FByVH?lrOfG?~iIPHtNy0)zDOOn|mwZOy&Dm$L4%8=#A`Sn$!10_;u)> z8Q&hVMaXUW+G8`DpVgg#Z+{e*&YGF(<#Agc{XTY~QhsTuhJzxX@%syxug0(*&QE>i z>&$f9a6+E_;rG`j*InQ%;5_~~G`ia9X~pf=9zA7K6DMDrm@#usilL>YsNJ89sY$1f z@0Yo%KZD_*qwT>rwvNj!bZ&2)pc%6zGV_pi>j7rTC6WC)c7gvYS2Pyb1z%eHv%&6f z=AG5z%nXsK))hbfV`jD6^e$HU{?#-#@;Ljn^AanWA8XHf@K~<>USrX;^1_C?!h<WO ztYBSy;_J!3nF|ao3l{upp7S@;^X?%t{vun=g&xHoYm5#T#9y1kKU=AY-BRI8yyN_; zera#HRkoQ=XG=RAN}lf==5gRh(VjW;{`T4w9O!v_d|l<zpor!<Q(wA$IN$T&0>c>x zo+`Qf*Jkeh%g66jeZkrAr;&HiiaRV0k6%><Fim6U?s@n4*2HcG<NlhGCHETEJ#e34 zV0d16=Yo~DPd@&<fc?Q{_SeVkr5qmi9Su^Eb$r>?|33BLsTFTu28kWGcf7H$w)j$m z%ngg5ew+s^PAv1_TKB**c>Y?SA`S<S;7Lb9A{8E&GnBmbd*F59?cGlgw(+_hO`Y<_ zxvyPz$5O8D27Zw@&0BhYh1@BVP?q-75|1#Obo{+c3eVMP^;71&J-I;9<+Dicr(be> z<$(no`OYxUVSZt&Su^Qo+-$b0&~+=`e&061s`QWMt4mB}k256_T!SXO3HT(k!cy7f zG1s&QC4aM?9dKF^_n)EKCTUjko!bQ#f6j&;IhC8E9JA`(i6_tJZMnMb&h0A#{0^0? z&+O<gkd)Ot)3@8=mb(-GYyTN;RR`AaJ$(@L)5d63bD!h!e6KxSqLEDR*w@=_>1pA4 zEW3eMFTq$!rf9M5m-C;OuU+XHxP|9a;h)#ervl8GKXU~N981v&`Bjj)ld<<(?3#1G z`#de}raaDAcl!iOmE3;@ugh8ze|8@DYPpidAz8vy&mrk}Ucu61Ug>O8AEn3sbuND& zwJ(Bo<B!W>%97!?cdIZ?KJa~Mfw3q@;Eri;EdFZ#i_SlJ;JJjl#CN%`%b%?L8Lph1 z^6{whvGTkF3ZH6=J$SaZ`Mj5P{MlFdE9C67=PPaGe*U`ppFu<7oSRWq)$hw?EJ1r` zZ)NsaIEf?hg#3b~ygM3pKKNw&Z)@hGq&<Zm8!R<9PfMQs-oeDMF73O_rAepwDx>C3 z^W9UtdE%E9A<UC3-nrKwYZOv=VpP0ka)01^uS=&KBx3iJ|7?HgbAJnCkMMPwOY7tt zmU_J0-Sbz2>G+JDsuAmD3jb!VRC;@-dX`(5f-*x(&w9%f%UTO8Etr4!|F~Mrn11F? zUGSW8+qxNFmNm(SI%=P*c>gAAC%fX5i9P?^uT79)=wY*Jeq(j<4C~oH4Hk0q|5j~K z)oN$wy*}~JYZK3jTVxk}vc7O>*Mz&(A&raT6C`q)D&?a#=ox?F6R9d$vo(#K_xOtc z46iS@tP9<F++MFL`Cg;4XIkKQM<@Sv6|41?%*^?$Q|h+%^c-}yeDW(~Uj`Td%A;z= ziK!v1{`c%V{=D)xR%S@Q@#~tCy>wre%M|l-GmraKm@;IqY3X5}cwKhoYfT0=3EQ)& zl{-V63PK9|Uwc2F#{TT*t_y63J=;SZ4}L#+)+bfc_ejm-{=?TcJT5<X_3`U#OTty& zDKPDM!jsluF6QK&(&!asz~=w>Kg0DkZu2VxFQk87uCq><nSrUQe93{^l7ZK!Te5sP z>Sg(b`QC<WPd7H5IZ)5P{L=F5NoTkA+qG}Mw(LQ6r}v-J^C}cRUYa7XM&#qHv(bB) zJS5Ipy!7vT!6to@d-4SPl}p%GtuT5gqks4K*X8U11_cM?7HwX%GpStjh1K7z_$>;) zT^`AoW&V{gE?C20`MmI~kIMVY^1W$mjs>~BT`bGLVtMCf_Vt%V7%S`!Sn8e+zAl=Y za>Fk0`u?o5pJ#4-HsQw0#;y`Qr&jgrUzZmy$<jGmwLy8OX`<Tkz#X9Ee^$T2TKHvf zoA!k#^E7!Ed&cZ5=i!=Ia3l5Qjcb{67oVE^y?{~X>$l}U|5l!q`LbYgU?q>^gRjfY z&$gZOlwjcr%bz>-eAR?l0j9QN{7-5#<TVS!x!jEE*IM(i@dv&P^*PccGUw~_SrcNI z+yj4HkXgDxULjBNSIN@TZ3mduf9$%#6smRS!yO^5D@9Fv8QywsT+y^y$T{8C&njt7 zY`eydm(8A257?By_mi%Rk+WqryfMZ5v-!@Yd<VN4d-%3;^-oEE&&Q|vYQfjHo`x2a zIj4qb=AWB#!ttlS+*OVM5#xH{g!1oarDLkQr1^p_6czg2lic~BbXAIg;d#F+{~7jG zK1lc-^i0^TX}3W6$CJlxl9meTS-#S?GR^sZYw@3F%OqdkxOj$Fym_A2x=U8+zb;>M z?sK<4|1yLj;orSu%UBQI?VEAVDpW08b5S2#bf2|UO%d;&vQ=7l|7N~aI4IXXi^C)= zN3L+z+?aV+r>!ykoRB`x>Yr(X@0Pc6GnW>aT-^Qp>eN!pxUbVDm)hM4IjvqFCCuz& zCFCG+JZokIljVbtU8f^APG|3$o03%d_~%tMf6W?m+u|^R$4Z;0o@ZajX1DKaszhJA z`qH43X;&t{4Ho_WY&CPAR>GZ>t7<H#r1MP`7(VT}QrEUbQZ!uk$n2LVS2`SgzSebu z@x0}8uB?9RGpUq)zt>#;{ZWn4%d2L3oEOb(G*DX})2GFflvUs^x+-a-(yXcF!UzAn zT>Um!<Bzt>k&8;(z2<sa9Ccwhv2tqVlM9JPAxT+Tt?m{p+eP<8o;N%+&+1BSme-dI zpC&I2xi8@h#nMCqT{9S6MFJ?qAzls!UzaRit7x%K>ynAHmYMA;Cs(Iqdv5jYSfpkT zS~<0H{-xDB*QlJEu}JAEx2bJ^VSv~>Eol>p=j*JlmL*tS=_%k1s}Xz|xsy?N)|x-x zUj}dUE4~n#7T~$&wuy^xPjzS+yZVNeC#)-8WHIskEn2v7iJNC!$X8LZ&+}(5d>OQB z@`N4oQLQ^)X^NTNR#usFCCyD);+R$1#Mvr+4I%8x3m;$jzO+De$=#mMllzY?sx&;l zR5PejVui#ckHjuN2a{8_l_r;N$Qu3=xvroox#IKWo-4gP=`3@akFR*PdS_hp{!dGb z?w%{WwK(TV-gDcdtP}QKs*CAbuJq8GZ)@o$f4QlV#~xnq_hML5p6V&Vef{2|gFn4X zR!1EC`hC?KgB>r79Yp^<(D8r%(nB@LoNwNiZwf*o0(N_t1Ewj+8S%^aGFbR5t&3l7 zchz8Ov;N8_b)xYyqRJu<C+(4AWr)h;3_kI5SI^a=KXdrpMOnIbcYiusRUG(U;<@$g zwdxAGoE$a}lD{r97FwRoRCPtYk~#C1!~1(vCiuPEcV%Zo-Jkihm#@!qtLZ6hec3m2 zg>>EJ6Y^^nk2Bw%UuD@aXOi2y9kRY|Das86^)pt?&`g{+<MHjwCfA<4vvpWDL-^;a zHEVnNiZoX$vV1%mT6EX($tR0fnyXT@c5m#zHbcDTf&)wIt*T#_+88Fd)z-46PqVwb z>%ygdb?>i>Fc!{9&@(!`!&I=wAWY@k3Y$yI8NS-S<Yt^aFN5i@!EttpWnXW9X6%`^ zYFS)EPnTN}o1?M`qv2tJ;}Z(c>YtEod&9LV)wVzGN@Z6_`ijT17-s&?m6Y2mscLj@ zPjHxz;Q6?w8E2Mnzb?Y4EXEi9!`0Z*dbiw^HRTLe&zEn@GH%)zR}}p#K&@5p;IWTW zUw>V;XZEo-tSpbYUwSrGFkA2b^;gTFU}?zPyYuSiO^JzF^gdum*vl)y62~61ZtVAR z;|dW?;CG5Bm3`T>P$c1Bh=}d}UG`S}8R;ipzQ5GGTV-`}!Sfx<n3&#LvQ|}JU^un- z&SkH8JDFuObZ_qBDiW1GaPqkFYp+Kcy$3XRFUwMv7T(f#lWmICq|n<oDHGq{ns>b5 zr^JT%IKz;cx`F~`Py3mB_+JNFs2KFGjfmNQPuX_=-;!%Gjn}WuH|Sa;-Ehj)<jJ4K zUqutAtWK8w#ns!up4>b?IfRA%sfy@%pM=XX0<Sz6`2K$OP2A~cV0Ou<A!Kz*^1=md zlX{+5^L%4oe{Hg&XVQ_X!iis(Xo+rmF!4=MCZ}rT^dD8seh=J^@;N@_cYJ?mvZqqR zZUzQ9<Cp$?JFKVwXIT4X*>mp8HlZ;bU47+p#aDtula1!2tUPHc@u2F;s)sdO6TcV# zxRNrH?V0ti&tI2WPu#)WCVBV7uV6EtT#MHSzb&286nedZ&Dbk+|DOHM*FP-CSi`0F zfaB!r$=*BU{29t*?Y3&>zP<5yz09)-%Zm66=UlKBozYM(P<zyHQDE=kqV2X>*N$4M z7DVrO@5{w_%W{FQph{$5A6ur1wcFi;4JS|h+nRca^?>5WAEC7?ia#ezJaLp|DrcDD z%w5H^()hefb?<y%&C|tkgX8i3s6>Y|Mg>}znb_`b*PVLsyr}$Ln|ZarpRH-l5p_FY z>mSvXvBOAk5}U=M2jO7}b$RoyYAY(M_gtRoHKA-$6@&d+)|jt;wV7rt%o*0qvNzvZ z{CQ#hL!tDss9_Mt`@VXqOrH3{KYufqvFLH}Ri60MxioqEQ^)!7Uel!yezstF!u;CD zLWb>Wef#B)i)V0f@EqXt`tt49<(VD|M$N~Ao%4c@2J0M2n<9SbeeBN1vn*RKoJsF% z-s%#aC)gf*dzt@QpNCUt2D9|dd>QaIr{>4`nvy@foRf}fZ^@Nln(%m`g~dy+D0iJR zclz3|aJ5eTl)_wSan?|nhr#p7?@MAyi@BEmb$G&+sl%USYpWr7XLm8E6SY95+|6(| zyKUy~DNXMRiZ5TAxFI>u$Z<)|$)1UG{!J}sTyyyBp-VDzWFF7k(zkGaQC~p9@86fD zS>D<Ro@HzKmuZ;N=T_W!`*onUc<j%|TMbSmvrpn*@J=&w@_P+yYvzOJ_cC}+<L+z! ze0(p*5$0WCDu3_IJnBAm0vr3B$8z(716TiSne)lWZmJbyuEd6)MRi-X?2er?4w)1l zBa<w@{@R?r2TZFcpYycUa=84Nvvvt{<E$WQ$z#5O?uVYt37wsm8kSyrpl%9d;&o|9 zivr{0Kd$)sv>yC9x1HtdS?P9_S!vJgD;UI=GHCLZy^-GAzcq{_G<tWs`i+n?YmC+& zv-+L3n0Jflxgw79`Nt-wx^lGk-!)n0Gu@%6;t#J$O5=Um+Lul%PxYD0`4<LcbbH&Z zIz4fI(B4+R&7wg|K2$z$J{uG+Saa^SyMuq#+>bj9t+z9NF*P#r*`=Nuuq5H}ydSHX z^6zRl7*u`!b<Js#^#jAl`!r80PYJhKukfFtH|2t*G^gTE!M;1+|1-S45X(K|<N@ZD zFMQK}&M&RhzO^K>(IMXQZWH_RYb}Xt8SFf39yTyMmV6z!W%7!{f*bpp<;(A_WV>bd zT;^lr{Bv_It(rgI{@m8ip4O>nW{Yf8XOZ`6uHfCkzia1NGxv$&)vc_R7M3fbLRmKy z&na8`=;Q_=<1OD;NH$yNsw6KsA2q#5Gxo8PgZuvHp$(@yj)%UgzS?(4T>X84dsgQR z!RB)nuU|W_ND8g{G$-YYDYKi1!NZQ1vwWLnZp5B4C_FB6CHnfD^seB;{h9@aa~`i0 zIi^@VaqI2RN|PqeZD)&l@Oa|9EOkZ?hXQ_^AnPY7{ma)X=Ir1q44c8vy78RB{drop zw{K2JsqW&m%V6%|>eGyJWm#tAapGUe6P7iHS<JNzdw%tOc|O7Z-t+r=9a33X)Fl`E zJz)Nzsp|Vm)kO(MCLNZvDL%k_ZBCgY?{1wvjki|qh~F!nr@qdQV_BQ}O4aJ%ovNFa zKDV*{+Vq{_`?7bpKR53F@HcDSBW_WfiCa6qES%948nMELKPFU-by?vg!6J_n=YySf za;p3OJz8mdAby`^U_+McTp50iHtz2`{xe7=_&(jqp2_muGH=TTk@xq!CRiLV4y;_z z#K+7x=VSj`g*ifH+nhf3S1}ac7O?J6cu;)fcZhD|CyfIuWsmF#zWpoc1fQQw`rmmT zf3z+OyXbJH=Dj>|G`R4yV9(~1$v6I)F4nx~cJ<bcgK}E~^0)-u7;N~x5>ExGd0c)H z^l#O2k*BA&^qdOp4>+!4H|4Xm(m9bomlODNg8MCa>Jl3#pEXs~nDFjr(H*Ydh`P@z z3~cpWg$lb<WHb*R|GcEnol_<2_DP8+$xIWL7{<)lrZvrPfB#zZGoP-{bI&REKP-An zLhnoh-;#?Py-Q_EznoQ5Ty<vM+AULUGbRP3#Wf~dw^cp9He>gn&3oQ)|8ZV_S>%mL zj>tM@zU6cJy_T?CdOC;Y#=&E6ZysF17wPsjueiydUF6crlWC#cmu7gGtW+r88PXcJ zpzld&qlUd=-JVbGYKwxmHU@8**EV7KbS5L7CXf2Ks*oNL(ObpG*&5gqQh%Pec+mId zQq_}5?0y+V(eJ*!e%aMuY<R=K&-mXt{=G~aazdP<+1zc?FEv!Hl;w|)k}xP#{MjLK z;H59egFKb_YndgY`A;aA=SPW5lVIPcdGv(6^5gy)0ZKaUr&%6PvSxfAvPez+{P!Xw z4IBO$5BTb)9OGGg>WN@e@qy(6uUZ#R(Xg+qt+y&u=v?yC{alJu@pXleRkvsEIsTs^ zVo$osfqjvNMsH+4zx4HsFKM<s;lS_s-iOm?cJk?Di}PE}&y<H0*=(}Qc{U@;ovY;? z_Z+T5o#-<O9LgE&TNykKt5@?(e(5#&*dB%2AMY$gBZR*@p8T?u^_b|cFAuJ2G-^)m zX4CS>TYDow)q3W~7nUzW@4O9IvviK!&bMEd>K)yD{q^Nf%M*0B+*EwR81gG5`jnVf z;l!T#RgF#Cxb>dOpIef8>+ZJduV)?J+0=BbvXt9-)?77`<3#G?&&wYCXJ9kDH~Sfr zY`AXUTw{lrDMFkFSmf>+*ll@m+_vI4!xaTF39XR%QK1Lb&;C3h@wg{IDc<-=xbmb* zQ>on(LVv2;G&Znm@lWR3aXcwQ@c7)jwVyAoUBJ|&ertIV<GkgQ-_M%LZJ5f%S@&<s z)vz>1Hpln3<+daU9o)oW6C$42wR8sKS#1xe2Q{bsENx#Uy*Z+1p1eFy^PUHnd+`b7 ztsE%~>UUL|YCD%Nb9<94tKk{ayjg#9o8>{!h{Vk8HLV5wDi_jBb1xaxtVw<^SKL*s zp_Qy&V1Gm-ca3$zw`K2`EuLSN-M57&IW_v(&&HQNOg?2n{8ywV{>rs|xlA?nc2DE` zE~bY&yW5rJTUqy4Trv-PEW2`zN@_&$)F+QGe_Rx-weaP{+w#{Mm$`YZWQ%F2wKVyv z(HC2EvVY++qb<G-<@;F#Zv;=g<g@yn|6$8t7dRCSrT;Umj@Op`J*)q;j(OtL>6hPK z?))cWY57>GsZv8`ok2v|f->d9Mss?&3L?w??9pE-Df#Ql>oz0v4@&9zE5EN0^S!w4 z{?v#(Evxivvyuv>1XXLqRT?jESoW^AC0FihV#EdxuNAV^Av#C>4j3(7zcloul9rKO z!n(t)>MZlunyf2(!x-y$;(TzJXQo2{^Tcx;|F*_CbI;w(yX51iugh4nceLL9H1Eq! z_V>zSujfCsZ}m0^xEEHJa^R1q#pen8wYP6&a60G_o<DQ?{Hh7L<xJwreM=H9f9N@W z(cLTY_o>qj?)%q9F_}&_WbKwVo`3w~GJ%&(Ph^ibS@Ey+;mYH?nRZY@_9auzf-Tj} zrEIeu94=Ni<i#Fd@wm_W;#20CJAx`sz7G>iT4MD0skDPFTb8<HvY_J3N|oBn^PM9n zD;e3BOe#sJT$1Ntdvf^<AswwRzn)ETIsWX1fyKG1w8n^K8=Ez5?M%0Merb+R!Rlk{ z+|Pb@IQi$*W7nr194w+QvWzA94tjj%KiePp+V$9?u+XI4@sj6?-v&JOIK^;d^~Xa! zr#?M&e6H~1pVH)P;jQ82HS@G~wr`yGTl#5Ee{hiC77N{}6By?&jT1Pt*r?U=h4}n) zi>Jw6`02VYsXSezSZJbWc}JVqX68Q2M>DsGrrM;`ZC$Y8!Svfbd|754+q`(XGN%PT z^oV(zQ{XQ7C)4ba?V2U?_FQY3(6j7;0bAjV%uUNu?j0^rURD@-hE-Gid&kW?62<>c zepym#YaM!C!=voj0W&MP=8wy!aMdNx|6X}kK{L@VSy?nxM)37}Uwdn|W0$P?{(aT1 zS@`W((UHPF_G?QGe&*R6+F{eAA?z9{%6WhCyydfc#I(v*-rDm)>;4o^n+J{aTn!y8 z)6yhm84oNiESl=Fxug5J!MuC_z8KB88u`KebK~EvNC8nHy@EXtzAsQII@S}Amw4jK zDj!R)qs@tt(&`QFUzbne=~y!7_#}?6-&adV1}925zy4=(cH@czr}`a3i#$AzpF4Z| z(&B>?+xU(sPY$-ypP_tGBiz1!sVOJ#=XHfIof4dua-6a}VSCi3G~t2P<H`P<T9Yn` zvdm-83Gz6#ekZp~!(I!M1I==Ip_L2;?CM<!v9I?$^pdkZzc>2UgZBZ<8Y^lhL>Tnn znR9_9cekWM`mMzY?e9F|^S4W`cJ(-s#K-DT^PMsE27Ao%ughlep108#={tJ6s8Q;% zbn%?u&3+j(+AOWJ4CO8`n>oBZ?zMW-g#JU%EpH$H&#-P$??Gdg1qKWW{ZU1F4yv1s z=daa%$9G4A_X1bBu#0MPl4>v01jB~RBM;crEf=<*F@AY#QQ#i-{=Vb3D~p9LnjMx5 zKdydl(IcI9`=v&{=R0n&m%ea(5IEn^=)S?r#<$)xrnQFMRG+KVc%$mUB@fHn9Jd@# z%59m+DtXhX=Rx`;O=tE)ES8D?Hrv!@U1@qeWwYg{4{PqtU8Qf}v0$A?dy~7<l_wUN z<#OGh=2tl}w3(f|^HsL<`)VJKySGg59<#oZBe7qh;m$u%l?{73TMG7k;{V9+bGb8E z=~VaD$*n;}TG4{>+-h|}CvO-YT$(<Kvu20Wrj_UYzI<odCh>fy-It?oIidyOKmVCr z5Zo;pbM7(EU8gTAZiYo%*C{`C^V{*nFbBqyGBOE`J_XFv;-`OIrWSt8JH6*qt%i%* zt$PektwsJeNlR)Nqyp!BKh8E)RIt8e&v&`ww;Fu@UtM?6{V7lH^VeMymE#mTij42g z@>8i`KfB@4yhJ{y{U?@`+AY4fM=yCn`aMevmlq)=>euE@Q}I+dRw4HwaLxqdFUzfV zD`<Z<NmstKIcG^r5<8cX)$_edTaU~<ccJ_J`KQ4Gd)y_@OV5_+`6cX}xbgQ^=XoCQ zzb-u!D7{!IW&WOeEs5jOr{-Hf;N9)VR_p5}B4@bUZpz)&JKnGszbcN>WaQdxa@6l? zrW@z`u2zT6wktfweZJ8tsX@1k+#RfD^#;8A*>){&LEn@)4Y8|s-oCnXc}Zzl?24*6 zL1x10Y(8Z&!e5qKD^0m2p=ZhReaRA^4q5KGs}5HFIclFj$wztamN()>PYe7VgQiBN z8s+|8{7mw-|BOj1ecv!Oc|7^eHN$)cUwvicC&s_N8v62Q&IS5Q#MLwVgebb*S%0Z7 zL15d}pT`P}4ivfXwU=HPabeQpIgeME%uaHTJCLq>=Wk}DN5rGFgmpz85{G_=sxd^V zP8M8e*2iFfZi>}|?H~D?H!kH<ekA;<tW4hgu}^sZqx{`(ug%~OXPCo#^YuJKkJSeg zZiLxXN%=`XQ}3H`Ty6fRmWb_qR(xL=jt0~%o4e&<w8GTa@16Fk3grHM@Lb~cmxU2~ znhdzaUS&mV&oB^`=Hjb7xNv&5V)2B3b61}7I=OeYbbVCzGb68_$CErCgmlkvOF7N* z^U$31rPew}lvvYcolB0Ic6HngwaetNt&f^m-qR`>lkn@G$z_3K_WRsoR0^A?#xdG^ zO)_N*SaU-{-EQBN8yB68Cbu4!+qs-oIeQ~xwcyD=SqBnk#k5u&TJggD>vG;>>XX@Z zzx&y09zByVJt5@F<5{tb8PX-+&SFT~yob|fIp6)6N>i*>Nq7DzDlmTSB_$}OQTtY| zaNbpsj$^9YO_PLo$W@guV4r^Cb@PpozKE%*EE*EeuPx&6IQ7XoWW#~8&pZ`>FV<pw z@4)xjP|l5!eO+BrX3y_qf8KpPpB&oLn%@89?&Q;q2Uey=eh9L$dv>bzb$^wfNqe64 zb_<nx7R#4C-d%WDZb`{eqqG@LWjiPN9=_f06)8IPG{-5v=Dl`_H)e<hiQSOA(;vHI z#Uy`gt%}0$?fb9I;@Q~y`ue4gD{Nd&$Dc9XWVfHIt{77@FMf)-*(E-|+Lh;<#54^~ z-8cBYf@zyw{oeOMY=JwO@=N74UogCPJ(aTIq;!(el5`7;<%(U7PZiT9dOqOe{HnIl z`ttfaGEKF$E5l+BpOM#dlnF6&Om$H-`?-7RJHz9bO*DdyRQ9Yq8zz+7s(YDByrJ;V z%ZoF4Zr^|E`l9&S(ng~rX689&70Ws9?n_Z%ylxts!t(DwLxrUJQ`wcTk`iQ&-Pe3z zc+kGp@Wxch@Txg~?ntHGk)8Oo;p?+mu{Y<eV%&e>%d&@81pFLczYRUZD<)XxrJT5B z#d(`&Gbf)bd{ykD!zA{)uU@O}#az*F#X0G=t|mvgcF$PS7g45V`DazyE%EO;kyR-@ zAp&PEZrb(4>VtbtaPx#$qD%|UvrL}9)^Lg8WL=f6ha3kO``3DW{Fz#D_x{Ia#s~G1 z<f~sEun!KF)3aG|?$OI>7LVG*q^J8&Y;*qh#pJ-!5Is+ucM>nXCM!KzC23uF`?ZJC z#F)ez(`2o}l4Pd`tQDRx*D81l$Anx5_JG>DElWI>I_B=KynXw%&n>n`OB($AP2NSh zG}i~e_KMFB_O(#lwR>XY{O7)^g*(i+c+!6bu^nGCvF+5{<9C9;9b4UgTfWZf-;|Ee zLb5aTC2rmI-?8Gt3^g4F+0AplE@VnM6FEKa>y0}l|F-1EtDl<NE!P#2%=|iVMa@GI z1KD0T?{{|`gN%=Vn7`JVXM6j(XABxLj3@Kgy1n|(pwgnXu3D;f&Z^~8%G0m+RX>{K zf6pl~c<yuc?XP_o=&w>fvAFD#)kjCmvfjE+p<#!F9BxivV?6)bSBFveT;c1Je=>IL z?9Tb|<jLa|c3YlJjF`qF&TMnlY=+yy8S_^@|Gd;Xh4HFm;Q{-oX~!a1#Q1k?)5<rp zT{^QP=kJ}u{^HPb+0~mA`vWTNql`QsGnC&Anjma!a9eT0Dl@i=L6seT>}NQSUs}~_ z^!5px^CW)BFUvQ#72GwiefT~~qtoclJh#6cvmIpSSBaj#CCI?)ajgE>%9J%r5B_9# z^xDI)a622z@4v>*9j6brectk1QsUp16~~mi?psQ}vRE}QV@Ic(!;KvlZ``x;=Qm39 zndSa57C!JRXoEQWyU#LS1)fQ@XAL9!t`)fP6~FB2Fo@{k;PAb9uJWvnZ^K%J1LvL3 z)otl|rs^p<V`ogerQH0Opy}%GLyL71%iX8e`+W3#zK$b*X6J$b3{v6Tlk-$WnLmD8 z-r0F*C67o#-w#n{gHWwciPaM<m%n$--T9z@kCjwH`%DM*it`2H^R!&1c-dW8GFAT5 znVzJDLZTrKPE()Aec8$LEV=i`@oRknMLMfBCZ;M|ys2EV=fRToXHR~4{CUOQ0|(D} z%OsS2U*NMwFr3dkVM0}HR;8!<Z?6^7i*=Sf_<Z75@U?{XIuUnTde>AvTK!;Vq%i-M zkIhHbo=F~fdGMP_QDd1WkMX<snZgnb-<PPWrkDPV?NDdm8^ZHUcRAy(ZEo%lgVY|F z+g+YGN8v^7i$YDK_j9~I>~?tnWm!Jg(|*mqeQhg$?z|J~aqyt}wbluJu_y0dkZQ9_ z`n8X*>UT)b<1&x)HK7bC4$+o5ALkuf;uJCIT*UL9Z{L=l;+!Ry)ext{bX?j$(W`Yj zBfsu-TW#}_SF6f;536i^|7E4bTUN<tIq9db=X)(_iz|9ne!NL|^8HUMi=J?L>s>N( z|5z6~f0twL+TOdZJ`0#GrN|lhGW%>xWi5(kC<L9THFx8u6_)2M*E}>7{JEgF<+1Xd z{;V*r=Zaku|K3|t6>?H!=F*<La}LMctfaE09e;P+Z|CFws1*_((x+996>ce)+Y>y^ zXZ@VT3?Ddc<g>bYcF6O#zRGef?44Be<Ud2nqXpqM2B#YDd^;;>qRPjp8u3-)tbxvZ zA=c00)>Y|SS!Wnz+|Tp#t7Lv1Fg??7bA#1Kf4BG<GO4?&<kzY-Z0vLlOXKmklx1Am zykynF>(7F(@5@@5!@I-oLCH$l>8C$U=snW>zTfNU0v#b1#ZylY+S+Pf-1NlU=8N1^ zZh_qs{_^oV`rR`-wt7-<^FNg<jph3l5`qI7%2HU5IlQWTAMjp#(u0J)>PJ&N9Hc!? zytp@2x3Mrx^&r>6>o(slm!$UASN*&xuhQJNm0`+0dCSCmOYglD-WhP<o9%xFuC}w> ztVLl?2cB>h1ido4?N(u17-+om(6<Cj*<Sq_&G{cbUz>WM%2R)uxWd#^Px?HTFB2_$ zu2TB=*JYpI{wnX@zWi}%!tU^=$L>|W$=JXzq|MuI`S$IPi-J>_p4KHEb9HNZE_+*L zR^8iGB0SUWE6R?qRZ!)-IAN#Cc8Pac{>F(vXBWOQFtBS|ZKbnUdO~$!f7OfyCvOz7 zfA1IJ6<V`|`PjQZm-m;2EKp%Q?^C)$(rNA<nP0(PN+<Ug@n5%Gu<5byQ@0fV*%KDa zeN~@z#^AWtT<fHj+x+en6yLr!?|7v`pRN6|27PVb{hAL#nx9FBJh!=4nfthC*~dHl zj`!wmcG;+1w4i(e_l?*$m3-{aeecwL=AT;i&s6FJ!)Nh1-@h$yh^d)xv^^@EDV3`+ zDM+-cxzDfGS7}1TW9!Y0jaO>36n63+zxSfnZpx>+;GHvaWp^w+!?fVE$E14B$J<2} zJZ}8^Y+cPz_;Xh4k^oM2#RiqH%U6U3c(uvjwSDE*nc^bxg?Zx=!FO@OlL{vWK7VqH zPu$Y}q31N#skbu%4F9>ZbxaCTJ+<TDIbM@vY+^Qy_f3U%KY6dvR2Mwwqhn2acHYV7 z^NfQQMQZal6n7=BF4lN#A+h4{&r5IZ?cNpmF(}___)~ac-u%B+nT(d1jCb=2+%0VR zv=~pO+t>L_VqdE@t@aP&mUPJ#iw`;_#~8lz_g@<2;AQ8>uG@2^A+hc4p1$Lv(mQoH z8QlzzM|C!&vL>J3T;FRgIl1n`M&FyvpO$rsy1BD04&EXAKvQnYk0s3N77XboW-J{? zWKUK83u#Dr!sT=?-}0c%rPTsQ%>Ap%nH<g}=X^cServ`W2JJhaYJCl+ow!wCc(3=A zM?y<ax^kBX`>*s#RzZ^vvutCU-1vHaR6<aE*55bjc30Ith|XY&tdg%vun-7r`f3w0 zLx^`S!}04%ixt$*9Nt#@^V{;A8wZa$<YnZr8=p{N&U<ut-WAS&wYPT_HvY{}t~jYu zZxyc_@lc$l)c#SHG-I;%#VK}vm2VyR_(DF+nHA6?U?ib$$t>TvKz&Bx^?jOB{Jayq z6PT)Mvm63)c@KR#Ud8m*Et26C|5LB3r~6{&G`@WAuvM}D%z-#(ZQ*%Gs)E1u_0Fl5 zs<b$v-jy)1Jcr@Q$IJcansPJ(91cF-@!C&iN9^+3YYlHFv4!3_Q`f+ic4yfq1J1{n z<{moIeVwcDmFCf@9CsX!i*nYivtssD&ybZ6?l1J8;o3UQaN6yje`-@x!&M_{?_XOG z$+R<OYN{kl$+OlwD^^tA{+k)IVzPioICIaO;vmEH`YAnp4Rb=g3gvwmiak3{e&#Fg z34SKq=@5Hdq2{jb%F|n{+;`6rDn9T>%OpTVYlU_7_dhRBE!glby3ySrVglo#iQAdw z_FPKHW!?B?LCXADvqU{*80x2bm}pz^Etg!Lb5gm_a_Nl%gB!BPqpCIXr%sVyYu%}& z&|Huw>hZ2pZSLfa$tNt%v;Vxb>B*nF?p~qV%BdT?KJe-#wRN<4N?Lq<=^LV0K8bt3 zVpeLPl4#w|*PfGpPV`Wz+41j%?8}vmT+5!_o%1BQ@5_C4hTVFcGXF%=pXDem<}3ax z@=UePJzlrn;%vCVPOoKm3=}tTm;MS#(&^deD9LQw8uiLS;(S$|s9W)bo6qm{C2aJ3 z=*fQfr-Q^oWea8rxwf^5g$JL@uT{HHxO=ke!A0Ar`T2jZuKIoHt)zk;hpcT@?b1$- zqUy`1nwALeetD~V(y6T3yOSoLKIiz{G(YcxgM@A8if=MspDlZ`Y5%0U*qcFn9!*$z z%zjT@g4X2&Dbt_)*%g!<YCXy3+sQ>wUWEv<DwL_O-@ey_@s{JeBHN8YN;@TM9$)#s zl8O1mpOw5uf;%4bUf%1q$?S1o;k|~reun+0mL6*0Wo4X_oX38x-$X0D@jt`0rCgqe zdoIsXVLlzl?o@l0!TOx^)S3H|>|V-LCoNSo_&vAC@b$fgjE>Ub%*)j+kMitP?X>*z z)<Mjw_VJ}9z1#UL<)6=5vnKo*GyBR%OCrm8Un{6Q-~Q5bgN`!)?i>H=W3KF;db{|~ z(T+Q|twEnf{xr`$JZp-7o8+(B%wopW@VbD<40D)|KX*u2AbF6n_<N;kz=<^l(kA~I zY#Diud?;+ZE;2#9v1dW)xdO-YOPLb<uCZ@3EBtwd$>(tyqq0p^h~JHbJzq~A|M}AI zK!(n$HI)ioGxhk)+3cgvR+gs-HXl6jWnrIRQAk-(#s;a?g<JR4&-iw7xw|#nSN8Sm zvNi0kzMS*x+ppk1k5;YulYDutXP}wSo8_0c`fXQU`Fwj!xSgJ)-^b7L!9hz8J>b20 zr^x<LQ}2)W3?~DMEbP8~-Q{pRQK9j&jLf&QiK^$WDWp7~pZMcy>x?NDKRdoJ;9YNH z=JELY>)`yn$`hjJRbDk433%GiuiCU-%iz?_`zMY&eqF%3;+dpQbfI6x%COk`Mw8f= zuTAOvzM|&q%1NnOW|Jp7NZqSE)I2embKBH|CvEGt_NgWu-Ci8j+4wa~_IHSZ>9sh% zH*Lpdf{(1(U%J6R$og88&k?-`?$^8K#xxl?CryxAZOI_yDEXv1_}_&C&oh-aIi^b2 z`c-~k+4jKgbNj36o&dIv**%3nLQZR^lzkDMv+13BU-6B?pp-d(Zm3^tFyU#QwB+MK zxvyF$Jf7Q>uy0s%bP5w+<(H$r(gsia+$|n8m^2G<y;G1|5VGpQpR02=DV}8c-R!3m z>E<u{g4stjZu!TR=DdgVEnnZ-{9Qv?@@JO6F+;i9tc1*UMIO)pXudwbVa-Ji9e;}h zOv@u<N^Amdh&S~vzy2rlfE=4a7VBh&bc=5*rv*6uuG`Z2RF|=@Z3%OJ+<%5st9~{{ zFciNIu3YkGf3L~mDI3=K+pbDgc|521+NykOH_eA9p0ABcnWe39r*dWBC#y%BTb4Ai z%hYYv+W7nUEXG-{o^KC)e{Crrn@G>|OPfWfhOiyCx!PKMd!nzgv4{6jpLJD&k*n29 zMXgS7o;1ziRe0U+6Y}cx{Him2hR3v0CUZ}F>oChyaO0IL507bU#>k{Ejp7ZP$<}0G zU%u6E?VPmDp`XL1?qIiE8_e|M*OgNqzd~6je0`;LXurhSsD#t2t|l1DR*E{NJnq`G z_TE}!weG~-R}O9t6>R*Im3VM%(z!~PdGl<uY@RQ*t<~Pt^X5#B*On~@k6OrFU+otq zxiMo=*Ih$akw71&E{z3b;+0bxoE(--p2e@WIQg7*-`Z%gMHUl%)UVBo78SNw$2HYA z#C<bQh)Y-J(#Nu|*e3kCuCgRsLdaO=^R)#<hF_MM%=o@S_TcMCvz!TQ4$G9UdUIn* z`X8;$C#tXIxvrRGxI$jOddG^W;2$Bn_Ay;&Pb>;kXKlAw;cxS7kugJg`g&1e--G9? zrX46wpI~v+d0r-W^CVt}&q7?^SLAGI7h*Ubw>OK)U3UN4&}oH}w|vlQj!pP_ep!}V zhV=@YdA=?l@`kp*t|jiVKJ|T>=?(QnoA2Kj@T%p_uvA{^^ogP9&#V<{4=bOPFa0dq zsq(Dx)8wZGzE02O^|Rb&`tcdh`*LiOL7nqK5s`_~qPIMr)M|+p_q8<o87DlqJTA(a zROETmWSwE(a|KaZ<1ef7-fq#FldCe%`pOv@#ff$w9^3w0^^QGeVwYt@?~?cPw#F`r zng855-L_JG`QC8pvg9_CVunw*XTSEnJLmcJu1tnMM;`QFTf}#8yXMd8wCM(7MWGw# z)z8)Y(|gx8YsX}E9{WQRytl8DD4ytU@W$iBs_;3J=LARev3n&>nSAi5n~LhTFRz1S zmfT=gE;uRq_}aqUo63dHe+GB2u-<&|&&&3LpF5PVo3OUA#xz7Tl$`&%w308<Q<8nF zbkjUWm6W7~IVpb@$j5!*2s++$TyghhA&0u>j#n=G8CV{CV}ESHJqMfmHq8ZUI<r4X zypx}*n0s7#^6Stg_mACUloVy3sSx(urtp<**72nO3`{;>j|cu)Imh73bDRGRT5D9a z{7=v6v)d{^uW*`dt%hKMq57@GPkLXUw?DPAat6z~n*CMN&-A)IDk^;46?4Gmlq9F^ zX2*o+%vV*R!CE~%A0B^NeC}ji?FuQEqfLLWJl-j?#{Di!iERDa;7Z1yn|sV$6({SQ z@mHVh+3Y&4z)|_>?Q`zVUzVH;X+QN()OUG|yulMQhT{yud)}-(ue{Ww+skY2ngjjU z=5V|!uxr1zVoM`Ka`U{?CznZf%4;60KX3Amtsx<#)#B#7{g)Q2dNrJ~N`H~n?Bmrq z&pj>E_6XNW%r|dFBf57*c)*O;{K{e~)p$*O}jLPjmMu_f;(Ko@8HfXU+qzEeAH; zKEP_5*<#G}rbwWt&Xj-tB;^;Uiq9`KKf^GU{r0SBENhN1&nqbOy~m(e@mOL-^OISb zs@oYHj#oMOxZQWWv?!;ks9Zj7=8Bmc56jQqzn5hL_dHMA-&{L77ydrLdV4(sSN@DY zZ<X1vElSZTV|{MPzW(%mlZyuq{@nS8;mb1L&e$C%)s-(T)}O9rVR6p7fBjyU=PaM< zxpG=2@0L*CU$y#<j+aVOnVJ1cxi5E4EuE%6NB@-jQez`M$>_!l-&fo`)1wr>SMglk zRL8`psoHar<)5!Lwr)7U@M~6En3kEw-OnZG+3(Fr32?}tT6?VC(80ui(&E0wHeZ*$ z&5=Fac>UHwp_EM@Kh3-Ql4WP_;>2r>!XoO-1<JCk#L_Hob(wuW{&jJM0^b^|`mZnh zo2S<_-8H;$*@xZGX7UNUxvO+<M=<TYd#qOT2#?@-<tFReETi2KU!L!LwkC5@;+&2m zuRaHnK4I%<NtvE2IhCw^b#sD4&*Xku7k#g3U1W^mPdE1KdzIVzpVoBweq2;@^G@Zr z6_QtWi|0)K^D0_6`CP=?o441x)xDTlc<}vo=3BFRxC#u8@0C0?<+0t|57n1_CY(^$ zz7s5xFo};tR?{NzGE3=suWEyH9}HMc4m3`fw6H+plksuc{|r)L%oBDlUy)>&cSY;L zgT9O$4z`FtOEkYKTP~Y8)#Bt?kK5(U-#6Kx%M4dFa*X*VvW`Wkw_)}7&F3#oSa(Hv zG24M(!QbAzp5UuB&somn>%T2(tmy%K<>|LCT)uyrcbDTS8NoS1S#HO?CSF@4-TgN2 zul=uQeF+kWd$!x3TlDF|U;n4!5(Z3eaUL&cb$0N7W?Jz1eg9em?JYU`>z_T|YMjrU z`R7$Zm*kz|9nYp`6iLkAea>N(57#}f$2;w#GTl_f?5n39Um9uoiq}m}s5vKf@;vA2 z%RAPDAM;;c6CANKNI~WK<+Z*F3PMZdeZI;ao1?7#$v|*UPx8IK#Hk+nJFkCy9nhxm zj@d%u;OZQa-7-(q*<T0Rq{dG3X?y+kyrVB;bdQ{6PVu}cSClh(j`TcVzBEE`?oM^K z)h8DAh19V%$f+f6mryCNmyhyuynBW3%OPeVtG6O&XGn)D)LWG?xuvQr_k8(v`NJB% z#}oLK@2xfy&a3)*eBn|aIinM1Vs?8A{SJ8j2<U2VD(fj%-?`F9=Q!8WZF5q1iodK% zJfU9h<S2Jlea7-1GdpcQ_i5f>Uvy$kxt#5JuPy5*FnucG4Ps=PdQ9Zoe}>mrE}pz7 z{jT|##h+K4K9?%xTp1rRFj<xU`m5!}I=AzY+i~Uv_Fn5$K1;MHXZ?Lt-Jdl#MN-|? z&%FG=lAA8UiU}zbJ=5O5?&?lF=3TS)nBnEu!N$T9=k(V<57@OrBIf!2rQW)VU1f6{ z#8keXmt0`Rv*Lc0a@+CzV~e>~EG_)Bo#pE?Wi5BB&85t*k19=8W7lwAf1x((lwAmu zC-XjwRocJr&x~k&d(7TyV)XM*-BX_{@Hzg;G+GxMw4^Cj@K@n1{`2A*^*0YbsJ`NO zfOS{h-Yl1toMn}=tE5ynh4S!SRsOhGVe;lldkZgIaubz!kazd>IZdw}T1%bUY;x_- zbqlIls@|TK!+Kn;_efvm`A<uVc1J%u5Zu5ib2-#e-tb|+XvQ>^ZYic^y3cL4Ri)or z99kZ9Cn0F=#z`x8hLoQVei^V|WxikKTBS3`-b#DvN%=gHcf8+KKE20|sqMl1sKzDM zLJoDAYz6L1ZPNmn+U~dq_RZU2n&sfG)D-D((sozc>Jx15XSdlfWEJl{J?%mI)33+( zvIx1=Grx3Z+8O@-+M)v|?|+}YbG446jDUAR?W!H0?rfjIR@|_pZqbq^0|}!O2Ubn) za_4d6S^o6N#4s-*vkyDI{+r6rd!|y$$e`+9X@-l@RB7>PI#&I!16z1@3siq9Fb?Bj z4LoQ#-Qr35#|3Lr|HXJL?wfIPd4aY;&)lVDJw=Dt)oRKaD7oddv48mXY-!q0n*~Lj zC*`J;CEk|Tu<c(f&eruiSaGIZepFb1$Zk9KWt?Yy#LJk?p2?)m5WP4nQ12LfR^z$4 zEdm!KB<DX1m5Y45-tt$Vf?{*}oaC-e;!o~XRsFic$`C(WM`BLltjvz?XBIY0mfuY- z+pKL=KV{9IUo|z^$RegrZmWRDIgc2F2Nw&J@2pwlHMhCxZsTGJ=2OQwfA(62hMtr> z?qn@r)ykN0aN@QN>OG~)mase!lXlMgE)#6H@$(#m_kmN+D`pwbJ;29a7&1dF&R?JB z$h)tybz6>~^9Vop?#J`bt8&#Ox7Qv$W;pG&AMciw;(K!s%ymc-R^YjCR!IN7bXpO! z+{{(aV)P!dPb>12nb<YK?x{u4D>jE;UsOWXm<yKZpQ*p4WjwzwbH&X&g$Ewb)ABcF zvzU3H{B_^)dowO+*abbDGs&DQ!BwY-ac;}}xU1qb1j|?bSyI^dd~c+nVT{U}h~h2t z3<Gm|`$Tf5?tb3?VS$vSw$dr?g&BvQGkmpsHqobRUNYmx^U0G~ZKuoowclD)aWP!J zbo0)NSL|zp(o$wPPiXF2Fwg&Sz=9+HA|5al9C^T%vnVY!X*P3DPw7$9ll)KHcze=c z`aSTS*w$0~j9u>Em#zhRmv)?Z{_Aqt%5ay-JbO>Pexu3A7in<vX=B^tXC?>ALgXhT zhA*r9^K!Y$1k01>MXvJLeKWFDxMb7YI5pyX?cJSc8EhjtgYK|fJA5^nC^E@r#`)Ph zzCJ9lT^Tr2x~kyx{a=^FPO8ZHtIcBEl(Ov^Lz#rgI%oB17t?Jc<`jC!Sa9(<SU&3C zt0?_l@iE&Pw#33M58W)jFSDxbGf%8|z&Pj1jsW%*k8g`S`+J%3yXO=6ES3w$nKP3d z6pHMo+{sNXwPCz8Cs5+)0fn!o@-wAnH$K0>liYZx>Vl)t%Da31-bt6`e;o8CiEFv- zk7v`1*!WJVBpEheTEcPAT;tZ_?O7QdjCag6B$hKQocigY$CL82Iu*>km)RN0eq9!r zTBykQ@tB4W%T294c{{B=Rd+pVdgK&gX!mSs%Asj25B}_*>#!r8<>S*od&<8r+`w}8 zgt~;up9iT0_XB5T-nps2U3sAlPxbFhY@rF~JXi|*qa17_J5@eanzR@nS+~L^S-s%7 z3C9ehQ)m1tj#(&N-sf>q(R!m?;g<glRt#w&bDC;bo(VIMmoHzTJ~?oqW6$J<;>P#E zokz6Jh*;(|tjk~sdMG*JlV5R9gRN$wOQ^<T*4qlDe_m~zdh#<H({t<Em#^MR=V`E2 zO(^zz;QM(~-bof20sgFTErx?9Y|`(|_{8()z{6b$r7M<9(Ysz$V8x&*C3bp|ybe<> z$6K$>D|93~wJaX3RMrd#S1w;4e{8<Cve2rk!mkT_r}6a6_EzX;)`}>~oIU+ns$|;p zc~iMhNc0<S3U8d3xpdp7JAXBAG^N$gthn*GhjF6UCgVRXOb&0aT;X~1N}*dRs4l=N zdB4dd^(mnp*1Map$X8`4Z%lMQaY^Pu>4II8IN0-JX7yLIK3*vEd?`<S+NJ&F%XfTR za-qp-h54pwXB9#mmh2X|lknx)yw+_~16z+3UR%sE&67D{<r3y8T84LwY#pD?R!Pvj z;q~szvzfoo$V`Y<dGK+fQy$kQuZjr?Qy;V2_OiN2S&A~76>hh+kodY%;*g-M=baz2 z_G`^NRf`tPS=E#9{nsU?==^E?%o4KpQe1LH(N!B&D-=phW+p9oE6Mz2nOnQg#NL%B z?G{bsNVp@|xP|%N(v5~ceRp@Q+Mn;0J(WZ9nAI1PI}NiVJ}q8qYR=~AZ}FU|<%E<J zr$EON#ogPi>Pj_(cH|Vf$46zYHk>FUbjF*h;=qyvxocmB7hOB#apuf957r&|Rf3^T zg;N51>N}VJeLTUyR@0qFpyudtuSHRc%BOBM&%L*$vQm8x&x2X@Cp^>GwLr5gfgTUd zHvXK-$9MVU*`Oq;<Lm_olo!YrdK@sjCaDr|K%C{vo6K|EMjLYX?OpMVvBB-m+n?<= z{~1~h62mnZ*yc_NDw|iy@bz5PEEk5AG5>ZhVR3vEp18kgVng9clSai5or9Y!Rm{~t zthCON+4x73@9aUd^?v?U48>0)3vO>>d_4Kb<!zgH2#WId)ZD2PIk2L|;-}-6g+ICX zdWPB5cP@IsU}Mo2a_h;T#aI4jo_l{e@A`9v&t1hoC$77=rTj_yrzIhoT+<c(uZ!9o zN*0~j;n?zc<$M2sOvif)Y%`;b4r~u)mz23u7i@NPYNN^r$K%i44K9i7epB&u%GCIW zUzeu$*1ej1oY|yhwWVwA(Ta2SYZYU1EuWPB3VO~MS`=Q?ynFpt!^KRo2U6C5T6|LV zJ5%)j_~-sS;yTNp9ap~+TFh{AdKKTz=Y3kLch21lO89nO)WUF@L{LP}@4~>7MGL)7 z&RxDBaPs_QA4bKBi_vGScb+(Fx>(I1`dR$-k1Gvcb$nVsefPE^_iGd0hpNV`oRHA? z(sP5>)Bx_j@_MbjtCEkK!)_>K+~E^Qmfg2CwoPEaO4X%jOeQUY4He9D@6Ee%SX%3S zPu}fdwmW;CJigxSbE8~On)$MA?W)BJN{1$YYC5{}`Bu}#31P7ZCFFNmTCAL#ni+BY zfUU!q6<rVeE^fc_pP_2?jA<Rx(tQVi1s8bdcNAEt-&<pFi)ZCAi(^&)L<M4RGCT-8 zBeR5;%d=-)wB@;sbe0A`hMdCdA6GX0OgKL0^Yy*T5*Pm5^_P&jct%WnV$-RGv!A`b zFXH>u<7{5<vjwl`@p?3No$CGm*izoBKP4k_s$Kdqzs%1<dSxpjCKj+4`i2+$XD}C> zc!7^|*|tBa?pJ~~^iJhF#P#LmIbLxlhNIKlbx*$hvr;sAz8Tx?SH2OdT$^^WmPno} zocv{3>$GscvXecJw`omjSiOOXQ>Jh3iU&eFPUQWY?=`=9=k4cjC*E3oSK#hEju)Aq zIX8**E~<FqrW*5k_Z-HTJ|(Sp_tliY?3yw?tetxg^JnJEvkFhE-8698ctE!O+KQ%y zy)}DR7_i4z^|*z)SsAXpCKi6^lpw!)d41NzeZIH-g0BRqb@j3w<zrANZVt4`o|<vc z$?#moucUPxOEvct%{}=_OHAjZOv);mV4rCnA2<^pKeazR|61!UMv2Gr8edFRTBn7C z1(^3R-=C!t+T`&-CvyH5(Q+1-jgm?a{+vGfE7;M<=ncaH`3kv~GE>9YNk*C{oj7eb z`Xsca9gtwRlwtC(Vo%a=NP8tI{i9t$-r3L9NX)0?3FA>)C(+z4;dxFyOtqP7loPj3 zoc*FIRMEuraYdhsM3M39qb>_$*#3Pre|oC*Wa7c|HbFmorE_jiwPiKrIIzBk@%C1O zRs3`0XDz$4yKL2@eeLtlEyz7GN1u7+TOa=a*HRM8EsKtYeR=tHfsS8!^KM)Bg>qXN zSfkljKAYacAa+aUU)sK!*Bdh%eu`)Oti1cusez;Rj(Om%1^H$cH`t{=e|>y!uJU9p zcfP7}8Tlw*o(&<aToEcM&zbk{H9T-9OnFDC+*hGhybE}ema<;Y(k`mq!2UQmfqzCa z!$S3~me&%EP6e<Wd~Uziyx@-G<mzN~cIB6|oM%Q(?PL^JsJi6C&0|nD&oj=pbJ-$0 zCi{D`ncQa{O7tW%B+GD3lv#bE%QNw`@O8PZK}=gFo_)rzyKTWMkLNG6in#j?<BRk| zl-FOIEqiI(Bg=ky#jhp{@1IUrVE7|5YeJ%7;?`w73vHQ-kB0x0Q&i)4&Ti{woAvFh zR<9(3dd-Cc`=aWU<D40<e^?MDAYPvIBz5*a3sa5+LkYJ7?{6)=)50um#%tueNIfl$ zp_F;$uh3;CZANXe`{z{$Jd$+iOH*|-a6HKna#G;$jo`iUzwcjLEX|S5;HI1-q}g|v z`M@XEo^9d{OA6|?JUdi#MCfqu{-`-^(^NCsl58cu+PAu$K2dmkea)<ONl{XsLF?Q& z{t5rhIH@92#4l4HRkEt)$mF_+o>}?RHPcd*Ps{WN2R-q2Y5e9hX{vg@Oxanb#cYa| z+S9&1nzeh+gPk|d7zb%<%k=NE`(|;LNurg*Gt8yn=1>2xD<#Dup0>y|-*sn~o4GVm z>iOy44Id|-f9#VMV41`B=TU=@!6%o=Ck)(A8D1B;Y2LyvGx=iW<9i*GSf)lyI(=Jh zu8@i9EaN6m<rf)DW<nlIots~9EREm%#8o1dp?Ko`8&^(s&OLkZ-&gyB$sC)H8|yn> zxT?ldxPEq?BJ<4ty2Wx|L~cuF&U6fJY@Sv2Qn65j!DDZGR>q+Xww})|UWS-hYpmSK z_w0*uSI`-Qb)m%vm}V7zZ~FY!FE!}Z9-f-Rubs80Fui?wJS#?|;FWpuwhX!K)zhpC zPs-g}G)3dnf!_YJudglbo+7e-s@fxNnLqocoOty2<W04+t9PukU+X2F$<@yCakAHi zDg43@HyIQLaV}C=y)m`O@8NfcmwrK_vxGHSr%Yif|8@DwB9S7=6Vi3bKZ6B(vI2_s zR{oo6bCk#9j?$#My8jGO0ezfr{N=uUiAfPY{N>wnb_=fm3<oduB}ViHerJ7`xzM|Q z^$GRH_gx!hR`qyT*uM>65;^qLBhTT>SCMz#DRSPN%xBh=eR($Pz%i96MIL`vo$-{o z*XDbMFQlCL-lRmevnytAD(v}nS<{GVZA+MhZ00MoC9NH|*gS1l<*T2pDOgbZG<ll( ztywEhMQEJJnf$VANt@dmF_WJKXN>1O?+VxBKjUrqa=zDeCKI>w)90~Ep5Lmp-e!`A z?aPH~E=QfKlfNzrZ%MVhdnI}K<DgwSEl(I$S;%cU+L{t}YSPM+2alUXBsZS=u6}K? zo3(`g-Sb&9gPi40EN!o=3R)8v)$&k;=dq>Q)FY>!PO15sHhCGx3$4^r?q_Bp=EWz~ zR-gVoW6yWX(`9cokD2zlW>)eTahSYQIVt#2x~9#6-|@<oWeF*vyfZ#d>U{koYqgP1 z^QkF~J##*uU&=NACAU@&@AA(JPvlNdI=nMaz&x<0)^Z7d|J+af&qKSWrM~_VwC&;6 z>7T!>P!(2s%Tmv0<X?Yk%D=Z$i+6gQ%TiRHBW}sQzu1RGa0?T|pI4W3Hn1_KBzah# zeEVhDs?PG2udh6twQ2V;Wy5*=>erUsQ|Y}qr|^I*U#5v#gMhPHW#IOCYu{+D@jEwD zSwilrviVdI1~<t&vd3479158fuFO2=l1I#vgERhKoOayt+61-$?$2M}eqF-ma9Zub zf)eJHzb*$W8%>H3zSx&_%K0?YZLbGq5`SGa82hf+>(_kriQjd~^Vae8rN4sbiXNYK z@#nmFC#%{*&t}0u@7@N1y^a>IU;32_Hg9Q{-M3Y0M(3eFI}VuqxMryR#(K7-^{(VA z)z@+-T(~&ZdTQ4+36nMN`*xm}o2oP=d5cW?wZ+HSA9r~+CC%j4TCC4~S)_Q<l5~;X zOLQ14zAbg*Dc5SSp0y=7@tL(~Wznk{5?|z|YOo7w8!{9v_}6f?h*@U6<qLkV{Anpu zOn&?9fAcG}n0v;I6P$vg$DTgvk8-qeackU^6r&-3=JK{}=KFOlqGBH_$fW$@nwO|% zIb%<)6RV|7+G1YgHTk(4A3M*Px2AT5n@d>2Q|~#CW%}1@bsU;du32ZaXzHn*ifO#N zT($fY-QKkL@7j6t{j5&I-Ot!FzCZtXR!gzywuGKP>+YZ(M@w8|@1)GTBlvYmx}(I* zU~7w$cKfEhIN@~Wl}g#e%@_CsvMg@i(>?o%;Rs`&W-(*xcAYNIr`1)@uQf1hn=iLm zanLs6cTnCjzq-KVq8Xfj9yb{5_m2wEI8(s*&34~Zjy%cGfCo<_zDh2Ccr|3-osGvr zt~MBN<T-VWX>k+79owHPof&tyF||E;kgR_FbpVgB(u^|)+sw=VWS(NyTC(I}g~h+E zyo?$lp`SVq$UF&|IH&gM9ahIVHTSDG{0hD~F>p!Q?Iyz)#U2?&=jGluzqjA`_~WuQ zXGGqzt9)XwFAjP*%~9asV;i|+3sQN?YcEu=UuqO?y2u&QzsK=>vcoN}$CKE?Z9-Uc z59v(aY-aJZQq+9DK(Inj&qKF|)0nR<T_EZ$!gF@J%IAAi<)1RxJz`g>`kQ6b^In$S z=knvsYX+<C?^d73{&^*ni^F1$<&v_#wsB_Vl8V=De$Dq<x4yG6aqeP;D@U7lFyx<C zm;1ZwT~NwuWo<1PvD=gUS<<(vnLQMEIDO*e*CE}DwDv4$<Ej1eHmL5I^Yfpv94gxb zzbstTJ@d}v`oPOFjBmT*4Lfg7SXlX>=6=i-omZ)!Ic`q8d~a$DyO6$0)%T^RSXZPl z<-XTUJfBw_%(=5SrlzAV_3N5%6DMaIY3kLte6jno?#<rM?}JZ;8!k{u)7rg5<uCiz z$j^*1ZRhxv_olj<<aG7!H2XZsh<&feq-iYaE%wz{sxECPmg?54E1a-wUJ8$-*UIxw z?p`N*A0B)0G+lk2yL_wfw;3Nq=gWLqxZs(|k#^;I&DYo2W(NLesNC_@)-dwmVx#xL z9k&~Ubk;eryw#p~Jgc2?Sq8iEvziAVXH}UoN<Q3MbyZ|?PxHLGgz76R&T8szXGq^) z)y_EWnunk9l!LFYEva0PRG{+hz=1VSCg(ZNE2y_$8xa}hERtoZ%>FvyWn*b-XlZA` z(e|vWGpio9pIPPSR<TM@G?HgQtM;7Vv&5P1B>oFk`FQ2|#uX*qJ{N^qyXzQEe>uOt z=2B;~aNCQj$EJ=m#gun4Pjb8Hr5+?Og@di`ef_!V3TI6cVm4YHu$k=L5VFm$@VM>Y z*Y<B2KOW@rGrm!q<uaMay64;CDcl>*y<n(2xt-y=?W>fD4L3LsNUnLTaZ;x!`u0+d z$xrU?-e<Yw5nJOd-{uM)BMbJe{ySAv!<PqSYo^?K==J9u=ZSw?mL)8$&U<XR<_%lZ z*&Q`^cg=fpb?(`@ryD@)I!~p^Y>82tBUgR-X7j>IzE6ffLREs?R_<txNptAAQ)F>| zt!3n4@tzgWd7>AJ&QLQp5Mou~<9zElr|-aTIajqVldxdLbcM|&(iJh)mk(DaXnnHk zv#Re+t6kY8D)?A^fd%_ZpXfC^l~+6#S;Mw`##x;;Rt5}whp%)^vpkbN{Q%RZqvxa< z9{g)s#xFC8>3wVPB<uNW6?U!_J;V{QdK$~*c~AZ`v}*3CJ*mC!L5mRQu{YmL`z~!% zoxakhDrv^~4(~HhuhhON?8~ZjEw1t7Oxl<qe2(#eh^yvImUXLEPh#U&zH!ZAYRiH= z>wxszEQMaOS8|W<vtKK-*ykqi{_nqk#4NjC9~IFwA^6Nm<~d*1Br2_0b@46Br~7ZE zn2n6(+=J}pqkP3?u8=g|F2j8N+RVK(=B|F)YCq%qD!W2%snzM3Cs)c&y|425O~sOo znW-~7Z|}}vn0!O3`|N@4yokvsY#6jO?Yn;*JkB)1;!f!FX)pXmcxK*A$)7!yZQdn~ z#}?eT7R@Z%cU77Dx=A}L^EQs-3PqWBrk%W%BfI=rV)M&`%i3@KNWML%>T;R({5eeS zewx3%h1hJf)_HtQ@^_8-lp$|so^JWtqwwhmyWIP2nh#Tww-)Vtd}+}G=9x^*=XgEm z@E%s-zqGj2M&IG?=a+tNEF#B5E*7YKifnV5cJttKnahVhzI>CVyUMS~Gyd|2mCO&` zntD!Y3GBTjIC-Aqm*t(wDL0lk|9NrmcBJuyyVV!CEN}nuGUDH`?1?r1>C{fu9S>%e zJB6z@GR)}_U6yB|d*S)4cms{c(`<dc6O%#}+pMJei#Ft}E3%M(>|;ICYXjHwInTEm zZ2oXVTE6voQ1!FPvfWEs6&rs>6dZYwQl_*xM~=~Y^LdHa0jq!JmGOMDloa`_`Li*v zcusZK8O|%M48}5Fo`g82=H3gip3$)6i^c1+h7smxoLA<Zy-?lkAJczNdxACJo~y+S zPf922__=@mzD#Fbi)if*o4%`p`qLCNPrkhKPgGIi0ps@cm{0|gQ;{d`9<+aQ$>4di zjC$~S6|RoQWeg{lGaQ$YWNVOf_<ci*|1SIG*Pi<ub~1cbm#uAeZqYIObK|`Fx?01a z-7@tRRrOJ<r<nX_Pbj>@=cnZ|mD55ZpyF5c)nv_3TR)GN*XD0mSSkPg{Q8v(bfQ>f zWFD7`$R2;<WaMx8&TeaPvh^xUEyJGrsF^%#3fvy-;h9tT+Tpa@1I+}F<B5Kr42QSh zi)+8Pa@_$bGt~~;znYAUUYpa^m2Fory)r+w`vC8K*|V&TJS}g7uUrkWnYg>$tDYw! zUBaf>^}r_epUnvg$^EbWCQkF2_Iv+b`-Nx2PB(8=R^fm2bxGNs20r7<ue4$scFQby zTz+4s{_D&2N*cP?ZQDPuS`i~Zea?s4%u@_M!?|C+&~n(ec3SM(o}T$xVm?o&JTF|e z`(Mt)=AQIh^O}p^$ud5gmEiwu71M&r@2WogNu&k%alU;UV0bXdo!zA4!Gs&uS4vm; zaEdJRyXRIozc8rifYQXdcmA2OeGp0cbSL5Ck4wv{*bc}Z-)f+Cz+Lk?%jJ-Ftlf<L zewn>(=Omgc?-<Tvnmc=!{qih^YLBIx4wo@Vyqx^rAt`!-$nTP6Ga0Qz{eQ>JZ<Ulh zC^B2v<xG*~Tc3NzUqp`Gi+I8?CuuQ5TMXY{_Nv(veD}!iJ@7>4-?CX;D}H(=SUj3z z5Hcq>@Yal)1CBk~`UUlK#hLsb$VEI@@l~YpWK#Ik92x$qq=~2J@4fNscgT$3?`@f% zxem8|T3~QGAtimUVgUQ)Iq6HyrJFt#ESWqjXmQpy%eU?ZCq-8CG&a8uR%B_|d#>=6 zYq+wqR^|7X{;UpnmQVciVux_<`M}=gCL%F;T+VfEt0z^e2+!NGyt0q+nA-!#r3EVI z43_s^VJMq+JU;*PStt9--aYfZCPo-ONpugqHi6e^$&+~nPX8HVF7NwoP&}uIf2q8h z8v|><+*LlmKf+Dbd{Y=TV_V)z7r*uj|8eNK$l0gUGhe>GH+N6%g}T6B7nnXtyo>2c zm{6O!;!HD#pFi7dX$Efo>FO3DZ4NuR=Ld&0OgIxV_fC`H<#igLPp9X{$N$^w!f(@i zKfcOGfqg|$J(o|WxXqnpqk_FB&YPGXacK$QR91MrV^t!Xdx8J8$!V9Lx?l8<UmN5) zon^+kN|oU4E1!Iko9h~=<k-esU0oHh<d}4(<(FfXzb-S~pLIhkqWMBX>95O2dKOFG zvY)xi?~Ix9#K!BgepP8pk`6T8OwGH0eO4Rm{VkRWcNi+3Z{I2MvBV)^b@Oe}*`GDy z&Tv}qU+TT5dGF8Xdlk&W9)>zfvhMmkFDtS1xZj+DsxYZDI}ZG5&p)=zJ#gy%-n+K@ zmNl3^nC0;_oF}}@%{J@6{HF&jpY7a#uV7N1-ws)im5<6LxKA-o@{eDu#_ly;|9ixj z_jCFeto(Pqam#b{3*jb{g&y`hS*2fEv-SqdGRyPvYkBx4#PBe+q|3fanajYzSA1FY zoa&hcIZ1qeRYmOA*3>T1Gy5V_{W*Z$Y4f&F5!riJjm-T6ud8jSyKrZ<+2fwcJzNv> z0^QHtwffB;#c==riR6PTCnendRklXnK(6-{qx`vLkvDo*ANTWR$kSQH_wKKj>x|x2 z{LITAN6gDS!1&X);$`rf_C=rn*1lkl@iClue!KI}EB6vko<IF%&DQxzUwE5O*seNt zQu6m-h6TJ5&m;_+8|v~;ExTuAHu-bawJfj3b|>3kA<trW7ZnxXzSm$f$!FvFP??aI z8ZY>Yuix4%`Y*?xrLI)#gn(QTD?{e$yvG-=oZj*A*5)I-3#6AXSe>o(XH7xziwvgs zPL?YhpU+w%t=d++d*PQ~Aup9a$jGex^Fr8lW1rz!{~am02VegPbuGSrd8^l&Jrk;~ z77Ja>^f)KIP=2jnOY(ZrPzi=w_NuATwx9iHxNbVow<l>S51akm(6FByCwQ1@8K^(| zv-`68lx<6r`@UMussH+F)`k-b3G<(ZH9wfO<fP8Z6X%`ypNBOIR6M`6s!j54*DOn; zeQhhGbk^^U3{zgtwo1A2@>-vDo?p+#p2*m?_Iyl#)&`04RSusFgPS;xWnC65^>`b+ zTJTs_ml><yn(AwvlU3rvkJn`t{ONgaI&bakvyqV^*CwXriceitP#iM#Z`GBD8)F4# zwk(Qd?<&am>X7-eJkRvD*KRjm;S{N;{<Su8S6>9LEH-Oh)TO<UoP}sho-n$aY+q_J zx$9VH(49>F6U!#gN_*v0o87leePfo=v@a`8GhUl@_P8i#&UKzwcdoh=+h?tN?`TsT zdUNmVc|m49j`JCwd|mbChKX?s*SfdIO(&<V<V$}Yde6@)-Q-$c*%j9Qth1XI@fw_8 ze{I#4E03x}JsFv0Uz?p0^DN-Aw7;~<Q!k_DljFgcAt~tx&tF=&af#38!q<}nwj614 zk6QEY$CJXh*H-U5A2l!OlCH@P8JXv6gQq>7Wc+2-C(mQHmTO+79gzFduvPc6!Oz~* z)1|j<EmmDR#rgWu=6gl{etR>tr))O)&tP`>^0n2{*Pdu__t}09QJJ~p?X6Xv=1iw2 zRnKBiUhIAFz!UikSEud?JXc_ST_w*lCHy3_vQ5y;6U-ZIk{aiF$2Wd1{pS**^u0KR zfl)%j^epFHkCPTJzy7-1dtD|$Y9`~Q+J!|Yo~stlxukRW-Fm;P=em~{6nVTTa#t5s zI)BVOVb%omBa0O_9(aG&>5}Ek6Yu-7<<A9v|Cbo7dw9+&+5OiV^sL$L?yOLjSkcn* zxJRnR=RnQ#QnkX*&nN#1unS6^V37atxy<GA)NXSN`Kjjn-p!N%9dc0IbbGo&6XW*< zTUc9KHk)1j6{IO6lfrz$<l>}e?HBgHzA8HKnWxNazSf{<n5vv)5N#<c7}_&g-ofhX z=A9d_Jnl-2JAJP~W0J>l|GKZz)_O&@2ELgR6CIeJeP1z8DgN2-9gnXyXjLBNKULsg zAJuar^4s$jE1z_v<R5ta=h;He9Z#$JG8k>H%E&EVe{FH5=#)Qq>RVlsWp=HQw0Yh< zt7RR(q~%KorE^~t@{%}T@T#Al(|qvJDv!4l*f`(5oWIr~HBrv^vs}g7P%+m1rj;qr zWkPs&Zn$4sDgSR*^O;*52PB{OWeKWyNUKcpbGJ$B<Xm)lmB-TZqOF1RB}EQvC>Kh5 zmx30U_&6(SRp$L?@R}GA^rYYUS1>mdL-L$|ZHqI_Hy)HJTPBug*!=pvFW-}U$<LqL z1oPZ>P~RR?94K~&>+zfry?E=w?aX#du9~Qw&NXJ`{UiI={h`AQ=1+#H$Agci8zwm( zWcmH=`!ZwJ(lF~E>Q5hkUXe0uwbqk0m3OQz?KvtiZ?3k2@AQK?Y_j}6u6UL#WJ+#T zVW>Q3Ju8EEvc|FE=2;yc%$u9PuQrI$wu_lR-KPAm&+i~3PQKzf$@f-I;Z4?Qw$O3> zCwQ+}OYpwk+{!f<i@FXM7x6n}9&!>`Vbf-D)WB3KaesasoBzUPdv;pt7|y#oQ{^1f zlLs6B7-%l@S!VY3{rQh+lO3{k)-2a;?myITEvX<p@9LDaxbWpB{}~K69#m)UKmOW# zid+ATy4d4+j~l-(5oY09f3Esk{oM0k{%twBv!L9NLCsz6t8?1=nR{dxYxl7lpL1BC z_5Jb7dz;U^IatY2{VRC!+|X|u*p>f$b`bk>aE{>hYZK=0GHyF>`ObFL@)=!A!`EA! z&nmygd3@IG4v`CDp7+X)rYSrqZruJSv%5zu>>PjHmWz6P?p$p3RvEcxVjJY9Ca{_1 z-jF<QDtApX_~85CdbZ1Vo`3qf%$V(g%)C8c7jQi;D7|Gk=gH&)U!E;w{CTIK`0MI) zNtW7+SCaa59eywEcw=~fzX@ws1H;W@S8b14PB>O@pzVM%`?cj6H;nYmOy(ND4Qx@E zX7l84RrLkEpnb=mvuD^A-kU%D+#TWfbCTvcSI)ljf!*h$kKz;Q@MppI<{mv|vd!$R zW#XLYUsl=$%-;N2ZcAg~Cv%ok<ypyX2W~gmpEpsn7Tlduc%{(yu<)J-$y+_QOmh75 zQevKUqjO@4%NwV6fs<GbV?G`3Jy7;+Irk@lJu4;8x)^yLw|M?SQ|P4mq?r%*uDIvb zU$<!HRGYWI9`AMIyc4}>{;nNQ<kvE(^1ME0{3bKt-7z;_gAMGwM-|de@Yzjav@5du z?3-}vp(9Iw{cE3`2CpZNmRS4o-Kn3qh2dDJ&MVI_mGu7%Ydu7b?($XqXHZ)%!>WDa z>#`XqCm2oKKBw>J*9BZp3>Y+zS<OjXl5&r^|Izz5Rv&|MPd(qb<QCu6q8ooTn3f&o z`)w3{<w~$NtNs<fs}%=!o=_3IeEH+DEeSi%Gw`3eyhAkBX8*4861%-w!V^C|R|$Qz z<K?j|rR6>I_AOdHgR8P&_UxwP5;BkPO_?LRBxzY`O0arB#evtJDiwC&A2zVtW)?FB z#+c^>ceBUtt$h{N^ZEFNUm-qnwtJfAJ(_Ol$y31av^jkqyH~bofw|1{<qzL`DroIw z*M6~Q{;4*_m;(O|FIa;nym5Q5g0++33-gbCTLo<Le(!u`t95w8SCzhbQ@Q_sKKRq{ zq}<jlmrX(uVmJRYyk3%W=gt>fgRHPybuUl8a$I6<*3oA;=g|rsr^Ha!8N&TlJ#J>L zVG``>?DMLwJe_%Yz3nku%`SnS700Tc%{TbzA;}i8@=$-=vRV5c|7TbqCR6j%Z?8cn zyYF4YTiu<DmblI_NZyg&=&!@@ez$#_{jnvweK*zDX+-Q`nR8{M@Nw;BWuGTD`}aBR zxMftUrDSyb_Pby8y_R9VH+uLiB`uCW4lwCvN?LR32SfQQ%eP)<{O?J-ua8=Erd%ZL zMRB8FCTHyKKI6+T9aGnvN*9|uaW(e++seUaaH`<;#|Ac!qvl0Z^XlGN^`zTPaXT+O zJ%I6;@z({cDsA!e75Lh(Ez>*0`LO!qUoDZ`mB-4NPue_d@MN}mynQJT=hY7_$qI9> z>^{iA+{Qln?aNTc(+?Sr*JXO%;joz#mXNvT4BLg<wSTi5j6dsfm%a`Wi+#b(#PNbX zYnoDXMmOV!+vlvFUuu%fb9Ys9+IifD&u+$wPkVNKo)>;;m2!HU<$-6*h1d#~_rHu1 zxbgkeI!}4a^X%%TF?uO6pC?b8d~IHmt91xt^UL$kz2{8a-C#d8N~LoGo1S!8Rr9Sy zEFU(?-uXPMUWKorxQG9F;L|IUtjd-#?M&dX`02;15SFUjRMr(dah`#HO!>0<)sNNX z{xe*gdqB2<)nB>U^WcOfE%O(gRWp|4F+Lxkl_2djfooFrcag^4)Vp&&xo7pC&Uu@} zHSfW{w&ewPY7Uyq6j}ex+}+JThe71=(|;wB6Q3`8S72e+d~1>B=TswyCsirGLvG&T zuuv(S^X=P;o2e1s4lSL%Tz&gm2DdZE89x->DfH1XduP*BV7E2RRl|Y1;gu2p+VERv z_BOCzUcO@i3wyEFa>>^>lJCuUwV;(HdA<B&|NPl{jJLnLWqjIXVAyx~(yXM(3OO?l z-tCcL$mo0)yvHC=Y6C<0-RrX^Ok%ia{#GKWI&DVsZLXTb+=rR3Jl`9s(IIksV;_Hh z&1I)g$14xK?PK5SA)XNyqQ&k|9pb<^VbAk<nPzr@2miTg8NR!JsU>gctIYNcr}v7| zRcaRM*JhpT{%o%Mg8l0<y}&bk=8V0|ML9zSwOCmvPq-g7*W57G;*RC*8~yQX4OUz7 z%P|C092X7e<_J^{?bBUec+%n+|H4(rWahlPQ&oIv%?cg2H&c}@mrY{~F*BV1c~-e# z@X6A1@-h!Jp38mtEPU!=KrTy>dwtd13rt+gC;2<=J$~gf*M$Am^P_f53kx;e^p?BT zmgBw0$AW`(;jhDDcn?lzN&fnE#c7M*D|gfuWF&872vvE1NIve%u_u)Y@8W$*SF5_Y zTd-f7!S$vjaRR^VD^`^=C%*m6*m$f$Ws>cyEjw;WPT1L#Sb5;tdI1BbmCvtlby_7F zuI0@0WZwMN2vM#H5BL3$TRy9E#`{An<DU23kJ?eLt(iDA2b8mYpUkU#8+^uJlUZx> zgo<U;Ri-L%O?Bp35VxoKb>M~rw^gGiDu-vhzBVV$t+Z4+vZ`=ac3v1qU67mm<!g(7 zib`_7W#3oWwJvdq^%<QtjygYISS-;J{nmDe<6Jd=R^dbruB9=_ldS%koGaUP%;tCv z$AP#1Ow_^}RCcQ9IEuQLSv;HPc`)BpM&kv$bD)(|=(MMt+6QDm`}sIAYu;j)wVxZ~ znWU}xe5I-KgFnl4YPGhXmEl@(->mZS#^ooxlr}uscr>6hV9|Sq&o8QLHKPJjJe_5Z z8E7rJWGNu{pF!s&?~lu;em1L~kUVkxlL@1>K~c)x(?QAdy$&ir4cuhrF)Yb6R!(k} zsWTC}XvLP6D3h{N-cQrqB3|S3o&OBKUhT-~^YhP&J*O=3YG#`3`K@Y4lfr^dl}(;_ zs_)3(%%w7q?RO_%DHWAIp%VIp!L8zz-If(`E{THYF8HfoYUDb?>T!_A^KkNll^zUl zV+8D@)~xHDbc*>ugP`ocEf*H<xZC&Tz}!9~xAOY3{+Z#)JSqPftX6DVtUr5CE4!@y zT9z&I%eh*<o@Lfy<2u7NM}PTV^S@E+V&1c>^vzhY=g@(UPX~Xfzx0rpP_{s!RN>3_ z1ujpM&wcEVtG*!TCLO?2eT8SOqEmB`<_Y`1SsU)H>Ak+{iwMIt)yT4qKi&A38thtd znrHs!vo3FT=%184X8q4ZJm`jna*y23RZq2NY*Z|@o|ZHH!6Z#?0~deuD$U0|T-k<q zocegp8D}(ju&=8M%J7}EXU0hd(XUHcBYs-{3);P%Z~k1D2%&@L_;c!`N_w8KYAw%~ zIKI}TQSnev*`lq=Ik9V%w>h4V<G;30HKfDq;feDy$sd=qN!-0$E@|pIY0J^sx|eqg zAAjn_m~(p4-5oYbt5(;XTkxSWhv)gFdFyveS{L71=5k`Ln&GrtY#g@_{%4SipX%|x z|M}~H3ET_90;*)XB>TQOHaR}Gn|D=Zl98`UtAt)vn|hO$%YCJ_Tb^jGIMw+2>#AiA zEqRuAFW;KxT0b>~VTGl|0`@&UA~Fe+{f#s_a!&9R@b7gyk}^d`?%$LzYEDa+2&q}T zVf=2=y~ApEUii7I54Pu@n|d;U`{Nd#w8bo*JGrOn6*0UheC>Cz#K^2J&Tzhe)--X( zK8Y_T%&m%dn(E%~zcx|&jMMXGuOnvX41y+VHm~AXJS~5w<L!n@_G`1aHMqYw+9b6V zoc)xbUB<ju{giOFW`b36*NUlUY)|xaJ!t#7Of2;8<K81*jtBZ4;9BtKfc%ts{*N7B z&ztI0Bwp#eeDaRR^A^qe&!8>IaH9BUfcUdJXR0oH1bOS*ZuWc9pTd$G6!Nd;lBV+a zO1<zVf62wFMZv2sd$S!(J}GIUAg^r`uRq0Tu?q8z%QZXpJlMGYoO|Gf+ROz){8O)d zUCGFGVA`#-S01fpWZHBh(#`K4=gO=5oW%<N)n>-DDJrIx)$MpZtNZ&*LyeyoQho(6 zEaCC^v#yG7SxXp4z}%ba>k~2+ca$<kR&?~w>Nzf{P;=muZDGI-KG)DgsZE;aecs7O zIUF&2;&6Cdb?}*%x2fmuJ-A|2V3EY|#wz{Z1S4l5F%@f<<;$xwgFJa}FZ{P<W7G2Q zlag&cCI7IxsGa)R{BHl31)PU^*B;<wm#KY~mL$0D@U(yW-+WC@yjA*S@pa+P93HV( zg@Fa~W+y%i%kDnT8z}l9aeMWp_qNPT>@~%{9Pht-HQ4VdsOMVUux{PqeMW4>m!{5K z9I1PC!%gObmp?*sp1OS~*OuLJUVg6ecV<Q5^&dX_FfIx^Rea)2@#I%oPQ_1GS|;rH z6~eHsaKerk?pZ}s<&W>bxPsBAx$LTRdwsHp?BXMN<wq)0UQWI}E7@azMT5*dj`tq# zjqOxo%qrE_YV#fX*`@MxgXas|RT4K=ZJ+u5drGawEZ>H8XP<hUvs%AbJ3*juQsn}t z4V8lPJk91c@bO=nl~V1+Qg-4P=ef#Xm*%DD9bT_Cb<b9H=B(|G??YzrC`rs0(7Sg0 z9=oZu@v#Cvkx!XNV+5Ec|Es>N!mHC{!}C}|{@NP0EoliqgSZ77?C07xuxws0_>Fy1 z-Ifatj5}u}d^yijo28IoG=KB9W66{D%$xUY@&sO%qdPWe@19rv{MxK?CcBtvFEl@; zUVr}k$XAo*Ghx;d!ndXytWn;Su>RMc(zu;=J6EV=nh7(_`FLyXRE2g~k7o;NPjNM$ ze72Hvp@qT+Y34~)mz_**&*0f+VB~OMX}XY=7ek!cTe*G9@2#HD<a6w&taSPMrPh-a zK8w~l2rNAKepa#3iG^mpr%xuo^tv-y?vUeSrCGP9*{*I_Ip^afhcC-!>hj$A$rrEr z_ky8clKG~dg!2CkQp%bIACJy$a=pi2*dNu(c1`Q-q~b~LSr-kLNOzsxIlbz!+@V>@ z3jZ0Z@02{>s#&T$)w;NkUF7W&rVSe${GIQu&~f?U#3=K{?n=*r4WABv`IGs(;P>o# zm0wKm&QLO8-Tryvt;s1ShAoXPDVhr3?G3(*JZ#T>xaoo1mafo!DZgJ&oc1;#H>e=x z_MHhvyqvAAZN4WiEzYfZ&>tl!>v&pQ>`Br@uPIuuB$^K{GZf@KXO=u?-l4S-Yz-5O zE=|9C<J)pYVY?f*RX)!771*y~vg2gp<!g%!msEs4wl{N^Fo|i?NnGMqBCoaWQkFS0 zYZ3pp$|VuG-x{7ao2#=tHdQ;Su%@~$aL$HjEk{fjSF*ojyvOG8hG7|7=au*8Y<FG0 zIP=jR{(BDuug&uK&oHmzco^H34*CDrSG{`i)Udhl-``jI`qgghD%{ThXIR&8wAmo2 ztgq#BSJ5;r$?$2C>*rfbCf=xAbNaPU*vl(Ig_GZVoa@@7`Q5~O0;3M6N<!5Ie}hlI zlNr|emCdQQxm@J_&hd6%`})s|YMc)8xEWR2e)f@z+SwQW>E@J8>2vR0;WY}4*R!9T z$nsA8$I2z!n0b;5PRnVo+>*R8Pcw3=xQ=;x|MI;mZ61e>_8A|4`Xgv&VVl<R?S6}9 zt>e~OU0ZqlrC(-QgTy53q#3i+jNFwpd&|}@d}Ys-Si~^V^7bFu&J{^h6egxTd}_l} zCc8OkMb5^=4atq~U0W{8KNsiWxVwK-Pr@Z_V?Fcv(|`E;A6tB9;x3Ql92KvxT=~H} zU#DjAoabwOTLt$RPgLYOedXJ-O^cbT<_CIy&bfDh=d0vd+s+`H1&oRFX09}GnZ0e_ zQ-%#PSF)DZDIDJXx#vOpYwyNme9=Gl{$07uwDj)wtnG=nMK0@1K6~<e@Cn(KHrp&p ztvA)Z`p;nOVRJNp3e%3`Hia&eT#_s9x*cP-_Tzu<dNO1BLdG^;Gyf@H4sWmO{_eom z@h<eqyoz75LZrD)wS2cwUhADQX#>~6!+Ba(SA5Pb);ZW*_OfeQY;%fNQHo@K{;^q3 zt89{Nk35j8;$Iu%nz&Yf>YU=f!xOT~GnGp`9`+@i-tqqJ&(Kn>HOgtXteC3*X2l!& z-?NUEdHg5aMP`vPXXBxk+gBKm>gWqC`0V!gCqwbn@1{cTyL4tsY<PZK<ibPF`-)s{ zZfup`mz>;a^`Bvtyuq)K3ID!qpDr}*I7@-?>sd>>cK&v<xc&Fu^LtAp1I2ANvP--? zYM00#DEL`j$oT98j^pyJTD!gXH#u0U%U_!@v$Ol4{M6>_>*LpI{e6G;o%F7Ts*7i$ zoLf52RaKX)Y%*?mVa|9``SR-k{wabd&WmWT@Yi)@UmkbmXXB>Z(^O<~C0@_D;&X(x zRC>x+rPXs6dh|b4?%nJ8Co?&T!zH&_);813_hd-zpXBT6d%4x53liteu&vi>@s&HK zFE7h^-oL7T#)($}y|>Fg85O>s<;gL%gCTLI$Ll*%F;9!w3Im%P&)Pr9o!xg~r{&j0 zhke)$oBuQDa=!FFuRSk(t!Z@8`@${r4$YCfQ*^tn;%EEUC1%HUCZ1|c_n(sTpnTan z_qz&=m#@uOEh!OKYv`9d^SB%HQkH%;<vsSnC)8Igb#S=<$NkeX@l<DV`8`kMeX1`# zVcPL@<2=3$E#(`WF?)90y>9!mY-7;P6QbNZ98&DfH~hZeuv}Bw@}FYJ3^Q$w9Of%B zebs+8Q|_GJGIz<my)So{&)8u2ME2;$lfN!ak5o;2((}P%$qY4%6F2YdV3+v1(n5#v z=S;Wo4d-{f541kLrDNZJh5(PpB5q6eiA*}<&c1Q^nLy>Fm?v+Q*DtlGjAmpI?qTlp z4dtDzb+%RO2K&0Yt;q$7mFHy&gP8Zdl;*H}{U&oqaMOQ=f2-Vn2JDcy{p<1>zthiZ z@9<68*>mEAYQc>Jz9M(^*M8R0tl@e07GIm%mf%zS?YzmV#_(yZKiIeV>LsmlVLtZs znu9q{LZADkSrgf(u-pl?&|;7IZdxcZ<L-=AqJKPB{1SNO!NaaLDcPepIW4!#X`_wi zgU9z~+}Dd_%qb{*9p=?kmw&EbH|dZWqg?y?$Khv!T$OjX^Au&;EK8n~+P{tcdDxNE zhLc=Im9Kq2HBC6JsC?nljyoPxyZP8S9xcB0S}>whrTBc*&V%-)o$_~=<j?b2@m%(= z#!l6U$Bvy#dU*K!D$ie9a{OG^@#aZdsT?71<7aRDCx2`@<J4{2&s6u_Tei}J&B(*U z$xO(CeaF|O1+Nw`&nav?t0*Y3_(+o*Gvod}wVDr8<V(Bc9&dl{yFt*gjC<bRUm>ZH zo_ys7?_c}-On!UvEYDuqU2^TO0}gbY=xQw&czgLmNYBL%?<2D3<*S#~x>|-_Jmax= zV*9(wW$Q$Y4tcn~sm)@ToNw*;)@l3c9e)k7%=jcFH!*jyMbGz-+qytlTeMK?m`du4 zod*`0=c!I<x0}=W<1zzdMUHt@NTto%nGfdOt+$$&u)&B;dd^$R7ks|9+nTzi^X~B5 zwclIF+jL_2gi4YB47<#G5=xI32Wj&LYaE}mGbg!ks)EjP-eVe)HUdtw#3ldU)VcR3 zz|cGI`1Gc`pS_%GUmEWC7ph<|$>&teH|DOir#F&sFsNIqKl>HRaOr^1Im>TL13Ns@ z8N1VEPkdV%DamnX_0}Eo_e?Z1Zbqy~x_PWRU;>}K#%C^0#y3~i|2`3)qRMbkefy<F z9HA_}C)q9EdYL~lS1B^!KUI5TtrDZu+y26Ur8^ZuCazh%%Y*$4yX}t!t2NL4{m<}b zV*j<pmNsu9ZvUO+8^G0^Y%|;Q#FOXOmV`=jH8)u<J9cTp(+XK>S&egd->lu8HK)s` zOm^#(wlsx#ZdP1n*LF@anC+9n_sNeTtI4QUDOFOTe5KjDptr4-=heGr^G~U%S@z7L zENSt6rddXHu|E#J47AxD;C0`Ok3sJ5t0bGnPt9$FIQ}z8IV`f}=;+s;*dM34D9rl% zq}TJ8X?98H+sw~$R+_j&v;T^Du|v^hhP7?H{oiWqr6QRVuePzX+kF)>D>T`!wSKFS zsRQ%Oa`B{a^|fg-OBdbHS@8abk-N|HOHDT{T|eFay=>LvGj|nVRs7BJlnry#X|~tn zW!h+wV>9vNH0F7SdXKE1cKoSr@%`7KOEMFBmjv%K?!8lFFE#V~v6=-(+b(!26o$=+ znd_%=*nY;2*M0M@G;T1IxKpoxZFOhUjsuqO{Jmn2q<S8D-1wj2`ZCVRGKNo9OsM{{ zyy?ttf4QGet|%O9E<Uz`;X$9Le3ZvJu`te4Y_SI>RMlqaY<;%NfYH&(p!mjRo0HzM zI}Uv)zW>taj+pN44NJb-Ut8?lHpx6j>x<<pUxp05r%Vb9TAojS?KrREhSB5wEX=>I znxr!8JW0MbMaZswuQp>IXUe2I&l#01n14N6;yGvKi6`^EdOqn)GF+XfSMlxmisdI2 z3|9n5FuOMFdoHh$Ecwpe=0b$<WQEDhD;_It{+?QvF8MN8EaThpt(EVpLyUfQFUt6^ zYK~gv`yiDgVixS`4b@!d`R7avur<69yj}1!-{J);H^f}|T*)v;z_{_OMXaIp_7u4r zM^ifePaS7GF0nFsYJAbcbA0^Q`T}+?f8KG#Z#mD+@b`Y_r>(jpIDfkGv*&x$OnUbe zAF%oL_|}rlnv;_%|D`ju-2Qw2Tl-q?&Tx~Kn?*~WdK~poId-MLRc2E4wZb}vxMlMu zP5XO!Qt<w*{u)1f`L{@%I_1bae|P`2sq2_G-s69I{CUW=$nCs8RX)z!!#C%WWSd>_ zfv;=sxEB4|=_7jZyi?^;K@CR!v*)V5uPXGBey-eP!IE&bp<t=Rldr!*w#1(1yO){N z*%D-V{>zd~S;_BaPh>e{UBluQ&tbfN|8-!4L%!w=nX=`lOinNS#Nfd8CS|_Y<O=5Z z>)t$;Jjr}-mD?G&zegtaZTUNM;+4nMj63FEo;6+Yv(V2qMe@s6ys(#=;?=R{OxfdY z#&fQE94XXZY^mk`vE;6w@ce0hOUl3h3b|3PnyGv&RDOQk*W|OQjGq4)A{<_xe;yj< ztn@za-=1Qp4QZV7XRrA3=T$_^1)<zzp&jZL2Oo>_Y?gSG<Y8}S)-$2@75^kZu7~Y5 z<-e}Xo~N@Z`CO9WU59su!KXZ{Dm&+STs+CK;CH|#Ch^QCe05s`J$mcHPHlIUWqg0u zL~G8b5C0kNeOa~9bNZ3rjI3qrV;;55*L-FBW6ftn)p9xZc(0ien|9cwFfI6X>8Yl% z!=7kop>m#*Wo;@o$MaP_zYLkOCxMgAefe6ie`)rWhp%igRr=2`M?CxQ+s9AkuUs&2 zb5!~Lb<K-2OPe^^su=H^EQ(!IR4Mx^C-kh~C&%B1KifH{&#BdNo#+v?vw+R;vgtIg z=jESPh6Nojcq~)sxxh3mfX#SI-`xzM))P+U^8VLNXFp#gT4(!XiMT}m?oZoo=51-X z8pdQidBWkR$7Q}RjpX}uV1h`p<m<@QhKWzr+|SP4_wUd$9<%o6lfUn6kF(8+VtOz? zYui<p`8l&TZ2HfzMyH}b<K*`>OH28#a~aRGedRVeE4}<oh271UA#Ah!x0-KI_>#Nl z<9iQD?$qKR*YamQR+wjarTq9>PuXKeHyP%2Rb5pv$zWRkEcn23?H<E8j|YAK8KTa6 zMhfJ-*fY<_^Ytv2E)}CAoJO^8KAyic+jaVO!`$Wbj6B|cU0kf^)x+~Z_|Ge0wI^JA zWG3AE&k$9Re*E<LYYRA=C-!``e?Dt+b?rT^Nt<PuxQg%Z^@`T<>JdD^*3Fn@8PEPi zsA^JS|AH0XJr;4?rAM8fXR_#tOV~%*1%K}|4!R(Ix{Y&h(Fy~DERkCR;`Zj-P5Gt& zB~Sc&=c7Z~ahtSBOt+dmCaim~;L9u9SDM}{?td0AoM8QIHG{+yd+ok8R>l718K;(8 z)V~a4-R8q||KKal*<CBjxYitL5Le+}m$h-?#!t=1b1t7$?daWLaa{h~+=dA}?mGl` zp3CIpdc5$Q|Cg0g4&j^TS;+G5HI#IgD|^Q>%fZ6n#HlvhbCx2jiXs_w4x}s8TlFrD zi{L6h6aD0zZ3a{5kp?r*6OZqIULv@pBeXH`vfNaL3DN~icm2Kdm1$|`dCs23`?eWO zuD#zm7CTNp@NIde-|}qzGu7qC*P5wEO6R>1Jn?<yr6Ae(*3#$A6Tht3AvpC;;k`Km zPrj?K-)m!_@~?ib$GR4t=ls8tCNrsoGv`~x-F)f1ewp9-6CuB+oM3z)=lPZSPv*lb zf3GN{&tgy7ti0~d93k^Mk)Abt(to<PT{M|9NAC__^}4F0Y01*|XE^1W`|P&Nh*%b^ zC%@oja31qhXFu-ApPGEFPaU-U8S!t*5w|l&9{=>N9NhBx)LWSg%3RSp-1ByPS^m&b z%cz{+i_62Y@r9qItgpr~23yUw5-~<8+p4}V(J^kbNWN_Q^3H0Zryf5Y|M*80lpd4b z>r^PH((_C1&V@+tocP&yeqAh*Qc1tHd*i)1t9LU@;I!3JyJI%VD*dI$-tV<fpMO}Q z6!1wPtV~zIUe79Nia=dbVdJdU(4UFZPTsw2^5JN|a^K-!7rZ-oc8k4Wf9-c#A<e?V zhVR)d=eK&5w(V;T_C0-3H#KI_Mgzu~O%EPR9^Y#sB=O+S-2NYzMVbz5)bh8H({P)x zeHy>)N)x3M_L>JyO+2{lfe?4f#LM%v3>72;PXzzG+<90=^G&5mL!CF1<@e)DJ$Jli z^q2b@&oFI*p>@086wO;l{e4mbLc6sjKI}=p*TcrbyyMHS>MKsp4W6%madH0i<G0;- zlx6bD*i&zA+%ojZ*JkB=Y9n}D!fsh>&D<q5H_q9vxI4M=QiH(U<6K6zuCff=pPqc~ zni=!=+U>@-{pThKyoqdM_o<KKda6Co^G;dyuWI?VZlWjEEzdKQosHFqU@Ntb_|KqK z(dls9c}{<_L(!CSuNmPi6aQYE6Tqmyvpw+k@~B<68`F{;Y~}=2R@XgezCVk3%KE8y z#9I~QkKdah#D2!$_?MME8ElU#*ykUcxR{YM@ba?ifFSL4AE(`a+JFAb(vvTu3vGWD zhDj;*e*E%i@~O@a?#butEWe&LInWvLK=8gz$@1RE3)H(NpH95Mz+dRtWAO6CtIW>~ zhwOqUPCEW+`J!KWcjr9$r1>=Bv5e-|xBXQUm8`#69ynI9l1c2mwSS$fVTbiW8zGJ_ z@=;qidhj?dXZgw1=eU4_EwV1A$idz}YC<bZ;pE_B-97J~Z+f)k2EVe*KM}@Q$*C<V zPXs^x`lq(0GC_Xk#&ZVtYps)PDwX%&wRIF#Qs$pI<v+vxsBp%K>mF~mkeT4`Rgtt` z<KVf<?{EEXZfPhm7b=`p7hSYo;$8HHg$)~5^Y1=r%f54EUCy89>I+51Vp3C;wND)Q z`gJ*{NY8T%nZH>%tW!@d;ITY;@|&&ZtNZpVl;wNFc(?h_+{M59>x<0SW)ghu8$}v+ z$~<jMwW+$YC|xF5edF2CFbjq`4<3Lj2bQ^pFZjPM$P~Yn%C1*<%>LI`^LcEczkih; zO<S!rX+crdm9u)$Pi^X>n2yaU)?`>|Y4hv3+*Yfzjhijs|GbuUN}7>9YHqne<$(vy z*BYg?jrL1O1{v{J%~jPZXE5Na+d6HHanJlyYdAUOHO}WBYno&lmQ<HhRB5VoULmHz z$bM}KCx`m8UyqiDDNb2vQ#I#b3A^To$vaLb_i$~LJ(5vr)0Zuns^&j?!D??k4~C$e z$!V5tJToo-g{G>X503EGyX0IdYIJ(yJjX>3@|XN6JNWf=@R|eZ>XMI@FKw{7V4=L! zZ!%NxygSW4zS55h8@KLw$LlL|;JNK;UbVwKe=i2Dxg&e0+(bCJHcfi-{Dmv81>W1h zdffR+-BzoZ;+=lRudGAWlxtIh3{R}~R5<Z`@~xd;X4`Vw?Q2@c`SVWna<451XP<b` zBQ?`Ae)gpemx>DR&y9?3VwZijE-iPlsHA-V)`)N}1IwdHD$n<urmB9m<u%B-8EO1w zWuwHJrL)y-wNA`#44KI*<#l+gAD<g*s?H7;;pRTALmm}pGnOd(7@YN58zTDqYRiPO zwIVGSYooVDgdJG(b^6EES_eK}+7e`xv4``ORzh(|Gf&#`;Fo7}IVDc1PAK$W(RkKE zNPF8<Z;35Fe3@AaSy5kB`n@>0U=fKc)?NmyG5V;Rv|Q#qTNJuFX_AbeX3MWj#;lU2 zoLQe=h3;I{shOaqmeo7s@vMezti`9?Hg;;;SxGf6{jy@_=g^yfU#p!B@#fV~?`qf| zpVc^ruP95b_{55wO=Wp)t2Y;aUD4B0vSQ}BBI|2G$sV%1WIhLOlsH$h%(&<4%YZG- z%xar+cJu3=JnyyUxk~-~b8R(!S!NUZ=4QD~xNc!RrO0wsQL8dTQT6k#Iooac*E)Y{ zs-Cvyw5CVz@%*JB36-{mQ98%f7AOc5UKin&_^gq9*}76b>dc%Hwe6{)$4}3BwsGBr zCWEY$$acjic@pdv%(vIoYW1ACy<NDEgZV$h`tWB?3!3k3o}*#$>AUcO^I1x)>PdAu z%wJbMnI<DM@tD@>mCWkQ>he=V3bz*qUt7VpjpOY^53b2uD@}GENC0gb7A^iX$<J!? zQ3ef`KesnI9+X&mqxh_kNJ`(#XLCeaZ}-gdWsEWNSNZIJ&x57UR`a~%0p<PvYt^TP z=Xuzqe_WxZ;l!zK!8Dcgt?y6yr<RZRT3GyEJg3mn<zA+G;bWP!B|2*?^Bg5a{mU3% zu@xWxv^1yo1N%~jxX7NIHOE)JzCLThDXV!$=AYZdVX1p<Ug(L#ygOg9D}P?VTdY*} zBxp5{c5?H%Y|R)xw#q*%B0GL|oOofmGKY6T2%~yj;rm$}PLA<Yet(WkN@8QbZfX?M z*lt@X6O_Z<ocW|rdihqj8#;@ZRXkg5vPN9iKPq!a?t%x!N9__+Yt|K&GrkSETO{x` zW?n7-rRis7Cf%*#&+1kY>OFW~{%@6KLw3TadaiZ_+2s@c(=2%W+zVd@O#U?Oi&CqC zV!j5`iq%b3efRE1_0Ft}NhlL}#v!oLLX<Hra0ion{=dC;2~rLdBt<@0topQ4In$QU z)yi4UlX-qt#}4-F;&)bcYHbJBE7=RlG+yXxY|c?%@pAG%QR8iosv8RXy^^Q0FDt$_ zLsYtwnSpn&Th)cw#wS9BuMezb_pAQ5<+}6)Gd}yZwj3$Eid<)3_8&KupCc{TFmJi6 zbwJ2->y!T((q;IM&G^{B?mVyXMdmhbzRc}r7o5r&uCT@QJI}u~cZ*D!UeSLB$CrT| z4b0UAMech&n9YuI{b$gc=lCj1tl~D;nwY)^$#VC;%s6IL<Swz`9ap^Uud6OBxo0OV zneUXvrn_7B+`Y^@lXkwU3KBXp@5iGRY~rkrPv%FZ&-#&?_Sk+db5WC(%w@~pKW-mq zmkD6%-1cO>$;YzetA$_KYT527unN&{RmnYAS7cqQ!E}G#(Y^{1?zzjeHio|8e;vYY z?tE$C#6261Mi|H*_hPvD+vC8&bG6mMi*^b28}i4;{bz_elHThz>CX1NN4<CYe!P4e zGC?}qt}gfH$(Jv*;<v2+vqN5=;hId42b;t@W)<P<Ywgb_-A;b+)h2DehICz$h2)#c z=WDf2EbL_0o;R;)!=Fzw8*>*F`ib-IV7`2P<5>>g2RB0}Pu@N!_)<_(LHIM3T-(Ce z5!}}47SFevT1=U^bH-ndoN%+q8*|@OsxZ&0pJBCLeZleIh;Dm(qkm~jKW}oo|KX_b zu^df>303p#rtlOs^v$`-I$Pq7<F_S7&68T1?_X*;uy^Ne9ySk#Lhl_5EmTsHUxx53 zZIkQ>zMgs1Yg1*9`276;46(e839BaTWb7_I@!spi=|i7v?GLTyyd&H<<)NjPr%jh- z!+ZwA;HGN+m|&*&wNDH9mm1vB|Ij06e6MYKQ*eWIz!H|VQj<T;pHh@%B#_5>he31U z%wx=q$2`<U)*NBD8Mnj2@?7o8&kX1FmCwAnBlG2tCOb1jb^5J&UXzc%_7h@@+j;xI z;u&1OJ(*=DAHOtN=Bc0Y%adpQ))=1mzc#bML;2nBg1Vh6RTu4K&#YuCIv`MeX^P^V zIqzQnXLz;zZEsz~4~g^k_m<YK)%z5k@%H-stc*#9$}4YG9A}&7{kT5o@vO3=DhXe{ zE)!TVHLv%2*Xo8I&x9ihUshgSoFIDT;~lA0j;V+G&rQ*=bUt7b!?~UHXEo!*SyQyP zdDtsGHuYW}SIhY}X!^MaH||vT`+NCt&OGO(H1}@jORob>!9Cx<tk`q?)`}x$RSC)c zRSpk#9<x6-^}vLL-(4Is2Cv;be|Eg@xzx!daD!bWhNCB6;S@tb^_-xe5itcGD;dKM zvmTOLG%-A{jHl|-PA^r<#0i$EERVNuUu))Zh0o8y;)LY$3s>K?DNbK&y1^~9UW?1< zh@!-%b)4^5O&9z8`{@za(%c;NMzCM<@wLUbnxDV1zN*Hi*;1f#&ieDuV4u`JZkc(1 z>!xnFxH@%aWAb^K%TfY$5yvWiNnJHCoOPdfW5jcrD>*F<0x9d|9it{iSLvC3KW{1= zU3;}mOWH>B`18;LV=t?BF)3vxXA(CQvHyIw-o`p~qLILZI+1?4<VtCko?MZi4d?WZ zZr;**+{yC%T9XrH+n*JN^B4)<-S{$a3ya#N-JVYxU%MNKp5$&gV*c~%iieg(j0es} zhcIWIDpP#lr)B0I#?n81t9HY&viu33B)<L%s#(L;czmh$9PwLA-ZRu{7IrL|>c;V) z@to~Z1*sh|Qxg~^?3PWjc(C%(V%FqT=5<yRn~Gn%OPqY~AS7ma=j_Qx(-$O9Y(DUO zR?CTn<z|fM463UyEp{tUb<n<l-GuM(bioI!H`*S25`4I+c9p?d^?OW4>?|^ugBzP1 z^S*FY3(s31>?Jw1F0T99EJp>+SJeTJoYfe<neuQe#V$GFU>UpT_vO$DtlY}-%N^>r z3fyx$U}W|9*CnQ8d99xEWsAIB=RQ5nW<4W$xx}wai+4OJs=n%~_*CM&vdZ&5&C|+! z#glKXRaWahl=Mc~zIwwlliz;qd0RuQP2Sw#a=3eaf0fhg)4~n+udQ+2@TxAkah_)R z<hLQ_0=uK%bxqtZ)a57Y=l`E!U4!n-sUhi-wzgTiuR_1;m48=Xerb{KCvB@9tvSrT znUXU*bC2%+b%C{2rMIhy-QFw5f8$~Ez&Xq(Ok<z8p6cUct9<Pt=x5~B^VR-TgDzXB zLSK22|5CN0tWEn4-FPyo?D>VuHiyI+-m332KFeZsn14o@UGrY0CeH)veeN4pgvFR- zahKmYlKg3bPu(x3y^fMkx>)Sb_~?Dj2bClmS^}-7Ci%xzteBm5^v!aM<Mwm47K`xj zb(%NxRc$MSn&e^)OXeL*IM2AcUGv|wxA?t>qjJ9Gx7UtpPLZ2hKK3sSaxmTY$oEe3 ziC>q^I4*E*sCavAdBujs6|bu0p9j{gGk<PfVfioA!FiW^Li@YM##xyX7LR2+zI|QU z$Rp|1!tl-JGFM3gN4)b{pN57LC+99K7o0yMC0Ne)ao(HVUyk~{sS5~~_!qJ-duqkz zrz<7dW&iSuGqKz`Tz6PHdExu_KKGJs3p@@UH&vSWMAGp@aD(+Mh7OlD)0>Kx#n;yc z2qqXriYvIESSnxo<QVgu23HfI6EC8lon(-Ed~Ko|8|U-SB0?8-s&mhI{$)k+j;ZSV zG~aIESueNcTKUhic?JbplUdp}O<2;vcfan+v!GRx1&$2;S+1Y1)IQj0Yg_EAxbHnf z*}+vBF6ULNznQ#vY~9Cxip`hjXussiugli4nWdyR)z4+w;?g@~&zX8b2Duqum-ZPs z@_sI!zhL=8zZbt2DDYgGdRXQ|Rq&2A&V7F2^)_7Hr@5pvP7BW|6V2c_QeV$9c}}Uw zA+EpIPJEZSBp9KrX|zo|<8|n{!;RZncU6Tx4+~n|^Q6?)UMlCJ(0UO+ra1zJCw>L{ z_=+^kYaUv0&ONVU$wXxxk!62=eOY-Vt9hlm<&s{8S)MWv<XoeYwIr_d%b9(i@5ApE zuj9FON|ANfro(3@cq~@lmsJw5-|7>GO#rJxi`UBeQ#Vgr^<bv>bD8E#%aZl(>n=I* z#g^SvsFio)ekQBX&q5c@&-FihOmk1N^0V(>R(?yj-jz1v;)7|ftnEs3PYP@nI5DXu zj^F2Bso=3=aUFLnpMO|xldP+hUMTZ?UY1D@Pn#{9U*;Y5O;dljGklS|a`?QTfrb3F zsY{GxUm3J7uo3*aU`P4g>kY<VRx_wG&*R@-)%kJm3BSU#9=FT1^L}o=d~4S23x8g= z{`=~BAjxy58FNpvy8Keh8JkUhn>8>n|GHA-%hlv?@O<2n(6B3toj0#MR+c+_uY03O zbfHR%NlW25Rzr`ZGaqN1>NBb^o$_nyI`2=BZH%@nSC&W=JotEdZ|F_7Ri`Bb)=yPl z5WoBDvc+u$0z!@t9xruK3wWdvui>EFe<p32kfE}y@$H^~bxhuhw;roM`69RXm8WFy zDhbAkx0@Tc$QS!YGOyUt@i<ef_TyV0p1YNHY5ogD4$Mu_74~fG_^|wSpm?dP$8C0- z{|ucgt{xKHlYV>qwK+^1Yj~!8{j!?LrP6cq>BEeNA20kB9G>Q)DbXAL?7_!biK*QU zW$#|GSMgoqJEAae=Q5U~cll>6*bw)3zf`3~?9Dq?59DU9XlYp4A;bJrCM3aO?Z){z zy*KzczAi0L$?149Wd+xc<F=Vk)qaY}FzZP)zYO4=U-&)8{;s5{;*I@^dWWws{1te{ z<g}V=(Ypog^7?jHV`G>48*ZDswnsm|Drp*@`YrYky?_6{e0XQhKIVzdjSU$)ezqHS zY5IKJy}IO^<y((3p~z1jUzaILH*f!t&NR_7#`3x4v!xr&d^a|PA3J)Ut!JG#Q*3{j z?JLm~mQKb}c8l|DtrJc;q;l_G@J5qkO0MB#4eQMps;Vyd2+Gd>@P6)Mo5|k$6KXb` zGmt1^Tyf-l!$HBD^*7JkEox8=JJfN%`O4$#_hyLOdP=<E7iAIJ^6rxG)S|kEuCRjO z48=LcvlwP<@j3XDefjAFBG)SpYi&Gn&eqpuJxgOi%_~dm+6=d;OKuB<vM;FPm;3V5 zVTP5V&hjkH^EN_uQx(b+VhsdJY+tb^Zhy{r(_i-ZbKf(0OSU<lXDAV|XtZWJ{UUsx z_2u?+s~$gLNm%)M*7{ExhnOc{=_|@)RDQqBf3JcL590<I{-`hp)_}sv^J5+@WR+w} zS!ZiKD<jjXf40ikAgfwl2A?CFQ)+fDGf;jiuW?>&(JA9;6N_#fE50<z=~K$I7xs=0 z{F2XaO^sl!eX#9Kk#&e%(jA2vOzd}G-w9b3GcD<c0)uOigMCT0<jrl#ja@!(3R+T1 z)fSalcg-<+AmGZYcJ)ld3KhopA<VNhQVK5X+dR&f_%$mm{WHtPn%!)c?=)v$Nwayf z-SW#a_B;Nzyi7Y2RbGTkXRcao>u7sYV#UqA!vYUBp5LqSa%af2FD5(PeB3{#Fut6B zZK@ON9lww{p*0>S9R5Cj-gl=e=-AIwZ%@edd_3#z;3uQJDffirlh2`(EFLSC?Ub3* z=l(coOQ-z3-2LYk-l_Y*!gwW!@xiJ&2B*!vJX17<tR_g#&OD#!Ek9HJv_$OPqGPjC z^UNm{RPoJR!rbgWx%pVt*A??6PZzOzL_Xf3*TBZzBgbz0l4&K&iQRk4F6FRIOLOgL z+#-8egnf3=7I&ld$}-6>16OM>=oP*X+!=O4wwCcpoylY-x8S*-T$1vGs(xRVcv8i8 zC#Z7LTh4=yuPT>h%Jk^Wc3-A-An)q!t(`i2jz^6wBOUJ@?W_J3aw^h|JN??iB8ie` zjdu#2l{W8SjKA=yZp%>x8LKD!j~4!Cs9@S~;N?-RcM{x(HvS9Y$ViebGZQiM-?99x z`g^~t(#FTv8WucVqI=+v<uaz2nmvCr7(M-bK3V<Bm0Wy!`|EsVGpjZUlP{mS)?H(e zJ2r7q?$PfJ{xMzUjFUW8Uw)R8p7HwYGVPtQeYZO;S$Gnvf}WqAWENm^%(^^ztCeeL zI?wHnmwor69E3LXMM&?EU%28#v0O-lcRKqzyD8uNO*&(0FECiHn7cvns`G>!ayv{K z+%oQ-nre4<WzQxvQFqzjg+cZ+C;bcHTF$JtNK@xbi~8Lhnc|}{4q-aYb9iJf$G>lz zI?bneXH_l#UaO*sXP>?~=EwKg=k|nGyF)|L``TZIsI^$%nA9UGe{CVlG5#}>yM8B4 zjp*2OQBvzp-gz%MQ-ySfzU99H944;v=m|aJ>Q*7YEOUmUgSz_Hh07CGc&NykHU63v zcjAG-@xH3AEeCRXVsx6E*0f8zGw$0m+gWD*)Lj?CA|*B^1<1`<am$rKL(=leysI$> zj?dev<9}`8<mIP~-_HuuQ5EdlTm1H|TS(8U_srXUF7M>!4LH@7s@-@+uHt>b+!>C- z{r7tGZWT4OtUPgk{lX=YJ{f`{F6<0_{?|=hT=J*#a=zLjJ$vWUQ?2^y8jB}bs?9p9 z_UN_bp<kc;_bMjwTgF*m6*%^@$-}c>p^V2Wty6TGK#ybch5py>vwC(E|2}xkcIDE8 z-6!MPXR(-tXt}ZROPb6)Z4fx|#=L)59!hym4gOp%>+1e}<L-qI7%J5om`?Hk+9>hs z%l9Qhii~a%d@jw4tCJSqGYD9Jrd?*9uiJg4%7&CG{-~`A_Wv&|QfX&-BRFq%zq23f z6@leEcQj=+y=rzSE0<Nu`d^xJaE?&b{6l-#&K+FCwZYX{&W*3~<nk%ER==_eTExl! zK4jay85SZlZd6J;y!4pXa_3<=ljl3>iT-TL+uROJtdN^?c`i@Zz4ZGh4#=9#`zjf) z`aN0k#Ii;u1G8u90d@JOmfGt%STHT=&Y8H|I!EU}!%{`*a227o2kf?d(a1=6{rB4K zPdjA#*BUx=Ojob8Nn7r4ac)nGwjSpfk?tuBN_l<_zpm_N<eDxcxTWveGPWS8aMeJI zJM5pAXuav``w?ox{Ms#Kvs;lD&xazu+LbZvTl$|GGCKGjDJs6Vut%k^#ecTVmDM{Q z&fWIz>nqLKCsK_xGk#CJQhn(e<C{}!M3p6ML%uJ6I&sH|TNbwanS*kL{GtSoiWGPp ztJ@mVVD|SJ%NO;&EH96VE<vK)5@C7eeOm+$x1JYOs(Y}ZciZuvT-%UeT`4Iu4*UFP zFfO${xnNP)p}qqDrEU*$(gK)!66&oOVt>ylmCY1a6pWtst~M*0>0nOckApG`-hW+j zWwX+WJ939@H5aGrRF})Xa5(>crW?QWb&+*yEw>_48{?xyHt0=Y@?OV(X<1mjZNQU- z7A)mw)gGu!G(KTnYw>-xPh*3YPR6_$$=7D_6-&H+?VsGDb)1Xe|D#Fkjda0e+bdz6 zQ%~ugJyou0UH!bvacfo0k`mkcsBAYC*}6qd^D=|m9NPOV9<4NZD*trbWsQWTRZmKn zxJ^*dDrbLvJlVtBc%$PqoBD}<4oicxWmX<ezci&&%3JGa_H_17qEgz&m>iV_&lTTV zD|F2H$%9q%Jin}n3}-cRnmoC0OG84;e}*-=k3TI<YH}%O3}4h=#hu5z@;I}}?wAi; z504qR71Z`>cP<RDXD>ff9GJ%=dGc^`W7mWtHp}B8xh?(EbZ5R=@??Hh%8i_s)*d!3 z`OdOA)4n`f`r!1Ic~(IJf@e19PjfhUa(Pal&Jk$|$@AA{Np;G_*_+<yV!wO7sz5nG z_x|MOgUdHDNvh=boIYr4x#FIxwNm~)jkxFqXRR0Zr3s$=*1Mx~dPd;&!uQS|4mUjW zZhkrI;ix?|_I6$1?fxjYTh|V(Kg0a|(|hL)Cf4UZ-8Srz-SK?=wOMn!dFH*zlrUL* zww)*CXHmtUtYow3)3^Vv$+g}2b<v}ziV4vQJ$*-HlIAQ}+`!0EJkgi6sC*m8+u-AB zcP1GvNxnDrc#>LzU8!W+1Gz^_dLtMA?9j9Nc9!cRbJLP4hD`b7$&%;XO=S)}6?v>< zHi19B@U2&C;YPc_7k9Ia-Z-#)c@X^V*r(RxXM3LSl{t7ya8Hl%2FCfvzpiYuym3j9 zU0vCB-<G8_HmGl3@H#*&D5Z0!tee)lzy#w36V2Kp?Y%-7-np=L@%-Yc&Dv<c>(i9d z_rY_QC-oUvNd7C;ZFnlLP+-8H9K?F>c5zcx{nuB98#|5I5^u})uUyHsB|%#t;`4;c zqiIk4H6A(c>}7v<sK>4<{YpSYv-&BUsn5%dvedYr&b?vsjc;+aKxh9H#-ko@Y;r3O z7col8?fKP}#&AB!eyXY2%1VJxKhE1`xo9yPeSVW^W@xrj_0Y8BgOYE(1d<bC>Nmgq zacTaPl?Nr?_qDYhNLp7Zzc$=3lUXU3ce})M$(MmE?ln%Au>G5P<V1yf(eH0^Qzjm6 z`}^pr$BA!8t$Qc-u6Zl9@A_lqjq*`5JLI+WZU3&k`FTOFWSEhs-tx)EeWV1PJzH}G zmOPfts_Z#7t*7?f%ww9O0bZ9^^S-_yckil7wL|!e2cI||O}tvTf2HpHW3wjkSl<yp zz_8uo0oO#AmKodEvD;Q%yf8hn_uld@*WcELkDtXYDeOPCdd?Qt$r9EZR_x7;ShHeh zU_+64$@#S&lGB{`Pf^|;bH#Up*>>$O&-#)gJU-3j=`lAvVC|lz8g_mXlUDx>gICAz zEj1R6*RtfFX1l@h*Y_odbY`daS1Kz!YdP&&7SOxnd8TYN^9#+>5<1)|%`XanUE1`N zeTGHyp=V3v4NrY=&syCWJIQ#W*b~X)>gu1DE3Jv1F=tLe?eCC2gCpC$`jggqJn3`w zPRfXwWqN-{+r*EP-}`APOKLa&?CN!XmwRe~xr1%pmQ`LKn~!RDPl@E-c2S;rb?}9r zCq2zKKKjHoojF|8d~iw7&4ZHXJkMt>ky-rj)yh2YF9%;btu|^;W88UOc9p`bf*TBF z%FVN8dKvsaaINu_2E(3=Jr7c3KG;i5b>{hVU%&8m;J=TIvhFclN$(k^JHK`)nzUNL zz}Gb8&|79Mdt+byPfhM}O;g&!eui7TeE%aT@5rRQ$&!=p{eFB~V3o3FCwI?-qT*YN zHBKEpEt+>|O7dwQi=?`od39Tg8&*s0$+J0hx@Y2r{$mrZG<qJFvn0*4dw;rdzE@SJ za*!K`@&v2?V{=bA7i^q%|D;Op+pcUqqfo}MSN>~l)GCX6`s{yw=~^Pt@cUv>i;cxy zISIafR}2qLQ&yN)%j(&1bcwv7tmA{AsX?ut$`wySJ~K*L&9E<7==Z1i<!euswRx*| zOPpj^UYF@UYt^Y0%a!vVzV_b8v?8!Ieow^rm9lLs6>@c)X2tH%Iq01G{-3Bp%;Hn0 zocb8w_-AF->vJu(lsxhB%K{g5t%+OG%RW@dy4o0<-AFt<W9Ni<7Pg!3Tw3F`->5-y z_t#@tndT?BOd5}HPu`NOa)GsULdu)oiSg?y*{19~8MnrR-S#N!<;6UO^Amsky7JJG zVGe`!qoycrv4Y>Ce762x1qqAujQo9?gTGi7Zn@N&`?PRt!%5j!m-&K38JfZy?Bz1e znIunEN-y7L+v+7=en+-)NoZu6OMqLIu)Cp)%EZ&Wr>e_VMg>e{jW{uNMrz~FkXp^9 z5xW=nC{6rvxgmC$=k#hj2j|-tH#;TRc0Zq_!aVoxzqa<tjM4UH#z)-*7QGAJdOYTf zeH7Et-CFKviqC&K8+u^IlO{g4f}#qO>-Kw%`NH#<8t-3QIMwgb`G!5oHdhu-DO!-Y z>k?zgF}D<!=gaO#P1h1_yc6*C!09@+g+H67hn$F;(mF#lWx`uqhnKV3Sf|{QW_}j< z_wk>XrzE{6UcNmsbbD*6?$)9zxi60u!^6TJ%wx~1&16h6lZzBO)aS3*SKJ?^oaTRb zb*g(!h}Wbek}0>_Y*;Oqq^Uo7B2dK35T$3ebNQNun<O`Ge)s$Ny;biN-sWtynN)Sz zYo+zh^Lts<;vz*XCDiv{34Fflvs%G%3E6t7Wxpet7H{*nJ2btdb87c9mg0FkmnL<8 zJaMGA&*@jl{mc}tkB!IK|5UE|Qm(U+f!W;A?UBFFe}-OlL9;ARn|_6$a+!wO&3-~! zPs^XIw3Po_b%wWjQl+wd6whtGYc}RlF$-p{Q$JxDlYDQkNVlS5gdV%?ey&rVjxQ=q z{>3momU-x5QZ)TchRQ@k-5z=W#Cvnrw7N{#_u#o@^5h?(j76`wR^AbB;t%w5ldd@C z?$s9%Wb$Mp-%aP7lP}ztT3GOu_eD=I{M27{&PaRRNo78FpGjKr#%JnH_qiQ2Yd&T# z)y@`Jc{j@8{i()3w#NQ?BCDF4+}tm%(C1=cjqG2~@|$bIiP>I?$2`ut*Cz+O++ZSl z(BDKm_xa@eB1b0}a&>+ZoVWL{*76zLxn(aetM{LplOlLvv83hU<b9b%joHs8uq(9M z9%nY0m%XN1An)Jz{|xIE3(06WPOz41T2jgQ_m;Zz9RB#A%;`lwrx+M3-k&Rc?`P!U z^>jmc^9%Q_t~>Z=mlYltmCWI(mtXMGbAivcP0B(&1z8!l%S6xFY`*ec)Wd?|EyH%d zYN^7hW*l?dWF9=8BVW}xd1ZJSBg_2vA#VyAo#wWDiAkxxY80#(F{f0uI?!hMyCeIO z_Pd>95Sb;FI(dU#=#_W23{Pq^A7`g}TWH_lv$tCN%tb=U#c6$9)%+;Y%|;JIW&hes zO&2=db#PzM^75?;_6GMG+$FxOa%c}dEfB3DYN3!eUphrJO~;C<>Yu62f@n|2;;ozC zzx;7|mg|$!1dHSHb3-How^o_jpAB-_c&tj;T|=yAg?Y-v&Fr@QKdvlu<*J_C{GZ|a zDy{OSy72h*N^_s->uW#Vc%!f}WD)C<*)}p_uN?lB8i^}x+M!rfUGja^e1kYPXP)QR zKdy)jyk2*P@nvX&iBNe@XL8coo}N;XMPceiHT&b^gCjqQo_c4I$H4r1f7FE2C-3mp zRtFVo&$tjhUuWvEht21U=Y8q6XE0Pq+I*xXStuv*{`Fh4pXFG`vn^fl%yi$y<{h6{ z4ZLInxp)?;JYT16a9U&Ph5FSjq9$t%*^4%?d{qfCkvVo?E`xg7fgKFY6VGat{hYDk z^}UUklH}RnZS~v4Jm=fjCDyaJ&Het(efjKd7lX8FAHy;B=aF&AtBs;}$Ss#$d3)oQ zCv%r8zkco7^lWuZuDphYjQm>Dlp8k-cmAGtbw&#Fbd@JxzL*-!@$jgrN|vpC!E%=0 zGPK-K`K8xq=PlDMA1kX%uDMpPBdBq>#Nv6z*QIwq=iDjopStm{<`!cQzcsTLrKZ`m zTAq-P$}%>4<Z<if`xACeE87mQ`*yd_^W~h7tdn++{xfI``H7UsM>%BZ9C34gY-@ad zR-m@R!Q`VMVR2<2tV4c(V&vV?xA@mAh7Fr6Eadeb{*uaZGk7S{s=o5;s@uONewMqp zRjKXx84fMO6VH}8c%}6oJA1g`jaIyEc*c`fne??G><X;P>ic&r*SnM2_pZWjszPMs zoJnUG;;*gYjO{$l8u;rf^G<hJ&&L=3X8vxNppoYv^SkuG>I)f{qI++5*NLj%lF;et zb4W1Sx1@Z{1#jNN%-c<bJPsa~&(n%b+jQbU!5x`|=W6rL9PA7`Up%i~>qO6zoOgbg zejHfM^=9X3rhPO17JK;4s>=+Gd-8R;PUG?W$K}m@(@fq)*5%)wP-J+2yU9xxmQU7< zml~CRq@8<U7aw?C<fGCgN#n-XAuMaw2-~{)$r$|fE2z2<SY)*HO3C@UtCC^b&$eCs zTzm1P(rQV@ROP9!kH;UHxBh<fy!IU{cj`{w!P2ytyRUt%a*FJM(iP^s2b<Z>xyLZ} zzxGH8|9L)4S!ue#I-dgqet(bDb3SIjwn*cF%!8HB@BEg}l0Tt$c0&=H^bS+yIg<~{ zJBQ3@xvR*zv4i_X;qj%;5|i0^8~9nuR!+Skv*Pi+)|(f1u+0#BICJjI4gTtPE>AA- zTQJG0c~)kO;K{^07tGfCFy8t0C+jxj?e5}PcApb2F-!hu2ygte(yOVU>I&E4bCMOd zwVJ1Qx;dP$y?<%Osv|{qadXO-Su?mPr!n_W?+LILHk9_W`z~|IYIWXug`SW|hIdmv zVv;X^U8+0h$=CM|{DG4^A3W~&;i|MREk6By#r9m)=t+AmPyBg#<_!Z&!C|{E47<Cw zF+N{byV84Vogd?as@g0umBv0J>kF+NKaUx{cUZeJ{p{D5&UTNK*t5RsUR%h=S7bKt z$d^AW=e!S`!^c;fAz9(QUFP}ATT6{ue{N5icX(}@r<!5o#N9Gwa?9qdD>zd2=LNIR znZ?|%_<TJ!F)OIQo7i=Nw@s_3;yI7y()63XXO>p4e7b_!y+nV<k!V>4<*uomIxFr* zFAXsA+}_i0cO}bBWtr;wD27X^0nU@(_FZXDKXdcY7iCFPk9{E<B~=82Do<}M<B`+Y zAto-t-FWb<7aK!Q@9J}|4wKld4a$YDUz_5^EiTLcd1-;pBmvRnw#QGup4H&odgF`4 zar+r7%9(CYd6#E(xm=C$oU?G_d)EVdr1QB7jOYJnh?U5cFxTF0DLebJsn3ZUZ}|O} zYW$24o>aFdXlI%3>Pew9T9m&my=N}^%D?XZ-0&cldC5hL>avx~R&R8D<@sE0iW-+{ zTU}A5#j#AU<@|sADxY_CFu6<qlDqPti0jLfLeJLD2#wb#zAevHEb8sMVKXZ&yzC~| zI_oEomiS3*Gybc|+Ln7RVyBM3-TkO7MgdKBAOEr%)>k~qQF*@NL0zcU1EJ-U`}S(y z(b1BrIU?{xMsDY?OIy6>PkF*PxhrsMh0LRQ+-^s#66B2U{LN%--zF-b=b%vh(qBuu zQYCfgufo8-!sdx{l1-j+MQ0ZnIDWC4!lZIgYt8ZI;}0}HY8UOVka<x4=jFr=+D!)c znlH^$Io;O(bYah2;irKY=07~{e{2~?S?`U<&9Af+{2fmo_32s6s~%G(b45*CX!WKC z{IgXw<)(bg*Lkq+0sl{vtJ-t_ivPNN&we_?#}`_YS=u*-N((ejo>#xrXN^-|#d(WW zzs)8Ue);w*_`sowum8MwCYdYQajL|2|60GEH%3P$+1jq!q$k^5#PIdea>rv=UIyJ* z6KNwjalU`l+yX!2PmSklvsltB4!#Xj44#ws;F9Vh-*bzfzI=IYjq(H|hZ7=KouqY7 z*v+-)n$FmN!tl7w<sGfz3G>YuO|>>poKwK75Oi2#H6t@)U!m)PqNz6Xr}RBY|Gb<% z&S_hb<IA9&d*;lImp`qXCVKvq0mqY2MH9=IuisZbF0<L3BGsE5BWLk-WsCO~edk$Q zPHwc?cS*83bZOFIg-5G@CNs;r`mK1<cv*hMD#28h=T9xpMnv+T?%y5K;^!e>uC!K5 z?$4uHDMpV@9o|<MHYu+1MQygNGye=8u1!0C@AVBz(m$?e{dIMw2D8GosGhR35dn_s z*H+J%)*CX_;r6_&Q#;;9W*iZmIKOIUWW$3;TY^-syMJ9d_2-%`6Xwr0O_X@FwOe&@ zsLI($_xG1gr>t{VUmDrxQ+;h>ib<Ao%5&2MvusP1)gE_$hkcyb@+gvBRKb+PQsjfX z*ZYNG$Anz21RGTc?!L79abUUeQ+ZeOQfte#Ax#HeMMCd5x{3rdEb7w0fwiI;mI==a zvt7Bh<ynxE@KK{V$4w3&SZ}uGv@_=lnO`BxC0E3+E%I`^=%RCYR_Cm#vzfaZ_NLw3 z6L37K?yW=gy`}1xR&Pza>C9ai8uM|^qvd(kp=AosO=l;2^z3I?Z~1k_%>Bov&Ym1# z?quC~A*@KpEs3x2T$Y-`#EHIl-0PQR=^lA5TkkdTMzI|q!=G1THe613J{1NU7k}!h zzG4=|R8%1<{ABX>CQU!@`l!xRbJx!4t6ahy+xg(p>TSsqYI8g+-+x_o#;K|J(xRuX zyk(YO--ax;5&KuFGrK=di(N&}^IZK@rJnANV{C=zO=oINo@6Py)n4n!=a-Se=@JYK z{Bh4s7`t8=6mW3AKDo;1$=l;KAHS@v+%;)2!^gg5o0f*2R92AMa$wn|MRN=fzCB(Q zHgQJHfe+S~XER&Ru8?VPGxUioI%8mK|Le=K_O)kbN_!ly>6#F07<>3d*1|aB?Q=?( zwXyInXWnTdmbv;JL-VZ4nu&dn*QN@*;t1lGY4q4G#JpX5;(4WojcZQ%pK9k~|MYeF zihF(q3@;laoBU@N|7YO0_nQ4ya~{X@YZJt|9{kz6vS*dQfBnC`PHJJwyggSMrxu<6 zT<Ez$!dXPR{p{o)#Ye3ZV<x!E&HK`I;9<x4ts4JAig^_!B?}~ye_e5z#F5xl=gIPT zslkT4s<Z`CGHVWNU)<RI<Fd2tk?lUoa#I?ooQP=qx$$;aooM6vhYoE&m+ZS#Rkr+R zv*dBPtAZ)&vm6_|PyTad_6SSdVV)yXXDV1fy>G8ymRSx{HD94ez$D3?yyrBujx23f zyDl?{*Kn>lb0NdzD=C*{CfzOUt6cTj=SWdO?d}U|?VCUF2WhDl72M_cSIX`Ew7K#6 z{=FtA${!X9^tpdsxKSyLrEjj)-z;Hqznic9^aK+5iY!I>Z%H%mP~OIF!as#c&)hh% zwti~J&2x|Vs{Yz-O+KT=t@$e@NG`xq;{0o0Bd<-0k9(f{3uV@nNc_>iG+x!?@ltn< z4#R-`9q+@~suK?$3%9wVJ?UTja+|IT+7my05joJ<nfUU=zb%X&n)x%sdjyZV`D<@U z;E&6?+0wgI<j?-;k9|TzB@!>luT*Q$n8M?k+*IUv+<&PFpP9$e{+#~|QQJ;1>MW4q z%k<j7TKH-Ee&^Q?qLQNjKD@jvyGrayU-7JsYHn@?_2;8HdKknTe_mb2!n<XXcu)DV z73>S2U%2wfROb1-Ee*n-8Gl|@U9_-efwbuCD_@VA9Q(;*7sf0pTAs%zVj*$fmSf2Q z`Qr6US!Uh~dbszvzgO#G>jF2|OoMY0rC-0VIwr9sEO6rFIbEKOJ}&z!JI_@m&A2Gw z^;mSpMZTTSzpR*PSF_!Q|JX_c<GTe+>(|#ExWrO8O;UaT!zea`=%+GecYO^x`QCi6 z4$k2z%h@h7{Y_Tx+Xm|uN8>XX!V=7rms_lmV=!XiepUbL%VZ`&y-P;MU9J=7Oie!O zbzz;`#oM31ujujN)IKj_#&Ua8*|%4$-qNcT6`tsZ+&It{$Mv5fN@Pdwk%GOpFBuo8 zYc02xcr;gfUAd6|I*YRbk&)7McUoWYE1MiNE;!R7e5ERY=dw`Z=PPnoK0IfCFC+K2 zH|^)sMz@FVIhR|yFZ%I6pT%&AcZdFuOG{de3;X!(zPfnrZm@lMFQKQei1Y2O20hLw zm)imd&vCw;U&TE~!^!X6-nQCR6H{fh)93t>xqR4A-tgt627T?hORS1-&6Ci-_hg<M zZ~D*H`tHo{FFhuSomA*4IbW5@xOlI}9naUtWzt_e%y`ghaX#>Mf7Oyry|dl9s)Jo7 zw%s`L>p{Q;DY?oMHyACR|Is{_+EMpii#@?et6^rp%gN($4M94uy39^~PM_$(t8bbr z9k^Y{*09U>^qlW9DWNQRoVLC;p4+*Pxd+w0T*CVA_HX&mXWjhjJ~N1<t6#pfYG&1g z&pyV6xh)^q48JVA6Q(<9$FE?=a}GbNpRaX(R@hVg`mL90(8GY|_DBDida`zUYe>BE z->QCw&*Sm6#h)3Hx=+UKeEexC-|p`omB)XI%;x4VDr;IGcf+oIuZGRUIahp&dzah% zo2pV5p}W~4@P1d@F%R~{%dcG=FS2A<@<h+CO6r+Y`}k*odA{|o^~)WD3q+mS(#m+w z6i@WO^O&WFD>0>K(LD1n3c<H0_k4ZtZotPo)#l6F*B+ZT{+_{nAz1Q1LwV2V>#{G4 zn~xcW%n+)1SN7?RRiO_Lw*beNv*r^&r%$SU+vvSxs^B`qInQM-GagZzKSe)o@t@4H zcPE*b2hV@$D__}Wu;7DjW=GF~`OZDRrIsp)XB;T1OPn|5T8kl{$K$Vd%jOx#ENPi) zdpwKt-tApNhJH^qCYYr6PfoC9c#&nV;8rZpwszmcmgMhM!2x+mMs{s;4<0#R(ZRw$ zUwylLuiLewMae2VA5Wfj!CG?L{C`_{9+W80+j5z$%RW8Sy5m7#@#|2Pj%m6*CI1;- zhs_MSZ?bB!tU*@H?hQOeTyuCp=L8tJq!~%Jxid_>kTzq3$)qXg_^Q7s-`nD%xbOQT zEz|9vKFT;xzHRce;k3YW%Q(h!zH*L=AB^w6(E4@c&aQX9cLe`4yk0hA<DCBtzy57` z7v*N{)FV25-oGo~I&_lH9@;EZv)6L<LJ2+hd&i%CU3%mAv*bB^4ln&4Ys^kq+ES@d zzU0#_hcc#v{uXb;r4)Ob8-HF&&}o!2yLF=Sc<{^MGpxA__c>o(rTEM!mnXzflKDb8 z`?W1jHP3t!`h&0Ae)imKq0qa+UU>d<uP0jq1ob?H(q+v{|FmiZseC$ZcFA~me!bW3 zU8b&gS|%RUGV=Vo>?zZOrkzjH*FO%KsVXEPyub17by2}I?Olcwtjf+`ThGG(BOtjv zEaS4Yo3_WyE#Xrav)DN7koYPer)kc+^q7(VUD>SE0Qs{{p2zO=O*yZlJaOv52XjJi zN={_A-H}jyK7Yls>32UHusnJGpJ8p#lyViVX<C)azpgk+h?TL(eEq)UfLqRlkVJQ% zUzZj)IB3r}V0k>|!d=nm_vR|U<|q2(eB8ixi_iG}Yp(|$%Avn!+&Zj2XQGEnnp_+w zSMh{QqXinrt{wBUl4|Wxu225?FN86nvZpR^=dZ`VF3n+Bd9~f*{aL5>s;B<U%U3RE zv#)G>cxm|zU#^`K?|LduEoTfAPwwfvyYkc_+p{Nm437uD^;l|jqWSrG#T~aao{4L! zOv*V`uwY)Tt6^74WkQoBOY!-&`e&pQes(_L|F_pI_KfoL_r3Gx{anQ^<d(4FlD6!< zzja%_D@^=6_o$=#y;*N;j%wW3kWjui>p-c@uiwEwF^dfr$R5|ZTYTa7<;Thr$tRYa zX;6A1+dFZV|BOkO3wO`6>R%d^By)rNGtZnSf<C_wJP>`p(l*nPhwWbR>!aq@{_ooO z?6!EY=<N3Jn|aRh*{qsP-k#c;wjE0uL(4YUEn29x$@QQL8~eOHA)=@3WwuqxwQqGf z!*S>@Usj}d<?%XEKd!ER-ARYPuFmo0`5I&uWOrdPmw?8bOm3m&*Dd6}9J=jzoZa?V zX0dSM4HlU%D{iDbnZr|f*1!4G<kr`dw3wwPf95?rC)h{ez*7m2O6C5jn9AyZ{<Cdl zF3(_WxMBY{tMg9dcGgatu+E;cH=ldbrpgo;&q<k}rEp%l=0Afre^fydN07zWWj8qY z|KQY;-o8#Nbn3j&n__SHYX37xbw-(_<}U0!@w%)1Z0&l91ECgo`|7PYCnlf0^Crd8 zM&t391sg+k<vh+=uG%DIv*-pFf6S%Ln>Pkd>Z!1s-)hpS+Zuj*$DFFZEl0JCc6(~y znHV7C7qiVeS$-{-$hxZuONxAX8J1ThtUL9f=g;b%>Xgg#6|@BB-sx&g3)&qO`)?H+ z$MUu`#*n<@fp-E61g9r`JZ4=LEX~?*_k5O<6aVvjb9dz2nX}<-&&2|TshkX2U;pV{ zjX19KPu8!xR;yCn-mom-&I73>DvVvzezvbq3}abeEV|43<Yf6IEx{E|p-+3hJvR;W zp5$;iC4GgcSE-R@CcA9^`fFQUOtRMA+Ii=kS)YZ-rAyCCnv0(Ny?B0Wy0caD#4XG> zO3&|&7WbVLE%D{+uM0}0M!DUmto!~m+~ap$DSy&vH^a@i<L@4=GFjMuYE`@C<Nepx zuqCbD^K|x7>xOwr8n+&3o8NsO`Q6;ec*2hZ5(nPD54+20Q~NM<mYqYz_YKeO{xd{5 zdz`71SjF;i{))V&O{!Wu)0HzUbZ^^T-CHjFGc6=$zr*5rdpE~CJyT@Bb0R?VB-<*b zjLxNoJx%gG&#!-2nK(1FrSl5ciAoV4kEEk*47Ph$t=hfhQ6yupd(PL@7ux!+X+B{u zceuJ_JEMHoN*#8~hm~JUkFGuT+|yG<^9jG#h0S{$E}uxbwaUQ!i|$Jgcdr?DzokAs zEL6)@%Nucr>t}`aw2jKU-4v%e>^#Ww-R^3gxxPlx&Byjp>`C|P9FN!eZ)Kf2qa{Xx znWe;pY5k;TY4@{}@6A}n^-y~GOJ9SH3D!=tCrEt0vf=g5%N~{W)w`1!PpT{Y6FE7} zyXR+Lw8VpX7H_@Pj{iQz`0d-GM-u9uNwM?G7e3yxwEVQ&=^Ov1a9r3~U{H8|xyS{v z5KrN`H<dpuVOgvAT53Y&$uHkmoP4j57JSTot<dV#97`U&y;D%^@kTCD=+CNfi?_2F ziYvXjYj!9!EmxW7t@cy-vw=hKG5^oYgqHAeC`~TxZOZ>F_%EmL_=VpWn6|X2B(k5M zKVNp`zM^#I_vI${jSSB3_?do%=e^yRHfKq<TYi^MJyv*rt()P`q?UOh1%CBY)!y*# zJXbx-E%`G$gUk~K!>**SI_&Dr4*Utrnezkt{c1B$TQBf9Rnt}XElcR3XS#*od@sqJ z2VVAlxy1OiYuk%Hk(9^RO%`_CI<e==_p?q6=V$gbUz(8mx#vOXibm}Td-P9l`Ew*F zk8yjt)?UtkTe%jQg^025u+_XhM?iqj>RE%jQ47l#kxd@qI^qh9mlk|BPnlrxXGLb< ziCaY)Oow)*v{<Org>>sVI(~0gw{_ne9yT%M&g`;zJKuXn<fR?A{Hw7+Y|e_LRpo-` z9$xq-a(IX0o#V2_|3vvdeolTb*ifrkz!|2j>TYx8Q?uNqRSypy`2MKj=}vZ~Rl7A0 zzT<PX^kh+x)PG?is`O09Fk*7!+`EPss%JTcF8TZ7)GvMcwWiZ77gidDxmcXEDfEch z;^gyS-qp;Wl5Y7kuiK8ho_ze;$6+>;@cB4@$rUcMKXX{Hq))t4eWmprlbP`=%|^|X z^uXP`eYLDAS-Vdgs4$=3zc)NtP%%X!>{WGL$kVB27G<~gcKp>~dc3(!NRHvX=Z<ZD zp1SAb_V)%0dA%}P=<xo!-IJhCsh?#V%3j~hVEQzT>%5kTg20|HdB;|_&P?*R?A~2& zTeqcUS)A@&ciV%%f_T2YX#Th&d8a{f)BU5bvRr3QPh@{4d3XM!vrfIji$%^odp!B5 zsnaq8&%`U=mM9t|`<(vnX`#G6K8oqxm&db`jvVILv+&8gw_lcPc0A`PzB6xrt4TxM z)7*0gcZxV)`=os~)0()^n)$@H71BH{a{LaNH|H5{U+!o9H!~t*LrVWS!`4raxTo4i zY+vf6#@M9wuIvGW@hoG533YF_UA*#Tna+}wRTJkwV*eQsspy&Xb4h1=?T**Jhc`cM zyHs5jqP4qIS9$)irLo7K-72t<Tp-cg^TF@&`=grY@4WCY4s2NC^`0Yqf$hsDf4aCH zJf1v@b3^OghBV8><FZ<c*PlMWZIatFVdF|STTUA(k(D(|x{k7Wy!Lx|%Hq?*`E&Oq zO)k!p-ld;Yx?<1Kla;E{?H~TuuCzIF&dPGxMCAtC6lUdjkLFLaS83=k_Q_XY)AD$m z#k1M_pWIkFLq6DDgFm5Y=R`;Lt}H>B=BKBo{aoqo!qpn6TqPeLl*z62sj&Z2Ux2{6 z<GFiQ+VDI2p1e2Hy2Iudqu06R`M%3nE-tXR{W^$wiB9MVo5>gcGkCf11+?fCpU$;7 zX8X$M)w@$h1%>mja@>C=apKlFtMnDiX7FeHxqJM*+<wEeZVowl%o4{%9&TB*Xp(i> zTszTohZwl~Y^!H&P?nw~n7{k!_Z2gC%DC>RnjF^1Xg1}Rd)>|z-PRA%73Ku+3TS(t z)NXzG{_8S5$ukLJ%Flj<oSQV$OOs2yCw={1*9~utw0VvdxK%1O8}MA*b$0R==F9Vs zi^fdcx%O`J&-rE!$K|6osy$`Tew%mSD^YXDp8LBM3TiV~vUbew-*I2#frk9G#lmjk z(%TIG313?pv@rC(y`94?<FiUOyJM#`uuCYb{B90Yb9o^lz$s!R6v}?j*3j>ii`%n5 z#({2vsX~j*{ye`C{7j*@GCZlmx%unDDU*69NuFolAoo=v_;dZ1qS}{@0x2uG&lS%5 z^0PBVXR^(?S0`>fE_`e%ao}W<`FaOS(ZmU>r=2oLyzyn3`_shS0AWRy$$j^uawoYr zZR#{~>Ag`n@x8NaiTvBLk4zh@=FGWTHp$~w<_!kr2V(z9AN*$!*b~0?Mc1X{1=n62 zS5B*3Xj`uStZLi#wZ2Q7RsUSlvU{`3;4tHt^`h7RS-!ru!&m6qU1gSLWtqwSIpJsT zDg5YubYI}e#XILB-aVZ0=gs1!mATh;uC$VPGUcl>^VWQ+s#h_A|1Wk4ayqS?R`a~j zCTVh^{syMIKUVy#v6`=6cp&inV_%_-7CniL$BN^vZr+Gs^f<`=(x*^*?x&3*G6lvy z&Pr`}71QjtXiRb46~vUT!1rwGfmx0d<a~b4WQ<;L`<>>g1KT7y8NRMiPlz}*zjWhn zn}4A?n|g1Q89E(c2uXQ1Z-MQM^)q)r3$lx9T&%ZZUvkZ!#v4*oW;|ky?kPR%vU<k+ z;*{nIwX39cl@7o6Y)GDP%E)usq=nz-nSD9<AS8iLI3xY{fmxwim*lq;SU28V_E_fP z+n)zc^?CIzzt?fs%UJ*PdAlo@J{|d!ml5%2L0|aCC2}qX`y!@K+`*Ez(m*Yor$?kM z-{;bwGj;KPu5KQADxpqRqU`p)9^R`ZE`Hn7ynOq$8N7-?uB?AHxd;2Cc0LPfJZ<p& zsZ83u02WP!dsW3gJzA|5SCm)WVtBy#Dl3}t%+7klW9IX|JbnGC=kZpHW3wHev^=+4 zeyick;i{hWIprejn8OQp-FW5PdLsDVjE<uPn{wxuI~X6|>V2ijAmU%WSIL?)hpTc* zB_t#s-)lLLebCNRfmP=7l}o#S?vCv9>M42aqo97bc)puVfOyj61Mf2La57I#IDJr- z*O-6LoV>DU%`!qt`#i(Gm@2pm>`H!LqVnZWW(>>Ji68d`9GT~KhtW4p>qcZJ_sv?n zt*WQi&uX-L;lO`wane&W2E+S(^;R2%EG}+0_x;l|uVUq%BOJHqp6NZbQeOYMiP;f{ zvnK+tO^sX<ntJC&72lz?jInbUE81+odtp-_|D`E<Re!py=KWl5J;7<UK*%TKp5OzY zoL48s{%5F||M0uqmn8=>KArQZV|TDPYw7lkq0slUit>}rSa&BsUK_&$smf=*eOb9< zjiOe_)Z87*6E=ic@VM2*9cs9&c}M!0?M4qzhKCJFhV#Bm7T56NoLaN+)7xLgUZ?&u zXtO@~*p-vAblb^f>+hv@Q+Bt7XsUew_A9iQUBhS{N8$-vTTQme#^aBJ3{!cxOenl^ zCHe_tXxW_PSv7|;DtXMFKMTGxu_tiG6CGv6ke<@#rsgwFd26uzGFO`Y?6Br-#n|H; ze2Tv=Kf@_l>0&<RxT0GTFO$V(<_o{Btn!RxZdkBQyzfeCfPI-lZK3y!EEOMv--~~; z|9m#f{AZKJzetsH%-@;UX%#-%^scDzt!I;6P08;iUzeV-<`L|RY(IP9`*NjeijJ=* zX@)$0s;+YR_`8njGV8r+jzoBT-k%Y0yLis`Um<)d%};m!z4v%R)z`PdtVzrpPNW?( zZk~K^hFHXtNvx+i&Ux5OoL_Z*2D`YRMw-LfdBz^Al}>o?Q?XR34tgsn$C2}0=E5hB zb1Ht(3nk8r6pNm+^jRv>#8~smI{8}rv?q%;-1_+CgoNd<5O@2Gv|~?h-@Z0s)y6w( zH_S7>Q+@GF%Z16OE-d@{_rqg`((?;f#!NBX(*3z{9$(?C&-cZDEO>ENM(?Mfnf&Qj z_gmvXT<_5T<DSX;b&IraB~Qx3){w<ZkCdIBRyO5%G2hIeu9o}0`QKv}WjdKxbGme@ zUEJC^bs<LHTaF98i+|51A@_B5Ca2M1qr8Zx32PfXWM8gGPAk20Lzcl(^m*0t&b*S< zvuAgA-;mRop5dAhBfqrxp4dmR^=t3cF3LI1;}boJf5!4lyOf<?o=D%eSVO~bhs<Z+ zw9Jr&Og1uaW$Tt)2{gYI;-!$W(B;mO?<Nz^eP&Hy{1zASH+%A213lX_>w3-<i4-ip zHOuej6vO`v5j#~%<c_UYZp$mrV{i0lS!0(iyK+aH`Z8C}DKnL3%)DXucJ&p0ujlLj zxU(4lZFPP-c^;qH3ez(`nji5^Ug#4YIx#mfRbhKj0l(w>c)^P4kIH*Wb)!B9UAmjJ z=|rD8yY6P2=cX?n8qB*~%RJ++y!Y+s+3Az61^hg~QvCJVnspbR`E{-C>5uxbzv<V$ zwQDjbWq$WrnJrV7<RQ%SglFQ9d0*dpE4B2n9NO@+KlRt|>#Y7|c}!($>AlLC^48*W z8t-q*yjQ%z<9XuFe>shfU5Bojo;CODboTF9QZV~QqWiTyj~}rgd8_PkS!L(e9m17` zq6gU9WG$C0y1n7D`+E24>_Y7&l7-T_Cm#sE4W8C>M|VpQ+a$*cR)SqW4nJIf%+@-1 z|L2<2f)mZfE+2Mq*)pE5kNU>{BXXA6!j-p{%~!wG(>^D;i1}EB$xpQ<mz|&4?h1UG zFn_i>`>cskcfY63P<V0o{FQLQmGLhx+&%bor(2P<<sFV!70ZA0$M0%X$ThrHsdnI& z;qjd!i{5Y8*>}=QOvCP3)x0l_1+ACN0{DYZtaJCstz8tkwc68W#-~U55A1!a!j8>e z<8M>M`IK?<HUob4`>*{T``px)P&|KjOUeZM3Ck9}Ykw=v;kVOPYgLxPMn3uMw&Q0E zPkdWl@NSyZrM%u~)dLd!w?&G1%1+Gumam?#(l_U_n3|<dar2kIS`jzcg*-oLJrVsX zw{yXUI`KK*msdA(a~za(vOR9Ooa39D;oMK3`;PEEnx?3<@{??6CA<3kL$ere?d~%u zus_rwwTkgUu1@87pNmF66V_R>Z&zBzwRT6#!>X=qHsz;>o?lwaaP~xOc!uWv{|sxL zg{Sd}87yb+DSVZAwxMkLr-T1=QZB8QJ)+a(bVum%_N}1@`h2w6bSJSfzHz_Q>h!#5 zlHr9fCs%&l@K=L-M{beV*JBmGE<a<Oq`cZ)o431vM&I*mGcJA-VKdrr!g|M1uZzbU zA~!7VtG*mqB$*t0`s=@~x?P9OJbD&h&SSTE{&88(UFpgd>u*MUeg4wn#-=IVhKtr) z?>t?VHpjdz=#)X0o=IE(U9)3xRmu03vGgo>Y@6BOEnIry$^5_|%_*y_1h@I^DOu&i z)^fPW$bG4Ys?P)umVg5ypQfb6?cN-?Yl^)7nd4gxRKt3BHZ$=1T!>cS_xpR+#9h$$ zqlUVDRH%=P!3pK<Sw8y$4{TIP?y43!fA{X~Sv~K1#JG3xIiAyuc;|5Zy}>!no~bi- z+*Xs6Xzq8?j7$pSS+HK>e9ZjBz}&QiNleQnnRm)Zm8hQyatq;`X(D{eV|7EB?Criv znajcjN})L$)ywm2H6y2*?Xb6a>!+eLjUjpEq6dpqvR2D+{4DY}Rq9>3!Q=jou9gXh zGt~2ALT=CW+SE4T@rD-~JAS$^XHI;=S5!aMn8`fB`V;?FA=!zO=LlJxPkyH<6?=B> zo(H*sSNa3}9u>;0Hef%kC~tZ4WwRewO6`)*^Oo<m)7{Oz^W2>$jTeG+x|AcGR|FMs z7u0k4Ol+CE`_NYl_N|%$k~13_tC);jb+j&}xOlJQHvjH!o8@xi+_Q65LY0;)ikJ+f z5}!@ri)P;De`%Im(bBSS%A)FmA1n@@%Y0<9=e*%`i-()vhn{0CjqwnfRAIZT&g4ix z*Q+%gwnmoUEm!k&$_t#_{dc}|kj2US6N(HRWHi65dM2g0>R9(i<DMta*VP}IyM>`H zX5|~LOAVnRUqyBV-Qm$QDtznpG-8GFXVp7*)>*J`-)p*vrLt$~p)W_{B^YDf%=x}t z5-c;C#<Sr0@8u>jvqc`Wd2%f?(|kQIL+f@&PU(ZIJ1#1Pg~lx}tDcm3M)0@~^ZC8b z6C%$4T%6~rP|h?@zA(*(`PSN>c?`$I%hx+;9_37)_~YB+IZL{@j_mA>C@@d?c+_IU z?cFQS`)AEv)L&@r=5fqn$t2!IX8KK4jh8>KmW(mzb5xQs&zW=OVx{BxIrpO8s7xv_ zc8u9(;P9g2*_>;OLanbC1kRuHAb>?F<OW~maf>G*Cr)qlNuD=j#l^^F`MVk!zDa!h zx@6*$JD2``W1bVB(mBm7XJYSyOR`IwCKOdY{}o!kz0ZePj?X#eSI8x|B^#Bsk6qyR zsk&g4Af|Ad<5qN&^{jySVjTxjzc&TG4!3V|$+a}U<M^_~U3XgHG+BoyT@qs6`yTf2 zFI*`)pLO=cKdV+Ad*G5@_~O_ak5@%24}HisI;~ka-CgF*leB)@$Wxnp54<~mZN=k^ zpKgrLn`ceraGumKCwcy}47St9Lb>OyviGVf-X$6_J13{E=KHTu-d6>D<ys%Ag}*Ef z%QRZ>g{7zJN`$aUbCbCCRNGaKN<w~xZzDAeH5HvcEuJ&WWm>?QlnKmts~Ue?ek!@C zU*OK|uD2Ep<!VcH1l~@zZnszWtCl+6_h3t##qkf*7``iCTN2&GaQFIN?+&Tz*%tlp zCQqL1*E@md?Wy$jd((9u=RIO`d~*5E7pINs`?4zCW@h@_sPoiu^LW{{@wv9po7uY) z<}khwvAKHp=@;es`N!r=QhJagCNtkFW@*e$=}oH|3g2aNCM*r@w|qaVaY^nD=jI!~ zf^;_aMSgtc@!s>u>S-ZwE1m{U6q<Vb^}H_)f(I>+RTW;}YM2^&hv5#t^QFmUpF|^= zDqf#hddlSFk>%_b0ecdP=O3FgDPa5eO1Z7f9>Fb#b6?Mz7?F~^;$@eNdr{zLfs+Si z`S*IB;67=6JI~$c>$8=Aj!X&enNw^0+ApHOE_u51JgppYoysM4XW!g-(0tkM%HN|+ zQ&m=2C|_FOmaeVH-aO}VSK1HnJ$dgXizoNBe_UepX41Mh3r;+~&Aihj??B)cd*zp* zDN}E-1(`jTct5MAue;BULGr8I6<*<KG3+wy3jCL<30vfN_A$$G{?S_P(Qe&n@v@KA zV~sa+<7b}wuP-vV^`D7^cDGraw3~Nj$8pI=t2h4)Y~!CeCxI_>UUqYnRS#%B=j#;{ zrFVCB#yn`8#jN>r2dh8B=O0(aiYM<pb;AAhyye%HhLuiO{bZYg#e+IiUB0J_jF{_e z0-u>NeUn|qaNqJApW(In=N^?aMX$5IESPvRCI4<4m;L#unxX}|pA$FVTcynD*<11a z<z)969~bJ&T{3Q-^Q@cEO6c_UXX+o0Ut5!~@`Q}s&sDQ`JgI%atM-ro<<~`rca}!f zoGS3JU+TFt#4vGZHDf5lZFS|sxW6l1_FM8Tznw24HZ#{D-P+?&-?I5rGycV>xq0(P zEn8!r$1L&nx!STw51WSCvuZ4_)n}fM556={RQUUWnggG|tl0A=U0J$M^T@&pZf_3D zx><aCwmHF?WzHALv)((4zwi2Pe{Er;&5iF8rv#6y$oylPzsvSs9NXhl52{MfdNEeF zpZBX>`LC>qjm_#~^Z7#Gc%5T>4>+H61u!s|-<RF>_);6o#Z6OHH@*(4Z09;I_n*OQ zolnny27Bf0D}P-$^+2|LzO%=LjZ=iQo4ED!*IIfT^%)=YczyZW>gEl`6L&P;UgxXg zcch$M!cyX_iCVN<+0Q=ytrjvp&rKup&PBg_erf)mp4|)*f{i!&qa@9AH~%?$K#R}f zi^%RBKZ{sHjI=G&EP~ImdZi|Da&4S<*z&}ZW8K`!N-d$sZY569I6cY3Ql%<1VZWiu zlTwArC%&!pT6c-BjBnnKrHMvCPdgIWZJI3p`0wRb5M;LzJDE@&!go7DD`lnR9aoQw zYdYH)EG_RGRu<Xm;ukrUX{F@rAnWIa=lms(e_nO=L<q~YIL>3n?=&Men^nnaD(EOb z;4`Ye+`Uo#`A_#G>%Up+{I1<PaKew{{nushb840^w=~V*?mEM)HE;R;ESt;HdRIRi zpOknRddbbALw>r-bJ^mc)uK)}e+7h2G<$SYy`l1`-rK#O1B{zEZG!TdwH6mDOMdyj z@|nt(Gmf_^?Y87eJoxhZeZVxQ*66ZNhV!mmh&jStYHRp6vzXE1hR2f!J@eNp3sgk) zykl>>`~K3Lz5~s3*Y?!fZLwtdaZh;*Q_bP|)8*!Uk=a%*cc*&3S9YF`=P`F?X36i% z5_-?ho4aC%kkJN3k6*%<rc7>Scr1DH>(a0jKijJ7Om^@%t+#yb_dp@`FmFTsT!s=i z$+)VrrCbYZ?(PU~kpB2(Y2A*O{xdiZXgOFsk()QAC8a;{=aqet7M3qB%?XxJNWW6P zj74SAeM^;|l*e-dIKz@9)$3OrTxn*Qv*Ez<7WH?U))gk}Skl!C&q;J8<Sm!Ea?E&p z;W5sy&t{yS6uaxn9Tp+OL*KtF*O~3XzMuKpoK@1Qn`-U(qa4bfTUfkcuX3=lKVx*H z&eXv25C2coNYM_J2EXdQdsmgdG4EGe!};%}O1b6o_dMdZ>|SeRg!{hi-oR(iCFJaS z;R)Z&<(yImW<7mhJ!7ZKuUN_57a`~W(zRP}VW_<xo8^Cos-^6Ssyo$}X`7#`5pg@j z#K-aa$CZC&963GZvMVFFXHPz@KEZfiZRW(ut;q*$=9GV1VRQ9~=95pF%ff;;6z<-u z#?~>x?tSu6)=q0jg^AZMt<+g@?o^DB<vDw=VlTh4?aWLQ#Klt2-I-?FXZ34x@Rk{_ z6TT!iM(#`G61M$#l<^8*M4S3jhIk>F1;;`@)GxJHR}iy^b2yu}T8M)u;J5s>WwM;% zPZ}&=JBT;4CIvL!d3@#j%1L3j%FP_@8&+|>-txKW#))4c9VZT-W|t|xQODMx&z|^M zpKY12dAQBvt${*C9<TfC7A*^BxBiv9o!x{nzw(_Y%je)utIs|4`d$k*F)exC`fQ#x z^SLZ3X4jNdX-}K<{;b*OC0`$p`6YEW((uaVJ!iXOK7U!lwqtIsyC45jUzr*576)x# z%bBTm%9rp6WgYV1w6r*1#c(a$=dEtz>)@5_J%9E;pLK?J(qaphD~o)Dn<pR3U=FZg zC_le6B3%95oNH01em<UeLsWfEaqGkC{|vugFvp)!;hFPz8J||gGwW~jdLuOz)a|Bf zo$};zD|`N7L0hg)OUcTM-x@sDOessgFP(M9T_*YK0=HE@#yeJOzPz-CGnl!F<GI?V ziw7;vGp%VqaZsl0tjU3k{5!+@YTc_gZ7K`Azcfv;z*6G8*IbDQPoDe>^=w?UiOC>3 z<9yuKJo7v5mdBs}xaKrTLa4xBVzpLuf7I%kn-e9{)fc=EV`h6{X(2jcZO^CTYs(`g zc%HAdOE5hs-@h~}Oun*>aZTxD2BG3FtGNyTDNlUuYZPUAMa}Uz+cFoQFGo{Vj@y*4 z);4@HPiwNurGO<LgIm9^`7&R5oohtolxv-nE><S7@AX^3=f2!)wM<u~tk$7Z2HGB* zytP`cE{PHBTGQXZK5Iu0pLWQ}jH%-Cy^--*Nx5%>^;olJ_H>4PS(&BScV(y2mLSVp zD(9EVYVO{vdG(@Hi;0C)fvK!zt@gU9fkI81SymNU?^@nDJ6-gg=pFT$Lt|0bk^>rx zx)MYJT^U3IU9}qmT}5^_Xe^qnwDg3IuE~5ar((}b8|OMr;&Q$;Vf#`w-=dHeQBFZJ zNj;AitJ`X~6=@ktRGKpPq+B^}%AI~~=WX*Y?QL0`LzgM^S%sD{&zg3&YsthwLs4xW zA+0S9jgcFa(`}xF=p35n<Z%9Z=xv3<ug^A5)>DpcU-oLv86*Fipxp*6a=c+>?EO(^ zH%$_}Sr}+6Q+RFWes#756K7{89<=?d#Vr@T;^n){c?l;E9^V?C>2a>|*A-s1+Kxq! zJ$9YHoO#yixM;|J_FTm&-&f?+Ea`LebIVebNwzpEeLVQutQaB3_a2MHRC>0XGWR@| zsk+)!uAqD6t0-qo)6IiRZivcyvM?T8bMk7qW!}~e$#?&RhD99XE?HW*c-DN&^Euzv zTvsk`;<FZxWj&(fALqX|`OKPA(Uu2~KMk1~W|YcY82Iw2!>boeg2&^Jt=Ywz^gy7% zeO=Z%>C-Zkf_rAIOW1JV@NkL5!4-#?rFmL|d-|7JY&?0({@B91)Ag*9_wqTbDDcm8 zlis;3*YbQ-f5~3S!*a(({+@YfCB$ZHb*16QxvOb9{68+=PQU;19A9nLN_)ctk4-)l zMQpVA`k&!-Ky0T^?#|e{SC_v}WhgVba5HeroX2y%{|YX;U(O<U<J-3t$s0Zz_kT?g zm64e>!TWg3_mlrZ8AB}&ybd(Gvq3?2Ps-O5OIVNXNSsh0E}Id#IPq|L|8mh82OCt` zif@}t%Jb1LJpZ2|s=<`?n2dpaNz&9Mw~UsT)mB|IoO(dw@m_;F9!umFn=r2Xl+a{w zyGrKkS^Zfa4?e$)n4k3|<;kS#<WI}F7aY$>VEFo|!Q{^a;~lk{ORsETD1HBB&A|fc z9Y;0i8X2*%n=n>b<jlQWAJyf@8F*0EeQA)f+n$Ao`VUR<-tpY>#DbZ^lbagPxi4RS zZKj&a&$9fx7t%!qCkVc%+p;KdPR~crg-c9ZI+(VzluDj;pSw6e(NAx;+coR{D7T5y z48>o*E>!H%DQ7S$syr_t(%PxMf?eW#mb+qI_+$39ZU=V$+`u%a=c<ZY=gpagTN}Tb zoU3@ww8&NQ(CT!X&w;Y1yxytqd~mh3Gc0hs_0H#?<hHa0DDfOmo_OMT%oTsN;P*8T zO62~&<d(BMUGl79quJkcCwDw7VE+*$evmzXr6@b=0U4gpe)qSlva2M|udmV*V>`7X zm9@V<=fWGMG+u>J?d#jJY~ReuJDz71EIIvM=~wn&7i1Q(@-Y_A`C{?f_hB2y;dHqh zUzZ#6<SI<ET(K|albeRx;hCXs2Z|V;{AXx&IVi#w;BexE`dU*y#!PAMN$h)-ri9*e zKg0PeRFlK^&FqOYW}J7ZzLFp_z3vZxR%jYS`GNO7=VK4spZ>UTgTR`Wsq7Xqml;Bt zWq<t+Ih@Hpr}#p!1XIO><j*Tr7bz5b9Pgj<&f+BVij__VEOLi!GdXV=2^ZQ;dFRQ^ zaK!9_Q-NF6vss)BkGm?Jmh<dnpX?#(`GA34AvA_Xb=L>S_de=bZNJaXifwtY{;B_s z>JQbIo-xjr=so+N;nj*i8~bOkU%%By<Vamm;q5<}Z<c&Hey#1mssNev_r(_q`=eZY z(%GAXTc5xG<R0j&&N}7E<i5J8;Y^zus(8wd?={e=yi@n_1lzh5mJgo)sm-+6z#v_n zZnu0dLx3PdVGmcaTSIF5<=5ed-0IRTBp&}~xE^Tqr(wCmocgaXm?kf{V|ZBb;Fo7p z8&5uX`=&PQ+y#-|hbJr)N|$@Mxm~?|tk6N^Txg@Z`cm~-AM<QJ)djx{<NExrdRA-0 z`RQ}-{%4R9W|Rxf5tD9Tuzblv$E4$Oe>dNnctMEar@N@6hDfW*21_o>vkX3)6&O}O z^|TRe+VOSqIX8>oi9Jt3L+`BLZPV-<n)1_6V)8j#4QAJ(QxP9nO{^YnzAQg;&G*^^ z%0e7AjDKD}%IRHmxBB;mAlEl5V|N}i$TEoSd&yQVlfI09<*H?I<sU!kpRr%-{Y?ME z-^;K6yqeRVbeR3sW0_z5FP%3A-d9Om-5$!?$!xpQd7(w^I(}vKWtzo87n9E((5Nyv zR-JPB@r1V_`BReFR?cjQUCf|)hkdV>K;)8hZy(4neD8WB{*Kd3`&|yNuT3udw9~=! zpU$IIdHkn(`2I6Qh0S@-Fn{*Km}I%<uRT(qS_JnLzP>kalaQ0(LCf<s*UD!^%NwxN z&AZ?0`CRPS6Ya0>y$*Zqllb<cx+?^9On{`!td-Aq*0`<SzCm4LskpS`#0>>i)fZ2N zcCQNAc*`U70Z-|l%u@mNtEH<$>&**vx2M&&Uz)Y)eS)&3LhA0IjA;?MM<(}8c{sQ6 zFwf-6GV8A`a#!z}mw9xu>J(N5#&;P$lR_N?>^xW|xJPC3t&vtx>PaZ_HLkl9VrF=) zEw(`{=gF6UTOGWXYj62fo1s#?rB!+RS_31V$rs9(iT`w-XKVY};i9tnnZ<cV#;-V* zzx(v5rTWRdV+(Zu_>|2GdKa&^cfZw?)2iBY1W&y6skpFdV~+6a+xKRy-61<i@Y?)6 z8l`!Qe_mzi3GGaL{m)mK?_fFeeUXO3PoMnPXBFg6oy#X$ku!^d<JJMe+v;~NDct>i zXip!b$(yD%N4`A2w}?w}=I5z7334|UJ@B3*IB|l%NlTLlOF_j^?Ws?eMayOy3NrQ? z_qi|SZ19-ff5uVP&3>)Z>-qZ%tgo~tC45?(d%Nese+IAW{1ZHk?6*aJHmrVHvpf7h z!}YHV7yXQ6{Qa1{YeRS@4<E-$uKqm{)fdmORc>QoIL^SgX!RC9j-TOAthaAhY)|Zu zx*ofjae9TV$Sn6xpWLlwJ%0;5Pw<5M8?e{SExffbRaft_Jo~%W7j|1OR0dAqkkQXt z{Vnul%tqaFwJU;{CB5@<=NR?P+wbKhQ&eep_}8`dlbCaY9GQQ#Iwhz~Nh-2R?#uSr zl#-sG^IoC&Smyk__9d;qt{xVix1iRR*J0!HY3xc{ecHMnXU&<Xx%7iK-&U>G6Bc^L zCth|Xx2QaHkg3gDmv)hVrskbAM(=X=$zNA|YkHhhmuP<|TI8G4k=1g4lGi^D+*0lL z_Vz~S6u!Ur&uZ&)?YKFw{fbogq^?w537MWQx7)1>59aNU>I*oo_he(>{Yy*O8>d;s z2wr$@z4t|rm=41ocYCk(sz<mtn1yycW|;Wnk|Z~K#r$W1->caEWHP3l2s~_VVY~Z6 zM3bK%f7ZIqiG6O45|(c=rGjEQj?WND`L=*tUQ=dHuuA&7JB1f&t{gbfd&Yp@fmg}y z>m5fHnE;kcEJ<NPA?7;LSE@o9C$JXyJ-#h}ZPlp*tDbf}zdWgSmBXom^}Cn3UA%wc zT7!Mxs>SzhE0@px_`KYd?Tt&hjM+QG`>zA@pFb-oyb<7?x-@LUG4ZEDRhJnL-YGu+ zva8EI@%!w)e?M2uFq*h!(%$1)ocehQMX@}|3z+90xsqC56dPjhU}4HFWEXbexJ`kU z^0azm8@U6acX^FYHwhbV;GdKCWx3|LJFLezbH3Yd44vFOJ%92F+0VZBCoL&#K39EZ z<7c6DZ*mjt@;u+!HZGVF<Qd@kp!m`vYsY-Ub2oNANRat`Nk&NeBf}-W!~;h2Jk(!a znxm2;9q`z`FSE7TT8xpqH16=nW$CB8Pdo6}*Pm;0pJc?S+W45gC)n#)#H6#w6D<C` zY`2Yg%)D}G($OXb#S`akHJDWInlvWG&t`vm{I!Q@_a?s`Kda?m2fZ`gQBWDjS5@p= zaL(zuw0pkSRt3d?1wY*x1uM>5{>fZkX)WnA!MfNlLAq$2;|WmyNV};x@v-{5%R6`j zCNXhs;J&&$ZLxZSp`B;m&6QX8oS)J>?a41GZV#DVqIVlCC7D(lXwQ*xTYb{@=TSAY z{b$>BIG7ilU$N3aLTpazZova9mZoy8sc&Cq)pgM@f`j=vJMVqlS7tX>?blG<_wmcZ z<-v*}uXb44{%7ElN?6YPe!I#ylbD#rSHIaEv8{MKD_Q%ka@8E+$#djtwRYdJP%*nR z|6Tv{z?s26f}h*26pGKZbM0@}VhCbm{Pp{ab%T1IbNQE5&z=g%o^Ct8-Yau1U)fjr zwI&TJp~)wHPG4xdYVnaXo}u^N9)B48uIR|_RR4VE*MZyoIXsm2do5uL&U@PQ&hcPi zXvmVvTLpU?*M_s!l{h&*d1t|Xeb!QigUoUf>I&7h*-jGcx|kK@EA0h*EtLy8Wh&Bp z%kBIuR_!Z@i+L{lE5y5)dne;*kHhl%%l9(r9eKF#JHwabU)O3^cF$ca^=I+Z{Hn7~ zWl!xA|7ry)HHl2SaW~XGis7P>r|{JC*Z02;-0a5p_etO33s<tYh8Q(<&&jo!_;rb8 z%$vZ;M_E<EC(QILo?y#(+-~bs6&Gc#)YHZ9qkUzbUX64=W#I8_#>E~c!#Q6~F3hr= zsVmt&y`jAL^2E2Z)_-GIQ*-~Jvgnm5Jz{bZ{~4++*d}>QSw4Nj-Q)GwRz2A~F`Hpt zw)UiR#XSl9OFh4d#w2<*l^5Q*_WRJ0XATBczy6iVOyp?lIQZ$`_jSAmZaHQD8MLjY za?TN|mS39j@Ue#31gDREk7j@KSh!Q5f9Cw>c{`q8+sgMTtXyI$n+RV^P)?GI!1DX{ z1}A>~zVb7s_~5FIyN-4B6nK~Zdza;wxIgR9ZU3m41KzD^JRyabX2l5q-ng~#=k90A zIyR^Ltgl~YU47YbIxF83<`uGkU-+DHJ9T2ko;FkI-W?g|BvMKq)M|#XsxDEVzkB<y zOFCTQ-))rU2>9`vI=FJ_IcppiJo$B5@!lwR)@sIorj}ZJ7>@QQUKW*5GuJz1CV1c- zFN2wzgM`;{z5=dNxi3rJDX8)1JYVY)k#lEp&!_53qRd?OEuZImtqXc%<=LXO*ix_X z%Xd?iH6rYH=LZLL1Uef89Nu878U0Lmqnij%f7PNWnRgy{4x7qPTf6;7<vGuPC3iMG zJ|me~Rh=~D?LWJ@FC$#r1C*22EUC@fY{<31%;U9Rf668kL79Yd36Z1eu@~RT&1C*{ z*@J!BB;RFjp&?%%Fnakc_?hL%KH>1Yi2)C1tC#(|(-rh5Cvc;C;-y&$9;dqOE9$xW zEQ8O+zV7(X&{1`X?dM_jbM@x~eT$BsYVIlj`bX1}bK|LSp6K2^J>_4{TE+|hIeqYT z-^>*awX4?LP<gP;_{ZhCmzFd3TgW8H*96Qs{^9h&$4fPZHcvYlsx0wcq(ekzf8L>% z*aJ(J8<i^5-l^|3X*r%4^7ih9wAs({56dL)JZm_cM@&_PfA4)0V~u2O{Zo5Gcmgi6 zEdA7>+>;l4+VH{UGpnbbWGH!T8rtU1yk2SMB)*7r+18YU;<|UHmQ@^-wAU-(4ZHX8 z?N2VgpVs@eDgy0K9aiA0JpMXhvsPuIaG~=>|M;~W7dEAyU@7d6DqfP`^Y`KVu8vI; zk6C_M`gw}bzDV5*f>Dgdsmi(YjTsNfd=C8gJK@f$nO`NJ&4@VmZsskIbG2GF`auO% zzb8A0&E>mVI_2HF9gk+MQRy#vC9v`szp1#sLV)M_mkv`nZF+=vD_>iBB3wNnIo_a0 z@nJ@K65HW}e_riBbu?P#t*zaZ{|pA=zpnJmpZ5DO(^P}qr{#V3ePuH4Su$smr@WW> z26e#)^PYV4Wi%+uS^1!JiSFK=j}}iZY4kY0@7Ba-A&GC_pLI9%I4U|E{8w`9*1CBq z^9>R|J>KfB)gH8V!hz=(9?d(&$ho~;UR(3z_p{y!p2k~p&YXOvm_M0al&AVhm|P%3 zIs5W!lk8O!Ke2_l-LKs}D=aCxGJp0$<sA!+U5;x!Fp{5Tx8=+Uzt74k^X9H(HuAXm zXNdsk*QF0qccp(>rp8*nqIClE`E%7FIS2YRH+LN4=KJ!=%`Rv1*JZ{Zzb=^F<ng-q zaFxcPX|K;3)@+?(UiM&ub&yJnMp&5k>tmXp{nAs9%l1bxJ<{oApS3&8C6C$Y&;7Y9 zr_QZ3JfW=G?)pt_mgu2>A4GXySzYqqaU_X7^Stt{l^n$eU7|71i<9RS*k;CboD+3E zW@YfIo-3p5ak`}JQP)Wa*iIX~Zaf+wyqaOhr|BPUW@TF|2u<PYDPXWEyf(9`F6Xm< zq?BE_q-^nDEor7S0XsP(zITQ%1CHFDvFSep<H2QX)-n0)H+wvJ-r*a8(oE8pEZZDx zq#SH`WV;G?&&zC`enws)O`*YaiP7>Y7ro`4vp-3^QXL!_DQ139<;(G?r2^uG3d{}S zmzTP|Tm8M!-f>o#MB}6LXP#Twwknia9Qw1k>E@#qtSo|4a+=+q2ACVj&0HarGFy2{ z>UoJ{na>#*{@VU$n9HDer0eK08M%8?rB%|k803~MIi%AVUYI7!|7A&1&5p+kY%EW{ zD>X(Wo89=cJ>m46w&V7#CY|EhCw5OL`4y-kE#-9c_5qfvE5R!w&itNTm8|{8gzxa4 zPfI-3f9kt&KFY!J=O)JIN^?(WY<$DzR@~>7Wq8uUCcXJT!?gv|jACa`SQo?hMw5S5 zQGuvGv+Uj%6XPvHPYEA9|7D5c#vtjYy&-c_szaBh9B94w(fmxZq>3D`t8z=@jiYlW zZs~uPp}i%2zZ1L3Zi%Le8&AGG&orY$x^ccnk#+gvGZJ^VEW6i!Z^?ms3pYs`8CeB~ zK3B;7*`H7~f2q%mS%#&)`97D{%*&0vBzoZK4))h^xsST{v;Da5Kkd@}m~E4?TLq7; za7eK`^3n6-^oT1tTef#eJeZPTc*nRuN&EBt*gX^TXIY52Y<hayt?W~+;iWE<onO^& zE_Ob4D|FxF+T!GF^%>KA97<~@xwAY8pS@+R+VyZ9iS&63u6E8m-E_&g*8lUWB7v6N z_b=lnRb^#O{C{cD*)6LrZiR2p5)66zB#61>c-0Cu-ib;xPCR(>e1F!=6y_YCniCx= zJYVd#KKL}ZWsiE^Uabg~nOvLRC>Hk~HVrV&Vf8=z^6hKCb65Ozp1Q}>Z53lWWG3G7 z;Ola?!>3c!S!C8<TV>OFXH~ka!}+YTPe0NXsu-`o%G|;_MOS~;`_FTV=SOAb)abc6 z{A^ftyD{nfp>m~VLJALdgvfq8e`)EFB`0UuPtW@H(pSeI;<?@7Ust$}UUQr9Gu4Xu z-qhGb0>=yg30NGz*5}mixT&#anL~xm2hGIVBm1~D9?x1Lr$04OVck22$Mb%!R8Mv2 z-Z=l+`BMe#I~PxhIr2Px_ERy%kD#*wJQY%ZMzF;_Df^QpK1*{6i|dx$V~(!_PO2DI zMk^J?Jos~mzu0r(bZ`B%KfY#eEboF_CC=Gq?VoY;z=6LRdX9H@FJJDz*4rU6>~M}s z56`43uF6PJZnaB$InU>3t;(Cjv|jDK`BQ}kM){~d!~DEvfd{*D&pqzpnis};!6l0) zcPqp5*Zz^Ra|}-xHu#22S*>?s-%FbbnU_p9N!;;2;v&1C-fF8*WjFU^#c7e|g?)3i z)RRsbe&%`J_h|9wBG1IR$JOUemE0M~om(2l-uTvCqgecQX7STGYIh#|x{{cbdSq#* ztl0-GNwrSDkOv7V7uNMeiXQt@z+V-!*k|UF;FjMzU-)wC%$`v>d)qHQ-Z0@dN%<0) zgwJQ~&!wJFR{3CfjFnSy@~N5|-#m`9uUIbmv^P-6E=tWp{>)X2o3nLhvdvLFwL#^* zvgxV@v6!8z%lgYIzdpV;M>R=QL}1?I^_Q=$(3!N->D9p$iSsK~G8?T*m?UoTZQ*66 z`!iN~_!S>KaZu!`#Aji91s~>jS<~llNpt-yy<Ya;mbJ##+AD5K{%4q$zS2~tX=iFo zYpAlcn|W|Y>~6acd4FH+wx3<NmzlLEar%FT^&V^1Tq<ysFBd6lJ<YnU?V#T3@8tpJ z7Ehb1LfmpstvIzpy65{6o{Q6h*ccC(M0U^E=dQx|t4FFkVS-5DB>R?9``*CM6D$KI zGLG+j?U%`u5$kvKZSx7XZq7|_Do-*QH54|VT$;}Qj?bO_)@n_S13zzH>FKHZec7c; z_Hy~T#}lj?U%P9lMU{s6o7cJDeSNO>sB}+aaPuqos%CAe9Om-J*JhlHn7f#H!@@<A zbrL2qD9@Vs#NzgDojs+GR&_Gi#k>lc|L)tbD{-X@POS)=@WJ@nBFCc7##--=d9tJw zhcwJoZBPHTi0{pJlb4bQ&0Z@8GzhW#Rfn^#sfqev-@a9{<ZVz|W^w?7r6T`&*;mSE z)iV~VRZKtfpP?sC`NOdt+qPXe@hzkBxy-ZOy6oTDF6O_T5Oe5t(ZS?U87BWA|KK>m zkL^ci>G!U;c`G9pF@4>I1&^=o%j%Drb<D;3hK1#Uw{c5-OjLb~UYxWKc)w3Gb63<+ z5hJC=rROc}uJ+0w<MwR5Jax+7IfYLf%=vzttr5?EEZrN&vT@qe#i=<xU(a9LbyhC= zvGJ1W{DpfSb5&Or#>59t>V0zRncbY}-+DLf-061l%d@^)W}J#M{=B>U!K$wGMV-!% z-esBh<hNdrifD?_IMl}2Xt!ve>Br+uTYaq$9zJ5=mXp)7Kub(6G407lwSC$9ue{eg zxNX<YX%XS?nx2a;F_^GYRKu{^<?6+6>V5kRUtGF-+fk@;laToY@059SuI!S3%UQe7 z#O!=lXQp(`gRckQ$BRd2O^lqg;LhP?mA``Xx1OH8^UUUb<$Vq^;Uybh9-cVi=C|p+ z_8GG?r<rd2IrGzz1qY5NWJ}rKYCkgJMSW`10ps)BZmAZh(l7kFeoQFN&|dNQGFSau z?<AeJEblw;G4ijU%_{u`>#AD*GYD?YUb)fQa&D(iansGOYyUIw)C65Oi41@9CbYcf z)SHL~Tf=!<A8Big$xNz`nsHt!;Zw`3mmwF5<rm)Kf2+Fm;3A#!LvDN0Z>{jW#VGsw zhMm-p^RXYbV@|Gc6%lyyCdA$%_`<9|^S!s0YDybzp2ui$a{b1CQZ*SL#GC$ztAwvD zE?(m<t=wnU<bI0LW^!DbI<Hhf9@pFc8Ncg;ujH1juFNxKE9o-57s2Q8>-wDReYPK7 zzgSzGyP{Q~?sN8b%k_<a;y)ffa!=Lx_S)0#35UODoGE9#Z~Am|#j<zL&iUF^cDpLQ zRbE#w)m0(6W7&6Y=i7A#6~E3OsXF7k+~>SNi)NTY)8AjA{;gqEw$E0|NF6(}q51ig zod<q}pZELt&S_81mw#L9bltLDCN4-1Rx{r6_4wARx2Aj^lh4#GiT)G!BXjw2*>%%( z%9L1ctdXAF_cc89$M=WMS=TNYojcIRC(SVN&h@8<W2Bc$cLrZqUt22WHtl;s?FtW3 z_q4qItp#h8_ul49eq%3LQ@i_WiTlMjYZr!2JS-VlF2KID;@QrRQrEtFO*)n?o%*UO zaqrQh`VVto{BoQ5cY1oZ)SX45dPS9a|E4~EU(oaJjZtK$%CA|sEJ~VZT%Yz&J0LLR z%<fL<igmXS-WOQ^M|E}7tFmjSHF`IlINKC{+2;D>Ei=z&6`9?iF)2H1%Fn4Y*3|~C zsk;>QZ?W3%T)TT$m<m6O+5Eb0Vy9a%Ir!@0t9kEviVpX73Tn;xqP#Erz%_@;1OFLp zUp+C}pz3bdws~=TkLV)1<S*`r{xfU|Z~xEmP&U^*Y+qp!BZIp3j=r{?M}GWgSQg#d zXQAS}<H1Je`B6VkT@LYBv#cp3Q1Ph*-@j$kPG!DJYtMflrx)3ABB=VxaaQh)E9Dpc zWBvGU{p0NEjC;B>+McNvJ!w96KkAp3_>}1A1;N%EPRf3~ZThjlp-%Pm@*ipUZfQ#- zPP_4+VXdoNa^I8dJ8#xFMc-V@B9$^p_k{G)`#s6)MW2R-O%BsEzHxl!Q@y7*-c|D6 z2+29>C2@s!Z}oH2`K*UxTzC0TGPUehfA)Oct6gtq-ki!V`8r@?%EY50DY=3B=OiyU zE7_rUX`x@?`Qq2JS|%KfbV#tO@3l5O@v6^4W`cDnqo&3aHVG~(=07jbarSIDdHWoD zRLisizq<DieS<&kdYl(--FblhLg)hB_vdaVAFwU#dHi}-<}}ZE-sUgNrebecPAUkV zl-qJm_sOmmhc}+c`P`Kd6|~fBcS?WUe}<@x(&SGYEZ*>jmv_z)JLkYG|0r|KD)!W{ z$6ai_G8;cD#F_Uo%JSFD>RgmRWd(QR3HJV#D|mXAv(G7XNaNnYr|BscEumtxqRb}Y z%daa;ma|@|_}^1x*&rkMc2@5a?yV;+V!p_}FiOb_KK02ugfY=2NAgOpj@O3d`KM+z zhE7tLuT%5&m6mv>D7SH2k{iQYe`AJX@jAOIj^sJ|AC`Sp?<?%$pSpqR?9LqrWDR{Q zne2`$SAO}uh2PNcd8)*_y;(n7Y?XGf2A-dF_VPAX%h1`n7pos{(=b|7^LfX|AHgB5 zF)Zrr%(8~>gKpLwzG2cbp)O4M!%<@$e)Z*&D_OcHt=bVP)A-u)R>+gbB5Ir+oX5&5 zXMTN^`D(sV%TMQ0_C@p8S0zZth8F+0((3l@-qF46S<4JlSpCjPGf%P#;afU`@q2CM zV^QTTE5c9bFjW3$_<E(WrDa-r+SlW!zlicSTnjp~-S6htrNJ7C&U3yU7kR{BQ~Y(w zL5alM`<MC~aIsH2^1#fKcmGx^%aGJa(U}%b)^#QqL~qWvubz|@p!_tpN&oxC@H0$8 zY!7BCws{;6_T!3|*L#!PQ?g<@bJ6NNhpJ1T4x~4~$z;@?S-|yKX#S4nd7fXt9`#64 zN_9IBAAD&+?5aI=CC73$PTXE|Z!c>a>%`L!=4n2bywP54pTE>$o!$H3>wRCAdKNxy z2x;D}KG9)~$NAP<9$NM-{~4?pgD<OmeY7~FcZngxCZV0I{gTTUmO4rXN_&2qQ^a5z zb6EA})Z7JZZ)XX{MjqbA5Lb9<c3Y1Q*TW<6dj7$_$>-c9UTJ=2_;548uek5uRQt(h z7ZrUkZm)SP%G6fi=jI-FsLkR;`KiYWe2z=cFn65@W@q3poK=;puu!5#MrzGjspC5Y z_sf^>jr3`f5|h_@^4CAA?Req}W2Sw@`>!ntzhO3y@n!$((2LjqdZ;i?dp<$S?eo*t zC{;E~M(NE>wlAIuDnu-_Hx!(FjMwvNWqW2q$mi<}$@gaSzw>h6Uw<Wi`Cd2aGprT% zX8y~gY99FQG<@@9!z<1Hrw`PeHczmW3GP(wX5zGKn-!g{ZIcylBYU@A%kn^QzVwuP z3ugS3-dnq}Tj1QkqT<_KlU4oSbDn%*%YJQYdd9<wo1M~)+^^jYYZg_yOgQ75erd5; zrrdM=Nq!D8&u{z+og^V(ATn`I`cg&L*i(|uauu(5!!0bP-n#SQ#EtrQeKVHj=5$`* zpCiY<HM+N3p(b%x`dU41A(4_dR)Oa@MSQZDb{?+kcl>8^GTD_uDd+yV$8#FLtmR#G zqPT%Q=A*|NnLlfH@O>%fIj_xKd+pR5p{ip4j00s;{xgVwS>0Op<PGnh$Lw2`oz_dT zKXWLaH&^2sQ-|-;#`+n>KLR2T<j-)EUM+X;>ylG`SLP-&x_!K{;mcXY9uLO=rj0Kw zkE$F^n(^7iBc5I5^DFkM6t8&+X$;Ks_H8XV;E}Y3fu(=;wHX_E8eU0kIFWp7)nlzq zvaep1eQ-P;H9^sdA@=~^->hK4grdqX?;YGE@6V|%_S~Q-m&cWJ%&+*BM&_QWs)jpH zFe{sCW_sMP%fHP0+BfBS)`PdtO~n~Qmx?o<PIZ@?Ki5N|<$&T&^?CkwUnTDJ&$N8J z{KtjhH0gKE7v^a;n$LK#V5hoGgM0i^3$GAuo+n=)E2O^;z3D#tse$Ta$>+BGg?^UD zLOZnz+^?-Ws&ZP_T0m6VLgsJn%bG6_XNt%q%v)}^)pPP`9piJA%Ja6oI5WFVbpL&2 zroO;wHScw-8&b|I$Zge_>0w<L_v8KftR)LQ-%h^2bEULlW1q;p{cl4Ia<*+skSp-B zy3)Am_Xi`}SB;hCN*>N)veoIA?Y2BRaPq{{3btj=K0BYSblzRYd5qoB!Mc-s#({V4 z_g39Lc`#=ES{w5j&VmOX%(>>v_q5NTcydrD-?h&i3}01>Lz5E(y=9(TnDm8t%vaYr z-ssxxI(1^`jONKb#g}L0nXv^GH_qLEZN_g$ExwRPGu9;MzA~40zWj071aY%f$DbJs zJotO(dEb|%C-SGT1sPvo8tQvSy5Lr&rQEzLUkVLaco#OjJ}5tzPr=q{zpm8g^-fh+ zW}lk7<gLZa>+{z-OLLr=^U31i`yjoq4qbKMRro4bW^jHgV>%V`_POo(waWS*k4`vc z$-Mt@=&?(lMgI~k9{kzyT~zPUs^zTF*KOpNIy?AC^OR`>R4SxQsLhJF>-BkF)y7p1 z)*X0bsHn12UFF#f(NxCS%Gq*^$3+@;tUXuUU>`NPq_=T9<F9J@sAa2MQa4V$V?6oB z<<q%2tC{@2`#CJ&)^Z5*+;roh#Jk$8)S@L!=6c3GkIT0Pp0mpl?*DvNTlB<@+nX5e zjx{}s5qkH!&#M0G%T;x0cf6l3`jxbr>FCt}fg=y*=Vwh!``OWxbMRR8EVd{fyHMul z>$m2}?tApHZ|D2atADMo^crZl^gny+xj;?Gr@g4A;rns<x!PU}boz?e8P-R2dY@Xg zN$*1Kzre1doh$~&PyY;I%s9pMW&-bizj|RmqdDoT^|!Hxy2Xej7(6euJt#LN|6xSo zd8MfhyS@u58=U+4!tnZ+l`O68^8Z#Xnv`C7%V383^;r{rvL$bSdOqj*<bWtW$wIYo ztpckDpI>`j+HA<a@_nDy{8`fPE>DYOmc7BXZ_X^1n`KURp*0PTlIQBJ3bc0kaU6JZ zMfF0>!$Wd=>*t!@vk_J2a(sDSgxxTKp|70brcC;ej1vqSthaqtTHtBiuqK|l_uf>^ zDIBMG8vF{_gWqMaoD67|klFZsDQh#Iufst#Ex-5Ems|XK<v1<C%~7`VEK|z8Z0)`~ zrN6!{vzf#c!}HKV;Y#vTi#k`2O*}Hc3mv+19&EQ%mUWMtDm8g~;R~zhYuy&^)H?9} z`0~AqMHUHmd4K;iNHJ{dS$OxD(c(<Gvpx|Ax+Q-)sMLu{Of`RI<XOtNZ_%8C!A5Tx zyBWl<$Y+H!IqX+^;F#Q#Quh9==_!rFY!WsC#$M-6PVuz(!n{<Y%)a8uc98?F(vA0i z1fDoAvOASmBEjImV|M$w*49(D89BW6OWbDU$RcF*_56aBPZ_y-YL2{>WwVm^Dq!G~ z?6>9566MyetPXkiK<>-_-9NX_UAps_^_8iDp*t;~RQ(E&FqvPjEUCU<<V>0xL-Cw< zvKbD?6+NCbUzb?0sAgf!^xN~^-kZV@AyBvY(&BR}NtWm3y(W6)h9z&YtNc}NB5*;2 zU9VE|nEP4}PRRpD-FZ4r_WW5sf2G}&p5jmHIdxMwrY4_^pOR7{yV*bRlhMSJ$K2N{ zZLFF0``E-83@tJ}6WqTpC{s~?`m@gYM(Huz%s2iPvW1~DR@a;=sD8FIcJ*`{{gv<i z9wvslY8YOax1=g)h2*Kp*SA+mC`}Sq?2q}fgu9jZobmO06WWcARVoPi2j2)V@IT`w z@^#tY2N54^T`d^Ii+P%l*{{`Zcz9zL*M}Vkj+Ix1WGhOCe(ss%`Q?kq!_TRan+$(m zW?=Msw{Sw?)<))qA~PRnZD(fS&-=1~$7q>o$P@moa>f-ioqslapLk{56>_M-{h`+> z2NpgJA2tSWQJdr)3q2q7xi9~5aa!PclZQ(4cekB*`O@{Y<K(^yQ@M*x#mzyD6T<B~ zmkUk}mq<-=f9jFUn8Ulu)>iYxBBR4~A&iYLiqFbh^)C5f`Rl^W#69aS)Vdiva7iBf z)bQRywbs?<<W$aM53m2>HQgYwy7Wb+!z;#f8cczT=e~Y<)H++$n~y)LrHQYqt1>hw zl3#=|<>Ut58|RlQCfU7uzT@kv<K--UQp<uKFf1>7P*vc{5P7fJ`gU<j*@5R<J!JT2 zTRLzk|6R3UN%QW7a(gb%crTf_<N11@0M-*vtd$g|6>%OsR(Nl@u;Jm{2X#|t?bkok zY`b&$(_Niq`4$R1&l*g{3IZn1T~j!#ewLrXU4CWR)w-$HjuOweM}_9T<N6XK{Jx9f zdgR7QR>@z#tXwophpk4h(sa`1^o^2V-v&wYUEa>}d45dD7Pb?Uvl{$7RX$W4^_raf zvo)#x_QuVhcAWSXa#Hj6k@d`TO8;a$WzIeyrs#PxYN}ePB=6-v*|KRWb3VWCnt$%) zG5@XFj5{W;Hau~_@|^$cAeDuOwpo6$zqV1x&+738(e%0tHdp!2uT?OgmN@Z-@IP0t z^;<VQN%{CTqAvNZ(~g7B`?3zjSe!Hb)bm)DmBqNkV|LrMlgcW6Stq9O&5`#y)Ro{? zJm*(v{}$P$A1Cc~Sm5r^zh$FMPqO6kr~Z*l3qoxD>-?WboL0Cex%11}sJ?U^rq91- zF<f=~dF+`^RdLv~7=dhsm}%^lr;EF$X&#K9d%$k_&kJmKiXN1lUmE4vAN*79YM0uv zN_N@fRU0-vo0XJtrz`A^#pC%)ebz92zP~nk$(gDZ2Uk1APcJymHakTsTV3*X@Nv!e zXVWT|@HEevch&0bInUSERx)nt;kSGpd|ctYmgSliPmi&$_1m=0@^98;VYf}YCQmTP zI<$X%)ydui48qr!MhUG5*z->`bJE3it!|a3d1kV|!@N#6zP-2hxPnY^lv>)wHOud< zb*p?GnXRu{t98lZ(Uu^=Rcq?G=BB(bj?6Y#>2i2&#uDewRq`T#pA<$mJzx&zY|FaR zGl!QoDf3}})q=@fbJNx;8=DK=u#{ZR+_h#6zrvM;n_~@T&hE5$*41M!^7c-6j<(<_ ztLbX9I2J2y4|Pp^@N912vz|v=LOlyr7R{XO_Bg7zdrGay-D49r{tEimQM34yrjh29 znWB1|98Y=f2rlw9nP;SFE_E!TCA2-*bIF~|oy=>C{ROP~PA*ZK5kF6}b@Rb>kzuJT zCW$f4h`-#`IivKfTePh8HNS;fEK6I>&oHevP6<ifn{BS_%5-t^{HSEJtc{Zvr`w+O zH(ccM=Emc-PEm`DWU8*Xe!jNw#Flp9>-QEEX`~%k_2y6d+O#JDCk^LWiU!^+s`r|C zzb|X?2H72JZcDis2_JkNa_7Ov12$Kis?4fFGo{OQKh4iN_jH2cv8>fXj>oI!o?|%g zweG;2w=eIT>}=?4u(W-(T1MvEmzCXfrpe4(az)S4;`aSnlbvL5N*6f1%WRo^;kiuE zrluwR)8~EVRJJL6>%hHp_dIs5%p!}UhI9JNCa^l4@wBY7)zY&Tni*}u)^A&$EW7J! z@|-_==3Ny`DhTg?>QS?FqQ-fdIgh3;Jsx+};{?O&&s8D1#thN&)qPudl`=Q{{8u`) zP|jdM%H*(FG5qV313Z2PSqV33>^S2+;{<!=!LMspwlS@I@}EI`Z=R3H^FrqRYMavi z>VnU2wQii3l9uzNu&3YgrC*wxN>2~ZKT(mD3UQ3L?>z3Sz8a{cUGpZg;rPSw0v)qx znOx?LGM59Iek5;^Gj=HKy(E+OBzaC(W@_=&*OwYpT~FS=Q0%Mtou|(_B>LmcPMbon zOMea+7wtPX^|a5-*h7>4GZ^PRmTg#;fAUWC*YBoG8)GJZ*E~BlP1fnVsJUeF*>e`h z_%fGnl06^uY=Qoy%7e<EmNhv&nKSioCSzik(VRJq=S`U>f7+h*()S)$o6O{&A$3I) zimw#<9WZ9xzRmyi#J4`WEje=pe_ft?oM#oY-0~~6TFR6DGicns-hZe;X~IVBiQfzE z|IKRcOg}U);!5;SmU;fmzb;m-ut}Ia@6RR1h2O<eEVPf+{_f&7|5(`9wy09lU=>5+ z$uIvIzFv}aHq_#3?&0HQ@QKlLHdNm=Z-4t%x9iLeGk^9ORQ%Cg7GuZwgy->oyRX7} z(a%`Y=j~YFD>n6p`KkLKWFFL+RK9WK{UqS$8pPwx^Php=fB9ZzJ5NcupCUZ_)SrAj z`Ks7Ax_2+bf!D7ipPrPEUAgqI+|J`QbyI5=?Obr_XY=<N3eQcR&3HP~<1i1;w?~`i z-dE0K|F|Smw1KO5vfsfonU$wE8umPX_I$7Txm(3^CWlD*J};INU#j-;`{ol1Vvhc2 zFi+&Wd3?cg$+m(gk2k)K{Fiy~&XsEu1WxZLu(aF4^{jJ-Okd&c`*(t!nNHn2ne+U% zthR+u(Gt1f`3sf^=Z2}jmvgs2*DW%0`7WK5W#RX?Uz$3zTdeS;ZEaTjEm=p0n|^$? zS@v6uK2Gjp%b0uiv&PGlrs8KR{R&@)?z<N8=ML*Ti^XSULq0l+>#*Hfo>t!6{Ic)M z(Xh~0W_o_UZYhrED!(q1bWqNCzAr=IjZk}nt)<8Xhu_E9FO)C6e=_m1Ec=fu&Y3EG zwr8CaO#Ylba9~-kjo2M~sVQ%z+a4U@>DzLxbi$XPyDulW6zx1_`J!sp6#p&#%Z#co zc=Z)XzxGi`mX!BeASZw3XE)EU;G3I!{$B88ejOUgAl=9|J@fVsnc^;<)7(u9z9e6f zo3cY@C4=z$iJ>PI3<FOrer9pk>p_IpVU~$o`Yg|BhBqEqwQxJr0_J|N$rb1BOky=q z4P{9wP0Hl)IC^2dj@7f-$|ltgu?Ie%d{QM9^Z0$SW2TUih%$5E%(uR!lJe6<uBIwa z?2+5=CAsNvdEo0mFW4F<hI-~TUz?TuvryuMtld^kg~b|&<@lnPUkK)Y==r#>sVT?J zfoENT@v-~$F_%PtFIZPleYH)(x`Vs%&&!6MlzFu)xCLkYU`bdXXFt{9MDOIj;#nIC zI5p3`+j2d~le1~&`Ms<+mVEqs`Nn4-4Z+jNk}qHXygKQGbh;(;<^FTC{P-@}#n)%; zOV}8&P~kB{x#Y9OS_g8EvBso6ZrG`A`7V=5;IJiE)x|UZnm(H6*iY5^I&!e2?|A>k zHrsb`jc8o&%loebE4f161{l7)Zc@yvY(M8s-kgd58LpcwXmU9Jz&i9;r(**DUCBoa zLIdWd?2NN}@rpk$W5=ocX2rW@{+Y_p;O02yY5DeV*5zZx8|Dc1JX)ObZAapqFAoZR z*t9pY-bk#ieYvQNUE$C21;-WsW)-t^HiR?w+3tKFU?LY;|DO3rfLf>BmBN$1(&nf? zm~i9#+OUip^16R5|1-P}lKA+(i$k~aV0p>mg!yrr{~5A_-0mHg`E@N@GnGOA+AL>< zzxSl~Z&<w{=4PhxL4|pHg6l4<s;iqiabJSlGwA|%=DqgCt9kD{_+*>;Y3j-?Dy7;= zbAAiY3EuPIRC3~$d5_m7xofcGr3Lv*NUjumu|F>Q{(9M0F`i~M*NVi;Uw3WTByhZ( zXZZ)y23ZEKwL5nUSzqd2IDgLkA}eO^DeKyuHZ^%#{;`@>F~yKIxI)(c*Vk6w!ycBl zmdC%YWWB&+wwb}tV$tE8yOANnyPwFlZ&jGdcyfZ=0Xb~}|AtfN_vcs5RL?!$sw{u> z+JwobxBT^O%Kw#IEe#d&x?R1!CamZV<Ax?q`3kwVIeHSZ$K`f>Tbg+10?$J4yi@a9 z%9rv^<*;}^ImD;2$aw1O{<Zq^WxC9a_SGwBY&a`3!7h3Cy;iQHQ@+OeFE^d1V!@<T zU~&BG@}nh_@>C}G)R`REw`$3@d;HtKE@wPu{bkLEPi^;iG`_H3>+_wl!M<H&7So|Q zn_DHgithaSzBIOno5##P>U?GBVOD9!S9j0ZX1PsrjkqcOMESj*LEW-R4t|$-7BDc~ z-G6Lq_wKyOJd6+cpU+yi`A|dUlA8Yv<@+*SnsiUGJ6`_Jus(#fQ?RUs-KI^a>f`N~ zLBbQHt=*Ry`R@&m3|602Ikl*~=J3WZD>Am6{waC4fA?{(i4N&c`e(1pT6IpM=DEm= zXU~^i{`qgKj_-7r1ig2Mw|n&*@=SA+WXb&|d)8^Y=d`*VHorqH^WFb!ifKG8bIGTB zdY3?5+TFfot9+k4FDQ^&W&2owKl!-)nQJxcBAfYVblo(H);r<&vpvu&nN4&8?~?Dw zibEdGI1xUF?XhV>>;#+bxjQV5Rjl%vrtG%1`Gi8PmeTGEDK+g&eRZ#{cHOALag%-C zzpITavkRkZR=6F$Y+D?*F70NO<JN5}4l+Ey^80F$aT{0JuX)-NcYLhf<a5zu<qkfH z=S|gD<KO<&>pGfuyYZEAL%r3_po!wvn#w^9VzxyN-<I+2)Z@QC>(KVAw>A3i#a+JM z_J`wrm|W~mhWFvm8~e8U@vm5y`Ou$zze3d&yMU8t9c51~U=7aJXP#B%y?1_{)5L?a zSu$?gZXCMv*E*fJp?xKE;j|OoHawHETyO74bc}nt>)8^nmV}ZO_smOq)`axeY2|EA zE_%>r`Fwj8-<?T!GncW(F1=kmLD+`x!G%!I8)uH%&SqPlqEd2vsX~}gqQ|*A7Ymdn zxDOs!CO-4rGmhdLGJ^eCv$LysE^}#ZmPtGxUw>>(n_S77w_Bz@U|=}$YnIK$ExV@~ z@f|4qx@<kms@}7IoR`1$o&4lRAV=MtIS=H$<|XnA8#C_6w|tSwU2~*tMWl4yok>>z zOrG9bkQb9S-$3Y-r{neOR|4lG7ySCq(CfA%eoDIB-^`WGr@uTGQDdGlEnz2@<w5md zLA*<9&i)KyV_7wC-~NYQmlh~7grq!IDPlEXI&om#Jzo#51rokzFV8#heZ`V6iyWra zcRo&h>lYS$%>A;-n|O@_hcns#CVlz7Qu+6()aPBjT&q~^wbp<5sx;3?UXRc4pRb~c znTPZ0#TH*xN=4=+OwZ{uSCmlSc|5CgB1gf~4R_LQKE4mGxpYj>^1$(B87kS{T$)L< zMcwM+_D7}Fm#yI7{oZLa?fhQBjWU}a9+$AWbh4@D`f1AtA43HcCKu$*{1tSfYlif9 z?Ve|I9$sJWCZW7dlc}vc+3dj{#=jTCW(bG~uG;l+URNdCV!;@-YwDTyy^#uwIV_WJ z+uCy_r`Bcc`}jVL#V%^wPt~OARQLL-)<-#SV>W%YSlwaPbjWGb<m>X9a*q}t=KEo{ zXzGE}X%pSwZQk-+S$6NMHIrFmG#`9@v`vDc!e+bIQrj&pX*%wG2h#19%}UvlF1hLD z_RP5UYs(_Jr%9abULiMc%c8rUxl7t)i>xj`?#{^9$zgB%s<c)}vFLEo1B2J^Y+uH# z-l43ucvfYb(%IGrkLP_AI^tNogRkP7$brtO9k;)qu;o0kLeBQ}&SP$cM>Dii@?@=Q zGbXWdzu@;O7k0CmU~uo$Z3lThH&;uA8^+8`e0&}U&sSX$_;ci#(eV{$O_K!w{S*=M zx3qlu*7fKqhl>I`w2V&AecZ6`#`{@rNnLCF?y=Pxhn1aR^L%}-ewn7KpP;z4WZPq} zho=<!vqZxbKS{iM>27c2@<({?;`!H>F|0If@O#`d@6jyf+j9h#U*7-F*KpzTGyRN@ zQtw~*6{55J8T(W2bH)C5PTb#BrchsVY1hMz0;kL^zkgq?=2DcC#$xwXW_985jUtKC zItF%A7E1GU*rh$6*VJ@zIwPOO^FHIR3tU`1>i8u14>WuBJZYTx_fpm6XD4M!-#SQI zdps%jHBhR!BWB(4ZPgK(4KYsy_#cPgpHNiwXaUb6vkAOw=Opj^zT}3W5$_X^y_P4x zE_F}nl76PVI(c%?4!&~3({h@t4$DP8&wOK5o5A>ggTmp2<~e;|o=sT1YMr$5cE`Ye z9k(Kv{yC3tEz&D{WcqXS!8dkWI45s<T9%@~uJCB4p@qNB+mj6Qc79)GQPvvjm%?Y< zH{*TS4W3E-7eZZ{WX?*@F*|tqbwFF#WL`;`s((9I%4}erGs&9YtFJUA#*FJjg}rG2 z%N)1Rlux%eDl7cWQn<)J^>(F7I&;@VC$Be_(#P+<Jt`NiC906}A@k0%wg)+^e&+Ji zFFaZ-5q|QY@%e|rdAv^-{k?ZTs&~pUpX$x$1J7xG7BcM-nDohG_2lE*uPwY0k@wkb z^51)|o=>L>J!V;EIPv@D*Iw7oF+G;9&V7)6*`%0J=*{{2I>&cD_!si!wERrZ!0Q`- zU1{}DNiJ#rxa@IRL@B$-&W5$S+<Rv*apWZYs=9og^)T}snXX7_p3n;A{a+TW@SoW~ zect@Xt_QLv#V(1TtZw(^aMMGp%~jtQPT5y3`>^tHSD$+C=idi5F;0~&bX#(wf?YX} z<GkIKZ=w0Kmz#7ey=C=tU+?8!aKf$F?@VUbsXKcrEM%T7iVPD8Prbu=P`z)jW?fq7 z^ZXTW{px4kT_7QS;>qvO7~f7lW!2cOC;z5A*kqZzyz1NW!dICmIVTwKa59uWHjU5n zovIg}&Z2otW2ee(Z*$qbp980bvk0GfrMarj@M+Y9+m1SCs%xufxfq;eQed4~y#J;5 zl#I#QJ*kco=c8N?D6G6a-*3y&q}Dk5o#z~vr`8tS-LZJe#;%Jd>60YP4Eydqo4YkK zT4#lQXHijI+msI+FZ`p}9!@%FaM$Ab=VeUl3JX{?W&heOYkt~#tmcS(#g`=86(?^= zuiv;#BjEgw)}Q6Ym;0`;o(!ClQ^XNw!Se0bC2e1^CqBt##dn&0V`kLlOtpD@X~GFl zy@-artj?-RjtT*O5)GBg%O5*hKM6X#{bj(qa@LbK?reCIRr{n*L|-9KeZiL{0c*-O z+%j6e<E@8;7}s%TTVGRylnJE_AN$&t{63t=zAuAu^;BJv^rvNq1qzQ^IOlZhRC{Qi zNVu8oQ#v(C$f&pT*Cmg_r@0dP*Bay)Kb?%(z^pQFizH)r-Xr77va5KTGw=Ah`^fE& zs(RS<pzvCQ%7i^XC%J@%9>4o9ZDM4<&VkzM5TDbZ4U*iqYLv1!H@IJG5WFYiv$*Z< zLFGAD*6-48+QdI$`RT7K422kuuyR#=H(6Ko@J8F01?;kK1(FP+e+ExkG{@tP;4!w! zRhRM@7@jm=x82)nT`ag=wz_Z28|F#&6Vzvf|NUqDPRq=@h-328;~yEXbQOyw8JRyQ zHPQaKgQ@WPWswMmM}^X!+GZCoeC!GC44h;yl(}%?Qlm*s2FI*EI_v1n;5of}f%1xl z27+~o2ekN|G9#usB|mt);C;|f*T<?6Csr8v`-C_KI_*l)Dky&aE+dE0?Zjc>$;|=l z(l_2bsQ&Dv+?2ncEt4+g#{9igDsp4?DftSmzU3Q4c^kf#Wn5jD*m%x1b5oip&!)uK zUw!-6h8Oipcs$nqd$T?CSKrUoj?QW!y@%KN#~1pto`{@%=F_Q9R+sFY8=kh=@@b~@ zIeBoM-c$SMlEn3=TyH%8ea&L9OWd*j?5j$(St=(}l&31p`L?w7;#1KZ>zA)pyL{)N z$ImuP`(AOT;5|p)>oEoyi1a-89c*sKvSQ)4k8NL;Nwm+JuEVHh*7NnK!e=S*iYvP{ zU%t{TX4rgMDY3rn)V==<Mt?PD$GC{_-nM(ce80)FPcyW0f)3BKuy+nL`q>!y>lgEZ zCCpb;58i5NoIm52d{!rSl6&&b<eY@>E2Vkm&z?K~P&UiR-NF4r>Ean|8*`@0S~dP> zxV}WlX>m%&slz{Z^&gre>;605Z_C1_r;B3`?rMAc-hW2h37(8{BcbCqWy_ArsU>P2 zbK^{$6WsikMXu$7|9kHJHtA}!QcS`VKFr<lIK$#W+SI7H(BPu=s=JbwI-C`lF!yNZ z3&Z1kU5)ELE<V`la3Z02e%6Id(etO4B@`|B_H6UkSg&a9jAu_>oU1m-8<-ZZPuScz z%`JA~Vmtmg>z?a|`71L2X>Bx;REaKUQ}Vb~w>r?ib(^;Gv-Mr_q6_x^_Q~X*Bf0J5 zl!ND;d~3Sb-B*2jb81q?_dau;!ng6hf3iOG^)HA%UYWgG_s)BbzlXktel30-uk&iU zS|($H(Okoq(Fs#3^BFS|&pltJwesZZ6lKfu$9-BnH9OZ`Ic@*{^7AK^kDsPWsP}0( zER{%>?)cfiG(5m&rtBxD&*$^KHavL57UVh6G3&#d(q$THfiL^7^*-Hj#;f_V>`S9# z5mToKL_D8&Xf6l$zwJ+BkE`1>zF-xTxNqd?8DjHmo?+05<fLV)Hy92c|0o~Tdts8a zMa-n-w(dKYH5q^3<X(7S!MvpKsTU`RO8b?|ono)b(quBf**aat@O|Hx9+@waE537v zmQ6ad$7tUDcNb(19}wr<d5}e>sPNJfqm9QNwtai2C7!6FIOCDc*YC@B&U|)%j(1P- zOW%cerp`QYsI{z)ja~WPG;vk+p6B14=X_UN?Q&wXn7g(TpM%7?>gJ$hjzXVLGBo}( znGsVYyHX<c_Wa#1J>qpIHB7v;xOd^tGw<7&7qC3JoH()X#*AFuN%1@6rp|UOI+Dk6 zGDp~dlJB0CciiutIHt8R;c!*c?n>+atRhc_+IxwUZ7m*~Omg0-F_rVK#Qk{-f9YRZ z5_E~_l+o&6AsRP-ACY;!Rv}_(MptQ&r`^`&8bVgae;#%{NbdJ?ZEeWc++^Re^Qd9U zov0wQ2NTbGal2g1&GA;0eDLMh#Zx>RPFiyB&``fO<JIkNO@?1qEX_#Hn3I>2UgoRp zFSBah#J7RBuk{60wl^Pii<wk?Wzxogl$qa7SV+F^>g)*ITp9CAiaSSp&vc1bl_nA8 z;wmc~%qE}93OKK`%6XE*v8*YoCnlJAH~$FvJ^3lm?#)-y<=2YI8|vhI-0+z(!Sm;4 zuXQ5EiU(g#4vBq`#@!xp{3-W8Q|lH69z*5Jb3&KcB^}toli2Ytck#T6WqTS@);qpD z8+Pl+oRf_=1kZ9DGg^5-ufX=D;b&o;HGW5Xr_bM$6?Sit+l0sILH<!|r}u>j&S5%Y z`DMA)`spUwr@arP+1eghxlv`~&bfvHcP8=eJpSC@Q`K{pdT7A>JC-MYUE$X0*?3s( z^3!$qrzDqOTO8)_<M!q+&t`~SU1Tt0&Y#`e(^vCng-%jqoifewvQ645y%&d9*w;K? zs`g?^r+Sh~PXF|Ic2i~vR@}9}C2sAaQnbpjf342a<da-X^C~URrmq%LUCes@W&e>& zlELzOpO^a-cg^OxTG{OTX+_8_>jJGEQyC@C`LjIUzH?RduU$fpujjuE<5?}b`L4FW zfrNEN9wt{Dw!GW8?|@O&B)j(yeWmB0PJ8I)&GRpGKFgzsD^qSAp2Qy*#@uFoin(ve zynR<pSQk8&%=vyoWL|;4o^eb6N~3~$tM%LG8|N7m9}S*=dUyDynPTo!9>(^WrSElF zz#4rw+x2qt@3PfJ%ArLCy}K34mG)cN>Aa50TmIPl_F1(uv(JBy&nbS{^)<g+%DqcE zXxFB$zfyPI?92E>(y#AaKP|8MU~$12my3%TCmBxCzIgEAUHkf-HphCGcj$eYt=739 z(xtcIjo*WPQxD&{+r4^adVj<52J6tb;laN>Tm?I(8aK}Qx-RGRc6+np=q2jPzWTR} zXPi{qt*d@)*Vmp4ri<733jVY>Z};`t?ap&r37?KQFFd%az&Emc#@F>?70+Wo+L(R2 zr?xM9#)B9o%|n{6PsqML{Z23NNupS&JF}_(*@>Hue^gqW^W4<r#WAjnLKB|V%=y0J z#>ZKl>})fRe->TZruW$~%|`R6!NxzC#uw(@T@@vqy0nZzs8Zy;@tm)#mhK9W)?0nq z_Qgil{|puaqMgULvwv9lEYc!pf^GfUK%MHKcFQF}6DyY{S(?UdvnupSzuT9&`@k!E zsf=<Jy&LB;!k$|ye_Y{Rx?F*MpVpC^MP^BN=AT>3z4G|4om|NuPprxk(7z}7<$ajK zG!g!1y*J|wUk9J^@Kl`GZFyR5*@CnKD{eL$Dlc5Zd(J&;;+@!6{_N^oeOB-9kBUeN zGTY30er@zbA(fkgJjeHMWh|T*cfr6gJbC-X_EXDEroGKuoU`iO+4~ku+a_7+aV=fE zs`(&Gqr=bcZP&u8It)`BRkY{M^{&2_trdC3%QE)(vcl*vgP6#f=TEFVz!1HEo%Y;4 z+$OIjts88f&zg41`ac8zkK@1fT$_@PiOE~7JjqbLerpZy<NfW<hr^hHxBb1@aObB^ z@$srZf10k^Jl^Wz$~?)!^g^VUuDWN*i=IgZb^(68h2e{qt~<J{ZuN_Q>X*JsGe12o zqAi@Otz7fx^8{P%C7mC_D!6tiH}^DYf8KoHd!1Qs*uBb$moB+;D`w2>vrfLW@84yk zTcx{=1x}Prs5oGIwlK7-KWO5HNnYV9jq_^lwc^d}r>FD%Nm`)UuDqu9Mu|x4wuvva zRZi<^3-rtm*;X~r&_`$O!P*CM3@>N3{&1UktorSL2C0}8ihjn|xuX<xj4gj!$zKSb zF(=RFqfe+^#XW}O>V-#L*4&=CQ~mZFuB4PVheX56q*dNu=|42NNPf4%lrp8ohqc*T z%?<3$*q;V@+@8Y5Abj%IWr?R2KR-6#sSet-QFU>GQIY$9hPc&zk@L%=A{@Aql%K1Y zKlGe7(|)GWqzkgU_f~~uo!DJ-O!|C%RM|Dosn*SMQ;v0L9t?Q3XPtjl7~9FtPfu+4 zs(%OUKKFOOxunR^j@4pQ&8EGu)$q}jUUI{{=BDI<Z=xzf+WmWOvh*z}(EQ}_<e3vU z1N-TtE)tvB((ddv{G;n|FlbF(-eQx6EwPU$h&}Mw!?(XLb75!dvC8kOPBA>T*`781 zd$Ue+*}c0OOhLC(EUi1ATxySL+*~O8pW)boV~o$Wdp;QZNq=j5A^&*+w_8l}#I~=p z>|50yoQY)kw84P$eE=Iz*);CHCEu32U3`A#7FSQ>#O9x&W*Obl4>dPMGBK4kR8PJU zv?8K?+VZT0Z$rH{sNQa<tzT+5!_uMBsi@XX+mf;Ve2d}dkp0)2z2`NUiCfyfS~1tt zNITE{Md3@I&(jlaRz3Mp^*765PxKSL3g*i@mUjNT;20iz*lq#q+xb<?pYLjTQgDRT z?yJgWPYqs8*5mOy2~rI6&*<(*sqT*|$$58b;tJEbCKnHC^4%6-JZDrc*Kqj}Phjk) zbAMRlDr8?UJ;;dMvtrYW{bn8q?s}>9c&vI{VfoWNIP_A;M7}$J_V#~Wwr15^X^UH& zPu2(7vYN0ycvHClsq%&7uAID7z7_21D`h?gX!3Xj-)Z1Hr@4;V%I?8#<AaY)7?XP* z7EZ9|KR3PZom0z$9_D$qS^GZuUA1rZ?|*C~Q*vBwqE(y00&|rIdGCXEN~W+k8P1Pd zw`8+u;g-ptdj39q?RV(&{5j1BZC7Yajpn{!ey!t);pG15a`(1Mi=->mKK!HH_;q2# z$~!Cf^cgy43hUi-SZU|P_VgUT<ALLQouy9p@Z{MD-<nt?p82!iFWXE^HE}~;#-YV> zPM?qOWh{SS^k?y+$;Yfi0{e9m*^IBGEz$CtJ16<xEcGcfaw5LBNgx04yVlomX_MK# zOB$I5W|R9b&D?Hpyd&lVr>w8eIi(KH$1&^7rpZ@UPsrRNrWSVVh`}+-C4X-oUXmzp z-N#?}+H=d6w;LP#d&EpScGT;iy|>(YgZ)~W#U3-GD{~*u+f%aaK|-EwRj_koiv;fl z#+P50i^a_C|9$j@yYlB{0SlFHH!SUZS9Q51>296NNt?%Z`@V8pi>frOeNi=ksfAmt z_XG#W^A;<lT>di{o!q49ta*%4;`x4)Z;9JgJ((8-pUc`cQDox$hceIC+RE6pMI0+C zZayv&Bc;RS@IY?nlK_9~O`MOnX#{xxX=uKYzSg)#tFbQkz~4KC@6R%{&+KwhWq*F& z@kZ69BkxuSN>rvldp_rKbk%=`RYi@P=e3*c(EhA`%0go0Grc4G67+ZcDm<!xW|h2c zrShdkIsH=&e_ZJKJ-g^>^yLLdWe#n$YUK(&E_sfBtpuyz!vim@FNe<99=GMe+qN`W zKGtx9ogUxvRMY~tOScEU_w!Jm<kC~~Q@-9NxH(7l@YD7{Kg%1J(p!{!%1!m0HcB01 z3zwOE+~U!K=u)4#i`T}cCAs}8zBET#e`{mx;t95OQ+9T3oUO#!rIYHdY592L7n6&5 z`;r&rtc+Vz!G3AWEz=VL4*pICS!zAjBFQ`ZW2(y5inJ$NhHPFnsc47%lV3q6cL+Ba zaVj)lTfcRKO3q1J!>-<iH=@h}9(>rh;98eMsLuWh8JUE~dtDqK-rRh?`1Y-J5^5~k z`qOqi`OhGhW#*8gygjPsfa||gy|Z`9d*#nq&T%UK@|@yVS?4D!Yu;=Ksaepszt`#F zM8UM5+a^fx6}}C4;ydHm@v!`<mCPILwmh4@BF^x--Ll0u9DnX$>8bzvGD?Syt7^`Z z&p|g-Y>d-aDpY-6xv0P{$iVpatkuuN;|+5AWr{C6-fO3C`1ItH20wS^E?54p&?%>% z<pr#5V2=q{Ba*AG^366&HR(9_)t|OI7nZZVsQkKY!n>GA#=vv6E06gxgdX!Vp11F7 zaOF3J{|w@VUgDYTWzX`8tgAzB2<uCVUJTr!Ww1ly&nwr{9&vsW>+7C`vZ-!ouu9Ii zKR3na)$#Ik#(kL)nX{B44N}Wk^d-J7QoB``Jo&nE*TVfxcbb+nls&&T#k28*<<}*T z0vGj2Y~<dNZd3N_O5@_>t!<AQCb&Dk{kkgf+|$#H+sm0{>XPP65_eO#4*49pqp?U* z{It%iaFzaG|3ty0RX_QRcYHJTO?5b2^kn{1KhKZ*`zLlBFqK&lb%#qRCb>tyPJ`7? zwBoyLz0@i$=F>9sPmBC#Fm;-{{8{k%OVc&Py0tznf7kbHX*gfx;(&@{Sxvo{*dE`R zw`2Kcv7elew^=Nnk~y8_w4@9B)SUT+zTpAI=dRg&d>uL^@zBx3=F<D-N0q(V&OGn& z<$HZWrxj;xaEY_qbE#9*PjbWY4U&J(hUqx7^7ee36R?AeF|p_IWwpKl-BrsidEQtu z2>)66`^w_H1drzlHh(!*xo$glT(z)ahlTpb<(uDHceQ0)XVLiCVS9e9w?lNBYm&F@ zUh9DM?LT)0Relu>FPQ#L$m_BFzg;#b8}6*~He~rYYhHl<Vur;s)73w{4H7%%_J;Ao z?@)PjiPOAy_pba`<nc-Mus-*v2?l)jYdypci=GqNAp0`Nfl+A{XN-%CXTu+TyD9TB zkHx%G{<`SUGZUVPO=}L!5pZL3zi{ExI*C<pC2XtHFRfVp_GkF&BDdmT&WH)p>NkE} zdMbOm?P;XBi`@%m`RlVPQhy$J(6@EQC1V4vg~xZ=x@u05i=KR6q^R|*>CC{}I~3Ao z53VdfCZ2wmr}B7AnBxQm_Ev_TkR>Z8SQnk0Bfr$!A!|u%c!K30E3WccOD6V-$W;9^ zosgQayYYNsSCvn>u{Glsw)ai7nyhE#tz{-(mz4LLsz0Yl+WOZMIm5`)I%x^k8`S0Y z_bSZT7&0M2uVDH8dkuO&SKJI|H!5eB{1wuac6;mQi6>0wY+~O0x2Ki;(o!Mb!}F|v zJz9E%`_%7BcDX%QmOYrJbK`XKth0Qls?GeF7d~HZ@~LpbeKiY(ugfM#@fxUT%Lw*= z(uj2adbq0UTGA<lRR^}QaoV1>@VNQ+vWW6tF=o#cR<FF1Hp!PiF8_H*_3*ZGnPi#% zW1FTn<WILZRGI(U*XT*V4%3lRwYiPbUcaL?9BoQp{<!pW>2~9XF%#_K#F_WmW*e%c zxjvSe;J=se^!8*K?f%*GDqeaW-IlFf_t9B~?Yvs6w!+Ohr3YXCs=ijzuPxi*aLjOC z@kB3`S2u52NPaOXnq2Ifc2_3Z!myz5g5YgaiAhh5pYAxR($mKqCd?`qDXIQ@uigHr znxfV~VcF$Z`%Rhjbe8<NwBh`Uw_jKCTol~${7g<l-waXDlpdkNIUg$DX`WRQNY1O9 z|JX5Om&~d%>AuW^jmf*8-TqPhGSucxUI733p6aAl-R8*?Upt&m{bgMGu9~at@rgeb zHle=niiFv>X&&;?&~H8X)<NuttmXT&8mSiNRpj`xHWn>0Hv8mP`JX|mYKQXEz#ZS@ z_D8WM9mq6VvW@E#pM~TS9*5(_XBBt~oaPtbwwt*;v2aJ<+}ah~e6c(Jef-a0b6H}A zC3`_~bJyf)GCV6@zxBJjV}%Oi`3*}8izf2D4q|LP<}Jst<n~TygU2dznf^A<nWh^Q zb!xq{sVaU``{H)n6TXJROH)#ITFBc6do7G<=-s)$ql(epKy{_G$<Bk^msR@y&0J8l z(?@FRh1>_9s;UESJajnr&hX1Zqqa4D8)a(FXd3xRJem0Cm7`c;Pq80E1B1kI`(DmQ zG0)Q*p3L)Ke{GII!~_HDpq8{4`}JOF*Hn%j?%OGU+T>@$<N{{fznP)idGA&p_X&Ke z)Uc}JL4W>Q<)?m6WhVB``*I*mWlnnEl?4x&d$!k<$!%FbiCgg6ob}2pq>rC6?EAuS z>4x2r(&g(exjjq$derz?kOxEG-<Jm?-j-U1os@WNAC+KT%`<OK@q1t19SSeb{xSKm z+~T;!-%Q7!AHtu>Jo(RH=)rO<HDQN!)%@pv$y>P%l_yU2Jz0F<SbfxF>q=(3FN|8- zPkH=ot{0E0+7Q^VSiQe0OXBYIv=F`p-%YOED~fn5fBv<D7*F?B*%Q)k_xyck6>Uj) zQhcoVZNSP~Hv`YtbZwf%SIhN8KG;EMVv~by+r=Ac%T9zUFRPS)7|JHiV#e|HwHNoc zF!$ike2XPyD;G@bK7EeymweXj>axTAmsY+%=Vv9C74VeL@zAA0v87K+wWq3PdEEZK z^yHKN16?bYE4;N}pH(o?E#j+8&{M%hn?w%E@Xc6xDM-2?M=<im&!1C1`o(O}dGhh) z-^?4l6-z<`n1$F1j~P#%wPBJ#)!XwnVOA#&FnQYUeA~5gZ{y38%*&%<7UUc+RCvBM zBJ%rl3%NO^Ya;GEX8Egi=<JrthEG;JA&px$YrNt(Uw1Xha)V_azr_2mYo<<_x14>4 z?JC!rFJE83%3v<kW0ZDttG+sQhSt}UYdj+B(w=Yk+iFu(nq)QqSW`-gp#Q|3{&Mra zTKOIfvwYv5^*niM`J2R^{|r_;Wm?j0Yj+2`%)WSjUUk=&$<1@V{tIoES-$c3{=JcX zL2jP^8KgE?aXdTldd`>CnFibwiX#kt)*j4rjqClvP-LAnD=F=gR}rU;+}2vvn9mX3 zniitD@;`htX7WmR>RYO>&)Ts0m(*dQ66W>AFa0C8eViP!#Jh9f<`3*Fms=113KN*$ z!0$CN{r#+^iV=5&XU$AM_~gMgrqjoYe_VNO#+tFjxA*J(23McWa?ds_o_&3C*t8&z zXKOvC3zu0ozPz<|$<6O;M5nV)4x5z2w>R5WNrrc!!q;c><ZWNe_?|epvhL!mY}bIZ zmrctry<4+&zU(XiEmgCYhE94p%W-A#tOe@qOFh&?7acK*;jZr0d$me6KB}Pjb(D^` zxMIRqHDBjFzq**^v+@Owp75Tf#dPn>rF&obR$Sp`X}mTorZ$WB!Ph1FKd)Fdhn(Cl zcje3#Hz%vUEtgf(o<ucj=7hNJ=ju2aSUKl&z>|zcK2ZzP53ZQyd|*XS!<-OHu|<C8 zdnN{KnJV_Vc~-~CbHzbV;x#R&Eiy`8>kuJS7%<J^+0qkbx-$&}jhWA{4Kb3b_v)SV zc%7C^!<KV=m1mvKSpL;oKdboKqRhf;OHY*PSTo;Sz45%?RBq1+9;UHRl%K`_XNdJq zU1I0lc=^MsHxVD_8D46eAU|bZ7JE^x#p_vTH!d-}v#G)2XjnP>!q@&~3eQ%ZI5I2d zsEW3MP5Qj8+y)AHD{g$3nYHd|<4IGS!#c)=R~X-io@97z-y5E3d8<-Xa<b(KdHwYg zi=L`Ps5&UfFLk(aK;rpc7ny`P&uz8TYGj0aN|ywDSC%(?!S2<((r)IGa@KSA4tF)| zG<<i=@WQ;U;!I`Q&F4)S84B*VI$YvOE?57$qUO@+b0WV3Zd|n9_OS8VqPo`h<;?dM z8?(yPnKFCqd5}`J&>%VW%Y>qPQ)gR*p5yo06_Z?C!n`-Qc1fy--Qqu4lLcD~p9z09 zU?@8ub#`Lg-8Fok=jBgayK`cR@zj&YWnb$>+-&nWc+O92GE-y1@`6{@X|td2ICzfp z1^ZT>9zG76BKu>jJXSECmtJ+?iuam1^QWy*J!u(Q!0~!cxV>Ty^NlZGRya@M<Fovm z!Myx4qx6jDvwHG!k2>5k@V~V4>rQ6te~H0sUkkQAtlM)TDsA_UJA7}R)Xkg9>~S#i z%A}AIQ=faw>T=ZljOSd)D=$1OH?QH+hLb$EXP$dJ!OigYwFw^XXRoc?d+1%N>+Qb6 z8?$8Zx-ka%TbwiW;pV&KQPk2i@$#JH>#qYrSGh0DDLhv7^`++yt;QW<e|~;n;5pgm zV)}QLWBZn0n|vnC?dO?ehLeiepU&GF-(-1M_(q7oMw$xm&L{l-YqfbcT+(LTxuJfp zQvqW@+4H4Nn~v|6U|(r>{MPK9;r+&E<nBNA;Z#X(_|H($XZ$vF?(K4Br8yFfQ=b&y zZwx)Xfk7zb@#LN-7u0;8uXrFMw^iBaeueqYZ>v-rbRs@~dH>Q!S>c_H+>ND4d718d z56YU3d}p53yY0cet8<_2V9%DbwODcH@QUXjmnr)Qgc=;&e16&e{HnZ9J0+h>vV=05 z9pSmjynQdzOHY<&2eGSN`+^mVPn=blT<o#GoV|Z(XlC)@p7e?DeKXxI{`}}5cFRA` z-Pz;Jg6C@kbfj56R2Toad@J^TaqnIKwPp?5pZ$KTG-1;Ul?i@@U)5GVzy7Xo%h}UA zcD!QK*dQJiw4ixH_=2}Svy$31j5s8}o(;`pjGOs=#njt#N=#aA)}PT5$z$cTNuK!Q zvg%Z)c3DRD{;Y-_%2^MR=hSA2C2{axxS*HpnCH!Oczw=1j>YFCc<1>CSgtvi;Hb`S zztp8=Rq?UP<6ge(hAY3#-@|`xsb}|NcF8x@VP>D!HlFyt_-w+DyA69LRUFj|jJYM; z=dS9W^QhT4InQ43Z?^K8R2_*Fxi626&Fk#_&#iD<F;A)S@-vkO&DXp94W^%Wa^qhw zt8H+`QQFPDD$v?EdBNMh9p4un_PHv|JcUR4-t=?22W{Edx2B3e<|@43=qIk@zd+=T zU2uf_t{WC{TUH(BJ(=JxAN)45yU6SF$v-Pu&mF(BcG^o1pR2vo6OwlFc&HRqd|75_ zdB?W;yJ%?o-y5L^Pg+-}%#UhKJ#pM=<~d)6?I!zTcW?f_W63=u#~18TEA+$^6bt9E z+cn>6sadJ@bV{lEb`!DaI|m9J?pZ!JF*(I?$2{+G-&Oyjo+<Krm2ZCq$GIv@dFvfu z5*Bh#a3`1JpO?z#p1D4qF(+x$%_+&*V&^Si`c_IhSa<v?UE-ZKfx#@g?WKQYa?ge& z$M`({#}SX-{(E=$eDXh&ht`X7D?YfdJgdTSAwBp2Yq?w|&kSjQ|7)A~eA9{eYV%Lz zaY@IGOv8D{@84S~5)-^zVlszx--FBdd>`alGAqwJwE130;>H5@m%eh54nJiJET7C@ zYRy<;cEL-2@5?*EHRpDy`UdM9$>k}Y$ErT-z=w+9OWj;g*FLTLoig#-qOvf#<mAR< zR`ZJkBrU(03Y}n{;C@#|?n;DZ_d&r*mCx4}xhb@txA$sHRoJL*-S=jmp+}0uy`4$* zyZ?!LvYvKl-IqM6Qmx|~yUt@SexI+amL>M?u4LXHb7^LmLh?!5ev4mMc_uckHu2e^ zJU@xo(R|vIj_FBqhJQ09|M{-GQ2u4%5?75S?{ti8Ef!4kR8vu2q1?cq=<~C@MBd=F z-{(zh3Y!eiFLmKK=JEYpmYzokmjL6><7-V;wdOo7U+~gDUD~H1<v&AI-7&?Y1Cxvj z-$%JQd#pO~Ou<t^{oV6tBA44#<=<^%FxAWv+FfpF@t@)AWu}d+5s7=Nxh_48=w~ty zbA5SlhD-IP-<z+9u8c6+sPgXaartwLwJdad=6g9k740~o++zRz!it~FnYN$1!fq5< z@Kwou;W1b4-IKhm_Ort!k+<g=Cb0i}HZ|o|`BY`e1K(FP3r~HL-dBA=X@?L~^Td<v z6T32b=B6?_`dABp=J~QTE%9Qv!7Gt;xtXgT+3Vz;yL_dm^iRg@iOMSvPn@{r>yosX zu!0tgpNDw_|K9t#jPtO;>Gug7FS0gFPGmH2l*swYw)At9;nwiyHvB%-mp6$0dHK(6 z0<#>4$-I=T+n$F@8A^@@rWbBV(EiULX1goMxXI6Id;D5;q06Rr7q_fG`;~dCr}SI) z{JY7QO{c6gXY5-%`K4d#XJzY-6p0swzpm`)xt6`I?)miX+lpsp&Yh>UXGNV`wqjs# zPmAR9!n0nfH;%gTS$|u$fbH-d&A(4rM3Q@|1h3CZ+@aOe{N%X;U;BqOiPjv`EN*M8 zy-@OfrOmSmhPPYPnblcBH8?jX#w2JadA#jm{9>{%C(AD3-W-{KrCpyk>m560f4-_< zngK(v*{{#;8asPar>x{~IB)M&IAeqK?4}Clr75Pz&n=wVz`Ww?N~vJYTRXTcSw8r$ zb=UaWn`myKdwgBR^3EBCcMq-itNNQQnxa^9Bxc1M%SGPpHEtr)&be9t4zVzb>2)kn za+5gsc;d?+7d|UZ3spQQ%U+-LjBi^vXTg4>jpu)F6{*_!X|dqC2Q#$_uSnG$o$#z= zwI17({^}~>Mqlr#x6VA!O)^`u&+n)7G+TyetB=>IdWz+_WOyEU{WEk`&b;Kszk^tQ zo?!k_7`Wwt{)~vq?pr(i-!drsE>5`pDW%@(?2hYE`V;487Wed|Z3&qvH1pz}NlTYA z<g;6z|FYiV+WY5)T82+QG0OJGbZypKweVnP^EQs8vnPJ_S3TQmJv&|SoSX8Ug5rt0 zcZyzhYTkRZXIbjjKb<*=EJ8P=J5HYXZkkw{G~@4u3EwS`CY|a#@<?HWT>0d~b)vjm z4_ljkT5_yFq(u43takzGb6y8W@TlbWZ5H5KS7F~<GAnF-A$Mi*f|5K=bqltg5r#_I zN^I=cw?B?Dl%09YQrRY`WWtsH&=&1AF}y9wmh5sf-v{Q0C4^6nJA5U44)>IR_0k)T z*(G@}ww8oRE%<cv&y^`+KWF+Dhc5oJbXn=fY3JTNnD2L0YXZOS?km@_?%&$+_q@8S z=i|>SZ<kEepZ2Qfu#Ue%xb<?C*waNK61NumfBb${@kWw`%s0EMaYl34Cgi<4@Mo){ zWLo=*V<COd79MRlabwbvIk|tc9F?Z(++hAHD$v<+&yxM#f{@@{uJKdm$S2vZV%T(M z67QOYlfVASQgBi;ProfH^tgb%srt&oSq`Fp(Kcm|X3P>Xdd{<O^N(OIwgkTrjR&R6 zg$&ycn9M)d6eTcKqSEu$zAKG<5v*w{PZFLp{OT%xQukrwEr!RkugsEG#iVZjAvNWQ z<<yN^`e)1S&D<kU{y|)ZuXx@Sp&2nXhwra-WBRz|lcjvr7N*a0Hk|kua!hgd*(c4H z%eV5XIleo-*7Evy?Qi9G<*W>jX&qR{@pJogl@Hb-OD0)q>+g6O$aIb|@mk}=d6u&L zS-b-O7(P$_@#FlZ&Ly+lc|6a{{0^4f&|ZGZ-sh6C&PMGN-p5VHB}^_Do;tGbX^s|C zVc-5<H!i{b(lOtj&k9yz3Z0?AJm1;ZEh#Mau=WA@YjZEoRNj5YU0M6MjTH0S*u9(o z`DO4vn;v49$mJ>VKJ=E`O-W^*#S28#SbEML^RzVinxZ-}LX&+?seIImGe<p{_tmw{ zQ#pTT$CD=yO6|T}W;#DBW%dd6f>(U@Yfa8rmD(ELnz5(wg24gxzP+zlHHA$wLc0pT zuJT~twfRY#mamqf4c}fZ+rPy>gCqZ}6mw;HSP;DPe4+moPVOhk%*uV5j>kCd^|!is zEtL6GbwOf7`on_4c~d5<Ie9TNoc$iW^YvLZ{u2uqfBL=S_u<$6(x)d%vLw%Y{5l|A zz34Ifr?n!TvP#QO{h3qFyw>Rz#{<C~g-7krWL%tG=2yYI)yjQW;Wp>iINxvsfp@B* z5{VzrS)64xa(?oTnI*j|SYcu`i(n7)i_F!NL@W<8Hq~bAV*L2IV1=8&*Q^#7=Qh`$ zj;eeAzC6F<iFSdj${_`34eN$uR)GsRpX|A>p;-7i-R8onKJ(QH8xMYADK}X@-LvjX zhuMlZtco#7k%iN&3q7MAn9kk);8PX9^E*vRHwWI&8;|=n-?{uRR4al<ukh`cB|kkv zkE`Eb8?}LVVwtekgST(z)$Ld&((_=k`LsJdU)AQ-eLu^@cX0DrGbhIo$1QxEGXFx8 zl9?rqP9OZ25X{q>99j2j;{n;T-cL9EXIP!eY}51S{#3<`lUz4{`nk&#I<kawyq<nS zZwEuU^0kQ<Bg;~r$ULn2n|Vf_b@F_JC&IUuOvp)EQO?{v$-tF4P;-Zibfb>-^L3eJ z8(43zIHncU6|ich`fB0JB4;>5yyl90eBXC$nZt$F$0wg#zMN;dZ08;4Nsf+ZJz`E( z25`$c{uBIn*7RSHdH)3Yb4#3=H=Mi`ZQE+B@cgNUEw4|=->10`ck`|OaoH#OpW~dq zC37wo2pO@NP3)4`dD!Zy=i|&L)$_ADr*ak51s*j&C9v-4i^|8BFI-*5{46~8V{^lf zpY6_HmL#c^>UR7%zTWToYtK)N2PJG9U;0dLi2R=ZcfNnsmIGz)ek%OcT($PeshNj8 z92x#I@IUrT@RFY)WXqRj*vf8Gc>SewLWF|e6^q<CO#9DGu3nit+pX%^V)wrn3e5WM z6#uxW$T?ww;VXy7YJG_&ri(1C{oZ_CX~+}5yGO3_pe?WaJ_9~}4Wk<-%Y4@?S@+<v zmV5lMz9hCYYq!|=x%Aw5+_-Jgv>;je_pRq1_N3Hi9Xw}VwD{7>Q=Z4f%PM|_G=^o* zxWXCP8Si*&Q_2<HmiyY%Cue?T;JXt#yG23ZIYV*dwT-jfl)rCm)hRHqs-AU=gIhj( zl0(h;d&#U0_SY77rAF3V{d?2)c-CU`ccOEpc`qdI4L0`L?X^MnoLl9(Rv~F?;YtZX zwNLN<%;BosyE*dh+h*%M&l$8n@b6q_x|LtcP-Q0TzJS7mrjhI4%|4wm`zd>MgWU_+ z&hN`EtgABmbHeW_vx?xnEZ3fz<;vVAo_9S;x~9x=UWK{By763*cAl=^i6eT?PP-JC zRi$mrY}~lbcDYKY$P@mD_FnmC)?6~UasJwZS)Wu=+fSWZaB9=GaJH54ueMECP^y-u z!X(}k+!M|0a{7tW>V~r4#eUO*lr!%%G|L*!KebbMJ+t;kCZ)v+=3eKdrfd?eU7r19 zI(yeuhj8mRi*p$d>KOO?ujN*>Onp2jZO4mJ&Z31Wyzi>6eTr@6S^wFPp|66eooTX3 zx5ar+!~1(pBR6YpNsVUstF<9zn*H55lTS*#{BdRBQltDlP6^X)$HJ#KLm8wyEfmU@ zdpLOn`n@UAEIY5_YrBfw!D&vyXP-~`O!G|*7JQuOp<}(ME%@`~dHc@<SsTqg*C;ZF zdES@9jfaX3Jh^=ObJOa{7o>cabhacmDEwoZ<?*vU`SzuSJVloUH=jPvY;$?hB-N?2 z3L>i--(|5`N|^-gK4|X~wDF!fU*TCveXhS(gZvD?w_jT*m&ty*z1-qtPH0iXvtxhK zGnJJuTxnc#{LZ<1Pd?dx4BWM$zv5tl1NVKoV~dzimsf`Dd)Q#B@s#o4G*_*77P&i8 z1$t}D1-E=>pXK0^F`*~VrpapJd$+3$M;7zUnRBJ#<(Z9dTV<3Mp0ts9Hnmf`sd@dq z<EFw#q-@vh1f82CI-|#UQWX~i&#IUO&tGXqHpEPxcZYAPK#{!m?dIcA)dhVQw+AsU z;Plko8QLlP$$qWFcSeRv&QKXXt67Y<YL@Ekcs|eZ*X1b-^XEFJH_p57wW7i2kqFn* z!zl#}Hc~;ijZPI#{9d<J?8hRW)N|tNgS{3Q_cqr{@8?SJ;0Zjo$amd2&Y<P3zkXlR z7Fv)Z_%=YHldr7F^W6QY;>6D6PYqUl&9@eCPA?WxlHOq4cyF51F{aJ39qxD47l%4H zFPd><bGkaaOjU5RMbN^so+o*)9mE36#GCGv2HvQ;!mkifro{W?gTGJpmFzucfwv6m zzFCFz1x)R`BgrYZXR_y_Xw^v$63Z_36tOxfdD{JPOtxFT|JsZ&hc}M0hUeptt+rXJ z7{TWE`19wZM&8HVk6kce_xsWl+Yys8@A*>4XIh(BCuk`gW|P^f5^nZc<<t9H6J+G9 zes^(o$t+Ibo_H)Pac@IN%*I!YZ)5h{)4eDj5Nk5uu-%hix^8cFoaMuW%~20e*gC%T zJ9k}Uw=%2yWa*}Y+FsjkSCMG*n!_qxtu+mt(@MH+CeE3EY^u_f1FG(y7Zo3qTK2$j znwy$y!K&kPx{CiZtPb}Jxe{d3BcvIkwDLjvT3_A0$ER;k46*$k^o+@P@@FPzen+36 zh3CVHPl((%6%p$HE}@;=e{F)!!MRgX`<?g<_HA`AN}KWi=BKlL)(KZORc3Wf60I!Y zOnm)y+4}dzYJdNfzRP^-qP)zTXMKU)7S4sr({;QW93?E?WGTqB^h|u(^F;9EpUkr@ zwP#NxUf@Z%aCT10qgg38(w-Yyx*j{+VCx!IDYF0OcZLNi8zdEeg)UZ}^gwpsgHlnS z%{PzTi)qi6`FrNG>yet<k5}%=uljWJ<u{@G4(m>-$nQ>#t2c}*WZU@YKF<rz^s4Dn z)h^yHDJq{QU$}lVYTd@tWl{B+Zb7;8t(E)kJ=!PqWAn%8;E%1hZ<!e0zUA_^U+20j zr=~hv=Pn!nBli@qZmmAqd->@})g`*$JKx9f9@%7gbH_&Jweh=VNXAT_Gf!LN!DeyQ z!ppL+H;G&cUA!?&S?9*-(&Jg3GaKaYu8iDJq-ADlT{vqS`~NG?corFNue*}RFL~BM zt>BMfi;dh@Np2nKsT;R6_eX`DI`Z7Y!Hwa`{F>|S#mk;fo3N_Q`DD(lqLa^<ca(fx zwR@`3o;S+MJAYl8t}Pe&FYx4}=?0h8JEv66Nl0f}7S7DLOKN$GtB=g$KR3TD(wye| zSdy!7;-42gRX_ZTUO)5H<eyy)#_cK2yXQ~85yCNPgTgesp1XEUQyY7DWRKtO(hGK7 zl0HG=M#+<3X^S(bIu(iDnCBlH=(efTz##HG!~83kErn|u3{LX+E66ANJ$kC+X}~vo z-{+LHIejOMytReqN;9um^=842^0yZ*?(8#o8h-g&!^V;mozq+ytDcmaa@)^7C6hjX zt?P6aftl)kepcU?M)bsfGQPI3wR4Gd=mdd?$NOBBCWNp(X6`8toZDgaWWzg;e<2!N z-kOguP4t*y^(~<IK=Q4{scsbq?Um%JgBJaC&nwuQ*(JMugVut1j{l}EN|v|D;+b}2 zj*z5Z1=G?@fm5lyWep6=He2K#NNvv&vkbQmo_yZabE83IV;Ya0gI#>hugkNahMc@T zuOY}{cWAJ*wszTzERRQ_Q;t5H`01VM@%V(yJF^8h#y*_QXn0|s=hx+8sfXRC#2qLO zbX$|e<ihe?;dk(9<y^)N=H|XEX_oexGgkdM-oJ<A-<Hc(Cz5Y0bei1ws`gb#aGQf& z;fXKHSi-DN$R*8dUa<0+yv8QKLlJu(EM26sqQ7t7mQ|mQe@=fdRBt6_u=B)8+rKLh zM%Lx<ADeG*N!pmD@M#0*lgZ~FXgcjoyWjJ;sPVeU#3^o-oOgB{<Bz!@a-1tA&+`0E zkvUx(t@LipZEE7P{9<xP!+Q3DuPeSW#fCQWl?&L`8v8T!MWkF=CMGSD;V^N|f}Dn` z&o8|=3RWuco>!J%YuRPSZ6{I0AR{$%>V|bkJ@a;~dghq4xp0z&EUU+&MBx?8vgfO& zD&Fmwl0H9*<4o_wlMjBS1Qp3^GObzi#`&{gkp5|ji6Nrr4u4%4u*GFh?T>R73mCXe zdN|^|`iyFQ{SAsH=H{NBIImK+Rqf*Zude;cb3zwMHXCW^UY|GRYLJk+ZT!T(s^DjQ zL1F=`Csf)kTD@hq5>LmCq@wV7?rUSGxE*{aWpsq+vg)K;x72pca_ch<I4<${wfC(O zzMx$@rkUN5(2ToVFV!nBJ>d1ko~Ql!Rfl(eJl~?T_W70Y5LfS#WTi=*HDyeDw1fUG z+#_o@?b|GEPmxQLB%j%c+Gb~H+D_E@a$n?y)U+K<vSO#K*F|h_Zd2ZG`l0?vuXfPo zuPfiK+j8ZyVrS7rCccRO41({^=49;`UH4Y#)p4I46Pty%`I|g`_GI4Hhf(|X)>iA! z_$-$Ez1!?jy>RT6ozwc0)skcGY+3hl=g%ph9F9K?@s{~~R%gw+qgVdE+aJ~P=MLAs zGff#X%ElXC)O+2$x^As{pL#>lD)t}O6dXk6T;?vGU>L$O@o{-f%GK@$Avd2ds~G<5 zuI385)Azb>`HBUcoe~Eu?6w^Ka{TMEgzbB+*%~A#&zre~UH#U)kOteA{ap;1>g@SZ z1w~fHuLGY1{SIJx@O*MmrQcy?mXhODElf-L9<6mQ`F2K5aoPfovWd6l<Ft(K{LPA7 zRw=n8?R03&EQZ-?6U^<}W=`_E6;OC3twHr%rA<iJlbR)0YqnV~Fi!7cm~U^uwB)>X zYnZxCS6#&clNn;}q57X0&uMzHvlJL#TE+9lQq;oYu_;3ar}yLuY_(RQ9T(ZP7MG@~ z-wRESF8fwsBpDaGe4Y6NE?>s=`75JtA9-#4=LzrLW3{iX-=-H%&iYirWf=L{laHH6 zY}H!D#B0l^?4B!A)pB<3kzcIpU0>o^UqwxwwmDsOiML@Ib7D+W-PXq&Pq8tq+wO8* zPe<KTxh!`1#^>v@RN7{Kf4A`C?0^ejsw-13CvMu)An`OTwoiOBV-s)juKKrzY74a- zGt=egyxwB@;>Iigte^7X*Wd36u4@n6HD#Y;%%mfX2YCFmzVBsz__XI1Pu1Eb1~KQF zjh4?~v-M=2^|-*Z`qb0KFZfyicwOJ)Tvfm2&BcTXf1auR-0||$m-VG*;&m>0eB5}L z^}*xIrXSneN<FvSes8EO;I@P<^nr%l%=NXKf2@6Yv^V+65+RWXW(7CCuPMwk%sR1S z-UhFqle}VQE@jx}&;ByV<->^w$Ltae+zMDLm!3b;%i=y;lcRRYq{j+X;i?byJ6~6> zF@ClAcwx#-k5e@}az6O)Exx>Ga;n^KEuR;P2{sohWsB^#ToBWFE5T=Y-F|M7@Q>|o zUGJ<d@-~`mVmZ9wr0%U<OQs4=e-<Nn;{B}h<c%qFjycI}l$q!((GmM6S7!2^3q6P5 z&0#Wdcu}{7-!MdGHM_;}LeDcgD%@iA6+46HP04X?t$BVWWX8{%?Q-*5JzJCa9CJ>V zyB`>QhEw3!nw_5+_`kf;JUZPn^^UFP`^leA9NF-AUa^DpK6jg|pG6aQD1UdE@Z<d1 zm;P==5gI2$PyPzh+7=ahn1N}Mze31a`6<U4CiYY|znl0n;EA<p`?S-0^w0jWyYf9z zOLJn;>Fa+oYZfuR`5E}jJS*ssf!VruX3wwNehj*?)9v)`DxVNB<px{Z7wQem=ly4R za^<L`!GV<Zi5{IZnw6e-lqdhmTqd(5MX4cKPom7eT%>oy+`|>NpD!(snDE3>;hXZW zOH-2ULhguszA>xj;3=oXdrawR9t!=h{qCK5_q%w*1K|@(Q&Qq*<f?q^t60vs;bHqj zUyoF0dB!DS<>$F<|E_YsIbjVaa}%ql`FoD3p^F1gp0^3+KCpW3lgTF}UeEiouC4K6 zlHeMxP?^7Xo;1G76uo~|QMk<Vq{UHhhSuxnCtkDom8(7}OS304|JjM-irZGiwZHZ} z$sriBuu`%kW}5oD72m!u+p}?v@6*-ED^zkH&1u<^t#;}41;+11wY9H%KTcbz)|srb z{kXxgHQa2+ryVKazkaDT$b6&CQF*~1%eW=iTx3Xfp6OOR`IT#WTutBwo!mXMJ0;Hi z;7D@QGM6cG|Fpiv#`*Euw0D(r-_2$VQ_h!3?<#NG>Kh%hcjKi?o~o_Ogw5g?%HI>c zuVWOrn=kpx<iiKonfzziuBp0AS>eNys%vk$3+zfYc+xFj8NOhx`TbG;SeYE}hhx*l zrdNFz-)vMlalwl{DfL#T`yb8gO@AmG9(Xm6cj+V6zAM^d>FJW^?lp@(bz8Dz=b|lq z$uEAce-os>Ywt{j)*E8a<qf`kS-tJerbE*=?wT>Xaq^_>2lYaKg8aoJf8;xEoY-^0 zqwVQ|TPhQ_OYe29eZKrwoa55y+rCddLdC5M8f1!mOG0Bh<I7}@9;;FKSz*&>_0MGE zrd+<|CG9JpH@?uGu<PUg_Ah^<9((QF`6;c<;P9D(mFHP{zOE~e`7!aKw!Cn3#&)SM z4rc`>PMNSEeHq8=U=0&n{|E-7Nvn7AOP=H3FLG(g-+N7~qO!DC9?*YOQqd<~@A&q- zU)B|K?m}gEk?OhZs#W?s*X-P?$q;Y2?S!+|g9bJZ<$cvx78e^&ldk2nx^f}6aBGKt zlgEpSC9IKt_h-y=U*^8nF6qRd4QEa)*?9c!@%W|2naBNVwGOnVTHZQ!_KqB@)`D|K zCC@WVzBVytNxJn8neTE}4!9I<o}<AsZ)(P2tx1xF?<$vYE!|-E;rpY;h=w<DMrR`O zULUn|(B67Ge}DX;WuMv{)h+DJG$k}Fn4j97jY?7|^$gjly1`neu2kXnL@7hpW3}~G zvx``*-HaRVeU-ZsbSJT#Rps0FrDs??-hSpZxcNoGVx_sfW&uOz4xfZ%k>>$^Z}L<( zPJH<))5q{gor64k+maiX<P5c!DD<8(SmXb78S~83o|Cuy`PY1JR+9U~ke<GO{~3Bs zoJA^A?kxG(R6MIM>9pYq#)RX#%{_bunc~?gZimaP=gp7m(Pjx?2wHC4c}z3<`%InN zov)8+?3ks>b<pYLXSp9HKkiO-2tII5i_amHdA-Qf@-S6T-OKrjA!4ek%C}NfRu>fB z_?vmaSk7?b3H3i;R~$JSaC}Ga9|0?=IX|nXN~9#n@o81MnJ`6cl%7%e^59ZIy?B-F z-wSV4Us`v=Gs$?*$NQfbRt7eHuFY~#&foji|IQOWbLQKZ7P|-BmJvN3eBJKR9ND7d z_WA+*A`B0kPn>xBGx+MZl_zb!9(ZuY=mbLmo3~6=^1ZqHwdSpSdvF2!v?CYial~b| zh^gM#=KoXDWWoM(PiofOl$-fY<XqMIQ^qI0E?CkTvi`Kzq~m#(Po!${=N_5APD{YA zf+cyPBM<WlK2Q6y8E?Gz`N-ch68?M7Vu_>Roh6%}&*Qi6HFXRU+{E#GqQA<CBY&^G z$o$Mx^;ovZ^1)^E+`~Jh3ori++^n)#Ztmt^mk(JwKRd>gRn>f6WM|8TD{iSVGCQ6; zC|N0_KV#Dub#<GdKDMXo>^=M+m!vwaxx{pYfBL+(>6T{N9Jh-_nR)KM43k}V_K))% zsVz%4Zg`S+T<*)uK;;0JoPx5=hOghcTU_yZuNY<S#2Ehm<(Gwu516WJtwKLJ1Ua=h zSjbK3+4w~1gk%HDgTnKBWe#tgw?SX}L|{{Svc)2ckBY^U4*GH06u*t)+BiXSO7qvp zpO#f}9N3-m_GNR}GBFJ;tD?h<4oovo*sRTX6SUL8&FcBA-iaxb%gmGC^*msHmvyD- zsB6xI&U2X(DeL$Q!}s*-&Wv<CX34HRt8>Bm*%~Zba~MMlZ*=hQ`Im6|ljG~JOHQ>Z zN^E0LdE9?)>f%=tOnZ+P2mDO&+-A7FUVHK}TaJ}QOs+*|pRuv%TfFx=GjT%Y;W<x= zeQ&uei{D|uer<`vsq&6*8%}(EeC0|p!wQw@RmXdlpD~vy&<qPGGfM3){URzX()09s z@q~iqJ%2MpM1q@)4$sd@@H_WvVK{HwIZc%b+PUYri`>7Qb(LVVpD|VY*Jb__+-4pu za{^e8PM0m7*w=n--eqf{O@`L~GUclh5}UM|I8F=Bs{0mtdq2mW#=lunOs~AZd&~At zY_nxwdDKGS%u~J)%g~cQJD4qxCq|w+=)o|_wpR0AAxrMhn0X7*=C;i&@mnGz;5C0& z^_BV68zld%Y7%!S6EMEg__^>#fXdX_r>CqeY@YhG^6e~3uV*Hai&e`uYWHljPTuM< zom=L$nO!MM`o2qA%?4T`HS6vcUT*f&Ioql7Gvc|$%b*K8yOY9v9~a)cBU2(bV>#!I zn#GFkD)aVxEq<o8qGl53@x2nMw~`A2cbDcLx%8AT>DiwX8#li4^?qh{d1IS{h3&?W zMcRsIX52BpzG3;A6%1MnEtfp<PHmoaYGUIKo^{n#mv1GVk)7RmA!+r@30@w*4-~j^ zYZ<klcy3c`o0X%NbnYvIO^cYi#7n1r67OuvPd@&zs#hWSf?0JL(-Mh^n<XAr9$fiU zGO;6nLLNu&j1zBa|E>&~RLxX1YxT3K$-7&V=g95(w)Ad`*7?1iuPpv(Y!LU8$qk<P z&hW%?ZMzR^)ykS%ZIW$0Ruu_u(B@fr{JO~`<M}g#r8^j^_`b|ys<^pl(T#(_%`a@v zdaM)K{G3_xtK}C_pGgaoS--6~e*Lwd>L&j0>|V1OYrKUQ=e{!Vc;UYNTB8B;*Jmp^ zxu>0Dvv1+6e3ua<FkM;a2=mM1K3rk4rx!UN3_ibd<+N1YCbv&k<qDw&_m8;oRV+7S zdY5|e@x-HQ-Foaiv!^Rx3GP{cd|5&Lp1P@_vhKk@9?gFy#+)?mxI%MZW`xHaOWn`1 zEmi*+T5T&C7%ESy?tA|*w5Pf5k+<Q4=9gbrI@|Nyyv1hVm&vn{yYM)(NMqYUu{)yb z_77(@80Jrxsk(eMa$n4Y6!WJJLToHK_GWw!CtvuRm0A!W_wyLXzpW7)bayl`J{DP; zaxmejhfVpP6-;Mx%1<nrKV9Oa#B$9$(FHPc?#ZDuJlsCrw|BaK<;sC|k<95C59UAm z&+z&J%SMI;A4K{N%?t26t+Z3tyljPFhmNN;gM8!H<;;^>qpO-cloy`$cJPUqdRj)R zP-pGa=jxK@uPwGXevVP@%OBx}y2YZ(DyQEY8(QDq|DPdh8Ot<wn+G3nEeLyMB{x56 z_NfPXHuGlwn<ARHx`4T|LU;G_yxQV0o9i+LH!5U{e_R%gQrzfvuh!zvD>omRx9qnX z7YLWQ<<Iycw^i${Lb}EKufMJ&uuLxay_4ZmuFlbjR;Q}p0jv{^8bmA=K5xJ9yK5r1 z{FH6XGV^OnR)iUCJQY&ZY-?%vWzDMPO%Z(sRmCqI#9VIQ&R74Lere7mrlrUIKdj1% zY2G69Xh~4yx5rtVKGbsjXOKF>y|8_n#HZp3R{U$Niw({zm&;WB;#$$Ng8AB#I}tr{ zUl`M$3GUf(r-<?S1l!C5xdFzXQ@*|Zy28&fMVWEeygT(#Q>^wmN?W|V62Q`4c3}s* z+}>4&eS$YWRrM8U*1dcBK<wc2%hx7K+iPhX8@{M2yw@PtwXkOUKju%fCd}Qprvwxc zH-h)J>z)+hJyml|q3wm?2@!@1YmPs&IO`M8*DkT_Q{9#~bDE<6XfXa+aYF7$@>)g? z=_x$h*J>10+&#Y3V}UU%yZV;}Wr`Uexb6I^s?wGUGB({QytUL#+Rwh_lmCy9r3D6l z){|WiDy^Ti_zF+Wk`ntU*4;nrH4Z(uf28$VYpTOKY2JC(wVAIL*gdOZv!5DnV3I!D zO~)>;q0sAv`6RZwy}VgkD-O5a?R&gen%!PQ^8L%88*5UgGH)|7Vqa<*u*I>6&EN9n z8{cg1f={`>mxkL~T{6)=y`9D2_)@*Z8w->aCOr{jW|+snldY*?|GQ}BCdTI$@1uD0 zI3E}W&+}NOBRyl@Y&JeyUXvrioO>o;=`*roeDB{UyN)Z-D_v4j=4#tE3-)J$zvi#y z+w{DD7sm<aby+(bTBkf`p7Sr|Qmc+j&z^bqT2r1^JXWoEG}U|ZDbaxHi)UD}WZDiV z@ZJ3!yx6kf3{&&LUuDY~%;gN&d~Mk{nb+t1XRr!qa6R~XRz;AXd;F)&H%1i_2cG|D zSR0h9+c?MYLGq5}XPBCbm=i9oWMNb2-D|s2R6vGR;n#ChjriG(Q;)y)dtmG5>G$tH z!<j1wWST1NFU{C_Orr2#_0`tc!_0F&*h~3#9a?^Rhp0+=|G%wXt2|VTzpR*gfU)qt z%$1D|q2~&>FMoJ#$+XU?efPuEzpUmu|GjWd$v4q3<700U<g)Hv-eJUK{AYz=g5fdi zd5@O49qKFRTF2G?q=-F!t-nC<B=@tI8g$tmiu-3@H?_&}JYmzf)km)KmBp{Ct+$Tz z9<S-sTqLD;?EG%_#+S2pZ2EI&+pTjx4{~k3p05eragIasN%7CCcid)eO#UKTWR_qx zfqiM(!sBP=%=xl9;|Sl(vkaN;iVO`N4+O(n&V=_cRj}XNG|lgL*US`_<h^!@CRv@k ziobqe;Nxk#IWozy@vPSAzByerN48{3Zt(Me9MoA=Jm){dylffoNsg9wQ?<@jNUZX4 zJ9YNu{k0L1PM>^}IHMQZPp{fAiK%e6#i}4-w^L{DR)ubv!6Q_=nm5gc)uwCPq?DSw zT30&Ejw~qfjS$-KGGetEgXHtIKAR`hg`Kb3s$hEL=C|dX{%cdX`;O1~vb^%SY}U`t zr=~~V&SCZ!e)93w#+DneGGAM;_wiR*Hcz=7*`B8rI)9lqkM9ksDL!mQg&|Ayf^*Z4 zt1bQQZuvH%Ddwxm)7d*#1&eEL+uUSnb9v7PfA+3p!U@59?v$APJUr#<=beksovRM> zpWXLmS@ONU!lGGCaSkSuzNwv!&sQ$_ywQ8cx?qRXlYNaohuGXRoRvR|J^06^XHuON zXR7~dws|dn&OE_iX-2C2(fNlKZoIMW(vzx?>c79P2AkRc`YJwq;`Ld6&U%uDfs&SA zzpu*GkC~M|_k2{_fo<`<SA{)ahW6~;>+1Y0<;kqsQ%^;w+pgMeX<L=HFw;YledSSy z_s3-to=te;cZQGSL5S-KmGtG7tDgQ)w$<8g#;CmF`^q9o`<aun)FvzE7l!(@e4e}S zYV6XSd0E~bJ1&(xUtiU7%FW1#HPlExrYa;~&+g+NSLbA%ndbTriUUq7Di{3KTI_dc zbJ>IBUzdG4PS2Ykr^%>o#%}ZR(yGlV6YRONy-&Ok+${FfU2W=VkHiB0Q&zvO=-sXU zb;;WBv4q{!hz)l_-Jiero{@a>fXv7Fmlmekuvs2otC(cfr?vY8=kuq}*Vj}9?Q5_& z#rWVsy;l1f9Rq3WT3^GiKWF0es;Z<q40wzfzArK9RGnU&@cik22Fn#H1%4vwBFA!g z&raU+>xycdk>yd=h>5e@*th5T83u^w@W>Q5-=Ed7fkEuxadlfQwV92%3lhE@WmeH| z-16;hz)YFu?ee`2XB=Oju;JTNo27KSUuhOYB?r%5!`HvUs&_4VE16SnQyjc4oQwU` zy+2ng3mo5vv6fr>bY|dqzW-rlk=fmKd)g(HzZ^UpSM$N?x!u&T(ge@^DJ7Dx!)EGA zK9~7;yFWQp@+RYfldIQq_pJKdc;%`j^G23$5BOh)bSkJbYaN+<{nD&dm3N8rV`j++ z&t1YFWO3Fh`NsV{4|f%wwN{YZ%<-{D_*Leyf{1rX{87u?u5rG|Vk=8m;pw?}if#QZ z8J@Q1w!DVxg8cj<H(&YB;B{JPPSxY}Rjx&T?6xn98dv2_F)Wkz_xW{c?Xe4?{<=T@ znNEsxx^Z0Y-@Ge7rkvEDGH2sk58l=}!gCs2T~bxU*>#L}d{bIj?Y*K?r@`o(`qx!S zZaEL0^ere`P;O!_RMy;J`D<41d>sdg=kt%Pl05O#;mP--2B({w3jF=!*D~p*tjam{ zpiKVSqU29}RmJ_zfs$r_FE_sT=i^}C%Dm&+gxquW!oMbaM7E!uz@Gft<NVft{!{E6 z&(~))yp`8H8TjM!hEB=83pZ}vwcYqSP>lOs<~w)kUZ>*)%1jfuBs+xKWU5PkUGchq z$m79Rk+-Y%mpn0#`E`X?;$%YA7ZFBf3wD(+E56J8eZav!Z_zAq9mnLYzppUPIn=)F zlH>a?3tSH6@7npG$l|sC=O4#B-f#I}w>5CPz?$Q>|7I++Ob-ailRf!wst+&goX43# z3%<Xpn{rUcb=QNmRWfgxSI9I~OZD=(@%u;BGH&*r>3PCJ?yE%Fn<D?GA=APwLnV(( znjD|OKlQx*wFOPTHfw6!IR9Bxu2@*{r+;$DB?tMuw`*_P{LOsx;K946ehmM%FlKBx zR>bfs%W&EO=gGHU2IO;}w3(+7uGnT2QFEs%w5T!VtemLB`Iz}tJ@zZu`xu{#GA49? zYN-0lSNUv~3PaDAFD6Be*(y&r9hYtQ35o7}T;O<p&d08Vg0&3=>;cvxMus=M&5A7T zuDoGg^q)cTuz<8oznA3a-ZOPhY_|Qyp?lu6BpyG-W^1=q?Lp!E$Lx~tyAq=AKYbTu zaC}+i`Gq3O+`^P)uJRZ%252pKuJT=Ey-G`JL9PE@=AFf7lP6hzXYQ)@oN*}m8Sk9m zRbdGe+fPX~YX+I=ohh(>)Xn#7;ndJj6$xea^=lQUODK9io)eZ(utucjRMqqAx0VY% zY;L|F*nHpiv-cFexX+FDdt!buWxh6^aIjwSXzDu+5&ju{8kIf`3>*i~x#|UemTD^8 zz$&v{{Yq`-qcX*r|5D%HW_}&HR`2tU2Idl`88Iw+i{E|h5B{=v%CxiYGsT~F2#9<r zo^#pfWbcy6Umsj$DJbi-aK0|P_hqlWl3&&QOMQV-c3I!@rd)ck?-6I(3)`dVI<uEN zR{zodpCRVTq%+B9mb@!)yRhd&MxeZ5;(VE}N>j|9<lc=)TD_XD;`mzky%B8eEc4td z<$f%i@U!zsW5mvXst2Agv+jyFHE*29aKd(T$P$LheTDZH3yIl9eKMRFnizBWx3f^> z2?@z>OCqmZ&$m!tzb;$B!>3oyNTjItuU4Rjy`sVcK3*}wWocY>!E^U*S*^jnv(NE$ zq}s!oOa|vJR32A<9rSa3!<zji{D)tAaKC!<;9cOvIfDO0ILrDfj#>V?$~JR)naDr+ zb4xm}JUIDTL*C%!EQalS*lyqJJz>?i=j*CxMgJMBHR2A7*vw?HVyZS@ercr(_iV=} zg%blbPjEeXzQDF_=Q8bSPx{zvE~Ge}5mw|+zBgavT|`fE!Sji)uPyRfm6zPAzO4AH z+nR`$m$PCPomj`fxAUm8lR9g3zn@X{l}f=4sS+m-$TFHrs<){Zp35?y{M_aFB+ui4 z?;Sm-9sZh{<W^9(Wtq?ME!(cLPYyMToGFr0UH;wF#E2szS2FNw@s;1#T4N++k2yAR zemQv5WK+8Cfv<0W1jshtsmu9xUgSY=!%hzC0A_}NI&~%Yr!)!#9rf4oe;WKQ(y;HY zmQjbWu0ro7&#y`iN;yn|j{g~|CYozcv*~lQ+xzO|Nk2dLr3S5mJAbh6wQgiCI*|NS z{@UUIrCY1GdCDJuUU@2Is!Z-X{-}hXOFtcCZaVVUI!JY*!JXyhA7viDbo+SvtL(q2 zc2_eVPvPCEzW?*8!))$7y!+zgtF|0;DcZE*&XEQK#{UdbjBe-n86J0;iH1%v55Bbc zz^#bMJ7?P(dTunau~ZhUJy1CLy4{y+fg98lirkZZ(!L$L)p3ez((%dnCOH<}UdQ)9 z{Q6VNWs)+Rl;-c_e;MF*gvnD`c}`VGe8%l*J(Jj-v_qPnF4Stie4n}J(wfr~Cx0&g zx~eH8VuEPS<7WyfLRpXAemcak@Z*)f%p22=yINH4OVvFnZMXN|majiUzBBhPzqX)$ z@;<B7_AGblu1Y?>=s6z@U%PfblZ)ASE4t@Ohk)zm_qpopvsxCb743Y^aAm`?mkf0V zl_EQxXDlpV5#ua(I!&wiYWDoxw2b+wM|w^fpO33f+Etkxde}1druwy=(mNcwJVla= z6RMtHTQw&<NTw_J{?8TjcB+e}-49J+?Mb#cpzwr$ZSu*JCt32|xmPXP&YE0tvF*@J zWeL+ui`Jw)DG&R!_RwbqnZmv$zeBidzq#@~S+mBk@MX-_w#A*YjH>N!vW9Q69p27z z&v|#AeV^@$ZyD2-uD)9;GRdu6SdBx{rs}Wu<ULmcHhebT@p=1|e&<Wu_isv^&~(&m z-s=9>k&`pdOPfzUndk7j@ol)oBALFlM}?ZRg3M0TGk;md6u_YO7qsnYuU>PdO!U*< znQh*NGU2*bZ<FpksOoyzIayIva$2IY$0|?h9j|Z8YF#mMVVGF=nxRN*A<vWM``Zk| z-|8-jU75p``=IT8nD1G(y@4FJ$`vhcSt#GRdSoA8;MGk6xySv_ZCtu}N9aA}L#tD7 zd{O!GY}SS|?Ps6lS}=TAGQTP(%iZZ#kBexSbo+-Z->wI#Xq}lIG3U)O!>{W+oBtdQ z=CgjhH>Ts{me#vFJ{5VMT)DC4crxG8rX>CSwhj_UOEe$pteJRQ;?5C<TUE_3vd_Lv zWoVN;Ve|RcT9dN}pL#sjzS8{qb>t4QB~?lB=gxhq%$!-^)Z8Mvd-*+;BdZxE3w{=; ze7s@3^45JJrM;UjYRzf>-ua(_>(!Uq@Y7Q~8+J<k;*UC1GSPGHHQlR=HP%R^+srAx zw`{_@0^@mBS3UGY=HD@x7$Ou>lvSFlkn%40oM99HwH-^PrIuOi&f%MJ{9&L#$fQO; z>&f5iw(7Gmyb<-6eD68u&&1E~`xf6@z*xBZj8nv4E#sy;MF-OFi*mY6FrGQrX%gEx z`?;*Lh8w1($^3fMcw<MKm~~)8;gvaGRvrDWSjv$6`>tkJ+0)4l7Jo8?Qq9<cnzsjK zs(3qT98eJ4>Gm*4G@&i{vw`y0Rd3$>o_|Jlx1N>$LX*~RR_PAz6O!*kIx;4997yil zzt&mxV2{U>4{jG0FE<gYdo43>v1n{$567nlPIcwwRU35NPMq4fQ(?jLKFw3-ic+R} zePc)#6`vDfF!|Xzd#=WqwiJeae15EfnZhTvj~UGMWT^GkIlC>O)q;6)U)w_ULTT|b zOS>zT3z{Otl-F{oc&V~E?NDHx^G*HIl!jC1Cr*E{Z^o)+5#Cw`DQQouy9%bVdz_!a z9(R9gAoGTIA{vKFZCAFmF^intY-DX+`tr8OGT)~)`=>L@PgQG}ZeKa$gB!0_zx6xD zrz_;k7P(ah8}>AQ-%vIG*o=1vZ%l6bAydH0$?%iOGBiOt-{;#h<5fOOaue8f7JpeN zvHz@$L&9T)ugh4I{2p0-e=NF4nD@ZDyhGE=&q&*w8Q5la`FZlV@vCqZaxJlHJbAA6 zW%rEGw9_pX2@cQqs#{;3`KwfRzf?x5<P?K&^$GP$4Pz`N4^4a-aCk;xXL6|SiR6Rq zJ=I;)vx{5Q6Q9qs{I;sM;DtnYv4Q#o`?;PIZr&&pzPr0N^T@;>5{mx<GMUo?JnuL> zk$3dfVXog~HNVPLopmvLnU&m*Rg7nD>Z-9_dt=p=`1l$BB&+^^dnK8r`}i--y7^$< z%wPXXE;EHs3{X3IQdxc8R>n#RV<Q2HFU#GP?B2fOyB{B)6?8b`TzGi^zoXv+X{Y|l z&4If;r-nZ-d^9U&!=ddPmrd|!t9>%#li}@oUt$>zPe?oS`_zAZr94MOou!L?!p~19 z-Q_DbJ~o-1YJ2c#=z)Mw$)|4du?IT@?KpVw>xvuu%(gq8k1{Wiw%+{m)~XlNj&_zC zZ~FVFD9h~>qc)#4<H<j(L{I2FoXQ~cyw7gSm5Fs}F*_c!`Z=sp<>D!FQ<=Kqx$@~_ zMz+O1X%QQC>hE4^D|vVG3GS1>f;OB8OIp2qnJ-%t&*q%KY0MUKQ!X6z)_5{+@#Q;L z68qksInr10($D=)W7k_-UbU7Be-|WdzcBIM43|k}4?Jw!vkHz+{VYG(CV8FvS~rj5 zE6!K7IV{<<-A2l#JZ9nZvP!vmU#`wFN!(vPZTSQ?|A&Dqf<IeZoU|^mE<2YMz^_-S z!j@D1(oZO_TiSDi{A}i)Dy}56%hMzezQ29va#)y<v2ttP^Q}RQ3)HR}9!u6KJRdco zZDQAR9Sh0-3{oxoE>BN7GXGO%nDd<H3!hY7y~F-fbB8nknVZj<neBEi+q5Sq%<-u5 zmh@+?%69Ebot7^Ay<G8p*mDsxmOUO}ajy>?_o?nu=|3$!^Xi??jW?<<87QR7d|T$R zqjgDQU$e<<rc_?3H~o3npG-3H-(bqja9>-v@5*PDM9#bIafTuHTyHF2_n+ZXdy%Bg zr3p-%g~S`QrcCOHIQ7P6`=S11k55xsBi>2;3NyLCxB1k>;^qm)zh*5_c0SYQWO?i6 zqs{A-7`6mIv9u|Cec{>W<&U4WOquY(<J$_yoyq$uPd`b1_BK`^<z)ZPo&!sjrlwA< z`glNYs+&u%x!v2-{U@$`dMfgEV!ZubS-Y)MKAqfgWc57bqa{b$LduR*oVPsnc}`d7 zY>ktXlqY;LzViFZCU#2~O{VQZS0gtBEcRHQ`Ec{6u8Ts}XL`NFV$bmhRaXbOn=Do3 zRl8C=vGK&Jyy>ih8`OC2YwJ6{_c(A=efo~PU!|)z$s2C|yV4}!@i|TL9p~z{3hs_< zFp$Z&yi+0h<!GvSK+U(O4hQ7^?O2gM^<jhGlNOskBmcd8hj!LwALm<Z7_Q~7zHnLh z(Uv#&_wYGs9*_6Au3G+RKJRTS=hEV*Mt?sP6mh<u_3^&opM<W%QImKDAM9wm-KzV2 z-;~Mw4%zisP4vCIr(WUpjz{aGE0(+Tg--kS%i`^ANrk7=_9<TfXPZ4e@b84EMSXQC z60hIKncH`~U!Rv&sNM7DsQ1L{Yt^NvtgD-K`lI$isg#XtpKYAK#ZE+BQT+FrEZOjH zEkDX1PBtlw=k<G~@!h3CSo-(#U*S)`f7|jX!Q<5T^Oh^0UK3rHY_{=d#wz1aebLu8 zm9+J5EuDXBQmoU>>;9K`XPt19<c!&V;rfCf(T}$7{%M?5HGg{1$<NW#S&ORVD$mx{ zZ|_pu;r2Up*9lRl<;nBoEY@Xtf15aCrMCL_D|6OgxUws@%l*x^?$yiIGI`}K;5#sB z#eog-Z;OxSNi5l6{iro!{mQ?tb;g<ZG(Xl&{e4zDXqHfcd7jGlYkQRrKjuHWns?jl zwRhIbUNH=)ek^Kta&NbN@Y7EWhIe$99Boh7e`#XJ$+-oB8yoHx#`8!1yEM<F-%;#( zIoEY*C$@}zl^pM~qn-b*yqkM=-qvNNSFbtfAJUL(wtW?9Y1gW;`HjWRE5?f&cYN^o zs?w=$J|VfOihp-p>cjr-IQEZqE7|5QkC9NjIbZd>>c;c77VAACJ!dZN^>ncNRu%Bz z+T)U2cP1BU88mjd+I&25*35Tt*&~nRd0#I19TH%Ce{ad@)_ZsQ<F2ysf4W<C+>VXG za6)x`ui>0`se#j8pM3q}O3;ZU!yS%o7M5?{d+)qyt|7hqc@NjwhEH$KrIvG4yV<W* zR9SJu@^#?U3Gy@AAFmL()^oyawP=1`2Gg0D;dj+zidY@qtj>PAQ&IZa^R~xZCGB-K z@*5U5&vGk`IPJCbx!j$rD%O+5^tXlj&Tf!+ebhkq_H<hdyQ@Nfmu`ABBlYn-gMB-e zD+HWj7KomFthj4Q=Z<fwNfVB&NtKy1&(Pyd^66Z~UHR<W7p|C=th!5ECQqGR!X|J_ zQ+>DXW(P}tHi;`1KcAd4>=Cfd3cc0RCcXK_l_1jxzONY$9FU&9;JixG;+ZUdNj|#@ z9M5^GZ_ARH(*Akk&N9I(%pSL=G~Idr<<}M0CvJBR^X&Pn@tIL^^W2{&-_LT&nWFZ7 zj^W9FQi=LE9gZ)LTC1{q)91}cHukjn8OHE;)G55ElVp3FTDgt?XXe54b(%{~<h;#W z|8UdR-}Q5rnWz}*uwS=aZ}O4<xIW8^?}oQ@4|z?}KXbA7hVpvTPvuACyLYwi*4b87 zEs?9D+W%qNxApVio1T1j%DMI6%dTA|bHB<&{$gHLcQH<sQ!3+}asNHzb^I5&KJm-^ zyCgnqNzuz&p_`*M9k`E`ZT$Z0`ibJZKbLbIkz2O1bK|u5Jyml))my#n<#?Ah@s;>~ z;nJU}Mzu>9^Y=;oIr3|k?mpcguMX=buksW~+|E3Yw=!gUUUcDs^N$0zJej}u`qmQL z66R~OA8qeVn|yx9RTZ5(a`%^(*Kz&$`^cUrOZsc}%>1`A8*g9d{<3~n%aP=3OCs+G zD#;kU$oQ6Zjrra0_qPuFPF3}`)$@IS=%o6G>aI`sf5h3DTq))5433&~Pm=$nyae;5 zed)r6DmzZg`FhO@W^7^jb<Ob5A!~)5-^Cm4GkS&HlI1(st6bq^@mT06z4}VR-$j1} z%azvd5;)@!^Gi5>j#$81<J>+aH>*|8)_5is^Cc-oSTZ~iI3Rp&PR8-sv2Fb~bghG% zL$~++_7AALDp#J~%6=hq!tDYp0fWj{wb>8y8UHw3`J<)#XvehZ-4Yi=Hg8w{^L_oM zE%Svds)ILppRRQ?n6Bt`e9lyhlPBNCe0{Ox@AZX6T`$gUm0TJwp*VS&<yoaAUAJc| zB!4`ccDO!y(psz2H*#|1*JbAA)vPX^_xi~v%X4)f-cG!?^G(Xl1>V|klAl?Ac^fmo zV^4JAL+i-p`=>50x7V;>?k^6zeMGD}b(gTx)Sm5<Z2R<oT>YqZ{793v#FUdV>J4k> zY+t$N(&SlPii`D+&zITyH_v*tbXjzCWs0?mpTvr<-%LOEUR$YpFk`mL^TNb?b61>G zFKnDDyIOVX5*Aji#cQjz47)Z7d92s@WPj!`yTySOk)ASzUswCe`+QmPZJF6~l?zXd z)*Ujwv(;_&<X!837QPLYnfLFi(J}tO;4|$1uRebGsUqn2h0@yxmn1BV(==|kbx#a# zIc9O};RIHT^poBNQR>rGuk<`AGksuIS~S6!p^M`upJ?=zUm=U+cWrK(@jBRiF7Jkl z{S^~sL@kyH9AGOvUG|^h^_6X*Ej_2j&x*0}7tVj~#&Jh}&GEupRzZTD@iGGJmrbqK zxXRvhIFj7xlwj(jT*6=A%(yeu{qvHWliN@7?74DU^nhLN60dW2gwCG3zm#w7_wc96 zD@<ZI0_|%IKYeVd)d()=N=W5le9-?q*gfxa`T~ZONrhf3LK!6<^(82C{FL6T)O>-< zt#@&fs{fw4m~SHA!?h=Q=vXLRKD?(oETOoEsnTNgGbsmU$3K$!L79H<&Ce7tDoe<h zEmzij#vb6$)xQ4P!kCT!8N5o9Z_5Pjj9KE!aHrYQardmM7RHDNVzRH?YUZ0X6d$y^ z@_5gj1(9slf(Mr91<5Ngc<^~XG5p<9EyZKm;o-$sJxkCffaB2<wsZD!S>-Lp#>=jT zJ(qkE>SF2g_x|Y}wf|-;XAqZAVSMeIah@yM+C9omPhet``1SSII*r`7s4j8))GT-B zvAkCZhlIP<&$$K5ufO(KpSMYI*L2q7rwsfbWxhL-8+&l#=H{M|;=Th)ED1d_U*6bF zRbF#j@+p@!50CKIRj;{Lv1LYVc#-AyOt<gowz)_9qbwU0ZcmM$ZntI49NE<;U;F3o zZq|M%!^H2G*>%P-H0;6OM-}#7(~h6gUUB==yr$mH=ZlmRrsx!3wwtPdVrTlx*Dq>c zIV%`ds^n@JUv9G7Ds%X$b`G0pz>aczYk8k9BEB*+!uole*dM+Q7JdA*ZqDOtlgk3{ zODHe+y8N8cmQFUVrw7j&UnqVV#>L>I_{j9hyk&Eg7_T`!oi5XSA!N3QMYxQ)<rk5i z4OvS4Gmi(jKfgCak@3fb6NZh)tEMNj_XY7!Tk`R`Qp-uzt6U64oR2@PD3Wr?Sta9k zGv@EZ{|whxI&Hg9#>0GRQSB$=jfqd2xYpSvRX@3MI8*0MPfXw91;4uHB~6mpsNK}z z$8I63DQUL&Dchgov-YQTHg4Hp<?sL8FXCbak9X-onK~0U$0SL!ZPx-PxXG0Ld3n>& zYx6?8C_V$L>fqSLF{e$sc?_G5p65QUa($Zj$H@nSv-Fol-l<*oaCU}*?2_j)GD+LI zif$}fSCwhVVy<^CbeCQMr`^_*KVEM2=I6feu|06{7T=beJKi2&TYAA|Z6?n;BX!A8 z+tnxR^s}P&&3!1nd$xJQqQ&k8Wj{AmF-BaRZt60TSAOoVZ~Il>OgfzNFY4IwYCiMy zb+*~()~(yH`|c*=27l45E8=c@vMKt^<g}aZ|8-rI!xFyba*OsYTv{w?_<Fl;W7FNt zzD9%7S4vitCr#Mrsx4t=I%A{ywHXnO{ZZK|^L;L7s7_-%an$W#=IlOA&IKtmL^XUS zSpR3RS|jmn%bSJf#*6fW9MmtH7;xm?^R$`3nf&%|=4PiC1=gjaUrgrleF&SnVBKo7 z4Zo*4Fiz)5v32;iUg(PM)b$Qq&rCc~_r2y?!HRh+_;R;1Z<p_N3;C<P^{NT;@`!`h z6H+F8VmvQ;%7|yy1+LkJ-rE=J`n|Fae%vF&?5MNu>CEo*wZ`f%!{#Yfajor{#Wvyc z*TuJ{OW0iAHu2IbW$8J583!M=J@|8|=c0m$#!)>(UzTsni?STbMCQ4AFs^7Te(lHm z+R^6lzbRkyELR-6?03>+O~6MD7M@R;Z)(m@a^6`OI6)$z=g|!Ryem5$W@j+4+5~>D zOFX%vneT5_?BQh^PnldTUPhUnTQcc5OUcpH^3{gMD^EOHxWKAny=tXY?CyB^!+&01 zui<`F>+Ld2Gbz=&k8ASWo9_<o36rkgxp~Ht+kd~xFx0-j_Q&+0w1;xv=g8?Cl>uk3 zzmD*gIyyhrZ1#eCH*VfPXMgF5?<Wm=?dqhBrvDju4)QL!wSLM5r`5Z44{7xWM|MAc z&z2b{>ArP$|8F-QjfRvb^%cT@RzKGlt_l07wzse{(Qc`7q<`xt$vXestxqp3x0+O5 zrR;Kk-<JJtyK=v`zWuuUZW#N&3(ZxPMJ-&mhVwkvGkg?3d^h}Xko8Mnty`PLjQCpS z6;F;gxLtAlh?t@35^=qa(SjSz3pidj#`TLI?eDyG#W3RJimhid4;@!O!~XEgs(EsS zduL|O`}(k-uX7%++uK>MB4xd%z2aEE&g5q9^GzD7CfKeMZTx+HzJJt@`w!3e{&8p8 zHgA&CX9XSRRnvG5uQ>1Z-p1Z+>+<aQ?7h1t-g5A~^Lx75&Md!ZW9OGEg2L?e7|!3z ze;rhr>OJZ9&B_ObKco&`-ul-%up;N&#p3PX7i{CRmI-(N<SDfxD4<}6{d3di6{ntR z=jbflRCMRTl^xO_B^8nv*lHfu2-)#dWbThQT29^H5B2OgHKB@Yslrq3Cp~VAVR1`$ zUtm;8mv4;-*tmVhIzDURNwu$bhE7t;b5Lh&JSg*Jt*~r++f>PYzBla~L^RbcSs1U+ zDnG{=+-JaM_4xk1snhuu{QCIs`d05`iJj_s1`7(Zf|VDrrm0Lm)p()m**u41mc9KS zs)B2l9DB2C>gzjFP8&6+MXIGw?bd0~w?7;xYS`4}>1x5gV5#PIbr$22{|r)X4zG5n zD=8Uxs4M*Ln!WJGR0+4mr+p006&25#lB**dvZ?u8#q*Z|ll;%Q@h@1aqmo+MdN8o( zc~?0%f4{V>iu63U6VD~&W-euz5M;{cYHuujKs0jNE0eHktf_G|#~#l+{dGOZkLe#H z|0r#~wQKF(GZQBS+jcydb#IEy7PoR+<0JcwE^V=p;#}%B=ZWABKHK)HPr25Q?oH;~ zuk-yoH`9>@C3D60y*28O?srPf@5sOQsLo5cX~}g>^R9Q_jkVb<Ufr4XKEmX}oQuD9 zudng`@NeqF8>ZJY7JDD=_$KhQ;|=@TgdhIL*RP-5zH7$qTesa(h4$b5WBdBk+nUUZ z+}^dfe{THbl>C(CSJ>a>N9ShyUR-ivZDgc+oCkZ+KhyqiH9K>!w42l}eZ0TBs%>{_ z?$U~=+;6W7XBu!BC+`=1CNKR}`>*t&U7=f#-u5;9UAbO*TY<IIPgk4N)vj{NyC-tI zN<JXpn->3i*1dJfeZM}g<Emf%neTzNS7mk2W4#tjX{omLHfO~O$`bx8mY?gK`Y6`f zf5ypt#m4h)QO}=D3haHL&Dh-6^6RRx<(=#+Q-bgGC0}gsFBO|8_vzs~t~sec736lT zm0m9ylQlc3Q~dVX7l!xtZ1nn>x+$W$tIF%}Q~m98etisBx!{?t@}WBQrsGEovThwq zX}abRDc*3qR{I5ir@dV1dhx6c(LbtQWKKJfuHnVTz96Y${bZ#pxry6nh@_RrXmVfp zHS1J%XG(8S^0TUIp#~eLOu2Q#a^`EP>pfeuZ$FkSv^oAX(>wowT-%zL*LSU3U$;G~ zb?4qm7T+{o&Iwkk^z8|sc(mZ+GRNQTjsF?0uV3<yEhcW?@^81-K4KJ^cxuJLI!{LS z$!{`Nmx^7|_4#(6zoxwD`a%7NESJ-Y3mAU;ME+#@Rek;Heg3a+g+o8&&b_)|(w*B! zSk@cYysND}zqZEoac}gYD83o9>f3bwoi}=-peJ2zc+M(p{b6tUjyRnSJH)E)ROQZX zlZ#GnlE1A!|J0tIG|{5swY<s7U-%>!%`)4m-=e@`@%zZtpIj#McS%S)9N$}TkN+dz z?Ais<H#lqVzj?gP=`h3g8o94G-v)9{jScXeCi%tm`K5XNGj19_*!6H{%omdnmA8%* z86TI`oS?|DhTE(v@Arb=!Ke3lKU0uop40RAWz@=9+%kOuRy!E}Gn_WQ(jPT-%9%$- zyAS;AkV%^L+hyVA9fA{X9IJI$mLL>e$lZ6hUMkDM>*AaTJ+9Xk{v5v%?8kVjr{}}+ z`R8WJUGThj`%tUut~!y`TI%;EvwT^8hGjQ1)0-7+#XXNdiLgrlu#`Awc;!kWOOL!v z<MnGzJJnq7EcjqlDYCOc($8Ju<V(knw%k2}cY?3pxAtb^JnmQg-f34)-_oj&eOrn} zPq}~M6PJ9m`0GmZrc)Q0Y}xl}GdC+4xE*{@`seRUrfI!}pXTuNS4}iAW(s@oj@f$i z-&e6G&XhB8m)mOoXGn8X)>v??QgPRXFgF&BbJiCWyC;awD0$hHoyS~wQhickqnD@$ z&*?c;mwZ0X_+0RmpE2aix3lpETnxS23l8+nzY^4Y^mhJT?Fq-1J-l(n`&q%Mz3z_Z zv|I!>F)UqN^J&NO0+~Z@%vo(cdj1v%mzE`Nm)EnD`0{;8K}+F0>tL>BpF+2P`86@% zhEU~lx#Z{RzKd7dZ8>l7XHUZC#@Ajq*c%T#|F~kl#C=7H*G^35-ZY*6qin;)ef;Xu zyvo}>{O495b0}h$TOe~~UcfDpo^rWIa}UgnUU8a<|L#$bJ6bzrzNr6aSR2~CL8Y&} zsJ2yUQ|+@j|C&n)QDGAs(<~VtD|by;5%{87Zfk6s=4a7EeMi2YRi7o{5|SD+XZ^bB zXA?cA8}DYEJ^A{5kwyL!jxeb1JZDww8*)mY-9nuqc%GB!O!pHJnqS#}b#dtkPY|s7 z&)`*Tz~ju*_BQliO}=b#*PO}Hn>_4tO1^y+<>6L6#=&Le#=g~X#;W<V`+mGK45;kc zYu~+aNuQg8lo`jJJ~z)lnv7XSjA0X|C!bJXYq849rCp)<gl*ljl}$GUAN<+V9K>`d zed53BD>2-XI{Q*`dt~^m``1SWy|)nZ;7GDKar=0l*8bUh5|4eAS#jR&>sjf24h#Og zsXTdJBxd!(0_T$R+rKV<QV{Zvxr<AE+J)6Z5y_SZpI^B6^n@z+(`_ON2J#wm|GxZe z={VGIbZUp(+*L7?diG50oBz-^WlD}p@|h%d`4Yajz7g+Ki#7@!kz2ffZ@9%576*^J zmp>i9Hkq|s)Zy?#>0Q5s{dYD#cA3KT@Zd52d&=wh*K%__%3T^crSR{?7qu^chgfse zrS@}iIu#$6_`Wnmr{~}WyCNfNxkHVT=h>O}Su9UHdFZj^6X9F^8N7lVr~iHsmo+?V znHVE`e%kBiV9@|`w&1t3dW_5ptiH&5S$1g6h@SiW4DW%H&lU^3SJ~8h@Ui6T<$7Wc zI}{T1FU@N1eb}J#$@s)7AFh0n#j0lW3@1Asx$Tg{+?RFJn&XK;z5ZIIqbmDf37_FA z@OVG#qJh??hGyQmceQNSPT=@ctL+qB+ZcLJqs&Y+$~7!MxaZk|-D1<e#pmyzn%G>; z^z?wFT+2t#v%+V>?{VhT9#z;NBgASl!Nage@k#pn$8pZJAFm%OD_1(79TWXd<6oS` z@tUve4hMhy-n=E3?|k&MH(U4KZt1Pi@h|M#6Yy;EhGN;OC-W-o7T;TT(Bk%mx~(UF z6d#)>`_aZI=EZ00BkRI>3_RuLZM~(E<MFdlnrBjV{nwYLJgxbjRM!PG-?<#7DslI~ z$|G4zj3))#G#(cbJ#emw|9QaNV}?_A>fAi9GSBkuQG*Z8LY!{|o`m+U-Llc&fWh-T z1J?r^*N@r<<_Yfi*3AxU)9&FERaThF`zkwRow)S|(aD-kZhj6&8E5CYG1?a2sS5M! zT$4FZ@$$K)i|^=sn}5IO-RsNtQP*z?Tesb95T5wja{&WK?Fozb^Iy97iEFIf>UiAt z?@_Ju!kmnE${Iu({Ct&D8Okl?{!N{+#*170rc6TeO7_NgnO<y?FRJ>T1CMUke{pZ_ zU#%3U*ITD_iac!h%Zg$#4KUEZF6*E8b)|@?#lx8e4lifrPy6_D;^~7dsrBpk+87z8 zIe5mT$Qiy5GJMZ%ELwbMf+PF<noECHom;`dRl&Zk_GS0(v*8-zJ%tyl|7HapJrVk% z_~)++2NH5GS{pty?)z!7yWCLu-NYu_da3$5G4rmh+I>)GY1#Z3nW_uSb&k{d55`rz z?s8>ZlHr_pj8A->=JWhBH;=QVd|9~Atz(ByjDXSN{<>@f5kswmZcGzTzV^>so~c@$ zerd)jk58LhEzj@YYtvx1u7auQGVfV6+1afUmTy>X3%AzQp7DH99kkdj`uplPW#8r6 zX6-i%U}(Qk6<~OK+uWPa8~eUm%g<<Vu9_I|VJG9}AHnBOu^BecU+c^mI>U7@A9Lum zoL2RDMq0aA7-wh1AD{f*i<2Suz!H{I5BuM<N#6*0IAOx!xr-U*@zrK+(7x(+KYsmM z=@}aF&XXO)zE9P<^FS^$gj2do_;{L32;=#>zwA+E-|jgkNXy!0FdY){G}_A_c%wfi zWXUnN6MP~veD;PR2iPTY_axM6zB;@nw<q1^%gS=5TN;Ja6{|l~E@vtVt+zY0@ZRm> zWA|n<&tJIW&oQ0VJ#5c!Em<*LEcEmW$yAF2FKQ32JgIe*yN7S)o7z_sQe;xtUUqGY z*k;5iao|^w&!W=Y1q|jZUm4GtHM1^%`n!oIZ9l#YJ&@!XBWHZn!1C^8%lAIq=ae;e z9#sD<@pXBgo4SOA4A+V!6SuEd`REs3V77S@|I4=yV%PKT-mm_6)FNePf?4CAR}1bQ zjQjaM=;!X~rxO@d1d7kO`WuLe@U8Orx<t$0l4tQUErWy771DqAA6gpO)4g}fyA$XA zrYhK<R^DgWRlzuAs*2c&n5y5GYYy;vK9&i-dRXaG;k5=i(eF9a-zOyWO;zBXH1nk0 zmWjKpp71=rw}jO>vATQ#+m?83vDmY>_i9FZt5qrd^su>ndS3U*m7)$08eh-idaBIf zEhD?6{OfX!$pzMB^L?J%M@^`#>3P;*EyuZ_OgYHmu*{@N*%#6`4cH<!zCREjH6b^7 z>v7u-i9fF#Dzpse@IUw5@RWDA@w`ko<1HU&Rp)AilrKBhk{CVtyuaU7W|5l1`S-qj zTdh3#y8Pd)jy4Gy0k<OCzgezf-1{$gF-%C9x8r=&Bs;ci5|Rg&DFiWXmw5kY<q@lO z7klRKzW;go8J5Ow`_nfbE%|vkx$NP~9=^J*eBXjUGq_p4ZN4{Ww<E(G{`IE1jp=6& zDD>X@H&rD?u&KOwa(`5-ALD_CyXW0ltW}p#{n2{{x6bVyFKij#dmS#4J@TX~nAz~> zRFPjog-zBM)|}zme($}zfzVVNzCDfSms*A^JnqkO%{`p_=hU8$*XFD}aJ=|mamW&F z_9@JB`fh$(D##kN_S_qpvPVm$JMM0HY;nS-@Xn<s*(+{4?o`QXJmVJN5S>18@|<T& z3|0%BF)}>svqsjuxp~J*S*yaZ5T<3eJM8bB_nMbzF-1%*VEKZ)DI75y(t;RY9<RC( zw_o#^Rr;*pNsjD)G(UGwS+eS(Q}d_i>-SoQ=%3;D+gg8`he1Kl_|j|{|Hhqe{!#l9 zKTWN$nK<W4qpU-Mg=zLl>Eb@ym(PTPEl-|*qWM`UG*nsL@_5!<r|Bv(^B!MY7F{51 zd2+eL4rvFLlJl?K4FnpTS{Rzx<z}o7>?uBP>uaC*SmxQ>r~8cVvR7F)9qe8E_f5#d z8wL``e|}vt#X#a6f7MjupWheHnAX``IByM~=a<!7?!G%uo^`QI?pyvV<e^`Y#!l54 z4VI53Wd3HIdaGW{^Pj<MbrT=wPyejVr=Ge8zS5e^^k^IV(&&DMcb1RuZN7TyF|*xP zt5bK1=Ujd!+I?X1xq7LJ*Jp!-ESMWYeg!^%$KI2CZB|mD9`lYoS$4@~>rX|Ph8lfr zef~1I^7L0*i)Ee$U*in#&ExLb!1DO#mFnpkuh?a?9E$iXj+z`zD)=FDWx<0c2JQpT z*M`eHHcfO7unJYG^!8SKKCkd+Xv>6&*H-CSm?rSZv1v^fER1=6+5Xf#)wsn?j;k6y zp2%?=)jVb(@qDXYLdF(#_DMzdb2Vn9=lQt?<va=cWS1YcE~(PH+pe}Sn6uBwxNpz3 zyf-`>b?2W5YFB4pC>nF{R91I`fqT^i-wBp4BUNuC{JryK`D%gUpO>GB_7)o2mpq%| zS1CFv&Eov>tnxV_rAO@&Hg3@4w2_;tvE#hgk<Y&#udgbYZCmv#_!+mfUHN{IedRVh z*R0MNH)TF6;JZ_2Qq0;LZ!Pmhr1Iv0mw&U>&oQLVUil!n=fH!KcNs<8QgM0rYBQHP zaK>Gomv%n*sN(c1k40?`Kh^7W%-hlye9ZdaREJXw_^K|~Jp7|JdBRU$W;5$6z8WXb z=Y91!#UItX^juNJO1_|%(<T17E&gozY~_}QN&A{+KTF|}k~r<Fd7N#+DSz!g)}Txd z>BdJhpFMb*W!W|{=j?fzD|Tge35K&)K5KHTi(hKEjGg)Sp0uf_p6ZzFpJ~dx^O)za zD?%0uj}}%k$ZJ0Sy0S>N(`UaX^Y)hkCdVbt@o#nBtzPt9G-l)BlrI+Fmlo)3X(>9e z{`y|WXZpT3l~%tyR($=+m0ZQt<6f>slYh39eEC!8Q^{sm_jvi*5Tn#SH`^>>J@&Jg z<)?ZlZ_J!+$@%HuR<;Lz#wV6pPq47f+E`@4<!O67G05n$CEG$hKf?fa9*(;Qf*iju zGg;$O%WNL=>-UAAj^{bkly{yG<w#Sg>JRjYo-?a;&W6X5?=)oFjSJ6P*o2mqKD;5o z|M*vM=ke1!G~XD9Hs;7Y@7uytEq3gE%+>U=mwkI*M(*F`VYg_8Uxf+7^;GUHU8|K_ z8FnXZ|FlwOLfuxj51#iM?2Vlmi;9l=xqn{u$?&nf=4&s{<o(+!&(|+?w@mV@wC#BB z!1+u=QswEYH8Y;8HwKB_pSz%UvCPM_&O83ruA0nbc-8UT!C#@Cenm^f)E9m+P2HjL z)o%WkD@HX7CLdJ(x{9f1;>rW1cYi#d)s$k*R@bzC{=J$dg6~5=rLap%SFMydzc<`q zmeCo<$o7B(rEjwMHH*CY9L~#4UB1EmV_njs6fLuf^FLp>{ERPHU`665Cdc>xOe3eH zG+CJLxWKSP{}kujS6NdwK6xuEzVh2DA3rs3y^HrhEO+XQ$$jN!v6^3!$KvI^<=eG| z#nhYsyn5$pvGG)TVSd)MLl@khxg9e;$$WpW&m;l!=41ROCYM}x2i{J6WgTLmFV?zQ z>ht-ig#{Cm7d2RaF=Z)_c2KQ6`1<wh(Ah#OZ#k;3(_~~|*ctky>T18H*_?G*jj`)$ zw*H*H;Z>IUJXdv<=dUj{==!rHcs#e>ctEasz3BXByoWQ6GxyCu*Ichq!^bs=fB(L$ zX3G;vMefBfLl&{#RLgni%41df(w9%jX~C1yUui2jIr=k-`}Xdw&4@gqu=7FxsTJG} ztz4_vYw9=On||h8*20>E^@Ue1$DdKXE0MVKxYL%M4x2VLaYi|-pIP0%_ueYD(5LQk z9OsIiPWLX|-+pbnhFJSFW&?XOceyRsZtX95Zo6vR1IN??;|rHMCEGX-$UiqJYS^L7 zzCc}sarZNo=eE|tic=mxJ6BZsZ6)^#h2_$9-}ibbu}SZ=wYN&+Gklg<e1HAJpp7># zR()H_l6!Ltqu&FkgF6DO_?EByb*W}|<Agcp3(k5^II=ojJ8;I#DH`^rZH6!Jo2WQD zP1Rbkf<=zk<n8%0MIH}=B>pq>@G$vVKJS{GVehr^Q!k5F?;pJaEl$2iJPC|%?^Ito zI;CNb+>URiQtuennayHPlnXP`?A_<Y!M%N%)sxHqS|1ab8_MT3zYH=Acp?6tKR!On z{b%1X8=>Nt4iQ-kc;4_u{`#9``ZH20u<1yH!<Xf?Zy(t|IPPENpmKwyWnW#Y`rN&J z8LA!clnz@wwyFM`rL$Y@>2q}p*`3Q1Hr#D){8#LorWhLDVC0|Z&??Mie9rNupHQdq z)@>i>&q%nMC=n$4@0+FMG2?qPw{th#nYZt2Ak(1@>dzib^k=Vhc$|0V`QD&=$AZj0 zxUrgec`_`&ZX*-QxNs*Y7oU6bYv1xbC%wl#zvZ)*t27v%_$mBO?mt7X<ucwjm1S2C zF#o={h0$oUqD0V6`EtwSkNu39Cvg6(e734nBDs>?*7#ndLGb5f_N`(}=jU!=V_#=4 zHSw8yI`^rS$6SLxPq4VNIOEx@C2uXBY)+TEcO`<Cb*58KV_)UVOLL!V6z=URSK)b5 z6;{3N?+G@CxA*3pG1zb6H@EuH)P{>)5&sIAWn?B#ynSm{JBL}3zw^AQer8WTF(~{q z6?5bl-WgDM>gz%U6Jw=?F`v&rfA9I6f%A4BTl8|fsmvQrxuu++c3={F;7fmD#p&F) zZ!5F^y3FLPaQy6H;fqztSFThy=2@yFOCGhoZ7Aw`P`$}LF+h~ZY*YJxhV11p9r$^K z3l;dRzkNUJ@?fP+TUK2;^UmV!_nJ3ns74gePdf0$gi%`FV46A~dsg?^i6Ux@%sXFq zZLmvIDe&`^W?-DX&~gFCCC8^fUmb0<seZO3U71<ptahuysweecYc?`ow)u5|b+e*| zY~?Zc3zw!dxGi~lqxfaW3<DLpxxFr%PB8=-`4?DS&`b94Y&-D$`n|c&1fqKk{>git z&E%G!(wcZh{$-Hrp>5AX6Fi^%`hD5)Onmg54Jr2eKJrmB({y(k6fm4TU%$|FmP*jR zcn8nC+PW>>1~CbfG`Gkcn=m!fT%WOUqK9P7@yQlCJ1o{*R-Uu*xw`tC;GTVfDwC&4 zsPJ7WYCS9aNkF>sSK5>_`;XmrkbID?era>Jz?zxX9`E134B{-C)OS-RapUz{eSx#2 z4<xNV=V0CLe`xYqi<g(z2H#s?_`*@XmtTXuc|sLe&4P@)(1YwO&D-U#Els~A<Seye za?gh6%9l2Wr84K=4Rk2DT|B|#gyiBW<t9=-hIbAr7`VBzJ)C>ylKFLpx{6iNT}=l& z&a)O@2~c&IJ=gExrzfS7Z@s64>+QJHlE=kwY5Q{iZr$DQ+!jCmdh+%Bs1^?ng(7yz z<^Au?%vKzasS8!!@kj4c*?Z;-rOW@U^4=xN!^Zf^Zfp3N+jDzA@hxBYXO+hjPd;Vq z?m828gRYeq_-d;!DzNbWwD$`5?e~ez_~1&hG*`ReT$NA$mJ57VgrAYHWjOwyVci15 z6#>G$#})df7VMn5ulTdPALCKw#0l%_+FJY#1CvwJe1s>?={vMwmd$dO)*vH>*FUZv zVpN?nHRm5oNY~*^_PrTPw5M=Y*6)46A7E7RZS{tRV9v=s6X#!RQt2uFH1F6ngNfVi zmA0$={&h9RRdbz`?x`hBhbLI~S3Q5S^FM>9w&c(7xi@WV8P?ujG=Hy8yT#*;{x#pv z7MbU5teGTWeBx}7(sSqBlH+P&y638{&A+wSHEjBm`<K}**W30z$~ecJBHWY5ta7b$ zx1pBH`7P_M{j;_T#@yJuE2vEIXM6p}HJa;goLHu=8uGNZ*Rix9rm~|hCbjeTk$I0c z3O?C>>fPNrk6&ahW|G#qYt<0(@W#_Ne@WB%JFHn1+LD;%4pdz>&uv+0<7OP%vx*`2 zq2u$(*I!02Njtl|&0@Q&%>0tV#)eGAUM2h8>bj?SzW%!AbobBh84X9i*zSE*@jiM{ z$@{b6n!0m^?o12dPSAIp)e<YJbNU#^$@3QP8zXW{WiI7p^klHde2Ct@H=z0^=kH|# zdvfg`hfOrMVqAH5vWZ-_m4`#Xaf$e<h4wd>m&t1_cx-WAZs(e?op+T*PR0iZa(<ZY z?=y)tS5WAVl1-1ya~aK-^Q*R|37O1%V#9jCu5Hu2ryWj=_wI)8zcgoZqu#gJHT8;p z$7brOo%wFKhg+uWsaZOg#U0yh!CRINLPz(=ohj_E^3;ord>kox$!CsSgWO?J$JzM| z35<;=)%(}7OuIQnJj61^;=ps|*S<!Z${)+JN3B`s=&|TrdFsaV551@GygSUgxu@#) zg&1$9jJkk^IbYv4I?joHvaBvAeV%Lh2^rz$K<4J_8P1cAZ(ka&aW>(}q{r498$8$E zHcMK;$zm^49j>?Or2KikXyvC01$A5Vt_5-}>}XY={KnU3LD0neFMoCa{CJ%G6z45} z2kncOi-mSinRtQk@wGi+hXW#txmR1(OsZnYj`zEspFG9dqSx^N_X*{DJ68pn_4NCE zUg9{(ndkX(^;@fb3!i&xt0gnD^k=QkUFlfF_LHqD;oIt7p`Wf3r#9I3d9LF;cJ5f` z#N&o6EQd9ZWxabi_rTxUtVJTs&mQ+#tUPzQhyU1S{TT&i`O`C$*SW_Zn{%4;goTs+ z&OR+QW+juK-Tccm1-{%U?Bo2pVA}CFv8x&;Jzia4{L&|3$1P>n<5e@ee&!usA*r;e zpJ(;t-aG$9IFfI_>&ay?c;0+z;nb8*f3C5tE0Df_;p$9j-tC3Ath>_g^d8+`#&7>` z)s_RR7|&fkRzFvnX}QEf+f}z${{H#=hksP>0%mJRbxZX-S7W%^6&|uZ`*Ke6%=2t! ziJ-fcXFWb{E1WYw(C750HOp^2UTc@2mFIg~oX5TJ)?8%<o9ov8PSwG;48)5!+~E({ zp;CRxFx5S&VWD#KIaloo7lm7IPueYQv(nPy>z~Yd$qcb>g}3H)%Sk?BtbERHe{QzY z+kls6W*%c-zBVXH>aEhB+f~Jl!OD~NYuq_wWc*L$dj94WKmU~}q~Exb`{^C;_jV_X zWh@J?Is~`ApXHJ&8IyOXYJOFFGN+MM>B+APPCRFGJNIse#8Hz2Q<96{Stu`9_OA9} zd7|fv!%cjamIoJz_^g&+8Y#2nlFq4*J({=bzOPuedE4`(89Z5vN*edKZ1{4P&ueN} zko=C<jqkEzn+_l8zv=l)N@lT(aGHGC<H@rUr<vsWNiStQw8H(s$rI=AEt}B(v#ahK z)4a!fT~rQF(+inrJSQbsVxwZ9=Pfr!nS@_bo*qw)KQ)I;5MC{BT<JD3<l8$f)}jp_ zvK~plH@>hA>OB_LXUX-jDCDx_)Q{7jd_14OR?*CJ!rIUJ3h8!VW_KPgD85q8eC3L_ zTHx_}mIsuV%f5{9ku7s?5P6^TpTUatjOX6MDb}-J-kN--mm|Pkwl_R7G}hgr>aXU} zP8F@TIFE!PLtn+1YOh|U-RmB(-+f`X<?iX@Qx-D5o_uZ9X`6!HPt1*X1g~5vjyV>g z_b=k_F&X}2YZY>K9Bo(0{Z$o|$B^*F?yFy}qs8Y`BdY=id0m(5i=U|3uqJr(U0trx zt5CM`goF)4<@swfQs=0#3(h;W+wu6?z|R*CPJI&eWDet%uI#uY%J-iM)$gc~Z)J$# zzw&d=x48SgCTIHYBsTmj<vuGvMV`z0<M&>{vl6i@c7L+|W^zd?wVm;5^a^&%_r7H+ zt>;Z+c6oRwJS_~$=PFiYw&k=C4dd<)lRnM7B_P6GYSQhK7PcD$Z8{htXNZ4^bCi#2 ze(U4i8rayAzSO&8wl2H$&zz*`XM_J5Wvi}N)jD;%eDdXAmzG|7pY(1G2Xp>+|Fv97 zK9}$9H#R(AQ=NY2a?zOu99R0D$Ym|MduZc)tyCR<g`Td?rKv1!!T(;q_Mh0Zb*l5T z?e~;<+-+(#!!m9;t?>L~82O(ehfV3_b%p8++p{<H{>=Fh-TdRqj>Z+I{J19eeU)OJ zDxb{T{rbA8=lTx~I|AGnzW%z*Y^j+4JfHL%K~IHK&t5##oIOeAyXCVbx{_TkDw7J_ ztoX7S*M}~S44J%hgX8P|AkCL$^D@KqM5|a|{F`ZVh4Y!2YNr2r#glpewgx`S-^F*q zKI-i6Xv<RjQg`P2uS0J=f5KwuJaO{v538OEmOWN8oK)7vy75kJwr%%rJGTS;r(gEn zx%zBo+ymbBG^;X|@)b9er{u90B+p;CG{N|p+b5>g%o+)W^X|T~WMaE_AmKwTYo<w- zgyqlKOGBm^cy_E;-=1|z$5*mg(|Koj!pq1@i&{eE_2a5%-JT`zPL(HQ(c|<F^Xu29 z`3q}JQz%{gSc&J@&G|cI1l;(m&R5qYs`M~a9?!Z~8eDj&HFhWSy;U=g-#f2+-&Q-+ zK*J<w6&L^A_3>HjUOWmk@(Xg2VBq;s`|9e=HfEFU;ev;=h2Ev5-D0!#tqkw7)2Rq| zzBK7SgV%1W)+0-LJB(Jb*L*)4H20fv`a-W)j`tPAWRLqF+w=Spf0x3CzjNeLZ`oey z@;cHx?e?o$?dSg)g#J`rD-~2-x^~lH=Kg*BXKE|fOJ4aCS-r|5b%$EeV#du^f(v)- zjNJT)U(kD%zv_{nWiNL7@!hX_qO#X_&F;F7=hf%@&9=*2GO_vnPyhUXdqXR=9<7N< z%8R~xE6+YF==2Tduxr<@y`1?$B)PA!-{-oT%E6UlZ&s+QFdmOemHzB3yVEYFvGYM= zh~)gaTW91++XxlkYc4z{@vNKCa9ZpgL#8$E3d+wO+h(<d+Xb^TnAuh?nfJ?j&Sc5+ z0pUy48ouyahi=@m`M32E$^Q&{?p(edzh(Q5=<Y*rCpVoc?)uzVc9T8N;=P}EQ9Y-` z_eDoP%ZK0kQ}|)-vWcu~s*LX5J+PaxB(CtzoZ`rTBHKUQKk{CrwyoN2)4iIX{L*gx zj`N!K#rHi}o%cREY}S$uzRz8?j~y+0DzX04lE*h{p1)#m`)c33Pq<6F`g$K{f`#y$ zl!>=?x&65N;ShV#ttCZ@dB@d7e_H%%K6BvCW<TROV*k=6#7xUs5hC00_Q$oL<?0^| zci#CM{-2@s<A=L?HoGHhp5#28^PfR6>f3yAJL#;jMbB(wbDxB1U6|8kc;WNGvvode zk8GT~)KU4;n%N&NzAfB3eW8r-S5vv;XJStLt=jOhzWr;{{F~)WFU;?r=8?McJLFR{ zOWBJ{c|Xf`yo~QRtJAzza%s8mzG=de2N*j<_vU|eKOXq>(KXq!Z+D6#y?WliYtCNy z>$=VKNVokBw<jN(Y9kXWaz(YdIA+_WA_jI#(VwaEN6*U|E6fj>RT_L?;yLk`aa$kQ z_l6r}U0B|s=kq9x(bHbzo9S8`<La*G_g2<ja#^*+WyQ{zuV=lVdnE;Z&eOeG_%g<H ze&-ug*3Rpv%XU8HGH15kw{^kyGrCLjr&#=S68@Ziy-U_w=t-H-y`O!Xe4cEOIKKXI zAoqJU--R1)ynK^A$y_P6dy+J>V&%aV>N{s~%02t7A>8x4Y4Nqq8GXrXt3N14w5)0~ zJ}l>}dF4SS`vS@2c#9wXkK6hm*1Er0bpHG#hlm|9>#T+2YFE@<GTU@e$L!jfwMvi6 z9c({_o{~9!le;7(ev6oEpHo?G?u}nvYfM*5qzc4ZbgVoed92>*$MOU6Qfp0KuMCf! zbNpFK^Jz_)2Y<7xkIl2aY~!7uuGcLxvsY&3d@b*)F0G@kOYbaxV_oZX%T4oH=hXgF z;qz=?&$?<;{P3@md*82oEth|+3GtGzyMA;Zu9qz3=e)H?JTCRkx|<Ik=V`Zmls~fU z+WK|+Yp2}yw`4u}WKPMl2kY3c+*AMYJ>$^3OZRStwl9h9IOkrJ{VX>8QQGQy-b?X1 z<=O=|`0u)Jt(<#rtL@GFdp~El`CA;nw!!zX2=^7fW|J#I<;=l>dw)CYeV)KC+OKlc z<od+h6B??y)&)GzSM1H0!CP)BF>!B}Gxzg}2i`k0JeOSUQ*)R@B{8!#<y?i@`ZX#g zCJ(v#{)B4s&p31Ic=NU8y&l$%XEQh^@O)i9)m1V;YiFnSQK7!u9WQ5XlstJWT<)v( zo8(;rY_+^Dp;MAg^&Cp1@;gdpwIp+M7RRpr9=YpD*p)c_{oMNlw|h6Z7J5(YUCw@O zX|m#fhK%a4+{WAS6%X~^F5cR7G*MRi!nM-=4*fM^5pUPYvMg88u32TfdIq0`gI#b? zpM^}<IiGS{CjE{&t<3@3wr|?;#`w=Fw;z)qTXufls`=Qib#q)j&wI)A;GP28RmLSx z9_~x1x4Gu0aP!ukipNJMGyi80_B3Eu_|CTD=DH<2>kZF&zH&I`>yUCM%c%H2!?jgi z+YascJm>diCf+0SGG~Uq^03|ea;<{8?)6(+pK(tzlV0$k>N3B&)`H}<E)jE@FI;Nw znS0~k)^OqEj<fb!?8^3Dol71!_*&#C>lpe7+yB4zG_fzz(Q^hX`;*%@YhP|Wb>gO_ zj$O>W9ShyQaqx+@d9ruOJkH~DtF(A7`uTZnXS3b0fCcZ~zYa>+wW^_L&$EU6p9O_F zMXSwE``y_oebUXg-D|oK=k)ATjpx{%Tv^i&dr!G7&n$oD*JU}S<=>y$+g+IvX2dup z&anC5LKk*}o}T?@j_-JI<<0KE<P-P!yoGOHS|zzJcTe%9nc6~TD}Ht|JipWzpl2Cb z_D=HlOE*vEJf_AIrXgM%V`pcUa~xwRjXnH%<;{ZoyCzu8n<-)6s~4b}nH)G#;`mm@ zq>znu?ki6&oAD&f$fnEVan^r^R)bT?tW%AS^v#(Qyjx1;9)sj@KVOeaV%&2CtO`S) z?$}-#qhsW@fXRD8#jl_g!~YB^35^#n?M!V{ki4^Bxp0E@MV-RcKeHw7Uzz$ZlzV5! zEsOJKs`&2rs(Cf+Kf-PwRdXQX_t_b3{QDV#+3p*xjK7zx(l>vu>9+}d|7z`zO|3a5 zuPO2VyvaN7iDnP#Li4Jxxa3(f+ecNM@^Ou1yj9i5r#Vs7db_-i@Ijl8K{s9YC9~eR zap2{=tMcdMGY&r9Yq4<B!y`Us3}*A=ml}v=&tYITP@Xp@i0PEjk!l`BuQRd5at3@d z^X?r8F+8zSYj=;)Ji|*%b)UJ3h8yLnc6?dDaQgSwiRVv$cTk=syJ6+iNs%*3U-ml& zaHgi7nkVsLNyw?x&Ob+$Z8x9eU(3UiUU2^D+#5EUGQ#hJm!Fy$nz(=R?zzh^$a}4j zJRU!@^Q5iSl}$|RoIGx-h{gQb@m17jK}4TtLuyeU=i@&2E0-5f5M%wN`FrugRVyBP zuXytNaz}9Q6X6${OIVlctg1Px`D~+#+@a}3TXxT^3%qanXjOhvXj1Y{yI=dAZ2Q;R zJ~{Si=EU6!{~4sD7%v(MdB3Xg`SK_8B5TAk?`d&+KGZcW&Rld*@1V!)c~_OT%j-J_ zJ+hwUxpRNHWWZtGX|{G-9vwAWI`wKBXYkQ5JtODj`SD&3A3ILFZ)qqHxA|u}+wqK- zN|4i<9HtMv>hon%Z@Jx_XJGk<H{9G?<mE}NYQ6=(!rOm*di+QvC@v=B&9tzKZs*l! z9!z|tmF#=+(}HJOHEAF7J0EVJ?)~ADtBmkMw>wo;kNaQ8DL=4h`q5{-*FLn1W!i;( zKU4V(mXu1op7l|-{<xj~o~eJ%y7;Z|P+ngjb#D8Q>5tCZU4Jue^P6tVV;(WTu3rdV zt`YR4>x!uJ*LL^aR%@qE&$^#!-Nf6h)lxO@>L>ZPl8<BMp51zXc$e>`Jrm^TD5n^g zKi^w3XTQjv#EeNxm#x;(wEuOqw`=9suj}-_NB=H+`}^i5k2KZJ^KseDtkbNDizn(W zj4RsREnpnkck}#9kCX|2AJ1ytba-vGuY{NLaod+wd{gBwEs?vbmRvSxPS0h@8GTo^ z-!otSbtNWUC3pi5vxvd_VBQAV!*dG1uJC-oe0{IX!b0)2F-^sirwoIv`?k8<oBL_G z<_Ni0`LdonckF!dN1=|Co#~xyE-5{eU;CJSH#1+EUs1D1uE^H<n%Vr7-pK~@l(%#> zRo{G<Iw|tbsfankH>yHDHD1h)dUa<<XDYu)jfULTvntJX&!1ckPt8e4nz`FntKmXY z>tVs;%hyIk=HB$Oadr6ja?PYS{!vw4p@%2VDO)g8HprQAYxLY!(Syg{?I~ZEcuh5F z<s?sa+g(>@e$}42*dubEi%jypl{~Z98X781@@%a_I*bp`-Ksu?-P!N4=A3T}^d9ct zxO!e#^p*Kun|9S+jJ+4grO7x;<Wg?VoUr5HQZL>9`RT}oBYsAQ*YC^xc1=^~kyv4q zk-yh;1*65SOA@70HWx6w_xQL;ER4nAL33>Fv8l^$Z^(`;I(?(+*R_&erKcC4b9?Hy zd>?<Y*CUUEhm*MqG9(v%TE}4{d}+qb<DwoZ3(`#v9bRf;DAWJwwP%C>UIQ6EzAT5s zE1xY|qTaVBfOTtO-<&I_HQ!%b(e^&5dEQqe<|JLWhm20g*|$}!W&g;w-0a4ZIUQFL zSih_*pTu<e&}KbXcP**3=A`g5eUZDqu3lBs${Kw~=5xfwd3Jg3TYVb4pW9Z*ZP^*< zIqPDK_wJI!n0bDW|7LIbF!ko<Yf1AW*_5sO_$BPV9*KHcE^hRQ<Fp5dgbiQ4*Vlgb zKgJ);JJ!!S?shqK_mrt&f?p)x&(HgMKJ28~*`)IUAN>06>0Dbr-)~ojh(*BZ#(71R z>lZBlk^iXLd)mCK*B*+q@ZM1GdRSxsz+R+Ad&hqUU)PCC6{j>vvRSPced+snN4Q`4 z@51(A9S7#A&leoOwkK+<?V9zxy^qc<KD1Bf%91ORTeJN&mL#7kx?6Z5eQ&i)b<N(1 zZ~HVFp3HyxI!6BR?z>+98N59II9l%9Q(}EP@4|6)89uA<jEaOMV#;&MM2}l*MqD(y zyhEX>ct^tgK(ENyP&Sd|jJFN8FDL$VX1p0<zCJ1^&Hc0J2M3FIpWtpu?USG6^(7_V zUR!ehRA5o~I{ug|b@8*j%uk(iII;ZG(b$M}MTWQSwr)zb=IMX=y|40hkVmBWS>?X@ zbKNGk&Mw*Wpv?B=L<g5tiFZXunv5@edF_*_bfr<*X1g-O^R<>2j&(#79cRB$bwy`g zL?=hk<NZ}t#|(StB?Qjf%j%pk;rml2wsZF%naUilw4P$-##XsRYt24Cw(F7yZP~BQ zl=5?Sc_G7Own}b6^(Bd$a~1uK!Wh{Y4>B~>vL^g!kN$UVTYrGZiC)IjVvqZli=M3b z9Pg`ksxpS-@q`cDH8({cTD2eT&VRGJTROYr<kZ4VafM&jtw@xadM4#u_YryV#e2Ay zMc$ji^6-Ai%vXCqUfaj_@py-6Z*<_S?;*QBFHciewl1(r2-%*!GRsbBN9B8-0_*1$ zHd^10RfpzxO4UtGm!17$`hSL;&mxkJvAYZJ-#2|7xKt|d^va$kl}{#%E1oX0dc4#r zx;Wk9PnLM%<UTEhpHHqwx$(K4OyLks&S?&vdCu;;sbubzLj@MAJ<iW4<Fwu`Q#a*V z8mnJbNab;pnRocyl~zdWNOlHAtMFwu9+Zsxx25X`tAj;iv)3snHi_H6u51xkjf`Gk zan?4zd~FDC&$diQWsCQo3Og(FRC@&06b5we)nb#W3g#B5y2L$wn$PxYyQF!egSLlz zs7$gr#(2Ynr7B!o(0cFcC6@wICagB(a(^9k(R22P``*QcBHxXSI({*qtGD{K`N6ua z54<^+Uiss`!obyH+Krms?bmIyAOF6(rSD}zTWIihojreFb!lD`)A3h%(s;l=>e<o6 zze_C5OnUk++RN9(UN)W2_^P~)V|%RjZ!=d{X6Yp{UxVjm&;AkoQR+WK@DA@<@2LEl zo5JEE_zp6x?_By(_0P7m84Gk&3U)rW+q!V^tMAvYPxQ}vq<PUH%+Iejdy-^P$Xv5? zGkpH8zPxl>cE+=|%+yE`@w5k%YT1{@^aZR^@jdv-k$su=GycYTihF0f?z*yd=eu{$ zS)IMjd>jowy|ra{8~0aieNt}Nhgi3x=U5W=CDpEep3cr$w6E>uT$w($V-68tz8<yd z6m8T#)FbaRZ>nSJeXglF#&T{&hG9YJpKjSLnDf_Tt+LT2_0+I~ffx9e+g$p&^XU}x zB#sp`<`tQJId(ZvtjLc|=AV6U-i)GY9~Nv{`TK6|%e9-WFM2)h^Q)Ii`*A@tMxcuC z-_K<~CmwH6?XR1;EMRqmWapE4cmHkGcH@(_sp8L%N}O3ZFF@`|y;kL9$uO433t#`d zz{K=++Qg!pFDxXMYR$-PNeIbSzstHW@wngqsLE7k9=o5n`+Y8`sa-O-dFt!8r9C=* zn-VAJtCw@tw(1z|(GutpeSAg0`eMK7nbf-A6D%M2SFFrw>{KiXaLn`k6|(dyUt}ly z?Y+k3@6Af{9GGt{{A_c`^H(jes^X#q{xd&VPM=_JGW=ES;rEE)U#(`@Lq>MCS+^_F z*gq^kqv&=gC(im}vm|qm;I&zsa-I0sIUW_tb5jtItor`i-GD#%7;~=jj%AzvbS<8y zE^$1{NxqJo?Xmi;-Xrs8_mmtBO5kHt5n34@WW*la74zred|M9o%eUG}f}cJ~;XiUo zyeC(WBlU&hgt{#Zb)WN|o|l`;zj4{Ljug$iH~J1uvlI<I=TUG+&n~9=()8A3j@YUv z=}n$X3;5@Ts<=u&v~;U;e|m3Pz+|B}mIqXr587Qh+?KHR*!>f~gV?OUDXM3j<9PYH zE5RqWnTJPix$RMx*(dI*qy-hX-fdubrzz@LZx~=*a(AA?m!r~64WXMVCB7`koTRg{ zE%f!A=eOplrdmdNeeB6SFCWzz{fuFr-4r1it2V_6U%oD|?3`56IYoF+>v7w&UYDLU zeQ1&Wmvcq&Zs5MyRTU@yGe{)_%cLjVThJ=;{LAZr<7c8GMVdDVh%dDLH|3-GjH9s) z%nOdk{JQF1^f|w9lc~gkm%A2cuiuy%F17Rne|pNgb2quq2N(w}E|WR7FloUF0oFK+ z2Rz}nkL2Ylf)80$XGz^#$da{shnvTp%5UpC>y-ap6M7|;d%xXAH&wMKZ>jHTnGH7m zQ^HR~t?yX>)pJtx$tQE4`22YjEgy4zp})@LA6wKyh3sQ&Oh2xExW8Lpzh-URtpm}m z1*)|>!(J6sKH69OW9x5^nR_yJ$v1vgv67p1P%qWVVduef;Wqti>+0{s{(RA?pt9ny znWZVmgyx>7g$MpKNZpzjo@sVdK4SAO`>>kekN+-v{wQAl`WExy$`$wP-s;A-ePRA_ zd&k$~RX=YB|6OLM?#VJCIyO4GGdSBw{p`={N4t%*J4H4oUYJy|dSaH*>YC#PrX@u? zjz&c_9hHy&WB23oBkkNES??p}?@LbH_EGrL<M}w_tLZQ9hkMiBM_+h&%~V3{<TL3O zuksY(1If3q?U&qRxa#JuS9YbhrUyAPl(JvHwcp_%PmTMwS+8{MzP(l4Fq28Mcxp_& zSmpVrF%fUL`uDPw1g~1szgjFbhlRn)%;SywwK>iUb(@avJR!M!alF;EZsFVWdK?0R zH*2of|Iz$d*Z<J1n*K%ZIz1g}nStJmw7%Y{4xh0#llP=tuSqA*#ziM3%M_-ZKgWLg z-qKy!wf6G2u4^W#SvPwWHpb7A`p<CWKZCTl$*eU|+oE26&yxu2xB2q=$Ms1+mLJ`9 zZq@p~E7!-~Kd-K*GI3ku3%2Zw|IV%~T{&e*|HZTM-#UM|E{MIKSspcK^1VnqIgg25 zW>v|3b&K}eRLnlierV<6m8Bd?ms5LA?JNybC_8AW@@&7T?pM>+C8@s8{EV;nAKT@d ze{8x`Uu*V4H_4=Jypv)+&uf;oSa&jYmbS5a$Y0+1-?se-W!nEs^vuH|Mkl^Uw#M({ zq#xzq`p<CGyeQ`A!)S{yGiI8(Jl*a&`N}V@A4`{~F~&<Acr-)i`DXd5m&+S^%CAh1 z_>%p;W1sOAb>sNg!e_N7d2@0+x#s(yq5F@2y<pepuz4=B%9YXS@^7At9y4i|kaacK zS2%Cq*6mjlZ_Lj+H%+(f7fY~o)8T2B$L+2ve01BX=su~)>B*|iLgKau)`b_o4q{h- zU$Xp-(%eg|#xL_*_6wKp=XqVGzno>K;!n^23|DjW_Y}T=eQSR}iS-N9yGFJ_w|V#E zsYYvXe)%T)qjq`B9=?5nij0!adH*xKTEC@^r>3&~@Q+KT7ou)@2nty}|KagIE-bly zQrsoAixYow?s8SU*nWoN<t)cG%fuagJ08tU*O+zbc0enWW3ku=MoF%_hCVwdo%gx? z&Q#XB=vMTxREwt_vOCr*3GbcgKH=ZRUF$YJeBXS1`z@bE*B(WRI<p^XGb%V({pEf9 z)K7QMsx0z+Rz2UC*=X+D?UoE1pEK?Ce%yXc`aeVGK7-wRBIntPUC=3;uz1_Cz$=?R zHqZL7d^hv^xpN+?@5_F<VMd%s<fJFHhkqOVxb^IOeE*>|Q*T|@n@d&qy^LeK_%gm` zht^we^Hat@9xu!O^!!`($M!ZG?MEHYuWz|_MPDUh+GX+EGCEbe`PQ&6t?PYhXY*ly zm+AG3CDlhKeX0HP(5-s@>;=EBclYnnx|tJhcx{b_g7D9I9?w;GFyGs=_~?Gg8s>+y zSFWA+Re#;v%Q_oAaf&|Qzh(W=?tJ!)_5-()OuwzIGf3MuH8R2PcZY55>d#@1gLfF6 zI9GH@$W!H=ebmcC50+Yd_Ut|Jcg}}%`xjMg_v#P1^ln<cnQ3k3LEn3eZ|&k;qOG+u z_HOa@zOO$;Km2ESq__H^Y|!oC%S($UOpszL5^XU3Qn&ec_>XH&X&d{r9gCKjIh+ir zV7|3+Wy^}CDeF3e>|Pjd5)EY$msELj<)lc5_wGq+`vgjluY4WP{v-d}uItKI`v0hW zluXio>MY~IaHqcW{L+lq^S6mD%v9WZ(PYLw=BC(l9ErakZLFx;zFpJH{q}-)IXoY# z<evt;EjzUC&US_84C&YQ@m{vi(HHa*^Y!-<I=tVgk|povzjN7d<(YoWsQAy|`0wV% zjoI0SO|j=VgN%%{rLHXHO<NOrL2+W}BnLMCz{?+2iYBLrDhoAu<omDnSg}^moc9Eu zt>v1v$?+FV{B=#aPb6gu7%AkQyJ=z5^Ep^d+(b!J`;ow!)03RbmDh_JDV<<l^)*e; z@|g9kPrKju{Ab{QG)L*xgx!ZHl+7`k_(%QT&fE33)F0NKn6lerl5*~0=H|X7QdeEK zE)sl~eQLrSx%+-!K7~AHXxMwUlDGZXedgGVaI33lABJqRQEHIRv@N{1*V*mLo2|P! zwo02!Oqd$xpd#(b``z7c>(t-9F}t_MOcUap!+ey(WAgKW6lMk{%U{>0)VTfV%zgNJ z`i5d5f2N{U2R2Ou75>UzKQ6DXh(B`u)@rdUx$kB?Oe<4UVq*;as~zgQwP5EjwKbpg zuEj8)c)Y)GmZ7%L?FyOV<Bzl--KfvDHUB5LGpWr|>Du9k43fRm=M_~+z1=7B@4~e> z%PTrxe9QPZo(S#U(`UG+g!#HD-<;ii&o5`}P-*^b=A7~|Xfcy<zzU;Po93{~&-Ik6 zu=wfuq*hxlB}hg0^5y+&8NV|*o|LKo^^!f{#)HzOEDUvdwa3*~Jyr`i*uBtFyZOr! z=?&FSKF{i9tK{)|%x<@3;h&rC({9f^cCkM{i{+-$&!b1Omi}a94{nZ={5bvb+3AOJ z<Gn8GetCN3t7h|_2Ms|g$4^gvR~$F}@qJO}2lA}1?x{_BXQB6adm)opyurrDPh+0U z`}*T*{hC)&bI%@Iz3Se{@)fa$m1z_H+)!6wyut7F{@_E)zb|wAEx+GC+<$9Lw$$m! zihDP8{$00LiF3*g^(mZp@9Q@nqnmf44^}3d&(Ah$>hF*G<FO@WvhQwVkI1HJC+rWg z6~?cNXN`Ik-(n}Vcc;AVnaBe#7+$`QcwBHwEMv!(s_InPF4=Q_(tS;9v^NztImpcU zy6VDCp}O~zex6XaG}ZR(_`Z+LQh_IY-szo*DW!L2Z+kwu|Kk!N!S54#KJh09wi&HD z#`)k0gVm+>hfCtzojBe*38$QTI#DI;)V8V;mNJvCGY_UQEA%jEiEz$XTzOUc$A5-a zhp(28_N9Hi{#H2u;d^24hjSGbCg#p?OFz#$XL55B=US2I8#TwTa4K_LKl8J|Lhj0Y z6Vca=SNgqv{&xGja1Ud_2Ip0GW>?<sl$g^q`AYJJ)w{O8RsB%zvCnMct3|)_F3IWd zZoaO5rTU7+$;`xJxo;{5xt6mSu+(Px+cMr_yT(4j@@!3D_3yNbqWee6vvU`nG@HU` zc<KzZ@QufNYgIoSe#ATf$bHWL42R;EM4Ze_*0~q{-tK4NmHCb@L#=|k{5+PN_vD?x z{$=HrRS!?~9$vWSY3a{^r`ws_>b4q8$kVb^zP~o*hPY_|nNzE$SxTq~z729avVq~r z<ObVUopacKhAi{6l({l{#*Ux+^0p}KtWCLfM3KL5hk92@a?+c7{Kfx70}N%J+h2d} zchcf~OnU#*ugfxGc-DSe`TVtims7#(lP@FBDy`N?-r8rK-c*})V5af!J?oRtGGz3; z37o*^seDB${e(Ez54&ZnnU8rW&FNXrAa~V>>9)Wpetj0khT>zjzMk(-p7&ZSo#>#z zc9O?_t+r2@oOR)?CEUtWQ|m&K?Jq6o<3D}jSEy)>x3uQdKL7s=aZA#;1e&)OD*Sp9 zz`FUI*{AADt0pRjJm7PG9H1@t*EaK{ntM!t6vG@lhT!A-gM-)~bTZ_8oHvzy=6T*L zbtX(6(tY8V8g#Yg8fvyGHEw_R*7C8e)`paW6Xws@XYZ$#d*(pRo_Y7S>M|;5Fy8(A zc)87$<4?;%6?%9c)JHX!v`ni>>0!LTzG|x5#fFOGj<4SbvE1~V^k?IDyRUj5iY(Z- z%dZWS`6k`?{?Dq?(>xQ{_wQx!3g_eE(L7iCZ>vI*gdB%$ZTnUy&g16}&s%=`)-oQp z0Ga+MhJwdA*_S7=`YdF;-B&#MePBUd0iR*3e81Wp2`0zmr*H4|PKbP*ubjtkvAiKf zwqeefRR^1Twlhoqd37Wwbi3w3cBNTNsr80l&2!s#9FMBdTV7Wb>G6F1Hmx0}QW{VG z%_=ku<+)$-pTRzBb)!;)fJKmZ>GPh;SB%w9*lgnCt6VWb=2H=`huQNotB==BVmO)2 z?DCqI`YmCeeEa%VCk|%jg)2D&7Ivxxp7HK9NiP;~W9EPA=U2R2`AV?4;Aitw_UEIf znVoy4&QkULSMW2Hsg~9i2PMx&1oZYjs1uEUre}Ci)^^pQZ6Sqi@0}(HX~ayhh<_T~ z60oq{@2b#*x(|<*v3BU}2(@JmF!9>>M7WRP{Nr28KAlvUe0{B{)!Xy(QL(R#d;Y}) z7FBvWB}}k5?iChf{n%voj>n(BEe$*Qd~eW%q7L!Cy_(+UVQ;<fH_xhLw6LkZDr6uO zu`bhp!2#Qket{Q~`;N_9=%46ouz~q=UfO}T=c8tN-hMkPe`?RW=NB$tvul_9zG^40 zkoH^aoyQ7{!$kZ1ZJsR%J<tAmWpGbViR7vs-K!PUpUTKzTGPoixo_@jTh1p}R-d?Y zXuiRkSmVOaB?}{KtG<Z(%qiY&x7?($uXuaG<GnJ6p6YHqUsV>m@$Ib@oqX@7FMRD6 zF8Q?KcvQ{7Q!(Me=jypCPo7^IETn0dw1A=XsD+O>!}nFsM7t9!o?JZt_}c292a5Qk zDyJ4yJ}LB{q2t59yvmR1!3SGI&mA(FONBHoB-!_6-qG<gPkA=0$kx~=X<=F0xyrL@ z;fjTqX0-n7kIOvs_PgVOW$&I(oM-HN!XjNlgyC7)-3w2O|M_xjo>!P=6D;xjqvzft z|KdyCjT%!A9*?=~bDUlF*YA+j-Ipa+s=7=5XRusap!#`(TXk3Z{BsXaygce~CtY3r zMhI`?L5rnlg4`PBq~uvVS}63G$2!zp)j{&4vdKk#_8o7%9-fN(?BVCn-qn3x^1<hj zS%LFsO!WP1a6ry(OU$JAGyDpQ-(<F>u|Inm66IR_y{%TWE$~9n&P;Ksycsr^eRf(X zOTG??E43;Awk(g?;&iRQeN@}A7^8G$yRUq27vK51YF|qFv%tPPmwon34Zb$vlCBv0 z{7VZ|guEWx6lk%{mI$}tzVhp`%@y^cIc?8vHMEZO9C>c*>Z+Xn>{#Kw#X6h^U;CzO zED`=ub!o?umvgT0)#c8czy7gD#I!?PjdwIut}whe-SNC3vsd}as_mzJ?{Jkq`F8wu zz~&7WsmJcwZ4ng;n>gc1LINMdTVEC7w_ObzwGS$kuJD?-dv`!!a^)RP`KX?KAt{Bw z{;4hGoxI&9z2{2mMh7v8-#qD(w#9*)KLmCtExyNh?RE3zdyDQEp16De;{tZs*4+<6 zbndXK&%5&I&%Ub<im&j@&$(LDrr4f*{Muy3=<;=0yOrA{S60eQ?sLnMJsR0p{5ko< zk{LXCZqg0=Pc2XplD8>&w5-fh(a)$tZqb6|(>o8n%lXeRCwPb8hTPN52j2#oeXCtp zHpxR`wN8c1=ZWW6d|4s=o;`+Xxq^I@Ubtq!&QzI{XA`eKd%|aZ<?YE+>+9-&U1jO= zWS5XUYY?bV*ksOAC3r!8t;?Ig5$~T*zPD!T0gKl@B@v&5r#-m*Ot{ly1y}jsJM-G- zADeOT+*6+~ufxq6>_X39Tm4pn_wdAfD-AYAKht35pT6+xud8JahglxW-3k3yd9QBf zqtzCw|LQ#c@-K}_(m0vNVEvz=fB7~|<sLo1I}^`FrG}lzkAE6yw9RYzsl5i(S7TVG zJu>&7l5<Pj%9Hbn%<uZBd8uj!R*e^`9^YH#VH90((B^_#*Cf9qleed{?<)>m@~QE= zOA60_hF`BTMGDqfDl5xPjZk=g<>M?4W@F>F3CY*lS*|8Itvk2m^L4dl3Jk?3-uh}W zNF4JkDm<~;gR4<mQqtmez(!eqd&hZNrxnY7x^eu?vXQ;<f`7TlfpxDKat~YnwVNtf zZo|j$^>x?`&z)TYv)w98<D9&jBHo=i`RyIAUV;=S@4V+9mn+K~7|S%=JpN^2h^COn zgC>TTKQ147EZu(UxNPP!7GKS@q(635$^GXhY^a~!%D!{yE$NEm#r;{C0W)~7Twv~0 zXz)M9X7z82rhMnid2Net9Q|IvXuJE$Vl96O_N@$BJ8hWk;+@_7_i;U+pVgcEbH)b) z12+5fCfD`q(w;ZibG0?hvt7c#_UXXq7w%g%BmNca_Ip!QYrAs6pV`-&_I&*FvRR9z zYvFdDo-Za1voj9_uru$^KQ^_T=ShkERMSY$8^_n1h}q-^g<mP0wd8=!1|#>o$1Gp@ zDoij)3EZN2{HepID^Jp8{VI=Nn)@mDp2JD|_MfKVOhS9!fBCY6>r#=MchU08ufvSr zZV;ZppTBY$>lEWfCz9E1)(8H)aG>Qw;hcF}g@s>Ee0itNG^2<0_?fkL{yxg=X?ZYB z&+~a-w<lxFd-lx7vL1^oZ*CF(T>LY5CYM}z;hST#0>0bNHBoC{GqYc|y{gk|UPv3u zW0AKronQVFl{jYi;)Lb-`lU=yB_&mt2qhRE_+u@l+N*TV<KzqWstKtfnkP@%%vyJ3 z!U|7T<4IOm)npc#q<T%s*;Zij^8Kuq=E?ij*E4*zTehanx@+QzW46cFYQMeFwffGJ z{@~Dpry4@HIc*-4y{UcKP;Q&`?0BfEhsFCF|3pq4_?cRGMW(-s<)X*a$rVATmW#Z& z^B}dr^91`GzN?xH0&EWUm!>SvKQD1y{%;kFgY3TiDNWXsv>e_PH}-w$Tf^y-BLDfU z)@r`T@@p9^Biwf$E;`IoeW~pL|AYhIzbsq9_eOSVS<i}hnQMMphcMpw&(O=@y=PTh z@@JX;rCKb#T}<ZsI<|ka*mRW62U!bxtk{>*_tP%T`1VqUh@TB*cPGxDzFlOc0{2dL z%i|kY?5mxrpz-qhhWFk(d$N4GI4yp*J35FN{Yeq~Qx#NrdD8NgrW_Wk%;~bnow5R_ zS&Ofb6k#+xX1npy^mAILHrby(8GD!UsMF8eyBu!U?y&r}>}kQ0mFzuiuk5zmV!AX< zhl%$%vuf?j{Uw`Lo{*XMV@0#U#IluKjwb`}lq@^^e3Q)$?TOP^YR||mf9)VFKU;SK z$KTBIqWRiFRc}{JjBrctZF_WkQ|+tRGs{^LuRNN-si<QY*L-a<k8&vY_4`Zpt|>6y zUuv9e7UU$c@|cxWx#}Xz+!Mii9L#gBrUg&EWx(;u`s%YM(+-|^yk6vvXze7X`~Ch) zmArh;ah!S=c+|pc@w=6eR~%zl`N{Fqm0a7?JQr52@_T%J``V}km-vMeCzc!kSy1Fx zslGtuy6@V9r%I1kMT+z9vftU)HiIwx+#8v<$}A<y*QU&2s@2+d_VjV*%W_**POz)# zkNLLzRJg$>=I=ID^3VNrR`zVSU8Q=XuITuB$G3i#6KWPO<I~#ddd7BXqS9g+nc{bu zhr&{C)Wv*zJulOL_J&2vPv70~{=LVEmPHc`_N08MH}sz3(v(_u?DGEIwbnsf4|GU| zZU~mCdcI@D)S9iTfs+eWnBTwmiMZg_z%#G-Rb~Wt)~o1ePvccPEKbT=EZ5nWcGL1n zfi+jF^RXkV9-c2g$G%}Tr*tmIk=!>Dk0n=RtV{A?3fOL8Q+;J#BICBFmB&SeB^LV6 zNZn-MctSMxX3Vq`CoNa<CEYr4XVt$gZ|_W%;rBXwCqgJ>{{{>77a4j>*+jNI-co#O zeo%(!Sv&Xm!y=DPtTN#GbyZ}-0<OC6&i&7W@`IwwL;q%SOg$_rl>F4z@V-d*oPwR~ zKd+`4>+~&h;+b#tEBD(`Eswtc492w=e_i(B=2hT-<~fJeUVneG*V#s~f17$5L${|C zS)5n6EIIW6?>VdVAGNO?BrWbp>AbakAjkh8ThC+e(kY_s1<cFuu2ovOM<L%}*VljV ztoy49+Mlpn)_k%3c;{-d(8ZJfnf!B~9+kFUaFQWK_|D|F0kL}~o@wr5E2unw;d;7C zn$H3ydjr8^jtNy?)>uArnirq?fG2FiM0M$s$eU6D?$bO&<9@!KwN$Z^BVRYjRpR8A zFYEfE{WZ<bwad<s+d9=mdPZgT&b{Zfmzf!794&ejevXYnrTNy16Gu0l*~vbye#TnP ziTwIo`+fNQMSYGiiAmn8ka<!Uy2v<VRVr_TC-;Rbx>^$?`rKt?>P&6AD!Ij;owIuI zZ1c7gDq5b;f7EKb^qdYlw^AbQv_KV~=l4~*M&c*acq)JPOMVem<dI>#e)-yh34e}8 ztd?7nJk{ia5NGJI%Zi@tD;|q1a^8|>z3scG(4&BZ{4?0u%k!77Rb-gZXz{|~?YpdZ zET@hzZh5cp&GM|V)_G+siKXiA-kpE$xy|uApV=pNuZ^;scCXs>@V3hK_%j#JusGg+ z7JMPu=F+<F596EX^rU}X?U}C9;u09JouO2wT>V~i)`{hkUk-ijO4>MGW=5h?Vp)%w z{mhm83_?HdRDWT99Tpp##N~Kn`H%MXYh5-Pt&7h5#%{kf_QJ6~KjZ%l*Oz<k=sy$S zc!!hs1+R@8gN`Rxg|yq_d3UNpHXM`Yo&4|8yk|26JD2D@b=J6he=+mRx4|w#1~Kal z|2Qr06Z&NKRlE69-;scCXEu5@a^}^=JeYGqTiDfnQo{+);Fs6d-foZ4sGl-tz0Bja zZqsyrmv3}xNZ@n)X1ZvCN!FS*+<nG<3~Qbzd(4_uvrettU0p?h<AB7veV5(|t@)JB zAYgdRe{a#ZkJcKe7d2EW6lJ?`3YuAq@xE<fUt1X3`_0tn#o|4^fA-kL^v!%3cCXHS zz1q$jW{w+Y?)ds;^;(rC$IoxyPcS}OY%%pr_SPd6Av~2|V~T^M+a~U`FGy}|{Lk=u zO>$AOGE>2hbAB1=)?Pwo8&2FlslH+5Q;n;=N7kKeYI)A(Z{KUG_F2GCLb-uG@l{sy zoyESAJj^)<We+abc{%ODBz6`#O^e0?5r#>(9bUe7D1CV4<BeHsd5<03J7wcB2KJuc zmqqU?-*_PQ`peQ&tnUppPMa~!DZZ>WCB5)8<GeecvKnTbSS67neE!;!%$>P^=H0vM z5E<b3S)}yAZ>jY6kvk9GGIGy9aD`K+GWJNro#NZCy=7*GMT)S7{XX!t<5y4)tKJb& z2TuEI(`S5A{n^YTu(y4!<1^Vc<sz=n)%!H1d{=NKwEuHk_P}<cQ^z8fg)gkWd^NeS zj_-=3Ldx$Duiti|kGm#1$%q9>*8aM>Kyqhs^Eo$HWuA5CD&Gh3u8Nkh`}=cQagWA- zhSywMv;|s?Y*sAb*Ool_<k^gJ+1q{$53YRLk`&bCTxKflHY1gt;bK9V;GZ*z6Gci- zeLbt@XSv*iUwXFkGQ+Oqh9%;;J04WYuQg&(*!Wn2S*1*5^{L%?Pm=qivgXfDc=4G1 zKf`t3ySty92(maD<&<<HMD}j+!7s}ma@RaCV`txMdhX83gUTEJB`pq1<C$si6Ra?E zsg9`s$@B49oe^daclRBsw@Ti~7+LqN`pdFC&t;~v&vRJ7S@YbXlDBVdpRa?eR&Dr> ze_JExKM7jSwAy-trNy7jC2HOKsus1p;#6ne>ZI1N?Mct$b+Wsz`D|w`a*JvHW9u58 zxwMSYX-=8?#3+pkIX34Ne>w*KS*^Q_p^>qo(Prv#y9Lj$&H8ZXWM|X^Ek3iyYx#Os zNcYUUx+F=PSLf39b0Wtqk5#g74V(B(v75=La8l*+2}OZdJzh^fmT9*0ly!j>&lAD7 zp^3ejs@)RG%j>@Mntama-P&BL@a5aGrh6HmV>)g;5HM~I{26qNqsuiR;=!za0qRT% zaxWX@_3qxkyXwRy<)2M~2Ffx`(jseiCjCr$zK-+utlmGD+m$6O&c~#+3LBlDW67_` z!<H4YKPmJMqmW+tlP443MlP^Pow(_SjqsJOuF#5yZY->K52(+n?y_{aDt=z=&FQUr zY@Rkuc3b&xGc`+VYFG&r&tICp@48LF8UyhaBG;q?or<^1-B`8ZXZOpx<4+zIzn`Re zcEv{C>8cjYwy*U(zU7DBit{m0o)(qUkax>7f!%iJLPfK9^Hu%33-7S8U7YOmyJQW^ zL{W~n4Kg)1znaeDI=Y>4Du3O71}~2%Itw?1avu1$>Z$sS-QQj^PE60Z()?*v@%&<M z(N7%H!Vhp2ZmF90Y_rQIfqil3mOo3pwjeUf)BStITLr$aHLYr;yoEAF5}kHwjEDN; zzDiE>l+QW9aQx|4`KafowiNBDK4ta6uhP_D;t8%hZ!OQ)T-l*`=eEuyW<i!+a|FUg z;~vhFsq~!WE`9Q#-BhOgZimlKw#)iB@6f_|g^k)fRlYDUu<vzOXt-<RIPcL7?RA`7 zcQ*WINLwC#BRS+?>SxOvcP7r8bIoVcG_A8=o?Kd4ROf#C;JJs#ABHS)PTTD-HDQhM z>+|_l6TBHMxo5OHXftOpmn1WMRr$U`bk9uHnNL_H7!3T`W_NMVjjVAOI<hZnVbT$^ zM~*MAtzB|J@2TX=OFOfpyBmHu?=R2WxpsHvo3%3>P0tv5-I+S|+x!Dkrvi1QK2<8E z3JNyto?H8Bv;C}IgPwoP%O5&<N;~VGG15KgC$W&_pJ<$C<ibf6OEjV-B%a7ebw`vb zYi&BZOQ7h^J9U<7fo!=_ofj<$nm_wjd|k_#(iFR|>fMa~Sq_D}KdhSU)8?-%y{)Hr z&&T(nVlF)=pLtid&)(v6TzbYQ+t<x|f3!dNkv{2G^z=y?(mX5L|IB)2+U<JfLs-6= z1Y;#*@HB=JwtXenx8`$2z1o;{EzqM=QpqXCAbH+l(Ip-iUe&}u){dSnefo5^`Hl?} z3zDZKTt6E1ZE3dZl}$HXzm*hEXkQ@LwEMnnjpy{>ozu=8+<$Sx{N(1_T_1L@em3*e zSB7g>60SYk@N!+mws((KcHS^dJQ_an#urhx&-ZqDdF)m>F!$7svksS-`=c74q=yFo zvDGpvDzd)7a`c4BhX;MG!RPm~d_EfG5SeMaa`t|yZkxXrOLW+y61@EUGM9Folzq8- z<&s~QGB{K6XO?|Au<Qe0^_7%wD;Xpn^#!N~Rn3Z@dhWWU$ejjF_c)EGOqW(L<l5`M z4huaXtF>tE;=asshCNqq#2jmi*^;in{B_|wpZSLvzpeStU|P3T+9O<rFEb+M=%q7! z;a$o0)}7DyXRT4myYgmIQKbpr)5+RRA~N%%w&s>7Pso>4`C>Y^@2is9BQE8%#(9?? z-tYWg<-6+U&bu=1Pc5HteS6PWlefL=uEGw5pL_J4o|Js&Tazog=hR`t$Fe7mWfxuh z<ejk5bW=~gpiO_(xiB^N`$aXro2-hn4DM(~v`I9vpY5CaXrI!L?<-cV-8WC{aaqkl zjW<=v_x6>|`hLb<d&BvK3j8%CtN0S0>^a!^%0KGpk;&!JAM+Nky;r;HlL8+HL*c=7 zRcSL1nK1^xKXH7mORU7ZySww9JuYcV#(lYPN$=)e9dSWlmAa&rPkqb3-?PX*Yi3>T zA;zzgF!`XuukdLzITZNrTv-<I`g7=}iA(DZGP&NJ+Flr<9MUuQaE097e_Qz;tDo9) znWx9?@llV{ZPMil-P?@rOp`Bvk+q`ls$W{q#<$H~z6Tn+oXTt8&D+8#(P!Ak<@wzv zXamdh*7I3zj~D*wWj$UzD}!z7-Tw^N7A|6~T&|rw%eZIb`!Lrd0gLxBEbf13xg=8L zoqF%$&nrGpJowt-O6LjXwHBi1ZM9^NOW3YRo?v{dshe?AB||N%g0e+&PYA>Jr3&*H z51KG0>lpXB$1inMba;9})NaA$DXlX9?7j*X++302IqAK`qbZg$%w20zjz9E}cx<`E zD6Ib5ek+#4((cbg4<0;g!eAjXOITNO1BZR*idm1dem&mm`bJANjlIF}orXu#WjlXc z>i}tc^QB?3c3G2E^kupdJooQh@|ofLvb;k%5Bm0fS@p2$`zjCi>AG|0R9$LUmQ-8( z)Bnu=sfrBqmxgwA{=fd%pkbYd#B-JJ3%fmKW?HMrtdwc?+!`@Odv|)W$Kq#N{Y}<o z>*rhFOt1U$Ii>dOg^zuilg%#ft*c)zvEsW%;ofNW3m1e>PcQ1(@K}8gvm^674|BGb zcd4?5pZ=+>;fy}(qjAj0@$0G%uERPp!n-YHg4VID+GHp4)z;9_TxZ{pMh4!qC+r^v zo>WM<y;H{^vvrQ|g#Qd0?DMl23x&>g^+-%`E<L_tfuGB~{Hc6ONnHF>>iHl0WlqUG ze=qeUL)z+h4M%R@PMWu*hcVK8*Oo9t=@rkVm0vvHY8NJM9+4J$^Xjo8tA8e|&ZHQ+ zcpH5^TA8-^qw}F}QN4S@Keyal+SBl7ulD5p-hDE{5>fGAl8(Qdz|9|Xwc701%r90a z8l|qh%WnR+vG9BN#<NC&I_r}90*o8X`8?K7R{HUDX@sZU&9r&8#}jxb*)6}cr2X5B zZH=e@PFLS-=gGA6;`C%!<yTiG1uOKP6x@D_&*H@2EI0Rn;_r>`>Z3m9@;?r5Dvg%5 zKI`<rvD8p;aa{HHFYEm;ea$ud$osaZVTDclvlDA#uf4GB4OZ&cHK@6C-|+aU)nC7^ zPJZKS7*fgkD?w_p?kT^XRnMH<9FE<Q_o`4hxXUSE0mJ%_{A=}+yxlBYjM#r(bDrRM z?1JVqi#U@9)8d1VY0bJb<4TUx>7Kf}s~YMFw>bYzxvceM;@owc>{X*V-)OFt@>p-P zxO~!2W{VY9`@UrwZsD^(Hdo}eOs-a=;_O!TWwkH+gDO%Jg{>c?&*5tbI>oK@CdotD z-Yfmx%}GX$k?rbRm8^DG`YHtNWncf;(dNj}MYrnW=8AmCTq&i)<}v-WP}R1G;HZSy zfcZ0i{SFR%ShzE~;@iuB8*08=mmW!w?LV04(YoZ$%*WR5Kc4l^Z;e?s|KV|w2kVRv zJ&_Sr{~7F)`O3~;OD$E0!*9lm%%UA<s=fN1XZ1JKCGc<4vbWMMk>8ng^Jj+wgI1Ty zJ-3kJS=C}8X?_x1XSVO}`WCh=;@;K1g6L-_zKSmMny_N|If;YC2N!UrhN@^=x+d_S z+TE+{zLDwYvw*vHF-ddQTx>`v;N!4-^7z)GUJ12_4NJZxH-BB&s267*BqQX;pxl-A zyWzKl;z8bq1?h5Mt_A(L{aI_C=Q``-a*A6oZt33Za8B9a(5Z#zS$|j0I`zGbnf-XY z@EaT9g7>wlZBsrlr(XHh7;pH;<Hy6yM{{K|&Ax3~^GRsE;)HbpeMZ*TZI}IMcfMNc zc6E<um0tP;Rt?7+{2SD});{j%eevtfhAb-~#c75o+#dI5y<hHRIBD0FnQ~0cr`)>B zj-7lg>y|b5=$d0j4YJGkR+)Z%dbY>Oa&54DxeC`)^(!XN`wh>Ww5xmIv*P=?>`Tvc zU!^=L6n5SGlxfwvkaxkCyYA0odOyK?bLn}OOJ=<qUEcG*793-=-Zke}=(4n%4VH@; zYL>5GntSV()1^1()!EfIm|p&|@9?2(zWJ$3G^Z7EZP~<js{NS9*`P^L9G^GsT)aGL zV&7HvohFCE?V}`kZAzBj;eY5DR4J=z_Pq7AQ-WcizsQ;AO_@(*ihWa8bMwA1bhli3 zTx7SO@vWtu3&Kv`zBlE!RMy}3UO|RIDo0M5@bP6b9Q<{07V`{8Kj~dTAs1KMb6Ev= zN*pV=xqP9@FDXf{IZ{P^MH!k#Zv-~ay>a5}%Cv~bJyR|7y>i4S-CoUc&iw29S*ul+ zOgi$}(e3RPK^3Rk0|IsLtL}9lDZ6$-y0p1^@|Ej6>dLKZYa$oyn4|Z%)z8zEhd-qM zk?z?i-06BVbCNq9a`><OzUH>EI(yX}?rsY)5iYh1hSBji%_h7EynFLJx2K}w;r=5@ zd#+i=-SUi_|4gsAZ+@%m`wh}nsS9TZOjVU;;+gY>`P$m}?1CecZ#YV=n!|g1(v3A? zJNE6HdUnq-V+Dpu7035wE!k)iIK%Va>0eh>*lJd&Xgx^z9iqx!ceR>l&X;eptM=cT zA*1>DPFN?SWMkL6TV=l<%{sN1Yq`=I+c!_kv}<-8)7ruM>jE=pT<?!yuMMI*GnaBt zWnB_t_vNKYWwK6d^IKcT1w10`D_0BlPq$byO{{l=pFxGl0f}PIM*Fk3XKiWp{5d~= zZ_r7Zd0TaIn<odbE^H_|GWGc5Foiz1(3Cj;=OKU2d^;Q2_AKJW4TB6Rt7=}ST%(Yw z@x@P4<afF6t-62se$TD*jiw)0-Z~M<R<1NDv{CfIYVDoRwz^NxV>Xbv7MieR*2G2W zSEBwiyp?|BFZol@ao<gaB(tB1`@V*6_4Q-;)%)(7kipb$Jx28l*ZV5G<E_fpiay;E zc;dsv-`ir^<yykmyxuRo?(5WA!#A!gcsK(ugv(?c<DSNK;-bf|>4*L^h?Q__TkA5N z;oPbgtlW4#uk!dh?VBa~B8OMq_ODFeut9tGS>*z`hVZ95uj=cVvhFzbTwdGlF5~yN zai<^rXXwa$c;j;5w5L(G+&NA~7v6n8>+#B#cI~HkE*aVVXDAo&I50KYfTzH?=T}wm zVhi8bC+u#lpFaEXz3D4oS+9AnX>%i#fz^TG_0jTQ`A7D0|298yWvg5Ero+#A{qD?v z8N)Ya+KZ*eH;vnLsxC`CvtYY)s(JGH`lUr?|8y@!n&tm?WS{1?F7Ne`ZQrH76x`bO zHB~ia$9dU`mF4;~zH-MpSuV<a#I<pG(AC_K;{sFWp18|lTQ~Ljt+I_QVaA8}UM?*< zAm<SGpW$!S>SaGpJ5Khv`*%^V<&IRA+6#=w?3em2T~=l7Ew$<FgtF&PU-^1IV`AXl zB3H}*I6`x6rVC?!v9zIb-*WX!TcT2?OT=vd?(rfkX4ai0r-QsXPy2P9VlO)yFt5B) z?Ap1AM>|4PD*Hr|@9kVKdQvAUXZl1pwNK~11>82veZjsi`-#6qP4xba*WI=jXRT9W z7JGBsh+V>BZAQ>s|5jm5340lvLaDfuOQSqhwy!9<z5lAZ`ke3UC+TgKb@Qw_Hhtv@ zyQvo{9v=(-vHOU*)$vKwE}p++s`B{utk2J;HqX<3`Qq}Hpp2(e&PuO-sh4JKspP}p zp~BpCy3(h2dQtJ6Nm*tmRpxzVun9Y+=W<xO@10w{R|d1XO;t$D^S&vMKh2ppHRJ52 z05(2*tJc}eEfyEru56!|*)hTVq2u=zjSSD0oG@Xu3FbJdv-{v<QR$sI)g>!7RW*C~ zGUz?9F!^v*;8%e0mxT(t=_U__w(kvJ8Q3ARhUKMnapRoO6YKt+yFKO8Ru`eeYu(QF z{mppF?3TURSd#1M$#b<@`Ucxs=4H)Ln=5H4^H@|@Wadil1(Hc+&F9xvvA30Yzm0n# ztELpOKJM`AxKiOqsZ;x$=3HM<k$*g@wYgFtW_Ey^#Hz-LZzHbm-FrFW#8>bC3=%({ zAF@*2)|y|g65zKqP9f5H;_KIOe?P?W%fx5sKbo5+vGAg9rMcgo50wXOCRkrT9`NIA zsc+h?{|rYyovh4HIexlFfLZg6$Jejx*4=;fzT?UETt<~i_q`_0(BUZBVQaBoU9fe^ z)Jb<<EjRwkeR!Vgr9B=gv%My1zFp`zQ{ZdX>pLz=r#9TXVX?m7jwP#3=gKYZ&`ko7 z4sP5FgC5)ZudQu(kuqho{^>VWvp&AM{A9l7Wx+QFw~cp8n0#`I;S6~o;1K_BuiMds zcg}Plcc?U#(5bHoXs{B#v`%N?(}LsWr~DmnE%DznMLmJ@vW@W96_Rrn7tZ$yGVDB& za+>+&fnTB9SeDeh*jrTb>q_G6=RKN1oGkMyMLuu0-c`kv`Ks`H^{2Y6HV2ees^?|= z<h!u`!jtE>CKu=3i;&AQ&6s(CaZ6K?e^t2R<c+G%8vhxpO(jb?qFhfE`&LeA@^i3X znw%A<aQV%<r<ePM-4;IPZQLR6A6527d#06p$NTkLE!U{^DotWLBzQe@-Okj*KRv%s znN<0&^s{=?Kh>9)e>@M#ElSzc#jYh6BwAp5)Or1%%1x7x96Rq=v2<g1`3(Q>yOXbk zZPl>Li&z-*E9reu(;?-;vfnQ0e8!heZd?D(Ui>UlAbCRVv;1RwgkC>tZ{6eju+x6) zx}%G4J=mO_kW+d*=K6%!_FL^{KfJNvf{kp#t|mABnZ;HUdw$8aO|=r9bTLa^`HhC@ z?%iwC-xN8m7GZBY`P}y7rCm+I=T4o7Se^3a=f15Uo;TNLhHjo8P+RY39{9><&0-6K zhYmlZH(0!kcdjUY^#1UBfrB{{W4Se-$m;~j$n-5%Un`pFCB3j%Zrjm-n&m2!8#2{O z{O9(cvdy--^;9poL~%~OwAUvN+s|>;ADth?xBp?!Wt{h2{PW~(ir@S0RfUzzp1j3t z=d0I~8iQ<?%qy~dwy-kPHl(?E)}Pn*TlV+m*?6n1tazAMt`S=Ipo7m~|Gn?)y*`|O zt6jVz-nQjiqhdPyxrv+Z`-G=#C>4m6Piwn-(5Buh?aSkggK^I`tSx<O9I~<P-|e6# zi+2pxMn)X3Z1+oD+A)n$`p%jaLPFfK2dA@N>1)5W=U-XN%{={?=iCa<RXzC?^mcaB z(e^wxi!YYzXV*l2yjLq!>t?MTH1Rg?2D?k;8{Z$RSkJNh@5(>5EJn9Y49*(sT{=Hi ztJZyOnKQrn+SW7u7iMtmnwqdp-r}6s2KKK{X7#=L?YAlD`mC0+w~RlJw6F!$W`A0C z_;G)qPU-Bud9OY$nH6dm8K!<Z?UlpJqeWHod%yk-KRfAl;H;Nvs&l-Kq|A?c`K#wf zwM*TB+wr&Wznks1tL>eM<XuVD&97V|<+5tt?M#2JQg8KV;)Ob$iv5R|_DwDNa3c9; zi^{tDh4=Qge2{+|s@m48+ux@??bE|%iFx-_f5ywO*?N3^wsCFCO3{*a{##<tZ~I!C z?S4U5=yUAeu2W_c($8A(&iWaCbpKYn=B3^%ZoDw7&)n1Y_;j0#iu&}spDOIVemXz$ zKYF+N`1g&xelM48+NN?)xMsIs)x<l0vrjzRTP`ixweVH=ia*->c^ks^d>7wp@9@X; zcle8Mvx;3GX*;W4GIJK5sA20UyD={HWAV31yFQl9uY5S4e|2Q$bw}y%`Az%<wb_qv z>h-in_B~ksRDJ#90GoC9bz+2!kAGhKGC`5^^CI<#3$t=oxaK_g&oJj|*bL?!Oc9qw zQwq#_CRo>7t$Wf`>sl_ctL0dF^5>czkLT_DVzRq4c;^Psw>Lr!9=}hwTQ<F{g8k#7 zW991Ux34#PY_j~l<M_^hp^RApjtBp|Eb4mJBWz_kK_*?MR{P37xf*9VfvaqbE1B*s zV&mvPwNm-%<JV^^<!yPrR2gy^H0<WS*1QxHmU^tr_HCWjAJ-j~4f``5Pjgl~Gk;2Y z1OL*jSNElAD(yP$I^{M#Il98l=Fuw2uI~Z<{#8G(swhjUU)x>J9Q|_EwB4y}>-8t6 z>pbwfaqfy;)6Vqf<)UYE``Tmop84Gylsz+a?)IMv3<r{zuiu+^$15eRQgZYB=`#Jt z_U-$z{X_eqsPOjNN9W0Y6y313Phn#8TkEHFd#lp#Tt9j<Ga<}gS#HN#gR6_fY%VIE znVWjEhe>+DGLyyZmam%w#PehRR$VR^o_i<x&*#{fWqB@3cd}bB%}cSod*jQh+vhA_ zR9(`}u_^h!c*?w_PZNIT9x#we-+yUATI$2fRS%CnIKJI$f`@T~=BIW;v%(9PejbsZ zzJ9Ok+~corH90b0DHkbfnwTc8b>^<*2X?!u>oaRj)Z64zYJYwHx`s7J&MhmoCc&)m zwoGxLR_5$u?$_dZYVud!iE&@?y6WTh%ehWXo9^VM-6-6m`S#X+hdPCd!!8%=B(mly zWlp&LccM#Sr{lz))1L&ae_emH>5O%Q$J^T<*INE@U3=$-tlG0rVVlqYT6ARPalhKt z=T}cVdeYBI>{;Nn%Gi`i$<yY!757=qn;I*zJDFjH<?GA$R-IJj?)kH5x{92I=_?~u z<D%2SyEg3bzFls($Gt%N<cV)<%|6z5rtX^c`?r(Jya!L`dWI=qm>4s0;;%O4m%eH0 zE7!~sPqMtZN$>7G&(z{)C(5nG)OD)oRb6qBeRcDkhy3@eDaY<BeY^XsHtUq<c4nJr z-TZTI3+>&~GrNJgKRD34*yc$7)ENqgp8UNy=RsJuwV0m8ovN=VmvzP#H@h~^xaK{x z$mW>J^Ck=BkIQEFo~xS2A3Vu7{pSwfyNnNJIe0u@ma$=H?~HfPW2_8c9{M8h9M}DD zeMg<vW%Z5Q`=fVk+SXKY&tvLIC&m}<1=%OX!hUwkRfnE<ADZMO(ysjMd~syh;bU2s zT#qg7zgjQx?_xdAmtLLB?NKXtUsc)Sxo5TGxo<Mc=B}nc-#+T^xNfI(Rqd*-&$a#u z0$W<%a^Fbr%RXK6hkaU7<jr>V$!~p(5>n5Vm#wSOV-neObNSYEN4@RkCTn%p#d-2Y zo-XoVx$1e~&iehvf_JKGvpG&qZ0xGqetO5&vLd}h-+EpoUC-AQHuN~t-Lvj}o%UY; z?)w5cfotDvEst1o?BSkyca7i1*~Byy`2YO6REUY;b)c3&^@4BxD{ua1IOM<9_Q(ER z(>zo2qTF+j{9>LQo>voTdu%GxxrOUoE*X1pNU|?D@MXQd(7c8Vmr@w6SY>bcd3I<1 zXMy`oD?iJ>7yJ=6uX&B#>{^i*Za3u5IZpCowPe2Xd}&d1qeB0~l@k}S7f9s4FJCd$ zdO@(g+v30L^!GR?Kb+6^BFZas`_n^lF`f#7Q;xf_FRh)p^i^2Zv3YrK-mhJEMsTs$ zwRc?Nc^vHf_tuHImKL_!tDTwC^Eq~YdrkSeA8FS(OuA3zF7jmQmB}mH$Zpf`_3_n{ zyO|kzs}_Gd_3X9J<_){{%nM>&B%Z3mbc)S`{o20#kK%8GALR3=mK?Qe=HUF~pn7EO zgaz9j`@Vj>-|?RzvtIi3Jo&vB%v3mQRxI=3J)rS?xy|)+ld|;H0#C{mSqr}pZ9NsY z??T=tdx!P*IVT@p(7Scmv&}ZVF|S?K_O#r82Cq+Ue>c?WxUZ?tI$oG6vO<JoPlGb^ z4vEKhUq4md6<XwG9kGr>{zM4B@dh1<{seZ>n>_0#-8p;B*8Y+DQGf9ozw7qf{v;Pm zOPmxqn$u=6(SOzR$?xOxw!1|Z@A&<(=U=IVNAdObYdxP;ChJs)-dMR}U5NV@t7=Qn zE>|8=fBC@6qQBPv)_wJ>ZRdw|8tIKevU*|LJ9p}<7kQquSbtLEK3Br+9UtmftY7&@ z{I`F_{sVIS-G}PrH#JElOkMg}#V*a9uVBa5@9T|?7iu257@oFae(_fWm4`e>HgGLj z$7XrX>T=_6_mh%$n0k+VJzJNR5x-5nU+4X$*udQNCeQ3`yjuDAOVwAdPuTr;!<M(n zL6?(1JnQ~uZF>AR&pFSWk5gY>zPCs7;i~27!b^?cTuR~CtRxolyz%~}WmB8hT)NdZ zaUwTM;Ag{QWnBk1eiUn5nIZIJ-KD2(b6MiDKTlX?^<3`j=^w8j&71t;Kf@ub{GME| zIM0=`*FJt)(l=A#vC@X+mAhSICu`pLarp84Bkw!KrJ7#OIui7v?7aND$IhFA7+)1$ z5scT0dCgyHy_k1`;?JU@<F=l5TVK=*)I>hw?~J;7ykqO>197&er8XS9^6y>o*^1!J z$CW4Cp1SWH$K!d~uQM)qaYmfHV#Qg?ZoRm-sBqriy=Q%wzx-}4wzg=2mA=X}W|{Q< zsOM|nO|Sgy=E)#Dukg$Ih+Xa8J1+RGU*e^syRc%>Br!?7H+(VaFVDuSPqe%6`0cw{ zH?KtooRnZ-wO=m!#r;rx*FNPB=eBj~EXg#OZ~FFXgYVuSU)OVO-T&cCkp8V{l@WQ; z-&q}B9@TyOZdS<BWokeD&lOJlX0c}V!^c53Yj#|<Pqq<!%>To$Wa_motDR*h@lU<m zkS6(R@s4#jekOJVNHBkIXZdIPiT}<0wSP?aUtas>OZM%<>r_%xo5GH6d-~+9Y@6-s z*A_Fp9ymC!uD#S=VDY;7zUZe?p_Vy(i+)Z{*Qj9rYP+)Lx#NT*k2gxL`cY6N)A!?8 zR*LHF(<km7VX#V@mEfax_jGFKtE$rFKW|6qnO9AW44>84n{0EdZsn?j={71tlPto1 zF}@F8a&b>mMyyLt(b~BO)~^@!73*bGXPxrk+xMm6JWh?roxiSnaZyA%zDnjn-^`WF z9!YoD&oTTfS!Z<a!_ql2^RucpD(vHrsVfyLy!>f--ihZ8)t54Sr!nOQ9G0~2f9|>S z&oUi$nOgstD=z!0#D5j~x+ig_sWkVwX>sf<GS^u+cZ1>a6~C^ux$;N|ME?x6JzVH` zds~%M-NUIu0(*~DnDEcowdT%)l#dhtW`r|aSJ*ZGx?1t6r}CtV)D*F#X#2-uT`sR8 zrX_jx8Ms$XJ|ig?=kZmU{l00e!-?nbOO}3?jL=kJv#|KGG9z`PzV_q;e^xmf=Q~+4 zt=4K!`&qOkdGhgVb7uJck!!fb^l<7X?gmDi<ZH{)biC(J`C_rEv1!8{14eeX$;He& zcph)htIgOT-ZGo>&K(|}`So5QH;fhI<NjuCdvY+$*0A5_%8G+Ciu{cG{iE7gFKWGK z&}Vd4`TpMje)IhI@}IJL^482uaLzq>{?p3P*=>cN<i0fQ+nk%~@Sh>h>aSLyQgKgD zx$UdvbC_1W`@LkM*E*)2qS_ZvnZD185IA0N@O6;Rj!+dDIrjeyaVs>7`ybsYFur|j zX?SYdd58KahTS_p_wTW{nqRNZu26E~Z?>gGlV9QPIkP5N&Ph;O5hLLF+CfU|c3ncH z+`KJcay0K)THOBYo4$VLZu=6xds{V5P1;mcc$6W-IE6>1@#R@tNzMled|T&8%eeNQ z{mHdyj*Q{S=N2!tB4RFt|13CAP<-BNLh<RMtXccQvy0Ew_F8%d&ixUkbTrx7^7WO_ zsd;8A55A6k^>EHQE5`F{BO=)xj@ka3>QtzwZO63poK~t<;Q`yKtAgs1uQDHQ@_Rhz zv+GHHPBu@5^h--VGx+)Q6#nR1w9bF4ZDfoAi`l)b%S<n(Fn;<XvM)iF&-yB(x^(fD zCqa8wF~od*@59S)!rXXoo=kG)mvh<nl>z253>?eFC2qOLX)a^y@@SDM?wTmG&G5jQ zr_&{$E#c#fW~tX&J^56|v7b35U%#xJdf>R}43*<&C(rkqeNJJ{SCe<1EBYAN*JsVx zuF^Q)>%4owo^9`61}n41Pf362KZBRmUSBrz;K^fJt9Cw@Wq3AskBnaN#7nDZ%nK^2 zyybBIrOzFeQ(r|T6X#V0i8G`m%{@G2!k>L#nkS!laz%C9pS#`xXYLsODs))m=gH1h z`||d7xv2~}^Irz>HdH;Ed+5mR6ZZbky*v*-pTpH$c#fU<*X66f@)pm~@lnaWz3bcZ z>AKfHue$l1ZHoPa+LtRiHeH%i^89D;k%r#mU8`dLUcT3RU=Gg*&CjgeY>p?tF8$0J zq+=~qv0Pi`&tbVK#jM><J`dg3DkiwuYVG?ovCr3Je}SR9LByPmlA)F&>GJx{Kd<H< z&vRH}$+B6<*n5VKS46VHllhllX&K%5H7haU2m@#-pS8LAoH~)64Rf|tKeplO^f)df zc+@3!^W2>#7yf)%^uXi%ZtctSwn`V(X0BCy{Z~ur$@<Gn#hIKOC1lSBz70%aJ^5_* zvj+b4+r82rRN7{WOlVopeg1(a-<zT$4~wNb4AvXiU;nsb-L89otJ?8X=Jt0bEmn9I zeqFxJ;b(=#vS|#TDqjC*c)j$Dky+U*t6w30Z#ZN>`ls`8FJ!lA4(+tmeed<azEZi^ zOnSNBR>7QP8TscvwP#OS+O9I5{At7MKSvehVho=zbt#*sY;n|N=Q)W_TDyfjpRe~~ zPdY4GqapF8@K~03+8v`JcloIfXKt|DYT2HP*<QEjqhrSAXX#uOqKuROuDKdkWaRGP zYJ67K^PsI!2GeB=Wo7O8C$8{3c_7^OBz^ni(6otW%V&5zx2gIiq-Crx>0tHT_AEp6 zX9K@?nM*%~Y<ziL_OI6JQ)kTi+Si6x8Zj|{S-^eCN@gYFzP+oAZZOQ7`&%&N=9$Xi zi~oXZwag}dXO(&T$JjyKr$t$d-)GLRFUz*<_-^WdPSyGG(=2Dj+mp<G70<b}LD;0F zZ_cv`oBBNE`~8ot+VZ2n?CycWIgjPO+&#J7@|^oq&qbHj(p3tItR7#ulDf@Meyw?V zPQuq^(@);+nZHy};@eCI>j)u_M>Ec>Fx)Yzx=d6oT!r;CPmoE+o%PbYglx4MDl8vd zSU4$F_x`$CEwLJAWrO&tgrD9y6BueY&-t6d6t0qY=&^mt^Uuq?MEwqx3o!l)QEgCd zXO>tvds>=p{dtoMT*vKSb7;SC|GMgTV8L+?ew*U1$|SoVJc~EJ_f3n*_uaV8urKSt z>MKG5=AX~HoH|naq_6UA&?LUXdy9j5+(OLwEFU#SG)|puap<aB*mE88!alA44C<P_ zM?SyM5|eJXIPuc&$(Fz=#xl<*UwOPYSZh<w&I9b~a{In6dlfDz?HiWZ<o@NoQ_78{ zPdBpI@moG_oYjAt>(4y@oM&sNsINFyo&M`GPmXs!qbGC!ht)nh!KsQK_D6q(=<Iyk zwd>%4m!E#k%WU;flwZD;w|mN><O6ry3@>!`9=svx7F}L9<9+zu0*jxmZXX{%i~I55 z+sbEr!Ddb?+vhj%%aoi|HV>YA!pcBG^7~qTjp+(Sl}~t{t=^Md*xG)^zGY6ZPnh-w zg_;{Do_D1QH@LGrTeHSqQF)!8|6Yf{spWEaUE>WRiq=V<RL=kK`Lf)W-JU&pk9Qoe zk~5SRP24#prSbjcSz)|8LnfY3|Fmq0m~zM+r$*42_tfOVxefblt^WF2mL+qav~^XV zwa10y#FKBYZ{J(GF+xtDp_JkC$@A)K6>jW|d3@QH*EYn=-R|c~t|tt91=in|u$D@P zem9ex-T2mfH{+C^{p+f#xh5$}N*q7`-uG0`<_&=pEWg?<YrN6P!OT0Sy6W;`jabjq zj0Y``Kkm<}^nH+f{7Q*Q0>f>$Xj^}u08_!Pql-`T@Vq_wdj3+@DKeVpSPk1Ei|3yG zS*O-}_SnS<_S3gATv+PybIOA!QiW+MVixCLItUq=Gsrxi+-I9PJL0*zwY$w%6RyKE zo_8fpIQ~>Zxo1||9leNuC4YZ+NS;n!zm+k`Uf<rBXWkBxvmMg&r^xRq408;NNnfA$ zpCL-hf%BXM<K^{_yD~dgEG`R~KYgRjg_{gdN^IozR6SdBO0p%L(XOtc^zq*C$@T{C zESRrcZRF$3S-<^tVCzjigPXif><WC(MKiBxGtEE1oHpY?r(omLDcjsX*+*qIN-sOO zv#x-@&?nu={bcW*244S$mA}tVnOAuI<FXS`8r$DV2mh3>syPtI#TNQ$jiueq<qr!g zZZ}`Pw&u?!y}J*35A)s@>6dDXE;wmZ-5+Jyu=LzBh1|zWP4v%1OmZvk+7)1UI3%aX z?Z7I-J97Tlrk>1LyUm6*aFU;g-M_YWx8(1~4)_^Z{&|%eKfO>s&e(Iy10$I^Uyf(h z9Jm;*qOD=6lJN1?G#QWbWD5)19V@Tto|t^%c=o$v9Ov0DO>914aK=-<TzP4rnUqM| z4UgM_Z$r7xwm)ZD_UWAQoGa{-2W>qpm@myr@Zh@^U^V&E^X=DK4;w4i*u7(T`Qzdi z0nfL;f=^9a{FGhh9s4ZH2B$L-%G*!z70zp$@_6#=K&DrxTTfWt^=HmJcITbsi5IrL z)(cc4IplX2ak5XmHDkhIIU%FlH&Q0g`FQfri_o+a9Vw0Hw_j^WIW=9v;=%J3Cb0}X zlZ4iF1$dtK<La8ieBtB$S^YH!n~v25UXcH|Ql$CQHfeT??<*O1Z)Z(AajS?eQ*_zq zZZofW6|($$t!sRaSF<uV_*c#J%F*lJYgOnVSaT%hiTv}xpS%6lXU%dj;7XZ)`J<`O z`V$BH{I{}v>N!{2VEOCW-1(2|s`)evTMzXf2oiGI%yP_DbK$3sqF7=3ng_L6rW&Vi zciMchwOGdRicxv_OTQ_r4Qkj5%pPC9w?@a~w}eUt)5>#&SKT)(6IkeMuKV`odq3R< zk@Wt!eP1q25^%~@DgG=|7xJ@lV@v8LkGsdWxoRC_`^gqwAM?9xX_``ySNnk{kDu}W z6WI}GbAF!d>vI-gl~x*L#2bIK)jVyWvQS3w;P(}MXV2X@?^9KM`Lyeenw#e?-l)2) zcKFzj13Zxj9~4j04E^=NxX<{Q7F*%x+^|&TroFvNo8AT;{yyVX)n8vGRZgo72N|@} zwTe7eE=^O(JNzKM@a?Qdo}0Rg60(LbJ<@dfp8XV^pJ)B?-ogdCi`ipVFkgS^n|R;= z`(C$&+s&>@JD!lW_-e9y`-VIIGS5XC91fqmv!HLu^M${HCw^OLl#udm@fo=QF6Pu- za)(+&r%rWdoP6Nx5~jbGPcm+Pefy=?8kg$Dxrf(P{o5+d;XOSg$nE^u-A#p;7Q2)M zF|oQN-H7Siw`Hfp&hP$n_G@x)VLl)4m6&$k;Yhz%r-X86zp6!CRrRB#zBhli-#eL< z@svr;-dMmc{avPAklWLY+Y41b2Ckm8^fX)IoiEGRx$~d531#@a-P-@mzSY-1FNt(u z&#-QIASLqe!v{VqzWco{?lDbE=3l;T!e~FU$Ij?LRpG3229<qhw|3f=eL253BFVXT zd6|9uT93&_O;-6bmwkLC&gUI$WX~3E?yK9{SSk>2&E@2B<Ja{}t2Kq2L}Pjw!nf7d zzLv_kT6UnL@SO3<{FQ4TD@j>&E^;m7*zrJ)ef{2mjBQ@Zp{E;n%=yn?^+shwCMPqO z<Er^LcZR7Mta+|F`Nzh~YFmSi3oShrC)JyIoKp@kPo9&s(5xf4;6%cmD#6&6ZIev$ zHZrUWXRONmZYmsMk@185Owf`QKOJSyW}b1^JXJeq#e@U%^_kVDiTo&e`}CfR7UPo* z$7+AB+h(gT%Xhhd@BEiR(yH2<3Zidx)jT{^R4!GuTC<~X&Wbm6Tc=!`c~@IA`C>u+ z-17RHpTz#&e|KS?n~~kt_}`|9cTN;N-~Qp!x2B9oVzvi1D=%bcxBWMDIqw|f=uJBx zZm_VM_w}M}>*?OUkkviuKN`M>e7*E=yWmmLO>P3o3g5okec8K0^4R?b=Y$5sFKcdg zIIJ>ox88W&^qTEvNwb6P$0cpTv~O<Sd8_5gym|Y+W+f(1DVuwmy=e73hA%6)ax1<k zMt<J%eeJW2J4#bL{^fkNNx#Aseo68j*O3CVht9=Yu5~44obfkqi&?F4V6BIu{_pFz zxcQn_uGU=Abmj;{1mj7Slv3r_(FQk`)GOXvyWO^^Fl<%#l;aWdg+Cn+9FO~QW8#vD z(-#JRE`PSmd^2-~pC`lf{g-B{?)IGKKk-J-<Au!E+Cwb8wq3hqk<b<Ut2+70tSu8* zB~vu&z2=`1T<o@cN<k5yQRXwVp2}Rq8GX-Jd|R{BdWzN?$L)-6#d98QVY%7iDZTF8 z&*w^;`J~i>`)4n-&2X?;s@=-o!youIa+}Fn+q0ieu{l@$t`2ERl~fT+etB!t%sq={ zZ}KzXU&<7_{C)5Js4#iMmE4cw^_8Eq&X?towU;WoGc`5C@8aA8$v>|pm$3HnCuw$D zGk!neR5(9sx=?TJO_dW5Z=S1UNcbK6=h#$^KEv~FG6~m=Vl;KPtIKUQ*jd<iYE${S z;vXRvt!Evg7fNtnc|QNptjnV8rxiY*wh#RBb<IIT!KeMaH~OZ0pVK=h?_S{>!@yJ4 zv*K!2e@dA%=i^b0nJ&w#1&^QdIH`VV)2&k1&#{pQPB6#_)ouB@bE4hnhtv1h%&)R^ zKa;`P8MA?P_xz8`B^`e+PE?j;x9>OgQopk_T>8$F$$=)jr@YOx-F4xC%&{)7<XOJY zEspb^P-``k*~~lh`HfnwiBlum3cO`xwnzDXdRx}N&{E}#$le)0ds)gAWb)Y;h&+1I z7AEseZhqA1NZFb58JLO|Ry^P58d15;>|)a!>o4-bz78=*JJkf|K1kdlYq4;iLY-Uk zd4;~V1;RRh;nw@&=5F>4XAw&~7{veB(Oi#BB`0~}{jQ!}r<FbIo;w)6ytgpv%n~NQ z>MO>6@8xb!{-pVsnceP5h?%&K*d4xWcl(~Tq`KW>W3Kw7wIiWmwc61D&lBfr_icGP z(J5I*&Ryo8$s?BAPY&K!3+z1f*ZPW2efg&biK_n$y-u5CyLZ2zR6O4+ah}rJ9pc&t z0{?`Tt8VN!KDK0n$2<4@rG}|fr^_WLR+X)^Iq*9=@9bg;o5!~nX?Z_AwQ0LTAIBff zokDz1{oc7Rus^qC%CRt`nL3sURZ`7ag~FD)SN7*raa9?mIIS_Le7s_5fvh>VvR2;t zyOPK3rn<R$a#`y=+JCs`@oWES8B^SKK6BiRm*)S-d};Zobz+%uCJ7IU*zGlcg>^18 znml!q+r%qOcmC|*T6OZ%zN^gT&M$+Go9<b2YBTSVhYpgedpX{Q-#fXe<L7y~fCj&J z3~Pf`XFM^u#c%Qa*6MX9&Ce_;st(&Sv7O=eiAl#SPtBQACn_?Lu~UheA))#E#y8q7 z7kXaq`Nvbu$&zC5Sd@e7Ql1v$8!N8;I-FXacIB2Qf{z*Axf-vjlB##u=4tJUXRaC( zA2}S{_wsFD*3QuQdko%_d(xJhHK;x7&rnxv7M>V*I)6^##5sTMmaX)Vk_dBUpCt0h zedUVKo851v!?(HDS8dxcVd;TGljkk}b@>Qi1()MjTdm2)8H@I;dv>^1OO4endj6p; zQfH?>XApAZ_|Nb<SW<b0c)+Q{y-Sj2r%bU6RlL%4{D;5D!Oe*|J?RoM*JeB1h+Up7 zxAWPI4whVHH8UB(zgd;-r_wkUXMB`6X5{@PNo%*(qW3J@>V>1Vvw6zS7A!1kZ%saU zey#gAHbc$?=I2l5`!5YiQ5G#?W{7D&W^?}G@n!aF*)$gisAvi9lzf#PyXKvk%=BR8 zIjrC0wmRk-XQ}D=^s3!mQnzT!j-6ilTijMzK9`U`*LtWu{yh)>`n4IJshg$4i=VUi zWu;wSCsNe9`R|?JZymEG5=496u+HGKE%s+W>k=WIFK=j5{5It4-elJc>y$TN(K})u ze`Ln*eKSp&e>6MXSh4+NvCeVEq_1{ceqQ)$W_~L8G}jWjAFsPqV`L}sd7Kwb&2?w6 z5L)zPS*0k?wskuz94GldwDqffDH0;lml7u3lD&gT%T>DB;#|!08=;*^5r5|Eh#3_e zUdLb6I%PXo*><0FnTthI+J?!Jze66GurH9Cw>7NNg{%LG&Z_?mC96y1b}Y{dI+(~g ztB6s1o0H}7{Yz`!e^h?7cIl$})R)FfCe0IBd3c%C#j{1iSJHdxRN@Y<l=kI&<t@1; zUgr-(t?_?`YwKnAfBfE2I@iI!+TzNRJLSeQIqduQ7DOFezUmcU9>;x|o%ip|uX-{q zZTqSIDOKfvUVH3YwsGQD_QU<1Qqy`LW$HegsI+ZIfI-Y#75P*9Zf?t7>vc~vS2j=Z zK>pN5X60qBb&k#@!Fh)p+8ZjLUpIXrc3;HCH#=)u*{_~yFFB4m9xzFgx1Dw8;<@K9 z_ddyGpQeAnDLSK6^7j0gFyDJCmqu=xcsF*566180#`(wgo95LiRcv!r@(psAt@|l@ zD!yWM#NOcNu_qpUWj&`Yaq(T!&2QmH^n12l^VOTa%yL4j;vB&y{?F?tZjBc^Z!kew zXq}&H;ip%@KCQ7k?N_YgHF%-DYO1N|g3fiR;i}hH7iAmHwp3b@u6u3OZdR6S*BQNq zjIwMGm-!kOCQf~k8Crbs(GoVZ;<rA}=D2BaPd>|FuB>eP((`BkR%K1wmj(`N1vux= zc)pjVsd72rl=ce&j3;Hd3^GF+53cr>nm8$gY36dZJD;zunK9ku(CQs}j_2+F?PADK zmfjuI#v+wr?Z1Aj-a8G|NqNV&Di+>aq<(GY?rTk+f6mNux@mFVl<%<zUtJc%=4T9c zQ?-1zv*%S`HF7**%d7XGF7T*Y!$t3zN~bk~C(o;{4&A@~r1Cq9;I|RB{OtBofyU_* zyJqt}_n9^2?M^A*!?L`_=Yk`=71WDm_g`BgEVuVnjLX@Lb`>HztM>?4u8Fs~a$4h` z-d350>@BnFUa<WBvf`FQrETr1S)19u1P2Ls#VmE1VQLw{^L%NjPO-!E%S(+qzb7v| zs!+s#ro2{5=*uC$$`f*1BIbJAB``H>3rO;_t$Kgr#1j4;53YRb6>c*Tf8H4Q?#uEN z(Pt|ayQFVTT$)#_IrGc1d6_rP6imGF=RorIwH7;9d|;G(?{F{LcCW?;;gs*o*%*og zlP7NZ7`Q>T-$LZ4m(Laz_N9uG<$IlW7f!QS`ttJJyPBUmHwEhPRdXfge2J;mQsVQP zXPdda;MnD!pr?Wc=Zxy57$5gdxqIYO<yn(?hQWz<Ce1n^P<U-tH1j%5X5RgZOHV1V z&pndRr&-vQnE3kSa{j8A1@`N=D&!fka=Bgm&tP-KvDKtu!V{jxIe`roB8_|bioHB# zHG35g+s(PK=Khf#%cdzjxwx})!EX8g7aoUMG^e~P?0;k`9i6W!nR|+_F1Weh=aTk& z^_<ji^D2+}g~t9l9<*47@z%al<qbVf8&4`NxGh{?@pNUkjNoQ1m7bfD&lPGjAD_yo zxxro2+r+Q7L|;m*;xv2lXSpl48KreNj&a!9ADbaw7ozv5;_Fc>+qK4%b~k@Nr?vNR zck0QycpK)+a$jf9R-NpzUEsvMoNBN2K7W=}&3gXTx7=^bh8<UYPqA%%E%EBcm-Q+? z8bA8`es~#OZ+J5;VV%gk#Cc1&er6xB7f6~NGwao{%6HDZtN5Aa9$Tzi74qb3hWouL z@vcSJ-%fgU%u=%K$?A0>RnK<l_wX-#xlgX+_4Y~8YcH9xurqGH{W@Ot<$Z}i&S|Tc z9WGT}!cudv;=~uVo&7=;tzWyHpU0dms#J{q&QRN)b!n=m*7Rzjo2{m&+?uRCrIVg$ z6i?oMY3I*pIyIZ#%U%AXw(f8>?=C^3JiR3v$`*M?W<6gz@ubd=J5`VNN_xF}@>%@o zol^xVI_&Get}b}hX8P%Teb#gHxi`;RR@z*dvZT~(*XDx;lkT*ZTE2|i`!K#I>R-F< z5`p;!Y<CWPQND2f{HuSFkJcW0cfTxHy6l*ym*BKs@iTRED)b*MUEXcB_34Jq)y<8Y zr}EhHM}753iS*f^-E7Wc_GWVYw0&|P-BvEODY$hmFrK+cX5#y^we1hyIv<fL>-wiQ z@2kr8o&>RjDv#~<T<`5Vyu#aW;h9>Ar{x}NPEB&|U94W5zVgdL&rkmu%8v7&Gk*Ct z-Y7GEOHstVJO3H-Z*cEeq<*^aSgp2n*xwa8%IP~dT$-N$edexOh85q8{jRZ`UvpDW zvS39~{ZyeX0cVtF{#nD<lD3ca+JA;jeu=orf9IXf7w$7CaxF}MY~HIfb)CN6t=v0u zg$LGN6D!kt{xYLNM%>d}!{XPKZcWcaZK0VJr>m;N4{ej*a%^{=V%w`@H&!Vy6dCtD z>HB));P2q5nB2Zk2l*_1`kT&K>6_Q|{MzT3y?w8zb)Wn6Nz5nJ@%y*+vb%ruueqr+ z@!Uk&a}|CfzrttV`*+c7dRWjw0kK!f3F7ODw9n=4NnDmC<>RyYKf}@!Pu?o`NL><{ z_sMDJ*YNh5{Mwa~C#wskmpJ^)dF2>z-|P0|nCP=^r)=#W*=xF`oWG|VFO~UE&pS6H zy7H}%#`$UdJog^$o$og9u8weU<}}r*o%gH-Z<{RlJ0E!Gdw0B0ly}j$o=KZK&3^V6 ztp3k%O=Q=xg{G~yj`VGMmk=_4$KxB<yP|*myL7HHdB@asp3YAf@gBXswK8YF(AV!* zm|n*?=c@&ovU;#Du>6~OZ0c#BUl(5eXGr^KH@{T&((z}v_c)oyPrTW0@p#42(iL8d zge7M@f5uT2ekAJrG3i{tT6Mq6Yg>XcKTj_@K6&2H_2rjp((4NoW#4vJUh?qJ=rjKM z<kD2N_TroWu1q|!F65Ah0=ukh$n2mdZns??KX^Zz2e=l@GU~UgjgOyK>AOn2%Ot_^ zD@*x0>+m1#cH5WeZkybZXe6Yf(7!@EVu#tAh6i;zHI;iWzgN5P$1IFls!%;}$M5jd zR{M|47kK3r9J8}}sqHW3xZjWTnP2XDv1702<F*$~w>zH9+rhlI=H#j$)qyV4GK)4W z7HrzVF8li0Vy?2wMbbv<S6t7mS2KI^)ZstF>#%S0A9bI0N$pCUQ~oxlL?ik1y5h?p zeqC9uA&_^xCTW+9&ux>hyhV?`Oq*``b&Ydb_<}!~A6D)z?I`eE@h;)hlZ+`TE0-o) zcjeFcvztSCugm5AA5R>SyZPX6*6vBGLS)j{2H&Zao9fwdSv*bc-j1_j+0%>4Wu9CW zI&w+o@!Ei$oim;<uktetWLuthV)av&li`!k=D)1U*q<ckDqYp{Ip&3hsg1u<&v8w^ zpCUWmN^kA!O;62PH)*vs^Rdbk>nx|Ni216t<nvvlbLD?CyA^cgT<<JjaXvrUv+J>g z@?>X`V^<$_s<5_QY?WnP(Ohu&_mvK*<7`taZN4ot<6I!~bpdCa^_AS7izk;XV4AbG z=fU61mdA~r6CH%|PAq5pzGCyajJsi79@7iXM`h;B<5ya2abD!%Q8Bs0heJ;XIj4l0 z%6vH+)!XATclo>-lJdRIE_Yt7HLZX1<C-PgSKYa5PppZ4z0l^oN`lr#6~+MVyc6ov zUeD^i!rb8St7PR<=VwacWe<d-%qHCPH#*9rYgXNNXoc&B9d|0^r<O*gcc@-wX1T32 z&%oku=8{0yYZ^ik%UCQW<nBiuJ}kiaI{f|nC;R6<-<f+!?EEPM!<PYzwdP3qHcD(y zGQPA_TKPoYUAwKddb!t3JEs><KEC`>wpr%H8E?NXp1~??@Oy3Jn@sMVu}g1%u(`t0 zc-+2~b>sKUVn(xP2hLl(^mAByy{p0A=1SMoisMm2OyQ2_EM-@j#%Z}Kd|%$6`KjTk zn=PN#C5QhE)t6>9XxH2|j<zeCFS_q$Qf7)R*EWV<R~o%EHr3U!#?MTtSRAxu1$*Y( z$lhY9ZSQ9O6Dkfg{j)=R&*OFXuIh@+y!^6w@0N|H_864jecku<&Z}GBW^(U6x~X#A z^QSC-jx+DA)RCIldsr?rI!H&N$f)Ac#saP9TYp4V>$+Lrd~dKRYC&mC1E=~j>+5sw zWku|mcC#S)PON)^|JLHbSJNjxP0C$$_}Rf@SyQI-oh$!Tb-7pCy4~=0)ay;Rx4$#% zvl6^~Z&$DO(W<$JS#lk96(w07JXYRTxn424$tq~};q8f%!RNI7Q+D-+*v-B4&v-sp zhVaX(&|T*X-tJvicBig+Z{^bGM`VNEy(~?e`e0JpD~TsnjW6Ruzs=;(YEJm}I<P%~ z@41dGzv+~M3BJ2URvF*Ow^MulWK~q0=TlZm)pN!7W-tBmpCS12vd@cVm^n(PJax47 zv#ou7!hF5L$1ls5T+&o7)V>i~%@K7?H^grHhx(%~+jmy)-r1NCuC<qc|FwPVKWsm? zpEKs=CTE#5+p|AcZYu0gd>uc<v*2;ZN&nbAVOQ68=<Axz;B%T+l-(~pU2C3eb?}$h zNB%QN{IO?UBfQc)e}Zf<1LK`JU)P_P@Ax&v{GP$p{M@wkt#ccDW1dUOwibSuQ@^Hn zxbA0z`r;DiTN_h%%$#$&;P&0NBJCJC&cK_KwVKnCisxx9EO6hyH=>+pmDi^`&sK}^ zUMX33nbV_pwyC6~+*IS@YYP&J&$2M8n><aPw^cqkXeHAY#x+Og&z@hExl%6Fwn6#N z=YV&zt0pmWDzCLLx4DvY=hua*{-`phfWs3q_ta+Dv1&YDsu!TjZt}qL=PI3xlY>|% zENx7%3VO~i%J%JrFY8BN1vQ?+qXxU?REMOVeCaExw(5ZY?t63A_ig21k*ZK$>do|E z;>J&p)+(>l){r~4X7%%~PNmCcx;Ob1O5exMn>)ATVuF#;1jm=narHc{?s3}7w@ix; zxxYK>JM-E^joEJQFU$|>i@XZobwoY%YD%@X=`)4G&&iGN;}dShE<HNwtkhH?;giZ1 z>rbv{&ia1vX|{Hw%!%CxEKmNM`X&5uexF&{YSsO{r5q2t#8fLSt&5M@`qq52XV%Nl z6y9bk`1Rb9Qj2w0w|ptfWV^JAS!?o(+U#W;nyRZsy-&AgPWfUt_mg#apYzA(4>xBD zc>OwMdfPB#VdsX6j2Gwpn(y^l^H1cXw^`4!e`nw5-SaLoa`t<@?7r^en-SM%%7;Z| zP22vx_;%#azH3X^QY9q6oy`=~bEw%6cO+SI{p6)TCNBGtag=r5THZI)a~8$6taPes zs@<Et>*M+3`m7b+4o%-K{apWELNVi^b)WIM>TBz!yqjRDeCKiQf)#;RzDk-biU_W` zH2?0AJ^yS!#_^~BcKc&<H7;Up-t2Qs1|m!xX-~dB+H3Xun3UP<#g31vXE(|=FPwOI z;^e*q{87(VJefO7Daf7m@%vsmsUJBz_IJKtk|%zOMQ~nAbDXdJ+s=nG9+hmp_~+ya z1+fzhzh?b(f6RWQx?bkTrT+{u8}IYZI8x|#zr6pE=)?aE*}rekFf3Es*VY%w&hm6; z&no#9_5Ai3x$;LA6|cQrJL3pvB>P?YMw{!$<E890UeDU!qc_X?bazSc?AirdQ)KwW zukEXkb$fI*GWThM#B=FB<IucP?$w=(cg_8CQd#1prRh3(hLtDxo{<eJ5sy>6^3^PC z=Y-P3iT!8a)xMf=HMK1?LnU{y<(*3VsOKqDcIezVANckAia&RXuV33eB~b3dTlJ5A zOH0#oWSfp0S7-SgS#VEucERb!<F<ycBkJ-vBv(%Jk<<LN;9Jj|-1oOkbyS|rGmO@J zv{Uz<<~H{1GM*)0&p(bUTetGm_oc>c*5##dgH^WiXVf}A{LgSJ|9GAB<^7w!tW*}* z-2V5)otxh*U%rjYeeB<1^}XNp=hy!Xf+tk>ByKHOShMjCPsus$)56(y5$UqL(dIm7 zKg-BR9kZx#i@6xpZn;4AaAn^ck3Xx9RJ9%ndf&OB_~$igkK;X;uem3FS!?OGYV+RB zAMLivYp?L;;(zFNV%>YcA1l|q+$T5R&s_L!^gSOng`NB}4l>((dA3J0O{*x&f2#+( ztmOmwsOe7nCH5IrTjIs{IC6V^YzPY|``KU^RQ)-wvVPV1>Z0$HCtW&MbmY5fn`%u$ z!;(T@y~AA>UCUI@>`0rEo+<Gw=;x=6KWBt0J*j4X>Gpu*+p0jNXI*!_CGDbf&l)b9 z(v$z`@8qRHIu4KKs2q5_@^5DMjG3vkjN<EcIPCWPzEW4l>vHZ4*W`(TyoaCKOuRPB zsYs3Y);x*kS?f4$cYR+elECwEUi-EA8aq2@J#t#e?|9*g&T;8px7(c-_Hzw3J~o*p zxA>E^rMg}7@+-4K^H0s<V`N`xvUpyRy_AE+)G}EInUDT=ulgr=tZ3uEHs{EklrIa~ zY$M(TU)b<R%fYLwd0TaGn_J~;|0ydbw{su=zB=0flVnTLsf+8SyXFYK)8^oxZF&CM z)SHF7C7C}jJhJ87_o$ECwy%6C_@gZHaOO1r8E$OfzNfv)Zm%?+x8wCu*UNnluiZZ1 z`4}jnv08=C>1n@(#qyL5KO3_$5^7%_?L45~`tog9=QDwM3z{?;d;VVX`2PCGrN$ja znQQD~*HoO#c%_%fop7n?0Pg~`+Mgm9mh?wCcqo*djr5pYs5aHWs_MeZ>(`b^*KGQE zIPc}(%oqkX$>KliY;z(W&$GIc@WlLVQ+3s)jmILM%xYX_U0rx<-nqg<|14jIp0GW~ zYU{r~Zc5DVj?<S_%nO?@zxGSxGM+PU%EiVO2L43<`%Q(P=EsB-b8d8c(yGkkv4lrL z_%e^H*TRO+_b2T2bvgZMf`#Py$F7~v1RW)7?`ysdW<Q?T)&5f|t-#o|ZDz`xVy6=x zq3@PYemy^`W!lU8Ultn9S<k{(d|xzGZ2COu<xBNGSjt-eXZX5m!}LBahtqdbE~uSW znfkadv)4G!($bV`-tLu4HW_MF<Ue)T**VLh;=E1B&6BTZt&x~|xcH^NOrI~SnrDl= zrgUHNtgK1p=?k7z2RkP({B`-DWKR0Tu4(OsJPQge&qtXvxV>Xsar4B9;Q3jdZDpUo z`_)T@aZhX1n)Bi2@rPbVino0Hb+z{B{b!c%y$a`LWa#;=@mKhGZI0TBpYG2CrX37b ze;)Jh%hJ0OKL>G76RP?0PAjnBK+O)htAUXW+&8$~3JQ0vbg}HtdLvz!RQ%dEJwN7e z)`}?;n{QnD+2zK$cuLLD2}gRKi{u@6aMgU0spL7kslt9U<&PNOUn;X`=i<Ggjd{zL zX*$o5ndh5QyR^7(%Eyw*^LGE{d-*9ASEg~8Prp^cZhJm!%l01Q;}*)VXFZ>ms<61Y zdH&jnt~5OfbM@^D*4)zcxF)XhmiL77j%xX=i(9W;V^dNse7)mIafFxS+oKkS?+>gf z)b;rqYyD__@0Pi2{}~Qj)ou9ra{7-*C5v+xinrDuTUpWn$i3SpJbT&8TWfDlyX@&S z!R@$p@s+--&$%2d<-Ke!o~wA?pLI^6!u7N2il1j^-%StL&CPvs8_Pe|e;?n^k2<G% zLWr@aC;erp_Xk`1sDLLaWe4SZa}$fj7v5U4&hK5-tXn&0-Qm|iJMr5$_NRZcr#rb_ zIBxNM<t-<t9WU-`6p9<>?Ef%-_l@e{MUz~uC%=2pWZVCBm2{`QK1*>JOOIVtTicS7 zs=CG1sW!!#-;1MvDxdv(TQsNSu;A-^`xgGl|Ly%co_~+!>WCR}zXNypZp(QSnSA&A zjA#2?`qDyKt-jcN{kqz-q(HRqMY|$@@z-@yKctF(OuQ`h?ZRJ+AG*Ii-5;H;isgUA zdZsKr!_bTWUXpeH+N$e)cIJPqFPf~4ch7bIr`E~MG1uciLuCJS(I4;ASH#@9t9ph@ z%tc1@phB(xQt#T8=U2s@uB`Z%a%qCM{GI~Cqm}P9zrUN;)-6z8r|@y!)<?PtuYS$_ zGC9Vom1nuc%?sBr#IxIH%K9JVDA`-fw~+Vr8YfSQe%**)*N@i~t+z<NZGR-IbZUt4 zPBn82h3jd`+>)zJg4WeN&5X17ux~xvEL~F$)}z0~1m2xyo}cyV!hF;6xj!v_78zNG zKiuDD<68Uhuh;G9%g^%77|NKAGgdz~{bl{I|JM13OR7}Y&hL;b-My{RdxP)qIp0{S zuQ$fCTlxD2Zr|!FAGz+u)J3z~1JBpgDNPZZU{rF)a8gCg_w{pUe_QrLM>qG0_;g;~ z1JaK<TYcs~QvbSM<;Tk3p||}Dc8NEvTP!wRaI?+HeiOmtPmCiEP4)DicBt6yh@H-d zkDGVxlWIvdd1<r#_Kh#^iab|av3HpKXAp|!KC7~4UbMmFqN&QV{L4*$e7EmQ?W;`v zTz66J&*pau)>Vy{w!N{lu6XUWJ=#}4a2m&y=UESUeoel&TPyXd_~Dg&>2EyL%y}+u z&^@VAJS&Oe^u~SZG4tH~_^bY$_|X40|M6XR{~g=*Z;$nQx+G}R?t1>X^7NOnoqxBM zp8w&#bZafs-O`=rN%aPA0{j`io|N}G{3>+)Mlbglai0z@dLqZ>@T5Al_jg39)%W#h zrSoqaKjPgw>y}ltXWMDBgD2mfkNR@HegD?0)0VH?A}^5Cb&5?<EL1&f+KY;J{v!Uo zVOBe)&HQfSoT=5o!{lJ|Xjb~Yq5@Azi<h$wUfO!sI^<&fk!hcVmoA$0`HQRElV8^x zYoh-y{bT>&;nEuw;-{|V=R4c{XE00d6kqmC_IzT@hoJd~8jW9xOfF80X5dNqw$hQ| z&kdXB*Y;bktIvs-^fus5&1x=c3$nPyZ*zUwi~HNuTbB#=ru%&2wg^i&&b9xZ`lWRt zTDnnE6TdYiJdqLdJg}VYj%0ZAoN)7p`vo)S>0EfT$NAyUJ+HkV9hE5wSUe}}@y=9- zbB^lIB)+_#b<}6m3)>3z>szhMu1Wl14d>x{AbWd1Pmp24opl^bZixHcG~0OUSK|r0 zIak)a3I9HqKWo{h)_=<LT9SKevr;E8Pi*pEZ$H(#F@a%0jzsWn%RjFi9`MhYzkL0M zRXK;>w}mRNuzgW}Fy={5dYQ$!taYrP_zpZNeNzARmA}E`=41BfO<laW^JMtzqh?u# zZcq4f%x?Ks?HIjC{oTyV?6o$i+&OioNT%$CVMue+Zhz^HC-eOl%Y9Wc*FC|0|I5mZ zaJ|**y#8J?Y@WAOf98HmhUA6kKd-6?{VDRnp!nWAnG`Vz=4JJ3wVCxc?PDuA-emUW z&#MC}Ju8)O|GFx1MR1Fm<$<H#GON7vteNJ>{AaL|WW8Esyk%<O{k4(qEPO@wUJKT5 zS*`hCp6%bCtDT(u{M9D8b!?MtytU`@fuH5YJ;kAiW%m@h`m9?c@_2oGoaSVu<FhxJ z9{d^p>&nvGPjwHz3^@=Zdstz96x$V+T=u?#43!-zDe9MPsxKeuz0UmUZ&v@z=IiR0 zFD)@z5jbc5b6*49cL{8Nge+7_&tIBwhEr)(`^l$u-;4d9@VOa=HSE|lr|C}XTfaz4 zc9pMxScAirpIMv_vOhF$xq5-kuK?B~lN-<5wg0;O=YZQancpR=X3w|G5&QONo@6(Z z`>86yzZp!AHipW4d1tZO>$uE=<b`W49PGPzYfb*?p2vM#xTjo<ba?spXhbAO&OC!E zsk32D{%6l;O);~}+c*Dl=o!6W*R&JoY*(H+W#2t-zt{PD)jWM)@^4?>|Jc_s;)2km zot6jR`h9MccvT%%IGJ5iCQy2kUEpLNw}u@*D<0cTSrmHAJFM!2ho$}WAD5=vYshNe z;k7pr;I5Mi(rKBKerxlQy@gjUUrVz1r%?POu)t*Vl_!P2F79A#D!xDO>%3H(^)d6V z{AV!qu-+GB6<DCZn!&<W^Y-TZv(Dc+TGo8d{^au2GF4qQ2a{gbnf<zu!oFN~Rkx*0 z^SwDLlG3{a&xq-^b9?XHykq;%ud7o36}3DTX>;=P|NN*gF=Fd}o3H;$I1Ru1KM$2W z@qB-rX0PTe`}5cO5;m5edw8AY`<JEnBK{ojT9W!i^a+>0^_)73r3D)^mufJ+;5@2W zP(1m>>mOIurZ-7kX0~IqJik_4T+?y_|E|g<s@tc%xxX|tlQSV&Ql{{z@`(t>-Cv(| zw`*E^aj^Pj_Pp-ncRcHMsrjI+7TW|ScgN!<SK5;fmcO3Zd};AL_c&jNl;8$S%k%8p zvz+ewJKwmJld|sMz7OXtk7s3j%s2jf@!sk^tE@g)Jl|@pFnQkm_17i{|LovD+x+js zYoE-<-~0Xl?F~;mWXw}$x#DK0^~U21mKIG?3%^ycSYclEqs8fAs{6e<m%KiI_p$u7 z1({r54!k|@6?1rFx^~Z;C*Ncq-<!F+Q0ATdG_BnxGj-M&-j?Y~oGz)yVe+#*DabtU ztEBR*hD}osGCZFDVaeylfE7$1uY6x|WF~9jEX#(;i4z;c?lx4s3|$h_R#WI_q<$~n zN6;sCc5{)RW-%kTf=WY$%*22bYcKA2$G$Z3{=^=}_W_1^v&%IfTP{7r8h(JiXIAIN z&Fk%&)=r+hcjxn^Zl`X34&mMN@$2$4)*`#g&daj8U#)y_b<uv!pBv{j{Acj$oMLXv zD|7g%#)%@MQ(j+Qdqgv&Kb5<hI%R`(gT&iF9i6%$2bs_QGbZi(qrX5VL~|;O!a>`= zdtU`{Gd3TP__pGfNzUr$wr=*vS`IjCGxja$Nn4!Bz&f3EqrYJb^E}&~EB0(U%)lx) z<#eaAkAZx_0fue0S;7|i^UPmVhQ6QGdyIjrxOsBlmg{#XD+aI?ET|4JDpnRh$ZB|{ z++>p2$&lFF9FkwohVo7lDejwdSz^x9&GUBH6#va&y1hZV_`2k;%iPm)kGzvfV7x3E z^0Yy^f#s{od2^Qh@Gla|B8<facVaiy8Xq<EobYy%6L;Bxf2ABn?mkzNd=F0fI49xz zvKeAh3694d3ePGVD44Nd-|O@#uRp_jy2STom2(o3Z_P^ZeYWtYd9H5g-P^r)lDC=| zD%&6Rke8Vw_}+JeY9^<2Rfx_R19s&Fj~jh-_&+cCc|B*r1mg+T!rn8aB<B=Vs()F* zp+51naB#g?^}H>2cUa0tiF9maOt4P5aKhovkv!(5e5V-CnajEPSNUs(2=~wI^OQXs zdc^sUJ3IG{s#^c5V9A5W?Y1hMu-^DXO0;R(iPtBNuV1;mKrzH8_k>SKn(_SE*G01> zS^69lif>KPh@abOvC^kZTgPuzfu*h8lzEYf+w-m|JXfAjopQBl$(-$SGrlZ1X0*Wa z`IY*pa(T`98#tzR9GbU$TUFYOYyTM(zrBvC7U^AkWs>2I3#UJ=Np<6AsSc1?X4#%$ zp&Bvqe3GqZl)$B22F2&aatv$JL)7f2=OlJozSCSQ^|mzi<hcjc0@Z^4Gr|n_G}Uf= zd2Pa>#>(UNN2<DRl<*wg_EtjTs8b???0rAYV%DCS%E|I)51uQ2-4(C<$@rww7MlrY z{EWBHk((+RE}{HA^;2E&oa(?cV#dD&&+*&G1b^V3<QB~E&$KvO%gBOfjp5{Ls~6dE zO|pxrGkK@jbLM8w(~ehKCMTRv${I<0@QvZ@GyGTkifJcf_{3Q?2OL8CRn3wu6rP(1 z7*Dg1`10Ut?`+S5cl_CJ&Ac+z{;>ZH4v7a-W!bFC7cM+@oo7w)ulnAI8w<TR$~*pf zWyVl@$-wH{;u#zfD=ih?ei1n%xTW#(&#KEaL|M|AzcS5l^HH;qeO1}e-xi}U_xIQ3 z?w0aT6Id;7xd-;`TrO~KVN8K7pC(7{5rbRHKiJQWO4=y0FZs{e`^~pMu9(?vR`{Lc zpzPjP^?U5XWajXEx0|xAQ}E?^AFibePlbG3%1$xoF-tsO@07KF>PCqLx0^353uRyR za9is+YrZLlD#e$72A(lumTJCUc+CIHvnA)aR%!B7$t`$%A!xm7QGu=fuP;Y+m=>sd z3pepAO*i1-i4a;PX}#Tf@>>t%9>MF&svEDZ74WnC^E>(4tg^Q}RmJC*?-f^Fv@&M$ zmV~mqK3tw$hb7ciLJu`oKex4A$#6%4Pu8E|KZC%p%RZAht}He`+j#7qb%=j&dpd(m zf6T8d&x|iCOZ=_=o4HJZ?R(6|1ja9HE4Xemt*BkB-sL#Ytk3^xm^9B*X~vL=$9;ZX zS|M$5Aoc6=0?nM-C5@AcZ}$YVU0Tv4{`9<UJ=d1qGxAe3o6p+>{qzcd*Cu~z)`VFa z6Hd8FtMu*L_pB#HS@=6Y)0!DGKL2De^i^o?KQ!OaW{K}-q3~9lo)1|Dvzv{L8}>|C z-hXUerG}5cf-0lsbM}b`|Gcu-?G|BRv5~JoHY1|HLcRR1jSSzG<E)bArG<0S8`!_D zoM*}WiCso2kJ-Se&t2i`qehOUDFK0A%NJVO&$amaWl4ZtTJh!WTU{c1)XScyN+$M+ z7GJr<6lyU|VNb&u|Lw9be{WxIQ_3uIT~~R_D}$B>Tg?`mio{cs>bVj;_cltZ{@qph zb-D1}0M`28IU!zczMC2w+_m_X@6QU;-JT(F;IYXYhUfX=xAwO0HI2|@ZMOP$-2d1# zwR`R}8q8PNYMI?Tm>k$Msd!c<!;+qvk&dzlmp|d3@mPJ%h2Jyhh2_2}JovWnu&DHk zo@x4@ml+sNocun7NqEP*ySL}?O!S<?TJh;e;+16OeOWQ5pZ#=6JkGL?J<2F{-^a&2 z<$qp9t1c9m%igr@((|6`>dUg-JIj*J_T-7GInURz&W)RSoNbXpa-PLGKaC(MiHHri zgn8%3UDc}TaeOeb=Xb!p$kaYF9rKzaJpx)X({jErJot5WnNiG!TNR4!5)bM^p6PU* z5iz@ZI^hH3_pi$~8|OM$vNJWUTP~z`Kk)W#)1(ZCl}!uMcd*Sn8p_kUgN4EHPpEJk zi%IU5`f}Ua&EA?$ON;yr9Ny2b@@aAvT47g^mUfVN8T*d_$(<+I+0`#3?={ipbT<BE z^?7o?S6K2Eq55k=``R;JMs83s$_u!CP<>8Skho6hzlU*d_q0U1PiB0Z)AS%+)^5vt z!|gk21UO{^1=I>e-tnGlx*wlapsOS(%=?7R(n98&Y3z(mlUf8UPAn6uyxHI%e`uXT z^dYyWpXVJZW4|@4C%mwDzq-x5s}Z7!TTjiAdFa1<t##eeGv~~v{fu7zAajFyj_0KN z<qPFc&5AGcc*SbG;*@}^;gXz5H-f79v=}DFYe{^yeHj(xaQ^Obna}fsLm%s`u(>$x znEz77MvH&n*JmveS7klo_4c#nd0Wc`Vm+1l2W%$3|GFY%^4$4{kJ<XVoq2BE_o(XE zg-fC*Z+2@l9NgA3tGnPvQF-~2@=sG6mDP8=(Na3YFKZama*Hiy-L=Paz8w7XYV(TY zGIPGHX6;n<k4Z`I>Jciqx4+eTlIe5~;WYlhiRT|=87*<&+mIp~ye;cuqQbel#Dgl| zR&5gMVVcu?P<GYM*2GDxe%d9i2xH;l_h0LFG+^~&<J?z!i+^05dT-SMy{C0v^Bj(6 zCAi*-J|!q%Ew|-o%SD!kxu2%pJyv-6!?McgjayP@FZva-t}8^D>8?h`Rmu4YVahV4 zD~nVYO}tT;Be3AX$9b-v8w`HB^VG%NT$vO!Q8T#l{%g0R%DNghA9lRRcqXnH|D9(> z;<V@MlWa4Y=P=G~kUP9KGD)~-%2N;3&Bslyeztk3G;#XV9KIVtM!Zppr-DjZ51Vm5 zVZJxx!fLjJiqLaaGFO)cg|sqEoL3zj>9l;NoF4;A^>@>(q^A<eq0EgZ&RT{Utetv# zpIyFB;AiIV<;mN<GJh7WKVkCo$c48jqMv<P&OBq^$57krG9ivmO$;aEFU`8~B)RR4 zRiWnzDcP-#TuXMaTjobqOPtWDRNo*fHFbhO`}{0F@h87`KI-o1UDP@;^hCh?l8KYF zN+bT<NiVp4IQhq3R-PU8_tcCmzJC|ty~(wp^km}Epk(J@Bc|Y|3XjWU<d+&8GYE3? z+%7nII}2CQB<>kIcq*B9E^EKDTSQd-+LmrM(?r*NT|Tyo*S@Yk9$e}3_uhY@6%Zo3 zVu!@5s<bI0X%A%jo-Z|1Qs{BovdSrad9kmd;2z<Yx05e_TzO_i?|uE_K7F>nJZo;a zA7p7-@WpgaF9(Mc(;_1Q!_RX2zC5_Sz<2q(Cv_%kBsN=GU-i$scWh?wg1+YyU$A<) z7#V$H)$r8P6!Tr+-sCAa^Ka%47O}_5`>R}Qc-X9K+pAWy9`*DH<1zU8aPy^EeaELh zf9b2Ot><Ls>lUS~cXVRo?Ky&dnXRY!E(`1^v$S}&BvZQ1$l<u({itO(^7zW;KY#7Z z^7f8rTw&jjugfOHZ0l>3+@A36<@_1H8~r>*j+Le7Rmt(oZS}I(uUgczjgS97L)<Lc zzPHWl>Rc5suWg<%+vLxsGb`_WIcl=yu;TTKKN}<W@2OP&R9~?~D75Z_UDJ;L3}QbP zyx8cTza(bCUdHY<D|b}){JN(5%HQzbmN%=`U7Fihw$3)|cI~n|B1vY?72ECS*6gqU z_}ahOM?Nbszmiem%o?+mFE782+269y<ev8`qb#d4;$lITh7C)$)$huB`S7{g7uoY0 z!X7hr_i@@<rOn&?j$zut_&wHjEMM1oyI+5FZEgJ)-31vFZ!^qe{KXud_2yD;^0OJ| zJYF}tYe!El_FX!`;CS)1d1`W*>>1B3Sa|+w>&{b(SS4`e`Q&4o-p39nJ9(SmO|X!U znq=9%^w^`F+>=|+e_dAD;(R%Ka(`S_%On?pH7%Xu?;4CJzsu}4it*TR%jl#U`{{Yh z_nTaJ7r$%PU1qO?(=<Nr`7Ziw^PiAQuGf}K`(AcBJ;kfCwS5N1>*H&^KUzo6KfF(N zr-!M;mfu?(-mE+Pz2TeO&h>3?dFOY0RZOpH<5+(#=IC{mC-bXHGK=HFFIe{be&m14 zU*PhsTOvE5V7<c6bNqZu>Z6Wbs?W?9e%W^^B3k!IQ16<vig(0sB<;`_|6{ZD;*%Yl zx9zKV&}Q)JvzkxK*T9~~AJ^%-emER^=F@rOgV`df&2tz$B>ywK4o}r^J@%qq`GxoX zTTbbh^pyUc_0UUISku^1V0qs1xas5a{|quVDUY%}z6z@@{?EWNXHHd~=#yXjmZi?T z@^F&PqB+S8*$h9^S+h5pEZ$K(KfHqf@ww#>Z4IJc8aCxcm~`vK6u$6OVUGK~tnOlz z*lMeNE14s_cX~{2mfwGAzu839Fk!dz6RhRfABKxZ>~IJQSFLUid*M3uT;0)#tZ!1Q zju-!3$b0_Qu?I<sTl8bnuix5`W0So+_Vwl;b=sNA)yb!K%@KU#TbJ>|UbM#X;q1cv zwA+gV%vL^Nsxr&Iut)m0WA?AIEw`3;r~JF>c8G;Tbl>h>vz|^9U46r{|H90#vs175 zPTgel;>N8L7Gdv}NL{{lzWB+`pIwui-=3|JUR>k!QN8o4^k1)go+hUwo_$spoO@>R z_NZU89Y0PzJ9mrlYaYF)6L@w?NGPwra!t6qX-}8Wml^hTi(EVBnV&ypyKl<b(+Vju z4a=pYSFE3FQ}|IoVCR)YE7nghE<}4i)3&_1LqEX1Ap1&<;3L`UBij~z4&Kqa=jq*N zYHSW)&PQE!{q$K_rQ9{Kv*wx#^N-KByONu=+CnrHlnX!?iavcj(e0sH#d%rV0?nw1 zA3?YMgZ!N%cdqSJ&N%$I$-lswKdS%qotE{%$M-)CcC}fncJ$a&NggeG!|uATOxubl z9`!wtA!IdUlFZxR&+oqs+%U;iaL1wLJ_YqsWup6@IjGynZMmxZbhB{(^Uwmhlj8R{ zr^Y`#uk!2JjGCLOT^foBk-I-Pzv8u5^z@jadCOeL_(zb+vAfeEmwj4ndH6YVzgOGI zjL-GL725+hU45stVF!~&IA714_wsK`Oh5NNKlYzNYTM${T-HsV(i<85PkG2@-?J&q zU*x<nHhbFkXW7kqvL4b*^B>)vxAWWj2GhHN*F$#fYWRCBN1#IC`?@(cBJ-Ba-e>et zZs*$Azq|g01xx;PuxWfb>#0fQSMQal4whQwT0WV_AGg&tZTG%FOLx1)qA%p+KWsg8 znD<dz`<bsf&p)hN?x`TJw*9e1YGvz{hmlS{o1Eua6~?W6DBpEYW9t^H7}oa@RtrAw zI4u14)${x}@9*8reWU0$u|oA6`+tUYTWt(i-l}jq=dsl~BX!<u>u#C1cB}8(eVx5A z=J<_Y+1`b@+_CBt4P$TDO7A$E%`wkIa$5nv<*VwC@d_{R%Ws*>c*<<n_m8eqZ>dRl zepk5~>;G*-q(VkciKXt7yWgKo$YtK}*m6ylX6>ZNFUxxr0w3-^rgijb&r0bk{<U@a zKblPYqqE%)ObnQo+{d1mebIFPE%Rel%Vz7%m+9n~@nC~=+np~*E94fgxEp`xWT~Q% zr+Sd>sttQC?ziL>SDp4sgW27fC8wwPedMMy$KP-J{3>h3ya2nhTgx{*k*W-vyv!gw z?TBH7$erRjA76IG8!(=<`L_J;%-LD1{xi(4l49p`l;QWAs^L2|hX3LD$02jK3mG~7 z)pkvGKljs&@$Gd{FQ?^=C)Or;rzRbd3CVfruWV{~%VI@r!;{jrff?Bbw!AI{ZkcB{ zH!Wu0Y5Pj)NHF7{4G#)^R11pFnrwXQtG;u!2dlNO$;AF?GyE-=NFK|)!Jhs!=I^^N z3#vZ5Wkgy&-pU}u<sXz;^<|mN^D6;N!a+Jq3bgDB=Uv&uRmK!=Y~O1#-*K`JOWIP2 zql!kh4~pDuS04H3;cs#$!1wsZ6OY%LJYMdVXmaVs%X_or4OJCQ?k#4UJ!_Mz%JW+d zmFJh5mpi_6dpygR;Zw2uQiYdCMRqz&E?=stEK`(a=q|C6@oC3uLra-|TLV7(^DGvb z#q1c{@!-jogBu(CqZX}gvVC>z-BbpTGiUG3<8?myzAKc0zshIH$&k-qmOq*JGElfL ztm(*=ZD!UiC68tpS@B#xe)fEj=7D$LmWWHvseSk5?Qsi}JA&7jvP^F7n{r`id%8?8 zcR=LtLZ9c?)=Ua;JXf*6Oj>!xqnX#+{%9l|XPdy6nWCbp@Oa146Uw533_Z=4=JA`H z@~OHI@%-8IOS30=vTrrFlzY_Vp3Z(DB(JzDcv9Kp&r5lX#FlQ5b53Bjc(mA3zWUNq zi^LbKE(Hg^Ghdt9;82@Y`n#ut@$TzetDlQ1B-HMkQq=Hh`Gugj%2Q=7?zYw3-N#qO zCB?`!@ymPPC(26m_FRw&GUmI|;1E%;TyD#oOKH<B6uvIVDC*&wz-L|}a=chwz4`4? zgMAX^=d)H!tN(xT;nmso?{2hxTdr)>`?OPOwO;6@BoCH^#+UvbOHMy${`BsE+}F>~ z6TWA(OA6|jpO^e{)Vj6jgp8)F0N=i6vpXk<860D@>09#q(ZWOSk_wX;&#S9Vc8DnJ zoMh>LMp|+6h48)_=a2Jxm%MEE-nQpczJwu<bv4&l>t#EqT?*-7NORga!RXZSecBK2 zciG8G`Oawj^q=8v)kYO_i^TJ>TeopdNe{Xt(l0kZXwtKHk)@Ke9>qRsI{q`P^~<i5 zT`rru>-8c$4*z<-wa}O)(rbl!!qeN6=SO|9ReFB-{tch+LA%fWXV5tA{J!h`(bE&} zobvh1-I-#%Y2_h7Uk^3)@3pm=c^7ogEYf+a`|0_mwYOt^Gk>25*>-P-<XWLiPi7Wv zS>@z$;CbJSRcqL7SN;9+pCMys<cVW!R>>b%P0BsT%9dIv_qf44c$S%;$MKCzEoHu} zxH;qN^E(%U*vevL3bI0{+kE?18u8@9;{0n(>#`1(s-#H#bDn3*Tk`Uet;>OJueE;$ z{%2q)-ac<nxJ1tqR%KI-so_tVnU)3mmsrpK^s2W|<Nk!*9!FDcR&Qy%aMf(alZn?B z>h@<X5mz@#NhtiY;&X-c&bOiEbN*&JC)8$p^Uv7-+`zU%ey-Q%V^s~cueIy=tO8=1 z&zr1~Iqod_?9S(ThS9Ui7G_OSnDSP~sqM?z0<|;=+f}KvW$m`?bUjn`_v^m-8BNa) zJxrVE$aC-Cl%qe|A8~Bi@kL`9cixlsnDqJY)3;Ve#h+WSB7e%arO_8GnR&8eO}<M_ zeErR;_1e_D@4|6gHXA(?T9V4~Cab6FbJixG{B=eTi@eM2n)ci+_2f}gQ}3H|)qd-V za)Cnk&6*x>9$(FMS*_V)z3{>0OS@zBkA?qAGQGR>LTgCT+~QduRp-yWxsvzhLCM$t zH<fnwFUa|4{$t(=pKaGO`K8^yo-C+(w5eo&=d8DL)K1FgF{Vv^CUG!%^4W^~d5$cf z`=jP@pHxhGdF7j_e0YDtGrO+#M{%op_kY`acF`jyCn3fs*Jr)nXMMf2;z@t#P9cXU zQ~lpH$E1IIw(8sd6r&Z*mN)yp&bd52Ddx#VE-h=xo#MWq<}5g+DZ5K*^?r5vUe`V4 z%T<nBGE1y&Ena`IMs@XT!|5CU-e4~KQ~2|GXyF6tj_{M-6TWjTc<?3pKKr#j-%cN~ znm2drns-vRd)X@ftW3N9b@xe^V-K5|Z>t0ey1lyi@3QGOt}VLFU)QWmE>(^0sk(M2 zs&V_&r4wteCr|QUn|?Q@cHzyNPSY$OwRB9J5uR(XT|zW*r^N~nwv~z;d>N9mzS4yr zz7hPqH-e@eb+eB$4@=%5rrzwm<Iya?Og6^_&d2<#0ysqYn&xlW{+}VLLCMlojpMEN z2EELNc~>qoI;sQ(&hl%YCCykDe6MLiP?P3?W)F@Nk7i|st=Ri=S-b(C=BuJCtAMh3 z^<29<H+$VvEpDrw_v38IwhIw6&i(Y7`t5a0PcdWIzN>#PRjxUy7gwqE{Dh5s)Y&wP z<5?9dy+@ucDxNn*>5@crmunH{aS<VoW0oQZDjzjY6MJy%K(kl+$+Y*OADfR_%Qa0F zR=sz8uYTND@ufb}*Onc*<1_XBtN_nvGYaQioTu@W<#@Wf`cezeEj{zL@>Ngvy?b8N zQ!Mr~gKa%mpt`!vvz6~&RA1iyF*HH1)9})iGZtq<d1@<{wIB6%h^j1Dx|^%R(&D(% zg0%Bd1v&F(ob_#(xar328<!7!dFdO|RO~(P-j<&Zb$^O9dv01czIK<@oIPFHcGVQu z!q@YC0wNl_GE<X3^>8IBd<;EhSZ-jqY>vby&f{NKv|YTu&SL4EEFJ4U-kv7odGoG( zowVSdy;Q(YMt4Wo<{8^m6uvHB)52%3wRG3Kwcb-|j!v)nn<ew$&!QOx{$82K`~z%P zY*yWrRNS8x+<$6;USYG}o!ZQZa2b!|YO~zjd@cR>O$_gzTsGm<Sr1QH&9~QQb=!KZ zQr+mC{v)&D(HzUgGFKPII9Ol$pz$wMsjn#W&L*=ZfoHu=S*=yKSee5nIB!a>1<Uv4 zR+}D7zBbEO?L^W%4Hl_1U+E355uL@&^S;d9^=L8M^itkg{5sF~8GBCloLA_#=0Jt1 z(X2-IwYF7X7jP#$o_I{_Q>@@g)%{UtB}^48o-I6*IX7(f`d3x?Gu5UWw$4fHGoEU@ zYS$~a=zgo$-+TPkMO*qD|7Zp3KMX$Ae&+1{?W{#1xyO~(>UWx+U~sJXZTYiY)Z*K^ zj8n$fyLy+L51zZ%*fY34>B`J~x3)f>`__2!*VjP@S9nVQoR_>&{YRh2H_@}5^-|N% zD%5K2ol-4&?%XBaqHhK@orbR)&tEs)UHp;xi1Cg3l$dkh#pW{Ye!{<Cy+P!S^5vBe z_??4Z9R0#qmKAsR#JLz5%}1MBcK*rQGdb@`Na_vw*=sXTIZw=7Vxb*SIpfI{eLX*S z$raz_rtI{5rhZT2VjDC2TDLXQ>qWjMx!cc`Sy<%wnZG{nt40xT*pqGcQ!O-4K9`Tu zvGs1fEfK`HOxeuwb@R_Ff{nYM<?sYgXZW*Km-Eh*-tFn?AC^l_Nf9y*Y2M7R_WJFv zsr)vNmL1xe8DVhZ(UcR#Jy&b*&D9KTJS^Byt2LomIG=eblbgI(dzsx=>FYl#m)Rwq zP;I|={@ScF2Xam2ii~Fk{9wQEec43k84My%<`j07+xnZ_TdeS*a*6r|)0D_QzKF-N znyaGKZG!oI_;xNxpYwfz%kIv6$1bNkmwH<swksreIT^b)6l9qfzr8i1$o6IErn2uQ zym^}T`g=`;uOxq5_9Sse)dh)Ui-n6$7V(+ORQKKcQn)4eiSW6K6`T^UyW))Jq%B;a zVyT`r&()&!h2=86%O{qn&)Xr=k+hEERG;;wch4q9=Ucq?ocKl5v)AzH$KxV}{p&@} z<l6mR8D7-1hw<79Y0+IzE`Hy!Sf<dI;fty6BwGuWZwLRp4A>Yr-!HRk$(-OD0=6$> zSb40fE>5bOa_?W;R8Qvl{~2P{SXPJ^l;tk0D!gv;cuR@ovOF${@|@(`*LogstxK9L zI<w;7F{|H~jr<&Jf-D(V3Rdb^U)o{GACs{0#d1-VIXvldU(WQ%T#jwlJYN;gs(5x@ z<9<UAi6@FVVh^gX<os@XW-3{Gc-~xXqi)4dYxqB0=DDHRabne4jpJ+!g%YYRh?|P# zPiUw}p8s#F%|65Tk=}aM2_f^!y)H6VpOJj<(L<(`-PARH-cFH6$1i6r;I3}4`8VZD z&c9IiGm>}Om6i&de=MHwCGjrGr}6rnD+eYx<Ue|DH#NpGZ_0;z&9<8|oYZtIkD9+P zs95s#{jE6?{kv`#|GL0@wZl?&<?e6&$Cnygm^8Wm6I0$A?d&th>anurJB|gDIG2?l zeD67_=v?*VJCFA|6!S}1zR{FcV7@UYZAMC5S)c7$r%TPf$Crw6Pb==95q!AGNNd&U zKXFqen}s}{uhnKf?a=g}!QA<D)$fpet^TT&-{x67wx1i8X<j&wS7u?+r?Wdsj&C)5 z&blwaLGEjS*)g8F1nXdq$CFQ<f9>PiTu^zdsOs@vwm9ah&!KD&9ODcOy$l$RJ373J ztn^g*btUKU_4S`ueBylVw?I#GdjI?tOLPt|{A0Uv=E37t9RC@<UJzIJtjnvAcpoL` z)qSj9>SzKtPl?D^^@7)pSJIn<9@!-?{2igpP-Ls=ddrS$&iulzgOU6eKP%5a4C>ru zDS7;9SIlCcd)}?;qKc(Ck9PiN*doX9<g4WSu*W;KmhSGU+iE7c@|oE0JMtfvmn!Gg ze*UX%5wpR<Cgjiy4`;S>_cWKVwFS)o)@r~I{W9d%OTROGg+0Hoyf(1*HaKas&0+y} zmS=vD=8ehL5e>CkyYo~UjM!s>8!e;*81MA$?_81Wv#BRs=F79?_kV=SOkjwso2u2$ z6ED3x*(NNP*JIZv!IO{XZJN8+y!_GX36V2zd}T;}8QkXDpIx(Lmg`Dkog?2A9`E&< zWWg2kY3{Gjq2{YryxuX%c4LscLa1#>Rr*@*jw{_Ol~*;qoil%V)NbC>M=vj5nl!u3 zAv!Zvws!AX8?Q6s=^uIevMjxQ?iqJ7YB|jhvXuL=j8oKq)_(@$Ra04bN`HkJohsZ> ztCc!q>aE(9MGHS0J1%G69)D>`-(wboCw<44KaTYANI2efck`c@r_QNpu|*`U$a0%> z*W=ymL#&bqzOT+KifM^S>9c%Q{W+pnXQ#r(!(~S;Rf@mwka&FE?u+P|?8+naox>IP zX3P*d=DyzMn*OY!#p+L=_aywyO09Ey*tcbtytQp?omR!g8nJ&2u}LWxpXZzu+IYHJ z{QSe1m~a87g}E0OYuUx_HGWlmZRdQG$J{5_?Rz64XXM%%8UF~k$v9@uC2wuzzIWQo zGv8fIc5u&OW#OB{_ce=q{q$^xz#R%bPinPieU7#~=l=8A($5Wth5Hlzrz{PeAN520 z+w70#4K_yegf4AaUA<bBJ+XNE>7=5_!aLv3)|!8C|JJwd<CXsmH{!H=qOyuM3d;Tr z?strz_VLby!YfiYFPm1c)%&LXo0E6%5#PO%RZYB=TZ?8D<#}f1a<#vEv*~!&#Wm+T z($!DhIgodJS=N!pN88OWzwOeiOG{vvUH$R#F?rcNg^%;!9J`k1Q-9MVNX@zJ_{!tK zU)Sv1r~Bh_@D?%is3X_KUKFkR!%)xlFfumS)%aVb&Dni<ca|}-Z)Bgh<)hNyr!nc5 zm)6DoG5EV+kNd;7ap&$I5r12rx|^l`w5j9)9V5>J>o+U?UGPul{*SKv-dlJ6XK<au zkgm=pe}U`CTBjwdr!M^L&$?#1nx8)-e4f&^l<4eik@WQXT{qs&n=?=Q!Q0|*=RW#u zpHzRybm_tDob_8H&pkS|N4U@7Y{I{5`-N?sS7fhz@Yg=X^N+diwwfI=qDfUxx_+F? z?$InfaGXo~(%}cf{U#?$`7iWy*4-51x7<^{WJ!zs<TuBgmVC8)w0HC2`CGmpd@s;> z<oo5!OGgf9%w<|BAOAXj(g&T?&`<~MwlrB!+uo9G-=u=vMSk_3(c$x-R5gF)s>&4o zLap{UZJi&L57;U1jLv0_YI_xFxG|bxgRRHOzuCKD*7V5FGqC?#`eWjPJGX9TZ@BYv zySx9V8I{57JS1c--_H8WwE6EE8~!B`kuQI35xRdqmut!PEKgoVYqzWaUVUH3<0n=y zZPsF!^XmgQ6|KFzLblc7?Y+uJ8@|{kdwtZKDz<si9o3_IR_&fyao9X3+*yQI<Ji~k zgoAp8J>{k+R*9amF;qyFWN)zg92Sztwcx=9OMCySANk*!fBa`CO<o&Ok^b=Oi>6o| z$-L#g+c{(8cfRBI`W64sy?5<D#R{wAVeRR+le@(QR|~hXPqUjdCu~#iq{&enUsa}S zE&2Y&-D_sV#JlAswic_xE-!iiyUlZ(@b2ss=J&x)XI?o?I<t7r*EQ?9b}s1&XD>JT zIyq}odfV&cUQ0fm=v#BDP~pJi9m{nNi1Cz(KA%we?NRqav#2{|4a-$#%|7!baPpO_ zj3()Q&G)-_POSL6XX2qQqw~rM4EA1rF4N6dy!;WU%*1%Wu`hzJUO48;Jk1a9Cz?L_ zHFZbR-6rcb-3M(g)OIF+tbVwC$}`(6O^*rg+snhw8Q4orH?Z|pVPKQ5R_~7rdOLB4 z4C9@v3Tr;NmiA8y<=JtrY+gItqP_bzUCz1npCNo^?ponBYwlG4&0IO@<|_H8&!?&P z6dz^WE`R6A28)AlvY)&csk^$5<>K0RiI<j64%pR|uWB>#6RT`w=a=>KOZVTpe$0H< z?t2*%b;4E^bsWyHDY*MO;?io}iRSjcDKm9%*4z~IRCP$c(s%gY@}PHqmdcV0U*5-0 zkW>5d@bP=0S7O4lQLeuYRh0g{W!`wsedYS({|s%5KL)+BPwi4H&gR|Xu+L%oxxmjK zU%n^~|5|moZRRfr{!<|zt|oXmu=E~iJeK{?zU}^&cMI27OuKbBHl*p~{IpaFmF*1S zcYIFs7;ag&;pc)~><J52JXbcI@>JucO6XbN0}17EcUOEin|zM(ZCvg0KQ15q7O%YX z;+xf)qS%OIm%W&I7lss{TytOaPuPd+Z6<52L!vv@om;KgCF;hqGR`xvRwI<HYTFwP z$>a8at8DJxWWH>A>__&|S?XO6GEHVLow)G8L{Ayv_p!zs8f=gB3298&Y-q2ws%OsS z=MFKS8D)()4*X{j_F8wCK`y)L!k_AgXR9i8-n>^9x8BiVe&+Q2J=$B7UO5RkzG9GE z9pvyRD!74t{Zq%(A`XS*wduN7cg%cX%&1ah@MZbz7J)UpFP~EBy?I=zKU+w0!5W4; zevTFr%PSi_m3JIBb+D{xb~0ZqKV`k;*Olz^IDT3Lp7^)b=3_O-uJu9MJbeEdyv_@! z{Mjo!P4?w~hKw+4BgS_OFQbYXbLX(#VaxJ;@bzto%fhK$&$H$*zxL|?efFH&#fkk- zGM+Jg$UkzWE<xq_`mBZ>=XpI+6+azj_@cbj#9FK)cj=5L8;?H?G)%BOanvQIA+pit z+n1%RA#dX!iWp?fjNJHX^81OtddJ^=@^#*?KDj5Ta&>=T&&MF8gE_VD_?<N8<$2t_ z@<B`CLBo+^kL5bnjIaG?aCR@Z_N)A|;>mRGX*RkpmkP?hE}JfKLbf)mVREI8xPqo^ zma&4Q`qULOyY=2Q``rID?e4jH{VKMJiW4UH-CboiW763<JPG_&y*DG?{cJ9IeEHg} zvlE-@e|_PfQjrj%U3}u%j5iU*SN-LEuIPSBFFav?Zt-XKyXXD3h)m2lIjOqAs``pj z;GvBNR&X~k<~*3g|8d35#$Ug#d}d78ss8l5tnJHXF+IX3SJ)h7VLoO**K}zR*Bpk* zKUoeFP8?XD^YM69=7iqIE59hM{@H9_t$ZaY&(hNN#{y1gQEB#=v>8t(Nqp}6&v0qM z-QNdR`4!*4H1R$|tIfQb3)q|d&r~k6es^l47Q0R1{cDSaQXa@mlVpB*ZAJv&^78ul zb4xd<-rHHuAoP5GR?oEKXWXQFm~Tz4YAv!n@%FW^^@bhF${!_{w6#Cklp>RBTf4GX zLA}rL+KeLtT)&@u`Bmr>miQ-n^L3lFHJj2xEblPd{bxA0Scj=*In(sS{5k&_Ci|qu z>limqd-=ADA;0E9p7KgtyD8TaB7Xg~SQ7l{lc)OjrG}df7S=~G$a+6XZ+;nQ_rPq$ ze+IiP@7$s#m1geTZmulDH-&*An#<$(_x`MPfqX^>=FKTTxte9;@5N8$&tF@l@Xm-Q zeV_eYrj5)C0we?*94ua+HS+jyT)wn^s*hJ=o3vZ;yeAjVu%EqhRn1!Th{LA?jPv(i zd9?b(>?zv}n}3CFOXcG3-Ff^!!>V?U=S70exA)p57;`oB{QQ|E-Z`6PCBx(XtjikB z%#!cBx<c-%y_tIZ#I4%ej2)7#R;$XM%lEG}oWg#4UR6PT)CJB4QBKL6!VAx4d~{j+ zS?`1Kn|dofR&`!U%OLij&sH-<zl?H~NbC#Ic&u&{Vzlo5%!3Nw-%oz)J%g)Z<Ld)o zmKmf4Z!GTGtP)}IAo=?GYqLITeM#&ou`TvBP-2-7-B8Q9qFLsP#n<H>-HF!0GR=LQ zx()oxwAL||-dXao&;D;o!{qHI&w~zBU2)G)ka>P<=?3}Uv%5bp$=SZonr}<PcEwt& zOB)`%vAem_hojH)X=a7IxrtoymGtJbmX<$nKaIcsY4r}CRBQ7|miEt01)ooqn`+5b znLNqzrQee$o1WBLaX!_W^Pho1wev~Y@$Gvp5)7VO+WLBKF|@8=|FY7oVR2I5l493W z$~=O7?%eYh?^R6yCwlT&v7bZCyBg-6M-6_?%zeDty*w-pW^<SD`5MKjRi3*y@2j%L z1kF&p<?3ISB$RElzAUequ!H@X^#+E=^R`Me{J3@FyruHb%gh3|H#sK%ObCuV!RXF1 zuWrh0(blqp-JEy(=Ksy|(L1>NXWf?G7Rh5p=KM=pFB(KVklXJZT*zzqw8&C!E2q!g zJ;g!Od3T0SsCy~f%CfDh*w=$YQdnBhLD|x7D`W2ot&0B)S?h!%9rEt}o)x=;C;GC@ z)dj`}(iOumPrfgARcN7BYN_Glp7gJ)SBOkn(jvEP@x<gbow}T4=Iz&3&)`}Zxp|V| z?fZAGq%*uZ9+!3Pa+8C!yZn<N279TP17X@b1TX)(>{B>N^gvRz)FzSLVsFn|JX(~> zz12Zd=J~z8#E8bl_au{p4?N*(2-0{`FP^tGN65j+Y~J(huYEop%=3uPf9-Ct(_=1A zy>?Ie`Rhv^`&ts-+RZ<=MlNJEPgk#~zkR)I`%=5aqN%6Y1GhIw7yRl94eaB$v|Q<v zp#ApAit|2&0ea6StZ`q?uC#uJj>iHEEr~hlYKwHIv7}4<*|$}Zy?>_T3-|i9ETR%O zcQ;Rd>246wGGU?f$Lq6t9g<R%8ExyAMks%Ges+J3Q0*&I7v1)N!}pf>vJ1&ANclLc zBrDW^hMUL)#wUL@o<31fyWr=(V8zv7zBB$amY2tIu6D58;F<G|YsY~HzooMEI1;b# zU$N3_TlvX(6$k&7T;p!LRq%@OyV8sZ1LM0h>LONzCiPD^^JM-Hev=({Ctvs#d_CjP zcA50Xdkq_QJN;RC<?s9Yti+J}6D8e#FIP8JP=DWd=gV2mv<W-vcCsXQtxJm1o{~_> z!e158Fn2++`ns&p9CH;hWtlH0m!*bp{F(7gwBvwWWXM+qQ}fd&9{f4{b$Q~Z>UBl7 zuFBSGQ8AxSNGvbdaCgDN*YoZjzb<mAouPS>eeipKmd&!q=cIpr8Sr!cE{_Wh;n(+N zO%_z_$oc!2_16_;%fFu{_}A3)=Y-@$&d~mF<Gs)HbJN6vBHl_o`M|z4aAuOnRJ+{6 z>`k2VYn^^8zxwU@Sb1XetE~1(lf0)(K9>BxvSz!WN%aBerql1N0u$7KvIUnF_araN zJSbYU<F0~j@zJ2$n@kHo%gjA|`BKB1-7~*ySSaw#T&B{UW_!lD_T%SdTYGsguD5!k z*NYp9=QOwm=Xf>Vwk&Ywe;H_K$z&?s?stD}RI<qpZG({MXLK*i-MP$mZneTsx3YOV ze_bod6*KqZ$=Q=wsc_}Zw;M^Rsv9ro1~CP!3+<A<`_YYknqrz=oN-U_u7%m#d{-Zu zB2#?M_LX4u@w1<c=dV@J(|hwi=gEU#|F&F9Y`fcfhmYg=$5q9#39DVq3vWDLzhe3E zQfuB*U9+veynGw16s68E!T134{I#|b6OTXBl323imWsj#`J>0xUpkcA+cB^_`F7Of zlH3_S^SL|Uzsg+FeDbK?x1YOs_^huaHmxh#z57W~)?|q<2_e%Mm|tGGJZ1f~qtYA} zsRvbNwak4|*}VP3ub?BxRJdB6%$a=u)|O{X!JiYS@K0YZH|6W>4E0P)OZ&fB&6Q~^ zdg1KKw*KofMJjW5&e62}bt$K<^HHyvuu#G_zkB}~f<5N%x%I|_`-0%*Ycu%D&HUr` z-Mi9wf@_6Ee3Xt-dMHPkX5zeJ5AoACEG!Q``1R{b;i}>tUu`{?-eKll{GZ{v*8!6T z<`weC3cr}_H~Mq>*!|c3$&>irF1J+wB^WUMG3V=_7g$y~a542B_`<y6*Cm_(4AwI~ zL^d)A9{A5-w^jOi9;Y(9ja2e+L)WQYE$WT)XIy?Jocx`4!MwX!Mo)v21<GZ5{xkHN zZr`X<#J=6Dv-8HE2L)DXOE*r+laOX(kWiZ^TX8zsCT(?zY~_~~hkJOJv+t{1#=32S zrb5Eh=XP6mFB075DP+fQyQ*Q9Sn+3p+tplxf38iPt$bSI<clNUmpSWgJ9f@3r2ojQ zumtJ%rOY3HT{TwhP-ne)%;E+A&ZR;!scjyjo*eTl(s=&vpQ@<!!6<#w!^W4#mpW}` zQCa!N{@0fi&s5pxHXXKn{41C#Jb!x8WBW_99-n6Lz9Of&y71|reUSxsm=7G^r)8O! zyXNhaz5Av(3-N5}v3R`Q_O;~|?-jG<jybIP_+-a(hOgh2hJJ3+vXo0^Jn^EsIWG8- zefK~1i(8&tOS<-WlE#zJiXSS^cQEZs`mz0Yz^yE?*USD`SFUBr-*YFW>5S!rs-WgM za~E|K*`2<+r}V*E?!X-zu5ayF^Q5)@>i&BwWpZDiMSXuO{b9Pt<!AGKuFMYJ)#+)l zf^m~|>H5?10u`GBKgRyKwQQrYx6N_AGyb}-V_xrZ{k|qkes}r$Aj_0n;S>2h{<^k* z+x8>Vbk&+|mlqp7ZInD{_h@hTp?x+V{JX!L_6>HwwszZzqcxM&RE0`z1$>V0p0H(; zp~3`rpU@xr>))h#&(4gy_fW!U*W4unwX5sjytrL-<>K$jN^WOWH?tbM*_E(c%2uwp zv6|@(+r4(X=4INS&L7w>yC-q!>j2KJg2mE_o^u47{8hFW#xIXjTb;k|<%TS=O*;E` zI=z{3<BYpXxM_@b*Um6g@5%)Vs*XpkRq{duFUx%FU%5bgS8G6B-uzx8SDt+_bD9cn zd=))e@KkWZO06H3U+k~VQtC62`8ofd?M642tb?C7d{IbezSk&yq(gG*1O~?Q_PsJk zdV9TAGb$z>c_6^XYO;*c`p4H}l`HQXS|2HR@R+4<zE|U-6Q@!=ZQ5*CE@MfJ@0}Sg zdt5{`kt34vp5L8$%kP^S9dfXi*$}ty%Aw<Z4}yLAf=u+kS0v5RNWT3l^GWa0sqHck zKK=|YSm!Li%ev~~)2HY7ud8=0Rq)6bRgr0Ow<%ke^JK$=o##zHE$4G;<34$O`C7N+ zj+Tn)c^|w}o^1<~cJ5TQnPjwdbKj9)m!~=XZu)!hLV82>6*oI)H?P(gRXvxVp61<g zgFj5RZrSV!Z_LXc-9DI-*u?I|tq}XP^LE2xnJcjecpL9$KIxk3DOt)c`S|wh$eldZ z1`%gGik7@n;ah%h)~QvDaqeH1D==<v`?>r3xy)lR>n{Bayppu+$%+1KnG^y3yLMZS zx-h&=+VlB*RqxXxm4HaE#vcB7uXUGWk~8YqZ5l(1BrBaY?n*Nq-&b(>!xD>`2ld#K zBnp3C3*P-Um4z+w;3CgU*KV%cD*0!IBg4A`akXb<9_t&1s@}9YA}LdHe&dR#o=iC` z41b=;&5t^4r}|;X?F>^9RZks}x6e16&2V1fSS(~ad#3LE#nrz;c1;W4ur59#_QR?J z+w(L#xlT`5v-I(k#|umk{<wT}+dR2#={u)52-`G&HvISE*Yy)p&yT#9%n~=gn|VFm zZ+qDxrJ|#?=T|OtD~fx`JKyie<wtCj7u@o=_Wk0_MoY#Gr)pO}l9#CQ*?(o-oP)-! z=bW1_+ZM-_u76d&`Of~?%6`8)RnM=FdZa33a`5iI_lXA%eqA?5PjYRF>)B(wvO8za zJYBh_;ylZ&Z~I$!eQ&ohT=Das)}>1y+&>@jyxsQYyhHZ$9nbqT7aKo69X!v{V(m`T z=ZcqDl=KdKmyh}yd_k|SC$6UQ!`5XJv;N6#_cz)8UQxyD%<tdfCi}PePHmrQ*{i#$ zuE?$8oc06zt(_7}a!z<WX>we*`p~bM@a-Dk!=<Ol7<tw5Ii9b2R1sReE!^<e!o?Mn z-9GZo&0Tflu2yH^gy+q(Ud`hOQ?|*ouuNFH<F8>n^N-u{wbG84?KkEx=vWYTW4Vrp z@}-@3xgWXwn)-A1)jtluB2|PAZad!kpCNtT*0VaMU!9)W?f$Xw(O!3#O?~GMc6Pa* zZvJ$loUh^fsjBIHdTx_#H^<+(b%OC$n2%lY>qtARAKm%YE7xqu3d$1uUG{UqlfpRF zHLow--8q#*`=rb#_q`$oz3XdYj=uckT3YjJ*4wv7f31A2{bYlzadhvaC7T;lH+1g1 zC~r9D&*B?WpQcpi<%uduFG;csJXicO>bsoeN7kilcFp<r`Dg~ePWV&#{-x!sGP&ox zD)sO9r+iIG?E8^i?(LQ*|M(WYUw>c6NwMf@VO#veKiab<dHP9PoOiI*S~z9?p31e# zo_Z~xrNYH`@9Ntc5@#SSzP$K#DEE^P>zxn6Rw<r|>wEi1WwAirmfDpw-lx5O8xrz- zJM&uR^;?a4S!SMm_;J?#i?^P5O|N#@=;r76;Q76ssyxeWv)yEG@OdZHbExpIWi6KX z`B5CdWxCg-TN0B_Ju5J}`CvkI)vRBWgLn1T*e|%fsPVaizH-e1##i+-*PrK((98LE zy5dsJibD>)=SAP#x_?aZ(S3eiy?>>RZ-P(sS+pGpmup`6eVt9Nrmw1qsq)N^(FY43 z?Vf4MJ$>GVJFK~z*q98jr)PcroByc3QFn`Xto5Ny=ViVv&|sO9EHlY*{nUk9x6P9= zo|-tpJmu~8qt*Wz4*h3nt%~n5on4`;_h^QWny26my>HA5?)IPB_1I5W<8+F-^1V8# znwSr3w{>SGuggw}^}6x*)kX_j2GcL5OP}t&;%j6%iT&I$<~fhMKCR7u_-<<D!xJVa z-YRuHy3r=Y5_sX`=kj&C4%VGc&d*5|veDi;(?Z_s@oFcjE&hgAblyH)QF6=S_g&6! zrYgmqZr3bs8DH-S<MQ2Uw08e`$+J4;+-IH{w<s_im$|O5srH}YmSV;A(<+wodKD5Y zmBS}!#Hc-<yt|LJVttRDvg1RJrCsV>*<0<BRu|lmbvQ4-w4(L+TVI78$@N*`iu(f3 zUnsmZT|4FE){S4MZGWuK^CM3(W&fU#P|KQ$U)In36aCvI^ZB{Uimnl&oo*9krrL5G zty%eKz2x~v+P`~!oo~-PX>Ipi^0Dpe=F}ba^E}V=9G`G_YpIS-&fMe07fb6qre8l) z9i2VX?!0kc%E?>V&69(Lt@6}Qhn-{yE1BSNuFF&A+e+mYx1Txd__P<QwAJ!H@aNC` zr*!$*&b<>a8UI_cjFF|}{Mu^2#s|G#wQAh+Z56h4%zftAqctyL-qnvwr)^!4Ia^`N zo|MohtS{`g?lwPCFUB2ydFh^M(UBr6U2`;puLwq-ifuWc^>OOAxyyXDGp{Q>^t3lJ zb3Fb%`}y18;Qjk1&ar+l`TMU&E6=XI<N35vvS5zZ7l!JvnCahD=NBeOd|*5wcU4J3 zY2v;g?6&?@Gn1riHWlpq>bh(~&(j@mFPmykJt*@;?%ot$qp~JZd7UoKzgcDx$?B&; zxBa?Be_Zyn+1|`z!L*Z)rY7gUJSc1ZuWi<)r;WG!iYNZf+W4?f)2K`=x#!DKlg^Z9 zG4E{I_l9T6cEsMT3d%D%o=}%6!)N?HWFoWVISbL)U5}PdUw@*=Hj9nL^6vM-Ussp0 z7CA9V?zA-yz1g|)PMK-QG<Bt|&OQ}92Oe)VT%luN?3;X?ZLQ*G-V?G_m#r>$%JMSs zU3J<i?-f*d)IMX`gY;WXlO^YS6|I)pa9n0yrUApxOiNo0iQOyCi_CbFad25fK=GyN zvS$?zNQlVIG)>y^z}710-Q#;Rc-0=yV!83CV#R63cbaD$AADcYtJW#+*;DNE(yd4% zjLD%qxZ>oaR>rEJ$GSc&GBOt&WG*!}&x&FQ^z`g2%DAJ!Sp9X0<+4e>=E^pg5<ILf zJr}tncjZ#$v&|EP*-uKET3MbAer^-e#reLgjrB>Hsof*@)7MrmW;~{Kt7ysBqrMGO zZ!mB?zcyoy)rJ$x`nKFX@PVCaYI{-c3%(ErU+cmo2j+gS&QONCyPv&vU`dxfm&q|l z;Km)}u5jtT2Zmiee1A2MZg6{cVA%{lZ6D<eX$=ooSTc8Q5a3Cke{9|vKeGo(3v~EI z%4{yZJD<f+EKvDqmgo7k#>%#uMaB&pj6ZE21YB&EI(3}!9D}U;wONr3-<NzpuD)08 zKpgvCi{u|}T6XRtOzzhfa5@)wEMuPJ`SNe(Vuj*sO*ejBT_D2|U>8ugMe~)v+*Qe< z%)`sQ5<KT!X@4po#rVSC@%p`4g}0VDC~tUCeR2MD%adPLoK*R;g!gmdwI!S%-(Q>k z@4J5#`x9T;;<pZ5-1GO`_sW*tYq|8e#FCSi>`P6o=l{R-`Tm1j(fhp;4c&Gp1s#xE zeEqezG<(MRyBtRDKQ0|hK3E;bGVQz{``(&g=?VLHx70445b;KR<@0NEUT@}!=JE)* z+iAB|X44Ahtme<Doi@T>mUXHnZ|6F7hVSAD`M*^X>jJNAwJ5nAnWq;S;67FI!N1ba z`h7VzwvV;9T+3On`*wMg(I$^OlZ-FRW?!pQij0kOdYE@~!#3+}kEcK0p7kT?bD($F z+(6E<sfV{!&6!{I_TZ(kXVH_@tdGgbUEXp$?DBf0ot~9;k^ho*%*b=`NQ@IH6V0k# zHbEdjulm`B+kev@$ENwt;<a7ba^O_WyM=rAz7&iMoEgo~BOJ0QV^V0Qw3bzW)P3`5 z#)s7oK0U#H%J9=fN1mrokJZ+`GS$9P>^s}K&nm>(x>iH5a$SIizef7C%~Rxx&#TSh zbF04WxS&ksR^d^_sL&_PFa7fBx!6xR6whJyy>tB5QZ2XQdy5k?cB-WIX9eASHp|`C z*ys6<Wi#H{e7<n`yYQujyp#RUM#O|=^=!=ht9hJlhWk>+0+qfk3x7(!4BQ^*f57$y z_asTqUqN{%e}(uMUTRfqT;~5Q;m@5*#)dBnzbq5--^%jkxW%%GPVe8|nqn`?neUap zH$qrU<?He`i&Y1AU;dspwPAj}%w_ZRwZ;}p?l3%B;5+G^i5T-<*E#)ORu}Y=lKiuZ z?#8%I?Q>e##_?^%^}PlY=Pza6sZeJ5{<YhmE2^94E}N{@6fGA$*_WMZ7GG7D#*X%s z$w%Fac&(L9+Si-BW73a#Hl=5NmCvuBuP>b#Ot$DtE@3x`U=2RMG`{)S%j@?xH=NUQ zoP2MBY{j-M(Tv(HdJp>do|?b3=(A2nU6{(hsRAm&(P|9>MH$CfE%?5O=6qSe#vIh- z?&Ywk$ttaZsVL+2D~rXMva1{&L{B`I)x44OF=*<0kJWt{nh~NAAF_OREO~oAszBo4 zag*6n8~(@?UTT^t`LZiBRbgF0ma}HwURI5sjE?6ftrlm!R1R%bnEYiG6YsJmoPAbT zPQ9?(GW+B?yO;|;9f$a?^d57MDweOAmH2kvUk#O>&zHLb7$ui8dbm{uu+&`Q%TQLD zBl6tTQ@k+asN9uzhO-u$S#TMi<28}_bExS6pQgve8z&yG)t3>oSn<8spP}js-{bGW z-k)D~W!k=+y}K`SiQ>bJzADexiyWL}`POeW<Lw;>UVBA+TXEFdZi-lgT;<Z_MxW&? zCC)ERGo1OntL%~AGn-2jtiLY{5SN|v`_gl!+2^zTsxN5whgry7`Q+<jv23%T!)#TR z;PPPepyr8=DqRo0ET8seh4F0}uEKvMZ!$Wa%bD$?I=()dY${!wxkRl&s@BQR`m;aV z)T5^?JC12y{CxSPyULe8nYZ1FG(|kb@0(njdAMBU!I4>ouMaM{vChFU&sMY5V|B!e zbMnhYPAG6UcA5RU()?b)Rqs~jl!=0lPAgt_O=-&9@qCuF)?sO;Db+!no-b9CZhY-A z?IgRO=IxC~-T176n$I%3JY41UW7WcqXFYe@W=MSabLIB=tTp^qb-!3V;^$@VjC(eN zzbeC0glBf4?aPC&R+=oHe3rFXoMlchC-Yk83rTZ#HvaT8GJNe&%%>uJ@+fm-Lvg^Q z0^@6~iL*FWltpG&zV@6SRaS9g0qgO#dLEX`nqT`Jc$Fa~J5{}>f2|GU`{Qd3{j5V) zU$<Pa@wTsY<+tUjj?ech8$8cVV>#LLuwtd>EwASmtFn&pd^6SBm}hmtSy!8>_^8La z<x4}@Wq6o_SM$yMqamnilag%GbD;OY2kT&F&6keaeN_R>AIkZvOO~$|wUJt<)-#Xa z)WY)d{`E^)i}_^jml_vsWBilpEnu73$kemqSk}(gGtwLQ*Lup|*Wk0bJ2_CW^-iU2 z!%ESOR}wCsQGD=x!Gc--OIZYV*t(h=$SbgTHpPrt?#41EkE15Z>OIf8n?xfw-J9}w zPH<JS4Br=PiF5o>mR&{6TPE(F6|5k;W7Sz>;p-x2f3D2&oyB$WNz#-}^V&A=Ib<R7 zQ1R`x3B9IePea={UcdISP#1Oa@OZx0!qY)qL`&{JL$IGk;K@}@fv^2P7k{37HbAUV zUH66N9Qk95`8e*?bItVHsM6Q8q)cvg<5{1xd$)giz|~-G!MwgI%TmMLwsJw1N=wR@ zvud(+&WD~WgrxrdRTbQv_j?Pw#`V)Y!u|eL^)teo3al@4^S#kBdbQ$=|JjK>RRO$0 zY<hJu+p74Zd~f7c9FNah{p`<y<{p{LJO?`ur|&lriZtrkX#29)(Biz;D)}dooWGAe zDF2hCblg(C*+Go^$*i<bRbNe`%L8Wx)C+qZEf$)lHo54@=fL-mmrD2fSqH03v1N0f z^VVWTALH@0dbQS<Hwdq3-k|+;dAp?S(XhL(FHPB~{`Ap&jdxLDC!g<J*|;i;KjzA+ zr|mHzO%scZ9CiFn6G|mto(+uTWBO1~^?hZ{na4IOUcPnhdZxGfx#WKa`=}|R_U4Y4 zO&u)Qo3C%R@hCVjkKbZ}@3bF`yFp{rJ&OzOo=#q8Yn#<R&-18Tn!=Z}F^<L_CuUgw zF?{_#<mvQ`1D5BXhsGt<O^w)i_i)Or<egcbJ7xabZRMCU?YQ%wSF*=d(q^pTKVx}R zoAboB6bp$Lne&q6zDi^{Ust%YMdrvczj8TW^D_6PE_|Fz@6KcVqv26Cx$W5;Baed& zp*j7>rWDv_?R1M`X9%9obFemx!By`;-4qj+?sK-aTA?z@D@~a;G0&<0x++jX!gdvd z(+-t+Us~oo`0{1BaY}PfSLeS^kC!qq%gtDt!^K>9+2TKgO|TL7=L2$67#_KQ=;E+1 zF;@vnsVjNdcjto1(V)V<ts1IDhZlZb_2br!mtPh)Uzw+AB6H;Txr*08t0y1#T4gD@ zxQwsr+43nhN4Fij*k_P+City#zQro7!;-eYgRdTX^6O$!Z=r>jxg6)w$j=33c?Z9U zwm)mI%X9y_@{+smfs@~tT#!zj!8p}4)#CZuG*<)rn#ZrQZuw4ZviP<lgWL7cr>a>3 z&l{>IpU+<!swdI&ZKcZ$6(PGM{>!3fOoukSpHO^!sn?##J4BDmeEFlb%ftA*>?)V^ z9F6C)j4PjNsZQ-LF8*F6`1<Se#^V;RFJD@eDPL^OwB+BEW0nv1CBAod6;4;~v)ih0 zAYt_ZyXC*G<{Mx5WF35%NxGb+WMu~TiUX--Z&ZrsKmT!M<Nj$cH3R(X>%A6D%2W7y z)F;-_+Sj++XA|S`l_!;Y#D5=Xex;@Hgn4;<)Rs*t2KN7UIZN!`sl|4&!P924+tVb8 z9>Ku(iD$LHa@i#m6yIvRGdCq@N8HY5OTrS>o<1;Vo3+uiH8pWd)x`4;J=QFLH>dGR zmoMw-Oyy0+2F#hvpO<S3xm8^?FnTz9zw*nVyyvp~^-EQSc6J{;@bcvA;5GXqS$F>` zj(l}Q@7bd@Y|K5yuR{}pOvG~URxFKlb4Z^2uR2sky5shhD=T*XY&^!f<YJcFjJaJB z(H&1DEMz{vk1~pzC_Y(%LF2&fgOBfRIQDkA$+3in+$8s!YeikJ_|lr=W=bZPrQh1G zkvvD&>2h99Rao7}@6($q{%D^1)blprz*m(=%cpYBxYG70qVv=JOxx^o&&mF?e(AqW zyPabc+h8;C^4E2qazS=sfnO!pvea<R=Jj})r~hb{o5s8tcj=Hh5BRJ4xaU|#%w|`Z z_;%K@pfe0A3Ez}W7js*!yLNl~jf5*ES<9-<H~&+t*nG(R+V@>{8*M!E6($_;ORAA+ za9nr%xV)@Q`QzU&pI=)abxV8VmbIH_e0#ji?BCW0Ck+)+_+JNWGk6|j%brw`VP4iN za`trQJcXizH+qcaB7RTG-tggl_a5hmJJ#ub@%4LjOnT$*gPh0wD(}9H5lMB>{V{9H z_PBV7yF1e5t}JEE7C%#4{NeGpwyQR*i((^ub4sN<I||<1ES~e=@xAS7f7kvgI>MbD zU0wX|`n}_qWwRfL%$O3XJaJkQ!+C~P%@?F5u46OzdwTo#*^}$?S6<FfDCJ+Q^PeH( ze%Hoq^`JdhS}smk)t!-AP+eUZ*ZS!Gt@}r!w$7WGxis^!*Y2&k--X!jY?@@ncq4t* zk7M4OpU$5nl0W75vsHiBxb2IO41F;9zTDUPn_p({?JVWrT4VV;p`zby^Te%hwPd|2 zBX(Q<EK@I7Y;&FUqyM-0AD17IwbGS3ntb8QWd-|P@%OxzPn`D3_`d0<BbT+!p8m0Q z4L9BxWBrcdNlMA8$Xb=3YxI)WOb^|^!)f~VAdjAdr&iBh+V13*(H}VNo_BS7QfgD6 zlBf;Sa)pUs*M+88GL*mfi>!Ju`DLu!Dcg=`w#A`8R)6G<ydod4_oL|Pl!g^5)}e+M zN{*Ylhy0lP_-(v%_u=cm-h7UTHcaVUqCV}(=NGlwr+ap)KRasTcX(2Dh>nf8WAWw% z*_UqfXg}R<{e#8O_Op-hG$+}Efd>vAmz%N1ZHIc}y^cFP@){bp95%CVDpmGgooK%9 z`(*7&yKAe9vM!zJxj7-{?)SNt#Sw)&Q?;rXCx2PJ;iS|Kmzca)?vDLYQkotwb=S?i z<+^L@^yFiwUPW7;`ttQ?dH8*Sn)uamz3#!+)F)nL$=ZFRH6~eh^%<8I#+}W=e=q*| z9Okk^x_d&cVdSYf`DMK#eansq?cOpkZ0p>G(_Ti#xmeWe?)#vA;nKeKEA6MG&pFK# zDY&@oz(IxUX4_pEQY~!iBv;IP<Z>qCCSxZ{>GQSvsd7h)W&h27Y%lnu()ndn&$c(u zb(GJ?9r<<j_4=;+f_iJ0Y`S9ldok~!w<Y`y;igaHvlDKYC*NCOtibxI_EV;fi8cR> zukjoe{~3Zm%-b#Bp{s6umO)zdQ+R)T)Hi+Ux~u=pKdSbwu?oyps}8tibD^o`IQueN zTh^MM&B;8+^X_FHdoHwCJ6S8_^Xq#{A8Kx|W}f}3+V}m@`yJb(X1_9zx^wBQl7X7> zcGh2W(nUp|A3fi(ecP|nC9|$9y6%7e)N-CDbDs8P9~TOgKed15a${qqKerui9iRM` zTHey0RC#{U7ynz_kKB5bZRalA@cNmh>a*wbj=EJGjoS2gk)7tvSD#+5UMoFOi^cHd zg!$?<ay!@04ohg4u&%9|bG3g<pMiPvG2Ya#5_-+w+FvUDyDql+!RqYJw^u3}+fq9O zs!E>Jl`ei@e=G0a&lEZRiX)d84lr-dx0ES=wBLm1qgTNV9;>$!f6n@SZ+aqhYH1sz z#VdBN<G-zJC93_Ezy4?VCnfzbah64N2v;ok<Si{h*6Dkz`lddT6_3BP__|5=mU#yo z6CQkUcrq#b!$<um)$wnhS~?V&3vQpc=j;0T5BbOI#eS%JPWRk=WZGq?gow7gjneyV z`7dpr#}uDBWli0#h*xE^*6zPu^77Inp~7cO2KG{$Hgg)Db2I+WaDDxW-S++Sv@Y97 znm2#ZuK4nO&(x*WbC32U6gOBU+h)I6-y|=&^tz3GdhVmS8!Y8wjGm+=S#6X&$N4hm z^J0tDTdd_nD;wras(kP}r1dbLt(*U)jjC7PD$R*HUo2D3v%ATd!NZm}N}S`=?Qq_M z2W0D|&b{DOpRiK%xb0CB<DIt{EWdnP^L1zML6?H#w)+E}yu5N=EbjUJ`^vV~q@P9n z3*`R3v^m`5zBI^4$Y8I#zyDh6bBzCj4;+8~Wr3x)Ttbe_*M)u2eT$cdeKr?bP-;_s znP+EA`sDlDMc(NJ9ook)!L+#2%`R|4)wiP#DtFd6Gg&cdu_Y^hJ=GI1({;m>zQT#` zee{+VSsV?&=kI(zIPeMU9X7KM{>igy4n$=ZcsyCia3%4w_2fS5U$t4Ay*zI4N%U#% z%hW2Hlm7HSgH&!~%Bce)%#FwYGsG<n=V80Q>;BO%D<m6b3)q)eB^x!Kd{AI7)u7Y& z#xcm^`LzWTn<kxF(qMT!rmOvI?jD|B&$nM%d@^`ah5cFvpL4T2<NcmZ@NC|(L4A8x zLhjxVoKLE*sCJ%Ee(fN}GuvzuXW9vNTicflrzajfF6+P5L4LiZa$ja&f$edb5)($P zO}qM9`0A!yRA$~T@$Gz6d-Vnejl1_nnt~hy`&TYM#d7pa_ME&Ee^%)1U{JgNZS(wd zt0h?)jOI_iQgv}R!`pX;U(ZKby7}D;481=s`9+1u>;{_&6>qOdEvx8Jsn=@aRKC5{ zW*gg4dGnaZ*YC~OOupr&amLf)_4(Ic=RX$}ANbGk^{QLxaTdYXzI+A@HUW=VkLEnK z)s%8S_Tb02qd`WwLAUq4H(8dd`&mYaaiI%$n$Mia^5<rJdOUyc?GLM#C9&P(kbiEu zq+D@d;1)hd<?U<j0(92wWX^oNeW}65lL<z3Q^PzXCl~xaKIfa#tn0i}T~(dFKI#k5 z^LQ;KlRojf<sYrZ1}B_s|GpBr!J)Mz<vCBWm+FgXnSZ4WewQ``H8k+Ye4c-70n1AD zgeQOBeK~A@=3&L%<ChkPeLBd{#_(L_>-nV&QM#>`%Dg`>3vSnYrchP(_}(g$83(y{ z%v)@$AtbzY&Idov1)Qh1-J5Z%ivPKfW#IO5KFcpFE;-0<o8WejKl!X%1kdz;@@E2U zIj=hH+FbHn`Pw22dF`qmxd#DiL5w%&6zz}7$T%jlF==nDTjfzEso)=tI*zv0T^T-X zkNc~tJ@~})?Y7*%JAY<_-rdRtnSz@{p9uI_^<Cu*?8{0LXxb|?=d$O4=L=r@J-8U7 zp}vmc*^H0*jBOlpUsE*g4WIC_%dXnB?oxHiym?bv96}v$EMdMAk{ZGM_H5*2p1>3K zihn-)mIg6evhS4TWpG)n&XTxSlSA^>{`p^)D(F3VUS^?FRQY8|XaMJ{<C4c$ym#Pm zd*tR}@ya^*WbV<jo?pVhF0tM{nY?|g)2TC0m&zDENnf#mQ$Qdkrl4@%e};+6g`2mS zNA(n#J<<5`D<DGsRLGOZ^RpP@loPnxg6GV8d}*?@8^5IFGO=Ex1u6D-?Y0Psde=Tv zX13k?(u^hh<T-~|(tk1^{3?5FvT$<29Si#kIsS*fr&b&;vOiyyyu<R}JL8vkE_q7j z{k`|hCZV3+<kAaH?UP^Me_1$lzBHq{EPJuTZGmYFYvu+#n*B^UmnTB-h1F%pqT?ki zHSG^AekLEKlHkd%&>zJzqo?5L_VQ!)Yb{k`Rta$`e0dwNYvb>^nZ+A&EFRyUf3A^_ zuTZLIj^W*TGv0PNYnBJhX`VB0ua?4Ln>tZxnS?&AMXXa;lH6qL^-nEK3tI9exhIH? zd8M+5HdFcJrmTiKQMWrOrLWJ`zOp^gzue?zjJwj2b({)v)>Y4XpD@fVo;SDfwPyoE zn4LfSoZ8IYcQkSeDop0(c_&PgNS^GGa;P;y(w*J*-xf8d4Gek3pXwr3oM)I&+b;XE zDKvg|f%5i3?<Ub`OWl`84MaR<9L!y|NN~adCZ3jbi|5SOrrtA{ug7mA9Qboxi#hAA z!j}%hI-B0qoG99H;27gsmpc<glCO(Or#hTGR#pG?<+>wG2UdPn_|IUq<UkmsU;I0s zC(V~8JXmqM1hhQMaGuZ4e7VEd)n`@K9%p%w{B_k1!C&uA#5-6n-`T&cLiW7Kp{F1C zZRXGF6JPMkz<(`M#?1PP3WvsuyRQSS1a_Zb_`)KUrF7z?une2cED^EP7dy_s^m~+1 zslpKQM8J67+54{pTOH0se(c{<eIY{lyh`27Wd_c3&o=ikUkRA0vM(mbc)O1E71xM| zjus*h)up8~^NvkzyTp)i_Z*wyTi+85Q+wFXU*X%*Q}*!Si9*n>F7vDt9yT8@^@pD0 zkf{nh!`#ha_C}`aQ<m)m4cp99k^7tuY%@Gw=o6Ex!aP6t(ySzpY)dV(-s3j&vz)io z_bT2g_jo*E2Llgt;GX8yg_8_@k~hh0<MUtcbEUc>{r7<a|Ak8>9R9U0eD8Je&?cjY z{s9%Q{hpjiWMT3=_U_o^^b_6%{FcjQ8kFPw3OFBd^((W5OEA2Z{Z$nlq`1gZ>C`lt z<Ym@>GfxVn-f*;hQ}s7f^svB93z-L9+()FPJJ~lp_$RvDplHIDirf`$_m(p^)%x!> zmz%0&BzoY<uc|szrPVt=2YNFfUuNj{s8Boi`7?{>vl3;da_?7XDfv|#yzAe4MQ_7L zvpy*@ndKXAyC1)Nul1ymNxTQ%s8|=CzxyYnx;$`?UN{3!ncaS`IeFYo3#TtDK5=}j zve8k=Qg-&mRb5*S^uO6St!9Pv^vQFcUt9d!c26|h1LF%)o7RXhq=c#O`f~8sB~F2b z2k%tMtTo`*(!H<6%G;NbAu6J@fN}Pu<@497{XMv?KwR>h+TuuQhUC2a*OoRWEOd~H z*=VUO*St?lENnu$ML?15@x6K>4?Z9Nd2nIJ#Ob`-drV~(DDoN3;pyrBx7S_mNUw;@ z)bk8gpM!Y2&VFv%tHGSDcSv~t9$Ss4OpIH44>l-^ybtm#{uOd==TC=I3r}!Z+I!{s z^hNnk*&q1QlQH^~p4Vo9#dE%iDjB=|K4v$!-YR{XIa}Ci;U?qbk3EF*K2JWbkhH}? zWs--18)w>a+xDoc4LOsq+th09nK(ytO5(`}{Pj`sS^+zQ_#a+cGcAHoGP+*k<-5$9 z0}k59*zI<%YI8e(#`0ImvNp@y<4+{m|1+$~*eI^QI_1yt<y9TVJ5?ECnEa|Atz!O> zer;Yv?z2FSm-{8pZ}oO6Qs=uVJzplJY#FDr&;&-6Wa+(G68D)W@0d69rT^zku8PMB zszbV-tciXSA=;Vq?sSRWm7}Zy#*FhG+g$NEv1Vz}&DUSQF1`2oS<LgxI~N^|k-cJY z{Oo+c`%z&E4X1nL3fQB1PCn_q?e)&SqI|hE$A*UX^!VRT<fGOF<yjuys8^T2;Fy*e zdwW6wf8Ly5T|J_Q+I6>7$$9=~;F=qka;H2&?(n5qPKx0fo;=K&PaZeFy|y@$LDfU+ z{$1r+lI(xB{M>8Xs%6;!eWu>wp2r)%p4DC;Q*L;wkKu2Yy~P}()nWnV8Zz?EZcjOX zFP?Vt{q<Y>>VGW!xV1)fnfKq$LatXIQ=KO6XZe<THeGAhEv+}xl{bBSe$=1mk7ai1 zwZP{)=JelX-Z<6Y()2_7(fV8JN9uI<?b~uGZ^@R6bGLO@eC)Flo>wpR@xAzu>meV* z)|xF}8)JIpou~9pX1l2eyo+uxN&LR#!C%&@2%VjoR<~zbimC0N6uf<o+)az~mzSpR zJs8Fnu~B{bQl}J#M2mQ@b!X?z)xOmebmQ!a4QikEz5dG{ml3&nQq{b#;bol44D<e7 zX+55QZq<=u>2Jl+E0of29bYc_Y|^VI8*P}3Pp;uN{CrgJsin-5&(|h9EXlhS!zQGA zkkMUXzSm!=zw`cC{D`s@yM1U^@1`5wC0w4T#r`v7TfWHt>|!Z<?!MRcjaSq+PVh~8 zDxY_c&tlE0OV4^|?n$Y8am#k=)A_e`RfS#Ee{ECWzTw--qJ`fk#Aiq-l-mASe{O$M zymV=;aq#8~@1A8ooWSBbp>W6dI~D8q$se)O348V;_Shw!npF>{7rtU-+Y|Mp(s8z0 z-Zr~m8@2q;EJ+BC4CxWQ)$(M8<;#1Eb+@OLi_BmPx^eLQ!n4{dS*9l*vkSa#ANBl- zwCXL1hn)vsR9{ihtPHo__$%a?&#s;Ff3uR3EY%8oH`Tt6Kh(r=Vf)<|{sC4&dDbpj z4vrU+cYa^4vr07Saalp-vxUVwW}G+?cZJcQWwl|^UaRy8wXbAvU+iA?$zATw<$bT- zu$b3;|0R`Xteo(HUA8TAneQ7$hX?EU*DqD8Jk2oUXW`q|KGXavPrke~<I>`HD$Rc% z-dgLi@L`*O-2TSzOD40_Ea?xZzEXX0!^F9#8+%HAaivT)JmRgczUc8RnFA9&gFm&L zd~9nU>?`zk%5n7*yEhz>Y3|C|7S1n{b8+sPg5?|Y{nu8$@3X0X_@ANu+q=@2?YFpD zKNWxOU+{HBsn`)qxrWc~JcleL+;!S}CidrCSASG5U*UYn&Dyp+v`z9E>m5awMSM$s zUw@w7|4%ROM|b@GeV6p!J>EW_Q|$Zgjo~|(cdi%Oy?b6}%lFNDPxm}rn)LR3oNsCH zp;J+B{0)C?{?EX@|Dns-+42H97ZY;pch5g?J@nyysUQBwjJGat-`ZV$x`p8_dp7fn z;%ob*<3iKUxqn&9&FlBx{R-=|*#+0aI~Gh9&V6~|<F#GN(_g$h^y2Td>w3>V-0j)5 zrfh!hEzVEdQ}W^qFYWXFvH7vC@sT>gZC7qR^5%6uYq>>8j_b<_8L6LK@ttv26W&ga zpXXvTf6n~1#h+e>hi}?H>#g#(s`-2Ts}9YJw#z=*^}J@E;@%y*1n$0aQ?2Xqv;2Ov zw*N!-BenjO8OQyueAQT+((*9K(|{x9N#F8Wf4*$pxNkS><DS!-SAO}rdfWDLE0@=W zxhk0kkNK9&Us@HaxomBs<;&!^{?Zj?{$g?7<;(9W-Z*pdS<E}xUtjE|e%iOW)@*jU z?$VQK+!Oe!1Yh@EZPf4j<1EeI_M+i$8BfxJjTcSl7FF(PNUvSye%`_QQ?^BL;f1rC zrCxooUTxFlGkNl#Ra3S*)&)2{@5|nHX^-jR!^H)+E(y!-xO2daU1s9Foo~HlwY+!A zySsUN`Xz^3&!{uKC@AyU&OheaddIv^tOt&L<DS31>c-_gmMgM~j3N(kI!@m4pyX^u z#wOpT_pM@H9{VJ!AS!paAoH%!xj8jDA9>6I<2*iUSv>4ckoom&L!OQPqrc`xx1&29 zUIeSipV}*bv|jMd*IKjtE?YKR6*(-g+MJiBzWk|syPa{=kNm^xe$Bq=`|f@^ugKHD zw`Ap-pLe$jO?+1LGEVDi>UQtj;T_MjHa~T@kNWn${r={o{~0<`rdjVzy8L$4jp#CE z?s>EO{j!g5J>RkGc!xgg(JK!&)gG1Ch+iQ3Vn3UmcE&yNkIt{=X-qgSbNcs5@rAd) zd&<7t^2RP{eV-lAkNXFFKE0myQHSfk_JQ(c{662#uPw5g-oQF-f~jX|wP;$vA%UM0 zPd@3hN(jFcFSgJAhx{=+sac1;d*b~Iid1+)mfbT5w|)I+_UV`EGw1SMsN&nP^6+Ob zyC1X7|5(=Zw{4ZwH{~_R3OHe4{Ap9)QU4X|efR%Znqbnt@zR5-kEa=JcDB5;VBU<c z>p5pf?9Zs_TxYKCBcQF}!SS;|{KmD-OO~uT;;mit?ho&g3G5F17NS0Ki*2s-PQLJD zR*Qi2yzCIBp0}(!*?(Rru={vS>xnLB!Dao^Z#|1e6gzzcZ~O|lA;QuUe6{28wfW!5 zl(pPNbXVIkoQt^h%tWTW;Al*shU<+R+`q0&oAxi}#buraCzNHRb}N~z-lY;6c<}A7 zpl57pTR!In>-5~NVyck$>dX_2nR~$S%j+N48aAIi({A#06W3k_{qOBt#f8$YPFue0 zc$Vn)&d;YyMX$e*YMUV%5GS3Pl3+ZEL;b?_xsPtCTGxHFZ}nHbKXc0_CW{vgB9<HH z$5qrn68+E6Y;xkuOH+|63i_WamrU!KJa6CBH)ZwWHN1rxn_g9I3D_aOhs#p;ZP%Yi z*>jJtl>KSSIl=Arq62rYB(MCsM$79#U1wIk%s$DRFQ4%${mayAZsMQXxPAZG$@5R` z$PND1ce!TLtlaJMEg#slXZ6>wt#Ol9+4!_q*&_AU>4UF~WB%-Fe6`Qy<JaTe?<f6d z2n-cIw!6r>>+{NWxu-X`=-peq@SEuz75nl<j0fJ?Et|Ezxu<k>ps;ImQSkxIc~=Fe zPrp04@%p`45p1`rs;;PRPtTgbzGAJ8x7-`QGxOXn7YICAX;Zq4FGS|ca^BsWoqd*g z?NnJ;`;yPS&ekxnr|FC(+pKr|TeX>GpUFH)k;<5SN~S<_ai)x1t^KbrmwTREeyY0h z66Z9ZvrYbv*O~9lZmRwqDBSjV<?`eUk4=8M*u0Yr{&^+gpUEHDo$2yUR#(!0ANcZY zz5?fNmYzowCRM0+C92NYzLs^j+|-yw6WZq)2TVQrv&igIR#C;vuKoh{D_u29IEqd- z9?MeCzqCw6&SJ$KzPl@LaILxX`KZI;y*^LsOqm}{@Kly<jdAE~ni%+?Y-QJzJof!w z*&0v67PwiSwMdw!>8IJyc&$O?QbFMbF6Z;w_a@KxVw=$DZ*uv#SE237En*`7nr2wq z@M#u!K58^P(s)kGsGcj%D#(0qxFO>t_oWIJ%DfX_``&REd3Zi6vqAX0$#Rxw6FwhU z%DizIlNsaJCC4h4&-u1&-pmyV>Rwgb*{{ty@UhEFkNFtKlLwcof?Xw#d+9MvzBT(S z&yg>SXX!D{(^%A{$J}UfR%Vui$5M5rsSUYa%P%cjDKuR}cwN>3h4N>sn^>hcyK9Kq z9J~|sq@FkA?pX`NKlV{E3!+aj&#Ky<wQ{$z(o&UVuBz`VGPqe9Y%@+;tSE01(VF1! z<k#hWIee8Xn0!xJzVtX}WO&x)d{5t%hVLR*8tNIIFJ)J#x_ITclzUI(msQUg58p|? zH)Vq@Z@6N|Nqhf)do3O9qhb#D7#+`e#g@sgypGqT@Sw!<bY+oZhSbJe{9b9b83q3t z4hO!OAheL<`&sS2BYT<;F0q+a5X2@maj^<d)x|>2Q*&m;d^;aCMf0^+^7$$~*0SXN z8FtSm7Wq{kjrvsQ@ZjT|>I)ki&qq0gDSTU?&e(bKW&i7N!?#D(4peb5bmvPhXH`g- z@AZ5-p{Oe8v8<*Ui)zKA30f0BbInk&v^;9D;#lEX-vj?Ie-1jZGB2EMb!VU8!DIes z_A;*V_Dy!2r#j8L_fgE8cPGwTJ^FVrU{lO7#~`~jhNkN4XU(oVub;7e?T<;kV%NO8 ziza){5mjH7ZDudN>PCI$1|7!Vo#*YA-v~c{UpW8Wo23Ss;ogdAtTWvl<l6Q$<;(rJ z?09=xpmgn-`BNLenci4=&r0Cto6j|o^L__h+2XxPwZB;4ZG*Ti!~1yMEOFm&zn>}> z{akbS!jo%xOV`H6-t#TFutwkT&Ts$vtaH`VlXq;(-p8rBP<Q&QgyWNYt`tjbFf%+~ zbtY3<w&KgO{5*r=khGg7y=P6lLJ9+nC!ddMU2<^2q|0WXKL<&zf3~GBcE{tTnspjX z0r&edjgPUq?hy2lW^2%4G7L)pwCdFn!Iyq%vMbF@+9wsxuZms1*KLhK@vVmEJ6G;7 z(UhO-+VkAx+mo*^eeW%J*!V~5i0g^7lE?3{{MCGS;<$!^mQmIPzPD#hCRp`!@l{>+ zJigaJcAllor8<!dcUMaM3Sfv9S-AU3eN=$0hLozxtjr{SkqgHrFOTBpvc6<~SEX!m zbJw~AvA!#_`z00^n?+x1J91!K)g_rr)j=T>ypJ+`_La@dkZpg`*WTsx+4HRYQpUu( zEiHmy7Ixk~YF?<+$laxJ)>y4UMnj=|$uW14PfOiR7zLhGJ(?mncjXNck>dqfi<oO$ zH6)iDIBW62Vilu1)6xKr-#h<gDb#AYzV%!n6MkuSP?r<qYp)Y5%pxB@2e-=v2^k+% zW76ZxkgZ(y<yZQwN(JHjmnN`X^bgQ%-RLE~m%+B-wa>A-w=B;l1cW&Au(?Os%b%K4 zxmfv9<2DnS-&~m@Z+9*e?qg+`vFgq8f(KpPLgjMHX81q%(|zf8urRRWbx{9|PdC1= znDQibWp!|%>c$&i7cd^QUAgbr6ayQ<kRT`Fv)09O%e$o6my1eBFmSOazCG}u*dw|p zsLxgLcou8oVOb5^kG__FSj|-~<-{zoVs^B6d~NRTMUN)7Rn19Sy2;~HefwGuiN3A! zA`j>Nxx}EZJlXS@=G~vmCQkM>5H?xZYA!M-{blGG=I_-(&(&Xg7&;uwEao+Ie12=f z9A?Mhd0TEx+-9-Ofq5&>ot}`?73{WITSVL6nY_Jn=F#k3^BR+U55M$~TCDPD3g4G? zjf;FPHE0?4A6pVrZo*OV@~F8?RnW)lOU*4-X&Oc|@YMf$*)}he-!DTWP1E7|O9v6Y zt+SbOx`HyB)t7r2x#wK)J<hgVeg@As%N1^!4=!b7PMY>*S&7`CS>A<5Jq*}wGnW|d zklpNmd)}O2_pOR)=S75toEGq;&1|w<AYT<!tHIXTahzFg@r$A?zor@PCPFMc!5q)# z_w>)2QB)P|u|?+c!J|%mnvW-jp5mR9GH*-k#^Wm&B+Gr3)=1iEU-E3h?8(Kq8ea#> z`C1o#S+L3Ryx$hCp1|Wt8B7jtMVSw-XkS~x>%ev6rPB(_g9k+}_f%hYIPbTtK~>pC ziu0_R!=uTCFCDmp{=P|@!RBfaz<gT3;-KA^4~#NjSNu4a=@|MVL-wRu|5|;=w?2H! z_uEZb(DT`I!4B5EzgiKuvpLxVFU|OrS9_SDic7q2tB#Is0q6OL?lVHSmmkx(wM580 z-ajfKu5yWDx$yTa-{&&lzppsK{bdQO!+(bCFAKOiepo07hHZc9#(wv8<nN7_=4_Ig z=pa6&@t8ex&}zNPRUR>u3g?8JI<D$&@!r!we8I^-nFlVrvAqwz{Mt8Mq2|zxH<4#e z?<B9wGPu)JvFg3Tog%}Yp5LKsTYRGDPkG#bZMxlm2Ct>hzCLQyJXgDNgKqv|!GJ9@ z?RKs@t9kHTrcss@lT*P_cau3yl@CIySKOU9S93*E%FO3oRTB<uf7sP*6SVs6Pgj`* zKGICH&bbvC@$dIat2nEkW$E;|Wp?HA&Wdj<42);ho0zb+B=+unY`Q?YL4xtewIt1? z71keTZL<rN?qjq#e`(2<m^;o>lpC9!<t!de*nW0LPfGn{4{yPS;;$=r9N5NI{Ihhi z=A8$#8vBf@Lezq)<Z81THpGUA-k$UQ%lB0|Pnh33@BF=$S#IZoX~*+b4C1pm&nqpI zJgeuqVB*8s`%NynWiFZ{vcD#Ia_FgWjX5&OD_?v0>RJBWu~a4D@m@Z~QwG!Q%lp?d zGxyD0_VNB!y*E7<CKOHT>1(-A{3F=mt>-+CRl?3ck2#)L@_0_E>`I2?OmnxCns7|4 zSjlF^9N4NpVd=gp3%=j>Y*Z`jt2DLDowUVyg7vpm$9x2ql#1-$`FMYE0PCj5+f8OZ zn6=K|;;h!ZoeMbGj3*z<JUgM*)nL2xox-Emm27Jng;UZNs;}Q0^<bmK+d0n`<nbB4 z_sK{&u5)F{iU&MF36J~Qnyktf<T7nMe#X#O*WJ0<b4$vDSxmRsGH;%j&1Clp>SJY9 zyt3fml;#cR{4AF>p7S?h)O(QWdEi%YXr<cxg9@c*85m|w<Ucuw!6?hf-Q=l_(XWs# ztgW{0SzJsO5-Zvjn1ffUv@%b=wS=SW@rNbK3%@Q+Vz;oHa;f-QgRsq<vZc2tSYLW9 z5qu%IL*hZY$UA27r};C|WqW0RK5JtU{r3L#*CpqC6+}d3S?wlsF(%nd1<m%e)nLe< zqGu_2{JFnM5r0<t$D+b7%Y_!q-Sgl=l<bbl6JG{v7l_-Ne_mn1^5EmkmqFUO*6wy& zb$PbQGv8b4`EA>Us!#_{nXij2UtS5>V77R&cJt+O_19t78Rj<B_ZFWxE!~!Sa&2{{ zqjdCw*RQ*L85e{<V|f0I-R{aNHnTYo>gR3g){~YvUw^2fE=^_fjw_666^DexznVM^ zKd)jScUOa%Lu^7qZH8t{ojAkC^QKxo23qEfp^e8bRF(bF{5_l9eyLiQs*7rq_$|-( z?}OZK9<P~X{AGo+aGS;BWmcCN87m)@9^b1Mptm}8J5K_$zc_R6&DV|ZBl8PZS^mCT zx7BgojGfP4x@){ES@e+e`C1Dv!`3JB=JaV#%$}AI@b^-2f0gUb1Gm^Ti~480W@$XF zRdo8GZ9(1EEX(EvHHjf_&tJZ`V`8z2v&PZ-Utf!~->%xI@z6c5-EIp={gD;Lo8QfI zui*;SIXH*8@u1z*vul67J@>Hj_TGr-0}eTl%U^m=vFvN{-2L3v|6!Qm)LjMHjCqX; za)lTAuWd=3&SSZ<kT2Pno9*6>2hWw(&0czQYZ6yg^XvDKXCxz5C)*v7zY@%CXes;3 zEt_+)wCD5J0bAxJYppl+^mx5J&sMASMADN#XV{gx8O_{`cqL9S`c*#PrWInalEd+w z@dTs&PPJKwPK!HrAFum5Lr_V>*3H&mV)e!cjeWH*>x;ry91Wiqu~^ctsp+zb2-~?k z&%dl*d4RQzHR)i11oMq+lVW*(Cd{j~)z(yYIa{#$GBfkS^XhlH=5mHUo|7*5uXN64 zR{^f>p5K=j@AC7s{I+J6rg4(xhTXB7?k%`{<nWK`>M)00J_&`hCa(Lmq`^bhSI=o( zE_V|{@~Pid7q0tXQMX^4c(kBrcKQ6+9go%bdR%9jyY`?>Qh$o~#L9J{2j1VG)%fgO z#5}ELFS{2{=4}-|$N5b(i{;LR%+A;Db0i(&=3m?F^7CosSrgCg453BcGp^i=ULNId z(BxKB9V$9o)?eha=5dK<i>Fw2>nhq-2W{ECZR&a3;$K$_4qLqSJG9};@hVHtoo1is zRf=j&vNCgD8vbyi_^#*ny_TL5=k3n~W$>z`9z3tMMd48YY@2H?xi9BDUcNWOZSBG2 zlV4WqN}V{fgZsqyCs(KEF*55|NuBHMY7(CO-v4vt&XX(wQ7LZ?f+~+EhaOp?f65}> z|I(tg*P%;_*uuGQ%#T_sv@Y^<dCife1)1jRGwk<-)Mm{-^`P+D>}L}U=ed7gp0u<3 zt(wF607H)$?G&kVnJ4q?-dR;&P-R!2^Q-Lm-k?t1S*M=1^Y)Z3Uvp~Tk2Od0AN{Re z6{zsDL-MFyV6l|b)98&X#pkPvPTf3VBY64V=CHI|fz{tuvdob9vT$L{MPr7lIb22l zlgd8Mk2-UI!r7ZumwV>#<~i!2-YQ?+w{yi)zU26G3RC{6N-h__vq~a;jzERou}w$j zHRmt&e*RA0@aKv^U5_i#Gi?qz*Yuc8Rko1*_&)lY`1Sz*e9KB@v9-Gt*7sCjmzQ~( zDzEqO-cnDuXr9B*RCvC~P4SXF6=dt}|MA!+)7i1rfmij?b_ua_Trvz=Q5R6V`p*0R z3_1L=uXfojUw)f|<;*FiDSF2O_TT*%`tido-#4cmC1m*uG#_Og6Kt^Ve;RZ7;K6rY z&uzcf+15CStxV+o>~<<DYzm)a-TuC+@GJW{>ND<|eO*&y_{hYp@b)3mbtyIP6@+3w zc_zoto_KnL`Lv^+k7ZX?th@0x>CVb?)$_B?KG3|KwDbJ!TK!|Q*tRa%wmZ3Gep=7Q zlZiW4$rahY%IEp9+x=ti^4niLuT`|P8E${}r0SpPkKO5yYO@Z;SxdiE?7g1YU&+9f zz4=4>k^RCyY)@xyuM0_YIxC?*`4zk0)`L3xvVOImzv*w0uP`rs|5CF@?`|EFw+@(R z9pUu6q(#r+Rpt7&8vWl%uGz^dc50V|9zC=0?DB}``ouT;XwBA-{Ex2p{8P@}9<^>` z*|%*$@6EnlwB+c#>1Xx%b>!tkS0-=fUi?*0zgwR7-B*{3Yq!2G-#Ou}0|(>nUCpnw zcZ5YMr)`_6YB;ZKgN5ji?1TwUHorqFd>ky24|7^iwcC0#(_Z*b^@7Nls29K9d{}z$ zv{>$u!prJgbA$CK#l2>^_*?DLvuE1LTAWXVH`yLAW<047?EKuiG4#v#^~bIGyXF~f zy|(3T{_n(h>$ZGNmbR8%<<BA?bNx;|`~D1<k9+?_v3KTPx*SmY@al)z`{m=kj#YR~ z2+t|ETP2hiWO3lhto&JbWY%4rczJS&>(z}Ba|}K$Neem5yt6$fWY46dQyT*>OFY{7 zj^+1<-I={=j$G_<i`R>W+*zQe#u_uRr;o$#%YOzVGj(Q`vSYjkDw)xBqV3E!-{qQS zoLlHzV7GUb?%@T`XF2)I<@;05A*;dobcV+Hdrt)aX6c)Jx0&yiImvD}pU7kNu8t=u zDb3d!)X(u%X+FPiDml%}Iz~SEudCC{r26wBcOM9N*f94ehs+T6)Os>e?efdOHA^<L zSjuh=oXOzgrvCJ2=htQLCVHeQq}%kAtYWG+Ozz2j8j;@BbK<@k--E)ws;a9+_X3Z7 zZoF)}Z^p7MGiuk~-tlPFv6fFBg`fUD?msmnvUzU1@^zc$fKJQPGCZH>O_jDkd%gd8 zkXmHsWJwE^p5g%UR0amibJmx+nPz@{W$62vY2quZ^lOd9Li}?hCeA%P|IngHW*1A< zm}JSPwI^3JDhQqNkbE|ws(F*y1I7y%xLp2avS&&%JesmOFZpf%fvfh$c00eXIMUER zedTLM*NsLEl6?#hYBl?{HXKly`Z{z*(}ER08;|=(1)VBeA!)b#`jr6IwGTT^KKRG} zd6_lO90rcZeP0=a93K}dH#)EB5LRZ+xO=W3GlJ9RjNuz=DTx-F;@uPH)otZkZLc55 ze3jwYt!b>&CU)Gp^LS2GSGM<g%WuCzbR1lD3b)iv<u>!Mt!@9jgmvizt>ld_o#ozM z2{pJWccpT{q~pxL{$}3b?z+R%=U@L}@tHeJ{~5}c|7TdYTC(%hBxwugdGr0NoFcYa zUp&R~wBP5k$kEhW<;fFoul#i-ank|0IZd^O0h=|?xfvMGs#&}<;Y7>VXR|KvYMwv) z*1}s1kKfCE5#l&(W_aaMU%*bQ{nO{(d^vBg7QdN~27_0v=kbSu(}O>!>lJ>kYJBZm zDd>O7&-1+Bmo-X(MuysI$^~`rGI_dtcs71nbGvibmV}?nClwxl9vby1z<GW0{H!Gn zcOu!!8QZ>oS#k9MW95nWuOkZmp2e=IwE4Q0Wv;ZcMDcz5OEbismD<zfz2ZF1S(paC zyUKBE$G5!VkZ1d+7`;_^zEP&GWDV=5Q%8$$eC|@o{UrL}olW|R<5>&xKDZfP-tQG$ zWzOVQ;O^)>C0u9b6btq~>o3c;be-P9yY}_V$j#@RQ~53J*E(F+*)4Lq=d11JR~b*m z4Yxm2OqjF6_QsR6Md6`8+xP=&8P+V>&+%qX)ADJLGml0`&o^j$tb0P@!Lz==Wl^dT zc``lec3ax~%2rqZO1`yv YX$^~!x=3QBJdiyknU*(IZBq|Fu=idvy-F$wp<rHIq z;>OGB*VmgIa6D~b?ViPUz55LF6H6B1=7~Yt%?u0->92k7IIS~ac&zfNR<pY&(XBS) zj?sRL0Nd)z9+sUpcTyt@YOAj3ob6p<xcke})I)#Y$xnPAxL9kN27`r7)%>Wf0?%~j zo_m_;GyUt^A6I<V><I4pa#m?)YHrIq!<~+=veZfyrm)Cg@B8x8&7Ny_hrGep?@M$R z&VI@`q4s_9y~X$BzxNeXNGQ)gHgSpHe+IpZXOkW5Ep&I!KP>runNI6Dr!VhsH9TE< zkoDX5w}G91mRg*=Q@o|mZs(E-{FyT5iiLBM_ixi=KIN?Qw_Yd2=fK>Z&ztPF$h_s- z$uh6lhtuUrYLTdWk=50Lx08M|s$bvm?Wo0k(`^k#)j<XcH@?XFdod(6?r2@gl6z~% zt*YObZ{)si@Xz^F`%3YdnM>w`J#*x)TvGFqa_gPg_3otngk{s(t6OZE{O;Yf-5j*o zP}wG>aPnnS!LY+dZ%-sh-@mu&$i&_IxN~ngJV;mmxLoC!shV+{?cd#9Tta2~XO9)X z3^ZRfulD6E{xF_{;p;yy70wC%cg@}J?kfe4=WE$}jMkNX`Oon6(vF#We@}leYy_Q4 zVi;|&_%mdJUzPA%pG>2oBlEMIw_cy~eEU)(&QC|DOyZE6a`(w6K7Pv;zch6G92YK4 zSn9|;=drBq3nrJ`<Hc3Ae44AZddx#!?7z0?{{A1E-)R~M{Cy`rv2T7agRh(gSLHGH z6>L*CN^s9<`?ex<<_3564KKUeOLlNA=W171R^7{BH|2t`CWENW-^`vR?<Ax*w!SeA z@HoSvJol!$Z2waC{l#n(L;_z_CWo=Mofhc4yiji0{Lkj^>OO6^kTtUWbJQVPy-2pd zhrxbc2J3;KPd&@63$OgmP~8-kp0M#$(b`D{R!NJ}rcN)g3_W?v!oJm`c<!6BiE|h) z&+0E@IPj!|efe|mK*NZ4F7qw#81OH%t$k&~Bo?sqoaGBw3!?=}rXexU8H<eXP0&%? z#CU&R{qFvy87)R`u3@(<WNlw<np(-m$02+2_|t$mpWk85pB6nyw*7o<#qQL$$MctF zbmUx(>`r84-1|3EE+mw3pVM;1hLdZOi&kp>^k849Jg48Q@mZ$e-I<dtjzw$t&3Q6E zYqfB3#hqQJVpg*5JRe~H>nn2%$07a1ImOpaKi}K>+qK5#lIe^uyE#*@ESq}GQr7+5 zqJxJGZ4azjFY@owKCw;L!yP}|K3=xTQ>u2Et70<y`}8?gS66s15;y!Zab}-+a#mB; zk%f;qRFzDoOXw8X&5!!|_^A9=`9u4;oNf2E%)fnW7DJQ8l{J#byz|dh*n}UPr}N|S zqyG$&6_cJv?ASB!n)sA0Wg9I&U92@P{hP7WYpMIYwTvErE2mjrerEWT-7SnozK++# zcgCiw<^!_XpFTf){+994e+D+EZ7I@kPDDtz=}%4mUU~j`eAyqXA5$|Q@2)gIF1z$f zhUDY0m-BtDyKI=MwC<bi`AGeSvW<`D1V{Ovk(f~2IKh5y$m2<CJie;W35YLhiCb=S zjj`z96upNBSswpqSnst-&EWK$@8`W%l<%K@xxnI!O!>0SmHTaG1kUN1@1-Mi^vcW) zXLlUkxb5q~KblPmw<k>6*Ycl1d~eWw0VUr#={9pF)n?XQ{mi`U$;6)D)tC5^UA#hV zmK>BlW_f;HhVaz1&WN4@|7F#oY$-CuTdMvu^fEcLx#m47e(lS%bLW(t;yvk>$Gy6o zTf@~eetn!@m9#Tw9d{Muy_w2+OeQDpp2+FrUuK(ia)S9Zzvn08^S<)mTI}G|wExHV z=Pn0!{=InM!1?QY!%|CG@)+jbJ+W-!oNn!cNbgSt7U#2C(+=F8x6|gcgTli@@7-)x z*c&jfTybO7W)q84b%uF6On!Q*7%QAwaiV+2`&sF?HaF~LJh{wj)y7n(m5n{~{P!C4 z==<&ETs$RQXV3eo1=Y`GH#*LIBHegU=Gm%~zjuZ)aGp3<@i*gcg8_H)h2RY_TU76u z?U^mu|FPt(N9*;H#jAO$YqOT0S6*eH*~F1#e14gh+hm@y{r8?P7qMtgnSJ13Z`;!c za*JjhduOb{Gk@=Ml`qGaUt5q~AiKk^S#<Kc>@Yi-OYcl`JtJ;wrPl{6-!EIBZD}o7 z9JzFw4@Yz|PxW)z!Wi?uI<1U-EZbYZR!@j}@cfi*2;Y+Mv-_<6E}!qetLKN-IqOE| z*0PyhD`n5IudSK+k^Pa{%ExQtfBSu7ZM`BOGWS59O+$7>!mD%Mi&RhiWxKjR^L%@i z-L$;5vHHtm9`W_uly!XD_2=%#`P~aY%6F8?#@)3$H+@|S$JreX+3h>>4W9Y!TX0ou zVrb1$W#-$zuCHu8ebv%(`^wo9O)l{<o;(_CRQhbz*~x*%J@1q!-`guKxs!W$m(TXB z%$&!KUzeybN!xH`skHr>Q*Y&TK(5_>sp5m@TP4+(25|9PE)^>7e;V+7cl!FQq6u!b z8XLr}e!RZcW77uPtW8rBBubWR*zR2UR4Q%j);}Ak*j2BYIH!q|rB?gG9@9s2-A;Y7 z<h?Wb$hk!x&&pD@=XppzxISHz``VhLWv6aWw<!}Tn(gNPDz5#bmA+KgFWqI6miuk> z(Yy5Y^aRV-uj8F;KevZ+Iq3E<&S{LF{GWmKPpVk=M|PJTSEfa-WtknSEU9>&;rgr6 zZ_D%3%fIy-zxm1Vrhf0|l1F>i<cYeSEj4*&di2h!PXbHi%$j>bp1r&~y@Jc%$+q^j ziq-s?=NOsUm#fdqioA0;*JL-(Z1Do_lcrBkDm>F$d&u&0<pj-xS{7&hpGBYevF(og zj-wSv?;o>oud1AN>en~#NJZrWi9_4#v}b*s|CaY5uf1EW^Wk#)+})O8&Y$M+&3Jp( zXTg^ZbNUyHp9#9dAil0r+4ePi)JOl88k3d!om)L}7S=SxZjkuJ{5qZ~yMC*Aw_Z>G z!i^jIBKB<Sa^QTv^8ETsd-#vc7pn1nbXr5l^!E8}2Xme-4u7$xYGPEa+md<TT(;G& zeRTd-UM_dg?kyjV2xbYmEjg|{N73>z``Yq&u74I$Ki)3caCMrj(IeK+DibDdJYKNm zyWH2G`QK(PJ@r0r|B(V#Z@z_vjP-hMZpW=-8eFRcPd{3C`udK`?r(Cp_wUiJ{`Td< z*650NYXnX#debVz_q+1opVwz?oPT@#P(HLPf7XTBy<t9Yx$1lbDw!{v{w&p7snh(N z??{RDdHKGqmg|%4`F#59_Z*pE%eY1??B1klO}TR4SN_TRc=YYrqkp$;G~GEXY+|z8 zPmy%(gJ&zxZGN0vf5g1_{_E|RV(*+hnSSu)%ecBK(Ktq1<G)$z>E}YXJ-)P8BXPmn zl$0kK-HUEay|K~mPl#IF4we3@^E@|RdqrG#>g03Xta!U`tF#CE;{fr;_Dc=Ke;;2O zu(NxmQi<Qxs(X)Biu<w!Homf07<+t~?F+u-ty?~d-krMn=Iu8rndY*Ob(VZQ_+_=( zHREjYrc3P7x99w4Xf5<C-jKLDjW_R+vS61%n_i!Vy4_YirDwLbHmunqXI09d7$rt* z{Av8vCUo`sxAyEg^KPX~vR;t<(<8y*tHO2l<VU}q7v0N@I&@k&#w_%hSwmIx`<S=A zQ{OFDipp%g!TjC3fIa!^ibCO(>9<a1FQ4Ob>hc_e;A8G9On%p<DDpBf8qH(wS-G0o zZTI#aOck>W9`jj!zP4z8g;e}z?t*^#kL#U-F1+hIc0OwRuHI#(0)7pKuIE*%ug5=% z@3>YqZ7NF|$AX<b$t8wbtPII4D<r>~K1?{XDJRTu@*k(wz9Mf5x+3J3Z&erhuCl*& zrEht`WuJrR45U{czqWZ+43FW7@5^-fw=7zoBNKe-!Ya0Mt_6+fqxK4jc5BUPoL~24 zk%Py9<JbQ)tdGj%Qcl=rUcezK`F*ADl&nHEK3k1%)0mdcUAp(}L4)Yc3`IxXEdFSx zRFr*t9XQ>8<B1f>pF0lx$vQWEb$rGf-<}yfW)rHrYR_#gtS-`14cJt~DO32)RX_Je znQ^fDG|m?DJZ8<4kL~AX#ATL+^IW{;DPp8>y0F22ZQ9=*Gv#%6vrE37e{A*at!1ay zNqjiclM=AXU}NN$m6v}sPklGno~!wdq^iVY`MFV_`7W(~{WI9W?E!z>-xtr4q;wKH zR-4SNm)g*oFD!d<zirk|>5Y9+GpB$4P?h`gy}PkgYVWqw(*$`Y&tIx!kZGnbd+<NQ z>q`cAmS;Ve`x9K>K9!;G(A3jvMjILCZ4t9P_3^b2YXPru!Ap-InFAhf?jjGQ)h{h( z;hVdXdGfW@Gp0oH97yh|3gQV33s`<e<+DG#Oy7(pH&c6WJeJj*BzwGI#r8S<RZgBK zUIty@SI@BCec8FNCvDNsvM1X(mMG7YmitoFsF|S2EfZ3&HF@%ZrFSQ}`-EyVYP~ZO zIxO)o<XIk9-_+<c$M?#mpKhvLeo9Q`9HR_F=7~@@<2j*jmXfk78FVjPJSC<l#K!s4 z@#V`vo81oT*MD9umh(`z*EM;%o$Z0X^1Z%5qe895mp(>3lV1n$Rfs%Tw(1C<?))n5 z2i3u5`#A15-<tJsn(dwRr3_339>=R3o^Q`8T4wj*x$Me?j?8(5@2{;?5HDm`-)lbY z+e(At6OZNzc06a0n;OO>zx&!mx9G|T^R&u*_iGnq_BP%(<>5GR%ww71QID81)3}(9 zYtBvl($)QIIdoi3zx;JI?VROn|8(0|V(&vsyd9()-+S>@uJEutYn%16Q^rC4-r~fA zXT7H?RDEAD<H46zj0_SB5Azj!@LS4lS-LkvN}0?0>!Nuc%RYWtuyIe%qo%?J%kwY& z?4#06gcTi*N}M>$eSKCGr}FLdChyp*%2-Xl9A(hANuE`HX@cPVsyN>arjoa__-!o~ z^~`Htnsy*h;>%0VTN67}{)Ln+U^Ypbyi_syR)YYOk+Hw5)s@Pl);)|4d~avjO_}l5 zSK-$M=EIC$T87uV3N03}2Va->>L|W8M{|M79an>mZ#};*VV^g1)dfy-zGssaX7$cs zJ}!4<_r{)(4eDX0iF|ci1B54Kg}yQlx^PK<xlc$V8$ZkAON;w*iu)I=?iRU|Cl^=E zJnNK)3!BN8<JT77SpM$w+pup5dAePbOnc;K6h>}ija}uw)N;yWwrM&)t5ajP`P*Gp zPh;Qz(%nGxntkZ)znRPIy*4Pb@JuT7yJb`uc!q^r;FZ7nQX4gQ+uE$4oe#dP6!lLG zS;CquA?t4PV8(L`)074V$@A;C8t8|`T`kuYJs0sd?}~`T%BB_nv<g4%-fptaTlt0r zt5UPnyE|-}4;MRLpXHV_$vxP6hBF7l!<CO2QbH>4+-oTnRjYcof^Bp4vsuNr*IKsB zKjiT1N`%6v$|X01cz$2>>ee<tv9#BO_i+DGXGRA5s(Cjh{xevvoXTLCWa!~xQ?k;t z@&A=S&CSQH)@~4piV@*HX&-fZ-^aS0mI=QmZ(pAE`RUX~)vE1L*&flWnpg{pX5D#{ za=lcLTT<O<+MDBRQ}1U@H-ELV<oCC~_o~7qbLKR5<@se@Qr(!s<E|obclSTj_-Dsu z7=u3f*=FcSw7%?GEp(HC_s->gZA%jNvinC_sLM^c&~er+WMUYH<M&oYrWqnX&o33V z?6<k1YMa66D3bSlR))l*$?PVK$p!3_k7^#zT0M!^M<Phm@X*{#vkWw^sHh!X)?l0Y zU>yU)yRS=LScR%6sWG=Mn;0Z#;9r$!v6^wVr;Jq4PD`1fwCR(71TaTNnBDhE^*gS< z-c*<;fF*schTWE)%$8pPCMP*976@4fmj`dM4hT1BNw)hkSM%(pnGP|f`j*Q|R`T0s zC_O5?H(Ao8>``lwD}x^6lDm#3my9&Dls9QQC$BhbZtYe$i!W=Zlk;9p&L!_Xuk{5v z2+q0u^H;E|<VwZ|d|&=)=^pF7!m#s|=8h##iv3?1I`A@^ykDykJpZ+So?qrRW`>h1 zrz8~nGGCfgmAqF$WSiYv#!Z%w7C&EVzTbq=&}8Payu}u;GMM5PP26<Eta4e(W65PH z7g%m86npNrxl(B|H-jnmu*iZdqDEW{Q!AIUNTp|So@Bn%u;Wp!mhpAlmw#WD^?bb5 zG?8CfUF6=3)hu-(cNa)yPBAH}U3t9mcvK<N%+NDwit5`<7F#@P@_6mpbLpAv(etm} z+%%U>wn>_Lct%Bjm6pz>=9jLAp3Es*qAoJKS4~r7#+xSN*AB~sUwiSgY_VqQv+D9= zb5-+YlJl>*Y+iNQuc|L|zj+nIgb7ubjf_1UUpho_c~q!eZqwYk;8DX<k?m{MMP_H3 zT`*~}xzu(%F4O7boJ(@n7YxgTizj<t7uoUHgy9{(h`g7h-&-G!SFSeCCbM6f!<KoZ z%|hnF&7%q|a+b>{6u%8oT&y<h@T_9NTeCv+?~2TLr>HcC)m-wZ2b<-W72Lfs&-Yp@ z+gzGw92lVF^W*}bRWO^o$lHBeL<N8M*=>1yXt8YV%KK4l$C+Qcy{mlfv$)ViK-b#l zv(Mw@!H(zLG$b`rZ7zErkJDsin%j84iz}nsa@nM+kRx2l`b&e7o+?Y4EN(t3dEBdj zd97WNE6bN9N!D^1ixy-soM-E*yXaBY#Vy0W)Lc?+j)iQoyT!8xDchHxkERIEDP4Me zErW7eli>-Ig{~S5Uly>H$OKPFY4i^{dDbE^!jwU}{lf=Vg{=N%jtgYuGMEyI-5y?A zd}2xbS_bbqDeKjyt8`^Nx!}m~crAm+9;ul{l`jKUe-M|MHPz2>R$KR#$rCDHdY`nZ zGnskbD|q+q`Ccwt3?6Rob5%I-!d@y&`SS8l%TfZAe1va*Tyo4R*g3uVnC9_0bs-E7 z7R<eS)NfC5puT+6)S}|PE4=(K3jJSS2uk4dmt3~-%YtPGXG@-c8X7<OsMnDY9{=L5 zOGgBSo847{Jx~5zY4O&9`^u#`kGt{;9iNn(%V6L=$0~B6E?{q~+MAwV7sO<^OKmkD zZ#?eRk}|LItcTqehL49nzxJwqapJvKL;%z3nmd=8uYCQs<nF|-Yy;b>022@S>s=F7 ztqX5Rtr01n*cBS@HLc5SNwDyh(!ZK-9#n^F{4MSZOR9UFe5I;uVzbBHRYIqVD*sLC zoip#imB<s{mM0n>?L1a>*)!*_ra2#bq367PUw(SXPN-b^^6Ro>d#|`cU&V#X<}KVd z@4@%Q@6+ZKS^jxBP0jOI^|$40$M>4s@ca{DK5xSHNG$Zpm*o@t_O4LgE>d8*AgTCP zgM0Axt=3y*T^aP=d|7I7{Mzgb&l_0fy;zRF`~LE!{|RNACne7oG1PLt_nyTWC=)%; z!eqhc6K7p-E%_qC+IqL`+e+q?;(H5~Etape%@DNAnbT+NtFH2HMdOR&$?yGH(itu= ze{OOVc^30~vd=k><EB~y6(=peE?Cif%h2s$P*0z)V(guCc`x57j+=FAGh5jzUxv+e zv^Dls_<JX?Kx^v1_aZsU>rD+~%(rU0gcdiksw(UhYOpFbS$jhJ!n`jFqosFOT}oZm zFxe)xZVH2g?ys&Mv9Om%z4#gZ83LGRTfV-%ROw0CQkgDS?W=vf4BnS-&0AyjeTBE& z7j5}nT2V|%tB+lt)wxM4@Mn<0<5`oU6wj-7#XNr>B&X?Cw8rwd39o|6^S&tsoabNu z&2+Hoay)o8B;a`Cj@*}isnXxemi*jtR#Wo%yuH2VLYJgCZ8Oe0zjipDRn^BWcXw5k zL`pJC>2d~!^A1*z7He5NUu#o#RzZi2<xl&^CH$Y6_BtqkFj3<OJ$`MngbLr4Sxk-% z&T?62jLPzyKiqhuHA8ii@rjj>tvybhT)|u@!R9}`LZSJ_@8H8vdP;0QhCG@u<>!Im zH^slMwv?(DJQ40c)}YTO@mQtotmy_nV;?;uZ-K>Mm?p?Hh0k|>9dI#oQtx8+@+(11 z3pPmJs;$iuIxTrGT;b!(lM6OIXj7YTT4B-G2YpM*zlgd$%U!T(PV+g#Ce66iPoMw9 z?&VE2={eH={txJ0!eeock_X;YU18i{c>UgD{vG+UycWgtp3UvtvGb=_AL9c3ds+q# zCv8_Qmu1fiRzKrlUCvjlc|%x4W~1eSTZUiX2d(p(-1B&=L%6!-i8on3lkeY_Sah^l zn4R@1e{oZ-?aR;|HeXkGaNlaYB6w-Krp?i-(=+dIzPxO)HahyVRKtEfKg;LLmo_-3 ztvT{QcE^KK(>aTR(sOxENIdwn;9Ap$RF<!%rw-dQGTvc-8g;s4hlJ^5*JW8k%%vw* zwyf&jQgh=4Z*uL{&}BipZ#qqV!&Y^9+0OL48a4^(w?$Q@KF7OCz3qM~e^+krYn3dW z^o)~S3(_sutjw!9WHy1lK57lu=GuFi5qulB3Z6UMdf-39>shO=U)sPcoqpq5h)+ag zIM-W?yhVM1%QAJZpISYQr+5yZz15!SdIq7Jj$hvJWsQlt+|6TIcZz0gvan>AwA;$3 zI+yu=Pp)im^Ve1Pvuob*@4hWMdG2DB$vw3h6A!So-TwM-tIg8S(n-Iw)<sV<xwen} ziTZlm`lv&h4GgI%0mc(goP62u6B?-&v(nx$z|n5!>Oj8arR{-gPm^raE}wUvcW8aD zZ>ZnLxqCmyXii!6p<>mgm?yb^vVMBzd{JDhaAd~IORJBr)HdgxSKal{?o!R(HFtD9 zw&%16RLVS?uBkh(``e9ela8>TI3Rnx*zb2p#GP|&)^cB;y<Oo|RZu*k_*c?eyCt7m z!XIZG%ZlNAX1%y>jT3X&;yIHnAJ2O5M(?}#OisIhQ`eNTRywJ<E1T?edLA!xwBuHV z+|`9V6N`6*+l!oXKT#YNc%q0=zT<`6RzAhzfGssSlIovLUYsa9Jx71Ts)?JnG*AA- z<Qvi3JV)cFyVu!8rxhkdr>k#&7`|wt2!j#h6XEk}s~56sxfve!D#(#t-Bha;SZKmB zGiZ{Yn}yx;oy$7yTfV#v)SkP%M{LE-1F@%S_e<#*dCGsX-8VJz=>aFsTQ`qi3EI-o zBl<_H=hB>#$2QfWDzPVTUj1=T{B@x5q}z=OjJ^+K^i||P&*GWw!SMckKy~PfzQ@ZS zB_H>9^zUIZKJjm><Sd;($60zlp0$!pnEx!&xX<#@N|!SmtVHAH8hW_Qyv6_Y(klO= z31W)7s=oZX8nKl_oi(}0!{XrA*P*A_Hdy8@H~D+K?BR)3Ob-~R{a(D+#)sohdw<rn zhCP=Vc6-gMdho0@^<duet)Y=t1{P=SEnnVRx<FU#;8)qq(~7SSvv0q&db5Va9cH<P ze_LkH$mOwn?<4cCL?tNo>P+!TSN=1YBsb3ab=B<Ww$HtLt{nV%^3RG?G4AJFI|6D~ z7R@}>wD|L?gAJ@R9;=&j#~zn^mc}AyTYYK6Y?D3rENtYaoZr%_eny@7^4jE+E0lWX z=r1=t6Z^XN+kyoGi}wa~?Cf_GH=KLs>~RSl`?=n{@16w}-1d+9+<i7xPf)4Dz~^b_ zW0jIcvPlKWPM*xmY;7~1$Q!;&dt9mLw5m*@*!T0P+E1SGPh<8-^?1x?7M>q><X6}v ze`&QZdHfbnW=$8ovtMOl+Zh4l3C0J$FO!~7JZDY`^YUvePAX1~oUSEW<nHrmfsoKc zfyUO8Cy(3Bx%5;j?a&!^X*bKYw)P=AH}4j|Hh=f7fCxK}V{FF9tDgS3Bd~m3wan$C zkC_7fMQxU@lslUHvG};ytg`-eu|+4p30+#VV9xub%A9%Gm%iM;)&9sSj@LQxiqf8Z z9T(-PW$P{;ROxHm7b@O=$oc~tgUy5L;JT|*Pd>KYH??QOlzT6h2K*Jd^q(R7ubQsx z^}vml`pT(?oKG1|ZYq~^-&*}<zNDSh;k513XT6FR>5N^JKl8ib?hNIXZ{z#CYff;u z-Jb9FRb=|QPx;e=&fN7a^4IJB5!>kVckLyc;)l6u+~SwMN-WJyvNsZuuU_xJwp8aw zp3y?i1Ltk3u0MP>`%!MP$KI{`F20|4ty(<1@l%}>pC7~5^;>f5b8f8Na#ruuYp+S! zQ#htiw>Xhkm&R53uk?64r^f1|G39n2KRXLH6;)lySG&&fg!x_l+M3iy{<rlHhi!~; zerPKfz4D;OdOeoBB|L&nyp{d!_SyN8H>HnUd)W3TM&^)YS%>2r{+hBinh#%l{!zAf z^Vu;uS#~k|obq2+>eAR5=9Itvas8N8`P;Br>sBw#yzuf~)Tz+CC3hzn6;9B8d0y<t z@xyVvn_|7=_Wrghc1myMGv76@S?;T8!plD%e8<b)RL#FMbD!OT_p<&uwc00YL_e-R z@XvDIJ8tf!TdF0F^gpvJp4^kP*UNJ16(fU`)Kl}0$a`h>ip@NKSLX4&DQBjIu~u3< z-=@Vjxjc9~(?rRbxA{{xyuY>X>EvlDQ~4O=_8Ms^9O?OXUM1M^ae@55{ZUC9e{Mct zKP}7UB=;mfBjXG6t{gaSp+1S<Hgk8^>hkAZEjtyx3jh3Pkm6A1aTDpeQj>G?mA}lF zW%*y_*GkXaAj<Vs;ko5e2G)alORDBq`CiPm?qrsAU+el@k5h!xp!f>kqREU0KNz0# zHH}d`@pfXs&)KKt=6rwaIY)TAgmRztuPb-9oSv67vH9{^lXE+{x){#?JR4Ge>Ot-M z&u0zJEUcHSU3o_@`g4robIVmnCUHG~?NfYvHRD;gXol7V&4reHNglV1-|-rGin#CW zGn>H1p7T4{d1Bv<Kc5|QHmbibw~tCZ<B_81G;vOuOyLX7Megd)&ab}^l67=?ea^(6 z!9KekPP{Vy&+vMA!ZWqBj4NJita=!)wb$s~<Y4F#s(!XWsHec7HcM@`dINv*?&a5} zHqW>i88Wxk;hbTAew5^*#1rTDrmwkqLN<J@+b7}H;O!#ph7}uf7X0kAk$3#EwA`Wn znRNK-u%uH5BPKRkRd?AOD45f5x8h$3Q(EK9+0wTQZ9o3xa#p!i_d<Y~=Qn?G<XP?3 zTRXV#_g`z9k(_7wXNAVLH5}GgQht^Ex{{id_Vbf_O<`!zL+_d;6RiF-%=_}*D0g<c z_MYd`)oV>!ZY&ID5WK&>FmR@TwcwS<A4GN^hz}0f7&iHo!n?=M?8`qdo-(_C)`N95 zd)E|L9+&^OG15qq@mBAr#w%aXX1s}H@M)DiRvn_t;`lFSPWtC>%TL)Qb?xq3zE*MS zjX5Rn!{j73NOnltg!u9#OqLdiW;XQ{a(R4aLT>P<+Q)szm+`u*&seu~I!AHiE8DE= zQyvzqajW|5Tfv#wKSSUDwS$PuI<`X(=KYX3er?K`vn@Im5+Xkr@kH$EpTB<lrPa9! zmQOyp*{)!^Q@p3TUw23H`p;?;;&vHKpQ_!;{wGU!fq?T91Ie%Kd$m?gC@RSO)c3S) z-`vpC`t0j8SKBnCvq&<q7ruR^(Pj}+na4f(RaNpn%}EEP^E7TG_t^XNFO^xO=UQ?0 z(>l(VeRHj!O}V3CZ*cBjR&!3T|MX9D9y2`or?fD$^JzuSgIbNJ+_RG0lSF68?!0An zsq*}Wx5^3+n5>@P+q9^>|B2h}o=F}jpWmBx$v9u~1{;U+`n`66F&EM&ex4^&cwA)0 z!~m_0CuI8-=2x|*g-eS!Reiqxaiz<~x4e^tZT~YIo7-Mk^U|;Qz=`uVbIMKAjNBso zo|dTye|fahWaEE^)1jWW?D^-Gc`8kw5E)VSc2>;dofc)cB&I&MP;Pu5w5MaYVDWC* z;t8(7cT&P{Hd)njyzVO6Et(QP<>Nf9N~R}0N2aj9TUYpYR`|Vj;_}8T-(LwW)mkIz ze*NBrc`e%v=U<!L@w3y>Q%O_JU9mxK@x2KrkDu|gN~n+Oof-d(xlQ7as|gG9Q+3Pd zFFjp+CkX{QByTZiw)y?hFYQ#}`Om+u_^t6szVT<P%q9Wugn71xlS3wS^1Ru<r{v+j z!22H`O`P$;NaXp1%A=-z2O>iZ0yrfPKEJfuefO!b(!*jZldAX*-<#X8DdmL5jpIqy z7tS#J^p~6QGPIBL_W`~qmzsLqzNsYlR9${5d-Am2=V=EH{CU~ru3nKNJi+n%`_R(@ zp&iow7IycxuoXRZxD)X~q-5m=GoRL_E<c+^V}!pfDG!Z#_aOOYz-Fe!1+UM?B)`&J z7qUS}OyTo!KidqoCrhVHIAvgOe{AZK6DL8(?-=UO{LB!-e88rzWaEk3^_73$AD7!& zv#_Y>K;dR~n@elDcW6qNSN#g%xtaVY?)k4v+Idg+x6jMi5HqtgaYxnVlLb59e_g>C zW<7&{_N2XqFFk&<U1w=~Rm;lBd1A_&0}1|@rpO-7<2cWf-1BSJ$~~L;m<><bB=CDp zFenI(XtR;a`st~9;0{lgT|(tKhCeSN&1;V2o?l<TG(3~R&;3+$qvta%xAJMqt6JZ_ zcGnP_d7H86!(PAorDkr$ZOJ?R<(~WwEmW$nmV7-c+h_Ly{V(U2dI;-9OgqLB)8J=3 z&vIGn{Okuz{~4;;t!vMQ8u9KvFZtjvt8$FygN20`auoz>J(d@xDt>ZVQ+D!7ag)U# zZS#P6$9>wg*9IP4<#90dPHW7!XUpb?U)pk+_uSrM(WwiPZa+C!7dVN{erjF%zYFye zrty;5n_p@gNQExWYgD#i`Ig4C{qV6+^%Fg+CUw(m=fr6H@|-L<kZ&zr^!D|fzN-)I zx7hdix7Nv@7n{54R@5tVdyVZv`4g}1dQhwV`TXJeGW%41*j;;e+vVEaglVQdtBXY0 zU&m#x|Ir`vQTNNNbsG(L?W%vA|4^>WI=uMQa!r+cZAL3vcJKM^@+^|GQY87QwY$3I zn)h2Q)Sp}Xhn_3`y6W5mjZlSoOTMqDOa82}enC%A*v8ot6H`JaruI4s&YSyhtHz9J zNpDYA@r1I~-jSdFGvwvdslV_1)tdB%YvHwuB+k<4A3D=QduQ9*v@;}Mxqi)_c~9np zSmCgKpQ~@)<>{;aJ%8&#?Zy1_r??(loUgflbfULZbI<w<53WZ)+%Ns=p5(S!x4mzO zIoW-B+Gcsec2$=1EIplzK7SX*ww^k!<<Z$VRdL&I`KpOarwFt>VQf6W&VFyd<v#v@ zm(1r0TzS@fWa58@jF;CJq?a-F?w)w(cle9A&Q&k}DO`U0^{r^*)?GfWMdl1uJ>iY< zJP%*w7Wuy0|LTOb8wdNJ&%X7uN++v2EePOOE{)O^EI6^iZLtjBe}-#wr<^}IN3Qnu zv=^yGmo&MKSg&~5!}y=!`f@h=io&leJ(`~hXb63^d%W|kffiHr#IG-X4Okx(R8?Kt zoTpW_uIRAr%7#93t{}-7sr^1&3qSLzKle90dHcKnCy^zxP0oiIr`m1hI4OPLr@zm< zdaW|=npGAy7ravrPH0H_X=KU1^SzI1s^TX`nRm=;i|!oI2)R?-=WBRF>y3Ke;S=v2 z&2_yt>Ucd6OSAcQKvaUkqG)knyKL63{y75PVv;JCti@7QCW&tiO4*btxNW+<*5vE2 zZ!I>Q#FP4I^+DN{OSfz5-}~91v?!CwoTX{WbGxnK3LAC=?_fAC!M@J+m61p8?bGsk zS_U7Ft$MGuCVAQ&r?>2vZL`mtzVE)zyT|Cl?YLJf3(L(uKXv^qvF&@_oo@@XH>|6& z<X6y>Sk1SFH$0qS&KxG=dH17!o<1^v%lRgg(<;8QDOdE}RXe%b_t|YdaqxF+=B0J2 z7n%C*^v9%p_I2}LaDJW5Nf}P%pz!;Bb6+3ZXZNG){o#2mx0)pFZcj0^_}MjYiQJL! z@CWZZ|M7qPdSdehy<3sV4W5?yceUm%;l1nda@ME%Tj@vQB)5HV-P?0H`fhyOHie*{ zQyJ{5nSWgiRl4$MmQwE8^XGZ}-s*>Wn&o8lna$fDU-k6qly|RxT>bs>v+;y-=F5AN z?VjaXu3zF7lq~ysUKUf9)Bbz%tzmULMHlimTCO<x<=LFdm%g?ee_UOr$f@X8=-J#K z==oJ9=&xo&ck`z&OW%K4FiCU4=kvi1Tn_fV%suH_%?sFnU3wz0=gGW%S2&FVPoC9# zBiv{4XmO~Mqpka18;z3-k{gv@|GYfSjb%ci$LgskBt%v%>G@_NvLt@v6}`85iSurr z@#oG93+|tNZEw5#kHzcvEtGw?x4y7+n@dsXNejP*XL|x2AINPrI=RuU;_HgZnm&J> zHve6|Pwe>8!#dlpPZuxHnt63YKu@hv_Ve?S|E@?K+qmY=`G*F%C9ikP5}NtK;+S>w zwSAuAn-|r+{bu<7y7Hw3;kPQjo?lv-t=n&JvsK>ma{TLX@y#~Zb)VVH*=%@Per<~F z=k<3E#5+d%JlL3195C(K?yDvp&-7=nl$mr~d8^Z9v4iil_C4;)QaWz(Q=nL!r|V9x z$TG*{Rm+w%dA!QJnRq&RzL%x*j7{hKoe!?)d~UgnfBJf*S!b4{PFMcAY@%+zj&wuj zn&QBG6`n#bmEeno@53gn(_rjlT)t@K?{ndEN|rV3(6O-HcyDr<#rx1ii%Hw=6xhp0 z^{dZ$JWq4!3E9dO->WXGRI`d4Sh`)_CvdmP16zv)99N7cH(pyFd$;(kmFdaba{_kc zJZ|FCHe+qM6P#%4zcl0aT^q%1lQ`d5teJGgQu0(^`@N<29xwm2RKe=Uo?zX*%{RFd z&YDNcZa1^td}*WHn-k?mk4>kkOer|7G~q;T7Q<z6-OD{ee^)%tdq4fsrYn6*(xz-q zUaHNwK%M=^smGU={B}-HmN&L}+M3*cu5u;I-`nf`4^8fn%GFoTuX0qhH<qi_wm$Fk zb-84tg{UrL<#L-`*8ZgiyUp*ht*UJJ)9|=&%e>5(2hWvdu6$}touP3;eyWDe=g^Sp zN3#7QIVEk<Rx0T9TxnLETEF*KXrMxHQ(0HBhhg8MxeZgBgvt#W<W^r>#Hw6$F}3mE z_o&uo61TTozJKYX^K{q6Q>>4b-ruoGUTUhUv%A0UUen69f`ZH^8xD)HmnU8cOxmJu z)KhqCPE21&2<ue$GX?xxZ5@skH@dbQ7q@j~cp@L~<#wP(QTJ6<aJgRPW7A}h@)<=I zKmA2DBaJtFsBS*$5N#7AW`Cr}f32ocXF>7tDE1ltXAA?ytQ(IN{;OP~^IYX&?W!D~ z8Q+*I&vD3Va<iUu4J%8i`d1qJT>0J>k4bNO7PCgke3hHZF+r2(_^idxQ|4Tja?0B2 za9ODN(sK5`it}DaBRL*~cFf-@rfD3Wq1pJyUGB?*#;KBDOarWwy8_;@*=9w_o_0PR z*iiWO+2XX=<(a$zoQ$vi(oXXBTvFW_!c!H}e)`1e0;`FE#yre(s=8Kv63x+fbm&g} z^)YagdE&0B&}4H_X&+w`w)S}vZyD5TUz*Q5zBFYw`|mqfr%dS+Tf@uyw1IVVe^ije zJL8w3SC3h~%5+d)x#U2#q2;T>*MT1QrYg-zd2YGl6!X0W9FiXlL%Y*gp36GD{(E(3 zzV7CE`@I-?H_y{Fdp@B!xH6?|+0@5f3~TNd`kuSD)leqHz3?>uwN*+RE<IoI+@x8d z*q3GUmT$`+m+#H$5LUi4+q-#wmfL|<8!k+d(pb1?XFE^wEFb1ea~NJ<n>~SFq%(2b zr0JH+p3IxV5g+Atz9u;0qtCO(PkkqrvmJFm`QXd)WK+*+to;^Cf{&`PWiH{{s$ycV zywp-;)8@&&d;5dGtk~5PGIxbQ`>oksL01}{TwreaD$-Ky_h^>%wZ<j-k3HNim#0nG zp2dDjLH75>iL-nzO_O~g>@@AmQkL=+zXGq%V)2~w*<Ivtm(Q~X89!HskM7Q00qju> z1!ukHW|@9jd3kcsO^>Zy+aCBUZ3&m&q%}qHhqA=?)vNX`+mutJ%4gWL^L)*h<$_Zm zFLgS?Kjq?{`BNU}rZ_x$8uQfMkJatS#22+I-)@<ErYe}@yq5$Qr?RQqb-Cs%Aq*3b zdaP}1jBM0AX8GDT(j$NRim%HipYzXKG_Rog@x3`-PnC4l3U1hYaWft~Z}LFd!ex3{ z^<$A^97ptR%2x}!=<c3)C74rrTAXhLmxs!{;#*TR6rN9Z=sMc@O=R}`rkxgFR>yhk z=id0ToK^SywBQd5IGPP5m)@P{xiZu(%TdDe+wubKyx{W|CVw8(?CGzX+NAL_OYP*j zOoj)a+}w;bLmmk1<yW`ca#(qeP?4+Kndb`@aF(xNFISsjdDP9lNYiZ2oS+>3|5yL0 zNhTfX;rFUP<9=ze#LHQ+w;f}?uFDI0r&pl4yFYKr*#kkTyS^=RR4iaC^peRv>bh(8 zxeTVDn>JED?|$#OY}|NOdgqq~oXk=VSvHrRHK?A*V?1gt*KEq6P`1+Ym@9)@xUJ^w ztP|F|y3$uH;Mm6RWp-srqt9Ij-sMk9mfY=gc(#;9uCR+Cuc|sI_gtZ~TtQXPTi%mz zqZA}wpEI77D5`O+QYP4ILRCst083)=eY-0k_SR~-{EUA3*yL03iIq8AJ1kBvGce8G zs~CJ)V%ZE4uZeEPVO>3!xh^w_$}Q^MnxbgZX2dDN$fj9V9n#2Fb@_w!1s1LuOK+aj zO4Yv9<jUX{G+ko382eI1mM(_Q>&#vKmzLX26=YZ6u&RTzM~dnBOApUwPbQxYVCITp z^xQJp`}|`Ewn8tqOv8DLmU6K=Gua4wp3@5Ak778hz#26(*yhWUz<X<$4;)y)QC955 zAj#esG@+_5bK^$M{fng-IvV(8E(sI|%Xyj{cHoK1=Bix2T_J!qcE@YK+b@GQm5V%B zHp{{F(gdEbtED|w%%}=Xkao9N@~m+VLnZT4UWP?;q-MJ+h}Uv4oID@pz-jT;i<QCN z^3j}#%NDZXc3)Q2X6PyJV7}J#ec2?&#Y>sxd|l4=O%Yr6b-{Fjlgr!K7OBgmHB>GL zQ$3+Jd9T^@z08}0<}65`Rj|0<t4vrbY>Ld+w{EVi8#GyuNSM6gN_*hP^v`7G`;dtl zmFf}!_ELtgeeX6N)qBHm{($X^Oo1cHB6qhcXx!y<PxkDZ;Noukf_<wtU)5#KFRvYw z&l&o$_k`44*=cc<!P;b|$>F2=!4BN>y^KAt&F#6s#4~Tpg2ziW<EDrz-&(04V`<X9 zRzqY5%LmOHERwdG1+ErcZlY{SUzVO+HsL_(j`RLihL=S>8(5#sb7R$rkMc>M7{XjQ zc^3c1qYO#&KRsq&tG<FK%XjZ*f2ApNctUQlZFo?1*?+69e%zFw4h}||KTiA#4p*Oe zZ{CqB4VRnGn)O!&I6i6+p5S=i%l75oN|Q$h8d5x;kJ=d8S3H~96=Zm=>7?iRhdweN z@9$;!_}U}-QiIg#m+k?Ees`NMD_@)5Q|QR!lQyC7`c{$l=GP97nAiE*JX*{?%lf0E z^G|i9xnGy1i##f-SipMDm*x3V=H-$it6UirWLLRLJSjC{Fr1KaelLRupVeiVCL?x} zc9qgcy*n3heBxYUDKl%rTImeNEe|hu8Qz*BtkfV<P&egMt*^0!&E;d#ee=HX8ZcWf ze^3|FG@<?6!```8pMx%DOp*Dz{IgHo%;k@5LOR?0vpV;Edy{SxeB$}NhTHzS{nuu> z2r^ZF_P>+KXSLRN;aPJ5ov+NZicTC>C|k8~mFw*}QWNwzjaKg{_DQpNeb&u@T~v6^ ztR>7hkJ&GEIc{=5YVNFsyb9$e&G)94FEzK@!V`RA*=7dLW%IMV7-9sBj+^YRKfjdO z<U`?EZ^p6*pmR#@x{Cz+aNJ&)6_6=0Z>!`9xh)4~7=BrDu0YFhl4kh58DflQy;fi7 z+ZrRoynV$=?gzylnUhwFBzXMM?D?^5n#Hj!qr#I1S7g*2IJ0Czmd(7mD{tPt672bP zp`jT|-<P0Lk*`N18sww$7%k6x1z9d;HevW@e`4v~`}?aLFZa!xa;bph>jL&Xm9Nic znKNJhxNIHglVnlFmq!_NZIWdT1KT7YTgp#=?sxZf|DncZdd8>zne48<#5jq~F8M}K zlgCN>R_12{Zx<`)xhl(CO6_`UabUs1zpfSuml@CMxiJKvWv~{RBE+Cm9ke0%M*y?q zN=BP!izU>%DkK)LKHj)gQoSqBa-}#!QlpWp?NOg43D4Jt$;Vu7G~t<T6V!I#*A>Ox zQsvCg{$!=7o!p+lSA1_tOtNkDRo}m_T<RR-wyI1v{OP`MnE)Rf=<E}P);!KXs{$VI z2}awV5B#!ViTl&Hvc<E?r|pe+G<RbElwvRIx-GmDHk`B7QsS`r94^Wzo3*CH^T5ln z8G`SZr!QRgpetrhFyl@3dsCezd6+Qp83qYE2x&gQHSgweQGtTsd8;bE9MyAt`7+=F zzoPLZ?%+N9L8mYp$Ywg8x4Y8d)a8E0xY_r(P5DayQ})NVx)uJodL+Xq@8y+{87w@) zbFL&`7x|ha!<E_?P`k3QZ%SjIk(;LD2~(X+Mw=&>8-n;(zWll*X5v{r&X>W7JNo0M zJU(&g*Jbhbdu^Kk*!;6tF!5+%kT!!~<ua{Fk(=j7#eHd*Vg131@xbb9XBFK%C6a9z z>|?G~O}-NP!jql7=gZ23Onvn}f1i-X4IzR(A14Ot%(jwU)@GDk%|GSKib+x_lLVHm zuw<EkX@##<+wnlZ%(6D-o@+7dJnr||&*fw{*yJTGDeu)^z%pmf{8O_$52r0U@mN-? z#q-l7>%Z(wOCHEPxl(!H)?Q!BB6gqWld>i=*0*SUJ!>zok$gg=%Pz;<`Pz)uQwhHw zO>LOy=VskEZ_46{^R6`Hs^_a;xzfSr_V~)92^_}93%$2?T3GziEZ$=APw}$+wWTq0 zgbZJ0FpByw^_2Q}JowtOP}}04mycwuJe~0MtXh|>NW;3~E&Wj&`a-V-A5Qof;?u=1 z^ZW9~zR<$?UMCmc*)G!;@j&Lc+>X_3LHDnORq=J%pMM+{zJhJxk<`ZR(kB>xG5)&J z@O+!$%fMC}QTxv2ttx#LUl%S~<g<F01OMx=iy>{d51g0xS}z&&;K|4P^6O30%U&8^ zoqzfI%YZ<Or#ltWw-*Puu~t5jTC|*Z+Ura6B)fCpc5wyi=lyK<V3ZN?-x@yg7+>{e zn*$*X6{2yT4C=}+ot$@EFZp>uk|p79)|Sbsjpt2{7jd5B{I+UY%(inzj;2{kMJkgV zdkW_W@rK_!Amr!js53+6bN>|nmCJ><ygldfXSH9DWv9)VbX#8QGY_ts<vgDww`kEF zNBgy6!V^n8Cq+nw&gQAhk^34Mv0gUI@kq~s(m#IITro@T?3uiYhxvHcMv+h2Y`T}X zrZFofFg-B$FZK&ppXl6i+3L0Qr_HN3^XzAz@AXb$NAQl)#};2rp9=U)OmlzIzq|4E zy<OV2L9Qp{jZ2ReMx0Vzd`T(cK-*)bwa3^T-}mq@O^)<e=~x!P=3pVZi0|<6;s`Ib zwpDWcHoq^#y4(JBk6OuXUVOZ&*rK<-qF(C6mMCF04xQ)^&t}Ew-)CQ*wc<?lGas1? zp9Q~9pC5Q>rQ)PLHxoZ?YO)gST6g(K`{a|hT6;D<5i8f;l2ZKg*3Mq{;Au*;BlO(- z>#{=ytXAqT?0K>wpx$b!+G44^jN2?db)u*J*E#DXxVB9Yyzpg>XQ{%%yLa+W9JFO$ zFS;g4FL~k4>$4=oDrTe>H@JmNzPI?|)?l`;dsJ4ZXUgu|dW19dm)QeONtyI}GdIS| zB`Uut3|r)Hcr(lD=Df`0)@B9fJX`;@ft#+l7;m<odf>$C2qzzl<X=_6(+b-{Z7YxO z&#Gy%KD{=&gvsLv4;%aCKUr(6HqR)tRQdY)Y|*oiU2o0@SbqP$qUFc}-D98oSIBy- zn8MZ{wBgF1EAhtGvp@gIUf_8>;lO&e&AT&Yb$=c%;HzBsGe0EP-6E7B{pGzyfjYM{ z9ee)lN$<Jh_+74I&DA}h+0ULh@3m>VmS05c$_?T!tqyiy)*A7A?#o(pd4=lyhR51{ zQ_tMLKVvFG&c<`KD<jISvUh)Nvw8ROLbzt>s*{>0to^f&?AUAc_nF1pkh%+%C!TM! zJbrEclyI}W^|wN}cl4B+PW${^FWx?Gs_XLCzb^Bf;AdC(wmMMt#IC%bx1x2gfB3pG z=*h~T(I3|=oHNIq{rb-U8OD<@e<rP-V%gUveUtIr<CiD@g<gn!Wu9_e>T$l$_pj@e z)KAKM(9S#cG@-=u0NbKKO}VzoLi{#@_ZF4OA3c9<lWxB2Y0(qR%SB7?KYc!7Z{hV1 zYofGtHmDqrnsBD2W^Z+Kh|j9KAuHLHZGt5a=dnC4j|rI)7cNs-Q}yK8<a3If_?6fH zXNcPD(#3b7*yGZ}L(e58&obp)F`BzmlI5Fe;M0PFA19x!+Hx~~#+B5D$Cp;R%uD*P z<L2f63|E7>UvAufMzPj9<(lTiV-Am%yNZ4P-aq~F-rVLH`}7<nip(cf70wFXHN}AE zIQx~4U1!~W4{n^a^UqoLXB+Gm1Z7yBJ9ItN?5Rq}gcAoF;|v@h{1e^1=EwQykJ1je z?k!YXl)FheQ+iI7d}3TyUPOZCTW{IZLd6Fqj?16hG*@HqMX!Y~Zker?5x3u6smOOK z&G5sSnNO<!YJYkCQ2gk9?jO(2$@9LfOS*Ss-BC}w-%5PZvW4&CCxu<l75E(5_s>#( zX|;M&>0W1tY1acUtY5P6THcdSEfc2(DBBkKd7gY5GxbAP)K}9W``G@O&t^odKmGG^ zbJM&#pYQEF&$snYoy=wV;Hk@YPg6K|C$)d2-PY}UroMkaPy0w!Ue*$iO`d9=632Ze zXi9b}mk0g~EmMrou37NquCJb(i2m6Nd^3Lqp4r`;I$2Tn$G6u$$<tK*&Q~=U-Z`Rq z!@_RCC6+k`rv&6DNH*MAeEHgRo9an7&7Ltc7Szqn+;4V{kAG><j@?@~7ELc!-Cfvw zZcp>&{ib>!BKH-%F}%Futjr5NFOlQl-I-@O9tdoHJ^7AQ!)e9Sib2-RZ#~vTJncW- z*YbVIjgykcKA+T{XY3K3lbmsw`JmjFd+qk+x34Wee|Db35~j(=KF=#!e)~Ve`oJcE z{O5LG*6>^VRi4w5l$M#?P#wVBylSI*^PkVY_Zvjk)$(sO*}<HhBHWX-Ky}8p^Lr&u z*vEUVXiR+C^RV*#$ExDXqLMW|4;b%+_^>_IsIc{Xmnk#p?3O2d^}ntzahS5>M5vAC zIa~g{dJhjx{W-faH1^QyQ}^qfI4vL4i3m5z`m@M=bx@o#=cmJlmvcVYZCUr5O?u_) z`=SC9T2(h5H@SA}_*0vC^(U8H5YAIHFJXCXDp)^z^5hrxYt1~xFD*`<;59*dUoERz z!_?W#?3U`YTxT|F?SCA4SU;xp{oD6GY17QLW=DWF_th+jG^&2G;?Gf+bL&L5Ths{N z;g9O@n16VFoz)d14>r;5`aAw@iQw*eocWovN9L`?N#^VK7H5`gq*~lQ@UC(NOMAoH zQ(w+XPcZXmxtO3PoKk$;cK=-46y=4FHvc)wyM@nM@Yd3@L+|fyk#oy5VcE1n%c}3k ze+H@0;`>_zjq;1+8;?~URV+HPzo_tNfVkk*W6A90wzakn%XDscXgHiWR`}~`n02U! zMaHp<Z}_8pkDruq5?=3D&vlWpzPR?8Lf=fet@1NxoMh*ne`#~~hL?x><Msr-D++o3 z^n~jEWtt|e%O=+MIy1iyWSp9Cx}oy?0#V7&5>w?3zA{V5O_iVdY1hh!$N1NBa&A1e zENFKHgYfa15XL15J0<Q^9FIRX_Y>2Ob8qTuH~RN;9TA?~e{IIjjwiqUK3(b&oWM2b zpW6(%8n<Sai9fD1w6JVH#UA&Sr-$o(keh*flIEw*4au4+t2JynZ}(iuxva+0!)I%| zs%-Mgv^xh%MOoI&Fci%_Qc!r@?#oXXH_7exGCTtAHJ5#Qq<L<zq~DvmU3S5oT#0XI z^-ozS%Ow0~`1P`=Ax|$<aOcZ;Q-!@vW;-S<^gJ)gQeAze_0KZTKBk2->FX+1t(KHL zoltyzyGcamq}ffULT|GOHdrW>ne0pcIQ_KToG1TGC0+GD6<(Hn*4lbXTv@{A^U1R& z-RkC(7v%+s%eomKcpc`qB!u_e8V}y<HerG8f@`w(^gL(ZZnxzp`*aQ$hnfSS{e|Z; zw`k9Dd+T?nG^z05%b@NZi!G*GzG44y&B$cpgjZe$Ea|VWO^pgLd$Of<1LI@nYYP_^ zOSL&Gs+h4A**40)?0PTR8}a9`b;mp25H3dU(<RThKmM{ZEc39~tyP{cubav&nJhNB z;pV{?#Yef0pE+%*&ffDR`To6`+6H&bYj!@CxteOE_pD!K;>pK7zpk!m%&tswk12h= zeXX`(@a3Y$3q_u*>Jo3ZA1l6mC8#a+VH^88tI$vVGxn-<EOpY*?wfz+vQ&U<gj{rE zsLcVD^O8!l_fCv5J$A{U_|MBv{WC7+KA3xW#rwW_S7Y}1^SJML@UPT$&WsBu7`V#X zSpIFbvQX$rNmrIV>g@DPHT}%u;>TwgqyNsSnpHouS*@<XB6!x4H;lI&LeCYxtIaao zaVw>#f2zlW^u0_w3+LWQ-0>@5$yAmmudk+2W|c)p8v6_~`xTj=sPi5?@2Bn3TJ&I| zx$tFmoAQPIXPb;KtyrC6lVv$s=2z16^GW8yJFBXSG(WW)E;z@WbN>9x`!7ANv*%rC z&wN!JA{HPSD)4jW$^1S3>+P;`%nY4-U2o?(tA8a$?1oD=n;rYvcCc~#>-Ro7EV~(= z6d(U_)!@XcAm&eVgp4m-dLn%Acva29GtqoI?wp;b^01bb=kfc>L`N3k^Hpo5r`RR! zTCLAq@6}<=`{vBfC%;yl)e9^ZKDNljmAzcH`1-v$_l-`sGbfztTktn)v6aGY$zu#J zCvlfAKeVW_E{x&1dO7!xS)ICiX;0i$R!zHf$9K1YOG@tIm4WlLAHJ8UyK?LA);HZt zZXA{=JLgi}Cg&p~^P8*rTf>jrkG$mt<|-fDHDl{0j<A9m3Du%3Qa{qZ2kqFoqkNk4 zw4~$eD{Vf;T9z?|O3(G(C2?xy7ycvux8#rBv)|Nq?gO{j)>nxK*yk;&{<40K-n(b> z(#t12J?C9+`E}K&Gf(?1SM{nrQ~9!f(ZbeV(~QNOJ`?XuZu0;6bwy8e*)_>!dH1|l z9J6}1q_jh?cyg?!<TfX1%eQAECN4hz?xZqvf7QC@a`(R6y<NdlJ^9|MLvlx+JfG#L z%wVu=vdxpv9&RBMZ*L89DHf6}lICG_oL7BiUv+}f7mHOn<-9wXrdm9<NftRBWOC%; zhLeYxKMPogum5BBW9|A1^YCpu`(8!9O-?<d@@J{z^DpZ~!owcSn>W=a=x2I?-ThW| zk*l*zdxO7AAN;3tsZKGnKI4a*vzcg=@0kVeQ%}nMuze|g<e&7N(5)HeZ8yI+{@j)P zdHvD9{73I8emJ~2L;UlNnIa9VjwrIP<o=tvIR2WRROFK#m6EfoWsmy3d9HkKkJL=> z;#{v2_e=$UH>;&gwQ1V4=on|>ef6ydDU(t|Q{L|W6@GL+uYHy-)8#|<H}~lY&pvGu z(s|D4#@F>LYpfq}^9xlJ-99pHa{Z#1@&vc*ueaN6JsH=%?9J(C?qLomPbkcrDVtd& zuzAC&Ro^Y1tyr_sU&@nZt<m<v&y24uUPk;{-m%Aa@y)%@R<3l;5_quM+(Pd7tmofW zedC^Mz^lct%Vl==NdIgJyRF=87PpFbuPxqH-d&@*dWrtx*Bh+oc|B)YUpVK{nsvJu z>|0=>k$=g1XJf_$gP#pg9<w~#8fv<=bL-i)KVpnN-;rBTb%pPkL+liJowq7qo-gw) z*e|fB@IM0w>)gJzr77Rdg!fO?nYiw;pzZnXdoy3u8GKmYrL$<h>(xa&K3^|ZP%sjx z5~%Kq`4zul{f(FQRni&q=8NWhT@pIs#H&@3$0g1y{ObA?Tl`qOrN;Ep%^K53o-PvI zb~WiwdDu_yzHz;=;_|n7v(7H`XOCVKn_sAMru@(1g@N}?Uas_ipg7+pd%j4G;KFEs z-FFM6?i~6ZWtKnlfXxJJ!8p%H^0%%ZH1oK&D|O9v<K$<2yWOuw?YFOSUF*H>)#cYx zQ@r%`JdHLLtnobO@b+w?w`KlxWr_7}^I}Wi@AX-#{BnP{{1%h_LOQxRC9fq-DiZp$ zMW^#Tf5lsKS8s7a%3Ymj?zaBLUu|E@KD9Vjq$Rke_F~W1^=^G~24P+5GcIL1o4KE! zx1hxC%h%+oS_cHGzpZ&Pv50B@-peLS|K$fqFOfO+b>G$%5nkyVc2=Y+tV~f!ky=~3 z`u?j)-Fv;BF5AJqx%kiVgg3U@@|EXzE;8rwdpFzvx#!XwF^3N~uo*DCU|(v*e&grc zIajhQxaT#^3i<o5Co9T0@9{bgy`$NdjVGQje;sybo72XpZCRUZ-;|qXxTJjcu@HIo zAZ>P^<?Cy!bXbmy7#=ujn`KnF?5faBwc^Wb^(xO720ofn^>2!B;getG%RXuDe6~a) zA*57<K~v>}Rw&ChR<0c@4^3>^-^*Ie)jU6H?gq=m^IM&a_N-^zHLJk3D66u)AdRJo zooR+ANBI7%#GDUSm(Bm#zKnXT`dNT+tL1T<?_ZZyE@6;bJ?+(juS<eB?@m7d)PIWa zq?y*up3llmh2_3zCSG3g-h0aI$=WHOgBU07-mqf&v!{KJUtgNqAri5~zD&L+*JSnq zo1QDtn|&27CQg2*@IXeYVc+FBAAC)oJdw-X$;GBAaFSc7E>3gdcAk~X_$t*c7uVTE zu?yw&xmn6)8QtmkN_+EM;j`x(Hf@(cg~EH&3w~Xxu3Vn1@a-s526M{qkcF!lEMNMu z{3|hWEac1lVY_P6{uO6^cNXlhOe%0+zBi5e3jd>LbK;*V|K9t`=x^=H-P7%(ST0(o zzN<erVS|0iv&A|yPClEvTlq!+kL7t8F1P$C8o5V8eC|B9SSA{LCH?ZP#>T?H_vbB5 za=-k|T(c!2Q|RYR%at~lLmO6#+rBj66|1`3#vj!a+|It%w?(?6$eN4WW3l$hWs}(N zEfq?5z;ii}vF4h3o>lNQhXc7UU%&Q{kgIjmWIMwexP`x}W`S*Eg2VfJQ|2C#o9(8h z@Koj<>yBfr8kVoUr?5{uZ}Rql;H#>TdS?#@iJFon7sMtxET1?b(@N%w;>z3odBv^` zQw;v;O}S(w6{?(8cyh(|VjqSwkt<$4J15S{EU=3+4E_H0!IvfclV{0z>9NPI@&C|s zMJ@Ie*Y_3k94CeMTxPy9;n;~gf9~39wam1zc#-vHxyl3sTmH{0%qH<^T@vKue4xjw zt<9HpXhl@E!FiDb&1}n@`{rh;seJNPd-vrQv!ndIr9o%>Skr!Xu|29-I9vI3&;{|H zhI+nCmS%NPmy=!G^S11C*p+VanEiF=k|ej{Ypb_3@E89IiA<`rTsDFK&c7{ppI@7z zFH^eY<|L^Z5#lP7szOeAJe$F&erqXL^#zuX``7wyvapa)srs_Q>G_lwR?pXJG8Q(^ z@@35QtNLe}pfy!SfHyE)dDez?Z~s^_EnJ|M`q1%-KGVX~xWn>Zg?Y7_{BapftDE+I z4zQ2f^!L?j_v`Fy8JzB1aY?zdTv>UqOOczqXdq*&$BRsHrX|S%6P&J1R9*P~#0vkd z_LJ<UO0e$@RNyyx=woZ7agJSt(J+Bs<l@OMA{S~`9{Hla^QB`Z#~uD@lUZcUMS8-m zGp$Ni`gZtjSyFgZy70W0Pvf-}OOD(=Y9V*yq{*Ep!3Eak3)nw+-1R+fa`E6<3mGYf z0+~P$X%i{VjKp)r*Lo&<cX`z;>9c(AC=--6_r$aL8kePK86L|}o6PV}RJC1V$+65E zk0v!59IIGrH$})g@YY%Z(}u+6OLHtlW-glSpdZDda4Dd;IpBuS!e{Fp7^VHAmI_!G z*=t?ubh9{N%G+ynYu&}8wtWVmlfje%jCYit_dm31^C#=Z;2mZ@9%<()zbyEmC8*~4 zMzbxhdSY;**vf*eU1ui-Ro;}5ido<z68vpaVW9SEzT)#seI$~*nkGp($`~HgbmaA( z==Mh5D@;1MY~s8dFC9(>AGL2Vyf)$UQKLMrvPILL%-izeKuY6LhjZd9AI*r|werN5 zg&mtVX)$kj_@YvB*GAJ2nXj+?B>yR&b#0g$X;4t)%J}QSgDdd{rC*+ZT$*~``6wrY zn8=|6eO2F<=P19IVq>$u+TnUyxNp%^M|I_;Uh5@J#C^H@fVbfZ7n>T(%$P@uCkPAP zsI;m6=%?dua^K{!O48<p`v2Gd$g@1_c{cOf<cXIyGdZ3(xzwbiitkGQB*UHnro88~ zoctx0&D*lN|B*@n<5>$PtB*eC{4{UA^JTEMSfV>mQ?ym{$pywaJi(u;g4v3XN-jF! zC2=Y5<e@8->I;`Qzp#+aENYPXzGT@(+m{P>9(549AboF!pQ~EoSrgW2uipo5w~-3X z>G^7sB6v1}&AqBn<&u!*f(O4YFdt(#nelk7g7Q**iDyeUNEKOK_O<w6RJkO0-l9nf z`a2ej?71YzZtB_as4j-9{GQ1@e@BOt5+VmU*q4inSu+Ps_DP=LV6lMXL-9Gyinm?? z^X5%Cuw>pAhL7G(YpwGaE?^T36jix$pj_s{fqAYB4nniHcg<#-p!fLe@&YB9(xuGo zr9Qzj!5$*r&c*Zg%&M1I{Mx&Vu}AA}_*ShiFa4P}*j%vX)t;dB_1T;wkDo5SeQCD4 z0r#}`UK}q2pHKGU^Q+Ztc>8l%-h!@xeP0;Le_h!VQtk25`&{M%8FrJME4IsBd8%x4 zRYB$aTE#$rZK(}fOA7Bin=m26r)G&u;k*Nv-J@o#t6Nk6$eZi|73!<N>}pAQ5t zP5Hh;r#tgaq5pA_hu7vd`Wl+JUY30Cy`A}WQ0YtG?+Z6BaXtRA?4@s-#G|FDD^5KL zViL-{-LN!q`@KcXri&O4Pw=&nnb_sK@5{eAeTJS3M0x_d((C-RY=559T;k>Odv}o7 z*JXX0cQa&Lm%O|-d-9!UbHA=RrdD`qLh-%n&6j66ewvrTU{kVqk{e%UkyX`&s*fQT zW{FtZR$Y2*a(D4s`*~Z6CMPb<H2W^9zE$m3n5LlUlIJ#DvvZ{#mQ6U3aXV;Yvxn8^ z5GK~gvx<6V6&!r&#lUW=IpM~RTgJ0Q9c4ay6of1FxdyDW=d$YJU`cfZZKDkEkhx&! zs>Z5d`Jnuz*Xi4)JkI>~)f23^*!WGBD=$^BI9Gj%@#YeCuJDcWQ&rWn)-m;H9M$Tp zT=qmNprG<)NJHR>=j$>#P4-p=6kaxAxOizw)%OK~2kgGg;Ah^e`FO3#R*QLB3~qrJ zE0-M8e6Y>zar0SohW;53E-*3h2RHh&l&v`Mb*Z`tgSpM6Qrir*8Jy>@HQp(!`W@VU zrs}eX$rje5xjUXsnZRe<>|@iF_wZch0_R_oXE}Rc_<U`apN4i~;l!67R;7#8KQ3Vr z{JJ2spCM^Vkr7+%%DsDc1vNSxpVPnA#Nf-4Wj#+WsGZy%6vX^TZOZeP4r;Qmd=D); zzf?a@L&CV^`*K}_hN??_Q)3o*6n|N;@sH+$35Hz-&n7!qdZ^Ee`|;M{`K+M*N2-Gu z!h$$td0Ci>9VKlpHy+QD5ME)sKdL~&=JJH&{c|SRwlee|+RVU^KC8)rS!(9_v#l>f zJxw!Mq&GXyyQ0nPGBdAzse$tO{HUp(>S{9>R(9O5OK`OLCpzPu_imMxzgb3yFEcIH zaeUmB=OFR++A1aSV!q~PkK-mgEnXir-M7_&`^3@{vYK=Ht}3~mJs@eDS<G<w{Iz+? zw!bf5b-%ZoYf*P&jH1jerU%a@S4+G5ZMnc_WEHY;;ff{C`{riuu6z)DQg)^2zPy=B zc(OHYwaj9!JYoB`qCd_m)Ws#SRwIcyLH6*q`F&aji}wcb1@=GpyF1Z$DYLQ(!{Y-Y zhnr6<zicJN;Pd#_<P}R^-MPFnVre3q!vYJHey=duR`Wco%d(wD)rRudUwgjyVynJX z_%py^$@=9c?ecRO(xyK>zfObE&G4w^W0{gACyr%2Heo2Lc<U#7)STHS=vjlDM3bZ+ z*Cj?Tz6=vy#pMi_g5<OO+)ruflwX@uDO2ddR(RB=iGSe&773-c#Ca79g5>ypE-<Wd zzceqpN6OFED#+X-$$0ky5k{rv=IwKWr~KQ$)P3sh9r9Um49gQ_qVuXR$j@JD+QBqy z$9WSImcMSk_Uf{R0Zj&#$G1wKdVXmF|2eC&r8-qz?S)?+zxLj(KH2MlA4ih$Id+kU zZ>q{xgm6tQuzc^X!GH4n!j<BUje#p(Wd(jY{`0lx5l%;o<5h`1AG=%?N-f@>_1@ZW z(l*Os(HU_|mgg7JMdlxU8<rZwaQNBTFox&1RvL)(wXfBC^YQwvC7~xCuhqN%zWMm_ zn5&Eu2l8e-TIw_Ld{suAx!_sbDw$a`8TS60@_Fm7p5z@Xx~qaFUs}TH7-W~%))38F zq42x-=OvARaG9@Xy*QPb8$)IWN}Sv-_vbRl37y67uAJE^k=Xe9eW2_rPT7@r7H~IS zo5Fu=a=~ME%LSjZ@)+mYYNaaty*HKXL7fTXiRZ5}W7bAmxW>=*p7YJ*0fWM0mMhUA zvWMpv_}aghk7AxOqhta9j3=ebR<inOr7%3VZ5P#<D9*gsd&dfk=c1Cw%kKV2mb<EO z-al%Bx=&k4+Bw7Haa)tmOtPP6#&x)7;`~bs0~S9s6*&{yq0HX=^8&L<*^8=K%X=3~ zp7l5v*=Nnwk<`GZ(tFntbQYTr15?>2E3QJz-*;_WJr=qveEqiCgKZ^4tGeV$r@rH# z7O?hn%sjqVBXLghQfr1KDTUXTa77eYo~vB8;+;R!T2`*Ic{|Q(Gsd4%w)t~>PQ9Z) z_X&$*mMgg%EEVcZj!m8)=&m8e@^~HlUbU~h4Ha(#-?6+qSG&?&$nWAwc8329!JZ3r zI4h1-1&Qe&%i`(%$zzo)^5Wu@#2JRNucW12Hm-9Fv$QP^dz9GxsqK8tmlZ*#7MAC~ ztTtT0F3akmqV>S=alw~g-&bDscrJ1^$loW~zJIUZa=EWFlMk&A%aQkws?ua`ob&rK z)4b}um%;8Q9&W0tGm#R~=bbe{SXw)M&cnJbcLbJvRsQpJsdE2}=f6TeH9S4{&Fw*R zU-e{v-ligEQTw?jxuGW$=glzX-hX<}_dgm>89&(x|2}`-|I+4XQ%}UcIu(6gf^FiQ z(v!yvv{s*fQDnunR6yoZvgN9yyB>dC%Kyyl{P|m}#qQZQKK`&)SxC=ze)FBn%mRn| z_5{vpTJYc!!+}r5Q7YQ~Dy=F#kJoQi$bYCb>o{}96FFXkUjg0|wdPM*zy7%&PmzO! z+`g|2>hDXB%X>{PkH6OBY28;9^!$0kPU($-@18K8%ly5eJgKd1W`ajJ%a?<X_r^8_ zO0x8<usj;TZt?!s8s(Y;zY2d|3v%0NtL(K;hs~d%F7(Qph12I{pDnpPF;8;(qyo$5 zqPK3x=EpIdd~n_5;wCHU$_-8vFKrXMaYrx7C-?c}zuFTbJ!E7ihCSXtkzHX<mDIt- z&K0+6mToVRe6-=K<h5JI%5sd)Uxp`Kk@8u1&Oh(R8r#56?LB<OKSGbPo_YB-JD6Mc z$VQu*B|O#7cJv0lIp@eer>XGeyr#*4Gk*3o^e&dLk2+Fz>g|bR?(xrK1zpU1b#AEl zF#iZ){r1Ul{&kT<#h<oYdmeur`2BU%67ST0i-gVfTAMC!R5J@Odpt4nL4&1jmhW@x z=%t3m;^uQ6NV%3NPcRN`ZvI{s(#3DNAal~RTi)r-T@%ds*V%h@7`;`O)v}-6V=nt@ zr(5R1!lyoy(xofU=GJF=YCn__JZI}$%;g*HUflb3@&$g!$Q_NBoGYI0`^LXMYp>Xn zPaAa(79L>UXEizI*dM)fGoP=ks=jhklXpkKVf(ddkD{zrpY@z2vFOC#8;|eXZ9RXw z;8ME!N7K+HdOMHXedXRDuVKkHspI%QuU7Vk`lw`~BdaDz-+8o9&-0g5@%B^x?E6iZ zB>A*iTFaCxG=5zf`9pSxC|^<8_x}u1PQUxlo)isJsW!6;QZ~P5p}vg&^NN!)bCUmP zE?3^~w|K`{13m4xKSP+<C2f79BBdMWghd(4{S-Aiwe-L_KfWS+t!ZsDuV$9B+|j$k znqb%;U-i1?slvx5tIyY8#-;O|<qTR<vuL}*)w>Mm&n%zdAAfA)6mOr`szqhfo-NQR za<J(-?dzI);Jm4}r*w~yba~X-Bm0s*=A>@CG~-ge;QOPYe5V{`>b=a%ZT>TSeX)_{ zV1vzPkF-at-dQT!@M-q^JaJsscGV=|)TW=d^;(IOcdRgCIP|eAGjYrF^`BNLOgTM) z&+yAKN%>{9^;+xBa7tGkSbB&3alpwUmCt<cE8Yh!mibf|a&^k*%cgoCD%?(dRq6{Y zmMT0Y^5k=LRNcZS=XrJpeK7l?lFnl#^`xc8$aCeixbl?;kIF3ToL}@u{qORx>-k^V zCw$y{$anEsiT(;nLxGCpG2u&VeE%-Ck*-;}<cE7i#g!wQOkV9c{e0r&`N#H~U3<uJ zBFOmt^$$yg7fLG!_U$QIZ?-N}^8CzMzn$OS+@Ez{<mE1-mt|~{??Q~$9%eeuzMO5R ztoyf_AKxu5&M!MF_c~O%tjR9#=lZFvmo@Lsc{Fj|%qhiP``_#e-`jj^e#pJLEB3<b zm-V(>o2HOg5a!n_$-aGE_PMS3-TMXpI2PuczT0e&9jYyL?1;wQE06b9JdR0cu1Ml@ z6#24Siy^ql>gsX5C0hgeGs?~7Oh2Y<&fk6Y*?ftoCoR^8eqetq_?VxycG2DIzawH# zO6nR5ZZiFSKserV>7}2oOKcdA+19?YH(4zfd~#KVgk5u}|Hak%w~im09`$sWZ}zwB zw2t>dRhF;3rM|xBtI7OP{m8vjw=^VD=D}*2q6&ueYx|YMl6x9=^c7^M9r|%ArhA3c znugVE%<S5iXFZu0EcPXB<ILZAr<AQ#YL65jx2=7pd*52Gc>eA<;Sb@*b65XS-}I5c zEANq~(!@n6d_2v+7xX-z^)1?aV>QDLhnlvZ)8`dbKif0w$`qAHv8SJI+QH7aV?~r} zVDo9dyRX=$I@LaiSN<UT`piGg8i&~r&vlD!&rSZjVBHbX6EO_7CtgRYh}+tn;#dE4 z*1YcgjL8Sj)=XShcP&cw?HA?P3sI-eB{zMP>DcjLf~QLQ+N$gA|BP$QKeD}8`*p`# z*%=(yV)_k!OI^J*>4ot%^Yxb{?c4WCe`4t>dr+&j$x~$G(lbGvmr{SmRtdfh7CP#f zGr8}trULH|#@RZa?=RG5?odg2%lz}NCTDWfjX(Bl9X_q|u6<x@9ondJCbTX{V&aJv zp*JQiS71Hyc;(VM{~4OQk6kjp)c9!<ySfbDltZWgGt|theZ}DMGq78zzPtaaKi_VD zo9BI6agTV~U*2C}DxttTf3A6Tid{j-13}*@3Exl3%v#;B@POjMW3`#GjX?_@_pdh% zO-*iP^?S#-BJ9`sx4Eg$I@6uZm1HKq_j(ZXneSeGOUgeJw*z*`Nlx>;dFn#h{+_Zq zxJ9^m%jd?|etcCMEKeS{d^Cek#aNU*Q@4M`*JW+b3(u83W_iLqZ$WSbPrkx8hU9Cr zF0q8&zUs%Iyne45Q`=#Kx<3>Bg2kmRb&UTrTwAb#%cZ+5M`qrh5S}AqT8ujNS_vNK zw?;Z1P?4MRRk!!SM4>qea*p<w7KX>L{!{XQq!}69WcM|L!Snd}^Ot{Jj-SJPY1Z4T zyZ94*KXW=<6l^|m$LiPPdkr#$_xpoqCFX?}vid80V+l5j<W6~5_3^CBl8Mu7<RAWv zSipJ9e~#=PkNWnXv$Ch2TJif0-y?gkq!TBcJq-H_UxrR>p8Ifn%AD!|XC05|WR~AI zjvAa=RkN==nO!zZtR`{u4#Q^?e3hCfH@H9kdN%5Y^LAF}IrG=LOxjm*SmUexsR`Rp zZ?uf5*J{}il9npT++Xa&J^RlY#ef6z=KWozR+_lOfW3^Z@}%r4m9hzM{FcwN7JTn1 zk>)$`!JnfWDvoL|is>vDm#+H${MOw4nX!A>lh2#_E^QE;`Pg~OpCuoUuUvC_Zo2=L z_Vc@UcDPv|J23y$jGet3)u(@6Y5DRi`;H}d52`#d|FSM9U#cQW=)fJXvYzJtC)U?o z?hAaG@kly(!ikpmdQ8jC9ls*ARA^_vvyjlfq@D(=;vJXGkN7dYJ-@H=*Y)XVKU!Ic zY!Pdj+`BtM;J~kEo9{pJ{WMd|+VuGx!3lO->&|`?H+<799eVc=Q}vhSI{g=C?0oy_ zNuB5e^+#%ZTsjWvo}MFd{ps-}tFY4RM}5OC8GL>v7=65VRm^_|fu(O|>bYNhdRs^4 z^Nn2P{<S8j#opgFEOM)OQ_H`%X2E^gg0&*QUg_0+;6A9lOgo~+>)O*$!T8l|2anwm zvU>h$Vd8D|nezVcRSUOg_s72u*nFa>g`+vyQsU&V>t~N2ms8!5UXdnr$W7RikN<mb zn*XD{Mc@B9NiCMw=H6gt{!5@bY5vCK=XMM3oncbDmOQzqDg5L2CCO%QRGJLtc<?LC zJ0kUy?fY@5_3dkW@2+`iyv$AVr|i$KqAQpGyJ8jgW6joR#*PD#vKG&;OrGc)T-!Y7 z*UD|H#R7LQ_x#%vl;69Qg=zKudD*A8-0%J;aAobkduJxx@_DK>x!i`Y$olcMy~6%` zH(Y%i^x0?1o!e7Smdft+T=MAnnaD`D%X@0C+15J;<~luTI=X9){PYi^Ue5zJw!OP| zjMMeVcRnGF$CgR{S*CBjblH7(UfJs7%DW)x%^yB?uX9mZ-V^TnM_>M;%~|T}|Ib#z zO@HUM=Y1UcYiri#{tmerb0^DeS8sQeGw1DGl^n^rjgJfdy<b~7{n+_l&X4>Lzpg#k zTDI-lbn)E0Yj@>bIzIh)CGz|0`u@lJsw-PQq?rYO`u_O7>HVgI#mhBUOYZ9U-G6NV zmTk*Z3zy&f5$5<L=IFnP`9>c$t(MtjUXUI9(ETm@`XAj#ul=g;Xx)Ef9b-V`wwAQ_ z^QL}C{kO4l<u22U^1Ff-Ja3+#wUYO=+isg{y&`Qttv0eRs}5i2t-qY(rlQtK`7Qqx zKc=_aXbXF;&I-_CoFKSUd86p_s`JO!w^tc#&aQsH{dAGvQ~%j%_b;3N%wPRucH}jc zo>$^UF*;mA21lNTU$%WM5^E_v$yqSp>q%tF{9F7v{WoIeA3bl}YOQ)D?Ml#f^%?gW zRwf?zn(q5!;={9HZw|AZwmR`h;~t-5e$}6{-`SP(H52$ObUakbO<&YW{+M0+P{iz( ziQt5YZO`vc%@1_hbW*kC@U6vP-^98Wd^##~aaw!3!vO(XkCo*HKcgGO%OAdupL|c| z$LUAB{GqcWw(QjSF1_dIbUjYHnWkU$5AVNK?|LOSXG^`9{?w|T(B)h;+vD~d$b=Og z@YSCBmVaHdw)=j?M~~+%p7%v8w(n@OR`Ptu82R=;^$*_*-Cbg~S?yWvDv=NW9%kD= z@;@@4_m9oxb&K}z?f&iZQAUT)UH*tIZ{gMM?!Z@v=e*kLFZM!8=H%bytDQ4c6g0|Y zYh8<^p7+%-*JoEg{Lk=qf!?~uYV1xC;>tbA_x9`CI6umbKDul2{Ve`xMkn4(Txe}J zuX*0ort7=<rfXCzn{+Q!x-s}v`nK%7sYO#tt7e=^JKpnU=N4b5TDylg@1{)Hyglss z+RDc=X4h;c&e~qR;$GaA_2q_Bm%ciC(!MvvWQ|==@jT<Wqg*u`0}ZFN<{nm<aHmvh zwWW2{XFndtV?~C2nM=|?teesy`z$Z%c~jLtk!Mq8w7E&I5am3uEPW1N(@F)EbC$~{ z6;Jk6wzO@x@6~)&H*=YHa<fd&S6R)YyQ;sgxWe2s=XZTn%=fqN9hD<Hl=o#mDEqR) z-@^8ln@aBSb@o;a6J!1Tb}nzTv{<o8TuYN%PD3hX_c^zs!b?l~9@|?y&X@OE<6rF2 zV`SFD_f=O)E&H&c#oh0Y=N#7iT;8Yo<Jj@T`#*Hw&Jvnys``1F(bKa1E0mX33KTUL zeP7P`B<5`n^Ofqb;$=(LsszpaQr`BTAyd9%9`EK|n=j^x+THx#UGqfvuIKyraq+8u zY>)eBwxE<>@b1i%iQUiD`+fSR9;`er)6?iL&cny~`|5caQB}Q?tx_w_HJbK1N<Y~( z$$;}eL)cNrFRQ=Fsa(@p*7fUl&^+zmZfAtqRj1p`5z3xuoUTxiC8p&Uy*}&qjibA7 zWG%Mqzh0j?zvI^TX5j<7Caa#|*dc7RqHgE8!pU()rM>Pa8GKHhvP?-@GVf1w%<);r zr8^(Z+stsl)W={$TW6kL@uFR`gLgYu*TtnLD1VMUX(7v&trxwzl{KL8_PndPs=K1Y zobK<=E4aT*Th3ELjQ7g5F3ue93G1~@n%sY$h~2sBU!sKi{+EGU8a`;YZoa-XaP~yC z`j(QnzC2Ekmt`66k@J_Ea%Y~y@>ANAwR08sYPr^IS6=xtwA12sSJj+8U%P;vDy`)_ zUu89$6ym?<xYcI)TQG!%TkoEC{MO{=6G;w_nI=1lTUW3v6wYGqdBS9S*1h%ar+3F| zF8Dog)@QiH=xJdQl*M+;)70*bf#rj;72A@x)oo$q<9r>sQ+Z$3$$%YSOj;R#-w9w< zI`Vz-`m7m;+jRCk3Cj7pdZ$jmq)2iftLOGvbHimdcB<;`e86P;s+5_r-9qBml_v>b zmc5gF+@;5SjO*8|x`&~M6D~*o__8vGo6UuD>n^^+fSHUcrC(M=_E}gi;r-(_F_T|+ z%jAE)hJ9}QwjckQ+?n&N!Kg^<l7xKX`Kr8v%-ftcrOP!G+Fo}hCbIcjFn1M%rQO<J z@$IFb?e3&z!-XD8)%!BJ8L!VuOl8<s`9?!3@%~zijVo?6xhHn@7n<<Tm@wyeu;Fo& zJJXh^T=_J~Voq@8>|QT6k4ICx9CtL&zt&*3@o?VxwaPp}AMCycNhi(eU&>YNkbI@k zdxGZVGa@aQp4)1f*}f2Xd!#5sDB+{e$;Av@zKmv{sxL_2TOIt#fhCx!=wanK&4(BM zUTl8-I<(@vS4i@FFCXp&zdmW+koW3!dm|VY>MidWz?v51p*FL5-qgZ&lQ~=r>$iMg zpmAO{^KDPM$?gVOL%+jMSzmhj`B`5{J)U;dbm`r%Fa4+Ju%s_Fe<t$xjNPX`+t0Jg zXYQEB-RM2VS>VZp;~B?azx0Zj*z9*_=FeT#rOWc3Yh*lSWHu|Xy0}|eVY26zGE-?m z*M_Mn&nM0)S!wh5-l`}3OFcjRXW%@m_-Rt*Vw<&=DLQtke^&AQ3we4#<PuxA<Z;Ut zHFtvY&pJh~wF_`*bF-}q>a=_vP?Y(AF(}+HxvZ+#=Z@j$(iPvg+cL<{TxR^MbU{<> z&DVZmM?*9DqcUn_F0f9oDGZo?@~GRnh^9)Db9-N1V)A)1uPWHrg@3KJy4;lm6H1oo zxO=7VRW|s&m;dw1r>bm^=VjjRb-%CHRP3(lve(x_^Q@t#_LlOMmn9A^xtLMV)01b( zwlu`&>rpoknUbTDvYDJ4pR+GDol*AMS9ji&X4w}ibq_S18*ZF872mMD(Lwl~`uwN~ zUWa8qXsuwZzPS5`uNc#d=|47mKKuS>)w(zQ@mcvF5~?n35H@~tnOk4sYS9mcuS&Dd zIG!(dZKx|+yz$GICAawfww#$%+*RgZr+I_pz6$Fyna@GfSVDY{SFLC`#cT28d9KOF z_aWZSyym8AZkltd0yu>jmQC1j)I=sIAmE+htXy4<IAcd1pIONX^IX07j@|WH<xwb+ zsd@7`^HNQbTN-)RmnN`kd|mc8iy?kS@vSM7sxGBm5~#YsT*X%%^t{V%%W~6&MiR{F zYi(o-JuIKiVOTJcSIxSs{PeZy%v+t^nhQK0P2IsXPu%2Nyq8mImF83Ts`P-ua3Qu? z#(r;S`R<!?!1%Slys6&d3zx5YypA~8sN?1EXp2(rf>4PY&n3=(TFu<&xn_p&p0z#9 zjiJs4D%;nKtT{fbwcpf}(d<#}%9eR|E*l@y<TE}RuOYNrrZ|XiYqTZX+#P>*zR<L2 ztn~W!X!*$;0n0U4Cp?#3^=Px<F~j$fTf}wKmG8CZu09@fnVHWvlg~1#Aloi*o6i{! z);<qWxj*I0*86GBxP8<vP>4;-?_TEYod@3szLT4=FxqnQ6wYwn3n>?jcwH)A6#DU4 zfA*eIt{Oalt#<9P+Xv$suGY-GBPH3Fv7y`gz}q=jQa9gPaL;prB<J(_K7k3UcN?#Z zq?*m2t#Y+2jrZ+K2g~<I#h7XjG_ZT|%Wh(I*&(vD%}6VX`TzAlGICpl1E(=f*qX-D z^4Z<dmwo3_i=zxC+x%E9G|!q#*n5?|Gss}v``NAX;FBQX{<X$x4JzkcC7;cRp2Z$> z*@LrD)|I92%9)Q|ymkR{d{(8)^OP2=G<W$-$~0j<o!%TcZ%?qJWzDY(#=!~lJ1$R| z9C*3ms2G!jU#5Rl#uAmZ8A4oayw1CAHJ`6#u$gz|z}=NgCe&@YHLYReBv+FHEyFoX zbyFT#ob}+>shhHJFQ2Q6C&NTv-Sa*dSa$FDvQ(Wt>&uGcYnkWg1Tdd`KFfeVZc0Mw zvN?qg{Omn}KI-=x{IV9Y{H<8>dk;gF?ww1`??YHtA2_G6?D?#E+ZRl>OL&4-99+pE za&8L45@z26Y!l=v7F)b_xGdX{xg_Y>Y|qwXk7YC2*`~}Zs1EG=$|NFlao(0YvtooD zcn>buXGmXb!FMGgtb?H_^Yw8Nz9}=_J8<3k*ne!6=P`Gaoy%)A7-zc5>lNQ?Fuw9^ z%KD{}vM)3h?=bqF^B1YTxA&!$oQ6i7heF@tt=eXfiWtr(20ov2c@xKiaIsnLODzN) zZ7vw@xxA~(sbblx2La576CRW<5MaA_R955H*9A;X7EglutS(LavVbG9Hj8(;@};#C z=V_Ytef4Y<TB*KVq=(n{(u6tlG>U|^rdmkaRtM#-)@zY-HBrkf7MjT+^V#3l(&X)q zw{F%_n~r@kX`a|scI;invbUy2j5i)XeKf0b>2aCMO$CJ~S2AhEJ->3L)zGtR0fVhy z##!6K=3NsTWi^+0Z@44#e6QzOhTszt%RDZgSkUNxrt(eo<%R`Ijs<X>zc$Bcxz-Ka zUh_GV{Crs%9!;3UtH-J+`QF<}N_JM*3(cMKUi@B3JY5d8ZW@vYmA8vZCi#0YOt%So za#?i8G0nd#8CoV8x?TRdyntcJIb*M*Dh9KRwzT!`RQMJAl&x8L;{utI<q1;0OG;ll z3FN)?TQ-l?;<J;$f$Fq5i+3)Y=(Rj!ae=CWRI2{zgR(0%iyGd{c{X)-ut8POyeUNu z52}N$zDO*Ul(ksAe_d9CS3vRQF0a6eo(p*NZBo81mI?ZPa;XY`m8C;(yQl<9de4;y zRTsBkn(W|W_4{(i@?_b}_8WykOw|EapFJ<na=g>UFxhU)&a>_ld#=pUkZGRp|Js4` z!q-RBRfNw+<-LmGVkj56SA6Bs9DWnw9|0!En)tm+)xESXdiGhGq}%Xqk-4DR6F9GB zVvvyWg-44eZ9=--iyio*X7Jw4Qax@db7l6%p0d{g2MQe+54`kXIQQ<W)}}9c#vWzQ z*BQSKI#8f2u`)cpxF;l|pmL=-|G&Ksym@{Mf3hY&uVa54e(Fi_wN*AQ+ul7|rQp1S z@vK7Lmo-aD7bw24T(yIr_ncvnkbiLCs?YDV{Fcu;!@+Uz*VkW{R+xNRw1oSdf7Ox$ z9n6!xf=vw`2=^phZj_JGV{!B=d>Opr?PZZWlWH}cCk8R?`nW^N$!pW{n4Zh!zpg}D z>J)+oYB+1o?OgVx^?*%CYP+mot!DV0-~`Plm-sY~E5G#YFZ5tA53=V<JZbXF?E9Bx zGZ-HHx?E&%^N;3{m9Gl@0?IY-PQJB<quuVy-U{WV5jR#|`BWd3F8SE<uLhHnHKXq_ zcbniFGEahdO4-#KB;2gzrtq=b&(*Yez~y-IECci8>mQaLU+cv$o!P=vH%0Uecax?E z`+tVDe%y149c|_WsGT@2dDdd8GHd1QIsc}7lN9AVmm#p^S<k#HhmR_%%T_GlEI!M+ zAxp0M@|7q3Squ~8ADMif?DJgWtv|z86H&n(XYDf;=FMCZ=f`;d(lWNDjsq5tW^t-t zT57AMe(Ug#1#Iusl^QCS*c4^@t2Ky7O)wK@-fF;iXbz(Y!;(pM3HE$b4trHRnlAG@ ztTD;<PSvHR!iksfO<!rb#A4+H29uo%g+4ZcK`e7Ft#dznrEbfG%sb_e8f0W@vr@I^ z6$dcwb>y)MzPj<p1(u_`84td8d*E;D>U4Ca8-MUDhE2UY{xkIYFt9T`TlJ)s{r;Dg zBJ=LPk`U+rwSRfm`lro7oE-1}Gh9E*7h|vG_`>n62iuC{&L>uGSdy3jpCLBvp6Gdt zC;e-+_KEN<3Esh%s_-$e$m;8Al^*7vzgg@DExs;c?q~FmN;b|r=4L#BVQI)D=hoMK z^Su&&?tGKM6!0U4PeZ!DCfKR*$K?+WCu07Y#9Y|HKV#vP$Fi$-FB4CAk$K8LtNL+Y z<*^LOXfE--D~+8e4zOJA2;#f^*7vv#PtcCb;?Mpwd<|)4o_J~T9d@UBt)d5C7Cq&E z!Y1oh93-shvy4Hu<L7>>PEQM!bW?r%^7qM?=b!3JkaJhhzq?dj+T+XXdyR7*%dW8L z;oGX)b)?xsrto!G=tTc>Mz&U=F+DYV*#qBu`LC~XJQZ1Ku+#D2+v}o%Pw)9%TX-Y6 z`NWDt9#5Ct@{ns@eyu5DwxjjtIe|U%>ZJk>&p$2l!1%;!52x10vM<@$nb)%Jt!MU} zSFwzt$gBCvyse3DjuPjrt`t64_pbfY@)I!=DrGKvFzDHRw|v?E+Aov;W9f>iGyOgu zwE0(Joc}6w3$u6191Z)pEj|7$-(G3D8J+Qu@?F|?HGa18GgAdyyR^S`Qw?84e5%cG zk#>}=eU;ec_VA5XN|3}1dwrI_T8G>?Z@=_fRdr>R*~duFo{7oam)URc^;#t@DY=-X zRKC}%g~#aI-z;es+wh{dZ?tloCC;0iy&)eJaOe4-SrhvX#N?^>JNh3^(L63|`10Bk z$0?_t%WcVJe%I%2AtEY}t{``Ot!X@iUe%SH!|%&Qg=HUzSTHqp`piF)wPn-Fa~IDS zyU$X#>AfSj*K$>l|9a7wC7;<o_sD&Xo$>eH;hz`IH@^*-ba+BN*OpFpmHCH7<sR$_ zN>`s{&inKA@rVBzUaw|6u8<%jpVcFmd3*CDce$-{j<;X%WnGx5S5Ui>UAZgpJli5= z3m&hOPt}iRvNZ10e(7i-U0r(AsiEzFeg9V5=!(0SW$Hq04%n6paLE77np<wb+@~er z@%#Q#TaVx_-^P@aJym^LkCGLVR;*-SaV+b_9X|H6{r>;<rmJQ3b{DNV7(KzSUhB2) zGiAB99V=w?BzUUBop~>Yc3Y(Ml*rVXo>$45d0C~yU!^N&ySBjNPixrr*;mL}UCn$i zxi6{m+2*Hu&$i5(84xjPNy)7O->@B5j!YDI7k%6Q+Rn&4ZlNVt^6eZ0FBFGMba=nq z^HTJCa=wJDVdV0(at5R7%TYl$-F_ebw2W`w*IiEgmdt$2zSg>@@NBqclHsop8uxBK zzqam{fQR_xbB-_PT~#ySv$R}s@<H{be#dJ|I4h1X%W}A3-T34R!vgEbonMwW@s(X& zbWz#B;;4pBY(xB%k`<f88_!u^p89R$_hnHor?N^5C*QxeT3=bc@2k<D2cj=BO=Om~ z*7UAg&QK@c8mXMX#b&^0@qYg6P{BVNdxYm%tmZ0i{^y!@(Nj$HyV~2G%w36<f~O{K zSt)CItoG&Ye?gv)?R%Zx_Dnu_JpZ+m1K*i&hUe>8O}A~lbzp*<#fm@Y7?~&gF{G<} zeecs|+kVEq)Z)a;AD5+9s4ul&Y`@axZ<d+8Ia?#IgWIDshVyKXD!QfVv2V0|?LAe& ztjOQ-tz+=92UY(WCOhy2SzTG=yhU4%@q}o|Bv0wh8y+vUG~&}>dQfmgi+S>mSrro= ztFJE(IX$QJn04~{$BuRT_Mcn0a9O<Pk}&DYKiO{g19Y`kKDlnWpJ!>GSrhxtx3i|I zaurqm4%yK^<L%Ky2ET8r&q-^W!Sb_1(&ov(o$FF!`n8PvXHHkY5~5#Jc&=V6W>L<I zv!~wLHh(?8)k7`GT$82xy2j+U^)u!!dD34W7?!*zhjHSh%5RIOgj>ZM7tQ&$;^g_L z1(TT;w);m-KF3mYW9cdHls_xaXQjQ_aNaA~Tg`#7?D5X$uLJXaZ|Yv_7K*mpt7$Ix zl~c7N=7Hdx%gISjPv*>z(qWx+yY1qH>Y(Y5uZuD$h$VmK%2ct|uwQEzcxQ|1p?Bwu zuUt}D=on%hy6f@YPzeUUL-Wp`WL~~hFJNcJnY;FLjXb4XZr*up|2XvGji%@iB5x-4 z9+6)vv#{v;EYHVXp%b334alrG)L{8a^QG4FXOC~q*NE9ATljVP>II<+Utig3b(9|W z-M9AzZ}VA?pS@x;J_fs&eEeeFuC)1p3iE5fV~5+mJifPd(Urc{ULW;VFJ<KIIjSVo z>67Dk$bD<A_VT(bcKTa3iA~$4b;*dMr>`R9-v_ySQ$I0GXgsdA_UD-yw~8G9GpOx+ z^>Cs2d*#r8zg|B)KgNfDOfh^Jb=$SHD%oO^fLW_7W87Y=>x{pne@wfj%kS}FN_1TG zvd^jKin<ot)R}&iZ>dRM^TRx{`AC$^Gw$6rJS$a9Do^WKrF^qpePf?dP5$&pHf6@g zvsrR<TXI_%7pMOF_{#I^dZP-qRm(-+O?~UnwR3`Yo14WgHshnY8BwLzR+dUfFSyCA z_uW=m_t4}Y*ZK0zc?!(Fv8}uPYI;~g?c7uEEFbRfd$u>uA=p0VpX86=qjEwYj<!vH z#C>CZ)9p1Iw^;tHIX|0ap2yqR*B&BTR#THKpLhLfylkiO<FoJ1-@fbi+WlwHKh5!E z6XWeq>sRcP`*&s1jTg_(9~Y25-Slcv#dYh+SNC#!U9YrHXwmMCt0sPXKg&V7s!FPJ z4$rm%-=xf4-`ZEcyteC5?7@82N7Ecl7W%O-IG5GCz1K#*T=cNx+NjCgKXavP{~q2o zZ-(sa&ShKDI_G-JnKL(EdA!$n^7*{4qPuICainieou%paG&Lb){ko!zh%}FuN}ZdQ z$CW>ttP3~bbjdoa%;0%K@`de6Z{|5q8jOtnq9e_CFE$<CT>LY{pXK4yvL|0(9uO6G z*`~B%qO{P|<0^s;g>ja}AFn@rB6h3w@I5QDIgycObKjl1?ZJHc-pr5tAMq{x@c59^ zV}F<GyAB<T%O9-sS9N^HTBBO<`jLn7tbZSsb{Wn2c_TchZ@Jvo%Pog~hkd<p%I6pN zqw~k^Mu%L;P53Zn!r{zStjR_R{+w|~N+s8ef0%!yHvZ5)wap)S!h`SJEt=FR|2>D{ z{XEMx(blqZS9!t(|E_vx6x!pkX}%M`bMR|%DeqgVEe10lv*e}4uJN;Ek@~9fK#?^e z$nM*Z;*VVXGMVlHyLa@&pK<1{I2LA-H#6_w*OzkT)0>r<I1i}zP5t@(!Fmbb2d!Pd zeJ5SJ<C+)f^Zajy`ULTX%G;O5@BF*0CSUYU+Yx8hEejI7x}FyPy?jo4vS7<}^Br5{ z4ZpAUSt6Qv((?J2Wz%#g9A3^a@9M|)_Wul7wsDr1^o27&+_|kJkRCtv<av3G{|r*! zV}&12KfGS(?%~|OOH6*Q6WA$Ku)6=D+_IhNPK9^*XMCOXTx;btn<urJv3H#|Ft*3- ztzG>%zoUN3wRxvkR8$}Mc4_M!mqqtPe=^E?O}rxY;Vl2-<ww@@>-^5Y_H-T7yU*ff zmzMwVPssMN@R}TRl6%HqvrPB7l9DXUP41`9+IT9P{o^>EcR%WfwCmsHHWm77ldmWA zeY@(xf9x9b^}em&{99~dmsfmul2g8TapBfU@j9#jtl{&kuzB#fxvSLRbNi9@Gi6Kx zOZ)1QtbT<g>&~3Pd-nQ=6|)>q>r}{>FcrB!bvkjsqTt@u3GdWiE@ox0wEfR8U1WBL z!m*hODgD8BuH;+Z3%$+4Gxtv6>zL`CHMtMhb06kCwz>AHq9sGZyYtdjUspX%*(sZC zsTF6Q@c2i?0g>IRIxWi6^L9u`zHwMT=j-}g;Rk*t*e7h+G3VjT{tq84SpL>(Klc}@ zyYSEUx<ba5+e<gLg=+b@yyvQ7wRMd#_^P@|?fHx9qgo3-7p!WxP?+TT_Gs{qE4sNS zCzX3Au>aX&BcJ#_e#W%>l65LCKYD(v7x0=W#LawOdAZt_FZX-Dzn9+LnWwUM?hO&= z?;*@{=Eq#Scqnw+k)84j%J-RHcyr6=-HuRYHskM`U&ieD&meTE%<$zmSHa@nC#wZP z`=sMJU+<Sr`FC-9tr2erw<N>+7YwVW@0ZJ0=@<J}q{-bp@z<lR5tiSCCw{A2{Lwn( zlS<}Pg-#Bwx|bIJbbf`Oi&Ou*)YMY8ZOSL>)wx1bPstVBU|w61xBa7i;I%i&+or~e z-`?gt!TD2lDbt>->&_j&ccl5dg9Y=fSBo3=ZFV!7`D)huWBIai{>rW^wgkRYb&xn< zyYp>K`X9BZFMUz5PR|Qf=A4{*(r)TelO^-~FU{IiRO?%Qm{;^de^&Lg=8xS`m)|OH z-6@|@aq{n<-p>=Nn5+uprZ26D-mrgW-Mu4*F*OY`8(+@)@iH~2pfF5f_bjtJ>l|bn zEdFNx4YTbE<-hQCf7>G#k0p^-a{OA+8||)6U;U%s|6*?X{=K`T7avsgGi$u_d~MCs z53A#L&JWGDH{7m%##v_CyTVzI{wcl=zW1Z=oypvJHzgW4<)>*+t4KeysO4E{o%WBp zE8=3rF29d6u=vSmuD`c(>+`Oy)lV|k<;`<Zw~n8{zqKeWQC(f-yRBx|%@_Wc|1+$Q zy|8G~M!tnBHlH}Z^G?&A2f}AdfARO2#tMD8=Ufoe;MA_#a9;HJ!4!$om;b6R|GOX- z#2<GcxX|VEyr0=0tB){-MIYtqof_uce<s}6yl-n|!sL@XKi!qKEjq*b@@!?%nd3bV zv&?H4Cw{K_9aeWtsg&>9^JBZ_T%0=VdF8=#7N(PSO<8rXc-kGyV-?DG!VPzN*WBrA zTYuy~!)}|rTZS%~t~vS{<@}E{pKXfB6Bc}{kYisW{4(zH;y+RIoj#Pz66;?P>!`iz z_`w6Wth;_DoI3DMX1?=LU)ehgB|TM=8(+GtbbXolJFU9D<xlaW=y-wSE7!i+-de%f zDUtK{<NLVYkNU^%S?vB$vmyRfk!QxI#OVc+x_@3jeeIk5Cg7Oj9r=al9lxx|FFk$x zkkG60sUnkB`JdunTYUB4%B?qK)6!$S96z<YK9E|Kn!DTafcjEbor9eU-&f2EQz@|L z`Vvy5Y_4=_<2jD=vW53w`&Q1ZWMAsASy0l+f5U$UsoohAU$I&XpYi*=Tl4vyD{+bE z%0p5&8P4jrWRcVS)c53HS#e)M;ZX~Z@MkCU^S(yNG03i*^!D+}uW$Vh7CWlt-ud?O z-d5fBDV>dO7RSAw2Xip3=YBco%1h1QPv(C1R$<yRzWit4{P8^M!@JdNTbJLFc+!%} zXv0@^xu*2--}vLVu77*B;hA?^Y~Pcww+}q{w%)?Cr*PHETS61xl^1_+O?lxyd)BRX z!`=BsC#@tLVkY?ixElTX%G5c+pABEXopnl_)gdK!N%`xLyT=^a^JBQKx=cHnntD<z zYjw%<z1qe1mG3Q9SH89C5Yv&q>LBK$ENu3g$A4VvX<_(!zTWF1!{N6lZ8h0=O(xEB zbARg8(5~Uhetj*&O{007Z$0ktxkqJ6{AYL_WS!1#%ch~a(fD%$Ptx3zuZn$TdM<rf zUS7r0-1ydm<GC%bvQXu#%)QkgeHHos7_etCoEMq<xAx`Dqv0Atb9bzIzjNi$j^A4r zOmZ&$x<d9SyUb&zh68<>JJqkxkGs-6_onO$?!FW8v$uM<`4xXz@v(2&vRkX7_cMz` zgfq_hq<Keh-d!!-8;^G^E)2ar&v;Jtg>ZvUm52H=LmOn~A6u+Hp`h|#$%P}|UON<v zId3!E@z-<3%}qsqzE08eGHhh{GB(VX@vD$!HJ*1^t@n<6Rz`7i-<MeeLRHO8nX~(g zPcHkw=eXpYfWpg3{yTqNX1vMr(T|;Nv4q0o4@=k@V<znUvi#Unw~#sWy&Aid71E{_ zIlK*4*qMDs{prc$%YR&2l6d#mQwQaFwx4}FQqq=5*jFt{@maFso8|J#-uZXuwqNPF zd{W|oe6NGM%I^Rs!_z{?i>vzDCYSkX*t%){Ha;P%!PpXfs7*p*d6P(T#`*PC9Vd=# zW3b-O6SRZt;-)`md#a^+wrQGcJ`B-(SDU$9{e4m9otbP8ck|o{N!;l5x^doD`K>0M z;_HL^v)sNc6_vC!4P&(8xlkeTWdXnAoUh*&%n6oC(mZebD&=AE#Az1C>({!^=_+{e zd@Jjugyy5>Hfgh>ZMBR%EtgH0t)dbn<j*w2-{;bU=C}S+8s0mYTsr>R&Ecj06joEo z#p-+2JXdD0Jhx=|==s|J0hg22ieuG53=)5`LXTJFUD{iCe5opf?NQgcdrFsYF8P~f zRD7vHMrzt3Nt2x>j0z@)Za(Wto8f4}@UW>U^RX<ep}Wnj$;>tZ%>K3-T7~CDk|)(x zELh1>JR#GJX<fx*)5HKFi<dqQ?h>oB9Bi|q<u#thZZ*~jejV`c?wqpseu49+%$k?T zTXcr$`Mb}78~<v4TK`dF#q9pIoDGM5$S@yYYF?<+!1?m(?!bxj+`YC~_sIMX_WBik z{+>$EGQM)I1v?IK$OJbF@MS)K+11;xeyx%1mBX>=J)e(dwl|+#z@B&9%Xn6I*)jEX z6($dl`)No?dA>htVW!#pGuY$6qp98MLRDOo3z$~6S-ke={drlW{oV06%{h~=^=;8m zx!|ak`((e}jIS&E3@0D_^3HC{Q7&<oAmid4MgCD|SS+;9I?pMpSjm~gcARaIvbqVw zF@=x5?DAe=XH7nbCy30slx)KlBb8UHHHm?X{oYv{23E5^-_VA->dRbR0Uk^KrFApR zDV5EvT>A3b+@szOCNkwKr_8&`Xmh3G)LmY0*Ja*27|%!L6}w$M=deVDZ_7^4<YtDt zJk9c|Vjq>DuQC@;DONI@{5`giZ63$-{Y&ivWRLmzT6*<O6=0V%=?bwwdtsK2*F?K_ zSJE#nP|3HhN}FDnSu};GAmjD58I?~i1)gGQe=2gpbHRq+OX^H!d|%0Exoo3^GPC;r zLVx?Hp1+T5H5Z5%994XBDet+&5@pc@lR1}yKl*VWH(?YNH4L&mmSvMZiy_Ze(^2G_ z+>`~$>rEv49`t4Q9%pK@SSB1Qw8*+#WQk0$<I<C710CmSwoLRpXu=ruh}pb4_@Kp0 zN0~>HCNV586BYBdE?6z>IIpT?>1)r4UYapeTABMa7ku^;VX)1L)~QhHdA8Ul*vLvs zNZ93Q!)r%nnUEBjpwGVA!ij&9CRV8Yy6nG|dq<H*j_Z-HtF@m_oP2Hb)sOc@HF7>j zo@C4}h@WD{s%-FVA+t%Ysmub86AtXx7N;sy2bI_aUbg$X$iZNa%%yabUf*TR--Fsr zIkTA48gv&kHim_skeRpDGpnYjFDs=j>a*t`4I}37J60VoGnaBYE^#*HLg$f&pr8Au zhFeOA%<20f(lBSAzZbXM@eeB;pRdcj%T|0gT;q!l&va|?o|4z+*Sc^9e%>DC``eve z#E_*((?lum&Zms?D_1mEUG{$PY=Ut9ai*T<3s-nPFHiPb(#23{VY2gim-9Kzm=(pF zmoiA27+Ne_r|I;3DG&eu3xC9AN}qM*z4G}LmSEYZ`STe2S_jWOtC0ECA`DA+d|md= zq_8JQPJ@y2c$6l`S%##w3Ot{?V*0LJzA!6>Cus)X-J=YT7Qd)iFy{ixP4-z%o)3bH zC%Rvo?4VXHHHF_R!EQ>r$WDh^mPa#;or|&@0^Ew{ADZJKGf%V8(L!XezpV!2m7OL{ zT?|1*#SYJxn#_@kz46j>fyz<#=Iz&JaheFv)2eiEKB}r{v22>G#s>bg43C$(&#GXW z)xm%FQ|p&ypWRIizb-$;=&!!aaz!)am*veq?6dOxs*<J@-d-zlK5I!s!0`nun<t-j z3c0|ixrOEFUd<`3t%_L<^1eCGyYhT(sxR;0J)Z2hXu<?dh6PEpqD6$NLvpfmn2*PF z#oo;_I8xYEer@Vj#sibPVjj)BG^P4#!-p$No-LMKtkxhqL9_VY;@3ZdJ~y6au-Gbj za>WUiN3$pKvM!3f`QYNjdy6eim^_~~_N#ArG({?3gr{u5nF(@_=I*!>`JnOktWcYj z&wfYM>?dVBmRQ1L==gonQGWIQwQ7!!W_bK(_!?BYgr#9t%$4N6Ef0=c92a5Oz4_pB zo}|ULbzAuSG>lc5ZC84yZ_`rpUoX;nmU*M%pOuT(tIdcmIQY`<g}K}p*7i%HY_p8} ztS@hV9e&2v)uwdW#0%dSO!PhLoyvF2Us+^f;icKf>wNY6y&Npoz1wnt@j+M2EGI+1 z2NsNe%GW0Pu}YqgsyURA@j8g@I7?79m-C!Lr<9GA>dgn<-kQ`iAtQ-@YoJF=`m9X3 zDN7zrE>8@)aYUK@+LXqL?|uL2bQL~d>oH55VO~{m#Zmn{f0LQ3pDFkxEoPoIW!{X% z%9h8pq8V3h`Fy#{$m-(trHV^T=I}>3-<VY<ZENv$p~s(9lcg@?U5H+4adEdKL+O(9 z_EEXb$>zmJC7zdB%S?RfxH4y=@jUBGPl7AdnI=r!US_*;3G=Ke$uc1cb3R|2$EMW~ z$Ewc0R@b8X0#mNZr9%JYz;`R3F`TQq_`UkGr-z>(tIPpwmQTLS&EE4gZ#T+Kbx^C# zbn}#0#`D!w>jDF#<XL-mNs(mRkF(17lN|&n@Nac-^*bUeT|DpS%O4>sG8dR~mpvBw zVC>mfbY%@wa+kx3s*hhp-UJ?B>dm;E;m=+TnGc#}ljqd)G6-Ipz<-qG+mf$KEKL}8 zEO-*6AGhV(s-1z-v&xLm8uZOrDXxC2FR4{-3h$ENmm6e_XB9kdyf^hg#jgu|nGN%5 zH659kDyRh?7kPVluamS$-rKG=mZj$`B#+wqWeMDP&={27<q#S6A}jQkU)0LB<?j!i z%XSbsRuJ*|yvS9HCo+OBgDP)2-)38UXaBW@4R;q?zVyjyp7W$CWcCKzESsJWh90ae zGEABNUOjWZ$XZ`Mp^#^jes84$W8am_x90@qiChYQ9mM?EkG(I8_r~(JKfVmsrHYa^ zmmXi6(o^WbG|6ttPUc&)DxOU*RA)#?n#~xwu_thz#WJ~>A_t;N6;#rWo4lFezSmr- z!SP|mugf0nnl>BXdpEdmT*|<=MYwNjf?B<oU*?i;vMVKbUtsR@c<r9mW4WA7_AG;* z<pM5FW)+#s?zR~MALle_vPTsvFEjL7e!Yv$KL4>l_gf#9iD&KWY+o?$kT|~7?LgT| z?vxOh=Mx=xk8dmXO+B#EAall}2FYu4R#^u<W}B|^@v;cRs|iegw$&jaZ;x<sIn6Qr zy~^y%amim7WMqDaL|VL@Wql#gXwK!2fw~?RuRR&&`e`}|&yO-s`0PFL$7Kc=$tUR_ zS32q6<-Y!D*#r;k%-fwW3g=y6xU}Q-`Mrj_61Zkt%FIfB$IQMw+1EgO@>#X2E3FRi z&nmq1d*H@a9K@ixgZbHVp0Y&;)T`n&B`#P>u4MedKEcrG!Tex%k><$`LIsXz<qiaU zF1Gz0z<hh+JXenxo?0!QcaKF@@!vbf?w4u8+WX+o@uiwcR<l|Rlp4?1ZHZvLW8UQM zJlW4pdHq@!Hlt#HiN|bn8+J>}ykncY+45-k-Iqbi^_(j+IL-P`FO~C9;7L}WRbZ(y z-)pnb%J%^W)+yDbw(^LiNbS1NRJ^B4sY52UaNeQ?7nZfK23Qvc*FK!Y{&kVWr^qS; zmCs*S%XwI;vov1+qj`tt?~*ympH{Y1H{ABK*UpoXswh>-U1H*vJ7Z4itzth8{!7b+ za&5jXbU(3bZ&C4&OF5f1IxLzisXW!f?rv5Z|AoS@E5cNqcgu9e9I$Oj-YucDSRvii znC(f*!`)>jcbBAfPf}+{>8dlbusEwUf!`)=sqDv)z{t&W9xwOmp5*7RK8Lw$o7>}; zzS>t9>=LhEn&q;!Xwf<cTO;Ej#;zI19G@_08SP+~37urFBK-EOzDnsqlNooc%2!@3 z{xtC@19PLt*&UBBO>e%ul%eo=V8~1_rA3XCG!IKYSAThJ?t~@G_vSZVZ~U@w3$LK) zvw00qR&z~R^<DD(OaF+^hf8et|N1JfQq<hX#_H7(E&Ypm{;8JWo@9xYfqrk^K9|k5 zG`b|pJoWU~Z*R|Po1~=hOgxsA^IRtR+AN2M{*sS2PdMUmKvc)yCjHXVpt7dLlaFcX z&9x5cZn|GB@h*#D>iHSW$;u0v_i3cv2;|V-FtPbnX28?~=i?sl-)k9iBE0Z)eR~zd zEc17K?$^5}tF!cJ$<L6xVL#WxUgm=JM43sag&y=I+rF|a;$ZJ7eKuD+kEQR>>dlEQ z>GO=(SFG~TGrgTAy5q}n)5sf-`)Xfql3nBRK2Wy3El1ub{p%_xft?3Wt~gzM-Nfj@ z<K<h;w`n_wB=pQm`^R-@L*D*|=f8rBdt{Ot4UH!@`Cs0u=D;9-Y>pqhY?j$MyS&9~ zgHnXna}-`kUcXmcOl3mh?yj_e<~H@)GC^z!&V|SGuH0sPz;^7~1D?8&2b^&nC(pX> zs4Dc6czbC9=adTzgd2=PKA!i=$SdpHyDBBrw!&n#l<J)$Z8qE2#&k?oNmg35LZSKI za*1R2j<0n#aeaGOhvS3{|HqYKNsMk5ya&%GhBPN61VnsYbJ}F_On$dhD-PIvmAi6n za&gUZ$=Cl(=f$iu{t?pTz@RQ$FXbtIMo94Fe+ISHG7siFn&!#*syI}3r|F`OISq5> zSqIIZ(rTL}<nNXC`1sz83G4hKt^aMA?b2g-rR1#-Pw`ocZErrFHSj5VUcOa3k6E+v zwT~pT<no^6E^d`n=}is?j`0^&KU)&RYVrR5rPYo7v(@FMJaDs0pXhK&_1FjN;I_ig zMfaK)uJ|{nOJtgQ594dc)TxPcstU3qez0GVv)#LDlUW7x$CaT6PjxYDST0{8lyx9+ zQaHl|)&LfdHH$4{<o*6Lto4!8k^K>8A@^06F<}z_8BV)-TZQc&Z=Vp|_;ta<ec%00 zwdwdhyuMYN;aftqLc;o*4|P+TCwR!{Ix!1=E~>Yhvaaxo+>Q5Nm!EPL+>vy2+vH>S zo?M*V=PP~F&w<B3*@roUao@++@BI#mdL*_!mS4YDI?U{p@cFn57P-Ys)q~H<EU<NO z{Pc<QWzf?i##dSUDsy<4D&(4`Mtt0oQgvku>m)ul>-m?j%_{u*>q2{>^e(xt5;;Lk z>N3Lp=ccBp7F1o9n8VdN-_}y(4eO65p@qAb8k~{XsV?*7jos9MZD+(Rn15YP(Q%M% z_tNoB-gEsG{}rj3DTZIO7EkcI74!Jr#S@-Ort4H+xu01YQ*O(@H-*!{z|}+L_~{!( zw*6~m8ZvdCth$*z@qS;{6Z1trGU*?VCb6rQ3!bz%{&l6&Ooe+9!hH|wt)>fDt8p!K zbKqg-DZVyKe&W1{>o)o-9HMr~bNc`7jqmy(<nC1U_}bD1CjDp3`V5MFxCIM-GtGN$ zn`Ll&O6rE=vnDjTpT0F=otH;Y^{*h|V~#Rc;|<dDonHs#zj2ql!kp3|z%69gG`-+} z#X*_ctc`OL5)$N$=U<vTp)RPfFGKCgPL(H@KiQuAwqkn$qr&7Lfjbh`S(@+~{=VMZ zFz27hV>OBL#~)Ud7fHw;zBFMoALFBii@NQyKRKMU;`_N$%=g5Z`+uvJPA!w}Jn)L~ zxO`N>><JGm-p+e`Z-Tga7jxl!|7)v^nQB`tC8lv%iQaW>FLq5m?%ep+w_In(xw^gC z_Ggb(o~x?=`YLpKpM}!Y_A?Q|*0QU)Ht|0?$N$)C$x6lj$3@v^zjU0EdndD~-LS~= zYRo%HnX9wCcP0f(7KF>%|N1&{{||q!?lVEP?h77&T|DKY&&#yyTP>Ro<g4A5=Q5w8 z@om+{SK@+A^GaGQe|99#tDYZq;Insw#1r>Zk9#IxssHsVWNJb2{K9{1lb4HMxEW%1 z@JHZpucHsTIZF5iZ|gqon!xB(zKTEVz1rUmy1qC2&bwCR9$CVst~lAYUh9X5@0PrX zQ`@Ee<@>S<YfjF+(|q8&?dxfkwU*Xf!nfM{M}O=65LA(9<67KObjHQY+s^n{_7NNR z-=SIJ=5^sMx?vhjHJ8qK=sdqzctG@H=Ny?-uMcLQj~eEEGuQL{@}J@LwZKz~)f=sr zUy^$Mmi^Ix27w#y%U@p;GhfNf-sc|hrlpEaZqN0W`>%wuq*|tbSCCXqy03Alf5Dox z9g|sFAACP+Vr|G$zV4Jo#O1Ii<$2Eomt}9?m2%>n(c4?Mw@p5%zH$A^8t!G8@xnQ8 z|2VEcvg(@o2Imbt+D&yijn|jf#L6_tPhPO@{9!rs>wC0IS$@Ty{1lWj%VYMtefJJu zT2)ZCN%Z{oe}=FBGqC+JHGSXo{*S53qytBeUEA%nc*A+w0^_qakt<{kZ>C&&+q-nX z8}GE^tBe1vERC%W{5ZdBovG*f_gguA8q0-0%iUb>_L09aXA3`1uY1_FDCwW#RktcD zA6qDFm!De{yj0_lf56V?g{L2K8*h9k9h7$KSj0gtKC7f%`usm;AHG&~ckk(Ak<te5 zCW+=Y`EfJcNtflVoOjfTiHGTq{CclD-sK*l>)txM&Wm9>qF?+jdm;afSAPm0boaBr z&Q45kxtz~FKT~6>#FRXb8sWD0U5}L;@7`ppJh!*q@{eoDJ;h5k){8T*-C8<tL23QA z$s1BXOBH@^uDyKT>+yevEv=hR<ji~!_Iro&rS$>NtT;?+y<R=kebhS5)8FyD{JDLT ze}q5G@2ukeH@|%ObgP^`o(UET9;+`jRaad<BT&)x%aHfbUBg+72Ok%x6vtivaQ?B| z-iN2lFRoo99<Y1ge5FU}s*5|;nKk&a+kA`&dsdjKJ!MJl*XqjD44>_jkLN|?Da?8B zE1Y%pALq?2N-rnYE}WB6bGvr)tdD6|({`npzkOyr>8Q8dyqU{fi<ZpT_A{Bi-!U%g z@X5S*!)veRsa(~cqIzaMleq-DI{UqSxj#B>T2$VY9hX#eIWkqc`fv8Naxc$5z2y?N zzBOkby$z0TKN9}!^4V{@YgXKPZ0+&7>(yfaAXVj-E2ZHa$`jho$ME#8O_{wRdE(s0 z$J%{bUw>`vToyldLX+Y9n4Ztpb#Hh$4klF>-`X3oSkq&3^-3|{jUSJnp6C8JlGj>j z$^4l+?EhvpF1u%B+#ImG>Z`;-(OsRBXM8q0P}t{J`ThIy%Ac$ue-3|I_2!OHCDXzr z&vQlAp&FB(L}pf;lsBvTT@|A9yWzZ7W3(jO>}R17(-jXk>O}n2xO?L9TIV^RZ=39V zKCjTH?W8yFskPsu?c1-l&Df;IuEp_1CM31d=2BkHJd0(mXX5()Jz{?Ds@VCTVNZMJ zpI4H3PiD??&#^DJnH;*o^UJdBv0K9&&v-=?wNKc8ZRrD^WVxx~7Vm@eRLjd(Chasx z5?Pm}tY~rfq^O+u9HHXZzIMwdth299X#H7K{B>!;an;JBZZhRdl8jHBvkFX%aXlY3 z#lzvj6^8F3=`7ECf;Pm|ee&OHedd6cRn^tB<XP!wGJ7{&sIyEy%5y`1o&z)cwS_E= z=S_NcALD#^X_o57q62S(k1sW8{u3V+Q#{eP`1m@l!!t4uKIp5>IQ97HvLd!B=JS`P z$jHsj;OKkI-S@Y)*R3vowxwOu^fSLt_t|FdxKpH|!Es{o_H~*bl3K@`U;0W4_Vh41 z>J*%K@I~Y+i%i{C!JqCv{ZX+;CZDt^{JQF?=t=X^ZzioDuM`G;k$jOUxw*+I=&8Ix zzOs-WBm0g=GuYTqdqgxISeAFxRIr#|!NBsbmht2{g}0{6>FLv4GV%H|_G_z-7W46l zFM3igd)BmnIWuTR$>*fyVw=a88lK5mzWx#H)z~x7SCV<*vzc=ySO<8gtUh7;?Nafa z-~tcXy{#HH#SZPvTc$4DaOc}HA<t(MHuKFmzL!CB$$?j_dj4LCuaDX#$nCJZ@@T)t z@wzQn**~tV_!XSPmel_}bHT=6!JC_d7>;(zJo$BL)#sz;lkZJ2jB_`c%;b3R=T6z9 zCL7c<BxF}4pBFjz<v?BWxnhsw5>HGGK6d%ub+eaZsIOzov^-|tHF=V;uL6?>Q^1nn zmv@&u331%yXI;9K_h8`tYYh_j{c5v}3O_Zt?@xaFb)|&hc~LQOg-?ZlUNGqP?YUHa zA%gMRWc7E?8V$?qL>BtTP3fNZ<*UpEZ|A0M_G@LWK4qoG^zB@pBYEoxgT;S_uUAeu zElw!PJacjVU6o(YrcPyJds_H5aJ!|lOvy^w8+YHFF<`Tg3Vt0p?a}Pr*P13O-u`iA zY5Rx2TAMb=ebw`{I3Dj6ByosSRPJ8o>c)!mFJA^~EzsQ|GvBL0F=EP-$z27Z%+0f$ zte#w{-Z&v^k+aMZ;l^WHY_DGjP4HOJA76DzNy_n6byeUNnOXdMJs1-FgKw?idd11G zm3^&u1K%z8<5|9qlCNjQJb5&CyK+~W<%w6CeGeO~f|{%@epzz+oa3{#20P|!{JPvJ zaa1w!yMI)2@wto~r%C)?jt!cIXDwz~HYCewTK)>|w@I3n*}KTg%WldJ=2_EP%q@QJ zb+u-B(D!_nS6Sgv4~~$O`CgfUe@xyU`FL$Y`5g@=o1o{mnYU{-mq@WD=yt`VBv$>p z#5ZrNjrUZR9=R_(IfZ!^f3uwB*k!IPNM5V>pwM%Ja>mDoYEXrG`KrJN|A$^2=Vdit z>^N!4+snt{uDskY)5uE7&B9bb-FlU|){~Dtn#^<NT<NOd{dKi8KW@v?6EUUCm->Pt zwFQqauj-syp0dH@(qTzc?gHakOIoy3iu?AyoT*Y3z+u62LvBm^<R}IC^J@+JlZ-Uo zUwdRWEDGV-J!OOJ{$F1OPFR}kQ21o%tJ|l+<n-hFGDG$iXHDjPxqGaE@5@8q?~5%K zZ0R&-mAN>viM^`-tKF6b!Y39aZ|llft`|OQaxPPfL&D#z6p^D^k~99?Nnn0|Z>e+R zQJ<M+0#{u73WJTAw8WIxdL{+BJ$&uv_}(GHr_DmCi9g=UfA@WpJX_<QZ)<sueX3k0 zbGgHAOZz<55YOGhGQrc8n~LB2o_J*y;O86Y+;LRRRZ+s`tH~6Gz&U*yd9EhamnJh_ zdEhmtE93j}qPnRJKJ!madAwIAJ$p`1PqN&+FUKETU@n_`bNS~vAt{#|-#akMFIBKu zo;>GL(kutXld>Ou&dUUUD0Dbx`(ncygLiL_dMy69V1-(9gViO8PYpeMUsxZ{vP+$C z?2im{@TQ!k-YX#n+D89O4%lX$JnG)~bqO=a0g=lu!z}E*%+~QTgmRxy-)f_9)^}@% z`i5ms7#!Y*%;43sEq1$Ld6s2@?TefVY*tbWWG9~Uk7}Ljv3!E%9WAqCY}NrRE<r&X zAI;nmpv`we?#tN&m!1gvSpJjKTxJw!T~~6h{aWMkeVJ8P8y3s1<oXrFQ@;Gc+q)O| zG?<JX4=g=v*ypFgxbxYZ1<z*tv5RmvzV<$6b*c2F-|bmvJfiX*di!eMYrGTSZujM~ zgQQIGp?{`<;s$q*O`msY4!hF)d6v&+ODTzLS-#fN;dOu}2dm#If3`)hUk52#K5Fuo zIPiU`<Z;^!mbc%(m|U})!f>fDaN~(bb0?m4JKp%-f%n8w<ClI4Ns}!WaQy!4#}X`k zufbsfr}KlWQ)_xc9sTaOdof(NXKS(G@pk9X=6|JH+t_Wh4OACr*vy-9Su6Re%$2%4 zcJ^5elUwaIj+)y~b&HYP(shbc$A6m!Q;tm9tYdRz_zQy=*7sdCV$v~`37V`Z9iJa} zHN}0BtNqF6OFcx*5_;xzl^NYBSsm?RdECosh9vV^2FIS@3YCwIFM}B>zb-jovW_K@ zKWl18mrq0GlK^S?UUfya`u`XI2%j}pw_M8Hx8(xI(o@Wzk7`&hk@>dtsJej2q^gUv z@-&X`)n?ct;J`bNSIxgFliB8KL#f5`B0m1C%x?>10+_b3d*#}89Lt=-5Y+hI)0M&A z@~wMRs%7o(3(P+kTP|Tp7Ll6CQ2N?cR^zM(_xY?^)8cDWdrcbLPQ3Je@8(w(ym6xc z6!tF*KKn|_1kR7DSzz+y`K?*(ALaJ0ayq=#Xz2pJs^E4ni&q(WRly#td6~;+6&^L2 zd}##(<MpjJ44SLGJkDk0uz$6i^1$<~lV3*g>)<miH;>EqDl)HJ@x8#mN@9|sy8+)> zNs~LXq9%x|Owe+8w&+E%y9uL3f@6@S?aP+OCI>uB+GjBoW;qr6-1X96e5^LRd9s() zg{lkT8fnuDm!$;wN%u`**HnAx_C9XP0mr3p-v=u^6}L2bdnftY%qCv_ttuW5&ziQ| z1g&H!zBYBIq-p9xk)TU@ndVY#7MI;)m_6r5F|P9EI{fm%6@`gj^0JwCrfgNQ5V?DJ zuZe(l+Jsqpk?K+6>onOi*hSVf%+3zZG!GJc+%?g<bB<I6L$JGoRE*pePQ@pER}KZU z7alH?+w$<G&mH%iq{b!Y43FktC^Gh(^QfuV;rOS$ncU32I%kURT;{ZV)*!okna2BB z86tVdvls${c)FTj2QeRI@LCcaxpL-vR|XsNr55IET`XRD&&p*q$aywFuCS|P`%=cf zOpYm2-(@bJeEjshrWu91O&;8Qwt7bL23|#pm;N#zwj3%x>oHsS@~i^eURCDxCY;+W zcP_c@C)YILf`{O&Tn}HD<MS*RFm;LU{5M6o@hEFV9jB#;fM&B&?~Ml+c=_a~TKvA^ zGONJy^`$2Fi7x}^Jia&2_+IaVuM0Q|Uwd!wUv8?wQs{R0+FC}rJ9Fk`sLz_7@hiyS z_*SDu#`os2i!>z7o%lLf&8#E3=Q8725BEY}c2SiZ4xEoA7r*qV+mdjh#d@n{;k`vF zT?Hp4Pb}cH{G-8pJ}Tqndxtk#mzi9@n0&R{tEE@y#d+31^`~Fv60X3L&*nBdTvBGf zH}}TJYjd|uoZQ2IZu(m9)QJB4wHk32%loWC7W@h^*cdsz=Tc7A4ry7dd0M(Hd|7$k z+K;dGE?aio<l48@f)a9Dt|{=$WA!rhc;)WJ(2=~=CU0@(38tmYpBF4GWP4L*@_yDl zk&*?=G-TV7ug!5x-t(1NzEzLadb|8uwS$7J=Pl0K@JAIKkTBUHadL&Ebm?-<WnXPR z`g0!*N|5f=R4B?c`*rD`r~~tIkxP8cWy_hC_ZZ|~n&o(2l((Vv#NtAeGdvGIdRaUO zVm#jH!SQ8@$}GlbTNrFJ9hbj7!7iKG>alVH@9S%G7Rzd~+iE^YTEhO(&3#?wOk0Ud zdFR-dMll|3knR^@oY&U3M=tZqfv9YK>s^=TaOG9YT*_dPygNVc%HK81pD8@PJgZ+> zaw$u~+s7ss_$74=ug$7BS1-k>zRmEZ@5ww~2Aj!!TEcVY{a7h|F-u9SvccFd$T0BZ ztvS*%Nh{d<{EUxU^d!xYmXO<$F2ZQ^_}V<SEI~h>>VgcW;Ku8h7ODt-T`<X4QS#;S zOARW)KQ8`An!)&Qs=C6}1u`B?vouUD9H`mxs(4lz<4xI@7H5@ZdIE3oe0j96VY%dz zv+6YgA<111`j?s~)wUYTP5IB@GtZTIr_!ACGDCm4yQ~gXDaBqA7sTbST)t8jEb{Su zRLuOCfY6hkwkzvmc-PL4&q_F_dE>zI$qq*ky!AbB{?aV==db+(__s2+l|3&r$Xxzu zWtB|dq8TBRf6Zd(kmE2(zqQ0t`Lf9&E8&A*R`1|@!1L?k1dC-o)3{&zKU%;h{5d6k z`9tsBvYBUW-84o0V|w@u?_6MNs$3FZd{pznlS_T<HopUyw|!B*K8xKy(fioheLt5y zx2?XwG||gfBj}9bNs|Y*l}8zjS1j%-=6k$ULFP#SOP9s#OKVDAhBp4(`DiJ-I&-6g zaG$?vmhrKtZ$qv(pN$BMyCc;uU?TeYG|!dUjk&9q8d<PBxmNedaGtBz*`AJbbpbc+ zPc1yM<+M_`K?}PUe|%Nl`zdn@v}Vm&etni?$L)D+{ExESTs3tsTgYa~KB*2q$uf<3 zeN@Y*g6a#bH#R-dUmM{TcbDJPPmQa1Ug3e2x0P2Mvs`jPjJs#<=^gWaE>ZQj<y<u{ z?@g}dd68#{^IFok$}EWB;gl&3GPtvQ_m}T0L}%|a^t-osCDSa~=7gR$<pN2GWkSMh zZI`hy&Of!<`sof!mSB%e{zxN7k;is?mpISYd##?}aQt-t^*fi^?l{`ot~#}`M0A4e z+bui{wSQl!xv6aY*=Z`Zt*T^Y&6VS7O;Hkjny0s~UurSoz{j2|@fuGqc&feOS@lF} z%7cdRk1NcX{8il-ywKobkhHD0;^lM}@VES<dAj-btPYt8%RjC(kS^Nr+$Mmv)xvH; zVc6o^KmN_18|dK8a98Wl_9Uy)HSg5AU3Qi}f6CDOu3Bo!69eUCR@GPIP2EJyq%D<Y zT_fChKUaMYxN)-c!0W(<n7{V%RmCFA#b4jvo5NP%svw}5_)hc1&iolH@#jsJHx=Gq ztLFG{li{U>3vW!AGmnjxvF{Q)<Noted5<i<E)9F#cYLqHMrDHoe^#kIzBh3WPaDHu ze*d*$Y1Wl*Lr*CcILefMw+Ssz@UT4ia#qhynUeF5=U1gY+)@7c>ng@cJwmoxJIWn< zKDqjwktjZw#g=+7xPNJslf;qM8xn^0N34Upc|KlRXc5P7;L8&I<7a)6Ps{wi^t`KO z<MGqi`%lfCctV8XS(<Xb%-3a)=cKg-pSRVJ*I<#_;w;MdaHo4r|EU>wgy*&2n&V-s z`C#XX<IH<`I|6JoA85Wjm!)*Wrufe)*MzJHA-&?M3WC9hHF|hTnfr{dt?t_&9K7)0 zgM=$4G2V=uTzz-5l%ITl``!XR@sE#|JTEx#p!EAnO{2KmD|c__dEOtt)Wnc0qW{|T zvOmxJ6EsaCE*{je;IaOEeyz#m{`e@46UQ>UiWcsz4p_t-xjA5?t)aJq<fEDMr?1Tv zVVtLVq=-+;`1Sll^NjB={PXIkgLSRu%?AR86Fujw7ino&z-Q>Iz?#M`n-!Y(Y=+hI z70Y?r7B0H*r|ROwqiXNpU3zZsHLc5eO7n!}3gs)??l5U~tm1eyu_NX|K~;5-&P2zU zC+}?Qrlj}uZRt4j`2JqYb``l}4JvM7Dvuj`YO?|xZ>uekRG)Tx-jBaop(^us$X{!a zi&kcye6Qz0y5!fdOWf}4=|9vn@#mukl^{ozl7-z<e!96iE_=eir(P@Y!UjoMyD1E7 zUhTJ#J*Iig$vc;s{YrgQPfr8C@>+fNdC#|MPdL`jlAx%5<zs(ULFs|7wwdis!RsDq zKJ*X$m40nTvxQ}1<DZu|B<}3F5V^_ln8ng_tgI>)6L<7{dHFKXB1dqC=C5=UA->Fp z<~fDi8chu6^e_~-2WYO{xs&<Rf=PGeGS{A$eCfzLQ7GiCdb8*5g4h13IYmy7m$^sz zq@?d<=}o-0Naf49J9S$=-T7eXakhD?<pLks{oO0Rd|4`Q`QXbklb(VCzN$;SJI}9W zxv_)e_WQu?70tB|&p)WXAW?c&dWZH7CjWTHm!1o9rdX%*)oabtG`LgvxAxU+p#^=X zeT~#AlK9tG#VoRtu54-CP`p|4+pnuvcCwl+JfS=P*v`a)kad?l;}2VYT`l&V#WKzI zhe%P^a~Bz7PKMvh738C)s!0C)DR(EVBwXwF-9ByshPS~?(sMosT{z9s{Jlc*9KZVO zS+0sRXUOd>4rsIe9gxDh_oy~w!Ul$_Ajy^#G3&w}`Kk^}nZ7C4V;?kMc>MDUuUPlP zj(>Xp8U9w~&sw^1p1;K#R<|3Ux#b*fU+yk)U|()BOJ~A{liy7~mFr#h3A#P~)Un40 z&il;jO-VXZdh+&pkx5L4HrzSbe&Vpim!qEh^KCxA4CO1{Zqx5Pt7wDVk&j=G2C_WQ z_&MFa<EWX>+{Mcz<PS}@*R!=;uKlrbg5&v(3l|-q<e)M~TZaGGtfP}Pd!G~({`tA$ zaO!D3`>DKIEyv!^o-;Z46w~`VA<va%f_WMya7wN?7{F%LcU3ZpLr>g#6UV=hqDDh? z1<m92Yi+%Yw|u-&#npIw?vcWmJ`d!*R*RpBzT@=q*JYQUg*zX%@qb>?)1D_a<A|5p zeuZz}mM1*Z*>ZkD@ugXp8pJaWysCck>uSJ3iRZc#d#ZvXXUx$&DAQ%>JY)NFrs6qQ zcAsXD_@LF0ka_#mm$x3m`qS<l-DGs{#&WS#!8a;-EOV-!tyul>Sgo&DwBd&MJ&wn( zHO}R0E*D+4F|*XTq3fWhI)m(8|4aM!|9Jn%o^N}L?xG7@Ywi9$aOMeembkB>XXKHS z{Q7K-ODdPB!_Nbf?~LDvPAffm`;*M){-|f`+n;5H-&mJ?xg?+WUY5aOn@KHQJ_(ag z94*`B`td^k!lqZwraLC&@vs^At8{((&%pbmNm{xi>|eRJ%j?Mp<-M+5F<oo+?73C! zVZSw=N?V@F8@{VEzx+oq^MUp0wM>?=Pj?Bep7=T8@0-2@*Uy$4McGvPtn+iQ-7mGb z@KN*%<!MLX$wZw#(`A=8@9J@rZoQ}OT6?xVF#M5lIY8;@(H(uNX$twtJ>S>uKD=v- z+4l|SE^V=v^ejDAz*l&Fz1Qc-N@h%xitqfY?y8uvT)U_5?!PS-{4;)gT|Rb;_qNf| zGP}CYo{1CB=5sH2A>YnpxO3k(yQv?ZNNu0+p#2tqUAukM+b#JWQPU>sRP0O^nh+WN z?9Sqi>esLBeCjx5No}l3%c2Pta`PX@3499=kD7aKae)N0VIEsK>tpuUe$9`r2%D)j z=j5zyJ70Wh=kN7G{n}--OAdZdXL(Y5y-U%}yU<c*eNXTkaU+#@o!rk8e|%qWF=fqu z^MLFf*G(nY>G0`)vBl+n?95y?Z*pxRpI!h9^8GyjasnoLl}>_wks^9EUy?zyHf? zTq(2Na>dNOKh{p1ozi;XfUSR)r{(hupThpA-Uz|tmP;q>R4&T3+j*|`W0;bdO_fx? z`d-V9pvdzg2iyuYR5vbHw|J4|D!q#*skhzM!c?n)m!;=+pH)zc@>(y+&69inYDV;# zmzppNGRsZnygldZTfa2B3@5uF&hwXM)LUgXT$7Xue#~RwRu_D4mdtunCC~Xa7g`ge z8H58iC!}1y=Xhd;pVzb1QyT6z&&rx8#d@ytU&$F(_5_AmP7?C7*<ZRg%rNt_dN%7# zd64FLi=%2ql`AtcdGAjCy3+8|oYJ>}O`K1JUv^bkB(O`b6ivLTRpjR>QrH#7=q{UO zW>f6Tx$sEu>Fp|v=X3sQ$@!nDzGR%N!hd>JkC!d~r8Q!QHZ#8p-=}%l=Fg2~o0IpN zm)l(6?7!u&Q|!P{cqPEy;;e$r*MqB`O0y+i`L--iUFO1F+swwPy8=(Cbyl~%_pl3` zmG9R!dy?m~6%(KIAHFwt2alj{fTkaN{C|c}2IW*wQDL6%D=Ta@xgJYCYtVj@lJaNy zUiHAEJ~w1?UkARibvI!+JSW{&GrXMrS`)k5Qb}12Mh2!C6_4il-QzXs31HrQ;mf}* z!ao9=&r5z;{`Q;(W7pAk6CuW9m;Y)$^;kB+;iUu5F+W$!aNA6F`Cjiv2QCB4_rA$} zQ<&<u%=Kk3cp~WCS5!5tSYLbo!<QcH7A7;eeNQZxVg9n>!-FTuY)cv5-n6;&?Zk=$ zEMH#w1r%=I9<@RCpv+}IE9QwF9&deFN{=#V+$rv=<Ck2JzMpMMgU4~D1}VFb%O+29 zSaQzzg{JWzrv{NPA{Sis+1I+CNd3Y-i=mkD-mD|fFI?%JRK&(;t9jeu*9B$=+f|2{ z7Aw!{brWY^8+AhBz=5Mo8HFs5%WNxFoK#<D{N8&)xc0q8r?#t1s4ib~a>I_A)R4zJ zWmmROp6osO@>Y{cjJ7K@73HTMurN7OCi16g50~pJ<MV5oRYO%unD1X&7A%r+Q!>Hg zi~7A;7LsQTwiRhf2pd0Na6ozfTBr9-9M44#Jl|_LqwLwN4zA;ccMKL^TA(hnbHyzm z8L5RP9&A;Ue*{}yke0dZ&HO&}lv;brbL|5QPWT7eGX_pFY;-HCkg&U=<UaY{3_o|1 zQoAowxeRv?^&Yt#xye=Y*u!}(#XjuomFHc#|7gi$m9z<5423og)mQSbGjG*ZlzqWi zZXi=)o4LDJ&EG3?K}Kal?PkxWDk%qFo6rS0dA6Ca49qS)?@62R>vE3ct(lWAoBZ3- zv-5?vft0_b$a0GZm-!ri1?8DADyY;xo@G3*&__~jY3NG_uI6iNG>^KlFSTYckbLdA zK~+y8g{yN@m0ZTt<cxOr+#|n&8mjt^HwTy<XAL~Bww!tWT0>9v_qksz9)Dc6S@_hf zd4XIvj<0pN$u6<dJmu>#Ep<h=cTKY#ER3E=IrytcweNd;eyQ4@Qk$z0oSWx7-s*Pq z^=scd?tWj+EjNu>V8LL;6?>=p-;8C?=LAmnVb%S4d5Y$fd0A$!eHU;Vh+Ajw&Cv7U zs^$qWsJgs?oozyooF?N@Mcb9Uh9NS~<{o_8m67kouJYM2Be>Cv!=$xd%GJVB=JE#N zRnNQ3h0h0iN$_R%+({`h)#3QTZntIOiN{;n)z@b^@jCF`o#mQ({)~BbeN?FA>vPt@ zvspguu8(5q`2590rflgsUX$l9!zOSs+G>`quiMh)xo`&C1JU!z*H#KEN-xW7ZFuRI zcHXO}an98VM}I~X8EM)D6fBy1(C&)p*9F3ob8pzLuy{7*gXV7U>Hx#Ck7sR?_g7`S z^xl1GGvf`}ey;#SADQaQjgQN-7%CILZ+6Hls=iWFBC>n02IIR0J<JD}HFiZgztLcF zoGKHz<8Q5|x!m!!>Pl-3crNt>l`h;Dc$SA#q%G+19GReC@nv@Js;)FG?4J_)c;1&s z&)M@$4!Jw}$Q%9&OStgh?7S&YMOJZ2y!Gck5H;7ue4Bq%=Ch>-&KfjHTxFQuYhEGi zs+{-6NXv?$Fwf5__;7tm$`uQhPX!t*-z--9NE%w6-x`)U&*9OMbAFi>%uF+Fj)s|> z+VCLVRKSF3!o9nhns=mZS7_vA=z3U~%=NWySnzCK1Xr5%vsu0-2Z~G28chk_pw*Bn zsvcz+bc2K4=F+rtO#e(~95+c?GF>r4?n~+N&knOC*iHU?K5Nc2w~Iwr{?w%Dl8@FM z-f`y1XMb5^4-vj81#bMJOfu}YKmV*Ml~^J2;6a~O?48!P4*V)teEc*IwktLsPtsC8 z%b@V!@+Wq$OxyOTjB^<b$$`&J{v<87DRy9LIww$StMP9N6X&xj$;y`+c<<|~W&X~x z(_nHa^yj^|=$NMQ%ivRKJ`q7;2bW#SeSU4e=0dX~%`J;%c{LP1x;7N3Ef3c!(%Sjb z^OQ#Mg)1g%nM+RJThkUiNm_2|ge6s%uXfFO^4B_~sOPfo#7~!u4HTn4t*T2<Rtaii z*PiHgC}-=J*FLG=9xW0o{F}LS^W<5xg>HOfmXKX>I(=f`>g4qz9}avGS)=^_(jTD% zOO$7os@1MwP`@_Ub7$tlO_?$5LEo0V_Dyy@!1-md>{%0mOwVPEJyJo29)20>ml_x} zZ@ZdI@|7uHz<T?ohkxFeJj<nb3j3}w+$!q(GV|MV28U-2vX|yCvdqe>I4Wr}oALPl zwFZT5wHYfIk4wApnp|Q&tDC{}@m}-G*S?m^o;9edGlZmen#?@0RJPE8@4T$Nl;yFE zMGZWYdoKD($YydfH86QdE|4i*mUrH(@KJ;8?)_^OEMEJ*?~2>X+wi#Amm&Rqoyg7u zOHRIEIR4s$oj=|ypgL_j^Q8$Zj%hGf$*-08vg|=)SNWv|p6W{_uf6?lJ9_e-SoZGZ zx8)B?WHsl$&{TBynN=XUWYH{!bG9q@T6I-^U1q*ET!X7BBym$_=27=5Uxwyp|MMny z_x#N~QXIrGlYM=l`(8Ic%VU|1oo~BXlbjtbSA3TW@U#gqO1L3iIOqGaiRWBZ^@`6g zWzb|<r^#VARcX7(E8j*oUOmp`jUF6lIVab;99Y88Rq-orPEo}wSHVfezUNIIS^c_P zP!)QE{X!<=*Z&N!FZfvpFs)Z%Jh{^HWL!(BD1S|#;Y&Z=dDRyaM5C1^vwYBWXBOf4 z*fp)|sX+6bAi-mrZ+%zt1@7s&RQlR~nP7j`ip~Wm4}4#2x#Yc{tg-Jx-j(7#X|vy0 zELS}0ufbJyx!C`_O-Ra<%THw+49`bRUmuk&t9h`!YBfjZ@|Dah&KhiA%JLw@K=zoi zV~pU-moI(p9=q&!CzD}M`AU%o&)2#Y_)5yQGG&A*ZtgPj_ezf{uwB8{`ohpJ?BMxe z&q-DSc3XJ(rU<b1Su7L2HGQ%N`*X)d4xB7f<;-iDyVB#fTw?qwyF%U8`m*Njj0_*c zSpkNgO_~<3J(>cJ@AY7-3XxR#==UVlg|mP?%CFFeZMxEmOn!#)<)te=@oK8fQCK)l z&+>7jWBiQ5<7<^BPYmt}F=JtMv^Z8AxM}Kh(Gs`C?|MS=7EKT>d%E(rt4$AAro{r^ ziAH_JzUsG@<h5K;dDO%ne05{Mr3TMuvrJUgKQE9!H(BQLfxlYsn16ltKcDP-+~)Gf zW(S^IBF{yPKOR+1>9a6tH|1fydsHLmv(IfmW~B+jZ0Eho-dth$x_Ft#S$9od;j$GQ z&w5CAC0jL~jcDaQ_DZr|iaFuROqKu^TMki$W5zFiEM;FZCtONhbm_BKVb|LIA`5>! zei>XiNp4Qr0=ox{630d59<kjjd()T6@aOSTYsPj{zE@@Ms~9RmP4@0s@jdTluv_7r z3k;0Rx28Ip{1IDT;&5-vJGB$reg!CheI490iOtCB<E@!{1n13s>0#NmFYMCWo=L6> zETya6S&FiZo99O@X?h~VRUm2dc22_OsRb2}MQ%$P>A6}QojB1cd2fWyUhlf83;~~- zCS~^c)lDrtpu_kwG&W|ENCNY<21Uz1n!7#aqozx|_Iy_r?4Y#%r57JBm#yaU``6a6 z*q@ug72JE}%|~Aa<;8YemNZ^lEc-j)f)InRjhnHr@6B5tN^AA)Th&;2_9QP9<!10a z8#&=q?JJ(PSK0;&3VnutQPVROdY)YAS|yQ^wuQ-P??<oIlY;~zr`Faljc{=1zBKi~ zx{Gr2PtATZZ|B+A1OwwMmnCxV?3-%NwCGRE+efnse_U-lX1QujLB(pu>Y6KmZ@vyl zpH=p7PUr#^-J5P&HVqoOCq%CO++lJc=uYr)yDt}y%Vw3Z6gSlNdv!7#eeHLUUE=&+ zJ%ieebD9i0if$%P_S{hZSM#rd|8obsRsNrrC&u)w<I_CM-V?Nat*K*_vyAwBuWCl0 zJH?m#qk=NDl&>WB-B@aI;&GQ_U(<vy&)2fDd73<)czLgZoW<gD=Xp~Y&E4{>zN|QB zeW}lVuZ4kx2&16HiW_}d<;Rl)Hk{<`o5FA*^FjJr#=;;5LkGb*#q*}*-7>1G`W1Yh zU1{d_zAXp%JeTw6@fUhny!Nv$JgOiiUG6-KL1A9T(qsHK0nCjO>dRN2kBW1UeD4u% zBNcGAf&aso1?*2Y9$dm8Ja5s|3Yqf7Jx{(YV6~ZZ`HIj@*_F#ze19~D&)+7wPlKtZ zFXQe!V;>#yskYUZ%bBX4TwvMVVR>FuV?wfe&#$Wm6+bJMJ=uBZxQ_j~OcU1kCdq3R z6Z|B;teQQy^GW(rwMP!mm-=@5%sCO=d~3qIXAAZF#FhmaPFuO*q-f*IgWp#tv{`$; zzPF+|sIq~9<MmN7rpp>m2JUuK?y(p5S9PEH+3r()rLptDmqkaHST8v7GO(thN7ygV zF8EKZMojXvUkSk*4i**fNbYjrv}>uGnts}8xh30-6$^x<3z;vAFvk9i-~038oUd|M z6^|LX6$d8F>EC_c?tavghN^X(>^)^Gnaw=UIhU?_BGcsWe{E{)w=c|>_u2)TM4n*o z%Xqj-E~4?rvpH)IKA+X#QCze5>9ZxuEcy-=w*MKlddw}JByW(vwls|8f+5p`ugCv0 zL@hg48J8Kt@bk-ZCB3(MjRQ_Sm1DR&RYGq5wfXYA(_RK@p18;A)7}*Fv8OoTrpk() zK~=x5w#H~MBrRZP$bD`<bG7D<IUBgx^Pb;Z!YRUJ_28Sy=L^pk1@9<1Zc}~b@#GVa znieUzt7j~1GdR5bxj&l`TjjwMc5Txccr=dJA6vR`lhI7p<J<?HeD+~2ysvy)<Qs>> z{qxJRB)Mg*`K*iGHHvxCVp0mvTfF{ia;%{4y;qy3U`(!x;Pt+#jA^#oE*&yw_PV+p z=}NXvb&Olierxfa;<MJAo8s<GImW({LEi7n-P^4SPs(KKOiu2UPLXn+d}+E`UzJ?b zEXOkpGMCb(OV3{a+~<yY@?L9^8*3^9G7s}qeOYmvdAfzj!V9Gqt5i4MH&AEpnvi$Q zcI7EflTQZ5ml_56_7pI@eDC*rNze0_{*Ut*PkuE?Xm(~ieT-?FUsdSVo;k++HNQer z%eA*|Y`pv@EA@Qb)R}>5tnR;#9gzJvYp%zwJMT`s4(&*lJYe~KxxiDVC#*IPO3z>0 ztWj4aqIrCMRiVY5>d8l4X9`THFnM(Ei>R1356_c2`D?2;9{SBS;e+w9>f~Qn%g!ql z-hY*KNh4YC`n84wDRRZfFD+K@+tS!zTF4aBQ1SA;m&D_ze_kmZ2JI#GOtO5F)j3&3 zUDj%r^=Drlj)OAuzTEk^-QpN8qgVtNgWSwltQzd5G4eB>eEGAgpvWp9O8)wNkyU=S zt4!0B89n5dP43^tX6wJzdt=J){d+G>dBXG6V#S6CA$Fx@FS{l?hIYnmXZg0giOsDz zp!vFq_R8l9^RqZN=`_#bc`Q@Qs`cPQr6|{ghNnfm7WQ>lgd*>WbXD@~Jh6g#UEPPH z_66tcrPyXF<lZ;>v*W>|#c8(>yvUrXthI;vT<yy>H;z^ROPidk=CiiB`O4+Z^Xk5D zb+PLCzFdxdU%gjDMztb?aq{PXCF~OCe~Jn`zabUeyWo@boL|XXO-{)9xn-K0*MD3# zfq`Y)o!>zpcAQwX<1+8r%h#rEyb{cv(o}ufd*VUMe^ZVy_I*6h@Y&~N{NB&$KLaET z)Gs`mbzH0LbKe$$BkVf&y6mI)-h1^HNUYLxv@}^Vr=W<JiMi*p$HC`IZI<2pDRRm9 z({rW<McvQ*&;3s_Fy3Bj-sE@hc+Vxix|mPa7kt`R^A+&bdrkPW$DAd!?A*o4=NH&& zFt4lH9>uAf-r)Ic@r0g_7bZ9U%`!TW7~bW3<U?)6@}v~$Mg>D=*%x=u%g=Q?7_vh7 zspO+s?XtdhLEa~g^;JG;he@CLP(17T#SLtaC*RwmbD});W$StSD4)#P-D;1U=g0qN zi1pkpao%fHUqeyl`NzRx;nEYH@IQT(ZPx8GX9F|y@}&wjQr&$;g@Gpu?`V8~AGtwy z8t<u<a(kZ7DxdjBd42q;6)P<i{r8LHSvS6K;=k6-n6v9~fo;8(c+!*N=Ib_BOHXpK z-#xE>Yfik%<)>0E4=1dMxSYuHT=qpc>-2Jm%2l@y=I+(xo?uk*pW*ApQ=#39oX=|c z_UEq+%#;x9pS47<;=~L4sEO0OWpeNKzxL7l`QTx7Pw6r?)=kx27KyVM3X{)i8t$mM zZ|0Vz{&?cGhJzv79W0k8s3`P2`MSg?_xFwG%T2zey4;m%IN^TRHl*rWO;6<ZjnaFw zCNbUKcPV_wl1N8MQ}0T9^Qf|j#>w|h4s1GexYah(+)$d$plb59#dqgVUnsX_0aIPh z#Cgqo8SM96^y6(Xo-=Ptw@Bdx5A`{ZZ@>2Vq+lH)#ChV|H?;;8u2YMD?>{|n%F-)6 za*LNb@A=Ol`0e<Qi)!wt?#RveU+e8)yClF!n)hYsJO`@=#@Fv^ecdiSHT=HG&*5!f z+iK&KFD$>W^v{@Z=A6-uRF)O&b859BmSr4!^3#8N*4k$-g}dj}+>o`~(s=dL$pfpN za?jE&_{2ER@xi5IZ@L^OZ2A^tAv*t=0Q>drOFbf{9`iV^EPt&p&@3{uz>#|ryM2Fg zz?lP+*!}+P|F<fcll|QBRSg9d3L&nI(z~l>)hs+?W1+jVt)TipgVi+4+l36Dtgk9W z*cpF%yj0(L;!!cFi3^|io(u2!{Nu`^2ORr+*0Hn5U)xmPP`9@@sB&Rn@%O4mca4}? zuO6R~xEH}-dH#81&Jj6{vghfaWCFr1iu*J+@=n~SzSiJrwC%5pJIixr>-K6&Zob@~ zwOWW}y28#snl}UZ*o^OATK(Sg@z;ejCU5DJC|wmUtZMn<#!=^kT5Af7XB9I~V7L2s z<?Nc{43B2AytrHJ6~U(4lM-SrDZ-w6Y;Jq1+!Ti08=Sc$XZAhHT&~>zJn*^Y0w#CM zqwW(g2+qp$54iKI>dM5nd#f8y9#=MDxYK-AdRwx|r%eK$3=EaWm%1wnUYq5hkl?C3 z`Q+<anU*H4w+r*0B&|6k>#Zm7_4q@NCtr?lm;L)9>@mx;sk;K0r}o)J86NmI<;sg< zf17k>xv9KU1(=oZ%{k?{T$#!8{ht?iw+P>@SQ2pf?WNWGoYS}3&c5E2Y?A0~dB7%A zf%gWx`ii&rUwbg9$jw-C>TB>spCl{co~r^E9>2e~_@r&d-Nv5DUl&_S95W6T<kOvG zt9e-FLE7Rs@)BVd@`2tvn2!c#wz*xZ)!bcBtNCyx|N1I6wZfw^4HZkZ3JMBpGo>4^ zm$7GYB<`Ld&XT--|5DaXnM)GH&NBr2D_?6AW>etl(@2ZUVpWg|@GHt-^j!Kl@x;kx z?+)`<WwNu+(_m0B7PFgiR(5Zuaeq#b@Q({j0*ue+d_AA#7v1+I(c@>4$7=`4M-3{W z3eRo&?yh{kRPUa}l7nmw$(771@9ef*KKSc`AFtsIF-eQF44T>#=Ph4q!Bo}dQp9+x z!q(NI<fq5^y$q6;FT2bxck>8XWW{_u|DR!115biX&!g!K3E!93^BPR>WZ|j0z`&rq zUee|=SL5;csyc@kT6P|m3mDogWDW1lZIyM@sY;stSx$WWTD=GSGJ=kpy$3Ciny9Pv zTsgAg>3MlCH)VS-E-CR@?*BqQ+^Gtd+)&(?!K9O}(j#-R@!tG%m9PC`))n7tP&jta zuq*R;)!g%}Ctn`FG;5XP*9DwxW(@3iB}DGE=W0miB(nsccy4*pgrWJ$hs>94>Khk4 z-fyC4`SPf{0bB8>uFmN{Tq6=gZ`(W;QBV%Qd*H3todPQ<2L_Rr=cZwduNyQUPWiIp znB&UgPp$8^GFZ+G@9KFhDRb%XyEzy5pJ_0Ou`|fc&0O77_0iv^FLTH7tqcZjGM70{ zybjt{RTWaH-W;Bw{C(-&iQ6x=Nmw4$7VtlPX~v8*GSAnlyQx-RUipKe<SdI|v7ZE& z<DZwFk``}04=z~Jai`8?mBo|fTT|xU&9qKxTEi~+vdi|xlUaUSI2RfjU!Rp-v%i<m zfjvLw>k^x?1yaH$a`jwp$0{DpxvAXT#rc%4A-JvT!Q*Qa((Sz}Prj=999qc1#;f-5 z-rTb`x-v&yc}~b&IQyb-o`!bYOMec}$6Gy2T#72bEKA<`Y)xfKx_zs|gZ0;Dr%ZC& zDQdNl-Q<L~<}H4|W6MsmZ<o!AX53v++aKj7`A5^cA<Izl?rw(PA={XGgp4oETW<Nb zt6f=vZ_1yG38FjR`<#F3D5)YGxRZIQNyFswsxVVd*8bD}x2`&vJh;qZ`^qPIt!Xb~ z;_P3)FNZYUuD&#teSMUJp##6N`Z^8C<13fk(Kv6hAd}~$`dX2-2OsY>sFGSSHPQ2^ z%$#bO3$Et#t~z+d+ZG1OWm+y;xFEy0If%(Nb3yr11~J{&x3^j}$y7YJz$t5eIa<~# zt!v@r=1&c5hQBUHuhSG)@0y-p6PC*;)pmTVea6a}W^a#w?71ST@K;O6TeiV+nQ^e> z=JQ_NCPl5s=WUs(@H<Gz<Js)pTO%$kc)pZf;@pGGozLfKa`k($Tv)nS({Pqg@O6ph zMNte4i}%MLT6T-;iVxS<#WP|SbJ$14Szo@v>~s69U1Fo%6#l4~VB@~b8|;@f6dg@w z-qD=F@WDPxhxt2K#q)`0UHv7N9H>|L@@TTn#q*9H23igk=O1J_z6|WYG|w<fg=xdG zp8l#rrNxJZ3U9SBJ)c#ObJ^kK^R?EJqBGu^Tbg_@vfIL=9~Coi(ZYqF`JJ!LJ2v}x zmfy`K9<$q{itXH^dcLkWYZoB$;IpUa`79@2y8w|dE4IshdGma)9;=eHp#RFHXH72g zTvg<=H4YFwZ)z#I;>0p0A>&Ik=gca8!t+h!43mbYVJ5@DB~QLARk;wbMacc`;<Xy= z+r1cieg`+4SDMgOYTfX5?+eT2ymw#Rp5>HMvY_f>SHahn&lDUOf9}4#((&s8o;d+C zcyC!>KCUb>rH9XA72^ReUK1hBsxPZ|@L0YLVm#)#?8~#cbFMJln{&aiPjl_1S;e;+ z<R`fqJBK8mc<nvs0(0Z{<w=VU{5~|LxT!jT`9$8A!|(m>p4D@+`ux&Cu%SBWyU6lp zH~uIFKMj#LRhORnbI<AHt6$1sd}})MUOkRyt!J4$s@7^UaQQq)2@<|7!lRkV$9`=} z=>pc{BCN-w3YJ>hvND)_a9o~e@0EEXFVlGPS?>;EHj8IXPZ&JUWicIIs^+jV!&l6_ z`qF#0g<(sdmt`AqelL3)q`x&>{@haDZ4LJSFaHs|qiMTRgKaXyf#9!;X3v?Yc~z6) zVdGilgp2d8O!Z`#VR>Rf`ikWOR?jBQ;GAVtVEdButVWy$<Bi8AJ^Yt?W-*?RV({VH zvh({A%Ox)~7#}t+@0<BPpleFW0*3ymnCDAPX8Fu&J5agcQ?bW#`?xO)x*QbF>WaL( zQ?`~NSCMH>ZHC1AYfU>nRxFpw5D~Ji3TpPeG<(hkmf7uIURlqk%wk}WT-=mtc-Dd^ zfbp%XuBx+xuH^Gulcp48GW@x8*?3mm6<%(4k!FeGj~(+exEapsn>0`MlTd1!&{NiP z*;&xf<}$;R0K>z!QFHh-rLW6e^kvw2;^2ytZ-dI0tY%!0G}rs<0-j3~I4>_{ZOd4+ zfNh$Eb=Ad#BCi6w7!uj0FlBl!sJg)DdH#8joU7Vp2c}0$**C6edc4#^?#e7iPy55} zmu6*FoEK5i7D|@sn=*Un!i|mRuPxH;)4C+_%wolPc`u14rAuVB8j6K)O*Ubir6J|? zU>3s?_DgdoRRvf_#BEu)a^9AimJ%=TTuR<)R&mz2VCi|0!zWjW8!VXUtI|~=@&4Lk zg;LW%;RK_@%}upcK|P=Nvoe(>L>`7HsLN)^ToRncaBu<pCyNCIg}#<=Jx?5~G?5Z| ztUk-HZT60NQ+6(x$sl2}B-q%kaz)aHWSPs&d{cx!eRO0NX`T}ML{3B9R&%NXvj}Tj zPgh;0*SzN@cV@BJuQNWUS@<KQ-mG|5U9De+s$x|TgXYo|e=;-*nP2<bToUm7w*2wl zj0wC^1?Mtil0_aidNv$(kbK`2_Igg*<fV=}MPDSBs?TybJo%-UQB_Z{lZQj0d+>RY zM|>G?&r7V<Rorvw-Lh$qMY^voTp&Mr*4${*xaoyU9E<I?v|n4jTITZ4bB+%Jf)eg} zywS3e+w$n=D}!R+<2DxzTWd30LjDN)TD&oI<mu0^`>M45vD>Xs%Vj3V-kvvA>iP20 z%l74!E{RNcA1UX{^R^ti!kn^P;`_2EwVF#ldTbFa3b55IyIjuqZ2FympyWb-8J>$j zg4?-_gKiu-D00c1C;0qUHS5P~gHjBwL!#TVf=?(+&}=lSeCg0!a86U=yU5!e4>Q{( zPA<5}xtn>S-`k@~>wInaT%8@v=kQ!U_;rcGoCis>G8}knGa29Co6uA2$KCuoJV7Pw z0rQ2>)(QHdyrE6ACX}qq;C4J{(-R~q(Xjm8dY^AA98Z{BE1qTPnsn@e-OFX~5~`Z) z&sQ~HnqKfibBR%sCv)GH1qSCHHV5WOtPDL~=o2Q=;4e3&A$gWt-tNjTOV8U~HIg)A zur4ybHfPVn@JU&6U$y4Q-o3s|%V7%R{2(o-W@hEJp+Pq-EO?4)&-(7pi<aT)Zs^(A zzk~mAKxOjh<<m~GZxqS<_u_0&g2TlJ9|JdSjlL(rvp(L-tU>EC)4XfPGOMmOwM)us zDJ?h6U=v+(%qpZs(1WcyIKk3gRO{oM@5@?`S5-`YdaH_Sf-tj5Pxpa$_2;9)?DoDq z%q;u!b!5YReYq>G9=0nzpZv|pNtRf^)@S)Xh(9o3o}~#}-cEZjhOL_ws@9tvQxT|s zZlakcnRoB28JpF+e^VGEPv&g2nfKLq`ZLqo>s>9!Ctsc%E}+S9++N}Mx~hv?KE4e* z6Z81mVhw-x{;DMh*122St~@LsHDg)D^2(Y5t(^^>5pw<#D|hhTpEu>~zAfGJzB1T+ zU9!APq~)@M<?MSC<~(L^^r)~<n^pYU_Xd0Vym~34;-e;VR+oh5^c}yngp--U@ZJ<l z=B4fp)t5Vt2ibEmRH#cXnD0D)t??|Q!Y*#->1!>5i*GIYQ|NH4?ZC@ROP`B0HypOD z{8O88e5(rMcBL6^?jj4mo4m`o!IsPN;G=W8OweQ7A4_lga2(dRwCQpvD$w$6_?yXa zta1U{lkW?qnU`->4DvT&ywxDg!eBg)*Mjd@-?DjjQy7|;M+H@!)i{3Pg6Pgi4FYo2 zmp_zio)?vS_~UXX^I8T=Kel^U9vqpKX!+91>H_nXUl(_?_ifn|l2dDG!l?Agz+F`1 z@x%b-1fzMy_vS2D2OYrG@Oqw>!;;Gu3hUQK1X&3?21-Buc>PaiCG(|aynR1R&KRoa zt4-}vN^tn;Z;~!?J}dasobR@odowm>a!JpcBT#uZT;l6WcH4{%Cx56IEHJc;_v+a6 zMPxBU-_0i%E{IL}XR_aKD_h~EIcv}Fbr3R8;E_pR@t@)K71z!*%U8w!8LqG7PMcM` zY7vX?*JX2h<`f3MwK#eF^NMLkX77Ja^;D3XbCn_G>uY~k6`r12UXK;kTvh8Vj;67s zY_K>V9CW;o^GR^iJ7(qm@=*ahZ7wBy%&a)M<gs-BTCK(tUzUG7<}b>#L8f8#r-^5M z8h6i`mGrob-9Kt>Rq?N|lr36KoC#cycfQDc*wk9{Tvl_*Hix(VH{7^O-qdCYxja0f zDDsu%@r5h1+fUE4_?yLW!$RiYlzYXW<uY_;Sfsvg_UBtJy<0wNZQC!dWUGli&2Jrb zCmTNzxU;QZtK}_wQD61%E3ThF`=4qUB$7q0cq&gk$*lfi#kPl?%Cn?Z@|L~3+i;gZ zYJ<QhyQqdu>BVg9%h~&nEzf^=oa;`AivVcu<ejYNq2^gt6AphimGi4h{u$u$qR5v; zNU-f^<@dL~Ivm{16RIAsSoV(n-IHKu;R)5D3sg?1JYUMdcc;<m$^5!6Yz&6S3Vq6D zoLVgp{_4NBnEP|O<ni^NS8`30+qqont#!LvBiGEwvag(*uguC&(Fi<W^L@#Q$2P@( zUNAb?z6w}V-1p_E!oO0313%qATwp%bz;0>xXdWB;nFI5`RfS~yRA#^3HCZQ`rNH{j znghkG$FlT|74$fMeO)<qqJ&uN<4cPZ>^`hW>&Udcb$EhR(0lGH#lFWJ7u$L~mOnLt zdk0@_)}EVM4zIGDcBIM8pX#bsal3(kZ${TM$q7}39tTz=RTn!odmN0mJSod(aWq5b zaEHb1c@`!MH~K#Q&v4yAq0mveJAHXp+zz`tm(6+lt14c9S+K>PYiHh-55-+clkPAc zwPvX^;T2*_ayIk&mDW%$Qx|f<<3WMusRf@{)p|LZR=)O25|LfL&0eabbUBm1-&E!u z@AuAk^jhey#iq$%saiPkeOHFUES8A7^FJ)ry6yOw<)10X2_1h+n_4Z$EyX=mzb`N! zvv^P+74z2e<>dR9W-!`oTBu*XG=<47=1E=2Y^HeQC(5!veg*rVxs(3%>k_S16-jlA z=Fe$7>%hl0%R{%%;rQ}kucKjeZcqG{tK%M^!6+hoyW^;~@cb+epOS;NnGw@oA7xN? z{9No2e&Orar9Aw<?|r#<XI=*5?)`hun;brIr#hr(uVH^x<}IuL4D+ilaNK#^e5`Vr z{^~lDKa(fi-4S2-DwBi#wWE=M*}=&NkH=gV>EFe^f2$2crR|D?=WR1oj5J$TzV<Sl zGkN=sd0XzxnRub<0<#29$+9OU_EBNaC;qzP^0coiz&p87q2|i$U2-0>ntLr@d)!R5 zcztV@%4C`EC%!GU6cu}xbi*Q4(*9cS&D&=qc_cemd}n=8`730`L1kr@=Uo{R)~+lb zF%#$2ZLN}w^muXO>)Q}Mi{t+pR?U-G$MMeIi)H4f$u+ls9M9VRZ2EmQhR+Vcjg7~b zCb<2uxwdrc;U10Sb$cG0PIl{@<+#t!aN^&0Q!c%#3t~LK;+&S+WShoWaaP+CXEmJ^ zZ~QdzM}Vig#tpl@^;R9`iN~rhu}M4$U~SW}+F*Ce(4(mS*Hw-K-<NMI;45^vu&2-Z z*X4*OIr$5h3Hh7wE!}U$t#XImR<yeQ>#Kms9Ws-QLz{VmHt+hhVE$5VM$0tzwe|%z z%?ISRda9_i?nu0GrLp1A9QmBmMF;$1Hfi^T{;Gb|n$sgVr*zeO>xo-r^p`Kc)Hb7k zs{iRfFB`3QJlT1twy;lY@uUMQVxE6E{@5$J)TAxW{2fcWY%7CKo~6X2CC7c2ORR8X z;Q7h3n3=tKew1W~Lg_8X1$sV}^5*KczENR<pUzLH;`dsna+po#pGf5q9{FnxIwrq2 zv3s@7E?Bm@&*JT+S<*K1Pc_IsOGviWa;yEB^ZfO-)!Su$)or<Nl3wukR{*o;tuy!U zt$N!WyjwppK*;dC7lTn1-~DS7I|C<KoU>SFuKx1UJc-tajz^htf(}MH$vw8ax$@vE z@#R_TTh4hrx$?^6xW#d~{k<%A;^$``IPt#m^6P+86}S9P->B}IxU~47rTWU3vsRpA zVBx(tg=2C-;x<*)Ur+wt2`cWZx-@}Pb(8T?j|GCew=ZRIxn1Ba6I?jYkMY}blL~qB z;OmzbGtb%Zs6jdDVAH&x3f~sqsC^?iulYa2dI#qDSzT^9T76E>8YJ$`c>XewadP9F zS=DBbI3LVPw6OcSfQRMT96pObFXtPYR3)!3^gG~vdES=R^7I0WUyr8fxtdQXJZJk- zvOhglaYn&?P313V75HMbWtfb8^L8*#{&mS%!10y42*bDc^Ot2Av9CO_gh#SyPxEDy zn!}Q!F$*+eY9BV$TTPI8Ab01o|H@^X(?wL6x3`{RKKP_Rs`Fp+q^e+k-JQD&JtEed zI_R@}yua7whD!2Y?;UR$O3yDfobh@4Ubf_dh{=~{@i9E#xs+kz4xYwqa}PY5%n;MF zKIXEgbemP*mz@kxjemSy>bLxL0LzOrR!NH|OIX_cs=7R5#qa(9R;^XeQ<%4CmTNJa z<Inmi(Ip2IH~0s*75d(9@LVi$P@VbKT7_p)H!Y8g99Y<1?4Nck(&KPQjwkc1-9l<t z<*x8_InVdG*dyq}E>|gX`E=TJg#?+$YO{>*HBFXT@;r0-=XsjOuQZqZ;^LBt-uc#p zYl6dLkz;DJ=htbPskJJ6TfE@W^u}v*#EX-cUu!ubkZ1F4$@v<o%JX@eyZ6P_W;QhR zw8;cizC5|ith#i8umgMGtW4RLj~PB*xb#&ugGtmv{oazeeOo|x-h6r8U}?grkoq=o zqs@e>;GIv>muLBz7wv9e%HVQXS!q`IyIHfd8ei<Kn<6UtWdX;=mp_BIGk^ME*f&@6 zNLBHBp9Ar`_WWnCVyLi5mY-`O+%wrHen#2yITMT+eg!ZIH(%*rYHT6HSN;3<<^HWE z&l<$bAA7Cxd^Ev*@~5w+TB}nYvtMd7QE<LCvCTSUjmLq<7H=ILw-#UD%W`8yabM=& zoh!Nc7B5wH3t_8y@MXagH$Q(-Nn17p$K~bEmnz&Ub~qZEmZQrub*0Fr39k=|%9+dj zy1<gcRJY}WL2*~r@jI8deU;T<bU0?@c;2S$n@Mlu!3VQKPb^72XMJTG^Auyb%;!%< zRxQ!XQqSSja_~2JI$1_8vptcq!@B>ak4~m}N|D8~8GOewZuvhBTs`qh|LdSmM~UQF zxeafG7;IThJ{0<&FHLY?s_ygPO2bT%map2^W;gd`MrX!o9DL^<>>w!Q#<;+ec`f_$ z*sBtWyJcTpVshTSav9I_l_tyCU;DDND{nPmo|VS=pW$`zjCp^5F1F#j!nw%iSJ1n& z%8wUFh}@a;cq@w#pTEqr#TM*O<4;ZDa<bKsJy^slv0&o78B5e<Gc*lOoMTnAc{FwN zt;q#n79?9=?qr+1UnD_(%D3lTOB$RQpG}&=Wx)Atwu9vN<?G`z=i0qD`Jly_QO6!t zG%w4j@Z_?UNd?U&BHfW;uh_3O80`4EVo~nti6>T8zA<)Sd)Ob<+n{dJQWP~oz}46& zhVfjXhhOFEfN3Vhx4RrHcRab0EbD5$)MUk@2I+YfrdpG#t|S<$+pa2+Sio}ov)EUO z6*JwRhDG0692#`o=Go+A505L4*5q0&Thvo@LwT#^k^{$=8ZL7=khIX=V7c*=Pnvre z4=k{3%avTvl;tx?;{l(BaEgWG*Trm0au-`yNhN{Kd0=5F^wDy!nljNdRH)-u=~9_5 zN>g_%doJs+in}q&!Zt&_dES(UCn-S_jvjb<t9hQG!;^{grZlT9H4x#ex-?Hi@=qq) zzXyfB8+2R`@>GZ1OY#1<;X#N-#mk@v8&>47=vl2?_2$OQdvgw7TWt4L!<Y9zL;70d zy*547!G&idR9H8A6lC&?+;g|hkoc4Qaj90}QKgA~k1a(QE@`q_cV!-5%5tJ=qYPJe zO3{@mdoxrL&&N%9;HSwUxmc%)i^16Q%0)+sRXz-}^0!(rWIUE!eujzptn3PrM~tBH z&zY8w=1=t8HY@yIOKXx(*F;~31$|Q$Y?9Wb9M6!sq#viroHp-xLk45J!n-9WO?H2% zFu8lf)MkO_c9Vw(R_wIRys2<y3)AGTjAW16msVdE9k4OC&g3)nImq6{sMa9seL{LS z|GC8{^R|3;m?_OO=dt9Hfa)uAq}(1gv84nox6NetkE*lg;_~p}Yn!m*PnLt_5}SD$ zvK^;B`W~|iX_x&K*i<)#wL`SPa_K=+wM&&E$z804W)m!qx;F>4-YH<yysg2PB(O(n zf_|~zO)p1TU#4f$jkhM>TFT+R)$Qc=eOVE00#+C2?r)ViYsnt-SYl~{^ehI8v(j}r zjc092jw(nvSS)21S-|$9DscO?l?GBqp5GQV@K<Ry1o}VtvZBp8xN!kXVq@U6m8!3g zI$pWJ)K_&W;d0aEhGz`|%>PW5i~O5%P4)$2+qAB7*%yo!|J0uUyufkZ<bzSB$594V zk>Yt8OAEN14=jDzU&SlVc({<+R^wRZ5_VCAlPh!BCQd$T!+0U6eCfd#n#&ls&q|i* zs^s;_xyo>OR-V73m$a>>kp_d@mzGPx8+d&h3M5xroIe|QWiG?}*AbH*dHz}X_o&Nq zrRkGwc}--N|G)A_NcqxY?en6#hPV4Ptr;#DXl5>Wa=G!#3PyjK!1wM|T9X+$mq?yv z=`u15VJ`GPv3Pk@;;{_IFPDrmf}1q&es*A0WA}<bHreI^)1{tyni|hvWyY{t+G<*g zT%1(sJ;7q72Ya98OD|pnnakI&1V3fGu{_vw$=Lw@Jd2~|J(p@Vs{=w?YyuXG>^%8x z>6;7{A1Slv^R7H_vzsD#z@#Bj<bvjvIhPsYrfg|o^q%OzXmi=Sbg9MLYqQTXNcY;v zY0eONV5=Fy&c#=KsnE^UaKWO<U2#*^m^4TQ-1f_0R{0&=a9(7Nmxxftf(QIjX}%sp zg^ng?Z!A3<<e)3E-z&)Q;Oh`(#(#>}dS=B}SzS25cw*^GUoPuQPq_L5c)l&R6lr-j zt(#%#_R_^Ng`NjZ_SBg~u(I@NmIrGZpVMS`^LbXBW@}rfD}%M<vk5|)#mBw)pZY2= z9l2t$(w}YdIo}9I>&hjIXR#H&bl_u~Q@JeoxXlHVW5xdLA_;O^YWXq*9$%W}rdeR< z>A-zd&)wp!uf@_88@MM_U6R`}U;kse+`TR5mWy0wtT->SQ{>{w^M&453PYINqXGk) zyJ{IE&+00O{N1-@UF?Zpfo`^$jBG6iC(nBYdS9EnC74meq^--BVQ>3Z4GR(ewTzz6 zw>r$&y~*n0<iL%`<+kK~UC<QsY>J$gkbhR(6^2JQ|7bd%To!m~rGlEe(uAEd!R}iX zqZY_<vYV<E*k&nI2Y=#t>A)Y8@_bgur_9@puYHfzuB!Chu-N3o-CpB~2St{z__l1K z^LCz(zb^ZG`FSpz+?AkSRrGb)2giIbzIrJiPEJ{kvj#k+%b5dMy4)Xo8CkyeWoMdu zP`211!pYI3<;exVj03V7jKz+Uzk)emcNHjB1$aCEe0!^@HgopoOS31>Voge@zVuFc zsrwZ!<D=o4$(<^f1gtLg&ABAM*3(Gf37>nEl^(15wVtbs9At{U_b*s+@X3Rqt!iC9 zb0efC7n(-88T#{{b#{2-xAVAC&-#x$9N+u$&f&Sl#IKV6+R4c&FHZB=1R(<hyDdA< z2D#p_yd_X}{<Y6-|M#<egnKS$Fz9Li&XD-J^qiK18$;ukFDq_HO_}Ii*wbKOZ#6rM zrQ*C=PfxMuz1iC@tzdsHl6RhMLgD=SOEcUp?B_E0@mZMMdA`=9@ZOYdR&(lm87$^- zInKMXB<1t9#-j{eRnNEDJh#_%zcBf=_l^t9`?h@WbzxZg_~Vib!mCq+?Ax2NO3H39 z+CK~p;alD{yD+P*VM5{MM(_D?Qw|-Lu+_Lbb?GVQ?X3!o6EsDhc9*Q!P<(Ltq{R!* zax#2!&zquo;#Y`uBU`hYrD>sq-`ky8HtXfz279-?44kfTl~K+3SV87-hR?TuUa>wY z_a$9<vV(A*%(rEQ*Z05loap&UxMy+~1LG@KwKt`<noH&{HR-vO!FkOo(_3o&9R9WT z7Ahf(1}A^-nUzpe`Z}<wobSqmh?3Xu9oG4^@cBQ;I<$eIcv993`6Hey*{m*anD(?S zr>jSH`8+L~c~{j#&qr<PlJR7(d{DMHt8b^}ies)m?9Q(pI5$XfB?xGR@OXrZr228F zTPj>&Rd?>{&y7u0Nt?A%evd1&tM86yGb-(_=1xg&{t;TVBp}#1LMAxe_LW;0^Q<&} zFV3gZa{{V=U7DxCAnahGaZJ<AwtcDo#w7|pJf+JfG|&6Od@j>JxGQVky(wMYa(tSO zOIXS+mfl)><>T9+3-4@FnrDS7Uz_M)b7}n<2b*ALwv!6gLHf3u3sR=Z`yZOO_%_pw zot+G4HDvv5zI<D(@MVc~fAFQv5_?xpc|1we;b=xf8e65ve)9xYi*=a~L5-@`uS>aK z``_I@^`Kq*^2dQ<$yd7OCB{@pnuw}=H92ara^sw|S;-2@vKkBzs;=~Ymf<Tf{t;AE z#Z!Hmaq&F<Ec4>N;+NiAnkRdeGfs41dy}|VlU>qoi@|x-&Ts#=Bs{l#)F3W5C#0+L ztEl+(S+O@P7I1SnS-kh-oxt$IcK=$Z_8z{idhYcn0-{7`wsF3m6%g_JvcZuCcaskX zt9m9Mw?Eg|;UIF){q9Om+5KA1O%@B59OEfl&UWy`vd8<EDxN&XmZ4F8rv7ip(<D~| zIpddZg}3K_T)?drB9rpv@oSHpFXv^>IPrb?3g-7x4E4-U&lO&qT$Wky=y*(n@%0uN z4dvHoZ63_M+wg3`$v4KqJO)p4Pdr<=K~y@M>CWdM&7UXj+7|xPUFf;8iSfeo*Pv6L zPniou_kC4r-ocd-$H;EEk|QYMao>HfrV9*3_FB^y9y9ilcyRgpnez<AuQIs%A6sX+ z9#zt`kE+(6#`n*_sBWq*Png!3C8Yt5&*pI(@>ucN?fV)TF!i9c<9`O*tb@OgJZE_P z(tir4=r+E+{Ez)~xD)2jUT521weC{FG*{-nefz%3eN%pBkss*eJ89$h73I$tJia#L zN#S+d;#sXb{wW#1bkyxHQ{Y*7`?lOx@fn_yELW^&+X#O>A7w6luSr@x{K>oXGIerW zgfH)~`KzUHbHOC*%O2sflY7cU7R=q#(|m7{O7dDa3FfB4z9nB)Jrz_oJZE*q<w4cs zE5Xfm%C{zbo}&Kl+pkL*96Kd%_sptSsJYTwDRJCxZ|32~%O>gzxFmXJWmrhp+G?nL zyxnCkU}5TDWAN&xOo?oklS6)-<)5rw52hV9{B>oqyr1#c1uV5QZr}LNFsG~B;`#i~ z*CuTIa#X{@-ju;-$@6)&uVU}+&Dvr4@~F>}R!a#J6PCvMmXO^O%3cQW@i9KWd})r= z6FDs@rldk2b(2N@fwQuOcQX|KY4vtpz{7spSLZ;LROTI7|Ab1pMRUCVUQ5^^dGh;P zCuiwNRaf%d_}mH|EtXBH>YJLSU>GsU?cUs%zc(@Go|NTW#=GFz6oKOxLKz;FmoDp{ zamkENq+al-zOupv=8oe*nt%7U8Wj6U7Z_PCU}q?9d^soh;A52!nadSEdT;Egy=yi9 zP}60B4~08IRw{peklttevbU#c0h3$pSucL(2HTZpLCNm#4g^&d`mwXC_2(r2`hB_J z=B>J|8XKQWH@-Q{{NcUdVZLUQt8Nm<%w|o{W)gYoX7yJi!O~G7ZApL;<6D>Xrza(r zuVV<Rnt1a2k^=z~H!7^VU~Bz5Xs6@}M)w6G7a|&}ge;fFd|z`QV82F9K~?qTzRR!Y zUz)=&x2Ub3VcXjU$^9`Gn2TQ?SZTJ6c|YrZseVazb=g-51<s6pKNehMKYhRd+Qi3C zi@z?6V7-0dSXK3`pwr*oqd1Z|7)nn53%T6)ccnMa+jp59s$G2xuDUo&_iQd~oYgaD z!o3}Tvyvz9SzR`q$FYjBhx7S{znY6BR(dE1&f{mBap1}0<)4=-dgK{58FpE&WO&72 zlQ!%4ob*|q6I_l={_d#0^WT&=2J9ko4tWdyGkC>(+_u7Z!VU{9*Rb5f&v-arZkOGg z^;xvkwqsS^4wfdy^OEl!S#-ZQnDpJ??embIYayEU;JK{vwaF|pUzatoGcS+wF_&($ zx-^YNu0Ye`+_Q7<*xCEnX`M*!JfAn^(h-@yD>F}gmDOC*czOOa4JD_K+j{Tx6nl86 zwYnsq-)HzYLx?qRYZ?13Mp^f$bD;(7{!62JCI%~=-EnvG#$!hIS{p25mv=4C`T2gH zR)QDLW7hU(wb^RzMS1*pZGt&f8ZV2O`Ejau^=zw336k;Lb4GTh{LJ|^!JP*W_b%UI z^Vn8P^_bJ=A0KCx-;sDd`DZ|s!>MCRr@wFR2{K;6Slm<{H2HhOKjG%DD^BJ=Iv~@( zmNh13-d)YzKhHl6cz52bz~bDy;(x^slU4cL>O1$(H8DKEzW#YvT75_Pl5-DV?rx}k zHN{IVx^Kq!rE$?&pI^RXuj**3%ju~OVgs%Ex7zS<qxX(4aa#p$Pg>r)#ZV%54)bN( z6-hhIj@=QNlajXJ4u{NRySarPGL2ilFgH7=Zdm-T@z)iu$D6EWYBhN09+qi7YrNp4 zZ`jH7bLDdNTx^}(d8`?F)w42l3J&+(SaNqaW8rz33r2woj831j?3$UcEn-MnA@P0r zdzHMv3AXlg8Ppyeerju*xj0kuZ)Qw_(4Na|6|#FZ7(HY&7d9SWYV)9U#nkW{6Ym6X zn5F7=F0@_pgz{P+BX(KWu$aE$qY=Cf5~asYIycNN{@%YgIJtSNMb4AIT9*wDC?v?u zSoP%di6<8n|1%sgD4u`$wFfs3&qrU2xVijM6+e6CvR!4Vo~6UGoM-t$^@Z=Wb|&me zR|($OWbv}+pUEY=^lv7Y7+V`<Lh>vhFSRh^yEpT!`{e$m5ds^JUGihJ_>;-V@Ss0S zh3iJ*`9j|Zp-Y%1HlLL|YuNeT@$~_VW!@8&cE;~9XR5kTd|&yskJcXHvl<6}u8LC0 zmb2T^TwZ6lW%=_%`s;s+9JulLQcFX*!jsaafyeHAUvlDwuVsaH^VhQh+?V^VG8a{t zS~7fJ(WyV3xv9{B=Lzq=wi!kK>Rt7+QnRnmVl8BR@Zh75PTiEh%QMegEN*Ok=@5}u zaOYpi=Q#p=yb3Jyr%%dASn~Oo+!uBY{m(1ePZe2TX4jpj()VT0ysNqbCX<fm+h1Co zGl}83$>({+FOOfF#VDcj<gy2wxq9D}HOD1vS4z*Da&K!PW6H_=*{gZ4iiyj8RWCf2 zxn`zKndP5V4NT7^&qsyH$QgSbnRcgo&c#^_L6y8cg<YA-B1?pON=yzJR9#?*?s7hF zo4Myd1LqPQ|7(rQ>|b7*wR&FRQR{5JExE_nvbOsa&kFK*-(;J4&{NjpO_uVN<^XTm zbH;O??^O@>eN)y~72L)i9OlukY}YpPgnZP5;&T<t=KK?3cu*<3W5K%O*SBB#NGfYF z9$(Awc}@WHwg!vkYQ__9O=zm>(_GH{?gGmxbGhRtJqsl?ZDx6#{&bT$<0Sj9kd_Cj zRr8*tHAsZW89E#0ZE4-{yvwQ3S3$;uA((4&)BbZk^Y&`qv<+)xa$6we9vqbLpF#W- z|6`wXZ2mEqm?ybEee1!h%${L+yvldMpLIso0gP&GCl#JI{tRGQu<GITW)BI)pOq{4 zKEHRGQ{c+r5i$8?-;~xHPfU%=A|7uwoYB~Pe=k$Y?v4js)rRLq<BR3?YCddbmO8*t z?9n|(?#uU|?QFC5>xtW3cChcA`QGP*$eJGyKF&(3T*c%#!FX0+Q|5vv!BY}{m9AiN zU|6dAE7(7(x6gL98Oza4dkRBOo>;cIY?+}_gT!GLu9*3|1D`xepA&po=Bh@+!#NLI zZ63=6i{H8Y^XsD}3<(V3doAW^33&DHd2Xs;snj6jsod3X>uS4sR%e_4Rt}almZTY8 zjk5}aEN%Fs5-lF@&0uPtmy!JG;+#uD)&b0gXBD4KSDV=8%V0A1u2m2pucY0K1w3CC zv>o`>6~OV*<G#jnChH3dHuE%FsxHkbTk`zFf)yQiLeecC%{wADWy&QDw(6iy63_Q4 zO};nBsOqYsnelRwpsD|~9EyEn4o_EKtC_$rvS`*3;iEn+H!hzw;Aw1A_#M2t(etF` zO73X_t-<$y1;pFF61ul#RgvX;hnOiFY^{D>_LO~jyRfk*xbU@Shr^YY2kCqDvz#o> z8trtDbGP|@dB)^(nM`w1=4mBLD63ph>tHJndE7T;H^Xz#fq5J;pZx<C-&+*NZ>tq= z>TrPhb!5ZZ$;}tOi*gs)ZFyGqE41jiZPo>joA3Q&CI)Wvc<trMd}-AId!<=tG#5PY z%9f9E(DPi%A~#h|^RVp-T}3}v>D@sOCZ1gOR(WYqGV@u3=X*WaWiA<Yl?xoWVRvPB zdsaZpKaoQmHdnT(7Rb!1kkw##H1|qXkk;Xi{s;4X4bnfXbSukc=c)b`!0hzk+0whm zqxg7DR{YUmQj%6Tnd|BklC<!F%q#}ClguI)-v=ej2!#BS$}^~V>A>@7!dlOZJ0(R7 z&apCW<i9j&iI&}zyUV7Y+;O2Wh)3|`^Gg%-Doh@DeQ-5ols&Pmz|~%*&o9&P(*<Tj zFV6F9b3`VdSf1Q-fhCqz%{WMYS%$LY0*<l^#b1^`;L2pVz-+mk$@)^OjLbh#jnJIm z0W1!W*PFCox2X!*T|Ke!(u~79*RmG2&fq<~)I#QR#ao93oQxtLiZ3lZYi;*qsS<m- z$YocF6TdF&a_`>w-tWo0>X4ekx0mKgEnV0pKCk+MgWQ+&OS6ivEn$6mY4)X_X||T% zmYlaRVMsPvRrqyrPjK`kLr308(@viEaw>lBb6)0h-4u>`zbOwg_eaH~PtefiUo?AG z%q%v=CtsFL>?-q>JYn&u(Tri@y`=%1mS0vhKASu7Ruf~vo{3%s{x-Fm?F;`+xx3)f z2BCD5ea99{%B(AV?~rs?V}sB<Hse`o7X$N5-k$a0<Vpz=Wl5J@*2!Nr!D_}$`)(Wg zEcR0_;X5T3%f5WtX1VP7rxgho?rE?D++6W(&XbKMEf#Ywd%pGB`O<qc@9x_YZyh-7 zrhL5AQ#{L|pwNLg_2jQh32F12Tp6<+q?>(idA<&wVAy<X7Q+Izi|@NQmNUP0;60XE zwmom(mqPE;0nF_p$DS|MYFO~`<PwGcwQ4NY8;{!hZ#CeW8S<QI0ow#ekq--G=4B<! zc<s+&>>$YU{&kQ}!n65(d{tbo3I==y))$z|8n1s|Cc`&ZbIlv$-PgMswp+?vU7)6W zYJ&~)iLWBZwPL$^n5wEmR6A`mZ}%Cw8c6>MnX=^B)S{|B4MxNHRe|TD3W9Ghc<;w- z%G)sG`K$?50acgQ6(4-GcnWJ&xyYP(_os@6G5^2%N9gWRqghKXO^$4k$}9Aq)0c5v zgyG?PN84W6OouNE*d}@(`rPwq!n4`e*D_enFudE7zF{%*R+FHf$6e)&97inzd%ixJ zwuX7F#1fSYoVFPWytDE=9?iM2EG)s^<WjLmvBTLY2Mvqm&A!UaY7>H)d?tHexy0aW zlQ1uX;iZ?=XFs`Rlh;QvI2n5S=Uq8u?7%t6f2)0yrNxpZD!&4lH_zL0%jw9sWj*B! zSS^>FmEG*=z-PB;@?Nd30AmMk-*Z-6nP(Y<jPEu5bQgZ<;b|c^h4HMlY%BAI1TMz2 zitLgLxEKnKXVn!4_I&oTeC@z@^0-O6@>2b+>M<c(be+}a-o6v;_+`1~?c1i#B66C{ zRhK=_s(Ud^m_McJa=A=!=FNC7hL~9~lYNh8m1i+z9?LA^Rb(k$s>Npb<5Gg6-IVlM z&W-o_?nepmv71O`EN7gTd86eB^RwkWa&t8um}aq61!Zi!$-I<(ov)h3f+j78<aFCi z1JB2eL5#CFj@l*ZuQ*e6xgaY>%K4bFuhC?_EA0%y+j{=&)hsJtW@M^1*UiwQDuB6M z=0e1!+(iu{a~|KD!!L3w=J{F%`?cmGcb?6kI8QTzEpXnIKWVd@eb}1Mn|$zmG+E?L z;aRnYzzMaj)}?L?GJRL}d=;6*_;Xo8(DPe;S!<Y{_XMSjyvpXeV8ZZhj;q;p5!NHi znX0$~jJ*WDu1L6X=2z*0rm8EA<x-UamL@IX2No?!b#go^UAuzGCTR-Ktl*Q!s{*zb zGMv*~zSe%d>`I1Z42!!aUpBeGxt!;@$Py+7&XaG0O3zsbh_iQ<svJ4-v2X86!+T4Y zN?861<$J<oec9vd%C6^Za~rBIuvTdmF~0V>{W*ZyZpwo4m0X2KHDZD?%6Rx%l3D}* z*s^N8o_Kw!MaUM#rM`-RK_4AsF0fc<F63O<u>47ZttKPKgTRKYuw$BYUobGuaL+0{ z@zyhJ26s>S5`{U>rp@7BYn0-?Z8F<3?s<+&xgAv$1byG1_3e?fzFaovNdRNtp`Nnk ztmmW3ZnZU}WuBgRt9SWUi#|=U3C-notoHd!6=XhxhDok<@^sCq6xp%lD1(BC@Hx&W zms;6Z3%KY1+iPp2CBbuC=7O86Cd;2K4Aq~qa#!#iRrO+fr}6UOGM2=O=W9*6X7qH$ zwtQc}(KO4!E=O)|R*~VQ$!Y$38BFFd@NzBK7<fYVyvTz+pMxH7En(4V^f;<!9kS4S zp5@}i7Z%68gqRc-+mtWQJ!_K_+*G-Md0yrgW(UjX^Rq;@tIR5R{9ekeZ|7NW2jhL2 zw>KX5xg_`}ZpwmW%l83~n4ZgAob2(sPg8uJ<`TwP$-+(6SC03673P^dE5TfSdEvdq zJk?)K^)9jbnua`=)nF9)&rtDorRb)*xJ<JN3j{CkwP%-Hz##15@55C!`CRoSQH22J z$|bjdURh9}>Gb@ymxFVURM3*bSrZiP^{cX;6jg;VH2PN+#`|Ud>07*1W^$+qOTDSq z+`Cp)m$#){X-HmI9Ku|5pr}Cez?@u>L&hF_{A>;KpM^h5O^^w3e)gj3@=1j!no12i zi}ly}S~u`-H}&<mH4YPPyJu-KLuk9woFxqfo+l29ioJ8Iy0m&ik*#5H;lje*Qzd1y z)cS9KF!^|>@umOC^CD)E(i%BJS}Qvy`8#O4Xeyg3EjaGO<&eDTL9vHG<NT<r8I8{+ zk2+ltSf0T$Z)#@eVw*k>+f@#GW^GAGJ1%p1+CBf-Pal+;hI5N-dvZyucjxL}@l(}O zHj@r7t9{AZHDl?))o#LFj-1chjCQauc<-m#Q@7Qk<8fn9rAyz;70;OF8UDC*b-wnk zSxH~cW#mlh2rZt|RdIZ&kFxqRTUTDm-$#=7Ds@Cx%IgPSnm*_AwdEcsUwS2}w)qAn zIE2jmb9oz2$;wN1dq7KMrk|4dvT%dO#D5o-iL!62eRZ2*Z{d&2v(!S*8CX|eY4m8~ zc-%EX_`CmqhPZj5JI>dCKC3_F>?Dh$K?!b$*_Y=OdMuWF>m}IF{@P!m|IiAK8!1AS zCUe<M_3odz^q@(4r3hop#2wXFy5{S7{?TNbbLFAOG0+jo#g}HBa<@I|zp<ZvDbI45 z(ghhwlkWOzr{tbEW_*5K=50@vFH0;JY~0<c@NDXA)#6*T`!Xej?)<&@=LO?|Klh_1 z`mZ$&W>*PW#c5Oa+JPbVuJt9Ox%c&-1|_rbe0|pT{F$=s3VB0;AmbgiyfzvKo=Yq} zsH`-(P}VBIRO#3yPW8+ERfY{_k1Y?%O%<s5I4>(ySz-S1E-u!`%J#j64KfUwPb+_B zN}1)k2fsY(ouD9leNM>1;&$~p<%>*IChV!rO6p<rxc%c=ZbS03Qy*CM+-zSybQU;L z=pPc38}p#*O2dtV>I`X1nI~wPDXM47PhV)0Hjn9p@rkz%?=<3P@Dx~nJHOO(tMO+u zcApF3Pg9>vzWh4aFy=vl#ez&;1>QCL4QzVqqY}>B&HJk6pi=zuQd|6#21{EFjeg|? z>Se}_e={XMn0<d6lx%OlU`7A0LrcoeWe6vGTHe0B)$RCJ+fH@n*Y5)iRsJk%ism;c zGZmI;KEGG*^2Fn!e4>5Q6Mcnlv>sRgGpo?1Fpxo7rNq|$SfAaZbw~Kw_hlY<uOMgn zpFwT0#PPT<3m*6TX)s1Ms6S_C7dg`uZp--c_19&S@9<pqw0PXbu%U7DK}lKmFUu3% z{g1y6)Mu}ck?CJ+c~V92`dV)XlT9BgznzaNI9K`7*GBe0$+C3jiIXxvHN2U`p2cZz z@Nzr*YoF))<E|=vU&eUy$=BtKbH4wZa`3b4<K;gB%7q)MF0d?q_A1M1@k;smQ4M-^ zQw>jA+Rym1<c5&w36?_t+xKQMFsrXvE_{8PMuM%Qdf%2u-bI<s8Qdq5?#v1Bx1N&A z{&~rPn0Z$|9QZB&`K-y4IgjQnwYt)9Y0sPuM-AR47&!AkfA4?${OL<G?%GRj>GnxZ zc+Rf2IB>V+>)ZF1rpGYe7twfs`QD5ZUK0;W{+n`XPhoJ6nUSGm+`<ednJ3BjP2N=p ztYUofXwIIr#+ZT!y=%{J^*mj3Z`mxv6Eaen2}=X`JX9_i9(b}b@WAp1!hH?DucV|; z&^+Dq@k&5Qz~^~8&RGRL5ZL*ua@m~8=YxY*uyfyEmL=)1yzoK#wdE1#>$WmYy79-= zr^n&>@+#M5nkOCvAGYo(y7|_#_xNkSWA=Psc%0T)D6IFIY`@f4<$(-18|PJBF<|{U zee%KO35n4wW!={*+}iV4@^#;ThA6kxJ50>;s=hB5kln2(e%15W#ocA@Yu#q#>}oPF z^kPtd_V#5+h8O>-TFt}n`GY-oFd3MAJHJ=)oPTj-Lkj~R`_837H_v-H`CU6^xrE{S zlM8CCC)5=#@0KZDmaE=))JF5=y_HHV3j9@W?4K8GICrTkpj;+-)&i;1(<Gh*9A;LU zck`WF?XHmAISD<*|6H9@PEIuZxv{zN-a_kbPm1d2MjSY=JS*?Oa)poA<(6M-@i;T@ z%cUO{=l5y;IQ4L6@L9Kz<nlW9Yirt$P2&0-Xm-hx-F~TugQV=sB^t7oUsgFOu+-dc z_tQ8byV65O@XF=F#`hu2{=Z{_EhSE#^$3}G;>3!Z7AjA+RapKj5mw|**k~hEAMBfa zS+@GyS<T1KZ0hH2x!^3gdxEWoN>JhFbd`@?6E{fPy1H>Q*k;~jNhx&LA~4S}_{!z0 z8|?C)Exr{ks&?W2(Wd1~eHxAa2(PNyYaD(pp;Fmy-n~Z~m^NDP=5xOiy5n?mq0PL) zfMeMWe(s+aBo;(W{S};e(tk!_)6K6d*$j-znr~lQu%eH5%Le5M#r;vqJ5{~PWq!+h zNuIR(x0QL*_He$#>ns*5@_pz(?FP#?S&OCVub7MPgqCV?Iu!6*d|kfmDzmcW<7-Vj z+f$l92UN-Y6BUs5yi;}QgI`#agHYl5_$b$N7p$s+K2$Y$y!2SCVrbi^b(vA(p(A@! zrg-D=y3FO1&&z#j^iX-;mEb*RUe)F848?&f-@84$*C0QC&h{0{^Au|KW|^wLFP!N6 zdxq}6;sBNf8<lN;e_Qsjp!TKAyl@-AU%xKb<?aZ(-G6M>h0IB{kGMWDefhp(b05Qh z2DN$8Qy=vF+bUpNcs4NR@aFkTJq!=#6$a!fd_KQnIg{D5scqWH&(6!uec8CJXRWop zf$dR~NycB!+rDhbd+5!_xWwY+Jmce!eQvF8JAUSl@VqMp9G2(TUusG@KFRS{$ij_> z<{w-AEvZVA`SZ$Th7b2<ibQz!sLT6ReOsb3D=f+D@tiruf!o=-#f$uE>-D}|dwso! z|6GHEqMx5zZL21;h`_O)$;U<ZytUW&%2W_wczkWfnd-|P&fe);4QKkFD)f6UnS9pe zesO(#-hYOu)eORa6iSwT?3?*@c{0lc%P$M&Jia$WaGS)RJLL}o&uTu`zHw>AQMSYh z2JMrtR0kXJTfQm`7T|c2wpbypL78vWgN+Q$M-6ug?JfR!Wp~$?0QVhd4Zfa_V#s*v zVe(Y+oYg#E4dyv1Rl(h6RYe*Mxl7&rEiHeAC?pujmsADcmV9|~8Q+fuY}*QKSF(9E z-<oq*WaSCTb5)by`m&b2Jt*^i0n2k+!!OGw7+*K}eDb8F((H3Zi!DSLgw`0`&4{xu zef!c^@-f>|p3|o$@%w489c7o^c;VuXNwp1svW(|Ewp5z3&2EcigH3fXXYlQ%+J=_r zRZ5@DD4bu#V7Wv_;NFxsqOVVWdGDw!aojY6qf@@sM(*F1L*h$KL-g-1W4U*4uV&R3 zQ?YWh;vd1^9?!qj-K%(H{=#KO6R&p#Zr^y;TH;ux`c@{TWAW+>9`zJ^R3y)vBH(z- zjq|zO6^4iJkFs2_)#Q|vUZE>Er}Vw&1%c(W3T;wKR33j=7MSQ!=J4{EZDz!~gX*&~ zj%psOc-G|3^LVoF<Lz}@rp)DKuwZ#yaQ<>vrDl&l%eNJq&&$3ndoH~@fN4KV^#z6( zd*&^h<M>C@po(wb7lsR!D~mt<)$CdzGqEe^c;N!JjTS!(e_U+t{V8+7^ThGTo<~C* zd<>sY_6u9~`@#XacC}81uL*9Nza80angf^|pH0uOP+sdH^gMqn&zk+3vHNDOIB$P+ zP7s55pZ}E$%%4Px&s8id_VTdlb2X7a)xdmtna7HcKj+6?Su!W3WJ%5i@8o_PzA0rV z-uirBs_?P--~!9e(8k|a4xRG%N>r?p%6s6;c*df6^1az7O<Lw%RZ93&+*K}n$gJmi z=JR`N^gOvN&Km5CSX8jOZ>v#H!YrR;X@yTk)>qQ)qpBy^OSNp2tz2{D#tvDlV2OlF zhVOmSj#;ekQs7|SJVz>Ux2>bdp*z1XtzKVv*4Xg`Pn*Nyzj4MtuIx~jKYwY4ZF|&= zw1o}FPd@p&B&sr|sd(ZYsYD5h^CAs(e3h?#6R$NnzVs;K<9ED#|Fxr@GRJvSVeNF~ zo~wQLu1d1Z&)Q<raX_he=gXsB(wR?!ix|HxGn`$0NmO}XmY;+`1>0hk+CqnQZZ~<i z?~q(}rKkA)tjwb<X6Eao4A}jeCQJSbN@?y1U|zY?ayifU#d(@Hmb5*#Wi?k@a#Ey4 z{@A>uJny~#y*#UUQ2p8jzAwc>$D93bH(r`yv0UuL;u%WpzZcE8sn)k-qDRHE$;lgn zT2C|H-mCC@ZA4GiXOG4xRfXs4H1|a_PS|-gN_};RuY+K&Lf;oNf60U2mWv%&aq`Ip z1_znaW%5zM=WBwV+wQPkp*>@2RpD8iluN6c?A|?od8zGDlS{r=M`OQNq2f-N%SFbG z4onNxnU-^<w06X`Pxc9#>tXqA!RCaX2Xb2&r8Q5ed|7qplds<;<^wA>SY35l(Y5EF z$tP>B78$9Dp65+nd2i0!s?am}z_~0}hIv}G%VkQ}%ogoRHMnWJ@*p?E-CZGXB`s9G zy!MmP3=CRgB->oTwp8<lCMQF4n8@?Bb_t4t{Cf^d{#m((A*W2#dLzSwwAIsC`?p#* z%+PaM^{I+$-3dp9e_IVDUmjf1wd=!!mERXVaB<JMa<E?JQm)Ad|H3Xk=CViA8z*+n zSSQhH-M-d%&Sl0`h7FlVo;;ekp>E5WFJG4?nt2>o?`l2v(Eo0e!?Jn4hIjJb6;+xn zwtO_Vsp`t?;!BgcCkXgTtUMF9tapLbv?E7cbe2rMG+}|L(!|NWI^0#46uO&_dpTdf zHpk($uf^N2hJF^|m)^I#3Pl=vN>=$Wy4g#)omCcaGww>vyYh~?)56-1*JQiB#)1C~ zHkTc~K5O=Dcywgqyrx+m&qa1Dd#pa$gPpl~R_vWw8L#`U>|e{Ene%1I>q|W{flXFd ziv?FoN-UmtWl6CQYk#1-!B6*ws`<yJXYlSQT^e{)^U>tQQ^s;z^rOPgs_|#(nY60Q zu4FFAtm@00`}tDqij(YnbxkvWEW5C?<%F!o!VYGW%Y9!iRflxXD9_6*ubXmr4coip zT}Hkvjo%jNuT@;$Jd436XwH{qGR<%Oo_Dd$c-T{<VO@A&*><nAcNx+tr_V>l@Lf5Y zm*sfkeAP0w6EA*UdNj)|%SAuA?@NHMo4*9}v-435l{tU5+<E&aQ&WPAfm3z`dsoKt zbP<NjM=i`aY%^yr4R(0v6J2<^bn(4e7B<0~UpsR*JYOrF!65f+{-w<VGfd{LyuFfx ztwDg_OS-Q*fX^!EgTKiI4mN&~1&=>2$+Ifbc=9{cjA>57qgjhZc#k~j3I2FgoXMzi zvB@Ljvl>B~ci58VH}+IrdMulv@I_R&;SNLXON(=ww~dPZK7DR}>Gi<9dDc`mSL;Mm zEtdm5bA)eA;0-;vval<T@px752^lViE~nyF3)xp<#kadAG*n&DS<cSXAZ+>C=Y{Rd z$J;WaGhd%IIneTGivC{vjOC5~GgxkUEMd6(t8{tp@x5vX5^nkNXO;111z4CYNnYxl zl*9FjBj<NjP-CNqkwNA|&p(;Ve2>k~vN&&>naO7uF0k|ewLg3Z&#D>vFW|YBU@jrC zR3Ul2$ve&ET}v7q480s|GacT$tIgNoJ?5$yRjSA9?O@K<x*T-RwG-ptAB&mSsz=3K zZ8#raWyKYgS?IuHx8>r=m3)Ryjkl&YWJDFj1pof%?ZcKdh2P7k@43hnhL3N(=L9=4 z%>kWV^}}SxQR#*iC*M0WdM;VKR3wI}i_dV9#n&YZ7$#nuRcX0gpwQ=016NdFm$L)k ziKF`4GIy{wuzNAYFgh^H1l;_xtf?v>+~A$Dm;YLkmhuG)y`RnEHJ??$BE?W1r6Cf) zIPcJ8i>2?+iZFC}zV^N}apTv;TN!i}EtX0yYT&!V+&86UaTh~@rOnrsj*k`vcrNeT z!mv(r%e&=WhF!B61s4R*EI#h+$9>j>DS<0a%YjiQ*zjED%ntVN?p^@~n(i?{^X3F( zXgr(U_TKxPp&z?CLx7sO#G@%fRzVZ*O_mYzV_0)SK>v*YT5U$J9j~kc8?QAkGn?Dk zUsVt|tB~1JM5N=uqZ#3%Mt!_`R!vn`i+NVKW!$R1GJ}1o9-r0(LBW@vTdq7U(%kXZ zLGZ1}LjMmRzpfN9-)b!rz|3IrY(n2x{iu9feiMcR8n<}8*hLb8eAp_JKQHC<f4~*< z*@q+2)8eQF<NdDL%qy1(@JlSYA^10Qj&QJ1SDMBSE|K7k4su@}%n7)`!SMd5hUD8H zR}Q+@Wk~Nz$$evZX#vN!S^inGMFo#%F}OY`J}cAcFCi23?MVP@(Voi<N3AE^SSs;8 zR6yBglCK8)rFrZY%cnkC!4}-cuij-i@zQjev<AjG$=9YYT-<nlvPZ42zb0>odwrDU zIgO<(PZA!>W~y=UX<B_*S-|f1<>H)Qp?5YiJ!!C-r@7$W9rh1%<kxyIysEn3AX9SQ zgyD`9o8y8>{A%;()N05cIi}gpQtwqCd{kbK(>6nZ+1=K7qOaWYo=Z%QCmvkN;AA{_ zl;zQc-%@e>aajx&U(bumaV#&feCfTbK_FQqA?WK88JS=QeJ_j0vqBG^)4X?ti8q4F zLL_j`*Ck1=Ov#=nmogOi8l>;Fx0}N7hUa%z;*(#&-3-Rw6WrLHJr^-6$Ysd(Iu%te zS3JnPRi#%*hp#H2R!jHJoI($Y$5)=M;PhAS%UryFtD1vJ;W-WAq;HSr8L*p5oUbZ; zS~ly<?0$s=Q$`QTbH(>&MZ7&B`EA*p^nwNJ5>Htue9GiFao!~FtfsQXf~1uUwV4*n z%-3qLUuxj}`CMM#=i6Bi1HUZ0hLtj<$M<UF^%&XqGH>`dH}f#tqC1=?pUpGgVxAl- z$XqvN4xhWoH50bumsW7L-CH){!Ix(f<g6|icQKS1`YqEI^t;>o^2e2v4Lcvts$f=` zm3jQ3TY-V53e$<^g1dj56{@Q)^NA$&?`>NkwJtz#lND33+dWGW3yVh$m5UCj-J2pR z`M9gDa<PbsHLuK<<vjDYJe6Eo_Hj}cOZYJfCd=SUbGJP1D-Oz)v<d3lA~KPqck}tR zzE7X}=P&ix(|peGwrr;7f?UB>qL%M_f_>zb4Q$pszREhZ-qJQR(%tPr$fpSo3(9OJ z7<(i$)VF%=uzxe(tI%Q<({2sswU+KODYMF19`E(wh?`#_XMb$E!6j{@=kG%*&PEkZ zwc9EY;J;y+U0|2tt$Be5UTIxg#ukx~+!fG~#It<zl>krIkS{N1)m^fCc{JkY<i7TM zjgri44GK@@%&L%lk$JmP;co^rbECtBixc1b1>N@ga`I2TRl$jqN4*3;x5dai2Pb~! z^JC*wslL+Y!(=$gDkQlvU_<e|j6$i@t*JJT=SNk`c`C2>TD4?W^)|Lz4Ud#1Rb9nO zqId3>Ut9Ha=ds6Iq-^d#RPKKs!rG(pSn{an(*~o}T`QlZ?u%pJ>y_&BK&Fdf=0uM> z79y1u!LwRU`Jb{1+`;qw(~2C1b;aA)+Gm_N@PMbb*w42mS7w{>7ZWz-X(kQfJ!~b% zxc+UGTHPSp&%9jbujk70ChvN|_da?@cUmrBf8(?>@9vAKOec0vFG%3CU1gTX@%HON zZyA|SY^)4&5$aE6tJ6&yJx{VPHO@|X-Zi1nfj9J+@x3LM%1@v7Uz^P5am?`bositV zmRiHt4q`?N55yHV6?@$Fs}>GeYQ01D1!Lg^50MvF>$`2W6nA`ZXPOhc^G*g+y{<%+ z;DujTgC$hd7oLsmS9vhcZ1Rr_d;UD%v1|rUM)7TtYaO9`7})rVEWa&b*)+MYZPkPH zpBBHqFX!kKP2Jq55!1x$dmzch_^ek_+>~_oWrluy4{BfOnK&gppBS)pC-3EjFT+DW zFy@t)i`pc1>WJ8{^E1%cnHGKM#)E<^)$VzG*<L9D=Kt)jXuW%$aen201};5TdzHQ| zjRxh6Q4UOO9w%PE_fQTpeC@&WpFt;mU)`4X`aC<IUt6COIPsYKTBReA9r3ee=G|Cc zG)Y6^WYOWi%tOX~m7<F-wjK-lH79t_#*M{SHlDNQkJ1aAr_4SpP=bXg-E`s8lxfFL z+0Qj--s#=bIDz5&qDNQOiR8%$8UDI_DCNpSkA&iD%eBlz54^H`e|)cZvKGgOvhORy zZ2s(Bb%S~3F;{~IgBg!4|GZ*oX)y5Bzfc$!{-gb=$0?6ntBUsR{re(^!@OQl;<=~> zkEJrhm9^XjP7e}FAAc07l>OxRhI3`klD03>8)s!bFmx)Hf9fwN_}S3n*X0w=m#z2y z3Yp@5Lqly&#M@^RR-RW^z7o8F|K7_#FBsdIKdrj!f8t2e+D$x9%HL_JGssWd;$pP% zNlJ+GyEa))<xeZ6pZ?xk7$AGwK_>a<uUQ-u4D;@0?X<KBStBxc{W<IUsI+pn$7SaZ z&2s4pV6^<cqFf;BpxZfPpIc8GlnYH0jH`u=8@mb<*yFaeda%o8I$6G|3Sdh4&+uzy z_%i?h4D05wo9y;?bl^Ry^7wjJkmnPoD-UK!BnNB#3Se<$u6q7uNyY)|y;_GvB~Sir zkMe8Jczgc2gTMs;hi<o~tT^_l&@WY4?ym-u?H<Oy+7;U8eUg@OE%|y}@_f$aDSY-( z42^BqxqF_}ZOu%wW_!0)eOkk|i&NDV%2zTf^x6NqGD9Fo;?dNAC(ZZwMxOd`<Jpv4 zn=3I~w;9g5HqTkFw1t5$r18_+^Veo5N=WxHeKK|swfu5mLEgy|5-%r)F|{cEZuZUi z_N4F6e}=EGE-}g835h%(cU3cXtE9w#2D>c>GLnw7tPFm8{<(J#9~-NgsmAZU{Gu9q z5_3Mz$`vo1Z&nw0yefF|r8%KLQxE*Q^d=@{68}q&aLL9iJ+tZ<S=;NQ;&q-YueDCj zd-CL~<-$qEc?H#%Ppv$hJTXY)fid5fRXc2$`-6(lI;Squ-Ba%su-w)-j3*^%6|2m} zVi$*y=H^RF9JjVhF0Ht+{#4m~|NN*b_vW*T6OOI!VV>vf-#=we(vnZdjPK18k)Kk! zfMfG{la!L>Mh|x<%THXOsZv!Pl&Yqo%rJ>z`Rd~HcUPRrS;c4MXp`O?%#v!;Bd5is ztlIdX{?|%2bG{>ARx{6eP+)P^K=0YPGr2awK1*6zKi$6Fczmnc*-Z?^O*`ddzOUp; zm&{+WGR(m9<ibr|Z#W#<S1Q|0$xS?5daRyn=aWgAXJ#HuJZI>^W$`58qi5r+4Ixvl z-F)5L*_HdIFbm8psJiTb`n$i$@_7!H%lP+RnBdB?MemVh_<P1%b9OS83r_OCz<1@n z?!FHRi}z(bc-nYE*5jq$lP->vkMj!~5Bv(r+1)64F7vr|1LwiT>=w#jmN+X0lzlwE zaG9ajo=;g}>M|S8C%*h~h4;k4H$`<@E_BR1_|s2pago`)oo~G!&$HU@@A&rXs^2$C zC6q61aWV0UR?Z0gx?;A7@y^33b1pGAhAB2n=)QLroV(+kW)a6Z3-wRGuB5AOvQ%r3 zE2uEJywUN6u@CRdOMOgpin}-`v`?)MlUT5-iNSjFv8tf;XFoOfEjPLIg!#`46{j5! zq<o&pXBAq$^;KtPYtk{FdwcVol9kM2Ioqo`Rx_U$dDwVTgh}^^bGqD)wGzQ|msW^Q z<(VC^sb+B>Z`NVGcXNH6b@p@xIy%3y=i9O3#$$`;A{TBx{=IDC?fqMwUDZsiCKVL- zdu5vmv+&GvDzJF(d#?W2)GqM?*_B0{jQiuR3f}#DtH5&kDF#oK2ZfGF7WtQ#G8mkD zJm<?}i6shiW?4GK{0jCw_-)y{<6glxR=%=aJcUK(b63I7#@ja@&7Rm5w|tJ2Zv*2o zE!R-XQ%%*gdi#@q1o+*n_m5gyASa?{)>EtLdH&jBz7X+zKUckiiU+}rM+D~wUYoH~ z^8I8-3+t->sPaGuj+-p)G1Zd;d&+VyeVkRTcgf+E{rM<{gg5*m%loV@NAyQIJ9>5* z-|q5rIGA+!Ue5&MzAblp?-V<RvmKf=^Mp+LwaLnM^RBQxzc#VxOhB^w@^x94j78EX z_VHQ>SrrF<@|R!<KAiBN{JpcYN6?;vDw!*FYv<MSe_sCOSeDw)a~JAfvMpUSTP4Qa zZ%ey`Y~y2-87EIzh<vzRRFU(m?@Nc0%HPW;*;l;xIdR^0W%WnT#tVP;$9>J<IOcxg z*X0>Ke3tKhb3UHSTs!$w-?AC}%r?!}ySmwTo?mM5e8J+L!ds1ody<#=syiPz_%>)x z>rej}L0<-;O1mop))TMqbyYS_^mnjW$*H{5v|-5v0p1%2EtkfWh`gz}cSZETvl$HP zx-T?2Se{L1NZp&s$7lK4f%o}7doHJnM~!`%>-;nrdpvCTk4>2T$6aln`{~Q`uH0Ym zpT&@Wm$i|haRPsFkXFijz8%N?zTDy40or%zZgD*D`n?7@!yS`<Twu?+lrXO<WU*|P zBu~c*dBY{QmjCE~>i<OerOz<~cF84*t)aySo=xGOKmXeFsdaNo&a!;&3F~0Vn_IbT zBkRp}uENHbUI!Tbqx!d-W-!eAD)+egy+330e}?rwk_?3>m&LX>vEQ>WRdd#Rl{BfU zFSGKz%mr&U4VEY71x0pS7UWqs-hAs(o<8s17NHBh=b}HFbXDB_5j^LE$DdV(T`U*G z;vYVK?e^x<rpa9yCu~X==$U-T<hwX`x$?a!lRVEyi4@OwbZCtUxLc&@A$j7#<;t%M z7&a(hny_h316#%ti*vpV7NzH`LK<oseqBl2z^Cc>MAJ5d@#fDq&6^UB=Uj2WzVXo% zMh8BX#^bgxXPl2J&q<qAA@9ZD)2H#=CfKO>(v-Y+jtg|Gm2HBjPds0hXR$DXZwkXR ziAQ}5=M1}?JRgMA{&i)NxnWZ-vik<_g5)cgEAxEKSt}PLf8w*%<Y4K_w7JxH=Myi3 zwkA9CQu91^8?K@WY`2_>9o8tGdRlxw{?IHA5d+ocv_3Xthc}8(E*DrPX*sQ(zk61^ zPMwL+MXt|hE#zl+RR;F4dxiSU`SNdzkk+T@?IK?k6atR?&1_+w<v9QFwWdp|=a;&< ztJ_uwy_4M)T%PhdvU^H5gY3bKYmXRBxDewEGa^D}<$cRVccXok$9T=kz9I{b`} zdaPPnmv_}j&+<=(1{2@&T+L&S%%bYHzV5r%RV-k!d>gQ>_`pi;;-kh|MOIf#nEBjI zcAn3<vd~R)X-I+P66VlN(#qSP`rJK!xocvBy}|2yv&0L3g{rW`?p?`oV!1g3m!HEb z#`d1P_m?I#Ug}}0Tr9gn%_Y6@D6>jRSD~z-$6@&>PT`eD^;p%TDrH|VF8Caj-h9;c z`dYoLbtXp?8eck`uL>&mRTr5VbFeEx^4ns2Q$06_CEf{cM!Y5g(X%p=c$s}FPR-BH za^lY_`t|EVhE!6$)!azOgDcn*gL#rBr)=}yx$Q~Giqq8>`;6E{j@#Wh>ibTSbJ>G` zB1{Y?m#RGAyXwKvXYp);fpS-#uR`L>_n`@D{9A&y%t>2tKBj-Eg1SwSCZpLK9>!T2 zcY|De+Lq@W)owUYq}gNqnfa&>o1e!r!{d&PJ{*O|_pg<;`?&nM`lZPXR~JoIUKx_| zJJ@X2ER(a|sbT?%Y^?sriUU{8DLrbs$?|oif!vM2>q?9Co6nkTuw~OU+&wvHGNZZ7 z*Rx)m<Uli?fy~VzEUn!o79wXC%$cX@{cB#9(qW5LflN7l;yahUD?Mi=<$LAKoMOKN zdT->aFHK|lx8;D_ov+^)$dsu~?r6P#o^4LVqeaDY3c~lB%-(AqC^#vPy({xpwC;gr zE6>MmSu&|^ZdT*MnFk+SKDgpU%%tUwubn3OxmpWc%&iKUdCPLeqNg3QZJBS5%gnj5 zX@a=&tjvU}%iP7j=NzBUyZ4ou$>Bw&qk30QU*=s6(T2&FW?x?}@~GHHVgBsxFCB{7 z9%<N{SuT_Lx|HRsX@<ljaak=hW>Jj<+m~%K&6L?Ea6aDoWvRr=o=d@3%0xI4)$P5E z?|fb9)%Q0`Xs4wJL*e)SD5s)YP0JUVEfX&_sPWG-4%C;`eA4rLD}$cxM<3ga^Ky4r z?saAGknS>nzSeb4@vQhm4Jvy6aa$Tb&q{o9c?FZ>Bu%qlm-0;VOc>rgYRkEjbAPTy zQRVV8+Ke{AbzA-vdv2S^l-?8EX4vf6!<8Q;rK$L|;?ac1TNU$)-K!i=iF6-l>SBC0 zDQQDc0#_-+gR2~DnGYuV$W|;jJaAT=@ywO8$LC#@w>@jMd<Fw^SAg+ZjR(P=??V_W zmTi3NRh`s$)|z3)iAOX1w4AmIvYRyIYP@u{sI^$0ASX3N<}$m8P;r;*GC%&T8JbF~ z7s~Sb^%S1Z3X^E%SoYxA65VsGGFNW28EA;~?3?oUja5QdQ1P`D&LVPO-jp4+%#1uB z!{x)meb8>o{Vd-*A=MjhnkslLxUyQ#-IQSpf7R4f*;VUUW{Z@X<lL!P)}}sH<infF zB{vv+<Q(Or>e#)qeU<y?cFKJftSiuDR5NgRQ}sJ=cfOyiL&U_R#)Y=8wlI}Vp0(yu zYQxLd9=?plLCo7fUz_8<V_A;n($EFr!fT~#S03ilym8)Swz$F3sJe?MM4m{P>^n5w zpqTfd$OGGqgAzyWw`%v#NQ`1&f9+`ZrTN}O9gZ){^%X$-XVsTV23}gFq;!mZsj3&F zP2rErW}lCHZ8`A&`X4?^nV>#a1@^6M4YF<(OWq!3wtc}^;P7bjQjq}0YtwC#Cj1Tz zRuH#In&ql1s$kAi-Bl{GXr+NrW3v}qW`R~iy2?ktbG({yk9xN-@RTnXK5MQLP{qX{ z&AwF8(sBvAt)|DL1`)=4J;g^QWMBG=Fr*~Uis_rV?D4%ORt7y+wO0<tZkHXn{Ih%} z`X5z~V(^)jZn?Zj<E#Bz231i7hD!;71(LJs8Pa-+-?~{WSQp5?SN+o5`?GwWH9Tb~ zJgQ-nHl>8+>yqyxA`0iD`21xxZ!BuqG4sIE2bavf4EVhmjL)h)c9gle{a%C6JmY&4 znAkKkgcDsgL>9H_B^r7$%gqUhnx}2>j75Ft`MugnP31Mmzbwyr`95558Fx@Z^2BSi z3>Mo>S@2Hen8{_Qrp)7OZTK{V890`0a}V@0x%08f*ij?TQgV6HJXftA{wQt%g=3lQ zvc49V1RdBi4LFw^WSirw7bMYGt6AVHdEU!!%T5=Y06&e;N3*Uf?|5);i<$JqK+rA9 z%NlmvN#Clqa=Ct-=8dC_g?ku%RMHueruIMgQ5X5yw#26J%CjktWkRY~I<n0-c&DG0 zDe@{NC3wfqwua2x4bK{u1oQcd3#Tk+n|)x}JB5<7HjLM1u`n}RZ+2Q}^1eQ*XqK;- z`}M}N<}z27^etPQ=j+>0aJ;HgdHd7A^**!QES62!+38%x_;sneD2FV6Rhg?byTONw z6*nGSdZ%#dv2DhNooy*!mNymp9(e8Wc$SXLp*iz1E!8Hk4&Hp$sCBXW!X+$xnU=?| zHK?%Pn&rP<<gmMmu;S5`jOzD#cfPzfzrmhwi;zL-^3Of#eOr#5vsiNC?X}6yE<05& z?pkOQJh53O<W0oC43$}-4Daq9VD2w=E55dt>k)rdzzxgS9uBX4)kS#9<20>;9dn)p zZ>sLO!07$n_r!beIbAwD0XHAbpV-ycc+}ZRwDY`3u&2nLq`tsne#v9i0bG}jT$xQS zX$osH$X9X7u2M^$*mzX-*P|7j?0Z?7eb2x4<;hTUYI3w(yk2cqRp2>G6BgII(^fjl zvKnt+YBJejmR!aAz|XTZAMj1#y_0@+p1a7`pLL1Xdbo`HG=y_1EG=Go&dXfz-9-3a zBi~u+jn^moNIbtbUE-`uLq!tj<1VMlC9kyXTGID&@=uv!=Bt@gvW#`9_K(X?b;>@@ z%RJhrwaxI-Qj7QQ8W$e<*KNsH`Q)iI^JN#OdRLje##4*eL2N9^mfu!5KI(Zk!^G$8 zjbN)em&<vQWveeWSv?mK@|=}cP_cY9Lsi=1lj;*MTwqz)@uJX=<=2&n<ve{`Z5DXX z_lo`TXp!zjH(wLxlV=qkls=oW++_9!zsyF9=P!K^sLfg;WO>y7ef0(AhR1zV-Z8$O zm5@+XpmE+NFhMme=Fj1-2~!UyhHg(5*?GQdx`1l(1?H}_$Me^kY+q|!zEj@I(rsp< z^!xOllBH={J6AZTd?@zQIb$JdqA~T1@7~4-m!^HUT=it$UCqM`k1dy<@=iJWu`8g` z@<|Bq<etDCeVHao$K3O#d_3^$s_oyMB7cuBU+UU6(>j4G>$!5@UM<__d-eWqIXq+I zZW*~Rj|vL>wD!4KJvZsT)+o-YfAT-W*Go^*76$kEDkjfjnDOP=%=fPY+by+UdPRsH z{JMZMIUpr}w&iiTDbHBSm$BOj-kPxSWzX*mEQe*!Uz+%#!0^%px#A1;^D>m1_k4Wq zz-z%SyP`}c_jzA!ukq9edLLi;dT%jmp6IwRn!WIRR$W#4%9UI@9#_a63FhLDxxnBw ziR-J#J0l|tnctT^4n9ch{rUSa(=rFGNqqeNQBxAqciJy?zq-jPxM_o;<4IEm`>Ou6 z+7`dK*7-g5)7f8cX~Jl=@zwsd3^IR?EsS9jtW>{p>D}8|WlTOz1sbp1O$BT&bIVO> z*djH5ul4%Zq0A}8CzhtMJl%h&LAOBI@_koctzTh4-ub)oQ!S${7jU{UNUw_BabD&M z&taK=BA<R2SS(;YAS2WG)`vk;MX30)?Mlw`Zg)L*XUTj$|I+V(SHtslTD}K9&YK!t z$!=oPb9RT^jYS7y!enMi9thRqntV`h*{aHR>CCkXFDlP36=S-_U~kAU%jtmJ{)Zvk z-%2+w&pTh0$(T8Ra`OZ&+dp3qeqC|U@|M*VpIVJVrbP9`piYnHdjol_dM@5C)eG9$ z%V_t0&z|~unX46pCtts|vi-n;rFZJ3YL<#$3#c?Tn87^p(q_?4c3EEy9sl?$OD~U$ znYEieHhn&MHX!WDoQbn$7B@CuTC(W2&yv#9%=7l{)%<wA)h%Xq`T4ye_wIhsJav34 zLk1iBgo483OZAEt%Wd_s<eqly)&}|cOBs9&gWgH3+TB<A-h0lcOcU0P`YYIfUaouf zDT^&(zM=KLDXab-br62<!((o@RYR7qIP~y4?YFaLM({j&EFzv1bokxZqu$aV+>7kJ zmLIe>zC5Qk%i)1wz=hK~j8Cqlvb_-w=&Z0@!dLgs>iH}k*7<YYPdW8`mAPchXU^DE z@%2yE#@baP1^Z7eGD_daVZ)WlIZcAe>{rPOug2T21I16=-SaE?-ppra1~>2CH!V}_ zPv8`lV-{{a@jfsw>Fo<EDbbCe)7OUf98Z?`_GR&t6Y7okMaBN@cz@Jj<3IURa~q~J z{Ab|2J8$P>k*kkYsxFty&z`@>@XN1YM~1%|jKBL;^qE(FSsJjs;OmN;GiPqT{%LXj zd&_qkOb%|9FD#ZwEK6a^xcjNW;;2bOzzH|ETE6PwW|_}D^Pgzx&zRh|V;OU^?*bh* zK51pUG|Tr#ZRF?9wmiW+YYiuRrl{7RojQka@NHG_@K-5a!m}jr>-#|QBsbfaJHPx{ z!IabFUR7ZlZ=t>AxovH)^|RxrmiE__{kp(9b+YWMP@B@T0Vm=f7Ke$e$U9k>Fs5v@ zkK4k2;Hcy0hmOxPm`$z~AL{$6%UEV<Hu;4WSFk!m+3OJQ+&U|B|3gdeM9k@5s?BIv zDq*rOlR@<B6M3(-2Xcyi(v+7+EiKSB3|F_;dc1wDX}7t9#rMBiJCggVg5;|DtS&R1 zNN}^)syOia-s1Qf$(LuvUVJcBy>E+Hr?Xa1YF+zUeTfsVeZp8CuQb^yYn8r~;iA$U z!5zGNH~Iyb%iag=@^50e{o_)j<nIHMEMFf@^X=UD=cTAPgPdDcRlxG%grZtar%85! z^Zxt}i1={&3h&{|*OoB%&+gCaEV^59*7Kajf-Tkxa#ME5`m-&zYg&3jfv?!%=uZQS z=RdFX9B43LG|_x~UF3nt<a<j`u(-q(S-y3j!XEy9PV)N4K@VrNGS4ddWGSk8RPfCS zQw=8u#f|-04h-)cR(1qgeSPbgr4sGNEIjG{^I7p4jZ<IMW`&$9;A8dPeyyo%x5EME zXOEVK1Ztc(HKE?_s?n;RTpj<Ko{*jeMSFi&1(<XgZY`)>`f0|_7}?hc89w?Ycv?O- z`6!bbUap+4Ad>)EHW|(rv`ceBdPD6G+1gAV)nMHw<0~bry*GSdV>Lg`{`}y1pRz@d zG$q{L9(eM*WT{p&yUgUS`KMUgj!9oAS#sFup@W6Z^R41cHms)>JmH!DamC`}46Am@ zE%<6`=QYW%O7zzi7DEM@TKD*4GkGl3-~Cy<OtYC`ou@Lp<<cpe9`iWZHm=}IaIh5# zNINciu70k=ftF+U*ngh&-~IIX%fQ_UGG9zCbiI`}i})%b%Iu~Ua9r-+l(#ny%C0)9 zw6L3b{lfqOhI3k<4H9>J{T1RMU|=D+yojrrcWYJ3qZ!2~W!*)y^Z07D%zT6=H(u}B z7_-KRO>9Q={Iy=;_9baeO-+*QrsmAezPA{UGBf<m5Kivu$y4tNaxgi3%=oOb{IRAy zc9s;u<8oiFNj%`MVq;gEZntH!z*Uyg*Wrp2*kw0{emwU6*aU+BhxeX~E}PaoY&yQY zYU4gL<`try&&(wsEe*@txioRMs=#yp##hx>m@S@fUz+xJ;r5#4vu5he|MB}*kW}h{ zQ+1*0ALXx2VSL$8Rp>EUxqr@E=38@~7qXW<yw!A>$>^Z?`kG(CUJaQAoX3jiRlfEp za+EIYV#t&fk&9@`bWka(DqHqs;-uP-4!kUKBDvpQd%n_KBKXzh$-8LgS5-kd?4r55 z8|8gI{|t6e_;c5PsqfR3&lfWPyd=X{tJ!dOXK>%$l^b^^sT_0D{9SSPwWGAd?d$vh zGek8=-B9j7)i{Bz;_K1_Ig9yhi|_S$aIx3zYibbgt93Q#N#L`-yluZl%(@DNE(Z>I zgF98}mtQ;ZhTgJx?RTr7oG0WqqkP;|`RQA~=W7`DS)RYvps3Iz^Pp_0cH>#ipLL)5 zsxQr%)3<XW-w_8!=XCZB>~ep8Uz*tb<MNDr-FYp~w&)!WXZd|;PV+>s`xBSs%z3-O zm#gr5zbPBrqZb~w{QIx1F=Lc`yi`%rrhG*Tk7C`6m)DtQh<*@xBJVXh<I7RrlP~84 zG0D%+w_&`$SGl&>nXmYq<NIG1C+~RZW?Ox&gDp2ksCa(<YhRnk`?P%KuQivE31BXq z#r5lh=3_~QFYi5e@3?!8-|h>;<vF>syMop;KRf=|_ou(bf=_%JOzwAf$nt+#Au+FM z?i?Axqb!f}B~HHno59x6R-U|Ga=GyQX|wKDEIn?)JnxI}Dc%WXzta{U<bCb0(mzA) z#;;&c<(>~3e1ZJe7FqW(s$98otenU2r3YJvN_Ly7U(teO`M*^R3}%ndOBebp_f=o6 zs=b%7fmh+Nvh;qdvdg_!-mf*@q1+R|RHCr*z{{YXz8%jmEwHeWt33ZWh=(WlPo{}l zt8(+asbYSQI8H2o^7%$7`?bEp=6g#Qv7GwyK2YpAi=dwbdzraZwz*H}0ygDWT1t*@ z{T>wGnq?t(Y^}(IC3@_yJ=ok&d)<)D40(6%Ug7JbMlH9B&%X@%u-x{gyM)q=h}wJe z?rjmcarf{_$v>IW&zNPH-}@>n&no7BXzMPqVB>;TmU{90e|yy`U;48)+<fVy{G<3% z1MgwwIp08+K1^7w*7N6Z7tgVj=XO(-dcLfP*l+D%@pWZVQr(Z^mm1`5J577<lfRUu zdETQ%x(B{5$mDx{)<UqaVp)G;SD8WOvxW=@#^YNVn5UaOKE7jF%J;Vpt>^zUM9o=j zdDd~qJYKH_6R%4wV1K}TVwtE8)3jS|euZ;>2R&;$W{|<SAh_(|re#w~9(;azYqE6# zE9*k@x-C2(w{QRXZ0gSEGQTc+3+$A+ASBy%{A~ZB37;=_1$oK@<(~7e;*jn?)Vt*4 ztO-xJGM+qYklxNdxvQ!n;`32O=GPu>?j{Vye#|Ck8u+S9ma;W4A6$~e@NCXumb_PY zH4kXMywo7G%8fa=>yk|0mYMc*88mO%Z8>Clnk!%7^I3~IeUD!|tl{nX^4g8zeSdyb zS@HEb!O|<#moh8Ao)g44&((HHL2ah>wFJ}YeVM%%%2#?lNx5v5yx(HAgKfxq_5E3O z|E?IDnSE^Zk$HY?hEU2k`&Pw+61JH$l~+Eva9D()<h7$pu`m11#XVQHF-=oR-s(Pw zZ>xgcR!L^v#_J20&1la%Ve^;OWb!f1H3tOPm)A!HEcty|;?m8W<ohPV$3=D=HMZNU z!N_ZF_vKL$!!bj5$=}WMzHm7SPq5XTBD=fa=0b6wh61boOCPx}4?Ngq0+=4iADcOg z@#I;3xw#n(Dh#$iR@~UY(s*gUM?uB;hYo@h3f<U>H2-KWIVr+$?4+&5lH*xZp09PY zw_2LmCsVTY(d6}B1xpS+TJ>nU&F|pjO0xqM*)k<J-)i=?Ua7z{(dXoW=d<bzJyu08 z&s(;|b&0V}^`+9493p2zo1KzHo=UuTJZkC2Zpt%TXc@a#wcMAP^1UuczAjOWJXiMZ z>#|8wi_;D>zV>6kyp@5a*u%)`>r!@;;wu+ePVJQ5n^h9PRu!U=ReL})-*4-jB~fw_ zf9vO(b{-dLewHK0D01Myb7hv0wQhzp8<vJG>^SN^`Py0qxwo@AQh1kKZm%+&RkOfN zJmc}KAd9me>}%bQ|EOZT{GVZc2-CY|)6^#X3TiTLcHo?q_juk`#URUN0vd`NP8&XX z{@UxfN}&(C$b*A@z6>+ATzm4-&+g0lwIP8CY?+JKWuDt>P_g7!DCe}~B)imCZW?JT zraVZSxbtPeLBs0HZT!wY472Jk&)K-<mc*PO!@pWitZo4%OHA5?&t=F5xk?;3UX`J2 z!cl1XTx2f)R*@acm;&8wGfx?5ok%Wwep}=b!)x#DB4$<ric=Q)XZ7|f)C4eDtmrsy zoB8BYS_9*y=JQbnk|HyXGDsX)V$$+>slu}c=A&j)p8O6jo@af5`Ixcavc9UW!j}%W z__kb%w!4zP-K)^z!3Bj^Y*xV=kD5*4VtT;&{;c<>##hx{2~2Y=6fUGG7g?+@D#|)| z!Y0JWo{QVr@%%$C&&3L*OP5?YHu=^BQFfl&wJ!@ep9FUt&kAGHJowUs-EvWvsj=(? zO~;c@(!0{x<}oaJ$86l_{oe2Pyeo+t8#Fcu8Y(Y%)aS1>zdy=%@6iYjb`i#==(P-j zeh1GoC_bC8nD1^@!j@8-Nf}H#<EnykR<jgtn^Cmy-`5NluEG<`Cf=Jr*}Lb<QpIJ? zyV*rGvU(4mRXCqDE%Y?=R`1q-%G*}0v_E>(V-rJGu)-7ui*uRxHC_fzV_&H>d(JGG zhQb7^keovk+p2=So_9^)y<s!|(1iJiW{F!Ye-OZIp1jnfcarA5$a9`2mggQgYZsua z{iydU$H{NYdAb~I{${ROGN-w#>XSiMU=!1q1ss}OJy(u;^+)mfTgn8m7RuG7zI-3_ z_RCVq^Co{T<**69?+Fq;c6Sfoe}>0FsczBhG9FyH(`L-WdECpu<M~<-c9Xr;NfSC6 zzAT@r@a0b?2k6qtFALb2>bpf2v(296;8*A%Bx3o{Pjk1&v!$mSKg~*e_~Qa|k;D0{ z9y@=TMt}8Ni{-8`thu*WQ*`4|>kOOHr8la1F7J^4f8h_m%%zXB{0_~jkX*o~YrWpf zZ_2&mqYNHma~pkG=4oElVQ4&SywzTEiSjH<hg7}FlW)Bn=LEf#^_5v5-Dwk06~M4` z*#sVj%O4xvG(-*r7<)O0EVekF#lM!f;SN)wN9N(RR?BB_6#6Y^Jj+tPcm~Iz&u*7r z`z>XdwP>fyf=jc!IJulOj@xE>Bwh$${B?;<R>M|v#{%|?x2A@?J?Cn{<=Jq`cI6Yk zWs{d02+O|IJUsu<T*sIrDQS}>mOuWwT+ZSs;~95{*RQ=BXE7>V@L0m=;ihrEs?70E z2IHbBjot^&8oze<*}PPPVP3{j`Bvs<GW;f6F2D6>Hrd%c!|~*D)~`#sSaq!@DKgD< z&kBA1Or#;#vhuaN<+BMqm!;$mTb>X0(p<jOl&{EEL+|moPZ`Iv_~TeLOoVP+JIm1J z<Y94?UE)!jr<&~#k%z~<`j@Lsw|wcCG2L#<IbQX=%$CPXnUc4CeC=EF#box*M^i)i zGE|)B1V~Nacvj-k<OG|l%Z0nw%3NSv!RRN}RQQ=IJ$~=4c}7*2T{H9^X#QPgVC)es z8nf_}=4)RQVaK;!)4DdCo5K9_a?})44js?kHjMspTRD>UYF656oyeHql_;@{=Q-Ql za~2C682@M%clq5srpe3TInn>b%fR%W!1GyUCQi>yZk1hr?JHxdl)^mO&H7T~#A|a8 zE||EyFLPnz(!4KMkFu&*&7D;Ha?X|6y{r*@PILDbdQ`an&HS<8QKN}_mk-a!pyW?W zRQR^)PMXnJkdbq7_dHgXuPgN)p0jw?*f)i7mV=w-GUtSwYIBNT``kTiUAW3eNO-wO z%jKx1wf*&8$xmgk&D}2V<r>2ySNrl$pH`&O1FnLj=F6k}3cG}*WIWU*mYG{Fp5^oT zto1a7M|0<UIX2I7_L+9XrmN@yPjKbZn8`<3`d@pvRV@4ZZ0`BT4!m}4{drS%oWJ+l zE97~z14qcjgNs+1>`-5x#aHa`PJgSu$b#}EU+t!_9#QDqa-qQRrQf+CO+$yaC-b&E zWpvX}w$(Uhb%A9;QctjX+6>S0QS3zl8Ye`~%*yk89n!e*=}T_rYm03)9Uc_>9g^Kq zy43Q-5|IZx&sBwN3D;PVHuus5o<i?0E6X$$lCOMS@a3rDfj=3x77H0xHy&SWy<g<w z<ypafR}N(J6jhv6JjSXmmH7J0f)#yt-7=T2EA~6)rlApFU@5|Cw^hy7SMdS!1u2%B za+l|29w=d(-k|AuxX_V-QRZ@+t8w8{b{i>%`ruiy2Ua~u==&-lsZv$!ckF`o^ZCoK zHOTl?E^A{qIXJ06<G85~rxB~cgG<6^6;D{2tYcX{CvA%Gy~XMlOL^T5gaqzwdAj0z z5$B`16RNJpu;<BpWhTzAkMfcC%9PuyvBU6hyUB7{tKYwZ{Vg8wFSYnrqQ<~iA+q2y zzq(q_L?6!Ps*7`qvh<4`56GTnu&>YZz4QA@b>%tDhlLLOIuTD-I?7Kqn0VoG5#xh7 z)n8XWWy-y>RUjebq}-PoV&)0OUedBzGSAnl6<(Vl&OAr>Wgru~-&eV3HYH0;7%d8? zeS7W4V|ZC|1z*{d`mZk!PrTNk#yd%*e0lz@%4Z9CTa{(2e+6?FUTa(u)iY1r(r(MQ z9InN?EfSCV@JlRD{4~w@{<Z1lYOC9yzx0UdyV9j2eDL|KjKtTo+RvQTt8VmMpw55t z;F3G6h8;?ab^MtobqE;?x4m`R$Y56Ye);DW|F&ExocP*TLG5Q@<Bz|YyEkOEOsaS= z%i+kZq<xD|o_rEACwbzmo;gjdJXKWzYA4GR()YUWZLld>a)(2OFLQatgPxT1SvrAc z@7(S^Hfedz@Sow=D!qEC;+m~I;d0W<Yc0%A`BloUGD)0!_5{PFlw?cA-GxU@8aJKV zG>N<H%d+Q_3cGsJug@w_w>z}LbCR}9RaaqQ)0%qb(Ag}Hmuj9oR{3SwMCXIHEBR#^ z<)iWn_$5}H7P5E}{FEs*sa)f6#$8_>4)!Y{>GSsdzO=1?-+@ijg!%aO4@=qSa5WZ0 zyvr#(er<_-oF=2u1goG1&ewq{7vyDEF!@<7+i*-nQf1CZXGPhAzk)X~9%WX!B<JQX z(yT1E_ob*%f`^1i1FNM?SJs>lnI5{IE(9!);WG?wo_K8rADe$v(Imf%jtdnf0^BW4 zH6ATszVK|RQ&yCNw{+t6l0U{lY?j>DUkCCu)b5|EVUt??)l|WECST>_?V#0aYYvxH z@wM-DvcB|}9n=+74^v^2kD6R?zIaxPWe{Jb2-9Jm<vi6FSbIu!-1vRUmfD6^K3W*$ z@pI=<8;h?`LOxAB<2{Mpwl>qbl;LyWh8Naf|7bEZ@mZWa@l9l>`x%Rkf%CpBY&dRf zvBLlS<+)oLKF-^*{FL=1Hu;j;TfH-$cV(u@Y_qg&b$eHF;P}s1nKz~#5T3{Hl`SN_ zE^{Vx!IO7?c}-@e<xXa|IJn}%Bv0k1vcATJOf#=rzPjt4*u|+T>%LU+@yBIi2VWmm z7ASoCBY>r$?Lqm{<m-J+i|>>d{|qiFPhVl%@5L}7*Y<n0e3Xx7ZbRAc`<G_@5uU?* zxo^tM{|sLPm~Tt`zG)w)=`M0i(a+G)^1H}orsT#sa@Ha03_{iuyUHTwu0AjMXnK=v z#xvn0CXVG|7AtNm^vErj_pb^)HGlqwW44vAzb?^B^fOQ2{%Ofsn+-2CUf+M|=<LS% z{e0AnIg_{Vuj<iYnE2!Jm2{Z^mM)P#ky+DanJy_FII#5mcR%(jhN1?$k0+LWSg_%> z@7?>C=5V_>&*QKZVMzG6do`b?151#QU3|{JEqNACdIFfH-eP<kI928IQEP>j@4M1C zUU2-nz%=#oQcI_aFMY$<SDs(+#%`+G+v8mf43<YNHm2S>zSQ_x@^SlK1|y?)59ZDM zvS9Z#k$>OM1fSCsNtSC~s$pT9>8=-2+;?xwY$+zj$2M0QlGiI=YA{zTJZBZOAz}9P zjZ6#JS8bA+*z@^|r~+5@V_RPLEz=Htkw1TJ8TY5p*KKQ8NI5Vb_euZyefhd7xhvgs ziZA~P>0&&;Qbf$q@t8c9e^rIw&6h7<2Pb;6%Ua91nkO(!eSH1aGG~vXb!?6@|4OY^ zH*T53{8K7PlSP01&)2~^DfM!Nw?%oUOlU2Cz&t0R(Cv^XUscGdxf_Eze$T7hw<YGH zlH44|IhVf)8HqH$zO~Hb>fZB(FKV?89V(k+cBg8d#xq@)6~a4gq^75z-tmcD)G%<* z^Y`UUO9dw}^~d}(wK=?z?LtL>o8=OXyM;HdwNEKBKEGGm>WzBe&X+$zcJeHL;uSD~ z@qFQ}3G3JlFC>3j{miB-u|x30iSH|)F-`1QW}T7}QY~M9@6>~TZ0n607H6Cnm0C4< zPT(1y#R?4lRe6_tnm>K9kJ=HwQNGv7@t9$&%vH6tpwxtiQywt-DzE&r>P&;!o$8Wr ztIqIMzKl|HR;V$vczOQ%jVml0jw?L>EFU#@huqi5&bao8um5Jw+~~&nc&V$JU$KAC z9?b&xm~Uqdr%&=cSNUviOQ?>!UxrRq|EVR3&94Is?6Q^?rMMiK+}FNV?b*wDwlB|Y zGFJ`H{Jx@W0%sZfyelVCRvq9E^hr{-p1hj>(hP3RpEFqB`I_#_Nq8=QX{8ZcW1r)* z<~f1a7aaexB<H()YXHN`^CB~NKYg5F?5iSBY4hdFvfPuF{~5ksP-AKK{S~}%a^tlL zc`rCj1l%f?@}97Kd2No!rnz?}UTQt|c=vv<Fh=t^f`8vX^|E?2ndPaw<N~I;eP50> z?2z5uCFJwimVGVz6N|qYGAVq9*Y7pW)V4_SkYIT(Dm{7k(+5?-#go4*4ZCBoq-G0G z!Gvk-?;daearMVj-2-bb9p>>5yfv>!r0>X;PrcF;?cC28hr90Cl-e}a@fE+_)n1l$ zlNICqihqXhs3<>nPhsDNzFUX=x9kw$U9u&6N6%NA;;$=BJU+GcUVrwf<BP<z#bPHL z{B_)YY7XDHzEAafx3}3@wHrc}(#FkikB0Az7qrwbTpYDB?_oi`mY?gVc_O-9e98F- zf?b3)Qxy_-Kb}|n`bO0G(E8cGbv)<4`=H4;eFe|^i_YnDm@3%sO`gOqe4<C3^<a*u z#IHvSGG@0(p0HdWZznq~^^S=e^Uga}e>LowuBll1N)_4fvRHbq(cx2A=Z(Z*<-Kmg z+585D7p`xpKO|_Au;rKBf_3)0+e9utcwKaV@8$Q4>^>U)3#s<_F0c7SE?6kW=+B&a z{~0=#SNi<4nfku5FZ)J&(^|=$ZEu(_{8UN)vO?{H-K=Jzvx@d_-469<?4I<fQhw6Y z=$`p`nqo$E-`VzB{*fu--SaB6_|sIIzuA_1<ZIfW^4xr<oTN2n!cIR4_fK;^&eIYL zKW}OIde#^IAI@I`jFffXZs~s>s{UcyTJbX%1oqv{oU*9kna(_S|0sVg-<uW(B_ChE zw5#mGyXlrazy3U0?YY!v6}OA$yR!cbQS8YK>uS%st$xLEd~I&GrgPzqCo=U`!O0pY zwaVt*c>mgahE8%W@8y@XLRxqHd;dC$?dB%8%M)MlYTer0u=5ySf#X@uu46^bd*;8J zQ=7TGZ|XW7nVwerev$hd&hA+0KV7y+vvaXLi_CT}=RG{n^Qx~cjuKVy;9%cp6<WV( zn!Wzn`F>M4k1SZ+c<xQP&9heLXAF1vuUtLIf6DXchJwNi@?K%v5@v5aVN?I>)rB>w z3TZ({z9bp?t2!L~v+C3`2fz8(rbJuyvDrr@X|9?)r`YcnTk*Z+zm1>dN&cz|-m~%4 z+XH!ZQ)0Lp7@`Z8{48Qz?PgSXy>F-NN~UH07RQTSk0))62@;&ARW$QpoU4g@Lw(2B zN0SqicCUES=j$fwXCAs(F2v}A=4`%7nSdExPo3p7&E^$fHcdYL%DpNvc5yM^k7a5u zcWaMYtYbLv){l9+<*(px+Z_*nU%k^z;juEa-2N!D&)e;Ly)J%#mAOP<XX1Mw7q4}U z$xX(WcYI$l!|dbaurB^RZk{5CcGzvzZ8)%oQ?b0x<X%=@@qwdmb$JDDS`OWEQ{MT- zGlpO5*V(>-eb$6NNq>b|9Lcg=59HThk?Nf@dHaTyGc*sU^xglrt4HIG<Sw3PjY|xe zzfWKBB*<JRB6;571>crxv7fqfse-q$r?Ju3sO48s-<I5i2cJ#RczxrlnNNG!^L6!J zc~^5DJicu5G_KgA?)@nvUK25?iU$*JzQ5GO_RcMHcf^DpFOOO@S-f|2_OmWoaZ=@j zg{Y>?@5_D<4E&iI&D<x?>GFGiY5KzRYdu2PBy*Z?b#pG#NhtK*8IrnV>8->2G|Tw* zW{7qiWPf)#LgvfLoeu(go;I9i_DHzf^MJpq!bYe%xNt|hgvlrN%Y7LdJsU;tTs&84 z@^<;HX2Tihqv{weWit-4+paABb%BXZ@>g*2ahXe#znEOO+xYzQtp=wR%u6-nzT97G zuTXRIQPWm|$6fu*^Zw0`s>@uu<3WJhu_k-LpeKA)SF-APE`Qz{x%u+;wM^pcqYUR~ z8D6*~eB6ZL>d&1vL4vawEZ@2nR9#>w@IPaqY4#v#?#U$~mOT9a*BXS?WqK}8NvR45 zSGcr7gwd!cu{|sCSaF}GTSgK;Q-j2fx4t%Co;5c)ynOF_uI?>^rh5MAYi$-5i}$KA zJZj+EtMTH_<(2cz*!=6}Ut4s*bB9!(gRRx&3bxjBRY|jU2t5{+vplgp|9oIq%LJ{4 zx+2XxA(2n`ug%%{KHxy`tjrhgYc0N>6zOd`qN^ZfeA%Ss<K;#-js=s7mM>o#<+9E7 zy87*|0-IvLgvAR_EMt2mHDjH%T)U{8)srW`gE#R9dd?|*>2P_+#iNRra#KEnu6NE1 zwXIx`%aeTEE5I|3&3~<QS^tzelbOe5iyfK1GTUbIYMzW^l=!;jz`0@vRz(YorLPYz zZam8%DrvFw9Iv^g+!ls6&)1s>@JBKA?mSn!vh3rv29acuvkT-bRx&L6JV)?naDqnQ zt%<un-kVbB6+O#A!$PE}LL}Mb*l}kEjswDzZ_VR)>vN3n^2=EX>J0OI89b^ki5)-v z+9N{P&GFH!<Q>Ad_nPjoTweMh*uylO?KtzSDTN0Qu9%S4V_>Tl(J3wSJJ^WVp5;?! zdvk*(!?7@x;sY-|drDVYeRShxQ0kf+yiH3r&i2)#bPHQ8X(@*l?3QOe8x}VFQ$8zi zCc?jK=bw!7pBB%SY*KQod>zQc>~FVk$|3i-EeAK`l&$#ebwh3O$-L&JQ7+4@Eo}?E zI7BWUcXYeu=gOyUa)?u8zNWh5qn@t|4WvSvC;Q)>e`rR9tmpZ)>dr?4gz`?TxUIh4 z|JoFN+src#pleGyHyCf9_$sq^@};G}4^7T@c9<l<<Z3<d%G{TKwH8_TN+$bc)%{74 zaz5|1u$YIXD`w6m;aPsw*Alw59!M4D%<0?8^`vC^^X*=eDGNJA_HGVrTgp4DoA0q~ z^<}fVE#FR_w+U*zY|>(W`tjshO!Jm+wd`s<YLfE#)>?*{mfuBYf4cW<!m}C1w`O$y z>XDl&Ez^8!y1K-I9-eOtq69WF&9X36W_)?nc*mnASEb$^%NhL+9*^41aPCS<iAhV^ zguX)01-y$UJZj41d^U-3$Fs>I@7Jo=X&neC_I_3DVf!MliYF+eT%6r{x0Dm(YmdEI zzRR~d>Q4M(6V&W|Z2}jEjI_vu;y~FOCaaG!_)d0bp6sA(b7_7Q+e~RqdxN(gZd$Ik zZWbnosslogeRRt-s`~cUtM-L(ayeJvd%v5riq_kFbX0aQRS4|4^q_RH38R8ckX&nf zo~Fo?F6oKKMHpJj7BkKAFj?hZm%;Gs;!$g5k#_bjhQPi8OOs0xwVGFYG8kvR_04%U zy?m*fqum#VV-g2Nb}mhvH+SWdlncxse9f0fRh)Q#)a1DdgIrjH@udkevkD(AJ;JW% zR{d;BgSAxJ<9l=GG)}&>ggx2h(vDY}=A~zC(yuir=e)ha@OsYoB?lkdzKY@d@}@4- zli|X?EpL*y%WVm2oP6AF-j~~qPS2VQ+^j-o+$wP6T=3vpZlj>J|5|I?73X|4eTst% zgl&RWp3icgb9p*LbI5_9E&G~glneQ<)$@E+*ww(pe4A+kgXZ&zfg8?g2s<|_@3q)? z;>-KjfudaHQgys6+*cm;E^7@ko`2@@b{^rE4uTVXPfFen5}vqgM%la!#&WqrN1Nnp zjg8(DDi^RZ_?s#<@o_wxRk_3_sX^63-tfI|nxuq<$elT?ayysao|nP=|KcCPw`Ubh zmZZ(@Vkmqzi$Uby;x6AU3=2Mb`#hU}c`1Vpm)rNHcYSTXE?|*7Zkw@m$x8<YhOY}4 zG$fWDeCxpJUd3?Kf@c<c!ui*Jzk;1Udld&AQRB-z>hWNfL-nk3Q3c}#k0yL}JXZ12 z^U_KMKL4#E!5yn~4HwM!imSTRcs{C(mBq-a{OrBy8Lu4_gzq&7=V~yUH10U6m%(^A zzb@mv$OT`;FK1O6`2Djo?Y=z7Nd3Bu*<Dui@I*feh5(KQY;8xSd-aSRgXd|QF=v>( zsSftD4vEn*dA`-6K-1&6(qxe<Z4=V>>PN){eOYy-W&xuL<CQD@0%6)a%&fZ-@(ft* z7k)V_)pdwP<V`{VAHPWZte8b&Q{<y^nP#QlnB0@p<fdtRR%4mr{HV~^N3ELJY&8^| zjD3%3zR*1CxWL6}$+4<nu1k-ZyBIjWn%w(yslk``x~UOk@sCSAT?vV^CVJSqnw;vG zdB-?#-d4*467K^n9(Sci#2LQ#XWt&x>1#jlu7<eAt2&DnpV&n{c*akgEUt0+)ApDy z?n{O$ml(2wMB5o>P55Bw6SpV$3fmv8DJ}+uXU)GZ-_D-@I&kB2kyFlv6I~?^d|hgB zmX&kMe+E%?|6@xYi!fv`F6en|s_~#YNPzP}K#@38qlua(=Mt95UU$AeYAouUd}*rF ze+Hp<{~2sE4=|YrNik1hD?A?MdUC1qwZ5r~oK@cXD$88@{B`NCD~2WpGJ)5-GLKuz z{JMPQS6?QlVh^vIk=2#AF9T*xJ1xgAvU6GAmdEq16f-QCH*d<Dd5;#qKkqeNY3|9% z0?%cF{oYhxnzpQQ_fnSbc?^ps?aLZ0S9<mBe75X>`}SP--ItbHuDB7Hz*80A$Exx2 z>oR*UVJ&5MwIwl+XC?gJxxCLc+|c>B4Of6)=I%ZV$;Fl{jG2y2neUZvt6A6_Hi3K2 z*JT$BGQKSfH%Q+qA+qnw%movUTJRKmi1%e4zSO{YR#(kp>G7ou_DoGXUV1EOoMv;u zQ#ONf%bu?*Zp^c_zA{H{xyXTnmp)6+Y2J}?)tJb)<)J_KyeSJE!c-pgHD7D|)bnVT zhmF+aAC-?5OR6;%b@{Q|u3V53a+Kkiho$7>t%e);Mc6gv6)yF31@SKznZ5JdvQBZi zMHAbr>Vt!FPpsM*sK9=Csr|eyXZJi_s}XekMu>>T<UZ@*UzgoDPIWORxmhrEGdzoT zKB{OT@~F5WbNOor&Xcb_CmEm1WIXX`Y6$<#ei4Q@>61MeO}>gO%#cdvntW+a;g1VN z)&Y$9OU1d{-gG%tFnn9`qGIW*0#{uY#+BSWpS`;{B$qL09?V>9`Ff)NuK)&PFYlzD zx3-*TH6Jx7D>Iugc$%s^zsMBb{r3FE6*(N&=UrL8Ec0}Or?T>;iPLQ^F&cVlG9I-T zVOa3d-6XkjR>5~uF9nknxh*rlE<JA2!^Ur`@syF_`K+MZptZ;^ee<W!%4E=Hs?|JW z;BUEXQgK)CN%iGf32K?knWn6ib${*0710yGJaxmCElb7A{c1BM5*y{qWiBv1w)@f| zP*v!zzVZ7~mFImLQZBVt!5h6BuYAhXifun-!E@P>$H*%9;6b)os|vd&xuoUq?X!=n zD>C#uRw=8w+wbk%mp53#k9tVRd|TnTlEL;@5ToN+MGLzty>lL$G%Gb-`1n5P34^cW zoU(%^JJ~J%XiYe2#2(du=ES49O_j2&#>$q9r?3mRF)iWYmpJ%!#V1~igr+Qqfa6Oo zc&^k3`b9C!NGMyp)-+-szn9xN|C|eIM{QQ-JpOrc3*Y=!1AW`9n3SRnAqfkaOHz~b z*w>mg`a8{($oX<&xnh7Hzxwv25+=eE7H_(wy0Q9lpV_o8%laG_?ufI#lrceO{Z>7T zlkciSl35+{wmbl>P3C96KP&bI+w3`yWmi@gUTY8#ygv8tDu<$?EV)0Ir#xEAYk1a2 z$5-$1?Pd=)qw33=Mt-a&D?%l6o=q<1pDy{YWWmQ%4}OIh_6Aw36#33<zt&jhO2amT zEe(m5c3&8OTzaeU`QDt>=U8JKLK8gSxLOw+m(Aq6`ubWAQ|1k}`B@c`%on~c&VT58 z%+EM-%0zVu%h&Vl=52ZCBfr$v^O!HI;^FmP6%5R`rts8i7I-|GZn&V)(Zaz~{<*2r z=G?dafo{@@Q>MtW?_aTmtGeXN$|9y9&M4O;KK7_k_TP7c5A{rCpX|iAs%UrBlPfcA zp8R!RYVv^DgRNlgq3!X9mx?jD-ZQGIwbgvUV3jt(^2vXO>aMt|K3ByUrk=c<=lgAf zZ*1ymoP49)<lvrZ2OoD8HSB5q_4|Te;_tSzM;^~f-j|W*sbye%`L(ZV^?K%6Mji(w zkFqjq@%fu_@AGGyb0=9;&VRYz7lwTavizpfp65lbolp^M_PAkj;JD213u?zFRGc_q za!sXw;Zdbzc3Vx(pS>*1GEb_5odvv0Sj#S+eC;bMG4Be)Vg{aKpTr)as$aoBEstkq zo;+^yhVj5H_uy+w?8|3m@VG0_`Cz}&#H{S|t!{?q%z)yavgHiT6EEMIko#QweDbWI z0>dr`Md=;t%qAKS-3t#ceYGd>ghBxGlm`<}J^pO@)=!=JXGmq>)s^0imt`)9$-b)! zwhWx;$2+g8EAim7l?#iyta=KAwR%3)OJ(VmSAY4oy!C+HSEXmF%sq@}P2@5Ue3J=2 z7x8w1WrMlgl$qz%yV45p_rLbL+rTKo^?2u5i>WdjkJn|eq*VW#GGD*Azix}jgtc4S z*f>mD_}ss{)&KhPHT0zNe*37TKMQ_eFl=Z$CjC+5*^QP7o?mT?J&cOGTrDL{7?!_# zC;MY*=%Kfgwm)D0ytMxHU(FlG1J5#;@Es{xE_-n26aM&*%UMsHf9iMpz=9<=zTR@U z#qssL$tTC6h-8bGM-3}p7-hbk^IY;@h=`9-C9~zqjh~I=IG)Syw{q=`NId8G_MfTN zGOMs07FYF;%aauZFD>JoKZ9$c@C5(7#n&dME^!fgr#sJI<n7$3<sm0tUU;-trMi-B z*|Sd3MGhe=B^9o8N;QSL8D6(}ZklA#HLten*VUGm$y4L%&#Nta8nH_Gd>s3yl`N6R zs`|2i9c(hHUmM+ZV^ZCF`{!LVjjs6Ic&PGN)au~muV2^tZ=U-5*t}_Ljyz`DTx1ex zd`;}t-TfW)hCv<N0!!<H-(K4q#yoF+YfRsbH&2q5&si5N{^o=cQ-i-v$Vvg81q&FS zPyCym5tZ`iu&Bjmi399*U-=fsv?<+g;{5X3PwYW|)Ln0f#ZN^ww;ViYv9gr?RB;<m z*`HNv4a}dqUi7X!|7pdnizgp{T6#{cuXNF5i3j~Y#epUY$#>Fr@hf~uJnyya+HX&l zu!$3Gmhqk0tiNzYtk;|s=d=?S21S>fIz^nxols%B+GCTHv3wrqs@dL54ku)OhyE1T ziRfDMSl-}4|B2sH7mYQQ8d+LZN>`oZunB$1tRcPexP#X2$1-7^Gq(iGWuEw1P|5J? zvS)J7gOD=~pL-^U-b}d@-oJ3wPGt`13WdL#I~WRmPOWNHnDg=Y*QL6XR-b2PdA!Uj zn340~iPx_K%#8S}CSL70@L;}IPg~gOhAWai$xVk>ybY*1Ad@_6cII=L<XKM3E#Ero z^4@V*o3mK4yYRT&zblvK$n<UbyS72%cTZu+j5W^N=kEWv&`bQ8%?FGB46iRAzo&iU zt4NE{Dd}yNs|1cou+MXRG-LHV!)t2{f)?;?m6UwjSLiTHVzEMc7gy_x;;$>Ex67CJ zADX@8-N}QpE5tPgpU7MedC*gS)+=0L`%+W)IP1DCyoyKNuI3%N94!etM8($CbG!09 zU)G3qhbK?GHv7}MqJqMoSI+QRymmXY{*0vwYui+}c9x<WmS4UtVMu=-bLG?y>%y+N ziOLp|3o=E6pC-JW!1(sh>YMwxU&-IxXLUKUX_LvEcFEY~SE|D&En1ltH$U$A>*!lL zvwD}Fx_fJ#s$VO=LWp0Kw43_d(yqv?vW;;ax)QtQxo}^RDL$H^*S(yFeZ!`?SDR%H zEvV(oew5EzcQMZX@|NgaEpE{{PG(IX`xxHvS)Q%xUH?}4k>+D<yJ-_n?k=<oSHJx- zUOn_`P`cByTE2TSm(}YHUQFYimi+0MXh9X9#j^Qa8LFr2Qye8EPA%$5-^RbU;)%V? z*X)jo^KO~k@hfO8uucg(V=uj^^IPnZO@=u}3oOnrO+9ZCzS&l(p5sUEg`cxryxtT~ zFerT4cr;-4!8pl+`ycg7(q$~_=6gL$`f+#BI^}uiBE{EvO;!GAn*2}PyzR#PNhT~G zc$yWeuWD`LPs^`Aq`GL$BF_i)>ZhJCfA@HKRwYj2vhtx-r$m|@v<&vmR9}~+YyT*$ zv6k!PGnXL8D<`))eSdvzSGT=T#`Kli2UocGiRdIAe0hJ?(!lPU5}pswN~Ef)Ip2SB z&fcpgPVz$4Po>bjb_V{Zv5U^;9h|G;miGH-1XIO3O~x>e*=CCpv>I<*{?_9+^SC@` zM)hfFk8geRmHut{`r%yr32%=pB`OP!mKM3(R6g@5BwbSSN!hBzG#Bd`Mxyu6OUNyo zwO;p~+?l5;AM)E(isq;I9+BU(Sn}=Jgwr1mJI!Q1oz|<Y`ID)4!LP|Lv@dgi*qLxx z^3kG+328ca<l1Llv*?WbF0c4_(;tZsQxC=)9p#>QrQB}E8p(YeKcX^@-EhpACy>s( z(e&Nz+-?!a$+w?93Fh6pk>%~r179tU@6(#6mcL@B|7_JCl8d(-yK!@6($dCLeYR&) z&wk)Kd02Prq9;5LXE44!TkEB(Q@BA*e3FOyudDMn>LdtGl3?!nDq47Si@NZW_#f#V zk=;J?f|}SaHvj0l*#E8M!<h~FbG?%{KA69>)?rso;x=u=0~XIGc)oYsw9WeJVIc<D zDk(WVklizdzm<G&Q8yP{%u{=3QgLMXeC9oZd1k#f8_$1`ySroks%zIy@J`%qXlvZu z{B^~DhD~p!!ls;fx^3zKW`<wS*JWMPsy+GCPILDU(<LiQyPfBm$*h`JWG(!4UE2GH zBAe`Tws0z(Gg?z|er@fOTh;lWr<LVsIIMqrM{1$kOf#uKZI1s89rHX?{xfJ@Oja!@ zw6}ZrkMH$?j|<mbeDUM_b<xK15BZVlxB1%svXyPG`xE{$V=LEe+2)CVA`aR|tw_kU z3#r@lgol4=zD%~b=FfinL;ON647p+jhVu;W)Ml&2w^beSZC-LOrOe~x`peyOxt?B~ zn=f_uI|GBP<6mv7e4bau&n&lc8XR75;N|Pkua{!{&q)3eF6Go#n_eMX^~`u)R(FMK zvi#mHJKFDFY^|Fa_apqsWTm}ZF6NzhdYz@A{?O*UJ^GIqNb0`TNjdp5%9XeAi|Lxe ziQ<|+H~wefI5umizDa}J&ak(^t`B3`>XNP;ns{?!<6qahuJaG$WkhfOZC!ez;^$PS z`A<XZ9|~VPb6Rcb!`GU#TYd(l@cawS7Zv<8f1dFVrGx)6zWUiRT@8M4!0_pvCw#w+ zXZ@Af^I_@nxk~f-ZynqDGdNG8@nzTJ(tZwC>G|ef(Jm?X8>c0>C--TacRN3|6O-fK zF?WA)saQ1|OWHdAwy3uU{vO$Ac>L~(^ViqbMiwrp$P$YvU90z4-P$M1Uw&$;_rw1T z?H^NT-TQU5KSp@g(ry=%n#1ac`GpQSb@0qPWg$A>zM;lH_slguhWA^pU)nB}-XvZ= zdCjX6;*y~X6K5se$WUfGe&p6Fc~4RQr*p2Y7U-}``p?kf9ACI4@|4F5ris5UOCQ>` z;lZtw6JIR}zj8WN+w8<1*IJF&JC-DWco}u=+OC%Fr|b53@hyr-elownIP~j`zT?M_ zAG)<&;nuF_`*?%?Gqe<kwf4_uRNi*M|MU7ClTL*k@?GihpCO{@>h{YDJA9Wun0%js z|6F^glO0#Cd>~KRZOcEJ^KWiXnES!%@kZI#@3{N9Iz3C9G!6eAKL0T0@AVeFrn%dk z<r<2;Z?9|lG+)M(xqrX3{vVdB#mr^`H9OzA)~1`c<j-t~HSPNTcw*$HAD+!3J1@=X z|Mfg%71#08Yb9f}Wu7nJ>-O>SjentEURN-x{AUPUw&|b5(bU))%jpZZs^8AFOO&^& zjCk->ZN|k3m9ndEzxyX|5~-W4UCZuuaPq+wYnTt47(Sn~>{XUSW!N#5cW*Sq6emvN zu&rHv(f*-O!rG_rPrf@<?~t{+BJKh6o;<t5qT$S~pKi=!HBi(!wKpWCKkN0A3wn+L zGaNY2)oSg|D9@0tJ2Ux;x%^z~$;q<<3g<@^_-tob)pzs3wfEml?>*e=tiQr!|4nnt zpAP5uic7h1cF(;k%oMHMQ@*Yx<NNH054QdFOI>b-p8S2neQ(eNj{^!#h1X{H^ap-f zJN<I1>zy0F%9qV%&&iRQ=Wxy{v{*P<Ij#0T!%`bH#;nWHmWDg@s%JT8YNuzl9Z&S0 zp_BGz+0+w{w(u@l{8Y=8O=$VVb5`|H3-8W6WB6I{(u4)i)^E{rJDzxcsp*2ZzaBNl zoYy|4d1m?N)kzATk4-AoTc69GWi0CKS2tO;^L)+K&4S1LpL=aQw)p*fdoMkuZMLh7 z7B7uWIdQ5uK;l0GSIhy2)yEuu-(PE<SA6`ZsAbP%71=9KV;a9KV@=|S=?YrXIDc(4 zr^n%SeufSreb2re`p+;gLwjP_HqeHx*@YKAI*5LIEcq()v3v>tS}*a;<)U||y$@a> zD0tL;!{b@AFWUsA7;5qPS1nM~Vo=|zcU*a1_xVf96!@B%W;mxjo8{nkBlOOmSx!Zk z&tC>TXr2{gF2V4uo8hSa-N*fFC2q0W2vs%C&ze|#Yl5H*e^$1rjqv-RO;sTkGD!`J zc6T-REm~&DzSLaugzO8(#^Qq(B9|;zZeo0q$u;L`VZRqc*5^y}tRBt$eeg!|YiHpr zr3=_LKARD((6{f(JI7@YE-)WdDZVv(r}P{_M}}|DCNR&d3SeqH>%;El8mD=D-l7Hx zze?LI#jgif^2g21kkORe%E7Uzc$S;`$K|5xeN*JLjwZ6_%wKCP`TEw}iEi#y%u_PY z6$egoT)y#6rO7=FZZ6Fm63^Ef2>35mGEipu>~K`MiPfCl-Ydv|DVKwN6lX@6@q3SO zrRj}b!H&utE6zvF_#8N?xQoFjuz}Zt|Jd9O50Y0dsN!WPu+2DT#H(O)>Gv!a1&i;? zHO`-Qy7ZuVq64qBf8eYHnak&E_r6>r_~Qce=>)FK=WEsd*Q&i@aFgYH?Q6+2VdFpL zS(!2)9r&J`6kluozFfd_0bBZ<D-F%Q$1RT9=hq!-PzjY_2yQsA(DA+h?c-Y+T#h8K zk4ikbQnGTv0_NtR8v?D*mM}~{s&Vq=SqtV@{Fjz)kXyxPUivmH-12;K;E@8qcOEN$ zF!xQhIqdAA7+Jr!t9ANLY5&(jlI(tMtM|0b^Yd6XGdWt~pyi6&uN&WcM5}iNgcMbN zGdZ}Bna}aPhk>8w&TmKc?WQgedMxo}*(A&3UI|Z9zAQO-+$4grfthKB<x*RVCC?hz z&ects!}IF`<7-Eot3{m~9S%GxU81u@kN=^UrNs&PD9O!TKH;Jf8Y-WUKYbs#;_<b4 zRfWDb3CYbK<;=&U9AA3)X~@jtOse|m<(GMUse+{B0%wQ!LCFn_$1)Ej1n)S@V4Nw_ z=<j-7ZEnw>)t++-GBgd%dY%M(TCTKEzc;I5!9u$&PnAW^Jh;?++=O#uw8-U&mnPfP zY*}payo>dW!2`irS*7+-l?*{Vd^Z<NtdcTMYd$OSbwOr_|6>pLZCMV6ehf?!J$+vk zjTpOvY_%Nb%nFt`n!y^pL+0YOWl9q?-#ZBAE|wIv^efUdYsxBP;>)nKZ}s0cIoISs z3%{4ybG9Yie#b=)bZDHlSZkwcbNP;<^67Ji_pePB)}B!8c5AlCA;YuU0`7g4%NgAz zm(SgC`=6`K0yW!A$49NVs?*wR9&c4^@S9)0)}-gl^1@5am;1JKJym{rJc_~c(R7y5 zXLGyu1-X7-u<3b&EBA4cH-QPt>U(uP+%jiap0#F}(>F(|&?X?{%d$<|7)5#5%p4z0 z^*n05KFTbJ(Rh~cvH8uu3eOrB{ygrLoo*9UJg02&oD0FumT$f9Exi@d_&SKA@K1<9 zsJ3Tg*q^=ozTDRdVA1wFmX)s~+*Ig$P&R`}Cb_F3=5mMZ%fmNH7jSIj3Jsh$W2MJY zX*aDX#>KNVZydGJNVWS?)F^jnj$D?{#G{H57GIVgSDNMEx@F=CmP;#ScbIC%$YmBD zyJz{{%fWs3$7SzSJ{kI{cK&QyXO*<b@_fv-BBp>lm%lR^2hOWqxqm4qqsDQQ@@KR7 zJl}Q&-L4L0_|qR?zt&*>wFw&@o9tIBm)o&`g}G0|^5F5;4o|ADEOcCQL3G3My&n7@ z=3Q0Rw+YHsewN3oE@+}yq-mZ~9F+TQLE}6&EvLio%C;+S8(s-K_%rkQI_p`?Q(D&B zYCK*bv9j!WQ{^%PhC=@-)7tnn%bG9E?vJX7>6zT+B*5q&Q0Qjd*z;%(Bl|42b@l%* z{SjSqRMKRzsc*w2j+bt>FV7fg?s+_G0^gQEFE<T_WzU(W%WVl@uw2~iD7#lPgl`J3 zB0Iaqaxsx5!5j;gwC9<WF1x%TGbZV|Owd1*86q=In#437DfZkETpbkTANZ-O>Qchw zzA1YvMUqxb)O^t8lM;A`DTC4Dy_apqvSJ5*n=dQQ`)MB7@bV~QZ3g3(ooDr|0~?Bi z&xC6<H@|jNx!m;YQmfjm#8U>j_EEKJ_q`^olq{23B+9^JZhK7Q!7RV!YV)^?>N#y_ zYqvbU)!byNs*1?$O7=_B`nJ4Xa8y~{q$PP)#ln>g_ZBtIs*sx!s>a0V$E-Ga-l6Fe zLzr@pduiVMx`cVHTAD$#-_qkgm$&^2xv@p9`f`KFrRA2(wSHZ_k=&=bgsD<;sX`y) zQB@Wbec4vKS#DK<=ghu;U69G$b3v^4s=~Q@8nQPfMWyxE`t}5SEV-zf=k6HHpH&#x zXR)kg*@R0>zHV++!KWrUep#Y^t*MRY%Sv}2sf5@5-$WSNC6~$s>2WH2Th2A@fREg> zR(6wgwJAlJOT=W1XBAj1-s^HlCNR-N+pH>><HWPcd#%}RE+$5HHeU(sDtGRxh)U%- zZXZ=3!g})LQssFXj0TL0<{qod`SMt9%j!8iUl(vV{kqt*)vNNvienl~j$2Ah5+?g9 zFwfiapJ90wL+{_r8PAq-A3SezG4u@c@t9{*HXL=~RGV_8VQ*F7t4za*XHAPII`HMW zs@<FNcwVi>QEvz7LQn6nOV2sTwt8?`ifrMV(tByGQ4}BNl4Beu$s+B_YmEXPxK)TM zs!OhL-)mnWBE_py95}zKP*Nm8Zt?u54znaA__oMpD9y82k>rtfxqo_B!Q(E=_YM*! zT{3){43DPITQqa~aucCP_S?M@PuK+iP@9~`n<2AEa9*v(udmA=@0ItfUBMT??I5|F z!T+JJP04~X`KGFn+Lu31GK*Z|54_aaR`GIHVBabO&E0;PcS;uc#1y+*E>^jqq2R`F zx$(fQN|CpFE_*y{TBOFgd_B|bOY_(?G%AX$g8h6|70>5QVYrl8cIok)^tHMS3KC0> zoBa8B++>F2(gNiJGVfmBnxMbc!_6wBA@^r{pi_dOyUfQR##;@4l9}hnUC}O8-fEy! z*z6m4=gQjVYqPr;9N3pK$o$Q6Fg&ZiH^|w;NAAm|9V^{9&Psa+o>JN$H{}Cc#qv!L zLTcLnW}2{^?g^Su^<~++CmQT()76(}O=C*zcs8AZt6<q%NwukM6Aph_DqWp6_xdc3 z6OY$=6m`zo=Broe5d7nE*VWIg9Xo8UGz2kD_Op2FZqRZdvHA8ai7qe8r3HeUG8ZH- z^>CNzie0|fgGcVm4wDZSN2RkaX(}!-lzIGN>DyTa=PZ}=B+p9D=$gVG6)q{kF1b9p zi!&pQUv2Kys-)f>_E7~3oC_SR-Rh+}_j0V9S$&z8IZ*mmPtfCuehQ^89m6CKs`RzB zss#2GJAKHiY&x>wL7{W8?}@iwJC)V9YIhwd?g{#8BE=!WG`ouHkld7pUqL-w!COj} zv}itGxLBsx!(fMOp%<rU6vLb3k8iyvzTo`2?D;&+%4K$eBFSqNm+!mtAf>i8v$a-B zN>kya$s3+x-#e^U6AtdnV|X@W-&QqakNuh_Y_2YlanzpRbeU^@OjnGY=W~;k4~5re zaIjf@UCvYWPb6LC(PR^b1%f{=PboFI^L*t|i~90wlO1G@eDzh{z4b7@a^cjHhU4<R z4t)L3zO8J0<!i#A$#Bb{`hu72tmNV!Aq~tYR@}^xmY(l_YR-+~31-O~Ry3SH+f`>P zF7nfZH9jhK&#bB@H}<Ha)tW!+f-jpyu<5fGybYY-Jjp7wX{nplyvk**CtiE7B_zM} z^5bf<%z6A_d5?_Xu?($+&83MBJeGO;r!o{3`kBo6X0gg=Nt-#_lsR7{&T1F9%Vw_P zusyMO#==LF@9$q~qh|M3TffLSh$W%<%kst(iN7wfGH%+#cW8d|tknz`isxKz^IUpd z;<(?G%M+?EJhA3K&C_@H#nb4^w|WYl^`f7$vtOHT=*e|ND&yd>dsn`)JS}X{;4=0| zZu%}i)w1~Sn^_eSFN0VZQcAz9%vsX*?c0}sTfRCK)&5wZ=f|-8ch~GG3=GE$A8+5P z`HHXN%kt8tpU(SDVYq5<DC@9X&cDtoc-xx?3G<`aWjRzzMLiqN*&23DZocySO5+US zo`iqNuYE0(yDS?rRD`U{ESIlf_#JGPx_58=QqS$z`?OpxXg!`4|4=8>$idP=<XG^Q zw<_<xKM2qZys_-b^L2JpF5Ue0sOLdy)hsTlhtU&Hz7O2+lleabU!lKhKTEKLTvLPK zoq3Wwmc3{Aa^m|^W$w1uuLCErS^j5u9pLOB&2w1tj@7SXKl^*Ou5SAc)VFH&?RauQ z(e2UFP5j%d^3^5mqnw15l~sb<3?~`Sn{t`axOvM5UVX^})_XsCRa!ECSg!YQj!fE| z1~-<K><#rxr8}5+$}MW1Q&jxk>GS!eCQJtRj6kFDcE-m|R(bw(`ulFmwcsr)Bvkrp zZ8I_${R2JxWrBAeKYj4+ynkOFHP2nVR%U@qU5M_%mwppg*52E{)JEf&`)gl|^Rm92 z3^Q*z<e4+MDm;GQRD4<F?M&^jE5i(`<UhX;I^Zht{@Of7c9!Sz&%5#*wf34l5q=${ zZ~5)fL|y*4%$o;JJP7LPv*OCURkY@I#e=E~dVvd`HvPJ^-Esb-2h{<q7UZ!{zWwXj zvQM9y%l+nk5t(qtT<-pJlc#PqEkT}3U-s}kzBh08G>5-eo&*@#Ri1iq*<Vy6&R5!j zA$ecD6nm1vI<|;}vZcqWO203itRi;Df2GNT-kv$19U@$xG#>Z6^2ore?fmOsm#-P^ zHxIJ4)qFLVK}K%MY<W$&d$zT!9Cjq^J#jYjQ(MJ*Kf#H|*Xkv8m?a3`Th?n}URNS& zJ%!)-N7trhI<4&Umh~kraqBuV|KY*ETDO)}m3&<(=<kyvH8)_x%eR4NqMVg`rhGZS zG(zx;@>Y+D^L>)mE{Sftb@s$Xmo<t!4#%UWDl<#(cbs)0x`uiCiU;W%S5LhC^v?wY zkE6~LS9Q)&)N!+n_u4kW>WfU*C2zm-!n5&hSA^KT&Ys!Itfig2W!o9Czgl0+ZYVJL z<{wU)alYzeyZ?E`dclBa84D7)<=>Zz+Js3eXskQLt2=wD^2f8;2bXNK%lOuOf5n<P zXGQ$9bS)k~iwRxv<@?L+3cs#b^7WnR@|W&p5$s9cX}U0X(WDO>+9iwcZ&;HWvX!~f z*RcOXUsnE`vrF=vieKKow^z)TaWaeDr323k-uX+c?q0YigLy-!vh?(Ib#t@LL-skJ z;hTAoXV13-%eq<R^|=1JR?T{0xX~@N-blginGJtU)n#cf*2t8gH-_KazpnVU@I+<t z%lmJdL+%}A<~@CU!Fu0Z&6r$|f4(>GRVd#Uomse~;h1Sya+Bvb5v?UV<WjDsEM)0@ zyyDv`VTS_Gs4tpd-tYzIKRmfcdo{zFi(eF&9KV=e<XU1e$7I`^C6C{I`&E6-=VSAg zBJIt)n+%n8lsRvNTNg8@biM4EIAu}sWQ~|7C98CHyuREse{HU(pw7W|*}boNCI~n) zZfCcTx@jyfEPG|c`F&dZ&aVA*?cnwo#_vP_tnEE;LTzi1@l&I@1$J9QmajM6{w=fc zvzonB!z~M&p6YLZGVk;SYaA=Q+#K*=yG&2n+R_e_)lw5D&(pHs{P8ot4wK_~3scYT zDW^Vp3pwz(Ctq7wB452ge!<!s4^%`Yl8i4+e!~~CF@|q>*MdR=r^URlPl)6s81`Iy zxnWvpZ1?;)!!HXmuS;*3p=0^-z^|)YoI9J86>^oEe+7R_DKcWs-8NloqhjRdbA|Um zF6)*wZtLk^>#);@GsKXw;=IVwe&(kVq8DUsI}bR|Um6w5^tR*E<4WVdN6*R}dTQA) z=Xcd*pB(Ea;R_>vXov5*tFe8mpw;xwc6*=V;Q36iou_oamthL&tCw0=qAq;)&m=c@ znIMiE8VX{zhH*#gL@K66Gu=#4p1-%hD#f0+#@VhcvdQrv<IYEuXUQu*+2_dEc>avx zr3uj!_V9%7xcNu!qwSxbiMLKH6)$Hmf9aRs6sL2C{bq{F-wOwt>YA3%)my5S-X_5j z=PvozS7W=+#67F|9sg$EI)2Ds_{h8dWV07Pl{0VuyyE<@zAH6<+R??&cPxLKd}n=H z#i0W?&)VkRF?hVb>R124`pxa#HrZ7<Z?0LWXn0qyQD*25x*_`ZoBYNj)4p-c)7l;J z%<ZPM<L6_wo{4j=cnkYx+}JzY-o|xzo0G`o$^C2N+Agct^aPYYwx3(q-hbm-rQ2`o z{f2&peLq%*&EL3W#qM?MCf?b|AQawrRX%p<pQBpoNB;4DxHfmqs}0dv)8{8|oiN8I z*h1dx*Zjl(8JO+lUJ3kMe56&1lj)t|1It(ZvYT&QUl&n#g6W#sU7egICHEXeFQ~sc z$h&m@^yOJXPH!qhlSER!%67hvtJ9X4|KUlt#GGT@ANIR<dh2&RP)*Smadr5;cyiy? z`w<mvpW-!hO|`w}E}51jQfoMCW#(_YS7M5G$174QZq9z5^Ys;PengGN$GBPhBIhtI zF$}TYd$e*>dHK#won`XOS=Vx;s&{)bK4vnt^=H5Sac##R(OTh?2HByLGL1ZX3?yYH zN8L(q`Qw^#a9YmF$9zU^RiCQEWBH~QrZ+#&`}O_n(L}XV8ynf%o(QNItIlb4<GaCr z#$K!bkK!(sj+b`Rvz1R?He?9tdvHBf%9lg>*{2y_ZZ|o6{gZhwrtr<DcQ$u_o~t<c zC(E*J;(_grUp6H>FFo*}dB?<0>#UMy{A2!b^@wkN`H~}|=dC@13NJKSuKV%ck9jKl z<-M-+EG=#Rh3xElYSHq6uVvLdpCV_T2(HzNDs`4?86Q@AM9f&fT&93iUE<~0QW@Ee zZCva=-@mPR*7k%U%!tG0`K8GdcKWbf@M2WH=Oyv!z=O|0b5;FBV%S)U)>)XYJFRE7 zQc||~-i%c%<vh+6F|f1SKlGmArxsIX(d+km?xj)&ef9qgYqS`bobmf{?0uQ(mLn5n z{`7@&pR4$FCGlj;)Z+~4_LpWQJvDlK>Al~xfJw>CH+rf<y7L}Pc(s^WWyLH0&ui5t zvc0%(-NvD`P&LB*jMMRH#|n>zUfAiSpRe#@rrS#89?{SMM#uXLk4Ca<1x)g;Is7tk zgJh6JsHNP_@84EE;|owyOJZV8KAkk-$iiD?K2MTu&uK=^bX48eeC6^qx0sC&9ye9- z7l$n2Q&APpcqj8*g5mM&fJ%erZ59Vlo?p0H!-G9*rAmrW6@OON7QY)|Tz5Ur7ltfz zR}47(Y}c{_>=r7&g8ojk{dxQTGwD^gbuykT{KfXlUMf*@QW?*jC-bKKJbEhVllT1D z8C;&sGXH8{88c1#*V|`!=+PGOWX3}c6_0PtIwi29h~tI*v9&%i%ffHEG`!JzwclLU zPitY!6zx-%mj4;PUR!;TWp)a4%Ea`k77wmCiTbRX<Zj8nEo<lDDJL_63$+XmU!LVW zP3yRI!=KeIhXg7!ibP8PZRJ|5d9LEiG5>3`Hrgz!xpso@X!7K9j*qX)T-tQRkwNzH zYT-FoPtL29FTW?t=B7C*{}%VU>cV>~6^o{%bSg3ad3@lQ$MbntCFZQi$xUz!;%eS) zn)_IHXIbqb<F{Xznan@Dz2HR7;|Upj!FJKvJ}b;_pH5!%!Cq=b$y&AgAHO#BeyHDN z{Bzc|>cxWfI;rQ(`fh$-k{NJ}TkUvWL@Co+qZq%Wc(xw_C*F(AmaOdae#;dtx8uty z;Tr1?OK*AE9h#TPpfs<m*757QGrQJZ2-dQ-eWl6b`Y$C_;(+Cgx~+?5zjN+9aQ4II zL(&dy%p%Q_H;N*@|9QpT-+E6>$n%*)xt`fd<tKK%eOq62>jXIk2o)4bzkKhP+OXl) zs<QOw%#-H_-<!Xs_V}sFp8MQiRAP)&))-EBF!ejbW&4NW87ebcw`594Dta>Q)!ioK zck!G(Pmp-3j=Au>E0&X!Pl-Q#yLZvEL-CszP5$0!`>X5pt{>H_V^>Sp`YxVqDU@ul ze`)WGiBp{wS-$Z4RP2AcO6$2rQq=^lDK{cMsQsvZoZ8`^x>n)-_lRZ1{aI)8nf^rc z#PQZ0Xt44W7P7a~esOKf*4x4^$J9=q;Jr}ImF*zewV8=s>v+%OYiq+Mtf{%F-)d)e zgxhu1OTYbZosWNB<-hz-Ve?bXWik4zoGSkm$NOywH2m3-_Wfm`XV&W-CQBImgzv4t zePUklGiCmxPpwrizIk@{g+b<e^CKL=DgQ*bCb8dlo>cfI`{mLt9zF5K51v0$R~MCv zQtB~DJpaA($>ncnVwRuwtzBiQy|Tjh%HwHVyX&22Ew#BN5d7_}mPhf;fXVS8dmPps zmY?CjTym9ezL3zSs0N280ups4|28TX&DZq!$C7en<0g4e<!75`)R+XZY<A>(cV@== zRqB_vbk8)mn=iA5kNxzY*GBKXFWifrUX{8}W&-<^<?~O?I_hERKf7)IhkO3Bv|mKX z-Qd#lf8*a){P*?jq<=@!_8$GC{4nx%=Eb!W`>nSngmUha`Qh|2%Hm6P#*IGtiTzbe zyON&T6#U43_*;JJBD)rgf1&(;l;yZie$IQud4q{l^u^^G)ek?Mm7@CgY<O7sCR@$F zc~;0e(OeOs!bvw?|G2hl`;47_mNk+OIA=43Oquss<k^q%2b?mMJ>s?p&SuB`k!%t> zy4tL`f8t4oUs8+toAtjON)}3Fm&~8p{y5~d;is7|Kiof{dj6NTx%#ua{g<Zsx5e>H zcpKY!hy6j}`{)f3@wX>G^^|Gek$CdE+}GXtrgv97yIt{};Xi}b^eD$um2>WM{}G>m z-)E!zH$KM|^$){;1eqE+?@E08^6UE8?yybwHlEK|dh+;r3CTZIA(P@WEwx+%4AfVA zc^mw7ree`N(ZUb^84h>xorv$xIz0WrEbjjd$9LTk`}fl8mzHhN9YaACA^ly?KdyLo zHCK&iVtn-N%}h%R*o=>wc1^TdetLTy>t?4Yk68AVe%Wk~56y~7&%Lbv`&D7Q?<pRY z^|ypd{g{~~qwg>Wm>!$G*}Ol`e-r-`?ToN}4^P#s)o(ZX&^!C#^&cW%{$wqFDU~cg z?TKPw1J?ujqU=}ejSutLS4}(nE<876-uZ*uwYLT4t*CB{TDjn<UEq#O3Nd-R9r%40 zD_m8-w9u(g;n(w@;a4WTh-0$X@#VXGJ)hm)IkM=7_dy{Uw~6!pXK>ZL(5X3Ra?VJV z|Mjc=Q5`ol&Rc#zTdS<!v`71Uv4Hx933XfD;+ZPy|Ha<3IKR2={A*tiotk&K5+zSU ze7S|R@4mC)Ty|i0@2!SvzWS+2`Yl_I=m`bPTiRCSztk>a<KsfNvUkTS6{;`f-jH)+ zT%Q=vc4Lur`EI_QIt+0$zb{j7(&bds?l+LTq0%)k#oMO)^ugOF)R(GHI^M^>(De1% z58s~d%Z`lw{A$sv?T7DX2~X(mFUVSSY~oX2=JaQh$Fuy^|IVqtzG^<hkH%wRqWONl zq4^9I3z}56@V;BNMdPzt=ai4vW(ixa_pWchr>tCkTjTh;tR?fft|$J!c2@m&SH=#x zx)Y~%+G^HJJJc$@e{GrbVXG^V$;(gd54Bjntb27r{lXo`7s)^G3Rhg*ZSbE#Aa?N% z+m(lm*p(Y&?^LPY7Gj;f@O(jW|JuChAN)bP13umsKcD>R;u+<Wk&*kaPRP>NoWei- zb=;Xc$!wwA=xlbo-4f|vm(6dL`c(Xl^Lyz*<*vR0n}Q>CpL)9Tr*T;PKD^-T`mos# zr+2QM((y*+q~*{3zphTzZ>(__|Ml0(vH#u0Gum=BCyW~msxKs+dT>3w@ZnxR=Ce~4 z{Mzs`<hIXl7X6z`UY<W4TCnlF=yRpnPlbvq)^%itrxXkNe7R$};<oQx&d-7e<=@Pa zvTQ4UEBNKCLhyyKBio9UrfCFJH+QW{o=|hUe0f>m{PQBkj2>$2CM@hLR?myHFL`Iz z{6~|Eq4GiBg0G8baBwvkdiYhG%PQLWVE*B2v%eM3`TS+^3=YX6julm3-i8;1M%mQ9 zNxzb`*kGSI<AJ3GS`#wo{#>o1W_#9js^jB^taU7`nG36{t~`ylk@>4>v#0Rh41sOt zZ;x>-+weYk)5a&I%O3YGYtWuhd{pmZaPEnduRS;aUB%Ga$8N$<xLfAR?BY+`O&%G} zzto_lAb<GFlJj|6zA4C0pT)GTxTlNLxrpP-GMUnqO&>4KI_==$D)Z6n$oIwhOSLt% z&zg90POeivCd%i&u5PQU{`4;A1FJHaZ_SFnHr?iLCjX@cY+of8Pj2?t@>rt0K!o9N z-<QKDR?e(qFm{Nu&0yl)!)5kmwKr$na?6!A6I|5}tlYlUn&r>pOY3#CcCr@TKYed% z5;M!!l{s8aMp-5PSzDAv_C-qGvbw~iFeg~jAnW_IheaWeuPrKw2=?J(w|q3E=J3)8 z4fbojOFn7ja4j^dc(f!Wz~MOij+J}%$oZRmSiG!w*4YiL0gDqP-_HuZ+%?1PpmROv zOP_*jzO9;#u2<$5ybdsWzBVSsZmP6`P3Vy=r`#=nT@2b1@w3fQ<n7#7Z7!CtouAB^ zH9>!=$>kk_eNz_hVEN0d&1bPJ_r!6pnlp^EcPz0KSz7r;<i3vPsqf!cF&3Xyv^}sm zb2;DCs4f@h$!BdIeC(>|SDVAkd|6aQpy#<r@$2B0ZwnSK;JR@>C-~3@|G?m!oUW>c z&!(PIVCu^{*>fdl2FtuF#e9d^T-6*NTsgp#@@1t{$>ZhD?gq28r?PxLDKg^?Z&b<o zvp)hhHlIx3c$e{v<<u$7g1!G4yf!|4err}Zvsz!$y09D3d(BT<uHIezpW)Tg6y<qe zV$M!!x)3hk8_Rj#tLW%H(T;UylZrC$@O*B{Tu^mwvJ1yir-a9i4x$G9d*xfB3^w)6 z?%yjH$lf<)9cxW+o4=^uncyzrYkdida$jmQ|3%7tTXNjwXG8ClmFL%L$V{*fX)U}o zi@oq{xB>5NztCgV&!$WK(R{_tGqEe2$wuRaCRc;6mpD7izY+mo1?{(Ys!HDnt(V>G zW*DTu)Gk5k0FOi;dzJ$mpKVr<M0&aMt*MO<x-1*kxhiWYEwy_zfuSn!jI)bt$Okr7 zX)Pa~%NLCgJioPihHKz~<&C?R-D(lAIR8x3sbT+8?^G4X4e4xCC--N~&Uo*~J&9GR zL(;%#OV`fTZVH^C=SA+e2sVCQUTET!{B_CgKCP31Uque>`FN=>iKFZRgH_=6SsS;= zq;EA@W>sP`o5{9ePV=>X4dJuad6s8A4+MSL*`8#-dE%tQBKNiTMn2D!+nd=UcyQ?% zF(pHuU><jNS>H&RuPg3ap0G5z%q{qnrH?Hm!#^>&htE1V+TyIyiN~$mbA!)%h=yB= zvK3wVyyLHiVy`;8$=y4@E^Ry?)xY9VBfm=8<Q<RKzw|k=oY_H$@q4RU;eofFyOm}{ zq&0|4^0g4M>dJd}_ocJk7lyaTU;65JvQ3y}q``Qw|6_2uKvl5k3s#m#4RR5aG`Wj? z?)s?D31HcIa@hoi72kv2S*$q_JlU-_<9t=}c57b-&pmQlw#Q~j)^n8y&byk)u)9Cd zOIlfN^2Vd4wW}h8*^hc{N+?}*_}(1LCzqH`)_h&A#`!w5k-4kP_^pGuA?SM10P%#~ z#f^SpGT#<(exAnC6To3}#p`de&mDK>1&a<uSlCuwcyVH9VeehT(C&|CjVo=VEtV(f zupW<_@}So8Z1^4b;8~7p{$4UpN2gj?*!tQ`4BcL*Ho4H|%daap`2S!2BYu0{l)ajo z$C@S_D)g#ctZWi+!*G67!RuL!&u4|QzYad*ady9{1yAs|3v8O7c?I7p{0=;R*W~fs zdslK<o-N&U?Bg7%n6$YYf*yA{7&FWXp3S_JYs(*|%0~@S>{T4^{f;k{zt*U@eBP91 zrs=Yo29DnrByR6=(0n{^?n?fxQ7Id=*!{lTDGsVioAA-cDR<dpnc#nmW?v|FXknTY zHX&VdvE|AgJjX?f?#!CFFL2t+w;ti_N=q^v*!>nwmt3rH`M7MwYS)R6P1R~wFt1fO zUnRl#cvjk<Iec67JXrX?oV#lnz$CZj1FOQ)1$vqca+(W*E{0xUJ;racq<8tXnGOmc zgP2=oCZA;a9b7h{a(TkHWepX_3Vjm{y?eOw?qz;vSXG<(_vJzl&|FJq_Y|)fCaa6h zJ(v3S1PeJO&F=|5bV=^t6~4n9Czl+sZ?)?CbHR|$YF38ACoSjmadTH{Fgi%CH15jx z+Y`KkvA3@<@axj&d-XCH&S{!mUU5+70!#X}+1qWkg3p@p89MNAAGP4Q++f1M@O@<t z+b1^Tqv{slR~An6RW?;H;3<9S_t^5NhQxBlSzDNbCCz27>^L6i-FR<?V5JN1&9i1} z5*Py~XfVka2emz(<+NqNlj2L=4U5;kiqkZ{*Z26+)Keasw~LB2WHmXHFLgINR6Ls9 z=<O$)+2rhS@KGzf<Xit&l?%GURZ`V1&Wehwx>&%lbJ^R2D-DnDRlg_lj=5sVaZ`o3 zf=sSidQ1ZRepA|SO}BXMs+Yi%HaXWzWTKa=W6Tl>rFj*3bCUXFdXnZIjY@cAu-@5A z{Mr<QvmS;$msQ%+EWa+{KI?bmsL4C#i9HustX)|PCuqeaO<2p|yrpl;49l|~?j}3F zoplg=aKVVzyNTUKDkJ6+<DNzb$wy0+*}JTY9WE)~_7a#iIb$hz*Oo(vJr1lmpm61f z?2lzrC7EUv^(;N+Yt6W;Z0VDd1(t4dnoR#0M7=`hY4V>w>Th6Tz;o&CO2b*PJ1iE@ zaH)uy;BPX!`pQB7rK}atrXEdXP+x1%Jm-1Wl=Q9AwOJP;+L`8_wORS)LHPm(Uf!P2 zz*}w1qDnopxPHl>TRvk+*OBCTUv`*kH5}=C@Zj=IcGpLfQzoo>)D{!cSaERKqX|3` zO!NDUXNeXVY5DFvzL&vmwg1g~bJz@cE%Y>(v9KCxgsOMVSg77r$Wpr6heJ#};oO`C zW4HTRoBM;ioEFVJ*1=RKGUK_ZVNk_Oudcce&)OBDC+42|o4HyxT65l&A4i<0N&eM} z>DFvb{G7}-u}$mQg)H;lDGwUw`+H4063%^G<nP{9rA{1o8|O_mJ0ri_BW7v9l%uQX z`%SsLW7{Rhe<f^7q#X}3EA{Jqdl??EL2iDlGVgJQluJ8qI_GJ+q)fguYnxy{OMqDu z$1%rc-mZzfa)Dot#_+AU%V59MQ|3&$Rqv61^SxL?1;m&cdWr*ox~p40zuk2ud*_Co z@w=?}U;F-!S#Dq6I7f<Y;>@S>x=$|W_%2fw`ea9`eQErStF3z&tR*I^%OuS=?RE?7 z+?A6!E5R*!i>B%BZ*O>}gvvYmn%`70T4vS2#{a1L(sO3vQx+#ho_01oDZI5c>aEr6 zQWlvfa{FU0&Ad8A+d<Uxq~%|Y=fZB09g`%=&YG+i{+{h_XnCs0c6YGZN}JGP?kNkO zrp>z8cx%g{<w06zhEsJ!{@J9>H*_nz=y5uH^1BcFqk0~1SefIRD64jfH|nIMqUX0I z%r=ehg9|4ZJuGrJVO8$Ws^g5CVbW|{b(wL-S?hdJ1@^5z8{Zv>Gk)zLYBuLd5XZ5% zR~IO#eD0cY>*=<)r{(^x5bfEtShjeUZ`=CXxtl+&dsDVV?EU1U3_;w@2bOZ4SpAw? zDzkOxPhVy&(I*=gtT^UZ_%`f}tH<LNO9hKhC*Nw&tgLt&BoM;$<=bjr31*Y8{p=Fo z7jUHr-<lPEY2Bv6%j(xA9C`d+jemR8x&+MzcOA1!f-l2+)Y-K{<SbW;o%3U0>q{_h z`nN^mcK+GpTeJQ)eyDg7lAEm%(=lgt0iVV*X3N6!Tg{bh@+?HF-)uJgDXf0KtNQl2 zuCfOYN{;#-Shhe!Zs+T_-dna?@Yuep*K7|}o8shVc;L&g3)+H@P0Eii^?mwef-9Su zy+M%O7A9x2IYL#zGCX`&HC+SveP(6n96wX`Zwt@*zAGQX=ggYx)OaZGyU7FT9);ky z=W5T!p3Labt6ct;wKnTu$GqsS%nnV9_dz!<Y0EHATP}L=s8_hXrbuf+<=f!GiEmlv zT=tXPly&aFjh}@M9rB^e3$#0~=yMtQX?lG=8X@?2<wB=P1~<>kl*mW<_9|`cy{%9@ z-|tH9gTk&o8=e<yo;$bal9ssil%~DAFFkX9s?~DLz<5^B?u`xENxEi_p8vCbtotK@ zYfDM>3Grt=)4nkEr37_0ZP>?o@X_2S`?zye$_}iZ=DkAXy?cDZvL$`LzA1hZSnz9E z#qxrU9or^Puyb<wB6G<-v*hHSLk}Gl=I%+pwoCr4ucJZ4pS6?9jz^t*6q};7W#hj$ zB{~cEPfea6ld<jAe0z4A^vl~tF0JShnHRmaJp0krGNx>gB`3~3+WS}APhQHAsU=p4 zx$(3p+wwVOHb<u#ZnjYGUuvtsWAUVK>&vx|Yx?hGT)QOvYR2)s;ggSkGQ9nFdXCK3 z8<z5MSBig%EUNrI;jj$z>uXCs`N!S6yKn0)v)#|?*KFu7{A%)TSJ%tSY4ZewZQ0Dz zuU}gfyfI6iE6MSM{quWELmpeV`TH-e5^`U@K`yQD<F5^@+e2@x-DBezS+er-U6HQS zw-)X6H#abUerd`P##fBrO<y^CekknOGU09myKisox&9B&AMRVTD(Y3ngca#ViB9wW z2+y+J6HqkYa>j9H_W6$2TAL+VimJk|c7F&zaNQ!-{>T#J0?`fjTxa+GU{B0snJ)Ze z-OYgcQ|#BLKAwN9f6d{YHp|c43v@cLQbn$yel55B841lG?b|v31n#~n=FS!SCf#XN z7pfrBUsM=7b^DvMk8fTsuAL!#j_2gWug~URQ@&&AKhwv7XC8Z;#wWoBl|0$a@yR#p zPReP_H@4fH&E5Dtn)mt*nb7+`lIM#Vo{4(8dcG6ae}=Cst1G^9%ZtwVmfWYsELYq- zq5Ar*Np;8S?0Uqkmd)3*R9qIKP-Zi0srj4gk4&aU+}&XZPAG+F|B|xXDED}iol(Yz z;#+f+zpP)i?C)ed&6=~^H~nnI9JKZ7Z&p9Ly2E-+;;%Jb#a|>>g+9KsF8Eopn9<#r zUR>W#?oZe6a@?@X+RXko_xy94^6Xe@LK_V8dG8o4c;onIZ?<cY?ZG1--GbPClDE1y z_B5aO`g-#pZ;kiXmeYj~Pw#ka`)Bj~<ECeQKYTxGw$mu{vi{~C`9rf;?4Ee4VB(6~ zeQTEgndP+3`2F!~+m~D_<xWf4xpktvg>vTO*P-{WUTxY^DSNK4OV8Ua!RN8kgfAh= zJ#(ZkWxRD0jagT}CyTAs@xVdmr9p{F8)Ed8nv4t%E!X^GvGmjIObeBCnW_snET+aJ zN=rOR?vJ_b^q^Mj`b33SEsU?P%?Ry~DZI|UV$qX`&NgqO9*viieI*t6<1Z~&c+67z zW$EocL#M<f0WJaK$@k_l-iltR{$=G=<2%87HnDkFEI%Wr)q3FZg2mTuLMIAO)85X! zajDsv_`k~*&ydn?{ge5-@cP;)Z^<PGUD9;tu^AurxMp7X%q@Px$F_&<J4F?f7Oiu$ zt`2DwU+^I0v_Q!nc?pa2`<MDYof=npeyO{`Pp^l?^9;M3_Iz?HZ0?)ywP|&8`(wMU z>XTIL6<%KN2|OdS)U;o@tL}g&7oVHftJ}u1vm+ai-(5H9@L{RmCt3T`Ch}V(8SJ}r zDaX>!{Zv8iQLWxR3H^Ed*OvP}_#0$Daa-{nxq6waulX5YiR*7=d&X>`!uWOZ%yKFB zIYupq&6$@!_cLU2klXqud_Hg9m%CQHZofRP=E+V?cH?=l-s$lDt>MiFe_2f7bq?%O zoWLz=uYYa%EoE2Xlh*{Eton5Gg{|g2Z-!9EpZ=D%f3;uywr8)A*~a;I<0H*yyoYCJ z=d@V9o_kaIde@!*46W54T<$6@?@BZCaGVq<7s2naq|Y~9>!q#R%J~Ma*+u16N9qFS zug@yKvFw1NXX1^b?6;jZg1;>yUTWKJ@2R_Ld$`r(rk4?)=iMuHTity>m><|ZrMPsB zq@>kJ?vLkvn)|Lc9lu;H{^oq&;^qQHqvG@0ZR(e%M4O35a_yJbW}bg(-`s09+z)=F z?Am#0YjkGL!=Q_+x2fcm$$hDa_)&ICV!iyEL*50lNt34~-(RshV#kIj>1XdJD6D?_ z;CJA+pu;QJukCC5$Tt6BuZPJl-(8M2J!c*WIX$1p?sfD-|KZd1g0=fz<@%lX^;Qqq zpFPDT#^Q@@q5HL@V~Z;8lqFkAw^hqkm7k4_Fq>npP^$dHedYS3YyadAFMbn#?aS+v zGO1yl<|$>CGT{m(`&BmW`1HM|UHQ*P&ueZIJI}diUoL$9#k5kltmrRm_0#o-{wmp8 zX}`W(cSz{uPCsrB<J<XbvyVRTXFSS~|HJFjqcCRfCnA!+CP#P+?4Gqk-qt<ilHk*o z2VZzttkuX-dt4xCKmB>U@9_urZDs+gSFd+1o_Xr|sSY_mEBS@5&n6vz_?{>8^fPZ0 z^A&3+3b3n}D;SFQUz=<iVB=Y`sbI;(`Hqvaqi%akNa)UYj_WCT&6ytg_N^p?O7rc$ zL)&z=WNUY~>1J=LZVymZH#}xNX{*qhT&eW=(U}L#E{WUy`?@!Ou_Ysy{M@Dn_8>nt z+w9BlY7|+g9_TaL-tc*k9>>AQ%J+7!XU{BpDfMsuYVT~>J7wkq9%6x0<SkSt-p`K- zD_%Egw|TGd`RfnwcjT<oU8}z)&NAPdJL8mSC6kQ#sY(^8FTU0f!uy{ZoK$ZuHOX%M zX_)s$dK=T%=hsDlaX+%}y>?Ig$3ofv4DB_VnQPqBvsI_|Tvu7LFXzm<ckBv0eTHq{ z*L%-?e7t*);Tmq+YDaFBuvhEFZ<*Kp^<FQ_TkxMD^Yw?_+>^>KS<RoieLin#uhx%D ztEHQl-nKi)y-vc+xJ}mmajfe8L-qphIp2$4PCCw#T$sdh+`^_R{Ed9eT9f|_o#J6~ zHakCDZPD;)J~vC@Iv-oOT}#Rw;aPWoG(M7ktM578<6@23_16XW)1{}n?znqUMe`i{ zrCl0Vp0^vjTOTVr={!C7qwF5BqfgR&-n`s?d;7Ju?hjsmQ<-$+$?l?qbq|<(eqVp- zw)R7oK2Nq(NRg9i#>Q_aCo13I&U<Qn{`AXxTfY8hXx)|GS^8S>;aah5?MyDycb7l$ z)i;+rzm7OPd*g-Gj;j}cHvcEkHv4p1(2Wz8kL|ujy+8PU;>o9W96l*;-+o<xX{UYq z$#w6SZQa%u+8OiqGl#r_P0E*NYi`t?Er`GEU0$>~@{}5b3)A0=SDLEpdsVsm7tGD7 zKT{VTQ{naSfWwTqxmLfg>0WQq3zrVpInK_!{Biu!UEANhUga!$^s!1OLz&>5{D~)Q zSVNzyZ!P#I^~17oefEdU+;p9f?iRw0zqf_RI_lmDnr@T3(DUG%^XF&Uu&+70$y?jr zxFE?}-tWe`_`n~vYi=KjdUij%FJdFZx+><s+TT_m-@oa3!&{Sp8tr9qTOZivi}M}U zGH#xH|3X6eu{!+^_FZ3Yq%;SAII=JH)Sop;6E?cN@C<O5+j{xEUYo&6&ehB63gUl6 zJyV^q$ELaYM*8cR?iWTeGQA7TnNR=R-2Xa0=tsMMuARc<m;54Ujs`!=og=qq4SQgW z$SjsX=gi_lBTl_%1xbPZx(+9D`hKom9J{VjLyouf;p|pbab<S)irdXEvL(N0iUkTc zPQGswzV_aMOQ%=ZPuHK)|9dOL_8B*x-gvYj`GV=|-zGb^Z<_gF@{|IjCC!)b?Gmlk zD?X*p_fKNS9RaO<)qRzAU$0e^KlsnkS>s{<D4s`u%ag@s*Az-uU&y?*Yg%!pPPBxY z$MG}O#j$g&^gAyds=h6)y?du1N2L-^a;L}7P43QrR_^hBk@Co!{mp-d)dwWE+8QXW zP<b=CjA70CAHh+ok53Aj9_{p7tHjh&)jZGDd+F<aI?)jix&x+3m_6)XZO{DsZoSmK z=E!-vzFS`3ezv>1)o>c)H1qWMso}P)&PPM|oVgwT&RTEdUM^E*w|_au68+yNBis(C z*T@Ke6}=ky?^vC|)jTnN{#Vn&&)w8fPAz+V{e9A|dJfMuKYUC1-|`w+&#p}N5PJN+ z<3Gcm@cq|z`KHNcCR*L=ELEM*D&RJ)VL{H{=N7N~y-r2EntM8AV%+6#oF9+&Zkayo z(}u1)E6Q9Ye(sVp{&}rz;cvqq#@>4;ajw^293dFx7V??H_5kxn%k@P+GC#@(e+XNi zx+?phLax8B%iTiW+lD$%Y8LdbE&X<Xi)ep)>Yi)5w=TV_bqX_Bd`xE1*8{SzThl7K zx9T5|Ret{Xw@HoZ6t4~5)rB41Y@ePutZ{RzIDUQBvp05}6=s*JHB4iz!i0)eNH!GA zy)85Gb$mtCzbmtjZD+W|dd0}QQjl-s?R5fj&!0Zp`P#qhpWyb4W6O2Q?bDohUXt1H z?VR;2`z^25J^JR})qnH*q3z!`M!)!0rmMaFRF9Y7{Ylk-Gk=-CnOpj(Lh8|ZkBb)* zl6p4X$(dgG@@>3Z%%9R9-i3>{tj<|kanNSMMu9Vn-{;x(R(?HybUmlr<G{-%v#;wL z+)?h_W*B(A@MzlRs3X6HPnY)JjQ9Aw^pddWCL!nEPby0n-?4h|{g1Yl{LQS>e#PIU zP5OBxtWHijA9H=}t(v&YYUbB_m&YE>%{jOs*?M2y9=RRg*7-;NIQ;Oo_l|eczg^d+ z<{PXDG@g9il0k;+lI7g=1=S+1%l>Fx{qplju!?`y>CYkwXU<tqsAXK6J-^}G^|Rm3 zZ__=zk!9K4o!`H$%cu#soHyf@Sb2HasfLatt2cJqy77Nr>#g5olq3<lJZ8e$y^aae zSGwAJ*Y3Egym<Q${-xT+vjaXo$kQsSWvg5(?cexIbj{*Zmzg$yIIgb3Ja4ZSw|<wI zPg~`a8lKfkMQ8huZB72s&Et6gxz?LV$8${IB+eF}77cx2pVsgA;XlKn^-M3P*XK?< zvmk(tIkjJYdepT|AEvjwNh_P~d++z`#0gJ&epQ9fiLP<?d@wO7t<AddlQv)UPNmuZ z8Mt+yC7mo#E|WjP<}bHwQ)w3WM7h0*3o7(|w(k1$rrEdP=ix;gZvVJeb5H6+%5=Aq z4K3@8>>MnaRRrTa#e249p8Ii!<MK21mCE<pJ|0`jY3wr5ga6b`i6_4UUirQ=_4(?$ z^~1rP(^4-l-s%}rvzW{9@^-KDX1_%8f(#bu`<(ow|2!^RzbkLnho2ej3^V?HFj-r; zVzch;V@s>G*Gqg~xo7s3rM_}AejS^bc02b;(CY)--wWI=Or3O-J&Rs`n;K`4d?9@5 znaihVbOyvfWB6bky2N{>i0+-h1#zvFXQOt;toT~-)mJLgtb4)Pc^)q`m9Lk0xAO8n zdvfoD#ql$H1hh}xlU!Qcbdkx-Y+I%L)UaCJh<_hMnQionim%Tq;|soeJMhvIYoWK2 zjw}xkD6R_nHeJ}V>y@$^gZ&=K$IDG0J$CB4T6dLqM}h=X|0KgZ^Q-3h^8D=T-ezK< z<|EjUdAINQy1&ar6Zd}X>EC1c=jEi>+iy8`Gv?IXK6w6NT%dW|`lZvNQwx~p2=92% z{QBjrGxa=Kg_a(ZGXf_#KeqSE>^r{o=d@m>H3v6eS8SB;HLHBHE#KnMJi|Wzy%k#~ z{%AYJyPA__PQJ>VU(JDQZrxq3+cdXI&iGn)*YWLJR=iRv{aM`eyur5c-U6Y6`-}g* zyduMQ-2U30uz10&iHi){&$y}=7qMM@Q5`b>!|Xc;x>fHkoUu7Ups03-ZN`=K_3wDf zItz|JW0uw8oLAi`;aw5&AbC#sRP(++2X}6Hxv5f;CH>Rt4L@!^2|B-gS9;H;`Okwc zGhdREp2Iu6V?n7chy1k#2`3s%jy++jd~EY=o#-E@cTI`Q_a0!kICuYf<oyp5y?RYn zF1IPNGuYk7eyL@KT))@_zUQBgWPe)u_`{M)we*ml{|sv^n6Ka4)A#yl)$&<U+MJ8K zdnTW^J?r^*_sVmpcb#%M$YN-7RnerX>7LDnoqEybr>gm^u4I>%_FgplnR#E*CVY;p zcktAE9@DeS&bgZ|%q@N-vB=0(!uN3IJvaUfa$l34TKjL`a=?IPok7LH^J{%>wHVr+ z44F`6@bbrXuI*O8ttuU+^{X@Qur1QM%r7`&&+>rN8h4xOUVJraP2M``-QDDSKMy`( z*m+KiQ(xzaT}t(BiBl6}ocDJxU|g(GvrWSB!pe8PVb%RYrw-lAQTG0$y#BgLjQirB z9i7`^R_M-icgXx#yV_cWp;eN%&#yN7%(Hso+kz7MCYH>7?ek`us%)22Oyd{o_|>%J z@$%2hX2?xgFEc5JSJGw@cg>GqK{J)_J>1{uW^4G$Hv9a8>7l~9&jMrp1NO|%xuO&= z^mCEM)hJ7I3!OU*R#%Hz`#m{S0&Yqs_gPK;vM_+N@YCrHOcm!J#+CkExXNAX#0|F~ zyM(IW{A<On)~(_4=(@P`$()qZ6E8!S_-o#&R4CpdR6K!S;rC^mZMEx`_SM?fzHXNK zx2)rmf6AE~mL;;B@3OVxg<lJ<3~6%9+jrPDYiIM6FIV03*eoO^zODGPa`T=Iio4c3 z#}$k1UHK+nyTHRk(QAT)d4S_uiLbYR8mwku`P{_kZo6vA;VEzSoiAJb?&BPpk0-ya zsF}TNQsS{E3aqlW=dx$y3&b`ZIdbXY=5`BZ`SYS0AJu1b#qO!zHsRje$x&|kE7hKC zh|5iAjPu+f`PgCwi@D0&!>39QB)Cg{GYz$I6q&@ka)Y=|@fGG9A?H^)baC%wb7Sr+ zFg~b!Y4waSRWqMWKkp??5MO3_@?G83AnyQ1hUP16vVSX9zB7%r@Tyt)lbv0;r*BVi z;+{=O7msTR75$Nst9on_GhIl<^B%+PwhL~YZ}_)*bsgQjV~V<51OHO<w*ng!QzV(Y zrbTy`aVhO^dm#KK>q_TSEpAV)Jsw>)+pN1~<f?+CHAC{#<qp=b^|`H@9$v67^Mv;K zy}@_4v>Q)Nyxep7nY>0LSHmVA`<VI8&bLo^y-k#`J#k|3+l)*7mfd+LRQd|6xH|K7 zW;WF>EKir_d{O(dSm=>qa?OskJK{TJf{c95NCp?M2;aEcSe@0d>ZAnsJjOpSkG++X zxXN#r@VIB{*YiuGChYWJVXo9+N>^8(e`waBc%6<=Py0hvk6-)$c3rJGiF5b-DPLb- znmUhTNoX14lb83mWqvkzswKjxe9LUYam%kubQW&QRp|TiGwV@HDCe9N=j^3Ar$!f) z$>=jLTs&j8=*-)h*5;zmn{V$I(d1!fytcM+&$>ef_seZcUi&0XJd(mJY$ndWG~A+S z%D?y0-zJ`Td~Z=&qVlc=k%s6GtIx#wO!5@$>T|uj<zw^t>n3wLpK9u4D=06kJRrX| ztU4v~_$lM<MbEF4uJxI3Jg>mI%v7dBdcxAK&ka`97te?pFY6FvS&;ua&~!(@A`eH$ zNyYyeuB~O8{%*Bm?t{d=c3T!Ytqiy=>d(GDey#Q7WaT#j9=+BY84bt$CDk{Gaz`9_ zWP6cK<pJMg(RI$7Cq1ZSUKqFhPFHJa#7qu_WUkuZX<K^^9k*4R&Cur_ntyL!L{-_@ zG_#hTOLuO*J@Nc>g2Ny4(sdUDPp$Trbkhlzlz6;Xrzz~fq=c1n1zgW3e_8fS%%WnC zbwT&%GcDV#Z8mWI7WS2so)##$^Cq{MpVO1%t!2jqF8%B|!gyU)=J(~6NNLHFPbSo| zFLj<#G$-Lge1^luC-Sq4QUd=oaJ*SJX?4_1kHS_~%U{=1zm-c*jaN%!d46lMKwFyO z#<HK~eDfY$Dc-R0+4ne6A<ess4@Inqy*Q`*+ZyZr%u&``(w!Pa58jDs%Dxe08o$f1 z@6g0YZXA=CPBnaa{nbRP?}<r;_YZ!*5}sWuxi{WTZ1}^mrh0vQl<Ah9v&*Ezk5$as z^v|U}>X-1F4NG@)v#jGkQ*pvHa=|uNSNl)LdrlZd$j!O#qje`{`C0RNzAu)y|0-!3 zRq-C_YP6Gh;knD>(Ue^KLw9*=jXp%T*S?Zm#;`H*dtu0u4I63~#kk%6bX4Twl#)N$ zrGf35pLvfT&Q)AyICZDqozEx!yxRUpYp&>yjCA!YmZD#E0+xt#TwM3%=XTA<3RgVS z)2<sjC0BfZ_tWupf7RB|cFj+F?(=N%FzVFVSoPFf{>)YOANdOnZe7<`{BrEpuU*;N zVHr~vq-;O6e<kmUB<p{oPLB^;g<PCIO{O)+&WfQ*AZuz;PR&vN!*`{GJM_-@zADOk z{zv<0Bu{p!%<^^qU)C>7{ovnznVWZaCx7hQ%OBQ!|ByCcX@^IB#S+GI7yF(BylU;| z%x8>oIM{k6n(>M7<eyhh)ab8tD0h7#U_EVpW<5*hjWezjrZMw)p5N=Wk8`toO4q}N zxF4rxwMXbwyuR^TZ1psOlk?wgPzfn`bzLm}^_!Z@|1OHYS^r?Ih2`fPzQ>&P<7>J~ z;+QY*`D`@dU;~4_h1^xUt6j$@{AV~+Sej$5*S*(0L1g~gu-!jqn`oK+sO+n5dHHpH zt{u}xBg0RIoA1l}Y32WL%JI-`Xb4@^P_uo-AJ6L&lhYS%^1K>3UHeDZq3Ms}k63hk z(p`Id9}oBOYx}m>x9<|R$V{!-F75F6wNHGzoqUhAgMq+<Nz2vmR9&qO335Lrc3;#^ zjelCKk$QZ*O7hR}@a2E}KPqpCKFe8nVWRlyugA1sO#L9&GdU-EyI)o7&#cf7jYVPF zlZE(NiYLCxQVr3m<lW!%aAy4_8=X8phr1jMJ-?-H`6gZMKe^0y=PPda`3J5qTHYEV z{H@mEy<a(l@sF<g{{&|@IeK4Gb)J0U=jZF|MJLagWqH~+=w9NE+d5iRf^wE?O?LS1 z-{UG%`*u!P=Y{-*y=l=~ODAr7YwP~hrAlp;$eUev=Jd_wt6cd!<;HRq>*Hr`vi~T& zwQ2dKHL9^k&E$$F&w6RU`TarbyYUykSbP_a%dXxem>iO(((_>Ii8uaP7ky%u3){En z<cVjdYSo5>={|4FjbZW7Jy!iCFZ<&1%UdnXyaHnycW21$-5fgIci+to4t(!th}rU0 zOKmm$G%sBL@a>3>lik;^|4dtu-~Q6-Y0Wgbod^GBU%l_YN3mvyW9qr03RC%SwTGvP zi>+vMbMwDvcVqRp#^j^#_DM%=(7N{O_?04U*?*!df`aZaRF|x;65H;#d)jR+K8~=L zA<H)I?VY)&?Poi)rODqF5kHT;fAA>AvZO)#*W~SA*VVm$D0(EQ<|Dh^>G{|8Ezjn4 zy|Veh$>SdjC%=sR=)Y<c$0?Jnof0QZt_E!U)O-Cf=T$F>8MPMna})0TV0-91&7E&g zU*-A@dAfNjmKC?{cC6W{)73xkj^X<qp}&Ko>>TTv?>xv2558~vZ>wKEd(5&3Wud(c z=S{z^nV=T2#Bfg8aj#Rmw(%X<qfypV75KKLX5K&XD~_s@`+bV+r54+_r#_hR-N5#* z_N$vYIk#-i=1RZI-Cg<X$?q`Rd(BHNmAq9Ps#ni{8nUYKv&b&fL(~4=a}V5dB|c$l z0hiJCh4Sb2_2#p^@Rx{qJ6n1A`NsaWfzuC46(m1#`)Rk%|8>|h_VYqfF|Ly?&Z`co zPtV<Xvp?$lPaDC!J2UPG{=1qKQ^9&V?Ve@j*HzD%kDlHA_}yijN!H;j&pwEa<^Q$4 z@Xgkl>djwMlXzVCzx!o8XFh+X@=2kez@MEm&vvtYShmJoe^TM=uGTHwSJ@5B++TOa z9N8(;*m>}D$=^(;v|VhMm&Q+vm?`mH`PUVuD-LBFPQLD{Ika<%GPB*6!vf5GZQJg0 z#P2Y?w@P4k*~I1>)uEak=RWObRetT0QFyuQ$_@57|7%ke^QWJ-{LBB?*TC?MZ&&{0 zV|R)yO*bWQe{cL1a`>e3a$8%ib!<XMJl}Ttwr^N_StQlFs%)v*3DLS3A!8?I7Wauq z^{39yy7^lxWs>2S1yQS0`p?ala&y?O{$u57u}hrKwuN2MlsBu}V!GJQ&t7Xn#%T_Y z<*OJB!!I3ZKA<wMX_oGtbej++S0(nxffI_O*scXFW?pLi=BZz##KadCOF}0Gd|<1- z>}_t7aP|G>$p_?@YTvR?yw=2J-5-?k<cq2GZ4VL4Ajg+omD@^kd)yvbFz;mu;XZGY zt8n$a>eZ%+O}3dlkxwp!Yeopz#qE6=cr}J6{r2|f{uwt6wa@CmFYLXqztmZ!Fv&xf z@onI4v!cB#E7(=81Q|CN7|+|%kj?kJt7GorK8|J6-q=UwJ-kztb<wl=@v_V{24>GK z7H2n}FZNm$tq?44DDlGZ%B399<kJd`*QTswp6GCDcj56W5lwr86DuPfZ2B@q{i_(# zr)Vy+k$)Pt^N+?s)0hKcnr|I^<|MC;<*M6KS@EQ+oM}bZJmuqFn^x}l^=Mvzc5a;e zUcDqqpC-fByM0^!GpHBF@M+z<GizdmzQsA~5KE3liY%8~6soVD?eL38H&wi`glTVP zvDl)(Po59?conu6{@ak+zTE4=L;;bM=gRZ5^4`cU`TA_S!6~m^X-@Xgx7Vg7tE*hy zddtt_K}gmQOOqJ3O1=LKh1?-^kxwHM`mS2$2rXXx)vj%^1w&O=%>nnPUk;pAJKQ(b zKt;gusO4;Rm1lEL7D_+uVU4@e>K|2^z@Synl|F~9dd`<ck1|A<uXjyPIO=lw&GWA0 z*y8hXR}LMyEj9gQVIQNY@4Eh)-^sr&t$p+IJD-MN{>jfN4D$+q1=mc;-&GvYz3I+8 ziSH|~r6-6NFu!yV+`8kXPX?>+v%*U=E)^em=^(g=L!h!!{YFZ#kN57UvHPQDoITDi z@0C8Idd>wFH^X}q7b_G8iJkRWb;e1?ypFHp>!JrCw^sLjUEUZbAv1R`uglA=ef(Z} zEUuN$m+GI=a$3UwJW!yvaskKr*eeaimzLge__>nl$w%)QY?G=U&5E|oIzG)qq%!8q zs^?6Ld1i%jH%}<OeQAw^U*^5QH=3UrLwaTvu*g?!+c5cOaEnc`_Y5v~lcT|t`?3Rb z%hj$vx0!gUwPEEgH(r?o0UQwxtbUza-X4wrbl|1aQ~9S1Pm*U%SJ3p}zy8u+OPaT* z@Yb4D#h#nzE-7|5coX{Rprq|f9%Ytap;tPzWxlQ~-00O{X?xt%=E#Xf8-#Yxbodp# zr_ar5-qnoV8)7#$gf|sm|FB?n-bo3QogJFB-Nmdg`|kg(n*K(3)wGEm0Trf;rQS+^ z?%mrT<<9xNG55$P<D+)TE@>t_A_mIrpI5}OJ?uDFtL=C|<#U&Bb0$l|Wry@i`}J#$ zPoH?+b$P<$IqA&utzl`mEFXk2x=t5qnS4@Wwdy&;p6V+)M}A*^#>Bh$J)>9n$EBa` zxr!#ag)g;BisW{`Fst)Q-<+#GlZxkUX{oyG6SgrtuliDhd(^}RwFb>8ZpB@B*KDL_ z)Ldzpe`s#w!iK=+U{;A`@|Py;^zeK9y>iL(y^(^?n~&PKNqXMi^8EVxz06NFCOIAs z{^T2(;W;ryz44evO6Ymn48EX^L76t2Dpwx*?Ela$Lv_)Lepx@wrM_`N91m)){OxR> zCjU6-NP2GGm)Q=F)*Hlxr0`sN%CzoYrO58eM{8=fOic()J-=1*I7?^`+X4l4<xfi! z6xc5W?_7C^r?D$`Me#X9cMZ{<FN4<F99xoFc|0m$zCLf4r9;ND&y%}mCj@?PG^s2S z{(GnD(o-hU{G6b7D|u3iG7lN|JeuX;bn}%}NQ%$_jRUJ=#b$&&UT$(={j`@}oG-F! z+t+FC&Ja#guzWOk<80O0OjBJww+QcEX{yU^`2Wfuv2*-uE#z!p*~na;5)xC+d{$5M zfc|=u-IYtkC7b&)WJ*?Q?)YlL!N{!gWx<m#CdunEm`xb&-gxl&y%*;ji>2BQem56f zG`Q<M@wIn<6jR?7hShiGeOWHM(&4RF$OUG0wdwhfgIND)mc3iRQT8jiX`1ZH-@bbH z104i&B_9-eiOt<E6a1mjaVDosaN!HBn3SZcfgR6Q&*1prDsgh<pXEzFov+(+pgFI) z&>^NUtR>~!U(MB9e=%`<71iM|>k;hRGUM^A%}*!Znz+a|Q)FVK`!>x3LRkr`|ESx0 z%}i9^n$e}r`e?G;)`CMf4>e`R-RP0Ia)PVk%d)q&XQMuySSDa=9K<5c^k>IW^M$LU zz2zzw9H}+R5Y}d#>=k_B>cO15)26@K#CTwV=ajC-1It>!tzIiAU)9<p=;-Pr#PDS) z!=tqweU;CqpH#WPYTS_dV>Pe*a#0EQ^GXfMk}n+}|H!IsDfYEoHiPG&tp@jYQKjcQ zk7_5>UfgkYf#l@#GF2CQzO3}xAYC1#wXO2Og<})$&V1XI858<mg`?T{$>d9`H}!ly z>w0)fdoHWv$}3C-_m^5Hyvdp@$knI0T;6Nr2DvXR!N;Ry8rE+3wm3g;`K7H%O=9xK z3D<VL_?BvJ`YO+ML&dkV4wo$bbsG;#XWXdoY%TR&ocW4b_eRav^AaoeZ(3k^+vxFi z)0o2>&%IeTMS1=6Sc%KI?x(IZzcTj7HF?@yu#3_0SVU3goyl`PojhR^e8eTW>yC%X z-k;N)!morJlT|cIo;urZ(E`4bh3vE3oIKXHc?(sX(^T#|v;FRk#g`h4THIF)X#NYc z?z-=KsUpoS!M1SLrss!#%DFDt{d>2)|DjpT(+sy+CCz@?RJrz~+`%HJX_gPtw?_26 z_6V|h?R5CYvo(Arhw7T<e=9pyHh*pD>J=5Wj*i*e=k)x#(!J_s;)V+w*%t)a$6R0+ zyRhkR-IRmO=@zfgmLCqh#D8i-&%7sJ)^z5r@kn=3c`jkAZMb;mCyBXx0-xp{d&IbI z^4nd>^7kV9EFMg#x0?Su-m6FS-`Oy`B~LCyo?7Gb_g<m*lWheR>l(Lu8`YQRbiZ-0 zIzOvo=}FhyvsiA<QkIsOc&<RxMaTV=mYeSG!WZ^)T~ySYssdE>4)NP&Mk)7A(Nv%F zY?&nU?X^r9D>q-8(!;eOxLiB%u}pxHO@K(fxK~V3@wGV`3<u=P8$AyEGc}LXta#a_ z$C|WkX~ZVuD<MZ461UV%dGXlt#{8&oNdf;Xw|?2IFumo^B$nKrJS%nTsbp^NEnE|x zT=sbX+F`b`LjO_)_PsV~{bi<}6HIsUlrK)O5%x=Bc)nFbp;Y7@OT^=QQ~E5H3!mdv zzchJbpyctoEj*KZ9yOmc3}U=5a#?fX?94rnmOS`-%PM43rCXEXtRUkPB5(J6S^nm+ z<&q$m*vj`_ng<dtUp1Fv+@!Q+c5QX&+y#PN^;68mBqUAVX-_TC<Y0NW^p?5k8|%wW ztxL2w8SGr%(RqGpgvWQmNv!dG92{vztP+psZQ<N3pQ^3!HvCLs@iZ>2)o<^9n$yK% zoLBqukk*#Im2($wuZsQHCOtjli~83ET)m9ag?FypPg8R1m%M#{YpmdQzJN_~GnUMp zzmnB`zX+r2!eg0>gpM<WF2Cb&|FY!D<OF`7%R5B(oe6&*%%x!KRv&eZH*ZE}Vy6EB z3;ABZ?c1`<rA59ycoHOguKrZcoF<Otl}4q?qH9$S1uP6#m{(*_yXyLE?t~Ld_V4#% zDL$R^WaSI~pU>7ToxIJduU+!%+K%4-S+8yS)-YIvp7_PJWqQG(!zY4!zDrtsHQ{>3 z_3|_Gr$f=|+p}h5ep;t&xY4$VHP3EsiQ{4Z(@d+jt*n=evOM&B#jy-YN0Zermw6;@ zPm&P+a@13<eZ`sCkG4(t<j%Bodf4tHv%6ONw_29=I@v{ia<@2k=RxtE3(UzM{w=vw z>2~w*#0h-H{ZX^xd9pqVY>L`=@{K$5z16%y-!;O@oc4Oy%$oDcJc!5k$kJN#dMk$F zilTzndp3;cb&P$wos;e)7(ULleRU_Q!NVsmpr}gbb5K-V$5LK}`;)I<ewD#&_1HP1 zOfknk_{)-JuiiG1Y2R&<cG<suYvsmstu-bk@4Up4%~wmdOg45nB0PWQzWCE3Vve~F zPghUqmN}YYdH03g)RpQ@T*voYA9(fpobBss_mAw&I_t!|-|D`*^7qlC+;z(?y*?Pe z#DCd=Ya7k)@oSn2&26j9xhKB8(Pmqrrp$ARHJK%$cSO`B-&BY1x_A8Hd;Ra>8;k`T z<dx+g$4tFCMY_ygh4XmGWBa*2=>?YDx$@53v$r4SySln~$&WgY_Nj(Xi`d-krPkIR z(wHe5pz$Jnb)9Lm;?_?$j<oY0yki_y%&55O@+^PNrJ?8RAO3mmB`fWzy;Xm~-JbNx z{m0pMPUOtrW&gl#-;d>bNlzW*b{rLF-naR~yva5i@c|7FimwQNJzFC7kNv|3-}Nh_ z6Fyl!+p|j6Ra`Eo`s1tYpzD#Bm5#l(=oX&jV9ESCavS^V<%fGUAOF<Xx#;hf$^Pke z<o9|$-7D*-7Uvo>U-g&x_H`ZG^&?g$Jm-tq=j&Aj@G&gETe0clKaaIH8Q-+@U)#KA z9ec6(;Uf~MO?Qv4-XZxntNa7sbggF*k6ON*`>@w`^{K>bYUcbVM-Oc?Tbbm*wDo#i zYey!7o|Uj~ak*&UvHZ4QRqqU)QgYI(_K7p!+qwM1zKJ4h%GWqnoWJ+{(&pzMW1jl% z3EEY7;Jhf$uTTC=M=mmiuTFno{b*%O%5jISpCy%*eBVw8+ai2O%|S9z%X<4))04ga zdDmJ!5+@y*!=Dq@6Q^+X@?Y<t3H>qsrzYp{HOcd2o>V_4+BJV)RoJW_(Oz25%6bD5 zdRG;nUt9Dz?&>|GXD>86niw3LL*kF@I;sEr?TIHshF5;gifX*EZu;U|6PhkrPfc!! zkP6@Q;flkSYk`_4B_v<IK3n-`*S)ot>}R#lIf~A=xgLD>*&UzQzgGOmRw<MhMOTzL z9WPpW%j-d|Ov$62Teh~v9!X~S`|idXw&L$Io?Mt7?AEiVrOtTP?#64b3!*)z&pge1 zs^#%#Q_=J7IX26xixsBG?>c+%`>$||TT_oLaEN&m`c-M-x~Ip?w=a)>?e`$pbMedn z49TD6+#)~sF6rIzbxqr5pH`k7U(cr7Op^0ibMNel75ChZvoGas+?&6s^RSP;Vk_hA zwv(1}Q==YTRMZJ_Eq!5l{Z+Q{nHv6Cvr>}`XDwl#ExqmQ%H-}!j>YSj2A<!h`LIKh zeHO#E3!mJqWI{IF-qZd>S$*fKlX_N{Th7?MmsoN``r?aOvy*eO9N+I+JD>m6JkO#< z2FoSY6`t+<x^uF8?au!US<Cz0pZ3Y0c!MXs@L#N^8teAU`3i*+#~z<lo}gvF@tplN zi?izACcnAm%~190s%75Y8xQ90`|1!ac7~6Won5B*{Iw<7>0#3CaZ{tty;VLm@l(1= z*o|v%yVw6xny}nbr`{&yGvlmlla!gaSG+#3a?+K?J&uRJAI;Y9%n2>fJ(zf6)#Zx$ z0n_DtGFD%oc=^-f8BDxlpI$WPW-3prTCrBMMseM-`L^9(9(<fU>umo~t0T%!=AX9R z_OUDYQEXl4kzFmz?Y_itXFs@G@@Id#eCL5buin&gew3bS7<KIJdo}jwA#X}g-&lHI z_wpH!7svau4!;f$^n02oA=t<Gpq5qUK)!m@pD2;s%Sy?89tnr0)~G*vd!%+A@BX`K z%o8KO-8#2gruy-$$nbUEg<+{z*6W*9ZZ^m%-17NH$TrraAJn_ovHz)#UNm{mbf&fX zhu4cIKbv;Wz>0ka*V)LVnUhOCuYUZT^~5pzwOOZA7pic47vIkFNiRg~+~XIPD|0dh zwm1KA7OpIMWmV@MxHtN%Xj*=|`FD>^=htV3J(*Mc@mOtP_?PqS8Q)(_y6<0{cfLt@ zpKW$(om53u!g|#sZzXdVl>hp=W}cGf&3AUeXVgCU?$K2`zy4;LQn=={;J(MVFKt|Q z!DPjC?$yUW86MDRZ?au|jsNgkp6Rh`rB(|p`8@H){HhasKB)Dwsb=q2EN(bwU>yE7 zyfEU?qDy-ePVW295HgKt5=V%v`%=5do*yha<BkXK+Hw2uSFZi7rOAiu#M?Dh55@0f zc*w~tA0M@{cxgq|mHtgptj=@tCw%bVDtAGr$T#!hv)YNf&n!qWJjN)y(QoVJlFBJt z&-{zDWjGo;>)NF&3fcVTnGY5o^ZdGMdqCxF&P|3JUa+4%@b;)(!BeSS^6f<|yBfl5 z9iA|MU0YFO|4@JGvMb!iUpfDoPFWW5Bb#qeuE)tgz8<TK7I-K!@ISm!eAcc|c8Z+% zk9>i<g@r|D?~BeYUsj{pU_M#)_2bpXAMCxJtIZC&{q$(ABJ(7tiSsWl-(WR;PS3Bx zsqUevIr8g8iZ^Uz`A`w_%+^vxP~YD0PQ7q=$zQfx-weKqt+y^$UhwDj%C^YGVV_H; z_<a7Pc&NWPYFeDmeE;oCH!9tKbo4YFkYiL@6rB9jK(~f*#c7Rsxk~XmfA4H_v^x-< zFpquH_SnlAe4fng*`@Diy)n7pZ8mK>r*?eK%o(hX(gK{1=NZOLUj8TC=!C$zHD~Xi zKJn*c*QwB3TE|=0H<$eElXgDvMUrjXnmy_dSC_?a{ZVnsdI3*yyidkG&CBagt$j1? z6Z6i_kkilCn_i3ZOf8m}rsC4wdro-b{J_Ak^IBDEHu5*@VO`xi=f(P^J5Fft_+%}Y zy>8Qw;t%)Eu{7!~*)j24%>fIps=Cnk%D$J^-LXBo+I!Dio^a;Z;Vx3PTesiT_n*kS zNFauPI?H$Ed0MjBU$v)vkgO5@@a*!^(@PrC^QXRyIr=-Js_fb&hF!<X+qc>4FXOlT zZu(VamU~;&jk7FuDQga_E{&b>y4jm=l23HWjR*I{RZfX$O1^cs{Wbkmjr^KdRc9|x z-P9y<$K#gnxx!bRve^@7dtT4GW&1&NqVc5QyyCa<i`FJu#pIh6c>J(0(c=xg;(K@L z`PqManU8K@TI%Lqt`P2iZBiIt@Iwn5*2ixf*RBZ+`8@e^O6eM3f2WUK3f`{+Ue04+ zUca^W&^+bqb{F2KE^a$5qsDN{mNnsC#ihe%`)vJP`b=XcD=|C}yju7=!X|#gPsxu8 zAD(w!5SL08wW+;OvHC-Wd(4g=w^=z0zMf>LlevET+kU})(zlhRXLOdyFwIea7|Ro< z`y;(HWBVkdHAS`8Ltpl1oqv7)r`v+_{a^B19zAW&GMjF{hnZ0#p>FHTTlH^#K0LYb z^YUH4P5PU<l?&W=%D%pr{Bir?X$?nJUq?qj=;=7-|2XFD`y=yP#nvfT{<)zn9Xh9o zHC-oV#!o*#`J2lf#GaM!7g+K93FGE3UspW%A^f0PV$bWjUhkefmtfHRv)aqQ^FIUc zlSJLV)t0xvJMl66@%6Yb`iJ9j_0OII$wl-0uWhdAoHo&?!rtkkn!(Erd)DnxOp)&V zzWTz8S#KXR=F14USsQ8o%_{kE_+cyCqci$5egvf`Ok#Db)6JaDBNmyQ5?9t>`Au!{ zZO<u-N;Xtz?wOIccW<vskz=UqW4V7{YyXHYY*l?0Y1Vt@-0J=l;Y$A*#A-B)<tN+l zNcx}J_+j~-XB*$w#Pfa>KAd;qP(>I!_r%w)1JCQNSm(TQ`e8f%)>+=SS6p=bSt!pE z#uFybbGlh>uIS+>PnYVj%QbCK)_lY{O>(PXst}V;`^10mY<&&?$S=3Dds`ac+@>xw zf2sAIns(okf6Uu;d8bXAm%u#ZWZb?l+jjk(JMDC~KL4U)T?WU}?$lPETyMYg!@1dM zXIW-F-m>xSDSexH?RHbo$E@#M%QJ14+=7;U{AWLxe1Ge?D8|1$U*4NRK6P`KkcH)h zIlq|v_ZH4Ne#BquAos?Z{OpXL2fiG9-}Q0jmimrO3nRB`#H(9#%GPc5is$<ADM-rK z?GE$pbCQchk_(IGie5jmU-E9^^4&EFHH&*bMhgE4_~^R*ed4T|be88bze6VcG5;8Q zb@AR~8&ml$xGu338O~|qv)#ES@j-5?Y_iqSO%FZmXP0q27ric3DAk##-(zPq<I&CK zQxD1?abUl<Me)b&k3y&Xr-{$L|IA`t)bYbsSC+)y%rbiwFR9WqCuD8;<6NWqP3}dL z<m%pW^~m+q`r4=S9m@D3xzDcR(TmQ!w<-6xvv$~@2=lH<{@Aj!eDCgUU$mAh?cBWP z$1??$i4P^;tl(Vv;N$v^H7dV-KWVc(S5r;=s?e1s7|V9@-9GJ#bwP2@qxWZApFHRJ z`W<WUnjgOvw^|}LJaG5i9qd|>Q}^yl+h)SwCGPmt*V%3B{-y`Zo=szo*Wr8RAe((9 z$8<hN_JbHVot!BByX#Ld^Ix9)E-Pz?YFg)0n`^n=hpW~sKR+*1bxQ8vr#r)Qs^nT` zJy~C4_#kcSgjn0n8=tCleEq(D#oL4r3%e9oysMnNW(5Pwul}ma{PqjNrn^pk)=*J) zlQ1qjY1)1*>XK4{oxgwU@ra;V-VRTm%j=)@jlX&Nk#_X#le!PKca+|Hto-5o`ZXp0 z8N{;8f;V3N5~0$2rTq}A<=gX#k-MIE)+E*@8g9L$P+pUB>v>+*<Ng)9xTpL~|0ntV zs9PZG>*E5)-kxw{zjAHLe1^P){`2udHzk>R6ie@TzH#4LwMELj*Yr{9&dq&Cc*Kq# zuKO(OX87~UhCk{}@6S#8&+z73R{O%Kow@g0Gd^=h2RyZDvu`k8rtta4v_ndj&r;78 z{<?lB*V%hgy>`gf{k_s$Fa8*O{kp#T>OP4VVfUgAR_1<QSNCzkB!0(t*}c0zY@54$ zMW5)LlWKLbJx10OXT4}s@{O6!d_eWXvIQG<FPUicoMAEZ30tkR`&;s6tSk?`du6Ih zUDDn%eZHGVoT7i^Wk&jyKW$LIE_&r<m3^<d=++Mpep|k&`uccn@H#!`LwPp3nGCn` zl+S;kB7a`g@ABc3a)No+0_RLq=s&e@g|G1=)%EY!*2pr?YhA+S@a3Fq$o`!_R^|&y zev!5gow#j<!0JE8_nAGY&9-0rO<eKwpE|+K3F|)h&;EU?FzRECy_=hux!|5Xa+S>2 zXMM{s_3ssXq1f)UrG#1fjNqi&pQ4M4AIW!rH#>IgyXUsnU;KLKOl=LnH;DFZ-1NfK z?|Jj`!~KHREn5P$h5s;Ik6idi`s3NNKc{Y4sj9BO%f&82`PyEodygO8iB63!-JYtj zx-yHyzBPN>#*dd?*|x{eRJNJ%?P2A&2f-DyrtR(e7ME^Y_(A)a;H|&QzFj+*{Hm(S z;=IE3x!xbn$Imz|J8#O2pzsO_cG-h3<CfRUAHCF(Z_3HE@@|un^mgS-8{U`LcSxPx zv}~curz3n%HGCYZK3E4WkMl41mhoBTNBN_-)@OH4_Gw*o%-g!T@33gS?}vHoO>#}| zF5MZk?%Ev&g|837*Sw79{}Wu8x5)HZRa?=WI@8VUjio<Se(RoL3J|GT+`F%B%hd3M zr<S?OhiBOoE{Zys`|Z$;e1ktTzKXt<ll<V;yV}$Kk4n_iwOhADm#Nqo|7!66ysk*T zZP%w5?wtu8oD+_9_;ILwW!w7vNBE=kCX2^?_iniz)ZNd{yi#pPx@Jk@DgPBUHrrwy zA6{I$W?k-thE4uOtA2b{Htj7<&U|=##*-^KZ`8L>jEz*-!Foa_;laoAYx5%iDD6As zS@ue0C%ewN*uKks_qHzAKWOXrJ9YPqS4rELb3WBHZa$l~<k!Yef-j`f53LtEx_s~V z4xK&b8Ef}FlDs;1M)UW;_WG#Z*^B-dU$ODncsn~x{$^)EXrZK<>-l>sU*x0q*)eDQ z>YJ;&^xC{>(|LCa9P<;lmGpctIriS{-xe9OVm@rWyCrYEOzMI2tbRp?cfPOqwk`ab zSr1=$z=!V#cRc0(yEa+*=R!GC#;)dbwXD^7(?6{LmU*E>qsH;E=a#iezFtPUkGf(n zxvGci?BQRrru+QO$%m$2b~X7`>?+ffQtozp>iGigOIzkQ{Nsp@c<VQ>iDT1=H;XHi z|5aTpI_B-|ae1md=a20Vmrbr;?OMF())Cz$MJE<#1kd^MMPgmt>xb33pOe{a_;;=1 z`uOMdmv84EtZ#pu*5_-R_cq9OpXXz(TK@d3oAJ$3EcrbD8E!@|+kX4$>N#3{GwpVW zYD<f(IXqE*qTvs@4?dfARc1;5c=WhGt0iN5(fMN4HQW~6j8X<{pXys3zpTG)YyWUr zZ<cCbtQmL5=RGwGk2yRS-8P?V4{LSWrl^+&YaTQSxG|hx8~?4vnyK@r?SuHHe@Y+2 z=2~Zd3-T<@mG-xuA}wSpGcB+A(xUpC&*QF7K7Vmd-KAAGb{PJ7zOP{M<o>L`_1zEO z&Cky+U3!*rOZ1aZcXj*DUf^5sXxkp!hyHv&s*i+CzsI%l-;v)Yc0Ok%RJ`YL%RI?D z9`*d!@7<f^6@MJ$e{=j%#q*F@t#9|#w@rGp`_?`&iJj>RJ&iAY+8@mCS@ZVcN0Bh0 zxQIL2ON#D9draJ6qZy`ryX)`uYhTuuhh5Q|?Q><xCw<-Cc{2JM_p2q(N4-3Mc&+Fj z{?v!nGozk<Il%W*f=z|VY))Zc0V}t`)VGNl{m-v^{_tIAy!Y<4IdU#6Jt;if9gL5Q zUiwk~;Ct`Zw}mz4iA%a?KIvUL$;c>BMEKy>Z|iSa*fB+(_*ElxPsek5vD}3t>96nY zWvt`N{1toq?89e$x8L&Yev-oGuy_Sa^4gL^MU!^M-4m>u-}<3O;-l`fUi+?6Su<a2 zmrJs1pQza`eQLvB#Q8p2PUwgA`fS#>TlPxMd*|k$a`4vA9LARu<M-T}-(XVRYyMk_ z+v7=FSXk*)$Jmo6^5zx?p8fFco^|?`%VxKh-fAq|z`{D2RgytQp!jUoi;!&-S^Jkw z{As?h?)0yzeanm4`=`D3+Pi(z#5KAJy{XkNPae`@@OM6G+a8~NZT{x%U5ZWhZ*Aqg zIo7t_Os_b1eX`_@<qK{5v;H>Eci6uBYRTKUBA#DGUL6ITXAU~ce0{NXz3Lj_Ht!ap z#r50_hd-HK<=Ivg^&;`_+PwCs`<v|3a-F_$dv8oO-6Os{(WoJ&<;gz#7Wu00{`~(= zznPvAyC&>g^<g2m=Q)L!_TBV&-0S4F(BX~6O6^6GR=<7DEh{wtuv*@(qW)XWhkczU zn^&hf)wzc<^jUp>w(G9_gZ~UIxy!3}zpj7F-7f8Y_FTA4VcgnA@7Tc88td9sHgm0i zD>*I7w{14Z_KgjWQXfPsm|tjB=sesW7I9Fq&(E*&Pu5e>%QB{>n=E5JZKIV97d~xJ zf9WMCzTl``*Y&AoYH#u`&MIRS34ZFd<I;k!qHerahpu_5ZEqFwjM!`-GpTA)*3a`< zdA!~|Ra2H6==XYR<G;LO+CN6|_V)@~PcXJztZZznlsnL86&~av``YYt^re#D<-7Lo z?&4U)I&<a$2EJ!IHWn{>eA+D2f2Q@4n%^I}A8cFwxSLyb-@o&-o|%Q#Zm9HF<*#nD zIeD4(L7VvBnm^{f_u299#N{m$O*ZpSHP`gGywGR;$8xrPpZbqlu`IjeUe8^-%2+4G z;;@_H=UU765mw8OtY^<$S>(5z=Tj6zN}o92>G=uuRv%ye4Kv&|^F{E{uqc(fyzKhT z%a8g7hyG{q-n!x9!^>}Gi5eW=f2Mbn!G3)m|ESLu|Cs;ee%QNq>CO+oUQKeB?7N`I zvGHe5!5KcI>hHFzzfL;;sJvM}Y3D3mN2Vwz^$FV<l+z__&&#r9ow2k3aQXI)J9lEZ z3+wsk%FjF|zU}di-{JPxR_s`MresZM{1bac8_VCi72kulUfKW9euuZ@^NGtdS$zCw zSV%B0h|fB4%})4_?+5YLw<iAF6_4%*U3#B)H^pq5UnFyn<-{E)-W12L{k~s(pWMsv z>a;zI&k|ZEsU`U5OyJXQy7o`EM*h+?>x`$`vQLhjeR6xFM9w=Mj|ajpV=f=R9G#UZ zbvZv`{^YYCnu9;wT`=o<wAp#(T-OZG&zmY`ExvzS^P|N2<nzA6f%DGY%eM4c`n12v zL8ate_7~w}@mu^4&0fovU2V^qWnQ+?d$XNGkI4CZk}3_=;T=CVKVE)l;?tAthjo2* zPsE-UQQgk^PpNW^;*8>4Vb}5tKe_$=Wh#!Gnc$wCyu2yow1Oeik`D(X%Gdq&|M0#4 zkGAdFXWQ3j)~A1(W%2gV&+aWHHq1@6uW#6Remwu+>SagX=}q}-9|$%aP}VYdweawN z1_8UNkAHnX@}Hr_Tzq28D>11hX`vZSQyzvCPgo#OtEuCh?PBZN?05Z-@2b<ave%~V z^GUL3cJDYD{F#j*W%BFr1s~4LDt)pkJ1VvLUes>=nH;C4CLWYL?!Pp2_s8dlEgx^b zWa2*Gvyty->O`Z6?EwWw+Ov0EuMwTvb@@o(y|sre5=1{ND7|;QXO^<rFRtf{qh6Wq z3c2WOVtANAMRtX`LE`1o)aa~P*-?ixWt=RUckj$NsLZY~x&PEo^_ivLGIeU4Gp=pB zk*~;MuT?c~%S+SS(bbtO;sxTV2ds~=Zxk`R5%Xo~NB8!3DNWB<QcGj|YL<qa`YtJY zIdh)gh5WF4=5x-fxXxkT!uq_2@8^1^o!6gizq~N>-(ee{d)bcyPv#jEWNF7sWComi zR_&dn!YF>KcFtd4e`Vo}Uje=k*1DXQj+L%_lCv>^BdOj`Yw5f8hpWXp6RrqwUimrc z&kikrW?AiL^M82Sh-^M7;KnLHN%hXs-H)%$H(UH*ZB)jht^0R|1)O=YcE&XW%j9>O ztAd>Dnzw)W-jtHI<9CYr#bu9<P7#fdvwpNm&7QOM@JZEQM->u07_@pyPOP7te0|~N zt(@{+`*;49;N2j=fA+?vzT@jnS1-N&W7;3K?b7$+qTFvWKfe;HRrJo5f7Ltve-if^ z3v*Z9yloPrsqpr|*8}fE?nnMe(%rNC>e_$q=V$O0`RDxNyZYc(dD~Zs<(X=I^14Mb z8eu2xwwixSo4R5q>)#eRAFVsd)0B5Cd1?1}lkK|qu|G-zgLJEI%;fXTX%OF^_4Hkh z>xaD(Z>}ZoWo}XqZj6iOZ?ZA1EV})M#q2R_*)|EDa+4o5vJWE`E4fs9uv^P#{Vsm% ze`EbKwtn|~$qFfrZ;|&!91I&I=1489ek3d8U267g!VQV%J!aOzxAy$qqyJDeQ0G~w zUyIHRb-RCCC*+tI7kRlIx+u-c{pSq3&%|r<H}-#KvMu+%zGX(u>KE%h?oT*+@-W|# zuqk%xZO>dL{d>FU(~Y-+8x<RD(tlp>K3SNbm}qeM&1PYqQXTORwyU1*Tb8~}Q13=M z^E2x@|3gcUr0+SpTGmr-lH|mhClsEmXng;^*1PguUhJOPGgu}zH=OOO{hNJ2ao@Ci zDs9<59slADCI0+;R~Xg5BEo0l&u{Dc_Asn*_-1OxeDlGTua+s(<c(}U${5D|XK?nN z^zHo_g*)~${1y1@|CT;2JM<`&U&Kg*xk*~$`|H@$tyeE5syUu&DeV7KQGJPd(e7RQ zwz5@s#`g$WO)&nO^>nx0(kWffA`Z`ypT2QjVlb2IZ|@EH4-)6s@n-8>yVzW!ujb5e z9a7xy#qjdM<@DAiQ`g^Z{%~K9Gx5UYutgX0mNniib$<4a)mgB2-_(P>8SS&86AL+} zOK&eSe8v8Cb=a+qIi9Rj)+EVSmld%~E=W(cn_JLO`CZAW!)#sMOI!bIv*mhoE;VeP zrc%6rVZLMN+tP?z_riB?tME9$<5!v2E?QWsD0eKwyN~U?e@*EE*ZMaVi4&(TJ9VP) z>3;@}?`I9SShH2!5uN0sqQQNtsq$#n-&L2=^`B0QkGmgLFz?QK|H(H33p8C9+=_k{ zaqw8B-hqi<<fe+uN~!*HZ0^iH3x=evQP~wAHuEUg>jwvHpQ!M&E;WyF(StPIHATi| zUVVWbU%!eRyL@%Va`n^9&)@gI%8ogoH7|~%grSLDrf=qo-ZOqn!xhC>zR|qHv;9)a zgrol^yzFV0U@l)CwQQGi)GDo*6gN*xd&6(v*9zM1)@e)EGye4Cv8m*5ZpCsTorc~W zCnZdpo^pJ7HgSXA5tn*teTIN<Txt`S?)bd9L0Upm_G1*6?t%Xdp6a|8)-U`j%6yBN z!|;Sl!^e3op-a?`Zrv(ylIL|9hws6zujd!Y&D)xJOH$^z=y@)qn-At(tDl@Ja?p9w z^ObUQKL*+^U9zd?#0djGUopka-Y5UwwmLP*y=Ou+<KEt|$v!ScD!aI1*tn0MvfDc4 zf|ig{lD~C5*HRN*xs=al8=pV7+Y*s+v)`vh+f(+@%DbQQRrmW>&GOaU?(tgf$9d;I zd#>lojGdeo6aVg-e`uYKd9i4*&BO_H2~|A5`lg(EW|pvVdUt|z-gD*2jjzM@Z+hF| zUVQ2a@A7AId%`p>fA`q1_O_-&rM%wb`B58Xr%byYt8%MSMR-#2<+avAXTvva?lp@s z7VtkM>Q?yv+Ju)c+RygRn8bJIQ{fG%Llf7<-cmTO%)Z{f@yjx;EG_OWOWGtJ?ha_l z;>cIJwb6TTUy-4Y*k&usUeP&ErdvFauR1cRdd5uOea~tH>W`bwFI{~<dP?J3iDeh3 z@y@xtLDqBoEP;JlYi2T*%M@jK>h{mseOHC|O5f`Ks?R6)I2UbaGTD~mlIMBy#9EE5 zH&s2Cblptqvk~K+d~g->>Q7fgDrXnj7G$LvOwHYR?5TlO;jb{Bs&gUlw(;FKafc(S zOE>rYjLT6<%>7^8*Izfy>~>CZ&DDM@&{zE{)OxqKgXsO)t&EO-0xQ1CZJqN^A>z}a zs}08)qfG<%crSBX{#MYZhr{yr#4pQcn(3P^-O}Q{g{7|WPvkq#<y(7uDzpWBzROIE zD6Htxd|tY(W5$(t4u8^L&zkwi;bOzG%R<6`cxSCkQx5W$=;l0}=x~hTbyv~N{9}L0 zUmp0jChQ~2kyR!NIVzJZ<(FD+-5oKbds)RXM-|P3UlcAs)1LA|=s-(&oZ&pq_W@fp zb_U$FIKICwt2?`_c)_Gd>1yHDz~(m|-&Z{k=nxI(X_)`$^;s^5i>tnEd>cE7si0h- zGUm(C)Lx@|_Pe?YiXt9cu2k6-!hD)Ruc~i<aH!pNCPSkW%0We(EKm0uz7H+R;m;OQ zwx49FGVS~Kl}cOt^h8n&&Tn8_z4by#vZBU;$NB60qb4q$+0i4rc;orRTWbv?whJk8 zEfr{yIPqZq+KAsu#y>k2SM#LEOt9P9b4hXH)ESy@ET1iJol($x@RfD&j-B4;+GJPF znN%rxl6kM?EG2Ux_JXXg2^-&foEE71BsKHjq}7{*;(T{X+LV4-S`@h`sj(w`3h&;k zp0p0p6djcbZ^D%=PTr3A9D7!#dS<!oVeLLXEls^R^@3MtC-0eY&hX`rpd4SRj2)`x z%qNfeX}KQBTQFg{%)}GyuOnWs@Vm4{H_u$Kagu%aQVo5sH9k9--`8*cx_Cyjuh*s} zOPV4(&K3R&buLiYk;$2R{HX#TZ}2n+2MOu$c~;MwS1;MqAz$>Q=I~RyN2?zAs(wuP z^mop-a}Lf;j=w%eettbI%*o?J3fJy->3w+*{%V~uFNo2Icz8&L>A@$d1=$_49@Pbm zr=ApWo{wJ}AaVJ}X^*DR;AbwcMBd$Sn)5r@y?e_~<=#t@GpC-i)Nm5G%a@(GtSe$! zSHy)y>kL9<9$)x%CFpMC9(B$>k;d)P+rIs}(BO7Ohi94DM25suZPt4$mb<UX+%9uF zwn11~{^-kqrT^w?8fmSX)7;ctan?iZkjE{@JW&||>GUwsaHjLO7=q5YH23{DzBj6O zn)5#8srE|~TetbHP^zEvx$V?Hg-f<e7v5R>O!J&wxI$e>4DZ`M``SH;96vq(g{%s# zOE{2c$yI%g>E>-$O-{2<;aWS-D_`qOo5Hx^&yoH*+f@$tRLt2YUl&=kF;{Tgi_;$t z6gNlo8gKdJ=62%|L%TY|e6RI|r5YT&8+H65<d$#a<v6=I&-VcDiUS(Ax9)m;ZBe+q z^ZQ8SSKl?1J}dJ5kbJ)2i~8O)|3|{&GvW?8Z+Xn&cw((c=Tj?5mxQUjJDyLz{X(;k z&mnosgJjb)`rTVr3b~pIuar1GgX8gjrshX`MXWtGctyoe;gRX7&CWPGrEkIlX}5CA z*Dvg*%uAnocth}QW&5`3a7+1~l4N7I52vM;yQeA$Uug_?+q>*!|E4+0pFfwX{Cc+1 z!&ge!Q>4-Bn9}WebB|wJy}~`2G1XChy>s8xI9tDy5hjyXdEU3_KN8xyW7Ce<zK^@) z+zy_rt`m9ZaD66^`x)(LDGzV2mt7IU>OP|)@wmy?`F^@j_QWM6tJ^YHg=Fa7)>`5w z@g(0;p{mf`Kxm4F&B9L&#;=dMZS0g_x);IzUatLh&{5S%E;S#XH20n=V3512V7Bma zy6Tagw-(>NHuu2#C+XH4;r5>{vMW@lt>s{8ZM5A~_(Ch-V#AS!iGA)Xjwd^mYVP>7 z*Uk1NBO6NwM^fSINxt^q-F4+8+1UK$4d0%P_?cXA^aH!w>+4&+SmI6AG(4VreCOAr z;@qOw?izSa`uSMLu*=O@y!q70*fqAjv4Q)uzUj`h)shUW?AG+%_`LP*h3d=C<TayI z%w{hwcr7Tw7+j$H-aq02!})X9Y$o3Mt95Ae5pLzj@=KKt%4F4@Dd1Gyw|uR?L5Fd^ z#-UX!&Q(Y#O-u~9ec}$|aj!i}6%#x{!?zW2%C|37XbV~s+QH1yQ1wrwm@(ieXLm*5 z7Ma4=0n=3ey?-{LT(&hj<IjS7@v@OqcgYv}8XP}UZn!dCdV1zRVW)(^j6Ki8jNax5 zPB5Mr@H2m#$0Sz=_cNk(-<M?vSuEOqe9{b#9SmO%{<@O6$w28unruja)DpIsOOek1 z8FcQjF$nRw?_70EO(3`HnQ3QHfummS>WCvs{aKF-RJ#pM91RJYTyt@v0t=f$iTbsb zMzf5CcsI20Z7M%qP+Pg;7Kh=~^D>WZ(zc~+JN(Fj&EmxS_nuD{Ek3p9?J>i9D~+TK zmu^ZEJf(K0{XL7spI5tX|D8K`VcJ1U%jcpSHb`7@ZVEkCI8Tes&0y8EpXZFfd{LTu z=orrgf8}X&52r6+|Jk)(b@Mb&-~Dq=dF1ZVuwA{Px`a>gx}>bf6R8y!PK#*m-e$B> zwc(`6Y+-j<opN5~R#nlB{Zl@^?m9c~R(cu-&ul-wdw$uwGd6wl`D8wY;b!BU?K{4# zx^y$I<0PL#y23Oc=3iGeg(`clZMM$$E{c$UCsSv!YEo3prjyTZ9pCZy0^{G}uCHOi z)4OiW_|B7BTU#7>Ql?y^vrsP1$aBIRW2r2cPxCa3*2{@R33xuydQw*!nZUj#nt#Xo z?CMnii3a|K6Dq#0$kS0!bz1PVtvFoF^Re&Jv&yX@&bvRaxb3^U=Ya;7y>Z<Bzq6UP zIX!9c7dgIVOX|t~0^5GkRTJbiP3OKmyd~PK<nDilYpaA}Ukj!t^;zyU{PZ#Ib@38s zK`yUl?-<U#d46xfzf;?a1Q+&Oykg^Aeun*gu720yX<IG_+j_ID$kY21VW_uwIRhU< z#*N~aZ{wYowl2v!oOtU%lT|_074M~)tA&<i?-Z8^J|Xda@r-Hb=Pa9lWY4A>Csw~a zR`@>ReEGVlcZthqa?89eoPTQH3bV2sKfm!+NW2c%I&I$D4U4q-zZGc~3)OU%*RDL} z9GA%>@>Of*;}2^pO}!(&w_omBZlTj6f86w2amKg$%0sMgxA$pn*(Z5%S?p&QS&wsG z&F)(^$P1h<PByFA5n%Yf$$oCwZ}r)Vy-j({b`QdDeEuPP*xY_^>aF%mc3IQ^Xs_pH zWBHjE-T0~I%GDC~6U&`HvsL`+n;N;t?rG6>ZoT^t*_YNfnm7EBXZ&<b%=xl%|EZ1n zHqwi3ueLN?)8&35oaOn#)x9AHej52IRUFK8>}3x-=de=TeW&&9OeF(Oy9M9Zub6#k zR<UB3wflw>tJXgBj&zLpCD`Q0mYs2efA-=_^L+HKOMYA3{qV=c_F3=BtG}$T+3{gl z^wFn3Ux_>@?9-NuXLUKQ_GA7L`Iq4ZHa!`FAFiENuCu8Nxpq<V=_7NeyA6-KzPA2I zuB|%tt!fqT{X=)^wkrM6y0)Ds%j3qoH5}(3d(RX-Q}N-FlkiS2`KrK#h5Jeh-0QBs z75bxf?JD0{Cr$Ycd2F`D^R`_4a5^-S>CP*`ZT>!wzb<_%UgR(Sn_Z>pxZE76nK`-F zXU;tMD{b$=I_Z0Qf$wvbzp@^C>|@WX#H?Q~zwg>ve<K-x=~#QO62A15<YP=1zxf(^ zI+k5Bc+qM&|JdH?|3sJMN=|+oc%qBlP2pdN=L3_7Lr0BH9A1!T@#|8NOuu5Zt#I1Q zcTvnQ3a@p%*>dLJqlYPO|CB1$2TXprX411zkDI$E9iFvnKW~$8i)-HNiA|ZsLX~T7 zm3GyiKI6jgw&tbDYqbZbl;Yo){^_myQ^&lsqyMgB<BOttt=<0_I07`pJe0R<|MC74 z_ar!o`Cz<ni={veXT$5ht=y3h-pb7Se*J@x($9@Peg5%Nn6&vGA2iS43=6XQBLCQb z#=7LAa%T_z3^$dIwy;sReSKZ{ka>^aNyQ2CcQGEf`zo`K>q_W$>x1t^cm7!=Eo@V} zK;^@hUhc`~D%bnZJ``>^kL^L$mU)7E!fz-EF&WRjaaLUL8E^XJuE3>2+}g>uo$H<J z`Bc=C6?)s_iho@VUUYQJBgY@XK77KzEsqxlt4?No9~&~u>A8~IEnBNAo=a@@>+sGm zo}jgk-RxSc<CB!?&pu{F9$cFy*j7uui1tdUtNZcZ@89{-(9HB(J%uOEX-=DY%C=kM zu}-~}W4cz)gO9gGudXRL@P5}ngW^xTdnUer=~p@NypBZU!N=+!7p$IhC}Ov!V&Tj8 zeqw8OoOpg|*RqUL$5f{(+%njc-e2WA;d!y&y5qM+ZH{a!ddtXVwmvG^QO_@&ZMUlC zcAk&P7x&Ng$hmsw=k$#acp4b&*V-i(%eYTEEE&XJ#pB0lyE{A~hj~T%M2EbF%TGRh zwr0D>am?LhPNzkmyRJ{{{k?aLFX!3ETrb-vG4p3vXmVd~V^{tkrScbz$ETGS&iT6L zPQznyb(!Me73!03?PB}z^@{KBvpc?-3TJ#i{`u{RUzc{MB?`G)9#tq<8nNtM;m_}@ zFGrnQ^6$OH_f`4AZgz=Xn<i_<dL(Ozq@T&%?{ld{r7Gl-<DQ<+0VaAo5B$x%u^>$$ zgw5S{$AWjS+zNe8S0w}{sNV0(EH8egWng@z@TK3ax)+c4+6Bf09q3v4Xhuw*t8)H- zhS!%1ZaiLV(sJW^-t&*ko_t?8b=%bAQ4STy3&T$Zyt7+2qpW|eCi{YAqR-|w1l*r$ zW1QTlCFgj|V)=td-NH)oCjEOnmwvVmkyy@TWb8d<QqaAbOYiu)&-s3od-8<JgG(+5 zKR0=jD5%rYRAI5=z;U&u)@^t9G+)29IfI4gP{6{Dvlf#gCf~T!(O{c#%=(h{lmdkh ze7ua(maqMmuZx&Chw-J~<EK(eU-J+3YcS55>-Biq$J@4bTkgJDthLzg-&Ea67xXT; zh1-33$LF3HxY@jJ?<!-ps?w!rln%9WF?BI7nlo?FDw|gKYm3rqJ|7o#h%<UVVb9lP zCI=pNN{V{Ozc2o>Oz=kl>t+j;$6IalCjV&5YP*#oH-&MLUXh=5Q00^UsIv!U($%KM zTnI{=?QhbabAAV(!!gaZh39RqRePVe%@UjP_g0y7+RWVw3CxYbst>t}7|*Xwe7^6o zmuljLFN>!%7v?Qy*D-dE)pNJ4k~+?Je6OCLX3>O+>#n;9-kHaKt+D8gm&HNR$$QG* zI-9*(Ds+~0$GP$X_pIR3Pao{1PCSvTw{o2NsyIrcap|{aA7dfDtiH<Ezb>~~rL_y_ z&a8M+>^PCB|9#ar)4&}kL?ur$7(QAuQ><J3>BcY1J`}M#1_=MS^yF87_T)Cnm)<+d zC0Crwvi<qi(PeGZ?uG+z116u-+}*2wZJk1=@vSKdWh+jemw0|{R)tKkWO7+mS7Jh4 zU_<82$07@=0+^2#c1>5mv`}phhjO2$0^5VfD%D+ij&}RLJU(%Eo>fq*b$N2%%w^2h z7ksta-v7FMXin~z1(N*Ry<+cAjWBE~?n*m2PtzpL<;;Pq%OR7mEx%Pf`Pzh!mu3jc z%+oTm?^>?=)<>a4gi-8~8$Z(=&a)aZWlOa~8bX&nG54Ch&e;9ak^||=OBp6Qs&6&l zsvyUhy#3w$DszitkLLszzV<uuyp+NE4D-F|XVh1&Ix^>SdG3P?tOx$KYMpo>IBP}k zc~Nur9~<iDGI;K7IAPx^mvE5x+QKE=XVp%m>^`bd_h=D!-(FsQX6=^&%Kxwak+|)> z{nA`7!>%)IQ`MJem0k7^?%VR{KtPn_W|M0Yrh4z+T{6=UX=^>JXLu!{E3KB@Zi|pF zOaBR*;3-_)c2nNW31B{PR)ax?EA62#Z?ogV9Hqt`UG*pDX)RFU3b=WGD}xUg`?r<N z$|a9h<b7SfI;lZ_N>AhGgzu|9$;k0#iIs~SR(yZ0DaAvwb79dNQ9o{(VxQ-$E<0^p zFv;nFrAxv=KTgpku~6O}Df8ytk6PY5=kj&i7tGFQgRHouN>h(9*d1Ci=htP2`j`tQ z-Disxez&?m^c5DqA^$QoMpW6>-=yZqM~6%L+Uq4HO*JPnJzzYW-gCLRZi<N4XMw`4 zg}<&`JTK3j@!j^-vU^n_)rALMhRl%SFW{8j`10lZK$DZ#MZ+_f<WKqR*=T(JLULEf zKF1ZDmXGGK%LFk+JmJ2zR`r7X0j+lBc~=&E7vWqSx_&a3Nb>c2Q}a%;BqVQ5c{1_5 zN%xMz3jr#<@mn7Jy*MlDUeDww3+*0lE|+`jJ^5BsZ^)kKQ{$KV<S%4qWb;kVv+Xr& zFqL}aVJ2YsWtq)IQR%8{d5%l0izhpX&20R=M$4+>gI!>=AL9nj1?;mza|(Z6sor^T z!S=Nbk&#T_mKlE!zP6C%(&Xb?V<H39^e<1I_hm^>)2iY?`N=EK)oT7OJYh1^iO=4u zpsrR+cgLTXYbP<Vvzx3_>y~x%uX6gaOo;Pwe-@Xa@*KV|%~R^<9Gat+cvAht3d8Hl zB6ImgSi9R&UtgPYs;W7pS*Up1lu6Zvo|~d{xqJ6leD>PR*AOb`|EMof_-DJ!oS@3x zs|2@lY8B6qiV|i@RWFZW4%R$0_qf8hRZG~8TbMknY1+5t)Ki_gyN&0~wOnytxz=f? z4WFT#wG{J|fIA=k?-Xv$TxexrAGKklaZy*a-4xD6n<i;F{C1bkdb3SfMceF<qlNmV zMbY6C{xq+D?9g?#(=uz~Yz79at6wkc6*e(^w+Zsk`1tqX@$FvI&g!I3E50_P@N`vG z*qkyWZ^;q`2IKSfiSGk!H!@FMXrM94Kda#GmC(t8%u8JygG1EXW*YHl^=Fu->1$Vf z?&QAHccnuy;Yjb1lD7_9C760veXy;4`TD@KzPauqYfe=L9^cF3J87n;bOFN(Y3Xjh zwq>584tHj+O19CNDZpa4^JQ?Nh|M0u{HOq}nj_-H>9dMW<N`ui4Bq)il_h($D^1uT zGjGZ<6TUfLR%WaV{CL;siNf){a@muwG*!)yN|&_?wq&2|5wqmTB;%f>#V75(Dw5b` zGmY$~W`xPCos%}tNj|FKLv6<Wt|ZZ>dG2yo?*3;u#O}9ja`{=0_UY<77jRmrFO|*| zt<8MdP?W(Sxbel33l}%C+y7fN#aru34Og<|9gkNTOtw2u<lSFuoqzf)>+Y?r=QNiE zB_-QtmOUuaG&f{snj>u!ywRDDJ<izg@LL^`w_g|Z%wMWzf6L;_Th9eDtM@kbEt|D= zN1jZ=g>`|4m$L*VGfN!v_i{1vJ@D;MhWdVW`K1hnZ!|3eFPm`0eD063Jos%{o6_vb z=WVMlnAq=?W=`&zm1t>G+%?r-Ui0ABFRPx)Yh2<ykY|vgJwGSt&z>ifG8tEGRC;$_ zRLgVz6v3CTyE;DJn_zBpEg|=K-Ns`ArLtOkrnklXY`0wVrtwWCXW&Vd%O2dH{MPsI zHE_93Prtj$d){6x-z#?<_T-(=Sjuql?fuumwHrAP>pzWDdAz<V;K-LHZ2h+wq@AAs zyxjVx``87$#k0=b311d+N&J@gMwP7!CQ(n`-Emi68xiYx@OJCLZ)<YzT--6wa{+Is z-fa~tR{PeFNe^ed%d2e-`D*)e!Sl%u!awJ{GufY!s?Lz`@x-bp4{9^mZKN2cE|oZI zoAziyf}zK9n*i2+%iV?V{i8bzLJYYom9M`JWv;ric;3{Q#m+rv4}D>3t&zFR)I6_v z{-w4!MyAQG)5L<$TgY8Cx*K!+l;@VJP*)$msa6_1l5JU1!l{k5M*H7OY*e;XHmTiv z{aMoO;yWLMmMFHLS{m@VzkY3OvzMn`S<0{N5-V9w&CdxcKX*I$N9OsmrCjSA{$}T7 zcpRvlZqRCL`Dk7A3$x!pr%F!Wd5)LaQsZ4pQY_<xgtXO@3+g^Fe_ZcwCAwsOm21zp zcf8K(Z92i<H+$7=uy60nU_O6U<^x}rGxwaLddAp>3u_OmX-`;uC$x2|x2vJbzG5$q z6SB6iqL_QlK2%08N#o&9?9+THyJvw&+1-1)9xuB!mHq7BXO_H|?W3lathMQ%^;BS+ zar5LLb~Rmtg_|DCvvp;<u)1bN<m}tCzU)|QqM-aakE`WDPw85XwKkdxM*h`L8ZY-> zH+i3Q@p0ev!gp?sOvRtg@3GC6U3yw$Lb|-)*0&oo{xk4QOSIXw<jiB`R-HZH51LwM z&gThqDR{L#$oy|H1J8H$($GWC+be^4R`#s0+Zq+DAi>gCc(mH|ZvWvIGjwkC9_IPa zz{Gs~c|^F_KaS4^+jW(gKjlf}AHUZvP`T>o>4Qn`HCJw*=9|fo-1YX^)(;IyHP@5R zxflPqTJ2$@aJxKak2-tSyuz<0MU5x&wN@4QRr7t>bZS%M(__hRimzNx<elGsEoSY> z3FgdwtSYy{dM<N3+ADc3VqQr4_G>d_5?lLiwV35B-^aFmv+~iqcDC%3=!+8!@_(yN zPP=xtTu^gD9m54S6+vH(0}O_?o{!fWc|38~xS=9bQ1Rz=sX}kplH?2<x#C%E-XZty zG;aR-D}asDJ^1%IUYjF^QPTx-T+`T}F>bQuzqW|gU2;_h&$ZqS9LsWKUp=fnEM2+k zfO*yurY%0g=a{wT)D{Q6Ii3^p<8I@L<IAfgRwwsmRW>w+Tb_LB725H5E0e|NImN+h z=l-&K2(EK@zShIIZ?EPJ#}m)`_??f2IHXBi@a_oe^W!+Hca(dJ5UWXo4Bwrr3}zn+ z7@vQVk8(IJp)T_6PE}zb>p%T-3mX-ll&ogF>n7y8Z_%QdB6sEMm!>OQ@47I7;|zaQ z)lN~tuYnFKpE45sHm!TOds)@2kU55`{%8Mc?TiJDmsfsWzG%PBjX$gkrinAZ{kd#X z|L*&0&LRdDuQ!KxKKLg(tJ&sqR6yb8IdTpQGG$}Lr82mmpI6zW$H{wfuUmH3=g5nC z_sk7VHyzm>p7^A$^!bF-Pv1(sKbM_%Ie6<f%L<`z_8)CUwy#pUt$odpZg{y?Wuwk? z=?1x!_w!gwCe-*;IC{Lf<Z3f%r{#K^+G<~e)>uRDvVa1uva4VIPCWZ}#>RaH2jjo2 zNp;h`yTDfCPe5yk_Dks-J%8VX$bZ;0&1rVYjH~9U?e}uZU&mFdtrXUrbnmVbhuyp4 z<Bx+6owZq6nXgmuurA^7^-KM!0y|$`tO>fTz$om{dR)Eau)O1^>$a<E94>8@3=4kv zy7Wd>?`_Ag?_-Yqy39WLbQ|yL22aU5nipPulJ1xnubtyubbLdurHt_FFDsvfU*Ow! z__$Ry|75pqljUZvTUnF6q}!l(Y1H9@=kFW*#BazM#}%@7>1}>GJG-pNtVuv$-a+$2 z?Yf#n8&rDUp1fnU)ACU_<K6AO5&T~)9w)yL2o3u&eeKP~CRMfj+{=6UzpUZRSua?3 zRd=NeGi#g0@#3zfyboHYRfMG;S6s<>|8`BnHC>PCp_{kQc_JFpSyjKqFjk~q`jKi( zrU37r2a6tmGJTTt?v%rIwexQ-3ULeFKW%?*%ke+T=T@X{4tTmDX1j$g$I7V<Uwr)^ zZ+-K@#PDT-ivRW8J=ycB(k0gw{}aoKohlyan$x%`#AVOp8(in5*k;!;xrDHN&6^(; z`XRNWwC&zg$)&kV+I}zIZ#t{%2H&sikJa0Bj-AwbG_mY){>|y@*A>R{*h_9vlu-8R zaldYOh&lPwdgaLv?@h^fop~ixCBXmQ`PZ?_=6_i19pi1bVe)dxpohh8gC2ByykE1= z?nRg&|K`lb8R^d|u1ubvrTTY?Qu3#a4yWhSd>g7i9!;=6tj}{NMyqz)y-Rm*OJ<fE zHU4|&`DYdP`L=(24ez$>%U)e_GE;Wjiu{E7wP}wgoSnHplQ%BL#>{csoK+KBPpsMY z<L@Kui$;6*WT>1A6iEKKy6ir0jdmfIx6S*f+wW>$xN`o(;{y+7yxCf`>G71n-Jh4I z1f`1>f0TRojVJbwr?Al{VFmu2YuDy~^gDIxnnlQN8|S=7o@XOxKioE*>!Z%P=Zoj$ z9{;^_&D9@;A{#r)O>+FX3M^#Lin%WK{b%5>7(3zQ!~<H(`;VKl%oqJ?JXzRgQ^Mb8 z2Sr8hF>c=;d);bI!8T6LtDSEwUd}qxf2izi{yxjT>#_$de}(K8E1mYAK`c*KC%I3A zsZ!k7=<_t2qU@RbKi(-1l=ydCz~Yu9pM$LD@%1ZLnf;TvlsxC)x8vbK=4y8Y=O3T7 zX&&!~r~6(;{auo#GU0TOP*tJpfoJbczfN@YV7Phm)}9UDS6z60Vb$BdQx5mvP1@hE z?y8Oc@<aDh!gr{A;5h#>R(E>)X`@B21l#i(mdnr8UbN=C!k*pN-d{{?_nj1R^4#MC ze|B9Hz1p<m?AL8-@}*^yjNiuxznmv?EphI=YwuX6iqw5P?y5dv@x5IVHpYuz1#iA{ zHrw`2r2?Oydz^L1?~vvxKd#BjeR|`jn;XX=@Ol39@^#uvF8`5UcK5c)cY$+~n*@4R zJt;N)8hgEY%g^+#D>28JJ&%R(@l{D(Y<_q{bL;!LpAX#FsVu)#?k;Qp6y*=Lo9jMl zNH%>>JpMfFU5((X=qbGq4<tyqN}N>qc=Bz0@XPyriCgcAf9vVZ6-&Kwx<O{1r|G4G zi*Nj0$-8IbNv+~Z_baNZubkTa!dhO}`NOl+w9F8XgxfnqH(%dyJia*m_Mxz&lO%HU zn)Mx0lA6^oT)(>Qp3ueIODP*0ju!5mdw%BJGskV1e{sD`zHG8XN>qz;y1e$p>ld!u ztd>%#X<qTic9)Qju`yc@??KzYStcK{*Q7}{wCNeRdD=()_B-u+d2L?rp`ZB*>efG* z%a>oiw>($hzdyxWB<Sd*5C+S<uk)`3obNX|&k}vUb4fzZhl5LUkEE18p6nwhP<c?Q zc8AC3(;5oD(`{eB@!YcF->I`KnoM5;R(@*ow_N$;lF91|*_3UO;%zwv-i+5p{%%UB znfvg4o8Y~y;OJKqPOI)I*t|hyC4Wy}rcRwq#;%@E2XmL56`#IibMcAb8?$~Lev@_P zbM0K4mmj#rEdNvo&%2Z?xxxLnO<%aGTL{me`*ZEH)cU7ydEfd^s`IhcoMO*OkrzKP zEni@_{Mugbe}eUG22QJUAHImtV*A-`eqr*l;<#hKc%0H*i&gSla(^h_zBloU^h~`( zC4md;Pn=l5!+7W7+nKs@AvX38R?ql;yCUi2#-5EV26l&UEtQk}u>4H;;cu^YH|E)W zw12*~%DW=y-qX{^r_Al+dd#4|SEWu)P%<H6!{MI!kC-oQE`55(U6H@#pS+pl#oUKn zyJxJAv-<4YeCQr8PuhmdYwxkgnXmIuUzWWtpVKj4T5|EJw<n}GILpmsU$H{hBy-Dw z;8W+`MKDkP8J4$Ycdy{hAJvDaT~s@3#H`NvS%Ue~(j6a`x4hS@yL3%#RmXwK#7Z5@ z$6eKjE7rw{mFCrjz5ntnRINLt@zPU<Pado@cf>qjmld07do#>!!-s91I%gFwGpQ9V z&Q!O%nq@2OP`f|l(h<#uRSZuyzRT*qTe0q}>aO2zj>i~&c779`od4*oXPWC3-Kesu zn`Q(p@0wT1+P9>l+Ku(l?N-SLjMwG1ct6}7nxVY4N#e1@odq=q<eshceKb9cjl(Cu zZ<0RKqRGd^Ip!75xH|QU0W&-MQoBsiQ#taSw|&)Te01T-IyHlV$?9`J^pEV)*$cNc z9OFFpfz!S>u>1Hf8}s7KPn)G%@*Z<}$|PL=Dle7!D@W;Sh<9oAsa2Dl<~-@Cy6`H( zPxZzh>)daw{+k@u^oWWu9<cRT%ed?&n<ncNmfWXOra2Q|97zewkyF~zb^EP2N6qC+ zik}`-P0BV7`#5##j?5reqvYP@4esmL2CeYdyl^yGdd8)D=kBQlII{)L`SxtJ`=Z!8 zhC5>?R?3$$HAwt=w()q+qH2>}d-r(UeHe5~eBqZx^3pea7HMa<rUiJvSC)|F)z3J& zaoaD&wu=vDp7vCHoOx$=zx~p<?U&!?E(+bVg>kOgp98W7zFNGEDcycV)+R={NJN8Y z^&~$(i{r~pe$*)(EV%Yjbx*FQlf<<1DqrsUJv^0r^5K4dKcS~@|Ex^12%IGTD%(xh z>XgRq(oI{0z9v{#^?N;k@bTM{o8H~hm1f%xFseM>_<ik?k2;yHlRU0yoS8W7f$(Lf zzNDSrX21L<S02B)*hT)xV`Zi#ll?BO+y17>Mn=!9ci&W|ANx+exw&wAWEzh^A|Joa zoUlV#WuH7&7m8ixJbB>j%ZUN6Z${LtI5pex^4-VV_iS)a>^;XH#2;X5yXxbGH_sxK z_qDn`lTLQr!twX~-kAQF);Ob&E2focOQ_q(ebxVVZuWB{!?cWWy~E4gv(8?B(e*^b zyuIXTljf{j7PkvSj(@M`+EOBGY;?zVOOdDAf#nk_-mv;z-+2EpOWA$Hlh&IXo9}J+ zeb%1;&AYmLhx3eI?^&AX%~*3!>8|UEg6nZ?O}~D`PR)4aBee50f9kJG`x|t6FHE|5 z?B*s3kDCW<T}#5_v_8ZxJu<;}g@$3e4rgeRb#1n+oys4hZ5yRpc0Ebu+JExc1NLQ^ zyDq(uX`TPW@vX~+<BZXX9M(0<e){Lk`B%C)_o4QAvx+4<%nhe<Pr6g<u#Va5$M+A{ z9+loN`=Dsec>9^m_Ik(TYvZPWYx}^W`q}h|SMTO0jq?j+e~8XrZ@V+nYqqVp*N2=< zcRVv|%Pt-iNu44$`#(cV`aa+Mmv(a3lqM!$c`UtzWkv8Djj!L=Yh2u)@t>jfqtEHG z@6)}yV$#@t&R@aI+!J=`-=%&0+c{0l#MgeCW|x*QVaD;i!V8y5Q~xYoVSG{l%Xy)b zCDV3gXp1yw=6qpZTRP#zJ%w$Tm+ZOHy>?H8!;PPQ)=#eY-TZe!O68-+w^?orC8w4N zeVZ)URMot_>x<cs+mCw74{ejm|7Lt*+8%eAiALfKAL5liopo8|z2Q#eb=Re@KAqE_ zv!(hXPrP}6^;FSSCGQ0Vzs-1;qS3<S^dxmR*QakkHa^PcUh(hdVjG@QPRxS#`l%A< ztETDq-BWHl$IYAUG%>X=JZS@yx3-LieQTnn-!Fxywi9l@F1uLC!FRbS{{D`$VeGM8 ze>Zkl20Cc%Ox*J2*R0QmAI)QW45gx7j%*Wif9SsBUum(=$NZkHJ5*-f4E!#WfBckf z<KkJd-GR2#t{;)=`a4zb!p!MU%N3qBE|s&KbV@w?blLG4A#OVkNIrg*ee&sLo80Px z)~)KEBKddLHq3ncb=|D%4?{2ZNuTvU!f(^k$>Q41`@Zk1XXTVdWse`3&YgP2Xx+S@ zmbZ625qo<yb$<V~2|v12cV3e7d|DdXX0z>{-R}_l59>-bx5aE*v7W2u#1fvB=kKZQ z{ww|PeS2R1wdkjPo@Y|ao0})!xiIO~sVv*TXqO+a6IW*IXX<rpos`bwnQwPgT{6kI z=bPy3U*<=8g+q2$=PPBGxodGRROk<KXEt5^a6b2s^26VpE?v8I$K%iL)}TwtyQN+! zZ@rv!+FitZ$MXhD(>D(aPOeKeK6&I?bJ<hnf7dokGwSd(Yk!h+jcWSf6QO1F*5c=s zo+~$dCRC`DtZch?^~;u>vwxg7i)(ry73Dnd3fFr#r;Dzl4kCfB3<&Jur@?3?wQz-F zaWO;RwS2|SryFmrPZt%L)N#=Cd}m=m&2Mq;`_5<H#r<b+t6r^}a=JLP%JXwzM~cLO zkniib9{UJ7n$KRgIrFp2;gsjr6TbbrzUD{Q(`RCfZkC@|6MfZPmN)fiaq)_qcbr!* z2=8=cmT-<2?&^A0v)=jULiOw$9||9w*rG8x^s-WP%WgkKznUp=t7?0Tyq6tLE=ry5 zYskI5Xt(muXq&fZYk6|tJh}X2Q_~~sc>5=+{tA5i=Z04QXHa+Xl@LvFe|RHhD*FoC zzU*e_jh<g@Vt#1d_U5fzd1LRQyKa+QmOKqFcQ{aDcWkrieEzswlhXHAD&3wMCa<+V zhwIzTcfEJq?tMzQ=*G=(*ixbJZ0di8%v-Th?&(Dry_G&s+M#89VBw9+Gv}+D-dm;L zxw$P_-szyx@;lFVyv>iip8F)!DrZw({fw47i}U?#U%#!MxwhGvcmJetdjl@JoNwpX zrp3CaJ#8^iddoh6;m_~1IZ?tnKiK1bwCTKkvSCNx!+ceh89wZ32k*=&5k3A&&gvsm zX8y{|qD|3C>m-^O?;en_b*l=0(XjQyFOTb&o%8ZiSUDz!H1G$Xt^Bt7;d!Q4m*3A_ z`(#G#*KXEuSqsr6S&n(W=g-?_AN%$9>*SZedaut`+00(J(ZQ9uaZb3Zez)pHz2u$S zwccy}XW(i&Qk^38`*qw8_Yc2A!rFBG&M_*er}Q`PC_P{GMD2(CgBQu$GD@Z0t9dpV zDo)RQv2VxP$5GN8Kcs`_`Ii2>nl5*AX8*j3&&*Yim+?k#+_1gVe$%rpwd;6#+}J|C ztL@u*#g6Z$hib-F>FhwQNgfFj+p73uuA3Hr_;=ak({r)^47d1u*FLq--G1fsrR|}Q zvy~)2)x=58_TADSDU}>~uvoKOuy^eiIr+W?zpw6fcHI6u|Hh+BOQ)vA9Q(LJ(r)M3 zTIuzfRejTWnBP2#$a8zz6g;`{vc=07`)|I#?^J$&s&g%7PvGkG{N#Qw+qFk3tX^CX z`yP1PG2LX-K696lfA85R_qAM)s}X)Anbc{@oxgeYq>Gwy_4kyo?X__(&RBObX2Znr z_cAG;|Gs*WTUxehd&>TOLf(R`R>lH%d*v>;_w7G?`nN`MO2aX)pRF4w-1%xZbG6t$ z>5n|$UYDlkJ$jH}Cc<;1?t^?_+-|*%`L&s<8+Qq97FsJ|k$T+cN@nFZ?uy(??%tiJ z7OmGk@XCL=$lQ1ZH<mcgYj5wL@ijDy6JZfO`11JUSRE_XcilQ>pCe>jyEV?M^c}vn z`^!bsxo#&_FTUrQ>=4pYS-4%9z4_qUXnpQ%u@#&B_1{-IPrKiAm(ShnT#%+r{2!&; zy@wqoG>f;M<Ga+`=cbukC%5+CnMqrB$=St~^ZoA6djH@<@0oK!-Zw5eHa*#)^7$OE zc17GPlZttXTRE+#{;s~}SKDnV@*_Oc<W%=cAwN5(!UOLzKi8;TV$iz2o8tkiO55`t z>*k$yZ#i;(+9%^F_4=$QSmwDIRbM+}CAU-ckFU&{33_~=LPTwUyziT`cQy0*cmD)$ zM_X<Q_g=~Mj(eWr>wl)R{xfhq>RlWmD(1qnIb9+B*4}lo^5NT3f9oEW<g5E;mryk^ z;P&k-7VGI@pHA@9)=l}lLC*X?1J^!JuAfCr7I&u|bFX?a`Qg-MqRuMm^5&N8ue2|& z4}I$sn9FndNnY}yM{`9NJJlRvye{*}@Q1MbwuH*R`wx4wcFa_bxTL)0KSK%s@@vcf zGqk2I_IbC)F)eOE%?{bhuV2=EeLRuJ?{QmPNFST^<jba39*IuM6C--&F6b+MAAIh> z=hgb{zj9Z0J}kPRHDPg~ZsRczlY<XdbLLANh)-EQfzRymj`iL~D?UxqxR{djShjO% zs-gYVsTR!E?$Wz2movB8acp2P^7!3uslNQ$Qagzau6;I>^&FC_1ZTZok~p<v{=UMW zzpk=dFL8Yst+Sx?Ny*9`vkmXNZ;XARWYP0g_m5KRwoNT8+kKRo_=~TbuK2d;XZPNZ z=c4bM9NF+GEiBR{x=|<k%h4doZW99++0)PS45a6L{;Rb?=g7vmJ%6*8^t-nggibC{ z`E&O5y=lI7=QL~f9z9-ouJYfMV-vd`7v+Sc@UR8?=g0iMxbNOw291a34A_<Xqh3m# z6A$ebNi*K*V4;5Js%GvKA%Qs?&)rG4+rsQt9ph}>@VepfoDZxDpSsg@1m9j(-WwHb zU9_Q$i@}0zskcVpk>n>2WPS<1_BwLo_)OiYhpY-7Y_$D6Z^}e(PL^nai%;@`_RP<# zzP4o=uR>bN9pRqmGF4p*a+g)_l(W&ADk(SrZ&hNF$_|gEsf^Lg%Zz(2OZhyEbWoqz zXZtF2W4?iCcQ)VhU$dsac^G>m;hm-AKlwzzLm8b);bl8+Ej)Rgd8?~V*s6Ou6FSYB zC(lXRqQt`y7C)ux%kno)o1Qbqh{_%KbydZ4&W2mZ4piD3Cw8dYR*GB?nK=J6$Jsf| zcdEIzgg)v|o>G(iEZ#rZ=VZUmDz5pCpKDzWw2pl=IM{COe=l$5i!4c{PUVR=9RrNd z$NZMM&?oWOcj=}j(|+!H^6T;vt$<^zc270#KQ_xDwbCs6)Ux<|9(POIjc<dswEuMd zp5?cv$T0Z$+=Gi_%w_B6DzgcR-3s0H<h%NgRUT}!LyrBK+>;<+_*KNvZQ^XnfTbbH z>itzUMP5rAl6SfX8DHw(dS1tG6aT$jR)ak$zb*?4pKDa^e_}MjlC^q%Rf~%MR;Adk zm2>2dUs{qG(lg=acTxEnZ!h$eJzi?k*0q|&wdO=anDRn<4U@welZ<ATef)cGs<PL{ z#cykm%yTc$^1s{sc@F<Ntu?G=TepOzN9?&|@yFM6&4NCbN+rR4RrCJccpuK<ZJ8u< z%&NhyICS5sO+3o7Hx=^p+V_eHYn<4Ysl<9%TR?)Z`Ssf%ld?A|TAgh<le7Y}rP)67 zD?Gk&`Ro!S!`OwvEK?;PJZ|<C>MM(QIQ4)b8~1scl2r^EnNq4Z8+SCHEe(u_I%4-R zh|Tcd_4Su#e@oZ=d`z}KXfadMxwwj?*{la*R!DEWaA|LgqtijD#Vdb5x4eCae{D%G zhfVTRyQT%z*)>|;%I!&It+MXRGF0arynM>@>CujZCl&bYrkpfU+sR<GTd#ia%UFkP zksN{oyWJJO{>glHJM+_17M|zL*Kf_&h?RNtGR^Gvvzi+=2G8YYt_-`lXCw2D)Wk^( zi^64%e6viqJ(Bp~&hYEX$EeoHXHQDE*{)i{JLl`sp7W9|9x7pvH4jGh|K_*fovu@~ zeo`fCb=oeq2GM(b5`FH=uT5R6qPv~Dhk5S3eOEn&QrE5!oM89SzFhK8vG2cg8B_GU zJ=RFb?U6gSP0Dim;w_Qy_W!MFJ$mX$a^@_DBFk5{Cs#W?)12)pBq-D7Be=hTLH+Vx z!!^qe&gN2%vv{=JBhKuArNp`F=NB%Aare)1OJkTb<-Gc35#b`k{PIt`-5i;lBuah- zgd7SBayZZa`n^v?-jYmnkC63#mIqg}iQJnT-RJmK_9e%1)j6$IeU%5^hu-!|k?#Dx z$}@QW+RRNJ5^v*vsxNr9lv87V(X<rJ-s5wGZ_QojoMwH~q%n2d!I|HL=kc++7bk4$ z^eHkj{wn#(HGl2uEr(B~N;}GY{qu^gal6s9lmA?*u4-^Rx8J01FiG7|czdDD^ZU2& zEt>7Uo8i5J=;OX;yISjYDl_iLRhY`2J|^qTBldi)HRGA1G8bJ1GwRYU7)tJFCU4o9 z&Lzz7eB}e-JJ%jgJuN86G1u~y|6bEu>5p7On0wY2zW3pa)3y7gd#Lv2ouUKHa@O)u z)87bB`+a*hL#s{Q)=SJ={e1-cSA1VKwQ%cV-$(X-6<-!ep3m78RPHV{o%vY^YoArh zmBQmykKCpn=o344z<OT0=tZM5tDmWfcpRydo3iSI%_OU1Y#$hvn~&FJs_7-q|5WaI z@#4YX2MU9vH6>3Oo@8HN9KB|}!W|9?x&7vsMa9o-Jic4-%-IX`?tS%SH=HUqYbPVe z!E?no{$`zyczb$*^pqlYwk=AE+ucrXS#CZ3-TbV~xR~Y%f3w!;B}=^QR^8-Wu*fH6 z8UOks&F+NR+unW(wNTvscx|r9YK1%D&*U2(&APNp=;AhWK0o8LzAb0OFDu)>)p+uF z{ln1z44Xd8E8UUlDa$WEeQ$}PiuxIb=ll2X<-WY_<7L~wD?fESPrJ0|<sn6#-67Ln z_Ix|OV%1`gNwphlmkYL?=i)PbRrNVm@Lq%gtH^hoIo}sg&Fwp${Z+&A*VScg{NHi} zV|>n?I`vq(;eq_p@PFsrlO;-cIGCRvt9`vVW6y%KTP7Vz;Ct}>*A>0pH!ZCboS4k5 zcb<=b8pb<Af2q)s%B+wAPo@RGRUBtH2q`V!9;dycVwM4;<T>fr^RC9Y3hcQ1bj7)X z=s8^5oYUNHuPi#y$q``9e{3OBz>Shy?BDm+W|xX+>l7-a6;D{+`2MV?3fD@NqGKs~ z2R>fmn%h$J-P|j1<_)ns#@qL*1RwaQ(#>^T-Qs*u_7bfgNuK0<N%n1;HM@f~<{UEY zk@vD}I3mQa=ex>rZh`;ynxNwfQ&>9dO5e{Z&`y5yVG+j_*#(mr-_DA7oACThuh%!_ zHu+xd>8C<G6DGX7buY}w|E^-Y|FtPT9ZQ$wHWU=`KMa#H)ez5PmTA1+_&QkY=h6v( z-!v6p?_vvS@>t@rEIg@Y&g1@5YuI}1JggmmpQ-vCw8gOL?4$(+tFIW?e!jINI%Ch> zR)ZrcDIbsOB`6BMRoU=FsIK|alJH(fx5KNy%D#LUu`uoFUhB(UQ$rMLAOC1{H<%fo zXVx(Lrp3=43R1gN-V`{T`1A6#?CJeyLg(;o>hrTM%IuYt`Fr?o;gw&P6+DwYMOMom z=+iRs@!IrWW!2jNclplcm9w4Z?rwWm`SN{Gs^r8Xrjv67DjqdW@hX;`amVg+ZqlB| zclf<l`Aih&;bvzLvVOe7w04`f0<*RF{F=+*DGTpb#yqH&caDl#)KGhS@slIn^ZfiW zH=knG@|HViRQ6SQYn0jTsmbmf<$U|*9yMn;vuTQc|CD)00$7DSop%15{*2|zfn_R} zD!r#mN6+2=AS?52VCAi{%{52nHGE@QIoImS2~l~iJ>|zuJv$dg%n*uaSe(xA$x&{L zaeJm}O3*p>yN@ka`p&9UVsZ1G`E!%emCsyCZl@(!!}<Hx)cSg|GCq4NSM+$^&Xdab zmfR|w`l9-3$ENLSVVym$UShV!H!kI9bIspBkB^=C&IMM<<ah<Qx`5-o`<mDJrk~8^ zaGkoO&t`JZcHORf8kG#J5yu>5-kp!rTC#1W*3U@_w#OxovTRA)<Dk*SYUKI7lbyTY zdDgPrJoV5Vt%f58>Jy`doH*|4yZy{$@sx=+`#Gn?w!^kKWQk|%H;s3ExgGld8FUTr zx(8%AGO-FaH|^2-&rp7AYf7Ky2lZm9^tp5DB$pU0N>~=@UVLqfPhYT5wz9UeUSabD zKEApw>zC&$m)x#+psyld81-=>L**Uj%l8)E5@%d{qi4>xB2T-iUQUK_hfkdlGC6hU z=?;b8LERx069mi|Kc{?Oo5|yt=)f_-EW+Ti-2AAPC64}+C3<H(nYUAN`589%n^%}t z^%z(^w)va6UTEc~Q*Ym&cpY7=vP!~v@*E!FE~h@V-ls`#1r&rT4t|w=`C0f>igR}U z&YJU6giqYQe18^4gW2_CR>gl_`+T`^({ARfcV+8O3r+vekXd|ut9Rn5fWCWb3MPv@ zZv2_;?p1n<<K0{VW|0IQ!Jk(qF!s+h(-!{pMLX#IfyC|VS3b{Qs(X0KYMww(?f3B$ z*84nWDOq(tMb%MbiJ@)f@x56BDbBwqovAA9zc!;H&apq?N%Aw3H=L5biN=~9(}dVp zJX>*c>0;hX2YPP&K0g1{E_IL1+s|o5lt-mclynmP-q<+FI@saj@pYX7>J1C7e0s4# ztLB2+%?APo*~_wXSG=3+#{S%=V&m5HJ`et8hbl%qc5gSiX1!!<|NN@*KT5aMxOJCF zd=H-Z>w3twOY5#X8Be~xOhasXk-VvTha10^qs--RO_ug=By`(E%b4E=`Yyb6!r;xT z=w<wDyE7jo^h7_KI@?BmivHF#Z!S%Z2OGXUo}bm9!LIR7toc-;pvHfO`}gP6iTeK& zG@N!{TjV^8%(GonUDFIJcZ(FCIOo1_wZ??XI+wgv0)^*{oe~PyK9t~ib~gU+rh=;? zbz<9-cS$}8{CnqPY|exo$@}#VPbg2}T59AiG+kwZ{Mw)iYRUD7l(QmiCK(i7Xr7h% zp@rjLQmjS2&y(V>E0<Iss=qk7(zfWJ!=G0t<_G@0?b%*rP;~m3Rq!+ERErwT9io}# zZ*83uF5f=%;mh2m3RN;!Hl40kyxm}XrK>mfYVz}BBfcea^^8tQN^&xrf`4zbp1rL4 z-xj^TISro5y-WTx^af22{%DeT>#=X+;*+;dJui&ADchU6zq6FPT*z#`a_-wJ!4A2n z7i+whWWVus)uk6_C3vQ-<FGe8SEOxM-?8baMD$#_^1#apCsuv?&mgwt@u!o?CU(!a zUz=}mNwq@vQBwCZkM`dOjqJS|<{BBKOgeu?;qxcitCymGe9aH2oil-7f$?nYzk59U zGGgSGJV?2CCh+jz-G^u1%6Y2$B6R<uRc9+7?%!RUY}KD?`qFo8q?eQK4Cls4hbO-e zx&P*qa09pS{iS+|CY4h@{jukgN>n&6?KR2OAaft<PQ{14v*o(GzDTbQ>fTv$r1<Xx z<5|m8t|*m7d@<Y6!~eB`_293dXDW}+x9_o4^WC&*{<k*G)en1_9D;&XY92IL*!PwT zo~*m=u`$6tq*OG^`}ExX`!1c7o5QtK!RF&1&P6AdpDJ2azlYO)Zd(1J-4}$lRo*at zZv6B5(ygcQjcFhHebQD>-t*wLvE0m~nP(1s`u;(^ZOK!v7{(vw&qKox%#-LnccU}; z9OpUht5QachKu^{tXJA3=ILqZos?SVF+)vU@<ruq&y9B;`XBx)d%bj*qWZ?)SFZl3 zT;kj^RZc9g^(XI_b?48unejiJI-&5C;IAv2v#NGA=sxgX`gZc=&r5Ff>DI|-xK6#L zs5I}v<IgLnKYZRgMd+i6^Xu50aPyD*j&E?<ThucD(l*7Eq-D{$kN<9cQLB}w+}M6# zpRl}6u;Djbty>k`4(Fas_;@2Fd||UN!&yH5Ma#dg&g4-MH~e7ru{l`NVB_=p53L#9 zS3SRrvg{MS=pJ2GUwi-3UIW*BOTpW2<)vEHT^$FPdE8D)>-q9?%47Se*%K;7kGH>3 ziru#DxBpIc)3dQJKJ;vMZgQ8ozV~is00U3^dl}}gL-P-RGZyRZbgDe3?a?c5=fB)r zQRCX51<&)HtfkK78s7MsbmdglV~h1UJ3q)S_DT1?Il17tthQc0%PrSAcX!&~vlQLr zI#2Ca?Y>8GN3ZrfNiSTr>E)}I%88q&z7k(sUHM^+U~~6``+;Y};(2|pJ-oQxL*hx} z?d>MViw~de@>ldoEVb(~{B^Bn+eXb}1-1O5@0lIvCVxsvcp|^2>T0HqE%&CGN%v09 zDZFq&+(sjMd*QE;{RupFN%dUc+CKb={?AY?cmB{y|A(h_es&*byzp@rOQraY%3BLQ z{tD)u$rJE(eNe8DN$%-$Z_=69hEDeAu&$Y5cQ=FiOz%pCd55np{%s(`clAYa=Be<C z7{+^>mRxSMIp)4k^G><NvEJrn*~~D}&ust1_i3-lHS=V<aX|Uy+3<g-b|w@p^_sx& z?_2fd9Wl>pdYI?OeUWH0FaLEty71xaFN&g$+Sm7n|2wo-BDMX@S?$(y*{3XzZ}%#n z=JiA`dx@0k3yTuw50*=;Og~!hnHDPhTdL-eWuut8R_2KY`5AA2U3a<VdR<H8`Fd0C zmzQ^(TJPBWb!lO-<i=(0Ilr$q%FFaLzYPA{_Ek_IS~7m&aVOr`N#`PzxmD^S+21|i zzSN~HCD(G<RE4}3R&}Q9pBUF1Qe(bT7+|{O67O2UgU?^S4~k0V;rpxkAXzucK50U! zZ03K4#2K|mUpmB`mM!$0d~eIFLk|+SvGKmBpR0W19A}u*8r!TGmzz@_$kl4uX}y^? zdHtWw>UT<3J>q0gmau!&7v#~v)}|s*Z#6MDPkPdWT8ou(mtvQTW-`uscYGb2t;LFy zX}PP)p6`4a?z?6FT~o=H=gYln7C3OesJ@iUth_c-@Yx*2q#L0YuZ-O_L_F1ByKC|9 zjm<97l2`5cvgCq@#OL=u2iZ+)7g)aZ`J{5tLTxRh50n4duJXI=_tw<T-TkbY`GI+| z-=U1PJ60}dJMT4dQ4Sxkg-hY32`6?x>Ur=t%ZE8|V)NM`2a7ok)qVTEoIO?5mG|M$ zWQ%9(4%jQN)xS1#&ZS0Y#wX8aJV}u|G{4y=%f)bEqvdjOrWyOTEJ<tRyX&jor@7?Y zg1iOg%(G&uE>xv2)ngBIxGXH&xOAz+%dY&70oI+3yZg4hib?tGccXB(MDV?aXVN<x z&$G>w5uPSf9TMHDu48zssj^kSf7;a4ZwnZkd~F?+8yzmIL>5`ql|0nAJEu5MX5N-V z9+nFhouA?F#T;6D++=o#-4`XvbcL@L%Su-;Ps)mU5TNLA;z=;qoW~YtZ8o#MJZrf5 zRs-|IgUf6Aw2Y2R&j@NV+VQ8@fltTXZ_C|dZ3mXkN$$#EeeG6w+vMq^nI|k|x>hr^ zd_Jo7z`)mJR_3v)iwSB6Uf-LZ@!mJ6@TjGqU&aOw@mo`PE`OdkC3$~U1EZvtv`x^P z<06YQtao3UJaNvG3(S#@2W=9bO_{UV&hD$?!PmE@_bp%R?DW+B|Fu6dw`XO#z0nT2 zDZmy}Ykf&Nws*@lL+vSNLi47)UA{F(MPQ!i%74fCbr$e_bya3@^N(Zod^#s-%R}!1 zwl|afy)L(1JCywUI`^LyYVO8Q%T1Xzb+?3<{_S6|L09EyQ}OkltCdO@j=LmPOL1B< z^uGLgsUt$_wNkh5B-hZ{lCL;k{tTY+QhRF9xqEwA8H$?3Y&CuA0(72#S+{WCkrgsM z^Bw=0hX3}{I2fTjrTT>NEM6W~>GP-0%JeiJ%{*VTxj-S}eC^)X7TcoB?6xpm<Ww%J zSUzK0<2++unZn@8<y9LQTHj<a?Yox0`&{O~V1qBq-#=ge)c4-0ipM4l`=XPd2Dw@$ zCM|iZ!uNNDkdJ*wf1;o8spX3M4>d*U9A17}OXt;+V|V$JJyjP5vCC9n4c3_v%6CwF z0^_6U=W;HnbT7I%d#a?|R;?S_W>;CBUkIz1`=4R2fAs2k4ij3xE!bS8%U=95i$NuQ z#R}C+6D|0gv{lzFE1pso{H8E)cBj{yG?m&6=Cu1>ePL(5GYQ||kw0>+>xBV_%}xCz z9qaU8;c_W?&ldmmu57p7w}tV-+4M|-)3KViO?_J@-1a!JA}Z(WlV6w3zuHY%$GSj- z&rfT2!u+hvyhjrzWlp-WyYlPuR<*@<`@W>iVm)KgBNOQ6%JQgbLd&;hf7wlr=Ol0y z<U2bYXV6e*n_4aq+2?D%aseyLg=m`q#*=R}o|HZ|VYqkY(s7$B3kuH~thc$mfnV~E z#$%HrR&y0838CHw*_-#Ol9xaBRc4>JXyPvZtf1;y4swU)Zg2Eu`Mx}DR;ro=^Md8f zN8Kk?9JMxyDVOm)r@17k@5z^CUthbn`7}C8xASD3u4LTsWX0FlA%_clE_VyqzStnV zar<+gdad<G4Fvl#%Y&F)EPe$xd7gFO(PjR8FN>K)tGu3JSJxc>^-&q;6)rs$ST5_I zRaV?zm1>bv?Bu%ero@A!DJlO%?mU}k^=!sb9(VP<inc4)Ug|wC=K{-$8?W!JKU%J1 z@#*%{Z;v*e=DVu&q%UKG__HgiGs84f5*9q+`QYoHTXM00|7m36lp=@xwN9SLqgazy z#zw4s!lwNDPV?8L?NO~MX|v=F(ig;OPvbpmv6J0W{npgBa_6{9Pq=rTStx(^0ppKr zrEkB@HRFk%%)U^zZtLlMTgIi48|t!j*f!r$ex7jXuU5~bl#iijcD^$7y}N6M&~w?B zMOIC&;k@%QA2z&p5H>vPKIc+M<(CE1x~<zZ_;)}3!|S-?QSXCqe^#i>uB+#Ay4@GG z`0o5;eIBnJgoJnW1Tk(|%{+gpx$Vk|_m?KSHP4t-eEr^J$!C)lF3t%GWcYQtO>?J0 z?pwD45Bt_22kFkoTMhTV{P}gU<oBhy4z6F9J}F%yQ+`&{ruf<nK1ung;8$5XS6UCV z9C|pVs5a}8u+xV<vtphvSl0f0R$}s;SxxLh2R>!UEt<uadBbACl6K|^?rT~5nMEa* z_sm~vJw@`1h}@Lsc~kc8eAeC2<(K*Jgi8AQPs@5rUwT~W%$cx3CV*d5Am6Lt<bsI@ zzM06BEwOyrzgF*3l}td0n;7S$>MLD0MV3r`VceB$sIt%MU+5x@$tqu7`o27#cjbcL zz04yi0cm=EcP=}c?65fZ&Q`NocC~?ub+P-k8JWgy=c_Us4W6&nbJH^T`L?Uj=A*j- zcb~D>&U22(G`$`adOT-;DzSuly2{+=>(^?qlqfu!ebUzW%aZenAu~9RzuO?2@%|{= z9QLIq@0e1)EwNnwd@GkxtyUD1@&x{sD;W<wUu!#UW}^qg#5of^DrAB;_RlC0+3|!w zE^AS^rkI0G=}ODDmzwsQ`I{`xJ9u;R^=(=$*6Pa3G;I#~UG@r*nIF}2%<<%sn<)!V zU1>aNb4B9ha>j{g9gXx|3s3dl)k-Y$uGzEVZRCz8$xFQ$AIk(~c--uJt~o8h>C5^2 zr4d%M`6pgKqdsr%YTk0Wwq+4_djA>~9(7E+c;%TwzO?Xy=ceknRJojW8vR#3{&_80 zyGi`L#>$H-Q@3qYtlPqv5x>stoeF<^)bzJ+rA)di-eik;L`HU;lwD;~#{T@Qnzhuk zzjq5S%=;=cok#iH{rv~*zRnl;%ojZ|%-M)Xu6e-<L8E)dr9l#W%a^M3?h$g#`TA^i z8*9;@iLZlHTAmuMXkTgT%V3*!r&sLl&M&5s>(bbD>fWESo0@BPNLcR`=XuFz3o{ZE zqBJcm4%ixgUF~40&Q<4jLiW|3r70&Tq?fD9KlUq$_|H%-c=vUG)VlL83=Dr=W(+fO zKjpOI<-E)p2~|wCuTt2b1{g(uS*f}`JBekT#D)`+ZyiJnjz78E^KGRRd(lMgobwVg zOto1aiAElw8<x8HRWtifWuM%7*ubXvD1%wH^=$W$saL=AJoS51>l=~s(=J)+;|00> zQGK`WoH0MIc6PB!3H$AP3j{V;Z%e4Uw1dm-o%sa!01Nr3!icHmu7*?k&KUae&iVT5 zO4sh|#Wl<C&ETD}GsWR(vtCgZf7Y5)B2S9Drnxfu9Xr3(apUKcGQm5Tr`?(@J!jIr ze@(0A-dyXxWoqyl<)^mBp?livcbN-b>C$5@Nt3x;aYv-CG&46XFF@=US4PLGj|bS< zZTt5sD5u^!SU9KW+3cQ%+N@h`b&{L^vbu#N<UR@7At1^wlM=XD)?($KZI%qlBKrcL z2!C0|TKsj%6B(&ZN#`H>q*&gvDqX<gobrn+Xb(>Tul_X06P90>GfqAm#khKc<^d-2 z;F*PUc)G+VPLmK}Xsj2tUus*#mlaXw;oNY>mYwAi$0^|*f?roKIjlL7>cD(?|F!8{ zY!?h_GbgS-af7}8Wq25$@dT#tCX7-o61S%^ulV{axOuf4+Xbz(WaDF94D3D6`>Zd| zy4vsQEbm}dXR@=~RZOcWChx2_PoTtIAw_*lW((!(vo37gI4S6O)q=Rn_u<$5wokOL zHoGP}wfN_iojlK7()6dgolm?qF<g4a<T<~t2b<2DqaqNse@?}r70*Ae7Wk3(>SIUS zIp@u7q0i^9^*wU)<Y8;Ka*g{3CC+Nc2+TKnlD^W`cJ-RchyODq8y&4=x_Qd|l>Ga& zjms|k&k)=YlA!VW{JP9ZH``L?G;f$HH|4R(lXvA>g+2XQFY<JCgDj>?%=!Cq&IjwO zY7xmcJPV(*Uuy7KHmiRcgTgk;yW!z6^CU$dur_T_XO~=cAo{%VqGLSC5^`G}@<b>m zbBO<N71NozHP`X!=@<(hf5}syFL2G%4SL9Y=v?f^=1&vPUt73+l9I=#LlZ9;KKPxs zb@?vOMIK%*UHdEg{nvUki@*JTsj2VO3j>Ce=d_OBUY@X8Az{H2#@A63)-IpCPhnH; zV~d08mu44C-n429tHlY4C+XKFFkD$MG0ZY)ilNP>Nu1x7%L}-z|5hE8Y`Ec^=bge= zS<T*6tHMvDDBu2dZOVoy=e!9I<;oSN$xQJ7Fl#oi=((Nxb0TNn>^yPOW`0#<>F(#H z8EO?>U!P2<kDBJIY|g~Of9PqaO!@_>tL=xsExVGJ<HPpIyP)t!P^L(t^O}204!P`{ zc>nj!$1kG~AGvk*w24s6ma;jrOH!UxU75B|zAN<83`4z2i({;%0YA7d-MgCJIj_9j zX1i;EeN@}y8>t?9N>~4F%~9SpV@dARCk&j+BjdA$<V|9?6q|?p*&9dS@^8ysf7|$A zdrK+vysUdGA70kz_upW&$iwJq;W7TTNq4+_p5=Yb7tr9!pE;K=a%Mkwn0U;!1i{Mf z)wdjX==p2Ep0zjk!P(Hci*~jpGCj}!;GKL$>TdtTXY1>^#L~L1FGzFZzietH)>r(y zIKV@#Jgl?9@=m$o@*7#<<yitkOnqk@&z6Pl=bP)%nq2+GCcVrkd(nm;@iyz9+>G*= zq-V6MDt+SQfSc(v_r6=mv*@8+zQV)D6aJjx_sa}EDs?)qPdZ1t)Z(1S7t^=w59Vzz z-G0`SBd+53KbzVt&VM`=on`B08o8YC`_Eu(t5rEc&f9GNnikh?Un7IK$o?O}{XI2) z=l4}8cN|+~=48pmW>kM{@2T?--fdP1(p$WuQm;W&uwKB{Q+;V{`$Mzo`NdKvOBKq4 zmiOL1A2|6&P^nUEzu>kXosTRWy;V}qnG3b<3Y~2)87KXC#;LopY<G^9rC;0o>H5Q8 zr<I~yb~`+HSmbBx8zj&7Wq0@bS(=ME{8W{h3tq9Ny>eMnnX*s++QQpHw>J6p&Nu9| z{IYuS@qK2YpH*g;B&0w6>99Vdo+0A)A{(PEojubgB+KpjzOaTjZ+_;^zDwTk^)qj{ zU9o&)Tbm^_u{^yk=Er}Aqr%TD9#?L#YV!E{KK6b4p2Ri(8B(I&wKi*Q_KLKt`SyIB z?dqFKA7md!c)c`qof5SA%7b~HNAqHT*nK+xR`{hDQ&MwAckkNWcYcNCE{vTQoBz?^ z=9;>a_&vwZy#3z4lHuB_KVB>gw_cuAqB~{g=O*{1Ri*uH?^QN`DwUN}n<>JoE@8Ll zT8k7z7rTA>_U#_KmYw<Mw)4p%<I{OIsVm|lM7L}V)JQlJFp2Se)lT!SuPfeO&h0s` zQg2|WAM;D<oBR*g<j^(?rBI;-m0T-AlPq7q4nI2Qg_uZalc}VHq>ioKvSlCNSkL2^ z?=`)>J#^EiJuLI*#;;5aJAXtsbknAzR?UaC6(zn|uFr{9SF#Sf6}b7B!72W|X?H8k zU3X6G`DD?1oqKZsjH+2N7d1Y1+9_sjj9qnPvX&7Ox1LAcpQ_;eI@KT3u6BuhR?h1? zz1`mHYj;0q=Cw~t)*GD&mIyic*!H#BZ<h=CdjBe2F7h7Fj1h3p|F<`2itDLLmH!MP zrX4p`QY&Jk%f3A6DOqJ6FZNzfv?Z$bNU_C}9-etmCdcjD$NwS6>`=zTM8(A2>IF|e zH)L+F3O}4!_ifkGT?`GfZFc;BI708K%rnjY*ni~OM61JP+rxF-F1g)dydbx=?DnJQ zJ&O5TV=X6zseE8ND%WiK`eH^r*S{+hZrxnq$*6ewhkxo<m1}qRx7W#^Z25OyxXI&| zyQJK*$pvrN&!7A_`{+rdxOfNI6U@c(QyMB1!fySEyQU`<J#&3hbobna4DtoPs-NxM z<!gW7(wf^QKWbJNh^(_p-f=!^iH-e3XBFL?3AcSDW}IyGP``iu<H{)uFETzk|55+w zgu5z6i#C}tq@1_gc{b$gKeHcA*Mbv^S%RaY|4f*~_pZ{qLFV(Nz4iegPRDe<-FK7Q zRY5YPN4u|*;rF#gFTM9&(*Kev!LWOl>Vd!mDv#H4Pv3CKM(Y0Kf4g%FK5d&R((&pr zdr^bO0fp+Ywabsk3mgl2k$F;EE7$jis^gb0>+AFRDhl^(pLXifyNcTusnXIH1gx&b zZg2Qw%qZlWy=CJ`*8}fQ$laTAtK-`9X5Wv|5m!^Y-@dqZQc}NR!Oz~?7SFcCKk|`J zo4PKyb3XHF9<%9x{Fl};tG9m1xUqEGY#AY^2YIFE!uLP+Z$2C+J4<8n{!7XGbKicR zBClx6@h{}Mru*qh72l%U?wRcEtJ)D%9MCTn>lNhI5bd46bCR37YJX1njk0+hmmhjc zUAx87<$5q^hT`Vimo}U7GryQF+&=4KuriB=%-dJ~*XGQz7ODxXe)P6JxOnf<sY}lJ zRI2nnmb*H^)cZtmO}1S~N*-^|Khy71+Z$?(Q?o8dIzIJR^GH4^`NnQ**!zc9r%YDq zOHSN8;gs<k1FdjH@$`cyAMY(s*tW~fe|r8bfvt|KDw;06tB_5dWbwE+bdF)zguW$x zQ@=0y&%pKONvq95rX^j@4Qy^z%`am<*YI9U*`b}CE>bpoht7k!`<k}*ylniqc6sk5 zkqWz88&~tLiaeNLfBfDqZGMTvg(=rAcs_HN=9zI&cjBw7-%8||K7>uxzSS#s$76-T zxdqQ<jpyxL`BYBe(t<w4<eay?eafAI<%UnbEY-Te>)*ZBCbMv9mhjzMcf8&j<=j+I zPv7x<-SL0Irw>a^J9hL|#A3GSPREEFeE#e!zpP)DxbK3`hnK&?=H|)e-l*60>ZzJ! zd^X3Kb;;+Yb1p<K**tggQ)xHLlcGJV4&7#3e#-1WgJ4b6`6st->eOczK0U+8(@<TT zo$m9|y#HN(<k`7LPgsUc&%CkNW^>i^t+ny$?K*Ogt5kQ-xH{oo;P&}m+pW)M+`n1i zr0_GGIgO>E<ZSV&B~?lnKl9(-Q(h^v;pMNG+n*dJw_4Y3zHE9Sx+4BD>!DTAQ62ky zHt%lW->Kdl_geSf0(Eaq-HR#5Eo^#<FKyM`<DP6|pK^8Xj7?U5np?Fm$glO^ay{u? zMSA-`@gJ9bFJ;v!&$FJwb4X%pS;EKj!HsXS)4hL)=FHF7bKSJMGu183$u5Y!ZqB^y z3x%0a+%0B>ObXu2btA8SX}MHw_pQTH-WnS0XLoM;x98H7t$SN4W7i+B=koft>HNx= z7<ZX@nJtgAd&+IIH(a(8tTEj_>(Sei8&8~;IvLzO@#}j0eAO5Q`<LvJ_J{lZy}Hjw zyQZX;2Njs{6@Fb&oV0PG_~HKyEYg|tWVvpc7DzG%NEm#v_qw_DLwK`p0?W&lGKuBl z40V>vPgknU%DQtp(?nA)_>8S>XVi;ay|;A{@9L|w1PXg(wy*VG^}FX;`iK23@ATiU zd#l{U(z`QWqvlMN;NR>G-F_`9lW*KU{^?=YmMmw{7Y@gxnjZUHvT2Q0ouqlV{g`<{ z{nUI%;j<Yk+vX>)JP<c~-<CP|3n#u@bn(c<*q<K1uWs-&VBcD{{Nxpz=kr1;ZuEBV z&^+{gU7ED&&RO=`qZTpu-cZ;qA9FpBZ{niE1*bN)B`ufkW3c<m+jlf<YyD=u*ZZfL z>9kBZ@YnN&=5#Zuj4jnO-YI$C3@<(-A@|qt&*~^yA?a<~o1R%*5)Gaj_Mahg^6krV zTXo_jF1oCVIxtg2M#El1Zpp7JQwld$#2>!ZbT(nSTG)KK<o)u7GKs5KT&|Itv?`+e z%J$6-?W&dO$CqYh*va)B%buwpa!2XGQ8BBH-`7UJXM1&h(Y<%q6j_Wc!()$YHy+b8 zVK=I=G`$jDwk!Aa%>%u^PrhR_=UbfTo6gUA=hW}qt?5USr%QJvRUQyk{m;;{Cvw$Y zpL~7xo4EzLS9VI?zGCpgwN&8dk7j?DotGB{t9S|bOuW2SX6^Jd#nbOe{peo)queTQ z!Fr=@HJhbnPrsaZKWe($<fFgTW=g%j_IugG+1X<0UygrTAAB*_PI2p$@VctHkL4n> zwdXJR&+t0jSGM=?!F=1l9n%VK>h5?e^T{=O(c5fZpU=Bz-|q<0pZ)MhZgOw($<Iry zcfLMaa?8JCPqgY9GbNFo`?kh@&Sg(}zAZaE{KLP+^7FHoyR6$RI>RC-(LFHYAK%5V zYt3qtLn~YQS4{1*sP7bYGoHWJ)a$^LnHSb~*LdnJmpYoII??T-NX&;ywOy<8rSJGF zZjV+MR%hjSZufj?@jr=+rL#HKJ-@#>aQZv<?e+?`-txh**P54SeS7xoeURYHcan9X zvJ4L<W$$aX>W{edaNWzLtK8i)tI``)OSIy*8F%gBbE^s|bQ5$clL@)8e*Gc0EKc87 z6_c}mal49yM>4vK1i-OJRnX<A1_?j5Y_Zotn|crV+{pL&vUZbo=^D)~)!~yO(|co| zK2|AW-?(1hG&tM0_hs}-nW9^My*hkc`Yf}a=5N(jpZkDyyI}8)pB|!@V)yQyyTt58 z&qZrdYqyAr|4h%_&6*|p_ehzb+r84ADr`<{4o}ke);tYe_I#<EyZnlSJliJCSkkjo zG1T$MO!XCODoeO$q(!Wi5qDwyF7sesRlt9SkJeY0)v8%M64;Q*VeKXOiZ^7B)Qo9w z*XmtdTIbIGk>&cl2j^aFj4c(2yQVPRXmT4va-Q`yx21`?8-DwqyA)FQ;mh%*X}9iI zG+pA{^YxJX?lTh^?>YW!+Vo~keqPd~+PB5RGP&w@3HDLvCr&LclE_=qroFnPH@R@? z>2!PNh<nQ3zjLLupG|Rls~Nnt{fzN((TSxGyHCG$%sqN%<DteSiWVGuH}-pNHg7GB zTr-J7ujPZ|38Sx;-@h(DC2n*1h*Z+l-P6h{l~V5nMoWHWxIQyFiY>BjzW$B79SX|} ztc8DtUyxeg_O*MqVRosFp|;-L)pO>2J-Oa`=ZD(1z6l2ec3D~~?wU}W`KjaQ`$zn3 z`T2Qo)|c#jGC9EGKSRyCvevLS`<7qZllR`|<Ju|4=QCF<w%Xw4o)ppi!urv^r`K{z zVuQR>ceT&(df--h;PJD6Tb=$hJow%kAJ`vNdtN6`!Y!gD$*+>R>&0@DU5uYp>_k59 zTb?g;FI!W|{jePui%N;*nzzyqulH<?_;<=w^O0Mzh@0)vr3c^C&#gUO{vc9ynp^9F z=*n}CxE@PL9v5w1S&@9CyzIj5+gT^G^K;7GHyXHa%~|!6>-d@XA2uIP3#(q;J*C2b z+M2r&{0`ZUcH*xl$Ld(kxop{GC!r@YsknLGqkUbMZRFRhUE90MT(N9Jfv0V8tj?^I z&oQTUZzy{Fbg=bbxn}Qb^(j9C_laetePP;sKBfCJOM=9<+E)vIsIR%V<ol%Ek&DdO z3Q|*TU%y(s`0in`+tH0%iZ81apADMqzqjdu>bA(V-)B4@%U!7sQ+~dqPW&{FdD*o~ zOBYNsSlYxkwLf|H{HjCye^{>cmb!m*mF<}fm&%7+^S*x7iQ@fz$9T^w^B%zq^B!$} z^5J;Lx}|3SQarObv?RWt5AL#E&HOytzIE5r$u<SqMNXGmRbw~pDL-2x_K*8o&eQ0M zQuayg)^mQ&`CGX@b^3vS3Xw~UV{X;XvSIynXS&^z=9i(5Kg>4Wyrz}sxW#0ZK7WO- z>4Cj+iG>fP+gNkIN+vawD!&)|qW&{9e#7gqu8R>?b`RV1{`|B1`lff``90ibuA$5} zr3#^zTg;}+IHh=A$MYEf*A;tD+bq)Mj-JMnz04)(&Z_MS{kx8YY<Rg(Wz$?SO`98Y z%pSZc{2_ed`bxcije2b@Mddd3%X5NEgbws9vwbqbX@BBd2RZ+2@qXXK?y@I6E>GM) zhxw-G>XYW3YZpzsJF~9%`^U@n*Y=8Cx;rh>=8Hnxfs-%z3*UMdXY6KS=VF)q=Q7Lh zK&8l~AM?DoY!^4Oh&?EwfBJk~_L}P6B93HFF-w~%DihB=s(yTJ`@U1jt&8|pYfqfC z-$1(7Zj1Y-n=VUhp1CP!JXXIGu!dcd=X<X3ah1G%MgJLu=Q;j+v8v!~$wrPi;fcpQ ze|E4-u6K%8dgq}Rp#H9t#o(#O+fb#F?fk`7J)0-ao%yFVKr-lfvC4-v-U=z9xrdh- zHlJUcW9+&?GGbv|!@R$*DqM=9#V1#J)V+9N_&)R=cfR_WiKlyd9{m1%HbCI8^2}*0 z2P3VYFI2xbpZA*HpSh>jOXr^Y{PnDvwl{ldc59|+v=+Ne*$SI(b^F~DA1N=eeQ99& zG^O{J+0IDGzNpRbOe4e;)o1MAt^7>=!_hSFWv+#Wk#pQq@;L0xP3P7we0j{RD@{4^ z_uk@n84jgv-|jYT-n8LOz@H^mf3uEEFY5>^RD1ha;zi-59Vwf)bmthb-4$P5z`oVB zYNMEtvC)?1jN3Q9TdWn*l|3<0h2Prn76WtUbGa{1CrWl1Tb_5?!Jfa)w?MFe^TWl{ ze0$8E%v&~3e|=1ASE`dmP%V4blE%$@%>|Be^z2r8lF~Ehvhz&k-$DG7nG4ldhl}i* zd;i|&8T!mm{}#XXpB}!At9#4w4IdmW)bCC1)RnEe!`%CXp=#a^ksHe<>^4caP-m$s zGd+I1<l-@lU|~a*$=^3sicYm#Tb(6!?~Y0J{Hiz4Uxp}OR82efO?BJ%{JJZ>N*X+` zMCADQKaZ<aTe@!3o=xYBPKgFgFmQa`U)7lZHFC4+ogHBZId3F2*m9-bxoyt0iRbGJ z+gFmZcfB?zOUP7*ORBA|S{37=e4cUoyv&WSi!2p3oj6tC?&QC6L0jJeo4|FCjx2aM zU1nCwwMz>k7w$^EV<eteV13>G@Al#zj}?X&>wkS!UAJddnV6)^=a(-umnr9YES<>J z$<4Q5!{01NL5-p+!2|Cj3SMpcd8A!I?EDJ3tEF3Ay(7gQ|IJipk!!Yn`I%8UH(_F% z)}D9&rnIW4YiqL0FcpW^-Osn2oO8HH<Glaum+$?<n>=nV`8nlrL)GPHOiv8FwRk_R zpRr)_ZHuqVeyXP4%{OLl{LHs=RpHVt5BD5$I4Bw1$M17>LkQ!ulE+^b&)^nZvev+} z$YqY9%{*2&#@iE&jC%sqI!;tRk)M*jRVQyvUH&dk`Of#g2GU9oI3z>*mn&bN)t{C7 zso{b78UMm7NlWyl+yYi_o_x4}ci&fuJOfMSFROjnmPGI#GdkLMK7VO=NNB$Pf^)_1 zvhqzs*lbo8NG+Bq`?MssYj4Cn|7Gk|NfUK0suc6iX?@(+e&_Oy${9vx=Wfbho4K>` z`Fw}!%XLn5#m8f+FMBjuigrufsp-CdZGuOc(PjZ@hU(<4+A%*TzI_$)_+`NMDV4g@ z&K2;6cI`9_5By$WEqp9XGNyOp8^NaAQ~LK#yl(O*J$u@{Cy#G1`)WCI)fG<??Rfun zd6L9^1Hpf5^jDYv$=Y+NH6VUfljql!<%x$iPJN!0vs!%;=ZhjkM{(`N&0AAX9=v;b zSuL;aa-HQ*IadE!b?NYPJ8_0x{L9?)*M=0l;Beu&B-8Un;`Q0s_Cl^Nw&$OIT_M13 zRC6O$rlD}YSKx$G4XGP<@I9CHwPxIWOxjZA+o}z%6NH&2p1ZqK_PEJ`Ie(6?e1HG7 z#|eKO<98Md8g}p)xF?^>T*AEVnGgFpBcmz?+gE1FT9Lcv6yI8-5p*wkj(~CFr3F2v zNAj&Te;=1AUARDG$81f(heeDw^}k-NHvGN*<U!Sjqy9!Ujb5K51iy&%JnWpJ@Z@=3 z{aR1nsgqCl>q*WpkT2<}GgTHgZkr%-Jb=ye>q@qpp1zChmnZwp{g?Z$sKBW9)gq-m zmsnVjI~|z6eyz&Vkau~1YhSKb{2AGPcDJpOfkxrJu;-opr);$vR`?xH=-{_x-oU<9 z<*3gF*&S)8da4?O6>s%j)F`TpF=y`E`F)wh;t7kVzdW_x$=HX@@ZsHKv4!(AKFv)w zn!uGVTTuMQ`buBf;suB6jRRJ)UflL{@&en>9=;Q;j9WjQcs+^Vi9Imju!+CKr-_UC zjy(8v_1Lj*x-IO>7uro_$!_hGWRSE-Jivb8Vo|iz$w{K;IBb{-z4fjzGtaA7;Ly`) z(jn(i$@1mkE3L4Z+r0YN<d>=_G03FuxZ5*<&tplLW$r1*<B}^D#cKs_^?nyTKd@`+ z?1ecRww%w^@2yj?*{sC8JHxi(_1jq?iZgi9ZC6HyDt=}wDDW@fzqE3m*{%($wRRuR zZw=r|ZSr)nJecJ0;L$Q8H~E@9={+Uqtgje)G^&*Qym{(h{L0WLye~X{!cQOmdooQ{ zr7L#`8Q!{a$H9KZik7Z(-8(oAs!zNuzt(W+4Sq$ZzVf2NK)=@#_f{zD9z3pcmEosk zq-X2*B2MMyQ5DwRlNuh&>wh`xG%vW7Z_cm&4~qr*O*9lc&Q-qtvVeVxH77&!oX3}M z%_#TST_*AS&y5v5U4jvYxp$;0lO=d|6dc~4zcwmmn_EhkDVxva9W{q11|B%CyZL0l zk!u>WOyPUKJC9_~m9Kjj!gp`y%8OGLPTg1M!2Ii4$HeB7E?hHC&uhLk^LoxiGqVp5 z=J01p^u7s6IR3rX`0MgrM>PT-?B;V{@O5FMfP1%*5s%<@%Vnz;HBDOiq~!a`ZA?$1 z*S&q*`=3F>?$|7j+!X;$?13jAuUK<~d(us<rR{!m>Pl7eR`K!0S{2S=ejQrI^l)mw z?B?T-v?8Xal;xEh=u{W&HFVN7(iBZ@ui1IvsmEiRtF1ljzNMX<%*wxg;R^0E7P*)B zc1I-i2YU1ypWd=d<I6FLs?dm(+umAp_b@m3S4})|YqKTm!CQsLSQRu*DajxHyivWU z-!W7!x=?VEczDu}obM~Ac;@VDF>YAU?|b~$C8xl?n{~cNnvQR?brn1<QE|(YC86)J z{lpd9S*@KW@0eFzo0X$>Tqh@9$e`@_{bOv#2NpRf%Y~H-Ro2~DB51ubRMPd8e^u<p z)vPMKhh=7E2#Vhla&ytBdLU$=k<e&9$!vA*FX8w8Q*N(|KRvPEXT8$u&c$qQrHaao zJO3@dwpQt+TFT!GY0`|!$_qu7Hl$|UFzQK`+xOM$alq!V&kA~F4_Y(|o3D#9$2#t| z_FDMmZ5Z3+n*B9Ro{!mWYhUe%zpE0VI^BBz!WECQ(@u6Y2d#9iHwv?0o@BY&L(lDm z!;|Li^D0j+=LqfgR(SgJxP#`oYrAJ>zp)LmXJ`(b7JJsr;W7K1KI^VBaYJqm$<lzw z>U{kFtox%jZk^~nMaP!iLhj49PdW*wKh1l=UsU~QrcC4hni!rZ0{qTFj~xB-jZYgN zIiq~e^6Rev<1MKh`&R!m&GK9@!<qS0U(rnqt;5UQ3j<Che|9!G(AVnl%J!^ELz?Pm z(VL-ed}iN&UG)qL|NDOS#_9WvXH8w!#1U0)?NWJu`?W>-%B-=k;v6T~?#<Z1^~`Ca z%MlNmY3veDf@QR(on-9~;J5g?lG`cB;xt<d`?L5fq3Rw64$}M|7%I;%6;oWeW_KT- z!QKAP%XKo6YfiQWF|ZV5%5kLhhCa)#6luG=UHL`kbTRw%eAP6)<_RGQLie7}5@?-a zr4eq)QDkxad0_s8{=JjJEzW7aQJdP>S@im<=Rd*wvzC3k{$$IyOTAA$LJ~Oay*8TI z&hk;(^hEfC%s-_?e9R|VGX68DSu)#%Y&>Z`UC!OG$Ijil*F<{8-Exn9=_eC*vVUCV zGp(KRM1Yb1S|cClmI6oh)_;1{f3-H7o)*1v#3<!&ap2!gf9@R7^VA4d5&bz`c5{f* zqlFJY6d8Hgu39<mYfL528ve8g|3tp-=yQ60YGT9F4FyNDt)Bh6W%-0tq=SLAocZ`; z2eFPB>)$)D+q&D&bvnHwHR^WKs&9pp=Lhy(%`*%BoIXuLZl>L`Ig7NNo;*JjlUVuq z`m7ADoL$`tLZ?KYD=a)4HYJ;<Yoq_(<KGvbtCzZ)S?;qU_nM}Pyxz4Ff3lKg+Whq# zf1gQz8OCm<emyxR=14?iQ(36Tva1~B5m#9MiAg@cv}=3U!zZDiJ9Ri^=H1&Wd|c`H zHZv`MJ!@e{Ba5F~`vqMOW$w$Ve{<FC`d1S_ovEDa8n23fNWB$(r<9WWM7fFUS4hge zT%CuKevUkj77LaX1XZ*jkx(pYVtn!X{LA3~3_022VW+uYPGS$gmvWpX`Q4*kKTh-| zZ9J6}u=B}RyBVg8lfDI{3R`Pf7hd7=720koS^73g$Z(ObqU}MMP{&8Mj?sVBU3S#e z^JVYvHQjM@nxOD<dE<QsT4nQ6lQuorRLVT{{IvzSG9p$NX62YQ>L~fGi>TQ$`DE&r zMK?W)&(~$|VtVAlv2y2eodSd6%M4d5nK@#OuS@S@{t@i5rE<xH1MgDWv|E!Z<2*#= z%qCAMRlaU>eZiLVTU|FjHT+{U%kA`$%RcR=C7v+uwwn^;^I+fU%)&DpH|D#kgnDkV z$Xk-HX|%U7Y0tmXJ2B2Vg{{-)?er1IR`S*NoiN|xj!ygU1yfC(-L3vf?3at^RO+_Z z;MM%uxoUcq-1=p^{w}+H+K73}&(_A{F=0>c34XY}EKhZhVcR+8O%rNsvs&*r*Jve$ z{=0C+X_EU%?McS>*JgBW>`U11e|M3`os?-db*1x5zugEC4?7;iJnND?_a9TOf3J^5 zO=7BWD=PeXx&JV?>8bUd>)aD$O8;a?p3&Q!@^tacJhnT{+rO?B%(}(nwPD#z<!_81 zr>SqNeO*~6yM*h)T!+M;x^tfVGYt;-kz1+A&$nqsumpEcPl?Ty#<S<wWq!M4c2{z3 zEFaf&hW@qbCm)Ayd%C9axWl^2wc7nGuP%y-iz_8moj4+9_qA8QNhwtIT~YOeM{{TJ z`**J4J96nmwOCI7wZ)Sk*)90J{pH0u^`#B=Yg5iX<mPsqajUYnE~o2ct-M3$e}+ei z-&)z<y$QPW`_W1T^XNx*+tco)?g`TT_s)@_ZcF=P_0Ghe&CWXuC(kpE`5m2cgTYgi z;bV*C@x5X3Kin73T~acWQ(?owym>bsoAQKNr~bJ5Xqw={4Q-{RciVCjszT0wTpiZ` z?!_Zbk%S2c+q4^Ioj$bcZ6WuW^=kfSZ{L<(sWRWANAJT?j#sOyxCGu*G5smH>hSm7 z)aSKqtfv1gW44KIQHx(%AmsgUW<zMDKv_=7AFbs#w=B1eEjUtmu;kgc-d&xGFP=YE z7ItQrvUa(3<?{8%rCIFvURDcyA<k_2^lU!osku2P--&Mx>pFMMf0k|_clzQcW4{xg za_9Mv{gq4Ly*5!puCe&|TH8AF3itB&CMOl;c5|*5HJiLSN&CgrgMV0~`*<C;zboZ1 z|Ie_EO*5j*c9njQ9mkaBnaMITOI+lyZCCoS`NJ<)mh;Nn7cb+ju)ncBMUnODiitl? zFitl)yg0_)>SVF$mW4Z#?Bdw{G>cmM7qlPw&%iQyPuxka-w9nC<_pwF7WU4X@N4RN zq04V|6Q*dna*O{HVq{yobHin|ofWe*%IB5!a9J`P-|PICpTp~BY?6xI>jQtXQ*9g< z-eFiA+~xYUhwJB#7r#=1T!ox@I@OBjM{SntPpRCt(Uq$pR;EXOS;kY<BfkPwF020D zUT|Xhf+EIM#V3~^@sd<Z`}O?OdWL_e?$j4G7rxxtAwM^Kw%5!#(VHe~Yu*ZT-d?^e zYoeK5OP{S(9?Jy%ojLOBO=sKoZaigtB;@-YgX{z1ZdZA{Tc;Pu{Q0XDvh_-$ie#D= z`(1U@n8UV*q6H2w@mqXx`k!niUn|XWcbPV}Z!hE2Ys+hw+xY4pSvBcz)x4%zx6UoN z9dOrU=NJ2PYj(?>|J%;*T(qvb?YMo^x{^-OZ6=3;ZzM1Ha<*dbxrHlT`}Ka#n0MgG zKU0?<?Xg>9A62^4-)Fb!&vMyP-LlJ@lgneinK^^yi8Vh>CN0?5vC-DzWn6$w@gs|w zHnaDh2!Ag)IZXHw->%rYi)NvfCmuD*-o4lVZCTRK-iC9Aec2{I>K>k$c4O}Eg2S@^ z8KjQpckJqvp6B{_p@sTKQ-?n;d(u9u7l>A`eEw<44XODb`r_LYO?Y;`tCC9pqb$`l z-!OEUgo37p%oXjA7RLgY*4r395Iphg+N>IfZ9A;@d3?VACo_hxw#IU;bMLl?BI$QN zzYYm@-rG4#;z6Z^%$&NK@Qis@8#zASxvLlPXSY@Iy%{#KOD1pd@A<s@Kg0Tv2{Myz z#F#y~t&l3yQ|uRO^+@B&vJaf+wAcF!L>f<Pdn>QZKJRL(>FI*zL{I4*kC(5t3$SR; zFWcSibvu0W#8BDUPs65j-8;6I)6~1P)KF<!-Od;6Yhya!uH&xU;Bwry;@N~*Hg|O| zvd{h2@$7lyIrry5OJ|)kTM_=e@P*~St*`8F{BkVRJ)<oz!_&L`-sIo>PIEfKZWjH$ z@MXblx!fl{9WEYSKOgRr307%b>aXRkI<@iKC-=|m{qi|pG6*FWiSNj{8u%dB&T&TG zlDI12vpicWcfEYUR`yQ*?mwws-9>$+_3DaspXN=y8(SeeotyXersvC-U)vOaVEbn8 ziA9$Rd-$h+Hnmw$Y;>I2%V&e8+si(~FxO@C4y4J{A6UKQKSPUj^rvQ*lUoWnE&se) z{X;+Uj{PMwd8g$fMUA~WVp<E$R`mx?4*1)5DY)OV@ZWXOmFBH`g2h~-L+UHt>gOh& zet2HM?Aa8y<IY`{4sM&b6@Pln{B@b{@+dRu^l63tYs04>{-^Gz=$iP-Pg^h6{z%}T zO|H)cZwMLwxa`4esk7!$;(qy#vq9C>4ALC_3H86OI=`v9)Hd^N^l3kCwsZDeeJ)ov zNa{YF^6kLC(lF-CEq6^r>nr{<n6Km0;w;%~qxU0KNcc*!=nTJ=TeJ?n{`*v`;+NFQ zXIZYZb9W2y=Pg@xAmcwnTIONa87tm#{BxU{v*pE=O&({?9#CJJ>RGswd2+U*TuX?2 z-fo+{bGq!N>M}07W_JJ3!IeVC?(_&5Wt+r#tSS`d`TX72Al^{5%rZZA*|MX`zH1iS zYaEw7{&i`tuG_ud-P`KtrgKkIcwni%j&bGUNl!Nfsmb?8C0tyzOYTF#DaP+26EiY* zCpev&%keUDe%8L`XFFRbtM~4?v~F>M^yw*{66fk-E_mAP^4YlB=)r`#_a8&*Z+t%S zFKYSuo(CU;b??6R_|$OUT=Jday{Y<no@u`wi`+PlXECh$C9-<5i6h6dUfC&$i%)z# z8XxO=s3rGkb%Jmh-%5iHcjMfXPd%RSUG;42xD_7oAzAig=zLG*Maia@^fu~!5^`{O z#c^_(tkc6O2GYgz*9OSk|7NoLn7GL2r8Q?8FZU#EpY})p%;{NsOe>Dr7dV^ST9`1N zn5+Bi@lx~OrnB$A&|WRICTo*h!ugrab4r%_MqRz4GcjeJ#m@}Y#S?NZTIKbb_qv&E z*Z;Jx_=40M->Xvs`>m9MEhL`&GgW$JRV=tmDb(Nj;8E*Ih2Be##ZGg-y=~4eEz6&2 z$FFAZt@Zcg`7Ih|_Mq^DsEv4)n3>T`rhk$P`0cFJr&T={jomVxcYE2Rs)VGyHs>F1 za=W5&uYIETx3vOO`yNhoPiUThuDkK+e}<dEiQ9VKzV`ihX2O34zQUJrvv<3(xw@yi zy>m5Hx+JdpOy0ckZzkh&`I|u#KYj8~_LcHI%+vE%`!esmzURg9TIrY9n&z0?nJoIq zs_#wZ0)FFvr*@s>maDBis+DOx_4o4Eacg$P?k;|ITuH7qdSdu>k10o_l)B~`d5ADR zw!b;~=;zAnj&HAhs=1fO-V0-VQN<j0&E)7rvn3Z-mnbVw4w>ydcg`_6qXX%A^%IvJ z`1m=oc#H9|)AQy8`%ZbhCih2A_}XoqwLHy*Cle<uU+`UIx$D(sQ$yTZ<}K}YX)mkz z9OYyDNv2jyf3t6&;C`)d$qVC7U5fVD@b)p!9;r?9r1#4!9awJ5`J!GbT<}qS%1*a4 zHFJV=_Z;}tQZ4l@)5hNF)QW9Ozn3OhvINy1vS{onj^5_4(0KW^>w%Apg`4N@SpGAn zIBrvo@$=NR4}LrG@mU;PRa6n?@|uxpf?UiArpr!+ySG;5|55V#`C0ewUXDi#|1-2$ zFiv%rt1b5BRX*qG+~aom%Dnll?pyk2R<8Gy<KM|XRp_^_nLS&~-<Jv*{d*&R`kOOM zKC#?WFzoi*Szp>e^mG~hXISd^pMj(KWNUctkq7A${hrLr37GuaOHn8L($fzvrw>iu zWhe1%)qjQ$?RO@B;>()wrt<rg;!ATkG;Rq`w{QK*VZkN+WfkwkzmD;YmR}Y&yW2MQ zq>Ie<_-cA#U1yE^S!P9b2F5v;&$X{usg-;F@ll7qe0Iwv&+WGEx#j!MOLw=JY`gth zhg+pL>U9@t6#6puzn<v*{@zx;nI&u~G5k^KH)e7s&p*|s{QvqN_0QX%&&v>EeNgg! zRhQwtc~#+-3sci9UweIiP<>U;RW+mY%7)D+IMpSVOP-Gj^||z{(JU&u?N*2o<5D3r z!+BcEGGBQv$Wone+U^ysX!~kIUd7V;UF=CoZ>lbv7jK`HQ1fMZp1h;Ofo)dhOP&N7 z`utfF{mQT_>p|H9&IXIS{+j2Ev~)f;d+vDDpvHW8mQTuKQK@ZK^R~?HuhU?1+Vgm= z-lfcLwQD>Uc3a*X+Z&gfaBk4bY)Rj%ZFz7(u_Loz@vL%-*Ik(mJOTV!%etLb=6wFo z@Os%s%SZFC&0_U9l2gxc)I{cESEbCCvnKprGdUM5dn~K@yuZpz$s>s8`K&UFvlcx) zT?;w<ENovgC+}4=zShHcg;(KxmG6~raTY5!RDWBr;aKLKzKk#yIjcgy7=aANy_GM$ zZ}(~5KR2Q9XuJl)^L-ie=3bWUjT5Rb`1!fYEU?zS!qez+TzAJue}>D_eOggWPD`u0 z5}Br?O?YloWPORzY~IYX-i?Rm?OhR56}-uyHiL2bQ_C+)v`&dDzc2Ppd+mAs-9HnC zEpK;<wD)akcqh{nz%-}J%c!`^`J`w@W}k%3<(b=y{7o*q8Ch6-Uly@gr?4xG-Q-S* z<XLvx7aL~0v%Yvt!$N!B7sgK$TwOYZnU#8&=L9|OvkqGIYy!vPuD~wM1(Wt_Xd2#b zt1#K!9~_wSZLx*SoZlA$K3!>N;VFIZ5bXG~`q?Z-&D(AFtMUVz{gkzLTy2>7Mw4Gw z^I(O{=a>Gs_P${3GAPO{zBi>uzKW|SZDH4A<71h8oad`50=+`yzO=b|PkSM5vP7Wr z+1%!y3k-W?Z=ACZK5X<{CT(J|-;$fj=EX<VC6-Tp-Z$kE$Fi9^aheMrE6v~Xc%J4C zwI&rkUW>w8Q=UA&)x@Wv;`b%k?@`5q6uAsd!^3OUIG^+cb=BSCQns~RV);tT?VN$T z$(;wq4m_&;j$O6Pv#eX+WiT#ZSM2}O-^=fY$sWE%vlz6DeVHc*UHUVJ$tZIhOLdXe z*QK{O4=!(<RmL7QF(OgoQQw^46DOX{IPko03J;%#cB4Pjw5H0ow{IO|xTZ7B@_2cx z(ag!yhRb*1z7J=;k5~B=cd@vMl)ViqVzm7o^nlAL)KB73gUGgf&6ct+n7JqWDab$f zF#K_WN&doRkH^bJmUsEg`>S=~XLH|F^}MPplC0mpube({zL!Ls;Ca6-4SZJ(kKHf! zJ$BF6fq|j;N>Hw-8iU1Bo39f88Ei9{l$LL`tgu+#f8OMS;q|o)#>*wXFR{#;@b0aL z<%tCuJ%&d$;-e}8?7rt^9+0y*VIne7fMuTL@>Yx2{aG8gXgvA+(kG#Efv-T0+METN zKigdGGjra)vdv)lXCmZM!F*|MPvcv^TaM@RzRGdPNU;kj-<!wr()as<0%OPI*~>Hy zc1pz6W-ck0nN@zqs&sjQ+}?~Dxj&bs&%9!lj;MW5FEw33R^ZO<m|Th1uY-A5Z&h94 zI{UrqSICJqj>#7ay=Sm;@yl&B>gk(zW#f@cwFhTi*>?F^TD(DGf&aDc?kNl9)t|n8 z9e!b-ZQ+fpH%y*t?^(cAzdL-|`Mh$s@bZuHeutKBy5h6r(Znf+K9j1r=C~X21vBlM z?Q5abaw~jm_PU0Txp$b0=ke7?O;?&^b8$(`)EDj#L$+-elXkE>Za=r`Q$?O}UQoqh zw}{Ot#m(;{jepeL<8BXW;1KEU+3SC8=?OkL?WBz>6HhKNJ9loeyyp9tv5Rj>oCuUq zC^0czwerlw+5(G}MXHN?V{J~=xy$RvT=mR(dM_}<@>pGRW7nIdZ7e>!5~~xWmgFkT zHCj=?U*MMUOtjBc_r|)ws<M?Veryp*yZSfoP|ryWDNU*ndAfB=U0Pc4<*c5^ud;S_ zZ9IQC)6#9K#dFDbyir>(rtVWwluIipD*TzYYqu?P=>CLRK8gJ*zxng4_KUZFHA&s{ zTe*1tj0u)<Uy9i^&;DmPq*^GGa#ru?`_IL{!g6+nE=esDy79u_{@m`4oOg@(W#+K3 z%wNAOYfGHm-Ye<%pHAie9(j(D{qnWxmU?O?RkD+n&x#(|w3%_v3I=({w;|6qZtJq0 zam?f7*L5ei{LIN+THVH#Y|Hqjde+lY*35?!1Is=8{pR<|U2qNeR@auWxP3z6Z`Plx z&?PHuZZBAMclzXzw<dSp%KUYG8hZ34{usx)ZkxF(^Y_BN5r4Kx<_LH^zqWja;0zO4 zDHdVBPtz=Ki1+-hd>MIdR!R5-o$Bt*LX7fpQ*Xunog^*sndz)TD%b5@%x^>V^PZ$| zB}F)W53u+(YpJrg#Q8<K&D!y<&mPa+8d`GJI<PNZsbY<%f}onG`fXY5s$0GXIyoe5 zgkOf}iJjw=s#up)p7`n5Vw=Ai&qX`g+mv=}5-&55UG+O&e`4d6#`lroQE5kvqnE#H zJT8A~z2~a#>Wo=zl~T^1TiLVbd!31O3h3oB<T!5azSdN+Xy%)b+FQzAs`%Wkd{BLP zlEpgqX$$8tpH$wz(&VN3Zp*NH8|S^+X}MCjBsV-jQTOr08DBnKng7)HgosDV_U!>) z8%{hHxsj_IyM3lpwP{KBhtEep^?rJ}$+hpDf&ar`#}EG*jvPHC9dM@Npv0e5GVP~| z{WDWqp1Bp+vWxouS#kdC_v-Ynuhsf3^Nc3heo!%Ff2-Z|pTR2YkIqM%d3m~5XQ|yf zUU2Zc+?6Ybj!#*8CUDz}a={)stG`;DX`kn$Gws!T{II=CvN__o%qsTtd#`%rJHC$C z{KG%?vYKuoOY$k@xd)oVmWWxL(K^2M<N3O0t6QCZ<Y}+mb8+!DHc#33GuC~4Ws~1V z21XnExv^c9RKIS^uxiIFqdv1qdme9C8K75};P7Q_WbT2a_@}pzx~uMDu?rTu+qme_ zQ!NAjJN<>%W^SC>5D?KHRraL&eR6r0>zrlLeU37}FBW)g7wi%cS<dpfuW4P|2FcF? z8-IO_(7I%xXjS%(H9~sF-5bw8eqE8H<8SP!%&!<JTJ=Qmr_|oO^YU8Z`HSUzgO&c3 zh6b(MaqQyhs!Oi<<r>E>F}&hXxTJHh`BYAhW%6wck+oU3yAn3d+wJja<D<)GCb8;B z?#eyK@$1^(w$9RmvNfk=Di12F%UzwF5HRo7HP*WspEPZY3hK71h~Ju$a6G+OC-U*r z<nue%y*qzEATGi5vi(kW=9jUy%MZ5fi2cuSOJ8bx4A;C8_D-W$-zOP)7vypE-kgx~ zuasq8P1ZzjJ<Gd|H-1fycZ~gGcqvC9?boA(2HuYi3;Q3xj7j+?|DkMVmEVHx#S0~K zcQD({UUlWdPJi857rU1%@{7nlk#{xgwi~accDay@{Jx*--OS}V-afrCi}%R6`n}ft z|F)*ZX8mX2n;N-hi&!N4hoAG$cZnQ2t}Z$!U`OaI^ZEeym!7tpj@=N-ORD&4@AYDO z{D<xD;(tq72>DDcy3-T3M^5*{))hL}X5ao%UVDFm$<MZ8F+2JFyZXPEecHWW(WzkH z&9%4fnX`k8HopvFJ?FLQL*3RZKk6R~WlVomujq8lgJXrH*SrPIe_mgb|JMHD?-kd) zlHc7)61g`Tnik)=;^n_FX8E++H3nCoC7hR^I_-pnh1`sFm-yReUArKc!YniSpxtv* z)Az@E#hg;Nw-p?z7nD4HY3E<(NAGXt-ifSTsK)$Mg=s;5)LF0C<|!{t{xh^1-MKq8 zQ|ie|o^Xrcx8c_xtXo}JqdMyrw|36tr^kNJ-D^}GK2g4Vo?1s*q(QCO<Da3Gc6vWn zIex$CzKSVJZP~SEkMFDZx311-pZ0R1#JNj1)b0MhIyV2qY}cudQy1}Go@pdf_4R1Y z-NKLhN6igR=Edw0>ai>eJ+Q9$cXiNgZP6=>WpcxF_}6L`PU@X;e*OD>;u+V{%)5gl zu69TtUKzJ%<;lm&U3-f^JoemWb~dw`hg0nB?Q}ks^G*)7t~C+YzyJLE^~|P~uhuFa z&Citjd$%v_7{l&94?d5_`%Pv|cvCxLAM>TRN~f~}o%k$Rl0UB&ljFRQvdiOqm+srs zAGqee@lR~9xBAKY$A8T$A&z-$%F0cC_t)m?d_S?~!ij{O!Y#>P*W8Kpl+Qi*@IB8< zBi$wYl()=#GJ$E!;!5>}2UnQBRXClc8yy>QHRXh$M)C2usUK$iPTA~f^omPjLd1sC z|JXKNkGh&0yY1fjJ!S6pD;GLD^<U%_Kk$9kgWK5wdy4d4Eac$UdwA0BKf|f5lMl+N zZ%cmq>eEW))_^_z>x|>)Ta_QF7k;_BCFq0&!-PMN?|gl>d#~{0^4_)Hp3Kwx^X`a0 z5vuwe^LcsDFR}jZYxh`I=jImYSFb*iK4IlgBR*TJu%pY{&-n9%i~E-fgfUER)2ZK6 z{b-+q|1JBYvuwJ*Eo6DyU{II5{nqxJ`Yc(uFY<45&CdxoKV8G1dGdwln!R)VR&42C zzUafA1zRTF-7ME=-_5i&>B74+UJ6rB9%ooDA-8N_Z2T?f*gZE{*UeNh;-4bm_9lI$ z+O8S<^nUc+Pw8ClX)@#7NA>jq?q27@-x%LtbV=$=%$iMmE<N;1KEPlexNFPWw_+(` zmyU5WAGA=oel}|Pk-v^Lv!l;ma4s<S=CS;2CO7lT$#vyXA6r*Ti+uR={UXQDxhYe3 zoM)CjoAxfq{igBlQ%(17J(JO7X*fNx@$LKYj%|#&oh;kfPxdz7xPJQLk5m6{@?M*} z;<&a;!y|W{1C5v0N8P_{r;^3L%<Ym}TbiVb=978HmYQ|hwUqRU8y?}weR<*W?ORJX zOSe7XOMbv+vwg>U$t^#om+ijv`!p-lRFxzj`G=Bkqi@ys%qrJa5)H9X?30m?Uuv#k z8`vDP(j_UShNp_}%ZW2QJSnW7K2NxR^li)(sl97YFZnoM^PuF<{lQV;{e`PMMAeQI zZnVCVvNi37w9y^+XUabRydJERxT?R^*?7;9MXM4++8!Q!|F-MU?h8}bKG{*dQctCu z$NK|&PHnbcHup*8Pm2?j^7l9#GyG>dTgvLj(>}{6Ny#E^fd?Pl<F9S}YN<5stlGSr zH^iRve`@`zQob(p&3nJ34cjLs+aw-*d!_5ymeYUTzE1b)opO6&s<Op_J9SC^aT#*U z3r!d7*eYapVPfx@(49VWc&=4WJ9cAL)FUT$b(_!EcKqb_%F9)l*t;jkrNvx&`t5z% zY~JD4Qm4{qpLM!8&BBtMWq#I{w(~*Tu6(IT`JBhbljV6{*>-c}^{Qjds)tOrJ@Rbh zyi>5;cJ<i>J16t=9=)<rxn|Rv6rmq453<`_o4Re5SjDWnPpW(JSPxjcS)R|j&|LJY zS~^*6aaxna#7!Izrr93&vixQi&xz|{@0Fw7cRtbX$+PthjJ_$BVx)Dhd%}SR2irc4 zeY-E;d^Z1dAHR{sm7EiIn@=47x-y5CV^8WsVTGjBGGzv>Jj-_#ufx=?o1FfsyY#Z^ zq>R`Tj(Wm*?w04Po-6z|oV(8CD~GI?KJ)q&tJ<B;|MI?b?2wIe&Z~$y|4O#V_U)1_ zI(F~LjVa-C+wbTei23{Gcev}f9Sc59z3Wo#ui^N7#fkN5vrbvh+@|!#%)RX4_nG}Z z^Zm0*cuQs4Djaw1ILTM7X1RR9SKCdOkN%RK@^Otp<+dL`=k(P4XXrJ`?})N7+_q%H z%zOS56cVI+KA(4t3(PkO4^YYYm%aJl2e}nbzN`&xKK!V(cWuhFJdvCrH}{p_m%Q<O z@hktx?(8R1^>t!6rbapy+2tKw?O3Pqa#CKruCAbg$K8|6>mSFN%Pzez?@_+SO;P*Z zJ@R`FZ<O7ebw(`gn8NkhHQ!YBg{zxdiA{X{EC0w|wntarHTh?9`6OF678O<G*;ZXn z|IwQ{d*_?AQD2<O+@~HZ{uBBvY#NX5l1}r}@-x;b`|ufGxgIapSuErIZFb8>l_p_} z3F`wYA6(h6ae4YjYoDD>CRg4rZ7Mrp`7r!)-_~UBAMH!;`Ir3jnano9t(`^a@cv6X zGiy|r#|T@;dg@Fzt2x+w;fv|YrMH}?US1>Owjs5p&!9Y{+j+y4J&|hD^DZrIyUCyT z^ZUs)(eZM3yk1QE_9$$kXL@39`^p1fR|nnX^vmmesq#uBMZRi6Mb^#rNfSdCdWcK6 z*L*$kZLwn&XYQk=v&yntJpCp03>#kt-Stc@So);JThlT?`KMd;wTTxlaeIn;w8S)> zI$~$!VR<g=Yv1$Cvu8Ng6|G`C$A7Ku&@u6EHq))9ZeF{izu@*%2Cel)h4;2TzVK-C z&di$;M>!N7pWc}FXnwBTk~6uvPJ3pmp0xP>X!}~lD-*>k7pi(Z>`u4*B04+Ca?7QX z+iO?aY<BzI_kfdKzBR_mq_;{p@Oj0Op83XwX)GmAt~)1hGI(6jdpP0wB;SnPhXU6n zrn~(<d(QZ6P>{P~_CxiyU(&z3Z>F4--ubgVFMGk28smkwXEO7Jk4U_o(Dw5Ek85+c zUWqHvKljx_rEvGwoV>2=@N^%Odc)Lr{##ik41Z+%Z0=&6=kS`-viR`l%k#7Dbo+E& zRO&LjvuTdDoWJe4tRvUD`KNz=pXuh1_^E5V&YDI6H}khAB;Ve-vW;2jPRl1LJDCs1 z*M;A|w|4EWKc9^>wb-XiKFE9Lt735K)Vw^lk2^!=9r(J|ceV6FCzY4GcYI&T#Q5x_ zq0=Ilz<KV{)gLb{o8)V;V&Y<+<3AdX%S~ORmtx%#*zxgL$TyQ8rO^qeb8Tnck@#WB z%(b_u@LGd%|EZp(M*=I;9Q$_K-3erl+In}BO5;28+=$~`H~)RL^5%|pS^GqCR>qRg z9B#)%N`eDk#mQgLdm3=ke5Nr&+0FptD^JQ7aGTxQIB}`@Y7s?g#_8{Rs%E{=(f!Y` zWm(4U3CU@CYZ#6uZ*Q(KPF?1wn=~!r86&6BG{()}cbZQ8&%hDirknex(=>Wo5kn}S z+clfASK8`NBA4gqCVl_UkUZ`4=~C;0^^?T!Jny;gZnk4vS$x{%ui6!t3&Jw_JOgU8 zTmLh(1}-;QX0~fb+ryh46U=!GFU+rMd;K7H@7rH7>sH*B7TluPKTZ0|e}*U>ld7-% z-Ae@4Hr;XY7T)<?L%MG3ofp6EY_F<R^8L1L5|cyWblqRGK7{;mU6Q#%ZD+AcN7*|b zk3Xy4Eqs`~Jkvd3<JGzH1)ttt5u9N4;Je8z?s@-q_029%x4rtN;JEC96Jd$h?dEOG z_PMsDTS7Q=_l`bkOO>F5GfLj}AKO=v-#+Wu$|ciw@vD5V&|;RK!sl3c|K5gDUHc=u zO3XZ0-u=&z?aG{RQ>8jU=HvOA%TK4h>^$;YDqc3Ds`W_lttrziI1fKpNJ&~_-eqH1 zyDau(;;P#xt~GQ{v1;O!y#4jd`e`cd$Mz{+z9z9naH+$|)=&LskNf<-Zoaaj>b+xc z&eBV_?q%+;d8_bnPD#zLXDhXqtP<Qh+3w-C&6gHmTD)WLl&PiCMU{+u4Wr7#qH?!x zzjf7!fgyK&*B<xfHSU`)<*pY#qFJf3$YA3E`>XA5C(m>Lyw*Cqzw_7LyYt(1O0B;| zo5XLm2)*I)<a1BSm$i$7)~-FJ-n##m-L=c>N`5|yTpJ<(@O;fL`KrrC$JPi;+_|~& zb=QyG{yRUKNcEK4$^MR8Sk5f0bz=W6<ppUnC3aKqz7(G?U|hK}-Xm`-cWX$i1gnQZ z(NTu4-`9t8&b-!Q8RM7v^yFTZS|iD7sRG&8CrYC4cNm?Ddv#V+#b(l7_O(?@SIlsh zm@obDbMm#ld&KNYWtU3Jm8tW-x%XW!(1T4g`>Lf=m&O7nB+T|@#odVYr+cm}Nt@lI zrOtA7#^sG|*MtsT+)}RFaF^r6v(4{JvM;VwTg=lH%CF(@L~h5rEssUcH2w&m9<06W ztCeD$$7kvHd@Wb?pJ=U?TfAkn#<2^F*_T(P&0Ur`?VEg3>oh~{#3kC(UdMG^4`AM~ z>&eIKTZ_W~Go(dw-8ix@h)J?NO>K`&oYb7y2k*)*uT@`c^uDB9w6yO+YB_6>L3#R$ zb&+3A$J)IL-RyAYT+Ie{n^LA-*|%3m*P5(do%S?^wfGo+QEisQ*KKT<9+~ytQYq9_ zmPo!KAN6q7wdXM@Zz?}tTEA@ftjfo~4O4HOzA&M7?`x44QEOIQytD0gs!FR<dGeL( z#cJD4pPrf3BDi|zG3Sp5zKE`r?=5+qo%Y*omd_2lw8Gx|58p=Y7JGKx`NZ-I&$e|x znXv23>+LoZe_qpD_+U0$#k^OK-1)qxzTDD$V%^`;)e>K>{kyg;Q?)#))#BiJiMKH| zzm{H^cwTplyUx+@GtV<*kGh_EW~BHbZrXOOX(u|=9~ho{mu(&X;otfkxvO(|CfWsh zP5kb^{?fAS-l#_>pNpTBc5#T&_<j0Z_U!qQA4N~^`EI@}o%egc%H%s&J{#V-+;#bg z%0!!rmIrKKzOIXk-s^R_bk8=syi0EWmXZ&y9=~GaSoBP6j?%>Qk9{WPI_jR`)!LZG zAb4FqYN?vh()ArP?zjs%ojBq2fQN7I=jcnZ?mE5CdJn6!6l8OsY;$W}q`Wfb`Rel3 zZ?**<er~*frlgEq%kN-Dy)=Oh5g$&@;g3IZ$+cKX-q=EY!BJD8YpI`4Pgeh4&Ft|> zSwJSW{iV;mKs}YIK1CZ<=cK<3m5Xj{-m`sO_1~=9cb$$LJ7cz9<@x*tE99Qpo>kT~ zTz~hN#rd^N8Ec=P){zV{-&TA)t22FKT@2$fi<L)j^&2caa9lLN#5YS;x==w(U6S{O zhQRcoGY69zeip8eyQ#i%&G8B8nW}xpQArgkEt^;T?5`_u4VgH};^2W>o==h%@)|Y! z@6m}+47YhKp}ukX36~{#mWfy9d-bkMF4cLk^2Ofo>3darMRHa|tMtr2e&KRz%p`}2 z8yr0E?FqG1vbeqf$rlrwYa3JcEV3!#sr;igIqMtel}@{M$pxuLw|ttgxqrIssx24X zMV>BxQpy{W_ci0N<eKmM-Yu9nRV3<6u&dG%dwu8T^XscTxIZ52Se|wzpniUo_l(6F zD~gp)RP`MxSu^u1%g-soJ%tlrX)U<=Nb|Ge3Ar6IRiTZm{xf7nUNYGIy~%-Hf_Yum z)ZcfOsWeulD;D;YuhM_SohTBRlm1-gKZ8*7?R(4r-QU)k;^|Rwq4wH=<au8+xc)Pw zPg#-{qLISbZhvmUF2j{hbMhWcp11GHmupEob62e~Fk<|@Xwke^rz$p{n93=s{`6TJ zo6phY*(vLHXGo-~&$&G7ampceg+9ykfnS%eU0ESl5wn`7!QZb|TdCUnrliu}+nN%$ z>bpNKW7NB;suwXudBKCPUqw8aIn3As1<%_&t=qEg!rgw$JjG8f&dT{`48N}C@iBYd zW^vB&PWp~-3o>Ued*?ReXcjX=k$LT{^|FujY;JTsndEqaZ97k}KTrLx16qZR&8@Gp zw%-&=c*z%JuwbKw<om8A2RHRhUv+7h8<)Nd`;WbaU%oF}xr1f3h4KoC<9<88uPxc? zF}bQ?)#7#b$L8evOm;2281Qt*E4wMT1!pbu?(jO|w58&w=fQ)vS-p3xX69Zyvq~UY z<&$s8cdP6e@twU+%PLO1ven%7OMOyQxs%~}N$visn8Q1dpA>zwyL<ag?c&`M$Jc3n zo4X{7XV2ms+w%&O|CwI(TzJP(WV^S~gCa-ya=WQYdzv(^Y4?2oY*b))YgUqF{+quZ z-cpqk4mS_l&$Y_c`nZ)t;y^OX#=FO(UWNE8CTz|PK6cG!gDIEk*4Z}u5;K*LF}~n` z?Zb2b&2*z_MLdc75>Mn*%T4KC{$xv`9-H(tb%o?@wb{O=g6-P_VyxNh-!%HfYkC+e z_Q?F%dE(dKOfzqn%;l$qOjI56*xWe(WIfKj(K2aiS>eQU{x#1gs+OI&zvs(A`|=lB zC*?{iPNpBT%;EVpOHj3tMcQi<ljkw7#~<0|J~4Wpclj4rMfrqHD_I4;zNz(C&Zw+B zcV|ykUCDt=!P{%rorqX*?(*dirdo$*3Z9xQUF0k`r)=4h3q~uZOjz<<A*IglYUWZ; zvsH5s7S5?ETfpUXOJ!<WpUpd)`Aa>u9wwhqydl&7)FbwBQN)B=tHPiipPBAx{A`y{ zU%xlX!BKkC_GzC)I|JtK-JagX{C4v52?htAx);9<GTE?QMOfjF_^h^MsfOFzdcMeC zTc@CHR=g!o<o+zb`1xKT6Bs`i@E0GD|F^5f?3;D*m(?z29&Z*Iohf^J;Q6HD!1YrK z&OK6Pmp7L@@3o~(fT``yCB7N|N?ork{JH6etmo_bSsR6nIyvqf<~(rJ@cL;cr=n{9 z*P*_5bevXgRPSGYZF%p9H{uP873MwPanvqAZf)x=k)FOUmo;w*$nZb+%?t~><H>uu zZ%U6tjGX0b*OuejD;0Okd~~+si`>M{P?fgG`U8(o=uh^(dsjZ{i5%lI?wMruJJ_S4 z%RMag+`A{W)?Hbt{~0QzpXRwLGaca&*=Un~+3u@g?Cz<JJ<UDkqKg>c9Ll)ac-YOs z!rnkWzA9_ASF5{(vTDD{;zD<x*INV|ERx)dLuY#4S!FKsr0+jN)B@RpvQ5ng@;sSs zF3)&d+P(0=&yB}TW#%PoI8N@ne?`iDN{maILjj-hJFAZlEUVTX6%o^_WOy`jM(cg) zjm*+hJ{Z0YTzzDr-#dw#d;8}ad@@?jtloUqr&Y;QdCqPz#^N~|mJ+L8)g0a-P&ao~ z?QcQJy0SdO_b&tHtehBYv#o%Q;X%j*Gv5a~t3Qb*RQ$7F%iyaPV#y#gv8QL&#HAgr z;k@S<9{;+0M?_a@4*R27NgE>@-8CH5`=&}SnEf}!ua(d0vD{ZpzSu5-hwRLj>azWN zUH44mzOX^%^Bln&SIrE<46OFlTWx%GXU?UB=@Xaa8*EhJNtV0Pb98oA6Qhhw;VkJA z&#BUzDo=i0xr1lo716+{NfvffW1pm{=bt<B<lFLTk27W68Hzon7Mz~setD_Mkt6z= zY32D-cOA1zzc%MzG{cevgB2<kPF1M~&YBxORhe2Ys=ofN@}H~|s(ibfHF&p(u29|4 zd*ah!rW>jrPit4IYO!R^jG5#u@4tMjToh;B#ocudFDfkFcbPC)b1KU7ElIbVs#K}) zXBFppr;6{UoGH@IG79SQy)OR}8iPdn!WAYI_It@T?ERE_vGL~}fxFwT=m?)zt$fAE zJSW6cYh~(5-7Rwa=ZhSj=B|E<At8Czl7^Wd#m~(t?vKj~J8f;Vb7IGVe4ns@EmKZD zb60wIhmX%UT3cUnwu+gbRab(N%Z$`%PL3?^WG2;Wsdh;6oeL?|DL%`q_%tE*U&F_M z*^8w%B)30*8s}E)zt>t=$^B=F2EXH+D@C5CjJMr0oFA2RUehnuJ0WH2l1Pai2ZByt zFnI7+Yl>^(DW!Xt3{^Xh`;@%Pbed|}E-|5a_k#0PedW`Hw_aCmmw4G6z-HL5I-6@p zf-Qet)+NDA=S{L}cesC=e4$oz;-<q&Yi8VSZhezAIex07$M*%6jPCWp{{Jp-pE$MP zF*AGBV|nKg)}H2bT$BH(|LpSdP<AjdoFjN&eXp7Il=FO>@+^X?{%T1stFGjUi%fj6 zm+|`oUUrWE3_6{M8e2h&1sfA9HpCY0wyr#9eB%mxP(;$yS(@f*Obx~-Ur+XtTC8ET zC+E!J9=UnX7B0}SI-r#C<nPVA*K_X&d#q&9T4Z^@tTJx_Px&gN*Jjrq?D_WT!Ni^I z%IeDsFRktk&GS3)p!WAqA5ortJ58=Q+{{ej=+(KG^g-k?%agBaGwp9Jo}#o#fX%M- zx!l<hwQFyaOWPg^3G^hoJwEt&R&v&~Gj$g`r%Jr#-mWk)#4JwOsNZ1M`(p+n8!R8K zZY=JfbXUc}Qv2Zf$D!;UTW+KYTKfvGSB+A#SH8DAx7cUq&E&~xhM!NFeg3j~L$8JE zR1sH`1mW}NEaj#=o#fjs{C4vCGZpqr6Ypg2igw=@Dfx7A1Jm4g_I25=TW!s>+dL&E zty+>iagu%1*(02%Ii9NIX&HF1+ek&~UD;$5wWV9mL#MF$#}(~WFFy*~7;B`($R1|- zC$j&RYJjWQ&17}e&66BocX=t;#QMFR?ku(4RpQ{P_4T}~5{?}&XEAv2`E{7fh2`fq zZs@I&c`o;Cw(hkE$>=jr9xFG_kJ>79rDM<ci8g2VMc8hh7<$!fYQ26@-@U~bu6Fp% ziJVsy+Q{heM9OWKpk0)L68rT@ple!sGL=g1Y|yDt*JA&=OnOI{S!QyAcw^uG-pH=! zK0AGnY^m<MBX>WlO?pQ8rq#LKHkR*Pjifcts)(<iBeeR$JU;fVmJ7p!Zk};Tb$80D zJiC4x--nPVsa3zPhVHuj&$XAO>qg+`KZhD)CL2uUy705BxwURV5dWrAM;CS|tq<5L zbT-{&z3AFQoApE0c?@qnTh<m)6lN&XJL&A_!bXSF=3*PXm`|;WXmF5qe;o4fXi~sR zy;?_;^#(Z`9De>@U?A~*g;1DX+#BoW6X!G-Pm8Yc)(LR?y);Iqr-$$B^l#E@+B-M* znWwWb-<F%Yq&zp@U>mo9*}QqjR&|$6&WkyA|IH^p+sp-u8Tx$pRUIw0jxS?RvdwI| z^~6uT)RSo)zx>)PqdSbxDswm=%b%LHbG!47sT2P>Sruh$G*aL;Nk3aKNtw^${TCCD zPp5?~9Ou+5>|>Xk^1UtO@Ff4~-yPp%ZTawa`=s!k$$gwJXN9RW#IkleJ1okZ$@1i% ztybluX+oz>Tt6`e@jLzqsa7`7VVS!ixxc=uHzZ2`UdHqVC+|*t=^(778Fu2QyM6px zm()=Gr^yo!%5*X3vm7~C{<-=7t;KWK*##^OGLtwU`)aacU!Qd3y7J1t`|7{;%}9Jv z%d715Q2EZnm^ntjs%5SiX(X(vT5!z0s>`ia`m{0AlalxTGu)cbKeG%H5tVtoT&``R zn$VGO3!Wv(J&!i`eTgeP{z8lQI_tKBTQuWmOuRSuz@8o31D5kGNPZ^r*(67Fmc#QN z!5e(XHYxAkxgl-xlcbQI6FUQJ3w>t&`{e&MV1+`;jO$M=zbyKusgnEeo#)ia%<4~- zd;Vq>NEn~$ZSQ$3dCqZ-M1J~?PMaGC5<fj=DSnl8>F!a9luzHxF0q~8<+0?MUC?96 z#iuqU@7i8}Xx2I(w@6P$%i6oeFS`!=3;tApb17=e49Ro#Yn|@tY>QknDdFS}#%+$D z9^d%B(4(#Q%<0cXW!n|{W_&T3d0SFPwBLbWer>Y*BU>%c(_1dCiD1vnzYuaMdzQ_m zBilAD=-7Tvdj2xrs3a3P;XST4S?_!L9`LU<oVoV0*qgxO&l)dhHEzwdKXYPkD4PRo z<5ACV8=nfMmh`N1OyHW_e{4lrYGj_?;<BzQ>u0$6z4sChxFRy?+KDsG8!diaoost* z<)<@6kJTC7o_&#A+V?wf;>?E~w>L9L`WgPZa6!^M{L)$ZDJw5OyR)QC{lZnvt+ly_ zDy5|SLS(kRk^iu6%72Co>-Tph*;m{${&`h<`87_LUWw#6ea3;O*iF7i{dw5_t#EVA zlU#+yUsv>NA8~yC&mi<{hTNXM>=hAz!kaGM68C$uu42`)+91K-w}m*)r!nxyTs);M z^Jbsc)d#HaN?ty8kx-W2ueHQZA=<t5x9$bWClb*g-^NN_)o-cuJ)#r3zoR&6!YgzA zwvN@w?-c{jhHHAt%!xC*Bo#X6=DnQrcRxjcIw?Baye~JQGAd$euWV;PqGjL<KkZBM z0kgBVomVv|=Uu#hUDkrVMP@%UHEi!NW!kcxx8D5GZ(>Q*tD9F-&RtRqKKUzb#<e8- zI?>7HB~Gqo0-I0IH#%l<tbUiJ++M91hv=+hjJAeHxuPZ&3&cjAxXD;h)nph}cYMj6 zx##nGj_;Zyb%!_8QhK2i!*S*vUsnenO!9l?DAjoIc-18hzR(316Z!Ue8^+z4b$Zh6 z!$lTG?i>3pj?1sD;-AVhaZB#T@D=Az9qF%Hm2_E_G2-fco93Rn(u`^6G?hP0ELi5! zX?U9Tx!u&9m-B=_OB^lgX=X8IF#aL+Lh9bxf6n<5?0u}xf2Ru7yqPFaCA;9_f>TV_ z4?j}#opznW;Us7C&#Rmz?|COhL>^nxzh}?$8?&yPX+^wCaD20}|J=&c%ct@r`Y-yz zaxJ*F>A7a{l8Um}Q=e3K{%6Q6Pum&2pCwbg$F*;@u-N0IV@38}UluPv()@kGD*I){ zUc0I`=Lu@&l-dZs$c#y!aPq^vJI8kH6yET7V%NcaKOC*vYA-nLzn7PNf4a}L<Y!kO zC0=b*xA=9n^2^!CtDRkzj&IhV%~;2N_U(shukJr@dn@sH)tA57Vy_>r?_5;$(Us+~ z#5o6*TJ0Crd-Z;LPFOy@@w?{<(aEy=mRw>r->{|j@vZXYzpwTs*wxmvy*BFz^JaDX zdUr>d>AB_#yT7a6ssC`T<y?9D{<a@$-X$EXOE|6~Usth?Jz(R<6vHi^<vAC3-eK{b zCU<k8N4U+W+s;>PHi+q1ob&fuTe$Sj?Nefp#N2IvDt}%r{;8rb=;M~Pe3zUVuROlD zVNQ0lpzWCkzTP>LqmHD0<XP}0t$y7j-k7dK*PLv=Pp<f<dtCYB8jm$wtDARuH=Vl4 zuw7Owarvu>xwp%f7`#8nvFa)F#V`9gm%h^fRoPj8?`-L{``phbaK8PT>D2dA^szxy zMNj{oEW_n1j(=KP?fP*`eQ`LKyU!fvA8C^vs&4%;*uQIP;MUIBeG8Jmu6p}n`;iN~ zwnX)Pah@aG{PVhS`kIR0>L;!_aupojv2L2a(2rLpw|-6GtCeV|pPR<K<VXCYsY&;5 z%@LlvaOa;_yKAgJmTTv^o-R3Am-Xq+kN*sTu^-N-)!&<<xhgoK#<OR7Q$+jv$rd)3 zJ$SbLsQxI#W>?#Mg5U3zw%+Rl_bdWuypg@VBXDwbZ~4b0nZ|OX^*iqda^LS(sGJxt z!1(*X<1cF&9{*=}DEqM?Q98m(=I=9!zu8MJ|B+m~>EE|go}91yrfR>g7k<Q=zTf@s zmBiScU)g7!oPT7WUBmpj-Fycg1V3e7GW)=!6ZVxEulsh$be-ApA*$iR>`Iw*#hHaa zq@JaIe13#udP%wJ&SMws*M`@3*x66@+LHHszd*)Q#aZhg{Ek?fvSZ5~!}&g;+`ZCH z+a9htwawxd=NjvN(I4yT(x-X!|K7uYY_)yI9&aU%OHYjD-e|?RWc;+!sei3I)8p&E znyZ=%FW#A)(_Z<?xa+{~eb>@e?wS3x{UJK*tVy#_YQ2{y<7O>q!JI>ER<o8|X6RY9 z-)r&SDXdTW=FCcad_MlrI)&V|XBTL9NU~WneDYtH<x$GCNyOu(!xN#Z>o%J#rKh~R z9W;B2>(Bd{wyPRmC4XeO?QNqIP!MgywQHa9oYqe>R<Ag;QS#A_dYg$;EYEsupQORH zwm-|E-0;V=H*AXYT+jP|Sl#{T^?d!rKG&MQDxTWx^R2HJx2W^fY8~7=wNq%$ikGhK zr>a=$^mp|9XIT7mqIvMnO?F#u?#ZlF^FFO$x2o!Q*8{1i5v*#f><$!JUCO9gUaQ|_ zD*Cha_pZkaZT^`?RNRj3e|JaB-{*6T<>aj{>ajOu_iIgzc<bN0^{UFjic|Flc8iuZ zKN9a;T)X+yC5<Nr_GiMSzwPK`oa$z+AN+NhWVq$QqfEB4b!yqK3e+8Jud9SE`O&)0 zCpK-Kd4LhyowPk`H@t2#eD8Ble7_gNSF?{TZ&rQkpShRcIl%kT>Pz;ediRrz<8q(R zU%ymw?q9<%3;1r<IG0X4kl^{8y{R@s>fNfCO))b*-``uP^vP9y9<S+pHRT4r>R+J- zwu<_DoQrl&`WV^q)9vE<#{qxWA2Hl^Skn2rsvG~M9jaH}F$T!2l$)w?%~W{8_q^mU zCTi>jx0Y>M+_dR;@~qC%xp6uy+k*H5?sPr=&#*<+=H1<S^RC*I8*R9?uK4S+1Fsid z*MFjSGLi4etK$v#4lSO2q`aE#w911&H)N_m$4ox2W_D6BKTGOSNzWReO3C9{O&2ej z?N+<9c1!Y=f-JF*!aR9fonIcWdfw8Wp}tb)a!UH`9Uu55m$j8_tl0I?O=VlpoDUvv zgX<5)=Ny^&X4BuU6$jTT%=v24`mL{uYg26BnTlC#ivJFX_OJIpwRU~i+D@)pIa>bi z%0Igviq7fzb@^IY@Q#LiN5T>&-tQM(U~PAz(ec$PL!Wwq8@@J^&ZbFhkKuY~cX{%s z54Nj3o=?wZxOl~P^~-lo-3EgF_gLP^M>X7yU^_nb{<=rT5lye+e?I<d@^zQb(*Pl> zHkkm=3rEf79nK3gp7W_V{N$$T9fi{*ER=Q@uZ&jLO`9z5p!LOS-L#d@eA71mT35M% zcUhZvS;uT+rR4$qDj`k(>}N{*9;<b?pBvVEq{?Eubz;Ve{P$(6Csiyzd|3LLTl{*j z3tayhZfz@^XY$-lw&KLf>Cu;_r1|RJ`1RoG?|iY0)Q|%lq3`axUy+*mC-mW$`?}}P z_tm}A$l<Af`=0xKrPR5Il)@&CpY>e5rt&<eI%N_&;{<^Hk!aJbkjr7f{Xp6gg1 zU#8XkqxrD)6yN1dk{b%F0t+L~WSR({-Q6Pjv$@{c_wyc`{|qYS+G>_sY#ghvOFeH@ ziQSlaFYc0~ZIRZN@_*d(wQ^2vGn{yoF=<WjVj-X4xqA;jdA35rWSVtTe%il}M{~OC z**u)xWhU0TW%A8^@JxR1q~ezcnHJBOE%7opUG6`_UB=zZO+Jb!mUFaSytg&l^}~)^ zA7j1PQ<d$ntvbEvrB<=*VVQ4f3jZ0b^u(09tS$YX#XMfdDL*&<x9#o~J<1XX&oRqw z_0v^5SZ-3Dz<kws)+B2Wn~%A&m$f%Nsksxn;HhrM+wxpPIa|*2&waJC_(G%S-R^UL z>}!>Jj8XXA_dA-)eRsdwr2JQEc51|S(a#PGolkD9%CkIv;p+Lfi4w7wgshtH?fkZ7 zf8)MSpKq=_bnI8)@8vymuj-e&Oz?Pl{Ycq_RWrMGyuU5qo1x!n^35+|YT^O*<$H?^ zGB0h^y2!5my*+E&J-HpzSm)h4x#|37!*AbLD!d6kCMK^^SH>Z6%&OKmw*9D7L1~8C z-~SAydG6Qte5>cl=A1I=l*97gBO%I%XLV{nTdd&VU?P}&QT(Ww-Z?#00hx)d672UT zWLNne*1o$!{_gvq;nQWsez1kyHDv$M%enC0nuXUG{OjY-&F!`gEX_5`*;CH7`iA9E zE8nOSN-C3%Yb{q`{+oSj_TgVE^)4MfEc1B1sKP~4M!BooPW2rroWC~6*?pz^s!XE| zZkl56W=E^reU<+<Z<^<wqaR<~37>g*;c2z|W(<8+$tIgC(o*D-4=SYPBzm&X`*Lve zh4}%OHk9dIvU=KTayR0H^HD2}Z#Mmh_I&+gsZ(FXDZAHPpgw9vNqCX_R23h7n|bz9 z^AhDIT)%cwT`x`YXTQ%C<E*lNtu<N6&n?vL*H+%RoYMTHx^wnzmB$}fPP?$-NI8%F zJyXxAXR2bVrcPvFVfi)B)pjd~$YLeMldpR|#-*#ynJBaN_X_*NJzYhvRR$OD7%(qX zNLoF^cix;*>EylM$ps33=IuSWr0utV21_{K^V1Sxx97~e-5>Qi*!D{VZ-IBM)s@xd zwLK<1$L|){TTMGs#WTsVplkOj(dSPXn7^(%oz201%Jt;yiF2;Y%Pp_qa5}Ycmw@rF zt5>d>E{R<c*zoe0eH6o;TpcedkHvzkK5qGH_xRSPbtaGIY~Ate*`j~<u7$ZoF7mXn zVENAwB^`R@nd{^?`wc9Q73~Rr#{B=n9~o|k<6f1IX4y?WmtinR@GSdM>*Zcq{pZ#) zBwuQr=>PoE6ury|$C6DR9<|SxxgheaX~LOukz4cg*DCglYWDQ-NR`^>v8wSEh89Si z@>gmw3=+uP@%6O>gR;q`g4&f{ll=teePKAd^ud)@<11;CnHsZ9cPcemOVt^>X$U*B zFO^VQ7II$H>d=y>J4Bc}1N8hf&8~j$V)^;KFyO7EYSwHiNh#r5GcV15y7Q&`w8QU1 zdKxC*Ybd_F)x(V~)57xj%V4F5b5@UfcUP6KEc-aickfFzk26UP)xlk#x9`<EeEq|! z9X!nQrtGjdrdi;?yqD3}=#rG<o6I#kWUk!K?AiI!;aGEHf0Rp5=99F(=4M}pEpz^6 zI;Zew@t?7<Sj{*;s=Vg%)j}_~Of%+UABD+ZmQToJe;Q!j?p0>-tan-O@*RIO1kxt6 zud`TUGb=`J3PX=AtHOhzznKsCt}q-vtH)>PAJ`R>zTAY7jnm}q;_I_!^n3NJU%6}s zuZ79tzCB%BpS`zSU6vuQpVMU@6_Zlz#iqfaK8IDUuZUISe6ato5F?3(PZ`YjMebEK zdiT_cwD30jp5xW9SfUcZlsxCs9HWUnwVH*mePt#)W-wSvE>&8}J@KqtIJ*c>|HNZf zm!~)Od&Mwc>s_)f+d)KB;)Kfg<@2h(EYDqfi&yPHdxN1zaj?XUPgX%cUB0cz@fCc$ ze661GQ4hh*K{`1efmg0B(9Tu(b?K|cQNJXcjc*-#CLeW(Nr+v-ALX>5@X|7l!|U_f z_iFYt7#Hw6RnKB`unI|^r**h-a^F<W*A6%C%<DP2Z_5MC-)<I5@3wN^2=JD04q~|R z_~T0N=i4;7`3{Q+xOWw;l&!boJZh2fSkz0|`B3wx#<LnRGJ?%7{d%v;h^_853DQ5+ z{L1Q5#%9wt3!7Q}xjtt+Y`A)guT9`!HEG;kUU<~za&=OJ6yrHx@1she7?e#OEiH85 z(d}})w&c9RuVDW;%{%OU?CkTS7@6mNx%zX5$fF%Ab6Cz9-?zEkpi=0yij#G7f7VXv zW8DoqzndIb=FER=7N2Y6q}1cgN~@XJ<+cdi*s1bm*_?Slmgh;B%2|J1;MDVc^28v$ zOLkdFbE>)O7+*W^9!Nf~)O19qf2n4?7lZ8!CU=E7zk_R6NG^YS-ZYF!uDB;9xT)&O zD&ZZLCVyCe-_<nGW;tqGwCC+=#maMr9<Lm9d=(Uw3!juO)p9%@7_3s=Ru$UJchBmA zNyvGdE3+p&5Itv`>7rP9K5CN2=|p*k{|r`=Wr_~s>hgcHW-;^6SyUIif5&o<uHLPF zzAnm%li0HKoJB;Y1#i~a^D$7A)z4z(Rp)}MiAp_vJLHxG33}G=arY{FlhAT<wQ=;S z4L5FIzrIXs+vVMp9Rt<x&s{EY)`02B<XcNa0~$6ynK$nWlmD6HA65lvxF{#O#Z0RD z6~a<4A+PU$Z267oIS)eg*0{5GEi^GMvy$7JWwc<P)?t-YXXSTw56XVc>X_v3HSOpr zgQDfKj*Hp%I|ea$O+9|^x!sJV$})_*Z}la0{7NZVxxnE0_r(Q&vpg2xsY|*2<Jnr% zUCXZ8h)F)*>wBQpcXx`%lD-=j3okLfeaa-xENN*!*TPBiP><A&&6mS6FR3!C6bC#B z*POM@WkvG+S@Wzj1^%pv2(M>vd4EkwPaw}`1rM9}eOq5|v8lFGj5rs+ZwP;8e`@iZ zGK<~PG51u8HgrmQ>bNss+AW>!t9A9?h3)e*=ZT&(d&uYR6T1G*&v#}Wi*+7L{w$pM z&vd0+!@i`-4Howbn+)d^H_q}){WN3Rw3p?^zETeZD+6!Ly6-KL*8SFd=Y--H{+D+5 z+8=Uqe0DG=kiX{1^LyL(Z_d@Zz}@2VJ*z!%+M>d$vbn5x_A7PD6!F=;-<l_@`ml4F z#`hwR0P9(=bW1+HeipeP;qa<oA>#9IT@VzpVSAtvv++;1cwqmOC-1&wxAi6(oBdm} zc)=RcZTl+Ew&+PT&SPWz<69M?S+xB71d}3B6}HE=n`2bJh)?TT`bf3$d4Bz|Nh`cv zx!<Z)M=UrJm(nunKvAJjm-US+ZJScVUQe9=JXUR%+HOwKO;)ETc~~Bldp2LMcir=n z?TM3rx7#nZ&(fB8b-T5Pk;_{11fPXyP{?P!Ket=^oR+r+e)@cC*YApyt%b@?st0VU zu1#`$?j{oLGWUD3#PYWSJN>oPJ+>Fit<L#msIo#ve{GEST;Ag|^BIHq1s5E!e=qfN z{hQo}*6)=fL+WMf&EtK-V((4(<o2K8=7fh0Cr&*6xGI=0uzSr7o%-|^6UJR{l`X%S z#y!d|NfYp>^W#iASNuLAIHOK$$0;S}-52!uY|rLIRX9gX3s${0?=8;^9f1^{s-R-N zV5N6|7qPf2)O-uvG5^@k-E)KfSU6idymGsG{tR!`);s32YS?bOT%4yKd}h7;C(~26 zGvySF=i8lJ(z_}0E`xRF>sc`mPZeMLKCAak(XxehFP<oDus`DNl=;29+{i)q0k6`I z2X7w~zm5%Cz4&0p$GuxO?#$hxwW=~X;@d3tPJO*=m2cBaWLSFr7|vI1U1_s)uAyYt z>ggU=>iIv3*76kRb%t)d{Oo;f@BTJZONMM)qX-5Gtv@NhKD$)$?a!QX-z#&fpW8jp zUzb>VT0Y#HTAan@v4n5F-X;Hy>&gQ*Z`*2k)LP=(a|WLG{~4<Ga!K2kr5XNbNVnb9 zrv6Nl`;B(o@k6)%o|-vJLe1$$(5rGitB?0uRkmv$`S7jTZ^ulR%^VNk9dFWla;+-F zqcgi?I^(a0g+1Xr_cy#>Cth+b>q)7#(~3Wu8!C7o7Q9W_B=apwHpMRZi1LOe3%j$D zJnPD3_@?SEZ&@_w=eEmlZ_kUUz5HeUV)YAKTek^DWlmVeq1eH2b@yDRZ`V%0y~drV z&Y&13lkzFccB7e%96xv7l%LlfXY>^94yo?Cap{lYiWi#CUs`?Lqj&bSnDuwLx!M;J zHe7ozbJTPXgWM9vzu9&E44K=v)x|urZEei42;Mb)Yhv=zt^NWP(`4t>ZTz-UTDier zY3KX5@j~&Z`YTs><_PvNEj;;sec9xP`(`rtZ_;9uH9xbQZRIOD_UmHoX?xowM4oH6 zDch7TKQq%)&b`>GmFaoRM30!cH(BN%T9G^JW#rn@nW6zatJBr(rrxPPw5ID>(08kq zvjQgxh9t}{zBSKI^p$hTwo@A!%*FI1c*<?Au2k6gH2mdiG0yzw-V*Z0%=bT-_Exg3 zw$bFWX<7K<xaG<7YWvn)s^h<N_ol0f)U1_LnXMl`Ra@=)Aw7Irn)}}E70n;FwpF~V zeKplZFZgN19^FUTCuTiNJfxs=+?L_>!8IQjznV06+o^L)@*eut?OeZW!H=+9;cRc| z?LO0F{)uj0{>P$KkD<Kdq|yY@$SOX65vyxgMEslA+UT#jyH8G_ef{~PQL_(TH)Prr zyKu^X29|m=yRF{~KTK=tkbCA`@poo>e$@F`=|jItkKfi!*gh#N_lP31O1a&Zy*u92 z`0_WKw)<?!I>jE)Zp!pSKD_c@1mC%*Q?B1rx_#)_C+`C<*4s&}+Hh<6-fYihFDFO0 z_h&Djz@3u7_b0?AcJ3OP<p;Lk6WGx(WlQg}eAgJB@6R^PK0K?1xn^6?=HvyE>n}K` zKD4&K6Vo>N4Ewtk=d7i?EB4rCCv7W>D)xJ9IV&dplW2W}kEMS{P7VJWPbt5yq<iKG z`e*F+eZ9udm~}s`_g$pR?&xR5J--U${clHPOh5PgaY}{<pUBsfZ(j!W^Ss!&>9o#! z#iTN2f#~&neOB{N`RR7~;P+{hX6`#HGHIXj<l~|*X4y?t-ErS^jjm!0OI+~$;JD|- zi!)uLl;tj2m9T$aWpv|ZfXj;uPdt_|S*P#I=DfD!r=Pn&Zw?2?0@jy}J=Z;xS28O# zb0qAzV|X;lf9cWfx{9GMPaarXk+fmcR)J%$j(q-PR#Y3c;aTFT+?ZvZB@+HweitYH zy*S_N^M3|`3j4#?r@c$r6)JJZz_|J4*LABjOWq_sdRcHMm;K8c-fYK<>pnj{ubA>Q zM0TNjP2aO^%LA7t7R?jYKWr=YD(v&tuyD&`;SzF9o4)e53Al^t=(}u6maNmhEA4Rc zf=27v6Tfd%E&G)^rzpRZ>G9?5TXUt(=v3&)bEj$uzZGn^kl(}7e;_RNev`D%+}1Zv zk1YN(w1#}Db***JyL59=%#B^|&xO|{wz;p%PC6WUEq~FhSMRhlXGSL_DOk#SuKIP_ z`Kg^uzxVFG^#2T<B_EIOc+7EwdAr5BnKt?>Pc=wOZ$D?Ss=e_1`lYqg^B<oLx>7su z)h+3%K^)yDrA6Bd3eT#(Kf)XL>e`dYDAmdSpFM2~A8uloRNDC}dF|4+MKyIbj3&N& z*QE8{W@!uZ_@*|oM(xoHr>>93EG?ey{TCb`skW@{%%qqT=asc4`75ixjtur?F<)Tf z;XQ}#=6Tbe!n0pw`{%#?!>@Gg(#>Pv{r0pLHXZ-?XyMKe>sE^U+8n5@5dF%tt+TG# zP{Ag#{q&{PXP2LrVL$7*MezOg<)W*O7;OBssUrMHk)Zia(Qk7;U-+B#@WZl=D_6Kx zXZw^&8x(&P{c?BX#iY))TSb%JRB##W?~QDCm73$R=+!N5jdP-c^_ACG+IlX0lq0kJ z%)}a<Yk51GPtW*r_dmnywXf}4tnRMr-n})p!{Nc_^9$Cm`f{Hun%m9Hm{BCX>F|3) zn@8)9KK$!^+MHwIL_U6-_1C6f(-X7HsOQa25)|F7lC}3#5yRVAPqy6Wc@^ZBw@&Sp zSAh|q<@(L_8x<!RZDySm$tSKphwstO+2<MW$EE5{KW*C{Q{CvkP1oh;@rV!CmR!4S z@>uvp0iQ_Oe};^!vg!|~?Ox%{bkBAd=aLZJJ&DD48qe11+3|J<U6*>c{+Y|_-JDaO zuj8-VBQ^V<=$A|JM_FfYU6R-Qyr*#T%UPY_vi)L{ADsG;_fl0!*Y(LA2j`u3!95$l zzYSIYVEScyf59||>Hk=zLl|%EYn^=1>ff9-8}HqbE_-aWK;`q5<T;^#jSpG%UMW1S zQLtL^PRtt>=7Y!grhlEu^YflQL-uy=r-v8a?)lFkt}Y+k^=j=u?pPh`#~aO!=g6)) zWRt#L<%{T-y+>C?AD9+)^xuU&@9azJY+vgKT==^Bw5H;Q-2s=9ClpSw`*1#HR(sdP zK%2Dd4|(q{IhMNp<__KkcK(n2qh3ru9DXaL>E1hm{)4K~3cBS1x6Wt06gg3Ig;{#W zMuy-87ne@s)SGrIa*E}>Hy+$~!t!$8MQOM%eHpfS>$gp>nSG^{R_l4Xz9@{^wom4R z+v?}>M}>^tn~pgI&c4uiZ>8zAxxy`b+N!6;@iZA7muqI8wO4lDtaF#V)AeqO2voAm zcCs&Z?$%NJaK5?4aL=@W{kP)Nr?vA$OFrqFx^AD`Wwv?WripEgc9mY8`<XF`@k#o< z1^GW*AGAs4y-nwqZVl<kONjXU_*K@~-fP{31<6}C&%4T;z<GdQe;41sud{bC9nO%F zy?gMAdc<8328jo`ss9<ccCCDP+S0uCCjY$&f+y{+2Hm>twPQE8>FOCuVd+A0vYU_D zzP5OAOY7%!p_?bpL~M}ml&(GMZXnwd9w*-=`{qMCyZj#JS({T=Mn^?&+_tM>?o9>* zc9u_tZ{xyDvbh%}O}e^-_q&kKW4T33`<=IKYd+m{`(!~uci&8#e<te-msGjl@5s6S zyt-wsnx(Xd%vJ68(k~5t^JXRXJ)QqI-$vc$gY~1Gv)3~F?iO4ey-SIq$X~VLNzy9U z#WxS!PuY0)SxO4W0S39JtD<yXh98~w`LxkYnQ15PUkok0wKF#C`(dlT83}5x6*q+o zW7}1Jm!6H-^C5GRh19v{XJ*Kr*?*|=Y4PhY-96eiYrcK|5s@;*kgMon_+`7P3aK%B znEkV}BNuaCt}D2)PKf*Q@>iFl51k0Qr^*r8XIJxVujU_HX_fg&TTd@kxAnXKaal~} ztc1<EZqF{xvJhw4^}tZJV|BOc=9XE~E2c@Vy}(v8b!xQY=R5pa*Dinc?hvX}ax`9d zgISE>ecckiuQy-rlb`pBNwraTy`HinQ-hc03%81ww^r_(n42k5sI%%j!;_f;d8g_H zk4xHSJNf+1u6UbU^D{Xm{Dky5kHpu3x;ytP>TK3|(!4{R`9{_CWS+FxZr(#a9~bHw zPJZXVH9NvDwuM_I(>S%Uw<`J45<YXUP3GS>nf!DXmbe&M)@t$kXw-Dat7^R_uQL-B z<MkFKOxnv~dTF*xP+EGi;ggf!oz2&2oeBGN*y?BDOoash8E)o+*X6G2xwQ+cH@#0$ zW2~CU&R*&Gxt8(k+THm~@zK#Ol|CA;7?_`_JYOwe_2w<p?Ff-$&nI@X9XQAD;9F9a zrLc9!=ajR@Pj51);(K!O4EsFK55I1mS$Zl)J6HK>Pp)cz@sI1?V$+{!w4Y`QKPaSm zFvxcI^_Xw#R5^}%DhOFUw$+?&R-9(CMfvOmfy3+lmV|6`c9;95B4j`BP1@`_m%g3n zfBW`*4Gz1g;@0*mBvQ;LH<g*U@5a~lPXEqS$f*c5ZGQgrxbwTr<GzM7u03_T;mE~a zGjFTz^x|_1KRmgWQ~j`5GJnS8bB=GLj9=`^e)LSOdb3hvyUN5b>#kk8r}231(!gh@ zxE9#7%I*2S=-x4n#Gvz^AM^Gk2)+ywx13$eyS69LUGmeNbS>lN@Hbx;bDxySii#1t zb9kAXVb`mLTLpIAbvVPsKSk{ItIQ8hY@cQX9iL`<^0~@|w1P5$SNbXwJ7YLF!qVf+ z<^4adeeJSy*R0UaV*xc!ntxSY4@u@1KFE5EWvRDSLuK4y(~?u%dY<LSjJNRFbMf+p z`+2UpIZLzV#W}~j2jUm3{<K6>Yf8tA84rXEj%{(>#PQ?~(~0Bn`C8^ZThlT7Y4B;j z`Rz*?ir$MpJ^JLsjRVdK2bfo_kJ@tawUO%9Et@)yq-<0vIiGXgUG`0v>{W{#O~X%r zs;|t?Y&fQTx~H#ar}DjaA<4ca$NCRV4JvYYGAC`b&XdZ8=9?a$yt_S*-}15PHFt}| zr|$Bn_=?=>t)@nCPEDTjpJBBnmpHSi&4QUTvy@}|UI`||PwDw?``Wo+ip@u3Ej73E z@x}Mn{8aFevY-Bp<>T#Z>tAhj<k_G*`_E?$p27(cziKm{>OBj-=U(`&IwExX^V6GC znwFG^t}d<c`Sxw28<$S{oP<Zq1n%BiKfPGRS3#L;F^hg(=JaCQgBfe@2==YnU;c4L zA(K<6i_bb{L+vfUs-$*FCV4z+NE9hzw|Ktr>(aeq&u-nib@iCi!KsHH?3XplI_<J; z$=~@(mIln0EIr?so?@O?$YP(Bd*<hXTT4E_)5>;fijGWm&$tzOdXiz!ui&-%i?<}b z=9nq1&{R07`eU?I?6HZ3YaEyVXfrZ7eZb~v$AsVRADS!=zW1NXIBmQ3GB>?937>rq zbM4;tT-MWc%O&oGJZtl}_Md(F+_vi3iXW?kFPHKQ$J#aLezR4&cqrQK@Z_y-&z{U- z%Xttwb^mYC{kM|q^&Y6J^gOp|V0@RA(rCBr>6~9lzE5@d6+6pk_&Gh{d$h(?wfBg? zy_nk^El-S&_qlI%UwU%wIo{73w(HBYPRV<D|I)76nrkMzdZtfZvY+?Ro0G~rk7u3A zyVXBq>N+Kzo)wGKo~uvV@wRJienr!-2%)=|D^DE1tA1@=)U7Ssbc;1zCxuyuTWGPb z-?>_ed#&9a+bdb>6WflwKKQ~n%6Z4zP94pBA+f1X&RxDgZ^5t76>swN^j*r!9=fP& z_%WO<6BjGr82$2eY1V}MvCmH@eh<+&Z};blafivzOVKY*&Sfi;Yrp?-RgdR0x00xs zNt3IROZwQkPDwnM{Z+cIJ@itInaS5n3*G)*-j$Nk5ESd@`0{1X)zi|yBb2va(L3$Q z^Ye(7U1DF$_3W$<aao3U4@>qQda`-Fs()hi<wdg%Rt7Ha+chaVRLtz-^V5eO@EGP4 z`G(GR>krwtb=NfoaRa3{8Ru8N{JP#XR*6|V_OP<C$L&tL_DfsN&ClMTlOfV}hrj0f zVt2jCHx5PYmMPud@+Ni086D-Vt(Ah0-^<r~y)yZ$cJD0PiEDa0xvZLBRbM+16;mC) zwe57GZ0c%@S4m60Xx@&zbxVDEzJx<jh1^!dHZg@MlA_5>JzQUEd#Yvryy@ZL(OBN| zed(gLuDYE&0$oK8Xe{btK*pLJXLUsw4j5%kJ-sPG@nGJ+sr3t1vC7;rm+a}=_wVZA z-tH+my$S)-&Ru#a<aD$wU8QjHebdvP`jfgM7-p&@uYA6@bo<23HUTSd3!Y5w_j;o0 z?w-sd#PHMJyzowc*3UCOId9Ira<{HscxroB-y13Cy&sAkOq*BSJk$6{zSPe{^u_k$ zr!KzF({cNjuqt+^^2R@`h4a+5xBG0~+M8E%-#BZt#*_5D1)&$-G#i|AGU-}8NwhlQ z+u6i8-3xPdziXVd{&;U!cX!I}U7_3OR2GV!dwSs4b!%g%&wG}(bPEekyu6-m=aRFR z6ts1=om{T<USQIh<Lk6Kn+#1-Rn$yXHf?yU5)v-{Y35Ajq*ZQ=vM0ZqntWQjvooC~ z)wyQx-&ZWfx9aAaE}Rm>e|Pt!CG+ODn!WbBTt3sR$BdtuW&7T|te3oNmu_43NxOFG zH=Ts1`<7INv0Pf+URe;@pFIDt2;<BZ(T6_1cR47Nes7i9+>8(T#`#kVryjq%HuIK6 zuGrT`E+ejA|3m|$l(}QxFd3dq{<Ct4^-SF*k+HE#hIvN!_1Glpd+nb4Z8&yOgUKdk z-r{*vwNB>C&$N56TJaA1@=FUQJ+cfu)lkXKzTfiM8oiJmo2NZ`__$emdxH7;y^ebG zt!{ZL8QCmIW?pG`waoh^%j%-pfsUu;=9D~Ib+(erP9l->l+0tfXH7eM9xj^Q$v$7q zzdq5Y*2c-~h{4K92jriJN&V#(O6R<j@+otY=d(A5n>LlGeEoI7JJq^d$R+s5?l9+R z2Oi5Ue;ul{@smQT$974Hjrm?zJG7Oj=I@^1zJG7<Jn!lL(_AAaO9mgy5S;a`c#(up zm$S@c3k7+v6Vu)KF4=t#+97XN{B`Zml-cKvy}D#Yv_2kKwb|FOh0QLfVcv4tj14kR zqGYd3dgQ&#(D{4iF^j+15(n4ZIrTa#G%%WBd;E#(DVu%dQ#L-?@QbgOe{DoY<Agnd zQyCd7zkXfyl(~8Lhj+UR<>!|^-BKW^oRTs}u9<DqdtJ$fh=uo+KN(n63&*v6I?MlS z;oi?Df^UCZ(kWD08e%Y^lBIz2oyJqyb3w<wHdM51fBoddVvD;+U5mwL^7yOpz2WEG zQrEOAa?1{fh>)LMhkx{O{+e~ZR_oRcJ@34*{|w=C7R38k`ROb<=N6F^5masDl2iAt z=zef;?91P4AI?&pY{cXxc+l?H*7Qq{`WS7Pvp3fqs4rVTb^1x4IV~}a^RB!(Rx~*x zrp2X`YvU6E<DZvxw%ioc4EpMFNyt%W|EXQhs&70sJ6J-s_RK4)d^9Jaa&g2H`+eos z1qFruQNjs{y4&XW?$B;*Zah|-#i^sKmT~3OL(c<>j_+f6qRPruUhWMouzdSIAgbHw zwA8WC<ljr?@ceo<L-KWUzJSW9cl_TQ{%EPUX;-)GnqPJ$aXa^%!V7=1OE{8rcZ$yZ zandGfrcU8Wv2$G<7VIl!jeWQbV_GY97u{QJd5=Rfrd-tNp)Sv>OUKSEN#;DqvG#43 z;wg*c&aXpM1tcOLE4+PvsnL?Z@7>X>OvjaG9J?S<D);=}Qhk<J$pUVxERR_}S}}>^ zi2mFi>dMV;_}BV%JY>u(e(T9SW4)d34bKMWCy8xtc2gy1&NB-?7A<khu<P>F#5r2K zc-A|=oVDiKIlJhDX4#X=Cd8aKjB9V5lu&c*r{BF9UzhCOeKmRRx6^xX$S%K9F0uO6 zcY)IqpC$z?Up0^M>*~!>&IPVV+O_;IG&?)(oVMwe@sU+GJo$`{FZ^<1MdJ3^IgPT; zr4|R}8@{YHYuTvPJ16DIFRs>yEwV3uM?83U-2dZ3g=fZ6m#aON{@G-CGRUo#@%yT? znTBodT5C6?G`@^gpQhU4c1c{~_l<+<F9Wykds%t%tKH&ztEcECMc?q!`K;4Yxqmko z!^`WIuLE6Ezg3EQeimj)D9SFVbiHQW7HS*5YF3?E{MQt%rYb(a+RQCVE4qx>r|o8x z`E~i!@$K0>>+9~%)ts0#McM4lgD1sD%|aqwR?k^o!120ktH6#%kJv5-*}W^(r$w5r zIQGE6;=x~EN5)B(KF&r47RR^m_1&`NkgGMLy}|2=FMSnbX6lBi2(9Yz;CgJK@b$#9 zx(`#s$|k3?Zfwxf++S-yQ-MLP?D6FtD}`KnM1-3v<R6DDk~vbZFyZv+$v=Y@FELbm z6nk^_g2xg|riFGUpFCmR&3q-{qfh#_bbl3_+%1!qU-|xQ{gjv^Ih#3z%!5+ZRlYHs zDm1a(pA>oESnc0eoA1OwXYyI`g5%lh*!!nB@)h|$_MTZ)kTu1#$W&5r^7kEF7AL>1 zxGeBEWsd$wxvfol>z>Zt^K{}g*E>6pvDrt>@YnF4&Hnn{T9>x7lDB!D`p@vL{dmm% z(juF=Pk1&Q{LZv6^5(?A>mQj`#u|owF7kA2e4+J5d)htyU4aZw>VLgD)WqknB6qcC zdeA1ZiVtNE)~{9EJLdsg#Lfp?WwK`-)}^LBDF1eRufYkkHil_03`1S-KFK?jux`@2 zJB&S{#f1eO7mrJ-^f2+2J>I$KU~%wUy*1{nL2Q;b!P`yRs|^y|dDvO{qmE|U9Jlpf z$5w9@vF@AK$qS4P{9OL)uk{5=?W<ln(W&{Fp2a`mSDI#jx+lc`-oJn0n&XomSsd2t zT~pw{f59T{ms3w2Z<mmDuiBvdF5n#hy%^zHt$HpCX81+Vy(w|vtkZd=?ektwQ_r+D z;CvazeK_y*jtA$jU+7=UpfT%`K-#P{PI;Bb4E4R%XSb#0>p5*a-&A<;{Dw6vpKU40 zHrF}xpFxk^@xIE{qaAK*ttUL?h^udZ=`foq#O|71LV}xvz2+CC38EU@JjKmFuWWp< z+JEnd{|p*h751%RTr6q4zfV}&?UB;)PTAzPv!J-+#FIkr9jip{9y2O_87i?RZ@boi z1`YY*E48(mpH60LKY9A8dj9S=T9uwTGd3`(22aiNkZt%P%5BuVb@#6j9%bI0(LA=V zl+7Nknpw2qS*w80woeTl<p)kEFwXh)<ci;cez!O7^=m_`Z#?Qg>zc0cVEM=NeOjC2 zqC7sutlnnUxV6oodQ#>VW5?Ni232#CFU`3b#5^zF;(Sik6@}ZYCahUfP#5Qx*_3d8 z>%Z_<i*H|>uJOjohV8CY@9Rm%$6tFZD~6UnetMGm`pdvICqM6Ap~%T1H&yCx<f(&7 zr%t$q<Ua1(bJ=5BXGnu1m%O@#t?{eOPe&CZ*GWHXjGox%_-)n4`_cIkd5W>0m>h#I z%f8BZ+IedI{AY`K9@O6He;=%{?$V)Nxw>Krn|U{vJLmLk--$ZHetI|awMEt4kxM=; zo+;;knu+o4m9)i?&MiEvUpE~|;R<I=DSkSoNNMiA2l-c?ExK*MkXU3jp?Gqjcl|TB zV|N3)CN0^nZ2L+gSz+A~<x1NfELB$(OcW!XCxO<y%We)Zp3y#8u~<oXa!-?%$8$q% zaR-SW{&&yqwp=>eCfb<X(~#}L>R4@)b8)JKh1ThpUsv*6R<hob!+Bi&`n83-j8yo_ zb2;i#WgWhn+*rq5_u}O9WOkOvlB=0gCPp{i_AWbWa_FGBi>Rli%A9o3`8E?*vjvGT z-?=*VGY9(_Ug;tSW%lbPDlBixH}X6XFe-li!giHr(yrPjk5dzh)>z6vxv24T`=L|q zy^G)LZ&(#{<JD)6^jP2AtBt3Q_td$q6*#><-`Gup?Ors)yu<fasO~-Uc6yGOiqKV= zYv1?eU9m4eaKhGC+qq)RTG5wf$1NE856x&b3lDVNBNjh9kA3<2ORFozRsWs)B<W|K zFekD2<Vv~f-|CTSckal~mSmZqwN+;0X~`KUC!KEMI39P^=I{p79v_CuynW%es{;Ba ztjY17nsifc-m}#|wF26A$)!}B5^Q|i{5C-M*osT5OkO0b%WFQD_o_Lh*TVZOMew;m z^oM1Kd1j_CnkgP;{671_td3KRs?WLj<u#svUNZ0F**z1Fngkj@bl&*aSLT4PfJHLj z9dj1BcDb!u-UXl19vO(bF>5~mxJoVh(!zDi8ao*BS`q|oYyJ1S%AUXZJSDSywdSG8 zpKG($G2hGH@t>iZgNt4Az)HoU5Y5AHbAIVPzBeUi&4QmxlW*B2{`HOQ^VTdsabu<u zLqq$V{|vnfYV$ruw9inV*}&$`p1(BR-*gYl`D&J&_MOk==lbeg>z=wz>w>v*x!&>} zrbbH_SnlkNSN^f@ZMcEtwq5h)<(!T>)+e#8oX;We#;VP%(~eoD^m-P4IcEDhHP__F zW34q4H~)RR`03;2raT@Uk^-xr_f^$NF1aDGHaW3We7=Z-$Bx^Rccg@zn%o*G#?m|e zU*#O8!t0`|Ud>NuWss<CP<MQnnX+x0;m`1t#ri55e^&A;tN(Tm>Jp3X`uWvnn`U@) z>*D)Q+O@xbun2yU?Pt0nG+s~X6#KoZxw(p^My^5{6N-Bh8t+_wCa-zEKI<^&G>=o8 zEq^aa5xgxL__d>KvhALUQ>AyMNWBufc2{IaquEz=`E{8|+dHCHZ(6SM>9|bUqrN0R zr`y4s_tbW>^fpeO*fll3BynoF;l|&~)fs+wy}0_Qw`b*+m8|Tt{A+{fPH>lhcbWV6 zopb(sWe#N=taU#8k>lB}iHAS&PoKMVcU{TEisr+oMBk|}n4fO^eps&MKSOV3?UYkJ zQli!o2F#5UGPh3)KB;V-`O%Br;sE337a2Z6TE3+ZUQW~a%D^n-v_WOF;N6*-8(#jC z2$cEuNk?eilf-8-7Rd*hH-25S^Kit1>RJ}j88r_KEWWQQ+kS20l)iZWO`Dj?r`bGT zZgDi+NPo&JX}^n)bSB0wviSG;+0x%;GtPW_UlFWa5MZfN&bC9dv_f57PA;{mYP+Pu zud7o&irsFR_1STrrLw$s8_)7j&!$@mTT6U-Yi6pOTdbyHnKS>|OxE5Ny>srEd1^6x zHrPs=o~h4KY>RH)GEL)n5~q&;(&C^Wn}XhN_s*ViebEW7Cx2b-5<I><UUvKRGq+oF zHgQZ5<2t~9Zmo)t$fu}!%gsAuKDk+?d|xlN>*Mzu&bPO>E#Xw)I;L=mKW@+btUdch zl;)kyUAxD=oO`|W^q$8zH@X}A^pBY)J^jX+vodS1^d$CQnsxeV%Wu!Sd$)Z)=K1ny z#g_R(4;%jM68-GwS8&FxzwqShz&}pA_MJWavS@KSV~T~P?0<$|Uy4~4REtlydM2a6 za5d<I&c0wf6`4P$3XI>!MeFze@yr)G|DS>5=O@PB&-`|NUCXO|{ML-l2i`(wjq{Ey zG4v^8zclyEot!G^H9b5tPkmA0V_X%SWO7>gxW&PLr493pb|k6<N3vFO<TMrV=0v^z zF66|`awmev;<3m&Po>k(oHlWsJO095;rHcRI!`1HN*7PO^8DA8OL6|Hhn%)eZ0X&X zw7#+VvfP%-D}3H;doSfKwUK4zN#)nxGiEDoygbQX_3^~}^{k%f`1fVTX)aJ*CuOk0 zxS{G-O6b-Z4k{C@*w~+hS*l1)%vr4W>12jfXzZ!CbC;AKzced3V}bI{DHFx`x3O`2 zS#{Z0r*Nj&okxbf9ksTreyLn?bFv6kw>YlwTdF4Tp1b{g2_dV3!ULw!Jx99(XXWcY z-d<fQlX|Q?)U)TMVW;lhiGD?F#gn7n^X>4vDwt4mr+#j_uXx9z&THN?E*Twcc0b*p zP^<BjS?f{gG&kYf)(SEVOMTOP^OwhqY|n_jAk#Wonf-ONzIwOW$9nl`ehgEJzpS42 zvhKwEoLQQ&Cw~T7{&{&rr{H>=*hM|bMDMgn$zxvoIAmWPt}s4qXnb7swb?zsc$T`- zyEY2EmktQ-mPz;+x&4;!oK41i1g9LZIIi+*a>xuB=^CvMYj#dtpSL)vu=h#-+LX9I zQk$n0U9<XgQ6VPhj&u4IsjrtaIhB+PHogyRx>NFY*5u!M_atsPKi!|Rx+!yY<HPWH z_CMiyT_y4&F^eakn0U2O?%2j>KMFra3GVXEJ->5()pX~1Wx{{ga`=Tt_tYs|U7=fQ z-ZAy>gFMEt6Y_Hd*3_J_(f^o{XSQq2B_r9r$CVb<nm=B<NGA4_!#m6MEB)p_Qf_7o zV7z?&<C4xAPv&XmKMQ-3pPj#Q#i~=NW?J;)9QAYN;X0=;XWE~dQ<MAg*!Azlo+b@F zf=bt~9o;IquQK}7@t8*Mr>}VB-`!L_`9egv|JatE3o$=6Yw|zVIq%F3J-_UZ)CD=4 zAA8tRFWOvuWuX1C{c_~|nrm6nS8BG(tO~MS7?S*Xx!P`#nj7;4>NJy|T<Y3a+0%RY z^Xkrz`HxJe3H?5Nao6wK_ow!La{ZhnXvxK1%3S#CDyNOv_Vk({ZJ96cBTh&@xwc>C zD`T<zw{6W<$Nw|vveX#LZj37WQ@q_G_2Sc3_wUoyzpT6Yhv&)WohK3;S(txHJ%9Ei zeaU+3bT^wPGS4Q7o(tS(cKgAms7>kHr)3@8f2`N)p|>~B47rBKpO(c}F#CJ*_-)?6 zY@?gx`7qb+_LE-KQ{N2dT$?yc<>sy*7Z+);Ni<BT=b8EZ^SYq-k6BN9eagJ}M(4nU zO8)|F&l<!0f>X<GoLN&iX|BC+SpQ*LtIA>?m4>Rn7o&<@CnnF6m-_nSnDW+syPc0e zt-kOl?PD^(@f(8^?BA=aXT44O;hJcYxWJ+Kb<dU69}*>{PtS?|+047;tK6f$489kj z?J$KuKBa21&Cjzns9YM~`Om)p*>n#c{(Y|HMt^j#gfONTN>5<m-Yk0jRh`uS%QyeL z4YP=?&_2&nwsOj3jfj0Z6}?Nj?WRji;Q4aQUg~E5qisv>cxSABRds!muj!hisk^Vt zV?SpZd*Jc?ON)dmas_Ys7Pid%y<(49byKEBuiR7dBhA;U>kZ6V6c4VIj+c8m-DU08 zmW9)stkYk|8=bCwxRuR#wZHIlg~#@5!zPDs-_H2x$}-M*%X|KXF74X*O?KUmT}?LG z46VnQR`X0h>u%cQE2p2!wDM(x<Jp>(i62=@KFQho-p;SxX?pWkP4VRgjbSg>=`CfS z#=QN~l!-cTzn*Wml3Ss^tL<I1WkjBmO~V;m--@)Y4`TBUC4cjLH%G33G3WZCv%eiP z7xMUK?u;qm`cyCVe5-xm=U1FEVbk98Pco3SNHD&0VfGv46VGNJnf7$?U9+ba+A1k> zwrA7qcCT7_TX|~X6{G9PtN!?2dw=sx-=?;AkM)0E7cPIK>-4d+V$toFThc$T+tC;m z>-U(o^U3GH`t0+cR=!wn@#|X2`W?N8-xp;m`57!*!`D*L^n&k5f7Fy8%RbI=yP(JM zN@{1(&ZSJt97<k4n(NXKkQ;jHT^#2(yRFQxi?>BCPCEXh@k!m*o|z$r>kRxdi^97m zUCdnnWMY`pr99iZ<O!McZ%x0L^GPqQgXcL<)(X|lFP+mjuJV|cxxBM<$G(*PGv)_f zHT)R1TjB8i6aMS6=ck@H>#<>F?D4Guz5Z|4`s|!=N9aGpJ==P#u<Kjdf2O6?*IbLA za@S#*g$3`g0JfP|)K8`qaXwlgHT6x#itT(0i|5byy5`!waE3>-LMESNsgmNHxa`)k zC02Jg#yg)_arV#qwh2w{g^|A<ltnI2aNjGYa?$*<fZwAVZv$sPPvB&Kk=1Q>$vP-c z<wI5!bMV`9Y}Z0>)$aWBBKlbH#N)E74QKWTPxR5>wuINY=<N6XQ?<^lvbg=D=bB@Z ze~@PJ=h9Wrm?M|^q$|H*RllVadi$xSZSlQLhu=vui{$5g44EM-{7S&!#<UmW^3@Zv zHs4uqt$S#G?9IR061yiw-)f!MAE%*d?7BSodz<}Kw=|wA{zEIpO)ea33tY`JZFm2z z#YW2){3~5DJ<6MReO`gZEkBEO1*U9%S2eqyM~cjoOA3FJ>hQuj<o$mJj@$fGWeola zTs^kthuoF_3|msz7}BpTQ7H*lYwc;9=)UuuR@+(Gz90A8m{&a7%(MK5oBv+*8Eed0 zZn;Y?Xbv}X{u`m{U+kBd!p3=g|I)+_!OfE=`kj35AZ4sK&*8?K_?`dc53SrGfB5pX zMfRGCyDskdzUrBj^LbgzW$zB&_SNyQSaF>F{ikXvPyQ(zce5~F`Lg&-;e@mEm%4F0 zx4C3)cjbv^Vod*|rT3g`&iHQ)Kl#Gqs4{ckj+IOgi~p#LRQ6Qp_=bcX_!S^;!dSR* zPTq-QnXQxU7Oj3>#$EQ((Qe8+lW5+fK9Y{N=QN*9Z#$;xdETVkt-<hl2J?s2-sRcy z_Ztj<T{D{IBvJSx^IpR1I~UlUW=-J;y>^GmzGY5V`L{WIoRh9rzKyv)yZPGOXBT`X zZq_~HKVMI^+iq^wVjt_S1*%E4E6@CVP`+SNc)jt4qi!<%yBL36iQaf%S)T1`2UR24 zJL@#PKi*qpsU;)WRM_|B(1DN>WqO<vJerU1&HC&So{?lP)m&=W=ceTn7u|k)?ww!3 z*S=n8ZakXuF7eo#;O~Yno4+pL{d#Q)dn-fVqoq<`*4S5UJ+nIbR`20uZ)P#P3J>T1 z9-gasMX`9AWa8_X8|n)zmQVXxc;(jxwkP3YuWnCuN?#%S>QY?fB;kzUSH8u{zmHtF zlu#Vj@Mh9yub!l*p8pw2`%SAfYwWk2h<*GmDEs`8-agIK%HLl4@JDU6lSpDIe=li& zSbuG{+U!M4XRbSIpE!6zX^(T=yXaZW7K+o{<ef5@?<Mcv5SNg9(BF2oo2}Q&=GsZA zy>_2ka|GODx_-WYyIJ$$jsBucyW2)5RPNk7W|7=~Y`W&m_tWK6u1#f*j!!eUFOfZL z`#DnhM|&W{whJ=F^Nzocvz1$H;<?F8Yr*ri5&hvi58l)^|9$1am!}`=7PWJxt*CX4 ziWiTmbg*J@4{V$q7y5U3$zz?H#~=DyO<5vP_3J{A`!f43*?7aJ!7@FcXC;2z@<21_ zsk^NGu|4O1yQRe$NG<z!VdgPE`>D)1U)(-k@vFb2Yd-OhL(-PuN1@$Drgt|B?KPZt zZ|l?5E4&u7@C3;^IUJlB*uGFipz6(i0i9I4^qW`N7rgfAK3?VB{`qRO&8o*guTNb1 zg45uJvBKlOvu5fkO)~LqFp$~sKC)NtG=G=QO}E<-cli_c^n5?Lx_jk|&yNj{T$=yz zc9ZSv<H@^o8oJ!~XI<_Oo~A#|<NJSxZB|`dj+a!enN}8@BAs&Lx$;(TxsDz3yKFvR z+H*}_;7uS;T+)N4h?Os2#`13O7BWvwO<2CHI%#&w+?H9U`xqmn%;fJe&#zi;)~|mv zMVDEIe{Y}FRgXXEse(Gor%4=^dHgb5@uTa^)=)j4*8SJ`8j26RKI@#2elp>Z!b0|` zeP!#NBQ8gr7Fnjkzk~O#b$HsYuZ_H0#CX3qJdj^&<m+d7`@3HVpI!5%?#Abrqwh>^ z>ulc}G*P`w+WaY-#fkIRO<yJl2<!~&U;fct;jiY}m650J#T=C0$8lUf(A_}(|HVHF ziVaH+uI#Ex>8~n?dBC@5=V_nzlT(T}T-@?2Y3;k3#J+l|gp+wwGg6q$lua~rC+scm zx*F=3C;IPO@zKy*qStplo2}-O$Z=@mS<B$;u&!h0o}YeLe1H43b#}9^9k6+`cH+b? zA7SG~cN*qs{_2^3ZM8+E^t(sfTmlWhoLISVTgQi+$JaW#TO=uO)t}%W#`*Pq>=CQf z-P%7BrYSeS554WvAiLRT_wh&U*H$tfpW#34lD^iSARX0xIda--tqLuBy{5jZ4t~0M zTa)O-pXyE4p=`?)Hgrm7tdwGsVOXMPb?vl{(*sYb9ERkKmtWViRCN4(l2FaX@RW<s zKg(u`UBj>IuDW}K>>LjM)!L;nN#8=NMR&XHCk<waLlHG|HCcBCPJ6UHN?}gn@uhYu zKH|2n3@L71j<@#rS%s*SiSGLJF3h3GH$<#5tkQz}x~R;7bjQy6o0jjxTr_NtdMUdq z%yVB}HMJ+zU~gaMXGRh4yq))UKY3GpX;$LNJ9o8G85+Dk)v|gVXt9tKDP{~#;XHQs z=3;e;29Ey>T>BE|CPt<-tdcXn|7q3dleq%c#q;j}t(qu#rhUK4)fGA}EoKJRv&wHV zCl+wp9#~m(Qlxo~E(@<!;)KoGlj^2=u2qRi^^kiky6n2p;}Y>y&sQS+&qGxwxm#Aw zDyppx_Sw?K(;%l+@wPMQ@T@6rh0|n0I!je_$_i{(?QBc8NvsZGk=pWPqfJp}llkMm zDLWh1H{WZE=?Pu0AvotU7h}i_0gXQ^Jx)HGWAWN+apBQ$1E&5cOLeBD5sfA$snvC* z3hrCxaJdCu-mx-#S@q?Jo<E0YG4v>xnJktx`Cxo`uZ7}MkE09@BEms?RN4HUjJ=<3 zI3V)C@F+w0EyF`^zpZ3?F7a5@Fs6@}%WVGa$qu}q<}e&Bvd!$7dCOAb%j%@?-wXG1 zty&en@+<>O*|Mo$mJ9z3-el+?_|~NR-}R^d#|knTp3LHUCY-6(yX679rHQ3tk>(xW z9xaAnfpg?C9nb39<Q^2&?O<H0QntL$U3r#o`;Pw%uP;4gQodsT(vN|w?4DI{1N(BO z6>Op}ihHVpRs?%b^lo&_@LjxB-TAD>gUivACx#04DM%HqvkFSSZ67sJIo-A}M7x*W zrYfY-;ds@SYjH7g#k<7LbMg6Kx$5L#Q@SEq_s^cUFTGq0?Wb$!=A_Gh3~l_Y8RdHJ zxy_faOT^VrP3M}+zdp*ZhvVx}cWK_=yRRNm;Gev#sBUY_5i>Tqs>aaU8fNpPZ*5`m zHkvkJ3iIWit9*8zmYerC%TYA;Sf$OCoZk)16Rbi{TvI!5VY`y!)`8?Qt4B>2gV`l* zc}=I^TI+K!@dc}E6Z_5u98-jU1a}D^khyYkvzpnutgz{IoDwF&D-LEG`WsGI5%)Fb z?duy?&Z@LG&I#P|ASKkbS81iBtX4=r^Q`()tPHu5rq05rZGK7hpHzOvaQxQVgr5yx zV(PZM>=s~;2|2;#q^8ci)?zW^G-bQ1h2cV)M<Zrwd}ni>d~e|fBZK1R3zw!Ic(jgV zuf>v#b7s$(`VzGGcukLa*v;*Y&}=?$v68E@|5H!;RztHO1yknbUi+?XR#bD?A$#zw zQ}S^x4WSfe+ZBQHwwg~mwnlZ+2780^IrUM_J45&?7i{xaTAHGDn^o)B@g~b<;@a~Z zRf5a@mDa!cwDYI3#rr@TSHH_w0*uz(3bNJw?P2n?&n<td_wxlZv)T@{h7?ZjnzHhb z<|8G^?JIrw$_u+TC6vlMp4a^AlDMYtl;)#q_m5ni?z>p>q^OG7Tg?NC#jkyhqO@4q zyUG<Fi<WsSbFpWNY_zy#dEl$s3?)g6RnG)DVzzs2yC@oTZf_NTV9;SM{(I)OtDfE1 zCVQs1&-l-(nD%7Ff&$OS^R!MM6Un>9ka+y@y)C-Bxju>MJRZ-VT8J(*n`v@5cZuti zKI0qJv*snreBHa_hUgrHz-wy`<j(cuykoI8aB;l5{EU-3*_mbL{AbXbrE6sND1So9 z%X!toK_(stG8XZPOe@QI7*cQi(l0ulxsLO==#}HkYFmsYQo{0{6rNv}o$P&y_w2>= z*nX+JTaQ<K7m49xev_gWd3E-j#w)cMg1HRo(`2=`UwJd(E@!IC0TvM%rmSb(4}avR z#cXoi{4Dj0+*Cc6EtP-Q&91eW6v(aP`NyT~>#~!nR+|>p+_X4a%e?wkoczXZ+1%3k zCc7FuEKkV&)jsoN<JRoUY7es|f6lfyO#b?9MW~+4a#_<U*WN$%l?*>tc;#yR#<RVb z_%Dmz%I_-83}|}c^?c=l1<twkoJM!KYvkDO`Gy-@vbef=;tqxh)_h-;^v{^9alWZt zox5P7XPbDYK>g<H_f1_F)ogpJu;RR5)2s=nJa(q_Gdw9-sk(8JQc#Fi0UyT;-mK_o zkG{!nyDND2^z>AP{eAm&$p*t&%BDw}<?`OKFFYD<AQN->U1tJ^U`RqjQSHe!Ph0Oi zC@PM+<TgX+iIAWB`U^p~Obk7r?F;$J&^&+P$|7cqXwM6!%OyNy^u2C-ILambUh??k zih1|>oa>a9p5WqW5ImOcCDMD_c%`-Y0?F5Y+dCx9v>2=>UkSUrxMS+gO^bZ=nddxP zdXiUJ$m7AiNp5Ra?5|grpRjJ$L8VXET*5-~%5#s^OI@m!e{=b`foiAE=X1tUVm_)K zZ`MWkp1Iwhe`xcRvqI|I9hKWY+Z@`{`+VZtSlKy8llq=LO3%H?7{J3|n=NE5DWv9c zrRMF_{71K6hrgX4U?lAwU9`fDd(#8CY_(G!FTcE8yl0nFnt_YwN$!*D)?{SY+hp?3 z)K)w-?QP7niOb?678~omIPkN;l4Z`5>(LMIx;+xjc%Hb==y>(~*;lv@6{U5lXXYjr zD0svf%!@d9@X7q(F#mS_rFKcT4TDddcpYh&EiUxuk<pF!7ydJReeJ0CZmFfYu!hV7 zL(x;uPCwN>{_t#RL&Vw^2f-7szu2z4^iryI&b%D&XTHLZ^JUUshwJ8Tjfj;v^;%Mr zxvY3z%hicB&r39Iio7*{PUxBZ-f6PR^2()m?I-?S(<yt}ebOq&1GbEITW6L(+-%|6 ze5(KN@}E1tt<8Q}>ghPiUNc%cWb(xRs?)s1BG!4&JU!GI85y{)dN#^Li5{KjerrLP zO~Kq1cD$Lg%O}0@NwK`Omwm&k$+646#U9yK75XD>ZyVFKOE%dW&-+~M5|@O}K4ccQ ziGQod!2{<mUjMlC-_eVyi85zDeLa5n@trGy+&7o1J-y|}aC)A{>T<z^{E{1XFHDM= zU9y)~_?<H5-Md3!&fj-mrd^kl+@QDlwy|-6kwZ-NHP@RZwWoRx6dwAzF6rChz$;I+ zb@xvfGvKdZD|6_n^-9xt=0lJFGIrN*DzLX&b<g->$c)^zPkPz!K5zW`b&bZNEt@w~ zYoG90J>iD@oBnglB7$7QyKX7<85vow<d!w6=sF*~Rdwy{lf9dmKAkyyp?pbhzFRB9 zq;myl_{<sHvXw-q7<F7wjGOUT)H>qcuFka58=kitir>$<s>Y}M;G^i&b)QWaTYIpd zeYzsBKWj^!f@AW32D!jFf1ia&oZp+ib+hFStKXLwZ_Z%*aq8U*zgv2GLCznQo_$Js z$i?=L&8hImqxI{1O7(U39nTfFE!d&{ah3GbP}LI>$M`Nr`7Xb+ciUI41si^L9*?_f z&KK13>)%2Rwvf=A^u`0<)K=g4vDAFZzW)qv3==<1;5=S6>)FXY2ZhZXp7%}dR_o6$ zEb3L^@cPdnAEqETRkyWw=bvDm=@(B-;#3Z`be^#MwePNvy+;C;yb7|IA;j=lAvAg| z+x?Jwv+_@(4vfJ)T+g=tXW%|zax-_0gs`26$8!~i%EePzd$s#JZq*3p>~!KT(eh+} zm96+s(P#C)ZW*5TiIXSQevCO1CvR2FnO<6U-~_vt+3&Kmh9=RLbC+)o4NLMicv2_2 z#WUk}yzHyXbIvAnyVXk1vzt0`)t`V*cNgy1`f1?_yOi{%T85K0VHqFxXq<hzd1Ybq zmicQF@Baum_Hc*tw#ReArgKky`tk1KXW8K@n}vU0Dz6LGs`%y6r+Vk+o8_iK_6%9O z&YtGxSoE{-d)o!u&%yf-=L<wE^xwSLJU#4e?1Z1)$&X@tHtb#ZSk8l;{rUN2wXePZ z3Ad-kD@sZHd#`)kZtGFshqhk47d>-&&Neq5x4&oaHSMw6t{n|gZer0b2X8l+J>FOS z{93n5n04fy)Rk{;r`t@NctCoe|EZ06d%Pd72tWHfp-=hm<u=K$YZ_U0Ij#22Tldf{ z^tS!f(rH$v?=~b($lRYUq-Z_!hsC$oXT3K>tj>IVdd8!(S1<3@XL)a_wm#~QSMg4d zqy_S`3+2~GJzlq#w{58o$Ew4uQ#PD9@!GdPa(m~^{D~6s@AM4nrt<17_IS6ZCbwkM zp8Yre70z_fdD_8HWH`CeKVLXL_Ef};EuMWLg8k1UtWv(+y2H;C?33m^Uq>_K__|kD zdQ`XWxt5u2F`FU()$%#drtTIg*~PbAC1YCQjYV(H#l^X+t;~uu-j;bgdq--5^a<AF zpZ*GEzpn9^Zx5WWl;bW{b0mG5ebigU+5WR`$(!92osn{k@%7h*m&13+Jp8!GYf1E- zEh^ui&Ir}m<NJu?UZ!r!&Ydm_#uHoR8`nGK+IvNmZz+h<lrWO`yybE8vC4JU9s)P- z$H)t28SUNO;CAERNA?DWZ%f#o)G1u8J9hhd*$xY3d5u4HQ_k{7@7#JtI^as|lLW4H z^(}HceqG!AqyO+E!7ai<4^k)R|7VEX^wqZbP*cUEbN9mT%00Wq`E&DSwxt_(F1GJ} zuv;~E^Mu0bYHK1Y7DsHKxc_3<JF(c^5f7MO&pMDhYnFz`Aq7kB9{D4eJu>DeZM$Gy z6_{cz{e7R>)o;xvh8^at{~1c=U73)5El_#p+79K_Pxw!Z9(6A+tSvhKEizP@UGE0h z@okK2POi^us5iUjKe>PUgv=sExw9<S;#15GJ!Sg-3X}%Fj|}%uem-qS$BDFKFPSGd zSTkM-@4541eR!wXwObaC!WHZCq+iDhRjdweli#Q|VKYy{>B&vCSyLFkt+rmvcI<B2 zXJxIMTzg{#?{2<*X>CkJze~1e*gb{i`MQ1nm-ZFUx_)F<&s*IsuXCl7pQav=@5@}f zq+;Efysn6)=Y!6lf1tI7earDO{p7#r1o-z@ufMkCjp<xtpDpvWw-tO62v2&Fyf6D` zPWpUbzU!Nl++R7`{7%~SGiG*bwj{Is9`52fS1kID7iO=ETKelwX0foM^3#-mg4d;Y zteU6rv207t)tz0UTjy+Y-=4LZZ@HGmIx*}243g7t^Uf(!PfOe)^Gm8bWXtu`S=!yV zD{>ZxDvFuud47GqS8#cma@667&F0){i&}#W4^2M!W!<i$IqTKLh0ir^GCSh0P?mGO z=cSbI9b++X&v#sN-c6W1`R%ON|L#^7svYe<J=Y?!C)aM~`>1o1q8Z;#7ygm$bGdcb zeM!A1(tj2hoid($Htf>7$9s2jW@l`YJhUXTX0!11@&wk($<eQT*{*NDZOvppZ;4#H z$$LKkM|-*4yEJu|?wtHLFsH3ww(wQ<JdaGdnM<;y_~zG_+|%{ceb%onQ*h+6+MN#( zzpm%1?Ot$HV%lLpBi37?^K9o=?_}F!_U!SoOVcJjyQ#)|J^h}2YgttOx4rk<=W(An zyX3r<!Tr-Z3E!EQWplcgY8|f>@5+sPP@fsyvFPA`hM=84+x@f?Dz+cyV)lOKmZDg2 zIPdX|>g%&q+)Prpr5Pz&qy>Mj)q1*b*2OGMzGcTe&DJ#MpJ}$~oBKDbGT=>Bjn((o z$5W<x)*M>Oq2&=!C3E%jqgqz8+mXgLt>*9jR`*%jE!*=eo-gjz_w%LMh5@hak_!B+ zlW%o%=ekKQX;NUH-cpwO`@VAs`!e6k#W6>jP1gMWX+6D=$5MLV)_`oe&?Bog<CP4| z*j`V*k+fr{!j*?%hKiXgFIHJS-f6qqS9gzRU0_exMVrT5?M)(ubLKw}+#y?1_4bt0 z<-hYBCj9wiP&jwz@l*U!OH5CnzVT%0qJ)%Z`o=wt*FUav(q)g7&x&07+j!!q3Ae9q zs7hZN60!BOaqX_Kc^sRR9hOh3?vm1Ud2>JRYIyOIRUNMz*6eP}y!Pu%PjcrY*9nO; z+c~$CCjS$iy!>W%(7MDhJr0YB4k2HET{@e(!tEKib=i~?1;-ob2Y0zj$LHr;scp|l zOK07-{qz@=S$lI=omJ8iyV04<!x47c<Lvi7eui-KWl_>U^pxf)+)u0Rsghrs7yYBi zBqe^!k%`_7Mo(ismn;iPogKC-dLzrUGXlLwPxG-~UYBJ(bHjP1lfTa}7**c9A(dm5 z92slm_MBZq$|<^7ZpQPahHuubdD{12Rc!Cm2!o#v-xh`H1<rbw>7{o_@CHMD%dh!| zw!c{$CMow)#P~>=({ULgONA@1v-7Q2*`JblC?dybe`?FWBh%h)d>H%gV0fAzhivqv zO*uTBGfuLU3wgLbI(?oYX-l4-+HV_<NrJ~D7;pT((ssQhS}##!)qTzLQF=XHf=}xW z#5o%DU60q4uDQjesT+N|^VxLON(am1kKacN+>Q~eyvdkpczRCj@tV-oZB2LB=ScRu z1QhVsaJ^XjXj7_(kRq2yk=r9b{~%u#>p9OBFTdxuvh0#d>+Gk@@8xSkjBc%IKiM)P z^k(EqOO?Lmc2h5(O_WiK*V(M~?qFV3$x+wB?7hjoPOS%&ZT(j)?4R-6V@KNGtEaXu zap!M682HaL?VNR`_uG1X_P^<248Oy!&e4{8YQV&iaM-ruvAx&E{KUK!?I&Femg_LS z%F2;BZluy1=C*Ch+=iY9U%#%|>GMhLXoqpB^uHH*JC$~KrzHz?xUHPiRQ9mXN_c+M zLfzG8cbOfyQEo0X@%5}7M<%PTQ);bwsq-ZB{3%JkfRrN7HM`UIyBpq$RAit0>{Hpi zCC~N>^5smjF5#MF@SxxC*{a*Bd#-ao(Y6){y)DBZwP2^)VXr<*sq6^Blvzqk8czgY zo1MG(#;rS?7gZ-cGHm5M#Gh1~y*RogWtQ(*0oTJuf8V4{6A{d5l5U#VP;|~}@}1uo z*kq=yOVha^+B2cteC1=&LX%H|+bxro8LwN!XT3`0|7OzLI5k{m;>Ep%0e`1#<lEH8 zS5@-sN<`+I2N%~K`OmQD%qlBQ>*`-z*Soaiw@4&*pZ?5tM?c8=$*jFL9!~QO#3XG% zi%1oMB%L2?aI){KeJSS3I%V6&nM&Oi>T~4o8qd$V&}Ch_+Nx>&944#Zm(#ZGP|2;` z@%v!q<NI5^B|jzSuH9vtIH%9kRAz}G_XMW59R5CYo&-xS?45JYBlMu|yIL*Iwfc3p zR&zC-TGHglC?D1K%DYoZFh;Lz!cp-F2G#ScY8IJ^DejDPn$z>3XHMC#;K$p$G#Ynu zt(?SWsq%GI{H=`1^EbPF_ISOuLtf(xcgWINW;=8mem1YLbzHWH?c9aVeTkp=yuROl zqb0p;l9@}y`J4Bb*&5DTG;8Un7|G|`e+M}B?znyV%2nyvYrSIoHl7sm@$)h(n|Gy% z@sf5fmtw#I9v0C&wcgn|LW_62;ye)iqW1Nq?sGFtcY8cPqpV}0-Tx|U`i;w8^CG8y z*LPSl@%&1=Wi#X&xz;FdpKsE9wU5<Z=3niza#lt^raAvi&r~iC+tfQNSXfb^??}~^ z`sCR@o$JJ0C)x!>`f;95{F}kNpzZOgE(-&fp5u8II_@^tn(lAEd2j-Qxq#!7f2Aj0 zg|AIC35v3NX{GgCHL|^`<?x!lJIz0D=iyrMprPt>=qdJSyA8TCuO_hmVBYX2tFSU# z|GkVzo!L}*J$9Sx2D6qfKKm_yzx^^!nd)nsW-QTot95(9>tn?~f--n-y!$h?`o)c1 z2@KY3$wy<Ne<tmWjBMWd<jaHd<9ieD9GjQfU7^a<Ad+A%GplyjOM^SdnVoz#%W)=e zzirCPc=cwMcB!(%wI^)_-Wz^)&70E|k^lC7bgp^Ogvi@R)`T3}-7R3mX!rG0>{+vk zYdn)z9Jk#q!pbGXIB{Y_Ro8{fXFGe}r%c$gU@GedPxYnF@`e{8Uy1GN+3d=GLP_#; zU)A@OIXAjjuZR)a-K@2JnRS@iT+^>RBRwJ#PM&6*R%W|8>geOHr-%Hw&wsy_x93-g zSVmM^+B`?8Z5O8o6rPVNn_TsMqqXTu?-t2~yKPk~*W8|%&H6by=Hxb2$M3cNIoG|H z#@&i?$qTwVyLai#{cR0;&grsm;%$=8Bp>R#@$RZ$wsz;az)3Fc`--Q@8o%{SFD@1N zzB#Hb-a>X?gPh@6#}yHgvqPFL%4sf5{rlST=A0*Ajz=-v=@0tI`}ELVi(r|a1q&=x z_$=1_cHH0Y@=;}1?-e0;$?e*k_eBVBoZq?LdUDXe(_QE5>MqJGm^-Iw^^Jb#XrWi1 zD%#$8Pu(_iX8*~_9TSb`@O(1JG-3Cc78EUX?ZF<G>C)$-pFL;WwIgZkRU7@46-#G1 zsxA<`Jx5^Osk)r>^~+ofKizfMuypYqPu|lF(#$<o{D;?8t4&?%`6!>uJ)QN_!Azl_ z0!Ozn#rmuE$5nGRdfr&fI6vx=(BqgL9(gTV*LGJLwmsHiO+2!Fy3`w~)L%1m+u587 zr~LaUyV8{H-=W=Ro+_C(I)WXRVG<A0f0dcuyy2>QM#;mhePYp>T5XTcS>L0)P0voe z{I)CNz;dBUmR}yPe;!-5aM|n=i~BhLbcPlg{)vw|wQ1kv?^Ur+-x!@QoZB(KQq;XZ zsw3v^$x78dIjR#ILyHUy?~C4*T6J4ylJ8fm)iyV89+f@)Y4u6dD$Pk5Eh|sWYuowa zjov#a$I=3)+aDbM+4OzAsH~;6@Eg<KIlP{xdF`UED-)xYO<pBEnjd#0^30(wjkPW! zfvyZ#v7E*dWfKFXiHG#6Ly|JSO<E#gHRtlvRu!j7Jk1f)&C;%&s@M6m*Xegv`0Vbf z5&JUU<g#>p<@L<Xc{0O;*^*o0_1U0l|13*xrh7W<4Aolx;mew5mz&*pUf{iNaNgp( z=-F3nk<-NjEqeqc8-5m9eU7&d@_kqC#IZB?k*?i2k<Z~zN(^_%muxRHJ(k@s``b}= zo)dHLk=jR9%u$axBskRq5<7$({(aL{sxIBRRmmu{^Uj_J%(qPs2R%;_bb55`KZEb? zKFt}Y6$8#nJdjV0Fc&=W&DfL0$$sW{=0Do=7`~dWujajeb5W(r=X7-=qd5=w8bUp1 zrgKeP?J`l%?_H69aKvWsnMMab-B^C>Fvqt!$-B!$yS`nYw)yt+VwHxsI>j6K7VYw$ zI>lvn{MmpahPU&hPI;tFj6ci5d|~p1pbZk{V#P-bw%40%oM-t&|I&)HITKIii+Yw= zDznR4Uwaw(cGF`u)dTWTOTW!rm_Bu*vLBl>pT*Y&JiGh1dS`9$IwBb&`q)N3>UsVe zy`=I!CrJYX!4CP}lIuR3W7ahMIbm=_j(@??;5{X6cViTcPI#@bHGb{Gle%?UMrfY6 zD#v3>hN|b+I(3tJncY0k=lieCP*LLE%C8`C>|cfD%l@d1>NlVGp8maW;r0^cTMd@4 zPpFxl=_*=h@qGJMqen;XWO7V@(XX^!*4=OB+PPM@G<5Hr=6ilnbMnFGO<J4R^c(d4 z-Ng8)!ScnIw^kZG^OIsv&k<E$re&dPEca!?3LXakyq#;GZ`~1oYj@e4w*mEYLv}<e zGd&F9-D9M$GCzwUW%bje+gWGsdi(gZY2UBXC!ZA44Hx9RO`PEIechx;)zSzd0m(N1 zmCSSgW^VG%=iNT@)JBWr{~4khj8gfvj8Z-2mQQXDxtJ@_tZA3@&4z2kstfNX9($Hh zU~3$BT3#;4OJci({o(h%j3TGzXYgy>+wFM3_T?m{PQRGXJqcH5B$jh6XFd5(ZfaEQ zwP)Tpm2V|K(Ri-@GK_gqm&NIm1qV+`NIc%_wpM}X__Mg3??bP-PV^R0@VMRgZqY&( z?Fp|U<Q&-7GT1qMPJJT1{R`Ws`{#SRtSV=`D(<Nh-L=_hzUFOZS;JHPYaKpiE|pP# zFaKjhK?d`TkT&V3b7$Vze!9(Gjeo1J?QTOuwnLNZ0{`A$8#BrFq|8IN%acO)YI^nw zZ1SmMVq9|JUE0p=T{ml*isV_N-`8fD&b#L+n%8%^C*kYaY@Gm4wF2%9556men0u|> z8^JSi?%j+HJ)U_?u7x~BtdkX%+x92=Y|FSA602bN<@h@7xO>t}b@4N=<UJ`Uyte4K zj?S40PMmqpnh(-%&F$V8=OO07epB(5dAfA_>%bXHq>Bvh`Y(-`#xX59Z^3G{JNx|j zEMGdmD!a}%v3G-rR=G^iKei?=fuqvtHK`3x7z!M}p7j<wyn%Cirb^GV^}Zsmr`uHI z+}PN%HoNsJtxlLc$vufR$id*S(xH1n0!tpu3DNLz(Vn;e-oH}TzkA=_NK8A^Q?2=B zmC(!SYc6almyW#fj^%UD=dcBAQ?{4oob6t5J<aj?T5q0-^7F*+h)?c&v{SmD-TKaH zo#K|}rkw|mTPkf+=#Bl;WDro?$7Wj`daCKUqv$CW!$odplcMK4Ut2WEGyc2xk%$M6 zpWS}poA$`V<8+Gt-RBmovg^)DaV(lB{Y)piq454o?+I;ZIo~aAl&)rdygx{D(Ic@A zi6yM{=YwNPwr}vReYW-RNd<|F2~E+qTJLXLx#vpu*)5fyR9mFEDzSJ?r1E4r&%1p; zAI<v2YN0#na8G@2V)VTwmhQb1oj$nV4W7sN-YH&Ukyc%jVcYSnn#SU)^oh$<7O*fd zNF0#AHX|h^-=OC09L7Ggc{{(ad6BnZ{&yp*MGgLz=iDvWy1j2K>G0;Bc2N6AmyWmz z%ZgKc6~`QG1Ottk9)`SSo^w^Xq(R&K-V=t*?t-<SJQ|))DDDYWQI1V(;+fO?&g%K( z&`*3}?$XDkKfI0DyvE*mNe(j)8~e_$Yfi4qdCYO{oT`E*m(lY4?|Zdf1<gts7nfH& z%ssb9)OPdB*8#IDPi9KwNH9z&-op26=gDZdxo3RKP8{fM<qxXr`5iiA)?III?~P{f z7FV2>o6{e4)n)eVc{v-;O4+~X=3#P>S5FSK@>WdKyWM%tef!d&l#J84g*ysQJ_%); z!TGr39>3v1g%p|OjbBzh<(_qE&(X$NVJd}_13h)lKV5WoWAU`_zpiq8<<`Haaw#d~ z7^A{8_8q@Mr_H;jIqU95!`r+2_Iz75(Om65~L68d4^Ry^tR$q#k&Uw=kZwKcTn zsAKQW$2&xQ^_+kD<=*K0+{C_oEhpz@-)^`0R!s|fn*W)yT)K5i%xv;$=64^DUzj!J zq%cd^39W+4_b+N+HgQO$PFVIO@H6A(@~krMndkZb>^kGdXTVn66|v@i+QTgj#^<B< zTs+KXbL6nx@&$4~7My5)*OdHK<c-X+nh)n2P95FAsVu)PYw_uoPN%jNt}>L~KHux| z&K+$Mhb<D;&s|Xd_2jCvb@TjZtllN_R^pYbwqmis&z@DPGryfW%)do|uR3JKO9fp% zqrJ=}%h&#z!!cvZ3nQy)DfuTEr!{V?7uf4uTu?0FZNu^=EhJT8g7y5Ru38M7O>VKz zWeP06uT{*<JLZ|%A-kAiUXg!Q)=>$Uu$aelk1sVjekOHQtgB6tSGP(cNAm7@ds50* zt`og|>JCdsapOG3MbGYWK8;vv>-O~E(GV-$T?X}*6Q^6oygQe<;2C?U(IiH$1w4;! zW~sH^k@)lN)+TcW86o$qGt+&q^kjdlUVn$L(lTpFiS(y6_j9?M_|NQ2ejl0?ZI!as zVZWY3@bR-f#V>=-t2Cb0TGesRX#a21)HUJ%8M4&UI+QdHKX|9UEn6#d>x-pR+<E+S zcIe#xIQ{L!dvjaQl<1t45IXllWd8c+&bpiP3{F1XJ#n59$5+uKF<EuWT?vtE4^6wZ zqi4?Z>+`S8xwXCXVaf!RU<K*uq_+ysFD;+aydhgrx{W73<H^^gT3^>rZ-pAQj}zRN zFI-c&`qc#c_o7Sgwn<1n`F1qEIcV?n@1LU>-e0VesqQ=07j&^?$%9263zPGD_SRc1 z*4=#SjIzsVeNVot2flt^E0OlO?>~di!Y?*5SB&DlO(w?1>7~f)Ge3E}Rc5JLXxk|h zU11)NCqm4L?y~($qb8r8T4v_FomnP<ziP4El27(G*9jX;vu@_QcYLdD{+lQLSv%ar z6jqnsvVPVVw6ksR9(|6;v?u8n57O_gcA0Q&;=A*+_@({A<-S%f^Ayp_;j-YX5~$6R z@aPa>^r_u=u5L<1+lgye6L%UP_?i5NdBIs{t+k6DS=Wf!G#>T+X3{zH@!Z8ajJN#N zUwWO~A@q6E>Xe?Za))NQrFq@H^Cqm~mT2;X!z(10&*-^PT0TMkk&RI1G40O2gJw^k zGxjsT_A%>y>eTb(q{Q>&M8~|VF$*k%?mnpTvbp-RNsiI9?3kvP>4_POHy&PLDIs@k zv#`sq^oSFJ6OTPA?q8?1IU>v1KI67Y!h@+Q@@r)l<k;W(b8(Z2q5LD=znV3TJAUq0 zWM?R|`x+;d>?l5McP*!-+?Sj6W&as8(|$TyKA*LO$v+`ajWx}1g>*c#>R!e*zt`&C zj7^xhM5TbAxo=L_^tbkANA5&!ZnBX4E*gF2)arM&4<5Yzvb?}J+GT!0W^RGSxoh^O zR=HLY6PN{EYzq7eV`Yq3w<V|6MDFi2y#G2hCGz;R4<}Oj3jTgDywW8h^XGbeI^&`( zQ`-s*?iNN|FW<iD?6aeZpY=~kY-DF&FM9WMZnnmOFpb6Q-pG7c2(>JEG0$LsdgUS~ zi3v9peqU)kuC^>UXW{nhc%Ae@>FvV(fu4n{GW~5>HXnP~_r&d1LG9}mhWrMi+jM$& zJl()?{MzPcn=a3LpnS7_eO#pb*}gwl7e++ahH+dm-80F0LXpH%_s6fpLvJkF<guV} zcUkfI%eOW>x~Q<L>6^vHHJ6o7_Sc_rur0El_f_)4(Y-r=hc1{I!S~Kn<?FMRF4Iac z-i|pbIa9<(on^bF&cDSM!ZN!)Nw#EW`81@)$jw`{;qqZUuT$H_&ED|K?>U+qbt5MF z*r~~<3McOEi`=`}xuMr&n@93ZtybHz{|p@G)lC)p&g6a8eKfO~X}P3yt+tZ1@wT#f z^Xh~@$JJ%eY3(U9bc%~qpO`kG@SMo+qy@Z|Z<G6UKRj$%`yI4Z>duWjnwg7wBi1o6 zw_C1E+&U}b=As#S3?HvFzYprpUR^);ot*6gp#$k_gHo5I`tq&mOWVHvk&PkGVI5n; zd#m?EeNr|$`n2J9cL{rWg4K0jshC6`;Vtjy`5A;%J=&U>$*Egx)hb)w7kwv`@3_*h z=^aXeqRXal?7x?I?(vVys=GgG<<5E8+Ox-~$u6c``?l$IlZ~D`+%=~<9?-g7kR{fA zCT%Cn?ulDBzp#BF+UJoi)tGAZQqQd}X~*$L#!&&UlCwOv6-}Oe;2^W;D&5ETC)^I{ zDYZBo8L{?A;JQO=cAk^ozb-RICt%ihCG$yYJ>H)a^s~<I6smmYQl6H;p?hC;b^6I3 zwv1@jU1CX@vjb``Y%>4t&ivZl;LP?}U!7L?JhwP`%u|*(<<zdvQ=2#hWB81YGgO7U zYI};+++9-gpgHnvRfkfNgUq|18^V@7Nc;KEd=vAVX&XHyPNpPz*n2(x%A5R1$?DGf zcBLH=Cl5w?Jo%lpJF~_&>!ani$T{wx-q}2u?;LdSQARqa{H%lsMjeTVv;SnW_G`>O zZZ9U#63=VoX6umnXEjrOXT12LsZ0Jdv{dI+CoA_m#ydGaI_b#evWeee=dZAd*X*t| zt`kskdCppJSndng@zX(n;(pAQIC4vqq3qMERey3nzV_JYzxbrwJ#oP~h4G=Rm(uQ= z-aPj%yum<g#lHiUdzS9*6F<(l!SdHtHIAQ?^!w!W@6`OYKOK1Yvi#Dh{9D{d#g5Nd zu*1oMg|UBKalAupL`7WEG0#O)JB~AYp5HFoT>9`m??HplH9ev%`Mv&jKbB=CA9?zB z$=2*8zfG@Ampgk?mCawiHDc@Eg>N2MRI5(54Q*uGo94@W*vLa+p0so0q+|#7ON;Z_ zDxwoT)+Wa8IG8G-@cpd3;>|LfZ~V8com5s_zNBXBT>Rs6l)#_*4`*+FdY9bmR@K0! zy?*|~`K|9m+)bD8ampJ#2+RMY?a#{jXXBCsPM^+SNGN@MZ)JqZn~1GHRzB#ywA)lV zBUq+)f&JFps2|f0g+C36Kd71aQ}pb~57!@_EK9w#sMONlIOkWPbB*PXnhSGhIk}&( z^fajF+V(i{MVUWe+Y8n05vdB_66dd2m-m<NjpH(v?(^rLF}Poz_4Hkh=!0m1&py+= z|6Uaq5WlaqbNTE8(^ko8zy5J$j_iT`U(dQu=$jmn>wQ}OMetdM--q;PFVA`s9CQ8A z=OA09_pJNeLRlDpUW<L-@nx>%{olqxa~&;tIGx;+LMBIKKgu<7J^t<M(RG}v?XtC5 zQ+%Fe-2dZ#Wy?;U@?Cxl&Mar0q|^8_l(Wt#dg^W6-q(FQCK+uF@)vq>;Lkpz-D$G* zWgM$kuYYOmbMij}r`Mj!hxY_`zX+do(N$uLr~0uIkI$X9bm}`^8olN3qQotYS52m; zB{39v9$)9a*Ge|-kXmSe<fgrTzaKI@+M0ZIi&=rqY)S3{51+a%Z{?0mUHEsQPQ*;T zFKv@AwB2%l9`@+(f<M-KHb=xM9``p8UG(evK|Y@8X48&rSI%7L^w{r%PoK{;g9a;+ znqV*e1+sJRzg10F=!tl_p4)A=XSzgAx#?8<x2mh<XK^I=%kD5e;hFs5oZ`%!xhZw+ zb&jTO-|YF{+4-xuYyK0>t7i_EaNi)i_554O$CeCA)@iN3@?z2!^ndI9XyTr^dHWr< zqMfEE=JQmD#VE9Wc|3pO!Kk@5f)AD0&z1|7vNRObzS?`iYRccmHU3&Nd3!hWe3IpR zzc$kUmVaDJYc_}Y4u;~GQ-7>Klq{~!63=n>T|EDF=+htBi!23i-n;8&{GUO0vHf|G z4E99zx4P?3O1o{-=qYSJc;e4X_qW=Q(!w&==6;%MWaR%aCjO7+>z57Lw($z}-0pv~ zw#;Y!<K~%NJtg@?!2D~ox|sKOf17YEuP%G8*|mx*k256_!-OB7KD8*~%Z^1l1q?RN zuZupp{730yRq{!fOvc}L8oSo&ANH5J_2+%g+IQ0OQ^PkqRP!D`9-E|MaXE?c2mkJc z>x%Mw?^&`rW<EK@crqq=ZRPDB>c@I!*BwcTvk0EmxrhJp&ZTMHo>Mzt&(pf9!d_8l zQRBuHad!dphG(lhKYo9t!TkN>2HTEv+HLhL6~ENeCOgboAi=_Ojpr77XKrlb&P&TX z=6niy-nBnn?qKr8^T*?5&wtu-vF7*+mU^p@A9o*HEIl|qQ`X}}z0{|ROJC(3F`aXm z;q&%|t9tXR7P#sNDa(i0W}CBK6gpqg{`h^TVuD(*Hox10f2NnB>Mm?wET4Tzu)XYD z_R}{W>rVF1^tb%FoKsl6nt^@gijqTTeqFV*%P3ko>DSdo{t?Ft!=C(D{2<rEEosM| z#*UvSPJO;D`YFV`DkV?qk!nqS$pqi%X}^7ocsQTdAJ}#Ajr+>4oFCm<)#A<{DZjv9 zV`gu+<wt4TeEXaKY$sT<u*_3fZZ}u^$>oAMo9!P+_dj=fC2-7{i9Kgtq31<j|5d?} zAGZjn@#gB6^`t1s$RAtMessRz+O?A|G3OVm<eYux-TU0O|I)tP%U^#eT8itvsyOy1 zJdwR;%eUU-oqUFO_N#wfQ8H6kZoheNo&Jjd3=?vU*DpzQv|pNh_9OeFn#ky0*<{=A zQqOW~QWt8f*#<qj+n#F4w2M1m?B?dq=y1>DMX#qF^;)u9=*;f<opmNH|Gr&Nt}n4X z{;=!(^hfJEljQfXO8=dv<9=<|`?q_oN^>vYj?sKR_3%H@Ij0{+Z@;hXF1_Ix!_W4O ztDk-nZ2He2w)Oh)TPfuS9<$F{So%?NooC6Gf@n!2nWpON0l)0qL`=$_Mi{bJzMge< z{{<6&!=!2N%<eV?$Qk}KEz@|ozQ*y}?A|vl+1uy6@(rk79jU~(u&lYKk1cy&yUWJ# zX&h@7Rh;LzGs*TCZ_e!s&j@Yz<y&so@7lSned7}yr5ST(T;=DAUieLPPL8Vd)L0Mp zcWvjg?;me@CnGxBZQ}979!8fsAujisizKdmfA4PE^!(f;XPe5OoOXAv7M!0yPx({n z+gZOlYowP5y!pl=e1C63T!po_rNM2FCBK@_>Xj%zKfAl#&z6^KZeiT&@&~6A9vqiG zW_d?mS>Eg5{KIA&`@~Z6if$-oU1n~{&hWT%@yWcuuNEH@++Tiaci4wp9-&HmZyk9& zzrJe4J*l02ZvF-y;yry|S20hT$Qe*L=gW$1)w#dIBWz4<dXB0pEY~rdyZGK>Imv<} ze>W8WeY*MzU#fEf!%+*D+UzB@Oo5+kSLrU^Aadp6Bsam%BbAQ}Ww;s)dQ=+Ns{)tr zwD?@0y`ujxpPzU@IJ3&8b*_H9R8qaVm(<h?K5DQ$u_ZH}YxBbME04zebKct-CLZY0 zzEXEioyhkK??h+Rt`bSS@a}}E&r9L;?^WieDDT?-W!Vg|{SQU=Nh&>(<owT&!T2L> z`aePMpXHT8Zbu42Hpq9_zFK~B-Q>xJh3^B-Oi!$wx#Q*J1Iy2-ofZ4gwq^N0+rx}^ zQ$&t^*tWy%$<{xdYnnbYnOkbV-tqO%OQ}z<41e#8N&dUo-Jn?f{$V)<hlrc=&#kiS zuUeY?+uC}E3ad=vd*9gTAp1`r{?u>vmfN_xd261hgT--)#WT!RrPwxZF~2dV-YWl( z@~_J^hYkg?FIX-3qd%gBU+?Mms%Pu;yZ*Qtga=IY-yrcP^G=zOxcgP7cV<B=Y(3+6 z9e%~WNqN6vMwLL@_UT9M)FuBj`06cr(qw)0%E##)kA6?*G5&k;`fGPXJ$1fs+qvg{ z@R%QJ8gcu<gje@FY_oSxJ|=ZA-8@jGrO#--Y3P53mPPOFO&3gl)hwzrdE%%3%c6oI z6aKwzP+qa_OhsqP`T5J7YCBdeyY^-0hxJRBq%XWtc5#8s#Mthc68yz(XTH7Cu3fif z&fINFw0T79Ttja!F>~l`_|K5Ke<}x0zwRz6f1SRst3JGZ!G3e*u}a0h!hoL~evhh( z!!na*1YhXNT4{OW_`=l(jprU=bSe1R^`F7a?6IV6hOnln`b%Gps<PGRg&9wZMl>;= zO><<73F_mwUuvKEc+T^A8Hf9KUs~<BjX^Y7@{RGltLoNV!k;EjvVFPu-t?mFr;MF> z*~OSA7<&{rCRNI6E_1a!@baYxhx)TeOIT$tyInr#Yw7UVQvKGN*4{R0ty)*>)>F@) zNtj$(-LRx|bxz0Pr`CI4u^rQJEHYq_c6c<g)#BpuwY(kO#g7}$YUs|HH*cy!@2)=f zrKXLtD;X}Ib#J~B(y-Bn&o=YG+XZZF%4@AzwyHgx7oBS(c%|5Z^Lx9K-4;FeeVI=; z*}57e6gvirq%YNFcqgmL=gP`!v3P;V48^LTJi94EH+EVqPiLCx<>qc8B)$2#m$8rX z$|Wp~eh=(ldY{jmDxq$3d6Pzht;l!VEZgJ7nsHO!lq<jNawwkIe{9tOlP6zadK5O# z%Y5?dN_w-q23K)IrhCkl%D1y7B+r?p!_wtwbNL|qtp!i2gPyCi?-gT;d2;EY|2=D0 z)6V1{!F<JUgG`PWdsHr)_Gbmlvk5cRUgf*WZCPCSPj1U0j<2hHSa_<7{qA0PEOMxl zX~H{Oi&dhX#*>eFrKTPGd?BG$i>G8M_iIPyn>!y{%6(b5`PyRTORdlE1U-{VdGKi7 zCOwC&HIWV9mhevQk<v3eePq!SCSSKV94nZm%8HK)snmV;7n=Aspr?GvG5)O%VrTE{ z_F8H8wbWF)VMmz4w=YLiCceBj=aPWk6vl0)+LupE?whg1{5z{(#5KLo_vWbNHA^hW zl;&QU6{BsE)4VaR-fGA6Pwu~uGw4?xh~%)_YA|t@G5?3j^G`MInA^K=!^htBa<v@) zwyu_2cf9qO$Fm(B?;_n#UR(Y<d*bH=`M9>mC1vU%D({TMzP%0fUcDmpc<}A5MfdYg zi3V=BJ+SJn)~TbRT#wi9-|L;2{QuG)L+$>mmJLZ<Jz-C#<;@Xn4m~?tL+|1PzMrpS z9&enrB6_3Bm4`y6KW{Wgi;4L>c=u1weXGZ{=@*SF6{8IA^wnD}IrL1>^5t3g6E9=g zZ>koaIO?05C=>r$`LpqDi)WJ)ZgwquC-c^SpT&8v!s^blCjOJhY_r$@X8n3-rNP7S z#>OylFT<KkZpAM>+=X`~AG^e{GVF=)&g&=rn$`DT+x7kOf{9%+3zZf63Tk<sN@iTF zS=!FCx4d}rD-A6*Cx0#8uHVjOD^%Us*JUr*vLSuOv0xScGgtic70QEV96ZV}Z<*Dd z)iQHZs;_R`6#8?1o~7+kftya(8Os{y@A36GnQ`f4w$PJfMumP)B`#ZWnk%aCM<w0i zy>DC?7I*Xnm!Ibw>rnSi^K=$EvFBImu}!{{W*WmIH)GAS(vVLVx2>=|zJG0&<MOj6 z-g~(wSo{i|`r+{@myIqFza~2;?L5zW_Iu^?1*-*@Jlz*^civt5sFw*J{=P{#^@6Fk zI<#Y9=-mrVhVz|0EPEstsl5F()xZ8fL#$o2#UVk7TW6zrlhyt{NU7oy_TMx2_ylu# zr@}6lC&ech-}R{roOtKzmk-w#xILJ!A2;W^r+oWYA<3tO8%l58FTc0==Bk%PYYgw? zcU!8~+HILFl@?PK`bEHPqC(g?4x9NaSBiV@PTqbl;P?WjZPUIzdiZChL27a<Ls8a~ zMb(ux9S?=))Ep@ZemOsC+Ogu}p1VEz=WD#aP&{j~-BgA6d#;;pIp0UGRa+9XM5yCj zWsv>ah+}Kj%?+2#kT^AGmSv-H=fCqF8@ErY_u9=jw@~BnC2jd{eXRMqOP1_Qy5(`= zZb(WqSHV&LttJPauiLV7?dER_Rx8VOU#JeP_D~Sgm>K=d{_u6tjXFO3XO8s!e743l zyFlb;;QQnY$+Kz>B;Q@T$Xaz@M0!)UZnCY%vFw^#lQqP>LcSk(8MWN|a!+E<yW_G< z59&$|Jbt)kNAZkDnFa-3eN!u<XNUhhe)sFwwIb8s1Z@f1WW@Hq?|#&}39<2~yqJzw zT@crfpFYiLsiR7IV`C&QCx`L(*3w7T)#2wB`LU;(&bGg?H2;gm-THgaRw)#{m1LX1 z{Jre4=vtK`A@^ynA*nYwCO`dZ>R>7<(zDLj)8xXOx;IaL6?;r*|GAxat4))sa^jQn z1zf4&KN!y%C<})jzj@%U%7S{UqAlu+85Zwcz_m=t>dM59DXE*HzpPZ5B=(;n>~?E7 zSH#C#4Qi@|-z!Y66|gZeX$4H$^zKH1*3QnKi6_3S%wgf>{Lc`x^9$323CEv42$*=H zE+wY<{^ghcpHkRo#T*bkZ2g~MrKE|CT_9K0y!}zvwrt*^Cm_QgwXuAeuT0NE$^H#z zO%6PZbSv)5Jdp4?YICGbj@hTec~jj_7X3;2CmPP!D8AN&$5^KD)_T(^E9{b++`alw z6y9gQH}ycHLZ+X%$fnzs$*hfb&0D>n82nuMh`DK{<jME$hBn74oC;X2^K-)5Z#-AF z=8$`|IAV%n*h%IKX$ux<O!U8RvC?Lphi$Fa#cdfMV!fWEq?C%VwN@rnd|SZtEui?E zmY!{PP{f%9M#r4y2c9+6^~jkR6~l9ZQDpAts83NRBp7C}Ut8RD&rsuYW61fuE$d89 zaZ3vs&YJ(`65}+9wQQ*@Eq;s#zM4uI{hXch>h8+VqD6~tPrhw(d5`Rp!dTrY24{{M zZqIk}7nRtyZB{Wi(~egmDUYwUEAbU*%dtx?Tr@e`bITOJ<(GD~U0$nLf7eU(dE@<$ ztL<+bN}g$7+UI7Kd?&<`@q~)&@4C`FTeD|@zgOJyUs@_AWg~c|=J=t>6QY+tj()p* z@uY3%_^e$j{$v(29y<Q;_cMmKxBT;#tu^a3-FSMjn5|L8x)T}wEYfeI94&3;JX`0S zueBw&?$cD~yA@~k5-c2-y)v38rO|JD-v8X{*of0P|9qYp|62KI?=)Rey(a<-KRqto z^X^>XpO=>_yuCVlzcWV2ygeTL<Kh|i)}LkPcS`*EYd7WmraND{)NWavc>i^M+T=qU zI(^y<l=F)F=6#Lw=Ra~TX|sO8@?AZQUzaTjn)vwHt;E9%qqein`n2vu0e{k6?Mq8O zq+T;~mOHF2nIE;>ywx<;^pd65oQV_I9baWUV^{9^cX*<B$)-go`x>6D*t#%q(t(X{ z@9oZBt98xtmUpnpx<7(F8h>6}e#vz#dStlW^2ukfr!u#WSUjE_7IeJu=Q)w<o??wF z&Mf%ppzvf~ao5zf3-hO0+%Wp!`7&&YNsrluN1sw=s)TU9K9?>1Ccb1PkH<-+z3k`b zpAtLGWYo8$uU=~2sk8a!l}r++nolQ7emNR%VNyA<Eq?dQOIs2zty66|W8gHWlxcUw z7K^o0-<hg+g+192Ja^w?(Mcw6wLT@CE~qMSP+EAxt+s8(bZ33@>3s%no@<RC{`UFv zv%c{7^RS$UTRmIMa#b#^ckHtlj^3YgWlpQunKgV7VzOE?4Uf*vxEIsiyPHvIv#?)e zZrtO-`*Lm<s%Cw$H2Jws<<rGK+hhZHp1;aeZPiUN_&b;3tMccQi)ZlL%=Y=@;@WT2 zQ2BP=m9<M_+y!?|EOVW(aPQf&{|q<2T~B{2<R!#Z#F6taRBvJ7a&E`vH(PerJjs95 zmy}YuXWP@5<C1!FPreUh$(&Ns|E?!l^5oa`Zd*UBZM~Cq`P7RymLV^HUi;hMl%p7| z5?&XfJXztaxXQ;%<xNpWk`>A_j9*u^*%k2JxxVr2gJ`vF=3?K4cAY$2cDL`xiZAzh zUmmgCd8ey)yR~zH?OAc=6Vt9GRK)zgvSXs(%cA2i<1VlGQQ)-y#kYUeDFVXm8d(cB zT)bvG-N1JDc30aX+sw~=$0sT5QfX01U!LW@dA9V8lzPGUaZ7ITE;*xCA-h=CGlwU% z{!Ml0>=PSXCEKETiV9s%dwiPOaKeB3=iDb(S6q9h!|E1PyP<C9diSQ&XFf;#)M$UI z&|@0i?)N)&gG+$wKcU)HF%6%d@!X6oD!$F~FKw;+@{<aDR&rBcsvnj*V)nl1<B=Ea zkNmerZvC)rMUvCC!ec$=2{IebuixvOP<eM<EANvP(-l^nHTuus;cdx3QDLIv1LjF~ zTVI7&32g4LKH-^oDw(0q^sMu;mzQEH%PvgKe{?|i$FsRdE*{d|#VKB#FmK<Lm$|~L zYYtYgTpz#X!>VoHJpLSf{npn`ezTjPH^&6w6CyhgPx)kFvqa@g5yQ`rQuPbh-bB5h zE_9f0jtcKFhLh^o_Ih1D^s91u>DomLWcy87w>OyXu5R7Ewf&4@w}woz-B+8#8=r5R zCUolKk&d&r2US+cm%omU`jPd@;`{j$-4HqN+B;QAyDIi*KGH5Xa?O8ws=m`NBJ{R= z`>(%8=9RwoRI9voT=~<=XWSxh!hPF)vV#l1&A7U8!j9+rw5?>#&c?p`@@9u_^TZ3k z{%UWZ{c!qBVV!cN>oyar(pL7jeKY$uKVjeXF81e~2W>7av6k8U#B4pw+S-zof+f9k z8D*`m$@VSkoZYJTR^j%RmB07RTzCARfUnUdPdQDwh{wv`Cv7|^w`1*UTT_n=ompZL z{~3Db@YQYga!fw`aQ~KhZ?;^RaW7_7lU+<-+e+^38+QEtHGjs#raq5v>l1f=INNej zXY<2#B7eUqC`i10AGvKlf8Kk^^||4tJMB$2om$XS#K0~S@I?9Co*$}7lWuth|6RDf zKWg&ZDj$}=eMiqUvrFjgct7jQ@Ba*ZrmKz@mluj?Dju5Lro#6_cJ(ZQ6Oqdrr!I~? zJ@vr1Ct=~5${knq7hLJOoq5fZOJB{E{h960We3x07PC+C-p#b9_;_OU%H^)y9?6qW zJJ^LDKgIcE{;`FZ^!47pKXmW(_t~unBmytXN0qY+U9k%3=RUGY+ERSZoVw8CuL9T2 zx7;>$&r6S!IqB<HzKq*(HgVNy9pC(K<=xZLZSAF=1YP&rVQ%POxcBt)BA(vG8!T5n zQ+cppSD(SEGiEEFq+70B(x<)5F3hg@m=)KX$SuBBDYMQUOqsZA`U}H5U5DzoWK}J; zQoF1v@#!+hjBm@&uz6mdb}H3aanAa?x38G5jh}RPUGk*J<66cCo_F2bd*Q3bntR-9 zTqn;rkr93y@bW{9%BimPdWMr$MK5)pAh|X(RmUUVU@?Qc#GjR&OK-_ulC+TFJ@DkO z_WC`uxL3DjhA8+X$Q>zL^HC-!W=+qM<^v2R&)4b|{q!q{nyBF#G;tf-CyVomU)OEZ z=W`K_e9rO4h?!^3w*zZA)*L?Pvf^aEa64oBz2j9c{FWEj@Q9iHo<3F8f&GK2(abEh z+NFCYEt#KjS6QnijQhB#Up`lS%&xtAmWj$t-mcR1#h&lwtVz*Z%EkD3yeI9xKdIKY z<XU0R>A9<$*zP=M7Co=k)}?N`tfJ0Cxi{}7_taBt4<^R8w)Iy^owPbCGvNuFI!pie z;?Q@Cjjc}VpAygFT|Os$Y3YX<x&Ik1F0wuzBOhNJ_*ODY-ClLi%HNxe=N+iJwna{6 z$JW1pug>T!kT6tMw_CJT?5+U6<<E0(CZAs+YSaIG{+y?~(iR12DjR8QKHcdWdaAkM z?&>^iNyX{H3Wp{cSog2h?VBjGapSZ{?lDa(CpCIlKIq%I_SiJWQnfct4nMco?6peT zIN{9HriTU}K5-u3aW;0Q9#iccH!0_<Qwt~5`esyeZDi&-_2y1ve|%Na9bZY0r_%8g zp8xQ_)Z*>NdxX{8VTZK))0o3I?yi|VrFZB1dD$Cg_H4@65_rzS@4wb*LzY~&?HX+@ zH=}X`hV*?}?>HsQ!X|IbT+X%r9Q%*!t|AUjYt_&0Hg(z4^HSQ4XN{l3gQO+qi5qh^ z?q}&eEWtEOW5s!yVvz(l!zTZ@KOt+ad<8@M%dF>rSh4QW+12XzQrUU`M6N2hy+>ox zx-a*32He$L!1-*-x|_mWRw@4(yiP_QnEjMRzrO0$ZJYlL6{YVzcG+Co!Eqybl3C9j zzAXn1?$~1NbtzX-rbIOE-K~)AoGkky&p9&B;k$b2X2eVn_PXLG&lkqm=C8Q*@^rx? zrzeM7?_R8`3QWu?Hha0^;7rMyBMFS<dG%UX%#T@o^PhY6vho*^i%D-k=UKCxN@QFs z3)G95XMFpmrvb-0Z@(88|Gi;s?w|4N+L>}gtw!G6Cu$`^3M1t2o>aN1QB?8!esHvb z<Efv15|h~2<FfLM)!wOe{M@X@&YsnCW%Db6^BLPF@`=2&+qrgTi;^?Xi4#8$^*mR< zZd&?fYR2Q=>J!#py)h}`ck-=?x-#K6*NOk|e=olNd+k{rDcc)?GT|DZ8YeNFt~0%S z=fJk>g14se+%6YAXYAMQz1!$yVcts4sbvZCn%A0mp7u>F<Z+2rJn+2mL72@%pWG+2 zRd?hrC}H@r?!!UerI&nbY(9&Bn06-Jw#fR*^ne?8SAJ5AaPD0i-g-1b&hcAyq0o|@ z#-cwbHr&dZV`jE-vh1QA`R}wI)UoaLyL|ZD_QEq8quMGsSm(@he8;(Lee2sNyF#X3 zQ*-{pd~a4lWyrD!y)(YTj15KZl3&(Z-xbqd!D+OCkB!gn<*S11J^MCy-FxPpxs+e( z?@eXt&F>>Wy$tl1yRvuY)d(?ZhsU?O)+NRGn^o^HDai<Oik6vVKTmtomG`Mvl;l%) zDW2wIp0N1N^}T|N_2#P0=iR+!liH>C@+#@->eqHwltf!+H|vy5-1cybvR=5nf7H4H zkI&q>QqeQM?LAz*!Fqpil;DptZ>8^w_nh@OlGrW2tash^;gz@HyoX18cTDIou>7`m zWzOU`A0wHfEOrL=wO^Y((S2rIMb(8^)uVU3RaUKXuzXM|6M8!~;<hByst=rZs;jwf zPxjumeb3Z&s`{J^EAscwcdFHLeyFSTM)LWj=<><We!7Lv&zrKdGv~p(8hyPrFW20T zu6r7=?a_?~UscMNN4@yCnYHVtf9+AL>$SR@ZYN#4^&p19tf%m3#I~&!7k)0_Gti1@ zl=+qUd-124VupQPhCgS$^{H~by6;FR!wPxzxH(ULUrglkRA>rO<<~n}7sGe+``YTg zb`o#*T})$g*{=~`IH{`8H$?Jz)cU3^Cv)=Dr}{2l$tF1W_LTlT_h#6xTGsq<d)rMR z%kneFpO;xrUmo}}Zhrp4Edl=-GGcb@?sy<^!ZPM}b!d0Bbo9v|z0*W&7HP&FzA*1< z-U72i<Cj8v>eFMq9z1{g;`oL&zu$A;J8+_GvLeG&n`GPUYknQdTei)+WX!cOC*^rl zh27SLx=VsiO9UKc;@M!S`um#E1htB@$J<&@7;ccuaV<W^CbgBn>8pis=@he^1x-t~ zpM8C{>P(dD)-4zPHTC?@B-cIO=Bs~GPr&55;4(%Xk&**1Bh20zpIiK4?vL%}@o9bk z92`=5-g3`dQmeV)hilKJE!WbEYYwEhd|U4pp%*&snP|OI0dr+-a`Gh3^MO&jf=@6l zIe5?Guy|Sw^LYu|SL>B7J_+B)KL2F=X3x%u^r<R*S!N$%cAI&)+ZNa#+j}-;&gzr< zPs<;&)!OnY&d68z&}O%A$>WyF>$0ZY)cL5fPcHN0fx5fm^8`29y4AjFz21DqX1YL3 zrGXpUi*3*4TBN?O{TzLJb>_8uHJjWR+2<cyb>qc#2Jg}pu3Mjj?ml3?)Sq#rB6NR~ zX{?Lb<p<@R9;}<UFjbYl%MP@YeYNr5BZ)Jc`274l))(*HerfTiN1x)JRIUmsxpDf0 z`b)nnskv4+eCM3DX6*U2`h8c;)5Xub*Ba(LjkU9u-xed>Q1+iee1WOy`sS|-HpRtf zev1C!5_|INqrKZMnN1FA65Z^X96x7@MdG~W>X&w1-8L`Pdq=@WHYGKi9=T=hiu0V= z4=-zU*`G7XlY?c={F0Osrfmuz{x01=UG#}&(Hs9e&y#*lj{T*&+h_hump^M_51hDX zT^znJyMFWR8ILnh$ruK(Ri|8fmSR%5CW`mz+1EFhuJO*;Z&)f>#Gk;L>AB#AV6L~e zo0df7B#)L2$L}%LW^dofx%XM%mW?)ieC#V%7iM`ISTf!3;WM86D)aM3ncU~?C6cPu zD+Kqn2X2)}c>YJ*(ndbn<l!WfQ$?01*>*4eyq>{aXWh%G(pBkO6(=TeNtxWMP$~WM z+S0RE;`PJdp#i6ss=eYoc58L^!<%(iKFu!RyL9IECW&t{*IhaKqGNoX3A~Azc#?UW zR(5FLwfe93N>cI|f9OuWY}!3BjU`NK%jX%hSi5feNnT-Y$a?)kY$N+bfkUTmi*B5I zw7=@5V#<_`$g&kD56vlmRhv0KYkwwBs?!36cgk7^N)CJ#**QV<ZEnq^%Qo58a};{( zf^0oa-9CHXmD%Sgu>0@XJ3ZHS`^et&xZPA?|2Sak?p-?s{SFG$-fdoHTel@<$;2RA zGw+&Jp3_SYD*RitCN}fCu$#`Uv``6G3(1<kdj6_geb&V`eKWa4O25858X>-|=*+d- zohj1Mwjq62_>P;VE<ef=tQh=x!s?z+)n8YN-FkO7;{48l-c=0Gc7=Vqd5z<^kIb+1 zy(*WzMS4ZI9Ex4MKz_d3(i7>nJXLedb;?^hC*(b!V9T0&M8T~uGC){Tf$zEP*^pVm zS~FuNALIPCTI_SQ&ux(>D_-|M4=&L5O-|2wa(lwE;0gQh<vrW9^zzerL6_Yd_8TdG zV*efab=|t`qIQN)?16tZU#(gFt#_HD{D;0TjOW}1Cfe-&;e1@;o^%~wt>LwGDlhdu zDMdV#xUuu)dp|MGvP19w*$5Q~@09nN`zH6ni9X$hZJs&v_D6Lx#!4jXi7U@N+%rGw z&X(UnE2@(wIov#X{7k*of}DIF-u$O-#oJkAw%MM|(Va8xcGm{h3AyjLd{?>BYizit z=J(X#IbUzTs?~h#7qM<;;@?Zj3iD^%?alV%&QzXwcZQfux^3;N7aVN&*7g*>_t`Wj zaPp@OJjq{WIp2q?Z0iwKkTL(fO!KyhhX|wQ;q8}quAbyAv{>Y{=yT<Hc2gQw+xV&Q z_O1w*JXe(YVUeeTy|%>Os*nk*7SBAC=ls3A?E6ZdjZc@ma<?9SP~fn10qc>V+cB(N z3X;bjxhGZgADYW;=;SQNxgu~`cslF3hdUC|mR9_Euv(;xy{_svPx)D{11`^u%Fi5i zc;EBSY4vS)i!jEX-P>i7W#p!2xo0QL-l<bic!K%fL^;irqD#4g8kXm{WxlN1G2_7W z#Ko?MYZfHTNfy;TmV0o!@o~9#1v^ftUl+NkwP(Yo?RQk>{F>J^>5;}#p3aT3m6nh1 zo4j)@+0(U1p`gd$bf2fFbPA8#s+Rs4a-P2e^9`qps!ZhevdbxrDft!rL}UF^;T?TD z-nt$yoOsN~af+eLbCrwgw-dRw7`ICvd~Rxe$B0p=X63xYlY?EBv!AzQzmnYLI(5m6 zvpo6=p;LDzSWR^H72Trdv6R<9f#p9#)so!lK}v@^m18vJ<_Cwp6BAbKEjuR6ki1d$ zbHK3~6LmhbcJ7Om{=Iy~a<_~6Q$?z0#fT+U6=c5n&?KrVB=<yaey>kQuVrfOri7m4 zIb73t)@*dTp5}07%}-XpdMoeD<x@mhSS@)tUTJ<Z`82U0h0*iC<2mJOQxm(ZDqFUs zzh{-1Qx$T@rSXcUcM;#YrT)s7CcOBT7Qe;6;O8BQ{+QyfNv2&_Yjz~xk!&_lpSSmH z)Wn`iRt$CtPX8HtBSf}}wY~c26V#!o{w(;)?<)(>&k&O+|CR7(e@xZYjAEWmM=h9y z3OIkxoGrU|RlL?Wiz9o5%h>7<HRx>JbFY3@Wby>Q;_LIK98Na&+?Nq}rN~?6`G;kl zdU+O89gdfN5v>$-6juvcA#TCEedWp>{9B^~?qx5tZ*}^>@J`$A-ziSP;;i)i*;%U- z-K>P8^37hJIkoWOl*I7H$@kWJb@MRtvpF~RXDzVo{KCw)IN50VsbnE9;~mpwH%IwQ z^4M3c7_9zbd*IjAXEsJ}NK^IZW3)W$E3|t1%sHzW+iX(4zYaaas@5r+thK7KxVgdj z_2hf2qJB<ykj`-V7iqnrD&e}b(k<gkqZO(5${x?F&3YrYZQF{~DX$KG{$6o>ov-r@ z$=uARQCt7C<kgw=EtcDAy0=H|L6&?*VDHipo?PWQp95pnJ9H-{i){GYDI>yUd&x3y zvE^#9kFm!^KAn{*vi^JTVC}}&0Z&-=ne3V$S+V{pzwPT4fr^%=*1IzQyy|Q3Jdam9 zJNoU88Epq`&liWkRf=_!c+i`&t-^Sp+gICbTXMd9UV2{j`nQ(pLh@5M4Y%+I*k;8~ zkU6(<S(aGPZPO#~)RH$Q$2rYg@@)IGW0_N9&30=@@?I}ru~wz)*~7)t&z$*vQgv7E z@|ghwzqc7pyim^8EjF<?W7_^(CuS|lwVu4S><eq<y6M$!vDcIoUv6J18mOC+KIx~; zPUdY7`}eGUrS)&7+1C7hmXG?}X1|*%VO=jZo9E`F@>!CxSDYmr*pn~sjo;SpKkeNy zL#3a-hw~FezQ2zUW-Q<dZ`mk+h_CXC=|aAKiH_5Sd6PLSn9Ix_Uz#CRE_77(&bJE= z+j;n&YPT`Vecha0T$J;uP2!s5fwZE-3)Te*=1NpYTim-WZ>jLa%sOpbj_;Lit4&WE zB;5`#XX&qUc5B`AHo3ae{#I&F`m(DGzpp1h?Eb4HJ-b}&lF6%xHXSFnJWjTqzqx;V zOse*t&RfvJujzg-er<O2j9J2^1`!hGrzKw4^7<{#xi~j*;?nItUSVO+zn(PRx+wmq z*eCx=jU4-5TP=RtYID9*{=|P`<C9MhKHWRCb-sV*ng`h((@fkBE!x0$;Jd~0Q@@3z z$`<X<ob~TKx9Z_H$BbUhT=(npk!zn`HC=s}Z*-YkSa7@YPWz}QCBHKlZlCtvuTf0s zk<pvVC!fTBU5}fkF+HF!efCMi$0|K3$@{V+To+s3cxkfwZcz5i6eZ*Q(-!Bro-Zvu zchN}Y=>gZDo9Aht&oTKuZBlmS%*p5N4UdUl-?;W{y!ZZCGmR}b*<RdrJ7%wUsq)$0 zIU-BeC!bp@TD-O?<9Ua-<SBy_c3U-a<}d~vmh2PpvkPFCwfM4Jqh?Z7_+H<=dWE}% zFM57`?H#?$A<$LS0qd^3KvxEZm!Z!))q59Cez)P-n#)}2ds9spYv~-g`mF1c#`Ol7 zH-9uIzxZ$`dP%{V3&$)K?Ymz`m6rwFJ9O<bpH=f6se}8r&0{@u?zSScg#EcaF`=St zPjmTJ73I5}(RDwpbV+}Ua=Ys>N1NnpJH2b|biJNl@@!F3DqHyC!1ee?(X-b&ozz)7 z`&7@mpVBrD%0!RckH{+jE>$!AK=l482jq88k>xafm=qGT_iVpYciHzY&ZYku(r%wE z*Vdn^Tv^Ca#3<{ht(B2~L-L*YUkUzwZpN>)zTR7#U;NFQ<AP!1&*Q}}gV*gBzW1LY zUGSMpYiCE1x!|4O;o9y_={gr9?jA|Myj@F?rOnoTt)tfML+{1s?^8cM#c<-}>uO7` zmImhe&H3=ti_IbM_%@H#X2Py^b7g0<^tf@T%j|sH)nLRKk!N>StGnr7#MIwA*VT$H z>+D_`+B>_<&9M1(tj)Lc3Ei@1;*%p!SLXdm`DgMYVf()m{b#27bVZjhw0s}*uHn(* zHqC8D>w@RiW|?g33NY(=(0kz8m0zu^kC>g=Xp){0A|v=ZR4C(alY(c;xr*P%O+6bM z%QL2%Yk!+z_@sXIb7k4$&@<gT-?pR$%PTNmnICn1U*wX~iF{XHIllh#ebu$^UP<~w z{Z>j<ACK=fFnGMvGxtek_~~88#FZyDA2nhVSp9cJ<#yiQ85Ym4giP{Ry?P;2M46#@ z`$AEfb;_Ym4CjN`Exw2_d^NH%77d+P5Mo}x)c9<H!6|W3xyT6iey;uHa~kIzT6xFY z#L4Ng^f7^|iT+dAIqp?AKNVVkr|<AS&1Y9PZ`rl)@|@?N&f48fo_Ei+{_d`Zo9AP` zu2PGR^q<LlX%+L9iA|ip0uyA7j%|9I{CUB1nXgM?e)^iUzw7ruHB)ANp38|-C!RB& zclItX+2AfddzyFKp*M$%G(32=%)C|1_jcjV$Jgz)+~jutZV_go@Tqv-qWK0&zULm9 zzMl4&X+>Q2#wf21$E7@ed$N4u-+yh*yreS|rn}#2C})}1yw{*d>(74k0QaTQUGGl) zQgE3qv+nVUhvDnovrbR@b?bgn)Jd5){>o+U&;5=H+O(>sP4b!C*nFLR!?G#;XD0eI zD>FCt?mK>M;l7=nEXAH%c0Oikx<7wwaQ5yZW{-!;Dm>36l{cO>X_yv2r=iH}`^se{ zhOSa8w8YtM&${HjnaHfuc=6=#<u+YikqbZF&VIVd@W$6Cv(^R1aGw^_6K4!ptS)`D z%J8-rcV1G})wYax+g$h8Pw|sp<{y`}sB+T2BfdAjSe~^DoTgaX!=iC!&y${n(Ao!P zAp&zNzbx6lTPVgmTTpsJabNN4S$=8L>~$t}@ICA)$k_0+^GUeIWJyu?`XJktjGHsd zl8Yb62p*8z%J*e5@0OmFntKbb)Rk_Dob^IrNl{3t<kyuqrk!L7+OlTF0Yyuj5B6M* zGgd$JI5ltI)Xd00&fd<>P0X5aBYoT+pJ3g;r*QJ$%mq8Etee(JD_Gdb&CUGmFuSF< z_k_h4%eSG6Pc3)2<k>gpv8_giO8=8LE%W@JWiHW6-0bEl@!(eoXU2-?OndXdYx6#z zT4ej+xw>wj;q6%ym!%g=P1sZW-touxRVoW@H{CJpmpA@ZP_gFW6901X)5dPA_*vWi zSFSzL{PTe}o69SPpF6*rY|{2P7|Sk`zD(;fb94V;vsbrs54#%)oq1K4HOZFmnZb0k z?Qh<k-O}89s@87n^`kPK1wYPRzAm?D{<jhXA?4fC?)mQxkl<!L?ILh`PxHBlZLeQn zT7Nz*WrF^^HnYdf@AdaaM3;45ImY<PBl*|mC{<mhbvLD7_sFm1nLYLCcGuoR>u>S< zJkC7%Pyg^*r2`WWb#dyjC;o~1@-p{H>(m)<*<~xwWmG(O;W?~q@#mG^@xoS>RBLyw zqS~XbCUWs-4>MU;|GK<nT4@UJ<flCvwg%N9+^R>`1S)Iy8Cf!1Rd}X6?dqxg)LVPq zZI7nw&E;-Zdf@TO{p^8XSG(t1IwTkrHyNH6l}Y6mskkw3Nph2Rh~wnyMX!pSCcbH4 zsQXrV!ZeJZ@605(24_iig_Vb8iagdWefKaeP<8jp_=mQYkCm2j=c;Txb+KqM^Xu2M zE<H$)=e_HzFjYPDPJQ?O>$9Fd{ZR6s;g(uPM6?CVJKo;27m{DcEp08=T0YgLe{JZV zEt_|9Oje)ybYBr4hw?0$#(9POEn7X(`ksACG%*w?<KO33e=e)CMBH4hI@w@S{A`5@ ztLk^hHL65*M(OX`d49!rlVe;$>~|t8Z};6PcDJ1Q{A1>Hr>A*&`RQr~Aqp11?-sv} zPRKHlxTZZl!T%J$(ynD5r}q80xFl|eg}v8O8Lbd&rlq^(AAVaE#5`}uWxacks%NZM zY4h%j3}N2W_vibX%Zpzp9@%#5@<Q&((i(T?uU}j0u_0wikpaVp@P&V}B9*nb&i`?& z*4Hj+tAVcWRt-h%>Q&q=5(f(>|GX@BtCHE1ZDWrBQ|r&-7yeoI3~#n+N-)+M-rvic zF^Or_y@+ET$I2O<Cy8q|n)a=bjsNW{UGUW51jB{<x6D4YvPlN%G#@Qd;&$F7v0+p0 zlX(`htJI=P^)|U&>S^BU$Mv`Px=Ar>UunM021iDp?nw)-Hm-_u5)1sj<NT>}9u{A? zw4+aNWw&r+5j|#f%5G~|batkY$uxnQ`7<W}iI2)$C^9`_&c?_Yo6=bu<ma+S&psDX zuHa@NDf97_?W@C?vl7a7cyJlZe5g2oY1Ov=WGj}mGRfR?g*&TzsxK~hlkWdW<euWr zfHg~cTCEFj@K;Te7xd%Wy0`C*9OwHVQWx4iH*MXXp*YF&>g=MK)`G#&2SVI!??g+a zXIJ(A+iSg0=I!^+eBIP|qa&xEr_7ySYRe$EHKJnGBR9o2OKvc*HoX6NJyAq+&l&N8 z)SPuj4CjLbxH*E@+f~I9%FETu_nKUoWjX(cw_eIr-RWLs9cIki{3TYuUUwq;gqb8y z<$s2%?aDnzbEa+ZNQgMV%wYJ(H>%^v?$G5yZ~Q!Bo-;SU_4VYQ^0dE0u`Bj`=BGaX z(~~&9teAh~^|z9pVu^yY6W<)%d$i<i0o(n%DKhUYWNWjOW%u4*F_&d_gg{}B;A?jy zP30N=5lxStKXa5QJ@@Q9k2TjW(;0s*JTVfSGylDO&b7B|%GQc(He!jHKZT*(-0!c} znrYuoG)AmuZg7Zs{&C4I*$%t=Jh#{NJ>JaF(@^-jYq{P^=C?gXU7iPI`q%pFuA8F9 z`Y5Sz!j8xGQC-m?XL=fPru1mY8%?|;U$x{yg!@Fln-fx)tbbir+cAUv)56{>AGrB< zzy7-T&1$1PKDR67j!m=9F0I!xE8Oyd^X|lVnY%f1bW*m)?iJxZ!2i@?Vp+dR)yK>8 zqm(aS<P4cRee!{~vpjX)iHJsqHn42kVBPWUsDk#nv}qalUWwM|T~*!5{Mzf*+-+Yw z*FH^XZaY?R_vbr}ZQFJqJE6>`eEr#zy3#sDz4vNrmM<J^cVAXrY?hgj|8-MNs^#(Z z*H*>dXN!0&8JZ;O)iWo3PT$wfh53T#&d+97`IWS+&rD&LhQnfpIYs;nSF4;%GCIU5 z%kW$!VSaIl&FTC0f?3+a7B3z*cfI7A@%YAq35O-ldHl&*^KDw6vE50gV*>n-&KLXC zEK$t6IV)17ujoL^vBN#p!AFYTeir4hTYPD=!iQxu)^aaC(KA!;xR&GFuQJyby;O4* z)H!qEKSSkgcFBbcKTR<4c$#Ws^!yq7ocU2z(ar*_S40)QeEq)MY~BU~&!;`d=dHS# zlQvU#^|~LD->2tnmv~Tea%D~!$J&bx8H)wkPZx*z<cjXzB(M2|SyIyCeb;KK7^TK% z*3E}{QWCD*^Lct`+w+N4eUC*9MQ@q&i80tLK5k?1eW{MpN#~uLn?yckoj$I$A&CF% zeNmB9`;y*CdpujpaP5p<uSVG2?~Imgb2`7@aqCw9Fz2zT{7u<KpSxDv^0Snw?pm{M zwUo{${h4!~$UJ`?HscMGrf^%M>hX`I2kjm$ofN5b%j~VhImWY`3TmDvFU8MDsz&^o z8awNeW%8`hp4Oi;v}L3&&+rwD>3yZ5KjBEt@{KD)I~kSy4_iFHwoxzdtMbWDx72f{ zFf-Qj)vh-9(c80Dpi{C@x$W4)pqpaWt}~;Yio^w{sxSAiTD5_@V@l67TQ>W($!3eb zeK^j2yHmCF-T^ZQ_U(Jq{i`1Qe9iM(-(f|O;q9)8E9UA?T<O@a`l#Pt-@bD1X1}Rh zTLaRV<ZjrTzm7S1MSoW9I<u(~KX*UBQgyYm)O&_ovV5jiWxr+eJ6@wVrO#6M`YRq7 zGa0eR)M|-sy?jsO@|p5-OZHVg;ZpaspKxw@?s&rD!M`o@KTN!(aW`LjaT&`KuGOu5 z^WM8}*?CK~TSf4*w&*Qe57DLhOt%!h%gcM7B<?(ZX~(jUI)Y6}mE0Sc^Q@j<+jcp) z@#&{~Vg6GR9yCt&yrGlZcJkA4xtX%BHd#$Lb=}UBUEbjJ+W_4!s}<_EuKJn4dcVh1 z`>u~t=A($uyQj(9%WYLW6*1vN&DKa^b_L->zf-Q&OuKd3<q^lDi66|~*vQAsn!8T# zUt+P;DU}%3)B}?5y`~o(<y5-r;lrSOUhYw&#HXVxTD{9Q9dw@NYI%3wRHul$bNAhU zxU%A(!hQYEYp?CyIpMv5=!A6_iqD4Z+FkJ@Qr(BK@v3vs2AM0jt}fkTpXkf>?`rYf z6N_AJf7eG%G(DaCOy`@?vG!$84>P_FU;p&#+Q%u?ljh_n_xTpDyEXSfq;kE1;DpL^ z_EM>9`?}->BSg7#F1ej>HoQH#@k+?%itRo>uc{@qe&;vzIQ}rEanH0{{$H1w+X!!8 z@ny~In@eZT{LWP0BIs)rWi4rwxmZnk*UpByN1D#|@#h5Ve!a^dYB?jqS|NA$6Ye<g z%4*gfn&qj_getY=3L}HEqr@IezL7WCA}FBo$0csLXZe5Za({N6(>(FSRnNgbNL!V^ zeLB~V!uv+={$?M_TY7nYUTp6Uhr8?!hWBR5?roD+K7IRcL_>Ylmb3izV*7;V_FTHT z*--geq=UrwXLHNdTbmMdpT08g+_XdP>Zi9~_x4=c<XUc$EGy*1_&4i|RO~#CjaO4A zHk^!oHrvTIKKR;}Z0<Jaa@8fOeU~`T+09&`yC;0Xu~yx!nai9!?b4I7Po+*hB(YR3 zuY&cQ|Ld60fAe!L3F`expWE9UvPi9Z$4B+nb!rpee=X)&b3@vag|D5ZFI(+DLsXkl zu=mx}9ZnTGOg*)1*@yaOE}WC|`La5D!C%MK&R!SSJj#5#H8Su@dV0)1nX8`^cH45U zEB(E7_dMxC6K`*jH@Dt=Z{zy&T`iH`O%jhA8WO6m+p<mn_BHtLmTR+5s7922KN?=k z_sVnDE!!;T?F^PIdb~kh>ND0G`4+0Zd~P1RuIRYTZ?3cRPQ5Oi7pkW6<oPn~w0y?w z4~MP?yb|;j`V?)$buymsM}zG9V(G<Ib5iO`!;EvTU0T+f<`V6(+=zc_2w%O_<trw; ztve4yd#sggP**Xq+tc-I;iYvtccsD|lvVz$Z$4}E$Y<C487<7$Rcf;)&Q3ntHcNe) z>OsRvyC*#Lv(>y98RORYXzTqui94C^gz?`zEv$65_2i4nCEl@KLU{_i{i>(G3>8x@ zd+Bv#y-k|Y^Zejzt<4@0Q`bG7c$#^_+IiVRzV4Cj-!HRFoKUJe=P#?ytaHl?*n(75 z(zUcM$coOch;%xxW0d@FmQ3=?Sg(kRA`j24E~=H!B}JcJE9QJApM8+0;`VXT`Zup) zOf(#24_Y2oYpJrEpZcvJWt;V(-#uU7XfNIH(IhNo%}1xlHt*uHk54-tIGdk;hFM8! zj{K>~Z+^|NoGP9FefHWk;}@^}rCvN~mJz!kAEaF-FPABpnwIg5_jXVCnXp+Y--GIx zDl2_%xVN`A?6=usmGsOW-XpoC&zoP*N~lf#&%iBysB5=x6WjUw{C_ptAH}yN+f0~g zx47%4!V9V1YvHGb%oFw`Etq~N>PK8s(f+&7e_oC7`CWJW_&u2&-Q~9u9bY#1YX7)> zm|5$X@$n%0r8S!Bt)^4|K1quB_=n3sYQ?RxJq!Ns@Hl0auI0)pbn|;~#r?xeDl<;) zH8{l@u;(M&%wmcE41PKy?<A}}?62(;4=k0=?Rpks`FnTgYNpR2E#h6CG5YF->LQmk zjbCg3XOMg?mUTXR)s|Jp6T%zc@D@nTKf*68F63XRT-?gSeDM9*iXN%|3>{1l^}5x+ z$AoVGsJF%7zOsRYLX+b%<84>|BtO!gRMwI^<NPVn_ABA))sJqb&CWJR+RNE5VLH)l z=Zd>tn{2%0*f^CZ2l58JS^q0Y@A73X%{#u6^%hFbi(JleFO#*Ik54PIwATKl)~^zs z<L{=(Fz_axw>Fl&_(X2Tss+{st33^TUOv56@=_%CvSLo(AHgqcZm!Rf-EKN-(fSX~ zf3rmwPyZ2KuwrT7gH;o+TO9woHdyki^XdvOA>M0~LcVL={F5DLTYcd6w)zy4w|}ht z?5#exwFS<z{3>!mjXg7lf1TD&&u6x#e_S6#T2&M#f9L<J`Ep$a%lh{vYa0JpK7Tnc z`^<ryPc45fm#Y+S7LC~Uc+RgYTSCtV`-}ZB(o4KB$%UCUX2Okc%A$!jg%30ie)?nI ze*Eq^M*FBwWuBp-vlqS$*fdS{_+GV^i|@+p>_0HQo%H<hB1zlwXS;6HssGWd_!jr# zvBLABqI#*H^`{tQc%EOIeP~{Td}82<^@T<A{my>Wf4J*ihKc!9+v@)e^AD}$@A%Ka zrxx@vV|Mh#UC;Iv-Bpjd;^QqdYe{?Z%ZfV9A8tnCza<wl?@4F=xb}8^_dKEQ`C8e9 z|4yEl`}!&T+=7}X{A(F+7H>(m{hP62mfgPTkG{969^5w1rEX^0ztTDPg%#8FroUnM zC&yc}Y>k`S#j}>t{8NJ@zON`y`PKPP<(=Z?AkKFTtHk3)YCO8uCs*eee=dBca6)e9 z`dM?fw6ytjiJy_zV>rH4)tB*0c1_&Jz=?rpmt5kHxGwo;)tddHTmQV@wQ=i|{%_&( z)3gsT?|PCfx#Gw<Hgn<rsEgW+Z>GzOHn(MdiP+cG{N<?oe+F)L?^&vzC61Ek-oCv4 z@!6izXVYR*CU@n}G)Rj#Y>3NtIq+S>rt;yo(|;!>P3Vz%A}055Ym$DaoRFL0wpnLR zUsvuww?}ko+3)8CvbHOGjb#dtS~q?X{4x8XgR|>W*ZJS3&p)=bzVlW{=jTiTlh_SS z`^tq*{;^o;^33?tlUl2w9rBKcKMH$%nsGDJY!%}Zs|VLg@Aquse&%S`&aL_C#0};T z>xF(N3$Z_+#q;zu-{GZd2flIsaeT;rTR5X@#y=I?x}9f3f7dr||Icv3a^n0Rw)a1- zPvu@Y{b}HVrN2wgF-+l~zDzTQ-)G_<(Jene`f|K;I3dckzG;czQJyzt{~0Re-1k<# z|JE$Lb&meECCx#fQgp)1zQ6Z+RAwt#lFt^?$uet_Q#gyBk+k~6w?5MkSy|6HxazQo zOHJ3|X@9aO$SF22xSWt=p}x>G?e@_Nx2)SQ2WL<0DPs7({LBecwGS?dE#2ij7az}E zV{dh8$A{1E^Hp1#6&U8s+w$X2__E`g6<^*66`%a+R=YZlUn(<uzPW$M-MgOu8KgwI z-R)|0tGIa=?!Wsw(7b*9)NPGD_0?T(#E<RL`p>X>)9b4<`(K7W|Cl$?GBhlA!P5zS z&HH#mj}`SkyuD8P%nkqjqSBe)1tzRJGWoLYe+H@7%dhQGEEVj#eMZMGLhMOc&GlVc z(K*|974LbR_+0MiGPUCV%u@M}O?G>_)+y{v{A^b5byvJhuPpz7+@32<wyMAUPShG6 z|GXe(x%rb*e0NfQU74T0Tlss|O!<4F+isP1KasvW_k(-j+puuoZND$ZH(93?|F|Ht z+-z6vorX?<lrOim7H4j9Gxy<QzSA7L+0}G`xM$J&<AHtiy>fo-y)x}={!R%yz5-5( z1(trECfUbAKTTKoqBil%>>KlWX7_I`ar;#~S$dV=53b8wW_{*b6=L{grTtoyQy!1% z4r?Z@Vd}g2`p1>-<!7vp{`wfVn(N*PhIxnB;=^9mEeU-ZA=nlB^5WdZ_S%Jh4=z5L ze{-`8Yro3Jo(sQpZ}n`EJjvWVId1>Aw}y_9Z+wzBa!>qu<=W?ryrPX$<*urjRO~(0 zUM=>tqU)`s?90;+cfT}Sap3OjTYDc#Zqe7=9+fX^nYT5?|KY`+NYTgJy;v%wE4(9r zmR07?V>s)q-@0{2n|k}H<Bw<klFZwq!+$>K<HU0h_*j|VJKsreHh17X-skXr!IJ*j z_YePSyC7*cq3YKa{zdmzzs)dwQ5^4HyWeHPhHQNU{n8Wm6W9Fi?&tIR{kZY!^#<uV zX-)m}_iuW4<w5g#2UfRh=GmX7B-9?QUVL!rosAXCm5L0M6&TpJ+Pv`i5q92hCtFjD zKZ}^S<Y||~ccdyd&YYdqJiqGO?)f|(%fAb+7BX&s8JWG{uI$AF$~K>;NiJWhKJo9| zW`jHtp66G7g|O_dX_S8Y{N44{Cztq{EeTXeaK9`6I5fXxt>e=4iAn(lj7Jr0PKF-W z|IcuJv6dU-x~E@O9(sCB$+q9*;8HjDvr>;5EUx-JTAEr=_C)Y)tj#VtquX|_PZBQv zZMnp7QMvd|0K3vFZ{e;Eo}Ra+H_RHJK3sCgZcnIZNnJUEzwN4>4$qEnFnM74B<$s- zcN~Y7UGfiGDebK(m?ojLgs(#M#h%(sFS#Yxu56oF;*%`XU$sP6i6_*J|FOf*E{BxT zWm9Z_d|%tY!R|n45wA<`wx%_=3vXOdR$1ou*fCuB$+Imk8vbW)h&<WU+9r7>_Z3?P zvvT(L2f?e|yi+B({#tzuoh9UF?8_L_d#BNtp?_~!+~qu$<%(?%Y_m2bu*O|YaJ}$s z%5$0TD_ivMTzs<4=m>un!}@KLl|PzlyB%I?o@rmnEO@U$iDT)8Wer`$lZv(`CY34Y z>ttQHoIk&{Tdl$P7=!gO|Evs_tBZ3rBsK0-2m7QieAJ*6ka^Tm*6;nLC80Oxd>85B zkUZ*~;CNnr!NS<>HG6G&Et=R4Su7Wo-4(?6u=Cr}9D`*%OywnSeT9U67dX6k;5%@9 zou=jQ#Y<)WiLAbF@{Z{NqesZ)Pp;OiySen76;dsht+4pMTG6lgrS}G**xi=|<LAv- za>L`<S}o?eds#hJEMG6e=ozl^)~0J>vW4Yy)5_dM7AFt9@B3P+`)1jJ&j#T)K7U=n zlRIC}T_HHKUoz^|{tb#Vc@{m$waH~?3F%#MY?aMUhrqji8996|HCI?pDvMsU>k0Vx zE_KfK@9tjt-)tWyFf;y0TJ|8}4a>6z?FF@bk6A^zw=eit8oTA>;=rx^3s*54<UW>> z+OS7v;?c-|XLf~iZhv25|2RzfVrh82Zt`dT1b!3N6O-j@r}zC>t;srNjd=?5g;`Te zdXr4@C!ex>zW<r#+Vm<r&%l{`LksM=W{S-$v(-8GR&=&xY<OX)qypcU)4f{n?yyZM zmHf}}^@?EBtAb;yovF8u=Y70VTm5LwlJ6S}K0V>%tGcrA&i~7QimXge3(fy@q5Syi zaN)!6x7S`?Ebsa{?v`$jQp4K4i*^e*2Gu?Ix+Zzq0e>6*m~h#%d`hy$Zf&ML(OcGU zpEHN&YV~Z(yDR}N6WuIdPmcZ1@U7^`Dj}vr!L0{QnoQ1|l$><SYJ;-nW92IW&hE1# zUxxEFrnP5CTK}5%ZLQ=R?r5E$s0WHC62EtTU-#u@cD~SA;h%oR6Z{JMvr6Yp)qN9q zR`uDl$#Z8MtG9|dWV6pYH@)J<x{bmO40prp&Q~2wEWda5z?(ba8}$0?v-l^pR_Fa^ z;5ycS=%Tmr)^pEiT0UNJHfYA1$|X|1AB)aPqz2E6XE)t8ZS#KyCbs13w|4(55%t(} zw8iD{Li=;8{xc+==3w*m>3!XJ{$a?omck7$tD3EzPF1#K&ye14b#})kwN}YRKbyYU zR$X7@`tam))?^vs$!BBo`K|P)D{q?iva4OeX8v!zms5+H^qxE@(t0B$mOFP|#G}uB z&V`fvuD(3`aQ7w_-?H6)7Ro<og<V{0^Epe=)2G(+<qxTF=2NO4ZdsnX)27_KdHdr4 z#|6hGZCY)8lK-Q@*Dt1T1Tr>xN^&zDpM0U@Xq=Ss(S|oG7EfA`+Oc>>xlNa^nNRzq z*c}oKeOrZI{@!!!p0Xj&Crf*;Z(lE%v@1oo==Zr*95wSWSrO6kwyE(B?~#8c#T=i! ztF6Ua{Jy{5+ioaOA9cCk_oAw%?h=Wq;XLB+gkSeZeW}pR$=fNG@OY<>)J5-T3pcTw z!rOhMVh&WcZf|#%d293Q+8iqrO=bHj+#8;Y-qko0ebdjnzSV@uAR>po_r_nXbtZk> zzuE2{+1c^P^_W%4HQ(c{A<=7mTA6;y)k}T-@iteo&6C$}(y8lZES=hhFZiNAEsK04 z7!iLno_*`~$SFOBiA{EGTcy1-7F9miY5btf%#gnCebm?an_NWJPg!pJ`&#`sy;(=3 zSKM>j%l3{{!Dd!=22WkI)_a?DnX4W;rV<@}=kyKcAO33k_Oah(<(T7KNBAXGLNmWq zX9l10X`It!aq!orj4+!ZU$&QXpY56?G1XDMxJaAr*|Ae90uD!)zMfQJ`gZ$0zD;|3 zZ#|2dyOaA|#IKSyQ$D!1OqkB0oEp=bIC;L$mDSTvRU8R8B(bND&%(m;Wt0cYgy~!7 zK4N&VA#Un@_XnrBEmfwyy8Se8ck`7?(V5dO9&xthI<k%7xTxc)$`4yz>}^l(Nc*R> zWBJKa<@M8K!zWnP^H!OE^J~|WZC>!Q_l|tkhJA7u6<Kb3?X<h`ue9dS#)sD@u+P2f zm}=9&c+@nf=EEA5jPnJ{Mc>cAv8^s*lJEQ(Yj&^I_u<)O;wjC?cFFpxn(`6WDcWi` zmi%^n-S(g1^_7!LvxIw?1ggIO3g7IxF!Mn3)0Ks%o-|(HVOn<Gx#{NNIEGbqpY^yJ zYBiXT`ZcfG$gQok;Opy9{`Pk@*QCpv>;l*=zpgKx?RxQ<y5PpZa}VyXTr=}aufa-B zeb*g%t^Q|yPw)#{xpdu&=|1rC#<R7q3z>{H7}BMyudle9DfY=JOw-&ZcS`XAg{o^# zw;e9AeCGD6ROp(QU~%p8+lAdvHuEiBDO((PFga5t#kQ;I`AW;9Wfz=Memd2?w|TZ@ z;l*6luxX(@$_if(KEDw3jQRA_OTpQ192S%@i@dJoeaBbx)Tif@aqQoJGnJm)R&&q2 zI%8MpEuNDKz0&VRVzve)6m7n7XCve7$~eXsTG_EmFK3*Tbg=KP|FUkQ?w7=W`yPcI ze6AfPxn=J9ybc$4$&*hm<?wmDkeYhXI?-X}$=e5hU0!tQt?m=;Qs$F-ModlFSKlnV zysdWbltZmWOHUlMUG*T^J6+ga?Njqg=KYD@Gx!agy>{*ncqu+*?TsdB(XDK4-!9JA z)115egJ0d$`_9!`XB64Yip*<nDDbaXw{Ypy#r>zI8BhG2*e>e9FShgISHWDBdG52i z7&*7|e>q#M{qU`yq|5&FPe=9}9z5CK$M}7H*-p9qch`KE+ibL8`J1ig%a>l7zh#wM z-8ai*2f0M~_Gc6RJg&6;=)dE`l0!G2M{Mr;%JF4(cct+6XG({gd&ESqx@T$~{N~*r zEd8)kA-%tf;pfLc)`dcnNi7C}lXow5<m)YZV7bk3@`;4HAY0e!J@ce4&H20NUQmiU zD|fx$)JEIZ9^p-U)=0W@ao7aycvJaiS4dF9S;HXqU;CEsePwd#jnUe?C1*UsEDo&u zb?VYBPn!#NNnDfe7S6go-LpyYN%UFa&4L>{U%qn{6MVkuM-j*4&&zDxxhySKJpORm zcfOWtfMI){@%*(_0T*ZSUh;e7RB^|Oe`&~kryWV&uFA_p4<~<K#x8M>`HIIWE4RWq zcAWNYuBLm~3$GlV{5tl;rKLvNceIZx^SzzipLezHw#(M=+jdKB9RGgy+$8vPdK}-b zDGR0-B;Iw;I=|~fO(4(QSJsp2r&ceznei*+QD)ktcSd_}H`KnCsy?m#`^vWMTlA&p zSU=a&s_eF5dhXbF?V%W_&yk|w{|xKH*(Pn8_V@bqXQk{vukSZ&Txw9cIL3;(vGM$c zD<6MU9di^+6_j+V%exYD;pablE?)yqnIqNZe_q%7elVY|QN67+Od@%XO!%Icx1u6E zawn*CS@JgAJiphwR(8X=uUys7_g@Gs(y4U%;ePnrD;|TN^Vay9{xM9n78Vj$NJ#k@ zdwc2LI~$Ka&FQc+DA>KXFxbC%`Ay5NTLNb3>Xu7x6wR@n-dr-t>{Zs&UvDIj*=8^4 zKU}4{L*OuH#DR0}JlbVK(^v0(m??bSx-j@`>axaNPOGX@&t=GKp7CFvF>Os4qlVvt z&BZ^iu4c@c*(qAyWS1^^G<)S`$;~=13=G&VRV;Uxo0z||^_1Rw|NJc0g#91hUVYv9 z@7hG)gLj&@FU`D};msC%=)@blw8S~{V?qM5#h%6A*&$uuG4Y(Xr|H+qn==oj9Z*T0 zHSN?!zt3)wf_s)S-d<M4wK8+*>70dT>FVkU2hL{Q$u3*+XVPl(nhBO`PS%9!*2Ql< z*3cKid$uc+XWlpIn_?D6RR1iVYH?6<P4-@eHI*f*x988E{60kG<7HQ4SCQYzZ+8^- z7yHUtU!G<tdS+38{SKpyjl7bVUcS`1t=z0w^?369s;z%JHut!vt%yjTxBSC$_1-O( zH;$%BS*pBp`c(KT>u|+;hX$P@?agJ0C;uFknle%Je(N)_0FT)dy9GaeJHBFF%8!_{ znzPvMxj8Z~d-yuGsp8wYz-=7Satl4}Pi_6OU+`t3r(n*(llOL5+THtdR`6h^oXFML zZ|%zFP4~Ogns$q+Z-1}ve+G`c)uu;+qcfZ=f>kHmYgf<D`WAleUCK88<h)Z7>DC4g z-&dr5WSg_?h;PA(CkfLZR6m+L;k<c1e_UJs)+pzcK1+`)GQXegSiRTGBVQ@v&Guy; z$$eYj^giO}ca(_kK9hdCN!#fCv3-1-rF$Cp@)`L*^*nLr^VZ9%@pEoWs7`48^D0vM zO#G(5vrlSXZHt)m`+B7QkzUEhrc=zu=HI8Ytv~u`cD`oZWB(gxj1LvmO9?Y~L~FlL z{;cyPqVdh?Y4%==&D*1+ZnN|yur#F{j}LI)TYi4!i}1@!&tAEBt7DVl{aH&(AD`#C zv3(-%p6MzD>ng&2g{mBQ^4>-^T}gG)8J)#Fj}=OPU0w1atUYn*`RT@I9^@44RO!FA z{`5z+({-mU-Y%~Hm1SP|<NKQE`yD|?+8);kStvgZ+)`AlY5h%c^WuvouQ_I!&y9E! zWZ08(^+d^xgYtPjd(>wg-}>>|)ZWia>JpzkxcYNX{*u_+PXoU#yuFjn;n%F$8$5Ow zW+rqCM{NuV`*~qbLUnCcMo!7>^LGy>eb>2vHz(Ql#5!A>@+F-;W?>&a9z52cJULA1 zV|vHhrJ2X(P0+NwC&APIVbS{qKmE4-cKvsLYpcy2PsL;6D`a<tg&xV3iHpvBb;ePy zSg!JY*V9t_&g+^Ji}NM5s@AKUHr*FyxUKART}ZEh<AGGc-mNS%UvW$;JhUyUhvx)? zwdXNkgY|81R1du@ayyb<CDRk$6!+tG(ConMElx)od(R#)RjzUVXniE<^Q61A$KG7M z70YFNEuTL_yd&?v|J=t6G7Gu<swaEZXzWiH%2>7SRV9<#od<k3zpv-Ym#mn(s7rsV z_;bDE4epn=nauBqdN!NeNlH_2#`ZIo|F+zbkUM7L>v&V{S45XvUFbP&Pm{DAH-29- zmDD-d{xHr~|H$3a&GO%JjM!fMT<09{(Qf;S)4yNxZnL~C_&Vsp(d3uG3tznA_AgRV zU*}=+I%7+<CG$}hXZa&%EZ0w+9dK3YaCfKq<P*ua=FOV7w^~rH?*5DhHg~zLGV_vl ze%ZIMe8Ehc?rUM;4<v5O%)1jdcWHZjT6<#8s={M`Hm;wRyzA;?_Gb^PHvF7zclBoG zu46mp>`tte+Qw}B>HbvT_Tm>W-hBC8!FxxLW9`A4GZ}R}-f4N%#Pd#)$Sw1*JzBB( zb@?(??@5=F=Pul~E?dj`<gJg(B2L6Gews6XnWo{qPx~x(PyBW?SK|9|k)MBDSNbe{ z7i7{?9(=Y^q^d>m!1-dc^HUy_v)>nOT@ib{VB5v07*3Z3({CLwT7TjDij5iHHNIw~ zr?)yhbWXRatJ^ZqZ+dzA?u?J`ZY0JPF4k;2o7D3(<j>K5#oF3e)i0C&GfcN@>EC<) zTC0fhrDdBw%%8Za;>@c1UoIp(+Hmdp!+&%1>>tIPxpr8`^QWh+;p@2K(sZuV-TUVl z@UVG2zO~}-q=R#BDwp~$&)O_@x@^_fhBr?>PH%lHp1VZpxpK>dsm%61VL7v&M0Ia{ zcVA26$|Ke!fytNcwjTM<kgoib-^Ag;+*4L>zpVYSWr@wfj0@^X&n>^N%+V<hk2*Hr zWVb1IW^>-534VOGT7T!xZChY}QE8HJ^NwlCat(aXc60lh`}J67F)lgqIF0dF*o^&K z1lNRx>3-^Ay7AXnFTqmnVxC@XfJcx@%tq#Uw!TF-=bd^Ly*k@u!r@~-qZ$6PR_(v_ zbknX+>q@T8%;WmB#;oyusEvE#!)p-_q-xfiEHN~E+93bf^}uKAv&8{drAwdgXkqL* zwj=nfX{*A-`8C{I`WWJ`?PcgruKrfCZJu?^+cOJlc6@uha;<c(y|<3!?bC9nkAGe~ zlXG!{&a@TD6;h8P*&O1^e$TqGvFo*ecaBcd4vRduaF!C~o$DU)s(WX)Y%AuBpAgcM zes9T@uXCdgUeb=vXeng;eT?h4-42stMU{fhzANr;x_#$ZRO!>F_FCo(LhaY)WloAc zR(CqTOm|(s$~Gp!H?>(Ti6*+D|Kh9jKTAKAJnwb=LcE*QYQ1Hli(T1FZJLg6G!>fY z$=mF)_u|`krLvtXcGk`9mVb9`+Pqsw@1B~NEs}NP?>&a&kK>wIXCG>QbJ1NRz{ACo z`OZ~irPx?4hgF+c8CoAdTXWahrKkHo@7?>;bat}`tv+WjmDc<4_KRoL)}o(mChjqo zv;7!l%-yJ1zr`klkE?Iy_Z7LOCl+2|U3TrWM8S;*pD$dolya4o2@C(wyFK{lyq4mq zX|rM^Kd1OiKIdDq|HetxCE=QSp;KxvAISTg)mXl%B=pw9zWehhzK_^+Nxpbdgpta- zPaf|aZ`p-1RA22>?XnKe7m1FXVOBNII&Ho8nuJBqbFvs5x2?S6U#W6ZOEco6>Vd%X zGQ}Q?vZE{B#hFa9eR@9c*m}?O?cWX4&sZ}0*B@JbYmUKZ!4GWZUzl%g4Y_-4fr?k~ zG$V7}p8+@8opWAFISI@WoIHo8eD%f~3ud!A>v0!HZksjb)0rbjKD*rr5G~v;`zh<^ zjt;LlpGBMA9xhvv!SU|mjRidqLyFkhO~t1ibS!Y5IKewbF#KZ9^X+}CI&bCto?2J^ z`gKV{Qk4J0wgUd8CJpBV4)2t5e`Roc->bh_X<f?SBLw^IzAEX`WUhJW$1htcayaLo z*Qw2UDsQ>my%GYdmEK)4J)MxOqVXVj))f)^bn6cm=Ovd;I`uW>*18lSJ}<r*Z#`Cj zD}J&hFZz9A$8*^i&zL$cKS`Q&YR3%bt;ILKuKI9V$s?%roQCkDB#3$<fnIVPEN zt?{fW{qyS3+D~o@f&9~!Jee2KmE{n|!_K+Y^SMfi+|?`-p-r-n+;V#Qr`uiWlI4(A zKE`>{-i&>#74P>;9B&&AShBV;d{=8baJ}8PLsF<DBPEq*^#Rq|;(%?_b5isxYF1n+ z+}o&rUo@()IDMDr%+!hD3QYy>OPSu?%Taw2eOSQoJo9UJL*9vJmqy=>-uU^T#JQ`F z6{;?;y`(!a%AIM240D73^T>s1pJOuDZZfEl_*e2}-!37MsZ1yKzGTun&$@n&xnjiu z<r@<Nb_g6*j!<$o-f(;JG0m{h*p9Q49yeYI^=@OGrq-<ACx2;X>XRvNdhQ=@ck<fs zK1}6PQo!4y37eCr9?YwjUt3(c^HyE%j<?r8tPY#F#(UStDJjo0WuCwG;9Y&fqVHu& zUwUs-dj6T>_ra&sCdSvl>;7`9xa;)ib%{aOHtM`8I#Yb;Kf~8oOWW3!+iYazIpx^% z$<g-T7NLuqer5ET_N<>T^|kEvj$gm7TBKagJwJWbZ3EZ4&2!Q(T$R4-6tbPy#;qtq zaO<`Qea|+iTut7wqfdMNolZ{aJ5LzDymnO2G`@9LUhCqM2tR(A<d3T^MZIja*>ACB zFW<Mb$<gt#&QcyHpDoFq`nZYRr%US9z1lar?z7eW+}B@Q%ea&Ic675yAWPygkJs-s zU-I9YnLP2^alted#yPVNbou&j`?+S~fjtSIZpb}bzxBqpj%icN<(M8kd48{L4O2IV zn#$4X<?6C+wZ0j*GCmy?nV%D|aJIrq89m!y*F3gd$yd^6aSZ5xWUCo<DokQlyy2CS zAU}qMjAg&B`x=^reOk4hclv_|r3}BXYAjTl+THw$E%WuF!=+ZP&p3{qy_a0V^6lVS zwM(Yl_A|0HmDYcF5W1q#@4L78q&3^8omy4#oTq@*a*fHi?l&KOIB)j|xY@S4ntX`7 zv9m%oz15S&{NDMPs_RPAXZ0;E(bJi@_F+%Yn#HXB$({!ruQ@)nX4!G)l8VL>Z3e5& z<!o#IHv4Y>oV?Ah<it_G{|pcF*M@IR<Ow=mZ0%_nv+6n5@|U4YE|+SbPO!Vk!gaWK z?h+>d;8`b+HeR^%GH7;2i>_1*)6#QwKIxOR+&AssJ9F)q50N)g%otpbe@wX+HfL8) z-o{r_J>h{9TO%$`&$CLIb#3?7=-JDIE!#96K3REt=Uy#6wi!EbKNVoiVB}Y`NR#~- zI?FT7ZI&h1^n`esME@kMYF;a`t!aH9td*E1dVVjen%w7Ua(njah`grSj@!`_ysczb zD(^g-v4l0vBkYEAw(yCGW(9l}tIHOd_h`E)g&$Pj|2!(}dfB2Ywmm%u&v_d)aIARu zEOz5Ifp;p2mB;rgXrAU_`YLt9?BQv#=LK<xFNF1&7rs)9xW_C%&A6w8y=QWW=%<rg zCL7*8z|6q++_dOgsGdS(*SRNo$Cw^pT(Lns(Ttn>)<N#mb7U7UOnrG)=ktPyH&2~n z+a7dZsTPh5Iw^bQ=adr-yvq}A9qD^~C1l#A=-azaCNjG@STC79&F;?Sr<z7@R;aQU zeU)W(RWz`lDtP<T<7LIKgB`2wc{bL*KT`ZUEas?H`>q7lz}8z<T$b(&eHHUJN^~S} z${Rd>!MWnWtin3o+Y{I-P9DE<C2wt^wdk1yo_9H|j}{1es3uMK@n>yg<5l7|KDV-1 z{dD7JHqCSKGBUvlE%ytz>n&j8zw*21ie@=WQTpk$*t;G-z5ixM*>5|~vx%)sCim9e zs^6DV7jdX;>-wt5!@SPz-Gk&`*P73Y&1dq>->>mt*TxgK{1Y!N^q6&)$JkS5lcj28 z)%;`2cDYOvU{-VLd9E`3yn|+zq06`FJePbwYt$YLU-)O$+N*!ezO#8O&ewRr5<h+A zYLCr_8qRaMoVyXQ<J|rC@;+ClC0%+HCanHGIZQI~Q}Jb$@2l8a+QMCoQr11byv}Z` zq`^s%uFXl25v&S@^Sv(gUAv%k`?Num-_Fnz`31glUEH>Z*tibxh$+id%?a65=`(|; z!2IShiFZFweaX+cBDKXh`uLV5emzUKJ=fVc*ZSJow`;DQ*mf@^XHw#I<vam7gX*i? zvpe+!C*`i{aQw-}c|2!UC$G}h-qn%O@53}Ap0HVWr?0bRSeudD`80g0$dnW8vagm{ zn-v{${vINH-sDS{=$X2>wC5^2l_l3K>2fJN&l0r#R%eV1b07cX;F#Dux`%GQY>{C& zdLu7xr}D>zOzs`u1a?a3o{ws@yKH;+$h4aQEpFipRjNapO}p0~QFCLkmNDuR?^<^` z)<M)K@z3=``xkr{i9B91$#6%!Zt?@>D;rl|)>gYV$wA;h1D}E8>I+NUpFRH`&R(_Q z_rikkS6SV+dmr3XpYr&<wb`SaYgzl!&IQclJipbGCAC1LX754CKdYoABU5+wU9V(v z(-Yb5CU^XGSd8jMUZtPaCsp08>*ao~HMmwTpme4|?Dvs^y0*pBuKRYjY{++5#UAtg z^NPF&=W^HS%_?esr?0q8Zt6y!iwk}$+0WemOlMW$`J5}~B9csW4115Z8Sq!_m)&wN z+C3xW@b?*g5)(rvOjZz#iJiYiWnNH~;QVvTqBR!Jvz~Oks>sqJ|InJ6qoKjy`xTys zd||#4ve9}&?jPYvwyUF=Cr;Nrdg<=pg}E1w%$1xy_rBNO($)9xdUhtnE_Artll;=D zWx`L-Egt-`=Q1Y?yxx~?v_V4m1^ZT?)-!=D?pvQu&ki|TucUc<H}gtn<yn(FK7KC< z-N{owRWNRi--**ZBNz|-%r@)tS@u0VsJFx4kMRZjr6uC)Q%-(sx4!9r@3HcArY*Y5 zdZm;_5|@=(pHJBLHRouKy0O=4z5fhTi;NgnZ;Uz0Tqx7wFyZqJp8j=Ndrp_=#mfHX z3wbc#Pune|<(%09*SLihCswowc|;~#nkzp`doJ-p{L<0|KIhwRzI}3cU(nruNm-Zf z#3~qhPU+pDZZrSTRu*$Rk9!B+p7>eacT+U_w?)jkPZFnlcvqhfymQ5(@2TU;SBgCw zy$?u-$nBK-nq_%+@%EV92|WAmxjlX#XxjQkTjiot@78auwndd{%QsZ-tNA9lj)S9l z;a9ck8b@~Sn8&0T5#><#Iq$%#aB+i`4%eRFNiVPu4)a~v_DOr&gsDl6>=Wv(vJT|Q zJ<>K;bCKi<Z>Za{GlFHM=_l83@lyqwipsux`Fhk*<)X<$l{1_4@7X*^zP{D^H`lv| zN^QSB-itUF8<H${;Mx_jZ(`d%9h5))D*C;YrAN|H6Qih|mvx&xB@aK}Y1h6tWb2&s zCC)A%PCZXN@AzeP*fp`Bf8Wo4I$;?a)8J;iDpBn7Og6Ls40E2XaCuqq?bFt+2adGV ztYh<<AMZ7(;u&l2L*q)Xof=imuYG3T;!cX}khS$LzVPc>OGI`0tpi(H@+2$|$ZF`y zob8TtdoS&l@MJ?$weW$X8Oo=#`_&kWQgQ?iOk=4oS=;M5D_SgKp<{sv@ALPmRg4i~ znJZ71%g)yB{j*VmrTW>@h11kNUwiq$m4A+m#x1+43#Rue<r@}iFIEz~TKp=j>#)uw zui4YgdCK19dB}c_sw#218I~!3Ce!ku<n7xZR~9lIDfCc?pD=$4ll$`RdsQyEDSS@e zkzK~!7d}s`ZTTA8mUkDUO)h&FtUY(s?(kAqx$P`7KIcCD%w}YG()OcMht#%z(QfMt z&aAol(|vjJ{Hj&g)~fVO(BAb`xlmnh=c?_yS{q%3H%GTTzutVgF>>PTTSa%HZyhgG zni-v$laTvW<<e8;C8>51O{{6@(r(tmQD;Raum+mF<a*f5|8&;z?AL)xCO*eZPvzZm zw43qkn&_Rd&px00zcm|8V2fytsSZ5F9-+4`S3D<hS;`6Pol2|Do#qL;eO73ffhF(j zYnvYLpL{O%;G7M|F0e0;tG?EHZ0%BSuBErETI4lSpUf}5*D9dvzEiQwLu4TX!|F@x zqw^}KMK611Gr{(?Rc^9JTfrpnCo6mXwXa+)z53;9Uv%4a!!pI<Nww@z`vOc_-x%L( zz2iQutfAuh+Kj&&eYY%o<=WHu$6fSXbQZVN(mUJgHFH+m$0vvB<@bEB=FXql|FL-D zE3F8rqPs2+C7-70u<>LcvnpN9U79Q@X1MyeOby$4ovhZ@51Y0Lc<#uRZWcTs`}u8j zS^2cdnZ~a-NhICl(eh^U{$^djHszuxe?*?%THif>8#(wMc_&-GpB%d>Lwwt|MQN?` zu1Or88UHTf`h;`e-fcTwX+CqG$AzPRc&Ew8R9*Ye&{O02$X5K=x7qI&S7)#ImutmP z=C*NXzfj&gkCSp!rntQ+7yE8j{3+$8b&>Mzp1vd1VLg{`9GR`UO*m%3p;e#md{@4; z^<7QqL*BfHrqw6XcJA{|6ls#3aHz-bMSyru_^gPtJXL$lr_bCz<2{>OackHM|A)Rg z-d4q%JpVlFJkrPXu!3pRJKwc?w`}4|3%+izX}K=V*X`52M;Rtxr$vOn6U#l?|IzT* z*Q06fk9=LHpPF{UN6IhSg0a@{^?Uy*OG>W^-J2TLR4~!)=}d;F+rO&(XVCiA%kKK& zd&fGdW44iR!nkuz+x&K7*Pf&IhPnCL9%irW4=1kE5xcl3H1}b{odbLg*PUY5CFy<q zIiXK>d&#e^nU1#|XYYzBa%QYG3cYf}SaFu&Cj*wAb(PPy$i4HJ_%LIhrLbg}%;$TX zldiGOZHeleW@bD6j;zS9S+7d>3m-0icw+s!ki)C*TeuX>R}4N@{HND#1vfwI(>WRw zH%t^@(^+iElKy#J_iv|Pk8ZMF(yr{D_~}7|ZSCuhEg#c*HrJ=z7x!M_cH`8XPL+4= zKdy(buQ=|$^TXABbC+i>x^tUJeSYC*72Si}ujehdwGO!-&H6@AI&-6GH|O#bVa)Ht z-Iqkh-i$w9Un^O$^rw^=!>YD_%J1V+AI??x-#+tw^6puu)VMolyia48<Z0_xKeama z__u8<MO(i%)lT=Gp{;D^ksjFR9=CUO#F3mYca_~gxE{IWyR1<=GQq-9OQNscHhbZv zKe~(eoL+gBA#>YQ=1t8nw7WjUzS)qmy{u#6-<?k<-dL}7<5gkY{AKZbufLm-I?*wS zjcM{9^?Q4Hr2R5I9v-n&d2?pjhq76#bEcj7uyi$hXbh_kU(w+m-_}Oo)#H9WgXiTw z1L=x46_4$Eb>eSvmR#ze#ctD75H2@$orK`7y{kfAp1gHj<hkB6-=k;BE?4Rt3|Jxg zDr~LomT-+V%lr7Mo~?c3eC|T=TYm;VcF{Ejr{4V*c%qW9>g^YiC%oq}AIq-HUMH~a zm~Us}oJ$v7bA_C`G*&Sz>e9f9m#8zFY?bNW!8j+ZDA~1SN0;w!KPMUawME}OtF9;9 zZJ1VMzuvm`^(w<7s|ptIJpZ^R`$e+;Gn=PfpEk~Oe;VgzpMB!h(tT}ZYZu>$xw+@s z&ofyuxpvJBtm(FGON*CAxijfZ+V#FrQ#nDoF}lj-(YtHWQy6bpYe+usyE=W<{quYa z^{1Cjo4CgLjGhDcyM4<q?U{K>Z0BW8+lfaivJZ*R3W=I}ZgJ+f)$?k49&=CrWB2cC z?}J<`Bh%HfMOPoRc}mIKPS13Y+wC8Cy*bwQdgs@(`ES1MlTx#IR4U|gzsj$`Z1OSw z;_$E6ynUIT9X@}z+W6g+d7+WJCf}BL8M9SHDmNonTyMEzrQA&U)~(h3TrQK(mz|Wm zIlE*=&)YP~_xJXkljd~~ZOnV~Ol;BFZwt=r{oDEVY*l~TAB$V(+a`T>-zTIfq;TLs znv9V2>(D*A$q!e*=Qz9cm9cbor^@7#O#)mt{x_a8PyBIR=W*`YDU){eFMIXvmdUT_ zT}s`-d$+Tn^t>UoQ@(1Cu*Zecw^`4mQ?EvGuXUUm#bDt$Z@+)l7hUD!b`rbWgSUK? zId<l#W@g?D<Bc2^0hTB847;A!MCO(+zTGc)yf!~0PUA_V;D3fok@3r!6$C78uK3kP zuF|;sL)-0Q@6ip{)F+2-(rLS+p}D8Ty7OK3?29^EJJh0o9@sW@j;r*Be`>EBRyl`X zUhJu#C-$haYg(pXxsacqf7O+bu77viPTe<I=2yc^mc#a1%NXuXs_s&*&NAx~-zL62 zT-Y(?Q>=-q$J9;TJN`cG&zk&C@b%JZ*Y3nt=4&dRNiTcko9Oz8*NG!9p;69s;-*t~ z{xMwPeAKP^#MkbbW$rS^sRbOj?)GM$^32M0dv!T>vU7{EjnS5*B%>Y7J68R=wxQ(q zl0J2|n-0HS&h2EF?{#=~?Cwja{lDdJ-Qp8_U*_|TE8UN0Z1v6zEm?oZ;?@&Qo4zkU z9XCCZQ}BHE?9){#r5W4j+iTb@^{?_?y?e&HcRuS>IHl&yGjNZox~9AL+w7IGPTRI^ zVp^WG!iTx<`MsU~g7=JK>`rdmZRoV5H15ykKykwjrm6FOpV_uIQKqY0gSn}Sfj=tN zJmkWc+cOn*bh%CR^Jaaq_k=9}-paf8=BHNb2yfmxc~|{f$p?JxvY$iNT{xDU?U_3H zw0+GJw)26rE>Gm1@x}c57w;xT&-kQ$;?HhzCigVHpA}ra?B%a57iXwvylED@tuB4w zi|MlqbB!#8KD~{u+SIU9g5B1&q}gTL9^L;8!Uj@B5uHmo?tFQDZOgYn;k1V9C4a*- z-kLI-?w@<iJayxo=SmyokI6A@tV~KSwb|&A%<|6SxlGvA{jGbJ_ohrTjhUKxDYVY; zpoH3H_QTof)4xmYaC$m-d+wdWlSl2-T8v%?e%KY;nXqfdM)^Y?556h?yl$8GX7QCj zJNTz(E4|}6u)OZ;wfKtQ!{07+)?F2ei)t$`{@(FTer?HjwPO*N&+go6_F>g3ro{y; z>CCp7H(Ae#Mepa2eD|NBvnB6w(FUWu!1-Q{rL|Vo9&e|;vJ~a7E2_<Q`tJVW_57{w zvP%!BPYQqb_2jB)x6Ha#FP-^tYmUsyFokv2kETv|7rJlf-pipi-9;|#+C7i+SF9@g zb#q$5^sZxR>{&bwhOc95-z~a$mZw0a$o1*lw7V1dszM(oF59!nU&p;5DM+TexY>0= zADh0w?NjU7Z>jdI77CUTu=*SnRnhGi7QcD79;1<5sMGH{(HnOnU;1i!YV-@v*~rX3 zKR)WjuFG%IXGuqjS?WHw6)Eh>I=u7w_j%fvbo1n%J7%i&O!7{7K0hng{J2o8&$Vx- z)gm-3S>5BS-p_Wq{B-ik%Mbg67PCL)zP#TwES_V@<=wIF&r)*bqFGrUHy<yIa&?im z%ziHvd&593+3!>Of`^qavW;FJo%O}FC-CorU81*^B+Jb(y=mXFR@eLIC&>$q_m@=* z2b_K2YZ1%-S(3Y`#az~sZA-`l<ulWd-}<|Ijc|l7a|7SO&-Ges>mR=t^<^vN)$*P{ zWAE-oQ#IIQeqG-ZS>YHdrD2yn;qmuP2EP~oUbgnuk0f1H-i=dEUCQT4u{>da$o|-z zy|bbeY_{D#wrk0@58mb3`e$bHEMC4{bk;xftN$)VE-CM1<8!>z^6mTjf><MqM_n4q zzf}|xm>6Fk<y`vnw2rvhhK-GzWY!t+CcjOrzQNDG_2be%8+G2w%z46iGO#(;bpH|S z#awsp=+8;2-Q?tEu)L@1Ys4Cp-_;e5t34u$qO&HRTqT@w%lA%F+2$VY0&$rpt4Xz* z=e9^+6gY3)f4uiwOP^T0UL0TDH-E=jQ+_mk;<vJx<8!<~>-=ZU^MSFY+gohxWp}Tc zcJkS@6QwfqD%f8Jc`y1=q{;H1A)U?bpHe~brAbq&#R|&qsqgQ)S@V;nf48*fzfhZd zh97x?bhP;-uWUH@U~QSfk9?=3%eNd9X9yV`x88ka^@0rkebF5^PBx^ZS#llUu)L!2 z-1e^bQ{42{PD=_&SzUYQn`xB4Shwxvdv8A}9Y3|dc2kx7$8|IRXs4P4Yb9CyIeN@O zXKP$MTZYjIfrE4UB>OzSExx0=nCbB&u^wf^$eC)hnX__LJ>N0D@9MjM{94{6^_wXU z94a1bmKVI^T-Wd;>2TH04Y_9bUu~Ped!C=h6_Z}Ip#BwpXB;I?94ovrYqd+5rhey} z=dKEGr>k!A&%4V1?TOzZ?%5M1r*1qn!Ki{|V$_GIOrJA}y-{`nOxCkzUAtth9_n^) z&)0*GFI@SwVB<{vj-0n{CzqvZF);8<e((4(MC{vY>%4>`J*}t1u1qVNbRxCyp1~(M z&tqkM9;+s0&MIoVBl^9bYu?P|3x4`U)c9xC@2gOr$~||HyG+f#`BA%WeVZ%w<dmbV z(Xw^7G7App^LVUE4xX@=TfS<`v~Rig?;hWB{HMUx6O<FPEOyyap2?LP{dRlasoy&> zJaJESTc*tuuIOhcpWAIMv*yld<QA$qvh7Y$@s+MKHy5wDeS_KPNwOq^d=}Hut2;W( zPTY9Xe0dqKrqItMiyOQP9u{8j+qvwJ&TS)y-Asiq`1d-!@l4vp@uBj$z5a%;iykH> z@F-0_Yj4fKDf8#hJn#2M8dk~i7wmlBm9e`^#b8p`y5gPf{#A|d<{4dBonFWHuDx%@ z`L${%H|C~$*ElsKJW2TeeZ|v=z6&Zr9>?x{`IBwB)H9FeQ@$tTsh(7SnJYevV)FV| zzvE$Nsgla<*`LXN^NE%!Z^N1Bb(}AcFEuX~d}esgy0I@y-pFa6?{1C*e?C+PyDU;j zOo-e)uOWS}UD8f(pWlv^b)hopd6lNo&pvyc&@nK$zbvci+#|8pBb(MUOmeq);VWdd z@wd0z!VYHj^&-XWnx)GP&Cjb8TJ!L+@dg*YJCovXc<`9WV|%ZHogV)g${rRxsC_v3 z{8A%_q<MM{5m(!cFML~mMrLX2Z{I^d3vaJB>N7Z8AS$QlBo^VRywAZj=$b_R^_@xq zOPJ>e2bu1<)UUF!)X!0!t*@|X^4*<+I-Z}s#nt<aYF}|zcP`PN*W0((&AQlc``t+) zpDezgFnOs~^e<$>gd-_J_vUIA3!gG97dk7Qn<HTS-fLgd0&@j}<i@@!jFlR7Ek+aD z4;){~QohJS&uc~PY>s1|mVZ`$=AJT>@6NQ7vWNN#eL8d|iX{ZAH@~tDT5aRnD4~!b zcyG4s`KeMzI3{lF5&ZMwnY@OuTx6wm7Te7|yXMZ6c)a|PR`|>mj+OS)I8Uckm07O1 z%guYLyl|4cSItq4jzb(b^a^&WJYVKt=sPJ<YTEY19gle`CEg!(HmPvBY|?HK5WY1< z_e+M?>b!^>Pov*6zIHvh*mKcNcZqz1a=DqdS)LcPPYOO+X10B8diReT%T6*);;^*Y zC^zM$%1mL+`&S<Kd_F7lWJ{zmOX;1~+K&g%GJQ;*ut@WuOiD8QUPrkFDfM>`-e@pS zt^Zrfef~4+gyga+o~tW27EP*M%W`V=frCFkSsvfGO!xgX$*CWk&$0Pgr!BkngUuqy z=Y#R<_hBxE$0WR(EIDqSnrpXnwU4Dw<X5FsAq{Oon+aOMD<fKkJdKVOH@4bz?YgF| z<e8tVt@iQQy#;;qTa)c3uJC9$TCp#U?@>sy^48G9Q+AZP?wPr``E=9m=AG?l{P$m* zU69^q*850n$3L;ha$C>deNi>_{X40j$%z*>{JuXm!%=KKmreNQgErM>t2MOh<udPt znNB}1w(+deR3V<GtWD1{?im}obUCIapFH`PZNsI*N49--G?7|kt~s|&TqgJR&#Sw) z?%bnh((1&&Pk5)uJ2A86;z7oz-tH0XpYZj#<g$~QM#mQHOno`|;PVAc8xy<Unc1ha za~Xwv{iC^d#j9h6tXr7RKXqh(roQp0c55%^+BtVtyB#uT&Sa^#sy<!IVXeYArDvt& z3HCWsXQU3hOq2|KGRcU0ql}Q%%J1J-Mu#<hjSBVG5kAHIx!7SAXWF&Xr=}GyzCFQ! zIpNpm_rAa5mKc6pvrr|0c~af772cJyyN%n9B&19Z(JPgRQq3;UpOb#0&g7lD=H<%m z!Va${8=Y8w+2Xu&i0i$jJKUeIdsNm|7?b;E`pTzg`BrTE!Cq|m`sL&Z^Qyk>*&7$^ z+`hj|p=Z*9?bjx!s#IlOO>T1dZggy|oO7E^ZC2%1X%A2Dp!VPAEQ9B@g!jw3M^D(C zHLIjhzr1t19{;-Rpv!?<lYgI1*RWps;6jjl?%&lciaiszyzNQ#;O=+I<nLOOqm)0T zRXy*TWZ;kMYQOHzog{JHdy>c9?ZVgPr-n|C`|#~-&!%H*Do)ikNG-7o-W)HUapqs_ ztK~Be$TmE)UA|EL`jybu`G<uy%GypEUS^qm{&8Hs-pmK5FH2VM?#}pmf5r)xE5a}T ziEYvro4w+=;_;xeUH?GaOx&mCiY|?`JGL}g+I#VX$JbdthbMV+JnwC**>t}$m1W|W zvlY{pv(47Y6xcuYw!Cre-F<&b&nC$8ImxPQxwiCHG=KY3_qB!*zqC@e@7`YB`QTIJ zlGMOw{06K3GYHCkooD}0c6VvUvx?>ZQ-kcD-}#&UeD!_KyRJoP%}3ss&ECPXouN!^ z&Dn>icQ2H7UBhkW7F3sZy79Wq)g^&n3NCGV`K{MUle^^c#Q9Y#)q0oM9`sl82(nq7 zD`Q^sY){m+OW%&n*ALpY!}eft|9aC~ad++=O!#!T=-m@N#u~=g*Z118lm`FEKYY^c zL8K$YYO#|#{61l;Z)Kc`3(rhBC=q1AEVuQ^O7ZTH{Ox-^W!;=MJ>B`mw8*yj$hXD0 zZ<o(`lF(L@{xY(d@uhs?#rsb`)m)94!1*%Neq-)8wryRZJe*o<%C>JU*jO<?vg6M# zhr~PD#a%o9?qA`rI8Wl~7K`6YcgQ=s8^$bO=*luN`hZWWl<T>}=Pp^N%~sj`z$G!` zZ-h+x<-V`a_kWm_^-+`4?2*XhSr;~clw0*D#zobq_zizmxNzq+(~SabMMviOtJ}{t z5}D$#?ULpsOUdpPPv-l~I+&Xl@isYKh*2*zx~K4UV9bw+DjU7C%MAVHS${R3kE%Je z@w#uu<OEO7q&*DByC!Zq(baM5MiZZ%lYwi&g;)DC%H<O09{PLdLG{GQWgn;A4ZCv3 zStEJU+d0KA{b%qy?!3I#=Adx&&qTk%o@wgWX53QY39nMSJh6f8VO*)&-qL4(r@lAe zS2*ow<r|}{WlQT<L`~hXbzhR#^UR;qZ9jX@m?_u(w|7y@@+lFL%GMD(Ztyz)XW+Qj zowZ)aS6V;#;>I}f;zt%2BeJX-b>>Xq_d2odN56%f>)bO5eC)GYp78yAv@)j5eRoWS z|KWE{;Yy*pO-#?%uMPgs&|>fU+k7tDyfw}f=X~D&GA^3GXOG{3iPgCr$vupHd+n`u zn{8gZ@a)ku9naTYZm9kky5ij3Kjup(C0b=In&2^EU0uFUn9V(ot#jT^I?M1ac5m&` zWY<S~(>UZ)4`wpWUHUJt_GpTEe@$`<|1_bX>djJ1)XuKn-?pt`l1}7Q{}1M`L*Chm zzRY=Arjguy^7*VMdUm=M$GBU%UJ4t@@asJOymohe=d4L*#2#JPGXGvqz17yDJn?w; zMNgC;lpZUNjQ_A)yzKjd+wYrWKh-!-t0*kaV#%q@Jy2J=$WHY~m??8`YR|Xl>it<4 zWArL{uOHeLWV2$Hla<h2t;IFkS3hxiU6}mi`j-A~J2us12Z`jlM|i^a&hP)Dz2ek_ z8}|+h3!nSO+_ly-=jSK?mRTnyroFrwy-B$F>$<wn5B*k4Dy~cAemUp*_4?bt#BV8W zZ+d6>r1+Yd#J5$OUeA-+epf2XY(j3%e1mr?-&x95lujy3^PMlx-&Ut2xT5n?#O=mC zf1dPvCD&MfG;yE1s@Cg^=+{L*`VUMGdXs%SEbq27+qR(JhZnNxD{!y}9hjB3w9`&0 zzD;Uh*>0YHCZ9jF$NXoAmC`()s{S+l#@a{xY@2_^XLT4n*l^VM@6v~+6PB)9C^M<= z#`F0;p~V~QG<W<6Uw0&Q?o5dimU^#~vmd_Ov2Jx<%PBvjkk9euMn9^4g%q88vxn&k zpY7^6S-s<lzwM_g{ClZf$0~QV@#ok73|#MzO>3F9QHA-&mtUc~{kbbPsohE{*ne01 z{_FUvxonma2F6YiDQb5f)Mm}u<$5M1XW|7pyTrh^N0T3IT=e={mU-r9ue;~8R(RjH z4f=L1HRf~clknS_OS9IT-4;^d$X@hm@s;YUnOkmGEDYV%r9F2~<!rmOUtP8<&iChj zIUAQGC$UtAle>R+-%Yu#D|Wf97w+G3!<z4hg8Vw|SL@$MTTV>b)@48A+fR?<D^}b; z{NawZ>4Q6e65bul{GGyna<lFk{S68Y%O!K3{C>1;&H7StMwiyVg_rit{Lj!*?;A10 zJ8u%p`|aiOQ73nO_}8zXH}R)--$KKXRi(^F{@pFwUB8FV&ppsz%y-4V4;v2JtWIeB zx;`eKx1!E9q?6lY@$<xU{_CuRFCV&<6Lb4NgLq(1U1?zEtJdUGw+~H-k^Okfjq%NX zQ=ffo8>TR8&G=AxgWc}9>FWy>S$9$%91~u5c-xk6pAEfJRNCCWD9_3%vkCtv5G&<B zRY~RBOAkBQNU@)jGh{!;J$&-=#d#?=xfF|A;qq&3Y_dd}1g+mm9!<JGLr%v|{N|}8 zCyfNEQY%;Se<(W@{K<Q_{hOZf-M%Ugle6s#?}j&rHThgr*=%IB;g!X~UqQjO2j|<E zA9$gnI`L}5bM`Lr2R`!k@3yad_5FJg-`iK=%Vk%EZSagRiapk4)pTdpx-u{KbLI6c zDO^z^58XrU&ux74!-)I+&W>$XX2w6RUlJF)&akrYc|x99^PJza-2Yu@**@)<PqL`j z;&*|cb?+bIE>X{Xyq_hEXFvCs8&9m?T`*t#yzAG?CzIm8o>)@OQu^y!&8^a{hc<X9 z1yoOc|Kq~4-;+<(927q^!>e*aR@i~$ch7l$hUkAd^(^eu+mtR(cAE{NUwrn7ZJ7RS zvUgM1zh85TBR~Hr_Smjo+Yq$(n)Af4C5NYc;M^xs(Vg@&FzRIAvA|zpy5|qei!pd? z3b4N~zfAk~`YpD`XETc~Xj+FbMKH(wnPt4@kw$6fWLw7Hi$AUo<+91CvHGZ>D8$NR zwKA{x>oV^Lv1zQDg*g{D{wa>Tvrp)XL~7|#N5vEOkNIz0b*Z90Zo`a9sZFsmDG#31 z@@0eu$Z@K-lpa;BJ7@Uz<ezM-dhS;nPOMgX%loE4`|k7ZBVh~od=r?-&$C12pJ}t| z@h-(O@3hE6pFj6JTj|5EYA17*@%YVd{<!;5&JXW;Fr8%#l{LKnX}$OKBlpy|clKVJ zB7U{uN%CGt{jRU!x6Ut1*PeUxR@ORp#{Uc)&$c+Io!wTZ>S0o!dhhs@Y|V1MhsCjP zqW*0zTG}vEqLi=5@NMAnRoU6bK8unzF)#+0JqcDl^7-(x7=e4WOD;}+!KZmYrAy`K zrJUb-zE#%Qzt(hauDd*MspE=siypIu$$V9GH{o1-?$RYm<Lzbq$^{4iWVT(pU8kbL zcwO|K?Z4ha3FBkQr7CQp2kib_v-$M$c*loR5$O^vT^a6rx@(sF+;g_~hTMOKslnL+ zk~<mZ&3qZ#vn@*XfL)9=<8zkB_PuHTtWzQdR)(rCkEt_tc8j>2`=s>95lxvn<=<8= zx*!!M7Z~>Z`utN{)~->W+q97RRRL?}trs89@GQJ)CS;d(aM2^nmnNJn=Xo3|CqCA` zyw+!)(6uM$Z@&F=;4Z`KSlwf@)uKGsP4IBP$0Cz_C1jiSiWO(KEuO?5nqy$!>mXAy zPx9)5*zIO-xxXB4?zueqaMi?~ovn@M9XQtqg?zMWF~7xoQTg4e;`zsBD12Pvx@UG+ z%r}|-Gnd2-pYc9?>stTx<{h~mB1bReNjZxhl9s&PJVE>F^~jG?Hzk&QkhiZ^Y;#|+ z+V`<;mC@SzCDW3RIq_Z9dsuut{P6dj+hJzE-kK_W*te|8X|e3zdav)=`Eq9>gJQMi zKQKlYRvfyNQ~4`tY97Bt{(6zNnpgXTuSC4PrL4a5<&Ueu58pc38`*2jtH?XHZ&q%! z<MbI@z6Za!(-mo2%c;z|<){K*)zugwyRgX~ds>_Jr0~ZbTGH(`E$QX;^mwmd2^GzU zRJlBtviI9O-uNe5@74Q*ddn2K9aUx|307!-Sz2b+Kc8>1k>+QCen%fOq5kO>`F>yD z$>q2Fd2zy1Psyjruu1DkK#l2VPNnQ{o3_L`7td(R@!YC+$@n($+?!<kD7VW6H*XkJ zU%#-}`-9Kz7W2lx=7m4IPVc@@vQlDpX?KQ<%;%6L>}|_tJa1Iu&#PF;H@9$3s)y{s z^?o}qm0Wc(ls)IK{mRxg%vbDE+HGMCTZ5`=osG|q9SS`3_1Cl3%j@oLTWw(5VEXb? zMc}^Q>qN?fFD?3aAgSDalCp$~oaI*&>&EB)i7S^SbH&U%a)mc@#T@NFO9~j?el>kj z|DpGep~cM8&2yM1_a9n3*;R1e%hZJDKO%}<8y?i1E}L<$sOn?b;kz0VMf{g`?JTKY zw{hx;=kv5}ZpQF`UH<GpLrS5~k~1^D+J*^lRV_dMy<c>pd}pag-^)ISFR#77aZf5( z<$fh3?a<?Fi=Ky7lQe`=pL{HRXc<)T=5X^5sop=q%`*e^YFX1g88xMkwY+`j_&)UB z(YeR2KHNR;D(^(KT-Qev#J_t!)2n(eVVe9;=ta$e%f~Jr?-320f86v8uhE<5Pwu$; z6#B<%eQXQ0{IbOJ#(#!GvB|oJyrurVWn<d;aNpMQe?qqvmPiCi8XoNV7?-U#eT5?9 z16BXRTMNu4xzxRk`5js;Ht}WlV-1(AeyOMR9bJKsepgne^fX>(NdLUvq}uZ1Wy`NC zT$ilu*EO7fYF4tXR=x0TA2W$5!hf<D5`SD(yY^5xzw?9zS5Z}e)I%S0Wy_q#7gm== zcILDueib=#@#V(s564=59xh*KGx2TM;wukN?J*ae;Qmq0{o0=8B@b$5sFazkSzuIo zATQ6os^-Y2c?V{ly(i`Aqt8=Q(~|e=n$4^i?D`y2<Q7}3H?!AIetl4B>bj*i*6Ek# z8$`T)a^;QubMHc)hR>f<Lc@0TIeuz9Ur@15_s--we~$P34&v@iw%1%KcxBUx)JOrD z2KTK#)58n?Gps7=jrme_^p1;3j-%|VgV*&V#3oDkFEh|w7S{Hk;oGqdi!G!3zr_@K znMOa0vEi~k@G|C))RT?tPA0||S<PSTRl4F(dPa=Qm)BocJyW^*JNL@P`Q{SrA6HF^ zi#f(;7i#L}8?#Tv<1q7!!v3mtw;F5S`T5&iVfZ$?(rzo`1m=^^772g8w8VVB-to`_ z@B8Yl7$*9;pYdS7aCwFpV}STK+pL*80>Armmn&^^{#5a}i(!IW#C%=JDTNb^o8Jd@ z%-r|<!`Bs$cF$wKpRaa*x%1c6^|!XGp4ohClJE<&3#@8ecZcan^1btQR@(LV57(aW zXZ7j==C^6>pTB+X!hKubu%@;Op8IF)m#@97z&0yvXI#&0j}<jHZd_Gh5LOUAu)MXm z{Zz$D(KQ~do8-Uzd3FBgmT!U2Vz%U19*`6{u=we^0$<Zbw=X=~a*w<A@aYK#$}juZ zx_?tv<Cy4HmD;d?XK$bJ>zBdDuFF@PI{a~M#Fy;p(t8dt{b$&s`SHc<>(w6iV$T|k zYEDo3-LiJR&t+!;jspt6zMd^L$WRJnv`l@zUNm)&soFu6qGNyl9&*T<cHr^xDTmdS zUupKNs+3<^cKEQaVpw92TtiPSZ*)A9$CLBItoLu1i}E%;mu6Jo@b&wOL#9>B|7fpu zi!n$!zHw=OyVR}!466^PUuNrWe0qr8-it-Y@8a#PRn-;TM>u=89amnL75c%y<AeW= zDHHEoEP3K>vo$wu!eprw=H}a?<~P#+y{($`!~KY1|GX1_+3nZHb~{{CD*f#?<y>>~ zW`@66d20PCVxKjiatod_n^RY+lJenv?x*j!I85JtvkJX1!R4E3pr4zYZ!RxC-`k>< zpP#2aJ*K%#d%o4GLjk)Tepfx0Sn8bgaZN|0bIBdUxIZ-}bLH+vB^gCJ-l%I@dH&&P zcE<diZpQx%Hb=t^<TP{_rhev5bgv5Cyty>tQ}2I<!~L)0_S_S@w7Fw#4ByQa?rmFE z6z@BeXM5nK=ZP|#eX>fNf+>}Ue)W9*89L>X*{+TApQ_8+&#jWKi1we*v?1l!tjYfb zcYEAeGRefDRC%epLBx}_Uz{b3m>7~@@jniGe5q;T&h0#3*3GD><M^z)_SS^zB44+X zo1xcLcYPI&IhZuXOlSYAM=rs4_?F*WGU?)smQo4!i9J%6e{=Vqxs=c!{AWeB_2fU% zd{z_Z*=BOAa50>-CArbB>DDp-ImdUH`;>@kTzs#m6#00L*QQB)7RNL%yvS#M7kylh zjVZa&*U-rPaxR-^5L;F9ieHx>UCt58crO&*6>*Tu@ZkBCYc;m){$`;QZ(m;dAmr`R zySKMbEqcWtz;3Z{Q@{z66U*-J-IVfr^4ZvK-^({x15`pD{5iDw-r0#eRVLpz$#n@j zG25^3$L~ufuFE%Hj`ccLvvB_IE9tLezAbz>*DORWjPJ;Q2F7QzD{H^GrQU6*pQ{r7 zZFAH~J@;9A+1H9|9shsj&!69>%Y}4$Ztv=Aei^87+4W5G^Uq#S_#dvRc%Ja^alrW( zzJZ_ToVa~5sJc1k&a(DY3uBdRF@?F|lIINHhbH+xPucu)oqczC)YIqTW>1%^EPNpF z=W2Au1UuFHPa7MX&pJDl6=y!W8|CKu^Mmo6$EGUcQMFqZhWd01Fl=}wwR3VMm*CTw zIqRjR_g`Ds_v-e!j3cWBCNx#9IhwpXdZSfZSd!z3^I22kTxK2<ojs|x@Ktt?cw=g6 z*%^fbca^_d+Ox0iYN?%Flq(^9ygu0B+#>1Q)t%{)OSE^hx|JtiTcdk*@$SmXpB2`v z1!V!}dEP2%{(WY1?2X5lwUO#gIx{Z(Y+rAi*>yZ3rDfCO1<#uU%og+&^RQ0!GdeEw zyXv~#^so(rI%hX_JP4ceedDSX-7Fi<x%*|ZYnGYEwpi+LJ})(qPME~0C&;Lr_5En- z-WvygZt@R&`8MLZx3R~04(ZwbRm@Xf_WnNl>DYt*mtj)>{zU&>Xr|(GJ6u_1{@TiW zH_!BJ$~*D;oMDvbN}Xwo&e%Qe+{9LWRmG%lTJ`l?axbs8uY8cUw%18}MVz-|L-!=c z6OS+LXjZw@DA8l2Z=v4!J|M=%@b<>OC+x?$rIY77`%lp+pYU4AyW-EZpErs)SN&(W zReWCW?imLQ(~}XIA3Qe1`4&YL&J&p+{xWL+jSq1LPJX+;S*YUlpZmSu+_F7EFAti@ zItK1~c%I>}<|NPkt-Cz`Gu)MSv+Z1`x#g_h>5}S8PcJ-H++O@DTRV976$K@2Q=YXK zz8qZDamiNltHqiF($Y`=DHQ*_7E|?h$#l8e)eVmoCSJck>(fmAQrmkW7k8VlV3&`& zuyxk&6QMJ5xepwA@XypW;;Y9W=aipznOuCF3LkxTUdxsAR#~v}MQ!$(wB5T}<aJDX zU$9l!UA4M-=gzA37`~hT8Ms`wl%>aQtkK?B7FV#`Rx|OV&g9KGJq=43Cx2hvBUaVA z-mG9v`;WOh0{uTLCO+9T;rYtohPo*S<=RT$Z%p&PFfk>i=D>qmt=8vV3k(;pIm~Co zVY|9%zTein-=+pd^wb=g|2*=$&>Dxt0;`fGkvGlzavmp5K2l)+bn)lOFIZDzDz05B z2ru&NyA!T1`gHX<p<kv3&nLh2%Cph%Y|S~xEkD!WK8oS`e}<M#1`n0Cs%)3(`4=j2 z^@&E!4sNBC3I6uIX4fA3xp50{izgKBs54z_x17g4b?Y9j83%Jxd-W15SLWMqQ8k(= zXZ9jQc)RG#V%--k(HjD+go=Y+ZSOU^63Vq{L-6+gYb$iuEIo6q)GfGS`K6Tx8)p`- z%nsOga-DTb@;uGluYaQ~PPtb-wcq6~n)m2X*bZ^EhvHd}CC;Y%bziPXextR{*{#KD z*`_yMcSU%whBvtHjfqYBWfX8^li&@W`G<Bc&r}W)5vu0<DrjUOy*+scJG<P>rHZoE zS+|-e_*ldjM@@Vs>?|}x(xrzp$<5>2I>q>tPS@W3VD5cxv3djhgwm%w&wEYWlH2`z zW~x@>$yW|9zb?4<YU9%bDUNqrU0FUJE1N%MePQUciksVQuk_gO@;~k5r1tO56-RC6 zMZ(9PJ^!-mQ}(VE@%Ll3`5x#Qe_5k_QFy{dyNCBP*IeVB^G$ARCga`PQLnZea4&7h zv3Yu1a?R<RrPeWfHXdU9l6!3P+EVW+JqONQO26{KZi?+`kNtaN<ehyRt7P4Lv`@|M znrD38?&_vnr(6Z5WqL8+=z4PRTY9|4j=(DkA@Ugk{<D8SesNc;(&5#^kFj%S+27P{ zId|h^+Op+6Wt$})8*VNQDDHZEO6AkT0JVRIyQ(tJoH=#;^ugEjwp?N<7yNN9<gnkq zvda^ePkbA!-@m?5NyF*+{;G#++a}#DFO}Q5YT?XpZ*2ZE82j*jdVKWy_F(Sz(;ln0 z2vso6{?EYKwn13X^O?mPf2N(m`Ni@)4UZ>Pb9LSoev)TidX#nXrG$@u>pte~yAdvV z=tI3#;?<NBQ`-Z7)n+&5x^PTXeqnL&%gTjUl5EbM-EMJUWp&S&we~U7j)hN&UM=Yu zbE3G__Q2Ow;<FxBNS{AssKUVi;n%Yrx8H`Jy)&`)=rOiR(evj^K3m?oQ*tywu6ub! zS2kN{q_gv!hcjlqzyFBksF|3*?)9lMg)e9Q++kfL@|bP<*;MH%^J-tc@piu)_~X0B ztkb89rM6hyo-@tv<{IyQ!OWl|+r=mEaooIBB<1nzIF{|r1)h;bmU351w`!{P=#?|x z+ZezXeDQ0)NM;(d*sRMjTYBume}?GS&o;gAvd(C-_XhI~k%tQ=ZSY-Fko^7odTzZp zHznn+rg^+?VpeADUw5f~X=u|mySDr;v1?jk5eW+A>=x&<p6k~s9WB;6yGP?Z!<Xk5 z!uy@S6*+l|y{qP9_`13{>Ok*49V5e^?jP&FuE>zK&ANZ=;@U%g+Zk3dPl=1{d>Lt6 zaXN5X{M|#BerrAnpZ(Lz>!-`=^~$pLQd|BdO}L+H*3u)p*m8x&7mXVC73abWBFyGI zovl(Q@?z^v*YoGqK0SY5!g761qC|t<z4+kmEdNa9UM3&x{1Ea)_#7`ot#od+#ATn! z_d3$@cQw!9k9zuEKPe?ue6{wkl_wwVd38E)-xRAe{~7cQcYOcGv`y%=e{0yowr9!~ zew<4tTr#iU_GS+M_B$uuxpA;Czl~)2P`Qbtd@AoTzl!h6qxB{i2-<H>QCF`vP6)X+ z?V4wSLZj5(RC~j7A8cPXb$V5*Og&uria#a%;GfF1%javX%!xBv{Oqut|GMn3&%T#* zmF!cudg?{@p8fMVR5z5nWtvhb2hW1X1>a1q-`E9<#cOW+>33R-XXDAgnG>_a%DUcb zze|7Rpi?*X)yBgQzp~wXbiOP^Zl}E0@hfbNshrbO0*-kwYrhUnoTC$`a9NK-TiV?I zn8DVPtZCDY6xmchb^Z)soO9`JuZ2y2y1)#^Pk;6>e_1no=i22BD>i+KNN8tfw|$}T zTEEoVFk^pWi%v^I|HEJN*CxE*(z)k(51Xx^|Cd#_Y7EY`hF48Kc)osVhCKIaB~Rni z-y)_KNx!!?Um(I5R4)*7n^R$%d*>bA6?-PWD-8c~U!dZKg}27UZoa69gNc3ZYCAKh zZaHG!U6d!kPvl9paIEaIh3oGfm8t1yFDR(|x?s!2JGWogS#=1n^jT&mGu5W})`DGo zn;!DMpE7Cc&${#ze^^rvE_hXZ_>*Lc>dxRvc6&nnA4;z-oGEj}s3M`_d=RTMU$Wgd zS)+)aU6VEXE$cP@-1s7@+f?Co$!Xh0lSw=N-k3c9$g|CQU#v6k+&*f3TJ!m{*wy_> z*&4f}y`S32e9w3My2?|abnWB6;jVkLtz)e&Kb7$a5dN~Vy>qK?oXf0YwXZ=;S`XQ3 zSu0y_Z9RK@s?cWR=BDKeNxO4}gRjmsvs3P6JA2A<v4h^d7aKJ`2i-nf_H*XleQ~vn z>-apS{xbw*TiTaxlr#LRz2WL4OZl8n-uBZkOuK#kM!4AT&=XsGPs*?<O#XTG=%kB_ zS7dJ6mEvH<u7A$+NtnjgiaB>G8Jqh&kIQ}4z4EK&cTnOs!(-C6wOPMjUf*;~b*EjL zyWHU`p+d!<enzS;b*MFP)4cG?{H6HK+;v<o)%wm+pMKN{TrilE@VscNuU-$Epqbm@ zE067_@*Q2&)?b~OUlAWT@ky8AMR)7o$SbD4MlrgRW2}F99G7ocHR0v6`-QudOp`yG z)knQ}aN$d@mzcq;uC$mOi39e*9_eC|JJVv9U$|DYQfE`j(XH<4?33fB-ILj}+m&Np zwi=_t_pc&1OK#*E3m<rR;lbp~pI7<lRh~L@keTDuvFiD+!&$_OoO}eI=zmOJS~~rH z(v+Mj9E%++*ZlbM<IbK5cUn7YFVElqBQ!>@`1o6mgWm7dZ%tWy@mL58yUMknTas?} zu&Li$v#xcOkW}pc^x~UsZW=p8ly+$K3VS6p)HJ%48-87NiFe5~1v|^NPv%wE#3(6n z9!Ro!yw|q$u$9P6rB6>-<nQ+0`F$yeM>6M3asD)?gHsHjU)!qlX2H&fsS_Dq6&}kv zb?(ffyNW^z60GgazplQP&RFYdEM$3-d8?!Dv;~)+ak#E#cYWIVaL4;7gR}X$yUQNb zcRZQ%Pc-gu=+x9%x^}lL7v~w=uV_3UwQ21m?fG+V9?$IGWqHnS$BKlRw!58c4ZV}j z)k-8>_fK9BcWU;j86o8oXOknM?@71hI!WC0ILLkQ*W}o}O%l3GcZPpDwNF%HUiilq zISZzHZQZ)9Q)fZ+OyTK9J?YnWc>k8X`()a!d)%2Rmam&*{~qr$@pibMJOBIK33Yp( z?R-(XRz7m~q({8cZv~q~#A}MICcgE0s+M58Zz1=Q?Rt_MFBui~SG`>0dT7e5h!3l; z@Bgw=f9qN{!EceeDVr4%rud$ozj9sCsqDLX>6<rwKDy}7Sq+7BS%!aG)B@M!w?2En zg=d0?gv^7IWlNXO_`T=RO&PU&^LvZ0o0pr3+b4Ut_&k{NT%|weazgd)-KRtOoWxYS zCQs};wzSz+idVkITXj#T@PnuG+1GD%*p(O*7X2V*?q2_Rhb`N7iJn_rXmeKSW+ms& zq9aYN(Z8*ZoVvbb&qSW4)m=w77+q6NEo9MG@)q97BEPS0-_?aB&;6%4rVGqxf69F> ztC`W{epc7DNXg>1n-iO(t$h3oB|cqkd2?K0o!Mm{o)x9h^Ub`wcl4zBG0iJ`d~3^E z{dH-4xdj#vHa-5j_V!t!R~pG@k|O=QbKh8p&wmy0+UO3)^O+B}hTVE8Dc$ki<|^lg zE7ybex-%>}w_KvzlKsN0r#DSc`>=L8$fQj2TpxMy&ElD1wruu#d_MD%d5>Rt-j}^# z|A*S6Uw8cGoApxj_%CNW_kH5`re0+4y>T<^x{dI+@;oE0;-z;Y?zB&HHY<{tJm(i< z+(G`f_e(l%JMvFBQMmW#`AbXNANDOSE#-as^ho|wvj@hl2fw`!deX~paWQvZ<^D@= zC3DT5SN9Z03uQ!!o|fNqn^Db;^ZCTM1vUJu?uc)j_MmnS&$5FP?tBrwc<|xw)1Hqn zPh)W}RgKOoVvnoM)(r8;lnc&HTysn9wk3~Ng-Rb^b**OHrC)5JVd1m<W=Nd;b-i{) z=Bz1xw^OXEHRZ1@y7(q8`f2v0m7nG?*;;q?B}dGWnJ0HW_4h|smM1;es&3uMwCXx( zqj-aHtCLX0S6j>Vi^BaAnj)v4>UE3Uan3et&#j^}%DwAsZro_HbC71=xg;uG&XnKi zo@Hvha>co$=UILSuU)i#`tu;q{|s5Xcl<F=&bR10A{p6#ukiTFW0}kSw|!PQ)46Bk z1HOu77sD-1eA%g&e@T66V6+b7xdQEFo3~B6+mR{e_I%QE(FM2i@6KYmtLF6NTin;I zV#Nsy!+P07!zI=4o9Z&BinUe7mmc}qzp3?r$(P=Q&L`6xZrD6Yc<_a33+s|*Zi5@u zY!+wDqPZj6Z;5V~=+K#eI4~)uO?6{Yv1X`3VtAjHYu6)-u2#9=NyZ1Wru_LN-rjKh z^0KTaWxYb%UWzv4JgB<-G|9+E=(N^DzW2L09u&UzW>H;QHrX!4g@4AkZ=&mJCOG|h zyg!C3+gV28yoOdPd%jKaor|YfnX{S2le#yUpQ@f8kg2+<;?yI3mGn>FSBpJP@tSBq zYvp~}+E<r4w!JGlbN1Yw=S+P8hAM0vPdF_n-l$p9BlB$;ce~iZ{KU|VkJD@n&j(~j z{+T&(?LF0rjOYA{kDKxooK>D)a)(`azTcId-aaSWw6jm#dUw{JWp)2Uxu0up2<024 zIzMAM@bbLv>kWc8CO<v*X1VmAtrD!YzTuOsy_2>_M_$-|x{pKs*8I(q=VNYm3M^&| zS7<n8`A4JeQfYtsoR16)HU<8BOWtxF)t@H$-H7eUuPeoFrx=q|m{}UC(yz@|G)j{? zT&TNY=X8!eE7&I$-do)DF5fiq({c5TLv!Y@EiqE^m*QmjtfbDq-R`RC>|;hN7FRs6 zlzF~m<wkRhshf9AK0E8=%~O^_iqd9PrLSkDY`fL8ex~ZK)ANkt=bzfWUGcQ>ku~B? zM?TLljQn(rr|a=f2ARTH>jK<ldsH^9xwc5tuWZBbE?fIwUsG<~^WJ?jrsbTc1+(ZS zPQ}oaJ5SmU-tS%h(&MzGq$@+ZW#IgCtB$n`^KJ>}SKZkZ68ihndS&JL&yU7rTkniy zS}^g4{`NWiMcE5dxIEmg`N~;k>$YZT*KZb@*sp!o!GqmWwsO&-osJV1hBYQ>HyACS ze{A!8zh<VVoX*Mu$+txQ`d3{|oAvCOuw?GqNjF|Ctlv9t=IS#Wt#WSe>^S%M<cf@G z=d_|DrvB-?vWLH~ea;o}I+=?LT_@eU_;7Za^X7Nw7ud~Qck0m%D+4{zKC3=fpJ|7p zGm}!nn|s7;rpcaI<>Ah)BGs789Vs5eqxR0bPIN_$Zpj3u)8EtzCmGLO{3m<Sr>4^^ zkL@CIgy(t69`$(<m2PzAd8Lj~k=bSLIWbn;H!KQEzDFKB%s1tx$?1aEI-54IZtO{) z^(NHkqV~y8M~cr`F28*+SI8#swsP71^JhQT*=m|6Sf0+cbIX+DRGG>p?_hkp>$Fwe zws^H0OR^_L82ruNTBz)D@xUDBD=9o_3xDhM1l=lps;|4lth_qdp=h4(mB77QE<QiY z&}n=jtYnw{bj2wqeYGN!yS`}Zu9Xzk3t83IBGq;0F!za^)U>dNjWNlhnT<!HZ^s&M z-n@BL^3$9-b)tEnuBFc1^NAybRnqdw=UC=u-V;-5CarVG|Gw()-rfaTrimRMwm;9W zSmr(Pz>IlGyC*m;XE;%-srRQtsqb9$%oH~ni3uB-ZU1U7>=NDi*<9OnmnDO_1oLvy zN-@TrO1=xeK9&jbQhsK6+ne>N!rnWaPqrstXSuxI<ZjvrOGoLo`yzJjW3wubRmz+u z#A@d>-}v|Ou8ZC!H=iEse)_xQXzH6Amo2LU92-@qmLJ=1ce%kgXVY1p73zu;9yA>8 zU4Co*+2v7p{I(n4YA7>sW#-;fqH;Ck&DF(|&rI2RDq-$%hV%`qLf$YxZP>bJX~=1= zT;<bo3+5HruGD=i6e8p**%-WNe%-UJIfgvGd~TthDsq0+wOWcS>v`@)=P2;ZTOfR+ z>S|GAtjp{teJqi2A-|uz<@T&(m=+;&`;cs7dPc-XmD&qex3f;|ik>mgAk}8ioTlUZ zMVVtWKg`hG@~u}*?&g87c3&<r>27Be*)@Shfi<A+gRJGsC3e-KUBWvpPRiF@`g!79 z=yT6b_GyP!{l2m}Rz+K+@WiV~W;WLo7Iw>4PYIW3)IGKKwa8@oLh%JFPiKA-NbJ0^ zuHZkzy>Bb#2Y4Kxt@U%xWA*hf!*tiZecGeKz4`P>#@&<et4(&88OytGvG_z4-KqKe zj!P<U5UoD7)%ui@CWEHMnrri}X|nWB?0J{*^Z133$@gDec3La4?#**+yO$CxB}<Ma z^a|yO=x$WL-N5<&Kg0D^PkFST%FkF<!2TmNdDSf!$<!%(=E&?n<GxJu(pd?HpL;fa z2wo{4HJjmS_Dajn2IU5imv1!ta~!zN?(94*cy0NnT}`Hjol%^YDjV+3Uw&<p`nH(U zrB<sq9z6L^@VtMNrPnj1KJ_Ne<vV-t?EHQ6g>`7#*}XHu!?YNl%#RNaQQmbqPydp| zy2Hmc(o`me7QT&Ea=Lb4T3_hoWqbwfPOf%=%iLwQtDXt=lTt7+*lT=&Yg)!Smt2WL zv2gaDNw%&b89f&tK67~@!0@_jPuq>gXS+GYw@3LY1a&HY3e<aAHrM#mHvh}BCWW%A zd8f^g5pd_Q+wxL!mh*0f$yXjQX&cpseXpM^yzQ7`2&?*>Utd-faL@ksao2(FjUk#U ztP)RtU%4J=V%#a0_;miR)z_CRT-q{evg(eoyOPYswU%psxAq)sU0lgw`S*Uz-z*un znU*`k3%T4JUU|L^pPKt{nr6&2iv#M7J1%eeU1InqB_pNyKZCBNGV@ZG1xs&=E7u*p zvwIiw+rU$7Th4L|wftGYWTEozm8b2it*4XJwFM{4N%;EumDY@zQ?%x6S}F5g;p<wJ zS$7L;E(@JJSA2WBsL+MXsT~vhPql6^Y$}{{b;*`QiM$ZuIl}iAHr*535&7o3!E+tY zC$naGJnakdOtDMZc|cuRZmVWY&5`=u%0lbj?lpWJ;QwuPs+<d}vcjBsQ>~QQ%4R=3 z_;_FKDu>T!TAsA9&zU9Sa&w;ek?JVtl=ag5G1FvM-SJ-QsnDs=Csg2Y{;uq+H*6YD zC#+c@uCPMK&-3lIsWP{W?^x)n%yc|x@qBNTlVPd#>e&*pi#yI6<Y=pV^<59$vr{le zVoA{Bsi_K0R*!aB$SEFPAoHYbb@aji3{e#^Z;#7nHlB%oJ+0>u+t!^u#t-byalSvB z_4A@zN)Ho*%9B2hU)Q!wFVc~o%h;pGXE>pj{m0cxsWZ_MT`3;UxydI@W{C2w%=x(f zR_NUDRxS(CAYI3MZ|8Bl3zo$GV5yqBb+PU#m!`Y9SFavF!+4CtRQhh@W)arN&yCk- zc`~YS>n;}5=9G$`t^J~kYs)=Pu9SR(d7YQpUx!>vHmhk3ulU$A%O&&7*%?=38Z2z& zYF~BxT$#o(F{m<@$>5~rgMNqlxl#NwenH~L8TW2{p=}WLHg-DiHjQIWnyf`tkLHSO zbSd{KXy~c>s}<#JBDg%_?&5?^);#H(p3j=AGTCU8{fs~9vKvDgx-v!YIxAQnE}Z3= zyt%9BqL<QVfws_dY__#$bs4tno+#m0PGIm?zC7#c^N%`;m(*G|*3F9(dGgJ4!}pDq z4lX@MdJ2|*T{HD^^6pH%ye*$M{FyyNa7W(`(@X_@@0B;B-+E4vJuq=+8{fS>zphNH z)7`qG!&7EwT&q&d2Ik%2rfYu0yYAlNvNJL<^k>qog46Tv&n=!<5o=<SX>zfw->Asy z*}4<_-v1d|7JC}anDub+jyVkt{WEtwo963vGFbSX&jY5zHrHq0sHpRl)zh0)d9yC% z?lI}tQRPDSZyY)n5wXyM$<M=d&IH+`d+$yR-P$?Lv(F>-!Ii*Q=XT#+8nD7ap)dSZ z_Bq|W{5=2ZqTO%VRgX)YkC_}@W>x$2-goU?W(rdkKK2=9F}!+w_1~oztCjqea&Nb@ z-$>f(w&r{8My|s`PkuJkyzRT%nQyyCvQN8UfxyDX-$$xLq_%`NxarP_-eq@p`NZ>U zxenyqjl1O#>AmNYnepalPp<H@_8$88^%k4D>UV*{_aS0eZbUcRd^~pZWCB<J?7hCK zvtpxmN8dlJDI;Wj(AIMCRGvN4eubQ>JFTe0#+-NZZurx-(zI<|kF!{Ok3865an530 z(s9?_5$e{LGz&O$J~+Ip+wzx{W#KiWa=*ItgE?<4USFE8#OwQ3*>hIrQt?@fk4gle zl)U5bHQDFG_Kx?-)4s&2&fU8qX|0Cp(u6Ahb;S`yXV<-qnm*-XPUmede@o^$^Vep2 zu6p%g-E|?eO4e<wo?lydBqMG0;va49muDUFPE>ttWI1KR>c%UL{*w=HcFo>rEV8|$ z;HE`z^Ho<@v&|a2Ln>J&u2=43E`PpZN%IkbxR{wq6TE`^bsa5~7p_bd@Xud+C(h+U zR)ERI9+QMQy~~w9t}I<)x?-)`p5U2Jl?!-x%nuT`DU2$3IbG?=eG~iiN&YjV^CV|{ zeSB$s=Cuu0t4_o|xpU_E_PCkfS3Oe?KCiQG-&L*%kCeWghf5TCs;{Tin9Yit@vQoz zv6my?C$?M57aVx`W%aD~_OP5ilYeUK^Q=BB^X1^WIDfX2C7YtSCo?Iitlnt-<MF(k zi)WS#o0iNj-Mc-&Yfgc;+zwkuyDcxj^ya-w?LPE<+so4Z$xerhC4O(3=UQ~(M|D*5 zn@_LWEZ#0Wc2TBX?m*vvhTf8M*Tp{F-ZraWnCDSOn}mGKrA_Zlg66wid-F9S$HsN# z(hECdpB(wmP{6;u>b<^6c6I9Jeve(%Gt_$~y*+vNGW(^Swb}>8E@$1VJ^Ogw8TmPr z&Q6>>Yr9%wO@Hw>?qz*qbs}?k_#Ry7k}bPd723IR)(h=B8{AIbDZDSaCZg_O;fmY0 z-9I1BIj&W~`ti8v!peuyua88&%Tu1nuJCxyuV)J{o9uX#7xa$Rs4}ZOeYIW2Cgvc^ zt@_&!T<esPei{(@pP@bT6>G*Tsikk`8C}VFr>AtLbFb{d^vO08_$*Yem9Cp=`t->3 zODY{7Pwo)95qiERJXvg--ZOKi!f#XJB7dmJM;!}ep1<MhSLwa+ewWfab>7U4E_7@! zykaf<E9}~09sla`#3grCA2xHzo<F^No$-Cq)RKyIsT@aDDjd%pKF8}=`C!e?X#(HA ztuiV+$N4HtkL^j7?4k-ck2j_qYu>NznJykKbi&;0okcHuP{jkjsqGJce9_n^7xiP_ zvv<*RtD=|pygdF?E~+H?KKr$ubMp^~UEjtWxP6}g)@TDmp7g?F9F{MS8hd@Xw>{_D z1m)A;ruv@o;9+>(f2z~%wVO$qRo+~is0ANopMI&zn_t9Gp=7h}UF+$T2Xekyw|}fY zbh%>Mx5I7?Sy85olzeR*_iURmf9B@-F|!`5+mh=YuroT$`oUzSq&v)S7A^Sj{;+LI z*7OUpai^DL9uijC<IH-u!j=2N*H>A0@~@QJmc94i{!wk3-X2?}!>Ku!+*?nrZm3i) zS7%%Gde_{(-4Au`?#UK$d(Tx9yD!~z^v^bxWSNv%54XgYANj|#?MjKSweP?C;s&;R z_$>}}x&5=_GcwB7`uuQtSB})R&`H`?3{-lOgFksxrsVVp@w%*hx#O(F*Sl#~P40`w z-%|EmEfa0ey)j(b;_Vzce$$ub^VC1=yqLU4YL-K8Xq<Pt(|MKUD<x!YSqpFF^*`>H z{*jbjvX$+yThe6)hLn<%Ed0wnR@SIK==FB~XgY8C%JZU6tY*o7?cig0;bHrt(An1R z{n33)*GlH|zW66M^Ub@ZJIeR&)o^^0pmFkNr^SI6hOvCBKN=skid|CW*K+O5A+;^j zyqi4u_-dXy9-327{B;el;+NlR>n<O@RXfS+yLn?0*L;n{lPBM>2ggl()ckO-{n1(e ztv1e!4{q4K_RQ+mK9_=sJmq=C_h+3wr4=S!%l$F?ap+}}{rtUA)<r9%yl>~|O!o0- z_@%ynZS}LMEAQ3r(=|JlvOhXvYF=by-9M}6SFX?aQGci))1GH5<C2$)UI*;`>{73x zqM4+`Ij^g`r}}#8gPSF{IdV+iN_&5LH#hw4rYRhU9QIolU+r@(b+g%)`J(7bxo^bc zRe$_8^!v};%CUS?M&210_s`QJZnHco;k|!rcZH4blb4^eq9$=Dl*KE^NnUI?TKTBL z=<reRb&Jn^SYsaKnEg3{Q-t@Dfo#!{2UT1<mu2pg+rQZ=zN3_F+Hd!}JPjTW4CT!C zKd)Wsmlyubu%LCDt=;*kExR}WE=-iM-qz&jXj*gU(5XpcjM6IUJ&*QG%2h1AR<TFZ z{^nbgFZ?n(5-O8ZzS}gus;yktd^me`#7*Hx6;D5>tA>1dDOb%?WVd6z+f=VP*Ip!Q z6>h!wLTr2Con=oR%l1YFX^VyI+xF?wA(2S}JFI8(`)%2{Ypda6ze|cI6Woi>M}5f* zn|)VilgI57wi?S;y<Hx@sOQjxIYAeFSlCUr1Uj&aAYpZrEdk7tO+B-g%e>V+tP-Iy z*T3fKB}SRcb)i4oMW<Y@^>PwAzFgEHc6ZDSQFEmf<L45#S!UNtu7;P*4N=aue3Nzh z&TV(bo#lai=3;M~W2S1m|J-I0SlgHO_=vB`q=-xoz4alVb{<;sRpq*3@v>L@q%P<G z@vSYmeE;+gk@%USoDcXHypQWo&s=W%__bJzag5SJ?H+;UmcOoBKk65J@!`}y*&Xv! zzR%!o)e+^CRQV#`TUq+@@YGX5yVHFwt#2wHG(9hLKPqFo_Y#|Lm+tIQx_pYYiJ|D- z@zsWZR(}7ddu8ii&5~HJllkhq6r^VgpZ>l7E(7E7OZyrwFZ!@-u8o!HW|!;IMI9b# z%2xu*cIDoEEZx!;UE$z*LSA{^zNyczER+k?o?E!O{KGu^$MfYfeyPsu&0fN(SITQw zVZKJ0V};$n&lh^izOIRv_~Uf(kMG0YY@bWBs-t%wVo69Ye9UvCuW8$!{0C<>UP`4+ zU6M7?DQ%C--W`?V^%H)kE6-s*#(r(jx5vlr*-ZZW{aO2?@3L=dW0I@tItjkm=nHax ze}}V%ukF=T`RY;E{89SItoU}5^Q@V-OxE(vmnpElyE(V0%Tm$bsd~=WXM6TP+P3)7 zY3~kw8)p95X&YDZ+D^~@bThr|-EoyU*EePTy59PH+lO~+AD*<Cb~V*QN+jXDL~+A8 z#>e+fCqJ$i{1Jb+PI*t?&t((W3LJXBoy*P0uPSZRu2|klvHkOH>>t_2Jv;XPpU{fg zKG))2hFSdC`*BOGBaekmxbynMkLpFTCc8d}m3tpz)+ueWT1=p-XXC*?T5r!EdEZ_h zRewV_X=g<$%e#tG56l-H%f414`?1<{cJ98;-y3-fkAKp;;KalGc;{EO&MVQMro6xK z^V+-bN4HtYzPT5E>#KAa^P7v0S;P(t`G2qOkJ|n)*FALag{`&Gk;mrRZcEtSelA#L zlkti>0dpSnRD4?>>@WDE*!`p4LeVD|w{-kx*wfRham;ytlZDD;ziYZS((5YL<%UOY z*uEiBG`;_HLTH=uB=+K8L8Vp^<u<cpHthc}{oAD5SwdO2T6epJcCmKLM(|f%+IwY> z=K3E@ua8U<+_LMJkz%jpjbpF1=7s3ppUGUl_UG4le%JK+ZyyD=>zbm#9SmrKky zU;JX-Evt7;ZTl4!&-tf{Cpjq3KetQM>-J>T;=^C{WnaFo=53LxJ?x^pG<)&)h_mx2 zXV|(~U7I&|RaW=nL({(XmNN98&DY79!SkH`PRY90K_A}SYTKW8VeOUxom}NN0cZBq z-Y<SV>x->_NPEy_owqs*f7^W9<l<fFF?%BW8BPY_c|TY0ajE%dr&!~BsYbhY*^7OG z#>#PQO@9x5z9>^HcBjbC!t|K*e2My;ySHD9$>03W!uv6XM<jpYyX;r~B0rA*j*sa2 zckSVts8gn@J6!cFf)*6Mjp6TRz29GY{K`5r)5k8&XOeqzB<|E^C1>mvdty>?Z>8M! z>Y|$2&YF!*8i6ebWF2jNqc==G66g>XYuLKPS%3fXo!{5{wB3D{oN_{?kCiLZU-f)_ zRhuuLl7#0<A8AG*)u;7R_iwqlx8C(#`O3+AwYSFEJ$tk@?9vz?OnqhSmn-e}QDDcs zcaoDT+71ZzvDIo{NcvIpt*UW%dstCQ(wVs%{2Asu`b|3>IX!sZ@tOcv2G$gZg43`3 z*V<<aSmg89=>C?`EY4nWit}fS^vUCO?rTdXRb+1c7O6IO?XpctOE)<_sS1yM_}A{< zBkS2KV=sl?={bEsp+xyl)|WW3z25p;BeGW)7ng8oIfTj0JRhf(8pwBi{^5tGIdfB| zy$ajWX1x6jyDY!Lv+eBdIjQkmUm2d>IKd?1L9R?n`r0r%vFnSc|F#Ry6y*En+^@5( z_)6*7(2s3vAD{jkr}VAq9>;@EQx$yN?DF<hUHRPX`uaWFOEr<XQGwj+o~0ar9T53L z-FM^NLSauOk5v!m?NDEu>R$e6#hWwX9mkjq4%D|6PpD{qq}O-b<ge_yob5F|GBvL( zS)MPyaQSM-d$*~gdrwFNHBT};SDg|zci)^%I^7D^9x4`j`xg9?`h5DmXhqw%x24>< zY8gwlY>pgf_%8Q#d*Nf-+AX^?6E23XQ=6j9RQ4wRy{S~!vAfr%FFUm_^h#aQ$LklW zX3e_naap;~LwBN*Pl`s)2D_`L`UNY_`TE{^@7{AuKt$q1j_A9(t!3|zB$;Xb3fbVd zc4}eMlB!vGI%$h5(*1W&F8<kdlVxL0fz`*LxhfHNbGA*`x=DUlksp6Sw#|=4pPsUW zTU8%FVV7`>*TXb)&-7>I9@phHSrY1_rk`OEeqmPRxpQ7v+*0O*(6!cnmlsV_xpm>l zlE$5#3iJM4y^*>pobQrlufO`vZ=!YHt1|`Mg?QwO{xejIXfg^P5HE5QS4g(ovF3UF z7Oe^QOa3YJeO<u2k!QVT?wyZLE{XT`LYr5Hd{f`Q*Eu0@$J{gb%hy}JeLrhve2K?h zZsy59F27xvA<~w6uwSRDzpC%=Tj`W(m)=b?I>1xY`*xOt_LBA6PZzAIQ0coGqTE(` zcZ+@vkEzdOv49u`4@p^9lg*rxPE3nsnqNDt3H|M3_GiPLHyokI-29opuDI)Zs<L>Q z>Wfo{FYguS7MSYNT<9~g`QB3RIXk)>+iE^lO@8YelUm;TaO%Eu3l=}-;xlY~?^!6r z*C-=u$&$R#?rY*TQ?B*X;+D@5{&6Ks*6+_-mIUq6<7>@s@co>7K=xPjr9~5ON^aL= zD9DPqozg6C!SLkE@x30eY|h(hG7Fz)w=i`Gn#M9Q_hxh(PxPExt=&;a&8O>LIIaGn z>~Yt=cS|`Gn0KrEnjf{^q<^nVZiBl`$*N~eoVt-q<${{GFOYQ&iPbxGP2Wu8Lu`l2 z2Y*Y2-`D27OmKS8yeD1u#J{%15h`<pRT_%tJXT1*5_pEKLTt~XwlH>C&cGj+rwJ<O z-97Q(K~Z+-l#|jDkGP)-NV7}tc+wd9?dblMT-JU3kA01HdR^cQJ@&B0=gX@sj=4dZ zf_*Xqr`BHhXIh<InXSXSqsdwOgU6e!oi~l%PIRC7x^I53VNtivx;5$rEGrL9l{F3# zFI}Up?KWw1-bv+2wZ>7?*-PTBdi4082IQvw4064}kQVo7?%^rt+Fo%oy^}WlK7Id% ztI?f4llt$f2`~Jobz{~QzlBMTlQ{48&v?Al({>A|{25UR#%bq^{T^BFY;i4LbIk4E z%a~-luk5!XQ#9WA-Fr~FcK>Eq<;ewnXBfD?oL}qk!D(G+#c_4p!T^8G2!D(1{~26j zcBcp(mjI18JxjRbaWS!MiiDQ`+U(elgMFMAQ~E*=d{L>ooPJ?az?yRtTNPS(KRx(* zzDhr-XZo)B5_b%2*?2vEHQODlnJK-lmfcV5;iZcK7ROndnA4Xpb;w~*FD|O$du7YH z%*6fMP0!G>+s_K5*Kw>mZQ`x4dk5=Wesx)gmq-16c_>sGO--r{DyrvNwafHiSy$#s zt;#Qw3nWu#@d!Wvta!(W{q(&_)m!HUT-JE}d$HuImHCANTG!q@G@kaLC$v)Va6ZFZ z7C!5=$w?+_o<w)5ru7_i=Wae$do-%_KZECuNs2d&m}TT^s%9PU*<*RTuj={!OAE{A z2plQeH)n$FiXGCvf7fiRWIkO{d04QMuQqG_^p%ET@iPO;Wj)@8sLT#eQ9qZtFL#;I zjJm3%g_ELR$O@cS+OnK`@~Qdn&9@rfcro?e5{rsM-%pyHOs!~|De(36ZMm)Oy6@J7 zpZXlSZJor_SN9gJJgoC+(OH$BGn!<h8w_9iJ=%EjWZBM?_?i9;UD+Np`FqOOxa`@{ z*?GvA@tBp=mR(JoWJG&EUfjvla^QmJn{~3&N(3vjzdw0#@6gnzt!%ezT9lbD_g5XC z_f+Mlir^V>i5nIx7VX;A7^~Z8IQc>{^OdWOYc9ul|K9MQVR!O(hj+HGv^#nX%#!#V zPrl&OHqv#hIck?bEo6e{_m#a@w1wtd&JB57C^M=0GGor1;{s)^-kR!D&$G=n=`9jg z40J2!T|VD$>-@jV3&oi7x#fyH{?<+DU89`)_u>wt0<(GT_a>~doMxfwD4{TUXZ!X` z>$e#FjL)$4nh=tFZ{xhL`}?lBvhO%(6PodLQD4$6-z{05PWIi~P2O2cUHfLHx8_pQ zO=ZiP#ErMs?da3E;dYR#@5uzl@9PTAXKVB>>1T7Cw5r1SwrQT|_LK~jiBr}YZ+Viw zHe<<w8@(4J6DNg+haTfRR{TD6aq@=aO<bk_83d}YMo-&1*(lDcvxCv$dBs=xYnxK0 zy}B3DcW2AQW95yP*C)TS+Y&RaZ_W}UmhyvdU$~~lM!QNgXDs>CdfxI$*-=-~w`bPb z-0d>HQS6}>dS|1>9lokhyfR0ohFzR-T>16~KevjLrY2cQT$7&Z9{GFu-kkI~CoZ46 zeYHcOd7i7{j)rYtYtQ$!q^}K1Rf#_GrhL^L=AOQP$6EGm?O3(jqReJa!H(~%c-}=! zRFk%l_GdS>5{Pjx@@}v^@uv1yFk6Fju4ScA?5fI_^L!l(m%Z4;Iw{g?zwZmadcml) zYxfxDg)DHN6fL{)a@W#w9Y+5tb!Bh+=6&^?oFwt3I^wkM+~c=IKHP4<``vQYrHpBp z^xv<O<m#ze{Pd`+?xi)!(%UDtOB}Fk+oWeI{jBG}=b{}v$r9(c@l{<FdSsQ$l<`hV zp<6?9>ixc2ZM%Bji2_`Wv2I0$pC(`Lx?G#|tnB_bvHZyy2e~gV_5QXr;_!K4rN_@K z@35~}nKH*`R&wNF6XWyGd0ST6Fi*a;!(y#a+LXI7cW!(1whGo>+V^vP#-u~qvrAn9 zEzjRo@7=ffPFPh`)a?@=PqMw4KV79n#C2M~ejjg<(4<VOo}QMurwwE^_DD_rq++ze z+;GyVQ~UL5Jw$J3mEEeGerB7W$9eUIYp(8|cS?L7|3hX427mjgtA;bf#H-fs(V4Z_ zwZzlDTsh<T!Zo|^2K$HfRj)O(R4UWr`un+W+1fiX21YUGb{6+do&EIIo!h5HHootj zVUm40^IfqI&+E0tu7*?l{bm{W<lo`ArR6RC)-0{3(&v~D?}5VeK38&=xh&TfJNhDI z-o7urDK6Dl50x>5Eb(%idgY>P>9>l-Dw;oc{H(XSeR;Ca)biNq&J*hEzpS^My2oph zaDL@hYo7Fv>vntWoMtGn<L9~ibAD|#X(^p<K8tmU>*8${DLlq|`wZ_*vp%8L|2OI^ z=P~2+A}h8>P0a4lxudm>TPD}8ZN**JVwOcW(*#Z&fA`o@{nFA6>7L8aW~|w-$dK~! zdcRlK<C8mlwj9^<VEE*I;hKQ>#Zwbo$`h9Q%SNrK?T_MEcR@P!eAq$um!2J0HgEDs zK6Nf7@s&Z{)TE5Yz+J-9Rg>pjDVrE`WL}zE_|Et5G_qH+pMF+zXOhRsXG@JP8>ena zJMC8eIM3qzwRyT*4H_eAn)~=IzN}2De5lIOy4dFLJ>MAb=^Uxbj1`RS!LDDqd-|kX z8+D_uHaSn)-B-N(wrN;3XT;_;PNot+{n>4Qtlm(&DF2=t`wWA!cMtxVMn1S2c|V8Y z!Kd<cd9MXI=UapB`d!gBwAuLO+v>j68tKzwp0BjKyXs8Xq_am}f3B92yP{>Z;qD|h z>t~Y{o_y66y7rQ%oO5SHo21Q?5`}A_>v~NW90_7tJ%^$A%L&tacW%`#_-W*$e2Zz` zk9AqEU3T->bc(qox86SaYu3~=&hDlwUQWnTesilQkoV5U(BuAIYxYTRkk?6JU@sND zY~E(N@`_R}`?kl;XO(`)A7L!(z9hZlLI1h!ogSa(znLqiIWKqpv;8b$7LRwZtv#H$ z(ycM~?bDf7ZMyULcdlDk-yWwv`FoQ~{kM*zNih}1N2fI#o$M)hJEwK*=A3W7`6|;V zHB0Ymy;Zy4>*~ZUJFn!W$?)&8ezft{^&=miN}f4Tf8O={Yk$YJM&`d<#D4qVP5fNz z>U-wQ*>s=FY7My$=i8eZoO1X2{JA)P`JEZ-o=$wM%rZ?z@G{%3zbRQsYPpZnm{<JX zx!!QkJhO!9ALsmM5YQ^{zqYNdLoYM-RaEZTiyo?Fl?I~Da|-W#Tj%yZq#|v{R*&rr zl|@T;$~LYRii-Gb6E<JZKr-ST`xUMd@$b|0pGCJ$5S}Dc`s><9?m0Qz^ZL#_s5!ni z!*%7YN?q=o3(warw_9*!dYkv8xQxe6XZ%kXUf-I&C9A`qS#*_g&UVwME1BQam9Ddu z>8maFX%75!e%5B2r=Bd9>hpu=ZT0N-u#Blnp0y+_B<=IW`@ffHKK_%rWaiv+$K*vM zPIKla6@>ImY~p;Ut+;jdLT!Vxo40wYe}_2>Zohq@tN)ooE<5}FtgRyKu76jZTe{us z^X19GFLy25D)Y#jbLJBEg?a6l@9ivo@N`4;m5`H#CO%PY2TlDrBwzJD;+Hwe!K>nN z^OgLw<2#n${BitvRLN@Hz3)^GGF#fOtu&c_ec6LM=e#%blpeEv_3207FO9O>y*D2; zRaG~?4tl9zd+qw8`A2UT$w@ypvtoN;&$VN|)IQy4wN$|~`x?uoJ}|F;b(H<r3IFe# zuPw+e4~v=cj!W)I>5`QSwqN&W=*zKb7bh%OA3r@e^Y)+GE7OEk?|Ajpw@aFSp8iL5 z)@Su8-_t^rB~sb@*9KYjY?eJ}`Sqp$%>{N-?B!L`&ur_TANpw9!ygZ8O|<{@sB{!C zKeoAk>Vl_A!#)dk`QB*pBA3He26lI~)tz|n9jJ9yKQ7*+{Pf12oI8opTD2W3-r8Be z-hA>~#oDBa#SN2^yMFG|byG`x_H)L6hLq6rZ+&$qc#8DOblmvaZkjb|>l*e8<?@n3 zwV&^}ib(TGpR(m&xa#7cOx5CC@mX`vX+PI~Jv+19hFRXs;qCmGOTA^!B*g9}`u6{c zICx;`n?<`Azs&e?GhaFP@3V(jL$hA}$=vO@i#xpVhRE^P@kUW`PM4CN<*Rx=Z8%#M zH?j0#bh+x*prdVqvc=QBK3W#gA-7!oxV883V=FT*Y<O(#_v&{0W4&&12HgXRCsGgo z$v)$@@Y}?V3tNwWZ@OlBC%!muo?7qid_T@_Yh(iCKFt^TV_3C&-u;s{@)Q1SO{^(@ z$jR+3a{gO;;@sngtzVe-6}oNNoIl^Kfbj{>1F4(aJ|1s<v%kDF;i7!u{Fj~%{FRfB zTIEdK*xLM#rBt+2yyNY{QXvnKFOu)$yiC_K#QJ;>xMR9zlFZa640TgOxAdyVO+VWo zn6$Beb?uKJ{;e4+8Q%r{SaeVMnK%opZB@$E-};gnXY*!HIjd%HL~hx>Iy>oWx~ZQ^ zR-agZTk`g^;{Kcuz9FvD?s|EqoAB_T33(Uu{Yl`d_T-n7ANlI1&unv*YcG#l_D}iZ zl5^iPrrSEo{A1gfw}02=HwPx&dzLcwx0nj^J1uSBdjGUz3wPBdEBc$Pky(D}{w=B8 zdzW)7KQZ1Y4nDQPgypE(!#mrfe!h|oKjg!`=JTxybx9H{MT>aTZfTmoth&6@X4UBv z_Q9d2wB^=08)|hQR4G~fTg~#iQR~5Ve&>%!UGAUv?XKY+0mnt}k8LlzIAeX@+e6G( zlI^3~<~x|Zx3OjU_KbICkL-c;g<sdXJw9Am*(I9N%jPVaWVz;aztGXDrEA_FpFNM^ zf#CaDi_JUUJ!DLqc=FeU$;@f~{KwfmcNVy>Kcg+=k=m7(9lej^*xNmYQDXlLKK$Wo z`c;<xT|)iVmUX888MyDup46Y_pHm;T;|`x!Wod+P;eI1F3(YMFUCGYH1!C1Rn0E27 zoj54Ev`}`+y0BYMrR~;Uei`}g!>P6ZHcWl$G|ArTBBNmIo#W3Jt)D(;iiD2st1Z*g zlEM@&uKynLF;;33gUyq);|m^b+w%K8|B-#6XHxH9w=R5pZ#MH;X~+E&9vKAu+U|dD zg<0bYnYD)-4$pb~)V{a+>y}?U?K}%7^tJ9>`81w;*Nl5Q%&&^HDlbI*T;(ej-sdUu zF5*P+_Bp~4pECKSQ}l}Oi+(wJynT<f0YC4PZ9P?M5=4{V&pI*ruoZJ^a8SqdE&Db9 zWIa}rva9O$+%;js%Zb<LRfq;fhli*3nOS@heRnxCN_Wk9;aJv`$4_Dw*Yc(>Yfrgs zv(|{=Wy6Ao;u}|s6_-?m-#l!1MwrR^In$hr=O*s{xuoM`tK7e3dnfL(5RHsknc(NB zTp;&#(m%P4M~==i$w}B&dDPT|SI+NP!XuMYW=38gowi<@v!u1~*Wc_*OFx|96`ZIV zX%~|h+@vj(%XC4fE@b`l2Ius5&+m0lDh_;AwLP%n0Kaooz>noe%zoUg__XRj1E+1h z)V6(cj=M5N(^$(|&oR^o`b0}tI33l=nasE2iTwJdER)ywnx5o5`Dx<rboJM>HuLwa zU&wG!*}D1l{f}#wZ{8}-WUsqZ@?4f@&Vyr$>>rn&3S3uHTJ_y7<;2;&g}r;2U(cGy zFB+$o@@Y!{a?>*sOM6n4KQp}b5PT~0XYr-ET^?_*AAMkuud}-R#G^&?k8Tjl*VB=C zZh7MTr5)!tc=<g&VITiI(6r~cv_qQh@hYy3yUjc1mFsdSUso0t$__GFsoW%Kaejqu zYnrTifW(~zYa;|)rE;dvk-M8|X!QQu0Z*d?N_{P}?ri<2H>+dg-RLzhY#CI-twr|; z$v(()Jji2tRw?3k$`*m2MOB}hJ(VJF#=N$Z-Pe6utgB`HsqiNLy#du*K25WjpAh&m zf_HJd!V2qt8{sI!OkNY8_Zrgf4D)B3F4x-jNLuv4jl~Qml?UI4uT5<VIqfy^`EHrI zt*vVPHkqG{H$0h8dH!+ebl;hw&We)%8Eh^bcz@YD^8&~E(EbH=THfn<UUT!$Wx05g z&&X+q?$317qqj13&Te_8lRmGYc9mz+{;f(Lv4^(HYg+z!!Mv*7`<hZ{b&2Z62?ri@ zrJjkp5H{(T;N|H`J0tRK9GS#FZ__HC<e8+MP|+UIWwE))%gZRr_0E3h(1M*g+Hd|o z7CSDtHTKb=KgZ?T*3=*JtP)}AR13Zv!ua*svaWxp9vNKMFh60JdQPjd;b>%fSN$H5 z$9;do_HKS<r0ptvTq#+_G{W%4rrn2?7HV&oI4>Wiyk(QaGP8*9deZDH&o3>W(cRPi z+xL#nYMzxB^e*i8t6b^Yw&*{@$DhlNHePKmaP`z}Ke<omL5bw~=b?|HzpB_hl(V$$ zTzW>j(`=rK;HoGQ<{ts2-_F_@E_YSd`LM;}*Sy--PWRuw>pFE#`gg<gkD|g+SwdU( zRb~ckd*V~Xe{JgVQ=XZtGhXyaXTF^lH}A{Ke3N#ki#j>cKe~F7Uj}rjx!Y%4{<Fn~ zr{|yAv`5l{5}Il2`^?s}{C>7#(e8*Bm%NlG*<0k^ktoobaq$ahXIZ%07g<&_Uu%!j zJ8cncbvfq#3sy+`Hk=Z=_R4|dg#O!*)}p`r8W-z5op?j9h(q%D)+jm2OYa0`%rEK> zJey>ACHH5a+pYTewbAY2S0<XhXOQ8up0&Cuwe5qA@eYrTUzO$OCf}>EGdQu?sK@<8 z;-xK5u9ce1SgicC>hZqnD=XK(;%bxpb5i6#!{$$oFK6i)_sl+&DqWHzU7mF=m&x{s znab_Mj90>!E?d#t6rgu*=F(Vi-=B@!LM!<q+lycOJxZUpzdg>ub&INd&a6|jT_)+g zx%0+qo&D6R7n81bJ}yX}AimYg;%km^M5Wi_6%&|_zjRi6-m!IZ%Uu<n^*53hWE+Z~ z`)KB0^{w;WS5eixwQo;;kCB?im?Rsk5ajW^;MC-|foH-EA8AZ12u)Gnp?&#fkWS#l z9ZwzKxM|;r_un$fC|NG?yt;(KucVFXmnMizIdHD4k|9*RDDwIIRNtjjcgkIj@~&h_ zz0#0<LE2@bU2<iw{G6ildj3nB*KN5i(ZTdICHeTW%#MerEEqQPNTpqSXB?ZH`R(m@ z6`x;Hja#-W{7f$RYcIv{v_s*`S&O{K1q{_;ceW`iR>m5IuhTre^wtUXGa+&n3wZo@ zf9lh`y}@`M`_jDs45>G_OC;G=UzwP3@SN@x;TQf<8C&`)>^|QAxL~E=q~l%p=X+MT zMHJ6T2!47Y?^K?2DErDMf3;@u1<zJI^iJW??1_Jz*XEmb7D~N4kx<M3W!3(q<O%Lx zO;JWu=I=5PzqB+=*`_#L>d=Efr`q$^n!hPZo_IEDLszaQ`(8z@I~!Kcx_j`X%)BX= zS$3S}k@wPLuDP*!Z^V<bx8aX><?t?-_c|{)uSHJlO5xjMj*q4rNNKN%*FQ07j^K%J zD;MtRX_)*@(ei|f;Fnbwot)cbcU^nC`DH`y{_W|qvzOURwH>&)?W)PYq7(=Ax@YTM zOY@D_bSkHmNFIOg+w6aF-Jzu|J#(5r&v|}p%Wb!d0smgH3(b?<e5|(DJF(d5TBeFh z_hLRPz6IBo7{Bszh+eSsMOAUkk`2yjqKS8o7~C;WX?z{LZejbUnr*k1H(yDbXmh-r zZ}B7U#F=?5^X}G1?fkp8;Pt*xA?AaUFJoe&zV<{%-tbseaPptY%GC$A-eP4|Z;|!C za3S!;v{`?TE_%ED<%>Iy)-Uf^H^+F3;YOLBQq!l!75zS26*(rkX-_+FK<+9}o!&M> z&fKJup65JwJ-;sGI=;nqt@o2PXIt~^!WiVT-QWI{;OYO*z$p4a_p!vgg%1B2jE{Nb z{8@6Dz58jK&!OA4Gd|e9oP4TQnp;w7Qh<ZUF^`z^53;Y!c5KzMb5oW-wqyN#)sG*~ z-8k*>Z@~lRK>m*HnHJHVv5UF;{M<60$ZLL))AhL9D*0{2E$ie{i=I@6H!nX@p7bd5 zIs?D{_Uop~H6HslKS|uF-+XPlqWhK;8{D{K7OnVtJ4EWaYw*mFJX^lIr?QVnKgxZg z{<Jm4_UcZHRg?et&I*-&dx*)ZZ}H3EQ|w!;U-Y?joR<H+vMY1jg(pw9TiSn+`jGs% zW7)lLA5XYh+$(VWwj%Z8+A|Ay->mI3KBv|2ee$x*^hs>@4s7^W^221W-Q$`IDeXZ! zbtlGg-7}dLu(L))!s3N*SiacZ)KImI3#9=S%O=P>9$a{kb(WGrSWv~UE4~Th(wu2> zi+^2j;+MM5cG&Wk_4A)s+K)>usy%M)U-NIv9gp;FylSr=g){D%_SL3qTCLGT**G^I z1A*cz*IUecwo2AtyR-B7!lO17r#?J%SyOmp-c}{s^3ZMjwm9AMP$*UTVEZ}dRs4Yu z+vj-H6x@7l_x1Vaif!K>`uHlh=B>W9Qr6EcSgtPK%kSw?=~-)U-YY&KI%{)%!Sk25 zHp#t9p0I}1L9O)s*`BXQ9nSy1`sYNX+AW`&iI?xK+UC`7@YeS4>Xp8F?yf~<PrkkM zneEi26w~l@r^=j1JN~Y^@xo$Z#wCM@dwzW7!k^|<h5NG<`!MmYemVL0<KUAl2Xs;o zguZONHCHBOhws7SKW^Q3bi(Jm@0`j%?IOD^=gV2Atx`U2W8FBh;h@EX`GL_JD$g1p zOASl?y|!=W+L^r9Z(ibDYUIIJ&S%f%%i3rDW_zGQQJdajWt(d)24@Z!%l_NBwoHFY zS7@d|Rr<AM8HZ9F*k@R2+60BGE?Vtu(Q``Tr-tPh$u--y&3$*+=#i<Uy4}``wbR}> zZFW~`V}Iti^V?B}xFTa6E!ks+cchX%R%|%*(I!{&_8<TIA68CvY0xUN;tCc$(51A| zFz3$?$w%vt3q2A3)OdTTZ_}}o4Tl-+3U9r>(N`Rj7Zy;=$LHp6y6<KF#+jdPetjRX zcaLg)(bC%DznTKY9~W9yR!uzXA-ai6Y3g_RYin({Pg^ptZFA3hxhwjg=I=86o9*Bt z6xo*itlW0hs+ZHWKN<Y=JXa-k&1XxxdfNkeuhnMrwOu#%&)hv#y^AYnmUK0D5$~RL z9_-wG{I5e(!X`9l3zoA_I4qNXZEa-4-bo$?vUhlwTWV!{ihXknDd%B0c;L9*R-Va9 zx^iJVDwWtcZa+(Y|MG17wp}~g?#{ZRcsf}~FWPRaiBz=@-?Li+k6Aa)tNMNI=&`x^ zTU}OpH69G^`J1`S<eb;@pj{n?v!2Suo!G%ro3-d}%pIo1**jnP=PxaBcfGh|hVIdI zJPnNsHX7eeD#OZ_=x*ZIC@B6D@-Ez9+M#c@o3vdFkKaA{=auzD%{#XX{0onpc<(i9 z>FD{ymbKcsw&3)$Q$h-k7AI{2&*&xYzxiEw(ZXG+p_bZrey4TjNcethYuUA&Yw!8J zQG63qJS5V8w0~YXjeVBOr`Q{{mFKgPe2#c3?Mk~X*crOPx%B(l;>!o#S}(FLeYss( zKI%)Qjp3R%o@?XO(pWa_5BwQ!YxJXy?LR|!)ACj8T*bAXtCVDCnysH!^UUJ#$5|6? zY`8rpC>;x)WX1U7dZNh27)h0#(n|^(jxU<{@_k7DbBB2$V)YrRk5xZ#eqVCKtmynA z6N^kaONru7a`wU@_uhF6Pm4HZFEeN27tza^sc+vU@0@qfy7hTY%G~Dr&C%uA55?T3 zxd>W5=P*9MOpDR@)I0U+ok13FPwz=rbU#)3F7vR*HND29l~UjC6kJ_dUb*OaN&42J z<*Vh&&9vw4{K&Oftjp<lr?Rc9#m0$uUi{jT>c%N&sm13hGU2A*4*ANzTD!74i;kR= z?X!5i@T+Oop{D{XeP-^wQ{T2`+VKuG_3sznXdiPt|I&Tp)2Cem{zZo2eJj`KpI9m2 zcgE`KX>aY_KW=5dYi_l;RdJMM&XHb`g!eY`NB)Vj&(;>$$UMJJdqu6@ElHc@+rs^J zH_Ke%(wSgVczDbFu#<9MYnE!v`Oh%D>b};7lYdrinY7Q$;GTa>*pX`&C+<F*RQ%oH z_~TjU&8D-w>y$E)KRQc@U1;IV!tMD_G$%D~w&ts?UG2JNQLoLhiJL>0_8xdpv*o1L zq3MC!XH3lJJ;wR+eOSb)m?a&j+=E<QxlZpmDOO}v94__m{VA^VzmGlK-NkTjmMP2r z8I1CW?_5rHI+81yd}*C~!snIq&qRupa#_kpEmc3o;w62%NrNe^?U9mH$Svu<t460z zEM=+J`XYNaJX-rq(_CABlh3RtEL3^|SiaZAPZ!pHSIOp8Uw-5F<%OFI#8MLH?Rclv z9esAv!R~6Vnu2>r74GLN2A|A3P@5r@dVA(G4VFoHU*AToH+pwx4ab|TGxuT|W=uTz ze%Hzwr)BrnGO+)=V3!!?c=A=|BBu(O&?A?h6@IV!w%U8ynX<+18>%kI95YDkF-~rK zedqFImOO_3_44P|pXQD}{d?n_lCLXfpHaz=5nDE+Skzs1^DI$sGj^|wTef)4Pd4L^ zy4rSd$;s`m>h~M_*M=LqX?rBQx`%S#cs%*5X=Fp%&*U4?8*J)Kuh_2n_F&PHynV|j z`)s}R_Suw~GZxGHWig!XI(7VnzUpPpPiDs!PYzpnQ9n=b2y>ytIsg2ucO_@#9r^-J z{hVqLUGSuTZIxZ8T(8Y}qm=@SdG9n|TevBuQb&$|>bH~1g4-`IjhKD-+cw3e2@!HT zCDiscOx&`3P6tnfjaK8y?`yjMa=(3X)~54wS>T20F5gKNQ-U(T8JbT{+~MJ<I&1U$ zQVaF8CW|nYH-(dbgs;3)!Nk45>y_8yP4jru<l6)_?a~(URaFOM7B`1}xbq`Zbw)yR zM%=RPx$LdFi#??{yUg!d9QO~5b=`kBw10N=ji<$TXaD4y_4<JEp5EClp~t!WJWTZ* zi#fOUvm337dbuv9UYc)fXL)&czTt%E9k${2CE@<+%{(?@lY*98x>`J%S-v2;qh`P9 zjITLQCb}EMJW09!Z0a^K4(pE%wr9Pze>ldibIi#-^g&qf{1)A<Ob1T9Sbb8}H#6#w z{iZ4ZUh2jE65i7KM`IWFOy8A@I&R+a@_H_RX{u?P-ljvZC2Xc9o-n<5^usxhRN>Pi z&62PDvQGRc%q-zMsj5?*{Oi)QSoUHrdr1|Y<Oyrf^d2}bVKUw9dR3G6%KN8<90hnp zzS&)UVdZ}~kg09Q7N_nD{~5#|$69=tHkV0a&!Uhy6As%?Sbj$N$f7;_=DM6|IJWpH z_p#cuX?I^qJ+?U9((%EW=VRP^`}UHh$AX`}V>qVOb4#sLC?_IvdUNw}Q$3HE<CC0M z=q{gj-8x{oLh{;d-^cu1r<b`ezx#8O&$^Vf0H>xZ#(TRTC+6$qXR@yQTG;$4rTOdI zm^c5pnuONZ%$A(}RE5FtMaDCha|~J2g!kRmvs@nbTrTqV7xksFU620Vthv^*GWom1 z3+?MB_xZaexT8)!brrn#vGw))sB7P*6?vTaxOmU<LR*jX`B~Fdj86q0t@<<VKSRnk zqv&O3)BX3@&0Nb_dN$+OcH<LKra%4u)EwID6we#k`uUcrR&|@`<idw%nLcxt%4}ju zDB}}1DQ<iserw(GN)@@%H4|@Z3$-+qGr!1eyCueVzTuLPgWc43pI`oB2x-!`IkI=g z<mR`be$C5`p6UiBpDXNtmHC<Rp(pF1yE@mdt%+n~yV!WXE_><4x9^vn-FtSk+tTeR zJkLL__n&p@uDgTNKZcN9H3!<Ojn-WJvp_CHzABvg<nrGldbi)+=)H0JN%7lRQ%hs5 zPkl<hbmI8Es&Bo1XH9J<-Z?VKZ55wcgEQaPsfDatm$>H`zWs7LNX%xP$7$#1kuGbc zzxHRS_AgXh?OnDlkY&<kA;x153be2IPTl&s-Ec}zVXL&|*Om1fOIB1G>~4D{yE*hN zN5;p${{ENq68m%-OIG<kwLEQZ!#Hnh!>!aSdiyn#?>Bj_ugf)dYBSz-{-pnVH>3Nl z>4*PL6n!x7mZy>i$Ir`i=4aJiSTRq}WJlhe<CP+-?DxEI_{BBnhxQreH$lwvy6$V3 zzS|UixT-OB-V4R^+&$Ivvl_psspbi}B+NI6oAK-7Ipb5&hju-3eH!Dp?bVLk8y?Ru z4tf6J+MZQPxt_B1yP|c!uFv$9(r(FAt=+xz`Mm5XTW-HkSEN141;3wo^83o~Fl~8* zdzr;InPm<xozU~;r1HxU<x5+u12(&6iJAZ2z4On}+VuQ~cl92Ztlq47ELwiTS*McS z(eBoP{5CZUu6}N^i!<A&u+w4UP0`~Ya~0&PZeFZWe8jz6D6e!fOAfPz?2ni6uG}FL z`^t?P&t1H<&UyKv{YIL-{w$Mwy8M#uYWIGadv;f)c*mIqH3#kfX{-BR*5C4S$#2%# zmHs`P#~#o7`sLBOMxOJcS8^}Z{M~Q0zVtr>$1f{sgX(uWj(=KJ0~;TmWm{bEd$xa% z4CBP>{aKMEp6@v)E*A7YR?G1|Zm;aUhD&Qc+-)s6@tEcJ$DrH)8B(;{8dHkr{QKw- zJgeql^0}oSLf3BGy65sU^{n@r*LB~2S({zC$6I;Rxr_5E^ky9Rw(jfuEge&4D1}VE z@$qMv+2VrF+PYhK9<Os`;IFw@u(9{=+(MHT*P~Myo;H=Q%ul|0@5Yj_iH8M$mTy0E z<J($pd7;;0A9Mt69erxY_i4dA+t+E*zh5uje!|^vd3nsW+}3{iotrMR?DM_jZL+Sg zcTa8BmtA&?d3Ra4G)Aj>r3kPmX<wZuuz&x&V=BrEwI@eze$_82*v#U^=V=j>yj3sh z;<L;pKNg2<&Q9Gj@#0P%H<9|NS2fxXqt|L(eK;*mylCBpM!tiuC&#{#Q@o-lSid<h ztfF6rk5jfVR(9Rml`7eyua0?tckJCClofN(_;{&)Yt)LgdDUmntDh-*Fo8euWz;u$ zuJtAwN4|?I6)M~@I56wW+@NYkE5jLHX2~2kpRYWdc-QNa^OKv=CmtSGx8XmwxwMLB zwrAh9OIM%FV|djrZ*WrnZ`QM|qRj!jr@rg)cz=NNM%kb2{TGiOJ-XOYMLMOxjp3Zf z%gNE=Ri;NLgqpqTIc1r8^5mB_KO3IE*|OL2OT|N-j~>xwPi!8P{mD8~CUor8wjzyw zmL1B^EMK0@xOr>W`f24F=e(^Rl)jC6bgN*^w(Ev(m8}b>DPK0(*;>q#X*@4|YD)aO zzO6HCR9U{;XA2$JQ5X1A{gw8vEnB9EW+u4qm|OTo^6jkES~H&MmI@s>{+{u~S-XTg z&*mS#Ht9^5#G*>8T&K|NWlh(-6ZTb22uaYAY4lE9lUX<??#Q$aJ^wy@%?VD}6@636 zJJMOFr{H)4`&#XVMSYzU=QurhuhPlPxANb~H(B{xDhrO~vQK7u!q|JZ(Z@UU-LvZ1 zTauI{{=G<iJ@0G6jn&@&dS^V$6DU*PZ!*hOC1umSyRoxZ3z}VU2xDlK+qrhe<RckD zk$OTBn+o@&zm6(9_U!5zZS6&Gk6q25@Sox9ODXjo6F6sVVEFphT}e|}>%nXDPaC#R zG7n-ncF)baf32_V^2vhE9GT}?&xe|3Da}uf*AV48^6tg)8^1%3-s7_J2xr!@dUEkp zm!<IX*TpsyYL{6Y`ryFQ{PW6Nwe6{5H++ITcAQk{>6_QKOH=i;O5P8f35K%@raU>y zAd%Nqc>Zya$*F78#4pZx_ih<mdhnrrp;`HA*}FR~y;Kh5+Hhwl%e=*E%iA*4elLF_ zV_>)UXp~b5&&DT8Ul<C%nl21C3e;mvk)ERQ`_5z2+?wANUFQpTo-11^Ti3Q|=c#p{ zWQ@M>lr_Ka+9+JR%y_Tpw+UyeCVp9T=$S%qkhMp8=AM&$MTRF#%Wg@;Oso7*c&gR* zcgPACmebP5r%IeW?)>(3p!IQUb{&a@CltPaJ?ibW<NKWpx_fsp7e4Kev*ucN=~T$6 z#deFYiyFl`NoOrAe=>=WVP#-wpv_F~c6Egw);}4W1v%4Cc775)aE#6W(nObk1!ZCS zx96-_y=pt}2A5N7=Op*P4)ylxm?WxgG<n_wp8pJ1mJV|}CMwO?)OK1k!0_av(48qg zQ7o}tbx8#hziKm`gxj|Jo|eu_s^Ib8Yd9%XFU?_LU)l2p+r2Lp7g?n5X3%c9RF(Wx z^80d6Yt9Jcf;)-+BFCcV<ZfqpkkV98=-<0eNO^<it;zuQ;5+lZmUJu6R5n=T^~6)o zeTM&;*Vox)S1k-SZZ>IhIKtRx7#=&#v&@(+$g;rtcXe=AEBm|22Ok78g>}|l`E)AG z<Ej(?{JiKpSHr675_QZr96wd$zb#X3W8W`>z9nwbWyXyYgLtj39W$NFQ(?<sX>;i* zlPZtIuG9&2rP|xB-kp2)2H&C<edabDo@C2a27lLC%)I5&X)ZW-XY#y4_svRYE(^5x zN-FD`2NX9%U+MdD*<^R`o~7JEoH2cicPukKy7WY!$K5G{^QZUCeYNMqk&8Or4e}HG z@8utxubH&x+Nst?>&>6%?QeCLxxC}ko9Rz&K9#LwzqU#_W5Q;W>27SnlNK+u`)Zt3 zWv$6s#U;2~rSN$ETD3#Z=B3T#bYN#ztzf=BD{_WglB3b7QwGJ~H`E_mS-VK`lq<`t z6XA7643b}$AJKhV^y1XhUlXrXb2UW^`T89aPc_cDd)R2D`j@rb6;CIHSEM)!bUfL4 zAn}cV)q2q*g(A$Slg@r>+S5?={MwQkOON>G8ZZe}KK>ctapHLoTaTCIagT%N9RBHC ztDMBFxO0|EZy>kK942d?a<xUi>OR}%#JK0Zc{ypnneqIp%LXssg;gpzt!^m)bEK}c zj9Dk%xng3>EwL20gTc2=>%6C)(#p&E5V^l4_=tgc#v<-X<pl=p%S9gNiqHDbkahAW z+d+A!+E-Chu8OtUGKouPd3xsVU~aX1JZry<(P_0GA3iSp*=Ic8K}%@cY_m<96m2b3 zwqIK5nO$_^;!U4~R%unvgGu#WQ@c%Pc`r06TrBap^}B^~o7}uFy&}=~GGmUcIXv;4 z@e8dbhP&Ll&P7a|v-AApV3RJlYc;D&zL+rhoR(5{`j@k0g7F2OuSyHIsJW!&rF<^% z`10OM@lMx^!xgWrN|&uH4cxMd)pq5=h^@K2r^RQPp32kUE@!^AB)d?1vc~Z#MaI`n zU8iTBj8uE)VDaR;?8;MTi+LJ7(w&TVJf8e2>r#r8k=LhUA?-3|`Ex6`Pug4=r2gC8 z;`W!bj*`_WDKn)C)$blZwXxsl`&n<6LLDEuD{7ao_7(Zsg|Ri+XmD>k)FLWxaKJP& zxx%rO$wkZJyuWkk5rcF0Vmy|fE9XgO{<xZ3rr=1;3=ejO&sV-JiBju(mgm1g?rM^m zT+9R$&Yc@>-(K-6R5E2>m%_v3E{-eD3!lu|)^c8?NaJby8CzCn6_0&sA^#a7PWK2N zv!0aEVLm}6W|iT2Sw4PI<-1B=`=V!T|NH5%GDBhiT3?RXc}X4;!V@_Eg+y>)_v;8U zml3_=zwzsu7PC&Z6H`^#Z4?>)mF5Mr<OoHYx63?8>CaO3j!v5BDsh_k=ItiOuO^F> z)S^ur-ffIGk)LK%F2wmtYs&hPQ%awrR693>^a#}2O<isCNaOpe^%h$89fG$_MPJ9< z*^+7UFgVZ6wrcM2Ycq8Y@4B+~?abV1w=&};RSTQ$d#%*Hxx1nM$i5K$Pd{fK2(o&7 zZP)BlqemsDlA8+WO|7v#k|kv6RXpdh@~mmcCZ2L-(dY8ax}4Y<Ad|d2xZi8fuhh*> zF3qeLR@k-gTpOuYny<2<G|xLB-EPX)t=lr5mfn3TKjq2O)pkieYL^q*Lbg{l9ZBZh zG3OogO7&|Cc1OHlZlBiVaY>Z1@YBk5(=r8oxsUDeaJ#r8-SSP=k<SuuR3f;x^c|Sk zzsuG*WQNS14YyyG<!5Sd+3wEYz}>s{#{8_Di4lG-iwxWtlqGB}U&nIYIZ<xK%H$w! zanfR$m*j`@8yCsEy?x@bq}uu!JlwJN{?01B2Q8SH7kpW{@M6-m7bd}0-?aQhp6%jY z`II%gfbHY)<qKDDy5sUeOC>r=$sx(0_Qej#3lY%~Z5d^Yb1jRCC%>?L#W5*!Zj^bE zss(fYnR@=L4Y7G?JxBFw7EY9mvpxBB`FYtjpJ#V>x5>rJ>z}fGqiLWRm~DFbmTPgF z^SOWidqZdHT+T9mFi~DL)Quyd`r<czz8m*AzwelPocrVnyRDn{Cq?p{QEoKLVbAmU zYI9|S@q`VHtY_w|SDo_QZsxLW3vzF3{n4-tJ*m3+_@zyHrL(QwTtcdwj`UBd*;Dm5 zD?47uS;gCS@65yLi=Hr9O?GX#l$-R=W6$RtQFkSu$<23W?b!a&WBuN%-!&|hpV@7l zXL?uhkh@j>BsYfDH4B*Ut-SM}A$95dUp$vngbHqGevy4?v1m%~)cvQYR@!WFoN`{m zZffBAweOa3{ixenb5&j|<7R5d`&*WG*b2k+UH4CvY!sQv@gRA5RTf9N+Rm$~8$T`D z<|ZV#XM<&sb*<K$sMasb%a%9%cAtLEll|I?!@Ng)0?l=gGxQzg^~+W53d?lXGCby8 zbEN9=wyY^i>dJ1XL&CR~R~PNR(NMMWIK!3pplyPU+qsrc@@JRL=JIt9Y7Dw|RQb0| zO5^c!m9Mg<Ubyl#l5J+kP0^D9UCx%ri(h(Pay(PoyGFS<XW}70IXSC_%GcMH&W_m4 zt9bXBq+JgGwVfS*^ri(YzB6s&K?$D+`u`cCc3D@{Z+a^i-5qdUSa`cElblhuWUxo( zbm!<96DnWNWP4;@v_IZ!TJ&TI-CU#HdgjS<)-U+}eO3OlNF$F)3#1!ZG!A}!9ejA{ zOOJ_nf7-bj*?qKBUYhdApfAv_Y=`tug*nMLo-Lbt>8?5Bw{~U;*?n7OujsEh%VQT2 z<ZxJyjXijN)ZW}>H==ge9J1s%sQo#m`r;|p;KGCl+IQ-{Zv52PIPcHZAGuQmj8<$a z-0``8#R{=w*U#H!7`e^R@M=82a&_U+&EHQ7d#yT<5Yn;c_kvxYY?@Xo*DQ6{u`Ub~ z5q^5g-TA_|<7>V2%kKC-ITAXfA#%2L{h_7qQ=3m}7j!u!*vGHsN!`M&c75lqj>AtF zf(1mUZeyw4fA7oE&6_<QM@AU%FxR}D^GnbpeMjVy{x|;_)SP~QzPBlJmYDLVo;7i% z_G%761-3s|9pdqvVfm`CXU?z5K?ha}@0odbPwwr%_o}XJ@P6uX_EiC&wVa_7<K+An z9^OqtoU6@mwck!roq0;*XYlVCGXF|Nj?Q|(yCeLsz0_ve-9Ed^-?*Ohi1}CQ<?L}> zkb5grf~XOP?v)9(+Ch&VIX^wD+@5h=hR^b4=nS2p+I7!LrzY8JH8wZ<O+UN4`>()i z<Hzbh_H&iXYnq=nGCCDyRAp2u-|DGimT~Ge`&^}la<Ae!r6-mMZe7OmDTVQH{g&#G z)a41@M<hz0@A!Jwc|y@d&(!RKdnxA}Y+8eRs--4GMR5wn{tI}b)#Uc<``1TvPUe1} zrMt!|d0kfP&FaZ=;Y?z`lK(TT4?g4ZUR8IUN@har`tK2wKg|!&dh*nDLcEb#d62tu z*@N1bIeICPOWT~Eu}D5CwVU!b?AGakHqFPqiBr89+~beUnsCWzP05xkdGow~vaFV= zjELMM(R|+T>u$cuN$dCBJF3VodGMCK*2?9#Z#!~yF?dg&d-~4zwI}l?iSSz)PkYSp z`Kw8>n8US;2i7Plb|xJVoX4NF=fZ65knJ8`Z{-aGuiHG^(0lannI`LukahLf3=jOO z&Gxg%R~GUvF1Y03eq!gTE0&DmK249F{nXR*C`miD`0L8N8eP_-=jRu1{c}8jYQ&#a zwuK(wgOx-)Bu+?c6|vh*jof!X?_bnzO$!}%Wt}3o%;LtX%Wju-uPABlI(DYw`<rZM z?~8ABj$Aq@5vj%?ev9pbRdM9C^To_odlI8nwD_K1nRT^NZO=^aoi4X5f+ui%T~VC8 z;WGE(_IXdv7512)?WvNI@_aHi_sw0WO`qnMq+gkpx0LmY+0!*4r{2Ck#$J@Ib?jdF z?o9myTEUAZ&-s1D((u!)O;K3^M^b-sI5F5doHe?2;FY$*E|$biN8OCH-kx$wz9qOg zO#48dzwE0yx!Q60ed(@Ub|U4^=lr_z+2E<fwu`lE->#W_wn;|#S-I$9k?1rdm#0im zRxmf!&6~=?=9&9^SMY{~66y`^Rr56Eo>|J7@x1SmDOfb$VyCahqg}i54b6ToDM@T> zygol_X<>P4zQMnXMIz4?szc3Y{kwJSW{R%Gy))03nSD91_W0h-g3cygYfV13^;dmt z{G0jP;i<&7iJm$8{K_6{aU5sgxr|rVC1=}F<#Gv2c{8hz5h~fY+V(EzT+bD)Y`8N- z+R^Xu>-SOrG<J1IT+P*~G0|J|HtGJeGa*J|EUeO-=ebn}=T1%bJAC-Np}*`s*DJo? z4_f?^33@Gf;**;~{ATanJmD;xzMT9fI=?Wxcwyw)BT~($i`dSX-?i>%e|<J1qbm2v ztjX#f4^!Gt3Gue;-2E8v<m5)%6~A@-w;9`P;*k_@?z*&f|1{l=-ohRH_rh%^MnuJJ zT=8nV&NQjSu2Z__xc@$2JaB&Jx}9sTReP%JOj^I?t!zD4_mqj#rfXYoj%Iwa^5p%a zIX|~^XMOS)a+7FiwQjyX>$%F6FDr8uF6S<@%g8a>aNy+Q$#0{#B}tkb+qi#@qw3}! z0mpM%mzl1FZP?{zrsMFO<?F9m7u(L=)b);uGnr(_+&^Q2|I)OBD^IHn8J(5?v)S6g z?zru1*Ib1@wq1NHttU3j`CB1!r*UCUjj8&#mhA#}>~62wKCL1~zv^z&wHG-XL$vnv zKHb<*HEU~r?SBTLj(yj6x>UxLocQ(i*~-|vwod{NE@SKS_!r81Lh|d%oS4OITNmCw z^vi78n?-JRmC7??3Xj)k9r~EM^-g$L^PA66YxgKDDdtJ7o_ahuu79~&`@{DfTjzf5 zDgURiXO3{u4s9Xk369UDD<xz-&lcWO>JHvHPhaTXy-F#coQ=mm)ttG+d}{sI6@^#Q zm;SM957@EYdoP>7=36T#cJ`#JRDWOR^T%f6$GELlp1NnhzCCSnon=y}^Y)<Q%lN%6 zT{2zk?bh|kTKcihuIUo-Q?xd`{t=%2kk>u*a?rDL+*7Qlh!?Td#Z~<)nN)K<;o{Ak zKbC!W+_wG0+NJwmck6CgVQ*};o|&Qi`|3}=wJWy1TdKP`TE}q0tDRxG_dl-7_uLaJ z_I7KH?vr)$lFF9J^Z2)h&i^N*8+7gIdQ-NIO^<w!m`nd{vkv{dJ7TJ|t>DfD6{&CE zE&3$n5qf-vvW|c7q$AJQuUzlGq1LSW_v+M*uJu1N9=dVL&iHP6>}Ay1KTj7oMeMsO z#W7{$W4ZlNbMx|ROfxk<wZ2*N`);z$oUdzNhCD4dTFJfmLfkXy%B0O(`gxwuUHz%` z{n^Zh@=1K|3tvXuV%yHQJ#D+;k#BGBS+YqMzK-rXFuCvQmmhJFdfD$Pr<z<k(tTXy zQK5&S?|MH&%NrjrO`EI`bhSfcQ5OR?oN2K_WtNH4yMqp|JYNQFVvk+EH1X9g``Zr$ z59&`jFwb9k){~=_EB?JN_K5m5W7e8qW-Bh-cC^uX<g?+#`KMu9t+g|CRhmAj2?&U= zSlEP%mp;_>JN9<jmL|>9jGtQ%r%m$MdSdFbD=8}O2g6hf-^S}lnFi;1d`;wdnHF<V z|BXpwDeuaBv#_7e&$;{9*uB;%wH*$h9=C6Qb4hpax&s1+XN$J~Gd2=)**NQpI^(I{ zHSC3P*(<Xy#6OF5y7(@6`m;MLikr{XO+Bc2K6#nRwC7tgtG2i2=&duY=I+RQKGlhL z?c5!f$Li-63Enh)-l=-!QtAZjpMA4CV&*%}n|k6$-G2t3y&XrF9{PA>IeSUPlX6kj z{|uA#0);$9y^6O8&X1YZ9#*zFZ57vd=|}h3D&jKp^v?*Lu8FTZ(f1^;$cSB(cirS= zF}||z7A|(=InfyE)p%Q`Yo6uWFF~J<T6Qjpf0T6p+=kreS5nh<R7T}KdD`!F^5m3> zVehW{Uf!zlT&g7R=I;{)qPxTX%yQkfk$-Ms<}+=X4Khu&XA`q>4yn#qIkBK<@w(b< zwZlh#waqx>@mBt%By)A5x8Uo5+iX2+y<ILXzoOE_YuR>y{p97>UDq#|=&Ida+IRW8 zk%wLF4d(u;S+722f62^E?~?A_snKIzc)o7y^uLRC+nr(JOo_47{oG$AGm}@mzqQ6z zZlTDfTkb~3j^1Wh+4!zDyKDZ#bG^l@@5TLHR6FCo08iP%^UAk&wOm<aaynS%;5|3V z$IniRp1qTO{Zj9>`W<(BZ&)UuxBM5PxnZ-Bjq`_3XG;>lMc&F>n($fe;dhab{fBmD z`|3MfF743U@?xv0*!dmW+uz;!9ws;U^%d1Cy6aTA^V1GFFz8+os(p3m`mZ?xIlH!X zKDvF;z~lScsfmlvZ{_FBs+#-vc!x>n*_Q2E$4|5OJnlOFpP{Av$gZ<T4CAwcZ?0Xn zqF{dE_Hx_Tmz1t51gv3fdCqLxYxg+V=gA!H9%H%XvRZpLoD&ZJa7KIi5~El8_S2kK zJ+@hS;_d6;$f%f~{5nR$$}11pgnP_7H&gaN*qM1V<IhcclpVb!^HRLVN*lp0+m$xU z<@1+i2^|;x6MkahCbQ-ygDSx&`I}|m1jKevIIZ0yz{l}^&hIM%F9Rg&t{i#r=Z>A> z*VW?N)}>0SB^<Yun>TaG6W_j~cN|j}h3v|xIi{?-$zO)+#dMdsYkYU#=~z64_l(DB z{(x+udcMrMw9hszPilH^%&)q>^WqxGMWx{roG*IIE`RMkBTKDz+tkG`FIQ%-+%&-; zWS+Eov;U6ErWX1JN0~M#$jxB>bzOc<hLr7<kN)K<8&C9pPgY4OeWkr*+KHHGcNz2i zrwwNB)a`z%ueD2fYMQWXSC?q}83E>FGU@hSCuhBnYzokQx9GN_a(4Rbd08#j%#X5| zUC&paR1osz_Pm>G-a7rV)}K}}?^&oMli}t64C_N07cc4ZKHYR_nq3*=?FkIbyZWnA zPozyh5!q3qctTy`{Pt^m_I*FHUEk{7fwb1gLAzCBnD`U2y>1_wr&T_wx>qOG?P9}H z4k6j)J?Z_|R-KvF_bK~zi_Z23TI+QJogP$u44L-oQe`vC8H)p2l?hdoV{TQ<dSyB( z`!?s>?xx-9jJv8=D$iP+Z~AAI*d;^xS#=J_pW41$a`aUBghSIl?Q(2d{=41se6nXn z;?7Op>f1ieQa&~9_sZ+*i?TbX|IX5Oey$unGg>F<Nl(eiw~@M)E8l%u+p;~!&9ADb z>e?#(9Yu5Je{*|rFW~LgpE2_cUk2MKzJ0v)j?<q58yF@Y4~{9DUB4#6;nC}}pCY4N zI@Wn8d@6n$^m3lk?66(Cw+9pm`lM&F7cN{jqi8PU<+qQymAr};uatOF9V+X_$)&LE z?z1_ym(MY-RGJ*(_GxC9HUnqjtV^?=9&i(6DEs?9KI%-E<;ped7Dnnn%M5s%$DC3Z zt2Nox=49H%tY_jLA6|$T=p0{Gn_Z%M=kw3TZH{W}=MVj7nCxAduM^I7Dqx913&)NV z=PGT_MkQ&urxx?f-?dxsVUf2v`}O`P(7luzO&+0a9{1-h|8=b=>|XH9J!^XvPUXp3 zKe<v~7~^#>nc=Or#sQhoyNprRwOO81Cq>+0Rq4A^zDhIykx%E-9eokUwN|xye6#r+ zeJ!^-@7(9(8(I@;Tm96sTdi+Q37ptpb#{a1idhjtuRhwWOjXzJn`%;&J8`L2=#<`_ zPd&db-8KI^%f_UOpU<C-`Se=1x;j5aTvPGb1HP*!mzft-vMeu9$bItsSMXhtBf{3R zZO<8KPw)F?oj&P${>-iC7;HaBZH&=9rJ>;Rc7mhbye$W|oN*Iv_*r4G!dbdz*9w+T z4zgLyc{|TM*?!^U+bC@jp4HOpr_Y&mbmxHuTx->5wXC?id*fsIs0r&WgSbUxtx`%w zp5MBy8vgR~FX7N*-ztr`7RqbBo%gj&wqZ}kPVIB<%CpMna=XOnPg{LOj?<)9>}n|c z!q=|@*7$0RO`dAO@a6cr%%UcdGc9}z=I2~)Za(JCe2)Lil3rP#`FhV{-hNpT#@(V^ zsb0sSzI}z<l{Handb7`LnjkF^ALO1D9zI$7Kw;10zI|UK-bVHWEmY8}m$@>@W9?pX zdjpxiV-o~zZ~mN~876CdLivi6|CZg$-t^xq>?vWsw=g@r%eC_J7QUU2Uv`D{Ki6Vo zWLLgW9l*40;kUwVVp^{ZcD|ptRVwbVkx6u8PVoz0>!%^9f|AV1eg7F+L#EmsO_*Qs zm8E=@$GpI_X$9gZ6GWJIn}$6qQpqeRo3Nn&b=a(X#d(p*a$$ES&)f4WRMTZaS{hID zhSz>aCeC$xTy*<D(W>1CQl;y5F48_dwdgkY<R<45(IoED&yI;Zj<qXq4ECR7W+|5t z<j%CTQKWp+2_~&2DbI_Ak3S8$^vvPZliEwg|E~If3*MX5>8Q6;rK)R9*-5DlI=d_C z4g|E#ERz1aCid;Y6AzkCd|!6QW1`Dug_Oi|o+m6HPYmp6N||=|w%wM)GSwIFo)QaM zKF@GoOMTRa)NOklg%_yzd3^m9>hQrY<kXQINo9+Zc8lh0I1<y@mt^sz^wGp=k}^9b z5`X>8N>P-YV8yX8yr?d~pCu%zx@O<+M3Lne=0{C9yUnyWgulRY#oUAvx#C>*{a({d z+zU1CKJ!*EGB134YjLLXL?)lbPuVlyzwWvGyxqS?|Hh5e{d=P4Y3&RMeDF9sq2Hl4 zb6I4}rjAdJ$Lngd+?q?WRqt-zwBm)u<L#!>$CgIUXH`1p|8>ddB`I8+j5Xi*Gp#hx za$B4@`DDs%#e<2H`wq<s^<&m^{Ic5Mndj8Vb9WC2`{?rSOx1YbW|4S|bD6eM|INh; zOLvxpyfAzF<SWDXWwV9WZS;B<+s<XQ!?rEkSI%EGrFdtpdE!Zt$JJXWPA*V*(tcRx zcd(C?hD4ky7en&pd0Cd%qKhKu@OCle``($;H+6~YZnIC0InP;=yX5X&3%dRM)^m#> zBR1=+%Y1v9qUE*OSdx|Zx+`t4z9iaPaWc;GKZDe+ZEsF~I<blMfDYUJOY^1Gr(E!R zt0exiulR*VlJ;%8B^N8p@|rDAD67vpKJD5+QOzowi<2bQOZ>@R@X6#z#ND*AOuJBq z2Xo3yHmyBlxXIyF$fs4&mS69B8W>Ev#cA|VW(6~=Kl|%|9U13NS6q#eTRYEvula8y zO>?hLGvY0^h3D@1Vp<sHU3w?NK;r36``#FbC2O^1FKa}aP5xATdBaj6|F+WHO}Vir zDz*5N`@WW+n`TttWcZH#ae&XKot58HZ%!{{mM>qpis|ag``q(2XKV{$GW>CAZ<9A) zN_ofQ2?mb8E=N846#w-)o6DDD_EW>B?7QA||EZrP@4UU03+8qk+~PR2eb!RZ#$%WG zY_--*`!wOmK8`#F2~}U!J)bo*x~C~G%=fA>iz}|2S3a-!${fL2OM)a6cY1tklu}ik zF@FzhOlpGksfmA<on)9dbH%gm1*=8u56)X|d48?&o9#Z`CaW$sANcpqRe|%Ff!;TE zo|!6q7H_h6uU}aA!eQprA|nf~>a;Cs4(4jcpL$PK6<=Fe5iwOM%%fi-?6t44v6|&G zow!%3T0c*%{1+<ZE;;4IMk6K;o9A*<Qzy8zbZ*<9r?qo#`KnEm&K1r({yMxsF*-6p zYs;zUHkuC}uaBzO+PTkd4x>7AIkVcb!e@(bTgbX!ExaSQHSFElW&YY349U-BCingL zy6Q^PsT;8lAD#1*Q=AGyfB(K3{a5Jat+4&v8;^7E{>oCmA~7>DiBn};;lu{pS8lD5 z&gb<En>S3JRO`4<!E?@?S)og+yA&NbxX*>(o2}Qo@}%UawJg)#6kK9^ej{m@gvpDV z#j1y=e3qE!XHd(qy71PKO`OW}-xVKx|4wUN*m6d>d457E+<z4Er2A}Faen#Hy|Od1 zpz>^0wvL|iG>N3oqMi4*+h!@tPM>W)JEz#<Y5QH?8;`fzC8W>t&tyJ!hC7eF;dBFU zYOnFx+~y|R9qT=;O8UI~JDDCoJ0HJRJJUYZ`kKW-=CZdBK3FGB*y-n|D|O33;I^AU zz1$n&A61v@H$1!}cg>-pD73BO%erUJPU<b?Eis$i#>mcN^;~(che^k>ea3rwj8F70 zdMoReab>d5HDQ^oZPzmeWCNbh+FQB&_RonkPPLt|)V=cS>a|O2jov=h?6u6<#>Zb6 za&9Vj(W)bCI(%;)Up6UfSR^QtGBw^{=g-ZzMg5*#dlb-bay&Cf<D6UF)D_#D{G@y| z-p)$8dHAXF2^FWF>K=J#53c;>cWxh9!&4XVpJCt5ud6wi9Vqx{P`UB4jnr=4DVOr5 zpOKtWd;LjQ#{t3iY00`$O*dXG+sw42tmVvV3oVBeafg;<bI;+|yWqEW@}vsUY+(&+ zuN4#eXRl|Qn{(+%>TSii0(RS-XHD9RCBOVk{`u&B{=6Tj{)q}5tQF(gEP22tH+E0h zo#4t7Vahw$o)ov9kJEBg+4yP6G7IK)4_}9f8~!`VvTk+Bx;^O(51wy4>$dHgz3%)u z#n)GyXSw#8^J&mpvFD-cg%*!iy^j<ulv=gu!ThQu1HCQFGF4LV?Mr0*`){h(b8lfo zvFZC$5}4i|ziYSkLhRpJsgZG!%)6SF*1cmjiq0-;P&<Eb!?U=jwH&rD)Q$_<x9{;- zUY+&2P~yw6tTn&lJ3^H|ZFS_{c<SRk_wRePH_bZl+j+Hli~bD;54$IqS=`*TZrnZ3 zzSg=|xncT0;fQ5ypZ=!AJa4M}qa9kBFL*0;f$K#7Fm?7<j_WS!_Gmxfv}U$jfkC~_ z)y#e83tV~`llHu27n#l07rDo~vhdTrNCk_hjS}{)iRZqRPduq|ZDs4v&3|Ib*mk|1 z9kwfBwLqJa;rX>LCLN0+Ll?6z2=0@<Hr<fD_f>sH!Ry6pf4&G6F??U=yX0E#(unmB zdYCMH_sB0a{UY*9s7X${%=cdN+G45eEvZ+XYL~Is>%W_H<F9t8Ql-Dv)wD}FZ@!y& zi=N0U?A_le`Yd04#wDv|%)(#S$L#-6ns-zE%;O7B3g5=$%*vhGdOCW8YCzAs^QL>! z)cS-%J{{oN-7??cvBjV2P_-@d0tz|mm)nFdiSakR_kLsK&nz~(cg9@@_gpqzZN|5& z=GvK8(#jJKe3y@U(d(jC&?CgzwB<iT`f-KFrfH8p{h0Xl-p|v0909DQV!ve1etBts z<Ijylb6-4ub~fUQjc$T!Sl^8UkwuI$%rB$d78%<-DxDRcK4H4<l}AgWHB%f!Kd@UD z$988J-D;hhbbtT0Ea~jCa-31Oqc6?;w*8*_t-~MJicB!>o^~ta(<Qgi`j%f;G&m&q z&(~aE5_kB4`8MH~lVUi})t4PFYO*bkG3jawe7ZvMC(F0hL4tEz`2w4TUoqbHz46iD z;7|YfkL%|9?JAZ&F0|U>JP#Y6)|`uf7d}aMlvG!i)oM#Sa@oLIHN^6<&A%y=Zp9mG zGIH2P%wdk@oi=;P$yCK%Vdh?SPJ2H`F87&nhRJUu;}y9tj1yJ&e3ZYJd#8R^k=Cu- zXLJ|u2=K`H{AF#}<v-JU<@`+}{=P}t#T~15^bzBdX*T~E*o-vI*bS3KTHYxu%yZwH z>7N%`o@{#g<_oKmaGtXTzh@Mfy<@(&i*t)~^o~j5svD0zm5z9RZF3Hvv46xO*X-Gq zvLZcGWwYij&Rp&%antSN?&t4$9{jq#Y<Y8DsQXQQS;LzrjykKif1Th^)?)M}!HECb zbSvhQN4G9I;M{3mU~X_+`PQa8x5N&el624a`W|7!y(Wvdeb&8jb-REE^9#dfANX~4 zr%uV~G>gX-e~a(+XYHPPs^Z@KMH$x(*Uv4~QnWW@?#nJLku~<tH}>0`#&?);iU9jc z+tqvGxnE6W{??swqyIs_#j;*Dp=0-=BNg2x)N@m{I^1lkt}gACE>=3lW*N2FY^Usz zjf<5Qxs>-9D#*u#ow1X+^u{jZQKZOMi6>X9_j3Es?pHY$zwB~zq?z?>vpD1J`4cRX z+?YjAocMaS^xLiT?RppMuBK;QN=Ut1IQey)&ppX)lUUj!qXgyZ3jAM(<?d0<?zw%} z>qx2kLQ&1m%@@~yxzBKarFXZ6QT5__uaoVE<M|S$T^Dcs5_Zcl=IQ-5<xMWxl{FJJ zP8-WVeII)5&?nuE&MTcYl%-`Gl7C$N%#^-3^OpEw?~PAbrd<^I`{K?M`L$(H=?!~? zg(OY(21SbYd3pV`{3Ua}{U)!U+NVjXu6_m*$sbHF>b^Zw#G<gef&Y~8@f9YscZS>Y z{XQs_d)Q)&*|{74%oz90SZ{IVpG;Pk&$Mj<KReIAyUqUV>dLJa3b~)wy^R0S@cg66 z=SP;JQ*_o<%CJ2bdAQ(RW!dtFd*jSfc5c$t_$T%x%;Cej{U+H@BUbBMm&s+{tGhEj zbK2zhOm@j9SG?7I`%wF-;%8+Uv0u-&>@>1r-DCJjJO9V8jgw5i-YE=N+H&r8YRfu4 zyX0BF)Slg{zOJh+W;>-od;ZP~X=V4nh5f8f;rV^B#C7JQ%Qv}GZgkEm?*F$p<z#K$ z8s$lvq7DxxPV7&Pdt1KX=1-orb6XPTJ+}L5cp+z5lgiW$8+-KJO*GwCoS&^a?@|4n zCy(v*tgb3tnsk%3@B$xit<pXI%c*IVOFwPkXRNxeY~KDw<5@!9lAz_!c*P~Yvd!Px zG25o#tWg8cIuV%$&y`1?{>)QNjdzS&_N%P<v*}Fl4STr@&u<N$efZm^)So?kkLQGH zD)@X}zb(t~@%PVyuQ)C2zG`0E>Z)9GlYOC0_!7PL<t%^i%w%Vt_`NrL{-JAk&TiP~ z=OFuHm*gS$wOLu_Dw{m7FVDK#9sg0pP?PaV`1eP<-v4l4drh=5ML<lFd;1qtr&zgP zM(Y`bR(*+^DH`~cdG7Qhw{{*WI(9hoO;t#_)Sb;|cSfv9C{_8owsOnvN#-{0cI_+H zJYIGtKHH7qKSM^^7GI%ji|e;NkFJy1nA3RPYw_Q;R+E*5Vj4Kl$CR%PyOh@J{!Ywy zPw(D(t+lFiQqn4VT;{dZw_0-tNqqf%;oSX-9S2oD)or<U<>?f$DT1$?&$^3EEmWGh zc23U8r|mL<x?7L%t<;fAS;rZ>c!lgywf3ZF-yo5D8!d1BP_a~6yZ2R0!l{1|=jwtZ zJJWR!+)_%l>sb=I^}@Q&-)&36^pDnwTdVQTkN>cI?Y)Sf^9^l}e_eC@qF&O^iISeL zKV5EJ`$X1T!0J!CeJhhG^Ff^^BfBIcZT~lg?L5}sk9!^7dimYDwD9h#9Wr@AR@Z&y zCO#4fJgL{b>YIJ9_XLhvP9FYK3zqNWI4YExDXpcQKY8V2=Fe-pYlVJ&bL)F__DEt8 zhyBqXGFSgI{BZf&$v!<Z@BMMN$MU^i6D}L(noKW<IsR#4k6={TKbb_PS6r(<Phy&6 zp?qtRocQ$xs&bNod(Bfq```2nIyAZzi^di9^jv->Z@6in(6wo%Q*$;+q{|e)50K}{ z(mMG3(rx7%^;YX;k9Q@+#GJOueZV-$@MYiCg?uX?tzl+8GsAYa{aQ`Kn6uLleHZ?- zHtmcp(}VtFGx=Nff}DD@wG>}O)~`3+a_f6<LZJNI7MTy0e>0np#c4M)dCt7P!|=*y zL!Rz~=6tsoPd)hkz`v<g`V3nx&5SCLC_63_vf;<IPxW`tJ!Aj((SO?3H-8-0%;>&- z_gHf975)0E`57$Chjh6fpFa8Z;3{)Do_&S;ly-c%Rlhdp>|=XzhvrkC)-lVJF!UE` z?XffYm=Y<@&D?msZ))KLvsC@|_m6uQaWwkhlX%@9wOnszF~{wk6*7E1EnTnskI4E? zIIg?Ii1|7L^Venl(wU$BOrLiC_;&;M$5CqD7A>3iH#w?aU82*_6!Q1->#%pMd#^aI z%~c9$mkW}4ZXfkF@mh^#@%PZ_H;;>!^0!CKlsg-}FSt4QjJ8~`UAydo)JeLHyB65m zYn{sFU7(^Om((|>-s-zZKF7}c-^x4YJ^9bjYn1=SoM*$-$IJLUe_eW}seJJ1#pM&8 zNlY_)Ke?y+D%+MTYd6XqjhTG#Xm#n?xvSk$b658rmt0d>GCT5L=pMnw&$+3OKQ9Qg z;K+TSqMmYEBJf<+&8_<lTZ~mUt`Fe1Z!O7Ryd&wfQ9=nr!TqQbDdQN~jYj!06QpG| z7hHIrIPcwgHk%c4H`gt?A2Y%2&^vpJ`MVp$C0?HmpLVXIxK*X`d-$9y8=|(XTJz)N z+xIX19q(N1%Z}b1sbVnqxpZiM)w$U|6BMRS&iZEYV7}MYuB(p~*#w#|d|S(}8?Z%E zXI1g!6DOB0i23|_Hb;+;pYYTtE59!DT;{aNY2vX16C`hZv3#SwXGfb_=fuT45=pD0 z&29*vJN9rwvG<H9naYcAU4Be*>r%4&c$(+0*6fTzw-*<7%rZNfd|BQxuJ6*Z<{8)L zeT}m$d6uv}<Mgy+;mi1o!_NdhFUnlzd3>@WlOH$VjWsKkcQl?6+&EdC<$0g&>Z{)} zA9+qPSY~lvCb?kYnv#`ELOl{R+`J8M-TWqUtfJ?MK$z>#_N+5SPwQg(4_x0B`*N4j z+t5b0cbx2dL+!*arv)7<39xFu65wqk`edh5&9(&htj1F5tBO9iqwinad-9JWN9r`| z8_W8P=gv6z=e616L)W&a&QM7FnbgEDKRtB6^7pelzL^I9&JOAkSbSRUdDmCz`JB-j zx2LjinssW|hs0i%Nw)-A3fs=TVw-qKZ~F>?;^uP|rWzmJHjCd4OMX-Fr#P0m!tYG) zi%o8|oG%0QCS25eYOnctUUArjh=X<tJ7zo!IheQAaox01yBtf)2YvUWUa@Z7x@SpD z^t-}8u?<V7do_g^AK2mcr24Yp(LE=3Obg&;b3cDy`L^k0S<$Dga~YU-Jpa5>>BDVL zg9#o>4NuKm{vtDmFLajwuE<VX@r|nsZ^s%nHSLzz!aYZ}G5GJR?efi~+Eav9s8p?U z`1A4(zwK1L>rZReU+%xQFfw29Kf|<k=FjULXCIn%CVOkrXNLFxiX+cHlnwavR6_6^ z(`3iYIn!^iWBA$UUsU}!Gdy^%N9w_K4L{-|ioByd7~gmG{?T9Qw)CEm;VVPegPR4i zf`vcJWiEPsCV$2!t=AQ0AGzAPS$FqkiC=iX=;>wd>-JvrlDGrzo^2GEo+Y<vz5X-@ zAFfkPhay!u4*WTMd2R0Tg}0WUR4lb?|CKf?!DZV8;m_*~FMRux^(RUtXrk1nQ)f?T zUs~tB+(9{lrDx4@TjPl@ievd^XD?r!pL_7~k1FPOnvKWqRFo<^>#REH{=L%V>xVZ+ z3?EJ$n0JP^>gvwRv-4h@_@>_VBKKI&+LmdC6Hg>YZewqc{^9nmvMxxpwzzBOe+G_a zTe_b)YwglJ$UY(a_B?r>J8tDdoA?YCcZF`aupoAtIqPAWDcXH?%i4VUW#ai?b1b}e zWy|7a{Guzm>$9bG&u&im$~-Ci#v<>Ge-X<hZCmZEB_>KL+Zf)xZ1Xom<-^Trra zvrYKt#RyOSx+-s1)jr{~x2nqiyuSD3V)BlsSLIfoeK^~^<;aPpp6A!U_TlHw_Sn3U z?LyY>j8#WYOqUCM=lCRi%jpMm<pTEwgv%O+`Zv6tF<*gq-jb_g{k*gN<{8zjJaVMu zeEhM^OMZK(SsG5fE~|a_{=@yVJl#HZ{!_SrZk7LsD-4l0JpWx#Hi=kLq21ZfWBFAy z^6ireZwvgi@0>sEU3Rju`}t1w^-BY0KYTsYpnSFBn_A62_ntL8YYfVsEy=EQE--Jr za(&&&2P-|*LQeCw^kuc&W8ZaHlxOBUtDqv6c|jlj+TZb1U-k(WeGtB+{*dAd7bY*! z>l<b3rFwo;#k_S<&X2kD%%O5ar>9onb~(=f46m<rr=9+^YW|UDdpWnnG;M5%^|)iJ zd3vD>pX|2Jx0di*8l3V!wUgn&l{#<h^4l*jTwi_rN0jpJlheQF6qTndZQ*Zz#3Qmx z=0AgYvV)vS?#)Ve=Dh|^45yy6?d|gCi2QqWS4i^9v!T-u{wiK6pJA8oz;I}CNW&*L zr*PT+wFcU?mu_Duk(>HrdL2)f^0d;l^WS%@$?oOzsG9mmYn@tO$TW5C17DV}RDOCi zI=e_>f>q(q0Hx<Dec47i;lX|UCQpi%znA$HWc7Htf0Q44;I*ccZ4n<TWFAf3d~L=I zTg}J@i8V_O{J-|+uX$bOjm9(U?B3_EShZgF)dGPQmeTuYV`Jt08Y9>6Y&>~c=g9LH zzLp{j4F7(M+jl?eVW1UX*`r5qKV9B%{5Mm}j>%bT3bo}9{#ZB7DB`WwlK#ZtrFT+i zsa_5XmcKvQM*sS(g=T3tUF*^WJvOX+z$a27A9Z!s^`gIT*I5Z@F&A>2HaH}AO3Qp! zX7Kl7k>IyMH)5h^^Zr>qapGyYXNya>ZEHVsa}tN-yW+swX#vch%4Su?2UjeYdBZ#Z zWsq_5U*@R>e?C5VAAH@me{Fc>Th-jfhASSInM<9O%UL66Wbs&5>*>7NYfs!cEmA0a zUedmo<+IRi-Q~$yYZ>0Gv9w$|>H3>fi=rEiHXcZP{XT3@=aL!6t<^$Owiy^$|IM0p zOK@ir&*?c&<~;wr+9O<7cSq|*HLWNI57`Y`M+9$q%l&lZDq>&pM{7p&xm&%HlAlxu z9c4XJ9^{jfywmLIt~!x5EzX5YoI*O@J?`8ayZ^lD`8yc_yWO6>ja__>A#dl`wbp;R z?)lG)EWXd&b1f+|a8aj-(Ei}#d$l`_lrydDCo)MU%RJ#T{<>B}zAPw}>+lcHmp?A6 zY~9l$G}-d}UB~01s@EoU2tI8&`%KS!@`YbgHHUR8S?{k}d0ghXd{lMhj`(?@(v^2C z{=BxdFF2&TX33WWCyrm+`lwaCP`X^!w)U)o@xQa$W@^q2b-}M}U85pe(%DtYPOd)7 zKUH4neay#stKVp~&rBCtAgNNWZ0+ym5GCNQQy2B;kp1kBD^e3495<1kyZ`Aj1NKX6 zYZp0xx_wAw;*UC0zO!DAGyiP)#%#jaZ=<CmwE4Mg@yqbF585LB9R0m_V|dhA5tT`L zkM68^Q@3c%Dh0+Ru`}PWdoi3Y?UD>((eZa>wp<l19DD4{hZzr8KJhz#S^Fid<>T-3 z&iB@KD5Nk&hgiNlZ0fndB04ubz;nr`6d5_kC!xQ4y@Pf-^gNLH_IrPCNl|81O~<=S z92@^=SzSxMd64VfwmF8uCzLO54a|5Jm>RSE=G24F)f;M$ro`QtHp4{ygijIYtL%%9 zk}E%-OOD~={OR@h(&D*qxsxKM6<8J6dvRub=GOjecI8cA<0N@z%kOJLwq0J{;LR;R zf59>T$FaO$w@tS4YGdZ!&L~pyYgW@MUZYbMO^p09k5`EDxEXvnx9s;kZjX6J7WWwP zYG1csH<@-hUu17jA-l}B;w@FP-sNwVUMU!MDtYsq?ZuG=Z+CjeJyM@>Y|lH}OvT0L z)+PG3u8lC7*HU8AHC>2dlEaDR*L$u<T$`4&R{7;5r&C7l+iH(W<w%vD+H&1oXzO_& z`CWEX7ja8Y`}Set{u3D=@Aef(7ev?|-Rz#Kblh03{nD0ucSGIo&k$l@UvA3!cIlNA zlVHVpjGq?qReoQfQ)IPt+xi?qy}U<;&n3F0+pq21xy0<vvx{dYrSFe=tG7qHTBRs< zmBBo}g5r~QTYE}$!(_HxTdTmnBw77c)`g#4Vw=xv-nBpdRdln^VMU1v0u{%<nugvx z#}F2=q_aKwZ&pvZTJ_|olP0F{@9ybexs1=<|C@Kv=^YD?zYb%YyOeF3%LJQMMhDyD z6SP$#ZFcl*RNeQ&Z|nNpht^L|t32f{J$WueWwnY~(8MW%{jL%#;%rrlw)GwOI7ut) zvfj~?jrX(l<BWsMW|k`%ovaA6IIqk+f58G?Sv_7prPSS}TLYFP@b9U8#d3M=JN2}! z+D`>rlZ@vtP1T!Uk!qi~?RR0E*T!e-8Xrjnf1f7k!0#aa>`yC0hCKh4c%4gHzc+G6 zPX8rX>auNa<Vov>=P%E?s`mc9!Sr%!#OE!O|7Po-zQz`I>9s^o&0c#ehO1jY+}M8j ze9`P5rzRg**Z0_YT6TG7sdY_){LGEVm+vi_W>)T5aOs{{nKH|~maDgCJWTo2lTfbP zGs}nPrH$dY>gkpG2@@E<i+m1yyXCh=@w7-zi9_G)p3Ri&WzqiD^j>P>oO%1Fro>d9 zwY!}VD!oItUTSvZh1yBS_-F9$N%=g>wM%-%zMIApkIq@je7rB}cH3vKbn0h=)mKhb z$o*KmVcn{AYM!3I_aw+4TFKb;P0EVt+V7>AR_Q%;rCr|~m*4H5Qm^&u$>sISj%+e0 zVn4$sp7Blg)$UBO_gkM&3rT<c)I#Jy?bLl81&ee%+&?DI%K23`#o0vrbIF1HX|w-! z>gcS^TXJ~vO!-Ov3)XU&tWJqsl6&!I=8lBC(^W}LlPz!0wn*xkk)nR3jBTA(#<Xom zpL?EuQnYND72m>@QK$apPi8pGc1+?g<4Sp_LXp68=L;Ir8=HSzN`9v8b?tgTQ>4pB zE%|#t+ojvD?b21d?9rrs{CC85r`MnI)RzYMiu>(Iy_;+IpW)k$x9j$CEZ*E@9g(vz ziO<~X*RNS;o5NMNU;XksUN4(FY<GeGdwzz$TBRTJ7Vdd=JmZCf&4jGO5qFGgZY$M% znApehb-CWuV(A$ZR-HPmVjrND=k1z$Ep12Qw`xOnd&A<-{Doaxb~QTx{`$G%{n5B> zA0D4Me8&3zjYnJlGdvXBa#DD+;y24>OO)sRyV9?iu!-yV!nNJrH<z@WEEf>eJbuck z_<i`|50k{>zw~Pv*!{HmYZ&W0Z)(a4-A@wy&ON`cY+O=2;q_)m##kev_jgX2^)Gd_ zTU-(=^){hLhIhr{m0vB^UEE`}#;;6EZf4?vW#;X<0ivPqzqpQW+)}I@Hc8<`u1mt> z2@9Uz362ij-P?1~dwZEhVuSYjEtkv|^qC%7&M^6}Z>H<=qk?BXF76M$)|%wUXB!-4 z5gPICpshbcSj(-R6WzK8IbL7RV_Lud+HT9my#XveiZ(qOFC#X;n08$+cFH^3;tT&o z!?<SzzUsA-TrlAr<FVpnS-Nh|1I?ZWYumKs8um=EeO+q8ZJm7R?RlG$vl-mN+rPUk z{Q5GqEN(e-uH0g#cf0$mR-P=gu<ux1)w?E5=)?Lcml!->pI=+5yIff9<cZwByPnH! zdA2FK_u`^wK0Q1Ite$3;vYM%lvXk6G(|)!UPJZoj|CZK~rpYT+R!&Ii`+C`X=}G36 z8424J7z3RXpLw?VE|B5*?91fNue)sHn!6{n%L~6%%PyGS-IjLV`EB$yIq40TqtAKI zoP9;kwN!JNRd1v5<O8y=?rxhacini�`%nAN&(}6M0tUn&T;VxymQo>WzbZpHAL( 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�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°N z&{x?d>#8n1b9J3K$@*I8*S%YhxCODFDxP?~Z|g!Wl?G)wTjR*JOQR>%rH359d;awK zs81V1^>+F`TzEe7`_cDj#3r?I7=-TT+gkUZ!PmUubg{utH@15WE9AW{Z~1b2`R!*u zPiM&aKMquzse8y%XUzk9iSu5cmaScQoA0@9&9Q4GO`O+H9lPWn_;sC9t=7MPuUxiG zFMcO)`GU1dWuE-DjwxO7Gnk5wTdH51cV2hzj_s+A{d-O^oPQisZ1w0|oISU9KKtzA zf*#KkEPcMtx=S3pytvaBx}99H&O~}~h5A;V*P3^G?`!-D%hFq)ZquPFAtP6*w6R=g zEthAmrrO&_VJZ!76|0S31#|S}bp{k!r88ff7JbGgWoK{OJ!xi(H7!^6sIJW7Ot#*2 z%Hd6jP_3`C6!-4iH<OZ2H{Z8it(*V0&Dl+4!z<s?@>{Aawh7$!c%^J#Z7H$dLMr^$ z`e~OcZ_e4s*zi2B;$`Hfvq7R)=iYQ<IH0z2OXf=Vrv~>{&RO~L>#Fd3QhPVCW!yP0 z^!4?uChNJg7sY7zHOznRt6-`y=@m!Vts4#2^_yz5*<O2GeYYfY+58Ol3G*xZql#aj zOfGzS*KI-R?XTZgPm5F7K11xYq%v=lzoXZKqP46~_ut)d=fLA^o&>qCOB4(aUG_GZ zEVD9h(fU_zw|<GuJ36&FrTSxBqHTBOyPG@j@M}w2JIYOIc>Q?#+oGM5ie+4$Pd-<h zbtPCucdMSw#U9>cJGCtWPPG-iijb3DX}dW}eDm!n&2zFdn70;A3{Nmosn=c@bk{-D zF>jsZT?dxu4HbV@^^^z2vi`R5JIZM7aPs@JnYM>K1;gCjzSs!VzStneUtDlT$e`oE zWA>fDu4?bdZ+VtEGx@WdVEwN8LmO{BdlbU;O5syolH=X$dn2lEs<qhemR=rbHt|B$ ztTHv%Dcg631#0W`9N}YUpVjy2s!DpftE*+~34Zz3kgdBSVrRX)$;tli%dgP=Tem*( znRezxSCOBkX`suDjqb}A8+jW0u`wt-W+`P`<1}&Ge})+wWZA64V!tkb&pbU~r*7kw zzqPMTpI>d6v2DVpg$E9NeOH^+E4b~fPF!L`Dkt-N|EP5ma}uL`zR924IP2XzGb3Mv zpMG3l4lY}_tbFb|mmM<9$FwRPZdgn%HkvAVTv_I-d!Ho#dxM$pU2gT{GI_`sZ|0xy z&2HJ^Nsq3IE}PJ*Rrzh%M4LkzLY7@=Ka&qWUsk*F)Wsu5A3x+!wtL>ST=ea{#WL@i zre*Zmp8U_iwRT_9@w5JV_D&8jzb^CCx^<#eDU+LVf^DNI&nty|%?LY3l@(uB1!rCM zG@sTb8N#r}|Fh|m?FE|snNKu%s``Azn5@f$ECO58{(X2f<GQ$9KBLFUFqRbgrJA`X zH|T{=ocH7FB8%Kl7uU45o#{_wpL2PGz^1l4YY!f)c+9jq*W=2zim$R+hjlcfh5y`; zcztQ*Y1LIL|30`?^-tvLft+&2`$==ExBDNt5_DL7#(U0y9naa<uQ#<ZJg9!=>5<$6 zTD$jKMcVA>=n}ot-e6T{vFJcpq+eN&`9{f=aZi^-91+Z!t|D~0<-qH3<#-*Yy`Cpe zys+CEb9#5pv3%VKxtnY=MDmq0J3lM2Ogn$7E`F_!-$ZRU*%=LXUv&x_J42>1&(F&` z;B3?LByood<FSkHeb|m1*P5h%>Q2g+Usp52%G1U3#4``+8BUzHZ0(tDndlAC^Vlkm zFJ*|9y)4mecdw`Nz^bQAyQ6<LPG2mzC3#M$XW}%@FxQh@h8xeb+n&wL_1NwcuxjcZ z;r)JB1N=TQ%bp8iJ@ormC}X5*noj>!59N=mCmu@aH%z>{_Z9!984ULxd2$>)?h`1q zf@}T7DtZ5^C2C>Cg=|t01v{B7|4l7jI@eSCfGo#~rx^zfo8)DWEByW(dhhvZ1tTE~ zmT%8yyNEpwo!Ob-EqrBG@1l;4Jbxuh><x}rO_UOw;&#)OS$g`Mc{i7Ne9&fBUe3^8 z_iO>jlTS(WTskHTSjheTJgYC+d{WW8#N+XfZ-ac+h}oMKoc_N1uVL4k$vzJkhA{|! z-|N0K#33~EdHdfqmIT@5`%P}9P3fJXeBt@>t=g3vA1GBWm$3HtTKW69TsG6}%Aczm zcBv!_o@1HIF6;PsR_BcsH?`k|JYh02vVGZAv(jK`1GBPCU*&<bmR?26SIazp9eRe< ztmw&_Qz0Ja3d}trIXs4J=UF}npEsTNVp5obUdZzWc1=@!Y!;nb@OT2hLRZXz@St;L z$ILgUb6+-%^8BH5dWQ@H<L^D6iv5|NpV+1oF@J^(>-nUtL+(3_B)%0Mt7_5|y6B~B zuPY%bGs%xvYhQA~JMZTctm{lokFK=noxSbBji2soLtO)6mna*R*zK;q;AwQ`fzaVf z_2w70tj2aBIj1M>E?B_xaFv4~L#DKZLapa=1A~>H<fV7!*=9`;wYhprV%`1cUzcPm z$_6~G@7}nYo7;GG%R_N?=4Njt-ZlIDL_TlruUeqBOUqg^hHr-Y2HTa7SSC4bJkfV% zzox9k`ylSl<eJ(UR&S+e+c4i>8&EwZ)8kXkW;wsFGV-UkF#U4h=*+~&7EyLKi0}7} z=_hPga%?erlQHMyLEYWV^V&tutW@WI#&{!u<()I*ALst8wxZcl58Z^{z5Vj*vbj#- zCeE^Lb^-2|UzV|c7P2_?c%$9UuS<?xOcWJq3eG#g_}t#`U6%Cp9bIN=Q+CLhu{o}Y z5)>8_-Y9vP$wK|s5(g%cdl4s3vXmV4a`IR&;&=Rv?&ssLFErm;<7&-ubGouR%fy4n zmt}D(@8X_hC^ToCt*;sT#77ZJReLHW-dH}G71g=P_m%43*P^#C=*MMo%04c*V35l2 z@6Cg!wGm~jUH09Wuxj!o#^d&#%S>-{vb~tBb0aPAv(!RS)oq^X;VF{JD*bU+IX5+E z*S@PNejh%yBkAF$y}Rp5#qZ<@@0Q(b>~}Px|3t@I{fRQk%gan^&KF!f#dl-dgFeHc zB@NrI$^81ZvPe?p-;Wo@FFncxpM=ew8C>D~dr!fhQj=?y9BHMuCtsLzWwnw3XY3-w z+dXMBPIK2BJdp1rmvvd~h<uH}VJ`oN{uznk{JV?$ckEk!*>**S(u~{!kGLHce|WjJ zZTK^>cftIX-=EF&<l0zN{=xD=pW~{$p7y8xMs|GGtmio8zAkw>{b|_W```Nu-}{91 zJ$2+;d5kgnD6^J#w$L4k#N=mB9`0|K-SKtV9wU*{8~N|H*Jo{ivdm_`f#98$XSq27 zM5D{EeD<EfbLO<nZ0R`(bBcKFs*hB9>jVj3EV79CHQ(!E#5Ch=DxVJ8$7N~Gdm8ij zDGNizPyhWUI~$ft&S>7DEPUXk#cEfz)XGQ^kvI?g)3#Zn?Ab^4m?rT(u+>U(xg`6a zp}cw9N&^kc<nt0r9k=dIeW<X|!NBm~*-X<t?&=veMPf6RIGWzYh_kE%4Q8E*QtAyn zcEsXWy;WF`z^P3&r|)0C)n;TSsr)?8;z9byr6IiA3plF#rp#$mFgIG{{FL2>&)w^% z`L~|kyEa~XvuJzKwC{#SdunIy^<2MJC0u7kYp3J`xq7aj%->e*+|nO(vF_CIGhO=k zlxv?R-~YJw!}e08OwYJX<172qePwm+BzpbCIIdszkZC(z(=KteIw;@u7Ke`Y<Mr3} zTz=rAnfYPUxqCtN*S0L)e(&Y{V|!&)cX-O(y;>JMxzFA9bxz5DhHAy@KW4N&I_p#2 ztZW{{eu_6Tym!W%+5_dsH18$lon%-q$-LC<d(YZ!-nGXU*z(!>7OAD!dZzufOJeiC zw7{;8=hgA#nj1FEZ^N#vl<Y~EXZ39Jp(Qy!DckBk&6(5xt@db8LX^O9L!Fj)=N#Yn zJBOrHmoS{%S$T}(SlyIwtTzKywA^*v1A}HHPpIU1Ui2l&c+S_=vK@;YUL9j+^>|_) zwZ51sxkg>p!gN7G&-{sg?gdqsr(F?CY2DVwthy_JQ?g5D(V>f-MMafQYO|aTSblDM z$G@nj|J)jm1csk$H>^&!_<g_EOT_(qxqSiSvxbaDsbd+}ls1W-{25u+dvE8mpMfsr zN_mO5ZGta8+;v0tNl=f+c?tWd#Dpc&)C(+*uUIgx-Nv9j|8CRV!ocm5^A?r%pVs2| zeUtsta>XgBoc4j277Cub9erMAj>M^t{V`WvW{ceNt~_+2yFJKUyUcFOVcA8e)<0b_ z;prx8!6+TG-8J*FlWqPpL@m2CHAq0K$y0IX?KjyTO|GS44>oq`>+C!&w^Mzun{svq z3s+>D=kd6z&tc+0Vbe60I;pD9U93@fnQe>PNg2P3Q_7Q1ygX`lYGWsl(R;%=e-4-V z`yX01i7hF_FjT&zZ_$<|+m+cIxaNGZbq!AMGM@3>V=mWsQJ%K0MVcb5ch1!oUjMXw zi<Zc_nWy@^zDmC0^_YI?T}E>6Wrhh}pB*BdY)_{$eeQqlI5UjnVByJts`MRSO---p zC{LZ(pe$jx^ULZ$u^`?{iG4<QJM5+`GAr?TlJc`NM5`eD!i1^|A%RmA=bxGwyNUmf z-Lh#9I~ey&dz_(CZntCgvvWbG;(RvPG+2CJzH8BBDQ(s-_U9&REZkZYrNH-QPHokt zg`x7Ve3B&&+OM^_;reWK$Mh?*cbdPf^xF1Fl9PE~Rvt_6ap|Zd8#g*jo?oGUSu`r5 zM=!AGU|Z!^(<KMx*>sjMoXndV<zlp~yk_CPm=FGYBSao>d|10>M%WE!xt(@jqg<Qr z-Z<UF^*}%Qee|NMth>El2{s;T{ihsxz3|M&HESifdwM=MSqCKq-QZr+v1$!_fZ_G6 zmf|P>KIrvYc;dj5@6XoCoIBjGLuTUjPs@HzI&PADR?$6X{p(pLPt+{7*&T0jH@dwq zlHq*niYGx&rtzG=tUl-Jvyurbg%@fSF&ED2eQz_9b7t$VdCNDPH92zTz`98*1t(tL zA77=XTp()vo&W4BTf?xo?{w$+Pb{Biaeod^*pyET<#N1ij^-HJJil<QbEZi`C9gtk z>tdFAE0_CBQ*Q5_^1yum-uSssdW|^v_=^15Z8!RE-LbKfqextx$GCs?#{UejuXWDc z;`Hsq@qg2j`40R!x_|F0Eym|YIva1bI~7m5sq(8aJWld)S=hm#A`eRmlN%Q=<o5im zuBwt>nlWRi*Xiuyf}Ve2SI^&7X9*6|UGhHg*)fAVrK=z8KYMrfPSg3{mfci)k|0p3 z{Wl}W(o@8#y?E{oS*xPztC{{&HKv}s77&tr;mT``$AV7;zxR7h5?7cuN#WuKOO2x9 z0KLF%%PJoAskNLCkP)bQzBhcDz3Fy^1c9E00*`mbVbih`XH3^_JdkJT-*PM{q$9PH zcm8vSF3)5p5B0XNpyF1YD!C&eiwe5;)U5HlYH{A=Kf|W;pS?f5^=sgtF+YB(ZEnxR z^)t<<9oAXJu6}PNV_c~6d)}V*XUzLDm#S!pcE)_}JGTCK&ZS*<Vq)|z@jW=qQ|J@Q zVzOsy{w~g!uALh_qfGuj=_oHb@XCE{l%sUyo|QYD9xzoEWjRaFpJNf~yn}B~`Lii& zHZ7=A4*r~LYxvqb;i<$aziUa}C8nVdGbLOn3!8_@JSkf}N#~ULPM(<z^1&W`FP_E7 z-sSpw&PvdK#*%c~SvzlTFAO|sTes!oa+7rX16A@>S0=gX#H@?xxf-!9EZ&%L>V*`x z$I5$U4g}}gMT+JwjorBMr1~;fR^}vy1#8@uWgS<pQ}IZ;v!reEf|WW6U9OQgH>%7L zJ->XbU1G%YV!o$g^>?=i-FVVp)tiv?(f8@kRqgNUE99f@3HW%O`oVjS^Lc-v_oOpC z?Q%<a>Oyr}`>MW)a0v2A%yalBpVj_mnRoB*Lq8YPzGIi&93{B+>XG$NAE^da)X4n) zXY%u{<l9KetFz0B_6P<S7R~fduWIwS8@MpA;ozpsiN^&(yFzYmNuPXgo6a(|^Tm3B z5k1K^SC4rt3E;^pZk|)5`I+k&+iQt$OD5X*xc@rf$^KzAgJxKo^;CEHzg3q%DXP2; zntQHN<i}dcZjOe@mU7MVz04lZmsJ;PDdg*XwMh~5I{nP;(y_%wU(~ip-Sg=D^zpo; z%@ww5uGT3DXQJix8JO=}-s$RK<`R5XVdF`aCx6+unjD!VJXM*Q`{k_NX0u}VMILjv zcvBepS@P}UNb^5)o{MM-CSEt&^w8$Vw}%DA_ohV4u9opCTk-hTg3Z+@lljz)3@sV| zy^K$O9aZOYNn0goOU~cI+xKT}Ra0vIdG20h{8R&H=3i1%Z&~)ATG}tE-sc(<T|eWe zhlesxberyLU++}ye`_Aw^nA*^!__yl;6b6k*n*#H0t6gxl_$$>O@A}-*ux8=%r?Sv zo?qLnpQHQs?ad1wyQgeWcs^^|fxNq&3Xuj+5+nPZ{$^f#7HM<h24|lU#{-^Hg=-df zf*JdqzI<IB=&i6-?AoikOI5Yn<{Ne8iXVO3SiNc6(e8B;1qQ{}XO%T7`{taooTOyL z_`>$J|IsMfrE|(=b*0`5JMzNF>~o}m>E5+Zrknj|(DIbKWIg$H*xE#u(p=j)@_Tko zKYhG7T-}+);H31s$k}Z&ec5M9vy1C9H7Cw4N}Q73+<gDmE`9zi@8ZR$CU44b=5fdq zX}r}o!N_{QK$h99rl>{ClC^8+70&m1aqIP2x5mzxk`vEOd&?8lE?tidVm>=@`<)Wg ziy3^<ew!*qeHJ|3e9}Hj$JxF8$K={+yYyv?1Pv!yeU9KQmD`k3?HV9&Bln-d>)ZT} zU9oG*KfaAqcZ$BqzGD6SFSXNV&G8nVC~cfD`ThH#PWhy8|J~DWy*#wgf2x1->(H;> z?t+z{G(SE0y(IL$(4ChPv!)&Uck||rw<mrtk^8#0eEE`X9}irb-c`VrBl+q4^`F;1 zPV}57Sth4h_H%bz#iM20IF-a6v?!NvRoj_&ZF{g&T~dFO<AdMVET*}39NHtMtWy5# zYRuvtO*i!(6$}2nkkVjX^=$2n`rIvP)y7Xf&AfKLD103u_Q@^xyW3M48H4kIVI{NA zYkkvrR+Pl!enF~JY-V-nRk?>@+)X@xy^|%^c{v=|>>{$`>x=B{psB1^uH6xq4}McA zddB2l$kM6%J~H2)rF7)1v|IN233}IL-Ks*uGbGK@tv$}!u6z@B=<i~M<)`>+i(dww zwaS}OUw>(vkI&r?*H)YM^rq?Y1o+&vDeU*T{B_#S?yw!1O7R*GRtC>$vYPcsVam_B z1&l{ys#l&_<~HH^{RvqrQ;)>&&$!QKytDA9+@qZ<ugstR!#!)xo#)!u)lEg(=UL5~ z($JF7AAD=7=+iQzX~hkU>_0C`aO`$iUFg8Cy79|vA5PU-?<`nUcCGrvG)J!bii&st zguJvj{^}oB-)<|o^Z5F#3KtzCt8x)urCqDu9A19*y5-9tj};3xZwyoJuV3qRYR=>J zRjrNr)2(+0*aa!vw)&7&@NRj_sfkxYoP^4?`Dfb*zw~Et+f%2sbd!|er`-irU+t!> zIJsk8@%z^y>tYWodglBKjnn+}gn5#M-LXkm^zsWgFrGXgpEbuR;-P!oRMAy46+T`5 zTP#0i-i$9tvrIP&*_@v`eWR`2)R?_(L5BMZd(xIhd(OO)la~5L{@hl{H;ZCU*c`Gv zmbGTq7Ohto7q-h+mZ#f2xEwND+)$^?$mPJPd6C7}x4M_A7;Nxlu=Z#5u%DZFdZn>( zURhqn$(NCnVjIq#C`dVI_haqicGcO!uf!e*G8-gRvLw$sIX!SfdPBBa_M$r}Pd-O} z@+rQyOW9RXx+r$i;#upyryjddu_oD!?V{uKuIp3E_4hpZ&%hz~Z);E_V^Y?}DbHtR zPBuAORQu;wSGJ`o-}@@JM9<C>6}B@T1eZSuN!YlY_3=FawT|Xe9%nTYC-3g};;FPe z>Zh!}Ra}!N;Le}Bme1NOUtYPob(@Y+1>0KJ48v)UZ%v+{EV0mr@vN<4+GAN;?FC{N z`*%Az2~3MC4tT<ID%#)&pU1DTp0a7rnRRzxmI--g8oT7V`lY#&);rcbRWo{Hz$%k) zbtyx2sLK>Ssij6u2329ajh2j@sSkc#N%EhO_x{T7t6_6CJf0XJmVB%@@D%H1<F~i` zEYE4q-c-aVwz9Ixer7+@JT;bt@9*6;#Ahc+pFC-kw0K(R?*$3{*H)WsY%uQ;zWkqI zec;K@$s(7Smfn-u^i7sG*^*^~rP4M%2U$zgzNg#GUcFg#ptDW0CE-d-p@+NN*DFh$ zm6aB++@NL7QnFe=f5D@zYvnW9FKuE_UYZ#t#OH6?^No2a|MrQ;GLMC*^Hd%e^?fR& zF|l7I;nCt*0sFP)G+14inIN|3aMS7ow(e`a`WECXt4qio+w9z<SAFHxZTD-NpE7-# zbR+17^2&Evi93Y$O?B{)JXSburC8W$-d9Wg434kA)EA&{bWFsUiQge>Ln!ZoS6TX7 zn%v&c;JY_Pr9n=b*>dp|?rPES!k@LpJ`-~7j?IY?;7qu=Y+HHm$^@=e{0xu3p0$}| zaCoa%=MJ$i&lV&e42+z5%7<}Eu7dFOKeL)V8Xo#xej9weC#6JWdCvrGk9N&@4_k7# zOSk*p<xPxLKjZHl{axbbu1$Iun-h0k_i>(bg2Up`tP?v=tahxrlC$7rtYE5W!{L-5 zIjfLXR>LX39)!-^$oOpQTFFCAdpVz9xMpr2wLe$WjiH2n)~RH-&n@~}iq=L695VbQ zbn}(fwU`{0gTb@*@|@?IDfmtFao@5X>B27c|1bUQn6O{t!Mx{lxI!mRZP0zjI460j zRcO$fBM(adXm&+Qx>}e%jo|it+T?oT{_e|N^US9S?~}CIcxTo^nZ7gO`Ef>B1-oO5 z`=_r^w_MewD?Ibur42h2e$^X0pH@ki-mYi$>$2Lk5dS;J8p_`uby->Es3yCjzT?`; zo&Y^J$*BTzGc5nS3Y3iOoZ9!NM5fDy&GwkP;7XY}>7PUv<TB_z{c`uZ$TFrmatnF_ zj4zAEpWS(<zJx>W&#a=el^Qp$ReV=pzBl2(mK)6P(kA38^E7;%R~3?AG;wdoN&}Vi zsc|#jyBmlu+1bm+d1Lvd8PmTxDa<}?$j+i4{4VSC@|g_|xA<)W3Kk14aD3}Ct?Nzl zO!2&$qc1!je_ZuB^0?8vgqp+OH(A*GM_mX#kUv{e_NBMvT&bk!(+@o#=!ywh=*A!X zWwtU~b?wzviRT_Fm$L0k`xt)s_F17y^~-PXJyY^m-hSD3_1j=B!;&)B<Ce*h<=-a6 zxN!4ZM)yzo_;s!3^(k@9&+M)0&g!dnL^dj3`S$DgWdV-Q$Gv_nJ|54Tn;vN@YiMTm zo&CMM^XquiR{^@MkE71CSbUZJxAo=4S+n+d^)y|3yI{f|d(Fh2`lzq|TtBuwx}IWe z%<{q`C%pg2ojE;8>sDJ#RPF81KEd$u$F+5nvd&!iz54L<U3rW1R4&h)JDcHs-oKmc z4yJf)xLninM4)!}^~3XIKQ8^&TqwLPg{yq-+>N(Izr?rMq^3V=GxoKgynBw|dDAD4 z3i71Zwww>od~=RrO08{HlEH!%r)C}XPT8K(c`(VS_VcB!Nv)6jc@E6^X8Ag1^-kS& zO{YG62xPb2zt-)1?Wse;i84>Fyp}w7>Hb`g)A>>x?q5hro{+h4vF6ep9U|ond<FX- zM~2_iyp)r-cCFr_%1iwd%vJun#$C<JdC+j`veq_>pu(TCem4J3EUlMgxL>f3@tDJL z8L8KY1A}}|FPQnYq%LaVA%^vzTbQ3dTeWk$4r7R$%yWk49~MdKK5o-E({nC3U)g@G zW6?&Q9qh_0e^rHBiJs97KRm1S@9f(%1Z$4zTuOeHd_(wU9P?xOw*3irtCxF8Xq;A0 z%6@UA)9~5cHykHl75)edTbj5m?vPL8%>N7uwy(WPm$ENA+|%FoE;r6Haz@JU>JU%E zV-a80mwv2oQp`BFcsZN%31tbkJ!ZeId1uaMUe30+BBW>Pqo~ww>-Arz&X$hkW2=6? zw>I_R{0?*RU!m(Jrsn3b?v#FFUtMNBZ~4o3nI$b#Qzf{nq~4g!7dXH4PW0cIMv})K zS^UY?@e?vl&J<RDb7Xet&hqNh9f9+e8Ot7DzBXUV`iSgPPlv~<?iTAUFWC5}u5J}S z7ngYMQc=Y3S#KZh+A?vf^5u@w7tSASKgI|wdH8O^>0X(85jUPX&G~p>)oIZ^=by&h zH{EdDI$UY%WzU_HQ(igbE%g34ztHR2tv!v4cW&*O^C6g_&SbXaJe@6DV=wyK9Qe;5 zcz|uQ{?{2>c0^S&ep)EOF1c>?ZzGNAf9*UT247*GQy2RAdcTd|_Ntj5-nT!Rl+cp* zTzc<WpM<9yMD*V0{V9G_QSw?Xf7A14?5%41dM?%2E`M2-6dB{g#CLIyOy98`@~kh+ zt#mtP=3a^2$*zBr;p@S5%k+8f-8uEy+ho%u@7!}D>Dx5Da+fq*+O>5Xlf{<@?-lcB z7pFh{cGgy5XaDyGt!;%p&Bs?R-T2|>_MdIv^BxyktmS`mvr$*eB+E+h-V(<2eep9r z<EKjo_hl+xZJD?z&e_<iiPP49=jvqNon5*w)xzI1JPDP)FtLA@!=_DNUl}_)q{rMn za^}<u<2gK^3PT)288$T>-y6}pK+kN0!rza5o?p*eB}ge<dlBpSMsr2u)RnQ^)z-`J zZguhTwA&x`v+P@>>J^op`E%1=+1hH~`;)JH>&3fIo0b$6gv_7uizocNxOiNMqk-}D zJJsQfTY9G+*!l2x%HHcdIXC)LRGwekyZPYs!yZ>vFE0(7xX$6QT-Uy@&*iu-KioR8 zRM(B!%6D=D=i|#tyU%)AuuQx4Y<5P1$2l3{?WS#dxu>V{9bbND>t(Og&xGYaOgwnh z;mx-Rwx1>KOLiVmSL?M8yu5T<?;K&h%G^KliDA!YpW8l3wLk66SIZOY&2QPZp9;KO zx_HG+)1yr)A16;2ntZq_X<oU_?7k~+oW6)Y5BtvS{ZYisSE22i&(1fJjW1_?k%+q% z_L=2?vQXi?smpfvx?JxRasRYI`DNEu$tw!Q-?YCr$bU0W{=8}<cewnnopBYCtGAUU zJ^U9rm9OmS?)giDQnm=Gt+<psIVSy%#gQ7WRVCe(sge5cpYNE!!z!;}KQ(vTj9eup z-7w{oXEK&-t1XUvukz}EPV0@2yH-xRm?zEc8vIOB$@%*H86if_4{xk}mo)9;&FE)} z`_djS5a~F*yY%d{XR?7Et2Up{dabOz+RpuiEqhfbyLPR=s_^X>|Fp%fEuD4Ee{SRN z<EC%KF6o@v6t(O*bCbX0%Q(l6(teYqJN|elJW<l<o&NjAmvy%f+?w+1XiI*&)$-Gm z{49Q5yU}HHAyjaYd)fRfnX_BiY;r|2YzpTE<b6GAsFT-u>eME=r#qJ2eK~7`Tg4L> zi32Q8itjC&cUXJblJ9({K5$GCGM6dt`>}f4_Kqj6J5}VSw#;(*Hq+d^BXXyO#QEo8 zk0KUwojN@4@ZJdNB)2IOH!5*o&-k}B$3SC&;e)ShUOd|-m_O^Gv!374pomNV88V_~ zY}jb=nf>F(NCQ33Vxd28#C*zawbmFvG;>?<WZK>P^A23`N|-MYqxfm#jf9Y>b(<Hw zFw0O@O-<+Ms+v^AU^Od@IWjs^@&NM++gCkDRnE_^H0koc6a1+^(W@ylz}HYZT2hub z@`xeR>?u6YFU{6c4a$vqWU9DBQvK4lyA#$a-dWsJ-<x#e+rKQGctah=$D&ovg@T&= z>atah5hu#kD%K`XKe>0u#MC^emFG{t4?J{YrA}8}M3HCmoL^}RX8rqiRVjY6&O7mE z6L@M_3->90RK2^kdHQC<Bgd!RvHB-EySa+*`Pq5)dur3;AGD<uOZBf@zv7SRqC1&& z@>|+8`SOH$8mp4GWk2iZe|hQEK65war=OWqkDoHWbNxD#^@^UtC8s7FGGLH-er@;1 z(p-s4PCoOzr614N`B`n%w(8>FUG`I#J}5hy;abx3#_p1y?5<f`w)1&}#NSP5XDNz) z9h1Q&=*#!!)SFY53Z;+lEi~WuC{wcSTK#MtH@o>!TMKeJKHcS-CL!(S|2S0M<5G|6 z(Jh-!9=nz^fj71-X2Obyvqu^oEVVdfYgbMDRGuiVtUl*TW@etb_Q5%ir=80>{PI)7 zqKoF~@0seSiaCVeW?=QX$-d~h#jhY6mi05A34gV@{O`bpKa-Dz9?vtdm+E*QbldT# zzxvj+BgbkdrUmm%J|VpF=dN0<ijr(K_Jkb?R&%5}d_JBkd$65d_tKVYx5M^_IoEy* zI{Z}g{DUkG?PU{}I&$4PzC+TFebx=p;y2#{`e!IJ{=JtiRIBIl#4zseNu~9Q{XTtH zGb*DQl02C0TeCSDS?`|f6c%+)DZY}cHa|aq*{Lv3k+YokW^5exQEJVFo=O2-H_p`` zTe)to>Eeyv{f5ChA#?O?kLFA)GmSdzbN62l)5-^VHvdXZ3~qj5@wxM7|D!BxHM^K{ z&U~4P3Ocv@jQp2nZhC!vqW;wECGF0C0>3_+EZc3g^vo(z0VUxBa{Hq?zxc*QvTTgw zP`tx;)c1|UE6z2Wt5^86hTVPZAHaFytl2qTj~M1}GZm-wNtjiA><KG!F)2NjudB=} zVprh2ySSkEb%5!&wFU1snC{_Xd*qduRJT>?rMMZ_rn_;rhv)C%Jb3Wia?YmJCSw1R z)}MM_u59~S(<Nh#IA7hJ`&nV~2FlHEyJopvd=%1JG9%2mdA|Of>a@kZ`vR4;E#GdJ z>G!&^b;7CJOBxpyUNHZdeC3KrkW^c%M8=ynT$_Kn`Ef22b%{5My_joncH~@kn)jo_ z-^=z}N>~>jO}YQ7-0Y0vCQhC;_D>hwF}@SZyV>fIt<kgeNfCMTi}`*q+Z2c2cD}r@ z$$#Uan!`;yYyOo?3%X~!`230uJCgW<?5A72&}w=$dHrdzUahtlQlS!mGXys*lJK4u z<n{R7oRq6G*2h-%oqo&R7xJO-g>UF(sp_5fmrKrTncC~!G#9G%-&(@6-9B-uQb@;^ z=JhJ;mt{#aZMd>^W@2XUmKRAL$9<YIg#)hi|EX45z2oP;m@8*G83c1G+Z+$c)NKu` zp8caUUvojXML^Z(_a5BMXKw{1PM=ud@u25FgVyHFrz`$^pYoIY-%`Ivg`jhXeYRZ} zX5c(|T;+G#_S`UyIj8u~6}Q_KhA^$%KFjEXOEUZKyIB@nzU=V0=AM46NaS&b`noK$ ztxXT+>pi^w`cwb41(Qy3OcQT=eWvWx?#&Mw->_*slXCqm<Rm5f$nefr`=~QrPwxq< zY;czd)1GE;oV;9gq3n`^qt9$sJ(*C{UhcP5W#bJ`&6%IfWf~4Qei8Y3dSicOeW^<H z9D~B%Zh3~sFTImZ7Tx8&yQllvK5oM|)>l6lE_YS=__NO?!R$@x`K%NF?p#ot=CX75 zG?CN?f+y^b^(98!p3$*9GRgimADdPG+TtZy!W-v3ayITgA=wtq@I~%wne|-F0v(&1 zvyvx#O8K(LyL<1e{`vYgGRf@wO?6VfZHT_zvg`27re_Y7@~u|6+1?!|T#}p>CD|2E z+BUrHN}9jb)1=Vr;)-MP`Tj9!v$lzy-f4Fw^88(E%e(JGX8i2+_U?9VIH{MSx?!W{ z!{YZ*f#;V`Nvz<Sdw?}A;@PI065hyM*R!ivyDJNn^T_mVUC-jr<+j;nU&Ze;eD#dM zYC);*txj3^h^^w}opgMX?JECGS%UvQJ_$Znutd1;=9g8)(VndlN+EaZk}MReuBJ`W zwLIjP8aSt+VWaZjRnOBV>Uw?mGCO`S`J7wD*EL^$%g+$|Tt8#^(;IxO_MunSKCZZ> zG9!8i?}Q!aH=43YUF|tHL1Tik*`rfCC1f{8Zi#Yzk*l~{_sMa?x&5cN{8{j8)_N23 zX`9aG>qPrR*W5ij&)1G~-BTmK=+o{h0?XN%mt`HgYoK=dbbs;&mHB&)1V1(D<e7N* zvz?^pKfyn*!gp7M*={)XTU^qQ&GzNFk7D|hRO~D2`R-?>-|o1}>^bG1DD&hWS5*R| z-xh3CT{}xXA+&t{%+FVt-$&M`ZrL7l>*dQ-B~8h5pFfxXx_0)&luea_?OIE=)wj&A zY79Kn_}IajZ|8~gRTp?x$Z>o4OfUY~x43~V+V1PhJh6ytZlOUp?G4V_>1q|)&*$AR z@z<Pr9ClYeOm>OW6wzL<!dLh<tYu<g&yj`~8~gLV#yLM%R%%*k`OP%zmGz|k3W4|4 z*I(dL4o{2G^Ix#gh$H6IyV*Car!us@u};4?M=GIahYHvIBV5m!Uk4o(PMr8rX6CtL zzi+(B`fa6_6xe%s&SRBd&o9lG*_5=~=s3@0*-xoc9?S5*^ft-sl$`h6dglR|y3)16 z0%?^^Z*PdCzZZO=HTP+Y(6Q~lf*B4sx5$NmSkN@(`>ezrX=OJI`)7PL%|5-cgLmB| zrG~1HXM@}B`^Ws8u<F~-pNU_Vc-IO}aFq!><6s-D-yiJ2!kx9|apf&fElU--ovV|) z`{ZsiKlr@kvB}vFhXrme{qZ<IPV?ILb-~YmcFo`0#h^OxXG-OBN5j0u8;(1$M)u_! z*4OhHG5*{?E%Sah?>3Wg)!CNEgFu(!tefa;dTO=Nyuw%30a4OYtgP*)_Ex?C?aa|> z-DW>i@|d&))8=y<Ia(j4yl(Q3`^(Do>DAk*34vUE9JViH&-ym{WM+xZ;Ssadwo2VO zEqGhL1|NsxoOyq)OzgebadXqD%HvFvoHj(C=qTHEiGAJUd$UAOoy{&*OzrVl`$wg4 ze$CY>zmt`Y78*3DOIOWbX}7gg_?586@7RN>$IPCK<}PS+Ntu-1zl=kA$Epp*Vv$WN z@2b6-!~BXjr1F+zXaeIB9>$n2=daC`?K*Lmcf-U3Hs=1v`ZsKe-ZQgML2;*KQmwJG z<ifo76_>TvPfI*$liYZ3ve=3RzGW9}y65jcan>p2s@l(Yv(xS;7{4&|+u>`-KUZhB zUJO%F@%)^s5N1syCytggpX82Ps?E&XK4E%V_i0Zy&WQ(Y<Tzwktr3d;xlmmHIuE=2 z+}LQ3bh(_5E2eyBSAOj{Q{`H-lFQUomWIQYCbwg4^(1GxbA&v8_hkN|#lH<&3sRm4 zx##>2s+_)Y-PhKI3=FsT`Y$zFl;^zc=CLy?xg_uUzi0Y$-)rGF&rcgo6jM|tRZZ@X zYLo6>DXH}LO*J2%`1PgP2U0tmJf2E?y7|t!*kjR(t&>D@TpNz7^nHz04AwAQeB$x% z_1nL$y>F!3t85|jSpH$m(>LptD>Y7?GHjS*{wRZCciW41v6Hq{^*m{ebo^RAT~p_? zM}ZlWNP|_%b+2uOYnM;f*>v1w&ivW)m+F*VyuCB`?S%a`{eD*$NNV%#Fh7^e6M3vI zCr`a+@|U%zW367Ed-H|4Q1^50>W?v%`tmp5vGi&&`5B4GXRTKLyEG+j?xLCd!V?T6 z(pQL1X1o_;uu#||$?~A?XCdp*@LiX_|73c9c4B?I1k=I>7d;l?&Hh4P51uq#s8itf zd(E4P7mvNaCqG+xuVcotPZ8Tc{#j5j9)D`hl3m&E3cKes_oO^#z7gbd-8{J_j6p=b z@IM1rO+fS=?_IBM3NC*B?D<Di&z^<a8D^6zrzIHlwCOlLH%*fMKEr0>ZS!d{lh29t zN9{}Aye-*qnx;&H6YI~qwz<YzKICq5pTu^|;egx^xhZPiZZ*pe6)f@&DBJc%%tr2p z$VJ^diPLUfKbK@+e5IOeM|eq-TlZ<s3tvsXW+<}i&Y1MPQm68c_2p+mY0R&xmiFwN z?34Of$KhvNt=6--tCoJab1F&4YodN|bm868$|rRXRX*IfBTs>+<ZMiIw5Ef7df*%Z zzWTN5hTGCqUgup<+Igh%`F2xopG{_|b?(YClh0;(vS{!W?NUyEa@;cbb-<DjH(XAq zX62=aS$h{B5AK@eDP?|pO4#I!;lHlhPB&iMxwt}!d9{p~-Qi1<fBQ+U^O=0y=%~_@ zx6%%Y*O}KwcqZ?g{bYwm&(dc5oDzl*PsWU>+lyA*IF`3~{*>k$m!?b;QJs9^<)?L) zE9~oaK1T1k8EKIg_wNh$i8oK?vF4j-=bkg}slMi5$7^%fy7Ib_Qu;I24_cRBUNc*D zK38*c#j$^TZM7}))pIYcI^?eW%zmA1#`MtJEJj*wLIwe=EKhz}HbX?;X~MUz_dGZF zo9<T@AN-TCZPru0$R(_M&an0v9(X+Yyw}u}ZP6?3%glEky#IZ=XxX)g+%x_h$$h*q zu42j2T<?f|vqa7=?2%(?d!Ya0^8U>^UOBs3Xa9ZvKx*SNKSj@^9hzKUE#6pNHJjxW z&n15*Oj+SUf3Rn3=dFA9PBDD@^fb_TOOeI*Rbtb>MND(y`*gxVdiqo5Yin)au03P+ z&+o(m-?j7RR99b_aQCL$Zn=z!;tP&PIcs)zM~55vZ|!?Hv9EQt<GKg4igYg|^v!%w zePv%<`-*q!-&fDyd#ZI+o!i7^=_e*v3y8F`Y`->{>FK_?It%AX9I$!1J8$Kq%kLht z*FHOD`@zC=)~xO`EjQdgS{X3xd@w&IG-$ecknORBiVru0+wd2#2FMCU#lE|vE~Ngw z<KNB|QRf(HjupjBI<kCiQfu@~Iq$L}&SPv2k8f?!70we;)(E_BzjDbtcF!C`kz$|I z5_Jt5&Og$cd-wi?{|qmtv)*&=(Rk4J=c=Y|n45FUo!;GgMi#3L4s(R3DB9)BU66aH zR!f@M^!e;U-}CbpJYS|M<oS5AMbe~APa6-Ocpt?#Vbh*vYA0lJZ8plXrk=KQpQ@88 z@i_DK=OBmt(>0S~a&9?l_pjzU{aNLTV@CVkgqb!4R#$R1N9~f{-S*j8Ge$q}$*g-W zoeFv~yTq(LB+g&!Zk%Z`k25xx@1;ay@dd`00W(T}w<<lVn8w$$pt!$k+vQE~Tv_B} z%6?sKpLM$F%{h*jJ#{7PtOeJs6cU?g^YH+~?@+Z#?}BP(lpD|Kkz+Lq&Nq3Hq*I}y z`5;B^**e3Frk@&ibvIv!G%m8(^7`z9X^!*vl&8yG*%TeyX|Q9ut!=&4G>iPDxB3<; z$5lMqqW4&FZgUaSgayz0{sas5v)JWW-~6Vb&bWKxy{$6GJN~Sk{xo(S`^RF>f|Z*5 z40k1!)g>NZ7UezV)gtY2XthD;ol46U8SGj!QjB^wT3B#Te0#iV=lpF7bC^~wXD>MT zXEn>|Rorcv>wHoTW;ph-X57m1R_RHa{H$MLb5pp*%j3m?3VL@JL<&E*Sy%W+J5t+< zRa;t;;h%zq`mL=?`_Hz|_%0SB`u1#!#QP%}6BEre+0_~5S9!8_D({xwXr1FzP*qnl z`BmZVO|HotwRfKUIsSRoGYglj>qpBIWcZ5wy*4kubyoIdYEMJB#nFrjS3HwuJ@YQq zz0>#EW~SDULn~geU)vVuAzNO%P+b1-9p?8TN?nov8LE=cq)a>?)7<Pg@8EKY3?WgO z9y$MOD@7CkGh|0DOlw*5U=kZY(<av^7f-kN&-nggr)+kVsh~^pZ>`366)O(jI+l95 zXDPeGU3)G)F=O%I&i2!i?r}?)BEqIvElieL<F7T(p!nCdZNH~hT&s5Eoah+CIRCiF zkDOUfDGhlOo;<!&W~$rTwOVSi#3Tde=Ej}}rH>Z3RzxOt9KT&=^=<Vc>xm~*!sM%M zEnl%l`r9)mPd?Kj$9P=cYhL1~nVUJflkDeiY`bG%e6QoZ+E)4WTPxZZzR^mHd_3j( z`xVb+9xeOLGilRF4e6K^p3m?6mwG2}lriU4-o27<^|4yttlMc3`|B1Lo5wp?@l;>> zJHa(4aH^X~?opk9U2{(z*!abk)j3r~=yq&p+&zv%i~09FXQ;J38?bxhG-s*3`@?QG z-uZpqYvKHypg(5}9KOrGRGlNEGe<wBZ_(0?Q{I+G9a5-R{6O&2r^?mllH0m<x2v#8 z{J!yJMbeJe69IKuH*Q^w@|gYj?;|Eog$+5M&!*iFc`Nkmg<#HnojF2xa?fVZH*wiu z(#2ux@QO9mxgg-r>MP0Y7pksIw3(OmcVU5uVC(z&Rjx%d%D>5H@J)NW%{@r8(MI^n zqfI93S^aZO%EKqQd40Wir}@s~ou+pq)=ql5#7(cE)#AbPz0S(-lNPe<`Tq6m*`TD1 zy|SCv1TLL&Nc0$I;N^MzrjB23@06H5d(#{1#)-$Bqry&CTIKd6$Z_?}DPNs-{e(lB zdRgJd>ff_;lnqTzJk?0kc{lfT&9Sx9`xJ7QZojein8b7YsBM#Tt?SOL@^@obxw<sF z=;_RYBZB8`uIy&)E!5q2F+Xq3%!7*VEYG{#woXeEc*XI0PoCs~)!Vr)Ek4eB>d5k@ z>R(rUzFT-aow=@zZ)rj8hKvhb6Mq!Dvlne%ovzNl;&s=?;@YLr$7Kp4H$U&&@%nWv z>nv`MqlXskn0lPyKLh`YRhu)nZ-1*YspD;UPeRJ?M>B++6H-GbF21ouEUx0w_7aIL zH`gc651w*7Q}EttiJ!AJJh-U3HBK)o==hKRQ-)EVg08nNFG-hq+?2t*;`-LTY;Tid z)qTvidCkZ-c{+3R^#$v^UYz@A6J@(g=m_%-!B<)#U6S3(=eSnNSNy69zV&qN(obtu zV*fnot14f>v)Z5M$GX7ZGsQFxKAFI;{@UkijeM=mZPV4;jLI}Ge_8t?{i-_uxj!{W zn0x+ayXn7`j1}^@Qghhy$)m~4W~Z)X{>r%glyR+DZo0B=Lv{76C3#;Ybt4W;;@G@p z(cHaO!m*R1S8KZ#PH$KFa_s)n;_p>%y}5cn*4{Yrc(qx`Kaq88Ozz3W+FN^+#28XG zo-4ex?zVeHp3T!8J?|A*wJ(2IE0M3Wrcdr-q|;-C^jVt=bC)Kc|8)2628ZD7lF#Oz zc00TL)|b=$<_4!FW448)e^`C%c2@bJd)n^W!lgF~r`ozEW|nQ35ci_BclHyWs=vNf za#K??qG$36Pkg~%6L@CAxv<j?JDNVKY|f1JWNEil;d;G)qs~^Qq<IH#J)X3t;$`%N zqqgT><fsOO&po{UxkKNpE0xpDUGEw9?diF)a)HI~)25fynrus@uH8%ibn1=<^R->p zy8g~Pi)F$mdJ26olk+$qbt6KjRC1xefZKJi9ooC6GQSKy``|wVx7Y74zg;_ji^{rX zU3R#bcH3)XWl+hTiwVW^kL_OZRl6jtPwj?(PRa4AXAiA<1XXvtO<bWEGOwlV{N7B* zMd$KbkKS3avD6~Z)8yjJ)!$w#N`#hAa=u%A^{zq8`dM$K-@Nhs`gKj^x{}wTeYcoY zEAC8kkJ|m8fz$Ttx!mOTQ|DPfc3o04+Ih(}S2AVFx$?=MR`oxRo^&=hhuL4j=i|wB zN~dlIWb%Btt0#Va<JYwrTcovD_nZB_^(^%H<WJ9bYxplb8D@L)vP!4H86SzNzN`aD z5?rg!=Vwawus9xI2t9J}=jwZhozA-z`c4Y;@YBq`+}RQ6D(WBty3Y;`D_SgGah4@* zaq*>1vo}d;OVk{{_x#=8J7udTzx-hE^J%I2gz~TjGGTd3Q+e-HPMNqxMxZdp^rid6 z-BL$irMRy2&f_}K^>L+w;FZ5wM=r<2y40PNWcYIOs8np*d=WN{e`PPqWoB(QQM#q6 z*5}mdXrbQqF_ryv_1rA4=ZvN;Cs%Rg-Tywj$RU3^`?Z~G-7+6%x*n>Ty`ja-HQTpv z+1Vo1na?WKEe<~E`Ep?Ot+lOdzD>LxsjTwCjr%`C)aPe?C+5umHYaS`zHH7gm)}cj zuYO<E`)K#4(5M$V#eKoEUj1j-n4hovbo;J}j>iME=T;{^eEckKO|jeF4w?F|ueqgX zS=DXNHLetXc(uY_KYpDybJV4`lY+H%it>^|r#IQI&eIo+jE&s8Z!Xh;2Tc(SMax#4 z=be&px=JdklF`3vT9>={nk?_^MA0d}Dn_Sns>n%j_1zBNborwCw5Q2)r|3!4)m)Wc z&G}W=W##0Ab4tP2?`_HdQn9#8LqB)w({6jqCka<PMZD!U<V~IGKYRCLh4Yt9o2yMP zKb1P;u}6MtL51zvSbouIC)b8(%H+n`OD!+1Z>YO!?6iDVH)CsYv9QJ8gKlYzQ`_p| zk1gJ_ZNs+EE|XiEdOn`F+sbl%;_Z{Fr;}dvIk3xA|GucUJhkkkN>5UbXbAJq%N|@| z=M<*iGb+5WQbI<)s`D$S-L>z6ZZ0i7TC*mq|7Y;MUCDh`K6mk)<hALs=hMF5tDDCy z!=P+m-S^eO;ajdozEQrK<1~e@%%)R9+!nlLZG15At6Su{_4?80+B`napI;vQW%a2i z8aixNOjiyh&JGAmkK__Oe)^c>chOk&re~f?vsEYbwXZPcefp^7M(;rtA?-P-JKU0) z1(hexU2M7hl-jvVmRo*IPbid{XP5Wy=Bn$rnr>*To)l<N=3zL;TlnkUblW{<--X4C z9Pcgu;UDMf#B+Va@oy_xW=L=ymN<T`FNl}(kE6(So^2mIUhy$9_f-A9Ix}h3JArST zC7eJ0=v#1AVx8+OEiJ8{2XCKDytmr1{%MS5w5LV#*5i)zvo@F>-E@#?>5+ZK8%`c~ z$lTy5HCeld_3fN6-!s!sol59G|9s)2O@2FzON+m8zIAa7w+x<S`QG83f6-*`LS>2D z*_I0PAAMQzpP^Lf=XC`ox4PWDg|D)XY(6Wx*`jFqc1fA?by?@4Z~r*s7B=zeog23g z2GnLv;-0HMJNH{#m!;rL2it0MzpS~}X6r26^Zw3)7Z0AK{OUTtX-B``mZ?j&gze;W zd&!<;7sL26l>4aV{T!9Z6y`Jcjx4Y{w9>`(Y3dg1Bvr#>#aFJJ&%18;^Sa??^?-;E z?rW3nmKJ95PQCPQ>ZbC?c6T#bkDi%O$!&hZ<H4+&1-Yu*Z{{*@460(NZhjj&<&I}| zL1V+jNI!N7(RtgB*v~jSVXs}z)k6<`wkOm++?}64eSyhOhu&++pJtv=o+sTHe7v&i z+{WFl9PC_H{YACe_HPYNOP-Kk^80oL_q?o|EyuY%^Bg5)KV@tXTXKcxfR*d-n-($& z4BBQA@89V&mWBotoN|}=y4JN~aii0NcPjk(=N5l@F2ol8aMy#cBA2wMh~AP6Q!U=P z`SS9u{xZwUB6=SyB$V3CT(f${zmhpkAxs>>&GU|%95LR>%DmxKL8aZ}du=Tjw|zP( zr1rDSi|x_!ec4u@B5nywuao^L^YQxHIJ4VRjL+{`&a&M?J}Tk1_`A)|81FVbw|!aE zkuWz*foYyq`clg@ZDA$Z-R);=U#3hI&bhep<j+Wt$4r}3c81m7i+gI5BDJJJ>Z`IY zi=kM7)dp+Fud9k<G!ot|(X&f_e_wP#y27>xUVZE<M5TUic2P~2-+S&3<HRk$f}b+< zp9>YzHhbLA_$%QnOVE-Hr{47{N$%j;t9i(Lvh|G<8^2k|X6bJb5_|TXtEhl|!Pg}` zmD^c2EHJC)Tl{g!B<XiGR~S-?=haQMd+}I0BJb{T^=q5nDU}!OzUgqzpyE%4;-<7h z&RaL1^xe3ndHHl|bI!TVPJR!!zh_gvw4zcx$L(d!!TaT+N=NhaC%AE!%Vs+=WD15V z^duA&&%F~o<xEmJv(}R2zw-mKOoh(cPm|~IGdFzsE-PbF=p#3lCr#`OvvipMY!`A> z@(K{}lsL&_DapRVRQhM%e(OJ{?|k%|xo73%XAI1JRabl-SC$7jm$Lu7vV=LRXhj7> z;pLSpZoRPob-*)*Vc*@)fhV^{oR?yCd+_;KwUp62`wH<wg(p>fR~I=LpEKA!rRThS zjNB^QRd?2%-5JXCU?uw%xo4}-cyMoia(=0emge2(lAOot53M^8RuN<nG11(<T5hkO zmZAByV;mvV!kCrkPk$NqFUd^E+<f^`cLBrGN<4bu>argyo-JLVnr0-VG+p9hqr`%r zJ<r+gmT!OV5%RMw{E3{0>`SB9+-p1xj<Za@Sp4#JU}B7Oq2Vc=<kMW7Dxcps22Sfg z5h=mEyYZOCs>w5=p8Qm3wc&Ct{Vaa=Y4FqMTccdIS<W!&@;IO@VR!dc;P!WqyV`a5 zuKBF1Q24fVf?I?-OZvw@nH|+OhZk)KFkmo^vJ}qVTyy4*kiYV!)h6L@4O6tbc5?0B zdBVo5_En;YtKCas`8|b=4ubNwN9qDjDEyrHDsx4UYQ&;@4JlKP%lry$l2~B4X{Ai{ z6}}~kNzcpkzFcOq?KBcPo-MzJ{obRQBL3VRi<4Fy+4k?xw`HeGE$vNrs{cORbLHZR z*?XP`ODgp4bvUu?#*z~gAL+f`xg_s-o~5YTLx%q1hsC?!JzwjTGS6a~@#&SP4PIm= zt312(^g?SXv*h!hOF5nsH!rrlIf+|%PC|&M>Pc;t=$@3R%CdG_Q|>72h*Ujw=<tMl z3rgjKL$5vAq_h4Qo5gpVv=)oLM8%#HbpeLQmtR}plvH-e(34;N(w6X3+U+Nc4A1*V zWglf(aZ<0yokgzwWf-q$q{N1k*2M?k+44H8ZfU(<epj|`YvqxaN%B3c2W4b}<Y)97 z1vZsE`10q~BoQy3HQ}d^2k($7bS=BDG*x}w<!fst0zF?WpE#-FkJi59s@sg3{B5pA zESz*Wf2-)kC6X2a1#Z^Q7S_0wAK{e!J8jOBwTHI!1Sh<(dh+{M$cj^udlps5`uohg zGK*>Fy;lWB5ryYpWh7dswB1^~Lz4Y<n9YkTfBty(?E1xb+*C2cN&JrV1V6hM-<BpA zUyAHm|LlPR^Skf)QN^6*diNacXRIt(b9+kTdFFeIGovD>2_KYHw$<3o7?&AXv%RM> z`*X^?%B8msyggLulEPq@7<3}(ppf8!SN_f~yVmt8Drd8vd}XON^*~CFgW!>7Wy`k* zS3XuQGHEX9+VMwgvPO@n5%26y-#aPa7x?@(I})yY^>5=#4_=|)kxN)SC*J;fVaY1i zJE_c*IA8i?cc_J(S+V|t($~kgW~BIQGO8piOFVy-HHq=}RKCEX`^z7Dg*h#YX!AU5 zR`H;8#o`?$Jlu&^b*0i~@8|ZPn)lTq`qYDs&wKurT;W;h;=4uo_3^!7nYZjB%M~R| zx}F?7$mpCbveTFQlB<G`0C)PFvM;NS<g&{f_s2~QihlZ8d{X(`_I&xdk<QXC=Q&wJ z-k!8cYiCe5TD9qfABVh|)$?2XH2$t!qrUYcZ||8^H8UUa_569q@VWVIeEOP}n4{9X zr#$Y|@3Q~(^<)2A&lPv?SDd=-s?&Daf7=;H_cM{_qE)WDap~W7xx|0Z{lb3+o-Ys0 z56_iMIT6XJ>d(x=6TaYQ;V~8K9rBv&J&!N#xZf7eseiauFZ@Nv+}hQfCp}|V;aM#| z(@`=;zREEB`zFq;8$W_>daa3Y&GYko{Bh~zyvr(Yx91n0XIs?4>2OY3eNM?ry|qt! zm$@>`Gu!!G`(=cRmy3Z(MtjP_333)I?!7tP7IOP(-(JR*Pj_v*{p^&v*AjkRw+jxk z?t6_qb5rDk+)l*rv`N0SrN>kIxczj)Vu8b7CBH78ee#ZuPtom7`yB&*>OY%aJmYGS z^*pWple*>S`A<78BlG0hS_OUolE$th%i`)1_{@GiTV&*D{rvmHs!4uqT5PjS&RyPY z>u2}PHrq)u>Byuz9<eetONAGHS@Ou_<lG()b1xM>>#m9MDZOeJr!z0luUanCyTkaH zv;OxV=c;5v)?2kZ1Z)<(B4;;0YFgvQ%Q}wbW}=1Do~^81xJ}unww&?Hn=I`glX65` z5}p^F^IvNh5$E3I5<kKHv&{G9iG0y353};DG5qea^1^0~a7E8^>}!J+I9N}~%)N2c z{aNRkCRIzvb5;DuR<fQh5>|HK+85GzTx6}ZN8|T}>edYpx)ySsxWo~-?ZgoSovP$@ z+WyZfmwHro3CL`aJilU@m-aC+6<5bOCCXd9@>={>Bz->dYUVNHJHgIw5A_Pl(q*co zoCG(VDrfRwU-&0OW8Woa!F1nM_AT>Yht}+v@i6#w-je4^3;#YklFZvs$uue6oU2^U zVabW)%{jgMB5xKqNUyMbqm|a_bmH<p!5!zUL(PkYmvD4TS=h|$4)hex`T5S~3i|^4 zioY5j&YPc|-^AVcbn2;hFAA>|2cB3VerDn}Bc8Pe$JV@wwbY(aCFs|>j$1(KbHUzU z%&&d8C&a2W*-qRhE%SWm>iE~PfA&c{DSV;TZ`k;4d!OmCiU-Z_16^xbHm@lZ%d=ES zbohFHuUf;V#6qRHI~2akygTdN#=9x?n00WEvB$y%wX5ejeEquWvxm9abt9_}#W((D zRl2qR^f)+&$wN|m-i|LT#M09P1$wv7pIFXNFX-<mv!YDk?Txk<)m@HDqju|E;kv!) zu+4^VChuZ9mWdzdN`7&0^B<ckDYq$i)@(e}B9qepzLwWpbnV-HKaQ+PiutqTd9&A9 z&DbSke)p~lO^7(3snp5rJ!8hlNfy6^on~u3$+-4pDhHpWALEy^5qqLbBU+YM<Q2F( zX)Ot}>X~%9G+Dzn`EJGWW!h>7_Dqc0RM~ZM;=#wtrY2=#-!~cATs-A&sl0r_nuF<O zi-iQ9lxi99KlCv96nHD5Y_}dG|CWib--k`)6<_;iQRvO5Yi6oHVc);i^6;^a%@HTL zgd2{_Ps=vCckS6JkFzu5jLxj7OnyD<%72E=)+2#y@3ac9JEqcm_}*H{Ee_wVeL8b) zV$YiT<FBk9tv>sAz9x5Rl8S=?*W9%~uT5m`j68OMBe73wMep+0O2-z|3q1H|x+>+y z(XLYxTw6R&Nj&&-<geD}!_U+e5{e9}`?L1S?#k2F{4COEHvfuL%C!I|(FbmK?2;VM z%Y7{u*K|^8@a37rKXdl7daE4`i|h{VmYCSK>cz*EiBe`UPb1qL@(caVwjb$a?Aa)x zxI=y_OK-~7<WGGLPeOcj?8`fP@^&7K>z#KbNXJ|?<c`5-_JGA*TRN>4W;~KNv#a;g zWA)Va=@OYR<K-QxPLX4)W^=!L*W7<>YiMA=w=c4r{W=r7%v@{F+-qOBz*o{u^2*ce z8E?;;xJ>ey&LVS!gL&imm}^Z3x(?+YnEqJS)!B5D`%cLYzMB#YrgdFxI{k^~SjYr_ z6}bb!H?*hTTiC(yc$wC%gejc`><-$(fmcm_iv;SuRG)2~9Ji#4C2LQ?jG2-)Ta_(; z{kmEm>vinwJeER<)&fTPQ#*f0=)c$J`L%vFi`L>CkBWSsS=YG#&gJvF_~gk1cNO!! z3>hsw8-o=O2A%F}myhbYQ};IV{MjqdRv)zyTD0P{p^aJLcH5PqYk7}PeqOn0aqXQV z{=Lo#8M!RUD@@(0Bhq4jcNx{5U%%HwX~v$uf)i`!q_Z%GZsp$j*5qMv-o(~>&SLqq zU$BZxxtr+gO?#_&CAIT$&znp^51Dy;eKWHH4==yx@Voz}gv_bMs{T1)3OjeVE{)!C ze5#t)wtGKTn9TLB?Z5H<hR3GKll=F;4C#7mU7RuD%*>g$&jfgXf4*Gqi$oirOyA?e zv&DkhVNs#CURq7Ly?AHhCWrFee=l@z?P4s=OG~XiC4Ae&Oia&XVPqv=M2f-tz>*31 zk_?}0cV9KX`ld5>iR|*MX+g{9Jz6n0NV+rm6W@cLlk?w8H5Sd<beN|+S9eOA#^(cx zQ|()0r_S>D+~mw7Cj0SDSm~Fpjhl|jOfr#3XDB?I9{K9Ej<rx~WTJ)T69)hKDnWIZ zNqTBrEm|v7LW)e69nFk#Ic{<A*@A65g_sMa=NP^H{`l4!adn<GRVB9C4$@E8OzH?` zu(&5tz-BF9)fTw(^z$Z5^^M<G#^q10`IH#ia6rQ5*X5<rrIm{^4;x4Z-f4avtZ0_j zo*l^+TP8Rs*;4)9&i@R8_qwemZhkma$t1v5An`di`AieDl#6rj0Tt%B;zt($8MdTH zM|+CYPAuQ`Mf%sHId0`<Vr3T&itZ`yWLjr%c;bBL;0_N}<IC%`tzBm7t-0nFyH14p ztLVz-u9DI>R?A=8;uEGUa75ym>Zk7|I>nb-(lsX)o-_XP-s6m9MDpZUmZEZ3J=%=; zgQ`Qe=`A^U?8Ess*#nPFor8G`m&HUMF!NAO6t_S6b>)AC3WkV=TlWo)$CR(SeRWge zZd*f-#oXDwM&dKe?yQhL@O;5@k<1Ler@uYwbwfF0<_Jd>iy3T?Q0Ot5cv3#<P@(7) zkBJi-4=s3Q9IT{c9AW*iNzD4ps`6U*s!ylyI%!ut3pijBDRJH=JpWOy7q_>h-nz7q zipQspS#5aVU-dyF-TQ@p{=U#jZY=5VMZc{1@av9yV(BXH)McuVkDS|{u$*~mkrmsD zu*`esG9GrtH1jN<^L?#!Y+~M)(#xtzeSXhmJ(%{)`=;$-s%+z4q`f+Q`5Atnum`n~ zi{h6)YvkSfcvXz{<bKz+ygGaLEtt4x)konA;j=TMjxJjv`ZO?0f+h7_@$L0{^Y7j~ zz4Y!Hu^wk1hnUID_xGBrIJ-wamhkz`c;RWN*T2%wVe47KtY(UH+~572<w5#JwtYPx z-IivjFFC05Y1O_vDf1u6u6{OOI7>ZnW^>UI!TC=^nhq-O@6d~k+!tX`aChVTm$CC2 zYqs@oD(9Qn6d3Zv@cVj=i|d{@Yn)^B<9z2@l6Ao(_gjrih;ZYjSsgv~q6dNlCN?un zN<C*ObDiO}>F#%TWH}`y)-4X$Z}e{4lyqD9OFLgOhW_jga^A4IAh_&O!LfOlP8@!k z6DA#VEMl=4$J;RFiQ9VD9(;1)LeZ=b6XGJhh0g3aXn8gyHR<p<X7zPe!9hX%Ckkpa zH=QXeFRK2}(CZMf-S*66k2Oy=GE15=Z*w$_F`gDGf5bR=!vV>h=UX#o{PZZf(!1`& zt}>6~_8RAkU(cHNR5T^Eb^H3{o=~U0b+LRBJyNq&%2;pASs%lvA=;Iu@LYYZ$ApbP z9q;x>ZP?iJPNsdehSERb&*>i)xNzq@XO?z+#p<P?kRVg5^~5Xk+xEco+n;+SYMODJ z?thXM&9uuUe6g6_mwkajk^bseK1Ms8S(EtjblEC#gIzp34!nFn%d%~z&&q@9A6HG% zRACie%QkaG?A&b^+w7jpgy%1-VEUC^vU}GwliuHt-#y;ByzsMJ%EYtJnJ2A&S8+De zHMv;LX2q?XIkJ0K-%$L})}O}g$9n1Oo%XIP(Y<WP#4~cw<n7?HIDT!C=bN;fkK#Y{ zWL;+3pEgl+_gDF-WxE`<zA8H0{622(${&4?d@tVG;cB}pX@~Xc<wa3pC)agcNQqgt z`KNMTVc(q4%&%@-j?XWxI;&QB_xRFO4~LU$AA893GOuVl<nq%~!g9^CoeIe|q3qMw zZw=G)d~$7-(lb3z>*tn_7G~a@{>(IDpBt~+y{}>NhL#iL_GalmY%~@2xLx+3TJFp2 zUKW0Zgy$btoKz_E?!6<YX|}Iia{))Ip65!NO@6gmrQ4=_dmZqEHS~25-;OZ$Yg;Cr z?EKmPGVHRy&)*Bi_ZFUI?Ax%d?nB|*FflQPl;WuUsa;9|1+^<rbG?(U{Jx@8K=O4S z|2@&%WEWYZtjkBYFF5PC;oX;|=d35|#XsS)mzwH$`+VM1sfHu+UfZ8eobMHLU?zk0 z4&^-S{|sJna~^lOt9qWlEBi|6%qfodx3@Y^FthS3`?I&zX~|Tc<C6-5a%>$;RSNli zHmteR^w{jdr+O*oKKGbk7aq=NoYQzASyWOX$fM@SlE!nD?=<J7TW2XNeaZXs!Qtn| zS*zI%dN?eW|9!vLZ<5E2>5h$eq*^B2S??vqmw1FtrYE?cd6tNn%EYdzSG1UXRR!;y zoo`#4ZIpa(YZ?oa6?3HT>4~>?X*Q?0H0*BUb%|PP!SJBam&<=^$s!iX6`ik-d(CNZ z_v$>(wtfm*k-x0g6ZeG26Rbl;ZJu0R5%He++9D5L*NN>4HOsdz^$9;CYq4UH<Mvrw zw=?9f%Ty37Sezjf%*|!a7&x7E(^WAhM>P)R6)WcF^hI>7yOi=EKwd)ks2EdGrEL3F zze$3j<r+`;w#+_P@kC08ZPDpT9IN*glp7`Jy}LKHtzCCgVU*#gJr?0MJb!PU3uJap zDKc0PYMF9-TAGFIsxuNnewNI<FTaZNoLbHyecx{D++J3p+=rDcX^S$a2soS7zKYoA zytmE$b$}tuZga_V+8#&PY}Oo}*S5lU{@%W+DH9v^uXXvM%zwacPuN9=K<gPPT~15- z?5(zhZaySa_3h8Al5Ivz5B^@99JP!sA#gX_qIpJ^Ust~gZ4+DNabF{DYq_!UIme}L z3C@B++xSK0_zEmnCS*q2>|~MQx}+ww+mok$YRHxr`!oJ|S1XfjW!<lYn>@;>|9|;s z>l4?6ndjblo)@_`B`1K7!{+m~oquOfjai`jyFO|+*Bh+}CjOl3Yz;YUF7CMV^A?*Q zdw$j=&9{5@oAI<NuW4rgx~5^rlwFVe8l+~<3uQkm?fA;-Nsx)I<l3A4?-|us$ZDOK zvnQA1TuhV1yu%yT)L!?Ky~Y}`SZ136!}n#Xk8=!F(tP?Pm|K4ZaLy|7-m=o(P<`jh zu%|I|-;~SET$7+DIgzKr@y@)gCsj2$%ZpFcO9drlY<_#*{%=;zbh!}i4U@|L9QpPu zEGSxu%|++Hr*fHjTJBSu3|Laz464I&g-*9LFa#gw|2(T|nvI^t<9T0urZdjz_!qlh zJLO5*n#G%Qk{l(E%kt_4t;^Oa)~TGpu;=rfD;p(LdJGFB_q}*mc;#AlUbyz|e!r_} zN~;=V9+Vu<xwwHp;bxq9`o>4APW3%(=P(YF>}0lhwA%F1G5(p2&Bv;*uH@{^SUe&3 z(DQxuzrOrfnDN+S@u4>-AM_LlNKOkgGJG(P)uvL`n{nP%oyKK%BN868ohvWyUs~~> zp~p@(^Vi0*4vF*X>V4U_7l&w7)km!?`1YXgpW1A>_C^<NFTRhu$`97YADT74{m#*% zHjhtbyPAJpQ_0tQ=MkYTx1{IshxI#4bFDqE<w{D4>)kKsKGgN|{!w{8^^Hb%Gf%b_ zPpX<wH}zFw;fIxrFV0dvIWxYf=kw37dy`kjy}WMyuy&2%yvL&bCELx8zI_+|y}M`L z{NBiI!Vf%lhFY9voYU|1F4M%U*8ZV?r>6G7Wv|RWojS*mspNaxeQkB@mQB9dGOM)~ z?elOukW)45$K}Jfp8N_H%y{b4k}}`l=lc4W^GvrHYR7vBq~}@B`fO<7vb9O=#dp=z zr;+W<+f7~HKAIvlDVO2FgO8E3LZ9xv<5peHH+S2odZ~@7pQ3Kru)p7UkI#txO89h3 z)x|2G=XWT3Y`pk>;@UIQKYf%r=G+=n!u>jOK2ME&W^!KsyX*QI_l(b*wmw>Y!^Zp3 z?pm!&&RPnmH%hy``xCy!G3DE~ZLf2;Ea>hjY<?eo?iH8zN}m0?9~G3^PQ34b9XZ|Q zN$wPF;giLmR=o4IIJ<WLiJB?F$GJS$yyV-!5V<BX<9Lx@^nIDjU4psG+H6mXtzoJc zyZYL%@1bPVQS(`a2akq$&pxpun!{QC)bdH;8J%;3biM^PdLGG~`u^F@NxYL+`E&d} z*zWv>wZgrpMq(3Z-rEfgb3Wert9^gEkw(Vkf^Y8wV>2?fR(mpP+?n8~8C28va@x!f zd++vq+qBDL$IWxKS#$E09;}y}`ek{q4Lj?deAE7SPvQ!!9^cznv8!|K(~8vCR!-LH zk8x+ER%N|dJ$skkvTxftwG6}LE50k=+SmSJdbjTSF1I&gK^8oPjql?%m8UA_vwT~- zTl#f}`fsPY7YlwLp2X@JmE|%&%X7tT21CKm{L+o*Uk2L!Uf6IcH*SYY-Olywm+RDH zUe2nR;Qp<1smwIy)-|u^ch{*Uw%it7cX?`@#C7|tch|5ls<?jS+bu0#sf(xY-A!;? zRc>JU)l|M^i^rD3dTUo7x^(|+8$-{>_mTBHCc61yyX%FrzS(Ea{B$Az;DK-J3qO60 zo<A?zIVHT6UEciK#<{8dcaJ|)p1b{{qVCh9nM&VJ2KS%a`uHR3=Vd=0E8A{9o3(b@ z!k$yVMRymT-)a;cEZuTLIr)Y_eblp^OpdC5f84dKVEAJ3=T%v(o5i<Y*AMp1%s;P| zn}_}0^USqhQrR-AMCGL1?^5Sy{Cl2HobM&@CVW<U2is15ZQ&bVm(6~bCUlVP?*2o6 zo~@ak`d~V1drWcgwCEC@Rh-N=Usvr+bH1A$zH{oAhf?Mr*D<VkymjJ|c(W&t5;p7n z4Btl?#h(#R3HMsk7tr%{P4#^<iJNm$a@9X97h|7L<9S7Q-9+8GpM3?d+<%)si7VW{ z`?t*zw&|^0hWB>$3uhU}-#>Hh>^8$gE8kRq4*KEk(Dk1oqAh!6Q-_B&!@0-vroQ;B zap(>I0+X|P=dSx)ersOorFinz&gA(~t5;=C+w}6gcJ98iPzB~!*+maG{7#NhVpuH8 z@MVo}(T~W??W>tg5|%N4{A~DTz0u^|I~UG<kox%x!*xOSIXeT^SOzWI%PBjh-%6D^ z&*DFW)Ugj<f7=fms?0g9f9~ch-@NnIXFu6wO9W1AKDkEAHX`Pey?jMoT5JB5<?qgY zW%wfZ_3jV;-{O&%CP~juy7cz<lZOSitM0ySU3)}gSC4OA;P-_V=c;6`&;B7CBjvYY zmZp!_Of9R1ov*T289!fs`YQj7Z^yP>e0xl1ZBQH=$N8_z{xrC2-Tuj7?(@MnWZEyY z2|q7s#LQ_t9`7X=&%4KG(>)LO1$k3jBK2HO=e#&~?ajt5?S-~&S-p3ndZHuOC;vRp z!}0i)*6Lodhf{OQ@3^#Ed#0ZJb?xl7=?i`4<%mg#Tl}2ysb1>ZqdNzpQ>Jvhf8P2y z?1aL@y`M5)*DiI{>^q~ZHP2Ia-`2~#+J_fBs<rLrn~}%3YST-pkcPE;<O1cE_a9r@ ztK9feC;qlo$TvfuiAGHU>FRPj)>%K?duN-~fy*)t9elRuSFWuW{81gdWl#28i(|TT zlENj`nKsqfC+(~MHiswnvAv-TgK_MY{|qe`&X@o8Jy_<!Fg@ev%pD9@cTD>hKR4;l z@xSZXpGWSBFpuANPc)*)^HuiZE>Y+0>b(Cd)^Y4+<lvR~`$ur+>(9kq6XO*oGTgCZ zk<GZlD7|6z`KryLhtvv{ddkng3|V60W_RVLk>k^M$79k~n{L{ir(AyJgWc4{f0ql~ z*?3ZF+N+54Ppiz!w{6?@pCNBrs=)&5*$u{DR}^V3;=Vmw*Vu2`ueVo~8$A!^h}m6z z@=s>NRh#7M;zzw@*K^nSZoA2O?BdP#onKcK=q>%|engjBQOdR7dVlMwdH)veJr-+q z>fSBYEt0(+yp4^sycS0bq;@Qu7^)bm$Y%6h-s_Uf)&RTfO8LhfKNp9lHQL-*Tt7=Z z$AE1;x3AGn*|)j}Sa*L{-|KJ85<cybrM~X<A0h9wEKZ7U)VVIiagXQdGv=u>pJyGm zbD5{ob$7C+jBD5060=L1EPK~XOqj3xow31o*Q~Z<U2WXgOJWbW|8e-5zi_?5j}-}* zZS0gMHl5cN5Rv(meS@X-uBT#0-q+95k9p5GkBzmge>#EB@lAEujI5fkLMC0lH|h_~ z7M&eE?b*YgwtEVZerC@%ioUl`+%hlXQmOuam4_SH>$1=P6UpeB#eC=P;`${rTRIAR zN?5KhI-Z|2v%26-aYK<GZ+>^?l?!1TrCx40vir@SEes#$ZA~(d_%!L%V)>QJtlpkF z$;@CqPxEbRrUt*jrvnn|YZDVybjq!2Hj2&*kd<HX*kbkh6?ttL%4eKHZ>`xg@qOfm zTQ_-ccBWL^Zo2z#YLZI8^V4xV|Gexuc_((;&(<F@f3@wr4~m@MxvX4WB2?Ako6;^$ z@$eE&g*Fq}tM2x_LGfFoc^CZp@}EK2VYYDsQ$pyInIfOt-hVx-Gf`)<_VnaqOnvi% z!>`=;GrA~vTc^5KGwjmMl+YbhRtwHy3`~rjI_;YOj5j}LU)#Dkdv<jF7QYu08YlX? zT~-cSTe9)-in^_NVr@^Ro+x4Fev#oZsb~7O^2Nn>3j1apV7_fSzt`4L(C?hTyy4?n z*RPbUmF~>XO-Zd`DDK(5=&FawTH8i3t7?VdrgJxywsuMJPB^oI`>C6FUd4gcg10$j z=P7J%+98wb_}ygktpl=Amop!?$Sq!}wz_h9&u%HRLnYi7{+Zm?iJo2S_TrdW#v;zS z_w^Wmg&6AoUEM1DuD>9S!*GJ#)<u(#Dq1f{+)%uuFf@I~yr*`jB6XGXA{N{^T3vi= za}lGd_Wmug(km8gEi8L`uK0b(+P8Y^=6Fjzoxa@S!0OexLWd?t&eWURcVS@xYwX6) z53eYD24^M|Pd@ZFBZyfi;`p<Ev+}g$^JlVN-QwtW`NScz!KV0AfBf1Ezil7fLTn;g z{@fIumiOg#CDWGGW)CM7`0+2(is`J9I&rINx>=u|WZ{9I4kFk0Y)w^)<d0)YxA<Zj zrv2KvxB0zHilXR(mqN$RZCaE2$5QsM$Cou-MoV_?p6C?m-oVdyJYO_U*Y0QZ`6+A; zMFqEaU6~%$dhVdg=VRw3&xO=1nwgcbBk5um<DEZer4}+we&rkG5VwIx{rB$0mMUF6 zYfh~<2oczMi(6*S@6gt5V*eSe?|BG3Zw=h8zTc}?$w5v#;k!!zl>LmJ@4Ke4on4cp zW3z6d!yBusCsVfvZ&UL6dg#}z=R)URrUZRrcszIa4*95ko6fR{)%H~j6mfn(nl@ow zhTEq*H5(N9=UE<HdFg!Y%xUK&0+o}eO$xhvyukKsif4JvnRzbS&(;+%9ys|f>+Ph9 zmYVOA-4^b=Rg|^H*iYM1XUoqVPd8n)w+D(=-=9^j)gE*_e=*<TTeGhFDc?GgEO{`e zR8-pEl3_sr<Ku!SkLGI#-cg-xQR$GT+p{}Ye!}WobrT<6=2k1(Xck-iY4Y2cH<NU> z8~GN@=-Kef?wzgH-@T`_j9le;I8ItTzb<OCR4wbI+Vp(sWz*#+tnsjvuc&Iunq=Gh zWKG*8&lzg(r#yI2zT8#x%)up7-44v)z0&x`_T~GEWVt9o$=lx>er|jjWIZ+X?ZeI| z5ld>4lOF4SG1WTD^7#9$y5!f2rCbhQMK-=N>|DIPFKM#xh2%MW%hpLw@)Nyy^B{BK zd3&!VZP8oyUsMk5yB9n23DeG(ez{iX{$5=qWF<e_{_w1)&vwjBHy6C!@wkPR_wVC7 zkCtw`vSf!dbBw3-^LHyA)Mh!nR^PHUwX^S|nO~>}v)q@{rJrWGZRzhWW1Z1^L^yI= zx7{DxOSgX}GtQo7xwbl6d$XQy{%xaq5&hFYE-#QZpKDN-J~8s(fjG-wVX-aW{be-E zS+@OV<DNM8-p_TtxeT}WxlNYIW1jpzz`snf%f(ZrB(Qh+{Y%T-It5chi~64_SXkP8 z_V>7CDS4^(f&R&J(YBxGT|FOt>voLSvwM-r+Mi|b8ed<VaW<dHo%g_Q=_U5Yf{l&$ zHm0?;p19_nrmvK-@zb;e$7*{6Hb?KySW?{<+H0A>aNcglnhQ>`3#ylJD*xGipFQD~ z|I+N)yPafQZ7SYx-JZhyI<VM@Gf%hX?xIxn1;=YXpIF4ou%}<^)bn>M<jdyVzxh32 z>xl_Dwq-qXwVL~H?5gr*bb26qr!LQSQ)bK-uOpLuW|k&4F&sF4ZB_4tMy@%{2fnTq z6J8S+vx&((WrBg>3#~Oh4bxh97XG?6(b;&~l{4!mnoLkm^|!C++RpTM+C2@CY1|WP zGnb|^_@r~n6>s@!@?+g1BeRnXI>px|)-GaBal6xIbo!a*&+o;@w}$su^-nL45x84C zZ^_kZyL(evW5muc|GM1v>icPRS5^rA<`J^}?8CD&U#ZQl&F!w%_79)0FXb$fe%dol zS>@YmH*QZkr`3CxG28abeHEGbGtj16p0jbgrOmu80;h~u9eerA+GLH9<#YL{EpoT6 zHZPv3IwAMqN$z<+m(6%I_2!KH#|;$+L|#W{TLdoMeTO|H=9B+YCNYifeLp*ldKzy$ zTF;TUq%6GN^ojKTyT@~WU1@yN=`MD}%YyItyXWggg+;jnBN})2*H>|t8BaUqs&ZUX zUA=rp^)IeW@xX<@bqd_7r%66qZ+ppIneC2p{3DysAt_gKpCw9f(79`P&|<+PmcEaR zKkKLVsjxJiGJ8@LI^*4zXAjfjY*{l*`pcHNx5npj_%(N}xe$G#>#Wr3$@>+O=X@~{ zn;^Y1K~r^#cfrpCcRZLDSoKWy)SM@J=gw5^{#onWm=!%#WFAyqmEN+q-Y86Ct-N#3 z)7s-}nRS$%Kjpdvg)g%T@;I${pYgMd{O-$3Q*PgWrLSd_tN%y)>)K$^Gp(Bzy40ll zpW!cbG*a!$o_^Y!Q&Lj8@-M4S=d*wRJZ`GSPu*lVr{u)46Y1MeM<4Q<U|?SJ<ol!5 zI#Ru-jU{3uzTByrl`$!0LuUM2zT3C_X1-VuI#c(XVjnwe$BDc>zofQw8U)G+%9{x6 zi#9lDd(v*oNBNIU2djh(dwvJ7g|3~`<k@@W+#BUL1q&u$7hUp_rBJJKwZhGb=cG$* zT)5hv*Q6_}H-G)Qs#qiQ^xL@V<el#{c4nlMeVXHSGxV6h<jG%G%9$>|KP^7zm4)3@ zo4A@Dn}Z#Te>(hIer?947@gaX0`7>uJSexNajK$#{Jlj#18dLED4eyQckg6|^-3ok zl{H^frA?A#=+N{%UYI=3(PZfykBzO|yWbb~R0Vr@3TquIP-D>gIB!o-%pDiyisa^V zNsf{>6SOoXRvct8e0#mCbJ6Y-9Ys#hU+^k*9KE(v^KMC)-s8eM{y#;IT*-^{DY`w= zr}y9qmgLK?!;{;7tb4t-d;hYF=j^3sDsAi0-g&TR^1LVCma(eDZ}pTZTySs6Znn2? zzph-^?lUjp#J}WaMGo5iE8qK1dUsC9d(Ngl!-IFKQm&r1+{jsdEVS1nXT`CIFU;5G zeql0{=-u-s?<7n5{%yYQr8=Ka@3{4@=XuuqgY5Tj&ANQ(vX#m0M$7m>m!eEfX{!^@ zo*94M_4o1Q1AnxnnT^kIIlTIN;PHH~xuyCxlMV7Gl*#avEjw#aRI|ygdc%{e3hyNZ zc|?mGb+2%_s+d`?oI1;Gu5wV(0=~kpYpbh&-+cT@q13bCz|Zo+*S_t(+xK}Kz1`v> z5wE}U*X7opZ<mj&s0J+BuF!wxO5fp=*J3QpS2;gc&bt%(Y?8%ImrsdHk5$iKxoXLs zT`kpXc=*abpN*b$z~{Ber!9R9lHC2%?={90pIxkTR&?tXrvf9Nx&NlNnk~qEdUVT~ z=b5LD7#}srD4TG1^WOy?vM1GLR(x5jv2dqg$CsDNch(gu_s`B>%Cyt%(!0tNnaXz2 zPlW$C{MD}Fwy;@NJ;g?V&6@dDw!+I_zwKTwb#baJytOUoP2QsZobPsde(&Z_WzwCo zR>9*)y;75#yK3j#5Y?_XZ{ls|pHX3zco2HB?sT5gtVao!s_wsIPp&e|61(IhWYJML zca491aKN$C`xBc_r|$ZDLHViWKgHLffA*@~5#*eeW?>O_T>1W`Epe5-JvotHC;VB8 z>ZYE5^vYAx(k1@5+Db#Ql%3HtA9Ys-uv@<3e50}b!nM*$mYI?&c{UHqj_=i7v8k+L z$@Z!I%$09yS4Ullh+h8dyypInc{AS5n#L0Lp)zQ(aiw)Zh2-j07o56hIOnTdTCn_@ zzcy^={>Is2pH<d0TQc{^M=dnDE;RR~_}t?Gh5;9(_-$OT$~a4?OGvQWZVX#I`*iP} zW9El1Jf8UF`#PUni_PC3VBYs`@yqwo26s;|Mo4SzIBD~5s~NMKS=-A7vnHLUa^HhF zJWoRObZ4yC-r(M6wCBmJ#RYlByIvUYJa#?KL$=MDIqc!oOKxt`;t4kY892{ptqV|_ z?!KePB<=ah$qnwY3w~Y8J=*e3Wo9Yc{4+m83$(8M>N>L7Yom1gloe^o4Ov@ewVZ$E zY}l*#g5#CFuy5B>1zlxs(W6fcSst*xKC3@@*)-2TKW5q9(Bb#mH?7KVp_0a};)6Pt z$uBg;{V(UTbR~N{*5mhiEK{T<E%8!MX=3!7^UoCJ_RPu&3lC@5le=*W-;LK{$@87v zG$mNH*>k&3GT*+mHs)Nf!ZgjI{=W~m&rb}lZj{)(qu<E0bnA{Fr@p$aitT(#kt~x$ zbqWqIcvrWjCwIN>J<gl$%GOnnU&pLHV|Fp-^wT!O=L{*&x(%!&lxFAMj7X_D=*T?3 zIDFm%Bk4@NDOz89epg>NPZyseb3!t3Lc(*4{|v7$YOUehd}8+Ff=b!Ct-LYeW;27_ z<b0O--VK&u{`h_Q+O<1(WJ*RUED%`m)PJwhrC%2%3%OS{_W4KY@4IX@Wox03c51Zc ziC;k*j##~&!x!N4DdBO8#reG%(z~lWIy?^Tc&@y0jcVBT^jX;rEG^T2R?Vu3x;Igz z>5fNK;3UT&%T*i1r=9am{rqfhXJCWB^SonQ%Jy!_%qci?xTx`5w(Yxz6DGV{B<_2I zeeS)smC-RrHhU!Xb{4E^5V~Re^ZUvTQXB4OWjJ&REWGh>_Pn{S4zCM~e_xZHuIeG% z8&SPtQJZJY_DUs%gcQNQ4{TpF2W`#$bo;P|R$=pjKba;*y?f_uc>1ipFnEsKgYwn7 zRZkjal8fdfXIdABow;;^>m>Vh!N-$4bACxpGwD*|x~n_e+{v%FE3>1O+keKP?K9jh zWcZglnPfhgd_JsPy>WM+uW9!Qm;VfzpZ!&e+ibobO`9E?7rj94O9TJuJ<orJGG1Id zGo;Vb$Si$1^Zck&^RAWc=s577!9XX(@IhGX-gPSi*mw9CzAN(6D&NkMTgl?%9+MI@ zL9#Q~s!{f^n}?<DEB@qgA<wr-hBu}%Y`C+8cggd$&Zdix?~F@&HRsQQgvax?^z7<A zc2R;;nCIPjn`^m@8#ZR?*&GS!*l@1A?CYxSg%+JR?|2<q@5k_U&9gp>_|vo8CWRbx zu-A_>jyC&vw(zs}za?_bdri7JXO);vdl0kq(3-?Xh5i|hFN0O8=JZbGN@DLTD2(Ri zDU!XZ*|((lz}vtr+b%X-Ta}jAX!nx++Nu|e%w|cfb;<i3Tio+q{nAS3Wt>;97pH!_ zx^d1|%hm5yJ~y1t*qHDjeNyd@6=B>9?WY`NKP9j7XNT>+EoQ8{XZ%@oVk4(ZP4dh8 zrcu_JlZ7WFr7J%@XS8>7c;^YuIcA>6*UN2XnB|(L>e4I`nm6w&Z)4r5XKF_#X&Sls zUGj6Y+bVlydYZl7(IZ;N)ouGKEmyEi_mv3kWU0J+oIyTnf@@iLfnuk{&n#&zomIN; zl_&O|dG#b&fzQ8A>q+3z>(-98yPnO_;j~Mf*!`(4@A0j*91VxwDzZN)4le51`DMTD z#&2zwmZ}xUH?Gx|c1#rLu`E+&oqZwX+rcD>#4UA8p6`vF#Bu&T&umY2hT<O=&#<O? z>P0Z@WT}03STxBZ_YrGZvwF}K-Gi-88krJ34=WyDn<6^XgLT5ZyRY(?uPzPT^Jl5Y z@qO7*(za)|8!u2~RCIjBux56lN~F%dH2;q>U*3m{zco6!%SiNq4f8QAX(rCKZ$)oD zcH=oBH(ztbw5w-YzwzGN*R*!_>>a1l0t)Bx-(B;2_e)jl+(n1=EtDs}_sH0#^ZkU) z>lRnLzuH0E5m(;cv3OA&le=!}$~)F~&P(egPrR*sBixl!z-^;h<OWamIY}+urmCHh z{wn%TtbR%v*Cgs<o-^n#Uuo*_O03Z{#rl}loRsoo)mN?8`gZ(h=uF+c@r`eY=fsO% z{meFXMNDi4(({k4Fg<f|W$Mq4SDvq9-jq!@_Enj_?U`B~=hyG63tvn#bX4|xyT7-^ z@a31YmO_5JmTWrzbdAb8g#@XKvvc}#<6CWt3V&WRoi_LBseL&uQ<eAeZ;jZy>9a~n zR~WBy3R988SqHJVIVFD$%qOc%5_``6{AH|4c-dzsrz6SAy~msCxsGhwoGrUd^TgZF zpZkw3+?)L}<+e<hWdFUuiO2Uc<U86=Rr>g8rG0St!bx}6@m$!L{%)rV&+n3TY35g? zOSsu@NhIX!Ha5TfvTo9)>#?2TNw-%uo@)MVZtJ<^z{SWZ-cKIu-;wv4(9OMiLCP$9 zT{aHcY$b2)PW||E69acWwwc&>)ugKWxYAi}B@N}G4JS<&8C9<=nPRWH^9KLD_dkO# z#o9S6X_R1id*I-oEX}vMX*$MFPxuF4EPm@8sk<i0eWus1Z$|@qt))A1RgB!0g-%Fl zs;ZJ|`_B-t<Fn0O>uGT_&t0n3X1gEU;dkxD!RhwZ%cFK(FV9=5SRm*hA9c1dEVuZ` zIi7MYBZ>4)jnUer3u2;J_Ea|(EVoxHocuo0<3B^r-2GeLF|B%7+{f{&>e{*6a?{xB z*!X{3Fw%G!*|@!3E1=*_rRCRkeaBt*Y}+Po-t{?8ddj?(upBw5E!UH#d3HN(<k?&~ z!$Q{MX#RP%?#!hv{b5sd6jp>;S}a#jTG#%vPVV#KojdjwsyMctxVdq&ZDF)P)XOpf ziAOoBpFb_Le131wkJs1gk{p+|@5<zmUUKT6<+^>m@t$ppvVUiOzL6mFB>i>JjZ;E* z@4cM<>e^Waxry7twoAusb$8z<^iDy@*01{V!Yd`aQ-!tMC7Bs#Zr*am=%u*Tt&>(B z6Bm7Qt5m<$-FW?=N$b^hQI2`;r?;f9_qw!o*Oo44sq-4z=RR>TUw$2PbnV(Ve4Dy& z@)RBm&wM%WD#xxXOFA$3=s)jt6kKr5avA%Q+1YPh+-=_;yP^El!9wLKx2&UZaHM+p zrz;8C>Fn%#lW(hDUgK$Hx~9)k$M2He)Em7~x413dPCJ`cs{Vbh<El<wF_&%O!lq}p zG3G^-vA>SiUFoG5@n`Qte|DMT_c4e4O-@aiUDCv!5VKx|F}D5NBon4{Vv$LK2X8k= zxtw!*Vkf_OcY|L_YB|FkIeV%735&hU+g?5Jke2qd;;(v=n_p@%ane~Sr{ka2)|&rL zh%tV(Vev|dQ1*#m*X{7$cru7Tdh@0u;f($Pe2%LRT;rW||ERL`-qn2f7%UI2jd-V2 zyj4Q@ZQQl^Q2maFEBTJ@Vf6N#XY63PzR-9^l*XbNtRjI97}#K$U*?w(PljWUMUEYm zx!fr~HTnLljgbQV(kG&q9X(r^l&!HiLdo*MuBqFjSRJfq9ol>Oed+|=C(m4M1^w); z_N%S9U!pQ$<&)IfO#3a0TYJt$*ICU8KkvJE->h`wm6=6rKAun%TvR;g6K~k`0I{>% z9@#$KWtN@0$6@-Z3k`<v{ko*NJGS}vJl<P$?zoSBuAfI%)ZDwboEINkb%rl;c4Ob4 zYbh)9l~0SUSZ#W&u4ev(T5bQ(wqqyvUkq6xU$Jn#-L*ArD~mQ{8rc+`ZMd1Y{N9GN z6ZfwyzqDwxV3b0nf62@KwduF+-9OpC^_EEE@zZL>^S!Dnl0z?T*}7rR4)@f&RYvu~ zzE|6J|DDfMR-GF0FLp1(@tP}HF@8b+th*zhxJ>n{)Uo^U{%B_OkKVj37nkqJGOC=p zd2fG$-PTzqyrqKc^-iUgvabs*sCqV&ch0t?;3@NWXrGATIv1|-RBhHP>t+3?a@t<s z2z~u}?>4vOyzNC=(@s7qyfJHkvH5KN_iT4Q9p3rvZ2GOcrb~|MJ`V5v&+v3cVo$l` z@&rrikm&(apH5KSRQsl{OY7{4ji;aelu+iKDKqiTwW;T)=*ceaaGA-nXkODClhxWY zMOL_ku}oFS`?i3~T<E;9$+YY8T7{oJHio!(FYAn4d?O-7RMPTwh^foeytre>4LR8a zzMXhIIa;vt!^@Ay>s7K&Pbw(#{B?m%^z0iSbC)%oPo|5`G`-m*ti3?TGT<)f_qB?} z$%V$zr*7{&a6D|KsdlzSlHgHp-Xk)N6MYp778=BFpIMr*R^371VMx{EYpY{#-#Myf zx+iecBnOrUS1w08O0Bk;<RbE1`?%cK_Tu7oi)ZRwF5UjYP*TS>Yod|K@~v0%*nTVw zD=I4basJwdeBJfkc@>AP=kM5ab!ztQWtm~=y)zzXK49#R+RXZGVZPxM2X5gl8=jYG zPD<$RUd<Mgtsb;Mz;M!m3#FA;<%*?UI*iJTk7i_vU$>gsowRlFAwRz2>+9{N_C7gp zB^|x;I^T`sPL;20R~?vlKYYvXIjSwUZ!7-{IiHxECwagwXMe@>N&f4%hHu|ywpQuD z!kYF&LVG5^(lpgrA9<_tIk&Zdv<y#GqxTf9BEMIS`5Oc`H_mx3x_ohF8~d~$XP+FO zxY1wBna^R3=EAVt>%xXI3?X$jVaIMK30=DObmsK$vtxHkybWpS58S-T@tNuA1fDM} z>85d~vg7Sf&677WTFg>-eywA1rtF^vf5i;Z3ho1U=M`lcOX;lK_)E{M-)l+3+I26l zvAs;alXOta&3OLOG>P2YZ>HN%uz%nA<k$63!>zm83@*K$CpbZ(p!j`6XWm-liJu!d zk0)d`oHfu<WwP2?X36bev0m=xG))7Ux2ea!t~tH9lJi#AOqO|m)>mhy@0=v0CoRjN zQ9n0!qHgbR%X<pe-pefC&Myv6+?K}r#J9&&da<QUx$LS{hgAaKf7)~C`2w2>)w3qu zd$_pEy_YXuI+^|5gv$R6udi&8IlALs;=irUjmPaP_x{@|w9Do8f-v@Z%Nv7ob004G zeaGO}MW&ytc+bC^dGf*UAgw3!a}V+;vnv$N%BWeX!QxYC?eFX}=>+FAg9nXGH*EWt zx=OE{urR1ueSV;WRH3i+Bstv+8>BmI_h#+6bi$$6zT>Ui`NYd6UyU>cHI>WneqU7{ zWS}CTlv8wgg6+R8Z&-x(UYeF#yQK7d%#}=~+bhCz%<6JJH&tKWwtAvOQ3d<FpYKEE zg7em_7oX+tI7cQ_g>A}ZoyDmeKTBT;2{!pwcBaSROa=Ez)^^*hCFOBN&qRJ(t0$g( zwjgu8bDQDn$rpBhdGEtLZSzTmh({f}jxp#Qm$aK&B6ja#gWn$EOAEbM&lGSwYOq&= zC;i5ilqHu~cz5tEmtU&Za<ka%y35LdqlTZE@3nmje)8F>1a$LFu_y2D33iV2XNv|! zKG;=zq(?iU?D@Uvnru6FY>S_5mmu?4Mn2hhZm5^u-!nH9_;%QRb@7zly~S_#90muu zuhwTm18*`2@k~wbT~IE!)j^ys;`?r=<P*2f_|;1_E=>!#U(vVaW}cElepssg-RGZI zghkvga0pSjQ~Yw)7PTYu;_t0G(K=sQeS^ruVs4)aCkl@1ey+X4UtiS~J@ufI#W8=` z-D#WONm)iJ_j=~YXxRMC*rfJsN0QMEma4L4@7?QlCJHJm$bFsH`E*rY8gE~Dz!@bC zr}rmczYJ-5+B!`oS$eaE{Jr;IRu|n_8E@$K_<~Hb_Lr|~8aYbOd}g@w;Q7Qai?Z8q z32xgh|L8@<+c3N2z)M#*D9vd5Vz=+u!hV6%eb1Y!u37He$ED&B7(I92;dNSf!i(-O zd@@tcF{|$g$_O`|UA0-yo1yB_$~$f<sj4&mw~K~;mGJ4GIa^k|C;hemymyAzbrw3Z zUw;{(P>`6rhR@;2ysds=+x2-)DjS)-J$0D<#zd#{GCN&WV|Oz2?fAaxti?$~jikDN z@9ec0HmP&n4wzJRWm$+gLmNBuoL|>+%nN27`*3m6QV-?E7mlj~#V7N4Jt%wUzBYKn zJAXB2BZGT}*Da3k4eNi)^vH6WQ!-<-rj5*(M{9QRE?9VeYxtd2M^k>fS@V1jQgWMq zI<Qs8f5Gd(w2X6yj!ZuJZQ*<_S+=KN&l&pZbu(>qs69T}fhUutW98Ke&u#flt}!!f z_XOn`&%HEZeILg=tvQp8yp~36E4;q(`+_sOR;-`?I;dk&?u#2bhW{C^t+_Vog@NjZ zOLN+ea|b)*Dee${%Xhp@p=N3A-=oYv6WmTbh!NJic;JoZp^R;tR8$_XIM4iX`IPd{ zYA&b5-W5&^v6-;EBq*VO&ytTJ6I1)Q2(${a?65tj74+Gw=1a&ao`eF6mmxJbdCxIb zR>X02MWk;ph`i9iX4c#@@y@l0Om_<Jc}l;}o$oilH*n%Q!Fb&r8ZX=`ml$mpSe4Q% z{iEH%_Ep87%Z#pvlbg=oTfwt_tG|}ks*RzC`3#J#K4oP**)c6LauL`0bK!HEUq@+5 zZK>uD@U-}{?0`})&ueAIEzEs}o*T3l`Sq<<l(0$oRQT5K?6H$VCVcL9d5=4XPn^yu z@b0;!smvPh^l7Q81r<uY2f9Lx^?o;g-oQGgi1EwW(7yBzW(gi<nKrqvC6*^cA8$?x zIWDxJOo72{;``Sj6V0_ZrgNo+1T0t1kE_jE%_;e#U!i=pQLg?pOO>S6XFNh(Ef{`% zU4F_g@w5B0W2gRdybfGxSiiP3B=nWL<y+rKV<mURTb{?<Eq-0n&YiIR-bt-jhkL5J z+S-gf>@KPlowGS{)sOK(%J-FG76)$kHgB^ES>bhj=L`#WF5BJAfgTSMycj}l`ExEz z*x9MprSb7;V#gCR%O!oO#hsfx-oFl<IX6P%_%yfLqc%3~Px98d@o!x1VcBG9zOwS? zlg91atkPE29P^wS!OkGSU-LWkp~S?lqo=e5=gs_+71}3n6&aGiz@U5H)Y&NMcTC~5 zS-ywdEMt;cg70T=omlGfM4RWi+=H^Un#bpFw<r%|Vf>pVaC^>F$%N`J3znREwWCsH zCS&NK9vR`jXVcQ%80#KwIMjb_?Ut0bG-YLp6RV26g^C_*44!)2Aw%}qVbg<CHgx*9 zXl<~(+fdc@=iiU*>$2oDezey<pSxD1>6R!%9`lu7&-Oc<GIq6jt*FzG7kKcn%=PEx zeNvZRKYDUqOm!M_sl=0n)rIq~?K052n*SumbmI5+))N0W`kXJVtR`#piIm+vn0t6a zwu|3sy_0nhtpoUuU${1JLB#QlOBNQ}`zIf?*UzsywIlc9Q5_GTgm*c$Pi?g=?b4nc zjy*lklVj!XV&hVofP1OCD=RIXjHGwief8LU%<rUhd5oOHidmIU0=PdOxA=ZmFUZ%@ z=7d^F?BqP<ym$9|T{h25(bjR05#svQb?&}NkoinSuK2>o%P)15Ml7Aq^0vT(g{Q&x zW#f|TJ~OAO-QG4wy{)4AjpFCm$FFcTDyJnV9^)_eH~YLGp)Osf-}%SY7*5sR<lY-Q zemW@2ehxf#cC*G2!{f|LLyg>C-0oB<aJO9fFj(e+%o_$n<@@)qO=i5vy@}i7VN)OH z(_Ymp=T_Ydkc&z#mapQOxO;}~$)9a*RllDtoTV92spVIA;+x1Cmba{@&QCiT!z5Ao z-v5*N#%Vz-4qtg}D&(u7xHRbp15?%^tvLclF@opUCp*kmnRapd_pZbISJImU*5qp~ zbdO+qDw90zi`vw<6y-Dj^qOT-LU;|P)@)HtIp@jL#BF@T&CGW1#omQ1Ckpu9`-BK+ z@ARM2e$1ThSn(^ZQ$h=J3Z7s2&k&`&H@h>PNp@ZwyWjFFQVeM)r<rZzzVLB!|FOjp z>k?y3(yL1k$}f#=ZJGG*4V!g8@0H-lPB#{@JPze60YRw+=iE{{7b!RJ*DqB*5oa_l zr!K(eXyW8K-&UlB>9l=%IQRCum5*~R?>P!a%w8$^{nspJC*$Hw;SD?G(oeaa530Tz zk(YDg@R=@g3Fh~8rqyo(w_TmB#V@`2_50AdIyTpuEIOw0-Fe)0yyn*hF;yMav>hC$ z#ojLXF8L-SyCHB!N#IGjsU{O!oHkAJPH4WtUzI=MT@OQS`_9MOj$vBd-%?^$*?)J8 znP%H)va(!evgRBKZ#~KIsUlz6RDaI&<m}&l``$V$*DSuP8Yz-Gl_$O}IJ0coDa)3L zah#!ys^tk!N|qf;p2+g;+(eV!y;sk9o;CAS-pORXJ$TRKf|!I~v)VM0`zjUZv3M@F zu6TRjgh}m_6ia24#Q~MpTa_ojt;(8o?5(n)o|}<B_d9LhOLr1y)P2xnt_q!9y3Odo zb-_;IxpyAOd|7kb)MJf`n``FG)5(+PKM!8A%;A~AQUe3`^);7OdY0@9T6kWCZ%?pe z+O3Imj0<dyBP~TwnI>Ne%RO-H+P`*|f2C`mt88@JRC{9Q&$<tGTOAbwZqDeq8$G8; zD@d8|tsqbJoU#?F3t4*Scu(stIA^Q%B=`pVWNl@W6jryG=J{3UGyWXWI8#umY@5+I zS9R*dS)#WLj(p;H+h27{qtod9yh$fsUHEgN>>cxhH<}YYB%NZtm{WSp8M=}eYUtVA z{dxS9#kuNBo;s5LTb-ZlRNgY2e{P${Ij7TGoz~2bWl&(eQ+>58+n{5kTWD}!ZQWF+ zJ1<Y{t~>GO%pJz#QJra<_RYENoNSY0#BI#5SiV<GW!L3st+|g+1@PaMJnFJcEJf^3 zn?%~bk6)E$F=@REaL+M3?-lVbDJdzGq51nR{-sPguG5~Tr**8!R{t<@>Z8tx>3Rp9 zlV#+mEz!@F^J#f^%wVz2uUVauW`cTkIdbe?z7qrw7xsSgl=@wIPIJ}KB%_wQTQ~MK zb%x5$KYd!Oe-AtRz1g-`0;8wTf6CpzQhlk+0o4Nzi%J4EZhZMNa#P&%84J>F8cu;m z;@4bGOv>PJePVeqh}Y8Fz?QA>dv#c6BTt0j({TBFqKPR23vU!zO{n}=D&k~PEG@fW z-jZ~?XNzXuU^*-}W62GZkUjgOP2|F)(k()d7r%}yn-#L?&D|^wwOzJ`ht^edUG2MM zIrq8YW^2YDNz*(derEBx`0hxXdLm<k=rN_@IfZ>Y*4)j`=v4jeyt=o??6G{WRPT{P zoPv_Fd37;-67m6AeOtBMmo4GpjNegsQYRzFrIE$sQtm<Rxp({6MbE$3>|OeN&)V)y zKf_+mcgRjTwe6dL+a2DPPsJzRWOr}b+mV$kll$3NlcDU{=A2B~seS8JFP~1;nvs{B zKS!>JwUWQ<PpH(7ru#m-(mvIk@#;Qs%gVrR>&D`>-r1|}pA@?yXvo_6bJO94>&-5g zod4mq{=NF77l)MupKfE5c)sv#$-}j0D|4dU_uPzmY5s0nROrE3>OnV)zgK)UJsEfN zaH4?DlD53%7v?S65k0e1p7DNn`;O12HvR0lv+jOi?9uxjsUJ%&9L*6qs`Te+;U|6v zP16-`jNaz-?ztHAa699ZZ3U6-7H7-qq;@s^_FxkK`LJ`(y`s>)XDe%}?t~fmF7`N7 zC_SO?Kz@8&_PqH=#qUY&+&=BBxnr46IZNrM^EKs*&iH)w?k&5e9?hv9J}FN?_%oBO z*7VzUM^xPsrS#8myxzUv^r7)<vu)q~OWDswp1XXd!T)85>3O+$*PI;h_q}}&n@^Zj zo1J`SJ3a8@nX(T?jw*eZQsieZlr@g=`r{hQv*c~5%%j&#{u64}&OiQn{oMISgN~~n zQZ|;1kgJwDo$EU-Nq9lRolnNmI)>(UcQ5`^dbw%FrI$QGmbahrF|sc>S}nU|S#;=J zu1(1W>N|dQ{dslq>y4%RS|be(ypyy^3BPH_`!RIu+s&@eb9`sqesyoga;;1S+aQVJ zZDvllcb*S?Wf&?r_1%-E7`@A<4W3kUossG(ShXf)-37DHJt5y1<<w?nO6wh&<W}7E zbh67ysnacYKGhtuYbiPLbzPRUTJKg}zYm=A(t|oGB;KFRyAylsD08gwjEA$C^Mm}i zrk-B^qn0`PwDCJ;X61$7&w3?$EYEoCvp3_aw|mKcjW^5hT=y2#R-EXy(Z^g_x$Duh zt8dbBT-6>eeri)39X8$L+hvs?mZF_uZ*HvKH(gTo_KD<K5p&*uW@M3ns6H{+Q{mL2 zZ4a#H{abJ?CAfRWg`aMg9M)|`5`B;6iY)SO%zNABIPq=36KCZs>s@!bO%N?BDn7@t zLifGG-JN|$1CRMvo!Naw=U#bbv(kFWuir&aY}=bFw(MA>QxrpG;%WJ)m_yd9dtH?h zX5R2PVfo<E&f4tg4O@jyJ=pTwSy{Njwr=a;`xUpOd)F<MoUD+Lyl}nkNAnJ$f0sO! zcSbx>Z#{9~cve;{_cMb%k&m*wf1YqtWiCB0_a~HB?PG7#T}>|L1jAPn;fyP?<n4Js z{R*wvI=drx)-AEyGA&|pNBX{ATAZ5Voxb4gYX5A@l7zGRJnr&y6SH!~Z%0||WOSDK z&rosQYS)xW`_dBUXU+4R7b&=@s>%QI#ubwU@BgU#S#U3nv1j$d_Y<=3e);|Mn!a#A zCfm^frtPjZ$x8cTx9>3AKVx|oU-sHdHlDImFP%H9yimbN|8C;@_wOT@uwT42zxjT| zR-Prkdfpnx>QAnpTH~GicWSlL=7)18Zr!2Kd}6&%yxc1@cB_(0ZfiUl<~+W&XYmp7 zvn%{nzQ-FsnI!S#$@jI38lEqn<F0IAW2Wt=y)<~|%#APjv!2bbYB;=?@hQXeIp0J# z3Avu`EI)PE;g#Lg$lFCv<fck{?3u><^{Cd=n$;gT9{j$taf+yT<*DY0J-<TFt8?u1 zZC<E+ZB68%e}Op-kFW1HtyH{wxWLz^;pC^Q0qrc?vod;TZs4nCjM{v#RocQ-q0#N~ z{a;sNxC)~mXujKdG&(xssdUQM6QYU9Duw>NjyZCRrW*(xU#6_>E_l%9&#_M3Syv=( zH@R7rt=8e1@R84bt=9&>le^E@{Ab{lJQ}Dwqt4GR=F7s|5A`vRcCl=EV7%^;<;%0# zM;C8ibZ!Bw{k;UfTFX@~bMEfZTJXMhxg_Hb(Nx8>DaL)atMjrgE<fK9aDU<o->YkU z1O-@`*M@JN{6gGRdCR;ECV{fDBunPke#)MkSXFzUl{}gJGV*wANsr=$H+gp}R)tSb zd|bO<YbEnKKmMu}7p8s{PCI+PL)UfxyTD}SWfz<0S0!a{&y{1m<MD*~Xyv)pCaFah zx6frs*9J~zV&|1Jo=|-~N5g%i&GE%2S3hMk)H?mb<MD-SDZ38ZE6Zii`&~b)vFbmA z)%hKBey$1mvv+l>pLUAx+3xNIM+|JW<(}1^+`c#6<j>O?SIc)el{KG@)a^Ign6!Ms z`#{4xhJli770YH;EV<C379(?2sXBCe&X-lGJCEuGE>U||>~Z$a<wJ4{>OxHlX7b(L zKiBuPR{4RIqHYC#oG+s}mu+P1IIvnXv2jb+$*Wz8GgeC`A2_G=b!*Gy%?vwk7=K;c zvaOeaLE!Eti$A{6f)5>Td7ig;8R;$3lIoteylJ`8dgtsm7M{mn)`s?;saLyX{d~nz zzDLgdAHG_=jJdqNK<ju;vYJonla%0CF;mw49pAsNb!=K1xxwA%KZBPl2m7g=a%~%n zlRXZn=+4u8WFW46He;28<%Fp$Rq3<Rr*AZ4ocD8~kCc&D@#V>Zt#yB{&7WrYnSb_c z|BBoTJYp(653Y4B=n_2g*W*u?&xhi!LhTJxWIwouxqq5pw66HpS`QXM%~L58j+;CQ z;cb1wH8WY~=!^v6<6EONm>x?ouUztkm5ska{L|_QE=u#y=Cs~&fA0Uuaaoac2HWNw zuA+5@vzEC1nfmf|RNnkOPdD%0zBD}4BB8cIG;o4w856sFue9OBImy?y1lcsoS<U+z zSMAE4UG{ojws)gvWXJFQn(u>FO}HV`d}*!jmg+jE0;}i0LRP119A<3vd$g13&*HU4 z4jwU|XKe}5v~DxJ{p$*gkl*F)7iI}_&-|=swD#nh=`n^Uj%DXnv>iIzba-!y=iD2w zqmTBiIPmSYFJqtattEN93I|`u8ZvTzU2*b3f7FaGE2JAd*D@rCCfUizglJV?-E!3B zz@DCpn?W1zSibh_y3_H=zwr3F%(Id)c{0~^8dhAIs*<ZLYw>6?&-uN(a#!9iPIV8w z5|YSYz`3NM+5T@9tH+IF62V^cmhTNc;NYRIw)E|Fxhn=-1|0cSy`JZp=SNLz*w(Xr zX-t2gZ(7ge=H~FncUJB_?|4#_m)F=$vuw?b2NMhfes*2TtKYNtr9-@Gv~9iB8V?@B z*O50iJI-~QwfI^3R%MT)UCsT@UJF+8oZbCpZBm2B!^#^u7KxW_wF)MFn(o~+NAA(G zNhOswM`HIdcCEHK+JE+J#stBiN6TGreEAik^F%I--$3B@59Ot9JUzzOR!?Dy5j^hi zwOD)osg9Q9=K0UVXL7wg|1mVJ=cHojF^983#u}E&mP=cN8|Tcb*^xLaN2k2a*4@ju zadXDeNIy60u1iMR!rL~!ozi%@sW_ZFxxwn1Q0n6USAIGstCSqIIM!9%w^!?A{M@Ov zeyk?$N`GD*kelCHd9qi@Sll68cjBC|Nk_yPJ{;elwWiJ|MX+ztJhc<I7F&EZb)77) zXH;{=IRAix4FAgIZGwL~8*EoC?0VRE@701|v!+>`@X3=2VzZD=dRYGF{;Ab_9`dWK zxZCF+)w8D0vDeM`d~)ELfRrci@^+}3%o0q0+pv7vsvU6;iho{pkBsbe+%fN}=2n#@ zFUlG$znCgm8$8_Pzf@+?PA}`QfZuJGZd!a@y&-BtNdFu+3#K*JQ)G>fr2GoeEw?e8 zEO>Zc^R;D%QttVj@q4>^%Xd?)H9ou3gI-l@9(9|fGjZ{5W@VlY?=)XqOg!Q&Da!X? zCin5yJ8YaU?{{^6&$Wz^NuPBwGTAdFPWEbL@C~`ILGHnynkQv0FisXS7823=m9}<? zMznR&y?s+Qc9e^#w7oFAv^2QWnfZJ1@#N6N8xxf^YL311xa2s;;zV)d*Hxdb6F$$+ zYV%C%bv~T=ZPRj#b7sGv&0b!3=Zbrm3P*R3@SN{!ZZ6zDahBvm7Vmk!VZT!@8&u}* znIkuQb6EOr$1R0ThI7(IPurO86D*dqee|E9ecP<g>TV&MJ4Fmn{$@Yl{hGU1syKIL zUax%%gU6$NS3Sato-*d7Pd-{SPxZsnxo>w&6n}QR?br1(ahZqju814kg*QD@lYhOP z`SLbxPrbzs;gu)fUl(;gvP<_`V~wJ~e0`hkiSvUak{+IUv(!tA@ygd<;oD2TI-WW2 zdg1Htvz)iGJ?Ev$A2{3d{L)^#-;ZLK9_v-zBJeXjRa}40gzD?(CiyL#e5&@a%-<}t zJ=RTqUk}GKbDs2kXTACMKZzrzvT>Qu<oDM+-2H4{Usr|<!>bAj_GO0gS~Zr}E_+_N z_DE@yo!JDpg6MtPFHbBnH(Y-+v@=w?@$uxC89V-cC@L>Ez4q@cN2Gj${9Q@4m9}3u z?G{f>{c4+~oL$;`w2bdhNY;ApL<hU{Aa}1bVW!D@HfjD|A=oKj*?8htn9uH|cT!`R zkMFZxRW!R#q)*E%Lpf>EPL=hi`-(E8+_W?A<;1I=nf7-6zU6bOk`{EGU6^z~bKZ+` z-b?ef4d(Vq^jW-(787#bxaX#rkrmtf$Sudx*|za{wlsvav80=Rdf!>Y`pE5S-dAhs zV%@z5Pc<K8+IOsSZP&Z9_QoqxM|SVOoRpWZ^y!1Srlm^xqPgzuC2HqemT%m%Van}T zr;8rVE1%mt`!;2=q<qmm$bM;G<Hv2Ymt=K4JAS&+JiRi{;oEwK9bFN6sU0!OtLE_; zAKzLP^14{N-N5_GCc|Tf{a({<997x4q<g133-j%JE39{O)d>AeS169=JAS>6=OeR! zX8!Uhi_ILnnVUZgzKrYTDUYdL_xTLNgXfcMUq7DD_xie7@Uf2@82LPH3*W|j{V4nX zJL!~lqd}m)dg1YB+Gp0bd--{<v{_!MyLV##m&#esS!6aos1v#QCO7)|?^S+&7A8@V zj*@nPyssP|o0gy4G&NGM-0Zz`gWcBVjyIugwMwF&%4bTHs1~_D%5t0SlESYnXZ^wO zN66a5T)~?%THV{*cqh*~I^EwjNiuZy%WJbFjqg{~UD+Ichb{Sv)VW>Pa#epSJz(tV zD-NvfQ+T?d*SXf}>Iu91f;Uc!r0z;}H85Oq^^uFtwl@b#b9by0KPG4Dt9H#hY@3?* zihpj&4UAvbC+x`xI#pb&wCc?XMR$w!6YP{<y<U~26dl~!TBc!tZTsO%&!+9>T|BMr z{af)%Hhn_22maP(->BhN_O1F5dHh-aL6!B&FR~B6NuKp6K-B1X&%BxI*VKvLRGm8I zR<p+E#nMH!M@y5V0yLGk6k5AVX)&xYoHxI>@_m<>=la|?A#<!(D%&JTz2ACzh2oa% z*(+TFS8Y7`b-n$ErHiw_@6X>;ER!JA!{#q*Z}mAdbA?%z>6(PY5)Nz^*kh7qS6w#A zF;p}E65Ln#(zn}ntNNK~35(Z7Zj7pIlK9r{#*iR*F59wPaWmWdvj#R=%XRzaO?_ZB z_4LbqX4M_$?$6)$TYJcSJ!tx+_>8jd6onNhY*!!Jr+k<5tG8xZ;}d}*Hn!qx+Yj!q zU8sCRc~h&?^v<Q-8MhqH`4{=-Ms^5_=9Wy}QTsgc`>JdGYi5+(&QR(&zf0jTv&H$S zy(-_g>u$Ph;QxJgp0>r>3yX_{E35g>?6Oo}R>3q&?_KKYm>Zsa2j^AQvS}^48(+Ir zx8}3L#Eo-OnBPXf%`BQ3eY!n>|6>AklyOL3Y1;f^>mzQDPrlQ7bpBIIY5+US_qBq5 zr*zf)XSlcHc|o4xmo<*-Ue3=pTiNiWKq7&^X4WbHfSjulZ<n;WqzW;y-FN=FUh89i z+v1IFuYTQn`skKXa$xJpFYBYWRn)XvZ#t}!kgT?Iy^v$FZSR}!;TBWekJxs8ed#sT z+q+=r<Ogq)?mhSSwcQY7^)}~M>3VmM+?1kAiyP+|RIHz9ayIR|clUR}wrS?+>=wuT zy}qC4__52j$|7m*sWXqWR{Z;3bKU2K>H8ANo99_K?dakW^4Gq@ACz^-HEVyNQ}z6) zlRHbBgMVulyqjB4WN)?Mpt<d7zBykXe_B_#=%v`xDISYe(&g@LeSA-Cznsn0g&)eg zn!LF)%g>usa_w8#e{I{I)JGP%iqX;;r|;igcYwLbsOr(Kde#>!ANFd#?Xi|BkZn8` z*<VzvopJ2+Ea#jTU)I{$3VZh*_TTo~q_E%}8}sjHYdd{+@+;gId^+KS#1$jEr3OrC zrx?G7t0aWg&v-a@S$M>io{hg3R9{!ucDk^%bfv~_fdd^!>(Y+rXT1z^nRZRZvHe8x z#A9~*wmvuXn15^Xsr7rjZU^6WuX_7n&oql5)yY~5ChfZ)mCJEv+XU}Nvmf<1>o{nB zIh(u1=;So_eDlUhcanDGbI1K%eI#nm;~xRZrdRe%+oW|`?ScH2N6XgaykXt4<?5th z=6ebH=Vu(SIBqlRXY#S>n_u12-}Bq0%`>H-VSaLaVCJ-I+r!=L%{;cR*3i1cXFPe< zPv^s7!P)f!Dw{LQyQ|yO+#f3l_gwqItEzcFxk`HTYhI>XzV?T&Ri)Th23XfdZSUOS zapkbY#3{T7{TTjaO}%r7XN?4(aMmyRwMLdpJ^nLP>`Q#CAX6OaRDPwoEaueVCkG2G z)a}=LvhL2U5J*t^_Iz?=cg1e;ijc2Cm7+G~I-X(=p7hoK`nttowOzl^k<GOWHcvZt z@w&<RjdyhNK3T6?a6WEpTC5wlb>+Gxx0D*W4f6vdZpC+gsZBa3>u^VRPx-p!4$E_o z_WEys?Ci92!Sp~!5v>!S#Qwdv_%&<Siyf(oQy3yr%2$NmO5S$1=F|SWFOOHb?Yg2| zEOJ?eXK(0Fn=3}qx{Hn7MXGn+ocQv`HM^x+o`q5_vm@E#o~>IyQ6%B>{z)D-QYWwJ zEz7>GxP#w%a^G(El?z-h$7ZdzG%E`{=OMFU^@RHs%SyLzo$S5cVadBvo6q-|mS>+$ z3s}n;#4f=sQ}%4ZXVY!0s%qENAI>s9XSb|D-#bhF)2-@-yUbOTw=w(*ezI-L<Yz+G zldmTpn)U43Iqu!_H{E+zQ<C%e=~wk@TNZ4%q^tjkQ)SgE|1&Xfz8n<wyum#&;)d%d z=NTO=f6g8hxv7>NohZ8JsM*sgdR%k9s$4#MtzV!l#_N=y?5;Yd4RPQ7XNdIGeA8N$ zm2%qkM5$*~>hI|3KJrt_SASf)>p=90Pv3c({Hng2o;&_`>W<Yu58EYf_g~wlJm1NA zt7=W3UCo^8Ysqrcq~=_#>|S|PitToT)8zZhqqc3^7ItLonS~#g2=8B4Rkt<daCW&# zVq`4)N5)@a4>n$2T==h7eg=ceSLI6$mN(XHdHa_4unH?%(M{D&6`~h!y}anaeT>;{ zaT9yp)hui8FuUXh_xKYym9Jb`vEa1Q$`ir!to8S*b*4tD&iJ#@t?#ZwVq>ImM0}j@ zG(&e`;fZ&y?YU?(speGKjyn=12i}G*F`x9nom)X(pLwm(#75ozDF>NX1{EIoSs2}& zn99ZGW3`?A>Csdbvy`7gM+>5idy3fVwr*y-vG$1WB*t_60a}$a#1=$X=!T~3=oLLD z>hWd8lCEpMXSQccGEbfpD!qHR*z7l}g{>bKHGdDjZ@0DVmgq#$7Qsy^c}d2X7H-h` z&yaZFV(r@dXWcE6I8VxZZO>nt`JwmPsuWLljVB-HzmD!(Ewkp5MeqImQ%iEWU)8?a za=mbKnR0o6;emyWfjMv99yAj)nRH~o{frv{wtF+Di~naxbxr2u7Lc~xe6RCfoD~0T z+q$Wd4^_pVouA=<>i8VKA8QxqEr`x7_q3ki6SDA-@z>-#k1s9SdG+m*?Nf6f9DJZM zdwa_F6YDZ_)-4mN49HJ7!gTo4%An%`tVvT^m?wz@Ph#F`F2JDso@tYn=IPSpudBnZ zhlvMH+up%bv&Q|)y1Yxrl7fPs?ykA>W!<7{=~E}&3~+z?@c?t-SGA1^p_492hkQPr zb9YW&P2ra{oa?@8zhy9Da(l=4CwtZG!)23`s$U#w?K>x}F7h_%XyRR=Ww*;hWg5S{ zj%++~^TzCjGMA4?JqkVd_jbtojcXT(T~h6RD>##1I{Ny)tRwp*wokqGh<h<pD|@2l z0lB-YjFYy#NY+zlc_J7t>~wYR&1n&jIc&B*SsuXf)iiVMzZ)qP?$cs7w@R$p`#xXm zXT9c>$IO$o7hHbY^NjO}#)(QD!~Uge4fAZd?miNVIkYtRS*GO2%Ucs(#VO=!_~y$9 zO)H#YsHnj8W>FXC#J7$CZx6k*Ej(8ks=j6G&si=;o?G~K$doU+pge2KweIfVXHz@F zb@*9le6w5~F770h_rxxPS!Y24U&ZsinbDc2E@&N2lVz)XJO9|4lbKl)rta_2te-Ah zpcT1FD>_STdbUnM^piP>bzA4IxM}-nhD)MILe24a6K{m=IdoT7B68hzA6A9ZUssBJ z^a^G-+*&;O_)pVrohRxS-@cR2ndolPl8`5PVCAv7h53x1)-Gl>5M?;_?&@{Nq-l9k zCcS)|2QBkIWo_zyX>P;iS9$UQqsLWAv0rYBLc^Z8b=5zeVfp8^S9N9}v%TTp3)WK8 zZhmL*=~gbD%096__<fkl?xb$vqZ4)<P+#h=nU=9<XGeF*c7Fo{26_LeEqUKJer{UT z#~FBUReWsBncqRO9rnHaXTR88<>)I&>^*oZ+LHO_wGE8-d{XQ#?hRjP_vPufNM?Q& z4}M!KscN?uYnzO!^ot`mN5y#>otAw*X>O$WvbwFC9DG&V*k>dpu*((()y_=f6?n&J zd)7qt(5`2x(tdu?ll?xQ=vB(u$m93${d@l@zLS<1toWQPam&8D+2hQCx%;EmDc|{R zInmG0KQLfRqf^h@z}MH7G@YO2SN@>*piMy1@1TO)-)b-MEBp?t_FsN>+GO6RUsV1x zc+JxcP3&D9IQO`8?e9lT!MYuLcJvjUpYwFD*3z?Q#9r;o`29!o`|Gd?#z!@JrXQDE zes6KeuBpwpReX}4e_y`vU7^Eejipaqv|a9HYyO-rKR2fDy|1u`q;ikorwKcA%1^FX zx-BzR=R4P?)8GHBoAGbT#jJ_%of<>i&RM>`*Eq}YY}&zprw!6v&lz5uuqIgcO}X69 z2Rv0_BAm+)YoF$O_Nk4N-STLJ_k>p}GV23pG2HBpSQ&4e)I3$<U)mg*PN(f>8ia1h zW=%S;bDZl(yo2GaostgApWl)G@@>h1_$`u3naZ(iI20THvMPQ`nxeJZP<zMY-^V5{ zyCutTY9T{aQ04s$_o;1{B{>fqEB^CRO;hMyK=B4``A4={Q&0I?vy1cbuoug9zF}YM z@zhByd8U=pH~ZjV<GL3|8@Eh|HZ4;)Z+P$I#&>E#(ko(~%STmv<v!w@Bw2jyynoeB zl@A_AHhgMhGy8n`)`INndfoYF4qN^V=@EYK+BQ*l@9mTS8FadmC(bMWaaGdwjl-Lr zH7OIAntOg<y>MGOfRWK%Ay{dac3ZvXiIkWJJxrNmf#%zD)u(Lwdyg^k`gOJSx6hYN zY<ON)#UjJ#&FrXl-_A6kYUkHq!Eu@2rf<((!+v`H?&E72Ld$lve|I%YNiDu^xvFQ^ z?tIQX2bpQQ4YjY1a4TfWy=h3vnZ#H2e8br+hfhWx6L(8YW@tWF95!KRU+p_R-P2yW z|Kiq^3)Oy%nijR_+`~&o-9`+?*FUU2o3|;sh<|qT90vBaPCCiAnXQvgpJRC4HO=Vr zHiqD1_Ex8M?fn$E?2}xm;{j$#(-o16%98d>U~0ZKW9hU9UZ3^u$ewa{e(#YfIc@sn zR~oE$+oua2PI;X7D)Oo)mwJfbs`mAAQ<q3=(2~$HJb9eq@!pg(Ioov_-TutKd~a?` zc(%ulcbg|Hp1&`Cr~Ro_ds~kje{=0pWzkNH(x*kXzV>gwt$HRbSY&zN<@~i7(Xafq z*O-a1?08Y0Jn>Gy*K`5x$QxO54!@l%H)%d8XDDB*x?S~Vpc~^0-&psbyl3y7Sjy!X zd*klgFKetNRX+PnH(J&9pn?CMY~%YNmd`g&8fJ(qtXEl`{6TciEc5qC*>m5lDPSxz z?wfi=_v{2khNL@B_i9P3%UP7>&K9&Yao+BJM`wA%+=n~Nj=2ZsZG0FS^0edYs)@S~ zq<rc=Im!CTgEIT5;+T70%!j(?S<U%3HC66iTG+(JtpN>BElz%4V$$v`^PSIU+QtKG z>KmTFo^$1F&V@P0w;r(g>F1m7Z<L?9ZO^Bh64Tx-3AvWPm8U6D;h-{ipMMqWDR1q} zl?IV{OZW<IGd#BM7cH?`W;0Fq{gtbks@tcUP4JNUWclZ{)wfTf6NCMxxQVYn9k}3@ zPV8we-sxul88RnIGnBBKa?DlN{X0KPdCC*vNmivIHx^!bnwl9HKIgrB#jns6Yu~2^ zYMofj6Eg4T`?JB$8|yeGh4judP+^vt#~Qp>Y~$h;^|~>S`<Aw6ZCd%Q$a&}Fugfi? zC#`;(pn1p0N~%%GLbWg3VbeLKNv2x2e+!?mk2+T&T;RX;=f}s-lpAMV_0D+II#o$h zea?RdNmKtf=D~3*D=ulcv+&h>v78P#nlo|Xy`Ccli`Pf3)PC)+%{o_cd+-zvgCo_K z=4zk3ldK@;_rM^eZ|aPwXQuhvPwrgC#U?JoajV}edUxooPXXq01o+}#ht5766_S_K zmEHMJ-DYRt{AHD^c~?a_9TT2(vB9XhKlrTCy|?fCzT7L9;XTm1zgOGv&bI!<q&2JF z9b{*%N-0yhs($57o^n9zPxivEw!6NFyj=cU>u2GT97lzf7V+yJ`**!N*^oWEL|x*R z-OFX2X*M&bb}fCfgwKif)YaA9x_YYNJEJ?#G%Fb%c(yBI{o7N5c}%PNnEDPap7iv| zP8Ox9sqAIN+op6Fy<J*!Ty$@@PG;X4M#;yP-_}}pb4>N=@$M-S`SM+PZ%o^@XRbeQ zN;WENmSNJ`()3GbO%Th}B6I%T&3|5t#rWLc==9@fPjp|oK5yggmkzyagZ!0@ZB9<w zz4O7Ziz4B?%EvBiPCS0<_`>5c)z^-cJ-Tz^*kefv>7D937b?!owmot?GIySe%%sDT zzd}#sZ+Y#0(pB|jdeTnIFUw=@AC{js>Es@R<LZpQZYkS$x&{jtRLy^A`NCCZiP581 z-##y{3=~p&!n8N5_1toy`S+vs43E7toS$`l%ZBaSnSvQro;3J|P51pBptp*9yF}id zD>vM1%KeKRJR<ac4?H%#_|mMCb<d^E39ActZa%-%?b_#C4{oZ|E57oNvr1YtN%~}f z_L`VK$7PGEE_*CFxqRQImdYTj#msa5)@s{W#VU%us##)r=kT<zmaE<_z2`PLrp2wd zLo)eu9n;dS=ByK+p6cJZrNHpZYL9Y-PjCMHoILr8*44L0-$Xm_nPhlPV6>IK&>SX} zA-df~y4;qX`L%DPPlEc5C8_oXmNHki=p~2!IVnF~V#3_V$~XJtkF9c)Jw3O>c=8|j z^?NN|aZ9kiJtfH@@w#i)=iD=OvCB{0Ja3y7rS*8$skZ@3&hM}@GXC!IWtr)Oi4tnc zsWH9xqt0zJxOF#o=Zs1FkN#2kCAGV{ROjXM+jm!M>z@)SsF(6&c&YO)soStJUr~~K z-jcGj?qVxfPBl22wPNp~mFk~YE-c#ElDV(+XQ%An&Eb3tbrL;l-km(~Z>vLauHU_z zk2s2|pZYP{J=>CW_GDk$(~zgzz8+1JzOB8|$6ssxlpPw?8($QMJev1N_BV&Jg-YQL zzL^X7`chSI-80dZmp3oqO}iiEYBOo?W{(2n29GCIT&4RqGq^@iDL7CRQsArdPoX(~ zdWMvFUVq;g6Sk!@yS(eQJZ9P6(A`mUQ|@by$ErfPP|pLr$Lgjwr>{LP%>Pzh&4y>v zPW3xMcjD%{<hWQX+pAkV_<d=Ebbg`Wo!xx_4;rlG*ZN$abVnmzQ&gN`g5@{Mb;3`! z?v%@lIZ-a>Y0X>Ky)x3JD=nP8e~RXV-&c$->m5}-cAU5QZmpK)!sxxL4b@c`+(pA| zy$(LTapvTCl`nQTSLUgBN|-PwePf&OPW|TFH%Yg(_k0p6Pk4}Qt92&aj6LarrmVTS z`mI$*^Orxec(#k{?T(#y=cI4HHm~HbsrX;Xn!`6HUzYn))L0Sc;y+!CpS}6kTE(<` z2U3nOv%Z{jO~vf;p7s-p9xOt8=3HCS-_GjC;jsKqmK4LzzK7G?w@z&C$vN<XKPG*h zw!-lhr;et~3b$L{^Z2^xX5I@dde^3Bys}Q(qBkqt=h))}2d~CI@loAkGpA;zRw>)n zyy&>o|0rv}O<f${r&kMP=GiS;7#;n13lrCdb8h@m6EEJJn>xS1!JNs0`Pzgt8`n8! z8>_y5S2!mj&)PT3b?wXWMxm=Sl3Vrfe^|~Ptz=&*we#QSs?hFgUmH=62hNi$<u5H= zV50l>R9pGEi+$ChJ3>28^~gDV|21ndPja@F$C-s2x6JFZzWi+0^deW`ny%$rwHb9b z8SU=vI(s~iO|!F7%W(3WgAwJnhJL+{j@s{3S4l2A{4-&~-NM(-4pFskPj5OiOT<~& zt~{YIDR$irm6|1`=P#{bNn^LEel%+WYr&(EFvly;SHAVwlJ!a`Gt59|I*Uc{fy8sK zns~FWCi`#JW=o!CUBSFfYe`VFkW}Q<U60F^l`n0}oyEVCCu{ev@Bd1eb&tut<T+8? zQ);*GD%Xw8!m5|1J?9GVNx!z%$j$A&p@4-fzfaZG%Jo4OUD{vm_MaCK2o~cmIJ0^3 z7BffLkKvCtH{B3TQ<r)2^^b4T-lM-XL+U3q_Ee=WE%^|Af9o!r2Zk0ZjT6K#HQrgO zGa-h(HFVE0Wp<gQEn&Cb7kaz6$!`B0Qsh|9XcYY=uX+Ea`B~f5N{t%DiVw@}{JOw( z(PdZ3U_R>!46pBt##zrdnEL6|<0k)4D@5W>TOBuf5h6IDeNL^${#m*v{Wcs^H*eop z`6`2H>DMcZjGq+h-<3OjZMEa-tP4>)HgB(d$B;iK;YnWu*Tkb!j`)1%x>&&B;LZGX z^|eWv1qQ!mE-6l#%F@?TYIkLllm+9O?5Ng9CXc)W*kTJm3%`$wTKeSV*2NPy85H<A zKHBYiajo8h-Ls<GJ(oBv=xcetws>2dz${P6ubDB2mb~S>e`#(@a%T9p2RhS(wc7F= zZT^K`KD##awbJcFXU_0*HBYjARrs)<%X7+aOHV%r^=WcndF-UGY}tKszE@`{$00GT ziW<HhE1xp4U9sPycO>k?Hg<Jo_VP<x^50GO4GmV{>yl>pJSXJa^}x!tGT+{^Jf0UW z^DAw+9N(6!iq1CsttOSHKeKtxHp?OXrO{k(?)-w+&sOLA9x1-gv?V90E$7hd-Igr! zAJ^TgHIn6b^*$?hXYDiVhnwGbJ^AuC?%1i?TL)4zW#)-Y+WGp@3_<Bm#e|h?HOqb) z-WOe1x$C(vcjb(<O6H04+^W-NE_?Z_Zeg+R6|2o28_m83?JnTYsSbOy?W31k|C!$| z?W}b%3>jJ)-qEs5w=6DMC%tnsc)vsV&YWM@>lbB~Yv$@cdAE{@_aM7E^VY&?;l9g# zneQBxJ}z<YCi^|p^04b$E!W<C<8;gQkE6e+SgI`F%*WYt1O1x$<}FRV|CxV}gZ;JL z_S_j8)#q$<Gx;f#*r|~G(e%+ab3WD3%g?xt7-BE4k1NP758l@G(^&TFp|c7M>pY(C zwPw8fx~gws{;HG9Gruc+P_w`F+}8NgF7Mpr;7uDjS*N{T^W?ouebmB5w_e@~5qtlP zQ+iJN?&SBvue6u%(9Zg~e?q@uk=f@7nKvXiFT9;CbuH{!#scNvi*2qw+_dZRI-yIS zo<?z6ZHRODbzL;|k#w|4g|2i)5MT6rneb}9)vRxuxF_ztKW|QB*es*WzS+V3K1JKu z&#Et%sSaJbbC%Mk_`Jv`3@dE4twbBP6diHYxL>|=-9Fu2EvNDoZzxOp{F?Qmd1tGy zso1Tu&5g637`H!{&D8lSmVH<{N@C(Jx&I8k*>2Z9nNMr6^t)Ra+PH7~%y}M1P8?y? zzQSMiMf2d^KFO11ri;_lezu>!wOm$nrQgeVcgHBRoktZj7IocmbQK9;M8=NKx-=M8 zoOjAR+U_O2Ty)O7o{R+;e41e;V_*k}6xW^RZWZTWxHk972ENT9HOtR{o4ga|v z-EXtQuRZH{Ic=vhyXDWqc<r#IOU^q@6<003_*}DOM$Hu2!dshNr|vs$rv2>kdp4U8 zgS-A3U6x))-q{sc3r3Vn{W1G=C)#P!I~no733XG?YPI`hnr=vvG*vFn6{-x-Keunk zs>?@y_2|6e@m4(4_%a~#SJG><&wsm~xpXw|nb>ysWz5&7$2KpzbzJrCgHNH`dP*NR z9xXoQ_R;P9ALVb;rX9Td#E9{;%oF(o*McH5Z#h?9G&-wzGVHwe{HQMLnMrb4=dL$7 zPVT$;Hbj5_rggbpPD}MvEmGtw9&Ic#^+@^t`{t6!<~Do7^FGy~r@Lp1ZWcSQCgxL6 zYq#}zaE91~J0~WdHVG0kYV16};%JF^)hX}v+|2Zpnim!2Q_4hV=aiY;xD$8d&P#(G zpHv;pnNP6%{v6}_y>-3Gijd>wY7z;pd5iDORarH?uH;t3)|_N6BmSQ+Bf_or-d*#0 zChrMLts|d*2JM!V+aUV1@0?ohLbvxpbz6_k)w&ivS+wWUl0Oq9=A^%l>t6QaSKHcW zue^HYr?v$gN$h;1xm}9)>6FujD_9#0RLcLl8d%6~cF%qOO6RQRgGD`a_?AqJ`X<%8 zWy9ZT9Ffb4Dqj@7;4KNe9%lAQY$sF1uEGodOpl#a=zHb4AiPtuGjM{3?9OGZKiBTN zT`#)t%hufG(`;FbcWs;f&AaDboU_rfijczHyq9lnin{hWe3yNOr%(ZhbTsR9+j^<q zJ*rD=mT4dQIB&kOP~DPeGx#UI<@D5D;y-2LggfguuJz7!4xV%?f0NnQDLMC#F~mDY zsJndlI_azoUrduxd4c=-z0QfrChO`qt9`oY`TIHd`>ryFY?~qz9Tk<G$8`g0r<I&~ zcWAwX#*R<Aj?uI4>^PxNWc)H@%~zvMl|}o18TS+!9G-V&!i>A#C)@5WNj@ke|9sZD zty|{3x)<^G8PAg5HEVkpUw$1FSD&_j#_63u4+d59{rI{@R^6@3``G+9pAIP(ox0r- zWOyuW-4m&|ncp<0*&d55oWy^|>ie&2rMFxQ&F5CMDMd@lFuv@%Yj#~e(_u}g<kSA* z^J|0l?dY=Z)V0|<Nu{vq&hyK&b~jAhcw6G?pKqD%AHK;u2W^{^uNs+V7xh))t4dhW zl0u)@0%o}Y`Q5Lwldh#qdzkpd<!tYf&&~H{$gEwltMzGHibIzN%lGG9^EkionqGak zjPJpuQ*6=d*Ve=~ioDshVFJ&m#q0kw#BIn++qPGwTh0CPv-4*PFU@jryLHiEXO8pE zzAJ%~9BuzIaGeu3G`&(7HR+7M<m0vGsc+70xE(QR{nY!{SxTR6?K`cJ6xNe>B4*-= z?`&%iGS03q>=aWvY9aAG@6WZg1>Yxb3Fw~cafeN1y*m3c_pPP7Te><nuAWpEXH?I1 z`pOrV9re@7ElU*&%pR}!CB<-fXYadI9=qH*3%`C_zC!)4SgLl<V_Co2*MVPlmoRQP z<|40g_u%TVOlyNl1q<9yeET(Psfx3^O~-`eyN!(X3akYK+a_#!=;aa3P_@2he$?BA zjcuw^L#91x{9e!1{pOU&LxcLM&J+5QGFAHXr%PMr``wS4cf#w!_FI<9>ht{LX0Ge9 zE)bm2!=AUlHB`at%$vds%$JwTT)C4LbXX$a%=O-1k$H<R&3o~*$p7BUs7Z$eHb%02 z{U?)N{y6m9_l~u@R!;e%KEZBl%z>E`73NmV=v0<r(A>!JglEab<IeX#ua)0$=Hg`Q z1*z|>((R`5T>EYymTC6hx##)&^c|v}Q_q+jWe89`^<J4p?(WO^$y+_1x};50x|8y> zslRHuN^s1Ej{TEbgyPq6y!~<cQNG5T$)Df2M(pgobcyL;?)6NS+Q)xRE;}o_V4_P` z#OLEVe>2=7Jw7{HZ@zqcsd7vElN`<D3o>1-XWW$f%n~JaB;F}}VZRW3XwDpc9<vo+ z)c10WU3ZGllB;-?DLBnz?i7Ja$u9?AJ9P1?PxG>ow|dH*_h72sR;k#iGjCSr-Tu$e zQF74sweO<FACtd#UuSRLwfgV;?0lb^I}b|bqZro2tkf&w>S^qG(%0}i)N;@59XD?@ z9iA%J@KtiH`fnGOZRKs}801YIw)ZWZ`R1f-hb()|qec^>yIst3+)M_1TE@!Sd9$C` ztoqNeb>7uV^)kjYkqo85w=Zy2?GaATl0Cf6-9AcKb;_X_U&+tXb#4qcwTz}d+8gd} zX16ZB6ZT0bSu0|dz2kkR73Z09i}P;C_SgKn?Bi<VbZ&L=B#z_q*Ji5ZPWx^AGsB<Z z%YoGsqf&~z^N!2Sd>?Qpa$0I@{FAVs8)~%<9rM5Wn0Hg`?)XVRts7+xY+s!|sPab4 zcCotUS`$VI%N{RAc|FSmOQP%VSa!>0B!$be`8$7E9VFY6-D@4lIGy?Fi^CJLRh2Yl zieq*j$emLV{>s+&^)>|$4%xQC_o2!gwrM}pi`emV^96Y?X~E{Fib>0RQvQiJtl5w! zZyuw$_NK|3`6lWbR=<PeIKDq<5OjDDVx}#*sp*xNx#jIiGoBaxd-;7;5@)<zi5k;g z^T%_pExo{=ck#f>w_U6Hh3_Qn-m*Y=Yy0W0m;)0XRx2jlw>wb$Wd-jY8{r9u-@Sd3 zyf?4gBGfp~>!bqDgD>ZoGF=p4(fnL`hmHM0u%w&m=Zldk*2V|q<BEePBt<Iuz2B`; z@@@6xTgRt{zHF%d`8wdFfVL7-#AAl}&oY==CY?}9xwYii<jb!^mvy;(`g1)@&;QJx z7P-gww$`2QxEYZCl<|Y*^S$Z!Y^P05{dW4BCdY{wp51~s_`Y0X3lAyfI2L=b&CNPk z*?)d{fam$Ttb6l#zb-nrQQ}(RPV)kXFP1Co&IMZ@D{y1?`88`@kdEu;`I9qK-_-uq zw(?loc*yUqWZE(FBI9f8-Fe@nUhy;25B|DD<C0s~k(%R*9jAkyvb5Xe%AejdHO{E& zuWxusq~OekFG|ZZo;2R{*_UB^e5sqb!aA#Y|F*g+CNz0`+fei6K=JWsS*A_yJ6ZWI zajM(&WxiQi{>)uLI=pxJkBD;id+T&k3#tl_?=?B}RGcNR&v}pVf%8j+Zl6ia6JxMU zRi9U@b@|rn_3w_!7$|(VyJEFj#%EtJpHW@n@wMWrQyv*ROJ>}8|H8m{s%@4)VsqA= znM?-fE?6AjxjI<)Nc5CdC!g^xc&k;rcNPDA7g_bwE(Z#)%+g~Pd~ncTv70A-j(l>^ zn%hltj5SWE?s~RdXUU3NuWlO|S@9S9e(GsZ=|9H7y!>&fpy;fC9;P`=d_`Gi6Pz6G z$;S7rx5%%W`Q>z{iq;dM=7~M&e=;xJdRyQp(s%e**N%os+ScnBYP*}~&H29O+su2K za;DNrIXqwO_JqDzka1(<^p(HYUfnk}V``$>i_mcCim$dW@9^Zrh}?2l-|McjZofj% zlG69F8m$o`g-s1I{~4l|+XOAzlKK0xk`RYXSGbg+*rNyblNL4{P-wjWI_%N3_uqGi z_&Elhx|{9D?ETdEPfLTv3yybLJ36N&KKc9HW_|j%vz)J3gHnnW4MkbzBwt!2o<Aos zR-pEJkk$9I@okomCc4bYRp+vN{W{3%+@1Aj`>aaO2K@9%zp{Mm*5W5mEKj|CF1K9P z*OTX2xMzTXM7oaQ<#n!cf=AZzUa1vn+`j7BYUzCSlmMT%yKQ!y_iI|ZsWW-M@0&wD z;x@fI9#mgmva?gR<7e`N73c4LUH(%%G9rzO@9v%YsC7wBhVrKl`WYGB`>NoPcVYYY z%{{EIj9-6QK9luO#}0$diCy21FI+V-^3<wcsou9&zMS}ezN#rAL3_*QY0tA3O<><> z>N)+&HTSK3$vHn$CYGDARh6(@e{SBT!@K;b^lIHBZF?e}`QJ@jf8ngX@6W@>_b%l~ zWiXVrS}FVb^XI62>W^M|8~(iY#bxnM^$CWt5iEOGt`&VRzaU&*#Z0FowNfc=zn^Af z#Hmk~pJuknaz2*Z@pZM4FSB#bC6$$?I~d-66BQ}4QGDhRmOkNA{0g>Z(VJX&xfKNa z=6cG^TK|pRAvG*^=SiL$_N}oK8SAwk>Gs_}WN|d@Zp3OY8MlDegLiH|-?&m`;@U^E zGUGFnPQ|l)FuX46`ZSF3nyPCKW8d=E;mQsCb3^ijEY9=J`^xREGRZLYxJ|!LRe*{& zpD2&uzOTnEUoouw<gBfoSoh-jy4qE&og$MsdB6TEwW$`_khF9H6XWaih2Ast6W?@2 z%S@AX{}Cc|DoSa|gwRHrs^GZ?CI%iBdj9mlgIZsovLu(pIZf<8E<KYyb7|qp&y&j@ z`8gg`TE@~Euc!Ohfb-yi@5`1jsR?WnRV?DGdcI>N?{4v%iq?)Yzy6sNGraB9Q2pmT zdEyJ}q-8DtUUEIzwLR|m<*v}4oP$m~Y>Fqj@3k<yvoUs+Rn@auDJPQmUTM);@+QdR z{91?iO8?%U)}H@ZmVM*ub^A5bf6n-ld`yc~NJLxniFxv^nJP@?pShKLXGorR{_=fw z^}B6*bd}wuAN-4(@**jAUT~v^?rz=#zphNW@Al-##>NeebL9NDiZihoo^BB6+mUJ` zQ{U^$T-oJkd8^27%VFaUS`${fKKakUDe>AjW0LRXdHjKGk8hhWh8%5mwDatkBYduI ztA-(~&U40g=4<mloY(Pu!fHIvOQ^8%%CjY%Ea~}@GS7cW`LJs@B->WJs6R9@wQvHz zyjRN73xD=&PWb!q+^w+6rwV6$7B_xsF!Y|WMSE)p^Vylr=@v3PUE$Mi&h$Rs$A6B` zjeo07*Lt0t3Xa=_uQ;A9mh)QErL4JegV`^>V!y`{s@6B0TBr9N|GLCJ{osM5w-emz z0)tGht39rkU3!o~pWzpC%-r=IiqY3L?{&;IS@OV|p)T%AjIV5U;zZ}d1~!H-D|`%? z0;8)Z&v|_P$`!dPoelak%=Q)kQ@FbJMS#&K`44|Hn_NqFZuE30Qe#(a`pUK}F;i3f zGY?NIbMtwY-&cG-6|C78cW<xpkIPFFV$(vkR04``Jl>nC^vGRlRo%~`-Gw`ztIa#; z@}D8YDbnJ=%l_bCXDc76yIz}`CpUghzjNiGwDsbX+~@eWCaMJnK26(I;_-b&&<*uW z_1EvcCU5(~WFsyiA=956=Cj#vXG-Ku$Aiil-$X?Uw>fQ@asPBxPnFbJqZG|ki&pjQ zn&-b_&C7S5D(BDVRsRls>R7n_^c@S8vU8eev(}tSXFMQNEnjty=bW3%?nNm@eph4k z?X~!WgO1mK>pdl77}&GoXr^h4Bm1<4k&S%j=}Ig2?%lh0>eGWgY_6v!9z0sA)mEfD z>$;A7`I*I&+7+&H>Mm)MJ@KDmSK6_IlYV!;@?RQrN!fLKYo4-&a-q8N<O|LBwjMsW z^h9Vt)%O!$m!I+M*%fl`c35i1B;!eiUsugf+OxIXdv)s$hvQs}<@>U$lC|Y$vrN8z z``&8bjD0l@8y}=jtxEWPX(#VYL${Ec6KC4r3)Cf87l%FaPAMyjQ07}cdEV9B?J0|% zXi6krR=&5WVt>10b@~cXUXGN7SB?d@mZ~d!+`cb+=Jwsbao?V3B<5zE-frt%{`^wE zSbWUOYu9d-HtJTImCNl;vOTc2+SdBF(Xo5yENhOIvM&#_TQ;@fVu05ivnw_{pX{~D z?k?v#<!9f%aE0o`=|ys$3=C`r_qH55;=1+Q({P=8|E~Oe!}3Ow|CGVq+qW-^M&3SG z(A+zxF*I@NtTbWIj@uH+uU`gtcV~(|>Fky`cTFLEqW`=Ho(iAd)?IizCGFtxfLd+a z+oyaF@N7K6@>Nvj<C2fshj!1sV^-X%P<no^tH#+Q8WSfS^m|~%mGWr{W7Fe+o6mYY zLJsa{6j>iLKdL*z?eddp0X7Ha&v<P}JsY}X!+o>cQ#g4Nru^KObhpn|d;X?td+wUP zUFNV>vEHznNABjzjES3Gap>fWIq}7xi%)P@+S6N_w(065r>EDRIf(zAb?18Nj5pm| zTv9J5%3XaJHNBH@cm9lZhp+HW(dae4R1;sn?{`qd{O?6t8;^f)-<we39nGD!`dOu3 zjDhYsgX(_g7~Ox{Qe19$3h7DP7RNle;<edbc*==m#kaP$l$iK@mlvy8y2riXd@0j` z(^GTjm+m<B@asBf*N?K_W)`Sz&DrDIG{0Oy{=+(1)6*3mJ+ce*m?j_izQ%j?chwu7 z)4sARTwA4-^VMJQN0+W&*!~R@qBnbR#(aJsbM$=orB^rCyqmFWUW<%O-+|xP=Xn== zXMUejqHs;;F$+Tly8?gKRhLsiR=fB5XsYpkJpLkj*7IdoRcD-tJdywK`O?HYu@*_i zbC1u@T6Ed+yyV$jiJ3d4h3=nJV=f9Q{kP@FoDKJ16ck77OSF;O`|3)pk#<O<$7_?* z-?s0JlxUiJ%<|9c8z%WuylRgm!yG?tS6?pr`PHeL3^LVMPb^Df5B|Dh)~=12^RuJ= zxNp2NSITqG#mkm5;TvAqDQ%c^Npf+%frWOPeffRSpT{$cwFI}!`1xeL=$ksh>v?P5 zDTU8{#&_V!Jds-M-U}X!U)-0!^UB%h-^I&$W;P5HkDoqXr2TC6e+IFNU9RH6cR7Uu zCxujnUksoA@s6+T&LbPVX5TRQSyUa~nk{Cwt?=HF7r|%JH27UvzQ|pjwV^NW^pQ_- zvD)1;lPhBK4r({Q(|+A+_UqC6LmRBltPokLbND^;`*;o~9!<5w-+$Q0M}0rf^kbE_ zKUd6)@0XvYmU2lvdAy#j>psWM{v}_!PsF)Tz451=d7o`zz}fPA(KBaR7O*`LQ&#@4 zo^SSXZ5|!P^3MLcM?1CGOGo>>Ewowa^&n+l_Vl1=+v12T$^GZcYK|?oSTAvP>xszg zd2c@Vz5aPk_di3I+tT@3v9E9cXILLI_wM7jj2sFn6Mg0-eSNp`*(qnSm~xqL<9emj z9K9QE<lcNgtI4}fCvvu3^VX0_N$%V`u3dEYIlXJj&X)&PsX5>I82+^9f$)`3ww^Ca z+nx1p8yuQ^p=7Pu4z5$j8|<|X`5d!6c{EGINa<-2f6SE)CM`=I#-zGioQ-UHIk8W= zz~=Lfs!)^8Q%@_8i%Q<z(Yr)2fIU!enViI;Ac5!8lvjLN)7>sSsh%Ng(kZW8%RiPY z1-}c;eeEE+_H%<3SO3W;9~;Ail>W#S-d^f=@p0B$b@df5?6%e%Ncm~0zVh1w2m7AF zw^9H6te<>eW>T*&KUcdkR$L%AaDGkMYQL8)7Ec`{UkA=<41fEmKQG|Pe}<@O+EZ2J z@+2$1D~occKIK@sgOBsP*L|^|x%(<@zNma#DR=7@@0&9g?=1hkjEFfV<mP`;n&b1G zt0xxBT*AWpqJo8Q*@8)rSdtr-Tou2%!OZQ?vEqj6YZnfi$s7;ZwxUJ)sexYMygk1r zMhD(_k=>qs?Q{JO@u&8^l}mm-xwQX1XL8@O3HMX#*BbJNKKW<4ZbqVfkW9btRF#8f ziAL5NkJ-MSv~R~wu1jZ{GjdXdo3f|>yEL=@>B6a=2TvX}`Eu2NvhJ3d`G%V~ZS*hg zR&>>CF^ib@V)2%)X!f46RYi9eTV%|5tGsg6ckx1xgCU0bmp0d2weFUw3U}&KpK&*O z>9I@Im)~t=EsFnrxA1Mu!y>CILEcTlO{cGfn27I8dRFlK=@Yq~tGe}!LY*34hR!@R zajS>!t$7i;Y1(4{E_nVd(lXzf_-UK%s+p5*U#TmLyi>aDJ%6p?@}GrWXDj;|Lh1?= zuQljySyC$Rl{n+7({srs(kqzKCQPbSnjj=mJS+d&oXVK*EAMP6i!z&W{Z#y!h^cO# zc2}2+u2Op$7#3H+`99PnpzWU7-NQVB|4c6{>7CbM+)^Drv1_fWw#Y=U3;`u$!8Qqo zvR{{_3|5J!NrZLAE@&vyvXrdZ*ykUAXs6|&V{yk)`TjGM?y3`2$ZZyR8Iz;^lkd=~ zKX;0+Z#7ktaa__Vvq|kz)vS<ve2)*<YUwMaPs%FUeo)%4a`_o;A)$!klV6vfZZiDw z*ETEEZ%@f`kB*MNo{#f?1ntZeSP}5sO7pp?{>f7-@4nMAmEQMN+n+^Yy|UevmWv`y zrYujILpQ7{*z<hOl_fv-Xr8O8zLIJ)@iR}bPZMYJ_Fwz>*P4brjPk2|-E~cH!Rzyq z%Zyh9G{5U>+v>x?cJ=8LgYV0gP8({mxi58AY6}*yubaE4uXyX;RXZEzN~Xx`@mV~+ zwRpnQMj5V@+_suT(SoYdWvA8Z-g_|wFj|Md4@f9I=c<r&w)L^{QlB*!pYVxaxa?q_ zz+hmjWw{|l@K5AfA+J?@ZnjyhwTEYIl9pTQG;u=l^(&!mJCeE@{$9Mb>Syw_2kF;V zd)%;$X>{}y@;b7yZrN&ew=|U}ANaF;U)-+{`*K{gK<z1`-<|UJp#mF2A7?6MG9J5k zyyu$868>4cGNX&$PCPv^=IH^uM6CktRm_@s(ruZ`S0}GnZuopwfP3B7ivj{XE8h6W zXZ7djZ8bIv(f0{)dAv0CKxdKVQNJCJFDuPj<G3<>#ev7RuPqJCuKv8S*W#$}_r9o= zM}9si70r$4>z!Zqd@_@vR8xWBtYpO#EB}?}2UuM`v1Vt(k`oIOzOU%&dC<dkL385g z!hk9LZGoTltIC=Br@lVQXw5up+i?}%J>_RzoK<E|__KJKW~0=?yPsu}udQvn<uvt# z{Zt(T>Eplu%zNIoJ6U(vnUiH@%d8&Td|SZAU76aur2pOWn6g#p8E(Zcz2*L4;`NWK z7d?C!{A3RMEB30@m1^JaEVsYb>=G1Nd{E}<(HBN;S{)8Y^w&o8F+4sc`QVHC-VpCF zxp(f8e^#;mZ1}o*+105LhQH?)o>);X#P_aN+ham##r`r6Ns|W*A;;^sv=<z+47`4A z?$u6N{(P?mG7Nh5H&=a9ui7uvAidLe|F5r6E-B7?%jU1ESgE*J$W_ZiCdBj1Oxdi= zisXPpWuE(%xP9GbP*nNWIXB2zc0u{~Wl>E>yZ#(re`#^qx#$)DN_!^j&-j1!XMySk zPjjc+v74m(uJlN`_<TH}QpM<X=}fEAbmhVW&rS7jCY3367g?39H&RvcHMwviDyiK2 z0^b3yrK*SY#1!|=UdQg0xkW)+RKwLRq37d{rhQWvrHVd@^!zL^uPXRa_0wDDMEXy6 zZI)V-kb8cq-zn=)n%h|OEesEPtYXjkl<9WTFLYbkgMe=j5>KtPl({l5DE+B*?aC!8 zofl^^HW$`esBgbCXG7EB;#`SynS$|>0nt~w{B7gJr8o8&xN+KDIhm2I-Lq0XKQ3#{ zgkv1ZJLm3Vs92qM*;sqS!*H3BB{DTvbvf2duxcu2wO{M8DEIb+rsE8AN|@HHnzy|9 zWsnZ*#*=Y>!h9JcZ%%r+^cLUa6M2s&Ov{-TyyaWeERWM|*8P^>m+Q2NxcTqBG|RzV z#w>yVj)CnbzYI>UofX%)y}mEYIrj5_<$ngX_6q+q$C)o}d8+qhVx`}0kxy067ERJD zZ*3@^vq62sim-1tC8nr$SEq|=otSL*sOp0+&$JWsGP~!#=vwd~p?FqOdw_HA@k`5p zTN<(UFJEZ;Z_A5^O8Hvhf!o(v{>_pWc)MKEu|F{&cG2IN2VyoScWo6>Qc3NR*{Cx4 z`~yvIt3M|{%`ecF)Y!h#=J=fKII+#wlrq*W(BpS}{dGOtNB2X&*BYFx%#@y5=b+xe zo){mWf5)!I<L~E?cZ;^qF0u%4cx?07^lIC>1#d58&Yv&tvB4`zl7&a0;@PS#oB4Ol zKA$ruY2Uh!{fDb<qi(KK(Av&0DbmfzcH_N$c~?!AT~4p&-f_!vLebujuYX)$?Y1WU z!z`s`b63UO^oeMgoFLPm^^5!9KC3HBU78A3Y)%kMJ}>&|Uz8^I)LZOH#f`D+rmiyG zt@rI`b<lc8-^i)SZ*NED<y~AS_O@nD!-D$GwW^-W4()mMgpYsuwS8qD%DYu2UOJa{ zhr4j{ZPWK*-7+uEEYWi}eH6M_t7uD$Z_y%!(05Age<z<Us@mU~yQSM%=tS!Uv7ow- zzrvGr*GxKBqP6q*qk5^+(b8<LpK~8gW`4?N<f^g3uJFn~g&)(tZqHoi&QlR6DL-?~ zmyhE8Pkv7e-k3MT>(|uWhqpTx^$A$BigK%7Gh}(BRPmtx>*}51Wm_A5mIZ#4`;q?U zyT;lVi%omWAHJ9M<37LaoJ8R>;|CMJtY1CP)?wTI?Up64*hRzsX?M4BUCKFd%+u0j zZrll<pA0{QkD33>STJY)w>c97&pz-MjnF@z6>V|HUv1x}ZQFKkZ+~;I*r?X(Z<dG2 z@Ag9NC6m_iF*7mR-FzLW^(k73zdP^2tXq}3Dq(#Yg*yxmK3j2!Q~JEj<5|CwkKE^e zyl-D_l(S*E?~-W`wkNP}t;k#a@bp@xOobiizFNLKW?lR`)@0R6r9~I}`QJIt;$-$H zU{IIMzPU$s{oRO7DzEz*8!cnPyOdUm=b5j3{4!e1s?o{d3F`~?^?PGhF5kJx{kB!? z)wO?|9Nq;UXOw1<y5A(NCcmrmY2uaL3E`*riG3_R+vu#aAosvYTgUZT+pkOxYhAwm z&Vl3t_GNWbpM@>e@UCS~zA(#K{?sbr+XbdhZj-`vHmM|5iCL=r=6brIpXHPL<MXeh zIF7a*eZcoOi^HTL#Oe0b?s8G-lgx?nZC`Dk-&!19uyMkr)-cHftC}9&vkW=qT<pw} z_TzHc#VzakXa2i5yX}t6gymf9P7&WNU&f32EAFUNpCEMUMErW6>nmzJuRpqCy8QBD zouvL}7B=ZN%yH?35?t(e@1L!j5f!s>_p6L^-G{^4KK;8XSa4Q>(SP~M^;>jw9$wz^ zV#||*rKdMC%RIieFZM@eVqsya%>A^|il6K<269th-BY^O)|+>o?~|mObg0CfC*O`1 zJdRne7sB#SWmarb{hRE<ITNC9r0qJZcGKiWO90OUR@3H(Yo%n>&g$o-e_prV?fKoS z#y6_N-Gc5g1UVe}#<uKMMB7>M?8yCPB9Dwe^T%gR^ZeFu?LtE1A>mo4yBO7H?hBS` z;uA^PmZ`L*$tYI#;49-mjgFbi?(-a%j&)a<*M4bF@*|Ime@89iCvtq|tKWNRZ&BqU z=|y3zzx)0(^j6d#>7JQ-MOW9GcL7uQZox}i4r}{l$~}I#diRPiGo-GwbTp`Z6J1+! zop)=ekU~H_yM*ca3ft6JsY{-0<^41Gy)NvUd@6HEa_jT;O9jFvyG||P_4*uerBrNM zvg{VERV)8qvTlxgFEiO^U(UH#k9W(Y-`mO0{yyU?r~jX=lbh=Hgja1;$yj~$xXQ(j zsY|?5x@A{!TwV~^RD5#1&PSgK?&~{PcBh<r$oRAC*I(^Rs=+E<d<9m8FJH&`KHi-< z^Kz)GUGk|Fv2F&&uOlwc-{bkFDrL!SrREz&wOY1r*KS37PoFt8WkRmg-Lrw4cXe5N zmzPXje2XpF>A1z}>%F|!y7HCX9Zv*m9A1B=Y+d+Ak^Wg*vNQE+Ldz3kW*kU4AY1%0 zYLo8qCR0|o-bbz13lfS>@fTI6ExI%>x?Y-HL)5#W@K1cy*Y_QEGSRy^)B2y>TJZLj z$FJ)vb-Y@p#0Ry0=zVc5|IrOjUisq5Kd)!1Y=}Bqc3nrgO;mNpJR|MXcG6jF_cE_J zDSt{*^slqk-jXZ#{Yco#T-);#rG+kSGdh2sS@dM&tz2e<8smpIzP?_$$9vVjA5SKK zm+i^2O4^&}CbTc~uvWw37q;1Y$Ie~$+vuxxvZtG!Wny3LtIN_V0jhb`53c-nSI`lg zS-v32@%5IEUFWX$PhDo`SI&DReVx`V|CHz)>F*QoFD=|>v)|0hYR2vCoyYfSBos-x zEz&!w{B)9;_4Hkjm-$x3PCcYzWOAH!v1;|RJ=upmj$L~6+Wxi5`?%KHnqco8rP6*E zR)3MrsGfYr{Nbe&*Q2IBv->hH;#b-(?_&mc&OY09oF~$<xaY6-j34!tDp4WZ!(Q#k z<cr<k@}Hr%a(_?h$@P0&Zl%syZ>{n7HS152^uDUl9rv7q^j`f_zy91@?4Pv$Q}^kW zA*n_cw`V=6lhZxAZ_nks>rSev>|a+LcS7gkB^zm;s4CG(58J9I)wUKc_p|cv`0{+d z_P1j)$v>|i+$uK7WO>l@T}vGItW?%{dhD5mivDub^%@?hZod!HVKaPH>$&Q)e^HBD z_mofx=Kgb={@qt`FPWG+{o~Q%<4HTamzmz((m3(X=garzDNg)8QS;C`KR(v<^92_d z%!=cDA^lY5Z?;jr(93Bb4RYPoCR-RTdeZvcbV*#(Gow9~M)P^iF4cuuZz!B+C3WRT zZFb5%iLK@WtEZe+KgD_SWnBK_`2x{*Gd?YywP(U+{@K!Qwc7Cqx6hg~Pi|}1;U3u? zS(oBjj}~8l-hV1~_O|jvGIbSeK0fs=2%Q?)^!M45f2C7%v)8!qe!EFI@6F=n*Jtf) zi{IxV*AONo&~H=tJiGY(e$&<!ugbrDH!D81aq7g4lE*D%i=(qm47VwF?)ay$lli{s zvDd#AdFsyj?)~J}t)2SX1^b^|*<gMDt@Wq-ubsYFa5wr-4&Jx3bDC$A$Mk886_4-l zO}ZJoZGFvqPG;YfV98s~llzM5r<Mxbd3oVw=hKA&J;Cc4s%Dil^ZV?sb$VCnc_whd zEsrOBKSeL-o-udPU88!a=L!FG)3X%?M>7+Pi=}KjRhFd8nY8n{=tWsS(RwY8Ck^~F zMR)!6(>gYjCHtARq(FY0;RU8_-@woy%WLWy1x!4GUsr9gY1s4Waq)zR$6r_O*)d(0 zKd5Tn{$4e^q}@?bF=F*5M?cpr;9FAlJFNKSxk*~4-&LBNmNS$;xwa}g?zCccS;XOj zx|mD<8Pel^>U5Q#;19mHz_RI*cg4kn+bWs1pL+a6Vy(WxsRh$2uKt?9u6|i<&b9Jo zuHq_6ITFWLEbTLMWh*t(kS||gA{6nT!M!g<@l3kB+2d=oE9-I>2q~{}-=S%16ur}A za>Qxn)dw3G{^@1)T!{Dj<S!8xa%hTrPv3*83)W)Oo}PN2eQiqm6TuR@BUjg(eRRmU zpLndOa+POJQoyHE%=4W3ZoJF(Txaq#?Q_E90xb)!!sAghnbNxU9@+LtdzsUo&7!}b zn@%;+S;fOJ!O!^WzO7{%lkU#hl9a5jcwD;pR%g;}&Kqw9m?v4yKeuG{jE#|p(mL+@ zO?;PRRNe0!{bqtQk0;M6!5I&epUgTq-K#D6$(duO_N5Ic)%VqE-CZ{`JK1PY;<DQl zn1vY5S9SBO*XzvHJu=<gT!=@YjL$PLEM?NE^Tsjjr*qG76Q5LnzUo@OY2*A;0qzXX z<@NVvaxIAMTlHqS^~U2Dg1ed3?tSBKh?2dRTrj6*34heKM^9(GaXM2tO(x`1jE?r6 z7LVhKZtPF*tupU0InuI8Wp@9E`lzdhTWq4lX1N(no!!IpXUF@qIj+l;4y1Gid=`7I z{`7X&>B#r%#7}M6kTjcn^ArB(LD6g9+>5G==3_i*dDdJ}?B2zNnmo^oHk?0sYhskd zzU)$+9op0Fwyu6+_i0j5Rr<0l1>vgRE`|qxvo#GDPMglAk=%Jqq_FkLobPKjgOff> zdn}jW{amXp{kBh_W})Pa9*uu;cdqW%4Turje(T`WjmLfZin7>GWuMGUJ8#lvKP%!; zU-ebVH<Qe^wXuetn*07n^1byjS=*R&+qwF7yEN3?Zja$QRU7Ux%Piu^#ODkfCD`wO zT;;KFv+CAee=aS!dG6hpjghLKIOA$;+RJBHo{(L2v)O&llFxH*$m?A>8`*YG?ZCF6 z2|FJ=mY=J)z%g~{q3xaabCpjtZt(Z3SeZ60yY25mL8BD2$G7h-HPcyMaeCFHB8e|w zj|NOt{yBToSIYx-H{W~q3Yg3~+39o!l<H@^Fn$}pY--7Gfw<7wSr3{j&+iRtdZ(7J z#>#R2j{L{97H@Q=BvXne`y64McHZ_?%2~k%wP_EpsZ3GYSNHzXO6R3fvBIjKPHXf0 zS#_j*-Mr7voo-M4XF4Q5{VLxZEVgR5Y?|TYY3$8kL|e}aoY<0`QK-AgB-Qa`nri<x z-*nS67h@J3+@o%N@I}4U^)#lmvV3E9Mb2Z4U+uPrJ}p{iw6HU=d0z9SnQJ@+m3H+` zaNkgFYf!hfSNF(DyJK#t>`hjJ@3IRYXBrDnnz-J2`pOl5Zbz58|7VDqfA~k$)kR$q zvtqkB)F&0rv-rBQWqafI-A@ZDk{jx#CYI`+U=s}ZdizDS)Z+4QkxO`=&OP}mYl7r| zhP-J?X*bS1|Gnq2XqNTs)e8=JxOn(ED9eN<D<4;XCy@8W)-Y)4-P66>nXUc284t)u zT{MiDlyL6o%_)Wq34(KKwKx<7x5*pp)dkK;oAyXrVo6w+Xzz?^nbwo4gLCzA<$}&y zcJ9h~V|d^0tLMa`(=mG*Rw?!uCkVMYep_|u!P)2TYS&W>7ViFd<;uoejym^Ms;B(@ zJZIv(M-#W)=1$W#tFSRDoWE9V$85nzTaVAxT2*FKc)Zy2TeoSBb8}xy>1uPP8#|qf zr%D_+S9><($ix#113cL30*^n-ic(0v@5uRCcZuP|gS^Lz1DAaNk(u*ANT2KYb-SsH zHfpc-*2!*(DKcWTeHobC$uxfk-{GE1Qp#<<fn`UZ9+rE@)%yJNYCehMyBnAj8sGXP znmMr?tD5s^-<L}lZCrz#Zu@a6OPYwe2;Dq0(e0pMyQ;h8mla|b$y4`i5MI7RG&Q_v zm;0v;@8A1P;=XA%B~*f;@a|q;19_f_+8Vdcs8~nN$Yp*xZ)=X5+1sKWG7sc@i$6tV z3rzVPdH;&OrR8gHmf|BP)~#_@oiS(5@1P9cow|V&WB)}gV|jC4S#FEYMx{4gOzVt{ zk8kr;;ahb`Qe@+VhyKg2E!x?Bj-Mr!$?}Qi!Q3sAn9c;bZd{W1biMQBspoT~`kt_K z&Xg`L{PJvt*17T}>-XC4zTNK_78N2LI$K>rrht8+=_1i?VY3Hi4e>Gwg<cyiJ)Rwy zAox|g@7PM_A~)qA_Z2VdrKT4jdFVa$&d%GnW}MbL@-s1<_496Ki7!V(cWghsWvAAI z<oul9v&7!?ey()#-673+EZeelrl<9rvYt6Pxp#kG%8*>5TQl|EeM4powk1BBB*UKu z{{6MeRDF8RNqLF4e|p_@?+DFZ+mdRjeO)Ai`@rJlR?Dw4!K!VReMxFY)|x--rJ6L~ zKGT`7QH5uMo7NG@ASty^AFo!uQ{QVCalV>6WAb?;frt;X=hb%}%L;3{<{%e&%i->o zd4{*vn+V)7oD`sPT-D=2ok?^QN6$fVyUd^AzxR91WKz);Q}#}5jW~Gcrplb}XWf-f zKNIr|S7AEPGdcL(w&PQcg%w^f95}yo)x~L((rTO39u`<P-dmD<JJ}+-_15C%cf29( z-dlxSJeBT7Pr5g^VRdn3vdSd0@Bfx9$XGl<;CfDIgGK0rt4COOUEVUg;a$xU<{yp> zh4&UkepzjLXVSEp?RAH*-&=4+SMSn^+4-|8xz7i1zRTM6vfRz3>#2xb!*g}!E0@{q zq*ttyeP?rJD#OpfHVMJ&rt4Xzy9U=3c3gkPP`YZ`F5BKUy@e(UJA-!G?OfX-8tJr* zX*v6CyRB0iX68PYw`TmD(D-#pbcGVD8QVb}&bRZc#2l8}MNX*V|F~TH+yd)prhT(F z&uS2O!x*t>opslme<7=icDGffU*8*(;Vkf*$8%osdDGZMt%0fKI<IcNY+!ilD-}_c zdF@}w#3h_hr%NV(|JQu`+8W*cHz!_s8#qBEr9g9~VXw<fF6kXlCWffZyIekbPrFTn zyUK+N+f;XYpOnuLuGBd2X|d|YkVluFHr<rGv*rBv#z$KhZoP8)kt!F*Y0YDAs=7KK zr_^sgsmOa}^6BDx6XtYWHElU#cGN|1-J|obs?+y|`UZVEA+eNOrD$8l+j);xoK<<L zsaCGgwBv1mOnub;^un}@^S3XbwbbeP<@+XFPk;M5d8Yhl2ot`&%;Ec5lbL0$cii60 zk^6E&XH7uTb?x1{(=3lhO*?aYP4rSBv6C@;4z`tRZnSi%OU|6lEU#h9R(&~z?<1!m zx6%gI_Tqmc$JK7epOP$cD=!XR`+WDLxMYoTp|gJ&3y-<F9@y|n>*+PycMT8BnN7Xk zrGK6g)6=xTKth4}M#%12u6hzFa{I4sN}U(cEYki~&95c2S=;;D?AkV6yXdLPO*?KZ zwqZW!o2C11vx@UMXOZMpeH`D92KGG;YAJ}bw@6v>hSf*+UA}7lmbfVeMvF7q^DNJ= z4ei)*_rj7kPlwXuDxafrYnOO1yL9bo+)?E8ogq|rm+rEQI_njWTf{tmp>6y1b$0x; z`~H~*#ghzwKI>(PpY%`Ax;rJE%Ye=9TkXpUF){CzWG(MG81a8-sQrC)M`@?tW3xwR z1tb2Mnw>rx`}B<V1crMIE14d>s@f9ZCU^R@dQ<%V4QsaT-mzW9xN4Hbe+I7|o3{O( z6l1cWMCG~YYMBcrerLkmPpCgRsZcemQ)#kc?pOC)x{o#+34YdN|0uUyeQDIzE2_J8 zOw(R*>4wG$^%Y06W=?Z;H)8R$Z*`L>zHm7|xnXKb#|eLyd0dZ|`mRwsrJua)&V)yg z>!+2A9uE%eRKBCMMQ7tNzlVK)S6y1P<Gxxz<2;K$uOgN;RkyX|^%(vAQ)+S~D0=pa zyU~UB&j-)C*!C|yRNuy9<y0+?lWL1*o$twKR^j=o{5tgd;edAG&1;XVJl^MD9B|-j z*SDKxeX_s%?g#s2*xk6%@pzuue+H|Tm)9n=g_i~_=iTz8Ipo<aZpMj)8>%!<nml5C zx}_qv?yj-rNyhL7!`DH6-xe(KI3w}p{MzE;SLJWQxV_z{hQBwKDYdj%y{$3z{A}*q zJs)@ceH@x#HtC^@%L!+mzZdF~Tm!6*^b00Sx=J$eRfVifO-cUDRr7el&1EX$UMhnA zPmkSsoL?X1!yUG3-n`tym3nuWoIf_zzS_HGR_(1+Q{G9&qFn5jc3=Ifb-mu`=?Pvv zCSh=l;Xi{^?zXmRPLcCGu6zr5m&LGKbxJ`KLuLcZ1h%5uv*G%Z+Ig!um>KvC!&QH~ z#H-{U4B-4Xbq4DaKmEwih(EhK89v`@v7Y5y^zpWIhVF6sqx1H+x@TS1&Y8zLl|$vv z4TWzjA6>e-=ySr}VCj_S<u+VGDJ=pbGJMO|?_74FQ}vS06E+wBdz;!63eR7g=53ki zEaktquz^i8H}6u&<TnqR+|N#Mm%F*@yF@^0@Ya5R=PwIqiB3EBOFe{t(kcJ5-)pTy zcf5Vt!@p&fY;#YT)Jv<S_ta+2lVRdwzEE{_#hZDI9m^-h8F}+xnmF^ab7{6z$Bn%H zZQ-WcDh8{)MXH@;KHi!2JTNL^=Cx!YmY;oAeOnFgnQ=Tz;Cimqba8KD{VMA{fm$b} z_zLzk|G4rgX5nWcPew(z_s6eoeDHb3#>^+@YYOMDwSJRxSvn-Q%_rAx-%b;e8MkNZ zBnNIickNhNpKZtY)%Mxj+Dwua?^yq5C@DMZs5WET3gI&j_Zk~loqW3FJm&$0-UH=l zwfSf46rE!(wDjrW-X$Nm6!>PFZe2g^p<YADlg1O0Uq$EaS~`VSrp}Wkp=YHQhfQIq zep*xPr=LD+C!I@@E%rRJde%kfR(+ZM8VURsXESHSpS~lpt-31AM<C`;*T*T2?X0_> zq%HHUVhJ<ndR`vG=NQ=7pEa%N>DJjn>?vHW#^<Upr*7ImLw{bJ*}LS2g<saZ*yC87 z*QpY)X7`MB{w(SHw4VP_scJhYQ?$zcPb~NEq(ujmj@oEH)p@()<D|-4wpkv}c6EiZ zKf8ZjbZY4%@35|nTaPSd-6Ht+?!NrmlW+Hv-f2fucuxyuY`AQ7yYkPDD{%*Ydo%8q zWVY41W1jWy(AAJ!3+CmIw0UdX3%8$|dabOTXK7*Yk`m>;4yK<A0?j%;86DxPw`v!Q zJ$Gd7DaI3wjw*$hUx%b!DP>6rI<DO_Q=-qVY3F~2t+7XJZdWgO;dyADzueX^e!)8@ z3!>iS-Erqw{xtBVyEgOotvhBM7QZ!PRl|{nqT+dMTDLZJI!-lOQzf_WK)A*|^~=de z4BXC|6{ToTaNnz3u}<GmEaJ1C#e@P@nKgX(r0dOWdv1Fsh0jT-lCqhhq?KxyH0R6L zw=rAy?MyUqJUyM=+Rx8@ZPw9pu1V)*x@Nx9N)^1b)nJ#4QKg4y<w@Dq?&&iwu435V zXK8wR+v@zB*PUslI-U~eABL>|<C$2nGCOCo&4X!)y{il_q%AvGytVI^z;5+?_44(W zD{Sss`bql72;T^27292_)7P2*^zE^bNyq0s+Er`2e4_WM2JPCne?Pv^a>;Yf&E=W> zXv$;RbH%f+8J}{WrgnpmulR4aV4gyy_lKez$Ne-ns{Cj8^jack<AMC$vly<4?P^{> zJ$G_n%ilZCC(rWVc;D^SuL)eI3YfN4d|&m+^^u1X&vi%U0)ZknTh@Tf>z;3F%PckF zIl3vz{iMC4gKUm(s-#?qlcxX2?Q7Fs-HOf%mrtLuF-(%r?uGiLje4d#@`^sXJo8~_ ztn|5hR_oKZ*BN`}9N#V(Q&8x4z|==dz&nwD*6hw2z9r?W{fjeK=_t8ms3h@ANXTv7 zURjx#pLE$(pmOO?qq~e>*Q|JIeo3Q{M`w0{!$FI;UWa!~E8aJ=P)B!mOWy2$$JbF8 zUcF_qnZEH&=ZpmRlYdstJ-Wn8WyhQeD|XhlueWtgdG%}0<%7Gu9rI<FpOrnC@26?P zJFjhH^!=7er$TrdriJ}}e&?!pt>>C|%q{_ToOk&A*yFU1>zaDLS?Buc=ds5UDw;R$ zUETTY_4LH`Zyzw0J=n-19C}K5*VR4VCS^Yw7ytdtbXMu{{;U)8gD>kTRIHmi@#L`= z@eGrHU474Af8?>B$NI&*N<s$VmtTj@K45&$+vZp40U@>%{W3utq;{ouZ0!}hU-QH} zEu7<sSmL~yEBH31ue>9kDPFwZGKMjF;)`2fs^V|x=RQ8pSowC|)}^Hj)aEX-duwGq zQG@ZmMWJ&-Pp{db<H<3%j!t);UTVqyI$Hk2q)f3(l?kN^Pl|hfU(J;h*}gS-d6cKL zW#WcU3(8b}UpsWtu4R$On%s3~{!BVNRcT_mL8+$h^L@SENoEOLU%B{$W9L}8PMwn` zoR=DA5#-NqdeUES`I?xfZ5Lfcrdhi`j@>qUX++$urANR1o@w=lowd+)ch5_ujcu3i zY090GSn{(Vd{XT>ty<?3lWuNgpIvm9tA9o<`(DpQH#5KO%02S!yIi5_%&6c=92Un- z=kj;2UF%`)d~!~aq{xQjd&M`%&TF^bd&KZ&_Ac${!#Q@bhu{DHzEW@D<@6odvpw#z ze~+GLyV);aFy>CA?)6*K9=tvIvvA_AZF%{RF6#)rSQKO2v+d${H{){|&ji~uAD(4< znNq!So>}q*zM@*KDYJB>a(2guO;rwV<$rmDtMO0l(tBq`#I~gvB%D>uGkl}H;L4ud zhniD!mv5f-Dt51^r{vpaU!&->kV{9-Y`C>^nsbkZh4Q_<(r)|v{{3h8tvN4#D*KsQ zhv)OXp8nAno%;98u~%n~_3h}{F2Pd$ecfW8jT<k$XDQpRbLsSihB*&cS5>c`aplJQ z2V1;TmGt*iZG4q=s`94v2KKGR7b9Zb^>5|BpCNa8g1G3#BQIWm+K~84``)43vu?|U zIu-h@kn~QzapkZ=aoj1(8(RWhb36iFMHtZVET)~j&(eGMul0D+@_4fUQIk1^ktUN; zC88$XxO>wke8ZYojz1+z*V}I1`|o)E=GzB0t}ED?|2nR5{kv$J1GAqeZ#8_CJ#+hq zr+2T;Ik{qLfB9X8y!@5+Q9o;9EsJldFK?R@QmT~|r}g3AY#qaxGYjueOMSw4XL88( zV|EhWJHw7WE}6Lg-2tbXV|fjQA$cWt<!qTx?b&+fu=Y0B<8_N~Toap~SXf=v`*6iI ziM7(jb{C2q9x!E}owv()(}|_&{9Rvn&wTebsM=G?$LiR@z`DIFpC6tachdTm`FrLl z%M+6qDwHyOeYThBenkJ_U3Tf=*|*!%N^Lv;=`Yhhx>eWh+M{2t?SYg2MMi8EJHd72 zdB)32Q|?%XZr9Vj`y#G8V5j-~v`s-zckMIlvt=#Wetq)cW%D;gt<Lh;ul?=(O4H6{ zn~VChR~@*Y(o%G|x%uVSb-~BtO!sY?b<|{caej{A&R4P3%<m(Nou>8G_}w}(Yv0B) z?mq{P_j$|xT=&t&eC6v)mER|y5a^lOlQ8k?x_s}gS4(dkTa>qWo2%~`nVNq)j<5B$ z?|FXdv6<6@pEC|^d^GpKk%%wawr(C$4<4y$vCJ)gRs25k*S5w~xwjs|T1U^nI~TTS z_eZe_d9&Xd>K-`uTp@My*Od=Gs&y*<y}IOM<iyWHOHzI_-<o?v^4R-Ovs9Dnv%9+{ z*zbOmtrzQj^q^CW=X1V?ZH`Q{i`Qia8oQ>a8;Mz-TB*=;tzdHewe=D&Un{vR&^U3s z@y?tpjmuQKvTHw0?Q*lYwfx;IQ;YQ~TN@lDN?skeu&prdtS`)8a!Bl7?pgJZj2HT& z&ThYwmmgA}erM92^$H&yq^=uzZ;j;?Qe=Mm%3f-z;_jVcy|-&}3MyFlTWwF1Iwd|o zG+$r0>A-VKS>J+N9a}a{e=Ak{c-q`<0cm@^YA%Ksc_mNVbgx~TZ`JeeyeZ3d!<)BP zpZ#pdCQ^9i`<m({JH-|~l2kv<GikYXwpsM+8F!-tw@%MyY<oQMb?7O!+qZSL>#J0I zs0jH-?Mk?O)#uZBsW}rm{Ld7|e3^dq+*><kVZk}(*88SLy*^vXGCgeJ(w?5rJ?1$V zPpL&__8$GbXhG;5#`E$Wrg`t9c5a$-%S9|<0TbiNXPeV^pJG&+a$a{!%GJ#Drn5&T zGz)zCzS-iW(tJ(U+b?6^NG?2edg7Mnjjv;t{F?mpnWV=(HwRgdxUUyyKV0ED;}K)O z%6i|eQ*ODgJ+dq`$A|sw@%**14eK*?*DQRxXUehj7bZ7lKKfBCBb+X4{n3Bdr5wk2 z-JQx4{9}r$u9$7ed>E&3K|A+>x%2xFmJ8>F4=J3Vb$F%ieyQBOJ^cl@*V%0N>mXlJ zU48k@RQDOP{SFm)@mYLb8TBIi#A&UE0tN0mbyFBq7wx-jXuI~n%{lz_!TnKZce4lG z{e6y+p{MBd`<IcQUtPbx{8Y2Qq1$qWlYiW=EoBbeKIN>47xxO8dF*wXcer!&zZESq zN)EN)eL1UB%|NWlz<W+>n!L8~i>x`}+qbj+yHv)K#FcE{mlbUJ(|f0qk>N`Z4$1Y( zpQSuD@blb!5Z1e-_bJPCcBVyQ+s)gV9HoTMx%2TSM+vPxq}UkB&uky~A~QxO=<^BY z{4>j@WxrPy^r<(Q%OPuc=fXzb`<4tE>T>@XqOuNs7S%bRaZY01%r}{>?UE7=ZxvPM zF}|>ya`vN}V;!>$W8bsYxxF#cGtHPk6`m_RvCPwS$#qtr^HPhoS8`7%yb_?+ofdiV zj)iOR=k+oZY&9>=?ws@X=AJoy1`aC(7Fn`71|8kx@3nca@h-L4+ij0*ZC9ur6)O}d zlyRIPIQ3nzpL5=W+C@s2%?kgW(|Y(RCCtr!FUu3g8zs+H7&O_unK<>lir@st@2h-V zf}-|MOY4{Od$1(^+1)o<Zd+z94R|FaU}<|+>-L{>_oB7MScEEULe9!eXVBSXc;imr zR0ns}E|D|BZv&5UJva3&IpJKn$}y(Iw!d!c>faYrCf=I(dz*rQk^8m9b2+S+9#r9Z zkdQX@f~1hM(8j#7#}i+ES;0D4aGT{u$)^+KJlB5cSm1wi-;3A%Yt0<<#LvtO+0(q? zc$H<-QO2x;KEX`KC4*nsZB^P}ac9+$--W@OTm>E%t(16veV>->w%s<9)s8*jDK$Be z(65}xFgf&D{>Iz88zMs{Z>gI9GVHU6pK$ic$qmO>*nQPLF3hyfGs$rN!#^3!M$S1C z7rSw~A5P$Z?J=G8++_(NjaRn3c7ZBs79SfbL=K9aRV<l&O6B2f$(Oep6laE}#2#1R zdH&jGf|;|#)o>ZXE5Aaw_kMdHlWN~lWE@y?+2Y>gdWXV;rVG}Drc6@YIyukc#Bv@{ zmE^wr*Vb;i?Acgg*mvWge0)@wlIXU#cZ`aPFRk=QQ7vnmkigj0ZDGxvd-vDmu-g?e zdIq-Df3uWU@Jr-Jl{3!fauY6yU2Z8``F#nG`}xVu#~l8ZtTN}lacjY&ncE7MUcI7M z;L1B$DQw!EM7!Fv2fm#6zUs2*gt;rq%hcaJnk)U(??vP$yH9h{mVH{U8ZdF$i(ifN z99QN{ntx-hO8(bg@pXQ#%27@&R(d~<Iol^_{+O_`Sg_}dLUE8Mr|X@WH~i%1PoMbm zeZUQYv-tw&7(O$w6kl6$^6xTrB_*jF=3Lc<XR{c*ISnFK9A7WHN>b(I&-!cg9Bfj` z|75jY<mhvY{c)PlFko|@^Jd!uH>-(ZEUTYwpCTz!_5D{^b<8Q}?K6@qe!jeJ>dA4b z-^egxdQpy=`wM}uC)KxBe39BSU-(a^j8)*LKei9o9;-B*Ht#|2j^Mu+?`_;?@nhL% zzYUjbm><60wCj3@YUmV~@+qzTJU3omUs{#k@JBKC0YBTVA5rH_g%_spn7{hWn<8)d zm$4=**STBPbZy#raZ?+ol<?Cd20LFLHBFr4uzBjI)4~((?%SFeT=cVd2j7jC6a6OE z1#lkBYum7Mwrent#wUG?3HoRDG`JUsrt~~9GZMd0w$|yAkC2(x61gP_x!+Bhjn<?r z<~_dPtK3zOGUJ++%CWC@cMH`utvXrYz!Z8)___>F)vRlg*VRm8p9H6Ms-DS}xOFG@ zO>J+0N{YO~ZjTvkVe%SZZC~9gSYG+l@woB?S1WIe6rWA4w;WEq;&|&<v@_4*TxKzA zi}Vle%Nv&oUzx_mc+U3k%cG4axi4Rusj{@L+`-*%{<-dEX~D3=F6Ez!=XuTAWVTsZ z;+R14>-kZ=OLE>YC@1SMJ&^a2%AYZr)o>-(W0`qhj@<ahapv}7=HC5*FMaev{v0q` zaX{kbj|+9dCl0=Fj|tqdLtP?q9(&^JkWNXhJ(mhkG9<tBxb{|hn&YSc4As}>2%coM zw0QD-{a($(k{qf{GBV%nriL?4a@`gX(qr(m`0aI5ISW3v^1!Kgw=hriVq{sEKcz(C zxyWp$4V$>mytbJs^X5F;8n^UYef>`-v7hbp_+s*;sJ^77a*~;N`SzO2x11dA80=Xu zw`jVdr{IkHOgSHl_;>yaNq(XlFhQd9i^-&!BGdfb*y^@ie5NciwSeFGid4<v4F{z( zg;sCWsFIIzPwBmS_uKP^ozLyI{9zFJ9>=J@z+_UiN?%Y=xf|o-<t9JdOsBJ})SNzl zMXJrGGARGS@hvN4=4D;ByEKX8Q{nau+xD7Es}*?_`;#Br$oX$vS~&I3)x6{*Ee0pQ zeff3yWbxcCk>^ddwwj?eI}U{2YM)c}eCHC?(?)6+6%Jay?9#If{1MJ3Db3|pq_u1H zj(clFn(usNT3%%HVovP^K8JUOp)<s!J0xGvf9a#Y(st_sC)K_iHanH2Hy(T+&-}x8 zZRvl8{*R~YnU0;Txy;e7!0|7@(e(R;NzxwbvmTmP8g2`zeNZ^((LSReoUBX#GaP#x z_jjSO+s0ET-s~?|nNxh>x?9}-YW17afmNH|R5w10v3jDx6Onx7igd(A{@&&5v`*(v zD|3xqJK5*PO`XNoeVpf=ou@5JEt+WKs8W`G$Im~=n&)b;?CNcDNt;S;alU>Z<<j=| z*7iG=%*#AicylUDGuktcn{PpX)w~2nj*UlU65bhpwMn*orIne?{>+^x=G$ZD*MTeg za&&j{+&IbJle923vm@XrzjE`j%wi@zNrPAk?Zk5S<IC6TtmF*2v*R;+fRU@)w5}hm zpX!46uU}gpacBkK(<Z(J36Cbul-%AWAhD!h{_Z`F*DqXMHXJF4^$hTT!0VCR8pAr( z+2Z^eKfCsOQ@1_-z9*%gzrKp0G54f&`1992^QPQ!5e#STnj=(|_ieSW0Hf#eGv>_m z7T=q7cKd1d3CoNAX2$Fm)XCeUctYmMH<SMi^AqkA9eFT6t9424dBfjJK7U;<{;Kyp z!@rV~85OCe3_TAXv+v)le)HTTk^b2_#+P6EsqAKpGwVw7>UvgT{ABXgUG47-UpicJ z>E&5?BwjCi<Cm{z9nR`JSa*3#%>w<Ja*>U5Caow|n&jr6pH<Y#vwD)bkO+T#6x&3p zjTTybmh84!#XNzAy&;Mzya!$fx^G?jX+oR&2K$*SdiJG$xfiLL7_h(9<lv$*eXW%_ zZQOkpN6k!1Z%H;dUP+$p|8rO41lzw^LG2dBC+y3wNa;CBhFaYI%;fJFxbc>;xbkvQ zWuwhTdZAN<x9_vf?09@q=fPunZNB-v-U-S%u6l1o-Sdm@tv+v3ctlU7z)U7(j)vT_ z^;5djZW>QM8#wP0_YApnZ=F>Rv;3~r*ty`y)g$4Y%sDeWT8~MHO4u#hQ~b!Ry*9T@ z|5C_~%EG5pf4|~<TL0^7aqx$w_j+q(zjYQV^=!~PK6#6rL-29a%Re@~JN(<oV%^N3 zXFd|$1-CmMe_rkPAmK-K*p9uImNjMU*}m-<ThX7gKiS1@A7dx(>OMT_pwS(s+bNUm zr+l1b9?H-0^5bF29F3j3*o*g7<VWpHUGh`v{cO9NT=EkSKAHC?l<_vlr!q74{a+Sr z`y{Ti>Iv%`+f}uv0*p6Rw(jCuw@&!XeX)ac-m7hz7^ru!=#W{fqW|72JW^RRrtmiW z?DC5+f9bTkMW;c4?Om;Hmgc&dx=A~_EUwAkx0J11SGm|#*hQsCBmM5i{=0r2$BTVk z4~FzVtMhuk?EYFeJI~ac2WmwBWF5V*Y2&u+yHSBW26N`mU~)}*f5A^_)1A&q?A_1( zX1tws^xD?B#%^1(SD!5R>JxEl*lbq)@ny^$IrZx`$(6eETa>f4Wsmx7?%&hA?(*xG zv9|qfI$KsOnfLNu=Ev!i!cLs{_bxlbb?upDJr(b4T-RCs`(_>OaO&dR))ejQbH1;& z7nRH{$z0aB&y#5}6T8AZ-`uD;-Ooa2w<#G&G~QmOJ?CSjeL|~*rI2^Sj-P%8Ro7n5 zIB{?L_9kAtTO6C}Ty5q&RyIxS+WpD!cK`E0ry%d_VyXFt4LZv={jJSX?~^Fn)ck3Z z+vVn2msDbE4|powcwDvdR|?<NxjfO&?YyR>S{|?w{j%s?hO(PsOglq*;_m~$0=e@# zV!T=%;^y+3hKoJ<7tnj!bB^!{Q{N>Oi_;CCGUuw4%6$#XE%v+oKI!s%J-dH(;Wn+W z=ll+;UB$W9TV=J4-w{RUE9v|9O0jF6bLPEyE&j;lM<MK|f+~O3YOnEbDZR75d>gxH zXi}R6>tywJGoCLi$ToJ#+;`oy`{BZ#$vaY{&N*egh${HF#La)ApU3Ub$(K#N9yUh_ zvj-dzsG4>DN{#=5m)iv+@5j8E=El9<R@}DsmG$Wk(>8<1O%iMGPxs@l3Ul%JR4@5s z)o=HU%Y&k>S<h@qnOC;qMeXWyf8;-E$6Zj`*&6wN?o%D<1_s&Hm-ZCrvOeqjV5fFd zX_E9j#`kfWmCKzUUhhv6%-e3n^VM!@p~kOh_mAS=rY_z4^_$`>2g&K>r+;?seIzf^ zEvxma*3kJ($n(sT%(wPcUC5Vv?VHhY?2zY^KZ|eedMg}sd2!nID-t?6hWpnUzm7J% z@i6Vj!piQ7yyc&tbz86`wr^bZ?Vh3e<;~(Z_il2Jsk%Pz$GH<Xe$0HQ#GD!AzL0Il z=ZbHuQX;t+kIQ`xQ}XySUnJ|q_n_l@=4<boKjoKToPVWdW}Isd+w+g#S5G%TYr!F{ zF7s_&-6Q`gZ~wR#hb{2Tf6Mp!<k^6!SA2wmLOs-#*E(%Z?%Q%*>pz2a+1e1NN0p}> zJ|B9L&c5<bmSF)`gT?Ws!8`2l%1EtR-_E7g^lY}+Nv%6&XM-lTdDuMvvYK<tr^gnn zHXATpU98q~b7EfsAA8mLi5@?Fv%O~ft9(8iJW1z2gV!w;k?Rb}qLp?b2Ubk8*?wuA z7EjU|jwxdKSr=N{${vdbZd&}*!sN#Z$^3K6T$g1YE}r^$xzet^{NcZCUR`I;(s=zh zyU{&GN4zz8PUsDf<Te>OzUpV2CTTstaJ^3ZciLRRrk5!UH4O!hzpnAEeI&77{LQ6i zWs#pAHceK~_RP7ncaNs*h8wF4*t0sfs>e<?u4#Fz^6Ph)-u#4}7o*-*Pwj4!_&Bfq zb*$d}a=vMwR~yVOtFU=|`O`Y4Yag4}9C({z6Z-n~0;f9~KRcewZ53)g^UiZ+_UFzS z?1$w3GyKguYBhgGxpiuF*SU#OVV`B@Jb1LqXkUo?IX@1iSsw1WnH9lV{ks(&|7Tbm z7BQ1q$nx8lb$OPevBE3+7kpX!JLvQ3W5p7#cOpuEg=}0BGPNS?%gfLcd=AG&3s&5a zj5uMPwt(~Lu{HOP&T0wL_L#x2t-y~hYvql|DNS5+!sfJ=HSj&YlD;({<GakplcsCi z+>#I6f06Czn8JH?)wE+Q<)XWE?{Ym!X!Kmb!kTovYR!oo?1gvlZAo`})3>K)hkbn1 za+4y>P>#siJ$+3J6=N3W#Z13*FCuC;PtKWW%kzcd$7U9U2ufOhTRD$y`@>_Gk4N1y z-09h(-8?5x;y;7h@~560za1r%w>p2DA^u~^uLu7btk$Z2iTRnpf81i#H{H%n<&43W zCz)37`PlJD(L<%?e$?3=yOa3Oo=uOrC)>L7vFxkIZPSBfdXMi8J!VziHM4YjCzsNq z=iBV(7OkyV<8Kq9YpL*T*JDS)GiAN&SoydryBqII*j=4mzGBTPV@20|uV*|<{_K3T zn1ydnooUuAzT_zHg=$8{T`M-Fc@|y}>{_}1{;l5Ieg=Nk{jZ~zCKikNEVl`%%Rl4l z5Y4t&zt25tN5{@*eajYRc0ODEZrN2~m6*sUJ@3vd?^veIlTc!5%Hfmn?R~J4jJeG7 zE<KOGS0xY2v76ROOWx^SAoJ_m+hxu9DsIo*I8NS~XZ#|2-r9=eMHi3G+spUR|JIMw zUriSlW?l4)s6GEAi<3cb_2s?kZ-cM$oShkEZuw=Ek#+jKscTDi+Jsp*8F{P<5_a+Z zTvT=0;p_5Nwdoma%he7n|FpdMthvbIzKjj+R~E=_Wyq1M3OW6mchU5q%hs||VS@kO zluE2y>&4oi`CQ)o+K#<)_4-rUFPq+QxbtVv1motHacZX3PmfG<E&lG7wPeYvP0yFc z=`A<%vez?={Io5V@6O6sw%I+4R9WZn6!v|!I=XYaz7~6Zlt)BU`JX!<-`Hv$Y2DVl z%HqrWud8+%3Fe+Idfi`l)#w<*A)eetMysW#o%XnK;Em=fkHd<G%a_bh5nMlGt<l5j z(wkpLzFYe9<gLmBYa{2>?DG>fd)U76tEj_cu2lvLt`;*p^Eie|$jN{Cb*0FlCI5~H zAFt)j!!}_Xp4%Vumyhb4xb4s+jj|W_X1>Xqs2b$5b}!$9>Mtuj93^=rC+^=rfA^a# z>1iP>`}{cM^{<OsyCvuA_WPvIVkq|CT6w_K=~a5_O>KRfroF4uJ2oD(SQ6oG`<G2? zXGg}0O$j{uS1$iKdgA0klb51Xn_5(a&uKl1+HtFj@y6F>GrA75zngQ}BX0fWTkB19 ztjbp%u-dLHTF!KY#iizu@eAJ2ncKdv<~n&Yuj0|lGqu&%CNc@#OfU}P(UovI-Edb+ zrST?9>-EgHcWN`wGoE{XXUXrctGETdo1R9`3DuNl?`gbkntMSr_U7$*g(r`O%yhQ9 zWam`GU&YqKcS&a6qBUZtG})iA&sq`KExU)S*xWv9MaLx1=**hJ*Abu19z|`L&1UBI zqH@hnyO*}ECBaNwiR?CfnvW*iJm7l8$jN=WFmPv3gTC&(TEn+N6Zk{#u)4jSw^-hb zA*rt@>p=26tB?dHji9QK6TIDZAt|53CrY#DaelXvI=$VN-D_Xuws*{SSI-;hELvc1 zZZ~7)Olg_Nva1$OPzWnMW_jY@)|~z=nu0QU?|73~%MbBcGA*zu{Pfi{Gc^2rkX)8! z$}NK#e^xLiZ_{%z`m^u({k^7wIq$Y@f6tP>Jm#NCOzhq>`%>n}Fdp9;md<;5Z4{HI zYWmc<(wVvw7#{F@CFtC1`Mzr1n=T_G&sSQdT@eS;Wad4%%oH=pY^~F&h_}hx@2&4q zNmibewdN>a8594?1v{oD$=lmjb6x2*FYa0>^hx6DS`AM(o=TC+rV?jD66E}|mfcjp zw0wpccj=1$Y2sYBdoyOt4BRdzy(|68>cUFz0{)18hYFKphYMXaVuV6^_iZtAtYOt} zedrsoM<q2NrEAL?c6L*iF2CZlzDJd3&oKMXFu$oPY2h)Bv)SGf&uy-<cWyiyq;PrL z#0j!<QW7qI*zNf;@}uF)d0Ag_cgS3R%KZP@&(>}0<K{nKtL?4HwYx%=uX4@&?c!4f z%%@8;@0sUZeQEX)-cKiF_#SU9Fv*CX;5lhwU)|o7UCn1T#rz)LUuin))-ub0_4C?R zcvs4_SnqV&d+;bnxK+?}L8i3EL+R4(`D>$74G*7V`lhy%^=hd5S#!Cwv!?2`G@lJi zm;0J<_OrHeF5iNxN3%9_baJ1RKT>^-b8k|Gli_Rs=uMRgt_;0lyDJ)VCVp8VR^66w zYT)o(<y!UKL$4TBlCRCmSLEK<=kbC)is{+LeV;Da99SjX^X+V;xw~r3p2z#Mjz#ZC z-~QWVqtL=;=JSD38#jA2Wo#&y5qzVia_DHsI*0l>53ZcmIbgk0!g0>?wZRkkPB7&C zec`IUoVhX5QovK@+>PMtx0gmtyeQcA;qH&Ofj^T~XFQknb$iz$%H{BKPU-3f0iEO4 z$;Z#0H`Ndi=l*<v>$_IggqaU4LW8WBDow4<7rkPdXS+I$^@mPEC)3u|$ueed(q9L! zF<e=2Fd$ib%adoD9(TR$OPw*HnyWf`&+fpDpJdu(T~igeL{-e`pLy>7QpJu1s{NNm zOOq0I$~-Cd-fR4Hlc6mmbN@=yo)-7Ed(veWkBchya;nan<Z*ySe#Y<MZ#%jbIoTV7 z6C;F#90m35m%8QZ&b;}gzhuX;EJ>Eb+ItqhY`nE<#=Apr`jXyWVg8#LQKmMDg`sJN z`u3%j@_l>c)7Ko-WKek`KeO(m-Lt)Jrh9aMKbN#^buG-6IdS0cd;k2XOH<uBi(M}K zP!GF!+hgk5yo=q;2W|g;j_fXSk89eu>Erxng{vmdb~{L)wz&KE)=%%C?a|fKT@wyQ ztg9`I`zqtKQZ8w-*_X3n6?#dZmVNprd%SP)>v-1}^#X6A7^drZKcCP%Py4CFvRj84 z3NOEoo;GXE28)CO{{-WRM=MvZ^|ZTo>FaM^H<oz{p(^J@`_I{)So=`M=hVLp?F)kO zN-yGcr`>sf(B{GCuJ8OjKU!YddG0FY@hYmzYua-%xRCkspVtxRj<%dsJaN+W*pL1r zVZZd|d>3|mU99G!J+aBvdrigh!&O0^Hs9x^g|vi7TCSgya&5^+yB+B}BbB#pf2Pr# zvdusEeJE#qfL-&4)?*8c6Y{otiY}X5e1#`{!MbaYy*+M*{Yu%Iu;6WyQSrS!**^QX zUwRv>8aA!`puzex56ajtT+d$kLg?P^S5dodCV3fc-1xiuM)j<14exXxTzo8j?_q@S zIsT~am8)*#di*&MCMP`cQ**?{mr*4-_Ql69ZB^QIS>&zQzGV4Bn<ptQR$abj>UXD` z=U1G3wv%6|!tHd#Hp3bJ{&`KlB6!ZX%4Nd=wzG?L<}th~ytP1pal<JiwhFe5&kM_) zJ$|?!u?m?LdOKRw`t)PvhLG}gWl1*Ijx$y;?cM*#b<w>ai*B7eWy5K-{Kntxlcv2& zuf6B4T^G{M((|~v>szvFYVB#a67f!Mo{v4rHrFec{@5JWdUj1XD>I*25C5?}rwfcZ zW)xrBmb3KJGycE#GEZr*^qn8{LcHm*Z}0nc%;zT<-?^U7vUC~e9FAZ8Q6K8LUPqN^ zKZ~DcDe1ene{XePZ*gwbhVudskNLUR-OWC^ZfA<)(jqktuQ^p!*F_(_^|MtzeC+GV z$P|mX8}d=_*DLRdkb2;@TOj4h<F23akJ3AyUs<>0;<cb_A19pJ`66q>m!FMtwWb$$ z@0|52=IQzPz_60voLgs4-PYw)Q20e|YNN71b9&&>>g@;b^JRXQ+MR86_WaGaB|pwg z5-@&dW)WbO{yO$+`f0JV{N9(Nt{=K5(e%pIAa+T*&T*E0SGli^4_ABc39Z)Ky5iVr zk$RIPC%(F-&8BmM1AfeZWbx)phm^H-fWYo`B8~U&{Jy>;q9Ti%+hWb1OWjf*H&3c9 zj?2l|ap--ST1>mkXF)y5&^-t2d8)5G_Nh)ylP;TgfKS^fSM9a>$tz1bsszK<nuOd@ zvs$xW=|4kF&HiZ`EmC1SSsQZ&yKAyP3pa<RZP+lgbJwnl{Wl#C{K*b~GwGODckhF5 zOlx%)ZF;iq;S2Yu<pP%5H(g*7n9dhb{MGK+9`{FavnIZ}HrcgVdj<3LwY7{ZZh7nO z_{4Oy`7^`f<!dYYk9fOw2W;H8HGSrk7RHX}S01hEsr~GHrKDoP_KR<pOr06x{>N@_ z_WX~28&iw*zs1ctbLn)?Qx65XWox}3>8iV2SbO@8&U9C%<3hYgtg9|QoGbUqGyQt$ zw$JPH_)je?V31|gws7+Lln{IAL9E@;T!mZS6MO!?KelUzp^SrH(en$!VJfo{1fy;y z-?4hjEU`Ll`z8^wkGbqJ+bn-wGs=CJmL{?E*qs$|d;Y$9vL}9V3@=mU^yk}xclH%- z`6lr`uIt=;t(gp}^--rk+ISZ(h*j#*kEs*oE@5MD`O53|pTTW&tX`;HSY4P*`o64Z z+tn7c^;^X>d=k6+iRbyXo$FgaS5DjPC>C)<;$fvix#`V{rbwMH-lw-D|6Xz8eEsaM zSsx2mro^6~k#xoXkIJ{p?k7J_SNZbb%lefz!B+K2_wJoxTJ2)^f=~PLSp(^{MH<}# z`wEKcrG7a-nzmGL{)b=Mm36^2ZsI?-^%?i=c(z_%`sy<NlFIbMop0;6&RjpUe@1jx z|D$L7rbbM<XYqX!r@R5XgzW04^IJc9uBe!pTmI&bh_bxj&$G3{>ksU6_Ai_nr$5z0 zh3Ct2k&oxDdae8@%Pj2~q8C&Bq&V<+c2;ywK?+}ypQmZO@5O~BvG=Pp@|JB^-hA6& zny7YTPkR5_L_a5q5W}DlHs*{+d)yygz1fvfviA7d*5(s?zs>qSUv)`APr-pF^Ox4l zf4utTR(*l{RvwNl>Q}z4&0~Asw)FN=Z)44X{iXh&*KLlQakHY({O@P+SJl_&TTXWW zt;6$HVXpXkpRcADE51EZ>tsLsX%hqgUa_l^bKcJH(0jYb{_o^uHS@WDWQ6V=+G1lX zBKFOQQ~3LL9iE=bwB+}Z`vfl5Z+Ryiu)p<8nBlf-&aHaxB5&0LCOr-?;NSnuK=Td1 zX!xB>x!s1d%jPC39$NWXeEaG5fj_!^a=imC-O>@=rrQ0EIYVywz0L1+*O|U`ao3rj zwsrgV8&O6z2Nk}`O+B=|)yBV0bj|W9?%JZfYT*{Pz82TE9gRA^>s6h}hhwv3ze>NE zai#8^jhKZjYh~^IBXj+a2;2Wr3Nv!fI@?m|o_J?Y=vnrMIZ7qdV<*4$Vn4(9{>SxI zhnHkpMXlYtcSe&<?(rbokKS|HmQVW6a7gvh*({eGAH_B_nMi(`xZgRpZ|Xx^GqqlW zH4%9a3o5>z&HK-A$T}~&bVb7P`TrSWW2E9%<}KKKY_SYe<)c{>t>&eF<U17d;mXUW zED;eK{?ukYKb#ZuqwLIjo|}Jsb1S}|?LR#Iyi$`HpY1FEmL}B?m2RPT_pqLLBA<0F z@5{bamGW$fgJlXLvcIng+Z0-=RPJ{7c~I=KzDT0Q&-1{6M?3X}UW-@RHrJ;+>}p$X z%;M2_Am%@VaPfsOU7nq*vsdTLbDFSp*P^e_m&<)UsWyM*-Pp|SQMYopW%sVka#y!` zdVFnmMgAf0WhS%Et*N`eDt5w|<MzArZnGz7)n>kXx9-R!pF_U)wI`pjJ+btJUGN1} z-JNeA_a<?8gfcIX&7O8$t?#niY?W0qa}R{goqs#`VrrSpy33zaXUOgRbzS=L>mUEl zi!R|%^y~;|crH?O!>zBmOxnZSh1F^9lkb)<V|C}8)cf}0?6JZV>&m@4l{dL`Oqt5S zdpzGUR(J2zvnSKT4V8Mn9Dg0ewtRA~^%3*=`icB~d=EoX1aJR)cDGCTT=b-@(=R8V zl+d>5-SK4NiL+5wygTJB(wX1wlH*@_R-9>z(ay=Ib({O1ORmj$(#N@HWx&iE3<h-p z{6)4|Y?s$=>o@o~@yef@E0>yi+t1d1_(S4lPtXpbq(=|z4xCc3(D~0$(w`Od_{8ax zmzOWI+uC2gKEkO_b(drqGxG$;)zgk$OJh?y=y<B_Me)}KnL_7n|Ge9u_Nk`zctCme zwK+*wljbM$HTJK|+R4p5rLfIr{?hc*)<?B}3a-{^;a$8!ZuzarsS(>g9sB9=m~l?x zlGlx4DZ9L_OYg8<SS<PAZ#G}#Ru0aeSH&-c^4mTwRJ(8aD`6X}O6SH4ce4Zal()zg z8A#e%uI4P}ndB<9?bD5W_AS+1PhF<3G`O4jbmfCd74}}2xBYgUWVxtiqt6_^8DE#5 zGU;3BIAQ;Zh;)W;qEQd!QxbOYDk`wP{c1Apx{!a~x`h)}*qL`6FOJl&W|>^6ZOF4= z8^?j;*V?)SUVb`hKE2plVCPBo{zKbx-!9Ww&6cX%U_6i2F}r-(4CQIh{0+~uX#8}1 zJF9w)@1D-4jlWyucYj^ELFi<z$QjvLriYoL_t|Qlj=U*+s?Bc4aZ&F#2R8le-6QzA z=l7!}VwH8W(-Y3ym+-G;5SqPG{JT+W=!4>u@l_FvJZ7IS(>rCr^t``{C&=k&1kW}z zqffP;qqs$8Pgph2_Sc2b_NbW3RUSo8<jM=XcAPpBdZDH#OMmm4Adl2p7BjD;`e!XU zn<C@(ea3NzMGM@%tYiq&a}b<(;P-)FS5rGBmsBjdb6jPDRoZHoX_M|K&os;XS@bvJ z_pEspZC4F<1g!~CusCUZer;&?&fqs~p|=ifuIK#rb+y*A`*v~jpUD(OJdxTdI*I*e zsqyV2;thMI<vqVOzbHzhX2&|eJLy*@zRPTMm+JlS)OAIW*#eulvS-64@#aR(;_kWK zd~w&6`<W`s9x)`}-yj<F=%4F^Zq4vB)0rhtFjRH<@Y>pb<*t}>Rx(k|?NN2wn!A}3 z?nfWHmk}i0dX9nl=QWe?U3*VI&Y0VITt;jC+Wg8S&$>|Urwg8Mw7bgNt88b__ja0O zluQ1Mbyfw{VGFj+68UuPs#0j4;R(5~B9o(6+*Mg4y-VYq|61Sl@?{?X8BCstJZD$A zW|Y<%`TpI+hPI%{#=Bdql9#6Y7ME9xPq+D(c8O22z)|k&<-7iQPhBE3*aHmwukHL; zvS#hKxvS3j-QDw`>`rYKZ<6(!ji<uTr5+D*m+v&qeq$99ZxZx#9b4g*y3)4K(WjN8 z&0-cF);RHfiL|o(Zhswf2V1)>Qj4lPg+w9~XS1FRvU>1sjmfqvib8HGr_EDkQhr_i zI_)B7?}JL~KYNOAtzY_0wNdE+UtOuqHukI~#`B`NKdR)bIXHh0De}$ic-HB-Ct!DF z@tirK3sr8W#c@ymbSXyX&GH&|S$@g20zADFlM@<M`hriMKgXXVRkU$pPpk-E<%7#S zI{RN;P<pPmGDeK&p1b;$Ql>S&QrS}Myb8>+=hr$-yS7`!Qpk9trSj5L?(IFtj!N+S zeP$`~)pV)MNu$b*6P3%3*H_gX;pa$7i1a%-LuTbMuWxo&P6p07ZM{+}npx!1jtOGt zs{WZ8xRr;N-&pdA;cw<LZ&%+oC6VR#tt($?rF(>yS=xL)9)E6)Cm*K(n+AW_dmoLI zpA3>RjsHw$t28d}OUY0^<zN)^Tt)D*i973+g94{E6n+-`oPPPGzsI+>gvEugtmW5+ z?4I}_++#8G^Y~eIp^aZmy4@z-UiMt?KZD_M)eXk)eJVmWZ=U~Efr0(5s2~r=sh{mD z<97bKy0xTG*{^3`<-x$qeRD1tZZw~AC}8%CA|s1mmsJCe?XIOhE?;h{&E%E5;`JLX zwRBH`IYuW6o9~NU5LC$*TK8PX;~c+A@S&BKvbL|3YZ<3r`Ec{#<Ho+5%ik6(z1k+- z!#pW#r$g8$;gm^#cAn!`Uz+Bta_LOu^izUG{nr(~AI;V5IJ&7+@cW6MGahd>QuW;a zG;(&HRf&iSYwX(Id+9Te#}t2E^+<Bb)G+g(T=VX}j?+kcsu*yfuXfd%4JY`g*ts2- zyWeY|oNMVO=BD-bM1Y5UOz09Oizv&st9f&Z3}1%Woh@k))>Qc}>#BA8&XKpOXU=X} zS8ybu`T|>nYjGR*#!8ja<13fF-%y>f@yIEOIggu)@6Bhwx#ae@OrLe`caO{Wx^H?I zvzqmn##`?dyC#@u=Cl72N%MGoOuX^r*R!eT&6WkMzbSer<*7%Uw&$YUHy_{i&VJ8) z|HH~NMFpbeW)^RK(rxtDJqY+5#aeF5o!<C1EVq=`>FLr;m$;Btmx$k|`?jXV+OE5j z|8TnUJgpfQ^>n*@SsEGTE9Tx`%23kv!&s~ClXdNWi^nQoe?6M1_TzS8^5n~MUuUwm zKG8b)ZNH&BJ8R*I)kk*wwDdf0vSzTF=pZ_=Y1@(5`*)eQ?+yQ5DOC4KQex$?0I>(b ze0%xlyw1+^W(YA1-u}^aWooJEfzVDVh4~eY4ae_XF_7oEeD}~ME2B3yY!Z(zT$^aL z`{dKNp$xev9xpd#Hh!P`T;1}I*6x^&W<{PibuZ%Vg=ZBqo!rss^mC{0VFkf!E4MCr zEBAr#nx(ph`b+;=_oDZ%>05Pz@o>rG?blYDgio}HZabMjBiE9PH$W)*V6#l5<sA=} zU*9ZO2QG2EDS05pX2A>pz2Pm!rTvw0YcDO|>3bu<z<S<HyOt{kCQ3?*JB(H_UN#N- z_4-ZV=BU5l4klE-4mrC<r)N6PNohUFy;>D-*W@nJ%!=rrKHc(!%=eWWJq6}EJ$?FV zni?ZV+JwIsXH8xAkY(EB^L&-Zi@nRup7K<vJZZe}i))$7niHRR=X{uP)LJBVV%}oA z*g1|eeZ42{-kx=0l5JUbTl9>;)KW&D`on!c*G;;*pig$^jT@)l+j9OZwK>b>C4J`3 za`q~jziyf_GiAP*Nli(;b1r4-huw4g9Aq8VmS#SgP`m8@DGjGdmb#7CO>^V8_a*6W z<zqa?X)4l}ZtbX`cu;+%skzG90+$7cEP1c@Rah=<^L0wgP}m~)pe>Axo%<DUd}H3) z#NM)%<>w-b+#h=@pK<g&sd+`9`fnzq4zHE5WI*1Wxi=qwTDf$Z+boNRw`cr#@<ii! z{Mxjw8+Of2-gUR}hPg^;rOui~Q<XRC?<sPYt6inSb9Yj78`r9ZACFo5IU7`6y>M?@ zLZbS0`MD__dXJ|riDc*f)I534)!Dsv-#n)H#5D0ayztMO7of_WS+L^vhJXjT*2UYe zE$z}M_++w1vXaY6=J&PSb(2{#Ws=-7{k-#@Fu%~cmHF-3e+C=APvQ)v4;VulW_fpB zEaPFdI9)F9)x}(@``Fh|XO-XCyZ-+fqSl)B1T9{4>SzOdf^6m2Rb7|XES2mNNtt|W z<!0lo(Cu1WM(%ob1$7_499(4_bvxD|(sRP&RUb5yocm2f?EKXwUxy`5jGP&ft3Cg? zC~xDGfCCYZ8QhQi>b@@xsrK$(yFatDXvYiBgZ~+%UflAW;;vHo^p4<l2CfFrY5|5- zOCl|pSK2+Bdf@py@$lM9Mjal%7qic=y10GA9M(zND+Ash*0Wmq&Nu(CQLe60Q}sHd zWphq7hMz3nvf_mDQgsFC%xBS?{wxZA#ataM7dbEJ)hg#Xvv|zC{#EVcdj9m=*HuUE zDSNHun9B8MiHtzD*?|pu3A;Y;c`3?LA^Cd#q0Q?|wH+1PY>$Q{Y>+>-mD#eNRW#yb zPsy*#ssdUkdR8%iIew4*+SCIJQ?`|JD=nYJm>^@$Zt<Ww>Z#Z*L)le7J$oh{pQg01 z<M!ldi)Fr_IPhpvjkVAc^OgS@xEzASz6XoXEIYpYSwW@xy_s?oTDN=Ig*`7SUn?PV zTFNGdP2yMAM$tKeEfrT*$jD_~coW)n>(n*h)5hMK|JZEzX03gC^@zF5k^MW*J0Coo ze{}inWB2#e?383)o$~E$_>N7iZBOqWSDVq}UF-BOM{CnEH;3D|Uq^5Db9>swBzc9& z^U)ga+Lc=iPD&heGtioKcggfL_U%b64`aUk$zWQs^-8`V*Ez*TMu|AThp&TqO&6D{ z-b!${e9*RXUC!EhuG*T)@`Xjlug^w!yq&P5$fU2QVDXR5H`10*;R?F#Ehv#7F{ye^ zZE>V=W>oE$R=tHnp2s+CvzKeL?4E4ozG0H*L6u)z>q?%xW-gpz^u$2Vz}2K}Vy9Zq zwu5tH7V$rnWxqB*du3(0kjjQtZ+|+M+E0z$x9MuW`{Zvs&Q$V*T0W_o)%;s_?Y@g; zdMuwznp_fQSM`NU+P>V)+C4FgSKI4C&5Pi?*s?j_m)Qgg%Fh(L(2{F;j(@G+?R5vz zW6TRGj#}OJj9jPunKQNaj&{j`_W^H0+fIsfMeeyax!|1R@rS{OMSfQVZ~nS^(ydjp z9R{n|7@p5B4xE(aruRo~hfUYiq@0i|Y317klDPy}56DcM^W>WQ&G*mkLJA)#9GLdL z?|y5R<Y5oN6qV$avU{`sZob2MrgA#_G+B=~yy7}5bC<_*9KI7{l&hY{@Z7dn=yX2Q zhR{q&H~%>IYg?AhIpTIf@}y+kmgDAyLdxwL&nLM{EMvFUoqSe(w#r%_cb2!WY_&WT zwmW}{sd?~ZbNSkx3-t3&&8{nO)?DN9#%aRl+>~2&OTI0eApP>$o;4d|)*U-0$zUII zZN`pmTYl!Ld^Xw{(0$?e-)yl%$E-!tTAJSM?vynS&v_IS_UnOmW%|6@DxSauz3$Hi zZfuS(Z_BqP-`%||W<?0^76GgIReNnVoz*ts5K+AQ^P1>wU%|*rVv`lx{=GQ)uT+<D z(d3&PH@sSJdYrQmnf7a2TXNa<t+%a&j1D*dxSDMpnRokCXIX<$QB`f$i4Bu3HkN$$ zc)9)E-^_?5Ap+5!>hp9bxvOh*S)Q+2Td?_Ls>-dpIbCO`NS}AUw>9dOpz&hYCtH#W zzOPK!`P*q9NB`4Tclc|hmIO8~%bfi3iAif}4b$PvGLN>ueYkDU-GU^G6bsD*@m`CB zBvn+GyE8X1KDoB_*y?iG8C$l6c809_a-8MYl`SmSJ{*^3`&s<5ul?S#f9H4ZP`wm- zbDq1T<d-!S`FU#m&zJoS?P_S4^ZVMG@?X6zYuM&QSvuIvbCCTQxnXBT#{Kke!DRlE zI`vlBnPExy&CPBv%j@0UV0?gSi>}-+r@R=B$&$>H${$uNiC*+{zRH|AbLvWUH{MyB zx+KbN(F2Xvx{vHVwc6po%Wj#AoqMab=+nZwxGLG>mv(-e_PfGU!sx5*IbMfwuX5$U zsh^ezbl)jkS+4W)(xYRq4Wo_r`74yNty8g!NbkFTwuFV%*7#jk@6>&hpB(>I5oekd zF@M*C=So}TJQL+oie;Xcv9I6jA*#H8@3z|axiSv(_nfi|y#G3u`<0bXgN>0&kAuR; zv&BKD3oCx?Wh;>>FtC@}@XICaiO00AJ_n1ha*L);5I(oW+Qf5Gt?f(Qd{fc63nCo2 z8zMevD(@3C&SBFL;A49ecI{?j3#W9Y%FgpK@=*=iC$kH-8*SOH<kKMXoSA*S+?FdF zH?=>Xdt}Ljgg=KruT1_V``uscP1*V60RL4l%8GLC1T;4-DB$1AP$G6Vvygo%H+SLZ z6xP=-Bg!_!-}E=DtGI3RHK$gy`_W%j)d+@3&fCjR?J51by8Dr~<~vb=?!x{V^Y&f2 z%#^lu!<C-G%1f>ahifnQ?P-oOH;jl{rM-RL#pmzVpFJDA?b_N|FP!ogrxw(GWO%eq zUu22v1om?V?lD!Dc1S*ZIp1K~UFih<oM&5gb&_h^JgzF+)_SZ<`jyg`%<R131lu*+ z`d?RWeC6C@`E=%*lqqM-70VRl3Xd|Blz+Dho3ixyd!^v-4(C<Atc(4ppyTsUIaQ|a zy=3URL+2y5?vH($HSyi+{S0-Y-a*sOxkj5_emuqFM;f!l`{pi&*{&bg%`7)^Ug^4V zw)*#UdEJuFaY|>lSNZJS7joWz{mM0FAC9)(o#I!sBE5g&mSoAd;kmi2yR;5!nVo;v z^Ev2(xbAuz-_>_#ESsFA`B?eg{QRsNJGNZWGyZmZ!oeLk_FAm@ohfIYxqJufZRR`! z*V1ocAG^b*y$fWp(MY^*`zk_IXWrxdsoJ7V1_s4_wyc@mj7pWyg?jRsZ6;{XxRPTM zxGj3F<DxK&hdboH+;w{P-DjJ}AL~_)W)Ds||2e{U++?E1l6k7TKfGI7s&&I=)nU76 zp10>0eqVcVo%715liHa^x2+p)Pgj_HU1H5^+w^0a8Jm1X*Sr&-!<uxY#A4kdd68F6 zSLGg`-cn$f`@+D#E^GQi*KF-6(>=un;?~$DCqAB%(4@WW!~2dBe_bKhNTcFY1=*AS zUA^!%({=8nC2N)l1vBt3(_ZM$7PqC)cX_;u;py*=#~hX~kX`yZYt}@Aips=p<y{}= zug!XSPv&Fjw<+&e+Y~J_*6{eDTEDhHAmZMS`WpAh&+&7fFY{lfz2L+Aj;|}8eR{sn zk<0La&AXMpoIho^O?+6(cIfEb+-cJDoQ<En{jyfudv!E7zujd&@0HsVcCGhXxbjX` z)Sfi&>>W#V3^!Kwug$5*_Y^ZTb}ub^{jB!kjauU<*O@0XS1y&X+PZ7;!3}cJ`SNQs zk7hsoEh!d}=sHJ$&0pcVZ2q#Ws*-)R^Omg7i7p8Hea6-}EPcz4kE}0*Z`aN;vf1>a z^4GNwImZ@R-|h}6xNg;_((8VzAw~bkvjvy+bk*y%ZV5BZdA!l$+iGK-U$s*Vk80eM zyQ*_%W7OX4oQZYct#9tU`}NEEEQzuwYbq~g9bIw2Nw}<TZ`M&K<)GUi&-%u_QBF;s z=IAOCcBEA#(18^N2MKpEI9?ZRU3GNjDW|9eg;&MR(Kn6;?~1(XuuU;y-tr0Tm-iMW zJwD4eajE&r(>LOrCiibO>3car;z>jOv2|HdTlY=ZF*<*wi2203x+!Z@t2S|mC44yL z?eQS7@r#J}lFT!!StiW9>Bd+*N&DH7Sz*?T9^E|byZZS0SC<?MwGO9r9?0W7Uvqta zw$<8cjdII#ALd3rjO}_Fk;mls(6_4g-Sj1yp9F0_IxY2k^I%S`_LSL&fAKz>T4}n$ zXnWw+TJ7_*s^+zt?2=1d=J-f9;a1kB*Y+7YKPNH%v3NW0>&5J-W38fh=PnR*-`ef* zv1cEDa$Ifkquu^YcTQ)^us!fwbD&i@^L@yc^#U)pakH&nkx}mA`+2iR3-j)adsok& zx>m?4$XYk<e$Yo||NP{7)vYrR+<M(mc%eCRR^Nmgd)9S}SL~meC7~zt&gK`_>n;8w zFZb#8y*hQ<eNVfW>)$s|avA2ky^i7U*b>WgPbJ_^j95RDph?dQy9JZa?^S!dnCa@d zm4%|8y%)tD$X#~KrCH)^*wsC@sjFfgtA5SVlX&D)#AsV!tMztybDB`zl|0>L?L8{# zlOyF+H-ES{dz*C1Z<&qF-#M)N_g|ZpofvUv(tVGMi(R)F+?{xpJ;*kD?zKN|dZx0w zV*96a_VCVia}UZ^_Stjk@pf_Z#N;xSl&^oXovhcY8LE5}lFU<446-=(c(T{oQel@c zwMTdFRbT%U_>-&Z%IDY9rj=d3dr<h8fJl1sr%Bb1*4QpvTAjn&+ff-a;aKqYgn!?( z=kK~8802#GtHinRzdk9scWiw*T+iy(*sjjmc`a|jgdU@57R>6G7VX$`DS3Cqo2hnZ zJWne<UcR)bYF>ZBtjg)$m(O1Lq|Pm<^6q?G#pAV!(Xny2A|>u#vu>A2s9MKg7&bx7 z#<BF-i3^r@W_JY6Tm3$!WZSlBL6UEm<ZS$ztX#-_rRTcK^|I4?Cle#zaabfzu>7{x z+j{zj3HPF-j-_z7o#VSy-IY-Et8QJKX3a?-!y^a#ii~Vo#l;?n|9$t9CF7=qN@8}9 ztlP=B=)D0#@lO?li@u(#ShIS**vnU&ow~|o8p__<w;BjeGun7G>zuM1V_#j8*0<GW z6M2^edG8bRNuD$9c-6vXufwKqICage=uYj#5DyQ9Nwr#g|1Dg6cawAnSFTL{KbhbJ zyL&I?&3lE<9M%&kXa0G`_*Ry<<GXchW0fZN&9!a}<erf?v1a8pdF^)%1zElK7FKXA z`M$~XoI~)`NAp^Y-cIXX?X*8*Lm1az&)++~teoYMpnm>8L-d?&{G#V=@4k7r|K(;S z!(;cFCOu4yo#^qj)AD>!y;NrBw8PHECUa!>yi5M>R(0jw(Y3Qr#+$kR-d!cXaMiU7 zM+H=q@9aHiAs@BnyWvqzO{-(#bM)0eEptlNZQIYfu}|7}wc(S=_vYlh-{vm!pFySn zkCu7e)|Jb+S591Nv`^wm-UB|XuG}-ioyTwFF`e4G>xta5rW0!~MQk*^G-tWI`Le=U zJ9U@MFEp5B$&&Z{UE70SS2=a{JW}^eKl|6>%lEb38A<ap;-m{2El$2VE;B1!)oAU} zDTZu8hqL7>--g6pJ10ED?fTnkKW$H*&D`7Dyi)6E^;Z?<dD&7KI#28G9=jxJ!SY<< zSK8z|i=<axSsm?bFmW=^BKw_lzW)j_+j!FMkC3^5)i+V)B^9OH8`@NO-u|q8l_+(4 z$ESmT?-$-%bs)wpi1qI!_Eg#P{%e!=SWUgs)1H#GU&GeO_LX*b_0E}h?(S-;lsF!x zw6*PKxuoiWryVLQ<^E0i>2P(H=ER#<9l5vg6fw&Bs(fCPA*8!xb5X6`*4RavvQ8&n za2{0o*dOeZ&HPNHp)Kt(^HK%f%77jB9(vkLo_96+T$9eR1%eY8loftm{&#ej{w!0z z84C0Ew?^`_E}HbpjX!SZ`6?kMW|K2Kr*5!3XDB@Dvnl%6{+C>pFMCq{W=^{6aN<nE zlRj}-|7)v`=cXz*U6@i}p0dB*C-|xAk$r00rZVMOvahR)U+b>4aK_J+RgWiBJzF(j zEk;S9*I&}M__h0cmAeYN!-6MHzTS6iw&SU|c*{*2+3xXGJP`b6a<gXUKi}J%9GUlv zPBhtcRBCe!JICQx8=gzGOPo&YPdgLbQ}X(K;OVtTCN3@9#KPl#rg6s`#<$**ie~Pg z{_IJgQ~f#ee&(d`gb70a>gql6QJa*mM46TatnyU8kbG}u%Bt<`cFFC57v^pGk>I8i z+cN0^>torhvT4r*8mC%|z3i#FVszJG-TMg!g`d8E7ZJF~{B~<^Pxq&d^2Tz#w?#}Z zy=7RKDw8fD`F(}@?mN7@7M&DiXu4yx{nE-k+tr`OPgx*aCGX^#(c)>k+w|lvnZlm* zWmZx(g{LmQo2+7a&c7(jV&PR)&7Ftc?jA1=_Dnn1vuPtA#|^<9kJn}1;8@bL;`W^6 zZCTBCo66QyyBAfmt(|LjQRa-C@9*7n`sTj8?UQ#*#!P(0OJByhGgIbN=I#uC-}e25 z<CoRhT#wIa_ta~NMb13r6_VV?#{bx7CwIQ!w0Ei9zq@x&;$QLWY9r4d0Y}Rd5^r2R zb@Ft37P>t+kWjY#R^_F`^0VB^CRLm@=U3K}*%0Kv@Th{!8Znj1h}`7+4Lert6lTBu zspqlsJ}aq~LkC3Ei;8Ls!;~8*<ej{&?qC(*)AlU%(1w$?76+cqx#-0{`+|PJp64%v zZPzUR8?%N}BGuOLZRpV@6E^&|yu)#7;%)YY3nqo{*uBLm!Ct3%`Py(}$+9`E$AfR% zEnDNO`|s1rts5*YUWO)iKFwj8sjM=ORgBSQTC41yOObVHS``OZ^(vW3Jjr`GF}x?5 zLHASRLH3?2lO04)l?Gq_xI97At>;J39pQ%P1xv2H+j5>a^K(UiY=Z9EkU#B9mP_7R ze*Iqm#=i?&x7~gC`FMU&_F<cF8+n00)ypf`ecP({^S_vLZ{l}u1`d|z*SChNJpItP z^27c^|MFI^s0qB5<huWw%<PI2cb`Pp^BG_HHS6nn%TA$FdrsWp`Q%o0rPwv8SIFsh z&^3DvtsV{8T~#GZ8l09G3(n)3bJc5cbz|bTHm${3P1P4RdfPqPnZ&3NJkO(0WqD4k zUD1LEm*pZOW-7IAsN(r^c)!G&+X+lppQP%9hAcewoW*>v+qOxM+k)p+SRT_-e(rV9 zFSOsfU&8Lo<NO-O(#fnvW*QIMuT9!}pf}X>=Lz;QbH=lL^2IKkw=DQW`%fQN;Pb1N zQb`K7R8QoMVoXh#T9N)a<ntu^xu&_{Y)%#5Uk27ZE=X*+q40d7Z;hAR!v+S1bV=pC z47Q85-rYNUf|cfqB?hOCsho?Kw0t7?&s6HII%C-scKcqPG>(~blW#r#(Qf(cvWrK` zMYdMSZvOe1+BcHdKM!2GvyHVU!RS-viIq!dnYiZ2`Ae?2mvTbdE^gTxmz*2hU0)rT zJS$L<QN``%i~6|?%Pu)sSSY^?>Ub0*<Z$x%*~=1dLr<{?ZM$)f-+6-d=X05>e{X)a zKGO2}^2h#ikv&D8HqUJhJ^rlcJ@D3(QTT+2;O^pi`>u4I;PKVGEwz&8?!mXg?i+6~ zexK@TQ;^}-QP~r*S<Nn{?CY`{0?RJ2Jot0-X9myAgeC8f)$X*p+|%LIaXF9w?0m2O zg4<geTu&a;^75Iiuvy`s-166fE5cZ}zh(Krzt!?dhuL*$2MKohs)b<_G&-ke@jv=? zA<)_+YiT3jf<Fg>(<+jEPaQR{`p&*BYxapX2UY(b^JBN!`1bf-zw2yHk9*H>6<IL9 zeC?~Ck`Z3fGkKoz3z18rj`OvjCU~6uw#1xuisl=`_eWj#7}y)IuUGCrHp@Y<=futg z^HTMtmXX`Gy~&r9;YmsF%Di*Xc;n`IA|>`w6C=GR1vGD$xf-!9$>`$T7R~&JiI;gY zTb<dQZhOs}w_~N@j&%YHldoKsTzv9w<Mq!ga>A9ay67)_m8<>JaOv(pkKgy6s{YTQ z_2c`uOr3vb*F<mLP44p9Xm89jZ~3z7>sRC~cK;SX{9fQZ_q1K!^^>`r9(+Bye$M{X zt@Uqx^GX!<EMT&F+#~qodKz!0rPReADd$&*E;>^#*ru?KukO40+Q@S^W->GGY`p!d zHcRC0q}iUw8A=X_d}DZgVzT7xi9fr}9Si4d@em6?HC5*Oc@v*?DiN3S3McV@UU8%8 zw{yyJw)xYPi|0&}P?u#@x+qcJ=b*IZ&Jn@g3oO4bvt7ENbyCI2$(BF;87{Q&Y{@&b zgz@BCx3b0^Z|@X32ye-kd%M53u&-Las@IwSu69CwW&h{p%~J1tnhreg+bTWd`-J-? zJkRIto5FQuhWhX2c2ln3-;>b7eSDqff)zjg{T5%FZr!NzSa$aXLm`W4k>-Dn+d4k} zw7j?bvly#HLY2k}wT=@@1-BVKFIb`2_DH34R;uPJHw~sk8d?#}6Z|jqUHPOCd&y&_ zI@4m_XTNgecKfT%36bp!dCP90zJB8ZNom#2@<2wn1IopMyKM^{Q+o8L>^OLP`%25N zD?8m|*B$;l@jCOR*~j=Uo_PP>ai(iZ#dE#WpBmik*G86is&!XAS;->v<^0;nBYCq` z<LC4(UYeL~&Y7Y#bJMBNrpBvX-<~xsit0Qf92fidNoPNowcMj6m%0<nKjg*m<f=UQ zt8J(G{bfOqywL}}uQG2;H_IuMe%jP8FFoaR*SetA!xs8dP0RxPE94d}>7Bi}_x&q> zg^(0IX0}_k?DbVeB0`mmEtz>=Ww~5TF6_%UoH1GRmY?xa#~oXDN3KqFb2#yAj+ERY zch*XVKFuZ<ttW|de*I_Ybyiqwax#<m@ST%Sxl_Z^5|3FoWc5tn))ulO`o*8+${7Kk zT2;?2jwb!M$D8%u;WyiS3)iU!Cu>O;@vZ*x>v~s(+ReVz)p8qc*5)U1wMd>|U#7K? zd)euYUvz%OSWVH-Q#%vA-R;No>uh`8M|^l4=c1pQtaWR@^^ars{#<u|IJfNTVk^6E znTo0h-*5SHE_=zo#(d>Z>nBEW{?OvDJKiO5F8Hw7+Z9pLCzgNWpZT=sbAMq}lvbMe z;X=)sZ<l^L%=)U<x41KBvGWy^WBIyo@6L=9Zk%^@?}NXGo%$+gY_@7R@>Ta$<{iG3 zhh2p|brQu_<dm)AtXzI4ntSTLP9^>=bDqeQinc%I7jRyZxm|39%Ct(sGS-)qD%bPv z*|%e(d_wT{w=7m{vgW0$T4c6qsqfCRIwKynwXb*KsXUu4=~EZWtDQTr-SNxXlOZvg zL5@;yC-gkvvy1vXpZWH>xm7xePd45;Ze#a8_^<X=#e5Bqw*vQ^8wG7WUubDNoeoav z+4<FV(`ALL`uA)bl6eZe)-T_eePYt#m><*Yb-%4hySybsUf_8D%&zTxejW#9H^#<I zTzvb-rh6&ZlJDm)I~ADNt<a{fUVhp1g`dfJzR07tcaGiDJs8AfnRxr-x(Z*{`zw6~ z+;aDrazsidY>R7k=RJP!Pxg#U>+K&JTv2a(<eA)dwDZP+6$#aSGey&?Ic>aEw%uw; z(|BjRNzEc)-t#M6FTYg#%KLBYyYJU~Hz`;y;^DryBi}`KUM^1)<^JHBDiJX$b!+!B z3E`jN>g!#LOV?x`@Y)pF&am+TPx;YOrA+SQJYJjh-rr+me#*Yw<S~nyYv(D0pbFXE zn6$n~o-0nvKIU#eoy2kbw%p8B#Y@*-%uLapeyr?2L#x!;KUOJ9&k_$C1c;=suX?g4 z@Nus7VSm*H+a_htS4?w{GrrGIZhF~2NF`5N)?!EBEul1(+CM%2OqXVD^nUIVuNTfW z^LfA5fe-(-%6Gj@+SPM<hhA(-z`8Z{ZCg`Iwr!pEcCq1%o$T^P^P@_G12a75tNaPN zzSaKi?%9%a^4!9L{>Y@Wq*RA5sjxm0G`-z3#idoisMS*aWt{HEwx936vR=)bVr{6{ z^>M$<^VhNF2U9<9O^Z#u<m0|er+@d0CBH5ocD2x+YnVOl%&(;?ypx4C3xC%96~?w! z_K0@*>YF<vgN!7rWxlN4Z<!=?pm$==y892+H?H%Ky1wYbg1b7aCf;r9cs%#sg6DhF zqjUMnYKm9=I33)7Bsi;F;Ap9Wv(%bqMGu>X+U!^MEwc{)Xg+K%9&Vj9^NFk_b3Q}( z$vB&Tr=>RiXGm=eEz^1M>+7Sv?hlT4y;CaxaCPs>DVF!*ZTc6iz3ex2jb8M;g}S|0 zF5iod{VW$L8ChW4TjAeh`k!ILjFS7CXS)4)e|vYrmv8GUuKaO-dfasNGmnK+IyWEw zE4DBFW9gOo88g>@?o^SjdaJ%Pkt2J>qzf<p7?-`9K3lvjWX`w5{|wibTr#zIbahYX z1@C7J26qkkgJb6I`LJeU^pdkeK1&LZNtBsvI{kNMncn+^-+o_j?Re1h#q`1?6TO<C zjD7cbXWZIT^7hB|iT5lIO|{<m_S&xh48pN~4{IKO`oQq2sERqp=FQQ){7Zw}az&p` zWZls4`SUcDUvf9sOq+dXLQ@r=#-6D+HZ9J{4>Ar>;)%$!RNnDutH+r=XBz9iJ-+<X zBXoky)1Axa`B~4~su%G%;g08VQO~Z!HhT|$U1jH&Vz>2zjz-eN_WR6Fe_btY*FJgB zW@6A2v(SjHqtjQ&nVvtToni4QzKD-~z2z#O9Zn&I?uIj+tSeQLp8s%PpOt)jdhIE@ zx0#0pw4&v%Y;<FvsaC;kKQ&Xb>zMq+cFrBCJHLw-CWYOcIKhb5@5K5}&y%t*d5pA` zo-`b`{PumV<;hgzloW1h!MCB$;<X!(zmAqR+rjccZr)cX$LUIwC#VIr%sno1ZBBB= z9oJw7^M${6_t|aTHsQ_0$hL5aga1lpj!u2XW*U2^T~glb^eoc}Ejf?ZS%=+OairmR zfee4vvXdue+oOCZ-S}<CpkvN>qkMJnu2bte4{d)LaQnDQMb4KmtHrLJi9OXgfA9IK zNnVH8e`^`MzHr4pb&~yzb&o0^ZSS2q*Q@b#3G)KeCDR;K0{Ukj&ncdD?y<XVe%ehV zCegjV`A0VBREK`}VR_*7tiZh4eC*EG?_Zj)V$IlV`NC6VrfWz@fTCaXQiB7Zy$&)S z;=S`Lbho#q<c`C9`_1LoW^!wE?U)s?j$h)Pt+uI{xaG9%X}4Y(v0Hpyaf>r{ijH;2 zoMcPObu*T>RP_4!C(g?@d-aY*^C=UTO!Gg}n|`yayJxg<hsW=0<=?S-w}V}@&~nK& zFH6-vi<m6E=HO?1X|?HN^D}RXEKaVyCTn{#=dRZL${3llRsR{XBRVyh1&^DaKUwl| zvp`i(SjzN1b{)^v5gwDzl!RODJ<KD?DZ95dV1CfFFk$P-tq0}yM;**=Q=fKztK)u4 z{rP!Wf4iKY>v$KPxtHSQR{Kh1*A%meudf5x&c~lxlpL~1T{-%#>aHug3dhgh?>aB^ z;Ok0e&DYnqdQ9^<+uZu#ip#|By%rlz{r+k<<?@N+ul<h1_}=_=xtWL6l->SFRryl4 zI~v@Ro<_VCm9|v*mAuvB&rOk)+;aE5{5+Nzdf1mMEoGS46WXy>&VM?KeAVT4--&LL zUi0hzGxVmtb}g0cm(ka}vDmce-odB87c(y{4J+eX^(f@fhM&<pOw%}yxNiE-p!tH~ zWlU%>-$Z7?5_@g=ES8k?<_YdUt~8xGXXer?oh?7R@<nyh)}~eOwEwuPzjk_XdQNR| zOwlplM%BH0vhK)C47<7Qz_&(`CGCak8%3^86cH-Cw%SvJ<@2#@b#vVV2d^w<tu-h< zer?k;f5StXYrWs(=~#+}``P7Q3_cLIbKR<-O?t;{KS@k)Rc2nlHhJUut))^+_uc(n z#CW!7-4dgT->a|ZYQ{`!OP1kEkUZ6QRnu}=>p_+Bbt@*^Xb>>SoN;jF#))SQx)!;m zt9MQH2;yI=cF)ke_fCj`m9E0Oe0}?h>&f|gC;3+dZ9SAZX~w#c2J7$um5Gr{bNCA9 zM}0P&xLeoQbE%=L>~6CUGZp6T__FGd!@0=n&u>F*j^C5r_waSs#Bf<Y_P`jM)?)EV zZZeHQdoT62XtM9Kl3$x*^MrTz242^1Grc~Zh?{cNAm^_4hV}a;vYOxeTxL~iC@Qk5 z<xOFdU@vSAQ?hnYpX|PQ!)4RQ({0i}FEi=eDN`8AbJ5}e`yHul%c8P*T9uBQ!it_u zV@Tid(kFkGSx3!+@3QWXef;=}`=h2da8D}xe1ETz+lDRy=apKOcdyOcJze#3*}FMc z0xcixSGMWTil4!|!iYQl!<U5{WX|vSbD$^q$z8=zc|G>Le_y596a?kYuk~(_*E}zC zvCt&4$Gvg)v&1V^R~9<R>x=rT6nGpnFFdQc<D7{8-3O0<UGVLEB9S;h{_?fW&+n`& z@M*p-YWIhMUA2#4g=g-XBlGyQ7MTh$tbh7vanJXqpEh54wlp%#jL-6TmUB<rIsZ88 zt1Cs5wsdcQ_RgyQ>nqdgW#$F7wpy2yoUDsI5?w75n_u@o_n#5uEX`QAHS*C(d2`Xi z=y~(!s!48VlQ?T?#3i48Qdx%YE4Rzd6QYZsrZ?So)k&7GerBt6<-m#y{EC~eFk~}5 zbb7j1d+99mV+9VTjioKhJ<V6Du7|R*3ijkJdGB|8+r^hYT%HfEC-5ef%_+!I4&HF$ zXQl1S*__WWHAqM`Whof=SzYja?;x)GPRcy?u+7(XZP)JH_kYT!!8Gl}JNK+-N<aIw z7jK%lw&3HF<gaVg1@w;o-lpV}d;InLK%0p!{~7d{CSR!c%IQ<NbL02%r6G}LT&5nE zk@?(p>gcCwkvAJ-4}3pf7~0$_^Zo0JZkcJ$2VZ4nJThitSK+ys6s4?s;10(vt7mP& zH;ZbsDyErko?g}Tpn2Zk%#QyI8fTeA)T%<d7#RJ%+;n$JGblXmFMjLNvw7|Wrp8@) zzi%wL!Es4L(enIWm*2A`mibON@IAR}dhbIAWtnG7H@mcH9KW}^!$CGnX>s|+B{eG* z{h7LF@lSHSeL&?oyZyNt&s13>Qs%XUBwn4N@#I%nPuT+j6-oBXYcpm@`f$!TE`H{9 zpVo_*g7drk{C%oJuA8mrX-Yg%*CJOh)pNpZV$ZDHnUnSuu3EMI^s(ama$BQ3MICS5 zOR(D$d@C;WysDc$*HY!i$#=dj>&RJmUfMQ{!{czs9s~ZKv?UG_k5+Q5-k@>Uk3H?d zohGd}T`OkqwXV7rdS-^=#>V@%wm5tIzy9O*lOERO11}6`6)T<Kdd$%0zBbEz(h-Xu zx5MkJlGYTNv)g?=^e)Osd0Us^(;0uZ$TBRO9dZAA4zuuW(fu+W2WPfxACQ0SpTxj@ zEc*8Hy}rka(-`yor{=A5m(EhJ?&LRU`4%_z>fQwr*W7caop>4QQ@Bx~fkUS7+Ugm; za~}Ka@dR(UQN=3p=T$_aP|e1b2fnUrI3(%hvC83j<KN6zO*R4xJKkOhRd{CT+xL&F z`RmHZTe{3{Ik4~3_D!f>cF5}3sY=~Ti?hokrHk{9e{4MXeSw~tb=Wz6uf5qEZRJyH zkHrWExaX}ob=ENPC)bXn9$IS{zOGrKJ;96NwD80mp%w2$3|*h_Us~63@pfa&@#leu z85uUOJ9wjXO{DU-Cl7j<v>b)x*3ZwH%)+!J-DI%@_m+h6{|v9MO`H(ZGq*KJX@%vv zaLZNmYKqJr820p8ob@|(<WF<qL57gbPsdh;<iC$v$;*G|j8#HtOUN<5kSp4P3A@|x zel<<fls^-~AZn^3@g;ccbeZkNVRP=TT2R7hJ@IC(Z=lh(pYfBHFJG|YnJzb{d0t0P zb)MZ<F+qdUw6fri<9F5fhGZ_C&X6inayIp~)W6w_4yj&Q?wzW_xZ|<Pm!pN{^F{xd zr%J}uF5P)h((=p8XlK4B>n2=$sVVbj2iwF&GoO4G?AjplXb<1x$FA=l|DC>ggWV3b z4f%C?Kb}1iX}bMp-^2Q2t6x2x?=?Hqfq##p?2Sh|*A|Cv-q_`6`=(HC=Lz*s>!*B` z7pd6y@^fv?3+W9uSFL^3<F3Sp?m0Q}_v90QUd1w4-xvMy`^;w@lbfgA4)fe;sOS3d zQ#2)alW^0KCQG}muW#8O4!z>MZ+F4Bi7O91R@qv`BG0i$cdLuJ&l~m_sa+8>4&POt z@pIK>kA3^*r>==hUSa#=_+HPylULog+I@7ht>I_kpW#=<;(52^>hmtUdph5&cn8mO zTlc!Hr+(}|D7AEsk^f?kGdpx5^c}BUe0#gh>6wjU*t5Gvjx4`=LU(+feLCa(G(V58 z2bSHvx8qK?`g`Ffe+$zY*VUYA&P;wCw&2&a&UN`}`z9&;)IDcVeZBg@e+KT?RcjAS z-JH$ttj4K4>w%(mTI<7~US^f+7uhgA&fj$NbY{)IoK5DZ!kIH<IhR^&S=TH0!cOu+ zPKjG;n|NjPv<WM%XM9(=zDP&tYm&X3w$$MxhB2+qg&X^Go|kXUTY4tQO0tN($UQ$M z+<K-ikJ&4`WJUQ?vpzc6IlMW#^TdA!scn~CJQJtM_8A@xp7qM))K}ZS`l;F-`BNu} z7c<_rt=p<;7xlAJw{Pax6|Gm_tp4QsjKNZ;u&d$Rs}r~FlCq^1)VzN5V&3Ir-*%pJ zesBBJ?&{5o#V-Cr5t1oe4ZKz`{n_m;cWmc-3Aal>-kt4uct`%k^$Ue7c5Llka#-=F z!Ci~h$Ip2>c^8`1u&&DppOyNb;il^LdK10k8^51zXgbx*J2gK!KI_Nz!?SAtcKba( zHNWiO({*eY-=ADR@oTPGH23R{8A&D&Bc4yHJzMo7>)s{tSDby9*V~<&z3{=jCBM49 z*E9XN6ZJDN>!Qxad28peemU=R{p`oe4@!#}9Ns(Zo@V5!^Pq^)CNyl>Qn|1g|IK?! zKMG0f^LwhzE#<D={N(SAlMZ%UKl)z%^F7G+?B)EaGoJkFySjW;cDYsSs;HCOEG{rG zh1;!K^PDf*^laOrm&eXdiQlTQ|I7|q^V;mICVzt?_g<QQ=$4E(lUP{!KlQiMOrKrL zT78<Q@n3Pg(;x9mZ=PIvzISiDky-HZb=GO?w){*!<2~_}9M^}p_uEXCZQnls`}fo+ zHwGd0t!15wit1-~B`seV!*i|2lRNd6O80FW#(?hK6;pZ-ZmQ;a{4&mKc2(EI?6kE7 z)7~6s5uQ|h`Py0u9mdKC@iYa&IsAuai=OGJFXWo`)ka1tev|hctJJCwMOjylXeZhH z41A-$%&*>R;i}i^E}JHO`mj1jl8aw$-3G&DRt&{w(_a0GxYBi0Xz@nhGv^9_aMfMj z=_&qYXTnFZnS9F=ZSp3!u^Ak&+Vo9nU-Cz>y`tB)R!nwLtWJKq=&R15Z8pKS?afaD zvsX^vopi~>kjbTPrmf|An+xxQvcFz6WeA-!Jw4Ta`QCiT>NAUP@8N!MQctqR{gK0J zJEo&T-{h9a{rmd5PkH;##Qwxr-1S}$zx+*qdu^iao>liX82I=0N8M|+aZ!m^Rph$! z^wSN|DYy46GL4gzm9Boyu+g?+jkfg`@tm&P%?XNeQ}?sq;yEjOW<i_Vxq}TAFXIdo zZN7(Z|5Z{h=QHh0jMCSGwy&*Yns1q^OVxg1^9*4YvuZvcJnPI=b>WQfp3+Qa&DXEr z+H>xC^rf6NKD?IV39?WA9Jgz}wC&B-Y+q-0*X^oHrt&>*{$nay;<;h7Wq-TW`WyOr zId8tNJ@W44yzcFmN_+K>ZTJ4qz_Ik3z`Bs;c~8pM^Iy>4zu`}?%sls5s%f`&9=|f{ z>w2*m`#;L%X{iSaqSfzjjZ>}rq?2F#bgt3Eh0`n-KAC)eebn`jzF+@ddHe0Ka^)$r z=_);p$F%2Pem+Y)@Ttqil@=$Te2(SYT&4e&J0s?;cLjs8C9~;8)5>MxhPVDmUS5}W zE$m@|>+YJPeRlErQQyx?yzM`HF5tn;;(5Pa3+s8dv|rA-Rk2WL>4g*ZkDR|O`7v=_ zrBsYmjgRD$B<ZUTuVZ>YU#o5Vn!YL{X!VOnuavkgLSv6_FOD+T`e>low49mY$;NfT z2aDJI<J&Y_d%DHJ*Ny*7_ZG`U@Nn>1+U>h~a?6d@EAM!xO)jjRBXQx;K9B7^ucK~G zGMqa1w0xZQi~NpXiz6!nKL0+s&oNH_!>5}cE6X0UncQ0P?W}3g#hje|A4PQHZ%lGA zU|v=D_1Wq_-sw$`{WhF9tdh>Y@73(%e47q0tGOXIY4N-VpYLthQ(RuUred+*j_KLE zR5BWP7iTC-f>tLVUT(6)U-OMsS+CmkhYd#Jf|7jv3KNf3m^bGs<O^`G-mWb%Wm?|P z^HIN?kB2Aw{HQOkTiKNC@#Ezr+w3Q@W{(~!O;ieSwC;T8`O;OR*mdJ-`Jjs2Kkv7# z(W&`;^0VZzf}QW<dQ}%}(ayH%*S<af@eA%MuFvmVrQBA_HLHHxbn5f!G~4|e+&APZ zO>h4c-nL}<xqIr?OLTAadmVH-yKvI0i^?y5+r9LhFsF(~YQyF=JLYWr{wk!D`O2mH zwX>|#d)19kMYBvj9yj&e4R5oVE4Z!Ojm21u1;1B+%64JTmpxOYcSBh@Kd55a-FG`f z4ks*i+0Ni(Huv5P`IRPDc6_#oIH>&lz^B@mcfu_GGsruu{1dt|NB(QY`Rz+n{wVL- zW~CkN^*gfYuq}7E`{TgM(ucM#H4_yAyc8bJzB22>UH&86q|)2ozFDI@>v7bSO)SSm z@?JQueVm_iR{8X)>%q5cLLW0OKe0=!?_cTHV@wk`UDa3Gdrdw(PyF9G^?)m?=26Yt zeD*bbeY{-sWJT~{;Y>l*XRAJWue3k+w6DNFG4@Yz?DS$WXSpXK#mhQ(W_|FH^H&Sn z@jyQ7(c4E|v7x!sVlVZTmD+q?cl69@kx4N!+wK_{7{{eA_EG)O&ce8_GMIOs!Qwg3 z=FZ;jSbX8h#r13NaO&NxxFgc_xnAg`?)8o}UoJN(m#E9HTpzz@(!I<(uDgPyS&F}h z-`nGLE#oV{^xfE$mX0@e-Nzl@M;^T&Xngz2)6Er6cAn(wVUmw2UH!6BW}Qz_$$6IK zFROOd1UicD-K195bm#M=+N|5hEyF)gObI=AlHst1t)r+p^V}=BCO>Cc<}aHR$*9_) z>hSHr((Q)Pn`$R{)~tEVGRZjT_EFYz>!vL-6Ff5e;Ol8$v+nE=ig8J7_^D%;`=DIz zO0jK24%658Gt>3F({+C_hQ+w5<lCNFo$z$?`A=&mFFtL?d-Sr$-VX(pYgb2mS11cO zPV2QeTzq|}`dYmN!^HU>)y<nO`1q^5IUqkbch9$@({=nDECMIl>wDFn5i48sSgy>^ z?ViP#6_Y%4r>r`Zl=D@#@V(E4T{>$ex;Jaq^f9Nat=hY0t>UDc$~-R|)tldX^WJ;E zi)+J+;|t`kEi0SqY<29CTy%!a<7-Q}IMWLS+;^r<%1LRkV7|0<)-BaGhKWr6XU<-p zpLMP&ds*YNN%v3Rs{8o+x$VBGi8WW6l%?`iWRLdW{T13+y7umscLxJc@D!gljQXX# zkD+5pLeq`&8&<vgFkR*3DF(;4KQ37YPjfu^pTSauG3D>t=?T`#F=?hRc79(v+0Qjo zeVT694qk<WDy0uX%_CLLMKt#`-|o`=cftRx<{f*T0M^aCdo*Ghx!l6*rB`12=lPlI znAw7p7LV<tdj7WF&sq5NKSTAq=C?toIG9vsC&{s~vo+-G=2^e}jEBpr!+n;2v^CFd zyD;P5nTIm-I3<o{o!GD=;$G$YPD6dh3c0JS%cmN0mKUmAVm%?VYW<H{)0&=KoImyP z_Dms<3F7yA%r~q^+SR#EO!w$XS;ybYFRjYj(2%gLa;}*D{3p)~zuWqTY}>hQ=e}&~ zw4{?)CN}S0>+Dc+>7cN{b%iYrfA4>*+ZwrKgR5Ze+#?eww;uCO-<S0z$vo68SnlfK zZIyO^uAG?Q_2Bj-KEs_WHb`#t6uq@eYlq;(h66qG1H*3dTIt`v=XG*RljWChYwfiX z6%8jU^=OvL@)ri}KFn-spmXjncd1O!GZW*Kt6OFl|6Uofc;ffHe>L4!W-1A6+*Vys zx$HQfU|7h>xJsE%wOK`%jYWC{UmoRb<mr-OiH@1K<lQUYplQ<G5iS>_bZj2Hee!7Q zldY8=pH$d<_f|9C+sxW}<Z|V7asQ`%3*FgfCxo<zwB7A7+qUMs`YG{p%eA*<z5c!K zo?W_~qd;U{f%UBYa{Wt=b57ZoV$=4*)k`<$u&|(oGLL`E@35R59cwdprtNg#n$ys< zMa02;@7|3++sXz1X7go~icP3bT^M(>t~exp`}L&WdGCI(^azDp1kRe$<@Wye!e+aa zY=yVYpM^u0?l%AMvyipdcuwwd<!d{4N2VFO-R!-{SHyX?M7uoY?8e|TmJdVft=u*m zJ-n=6^YUsQOIzBV0t5D~ne{3DpG?pE;6BW%v`sJXduq*;o(X&+VKOVC>+YU%_i8)a z$=Wxa`>4#CcRx?tRUFT``ct_{^sdDAh{pd65q>eh7$ZJ7v#6#_o#m=Nb=AQ&XYQp= z$(5;jn)2k`SN2OQ8Kz(QyM$*$5I<{$(roTKdT(Nk6(x>(^Avl{^w`dKr}Wvnzl(ku zZe8dScHn@#0n<vx7@>)kJr#lTvi20MYPDuoPVHoWcJOV`iO<%1lx&a42)KJKQw~*d z+wJaC-y0#87LnMqBUS5&hHQbap#Id>z}`DttFE6FuJq6F2>vv|$Zo4m@wW2@Pec0) z{f-!(E!TP`F;&g-;CX3Zi#x}}eE$fr-CtkTE5|lr)vnbtlRRGfv`lLh^%S(0NvVD8 z>vDF}hhh!BOM+XHnRl$1_sB0mgU|g`;W^{8X8v35Ofz(!D9*d(EwkJfkDsr0_gQ}Z zmDU&Fax8-5j=A~uh0B&qJeB5g?4V@emJ-P|KW&<rW}nw73or`5)w;Dk&o2F5k*CE; zxkF2qWg6|A=q2!^cY(gd_wP&MxAeYR!@$lWcyD2J3fGQPe2dxVA6u4@ccxmw>ELYZ z{wmfpPN_RMn#(+Ma=$Gp-#%HgW`%9Pe_ZBL_10^y-7HT;*;RtCpY9Y>bG<$1;oiT# zF#*L)-q}6M?~cdx&F}RVxz@6)J>qc^$GaoHLtH1UEbDbr53qhV=lu@BCvBWJc<Qzs zo-ud%mYdJCjn-S}SemT3SocQz!3oafc?{pbuUb-&B-k4I`uyFqOww(KH#kZOSUfIR z5OZj!kmU`3S;Lp_J!(F6%d9#W|BPkgxmz<6cSqcD-KbnVFZ$E7852B=&b{KAcjrP- za-g@77>gvIsDD-4ulsK&s91CFsbno~xVgG}?xyF@(vMxfS$JJ;%Dm7+D<`s_vYPkU zgy;CyOKBVLDW$bC%4=Av_dku!%;}!A$z#UBJO05h@2y%R#JuI?1b?;J+um&ZtoMQc z)Q$uH8D3vmDE>ro;yNK`jR0ohW1KI)u3D+h{7j5J<CvCO<b0jz%=eAK2Mj!p^B%X| z`>HKMcj`~S3pZX_F8evrZFl6h1vU@TKP?yYpP{KNd*Ze4=Sa8036=*IFu%3l8By-$ zf9g`rPUdy2j>;xI$^LiO*?qIHlx6jqv_e;B_V$%>Q4=S=^Hqp=;=AUz<2nED8BEgJ zf<m(+({J>i4A^;6)^c^(hx0;48}ce|zYba7dv*`kwFReS9++=<mDT^PWv9=Q?uo~& zAFt(QyeQyO7rpG7`qN)m<8^opV$Vr1&-ag7pT6R(j=!)|S=))US6Lr!Y8oDC6I0eX z@<fWECTG)zKu*?9)pKSa13i``X9=CLYQB)RdD*l_>YNP^J|4|@RPoqQyRwK)LYckq zZ&swohLlVX$0^(g4<0z5bCpx7SY_45nJm0JJM1-&7tUH)xg^W@&%OGo&&<y}zfc{z z+9U3k?RCFT77{T9#`8EuRk<$BzPm2u*p4UVE0$bV=u%WNKK1td)XtY*R)5laRBjn| z-clw+Jn+=VX)(1Dk4+e5-0ta~>^;MfyQau3+e_i_yG=9s73Mj}eQntn<E6MWG%UgY zl;<DMrI|H5{w!>Ff79FCc(1|a-aU)$re9tytUO)Lej(`ZysJxvwN~};h(0L1FFHF{ zBz*s#xzhae_mn5ga7~N0R4C-(^9z_bZ@!nWu=0YQp9OC`%>^g#mNgF0zm?Rp>DVUq zpf?4@5!!kS#jc36*)&f$to~sw$0O^czUpb#jdnNRA9Z$_RS<QyVu#QaW?Achrt@x< zT<e{>i@!~s_eRy<EVHds``^7wVUc6B*V8&u;3<%-Jzb@$YynqxePM|>$9csBMrL-& zw_n#r%!)TJGCS^6`O5K&DYy0JW=$K7+l@WdS3YoCgq&o|y?KoPRq<=jhLdS?Q}{gY zEqRxGYr^T`ii^imCOo#@#KCTwk(8R&bp6RWBR`{i%Vw*H7rAUaYs_h6w4h<fm!*kj zUbAvGI)xcUxk<3hpThXwCt0O1+QIB$b2{(Kw-MjN-tFHJ8GkyamEi+>Rg-#Wfq40h z_MW1`mu`oG%pa8Bex`X-QQ~}I*LvMKK|<+MZ!0hNxh&*XU_5c+<jI$oMk?MB*f`0c zF0U@XYNC<F8f6!4-YXaN3wGF_n<k+=>1AqDSniT($+x%rSItvic5mBj-xm@a4$n!R zmBYkcxui%oUfSc8;j0Y6(tB=4yk1MN7wTSTUT!+!;t}sG;aA*KPjj4n8NNPnj@EIZ zE$Qkym8SD{iOzX4vtXv=<NeP)8@GHuBBZ1i!@|0^DDxt_R>X-EPpgEoH9x+*j(8k? zGKoRnYd_DkTLK+UPaZs9A<7WP_Q-yw;iaWv(=sMGteVMg-KVu-%E?bF@4l$wUmKk9 z{;5vKDhCUl=$|1GOEL|+`3_#a=^(Fpj{n-CfS$)T@=@ovZJQ*t>NB%kL@qOf;GKD2 zddt?TPnmY+lDc){A*Sj}Y`M#4rCRS~VPNJFd>^`ex5xIHoguQj=4bWjEEPVlGWovE ztciQ(uHBJyyQlgBuc*@1Am=T&jU;{qEN<e>c2((F((!?xS$%1Gv_$`@2(`zj<+C;& zS#d)(iCw$z-&fC#n|<<J^ulddPS&Z+SUTZ(zT>^kEoW`!S5DL8w|UYZ7?v<eQgCK? zag#%Sd`;j=rsEm1?XwjU>|XU*zTy13mVZ->o0sN|mZqPtY*!21{duXfc+LvT2g#z9 z%k((!`8}L7`TS#FhM%I%?CBf}9xG3>eYr0uLoC($rUcJCdzsM8XX&+X1#j$me!Z*6 zQ~JTu&2AMZlds5qIdx&D?h#i0nUn7J`&7?bR~~cB?Xi(ufg8KrSCR8FxraVZayVBZ zw>8bWf1A;<OK(_<n+%(*gHrjowkn5nw}i>8u+8c{`%7n|Tc6>DRWeQ1@@q4!W=u~u z+Ihly`sGWLB-Z4fe=orEoq1UnLt@_tL7h!K20z`{3f~9a+V{N6;fy%%ZkgiuL2tKD zJwN?(de65N51TZmF3gd6B0NXPc-C5mEs^u&)hwe-*>w(2v+uRgvH01bywkQ`s{h30 z+!-d<l@$9zzMl0IiaHl3UEsCxRn@Es+9%Ulk8y2YX@6Hn-Z9{A=HzIFw5g8|Glbg~ zUp8GYqoCn2XUch>FLqyQC#%jXiY&glLwQ@afySW)Vn&84GIsUNmtTiVsw!(8X?@J_ zu|LXTTY*=yXOP9A=hB<JL(WXp2>V>1B6;FpXl7%ONTp<#MSzw0Qg7Wg>d%=o4zSOQ zp0~f(`T3Fw23(B&)*p`*U)rSiaLTkC1H*<8=I@(*c+)p@^M9+9l$a!A_+sD8HN{JE z!Xom%=Os7^pJ3jx=JU$eg(sgJcquWtNyTT9@%gH)*~KQCcB@3+v}N}{Huu2m+_&p= z7x`NSY72gvb$0i*dnXniC~Ug(XRD0y=1omfmsgyYnd~#G*3B&<_wBxm^2`;F=X^J5 zxU!j_rCaD2ljXTLpR%H7Z`e4aeA%bFCuBkjqTTp^MSPm;S2(ZUD(9M1;>4M2cc{;q z<SQnxDZ72T-h-zR%?(yhg1>4<XDYO+gjpMT$d}LCTAF^@tkUVuajj3A623i}|HQ^4 zUo6oki0AD;J&Okc*2dEQ?G8Vuzu7E#``yC|hEmhIXNNSE1g4!j;mmseY~$<Tv#Zwj zxIKOJ=}Zd4DdVQ9u;_~0o{gt${1sv*9W&xozfra#amBQE6TP3_Iwda2!>)ULZ`7=p zf1Z4vyHSqQZuJY^^lh7$#cs^DPIJ#&yFKG?w%gTf<srors*=}bn+fXM?awUg=Mp#C zCt7iU`To6?t6qKTEO@DsQE<~jrCRFJtWzecxzh`6zRIt45EV8&@h~D`LKXANS*{{) zB4?>g%ad0ryufqaVH>BR(3<L#%Gu`fb5jqb_xyX<Bwske_I2K+cN%WDySG%%NNk$7 z@9~9;iHjnZH=Q@Uf2^=A_wbzLZJKTyA3mF_tp9v>?Nw$Lsr9zsrdDblf5tFT&!|%U z<JT3cTP~G6GcWUqc#s%9|G3GTZnMREw@LgqC>8n|Cc|H~tyJmFs#B6va!<ZuE!vc| z{nz5-x#@X!VNcs-7{mSgbU&NkJ-I{u*{3Uy*Jri07BAhld$Zt%dlJ)B-20YanKh~U z$Eo>u*-pIhEqq<6;`ib9&9?#e9Yu`a-(?*s_BTH*<5yr*WY~Y?(uHzUu~!f0_D>V# zGZLQ@ws%(MX6vP2ckmQ&CQf7DDB6&`Wq(2P#K(aXZa#h{H+8;E{LL1R>w50@6u8Qm zFS<=nOR8LRHN?&G9OKbMyUuJKx0efqmh^sa&)u7S-o59`Og*vdZ{5t}_nhOmn^Sc? zf5H9JrCHxT?Dl3!*;v2Jpw?AWjqT{P$xEXgt~*`ypJw;*X@}a@q-l~4b%Bn@tQ$kl zUJ^LrKO?k?kMXF{y?UEA1BqyvCs!D&eD!Vz&Nqsa@MmGNYF(?nQuj%hb@cVFP=_+( zdG421-MY!ynQ_HfrYXCB?}hxOyVMGv`E6YBB$s`%gLJ?Pvsp`)&MaEpb|Psne@=L? z*o=v{rr${nDBx#l`)ap!Zen6?c7~bxxvD4MR&}y1wmlH}SeI$;LFdxrUJQHl6Ade# z?YYA9aa+NT+mmmbUXHt;@zGUwOQ4bW7QH7j{6V!ZlQwU>;?R|ynUGVc@N!4l@ug|^ zqFj^y`AK#JdFFjt$I`v{_J-_^uWUSze{?)rbEm>RV4Gucb=h?<2SxA4%#!Sq>%?k} zUdq1>K5nyd-o;;4T(gcnn6x2Y^@#RK#!sGdSKhF@XFt5pouzs|a3|;>xG9FW*z3Of zxIf5v_UXa2*o)izDp>UW*XBf@e$efm*7Wq5@rFBoceLfJPUglRyeM9Mnl0n^2Fb@u z^#a^$rdgS6;C?NAFjpwy!5sdj!TYywzWPvXvsa#wAJg)h;)#)Fv$h}Fy+cLU_Sn%n z0p>o|_+-`%Qthp$ZJgintuc07s4`Ey+pELFq*8ZZfJ@KKQ@<Xqk9;L2b}xu!QrPdV z-JQp(AMJX}e?(3vsCU(E_xh~EjS32nmud4Kvs1XNyw`2ZWxF%?@A>aqW1DgH1-sim z!RYR^U73=R;TDrEZ9jTH)b_QyRH>J@RiwA`K;!YkJHnB(rgyvUZHa1|UaWfN;_~-_ z0lOyO7JZ%^blr6Kq)RV8>wNn6$>>FZ;LFJuu0*+-)M|XXcXQR<8@C=;CwQ?1zxLU) z?c=v)3*Y7EJZNPL4BS`tt3T@Khi&^G?T+}*u<2{Z<L%o58`gg2KNGh1T=&DhwUKsL zjdu5lwQg{<zx&11({71LR)wt1vK{{!T6(8B3k!;Q{0qH%aK+7AF)f>g>^`@~Etvd1 zE^^@?v+bL<PJ0}9HQhTk>F^oLB-^u9TjySHKfA^|U3~Tv{^`tf`s;(EE{DA;y1Mbo zV)t6fu17Y>?=|0sGxo8B$Y?wWH(q%A+$Zm{GcR}Ud->dcZpmqZ;Az(Vdu!boPab+c zGgReGWK2TPMc1m0mNNofMHe)6X)Itu#yx?a6N7GWINEBl-w9YXca1yydQ)RLj<~I7 zUrU{_a;ZyOP&4Dabi3)v?$syR&aOPVJ!$S0<1OB-Pv5L~@YS*BUua;$u1jBDuUzvi z^URT4{gW{t=T|K)eXJ|>i8*`umhD33%t^x6uUw10Be-tn@6)Sim%Uk2WU+qgl*_hO z1!Y%-4lmE#)+@JgJ?oU#p9SVJzb1O!Q{V7A*=#zu+p683skhe7`(ZcrZ05CFsc&Xl zU5?)M^)&zA*<F|F`F`YmDzv?}-{iMts(UEA+>WT{`DgB(`ZX{AQ9NhnthJ9{U4GSd zX@NzD2J@^JCVQ=<_p&NoU!Ocp_)PLH#-jn(zwk2qZJ+j^!LfR+)5GX@9z`==RUSB7 zSpHA1t0Gt2`{L8Cx1OKbE}cH^*uOSeU3+d|xmitW-Ngen_77iw&P+Y*by1Hwd7W?N z(!~*X@33w2T+g&R;lZTn>z~*AO%KlQRq$PzxyiBl+>>K(zOCW*We%8?x$MH68|>_P z(lYa(z79HNvu5AIby=FrV`5Kc$s}_XxLK!!yD$Br@7(r+H|pWs&y#mKdHT(Ha@~4O z#@hvVW=o%(7QON0L}^>U;)#*lRxi1iWq7o-;+fM@ZlMa6%P)7xzT3R8qTZA3w(mUY zl`&0h9}m30w{yylY7zZhEq4{=rZs&03)ifk-@c!J{j;!1$6k52*_=>2V7DZ+?Sp$$ zjrry`mn=Tt=2M-pA@J6uzFC_hh3hl!-&ykctOEDlc;<PPqNiSqU0YqT_FME!dCS`M zhpWODoGgF1Tf<}fzCO1Xq5kSGW3Im2vOOnpYrLLC<DDY{N8}z{+Nk=M`*(CeN9L}S zLzk0;mdvrUwOmnmP;O$``*oY{-ubwt^yK$dzWHl!9NRT*g8BLFvXu<8dP{2Ky!*G@ zH~YqJ$!^~o#XS3(qM-Qh>Phiuq(j}6ZQZo>81_X@o!M4=QYCFSZ`rG3(q&tt-MnXV zSfArp+WDX1P4?**7ninlOrO*C`t?K~wp}~APi=eR6(VEialAOfyjy2F+aZseWuH7{ z`B#|UxZ%3&rO?K%W1dfw7!%L?dtKfuex5PA+WDEN3e#eR^0Q1i&%T6gy}Tq@_R9q0 zb&^w3s!G<purXbhHR-I)c5&9z@^g<dN`6^AZ8evR@2_2@`996T%XYHy?%kEnZ0-5{ z^QvcR&(i-WS?TUQS96nTd0?N!uWNUveY@vVa5GA)cR9;{1~L1!k+Feq6L|}|J}eKM zv(;(W+&?{Xm;Kr7%FK$d@AWWCFuW3W<?mu&w<P}!+Fw^o<<4Exby{`Tk@r13&qa3& zXPf7#><pBUVYN8;E95^zipDZe)z0WLs|Odn4O6yl+s2bJF-~0Kb@Qy#+csQ!k~Yn~ zlXs^rALsecYfrDvHJzOL<dlQ;##vADXCIpIbXn1nd4EC|@!pKPyEtC!qnRE<&X;ei zid`=3%y`}x_QEminb>pJb8@;Jd`!=^`_5>)@X9>%&hUOx`^e(_-XK>suk-6UFRrzj z&f)lT_O;cqaTRl)3*L2Go>#C@Zr+1ydkpumcyJ|t;5g1u)pap?MdC?Uex-R5UykyM zBt@StV$75{zN2XMo!{4vE;(4|5nVF3@}J<VtgT1Bn;RJ`>7=%WGjCs~t#f0uSNu7< zJOd92_SXRyr1f<sZZ`HjR-v?cj$}l?J;U?99p6{_Zaw_e=1HjQ-4jnPX6NQ{?A|e% z%Swx9+WF!TR!Q#-iqGy8ww{+%UMlu|S5M#?O=0HkdGV|g&-Z%Va5|o-<*8isvH#=B zqemWA+V7HJVVpeqa@W2Dtr*#`2aUx-${SB8Zm{^aD%<o+{^#5PBS+cQsT(cA4xacb zbB*`!o?w*@^9feT&GWs&nC^(1vuMt9VZZZeS$Vqt?}H~_U;ik2)^+jjx=${K#}2Tl zOe!xw8`pL!+UMu~k{&&N`KU5gk3IL(x{ds;w=2Kne;IyYW2bZP4Vg*zm!=%Mk+j$A zbK|u&&MKQVKMOX#<FmJtl0Erk$M)IWG8OFmD%tPNm>%}QZN&w4N%gF+>Q^o(b<Y3p zZuwwN@+`@u)|T}5qWAnP54?4D*3~^@S19LpH1%LueBe>Hz?)^8c^A~rxmI-d)~=@B zlMJo))h3(bd<|4wk~?=jdH!{o?^)ArZAQ+_I%_PrZb-bHb;jeFyv}sKt|x5{MXV8W z#V#sEq3&^(2VVxx-+Z7~^~h2OWl6ccFQih-w(>abJ$8k?p}O(L)!h+~^fx%IIX!Rr z^}SlhHbtAv(CfX}@mw@bGI!zRBE`5Ox4MrnuPvXV;#O3&(Yb@qF8%cmxnr|U-rKYn z=h^a0oRD1=xx6(v&H2fb<gIBxrw7g9vlZX*eU(R3>O2>xkX*~-wwBAco=FV!{CRnu z<^@+B_cLjHYYg10l8;U}pzk=T`q7pRGnPH^xY;9niFr=fS{2o)&U2UwCk8FOQ}}1j zliG`Y>}!kV^gsIbKghLzJ8R#weLEO#Mfdsi_{-}DPrfwCKSia(#`#gK`5~*&V{6w~ z=*XY$W3`+WW?!Q8Rpq++!}WZx<<zbyf85@!W?=0irfqxk)Ae<i`<7qZ^hfgnZ+`rh z>5t@(cw9f9{4DC05ZCRMk5%d``nJ9`RNWJ}qW3!cs=mV5;;yFcK^@EN^`2TYurm}k zXqmZla9FA^aoQS(%T7*D;yiwB_4`cODMwa`FXJnI8MEMK<TR%`#~a1(@6F!yT*=;C z`gihj)6DXg`&ttxg)?tlm8WMmtt8`wgybrZwv)GRJu+@qdw8AYc~@a&^5hb~!01)8 z)~f7_Gd`S<HgVp~?>app%Q$|OFHaQvbK*m+TWm$m9ERn4gKkSWbJv`hzpnO`+bn(a zlbzd{8aH45ykd#qocGfc)%$%eGe#;VIZmDF#t?i`RO{FzkBuu7ES`LSw8B{8lxS&C z5qI*}m7;k?OJ$hlEY(+-C|Jr%|Css5@ZtOIx1YbA-gE6*Gt0DciMMys*9QE^d~o_a zZ$+ed;LiUHoojDP>ZSBN*=X~y^UJDW>Gi@j&c3#}GuN23+?ymk)kuDC-_;kNZ~7bD zzr0!Y#`)zUS7wDd1XWi$Pw3sr@%GBBo*VuOH^j>%cqX3uzB(?XtK+qT>z$A%pN}u~ z71=cP=G0@w^VZaANpVk&R1Ms?ZPM|{_g^~f+v{G^(lOIP>&N-)A6NH%)T=os{q_5* zrdReli;kas;rU!-jlY5I**iOh&+nMW#~`^(^>*venH~Mi^JaWo_1;EvUR_PkU;e7H zZ$~bOo?t2c^TXs(pvq*G!kt>u#Z8R=8Kl<b&C@xR$hY(N&ev~eHRk!8-5M}S`rX@i zT4hsHKMS9d->rC?eW7S3!_z4ZWty^6<PKk$#i6(A-0lfqWczGi9$Z##v@%GdM1B6L z)i$j`q9^a{e0<|-QRk$SJxucZ8A_HUiM(aEDO=T}9CS%ZOhxdxvie>_u>jG^;8&R{ zjwv(V1;(VXyzNQ&-4)j7WM4A-_ry6NJn@+|4UcC^UnyIvZ?x_0;^pht2JoMd%qch( z!t+GKZfcaPo{;!U$#eF{rk|T-7kFsSgYx6o=G0tNuHBTXeXio5<?0;*PabIa&E5a& z%iVLHCm#B7$Zaj)IOEl+p!!3le|O)PD{T>1yEpA*FV2;DP%g5wVd*midlNt5IRcvJ zl^3OGG9*v1uD-f+mhMq0cdgSGcQEe_n3pN0D3Z>rF8P&d>Vdhkof3z&d7g{Pv^-dq zU}(vHspFFYzhMKLd(N-RoI&24jNHep|7J2gpJ^8n@#zl#+T<VYN22mu-YQ-(EmQN1 zP7&m*Ic{H4c;`x;>PNom4|VN)(}Siw{m~~PJ@?5QreCw3)EF;#HEZenKdSpQ5=Aet zzxkHKtx~x0)FgiCzptxGq+`w}Ejp{ud-K)hm^<0Oem#5lq^(Qn{_ZB_%kpolu4nHq zw%W{O_ObEm-m}gs^DTl}nalslADX*2N>R+P?L^|=%%UllK~8S>B=|pNp5@Ru@t;9+ za#QhN%~sK_oj*6ua&?`sS>wUH+LZ<}t4|&2J!d>`u9oj9k>ZoDihU-A$|iQR&PeY& zd~K1cbI#q9$BGQ>wlqxF-%)&wGcNO_rmMe3THceMCR?o~tv#)a6PPx{*#`$5)!y?j zOq_S_61m4)eP_trKa%}@<B#e`k`Ftq&gKOC;+Z(>!~UDez6LL?u5EoLf8T@6aE_?# zey*?nJ?5<cq_a-SeaV=xXNHa7i|mfSvmVc_lf8TIK*4o!t`m$06?o)od8;g9HT~SK z{Nt4S(UTf)l9D{HLVdoMsN1syOZ!U;gl#s9X#_6L;rT9Gxspqbdu7c=m42@$Mxry4 z%edvgWrZ1;1>Kp-etmM|6)C|K7SE}SbxHj9j$c|>xrF&#;5N1g8y>G^?bGIa&?(1f z@w_J_G0D0?MdUgA^&6L;M9e<T@Q$IBeZ#6v9uxD@W|-&{EdH^*`U2~s$bAo_`z-DD zM|r00y04Ph7W4NGlg0axvsYZBpX!9a*L=|P#olY4S-ir}tnzQ?y%=gHtut0XbEoFi zUiVAQT1UzmBu=+JU-5k<(+=g#Cww~}i!3pkBcyuwk3-4I9F~BHpYcbm`lBYkecZ2A z&K3~yPLhRj*1C<Uo0iDGXM6l<#rtJu)55QBH0*O}{j>S|zU14p78sRipID!B?^9U7 zdPU9Vt5qpsr*e4CtleR7U|sehtxFYo*UshZb_s=c9QZDGY?q+$5z!*9^(-qNe^{QN z8gcTJR@3o6A6+I{?P6ulP7$chJQ%WB=k11xC*&)t(qH?0YPhxd*^T0Pe=aG$V-Sns zY5e2zpTX+!*6TawrR>QRInKN$i(OfLZE5+X?&$QnZlP|L7CBN+Z2Uz6GB#v!7H&S3 zd(6NtTz%*Ji4KqAyK=WDygMTHa%+F?*$dCMt@Yk4&LI^hf28oob?ap&t67Y^<&M|i z^Soa)uW8q5gSXNqy%XwQ9Cr+xS*Cs}F+xway06{V)nd^h@lz_>gWt}(x$q#1^|#}G zKUM|boBNt2rmgn2KTC*_l<rDbp4}ggtIwNLwye@|aoHW^o9Fy}eqUZvD7&-XQ2F5L z>5u!9V`AU_x%Fpla>`Mi$(=HVJNlhpzIS#!RU-C1?7KN{uF&Qg=kLjyhfh(TGVAHb zF7eK%YUbw*DqqKKOwG}mWU-(}X`8t~k!@f0k(%n-(#%H|%Z%49@`%=-xOL-&Sz#M9 zr3|vgZ>cRT6`i}s@3Z?;u?bBa>MLwJ)}CcQ>RV|ti*Gsq&G$|J9$tPHuDs5-W|Qe% zzt0h~Zb>%p&MTb9c>DUitJf>+kL+5VeN9iv#zQ&5&yjs!w#ViCq$&Oj-iM}KP4Bw$ zGvR=gYv94U=O5QKAO3FWxoF0t)XInd8KUJ3Ldw+kY<|SvrT2&V(T#+wiwz?D7MH9% zZI~lq7~4Db*xc0>=>a=0<(-JW@<fkW-id#!)8=r;Qzdb#S4^^F74LoAb7198(QqU2 z^Q`{Ms;*DETcP)@o@d|Im3NoinvxgK#lbCHWKdgpZR=W-?!Q5oP6agiZ&-K#p3Fwm zh3j8!|Jax*HBsc{OqEc^@V|3Hv$kov&N<)wXu9vd?NjdT`FOsQq4>MuG4`79?T7U8 zRLzBUdp!KmRUjf%^=yxjZ|<7BoM69Jl}{18Z~tA-`o+c;u;Jdl)Zjcn`_8=#BCFr@ zhMxJ)V5ZCV=wEgJB=2MQJS<NCu6njIQ!J`)W3}Aw^)WoR=NuM(utIk8@u<_gr({Vj z@?LS`y5Qy<fu1DOH;4CSZ)weaXkGZNHI(~2i(pK#w25eU-tL*j%1>CCpK{-tsd{Ca zS$xi(*5n&@j(1nK{bx8kQ7Lc>bCbJ6EpPFzd0R`@WnKHlyMk9nW#)YO((rj-`>hP8 zM6O<9vi(u?_mscClQS%|`=h44oe)!*>cGKS#=h#;vmN&ZY8*FSP8Qqc6Bx7TX-et= zoAPx+_41L~8=_uTmBgpds$>bWsClk_Y1fK%xqg+w>D3|^UW*6&F^YYdw6e)-(q2FR zsHb)cQJyQkm%rlu)DfQcX?fQ-#-+D2cj@2Ay)U+rq33ob-{DEx=l&$Ga+Pnp@3~?A zTV)2XBMEx<{xd|q>RG#S%EaJ9;nTv*h5W8(J?+x^>F~VVM=*AI$5!X;<(|KrK6)Kh znJ{nWJJ*6Z)`>bg`)-7~UfIOTetYBbs<(SG%QKf{Zs)FeTUc6Fq~ySUPvp7UcjdVD zWBY}dZkxIEQb4}gev66j67_XoPyb*(((ZCiC#o!cYr}j?_K*5G*Ha(uUM>G7dbQ++ z>Fg7tn-9K>Q~mur_Oi>8=@JLt@kgyNc1`}m@Z-7j?n}JS=Dm<~i&od&P;d2MpHkcn z`xf<Uxlh^)Qmh5{<xKEM+ME42+BQ0D`$XL@r?+j7e^)9~J?rMxQro0x-|vB2CT=+P zpJA89*S8@LOVlQwz4t2IobU39%9EDsRv(Bn&*yr*ICPfoQ->fnzXyKVjY1}$c6k&m zpDME9oe-1p{H&c`rw+Scn5Xh%{<0s<;nPDl_e44BaUXGHFnHZm`E1YUsH?f}-bsD& z>^<Bf`<J&cHOk?|aqFM<f2+K&{`TxG{^Z7Ryr%Ex8j+wIvz60i9XxHK4@yhhUA=lY zzPn+P$J4G7nS|t}mFK6O-ehrO(qBHS&=XI0CO)0U!dJ^1C7B+#!`yJo#yJ+s3Z=iU zYgcRMY3vQ)tCsnF?aLF-yt1103J<<N+PS)&r&+eRIckyQgoiVKt`@kx^XHTTceQzn zr{<KdHkiJ>WkvF59;w|kx47z9vxRO?p2r$}S?SDz6U+0euC7?@Ea6jg_x#!@j~25Z zy3Kt|{~4k>L!6Wi_zkBS_XuC#zty!+s!iJJ<E#yd5xSGyi)Z$QtE<hFVeCxJpHZqC zVKrS?X@~2rBn~6XJJ~i1wUpIwn=UO8^$5@Z{p9)QHG7Y&w3`}pMEs)P+2u>a5)2M6 zut{2D%qgbovy4sR@uk_yUN@LqzpmaP!egVgfPv3)^`~R29=h=}FE`obVqf<9PvrTf znq3yZY9C*}{9)OWBNx3QCZGHJJmNotUe=V3b4PL+i$BfzD))7ZN8qHE`GJm&es>RB zuJ)afd^l^(!#OhR?;g!Q+0-RG$!gZrq)&H51M0RsZM`Du|M<b>4U&9adD0om`O5Ow zrs_T^*IHGVJnMe5?~XL<DJ2iCeVsSS&AVZ_q{<xTFH4%9n@vm6ur7WbzHrm?lFmN6 z@BbO1b~R@w3jF;&hp#TKI4~~mX7LjZW?BBIt=x@swyouA63<AS_&(sLQy7Enk~w@g z?4B*!arGdh#|<m4W3&Ejd%!Qcrr^8ixvAHV-OgG)y{6{C7v8V$Bfp!k?RghayD{d@ z_9F%C%=b2@?Cw38G}G27JK|wLv8>Fk#R^>F<u%VX<(XEd*z_>I$d-J!Jy|s56zBP< z7rhb-i={rrZM2SlCY#w^Ao=anf|6C1aYmV;-{!11nt7_D$i%awKqT+$3Y95SZ_Z;4 zHGWW=r9NG4meVt}Nly1GuDaFy^)+)-=0AAertH@hzMGcsGH-Z2+AKIBOD!Q&dimb) z+yh_Ex^%nzzR`0@{$BExk`;`WCrut4@5{<#+AgZJSt>zt<rJQt3AV-|OPH@VO7}Yy zWE~9CKCra!p5y!}qIp?=!d%|w@7=caiqpm!E9Wrr#x$Kc`B~$n-PUCajNd+=cpG4N z@Ml$6&?+%m-k#`&I^*kI7sV#3)vTGdW^${R#FMKxR8D`sKkLzYvtzMs1`P`=@*Ycy zW+(r>d-MEypAf^Hvh49s!{id%TMc3>)o<Uvwqt35+^0^bBYQ;T=V?v&x$isMf=VtU zvD|xU9^Y2@9%GMbJnGaTer3Hv>DR9-%{9)s@g|!*5!}A>;7apt?<`mMNC?Npyk#<Y zocUG4a+T6EcLj|T?`P#)YRg@cE^8c^m(!!4H}|#2fh{dN>hC`M#rNf|aL)EVIcCGa z`959i%YM2|p3q_7xN^&~Je8or3xa=ESGYT^iM>{~E&8+}^Nr6jKC9af{#m`_nrd2u z%Yg@<XFX1T^4@0F%Y_StG#}rZaQW1{KbMkk?YeB7(Qolwa+%EJo}?uT&n9hA$$MAm zFB8mHo;Ghe+cFPcZFjAMiyzEu+tzcK>+H!Fh4*%z4!h-6rJK{)K27A?bJLSy3h|LA zeb%4ux){k^_x5T?<CXF?3enQxO?R5Zf<i5WiVlBS=jpOk>CUM&75S$Y`6&FH&G7lC z$;5k;3@))9ci<G|Wj9!Fz|;Ku?e>>nmsjp6^Lu?P+x$%Oq`i(Sr%ZBRUp1}$Osred zarWg=yOy@(tJ#Ih%=cO?)K}|nnxp5z|7qpltSAZNWY)@{ooC(B9u!Ut^g6%woJAb_ zUKeJGX?lkz{`h@mM`LB^oJ0$|Enjtx6xpAz>OVU@>6ii2cUk{y%jP;5idrg9?wT%m zXU?V#I>(Fk69eA|9cg~LPD|tY4e#}Fu8zvRtNV(twF*V6l-+Z5Kh^hmuhXTer`Aip z_w92@-dgcZmet`Lcj$_C!@|@9>N{3SJQFzD#`*GnfELrvc%Q!+VW)Tx%SW-EiD+~T zQ>{zBFst}T^<&$Qmu3qpR!Xld7g(+=`E^C&8JG7;4^<MJOO9t%d!6yxs4knO#3<eC z<f&tLX!~<tc0+^GBD3clRZ^RlE6l0YTGh&WBe|G&=NC~E?Wwn-mqxivXF4KWd_q8u zuQrQw$~p(jWxLsaM$gKhweW!Lk7X0y1kSxt5cBxb#=K4bwyzh=a9grE-EQm5LZKbj ze9_yoSM@!(IBE5+sf!Yf_Q=;wEq}B5fWy?ni9wbvw>|nei+guxZ#5JRyMNBwJ^0eX zSz?WQb~f->b8SoGR$3EZ(Pz)K++<mp-gC7zT$>bREmrw4o_e-yQt;(#t2PI){;-T= z&EaHHjJ@%FO?2`W8JV;#2Tz>(dQ980m;bXwPum^M`LEfPn{Ul;2>GVWG>ebT`kH>x zA=}qe>x%!ZDlIVH@^yvf@zW=liQ6A&`St6n(8Yp%?i-gGrai0<4zIj*rbStfbM-;4 z4XLVLpDbQ`PI70_yTqcBx+`s+ja<mQWS=GLC63wiTse2I<l@f*Y=Lw7rZQ+6HMl#U zuV0$1#uCoYb6H@+CaniOzy4-zd9!fl<c4agc?loi6?w*#d|4qTHu?E6SJ%@HJ*Q43 zS+W!dP4fJ?>yq1SM)j@AbJrMu6<y@|S$K<9&!qjL3%?y<oI1hqjl0D6HA_pA$|qm$ zU+a>3`^VKK-l->3f+vT@?0E2?s@b<p+H4-PoR-po64Nr}8HKjHLd$9jeKRdqc=!A{ zF2Ye*d~J^E<5^2C^+)xe{jz|2lArN;rIp@x4}!ObS4ParP}`y_|Np|z@RPcVMRj3s zG?zWPCEP#L!-84Xf2(btf_&wNyKS0LuM$LsObjPaie6j!)Ntb&j-OMfd_VDMUh1~w zc7^AwE*a;m+w^;-Pv5z@uW50Sd*wrmSMGP&=BjKu`){kme+I6iB?*O}&6in+^mXqx zd@k{%>gocm%GpH=Wc2H!mZ~lIII-hq{{qn!i}V~>9lkzWdZyx)tlf-fTO1Nyb+0Tv zcXsyP*KWdAW^ey|`L=SVk`3!&nMd<xi*8$am_KexvC?GOCo2O^HOL3PbdnIaG5dV^ z_m*dOZmLXRPYm4m$7sPVe}yZa3pQq%tF!JrDkS!Mh4JJ$p%tDwAw>s5*Y!x0t(m3L ze@3Om<iV-nv@F?wQBQdPTn>9(c}sVelI5N1E3a55?2*^WQ{Gk>xX%5|#i@TYdyX*u zc)Dv=V_xdhr03V|FU`H_DfWcJ{ZxT}@ma0yGybI=>SANCsWXk!ZVM=P-_l=m`C6LU z#^cJ*VvkI!wJr{6Ty*Mr#`eI2mPcJ}f=%Kg*%Nd07kpnO9<_CDOI+%kmlA%(^Zc|= z{Biua?$)XIZ=_80%Qf8&r{u727u{-A&KG=P>sfZktLgk}U9JncF}S?3Jyx-%bIbnr zI(e>Jy^E9$?ug$0YO$U#y1(O};f?q+@`eh_PqCKYlmFpeSoy8(quWB2Nv**mdB?BM znU}rI^O)HVjm}jS{}~Q*Do0gh`-}6;EmPF;{9-y+to`wN5x-4$ZLC5UHFq?nOsMr= zTb<k1zBto+)48+C4osgGTgtwUO!a9nSher!X-&>~u}lAGUQR6Cxtq68&+g*``9r(A z>-ldwZVeJ;;G6q;v9QDa*RuPXW^(J#R-SzDLHgxuJD(g0_2w>-H}P70Bji6r+GZ{n zuiJY)4y;yKa8k$cw#+57!|byzX*C|>k6)|e({;vcou~uz-pcpATf6sa`%lwO{oH%% z&9Or_*k5RGnf2`|quUP0xA!*5y}R4UbMWBXu4`g`PvqI|t8BP;N^j!CXGLy~GIgfj z$<K9;^gJn!&&Zb2>s-|^`Q^tG{!Ue0ALk4Hu`%0rIX=^%N!dc-!{S@JWmA<ij8DGx zdw%112D9n<<yn)XPH~xCwXIIuILmTvid|+*-;O7Br9oxxsgG4;8mvO~o}HW@R>6Pt zR?N<(cPy1mUu7MCUEdz*w@G8NeQnh*{^0oeRb^{!7cyP=8T5|bZtIuuraxtjecCJS zf)78R!}s-c$KmX=j5mI9sI1RhyZfA9ljFUm-Yy-J4^NYLJ|}JG?%1kh5nfTA&s^3{ zs0y1DzcA>M*K+$3<`ciJE4NJK*{mRFcYQ+6^Eq`>XUd*E(=SubwPKauo!aVIbNofm zMV>p-zw+y9wdxoKzQO})i^4_w=YKu@u=Meb?nj0>9&$fTzlhG}*HlVAC@J4t^Y{@* zpq+wP4(kE+pV#-^K2ftG`bQ)i|BtXAFYY=Wo^(+<KVM`;_^*`fb1E($x|Oyu<)TN| zn*9X{MYVNXU&LjpI3}y?Jm<f*xO{@m&wEQ4FI=~gS@dq^EIZxnCed@1J{$-+v94@g z#X-?iew!R5Q(^?K@2yRL^q+z4s9A5}YU@Sr>_L7K)Be49mHm|a@Us&Ss}>9X;QRV6 zc+FGkS;`hWm6euliT$*z|DmMa;cE+TxkhzX>hDgguDV#bt;E1-p8K5rC12F`P5j|1 zlDY7%zjf}(Tl{{!HIMXCvqRccWewO9=RMmu=Z9lyHt*^i9*)*U<;6RGbsZM|W9Iof zTeQigDJWL>-JE&#$JQRvWyyOnlgo(VmH*@LmbF@}oO>M(J>b)PsLbK>#JP#z_W0V$ zjZrZ?i^MX%iD~a{a?jfStuio3MNQ*E>G}AgZ29Pq;jK2dGTUdhzWmfQNyvbEa~0Qz z-s0nRiXZpfPyKL5_~z|Z?~J_6c)O#D8sEt&d|cmZqnRprWj)Je>$f-fmF4zreYR_U ze`&wWy?yf^{EpxJ^3}qqhsUICPptDk@Qc5BtMtvU{$h7cuY8bEGEOZ|XJ1>bH~nwJ zB5!TWhub`7KUHjMSbXL3N>QOjh2P@&P4xM1&0hJu*6&w=<eBA){tHZ(<}Y7+@YC9d zF0uw9!KHhHy<3@dKM6|8Xr6l`H*;;QdibT&m6K0xST8e8bpDp?kic2<xUVG^eS4#* zGI?j!UoGw2;^Y6MLz@G)^{$CMk@>{lBJQC3+Nz?8cGpya+p#L`>jSjrEno4Ys-kB1 z?kxwOtov~1*Vknm#k1$~y;z;PTKYuG#7UJW>=s;~ayS0q;)*w`_0QHh)km4$-*oeC zea1_vnJFE@PuV5ZU&h(5tmt}t#7=X|wdwLZVwYzgxU+n6wCl3FtqWh=v;VO6?(&Xl zzkQk{boCBc-~4&6;^f->T(8AvrOv#x)y(&ym)-%h2jA}oz4|q!>OVtU-KDZM9j8|J z-LAeq_m#PEoQ`h#)>(XuEmZfu(h7dwx{TShd#8?#XSU9y`o-@o4ji*wpZBr!#O#M( zZgnWMIe>N%>`S_ur@v&D_Dlnn@PoW3qF%526TIR_yMtBkrcKVdhj$zZ`}%0p(M!*t zY<Je0xVPV^t-MR(9AlD^Z**VU)F%^Xzt82n`GPe?Oz)AX<#YL|)$Xk|ru;X8ex-&R z&0+mjb?s}`idV;~^4m&(|L$dzOt{TEh088QqU`ubsRvtU{=1!9z20N~PQK*cU+<2` z)JGM^#c<|r@%HpxyT>AvL!n9f*2X{XrQhoLUj7PQC#Ufw?d0P^+Y@U-rkk~@Rr?>x zoc7pp(v1^Or*3DeWX#^ae<$aui9KIUpW1Wg|C#-M<0PgNGqqn7$A;}*<1BM|Nra+I zU-f*iLs^$I7I**Hxh8MZ=1ra~eH_JGJ_fufm;ccJ!%TW6o7$C#i4%{DKA)#D?Qz7l zi%G7*+-y^e8;oyMU0+<$>3jM|y>tBT{Lcw|3qBPGT11&Kwf8=*&S$$77e8UseVM-I z{h|kNWCdl{sa#qp@%PfICw%@pO}Bn*4mI{(mMOt2BQxvSJ}Eb~kELtoAI^ELD0g^k z*~6s8uG`XXzWL7}k)NmZ;lX8|C9YeH^>g~BKDHCQ6!$A)ZQ;M|nRYv5uCM(Qyz}2R z@$Xs-*z(x(wsw9vcX#PNb573rZ$35&R;ctB$81TvYLvX_$}hP~7He}BZrL8Y&#R|v z!356I?qZ#uhV-Ta?WlX6&Z0MVN4m>;sIT*to+RsM8O^HX6j2@2<Gpi!Wzlx2u1NKh zPyd{=ZLeC++GB2Xms9q;?~c~Ef6b=zdG8dPEnc_GX|==wyO!&oi*0;UI<KYw+|Iv; zJtnkhn&;A!Dq$ZpFZG<|`n32@_TuWrQ@CojxE^FEwOevsy*%qW-*&NcK{-92`>a1l z#;JYuiIckYe9zw5#gCr`{}VNGcFRB7FOd;t-u!OM&UYSH^!b!~!zbAm$5nm^_upb@ zx4Ke(zNVVuo=NPN_AGntx9?h5z4+_vLY!$u8+GOvD8AfMwm#>F@{+a3=IUHNagxV% zcEQVQ+nVA|F0egyB)9#|+fLO?K2MpqZy1*tE$KVSoqMC8@b>G_ufD~HZYe9@jg#Ou zbNgiEUK2j&-k+EcuIpA7Y)kT9DUo-}F0k>={NM;h*=H+vzd3p<UuPQgv)?<unm!CX zX<XxbQ|5MyhPd_t`+vKxT&Xj<{aUbN%UO}LLfbgil?%Q;+u6(Z?RW6U9eWBCckNW1 z!Pu{(@7Q(CRH~=5(5`>imYrhdlO(0CUNX9UJb>Zt*Y)flZ1(5v*}3Or>AX7r;w|6T zCw`2*@+)t0;fnKRpSN5zsJ;7%x8nW5ANwxaZb|vGR(s>0AM0vN{qI^DE~&K^e|O66 zPC{{4^0MV+H?}$Ev|H+)P$*xPE&kZO>(Q$x$G>@qR}0i7xI4~zq-*0|UA@?B?@Cvl zup@#Jacqyj*B`m|C21+k=|HPk(RXRPc2+D&cc|H}kRW6o?xp+wq0ZTDMu#Po)kP2f z2zyp~@yvP2iR%~(9FL!!bwB#_WOakNp9;+Fmuem<GwVoTTJ&I^WWTdRGh<!OwyNgi z*H#>_nt0^Z<wp)2H`t2&v$`(*`kvT(;aC8JdrbQ6Yl}3dW#{j7Gpy|1P#*YM_^WB; zlbaI_Pj6SYE%a^ktlD|Y`1-HQ>l52zCwZ#hmG(RQ{%B^>WSupimt@N*Xh^;?%IZ14 z{*=?{f^Cn&Z!E1#?%HA$Ey?il`lX47)`g}>zH#@OW-PeIly&B!9sAQbkDn=6e%~bO z<!0q~=5@uw-yK!Lx^Jz$k~e81&z|PjVM*KD44>cryq)Enhyv@DNeZ)<@b7-lWbsGK zMSNzZS!KkrOLsncs;$iN=rd2&mp^={sp{(P-EBMXiUdqLvhI5F1->tH4@?u^W4L{$ zO3{L+{m%V~F-xbd*4w>4Ch}&p=)5`m_vX}`d%o$fR&8{!ueAS;9rN2u6U@GUS+l<F z+r^i4;>}@KWN$qWELLfMRlziELHRNdDOG)GMaR~6epb&mMSYW03k`0V(_pD`ZRMxb zNwKdEMtnK1Aa~`+rps5S=cGEE<NtAar;*lSrMUkL>)e9gFsJuuybsemb)<5_)VqHy z)H9Zwl=bain_{%#;e`(i(%02ym0Vuiy=sAm+>{xQ(iA4WJ+q--N8#A>H@2;rhc5Rx zt=f71lxSV@J70ep!DDZ@ngSj)Uw@^w_x7m<ZwZZps;`fhq`us;baLW!!`-!y{QVQ( zhwVF_!?nXG=f#npl;7d@`MM8#cJw~wZa)7*YRC2Kc7Zxe8@{X0V(b3TkP@?fLi|1k z8?F+bi3-LWPdu3SbCs~(0wvFI?TPd3zVUB$6+O08y3?h4rk`Emgt{$jB6o|e+GNaX z8SyX9t#ZZupqVL(X48rf9JA*-Z5}Q>-z<gW;f7E)M$-k`ubE9+e`~UZCHoGOH`Y>R z243>T>n^SGJnrD1wOwstVP2Sad61P%W8*vD#Itofo>`{!%)LGR-NZ1JYr5Yy&0y@E zlIVV4{oZtqh^%}4mQSWOGar=Q@nz-wh|9hE>YuK(yyeb(Z}Tl%t(Yy@DnWcl(&uMw z<?GHkn6`69lRsmneXm~7#VXy@Wq<EBKjGiwam;Qiw}b5Lw|<MnWTWS74V=W0+tMcR zd&YMg2HVWlg(i7QpRQ~(ZaewlyQu1t+>?K&92Dge=idH3fvND`s@Zq#bnmBb&wboH z|M{%8dxqR=CP!)Kvb3?Us}B9ou$A|e5CeB{Pl4fWQ=Us|HNR%0d{%CK^ywJC<Q@N= ztL$&RQ4{8v>5|<fQ{cZ&+bxmxn4aDwrxOQSoUeRavr{K`&-3Xz=M~RM{8{}*+c@aL z9wUZLhgO|4&yz`7;_>#O^jy#TCl3BA4Tw0}bjee>Ou~jgYokKfoxEv52N*Y2J$@b1 zp7`wLf<&o*?~GqmoORT_lIGT><kFI-{xWQFbkf>q`g08D$UR$?J1gwB^MP$|L>dl! z?DtBN&i%G>Qu=>}Fp(6`E8G7w#LYOjv4N%f?#9W%o$RMp-Cmqv!M<|E(rJowHuQWs z`TlL#3~tpUr+25>tX=$yzbe4lUFsc!#^b)M$y2q&Rq~ect0WhwJh!x)y2{1q^zOH8 zHf-z@9G(QZoQrtZvErQLKhYJ>_@WCF+kP*WJbrEJw3ipyW*g4m)7*0*#p9*O2^HhY z>d)IJx7oLPPM^AcGlK)OtW}6~(<1GaMk%a;-yMHlellhCuG6jBzh<$`_^_^F(=o%l z9j|A(sablQc)Y%9-KL{jo9=nMzW?+=h)=Th&6qdpYt_1*>90McAR)8f)<XT>ME$sO zHKyBz(=30Mr!Nqlmj2T_Jt6qyx9`im4HcI}%sx4}kB`rGWzmFu?K6k7c%FP&F;^<~ ztkMdF$2^wjH>|6Pxu?{xc}L?w=oh)?J6D@M`u6h3TEqTRwzhT4R&c+6zE1JbDh(b- ziPx8wIa{83D{XsTZDx+>()-5p_vHLzf;y-9$Z@+J|MYzU`{LbsxAyv<;g1Q~yyBow zV#kT|UM;?b$K)Gt%U@f>6!y$bea^e{>NhSh2c2Eirm@7jrzYJ-=ITzRfY;31L`rP? zYF};Idy!>|qvZ2-5nRk{31Yr?H)OtGZ9AkbR^T+j;-yc<cd?}7Jhc^nSk-PSD;M0C zE|*<pq{I~~F{z5}wa4!1*Hl9eo${8MJn=$Ex6IB!G3GM0)$UIY@4T(DK~nO`@BXZq zgNO4bZ2YSsoV+A6)N6N}Q&r=MU$ctd^CU+clr6IQ>l+@(KlzFA&#cOvdiiT>yp07q z1agk~-Q%<6T#ym;dyz!qG`T$&oQw=Qn~WMN--n7$^thR^d&V3w3x%o+DpOX5g$BQ> zU%4QyWs{_OWT$jUli?fdu5&x4y)T(`lxf28w&dgLmpVN=RzxzUzj9Z;HRp8i{0xPO zFVEY3VNAT`s{XyXf#LS$<)+ei+HY(Y4RdU`@z#&)z&eJ5Hcf>MwyO@`_TK)zV^vE& z`xU;M3%KO7LMIr@rTi>lm-)W(){Ti%r|i=F_dWQ9md6EA9=C|k%@?Y<vfO2opA|?5 zH`M;Vz>>>y%<1B$r@!=<X>K}l#%W1i(&I^f2Gv)$ZRhFM-I%EKMdfML=b+77Hd>}I zxhe4cN}qLx>y?~Ak%#i+a|O05BInn?XM0e2;$_#|XPrV3i@S9jo2m+5z79AreY!-i zfT*PEF2=75E*jmL7ug}%uXmWWQsLVQndpO`&;CAUuYdMN)zvLqrts@FXw5f2ecp7w z(XoETYNa!W6?fI#`@-nEr2S02PV>!*Cw+f{MXW@VCAs_yuY@`m)*O_J2+}xcsr)`6 z?C8=v>v!Ie6rEnwCSSt$HIQ*_N_tYwGS-a~B)-Tsgr4~F_VkkjJ~3^F=YL$0vUBn& zBPYq!H{p}dM=k!lcD2vD^;vd-SAWftQe7N!a|MIK`$@Hh??c{gmF}+i)A5*R5|1|P z$-6KAGhAOP)li*p^!K7fS^s+5jiG0M1gUI~eYJ1j+*eU5H`=UwQg@!?7p+V+=zYSx z*W<~zH8=F*UKY)0+`t)l;&{%i-5gVxx4GUst|IuUF|u*8>E#ofTy}DbGtAq!b)|@! z#X}*ZcgNnyJ-@Wz>=l2dB^mV{8zj#!5S8BgLFrjWG`oWEaZ}yKr8?geZN9ZiGQQZm z_r!8<g*~csnfjKC_RC&&Su!P6S>efttTWeH=SDLyH-G)Mw9v%L<58E>D#>P<KgXB) zJU-v+&0ug}Be4J6s%f(_PEM9!Z~SLk7@&|6S)QWrc;RoR(8Z~`Exp=@bzD4J`1~bI z=kK$SKK(>{d*D2e@9Q?HcdR=-{b!rQmp@r-lWyq$T0cW3U0&n62<OZV_iyJK8fu-X zusCr1+BUmOd5U4F0Svb)UiUu_;XUJI%J)LqCgtz5??=;}bF+EYTJEl7dcu;|Z1aRG zlksZwTc_I}YPPEI?af>xaob%}!+`&k-S@{Kxz9TJ9%|g|EB@oO*0nIr+ncBH2LDWl zw_g`7P}*`w{(G{8^uD}?OWrG^4JSoky}3bvT_UMUYGRrv^9P5##XIDq&g{6%eCkQG zWMIc(=F1{Qj7C}CpU&fMXcY`Ut!3b0w{^+%YoDUmv<t5Oa(;c)u_G7%^vYdNGVF_% zYugfLz*BvhYv)gn$M>cyTvlaNRZK28#c5lyx}aajT`|DDpi187TG2^4zoU%RJSFl` zeUVE7_W5+(eEG+rPIPudUyJdHg`F&454;SLU^y}S)aunK>C1eJ%)VcaeAo0u_OV3* zN7%_1c2jq=KK9(G;_&hKXP$YFuPvUUXZ6S+Jz~?E9S5~6R6>uo8Sqa(Xv?^+v~=O~ zliaJd-ZAoIPhk9NnyWWQPc^8~^H}A1+l(u#XZgL&6rAc^*?mr!UHMNIM_%YGH%)~@ zU$nbA^K%!JPP}t;o*S#>`sceRCW$ldI6YN%^R0C%{pYTzxcPJ$86U8lYVB^lFpXKI zxcSnC_j&x&>?@vUDu_KUP4HYB>6YlZbaK)B*{9FPe^?dByjAsSB8LrQPsnqQH+ms0 z1&k_Rj{Ah0eNR01Lgu~2VY$QiR(rA@=}MjEKG9Rwf2}p+wVz^&W=Bh(GWeO-zN^(b z7434SW}8Zx-M*dce06KKh4b$zD!S|bJX+xHl#V?$c?`UJ&u2AF>2=i>{B+)Vg00>B zsC^u4l2bjomTUJFWowC9U(FZU89ZTcb5+-(JpH7!N$Izx#15XXyE@b3wQ9r_wohj& z<;(Ym7)G2pxXyv4h?{TDHPdAqiz1FqFg?jUz4*YFqghAG`ZY2ar2Q;lkd-K&>>zwL zIo%?=<N6t{<2rY~epz*0@V=Y-l$K)!=6pL>2i#dOQ7Lkp<fo^F^QPJaR|frD6h4J# z(i(&PQ4G(LCq=BAYVh#n^Rj}vt(T5`H*$V@y7$N&*1sC&y4Fc<91GG5Wu7hPm(e;u z_vmEquj*^nT8pMc6`iy;S*0Xjvd#E&^;KD~U#C67dS@=N-mph__m$sVSGt3@w@x~m zB4lViL-2szv$dw%W<+e+w0ax2ePMr=r@_wIN#{$RznS>#?)0+fvi{32E!kcDIzdfZ zLWbwdLA$1TFEhAYSs&b5{KHeWil^RcdC9M(kF;C@3s2m#e7sX_g<kBAxldcAQo>Rh ztCH=$`ibwF@it;&_|>Y%+po<`&iZ(w?zScCL3_h<hSx<`b8e1yIOXlhsjl1<@<rkM z^2FY~n?pNomhn7EmOWg4Hp$`E9HahCF&u|VPMkPjwLi0r^_7kD*@=yc{_3V>pFTcr zoE04?AgR)mGWl)r3dyy9SC$&By?S6mA0zXu{XD9XN4D#oS@NNJ*2-+n%vdI|945ot zc3U@!_S6NLo~yZW?w$R_WkIRk)!hxDT$~~G{Ka2QlU}{knE3e9ETdH(x6fUE;Tts1 zx`JzCdhETQYcjtI{cLdGv!Br~Wd5<HZsTk#*TZW#Cp>3a`S1I>tUa^#m~EK8ecNxx zj&$iF|L4(WizF4|%}m^W@8Ghqk7|5Vy5W3rx{_N**^|c0*F|~wt=f;wI=8rTS1j*C zkBD_12P|KBh`xx5o$}dHWqaX_r*Q`DPfvbX+U9*kSNH1i8H{fXC*RugaQ~ghZw>Zc zywVuCg;`2idIt9!-cL_HIj-9D@)P6CcNgY7X5R4q`?}V9ha#DeaBWU#xV!h2#AMGs z?%A`;Qcv>!QQ2PQkbLIbiYCbz4+F*<l}Al(N4$wwy6||j@aa0!ZL`cKn<Z}x6i(Kj z_xyF#C6xkqss7oVx0g9S31DOPPJP<ZyP!Ye*YnpQ^;?wMT>EayO7>Yw%KQpD5_mh_ zW`5S>6K>L7^LEN^4%1z`M!{OQW9rq$J5~Qg_?{`nWL*oMeKF^g6T3_Tll9dV&#$fj zbm`c(L-w-^Bv1Xi?kKzTB$MR3m=!7yYR~!awOM;cN22Dyp9Rgw?(Nlzj9H>wyGPq< zXYS)Rn}lDV!zQ+Lv{mw)ad%Z#zYr3fxqdCP;QTiqH=LKdo833ZdHKB#9etZ?4Q+R7 z-Lob|-aGv5i?!;u2x0cVHJ<OXKHr$#ATgnL`{LxuF{`rqYxC~stC^)eoZQF0)@xGq zvDb>b+58MYr`uh57nIZW{m^%9`P<7jw>LLWJn=>0%Czmfrf{}y|Kt%<^3&t%>i268 zx#(P0Y1w{m$@AqtTze+miD&w_g8Q6Z)=a}$QJTBWI!i8Awl?1V^hI>de}=@p^>>>l zX)wIA_;t-~X8y`sTLP!bo1dzy<I7I^bij7CANypZCxX{Mu3*}-O}y)MVX}cIBl|OZ z-IyJFuRU&YxOB{$&x_B|?(4D4Syzv)IjWbCxuIIl_Q$%9U$vz#2`1b+ysYAt2GbV( z+9{E_6EA$X{e5-)+r53)#8%4`8wvGZb$|Re^7JaxrJIi^v#=@{K533wdj4idUzl5m z;Yk$%+mD`&7o%?0I5mA;|NP3s-Hq)hrT#2QUS1r#Q0nY2_sW{Z=d9fhSTO(jx?a*w zdD^9ve)raAz5Zt$ZDzguBmb!Sb+2o5IB#a&Cf-$#-&cM1c1VxAr!?#C)O=luRWiKI zeO75J?`GXoxn37*?elqYKZAz6f#teSzm6S`+LpQI{e$g^lg|g)8pZ{d^LLu8tm)1T zl`c;CncS0Zq5fr&kbi>FdbR6M_jpI2wSDOG@YtO%?`M7c&%ovWQ0>t}Q4a^N4JXtu z%Y8k5^T+NtVQ02~oS9}{+J9H3_-x_Cvm(=TYjev)=KPuYda_@5vis5>>->4GMK@i3 zynRXn8#A-Xd#<%}ubzyqR4z?!Sn&ASw{;<}KkBZ(ng5{ko6NL2|Hq-a=VqELtKYhG zX5H&gja{>i&WC+e{Af1y>Ai>*W}BE6$ay55TvhP$SAN%)g=!l<-<r23q?~>Kr*&$_ zV?O-Y5%%x;j-A}cq^F#C-JkVBe^1ax2XP0!s`olZOZXlHEIIHh=WDIK%eHLm>er<K zZdXfwcCvR}x?WSh_SkIIu1lc`f}7vVS$$bu<+nulP4cu{xm$mqAJkPUT6{&ObY=SW zl8XCPnHOEP_{{Yj{%GDbQ2#Lhh^?H*z1vZSKcD}N5`F4lP<$n9?-NehL-#YU2QV90 zNFG<)Gdb*<X>8bswVQ4p-ps-pIQjk2=<Of#yL2D@JHPw#+c=}TPb=?!U3%)B@uiaY z5*6Ehwq)deY1zLuOl8xloys3gUwjk)<+nId^lI<ssF)q>`A$o|vV1Xp6jrtS{*J8~ zmrPmM4jz!3KesBkZDuj+ZX2$9Nlk8bZ=<?jq*}=BO_Y67nDolE_%^e|e+H>N4D4lo z*+<{lBtDwSbzs`ZlOpapebN)yC7<o}HT8DiA~Z8pa{5A>wqN0!+m0;RSuGbEB@{Kg zvCa0Szt`vPc!4d!Z)f&wV!Ks%Z};oSeHS^VC;EJ|U48xF<J!efGoG(@JRBA!tC_KA zuSs#MNT3h$_E0us!3)Kan+{g$9GG@v{+s#Fqqc+@H&yo<iTdj#2-R(!yZU&#>g?Gs zj!ax1(>L$yqO;BCMLXAIZTlARwnRAZ;S~9Y-`Cm1daN+X^|fBye(~Lx>d2^QmwbcC z%{RJUF5A8BYLeMmInH-?SyL-#*{xTKb{1^TD=O?#-Mr~?=*+E-3~{qRHq=Y~Y+F;+ zb$z$R-=tHA{dam>=ZgRKw>+)&f#dmFGihDVq)Od4$(tWM^v_?HX=*R}s%6HTuh}W> z7WcY8*SedYvOQxweO_#iO&32;*~(wnZO+YzUuhF{;L_9EE8>23as0gyKjry))A+ED zZMVbc-4f7gPA(~|`N_WVbxhxq>--kcGcQhT(7IS;_<Gjb%3_Vni#KoGG0!Dj=U{k$ z0&Bv>g~3PuGYCWnhg_O;?``sS#+lzHESdj2CiUOWXHkonlye<_s{SnI`F_zY*Tlt* zwmv<wUAOtre(8N%ufLSK6{Wmvaq_p`#hg1G7a8ix`7hV;-4radc1OaV<}&xkQ4<d9 z2wS`6^Q>1mrgGrX?zQE?Rujdn;^uAe)p{Ucu}(Sq!@h+kV%^qjgrc8pPHFP4zP2J= zdu8^d$a}V{92DlVpAp=ycJI&CwcLlJ^1IpRuD<`%U~|E8%iH(aHst>?($(+Xa%<&X zrQY9_c8g7yW-pJ;{Pyu^<_hg&{EQn9ysO(XlXuoWwF`elADYSE%>K5z<9gv^n>yLo z9hd(UF85iTUYPe`%aX=zYB`@Te2lgI`)t|uq-YPZr!!a`x7%7zzO?j`!bg)sk*Qk+ zcG~MHOaAJb+oI%NzRD@+W=gLWbMKPtrj?m1j?RwMi(Rg;p;wys)Ax1V0o$%UV9l?& zRB6E@((|iiz18NfbLRuRyMHbb);44~IVs$xsrDtK(Wzs;?^z~o`jVdWboHVwA9>DN zZkcx``WVCChY5~fnKq}^^QJ!QdpNQ4gx_Mjt4DuqI>cM3lcS@bdU=LV%xQU^13d!e zOa^vSGZ|ki$82)>`y$}}p*tnNf>ZbH-+ODD5aSk^zMa2*htH1Hi8Nc#p1aCCecEx! zZ)XkH%({B_UU_rXoT)_x{E4ASDVbUJw{(lYW&ddV7RNLpq%q=kj$<;DfpQbm<>T#N zj!x5D^K{z7`^;=%x;wtUzqISeno^E6ACyWsPbSrUSU9QZ+qGAl-L4z%V|-d^KezO} z(v6%5ePtJAYyW#}tDNl4ocJuf@#JCQ8^5lIuTFZk$(MhY<1Kl+wj~^YcIZi;-F3xV ze}#p;V`$ptH$E+$DRT`xzI{8(nYip{Us?{|!Ce~fgJSOfs5)iDeX{95s^tQoQx$I) zy8OK?Z}8UU)4peOMO!EKMr8;^3jgT0lzX(&_S7A*Z0$&upt_G1%cozN>*BGJ?ego- z<_pxexQNfX?<XDq=A-&=_vH_?vdb>}v%Tef*L~n<!q&FM)&l3b4WDNhZS{+lDhM+% z=;XH!Utl+Lt$?iS-LsvQL7GM{FIJVV(M+G5!QuArr^SliZOe9cZqt@225r?0_S<bS z@oDguKc}}(c9u$+;4IS>_|EJUo8#SM>{-{Q2VTxS**i0ZeL?VN=KB*P+0K@UaL)5) za*runadz(&)fBO~Km|GbxoLqLdH>CNyZclcdt=|u)%t~b^UW?LACL_Fx#I<Is!Dl| z_pXj(j>%tFua-$<n3T}y&rsx-AsPBry5V-Rj<}_=<l~ot2g`NxpWoF#KdC|{dE>7u zuhWJ0pEaD)5M5|-ysGDHUO=8)f~{MHT#FP#pXWN&fTP=UEp^y9*|)l#S6*Q(n#Rz3 zc>l86SIMGF)St0NFkhL(vEtB6q5bdIxdghIpFGGIQsntQj3u|;gjIHuk-|Z)<9$<S z7OsjByVbSaW^&JCTf-Rr#;v`|$EEIf+PJ30yfi%jB(nXSstbd-{0E)uB^M409&)>s z(#I|ndh7PYS`X#jpYEL0dnvt>X>0PH&kJ=XoLEx8=l)8=d(&C1BTcHU4aeCn-}~go zJ+Az$D46@WK;o`z*N&U())}qVYDh{5DOoLiCNFo}Ofj>&yKOm`|74pz`{aE|bprq0 zC(IYNWqD_FXU;CP-ek#gIYU~T^JZPe0hMy)23ud7J1TeD?=1hlZ|d@*3pdxDc=TB) zhV7up(OLIcJ|%Cq*P0L`=kPYb(I;!86H6i6gh`(15*+Mbmajc~W&zW}^G^QG^S&l| zCs%z`(z}v+tH|nahE&Q#i>|<zmm9l$c%ILzE~~Cwa&JX>t{<DN7RT3awF1@NQ|5uq z6QkXIH@otL&g>RCTrTbJBeh(`P)s#|q4(2;_QJ{Ww~8*T<gkz_Ilk7_<h-)7%M-<( z#P*nZS3c%$H7{DaQ~9-TSkmEB(oGD8eRHlJaoP6qj?9)#If0k=WykEF&c(x~Q#kMI zdG6?b^AsM5jp{rFY_(b2mactKCwA#wjpL*0i}~p}z1!{YA7`lb4Hnk;ar^kL^2RSW zw@QDN%aGXC{$uIn?V?Zbv48m9`6qSt`lI=>hs53#re<oKpJHux`B>rGqltfvKP;Iq zYC7|u`j203v3B>|Vy(_4h4hq6mgRF-+Sgk>+m&mxSD475#f)>eURo+u_jd2|ADoJ_ zn(o|*={IxSlAGAvKjSO=#$~lL50<zxZk+S$(XvXNSeL+*jYXVq`=i>Vw>q3!GA+-+ zc4Ne65mzQp&6Lp8<es#Ne?ESXSQvaI^rp(rbj=+CHx7PZwJ9=Y<>zR|h{W@WLC!K8 z&$s#8u%7$m`DA`p{w@8*=jXlDGWQP*P5<q+q1PvcZ|3<|S({E*yx&$D67xaS^ZZWJ zB`#5!PbPj;-5^~d`OenYG{sZ-lWNO@^huWLuYJ=B{65tMAN;m7y7#7Eao^X3$lD?d z%NGP+FtBxalcoQqfI~2s<x|y@Uso+tx?(r3=3Ve4;q$~G@$z$zHo6}_bJy~1<OWXl z4XL;8Y`0`@JX-wg-$uEa%S1K>UB2_yHEzH5oRnItXIt}>duJ?utN3a6`MYvok7T-j z-CL72-67}F)rFnKpFEqd%U@c+ci;WDTxTL{@2vLN<>wNNZl70qzW&-4<y~z)e|E&k zr1#anT4ZGXbA@Ql;bRvYJz_gm+$5OW&U>wxtQc{-$I$ml|4h!u>U*8SERG#0Y`jov z-)lR|$g@<Tu%|>mD$V%1rD>STx;MKmlM3(eHFI|mUEKd}p67f2)K8tMtn>F-B`vhy z%h&pCqYU%C$qqhE9A+EYwdeePa<#FLrA2@0BuD#dNv0JZ*FL&`oBi_W7VmT4f6tK3 zK2+-8Ep@!Z^rnsBhkFP0<kd9w%~J*aKkC=aUusoyXI?`!-^Rz>yi69UR~UH>ZwvUv zHhdF}cD?@oYlfb_Udc+6r!#K`#!m{i5&N#R!K9wy&P$>C%-7}ex1uJb*jt{`v$U=* zj6L$qy=?Ae)gQ0BE~-Q&O0qg0^V5pXzi)l~)20T$=r)!zxnrvsyv&P?3bY&>W|vK4 zU%%qlg_Ef*Gn*a?q)aHVkDBE9xNx#W{~RX1tPKZm-F#8`T~wy0ykDVF>XXHL50}0m zr;~jW36EB7X_RJ{`8BU%b(*63d+&z31^c#!Wmng%bEx?|r})bP4x8Javdce-h(0j) znHXew&)d7nLGHn?ARWW?cO}l}dwGV6={{)-x^d`t0JFe`-;1BV_nEkGW=&gKTy=r} zg)6OX_mbuA?fAazxYEOi+U@<%PJXeQa*62(V@m9jX+J%mua`BByzDJ9`Nn}KGncrP zIao@(51Y`tTUx>BEBnUxkwHFg`-R^zCbldnD89B*!A#0Kc8zk_oj2TUFOQ~W?ONN` zm}s`S?A1xBx4w&~PxyP4;j87N^;^0aGR2vt8{Qo#7d?7%*_|KDgPH@bJdVz`7E5a~ zJfUYLWLx{%rQ!62lIZgSuP#)aKUQGWV?H_KhLYKv8~?r;#!dQkT1ltBi7iBZ{W4#t zq|f}y+<ius&nAkgPF>v7X|Q+K^LwlQGB_BloqOctjN|sP%Vu3zwEUFp+}R3cp<nF2 zDze*aPq8i1Of25oG3Dgs`~Alzyfc1Qc<AkMi}yz@&N<8I%eJ~d%}d-l%d`08%OAm0 zw&eca++@AoCg4I0x86tlQ_Q?OR$MPT&OXIL@|{+oOky8r=_|(<{wtQmUYab_c*0Uv z+hE6wLye!3EuYkPtk6sP)UYE&^QrK(w`ZB(6dX(4H8DxBXY+P;=8fOioBX?ZWl!;n zJ1=j!&*Yn6B<0uIHE*@wnI-Oz|0dm!{;+KGqR2-PXLK%~ycp8gARlv${mrZ6|3rJr zp2%K2b@B_t_jRj}-%6b~^TXz-wv$XVa%Xn)?<uHM`8DhO57|ZM7uDEpoAhMv_a8eL zzHl8@+V%2316$nEqc=^e7K<l@`u$yyF1y#*&vP+LQO(iE?C)mvNnCT@Vs~xA7h66{ zcGH7D`j6X%oL^i~b~FF0&=Mx&O=joJ&9@f2y?5bwxz)GY>*D>I>)Pc7hi6=W|Dd>Q z=@Px=^(*FP2hKjxo+)svFEr$f`jxA`>WAJYT+G_F%C&gqnVm`D+Hwz1O8(Ve5#V@w zLz!GNL-M6nN5#7I0w?4+&grj`RGRXp!0ana&nGS6Nw3WEbvT)qT1IHG`IuFwODtik zOp#e}@=e{8;tA}h{B6pX^f_+N7V<c$eEDUtqT-QPb}#<&G8o1^){$|4y4+H}qJOE! zy4}us2W&oumM140{5+g8Kk#LcrgXo|<T+Jo4LTlOH@SZD7*sslT-y7e;l}lf7>(Yx zs-CMCBsRv#JXe;R8XVA@x8>$Str)%N<_ld6D;FK=TpZ~xlEk=K)jzI!{@TnVyBnR4 zSyf5(=_{^P%-`|UXvufEwuyHueDD0?o0`FS^|Ae{PsiU)ddz!#ug58Kr6LB&$1A_D zI`OKwO}Fpa)L8-dQqtKa&d1qmnmDHfN4q(#Uas)`ndLd#?A{-}MT(bm)<}l>o@s1+ z;UP0IcH^YV%`zEFe+wU%eSQ3&&Z}*KudG~`Y^t2(^vs<hG0@?K|Gtcj75myfm)wny zvE94G;m_O7DIZn~JQ1F^bG>Wp1+kF87nWbv%m1i+RBbPk^;uzO_Ob?!Z^ktn7d+8e zA2sp4l&8YxHrpjd$D3?3i)KY^nbcaW+>$76U%lenDl4y<<*&>Y%cdoGK3QSQr_J@r zrSIaJ2U-U!%jGL%zOb#id2jZKniGki$~D4dJ7xbfNM&X@`Uh^iW;*-Dn;7;D{gQ>p z{xf{@-?%m+u}`ETSK*UV*h7zl60dBJM)nDds28ZGRk$6Nd+=!Cm1VQIO^T=ec4wSX zd;j>a%Lxv@=H)I+3s@M=-PiK_dP7a>rs#eK-76E*3iXA`W9BtnU-hc0b?p?*q_jRy z$*IZxn^Qg&zm2Q@I63n2TN}f|2S2Z$+Lb2c_MhR<of5W<D;K*eKi=_GY3Dpiw;$6J zmDl;NEsvA^=(CHn?N^YYz}?+ji=y;8?KXVMoEG?Q#@us;lN{a$bkv>u=d%B$AY1Ar z^9MX-XUp#Da(8~2f2=mAqWjP;|IU+<lBa|UUszw4{qR0wQm$>zn!sz>%N3jEw6O1x zn>w>})xE6yd~d&WpN`+G!uxyO?<pnLtL&RERmz!(@!XJ$w3(Cec-En*cCM$o0zH0l zAN;j$Y3AZ=vF+l9d#-65Q!8vbB6xgnrS*?lpF&%o%sKgYsd7>Ogx)u{+SSfe?pIta znK|RM$Yiks{(C|7>%E@WWG+#$7t&q3C8Paj&YV-q=Uwym{JL;&*{V!yS(B<Hwatl{ z!qatLyo>Iclm7Gi*2C-FN?W&H(VgMQ^;EiyBk}Ev>=QNSx*tED5w5gepe|{lz*MWf z<Kx^fp6i&_u;iVVcym~EZp3}JaKo!nj)gLl@2NOFdY1O~*p>4P)z=eQ_h<@EJk83z zcSGfOrk!V1-|qP-7wL6u<@NQB*Cy!(S&Axdn_+x%Zp$1V;VaK}KIv4tQWLuLMU?H` z$96xLo_5((vv%TzSxX=G7M*vwpqsyycYD;db+P-xPOr(U60qApwZi>~qu$yw-FJG0 zMjlDG|JVn|Oq=;wSNqVcCHeKaHg838B@{bD^F!JHXv-%rR-7$oamkdQ@5iK1$L>@L z3T#qOVce<kOD<dg@Ff3bS%opNE@~5Fd?otXExxSz&mj0?)9IiOcaNQXIw|wqe}*|V zXV3f0_xk*o`^a>$RJ|v2k5B(ze53rB_I6(1PdD1O*qyv=Q~2n8=h^yYnPKZwrp>Oq z@XF$r?XI-#UwzGv`+wMSOLvRB?Y)RSGe2{e=lsn+ZzomJ9{y2w$+TO^($bk%(p(Ph zo_uB2ogXvnS7cnDl{<g_&Xkr7I?jgN-#0lvw)?tjQ_XUlY0LZLU*9@5IYYVY<)MYQ z3>LiAs=l_r)lN}w^}3TQUvHFNy2)YT^*L2SwyV3Zm~uy-&fXHnGSA)i_w`wsyQbdj zRJj<rv-R1r?=q|F<j?IAx}4;<`;qLW*t>UQ*@SeCY&dY>`J6{Pbj>vNHZraIyjl6v zN>kse&q2DPXPlg72An=t&$V{ZE3TJ1hCa#@MH=io9<SpSQ*&1~&@Omb{K-txpGE3b z{Wi5+z4tydzq1E!R#yn~Imt8KUu$EX+o!w5@81WS_+8$#Lf-I%dY?whl%#kAHg*Y# zrL2qV4I|oQ!X|91xMR}jA%FMfkE`xIo#pA=FC$MjXiqqL@c7=y$N(83O`8pS4Gw&< zSY~uwIsen4i3blnHf6c9=iJhYbL{o?S!*?QW(T?Y>#L-%{I;?=>E^{<!t)Cw<<f4~ z8wH>HyT3g-tV>e))QvlJ?`^`;zNP0rs9D~BY>V2-m&cbnitaSZ3*fZ%jXjYp$Smh~ z=W^SdH$BboYPC}14GOQwB)@dgeC8o*=_6<Tb>)=Kw5^+tBuy|>{=K&E-<PW_lQ>UA zO)f~>=qBEOY1Q9#H=~oL-Lp=9YI<IYa|x%C#yzfMo^m%|`%ZDsm6P2z?Md3Adn&92 zZ0`<D`;>mOT{3o|U+vx(U5cB<qC0wKvKahlNWZrD?u3<>=UiEtBe~?$^dz~(YkhRj zIn7(VG+)H`v}^;jO~^@ZABMQQ#XfD<Vm8z{yweV2+1}6Snf5;F6YHr*O36v$tQE)C zTIw{n3NW8D;yA{?eQW00yVGa6Y^<CYae}?Cw%6^}nibK-3^Pw@$d}YsUp>|>oLYKW z-S^?Cb^m5Q2wBN-cXJcN^ZyKML!Mo|`d!T5;G4?hS?7Ldd$7Hqx|eZX$EA19X|Hk= z=PZz}YIgF?n{U-1eSczve4c_a^QR3*L$d$WOR$uEUHjNkpiKUjmW7Ye$2lK=hH|fU zw=|Yn@q#_^o%MCI>qpiZu!j8(W<HuNW5rzf)h^27MrCI28tbdfHAa4)j(oSjw&}@q zn+Mfbi|!aRes}ZV8n5J#ak_lY=a5^ucl`__*A_`HJnQ~kZi>aEo4L;<erBz<wEY-* z_pj#ePaMi?Et=GMikmpTfBhA*u)*%}#L(uFpPjc1?52n-%{abhW*OUZBPIqJsk1h7 zuPp3X&~$m@QIqYW;f2XBgEZe?Ymnb9a>&7YWu^M<y%BwPmprWM@^f9{+;FFEORpsJ zjcYAsJ?=~6+78Z0mOQ^US!*TFv!0yzjNoA1HFK}+YTIOXB65*#-xY7J<1N#<=ehB( zH$AWQf+u55r@fhLrgOFs?`}u7bvll1Pc2vPh&bRDx9{rYRW}5k)1~@%ACKxhv{1ED zw7l+G>f0MvHE*-bYg;~tOI)09&oQGcj=OVmOEmmfu4brgnIHG%Nu#yC<$04B&IJu8 z3XV%ip0oGb+1j%zo&9H5*8VA{PG2Z;U+Z=~cV~lQ;Q7MIU)C&9JH0P|lG!##o6pzT zR_#5-xT8e&)zZ@j3Wf*2ukts$sye%?&%x(H=BAntMIj0N0a^RXou59RdwY}C!g)6Q z_Za+N``>XlU6NpQA&Jj$)-292OVJzi?6nqb-odi)wnvH<(^tE%t2)HE>%Le%N&hoz zYLwCaz3c@qT+@wrN{2H|vAa0!3BT96po>ZGd4-pM-}N_hSNfTYD{VhFhNjFeddJ@X z`P!NrmYo3)m?9D`=6XLfFHPKGP&210Tv(rX`?bC7p&=!`;Tz8Ht9{+HJ9d*`w4>yS zMeZt9!5j?LmuELclrQV6T-Pzlp!v>a<9Smx56drgpExIJtFV;F*R!UL%b#DG<)QF+ z<-!S`lE;kiZC%X3yY}8D<pavH{~6}y9+eXid%oZFya~(c$vyuW_`P-tq{SX&W3T(q z(Ce~_<7IH(ap$flvluVsJejvYYTc4mZ`nl+t#`=$z97QKFWQ_C#&P5cW7kxX$;Y#% zxX&?Q?0EY+c+n##6(-|5rA$lMT`&CAlnTrEc7l;<&f!e0{)w+&2c|YpRS~@1#nz^s z+)x+qHB-`O#>=DOpT$+GLOh<>GYH<fS~M+tn)K8H2IloYE^Rqwz*ih{^=5~3(ebSY z8+8vJ->WX5zra;pg5h(3{{{x($**sO7ClKxx7*^n^Uez8f2@~Ug(^MfD;bIJkIE8H zT3X+d5b|E8LEu61K7LUXCDR1^w)q-GeeN%09{lE-vB-|CJmKG#-44MUp3RhIRaee5 zHF7-VwVdnr4u!`ez2B?8JX@N)$=;x+Yh9}TZsrWrZpS3se~Z@|_ue&dUn|`yuW;6F zX@gy&<@uN4B5Iun&&N%<K0V+0X9!!yl(*{af4;8lU38}7kc0W>pJ8_vTsWTa%HK_t zVNz;cz@~XWSMHhC+hm)$IAZUtgUU&clRtf3wn*lPf#bJjpE{3KrFWg%;jfnx_K$gD zSj?tn=5@7MQ_r6E5-!(SEK^l|?Su1fl|6g2m*2bCa(v;M$_VZB!qX+PD?f?xtl+;V zxq`Xq_RjPESueYU9ptl9zWxi1?N?i?k~(!Mb3@_$s@Cx0KX<M!QMUYbwT|QNr8Qnl zBb)gg|7h)dcX!nq*54VY|6cI3n(r7DptYId{DyLiH8)gKe-{6^Hbuek(APE3OuF?N zCU1Ynv_O0Q?3JRap?%5r!TwqfT7`Z4zMea+tu^6l!UC3Do36YIZyX*3@!k3Rj@92l zOxj3mbJ3B{LDpL)Gx?RRv*(IftgJjKeErghh{gA}Oq^isd4lU;YMwxSYh)k)V+ZE) z?<<ujynk9?`1P!Ze5U1#EGfl>AKsp3>)3JJ?y7)RW23$11HP#;(|P55YM8Iz+q`7X z<VnRLi<By7I_4c(xjUur$1;;sbsrxsN_Uey$C@+Yo%+m4r|es<oVa=JVMwFp9W6)o zWFOb5Gn1yDIaYX#Uuo5eo2oP3vR_`x_h4;E+IiUw#xp-xs3h^ZN6ihkkY!aqbVUAA zgGNzi7oTzXJWh{ri(3}QtCC&9x3X$XX;51pdSH3W*X57d){4~szxXpy%v8CD?eTwx zb-un+EJFhdkGU3avpPEU(PG;>SrN>Qw_kVN2u}_8xPg2A9(R^-Zr5pD6Y7G0UfTCi zBJS;-vL&BeR;k3)%&E;xnP}E<PP{8h=%V;7N%pC2zaBUHM$Ue>IM4RLm+y<u@GQ?{ zx8=3ZTAlCs*^E(nZ<OMlB7Wm1cZAjVnrPhKVxUm?<I+kAjR#GBh1cdvZF+Yr^z+H{ z5^`5~4Oh$EnRIid$YOI1$%4uiXAawI{JNy=Sy;-u$A#5Wud4OewX}(9y=MyN8&9g$ znB=*?>^WoA#6AzXFT1@q^R#hzoL^^sMeygRV{6qIBoBN$%d8gZRu{ZwdxCXs)|K|; zx)1Nqu?em6-I5cc&SQDtMV9WT+Z!{T8LZ?i<-Y1RR{m+KP!+%Mb=msK6L+3uzj9rD zMa6c9%iLSP%-(<F#J|$#yQUx0wPbc(6fx8DRfO<~HMf~>&s}?2<;nWB0lTl3WNZ96 zefq?L2M=Q&%=&q7PwGeg_~~i0^Pe24ZhgV)GoROVZ&=vwkFKA$&#(&(KGpXpctgyW z+T=&;+e*$Xnz~~G&m*IV`G<By?o+IoedPD!5AP;x=^01`1p4ncz4@c~;eUqKEfI4U zZ20YaP+7>UxTiMz!sJtpW<NbdN<w4mwJvE2-F$FuKF^-qN1kGj<7YT?mxUddkGa0^ zNBP6&ZC|*9ww0|^Id?NNUgzhR=UdBqOJ+A)J!fVRDzN8TY5MzXE8DvR<-e{wIqA5H z-)vKA4XNtW41fEi;ksbU`8@yUk!inPxpExNs}Ad3BJ9_Cv1q~PE+3Z#J~wV_l;<_> z_~W@IZO$Fvr@S{<Rw_&|(oXw!FT!l4|CF9*J6GQgy6@3%_)Ii;a$nKiv*`+^x+yzd ziunG>F!))>eXT52b(Jgb`0JkaIlEs(lDSgr{p*J8jw?2vYhzDc%>4GQtn|dmUm-X6 zYig5y85%X5Uq^^bJ)2Ox@1xNk!CiayU3U4{x16K$xyQug3i`^oUx#h^&(O}Dscd`M zQ|VOEo8v!&h25j|yZ+dwt-0*g=U-5{MtXh6FPG||OY9SOF>jgpE9_N;{h@$~`>xI@ zPyQ#mJXO5yjZE#N8*RbIo}Q4OYjQH<;q|DGW=m@B8eMRnXTCupH2Xg9kJFJYN9$KC z@u<{l{&{`b-5=9VU31KN&axu^?uui!{Ch*aSLii+=L;XQl}VUiwR(fk&&5$6*p@H% z_!zzY)&cvP4|WT}Ig1l*cUCNyi|(5fe$(i*VvtI2`~`zYJMx7y1+&6V?F(AHtaz)# z*{CC1E^REF_~}WGh`^F*GQ$5EuCLXOoGW8xtr^50wR`o;>0;Y;IlA-s^BQWiC5&Be zB+g%2cH7zIe8GqFz5f|DPd$1{GIWE;yzaiQF9Uv@Iv%iZ+qTPZXJzU!s;rmhc$59~ zHg`+V?p@ziK6ZVz=gtaTwoqoFx22-nsY4;_SI9fw$O=9=Lr>RcY21_Nrt8kE<|=+w z`E6a*z0&FBlUmQXut^>~zt_8Z#UtHKE{ebATsK)!s--^R$1dyjZ<k(CN)0VCind`W zjys>Ya&hK|bQK1(iI+tm{ZqV>xNG*CJMCf84)W)Az14ibXG+ebt_6%Ys;^!t_vDL~ z>-@X^>4&~kbyK}!D>{NA<)0-LwXZD>^m?tK@;-3Vant8@Iv*7sF1$Qk)80_rpsngF zX=qdV$ZU7%CO7?QFZfUGkNWuXP0y-xi=XLKab0f;Op<%_^_pkw&XXrpeub1>@0Pi2 z)DW`R+}0}GCwgm_MdZbaeU?f~`;BrxUD^3X*4OK-=yAi9$89Ur=U43(eR4tl-Qoz3 z#|2ORX8ml~o3Z%_W3{tP^2)5Q_3gL5Sfwob_2l0x+f(*ZA9t=_mltj9b*}oC{Gp}W zr-jyUZgMzQ^<`z%YQ``7mVYcecIf7$TMvFNc%biiwz6*NN9ChcCpGiS5*xl+zS8>7 z&}=93;+~3Up8mT%`*n+VZ?t?l>&sp1hyKkECzq^LS=IbrewY6;ZBAFEH#NWWzf~;# z`83z5=AC5Gop}{!OM`w)K3aZFKVe!>^lIMS6B4F=S-<$rAL$3TS;DtozOdtcPw>2J z$8K(B$repLo2J%3Y4+h?caLyBx#icl^L#+oq)e-uldNMmZE1PHaAeN!>(`>DEKSfC ze%yR%&+f2I)xKP}gObAXt(z<qJ>N&yrl0WmG<!c^_5@?+YLRA(CmR{Uj!j&gWvsP^ z@6C?alMV>Jj%%&EpSd@Ct6kA1ja&XQeA(HDE=NcEs{~H)IpKHi@aqV_&D)M{p4oiJ zs^s<VupLw5FX{Bmy1)4Yd)pGlWOHLCHgCh9ncuIQH&s`x@d%&WHL23RVcl=Pi=~^> zI(G&$^ZlLuIwn-@U3&4v{|v2_4=s2msjfb))x4drF8S@*nx8A9X7l<zaq1Pjrr@^t z-Q#Qf_U4*B_7gl^SSmB~{Hf*7CEjH}*X~H#`_cDC=YNKB!_>Tb!&$EmZZ9vI^eXp{ z&F50-70c#1T|2Ct`6Bvd)I61~?atTNN(Cu<FFxnSVESyA-@03D3v?bNu;h8od7_uS z{o}W-`72%&+`Bb@tM3Fh%f!BA>$XJA+ID2e?z=g~{}}`l3fi7BhD?9v!(bk!6Loa% zx|Us~8}ti}9)-OSneQKU=-OAcD~Ua)A|x*8nU}BWu3hsuY0j6ECeaI|Zq?0H`Bb~W z@bOd8FVowvU9+{idC&FiETMxtWQv>nqdxN5>8qWMov~_hlf(PC*_DOag-fF{wsD2k zI)&=}Jf<XDl+EL}jd}XC$gjSMrs|FiduOLln`_p5ZR?*x75zuvxk@UWG8%UAHKj{_ ztAFcTaP8X<ftL(ZOWrqLnDt!u;jVojS<20WDvvy1{;O58_gL?H&iG#a_)4WmxyvVC zsLjs$9x&_S(j6(c7H;1tUtU_dZ@KER>FdvJ`_J&{;-NX;;{IG;_+w_`mP-juH@D4R zad=W~R+iVNojK1+B-qwJx*_MP&cEYVuI$+=ze$HfKR&&BdHdY#)K6~yjBZxpk`J;| z#AYqqTEh1tNn4DM(N=R-c;}-J$GTVFw>w-}w4*iU`Ln#`a#yGNS9^3k{FA>*_di2t zsj7}-?)<C=&-=4({7C!gxOVH=b6!3(xt2e(uHyf=UNuuKEqnL;uaiF=UslicevkC3 zbrbCFgr-(p-5|Z(^xng)m?g63drA+Noz2ZFSo-OJ%wzVYRr3#?2smzgLtcC3E!)-4 zPS0MfvM=vW?UH#`6MSnOKdkxN?_3s=W_Y}RO1jGTHJX>dGkkd-xZ%X&d|U0Q*G>61 zdL?yC{*>DP-GArW$WmVaQ@8q`vK?n-b69WmanG;TV@uOhbB(9%EQrtlsPT%|Qt9G_ z+C>ptq_flV@5S1Ef4t&sxmE0uOu<i6+{7jGo_}0#az(HA+(MZQuB9t(Hy_V>G4Jn! zOUgZp!PC+v+sHexCTlgDZ;cna@#4VU(_8oSY<#YD^|S4@RW|9X{xckMT)od^b(&%# zJL?R&9j4Al?G$%iE7gDVx}2NGQm5+Ox3%@$6<OCqcX;ofovFL!g?K^S&cr|Nzrx)& zeXpD$SkWGAb#CgebN4)S-k!WA>A_HExApc9_QSI}Kb+mRuyB>c+I&aDqmsu@S#Mk= zr*Zw!JhN?<70Qf)3=h`(xmtVV3uSE!jEc0%+*M<*<re(x`1WPla%GEC^pfL4_I`M} zQQ+^yt=>}}MmCm;#yfoQ|DzhUIZNt{;o*$ct$iv7A78odnEr6f<u#kRRvZ?Jm=`f? z=i-yaJiQ{pR;z^;|6cvN>s<KL3*lN7OEUM#UP!*Q<*unx8>e%AoW%2cd;T*V5TAJd zBU9${9Bsur{uXQRcM6?n>*MK*v6&&ar0?tV`8>-%*CgkkKXo%)ZOgLtu6NRR*F;>) zS@_}1wQWH^TaR5hQ273AQ9N@(b>~bal`ZND!ab8i?DX#{oy|_p3m39;>VLO3r9$i4 z=it8Qej6s-mR@#z2EW&_mRz?3H(zZR%$76%=(5r3rxn{&1EGckKQ}dBz7wAMk*`wN zW&5SX(mq8aEwzXDcZgJ!9~P`A_vv@tIAbI4zDSjv%{!mW`gp$EPPN)z@aVEAr}T=8 z(OTs~f2S~>D~{EAyJQ!y^<Mr37fbF+X{>R1t=Y)*mi<S^yR0L@ap%0(1g=`|RCS&A z;qKh1&mMixBOBax7J9J1=c&4$qtX>2Zh7G0-+HdLaKq(1Wxp4G4pS{C@~ca;T^UyT zS+9a&rsXO_*Q7kbZ8|*+2l5ttvyaNYwK6iQ@<gi2HsfPep(>tBW#3MiBKbsP@p_r0 z`F~fYN-}XOPI%5`c+z&0_M~Z-{jF!5*4Z6ysm%N`RN<3n@K#55<%}m)#jiuyqyH`} zxxCx2OWLBiLE`atlgn%Gv3|Pl|J#lK!{eoCE<K-^9=tnYk-x{SYSv4o&AD%N{1k(# zn44UkQ;Q|@SKZzAf^F6XF$u+v6X!2no$Xz{NltUF2+M(x=XO_Xdy;iLPrUN4KQ{9j zPnyP`h4XfvtGAlnJ)_Io<n-nZd=D6AykIZNDpc$;Xx-L0!B+E>--RD{qMQ4cEx5wE zbng0F@0r%_aWB-Vdnx-O@l56MUcLHlTldNzKEdf?mwN6VM?iJs>$qtXW(SH$RV`>! zJ(Q==BDeV7p7#$w-@f-_cJxP+6=_`#LgLC#Q;u8wd416^rR7bB>%5ASkET!f*?lkM zh|!Y9@`+7VzbE@f%CPskc|I;r4CTE#=fy<Mt~ZvJ&L>v7e9YJCbFe?eu6~=X_wbC% z5iQNn*ere-GOt{5hVPlht$^KrPS4pzWzrrc{0o|DSo^@=|KDEId)BSLd*9C6xjd<R z#Ri=prAlt^q?JD}i;d9<>Ud~5dAUvh+7RO{94myY^-nQKKKXU^w)f%r`oY^>CC)wl z`eku~w&Jw-d->&wpC<8%Esx)Nq){M;dGh4RlcUn#_$9a9ZPFI1D$tUgc4gVqoszN+ zvbCQwdyRHfw{q>?&OFDw`1Pz{+e>%cWsjUup8l@+veF{wq@{tXT2KC7DE@Kf!nWDU z|2}?luX(y}ij-R9Z<X_Ae|I~rdr+M=Cw)uLg5A~&1Dq35Ccg~}{NQwJ*@wdo$0rBg zS^K0_PflY|@39NaY)=BjweP$Z+u+K7bCW3F-3B2J+gqE@w7K5TaTa?bcVqP@=^rO= zOZ6~+dXPM8QO-MarDKnb!dc82(i-_JEkE7Slu%cn9Cj&b&kmjCE7;}N2F3He`tFn3 z<x=AI#^J2WJ=rS{LZ>~;(OKgdk~39q*}`dk&2P(A?@aBi*>>!LyiVPg?YFLI?$n*w zy&!N7-~8U9?!^*wRVo>870>w>x`J!V{yh^7s?!$v?AXxt_w3m#L2U_<ULwH<Y#rZ5 z72NH7RNfl7XW2oP;*dA*uCdKiTB%rm$HBJUan`N2mnsKa%~+ov`u<Dm<fe;$$|mOo z4kU#?E-suLdiiwYER}AZod;hn{?D*JDmW(oj>~D`w$PJ|8w{#bu3MRME{vVzy1h8} z&hn?a_h+5m>~c16hmvN{#RqfvX7?9mwQM-5cfsw7%r@(PCO=ENPbmK85vxmTob>ZC z`>X|<?w&EaP+7P>=j*DSzLRI~wG&vGC7=C#<pGKJp(*>?@+V5{V4m}VeXC)YQf1LR z{<{({{P#v{ORd^%Wb}CZ*Ja)l+2=I~%I;dsQ)0VPdFR9_yIeN8L}we91i!F-bz=AB zM-zLx4(>S2IF<e0JoTMr5&OcL%O1~TtIhUU7_)MJN$2l1di*9AZX6T%{cOJJ-haiS z2acBpe(I}wHgVyO@Qlclyv>ulZfVS(7Qh)|DQ#Zzeojc?*25ZH?CUNc{PSw@fis7c z)h{sjuQxf+urf5?Z@JovN#7@``Q6#Ze}>(Z+gYUEs7<G;`K&|o?k>+oJ@PsmEZHTG z@6~(hZp37GGW7Y&v(5~a3<bMAbT9As+9+`E_ko}8D)ND$drq30-I&o}d}6t?vADj% zr>Tv9UNT4)Elu5)o*Dm4A<^)KW@^UM+6fEeZpgAK?A_Me<!k5hg1^{XBf4Md`uU9d zo+*;&uUw7bYS`U$dxOAZx&2;ScwX(+y?!RiF+cH@R>WEto&OAbKTj_YvSeDvdBpt* z!%9{M+s4IHxOTf8STcFe?~rbpH1S)Kp2x3rB_Ex<b?TJD^UhtF!3-1IzC96TUMSbL zgndtSMUkUS!*ctX%ao=SMQq?RKEBmk=7P|{aGCTQm!m2cH3sDWzNyl8Y;Hq{8;gPs z<1A*U$JMfZbuW*zi?lsGSh09pdaC5zH(8cbz8tP;FtBa3?N!j_e7kI>kSB-!p;e#U ztY>w3qzKNGw_soKraHv%&_w$gt3P|V8CZq<%jsg$EAT76l76j0)Kkav;S|<`uZsPI znGE)3PI|iOhRze2iPt}@x*(Y+X0N2Y(aqeP-S!33-IM#y>An?u+-ELR9BfnWF)`28 zy?~qlVL<JxO?%oj1vm9n*gO6+P4G6^cxa;R?z(U9clVvL^=0;vvfQ9@PX0=f;ai_c z-i>X7oei(pmqrDo7E7??SlI4dR>=`_-1?1ehfSRc|BRJNX9}Nc8Knp;Uy=ACE4Z*= zS>y!;%cuS-RbBP(X3kt_8Ir?%+2pyy3bqGQ&U1G>-7m#FW5MQFqxZL#_AAWa+k7K* z+O7!+B1u)b=U-{6gs^%U-eKorXPWg|GbB1e%Ax3XFRNlyW_Z?&({@(RThDsxKHZaH zbM-U7PZ{%_E3Ek^xRlv^QroIRn$)yJccw`uxI23;(7AojU8hyamY-{D>f<X+d8ZV0 zdy>^wIe(kcC0)bBSHx!V>+(JAPGhl8{5p*9YBP%(J^x(Sf9`Q~au1*3tZ8@kTlXEE zGc|t?zfbyB>r;Cfg({|VSx%6P`F&Bv{7Gxjwbv4_8xB01+SXlgJMN&i)tzk@_Ul=t z{F<e*=h~r4zMz=$cUr6V9=n#^c|$+3Z~4~H>b;S9qGG1gWC|Rgn{@45)Lq9>sm$vB z-Mwo2t`yZLaq$fnYfhJ6QQp#a|BPZodg*!9&aYoquYYz#DE!HabL=tmt2lEiy}!=Z z&U<Cpd-xZZXa4e@^|SM0%$b>0=2y*}9jtO<cTY-D{ZfHDo?H($`h46`<nUGG9mlyy zZpE|)msS3OCs!`oy5+EE@6!(ljXyoUwC3G*9h+^Lv7Po7kLN9$(_J8Ay2e|X=hJZp zF6W#{F(x-V_;nPlLz3q`2##Ia@vhN`<K(v$4|neg?=js!FExolg1NuyN+nnBj7W|P zJzEl<c78W8@|tijW?jvZ1K(c%3celKyWM5sVf|2>{%aGLPn{t#Md_<d@fTBRN0BD? zNeN~XiumuTEjnOx-$`7~?~%KuOfb*1<9a8z8eZQuKg&_7W??_W_vd9=g-=!NQZ8w= zt2FGHXS*tgS?sYNgOxyRo2cW<R~}zi-CkODTOeNlJ%iQrD_5qyOu4k=lECaX<37LI ztY6X5#}&*jujz8*t2i3fX{6D;IAejQ)WhP_MVxkDr`&4Es@Xk#y5$M3of4)id8R%8 zUTjjW#1nnShDUDk>#&FOeUl9uudL}X*z0F}jyJT^c#Xp4XMHZwm5~$L?zwTYZ#bW| zA@{*&jwYeCe=nbwx}l#F{#Vc^hQZTjf~}TH?Yb1s;}YuY>bCOmWWG7n(Y3m!$9tu1 z?P~Wk<?RLAK8ef`m6<guVB_3NPUlp9cFJw}u{FYZ-;V=fPDcKcOIRiEd9vM@efk`G z%&haDR5usyie2X9&aS(CU9EP?E2)YeosI>J$1W6QTf}FC^XRtj_IOuuf8y~Up&DI} zU4o+fx3t|m{%%{Pd~nEveU(cmdCxql^*hvE;rG?uuWQYeM9)u`e8BTWK7Oqkw|DN@ zZxILYpHS~%eCgSFVnU2IyYJiY6%q&JzTD2vo^fNw6urkgroG#@b-wxy(Gz_?ybG2* zQ+;Fm>h01KKPS2SuI=M4vRxG=Zn(TWz2N*V?@5Ox1N)~`r(avm@lKJk=8xus=L>$# zn)xnu!biR@@q3CVG}MdlTwxwH!DYJiqQpNng}1w=3td+GEwr1_=C+_^zRr{R>$H9E zhKM;o(|Y{uh5N&pKf;;bGjeW*tdEhI{4O(%C*@vBV&Cjq+m}Vt&t!O3N~g5`5|>!9 zWcMW3Gua0N7-ed+%_7Z@woRRBWL|!LYsMj|^0Zc-iE0H52Q6M`?c^{Hy7l=C&%@{c zUf434E;gH)p7lHTftE_Z@_jO2lj^oO7u&9TIYXk|S<=??`&#Sl4mqLeMq1YV53M^y zbtBpmq_ta|(swv+N$1#kQZ!52)-9n!mg&LMlZW}8yY_zTI5U4oz`OYxw=c^rzqi(% zbMCzG_CziRyXBXbo>&rUw&C`1sm?#gYJT=!*RkeWx$kLM$hP+LdPbJFH|Ot-&d}@n zd!Xe%18=O@g-uJG0(U%^VAXghq-V1K>;S{HXTJTO+`QkGzaVqFu&Y{9{>(dHj>lYU zJ`~Y!YIaoWEmymw-12*K1=>Q&x4AGYTkmSJ639s2=_nM#F~1~rli`J)(7!#oSH+Sg zUlg9s{l0ALnN4@5rSWSCUtexpx%{Z6aH2GKU-7G~N-v-DxwemYM{m@e6tFZPouM{6 z=;qcJH_Mk)<QZOD{AsJruBf*Y41XUf`IDu{dL?1YbjI2CCB<hwW~)W-Oym1>sGPaE zZ%%dau{5m>bF3%!{0^R)m#4;C^ux)KYw`O!lkd?Le@-+M_%k&2)bcW=T=@C>&+Zu) z1nOcJq#zSmuM)fR4*nISrUcM`t7e;ZUgVNI@SXYz)g%`#KZFTXbB#KfQf8FJ?5 zr10&Tdv6Ly>-)72?b8IF?#ko5Z1-=g<`qMsW09vkCx}jGsQOnDeJ_%YQ{-m(3yF|V zu8OBlyjCeH{ItR1_|g!!iD&ms$xA8gdwwFQE`iTr?uoNuX}<Q~%|6-ec<8S(@paHE zspz{izM0*4Y{RA^Q=K$PR_^D+Pmkuf6u*8Mr4l6Umw7NV@|3Zmq>aF`-NBj5<6RnJ zByHBuSZVX*+uew1tGAr!6LW5Cs-Ae|dO(hDo>$FlIS0w$`=Z9NZSJaj$}Taq1~!E9 z&hx7Ro!q#4T8jI`fU1>WzOL!+=5=A1bSFXcr>CTZOi$>Iu#ClF3FrHY*jcXm_No4! zt*Lx!{n_0zPf}{NmT1=Jnx$sk&U5!YlD;i-bBt@jo_D>+_ZfS#Oqe?5&It#f+}l?s zdu}?}+!>$5>UMs8e4OT)%dJHbTPjY<HEn)(bVlt(_Z^x~{xgVW-O1c1Ug><|K%e;K z3n7j1zuiiA2yn;WnY4e8^1W^PdTZZ_f9IaY&ePm~Bvj&g16x>l+yds;ud*7qd|nsy z@=hyr{^{dY47)BpE9o-*`SH#N-l)D;6?1I&#cZn!GGeoOG-p>$;mX8<J4N0+k7ner z-*RbFYb48D5&itCc>%g@zr*Azk8Zrfc;d;g2Z8xI=4ETYWu~Nd-n7fJTs3R)o^A80 zot)2E#1u7O+vI*rR_vbk(N?Reww`ahL?WaOZk^ZJ7c+gu>N%Rq4YjX>e8nV=&(SyD z{$q2`{G~<nQ}%6*d0Tn%&EEdCA)6=1?V9~&`vUj8{TivkyVplqI((5(zVaY<@;N!h zKgyTZd5SJsIqi;W+>?h{Q}-?@bbQ`<OD(V=dXmG-S@TqPhj8jox3br6zHGO3w(G(T z2fl5Z))X45V#xB`zSmoA_L3}L6>+mA-VOIs+}HX0uT5PyRrK7Cr?LGzp7XfNu3Eah zE$CLb;hmH7_ckiNy|qNj<XmrRM$HU~Q(blm$9FEZlXVs}R7rA+(Twv@-?{qP-M0+W z+_^6_&zXO0$6LQ2)3ilD9{yBTvn1hHSF+Kv%Xub0c~<R9>5%jYJ<0NY-EH?h*KMW> zF6f<-%u=(YYW~_{vFqo>fB8%{X|?K`slGw>_1=vi(`K!Fx_8y~)6J95Wn^$)f4}yw zjXwMIyoR2H=PZ1lf3jy?{i-h<b>QRainTkEwU3)_wK0BGAh~wJEw<mgqbI&Uo5If# z87DqHNI1sp`KptRUyrX<usrz4TiVra){|qemPRw{_}5&IOkC%=D&s#x*5#XK+6gE7 z=R62q`0%#IBSGCwO?&3vH%{K>tNY7QcKNs3T^vT`1v{9pn?&&TD*JESvgzNYz4JBa z8C9x$a?`qdZh7MBqcVcZHWiPR*VXbCiW}@bA#kwdywu!-3<u6xo?Km3{ztW{#!c5W zF@nLy-hNuPS;I@k4`)|9iJi*dY%JIC{G;im%qo{(wHw<*=Bn#{W~#jX@BOu%zD)VT zucjY5eyVZqw<Vbq*1S8u^UJ#a=u0-qOJYsLuX+4-E0k&S+xMuO;rX^pYwy1;Uh(Ny z?VGwOFI@NDoE2-)+IdWZ`9}4uC-3>TYZ{nM-01nhbN;#YnNfZVF8(x*oY9@m)$-VG z$p!XMm4xG)+#LD8d-u#gw3EAS!``mYZI_cfFH9AB_ndj3_NuKPa>^47x27gkZMR&@ z_`sa?$n8*hd94oywpnYm=LIgSsJi#*jYj33o6)+@JUnu$()KEc{wUh^t8~xy;(ntf zZ?`3RuAo(<7w!44nPo0Y-Y=8daq!#91sC;9+Jx`>e4506Po+WAB*ceX`>(z4v8m|- zeG<nmL>l?qo)o?F^1>QMy$2IE87NCUkh;F%nvQyB!j8>djt5jUB;=#6q+K}D&0!Z( zBp~X{_mx+?*x6&x71NhuhcwUb@X<((ySKG}U4{Qq`TS2h`eIN09E^CE{LNl<QGL_p z_r6`R94+oEm{qE!p8Scd)IGO^asTAgl3FK^2m3Ofx?5xNqfPzuyT(?D2Aiq8$8#oR z@4sYn`mf&IM^_$AeD;9pgs1Yo1s8Nq|D6(DG3%+`)$YnXPgl#==i{@!X1`@VDkj!n zHc!cuAt3rphfu^Xsf)3lo9)g$_7+qTh|-vO;^$0$mFnyHBD0qE?$Qa?S*`vdS++WD z=Y5{ceQNvmh>KUP5f}ToQrc#X?D2cMR$dRhq!O%kv}E}P38gJPl2ew=Yn7EhROl^p zDXYjN*IG!(xPkHI*_=C(8E;lEKW(kplVJGz=aqtrh8QD<Z~vSvk6)Tu{qT3J*K4NV z$;Yqo?O6M$_~iGr-u10tehAi`H8yUN*l4M?+v68wjMvT6%lGJPpI3Od&5tc4JUZLz zyud^@#`WQPQ&&aKiRcY`I&0G6mD(@-6c%-9Fd*Y47Vo_ScfFH1cYmo*TgMaE(!)jC zGxuMP*qQOzJ-%-1MbjMx%*KLV$qb1Vc3+<*XLwah9}2UqRyDBTW_qXoan-L&F+Q{H zHw(S_C18+M8^r5z#&^wp1IdR~VLDOswrA(-{L8=PR3x%qU2f{<ucBMhYox0d&yxz9 zm(Nl@%g5}}yqz{Y#b+z8cmJ_xTWjpTCHm-uLayhEeuY22tX(gV{VB#zD%UPjFWr)d zldFNR{oc;om0!C%FEOg$Z2r$6_+0d;`pUaP#}+@_tL9<9mC^9_3Xe%5D!CS4zT0Mf zo46p8KPT^jxb#8o?Q_zvq-|UH;Urgo?dsW6)a#DQO=bPh(5a*I_SP|#X_1b{-~CY9 zJXz<Fjr-bLFAPs~E{pLy-f*OEe{bazJKf!TW=_)<;<UJNhLLUQ^_;J7quwP5xisEZ zOwDsx_EMg2jcP&uR{za2?f0s2DBqiU;ayJD?2dQIvxB!!x|wXjFoDx<zt_b*R~Sz( zu}ch|dN126p0gs~KUnqI`e(}+b52gOYnb)?t8DziZw4l1)?3AXuV8#RIry#U8{Qe> z+p9|Ne5&2;6*kSmP_HWa+D5etUv4kY*J5QUQMk70<*&ZAlG&BXTbqLC*vIhQTw86= z`%27b^Z80{*5C$l%k!d3j}*SmTpRTyb5re1HpV22Z)a0tGw!LR8EsptwBq@9_nlwX zefpF>O*rT1Ji`eNvJvHLZg)p2UH*6BtxC??o)Q+pd)=M$vejGH<VDO4`}L`k@t~TM z;roMY9xwc1cV=bzw4miYlH1uV|7!0Pt4ck2Q)jWVa{Iyak3HF2qjjG+&5PsIIU<zV z^K^~=m+I(d*}YBs-ZAFyVt7A4YIA*U>gpLmUzN6eD&F#VUe)LDaL2v-C+3Kiv?keG zFKX`jayBKdBJ$16OV#&HFZ^dHDSqJ^#2_|Lp0Q@R9-p&J@~73OlOJAn_;A}*W$)qr z4%LrM8*J>p7gc(xS4yPtJgCjmtdo!P7c>_SI%L?!xbx4i%Rjq3_L_(t?e2b|)0Lhm z@%V~V(#u;@uhf4s)OP>w?&rAbV~xQ@MMu@APbSYPDYMt#AGKY+xkfWz{$2DL?w-kN z*58)AapaMzYt9PdzWsdHPW1-q=Dr`IOGR$g-ZI!!svwin$7XfySwHB4B>pV6N5}5n znHhfSuGKpQ`FE3F$E^7$-*)enXYTrMtGCY(slB{=lHF8=Ecev>YL&~i%M3*-(j}hs z&Efmnw(NMp6wfI(iNOoshbwj*mgqj$!&lYSxTsvw_Y}vmh@2RK3}NGBsltG6mPtx% zT8!F1X00wPR5@68ez^z(ljX_3*$$Z>wDZl2J=k5j7!<yl8sBl{{48e~qQPLEwN#1c zX|1384c*1PJM7|@)xPB2dS??$LAQFq>I+q$qm%<r*%gThp05en7<XvDO<~*H&!NlM zoNk|047(At(AHjStx7pl(F)EdTraMDIAiW&*5t?3b#4};@ubO9_$t+#j|XTqtVr3p z`DdTefsb>Ztv>thWh|$%kecK9<#E=bOE+$6*|K)p<c;d~y;?UtehP>N+@0~MIOz1= zE`6Dajylr?jTsiO27llAZB^Q%V`dy3hs&4WlPTiO**oRh>SwVhpDg;g)vq|j?);MO zrpGfSChqvUkb6eo)h(F^v{K!ltMu)BlaaCZVwX$7;>LiVzcd`g+!gJD%6`dxWqF&p zVH1<T%(GR8a^}uGsNA#gaNe)7^|n7|uk(J`&lGpho6~!3z}mTMI-JdCDzl!DYqq(b z6eW31DM+G#(YE-~9^oUG)w}muX8hy7bt&pcnf}%|HFKvF7L%0u0gfV<ujp0FH<yTi zINtQ7S7%DkqP*Hw?C<&S-Mz22ebFpVi=DGGZFsn*J@VF`J-xIy<dmmGPUDYICxzUV zeC!FVnbjMGXS}&ycax>^nB%J~*-j-RaU*TPlW#Q5mK0kQuunhCWIU<5*|CISstsSQ z<`NSo4uxq7%|!yI9GB`YJG6<d&5zB^s=sP(lv(_QC;GOA*Y{;)&Mfd^>ufW;^UvfK zTVQ*@*4_@u!wih6mZB?W^>(`aoO5Eyv;zkUs(7w)s`5()cmy8z%QBmsRnxhf{qokd zi#oUF2eg`Tba3}<dcN@6GSeeI;-{zBB(Ho?H+8~1Z!P~VNsbd=X_<0;Hc9*_c~GXn zzb;Ek^k&gBPoIV(Px>09dSgF-`sBaXS4QJTk-JQjpP}zer=H$b;w#lx*z%eRE^|2a z#~{;dQ*mGA@oQ@wVg#p4Bsbn(zc);01s7YGZG)+>&n5jk4BM4$60WM=@ttM3#c<2M z<h<Vo=|vUi&Q<-@e*V|nasQ9wtJM}h(wuku&@7+XYZC(dx0u(P2%h8jdcVg}ZTYI` zeG?a-+o)`&cV~{MlO<RE-j`9=0uC;Xa9nhI&ph89x0s7Ol_$T;j`BM{Qz&+eRF#fY zbb_mxkAptf-c4Drwoch-&|eZ4$=b|kVVm81{g3C8A4PX0muF9}T`gnCaLG`8l6wr- zv&C{IA7d9so{{(5AS5(t!_O!G8B%_QR*P$&dQheR?Ok)_O8><#C;hx`cEDr_|5V2p zoG)i>|5kfuleX-g=I!%rv)SD*to<S#n4Ej$lk6wM*NX2v-$y@^*E0K*#&!DK9huL! zCWSfZ6q@UBo|?y8zEV$Rcb~yV{+aAPzrHW$TzbP?_SmY}N}Y!XlL|i<-@g*TWP0|H z%UkWgcZwXW_r40*!#zd)>GML{zlJf})~>#l`A=c%g|yQ#SqxJdp0FM(s@3*f(kI@@ z_3woMcNurc1gY1hdH)&AgDmV0O}Ts1!v4jieETEzhc;i`a&+od!8tN>4>#0q3=?{y zTsa}lV6UxffRLpRd#J_RiOsVbpR0<0*ScZT_C)aY*JUQ>ReEl!_WOMKHLLf})qvHX zg&QJD&N@33$?08>_xbQ;{d~RZo2+}>Wt#5ra9#fJZ$imgx#PZ-L7ss%Cu65)iziO9 zw_3Q;oo(mJ<KI51Zn!K_P{p~wz46cMC7*?gyxmV&-0|~VUYgCQ;=SQr+BrT4S@uhF zRvf6z)=;)QzN|LO<H`13P6dsZKdzR}R8*hSeCO**k(Tm9o0^Z;*L%6l_|v%W!@0u0 z_inDbF8(4g!8PAzo=5z2xve@mN<lI2ENmXH4RYalbNgRlQ>DfG$Y1joFUqK@nRUKn z*{3y&B=ZW+*xxkOTe#}wJh_e2Bd@D|dg$?;<KWMkyBOHxvQOsLn6IpHo2OfUZ0)yP z1t#4!j>n!nX?na<eO-1$z_Y7w)Xup{`-}f6t2es!E>`+b*bKpS?`J(MetDzb>btD@ z;a~QxZ<RJ)$hoGlvE$DJqqlua``6~NZg0D&^H#{BMPv0-7bdlP4Lya&t4bPH8@b%! z;o+O|JowGg44I=Qks?ML(|DWDD<t2Wv*spC$(NN~Y{^^Ro;dmZSBTH5W`%dQ1y<>M z)4F!7)bZ5&v}6*;ftS9~jq}*v{wevg;+l>2?#T_z`ZAwyEw4Ctwf4;p<_4?Zv$iN+ z;FQvRoM3sVZ-(-^%=v~vmmXNEH(qYOHL3E{l1XNs#~kAPvNSkZohKb;X{h?E70nc| zMw)->@v1KOn<|A&EIk!$)6eC0E1oX!ZmNuT$mUX;^y|f|zS|+ZtKWL?UcXbW`Q)+8 zui9)Y53k!NX79f%H?^kbw!oi<GuUhm_AR-ZsjsWsvN>i^$6^&R-A@cw#ji4#sNHyU zq~A0;Bf!Y>sM{o$qc<jMCT<bP?%KY8_s6Y2W35EnJ+>9870;h7+x|Fq`OUWr`cG}` zKJDSgaC~XDhQ&LMHqW&S?hB`|#Mz!-xZ=x~tp=XPZij-n=kzgrVcY!3;FWmbLFTuS zeBUSZ?_%GYaW9@(vP<{Wo61yqJ@(|6vocwa&OSZM<H5E&KF)=@_ifuRE%Ug_5&F>Z zpiTX}%-fH)cdBw9o|96#L}#<?rV}ahhiZ2RODfIubUNzyM=zx0sN4LS_0rvfUzgli zb-P?pzCiO`nEJiLWmgY9p10M(^0e#J!Yz+q2TYr?aLU7w#w{g@{ZUg`%%#_E3Uu@H zbMsI9aYbjHYUb=`#jms+BqtY5aMoT|#9uXe(T5_&v#vsGR9u3q8j6oA{Cc)Xf18nk z8@uEJ?sRFk7#_3C$-cQPLVlODM1S6$-+Iex&aX=>3~S!p4h%3BzEFLA_N!Zds~=lF z-f~*4J@0wZ%3GH<zVrW{8Oba0Ip*FU*DJBPom)SAUHx2n&2gJK{~5|J?G2KSj<q@v zk@-SMqCvaQ()ML;PL9cMjW2JlOuKH`ELtzU|AE^weku9;6U3Vvsv6&ii@i-c7ypQ< z@*dazO~L;e<O5p@`}l4CmF`@oyGDw4>N?lGYkOD8-aPJjLULXHv0~fx&F@X6J3Kqn z9EF7cZ4hoUzP0D<d(-pX#*Pa!#nvy*C|k9%&>;Vw#XFJj-%Xb&mgY5-SoQa8jhDE0 z^5J@Rx2T))!f_L~PG(+IW+PX*?z`iMzx{1Gapx}R9y#A{RrdRge_YnL-o=@5QX6Bf zeLGyAHq1-<;AcHQ=Gvq--Om#O`u&z|*%Gu#Dy8sATiL;b4En{sLh>`c81LI2^?ECD zF!@~J@$Cy&&EL6g=JR=uPd%3WIZ|h_M#Xws;3m=I7SEYC*uIi|BQleN_ne<yz~26A z8}$D8FIlE^VZppd#VtCEHP1#~D>dD4c~PZZ_)duecmJ%$JNvV>{B=I+?Dk{3X3HBZ zSedm#MeoO9nGe~*F0Sp~KJRqSPViS~j`}RIAmZMmkj|9HdIiQWXE8ng&rr_yL}g6^ z&$OSLYF8fMWPc~?sBBr-cswq9#-5L9y-PPA)|Tul-ef<+(3ZpIs_I9+l{K^1thpQb z<8beSv{{bD8y$C?@L8I2>~iD5;1^k%N`klN&J0n}Jic&MezED)%}cLbT+vu=z{6)8 zIz6iCwSU>x-R?8q+Qm6OkXq87oI5>hO^m2x<Cmp&k=!EA%lvo#y5f2>ym8Lsy|yf8 zH*;?MCG%D8%fUsqx1AiM)n)jP?_9R~#O&C*Ft;aF)z7BcPwcce>S_D>M{D0k`^n2r zB+2iMd%ofOlAANL7)=gy_FgtC%6?Wa9P7Oz``49O-Am$ARn7SvnD=SlUcXNvbDs2N zg`F9bB7187GYCE3VSBXZ@57aSdmpWJ3(W6Ww|#=)gu^WVOmw}w(wEnWWv5-ppZd5{ zKV<qnHi=_af<MADt5xsqUa@rQ%Ia)W=9-WH8HD>E+8y7ye(o37D|&kQCU5QDznS*& z<d!!NzcrtFe&PD1Z|DC`U*KP`=A?|5<hD`;e*d-Mnrr)tp8h*uw@Yol{7mgRv6_~Q z)<U(}n=e0_rZF|S!%D-}-zQx4;g6+#l3RB)R(CJro+c}}E8*Am+}w=KQChCrx6jIX zDij>}&k%KXk>rzE?LDRv^K!ku{GDa{%;L&AS%3f8H?Ggmo-b<pLMej#k!qem5&zz* zqxWW;O#3zEyU~&liwjf^?Xz`Xr~Tw^9(U)S-wTffo^Y#cTblJItle`(jiYmEre^1} zN%r?dV|Z#k&lc2K{peg-vFXpNs+PK#RZXG}MGM^-9+V#sjtRZ9{gTIJ=BMJ)jxrzL z2j6qf(G|0<sl23qt~TPU>86ge{OqqEyI-9iT6$**i@h12=P}3C;j@bO?Jh`dop&u} zXF^@<8H;tfO5TNOHXBt6iw;ZjWQRR_l^gUY=B?R_Ijh<pOuW&xZ0ioWsf)ACge%fc zJI^y0&irI;{gpLZLgL%e;%Vl;>iQq6U12?TLZ!9A;-B5A!q+iVs*b*$db*OU!NW1l zHfzm>81Gt<jjJ~8{OM`)`(x1Y;%k4TAE{lkas9h$(u|bkZR)otti63}S8iNn?$^XM zUd}#m%qJA_ReoJ>xS@4j{<Uj2-sm}N*qZCFE!}jt+5YC9`Bv@^r`xcJ_H5soUb_6p zWUtGns(W|18Jn{fH@@wfAN`U4+tD{ZsejLXxM|z<D_n3zw50OZNoKqSJAPKzsV&|) zmGzGBorZaiYA)=}^OnC32%7j#tm^KTZ<BR<?xpl^W$L^6de)VX(ayYoCu~dp*P5kR z(as?LWTV{H&sVHY3UIDj&%30{^VTZ61pZS-+50yBXlB2ekde;2_RhbzjSdfZlGRO? zv{l~k`>L7qRYJ_7qqpE*V$QU@Kh@#WvTpS*`MxaK=!D0~xEW`w(mPAMcP}pZ?sqP? z@1?Z8R?4?^V)@+1ZO>@#>^|k@#Ix=2ov;m)ROg(E^Es7tbH<cOg1dh=2i)EuRO!Xk zro#9pJ3s1TUJ0-Bn*+v2D&1{8zRRxK!gh^Uv3>fpd*ZMBwXB+W%N&=j>&$ui<-Xvn zd-9t%H{EFc^h`p_L!oM7-0XG!{~0(_GK-fUG<)8kd-T|&;QHTo^S(a1t*0uV^~q;n z9A9z6&Igm@u0M<|(&wuPdUWp@r+W3|Pn%?N-bvqEwkCAvv}Z=?oR4`$UWk9&_Oe8k zmuurK$3Ogg3%6|(&bqG4x{iB7#PbEmSFW3UMBF@T&ZXEGQ6u?xeFj#g?_bB*%`H~# zTfoO<Xe0dH*HzOxD^V?SzVGhKOZ%#)ayNM#JYliUXKG)ioZ-g1+hxj3Z@voWw>e*Q zL;5%W?jPZbHrdbfTo2p7?%J2+`DBMVd!>ZB<oE9;*X|UYDsazQp%QR=`s52&x>c62 zJ<u=qJi$42Zff~4?xdw*y(y75@<079d$!u5Zuh2IS59T6DR-7^mv|q!jkWRLiuFZD z_glG!>FuzPd{T8u?OB2mU%l5H9;PRP{ZW~cQ`3{$LK4cFTTT5$^qMPVE!oy@J@=tZ zL*ctAr?$|$m-9H^h9}-xaq+PZpQ8=Ge^!H-+ub?LM<ez6{zWACZ;fxe^IWCC>Qa*S z!Mu&fQUgTPgTF4~2o=8Y<Uw`%+PtG#ug>)BS7xYu`DNv`L#AwzGnJJWP5wUp_Px!8 zIn&N$Tz|&!d>#X{edqE!H-rsJoGvc-eR!E~cBNU_`De+~Wqv(cTzw*3n^S9F%hlt& z>Kl2dDqNni?8`yPm3=e0o4-xoYu$KlQLdlH;!l(95-rc?gq8ei=~?@9`?S}u&z3l| zYtP&kJ12A6O|ygB=DmF#DjnV_o<EJx*4_D)HdFRaPPVWU$1T>p)DxLMb%)*JU)OUo zRMw;ymp%GjynA(Wc}(G~Wu?qJ+|Qq}YW|zeyDaQK!|N-$hOC~CbF)@1*tsw70K-a^ z-(OeE`_TXBZ1J-P&n1`H{5*HB(AQ=5tg{82zpotIDecJq?ERNDiN<Uvp4$Z1e2+c2 zYo6wfdC8vZyi4+IZL{R<E$h7&w4Zsf?ap^ojykPJoU_`V_cZ(d_Nxj@thu!M&y5$_ zA;+>Se@d(<t85VRP`>b=!76FjtO+NU@a`0uEv%q;<$0?uuj}L!EAKq*UmBM0)jdJs z#JTsEW<=W?ET5m17*rvuIc>sMg-g@eTHVxJO_Qw43p`jp_sxA#BpIP=e_CzJb^qGd z8>0DMd!}h_5tFd3d>`qx%PHficUu1LD_2`L&6s-V1Hb8o!x@g!1<b{LUkj96+~f9Y zb0*Dqym2I&Bc$JwuUhbL)~~3X*wd2S{d;eJTrKogr*Mu`P7$MY&iUstpVr)9a_M5T z{JPT1sDElvHKPy119RD`;F*WZ*UY}c$$X-j!)ub(>gdY$XUAFOvJPnX-sShN;%1&2 z5ZQ3@?sxx7O|l0C+=|1Z!em?yFE@?sEQ|Sg%+EG+)l4S;hq5mOu3K+@9kQfb_u!M_ z@QxEY-DlliS=8=Ozcx$n38z5J^Enr8I&Vo@n#7XW9&;sU0q>0`pTqQ$)RKEjS2&)2 z<iETB+ER6$!Uo3Wm40{h<LkZ7Ot!uIL^0xduC3SNeCEbin(qbrd>+rroWOEI((<_d zxmC)}`^#oeG}|RS!Q<<Sc?xxjzLN?h3l?;(i#?rgVY*6MrDD0fRRVw2dgbzyq6(GW z3ESLvEYT<s`5d*Vt)1b)cDpZMfA2JT;`nmT_vLf<@_TW+WQn=(_6T1$%@aL+Z2d(( zhhJ4!yk8#mTe!V%wtw)w#<{F_`U`A6{&D^pE?>QMe&3>9dsauY$~vs``#RNA;@K({ zW6f5V<!gQJJX>g8E%mxf;Aw)9$7`Pnyvx(?ndBZ<UcXk)E+%x+O}<Q45BFrx9-aVC zm539^*Omy*pIUK_-RrrMMUC*W?4_-avBx&7`odIH{-E{dTR#S)x6dbb74^*tJ#kor zwT+v(@o#ohk?g6BM_X>c4C6dBN7qBb$)|5$w%lDUO+WY32W(f*Js~YBKFxO4JY|n7 zxhj7%0~nHB-d{IWUd^Wc@@KG*Yg%I8j8!cUJ#4cMZ>v<!4W4Rv;-qQDiV2&|s_MV4 zeC6=%KZ8`!v2u3iZCY+&3OV*s3%4nj1^V7Ayzuzi6lay@qMk-y#VK>1vu|a3CSa*9 zyLVO5g5$^8ZC`dV$ZIUyrQJUx;dgMLRMLri*+O?T-_G~iD6J9m<+y)gXmWRhb(cV^ zI<xYH(4wA;_bM!xq=lzioV(Q-G0B!+Vr8Dlk=FJgBdwH%%VE57_jWw#Iyoy%dkez? zxy372F501HCOCJE`|_-|Y|p2SbH(5Bw154kwD}2>l4^>Y{oWfPfjS>sfBWA{ZVrk% z6~cUR`ue4DSKsUA-#MG&A?<KbLb2i5wjPHI-Ts%KZJ770oL8rUYp+qZ#x}DfD_dor z+w^Cxm{jSxWutY&`DIz6b9!&sSFK!VmbvFx5?k%6Evqh?FV+_gnJLnChiP8ne}?Nz z(vvT4o_uejxvG$uMB=X1R?|<u?Dv}IBFSof`Qn+3;}RA}^F_psE(q$|x2l}7Ja|yl zSmR-PzSlat<XQKW<kp-ro7cWIbPj_-_0?tEJxrdfjG7pJU1jv`kl~y6l|fRa@6Off zPFCMmEtqq$Xp)ZW^|jeimO{);4BysN^q(odxAoBsjz4qeq}%uUOmtiAz0a+{;MlAq z+wZM<bt#WkTzS7~N$S6x;+RVgF1c6#eRG=cwU^7OYXyUK74xk{JhM-pv)x^rp;Bfl zvmn09|9(>iLvqH;^HpmES!UXlo^{T-zb`F~vGBsLOJ_|gRrkdQ`?_!@Ol)zT(ONUH z`A*f9Vy^@I#*0hVoK%0@wQkd-7`X+7U)Nf4PAtp(ICrnsoXI@A$3;1(OfU`*XZakq z$kW)vsFH1=aZ1${pO-g^Ux#)J+>z6~!M(3gU2^d`g(vg0X6-c1Qog$@#EiLl+A+(O zES1))0y+%4ih11D&finm_xR4081`d3S6?{zOh!NO)~e$@$$O)E+gW5pzbtyH(eaV- z)ANa;sjgf_Raa+9vuqS~eERLtd_&i?TQ_fUaK8@Ns4Tm0t74w9uddD-A-6l?jc>yX z?Ehc-Gh^%3_iL6X9Gn=Cpdr(IUu}1;^dp%Ko7SG%(zU0kV%>j+@DKZDRtq25w#bfC zMP}Bgx&9BIOx!T-xMGTA!11nQdi+I~Y@^OU@@s4`a(u_{b8YYb9+T)xEP-M=^&Q{7 zuAgQqYxmeoF>jjB<Qqa3-&btu4SOYhy&~=JJvY8ehR{_8S&!{bZ<(QcUdD~>ox5m_ zm)|o6zCVR=(GSlHJ61Wx`4oi|U)%k=dd3a*hUxNN=cflrnYt`EzA-$zdD7p1Q`j0m zEOT|RJXfi<=lijJ%2sjxHq*{Y1vVW2J$wJ!#0)!~OD6C6j~1?vQ=hZ^Y0!Pk?<RL` zEn6nO&N;cCLHzxv?<>V~6gTcO`ZIU&&siVWIzM_g?^NPt<$HHGp8TUddB;clBfc41 zs!CFoCJ3I7%VvwR>zW>R>CFY(ySJLZiXP357q+oa6#mKo+{dt?Dtt=BAM20H7H@g= zxw6pU;OT_MFYC_x|L|WJWiTl<`y}JJ$Q>)Q4(~i0TN8I(Kjl+Nt(}uUbH<7D*B119 z{@DDe_?g{riRhkb&-PYbci*-pCi7dOxXlz<d#Nj}c~jmbom!B-R_5D{nB$Xf*C-c+ z{&6h(p1$LJ)w?h2SzpX5V%@&6hxNJo+S0I(hEF%0srsw!=wt9_Qp)FB8_L;EZM(LT zFKL@xoSVPbmX#9nYBIkjda50sES>P>_}270wM%+8G6}lJP4yH`c3kY-^Y`(~OEW%d z@~q-e-k){CbvOS+^~-ysvb&eGPV?lfyX~7RV$${bY4nQYezln|(~^JA&OE>0ly%-h z-apw=tEO*H-ZL-SRC(uTf#y#qjtIZdPHDMV;PyxFfbpd@$5~I<E3aB0scf-k>+F*| zQZv0CBo?2`oR`P<=987o1*NjR(?Yf09Vs%X3RAs5Q6w#UO-`Jra-ZGSjnc=Ga?fxx z8CcJcI=Qdy-bdHHCv<j71m2gqvcYoN<iP8W-WHQC-Su;MSm3Z$JDOYC<IwF1n>PG? z(ol5vb$?XhgyXwJ(l~Fr`&rMryftJ>@2bK+Kf}pE%-4-`rDrnn2wCvH%L-U6aGF`+ z{p3q)wI(qoztGyUR%^3cg0*|$<&P^Sh|WvVlF?^*+|`t@>db;C{MY7Pm}Ft?xN3gN z3BzgWVXyx)yk5w7;>T>y>S>V*^H0yyF<|)mtM6;H<Ms6L!c|_e7v3IxSGzfO`?uV6 zpB|d+vzk2l=XLH!>-lpV?nh3GeDu_>F81En>#oP&3SGR}{bF6wrzFw0ySuV)-}dP{ zl<+5f%FC!@i&xxL-M8+MS+7Gv^Hck|RZ}(@-SE^}bZB3gNdL3i*Ie(;J6++k5B_j* zXL^gMpv8lE{Lka8*Zm0nvQjp5mdo2?g>mP_7NmFG6-iz6aK3%j^oaTHySGe#Ys{Ug z$ej1i`T1In>$5UTr0n8irsd9*u6U9>>-y&1yS7iPJ8RhGdN`#j?C8IF{UvE(M>p6T z#w~vtY5jKX#X0&657OTY#!dYqdp`V9O=QtWtG1L9=}pzMUfe$t<jYa(_Rv#VAzdZB z;Xgz6DYh5;ysA#Cp1q>><eB}?%;s~pdtX~BJ*tvhyC!o}{OqOk`3^Ibv8_?>&VPF` zcTI9;qwJ=lY}VWwTfL2`e6ycb`rVj(_Gqnp_QTa4DXqC{1;soL@~pg4)f`u+Ehv?% ze&yWSJnxvF*M9kn?cpu2mA|o&dq=*-*}_{+*>Y-oqO&ayPFD~*{)Btp&i8ShkKekn z2QEITed@KQME<+yOH1SVb+-5lyY1X_wOea-TYtt2ThG-imsGagH2R})`O9zh9aq+Q zP7}T3w65sJ*Y#=}v%T$wPFz~$o5ROH!$S1+JiQ<LAD(zH>$vCk>SNPvm$_Lme!RiA zAiVL=rg$I8ZEbV+<=)rx{B<p&E?xRW=CqpN6}Pg&o$ej7IOzPJLB}=KY<9s3n-kws z3g><OlHT@D_D8wP#<}m6Kj$q8RJhr+VBXF3TG!Vu+j2$q^MoU<T?=g6vo7-n&)q85 zmbIu#u4IGNlZ2;LS6;nl@z-8gV0e9AcGM%YTj!1>RE3G&epn{=_1dDWnfsT#Hom!_ zOEZ%DfyR06^HIOb519*RnRTe`7TT4-aQvC}>#iT4&N+UYsM5Vh-68wZmwF-Zd@B?8 zlZod(R5FyUdFA%%=x6z;t$QxC^%Vv7-@RjaeOacs&yIWQJ4;fv8yFtHj`45X8XFzG z>GR>XoYa}O)o-sY7yFQ%%`|(bLkFM5db98-L$kymOQp`cOni9CTan3#&35(tt6L`4 zK1>(iIN{pIccJX>&0}Wmetddn;&i{u=381eZB)N=?LR~3leW``KY6Nib%=jnwXegy z^`*Grx>^4ce;$ANHag6zW7~yiJ3E*rpKLf<SJUUmzqE4e+S}~2F2DQPGU4WV_Pu4h z&aCEdd9yIcd8Kk6r}|z?#m(*q62I=3c3p9A-ERrOru7Ox=PldU?KwHILtquBb@q`u znap23W-Kp1w(oF=u36A3`E`BBR(}D{$t6j5?<cHD=bm{#sJ-h()J@YXs$r3i3=`w! z?3T@{eR8dF=DXA>8xK54+qdka?3?mWvsKcPGkQ`^9Ju>J`)T)?^XvT<HvKsm@>rqx z-u4A+X71s!_4AzO6k4!){)_@nyRVL0rJr+iol0_%xV8V<-rvXniC;?oP&Ri(^tSUl z4G(zo^4Bk|`SZf&+O3MUiF&C8&vzy|&XN)G=9+a^(oynfZ|p^dzE=;9D?ZL-ejU0l z`M2%qXgMk4UqQ1KH?Q@4_*<s%t@YwK&v&)iD=*D_%=XLE?oEpOo9xDI_kKGwJ?xNJ z?-*;j$ZS{a5;spZg<P5Wd0S5g$GTLRH?8@1JYVPg#GV+JcQ@ZpJX$c1_qXoTFBk4w zt28;CI{nAmx7xjPLA%q%wMw_2p3prx{d%D+Z_WCJS(8o{Yq=a%os<?(l_GpW>d>4i zi*B)$SRM5BKiU?}l-_=Z>rBPZ#^<IN{y3`LiHLSM`dxw9w)2hl<m)1tRa>WcI3>Kx z_h~$r9UV4t>-45aHS+4x9xohBmg>%2cqOY?mizFwT`??`pI6-7zQOkO$*mf>Pv#0q zq|AGqc~aht;g$b_b@L<k8^<0m@H9BKr*HW(i`5&Wy6xFsNnHr{)QdjlRPob4YL@QG z7=E>RhDz;;a|+MKUeL|U*AqK+w#oI`qK(Hq?o<bsa&yNXZw=7;&(OYXx__JY+1ZIk zZ8{Yv<)*&8Qr_FK^W{9-i);T_*XAbXIZx@4eNcKw`|cl>e*PARmMK#|US7#O>*wqv zaSHi@uXC$XlBE_cN!~8|`gK3=%kqss>iw%jcvSp~FKyhfYO-{v?qpxqE2l-yn?=P> zS^vE-Mr{(`@<+E9g`brw+8|*eQ#>hq|CO-!-k0CyrAVeYH&_eD6)wCZYkb(MZNn3t z%WOP<f4-f6Y}1rG6FsNsZWX!meD@VWue6}qwPs%xu9^4LB<boZfA~9*?NOfhye{j; zn5E}C7F>KgbMyALoO0FO*QXpWtX^|Ze2b8Oq2aAnhZ#~np0z62yyIuT|A$L215Q4B zZ9VCt=Vw`md;d<y)-8Wj`E^;h`-h{uZ{2vDKcjf=zJJTszL4jBu(8RzU*=xrB97*x zBI-|t<jOXFdmkd&GWjsuWW8fkH(cy9Tkw9?^p2n^LreZx)_G!=O;)&`Jv>3qE&0>u zlk0OXo49S>)GOr@nHaE!<D|Om>Pg$S$J#M$TQaHcKg0JWwmaWwZ```|YBEQjVn!#! z!~XRqlT|jV7#?nC@wnJ~=hN1wmnv47T{+fs>QK@%rxOK>Z9CQnUwP7W+-uhrl|vnq zCslEM_|L%nB6szz*KwB9Lb-DdBQCEtU%76ULBDp9p2qf%Y3~FV9xl$f-BSPR{@-<f z!l(YR=v;PPjIBuW<7drVb$NTP=YA9qj_$Shzb#>yx-TXnb@!~tb+Spfk66dnTvg`c zmpu7(rPq~P4i|6M1a#f4aZk?VV<}LS?mT~rJ;*=i`hq`7mv#4VQr$bTX-e6x=>FxV zPxlMFOPn58F4*JL=v4aTW8B4u(kfdo<Ob-yndiP!CT(ZRTVEx=OP_w-61sHPN6AC5 z+u-G_kL%m5Y^QC1oa=p5$SW^*L6Ty+<el2W%W_krAFc0@_ubm>GRg4S8KZ;I7P6aT zuOHg&vGBvLlM)Pf%|Cp+ytdT&&eF4YGUsjH_&jxzS>VBkJ65b+G)p~Xx0;2U-&4tR zT1&1Q94y+{l5X*wxzG0X$=pBTYk$l?VjOY%n8Ib{dfmD46Puf~HC9hu`8qzY=h)<B z&%=u685C$$XFr>mepvR5eVO!v@21@xx8^yiomhOraqb=FW4=+_C;CY?O8&8*o3qF` zws-eK?ski(?m^X)gH`9aq$_BBJT4kK?fB{H4i)Y{3X>RBesTFLDwS$K6aSig%+_Ja z1*uG_9y4!q-{UJ~S9x#NN%$F*UhrjwVp`beCxx43G#^~Onm)^Ps=!<2r{BLXVRdZ} zov|ix#)lK}Dqon_Wu3ZtcB7tDu|eXAz*hEKGr1TfEPp>(EqI-MtBKAjG27ot9S_{B za=)H+X1b&C=Aqy=2D>ER%Iin>25HMO$;#ado%inJHY1^OhP(WGt5^zsi=y9L{MlN0 zteWr1^-foldHO$=2|c^nyKS1&2?vQ2FWc5?IDLBdqAM`x8$VaXT;)Smb@OgS9_smc zQvKSl5ScZfJf!@07}(EsES5TLXkm8DT$)kx)PIJrFE1T9HzROE-W`uMcS>_6xmy(E zvAsRcxVN@7?AAtK-6x;i&fR6SS*IzPoDvc#(PGOV^XsxtS&`k3soo5Xvd15L6l!l< z`E;70nB+-Sx1#KzOTs#acYL+;3g<3K==Zr+bMZKHySv~<S;mtq-BznTnN(u*MuM?c zYp1vA<L*;EDesae6<%9h(sM|}n)PJ5`Xu99i@T#Lww?bw-(1UU?&8c<8}9g4YaLaI z^ESM5;A7)EtqAdn!d$B-c$_#N>?Ni%)#k0F!eyJ;PLB)~D}`4xUz!x{?HZJ<JOBOU zNuEn4i0NKeKl@2AIk{DV;qaBoQF6JPtXMk@_zc*L=LbhzxD{p5sk-Czy7JVHzuL|x zKl}?hX>7*+VV>qxp_k#^*$QEG#m&c`hjuT@{jB7YX6?r3^nAznH8<m3`=3O&$=!UV z`C4|%hMgThRpftW+^?t(2rNC~<6~qdro@o*sqnq$u0si%at+@mf8Ka9r;6X}%zp-V zRdY+r9HILq{DIMC7Y^s0mu{VGU+^m^hwE9z<Dcbo59A#yJXWC+tef}tySL8z0}>1} z)6^#YlaB6ms%&vvz?S;;%UNg9u6LY50^)N@?0X$EXI;3T8RRX+@okcoN7bx3y-Fd9 zIR!^Mb?T3;l(qVxp`^HZy?ym7t+buHyT1!A=kD8+ZpxD^?sxeUw*uGMSM_t<%QFi) zgzm9L>^Zo#x%7+rt+kcsp0Ku`4xGby)<Hiqh5wnTtkqY0ud~xSq}}#T^uFh};lUS{ zPjypcUdAPa{C03yZg1|tVy#BnC8;!X@tzd*sjvLkoANB<UfZ4XK&`0wM)j<-i!N)V zx%RmjzvsFg!Dswsxp7Q>tK*pjAqV?&OSH4z1wOrf@&R9g^`#TjR=IyGS-RLo=g3#} zOD$cRyYBm0blNN^au05NmEjS)UA#Axudr{bQD+{5&^ER^4SS0JU3GmLb5Nsm<HqR< zW%7Tku4%Mst$Tj&=B>qf7ymefc<0SfQcY)>d+O`~xv7alZ~K1SIp#0PY*T$j>$~9@ zA3o(&dBcfC94{N+N4s(a<VmUYR|xir)*qXxdT2$;L@CdRWaW1~0Re84OimxWXFPGs zbDK*Y%Re1(Za6&WS9MtP&Y3!I7N6OcJBjh&vAV6Md#~<DxcsN(?<4jzbxmtq+E}>4 z%S8H@?{%6y<J(b=Fcl_FNs9&2COjM8##pC(v0F4Jb#~T<2?p=j10$bBJh`Xbdv!L; z^W_hNmY#^*GnL_~hpPM66-lZ_6HbXncG_0gW<JT6IA?g>RLFC~@#bwRGCiMX&6b{_ z5i`^7oz*2KV=l7`8&&!&@7@>rx|PYiH~4+c4Ry)<;sDc~da)91amE+A8rKM(`&lk- z%lG)ts+|qHu3fSc=zrS(jz7Puz5di;yZcTW(carmEqk=EYMx<NR@B{%cFu~*SFSRu z=%h|~msGIVH->MOxpm3gYnw%~7)4{<4i!$kw~R&8x;gjdS#5@&>lS&iT-Pek=U{kH zeA#ri>8nNiek_?7(;C3WVEJ{e=CVHJ_V)9^4dLr-|7~?$pPa`!+m-7RbIr}f3(sbV zuKj8`<Mg-ZhG*6YC!909ZMtTAM(@US=0b)htG`)dySEkuE>J61?Ak8#d)D@Xk1-x; z0_&a~_iJXF>|hgfa5rBi`?`uhnl`UXgF5vdo;;qAwSq%HUb#S~_pV>{qd5_kDMuOm zS;|&y;5v6Z@L`Vdv4`*P&D(Hil@+J?t__ySjeXBnY(1i~!O(b9VFSlXQGK;Z;<NNM z*_GK>yqy@<u&2ditzKQ&gY-+23vO?a6RByxFz?6mB}TrI8I6e-E{jh}>eF3nd3W9x z6BfIa6{|1olr~SF{@w1&(d2(i)`iyoT)E+d(S2<>hu3GrrbPrW9MODbe{5-E>T~6% zorQld_dNK0rOC5tWBl~%eU<M+!ZH%ATb9M%k>M#_B>lo>z3%tCFv|y%YBgEAyL$YM z1pEFPhJ^`9%IrF3WN_rktQBgFlTRH#f4%VgTc2u+@A)?(_ic&D2<wuRcspk$%hT=2 z_Fj3nJ05o~oT4dt&+(406U)5JzDE~CWmdk7(#~cGo%$%TXJxN{%y-e4r8A2ncdg(r zI3xXTS>=<<le}Y}#I$EJ+?Hxv@pRL+j+uH6EYF$C&#)(lExx>H`}T~e(B7Hl%GM?4 zZRF##Vix!(H%V@{dvX5sjwk6Cu6~=I&2Xt9dJgl%$o|r$Yuqe43;yu#?Jug$oc28| z$f<0x(3)VDs`4eQKj(#Od}P(S`Kt2#juqRN<o-S>Du3tkrxo8_mh(19GtV=e)fKBI zc~GZY!>7TyUQ36q%g5-E(%KD7(RN$Se&1xs2=tnGy*%o9(&byKxALYL9DnL$HTi<n zg{_@a53lZ77xH-dUNPqAGy8Ad%R3|3$7w%dS^biHkNJ!Y%3MbGd+k(<)s%O{zOo1~ zD!y&%mpwP^Zpb}}V;_5#2i5ZOGA5>ZJie{`Wc^3^Ct4o2ZatL^O4<?g&}y38*2!{9 zWmLM?+P}3t{;}lv^1abkcb6Qox_Oe#?vvJs{lV{pPw`x7jpoi-zxC9+$3Kc+zxSHf zq;zJ}=E~Zb$&K&NCY!Bz`}wxgv7eH*AHA+$zr@yO&Sd_I;kDn9m^=BVev*4G_dKZz zI`*M<k!gmc#{*-YXPcCF>`Z0O<k(x+yf%8;pGv2QO@bX7Yri-Bo)xpO*gHk2Db7GN zqE+RJ&jwaLWx-EnQ)NBhWzD*`N%jD18oOPyZEKiS<0I+9hPij@wPy3r*q5|5tRrR8 zkx7QXuD*^4Tv)K1Yq^Tyu{YP4?;Z>E7T8oT`F$-%(%i*D>hB{r8Q5xFSSN1a+&V8h zw{Nf6r}<F}zjbp5A3SV%;L!IkqDynt6n<+zO;MS~@}GfY&F+4s2h%#*g8c4T6<&Ys zxhUFHY4-*X0n<Z2R~d!&TYgz8UOwTD>7gw}j+*SJ+2`kk%Ze_WbzWkUvDP;4>AzR7 zhpDYspO`(pvF617)`s7!Y_(j^l-$3yondp!jg|*(KX-f)4b?AsZs+MK7TD+Tiu3u} zfLXsd0{5MJbNY`;kMR6J*Dl+`TP7Mv%51b{Wy-meaV94w&9!i<#JP*NKdzbmqWqLv zTcONu4z2L}*R~}_PGVYHkfQoSC7Jos>fMWU)?8x0XW$<bl%y{`*GyvKl8I5Sj>n9O zUoBd_Wmd|?%5|5-d*&YLN&c`($W?NpdY_Gfw8)povhI70`QAJ{bVNCz(r(!Tu8GoS za-p3;Z@7&`4#v!zx#+gnr3W+Dt^3bVzw^MMIl1aTI@V@)&vs2xy)|)Sn@VHMo$tF` z;xnQpuT*C5$a@j-?R*t`a@6x9yJ~lQQr<R!<3Ga=yZ;Q==H{-x{VG+(yMF5C38x$% zUzxQ$W3tbi7XmY`7}hmr`#r0SJbr6wK<L!YP%cByrqr8j*Xre7OW7>;>Ot?}#YroE zu6}knV`9_UPy74~XI<I0bIa70ZJ*f$EPnbk&#RK#8uUwZecr{V+ciAX?ks2A_{VM0 zQ?;-wiI=xLIC^z)sq_@hbA@*<=Qd?+)Y)+A;spD>TPxQ}By5=`zOBONk^kPt$&K$l zb++k<oxI`xlyPH7$@!veSH*@cZ6ddy{9W7T@pJQM!Q)X&cI7_Vxa8QygfvBN^_cll zm$q-7*)(-$*kcRXjp38-y$j3NH!}Dq^FXTY&{4~`3Y%}4vv?dl$FFy9YW8opgE~U4 zGsMccpH4F8kGa%q_x3--<5w&$%+{VK*F^X7`){9`njN$w_ej+h6K&bNKM$Ng2^da1 zA9Z}kJo{OU!pzctzy7{DA#eS{sdh&XTH4z?uzTIU{9s?3pvokT&og%OEmz;LLULwd zcCpE!i06|}J$`Cm!5<TLwWr|LYIl>ifV+%e)%Rvv-*%psnl{nl@pe<zO@_HI3OsBc zTNnS$Y*e}A)Um=bpz>7Dm*s~xJbs$sGH>xx-zR&rF6P}?yz{}VK8vTkd7Bq}T9oAR zuHv<WSYR@bkaSa5k)QkPAW>bFm3$H(9A8dg4bSdS?iH)JvEbaLz3#TW9@}qabWT%E zku8^+Db^OnxybkMQ-+kuSA?oVyJt_~6~8sJ&phGlvD&PSS4-9fpRu0*-ps;cS@-HN zu2m1F*~rIbIZu@m+g`@q$+Nt;<iO+pD3x5RbT@IqU6!hik~;p&_Xh2l;})&OY%amv zzczHU*@d_6bq*4Y#STTYdJ~t<nOT?qa$XDL%dS4@Y>mJ$_0ZGX?$4h1b@kbAl?ya3 z=HC4i*L-hN+NF{QJSRCm`@1Di{u%6(am#m8!UUC+2Lcr<l{@W{zO69u<f)z<G0{1# z`E<OAQ1PdE#!-TMu6;D||Fl^kSb0vlNer*%ngs_YDhsgRJ|Dj}csq-mwDg7>w=eIH zO4#wpG(A!O^J=@4_F^wS|Chll#FB0mJegG7IInHXt;i!Dsmd9rR`nV7Wlz|-bADmy zB!?wUyWI-U=0&ePcj<v-=Q(egQrRpn=Vd#lPJZ6$UvT63=T!o0@3f@48P9p#{5I@S zW@4~RL&68+8^1%AWq5KpI$2u$OIkUF>$Rj(3ipnu4Wfzq%eJYoN*7Pyb>4To%-O(4 zc;~N6Q_>_<Y7Q&2Z(pm;@O)3-Lz@LZYf=x${&iedpMJ;aXS=Q(BZFLv%xBjV<~&Pf z7#6eVF`Qqy=BL=Ra}Qk7i*~*}v2ugdvg}6n(|Px;8Q;{diWK|c6>-y8=7FaD(xA4N z@>-t~r#D6S{J#3)y^vY#nsAB3<?Po@#hDJ@Q|a0m6JfL?#z1|c+*hU>5i#s;+e1pE zx0h-e-?(D@dZqG$a{ev3Kda{lWqn<@^qHH&oCWNC);-@%6pZzBl-j56&A5`#<md5y zg>KsJ?YmRA?m5Y_F5*M+>*&D4&pe(Bu3&jw%;%n!u<i2g`db$x<Ja+V{HngZLn@%* zK<8aO4&^6z*xak;sx;0}X|h<vzWI~3(XHdo4Bf^J2He8uA7%Xsi<6W19AN!;UV)a1 z$%%J%$92@ABd4BF;j6X!7!dh%>e3=%^}Jf!*G18}iWAvhJidGR^g-p<p-Y;5`^+QO z2bn!)JTAFXb7R=G`vDVF*6--y<A2(9{K{K(p-quDTrMdmD}0sPs#E5&bE>{e@0>}^ zGSxx6PO@^g=VjVu8V*dVm&%Aaxb)@pT`m2*kB&+)SoJx6VcYWjqOQ{B<kXB~sgf2y zy9MK_Zav9ez4uA3Wv^c-!(;U;;pw@x%8DgBCkZ`njdSx~8?i3);Ig~xX0zX3I7zxQ z<>d1vwY$RhSmicMb@5e7-{&8{)a=r`M~2%^O}*RZSKXg;t#PN2!Kb%pax4{hhZvpJ z$UXF*VdddXr8<=+uV0^d*e`Cdrtw$febM>WF`oIKk8bSzee$|!YjJ+1R!;QtZuREP zg(eLz-sbC0t=YOUq4{0IUjL|Fy}3o9YFj2~8>sM4nPAnmJh^`DO^fZbo>(b;{FMB{ zHB)8s8J}aGJc}93Znd$!I=nO{M(5hMCb9m7w=ciSIvuGIwC(d2#l~~SCrxK_#mRU+ z|Cw`V5*r))+LCLBd^<MXS-@lbDl>+!K5wyz1Lu*}>WwG=W*uD|ce-fZb!&!Kg-0{J zm)t(BE-bX*x!u&_H)id{mT68^$s&`5lLNO}G)w5uGP-e2T%|E`y4Btze4FA=ymL+v z*uheL?dy_XF~**IW`yTmocH9rsOr{rt;N>L_avEmk5|0@vUnz^#IO1u8{vGN;H+?- z+wx_G^X9sihyP~~uM_u{K9(4H@TXVqliJJ=FXstF)a=(YcR8uOd0o}4NRxPuxP+q_ zGrz^PP0m={I{nCh27Xh?#)j^IpVlFAwY}bH^ZCzSI$x}^(A`g>_wMSf-`*coXERzF zp1jX_;Y#KseYPdKsbv!G|K3T|@@eInlv$N7Z+w<;LD1N|_D0rI)8iMu?EU1n&}+L! zw7Tr7-lyLWci%M643^IAS|EGe^8HcA+=uUZ&X;~`F8OXOc6aB_2Va=hR!%wZ`Jr#` z;#W%({+$cnz_XFj^H288N$0LTV&!Gp^;{wEgy@r9dhOX(IvJr({Zszl`Dc3h=)=2N zjJu8pu-gjTB;VWODRAz~J@;ityM67|6%q@(R{vdETWa@SG0<J!v|xMKKa*`?UD8W> z<`fy!ORY^@^kdnd%2|DDRxSQlIl*4)s#)TR?Y1m8UR^I{GIN>vJmYV6(0%XSohPTP z>97`T%I?{EsqVDk{nasE+)RG|W_<a!?zQ)CZMW63M<xkhE_}92^VYXCQ)wse8Hy8{ zGepX5q;759*;e}Zy#F$-d_A)VEB>r<4GnCSVA{J!O@8WUwSse*eJeGs3msmbt>&C_ z=%TC00gXjn3`p3A#Zp$w_{6jM^DLgNKCR_u^hW$uVa(T68rmmzESh@!_FOOLZASGS zpWGkD+<viL?3L%0nc_PR$jrLFa~AW=r8`_*-|+b+sx4psigjT~rm)3HcD8+Kt9M(! zSbpJCzd)wc9r1s)(-uBkc%EJ6*(&F6`!)7n;MOX6f40i^jM<`xi>4_`34huguDHr~ z@vZmKm5YSr>hiW8*GgZ=DPwwMpVl;G*0op4eyXIbeCi+dIDd_eV`4`BTT_lXM+y%1 zNld&GUix>x(H&#c%`qAeBqmHe@1U7m;(j$H{;jQEhGJP-y7rCg>T5yEb0b%!&p0qo zYbxvMa}D+i-sj~OTrsLB4*ke7@$R(V_&m#p(Xt%tgZ~}ByiWM+jTaN2uogEln4Za& z>YX}i?G|AchqBMdq;G91sueirx`%mv%*JWSeCEkI_ogmoZ`e9JQsn1{<BA6#Rvga? zzm|K%_gRdmigu5P?BCbEe|(db+<DhNpH_G>&(rS9&L_;Nmu#Gu9h8{&Pjcg=m0Nhy zKdyO^S87=<sm8lyf|<U5)Wykx(Hp1jjGWmfvf_Q%n;gBhkL-;WKi)6B*(vW<<7B>M z>%5z@bc7a$vrK&dKHybV@6lh~CEM>Z^+<gC<i2xx{OupTZtsmux+PfzysoD9M}?&Q zu2C_1{On=>It^de9`Q{V=3R<Tz3j2$Smi5@@2iRr=Ot=tR!2nlPwdRPR#ve@>y1kC z)y8Eu-@KfBPuJSkX5Qg*$&AXIJ9EqG*$tDD3yTWwefjyQV_N=}PEQ%;Tf4P4<`(7( z@T}`7Y`kr^)h8lz_jj`cCw4G=k^AzF-8@adQ_iI^_|DhWmtN$ra4)pnFJQxws%7_D z?$Nrlxmk8^ZxvqPuUeOv``BqwT!cX3y{QMDs9c!!D&zgtTh8`6`w~MRRF$my&v0X6 z(do4CjcJz8_m&F9MXnM^_$*ufTyojAJu7z!G6eSUeA1jbXU?wjo7YP|yotN}`DLW} ztd*M^X1fUaEY@1S@Y~wg-DSITFQ573{`csEu<DoQ-yPO2(K4R+xs2iKuM6zDxvR6L z8+jXCmUt^Yw@Pr{qpfe>-wU~|Q|IP+Ao*;L=MrC$iEFm|n8`HE`|D`x_v+G(GiNqV zvP%7V^6P?WXLdaO$eFv*rts~Fld_q;g^!9p9@ITj{60p6yY;}!A6IwANhi<l4D>TH zJg3RFSo-91mg)I9`lcC^XY8o0RZ7{B>RQBk;5ow=Q>|C#pAK|2N?z@I7I*l<b+1mH zPc!RIoLj>l*nez|cjnXF<m@M(cf6IE7}oH#>vddVgrwgAKF0$G|82Q8=~?{UGmZh3 zk}qFnCuF3>8_c}PXnjSv@qA#=h7DUAG!#=`cuF_^$!rX|>%nHx;L`IzZt3Q8o-1!Z zl}x+ic>F&@-0JQPfs+)3x7TGvTb~Tc30N%axk7V^S;i!f?eFg1m)`qVTkE~Iu5!#_ zg96F=?x|<<bX#wE_CA<m8Dt;Tx+TKqnrh=T|C!UR-PdI;@;ucmlo>ni*4KmaGpG0P z%#Ye+vU=h7>4nT~=U-)e<}L{GcJr2Nwkf={wC!3#o4u~%go&T+O&7Ur3)-^b@0+Y2 zH~C)5JfFmHKI+5y##y=3w*F_}ls_`p$&>Zi>Qd81eDim7p5wIr`DkzU(Xv?$7xQyV z4sXl6aD;1HrEOu@AJav$>>isg>8466cW3rz+=}?*f891alr_8S>Gp1qCg*P&)3uxT z+gx=B@F-9HZg@+iKI%%}sql#fAy4KW-!95O)x;rZYO=bzsIJJ2Md}k~yj?3HW`CsK zE{nT6a@x7*nMoR<+g3fFl=&(872i_Dy;>{o_TRJb&swj$_VyHW<Cy_66Zor~cgpxG zFO0aMnI|FK^E>#e+Jx2z0)|aln{^C*rOqr&O7e^NYMSKhe%>|W?Z(?rpM1P;^0Oh^ zy<F<2QfLoz&%}9KrA&I~UJ{94u6|uqq_?!lB~4!^-SX@4wb2nzrYXF6EpX0q39G)Q zsQBqQQxzT*9<yC#v2?ov#~tRL)-UQSS8s}P6y84L#0~{EcFXUpIi@9g@97Y?nJ#g= z|KqBsYHnG3yyk^;rD|2mt|~N|IHhsh`qRzlw7oQPBTp?o<f$wt{K{hGpVit0E|=b( z^E*)AedltZ%ZyVA((_N8=6TS!zc=)X+9#HR%EWo0r-TZMuP=?8_1^FDg3740REEjN z)o)0hxy(1Uh;Qvmzf;i-@$cNMdgPxwJ49{X;=29QqE4lI?z7GvNO=BUDEnBA_s8Ji z{rhGgy3hZnZE;Co;*LF~fA28c7Qf2M7kX9Ie$?0TkMx7Gj4iX>!uDQielyA4d0NPS zh7>;A*O&fSK77wzp?7sn2}k54|F4rg7%QV?Hp|ESzIv=D>F4qtGV5Dy7?=O3@_$>K z@Sh>$)g^{EZ|6^#SHSp2`=Z=Gw|kRLT+)_3$nbm1d0Ux3XCh;GQW8FTd|o1J7j}oO z_=>z&UO1Dp{tU-dt-IZ&D^$ZQlfqZnd^~?`)^@*BxBK1*Relkby0_Tq7`y(d$tNEF zy0Rf>vs5h4v>2Y}>g#P+t(oYX&3bKZ#mi0S)Fz(#I5qg?>#m8*Oa8uD7th@@@9U%g z4AOfXtMebMuIIk#bLjaI<Jt+8xosiES7u$Bs;;TAK)1%G@APr0zJ(u+%9%7(3~oI5 z)M#;jU-k9XHk!{lQy*)I+jjg4V{2a&RbhQ-mRrlJ(6tFJ+JB!P*D3sUZBgpf2%j_j z_kyhCvsSIt+_AP{hDwmU{<{ZH<Ziy6kX5PdHo0bV$L;Mkzpsk!Xqo1!zEHwcrkFM3 zIFHv8=F74NSBRc<Siv*V>*)Eqn`>tOUb5-()1AB>9~+i@@_czbDl+eSrd%NV6`5Jj zO|5(FzDI7|TKFwPH@SLu_e_4p3F&E<j~RwM@=jaUn_if@{O`I_k6Ug!zki;z)q1tN zc&Fp!Nud?&FJnxnt*(4@H~qKM^%^_b?K;X~64}d+^HsO9FD;MHm^$Uqi`5Mr2?jUb zPWB4e(CX02Qe9@4d)xCQ+k$!KTFRwAH(y^b^7DShEp|)Z-7h1n<}Lh|zHLi4Z}Eza z9PM)#lqLtBvYz(vw#r*;&(Fu~T;-40axUGsx9iZ=_j-)Z60B4HzL7h8ZQ{4gkAB;= zJh=qzZ>#@kU#4xEWL_6~^wZ4BTf&$3J$@b1l6o-7#=T_My|r02GvrIR<ev;Z9`>d< zHk;AtNGsEE?o_8f5xJ|pXOC<+aK<twnYpolso3X6mZIG`$9d;j*loF8&Dw3fh+Xr5 z4C9Y0UVApgPgl43&k)7Z*gvDS;-qz@#G9-wn~zU!yW=4fFq!GfsT-Qg$`;3!FZ>D( z3yKhbqVH3-;_#`37dPxZR%!X`QhSWn^L56@C6`SQYkVSn`O?(6-9;5k7z6E+sy-CX zzqZ=LX|v~~<3HTjhBnN-apIp>;W0OM`(C&6?6Xo6PcZ1m*=^M^mQeXTrRHd%?~zr{ zRC!KrFMGFme$}+5XSsh*xhxHTI;oC9{+PRI+O1o6bszV-mG!y%2%im@85CP($(Fix zdyl1ZgUq+{Rg<dcTHU*q8yqw@_ia+xgxxX>i?2-%Q=hSIdQ|P6T-(oE%07zSx$*e6 z`lUTw^#bdUycdZ2k#^}tRK~{Lk}MKwli4TL>x7wil-3K?#9v`+f0%SFPQ0BhdxDqA zem~1^>(f4*Z`mTxc9?hF#H@*@3R31UNbart^*MIKa#6WVTleBs+uDwuyJ>RPaH8&1 zkI>s&Z|HyD`)cXmJ7QI?=ay?5bZMO8JudNO^>=f*+~c!bUllmK$!`02e!ksg{`N;b z)>+dHx5w2ivCLnZ^5?+brLHDcSy@3V<<c%m@JzCsx|&JE-^%}I_BnsH<?|xq%KA<V zM%;EW`+WTL^^dEzZQuM#|Jw^C;mF(TMBO7LzN=pd7IN7fd;8_Lv$Zv+MK|yqoWCrj z<kzgTAI|Mp?=(5_m9^!-q!gv8Pp8Q5jbZQJs<|iqQ8Yh8RLs(?Yoznmt4?5OwPZ83 z{PtwlTg7W8Yc<@{mz?Y6ouJiN_s&Xc#@)36U#;3|S2onOiwdn~{A@pSH_PMYmsa17 z`@2uxR{Uw`<HB>5D;K45&3SHLEt;IOal3*Ji<|N7wZ_$LsR;%4U9+N8m06yAQK+|? zUcBtfIm0WznuAX<J7y|POja|KVBCCCH1@DxP4g!np`z+8_H&K?XWWYW9q(=WcV*H_ z!CgPI>dI`}3uk31cv^WrVu_C6pDML}+L0p3cAsCN-QBBo%{)q0rpgsEmZ>MdD!jEb z`)-}}?4=iNl=fA-)YmGUT6y<|-1C>wR(buo%VSkORZbU|I4v&S^?XkHg|yin7dQT1 zny~iME}0Ki{Z$8dT~WUA?nN@g+@0^EdM&3u`FVAg&Xe5Zm(}*%j=cJOU$1z^q*s<) zOSGyUd|lFQ885wW>H35DqW6ARyU!GHlW4f@A13-PDs<|$=?S`T1cUAdifDaHvQ&N@ zm;T6BFV@)YvfWkf)4Ermcy@~LF70z*DU;Q{o<8g4t&mA3f?AqqlJm^^YByzjzp!O9 zN_bnQb*jqXL069Yxg8ac6+;_--xc9owjt^Im({C}`EQxsATr_RapjHQ*Hu-&tv_;I zTuN*bkJ%D_vyk{XZdMa&Z8OSPa_|4xcIo2TeX~|q7VK`?^yfs6)#M1VTRgY+Z2Prt zy<Kw6ZdYl6#Vd~4zOMhx@AhHayc5%>oslw%Jk6@VeI>)^S<jaJ=zL)9EfHsZ*=p{J zFoDRn+Er1mMcc~DPA4zFA)PI8NMB{)`xlO1*IRv@x477%*{5?F+kHuuPdt^UQ@$x} zc(+gCp10+6pUWvbw)Jk7nEceH>e-5nd6N5nw6DAST59*+xt(|S+04<i7UC6bs@{+} zuXD|hQ-^(Kmi%Yn?|&Pw!>>D)gSm0eU*5#5s<fqbFAE<<fBUpvh3DEqI~Q3uj^}n; zZ)MJ^-M!g)sgm0KG)EqWJJHMIc6?i#y?VLzq=L<IT{0!dop}9@NKTVdo4Q1F(jkcx zi4&qH_T6OL`efRJXpeIXc7K)l$$x47jCJDAv}PaUm(`rSQqCcJ=@iQw3wV-6iWwiv zX<fEEyxKE;xyOm`ozIw#Otq=Kb^1r?;^-*<%F-20yn7l}rM$JY`6v3uYEIbo@~~ei z6Wn|nHl4UTv+8%(C)x0TJs0!t9pY_GN#i+Cv-nlLSLSRt|CH*5H3k;a{>rijStXOq z%eg#DWG$amhd2L7J|3rdWvh3DQj>AM@lRFnCp>ZmmFvsTsLs%74dvrJRu$IAn{`~} z!lx54CN(@o{K+Bt>6+OE@9ytTRd|x#ztkhWNmKIB^t2a;m&+~MSbEpjWUp1NOYf)W zMd~qK$9zs*v&;P$JK^W8yQdD@3r;*?^DA_&z0cJ(%eP$Gvil+H$sUU-1(uSQ=e<r| zwec=oeMcqOWu?#^NyfnbDPP%k?NFTcQm@q3E<`tJMS)wn;^Y3M?#5<avJWNZ*(SZZ ze%58jOm9h<L~p+T482uX1W(uJf3sfuPWjf6g~vE-|At(j<htf%cQxNeySMMT-I79& zMU<=$zLc-~?86;7rBK5yuP$zy+$2&R`uV%G>)Pa)Za3YMjk8xgWUdLU;?MiBs<`6r z(jD6_UyVBcc7do~0oT0WyTgqW^Gdx-_c!`XyS7PmLUZ%h&DVDNOWruX`1JBSnwdK4 z)2-+0h^sHF4tS#0yI%aq*Tl<{eYW)2Uh#QxX<kva`NH*bR}&MLMSV@%#nSlq^PR@~ zv)*oz$kjKs4PBQQ`Swxgo~^dKKh$P-@0)1y`?Tbj6Zf)XZF}0(>vu%2;C&x?%q*eO zrOZ6=v`Kl-4hOHt3eUG?UW%Ik#zoNT{lq@cSNw6jWz)k}K9Wre+uCtxyQS7#kK<9# z)@^yZrO6{&XVr80!1uA5UC)g3vboD8?w+ePXAXO~V|%~8*3;YU&G$Cmdz;joTdk>X zA0O4=asG4JDzzuq`-RPC?N_@zVc)Vv+pO2QUe|iH<5*qbe6Pl*Vbj02yiIIiU%xiq z<4WVaIblVvix+O%x2v))(oj)Cec%1h_qKnT{V;dsP3483lGSZeK3LCsx=1b}_K3Ls z5sR}q(RWsf@>$BHl%Gvjy0~|J)+P>{t%X^iEHwPxV!r&kZj%4LRC~soT)&^o3l>bi z{&98qwf8GCH=nN*$jCj%a9(|f!gcE<OTKM7Tq!ldkzM8Qc`r|%7yCE8Q@$qdxv#AA zoO61^jDMx~jxM{IDb(Ge%$)R}VU6=7&-W3tj;;AV&-cp#&qArGHGCen2iMl~?cIGl z=BRahWQbA97uy3%F7RE|Gi6@ppUJfPc$J}E-8XiHuB{Js%_?*je`H-%d9+wq_#{Kv z-lcuBWmc}Z>m^#avB6TcIwdGu&UDMBtyXqZnxsoCc@`vYejT~x?E<;j$IAO6H=Uiy zdCWT8@SE$FP1|=C9yz^Z^8L?iW#hws7aMyt%RKn9Jlbd0tVoqrYjg7q9?TKaUe+_K z%f+lpymgQ5!`JuOVq>$u3q{AC)Ow>;7cB64;=N7l^@FVAH%Fd+=E8qc&48<Kj@0F( z>G8>z*YGJ!m}4%lzx~>t-x2%8F57l_*c`E7zQTM`biQ^`(ay=K+JBuq-lcA_IF+k@ zN6t5V=9kV1Th|oj2YzNxIBb7z)B4n~9r<%i*0EbW_|NcbRr_>B)rbe?EPeJ`mpB(o zO8t7f_1x^-%suMUi;8AT+mxRz{_YpMfz9mu+o;cX_bp_xtNOF;z^aw9hF7jxGcZ1u z-YIu=RnFN>&BtyxZF4R^YU{MlT+Z09&Msl;=9kx&x+H(E%PEzc5@FfR)BQc!dP<4K zYu}PXk26lZa1Rb!9HaN_r@K$}6`?6T5|5RYXDt;p3*!@cAip+z);rhG(B#$!RsT#y zmZz1=<o(<nx^&*{Y(w@l61UH@zm7gMTl93s`6<0@-;)o>{=Rm|LG`E88}?Q6+^VnX zh_9M)yZ7+CtQWf{XDUm|e5ek)xa4G!`P-6ei6owPOE+IA6|Hm5&oUM;o|BR*^Dp%H z@tWT^gg@EGuXQifa}rc$bDpa3W$iTCQsH#x%2m79Jt~|3?y-bu$FG?x0tc@z<g@;! zv@vaWn&pJ)ssEI(e_V4jFR~-3Ds19{i8jaG?G`F;&}}|uu}Zh#Q~BBC+J)PNcr|z4 z+99`hwX0BGrpX(3n=87OPj}DT>bg9!?Vo<ss_#O13iEhFJ92jF99OmpwVZz@KzwUR zWd}RE%C9SS8ON?!u<up!RH@VAH}A@pc|QNx>ZYP%M?IA$zs#qfLtp5yN0q4^o#^S~ zcItBfbrHh|&I2oE`Bw$i#jkY>>1&$$#^8?T!j6|7wksbQ@4jsE^T1q{gK}F9Y>zr^ z+*aJRTXs!P<&%(ID;e1y)vnMe{w!0z_QsY=ciLHNIbMf9+~k^2z$mx1`-m%RUvADV z|CxT-VX{)Cl2f^=s;@igCNlH)-a9`3*cO`(F-ZyU>7neIZ?rj+s(F>?O63HuVEA*d zd1-WXL1R_n%h$o{&kB^jD)v?MGn;$ln$VgXhD*I==0$w9+w!4dg7l=lD>=0m8h-aH zzW*Y#@AoFp*O6vQ$LEN)2~P|(-go%8<@-=?!xJ*;OTA^nRlSA$-2E1<$Yh?Tz<lEP z!+`vVD|(g7Ewv{U@w#o;tT=fEOIoAQ<O}7d94bOH^xPA#Ex%{ApQYq@miuJ=X9>!3 zkN1i(u(OCs@D%nve(jgZG*RODJi|bf+yCO)W#&hDG$@-eDti=PmJoTGJ11F$<AV{K z<8zZ<Ibnsbw)|PXoeLsW^JmUh_`tr@)P07ZRaeIXh6I`CwppPH{nL8_W-|X-U^Q=V zmYT&m_vikf7X^j(zvukvW}$rNvdYAi+PyFPj%1n3$RvC{8!<I@!nz`M$3WJw2PLKn z2?f>xVn$D5SFst+e;$(hVCr$xts3`?FYgUby2Q}T@Lm1aRhP9sN8Q!)EZ$hpn!51k zx7tg4UE@DVN(gpxJb!8_V)S#qHILlCt*azGm8|=hYA2X)jf%J$v3Zinzo~H%vnBnq zLrgkuG-<N22YIe2D&EpHeJ^WFx^*9$=EYOz4*X{*xtzl4erEZ+zgk;-SQ-s74W3!M zrB+9L>k*Z-`+D;Js<}5U)OOvNZ5FtRM>L3kZ&CQV^%t0I|7I=R+nIB;p!(Z;4<ong zEA6(&crAF=n_g?V$#^m<Q$i+mZp+*)*8-OFMoDgB@GE@n7&Te2d4lHBjh?+6yQ_8{ zShwk#+9Z+u2eSVej_vqny)Wu@$@AC+bN=2*+PQkSLdJd(>)GlIp`D6zdsJuoPo29! zK5CtcZPb(#O==vL=d#aE7G(Aa3!YbeYl2MjJdFamM13DUE!_iiO4l5jS?Xc)b%`Fo z<AD`de>}Lv+$#CjS7fG|62p7jOs7^G0XHp88MEXANA<qmT4ixuH1Ui+yUK?w)1Umd zFV7V>&RTKCuRJBJNp;$zR7>{xd4>V+KTFSBzSqT*q4Cl*p56LuLmcKj;Iq2Sog1@V zRJpHZ<xwNe(EAC;YIy@Q3K)zwTf`@Ow7k3Be`;xVzR9No|Fvc}9T;ys;pwYCw(e-e z2Bq2WH6&K+bt@g7w_M?B|Mn<uWnorf;e+g3(`@!t{x<rWH+4?iqR5PU>YzdSOj|cC z{%zhlTzY)f-<BONZsX!)kddj|D(otG%E_Q%l5qg9!23*2{bTRFnlc&-LUQ9C@BF@e zm(l#`vuc<!^;mM2Zv5`QEZbGdB~pgDm1jx$+rUao>kjMa9c$Sej!Ez>?%T`1SMNfS z<2<*bz3q>q1kN1oKb`huLRH!l2H~ExH8wRuT7CZ+bRL^1ic5uAoR9m;awei?@2|g_ zOHa%6eYwuVpgiYev@1`;{^A3o3cd4H-JCwvP1QOeCJ?@?&{KHoxkGk&{Fl}mau}SO z-R^w-)~b7NDkWI&_RV;w_0S?_y<=qX&bxCyzYRUZ8p&yQLso0y@vK>HI-crktG87L zOQl@cZXb2E*X{83$v47mQr5<He!TK%vfi^d0sk2m+n#QdHedtYe<0=_dhX7AN1qO( z0~ebdYD!m%OqD#Rt=4kmKf}J=AN!N9&3rcDkbT@&k-qR}YAbD8+jzMY&qPm3TI2LZ z)XTHeW>(KBhJ&`5ON-BCU2#1lm-x8woaXKWD!;Dy8D5%U+^4lh?PRyGN5%U<uE~rm z4Fx6`zxKK1c~Yh-bX(5~mIuu*-7X!UcU2)=LNrrcLFUT>y?a_N!6*M}tFav1o9TYW z<Le6d7&)zj36`P^oHIT+o)lHu88heWs#AB09cwPcp1j$abn{$omeG=)o`lQBv#O@D zynAfw$(*7jZo?I?d(1(mYsM129Z8X#C*Ra_?UMIx*A}wlm$y6{u(SXF<)7Nw1%1EU zYj{Glr+#MU4E~<-Af;aG)9UrzQ7S>6yqiuJE6MIDSn^xy@bpLeonQ4Q`)!`UeA)hQ z)su}2UvA%(I%i2`awdE40l_%WNA)}z+Z5j^&yskW6!BJh<u}p9lKXPm{~11hw~ltJ z-+gfPwEqkoIR@!hOW7yRd9qSv^8Bi$)<R1vL!>@OoZQEMuUhkU*S+RP^&M`vbM1r- zD!;JbxgNXfkIkjr1)Pf=k|#QzHhleMz22mIuRZ53bWwc5vd#Lp)Qg_WSITv=^4Hyq zw)r*pMQ?h6Pi@HWS?~U+ez@&^T{mU_RXvFlExBBELAJgXf4-Ls=SFT~lHWb++kXa@ zSI4+3-YWh4b1r@xd;VI{>pQ${l|4R)H72%i5j2cjy6gG9-O|z46`aRJ);lf!b+vSo z<U$9h1+FJ<|A~B;<+`&^Xw50F^{KD28(b!xZd1KpdG3OLRfVUt0^{+R5SO3L&kv|> z=g;?=a%|>3{<t0Q9e8@Z6nbSRy4y%)uoxZ|o*x{vSwrHS@x9es1etd(VSjzpUqdiP z^|0XQ#E3G}JdXbiMW=pP7r3vr(`c$aD)Fv3aPQGQDSdB`x!O5MeAYU4Uh?Guxi4!q z#a>FUSCE-h_cbCqd^S(dj<`KnbcH<1rr&U{+v>%tmg=c;v41K{Mit}P<g9Y>ZpP~3 z&%)d9?P7b%U$9*AeaQJ~x=Yf7o;?1rR(Zj@ezn<Adp>-<qw!HFWdd8yH`}vSv3(1! z7p_@#@Nx0+jqBu(-YVR;ecB_&hRWccd0O)ipN)x$I=jp-Ql;U6@y9O*)}1`|@tKR< zj6+Xq_9fJO;I9hpOS8zS{v3S!cGK~!&wt+?TR%gviud@XozlX_lf)#CGcR@dw)z=s zkhdIbj%Y!d(c@doye*wM4Uc-yh*>Q=(IZJg<MxE(G8<Rt=Y%>>-tv6;+DL(p32yf7 zbA<0)zUk9Ee~)$bC7-n5%1*^opX|?NK1q;$=V7}$to4kM;m>Fuhx2vWcHWU39LMFp zobu_B&RBeVb8+>&nQNXKPuFHid46fj<4bGr>s*)l#j3P$-!+rD)`rGfJHA+|bql#? zr<QBhTNz8a8F9WUc3YUAcX7tDTg&tB=0D3m|24les>Y~NVBd3@#G)hN`fAG`-52sw zy!d8G`h*YB4X*kr^WN~}OCC*K{wlyXvGSS5xu=0W@?P!#gjc3rVqN{jSVrJ(S-=0< zT>iFs3VU7WN6bxD-28N<B>SD~@@p%+{xkUOnpAsmQRvANPYdtu(iNMOsuuR|dgY<$ zDD746&M_X8d$#MeJ@czwU$=yBH|H1KbNs1d@ueNMd=-!P_6K%~CG>7tU7~FIb$;8k zdCxBBOgzq&Y`7*}d46C-(tF=n*4Z~c?aptlli%juxqiL+PEBqDE(7y2wte}#U7}|` z>JgZ@lY8Et@OxHkG)!JkmSARh{%L*hnlCHA`eu1+v^k$S{NZeR(-E^dOAZ-Mx;sZY zf%#8_$%`dgRe!F&s?+-*obh>cWX&nFCaa$B>us|IWqP_S&l$gu{jzH1>La@+-MnYz zxz%W?<(=yA_3B4!-DLGHsT)}~<ggdMuqvGO(K9LI&hqbB`_I*vMg02u(rc-zey6a? z%#F2c&ab#{wpc;u_jiW7^-?c$mwl}760?=}OBTs<`@;T|`ObCO<x$cz1r!uFe^uLe z=)<zk#3dOY{xhUT@4vN9iOqdN0#jAvKhv|FD^E;TI;P&fPvFMOvf}vcV%?(`0vk9q zc7FN(b-l**Eh}<s9A)%E7xT{DYuG#?`=$NnyVF85J}tiA_0hg#R?Mxul`PX$Q!@Y6 zEdO51zc;lxuQ)^a$~Rj>o?oG}H=Haz{xmN1qqX1k<a>)GdGaJ4uNQr_kGskHF4rxG zn_LD))pB3kKbi+Odt7`s$s~BM8H1bW`GxChY{R*>xs}x%KOG!1Eq0Yr?>TLyC)*C3 zF`V2OuKTl5w9Uw>Dy+xKXVx6m1nE7S=UF}58+pYmYSxiwi&cef&##SZOIK(<D4V4{ zW0uXb`@0XW^17t))17%~(7VVl@(ra<c?-M3Z;MMx9<7y_&RfVa!TjV74at8}KZ+f$ zJl(R>i0vI~t^dP(fz0wUU)3|mGz~-@|CK&V&fM~Ig0b?EHQ)DHZrl>4o}AKnIXC{t z>`Id;r<WU_oGw*htlg{4bnKP(`p!a|O`W})gw?FxDmS?rAD8MWzo)z@^z<r=9Q}<e zR;pJljJ)&dtlN>y@<1m$H!bew8+}&`O)a<TM%^m2&V8GFKz2J<|M7Ch(tz;yeU{5A z>h5t)i9R6bnV!JGeLOzuQkdrau!<z^+wuHvo4q98-Hj|T{8X#GcGuo*Tkjp+m%)B! z$MMIrj&AWjzGbt=1HnqcRg<D8_Gdk{$zSK5xWwCPU&?gtNP+3Wy;r|_C|v&Pn_T|u zTEg->-`0y<VzAHJmpFGv-dz9XChrAa2j5w`Zf4f22}ihh*dOt)uR787DmvSfNB^_N ziSKIb^p36A|LDGCR@Jrn`Ab2Qijz+Er2N%B|72(Dp*0@K%<sis`LEwvY9^I><kpd> z+yhFU)6eMk$9-M@QTy=Q#djm)6U}1WM7Pyf-wC_0X^X2`VOV&Y8qb`hS*qEcHP>J7 zT6wHpeZ6ef*By+<mt~%qyywE>K24TS^1JL@Ur&A=xBSDkL%#k;F2$PP-SV@qwr=aw zZ9$42Ep-dRFYf0mdA}(#?#_1pLdDlFV<c97I=E3;{c+gRZ`HC#JB-$`X+PtYy7-K1 z(#j(_vVMg-`u>D(|C6)F`>da=hMAbj*@9i6E4FQ@UKT&iM0xq=<z91Ft`_NwkJ`6m z&kX-^h1#`;8c*0-uIu-m%RA-3#?MSOJ8i;+RhIdlI$_{xslGPn<{h0dUY+Hqjm*xU z+kC|FP2`f+brakL+1w8`zRSL9r*PvxL*gI%%Ox`zg*^_Qt<;;FTVG$FzBI!1*@?HG zKKE45kJ|Y-S3mr+X~f&FvToknZ+}*Mvm~MH*QLOk6P;`O%!7ACcZY5XJ67QT@O_l{ z_H5fZ0>>5#iAo%Jf9JZPnazcR{W71UvYtKc@KJjEgzv|?e@#2rCcM`@I;TLR*k(rJ zzZ2iruecrhaq1JXZvujuEQYN;iszqyT|ae?wMu)$mfmnpnfa!*2OrKZwC%23b>L{z znu^D-gZri{^|g3>-hHCRU;5VJ6?gNzS3127J}LXz^P}6d>u#49UU<8qOG0R`k<}#M z(yG`qQR}<jDNi%WF!|50!$0=<m-X}hX=U@Tt2p)V*tLhLeP>n)EiY<&XJqwg)3V!h zXJi*Q?Xc?GS!m=a_({n^ukOWquZw#Oi<d<oUmZQ^eE+V+Hhr$8K^0}k58o5pw52D1 z-!+3bRRtDD%VvG=D2ZpyFpNCdxn6~Pg253X+s(mRdncxIuKV#i{7R1Qmgwlz=*E5n zefIfLZ~xdXjQ){#)zmhWWqY2R!er%wycwnkE2@3EtUdoEuZ`gda@XnZpRuhfX>au5 z4S#pVzs=1un|qp>q0FLthf29=Q&+U&lB}(Bu069<l{cR7+g;T?KzoVR)C0kqEvL2l zrwHGht)r{^b&uX-^Xl0OWpQ6kFRfiR-}I%$ZwnQ<{m$WqpXM2U6ponwrr_mgnUiG) z_9T2*AopmuwY12kKgzbf{l9i53t8UopWAK|es=n=v&WV`vcCO#rO*DmED3zsFU7Cr z>im;GS>tHula-SEy;4?ty`bkIO}oW6e%?PK)qnf=w?OH-Q-)uY@6CM}d(BSy(w~E; zYahRkDG8sPCADU9GH;>9@nx6eHkn+^e=M!i&m@t2+R#>N)9mcKs+(tAeOl{&G@SGH z*~fR9FYQ~@ck8~#hx;>23lio0z9m@6l!$)%BkkXPLGwgr=lONM)$&JsD@*)2O#IHA zHCmIk`igMO=I$wrMU<b%)_vT%Huc@a(=+F2s62VgzP5Jt!`ZjpF6Hby(SEwi^bXfs z>5cu*<2hd>)Gp(c`MiD3$F5)7P9K>TC;P!F?$o`MqkUJ;TfU8(rZ@M^bZ1wg_x&}Q zh0A8tm@cx&4Gx%mN~Puq`#0IuJ1^K6raoM&5qV;D;fhlSPTV-Y^G|V{_lNb4d#~uP zuPI!kma?ND(Ouq3@WS&;dvBHM8nY$c-l=0@`EAW|R`HZf4b{zB-o+x$r{iS!W;|Ns zraNQtM%KbP=8}uQ8~&NJ*#6RzXm7LB$)^ub?p;&GUzKroT5`9`ZJ9O6pWVC@3T(9< z;%{v~E8H$|;PISajG<<kPkkmHnaDH2$m;QaQ?Ga5y|&f%tDiIc?w%zfZG1oC4Zr5e zz&>}MuWP1XUFi1r%#x`xe7=@qx~`1da*7Yw8U~xqQ_S7;*y6;2e_Iv&mru@GU9f7i z%7bZlZYb`3G3yh*qVT`y;@z^^RuN52;XH*CY_%r4mx~yAII|sRmZ>Y%(|l*r9X0n$ z*{zs2Yuv7?Jnl2RZ2EjY+rn8MTYd9_e1y;VWY3@3^n2F&kM^O{4tsa|Z|!|LJ1|hH z<Ggim6@S|vYq^OJ_iEjGrp}^}&bV#D@$0{?yC|OY{W*1$)yHC+GkL0$3v3#yR>=0+ zntE4!`p;m`tgPG|S+>kNyhzYz5>Mi6o3NEvgst@!hjTHlTJeDEX^QZ=9p{42^z3Hv zddO;+|L@9Lqhq3+x95~E@BST;78#@@^Jj-G!}rx||IXe0rrV^lx8~5w+jd*p`bwW| zGB$cJ(_PknYUK9Gg3FYXejfZ)b?vreO71!7@9R$qesB2lCrg<l>D=*?GKuc>YcnEV zlyWFfi1~TsXTpk}=EnDalf2F5_#E(hGrxM9e{x9d#k7=%e|HBz-d-jh=FnAbF0zJg zimzn7ipH@Eo=o%7ZbhlKmX)cmzqaw_p3VSHhvFB-m#?+W51zT_9M|#tSE?^PWv=7i z%)F!Pri@_k@gJM76o)=foTwd@%e>C8e`$bmoQJu$w8D9Y!Z48&+uqy%+0y^+m|wBG zrl;Vh8%JJ!JWzA^#EBDU{ka{IKI<z7pI4Vuei_gk$WlG)Y|J}`l{vZjQ8~sYuMX*d zeRHJ$U8CoexcE1hUh7Y}q;XDgSMj|yD>|3NZs<6kQ!1)ce$T^o+BH?z2b*O!F7duy z7W+x!r+Pzm$O-QM3^#tITwFO%J$8qU{GQsZy|-U}TY5Kn!luX4wY9I<t{oDPx;s(4 z;pVyGm%h_Ox~Jx>uKu<{(@0qLORsXx#XT__ZDi!VS`VF+yShg%r=8ihUTS@Lx#*L= zXMXKAbE-o;wr!fU?slJpgskzs>6#grw;$b;_<ZlgG#M?{Q@@}5zP#|tqfUw2QQA8m zZ0=ffUUh|hdcnb}6sCHq4%<6EpJNVBIrfh~sEX_Ckxjqvx`~Ky;NHJjzv}#?$7iPK zOsuSY%zXRWlD^krDZC=m0ewam^1VX-l`_fa{lCsNTk-tkii{;DK6ehQcm-MsUa8Hh zUh%wzF;{5&tcDFd><_!nW?pGHWYlH#YyPnb?%9^PtB$!^Z;;*^)#-9jt=D~qn4xl> zf?0*^s{M0oQl+2si`m6b|FXJsdGtA+3$5G|$0B!sKN|iic6;rd_S@(9<)>yWa+dx5 zGUYR~5a+prmznqKT<2IS`hBB%0he+A+JK{Pinf1PU3`4`Qp-HODPoa^+b1wQw)?us zNp;=}pGn3iJQEMtOsbyj{ao?(Q|pb)>gCK`Yp$Eeg?(YzVAC2OHBWqp%CS?C?W%|V z?6BSF!)<WthLN6x{FI(wSKOYx@L1w5rPaHj@r0<|%dm`_Nj%bhY{u`h_Fmk1pi=pu z`l5MTSWkvMa5M8;SMj=MvZL6g{l6xiTQGt1h4rk}-)8UREX;{vJs;<OZPi@=lZDDh z4ouuGA9r)f1t|{Q%Es8hc$MFECi1F1(a%yMs*FlcuDQQ`x4?U;hV}-lV78^7O}sgD zJQM`4P1lg_)!ALJhC|)DKdR63&x}1+Ckt(6Jn=TNIi%C2?;GDy2WH+@wk=}s)CyQP zYMq`l&+B*KDVC!1RhQQ6ix%v2uo0?#<-aYaVA8>-(;h#4w!~BN%A26q-?wc%c+{{- zQ2gey8@IO`e);xn1-s5C%|463Tc&vouP0u);=R&W;fC%$pE;Z5XUH#K>M5ydw8rO< z$3gWA!hzFfCr(w;S-v{Ci(&fP1fC9diPOS&eurGX!`|wBER^xs;|ue)`lh?;MKenr zs|t<|JU=_<WAkPn&VNevyT2^pPD)hiRq2qJUuU4XzBKRl;wGaW_rwFgg0H>0!~f&E z-jQ0%C7xX#XE$gjuwAMUxx{#~P@-5tW-7z;b?!@jjeRzVBsm05W%>2pR9GiXe>%JV zp2qWjS60g&w%HeBzdL#Vv%D!LEQw2vwB7#2EGQ_vH6vmFEPms+f-}tpC(rp8nizfd z^c=&lG6`H&HckQSoYq|`mvRW+x_y$w)g?2ZPTZ+ddu!7n&xR7o5Q~Jp{yW#~-`>Le zE%@1@NsQ{;KZA}Jq~>m%uVcq8_W0R1k%mimx%F8zEnmM3m_57n=VZ>C9?#YHWz9W$ zu`Dw+;h<e81LJ|$k<-i1G)kFs%6|_@S@HhI6$2~Q-5X+7PIVUWfBZ72^KwR5!R}+; z8b2FtS5LQ^+jB6v?`(s7>Fu3gS2q=$+{zf_=P&zji^#-f7xvX`Q}3I-Yktjzq@3wO zqS{xq>#dH@(p+-mt+JfO^NGQc=f1gT-ud`onx3Wl1`%FmKc%Dm^WMCjyK-`{vF@&E zY1SQ&=l%QIRLb#gS>MI!#zm*X8|=1xzhZZ$jJw`+_N3$Uv>m7Sp3&E7eC+z!sp03z z6RU$A^S-^=bo`mp1UEMayRA;#E7Uqvro9y2U^CCtc7wLj*HX*ql<(Go8<-Y6X1+Je zDd$S{Zf?oTr%S_BG!LA({l+${IxtiAVE-AWNO`S@FDK4>9lf2i`_HEZkGb5VHf&zO zwOd>zLBQzvt4tHet)+!2$=n5Do>sk!3(jRNIkB<#;^Zw48uraSxn{pnLdOc$J>7?k zKm9F^3cUC7^C^xULcB|O=P<FWO>MhTJGXqzMUPXz8-MOR^gHy3u->QovKGPqpz13D zo6qrl+xRw2I@)$hxv9wYBB!<LGgb=x^h}(?pOqvny7n-e#&1FY4}YJ1S6ibaa9CJt zy1u$}{~5QcS<P=JddkntSNn0Lu)#HI`xUh`SKm|1n_>(0S}rKpaB32`c)XL(Lgka~ z%l{0PO3ZrPzrLv7xz-ZCZR56=O04JQHJ&znSsS{0rf|{CCxxFTPFs=TYMq_Y@=W3O zY>8iwSFYOrF+OTaddHGrGl7*S|71Jyx^XNw;4bF2RC)f)(zZ29YR$wGYjbRl2A<G- z`Er&+aoMZQ9vAlHEiL{$sc`<<9M#pftG)CDr+#1(Ji)x-*Okk$o-2-PnJ&EH7Aek< zHqF{oDNtF#uR*WqP$SPwRS(Z@X@~P?tR7!lH1A#X@?NhN3-%|n;rG_s`0k8yKY38v ze`#d@$v%na-S3Zo+FbQ~!-|BPouZ45s;oH^KliA|3v1!1gUW3T7xO;H$j^{r;Em1o zlbA8Ry>sJ^73T^sNJYxsduKY&k|%lDB}==ezNBd5Zp*C(EkfdlHl9D@@cOLd2DKa0 z45j$}mYde*Cin9caY~%a+Isxvk-*(P$tgK0JoEgFLyMv<-@LeB`FYPxcNMKK?0;9i zcso~ZtEZB`rGMUB+sq9=>MYuH_tl$jw=A;D-Sb%ToYu?DnO9i-H_!L@7b?AXrCIBl zu-0^;la>vJWdS#TFTS<@XQzZ_c^=cw6Q7P5z7GjHmn}X~ZR&?7Os7vMlvu14l=0^% z)O46zWE8dNv7r7M{&y2h)>%sLIIyDg^4qoVmQQo&e){)L$#a$ds;TEE{p8>}**}GU z#xI^rG54d77O_ld<?MNqC#u^ky69SPV8KMkT_VR0_mn-EwYfS|c=<$~Hhc5zHU`0| zFL)!O_lkKOX>+soyVG*ZZfaEKmQK}A&VM?Ln2WDXkoe^J@MiiX+c@_09@f(`J-@E* z*z%rxC)3T4O`kX|nAS(%dU<2!RdY`@ndh?X*A_%;3l|)EcE_W?hkti}u>*(6hxLVp z*~Ky!+qj%cf9|e+wE9(h@Dz@>I@g}5CP=HZBrV%}b*;(kt(&*Wr`;+yV1BB=!^B@4 zwK4wZwpZUKuj$#dIa!kZ)-s3S?He~vEmU3D6?pzX!>ZQH%clN2|4cA%Rm`O0mT&B) z)?__sYBSzaTIj9%cV|G(3=gl=?R;+9W^G;T3rq7h-d@EPa?aynhwZA}(YO7ig2eP@ zs_*==GI`hT^vIeM8-7?SKV!bN*4y+*VaGI)IflBsWqK~mOm*)&@89NWbC^fF$^ZMl zrsW&<Zn|P~INdt0ry+D-*z<i_5exOAs-K)%!6Ia_^2vtF-7|w!!)ub+CuweDy|LbA zLBgb@b;lKN&)wf^x^&+pk0ZgV$BG;3*E)P#Yb2JM;wo|b%lpVx-6Hd1j3t8nmdhUX zV)}dc?e#nJu9-|=SbBYOLp9$_li$999JSjHF6BM;utEIZs<YVz3c)gM0e5TnzS_Ct z%ERrGEFOmScCc*t*>T<>!-KEM((bCVwToW_A3yucV4d(nMZ@()1y$FSvt}*e+HST` zsebp<o~g`x-ONvGPCr|5@bQHDwY-cQb&suhc!*W6L4Hm_ZR6KfkA6pWvP@QDo|7jt zVflJd-L1E^*3Z_K_n&TB_vqa*wMo$vr|6!Pt&l17;OeY5UNQB7ge8OAkFU#@KAJKy ztvxe|X-+}iRHm$3reEIaKF!#8?E1?eVQ=@Iv7VgFx$%3&!wfA|k$HEHBu9upll6F! zb#?2J!aqv|9+VtkUe&GhCRLDK^5paWI?a@cdzM8UT5RyJ;VdivJZGJHo$Bu9-ON)L zUD;!ixk$^l`l{KESuzGQLkynwvwvEsuP|M3>j}&JeOXaVS7tRU=!MT?Jns`y_)73t zOUIuNnisbu%S8t4-XQt=^U32&vrLTK4%r+!e%0=swak?*?DEwsvV^ovxW9S)XXx&q z(Vt(Hx^HPQPv*CrJ15w~EtOx#uD<PVz~ubQ(&j-=@}<=lTQ}cHY*Yw5X?uR>5;m8p zIj53-SHJnp7tP(rzBJ?TifE5D`x0+X;7lkESo@~vl*HT8xRx)^w!ZCMdg8X-!7a~i z`1oZr8>6(lgUwE;oL_!v+rb{~)kaM_9+##|>g3LT^FeFf!?~x=%WldN-Rj9RvoYjU zUGmi#WeS(Bl<UQq2=Q-jW9?v<eEwmTkfi7~g}=8xo_wx0OH9MyT~}lA=kiCh<rXJf zu{LhEc&;Ki@$IZ7Z8KN$w!Zn$$Hn;igu?G@rFUoFiuw1gOmO1)MGs0=-acBDle&0E z@AZUZ2X0y{Teo`g{mnlMJVY3r%_YxY>lQ84jneq}`E>e^!lPNfwR%@WdzV_A3*pnY z)%`M=adPpR9u6M9fb9>XPMc^-P05kls>?WE^vQ%%QQqvSuOc4XJD$zd@64GgsCIdN z@$W>(?<SpVPOJ+|Wv%acAj6+EF?G}KjK|4atv9}4b#}<$?$vYJm$k&>z&oFG`(DE} zC7F*tJycIK;&^#-ReZ|j?e>#iF`kz#4&=xa{~qA6QqJ(ibGfU$jEmXZx7_r*>HIcs zzIoK1eX<(_tydH_PCZ@n{N9GCH{Fd58H<+i6=^nyOwZ7|v@?h?CjGSs@5wD4DoXYS z>u3Ky;4X1oLTN!g$5HcB-(3qFRf?zD&HM7Y)|2t`x`YXnEF|7WX_rk}wRfk+@i`lg zi|Rc{aewHM`$SbQm8I~&$%D3)YqRHC-8ua9=(LdE>ux-`y3D)nXWSEp!*k4IuDV}- zbMB(@=GGUYKUOmH`^@?!z3i6T{j6J8bk^x_$`f*&IA?w0>%iNY*G@&RJM%^T)3a^U zt{qF&)Y<gsFiZN=$ICL98`|9j?s6(+mI*jdi)pjldOc!>ZqiMeRnanSaZTHlql;Fp zHD39+r*Ptpu+V?K-<Fj02MWBm<lR1}N~&DSN@Sl96U)KAt1<lfRhKJ89=V749+189 zXwM~izI(OHPql|Xmds@OV9W4$ZOOK({EoM8uE;vXXsEBVlKZi==v>Pt*&RuXCq(?d zIz{kE<INM#SIUI3>?(QR@m`<*jD1V_+U#7*#u$HP#)J3l;tzyuFtNK{+xWEO$@8Zt z{%u+G{ivs+$6KX@=;`eJhZg>3TYo^jF?hjGttWw58=BgR9>}dSoHaq+*FC_(`-BMV zi>kWPG_%Nm70OzM4GXU2bZaEZTek;g9nn{bFkC%deO1q;4N?<%!x^HEZtt0NeBs;R zZA%|jS5Dk^>`cRls^ZtdQFre=KXrGH#d!<SRf0V(^QTr?Jor?7S=d$L>)nC{ZQk0E zJagFW_D_vzt%-<uV;0bS@R-EoTT9x!-8!Wl_lDG7Jen09kr{Mc*;O(~T#H#|a?p)a z+?kJ#bDjMb>2PTN?2IR0)o<<ccE6IVYT(Gbr?J30@4;VfiOjw==L9xANDzB)b!(5C zXt+-Sd(fW#wJHa$?A^I<maquZJxgin?F>JjZ(L^`^5O2k<pnaa2RtN>WX?ag+gkDI zw2HT7>=HVaf3?F-S)UG&yLZ>GQi54xt$<u)`iIvc6FBQGO6Yj}p7HX|_4H+#v!?aT zt~oL1`Gs&_)q6_>eqLPh{P%&R#ZB4158uTJgnZh4Ec0_E|BSu)>wTguBp)ANw9fL^ z^@W)~_H7UTw&GF3p2zF5TOz;2?@HeuSJiwrrghEX{>?s{o=*sydgR>2HP_4z-(5ZV z_N{eMH!>&bzYni`Il)8p^iiJ8_UDSCWghLSj(C^guu)T`<iy|Xh?$#xzqm|On5N*w z@yah_`-i>1%s#K&C3jGyKB{-gJRR>+?L`wOu}ds%j=JP{Q}_2@%YQT1oid8;%bIgn za?vfZ1*bP|t^77`k8bA6Um??ccicT~zImS3mhh;ME}o#xlV9$bwQbSUkKe*l<HIG_ z2enMS)-H3|ENuE-XSokM>ioBQ@r%B7opZ@~#S)h9OV@I8X)J0$!pnR(Qet0)Tby5- z=)WN9-0!=0<`++lKHBi)W8`<Ksja)F&3h=oXZPWKjKs?0Z;dnJ7lzr2oea;P(o(B+ zMr@wb)PMzLw|1;D&aU#w{v4BTfA^$mW9iyc@4Fe^%(cri%09k2jN5hPWr>rsw}(m9 z?EIa~Cif>SeDcHSG6rX1!>=*3PFJ6;=-D=7Gf#c>*EO2UK8jr0ZPx#!-QwZq%lopM zLL;wB*sXc1a;@ZrvVC$ddtw7?v3b<Itwk!))l)rgBqXH#6P;C3oAuIoYr=WQ9d%o} zAKt9^{LX!bKgT4#`lv(2`DOVMt}?Yxr!8X4oP9>&X@hL`g#BB#%=Fl^{m!c*BP;o; zuhTAF_MfrlGF$zlun8%3rLzk&WmYiWI6L`|^Zd1`#Sxp2PP*+=a6)(Hxgw|Lp5LLn zWtk7Frc8Qw^}>#y^*2pl6lZ=uP=55_>psJfneUSB9AYh4RXp+DMEAKjGp?6)968s_ z@|MezD{Jqy_SJVMtAwjwGMpoJ@c7oUR{bbpqv#gqc~f~Wm|2Nj|1DMh+|r}rrz=B2 zQO0#?p5hZX@{A<@ZS6O2XNul>Wz&{cK2f(K_PXpfQpdLT9y>lK<zryKz&*jwk$>)T zHQs8BdA@K{6RXqaxyL6gNuTeOwP)ID!`sgUDo-BwdeydG<)Y2T$W^PpvR0~#&NH=s zY4)FCK`uk@k>rodjG44GmE1Cx@CyFiRXjg9be)N%-aXSyvtu{!&Re!Ce8;|t-nU-< zUi93iC;8sW(`#M@^vt$6A?xqM@1?_TH&3{s=yHDW<!y!z7jhr4f4^jZdHaQ{GfU3~ ztenJMQaZiC{grFt$>Mc0S;Ah3KDA)@s@7=iyGDsclHc#9<ezM_cN!ji@!UPRf%ms% zuFPFy)B4O&rs0$4%HAap>i(=eUuu7@iLY?!%vdwA0CPU}kNnSrd@Bod#8k`8{i+^I z#5=x^=2bdSv-ZJC$zN%ko+c_9X{IQY+I-RwmWe)d?9+_{=Qo;4ZtwEHt7iV(GVReS z(>-q@w;Qt^bFg6OYq_Mmphy2y(eXKRK1V5W#EP(|au^<0DE+$1Df5Ei9XEapSzB#) z!=E`R?d7)a@u!-fo|QW=FWm9_u15`q@qv3wV|H(lNtUo!#@!hqI_0#?UI)utwU%qA zd7AI6RCWqaJa6CeeVO(G*VfxbE03#R-W%f*n5?Yrt|cDCc)IGc@-&Z+o9;@aB&#<^ z_3Exra|?Ri+!N;Zq(J8I#&*}0$x^rGakFoi<h{Yee{8<m%9Y}uY?iR3Jl-I&f@j;R z`LAZ5$@|;*ebvM`W#i5Zoe>}VA2IKhSzxgDVL+-P`)}Rrc3&PWD-AnrW@O}Vs%2uh zLe0kf`LB?ozcW9*ShDl6rLEo6GNy{7d(=;b{=8WkRP}fruS0sv`*@9-2R-xSqk3)~ zpQ1a#y!6YX*`~WTYb|)Z@70!$G}be-->psFny_BX|4e~Bf7Q;yYTX@=0$OXUW@X)S zRr$Q9Lo&HW!}h>)g}<3;8!k^hvrH)^C)M*oXlzH~RoyGAW-=QdD?A|g<z?xX)TD=T zZW6lNKdtz)gCi}1sqwb_sYMxU{SF1Zvn~7ftBZkerDBfizQ_jqck|<yy6tLt%&pC) zf9|RbU;SFkNtSAwY;iFOjejq`cM0fd<o`b7yR7X>hV`|TlTM2G%KHdTp7ZOnbiftn z#N0o7J`^zgS@mFoTEqedzP+y81+v!?#2nn+-&hxhOn4U-siGoj&iwZFohx~ptbZ16 zJkK)u(%O?IDbpSp9&>n59g<sl?&?%WS+{%cSFWmvOO$L?KYjn%beojq`Ch7*lPBHm z`*1HpLG#}S+gIZIIvI^Nr~f{E`@=Hn*P8w_&fNAm@a5#Ix-A@i-kgGMHxEs`*l?IX z=Zcy{;?F3DSByV571?^4_*Qb{wz=8VEa>xp9BKYttkG?LhRbyEWcE2ZvY%`-7Z|Ih zUs>n7$>YQAXc;jTLA9!Xp~th!f6edNDzQiQ;fZBZv3q9hp0WP4f{keKpR;AN_FfcI zce?QQR&=Ka-zx?#{xJ1h>oPQp7ri`oG=@FMuJl#53+rFw!(#g+w#3RE63j|`BJ=6= zyXvc#WtS9fvN`&LUHhEY&ROZTmpx+l`kJe32zbcwvp;9zg|xM=ckFDRvG&24MNe-x zZ}fV$cyh_cc8SvopI`g(EPQ-_;%>`t%Q?eO@Ty5}FZs7sPwAPokmqNCq6I0>@3jV` z3(gbl4+O2|vb%6*O*>EY+<S{JO)qBL@z_E_RAu6+$iT*&#<@G+#%z7ovg>}APN`%| znzYD?;L|4UJAQ?|TW@sx#@>?&t6I`~p3F0hjJkWKDs4XR);$ebRTH@d82&8iTYjPX zs*|tv0^M8p%r>s_E!M6K`*wC~_&N{U;;3Swo})$2H@>{L@>cZWbgpAF(i!r#FKjOk z^Sde+(vzaPsan7~EO+<ahDG5epO*LtUU>ZLl0fgpf>Tys&U!dVhgjM?(O-UTq0XA} z<_Rs$U%xC_!Zf?BNmHtFPfMt}h2;4F_G^2Tp1pg1Ox&QN*mKGqciqeWD-D^GTpIrL z+%3BKd+UvwfU8?AOlIt{UaWMwcD2=-^tl)H%l>Gu`LMlh%X^lL!|s=JJEr-rx9M}t zRMq}0bokz`%ojUn%r<@4ckJ3dYio&?vTv_9+0>Wcn-^Wuc$=9)<M@Ilp(i-P6WLX( zp38l?rYE6wEV}Zz?7po!!qTco%mV(ddj7OY$-Ak*LH6^@nC0!uz1LeG4S%}fUC<>P z<}J*<r>Z_#U(J_1Sy*j5uQ}&|&KkMr$_k6-Jov?YX_tk`kLO1ZA5m-+&oNx))XFTw z6*Je(S9bHgJA0r0Ir?2j!M0)bCYOy2VF85)B%aH@+<2HpLo}vEOZv+84Qqbip57tx zDE{7lhI#?H{f|Q~@JtGwv(7;GvBFCAIlnJok4cMU-Mj0K$MS4NSvCvH_W`{YCK9s( z1Rc`fPqI#0zjO<O+r$m7Dicn>u$BsAlDPHl;hrZMZ?CLB(_wl0-u!P7iyb$-z1w8` z^7X8lsa*#5ck1~wl*{d~`)b0sFH7#WSHs~?XPI_Jm|U!!%_n=z`0eY^Y40>urrk0R z*4^}QYTbwP3bW2%{S#ci%v-j#Z~otfEAF&8xN|goQGXfmBiwoK#W(4DuW@Z#ykh^k z)92U|U7Kgz*3~)5wKC~IPvh}xGfveU`(~T<rSob<ZkK~{Q}ljQZVi?t&hHuuYHeSL z8%o@Zti0p?a@HjA-`YCs&Tj2w<ahhJg6q_}yVDt--?%(;rsA#hpLm|kyZO#H$YtiV zPwvTyw%-=2-+cS1T&L=(k-zC9#jWwZacYy!C97_4HQ6}h&_c)Zb4AC0@4NeY$JIA# zKiYJ+yfu2bw&b-Y=Z?aunUPlg-~Fq;s(xCdJKbk%YA*|8xyJFkGRdNQwO#MNlbSg# zD(hyniI~>}2N8yjg^rxZvX-v+o$^-q=Dn_^0wogPm%rNND!XHI?`hjZjD2qRgC~Zl zOn<X2?AwIXPxtip%{=SPa&z%B(=!`g)+hxY-�*y5Xz+Lc*?_3U~W9XWl(<`uBBT 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≫pGV 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%0Ac*n%WxqX3+zYnjF+p^Q) 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 From c437a4f892c4e0e4d77dd1a4ede8784b4c4eddc6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 00:14:05 +0100 Subject: [PATCH 2107/2258] nixvim: refactor alternate file rules --- modules2/nixvim/edit-alternate/config.nix | 27 ++++++++++++----------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/modules2/nixvim/edit-alternate/config.nix b/modules2/nixvim/edit-alternate/config.nix index 5375cc05..ea78eeda 100644 --- a/modules2/nixvim/edit-alternate/config.nix +++ b/modules2/nixvim/edit-alternate/config.nix @@ -1,20 +1,24 @@ { flake.modules.nixvim.custom.extraConfigLua = '' - vim.fn["edit_alternate#rule#add"]("go", function(filename) + local add_rule = function(ft, fn) + vim.fn["edit_alternate#rule#add"](ft, fn) + end + + add_rule("go", function(filename) return filename:find "_test%.go$" and filename:gsub("_test%.go$", ".go") or filename:gsub("%.go$", "_test.go") end) - vim.fn["edit_alternate#rule#add"]("php", function(filename) + add_rule("php", function(filename) if filename:find "Test.php$" then filename = filename:gsub("Test.php$", ".php") return filename:find "tests/src/" and filename:gsub("tests/src/(.-)/", "src/") - or filename:gsub("tests/", "src/") + or filename:gsub("tests/", "src/") else - test_filename = filename:gsub(".php$", "Test.php") + local test_filename = filename:gsub("%.php$", "Test.php") if test_filename:find "modules/custom" then local test_types = { "Functional", "FunctionalJavaScript", "Kernel", "Unit" } @@ -33,24 +37,21 @@ end) if vim.fn.filereadable "composer.json" == 1 then - vim.fn["edit_alternate#rule#add"]("json", function(filename) - if filename:find "composer.json" and filename:gsub("%.json$", ".lock") or nil - end + add_rule("json", function(filename) + return filename:find "composer.json" and filename:gsub("%.json$", ".lock") or nil end) - vim.fn["edit_alternate#rule#add"]("lock", function(filename) - if filename:find "composer.lock" then - return filename:gsub("%.lock$", ".json") - end + add_rule("lock", function(filename) + return filename:find "composer.lock" and filename:gsub("%.lock$", ".json") or nil end) end if vim.fn.filereadable "fractal.config.js" == 1 then - vim.fn["edit_alternate#rule#add"]("twig", function(filename) + add_rule("twig", function(filename) return filename:gsub("%.twig$", ".config.yml") end) - vim.fn["edit_alternate#rule#add"]("yml", function(filename) + add_rule("yml", function(filename) return filename:gsub("%.config.yml$", ".twig") end) end From 3c798cba519243a7ae484109ca60a52a33f65680 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 18:00:00 +0100 Subject: [PATCH 2108/2258] Refactor inputs --- flake.nix | 62 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 21 deletions(-) diff --git a/flake.nix b/flake.nix index 5c23c8bc..6d6a9f7d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,47 +1,67 @@ { inputs = { - agenix.inputs.nixpkgs.follows = "nixpkgs"; - agenix.url = "github:ryantm/agenix"; + agenix = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:ryantm/agenix"; + }; - conf-vim.flake = false; - conf-vim.url = "github:tjdevries/conf.vim"; + conf-vim = { + flake = false; + url = "github:tjdevries/conf.vim"; + }; - disko.inputs.nixpkgs.follows = "nixpkgs"; - disko.url = "github:nix-community/disko"; + disko = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/disko"; + }; - edit-alternate-vim.flake = false; - edit-alternate-vim.url = "github:tjdevries/edit_alternate.vim"; + edit-alternate-vim = { + flake = false; + url = "github:tjdevries/edit_alternate.vim"; + }; flake-parts.url = "github:hercules-ci/flake-parts"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; + home-manager = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/home-manager/master"; + }; import-tree.url = "github:vic/import-tree"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; - nix-index-database.url = "github:nix-community/nix-index-database"; + nix-index-database = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/nix-index-database"; + }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - nixvim.inputs.flake-parts.follows = "flake-parts"; - nixvim.inputs.nixpkgs.follows = "nixpkgs"; - nixvim.url = "github:nix-community/nixvim"; + nixvim = { + inputs.flake-parts.follows = "flake-parts"; + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/nixvim"; + }; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nur.inputs.nixpkgs.follows = "nixpkgs"; - nur.url = "github:nix-community/NUR"; + nur = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/NUR"; + }; - standard-vim.flake = false; - standard-vim.url = "github:tjdevries/standard.vim"; + standard-vim = { + flake = false; + url = "github:tjdevries/standard.vim"; + }; - vim-textobj-xmlattr.flake = false; - vim-textobj-xmlattr.url = "github:whatyouhide/vim-textobj-xmlattr"; + vim-textobj-xmlattr = { + flake = false; + url = "github:whatyouhide/vim-textobj-xmlattr"; + }; }; outputs = From 4c1ef1c01d4b85969ec3e76f485701c8a38a90b8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 18:00:00 +0100 Subject: [PATCH 2109/2258] Re-add ftplugin for `gitcommit` files --- modules2/nixvim/ftplugin/gitcommit.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 modules2/nixvim/ftplugin/gitcommit.nix diff --git a/modules2/nixvim/ftplugin/gitcommit.nix b/modules2/nixvim/ftplugin/gitcommit.nix new file mode 100644 index 00000000..9475a398 --- /dev/null +++ b/modules2/nixvim/ftplugin/gitcommit.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixvim.custom.extraFiles."after/ftplugin/gitcommit.lua".text = + # lua + '' + vim.opt_local.colorcolumn = "50,72" + vim.opt_local.spell = true + vim.opt_local.textwidth = 72 + ''; +} From ffbfc56d076ded8bd917365a8c5899245cff7579 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 18:00:00 +0100 Subject: [PATCH 2110/2258] Re-add ftplugin for `markdown` files --- modules2/nixvim/ftplugin/markdown.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 modules2/nixvim/ftplugin/markdown.nix diff --git a/modules2/nixvim/ftplugin/markdown.nix b/modules2/nixvim/ftplugin/markdown.nix new file mode 100644 index 00000000..9cd1f1ed --- /dev/null +++ b/modules2/nixvim/ftplugin/markdown.nix @@ -0,0 +1,22 @@ +{ + flake.modules.nixvim.custom = { + plugins.cmp-path.enable = true; + + extraFiles."after/ftplugin/markdown.lua".text = + # lua + '' + local opt = vim.opt_local + + opt.spell = true + opt.wrap = true + + local cmp = require "cmp" + local sources = cmp.get_config().sources + + -- TODO: confirm these aren't aleady in the list of sources to avoid duplicate suggestions. + table.insert(sources, { name = "path" }) + + cmp.setup.buffer { sources = sources } + ''; + }; +} From bf5264d9631a5dff9ef1f45b21b43e426e638bed Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 18:00:00 +0100 Subject: [PATCH 2111/2258] Remove additional space --- modules2/nixvim/edit-alternate/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules2/nixvim/edit-alternate/config.nix b/modules2/nixvim/edit-alternate/config.nix index ea78eeda..1ffbf867 100644 --- a/modules2/nixvim/edit-alternate/config.nix +++ b/modules2/nixvim/edit-alternate/config.nix @@ -16,7 +16,7 @@ return filename:find "tests/src/" and filename:gsub("tests/src/(.-)/", "src/") - or filename:gsub("tests/", "src/") + or filename:gsub("tests/", "src/") else local test_filename = filename:gsub("%.php$", "Test.php") From 0f145a892d6331d345fb0d02ec94325a6b2f4b75 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 30 Jul 2025 12:07:28 +0100 Subject: [PATCH 2112/2258] Automated dev commit --- overlays/mods/dwm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 3250bd4f..a9b9cfb4 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -6,7 +6,7 @@ in prev.dwm.override { conf = '' #define BROWSER "${lib.getExe prev.librewolf}" - #define TERMINAL "/run/current-system/sw/bin/st" + #define TERMINAL "${lib.getExe prev.st}" static const unsigned int borderpx = 1; static const unsigned int snap = 32; From 19359b1805cf27ca22db658bc928f7a2f0b15e9e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 31 Jul 2025 12:04:36 +0100 Subject: [PATCH 2113/2258] dev-commit: push the changes after committing --- packages/dev-commit.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/dev-commit.nix b/packages/dev-commit.nix index 23fa8721..e71aa095 100644 --- a/packages/dev-commit.nix +++ b/packages/dev-commit.nix @@ -29,6 +29,12 @@ pkgs.writeShellApplication { if git commit -m "Automated dev commit"; then logger "Commit successful in $repo" + + if git push; then + logger "Push successful in $repo" + else + logger "Push failed in $repo" + fi else logger "No changes to commit in $repo" fi From a2e3cc96fbd15ecc68594c313af5d2265537ea4d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 31 Jul 2025 17:10:11 +0100 Subject: [PATCH 2114/2258] Add firmware module --- modules2/firmware.nix | 3 +++ modules2/hosts/t480/imports.nix | 1 + 2 files changed, 4 insertions(+) create mode 100644 modules2/firmware.nix diff --git a/modules2/firmware.nix b/modules2/firmware.nix new file mode 100644 index 00000000..cad66d99 --- /dev/null +++ b/modules2/firmware.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.desktop.services.fwupd.enable = true; +} diff --git a/modules2/hosts/t480/imports.nix b/modules2/hosts/t480/imports.nix index 58d63476..4f400104 100644 --- a/modules2/hosts/t480/imports.nix +++ b/modules2/hosts/t480/imports.nix @@ -2,6 +2,7 @@ { flake.modules.nixos."nixosConfigurations/t480".imports = with config.flake.modules.nixos; [ + desktop pc ]; } From 3bcf37f394f2488f48d589ad248837d750fd1db9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 31 Jul 2025 18:58:14 +0100 Subject: [PATCH 2115/2258] Start refactoring pc and desktop configurations --- modules2/home-manager/nixos.nix | 4 ++-- modules2/hosts/PW05CH3L/imports.nix | 2 +- modules2/pc.nix | 7 ------- modules2/tailscale.nix | 2 +- modules2/unfree-packages.nix | 2 +- modules2/workstation.nix | 3 --- 6 files changed, 5 insertions(+), 15 deletions(-) delete mode 100644 modules2/pc.nix delete mode 100644 modules2/workstation.nix diff --git a/modules2/home-manager/nixos.nix b/modules2/home-manager/nixos.nix index 129c0a95..98a11d55 100644 --- a/modules2/home-manager/nixos.nix +++ b/modules2/home-manager/nixos.nix @@ -7,7 +7,7 @@ { flake.modules.nixos = { - workstation = { + pc = { imports = [ inputs.home-manager.nixosModules.home-manager ]; home-manager = { @@ -31,7 +31,7 @@ }; }; - pc.home-manager.users.${config.flake.meta.owner.username}.imports = [ + desktop.home-manager.users.${config.flake.meta.owner.username}.imports = [ config.flake.modules.homeManager.gui ]; }; diff --git a/modules2/hosts/PW05CH3L/imports.nix b/modules2/hosts/PW05CH3L/imports.nix index 00d11197..78425983 100644 --- a/modules2/hosts/PW05CH3L/imports.nix +++ b/modules2/hosts/PW05CH3L/imports.nix @@ -2,6 +2,6 @@ { flake.modules.nixos."nixosConfigurations/PW05CH3L".imports = with config.flake.modules.nixos; [ - workstation + pc ]; } diff --git a/modules2/pc.nix b/modules2/pc.nix deleted file mode 100644 index c68d24fb..00000000 --- a/modules2/pc.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos.pc.imports = with config.flake.modules.nixos; [ - workstation - ]; -} diff --git a/modules2/tailscale.nix b/modules2/tailscale.nix index 25af676a..d239c83e 100644 --- a/modules2/tailscale.nix +++ b/modules2/tailscale.nix @@ -1,3 +1,3 @@ { - flake.modules.nixos.workstation.services.tailscale.enable = true; + flake.modules.nixos.pc.services.tailscale.enable = true; } diff --git a/modules2/unfree-packages.nix b/modules2/unfree-packages.nix index e634aa93..014f6055 100644 --- a/modules2/unfree-packages.nix +++ b/modules2/unfree-packages.nix @@ -12,7 +12,7 @@ predicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfreePackages; in { - nixos.workstation.nixpkgs.config.allowUnfreePredicate = predicate; + nixos.pc.nixpkgs.config.allowUnfreePredicate = predicate; homeManager.base = args: { nixpkgs.config = lib.mkIf (!(args.hasGlobalPkgs or false)) { diff --git a/modules2/workstation.nix b/modules2/workstation.nix deleted file mode 100644 index 0e4984a3..00000000 --- a/modules2/workstation.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - flake.modules.nixos.workstation = {}; -} From 865c60d5571b851de0dc9b8b066a57426bf41e76 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 31 Jul 2025 19:48:30 +0100 Subject: [PATCH 2116/2258] Make more things desktop only --- modules2/bluetooth.nix | 2 +- modules2/fonts.nix | 2 +- modules2/games/steam.nix | 2 +- modules2/hosts/t480/ollama.nix | 2 +- modules2/hosts/t480/open-webui.nix | 2 +- modules2/makemkv.nix | 2 +- modules2/ollama/acceleration.nix | 2 +- modules2/ollama/models.nix | 2 +- modules2/sound/pipewire/alsa.nix | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules2/bluetooth.nix b/modules2/bluetooth.nix index a2ebab1e..7fff70cc 100644 --- a/modules2/bluetooth.nix +++ b/modules2/bluetooth.nix @@ -1,5 +1,5 @@ { - flake.modules.nixos.pc = { + flake.modules.nixos.desktop = { hardware.bluetooth.enable = true; services.blueman.enable = true; diff --git a/modules2/fonts.nix b/modules2/fonts.nix index edf9dcee..728ba62f 100644 --- a/modules2/fonts.nix +++ b/modules2/fonts.nix @@ -1,5 +1,5 @@ { - flake.modules.nixos.pc = + flake.modules.nixos.desktop = { pkgs, ... }: { fonts = { diff --git a/modules2/games/steam.nix b/modules2/games/steam.nix index b87865eb..faafa311 100644 --- a/modules2/games/steam.nix +++ b/modules2/games/steam.nix @@ -4,5 +4,5 @@ "steam-unwrapped" ]; - flake.modules.nixos.pc.programs.steam.enable = true; + flake.modules.nixos.desktop.programs.steam.enable = true; } diff --git a/modules2/hosts/t480/ollama.nix b/modules2/hosts/t480/ollama.nix index a83349e0..2415d86f 100644 --- a/modules2/hosts/t480/ollama.nix +++ b/modules2/hosts/t480/ollama.nix @@ -1,3 +1,3 @@ { - flake.modules.nixos.pc.services.ollama.enable = true; + flake.modules.nixos.desktop.services.ollama.enable = true; } diff --git a/modules2/hosts/t480/open-webui.nix b/modules2/hosts/t480/open-webui.nix index 3da64e9e..f8d41789 100644 --- a/modules2/hosts/t480/open-webui.nix +++ b/modules2/hosts/t480/open-webui.nix @@ -1,5 +1,5 @@ { nixpkgs.allowedUnfreePackages = [ "open-webui" ]; - flake.modules.nixos.pc.services.open-webui.enable = true; + flake.modules.nixos.desktop.services.open-webui.enable = true; } diff --git a/modules2/makemkv.nix b/modules2/makemkv.nix index 1eb53a2d..a395220c 100644 --- a/modules2/makemkv.nix +++ b/modules2/makemkv.nix @@ -3,7 +3,7 @@ { nixpkgs.allowedUnfreePackages = [ "makemkv" ]; - flake.modules.nixos.pc = + flake.modules.nixos.desktop = { pkgs, ... }: { boot.kernelModules = [ "sg" ]; diff --git a/modules2/ollama/acceleration.nix b/modules2/ollama/acceleration.nix index 498aff21..f79fd202 100644 --- a/modules2/ollama/acceleration.nix +++ b/modules2/ollama/acceleration.nix @@ -1,3 +1,3 @@ { - flake.modules.nixos.pc.services.ollama.acceleration = "rocm"; + flake.modules.nixos.desktop.services.ollama.acceleration = "rocm"; } diff --git a/modules2/ollama/models.nix b/modules2/ollama/models.nix index 7919e246..4df7a39a 100644 --- a/modules2/ollama/models.nix +++ b/modules2/ollama/models.nix @@ -1,5 +1,5 @@ { - flake.modules.nixos.pc.services.ollama.loadModels = [ + flake.modules.nixos.desktop.services.ollama.loadModels = [ "dimavz/whisper-tiny" ]; } diff --git a/modules2/sound/pipewire/alsa.nix b/modules2/sound/pipewire/alsa.nix index ad5c1271..929b07c4 100644 --- a/modules2/sound/pipewire/alsa.nix +++ b/modules2/sound/pipewire/alsa.nix @@ -1,5 +1,5 @@ { - flake.modules.nixos.pc.services.pipewire.alsa = { + flake.modules.nixos.desktop.services.pipewire.alsa = { enable = true; support32Bit = true; }; From 2cfb196c9c22b98eb6d7aaabfad397578d7ad2db Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 31 Jul 2025 19:51:19 +0100 Subject: [PATCH 2117/2258] Add forgejo email address --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index 0de08bbe..6350744e 100644 --- a/.mailmap +++ b/.mailmap @@ -4,3 +4,4 @@ Oliver Davies <oliver@oliverdavies.uk> <oliver.davies@tfw.wales> Oliver Davies <oliver@oliverdavies.uk> <oliver@microserve.io> Oliver Davies <oliver@oliverdavies.uk> <oliver@oliverdavies.dev> Oliver Davies <oliver@oliverdavies.uk> <opdavies@gmail.com> +Oliver Davies <oliver@oliverdavies.uk> <opdavies@noreply.code.oliverdavies.uk> From 0ff9b934d32ab92a730a1830984456893aa3d260 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 1 Aug 2025 00:00:27 +0100 Subject: [PATCH 2118/2258] Automated dev commit --- modules2/desktop.nix | 7 +++++++ modules2/hosts/t480/imports.nix | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 modules2/desktop.nix diff --git a/modules2/desktop.nix b/modules2/desktop.nix new file mode 100644 index 00000000..eaad4d8e --- /dev/null +++ b/modules2/desktop.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos.desktop.imports = with config.flake.modules.nixos; [ + pc + ]; +} diff --git a/modules2/hosts/t480/imports.nix b/modules2/hosts/t480/imports.nix index 4f400104..38ca7da8 100644 --- a/modules2/hosts/t480/imports.nix +++ b/modules2/hosts/t480/imports.nix @@ -3,6 +3,5 @@ { flake.modules.nixos."nixosConfigurations/t480".imports = with config.flake.modules.nixos; [ desktop - pc ]; } From 303af7a112d8f89dafa41e54f33daca8f56c52b2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 1 Aug 2025 00:24:51 +0100 Subject: [PATCH 2119/2258] Add repo --- modules2/hosts/t480/dev-commit.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules2/hosts/t480/dev-commit.nix b/modules2/hosts/t480/dev-commit.nix index e584bdd1..cb6114a4 100644 --- a/modules2/hosts/t480/dev-commit.nix +++ b/modules2/hosts/t480/dev-commit.nix @@ -14,6 +14,7 @@ in map (name: "${repos}/${name}") [ "email-filters" + "git-repo-updater" "nix-config" "oliverdavies.uk" "opentofu-dns" From 69014b86c6741d18dd787765f59c251bb60b7bd6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 1 Aug 2025 00:45:00 +0100 Subject: [PATCH 2120/2258] Update depth --- modules2/hosts/t480/tmux-sessionizer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules2/hosts/t480/tmux-sessionizer.nix b/modules2/hosts/t480/tmux-sessionizer.nix index 4dcb0f45..7e3b9589 100644 --- a/modules2/hosts/t480/tmux-sessionizer.nix +++ b/modules2/hosts/t480/tmux-sessionizer.nix @@ -7,7 +7,7 @@ inherit (args.config.xdg) userDirs; in [ - "${userDirs.extraConfig.XDG_REPOS_DIR}:2" + "${userDirs.extraConfig.XDG_REPOS_DIR}:3" "${userDirs.documents}:1" "${args.config.home.homeDirectory}/tmp" ]; From deae2b10554958989a5497e937f5742e3d6c381b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 1 Aug 2025 01:10:58 +0100 Subject: [PATCH 2121/2258] Re-add vim-heritage --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules2/nixvim/vim-heritage.nix | 25 +++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 modules2/nixvim/vim-heritage.nix diff --git a/flake.lock b/flake.lock index 1c412dcd..0a083cf2 100644 --- a/flake.lock +++ b/flake.lock @@ -460,6 +460,7 @@ "nixvim": "nixvim", "nur": "nur", "standard-vim": "standard-vim", + "vim-heritage": "vim-heritage", "vim-textobj-xmlattr": "vim-textobj-xmlattr" } }, @@ -524,6 +525,22 @@ "type": "github" } }, + "vim-heritage": { + "flake": false, + "locked": { + "lastModified": 1716350150, + "narHash": "sha256-YzqP2+Go8bW3heFyzzcS/91LrMkwjpZ89+ptrjjBKrM=", + "owner": "jessarcher", + "repo": "vim-heritage", + "rev": "574baeb0679681a710adce5110a0d8b2ae1c2637", + "type": "github" + }, + "original": { + "owner": "jessarcher", + "repo": "vim-heritage", + "type": "github" + } + }, "vim-textobj-xmlattr": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 6d6a9f7d..2545a12c 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,11 @@ url = "github:tjdevries/standard.vim"; }; + vim-heritage = { + flake = false; + url = "github:jessarcher/vim-heritage"; + }; + vim-textobj-xmlattr = { flake = false; url = "github:whatyouhide/vim-textobj-xmlattr"; diff --git a/modules2/nixvim/vim-heritage.nix b/modules2/nixvim/vim-heritage.nix new file mode 100644 index 00000000..2ff64c26 --- /dev/null +++ b/modules2/nixvim/vim-heritage.nix @@ -0,0 +1,25 @@ +{ inputs, ... }: + +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPlugins = [ + (pkgs.vimUtils.buildVimPlugin { + src = inputs.vim-heritage; + pname = "vim-heritage"; + version = "unstable"; + }) + ]; + + keymaps = [ + # https://github.com/jessarcher/vim-heritage/blob/574baeb0679681a710adce5110a0d8b2ae1c2637/README.md#L28-L33 + { + action = ":edit %:h/<cfile><cr>"; + key = "gf"; + mode = "n"; + options.silent = true; + } + ]; + }; +} From df4a7bf521c71773f73e6bc8d5282ef77a5f75fe Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 1 Aug 2025 10:22:21 +0100 Subject: [PATCH 2122/2258] Add git-repo-updater --- flake.lock | 49 +++++++++++++++++++++++++++++++++++ flake.nix | 7 +++++ modules2/git-repo-updater.nix | 11 ++++++++ 3 files changed, 67 insertions(+) create mode 100644 modules2/git-repo-updater.nix diff --git a/flake.lock b/flake.lock index 0a083cf2..a5ae6961 100644 --- a/flake.lock +++ b/flake.lock @@ -61,6 +61,27 @@ "type": "github" } }, + "devshell": { + "inputs": { + "nixpkgs": [ + "git-repo-updater", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741473158, + "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", + "owner": "numtide", + "repo": "devshell", + "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -170,6 +191,33 @@ "type": "github" } }, + "git-repo-updater": { + "inputs": { + "devshell": "devshell", + "flake-parts": [ + "flake-parts" + ], + "import-tree": [ + "import-tree" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754037000, + "narHash": "sha256-xTOa8qJMSr+tIX4iImfPRXoWSuEMyBvmpmxZj2JTwKk=", + "ref": "refs/heads/main", + "rev": "959f92dea25f962a4e46d582507278277610ca9f", + "revCount": 32, + "type": "git", + "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" + }, + "original": { + "type": "git", + "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -450,6 +498,7 @@ "disko": "disko", "edit-alternate-vim": "edit-alternate-vim", "flake-parts": "flake-parts", + "git-repo-updater": "git-repo-updater", "home-manager": "home-manager_2", "import-tree": "import-tree", "nix-index-database": "nix-index-database", diff --git a/flake.nix b/flake.nix index 2545a12c..5964ef73 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,13 @@ flake-parts.url = "github:hercules-ci/flake-parts"; + git-repo-updater = { + inputs.flake-parts.follows = "flake-parts"; + inputs.import-tree.follows = "import-tree"; + inputs.nixpkgs.follows = "nixpkgs"; + url = "git+https://code.oliverdavies.uk/opdavies/git-repo-updater"; + }; + home-manager = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager/master"; diff --git a/modules2/git-repo-updater.nix b/modules2/git-repo-updater.nix new file mode 100644 index 00000000..e4857610 --- /dev/null +++ b/modules2/git-repo-updater.nix @@ -0,0 +1,11 @@ +{ inputs, ... }: + +{ + flake.modules.nixos.pc = + { system, ... }: + { + environment.systemPackages = [ + inputs.git-repo-updater.packages.${system}.default + ]; + }; +} From 89e7e6bd07f1b6d0fc7f069ec818b7128bb62690 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 1 Aug 2025 07:00:51 +0100 Subject: [PATCH 2123/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/50adf8fcaa97c9d64309f2d507ed8be54ea23110?narHash=sha256-mrVNT%2BaF4yR8P8Fx570W2vz%2BLzukSlf68Yr2YhUJHjo%3D' (2025-07-29) → 'github:nix-community/home-manager/7035020a507ed616e2b20c61491ae3eaa8e5462c?narHash=sha256-2vlAOJv4lBrE%2BP1uOGhZ1symyjXTRdn/mz0tZ6faQcg%3D' (2025-07-31) • Updated input 'nixvim': 'github:nix-community/nixvim/e1aa35fb04047df11a9c1ab539a0bac35ddad509?narHash=sha256-ZNyVwyj%2B4qvaOT/gQWfNypP8qtHmXtt02D9WDZH4IPU%3D' (2025-07-28) → 'github:nix-community/nixvim/a16c89c175277309fd3dd065fb5bc4eab450ae07?narHash=sha256-AM3CZh%2BEmk/cr5Gf6RUf2xzkWdRB%2ByewP1YWoRxUbYQ%3D' (2025-07-31) • Updated input 'nur': 'github:nix-community/NUR/43b3643575b141f82fa21191f90e104d72e3f63b?narHash=sha256-qtZgryFGC2ggWwFrKprKMNtk8h4WipnYVVdTfbMWtdM%3D' (2025-07-29) → 'github:nix-community/NUR/437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8?narHash=sha256-1t0o%2BeheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE%3D' (2025-08-01) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a5ae6961..5586768f 100644 --- a/flake.lock +++ b/flake.lock @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1753761827, - "narHash": "sha256-mrVNT+aF4yR8P8Fx570W2vz+LzukSlf68Yr2YhUJHjo=", + "lastModified": 1753983724, + "narHash": "sha256-2vlAOJv4lBrE+P1uOGhZ1symyjXTRdn/mz0tZ6faQcg=", "owner": "nix-community", "repo": "home-manager", - "rev": "50adf8fcaa97c9d64309f2d507ed8be54ea23110", + "rev": "7035020a507ed616e2b20c61491ae3eaa8e5462c", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1753706533, - "narHash": "sha256-ZNyVwyj+4qvaOT/gQWfNypP8qtHmXtt02D9WDZH4IPU=", + "lastModified": 1753977315, + "narHash": "sha256-AM3CZh+Emk/cr5Gf6RUf2xzkWdRB+yewP1YWoRxUbYQ=", "owner": "nix-community", "repo": "nixvim", - "rev": "e1aa35fb04047df11a9c1ab539a0bac35ddad509", + "rev": "a16c89c175277309fd3dd065fb5bc4eab450ae07", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1753768654, - "narHash": "sha256-qtZgryFGC2ggWwFrKprKMNtk8h4WipnYVVdTfbMWtdM=", + "lastModified": 1754027401, + "narHash": "sha256-1t0o+eheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE=", "owner": "nix-community", "repo": "NUR", - "rev": "43b3643575b141f82fa21191f90e104d72e3f63b", + "rev": "437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8", "type": "github" }, "original": { From 3cad85bcdf8cfc292223acce4603f25b7a97a336 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 2 Aug 2025 23:26:16 +0100 Subject: [PATCH 2124/2258] Rename package --- modules2/nixvim/flake-outputs.nix | 2 +- modules2/nixvim/use-in-home.nix | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules2/nixvim/flake-outputs.nix b/modules2/nixvim/flake-outputs.nix index ed360c10..2705d5c8 100644 --- a/modules2/nixvim/flake-outputs.nix +++ b/modules2/nixvim/flake-outputs.nix @@ -4,7 +4,7 @@ perSystem = { inputs', pkgs, ... }: { - packages.nixvim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { + packages.neovim = inputs'.nixvim.legacyPackages.makeNixvimWithModule { inherit pkgs; module = config.flake.modules.nixvim.custom; diff --git a/modules2/nixvim/use-in-home.nix b/modules2/nixvim/use-in-home.nix index aad4ac53..991fca81 100644 --- a/modules2/nixvim/use-in-home.nix +++ b/modules2/nixvim/use-in-home.nix @@ -7,7 +7,7 @@ # Ideally: # nixvim = self.packages.${pkgs.system}.nixvim; # but https://github.com/danth/stylix/pull/415#issuecomment-2832398958 - nixvim = inputs.nixvim.legacyPackages.${pkgs.system}.makeNixvimWithModule { + neovim = inputs.nixvim.legacyPackages.${pkgs.system}.makeNixvimWithModule { inherit pkgs; extraSpecialArgs.homeConfig = hmArgs.config; @@ -17,8 +17,8 @@ in { home = { - packages = [ nixvim ]; - sessionVariables.EDITOR = lib.mkForce (lib.getExe nixvim); + packages = [ neovim ]; + sessionVariables.EDITOR = lib.mkForce (lib.getExe neovim); }; }; } From 00b25029365efae3d421aac4cd943e91922e46ff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 3 Aug 2025 22:01:00 +0100 Subject: [PATCH 2125/2258] Move gammastep configuration --- home-manager/opdavies/t480.nix | 4 ---- home-manager/opdavies/t480/gammastep.nix | 4 ---- modules2/gammastep/enable.nix | 3 +++ modules2/gammastep/provider.nix | 3 +++ 4 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 home-manager/opdavies/t480/gammastep.nix create mode 100644 modules2/gammastep/enable.nix create mode 100644 modules2/gammastep/provider.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 9f0f092c..0c848ade 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -1,10 +1,6 @@ { config, pkgs, ... }: { - imports = [ - ./t480/gammastep.nix - ]; - programs = { zsh.shellAliases = let diff --git a/home-manager/opdavies/t480/gammastep.nix b/home-manager/opdavies/t480/gammastep.nix deleted file mode 100644 index e95feb1e..00000000 --- a/home-manager/opdavies/t480/gammastep.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - services.gammastep.enable = true; - services.gammastep.provider = "geoclue2"; -} diff --git a/modules2/gammastep/enable.nix b/modules2/gammastep/enable.nix new file mode 100644 index 00000000..c8b70f14 --- /dev/null +++ b/modules2/gammastep/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homManager.gui.services.gammastep.enable = true; +} diff --git a/modules2/gammastep/provider.nix b/modules2/gammastep/provider.nix new file mode 100644 index 00000000..e31c1826 --- /dev/null +++ b/modules2/gammastep/provider.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homManager.gui.services.gammastep.provider = "geoclue2"; +} From c75ea7c1988d5f568b86fedf38c8409fe73ab513 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 3 Aug 2025 22:01:13 +0100 Subject: [PATCH 2126/2258] Run gammastep --- modules2/dwm/xinitrc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules2/dwm/xinitrc b/modules2/dwm/xinitrc index fd87d8c1..d2368e09 100644 --- a/modules2/dwm/xinitrc +++ b/modules2/dwm/xinitrc @@ -2,6 +2,7 @@ systemctl --user import-environment DISPLAY poweralertd -s & set-background & systemctl --user start dwm-status & +gammastep & sxhkd & From 8ddfceabc277ba589c901bc036a4635881b4fbc3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 5 Aug 2025 00:12:50 +0100 Subject: [PATCH 2127/2258] Group meta modules --- modules2/{ => meta}/dev-shell.nix | 0 modules2/{ => meta}/flake-parts.nix | 0 modules2/{ => meta}/formatting.nix | 0 modules2/{ => meta}/meta-output.nix | 0 modules2/{ => meta}/systems.nix | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename modules2/{ => meta}/dev-shell.nix (100%) rename modules2/{ => meta}/flake-parts.nix (100%) rename modules2/{ => meta}/formatting.nix (100%) rename modules2/{ => meta}/meta-output.nix (100%) rename modules2/{ => meta}/systems.nix (100%) diff --git a/modules2/dev-shell.nix b/modules2/meta/dev-shell.nix similarity index 100% rename from modules2/dev-shell.nix rename to modules2/meta/dev-shell.nix diff --git a/modules2/flake-parts.nix b/modules2/meta/flake-parts.nix similarity index 100% rename from modules2/flake-parts.nix rename to modules2/meta/flake-parts.nix diff --git a/modules2/formatting.nix b/modules2/meta/formatting.nix similarity index 100% rename from modules2/formatting.nix rename to modules2/meta/formatting.nix diff --git a/modules2/meta-output.nix b/modules2/meta/meta-output.nix similarity index 100% rename from modules2/meta-output.nix rename to modules2/meta/meta-output.nix diff --git a/modules2/systems.nix b/modules2/meta/systems.nix similarity index 100% rename from modules2/systems.nix rename to modules2/meta/systems.nix From d811cf26f5d4cd0513f7b9c171425acc5942dc1c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 5 Aug 2025 00:12:50 +0100 Subject: [PATCH 2128/2258] Remove lualine --- modules2/nixvim/lualine.nix | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 modules2/nixvim/lualine.nix diff --git a/modules2/nixvim/lualine.nix b/modules2/nixvim/lualine.nix deleted file mode 100644 index 3b2d9ea5..00000000 --- a/modules2/nixvim/lualine.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - flake.modules.nixvim.custom.plugins.lualine = { - enable = true; - - settings.options = { - component_separators = ""; - icons_enabled = false; - section_separators = ""; - }; - }; -} From 0beeb10fb0599e8e3e4c3ca1a6f2756aeb814ad7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 5 Aug 2025 00:12:50 +0100 Subject: [PATCH 2129/2258] Add dwmblocks --- modules2/dwm/dwm-status/order.nix | 8 -------- modules2/dwm/dwm-status/restart.nix | 3 --- modules2/dwm/xinitrc | 2 +- modules2/hosts/t480/dwm/blocks.nix | 5 +++++ modules2/hosts/t480/dwm/dwm-status.nix | 3 --- 5 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 modules2/dwm/dwm-status/order.nix delete mode 100644 modules2/dwm/dwm-status/restart.nix create mode 100644 modules2/hosts/t480/dwm/blocks.nix delete mode 100644 modules2/hosts/t480/dwm/dwm-status.nix diff --git a/modules2/dwm/dwm-status/order.nix b/modules2/dwm/dwm-status/order.nix deleted file mode 100644 index 9d383168..00000000 --- a/modules2/dwm/dwm-status/order.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - flake.modules.nixos.pc.services.dwm-status.settings.order = [ - "audio" - "battery" - "network" - "time" - ]; -} diff --git a/modules2/dwm/dwm-status/restart.nix b/modules2/dwm/dwm-status/restart.nix deleted file mode 100644 index d3bd1b34..00000000 --- a/modules2/dwm/dwm-status/restart.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - flake.modules.nixos.pc.systemd.user.services.dwm-status.serviceConfig.Restart = "on-failure"; -} diff --git a/modules2/dwm/xinitrc b/modules2/dwm/xinitrc index d2368e09..ba020660 100644 --- a/modules2/dwm/xinitrc +++ b/modules2/dwm/xinitrc @@ -1,7 +1,7 @@ systemctl --user import-environment DISPLAY poweralertd -s & set-background & -systemctl --user start dwm-status & +dwmblocks & gammastep & sxhkd & diff --git a/modules2/hosts/t480/dwm/blocks.nix b/modules2/hosts/t480/dwm/blocks.nix new file mode 100644 index 00000000..34b1f165 --- /dev/null +++ b/modules2/hosts/t480/dwm/blocks.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.gui = { pkgs, ... }: { + home.packages = [ pkgs.dwmblocks ]; + }; +} diff --git a/modules2/hosts/t480/dwm/dwm-status.nix b/modules2/hosts/t480/dwm/dwm-status.nix deleted file mode 100644 index c6770e61..00000000 --- a/modules2/hosts/t480/dwm/dwm-status.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - flake.modules.nixos.pc.services.dwm-status.enable = true; -} From 15fe868a0cb6a2308fb88c07705da16dae0dea79 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 5 Aug 2025 07:01:11 +0100 Subject: [PATCH 2130/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/531beac616433bac6f9e2a19feb8e99a22a66baf?narHash=sha256-9P1FziAwl5%2B3edkfFcr5HeGtQUtrSdk/MksX39GieoA%3D' (2025-06-17) → 'github:ryantm/agenix/856df6f6922845abd4fd958ce21febc07ca2fa45?narHash=sha256-fEc2/4YsJwtnLU7HCFMRckb0u9UNnDZmwGhXT5U5NTw%3D' (2025-08-04) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21) → 'github:hercules-ci/flake-parts/67df8c627c2c39c41dbec76a1f201929929ab0bd?narHash=sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM%3D' (2025-08-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab?narHash=sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo%3D' (2025-06-29) → 'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e?narHash=sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA%3D' (2025-07-27) • Updated input 'git-repo-updater': 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=959f92dea25f962a4e46d582507278277610ca9f' (2025-08-01) → 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) • Updated input 'home-manager': 'github:nix-community/home-manager/7035020a507ed616e2b20c61491ae3eaa8e5462c?narHash=sha256-2vlAOJv4lBrE%2BP1uOGhZ1symyjXTRdn/mz0tZ6faQcg%3D' (2025-07-31) → 'github:nix-community/home-manager/c5d7e957397ecb7d48b99c928611c6e780db1b56?narHash=sha256-NLWIkn1qM0wxtZu/2NXRaujWJ4Y1PSZlc7h0y6pOzOQ%3D' (2025-08-05) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/f0736b09c43028fd726fb70c3eb3d1f0795454cf?narHash=sha256-y1JlcMB2dKFkrr6g%2BUcmj8L//IY09BtSKTH/A7OU7mU%3D' (2025-07-27) → 'github:nix-community/nix-index-database/b7fcd4e26d67fca48e77de9b0d0f954b18ae9562?narHash=sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/%2Bs2SA%3D' (2025-08-03) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21) → 'github:NixOS/nixos-hardware/9368056b73efb46eb14fd4667b99e0f81b805f28?narHash=sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w%3D' (2025-08-04) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/58c814cc6d4a789191f9c12e18277107144b0c91?narHash=sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw%3D' (2025-07-28) → 'github:nix-community/NixOS-WSL/ca55236cd9ef3cdea29b51a0b52a9402c60e9a27?narHash=sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E%3D' (2025-08-04) • Updated input 'nixos-wsl/nixpkgs': 'github:NixOS/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25) → 'github:NixOS/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28) → 'github:nixos/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03) • Updated input 'nixvim': 'github:nix-community/nixvim/a16c89c175277309fd3dd065fb5bc4eab450ae07?narHash=sha256-AM3CZh%2BEmk/cr5Gf6RUf2xzkWdRB%2ByewP1YWoRxUbYQ%3D' (2025-07-31) → 'github:nix-community/nixvim/0b87d94432f3d2e2154a055f18dcb6531c6c90ab?narHash=sha256-i73/RHYnrRj1AW7r42qzEX1CruxAdVLXcn2iuWBQy64%3D' (2025-08-03) • Updated input 'nur': 'github:nix-community/NUR/437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8?narHash=sha256-1t0o%2BeheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE%3D' (2025-08-01) → 'github:nix-community/NUR/47a3ab2237d8d4ae00972961ee2c4c990086c950?narHash=sha256-57l04Nz9YTtHt7zZ6E9PjwbCDUctfH7mgADY%2BjzYaDc%3D' (2025-08-05) --- flake.lock | 74 +++++++++++++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 5586768f..81405062 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1750173260, - "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=", + "lastModified": 1754337839, + "narHash": "sha256-fEc2/4YsJwtnLU7HCFMRckb0u9UNnDZmwGhXT5U5NTw=", "owner": "ryantm", "repo": "agenix", - "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf", + "rev": "856df6f6922845abd4fd958ce21febc07ca2fa45", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1754037000, - "narHash": "sha256-xTOa8qJMSr+tIX4iImfPRXoWSuEMyBvmpmxZj2JTwKk=", + "lastModified": 1754354414, + "narHash": "sha256-bOCBp5JCtanO7aINXDJOtwY4qZSPWBxCDf50NpqAKBU=", "ref": "refs/heads/main", - "rev": "959f92dea25f962a4e46d582507278277610ca9f", - "revCount": 32, + "rev": "8175f54dddb4a9579a9bea99c7236eebb6d46fc0", + "revCount": 1, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" }, @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1753983724, - "narHash": "sha256-2vlAOJv4lBrE+P1uOGhZ1symyjXTRdn/mz0tZ6faQcg=", + "lastModified": 1754365350, + "narHash": "sha256-NLWIkn1qM0wxtZu/2NXRaujWJ4Y1PSZlc7h0y6pOzOQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "7035020a507ed616e2b20c61491ae3eaa8e5462c", + "rev": "c5d7e957397ecb7d48b99c928611c6e780db1b56", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1753589988, - "narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=", + "lastModified": 1754195341, + "narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf", + "rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1753122741, - "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", + "lastModified": 1754316476, + "narHash": "sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "9368056b73efb46eb14fd4667b99e0f81b805f28", "type": "github" }, "original": { @@ -345,11 +345,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1753704990, - "narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=", + "lastModified": 1754326498, + "narHash": "sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "58c814cc6d4a789191f9c12e18277107144b0c91", + "rev": "ca55236cd9ef3cdea29b51a0b52a9402c60e9a27", "type": "github" }, "original": { @@ -361,11 +361,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -377,11 +377,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1751159883, - "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", + "lastModified": 1753579242, + "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", + "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", "type": "github" }, "original": { @@ -408,11 +408,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1753977315, - "narHash": "sha256-AM3CZh+Emk/cr5Gf6RUf2xzkWdRB+yewP1YWoRxUbYQ=", + "lastModified": 1754264148, + "narHash": "sha256-i73/RHYnrRj1AW7r42qzEX1CruxAdVLXcn2iuWBQy64=", "owner": "nix-community", "repo": "nixvim", - "rev": "a16c89c175277309fd3dd065fb5bc4eab450ae07", + "rev": "0b87d94432f3d2e2154a055f18dcb6531c6c90ab", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1754027401, - "narHash": "sha256-1t0o+eheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE=", + "lastModified": 1754370177, + "narHash": "sha256-57l04Nz9YTtHt7zZ6E9PjwbCDUctfH7mgADY+jzYaDc=", "owner": "nix-community", "repo": "NUR", - "rev": "437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8", + "rev": "47a3ab2237d8d4ae00972961ee2c4c990086c950", "type": "github" }, "original": { From 22b01f0a9beaed221eb461df6fb251c01df7401a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 7 Aug 2025 00:55:24 +0100 Subject: [PATCH 2131/2258] nixvim: ftplugin for just --- modules2/nixvim/ftplugin/just.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 modules2/nixvim/ftplugin/just.nix diff --git a/modules2/nixvim/ftplugin/just.nix b/modules2/nixvim/ftplugin/just.nix new file mode 100644 index 00000000..c9c4517c --- /dev/null +++ b/modules2/nixvim/ftplugin/just.nix @@ -0,0 +1,11 @@ +{ + flake.modules.nixvim.custom = { + extraFiles."after/ftplugin/just.lua".text = + # lua + '' + local opt = vim.opt_local + + opt.shiftwidth = 4 + ''; + }; +} From 87895214ba335af22f3c6b17897864c58788cc8e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 7 Aug 2025 00:58:05 +0100 Subject: [PATCH 2132/2258] Revert "flake.lock: Update" This reverts commit 15fe868a0cb6a2308fb88c07705da16dae0dea79. --- flake.lock | 74 +++++++++++++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 81405062..5586768f 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1754337839, - "narHash": "sha256-fEc2/4YsJwtnLU7HCFMRckb0u9UNnDZmwGhXT5U5NTw=", + "lastModified": 1750173260, + "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=", "owner": "ryantm", "repo": "agenix", - "rev": "856df6f6922845abd4fd958ce21febc07ca2fa45", + "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1754091436, - "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", + "lastModified": 1753121425, + "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", + "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1754354414, - "narHash": "sha256-bOCBp5JCtanO7aINXDJOtwY4qZSPWBxCDf50NpqAKBU=", + "lastModified": 1754037000, + "narHash": "sha256-xTOa8qJMSr+tIX4iImfPRXoWSuEMyBvmpmxZj2JTwKk=", "ref": "refs/heads/main", - "rev": "8175f54dddb4a9579a9bea99c7236eebb6d46fc0", - "revCount": 1, + "rev": "959f92dea25f962a4e46d582507278277610ca9f", + "revCount": 32, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" }, @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1754365350, - "narHash": "sha256-NLWIkn1qM0wxtZu/2NXRaujWJ4Y1PSZlc7h0y6pOzOQ=", + "lastModified": 1753983724, + "narHash": "sha256-2vlAOJv4lBrE+P1uOGhZ1symyjXTRdn/mz0tZ6faQcg=", "owner": "nix-community", "repo": "home-manager", - "rev": "c5d7e957397ecb7d48b99c928611c6e780db1b56", + "rev": "7035020a507ed616e2b20c61491ae3eaa8e5462c", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1754195341, - "narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=", + "lastModified": 1753589988, + "narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562", + "rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1754316476, - "narHash": "sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w=", + "lastModified": 1753122741, + "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9368056b73efb46eb14fd4667b99e0f81b805f28", + "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", "type": "github" }, "original": { @@ -345,11 +345,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1754326498, - "narHash": "sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E=", + "lastModified": 1753704990, + "narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "ca55236cd9ef3cdea29b51a0b52a9402c60e9a27", + "rev": "58c814cc6d4a789191f9c12e18277107144b0c91", "type": "github" }, "original": { @@ -361,11 +361,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", "type": "github" }, "original": { @@ -377,11 +377,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1753579242, - "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "lastModified": 1751159883, + "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", "type": "github" }, "original": { @@ -408,11 +408,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1754264148, - "narHash": "sha256-i73/RHYnrRj1AW7r42qzEX1CruxAdVLXcn2iuWBQy64=", + "lastModified": 1753977315, + "narHash": "sha256-AM3CZh+Emk/cr5Gf6RUf2xzkWdRB+yewP1YWoRxUbYQ=", "owner": "nix-community", "repo": "nixvim", - "rev": "0b87d94432f3d2e2154a055f18dcb6531c6c90ab", + "rev": "a16c89c175277309fd3dd065fb5bc4eab450ae07", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1754370177, - "narHash": "sha256-57l04Nz9YTtHt7zZ6E9PjwbCDUctfH7mgADY+jzYaDc=", + "lastModified": 1754027401, + "narHash": "sha256-1t0o+eheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE=", "owner": "nix-community", "repo": "NUR", - "rev": "47a3ab2237d8d4ae00972961ee2c4c990086c950", + "rev": "437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8", "type": "github" }, "original": { From d241f687b418cb4b37353a2e89b4b3907e1ee597 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 7 Aug 2025 01:02:04 +0100 Subject: [PATCH 2133/2258] Add bc calculator --- modules2/calculator.nix | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 modules2/calculator.nix diff --git a/modules2/calculator.nix b/modules2/calculator.nix new file mode 100644 index 00000000..41ebe819 --- /dev/null +++ b/modules2/calculator.nix @@ -0,0 +1,7 @@ +{ + flake.modules.nixos.pc = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.bc ]; + }; +} From 20455518b8b0a8d1435a2e5c4456cb686579d2ff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 7 Aug 2025 01:02:28 +0100 Subject: [PATCH 2134/2258] nixvim: remove calc source --- modules2/nixvim/completion/cmp.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules2/nixvim/completion/cmp.nix b/modules2/nixvim/completion/cmp.nix index cfb4e8fe..c6d96b43 100644 --- a/modules2/nixvim/completion/cmp.nix +++ b/modules2/nixvim/completion/cmp.nix @@ -51,7 +51,6 @@ name = "buffer"; keyword_length = 3; } - { name = "calc"; } ]; }; }; From 33e72c839ad51a6bbc94c4f92d7f826a3d570d8c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 7 Aug 2025 01:43:27 +0100 Subject: [PATCH 2135/2258] starship: enable SHLVL --- modules2/starship/shlvl.nix | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 modules2/starship/shlvl.nix diff --git a/modules2/starship/shlvl.nix b/modules2/starship/shlvl.nix new file mode 100644 index 00000000..bceec83b --- /dev/null +++ b/modules2/starship/shlvl.nix @@ -0,0 +1,8 @@ +{ + flake.modules.homeManager.base.programs.starship.settings.shlvl = { + disabled = false; + style = "bold red"; + symbol = ""; + threshold = 2; + }; +} From 426edf6c84ef674d687502b00a65a2f5992c8c87 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 7 Aug 2025 17:50:54 +0100 Subject: [PATCH 2136/2258] Add heightwidth script --- modules2/hosts/t480/heightwidth.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modules2/hosts/t480/heightwidth.nix diff --git a/modules2/hosts/t480/heightwidth.nix b/modules2/hosts/t480/heightwidth.nix new file mode 100644 index 00000000..c63171a6 --- /dev/null +++ b/modules2/hosts/t480/heightwidth.nix @@ -0,0 +1,18 @@ +{ + flake.modules.nixos.pc = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.writeShellApplication { + name = "heightwidth"; + + runtimeInputs = [ pkgs.ffmpeg ]; + + # https://github.com/rwxrob/dot/blob/main/scripts/heightwidth. + text = '' + ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of default=noprint_wrappers=1 "$1" + ''; + }) + ]; + }; +} From fcc65505d0fe8003d7b09ccf8f13435dc1cd0654 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 8 Aug 2025 02:07:21 +0100 Subject: [PATCH 2137/2258] Add `fixapost` --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules2/hosts/t480/fixapost.nix | 17 +++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 modules2/hosts/t480/fixapost.nix diff --git a/flake.lock b/flake.lock index 5586768f..b51f4750 100644 --- a/flake.lock +++ b/flake.lock @@ -508,11 +508,28 @@ "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "nur": "nur", + "rwxrob-dot": "rwxrob-dot", "standard-vim": "standard-vim", "vim-heritage": "vim-heritage", "vim-textobj-xmlattr": "vim-textobj-xmlattr" } }, + "rwxrob-dot": { + "flake": false, + "locked": { + "lastModified": 1751898094, + "narHash": "sha256-kGpHL2l9p/yOtmG+AZvOb0Y5mH1d+Zoh2dd5N3Xjizc=", + "owner": "rwxrob", + "repo": "dot", + "rev": "90794c77061f270078e847af45c376610768c6e2", + "type": "github" + }, + "original": { + "owner": "rwxrob", + "repo": "dot", + "type": "github" + } + }, "standard-vim": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 5964ef73..e98f64fa 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,11 @@ url = "github:nix-community/NUR"; }; + rwxrob-dot = { + flake = false; + url = "github:rwxrob/dot"; + }; + standard-vim = { flake = false; url = "github:tjdevries/standard.vim"; diff --git a/modules2/hosts/t480/fixapost.nix b/modules2/hosts/t480/fixapost.nix new file mode 100644 index 00000000..23cb55fb --- /dev/null +++ b/modules2/hosts/t480/fixapost.nix @@ -0,0 +1,17 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication rec { + name = "fixapost"; + + runtimeInputs = [ pkgs.coreutils ]; + + text = builtins.readFile "${inputs.rwxrob-dot}/scripts/${name}"; + }) + ]; + }; +} From 8d08b321b3810a774ec9500e05a9daa64c676684 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 8 Aug 2025 02:13:15 +0100 Subject: [PATCH 2138/2258] Refactor `heightwidth` --- modules2/hosts/t480/heightwidth.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/modules2/hosts/t480/heightwidth.nix b/modules2/hosts/t480/heightwidth.nix index c63171a6..9eb627e1 100644 --- a/modules2/hosts/t480/heightwidth.nix +++ b/modules2/hosts/t480/heightwidth.nix @@ -1,17 +1,16 @@ +{ inputs, ... }: + { - flake.modules.nixos.pc = + flake.modules.homeManager.base = { pkgs, ... }: { - environment.systemPackages = [ - (pkgs.writeShellApplication { + home.packages = [ + (pkgs.writeShellApplication rec { name = "heightwidth"; runtimeInputs = [ pkgs.ffmpeg ]; - # https://github.com/rwxrob/dot/blob/main/scripts/heightwidth. - text = '' - ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of default=noprint_wrappers=1 "$1" - ''; + text = builtins.readFile "${inputs.rwxrob-dot}/scripts/${name}"; }) ]; }; From 546341fbc99016ea0626148b89401f79bcb8cc92 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 8 Aug 2025 02:25:28 +0100 Subject: [PATCH 2139/2258] Replace `vix` with `vic` --- home-manager/opdavies/PW05CH3L.nix | 2 +- home-manager/opdavies/nixedo.nix | 2 +- home-manager/opdavies/t480.nix | 2 +- overlays/default.nix | 2 +- packages/default.nix | 9 +++++++-- packages/vic.nix | 9 +++++++++ packages/vix.nix | 12 ------------ 7 files changed, 20 insertions(+), 18 deletions(-) create mode 100755 packages/vic.nix delete mode 100755 packages/vix.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 5f0ebc97..ac40d82f 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -8,7 +8,7 @@ tag-release time-until update-all-git-repos - vix + vic zet-new ]; diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 92ca6c6d..902a9bfc 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -7,7 +7,7 @@ home.packages = with pkgs; [ import-to-jellyfin - vix + vic yt-dlp ]; } diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 0c848ade..b57169e1 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -30,7 +30,7 @@ todos-edit unmounter update-all-git-repos - vix + vic zet-new ]; diff --git a/overlays/default.nix b/overlays/default.nix index 7c05e28e..17308ce2 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -4,7 +4,7 @@ additions = final: prev: import ../packages { - inherit prev; + inherit inputs prev; pkgs = final; }; diff --git a/packages/default.nix b/packages/default.nix index ec591e8e..3a41c194 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -1,4 +1,9 @@ -{ pkgs, prev, ... }: +{ + inputs, + pkgs, + prev, + ... +}: let inherit (pkgs) callPackage; @@ -30,7 +35,7 @@ in todos-edit = callPackage ./todos-edit.nix { }; unmounter = callPackage ./unmounter.nix { }; update-all-git-repos = callPackage ./update-all-git-repos.nix { }; - vix = callPackage ./vix.nix { }; + vic = callPackage ./vic.nix { inherit inputs; }; zet-new = callPackage ./zet-new.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; diff --git a/packages/vic.nix b/packages/vic.nix new file mode 100755 index 00000000..312f8467 --- /dev/null +++ b/packages/vic.nix @@ -0,0 +1,9 @@ +{ inputs, pkgs }: + +pkgs.writeShellApplication rec { + name = "vic"; + + runtimeInputs = with pkgs; [ neovim tmux ]; + + text = builtins.readFile "${inputs.rwxrob-dot}/scripts/${name}"; +} diff --git a/packages/vix.nix b/packages/vix.nix deleted file mode 100755 index 667882d2..00000000 --- a/packages/vix.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "vix"; - - runtimeInputs = with pkgs; [ neovim ]; - - text = '' - cmd=$(command -v "$1") - test -n "$cmd" && exec "$EDITOR" "$cmd" - ''; -} From 08d0d3a2d7e484197e829d7d6c99cdca184a2e0f Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 8 Aug 2025 07:01:08 +0100 Subject: [PATCH 2140/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/531beac616433bac6f9e2a19feb8e99a22a66baf?narHash=sha256-9P1FziAwl5%2B3edkfFcr5HeGtQUtrSdk/MksX39GieoA%3D' (2025-06-17) → 'github:ryantm/agenix/9edb1787864c4f59ae5074ad498b6272b3ec308d?narHash=sha256-NA/FT2hVhKDftbHSwVnoRTFhes62%2B7dxZbxj5Gxvghs%3D' (2025-08-05) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21) → 'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18?narHash=sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8%3D' (2025-08-06) • Updated input 'flake-parts/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab?narHash=sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo%3D' (2025-06-29) → 'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e?narHash=sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA%3D' (2025-07-27) • Updated input 'git-repo-updater': 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=959f92dea25f962a4e46d582507278277610ca9f' (2025-08-01) → 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) • Updated input 'home-manager': 'github:nix-community/home-manager/7035020a507ed616e2b20c61491ae3eaa8e5462c?narHash=sha256-2vlAOJv4lBrE%2BP1uOGhZ1symyjXTRdn/mz0tZ6faQcg%3D' (2025-07-31) → 'github:nix-community/home-manager/cc2fa2331aebf9661d22bb507d362b39852ac73f?narHash=sha256-ueR1mGX4I4DWfDRRxxMphbKDNisDeMPMusN72VV1%2Bcc%3D' (2025-08-08) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/f0736b09c43028fd726fb70c3eb3d1f0795454cf?narHash=sha256-y1JlcMB2dKFkrr6g%2BUcmj8L//IY09BtSKTH/A7OU7mU%3D' (2025-07-27) → 'github:nix-community/nix-index-database/b7fcd4e26d67fca48e77de9b0d0f954b18ae9562?narHash=sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/%2Bs2SA%3D' (2025-08-03) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21) → 'github:NixOS/nixos-hardware/26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113?narHash=sha256-dz303vGuzWjzOPOaYkS9xSW%2BB93PSAJxvBd6CambXVA%3D' (2025-08-07) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/58c814cc6d4a789191f9c12e18277107144b0c91?narHash=sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw%3D' (2025-07-28) → 'github:nix-community/NixOS-WSL/ca55236cd9ef3cdea29b51a0b52a9402c60e9a27?narHash=sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E%3D' (2025-08-04) • Updated input 'nixos-wsl/nixpkgs': 'github:NixOS/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25) → 'github:NixOS/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28) → 'github:nixos/nixpkgs/c2ae88e026f9525daf89587f3cbee584b92b6134?narHash=sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs%3D' (2025-08-06) • Updated input 'nixvim': 'github:nix-community/nixvim/a16c89c175277309fd3dd065fb5bc4eab450ae07?narHash=sha256-AM3CZh%2BEmk/cr5Gf6RUf2xzkWdRB%2ByewP1YWoRxUbYQ%3D' (2025-07-31) → 'github:nix-community/nixvim/1db179502524f21fe4e3175e3348202ed0ef253f?narHash=sha256-BN2a2Lft9BwdDPBplaWe8kYW2wLaaVLDwcWwMJeBw3I%3D' (2025-08-07) • Updated input 'nixvim/nuschtosSearch': 'github:NuschtOS/search/40987cc1a24feba378438d691f87c52819f7bd75?narHash=sha256-Pmpke0JtLRzgdlwDC5a%2BaiLVZ11JPUO5Bcqkj0nHE/k%3D' (2025-07-25) → 'github:NuschtOS/search/a60091045273484c040a91f5c229ba298f8ecc27?narHash=sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc%3D' (2025-08-04) • Updated input 'nur': 'github:nix-community/NUR/437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8?narHash=sha256-1t0o%2BeheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE%3D' (2025-08-01) → 'github:nix-community/NUR/c207a5afe9d4dc7b145a59f96f075f7155727779?narHash=sha256-NCJ2F%2BxMLSPfD9TLZFO55NiNN2%2BLee7tQBAcOcp/3Bo%3D' (2025-08-08) --- flake.lock | 80 +++++++++++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/flake.lock b/flake.lock index b51f4750..54e63cea 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1750173260, - "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=", + "lastModified": 1754433428, + "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", "owner": "ryantm", "repo": "agenix", - "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf", + "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1754037000, - "narHash": "sha256-xTOa8qJMSr+tIX4iImfPRXoWSuEMyBvmpmxZj2JTwKk=", + "lastModified": 1754354414, + "narHash": "sha256-bOCBp5JCtanO7aINXDJOtwY4qZSPWBxCDf50NpqAKBU=", "ref": "refs/heads/main", - "rev": "959f92dea25f962a4e46d582507278277610ca9f", - "revCount": 32, + "rev": "8175f54dddb4a9579a9bea99c7236eebb6d46fc0", + "revCount": 1, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" }, @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1753983724, - "narHash": "sha256-2vlAOJv4lBrE+P1uOGhZ1symyjXTRdn/mz0tZ6faQcg=", + "lastModified": 1754613544, + "narHash": "sha256-ueR1mGX4I4DWfDRRxxMphbKDNisDeMPMusN72VV1+cc=", "owner": "nix-community", "repo": "home-manager", - "rev": "7035020a507ed616e2b20c61491ae3eaa8e5462c", + "rev": "cc2fa2331aebf9661d22bb507d362b39852ac73f", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1753589988, - "narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=", + "lastModified": 1754195341, + "narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf", + "rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1753122741, - "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", + "lastModified": 1754564048, + "narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113", "type": "github" }, "original": { @@ -345,11 +345,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1753704990, - "narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=", + "lastModified": 1754326498, + "narHash": "sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "58c814cc6d4a789191f9c12e18277107144b0c91", + "rev": "ca55236cd9ef3cdea29b51a0b52a9402c60e9a27", "type": "github" }, "original": { @@ -361,11 +361,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -377,11 +377,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1751159883, - "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", + "lastModified": 1753579242, + "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", + "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", "type": "github" }, "original": { @@ -408,11 +408,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", + "lastModified": 1754498491, + "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", + "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1753977315, - "narHash": "sha256-AM3CZh+Emk/cr5Gf6RUf2xzkWdRB+yewP1YWoRxUbYQ=", + "lastModified": 1754572513, + "narHash": "sha256-BN2a2Lft9BwdDPBplaWe8kYW2wLaaVLDwcWwMJeBw3I=", "owner": "nix-community", "repo": "nixvim", - "rev": "a16c89c175277309fd3dd065fb5bc4eab450ae07", + "rev": "1db179502524f21fe4e3175e3348202ed0ef253f", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1754027401, - "narHash": "sha256-1t0o+eheZOjnrdIwkdw2P/Vv0xBENME7l7f4yrvQXFE=", + "lastModified": 1754630052, + "narHash": "sha256-NCJ2F+xMLSPfD9TLZFO55NiNN2+Lee7tQBAcOcp/3Bo=", "owner": "nix-community", "repo": "NUR", - "rev": "437fb78c1e96baaa1f8bd0fa0e339c9a07b2cdf8", + "rev": "c207a5afe9d4dc7b145a59f96f075f7155727779", "type": "github" }, "original": { @@ -478,11 +478,11 @@ ] }, "locked": { - "lastModified": 1753450833, - "narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=", + "lastModified": 1754301638, + "narHash": "sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc=", "owner": "NuschtOS", "repo": "search", - "rev": "40987cc1a24feba378438d691f87c52819f7bd75", + "rev": "a60091045273484c040a91f5c229ba298f8ecc27", "type": "github" }, "original": { From 382c453c851bc3160da0ba6b92c0a97f5c19586e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 11 Aug 2025 19:01:07 +0100 Subject: [PATCH 2141/2258] Change to `systemd.settings.Manager` --- hosts/lemp11/configuration.nix | 6 +++--- hosts/t480/configuration.nix | 6 +++--- hosts/t490/configuration.nix | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index a3c40dbd..124cf9d2 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -31,9 +31,9 @@ }; }; - systemd.extraConfig = '' - DefaultTimeoutStopSec=10s - ''; + systemd.settings.Manager = { + DefaultTimeoutStopSec="10s"; + }; networking.networkmanager.enable = true; diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 60c191f2..6609ecc7 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -39,9 +39,9 @@ }; }; - systemd.extraConfig = '' - DefaultTimeoutStopSec=10s - ''; + systemd.settings.Manager = { + DefaultTimeoutStopSec = "10s"; + }; networking.networkmanager.enable = true; diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix index 5da6d5f9..7f96406d 100644 --- a/hosts/t490/configuration.nix +++ b/hosts/t490/configuration.nix @@ -26,9 +26,9 @@ }; }; - systemd.extraConfig = '' - DefaultTimeoutStopSec=10s - ''; + systemd.settings.Manager = { + DefaultTimeoutStopSec = "10s"; + }; networking.networkmanager.enable = true; } From 9cb86e3fae0d0f44b9792bd6bf97a61e660f0581 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 12 Aug 2025 07:01:08 +0100 Subject: [PATCH 2142/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21) → 'github:nix-community/disko/8246829f2e675a46919718f9a64b71afe3bfb22d?narHash=sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0%3D' (2025-08-12) • Updated input 'home-manager': 'github:nix-community/home-manager/cc2fa2331aebf9661d22bb507d362b39852ac73f?narHash=sha256-ueR1mGX4I4DWfDRRxxMphbKDNisDeMPMusN72VV1%2Bcc%3D' (2025-08-08) → 'github:nix-community/home-manager/27a26be51ff0162a8f67660239f9407dba68d7c5?narHash=sha256-XMjUjKD/QRPcqUnmSDczSYdw46SilnG0%2Bwkho654DFM%3D' (2025-08-12) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/b7fcd4e26d67fca48e77de9b0d0f954b18ae9562?narHash=sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/%2Bs2SA%3D' (2025-08-03) → 'github:nix-community/nix-index-database/b65f8d80656f9fcbd1fecc4b7f0730f468333142?narHash=sha256-UbLO8/0pVBXLJuyRizYOJigtzQAj8Z2bTnbKSec/wN0%3D' (2025-08-10) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/ca55236cd9ef3cdea29b51a0b52a9402c60e9a27?narHash=sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E%3D' (2025-08-04) → 'github:nix-community/NixOS-WSL/9b618a36ef6e51a689ea941b53e312ddc4c835a9?narHash=sha256-qNI5QusItaVf50ErZv6y/qIp8oujTSbMTz8BleZ2Qew%3D' (2025-08-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/c2ae88e026f9525daf89587f3cbee584b92b6134?narHash=sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs%3D' (2025-08-06) → 'github:nixos/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054?narHash=sha256-iAcj9T/Y%2B3DBy2J0N%2ByF9XQQQ8IEb5swLFzs23CdP88%3D' (2025-08-09) • Updated input 'nixvim': 'github:nix-community/nixvim/1db179502524f21fe4e3175e3348202ed0ef253f?narHash=sha256-BN2a2Lft9BwdDPBplaWe8kYW2wLaaVLDwcWwMJeBw3I%3D' (2025-08-07) → 'github:nix-community/nixvim/7b53322d75a1c66f84fb145e4b5f0f411d9edc6b?narHash=sha256-KY%2B/livAp6l3fI8SdNa%2BCLN/AA4Z038yL/pQL2PaW7g%3D' (2025-08-11) • Updated input 'nur': 'github:nix-community/NUR/c207a5afe9d4dc7b145a59f96f075f7155727779?narHash=sha256-NCJ2F%2BxMLSPfD9TLZFO55NiNN2%2BLee7tQBAcOcp/3Bo%3D' (2025-08-08) → 'github:nix-community/NUR/ac7aceca63c786be19d6cad0bed11cb02da7d9e3?narHash=sha256-9wkBaz789ZjFoy4vYf1JPBbXFFtmE/LmdKHCnvBEsfo%3D' (2025-08-12) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 54e63cea..c1a94371 100644 --- a/flake.lock +++ b/flake.lock @@ -89,11 +89,11 @@ ] }, "locked": { - "lastModified": 1753140376, - "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", + "lastModified": 1754971456, + "narHash": "sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0=", "owner": "nix-community", "repo": "disko", - "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", + "rev": "8246829f2e675a46919718f9a64b71afe3bfb22d", "type": "github" }, "original": { @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1754613544, - "narHash": "sha256-ueR1mGX4I4DWfDRRxxMphbKDNisDeMPMusN72VV1+cc=", + "lastModified": 1754974548, + "narHash": "sha256-XMjUjKD/QRPcqUnmSDczSYdw46SilnG0+wkho654DFM=", "owner": "nix-community", "repo": "home-manager", - "rev": "cc2fa2331aebf9661d22bb507d362b39852ac73f", + "rev": "27a26be51ff0162a8f67660239f9407dba68d7c5", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1754195341, - "narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=", + "lastModified": 1754800038, + "narHash": "sha256-UbLO8/0pVBXLJuyRizYOJigtzQAj8Z2bTnbKSec/wN0=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562", + "rev": "b65f8d80656f9fcbd1fecc4b7f0730f468333142", "type": "github" }, "original": { @@ -345,11 +345,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1754326498, - "narHash": "sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E=", + "lastModified": 1754956416, + "narHash": "sha256-qNI5QusItaVf50ErZv6y/qIp8oujTSbMTz8BleZ2Qew=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "ca55236cd9ef3cdea29b51a0b52a9402c60e9a27", + "rev": "9b618a36ef6e51a689ea941b53e312ddc4c835a9", "type": "github" }, "original": { @@ -408,11 +408,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1754498491, - "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", + "lastModified": 1754725699, + "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", + "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1754572513, - "narHash": "sha256-BN2a2Lft9BwdDPBplaWe8kYW2wLaaVLDwcWwMJeBw3I=", + "lastModified": 1754921951, + "narHash": "sha256-KY+/livAp6l3fI8SdNa+CLN/AA4Z038yL/pQL2PaW7g=", "owner": "nix-community", "repo": "nixvim", - "rev": "1db179502524f21fe4e3175e3348202ed0ef253f", + "rev": "7b53322d75a1c66f84fb145e4b5f0f411d9edc6b", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1754630052, - "narHash": "sha256-NCJ2F+xMLSPfD9TLZFO55NiNN2+Lee7tQBAcOcp/3Bo=", + "lastModified": 1754977733, + "narHash": "sha256-9wkBaz789ZjFoy4vYf1JPBbXFFtmE/LmdKHCnvBEsfo=", "owner": "nix-community", "repo": "NUR", - "rev": "c207a5afe9d4dc7b145a59f96f075f7155727779", + "rev": "ac7aceca63c786be19d6cad0bed11cb02da7d9e3", "type": "github" }, "original": { From 9fb33cbfac78925dfca8bbbf3b419c18483db104 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 11 Aug 2025 19:13:02 +0100 Subject: [PATCH 2143/2258] nix fmt --- hosts/lemp11/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix index 124cf9d2..224a71d5 100644 --- a/hosts/lemp11/configuration.nix +++ b/hosts/lemp11/configuration.nix @@ -32,7 +32,7 @@ }; systemd.settings.Manager = { - DefaultTimeoutStopSec="10s"; + DefaultTimeoutStopSec = "10s"; }; networking.networkmanager.enable = true; From 170806728ca5e27d4565cfbd71117592d99e2480 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 12 Aug 2025 08:56:45 +0100 Subject: [PATCH 2144/2258] Fix st path --- overlays/mods/dwm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index a9b9cfb4..07e9060a 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -6,7 +6,7 @@ in prev.dwm.override { conf = '' #define BROWSER "${lib.getExe prev.librewolf}" - #define TERMINAL "${lib.getExe prev.st}" + #define TERMINAL "/etc/profiles/per-user/opdavies/bin/st" static const unsigned int borderpx = 1; static const unsigned int snap = 32; From c1b4c27f7481ab9bd9d3ceb3b4cc622f01c1a270 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 12 Aug 2025 09:03:43 +0100 Subject: [PATCH 2145/2258] Disable ollama --- modules2/hosts/t480/ollama.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules2/hosts/t480/ollama.nix b/modules2/hosts/t480/ollama.nix index 2415d86f..4ec6407a 100644 --- a/modules2/hosts/t480/ollama.nix +++ b/modules2/hosts/t480/ollama.nix @@ -1,3 +1,3 @@ { - flake.modules.nixos.desktop.services.ollama.enable = true; + flake.modules.nixos.desktop.services.ollama.enable = false; } From 656147c9dd7e327a36263d455a561fd9fc8eead7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 12 Aug 2025 20:19:59 +0100 Subject: [PATCH 2146/2258] Add asciidoc snippet --- modules2/nixvim/completion/snippets/asciidoc.lua | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 modules2/nixvim/completion/snippets/asciidoc.lua diff --git a/modules2/nixvim/completion/snippets/asciidoc.lua b/modules2/nixvim/completion/snippets/asciidoc.lua new file mode 100644 index 00000000..f624109f --- /dev/null +++ b/modules2/nixvim/completion/snippets/asciidoc.lua @@ -0,0 +1,3 @@ +return { + s("dev", t("__Under development...__")), +} From 6b06d8c1dd238be555a782a2b1b3645344d0ec0a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 13 Aug 2025 22:44:11 +0100 Subject: [PATCH 2147/2258] Extra sudo module, use sudo-rs --- modules2/owner.nix | 5 +---- modules2/sudo.nix | 9 +++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 modules2/sudo.nix diff --git a/modules2/owner.nix b/modules2/owner.nix index c293caab..c024a7eb 100644 --- a/modules2/owner.nix +++ b/modules2/owner.nix @@ -13,10 +13,7 @@ users.users.${config.flake.meta.owner.username} = { isNormalUser = true; initialPassword = lib.mkForce ""; - extraGroups = [ - "input" - "wheel" - ]; + extraGroups = [ "input" ]; }; nix.settings.trusted-users = [ config.flake.meta.owner.username ]; diff --git a/modules2/sudo.nix b/modules2/sudo.nix new file mode 100644 index 00000000..7f70c7c6 --- /dev/null +++ b/modules2/sudo.nix @@ -0,0 +1,9 @@ +{ config, ... }: + +{ + flake.modules.nixos.pc = { + security.sudo-rs.enable = true; + + users.users.${config.flake.meta.owner.username}.extraGroups = [ "wheel" ]; + }; +} From b9508d734f39464d069815a51acdc7867851908a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 13 Aug 2025 22:44:34 +0100 Subject: [PATCH 2148/2258] Update todo.txt --- todo.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo.txt b/todo.txt index e5120997..46dd041e 100644 --- a/todo.txt +++ b/todo.txt @@ -8,3 +8,4 @@ websites forgejo Create a Home Manager module for bluetuith. +Enable tree-fmt From 85055352917a53062a5925c233a10dccca54750f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 13 Aug 2025 22:44:44 +0100 Subject: [PATCH 2149/2258] Update notes.txt --- notes.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/notes.txt b/notes.txt index 26f5fac2..e01d0f67 100644 --- a/notes.txt +++ b/notes.txt @@ -2,3 +2,5 @@ Running Neovim as a package: nix run .#neovim nix run git+https://code.oliverdavies.uk/opdavies/nix-config#neovim + +nixos-rebuild --flake .#nixedo --target-host 192.168.1.116 --sudo test From 12adda4be4766d95cf105d075cc6c10d4745b72d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 13 Aug 2025 22:47:14 +0100 Subject: [PATCH 2150/2258] Start to refactor nixedo homelab configuration --- modules2/hosts/nixedo/imports.nix | 7 +++++++ modules2/nixos-configurations.nix | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 modules2/hosts/nixedo/imports.nix diff --git a/modules2/hosts/nixedo/imports.nix b/modules2/hosts/nixedo/imports.nix new file mode 100644 index 00000000..e22a75c4 --- /dev/null +++ b/modules2/hosts/nixedo/imports.nix @@ -0,0 +1,7 @@ +{ config, ... }: + +{ + flake.modules.nixos."nixosConfigurations/nixedo".imports = with config.flake.modules.nixos; [ + pc + ]; +} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 3daa39dc..9c18853a 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -44,9 +44,11 @@ modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; - nixedo = mkNixosConfiguration { + nixedo = mkNixosConfiguration rec { hostname = "nixedo"; stateVersion = "24.11"; + + modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; t480 = mkNixosConfiguration rec { From 23a1745906b236a5789797febd37b884d52ba92b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 13 Aug 2025 22:52:20 +0100 Subject: [PATCH 2151/2258] Add `source` snippet --- modules2/nixvim/completion/snippets/asciidoc.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules2/nixvim/completion/snippets/asciidoc.lua b/modules2/nixvim/completion/snippets/asciidoc.lua index f624109f..58b94986 100644 --- a/modules2/nixvim/completion/snippets/asciidoc.lua +++ b/modules2/nixvim/completion/snippets/asciidoc.lua @@ -1,3 +1,10 @@ return { s("dev", t("__Under development...__")), + + s("source", fmta([[ + [source<options>] + ---- + <finish> + ---- + ]], { finish = i(0), options = i(1) })), } From c9b82b99fe87873c9850ddf852ddcac5e4504538 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 14 Aug 2025 07:38:17 +0100 Subject: [PATCH 2152/2258] Remove `lemp11` configuration Migrated to Nixbook. https://github.com/mkellyxp/nixbook --- hosts/lemp11/configuration.nix | 54 ------------------------- hosts/lemp11/hardware-configuration.nix | 50 ----------------------- hosts/lemp11/programs.nix | 13 ------ hosts/lemp11/services.nix | 19 --------- modules2/hosts/lemp11/imports.nix | 7 ---- modules2/nixos-configurations.nix | 6 --- secrets.nix | 1 - 7 files changed, 150 deletions(-) delete mode 100644 hosts/lemp11/configuration.nix delete mode 100644 hosts/lemp11/hardware-configuration.nix delete mode 100644 hosts/lemp11/programs.nix delete mode 100644 hosts/lemp11/services.nix delete mode 100644 modules2/hosts/lemp11/imports.nix diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix deleted file mode 100644 index 224a71d5..00000000 --- a/hosts/lemp11/configuration.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ inputs, pkgs, ... }: - -{ - imports = [ - inputs.agenix.nixosModules.default - inputs.nixos-hardware.nixosModules.common-cpu-intel - inputs.nixos-hardware.nixosModules.common-gpu-intel - inputs.nixos-hardware.nixosModules.common-pc-laptop - inputs.nixos-hardware.nixosModules.common-pc-laptop-hdd - inputs.nixos-hardware.nixosModules.system76 - - ../common - ./hardware-configuration.nix - ./programs.nix - ./services.nix - - ../../users/opdavies.nix - ../../users/eric.nix - ]; - - nixpad.enable = true; - - # Bootloader. - boot = { - loader = { - efi.canTouchEfiVariables = true; - efi.efiSysMountPoint = "/boot/efi"; - - systemd-boot.enable = true; - systemd-boot.configurationLimit = 25; - }; - }; - - systemd.settings.Manager = { - DefaultTimeoutStopSec = "10s"; - }; - - networking.networkmanager.enable = true; - - security = { - polkit.enable = true; - rtkit.enable = true; - }; - - users.users.eric.packages = with pkgs; [ - git - vscodium - ]; - - environment.systemPackages = with pkgs; [ - fastfetch - htop - ]; -} diff --git a/hosts/lemp11/hardware-configuration.nix b/hosts/lemp11/hardware-configuration.nix deleted file mode 100644 index 9cb083b7..00000000 --- a/hosts/lemp11/hardware-configuration.nix +++ /dev/null @@ -1,50 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - modulesPath, - ... -}: - -{ - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - - boot.initrd.availableKernelModules = [ - "xhci_pci" - "thunderbolt" - "nvme" - "usb_storage" - "usbhid" - "sd_mod" - "sdhci_pci" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/e577c869-18a1-4830-9e00-124fcabdab89"; - fsType = "ext4"; - }; - - fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/48FE-D346"; - fsType = "vfat"; - }; - - swapDevices = [ { device = "/dev/disk/by-uuid/2dce327b-f18d-4727-a9a2-e79d2b5161f9"; } ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s13f0u1u2u4.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/lemp11/programs.nix b/hosts/lemp11/programs.nix deleted file mode 100644 index 4da8fd00..00000000 --- a/hosts/lemp11/programs.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - programs = { - firefox = { - enable = true; - - languagePacks = [ "en-GB" ]; - preferences = { - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; -} diff --git a/hosts/lemp11/services.nix b/hosts/lemp11/services.nix deleted file mode 100644 index 90c3a9f2..00000000 --- a/hosts/lemp11/services.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - services = { - auto-cpufreq.enable = true; - gvfs.enable = true; - power-profiles-daemon.enable = false; - thermald.enable = true; - printing.enable = true; - pulseaudio.enable = false; - - xserver = { - enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - }; - }; -} diff --git a/modules2/hosts/lemp11/imports.nix b/modules2/hosts/lemp11/imports.nix deleted file mode 100644 index 20958001..00000000 --- a/modules2/hosts/lemp11/imports.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos."nixosConfigurations/lemp11".imports = with config.flake.modules.nixos; [ - pc - ]; -} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 9c18853a..883af57a 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -38,12 +38,6 @@ in { nixosConfigurations = { - lemp11 = mkNixosConfiguration rec { - hostname = "lemp11"; - - modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; - }; - nixedo = mkNixosConfiguration rec { hostname = "nixedo"; stateVersion = "24.11"; diff --git a/secrets.nix b/secrets.nix index 26c9e448..780791b8 100644 --- a/secrets.nix +++ b/secrets.nix @@ -1,6 +1,5 @@ let hosts = { - lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t480 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; From be77d86fa29e7f16f429066682f857cb564af77e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 14 Aug 2025 16:35:40 +0100 Subject: [PATCH 2153/2258] Re-configure vaultwarden --- hosts/nixedo/services/vaultwarden.nix | 38 +++++++++------------------ secrets.nix | 2 ++ secrets/vaultwarden-env.age | 17 ++++++++++++ 3 files changed, 32 insertions(+), 25 deletions(-) create mode 100644 secrets/vaultwarden-env.age diff --git a/hosts/nixedo/services/vaultwarden.nix b/hosts/nixedo/services/vaultwarden.nix index 1928cdc4..b3f697a3 100644 --- a/hosts/nixedo/services/vaultwarden.nix +++ b/hosts/nixedo/services/vaultwarden.nix @@ -1,7 +1,7 @@ { config, + inputs, lib, - options, ... }: @@ -20,26 +20,6 @@ in default = "${service}.${homelab.domain}"; type = types.str; }; - - homepage.name = mkOption { - default = "Vaultwarden"; - type = types.str; - }; - - homepage.description = mkOption { - default = "Unofficial Bitwarden compatible server written in Rust"; - type = types.str; - }; - - homepage.icon = mkOption { - default = "bitwarden"; - type = types.str; - }; - - homepage.category = mkOption { - default = "Services"; - type = types.str; - }; }; config = mkIf cfg.enable { @@ -47,6 +27,8 @@ in ${service} = { enable = true; + environmentFile = config.age.secrets.vaultwarden-env.path; + config = { DOMAIN = "https://${cfg.url}"; ROCKET_ADDRESS = "127.0.0.1"; @@ -55,11 +37,17 @@ in }; }; - cloudflared.tunnels.${homelab.cloudflared.tunnelId}.ingress = { - "${cfg.url}" = "http://${config.services.${service}.config.ROCKET_ADDRESS}:${ - toString config.services.${service}.config.ROCKET_PORT - }"; + nginx.virtualHosts.${cfg.url} = { + forceSSL = true; + useACMEHost = homelab.domain; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.${service}.config.ROCKET_PORT}"; + recommendedProxySettings = true; + }; }; }; + + age.secrets.vaultwarden-env.file = "${inputs.self}/secrets/vaultwarden-env.age"; }; } diff --git a/secrets.nix b/secrets.nix index 780791b8..23e41540 100644 --- a/secrets.nix +++ b/secrets.nix @@ -35,4 +35,6 @@ in hosts.t480 ] ++ [ users.opdavies ]; + + "secrets/vaultwarden-env.age".publicKeys = [ hosts.nixedo ] ++ [ users.opdavies ]; } diff --git a/secrets/vaultwarden-env.age b/secrets/vaultwarden-env.age new file mode 100644 index 00000000..369a978c --- /dev/null +++ b/secrets/vaultwarden-env.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g MXyxq6twZvHuGa34cyTGrKJ/2PlQVHwdRvtS/biAAwc +ds/yAQTJmZ+XUwWWKE6Zpjocp+wOlTUo8ZJEchnyeyA +-> ssh-rsa +vTWQw +wr4+JL6SYefXpOjRpWVNeCtwW43P5t1ICTIc2ZeANZoUKZQ+gjJqOnaTIf6O/NCf +7hLAqGiuqBEiGbo+4VxACVs9y4vwB2JQxklmlGfWxmTN8YFLmg9OBwwb5sPPlpWY +bC2x1+V2KO0h8z0vrkFjRJcq0a+N6L8G5iM2+KPSia2yFELCTcl6DUTRY3EufsKH +c7X7KZhyslFjLV9CHOgaHjtrMNxyHnYkxT0cwezRsTb7UFScuU33ox84yZwn5Ebg +r4Ll9v9M2jw43PI+L6o703yCRNHV+7O2ms6Q4eyZ+LcK0GhBfVGgNlPeRjLCXUcL +kbKziay/D9k5l9EaLB1vNOyouNLaJVxjDiBo7DUT9O5/1Lo+RiWDMyzaXP3094CR +/XEjCn+DuWurf0QiZuhtD9zjXrp9pqqa63A6R3oVHTa/EoD6gf+M4aT+RL0P0Sfv +d2VGSOaUn3H/tInd4psLQRbRr+fiajOgleqo+XhYJd69P5onkBKYfloOOGMtumn2 +quLohQrkmwiNfPYn6WAdzehhgqqLp49nmIaBmBxs2mJ1e78zHPM+Qea3E1dv1eo0 +p4n8niu7rhz+OXWTGz7/QKIw/Fd7cvjTjReu7Zynyb2L32BcxP3xxZuSd+C1a4YH +JSWEtnOP3dmP483jQI8zh2RWoTZ2ViQ282jG/1whMB8 +--- ZKapT60ToUfDvnxOo1NnGawLAthNptfdDbRt3TgdZDw +װ6eƔuAE)a[་J0[&1%ΐ-v03Sdج^e f]n gK/xgc!j?+~b^'@Xc \ No newline at end of file From 68f47db84e8ce3ab13d80b4786525880a5fad8bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 14 Aug 2025 22:33:17 +0100 Subject: [PATCH 2154/2258] Remove `t490` configuration Migrated to Nixbook. --- hosts/t490/configuration.nix | 34 -------------- hosts/t490/hardware-configuration.nix | 54 ---------------------- hosts/t490/services/cron.nix | 11 ----- hosts/t490/services/default.nix | 20 -------- hosts/t490/services/interception-tools.nix | 25 ---------- hosts/t490/services/udev.nix | 9 ---- hosts/t490/services/xserver.nix | 10 ---- modules2/hosts/t490/imports.nix | 7 --- modules2/nixos-configurations.nix | 6 --- 9 files changed, 176 deletions(-) delete mode 100644 hosts/t490/configuration.nix delete mode 100644 hosts/t490/hardware-configuration.nix delete mode 100644 hosts/t490/services/cron.nix delete mode 100644 hosts/t490/services/default.nix delete mode 100644 hosts/t490/services/interception-tools.nix delete mode 100644 hosts/t490/services/udev.nix delete mode 100644 hosts/t490/services/xserver.nix delete mode 100644 modules2/hosts/t490/imports.nix diff --git a/hosts/t490/configuration.nix b/hosts/t490/configuration.nix deleted file mode 100644 index 7f96406d..00000000 --- a/hosts/t490/configuration.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ inputs, ... }: - -{ - imports = [ - inputs.agenix.nixosModules.default - inputs.nixos-hardware.nixosModules.common-gpu-intel - inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t490 - - ../common - - ./hardware-configuration.nix - ./services - - ../../users/luke.nix - ../../users/opdavies.nix - ]; - - nixpad.enable = true; - - boot = { - loader = { - efi.canTouchEfiVariables = true; - - systemd-boot.enable = true; - systemd-boot.configurationLimit = 10; - }; - }; - - systemd.settings.Manager = { - DefaultTimeoutStopSec = "10s"; - }; - - networking.networkmanager.enable = true; -} diff --git a/hosts/t490/hardware-configuration.nix b/hosts/t490/hardware-configuration.nix deleted file mode 100644 index 944633ab..00000000 --- a/hosts/t490/hardware-configuration.nix +++ /dev/null @@ -1,54 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: - -{ - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ - "xhci_pci" - "nvme" - "usb_storage" - "sd_mod" - "rtsx_pci_sdmmc" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/001febe7-57e8-4c9a-bbaf-52c3d8305b63"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/5F0A-3374"; - fsType = "vfat"; - options = [ - "fmask=0077" - "dmask=0077" - ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/t490/services/cron.nix b/hosts/t490/services/cron.nix deleted file mode 100644 index a8872af2..00000000 --- a/hosts/t490/services/cron.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - services.cron = { - enable = true; - - systemCronJobs = [ - "0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a" - ]; - }; -} diff --git a/hosts/t490/services/default.nix b/hosts/t490/services/default.nix deleted file mode 100644 index f626bbcb..00000000 --- a/hosts/t490/services/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - imports = [ - ./cron.nix - ./interception-tools.nix - ./udev.nix - ./xserver.nix - ]; - - services = { - auto-cpufreq.enable = true; - blueman.enable = true; - gvfs.enable = true; - power-profiles-daemon.enable = false; - printing.enable = true; - pulseaudio.enable = false; - throttled.enable = true; - thermald.enable = true; - upower.enable = true; - }; -} diff --git a/hosts/t490/services/interception-tools.nix b/hosts/t490/services/interception-tools.nix deleted file mode 100644 index 96e43b85..00000000 --- a/hosts/t490/services/interception-tools.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs, ... }: - -{ - # Make Caps lock work as an Escape key on press and Ctrl on hold. - services.interception-tools = - let - dfkConfig = pkgs.writeText "dual-function-keys.yaml" '' - MAPPINGS: - - KEY: KEY_CAPSLOCK - TAP: KEY_ESC - HOLD: KEY_LEFTCTRL - ''; - in - { - enable = true; - plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - NAME: "AT Translated Set 2 keyboard" - EVENTS: - EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]] - ''; - }; -} diff --git a/hosts/t490/services/udev.nix b/hosts/t490/services/udev.nix deleted file mode 100644 index 732ca1d6..00000000 --- a/hosts/t490/services/udev.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - services.udev = { - enable = true; - - extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" - ''; - }; -} diff --git a/hosts/t490/services/xserver.nix b/hosts/t490/services/xserver.nix deleted file mode 100644 index 4120a2cf..00000000 --- a/hosts/t490/services/xserver.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.xserver = { - enable = true; - - xkb = { - layout = "gb"; - variant = ""; - }; - }; -} diff --git a/modules2/hosts/t490/imports.nix b/modules2/hosts/t490/imports.nix deleted file mode 100644 index f7afa2ed..00000000 --- a/modules2/hosts/t490/imports.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos."nixosConfigurations/t490".imports = with config.flake.modules.nixos; [ - pc - ]; -} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 883af57a..9e9a732a 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -51,12 +51,6 @@ modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; - t490 = mkNixosConfiguration rec { - hostname = "t490"; - - modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; - }; - PW05CH3L = mkNixosConfiguration rec { hostname = "PW05CH3L"; modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; From 03a750ca32d9f6679312f21ea64489855f97b103 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 15 Aug 2025 07:00:55 +0100 Subject: [PATCH 2155/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/27a26be51ff0162a8f67660239f9407dba68d7c5?narHash=sha256-XMjUjKD/QRPcqUnmSDczSYdw46SilnG0%2Bwkho654DFM%3D' (2025-08-12) → 'github:nix-community/home-manager/11626a4383b458f8dc5ea3237eaa04e8ab1912f3?narHash=sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs%2BZ/VRTBg%3D' (2025-08-15) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/9b618a36ef6e51a689ea941b53e312ddc4c835a9?narHash=sha256-qNI5QusItaVf50ErZv6y/qIp8oujTSbMTz8BleZ2Qew%3D' (2025-08-11) → 'github:nix-community/NixOS-WSL/e37cfef071466a9ca649f6899aff05226ce17e9e?narHash=sha256-h6bbfhqWcHlx9tcyYa7dhaEiNpusLCcFYkJ/AnltLW8%3D' (2025-08-14) • Updated input 'nixos-wsl/nixpkgs': 'github:NixOS/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03) → 'github:NixOS/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054?narHash=sha256-iAcj9T/Y%2B3DBy2J0N%2ByF9XQQQ8IEb5swLFzs23CdP88%3D' (2025-08-09) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054?narHash=sha256-iAcj9T/Y%2B3DBy2J0N%2ByF9XQQQ8IEb5swLFzs23CdP88%3D' (2025-08-09) → 'github:nixos/nixpkgs/005433b926e16227259a1843015b5b2b7f7d1fc3?narHash=sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV%2B3/aO28gXpGtMXI%3D' (2025-08-12) • Updated input 'nixvim': 'github:nix-community/nixvim/7b53322d75a1c66f84fb145e4b5f0f411d9edc6b?narHash=sha256-KY%2B/livAp6l3fI8SdNa%2BCLN/AA4Z038yL/pQL2PaW7g%3D' (2025-08-11) → 'github:nix-community/nixvim/ecc7880e00a2a735074243d8a664a931d73beace?narHash=sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA%3D' (2025-08-13) • Updated input 'nur': 'github:nix-community/NUR/ac7aceca63c786be19d6cad0bed11cb02da7d9e3?narHash=sha256-9wkBaz789ZjFoy4vYf1JPBbXFFtmE/LmdKHCnvBEsfo%3D' (2025-08-12) → 'github:nix-community/NUR/94c6c5b9798480dc220ee2cc8b1ce93a472a8d8f?narHash=sha256-ecWsZvrU/v7phSRIulxUYoCZ%2Bi8s%2BmQ0ecmxxcgHUko%3D' (2025-08-13) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index c1a94371..6db20f39 100644 --- a/flake.lock +++ b/flake.lock @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1754974548, - "narHash": "sha256-XMjUjKD/QRPcqUnmSDczSYdw46SilnG0+wkho654DFM=", + "lastModified": 1755229570, + "narHash": "sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs+Z/VRTBg=", "owner": "nix-community", "repo": "home-manager", - "rev": "27a26be51ff0162a8f67660239f9407dba68d7c5", + "rev": "11626a4383b458f8dc5ea3237eaa04e8ab1912f3", "type": "github" }, "original": { @@ -345,11 +345,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1754956416, - "narHash": "sha256-qNI5QusItaVf50ErZv6y/qIp8oujTSbMTz8BleZ2Qew=", + "lastModified": 1755171343, + "narHash": "sha256-h6bbfhqWcHlx9tcyYa7dhaEiNpusLCcFYkJ/AnltLW8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "9b618a36ef6e51a689ea941b53e312ddc4c835a9", + "rev": "e37cfef071466a9ca649f6899aff05226ce17e9e", "type": "github" }, "original": { @@ -361,11 +361,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "lastModified": 1754725699, + "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", "type": "github" }, "original": { @@ -408,11 +408,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1754725699, - "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", + "lastModified": 1755027561, + "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", + "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1754921951, - "narHash": "sha256-KY+/livAp6l3fI8SdNa+CLN/AA4Z038yL/pQL2PaW7g=", + "lastModified": 1755095763, + "narHash": "sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA=", "owner": "nix-community", "repo": "nixvim", - "rev": "7b53322d75a1c66f84fb145e4b5f0f411d9edc6b", + "rev": "ecc7880e00a2a735074243d8a664a931d73beace", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1754977733, - "narHash": "sha256-9wkBaz789ZjFoy4vYf1JPBbXFFtmE/LmdKHCnvBEsfo=", + "lastModified": 1755102471, + "narHash": "sha256-ecWsZvrU/v7phSRIulxUYoCZ+i8s+mQ0ecmxxcgHUko=", "owner": "nix-community", "repo": "NUR", - "rev": "ac7aceca63c786be19d6cad0bed11cb02da7d9e3", + "rev": "94c6c5b9798480dc220ee2cc8b1ce93a472a8d8f", "type": "github" }, "original": { From 61804ebc6f559a4e061b49dc12e22ba6bf7c36f2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 02:13:07 +0100 Subject: [PATCH 2156/2258] Add `/books` redirect --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix index 7d546067..66ad7cf2 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix @@ -3063,4 +3063,8 @@ from = "/yXhoS"; to = "/talks/things-you-should-know-about-php"; } + { + from = "/books"; + to = "https://code.oliverdavies.uk/explore/repos?q=book&topic=1"; + } ] From 8700cf0c71cc153481a7169850e5fa8e49959068 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 14:58:28 +0100 Subject: [PATCH 2157/2258] Re-add spellfile This needs to be re-added to Neovim, but at least it's in the repo for reference. --- modules2/nixvim/spell/en.utf-8.add | 132 +++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 modules2/nixvim/spell/en.utf-8.add diff --git a/modules2/nixvim/spell/en.utf-8.add b/modules2/nixvim/spell/en.utf-8.add new file mode 100644 index 00000000..6d36619c --- /dev/null +++ b/modules2/nixvim/spell/en.utf-8.add @@ -0,0 +1,132 @@ +ANP +AWS +Acquia +Ansible +Appnovation +Architected +BAU +Behat +Bitbucket +Bluecheese +BrumPHP +CMSes +CTI +Cachix +Centarro +CiviCRM +Configs +D7 +DDEV +DevOps +DigitalOcean +Drupal +Drupal's +DrupalCamp +DrupalCon +DrupalEasy +Drupaler +Drush +FPM +FTSE +GitLab +Gitea +HDN +HashiCorp +Hetzner +Homelab +Immich +InvalidArgumentException +Inviqa +JSON +Jellyfin +Kickstart +Lando +Laravel +Linode +Magento +MariaDB +Microserve +Mischa +MySQL +NGINX +Neovim +Netlify +Nginx +NixOS +NodeInterface +Nomensa +OpenID +OpenTofu +PDOException +PHPDoc +PHPStan +PHPUnit +Packagist +PhpStorm +PostBuilder +PostNodeRepository +Pulumi +S3 +SHA +SQLSTATE +SQLite +SSO +Sculpin +Silex +SimpleTest +Sylius +Symfony +TODO +TermInterface +Themers +Traefik +TypeScript +Ubercart +VSCode +Vaultwarden +WCAG +WSL +Wellbeing +ZSH +Zellij +Zettelkasten +architected +assertContainsOnlyInstancesOf +assertSame +bootcamp +contrib +devenv +dotfiles +drupal +eCommerce +foreach +getPost +ghostty +hotfix +isNotPublished +isPublished +localhost +macOS +mentees +nixpkgs +nodeStorage +opdavies +osCommerce +param +reStructuredText +rebase +rebasing +roadmapping +rst2pdf +rwxrob +src +stylesheet +stylesheets +testbot +tmux +url +vhost +wildcard +worktree +worktrees +www From f970046acea6c7d0ee2664a71b43625c449ff54f Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 14:59:08 +0100 Subject: [PATCH 2158/2258] Update todo.txt --- todo.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/todo.txt b/todo.txt index 46dd041e..8c365f92 100644 --- a/todo.txt +++ b/todo.txt @@ -9,3 +9,9 @@ forgejo Create a Home Manager module for bluetuith. Enable tree-fmt +Configure dwmblocks. + +Error detected while processing BufWritePost Autocommands for "*": +Error running vale: ENOENT: no such file or directory + +Re-add spellfile From ad1a2513a7c55e49e1c8172b0b3f828e4f6f4a55 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 15:02:26 +0100 Subject: [PATCH 2159/2258] Update vaultwarden-env.age --- secrets/vaultwarden-env.age | Bin 1001 -> 1112 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/secrets/vaultwarden-env.age b/secrets/vaultwarden-env.age index 369a978c89a7996dd40cc560dc6851c53d7293c9..522a87d7e85f53518339c0efa52a693cc7b47f7c 100644 GIT binary patch delta 1083 zcmaFKeuHCzPJLK$a$ta$zprC)XrgCwqM>Jbfp%U+US4pOZ=`dUSGl24xKUxHdvb8N z373g+fk9=Nb3v(laJE-=fO(QrqH}gxP_A*hZ&a4ITVkevl3AWdMqz2L1(&X!LUD11 zZc%Zff_7O*cwjkKL0*BQZ<I@Ux~q{_XtBFRerQUTNqvB}yRU~=ps{w8XHJy9Nk%|U zS!hvSR<>J)OK73KyT5;tc0g2tS)i9?B9~WMRFXxQPq1Z(sim*4QGs8$Pf${LRAy;Z zreSEgdw5P^Vo<3^XiAE^lXpmpzE5y~o2idQvRAraS*3SGu`^d$a)yPIOJ!b0V5Lh~ zR6%NqNxe^zqf<tROO9oLlSPPmV5O;_cUg#scZ#WBu4PhGg|=BlWnq?fTA{P0S8+%P zmqB4sUP+a{g^{;!SVT@}Qn;77OP01pq^DC_mQRXdM2U+@R-}=eb9iKhTUfELx0gkr zMOkE$S%pbzWkpW72UkdlzP?+CUsPD6pQ%xJR=u-_epYg!PeDPxhqs@1cv+#RbD}{& zq<5HUrBRi$p_7k~QLsmlWlmX;L6UxQPLeN|r?#_Yj#F-GNKSZUXkd<4X^M$?o|Chm zVWLM!a%8x#i@%9umRo_JuTyB5Uu9u{MM{ycdt`)pluL?7L8MPOmtT0eS4gQxTA*cE zP<>=zuxW^8R=%TgzF)3yk)Ka$R%A(qSH7Wpu0cv}XhBtEnx9E|U}jZ%c~OzOky&Y4 zU^rJ`X--alR$gRIK}2~#U}%uBOSZc~R<W0(M`>=Tg;}0)dRnq)ihr3!eoB6JkwtD$ zajLV0cWQD`cyft;rDHmmVRB+cfR{&lWPNa|NkKqHg_*v7Qh<kfWrn$DiJ51Wexiwm zWpSytPfmnSxvOiITd{$0h@-oqxpTOOcCkyQGgqKnm1#(BnwPI*Zf=E7N`zstV_;BZ zc7dmxnSWK5ubH!1j<ddtV?l+fX;n(Ff4PfGRZ^&*rM5*`a-?5wwgFe7U$|45VSReI zrDu9>d04J@RjF~9cdlz{Wk#uCd698eVrGS7K%`5!euX2KuCA^^wz;FWaa34@Uw&0# zX=O>ac1E~|i-D(hxJSBwiobViS$c(wpRcJ`hJGZME?e1j=QX;2`+psJZxC6(WY_5> z?em3KPF+1o_Uymn8LG`&jPjEYF|62Cui@7F+gT%J<>b)$oHkl7qmMn;R-St0Xn&BB z(F{3O^BXL#7J0?9X3x;dZZ>d@$g$6>s90Nne6#SOQ(J_3z6h`+Ni$CqIT-%5a)sv! zso?KNE}Dol?YbJrmjB@F;+r)yZ~Y5vFg|>>VQ;TtjawOGPB^1ZWy>743P14%p{+p) zmrUBu^&Q9!GwQw{^IU_=pY!<1`5V2Im+yEozj@N<C1*3XUNTC5^D^Fr`S17E#d<%> K_Rm}E*9ZU;S%-%J delta 971 zcmcb?@sfRlPQ7nLWksP`NqJP6N2z<Fu}N}eh<lN@m%dRzPGFcvc}h@ONw9uWrlVtd zGFM8mex+kzh*xfuc0_1-c(}K#SyVw*esY0!xqnVbXud_1muqrHUS(>fBbTn7LUD11 zZc%Zff_7O*cwjkKd69{>mycO+WNKPOfqzy|L3o&7YQ1wwdANyjfN6=Lr*nvBvQbp3 zqhC~hsCQJLc6ydqp?_Xth-aFazrLSy8kc#7k7J>GW@(|5Yo>crzP3qNg`;y=v1O%6 zS-F#uS71eUPHv8ST6jfnh@VBIn@?`KrN2{od6H>yKtN7GcqCVnvr&bic9@a3zd?pY zl|flicD-9xkXLe{L87*wnU96LX{N7{ws$~qW};E0o2!p=NOF#uOK3<?q_JyhTCukW zSF(A8xp!1XWpR#MmQR?avxk3rqDNLqk*{AxrAJ<5c14Ima(QZ1P;p3-d8k`(a%rfs zaejq`No7=do~dh6I#-d2PmX1orLR#|xruRrXT7$MS-!b}aiw#RpGTOsxxZ0vv00!= zYGstRPqMdxdxle5n0vZkPC#l<mXC8pXtEDic9M5hW@4qji)FTHj-_j&kCS1UpMPb3 zsh>}xS6D@sOQuu4xl3q>rN61Zp-;YcP-eJ`Z)H_tM1Zk@rHOM8mwtq6mUEuAOKEs% zQGJ?0U}jWlMv04MRaQh%fn`BqVWOF_qgjw~ewar{qP}asi&=V_wy#NIh<1>VL4ZMU zS{YZ0QJ8zMe`08!v4?(%XI_d)L9tI@P*PBlc3Ng)mVbIqYGJ;1L`I}nikW4AX?|X| zlXqlVPQJgtyKhNpZk`cWVX04kMqp8PZhd*CUs^z9o>{nKN>yq`MtWhPPl1VLUan`N zQ?64*u~Dv<VXC=Bl}CWDc3^6vv8!Q9nPF<a0at-Zo<&|}sd-UGm9~FGc!+zIxqhIx zXSu#xig|KbR!CM*YN>ftWnN{Hk&m&FQ*uRsaYaQ`X>f|Rvtgo1qz9K*aJXwpUcG;S zaY}B0iG^`ipr=JuhEY&>en^y2SZ1J+g;AEfzF~QWuagCruCA^^ly_o5h?zl1erTFY zSzd*IzM)^9dt$kdV@ZZzK}lMQOHxpYaY%YfluJ36%+Bi@u9~Gv9h-9hajB!L=BuCg z5?6CX|DC+z!Jh8*UVjXtU#aai+$+oMqS`w5+yvbfWt%3PGccA6-j*`;+Reu|*2K+E w-N)S~mlm7HoxaukZ<Bs+#f$W5>yi~Ev+T9&THbs=n-r&hRLCJBdH>8E0OJo+%K!iX From 671dcfe5c2140700fe7f06c846b446f7af99d492 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 22:53:55 +0100 Subject: [PATCH 2160/2258] Remove tome subdomain --- hosts/nixedo/modules/acme.nix | 1 - .../nginx/www.oliverdavies.uk/default.nix | 24 ------------------- 2 files changed, 25 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 18a03144..d0d0a1b5 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -41,7 +41,6 @@ "rebuilding-symfony" "tailwindcss-demo" "talking-drupal-tailwindcss" - "tome" "tubearchivist" "uptime" "vaultwarden" diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 47b6c3d5..6c28884c 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -24,7 +24,6 @@ let "sites/default/files" "testing" "themes/custom/opdavies" - "tome-test" ]; port = ports.nginx-website-tome; @@ -80,34 +79,11 @@ in globalRedirect = "www.oliverdavies.uk"; useACMEHost = "oliverdavies.uk"; }; - - "tome.oliverdavies.uk" = { - listen = [ - { - addr = "localhost"; - port = tome.port; - } - ]; - - locations."/".tryFiles = "$uri $uri.html $uri/index.html =404"; - - root = tome.root; - - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - - port_in_redirect off; - - # Remove trailing slashes. - rewrite ^/(.*)/$ /$1 permanent; - ''; - }; }; cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { ingress = { "oliverdavies.uk" = "http://localhost:${toString port}"; - "tome.oliverdavies.uk" = "http://localhost:${toString tome.port}"; "www.oliverdavies.uk" = "http://localhost:${toString port}"; }; }; From 7cfaea5e97751360cda22a736111ccde6346f1ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 22:54:15 +0100 Subject: [PATCH 2161/2258] Refactor --- .../nixedo/modules/nginx/www.oliverdavies.uk/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix index 6c28884c..cfae1427 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/default.nix @@ -81,11 +81,9 @@ in }; }; - cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { - ingress = { - "oliverdavies.uk" = "http://localhost:${toString port}"; - "www.oliverdavies.uk" = "http://localhost:${toString port}"; - }; + cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466".ingress = { + "oliverdavies.uk" = "http://localhost:${toString port}"; + "www.oliverdavies.uk" = "http://localhost:${toString port}"; }; }; } From f98df5ff4044f94551e4ea02a3c889969faf8616 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 23:02:03 +0100 Subject: [PATCH 2162/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'git-repo-updater': 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) → 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) • Updated input 'home-manager': 'github:nix-community/home-manager/11626a4383b458f8dc5ea3237eaa04e8ab1912f3?narHash=sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs%2BZ/VRTBg%3D' (2025-08-15) → 'github:nix-community/home-manager/d2ffdedfc39c591367b1ddf22b4ce107f029dcc3?narHash=sha256-RHK4H6SWzkAtW/5WBHsyugaXJX25yr5y7FAZznxcBJs%3D' (2025-08-17) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/b65f8d80656f9fcbd1fecc4b7f0730f468333142?narHash=sha256-UbLO8/0pVBXLJuyRizYOJigtzQAj8Z2bTnbKSec/wN0%3D' (2025-08-10) → 'github:nix-community/nix-index-database/ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3?narHash=sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ%3D' (2025-08-17) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113?narHash=sha256-dz303vGuzWjzOPOaYkS9xSW%2BB93PSAJxvBd6CambXVA%3D' (2025-08-07) → 'github:NixOS/nixos-hardware/3dac8a872557e0ca8c083cdcfc2f218d18e113b0?narHash=sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA%3D' (2025-08-16) • Updated input 'nixos-wsl': 'github:nix-community/NixOS-WSL/e37cfef071466a9ca649f6899aff05226ce17e9e?narHash=sha256-h6bbfhqWcHlx9tcyYa7dhaEiNpusLCcFYkJ/AnltLW8%3D' (2025-08-14) → 'github:nix-community/NixOS-WSL/203a7b463f307c60026136dd1191d9001c43457f?narHash=sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq%2Blj1wHdu8%3D' (2025-08-15) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/005433b926e16227259a1843015b5b2b7f7d1fc3?narHash=sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV%2B3/aO28gXpGtMXI%3D' (2025-08-12) → 'github:nixos/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14) • Updated input 'nur': 'github:nix-community/NUR/94c6c5b9798480dc220ee2cc8b1ce93a472a8d8f?narHash=sha256-ecWsZvrU/v7phSRIulxUYoCZ%2Bi8s%2BmQ0ecmxxcgHUko%3D' (2025-08-13) → 'github:nix-community/NUR/baa6cf1524463c1178af1e37de51be461c17d7ce?narHash=sha256-7o11BHMIHP0jcr%2B6bF6MZ6dVud2IAnXU9O15WoeKGYg%3D' (2025-08-17) --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 6db20f39..f9b06f1c 100644 --- a/flake.lock +++ b/flake.lock @@ -209,7 +209,7 @@ "narHash": "sha256-bOCBp5JCtanO7aINXDJOtwY4qZSPWBxCDf50NpqAKBU=", "ref": "refs/heads/main", "rev": "8175f54dddb4a9579a9bea99c7236eebb6d46fc0", - "revCount": 1, + "revCount": 35, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" }, @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1755229570, - "narHash": "sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs+Z/VRTBg=", + "lastModified": 1755442500, + "narHash": "sha256-RHK4H6SWzkAtW/5WBHsyugaXJX25yr5y7FAZznxcBJs=", "owner": "nix-community", "repo": "home-manager", - "rev": "11626a4383b458f8dc5ea3237eaa04e8ab1912f3", + "rev": "d2ffdedfc39c591367b1ddf22b4ce107f029dcc3", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1754800038, - "narHash": "sha256-UbLO8/0pVBXLJuyRizYOJigtzQAj8Z2bTnbKSec/wN0=", + "lastModified": 1755404379, + "narHash": "sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "b65f8d80656f9fcbd1fecc4b7f0730f468333142", + "rev": "ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1754564048, - "narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=", + "lastModified": 1755330281, + "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113", + "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "type": "github" }, "original": { @@ -345,11 +345,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1755171343, - "narHash": "sha256-h6bbfhqWcHlx9tcyYa7dhaEiNpusLCcFYkJ/AnltLW8=", + "lastModified": 1755261305, + "narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "e37cfef071466a9ca649f6899aff05226ce17e9e", + "rev": "203a7b463f307c60026136dd1191d9001c43457f", "type": "github" }, "original": { @@ -408,11 +408,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1755027561, - "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -455,11 +455,11 @@ ] }, "locked": { - "lastModified": 1755102471, - "narHash": "sha256-ecWsZvrU/v7phSRIulxUYoCZ+i8s+mQ0ecmxxcgHUko=", + "lastModified": 1755467122, + "narHash": "sha256-7o11BHMIHP0jcr+6bF6MZ6dVud2IAnXU9O15WoeKGYg=", "owner": "nix-community", "repo": "NUR", - "rev": "94c6c5b9798480dc220ee2cc8b1ce93a472a8d8f", + "rev": "baa6cf1524463c1178af1e37de51be461c17d7ce", "type": "github" }, "original": { From 94c349b69ca7638117fbcef0e4725ebc9053622c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 23:10:16 +0100 Subject: [PATCH 2163/2258] Remove tmux-resurrect --- modules2/tmux/plugins.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules2/tmux/plugins.nix b/modules2/tmux/plugins.nix index d5d9e0b5..3e7d723d 100644 --- a/modules2/tmux/plugins.nix +++ b/modules2/tmux/plugins.nix @@ -2,9 +2,6 @@ flake.modules.homeManager.base = { pkgs, ... }: { - programs.tmux.plugins = with pkgs.tmuxPlugins; [ - resurrect - yank - ]; + programs.tmux.plugins = with pkgs.tmuxPlugins; [ yank ]; }; } From 02776833b48d04b4b6178d4960eafc659b1de87a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 17 Aug 2025 23:16:24 +0100 Subject: [PATCH 2164/2258] Commit the lock file after updating --- justfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/justfile b/justfile index 1e028c6c..660bf9dc 100644 --- a/justfile +++ b/justfile @@ -29,7 +29,7 @@ test *args: @just _nixos test {{ args }} update: - nix flake update + nix flake update --commit-lock-file _nixos command *args: nh os {{ command }} . {{ args }} From e2bfa94073ce9a1db85981a90a5fda11a9f87064 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 00:16:32 +0100 Subject: [PATCH 2165/2258] Disable open-webui --- modules2/hosts/t480/open-webui.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules2/hosts/t480/open-webui.nix b/modules2/hosts/t480/open-webui.nix index f8d41789..ae6421f8 100644 --- a/modules2/hosts/t480/open-webui.nix +++ b/modules2/hosts/t480/open-webui.nix @@ -1,5 +1,5 @@ { nixpkgs.allowedUnfreePackages = [ "open-webui" ]; - flake.modules.nixos.desktop.services.open-webui.enable = true; + flake.modules.nixos.desktop.services.open-webui.enable = false; } From 3fc67873ddfeaa892ab06984e64a3b7b82a8c86e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 00:41:25 +0100 Subject: [PATCH 2166/2258] Remove `zet-new` --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - packages/default.nix | 1 - packages/zet-new.nix | 21 --------------------- 4 files changed, 24 deletions(-) delete mode 100644 packages/zet-new.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index ac40d82f..89091cbe 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -9,7 +9,6 @@ time-until update-all-git-repos vic - zet-new ]; xdg.configFile."pam-gnupg".text = '' diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index b57169e1..3f4b19f4 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -31,7 +31,6 @@ unmounter update-all-git-repos vic - zet-new ]; xdg.configFile."pam-gnupg".text = '' diff --git a/packages/default.nix b/packages/default.nix index 3a41c194..52254bb7 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -36,7 +36,6 @@ in unmounter = callPackage ./unmounter.nix { }; update-all-git-repos = callPackage ./update-all-git-repos.nix { }; vic = callPackage ./vic.nix { inherit inputs; }; - zet-new = callPackage ./zet-new.nix { }; vimPlugins = prev.vimPlugins // vimPlugins; } diff --git a/packages/zet-new.nix b/packages/zet-new.nix deleted file mode 100644 index a19aad48..00000000 --- a/packages/zet-new.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "zet-new"; - - runtimeInputs = with pkgs; [ - coreutils - ]; - - text = '' - folder="''${ZET_DIR:-"$XDG_DOCUMENTS_DIR/wiki/zet"}/$(date +%Y)/$(date +%m)" - - mkdir -p "$folder" - - note="$folder/$(date +%Y-%m-%d-%T | sed 's/[-:]//g').md" - - printf "# %s\n\n\n" "$1" > "$note" - - "$EDITOR" "+normal G" "$note" - ''; -} From 54b49c07bb77ee92b0cd26dc6e6d4d37b1e56b26 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 02:37:35 +0100 Subject: [PATCH 2167/2258] Add `git-save` https://github.com/krisnova/home/blob/main/bin/git-save --- modules2/scripts/git-save.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 modules2/scripts/git-save.nix diff --git a/modules2/scripts/git-save.nix b/modules2/scripts/git-save.nix new file mode 100644 index 00000000..423144b1 --- /dev/null +++ b/modules2/scripts/git-save.nix @@ -0,0 +1,20 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "git-save"; + + runtimeInputs = with pkgs; [ git ]; + + text = '' + git status + git add . + git commit -s -m "Automated commit" + git push + ''; + }) + ]; + }; +} From e31e2d0048af04892bef5645c20f8e309b2b5fc3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 09:05:07 +0100 Subject: [PATCH 2168/2258] Remove PW05CH3L configuration --- flake.lock | 65 ++------------------ flake.nix | 2 - hosts/PW05CH3L/configuration.nix | 20 ------ modules2/hosts/PW05CH3L/imports.nix | 7 --- modules2/hosts/PW05CH3L/tmux-sessionizer.nix | 15 ----- modules2/nixos-configurations.nix | 5 -- 6 files changed, 6 insertions(+), 108 deletions(-) delete mode 100644 hosts/PW05CH3L/configuration.nix delete mode 100644 modules2/hosts/PW05CH3L/imports.nix delete mode 100644 modules2/hosts/PW05CH3L/tmux-sessionizer.nix diff --git a/flake.lock b/flake.lock index f9b06f1c..f1168793 100644 --- a/flake.lock +++ b/flake.lock @@ -118,22 +118,6 @@ "type": "github" } }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -339,37 +323,17 @@ "type": "github" } }, - "nixos-wsl": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1755261305, - "narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=", - "owner": "nix-community", - "repo": "NixOS-WSL", - "rev": "203a7b463f307c60026136dd1191d9001c43457f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "main", - "repo": "NixOS-WSL", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1754725699, - "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", - "owner": "NixOS", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -406,22 +370,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "flake-parts": [ @@ -503,8 +451,7 @@ "import-tree": "import-tree", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", - "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "nur": "nur", diff --git a/flake.nix b/flake.nix index e98f64fa..0cf8ce9a 100644 --- a/flake.nix +++ b/flake.nix @@ -43,8 +43,6 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - nixvim = { inputs.flake-parts.follows = "flake-parts"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix deleted file mode 100644 index d42e7a99..00000000 --- a/hosts/PW05CH3L/configuration.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ inputs, ... }: - -{ - imports = [ - inputs.agenix.nixosModules.default - inputs.disko.nixosModules.disko - inputs.nixos-wsl.nixosModules.default - - ../common - - ../../users/opdavies.nix - ]; - - wsl = { - enable = true; - defaultUser = "opdavies"; - }; - - home-manager.users.opdavies.home.sessionVariables.WAYLAND_DISPLAY = ""; -} diff --git a/modules2/hosts/PW05CH3L/imports.nix b/modules2/hosts/PW05CH3L/imports.nix deleted file mode 100644 index 78425983..00000000 --- a/modules2/hosts/PW05CH3L/imports.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos."nixosConfigurations/PW05CH3L".imports = with config.flake.modules.nixos; [ - pc - ]; -} diff --git a/modules2/hosts/PW05CH3L/tmux-sessionizer.nix b/modules2/hosts/PW05CH3L/tmux-sessionizer.nix deleted file mode 100644 index ee17711d..00000000 --- a/modules2/hosts/PW05CH3L/tmux-sessionizer.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos."nixosConfigurations/PW05CH3L".home-manager.users.${config.flake.meta.owner.username} = - args: { - programs.tmux-sessionizer.searchPaths = - let - inherit (args.config.xdg) userDirs; - in - [ - "${userDirs.extraConfig.XDG_REPOS_DIR}:3" - "${userDirs.documents}:1" - ]; - }; -} diff --git a/modules2/nixos-configurations.nix b/modules2/nixos-configurations.nix index 9e9a732a..7d091988 100644 --- a/modules2/nixos-configurations.nix +++ b/modules2/nixos-configurations.nix @@ -50,11 +50,6 @@ modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; }; - - PW05CH3L = mkNixosConfiguration rec { - hostname = "PW05CH3L"; - modules = [ config.flake.modules.nixos."nixosConfigurations/${hostname}" ]; - }; }; }; } From 403a93f95195c9b8e677200d6005d2086db3b3dc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 09:27:29 +0100 Subject: [PATCH 2169/2258] Remove nixpad configuration --- modules/nixos/default.nix | 1 - modules/nixos/nixpad/default.nix | 38 -------------------------------- 2 files changed, 39 deletions(-) delete mode 100644 modules/nixos/nixpad/default.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 8be377c9..4e5d589d 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,7 +1,6 @@ { imports = [ ./gitea-actions-runner.nix - ./nixpad ./podman.nix ]; } diff --git a/modules/nixos/nixpad/default.nix b/modules/nixos/nixpad/default.nix deleted file mode 100644 index 355cf52b..00000000 --- a/modules/nixos/nixpad/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.nixpad; -in -{ - options.nixpad = { - enable = lib.mkEnableOption "Enable nixpad configuration"; - }; - - config = lib.mkIf cfg.enable { - services.xserver = { - enable = true; - - desktopManager.cinnamon.enable = true; - displayManager.lightdm.enable = true; - }; - - programs = { - firefox.enable = true; - }; - - environment.systemPackages = with pkgs; [ - libreoffice - ]; - - nix.gc = { - automatic = true; - dates = "Mon 4:00"; - options = "--delete-older-than 30d"; - }; - }; -} From a0575bdb2acfb94f2de31ca397e6ffa2796f6905 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 12:00:00 +0100 Subject: [PATCH 2170/2258] Move gitea-actions-runner.nix Also remove any unneeded references to outputs.nixosModules. --- flake.nix | 2 - hosts/common/default.nix | 2 - hosts/nixedo/configuration.nix | 4 -- hosts/nixedo/homelab.nix | 1 - modules/nixos/default.nix | 6 --- modules/nixos/gitea-actions-runner.nix | 50 ------------------- modules/nixos/podman.nix | 25 ---------- .../hosts/nixedo/gitea-actions-runner.nix | 31 ++++++++++++ users/opdavies.nix | 3 +- 9 files changed, 32 insertions(+), 92 deletions(-) delete mode 100644 modules/nixos/default.nix delete mode 100644 modules/nixos/gitea-actions-runner.nix delete mode 100644 modules/nixos/podman.nix create mode 100644 modules2/hosts/nixedo/gitea-actions-runner.nix diff --git a/flake.nix b/flake.nix index 0cf8ce9a..ebb32cfd 100644 --- a/flake.nix +++ b/flake.nix @@ -83,8 +83,6 @@ inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { flake = { - nixosModules.default = import ./modules/nixos; - overlays = import ./overlays { inherit inputs; }; }; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index a3caefd7..0421aa39 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -15,8 +15,6 @@ ./users inputs.home-manager.nixosModules.home-manager - - outputs.nixosModules.default ]; nix = { diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index ff872ebc..88d3920c 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -19,10 +19,6 @@ ../../users/opdavies.nix ]; - features = { - cli.podman.enable = true; - }; - # TODO: why didn't it work when adding this to jitsi.nix? nixpkgs.config.permittedInsecurePackages = [ "jitsi-meet-1.0.8043" diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index dd8e92a1..b105300e 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -8,7 +8,6 @@ services = { audiobookshelf.enable = true; - gitea-actions-runner.enable = true; home-assistant.enable = true; homepage-dashboard.enable = true; jitsi.enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix deleted file mode 100644 index 4e5d589d..00000000 --- a/modules/nixos/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./gitea-actions-runner.nix - ./podman.nix - ]; -} diff --git a/modules/nixos/gitea-actions-runner.nix b/modules/nixos/gitea-actions-runner.nix deleted file mode 100644 index 9318e22e..00000000 --- a/modules/nixos/gitea-actions-runner.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = homelab.services.${service}; - homelab = config.homelab; - service = "gitea-actions-runner"; -in -{ - options.homelab.services.${service} = { - enable = mkEnableOption "Enable ${service}"; - }; - - config = mkIf cfg.enable { - services.${service}.instances.default = { - enable = true; - - hostPackages = with pkgs; [ - bash - coreutils - curl - gawk - gitMinimal - gnused - nix - nodejs - wget - ]; - - labels = [ - "nixos:host" - ]; - - name = config.networking.hostName; - tokenFile = config.age.secrets.forgejo-runner-token.path; - url = config.services.forgejo.settings.server.ROOT_URL; - }; - - age.secrets = { - forgejo-runner-token.file = "${inputs.self}/secrets/forgejo-runner-token.age"; - }; - }; -} diff --git a/modules/nixos/podman.nix b/modules/nixos/podman.nix deleted file mode 100644 index edda7492..00000000 --- a/modules/nixos/podman.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - cfg = config.features.cli.podman; -in -{ - options.features.cli.podman.enable = mkEnableOption "Enable podman"; - - config = mkIf cfg.enable { - virtualisation = { - oci-containers.backend = "podman"; - - podman = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; - }; - }; -} diff --git a/modules2/hosts/nixedo/gitea-actions-runner.nix b/modules2/hosts/nixedo/gitea-actions-runner.nix new file mode 100644 index 00000000..1c794ee4 --- /dev/null +++ b/modules2/hosts/nixedo/gitea-actions-runner.nix @@ -0,0 +1,31 @@ +{ inputs, ... }: + +{ + flake.modules.nixos."nixosConfigurations/nixedo" = + { config, pkgs, ... }: + { + services.gitea-actions-runner.instances.default = { + enable = true; + + hostPackages = with pkgs; [ + bash + coreutils + curl + gawk + gitMinimal + gnused + nix + nodejs + wget + ]; + + labels = [ "nixos:host" ]; + + name = config.networking.hostName; + tokenFile = config.age.secrets.forgejo-runner-token.path; + url = config.services.forgejo.settings.server.ROOT_URL; + }; + + age.secrets.forgejo-runner-token.file = "${inputs.self}/secrets/forgejo-runner-token.age"; + }; +} diff --git a/users/opdavies.nix b/users/opdavies.nix index 62304f8e..613290c5 100644 --- a/users/opdavies.nix +++ b/users/opdavies.nix @@ -16,8 +16,7 @@ with lib; extraGroups = [ "networkmanager" "wheel" - ] - ++ optional config.features.cli.podman.enable "podman"; + ]; packages = with pkgs; [ magic-wormhole From 703bf836de88308b6c883fa88c6b4fc29c19059d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 12:00:00 +0100 Subject: [PATCH 2171/2258] Rename modules directory --- flake.nix | 2 +- {modules2 => modules}/.keep | 0 {modules2 => modules}/README.md | 0 {modules2 => modules}/avahi.nix | 0 {modules2 => modules}/bluetooth.nix | 0 {modules2 => modules}/bluetuith.nix | 0 {modules2 => modules}/bookmarkthis.nix | 0 {modules2 => modules}/browsers/chromium.nix | 0 {modules2 => modules}/browsers/librewolf/enable.nix | 0 {modules2 => modules}/browsers/librewolf/extensions.nix | 0 {modules2 => modules}/browsers/librewolf/languages.nix | 0 {modules2 => modules}/browsers/librewolf/policies.nix | 0 {modules2 => modules}/browsers/librewolf/search-engines.nix | 0 {modules2 => modules}/browsers/librewolf/search.nix | 0 {modules2 => modules}/browsers/librewolf/settings.nix | 0 {modules2 => modules}/browsers/qutebrowser/enable.nix | 0 {modules2 => modules}/browsers/qutebrowser/key-bindings.nix | 0 {modules2 => modules}/browsers/qutebrowser/package.nix | 0 {modules2 => modules}/browsers/qutebrowser/search-engines.nix | 0 {modules2 => modules}/browsers/qutebrowser/settings.nix | 0 {modules2 => modules}/calculator.nix | 0 {modules2 => modules}/dconf.nix | 0 {modules2 => modules}/desktop.nix | 0 {modules2 => modules}/dev-commit.nix | 0 {modules2 => modules}/direnv/enable.nix | 0 {modules2 => modules}/direnv/nix-direnv.nix | 0 {modules2 => modules}/direnv/silent.nix | 0 {modules2 => modules}/direnv/zsh.nix | 0 {modules2 => modules}/docker.nix | 0 {modules2 => modules}/dwm/config.nix | 0 {modules2 => modules}/dwm/packages.nix | 0 {modules2 => modules}/dwm/xinitrc | 0 {modules2 => modules}/firmware.nix | 0 {modules2 => modules}/flameshot/enable.nix | 0 {modules2 => modules}/flameshot/settings.nix | 0 {modules2 => modules}/fonts.nix | 0 {modules2 => modules}/fzf/enable.nix | 0 {modules2 => modules}/fzf/session-variables.nix | 0 {modules2 => modules}/games/steam.nix | 0 {modules2 => modules}/games/zeroad.nix | 0 {modules2 => modules}/gammastep/enable.nix | 0 {modules2 => modules}/gammastep/provider.nix | 0 {modules2 => modules}/git-repo-updater.nix | 0 {modules2 => modules}/git/aliases.nix | 0 {modules2 => modules}/git/default-commit-message.nix | 0 {modules2 => modules}/git/defaults.nix | 0 {modules2 => modules}/git/enable.nix | 0 {modules2 => modules}/git/extra-packages.nix | 0 {modules2 => modules}/git/ignores.nix | 0 {modules2 => modules}/git/user.nix | 0 {modules2 => modules}/git/variables.nix | 0 {modules2 => modules}/gnupg.nix | 0 {modules2 => modules}/gtk/animations.nix | 0 {modules2 => modules}/gtk/enable.nix | 0 {modules2 => modules}/gtk/icon-theme.nix | 0 {modules2 => modules}/gtk/theme.nix | 0 {modules2 => modules}/handbrake.nix | 0 {modules2 => modules}/home-manager/base.nix | 0 {modules2 => modules}/home-manager/nixos.nix | 0 {modules2 => modules}/hosts/nixedo/gitea-actions-runner.nix | 0 {modules2 => modules}/hosts/nixedo/imports.nix | 0 {modules2 => modules}/hosts/t480/dev-commit.nix | 0 {modules2 => modules}/hosts/t480/dwm/blocks.nix | 0 {modules2 => modules}/hosts/t480/dwm/dwm.nix | 0 {modules2 => modules}/hosts/t480/fixapost.nix | 0 {modules2 => modules}/hosts/t480/heightwidth.nix | 0 {modules2 => modules}/hosts/t480/imports.nix | 0 {modules2 => modules}/hosts/t480/kanata/devices.nix | 0 {modules2 => modules}/hosts/t480/kanata/enable.nix | 0 {modules2 => modules}/hosts/t480/notes.nix | 0 {modules2 => modules}/hosts/t480/ollama.nix | 0 {modules2 => modules}/hosts/t480/open-webui.nix | 0 {modules2 => modules}/hosts/t480/password-store.nix | 0 {modules2 => modules}/hosts/t480/slack.nix | 0 {modules2 => modules}/hosts/t480/tmux-sessionizer.nix | 0 {modules2 => modules}/hosts/t480/zoom.nix | 0 {modules2 => modules}/kanata/config.nix | 0 {modules2 => modules}/kanata/devices.nix | 0 {modules2 => modules}/kanata/extra-config.nix | 0 {modules2 => modules}/makemkv.nix | 0 {modules2 => modules}/meta/dev-shell.nix | 0 {modules2 => modules}/meta/flake-parts.nix | 0 {modules2 => modules}/meta/formatting.nix | 0 {modules2 => modules}/meta/meta-output.nix | 0 {modules2 => modules}/meta/systems.nix | 0 {modules2 => modules}/mpv/bindings.nix | 0 {modules2 => modules}/mpv/enable.nix | 0 {modules2 => modules}/nix-index.nix | 0 {modules2 => modules}/nix/utils.nix | 0 {modules2 => modules}/nixos-configurations.nix | 0 {modules2 => modules}/nixvim/aliases.nix | 0 {modules2 => modules}/nixvim/auto-save.nix | 0 {modules2 => modules}/nixvim/colorscheme.nix | 0 {modules2 => modules}/nixvim/completion/cmp.nix | 0 {modules2 => modules}/nixvim/completion/luasnip.nix | 0 {modules2 => modules}/nixvim/completion/snippets/asciidoc.lua | 0 {modules2 => modules}/nixvim/completion/snippets/javascript.lua | 0 {modules2 => modules}/nixvim/completion/snippets/lua.lua | 0 {modules2 => modules}/nixvim/completion/snippets/nix.lua | 0 {modules2 => modules}/nixvim/completion/snippets/php.lua | 0 {modules2 => modules}/nixvim/completion/snippets/rst.lua | 0 {modules2 => modules}/nixvim/completion/snippets/twig.lua | 0 {modules2 => modules}/nixvim/conform.nix | 0 {modules2 => modules}/nixvim/diagnostics.nix | 0 {modules2 => modules}/nixvim/edit-alternate/config.nix | 0 {modules2 => modules}/nixvim/edit-alternate/extra-plugins.nix | 0 {modules2 => modules}/nixvim/edit-alternate/keymaps.nix | 0 {modules2 => modules}/nixvim/extra-packages.nix | 0 {modules2 => modules}/nixvim/fidget.nix | 0 {modules2 => modules}/nixvim/filetypes.nix | 0 {modules2 => modules}/nixvim/flake-outputs.nix | 0 {modules2 => modules}/nixvim/ftplugin/gitcommit.nix | 0 {modules2 => modules}/nixvim/ftplugin/just.nix | 0 {modules2 => modules}/nixvim/ftplugin/markdown.nix | 0 {modules2 => modules}/nixvim/fugitive.nix | 0 {modules2 => modules}/nixvim/gitsigns.nix | 0 {modules2 => modules}/nixvim/harpoon.nix | 0 {modules2 => modules}/nixvim/keymaps.nix | 0 {modules2 => modules}/nixvim/leader.nix | 0 {modules2 => modules}/nixvim/lint.nix | 0 {modules2 => modules}/nixvim/lsp.nix | 0 {modules2 => modules}/nixvim/lsp/bash.nix | 0 {modules2 => modules}/nixvim/lsp/css.nix | 0 {modules2 => modules}/nixvim/lsp/go.nix | 0 {modules2 => modules}/nixvim/lsp/html.nix | 0 {modules2 => modules}/nixvim/lsp/javascript.nix | 0 {modules2 => modules}/nixvim/lsp/lua.nix | 0 {modules2 => modules}/nixvim/lsp/nix.nix | 0 {modules2 => modules}/nixvim/lsp/php.nix | 0 {modules2 => modules}/nixvim/mini.nix | 0 {modules2 => modules}/nixvim/oil.nix | 0 {modules2 => modules}/nixvim/options.nix | 0 {modules2 => modules}/nixvim/phpactor.nix | 0 {modules2 => modules}/nixvim/refactoring.nix | 0 {modules2 => modules}/nixvim/spell/en.utf-8.add | 0 {modules2 => modules}/nixvim/telescope.nix | 0 {modules2 => modules}/nixvim/treesitter.nix | 0 {modules2 => modules}/nixvim/undotree.nix | 0 {modules2 => modules}/nixvim/use-in-home.nix | 0 {modules2 => modules}/nixvim/vim-cool.nix | 0 {modules2 => modules}/nixvim/vim-dadbod.nix | 0 {modules2 => modules}/nixvim/vim-heritage.nix | 0 {modules2 => modules}/nixvim/vim-highlightedyank.nix | 0 {modules2 => modules}/nixvim/vim-test.nix | 0 {modules2 => modules}/nixvim/vim-textobj-xmlattr.nix | 0 {modules2 => modules}/nixvim/web-devicons.nix | 0 {modules2 => modules}/node.nix | 0 {modules2 => modules}/notes/base.nix | 0 {modules2 => modules}/notes/session-variables.nix | 0 {modules2 => modules}/notes/xdg.nix | 0 {modules2 => modules}/ollama/acceleration.nix | 0 {modules2 => modules}/ollama/models.nix | 0 {modules2 => modules}/openssh/enable.nix | 0 {modules2 => modules}/openssh/firewall.nix | 0 {modules2 => modules}/openssh/settings.nix | 0 {modules2 => modules}/owner.nix | 0 {modules2 => modules}/password-store/enable.nix | 0 {modules2 => modules}/password-store/package.nix | 0 {modules2 => modules}/password-store/settings.nix | 0 {modules2 => modules}/phpactor/config/phpactor.yml | 0 .../phpactor/config/templates/action/SourceCode.php.twig | 0 .../phpactor/config/templates/collection/SourceCode.php.twig | 0 .../phpactor/config/templates/default/SourceCode.php.twig | 0 .../config/templates/drupal-functional-test/SourceCode.php.twig | 0 .../config/templates/drupal-kernel-test/SourceCode.php.twig | 0 .../config/templates/drupal-unit-test/SourceCode.php.twig | 0 {modules2 => modules}/phpactor/phpactor.nix | 0 {modules2 => modules}/ranger.nix | 0 {modules2 => modules}/redshift.nix | 0 {modules2 => modules}/scripts/git-save.nix | 0 {modules2 => modules}/sound/pipewire/alsa.nix | 0 {modules2 => modules}/sound/pipewire/enable.nix | 0 {modules2 => modules}/sound/pipewire/pulse.nix | 0 {modules2 => modules}/st.nix | 0 {modules2 => modules}/starship/format.nix | 0 {modules2 => modules}/starship/mob.nix | 0 {modules2 => modules}/starship/newline.nix | 0 {modules2 => modules}/starship/settings.nix | 0 {modules2 => modules}/starship/shlvl.nix | 0 {modules2 => modules}/starship/starship.nix | 0 {modules2 => modules}/starship/zsh.nix | 0 {modules2 => modules}/sudo.nix | 0 {modules2 => modules}/sxhkd/enable.nix | 0 {modules2 => modules}/sxhkd/keybindings.nix | 0 {modules2 => modules}/tailscale.nix | 0 {modules2 => modules}/thunar/enable.nix | 0 {modules2 => modules}/thunar/extra-packages.nix | 0 {modules2 => modules}/thunar/plugins.nix | 0 {modules2 => modules}/tmux-sessionizer/config.nix | 0 {modules2 => modules}/tmux-sessionizer/default.nix | 0 {modules2 => modules}/tmux-sessionizer/package.nix | 0 {modules2 => modules}/tmux/enable.nix | 0 {modules2 => modules}/tmux/extra-config.nix | 0 {modules2 => modules}/tmux/plugins.nix | 0 {modules2 => modules}/tmux/terminal.nix | 0 {modules2 => modules}/unfree-packages.nix | 0 {modules2 => modules}/xbanish.nix | 0 {modules2 => modules}/xsession.nix | 0 {modules2 => modules}/zram.nix | 0 {modules2 => modules}/zsh/abbreviations/abbreviations.nix | 0 {modules2 => modules}/zsh/abbreviations/enable.nix | 0 .../zsh/abbreviations/global-abbreviations.nix | 0 {modules2 => modules}/zsh/aliases.nix | 0 {modules2 => modules}/zsh/completion.nix | 0 {modules2 => modules}/zsh/dot-dir.nix | 0 {modules2 => modules}/zsh/enable.nix | 0 {modules2 => modules}/zsh/init.nix | 0 {modules2 => modules}/zsh/profile.nix | 0 {modules2 => modules}/zsh/syntax-highlighting.nix | 0 {modules2 => modules}/zsh/variables.nix | 0 210 files changed, 1 insertion(+), 1 deletion(-) rename {modules2 => modules}/.keep (100%) rename {modules2 => modules}/README.md (100%) rename {modules2 => modules}/avahi.nix (100%) rename {modules2 => modules}/bluetooth.nix (100%) rename {modules2 => modules}/bluetuith.nix (100%) rename {modules2 => modules}/bookmarkthis.nix (100%) rename {modules2 => modules}/browsers/chromium.nix (100%) rename {modules2 => modules}/browsers/librewolf/enable.nix (100%) rename {modules2 => modules}/browsers/librewolf/extensions.nix (100%) rename {modules2 => modules}/browsers/librewolf/languages.nix (100%) rename {modules2 => modules}/browsers/librewolf/policies.nix (100%) rename {modules2 => modules}/browsers/librewolf/search-engines.nix (100%) rename {modules2 => modules}/browsers/librewolf/search.nix (100%) rename {modules2 => modules}/browsers/librewolf/settings.nix (100%) rename {modules2 => modules}/browsers/qutebrowser/enable.nix (100%) rename {modules2 => modules}/browsers/qutebrowser/key-bindings.nix (100%) rename {modules2 => modules}/browsers/qutebrowser/package.nix (100%) rename {modules2 => modules}/browsers/qutebrowser/search-engines.nix (100%) rename {modules2 => modules}/browsers/qutebrowser/settings.nix (100%) rename {modules2 => modules}/calculator.nix (100%) rename {modules2 => modules}/dconf.nix (100%) rename {modules2 => modules}/desktop.nix (100%) rename {modules2 => modules}/dev-commit.nix (100%) rename {modules2 => modules}/direnv/enable.nix (100%) rename {modules2 => modules}/direnv/nix-direnv.nix (100%) rename {modules2 => modules}/direnv/silent.nix (100%) rename {modules2 => modules}/direnv/zsh.nix (100%) rename {modules2 => modules}/docker.nix (100%) rename {modules2 => modules}/dwm/config.nix (100%) rename {modules2 => modules}/dwm/packages.nix (100%) rename {modules2 => modules}/dwm/xinitrc (100%) rename {modules2 => modules}/firmware.nix (100%) rename {modules2 => modules}/flameshot/enable.nix (100%) rename {modules2 => modules}/flameshot/settings.nix (100%) rename {modules2 => modules}/fonts.nix (100%) rename {modules2 => modules}/fzf/enable.nix (100%) rename {modules2 => modules}/fzf/session-variables.nix (100%) rename {modules2 => modules}/games/steam.nix (100%) rename {modules2 => modules}/games/zeroad.nix (100%) rename {modules2 => modules}/gammastep/enable.nix (100%) rename {modules2 => modules}/gammastep/provider.nix (100%) rename {modules2 => modules}/git-repo-updater.nix (100%) rename {modules2 => modules}/git/aliases.nix (100%) rename {modules2 => modules}/git/default-commit-message.nix (100%) rename {modules2 => modules}/git/defaults.nix (100%) rename {modules2 => modules}/git/enable.nix (100%) rename {modules2 => modules}/git/extra-packages.nix (100%) rename {modules2 => modules}/git/ignores.nix (100%) rename {modules2 => modules}/git/user.nix (100%) rename {modules2 => modules}/git/variables.nix (100%) rename {modules2 => modules}/gnupg.nix (100%) rename {modules2 => modules}/gtk/animations.nix (100%) rename {modules2 => modules}/gtk/enable.nix (100%) rename {modules2 => modules}/gtk/icon-theme.nix (100%) rename {modules2 => modules}/gtk/theme.nix (100%) rename {modules2 => modules}/handbrake.nix (100%) rename {modules2 => modules}/home-manager/base.nix (100%) rename {modules2 => modules}/home-manager/nixos.nix (100%) rename {modules2 => modules}/hosts/nixedo/gitea-actions-runner.nix (100%) rename {modules2 => modules}/hosts/nixedo/imports.nix (100%) rename {modules2 => modules}/hosts/t480/dev-commit.nix (100%) rename {modules2 => modules}/hosts/t480/dwm/blocks.nix (100%) rename {modules2 => modules}/hosts/t480/dwm/dwm.nix (100%) rename {modules2 => modules}/hosts/t480/fixapost.nix (100%) rename {modules2 => modules}/hosts/t480/heightwidth.nix (100%) rename {modules2 => modules}/hosts/t480/imports.nix (100%) rename {modules2 => modules}/hosts/t480/kanata/devices.nix (100%) rename {modules2 => modules}/hosts/t480/kanata/enable.nix (100%) rename {modules2 => modules}/hosts/t480/notes.nix (100%) rename {modules2 => modules}/hosts/t480/ollama.nix (100%) rename {modules2 => modules}/hosts/t480/open-webui.nix (100%) rename {modules2 => modules}/hosts/t480/password-store.nix (100%) rename {modules2 => modules}/hosts/t480/slack.nix (100%) rename {modules2 => modules}/hosts/t480/tmux-sessionizer.nix (100%) rename {modules2 => modules}/hosts/t480/zoom.nix (100%) rename {modules2 => modules}/kanata/config.nix (100%) rename {modules2 => modules}/kanata/devices.nix (100%) rename {modules2 => modules}/kanata/extra-config.nix (100%) rename {modules2 => modules}/makemkv.nix (100%) rename {modules2 => modules}/meta/dev-shell.nix (100%) rename {modules2 => modules}/meta/flake-parts.nix (100%) rename {modules2 => modules}/meta/formatting.nix (100%) rename {modules2 => modules}/meta/meta-output.nix (100%) rename {modules2 => modules}/meta/systems.nix (100%) rename {modules2 => modules}/mpv/bindings.nix (100%) rename {modules2 => modules}/mpv/enable.nix (100%) rename {modules2 => modules}/nix-index.nix (100%) rename {modules2 => modules}/nix/utils.nix (100%) rename {modules2 => modules}/nixos-configurations.nix (100%) rename {modules2 => modules}/nixvim/aliases.nix (100%) rename {modules2 => modules}/nixvim/auto-save.nix (100%) rename {modules2 => modules}/nixvim/colorscheme.nix (100%) rename {modules2 => modules}/nixvim/completion/cmp.nix (100%) rename {modules2 => modules}/nixvim/completion/luasnip.nix (100%) rename {modules2 => modules}/nixvim/completion/snippets/asciidoc.lua (100%) rename {modules2 => modules}/nixvim/completion/snippets/javascript.lua (100%) rename {modules2 => modules}/nixvim/completion/snippets/lua.lua (100%) rename {modules2 => modules}/nixvim/completion/snippets/nix.lua (100%) rename {modules2 => modules}/nixvim/completion/snippets/php.lua (100%) rename {modules2 => modules}/nixvim/completion/snippets/rst.lua (100%) rename {modules2 => modules}/nixvim/completion/snippets/twig.lua (100%) rename {modules2 => modules}/nixvim/conform.nix (100%) rename {modules2 => modules}/nixvim/diagnostics.nix (100%) rename {modules2 => modules}/nixvim/edit-alternate/config.nix (100%) rename {modules2 => modules}/nixvim/edit-alternate/extra-plugins.nix (100%) rename {modules2 => modules}/nixvim/edit-alternate/keymaps.nix (100%) rename {modules2 => modules}/nixvim/extra-packages.nix (100%) rename {modules2 => modules}/nixvim/fidget.nix (100%) rename {modules2 => modules}/nixvim/filetypes.nix (100%) rename {modules2 => modules}/nixvim/flake-outputs.nix (100%) rename {modules2 => modules}/nixvim/ftplugin/gitcommit.nix (100%) rename {modules2 => modules}/nixvim/ftplugin/just.nix (100%) rename {modules2 => modules}/nixvim/ftplugin/markdown.nix (100%) rename {modules2 => modules}/nixvim/fugitive.nix (100%) rename {modules2 => modules}/nixvim/gitsigns.nix (100%) rename {modules2 => modules}/nixvim/harpoon.nix (100%) rename {modules2 => modules}/nixvim/keymaps.nix (100%) rename {modules2 => modules}/nixvim/leader.nix (100%) rename {modules2 => modules}/nixvim/lint.nix (100%) rename {modules2 => modules}/nixvim/lsp.nix (100%) rename {modules2 => modules}/nixvim/lsp/bash.nix (100%) rename {modules2 => modules}/nixvim/lsp/css.nix (100%) rename {modules2 => modules}/nixvim/lsp/go.nix (100%) rename {modules2 => modules}/nixvim/lsp/html.nix (100%) rename {modules2 => modules}/nixvim/lsp/javascript.nix (100%) rename {modules2 => modules}/nixvim/lsp/lua.nix (100%) rename {modules2 => modules}/nixvim/lsp/nix.nix (100%) rename {modules2 => modules}/nixvim/lsp/php.nix (100%) rename {modules2 => modules}/nixvim/mini.nix (100%) rename {modules2 => modules}/nixvim/oil.nix (100%) rename {modules2 => modules}/nixvim/options.nix (100%) rename {modules2 => modules}/nixvim/phpactor.nix (100%) rename {modules2 => modules}/nixvim/refactoring.nix (100%) rename {modules2 => modules}/nixvim/spell/en.utf-8.add (100%) rename {modules2 => modules}/nixvim/telescope.nix (100%) rename {modules2 => modules}/nixvim/treesitter.nix (100%) rename {modules2 => modules}/nixvim/undotree.nix (100%) rename {modules2 => modules}/nixvim/use-in-home.nix (100%) rename {modules2 => modules}/nixvim/vim-cool.nix (100%) rename {modules2 => modules}/nixvim/vim-dadbod.nix (100%) rename {modules2 => modules}/nixvim/vim-heritage.nix (100%) rename {modules2 => modules}/nixvim/vim-highlightedyank.nix (100%) rename {modules2 => modules}/nixvim/vim-test.nix (100%) rename {modules2 => modules}/nixvim/vim-textobj-xmlattr.nix (100%) rename {modules2 => modules}/nixvim/web-devicons.nix (100%) rename {modules2 => modules}/node.nix (100%) rename {modules2 => modules}/notes/base.nix (100%) rename {modules2 => modules}/notes/session-variables.nix (100%) rename {modules2 => modules}/notes/xdg.nix (100%) rename {modules2 => modules}/ollama/acceleration.nix (100%) rename {modules2 => modules}/ollama/models.nix (100%) rename {modules2 => modules}/openssh/enable.nix (100%) rename {modules2 => modules}/openssh/firewall.nix (100%) rename {modules2 => modules}/openssh/settings.nix (100%) rename {modules2 => modules}/owner.nix (100%) rename {modules2 => modules}/password-store/enable.nix (100%) rename {modules2 => modules}/password-store/package.nix (100%) rename {modules2 => modules}/password-store/settings.nix (100%) rename {modules2 => modules}/phpactor/config/phpactor.yml (100%) rename {modules2 => modules}/phpactor/config/templates/action/SourceCode.php.twig (100%) rename {modules2 => modules}/phpactor/config/templates/collection/SourceCode.php.twig (100%) rename {modules2 => modules}/phpactor/config/templates/default/SourceCode.php.twig (100%) rename {modules2 => modules}/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig (100%) rename {modules2 => modules}/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig (100%) rename {modules2 => modules}/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig (100%) rename {modules2 => modules}/phpactor/phpactor.nix (100%) rename {modules2 => modules}/ranger.nix (100%) rename {modules2 => modules}/redshift.nix (100%) rename {modules2 => modules}/scripts/git-save.nix (100%) rename {modules2 => modules}/sound/pipewire/alsa.nix (100%) rename {modules2 => modules}/sound/pipewire/enable.nix (100%) rename {modules2 => modules}/sound/pipewire/pulse.nix (100%) rename {modules2 => modules}/st.nix (100%) rename {modules2 => modules}/starship/format.nix (100%) rename {modules2 => modules}/starship/mob.nix (100%) rename {modules2 => modules}/starship/newline.nix (100%) rename {modules2 => modules}/starship/settings.nix (100%) rename {modules2 => modules}/starship/shlvl.nix (100%) rename {modules2 => modules}/starship/starship.nix (100%) rename {modules2 => modules}/starship/zsh.nix (100%) rename {modules2 => modules}/sudo.nix (100%) rename {modules2 => modules}/sxhkd/enable.nix (100%) rename {modules2 => modules}/sxhkd/keybindings.nix (100%) rename {modules2 => modules}/tailscale.nix (100%) rename {modules2 => modules}/thunar/enable.nix (100%) rename {modules2 => modules}/thunar/extra-packages.nix (100%) rename {modules2 => modules}/thunar/plugins.nix (100%) rename {modules2 => modules}/tmux-sessionizer/config.nix (100%) rename {modules2 => modules}/tmux-sessionizer/default.nix (100%) rename {modules2 => modules}/tmux-sessionizer/package.nix (100%) rename {modules2 => modules}/tmux/enable.nix (100%) rename {modules2 => modules}/tmux/extra-config.nix (100%) rename {modules2 => modules}/tmux/plugins.nix (100%) rename {modules2 => modules}/tmux/terminal.nix (100%) rename {modules2 => modules}/unfree-packages.nix (100%) rename {modules2 => modules}/xbanish.nix (100%) rename {modules2 => modules}/xsession.nix (100%) rename {modules2 => modules}/zram.nix (100%) rename {modules2 => modules}/zsh/abbreviations/abbreviations.nix (100%) rename {modules2 => modules}/zsh/abbreviations/enable.nix (100%) rename {modules2 => modules}/zsh/abbreviations/global-abbreviations.nix (100%) rename {modules2 => modules}/zsh/aliases.nix (100%) rename {modules2 => modules}/zsh/completion.nix (100%) rename {modules2 => modules}/zsh/dot-dir.nix (100%) rename {modules2 => modules}/zsh/enable.nix (100%) rename {modules2 => modules}/zsh/init.nix (100%) rename {modules2 => modules}/zsh/profile.nix (100%) rename {modules2 => modules}/zsh/syntax-highlighting.nix (100%) rename {modules2 => modules}/zsh/variables.nix (100%) diff --git a/flake.nix b/flake.nix index ebb32cfd..e03ecc80 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,6 @@ overlays = import ./overlays { inherit inputs; }; }; - imports = [ (inputs.import-tree ./modules2) ]; + imports = [ (inputs.import-tree ./modules) ]; }; } diff --git a/modules2/.keep b/modules/.keep similarity index 100% rename from modules2/.keep rename to modules/.keep diff --git a/modules2/README.md b/modules/README.md similarity index 100% rename from modules2/README.md rename to modules/README.md diff --git a/modules2/avahi.nix b/modules/avahi.nix similarity index 100% rename from modules2/avahi.nix rename to modules/avahi.nix diff --git a/modules2/bluetooth.nix b/modules/bluetooth.nix similarity index 100% rename from modules2/bluetooth.nix rename to modules/bluetooth.nix diff --git a/modules2/bluetuith.nix b/modules/bluetuith.nix similarity index 100% rename from modules2/bluetuith.nix rename to modules/bluetuith.nix diff --git a/modules2/bookmarkthis.nix b/modules/bookmarkthis.nix similarity index 100% rename from modules2/bookmarkthis.nix rename to modules/bookmarkthis.nix diff --git a/modules2/browsers/chromium.nix b/modules/browsers/chromium.nix similarity index 100% rename from modules2/browsers/chromium.nix rename to modules/browsers/chromium.nix diff --git a/modules2/browsers/librewolf/enable.nix b/modules/browsers/librewolf/enable.nix similarity index 100% rename from modules2/browsers/librewolf/enable.nix rename to modules/browsers/librewolf/enable.nix diff --git a/modules2/browsers/librewolf/extensions.nix b/modules/browsers/librewolf/extensions.nix similarity index 100% rename from modules2/browsers/librewolf/extensions.nix rename to modules/browsers/librewolf/extensions.nix diff --git a/modules2/browsers/librewolf/languages.nix b/modules/browsers/librewolf/languages.nix similarity index 100% rename from modules2/browsers/librewolf/languages.nix rename to modules/browsers/librewolf/languages.nix diff --git a/modules2/browsers/librewolf/policies.nix b/modules/browsers/librewolf/policies.nix similarity index 100% rename from modules2/browsers/librewolf/policies.nix rename to modules/browsers/librewolf/policies.nix diff --git a/modules2/browsers/librewolf/search-engines.nix b/modules/browsers/librewolf/search-engines.nix similarity index 100% rename from modules2/browsers/librewolf/search-engines.nix rename to modules/browsers/librewolf/search-engines.nix diff --git a/modules2/browsers/librewolf/search.nix b/modules/browsers/librewolf/search.nix similarity index 100% rename from modules2/browsers/librewolf/search.nix rename to modules/browsers/librewolf/search.nix diff --git a/modules2/browsers/librewolf/settings.nix b/modules/browsers/librewolf/settings.nix similarity index 100% rename from modules2/browsers/librewolf/settings.nix rename to modules/browsers/librewolf/settings.nix diff --git a/modules2/browsers/qutebrowser/enable.nix b/modules/browsers/qutebrowser/enable.nix similarity index 100% rename from modules2/browsers/qutebrowser/enable.nix rename to modules/browsers/qutebrowser/enable.nix diff --git a/modules2/browsers/qutebrowser/key-bindings.nix b/modules/browsers/qutebrowser/key-bindings.nix similarity index 100% rename from modules2/browsers/qutebrowser/key-bindings.nix rename to modules/browsers/qutebrowser/key-bindings.nix diff --git a/modules2/browsers/qutebrowser/package.nix b/modules/browsers/qutebrowser/package.nix similarity index 100% rename from modules2/browsers/qutebrowser/package.nix rename to modules/browsers/qutebrowser/package.nix diff --git a/modules2/browsers/qutebrowser/search-engines.nix b/modules/browsers/qutebrowser/search-engines.nix similarity index 100% rename from modules2/browsers/qutebrowser/search-engines.nix rename to modules/browsers/qutebrowser/search-engines.nix diff --git a/modules2/browsers/qutebrowser/settings.nix b/modules/browsers/qutebrowser/settings.nix similarity index 100% rename from modules2/browsers/qutebrowser/settings.nix rename to modules/browsers/qutebrowser/settings.nix diff --git a/modules2/calculator.nix b/modules/calculator.nix similarity index 100% rename from modules2/calculator.nix rename to modules/calculator.nix diff --git a/modules2/dconf.nix b/modules/dconf.nix similarity index 100% rename from modules2/dconf.nix rename to modules/dconf.nix diff --git a/modules2/desktop.nix b/modules/desktop.nix similarity index 100% rename from modules2/desktop.nix rename to modules/desktop.nix diff --git a/modules2/dev-commit.nix b/modules/dev-commit.nix similarity index 100% rename from modules2/dev-commit.nix rename to modules/dev-commit.nix diff --git a/modules2/direnv/enable.nix b/modules/direnv/enable.nix similarity index 100% rename from modules2/direnv/enable.nix rename to modules/direnv/enable.nix diff --git a/modules2/direnv/nix-direnv.nix b/modules/direnv/nix-direnv.nix similarity index 100% rename from modules2/direnv/nix-direnv.nix rename to modules/direnv/nix-direnv.nix diff --git a/modules2/direnv/silent.nix b/modules/direnv/silent.nix similarity index 100% rename from modules2/direnv/silent.nix rename to modules/direnv/silent.nix diff --git a/modules2/direnv/zsh.nix b/modules/direnv/zsh.nix similarity index 100% rename from modules2/direnv/zsh.nix rename to modules/direnv/zsh.nix diff --git a/modules2/docker.nix b/modules/docker.nix similarity index 100% rename from modules2/docker.nix rename to modules/docker.nix diff --git a/modules2/dwm/config.nix b/modules/dwm/config.nix similarity index 100% rename from modules2/dwm/config.nix rename to modules/dwm/config.nix diff --git a/modules2/dwm/packages.nix b/modules/dwm/packages.nix similarity index 100% rename from modules2/dwm/packages.nix rename to modules/dwm/packages.nix diff --git a/modules2/dwm/xinitrc b/modules/dwm/xinitrc similarity index 100% rename from modules2/dwm/xinitrc rename to modules/dwm/xinitrc diff --git a/modules2/firmware.nix b/modules/firmware.nix similarity index 100% rename from modules2/firmware.nix rename to modules/firmware.nix diff --git a/modules2/flameshot/enable.nix b/modules/flameshot/enable.nix similarity index 100% rename from modules2/flameshot/enable.nix rename to modules/flameshot/enable.nix diff --git a/modules2/flameshot/settings.nix b/modules/flameshot/settings.nix similarity index 100% rename from modules2/flameshot/settings.nix rename to modules/flameshot/settings.nix diff --git a/modules2/fonts.nix b/modules/fonts.nix similarity index 100% rename from modules2/fonts.nix rename to modules/fonts.nix diff --git a/modules2/fzf/enable.nix b/modules/fzf/enable.nix similarity index 100% rename from modules2/fzf/enable.nix rename to modules/fzf/enable.nix diff --git a/modules2/fzf/session-variables.nix b/modules/fzf/session-variables.nix similarity index 100% rename from modules2/fzf/session-variables.nix rename to modules/fzf/session-variables.nix diff --git a/modules2/games/steam.nix b/modules/games/steam.nix similarity index 100% rename from modules2/games/steam.nix rename to modules/games/steam.nix diff --git a/modules2/games/zeroad.nix b/modules/games/zeroad.nix similarity index 100% rename from modules2/games/zeroad.nix rename to modules/games/zeroad.nix diff --git a/modules2/gammastep/enable.nix b/modules/gammastep/enable.nix similarity index 100% rename from modules2/gammastep/enable.nix rename to modules/gammastep/enable.nix diff --git a/modules2/gammastep/provider.nix b/modules/gammastep/provider.nix similarity index 100% rename from modules2/gammastep/provider.nix rename to modules/gammastep/provider.nix diff --git a/modules2/git-repo-updater.nix b/modules/git-repo-updater.nix similarity index 100% rename from modules2/git-repo-updater.nix rename to modules/git-repo-updater.nix diff --git a/modules2/git/aliases.nix b/modules/git/aliases.nix similarity index 100% rename from modules2/git/aliases.nix rename to modules/git/aliases.nix diff --git a/modules2/git/default-commit-message.nix b/modules/git/default-commit-message.nix similarity index 100% rename from modules2/git/default-commit-message.nix rename to modules/git/default-commit-message.nix diff --git a/modules2/git/defaults.nix b/modules/git/defaults.nix similarity index 100% rename from modules2/git/defaults.nix rename to modules/git/defaults.nix diff --git a/modules2/git/enable.nix b/modules/git/enable.nix similarity index 100% rename from modules2/git/enable.nix rename to modules/git/enable.nix diff --git a/modules2/git/extra-packages.nix b/modules/git/extra-packages.nix similarity index 100% rename from modules2/git/extra-packages.nix rename to modules/git/extra-packages.nix diff --git a/modules2/git/ignores.nix b/modules/git/ignores.nix similarity index 100% rename from modules2/git/ignores.nix rename to modules/git/ignores.nix diff --git a/modules2/git/user.nix b/modules/git/user.nix similarity index 100% rename from modules2/git/user.nix rename to modules/git/user.nix diff --git a/modules2/git/variables.nix b/modules/git/variables.nix similarity index 100% rename from modules2/git/variables.nix rename to modules/git/variables.nix diff --git a/modules2/gnupg.nix b/modules/gnupg.nix similarity index 100% rename from modules2/gnupg.nix rename to modules/gnupg.nix diff --git a/modules2/gtk/animations.nix b/modules/gtk/animations.nix similarity index 100% rename from modules2/gtk/animations.nix rename to modules/gtk/animations.nix diff --git a/modules2/gtk/enable.nix b/modules/gtk/enable.nix similarity index 100% rename from modules2/gtk/enable.nix rename to modules/gtk/enable.nix diff --git a/modules2/gtk/icon-theme.nix b/modules/gtk/icon-theme.nix similarity index 100% rename from modules2/gtk/icon-theme.nix rename to modules/gtk/icon-theme.nix diff --git a/modules2/gtk/theme.nix b/modules/gtk/theme.nix similarity index 100% rename from modules2/gtk/theme.nix rename to modules/gtk/theme.nix diff --git a/modules2/handbrake.nix b/modules/handbrake.nix similarity index 100% rename from modules2/handbrake.nix rename to modules/handbrake.nix diff --git a/modules2/home-manager/base.nix b/modules/home-manager/base.nix similarity index 100% rename from modules2/home-manager/base.nix rename to modules/home-manager/base.nix diff --git a/modules2/home-manager/nixos.nix b/modules/home-manager/nixos.nix similarity index 100% rename from modules2/home-manager/nixos.nix rename to modules/home-manager/nixos.nix diff --git a/modules2/hosts/nixedo/gitea-actions-runner.nix b/modules/hosts/nixedo/gitea-actions-runner.nix similarity index 100% rename from modules2/hosts/nixedo/gitea-actions-runner.nix rename to modules/hosts/nixedo/gitea-actions-runner.nix diff --git a/modules2/hosts/nixedo/imports.nix b/modules/hosts/nixedo/imports.nix similarity index 100% rename from modules2/hosts/nixedo/imports.nix rename to modules/hosts/nixedo/imports.nix diff --git a/modules2/hosts/t480/dev-commit.nix b/modules/hosts/t480/dev-commit.nix similarity index 100% rename from modules2/hosts/t480/dev-commit.nix rename to modules/hosts/t480/dev-commit.nix diff --git a/modules2/hosts/t480/dwm/blocks.nix b/modules/hosts/t480/dwm/blocks.nix similarity index 100% rename from modules2/hosts/t480/dwm/blocks.nix rename to modules/hosts/t480/dwm/blocks.nix diff --git a/modules2/hosts/t480/dwm/dwm.nix b/modules/hosts/t480/dwm/dwm.nix similarity index 100% rename from modules2/hosts/t480/dwm/dwm.nix rename to modules/hosts/t480/dwm/dwm.nix diff --git a/modules2/hosts/t480/fixapost.nix b/modules/hosts/t480/fixapost.nix similarity index 100% rename from modules2/hosts/t480/fixapost.nix rename to modules/hosts/t480/fixapost.nix diff --git a/modules2/hosts/t480/heightwidth.nix b/modules/hosts/t480/heightwidth.nix similarity index 100% rename from modules2/hosts/t480/heightwidth.nix rename to modules/hosts/t480/heightwidth.nix diff --git a/modules2/hosts/t480/imports.nix b/modules/hosts/t480/imports.nix similarity index 100% rename from modules2/hosts/t480/imports.nix rename to modules/hosts/t480/imports.nix diff --git a/modules2/hosts/t480/kanata/devices.nix b/modules/hosts/t480/kanata/devices.nix similarity index 100% rename from modules2/hosts/t480/kanata/devices.nix rename to modules/hosts/t480/kanata/devices.nix diff --git a/modules2/hosts/t480/kanata/enable.nix b/modules/hosts/t480/kanata/enable.nix similarity index 100% rename from modules2/hosts/t480/kanata/enable.nix rename to modules/hosts/t480/kanata/enable.nix diff --git a/modules2/hosts/t480/notes.nix b/modules/hosts/t480/notes.nix similarity index 100% rename from modules2/hosts/t480/notes.nix rename to modules/hosts/t480/notes.nix diff --git a/modules2/hosts/t480/ollama.nix b/modules/hosts/t480/ollama.nix similarity index 100% rename from modules2/hosts/t480/ollama.nix rename to modules/hosts/t480/ollama.nix diff --git a/modules2/hosts/t480/open-webui.nix b/modules/hosts/t480/open-webui.nix similarity index 100% rename from modules2/hosts/t480/open-webui.nix rename to modules/hosts/t480/open-webui.nix diff --git a/modules2/hosts/t480/password-store.nix b/modules/hosts/t480/password-store.nix similarity index 100% rename from modules2/hosts/t480/password-store.nix rename to modules/hosts/t480/password-store.nix diff --git a/modules2/hosts/t480/slack.nix b/modules/hosts/t480/slack.nix similarity index 100% rename from modules2/hosts/t480/slack.nix rename to modules/hosts/t480/slack.nix diff --git a/modules2/hosts/t480/tmux-sessionizer.nix b/modules/hosts/t480/tmux-sessionizer.nix similarity index 100% rename from modules2/hosts/t480/tmux-sessionizer.nix rename to modules/hosts/t480/tmux-sessionizer.nix diff --git a/modules2/hosts/t480/zoom.nix b/modules/hosts/t480/zoom.nix similarity index 100% rename from modules2/hosts/t480/zoom.nix rename to modules/hosts/t480/zoom.nix diff --git a/modules2/kanata/config.nix b/modules/kanata/config.nix similarity index 100% rename from modules2/kanata/config.nix rename to modules/kanata/config.nix diff --git a/modules2/kanata/devices.nix b/modules/kanata/devices.nix similarity index 100% rename from modules2/kanata/devices.nix rename to modules/kanata/devices.nix diff --git a/modules2/kanata/extra-config.nix b/modules/kanata/extra-config.nix similarity index 100% rename from modules2/kanata/extra-config.nix rename to modules/kanata/extra-config.nix diff --git a/modules2/makemkv.nix b/modules/makemkv.nix similarity index 100% rename from modules2/makemkv.nix rename to modules/makemkv.nix diff --git a/modules2/meta/dev-shell.nix b/modules/meta/dev-shell.nix similarity index 100% rename from modules2/meta/dev-shell.nix rename to modules/meta/dev-shell.nix diff --git a/modules2/meta/flake-parts.nix b/modules/meta/flake-parts.nix similarity index 100% rename from modules2/meta/flake-parts.nix rename to modules/meta/flake-parts.nix diff --git a/modules2/meta/formatting.nix b/modules/meta/formatting.nix similarity index 100% rename from modules2/meta/formatting.nix rename to modules/meta/formatting.nix diff --git a/modules2/meta/meta-output.nix b/modules/meta/meta-output.nix similarity index 100% rename from modules2/meta/meta-output.nix rename to modules/meta/meta-output.nix diff --git a/modules2/meta/systems.nix b/modules/meta/systems.nix similarity index 100% rename from modules2/meta/systems.nix rename to modules/meta/systems.nix diff --git a/modules2/mpv/bindings.nix b/modules/mpv/bindings.nix similarity index 100% rename from modules2/mpv/bindings.nix rename to modules/mpv/bindings.nix diff --git a/modules2/mpv/enable.nix b/modules/mpv/enable.nix similarity index 100% rename from modules2/mpv/enable.nix rename to modules/mpv/enable.nix diff --git a/modules2/nix-index.nix b/modules/nix-index.nix similarity index 100% rename from modules2/nix-index.nix rename to modules/nix-index.nix diff --git a/modules2/nix/utils.nix b/modules/nix/utils.nix similarity index 100% rename from modules2/nix/utils.nix rename to modules/nix/utils.nix diff --git a/modules2/nixos-configurations.nix b/modules/nixos-configurations.nix similarity index 100% rename from modules2/nixos-configurations.nix rename to modules/nixos-configurations.nix diff --git a/modules2/nixvim/aliases.nix b/modules/nixvim/aliases.nix similarity index 100% rename from modules2/nixvim/aliases.nix rename to modules/nixvim/aliases.nix diff --git a/modules2/nixvim/auto-save.nix b/modules/nixvim/auto-save.nix similarity index 100% rename from modules2/nixvim/auto-save.nix rename to modules/nixvim/auto-save.nix diff --git a/modules2/nixvim/colorscheme.nix b/modules/nixvim/colorscheme.nix similarity index 100% rename from modules2/nixvim/colorscheme.nix rename to modules/nixvim/colorscheme.nix diff --git a/modules2/nixvim/completion/cmp.nix b/modules/nixvim/completion/cmp.nix similarity index 100% rename from modules2/nixvim/completion/cmp.nix rename to modules/nixvim/completion/cmp.nix diff --git a/modules2/nixvim/completion/luasnip.nix b/modules/nixvim/completion/luasnip.nix similarity index 100% rename from modules2/nixvim/completion/luasnip.nix rename to modules/nixvim/completion/luasnip.nix diff --git a/modules2/nixvim/completion/snippets/asciidoc.lua b/modules/nixvim/completion/snippets/asciidoc.lua similarity index 100% rename from modules2/nixvim/completion/snippets/asciidoc.lua rename to modules/nixvim/completion/snippets/asciidoc.lua diff --git a/modules2/nixvim/completion/snippets/javascript.lua b/modules/nixvim/completion/snippets/javascript.lua similarity index 100% rename from modules2/nixvim/completion/snippets/javascript.lua rename to modules/nixvim/completion/snippets/javascript.lua diff --git a/modules2/nixvim/completion/snippets/lua.lua b/modules/nixvim/completion/snippets/lua.lua similarity index 100% rename from modules2/nixvim/completion/snippets/lua.lua rename to modules/nixvim/completion/snippets/lua.lua diff --git a/modules2/nixvim/completion/snippets/nix.lua b/modules/nixvim/completion/snippets/nix.lua similarity index 100% rename from modules2/nixvim/completion/snippets/nix.lua rename to modules/nixvim/completion/snippets/nix.lua diff --git a/modules2/nixvim/completion/snippets/php.lua b/modules/nixvim/completion/snippets/php.lua similarity index 100% rename from modules2/nixvim/completion/snippets/php.lua rename to modules/nixvim/completion/snippets/php.lua diff --git a/modules2/nixvim/completion/snippets/rst.lua b/modules/nixvim/completion/snippets/rst.lua similarity index 100% rename from modules2/nixvim/completion/snippets/rst.lua rename to modules/nixvim/completion/snippets/rst.lua diff --git a/modules2/nixvim/completion/snippets/twig.lua b/modules/nixvim/completion/snippets/twig.lua similarity index 100% rename from modules2/nixvim/completion/snippets/twig.lua rename to modules/nixvim/completion/snippets/twig.lua diff --git a/modules2/nixvim/conform.nix b/modules/nixvim/conform.nix similarity index 100% rename from modules2/nixvim/conform.nix rename to modules/nixvim/conform.nix diff --git a/modules2/nixvim/diagnostics.nix b/modules/nixvim/diagnostics.nix similarity index 100% rename from modules2/nixvim/diagnostics.nix rename to modules/nixvim/diagnostics.nix diff --git a/modules2/nixvim/edit-alternate/config.nix b/modules/nixvim/edit-alternate/config.nix similarity index 100% rename from modules2/nixvim/edit-alternate/config.nix rename to modules/nixvim/edit-alternate/config.nix diff --git a/modules2/nixvim/edit-alternate/extra-plugins.nix b/modules/nixvim/edit-alternate/extra-plugins.nix similarity index 100% rename from modules2/nixvim/edit-alternate/extra-plugins.nix rename to modules/nixvim/edit-alternate/extra-plugins.nix diff --git a/modules2/nixvim/edit-alternate/keymaps.nix b/modules/nixvim/edit-alternate/keymaps.nix similarity index 100% rename from modules2/nixvim/edit-alternate/keymaps.nix rename to modules/nixvim/edit-alternate/keymaps.nix diff --git a/modules2/nixvim/extra-packages.nix b/modules/nixvim/extra-packages.nix similarity index 100% rename from modules2/nixvim/extra-packages.nix rename to modules/nixvim/extra-packages.nix diff --git a/modules2/nixvim/fidget.nix b/modules/nixvim/fidget.nix similarity index 100% rename from modules2/nixvim/fidget.nix rename to modules/nixvim/fidget.nix diff --git a/modules2/nixvim/filetypes.nix b/modules/nixvim/filetypes.nix similarity index 100% rename from modules2/nixvim/filetypes.nix rename to modules/nixvim/filetypes.nix diff --git a/modules2/nixvim/flake-outputs.nix b/modules/nixvim/flake-outputs.nix similarity index 100% rename from modules2/nixvim/flake-outputs.nix rename to modules/nixvim/flake-outputs.nix diff --git a/modules2/nixvim/ftplugin/gitcommit.nix b/modules/nixvim/ftplugin/gitcommit.nix similarity index 100% rename from modules2/nixvim/ftplugin/gitcommit.nix rename to modules/nixvim/ftplugin/gitcommit.nix diff --git a/modules2/nixvim/ftplugin/just.nix b/modules/nixvim/ftplugin/just.nix similarity index 100% rename from modules2/nixvim/ftplugin/just.nix rename to modules/nixvim/ftplugin/just.nix diff --git a/modules2/nixvim/ftplugin/markdown.nix b/modules/nixvim/ftplugin/markdown.nix similarity index 100% rename from modules2/nixvim/ftplugin/markdown.nix rename to modules/nixvim/ftplugin/markdown.nix diff --git a/modules2/nixvim/fugitive.nix b/modules/nixvim/fugitive.nix similarity index 100% rename from modules2/nixvim/fugitive.nix rename to modules/nixvim/fugitive.nix diff --git a/modules2/nixvim/gitsigns.nix b/modules/nixvim/gitsigns.nix similarity index 100% rename from modules2/nixvim/gitsigns.nix rename to modules/nixvim/gitsigns.nix diff --git a/modules2/nixvim/harpoon.nix b/modules/nixvim/harpoon.nix similarity index 100% rename from modules2/nixvim/harpoon.nix rename to modules/nixvim/harpoon.nix diff --git a/modules2/nixvim/keymaps.nix b/modules/nixvim/keymaps.nix similarity index 100% rename from modules2/nixvim/keymaps.nix rename to modules/nixvim/keymaps.nix diff --git a/modules2/nixvim/leader.nix b/modules/nixvim/leader.nix similarity index 100% rename from modules2/nixvim/leader.nix rename to modules/nixvim/leader.nix diff --git a/modules2/nixvim/lint.nix b/modules/nixvim/lint.nix similarity index 100% rename from modules2/nixvim/lint.nix rename to modules/nixvim/lint.nix diff --git a/modules2/nixvim/lsp.nix b/modules/nixvim/lsp.nix similarity index 100% rename from modules2/nixvim/lsp.nix rename to modules/nixvim/lsp.nix diff --git a/modules2/nixvim/lsp/bash.nix b/modules/nixvim/lsp/bash.nix similarity index 100% rename from modules2/nixvim/lsp/bash.nix rename to modules/nixvim/lsp/bash.nix diff --git a/modules2/nixvim/lsp/css.nix b/modules/nixvim/lsp/css.nix similarity index 100% rename from modules2/nixvim/lsp/css.nix rename to modules/nixvim/lsp/css.nix diff --git a/modules2/nixvim/lsp/go.nix b/modules/nixvim/lsp/go.nix similarity index 100% rename from modules2/nixvim/lsp/go.nix rename to modules/nixvim/lsp/go.nix diff --git a/modules2/nixvim/lsp/html.nix b/modules/nixvim/lsp/html.nix similarity index 100% rename from modules2/nixvim/lsp/html.nix rename to modules/nixvim/lsp/html.nix diff --git a/modules2/nixvim/lsp/javascript.nix b/modules/nixvim/lsp/javascript.nix similarity index 100% rename from modules2/nixvim/lsp/javascript.nix rename to modules/nixvim/lsp/javascript.nix diff --git a/modules2/nixvim/lsp/lua.nix b/modules/nixvim/lsp/lua.nix similarity index 100% rename from modules2/nixvim/lsp/lua.nix rename to modules/nixvim/lsp/lua.nix diff --git a/modules2/nixvim/lsp/nix.nix b/modules/nixvim/lsp/nix.nix similarity index 100% rename from modules2/nixvim/lsp/nix.nix rename to modules/nixvim/lsp/nix.nix diff --git a/modules2/nixvim/lsp/php.nix b/modules/nixvim/lsp/php.nix similarity index 100% rename from modules2/nixvim/lsp/php.nix rename to modules/nixvim/lsp/php.nix diff --git a/modules2/nixvim/mini.nix b/modules/nixvim/mini.nix similarity index 100% rename from modules2/nixvim/mini.nix rename to modules/nixvim/mini.nix diff --git a/modules2/nixvim/oil.nix b/modules/nixvim/oil.nix similarity index 100% rename from modules2/nixvim/oil.nix rename to modules/nixvim/oil.nix diff --git a/modules2/nixvim/options.nix b/modules/nixvim/options.nix similarity index 100% rename from modules2/nixvim/options.nix rename to modules/nixvim/options.nix diff --git a/modules2/nixvim/phpactor.nix b/modules/nixvim/phpactor.nix similarity index 100% rename from modules2/nixvim/phpactor.nix rename to modules/nixvim/phpactor.nix diff --git a/modules2/nixvim/refactoring.nix b/modules/nixvim/refactoring.nix similarity index 100% rename from modules2/nixvim/refactoring.nix rename to modules/nixvim/refactoring.nix diff --git a/modules2/nixvim/spell/en.utf-8.add b/modules/nixvim/spell/en.utf-8.add similarity index 100% rename from modules2/nixvim/spell/en.utf-8.add rename to modules/nixvim/spell/en.utf-8.add diff --git a/modules2/nixvim/telescope.nix b/modules/nixvim/telescope.nix similarity index 100% rename from modules2/nixvim/telescope.nix rename to modules/nixvim/telescope.nix diff --git a/modules2/nixvim/treesitter.nix b/modules/nixvim/treesitter.nix similarity index 100% rename from modules2/nixvim/treesitter.nix rename to modules/nixvim/treesitter.nix diff --git a/modules2/nixvim/undotree.nix b/modules/nixvim/undotree.nix similarity index 100% rename from modules2/nixvim/undotree.nix rename to modules/nixvim/undotree.nix diff --git a/modules2/nixvim/use-in-home.nix b/modules/nixvim/use-in-home.nix similarity index 100% rename from modules2/nixvim/use-in-home.nix rename to modules/nixvim/use-in-home.nix diff --git a/modules2/nixvim/vim-cool.nix b/modules/nixvim/vim-cool.nix similarity index 100% rename from modules2/nixvim/vim-cool.nix rename to modules/nixvim/vim-cool.nix diff --git a/modules2/nixvim/vim-dadbod.nix b/modules/nixvim/vim-dadbod.nix similarity index 100% rename from modules2/nixvim/vim-dadbod.nix rename to modules/nixvim/vim-dadbod.nix diff --git a/modules2/nixvim/vim-heritage.nix b/modules/nixvim/vim-heritage.nix similarity index 100% rename from modules2/nixvim/vim-heritage.nix rename to modules/nixvim/vim-heritage.nix diff --git a/modules2/nixvim/vim-highlightedyank.nix b/modules/nixvim/vim-highlightedyank.nix similarity index 100% rename from modules2/nixvim/vim-highlightedyank.nix rename to modules/nixvim/vim-highlightedyank.nix diff --git a/modules2/nixvim/vim-test.nix b/modules/nixvim/vim-test.nix similarity index 100% rename from modules2/nixvim/vim-test.nix rename to modules/nixvim/vim-test.nix diff --git a/modules2/nixvim/vim-textobj-xmlattr.nix b/modules/nixvim/vim-textobj-xmlattr.nix similarity index 100% rename from modules2/nixvim/vim-textobj-xmlattr.nix rename to modules/nixvim/vim-textobj-xmlattr.nix diff --git a/modules2/nixvim/web-devicons.nix b/modules/nixvim/web-devicons.nix similarity index 100% rename from modules2/nixvim/web-devicons.nix rename to modules/nixvim/web-devicons.nix diff --git a/modules2/node.nix b/modules/node.nix similarity index 100% rename from modules2/node.nix rename to modules/node.nix diff --git a/modules2/notes/base.nix b/modules/notes/base.nix similarity index 100% rename from modules2/notes/base.nix rename to modules/notes/base.nix diff --git a/modules2/notes/session-variables.nix b/modules/notes/session-variables.nix similarity index 100% rename from modules2/notes/session-variables.nix rename to modules/notes/session-variables.nix diff --git a/modules2/notes/xdg.nix b/modules/notes/xdg.nix similarity index 100% rename from modules2/notes/xdg.nix rename to modules/notes/xdg.nix diff --git a/modules2/ollama/acceleration.nix b/modules/ollama/acceleration.nix similarity index 100% rename from modules2/ollama/acceleration.nix rename to modules/ollama/acceleration.nix diff --git a/modules2/ollama/models.nix b/modules/ollama/models.nix similarity index 100% rename from modules2/ollama/models.nix rename to modules/ollama/models.nix diff --git a/modules2/openssh/enable.nix b/modules/openssh/enable.nix similarity index 100% rename from modules2/openssh/enable.nix rename to modules/openssh/enable.nix diff --git a/modules2/openssh/firewall.nix b/modules/openssh/firewall.nix similarity index 100% rename from modules2/openssh/firewall.nix rename to modules/openssh/firewall.nix diff --git a/modules2/openssh/settings.nix b/modules/openssh/settings.nix similarity index 100% rename from modules2/openssh/settings.nix rename to modules/openssh/settings.nix diff --git a/modules2/owner.nix b/modules/owner.nix similarity index 100% rename from modules2/owner.nix rename to modules/owner.nix diff --git a/modules2/password-store/enable.nix b/modules/password-store/enable.nix similarity index 100% rename from modules2/password-store/enable.nix rename to modules/password-store/enable.nix diff --git a/modules2/password-store/package.nix b/modules/password-store/package.nix similarity index 100% rename from modules2/password-store/package.nix rename to modules/password-store/package.nix diff --git a/modules2/password-store/settings.nix b/modules/password-store/settings.nix similarity index 100% rename from modules2/password-store/settings.nix rename to modules/password-store/settings.nix diff --git a/modules2/phpactor/config/phpactor.yml b/modules/phpactor/config/phpactor.yml similarity index 100% rename from modules2/phpactor/config/phpactor.yml rename to modules/phpactor/config/phpactor.yml diff --git a/modules2/phpactor/config/templates/action/SourceCode.php.twig b/modules/phpactor/config/templates/action/SourceCode.php.twig similarity index 100% rename from modules2/phpactor/config/templates/action/SourceCode.php.twig rename to modules/phpactor/config/templates/action/SourceCode.php.twig diff --git a/modules2/phpactor/config/templates/collection/SourceCode.php.twig b/modules/phpactor/config/templates/collection/SourceCode.php.twig similarity index 100% rename from modules2/phpactor/config/templates/collection/SourceCode.php.twig rename to modules/phpactor/config/templates/collection/SourceCode.php.twig diff --git a/modules2/phpactor/config/templates/default/SourceCode.php.twig b/modules/phpactor/config/templates/default/SourceCode.php.twig similarity index 100% rename from modules2/phpactor/config/templates/default/SourceCode.php.twig rename to modules/phpactor/config/templates/default/SourceCode.php.twig diff --git a/modules2/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig b/modules/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig similarity index 100% rename from modules2/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig rename to modules/phpactor/config/templates/drupal-functional-test/SourceCode.php.twig diff --git a/modules2/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig b/modules/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig similarity index 100% rename from modules2/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig rename to modules/phpactor/config/templates/drupal-kernel-test/SourceCode.php.twig diff --git a/modules2/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig b/modules/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig similarity index 100% rename from modules2/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig rename to modules/phpactor/config/templates/drupal-unit-test/SourceCode.php.twig diff --git a/modules2/phpactor/phpactor.nix b/modules/phpactor/phpactor.nix similarity index 100% rename from modules2/phpactor/phpactor.nix rename to modules/phpactor/phpactor.nix diff --git a/modules2/ranger.nix b/modules/ranger.nix similarity index 100% rename from modules2/ranger.nix rename to modules/ranger.nix diff --git a/modules2/redshift.nix b/modules/redshift.nix similarity index 100% rename from modules2/redshift.nix rename to modules/redshift.nix diff --git a/modules2/scripts/git-save.nix b/modules/scripts/git-save.nix similarity index 100% rename from modules2/scripts/git-save.nix rename to modules/scripts/git-save.nix diff --git a/modules2/sound/pipewire/alsa.nix b/modules/sound/pipewire/alsa.nix similarity index 100% rename from modules2/sound/pipewire/alsa.nix rename to modules/sound/pipewire/alsa.nix diff --git a/modules2/sound/pipewire/enable.nix b/modules/sound/pipewire/enable.nix similarity index 100% rename from modules2/sound/pipewire/enable.nix rename to modules/sound/pipewire/enable.nix diff --git a/modules2/sound/pipewire/pulse.nix b/modules/sound/pipewire/pulse.nix similarity index 100% rename from modules2/sound/pipewire/pulse.nix rename to modules/sound/pipewire/pulse.nix diff --git a/modules2/st.nix b/modules/st.nix similarity index 100% rename from modules2/st.nix rename to modules/st.nix diff --git a/modules2/starship/format.nix b/modules/starship/format.nix similarity index 100% rename from modules2/starship/format.nix rename to modules/starship/format.nix diff --git a/modules2/starship/mob.nix b/modules/starship/mob.nix similarity index 100% rename from modules2/starship/mob.nix rename to modules/starship/mob.nix diff --git a/modules2/starship/newline.nix b/modules/starship/newline.nix similarity index 100% rename from modules2/starship/newline.nix rename to modules/starship/newline.nix diff --git a/modules2/starship/settings.nix b/modules/starship/settings.nix similarity index 100% rename from modules2/starship/settings.nix rename to modules/starship/settings.nix diff --git a/modules2/starship/shlvl.nix b/modules/starship/shlvl.nix similarity index 100% rename from modules2/starship/shlvl.nix rename to modules/starship/shlvl.nix diff --git a/modules2/starship/starship.nix b/modules/starship/starship.nix similarity index 100% rename from modules2/starship/starship.nix rename to modules/starship/starship.nix diff --git a/modules2/starship/zsh.nix b/modules/starship/zsh.nix similarity index 100% rename from modules2/starship/zsh.nix rename to modules/starship/zsh.nix diff --git a/modules2/sudo.nix b/modules/sudo.nix similarity index 100% rename from modules2/sudo.nix rename to modules/sudo.nix diff --git a/modules2/sxhkd/enable.nix b/modules/sxhkd/enable.nix similarity index 100% rename from modules2/sxhkd/enable.nix rename to modules/sxhkd/enable.nix diff --git a/modules2/sxhkd/keybindings.nix b/modules/sxhkd/keybindings.nix similarity index 100% rename from modules2/sxhkd/keybindings.nix rename to modules/sxhkd/keybindings.nix diff --git a/modules2/tailscale.nix b/modules/tailscale.nix similarity index 100% rename from modules2/tailscale.nix rename to modules/tailscale.nix diff --git a/modules2/thunar/enable.nix b/modules/thunar/enable.nix similarity index 100% rename from modules2/thunar/enable.nix rename to modules/thunar/enable.nix diff --git a/modules2/thunar/extra-packages.nix b/modules/thunar/extra-packages.nix similarity index 100% rename from modules2/thunar/extra-packages.nix rename to modules/thunar/extra-packages.nix diff --git a/modules2/thunar/plugins.nix b/modules/thunar/plugins.nix similarity index 100% rename from modules2/thunar/plugins.nix rename to modules/thunar/plugins.nix diff --git a/modules2/tmux-sessionizer/config.nix b/modules/tmux-sessionizer/config.nix similarity index 100% rename from modules2/tmux-sessionizer/config.nix rename to modules/tmux-sessionizer/config.nix diff --git a/modules2/tmux-sessionizer/default.nix b/modules/tmux-sessionizer/default.nix similarity index 100% rename from modules2/tmux-sessionizer/default.nix rename to modules/tmux-sessionizer/default.nix diff --git a/modules2/tmux-sessionizer/package.nix b/modules/tmux-sessionizer/package.nix similarity index 100% rename from modules2/tmux-sessionizer/package.nix rename to modules/tmux-sessionizer/package.nix diff --git a/modules2/tmux/enable.nix b/modules/tmux/enable.nix similarity index 100% rename from modules2/tmux/enable.nix rename to modules/tmux/enable.nix diff --git a/modules2/tmux/extra-config.nix b/modules/tmux/extra-config.nix similarity index 100% rename from modules2/tmux/extra-config.nix rename to modules/tmux/extra-config.nix diff --git a/modules2/tmux/plugins.nix b/modules/tmux/plugins.nix similarity index 100% rename from modules2/tmux/plugins.nix rename to modules/tmux/plugins.nix diff --git a/modules2/tmux/terminal.nix b/modules/tmux/terminal.nix similarity index 100% rename from modules2/tmux/terminal.nix rename to modules/tmux/terminal.nix diff --git a/modules2/unfree-packages.nix b/modules/unfree-packages.nix similarity index 100% rename from modules2/unfree-packages.nix rename to modules/unfree-packages.nix diff --git a/modules2/xbanish.nix b/modules/xbanish.nix similarity index 100% rename from modules2/xbanish.nix rename to modules/xbanish.nix diff --git a/modules2/xsession.nix b/modules/xsession.nix similarity index 100% rename from modules2/xsession.nix rename to modules/xsession.nix diff --git a/modules2/zram.nix b/modules/zram.nix similarity index 100% rename from modules2/zram.nix rename to modules/zram.nix diff --git a/modules2/zsh/abbreviations/abbreviations.nix b/modules/zsh/abbreviations/abbreviations.nix similarity index 100% rename from modules2/zsh/abbreviations/abbreviations.nix rename to modules/zsh/abbreviations/abbreviations.nix diff --git a/modules2/zsh/abbreviations/enable.nix b/modules/zsh/abbreviations/enable.nix similarity index 100% rename from modules2/zsh/abbreviations/enable.nix rename to modules/zsh/abbreviations/enable.nix diff --git a/modules2/zsh/abbreviations/global-abbreviations.nix b/modules/zsh/abbreviations/global-abbreviations.nix similarity index 100% rename from modules2/zsh/abbreviations/global-abbreviations.nix rename to modules/zsh/abbreviations/global-abbreviations.nix diff --git a/modules2/zsh/aliases.nix b/modules/zsh/aliases.nix similarity index 100% rename from modules2/zsh/aliases.nix rename to modules/zsh/aliases.nix diff --git a/modules2/zsh/completion.nix b/modules/zsh/completion.nix similarity index 100% rename from modules2/zsh/completion.nix rename to modules/zsh/completion.nix diff --git a/modules2/zsh/dot-dir.nix b/modules/zsh/dot-dir.nix similarity index 100% rename from modules2/zsh/dot-dir.nix rename to modules/zsh/dot-dir.nix diff --git a/modules2/zsh/enable.nix b/modules/zsh/enable.nix similarity index 100% rename from modules2/zsh/enable.nix rename to modules/zsh/enable.nix diff --git a/modules2/zsh/init.nix b/modules/zsh/init.nix similarity index 100% rename from modules2/zsh/init.nix rename to modules/zsh/init.nix diff --git a/modules2/zsh/profile.nix b/modules/zsh/profile.nix similarity index 100% rename from modules2/zsh/profile.nix rename to modules/zsh/profile.nix diff --git a/modules2/zsh/syntax-highlighting.nix b/modules/zsh/syntax-highlighting.nix similarity index 100% rename from modules2/zsh/syntax-highlighting.nix rename to modules/zsh/syntax-highlighting.nix diff --git a/modules2/zsh/variables.nix b/modules/zsh/variables.nix similarity index 100% rename from modules2/zsh/variables.nix rename to modules/zsh/variables.nix From 1ac3cbc932644590315b58c316ec883b852a8dad Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 18:34:35 +0100 Subject: [PATCH 2172/2258] Remove old user accounts --- users/eric.nix | 12 ------------ users/luke.nix | 12 ------------ 2 files changed, 24 deletions(-) delete mode 100644 users/eric.nix delete mode 100644 users/luke.nix diff --git a/users/eric.nix b/users/eric.nix deleted file mode 100644 index 66e1c15e..00000000 --- a/users/eric.nix +++ /dev/null @@ -1,12 +0,0 @@ -let - username = "eric"; -in -{ - users.users.${username} = { - description = "Eric Davies"; - extraGroups = [ ]; - initialPassword = "eric"; - isNormalUser = true; - packages = [ ]; - }; -} diff --git a/users/luke.nix b/users/luke.nix deleted file mode 100644 index fb413562..00000000 --- a/users/luke.nix +++ /dev/null @@ -1,12 +0,0 @@ -let - username = "luke"; -in -{ - users.users.${username} = { - description = "Luke Davies"; - extraGroups = [ ]; - initialPassword = username; - isNormalUser = true; - packages = [ ]; - }; -} From 2ef0d0015ff6ef86802e23b64b96a101125917f9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 18:34:35 +0100 Subject: [PATCH 2173/2258] Remove 2025 subdomain --- hosts/nixedo/modules/acme.nix | 1 - hosts/nixedo/modules/nginx/sites.nix | 10 ---------- 2 files changed, 11 deletions(-) diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index d0d0a1b5..33979e9c 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -21,7 +21,6 @@ let subdomains = [ "2020" - "2025" "audiobookshelf" "bootstrap-with-tailwind" "code" diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 76cb9be3..9843bfb4 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -11,16 +11,6 @@ let { inherit port root url; } // overrides; sites = [ - { - root = "/var/www/vhosts/website-sculpin"; - port = ports.nginx-website-2025; - url = "2025.oliverdavies.uk"; - - extraConfig = '' - add_header X-Robots-Tag "noindex, nofollow"; - ''; - } - (mkSite "eric" { rootSuffix = "/public"; From 88e8de8c301867fa726e6b9d650c01c435524bb1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 18:34:36 +0100 Subject: [PATCH 2174/2258] Add `preview` script An opinionated wrapper around Browsersync. --- modules/scripts/preview.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 modules/scripts/preview.nix diff --git a/modules/scripts/preview.nix b/modules/scripts/preview.nix new file mode 100644 index 00000000..7a77187b --- /dev/null +++ b/modules/scripts/preview.nix @@ -0,0 +1,24 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "preview"; + + runtimeInputs = with pkgs.nodePackages; [ browser-sync ]; + + text = '' + # Based on https://github.com/rwxrob/dot/blob/main/scripts/preview. + + browser-sync start \ + --ignore '**/.*' \ + --no-notify \ + --no-open \ + --no-ui \ + -sw + ''; + }) + ]; + }; +} From 77b8ce89c82a9d467df9033cdf21298cc207d1e5 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 18:34:58 +0100 Subject: [PATCH 2175/2258] Add `books` and `examples` subdomains --- hosts/nixedo/modules/nginx/sites.nix | 4 ++++ hosts/nixedo/ports.nix | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/hosts/nixedo/modules/nginx/sites.nix b/hosts/nixedo/modules/nginx/sites.nix index 9843bfb4..3d682ec7 100644 --- a/hosts/nixedo/modules/nginx/sites.nix +++ b/hosts/nixedo/modules/nginx/sites.nix @@ -11,6 +11,8 @@ let { inherit port root url; } // overrides; sites = [ + (mkSite "books" {}) + (mkSite "eric" { rootSuffix = "/public"; @@ -18,6 +20,8 @@ let add_header X-Robots-Tag "noindex, nofollow"; ''; }) + + (mkSite "examples" {}) ] ++ map diff --git a/hosts/nixedo/ports.nix b/hosts/nixedo/ports.nix index 978f729a..e3ceba08 100644 --- a/hosts/nixedo/ports.nix +++ b/hosts/nixedo/ports.nix @@ -19,9 +19,10 @@ in nginx-website-sculpin = 8095; nginx-website-tome = 8098; - nginx-website-2025 = 9002; + nginx-books = 9002; nginx-bootstrap-with-tailwind = 8081; nginx-eric = 8084; + nginx-examples = 9003; nginx-florida-drupalcamp-tailwind-css = 8083; nginx-luke = 8094; nginx-phpsw-sculpin-demo = 8085; From 8466ffcfb7417ba685825158bc922255db752c46 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 18 Aug 2025 20:20:08 +0100 Subject: [PATCH 2176/2258] Add podman --- modules/podman.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 modules/podman.nix diff --git a/modules/podman.nix b/modules/podman.nix new file mode 100644 index 00000000..afd3c670 --- /dev/null +++ b/modules/podman.nix @@ -0,0 +1,16 @@ +{ config, ... }: + +{ + flake.modules.nixos.pc = { + virtualisation = { + oci-containers.backend = "podman"; + + podman = { + enable = true; + dockerCompat = true; + }; + }; + + users.users.${config.flake.meta.owner.username}.extraGroups = [ "podman" ]; + }; +} From 94ec854383a21b8d1aef5a24e3d6d3cf7a6ec08c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:05 +0100 Subject: [PATCH 2177/2258] Refactor displayselect --- flake.lock | 19 +++++++++- flake.nix | 5 +++ home-manager/opdavies/t480.nix | 1 - modules/displayselect/default.nix | 35 +++++++++++++++++++ .../displayselect/scaling.patch | 0 modules/sxhkd/keybindings.nix | 2 +- packages/default.nix | 1 - packages/displayselect/default.nix | 32 ----------------- 8 files changed, 59 insertions(+), 36 deletions(-) create mode 100644 modules/displayselect/default.nix rename {packages => modules}/displayselect/scaling.patch (100%) delete mode 100644 packages/displayselect/default.nix diff --git a/flake.lock b/flake.lock index f1168793..99d9f438 100644 --- a/flake.lock +++ b/flake.lock @@ -458,7 +458,8 @@ "rwxrob-dot": "rwxrob-dot", "standard-vim": "standard-vim", "vim-heritage": "vim-heritage", - "vim-textobj-xmlattr": "vim-textobj-xmlattr" + "vim-textobj-xmlattr": "vim-textobj-xmlattr", + "voidrice": "voidrice" } }, "rwxrob-dot": { @@ -569,6 +570,22 @@ "repo": "vim-textobj-xmlattr", "type": "github" } + }, + "voidrice": { + "flake": false, + "locked": { + "lastModified": 1744355318, + "narHash": "sha256-9U1Do0w2oT5E6uZxSKoHAzbGbSLQRQlT65KcPGzwhW8=", + "owner": "lukesmithxyz", + "repo": "voidrice", + "rev": "f853f1884a8f0c244765192dc6f5a910a7e2b8e5", + "type": "github" + }, + "original": { + "owner": "lukesmithxyz", + "repo": "voidrice", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e03ecc80..4657f031 100644 --- a/flake.nix +++ b/flake.nix @@ -77,6 +77,11 @@ flake = false; url = "github:whatyouhide/vim-textobj-xmlattr"; }; + + voidrice = { + flake = false; + url = "github:lukesmithxyz/voidrice"; + }; }; outputs = diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 3f4b19f4..83423c7e 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -17,7 +17,6 @@ build-glove80 count-tags create-script - displayselect get-tags qrencode mounter diff --git a/modules/displayselect/default.nix b/modules/displayselect/default.nix new file mode 100644 index 00000000..b8b6ad92 --- /dev/null +++ b/modules/displayselect/default.nix @@ -0,0 +1,35 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.stdenv.mkDerivation { + pname = "displayselect"; + version = "unstable"; + + src = inputs.voidrice; + + dontUnpack = true; + + buildInputs = with pkgs; [ + bash + xorg.xrandr + ]; + + prePatch = '' + cp "$src/.local/bin/displayselect" displayselect + ''; + + patches = [ ./scaling.patch ]; + + installPhase = '' + mkdir -p $out/bin + cp displayselect $out/bin + chmod +x $out/bin/displayselect + ''; + }) + ]; + }; +} diff --git a/packages/displayselect/scaling.patch b/modules/displayselect/scaling.patch similarity index 100% rename from packages/displayselect/scaling.patch rename to modules/displayselect/scaling.patch diff --git a/modules/sxhkd/keybindings.nix b/modules/sxhkd/keybindings.nix index 811c998c..62dfca4b 100644 --- a/modules/sxhkd/keybindings.nix +++ b/modules/sxhkd/keybindings.nix @@ -13,7 +13,7 @@ "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; "super + shift + p" = "${lib.getExe pkgs.passmenu-otp} -i"; "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; - "@F3" = "${lib.getExe pkgs.displayselect}"; + "@F3" = "displayselect"; "@F9" = "/home/opdavies/.local/bin/mounter"; "@F10" = "/home/opdavies/.local/bin/unmounter"; }; diff --git a/packages/default.nix b/packages/default.nix index 52254bb7..8d7bb22d 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -17,7 +17,6 @@ in count-tags = callPackage ./count-tags.nix { }; create-script = callPackage ./create-script.nix { }; dev-commit = callPackage ./dev-commit.nix { }; - displayselect = callPackage ./displayselect { }; get-tags = callPackage ./get-tags.nix { }; git-exclude = callPackage ./git-exclude.nix { }; git-graph = callPackage ./git-graph.nix { }; diff --git a/packages/displayselect/default.nix b/packages/displayselect/default.nix deleted file mode 100644 index f81f217e..00000000 --- a/packages/displayselect/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ pkgs, ... }: - -pkgs.stdenv.mkDerivation { - pname = "displayselect"; - version = "unstable-2024-05-11"; - - src = builtins.fetchurl { - url = "https://raw.githubusercontent.com/lukesmithxyz/voidrice/97687287bdfd332398b82a196b5f1feaec73f1d7/.local/bin/displayselect"; - sha256 = "sha256:11r561pfhb48a3xmi42zzvpljahnwlfad9rz8qmmp64dhz1f2vp0"; - }; - - dontUnpack = true; - - buildInputs = with pkgs; [ - bash - xorg.xrandr - ]; - - prePatch = '' - cp $src displayselect - ''; - - patches = [ ./scaling.patch ]; - - installPhase = '' - mkdir -p $out/bin - cp displayselect $out/bin - chmod +x $out/bin/displayselect - ''; - - meta.mainProgram = "displayselect"; -} From d7a9b529e36cdb32502852d947d2bd44db1943f0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:05 +0100 Subject: [PATCH 2178/2258] Add `battery` command --- modules/scripts/battery.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 modules/scripts/battery.nix diff --git a/modules/scripts/battery.nix b/modules/scripts/battery.nix new file mode 100644 index 00000000..ac1eae3c --- /dev/null +++ b/modules/scripts/battery.nix @@ -0,0 +1,17 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "battery"; + + runtimeInputs = with pkgs; [ upower ]; + + text = '' + upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep -E 'state|to full|percentage' + ''; + }) + ]; + }; +} From bafbce7ac1b90fcda7053149986f146c423e5256 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:05 +0100 Subject: [PATCH 2179/2258] Start configuring dwmblocks --- modules/hosts/t480/dwm/blocks.nix | 5 ---- modules/hosts/t480/dwm/dwmblocks/audio.nix | 21 +++++++++++++++++ modules/hosts/t480/dwm/dwmblocks/battery.nix | 23 +++++++++++++++++++ modules/hosts/t480/dwm/dwmblocks/default.nix | 24 ++++++++++++++++++++ todo.txt | 1 - 5 files changed, 68 insertions(+), 6 deletions(-) delete mode 100644 modules/hosts/t480/dwm/blocks.nix create mode 100644 modules/hosts/t480/dwm/dwmblocks/audio.nix create mode 100644 modules/hosts/t480/dwm/dwmblocks/battery.nix create mode 100644 modules/hosts/t480/dwm/dwmblocks/default.nix diff --git a/modules/hosts/t480/dwm/blocks.nix b/modules/hosts/t480/dwm/blocks.nix deleted file mode 100644 index 34b1f165..00000000 --- a/modules/hosts/t480/dwm/blocks.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - flake.modules.homeManager.gui = { pkgs, ... }: { - home.packages = [ pkgs.dwmblocks ]; - }; -} diff --git a/modules/hosts/t480/dwm/dwmblocks/audio.nix b/modules/hosts/t480/dwm/dwmblocks/audio.nix new file mode 100644 index 00000000..ddefba39 --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/audio.nix @@ -0,0 +1,21 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "status-audio"; + + runtimeInputs = with pkgs; [ pulseaudio ]; + + text = '' + device="$(pactl list sinks | grep -A2 "$(pactl get-default-sink)" | grep "Description:" | awk '{print $2}')" + + test "$device" == "Dummy" && exit 0 + + echo "$device"; + ''; + }) + ]; + }; +} diff --git a/modules/hosts/t480/dwm/dwmblocks/battery.nix b/modules/hosts/t480/dwm/dwmblocks/battery.nix new file mode 100644 index 00000000..5abd5630 --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/battery.nix @@ -0,0 +1,23 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "status-battery"; + + runtimeInputs = with pkgs; [ gawk ]; + + text = '' + percentage=$(battery | grep "percentage:" | awk '{print $2}') + + test "$percentage" == "100%" && exit 0 + + state=$(battery | grep "state:" | awk '{print $2}') + + echo "$percentage ($state)"; + ''; + }) + ]; + }; +} diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix new file mode 100644 index 00000000..2522e214 --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -0,0 +1,24 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.dwmblocks.override { + conf = '' + static const Block blocks[] = { + {"", "status-audio", 10, 0}, + + {"", "status-battery", 60, 0}, + + {"Mem: ", "free -h | awk '/^Mem/ { print $3\"/\"$2 }' | sed s/i//g", 30, 0}, + + {"", "date '+%x %R'", 30, 0}, + }; + + static char delim[] = " | "; + static unsigned int delimLen = 5; + ''; + }) + ]; + }; +} diff --git a/todo.txt b/todo.txt index 8c365f92..8f5d84dd 100644 --- a/todo.txt +++ b/todo.txt @@ -9,7 +9,6 @@ forgejo Create a Home Manager module for bluetuith. Enable tree-fmt -Configure dwmblocks. Error detected while processing BufWritePost Autocommands for "*": Error running vale: ENOENT: no such file or directory From a054ca7ded3222c8e497ccb485199a9ef2ea41d4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:05 +0100 Subject: [PATCH 2180/2258] Add `-c` to dmenu, but as a noop To support other scripts. --- modules/dwm/dmenu-center-noop.patch | 14 ++++++++++++++ modules/dwm/packages.nix | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 modules/dwm/dmenu-center-noop.patch diff --git a/modules/dwm/dmenu-center-noop.patch b/modules/dwm/dmenu-center-noop.patch new file mode 100644 index 00000000..9773ce73 --- /dev/null +++ b/modules/dwm/dmenu-center-noop.patch @@ -0,0 +1,14 @@ +diff --git a/dmenu.c b/dmenu.c + +index fd49549..e9e2648 100644 +--- a/dmenu.c ++++ b/dmenu.c +@@ -757,6 +757,8 @@ main(int argc, char *argv[]) + colors[SchemeSel][ColFg] = argv[++i]; + else if (!strcmp(argv[i], "-w")) /* embedding window id */ + embed = argv[++i]; ++ else if (!strcmp(argv[i], "-c")) ++ continue; + else + usage(); + diff --git a/modules/dwm/packages.nix b/modules/dwm/packages.nix index 5e58932e..0bc07182 100644 --- a/modules/dwm/packages.nix +++ b/modules/dwm/packages.nix @@ -3,7 +3,12 @@ { pkgs, ... }: { environment.systemPackages = with pkgs; [ - dmenu + (dmenu.override { + patches = [ + ./dmenu-center-noop.patch + ]; + }) + dmenu-bluetooth dunst networkmanager_dmenu From 79ebdaeba9dd99c7af21652fadbd74051dacab82 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:05 +0100 Subject: [PATCH 2181/2258] Change the memory usage format --- modules/hosts/t480/dwm/dwmblocks/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index 2522e214..e33684a9 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -10,7 +10,8 @@ {"", "status-battery", 60, 0}, - {"Mem: ", "free -h | awk '/^Mem/ { print $3\"/\"$2 }' | sed s/i//g", 30, 0}, + {"", "free -h | awk '/^Mem/ { printf \"%s/%s RAM\\n\", $3, $2 }' | sed 's/i//g'", 30, 0}, + {"", "date '+%x %R'", 30, 0}, }; From 8acc393fa0ae4a511e38572759b34eaf5bf6d1ea Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:05 +0100 Subject: [PATCH 2182/2258] Add dmenu_sys and dmenu_timer --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/dmenu-sys.nix | 26 ++++++++++++++++++++++++++ modules/dmenu-timer.nix | 26 ++++++++++++++++++++++++++ modules/sxhkd/keybindings.nix | 12 ++++++------ 5 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 modules/dmenu-sys.nix create mode 100644 modules/dmenu-timer.nix diff --git a/flake.lock b/flake.lock index 99d9f438..e9d07a61 100644 --- a/flake.lock +++ b/flake.lock @@ -23,6 +23,22 @@ "type": "github" } }, + "bop-scripts": { + "flake": false, + "locked": { + "lastModified": 1749678215, + "narHash": "sha256-UlLpsF/O/5WWB+fXjzJHeudxY+6pDlqq/HTqwiRf+Yk=", + "owner": "breadonpenguins", + "repo": "scripts", + "rev": "7c6be69294d2dce7c7f295f1f067c1d00eb57b66", + "type": "github" + }, + "original": { + "owner": "breadonpenguins", + "repo": "scripts", + "type": "github" + } + }, "conf-vim": { "flake": false, "locked": { @@ -442,6 +458,7 @@ "root": { "inputs": { "agenix": "agenix", + "bop-scripts": "bop-scripts", "conf-vim": "conf-vim", "disko": "disko", "edit-alternate-vim": "edit-alternate-vim", diff --git a/flake.nix b/flake.nix index 4657f031..0a81b14e 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,11 @@ url = "github:ryantm/agenix"; }; + bop-scripts = { + flake = false; + url = "github:breadonpenguins/scripts"; + }; + conf-vim = { flake = false; url = "github:tjdevries/conf.vim"; diff --git a/modules/dmenu-sys.nix b/modules/dmenu-sys.nix new file mode 100644 index 00000000..2ccab6e7 --- /dev/null +++ b/modules/dmenu-sys.nix @@ -0,0 +1,26 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.stdenv.mkDerivation rec { + pname = "dmenu_sys"; + version = "unstable"; + + src = inputs.bop-scripts; + + dontUnpack = true; + + buildInputs = with pkgs; [ dmenu ]; + + installPhase = '' + mkdir -p $out/bin + cp $src/${pname} $out/bin + chmod +x $out/bin/${pname} + ''; + }) + ]; + }; +} diff --git a/modules/dmenu-timer.nix b/modules/dmenu-timer.nix new file mode 100644 index 00000000..7a829d27 --- /dev/null +++ b/modules/dmenu-timer.nix @@ -0,0 +1,26 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.stdenv.mkDerivation rec { + pname = "dmenu_timer"; + version = "unstable"; + + src = inputs.bop-scripts; + + dontUnpack = true; + + buildInputs = with pkgs; [ dmenu ]; + + installPhase = '' + mkdir -p $out/bin + cp $src/${pname} $out/bin + chmod +x $out/bin/${pname} + ''; + }) + ]; + }; +} diff --git a/modules/sxhkd/keybindings.nix b/modules/sxhkd/keybindings.nix index 62dfca4b..67338e12 100644 --- a/modules/sxhkd/keybindings.nix +++ b/modules/sxhkd/keybindings.nix @@ -5,17 +5,17 @@ { pkgs, ... }: { services.sxhkd.keybindings = { - "{_, shift +, super +}XF86MonBrightness{Down,Up}" = - "${lib.getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; - "super + BackSpace" = "/home/opdavies/sysact"; + "@F10" = "/home/opdavies/.local/bin/unmounter"; + "@F3" = "displayselect"; + "@F9" = "/home/opdavies/.local/bin/mounter"; + "super + BackSpace" = "dmenu_sys"; "super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis"; "super + shift + i" = "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; "super + shift + p" = "${lib.getExe pkgs.passmenu-otp} -i"; "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; - "@F3" = "displayselect"; - "@F9" = "/home/opdavies/.local/bin/mounter"; - "@F10" = "/home/opdavies/.local/bin/unmounter"; + "{_, shift +, super +}XF86MonBrightness{Down,Up}" = + "${lib.getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet"; }; }; } From 936e2b5d31c88ccff77061a64a2db279238a8a2e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 20:56:22 +0100 Subject: [PATCH 2183/2258] Disable vaultwarden --- hosts/nixedo/homelab.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index b105300e..5e747cc9 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -15,7 +15,7 @@ peertube.enable = true; tubearchivist.enable = true; uptime-kuma.enable = true; - vaultwarden.enable = true; + vaultwarden.enable = false; }; }; } From 5e1ef25879466a1ea2b010dc1706dcea04f4a197 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 19 Aug 2025 07:00:53 +0100 Subject: [PATCH 2184/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/8246829f2e675a46919718f9a64b71afe3bfb22d?narHash=sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0%3D' (2025-08-12) → 'github:nix-community/disko/4073ff2f481f9ef3501678ff479ed81402caae6d?narHash=sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc%3D' (2025-08-18) • Updated input 'git-repo-updater': 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) → 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) • Updated input 'home-manager': 'github:nix-community/home-manager/d2ffdedfc39c591367b1ddf22b4ce107f029dcc3?narHash=sha256-RHK4H6SWzkAtW/5WBHsyugaXJX25yr5y7FAZznxcBJs%3D' (2025-08-17) → 'github:nix-community/home-manager/c613ac14f5600033bf84ae75c315d5ce24a0229b?narHash=sha256-s7D28zPHlFWVZ7dDxm0L1o5%2Bt423rMJUfgCMGUeyYSk%3D' (2025-08-19) • Updated input 'nixvim': 'github:nix-community/nixvim/ecc7880e00a2a735074243d8a664a931d73beace?narHash=sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA%3D' (2025-08-13) → 'github:nix-community/nixvim/e1e4bb83f1b1193c99971dfde6928e1f60ed4296?narHash=sha256-3PsCEAfZLk3shQNgEH67P6KvhV6bXziewl3HwJ/iaV4%3D' (2025-08-18) • Updated input 'nur': 'github:nix-community/NUR/baa6cf1524463c1178af1e37de51be461c17d7ce?narHash=sha256-7o11BHMIHP0jcr%2B6bF6MZ6dVud2IAnXU9O15WoeKGYg%3D' (2025-08-17) → 'github:nix-community/NUR/0ee04ea6138ae9a91b94f38233119aff6ca0c792?narHash=sha256-BKFoc4fMQlXSeUjaOVOkb8Q5y/JuaaH/XqBWb0G4fxI%3D' (2025-08-19) --- flake.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index e9d07a61..62f5882c 100644 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1754971456, - "narHash": "sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0=", + "lastModified": 1755519972, + "narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=", "owner": "nix-community", "repo": "disko", - "rev": "8246829f2e675a46919718f9a64b71afe3bfb22d", + "rev": "4073ff2f481f9ef3501678ff479ed81402caae6d", "type": "github" }, "original": { @@ -209,7 +209,7 @@ "narHash": "sha256-bOCBp5JCtanO7aINXDJOtwY4qZSPWBxCDf50NpqAKBU=", "ref": "refs/heads/main", "rev": "8175f54dddb4a9579a9bea99c7236eebb6d46fc0", - "revCount": 35, + "revCount": 1, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" }, @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1755442500, - "narHash": "sha256-RHK4H6SWzkAtW/5WBHsyugaXJX25yr5y7FAZznxcBJs=", + "lastModified": 1755569926, + "narHash": "sha256-s7D28zPHlFWVZ7dDxm0L1o5+t423rMJUfgCMGUeyYSk=", "owner": "nix-community", "repo": "home-manager", - "rev": "d2ffdedfc39c591367b1ddf22b4ce107f029dcc3", + "rev": "c613ac14f5600033bf84ae75c315d5ce24a0229b", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1755095763, - "narHash": "sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA=", + "lastModified": 1755541228, + "narHash": "sha256-3PsCEAfZLk3shQNgEH67P6KvhV6bXziewl3HwJ/iaV4=", "owner": "nix-community", "repo": "nixvim", - "rev": "ecc7880e00a2a735074243d8a664a931d73beace", + "rev": "e1e4bb83f1b1193c99971dfde6928e1f60ed4296", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1755467122, - "narHash": "sha256-7o11BHMIHP0jcr+6bF6MZ6dVud2IAnXU9O15WoeKGYg=", + "lastModified": 1755582404, + "narHash": "sha256-BKFoc4fMQlXSeUjaOVOkb8Q5y/JuaaH/XqBWb0G4fxI=", "owner": "nix-community", "repo": "NUR", - "rev": "baa6cf1524463c1178af1e37de51be461c17d7ce", + "rev": "0ee04ea6138ae9a91b94f38233119aff6ca0c792", "type": "github" }, "original": { From 2d488eaa7a1a8580d014ab6edb19c3f97340ac65 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 19 Aug 2025 23:51:52 +0100 Subject: [PATCH 2185/2258] Display network name and IP address --- modules/hosts/t480/dwm/dwmblocks/default.nix | 2 ++ modules/hosts/t480/dwm/dwmblocks/network.nix | 24 ++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 modules/hosts/t480/dwm/dwmblocks/network.nix diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index e33684a9..fa35982e 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -8,6 +8,8 @@ static const Block blocks[] = { {"", "status-audio", 10, 0}, + {"", "status-network", 10, 0}, + {"", "status-battery", 60, 0}, {"", "free -h | awk '/^Mem/ { printf \"%s/%s RAM\\n\", $3, $2 }' | sed 's/i//g'", 30, 0}, diff --git a/modules/hosts/t480/dwm/dwmblocks/network.nix b/modules/hosts/t480/dwm/dwmblocks/network.nix new file mode 100644 index 00000000..bbe262bf --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/network.nix @@ -0,0 +1,24 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "status-network"; + + runtimeInputs = with pkgs; [ networkmanager ]; + + text = '' + connected_to="$(nmcli | grep "connected to")" + + network_name="$(echo "$connected_to" | awk '{print $NF}')" + connected_device="$(echo "$connected_to" | cut -d ':' -f 1)" + + ip_address="$(ip a | grep "$connected_device" | grep inet | awk '{print $2}'| cut -d '/' -f 1)" + + echo "$network_name $ip_address" + ''; + }) + ]; + }; +} From d1eaa837124dcf648a36bc3eb460e4900f24b350 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 20 Aug 2025 08:00:00 +0100 Subject: [PATCH 2186/2258] Add CPU usage percentage --- modules/hosts/t480/dwm/dwmblocks/cpu.nix | 17 +++++++++++++++++ modules/hosts/t480/dwm/dwmblocks/default.nix | 1 + 2 files changed, 18 insertions(+) create mode 100644 modules/hosts/t480/dwm/dwmblocks/cpu.nix diff --git a/modules/hosts/t480/dwm/dwmblocks/cpu.nix b/modules/hosts/t480/dwm/dwmblocks/cpu.nix new file mode 100644 index 00000000..9e4f03fa --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/cpu.nix @@ -0,0 +1,17 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "status-cpu"; + + runtimeInputs = with pkgs; [ sysstat ]; + + text = '' + mpstat | grep -A 5 "%idle" | tail -n 1 | awk -F " " '{printf "%s%% CPU", 100 - $ 12}' + ''; + }) + ]; + }; +} diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index fa35982e..886c3b3d 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -14,6 +14,7 @@ {"", "free -h | awk '/^Mem/ { printf \"%s/%s RAM\\n\", $3, $2 }' | sed 's/i//g'", 30, 0}, + {"", "status-cpu", 10, 0}, {"", "date '+%x %R'", 30, 0}, }; From 11a0e9f8c82ccdd4fb9adb08dcb1f594422f7cb1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 20 Aug 2025 20:48:14 +0100 Subject: [PATCH 2187/2258] Revert "Add `/books` redirect" This reverts commit 61804ebc6f559a4e061b49dc12e22ba6bf7c36f2. --- hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix index 66ad7cf2..7d546067 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix @@ -3063,8 +3063,4 @@ from = "/yXhoS"; to = "/talks/things-you-should-know-about-php"; } - { - from = "/books"; - to = "https://code.oliverdavies.uk/explore/repos?q=book&topic=1"; - } ] From 79b9fbf767687df2bdde05347e81f9fb4c7be4f7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 20 Aug 2025 22:23:18 +0100 Subject: [PATCH 2188/2258] Remove README.md --- modules/README.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 modules/README.md diff --git a/modules/README.md b/modules/README.md deleted file mode 100644 index 48eac0a2..00000000 --- a/modules/README.md +++ /dev/null @@ -1,5 +0,0 @@ -I'm refactoring my configuration to follow [the dendritic pattern](https://github.com/mightyiam/dendritic), inspired by <https://github.com/mightyiam/infra>. - -Rather than a large rewrite, I am incrementally refactoring my configuration in-place. - -This directory contains the modules that have been refactored, and will eventually replace the existing `modules` directory. From 9375d5d6bf3d509a6a117b2fa3d890ab2ef0ff08 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 21 Aug 2025 13:23:24 +0100 Subject: [PATCH 2189/2258] Add README.md --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..380ac05f --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# nix-config From 33fda06a6f9fa5210c2967e1c2bce8e52f8b6a70 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 22 Aug 2025 07:00:52 +0100 Subject: [PATCH 2190/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/c613ac14f5600033bf84ae75c315d5ce24a0229b?narHash=sha256-s7D28zPHlFWVZ7dDxm0L1o5%2Bt423rMJUfgCMGUeyYSk%3D' (2025-08-19) → 'github:nix-community/home-manager/6911d3e7f475f7b3558b4f5a6aba90fa86099baa?narHash=sha256-QdenO8f0PTg%2BtC6HuSvngKcbRZA5oZKmjUT%2BMXKOLQg%3D' (2025-08-21) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14) → 'github:nixos/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4?narHash=sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs%2BStOp19xNsbqdOg%3D' (2025-08-19) • Updated input 'nixvim': 'github:nix-community/nixvim/e1e4bb83f1b1193c99971dfde6928e1f60ed4296?narHash=sha256-3PsCEAfZLk3shQNgEH67P6KvhV6bXziewl3HwJ/iaV4%3D' (2025-08-18) → 'github:nix-community/nixvim/d96069b1e14c7d9b756cc7c1dcf59f04ef35756b?narHash=sha256-2iULLpTIzhRF%2B7ppTlfAfTGqFJknKOPjjUHlm2lqFMs%3D' (2025-08-21) • Updated input 'nixvim/nuschtosSearch': 'github:NuschtOS/search/a60091045273484c040a91f5c229ba298f8ecc27?narHash=sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc%3D' (2025-08-04) → 'github:NuschtOS/search/6f3efef888b92e6520f10eae15b86ff537e1d2ea?narHash=sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY%3D' (2025-08-18) • Updated input 'nixvim/nuschtosSearch/ixx': 'github:NuschtOS/ixx/cc5f390f7caf265461d4aab37e98d2292ebbdb85?narHash=sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw%3D' (2025-05-26) → 'github:NuschtOS/ixx/babfe85a876162c4acc9ab6fb4483df88fa1f281?narHash=sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk%3D' (2025-08-10) • Updated input 'nur': 'github:nix-community/NUR/0ee04ea6138ae9a91b94f38233119aff6ca0c792?narHash=sha256-BKFoc4fMQlXSeUjaOVOkb8Q5y/JuaaH/XqBWb0G4fxI%3D' (2025-08-19) → 'github:nix-community/NUR/350ba4022fa87d6bb8b9eceae4b079bad338d991?narHash=sha256-TQcuek%2BxbqeWLX/twaZzgO%2BVLqHmekx1Ayc3NbKjvW8%3D' (2025-08-22) --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 62f5882c..b50858e8 100644 --- a/flake.lock +++ b/flake.lock @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1755569926, - "narHash": "sha256-s7D28zPHlFWVZ7dDxm0L1o5+t423rMJUfgCMGUeyYSk=", + "lastModified": 1755810213, + "narHash": "sha256-QdenO8f0PTg+tC6HuSvngKcbRZA5oZKmjUT+MXKOLQg=", "owner": "nix-community", "repo": "home-manager", - "rev": "c613ac14f5600033bf84ae75c315d5ce24a0229b", + "rev": "6911d3e7f475f7b3558b4f5a6aba90fa86099baa", "type": "github" }, "original": { @@ -289,16 +289,16 @@ ] }, "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", "owner": "NuschtOS", "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.8", + "ref": "v0.1.1", "repo": "ixx", "type": "github" } @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "lastModified": 1755615617, + "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "rev": "20075955deac2583bb12f07151c2df830ef346b4", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1755541228, - "narHash": "sha256-3PsCEAfZLk3shQNgEH67P6KvhV6bXziewl3HwJ/iaV4=", + "lastModified": 1755814403, + "narHash": "sha256-2iULLpTIzhRF+7ppTlfAfTGqFJknKOPjjUHlm2lqFMs=", "owner": "nix-community", "repo": "nixvim", - "rev": "e1e4bb83f1b1193c99971dfde6928e1f60ed4296", + "rev": "d96069b1e14c7d9b756cc7c1dcf59f04ef35756b", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1755582404, - "narHash": "sha256-BKFoc4fMQlXSeUjaOVOkb8Q5y/JuaaH/XqBWb0G4fxI=", + "lastModified": 1755835608, + "narHash": "sha256-TQcuek+xbqeWLX/twaZzgO+VLqHmekx1Ayc3NbKjvW8=", "owner": "nix-community", "repo": "NUR", - "rev": "0ee04ea6138ae9a91b94f38233119aff6ca0c792", + "rev": "350ba4022fa87d6bb8b9eceae4b079bad338d991", "type": "github" }, "original": { @@ -442,11 +442,11 @@ ] }, "locked": { - "lastModified": 1754301638, - "narHash": "sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc=", + "lastModified": 1755555503, + "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=", "owner": "NuschtOS", "repo": "search", - "rev": "a60091045273484c040a91f5c229ba298f8ecc27", + "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea", "type": "github" }, "original": { From 91ebd1d736691a4145eebf315e3a4c8066a4c41e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 24 Aug 2025 10:23:32 +0100 Subject: [PATCH 2191/2258] dwmblocks: update date format --- modules/hosts/t480/dwm/dwmblocks/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index 886c3b3d..8adc434f 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -16,7 +16,7 @@ {"", "status-cpu", 10, 0}, - {"", "date '+%x %R'", 30, 0}, + {"", "date '+%a %d %B %Y %H:%M %Z'", 30, 0}, }; static char delim[] = " | "; From d735653a6fa663cced9d0f1a94b4c260061cf19d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 24 Aug 2025 10:34:45 +0100 Subject: [PATCH 2192/2258] Update todo.txt --- todo.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.txt b/todo.txt index 8f5d84dd..9fb12d75 100644 --- a/todo.txt +++ b/todo.txt @@ -14,3 +14,5 @@ Error detected while processing BufWritePost Autocommands for "*": Error running vale: ENOENT: no such file or directory Re-add spellfile + +Re-add low battery notifications. From bcf3da42cbece1584deb9b7981d28730fda64a6c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 24 Aug 2025 10:35:17 +0100 Subject: [PATCH 2193/2258] dwm: remove restartsig.patch --- overlays/mods/dwm/default.nix | 2 - overlays/mods/dwm/restartsig.patch | 108 ----------------------------- 2 files changed, 110 deletions(-) delete mode 100644 overlays/mods/dwm/restartsig.patch diff --git a/overlays/mods/dwm/default.nix b/overlays/mods/dwm/default.nix index 07e9060a..67b3117c 100644 --- a/overlays/mods/dwm/default.nix +++ b/overlays/mods/dwm/default.nix @@ -112,8 +112,6 @@ prev.dwm.override { ''; patches = with prev; [ - ./restartsig.patch - (fetchpatch { name = "preserveonrestart"; url = "https://dwm.suckless.org/patches/preserveonrestart/dwm-preserveonrestart-6.3.diff"; diff --git a/overlays/mods/dwm/restartsig.patch b/overlays/mods/dwm/restartsig.patch deleted file mode 100644 index fe73b937..00000000 --- a/overlays/mods/dwm/restartsig.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 9efa774..3e9f854 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -95,6 +95,7 @@ static const Key keys[] = { - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} }, - }; - - /* button definitions */ -diff --git a/dwm.1 b/dwm.1 -index ddc8321..7b6cadb 100644 ---- a/dwm.1 -+++ b/dwm.1 -@@ -142,6 +142,9 @@ Add/remove all windows with nth tag to/from the view. - .TP - .B Mod1\-Shift\-q - Quit dwm. -+.TP -+.B Mod1\-Control\-Shift\-q -+Restart dwm. - .SS Mouse commands - .TP - .B Mod1\-Button1 -@@ -155,6 +158,13 @@ Resize focused window while dragging. Tiled windows will be toggled to the float - .SH CUSTOMIZATION - dwm is customized by creating a custom config.h and (re)compiling the source - code. This keeps it fast, secure and simple. -+.SH SIGNALS -+.TP -+.B SIGHUP - 1 -+Restart the dwm process. -+.TP -+.B SIGTERM - 15 -+Cleanly terminate the dwm process. - .SH SEE ALSO - .BR dmenu (1), - .BR st (1) -diff --git a/dwm.c b/dwm.c -index 1443802..d183e80 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -204,6 +204,8 @@ static void setmfact(const Arg *arg); - static void setup(void); - static void seturgent(Client *c, int urg); - static void showhide(Client *c); -+static void sighup(int unused); -+static void sigterm(int unused); - static void spawn(const Arg *arg); - static void tag(const Arg *arg); - static void tagmon(const Arg *arg); -@@ -259,6 +261,7 @@ static void (*handler[LASTEvent]) (XEvent *) = { - [UnmapNotify] = unmapnotify - }; - static Atom wmatom[WMLast], netatom[NetLast]; -+static int restart = 0; - static int running = 1; - static Cur *cursor[CurLast]; - static Clr **scheme; -@@ -1257,6 +1260,7 @@ propertynotify(XEvent *e) - void - quit(const Arg *arg) - { -+ if(arg->i) restart = 1; - running = 0; - } - -@@ -1552,6 +1556,9 @@ setup(void) - /* clean up any zombies (inherited from .xinitrc etc) immediately */ - while (waitpid(-1, NULL, WNOHANG) > 0); - -+ signal(SIGHUP, sighup); -+ signal(SIGTERM, sigterm); -+ - /* init screen */ - screen = DefaultScreen(dpy); - sw = DisplayWidth(dpy, screen); -@@ -1643,6 +1650,20 @@ showhide(Client *c) - } - } - -+void -+sighup(int unused) -+{ -+ Arg a = {.i = 1}; -+ quit(&a); -+} -+ -+void -+sigterm(int unused) -+{ -+ Arg a = {.i = 0}; -+ quit(&a); -+} -+ - void - spawn(const Arg *arg) - { -@@ -2158,6 +2179,7 @@ main(int argc, char *argv[]) - #endif /* __OpenBSD__ */ - scan(); - run(); -+ if(restart) execvp(argv[0], argv); - cleanup(); - XCloseDisplay(dpy); - return EXIT_SUCCESS; From 1695d02b441576790b9f43bc698b14d4f86248b2 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 25 Aug 2025 20:43:48 +0100 Subject: [PATCH 2194/2258] Add a template for generating new PHP files https://shapeshed.com/vim-templates --- modules/nixvim/templates/default.nix | 9 +++++++++ modules/nixvim/templates/php | 3 +++ 2 files changed, 12 insertions(+) create mode 100644 modules/nixvim/templates/default.nix create mode 100644 modules/nixvim/templates/php diff --git a/modules/nixvim/templates/default.nix b/modules/nixvim/templates/default.nix new file mode 100644 index 00000000..753b600a --- /dev/null +++ b/modules/nixvim/templates/default.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixvim.custom.autoCmd = [ + { + event = "BufNewFile"; + pattern = [ "*.php" ]; + command = "0r ${./php}"; + } + ]; +} diff --git a/modules/nixvim/templates/php b/modules/nixvim/templates/php new file mode 100644 index 00000000..174d7fd7 --- /dev/null +++ b/modules/nixvim/templates/php @@ -0,0 +1,3 @@ +<?php + +declare(strict_types=1); From ec72053b8cf66d96e7dfcf850070a5b8d4953171 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 26 Aug 2025 07:00:59 +0100 Subject: [PATCH 2195/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/4073ff2f481f9ef3501678ff479ed81402caae6d?narHash=sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc%3D' (2025-08-18) → 'github:nix-community/disko/bafad29f89e83b2d861b493aa23034ea16595560?narHash=sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM%3D' (2025-08-25) • Updated input 'home-manager': 'github:nix-community/home-manager/6911d3e7f475f7b3558b4f5a6aba90fa86099baa?narHash=sha256-QdenO8f0PTg%2BtC6HuSvngKcbRZA5oZKmjUT%2BMXKOLQg%3D' (2025-08-21) → 'github:nix-community/home-manager/9e3a33c0bcbc25619e540b9dfea372282f8a9740?narHash=sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc%3D' (2025-08-24) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3?narHash=sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ%3D' (2025-08-17) → 'github:nix-community/nix-index-database/52dec1cb33a614accb9e01307e17816be974d24d?narHash=sha256-rfTBWuTXi9/X7GhtF562FKNXKh2kvKb6dwI5lV1SjPE%3D' (2025-08-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4?narHash=sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs%2BStOp19xNsbqdOg%3D' (2025-08-19) → 'github:nixos/nixpkgs/3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5?narHash=sha256-XexyKZpf46cMiO5Vbj%2BdWSAXOnr285GHsMch8FBoHbc%3D' (2025-08-25) • Updated input 'nixvim': 'github:nix-community/nixvim/d96069b1e14c7d9b756cc7c1dcf59f04ef35756b?narHash=sha256-2iULLpTIzhRF%2B7ppTlfAfTGqFJknKOPjjUHlm2lqFMs%3D' (2025-08-21) → 'github:nix-community/nixvim/8e3ca3fc1f3ae23dee0e6d35dd4a70ea8ef7164c?narHash=sha256-9QlWBvwDlizUa7YwlBnrmdXvh5pjaVGLG7u1N68VX5k%3D' (2025-08-25) • Updated input 'nur': 'github:nix-community/NUR/350ba4022fa87d6bb8b9eceae4b079bad338d991?narHash=sha256-TQcuek%2BxbqeWLX/twaZzgO%2BVLqHmekx1Ayc3NbKjvW8%3D' (2025-08-22) → 'github:nix-community/NUR/6e20ce5e131fa16eea2784d1c35abebb1439d8fa?narHash=sha256-E3wuUajbl40u18vWisQEE7wpjfMVJGQK/0dsiafoEmY%3D' (2025-08-26) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index b50858e8..57aba30d 100644 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1755519972, - "narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=", + "lastModified": 1756115622, + "narHash": "sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM=", "owner": "nix-community", "repo": "disko", - "rev": "4073ff2f481f9ef3501678ff479ed81402caae6d", + "rev": "bafad29f89e83b2d861b493aa23034ea16595560", "type": "github" }, "original": { @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1755810213, - "narHash": "sha256-QdenO8f0PTg+tC6HuSvngKcbRZA5oZKmjUT+MXKOLQg=", + "lastModified": 1756022458, + "narHash": "sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc=", "owner": "nix-community", "repo": "home-manager", - "rev": "6911d3e7f475f7b3558b4f5a6aba90fa86099baa", + "rev": "9e3a33c0bcbc25619e540b9dfea372282f8a9740", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1755404379, - "narHash": "sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ=", + "lastModified": 1756008611, + "narHash": "sha256-rfTBWuTXi9/X7GhtF562FKNXKh2kvKb6dwI5lV1SjPE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3", + "rev": "52dec1cb33a614accb9e01307e17816be974d24d", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", + "lastModified": 1756125398, + "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1755814403, - "narHash": "sha256-2iULLpTIzhRF+7ppTlfAfTGqFJknKOPjjUHlm2lqFMs=", + "lastModified": 1756148061, + "narHash": "sha256-9QlWBvwDlizUa7YwlBnrmdXvh5pjaVGLG7u1N68VX5k=", "owner": "nix-community", "repo": "nixvim", - "rev": "d96069b1e14c7d9b756cc7c1dcf59f04ef35756b", + "rev": "8e3ca3fc1f3ae23dee0e6d35dd4a70ea8ef7164c", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1755835608, - "narHash": "sha256-TQcuek+xbqeWLX/twaZzgO+VLqHmekx1Ayc3NbKjvW8=", + "lastModified": 1756186884, + "narHash": "sha256-E3wuUajbl40u18vWisQEE7wpjfMVJGQK/0dsiafoEmY=", "owner": "nix-community", "repo": "NUR", - "rev": "350ba4022fa87d6bb8b9eceae4b079bad338d991", + "rev": "6e20ce5e131fa16eea2784d1c35abebb1439d8fa", "type": "github" }, "original": { From d0b4f8cdf5d8d30055ada878cfe070c22825e3dc Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 26 Aug 2025 07:00:00 +0100 Subject: [PATCH 2196/2258] dwmblocks: add the current temperature --- modules/hosts/t480/dwm/dwmblocks/default.nix | 2 ++ modules/hosts/t480/dwm/dwmblocks/weather.nix | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 modules/hosts/t480/dwm/dwmblocks/weather.nix diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index 8adc434f..6257ac2d 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -16,6 +16,8 @@ {"", "status-cpu", 10, 0}, + {"", "status-weather", 600, 0}, + {"", "date '+%a %d %B %Y %H:%M %Z'", 30, 0}, }; diff --git a/modules/hosts/t480/dwm/dwmblocks/weather.nix b/modules/hosts/t480/dwm/dwmblocks/weather.nix new file mode 100644 index 00000000..2002481a --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/weather.nix @@ -0,0 +1,17 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "status-weather"; + + runtimeInputs = with pkgs; [ curl ]; + + text = '' + curl -s https://wttr.in/Caerleon?format=%t + ''; + }) + ]; + }; +} From 6028198c722dec7e98cf1d8f19e79bed03f9a4bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 26 Aug 2025 22:04:04 +0100 Subject: [PATCH 2197/2258] Add redirects --- .../modules/nginx/www.oliverdavies.uk/redirects.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix index 7d546067..56bc82e9 100644 --- a/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix +++ b/hosts/nixedo/modules/nginx/www.oliverdavies.uk/redirects.nix @@ -131,6 +131,10 @@ from = "/ansistrano-slides"; to = "/talks/deploying-php-ansible-ansistrano"; } + { + from = "/archive"; + to = "/blog"; + } { from = "/archive/2022-08-28/how-started-programming"; to = "/daily/2022-08-28/how-started-programming"; @@ -2419,6 +2423,10 @@ from = "/d7"; to = "/drupal7"; } + { + from = "/daily"; + to = "/blog"; + } { from = "/dcbristol-cfp"; to = "https://www.papercall.io/drupalcamp-bristol-2019"; From 40d63d13238a9bfee6ec7c8a86d69fffe78ea4c4 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 28 Aug 2025 09:06:04 +0100 Subject: [PATCH 2198/2258] Revert `git clone` to its original functionality --- modules/zsh/init.nix | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/modules/zsh/init.nix b/modules/zsh/init.nix index 352d9ff3..e147ffad 100644 --- a/modules/zsh/init.nix +++ b/modules/zsh/init.nix @@ -18,22 +18,6 @@ git() { case "$1" in - clone) - shift - - local repo_url="$1" - local repo_path="''${2:-}" - - if [ -n "$TARGET_DIR" ]; then - command git clone "$repo_url" "$repo_path" - else - command git clone "$repo_url" - repo_path=$(basename "$repo_url" .git) - fi - - ${pkgs.tmux-sessionizer}/bin/tmux-sessionizer "$repo_path" - ;; - root) shift From 1f73cdeb60b43fdcd15c8c60dc7550f794c62b52 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 29 Aug 2025 07:00:52 +0100 Subject: [PATCH 2199/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/9e3a33c0bcbc25619e540b9dfea372282f8a9740?narHash=sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc%3D' (2025-08-24) → 'github:nix-community/home-manager/77f348da3176dc68b20a73dab94852a417daf361?narHash=sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k%3D' (2025-08-27) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/3dac8a872557e0ca8c083cdcfc2f218d18e113b0?narHash=sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA%3D' (2025-08-16) → 'github:NixOS/nixos-hardware/a65b650d6981e23edd1afa1f01eb942f19cdcbb7?narHash=sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI%3D' (2025-08-26) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5?narHash=sha256-XexyKZpf46cMiO5Vbj%2BdWSAXOnr285GHsMch8FBoHbc%3D' (2025-08-25) → 'github:nixos/nixpkgs/8a6d5427d99ec71c64f0b93d45778c889005d9c2?narHash=sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM%3D' (2025-08-27) • Updated input 'nixvim': 'github:nix-community/nixvim/8e3ca3fc1f3ae23dee0e6d35dd4a70ea8ef7164c?narHash=sha256-9QlWBvwDlizUa7YwlBnrmdXvh5pjaVGLG7u1N68VX5k%3D' (2025-08-25) → 'github:nix-community/nixvim/b7e96214e8e7244eceae73c606dcd243f6d180a3?narHash=sha256-%2B6cgFdac%2BDN5PAZg3YtRXAEdk%2B%2Br6msy7wfFMNMNsEY%3D' (2025-08-27) • Updated input 'nur': 'github:nix-community/NUR/6e20ce5e131fa16eea2784d1c35abebb1439d8fa?narHash=sha256-E3wuUajbl40u18vWisQEE7wpjfMVJGQK/0dsiafoEmY%3D' (2025-08-26) → 'github:nix-community/NUR/cd2dd40f42140aa120795cfd6d12e6dda2ee3d36?narHash=sha256-n92aVZy5/AkOmo2xg3OueV/SOZY%2BNBaMm78cTrgch1I%3D' (2025-08-29) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 57aba30d..f6c65af1 100644 --- a/flake.lock +++ b/flake.lock @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1756022458, - "narHash": "sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc=", + "lastModified": 1756261190, + "narHash": "sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k=", "owner": "nix-community", "repo": "home-manager", - "rev": "9e3a33c0bcbc25619e540b9dfea372282f8a9740", + "rev": "77f348da3176dc68b20a73dab94852a417daf361", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1755330281, - "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", + "lastModified": 1756245047, + "narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", + "rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756125398, - "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", + "lastModified": 1756266583, + "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", + "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756148061, - "narHash": "sha256-9QlWBvwDlizUa7YwlBnrmdXvh5pjaVGLG7u1N68VX5k=", + "lastModified": 1756305488, + "narHash": "sha256-+6cgFdac+DN5PAZg3YtRXAEdk++r6msy7wfFMNMNsEY=", "owner": "nix-community", "repo": "nixvim", - "rev": "8e3ca3fc1f3ae23dee0e6d35dd4a70ea8ef7164c", + "rev": "b7e96214e8e7244eceae73c606dcd243f6d180a3", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1756186884, - "narHash": "sha256-E3wuUajbl40u18vWisQEE7wpjfMVJGQK/0dsiafoEmY=", + "lastModified": 1756440475, + "narHash": "sha256-n92aVZy5/AkOmo2xg3OueV/SOZY+NBaMm78cTrgch1I=", "owner": "nix-community", "repo": "NUR", - "rev": "6e20ce5e131fa16eea2784d1c35abebb1439d8fa", + "rev": "cd2dd40f42140aa120795cfd6d12e6dda2ee3d36", "type": "github" }, "original": { From 22ed68a46ee7b8920eb9ad84655fb22454c01784 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 30 Aug 2025 22:08:02 +0100 Subject: [PATCH 2200/2258] Configure `makeprg` for PHP, AsciiDoc and Go files --- modules/nixvim/ftplugin/asciidoc.nix | 11 +++++++++++ modules/nixvim/ftplugin/go.nix | 9 +++++++++ modules/nixvim/ftplugin/php.nix | 9 +++++++++ modules/nixvim/make.nix | 14 ++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 modules/nixvim/ftplugin/asciidoc.nix create mode 100644 modules/nixvim/ftplugin/go.nix create mode 100644 modules/nixvim/ftplugin/php.nix create mode 100644 modules/nixvim/make.nix diff --git a/modules/nixvim/ftplugin/asciidoc.nix b/modules/nixvim/ftplugin/asciidoc.nix new file mode 100644 index 00000000..08afc452 --- /dev/null +++ b/modules/nixvim/ftplugin/asciidoc.nix @@ -0,0 +1,11 @@ +{ lib, ... }: + +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraFiles."after/ftplugin/asciidoc.lua".text = '' + vim.opt_local.makeprg = "${lib.getExe pkgs.asciidoctor} %"; + ''; + }; +} diff --git a/modules/nixvim/ftplugin/go.nix b/modules/nixvim/ftplugin/go.nix new file mode 100644 index 00000000..21abe049 --- /dev/null +++ b/modules/nixvim/ftplugin/go.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixvim.custom = { + extraFiles."after/ftplugin/go.lua".text = + # lua + '' + vim.opt.makeprg = "go run %" + ''; + }; +} diff --git a/modules/nixvim/ftplugin/php.nix b/modules/nixvim/ftplugin/php.nix new file mode 100644 index 00000000..e531157e --- /dev/null +++ b/modules/nixvim/ftplugin/php.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixvim.custom = { + extraFiles."after/ftplugin/php.lua".text = + # lua + '' + vim.opt_local.makeprg = "php %"; + ''; + }; +} diff --git a/modules/nixvim/make.nix b/modules/nixvim/make.nix new file mode 100644 index 00000000..1a533b9a --- /dev/null +++ b/modules/nixvim/make.nix @@ -0,0 +1,14 @@ +{ + flake.modules.nixvim.custom = + { pkgs, ... }: + { + extraPackages = with pkgs; [ gnumake ]; + + keymaps = [ + { + action = "<cmd>make<CR>"; + key = "<leader>r"; + } + ]; + }; +} From 37c36112e31bc3c1c1c79a58b991a5bfcaba88bb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 31 Aug 2025 21:41:32 +0100 Subject: [PATCH 2201/2258] Remove PW05CH3L.nix --- home-manager/opdavies/PW05CH3L.nix | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 home-manager/opdavies/PW05CH3L.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix deleted file mode 100644 index 89091cbe..00000000 --- a/home-manager/opdavies/PW05CH3L.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ pkgs, ... }: - -{ - home.packages = with pkgs; [ - count-tags - create-script - get-tags - tag-release - time-until - update-all-git-repos - vic - ]; - - xdg.configFile."pam-gnupg".text = '' - C0D940F9A390F286FCAAE8439D501171E39D0A47 - ''; -} From 43df5bcd083b60d690459c67a70e20076c49265a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 31 Aug 2025 21:47:12 +0100 Subject: [PATCH 2202/2258] Add nixos.base --- modules/home-manager/nixos.nix | 2 +- modules/owner.nix | 2 +- modules/pc.nix | 5 +++++ modules/unfree-packages.nix | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 modules/pc.nix diff --git a/modules/home-manager/nixos.nix b/modules/home-manager/nixos.nix index 98a11d55..f3a55dc4 100644 --- a/modules/home-manager/nixos.nix +++ b/modules/home-manager/nixos.nix @@ -7,7 +7,7 @@ { flake.modules.nixos = { - pc = { + base = { imports = [ inputs.home-manager.nixosModules.home-manager ]; home-manager = { diff --git a/modules/owner.nix b/modules/owner.nix index c024a7eb..5634a0c8 100644 --- a/modules/owner.nix +++ b/modules/owner.nix @@ -9,7 +9,7 @@ }; modules = { - nixos.pc = { + nixos.base = { users.users.${config.flake.meta.owner.username} = { isNormalUser = true; initialPassword = lib.mkForce ""; diff --git a/modules/pc.nix b/modules/pc.nix new file mode 100644 index 00000000..6df7746c --- /dev/null +++ b/modules/pc.nix @@ -0,0 +1,5 @@ +{ config, ... }: + +{ + flake.modules.nixos.pc.imports = with config.flake.modules.nixos; [ base ]; +} diff --git a/modules/unfree-packages.nix b/modules/unfree-packages.nix index 014f6055..40f0f8a2 100644 --- a/modules/unfree-packages.nix +++ b/modules/unfree-packages.nix @@ -12,7 +12,7 @@ predicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfreePackages; in { - nixos.pc.nixpkgs.config.allowUnfreePredicate = predicate; + nixos.base.nixpkgs.config.allowUnfreePredicate = predicate; homeManager.base = args: { nixpkgs.config = lib.mkIf (!(args.hasGlobalPkgs or false)) { From ce005be887a1d3b378119d1163cfbc0158a45be1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 31 Aug 2025 22:05:52 +0100 Subject: [PATCH 2203/2258] Remove old Home Manager hosts --- home-manager/opdavies/lemp11.nix | 1 - home-manager/opdavies/t490.nix | 1 - 2 files changed, 2 deletions(-) delete mode 100644 home-manager/opdavies/lemp11.nix delete mode 100644 home-manager/opdavies/t490.nix diff --git a/home-manager/opdavies/lemp11.nix b/home-manager/opdavies/lemp11.nix deleted file mode 100644 index ffcd4415..00000000 --- a/home-manager/opdavies/lemp11.nix +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/home-manager/opdavies/t490.nix b/home-manager/opdavies/t490.nix deleted file mode 100644 index ffcd4415..00000000 --- a/home-manager/opdavies/t490.nix +++ /dev/null @@ -1 +0,0 @@ -{ } From 8ad59444c71b8003b879d08323ca990369f2893d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 1 Sep 2025 00:47:39 +0100 Subject: [PATCH 2204/2258] Add alternate files for .stories.ts and .tsx files --- modules/nixvim/edit-alternate/config.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/nixvim/edit-alternate/config.nix b/modules/nixvim/edit-alternate/config.nix index 1ffbf867..7adefaa0 100644 --- a/modules/nixvim/edit-alternate/config.nix +++ b/modules/nixvim/edit-alternate/config.nix @@ -36,6 +36,18 @@ end end) + add_rule("ts", function(filename) + return filename:gsub("%.stories.ts$", ".tsx") + end) + + add_rule("tsx", function(filename) + if filename:find("%.stories.tsx$") then + return filename:gsub("%.stories.tsx$", ".tsx") + end + + return filename:gsub("%.tsx$", ".stories.tsx") + end) + if vim.fn.filereadable "composer.json" == 1 then add_rule("json", function(filename) return filename:find "composer.json" and filename:gsub("%.json$", ".lock") or nil From da2484b5cae764d91ecf35cc88df36d29424898a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 2 Sep 2025 00:48:22 +0100 Subject: [PATCH 2205/2258] Update README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 380ac05f..3b8e3c7d 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ # nix-config + +Originally my `dotfiles` repository, this repository contains my NixOS and Home Manager-based configurations for my personal laptop (`t480`) and home server (`nixedo`). From e3da2f4ab6885a37ffd7b5aef939eb0ef971fe2c Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Tue, 2 Sep 2025 07:00:52 +0100 Subject: [PATCH 2206/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/bafad29f89e83b2d861b493aa23034ea16595560?narHash=sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM%3D' (2025-08-25) → 'github:nix-community/disko/a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1?narHash=sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8%3D' (2025-09-01) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18?narHash=sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8%3D' (2025-08-06) → 'github:hercules-ci/flake-parts/4524271976b625a4a605beefd893f270620fd751?narHash=sha256-%2BuWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw%3D' (2025-09-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e?narHash=sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA%3D' (2025-07-27) → 'github:nix-community/nixpkgs.lib/a73b9c743612e4244d865a2fdee11865283c04e6?narHash=sha256-x2rJ%2BOvzq0sCMpgfgGaaqgBSwY%2BLST%2BWbZ6TytnT9Rk%3D' (2025-08-10) • Updated input 'home-manager': 'github:nix-community/home-manager/77f348da3176dc68b20a73dab94852a417daf361?narHash=sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k%3D' (2025-08-27) → 'github:nix-community/home-manager/f3d3b4592a73fb64b5423234c01985ea73976596?narHash=sha256-LOrOfPWpJU/ADWDyVwPv9XNuYPq5KJtmAmSzplpccmE%3D' (2025-09-02) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/52dec1cb33a614accb9e01307e17816be974d24d?narHash=sha256-rfTBWuTXi9/X7GhtF562FKNXKh2kvKb6dwI5lV1SjPE%3D' (2025-08-24) → 'github:nix-community/nix-index-database/3fe768e1f058961095b4a0d7a2ba15dc9736bdc6?narHash=sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h%2BFtvwiPE%3D' (2025-08-31) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/a65b650d6981e23edd1afa1f01eb942f19cdcbb7?narHash=sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI%3D' (2025-08-26) → 'github:NixOS/nixos-hardware/47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a?narHash=sha256-e4ZAu2sjOtGpvbdS5zo%2BVa5FUUkAnizl4wb0/JlIL2I%3D' (2025-09-01) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/8a6d5427d99ec71c64f0b93d45778c889005d9c2?narHash=sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM%3D' (2025-08-27) → 'github:nixos/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa?narHash=sha256-tlOn88coG5fzdyqz6R93SQL5Gpq%2Bm/DsWpekNFhqPQk%3D' (2025-08-30) • Updated input 'nixvim': 'github:nix-community/nixvim/b7e96214e8e7244eceae73c606dcd243f6d180a3?narHash=sha256-%2B6cgFdac%2BDN5PAZg3YtRXAEdk%2B%2Br6msy7wfFMNMNsEY%3D' (2025-08-27) → 'github:nix-community/nixvim/f5026663f68261a201cd0700ced14971945d8dd9?narHash=sha256-767guSN146cmLD1lvjYzU4Bh7Ry3fzXzj%2B6hXEtF7rY%3D' (2025-09-01) • Updated input 'nur': 'github:nix-community/NUR/cd2dd40f42140aa120795cfd6d12e6dda2ee3d36?narHash=sha256-n92aVZy5/AkOmo2xg3OueV/SOZY%2BNBaMm78cTrgch1I%3D' (2025-08-29) → 'github:nix-community/NUR/678bf16a5f1a7e2df5b75d4c62da44bc67921462?narHash=sha256-PSwg6aIlR2%2BACQ%2B1CV76kiXdl/E21fQG6/7xCoOcbCY%3D' (2025-09-02) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index f6c65af1..c312763d 100644 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1756115622, - "narHash": "sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM=", + "lastModified": 1756733629, + "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=", "owner": "nix-community", "repo": "disko", - "rev": "bafad29f89e83b2d861b493aa23034ea16595560", + "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1756261190, - "narHash": "sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k=", + "lastModified": 1756788591, + "narHash": "sha256-LOrOfPWpJU/ADWDyVwPv9XNuYPq5KJtmAmSzplpccmE=", "owner": "nix-community", "repo": "home-manager", - "rev": "77f348da3176dc68b20a73dab94852a417daf361", + "rev": "f3d3b4592a73fb64b5423234c01985ea73976596", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1756008611, - "narHash": "sha256-rfTBWuTXi9/X7GhtF562FKNXKh2kvKb6dwI5lV1SjPE=", + "lastModified": 1756612744, + "narHash": "sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h+FtvwiPE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "52dec1cb33a614accb9e01307e17816be974d24d", + "rev": "3fe768e1f058961095b4a0d7a2ba15dc9736bdc6", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1756245047, - "narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=", + "lastModified": 1756750488, + "narHash": "sha256-e4ZAu2sjOtGpvbdS5zo+Va5FUUkAnizl4wb0/JlIL2I=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7", + "rev": "47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756266583, - "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1753579242, - "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "lastModified": 1754788789, + "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "rev": "a73b9c743612e4244d865a2fdee11865283c04e6", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756305488, - "narHash": "sha256-+6cgFdac+DN5PAZg3YtRXAEdk++r6msy7wfFMNMNsEY=", + "lastModified": 1756727835, + "narHash": "sha256-767guSN146cmLD1lvjYzU4Bh7Ry3fzXzj+6hXEtF7rY=", "owner": "nix-community", "repo": "nixvim", - "rev": "b7e96214e8e7244eceae73c606dcd243f6d180a3", + "rev": "f5026663f68261a201cd0700ced14971945d8dd9", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1756440475, - "narHash": "sha256-n92aVZy5/AkOmo2xg3OueV/SOZY+NBaMm78cTrgch1I=", + "lastModified": 1756791666, + "narHash": "sha256-PSwg6aIlR2+ACQ+1CV76kiXdl/E21fQG6/7xCoOcbCY=", "owner": "nix-community", "repo": "NUR", - "rev": "cd2dd40f42140aa120795cfd6d12e6dda2ee3d36", + "rev": "678bf16a5f1a7e2df5b75d4c62da44bc67921462", "type": "github" }, "original": { From ccac9e3fd5272a1bcde992db29cd20c194268be3 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 2 Sep 2025 00:48:22 +0100 Subject: [PATCH 2207/2258] Update README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 380ac05f..7f398fb1 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ # nix-config + +Originally my `dotfiles` repository, this repository contains my NixOS and Home Manager-based configurations for my personal laptop (`t480`) and home server/homelab (`nixedo`). From ae0a1f82c917ee85c56f918e35b444e9c7035b95 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 2 Sep 2025 23:42:31 +0100 Subject: [PATCH 2208/2258] Add `zet` script --- modules/zet/default.nix | 19 +++++++ modules/zet/script.sh | 115 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 modules/zet/default.nix create mode 100644 modules/zet/script.sh diff --git a/modules/zet/default.nix b/modules/zet/default.nix new file mode 100644 index 00000000..0d525877 --- /dev/null +++ b/modules/zet/default.nix @@ -0,0 +1,19 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "zet"; + + runtimeInputs = with pkgs; [ + bashInteractive + coreutils + fzf + ]; + + text = builtins.readFile ./script.sh; + }) + ]; + }; +} diff --git a/modules/zet/script.sh b/modules/zet/script.sh new file mode 100644 index 00000000..55b1ecd2 --- /dev/null +++ b/modules/zet/script.sh @@ -0,0 +1,115 @@ +EDITOR="${EDITOR:-nvim}" +ZET_DIR="$HOME/Documents/zet" + +mkdir -p "$ZET_DIR" + +delete_zet() { + id="$1" + dir="${ZET_DIR}/${id}" + + if [[ -d "$dir" ]]; then + mv -v "$dir" "/tmp/zet-${id}" + else + echo "Note not found: $id" >&2 + exit 1 + fi +} + +edit_zet() { + file="${ZET_DIR}/${query}/index.adoc" + + if [[ -f "$file" ]]; then + "$EDITOR" "$file" + else + query="$1" + + result="$(search_zets "$query")" + result_count="$(echo "$result" | grep -c '^')" + + if [[ "$result_count" -eq 0 ]]; then + echo "No results found for query: $query" >&2 + exit 1 + elif [[ "$result_count" -eq 1 ]]; then + id="$(echo "$result" | awk '{print $1}')" + else + selected="$(echo "$result" | fzf)" || exit 0 + + id="$(echo "$selected" | awk '{print $1}')" + fi + + edit_zet "$id" + fi +} + +generate_links() { + query="$1" + + related="$(search_zets "$query")" + + echo "$related" | while IFS= read -r line; do + id="${line%% *}" + title="${line#* }" + echo "* link:../${id}/index.adoc[${title}]" + done +} + +main() { + [[ $# -eq 0 ]] && show_titles && exit + + case "${1:-}" in + delete) delete_zet "$2" ;; + edit) edit_zet "$2" ;; + find|search) shift 1; search_zets "$@" ;; + links) generate_links "$2" ;; + new|create) shift 1; new_zet "$@" ;; + source) show_zet "$2" ;; + titles) show_titles ;; + *) search_zets "$1"; + esac +} + +new_zet() { + filename="${ZET_DIR}/$(date "+%Y%m%d%H%M%S")/index.adoc" + mkdir -p "$(dirname "$filename")" + + title="$*" + echo "= $title" > "$filename" + + "$EDITOR" "$filename" +} + +search_zets() { + query="$*" + + grep --files-with-matches --recursive --ignore-case "$query" "$ZET_DIR" | grep '/index\.adoc$' | while read -r filepath; do + dirpath=$(dirname "$filepath") + relpath="${dirpath#"$ZET_DIR/"}" + + echo -n "$relpath " + + head -n 1 "$filepath" | sed 's/^= //' + done +} + +show_titles() { + find "$ZET_DIR" -type f -name 'index.adoc' | while read -r filename; do + id=$(basename "$(dirname "$filename")") + title=$(head -n 1 "$filename" | sed 's/^= //' | sed 's/^# //') + + echo "$id $title" + done | sort +} + +show_zet() { + id="$1" + file="${ZET_DIR}/${id}/index.adoc" + + if [[ -f "$file" ]]; then + cat "$file" && exit 0 + fi + + echo "Note not found: $id" >&2 + exit 1 +} + +main "$@" From 098d9cf8d9691895477d6ab9b51bd8784b2afa32 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 00:57:46 +0100 Subject: [PATCH 2209/2258] Set SSH domain --- hosts/nixedo/modules/forgejo.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 40d4ba07..91a228d6 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -10,6 +10,7 @@ DOMAIN = "code.oliverdavies.uk"; LANDING_PAGE = "explore"; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; + SSH_DOMAIN = "ssh.oliverdavies.uk"; }; service.DISABLE_REGISTRATION = true; From a4b5039da255b135d99caf977b3161ce7f1e7278 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 01:16:44 +0100 Subject: [PATCH 2210/2258] Re-add `t` script --- modules/scripts/t.nix | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 modules/scripts/t.nix diff --git a/modules/scripts/t.nix b/modules/scripts/t.nix new file mode 100644 index 00000000..6ca8aa7b --- /dev/null +++ b/modules/scripts/t.nix @@ -0,0 +1,77 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "t"; + + runtimeInputs = with pkgs; [ fzf ]; + + text = '' + set -euo pipefail + + # Based on https://github.com/jessarcher/dotfiles/blob/master/scripts/t + # and https://github.com/ThePrimeagen/tmux-sessionizer. + + has_session() { + tmux list-sessions | grep -q "^$1:" + } + + hydrate() { + if [ -f "$2/.tmux-sessionizer" ]; then + tmux send-keys -t "$1" "source $2/.tmux-sessionizer" c-M + elif [ -f "$HOME/.tmux-sessionizer" ]; then + tmux send-keys -t "$1" "source $HOME/.tmux-sessionizer" c-M + fi + } + + is_tmux_running() { + tmux_running=$(pgrep tmux) + + if [[ -z ''${TMUX:-} ]] && [[ -z $tmux_running ]]; then + return 1 + fi + + return 0 + } + + switch_to() { + tmux attach-session -t "$1" || tmux switch-client -t "$1" + } + + if [[ $# -eq 1 ]]; then + selected=$1 + else + items=$( + find "$HOME/Code" -maxdepth 3 -mindepth 1 -type d + find "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d + find "$HOME/tmp" -maxdepth 1 -type d + ) + + selected=$(echo "$items" | sed "s|^$HOME/||" | sort | fzf) + [[ $selected ]] && selected="$HOME/$selected" + fi + + if [[ -z $selected ]]; then + exit 0 + fi + + selected_name=$(basename "$selected" | tr . _) + + if ! is_tmux_running; then + tmux new-session -ds "$selected_name" -c "$selected" + hydrate "$selected_name" "$selected" + fi + + if ! has_session "$selected_name"; then + tmux new-session -ds "$selected_name" -c "$selected" + hydrate "$selected_name" "$selected" + fi + + switch_to "$selected_name" + ''; + }) + ]; + }; +} From 665525fb9ef662a7053f9d7d158874f217fb3f0d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 01:16:55 +0100 Subject: [PATCH 2211/2258] Add `clone` script --- modules/scripts/clone.nix | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 modules/scripts/clone.nix diff --git a/modules/scripts/clone.nix b/modules/scripts/clone.nix new file mode 100644 index 00000000..90457570 --- /dev/null +++ b/modules/scripts/clone.nix @@ -0,0 +1,42 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "clone"; + + runtimeInputs = with pkgs; [ git ]; + + text = '' + repo_url="$1" + repo_url="''${repo_url%.git}" + + if [[ "$repo_url" =~ ^(git@|https://|ssh://forgejo@)?([^:/]+)[:/](.*)/(.*)$ ]]; then + domain="''${BASH_REMATCH[2]}" + + if [[ "$domain" == "ssh.oliverdavies.uk" ]]; then + domain="code.oliverdavies.uk" + fi + + user="''${BASH_REMATCH[3]}" + name="''${BASH_REMATCH[4]}" + + user_path="$XDG_REPOS_DIR/$domain/$user" + repo_path="$user_path/$name" + + [[ -d "$repo_path" ]] && t "$repo_path" && exit 0 + + mkdir -pv "$repo_path" + + git clone "$repo_url" "$repo_path" + + t "$repo_path" + else + exit 1 + fi + ''; + }) + ]; + }; +} From 21d9ca8737aebe99dfbe3072f41370361a8a5c07 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 08:10:13 +0100 Subject: [PATCH 2212/2258] Rename t and replace tmux-sessionizer --- modules/hosts/t480/tmux-sessionizer.nix | 15 -------- modules/scripts/clone.nix | 4 +- .../tmux-sessionizer/default.nix | 0 .../{t.nix => tmux-sessionizer/package.nix} | 4 +- modules/tmux-sessionizer/config.nix | 26 ------------- modules/tmux-sessionizer/package.nix | 7 ---- packages/tmux-sessionizer/default.nix | 37 ------------------- packages/tmux-sessionizer/shorten-paths.patch | 23 ------------ 8 files changed, 4 insertions(+), 112 deletions(-) delete mode 100644 modules/hosts/t480/tmux-sessionizer.nix rename modules/{ => scripts}/tmux-sessionizer/default.nix (100%) rename modules/scripts/{t.nix => tmux-sessionizer/package.nix} (95%) delete mode 100644 modules/tmux-sessionizer/config.nix delete mode 100644 modules/tmux-sessionizer/package.nix delete mode 100644 packages/tmux-sessionizer/default.nix delete mode 100644 packages/tmux-sessionizer/shorten-paths.patch diff --git a/modules/hosts/t480/tmux-sessionizer.nix b/modules/hosts/t480/tmux-sessionizer.nix deleted file mode 100644 index 7e3b9589..00000000 --- a/modules/hosts/t480/tmux-sessionizer.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos."nixosConfigurations/t480".home-manager.users.${config.flake.meta.owner.username} = args: { - programs.tmux-sessionizer.searchPaths = - let - inherit (args.config.xdg) userDirs; - in - [ - "${userDirs.extraConfig.XDG_REPOS_DIR}:3" - "${userDirs.documents}:1" - "${args.config.home.homeDirectory}/tmp" - ]; - }; -} diff --git a/modules/scripts/clone.nix b/modules/scripts/clone.nix index 90457570..e254874c 100644 --- a/modules/scripts/clone.nix +++ b/modules/scripts/clone.nix @@ -25,13 +25,13 @@ user_path="$XDG_REPOS_DIR/$domain/$user" repo_path="$user_path/$name" - [[ -d "$repo_path" ]] && t "$repo_path" && exit 0 + [[ -d "$repo_path" ]] && tmux-sessionizer "$repo_path" && exit 0 mkdir -pv "$repo_path" git clone "$repo_url" "$repo_path" - t "$repo_path" + tmux-sessionizer "$repo_path" else exit 1 fi diff --git a/modules/tmux-sessionizer/default.nix b/modules/scripts/tmux-sessionizer/default.nix similarity index 100% rename from modules/tmux-sessionizer/default.nix rename to modules/scripts/tmux-sessionizer/default.nix diff --git a/modules/scripts/t.nix b/modules/scripts/tmux-sessionizer/package.nix similarity index 95% rename from modules/scripts/t.nix rename to modules/scripts/tmux-sessionizer/package.nix index 6ca8aa7b..1c92402b 100644 --- a/modules/scripts/t.nix +++ b/modules/scripts/tmux-sessionizer/package.nix @@ -4,9 +4,9 @@ { home.packages = [ (pkgs.writeShellApplication { - name = "t"; + name = "tmux-sessionizer"; - runtimeInputs = with pkgs; [ fzf ]; + runtimeInputs = with pkgs; [ coreutils fzf tmux ]; text = '' set -euo pipefail diff --git a/modules/tmux-sessionizer/config.nix b/modules/tmux-sessionizer/config.nix deleted file mode 100644 index 83b29d59..00000000 --- a/modules/tmux-sessionizer/config.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ lib, ... }: - -{ - flake.modules.homeManager.base = - { config, ... }: - { - options.programs.tmux-sessionizer = { - searchPaths = lib.mkOption { - default = [ config.home.homeDirectory ]; - type = lib.types.listOf lib.types.str; - description = "List of search paths for tmux-sessionizer to use."; - }; - - # TODO: add TS_EXTRA_SEARCH_PATHS. - # TODO: add TS_MAX_DEPTH. - # TODO: add TS_SESSION_COMMANDS once I figure out what they're for. - }; - - config = { - xdg.configFile."tmux-sessionizer/tmux-sessionizer.conf".text = '' - TS_SEARCH_PATHS=(${builtins.concatStringsSep " " config.programs.tmux-sessionizer.searchPaths}) - TS_SESSION_COMMANDS=(nvim .) - ''; - }; - }; -} diff --git a/modules/tmux-sessionizer/package.nix b/modules/tmux-sessionizer/package.nix deleted file mode 100644 index d87d15d7..00000000 --- a/modules/tmux-sessionizer/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - flake.modules.homeManager.base = - { pkgs, ... }: - { - home.packages = with pkgs; [ tmux-sessionizer ]; - }; -} diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix deleted file mode 100644 index f209ffdd..00000000 --- a/packages/tmux-sessionizer/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -stdenv.mkDerivation { - pname = "tmux-sessionizer"; - version = "unstable-2025-06-19"; - - src = fetchFromGitHub { - owner = "theprimeagen"; - repo = "tmux-sessionizer"; - rev = "7edf8211e36368c29ffc0d2c6d5d2d350b4d729b"; - sha256 = "sha256-4QGlq/cLbed7AZhQ3R1yH+44gmgp9gSzbiQft8X5NwU="; - }; - - buildInputs = [ - bash - fzf - tmux - ]; - - installPhase = '' - mkdir -p $out/bin - cp tmux-sessionizer $out/bin/tmux-sessionizer - chmod +x $out/bin/tmux-sessionizer - ''; - - patches = [ - (fetchpatch { - name = "Sort directories alphabetically #23"; - sha256 = "sha256-AtaOlV2JSeR0BmDsfuv8ZFbu5G0vz4RdUPY4ZF4UqQc="; - url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; - }) - - ./shorten-paths.patch - ]; -} diff --git a/packages/tmux-sessionizer/shorten-paths.patch b/packages/tmux-sessionizer/shorten-paths.patch deleted file mode 100644 index 2283b5fb..00000000 --- a/packages/tmux-sessionizer/shorten-paths.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/tmux-sessionizer b/tmux-sessionizer -index 036d2a3..cd11500 100755 ---- a/tmux-sessionizer -+++ b/tmux-sessionizer -@@ -252,7 +252,7 @@ find_dirs() { - if [[ -d "$path" ]]; then - while IFS= read -r dir; do - dir_list+=("$dir") -- done < <(find "$path" -mindepth 1 -maxdepth "$depth" -path '*/.git' -prune -o -type d -print) -+ done < <(find "$path" -mindepth 1 -maxdepth "$depth" -path '*/.git' -prune -o -type d -print | sed "s#$HOME/##" ) - fi - done - -@@ -341,6 +341,9 @@ fi - - if [[ "$selected" =~ ^\[TMUX\]\ (.+)$ ]]; then - selected="${BASH_REMATCH[1]}" -+else -+ # Re-add the Home directory back to the selected path. -+ selected="$HOME/$selected" - fi - - selected_name=$(basename "$selected" | tr . _) From fcfdc8a580143eaa15632d8e07782cee2edf2c94 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 08:30:15 +0100 Subject: [PATCH 2213/2258] Refactor --- modules/scripts/clone.nix | 79 +++++----- modules/scripts/tmux-sessionizer/package.nix | 150 ++++++++++--------- 2 files changed, 126 insertions(+), 103 deletions(-) diff --git a/modules/scripts/clone.nix b/modules/scripts/clone.nix index e254874c..36d1574d 100644 --- a/modules/scripts/clone.nix +++ b/modules/scripts/clone.nix @@ -1,42 +1,53 @@ +{ withSystem, ... }: + { + perSystem = + psArgs@{ pkgs, ... }: + { + packages.clone = pkgs.writeShellApplication { + name = "clone"; + + runtimeInputs = with pkgs; [ + git + psArgs.config.packages.tmux-sessionizer + ]; + + text = '' + repo_url="$1" + repo_url="''${repo_url%.git}" + + if [[ "$repo_url" =~ ^(git@|https://|ssh://forgejo@)?([^:/]+)[:/](.*)/(.*)$ ]]; then + domain="''${BASH_REMATCH[2]}" + + if [[ "$domain" == "ssh.oliverdavies.uk" ]]; then + domain="code.oliverdavies.uk" + fi + + user="''${BASH_REMATCH[3]}" + name="''${BASH_REMATCH[4]}" + + user_path="$XDG_REPOS_DIR/$domain/$user" + repo_path="$user_path/$name" + + [[ -d "$repo_path" ]] && tmux-sessionizer "$repo_path" && exit 0 + + mkdir -pv "$repo_path" + + git clone "$repo_url" "$repo_path" + + tmux-sessionizer "$repo_path" + else + exit 1 + fi + ''; + }; + }; + flake.modules.homeManager.base = { pkgs, ... }: { home.packages = [ - (pkgs.writeShellApplication { - name = "clone"; - - runtimeInputs = with pkgs; [ git ]; - - text = '' - repo_url="$1" - repo_url="''${repo_url%.git}" - - if [[ "$repo_url" =~ ^(git@|https://|ssh://forgejo@)?([^:/]+)[:/](.*)/(.*)$ ]]; then - domain="''${BASH_REMATCH[2]}" - - if [[ "$domain" == "ssh.oliverdavies.uk" ]]; then - domain="code.oliverdavies.uk" - fi - - user="''${BASH_REMATCH[3]}" - name="''${BASH_REMATCH[4]}" - - user_path="$XDG_REPOS_DIR/$domain/$user" - repo_path="$user_path/$name" - - [[ -d "$repo_path" ]] && tmux-sessionizer "$repo_path" && exit 0 - - mkdir -pv "$repo_path" - - git clone "$repo_url" "$repo_path" - - tmux-sessionizer "$repo_path" - else - exit 1 - fi - ''; - }) + (withSystem pkgs.system (psArgs: psArgs.config.packages.clone)) ]; }; } diff --git a/modules/scripts/tmux-sessionizer/package.nix b/modules/scripts/tmux-sessionizer/package.nix index 1c92402b..7c0cfb9c 100644 --- a/modules/scripts/tmux-sessionizer/package.nix +++ b/modules/scripts/tmux-sessionizer/package.nix @@ -1,77 +1,89 @@ +{ withSystem, ... }: + { + perSystem = + { pkgs, ... }: + { + packages.tmux-sessionizer = pkgs.writeShellApplication { + name = "tmux-sessionizer"; + + runtimeInputs = with pkgs; [ + coreutils + fzf + tmux + ]; + + text = '' + set -euo pipefail + + # Based on https://github.com/jessarcher/dotfiles/blob/master/scripts/t + # and https://github.com/ThePrimeagen/tmux-sessionizer. + + has_session() { + tmux list-sessions | grep -q "^$1:" + } + + hydrate() { + if [ -f "$2/.tmux-sessionizer" ]; then + tmux send-keys -t "$1" "source $2/.tmux-sessionizer" c-M + elif [ -f "$HOME/.tmux-sessionizer" ]; then + tmux send-keys -t "$1" "source $HOME/.tmux-sessionizer" c-M + fi + } + + is_tmux_running() { + tmux_running=$(pgrep tmux) + + if [[ -z ''${TMUX:-} ]] && [[ -z $tmux_running ]]; then + return 1 + fi + + return 0 + } + + switch_to() { + tmux attach-session -t "$1" || tmux switch-client -t "$1" + } + + if [[ $# -eq 1 ]]; then + selected=$1 + else + items=$( + find "$HOME/Code" -maxdepth 3 -mindepth 1 -type d + find "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d + find "$HOME/tmp" -maxdepth 1 -type d + ) + + selected=$(echo "$items" | sed "s|^$HOME/||" | sort | fzf) + [[ $selected ]] && selected="$HOME/$selected" + fi + + if [[ -z $selected ]]; then + exit 0 + fi + + selected_name=$(basename "$selected" | tr . _) + + if ! is_tmux_running; then + tmux new-session -ds "$selected_name" -c "$selected" + hydrate "$selected_name" "$selected" + fi + + if ! has_session "$selected_name"; then + tmux new-session -ds "$selected_name" -c "$selected" + hydrate "$selected_name" "$selected" + fi + + switch_to "$selected_name" + ''; + }; + }; + flake.modules.homeManager.base = { pkgs, ... }: { home.packages = [ - (pkgs.writeShellApplication { - name = "tmux-sessionizer"; - - runtimeInputs = with pkgs; [ coreutils fzf tmux ]; - - text = '' - set -euo pipefail - - # Based on https://github.com/jessarcher/dotfiles/blob/master/scripts/t - # and https://github.com/ThePrimeagen/tmux-sessionizer. - - has_session() { - tmux list-sessions | grep -q "^$1:" - } - - hydrate() { - if [ -f "$2/.tmux-sessionizer" ]; then - tmux send-keys -t "$1" "source $2/.tmux-sessionizer" c-M - elif [ -f "$HOME/.tmux-sessionizer" ]; then - tmux send-keys -t "$1" "source $HOME/.tmux-sessionizer" c-M - fi - } - - is_tmux_running() { - tmux_running=$(pgrep tmux) - - if [[ -z ''${TMUX:-} ]] && [[ -z $tmux_running ]]; then - return 1 - fi - - return 0 - } - - switch_to() { - tmux attach-session -t "$1" || tmux switch-client -t "$1" - } - - if [[ $# -eq 1 ]]; then - selected=$1 - else - items=$( - find "$HOME/Code" -maxdepth 3 -mindepth 1 -type d - find "$HOME/Documents" -maxdepth 1 -mindepth 1 -type d - find "$HOME/tmp" -maxdepth 1 -type d - ) - - selected=$(echo "$items" | sed "s|^$HOME/||" | sort | fzf) - [[ $selected ]] && selected="$HOME/$selected" - fi - - if [[ -z $selected ]]; then - exit 0 - fi - - selected_name=$(basename "$selected" | tr . _) - - if ! is_tmux_running; then - tmux new-session -ds "$selected_name" -c "$selected" - hydrate "$selected_name" "$selected" - fi - - if ! has_session "$selected_name"; then - tmux new-session -ds "$selected_name" -c "$selected" - hydrate "$selected_name" "$selected" - fi - - switch_to "$selected_name" - ''; - }) + (withSystem pkgs.system (psArgs: psArgs.config.packages.tmux-sessionizer)) ]; }; } From a4e207ed747579217be9f0f18669c0f34ca7b5ab Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 08:45:18 +0100 Subject: [PATCH 2214/2258] Fix unbound variable --- modules/zet/script.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/zet/script.sh b/modules/zet/script.sh index 55b1ecd2..3d050de5 100644 --- a/modules/zet/script.sh +++ b/modules/zet/script.sh @@ -16,13 +16,13 @@ delete_zet() { } edit_zet() { + query="$1" + file="${ZET_DIR}/${query}/index.adoc" if [[ -f "$file" ]]; then "$EDITOR" "$file" else - query="$1" - result="$(search_zets "$query")" result_count="$(echo "$result" | grep -c '^')" From 4b27415d2ab50b9c659f4213c8e0f01d3fbe31ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 09:34:48 +0100 Subject: [PATCH 2215/2258] Add `ppp` script --- modules/scripts/ppp.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 modules/scripts/ppp.nix diff --git a/modules/scripts/ppp.nix b/modules/scripts/ppp.nix new file mode 100644 index 00000000..12d4b8b2 --- /dev/null +++ b/modules/scripts/ppp.nix @@ -0,0 +1,26 @@ +{ inputs, withSystem, ... }: + +let + name = "ppp"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.ppp = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = builtins.readFile "${inputs.rwxrob-dot}/scripts/${name}"; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} From e815cdd43437c751b751172197f2a1bae8af9a17 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 11:07:40 +0100 Subject: [PATCH 2216/2258] Add `open-repo-url` script --- modules/scripts/open-repo-url.nix | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 modules/scripts/open-repo-url.nix diff --git a/modules/scripts/open-repo-url.nix b/modules/scripts/open-repo-url.nix new file mode 100644 index 00000000..35e5b5f0 --- /dev/null +++ b/modules/scripts/open-repo-url.nix @@ -0,0 +1,32 @@ +{ withSystem, ... }: + +let + name = "open-repo-url"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ coreutils git ]; + + text = '' + repo_url=$(git remote get-url origin | sed -E 's#(git|forgejo)@([A-Za-z0-9.-]+):#https://\2/#;s#.git$##') + + repo_url="''${repo_url//ssh.oliverdavies.uk/code.oliverdavies.uk}" + + xdg-open "$repo_url" + ''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} From 9d8cacf2e393fcb79f7ff16190e539695c0de9ff Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 17:50:56 +0100 Subject: [PATCH 2217/2258] Sort links --- modules/zet/script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/zet/script.sh b/modules/zet/script.sh index 3d050de5..13d3ae95 100644 --- a/modules/zet/script.sh +++ b/modules/zet/script.sh @@ -50,7 +50,7 @@ generate_links() { id="${line%% *}" title="${line#* }" echo "* link:../${id}/index.adoc[${title}]" - done + done | sort } main() { From c79e19efe51c3a6bef31989bb09add9b6ab1c2ac Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 3 Sep 2025 21:02:06 +0100 Subject: [PATCH 2218/2258] Add `now` and `hnow` scripts Based on ones in https://github.com/rwxrob/dot. --- modules/scripts/hnow.nix | 35 +++++++++++++++++++++++++++++++++++ modules/scripts/now.nix | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 modules/scripts/hnow.nix create mode 100644 modules/scripts/now.nix diff --git a/modules/scripts/hnow.nix b/modules/scripts/hnow.nix new file mode 100644 index 00000000..6f20f3ae --- /dev/null +++ b/modules/scripts/hnow.nix @@ -0,0 +1,35 @@ +{ lib, withSystem, ... }: + +let + name = "hnow"; +in +{ + perSystem = + psArgs@{ pkgs, ... }: + let + now = withSystem pkgs.system (psArgs: psArgs.config.packages.now); + in + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = [ + psArgs.config.packages.now + ]; + + text = '' + # Based on https://github.com/rwxrob/dot/blob/main/scripts/hnow. + + echo "== $(${lib.getExe now})" + ''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} diff --git a/modules/scripts/now.nix b/modules/scripts/now.nix new file mode 100644 index 00000000..6f6b4e4b --- /dev/null +++ b/modules/scripts/now.nix @@ -0,0 +1,32 @@ +{ withSystem, ... }: + +let + name = "now"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = '' + # Based on https://github.com/rwxrob/dot/blob/main/scripts/now. + + out=$(date "+%A, %B %e, %Y, %R %Z") + + echo "''${out// / }" + ''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} From 7e0b65017554ee935282042e86d0281f5b408cc6 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 4 Sep 2025 12:00:00 +0100 Subject: [PATCH 2219/2258] Add `chmox` alias --- modules/zsh/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/zsh/aliases.nix b/modules/zsh/aliases.nix index c0902f26..e89f1515 100644 --- a/modules/zsh/aliases.nix +++ b/modules/zsh/aliases.nix @@ -9,6 +9,7 @@ "..." = "cd ../.."; "...." = "cd ../../.."; "....." = "cd ../../../.."; + chmox = "chmod +x"; run = "./run"; tag = "tag-release"; vss = "LC_ALL=C sort --unique ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.adddotfiles/nvim/spell/en.utf-8.add --output ${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/nixos-config/modules/home-manager/cli/neovim/config/spell/en.utf-8.add"; From 7077dae656b20c945df857c3005ab51bb79953ba Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 4 Sep 2025 12:00:00 +0100 Subject: [PATCH 2220/2258] Refactor --- modules/scripts/ppp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/scripts/ppp.nix b/modules/scripts/ppp.nix index 12d4b8b2..17cba13a 100644 --- a/modules/scripts/ppp.nix +++ b/modules/scripts/ppp.nix @@ -7,7 +7,7 @@ in perSystem = { pkgs, ... }: { - packages.ppp = pkgs.writeShellApplication { + packages.${name} = pkgs.writeShellApplication { inherit name; runtimeInputs = with pkgs; [ coreutils ]; From 1936fadea5784eb31e29fdf891752db03790fe0b Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 4 Sep 2025 18:00:00 +0100 Subject: [PATCH 2221/2258] Change month format --- modules/hosts/t480/dwm/dwmblocks/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index 6257ac2d..67827dd1 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -18,7 +18,7 @@ {"", "status-weather", 600, 0}, - {"", "date '+%a %d %B %Y %H:%M %Z'", 30, 0}, + {"", "date '+%a %d %b %Y %H:%M %Z'", 30, 0}, }; static char delim[] = " | "; From 75ebf874f06904fced4e4d716d93a484533fc9ce Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Thu, 4 Sep 2025 21:02:57 +0100 Subject: [PATCH 2222/2258] Add `build` and `build-adoc` scripts --- modules/scripts/build-adoc.nix | 62 ++++++++++++++++++++++++++++++++++ modules/scripts/build.nix | 16 +++++++++ 2 files changed, 78 insertions(+) create mode 100644 modules/scripts/build-adoc.nix create mode 100644 modules/scripts/build.nix diff --git a/modules/scripts/build-adoc.nix b/modules/scripts/build-adoc.nix new file mode 100644 index 00000000..703adf51 --- /dev/null +++ b/modules/scripts/build-adoc.nix @@ -0,0 +1,62 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "build-adoc"; + + runtimeInputs = with pkgs; [ + asciidoctor-with-extensions + ]; + + excludeShellChecks = [ "SC2034" ]; + + text = '' + ls book + + echo "" + + date=$(date '+%Y-%m-%d %H:%M:%S') + + echo "The current date is $date." + + pwd=$(pwd) + parent=$(basename "$(dirname "$pwd")") + name=$(basename "$pwd") + + echo "The parent directory is $parent." + echo "The current directory is $name." + + echo "" + echo "Generating the HTML..." + asciidoctor \ + -D book \ + -a "date=$date" \ + -o index.html \ + ./book/index.adoc + + echo "" + echo "Generating the EPUB..." + asciidoctor-epub3 \ + -D book \ + -a "date=$date" \ + -o "$parent-$name.epub" \ + ./book/index.adoc + + echo "" + echo "Generating the PDF..." + asciidoctor-pdf \ + -D book \ + -a "date=$date" \ + -o "$parent-$name.pdf" \ + ./book/index.adoc + + echo "" + + ls book + ''; + }) + ]; + }; +} diff --git a/modules/scripts/build.nix b/modules/scripts/build.nix new file mode 100644 index 00000000..c04f4664 --- /dev/null +++ b/modules/scripts/build.nix @@ -0,0 +1,16 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "build"; + + text = '' + test -r book/index.adoc && exec build-adoc "$@" + test -x build && exec ./build "$@" + ''; + }) + ]; + }; +} From 1a1dec2a8921034ceac54c8bbb37db82cfde3b50 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 5 Sep 2025 13:02:28 +0100 Subject: [PATCH 2223/2258] Sort suggestions --- modules/zet/script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/zet/script.sh b/modules/zet/script.sh index 13d3ae95..4fbbd83e 100644 --- a/modules/zet/script.sh +++ b/modules/zet/script.sh @@ -32,7 +32,7 @@ edit_zet() { elif [[ "$result_count" -eq 1 ]]; then id="$(echo "$result" | awk '{print $1}')" else - selected="$(echo "$result" | fzf)" || exit 0 + selected="$(echo "$result" | sort | fzf)" || exit 0 id="$(echo "$selected" | awk '{print $1}')" fi From 017669069eda366c6edc43c6d63c68b0b08c9d15 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 5 Sep 2025 13:46:39 +0100 Subject: [PATCH 2224/2258] Add `gru` abbreviation --- modules/zsh/abbreviations/abbreviations.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/zsh/abbreviations/abbreviations.nix b/modules/zsh/abbreviations/abbreviations.nix index ed1fba0c..95022561 100644 --- a/modules/zsh/abbreviations/abbreviations.nix +++ b/modules/zsh/abbreviations/abbreviations.nix @@ -7,6 +7,7 @@ cl = "clear"; cs = "create-script"; daily = "run create-daily next"; + gru = "git-repo-updater"; rst = "rst2pdf"; st = "source .tmux"; sz = "source ~/.config/zsh/.zshrc"; From f28d64079567878a0fccbf56fc9c4722cea9f1d9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 6 Sep 2025 22:16:40 +0100 Subject: [PATCH 2225/2258] Configure asciidoc files --- modules/nixvim/ftplugin/asciidoc.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/nixvim/ftplugin/asciidoc.nix b/modules/nixvim/ftplugin/asciidoc.nix index 08afc452..b7a9529f 100644 --- a/modules/nixvim/ftplugin/asciidoc.nix +++ b/modules/nixvim/ftplugin/asciidoc.nix @@ -5,7 +5,9 @@ { pkgs, ... }: { extraFiles."after/ftplugin/asciidoc.lua".text = '' - vim.opt_local.makeprg = "${lib.getExe pkgs.asciidoctor} %"; + vim.opt_local.linebreak = true + vim.opt_local.makeprg = "${lib.getExe pkgs.asciidoctor} %" + vim.opt_local.spell = true ''; }; } From 34e129306eb402d4c743d4caa9aaee57de3a9fae Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 6 Sep 2025 22:17:04 +0100 Subject: [PATCH 2226/2258] Commit changes after creating or editing files --- modules/zet/default.nix | 1 + modules/zet/script.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/modules/zet/default.nix b/modules/zet/default.nix index 0d525877..7b2543f4 100644 --- a/modules/zet/default.nix +++ b/modules/zet/default.nix @@ -10,6 +10,7 @@ bashInteractive coreutils fzf + git ]; text = builtins.readFile ./script.sh; diff --git a/modules/zet/script.sh b/modules/zet/script.sh index 4fbbd83e..27ff428c 100644 --- a/modules/zet/script.sh +++ b/modules/zet/script.sh @@ -3,6 +3,28 @@ ZET_DIR="$HOME/Documents/zet" mkdir -p "$ZET_DIR" +commit_changes() { + filename="$1" + commit_message="$2" + + git -C "$ZET_DIR" diff --quiet "$filename" || { + read -rp "Commit?: " commit_choice + + if [[ "$commit_choice" =~ ^[Yy]$ ]]; then + git -C "$ZET_DIR" add "$filename" + + commit_message="${commit_message//$ZET_DIR\//}" + commit_message="${commit_message//\/index.adoc/}" + + git -C "$ZET_DIR" commit -m "$commit_message" + + echo "Changes committed." + else + echo "Changes not committed." + fi + } +} + delete_zet() { id="$1" dir="${ZET_DIR}/${id}" @@ -22,6 +44,8 @@ edit_zet() { if [[ -f "$file" ]]; then "$EDITOR" "$file" + + commit_changes "$file" "Edited $file" else result="$(search_zets "$query")" result_count="$(echo "$result" | grep -c '^')" @@ -76,6 +100,9 @@ new_zet() { echo "= $title" > "$filename" "$EDITOR" "$filename" + + run_git_command add --intent-to-add "$filename" + commit_changes "$filename" "Added $filename" } search_zets() { From f695a1f905497d7fae50f8686311b1402e6661d0 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 6 Sep 2025 22:22:45 +0100 Subject: [PATCH 2227/2258] Add `zet git` to run Git commands within the zet ...directory --- modules/zet/script.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/zet/script.sh b/modules/zet/script.sh index 27ff428c..48721e43 100644 --- a/modules/zet/script.sh +++ b/modules/zet/script.sh @@ -84,6 +84,7 @@ main() { delete) delete_zet "$2" ;; edit) edit_zet "$2" ;; find|search) shift 1; search_zets "$@" ;; + git) shift 1; run_git_command "$@" ;; links) generate_links "$2" ;; new|create) shift 1; new_zet "$@" ;; source) show_zet "$2" ;; @@ -105,6 +106,10 @@ new_zet() { commit_changes "$filename" "Added $filename" } +run_git_command() { + git -C "$ZET_DIR" "$@" +} + search_zets() { query="$*" From 38d389eb9b595d3d8e0959c57f29f2d66bc96517 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 6 Sep 2025 23:35:07 +0100 Subject: [PATCH 2228/2258] Move `zet` script to its own repository --- flake.lock | 19 +++++- flake.nix | 5 ++ modules/zet/default.nix | 28 +++++--- modules/zet/script.sh | 147 ---------------------------------------- 4 files changed, 40 insertions(+), 159 deletions(-) delete mode 100644 modules/zet/script.sh diff --git a/flake.lock b/flake.lock index c312763d..483c77d6 100644 --- a/flake.lock +++ b/flake.lock @@ -476,7 +476,8 @@ "standard-vim": "standard-vim", "vim-heritage": "vim-heritage", "vim-textobj-xmlattr": "vim-textobj-xmlattr", - "voidrice": "voidrice" + "voidrice": "voidrice", + "zet": "zet" } }, "rwxrob-dot": { @@ -603,6 +604,22 @@ "repo": "voidrice", "type": "github" } + }, + "zet": { + "flake": false, + "locked": { + "lastModified": 1757197595, + "narHash": "sha256-4Mo4z7I7W1XOhCJvsDS97zhsNc75iBwUQq4as56rWLs=", + "ref": "refs/heads/main", + "rev": "d4ade4fe6df2ca4c31e4fa897d989da3313e8166", + "revCount": 1, + "type": "git", + "url": "https://code.oliverdavies.uk/opdavies/zet" + }, + "original": { + "type": "git", + "url": "https://code.oliverdavies.uk/opdavies/zet" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0a81b14e..25b1bf65 100644 --- a/flake.nix +++ b/flake.nix @@ -87,6 +87,11 @@ flake = false; url = "github:lukesmithxyz/voidrice"; }; + + zet = { + flake = false; + url = "git+https://code.oliverdavies.uk/opdavies/zet"; + }; }; outputs = diff --git a/modules/zet/default.nix b/modules/zet/default.nix index 7b2543f4..32b0e75e 100644 --- a/modules/zet/default.nix +++ b/modules/zet/default.nix @@ -1,20 +1,26 @@ +{ inputs, ... }: + { flake.modules.homeManager.base = { pkgs, ... }: { - home.packages = [ - (pkgs.writeShellApplication { + home.packages = + let name = "zet"; + in + [ + (pkgs.writeShellApplication { + inherit name; - runtimeInputs = with pkgs; [ - bashInteractive - coreutils - fzf - git - ]; + runtimeInputs = with pkgs; [ + bashInteractive + coreutils + fzf + git + ]; - text = builtins.readFile ./script.sh; - }) - ]; + text = builtins.readFile "${inputs.zet}/${name}"; + }) + ]; }; } diff --git a/modules/zet/script.sh b/modules/zet/script.sh deleted file mode 100644 index 48721e43..00000000 --- a/modules/zet/script.sh +++ /dev/null @@ -1,147 +0,0 @@ -EDITOR="${EDITOR:-nvim}" -ZET_DIR="$HOME/Documents/zet" - -mkdir -p "$ZET_DIR" - -commit_changes() { - filename="$1" - commit_message="$2" - - git -C "$ZET_DIR" diff --quiet "$filename" || { - read -rp "Commit?: " commit_choice - - if [[ "$commit_choice" =~ ^[Yy]$ ]]; then - git -C "$ZET_DIR" add "$filename" - - commit_message="${commit_message//$ZET_DIR\//}" - commit_message="${commit_message//\/index.adoc/}" - - git -C "$ZET_DIR" commit -m "$commit_message" - - echo "Changes committed." - else - echo "Changes not committed." - fi - } -} - -delete_zet() { - id="$1" - dir="${ZET_DIR}/${id}" - - if [[ -d "$dir" ]]; then - mv -v "$dir" "/tmp/zet-${id}" - else - echo "Note not found: $id" >&2 - exit 1 - fi -} - -edit_zet() { - query="$1" - - file="${ZET_DIR}/${query}/index.adoc" - - if [[ -f "$file" ]]; then - "$EDITOR" "$file" - - commit_changes "$file" "Edited $file" - else - result="$(search_zets "$query")" - result_count="$(echo "$result" | grep -c '^')" - - if [[ "$result_count" -eq 0 ]]; then - echo "No results found for query: $query" >&2 - exit 1 - elif [[ "$result_count" -eq 1 ]]; then - id="$(echo "$result" | awk '{print $1}')" - else - selected="$(echo "$result" | sort | fzf)" || exit 0 - - id="$(echo "$selected" | awk '{print $1}')" - fi - - edit_zet "$id" - fi -} - -generate_links() { - query="$1" - - related="$(search_zets "$query")" - - echo "$related" | while IFS= read -r line; do - id="${line%% *}" - title="${line#* }" - echo "* link:../${id}/index.adoc[${title}]" - done | sort -} - -main() { - [[ $# -eq 0 ]] && show_titles && exit - - case "${1:-}" in - delete) delete_zet "$2" ;; - edit) edit_zet "$2" ;; - find|search) shift 1; search_zets "$@" ;; - git) shift 1; run_git_command "$@" ;; - links) generate_links "$2" ;; - new|create) shift 1; new_zet "$@" ;; - source) show_zet "$2" ;; - titles) show_titles ;; - *) search_zets "$1"; - esac -} - -new_zet() { - filename="${ZET_DIR}/$(date "+%Y%m%d%H%M%S")/index.adoc" - mkdir -p "$(dirname "$filename")" - - title="$*" - echo "= $title" > "$filename" - - "$EDITOR" "$filename" - - run_git_command add --intent-to-add "$filename" - commit_changes "$filename" "Added $filename" -} - -run_git_command() { - git -C "$ZET_DIR" "$@" -} - -search_zets() { - query="$*" - - grep --files-with-matches --recursive --ignore-case "$query" "$ZET_DIR" | grep '/index\.adoc$' | while read -r filepath; do - dirpath=$(dirname "$filepath") - relpath="${dirpath#"$ZET_DIR/"}" - - echo -n "$relpath " - - head -n 1 "$filepath" | sed 's/^= //' - done -} - -show_titles() { - find "$ZET_DIR" -type f -name 'index.adoc' | while read -r filename; do - id=$(basename "$(dirname "$filename")") - title=$(head -n 1 "$filename" | sed 's/^= //' | sed 's/^# //') - - echo "$id $title" - done | sort -} - -show_zet() { - id="$1" - file="${ZET_DIR}/${id}/index.adoc" - - if [[ -f "$file" ]]; then - cat "$file" && exit 0 - fi - - echo "Note not found: $id" >&2 - exit 1 -} - -main "$@" From 3283ed7a52deed689d1e40eede55fd891a692786 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 7 Sep 2025 19:16:00 +0100 Subject: [PATCH 2229/2258] Update `zet` script --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 483c77d6..155d3b21 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1757197595, - "narHash": "sha256-4Mo4z7I7W1XOhCJvsDS97zhsNc75iBwUQq4as56rWLs=", + "lastModified": 1757267695, + "narHash": "sha256-JEesb9r1MgDUW13ip6gx9IqfSIxjwBU9Afi+a/VYlKE=", "ref": "refs/heads/main", - "rev": "d4ade4fe6df2ca4c31e4fa897d989da3313e8166", - "revCount": 1, + "rev": "be00f92abf19f94fd2c11b249e84dc39d4cbfc98", + "revCount": 10, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From 7253c69e34a80623691c7eac0340ef57394dc66c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 8 Sep 2025 16:17:20 +0100 Subject: [PATCH 2230/2258] Update `zet` script --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 155d3b21..23a67ac1 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1757267695, - "narHash": "sha256-JEesb9r1MgDUW13ip6gx9IqfSIxjwBU9Afi+a/VYlKE=", + "lastModified": 1757344406, + "narHash": "sha256-QC7AX33L4jJDLrirn9dwisbAAC2SMf2el+pHAz/GtfE=", "ref": "refs/heads/main", - "rev": "be00f92abf19f94fd2c11b249e84dc39d4cbfc98", - "revCount": 10, + "rev": "f46f956d5859a1216b814179113e7c29bcc30858", + "revCount": 13, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From c13a5d5029f02d7bedbb6e7b26a892c691d3ad6d Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 5 Sep 2025 07:00:54 +0100 Subject: [PATCH 2231/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'bop-scripts': 'github:breadonpenguins/scripts/7c6be69294d2dce7c7f295f1f067c1d00eb57b66?narHash=sha256-UlLpsF/O/5WWB%2BfXjzJHeudxY%2B6pDlqq/HTqwiRf%2BYk%3D' (2025-06-11) → 'github:breadonpenguins/scripts/d04bcbe63176e623e1ce8edc4c3840c506a28d96?narHash=sha256-bfAmJ1IY0B6eNbJvoWkUMQ7Ya4ShrIoVSdQrnE/cn40%3D' (2025-09-03) • Updated input 'git-repo-updater': 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=8175f54dddb4a9579a9bea99c7236eebb6d46fc0' (2025-08-05) → 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=63235768261976efe0d9c825e69c44fff8c80e5d' (2025-09-04) • Updated input 'home-manager': 'github:nix-community/home-manager/f3d3b4592a73fb64b5423234c01985ea73976596?narHash=sha256-LOrOfPWpJU/ADWDyVwPv9XNuYPq5KJtmAmSzplpccmE%3D' (2025-09-02) → 'github:nix-community/home-manager/b08f8737776f10920c330657bee8b95834b7a70f?narHash=sha256-4ve/3ah5H/SpL2m3qmZ9GU%2BVinQYp2MN1G7GamimTds%3D' (2025-09-04) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a?narHash=sha256-e4ZAu2sjOtGpvbdS5zo%2BVa5FUUkAnizl4wb0/JlIL2I%3D' (2025-09-01) → 'github:NixOS/nixos-hardware/ba6fab29768007e9f2657014a6e134637100c57d?narHash=sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac%3D' (2025-09-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa?narHash=sha256-tlOn88coG5fzdyqz6R93SQL5Gpq%2Bm/DsWpekNFhqPQk%3D' (2025-08-30) → 'github:nixos/nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1?narHash=sha256-rw/PHa1cqiePdBxhF66V7R%2BWAP8WekQ0mCDG4CFqT8Y%3D' (2025-09-02) • Updated input 'nixvim': 'github:nix-community/nixvim/f5026663f68261a201cd0700ced14971945d8dd9?narHash=sha256-767guSN146cmLD1lvjYzU4Bh7Ry3fzXzj%2B6hXEtF7rY%3D' (2025-09-01) → 'github:nix-community/nixvim/63496f00c681b3e200bd17878a43ec68b7139a66?narHash=sha256-N4PjGA0rittpNZGscKPel%2Bmr/dMcKF73j0yr4rbG3T0%3D' (2025-09-04) • Updated input 'nur': 'github:nix-community/NUR/678bf16a5f1a7e2df5b75d4c62da44bc67921462?narHash=sha256-PSwg6aIlR2%2BACQ%2B1CV76kiXdl/E21fQG6/7xCoOcbCY%3D' (2025-09-02) → 'github:nix-community/NUR/985abf0197c75dd64c24691a7e5e0acf308d7f20?narHash=sha256-Rps0Ga0g/TdY49rR2ZRBsdBYybSzPccEsaI9IvwuE98%3D' (2025-09-05) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 23a67ac1..aa000949 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "bop-scripts": { "flake": false, "locked": { - "lastModified": 1749678215, - "narHash": "sha256-UlLpsF/O/5WWB+fXjzJHeudxY+6pDlqq/HTqwiRf+Yk=", + "lastModified": 1756931648, + "narHash": "sha256-bfAmJ1IY0B6eNbJvoWkUMQ7Ya4ShrIoVSdQrnE/cn40=", "owner": "breadonpenguins", "repo": "scripts", - "rev": "7c6be69294d2dce7c7f295f1f067c1d00eb57b66", + "rev": "d04bcbe63176e623e1ce8edc4c3840c506a28d96", "type": "github" }, "original": { @@ -205,10 +205,10 @@ ] }, "locked": { - "lastModified": 1754354414, - "narHash": "sha256-bOCBp5JCtanO7aINXDJOtwY4qZSPWBxCDf50NpqAKBU=", + "lastModified": 1757018109, + "narHash": "sha256-KfRzBPOOM5cf8mFVeWjV7TGa3p+ul/flxnUdwGW4Sds=", "ref": "refs/heads/main", - "rev": "8175f54dddb4a9579a9bea99c7236eebb6d46fc0", + "rev": "63235768261976efe0d9c825e69c44fff8c80e5d", "revCount": 1, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1756788591, - "narHash": "sha256-LOrOfPWpJU/ADWDyVwPv9XNuYPq5KJtmAmSzplpccmE=", + "lastModified": 1756991914, + "narHash": "sha256-4ve/3ah5H/SpL2m3qmZ9GU+VinQYp2MN1G7GamimTds=", "owner": "nix-community", "repo": "home-manager", - "rev": "f3d3b4592a73fb64b5423234c01985ea73976596", + "rev": "b08f8737776f10920c330657bee8b95834b7a70f", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1756750488, - "narHash": "sha256-e4ZAu2sjOtGpvbdS5zo+Va5FUUkAnizl4wb0/JlIL2I=", + "lastModified": 1756925795, + "narHash": "sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a", + "rev": "ba6fab29768007e9f2657014a6e134637100c57d", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1756787288, + "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756727835, - "narHash": "sha256-767guSN146cmLD1lvjYzU4Bh7Ry3fzXzj+6hXEtF7rY=", + "lastModified": 1756946299, + "narHash": "sha256-N4PjGA0rittpNZGscKPel+mr/dMcKF73j0yr4rbG3T0=", "owner": "nix-community", "repo": "nixvim", - "rev": "f5026663f68261a201cd0700ced14971945d8dd9", + "rev": "63496f00c681b3e200bd17878a43ec68b7139a66", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1756791666, - "narHash": "sha256-PSwg6aIlR2+ACQ+1CV76kiXdl/E21fQG6/7xCoOcbCY=", + "lastModified": 1757050467, + "narHash": "sha256-Rps0Ga0g/TdY49rR2ZRBsdBYybSzPccEsaI9IvwuE98=", "owner": "nix-community", "repo": "NUR", - "rev": "678bf16a5f1a7e2df5b75d4c62da44bc67921462", + "rev": "985abf0197c75dd64c24691a7e5e0acf308d7f20", "type": "github" }, "original": { From 71b26524593d8fe9ec448e65de5801027d41d723 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 8 Sep 2025 21:45:07 +0100 Subject: [PATCH 2232/2258] Add `services.paperless.domain` Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- hosts/nixedo/modules/paperless.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hosts/nixedo/modules/paperless.nix b/hosts/nixedo/modules/paperless.nix index 8735b560..ca58fc15 100644 --- a/hosts/nixedo/modules/paperless.nix +++ b/hosts/nixedo/modules/paperless.nix @@ -43,10 +43,7 @@ in enable = true; dataDir = "/mnt/media/${service}"; - - settings = { - PAPERLESS_URL = "https://${cfg.url}"; - }; + domain = "https://${cfg.url}"; }; nginx.virtualHosts."${cfg.url}" = { From c1845fe3477c4981ca95d2511410a84518021014 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 12 Sep 2025 08:50:28 +0100 Subject: [PATCH 2233/2258] Add `today` and `today2` scripts to print the ...current date Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- modules/scripts/today.nix | 26 ++++++++++++++++++++++++++ modules/scripts/today2.nix | 26 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 modules/scripts/today.nix create mode 100644 modules/scripts/today2.nix diff --git a/modules/scripts/today.nix b/modules/scripts/today.nix new file mode 100644 index 00000000..1abbee1f --- /dev/null +++ b/modules/scripts/today.nix @@ -0,0 +1,26 @@ +{ withSystem, ... }: + +let + name = "today"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = ''date "+%x"''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} diff --git a/modules/scripts/today2.nix b/modules/scripts/today2.nix new file mode 100644 index 00000000..90a76c59 --- /dev/null +++ b/modules/scripts/today2.nix @@ -0,0 +1,26 @@ +{ withSystem, ... }: + +let + name = "today2"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = ''date "+%F"''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} From cb69792f24aac06ce3083d46e081ad9685a2aa29 Mon Sep 17 00:00:00 2001 From: flake-bot <flake-bot@local> Date: Fri, 12 Sep 2025 07:01:09 +0100 Subject: [PATCH 2234/2258] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'bop-scripts': 'github:breadonpenguins/scripts/d04bcbe63176e623e1ce8edc4c3840c506a28d96?narHash=sha256-bfAmJ1IY0B6eNbJvoWkUMQ7Ya4ShrIoVSdQrnE/cn40%3D' (2025-09-03) → 'github:breadonpenguins/scripts/07a2d1434cdf64d985835371c62f87119291f0e0?narHash=sha256-KoT0ZKbc2BlBL6AXWjlchzd9S9pFOyMP23nAgd%2BWl2Q%3D' (2025-09-06) • Updated input 'disko': 'github:nix-community/disko/a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1?narHash=sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8%3D' (2025-09-01) → 'github:nix-community/disko/146f45bee02b8bd88812cfce6ffc0f933788875a?narHash=sha256-7lVWL5bC6xBIMWWDal41LlGAG%2B9u2zUorqo3QCUL4p4%3D' (2025-09-10) • Updated input 'git-repo-updater': 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=63235768261976efe0d9c825e69c44fff8c80e5d' (2025-09-04) → 'git+https://code.oliverdavies.uk/opdavies/git-repo-updater?ref=refs/heads/main&rev=19591ad8e1f3c261e84b487307c8534dd67a3707' (2025-09-05) • Updated input 'home-manager': 'github:nix-community/home-manager/b08f8737776f10920c330657bee8b95834b7a70f?narHash=sha256-4ve/3ah5H/SpL2m3qmZ9GU%2BVinQYp2MN1G7GamimTds%3D' (2025-09-04) → 'github:nix-community/home-manager/9eab59f3e71ea3a725e4817d8dcf0da0824ad19d?narHash=sha256-OrythrqccPKtuVt0mj26rr83Qo3Ljb4ZmwLdPGjzjMU%3D' (2025-09-12) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/3fe768e1f058961095b4a0d7a2ba15dc9736bdc6?narHash=sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h%2BFtvwiPE%3D' (2025-08-31) → 'github:nix-community/nix-index-database/9b144dc3ef6e42b888c4190e02746aab13b0e97f?narHash=sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk%3D' (2025-09-07) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/ba6fab29768007e9f2657014a6e134637100c57d?narHash=sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac%3D' (2025-09-03) → 'github:NixOS/nixos-hardware/11b2a10c7be726321bb854403fdeec391e798bf0?narHash=sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH%2Bq462Sn8lrmWmk%3D' (2025-09-05) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1?narHash=sha256-rw/PHa1cqiePdBxhF66V7R%2BWAP8WekQ0mCDG4CFqT8Y%3D' (2025-09-02) → 'github:nixos/nixpkgs/ab0f3607a6c7486ea22229b92ed2d355f1482ee0?narHash=sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/%2BG0lKfv4kk/5Izdg%3D' (2025-09-10) • Updated input 'nixvim': 'github:nix-community/nixvim/63496f00c681b3e200bd17878a43ec68b7139a66?narHash=sha256-N4PjGA0rittpNZGscKPel%2Bmr/dMcKF73j0yr4rbG3T0%3D' (2025-09-04) → 'github:nix-community/nixvim/43c6f7293eba3fa5ff699e339e55270305e51cab?narHash=sha256-AAg3S94zMF4BtByF2k9/K/tbC0awNHCc50GxCjccUhw%3D' (2025-09-11) • Updated input 'nixvim/nuschtosSearch': 'github:NuschtOS/search/6f3efef888b92e6520f10eae15b86ff537e1d2ea?narHash=sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY%3D' (2025-08-18) → 'github:NuschtOS/search/5feeaeefb571e6ca2700888b944f436f7c05149b?narHash=sha256-8QX7Ab5CcICp7zktL47VQVS%2BQeaU4YDNAjzty7l7TQE%3D' (2025-09-01) • Updated input 'nur': 'github:nix-community/NUR/985abf0197c75dd64c24691a7e5e0acf308d7f20?narHash=sha256-Rps0Ga0g/TdY49rR2ZRBsdBYybSzPccEsaI9IvwuE98%3D' (2025-09-05) → 'github:nix-community/NUR/3cd368e5c9dd1fa8208801239045050b19ed1ed4?narHash=sha256-wrQntrFtrbWfWuCCFWT4N669OFFhs1j81KoGq%2BPrhV0%3D' (2025-09-12) • Updated input 'zet': 'git+https://code.oliverdavies.uk/opdavies/zet?ref=refs/heads/main&rev=f46f956d5859a1216b814179113e7c29bcc30858' (2025-09-08) → 'git+https://code.oliverdavies.uk/opdavies/zet?ref=refs/heads/main&rev=5e2f716c8815c233657b3493463947af3bb24a0d' (2025-09-09) --- flake.lock | 68 +++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index aa000949..bf7c5df3 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "bop-scripts": { "flake": false, "locked": { - "lastModified": 1756931648, - "narHash": "sha256-bfAmJ1IY0B6eNbJvoWkUMQ7Ya4ShrIoVSdQrnE/cn40=", + "lastModified": 1757119020, + "narHash": "sha256-KoT0ZKbc2BlBL6AXWjlchzd9S9pFOyMP23nAgd+Wl2Q=", "owner": "breadonpenguins", "repo": "scripts", - "rev": "d04bcbe63176e623e1ce8edc4c3840c506a28d96", + "rev": "07a2d1434cdf64d985835371c62f87119291f0e0", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1756733629, - "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=", + "lastModified": 1757508292, + "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", "owner": "nix-community", "repo": "disko", - "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1", + "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", "type": "github" }, "original": { @@ -205,10 +205,10 @@ ] }, "locked": { - "lastModified": 1757018109, - "narHash": "sha256-KfRzBPOOM5cf8mFVeWjV7TGa3p+ul/flxnUdwGW4Sds=", + "lastModified": 1757063075, + "narHash": "sha256-DpZgkdZELTZ/F/O+Xgj81E+01S5Zp2JCMa8zruEZe9o=", "ref": "refs/heads/main", - "rev": "63235768261976efe0d9c825e69c44fff8c80e5d", + "rev": "19591ad8e1f3c261e84b487307c8534dd67a3707", "revCount": 1, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1756991914, - "narHash": "sha256-4ve/3ah5H/SpL2m3qmZ9GU+VinQYp2MN1G7GamimTds=", + "lastModified": 1757650187, + "narHash": "sha256-OrythrqccPKtuVt0mj26rr83Qo3Ljb4ZmwLdPGjzjMU=", "owner": "nix-community", "repo": "home-manager", - "rev": "b08f8737776f10920c330657bee8b95834b7a70f", + "rev": "9eab59f3e71ea3a725e4817d8dcf0da0824ad19d", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1756612744, - "narHash": "sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h+FtvwiPE=", + "lastModified": 1757218147, + "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "3fe768e1f058961095b4a0d7a2ba15dc9736bdc6", + "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1756925795, - "narHash": "sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac=", + "lastModified": 1757103352, + "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "ba6fab29768007e9f2657014a6e134637100c57d", + "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756787288, - "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", + "lastModified": 1757487488, + "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", + "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756946299, - "narHash": "sha256-N4PjGA0rittpNZGscKPel+mr/dMcKF73j0yr4rbG3T0=", + "lastModified": 1757619215, + "narHash": "sha256-AAg3S94zMF4BtByF2k9/K/tbC0awNHCc50GxCjccUhw=", "owner": "nix-community", "repo": "nixvim", - "rev": "63496f00c681b3e200bd17878a43ec68b7139a66", + "rev": "43c6f7293eba3fa5ff699e339e55270305e51cab", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1757050467, - "narHash": "sha256-Rps0Ga0g/TdY49rR2ZRBsdBYybSzPccEsaI9IvwuE98=", + "lastModified": 1757651504, + "narHash": "sha256-wrQntrFtrbWfWuCCFWT4N669OFFhs1j81KoGq+PrhV0=", "owner": "nix-community", "repo": "NUR", - "rev": "985abf0197c75dd64c24691a7e5e0acf308d7f20", + "rev": "3cd368e5c9dd1fa8208801239045050b19ed1ed4", "type": "github" }, "original": { @@ -442,11 +442,11 @@ ] }, "locked": { - "lastModified": 1755555503, - "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=", + "lastModified": 1756738487, + "narHash": "sha256-8QX7Ab5CcICp7zktL47VQVS+QeaU4YDNAjzty7l7TQE=", "owner": "NuschtOS", "repo": "search", - "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea", + "rev": "5feeaeefb571e6ca2700888b944f436f7c05149b", "type": "github" }, "original": { @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1757344406, - "narHash": "sha256-QC7AX33L4jJDLrirn9dwisbAAC2SMf2el+pHAz/GtfE=", + "lastModified": 1757376799, + "narHash": "sha256-tSzjbnui4byBAishhKtk9U8WFDhOilUSlibx/dnL7nc=", "ref": "refs/heads/main", - "rev": "f46f956d5859a1216b814179113e7c29bcc30858", - "revCount": 13, + "rev": "5e2f716c8815c233657b3493463947af3bb24a0d", + "revCount": 24, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From 7d72d6095f3a5ece290b4f78067d5934ea33d6e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Fri, 12 Sep 2025 10:09:05 +0100 Subject: [PATCH 2235/2258] Revert "flake.lock: Update" This reverts commit cb69792f24aac06ce3083d46e081ad9685a2aa29. --- flake.lock | 68 +++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index bf7c5df3..aa000949 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "bop-scripts": { "flake": false, "locked": { - "lastModified": 1757119020, - "narHash": "sha256-KoT0ZKbc2BlBL6AXWjlchzd9S9pFOyMP23nAgd+Wl2Q=", + "lastModified": 1756931648, + "narHash": "sha256-bfAmJ1IY0B6eNbJvoWkUMQ7Ya4ShrIoVSdQrnE/cn40=", "owner": "breadonpenguins", "repo": "scripts", - "rev": "07a2d1434cdf64d985835371c62f87119291f0e0", + "rev": "d04bcbe63176e623e1ce8edc4c3840c506a28d96", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1757508292, - "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", + "lastModified": 1756733629, + "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=", "owner": "nix-community", "repo": "disko", - "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", + "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1", "type": "github" }, "original": { @@ -205,10 +205,10 @@ ] }, "locked": { - "lastModified": 1757063075, - "narHash": "sha256-DpZgkdZELTZ/F/O+Xgj81E+01S5Zp2JCMa8zruEZe9o=", + "lastModified": 1757018109, + "narHash": "sha256-KfRzBPOOM5cf8mFVeWjV7TGa3p+ul/flxnUdwGW4Sds=", "ref": "refs/heads/main", - "rev": "19591ad8e1f3c261e84b487307c8534dd67a3707", + "rev": "63235768261976efe0d9c825e69c44fff8c80e5d", "revCount": 1, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1757650187, - "narHash": "sha256-OrythrqccPKtuVt0mj26rr83Qo3Ljb4ZmwLdPGjzjMU=", + "lastModified": 1756991914, + "narHash": "sha256-4ve/3ah5H/SpL2m3qmZ9GU+VinQYp2MN1G7GamimTds=", "owner": "nix-community", "repo": "home-manager", - "rev": "9eab59f3e71ea3a725e4817d8dcf0da0824ad19d", + "rev": "b08f8737776f10920c330657bee8b95834b7a70f", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1757218147, - "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", + "lastModified": 1756612744, + "narHash": "sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h+FtvwiPE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", + "rev": "3fe768e1f058961095b4a0d7a2ba15dc9736bdc6", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757103352, - "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", + "lastModified": 1756925795, + "narHash": "sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", + "rev": "ba6fab29768007e9f2657014a6e134637100c57d", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1757487488, - "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", + "lastModified": 1756787288, + "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", + "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1757619215, - "narHash": "sha256-AAg3S94zMF4BtByF2k9/K/tbC0awNHCc50GxCjccUhw=", + "lastModified": 1756946299, + "narHash": "sha256-N4PjGA0rittpNZGscKPel+mr/dMcKF73j0yr4rbG3T0=", "owner": "nix-community", "repo": "nixvim", - "rev": "43c6f7293eba3fa5ff699e339e55270305e51cab", + "rev": "63496f00c681b3e200bd17878a43ec68b7139a66", "type": "github" }, "original": { @@ -419,11 +419,11 @@ ] }, "locked": { - "lastModified": 1757651504, - "narHash": "sha256-wrQntrFtrbWfWuCCFWT4N669OFFhs1j81KoGq+PrhV0=", + "lastModified": 1757050467, + "narHash": "sha256-Rps0Ga0g/TdY49rR2ZRBsdBYybSzPccEsaI9IvwuE98=", "owner": "nix-community", "repo": "NUR", - "rev": "3cd368e5c9dd1fa8208801239045050b19ed1ed4", + "rev": "985abf0197c75dd64c24691a7e5e0acf308d7f20", "type": "github" }, "original": { @@ -442,11 +442,11 @@ ] }, "locked": { - "lastModified": 1756738487, - "narHash": "sha256-8QX7Ab5CcICp7zktL47VQVS+QeaU4YDNAjzty7l7TQE=", + "lastModified": 1755555503, + "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=", "owner": "NuschtOS", "repo": "search", - "rev": "5feeaeefb571e6ca2700888b944f436f7c05149b", + "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea", "type": "github" }, "original": { @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1757376799, - "narHash": "sha256-tSzjbnui4byBAishhKtk9U8WFDhOilUSlibx/dnL7nc=", + "lastModified": 1757344406, + "narHash": "sha256-QC7AX33L4jJDLrirn9dwisbAAC2SMf2el+pHAz/GtfE=", "ref": "refs/heads/main", - "rev": "5e2f716c8815c233657b3493463947af3bb24a0d", - "revCount": 24, + "rev": "f46f956d5859a1216b814179113e7c29bcc30858", + "revCount": 13, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From ebec70a7dcaf6bd98bdd8544457cd51f10974f92 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 13 Sep 2025 21:55:31 +0100 Subject: [PATCH 2236/2258] Return early if the location is unknown --- modules/hosts/t480/dwm/dwmblocks/weather.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/hosts/t480/dwm/dwmblocks/weather.nix b/modules/hosts/t480/dwm/dwmblocks/weather.nix index 2002481a..84d3aee3 100644 --- a/modules/hosts/t480/dwm/dwmblocks/weather.nix +++ b/modules/hosts/t480/dwm/dwmblocks/weather.nix @@ -9,7 +9,11 @@ runtimeInputs = with pkgs; [ curl ]; text = '' - curl -s https://wttr.in/Caerleon?format=%t + out="$(curl -s https://wttr.in/Caerleon?format=%t)" + + [[ "$out" == *"Unknown location"* ]] && exit 1 + + echo "$out" ''; }) ]; From f5355e7ec67571db142ef280d1dc99c3dfb91a14 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 17 Sep 2025 20:48:31 +0100 Subject: [PATCH 2237/2258] Set ZSH default keymap to vi --- modules/zsh/vi-mode.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 modules/zsh/vi-mode.nix diff --git a/modules/zsh/vi-mode.nix b/modules/zsh/vi-mode.nix new file mode 100644 index 00000000..79e609be --- /dev/null +++ b/modules/zsh/vi-mode.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.base.programs.zsh.defaultKeymap = "viins"; +} From 6b1b1dddb918f9000c1d9c178ea15b4af1e0a2f9 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 17 Sep 2025 21:58:42 +0100 Subject: [PATCH 2238/2258] Update zet script Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index aa000949..216fa59b 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1757344406, - "narHash": "sha256-QC7AX33L4jJDLrirn9dwisbAAC2SMf2el+pHAz/GtfE=", + "lastModified": 1757376799, + "narHash": "sha256-tSzjbnui4byBAishhKtk9U8WFDhOilUSlibx/dnL7nc=", "ref": "refs/heads/main", - "rev": "f46f956d5859a1216b814179113e7c29bcc30858", - "revCount": 13, + "rev": "5e2f716c8815c233657b3493463947af3bb24a0d", + "revCount": 24, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From 0141ca45f0c6d7da7fb160a28ff28707d062360c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Wed, 17 Sep 2025 21:59:33 +0100 Subject: [PATCH 2239/2258] Add `weight` and `add-weight` scripts Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- modules/scripts/add-weight.nix | 34 ++++++++++++++++++++++++++++++++++ modules/scripts/weight.nix | 28 ++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 modules/scripts/add-weight.nix create mode 100644 modules/scripts/weight.nix diff --git a/modules/scripts/add-weight.nix b/modules/scripts/add-weight.nix new file mode 100644 index 00000000..cb884e97 --- /dev/null +++ b/modules/scripts/add-weight.nix @@ -0,0 +1,34 @@ +{ withSystem, ... }: + +let + name = "add-weight"; +in +{ + perSystem = + psArgs@{ pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ + coreutils + psArgs.config.packages.today2 + psArgs.config.packages.weight + ]; + + text = '' + echo "$(today2),$1" >> "$XDG_DOCUMENTS_DIR/wiki/2-areas/health-fitness/weight.csv" + + weight + ''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} diff --git a/modules/scripts/weight.nix b/modules/scripts/weight.nix new file mode 100644 index 00000000..4c63f47c --- /dev/null +++ b/modules/scripts/weight.nix @@ -0,0 +1,28 @@ +{ withSystem, ... }: + +let + name = "weight"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ + coreutils + ]; + + text = ''tail "$XDG_DOCUMENTS_DIR/wiki/2-areas/health-fitness/weight.csv"''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +} From f8d3f690019c09f384baf526c54b016fd61d87ed Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 20 Sep 2025 18:40:32 +0100 Subject: [PATCH 2240/2258] Hide the command-line --- modules/nixvim/options.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nixvim/options.nix b/modules/nixvim/options.nix index a1fdf587..adfacce9 100644 --- a/modules/nixvim/options.nix +++ b/modules/nixvim/options.nix @@ -1,5 +1,6 @@ { flake.modules.nixvim.custom.opts = { + cmdheight = 0; expandtab = true; exrc = true; foldlevel = 1; From 31387f282f2a0ceff40539289ed26e822934978e Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 20 Sep 2025 19:05:50 +0100 Subject: [PATCH 2241/2258] Update tmux status position and colours --- modules/tmux/extra-config.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/tmux/extra-config.nix b/modules/tmux/extra-config.nix index caca2674..3e33af50 100644 --- a/modules/tmux/extra-config.nix +++ b/modules/tmux/extra-config.nix @@ -14,12 +14,11 @@ bind -n C-Up resize-pane -U 5 # Status line customisation + set-option -g status-position top set-option -g status-left "" set-option -g status-right " #{session_name}" set-option -g status-right-length 100 - set-option -g status-style "fg=#7C7D83 bg=default" set-option -g window-status-activity-style none - set-option -g window-status-current-style "fg=#E9E9EA" bind c new-window -c "#{pane_current_path}" From 428453604f87ff76718b08a16057042bad8ee379 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sat, 20 Sep 2025 22:19:02 +0100 Subject: [PATCH 2242/2258] Update zet script --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 216fa59b..4d3fce71 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1757376799, - "narHash": "sha256-tSzjbnui4byBAishhKtk9U8WFDhOilUSlibx/dnL7nc=", + "lastModified": 1758403032, + "narHash": "sha256-Zk/O0e43dTm2HAkLT0J4sS+uw9d/6UKmiPy5RxZxtYY=", "ref": "refs/heads/main", - "rev": "5e2f716c8815c233657b3493463947af3bb24a0d", - "revCount": 24, + "rev": "cc6582933b12db3dd8efde684382eb5e2863b5aa", + "revCount": 27, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From ef33a15eeb80a82b7d6cf4e86ce84bfd2a7fd9f8 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 01:12:54 +0100 Subject: [PATCH 2243/2258] Update zet script --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 4d3fce71..f1614d3c 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1758403032, - "narHash": "sha256-Zk/O0e43dTm2HAkLT0J4sS+uw9d/6UKmiPy5RxZxtYY=", + "lastModified": 1758404808, + "narHash": "sha256-Uau/RlTXmvy3jAhV/n80PPi3XnJ7M3tQbFEwmMH66Yg=", "ref": "refs/heads/main", - "rev": "cc6582933b12db3dd8efde684382eb5e2863b5aa", - "revCount": 27, + "rev": "03e21e4c1af7954cc715a332c9cfc3edac6c6368", + "revCount": 28, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From 9dae5ede605c65e5cc5e886eaeb606acc726a606 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 17:07:40 +0100 Subject: [PATCH 2244/2258] Fix zet script Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- modules/scripts/zet.nix | 37 +++++++++++++++++++++++++++++++++++++ modules/zet/default.nix | 26 -------------------------- 2 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 modules/scripts/zet.nix delete mode 100644 modules/zet/default.nix diff --git a/modules/scripts/zet.nix b/modules/scripts/zet.nix new file mode 100644 index 00000000..4630d2fb --- /dev/null +++ b/modules/scripts/zet.nix @@ -0,0 +1,37 @@ +{ inputs, withSystem, ... }: + +let + name = "zet"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + bashOptions = [ "pipefail" ]; + + runtimeInputs = with pkgs; [ + bashInteractive + coreutils + fzf + git + ]; + + text = builtins.readFile "${inputs.zet}/${name}"; + }; + }; + + flake.modules.homeManager.base = + { config, pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + + home.sessionVariables = { + ZET_DIR = "${config.xdg.userDirs.documents}/zet"; + }; + }; +} diff --git a/modules/zet/default.nix b/modules/zet/default.nix deleted file mode 100644 index 32b0e75e..00000000 --- a/modules/zet/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ inputs, ... }: - -{ - flake.modules.homeManager.base = - { pkgs, ... }: - { - home.packages = - let - name = "zet"; - in - [ - (pkgs.writeShellApplication { - inherit name; - - runtimeInputs = with pkgs; [ - bashInteractive - coreutils - fzf - git - ]; - - text = builtins.readFile "${inputs.zet}/${name}"; - }) - ]; - }; -} From 9ed2ad3390a380cfe47ebf86e87eab6f2c5e33d7 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 20:35:47 +0100 Subject: [PATCH 2245/2258] Allow passing arguments to `now` and `hnow` --- modules/scripts/hnow.nix | 2 +- modules/scripts/now.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/scripts/hnow.nix b/modules/scripts/hnow.nix index 6f20f3ae..58650c03 100644 --- a/modules/scripts/hnow.nix +++ b/modules/scripts/hnow.nix @@ -20,7 +20,7 @@ in text = '' # Based on https://github.com/rwxrob/dot/blob/main/scripts/hnow. - echo "== $(${lib.getExe now})" + echo "== $(${lib.getExe now} "$*")" ''; }; }; diff --git a/modules/scripts/now.nix b/modules/scripts/now.nix index 6f6b4e4b..94ad3d31 100644 --- a/modules/scripts/now.nix +++ b/modules/scripts/now.nix @@ -15,7 +15,7 @@ in text = '' # Based on https://github.com/rwxrob/dot/blob/main/scripts/now. - out=$(date "+%A, %B %e, %Y, %R %Z") + out=$(date "+%A, %B %e, %Y, %R %Z" "-d ''${*:-now}") echo "''${out// / }" ''; From 0495a96ef0d53dbbe053ae9cabee9f5e6261ff70 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 21:56:25 +0100 Subject: [PATCH 2246/2258] Add `todo` script Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- modules/scripts/todo.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 modules/scripts/todo.nix diff --git a/modules/scripts/todo.nix b/modules/scripts/todo.nix new file mode 100644 index 00000000..f7b06640 --- /dev/null +++ b/modules/scripts/todo.nix @@ -0,0 +1,28 @@ +{ withSystem, ... }: + +let + name = "todo"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = ''"$EDITOR" "$TODO_FILE"''; + }; + }; + + flake.modules.homeManager.base = + { config, pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + + home.sessionVariables.TODO_FILE = "${config.xdg.userDirs.documents}/todo.adoc"; + }; +} From 586ed07ff0d986807b4cae3cf6a333207be5808d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 21:57:03 +0100 Subject: [PATCH 2247/2258] Update `zet` script Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index f1614d3c..0a93f42a 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1758404808, - "narHash": "sha256-Uau/RlTXmvy3jAhV/n80PPi3XnJ7M3tQbFEwmMH66Yg=", + "lastModified": 1758481201, + "narHash": "sha256-AOcJ/t+39VfCG9wqjpryrU0rd0cG4cMHTvQA34cxeZk=", "ref": "refs/heads/main", - "rev": "03e21e4c1af7954cc715a332c9cfc3edac6c6368", - "revCount": 28, + "rev": "4e51264c243d25e72d2ce8748fed8bcd2702f499", + "revCount": 32, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From 471bd8ca5442bac39cb74a5c312a8460a6afbd59 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 22:28:20 +0100 Subject: [PATCH 2248/2258] Remove old scripts Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- home-manager/opdavies/t480.nix | 2 -- modules/hosts/t480/notes.nix | 7 ------- modules/notes/base.nix | 7 ------- modules/notes/session-variables.nix | 13 ------------- modules/tmux/extra-config.nix | 1 - packages/default.nix | 3 --- packages/notes/default.nix | 23 ----------------------- packages/todos-add.nix | 21 --------------------- packages/todos-edit.nix | 9 --------- 9 files changed, 86 deletions(-) delete mode 100644 modules/hosts/t480/notes.nix delete mode 100644 modules/notes/base.nix delete mode 100644 modules/notes/session-variables.nix delete mode 100644 packages/notes/default.nix delete mode 100755 packages/todos-add.nix delete mode 100755 packages/todos-edit.nix diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 83423c7e..b4826a3c 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -25,8 +25,6 @@ tag-release time-until timer - todos-add - todos-edit unmounter update-all-git-repos vic diff --git a/modules/hosts/t480/notes.nix b/modules/hosts/t480/notes.nix deleted file mode 100644 index 8fbeaf3d..00000000 --- a/modules/hosts/t480/notes.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - flake.modules.homeManager.base = - { config, ... }: - { - programs.notes.directory = "${config.xdg.userDirs.documents}/wiki/notes"; - }; -} diff --git a/modules/notes/base.nix b/modules/notes/base.nix deleted file mode 100644 index 77120315..00000000 --- a/modules/notes/base.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - flake.modules.homeManager.base = - { pkgs, ... }: - { - home.packages = [ pkgs.notes ]; - }; -} diff --git a/modules/notes/session-variables.nix b/modules/notes/session-variables.nix deleted file mode 100644 index dd88be9f..00000000 --- a/modules/notes/session-variables.nix +++ /dev/null @@ -1,13 +0,0 @@ -{lib,...}: -{ - flake.modules.homeManager.base = - { config, ... }: - { - options.programs.notes.directory = lib.mkOption { - default = "${config.xdg.userDirs.documents}/notes"; - type = lib.types.str; - }; - - config.home.sessionVariables.NOTES_DIRECTORY = config.programs.notes.directory; - }; -} diff --git a/modules/tmux/extra-config.nix b/modules/tmux/extra-config.nix index 3e33af50..870ae500 100644 --- a/modules/tmux/extra-config.nix +++ b/modules/tmux/extra-config.nix @@ -63,7 +63,6 @@ bind-key -r f run-shell "tmux new-window tmux-sessionizer" bind-key -r D new-window -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/Documents/wiki/todo.txt" - bind-key -r N new-window "notes" bind-key -r W split-window -h -c ~/Documents/wiki "nvim '+Telescope find_files'" ''; } diff --git a/packages/default.nix b/packages/default.nix index 8d7bb22d..418c1638 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -23,15 +23,12 @@ in import-to-jellyfin = callPackage ./import-to-jellyfin.nix { }; mounter = callPackage ./mounter.nix { }; move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; - notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; set-background = callPackage ./set-background.nix { }; tag-release = callPackage ./tag-release.nix { }; time-until = callPackage ./time-until.nix { }; timer = callPackage ./timer.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; - todos-add = callPackage ./todos-add.nix { }; - todos-edit = callPackage ./todos-edit.nix { }; unmounter = callPackage ./unmounter.nix { }; update-all-git-repos = callPackage ./update-all-git-repos.nix { }; vic = callPackage ./vic.nix { inherit inputs; }; diff --git a/packages/notes/default.nix b/packages/notes/default.nix deleted file mode 100644 index 0bf50ea4..00000000 --- a/packages/notes/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, ... }: - -with pkgs; - -stdenv.mkDerivation rec { - pname = "notes"; - version = "unstable-2024-12-07"; - - src = fetchFromGitHub { - owner = "nickjj"; - repo = "notes"; - rev = "f4f0aab865c19132484a2c3998cd984bdb3b9514"; - sha256 = "sha256-y5SkS+22tW9wf3gH26NHSnrnJ0rkBWSgKvansP8Hlbg="; - }; - - buildInputs = [ bash ]; - - installPhase = '' - mkdir -p $out/bin - cp notes $out/bin/notes - chmod +x $out/bin/notes - ''; -} diff --git a/packages/todos-add.nix b/packages/todos-add.nix deleted file mode 100755 index 501f3616..00000000 --- a/packages/todos-add.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "todos-add"; - - runtimeInputs = with pkgs; [ coreutils ]; - - text = '' - TODOS_PATH="$HOME/Documents/wiki/todo.txt" - - if [ ''${#} -eq 0 ]; then - if [ -p "/dev/stdin" ]; then - (cat; printf "\n\n") >> "''${TODOS_PATH}" - else - eval "''${TODOS_EDITOR}" "''${TODOS_PATH}" - fi - else - printf "%s\n\n" "''${*}" >> "''${TODOS_PATH}" - fi - ''; -} diff --git a/packages/todos-edit.nix b/packages/todos-edit.nix deleted file mode 100755 index f65913a4..00000000 --- a/packages/todos-edit.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "todos-edit"; - - text = '' - exec "$EDITOR" "$HOME/Documents/wiki/todo.txt" - ''; -} From aeed0327a2a5ce08cf2bb41850558eb04c69dbb1 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 22:30:56 +0100 Subject: [PATCH 2249/2258] Move todo file Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- modules/scripts/todo.nix | 2 +- modules/wiki.nix | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 modules/wiki.nix diff --git a/modules/scripts/todo.nix b/modules/scripts/todo.nix index f7b06640..767a4bbb 100644 --- a/modules/scripts/todo.nix +++ b/modules/scripts/todo.nix @@ -23,6 +23,6 @@ in (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) ]; - home.sessionVariables.TODO_FILE = "${config.xdg.userDirs.documents}/todo.adoc"; + home.sessionVariables.TODO_FILE = "${config.home.sessionVariables.WIKI_DIRECTORY}/todo.adoc"; }; } diff --git a/modules/wiki.nix b/modules/wiki.nix new file mode 100644 index 00000000..b5276c2e --- /dev/null +++ b/modules/wiki.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.base = + { config, ...}: + { + home.sessionVariables.WIKI_DIRECTORY = "${config.xdg.userDirs.documents}/wiki"; + }; +} From 8159826f0ab0ed0b0b42b570829aa173ecb17e1c Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 22:31:38 +0100 Subject: [PATCH 2250/2258] Open the file with the cursor on the third line Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- modules/scripts/todo.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/scripts/todo.nix b/modules/scripts/todo.nix index 767a4bbb..22c4c0c4 100644 --- a/modules/scripts/todo.nix +++ b/modules/scripts/todo.nix @@ -12,7 +12,7 @@ in runtimeInputs = with pkgs; [ coreutils ]; - text = ''"$EDITOR" "$TODO_FILE"''; + text = ''"$EDITOR" +3 "$TODO_FILE"''; }; }; From 61c7306237a469424aab2917be3f773bc3bcb454 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Sun, 21 Sep 2025 23:59:42 +0100 Subject: [PATCH 2251/2258] Re-add status line colours --- modules/tmux/extra-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/tmux/extra-config.nix b/modules/tmux/extra-config.nix index 870ae500..78f0d208 100644 --- a/modules/tmux/extra-config.nix +++ b/modules/tmux/extra-config.nix @@ -18,6 +18,7 @@ set-option -g status-left "" set-option -g status-right " #{session_name}" set-option -g status-right-length 100 + set-option -g status-style "fg=#7C7D83 bg=default" set-option -g window-status-activity-style none bind c new-window -c "#{pane_current_path}" From e7278f90711389f47cb68b2768460dbb3149187a Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 22 Sep 2025 08:11:29 +0100 Subject: [PATCH 2252/2258] Update `zet` script Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 0a93f42a..cbc09edb 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1758481201, - "narHash": "sha256-AOcJ/t+39VfCG9wqjpryrU0rd0cG4cMHTvQA34cxeZk=", + "lastModified": 1758502413, + "narHash": "sha256-7x3SCyHJI0QxarB6yxB8fCs2BTyeNnJo1a1mreCOsZE=", "ref": "refs/heads/main", - "rev": "4e51264c243d25e72d2ce8748fed8bcd2702f499", - "revCount": 32, + "rev": "0db0f766d4cd6dde8834744ae0e64f7f215958c3", + "revCount": 33, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From ef65f85a7806561df8fff8a51a26884d0de5fd2d Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 22 Sep 2025 08:00:00 +0100 Subject: [PATCH 2253/2258] Use $XDG_REPOS_DIR Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- home-manager/opdavies/nixedo/email-filters.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/opdavies/nixedo/email-filters.nix b/home-manager/opdavies/nixedo/email-filters.nix index 4786c6c5..1fe28343 100644 --- a/home-manager/opdavies/nixedo/email-filters.nix +++ b/home-manager/opdavies/nixedo/email-filters.nix @@ -12,7 +12,7 @@ in { options.nixedo.${name} = { configFile = lib.mkOption { - default = "${config.home.homeDirectory}/Code/${name}/config.lua"; + default = "${config.xdg.userDirs.XDG_REPOS_DIR}/${name}/config.lua"; internal = true; }; }; From d204c9981a0b8ec0b437e10c2f9b9300b3dca8ca Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 22 Sep 2025 19:23:55 +0100 Subject: [PATCH 2254/2258] Re-add keymaps to change text to a list --- modules/nixvim/ftplugin/asciidoc.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/nixvim/ftplugin/asciidoc.nix b/modules/nixvim/ftplugin/asciidoc.nix index b7a9529f..33a44bc6 100644 --- a/modules/nixvim/ftplugin/asciidoc.nix +++ b/modules/nixvim/ftplugin/asciidoc.nix @@ -8,6 +8,10 @@ vim.opt_local.linebreak = true vim.opt_local.makeprg = "${lib.getExe pkgs.asciidoctor} %" vim.opt_local.spell = true + + -- Convert lines into a list. + vim.keymap.set("n", "<leader>l", "vip:norm I* <CR>") + vim.keymap.set("v", "<leader>l", ":norm I* <CR>") ''; }; } From c3dc7d71c8f6a42f3a421fd92c0a5f21185a2766 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 22 Sep 2025 19:33:43 +0100 Subject: [PATCH 2255/2258] Add lynx --- modules/lynx.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 modules/lynx.nix diff --git a/modules/lynx.nix b/modules/lynx.nix new file mode 100644 index 00000000..2187eb6c --- /dev/null +++ b/modules/lynx.nix @@ -0,0 +1,9 @@ +{ + flake.modules.nixos.base = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + lynx + ]; + }; +} From adeb41bd5b3b2c4c47fc7982e60a89ec208c63eb Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 22 Sep 2025 19:53:33 +0100 Subject: [PATCH 2256/2258] Fix `XDG_REPOS_DIR` variable Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- home-manager/opdavies/nixedo/email-filters.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/opdavies/nixedo/email-filters.nix b/home-manager/opdavies/nixedo/email-filters.nix index 1fe28343..4cdcb162 100644 --- a/home-manager/opdavies/nixedo/email-filters.nix +++ b/home-manager/opdavies/nixedo/email-filters.nix @@ -12,7 +12,7 @@ in { options.nixedo.${name} = { configFile = lib.mkOption { - default = "${config.xdg.userDirs.XDG_REPOS_DIR}/${name}/config.lua"; + default = "${config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/${name}/config.lua"; internal = true; }; }; From 34878a47c9ed9e592e99a28d95c1d4a13c067105 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Mon, 22 Sep 2025 22:31:01 +0100 Subject: [PATCH 2257/2258] Update `zet` script Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index cbc09edb..ce5e0080 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ "zet": { "flake": false, "locked": { - "lastModified": 1758502413, - "narHash": "sha256-7x3SCyHJI0QxarB6yxB8fCs2BTyeNnJo1a1mreCOsZE=", + "lastModified": 1758576585, + "narHash": "sha256-hWQE45nFaSN8agYMP8xt5kaUMfBXVj5k9zInZNs/xAI=", "ref": "refs/heads/main", - "rev": "0db0f766d4cd6dde8834744ae0e64f7f215958c3", - "revCount": 33, + "rev": "23505f6c31c7cc903e63621b52b5f92eea1facc5", + "revCount": 35, "type": "git", "url": "https://code.oliverdavies.uk/opdavies/zet" }, From 4b871d332eca03dfb774bcb08f99a81605570e04 Mon Sep 17 00:00:00 2001 From: Oliver Davies <oliver@oliverdavies.uk> Date: Tue, 23 Sep 2025 12:31:56 +0100 Subject: [PATCH 2258/2258] Refactor Signed-off-by: Oliver Davies <oliver@oliverdavies.uk> --- packages/create-script.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/create-script.nix b/packages/create-script.nix index 1753e45f..840018fd 100755 --- a/packages/create-script.nix +++ b/packages/create-script.nix @@ -7,9 +7,7 @@ pkgs.writeShellApplication { cat > "$1" << EOF #!/usr/bin/env bash - set -o errexit - set -o nounset - set -o pipefail + set -euo pipefail EOF

ZKT__MdS*qVOPrsp|KvWW$+q zGH-aV@XZMll6m)J>Vwa-dUhELtT?^i~T^5vb@?z}L@bC29Im=46W zO%Ocp;BRv6VD8W75-SeZ+?0^NHZe|9$zPLe(?HJXzZPX4iLe;s&c zRpGQ__x4?7@KmmQvB28XHgi$H8KDdn{=OAP%kM1?J9*0NtMY!4^)?$$O0C}1F3X;k z$?)iS0hi&t1z-PU&fjxev9~Vq#&`LsluaH7Dq9MQ{MTP=h%bLPqf=>x_F{=Lq-%g;{Ycr3e0LCT=jGj_?mop;}4u4s5_yv8x@pPJ!KE6?Gt%DZo9wmJ9ym8zgE_cOV=e{T)FQT(a7KkA~A#QnL8^%g%-mRu&M^waMe z^IB7pTqOl*=4a2}Rrg0ZIr^?Dsy!Oo;&K1=<2ogt9Sm}uUzaF)zv1!jJ2WFyI%%6- zT>FJ9mhAF+5;DSft|jHn^sG4jI8R#SDu=gb?!xMM{~5eGciadpD*l{)Y4%RHvV}Eu zQ`U&9e!eKOW&zWml9R`;%~;IS!>k~~cK*|XpGx++=HfQ<9e-TrpI4?4KSl1@EQcAA z1+8|UCQp9t%cNdzQGBJ%CSh!m*z{&!zok?WXLWGr?PavUrz~V|wV574JRP?a^jFu58lvR`t@#pUUqX|CMI& z|G&KYWa4LS4SB;C#g3oDpZ9m1_peIkWIr`Sb=R{A8iGp3vWGvdSKYiI$mqnA{|sv$ zH2*O%XsFXTN@FUN=v|hTcXQCg1Q0i+eY3 zs4Eg*>XUNh%#RZmkGJ|8wEf%{7#SHkV@>M=`|=dDEQxnnOqrDt4ZIuhBbVE^Ht(nK#kS$Qoh#`pd_JMR>Jl4+GcI=@O- zT;qWxW4=LAajWDX&4qi8d`>h2l~Ss~l6TJWaRz?6+8|o0GrN;nrtizyF1LIBwvH6OyITl4(7-B+bUjYqQV zis$IB6&LNekn-oI%o8RH`ChB1j|xs*dgiL|SZ4mQd2ig`J)N>bw&R@U>;S)x?UF_x zzh_8lmX)94UAng_M6t-*IML(acauka*L1vDb9cV?ELbsV?Y^>>pWEf!O=e3uwefyx zvUu$+7h1OIL7C-iuY;WotzQ{<(qCn+*`b_WTj-P;;h489PxXfX8TLTG&mo07(rsU< zO$=F`o~`-H)z93=+v}B|MSN5W$GIZWaP@W7!PCM%?fEwQ^m7)*znRTkua-ZJ`K0Br zu$D|*L@_jBAb?Y3K z{C#(0|4a9CbvX_0%OzF>#dxrXy*!@3a^bm?bGcKJzb@eBy7)d=^QU`EseM$|!p|w; zfv=X|S{y9XWjHm#E~)yj=F$CCYo&kAc9T|Gcfe!$lRNIGDh@okxWmI{%ZbG6$`T?6 z9y3mOK7W~}xxs`J($Dh#-TTVhsM*c+a?h{iwcY|M8&Ws!m45}# z-2P6eKwdKMPtY?a*Y2{XpH4ou5YZM5h)Dn0m6*n5CUnL^rSQ}5%SkWXRl5t_4TN`m zW@Be){CW8b<9_WuI}V(;IO_E3fRXvVe{M_k)^x=g+?088rBS2LqkOuAp5@8&UY*_^ z3$2#tJJe?IycLKLG08mr`FpLUZ3cV!slBxt+Kx{Ic1JYXt~{x-z{FwQ;l9PD(ux@_ z+)XcTck@5>E8e;NEtiK#m+GB``;zA$7Fl)pOz!fc?a6=a9Ust-ddsa1s^vD@yX`DWG zieDw=`TFNUib1;PjZ6B!|N0&5t5 zY|gtkXZ^!jc}7c(C%?Y_d3gbAFrS&xt~rhKGLw~CPp#jkx!_p$=0t|_t^2q`U=_dR*X4QKQ|?ZE{bl(X zmK0xc$?!Y%E#JPcwAp@eazp(t>i`Dn!nw;Q6?PRk>|UA_Dv`9bQ8JHf;+)Heraida z;+*uPuk!n!%rndkj>j~`CQ7t=vxGh=EzxPgU=Bwj1GXwTK?yHxYop?^9e|?tnZ3!b*=^0;bE8Yj) z;7vUluen{X^6PS?XC?tfqJ4E!zGO-X>MTy4e9pptswrQ@q6f?u=2@;}JY|_v@-O6U z_ulC{7@EH>RnJRFp0M+rEvsck!s|cI3cstQd^;BgY(KN)gS*_ZsgaFbUQ?KvLAS#s z_w-Mhb7L=48t0#9Tj(v_d}`Yd<5OQi*Cb2I+bhla&!FYJ!`ya- ztIFK=X|~qEm$Q-!e(pTKaLsMTRnZI@GBV9Ce_XyGn)GDS@;PN^O*TY0eNDP?eyhiA z%kbQN^XB(DbMtJ!vtXrcwEbM~cExQn6MqFQdU$$q!Hqv0UrcuQoK<58yL-&yob`np z932a^J?dUOnb-c>dzUNgJ|FW1OO>mvW}Io>A#zUOEyFy<+iyKq^hcV@&v<-S!s)iY9sk~EP3}9s zUu4Zr#eOXdW>cF5-rRQ2f{J(BR&_D=&n^Be*edb(RhFhoM{1ne$#?t=)mNuZy}C_- zYpK6V`r04|u6G=_9KOmw4C>^zQjo8CJZt&Z&{?)OoqL2h6JIf|4*d6WiTt4g@!KDl znVbwgeuk}JN&l&SlZV?rc|0~{42yfvd|v+ARI|1dmcPFJ3faaxUG&1+lzg8C`?a2X zG*52~e0gofW}C#B`(pa4p9HnX^jUmgDY*RE;U498vIqWc*|@PxYljwFQEj$W>~9HC zjU?m+8HWeY*XLJl zT60{8Eokj|$(2l}?OpHAD{}SX$za}pYWc@!E8GoYDp}Z6-m%Yl{yL~wx<~B-TZN^l z$Ch|cX1hx_dwAyVF{=()6sG8RXt~7my{Yd7pMEoo-m%hYn&O#t?u(N}W}IFYu!gVT zz_U5Bk^YmJgZ{Tef#RMcNOm}RxX;tyWcRt>i4y(J3_b3Cixd$2yIk5zpudI zq}{UFt`XbL3o6S@KGfGRYvT45JgXbuUN@b0i8I8~*1GSiO7509JCpnNZJE=dzxtT* z!SgZC_wV&k4Y&~&bfk#=^O^@oub%oKkUmdy-NTM4y=%hXm;Fjwc!GDS<*TYPlRTDr z#oO0eHAlYGKVczp-1**|&7yHLY+pHC(kb2|w0PxmZNWp&`~I$KnC6;4qiO9Gso7^! zV>TZ1V_2EGBwEMv)92gkt74zX`LTvZx?MPX+~TPEY)RG7_6t{fcFtXMFS+)frgQIn zJ%;nowB~)7d5_P{F7Mc!HTKu~%FApubj1WatT!IdYEbAgyJvjOxj( zx0Z&oPTj=uPLuhG_&GnrFRL9+d}}?)o{;!*QU(XtJ14uj|F#+wsx$^XEc;adx8!Q6 zyW4q&e^X#KagV&0qg2Yi&)|zpftd zE#AF+uggdK(>u2(6#lrdL|b&;Nx_*S>pYL2zPGr7Y1?rH(Kp8@zteg?p@RSQF@CQJ zhb$@!A~!AgE)tWame{Nj>Stha*8Rz*#=ia6wwg`YYry~dec+6pI{VEm7nB)2>Oal* zqcK7tA$J#y37t+?xh*`?FYU%U^k4?VHD+XD~ zZB0Hc%P+Yk<3^%L;r&^bt*63y*xe+Tvs-F#vh)>R=&vev-_k#Y-#@DC`h=gGWS9TE z!nv@qD`Ee`zN`}}b2i*^e;V+#&AR;i0|AuBdD zZPIE#<|e&V?O1f2pKX@!YN_?Iw*MJ|BhS2*(0aW?xM#gz?aH^Bs@@;m*_9^%(CSDIYUS(nLuX_&j@Sd^(sLc(^*ug~U9vhy|zzfiVn>AoaR z`+omJOT$kyzWlS2F*nYE`>~e4#4Ee4M%H?M?zR=rKdD%%(xo;*z z*=w%@+3sZ?Cll^Ay#H}^#oYPNou|pRtAAS4qPUZRf4Rt0%iQ}V>leQE;N57{{=jJ3 z>m8R{mgK!`uq~dyG-ny+K z@8gXZLQY%T2_!nayA!g7_3zz+N_LCol`W5zMO{wMpJ{x9`OhmywP&~Z?iFw@VVjaa z)q&Ht`0KZoM%5D=BbyQyXs1h_Jn;DQ_tl0cCsnY>e7r0Zz`EafV&nC_7Tc_3CZG7C zv_hp}66g5^D|wa%teR&n@4u8KE2gq8x%s%L;)MPwa~f~oS}EMaQ+E76L)_#tnFY$) z$24^IK2LOv-{r?^e>Ql-a%+E^tE$BpKDcU4b&!_XR6I0Gxo{*cnYNE0Y&+lhT+yjq)n5D;hb>hKq%5q!Po*na7kV*f~ur}m- z^QY&tCPqs>sLh(p^q*l4!^;V^nopZ}5++!suMH0VqwsZQcwudqJHtHxPv4iZUcDhM zdG7tC`JWOVKNIynbJFsJ<;s=@naM{T#4b7}ZecjQ)aK9WbLGr8uG;=^JNVPxa=Ff{ z0}?+Te^~X5>7CX3*gFE5R!oi(va19&gZ%HEFZNR9Ib!hk+VUCP+;eZn)$P@C;Ixpr z8gD7n8mATT`n;2S-lOhDjpNI*oEB%ky{|m0!@K#?{5gh>x98Mm?BJ8WxglcWt%fC! z*(G282x3~UykmLq{=;7vJz!Tz;Y!Xskn`1cm22`9IbNkU#+|RP^(6>Aw}{(Y=rnhM z{I25HUTls!1&6ze7UW4h>Pt|IG(KK@Z~il*FAB|XLvNWKtKyo#CTnEuZXm||Y3Hju zp}hwldj9&G)u1lZ{NwBDuEM^@FFm-mPOalEQCg$iSN3Jqj5~$%|1*TzFx(7%88SnP zTdAk?(b_dLpFIB0us+gz;=%X9nl^k_-tkI#y`D2~uU3HP<7=B86F6R2hrBv_<%`J9 zj*JVe4Y!YJifnV5|GBF(=0Qr*vasj6_f|L`X)iOL^KE5V@+5bLZz~$vpDK5SI#s?8 zS;E>n<3EF_-zFyUd3#?iJMUH1+_ieb#mad0^;;vuB%jYZEy=cKrOmvVZ+#7=6c2n~ zDbiOQ`N~6HUp{Kf+FL6P^fcI(vR|LIqW4wB%B#E6mqw**i3&12F1d30I>%M7w|rme zE~_1KQkN+!an9$^DRT<4LX-S$vnC6>PN;q5YWr79RM}!Bqx{^cG$YrBV*j|WLJxvJ zcfDM$%&8Pm=zlIt@zOm0tS>M9oz2<sf2I zXezF~G~3HBbNSNBsi`ZMc-(nBtL0zGx5sP4lMnuzdQvTyMKP;$rKiOT$zJ7>mb9Y| z=NL{dtv|JD|H3u5C7#vvXRUePc$DW(t=8;qj%#k~DbEYan*E?FET<<#@@U$PV-uF& z??1K3u&1b~x>n1{@JClB3tz>z6**hF-pd*G)lC%)$*U3!t4@)r)m&5j)+5!ZA)&8% z{eOnI8K(~PF7F9lc0jt{@2m9NgA(5taP{tx;hS6hK2ThlS#q@w;{%zi<=p*+mlmGj zxEI70wfdx4@jS=JB3>59mG_2Et+H3PW&d%p@J9Wt@O{O5^ z+83W0SiXstGu^g0=Kt7>&qFI~(Fv}fb6@3~GtXbE$(Zt?s_|XcX5ZVNml}O2`(!;i zG@|$TJXR0(8Ie1GF9?WcZ#!_-xI(wlqqo8F7{AT03rs01&&QN3E(=MY(|^1x&zb4p zTvkIPyR@ACn3CmZoLw5Pe7rK>@5-i{YolR9D=NOm0 zaf);n+JA0wnjeRC8=uFU>YyhH4~vf#&zlO`64`26Gjqh@z5NIm)cuC3(A$`f&^MxkE_qyQp|TW=;q0s4;Au{z0Pib<|D)|DHD7kEa}Fv>Z)Kj zhUY!O&$v0(?DjuZ*!OquE1^>b%wh+hd|5fUO?Te?bF-@7{e7PEsJo+c2}@h+Rexq9z%SA}>1jX1$G$rO3>9uUDZ1{BbNaqKdwC`AT%k|u z;djX=U-~_8iOy7J*&bDPhw16I@3)pUg*15!_sy=F)vZ9)CB3q*uRXD$CsKO zdvticOyiaGolAAjPJ6;&ua&`fCPF5)GUuyps|n+N79$y%5S^O=r_41T%X|6E$;-1A z^lU$=Wybp4Zsz;Y0>P;V_(F_|uRIo&k10>SGVjZ$1M)N4jF=% z=wJDu%d(+$gU2mCcl*Cp2|e2Ndnei2OKn?!RwVyfXZoxlAvJsbO1H+0xu@ zVfP(t66)t^9r)DGB2c;NaDmNbmab>Ai&-X5Jh*I)_io-vwd^q=Z3djF66%*`9hS8! zw?F!y;nji^N0DtGk1tT4Q+>f`IhW!5r+%qP;WB9xk6C?@31F#6aJM-5_|9d{bLDwy zFaP=aEoi;x&hS`7!19Uk#Kx~*O=Av(h7@=tNxJ)#{>h46THHU|Hlx&fYH_RjTDhQ| z_kNs^34X@d8o48`w%5jwJMH3p7&Mc=talC9q*3WuC(Nwq`lpG$=%6) z?n-lRch^4d35lq5(%KOo^EKx2Yu`$lO?)$7x%*d5oRr5n)w#%0VtKoETiQvxt!!7= zzt?U)zgF{S<2l2ZcLH2bp4l<6&1{2hb+LcAvd-T9g0ohH2o$l^`Y*NJE<4+>`3m#x zD;Jb5BVYd9Nyg#WDbNCuUO{Q+=GpKq}A2nCberCjk#}leUwlE(&pu>55q0Obv zc=e~}mpc5Ov6+oQ_yF@9F80`)&z2pC{Jih`%44qDar?~mS?WY*J%6fmr>TM=<>I6Q z&V%2Vr?I{_GcP#Daem?P=MIw;7BqzZe!g*)>Y1FFzegp$p37V?RsD>;dHh;!Ua7?G zJ!X8hS%(-_m<#sjU7fi1+$Hu?#b>=X83g!CF3A>lEvUG=qj=s`MLv&PcK+8*1Jy&% z$L{@Lx!PMpSy|mCY4ap2WyM!V{m(F-^_DiAqR(h~)=AvP{Q9hroE15VyRY$zJn@j} z)w}SC*zGOzW~AEwJsOs9VCs2^*RQ`WSQqHL;RzqR{9HH7b9^2zTon&U zhs``-9r7SRt@ZO9AwG^JLKClia+kaJRoLz5aRm)__3M{r9FcZQWwCp(^VbEXL-tcv z^-lYKR>Ly)#=-AjR~@g~wDDxdzu4pZYBMa4+fTI(#e#(=j!tJrhS0|TX1GsS!U zEZ)A>HicmtPr13w#{=J1?dXo)7sx+ zaQ9OSg?w)CFjndE0sd~5DW54ixYc{~4VKC2WpkY~SBueI`X5yyke z(Yhzp=e5mHDyT?UGFjmy`&uQRb?hG|AC#LKD9y7<;^$n;e{F4(PxCB!(*HbU4exZ> zeYK4nL_Xd&IhIsz#BkHz+@@>AniRRTBHP_T>>M{oA$J~94{~2s9*-U%p zo_c`2@$0IE|6=X#D5mA+ztfS3}EPr-k#ZDG--9u$-xkV*}U92UU|D_)2o- z2i}_T!mHswgXZ^_4!YZ)OZye}ePvmAWrGA)6>}7$N=t+JoDIKsyga|w@bob=1vV$Q z^4bghRZh-1)`c5BEov)CR%hou_dfAL0CRU`v6Y?I`owd-rsl23jC-EXYSVmNo_ab@ z=0P9FuS;xGj5(E+)wOQE^`F71JkeRa*K5P;-SbaPKc~*SXN9`GSLROLT}tH%1%~J9 zwsK5f7e4XtyDJS_1!Hzp`W$jQnPmCr<*MhBJaWMhULpev)ie@da1fvq5L#w56d@NQ#$3J=}g>he&#@r@Rdsoj2I3UU*VY( zl6R14fdkXWI z$CmGGS1#e>e4HP}6{Kvi*jglK)%yBtvpNi~_doRui~aM2!QQI7TEO_=KmC`EPP=7~ z*`7INl~U;E%DXc}e)2p&U&SE53wJ9|EWPLbE_l0*fCi)Jj2-3H6G~+@4R*I#urI4$ zYq9e2z1drK==OzguL)qDv94_5oVt*Y8|E1Zuixr=WL0Y5Hp655F_+CaBi<*4wwZlf zFwJ*6ds*$azWZL;KFX@1%;pO%mfA%;nA^2)&t)Z5zekMf9~VrDpTMX*&p+|j^sINM zn%b}QKlNdMazk8|uUu|f+tkeyJe612Tw*+=@_NU%3Wfg+Ud|ly#VTdzqnO(ca9LQY zd|fin?S^-eRjuZf3B5CAjB4LK-lnNsmh_h)_(r{z@9oDS>Q7ZlzJ6bNByitFMdcmG zzb;s~FhW@2R`8wA9*f+09(wC<&&t~4@h^DJyOY5l<$8yE*0f8?ZoG4O=ZxifW!nnh z`WTyC6Ue>8&e(20*T3P6`G=KPm`}O#r{F3_Q(~USbiq7!`mpa;KY-J;u}|_0|eHpT|Z~o^Dk{#s=Ks| zTvft@3ul)0U5Mc0keOxKkj%qc!^A2qY{R?QmWdBs<_9L#y= zy6^SqI$Y2wc#voRT8(oafjjyZFVi}1SybR=U>MlS{wM1Kufi7Z$)C&Fw@M~O7qHCR zArsOfP}{EWDpufHxgu2~kI5)#K?>$y_?Y_GH0F`WXD{@Hem7DnjKnX$zB)ZF9BYR0cL zJ3Abbw+Kng8hUP-ax0>Bnd-GS=e6Iasg|=U2-xn;im_wX*S>B0_k}{%+$CoIvYaOC zn?E&pW+hE-3vl08E$`^DdauYN^K#jv+6}uqSVK}j_sCr_j5w#lFmKM~>x?l*4|hv- znX2%c?tJHK-E}xP>4^73>2l^<4P8e!9De$IR?k$ugU9@Rv4wM{6?U?~Z_kL;o4}SOw+I zX?pkZVby~od#(g^2_28G_SYsbZIXSQUH+@;!VO_@qv!0uQi2)oEetX^b9{MDNNUqQ z#)GndU6qX{nayc@dDP>Qnzpj%3F&?b*^R!Qi$C*Z)Ro#B9Is#NAmceDc$&5Zqh+1J*#mKhUk7fhS(D6c`?q$b!BaJB z&x7p!!2wOHKgrd)Ws2MyAf;`&terr*bT zo)XJ89Ijc;ENNQEbmU&t&Q6IFR+HSUu2|f9cv;asKB_m3!A!t=-p^y2H&jKp=YCtp zvM9R9(4A#`17L`p}-_%Xy zlGXD<SxS0TSk$e61)Gscqd)heEgA? zz-qbU{j575^i7%3+Q2;ZKSTDqtVxU#@4K_+EcdEwXyU}=TXTdQ)nzjmoB5sT@eB|V zZ0^c7yJKh0VAz#hIr;IM2U`Cb1l1?L?{Z5rdu!bxq4NFv!p;o^la4jAnLU~F{rpl_ zWue)O2jd-sc2(vuO{h38ax^LY=|S1^Ta}`v{)p=MxmlV#3p%=ZN>6EQyX3D6k#3&P zZ?DU;X?;-K?|0Rc?@XneBxBh+>p3BcA_4)Eo-a7h{?g;q0-4@_cYWQIg%o(ac>e53 z7Ik>%vHqFijq)cCeoN&P)&0&qt@WYs)+9H@ZSHN;C4=0=KiX{(61NslO#Cc(=lgPVjuZa4BnYiT})Q{ykN7CeO7t8Qd{T2~a%8_mpS17oRO}=)^gz9yiWE zwq)n@l2&C)E;qjF5MxoJe{T}>_-cKba>_pM&{-l-#rL0~SO1)F1Jm=5BA1pIosh8J zuEPIN?%DM34JxO~*=z()n8qCF|9@r0#~CvNXS00XZF#_Co!K^(+?VsGwo5L~$yzIu z+}S*q8Ylx5|01MCCsAnjE{3t z%3l7sGLbWNn#Gg+$?7T}yGjae3}up2We?0n4KBYakWM(AOWeQ8$7 zPnTLA;483x{3kQcs9Sn*s{ZiL(Z;y*TnG546u@8u2r_r5RNuJATSztDp{ z!ChhE39Yp~e4by93VA5E`998mAHXPKb5YKzt$*_Ep5X7|ygS5fPrh~Fo2J_57H4K= z*dL`F-4r`@Ux2;+p~d}0ZmY#4p0ECtCA`C?af6KDmbKQ?lMY4-)|DizDKM)39sGp% z)8aqt=0Bg6cz{(+Wlc?!{hrLz3fx=UXPiA(m9+Fk8E0By%S5yF0SD5SWL%ftIO*^T zo2wObyXQRTJSn;K-s+jL8)6>1XREhzeidJG;}d2}%jds>HcWA{*}}J? zE=}g^_Z6Sk_FHoE$Y?(Pym*H5jswc;qk^J5q{QU4zrX*&HgnG0yPZcpo^BUf!urN~ z*2Fs#9r;uy)+O!WzQN@zG-FCh%E_Dp)O?%fR11(AQ|4OV>N*nsYmz z+xD8sSZbKFK5cx(>icxlku}T9q9=Mz+GMg};*Opod#|NRl2WZ{osT6W`3mj?ZMgGi z-J$CArABVj6DIg{l?(RqUs`JsDRWLRFn&(Ce5+wZ!?A;nNp2PKRUCzLCKO+`U6m{+ zQC)mijj?#k{ORj5Bsn4(jq;9JCa_0^Wqe3GXdkuV6z3_eckhm0TAV8R^NPg_$4A|b zQt#O(9`0Ew^Vwg?<<^=-c9yoc@69?XaP#3oF#JT=>~>l#n&dRcUXJ7x&L{jmjmCu2wj|MgbR>!i@^+ZL2O{@!^c@U}@goH*X5dx!5lA z-+NacS9!YAZmVa5(r$fu!=BWQ9-IE2G~00ZdpRF3dja38v;B{_?*zN7anMcHjJ{3IBe&*_VlbIBVUg zG$~@$^Tx^VJvQfA-2Pl5y+b~#TY7r3xxzP5h1kQ-;^zLkl*3tbo&AZ$KewjTpYt3) zO>F&jnOo1m(&TCYBg=E!&7Pa4baVX<$iF@HP1WR}>ESHRn`IspPkuRT{lsULg$5^O zJx<6+)jd;Xo_L;R{oP-ee9Gli7?|!>Kbjip`P0wPryx*J`B?0x==CDkN<$O&TbKUK znk<=_7C7UM4CBPF%R1Q(ohbS@W103E2jhPqcD%e(|Mlg@6A#bF_82(6vVBp+ly7{R zd&|4~2bkB@YJQv+{zUY6a;QTob2k6oIqTPYKRfk`YwDf5zb1cOb6YCql+6~G#1kiN z&zpR3$qTLf-1jxa?ow@Gv!6y32fOKq%ED*v4QG{Md60Z+-or5qNHpC_JQ>ei#;zlYDN=d*{Lj6j#8 zZNKG01)a?%UCAmBzAfz9aKJUraN@Pqn*}U>W*+>o&_C`AqsgQVDV-vTyB;l7FV0Kc z*zx$o*HtZ(Kdt9|@0UKIapK&0f3qqZwyanG!2Hf|{;7E?798!%Rpf(1TKWuodj2!a z3ErMx%G>exXb{t-)jVsw_$@7M&tIFGl6oh4d4bl%yBn9N81P<^%W}KBCGSb{Qr2bB zMnb>YRohQD_g|YYz0UI3*MA=msIB-WA;Tlwx8v94o&&4RjOXus>$!2-ce`>6F3Sfc zzb=QlmGVody2oklI&&|Q{d-Tv9e(b&exD;67JQM&k@DQ2XBlzG%IxuW-8;=MGW#MI z-IYq*ajfcZ*3Kzf{Zk%%oc!9)*x)4h=aT0Om$4o=!85z-*UyxrP1|wzbkNcPW`j!Ku+rMxcxEZ%eS02 zIBntt0v_hjEbrYV~%GX&a9a;=NGeY&!Tn7(hio7uPtpXoaW%c99Vg1oAJDxE0;`5<0#-fX5`A? zDcy8Cx7mw7Ecn2;<(^X|1KX0=YF91S^7A`aJk{c?*QQ)I_2=sEeg}JOiA?>AJqee#3Fxso*UeaFYJ3_w7J(|buzTM)a?9a1GvzgY}rCQ3i$NUZ|x;OKS?5cv8+|rnT z7Rz#c#CyNDE0i2pYFBd3)N->_o*3j7;Wl?$AN!9>4H8Wr_beWKKB{%>cFjq@qqZL> zd(T)GsMKpdEphj{dZ~gw(>V82d)}S5@3pYrlB9M}v5(L4_+FcZ(iJjuitkM~bpDsB zT=>&p;rX?tf(9;$8tOLdEdRW)UOXj7yGO9esBX)F{d)rzKXs^lmle}6;hlt`=ET0b zz*|e1GR;;o6j**;E@yCx>q)ZmO4*~4bD4?x*)rA!M*kv1r@WZ=H;UiSzqD3G&F#ix6XAtRr2;p2)OsbMNBSSEh=zx?ZJ(~%uq3pbxsn-wblG-mFR z2@EeiH$^cVwr#LA_7h5(6jEfNzLaa?giV&#?Cd-LtaLhboVD*xiPA)cn+ygva+PoW zgv@1UU%$6FByVH?lrOfG?~iIPHtNy0)zDOOn|mwZOy&Dm$L4%8=#A`Sn$!10_;u)> z8Q&hVMaXUW+G8`DpVgg#Z+{e*&YGF(<#Agc{XTY~QhsTuhJzxX@%syxug0(*&QE>i z>&$f9a6+E_;rG`j*InQ%;5_~~G`ia9X~pf=9zA7K6DMDrm@#usilL>YsNJ89sY$1f z@0Yo%KZD_*qwT>rwvNj!bZ&2)pc%6zGV_pi>j7rTC6WC)c7gvYS2Pyb1z%eHv%&6f z=AG5z%nXsK))hbfV`jD6^e$HU{?#-#@;Ljn^AanWA8XHf@K~<>USrX;^1_C?!hc>x zo+`Qf*Jkeh%g66jeZkrAr;&HiiaRV0k6%>?|33BLsTFTu28kWGcf7H$w)j$m z%ngg5ew+s^PAv1_TKB**c>Y?SA`S z<$(no`OYxUVSZt&Su^Qo+-$b0&~+=`e&061s`QWMt4mB}k256_T!SXO3HT(k!cy7f zG1s&QC4aM?9dKF^_n)EKCTUjko!bQ#f6j&;IhC8E9JA`(i6_tJZMnMb&h0A#{0^0? z&+O1pA4 zEW3eMFTq$!rf9M5m-C;OuU+XHxP|9a;h)#ervl8GKXU~N981v&`Bjj)ld<<(?3#1G z`#de}raaDAcl!iOmE3;@ugh8ze|8@DYPpidAz8vy&mrk}Ucu61Ug>O8AEn3sbuND& zwJ(Bo%97!?cdIZ?KJa~Mfw3q@;Eri;EdFZ#i_SlJ;JJjl#CN%`%b%?L8Lph1 z^6{whvGTkF3ZH6=J$SaZ`Mj5P{MlFdE9C67=PPaGe*U`ppFu<7oSRWq)$hw?EJ1r` zZ)NsaIEf?hg#3b~ygM3pKKNw&Z)@hGq&C3 z^W9UtdE%E9AG+JDsuAmD3jb!VRC;@-dX`(5f-*x(&w9%f%UTO8Etr4!|F~Mrn11F? zUGSW8+qxNFmNm(SI%=P*c>gAAC%fX5i9P?^uT79)=wY*Jeq(j<4C~oH4Hk0q|5j~K z)oN$wy*}~JYZK3jTVxk}vc7O>*Mz&(A&raT6C`q)D&?a#=ox?F6R9d$vo(#K_xOtc z46iS@tP9wre%M|l-GmraKm@;IqY3X5}cwKhoYfT0=3EQ)& zl{-V63PK9|Uwc2F#{TT*t_y63J=;SZ4}L#+)+bfc_ejm-{=?TcJT5Kg0DkZu2VxFQk87uCq>Sg(b`QC;) zT^`AoW&V{gE?C20`MmI~kIMVY^1W$mjs>~BT`bGLVtMCf_Vt%V7%S`!Sn8e+zAl=Y za>Fk0`u?o5pJ#4-HsQw0#;y`Qr&jgrUzZmy$$l}U|5l!q`LbYgU?q>^gRjfY z&$gZOlwjcr%bz>-eAR?l0j9QN{7-5#M z?sK<4|1yLj;orSu%UBQI?VEAVDpW08b5S2#bf2|UO%d;&vQ=7l|7N~aI4IXXi^C)= zN3L+z+?aV+r>!ykoRB`x>Yr(X@0Pc6GnW>aT-^Qp>eN!pxUbVDm)hM4IjvqFCCuz& zCFCG+JZokIljVbtU8f^APG|3$o03%d_~%tMf6W?m+u|^R$4Z;0o@ZajX1DKaszhJA z`qH43X;&t{4Ho_WY&CPAR>GZ>t7#;{ZWn4%d2L3oEOb(G*DX})2GFflvUs^x+-a-(yXcF!UzAn zT>Um!k&8;(z2ynAHmYMA;Cs(Iqdv5jYSfpkT zS~<0H{-xDB*QlJEu}JAEx2bJ^VSv~>Eol>p=j*JlmL*tS=_%k1s}Xz|xsy?N)|x-x zUj}dUE4~n#7T~$&wuy^xPjzS+yZVNeC#)-8WHIskEn2v7iJNC!$X8LZ&+}(5d>OQB z@`N4oQLQ^)X^NTNR#usFCCyD);+R$1#Mvr+4I%8x3m;$jzO+De$=#mMllzY?sx&;l zR5PejVui#ckHjuN2a{8_l_r;N$Qu3=xvroox#IKWo-4gP=`3@akFR*PdS_hp{!dGb z?w%{WwK(TV-gDcdtP}QKs*CAbuJq8GZ)@o$f4QlV#~xnq_hML5p6V&Vef{2|gFn4X zR!1EC`hC?KgB>r79Yp^<(D8r%(nB@LoNwNiZwf*o0(N_t1Ewj+8S%^aGFbR5t&3l7 zchz8Ov;N8_b)xYyqRJu>EJ6Y^^nk2Bw%UuD@aXOi2y9kRY|Das86^)pt?&`g{+%ygdb?>i>Fc!{9&@(!`!&I=wAWY@k3Y$yI8NS-SYtEod&9LV)wVzGN@Z6_`ijT17-s&?m6Y2mscLj@ zPjHxz;Q6?w8E2Mnzb?Y4EXEi9!`0Z*dbiw^HRTLe&zEn@GH%)zR}}p#K&@5p;IWTW zUw>V;XZEo-tSpbYUwSrGFkA2b^;gTFU}?zPyYuSiO^JzF^gdum*vl)y62~61ZtVAR z;|dW?;CG5Bm3`T>P$c1Bh=}d}UG`S}8R;ipzQ5GGTV-`}!Sfxb5 zr^JT%IKz;cx`F~`Py3mB_+JNFs2KFGjfmNQPuX_=-;!%Gjn}WuH|Sa;-Ehj)b?IfRA%sfy@%pM=XX0mp8HlZ;bU47+p#aDtula1!2tUPHc@u2F;s)sdO6TcV# zxRNrH?V0ti&tI2WPu#)WCVBV7uV6EtT#MHSzb&286nedZ&Dbk+|DOHM*FP-CSi`0F zfaB!r$=*BU{29t*?Y3&>zP<5yz09)-%Zm66=UlKBozYM(P*N$4M z7DVrO@5{w_%W{FQph{$5A6ur1wcFi;4JS|h+nRca^?>5WAEC7?ia#ezJaLp|DrcDD z%w5H^()hefb?Y|Mg>}znb_`b*PVLsyr}$Ln|ZarpRH-l5p_FY z>mSvXvBOAk5}U=M2jO7}b$RoyYAY(M_gtRoHKA-$6@&d+)|jt;wV7rt%o*0qvNzvZ z{CQ#hL!tDss9_Mt`@VXqOrH3{KYufqvFLH}Ri60MxioqEQ^)!7Uel!yezstF!u;CD zLWb>Wef#B)i)V0f@EqXt`tt49<(VD|M$N~Ao%4c@2J0M2n<9SbeeBN1vn*RKoJsF% z-s%#aC)gf*dzt@QpNCUt2D9|dd>QaIr{>4`nvy@foRf}fZ^@Nln(%m`g~dy+D0iJR zclz3|aJ5eTl)_wSan?|nhr#p7?@MAyi@BEmb$G&+sl%USYpWr7XLm8E6SY95+|6(| zyKUy~DNXMRiZ5TAxFI>u$Z<)|$)1UG{!J}sTyyyBp-VDzWFF7k(zkGaQC~p9@86fD zS>DyC9x1HtdS?P9_S!vJgD;UI=GHCLZy^-GAzcq{_Gbj9t+z9NF*P#r*`=Nuuq5H}ydSHX z^6zRl7*u`!b(IMXQZWH_RYb}Xt8SFf39yTyMmV6z!W%7!{f*bpp<;(A_WV>bd zT;^lr{Bv_It(rgI{@m8ip4O>nW{Yf8XOZ`6uHfCkzia1NGxv$&)vc_R7M3fbLRmKy z&na8`=;Q_=<1OD;NH$yNsw6KsA2q#5Gxo8PgZuvHp$(@yj)%UgzS?(4T>X84dsgQR z!RB)nuU|W_ND8g{G$-YYDYKi1!NZQ1vwWLnZp5B4C_FB6CHnfD^seB;{h9@aa~`i0 zIi^@VaqI2RN|PqeZD)&l@Oa|9EOkZ?hXQ_^AnPY7{ma)X=Ir1q44c8vy78RB{drop zw{K2JsqW&m%V6%|>eGyJWm#tAapGUe6P7iHS|G`R4yV9(~1$v6I)F4nx~cJExGd0c)H z^l#O2k*BA&^qdOp4>+!4H|4Xm(m9bomlODNg8MCa>Jl3#pEXs~nDFjr(H*Ydh`P@z z3~cpWg$lbgn&3oQ)|8ZV_S>%mL zj>tM@zU6cJy_T?CdOC;Y#=&E6ZysF17wPsjueiydUF6crlWC#cmu7gGtW+r88PXcJ zpzld&qlUd=-JVbGYKwxmHU@8**EV7KbS5L7CXf2Ks*oNL(ObpG*&5gqQh%Pec+mId zQq_}5?0y+V(eJ*!e%aMuYWN@e@qy(6uUZ#R(Xg+qt+y&u=v?yC{alJu@pXleRkvsEIsTs^ zVo$osfqjvNMsH+4zx4HsFKMTYDow)q3W~7nUzW@4O9IvviK!&bMEd>K)yD{q^Nf%M*0B+*EwR81gG5`jnVf z;l!T#RgF#Cxb>dOpIef8>+ZJduV)?J+0=BbvXt9-)?77`<3#G?&&wYCXJ9kDH~Sfr zY`AXUTw{lrDMFkFSmf>+*ll@m+_vI4!xaTF39XR%QK1Lb&;C3h@wg{IDc<-=xbmb* zQ>on(LVv2;G&Znm@lWR3aXcwQ@c7)jwVyAoUBJ|&ertIV1Hpln3<+daU9o)oW6C$42wR8sKS#1xe2Q{bsENx#Uy*Z+1p1eFy^PUHnd+`b7 ztsE%~>UUL|YCD%Nb9<94tKk{ayjg#9o8>{!h{Vk8HLV5wDi_jBb1xaxtVw<^SKL*s zp_Qy&V1Gm-ca3$zw`K2`EuLSN-M57&IW_v(&&HQNOg?2n{8ywV{>rs|xlA?nc2DE` zE~bY&yW5rJTUqy4Trv-PEW2`zN@_&$)F+QGe_Rx-weaP{+w#{Mm$`YZWQ%F2wKVyv z(HC2EvVY++qb6hPK z?))cWY57>GsZv8`ok2v|f->d9Mss?&3L?w??9pE-Df#Ql>oz0v4@&9zE5EN0^S!w4 z{?v#(Evxivvyuv>1XXLqRT?jESoW^AC0FihV#EdxuNAV^Av#C>4j3(7zcloul9rKO z!n(t)>MZlunyf2(!x-y$;(TzJXQo2{^Tcx;|F*_CbI;w(yX51iugh4nceLL9H1Eq! z_V>zSujfCsZ}m0^xEEHJa^R1q#pen8wYP6&a60G_oqj?)%q9F_}&_WbKwVo`3w~GJ%&(Ph^ibS@Ey+;mYH?nRZY@_9auzf-Tj} zrEIeu94=NiiT4MD0skDPFTb8Jw6`02VYsXSezSZJbWc}JVqX68Q2M>DsGrrM;`ZC$Y8!Svfbd|754+q`(XGN%PT z^oV(zQ{XQ7C)4ba?V2U?_FQY3(6j7;0bAjV%uUNu?j0^rURD@-hE-Gid&kW?62<>c zepym#YaM!C!=voj0W&MP=8wy!aMdNx|6X}kK{L@VSy?nxM)37}Uwdn|W0$P?{(aT1 zS@`W((UHPF_G?QGe&*R6+F{eAA?z9{%6WhCyydfc#I(v*-rDm)>;4o^n+J{aTn!y8 z)6yhm84oNiESl=Fxug5J!MuC_z8KB88u`KebK~EvNC8nHy@EXtzAsQII@S}Amw4jK zDj!R)qs@tt(&`QFUzbne=~y!7_#}?6-&adV1}925zy4=(cH@czr}`a3i#$AzpF4Z| z(&B>?+xU(sPY$-ypP_tGBiz1!sVOJ#=XHfIof4dua-6a}VSCi3G~t2P2UgZBZ<8Y^lhL>Tnn znR9_9cekWM`mMzY?e9F|^S4W`cJ(-s#K-DT^PMsE27Ao%ughlep108#={tJ6s8Q;% zbn%?u&3+j(+AOWJ4CO8`n>oBZ?zMW-g#JU%EpH$H&#-P$??Gdg1qKWW{ZU1F4yv1s z=daa%$9G4A_X1bBu#0MPl4>v01jB~RBM;crEf=<*F@AY#QQ#i-{=Vb3D~p9LnjMx5 zKdydl(IcI9`=v&{=R0n&m%ea(5IEn^=)S?r#<$)xrnQFMRG+KVc%$mUB@fHn9Jd@# z%59m+DtXhX=Rx`;O=tE)ES8D?Hrv!@U1@qeWwYg{4{PqtU8Qf}v0$A?dy~7+-h|}CvO-YT$(fy-It?oIidyOKmVCr z5Zo;pbM7(EU8gTAZiYo%*C{`C^V{*nFbBqyGBOE`J_XFv;-`OIrWSt8JH6*qt%i%* zt$PektwsJeNlR)Nqyp!BKh8E)RIt8e&v&`ww;Fu@UtM?6{V7lH^VeMymE#mTij42g z@>8i`KfB@4yhJ{y{U?@`+AY4fM=yCn`aMevmlq)=>euE@Q}I+dRw4HwaLxqdFUzfV zD`WaQdxa@6l? zrW@z`u2zT6wktfweZJ8tsX@1k+#RfD^#;8A*>){&LEn@)4Y8|s-oCnXc}Zzl?24*6 zL1x10Y(8Z&!e5qKD^0m2p=ZhReaRA^4q5KGs}5HFIclFj$wztamN()>PYe7VgQiBN z8s+|8{7mw-|BOj1ecv!Oc|7^eHN$)cUwvicC&s_N8v62Q&IS5Q#MLwVgebb*S%0Z7 zL15d}pT`P}4ivfXwU=HPabeQpIgeME%uaHTJCLq>=Wk}DN5rGFgmpz85{G_=sxd^V zP8M8e*2iFfZi>}|?H~D?H!kHlkn@G$z_3K_WRsoR0^A?#xdG^ zO)_N*SaU-{-EQBN8yB68Cbu4!+qs-oIeQ~xwcyD=SqBnk#k5u&TJggD>vG;>>XX@Z zzx&y09zByVJt5@F<5{tb8PX-+&SFT~yob|fIp6)6N>i*>Nq7DzDlmTSB_$}OQTtY| zaNbpsj$^9YO_PLo$W@guV4r^Cb@PpozKE%*EE*EeuPx&6IQ7XoWW#~8&pZ`>FVbzb$^wfNqe64 zb_%d&@81pFLczYRUZD<)XxrJT5B z#d(`&Gbf)bd{ykD!zA{)uU@O}#az*F#X0G=t|mvgcF$PS7g45V`DazyE%EO;kyR-@ zAp&PEZrb(4>VtbtaPx#$qD%|UvrL}9)^Lg8WL=f6ha3kO``3DW{Fz#D_x{Ia#s~G1 z7LVG*q^J8&Y;*qh#pJ-!5Is+ucM>nXCM!KzC23uF`?ZJC z#F)ez(`2o}l4Pd`tQDRx*D81l$Anx5_JG>DElWI>I_B=KynXw%&n>n`OB($AP2NSh zG}i~e_KMFB_O(#lwR>XY{O7)^g*(i+c+!6bu^nGCvF+5{<9C9;9b4UgTfWZf-;|Ee zLb5aTC2rmI-?8Gt3^g4F+0AplE@VnM6FEKa>y0}l|F-1EtDl{K zf6pl~cfvAFD#)kjCmvfjE+p<#!F9BxivV?6)bSBFveT;c1Je=>IL z?9Tb|}NQSUs}~_ z^!5px^CW)BFUvQ#72GwiefT~~qtoclJh#6cvmIpSSBaj#CCI?)ajgE>%9J%r5B_9# z^xDI)a622z@4v>*9j6brectk1QsUp16~~mi?psQ}vRE}QV@Ic(!;KvlZ``x;=Qm39 zndSa57C!JRXoEQWyU#LS1)fQ@XAL9!t`)fP6~FB2Fo@{k;PAb9uJWvnZ^K%J1LvL3 z)otl|rs^pAvTK!;Vq%i-M zkIhHbo=F~fdGMP_QDd1WkMX~?tnWm!Jg(|*mqeQhg$?z|J~aqyt}wbluJu_y0dkZQ9_ z`n8X*>UT)b<1&x)HK7bC4$+o5ALkuf;uJCIT*UL9Z{L=l;+!Ry)ext{bX?j$(W`Yj zBfsu-TW#}_SF6f;536i^|7E4bTUNs>N( z|5z6~f0twL+TOdZJ`0#GrN|lhGW%>xWi5(kC7{JEgF<+1Xd z{;V*r=Zaku|K3|t6>?H!=F*ce)+Y>y^ zXZ@VT3?DdcbYcF6O#zRGef?44BeqRPjp8u3-)tbxvZ zA=c00)>Y|SS!Wnz+|Tp#t7Lv1Fg??7bA#1Kf4BG(7F(@5@@5!@I-oLCH$l>8C$U=snW>zTfNU0v#b1#ZylY+S+Pf-1NlU=8N1^ zZh_qs{_^oV`rR`-wt7-<^FNgPJ&N9Hc!? zytp@2x3Mrx^&r>6>o(slm!$UASN*&xuhQJNm0`+0dCSCmOYglD-WhP ztVLl?2cB>h1ido4?N(u17-+om(6WM%2R)uxWd#^Px?HTFB2_$ zu2TB=*JYpI{wnX@zWi}%!tU^=$L>|W$=JXzq|MuI`S$IPi-J>_p4KHEb9HNZE_+*L zR^8iGB0SUWE6R?qRZ!)-IAN#Cc8Pac{>F(vXBWOQFtBS|ZKbnUdO~$!f7OfyCvOz7 zfA1IJ636n63+zxSfnZpx>+;GHvaWp^w+!?fVE$E14B$J<2} zJZ}8^Y+cPz_;Xh4k^oM2#RiqH%U6U3c(uvjwSDE*nc^bxg?Zx=!FO@OlL{vWK7VqH zPu$Y}q31N#skbu%4F9>ZbxaCTJ+L_VqdE@t@aP&mUPJ#iw`;_#~8lz_g@<2;AQ8>uG@2^A+hc4p1$Lv(mQoH z8QlzzM|C!&vL>J3T;FRgIl1n`M&FyvpO$rsy1BD04&EXAKvQnYk0s3N77XboW-J{? zWKUK83u#Dr!sT=?-}0c%rPTsQ%>Ap%nH*s#RzZ^vvutCU-1vHaR6TvKz&Bx^?jOB{Jayq z6PT)Mvm63)c@KR#Ud8m*Et26C|5LB3r~6{&G`@WAuvM}D%z-#(ZQ*%Gs)E1u_0Fl5 zs%OpTVYlU_7_dhRBE!glby3ySrVglo#iQAdw z_FPKHW!?B?LCXADvqU{*80x2bm}pz^Etg!Lb5gm_a_Nl%gB!BPqpCIXr%sVyYu%}& z&|Huw>hZ2pZSLfa$tNt%v;Vxb>B*nF?p~qV%BdT?KJe-#wRN<4N?Lq<=^LV0K8bt3 zVpeLPl4#w|*PfGpPV`Wz+41j%?8}vmT+5!_o%1BQ@5_C4hTVFcGXF%=pXDem<}3ax z@=UePJzlrn;%vCVPOoKm3=}tTm;MS#(&^deD9LQw8uiLS;(S$|s9W)bo6qm{C2aJ3 z=*fQfr-Q^oWea8rxwf^5g$JL@uT{HHxO=ke!A0Ar`T2jZuKIoHt)zk;hpcT@?b1$- zqUy`1nwALeetD~V(y6T3yOSoLKIiz{G(YcxgM@A8if=MspDlZ`Y5%0U*qcFn9!*$z z%zjT@g4X2&Dbt_)*%g!wUWEv|V-LCoNSo_&vAC@b$fgjE>Ub%*)j+kMitP?X>*z z)H=W3KF;db{|~ z(T+Q|twEnf{xr`$JZp-7o8+(B%wopW@VbD<40D)|KX*u2AbF6n_(tyqq0p^h~JHbJzq~A|M}AI zK!(n$HI)ioGxhk)+3cgvR+gs-HXl6jWnrIRQAk-(#s;a?gb20 zr^xx?NDKRdoJ;9YNH z=JELY>)`yn$`hjJRbDk433%GiuiCU-%iz?_`zMY&eqF%3;+dpQbfI6x%COk`Mw8f= zuTAOvzM|&q%1NnOW|Jp7NZqSE)I2embKBH|CvEGt_NgWu-Ci8j+4wa~_IHSZ>9sh% zH*Lpdf{(1(U%J6R$og88&k?-`?$^8K#xxl?CryxAZOI_yDEXv1_}_&C&oh-aIi^b2 z`c-~k+4jKgbNj36o&dIv**%3nLQZR^lzkDMv+13BU-6B?pp-d(Zm3^tFyU#QwB+MK zxvyF$Jf7Q>uy0s%bP5w+<(H$r(gsia+$|n8m^2GE|OPfWfhOiyCx!PKMd!nzgv4{6jpLJD&k*n29 zMXgS7o;1ziRe0U+6Y}cx{Him2hR3v0CUZ}F>oChyaO0IL507bU#>k{Ejp7ZP$<}0G zU%u6E?VPmDp`XL1?qIiE8_e|M*OgNqzd~6je0`;LXurhSsD#t2t|l1DR*E{NJnq`G z_TE}!weG~-R}O9t6>R*Im3VM%(z!~PdGl;kXKlAw;cxS7kugJg`g&1e--G9? zrX46wpI~v+d0r-W^CVt}&q7?^SLAGI7h*Ubw>OK)U3UN4&}oH}w|vlQj!pP_ep!}V zhV=@YdA=?l@`kp*t|jiVKJ|T>=?(QnoA2Kj@T%p_uvA{^^ogP9&#V<{4=bOPFa0dq zsq(Dx)8wZGzE02O^|Rb&`tcdh`*LiOL7nqK5s`_~qPIMr)M|+p_q8nSAi5n~LhTFRz1S zmfT=gE;uRq_}aqUo63dHe+GB2u-<&|&&&3LpF5PVo3OUA#xz7Tl$`&%w308j#n=G8CV{CV}ESHJqMfmHq8ZUIj|cu)Imh73bDRGRT5D9a z{7=v6v)d{^uW*`dt%hKMq57@GPkLXUw?DPAat6z~n*CMN&-A)IDk^;46?4Gmlq9F^ zX2*o+%vV*R!CE~%A0B^NeC}ji?FuQEqfLLWJl-j?#{Di!iERDa;7Z1yn|sV$6({SQ z@mHVh+3Y&4z)|_>?Q`zVUzVH;X+QN()OUG|yulMQhT{yud)}-(ue{Ww+skY2ngjjU z=5V|!uxr1zVoM`Ka`U{?CznZf%4;60KX3Amtsx<#)#B#7{g)Q2dNrJ~N`H~n?Bmrq z&pj>E_6XNW%r|dFBf57*c)*O;{K{e~)p$*O}jLPjmMu_f;(Ko@8HfXU+qzEeAH; zKEP_5*<#G}rbwWt&Xj-tB;^;Uiq9`KKf^GU{r0SBENhN1&nqbOy~m(e@mOL-^OISb zs@oYHj#oMOxZQWWv?!;ks9Zj7=8Bmc56jQqzn5hL_dHMA-&{L77ydrLdV4(sSN@DY zZ_!l-&fo`)1wr>SMglk zRL8`psoHar<)5!Lwr)7U@M~6En3kEw-OnZG+3(Fr32?}tT6?VC(80ui(&E0wHeZ*$ z&5=Fac>UHwp_EM@Kh3-Ql4WP_;>2r>!XoO-1&cSY;L zgT9O$4z`FtOEkYKTP~Y8)#Bt?kK5(U-#6Kx%M4dFa*X*VvW`Wkw_)}7&F3#oSa(Hv zG24M(!QbAzp5UuB&somn>%T2(tmy%K<>|LCT)uyrcbDTS8NoS1S#HO?CSF@4-TgN2 zul=uQeF+kWd$!x3TlDF|U;n4!5(Z3eaUL&cb$0N7W?Jz1eg9em?JYU`>z_T|YMjrU z`R7$Zm*kz|9nYp`6iLkAea>N(57#}f$2;w#GTl_f?5n39Um9uoiq}m}s5vKf@;vA2 z%RAPDAM;;c6CANKNI~WK<+Z*F3PMZdeZI;ao1?7#$v|*UPx8IK#Hk+nJFkCy9nhxm zj@d%u;OZQa-7-(q*Uvy$kxt#5JuPy5*FnucG4Ps=PdQ9Zoe}>mrE}pz7 z{jT|##h+K4K9?%xTp1rRFj~EG_)Bo#pE?Wi5BB&85t*k19=8W7lwAf1x((lwAmu zC-XjwRocJr&x~k&d(7TyV)XM*-BX_{@Hzg;G+GxMw4^Cj@K@n1{`2A*^*0YbsJ`NO zfOS{h-Yl1toMn}=tE5ynh4S!SRsOhGVe;lldkZgIaubz!kazd>IZdw}T1%bUY;x_- zbqlIls@|TK!+Kn;_efvm`A^ZYic^y3cL4Ri)or z99kZ9Cn0F=#z`x8hLoQVei^V|WxikKTBS3`-b#DvN%=gHcf8+KKE20|sqMl1sKzDM zLJoDAYz6L1ZPNmn+U~dq_RZU2n&sfG)D-D((sozc>Jx15XSdlfWEJl{J?%mI)33+( zvIx1=Grx3Z+8O@-+M)v|?|+}YbG446jDUAR?W!H0?rfjIR@|_pZqbq^0|}!O2Ubn) za_4d6S^o6N#4s-*vkyDI{+r6rd!|y$$e`+9X@-l@RB7>PI#&I!16z1@3siq9Fb?Bj z4LoQ#-Qr35#|3Lr|HXJL?wfIPd4aY;&)lVDJw=Dt)oRKaD7oddv48mXY-!q0n*~Lj zC*`J;CEk|Tu z?qn@r)ykN0aN@QN>OG~)mase!lXlMgE)#6H@$(#m_kmN+D`pwbJ;29a7&1dF&R?JB z$h)tybz6>~^9Vop?#J`bt8&#Ox7Qv$W;pG&AMciw;(K!s%ymc-R^YjCR!IN7bXpO! z+{{(aV)P!dPb>12nbjE;UsOWXmEm#zhRmv)?Z{_Aqt%5ay-JbO>Pexu3A7inALgXhT zhA*r9^K!Y$1k01>MXvJLeKWFDxMb7YI5pyX?cJSc8EhjtgYK|fJA5^nC^E@r#`)Ph zzCJ9lT^Tr2x~kyx{a=^FPO8ZHtIcBEl(Ov^Lz#rgI%oB17t?Jc<`jC!Sa9(liYZx>Vl)t%Da31-bt6`e;o8CiEFv- zk7v`1*!WJVBpEheTEcPAT;tZ_?O7QdjCag6B$hKQocigY$CL82Iu*>km)RN0eq9!r zTBykQ@tB4W%T294c{{B=Rd+pVdgK&gX!mSs%Asj25B}_*>#!r8<>S*od&<8r+`w}8 zgt~;up9iT0_XB5T-nps2U3sAlPxbFhY@rF~JXi|*qa17_J5@eanzR@nS+~L^S-s%7 z3C9ehQ)m1tj#(&N-sf>q(R!m?;gP#E zokz6Jh*;(|tjk~sdMG*JlV5R9gRN$wOQ^ z$6K$>D|93~wJaX3RMrd#S1w;4e{8~oIU+ns$|;p zc~iMhNc04II8IN0-JX7yLIK3*vEd?`hh+kodY%;*g-M=baz2 z_G`^NRf`tPS=E#9{nsU?==^E?%o4KpQe1LH(N!B&D-=phW+p9oE6Mz2nOnQg#NL%B z?G{bsNVp@|xP|%N(v5~ceRp@Q+Mn;0J(WZ9nAI1PI}NiVJ}q8qYR=~AZ}FU|<%EPj_(cH|Vf$46zYHk>FUbjF*h;=qyvxocmB7hOB#apuf957r&|Rf3^T zg;N51>N}VJeLTUyR@0qFpyudtuSHRc%BOBM&%L*$vQm8x&x2X@Cp^>GwLr5gfgTUd zHvXK-$9MVU*`Oq;ZhVR3vEp18kgVng9clSai5or9Y!Rm{~t zthCON+4x73@9aUd^?v?U48>0)3vO>>d_4Kb7MGL)7 z&RxDBaPs_QA4bKBi_vGScb+(Fx>(I1`dR$-k1Gvcb$nVsefPE^_iGd0hpNV`oRHA? z(sP5>)Bx_j@_MbjtCEkK!)_>K+~E^Qmfg2CwoPEaO4X%jOeQUY4He9D@6Ee%SX%3S zPu}fdwmW;CJigxSbE8~On)$MA?W)BJN{1$YYC5{}`Bu}#31P7ZCFFNmTCAL#ni+BY zfUU!q6u<7{5 zc!7^|*|tBa?pJ~~^iJhF#P#LmIbLxlhNIKlbx*$hvr;sAz8Tx?SH2OdT$^^WmPno} zocv{3>$GscvXecJw`omjSiOOXQ>Jh3iU&eFPUQWY?=`=9=k4cjC*E3oSK#hEju)Aq zIX8**E~9YNk*C{oj7eb z`Xsca9gtwRlwtC(Vo%a=NP8tI{i9t$-r3L9NX)0?3FA>)C(+z4;dxFyOtqP7loPj3 zoc*FIRMEuraYdhsM3M39qb>_$*#3Pre|oC*Wa7c|HbFmorE_jiwPiKrIIzBk@%C1O zRs3`0XDz$4yKL2@eeLtlEyz7GN1u7+TOa=a*HRM8EsKtYeR=tHfsS8!^KM)Bg>qXN zSfkljKAYacAa+aUU)sK!*Bdh%eu`)Oti1cusez;Rj(Om%1^H$cH`t{=e|>y!uJU9p zcfP7}8Tlw*o(&}?RHPcd*Ps{WN2R-q2Y5e9hX{vg@Oxanb#cYa| z+S9&1nzeh+gPk|d7zb%<%k=NE`(|;LNurg*Gt8yn=1>2xD<#Dup0>y|-*sn~o4GVm z>iOy44Id|-f9#VMV41`B=TU=@!6%o=Ck)(A8D1B;Y2LyvGx=iW<9i*GSf)lyI(=Jh zu8@i9EaN6m zxT?ldxPEq?BJ<4ty2Wx|L~cuF&U6fJY@Sv2Qn65j!DDZGR>q+Xww})|UWS-hYpmSK z_w0*uSI`-Qb)m%vm}V7zZ~FY!FE!}Z9-f-Rubs80Fui?wJS#?|;FWpuwhX!K)zhpC zPs-g}G)3dnf!_YJudglbo+7e-s@fxNnLqocoOty2wnb_=fm365;^qLBhTT>SCMz#DRSPN%xBh=eR($Pz%i96MIL`vo$-{o z*XDbMFQlCL-lRmevnytAD(v}nS<{GVZA+MhZ00MoC9NH|*gS1l<*T2pDOgbZG1O?+VxBKjUrqa=zDeCKI>w)90~Ep5Lmp-e!`A z?aPH~E=QfKlfNzrZ%MVhdnI}KQ)FY>!PO15sHhCGx3$4^r?q_Bp=EWz~ zR-gVoW6yWX(`9cokD2zlW>)eTahSYQIVt#2x~9#6-|@U{koYqgP1 z^QkF~J##*uU&=NACAU@&@AA(JPvlNdI=nMaz&x<0)^Z7d|J+af&qKSWrM~_VwC&;6 z>7T!>P!(2s%Tmv0erUsQ|Y}qr|^I*U#5v#gMhPHW#IOCYu{+D@jEwD zSwilrviVdI1~H3zSx&_%K0?YZLbGq5`SGa82hf+>(_kriQjd~^Vae8rN4sbiXNYK z@#nmFC#%{*&t}0u@7@N1y^a>IU;32_Hg9Q{-M3Y0M(3eFI}VuqxMryR#(K7-^{(VA z)z@+-T(~&ZdTQ4+36nMN`*xm}o2oP=d5cW?wZ+HSA9r~+CC%j4TCC4~S)_Q2Q|~#CW%}1@bsU;du32ZaXzHn*ifO#N zT($fY-QKkL@7j6t{j5&I-Ot!FzCZtXR!gzywuGKP>+YZ(M@w8|@1)GTBlvYmx}(I* zU~7w$cKfEhIN@~Wl}g#e%@_CsvMg@i(>?o%;Rs`&W-(*xcAYNIr`1)@uQf1hn=iLm zanLs6cTnCjzq-KVq8Xfj9yb{5_m2wEI8(s*&34~Zjy%cGfCo<_zDh2Ccr|3-osGvr zt~MBNk+79owHPof&tyF||E;kgR_FbpVgB(u^|)+sw=VWS(NyTC(I}g~h+E zyo?$lp`SVq$UF&|IH&gM9ahIVHTSDG{0hD~F>p!Q?Iyz)#U2?&=jGluzqjA`_~WuQ zXGGqzt9)XwFAjP*%~9asV;i|+3sQN?YcEu=UuqO?y2u&QzsK=>vcoN}$CKE?Z9-Uc z59v(aY-aJZQq+9DK(Inj&qKF|)0nR`kQ6b^In$S z=knvsYX+=6=i-omZ)!Ic`q8d~a$DyO6$0)%T^RSXZPl z<-XTUJfBw_%(=5SrlzAV_3N5%6DMaIY3kLte6jno?#FvyWn*b-XlZA` z(e|vWGpio9pIPPSRoFk`FQ2|#uX*qJ{N^qyXzQEe>uOt z=2B;~aNCQj$EJ=m#gun4Pjb8Hr5+?Og@di`ef_!V3TI6cVm4YHu$k=L5VFm$@VM>Y z*Y*yfD4L3LsNUnLTaZ;x!`u0+d z$xrU?-e82tBUgR-X7j>IzE6ffLREs?R_| zt!3n4@tzgWd7>AJ&QLQp5Mou~<9zElr|-aTIajqVldxdLbcM|&(iJh)mk(DaXnnHk zv#Re+t6kY8D)?A^fd%_ZpXfC^l~+6#S;Mw`##x;;Rt5}whp%)^vpkbN{Q%RZqvxa< z9{g)s#xFC8>3wVPBwxszEQMaOS8|WT;R({5eeS zewx3%h1hJf)_HtQ@^_8-lp$|so^JWtqwwhmyWIP2nh#Tww-)Vtd}+}G=9x^*=XgEm z@E%s-zqGj2M&IG?=a+tNEF#B5E*7YKifnV5cJttKnahVhzI>CVyUMS~Gyd|2mCO&` zntD!Y3GBTjIC-Aqm*t(wDL0lk|9NrmcBJuyyVV!CEN}nuGUDH`?1?r1>C{fu9S>%e zJB6z@GR)}_U6yB|d*S)4cms{c(`|;ICYXjHwInTEm zZ2oXVTE6voQ1!FPvfWEs6&rs>6dZYwQl_*xM~=~Y^LdHa0jq!JmGOMDloa`_`Li*v zcusZK8O|%M48}5Fo`g82=H3gip3$)6i^c1+h7smxoLA4di zjC$~S6|RoQWeg{lGaQ$YWNVOf_@=cnZ|mD55ZpyF5c)nv_3TR)GN*XD0mSSkPg{Q8v(bfQ>f zWFD7`$R2;$tDYw! zUBaf>^}r_epUnvg$^EbWCQkF2_Iv+b`-Nx2PB(8=R^fm2bxGNs20r7(=Omgc?-JZ4-?CX;D}H(=SUj3z z5Hcq>@Yal)1CBk~`UUlK#hLsb$VEI@@l~YpWK#Ik92x$qq=~2J@4fNscgT$3?`@f% zxem8|T3~QGAtimUVgUQ)Iq6HyrJFt#ESWqjXmQpy%eU?ZCq-8CG&a8uR%B_|d#>=6 zYq+wqR^|7X{;UpnmQVciVux_<`M}=gCL%F;T+VfEt0z^e2+!NGyt0q+nA-!#r3EVI z43_s^VJMq+JU;*PStt9--aYfZCPo-ONpugqHi6e^$&+~nPX8HVF7NwoP&}uIf2q8h z8v|><+*LlmKf+Dbd{Y=TV_V)z7r*uj|8eNK$l0gUGhe>GH+N6%g}T6B7nnXtyo>2c zm{6O!;!HD#pFi7dX$Efo>FO3DZ4NuR=Ld&0OgIxV_fC`H<#igLPp9X{$N$^w!f(@i zKfcOGfqg|$J(o|WxXqnpqk_FB&YPGXacK$QR91MrV^t!Xdx8J8$!V9Lx?l895O2dKOFG zvY)xi?~Ix9#K!BgepP8pk`6T8OwGH0eO4Rm{VkRWcNi+3Z{I2MvBV)^b@Oe}*`GDy z&Tv}qU+TT5dGF8Xdlk&W9)>zfvhMmkFDtS1xZj+DsxYZDI}ZG5&p)=zJ#gy%-n+K@ zmNl3^nC0;_oF}}@%{J@6{HF&jpY7a#uV7N1-ws)im5<6LxKA-o@{eDu#_ly;|9ixj z_jCFeto(Pqam#b{3*jb{g&y`hS*2fEv-SqdGRyPvYkBx4#PBe+q|3fanajYzSA1FY zoa&hcIZ1qeRYmOA*3>T1Gy5V_{W*Z$Y4f&F5!riJjm-T6ud8jSyKrZ<+2fwcJzNv> z0^QHtwffB;#c==riR6PTCnendRklXnK(6-{qx`vLkvDo*ANTWR$kSQH_wKKj>x|x2 z{LITAN6gDS!1&X);$`rf_C=rn*1lkl@iClue!KI}EB6vko3kAYuix4%`Y*?xrLI)#gn(QTD?{e$yvG-=oZj*A*5)I-3#6AXSe>o(XH7xziwvgs zPL?YhpU+w%t=d++d*PQ~Aup9a$jGex^Fr8lW1rz!{~am02VegPbuGSrd8^l&Jrk;~ z77Ja>^f)KIP=2jnOY(ZrPzi=w_NuATwx9iHxNbVowS51akm(6FByCwQ1@8K^(| zv-`68lx<6r`@UMussH+F)`k-b3G<(ZH9wfO-vDo?p+#p2*m?_Iyl#)&`04RSusFgPS;xWnC65^>`b+ zTJTs_ml>X7-eJkRvD*KRjm;S{N;{9LEH-Oh)TOF6U!#gN_*v0o87leePfo=v@a`8GhUl@_P8i#&UKzwcdoh=+h?tN?`TsT zdUNmVc|m49j`JCwd|mbChKX?s*SfdIO(&7Wc+2-C(mQHmTO+79gzFduvPc6!Oz~* z)1|jtr))O)&tP`>^0n2{*Pdu__t}09QJJ~p?X6Xv=1iw2 zRnKBiUhIAFz!UikSEud?JXc_ST_w*lCHy3_vQ5y;6U-ZIk{aiF$2Wd1{pS**^u0KR zfl)%j^epFHkCPTJzy7-1dtD|$Y9`~Q+J!|Yo~stlxukRW-Fm;P=em~{6nVTTa#t5s zI)BVOVb%omBa0O_9(aG&>5}Ek6Yu-7<}e?HBgHzA8HKnWxNazSf{l|GKZz)_O&@2ELgR6CIeJeP1z8DgN2-9gnXyXjLBNKULsg zAJuar^4s$jE1z_vH%E&EVe{FH5=#)Qq>RVlsWp=HQw0Yh< zt7RR(q~%KorE^~t@{%}T@T#Al(|qvJDv!4l*f`(5oWIr~HBrv^vs}g7P%+m1rj;qr zWkPs&Zn$4sDgSR*^O;*52PB{OWeKWyNUKcpbGJ$BKh5 zmx30U_&6(SRp$L?@R}GA^rYYUS1>mdL-L$|ZHqI_Hy)HJTPBug*!=pvFW-}U$P~RR?94K~&>+zfry?E=w?aX#du9~Qw&NXJ`{UiI={h`AQ=1+#H$Agci8zwm( zWcmH=`!ZwJ(lF~E>Q5hkUXe0uwbqk0m3OQz?KvtiZ?3k2@AQK?Y_j}6u6UL#WJ+#T zVW>Q3Ju8EEvc|FE=2;yc%$u9PuQrI$wu_lR-KPAm&+i~3PQKzf$@f-I;Z4?Qw$O3> zCwQ+}OYpwk+{!f`Vbf-D)WB3KaesasoBzUPdv;pt7|y#oQ{^1f zlLs6B7-%l@S!VY3{rQh+lO3{k)-2a;?myITEvXf$b`bk>aE{>hYZK=0GHyF>`ObFL@)=!A!`EA! z&nmygd3@IG4v`CDp7+X)rYSrqZruJSv%5zu>>PjHmWz6P?p$p3RvEcxVjJY9Ca{_1 z-jFO@pzVM%`?cj6H;nYmOy(ND4Qx@E zX7l84RrLkEpnb=mvuD^A-kU%D+#TWfbCTvcSI)ljf!*h$kKz;Q@MppI<{mv|vd!$R zW#XLYUsl=$%-;N2ZcAg~Cv%ok{;nNQWDa z>#`XqCm2oKKBw>J*9BZp3>Y+zSI_AOdHgR8P&_UxwP5;BkPO_?LRBxzY`O0arB#evtJDiwC&A2zVtW)?FB z#+c^>ceBUtt$h{N^ZEFNUm-qnwtJfAJ(_Ol$y31av^jkqyH~bofw|1{fgRHPybuUl8a$I6<*3oA;=g|rsr^Ha!8N&TlJ#J>L zVG``>?DMLwJe_%Yz3nku%`SnS700Tc%{TbzA;}i8@=$-=vRV5c|7TbqCR6j%Z?8cn zyYF4YTiu*0`LO!qUoDZ`mB-4NPue_d@MN}mynQJT=hY7_$qI9> z>^{iA+{Qln?aNTc(+?Sr*JXO%;joz#mXNvT4BLg;;m2!HU<$-6*h1d#~_rHu1 zxbgkeI!}4a^X%%TF?uO6pC?b8d~IHmt91xt^UL$kz2{8a-C#d8N~LoGo1S!8Rr9Sy zEFU(?-uXPMUWKorxQG9F;L|IUtjd-#?M&dX`02;15SFUjRMr(dah`#HO!>0<)sNNX z{xe*gdqB2<)nB>U^WcOfE%O(gRWp|4F+Lxkl_2djfooFrcag^4)Vp&&xo7pC&Uu@} zHSfW{w&ewPY7Uyq6j}ex+}+JThe71=(|;wB6Q3`8S72e+d~1>B=TswyCsirGLvG&T zuuv(S^X=P;o2e1s4lSL%Tz&gm2DdZE89x->DfH1XduP*BV7E2RRl|Y1;gu2p+VERv z_BOCzUcO@i3wyEFa>>^>lJCuUwV;(HdAgctIYNcr}v7| zRcaRM*JhpT{%o%Mg8l0dwtd13rt+gC;2<=J$~gf*M$Am^P_f53kx;e^p?BT zmgBw0$AW`(;jhDDcn?lzN&fnE#c7M*D|gfuWF&872vvE1NIve%u_u)Y@8W$*SF5_Y zTd-f7!S$vjaRR^VD^`^=C%*m6*m$f$Ws>cyEjw;WPT1L#Sb5;tdI1BbmCvtlby_7F zuI0@0WZwMN2vM#H5BL3$TRy9E#`{An zgoM~rw^gGiDu-vhzBVV$t+Z4+vZ`=ac3v1qU67mmmZS#^ooxlr}uscr>6hV9|Sq&o8QLHKPJjJe_5Z z8E7rJWGNu{pF!s&?~lu;em1L~kUVkxlL@1>K~c)x(?QAdy$&ir4cuhrF)Yb6R!(k} zsWTC}XvLP6D3h{N-cQrqB3|S3o&OBKUhT-~^YhP&J*O=3YG#`3`K@Y4lfr^dl}(;_ zs_)3(%%w7q?RO_%DHWAIp%VIp!L8zz-If(`E{THYF8HfoYUDb?>T!_A^KkNll^zUl zV+8D@)~xHDbc*>ugP`ocEf*H^vzhY=g@(UPX~Xfzx0rpP_{s!RN>3_ z1ujpM&wcEVtG*!TCLO?2eT8SOqEmB`<_Y`1SsU)H>Ak+{iwMIt)yT4qKi&A38thtd znrHs!vo3FT=%184X8q4ZJm`jna*y23RZq2NY*Z|@o|ZHH!6Z#?0~deuD$U0|T-kh4VTQOHaR}Gn|D=Zl98`UtAt)vn|hO$%YCJ_Tb^jGIMw+2>#AiA zEqRuAFW;KxT0b>~VTGl|0`@&UA~Fe+{f#s_a!&9R@b7gyk}^d`?%$LzYEDa+2&q}T zVf=2=y~ApEUii7I54Pu@n|d;U`{Nd#w8bo*JGrOn6*0UheC>Cz#K^2J&Tzhe)--X( zK8Y_T%&m%dn(E%~zcx|&jMMXGuOnvX41y+VHm~AXJS~5wIaH9BUfcUdJXR0oH1bOS*ZuWc9pTd$G6!Nd;lBV+a zO1-DDJrIx)$MpZtNZ&*LyeyoQho(6 zEaCC^v#yG7SxXp4z}%ba>k~2+ca$Nzf{P;=muZDGI-KG)DgsZE;aecs7O zIUF&2;&6Cdb?}*%x2fmuJ-A|2V3EY|#wz{Z1S4l5F%@f<<;$xwgFJa}FZ{P@~%{9Pht-HQ4VdsOMVUux{PqeMW4>m!{5K z9I1PC!%gObmp?*sp1OS~*OuLJUVg6ecVbxPsBAx$LTRdwsHp?BXMNH8XPN!mHC{!}C}|{@NP0EoliqgSZ77?C07xuxws0_>Fy1 z-Ifatj5}u}d^yijo28IoG=KB9W66{D%$xUY@&sO%qdPWe@19rv{MxK?CcBtvFEl@; zUVr}k$XAo*Ghx;d!ndXytWn;Su>RMc(zu;=J6EV=nh7(_`FLyXRE2g~k7o;NPjNM$ ze72Hvp@qT+Y34~)mz_**&*0f+VB~OMX}XY=7ek!cTe*G9@2#HDhj$A$rrEr z_ky8clKG~dg!2CkQp%bIACJy$a=pi2*dNu(c1`Q-q~b~LSr-kLNOzsxIlbz!+@V>@ z3jZ0Z@02{>s#&T$)w;NkUF7W&rVSe${GIQu&~f?U#3=K{?n=*r4WABv`IGs(;P>o# zm0wKm&QLO8-Tryvt;s1ShAoXPDVhr3?G3(*JZ#T>xaoo1mafo!DZgJ&oc1;#H>e=x z_MHhvyqvAAZN4WiEzYfZ&>tl!>v&pQ>`Br@uPIuuB$^K{GZf@KXO=u?-l4S-Yz-5O zE=|9C*rfbCf=xAbNaPU*vl(Ig_GZVoa@@7`Q5~O0;3M6NE@J8>2vR0;WY}4*R!9T z$nsA8$I2z!n0b;5PRnVo+>*R8Pcw3=xQ=;x|MI;mZ61e>_8A|4`Xgv&VVle~OU0ZqlrC(-QgTy53q#3i+jNFwpd&|}@d}Ys-Si~^V^7bFu&J{^h6egxTd}_l} zCc8OkMb5^=4atq~U0W{8KNsiWxVwK-Pr@Z_V?Fcv(|`E;A6tB9;x3Ql92KvxT=~H} zU#DjAoabwOTLt$RPgLYOedXJ-O^cbT<_CIy&bfDh=d0vd+s+`H1&oRFX09}GnZ0e_ zQ-%#PSF)DZDIDJXx#vOpYwyNme9=Gl{$07uwDj)wtnG=nMK0@1K6~~6!+Ba(SA5Pb);ZW*_OfeQY;%fNQHo@K{;^q3 zt89{Nk35j8;$Iu%nz&Yf>YU=f!xOT~GnGp`9`+@i-tqqJ&(Kn>HOgtXteC3*X2l!& z-?NUEdHg5aMP`vPXXBxk+gBKm>gWqC`0V!gCqwbn@1{cTyL4tsY;a^`Bvtyuq)K3ID!qpDr}*I7@-?>sd>>cK&v_>*LpI{e6G;o%F7Ts*7i$ zoLf52RaKX)Y%*?mVa|9``SR-k{wabd&WmWT@Yi)@UmkbmXXB>Z(^O<~C0@_D;&X(x zRC>x+rPXs6dh|b4?%nJ8Co?&T!zH&_);813_hd-zpXBT6d%4x53liteu&vi>@s&HK zFE7h^-oL7T#)($}y|>Fg85O>s<;gL%gCTLI$Ll*%F;9!w3Im%P&)Pr9o!xg~r{&j0 zhke)$oBuQDa=!FFuRSk(t!Z@8`@${r4$YCfQ*^tn;%EEUC1%HUCZ1|c_n(sTpnTan z_qz&=m#@uOEh!OKYv`9d^SB%HQkH%;9!mY-7;P6QbNZ98&DfH~hZeuv}Bw@}FYJ3^Q$w9Of%B zebs+8Q|_GJGIzFm?v+Q*DtlGjAmpI?qTlp z4dtDzb+%RO2K&0Yt;q$7mFHy&gP8Zdl;*H}{U&oqaMOQ=f2-Vn2JDcy{p<1>zthiZ z@9<68*>mEAYQc>Jz9M(^*M8R0tl@e07GIm%mf%zS?YzmV#_(yZKiIeV>LsmlVLtZs znu9q{LZADkSrgf(u-pl?&|;7IZdxcZwhrTBc*&V%-)o$_~=ZH zo_ys7?_c}-On!UvEYDuqU2^TO0}gbY=xQw&czgLmNYBL%?<2D3<*S#~x>|-_Jmax= zV*9(wW$Q$Y4tcn~sm)@ToNw*;)@l3c9e)k7%=jcFH!*jyMbGz-+qytlTeMK?m`du4 zod*`0=c!I&teH|DOir#F&sFsNIqKl>HRaOr^1Im>TL13Ns@ z8N1VEPkdV%DamnX_0}Eo_e?Z1Zbqy~x_PWRU;>}K#%C^0#y3~i|2`3)qRMbkefyS&egd->lu8HK)s` zOm^#(wlsx#ZdP1n*LF@anC+9n_sNeTtI4QUDOFOTe5KjDptr4-=heGr^G~U%S@z7L zENSt6rddXHu|E#J47AxD;C0`Ok3sJ5t0bGnPt9$FIQ}z8IV`f}=;+s;*dM34D9rl% zq}TJ8X?98H+sw~$R+_j&v;T^Du|v^hhP7?H{oiWqr6QRVuePzX+kF)>D>T`!wSKFS zsRQ%Oa`B{a^|fg-OBdbHS@8abk-N|HOHDT{T|eFay=>LvGj|nVRs7BJlnry#X|~tn zW!h+wV>9vNH0F7SdXKE1cKoSr@%`7KOEMFBmjv%K?!8lFFE#V~v6=-(+b(!26o$=+ znd_%=*nY;2*M0M@G;T1IxKpoxZFOhUjsuqO{Jmn2qRMlqaY<;%NfYH&(p!mjRo0HzM zI}Uv)zW>taj+pN44NJb-Ut8?lHpx6j>x<I znxr!8JW0MbMaZswuQp>IXUe2I&l#01n14N6;yGvKi6`^EdOqn)GF+XfSMlxmisdI2 z3|9n5FuOMFdoHh$Ecwpe=0b$(jpIDfkGv*&x$OnUbe zAF%oL_|}rlnv;_%|D`ju-2Qw2Tl-q?&Tx~Kn?*~WdK~poId-MLRc2E4wZb}vxMlMu zP5XO!Qt_ zfv;=sxEB4|=_7jZyi?^;K@CR!v*)V5uPXGBey-eP!IE&bpzd~S;_BaPh>e{UBluQ&tbfN|8-!4L%!w=nX=`lOinNS#Nfd8CS|_Y)t$;Jjr}-mD?G&zegtaZTUNM;+4nMj63FEo;6+Yv(V2qMe@s6ys(#=;?=R{OxfdY z#&fQE94XXZY^mk`vE;6w@ce0hOUl3h3b|3PnyGv&RDOQk*W|OQjGq4)A{<_xe;yj< ztn@za-=1Qp4QZV7XRrA3=T$_^1)_Y?gSG8Yl% z!=7kop>m#*Wo;@o$MaP_zYLkOCxMgAefe6ie`)rWhp%igRr=2`M?CxQ+s9AkuUs&2 zb5!~LbOH28#a~aRGedRVeE4}#Nl z<9iQD?$qKR*YamQR+wjarTq9>PuXKeHyP%2Rb5pv$zWRkEcn23?HJdD^*3Fn@8PEPi zsA^JS|AH0XJr;4?rAM8fXR_#tOV~%*1%K}|4!R(Ix{Y&h(Fy~DERkCR;`Zj-P5Gt& zB~Sc&=c7Z~ahtSBOt+dmCaim~;L9u9SDM}{?td0AoM8QIHG{+yd+ok8R>l718K;(8 z)V~a4-R8q||KKal*%fZ6n#HlvhbCx2jiXs_w4x}s8TlFrD zi{L6h6aD0zZ3a{5kp?r*6OZqIULv@pBeXH`vfNaL3DN~icm2Kdm1$|`dCs23`?eWO zuD#zm7CTNp@NIde-|}qzGu7qC*P5wEO6R>1Jn?N9NhBx)LWSg%3RSp-1ByPS^m&b z%cz{+i_62Y@r9qItgpr~23yUw5-~<8+p4}V(J^kbNWN_Q^3H0Zryf5Y|M*80lpd4b z>r^PH((_C1&V@+tocP&yeqAh*Qc1tHd*i)1t9LU@;I!3JyJI%VD*dI$-tV)N)x3M_L>JyO+2{lfe?4f#LM%v3>72;PXzzG+<90=^G&5mL!CF1<@e)DJ$Jli z^q2b@&oFI*p>@086wO;l{e4mbLc6sjKI}=p*TcrbyyMHS>MKsp4W6%madH0i&D@-{pThKyoqdM_o~ zhwOqUPCEW+`J!KWcjr9$r1>=Bv5e-|xBXQUm8`#69ynI9l1c2mwSS$fVTbiW8zGJ_ z@=;qidhj?dXZgw1=eU4_EwV1A$idz}YCmF~mkeT4`Rgtt` zI+51Vp3C;wND)Q z`gJ*{NY8T%nZH>%tW!@d;ITY;@|&&ZtNZpVl;wNFc(?h_+{M59>x<0SW)ghu8$}v+ z$~LI`^LcEczkih; zOn2yaU)?`>|Y4hv3+*Yfzjhijs|GbuUN}7>9YHqne<$(vy z*BYg?jrL1O1{v{J%~jPZXE5Na+d6HHanJlyYdAUOHO}WBYno&lmQX503EGyX0IdYIJ(yJjX>3@|XN6JNWf=@R|eZ>XMI@FKw{7V4=L! zZ!%NxygSW4zS55h8@KLw$LlL|;JNK;UbVwKe=i2Dxg&e0+(bCJHcfi-{Dmv81>W1h zdffR+-BzoZ;+=lRudGAWlxtIh3{R}~R5DR&y9?3VwZijE-iPlsHA-V)`)N}1IwdHD$n0U=fKc)?NmyG5V;Rv|Q#qTNJuFX_AbeX3MWj#;lU2 zoLQe=h3;I{shOaqmeo7s@vMezti`9?Hg;;;SxGf6{jy@_=g^yfU#p!B@#fV~?`qf| zpVc^ruP95b_{55wO=Wp)t2Y;aUD4B0vSQ}BBI|2G$sV%1WIhLOlsH$h%(&<4%YZG- z%xar+cJu3=JnyyUxk~-~b8R(!S!NUZ=4QD~xNc!RrO0wsQL8dTQT6k#Iooac*E)Y{ zs-Cvyw5CVz@%*JB36-{mQ98%f7AOc5UKin&_^gq9*}76b>dc%Hwe6{)$4}3BwsGBr zCWEY$$acjic@pdv%(vIoYW1ACyAUcO^I1x)>PdAu z%wJbMnImCWkQ>he=V3bz*qUt7VpjpOY^53b2uD@}GENC0gb7A^iX$OFW~{%@6KLw3TadaiZ_+2s@c(=2%W+zVd@O#U?Oi&CqC zV!j5`iq%b3efRE1_0Ft}NhlL}#v!oLLXy!T((q;IM&G^{B?mVyXMdmhbzRc}r7o5r&uCT@QJI}u~cZ*D!UeSLB$CrT| z4b0UAMech&n9YuI{b$gc=lCj1tl~D;nwY)^$#VC;%s6IL$;YzetA$_KYT527unN&{RmnYAS7cqQ!E}G#(Y^{1?zzjeHio|8e;vYY z?tE$C#6261Mi|H*_hPvD+vC8&bG6mMi*^b28}i4;{bz_elHThz>CX1NN4*F`ib-IV7`2P<5>>g2RB0}Pu@N!_)<_(LHIM3T-(Ce z5!}}47SFevT1=U^bH-ndoN%+q8*|@OsxZ&0pJBCLeZleIh;Dm(qkm~jKW}oo|KX_b zu^df>303p#rtlOs^v$`-I$Pq7zMgs1Yg1*9`276;46(e839BaTWb7_I@!spi=|i7v?GLTyyd&H<<)NjPr%jh- z!+ZwA;HGN+m|&*&wNDH9mm1vB|Ij06e6MYKQ*eWIz!H|VQjhe31U z%wx=q$2`!9CxK?DNbK&y1^~9UW?1< zh@!-%b)4^5O&9z8`{@za(%c;NMzCM<@wLUbnxDV1zN*Hi*;1f#&ieDuV4u`JZkc(1 z>!xnFxH@%aWAb^K%TfY$5yvWiNnJHCoOPdfW5jcrD>*F<0x9d|9it{iSLvC3KW{1= zU3;}mOWH>B`18;LV=t?BF)3vxXA(CQvHyIw-o`p~qLILZI+1?4c;V) z@to~Z1*sh|Qxg~^?3PWjc(C%(V%FqT=5?|^ugBzP1 z^S*FY3(s31>?Jw1F0T99EJp>+SJeTJoYfeUpT_vO$DtlY}-%N^>r z3fyx$U}W|9*CnQ8d99xEWsAIB=RQ5nW<4W$xx}wai+4OJs=n%~_*CM&vdZ&5&C|+! z#glKXRaWahl=Mc~zIwwlliz;qd0RuQP2Sw#a=3eaf0fhg)4~n+udQ+2@TxAkah_)R zVuHiyI+-m332KFeZsn14o@UGrY0CeH)veeN4pgvFR- zahKmYlKg3bPu(x3y^fMkx>)Sb_~?Dj2bClmS^}-7Ci%xzteBm5^v!aMqjJ9Gx7UtpPLZ2hKK3sSaxmTY$oEe3 ziC>q^I4*E*sCavAdBujs6|bu0p9j{gGkKx#n;yc z2qqXriYvIESSnxoL{ z_=+^kYaUv0&ONVU$wXxxk!62=eOY-Vt9hlm<&s{8S)MWvGO#rJxi`UBeQ#Vgr^bD8E#%aZl(>n=I* z#g^SvsFio)ekQBX&q5c@&-FihOmk1N^0V(>R(?yj-jz1v;)7|ftnEs3PYP@nI5DXu zj^F2Bso=3=aUFLnpMO|xldP+hUMTZ?UY1D@Pn#{9U*;Y5O;dljGklS|a`?QTfrb3F zsY{GxUm3J7uo3*aU`P4g>kY8>n|GHA-%hlv?@O<2n(6B3toj0#MR+c+_uY03O zbfHR%NlW25Rzr`ZGaqN1>NBb^o$_nyI`2=BZH%@nSC&W=JotEdZ|F_7Ri`Bb)=yPl z5WoBDvc+u$0z!@t9xruK3wWdvui>EFeqwK+^1Yj~!8{j!?LrP6cq>BEeNA20kB9G>Q)DbXAL?7_!biK*QU zW$#|GSMgoqJEAae=Q5U~cll>6*bw)3zf`3~?9Dq?59DU9XlYp4A;bJrCM3aO?Z){z zy*KzczAi0L$?149Wd+xc48*ZDswnsm|Drp*@`YrYky?_6{e0XQhKIVzdjSU$)ezqHS zY5IKJy}IO^@P6)Mo5|k$6KXb` zGmt1^Tyf-l!$HBD^*7JkEox8=JJfN%`O4$#_hyLOdP=&(JA9;6N_#fE50u7sYV#UqA!vYUBp5LqSa%af2FD5(PeB3{#Fut6B zZK@ON9lww{p*0>S9R5Cj-gl=e=-AIwZ%@edd_3#z;3uQJDffirlh2`(EFLSC?Ub3* z=l(coOQ-z3-2LYk-l_Y*!gwW!@xiJ&2B*!vJX1716OM>=oP*X+!=O4wwCcpoylY-x8S*-T$1vGs(xRVcv8i8 zC#Z7LTh4=yuPT>h%Jk^Wc3-A-An)q!t(`i2jz^6wBOUJ@?W_J3aw^h|JN??iB8ie` zjdu#2l{W8SjKA=yZp%>x8LKD!j~4!Cs9@S~;N?-RcM{x(HvS9Y$ViebGZQiM-?99x z`g^~t(#FTv8WucVqI=+v!ayv{K z+%oQ-nre4lz zI?bneXH_l#UaO*sXP>?~=EwKg=k|nGyF)|L``TZIsI^$%nA9UGe{CVlG5#}>yM8B4 zjp*2OQBvzp-gz%MQ-ySfzU99H944;v=m|aJ>Q*7YEOUmUgSz_Hh07CGc&NykHU63v zcjAG-@xH3AEeCRXVsx6E*0f8zGw$0m+gWD*)Lj?CA|*B^1<1` zj?dev<9}`8!4LH@7s@-@+uHt>b+!>C- z{r7tGZWT4OtUPgk{lX=YJ{f`{F6<0_{?|=hT=J*#a=zLjJ$vWUQ?2^y8jB}bs?9p9 z_UN_bpp^V2Wty6TGK#ybch5py>vwC(E|2}xkcIDE8 z-6!MPXR(-tXt}ZROPb6)Z4fx|#=L)59!hym4gOp%>+1e}hs z%l9Qhii~a%d@jw4tCJSqGYD9Jrd?*9uiJg4%7&CG{-~`A_Wv&|QfX&-BRFq%zq23f z6@leEcQj=+y=rzSE0iT-TL+uROJtdN^?c`i@Zz4ZGh4#=9#`zjf) z`aN0k#Ii;u1G8u90d@JOmfGt%STHT=&Y8H|I!EU}!%{`*a227o2kf?d(a1=6{rB4K zPdjA#*BUx=Ojob8Nn7r4ac)nGwjSpfk?tuBN_l<_zpm_NnqLKCsK_xGk#CJQhn(eylmCY1a6pWtst~M*0>0nOckApG`-hW+j zWwX+WJ939@H5aGrRF})Xa5(>crW?QWb&+*yEw>_48{?xyHt0=Y@?OV(X<1mjZNQU- z7A)mw)gGu!G(KTnYw>-xPh*3YPR6_$$=7D_6-&H+?VsGDb)1Xe|D#Fkjda0e+bdz6 zQ%~ugJyou0UH!bvacfo0k`mkcsBAYC*}6qd^D=|m9NPOV9<4NZD*trbWsQWTRZmKn zxJ^*dDrbLvJlVtBc%$PqoBD}<4oicxWmXiV_&lTTV zD|F2H$%9q%Jin}n3}-cRnmoC0OG84;e}*-=k3TIcPff9GJ%=dGc^`W7mWtHp}B8xh?(EbZ5R=@??Hh%8i_s)*d!3 z`OdOA)4n`f`r!1Ic~(IJf@e19PjfhUa(Pal&Jk$|$@AA{Np;G_*_+LzU8!W+1Gz^_dLtMA?9j9Nc9!cRbJLP4hD`b7$&%;XO=S)}6?v>< zHi19B@U2&C;YPc_7k9Ia-Z-#)c@X^V*r(RxXM3LSl{t7ya8Hl%2FCfvzpiYuym3j9 zU0vCB-(i9d z_rY_QC-oUvNd7C;ZFnlLP+-8H9K?F>c5zcx{nuB98#|5I5^u})uUyHsB|%#t;`4;c zqiIk4H6A(c>}7v4<{YpSYv-&BUsn5%dvedYr&b?vsjc;+aKxh9H#-ko@Y;r3O z7col8?fKP}#&AB!eyXY2%1VJxKhE1`xo9yPeSVW^W@xrj_0Y8BgOYE(1dNmgq zacTaPl?Nr?_qDYhNLp7Zzc$=3lUXU3ce})M$(MmE?ln%Au>G5P>$O&-#)gJU-3j=`lAvVC|lz8g_mXlUDx>gICAz zEj1R6*RtfFX1l@h*Y_odbY`daS1Kz!YdP&&7SOxnd8TYN^9#+>5<1)|%`XanUE1`N zeTGHyp=V3v4NrY=&syCWJIQ#W*b~X)>gu1DE3Jv1F=tLe?eCC2gCpC$`jggqJn3`w zPRfXwWqN-{+r*EP-}`APOKLa&?CN!XmwRe~xr1%pmQ`LKn~!RDPl@E-c2S;rb?}9r zCq2zKKKjHoojF|8d~iw7&4ZHXJkMt>ky-rj)yh2YF9%;btu|^;W88UOc9p`bf*TBF z%FVN8dKvsaaINu_2E(3=Jr7c3KG;i5b>{hVU%&8m;J=TIvhFclN$(k^JHK`)nzUNL zz}Gb8&|79Mdt+byPfhM}O;g&!eui7TeE%aT@5rRQ$&!=p{eFB~V3o3FCwI?-qT*YN zHBKEpEt+>|O7dwQi=?`od39Tg8&*s0$+J0hx@Y2r{$mrZG~l)GCX6`s{yw=~^Pt@cUv>i;cxy zISIafR}2qLQ&yN)%j(&1bcwv7tmA{AsX?ut$`wySJ~K*L&9E<7==Z1i@c)X2tH%Iq01G{-3Bp%;Hn0 zocb8w_-AF->vJu(lsxhB%K{g5t%+OG%RW@dy4o0<-AFt5-y z_t#@tndT?BOd5}HPu`NOa)GsULdu)oiSg?y*{19~8MnrR-S#N!<;6UO^Amsky7JJG zVGe`!qoycrv4Y>Ce762x1qqAujQo9?gTGi7Zn@N&`?PRt!%5j!m-&K38JfZy?Bz1e znIunEN-y7L+v+7=en+-)NoZu6OMqLIu)Cp)%EZ&Wr>e_VMg>e{jW{uNMrz~FkXp^9 z5xW=nC{6rvxgmC$=k#hj2j|-tH#;TRc0Zq_!aVoxzqa-Kw%`NH#<8t-3QIMwgb`G!5oHdhu-DO!-Y z>k?zgF}DXrzE{6UcNmsbbD*6?$)9zxi60u!^6TJ%wx~1&16h6lZzBO)aS3*SKJ?^oaTRb zb*g(!h}Wbek}0>_Y*;Oqq^Uo7B2dK35T$3ebNQNun3momU-x5QZ)TchRQ@k-5z=W#Cvnrw7N{#_u#o@^5h?(j76`wR^AbB;t%w5ldd@C z?$s9%Wb$Mp-%aP7lP}ztT3GOu_eD=I{M27{&PaRRNo78FpGjKr#%JnH_qiQ2Yd&T# z)y@`Jc{j@8{i()3w#NQ?BCDF4+}tm%(C1=cjqG2~@|$bIiP>I?$2`ut*Cz+O++ZSl z(BDKm_xa@eB1b0}a&>+ZoVWL{*76zLxn(aetM{LplOlLvv83hUjmc^9%Q_t~>Z=mlYltmCWI(mtXMGbAivcP0B(&1z8!l%S6xFY`*ec)Wd?|EyH%d zYN^7hW*l?dWF9=8BVW}xd1ZJSBg_2vA#VyAo#wWDiAkxxY80#(F{f0uI?!hMyCeIO z_Pd>95Sb;FI(dU#=#_W23{Pq^A7`g}TWH_lv$tCN%tb=U#c6$9)%+;Y%|;JIW&hes zO&2=db#PzM^75?;_6GMG+$FxOa%c}dEfB3DYN3!eUphrJO~;C<>Yu62f@n|2;;ozC zzx;7|mg|$!1dHSHb3-How^o_jpAB-_c&tj;T|=yAg?Y-v&Fr@QKdvlu<*J_C{GZ|a zDy{OSy72h*N^_s->uW#Vc%!f}WD)C<*)}p_uN?lB8i^}x+M!rfUGja^e1kYPXP)QR zKdy)jyk2*P@nvX&iBNe@XL8coo}N;XMPceiHT&b^gCjqQo_c4I$H4r1f7FE2C-3mp zRtFVo&$tjhUuWvEht21U=Y8q6XE0Pq+I*xXStuv*{`Fh4pXFG`vn^fl%yi$y<{h6{ z4ZLInxp)?;JYT16a9U&Ph5FSjq9$t%*^4%?d{qfCkvVo?E`xg7fgKFY6VGat{hYDk z^}UUklH}RnZS~v4Jm=fjCDyaJ&Het(efjKd7lX8FAHy;B=aF&AtBs;}$Ss#$d3)oQ zCv%r8zkco7^lWuZuDphYjQm>Dlp8k-cmAGtbw&#Fbd@JxzL*-!@$jgrN|vpC!E%=0 zGPK-K`K8xq=PlDMA1kX%uDMpPBdBq>#Nv6z*QIwq=iDjopStm{<`!cQzcsTLrKZ`m zTAq-P$}%>4%BZ9C34gY-@ad zR-m@R!Q`VMVR2<2tV4c(V&vV?xA@mAh7Fr6Eadeb{*uaZGk7S{s=o5;s@uONewMqp zRjKXx84fMO6VH}8c%}6oJA1g`jaIyEc*c`fne??G>ic&r*SnM2_pZWjszPMs zoJnUG;;*gYjO{$l8u;rf^GI)f{qI++5*NLj%lF;et zb4W1Sx1@Z{1#jNN%-cqO6zoOgbg zejHfM^=9X3rhPO17JK;4s>=+Gd-8R;PUG?W$K}m@(@fq)*5%)wP-J+2yU9xxmQU7< zml~CRq@8xyLZ} zzxGH8|9L)4S!ue#I-dgqet(bDb3SIjwn*cF%!8HB@BEg}l0Tt$c0&=H^bS+yIg<~{ zJBQ3@xvR*zv4i_X;qj%;5|i0^8~9nuR!+Skv*Pi+)|(f1u+0#BICJjI4gTtPE>AA- zTQJG0c~)kO;K{^07tGfCFy8t0C+jxj?e5}PcApb2F-!hu2ygte(yOVU>I&E4bCMOd zwVJ1Qx;dP$y?<%Osv|{qadXO-Su?mPr!n_W?+LILHk9_W`z~|IYIWXug`SW|hIdmv zVv;X^U8+0h$=CM|{DG4^A3W~&;i|MREk6By#r9m)=t+AmPyBg#<_!Z&!C|{E47kF+NKaUx{cUZeJ{p{D5&UTNK*t5RsUR%h=S7bKt z$d^AW=e!S`!^c;fAz9(QUFP}ATT6{ue{N5icX(}@rzd2=LNIR znZ?|%_p4e7b_!y+nV4<*uomIxFr* zFAXsA+}_i0cO}bBWtr;wD27X^0nU@(_FZXDKXdcY7iCFPk9{EaFdXlI%3>Pew9T9m&my=N}^%D?XZ-0&cldC5hL>avx~R&R8D<@sE0iW-+{ zTU}A5#j#AU<@|sADxY_CFu6k~qQF*@NL0zcU1EJ-U`}S(y z(b1BrIU?{xMsDY?OIy6>PkF*PxhrsMh0LRQ+-^s#66B2U{LN%--zF-b=b%vh(qBuu zQYCfgufo8-!sdx{l1-j+MQ0ZnIDWC4!lZIgYt8ZI;}0}HY8UOVka#xrXN^-|#d(WW zzs)8Ue);w*_`sowum8MwCYdYQajL|2|60GEH%3P$+1jq!q$k^5#PIdea>rv=UIyJ* z6KNwjalU`l+yX!2PmSklvsltB4!#Xj44#ws;F9Vh-*bzfzI=IYjq(H|hZ7=KouqY7 z*v+-)n$FmN!tl7wYuO|>>poKwK75Oi2#H6t@)U!m)PqNz6Xr}RBY|Gb<% z&S_hbuC!K5 z?$4uHDMpV@9o|t{VUmDrxQ+;h>ibC9ai8uM|^qvd(kp=AosO=l;2^z3I?Z~1k_%>Bov&Ym1# z?quC~A*@KpEs3x2T$Y-`#EHIl-0PQR=^lA5TkkdTMzI|q!=G1THe613J{1NU7k}!h zzG4=|R8%1<{ABX>CQU!@`l!xRbJx!4t6ahy+xg(p>TSsqYI8g+-+x_o#;K|J(xRuX zyk(YO--ax;5&KuFGrK=di(N&}^IZK@rJnANV{C=zO=oINo@6Py)n4n!=a-Se=@JYK z{Bh4s7`t8=6mW3AKDo;1$=l;KAHS@v+%;)2!^gg5o0f*2R92AMa$wn|MRN=fzCB(Q zHgQJHfe+S~XER&Ru8?VPGxUioI%8mK|Le=K_O)kbN_!ly>6#F07<>3d*1|aB?Q=?( zwXyInXWnTdmbv;JL-VZ4nu&dn*QN@*;t1lGY4q4G#JpX5;(4WojcZQ%pK9k~|MYeF zihF(q3@;laoBU@N|7YO0_nQ4ya~{X@YZJt|9{kz6vS*dQfBnC`PHJJwyggSMrxu<6 zTG8ymRSx{HD94ez$D3?yyrBujx23f zyDl?{*Kn>lb0NdzD=C*{CfzOUt6cTj=SWdO?d}U|?VCUF2WhDl72M_cSIX`Ew7K#6 z{=FtA${!X9^tpdsxKSyLrEjj)-z;Hqznic9^aK+5iY!I>Z%H%mP~OIF!as#c&)hh% zwti~J&2x|Vs{Yz-O+KT=t@$e@NG`xq;{0o0Bd<-0k9(f{3uV@nNc_>iG+x!?@ltn< z4#R-`9q+@~suK?$3%9wVJ?UTja+|IT+7my05joJluT*Q$n8M?k+*IUv+<&PFpP9$e{+#~|QQJ;1>MW4q z%kS2U%2wfROb1-Ee*n-8Gl|@U9_-efwbuCD_@VA9Q(;*7sf0pTAs%zVj*$fmSf2Q z`Qr6US!Uh~dbszvzgO#G>jF2|OoMY0rC-0VIwr9sEO6rFIbEKOJ}&z!JI_@m&A2Gw z^;mSpMZTTSzpR*PSF_!Q|JX_c(|#ExWrO8O;UaT!zea`=%+GecYO^x`QCi6 z4$k2z%h@h7{Y_Tx+Xm|uN8>XX!V=7rms_lmV=!XiepUbL%VZ`&y-P;MU9J=7Oie!O zbzz;`#oM31ujujN)IKj_#&Ua8*|%4$-qNcT6`tsZ+&It{$Mv5fN@Pdwk%GOpFBuo8 zYc02xcr;gfUAd6|I*YRbk&)7McUoWYE1MiNE;!R7e5ERY=dw`Z=PPnoK0IfCFC+K2 zH|^)sMz@FVIhR|yFZ%I6pT%&AcZdFuOG{de3;X!(zPfnrZm@lMFQKQei1Y2O20hLw zm)imd&vCw;U&TE~!^!X6-nQCR6H{fh)93t>xqR4A-tgt627T?hORS1-&6Ci-_hgMf7Oyry|dl9s)Jo7 zw%s`L>p{Q;DY?oMHyACR|Is{_+EMpii#@?et6^rp%gN($4M94uy39^~PM_$(t8bbr z9k^Y{*09U>^qlW9DWNQRoVLC;p4+*Pxd+w0T*CVA_HX&mXWjhjJ~N1BE z->QCw&*Sm6#h)3Hx=+UKeEexC-|p`omB)XI%;x4VDr;IGcf+oIuZGRUIahp&dzah% zo2pV5p}W~4@P1d@F%R~{%dcG=FS2A<@0>K(LD1n3c#{G4 zn~xcW%n+)1SN7?RRiO_Lw*beNv*r^&r%$SU+vvSxs^B`qInQM-GagZzKSe)o@t@4H zcPE*b2hV@$D__}Wu;7DjW=GF~`OZDRrIsp)XB;T1OPn|5T8kl{$K$Vd%jOx#ENPi) zdpwKt-tApNhJH^qCYYr6PfoC9c#&nV;8rZpwszmcmgMhM!2x+mMs{s;4<0#R(ZRw$ zUwylLuiLewMae2VA5Wfj!CG?L{C`_{9+W80+j5z$%RW8Sy5m7#@#|2Pj%m6*CI1;- zhs_MSZ?bB!tU*@H?hQOeTyuCp=L8tJq!~%Jxid_>kTzq3$)qXg_^Q7s-`nD%xbOQT zEz|9vKFT;xzHRce;k3YW%Q(h!zH*L=AB^w6(E4@c&aQX9cLe`4yk0hAo(rTEM!mnXzflKDb8 z`?W1jHP3t!`h&0Ae)imKq0qa+UU>d?zZOrkzjH*FO%KsVXEPyub17by2}I?Olcwtjf+`ThGG(BOtjv zEaS4Yo3_WyE#Xrav)DN7koYPer)kc+^q7(VUD>SE0Qs{{p2zO=O*yZlJaOv52XjJi zN={_A-H}jyK7Yls>32UHusnJGpJ8p#lyViVX|!d=nm_vR|U<|q2(eB8ixi_iG}Yp(|$%Avn!+&Zj2XQGEnnp_+w zSMh{QqXinrt{wBUl4|Wxu225?FN86nvZpR^=dZ`VF3n+Bd9~f*{aL5>s;Bcxm|zU#^`K?|LduEoTfAPwwfvyYkc_+p{Nm437uD^;l|jqWSrG#T~aao{4L! zOv*V`uwY)Tt6^74WkQoBOY!-&`e&pQes(_L|F_pI_KfoL_r3Gx{anQ^p-c@uiwEwF^dfr$R5|ZTYTa7<;Thr$tRYa zX;6A1+dFZV|BOkO3wO`6>R%d^By)rNGtZnSf`p(l*nPhwWbR>!aq@{_ooO z?6!EY=@Usj}dPkd>Z!1s-)hpS+Zuj*$DFFZEl0JCc6(~y znHV7C7qiVeS$-{-$hxZuONxAX8J1ThtUL9f=g;b%>Xgg#6|@BB-sx&g3)&qO`)?H+ z$MUu`#*n<@fp-E61g9r`JZ4=LEX~?*_k5O<6aVvjb9dz2nX}<-&&2|TshkX2U;pV{ zjX19KPu8!xR;yCn-mom-&I73>DvVvzezvbq3}abeEV|43 zO3&|&7WbVLE%D{+uM0}0M!DUmto!~m+~ap$DSy&vH^a@ixOwr8n+&3o8NsO`Q6;ec*2hZ5(nPD54+20Q~NMt}`aw2jKU-4v%e>^#Ww-R^3gxxPlx&Byjp>`C|P9FN!eZ)Kf2qa{Xx znWe;pY5k;TY4@{}@6A}n^-y~GOJ9SH3D!=tCrEt0vf=g5%N~{W)w`1!PpT{Y6FE7} zyXR+Lw8VpX7H_@Pj{iQz`0d-GM-u9uNwM?G7e3yxwEVQ&=^Ov1a9r3~U{H8|xyS{v z5KrN`HF_%EmL_=VpWn6|X2B(k5M zKVNp`zM^#I_vI${jSSB3_?do%=e^yRHfKq**SI_&Dr4*Utrnezkt{c1B$TQBf9Rnt}XElcR3XS#*od@sqJ z2VVAlxy1OiYuk%Hk(9^RO%`_CIRE%jQ47l#kxd@qI^qh9mlk|BPnlrxXGLb< ziCaY)Oow)*v{>sVI(~0gw{_ne9yT%M&g`;zJKuXnTYx8Q?uNqRSypy`2MKj=}vZ~Rl7A0 zzT;@cB4@$rUcMKXX{Hq))t4eWmprlbP`=%|^|X z^uXP`eYLDAS-Vdgs4$=3zc)NtP%%X!>{WGL$kVB27G<~gcKp>~dc3(!NRHvX=Z%5kTg20|HdB;|_&P?*R?A~2& zTeqcUS)A@&ciV%%f_T2YX#Th&d8a{f)BU5bvRr3QPh@{4d3XM!vrfIji$%^odp!B5 zsnaq8&%`U=mM9t|`<(vnX`#G6K8oqxm&db`jvVILv+&8gw_lcPc0A`PzB6xrt4TxM z)7*0gcZxV)`=os~)0()^n)$@H71BH{a{LaNH|H5{U+!o9H!~t*LrVWS!`4raxTo4i zY+vf6#@M9wuIvGW@hoG533YF_UA*#Tna+}wRTJkwV*eQsspy&Xb4h1=?T**Jhc`cM zyHs5jqP4qIS9$)irLo7K-72tB=BKBo{aoqo!qpn6TqPeLl*z62sj&Z2Ux2{6 zgcGkCf11+?fCpU$;7 zX8X$M)w@$h1%>mja@>C=apKlFtMnDiX7FeHxqJM*+ zTszTohZwl~Y^!H&P?nw~n7{k!_Z2gC%DC>RnjF^1Xg1}Rd)>|z-PRA%73Ku+3TS(t z)NXzG{_8S5$ukLJ%Fljii`%n5 z#({2vsX~j*{ye`C{7j*@GCZlmx%unDDU*69NuFolAoo=v_;dZ1qS}{@0x2uG&lS%5 z^0PBVXR^(?S0`>fE_`e%ao}W<`FaOS(ZmU>r=2oLyzyn3`_shS0AWRy$$j^uawoYr zZR#{~>Ag`n@x8NaiTvBLk4zh@=FGWTHp$~w<_!kr2V(z9AN*$!*b~0?Mc1X{1=n62 zS5B*3Xj`uStZLi#wZ2Q7RsUSlvU{`3;4tHt^`h7RS-!ru!&m6qU1gSLWtqwSIpJsT zDg5YubYI}e#XILB-aVZ0=gs1!mATh;uC$VPGUcl>^VWQ+s#h_A|1Wk4ayqS?R`a~j zCTVh^{syMIKUVy#v6`=6cp&inV_%_-7CniL$BN^vZr+Gs^f<`=(x*^*?x&3*G6lvy z&Pr`}71QjtXiRb46~vUT!1rwGfmx0d>g1KT7y8NRMiPlz}*zjWhn zn}4A?n|g1Q89E(c2uXQ1Z-MQM^)q)r3$lx9T&%ZZUvkZ!#v4*oW;|ky?kPR%vUV2ijAmU%WSIL?)hpTc* zB_t#s-)lLLebCNRfmP=7l}o#S?vCv9>M42aqo97bc)puVfOyj61Mf2La57I#IDJr- z*O-6LoV>DU%`!qt`#i(Gm@2pm>`H!LqVnZWW(>>Ji68d`9GT~KhtW4p>qcZJ_sv?n zt*WQi&uX-L;lO`wane&W2E+S(^;R2%EG}+0_x;l|uVUq%BOJHqp6NZbQeOYMiP;f{ zvnK+tO^sXKArQZV|TDPYw7lkq0slUit>}rSa&BsUK_&$smf=*eOb9< zjiOe_)Z87*6E=ic@VM2*9cs9&c}M!0?M4qzhKCJFhV#Bm7T56NoLaN+)7xLgUZ?&u zXtO@~*p-vAblb^f>+hv@Q+Bt7XsUew_A9iQUBhS{N8$-vTTQme#^aBJ3{!cxOenl^ zCHe_tXxW_PSv7|;DtXMFKMTGxu_tiG6CGv6ke<@#rsgwFd26uzGFO`Y?6Br-#n|H; ze2Tv=Kf@_l>0&o?Q?XR34tgsn$C2}0=E5hB zb1Ht(3nk8r6pNm+^jRv>#8~smI{8}rv?q%;-1_+CgoNd<5O@2Gv|~?h-@Z0s)y6w( zH_S7>Q+@GF%Z16OE-d@{_rqg`((?;f#!NBX(*3z{9$(?C&-cZDEO>ENM(?Mfnf&Qj z_gmvXT<_5Tw3-c)^P4kIH*Wb)!B9UAmjJ z=|rD8yY6P2=cX?n8qB*~%RJ++y!Y+s+3Az61^hg~QvCJVnspbR`E{-C>5uxbzv#Y7|c}!($>AlLC^48*W z8t-q*yjQ%z<9XuFe>shfU5Bojo;CODboTF9QZV~QqWiTyj~}rgd8_PkS!L(e9m17` zq6gU9WG$C0y1n7D`+E24>_Y7&l7-T_Cm#sE4W8C>M|VpQ+a$*cR)SqW4nJIf%+@-1 z|L2<2f)mZfE+2Mq*)pE5kNU>{BXXA6!j-p{%~!wG(>^D;i1}EB$xpQ`>cskcfY63P}=QOvCP3)x0l_1+ACN0{DYZtaJCstz8tkwc68W#-~U55A1!a!j8>e z<8M>M`IK?*{T``px)P&|KjOUeZM3Ck9}Ykw=v;kVOPYgLxPMn3uMw&Q0E zPkdWl@NSyZrM%u~)dLd!w?&G1%1+Gumam?#(l_U_n3|Z&zBzwRT6#!>X=qHsz;>o?lwaaP~xOc!uWv{|sxL zg{Sd}87yb+DSVZAwxMkLr-T1=QZB8QJ)+a(bVum%_N}1@`h2w6bSJSfzHz_Q>h!#5 zlHr9fCs%&l@K=L-M{beV*JBmGEu*MUeg4wn#-=IVhKtr) z?>t?VHpjdz=#)X0o=IE(U9)3xRmu03vGgo>Y@6BOEnIry$^5_|%_*y_1h@I^DOu&i z)^fPW$bG4Ys?P)umVg5ypQfb6?cN-?Yl^)7nd4gxRKt3BHZ$=1T!>cS_xpR+#9h$$ zqlUVDRH%=P!3pK!no~bi- z+*Xs6Xzq8?j7$pSS+HK>e9ZjBz}&QiNleQnnRm)Zm8hQyatq;`X(D{eV|7EB?Criv znajcjN})L$)ywm2H6y2*?Xb6a>!+eLjUjpEq6dpqvR2D+{4DY}Rq9>3!Q=jou9gXh zGt~2ALT=CW+SE4T@rD-~JAS$^XHI;=S5!aMn8`fB`V;?FA=!zO=LlJxPkyH<6?=B> zo(H*sSNa3}9u>;0Hef%kC~tZ4WwRewO6`)*^Oo$jTeG+x|AcGR|FMs z7u0k4Ol+CE`_NYl_N|%$k~13_tC);jb+j&}xOlJQHvjH!o8@xi+_Q65LY0;)ikJ+f z5}!@ri)P;De`%Im(bBSS%A)FmA1n@@%Y0<9=e*%`i-()vhn{0CjqwnfRAIZT&g4ix z*Q+%gwnmoUEm!k&$_t#_{dc}|kj2US6N(HRWHi65dM2g0>R9(i`H zX5|~LOAVnRUqyBV-Qm$QDtznpG-8GFXVp7*)>*J`-)p*vrLt$~p)W_{B^YDf%=x}t z5-c;C#jvqc`Wd2%f?(|kQIL+f@&PU(ZIJ1#1Pg~lx}tDcm3M)0@~^ZC8b z6C%$4T%6~rP|h?@zA(*(`PSN>c?`$I%hx+;9_37)_~YB+IZL{@j_mA>C@@d?c+_IU z?cFQS`)AEv)L&@r=5fqn$t2!IX8KK4jh8>KmW(mzb5xQs&zW=OVx{BxIrpO8s7xv_ zc8u9(;P9g2*_>;OLanbC1kRuHAb>?FG*Cr)qlNuD=j#l^^F`MVk!zDa!h zx@6*$JD2``W1bVB(mBm7XJYSyOR`IwCKOdY{}o!kz0ZePj?X#eSI8x|B^#Bsk6qyR zsk&g4Af|Ad<5qN&^{jySVjTxjzc&TG4!3V|$+a}UOyviGVf-X$6_J13{E=KHTu-d6>Dg{7zJN`$aUbCbCCRNGaKN?QlnKmts~Ue?ek!@C zU*OK|uD2Epu>S-ZwE1m{U6q+RTW;}YM2^&hv5#t^QFmUpF|^= zDqf#hddlSFk>%_b0ecdP=O3FgDPa5eO1Z7f9>Fb#b6?Mz7?F~^;$@eNdr{zLfs+Si z`S*IB;67=6JI~$c>$8=Aj!X&enNw^0+ApHOE_u51JgppYoysM4XW!g-(0tkM%HN|+ zQ&m=2C|_FOmaeVH-aO}VSK1HnJ$dgXizoNBe_UepX41Mh3r;+~&Aihj??B)cd*zp* zDN}E-1(`jTct5MAue;BULGr8I6<*UUqYnRS#%B=j#;{ zrFVCB#yn`8#jN>r2dh8B=O0(aiYMNeUn|qaNqJApW(In=N^?aMX$5IESPvRCI4<4m;L#unxX}|pA$FVTcynD*<11a zxq0(P zEn8!r$1L&nx!STw51WSCvuZ4_)n}fM556={RQUUWnggG|tl0A=U0J$M^T@&pZf_3D zx>`LC>qjm_#~^Z7#Gc%5T>4>+H61u!s|-_);6o#Z6OHH@*(4Z09;I_n*OQ zolnny27Bf0D}P-$^+2|LzO%=LjZ=iQo4ED!*IIfT^%)=YczyZW>gEl`6L&P;UgxXg zcch$M!cyX_iCVN<+0Q=ytrjvp&rKup&PBg_erf)mp4|)*f{i!&qa@9AH~%?$K#R}f zi^%RBKZ{sHjI=G&EP~ImdZi|Da&4S<*z&}ZW8K`!N-d$sZY569I6cY3Ql%<1VZWiu zlTwArC%&!pT6c-BjBnnKrHMvCPdgIWZJI3p`0wRb5M;LzJDE@&!go7DD`lnR9aoQw zYdYH)EG_RGRu3n?=&Men^nnaD(EOb z;4`Ye+`Uo#`A_#G>%Up+{I1r-bJ^mc)uK)}e+7h2G<$SYy`l1`-rK#O1B{zEZG!TdwH6mDOMdyj z@|nt(Gmf_^?Y87eJoxhZeZVxQ*66ZNhV!mmh&jStYHRp6vzXE1hR2f!J@eNp3sgk) zykl>>`~K3Lz5~s3*Y?!fZLwtdaZh;*Q_bP|)8*!Uk=a%*cc*&3S9YF`=P`F?X36i% z5_-?ho4aC%kkJN3k6*%Scr1DH>(a0jKijJ7Om^@%t+#yb_dp@`FmFTsT!s=i z$+)VrrCbYZ?(PU~kpB2(Y2A*O{xdiZXgOFsk()QAC8a;{=aqet7M3qB%?XxJNWW6P zj74SAeM^;|l*e-dIKz@9)$3OrTxn*Qv*Ez<7WH?U))gk}Skl!C&q;J8|SeRg!{hi-oR(iCFJaS z;R)Z&<(yImW<7mhJ!7ZKuUN_57a`~W(zRP}VW_x?tSu6)=q0jg^AZMt<+g@?o^DBF1;;`@)GxJHR}iy^b2yu}T8M)u;J5s>WwM;% zPZ}&=JBT;4CIvL!d3@#j%1L3j%FP_@8&+|>-txKW#))4c9VZT-W|t|xQODMx&z|^M zpKY12dAQBvt${*C9)@5_J%9E;pLK?J(qaphD~o)Dn^=w?UiOC>3 z<9yuKJo7v5mdBs}xaKrTLa4xBVzpLuf7I%kn-e9{)fc=EV`h6{X(2jcZO^CTYs(`g zc%HAdOE5hs-@h~}Oun*>aZTxD2BG3FtGNyTDNlUuYZPUAMa}Uz+cFoQFGo{Vj@y*4 z);4@HPiwNurGO^;olJ_H>4PS(&BScV(y2mLSVp zD(9EVYVO{vdG(@Hi;0C)fvK!zt@gU9fkI81SymNU?^@nDJ6-gg=pFT$Lt|0bk^>rx zx)MYJT^U3IU9}qmT}5^_Xe^qnwDg3IuE~5ar((}b8|OMr;&Q$;Vf#`w-=dHeQBFZJ zNj;AitJ`X~6=@ktRGKpPq+B^}%AI~~=WX*Y?QL0`LzgM^S%sD{&zg3&YsthwLs4xW zA+0S9jgcFa(`}xF=p35nDpcU-oLv86*Fipxp*6a=c+>?EO(^ zH%$_}Sr}+6Q+RFWes#756K7{89<=?d#Vr@T;^n){c?l;E9^V?C>2a>|*A-s1+Kxq! zJ$9YHoO#yixM;|J_FTm&-&f?+Ea`LebIVebNwzpEeLVQutQaB3_a2MHRC>0XGWR@| zsk+)!uAqD6t0-qo)6IiRZivcyvM?T8bMk7qW!}~e$#?&RhD99XE?HW*c-DN&^Euzv zTvsk`;boeg2&^Jt=Ywz^gy7% zeO=Z%>C-Zkf_rAIOW1JV@NkL5!4-#?rFmL|d-|7JY&?0({@B91)Ag*9_wqTbDDcm8 zlis;3*YbQ-f5~3S!*a(({+@YfCB$ZHb*16QxvOb9{68+=PQU;19A9nLN_)ctk4-)l zMQpVA`k&!-Ky0T^?#|e{SC_v}WhgVba5HeroX2y%{|YX;U(O!TWg3_mlrZ8AB}&ybd(Gvq3?2Ps-O5OIVNXNSsh0E}Id#IPq|L|8mh82OCt` zif@}t%Jb1LJpZ2|s=<`?n2dpaNz&9Mw~UsT)mB|IoO(dw@m_;F9!umFn=r2Xl+a{w zyGrKkS^Zfa4?e$)n4k3|<;kS#VEFo|!Q{^a;~lk{ORsETD1HBB&A|fc z9Y;0i8X2*%n=n>b#DbZ^lbagPxi4RS zZKj&a&$9fx7t%!qCkVc%+p;KdPR~crg-c9ZI+(VzluDj;pSw6e(NAx;+coR{D7T5y z48>o*E>!H%DQ7S$syr_t(%PxMf?eW#mb+qI_+$39ZU=V$+`u%a=c`7X zm9@V<=fWGMG+u>J?d#jJY~ReuJDz71EIIvM=~wn&7i1Q(@-Y_A`C{?f_hB2y;dHqh zUzZ#6UTgTR`Wsq7Xqml;Bt zWqS_de=bZNJaXifwtY{;B_s z>JQbIo-xjr=so+N;nj*i8~bOkU%%BydNnctMEar@N@6hDfW*21_o>vkX3)6&O}O z^|TRe+VOSqIX8>oi9Jt3L+`BLZPV-K;)8hZy(4neD8WB{*Kd3`&|yNuT3udw9~=! zpU$IIdHkn(`2I6Qh0S@-Fn{*Km}I%kalaQ0(LCfy$*Zqllb>i)fZ2N zcCQNAc*`U70Z-|l%u@mNtEH<$>&**vx2M&&Uz)Y)eS)&3LhA0IjA;?MM<(}8c{sQ6 zFwf-6GV8A`a#!z}mw9xu>J(N5#&;P$lR_N?>^xW|xJPC3t&vtx>PaZ_HLkl9VrF=) zEw(`{=gF6UTOGWXYj62fo1s#?rB!+RS_31V$rs9(iT`w-XKVY};i9tnnZ|2GdKa&^cfZw?)2iBY1W&y6skpFdV~+6a+xKRy-61i zXip!b$(yD%N4`A2w}?w}=I5z7334|UJ@B3*IB|l%NlTLlOF_j^?Ws?eMayOy3NrQ? z_qi|SZ19-ff5uVP&3>)Z>-qZ%tgo~tC45?(d%Nese+IAW{1ZHk?6*aJHmrVHvpf7h z!}YHV7yXQ6{Qa1{YeRS@4QoIL^SgX!RC9j-TOAthaAhY)|Zu zx*ofjae9TV$Sn6xpWLlwJ%0;5Pw<5M8?e{SExffbRaft_Jo~%W7j|1OR0dAqkkQXt z{Vnul%tqaFwJU;{CB5@<=NR?P+wbKhQ&eep_}8`dlbCaY9GQQ#Iwhz~Nh-2R?#uSr zl#-sG^IoC&Smyk__9d;qt{xVix1iRR*J0!HY3xc{ecHMnXU&G6Bc^L zCth|Xx2QaHkg3gDmv)hVrskbAM(=X=$zNA|YkHhhmuP<|TI8G4k=1g4lGi^D+*0lL z_Vz~S6u!Ur&uZ&)?YKFw{fbogq^?w537MWQx7)1>59aNU>I*oo_he(>{Yy*O8>d;s z2wr$@z4t|rm=41ocYCk(szcaEWHP3l2s~_VVY~Z6 zM3bK%f7ZIqiG6O45|(c=rGjEQj?WND`L=*tUQ=dHuuA&7JB1f&t{gbfd&Yp@fmg}y z>m5fHnE;kcEJSzhE0@px_`KYd?Tt&hjM+QG`>zA@pFb-oyb<7?x-@LUG4ZEDRhJnL-YGu+ zva8EI@%!w)e?M2uFq*h!(%$1)ocehQMX@}|3z+90xsqC56dPjhU}4HFWEXbexJ`kU z^0azm8@U6acX^FYHwhbV;GdKCWx3|LJFLezbH3Yd44vFOJ%92F+0VZBCoL&#K39EZ z<7c6DZ*mjt@;u+!HZGVF5{>fZkX)WnA!MfNlLAq$2;|WmyNV};x@v-{5%R6`j zCNXhs;J&&$ZLxZSp`B;m&6QX8oS)J>?a41GZV#DVqIVlCC7D(lXwQ*xTYb{@=TSAY z{b$>BIG7ilU$N3aLTpazZova9mZoy8sc&Cq)pgM@f`j=vJMVqlS7tX>?blG<_wmcZ z<-v*}uXb44{%7ElN?6YPe!I#ylbD#rSHIaEv8{MKD_Q%ka@8E+$#djtwRYdJP%*nR z|6Tv{z?s26f}h*26pGKZbM0@}VhCbm{Pp{ab%T1IbNQE5&z=g%o^Ct8-Yau1U)fjr zwI&TJp~)wHPG4xdYVnaXo}u^N9)B48uIR|_RR4VE*MZyoIXsm2do5uL&U@PQ&hcPi zXvmVvTLpU?*M_s!l{h&*d1t|Xeb!QigUoUf>I&7h*-jGcx|kK@EA0h*EtLy8Wh&Bp z%kBIuR_!Z@i+L{lE5y5)dne;*kHhl%%l9(r9eKF#JHwabU)O3^cF$ca^=I+Z{Hn7~ zWl!xA|7ry)HHl2SaW~XGis7P>r|{JC*Z02;-0a5p_etO33sE~c!#Q6~F3hr= zsVmt&y`jAL^2E2Z)_-GIQ*-~Jvgnm5Jz{bZ{~4++*d}>QSw4Nj-Q)GwRz2A~F`Hpt zw)UiR#XSl9OFh4d#w2<*l^5Q*_WRJ0XATBczy6iVOyp?lIQZ$`_jSAmZaHQD8MLjY za?TN|mS39j@Ue#31gDREk7j@KSh!Q5f9Cw>c{`q8+sgMTtXyI$n+RV^P)?GI!1DX{ z1}A>~zVb7s_~5FIyN-4B6nK~Zdza;wxIgR9ZU3m41KzD^JRyabX2l5q-ng~#=k90A zIyR^Ltgl~YU47YbIxF83<`uGkU-+DHJ9T2ko;FkI-W?g|BvMKq)M|#XsxDEVzkB9`vI=FJ_IcppiJo$B5@!lwR)@sIorj}ZJ7>@QQUKW*5GuJz1CV1c- zFN2wzgM`;{z5=dNxi3rJDX8)1JYVY)k#lEp&!_53qRd?OEuZImtqXc%<=LXO*ix_X z%Xd?iH6rYH=LZLL1Uef89Nu878U0Lmqnij%f7PNWnRgy{4x7qPTf6;71Yi2)C1tC#(|(-rh5Cvc;C;-y&$9;dqOE9$xW zEQ8O+zV7(X&{1`X?dM_jbM@x~eT$BsYVIlj`bX1}bK|LSp6K2^J>_4{TE+|hIeqYT z-^>*awX4?LP% z*aJ(J8+>;l4+VH{UGpnbbWGH!T8rtU1yk2SMB)*7r+18YU;<|UHmQ@^-wAU-(4ZHX8 z?N2VgpVs@eDgy0K9aiA0JpMXhvsPuIaG~=>|M;~W7dEAyU@7d6DqfP`^Y`KVu8vI; zk6C_M`gw}bzDV5*f>Dgdsmi(YjTsNfd=C8gJK@f$nO`NJ&4@VmZsskIbG2GF`auO% zzb8A0&E>mVI_2HF9gk+MQRy#vC9v`szp1#sLV)M_mkv`nZF+=vD_>iBB3wNnIo_a0 z@nJ@K65HW}e_riBbu?P#t*zaZ{|pA=zpnJmpZ5DO(^P}qr{#V3ePuH4Su$smr@WW> z26e#)^PYV4Wi%+uS^1!JiSFK=j}}iZY4kY0@7Ba-A&GC_pLI9%I4U|E{8w`9*1CBq z^9>R|J>KfB)gH8V!hz=(9?d(&$ho~;UR(3z_p{y!p2k~p&YXOvm_M0al&AVhm|P%3 zIs5W!lk8O!Ke2_l-LKs}D=aCxGJp0$rp8*nqIClE`E%7FIS2YRH+LN4=KJ!=%`Rv1*JZ{Zzb=^FtmXp{nAs9%l1bxJ<{oApS3&8C6C$Y&;7Y9 zr_QZ3JfW=G?)pt_mgu2>A4GXySzYqqaU_X7^Stt{l^n$eU7|71i<9RS*k;CboD+3E zW@YfIo-3p5ak`}JQP)Wa*iIX~Zaf+wyqaOhr|BPUW@TF|2uY7ro`4vp-3^QXL!_DQ139<;(G?r2^uG3d{}S zmzTP|Tm8M!-f>o#MB}6LXP#Twwknia9Qw1k>E@#qtSo|4a+=+q2ACVj&0HarGFy2{ z>UoJ{na>#*{@VU$n9HDer0eK08M%8?rB%|k803~MIi%AVUYI7!|7A&1&5p+kY%EW{ zD>X(Wo89=cJ>m46w&V7#CY|EhCw5OL`4y-kE#-9c_5qfvE5R!w&itNTm8|{8gzxa4 zPfI-3f9kt&KFY!J=O)JIN^?(WY<$DzR@~>7Wq8uUCcXJT!?gv|jACa`SQo?hMw5S5 zQGuvGv+Uj%6XPvHPYEA9|7D5c#vtjYy&-c_szaBh9B94w(fmxZq>3D`t8z=@jiYlW zZs~uPp}i%2zZ1L3Zi%Le8&AGG&orY$x^ccnk#+gvGZJ^VEW6i!Z^?ms3pYs`8CeB~ zK3B;7*`H7~f2q%mS%#&)`97D{%*&0vBzoZK4))h^xsST{v;Da5Kkd@}m~E4?TLq7; za7eK`^3n6-^oT1tTef#eJeZPTc*nRuN&EBt*gX^TXIY52YKA97<~@xwAY8pS@+R+VyZ9iS&63u6E8m-E_&g*8lUWB7v6N z_b=lnRb^#O{C{cD*)6LrZiR2p5)66zB#61>c-0Cu-ib;xPCR(>e1F!=6y_YCniCx= zJYVd#KKL}ZWsiE^Uabg~nOvLRC>Hk~HVrV&Vf8=z^6hKCb65Ozp1Q}>Z53lWWG3G7 z;Ola?!>3c!S!C8OFXH~ka!}+YTPe0NXsu-`o%G|;_MOS~;`_FTV=SOAb)abc6 z{A^ftyD{nfp>m~VLJALdgvfq8e`)EFB`0UuPtW@H(pSeI;=yg30NGz*5}mixT&#anL~xm2hGIVBm1~D9?x1Lr$04OVck22$Mb%!R8Mv2 z-Z=l+`BMe#I~PxhIr2Px_ERy%kD#*wJQY%ZMzF;_Df^QpK1*{6i|dx$V~(!_PO2DI zMk^J?Jos~mzu0r(bZ`B%KfY#eEboF_CC=Gq?VoY;z=6LRdX9H@FJJDz*4rU6>~M}s z56`43uF6PJZnaB$InU>3t;(Cjv|jDK`BQ}kM){~d!~DEvfd{*D&pqzpnis};!6l0) zcPqp5*Zz^Ra|}-xHu#22S*>?s-%FbbnU_p9N!;;2;v&1C-fF8*WjFU^#c7e|g?)3i z)RRsbe&%`J_h|9wBG1IR$JOUemE0M~om(2l-uTvCqgecQX7STGYIh#|x{{cbdSq#* ztl0-GNwrSDkOv7V7uNMeiXQt@z+V-!*k|UF;FjMzU-)wC%$`v>d)qHQ-Z0@dN%<0) zgwJQ~&!wJFR{3CfjFnSy@~N5|-#m`9uUIbmv^P-6E=tWp{>)X2o3nLhvdvLFwL#^* zvgxV@v6!8z%lgYIzdpV;M>R=QL}1?I^_Q=$(3!N->D9p$iSsK~G8?T*m?UoTZQ*66 z`!iN~_!S>KaZu!`#Aji91s~>jS<~llNpt-yy~6acd4FH+wx3R?9``*CM6D$KI zGLG+j?U%`u5$kvKZSx7XZq7|_Do-*QH54|VT$;}Qj?bO_)@n_S13zzH>FKHZec7c; z_Hy~T#}lj?U%P9lMU{s6o7cJDeSNO>sB}+aaPuqos%CAe9Om-J*JhlHn7f#H!@@lc|L)tbD{-X@POS)=@WJ@nBFCc7##--=d9tJw zhcwJoZBPHTi0{pJlb4bQ&0Z@8GzhW#Rfn^#sfqev-@a9{m zkL^ci>G!U;c`G9pF@4>I1&^=o%j%Drb59t>V0zRncbY}-+DLf-061l%d@^)W}J#M{=B>U!K$wGMV-!% z-esBhBr+uTYaq$9zJ5=mXp)7Kub(6G407lwSC$9ue{eg zxNXV5kRUtGF-+fk@;laToY@059SuI!S3%UQe7 z#O!=lXQp(`gRckQ$BRd2O^lqg;LhP?mA``Xx1OH8^UUUb<$Vq^;Uybh9-cVi=C|p+ z_8GG?r#AD*GYD?YUb)fQa&D(iansGOYyUIw)C65Oi41@9CbYcf z)SHL~Tf=!{jW#VGsw zhMm-p^RXYbV@|Gc6%lyyCdA$%_`<9|^S!s0YDybzp2ui$a{b1CQZ*SL#GC$ztAwvD zE?(m-wDReYPK7 zzgSzGyP{Q~?sN8b%k_SNi)NTY)8AjA{;gqEw$E0|NF6(}q51ig zod%%( z%9L1ctdXAF_cc89$M=WMS=TNYojcIRC(SVN&h@8Ei=z&6`9?iF)2H1%Fn4Y*3|~C zsk;>QZ?W3%T)TT$m+McNvJ!w96KkAp3_>}1A1;N%EPRf3~ZThjlp-%Pm@*ipUZfQ#- zPP_4+VXdoNa^I8dJ8#xFMc-V@B9$^p_k{G)`#s6)MW2R-O%BsEzHxl!Q@y7*-c|D6 z2+29>C2@s!Z}oH2`K*UxTzC0TGPUehfA)Oct6gtq-ki!V`8r@?%EY50DY=3B=OiyU zE7_rUX`x@?`Qq2JS|%KfbV#tO@3l5O@v6^4W`cDnqo&3aHVG~(=07jbarSIDdHWoD zRLisizqjmv_z)JLkYG|0r|KD)!W{ z$6ai_G8;cD#F_Uo%JSFD>RgmRWd(QR3HJV#D|mXAv(G7XNaNnYr|BscEumtxqRb}Y z%daa;ma|@|_}^1x*&rkMc2@5a?yV;+V!p_}FiOb_KK02ugfY=2NAgOpj@O3d`KM+z zhE7tLuT%5&m6mv>D7SH2k{iQYe`AJX@jAOIj^sJ|AC`Sp?gKpLwzG2cbp)O4M!%<@$e)Z*&D_OcHt=bVP)A-u)R>+gbB5Ir+oX5&5 zXMTN^`D(sV%TMQ0_C@p8S0zZth8F+0((3l@-qF46S<4JlSpCjPGf%P#;afU`@q2CM zV^QTTE5c9bFjW3$_a>%`L!=4n2bywP54pTE>$o!$H3>wRCAdKNxy z2x;D}KG9)~$NAP<9$NM-{~4?pgD-c9UTJ=2_;548uek5uRQt(h z7ZrUkZm)SP%G6fi=jI-FsLkR;`KiYWe2z=cFn65@W@q3poK=;puu!5#MrzGjspC5Y z_sf^>jr3`f5|h_@^4CAA?Req}W2Sw@`>!ntzhO3y@n!$((2LjqdZ;i?dp<$S?eo*t zC{;E~M(NE>wlAIuDnu-_Hx!(FjMwvNWqW2q$mi<}$@gaSzw>h6Uw8^GTD_uDd+yV$8#FLtmR#G zqPT%Q=A*|NnLlfH@O>%fIj_xKd+pR5p{ip4j00s;{xgVwS>0OpKLR2TylG`SLP-&x_!K{;mcXY9uLO=rj0Kw zkE$F^n(^7iBc5I5^DFkM6t8&+X$;Ks_H8XV;E}Y3fu(=;wHX_E8eU0kIFWp7)nlzq zvaep1eQ-P;H9^sdA@=~^->hK4grdqX?;YGE@6V|%_S~Q-m&cWJ%&+*BM&_QWs)jpH zFe{sCW_sMP%fHP0+BfBS)`PdtO~n~Qmx?o+BGg?^UD zLOZnz+^?-Ws&ZP_T0m6VLgsJn%bG6_XNt%q%v)}^)pPP`9piJA%Ja6oI5WFVbpL&2 zroO;wHScw-8&b|I$Zge_>0wN)veoIA?Y2BRaPq{{3btj=K0BYSblzRYd5qoB!Mc-s#({V4 z_g39Lc`#=ES{w5j&VmOX%(>>v_q5NTcydrD-?h&i3}01>Lz5E(y=9(TnDm8t%vaYr z-ssxxI(1^`jONKb#g}L0nXv^GH_qLEZN_g$ExwRPGu9;MzA~40zWj071aY%f$DbJs zJotO(dEb|%C-SGT1sPvo8tQvSy5Lr&rQEzLUkVLaco#OjJ}5tzPr=q{zpm8g^-fh+ zW}lk7+{z-OLLr=^U31i`yjoq4qbKMRro4bW^jHgV>%V`_POo(waWS*k4`vc z$-Mt@=&?(lMgI~k9{kzyT~zPUs^zTF*KOpNIy?AC^OR`>R4SxQsLhJF>-BkF)y7p1 z)*X0bsHn12UFF#f(NxCS%Gq*^$3+@;tUXuUU>`NPq_=T9FCt}fg=y*=Vwh!``OWxbMRR8EVd{fyHMul z>$m2}?tApHZ|D2atADMo^crZl^gny+xj;?Gr@g4A;rns`j+HADYOmc7BXZ_X^1n`KURp*0PTlIQBJ3bc0kaU6JZ zMfF0>!$Wd=>*t!@vk_J2a(sDSgxxTKp|70brcC;ej1vqSthaqtTHtBiuqK|l_uf>^ zDIBMG8vF{_gWqMaoD67|klFZsDQh#Iufst#Ex-5Ems|XKWwVm^Dq!G~ z?6>9566MyetPXkiK<>-_-9NX_UAps_^_8iDp*t;~RQ(E&FqvPjEUCU<0xL-Cw< zvKbD?6+NCbUzb?0sAgf!^xN~^-kZV@AyBvY(&BR}NtWm3y(W6)h9z&YtNc}NB5*;2 zU9VE|nEP4}PRRpD-FZ4r_WW5sf2G}&p5jmHIdxMwrY4_^pOR7{yV*bRlhMSJ$K2N{ zZLFF0``E-83@tJ}6WqTpC{s~?`m@gYM(Huz%s2iPvW1~DR@a;=sD8FIcJ*`{{gvo$P@moa>f-ioqslapLk{56>_M-{h`+> z2NpgJA2tSWQJdr)3q2q7xi9~5aa!PclZQ(4cekB*`O@{YiYxBBR4~A&iYLiqFbh^)C5f`Rl^W#69aS)Vdiva7iBf z)bQRywbs?<HQgYwy7Wb+!z;#f8cczT=e~Y<)H++$n~y)LrHQYqt1>hw zl3#=|<>Ut58|RlQCfU7uzT@kv7P*vc{5P7fJ`gU%OsR(Nl@u;Jm{2X#|t?bkok zY`b&$(_Niq`4$R1&l*g{3IZn1T~j!#ewLrXU4CWR)w-$HjuOweM}_9T@z#tXwophpk4h(sa`1^o^2V-v&wYUEa>}d45dD7Pb?Uvl{$7RX$W4^_raf zvo)#x_QuVhcAWSXa#Hj6k@d`TO8;a$WzIeyrs#PxYN}ePB=6-v*|KRWb3VWCnt$%) zG5@XFj5{W;Hau~_@|^$cAeDuOwpo6$zqV1x&+738(e%0tHdp!2uT?OgmN@Z-@IP0t z^;-?WboL0Cex%11}sJ?U^rq91- zF`bJE3it!|a3d1kV|!@N#6zP-2hxPnY^lv>)wHOud< zb*p?GnXRu{t98lZ(Uu^=Rcq?G=BB(bj?6Y#>2i2&#uDewRq`T#pA<$mJzx&zY|FaR zGl!QoDf3}})q=@fbJNx;8=DK=u#{ZR+_h#6zrvM;n_~@T&hE5$*41M!^7c-6j<(<_ ztLbX9I2J2y4|Pp^@N912vz|v=LOlyr7R{XO_Bg7zdrGay-D49r{tEimQM34yrjh29 znWB1|98Y=f2rlw9nP;SFE_E!TCA2-*bIF~|oy=>C{ROP~PA*ZK5kF6}b@Rb>kzuJT zCW$f4h`-#`IivKfTePh8HNS;fEK6I>&oHevP6-QEEX`~%k_2y6d+O#JDCk^LWiU!^+s`r|C zzb|X?2H72JZcDis2_JkNa_7Ov12$Kis?4fFGo{OQKh4iN_jH2cv8>fXj>oI!o?|%g zweG;2w=eIT>}=?4u(W-(T1MvEmzCXfrpe4(az)S4;`aSnlbvL5N*6f1%WRo^;kiuE zrluwR)8~EVRJJL6>%hHp_dIs5%p!}UhI9JNCa^l4@wBY7)zY&Tni*}u)^A&$EW7J! z@|-_==3Ny`DhTg?>QS?FqQ-fdIgh3;Jsx+};{?O&&s8D1#thN&)qPudl`=Q{{8u`) zP|jdM%H*(FG5qV313Z2PSqV33>^S2+;{VnU2wQii3l9uzNu&3YgrC*wxN>2~ZKT(mD3UQ3L?>z3Sz8a{cUGpZg;rPSw0v)qx znOx?LGM59Iek5;^Gj=HKy(E+OBzaC(W@_=&*OwYpT~FS=Q0%Mtou|(_B>LmcPMbon zOMea+7wtPX^|a5-*h7>4GZ^PRmTg#;fAUWC*YBoG8)GJZ*E~BlP1fnVsJUeF*>e`h z_%fGnl06^uY=Qoy%7ef7+h*()S)$o6O{&A$3I) zimw#<9WZ9xzRmyi#J4`WEje=pe_ft?oM#oY-0~~6TFR6DGicns-hZe;X~IVBiQfzE z|IKRcOg}U);!5;SmU;fmzb;m-ut}Ia@6RR1h2O5+ z$uIvIzFv}aHq_#3?&0HQ@QKlLHdNm=Z-4t%x9iLeGk^9ORQ%Cg7GuZwgy->oyRX7} z(a%`Y=j~YFD>n6p`KkLKWFFL+RK9WK{UqS$8pPwx^Php=fB9ZzJ5NcupCUZ_)SrAj z`Ks7Ax_2+bf!D7ipPrPEUAgqI+|J`QbyI5=?Obr_XY=#*Hfo>t!6{Ic)M z(Xh~0W_o_UZYhrED!(q1bWqNCzAr=IjZk}nt)<8Xhu_E9FO)C6e=_m1Ec=fu&Y3EG zwr8CaO#Ylba9~-kjo2M~sVQ%z+a4U@>DzLxbi$XPyDulW6zx1_`J!sp6#p&#%Z#co zc=Z)XzxGi`mX!BeASZw3XE)EU;G3I!{$B88ejOUgAl=9|J@fVsnc^;<)7(u9z9e6f zo3cY@C4=z$iJ>PI3p_IpVU~$o`Yg|BhBqEqwQxJr0_J|N$rb1BOky=q z4P{9wP0Hl)IC^2dj@7f-$|ltgu?Ie%d{QM9^Z0$SW2TUih%$5E%(uR!lJe6sVT?J zfoENT@v-~$F_%PtFIZPleYH)(x`Vs%&&!6MlzFu)xCLkYU`bdXXFt{9MDOIj;#nIC zI5p3`+j2d~le1~&`Ms<+mVEqs`Nn4-4Z+jNk}qHXygKQGbh;(;<^FTC{P-@}#n)%; zOV}8&P~kB{x#Y9OS_g8EvBso6ZrG`A`7V=5;IJiE)x|UZnm(H6*iY5^I&!e2?|A>k zHrsb`jc8o&%loebE4f161{l7)Zc@yvY(M8s-kgd58LpcwXmU9Jz&i9;r(**DUCBoa zLIdWd?2NN}@rpk$W5=ocX2rW@{+Y_p;O02yY5DeV*5zZx8|Dc1JX)ObZAapqFAoZR z*t9pY-bk#ieYvQNUE$C21;-WsW)-t^HiR?w+3tKFU?LY;|DO3rfLf>BmBN$1(&nf? zm~i9#+OUip^16R5|1-P}lKA+(i$k~aV0p>mg!yrr{~5A_-0mHg`E@N@GnGOA+AL>< zzxSl~Z&;Y3j-?Dy7;= zbAAiY3EuPIRC3~$d5_m7xofcGr3Lv*NUjumu|F>Q{(9M0F`i~M*NVi;Uw3WTByhZ( zXZZ)y23ZEKwL5nUSzqd2IDgLkA}eO^DeKyuHZ^%#{;`@>F~yKIxI)(c*Vk6w!ycBl zmdC%YWWB&+wwb}tV$tE8yOANnyPwFlZ&jGdcyfZ=0Xb~}|AtfN_vcs5RL?!$sw{u> z+JwobxBT^O%Kw#IEe#d&x?R1!CamZVTbg+10?$J4yi@a9 z%9rv^<*;}^ImD;2$aw1O{C}G)R`REw`$3@d;HtKE@wPu{bkLEPi^;iG`_H3>+_wl!MU?GBVOD9!S9j0ZX1PsrjkqcOMESj*LEW-R4t|$-7BDc~ z-G6Lq_wKyOJd6+cpU+yi`A|dUlA8Yv<@+*SnsiUGJ6`_Jus(#fQ?RUs-KI^a>f`N~ zLBbQHt=*Ry`R@&m3|602Ikl*~=J3WZD>Am6{waC4fA?{(i4N&c`e(1pT6IpM=DEm= zXU~^i{`qgKj_-7r1ig2Mw|n&*@=SA+WXb&|d)8^Y=d`*VHorqH^WFb!ifKG8bIGTB zdY3?5+TFfot9+k4FDQ^&W&2owKl!-)nQJxcBAfYVblo(H);r<&vpvu&nN4&8?~?Dw zibEdGI1xUF?XhV>>;#+bxjQV5Rjl%vrtG%1`Gi8PmeTGEDK+g&eRZ#{cHOALag%-C zzpITavkRkZR=6F$Y+D?*F70NOpGfuyYZEAL%r3_po!wvn#w^9VzxyN-(KVAw>A3i#a+JM z_J`wrm|W~mhWFvm8~e8U@vm5y`Ou$zze3d&yMU8t9c51~U=7aJXP#B%y?1_{)5L?a zSu$?gZXCMv*E*fJp?xKE;j|OoHawHETyO74bc}nt>)8^nmV}ZO_smOq)`axeY2|EA zE_%>r`Fwj8->(n_S77w_Bz@U|=}$YnIK$ExV@~ z@f|4qx@>z zOrG9bkQb9S-$3Y-r{neOR|4lG7ySCq(CfA%eoDIB-^`WGr@uTGQDdGlEnz2@lYS$%>A;-n|O@_hcns#CVlz7Qu+6()aPBjT&q~^wbp<5sx;3?UXRc4pRb~c znTPZ0#TH*xN=4=+OwZ{uSCmlSc|5CgB1gf~4R_LQKE4mGxpYj>^1$(B87kS{T$)L< zMcwM+_D7}Fm#yI7{oZLa?fhQBjWU}a9+$AWbh4@D`f1AtA43HcCKu$*{1tSfYlif9 z?Ve|I9$sJWCZW7dlc}vc+3dj{#=jTCW(bG~uG;l+URNdCV!;@-YwDTyy^#uwIV_WJ z+uCy_r`Bcc`}jVL#V%^wPt~OARQLL-)<-#SV>W%YSlwaPbjWGbX9a*q}t=KEo{ zXzGE}X%pSwZQk-+S$6NMHIrFmG#`9@v`vDc!e+bIQrj&pX*%wG2h#19%}UvlF1hLD z_RP5UYs(_Jr%9abULiMc%c8rUxl7t)i>xj`?#{^9$zgB%sDii@?@=Q zGbXWdzu@;O7k0CmU~uo$Z3lThH&;uA8^+8`e0&}U&sSX$_;ci#(eV{$O_K!w{S*=M zx3qlu*7fKqhl>I`w2V&AecZ6`#`{@rNnLCF?y=Pxhn1aR^L%}-ewn7KpP;z4WZPq} zho=27c2@<({?;`!H>F|0If@O#`d@6jyf+j9h#U*7-F*KpzTGyRN@ zQtw~*6{55J8T(W2bH)C5PTb#BrchsVY1hMz0;kL^zkgq?=2DcC#$xwXW_985jUtKC zItF%A7E1GU*rh$6*VJ@zIwPOO^FHIR3tU`1>i8u14>WuBJZYTx_fpm6XD4M!-#SQI zdps%jHBhR!BWB(4ZPgK(4KYsy_#cPgpHNiwXaUb6vkAOw=Opj^zT}3W5$_X^y_P4x zE_F}nl76PVI(c%?4!&~3({h@t4$DP8&wOK5o5A>ggTmp2<~e;|o=sT1YMr$5cE`Ye z9k(Kv{yC3tEz&D{WcqXS!8dkWI45s(F7I&;@VC$Be_(#P+L>J!V;EIPv@D*Iw7oF+G;9&V7)6*`%0J=*{{2I>&cD_!si!wERrZ!0Q`- zU1{}DNiJ#rxa@IRL@B$-&W5$S+^tHSD$+C=idi5F;0~&bX#(wf?YX} zqvO7~f7lW!2cOC;z5A*kqZzyz1NW!dICmIVTwKa59uWHjU5n zovIg}&Z2otW2ee(Z*$qbp980bvk0GfrMarj@M+Y9+m1SCs%xufxfq;eQed4~y#J;5 zl#I#QJ*kco=c8N?D6G6a-*3y&q}Dk5o#z~vr`8tS-LZJe#;%Jd>60YP4Eydqo4YkK zT4#lQXHijI+msI+FZ`p}9!@%FaM$Ab=VeUl3JX{?W&heOYkt~#tmcS(#g`=86(?^= zuiv;#BjEgw)}Q6Ym;0`;o(!ClQ^XNw!Se0bC2e1^CqBt##dn&0V`kLlOtpD@X~GFl zy@-artj?-RjtT*O5)GBg%O5*hKM6X#{bj(qa@LbK?reCIRr{n*L|-9KeZiL{0c*-O z+%j6e4o9ZDM4<&VkzM5TDbZ4U*iqYLv1!H@IJG5WFYiv$*Z< zLFGAD*6-48+QdI$`RT7K422kuuyR#=H(6Ko@J8F01?;kK1(FP+e+ExkG{@tP;4!w! zRhRM@7@jm=x82)nT`ag=wz_Z28|F#&6Vzvf|NUqDPRq=@h-328;~yEXbQOyw8JRyQ zHPQaKgQ@WPWswMmM}^X!+GZCoeC!GC44h;yl(}%?Qlm*s2FI*EI_v1n;5of}f%1xl z27+~o2ekN|G9#usB|mt);C;|f*T$;|=l z(l_2bsQ&Dv+?2ncEt4+g#{9igDsp4?DftSmzU3Q4c^kf#Wn5jD*m%x1b5oip&!)uK zUw!-6h8Oipcs$nqd$T?CSKrUoj?QW!y@%KN#~1pto`{@%=F_Q9R+sFY8=kh=@@b~@ zIeBoM-c$SMlEn3=TyH%8ea&L9OWd*j?5j$(St=(}l&31p`L?w7;#1KZ>zA)pyL{)N z$ImuP`(AOT;5|p)>oEoyi1a-89c*sKvSQ)4k8NL;Nwm+JuEVHh*7NnK!e=S*iYvP{ zU%t{TX4rgMDY3rn)V==!y>lgEZ zCCpb;58i5NoIm52d{!rSl6&&bE2Vkm&z?K~P&UiR-NF4r>Ean|8*`@0S~dP> zxV}WlX>m%&slz{Z^&gre>;605Z_C1_r;B3`?rMAc-hW2h37(8{BcbCqWy_ArsU>P2 zbK^{$6WsikMXu$7|9kHJHtA}!QcS`VKFroU1m-8<-ZZPuScz z%`JA~Vmtmg>z?a|`71L2X>Bx;REaKUQ}Vb~w>r?ib(^;Gv-Mr_q6_x^_Q~X*Bf0J5 zl!ND;d~3Sb-B*2jb81q?_dau;!ng6hf3iOG^)HA%UYWgG_s)BbzlXktel30-uk&iU zS|($H(Okoq(Fs#3^BFS|&pltJwesZZ6lKfu$9-BnH9OZ`Ic@*{^7AK^kDsPWsP}0( zER{%>?)cfiG(5m&rtBxD&*$^KHavL57UVh6G3&#d(q$THfiL^7^*-Hj#;f_V>`S9# z5mToKL_D8&Xf6l$zwJ+BkE`1>zF-xTxNqd?8DjHmo?+05sPNJfqm9QNwtai2C7!6FIOCDc*YC@B&U|)%j(1P- zOW%cerp`QYsI{z)ja~WPG;vk+p6B14=X_UN?Q&wXn7g(TpM%7?>gJ$hjzXVLGBo}( znGsVYyHXqpIHB7v;xOd^tGw<7&7qC3JoH()X#*AFuN%1@6rp|UOI+Dk6 zGDp~dlJB0CciiutIHt8R;c!*c?n>+atRhc_+IxwUZ7m*~Omg0-F_rVK#Qk{-f9YRZ z5_E~_l+o&6AsRP-ACY;!Rv}_(MptQ&r`^`&8bVgae;#%{NbdJ?ZEeWc++^Re^Qd9U zov0wQ2NTbGal2g1&GA;0eDLMh#Zx>RPFiyB&``fO2UgoRp zFSBah#J7RBuk{60wl^Piig)*ITp9CAiaSSp&vc1bl_nA8 z;wmc~%qE}93OKK`%6XE*v8*YoCnlJAH~$FvJ^3lm?#)-y<=2YI8|vhI-0+z(!Sm;4 zuXQ5EiU(g#4vBq`#@!xp{3-W8Q|lH69z*5Jb3&KcB^}toli2Ytck#T6WqTS@);qpD z8+Pl+oRf_=1kZ9DGg^5-ufX=D;b&o;HGW5Xr_bM$6?Sit+l0sILHj&S5%Y z`DMA)`spUwr@arP+1eghxlv`~&bfvHcP8=eJpSC@Q`K{pdT7A>JC-MYUE$X0*?3s( z^3!$qrzDqOTO8)_& zlELzOpO^a-cg^OxTG{OTX+_8_>jJGEQyC@C`LjIUzH?RduU$fpujjuE<5?}b`L4FW zfrNEN9wt{Dw!GW8?|@O&B)j(yeWmB0PJ8I)&GRpGKFgzsD^qSAp2Qy*#@uFoin(ve zynR(^WrSElF zz#4rw+x2qt@3PfJ%ArLCy}K34mG)cN>Aa50TmIPl_F1(uv(JBy&nbS{^)(y#AaKP|8MU~$12my3%TCmBxCzIgEAUHkf-HphCGcj$eYt=739 z(xtcIjo*WPQxD&{+r4^adVj<52J6tb;laN>Tm?I(8aK}Qx-RGRc6+np=q2jPzWTR} zXPi{qt*d@)*Vmp4ri<733jVY>Z};`t?ap&r37?KQFFd%az&Emc#@F>?70+Wo+L(R2 zr?xM9#)B9o%|n{6PsqML{Z23NNupS&JF}_(*@>Hue^gqW^W4ZKl>})fRe->TZruW$~%|`R6!NxzC#uw(@T@@vqy0nZzs8Zy;@tm)#mhK9W)?0nq z_Qgil{|puaqMgULvwv9lEYc!pf^GfUK%MHKcFQF}6DyY{S(?UdvnupSzuT9&`@k!E zsf=3z4G|4om|NuPprxk(7z}7<$ajK zG!g!1y*J|wUk9J^@Kl`GZFyR5*@CnKD{eL$Dlc5Zd(J&;;+@!6{_N^oeOB-9kBUeN zGTY30er@zbA(fkgJjeHMWh|T*cfr6gJbC-X_EXDEroGKuoU`iO+4~ku+a_7+aV=fE zs`(&Gqr=bcZP&u8It)`BRkY{M^{&2_trdC3%QE)(vcl*vgP6#f=TEFVz!1HEo%Y;4 z+$OIjts88f&zg41`ac8zkK@1fT$_@PiOE~7JjqbLerpZyX*JsGe12o zqAi@Otz7fx^8{P%C7mC_D!6tiH}^DYf8KoHd!1Qs*uBb$moB+;D`w2>vrfLW@84yk zTcx{=1x}Prs5oGIwlK7-KWO5HNnYV9jq_^lwc^d}r>FD%Nm`)UuDqu9Mu|x4wuvva zRZi<^3-rtm*;X~r&_`$O!P*CM3@>N3{&1UktorSL2C0}8ihjn|xuXV-#L*4&=CQ~mZFuB4PVheX56q*dNu=|42NNPf4%lrp8ohqc*T z%?<3$*q;V@+@8Y5Abj%IWr?R2KR-6#sSet-QFU>GQIY$9hPc&zk@L%=A{@Aql%K1Y zKlGe7(|)GWqzkgU_f~~uo!DJ-O!|C%RM|Dosn*SMQ;v0L9t?Q3XPtjl7~9FtPfu+4 zs(%OUKKFOOxunR^j@4pQ&8EGu)$q}jUUI{{=BDIT*`781 zd$Ue+*}c0OOhLC(EUi1ATxySL+*~O8pW)boV~o$Wdp;QZNq=j5A^&*+w_8l}#I~=p z>|50yoQY)kw84P$eE=Iz*);CHCEu32U3`A#7FSQ>#O9x&W*Obl4>dPMGBK4kR8PJU zv?8K?+VZT0Z$rH{sNQa9c&vI{VfoWNIP_A;M7}$J_V#~Wwr15^X^UH& zPu2(7vYN0ycvHClsq%&7uAID7z7_21D`h?gX!3Xj-)Z1Hr@4;V%I?8#mKK!HH_;q2# z$~!Cf^cgy43hUi-SZU|P_VgUT zPM?qOWh{SS^k?y+$;Yfi0{e9m*^IBGEz$CtJ16w8eIi(KH$1&^7rpZ@UPsrRNrWSVVh`}+-C4X-oUXmzp z-N#?}+H=d6w;LP#d&EpScGT;iy|>(YgZ)~W#U3-GD{~*u+f%aaK|-EwRj_koiv;fl z#+P50i^a_C|9$j@yYlB{0SlFHH!SUZS9Q51>296NNt?%Z`@V8pi>frOeNi=ksfAmt z_XG#W^A;di{o!q49ta*%4;`x4)Z;9JgJ((8-pUc`cQDox$hceIC+RE6pMI0+C zZayv&Bc;RS@IY?nlK_9~O`MOnX#{xxX=uKYzSg)#tFbQkz~4KC@6R%{&+KwhWq*F& z@kZ69BkxuSN>rvldp_rKbk%=`RYi@P=e3*c(EhA`%0go0Grc4G67+ZcDm^yLLdWe#n$YUK(&E_sfBtpuyz!vim@FNe<99=GMe+qN`W zKGtx9ogUxvRMY~tOScEU_w!Jm-rh;98eMsLuWh8JUE~dtDqK-rRh?`1Y-J5^5~k z`qOqi`OhGhW#*8gygjPsfa||gy|Z`9d*#nq&T%UK@|@yVS?4D!Yu;=Ksaepszt`#F zM8UM5+a^fx6}}C4;ydHm@v!`8bzvGD?Syt7^`Z z&p|g-Y>d-aDpY-6xv0P{$iVpatkuuN;|+5AWr{C6-fO3C`1ItH20wS^E?54p&?%>% zGA#=vv6E06gxgdX!Vp11F7 zaOF3J{|w@VUgDYTWzX`8tgAzB2+7C`vZ-!ouu9Ii zKR3na)$#Ik#(kL)nX{B44N}Wk^d-J7QoB``Jo&nE*TVfxcbb+nls&&T#k28*<<}*T z0vGj2Y~t!XPP65_eO#4*49pqp?U* z{It%iaFzaG|3ty0RX_QRcYHJTO?5b2^kn{1KhKZ*`zLlBFqK&lb%#qRCb>tyPJ`7? zwBoyLz0@i$=F>9sPmBC#Fm;-{{8{k%OVc&Py0tznf7kbHX*gfx;(&@{Sxvo{*dE`R zw`2Kcv7elew^=Nnk~y8_w4@9B)SUT+zTpAI=dRg&d>uL^@zBx3=F)66`^w_H1drzlHh(!*xo$glT(z)ahlTpb<(uDHceQ0)XVLiCVS9e9w?lNBYm&F@ zUh9DM?LT)0Relu>FPQ#L$m_BFzg;#b8}6*~He~rYYhHlNkE} zdMbOm?P;XBi`@%m`RlVPQhy$J(6@EQC1V4vg~xZ=x@u05i=KR6q^R|*>CC{}I~3Ao z53VdfCZ2wmr}B7AnBxQm_Ev_TkR>Z8SQnk0Bfr$!A!|u%c!K30E3WccOD6V-$W;9^ zosgQayYYNsSCvn>u{Glsw)ai7nyhE#tz{-(mz4LLsz0Yl+WOZMIm5`)I%x^k8`S0Y z_bSZT7&0M2uVDH8dkuO&SKJI|H!5eB{1wuac6;mQi6>0wY+~O0x2Ki;(o!Mb!}F|v zJz9E%`_%7BcDX%QmOYrJbK`XKth0Qls?GeF7d~HZ@~LpbeKiY(ugfM#@fxUT%Lw*= z(uj2adbq0UTGA@VNQ+vWW6tF=o#cR2~9XF%#_K#F_WmW*e%c zxjvSe;J=se^!8*K?f%*GDqeaW-IlFf_t9B~?Yvs6w!+Ohr3YXCs=ijzuPxi*aLjOC z@kB3`S2u52NPaOXnq2Ifc2_3Z!myz5g5YgaiAhh5pYAxR($mKqCd?`qDXIQ@uigHr znxfV~VcF$Z`%Rhjbe8AuW^jmf*8-TqPhGSucxUI733p6aAl-R8*?Upt&m{bgMGu9~at@rgeb zHle=niiFv>X&&;?&~H8X)0Hv8mP`JX|mYKQXEz#ZS@ z_D8WM9mq6VvW@E#pM~TS9*5(_XBBt~oaPtbwwt*;v2aJ<+}ah~e6c(Jef-a0b6H}A zC3`_~bJyf)GCV6@zxBJjV}%Oi`3*}8izf2D4q|LP<}Jst_9s;UESJajnr&hX1Zqqa4D8)a(FXd3xRJem0Cm7`c;Pq80E1B1kI`(DmQ zG0)Q*p3L)Ke{GII!~_HDpq8{4`}JOF*Hn%j?%OGU+T>@$Q<)?m6WhVB``*I*mWlnnEl?4x&d$!k<$!%FbiCgg6ob}2pq>rC6?EAuS z>4x2r(&g(exjjq$derz?kOxEG-Jo(RH=)rOP%l_yU2Jz0Fq=(3FN|8- zPkH=ot{0E0+7Q^VSiQe0OXBYIv=F`p-%YOED~fn5fBvUj) zQhcoVZNSP~Hv`YtbZwf%SIhN8KG;EMVv~by+r=Ac%T9zUFRPS)7|JHiV#e|HwHNoc zF!$ike2XPyD;G@bK7EeymweXj>axTAmsY+%=Vv9C74VeL@zAA0v87K+wWq3PdEEZK z^yHKN16?bYE4;N}pH(o?E#j+8&{M%hn?w%E@Xc6xDM-2?M=4 z?JC!rFJE83%3vCnFibwiX#kt)*j4rjqClvP-LAnD=F=gR}rU;+}2vvn9mX3 zniitD@;`htX7WmR>RYO>&)Ts0m(*dQ66W>AFa0C8eViP!#Jh9f<`3*Fms=113KN*$ z!0$CN{r#+^iV=5&XU$AM_~gMgrqjoYe_VNO#+tFjxA*J(23McWa?ds_o_&3C*t8&z zXKOvC3zu0ozPz<|$<6O;M5nV)4x5z2w>R5WNrrc!!q;c>rF&obR$Sp`X}mTorZ$WB!Ph1FKd)Fdhn(Cl zcje3#Hz%vUEtgf(o|zcK2ZzP53ZQyd|*XS!<-OHu|kuJS7%!q@&~3eQ%ZI5I2d zsEW3MP5Qj8+y)AHD{g$3nYHd|<4IGS!#c)=R~X-io@97z-y5E3d8<-Xa%VW%Y>qPQ)gR*p5yo06_Z?C!n`-Qc1fy--Qqu4lLcD~p9z09 zU?@8ub#`Lg-8Fok=jBgayK`cR@zj&YWnb$>+-&nWc+O92GE-y1@`6{@X|td2ICzfp z1^ZT>9zG76BKu>jJXSECmtJ+?iuam1^QWy*J!u(Q!0~!cxV>Ty^NlZGRya@M5k@V~V4>rQ6te~H0sUkkQAtlM)TDsA_UJA7}R)Xkg9>~S#i z%A}AIQ=faw>T=ZljOSd)D=$1OH?QH+hLb$EXP$dJ!OigYwFw^XXRoc?d+1%N>+Qb6 z8?$8Zx-ka%TbwiW;pV&KQPk2i@$#JH>#qYrSGh0DDLhv7^`++yt;QW{MPK9;r+&Ev-rbRs@~dH>Q!S>c_H+>ND4d718d z56YU3d}p53yY0cet8<_2V9%DbwODcH@QUXjmnr)Qgc=;&e16&e{HnZ9J0+h>vV=05 z9pSmjynQdzOHY<&2eGSN`+^mVPn=blTYFCc<1>CSgtvi;Hb`S zztp8=Rq?UP<6ge(hAY3#-@|`xsb}|NcF8x@VP>D!HlFyt_-w+DyA69LRUFj|jJYM; z=dS9W^QhT4InQ43Z?^K8R2_*Fxi626&Fk#_&#iD6sadJ@bV{lEb`!DaI|m9J?pZ!JF*(I?$2{+G-&Oyjo+`alGAqwJwE130;>H5@m%eh54nJiJET7C@ zYRy<;cEL-2@5?*EHRpDy`UdM9$>k}Y$ErT-z=w+9OWj;g*FLTLoig#-qOvf#M?u4LXHb7^LmLh?!5ev4mMc_uckHu2e^ zJU@xo(R|vIj_FBqhJQ09|M{-GQ2u4%5?75S?{ti8Ef!4kR8vu2q1?cq=<~C@MBd=F z-{(zh3Y!eiFLmKK=JEYpmYzokmjL6><7-V;wdOo7U+~gDUD~H1yosX zu!0tgpNDw_|K9t#jPtO;>Gug7FS0gFPGmH2l*swYw)At9;nwiyHvB%-mp6$0dHK(6 z0<#>4$-I=T+n$F@8A^@@rWbBV(EiULX1goMxXI6Id;D5;q06Rr7q_fG`;~dCr}SI) z{JY7QO{c6gXY5-%`K4d#XJzY-6p0swzpm`)xt6`I?)miX+lpsp&Yh>UXGNV`wqjs# zPmAR9!n0nfH;%gTS$|u$fbH-d&A(4rM3Q@|1h3CZ+@aOe{N%X;U;BqOiPjv`EN*M8 zy-@OfrOmSmhPPYPnblcBH8?jX#w2JadA#jm{9>{%C(AD3-W-{KrCpyk>m560f4-_< zngK(v*{{#;8asPar>x{~IB)M&IAeqK?4}Clr75Pz&n=wVz`Ww?N~vJYTRXTcSw8r$ zb=UaWn`myKdwgBR^3EBCcMq-itNNQQnxa^9Bxc1M%SGPpHEtr)&be9t4zVzb>2)kn za+5gsc;d?+7d|UZ3spQQ%U+-LjBi^vXTg4>jpu)F6{*_!X|dqC2Q#$_uSnG$o$#z= zwI17({^}~>Mqlr#x6VA!O)^`u&+n)7G+TyetB=>IdWz+_WOyEU{WEk`&b;Kszk^tQ zo?!k_7`Wwt{)~vq?pr(i-!drsE>5`pDW%@(?2hYE`V;487Wed|Z3&qvH1pz}NlTYA z0d~b)vjm z4_ljkT5_yFq(u43takzGb6y8W@TlbWZ5H5KS7F~IR_0k)T z*(G@}ww8oRE%SZXdd{jX&qR{@pJogl@Hb-OD0)q>+g6O$aIb|@mk}=d6u&L zS-b-O7(P$_@#FlZ&Ly+lc|6a{{0^4f&|ZGZ-sh6C&PMGN-p5VHB}^_Do;tGbX^s|C zVc-5VKJ=E`O-W^*#S28#SbEML^RzVinxZ-}LX&+?seIImGe(U@Yfa8rmD(ELnz5(wg24gxzP+zlHHA$wLc0pT zuJT~twfRY#mamqf4c}fZ+rPy>gCqZ}6mw;HSP;DPe4+moPVOhk%*uV5j>kCd^|!is zEtL6GbwOf7`on_4c~d5Rz#{iINxvsfp@B* z5{VzrS)64xa(?oTnI*j|SYcu`i(n7)i_F!NL@W<8Hq~bAV*L2IV1=8&*Q^#7=Qh`$ zj;eeAzC6Fp;-7i-R8onKJ(QH8xMYADK}X@-LvjX zhuMlZtco#7k%iN&3q7MAn9kk);8PX9^E*vRHwWI&8;|=n-?{uRR4al99j2j;{n;T-cL9EXIP!eY}51S{#3<`lUz4{`nk&#I-^L3eJ z8(43zIHncU6|ich`fB0JB4;>5yyl90eBXC$nZt$F$0wg#zMN;dZ08;4Nsf+ZJz`E( z25`$c{uBIn*7RSHdH)3Yb4#3=H=Mi`ZQE+B@cgNUEw4|=->10`ck`|OaoH#OpW~dq zC37wo2pO@NP3)4`dD!Zy=i|&L)$_ADr*ak51s*j&C9v-4i^|8BFI-*5{46~8V{^lf zpY6_HmL#c^>UR7%zTWToYtK)N2PJG9U;0dLi2R=ZcfNnsmIGz)ek%OcT($PeshNj8 z92x#I@IUrT@RFY)WXqRj*vf8Gc>SewLWF|e6^q;je_pRq1_N3Hi9Xw}VwD{7>Q=Z4f%PM|_G=^o* zxWXCP8Si*&Q_2MgWU_+ z&hN`EtgABmbHeW_vx?xnEZ3fz<;vVAo_9S;x~9x=UWK{By763*cAl=^i6eT?PP-JC zRi$mrY}~lbcDYKY$P@mD_FnmC)?6~UasJwZS)Wu=+fSWZaB9=GaJH54ueMECP^y-u z!X(}k+!M|0a{7tW>V~r4#eUO*lr!%%G|L*!KebbMJ+t;kCZ)v+=3eKdrfd?eU7r19 zI(yeuhj8mRi*p$d>KOO?ujN*>Onp2jZO4mJ&Z31Wyzi>6eTr@6S^wFPp|66eooTX3 zx5ar+!~1(pBR6YpNsVUstF<9zn*H55lTS*#{BdRBQltDlP6^X)$HJ#KLm8wyEfmU@ zdpLOn`n@UAEIY5_YrBfw!D&vyXP-~`O!G|*7JQuOp<}(ME%@`~dHc@cabhacmDEwoZi--(|5`N|^-gK4|X~wDF!fU*TCveXhS(gZvD?w_jT*m&ty*z1-qtPH0iXvtxhK zGnJJuTxnc#{LZ<1Pd?dx4BWM$zv5tl1NVKoV~dzimsf`Dd)Q#B@s#o4G*_*77P&i8 z1$t}D1-E=>pXK0^F`*~VrpapJd$+3$M;7zUnRBJ#<(Z9dTV<3Mp0ts9Hnmf`sd@dq z6D6PYqUl&9@eCPA?WxlHOq4cyF51F{aJ39qxD47l%4H zFPd>4XIh(BCuk`gW|P^f5^nZc<yet-$nQ>#t2c}*WZU@YKF@})g`*$JKx9f9@%7gbH_&Jweh=VNXAT_Gf!LN!DeyQ z!ppL+H;G&cUA!?&S?9*-(&Jg3GaKaYu8iDJq-ADlT{vqS`~NG?corFNue*}RFL~BM zt>BMfi;dh@Np2nKsT;R6_eX`DI`Z7Y!Hwa`{F>|S#mk;fo3N_Q`DD(lqLa^hugkNahMc@T zuOY}{cWAJ*wszTzERRQ_Q;t5H`01VM@%V(yJF^8h#y*_QXn0|s=hx+8sfXRC#2qLO zbX$|e!J%YuRPSZ6{I0AR{$%>V|bkJ@a;~dghq4xp0z&EUU+&MBx?8vgfO& zD&Fmwl0H9*<4o_wlMjBS1Qp3^GObzi#`&{gkp5|ji6Nrr4u4%4u*GFh?T>R73mCXe zdN|^|`iyFQ{SAsH=H{NBIImK+Rqf*Zude;cb3zwMHXCW^UY|GRYLJk+ZT!T(s^DjQ zL1F=`Csf)kTD@hq5>LmCq@wV7?rUSGxE*{aWpsq+vg)K;x72pca_chd1ko~Ql!Rfl(eJl~?T_W70Y5LfS#WTi=*HDyeDw1fUG z+#_o@?b|GEPmxQLB%j%c+Gb~H+D_E@a$n?y)U+KiA! z_$-$Ez1!?jy>RT6ozwc0)skcGY+3hl=g%ph9F9K?@s{~~R%gw+qgVdE+aJ~P=MLAs zGff#X%ElXC)O+2$x^As{pL#>lD)t}O6dXk6T;?vGU>L$O@o{-f%GK@$Avd2ds~G<5 zuI385)Azb>`HBUcoe~Eu?6w^Ka{TMEgzbB+*%~A#&zre~UH#U)kOteA{ap;1>g@SZ z1w~fHuLGY1{SIJx@O*MmrQcy?mXhODElf-L9<6mQ`F2K5aoPfovWd6lX zYnZxCS6#&clNn;}q57X0&uMzHvlJL#TE+9lQq;oYu_;3ar}yLuY_(RQ9T(ZP7MG@~ z-wRESF8fwsBpDaGe4Y6NE?>s=`75JtA9-#4=LzrLW3{iX-=-H%&iYirWf=L{laHH6 zY}H!D#B0l^?4B!A)pB<3kzcIpU0>o^UqwxwwmDsOiML@Ib7D+W-PXq&Pq8tq+wO8* zPev@RN7{Kf4A`C?0^ejsw-13CvMu)An`OTwoiOBV-s)juKKrzY74a- zGt=egyxwB@;>Iigte^7X*Wd36u4@n6HD#Y;%%mfX2YCFmzVBsz__XI1Pu1Eb1~KQF zjh4?~v-M=2^|-*Z`qb0KFZfyicwOJ)Tvfm2&BcTXf1auR-0||$m-VG*;&m>0eB5}L z^}*xIrXSneN^w$Ltae+zMDLm!3b;%i=y;lcRRYq{j+X;i?byJ6~6> zF@ClAcwx#-k5e@}az6O)Exx>Ga;n^KEuR;P2{sohWsB^#ToBWFE5T=Y-F|M7@Q>|o zUGJV zyB`>QhEw3!nw_5+_`kf;JUZPn^^UFP`^leA9NF-AUa^DpK6jg|pG6aQD1UdE@ZFa+oYZfuR`5E}jJS*ssf!VruX3wwNehj*?)9v)`DxVNBoy+`|>NpD!(snDE3>;hXZW zOH-2ULhguszA>xj;3=oXdrawR9t!=h{qCK5_q%w*1K|@(Q&Qq*$F<|E_YsIbjVaa}%ql`FoD3p^F1gp0^3+KCpW3lgTF}UeEiouC4K6 zlHeMxP?^7Xo;1G76uo~|QMkKh%hcjKi?o~o_Ogw5g?%HI>c zuVWOrn=kpxeNys%vk$3+zfYc+xFj8NOhx`TbG;SeYE}hhx*l zrdNFz-)vMlalwl{DfL#T`yb8gO@AmG9(Xm6cj+V6zAM^d>FJW^?lp@(bz8Dz=b|lq z$uEAce-os>Ywt{j)*E8aXaq^_>2lYaKg8aoJf8;xEoY-^0 zqwVQ|TPhQ_OYe29eZKrwoa55y+rCddLdC5M8f1!mOG0Bh_0MGE zrd+<|CG9JpH@?uGuPMNSEeHq8=U=0&n{|E-7Nvn7AOP=H3FLG(g-+N7~qO!DC9?*YOQqd<~@A&q- zU)B|K?m}gEk?OhZs#W?s*X-P?$q;Y2?S!+|g9bJZ<$cvx78e^&ldk2nx^f}6aBGKt zlgEpSC9IKt_h-y=U*^8nF6qRd4QEa)*?9c!@%W|2naBNVwGOnVTHZQ!_KqB@)`D|K zCC@WVzBVytNxJn8neTE}4!9I>$^Z}L<( zPJH<))5q{gor64k+maiX9pYq#)RX#%{_bunc~?gZimaP=gp7m(Pjx?2wHC4c}z3<`%InN zov)8+?3ks>bfB z_?vmaSk7?b3H3i;R~$JSaC}Ga9|0?=IX|nXN~9#n@o81MnJ`6cl%7%e^59ZIy?B-F z-wSV4Us`v=Gs$?*$NQfbRt7eHuFY~#&foji|IQOWbLQKZ7P|-BmJvN3eBJKR9ND7d z_WA+*A`B0kPn>xBGx+MZl_zb!9(ZuY=mbLmo3~6=^1ZqHwdSpSdvF2!v?CYial~b| zh^gM#=KoXDWWoM(PiofOl$-fYRoh6%}&*Qi6HFXRU+{E#GqQAgRn>f6WM|8TD{iSVGCQ6; zC|N0_KV#Dub#^=M+m!vwaxx{pYfBL+(>6T{N9Jh-_nR)KM43k}V_K))% zsVz%4Zg`S+T<*)uK;;0JoPx5=hOghcTU_yZuNYBm*%~Zba~MMlZ*=hQ`Im6|ljG~JOHQ>Z zN^E0LdE9?)>f%=tOnZ+P2mDO&+-A7FUVHK}TaJ}QOs+*|pRuv%TfFx=GjT%Y;W7Qb(LVVpD|VY*Jb__+-4pu za{^e8PM0m7*w=n--eqf{O@`L~GUclh5}UM|I8F=Bs{0mtdq2mW#=lunOs~AZd&~At zY_nxwdDKGS%u~J)%g~cQJD4qxCq|w+=)o|_wpR0AAxrMhn0X7*=C;i&@mnGz;5C0& z^_BV68zld%Y7%!S6EMEg__^>#fXdX_r>CqeY@YhG^6e~3uV*Hai&e`uYWHljPTuM< zom=L$nO!MM`o2qA%?4T`HS6vcUT*f&Ioql7Gvc|$%b*K8yOY9v9~a)cBU2(bV>#!I zn#GFkD)aVxEqDiwX8#li4^?qh{d1IS{h3&?W zMcRsIX52BpzG3;A6%1MnEtfp&~RLxX1YxT3K$-7&V=g95(w)Ad`*7?1iuPpv(Y!LU8$qk

e_m6a{_nxJKfkYCap$?X|6XAKvCU~4^_HB9 z_wKz&pgevqH)HT^I2l%0-c+T=g+KWej6Gi z>9p>>j^auCd%v!3mSlBQ*0GjiIJMh_bDGoHIZf8#meuD(cu)6Cu)6MEs&H7PWt}BU z)isfhV*!rG+$FxQ4V>Au(c_KN9E~^brW%dg^Fk$GelB@_ZCmm->n5vbVT#+!ES7m4 z5&BbeUkMRG9=h-jX7dc6fQXF z_MAUA*1S9|yZg|LJ9DZ&zK+$sm@TjJOqFS#*sHfS}_6>IXqcR;&RJrBfv5{2l z=JI`pe=|G!+^$)7y!ZOU6UyZ@Els`h1aspH&Cty~CI6-}&DmC)6_(IpwV*+l;mfyQSN_>>yJ+|3@BT|!M0GqQ^Z0*U z%HZI;dhGI?Pqn?Cay(s2t3TDUIx)*W|Gk{~{=GH(m}}afE@N7Bf~B=XbH`)#`H5Y1 z@5-O>8FsbiF3^AebkCXM^CDN3&vf1_*J*elA9&{i>ml=mUzc0Bm3DoSU-U~p=5lD) zlfJ@B^VTgsYg6~($v+W>lcL*G-A`ZW%D8plouu7Yg@{ioPv(1NyM59;&2ajA-TcR4 z4Q6@46XygS>tHN@W8JsqOZwd%LObN=@Ac{4^0RqPaaRt91Vi~e(TzR7FP}*LDZOCH zWE<-ztL1FjG$T06c5T$UYx~+jd+tny&y92VpZn$B5m&ZlkO{u8)4lmgs^uN4i7ztO ztW{=m^DcDYNqe4EDz|9DpBpx*efCnD7HBIm9$;7Bm$^T!GwIHzw-aPqW%r&nVJ(PO zpSwWF*q4h_@=3i_^@14dZSM`96dud4y#1-K_SJ3GjSCrrW}Fs2e)-Y@h0Uxl`?8KP zY8ij8KW{S0%8yyzGI{x%-u`oKDS7&SCEJc>dCZ z>z=<{q-w>Jzt)$IbqlpRPrNSl3es!fK_D;NJ+u_HlZn=Onfh8v2*38`Q zt3tx!r!QY*3Z_Jy){+#N^U-68*ps9N6?dIiM;&fdm91QyIzudm&*PYNSHqKsh1Zrv z&fN9woz{g*qB88({y%?Roti(J_gL1liu2!HJ$}!1yWGd-UyzZJrMhEDYFs$~&yQYS ztQL;vefnJ8Qv40J=`Q-NJa^xbt1h0C zJl?A;oG$J7)4itpa!aG<`QW2m%Nb`+m(^^Q?Bv=JeC0daisT5^*JsTO&RGTj*_v9S z@>E>;&hN`nOo~DUoClB9W*P{e;XP)-JpbJE42BI~kE=}#^w8PU^Z4Vk{gc)(1j+7x zwtz8u?vgLdm+a{jmi~O<+p=|c@7tAqo@6)omB~%XTUON?6wLv99ur2__C;u z>y_5dZOT1n?kaLynoL6N0wm&?z8_^)D76dZ@-koXW!dug40rDQ`p?kotJHBqx|z9W z;;*Zvp9JTun(*XPwV(sXMz#s-b1v`&mmQG5HZMYEn_2U%#S{N5oOFPppk6A&x8v<} zYj=qStKK!a$tc`$-}y37XTkCrmX^ot*Ls}YR9^FE2Sa^S&0;l{hR}XX_0P-RJO0~w zLU!-@rG^{N@fBbG&#>OFXYP`1wr4$f%lFwOJ`fi`J#` zN+%pEo>Nz9cK^`CjdSnKo3iey$DKV1X0e5GDA%rskuk?YG*756CEv$TkGU& zvrcc9b~Dmk<}G(7&@7!L;rTvSmmNh%+x)6#sXR5?^)uDa_FR_70h@`9%^@7ljjify z-9k5>XIyzlBuM<(@u-eXk9ErWW}1j;DHy#w_V|Ur$V;Om8xHB0%H8|&mE}#`>3Oxq zf!o5L-rga{XZwOt;+9AA>EvhnOS!k}aNcq_ao*2uu9j&2-DTw#_D8IEg6wrX-(@IHoO)te!_AdObuX5s8wo6UE?Zq!a^bSX z`AObIH^02~oYSz%QEj&MiI7$N2l#wdQXLNS?%jBA%}m2fM@~Fs@UA`jtVoGQTM|g(1$u*s- zNk@KNFgek#|EYhlu@4dDPrBbna8VQ z7T7kM=f?y)_^eoFB$9f&@fG`8gNNc-b0!|udLq-u8=fS(an|a-$H$yLUz_*7<7%k4 zS=BeDSvMZKUz-@wKcPf<{ZfZ^ren){r$6JVeEU8?Eo9Coj%5o%Psr~4lNsSVZRTW2 zTjTy?b5@0J@UNLuzD!Z`9J}(*%U4^nBHhodKJeP_z|0Kco{8IU%~`Iu_C|52%kmcH zVm(f~XUoFUbNIHH7@kS8IkJY|FUu_4T~pz3Rmcu|{kZBYDe{JQKAmy%O|uJJQef=M zJby+luh%KZ!-ezqed%rw2%eDbqGbLc)sU>9UlK8PN(qCwtpPF;jwM6 z!ehxNRiPb?+os&@X?x-7uwQBFooIDSo2$nj$nbIgS;f>~XzR+t^yl=auB3PBef%qB zu5?9uGB@0juX6c&+gSM1{7b8+uy4`~Y;3ZR%3y3-?<2R@*gth*sLlGBoacTuJ})@4 zzw$pri{SCcPR=_XEVodWyK+I)`Ma&%l(ot{nk+jG-o5>KMY-r{QH5#h%JYw0<=C3@ z!>L{Jod4ELp?A&8r_Hav{&~#{!NMIp#zn`kZFv~~K%MJu@ufvREBd(BZ)a$UbIWk) zk?lOFKJW17)jDg$PwL6Y8CmmZtvliMwkB8B@a6l6ZGo=)ijEXE-&=k9ll<%ke)S8X zKSShdEmsL^rs>>yzVSuoGM}Dr2QxXIM)WSfeQnWf$)64q5|4jgIk$pO;!RB1U&Bzz z?TqubZt+l_uq0uVhR;{#onK8_J1yQ=U+&Y~DS2RRkV4O#kmjedMg9v{M8B8Hc>M08 z=K^&;j|0qIVM6IoIvT3yePvgk`r0F94&$@a&(eFU0t*DUPySr!;l^*O_ptTg^L=)E zLW&Iq-UWVs!eG05)&dp%Iq5xx4zazTFq%$=X_$x#c~w|#_J|({A#me zlG(e8a^D6f7BfxUI?Yvex6HTiD`uZA-m=o-%Sx~GS*|(T3>&m2s%Q$Z7{;}mJdd9` zXYzg<#!Kt}y-_x{;IZP5T5;Ikd~JY8j9tO%StTitpRJ6H5IVfh&_jIxQf&s|34uR( zuY`PLEfZ|sB6r|}mRQ6M(bV%xO`JMbg(U7>*{GT1$W@T}=B&<1V;&KQhHAdATupvi z@x`Hu3-9nBTM}ci;vBCv4?BDFttCsO8{Ydc%s)0o(}qv;&hyNFa#M{YZ5*1456Z55 zFT2c>&8_f!{InS&8uxdI*|tYH-JUo#hKb|U_mzy?OckP9Z%Tf)=LCCo^*@)qee#Xg zWu}DNouLxUm*%W)p7Y#xmFyAGm?D2uiy&2=`DSj0?}Kg#=`kLBwBErblO4 zLrpD8Re099*=C(e6q$VPUqN+PPUdv>vpq$=eyglyu4pZnZ}nPwkTKcf{PW0d88bBl z+|_6GURf9N;6H=b%ny>z^QTKH@4vKKTrqM=`2n^G9gMuz>aL;ZAA4_8K6mK+>l?vk z$KU?vd9*D2vvBU7x)G=;p^cepAw`ogE**~xz4 zSBS3CLf`)k#}9n_^($oE(()DZMqL~^iPG&$!%|f@SlSi_u}*Wl)lqre{&A4;)J%~H zNBJ%`_OHLz6m9&ZDN{Di^iHr!&$mTRCw4L~jXdb&l2h1ZRP{OZK*aeeXJS~-y-A<% z#VGi6X1Thvui}%RF$~>JGhRhh{SGq_ercy-hXB2v9`IXVEOvXmnL=wZlA~PF|zc$7(Kb`S>e1){B4U z&ed65J-H7`7H+WnW>mXUQzRfPBj%($yM*0;hN$xVm@DVn3zZf}%+8#w&`{X-pCK@8 zh7jw6cQ0JsHa=;*5qw&})yufAV#y7`T@1#7Ob5Q6P+MxjG%KWUxv7Gh#R_Sy3fo#O zzn!=2rd)HL(;R+=r+faPIjeUFSV`3#@{rs6@&K!{Y{pKTr9};*ERFq9QU*s_ZK^+d z8!7FY*>KY0>mnDfBXSP^LSn)cBpI8&E!8qG`&I0f@n}YyfNNM#J=j*{JgiuGmGS9LrU^ZQ zC(bV~{JJ#vpnL9J%|+3YdWW7)$dzqh8lGyq!I_@uhE?bwm8Q`CB&U9e*64m)MgPA<5ityu2z|-{P!t!b)~gopNEF<)>5xCppTs zUz^*+R~nz?(ezO8h(yK>0l`x2k$^AF8EUX=9F`IA`A{sfEjJ6CY0 zJYN23b;Q)*!k`s*(l?q4cbWHd-7m`Lb5edMZ!4ZGo>`VDc72i7&QUmE!7shOfQE%bojfuFOeMy7`E~IQ`C? z%N<;|o%6n~6fThIk$Egz@pWmb>#>7dzT0i(VF@bSp787ORE<2e;)mU1rChfax+?BJU_w{v#`B9z6E?Ljd+9WFF z+ka`sL@WLC2i|^Jn$*F)&Vb!ynSq;oRiQ(?@`B~7zMM4*y0R`g)T#QC(PM_<*I_D- zyO~;@=WW#$aZnDLUHH}H@F&^*cO{Q+jm)_6XVI)bW)Whx7He(^Yfn?@clOmiaoq1~ zVwaqx$NA-1-3cc+?5#2dEat4Z9kj-kL%qp5$o=0|=2U^w#OohcZZw=18QHx$S@LaH zfVQTU(J$jy~W4yWLC?n_e@5S)swHA{M-A{kHa|NNJJ3RM?a^! z2QRNpV3ctRV{JCOz#cR2YofANftz8(wwOSxyn}hq))cXOWi=Uu6ll4HYpF<_mXE*I zJ!}5|D?i^aI3L4vx#P}?=W}`<|H&-az0HYFr2IdFR8gx|O7Yx1x$paG`rOhnDmS9`CH`L_~!S#GY<_eQ%Z{_m&T~nHyJ5 z(4IW!*Bq%SpM266n261oc(VDjebgq&$gAdjGhbg?&2g%K_AJ+XDhUDx49VARU#)B0 zbjUb)o|ePSoAbg8SV9~--*$;S?tAcT32W+!RN3-^+LbRQU4K7#_lniB<3Or)fAH63 z4Lk1Kk$-r6{a)5CuE|>+&d1I9XR7GAZV&TBz>Cm-pswm?PJ2`6nyS;aL;6jJ`_n&Ws+WH7D=L z%s)1VQ`XgsrM2M33EP#g`QbHzca|`dA`k-f3M5BrJ_^B zBCVJYKANes(UR^mmBz5Ebtbm0L2hVR`>LIf7V8DWsoUiBC`WtjK zl;!p@+IgTpxNobq&IJLE6SALYrQLYaQ@L{QbY=FQ>c5#Ttby(cwv|gy znW)e5i}G`Ll@%7)aE8rr)~cfohV~kMMOGif?@kvuE4-#t!IF9Ij;||q)}(x9Q#?HJ zM{tx;{aT-+oZLd+p1<}@V`R5^HuXSjvcbR44?9n3KDO@o{#8_(=i$oRn--KPUurs9){TBU2fTOg-`zLG?53AD$F1bw$EGTGn&nui zZ!i41T$@w8?(Lrkzb-T0i@WgF;I#L5uWz=WBhR!Li}t(=ZaREvi&|-Q>?`T=x6#@3K>FYk4g_nR;BMY{e5-tGnX^Lq}_5a&1@b zX7H5!qxJ0Iu}4mg=d7+IMR2CFJoutg?CCMBtI^}2`uhT{!aX&+%ljG2r!N)5_Ua#F0Rq4ZRG;vGcerLZY9s42+j(Re$un9S>oO{Dx@~ld$$_z0U&A7Ri zA_q8R%9oyrQswP0sxWEv^x>IPIRE3arj7koE@e8ur8D05ea%?Xe9G;xK)JrmrQCyG zRyL|z?>wPA@5+tqXWGo)pHTVFV6{>3vAm(AgHcHNGB%e)9j^oFivEGYp3>6|G*7;s zcjN1dn^$Kh`>7t|c*DLnP0juI+2i*te@PXdjH^5<5j=PAt|z4?ADcgYU(h7GFNgD- z!SB64zOKAGarx&%PY)>YJV?0Qq-7X(Xks9%#xo~JmE^t|Ul%ae7eS?!vo z%*THseJ>>}rI=l=@U^~1x<%{z6YZGTC z-8nM%oZ*klx=LoDcQ@!sueX~bc+B&}N`oiDiYi~uZ)JE=_{Ww#%eNB~h{;sb%7tY$hR$Xve zY^Gzxlf0;MrCFygPP?s{_@d&d%O$sqsvGY}son9j{w+0EhVAExq}u8$Qx179G2~t7 z81MLf-&TtWeoI(6FH2VkZDM22;GQ@qq~eB~xWXKnpbaXT>>7o0mn*;aQ*%w5IGO9X z<#&@$lM?beTI`Q#cF$cVqSEtx-j+9Noyv8R{>=7k4I5@|+yDBwsl**4#wS%5qUWru z{rviEz>%4m7rYkA%wasH*)wO=KemaIef-W|Yf_5#9z1ThrCUKRTmMw+6(R2b482;$ zyf-D|3|zIuGJU)_Y-?FPpXRE#&z+i4ru|X8JnUIfj2W zXh}>`@)Z0aAYi}NbYGCCB=@yWfrd}%JbzaGXQ;m}?`6q1pAO@}(1|x_avIysPA5{>NxwZPol%lBHG`WG;hExPPp{n~)p>ODJ8opAHN`*`A;tkCm?$^<=d^vB@?XmBpm9=qh z?*@ilqN_SgQ_Pj5B!AK&ox ztfR{^H~yz?bvbz_p6~}`9(#DD?b9dDTeW{*t(vr^^2z1vSrb0ZpTWc^e{BKxs&jr% zEtapAy{T@>qcXGpCd0E?`<36ip4wOB`J^iNDbr&XkDJ|-+<#o!%x^oR|1Rq}_L$!x zl1AcTiiHP`+MnUO-M(OtI9fZualBTCNIxd~8-#SHv7%Nf#D{o;-2fzsfbDjrmj61kJ}PdC5P5 zXRNc3>0(&NwBeiw`}V5Ng-H+I9-833!)|Miz<&FsHaRKoaiPcRrus}5wmJ5oGK)=o ze^u-OIcvGB$8H`Le=~cUB^PoXHR;dtG8a1AQy;aVY)VLA&lB@6CTk^FDszt+6<@cT zl5k;>qDsdTNxJ}XmcDymHcoSj<#Ss3WS)oJly0GST=pGTmfaKAO7m%bVSM4&RbJ6= zGnGDFnXr6LFpJM+lRhI3>DrCqhjOJ4i3J9EomSxAqH*9?K%{3GYl`-yVg zh3x^OMAig_Pg6GLu-X>iTHVp1I@vPMeQSmlqqZ5d;+xvcReTqBPqO%%?V!mK@!_5S z*64^ww|BWd^*H!t~P{Iz}Yv(b8bo>ltJ zl_&VOta$k=d9QW4!*iSOZ?g1Q!-Ew#>Yf#aU+Is^l$5^fQoX70ZTKwHpo){WFV}Ke zwFmC(c>Tgw^RwiXP==?K$D?vMR?AN^kevN~*0zld{~|2!aMy)KCzjq}WL9Rswqi*e zYl&P)Pc+LXzp7arS_OyJB&1iec79oz9I6_5-Qv#+jkVh~4<7vbWua{Una)pre~p9t zCr>{4Yzp5gBb;!d_6_2ki zT%aZ4cHXeB@?2EZyQx#;o;^fH#YehS~G<^OnnU^W)_h(-1{EfgW7a_V@lJEz#iM{G)wo!n#Wtii=o6)w5-n+g1mEn<{<& zL;BZ++v=I#%0HhKdze|a`hw!&vd2<=A$j&*J!0ywZ|}A3l-XWYwQ9XeTi#5$x!GpS z(S?%g3LpEkRw}LWGAdZ|AoM@OgeQ}m`>(CuGHDlwpIPaX;#uWPTQb?FPE?HCC2DK8 z;6kwSm0v-dl#Slz&k!i|h*-1KxGix0(g>c6*{f>S-?r^F44vB+qw&uF^Gew}n|hw> zHf5?Fns$d-KW*6z0lD2XlI_>;b&1%tX;<>=u*f2gB=@bMv+c{*ORi>QYC4tjyN}QI z#6qPuqm8-h#WGW$%N@V9C|=J&u$=XHo#Cu4$sFA7pPuv{|22yxJh*@Aj)RZZ%vquQ z(Nw}U_~cJ^=PR>Hy1W+FtjH_8)755BxhXh3=JS^o{-?SHEF>-E7A@hbOWe-D{4>Ps z;q<2`WH)K}uy6K~U39m_hj&TUceVvuk=-(&%Xa*Ca9SqSTlv`C`Ps0V-)n>RX}L@0 zvb&4tTuD{oF&AQ#WcXtDRr_Smv53SEoXQrmXU)o$f>wDSKeY0T#Cu00XGzaVX6GcT zN|femD6=#bpUZr)+g)zwvUjxy+7$Ti_OkRQxT)pMWn9kV;Z$yNT(vQ?;<&_@FH3`J z3t!Y~=<>w~f11;fRdGeeyf9$XLrKxLn5KxTu4(4U2Dj>b`F7W>b?e7y}f96q^e)lQeE$i4o=dz zvY5}g?CV-bzDqaXpADZ{o}8W9ANp_0WyQr4cWy7-I)%rrp!jaKQbgCJK&SOz*KI4> z%`@BoQ~~4r_c3oDNG}Q4ebu1I`r5>_T**WR=iNG<{~6R4r9RH)-CE3Xz+-un#foi} z?a6}Y*Jc)qghnnk)DPMj_}cI1x3-Ww>?S_rucD- zPe?8^?vGFOzq@gIk$BjniE|e6yxy_hVej6TvuE-ZA1li2nWuDWDZ@|WRUc+3n8!Age2WcClL}CQP1qX^D_B@7>)&8~A%WCB7`x zxWrI#YyNzbF0S=wo1*9NRb7_Qv^NjD{My+;PujZpsL8gYoW1X?e*ZIRne@CT`Rj7y z%~}f|=T`}sxa@U%KXvxT<#QG{{CR%iO1ka2!h4H&POxMic<;-pbRbE_;O)V03&fKo zCwzWYzt-)9Q-T?%rHb5E<;2;EHtQ`GBrj$@leBQ^h9ZCe1uHgGyq{H_pQxLCOF&gGd?-sYX{KYeW>Pw)1kNgfvGy~@5Cx*u~|$0)+6CSGy- z{k1uJs;WY?s-8TMGk#&4Def~IB&<3 zk3o4Qu}h|_&p*_}QgLHRIm5SKmkJq9zZK%&Rb9UFR>X~(4)KDcVYj#i_itAyvum2n z7_N0>dqUN-z5rd`W44dCu~}c4aq_SR!{5uV1DXt+7T&w-zt&e~)6URi4;C}u2;SRJ zQN2Y|>d(hhw(Rn~wl{Kl_V!)=de+dfXYq4OTU$eqjSnULgO2`ZkeYTN?6BUYiscfF zoym6s`q+IrrqY!{c>N9^{C8_c&AeP@ZLJBb%xjF_Mcm*;qjj#ZIJp4FcH_k%;+4COg}U+r_` z=FQu}#Nc-POvUlNW^G;1%Pb|2DoznFlss|Z`1-xEKDoCl)sSdB8yuw$>u@4 z&QiYnIZ`Fvg*p@@`?2Od*!4iCvN$4_wVlu4tl4m zmb0xWm*;BR5n6iZ?1aTjeT7%8$tqOLc^`a`rTVJ)tsUvMA2?TvZu@iky3PEoHgUbY z&e>Udm#jV>mAk*zUr?^I}FFzlfxS32Bx@16s4WKJCDse#5J{NY7P^>#gcmq(ibYT*00O3l-INPx-81Y zC%P=z>0DLg9j?&cG$D%vDX(_EoF(3N!sJa}&ymH?3ma-b-?_Bohz3t|Opd}A+2bo$ zc=gDCzP3DIhED5jb(vp%e44#tkA>_{-LU!g`rg8>Bc76$?Y5P_`q%m`e8kh?zuXM*>>@ygxs;!ZY(WA1@`Ut=9C>;s$8r-qsY&yI)EiTtAA#< z;oH6`$5|$vzJ7VB<%|!jmY4f9`hFI88Zs^QocoRiK0PZWLz14`Jn!M^oH-#ccBf6v zUCWiuNfr~^Bpd%Ts4Xs?=Emyq*^066?tccU3r$8v9{GE$9xt_FDtMB|eN1yz??j;< z{VWHgqm2idMPf3iNp>sTbDC4!st>0( z_FYwA-LQB<)qJl$`+0`yPM-2@nF1#odNwMn$ZdJXb#|}+sXaWu__L-qPZD{|AQSW^ zMmtCANU1IVhGo10n)6 zzgkY-2?=cqh5hkWfd_*Auv@U--y6u&nE zcAolt%r^6kfZnGW`UfmucU^i|wA1oI&pN}dfUX5B^7?zV7QI#TnN-c!G^J^Ip5>PX zRn2yXlsO{gJl~$xW673UdG3LK+*C1+S2v!`l}WI>`04q|1>rJJ6vAHbc>K~=!FrQ6 zQ~3NmO{YoxD$lQ9ny=xqz4eMntwnlv@7GTIA8ScE?-$^1UXS>RG*K z|7L~fh~2W9^G}q!a>3&MT{kViu3}1Y)BW`K>Fcix-u(XYgwNM?M^R?4S`k}0UsXY7 zOq;jL(vAd=6Ef*PFIQ+?+~;H-WYzfACr!vCk)4$>`QKH~r)y3HZth>F;iKo2%>8MZ z*Y8jDQd2D?OdhzOS$mrA@lwO+GLf&czJ|-}7aUj-cv7YDJAc%a33gKsPHx!C%gV)V zEU%N=dEWMKrkrWIXULz^6Z_X!6|J*ezEX9j)0gLVR~VRER`fk6S|GpHUiOPc2qj_$;)WQM7JXMP^D#^2NIUgd2&^?w^31Id2yfh z)f-b%HYzKWn}`aXn(|=Y;^j-dazOO$7_-$#Yd>!}Rs}7E5?4Rf z-qA~PMrFp4hN|kzK0YhLm03bPxfiP)?klJ`FS_W|DX$H;+yg`J%w)UR8hD}coNJ`6 zV3FUw$7|ItRjj;urYBGbNA*?a{K*Xd!21qxUXq~ zjG^v@fExloS9B$5MQ-xTWa?L45-zX*fp6K8+=Go%^3!Ci0w%n9!N$KlD!0)}^Fg21 zErFZ;``EH9E<7o-KetwC?sHjxw#}1GblJo5CzdrZtax(p71v)^pDu^6b6oSTSWY~7 z{$t76l$&M7Do&n<^MZSlR(eZn9WVdS5VbWWMyB<4uV3 z8M^!jWhNf=5L?JQiPekG;*~Em`_F(4Px|g{70~f}b};y|%si`SOV!!srgBNlN##)Z z6~Jb8gYJIzFVtR z%W&f4!0P@eU+x*RbPp8&{B^bQyEAk1wT1E;-$X4G7WBHGK6w5=L)?VR5=9|)Mo0Sg zwXcn4%)PKB-j3tJ?^&S%?96J*ty>NpTd-0xsXA%lly06A3^E(Ptt_8pm-C?H;ESvk zcc1+1KKAT@+*YI9$<`+s_^)kBWfnX4=gF5P%yYh~EmVJcdlIh(*OTcw3#!T&r1b2R zT$aOoecp{XnLSS<&10wZ5YE^xM<}hk4{<+bYCU~<7oaQX!Q=YErmmcI*0d6MwCp}M~++m$mS z(aGxwpTjH9uSV zEWyU^+s`sEF+N`QIP_^`=&6%e{T#mhx;jnkl-GotFY4DiDKlSrJi%XOe$}EVNv=F{+*sol9+ILWb@n&?{yZ;Pc z3}re!Y{x7WN|WDvJ!|G-mUcI|v;JCJ?dq+bM|~$*=Y3uESs`)D=l-Xj472y;&-M4y zOins@byuI|67@o!D#k8{y&mshIy)$7%TGPwCcEo$igXH>gu!u@s$U^bo7R1@c;Ua- z=^)3QwL31%m>Ki-ywViCjKq11B^O()Qs8NlF0)YGUN==(;Baw~MvmN8@o5t$1x%i| z({e#nZz|t|UnL8k%&7`me{R9V?XvDGmgH!>cC>X9JMd^mO#iW&PtU4r9SoUM^4{YP z@A8dDS?^3;Vq+*Xxy#8>q3V+04u*XyDP`SY|Q<(Tv)#7 zv$N{t=S)l7j;k+qY^wUCdBaBT(4r@kn>r^*G*$DpzYf-}S;BHMvGHxFNQ1@l{(IVr zs>T=F1K(*`MqJF$cH5yW?fyDos`Y`Kx3B!_r~24EyY^&OIM=J$b+J3o?-ff`3!nU4 zUh#1HUY-TpK7LvLfGe9hH1STq%ACu6T%Rvoo@)HoH>Yv?R>NXJ`62w;@Zz)MZzF zmSJFz`zm0!8 zJZ7;nQbNv;xyU`sackejTWfp;`)1l|9yBV77I`jl+$Mdgr_z%A&6j4((w-d=^URfP zX``~|V#5hZl6PwPvzYl0Es5QE>VvH&uV5~-?)|ma#T$P1JzH-0;L+mnTg4ZyY!R1v zDXrCTyW^luGE1<`w5fBxS}d#V;mm*d(y`{t(u5txy$73W?sC4%WK^lS^JvkzXp5ER zf(@<;Ne1U*LZXdA-Gd5P{USnq{4TkMYw{$Vd&I8l$7`>?tbo@|I>Y2E>n}d*Sz*Tf zI-7X}qPN>^*&(TYp^sOAQ{pGP<+G-coxB$=X(^>E_hp_slHBKOnatX)|DpKHQj2r0 z+F}!)smlc1DRyFVjCb&>zU+Qi^7&rFPm^7Dg%&M;+L4ztC!x+{jm?Q|Y>NEKeg4-L zm+{^1>Z|6O;JKlb^Q0+n*AXvI=Kj6Ef_jc$d0zNvsu#~rNgYq62~3tET~FoMC6a$$ z{;oAaB;mW=R;f*Mwnt^!bgkyuvWBhV^{;>fQb|1%L}acMpGtCiz;vL8`Tgr4mY)Zd zH$GZ?B>T|1yL&4ie_cLpV$o(+KKor2M;-X;Vp0N3x)a2oTvli9DX6-n(_>(DIkGWH zdc}K3Pa&5hJL}fiX6+2+^RNu|KP@M|)=Ynfn5@X-j|-CC9+&)m)-hy zF4MgEo%7j(pfeRues#@sc;#-&V9+GpH9z6@OW%M6wOOG-Zl1@tdfF^DoN=1x<7L~k zTJIT*=1j5-zEB-JgZ0ru)hSQI%lQ4Kx=b@VZvEr@Qv3H4cgt%W_*H#Haq79UH+ECC z^d5N4KfE{ew3A6VkQJ~ zH2E1TosM~YHlF%KpyK>qCf?m2=kOF6yS+&$m-S!k+nRi9VM>@>(vDkuE`**o+;QMe z?JBqaI{#S<=AT>H_&JZ+mz%=5=~Tl`TR-FX!JOfmTZHH5&5vs2xg;i# zu(^llLw!`)-%YK_lMeHK6%iGS7ch3!S>L0__23Gd&4=dfWR-dCx0d)WmMOgPY^m}j z4HMUtBn~I9d48E^-nbp&tCqXDyv;Rv;ylBkya(DPHdmGyvESM#v4i#FH0B9eYB9Us zS}-Iu-oLlDf6Al<0<~Fkj(6%lJZ|jU8m2fgPjJ#qSqt{{*JjQ5XID2Tz`;FY_H+G7 zGGF7f!rclYiWc|uS$NUA*SB<;{>}`F(l&oYuq>ue+9H_!OP;=HY9X z`zkVF&#H+t4YnPaXZ6{S=Rom^FUy{MJ|1V!mD6S_+_-gn`iIpFPYTazSsYOKcGN;! zIVX&fleqXVPi(P+bUv-Jxlv5j(+b1~% zR`b~!2EJ=`KB?pI@%D=EBG)20r2S?8X5KbFU@4lyum1d}QMjys)SL~uUDY2$W}I43 z=_Nm}@)&zn(TP6h#caVBy4bpxq&)awKTk6`g!P)L-~!15f3r;QR9ae`(_o+Aa6p;m zipT0c=3Vlqrflvwl4UjL`Tk3b54&;rO?i4U$nnqbzuJnus^QIlLPYOAU1t}fmuW>a2`b#&zCcH0`*;7n789i#_w*~PnEvfR}t3& zKdq^5E(5sh#rm&#PBnJD$iqmkD6)n6AP;S$2cFs9nzDU@!D!p)yBAL`DCA_HLGMFaUVLiLw%orm6(lTP;t+L zU%zKr@A!~ev#(Kn-q+&OJh78}Pc4=_?tiGI zEi~kCg1*9c%cW;nRm095^I@?2mXUJHO?>jTEmA_oa^~d|d zjPjE&9olu&duN%QGiyG6ZH-vboPy=@bCs7Jkc=_kUZv!*VPP3Zbn~676(=TgH#bQ% z*|jb6Y%^c+KqlqOSq;I7-;4Ye`i@_lds-r9n)IgPdvkW1*F4YPA2pGIC-Mi2;EyXD z+zRKb5-g|QGv`>m;^2z8Pi}PUB*ykjyH$K&&9SEOW<-O#!k0(W|0*W&wP+|?zW*8E zoob>ycaFKw-^~9E>0Dis-#x7Q1HY_PzH=_5>8P7`a#wZD?QK2#IKMxdB^c=bQNPaq zZ^`%1EbXTQ8^62%XNX&V?unxo6TeE|j%Bs)XBmI`roLjeyr%ecDg9c`9)Nahik**axeCTd%Zf@(w~-m_WJauW#9cdGX009 zCr`e@ChKRbsa)Qr&cf7FX?Jg`?!ry!6M5F^-QWBE)|x|aHLN9_84A`OtCw2z`|*<= zHW~h`h(!|)om8pOi!iXc(x~EkOHp~Zb~`h`!z7Uj=v0r&=uiO(&X*RQ8)mPlh?(1hT zl>7=#n8-CX^yc-xEo*kS-_!2*`_ipFEv~v58!XJ;8WXv;r&}4Z1!gsd$63or_XXR`%{>(pnUE!C-rxgAypHTJd z%BqFjhV~WDCTBNqUw>($r(mv(S=lfC;Fo^7^O|K!R_;qY{pXZ*`7$PnKRZt@u=F~! zEOzdmJ&$jj9P4M1seL!^YY9*7!}C5N+0qP0cLX1r^J(9M0GXvpj&>a?${QUHSGz!J9_G^YK%?yEX&v+)05KkG01yw zQq7#^3rPz;m7d7S- zPnP-}40aa0mllOgl&>q|k53NXf66QU-S@W+>WWsHPv%!87&fRp-)b?V;xnJL7^+ru=sUflir`Cbo( zJED`blbdQa-S24aFPSsJ`u7#rB^|4dIrJ~!JssrW-Il-Wu==%0?$&1NzYbr%F!8;o zh^1XZ;MC{yG*3J|KJ#v0h7UWlT!>k?@|?c*OOq>uqGi6zUz_+uu_vX@b~+lhb;K-@SLlBJ42`RCS3xAX{g zRV5al)0%K=zxLNx8j%vltq%l`DlU3Cw?!%JVEL;ZFW(10XMSb;^QzLp>CHR%_&2Vc zxLLBuLMCnD!bwdMt#S9Rn&fXTEHP@6We@za>Uc%a@^|w7mzH#SDzhB_Y}E7l_-n5N z{yX(NU0Fpwc)nT^^!LU@b1^N03?p%7Wp+u6W$n6pkFR{nU`mjdJT9uDb*4z%nm?<- zuEO?}&4wvPJ7X8C@O@!iXqb~*c7O7*>L6{|C&?1812@+kwvU=R*YggWu>-@wqAHo- z5Up*+%`XGZ9(e{?e0}XZapKIS?C%qbU)jE3dQh$^oF2Dq#_#PbPTb_ zgF_qQp9W4)?hK2c88gAw@I_`sgWCsh<{tjKFHf~11S;7VzR=KRK62#Pt5t%*5`Qwg zn*IH7?zg&`xpb{NkpCb+ zMMpp-&8^MG>o0tde4Rd-GJ~p7~XCWN+x~_LSxS zx?tT?<;(*nmzg%Dxl1=XIIN6x@nFb3Fps}x*4)M1+q3g@>=JLtXLU}l3`u(+^Q7d& zQl)?e20x?UGv8ZUyR@jH?m&rsl%%Ih|BUa?mT)#WueW%#Bqf!}tDr)=f1&M5PYsuJ z6%E`2sIzZhznAgwhNL~uWlE2)wUD&0*|32<Gv=?k}AkPVs%c!@%$-E_Bj`p7D<;qGVriv-|D#~PvJxH#J9nUife@gcUE0?NoYE} z%-DHD$Y<$w1@=-Z>8CXh-aRg=q;06`yy}6O$JgTvm$lR`eB!XiJ#I-?}Pu2xdDO2UL%HYe_7G_L;e(Hgj+5D>gPt1xAXy$pm(Guol zS!j9i#D9j@!Au*17CL=l7CAV|!oI}lS~6|S{t%FS*~Wq9M;uDmyb zHCZlbPKzYF&GUPUZ_UfvIJrz(XWsp&n4>Nc6RcOgdrPk4r($j)-=4`W?HOVts za)KIjVSm+1leJA{lf*BzD)nsZbKEQPWX_|_J`3%Vd)5bOd%e!*I1_O4vTVh=x__m8 z&%bB5I55Z~aO_7&N5!R$q2f%txU9Hc{jlfKt0ILBx8X^jW-o-HiR-97(lp2fc{tjD%RJb6&^C-Vk7 z^QVO_IboJXBE|EoCWcAlHMm}&Q6$l`>66!jWbW(9v&C@Jg4pWsXOWW9=jfBZ9l_S z*f=X$dvjjkRN30rsFDM!J7mwgeC%mzS6=abLChhg&1T~7eucc;<~ZXrOHaygsosd= z)8aV(GgvNHW||kEGV%P^*N*0*4WIU0y7B2GOVwo$yKH6VNsM)DXr5;O`No6@_AF0wNFo+ zaSXl15%-@Vs`1V?LATNc9m;?wSb#}$Db^QqV;E`#7?MB?wk86 z&O=hZV#1R8sP=_g{9a+V&t3dJzx+~zRN2OR7Rp_PI%doBmS3CXP&4iJLD`q>TK5vw zGasa1-)nN@G~aE%GtV0`|H>O~<9z?Z`fA{JugB}_k1g%kb#j|K3*(i5lc~o;Z*C~s zdEo2wwN@@%PZLjYHcr0s`-+#N%X$4d&p)p8=~USyYU}@HiPD}`Df#z=R_;jX+xf** z(m}Sv;-pIGwNskx?@Rw!hZMVRoO!ot(K`3l=1W5y799}Fy~Ds}w^dBK?oG`B-o+Pw zU0vIparaKz;(rRq`wD-C^71M<@0`K=e4cIQniw~Ug}Hb5y$Vz&EqRdgpnPd>RZ&%m z?Y^l-I$5Ie(_B?Mj)|{z{lvu0dv@Yhf9J2iLZ{uA_`Eo`S6-oS&y}1&m9EgZ0Ga1= zCch41mdH(5>-`&-7qM$iC>NgdpTTRx8cqpDv!*l0f3)un)!o{^*Jt#`(0;CgO28@^eY=E%e>6khCG0i6{9#3R?rX12qCy)E8z(2&?k)D8 zkvU0QTexrDy{$?qLSDiXuWzv18p?NKgCAd!|Fva2Kc38~DqA))Tq?-%w2z-Vv&2z7 z&OnLZs|?TARA2gbR#7fNdy--EQI8|aPk*{!|KsZ@_h5H}ygA$2hVbGAmUeSrty-+j zs`5y0!S}P?j1`}L+8dmI{MM(ir|Pk(L2r1m`T5-o{=L66OJv`>Cnet(&)`^)yXn{& z1JTW0Q#VMT?Qb}~eEGH6CJx%{r%v`ym)okC%Fe}khduw%@&cuwn>Z|#dX6@n_`SrE zCHSs^`}gY020bT|8H}1wyeqzPu|V_0(S-^HDb}tYPu_jGeJt~&{GUy{Cr+w-JF9n1 zTWab>aKTKcoXdua`4fxkeYnEU@wwX;-fAosi=4XY;+MCxoFd#-zPg!HRkmEk zVDp*{LJ`Y6)StdQr)AN6S}fV=?&g>8GFW_eH?Pp%k}&_n3Pqj`N?Pv{{N;m#5+4_S zdS<)7X5O-i&52Di29hGIElJ4%o7U?TIJ|v7tC)vTBKOqtr_W99?{BIIu#{Ui&8g?0 z;ZvsSG7*uZ4mVkNo?Lk3C-|v%o`e0l?c<`9v*R|paF((eIuYCJ6SW<-PcH!muYZ=mv zb{S~hX+CBhqTQO{apGLoXT6xm8;@nFur|aL`5E4S9Wql-RbT&f+TB0y<{k}uzz zwQ-I}%(i>;{(Y@EDtKbmGxOrjDj%=U37X)cE^+*|Z%Fd*BdTqMlP}19c^2t4DOw?@ zNO9qsBNId(_hp{A-N?wmyubKeW+R*6RgbVI^6#r=O|>jA?D?v`V9AU&R>sIHlg=16 zUnmZo+pDcIXMIiG)GYt0Mf>e7POK1BV!ai6`@n;eXKVSMxVCZ2Enn(l_GG8cw6FDdCQk7u-hg4^sr#IWn3y5eAYlFNzweR`jsouH)m){GA)TL z+wj@K@5if*pTR0ccaM5IWwbeN-511|cjfQxD=y0?l*=E!H{0A;o6qB%rp?a99XsO| zd|x(^c~kcZmF9ESAxj!|{MrBOYy5XZho192jJs`DxfCSl9)ABs@Re<`58I~A8gJ)$ zEN>E1lXxy$t9h!sx8W^A+Kg3qepO$HH+Y&q)$^6Zl1jOWk&zOUn>d-}wyd#pyz_W1 z%QknZ6VYc<jO{uMlR^8sar2NU1lYUJm+!Q|Jx zR3Y{_mvN9n?DF1&Rs2!O66LvlG23g(7O?G_a%jV?;|rFtDtd_j-`*I%&iWvT6t!62^ z#i-l!WUUU)@cxRnCJ-%SC+dNv=~)bly+iBjjeu+?ClV z<}>NkZI=YW?egcA%WG}Ot9Z6p!d{zs%dgTUd2ClK9`{@=7P@d!sm*u&?u;M~_MIy} zPJ8LCc0K+}8}DYB$9-0e{xOqm4)5Nu%;UiFAFF(qY(Hf#@939&Z^p#7si{eIafkP1 zNV)Eqy;Hi+;(Vyw)J%!P>a$wf^0F4y?AQ90u6}Jzp7j-L#uMyzUyXF;rm8D^{8x2p zwaR`)X70023*HxAp2d(mN%W_WOWxzjZ|t^C)-{wY)4R9-(kii#30|jE6cX58hV`5| zwI*go6I>=&v-%@v+JxA(euYscNg6O0aDejReE zsr+%`zZWmRu3NE|BQvMg$?|s0Uqo#C-+S3@>7inI>WW%pPuo{uS7kfoiblm_(eQhl4SOHUuN*~!ES9MiwRs_F;hxByocGDCFer9%w z#}`7f+6)`dWx3v+BX?N+)`A_A_2Z*9IB5SqIDct4`;M1K{ioghlw9T>|2(khlGMRR zj9gP?H=gCXq-kk+mV>AA$wr&c4vhWp`A$u1Pdsz;SeB9Jl2=vDU9GbmBzDS_9G9Q# zuW@`!v4Orwb<-!mED!JWJ6(Afr}TWf#CurO;8@Xtm2s9!yeDd=1*GQBu4KNo?1Vfi4?+jjTctBKv4z zi`f}2L^+-~2ATmsGgEisX}SGT(@&QgY04{=sPA0hJ4x}m-Bb%n)hWf-R&drVi2T94 z*K*mRNqZwwl2ed<`pV>XG;GwNKNci{nsn$C)MRYu!{>p37=VGraw}JW1lvkvYr< zR-9QN{K?SnaMuLEYl|)8s(uG1^2IeY_FRxidA!wRlJ(cW8axaKUpu+FOzAy5Z_0~@ z>Q8+a%N7-StiHe1@I>zF8!}g?cy4Lj*(`dL%oOrA@%ibJ6ur`dfx(K=C5K=6)2g#O8~@3Kbe&khcI@%}Ybz!_RPU?0eDLJa zu(&0^J_hOBE}9|nsBuw($O&^E{hE-Ps`OiPmKQ9WB>wzuWV1L+b%@{5x@2d+b5Hx7 zPb>-Ey_QLZVUD>&#QS^dEQSrRHTtPH%sG_KHYnU%BFR zPvP}T-MkwQPFbkFYECdCYkAq%72aY`zRJ2<7ap_w@WrIj$VsMQPpe|3^;O?D- zD;^6p;tFru)=SM!S}Yp>aLMm8tV|QmHA^0R@0;ln!#FwM)KR||)61$Y!ekl*pBCug{trp7HYFdrt)>wfskK>{l*LT;d|* z-PF<_)3@bMtA&l=tqGkBVZGZ@MhwgM$HTEJwh3xyeE=cGoQ9=80FXPAqZ_VKKH& zmQ=nsHCkD^UT$lAV*1I|9tJnwz7AGgX0qbBOu*_pAx8_Zcl8+FVUUnt>T%RU;=D+% z?C;M(W=5P(8VUmzD3|mVN!0AS_l4K+w*P(ERjR>KQ{x|5@3*SjJa<76ugAHK%brPU z6?d_p2{-aNy|MrF%l_AX$x{w4tK8^)rt*B<;SWphEJ*z!!at*fcjfj=v)26h^q--9 zzsTb@dwoa$V{V$3+%tL|Uh(>^;S#7gR`@QX+q$>ae_j;iag}wi+A88Z_wr(Gog2;)GQu}PPF!$odS=JXIEnG?>oBGd49s2Gnm2bc zIRAb3{B@9?8)wePmjM?9IL<}e>s6XO6pPs{w1BU9=W4B`+cjdQzV{N4pK)P={Qqko zZs>Mc7){ful4CVo947Pa(Gtldf!>An-7D4Rop3O0oU~_i)!*!w{5(qnHs1Z?d8n3u zt+c14{gW%Jmi$@1*Gs%W@@=S?x{%75nhRluVqa^DFUxH;UNv#jjq`FlR~*{#v%p~S z@~u2Ei+-lMvzNd0<@soAliJAK_xRIl<&IB>MPoLyD?D0a>G9|2#PGN3-; z{d*hR9Equ6<@fw$cm#cRPSRMI7ALtuB6+PfuhJKn$Js?%4o*969MBJ*w>29$TJY>$PBo z_Ki7zGcSo23pIZ?{&mr4)r3<;_UEIzyQld6U}l;!!@)-=djC>~+n*1d{Ic}G$pcUN zvL=hR+%<7|qi8O-B)yA~Wxhev@s+YK`5wOl%MT3P1YA!a<{e}KWDpRHP<<|Yo-1U)m# zwO7*g*KnmOikXcu6}RE9f8A7O{I2=^0;w+UCF_>-#m-O;H!>=fys@TkEc9&F7rEN zY54334UM0EIy|VY+tQd6v)s~tDua@@)@p|xmN}DZ|7tlLy=^4iP&hH*0fXl+M(>?A z8y3jSTf8+WAu?VwhFvbHr>86-BQjZDtB;>W?(nUJ60Q%DZv^mL9@EHRZ&-ZJ^5o;w z>?^;X)nHE4Juj(zX_3~Na?zjd&VI3Lesi9b4Zk+IgYmPsnmj|j)=Xt1=AG@fnw?KK zy?4FEsK9)d^Ki`qA#1s*GK)Q87wlwgyI}Er&LzD^Mh~>*y=Kbnv|bp%9%LQFwA`l2 zcCS|3BFAaLJMF%4JYVW6SafoV)&iON!C`le)>J(xc~>`8?wRjye;y5uykkY8W-HGZ zH@NR*HF&dP$y*ESs=AV%756Jrg4BLoy{4ui^W=gy)27_A8D_-|tF(-*M9MoO9&eN| z)iykFLS=IA;hySQQ*_RF_EgTW)X`8oS~l%^lFKKNa^>yHA6L&-4Z9cIc>mhexUj@6 z#}3q26bJ1yYri|`I7^ijw|1+g`npQVuU}R^;u2gs^`xGgVAc9-ixnH6B-`4}+w$X7 z+nu|%8Jc3>XI!uFz4`qK*QOO0qZb)H-Q@Q^pei)=U`$`}zhbZb8b90I>%DxLCn^Np zc+POi>702>?NY1x$$kkDEFEtHs=BJ3xkWRUKHxF9$g1Wbty3cTPV7mwc3U3wIBHdu zEiF*c*5u!2s&&8O%j0X4LL<{$b2=`%UEt$;_*X0Ju$mP^mZ`a(^G~nP3LSp`D$j<# zqfaE{jlQg0(&o^;vo862`}VbNp|UAleh)0Ze>E$c++#Ag6Y_p7a{8{qg z+wrB|4u&adJSSQ=6mI$Q>r(sOIV;&0ob@|%N$pNgRezLQ`XmOKRHX;={#^F(WobT< z@mOPx%E9Lw7cRW@M&upyuS*;!l%HF>E68OY^IiN*Lgk~Ug0n~N!Kj%h*`FS-+A6g% zHTZP8&G%my1@BEZaZYyo@%7OxXQhm#97znqN>BYNOqSWWGMPslnXJ)tyr;s&vE_ZH2Nbo|*a zVr}-f!!Gc<`%;F8mJ@pxmwpvZvWRt@_*A-E$na%I^LEuf#>aB)ufrU;oAwA_YtYH< zN$=V3`}5K4nIe0F1kNqtvr4|UK+j*kT<)sEJ-@#X-o3q(v{~<=lID{y%gkr@&&W-1 z{K{JY>&uHY-5pksFLX`hDAU#C3Rhkqc>Cjm#@U<76ZEW-7p(MP*ZRvJ)f(%)NF?D- z^IhMFTiim6nJ+a}x-DSlU}Jbc=kkHF$%z4M7PkAPidF>Te65Oz3MUKOh>Ldgt};Z9zsx zRZ<%z&%OOqCFQ)M)!U7Eg|fmEx#IU82j<>5{-0sp9KXXGihWW~i_4f9zIBW_Y&Oqn zo^@B}l$@K}x%>)jYqM^xy;_pVI=7QzR~j5tUvYfl z>h&TEPi?qmAJsdBdCQ5&{;Xu})g0$U*bZoK>1h+?+Pd3(y3B$JR^`7!uie^R#NcX^ z{Of9=K)|OdKWp8icF*kTkqh9-kvzU&W$w8rLK7Q~^q-pQp|U~3*7%j?$5rbhN{;(i z#T=M0iTAgG;bv3cX_{PHnicsa9<6;~csfP%%PTFj_&xg;t$N_9o!685`{3puRlzF0 z%lQ^=KL6Z{(KR%QyX2s4mTOOw?3A{+=1XlX7P*H{*K4*b%RIj|Z{zl}R*Z`3(h~m` z-q-QNa!0<=>`CX0e=oA)Pk!s9c8Sx%@7YogZ`K30 zmdn<^SGl!BCAsyWUSNFNR;WW#xZ8zQSS*4qbz1jI~nb^VC za{@e$U!Jw3Gh@n`)6&O8CiZ;3@omN8yF0x%Br!bUDZV2Z*n9T8PEp~Pl^eG%X8#w( zRIeqa63QZbitFI0nMKpO z6PGZw`fRl6&zhzgcp!~sz1^|Rv%&);Z%;l}zsoi&S?#IQ+5P*f(pDWdO)kAvzbEU! zG~3k^{Mh(xYqOOsBQ|wRE>vIcwPn-eD)}h|?$>v$xgk9LpzJE!=erX(AHTHpb1=JB zWWVp;_LVDkDL9zhRsEJa!+E{B;6USbrTH>NmCo7I5`Nm0$UR$l&~eM0DPP|QEqlPh z&bV`x2d8JE=4Y$t6JLH==J96L@eP*emuhe;)igB!`si$A@bdavleX@SbC+zHGfgJs z;?CbUA8l50x@4X5a6`p&iPvG5TysyYog!cI<@sKjrPGB1xJ4DFys|a++>?`*IEmje zG)8m6F$tj?x_$o{qJkBLo)q{OUhZmZ*taga@to#~pMR=CO_QH?I4HE=-F^GgG9jhS zn?9_)Ah-D5!Ua0{2e~R&hOEq=t+ns2YrtofCvMD>U;i^LW#<3dJnyl^66V7^f0j&q zm3dZy%ksHtfOU$1)jap_?n`|lh0mUpkT1X2pmwex)6VVpoxUBbcAG7GX(YUA;`NU! znHn0H{N5E+eGaW|O!3}&SmT@l$G2ttI&9CM2G99jeNpac(U~J{5++BT8a5_2Rf^1F zN;q+Z^+|H`yse72CtPeg&_83|Vo`tVAkXsLn4apO=gO1k{3~hLwTb7A&8&)?1pR=l zS$}5a{VB@IH-7fBO@rx_!JUEw$=BK^pJv$kv(|CdLzjyaj-+}>yvsbq;bg$Q-TvHU z=bc7R=cF(7d!oSd!SiTnWS~RZ8%yQu*XF!EXjEi%c|&{C?M;U#WS*V(lxB8*jJ{+a%VuvUcrs4XXToc&UQYr;n$3%;T4O6ofX*SpHu8^U}lJ zpZl*Zzp*6G=JJl6UHgxJE;z?<{L*rU4F_L)^?u?E;XNX|^PiAyR>ADPCqHK}_+Oh~ z7J4A$_V(g*>)o}Qj4U4v{3Vue`{8$Y`Ly$oJp?5>&EBdtv8(t*Y$_-yp6|C+rol+) z6vuJ4<&0gG&F`AKGI<_OVQ^%T`SvTog*P1RXPpCPrENjmbaG1G&_LZQixi>f>tLJ-#N<6s0qEhp(r?x7z zkzZcB?Th+_vSp8zB_GVIKeptjyX@}j3oMBa4hJh$p44h73s2mfAo(_I&Uy(JK6|U2 z0wI-}D!DCl8o3&`8+J2nU`XGlDcIb4&)-JyWwU?ip?3vN-&dUaS&e45fTgE4ORd4h zD_vrBOJl!5YV?W~AC9~)JoqwXhG<~T+PBJL_mBHEEvfLh^@M@rgzbs*Q5zm?JKMsp z<;lKJi?=WSSx)kg%$SUxh51utq{U3Dg0N6Y)ObAxx^UutA=SflLx*-PuRglawC`X)FA?A!Z0Kuo(bF~;!qrNt8^ z%-Q9=_FUX~?hk)q=pBV1&zBBr!P*n&gyeskvszF(LG=6TRIlYW&nJFaHsj#WcD7YY zTA~W`ianSg-`%k~Taa1yyeX%Wo8hE@$IGX~~AFBhquzkYA+s)pMU zX-h+;KRR62(9!YCV>~bK9~H(pq3tnqlWo@PWsG@;R&J0y)O&oxOGniZ#fkO%D(}9s z)fC(=(>SlN@5^ebqjJ|Q%IwQ;zxL{G-03EL{nFf{iA)Rb9CGq_od4a|VueK9l||yo zdrD;YujRP?=+5D}zgZQhruK!VPV|~;$>_i0UFOlbZg1Y?Jt z@@pB4^B(Rfa{s(~VSt{a%Dnwi-Ez@Z_I@084Zp7}=|UsM3Q@6MxY2m1fY@H9_nd46fJ5zo(6w|5s_p10+}ZRJd^ zJnr7(mlmhRwr4Q2Z{Mq+bVGLM+vIiU zeDqi$Sl07ahQEHTa^CH|?luk8>3ah+MVmT>Pd+nEoN(azoF~tAajR-785cP`xMscT zSm)Dq7cci!ee%t^o!dJ@@j=!1Um=EbLnlUDSYTIhWN_#0Pmb?* zqs=}oW;%HAcK@+O4kdBrGx#Ogma%8&RA*ucHrM3W+yK;CalnNmb!F_uI3EpC!HZFYXDIRHyX4DA{bhGzw2eJm z;~&1uUZ7<*;l7^#^RD89)AZ&{d$z^LU0!!_WnJJ2<{hsaLzlEy8@_BjA-j6z?q;4~ zOBTNRsFRcKd{&Iz`Tmt{whOzq>ORh-eK*&fObktWQo3&AgCry0G;g*$UvB@2+nU+f zMPs6vJpF(Jjve6TzJx!ua7HirX9EU5?1AP+L^oD;#lp< z%EYZ6EZgh7j6ZuFsr^$oRWdyHM6-3nDvhZVR(Je3%y)&M%<$jq+~sZ)S3US};Dhb% z&p|(PRvJ%|ES|t#e5*lg(Zp%TMH3TG%KWG7Ps=Y~m!4ta6Y&$;6N-=h?+IwkI(NK>D{Ul=Byp%}Y?^T~gP-mp98 z_Ur53Ho3XH&xS4N$v3$zoEz`(JnnLTyM5~WSDED^3XgfO@ZIlq^Ehw2i}B6{y`<9K zn;twC$7Nrc$+9OD|F|sC#P-gAEw9!mev9W_tc5(Q_Xh8-o2pUj6w!P0apw2;p%R>C z%%56wo-Hd$Es)$UQ!4l6wxIo)9j6}6msa|;x~b}_fyd98rwwe+dd*OI09sYStMs2? z*3LUOm2a=pl+fPbnzQ-I!`)mZi`=(|bS}I-m zB)LE4632I*p2?R*43s+$tIwJ5e`xKhRgVJ91?Nv&oH99ErF-ipyBVShN0?WJv9MbH z$u`h#IeC7)y;snJW06&Dw}anmm2LRhuTZsqt=oy??>^j-KebB1;lZ1v#S<*pugwu% z!kDPo@yhtpQk`}0&K&P4s-E|iXM?LsqS;&7Zy)C$TfwQE)~|7d|N1P41(RQ070h@X zKcj)&RHLII`i#Vb-aEqcDi*K?>`RL*>ME#ywjlO3!(>aH}<8H%nc$Bd5szyvf4)lBJIi zC~MtYw76#)d()0LnI=IhGLsv7F7N4hlIkfth3A2O%8GH{<}A>w_Ij- zzC6BQ`7|!?rsHz^u81XX+424O#w8Ov=7v{lUzl@gxB0YHt0zvLe5*(7&iq4Hp7<^d z{Sg?#8rCD+eB#lp6SAM~?4D=a8Z)J}%<TGdIDPdjlWH}}mge(A_7*mLx=!tG=13uRxF3bKZm`J1bVep@bZZYlq% z+L!B!l#Pm%B;*dvVi$6jv4{+E%e!GWZ_5+uO66vs9Jjj`vb#U~eP)@YQ?Qa@j?8}s z&IJqoY#tSUVwL#MP&I$5^`@O^?*mtPtvBp-bj>S%!5$dAlGQWtLRzEYS&pDEr;r4} z{;0gG=b2UhGtA4-6iifF$yJr|c~;;K`3ZF<0`7`VzY7*Te%CkS`?CKG73IvPdM66^ zsotK)zb=z!_0F3cJQ+P?Ss4tYvwBDDW%{#}Sr}?Fm#_pM^A>6mvw8CC`>Ic(skeGUe)nm68Law!s$I6gKRDpj ziuk_vNw&5tEg9W&b_O{}zJ6D`^1P(N`nxAyX&p2B^W*`S(`l_1-Yv{?kA$kR2Ji^7 z1W(|rT#+6Wt?(dSUG}x(RL(#?M4TqUCYXIlRuZp-~AOdPhv68j+m)$ zw{Nvm>C%*8OA2(f-pMlW(A0(2-OZm1G?b30Xct&0&)wIwu&ASacXDx2)}x1;s^&dg zRMDXDc;3xb9T6*n^#b}F&ap4g>eDE5OF1W4_d$K~ycw(AB<0*WZmS-+>W0GZ{tj#g!%@!P0Pl|Y5;D z*e<(swUflz&!R7^rFu5^ynA_!uYPXCB+Vu@N6vG%^3GWk^i49r*6>S)9{MQBL4G z^6Njt*Og@t-Yzc5y#7q~cL4LFq~?3GR&Hs28MLaL#r*PCiPInNTnN`#+Genm{mW64 zeg3By{xjIVGCj3(@;!u#N$6-`=kan2%mi2HFMv~$GUy~D_2ZaVpz>^wr|0g zWfOS?I}RM<_y2s>My|kJ=29D%Evd@yg>8p*zU1rBdAJlIxy7C6VbEOa=MU{`1^DOhv3+?o*?yPi z_reMO&i=O+Zcm^5I!v3xQ8|gJey)<+-&Whuf*Y#-G2d5S?5cU?k;P_Ya3qEQ&@@49 z{afa2VX9@x%dDSG-R80Q&BNJqieKNKwMqDF;xqRrD~>TqwJ|A9X%J^g*PWj?CGSqk z9nVUmn|6zqXT+~iSn%~#t(Lm)e};?{IaRcs)F!qD^E;2A#a^LqexAK@nzpv;l;wA zzOK#-yjdo{Ysc*uwXQCHe1_L|ENeXzoY9~-x9;U*TgT=5jie@aoQwJEYuX@_$1?Bm zR>PRpiaCY8A$OMBmwXJiW+?k^s&Gq$?+Zt-LnxQUlJhbl&6A1@Shat8xgDN+*Wzf1 z!?NcIdUqJl>ODJf;MBzPYrUtr^R?u~$Ib6`ig52XhX0= z#G24{ug>XujFPL1%=~3vZIsEg3EHJd0o~LcY%O6)&GJLn0X?RUzxID8#I=nfM?ZBfs%Pr5U zHB7xI-1P9@l=BA3qC73Er+K6WQIJ|!U zUYBk&?`6?)Q)T)$ti0u2e$-zxQ0>lfMUVKPtimRP%2gLc?(cIwmHv!v&8~*B$N5`5 z9m+Hg#O<5Pyzb5NwK~Su@56c+EMjCP)xMPGGfU^$U;Uq9t?vTSe@T306Btgs_T!y# z^PIE3!(IQqit$reW$mL{x7)P3tGe5J%@#NzPszvQ-MbZ3gv)fG-{24G| z$@`Z-LU=zL^q$CwexKZC@9fcYy05Tr-hoRD@>-gKO?4l>e_ej$O!4leu4gS|c!GEE zm&x!ve(meVbH3-XO_0Zm*DsEgF5hjewf?(Z2CMcNNgn^mci`KK!|WMzm|8j2ZI60LKbttc_w6hO z->#X@rT1o;N~E87WuSFZyU)WuYTXUiqJPO2=c;Qp4WyX*t~@9(ymD#dv&FK1{k^8N z&6G|qkaaY9#Aeof@U>r>1}F1^XN&nf!jF~nJX)(XS@jMplS@J2Su@jnvlpq(pR;~} z>}Q|A&w`g$Pf4B|TYrtG&NTGE!AHvyThr8MtvTao{rh*Y$4r5#C$yH&JA7@{;e;oj z{in1!i9boINW3m8cXxH0%KTuTZl17|*q68W@AYZVNRy3_`DZG2O<`Sut!R2kT}*w%5W(Y`1glj^KG&!ioo!*_NkD z-_AJk*7rtun}pqzlPOuA=h$^m{?UA~&hoBvV}t$QlB-2lAtyN|d<-;Xoa(7C!Q-gK z=49nr-752|Cf+Ig?zsDuk$&+7u4IGO@{Na{Fn%?85F^w-!Pb7|QmwV~9$(&?Aue|y z<@w6j0Y))RlaC||K6xU)C$qe%HuC_3r~Off7{~7g3BIQelDt z>FUf1SNcvo5RdI^<`RE5@m1}MvV#`O@=iWqYR$QDCx^L(if|vBzsWMA``R+KT0T?b zlYPogoRTT_+?1!_8oO$Zr{(Wsi-Y$FSsYZJRl()YQfKnyN&2O}q{&Kx!a+KTNu?7e zJ?ULia=hls(xywsO$M69Jnbu1hSmkJTP$m04{r3@-6`#%Vf^Fb8KWc#zUY3x`%w)| z?w97P%!_!C*5p>Z`@&35!3U3Z1DofT z=BbMAUgkmu77IgW7XMMKk80DNye{^eT5(f7RkJH?FjDM-=r$eg_xJu1!GjNntnSA~8awfCS0h@#hd$tD# zzYQ?=R8aXQyKl=Iwbr;PFP^$dPqtv`tIa&>@H2Y-QX?n+PfITF>F%fs{%&P<{r8eo z_phexvK$M|g||%XyRy^eiS3*#kz5rjeTOf<^j5r6#AbMF#)@|bL$_^QsWNe9c%kIU z2mH@6+nHJWd=1_mJfHXFj>qwLfA;pTf9Rm*B_p@DRx9Al&KnLa#S>>WnJS)0{L~2A zmNi-S+R}~7l$QC&Et@A9{%%>}b=y}468rA8Tsg7kuB&%iCvSji(dou{J6;AaN%cST zWX0QCbEVd}mOU&!!Myx&SdqlM=kjZn*0|U-o!;a>V-5qm{9LzFX3N~1g*=wjZpukJ zHO0Ek;`zOaeeZrQd8BsO(%R!3TjtHjPh~DUJ)ZMmo|Y3AbD!hmS(!o}YkqQwJioqS zHRHB*ydgag3xk-Jq|f=bEK1kyhGM>=27VwQs?v=giMq%^_j)`|6f@zpt}RcF3Oo z%vW*NdyiGy35A}Ifkn=Jhns!a85l2=EID5E?AxLD2@Ee^|7Wh)g`c5Gif%vIGHk^d9K`3c2qlh(!q+8l5%q{FP)Te@ky_< zaq<)U@;|d$7q=D*Yb(~zXZZ3bgQc~NGs#hAb$iVBb6J`<7ndGjo$*Dvx$nr;t#)As zm9qR%21XUHibDmSDyH1+pPrCcIOocdl%8)39_KTwlq^fVdwg=!j~D)OUmZ_H-r;(a z{Au3uz5Fum&zQNYzps!#*=hGv;n%l?X>Hc|HikwE?KLD%ELBL|dhi9qqiGSL*PlGx zc;1xhVZhGGD^A4Mdrf(#=+fH|Zt>1;>uf32Pge{-31{(?{rR~hT*v6J<=5ry83zv= z1m51b+~bvn@}ejDD^^G{uU9;;er-m$Ld^r=V5@Caxy%c`EmJ#Gwc1% zyt3tr=DP1Cs?+lW?((nW_1!tMxcB(=ON-rkHNzwWyK;prIeUH@E{mBnE%|_G#_n{@ z_QV%i`wZ@s*q>T3fx)aSc%H>s#bt3k$KUgqx=z>sq@mI?ziOSFzpjch&)FWn!`GIi zxx~-5Zw+#|spctZBkaI^C0S|p&sL>;w(M1DXLtnsZL0aJ+$O9O-Su4ZtJ>1f3|c!5zMNmh(B)wB-0<(=-o=*|J>co{ zU+VG3QTyI(>HMEl0+{Eksp-_E%IhzG9Pq|C_vVDZYtX&$$;?bUm_e1(fHv#^@;uI)c@MQ>@0`INJbSNOC%ZZ58$K7YDsma+a_ z_uqGCe2m<5>h#VjOlKBf__lCraqmsLt0pJ4HcoO7jd;LN{B_lHO=@pnwe(xXf!#ac|@4@%4M>7lWZMf0;^xJR8*=DglVE))wH|4zWtekFKg3*WjO@2sy} zN~rlXPkgERgw3rPR~>ELx36VzI^cFWiDLFJJlmE-S2sB}B!df8jEtjmIv3 z7M#E0>jF-@^9KJJB6d4IkqYl|TYCOI!*h`)ySHoJ&jnl? zADOCd{#;~yC2hXs1kF1|{61CHSI#UDEiejypT2PUq7#?eI++)|a%JdxEn&1Ufop+E z`cht*clHHgMp_xu3o|13OqW}1`6olGM_jYr?aA{djT|lo@8;)^`*tk-v}9t_Vy))C zk8i&YOJ(pn(8G7%EB`&mZIvvMFUo736T)ZRY`AemcI}+zIgb{HbT*{)E>_`IzDHYp0D26MdZaB_!XUm)UO6xb(()LwWP%qDoVh z=Py;xIT;${{=BOs$;|!E4WR;e=dWx{?VH|l&VTSSsM29ld!O;VW0P3RLoIO+HxmbN-wF)?}f^Eqq!+$-VpQr?AM#ZLQhU!NwrF$$sX7iJ#s4A`3i^h5Y4Z z2=+0!-}uV*m5W_Eld*K^@vJcB_Y)`BdliX=@mW6TKeup$w#}sWkW?1K19nrjT|8MU zCopfHKW*yGC7RC?B#vF|_X^cp(^?V4aaQq8LPBIf@-vnv)up0(4`$RZczpfZ;!htA zXHVt4!8O6msCU9%Uxo?aYR@dTusHE;3IDW%zwZ{l_1waGuVwD>ibBkWTB2HSUcEZ4a(;lHahXXm;`B^KluyOpA)V zd7gxvcw&BLUtTzK;fvZVAAzojgvYZMXbZRAsSa7PvS4G;@}0|!K7QttczkQgjdko6 zOq-cvrs#<<@ylGvJ@lYQ_|lvnmagUr)$`_eu824-dAR1OTgCH!p9{==#?#g17O(Xb z;He8L`*uG5*epxA{|u*=`kubdQn!Uyz_T@Hjl+f)e~)sR=ka*`O7354xi7bC4x9bC zc4_Hk=G}7`?{tOftU0JuyXyX)JhsPkE=QVi+PvXZIj+3G?rN#mjHxpXj<3jD@H@0p zs^WTOf};&j@lk`+BoB5Qu3n{%Ne8w)dn~(iwU77IX?~N6|1-Q^H9cTOh>)RLaBJXo zxh;}iN}sL<{Ab`7xpdIqRIy7#aw@lg$Faw=RBmmY87;4G!mDIflDL^wdWY>A_{#T$ED8|zYOD&UHEZF`ck(8lCj@v+7~R~@LF-~QQ3E;)n`^cSi|2R z)90~zLHcr^&t8Ys%NQ5%dPi}kD?W38j>pI z=W_xR1U4^FVrAc{zD|=#piQAJ_?+#lq%}*}UR7PnVYd6iD6K6X>Nw}JmswfzvlsRU zuDok>Nb;=PA<|@U)10|jt}cq9VZN$d*aNqN5x<1JB&T|Oo8UU%wsRb6J_0_>SxT*zrc7>X);rhOHnSnDubo$-&d#JPrEzOUGZ?9 zt>K+eQLPgkFYcdO>Q*QaxMSsW(b*1heM##=Ei4ZHlB%dFd8M^r+TGbta(6H{pX0S* z&2u~`%j>Tp78Vfw?0r~L#G zr-*^I%jq5=_xP8Q&%zS7H0{5BZ?62Aw;K}H>&{xj`r?WFfuqqIR?kaHl$;{U{Abpg zF2~*LxMdzK`P^AB^8uf|m2;3@ZpV%ax9c(=Uk2%)@zy*g7jjkMV0#dU?JB3EQ*sr| z_d95$szs+I?AK=e`ra>c)9tCo+c*9z^_-^ZD8z8!K@-1ERq&J@#XAy8<^7}D+F}`u znW7n<%)4{>>hyEHlApIcR{3%^Jg7y$J^0{%2B|V-4QBQ8clXwFwKYBKIyueqxJ*j< z@wHa2s*VSgocjykhX^)Rb4}Uwj{pAkOG~&nvgff|y!Gc~DbkaeZz9w7=HAu76xIfH z)?FbBx68TvJpPk)K{&@XQKn(_dX~Rgmd;x5?(WVM`KZ1BeZ;#WyWBfZeq9!G32>A= zYasVSCtO~0NlL21)SnU$q%tQ@p6BrV!>=oT-plUH5AE}xhqLuLvAG3d4@#jnKx%=u1WVJGy-svp2 zK5i2bvEpb#oFzloB(rlNa`kqY<@-stcDE|BCN{W z@7T;L6Lwh@Vil6nDt(&6;Hq2~IwFp84tX%b!;13b7oJe_I&HdSj;g)BctA=avXF zEON69oKwEyT1L#=-p^Hn2bWwhJQ&Tpb$j!P^YT-T4YkwUQokq^&Ug0kkgqAI{3hSa zdgCGEE#u>R)dhtUZ@DBqv~_%u<)oY`uh?(NSRa(xxaZ8oKPHDH&s{he!N14itX+Vd zpupUjmd|H#Pk438X!VV6cE={juHL?K!Q}1AlB+y8>yl2b?wMy)72+UN*5_g0suDee zb;5(o$1l&4V(dD4Uc*uHpsAJ0QjQ79_A_Ny7Ce6{!yk7=!-Bo=PJP=%PeBvqOx=m+ z1OH|oFRnRPJhA`Oay}2Oit|~mjmJ11HFY>m&k?(2o5_%qSI%{Ko7F#)_ZoRDa<;Y_ zl_Gy;OO#6YI|nC7?(*&C3_P62F1tcwjrWe9=e=fFH-tQ9|H+m2W>bIsr4<~v3?kU= z^%t!0Qs!BH!iv@I{^PJ)hRxg8NA(_1Z@j&K{aS`F2F;-3GIj3vX2eeIRyJTv4Qbb{ZiA2{zDVgcURsXYDz)>OX_#ot>i6Go0B|Gko>8H)#_iGijx0vU@;`Ns( zi!qORY|9$@pJ7_{RKEj9>MWNjr5R1*d)Z=Zd(>tF^V0_*I!i2EtZ(kEN}K=mgk2;< zaOf$f{bwwn{Q4cDngLVHhq;X^x%Hx%CTA~;j7Kn+n$H|^%s7Bm#tyM!n3AaaPqvS zr98VE@814ws>^t3VNvMmY3i-)m)GXJe9X`)GkMPBn6+C^H%mP)?D_bgf$3E}*UPm| z0<$AFe*d~6V@qFiVOYE|!;0s!TBpoBo-=$mZCbPGy^crnLA$A&^E@0n_N7?~|9LIe z7He$a`~HATXue_U&-ovhB;8oC!QGa<%E6{+=K)KbTCFp6QJb}S57uh2hu+|@IPvn{ zOp$)EXOE2-_#eIu6;R#L>+xAhl6_fiw&uf3<;2SwFS31?Svza8^wmxEGrBZUL$Pok zf7JrRCmlVklBqJk`JZD=scs5EySvlSL+U!HqGsTr%I*H_-$NCx zmEYT}zCXC~=3KB*`I%GGgVleiUQQm zHWc@PHbXpDnKN&`SMQX{*`eDf-_vVQ=&pX9$ zH*agIL#pb(87oe>@-285CSm!y-)n*PmK?)lB47Va<-D(QNaR?NyG`hsCM~lN6${A} zmdgoFn@uhnKjvv+Sdgp`G;;#;3B?MFFW;9LPG~sNs(xv@n&nJ}zy?0|noFu1lJ|PB z%gtT+FVpe3vV`3i;T<2ZF!?%4YwOE=bP_$e_>k5yD?T=Vi|N{6XeWaX{6D|2R&?M`y?&W> z@s;MIE=MCIM83&K%{Q*5sYR=6)!R~vIRaM{5CEPoBc(^94dvfrB8L#Oif&F__ zJ5CoA6lgUaeD;9l4&VKAttG*e7Vg^`qgkS}h9Snx`ma{FMGoVY^cS`nBJJ#wIt@x+ zk1zF^Z0#X`UE?l~i9#oYqa_33HoOiFP`-fA+NtyjFD-jb;nVO*yZ`j zx7O%nc=i^YV0d}|+LDN0J^a(!Ou8Bb7*rbE?V}3)-HyhDD7<@hpnQqoq`Jf=Hvgp# zT^ltVo99{2`*MuE&b?~JLf!4<>J!+j9OmSzKRfOf&UPY1X}jUihF{;7ZMz_2@ZjnT zk;?8JjXm$qC%+7J3HI16=seF;ZHo_=mf(z4Y6lLp+sxWNxX&xSAG7o?uJy4az2k`+_ctYWRVc}M#Am%5~NF3+FO@a4Q$-532%E53#= zCU2NTRd@bp`1<=2YY?BKeAL8<`THuDo|$2N?8cJ==htso;+-788nk#qp>LAq-AnV5 z6d0B>6tF6GFRSX?H-+no&&~jG*($z6iwpR3bYlc1rkq$BVXlxidwSX}29B!!x+|=w z-f}gG$n@=-vCOM$<>%hReN!_&&)t8h@W&;wOg0Ig(wEm7MSBz*?b^Stdb9h}?sB=q zFQYQ0jb<7#d^v9#f7Jz3A2SRV-rB95ERzu8 z^W@X<$qq4@Nek9;@O`!3!1;4;p%?qKt!ruqA8G=TeJ-GSb z3$SnXSgbhR!hWei3V+R&)0dwna6C!B)-*|SuWFdV^V2e^ZPFF*Y*$J4WOI8w&%0N^ zuC{i!$qJjppM@`kmIXF{`pT00>w>kQ&Fq=c43cc`>(_dPNE|l5m$y~2*DlE77Q^`( zzN=<#cFAF#8EZ~(^)AReSA1V?%1I8r2nORDWve3&S~r|mTBux{b6g?aCZPt)G5wb^k_k29Q*3Io(S}GU&hhHHJ{kY{8um8^wH6tXs@VU||6#-Ut9(MNS zOO+2@+~?0y_I-6$uad-_KaCY~^Sv4z5}W)r{Zy1yKA-rqim99TNlNgMq8+M*dwAa2 z?tOLcV$T;7R`s5|>9oaf5;FtD+^(=kSz#U-Id0BbRmI z*I!o|V-Mu4vU|klFUwz`wd#;)?8ObK_7(pbO3IG!&1ls0WM(}i*i)+hI>2a~Rl@IU z4WSd3?mDr^^nhesQDkqplc2;@zUXGzr&s{$2ouHgtC@Obv-xk&> zA2|FBCp&FWonByF^=MMcr|!vpSw;@Z88%ne9Bh~AN^x^I>d7F-FT3jS6cxUm9tV%rq^*p*FHJkr>=-I;$N$l&0DO#a9+eVO2EzUS6hg@%{LPx)FkF@h&; zZd>FFhVxaNp_xVvDZTsso?KBpnZtO@>hhG0xp!R^WH>b&yyo6K>k+vrvd?pgy5ju2 zv(4Ana@}5g*}ht_b6G<*k6`n}mwsIqi}fBlX0mavFi&T!xO@N76t5FK56g4kURrlR zTdU{sq|DtBJ&gwzv+UYnk(1nC6{^4ciG}j^p;cH3=7NNGA&ftp|xk~^ZRmJ{uqScGxC(Mn|EdD%&W{r0=W`j z&Q+Q!=;ZF6cWh1Li8}?0--l@3X09@`=cx)=I2}|H1zZr)W0ZIquxo*`e8tzZjPvs( zisx~>_ffGf*wbh1vFyaT;)4q}-1r*UHRV{n6$c}8pI_nj{nu8hY%>ghrn+mE+s_&L zb@%S~dN^`r2^|pZEB+PAdVERizK;)5>O$2XxW|;U-&>gYd1~CeeP5Lp26);8usrg= zr{O2s5&X`-YS&W7Pa$m#k4=3iG^}E)lKB<7)uWr8bBo-9u$-+z*Wa=DoGE+Dw(7)9 z#o~*_Kdlp z?3AlsZ|@#+f9-kTXXkm7qbClQsccWO5c#}aBIM;ce?RSzG?Npu8ymQI3JkAbTl_Pk z&z@_(l6(A=R=dh@hO*zZB;MCB((c87dndH!|Tl8lXyd%oMgsuWj9?gGSnugyxG)D~3tu3rAyx>6~RHsPvw*IH;JC#ir3p`o1e1^Yc=%ToW z&?D)dp%1p|**8fMa^34sb3R78x zv>0j7hK^xe4EsQ(kSKe%!HKwjiNwgS3BDReMsXNa1;Pk=4&O)gD?> z%G=3DGBV4Uu$1~e&Y^_bD1UzpSNwCE^pMsWUI;W zDb#^sqvWmX^lJ;#TiKpXerA8TuW3VzTYFFs;nfFz($oGi+>^VUmuTGwLywB>g#GK|oHqWmuzE}LI zsjg|^qKPIM=kD9wi;!txk6&vs{r#~l#pX6swRcx%?>K3=bGk|c$64F>X)L@8H`w}y zr&+MnZB?4bzt`lz-0);;ZNWZ2{`{(ngyZLq$G;9>lk+>%;Q0IQ`D;sLR&D8>6UwNl z*z|nG@-~?X_FU_C%lG>1xp3jKoMhe3SG?9)o7rv&{NkH(Sn}923HF7*f{dB=tUtql z?|hbzwCJXD)gdl#RlY9sxM98fLia8iAtOJ{4wawLlAvSr<}A1O>T@{rfbsfX&+lQY zlzsS&+#LfqN*s6}c;fs#%jN4XUu}4o)qY0VEI2*!sDqoM+*a#V^NgggEhutO{KSte0>B2ofd|Fy4{p{rn+nuw0PS!{YQbts#C|edMxc%Yno{0=jQG=<&Z($7IBLOvd1s2ys?{~(U&hojX`yD zVDsB+bGNL&C!w^Y&9HpVst51h-wByLrS?^SxqVdmyOYv=>_t|WJY4FM_Pvp_5`6C) zKJ}PHcj$R%Yj`F3^1XQ?dS&02G3v}z`E|uv*&_L@+O<&WpC(sIUp$z_ z)~&%QGb`x!uFImw>lQ7}dA^q6P>BBb=sfGCoJ@*fv zJpN@d=Y)@Jp*9b9eGV+DIHz$-c9lKiqnPZ9HS7Jp zJpn#G2iwYi&9j#(5@PAP)0RK|h5fO{j>nm=XQfM=Uu)+oU0x<~jJc4*z}8lSvHas} z-;>N4FYis@t6iyI$mys7@1+0ALQp83*DBe}XH&m`Mct~;0B z26!`1zPGT9>#(Jz#iJ(g4o}H9n&+Ipt_XSiu-AKMLAgd!^#$u5nFfa^U%n_!y(n9@ z;Z^a^kmf>p&6lrl&2Ut%n%nSk%imW_4^qnOP5V40{%Ec}-6F$eJm0H#K9_gZW9Ccq zmdMTho0X>!^IX*Iq~gK)M^BP3&1~S`>$9+GYk*+mVc{!tF7lrhhDJ zR(s4l>y=*9V`nPJ`SI~zYMP|;&ho|z58GE)GCXfpeE+g6+Py)1!=G&DqzAcYT~B+s zFx2d=KVMaON{>5T-EyHHvxdZpW3^c!XId3ic)r_aN!Bc}p6O9g=Wgv+KiAgb*qy># zGrHuQx{MWV_yaWbLU>nC{$bzCMsw6n(7-e2m`QhWco zL#ldL=XV(;=4p0Qc@~`rRcMvBw2`^u7|E=yclk!utZIGL@WxAvLvA;)`~7^@axRM;rV1>RcO+kG!j{B!&CzB00&+p4Rw5{krL+!?%D?T58HY{r4 zy%5xUr|HIlm$$oS^QkVi?9XO$u-$ca(&Lh#)${KbtZ}#aVz+fJ&wHJ$-+b>L$oqXQ z*6n>zVD)VAltsl&Z`Qb35oNq-+bSANQUkp14`#7@rp`?Y(nJkm(f)#_c-d(=j`_pGw^w3j!!%mh8_OT2Q@ zAKMhU?_8S3SeF=f&~Va=9Z4MOw^r}6OLlpF=Fh*W38CcyY>zziMEGC(N6csp{e9xZ znwgK;Z!H&U?N7Af|9mzo<>Z7DYt_EG9t@m&Z>sbu*)XStd<+NP)n*2qh&keR@cO(j zyMJiEJ{sehll3m;XR`wP%V6W0{|tI&gF)eLQc`jI%qEZ8P0|Ji1d+c;i2V&4mlM z<;{5N_nr)uczkK`-NrZW@?I6C-G*%HXJnqF@LYOxgK0C{Ev+cE$0555q!Vl%<*Q$0 zx#lF_S`g%2bL6e;%9Mgg1sO@p^L1L4ZZp#h;^z7XddsXn)VFUd|9R=3t%t=<+_GwX z@8_Cec;gpeq1REdasjr-mnO`8z$%eYbtTQ?a6aNug{-FaSWaf1R3Y&;K;XbHzGchZW9C&VOT5W6;p{tU>&Ef8tLmY&%2!#< zi7V?Tx>+7Dc^14o@qohPm!8TV{pxj(rT%^Ru%t}(n3l!byN{`?=|1u*wZ62?X z&4>(~p(Mt0SXsIM+yadrS+D-@*Vas%xaiZ|OS>{pWeo56( z+v>}~8H|nRDvsK)r^z|3HhgoO;X=TH))NOU^UqD4qTF=g1E2k`uX@*oXY6=6Z||#( zxyL1+`f)6|C7d#0Pv^ur&lTop6|LQpnA|I+V0=ES=mFnM<>in4)k1Qc4Cnpc)xXq; zHBiN)>{!HhCx6i-O(U*dE0ml2vUZuw^V+Ds@`QTVmWk{9XHHc~k-NgEKd&M2hW^qh zPMH-_Hrv?zDvqYBaZSCs=i5@xa&f_(hvqJkyC3Dt_w?=3kervZdX9*m4D$HCB>eCF zDL0i@e*4b0?1|db7ZxiwTy|QQbhmN$nJ1qw%f9r=Pb<3J{59SuBQ64|5dJJvs}<>KnB&|yXM^qWYmG~SZy6m5J!oI@ZHZk{!^WvGf8X>x zn_qNZ=XC4eOM+W|)rs^Rm4Eh_t?`D4&Kl9BJnpG)e_lB=d#C+Wm(!Em9n6d8{b!h~ zwXm_M$5CBf-C}uxL?X|hd3zaUm;+`UvsrudI7^?_!#mH5=WJhVI+Mf5K&QFMJ^6LW zjEEH{47c!4^^gz9R24j|SaChY%V3o?zt^2S=L0?0mx4jCJT#~gJ8$6$w=UiE)mf_J^ z^w2S94$to(VQyo&BRu~ZzP>#2LDDXvK1!O2EyRU2*)Cf^qA$zf_QALS{UA53uwK>a zC(1JJG@W7((z4v{DL+;7lwA7`Q{GoB{L$E>*_pKZAbMhI=(TBA4rl zzuPF&_}=@ehT<{NJA%7y9lnYjShTROyr5bzD3{IgM*Y0ZN0xSJ1q(FJUz_UpLDIwG zW&dkmqaf)Gjh984)vW%BR)+S+{Ik_E?`-~bmi zMhhjFwdWmM^eIJB)yO|~%Fi~-mQJ;s9EuIvefxVo#8tKj)mAR^yk0!#@luU62Z`jI z=KlC&eMytlYGE&)!YkoU>%Y&#BV{-XF@7IKS2=&5n)p4XfcJ zUa6mpbvP}T@IP(++|hgRMB=&P%ci`2N8T!gY970GtoXXAVCM!d*~LG*g7zi;EO4{D z`}&oZb33D|y@mwKH&Na0Dcy$52Y>GFDGWYwYAO3id#}8!j(s~{)Mgo|PGJq;*8j9@ zM*AC^=1Zbm`m$mMYyPa@-Iq76{1^K|pkuL(cwWQrznP!Kv}MxEwW^;l z4NFNrY3cY&K5ClFPbt#_a`U!m%l1mX_`52PwamwmrKxsT@Wq`UHFvel)eIsM9lw0}zKq*xlP9<5hJ5~aOZd+%zqz&W$EDS~)#LVUX;%5@ za5OI|ovXY=@|C88PFdrezPXmm{v6%D)BY~Q_XRz&GmmL7sYEhWu4B71Rr{TmU$gRZ zrlvZ_y#1wofBI(HX8vw?ebPiqU>cXF4fDMzJ;}M6HAk*J`LoW^Zcp_kkI*S%*5!qL zQ)Y7uPVhHn&I{FeE|iIzOT4>&GgQmPQL?I5BL6OI5s=MYrjU& zaoxUsTNRV|&U|_O#WdXLn9a%%PR4@_&zY~k^k-Q4bEn;+32RqYa@-DT zJG)KS(^hJfdeZt>ZJCjhTai=qy#>8BhmZO(wcO(UPGJeM{0Vc*ii>Qon0RUgIe zai(1Eue)>Lwt{v1f%6x9S=uw@v1JZJuSX>(7? z=l&}JtV_!z-42GnaIbQ`Ic@Tf=!sue2za=kdFc4^730#o8h@{y(W?3`w?%ULnXc0t zD;+P$RV;0JkQ>7)e@JV>#GPE0Z+vZ?kNr+pEdO)5zsi?aO6Bd(^L1BtZ>oG!RsHJ< z<1AN=?j2vxZxycWSs}XNNX_vJU2Tz8?4b+{XKd?_EmeMMQ}{x&yLYkrGxqsj8)O$9 zUU|6e{k6?Zf?GDFI&k;QDm;Cn%q?{iwUc2`}UBUJIEY=tVjsyo|c#Z5au7k{$5 zA7?yk-y~tdF$#Cl324r=8Xv%M$0$cs}_;SEQsj|8y4l z>9!vO+zzb!nm^m(&#KxLCoXNj*UwUCA~s?7F$QLNGyVlOUDgVCka;Ego zcbO@Z88jH4Z}_%kqKBy2y1RF)X2moZ%=vufN{;8_z3#j7yaQMla2K%KH7!1LqWtln zt_HsYZO-@C8f@xOw!3t^E3xR7$!SiH58)GjezDbZb+wr|v5$S>*Hs(sPwwE^_NGp5 zYk|?mpB6_=8iMBAc|IwX+j3YYM#$pZ@{RKS^;t;`b+12OXDD5^C|u*i!h*tCz1PLL zx6fH`H&x5_*!30<5jRIkna{W8G&fK)CGNZ zar?d+nMhq0XfR)?eBpBNStHgCX7!v)8|;r*{hROQIx)F^%G15Jt0dUIDnGNZ?fAO9 z_~3b_Io;DzEM)SInmU_RGX}5V{xq?N!QFaq?JCVMrxh!1#2(r3^^3`FPrDhGD`iz! zJR%Ybx0L_7xKht0hkwdO@dsw%A75#fu_lSUW192+bDrQ^)~cY zW6ht_pILtSwyN(=-rKMf4C@|#mYe^#s_{{z=tMW;^K$#Hh|Cm7l4oV)Je_{w*JXxe zfy6!|U*FFfNvC&AY+{e{ZO;fkaE#X=wYcZc9pMW>E$q)smL&Q;oUquw)m31IhF#)8 z`|=wX96t1(ZhRZE^i$*E^bc#97P%^%-hO$bd{lCyPGbm9>(kwWFP&4iq@7x_@csPV z|I}vgwmh%CHMT_Mtz%c?+7tOR9`}57P*LFC=(Bj`?St<iGg zDW4V{dwy81@ayVl8ZF9A@;@97{+c({GF0ML@jU-)(^oKWudfMsX0z#WCbRN=^`&YD z8mBa0mp}j7KP|B>dB@ii%lB9tt#FX3IX-`dY0T6h2T7d*kAI~KhRb@=4d3xLo=<)q zxG_d}&hrIdme1d__It-$pM(X!p3nLHE7)hIfXUJMdSwq17%bElDTY61X1UTDvRm}! zJk3{K7q_f4?pti?kx_UuXz?=RucnL>)^W@4KCtrm6i<(TK0H&^*JZ6^S8P}QWO5^> zAfc+S>e=+H29f^^f_Kk*^_YK5miW4SQV7qs@a(VOp3F2gq^a=UT81?>OFa)tUzpQ(L_W$X zMu?wrr}Diy$t-dfra~+AZdx2Qnxw3~nO}`Bi!G8bVxBy++>G~ODmDpBwZB8locz8e zElJ=hK9&{JDfx7}^{&3F(n=btzXZegEV`6;|GwqdWk2=mejI!v=*e|dpoMY!JHcaB zSNxof+2oBT_LRv@T@t?4;nbOjhEtihuiqQ-ChXP?yY4H0Gfy>cKJj?@{A>gBA1bn+yO=4i!jdf_Xpu-+wIo0#}5jz0{zx$x$M1MLsDmnyAavOx4X%g2Zfr*}HO|Eu+| zsKLO3rSa!AAKuXP&t`(V*|%2}3$?Vre;N5Gy`RarX{Y3hX_-!M+z;_T{C?i%QU-7D z2H~B4&)#H)XTSSYnQ`LoysK`O1{QD6#&xXvcyp)4`vB%6g(sfM7}|ATTadePu}UOo zPx1Bss;gW2%qECfpDH~bQ2WYyNAP>?@`Eu2?CUb`@KuF#UR*8p(r0<0#n;Cx*LLqN z*r+2b@aL4h)RK$F!c+h33fss$WrzE@@XPzxrg<~9s%$LoUm$utE~-;GAv)7`W5ji> zRVPmEZt4sFef)J;!_y}XM}Bla4U@3@x#WhY)^XM%l$D*I9D1CkYGc;IOXk8V9 zr)g4Z*b~NidtY#QK40q-GJoa|=4IBG^mXiSt#aXDx8^*MC6m0>woII3rtbCmFN3WL z+kX~VEID$jIazR{*Us1TzFKo6yJa^yr!d%Usnlb8w7aQq!Ixi`9c;EoIXzPeXmi+8 z@?`X8S>c)a23VlLHV6(^rHJd;?sL2_S0g-GL4 zj@KKK)mgqSQb_8Ud%HuO`Bmj|pQCnuGh~t{&f7DKGnp~4@41NidsQPAj^o^oFJA_< zu)3_VP?!5@nyZ}Pt;fOKAM@*ilJ1(oV+P9XeGmGMO%o0JaLVFmUE;eeS104$la8y~ zp5JS7q_@dm;X;hNo57ofb?+ROEqmZ?@StwXho$F^Smf;~J@7i{F=H${?^$N8m2N$c z3r?O+N#1Lr#3Whd{h;)1*b?2jXFvD-d>fFgxa5R`{|W1fubmmW{=8{52$nZrzg5HX z_hOSgyTJTM>htTXimH3U5+WQ_j$OR9`lNvFr%%U!hPE{(@LHDLS;D~hcvg<%_UVsB zGaDl&N~WH>c)!c(qjjgFiUF7H$FSxzs{{@Fcl;}rHY|wUp?&IO?2E|!aY zZe|mEN|vwGV&uJkZHC`di3fefuLJXV_$ow%POrKButMU2hoegA;|o`tHOur4q&GH3 zuHE95^qFY_o4wS;$j!SgZy&48;MnXjMLmgkvGNP8S6WY+D&wzIhZ$K~=os~Itk#Iu z+r6V-;!mcr%h{v1o+!vn_Tchbdg9hjWqGf~(&7*Iy?7#DzcyOO|Lo;$+LoL>C7jaF zdmc33;m^u;=N7ssbg)Xuz+)6^UvJP{!@=5d>YHe0&+4Zu>@^O2`L@C*qcPNy`Sa@KiYEg?ujDH4IBPg@ z+rx_FkcJa;rFl*m9bWME$E94Y+u`%r{MW`Q%;Oi8b}A6`}kTIb2h*tOw>tt&%_phLu_{`r zadd0)sR!pL_Ag&+xxF%e_brY$)k#e|yQ-s1G>ZJP6uI6%m_H}sS7F#`wvcHFp2|Ax zpO($|u5I^Gj#Is_`9iSsGsTF@3 z;$!^zRcVg#6B6b-`X+fw`_*PiGX*I=oLW|9vZTKJ>q57Coags42v1tR@x(Wgm}w_& zte+E*7}{}s|61Fr4kw?KA64<|bBv4Nz2EBLm20>2kD;&OGMA5vv(Fqq;TA5pZ_2ft z4bB&ey?&O)n3)MU{JK)K#n-Tu)s4aOoqPSc6)ANAcTy^A&P@LFSYp*%nHhQ(A8QVX+J^pys1ikmuZ8gJWwx9mv{&|%~=f-A}EN31b;p?`qlBG{- zS4JFasQg>#dF9VuHpgFGk)d5_O64hqZ|_`SN@mfX$6k0N*q?W+h~1mVw#V0MC{OUe zHf4*$M7;;64=~hQEjiG#(qXY|#lp}hk29QK`A1E4dc)v_o3H+2L5<2Ul9k7vY%Cbtn8-A+2^$u>2obeTl90r z+W_PDm*uwda&9tHQGBeDKH10cKZ9_|0p$zNmPmfOB_^q-aVI4wIqjT*71tI=L5rX4 zEIp5AUGz9BEZi#d>$%)j{hRmPq$};?4$XaH>}_%=U(Mv$#XG;cQj2CD)?4J0!{d4I z^|d8}6MnD=_AUMyy7$0N9(%bhCnkQ9J}nXFDQYC!^?K58f38aP4M#1fO0O1Tw~?xP z3tIK%kfz%3?R-?B|9o|Z?dl@M%&wU-_9qtSS)N}THnH&J$%7|WPtsydOLCC;c-=I# zBY5%w=7p=CDKr;LO7j2Oz-D{$b?DuYr-rxtv-Zr3Idf#CLQ|0i)9PdXQ+99Mz2l$$ z(x3@5qo0RFoP5Z}8m`&=`wZJx`BUpWCN=NKy>WlWw-t+Z`u8+=oU>S^uzq`+66&d-^DszKwylj@S?=ChxwtT`247{u`W^{nDt<$1k6=_f2s ztq-vJ?7(QqfVz(YyO_XiEjfvKlAM{*}dc7Tc>>w46g*}x)>GqFt|tMv00@} z^Ig+(X6cpEqaIzWyxjjts9&DNa+4$JK;s1K%NOR^va(Aiv6;(U;812MdGAmxv{^io zy-Y&xilPMfjlx-3>#pAYqrCF{Sqp~4g^zPXFRb&Pah(6uWo{;~#}aQ}Xs$W2OZnJn#AVHna&;p3buktZ~{c#k)5KB%7T zr51E%Rcqm~!t3`s85UQ`EZ}4RFt7b}&|&!*%bfqMzi#tR{?ei_W@X9qFI`kt+_FyD zzH7dJRpX6ae8sz2W_3oNVvsBQ_H{{e!@I@Yf3)u{wy>FYyYEPV$!XQ4KND{4{C)7R z`@&@l6FiDIzr74pG+g)i+^wpU2lNk`up6dw9L~2mu6%EX+V)VM_nQlU)}DOpKJ%Ev z-B-3N*BmbNZP5C{K8MR!#8cW&@qW=FOXh?XmcOK2B`vZ-Lk^~&eD6`HbYl0%CvS5! zPOA1he_5y?=YPgqeggB)s|7_n15duc!L=pDa6<{h<0}PPoYH0YP4a>)kIPyG7D((o zsgSzyN9fuEtCp`g_}y-+O!_JHGb~SJ_}6-^++M~eE;B3UuuE6LQ$IiUhhNufOq}8V z^v{v!brrW?_D3z3PA!k==}BOGd28LGb>UBS_8ph_zEbPx)Re%z+YMwAcs_?N31eB2 zduD5n#MLO$YtAyYPTpNWkJI``tIT@AXb9G*WX|b2Qa(Tjhb@SN#H3F=|A% zhn*K)u2-(LK_Z~YeQnyABOA`&J+6G^l2clt(5hV)F@|?IUfK4BSA5rxk$JXm!p?s$ zR=qnh_w%f4YWYRYO#El>Z&fbfknfGOxZ5V7HpPuu=0Q)X=qjb7We2%d?GCN3?=?Sl zdb9Asmv6(uSqyHUd~7PL8Ir*9eBm;gCA{;RR{Jcx@Ln?R=gaWeiOWALS$3ycO8ne? zg@YqV;)B&ym(`*@b&=9PRMI~zn|SV%fq&M7-XHn#Q4UKx;-7~#H2w-^l3$M+SR8eq)5=n?Tv_CqO!~En3)VfI7*YH9N>y-_*`Wt&0MVVdzSGzkCV$M9e=Lecr@PNjT&G5`PTtc zYPL^rIQ#eA)Z_~7IS=~oZMl>8!x%qFV_$}Oxa z>+`EZGd>y5idpO=l<7FNF6A6Q3;)Lzcal}gA5CG;sr%R6h8Rclp~xV^#Kz}yo$4v()* z^JG~wU+>b4KXqFg#iVVu#LhXsy|*k(GN-AW&z9BYz_eR?HJ6#4h?#qU(O0!RS>mh6 z_n;fP(|2^}Cs-(pU74O5mlVv{?WQv+= zs(h+Au;NBl$VHjA=RaHsN|bRGb*W`v>*a1~s&MyugO-`{+&_$AGl~VDIy2t*7`iM$ zVpVZ-pH|x84}6TPjyIXj=}PhJSmpU;W!?MJ_Zs*=Trlf1o^`g9zvpezp=FP4N>&`V zwODfhyouDpGj3&#jSiCPHas64)vaewetT&m^A43#xh*1*9q${w+$B!PeYsZjxHw&X zt<$Et3uBTcU*4MFHRIgd#Xm1yX;ZYB8n~lza^ICh<~;MJTq`m-aYXq0-s20GvMWtW zl3Bk&B=GuP%S!b*32BR19=w-$-oKPNt!U=?y#beaZ{|-)sJ9B@w0xC$=J&>Z?MkNM z64rf&_f{Q^aImzLnZ;+xljT3#t|f@|xvA1qWrcaHrsewavu#)XYGqbh?ZGec%KxVc z=OW|Augm+wXJt)@oPMdDrSQT9#U(X2&*ubtn0!^(_}c4?fm2_GnltC^&%ul=m)1S< zdpBji)^?jKcTB}xmDDEx-mz?QPpwwcMN!2*fv?BchWGwCV=3{Ufva3&3ZGrxm!42R z>E=JL5?*h=wJ2%%Q+D>XGKZ2mSeu0^&dbL~wLSDcbjtcaL$4ou@JruUmCGF7{tP|8 zVA&4qB2A+;PV1BSuZ!ADQn+*D0nbN=i*X`qBI%aN*OnghShmuMd7D%6g4b?O|M6d6 z>uur@cFyjdo%8syyH8zq`~p{bRbQ!i9SVy*H1!T3SkcS+?P%%wu+?9)Y3^ z!Q|p(A-TEi3ziu1E_Keco67lf-}k)vQE^P^lKGAyi-J-X>cu+iIH&s_xv=2d%Rptt z(@&mO*nH6PX`XItTl@0H#7$3lR-9aM;+^KFec~opdFS3ZXC1Odo6pbRFDs|X;$>*h zI!;Er@5{49Px0<}5G1Ag>50mw$FjeJC)s>|^5xm$QXXdWEH@>`wg;upZ%t-06EZnw z*VC*L(y~Kg;_e$Ia$nRQ?r1*!eR;!S#tr^k9eB%59$Xo@@$!NtH#ia=^X#?#x8;!W zkI-ez*BtJYzx7jjT+}o1(xRBkoCOcIS8Z5Yam(=ayG)NQmL9*4B>cXzC}72j=4lDV z0ZqnT0SBZ`_7u45@2=FoSzVizlaPLG(dPo&%!i*nSS*w!AMg0O!khP|+@9ZmwZb?U zb-eoXvV;zN_B*`egQxzynU7zF&YZC=V9r0M`OgK)co^!fI{qA4fA_4+5;Mc@#&eSW zsU|<3@U>?=2(90&1rqk>mIdsT?qhi6ntmo@B8M*L+uh68 znzZwn^R97oe;mePd8l|+W#7XmLPoh-yDPuQM+s?9S+&Ax8oR~g`zDj!e0IJlV6#qI zayY>x`|`@K-%WZIZAwiY6EC*9op^sVzRT#^nFGR4x7pie&GMF7?Q*eA_k4`Z-^|-x z8xPtWJYl}HS@8eGj|`2$*Je-YIli@`@Lc7=6{nvTy97OHu>5jj{Sup^NA@#!-u`&h zukmxs>uW2IIK8`5Hq%1lxvAAg*{Vw$)>&95m*0IZVOzIV=}fASp@hq_UCYc_Pl~u5 zVPbc_5-{N;-_`y^w%9*U%H*cJEV>sNdiT8Dp;;U$x%8^o9`nCDO6(Y1Bd5#3caYsC!R zXX)w^qGnHS8J;d*JcZrI=BR>pZVdMa;qkm5OW zO5nkhgydhBqgD4MepY0?O5@_-_b{5wL$(a!{+zCX3S~9TjlKMTk83*-x`uXWplFXaog9fDW|3; zw!WTsbH$Rd02$uJ*VY;uHP$|!RAh1T+p@Po<$@&V)g%C-J#be~qy z(}r-%$Nfu#9A%T{lY4&j*})nT+z zx$J(uS6_hI&xySUYz$Z~d++;jU_$Lmi&GQs9KZ0*xNR;J3*ZI?97n-;MB$@K1f{&7LZwpA^nb&k(k zZZTRM%v$|S>#@qm%X=e)JlcyrBqsJWUa1O8?XPJ#wS#BRvqjb|S*s^R&k2&Wt9@9| zlEC-#`%>vA6Icsms(w`mN6!+nXq7O@+&ZPmKlt^m*xl*sKO$1Nisqg=b>C?6z4>i1 zKfAbOSe3VL4QVJ$<*199eBpAfXk zNfCR@^R4a{_l$Z%_!wnh9ZAuy>}c3;BemvvFX9y1&XXfx&rJ@Y~p$_=M%>lQO_m!*gsTXS=hl>tzI9+sq5kV-a?DL z{@-3D1{Do)mY&a7`hx@V_-1>a$jeGiK5~20%LC_^GDH}sXC!~Gs{i`R<=jchc0Ehk zHe0Qo37$y>9_Oq>ChX?zIIgkt^>wxeb*JdGn_OilB>%ij&NnzMlgy@kuD<(DFw2=W z1rGg}WothN=p?yvJ^6a#;8C@e&K~1*|=yq1Npy?4!h-ij5PC>Z5#l=H&9M6VG^F z@O4S;t5dtn^K5r>MciE4vt7D5`9@c^=bQ(RCVF-ql($PzwPlaW=ziCh(`J)CiGATh zyHE+1$CGO7wpy)8-2V2MU-Z33GjluNLw%BL?k3kb)n45Hv8(ZAkRj_1dHuEQm8=0w zA_Wf5KP(VrdN;wy`%}Wh!WXugA39T7+b*cwZ&R%W>Cp46NNuGt4KeTFE|nQq?8LQ*N&$JN#!(my|ocSAWv&h+XOITE!Pac01&rGWxsM*HU7o zrTtu^u2R}(16UNEC zWX1v2>i-O!3sXejI&@+V&*$4+4w@l7JnJ0ZdN^|LS;_vRZf~#m4m+g; zhP*E=4BZkFJL4ZJ_pgm|2#ue4^Twa|C%>HE$|V_JccDU|*xw@f_&wRo`l=)E55#dK z-oMe65ULgaRJlKj>+R27laEFwZe4uhj>Ln%hQ11HhwHz7bYS2Tc_%5-7%+F4O;3U2 z^0!?UCr=)HJu84KQ9@M1VgZ}kfzu5I>|XsTnKK*I^Q~*M4l-NMcx>{CLEeDj0;^<_ z!i*<1tJk?%^;|eH$snL?#({J0Q5!YwA|DjL_MLdza_SD1!;FMduVui8b zp)WR9@0IiIo{>`DYqDbEF$U}X-TxWZJFE$wWVA5$m)yL^f3l238v`ci!5f#{yPbywMbNca>QA^So~JoxUx{{O_!8{`~$){btuAPEI=w z=lfg~ab_}+Wvg9veF}$4sr^#ZOG@Dhw_X{P&EHcuHM3Xr?&XdR&YwcQonN?o)!fAu zhrb{9KXCbe0sE=f7oIJCV&Qh&ZmN-{p>s;diBsSIGrSHGJ!pCOt?ci=TDc1*>^yK@ z{no?xUgsD6Ty=&th&U6k|$38 z7uhrM>(WTayPCeYe?3TOe%)2c==?KBT6vOn*SbW}UlZp|$&Xu6$+kpB&fE zR_VDNWy*ZD>dFR&xAS(GT9haTXBaVlE)3Wpaek?tI`j9LGCawz9o`6;&$@ldko$3F zLh;0)6f>iWW5xl=Tub==Gd#KAwf@BZm;fc$+!H;A)m22lGT*t$PIT^9ajlF`K;#WIjz*3xlcYvw)m>%zS(`iXMOzg`ePHcbK;EmJQj_yRF-vo zJl|`}a;=?D*83mc%i7DkWy6b*$Md5mOkfP2R>%J^aOWM*<9oGEwyMa__+mGObCTev z-o^b@Sv%wWSw4D5eC)eo7$(86xZH%(aLwCEH=e&dE4b|mk0Xnmqr`G!;m^iz1e=cb z7r)SQdatEyoOj}nD|1dZE1%4^cc*NPZ%vu5&brBX;=C*O8qynxMtPz(_9B8RoZQtaWOM;^Z8(Z{l?~N zs~WWn9;j6bWW{W$G332*MYQPLWhu?`_ny>hm8LmAPnK?Dt7N{nIdX&9dg}_NHEVjh zB-`8VU>KTBW8oWLF&unNmkG1xm}$9(BzgxS4wc}vHM=z;&W1WC9P^>cv7}t zqR}RUV--tIvUd5AlvY8A{i)WDiyZ_s@6;@ncy4QJ`|`}1 zC&z9C?LEGKuXVBPsWl$oA5F=a}GRl24c>g zmxHS=HgV>;=L9`@p2f3q!I>$WRvAxK=IyJJ`M%Wh_>N`oA_GIdCjayGShwfxbD7$# zXf5U1kJp!)eBeLjdCqQ%vKf~cYp{Kz$s)HqVNSRG1A_vdrYS$S@6}#mk$6nY=*+{# zA?o=yRUr!&9(Z|NgrVihoWfb_KCXy2>`*bY`o408*55x5s!Eq_TCzN4^;CBIAPr%c zc;obW;_I(1aVqkwSQ)9rFvTuvqvUa0%{3y=QlfcuVV#AMK0T*?oOq+z z+gr*Q&aSL(w`|U0+a1S6jPx$uK7RU--Ii4xS_e|66!81iW*V`ihAKDizVdy!2D|Qd zh60Z_8Koz+cZdb?>MP3IuvseKYtZuE=KPB%Sj3p&NMTR<%dqoP%6=B+*m|BT%Hp4z zs!`l&l-Y2-x6x-EyM3?QtHa9u$JQt$Iqf_t`*M@f=FR$NxO3xfeivbMR`t8~fNzVJ z=sZzn1t!kFu6{|}6P8x8Gp^Blh{;F#$$ans75{w%*QOXQqpoWyS58dI@Q^)Zh}jv@0xQ^q?Y zQ{NPy-^$>2u&e!;=#F0@9n7C>4IP6Hcq;IDoM7H-A-qSckL$Tz`=ylzG6fZXUUo1| z;&`<5)oPHCZ2m=^gJ)V^}L80hr==_bS5*VZKD^1mt!e&cYMOFYkAl+!YHm2v;)S)8ev ziw{qYyZbw|azixtr)lytWwRZFja!R9P5qlC$z;gCouSU=*VSd(qFx*A4NuCx3gz9R z%_CHGrE5X&i6SkxZpCt*@4teX`tF|bvxxcfdR8Xmzp@Aa8MO94Z3%i+mw0RPX+HCb zC*KC#5EbqbV7zB>V%aW+){{>?7^)_Rol$vvJa688uZ+-AoyQWk{OhVNF=?_muy$@Y zud@!BC>lKZr9bD+rvD7pCNHK&nU-3z|LpR~oa?$ROyYJyPS4bL+Kx%#ztR<|!fLyI zwpKDa{G5FuZ2PG>nkW8EWu4$rvn_7tK^s1Ms}wF-e@o@bKdvsDrmwT4D$wI&iePYgy`*uR!UfWUmIN@7JA_Kjz3y`MuAp*%U^~+{@Lf9d*1PN7sJ(- zj;mLdAKq4NcRcG{@}ytiy3M%3er`m^29~OCHpL;TUAfKG3HhBX_< zm-D96HSHp96|6a~{PM!J)o$LR>L0(ZI(E17*50f~2M!kT+j^{-sdV?*PDQWA#_N`^ zW4&)}%)iIyni3o3wsyk8{uN)puYM+N8Rk-Un&AbT;cdJ9QA>^F0(w@yKJWEn7LWcJ zi+^dG^u!BqZf5l7vF@+Brs8q5VqRHqV23Na`gW1o1@&t)Dif7&)&6IYYEYWPab2eL zZMcxf;zNHApDXq&yR&Co^|OARxA)x4i+=`(tXAf0;aSTobTfiAOx2ThhlOqCzr4>| zo!+)<`4?4nwZ*7&J&fp?pJpyz(dYL@SNsmj&! zXC(ZZP<2Tq$8)NumCl^zex>-J82P=%#DJflo_59)B8|mIGRP6r<5O`9kT6Sq48tAI(^2qAemR!8SG8;?M_+ zvlgu$%)Dm`iafu(U^TLMqEgtOzt+1WW{c!DahBY;E4@t%k4v}9|IKO)6Q0|=kN;ut z+q=0UQhJ-bXcU)L46M6TL)h0pIXLVexG+sux~ZaJbB!q zQba@XWZd(mEGIf6Qzky<-Ll~1N=29Atyeb68oqw-|I^&qo^|Cx_YYE>LLrA%XslNH zs=iLkR9oTDCSDLO8BW;JEwqN^jBmxli&eWU31zPfiWLQ<>OR<*Dqx^FVl<-QsJT zCoy}fvV1%m)BVi7s4n(~#oKvT`=709nbNeX>iOE}F1OeNg?pa-XYlF^Fqv7v#mD&g z!^$JOJ!%gtZw=1$yQ(Z1|JujMtuBc(`PwXpSQfEz<-+{Wvob9#kNdU%yc#;;`-9)V zLeBhWuXoj^V`HCVymG%_{TiyMHhF9n$})q4P8A^ZyLjJ*6k=JUthBC1HLP)6rz2RM}LFvGBg-Tc3L4jEGI#DPmt_Ulr~?&9&oz<;l0R5)bjdpFEGvdREQC#1_^G zKi#=H80{96iX1C^n#ay{!|vXdZ?`wwJo(ss`QF0Vow}2^x^v#RC?LS|=lF`3em~9n zXTO&*vu~-IW%#M}oPW)woS!NFKVKQtO?7ZPCD_K9_vPWyl{==_>jaIST|Mao( z%L>;BadOFwV*-wh zZS`K+8`Ujd-oLg~%kHD)zotc6{C6J&GrBlVO%19_>6;bHArGwtY^HLwqe(GQ9`90c5burBk|Zm$Nu=>B7KB1Jp$cP;1b%A7QjYqiJ1Hm<(^3=ci+&5lkfT2i-c z&H8Egm3q_z_(krV2#o!><-^WzrmljXVxP?B2;Q5uoa5#EJq+r5JvEK$o^}YDtIL?Z z`PiS8?UE8Ur+<#XPT5zIx)XIQHJV#H{S5C^NfkDnsR-cu;Cq3~_UU z{oV-7IKNjhX4OdrmLnlO3Ge<*6*_L5IAa-ma+KaeE=&&Ze zc2I5MdMtpKaUd*XLR|2lK@J>MtES8&8Icyklk!JRX#JO4Kv;u`H`?sH9Wv!Aaf$%!T(R zY>)`rDRSV5#&f&JUsjrPvXwoSo5HI&!&0^C*YA+s&HEz0Fthw;&~okhRIB+fYO$z= z#qz>W9VnvH8237VmuiVOe6t+v4L}6~ufdMfTg2d|jHyaokci z^Nc~`#wo!K)|Um^czzs^U&_)|aKe#AJ}RKk?eD3OGW9uEa=7LQpL{mqiOdR~D~#z? zT5Y`7x9Z=ktB~8uk#>ta!NBtIQtd69CY-uaeDZPgmjx@PUHG$SPVnr;DL=~#-0Rnd z^KZ{Tz27GJ-cokuGPB9In%aAkpP6cDP3}oan4hP$?P>h}In_bOI}P|9FTZ{taA0Dn z!=Wp$)^YNkemeDO^{mFC!_O5v9!xxNV)cZMcCLk;D^p#z<~44!`gq)OEd#@w*T4udNbQmfn4B?oFS425;q<8ZSJ*w^_15-KN39?%$M4ikr6FV1Fv}pTTO~ zhX(WQlK&YjmVcb^rr=0XHJ7`Rd&+-?Y01*HXS0RPTq65CZA=yO9PCS~f=@8iEN=8U z$$sXXL;?TS7`HXbqCB$?a@Bq2EBq0n8loq`$yXw4=c}H06 z5v^pF-?N}MwmjoR@*E~>sRT9q8MP061;US26$ct5M3k@YTiBWNM6SqUMFfMh zUeR9TzgZ`9)+JBRdw$@TR3Z!4)C1`(U)3kSbQZPbst}Di60_`tKf|MiA)Vrar=QLH zQ?mNEy_9<=o1_&Zs3^U0iXkC5)X~x=bhDhtiPyedj7zL}LyoHiTiiXt8}#JyjliuH zkNdu?i&8uw%bt~y!@z!NZOenlA68vD;x2j4J!{H=u-=9{u3^fvW+rp7dH(UWUG#GM z_Sa!7juwv=Ygx_Pnxic<$?(rAO%cAV$*M;hhZuD&vJ6RkS$Wie63J-tQ8TQ4@ z&x9(Rx4#ZFe(-K-sYj9#+v&Wg{(jY0Dp}GNHt5_D*poiX>BwdFQ|8I*mw#PqxU)3( zPx3PRxe6*;hbLZ}>Uco+%B-0cuRTtkTO}?jGv@-!?rk~hKR&VlXNa4}Z*LkF!pu{t z{PRlJbN+b?ir>C>5OzBwxow`x8_g6RzRR~3xmi4#K6i1V%2&$;dd4MP(VM=Ubyb;P z-REZfiq$IMc;4eHDOV~L1n0ba{k}hn<;Jz1W2b(eN}ttxXSdKQ54EXF7-qF>O#VDU zc*oI<89Uu%cmABs^5wg!w5R>ujDYpN2R?sY8KartaPHo`o2$+o_0yWL#&qVC56r>c z`VPi{HZvIdV?tbihjMJVB+A-S5qyE~t3;~JJX>SmTQ@B8>b;s(7yoRNzSOuZHvM#Z z<4dnUrLRLDKWsjEwUVhd-_BFEU*SQ3+G(!ao9}#Eu2}NeK5FfT=W8vQ`=@NH-D~@T z?d04Il}m&KmdoxAUh?$2#wiWSUsvkVqL(vGPH1J(ewThS@xYgr7pB=}imaAB=vJHM zs!+1@Oq->$eC3VFzd~-_x)FbFA$wcmA7zuTIV(Wd9W^ukmat>Ae1HDA!-Q#%Wj<9b z+t`u(ck!{>%*Uq>-tqWye68XV3rqH-dHg0Ho7^gwvC4|~f4(;HKJ)#p+9GytPZ%s- zdQVtl|Gg@NVd~R9%{N9yRv`vb_re}4#LwKRZgSv2y3H@Ch=ZAz)MPwv$Un+7;5z&F zX^#5kYfX~e!gDm9&6P=DN_p77+-r`;?KufoeAcBrZm9Zw`HHho_MG|4w`IQM2t4X> z%4^Xt*{d4%2JFi+m&JG;U?{w{XiA>i(lqJQ`Vyv+_D8hdIcrVa5~3paHF36W=D|IC zmQUP&XHICbzzOEJ5=&LI#E(n9e(&+1$h|6MW=5#-31z#ftcp*bE69X++&5@j9(|?BM~sMN7kk**;C!;1~TT%Z+)%v)Mb_wQi^+ z_j_Fw@iW{~-1Gh4RO!mbF5gcZ-uj$mX{ZpHGsmoW_t&KgIwsxQpTsUGJ$bJ7m0Hb{ zzAeX2##CKyv^IFY+^fvR%&CR>&{W%#?`kupb#8uLxL5N)$;uQmt*U8`d34EwoPQ{}*8n^}!FR*81Lp5+!(Ja6x+pruyjOOM-p71ibJSn@b)t>=b$ z#=Gy7tZ11R-FlLBSMskb3lBXnJnAt~O6l0cpXYZj?DJILtGq*9;)K#1GuE%R>|29U zBRVTpLL2xjWI{3=bNIFzPS7)UPGx80v+A3&n7ylGgUOr*%V!H0<@t$d&E4_%%H^vE zPaL;cwb=4b-B+7Q?0fZs)+t-+6n`%~YOzvO?oi!#5oHmTbi1jpDvT-pDh-^L=YzZ2 zd?rcTT-ld@Dx$>x(gK~x={D)JI5Ub??NE_2eJq?fVTM|B!_ zTdPeq)x>*QI(B9Bi@FFIq_86 zInSTb_h{~nD;wh+ZD08cylFoXeKq!%Vo@D zd|6bgfi3G`Z@=b+!m~=p-1D@eMLPa$o9MmjiNcDj$?QdHG9Ub^Loe*GE^<&_v20O- z%&(7MmN@>u^r7GSnUK+QndFU26!+{|%wTKZ5wMfBvwmv(U0dT-&JIY(6cw79`tlb~xqg z^fv7Uzs2jWYLN+=z1>QmIA7ImwdvlJwD2dht;LGZdunc|ty0QKN|3BPR*-3Yf5nQ} z=L$mIyDwG+)&2R;!0_i)=gv%j%a?suCb8eK%W1gtAo=MErgw#V_bjS-J}XlvPj;tf z5C2-VBk?Sa2jqKAHk60UAD*DuICr{`S;b@7R$I{WhXAF-CQs%0pRX+mp18H*xYxSq z4@)9BEElYvCHZHST8I41e>HM5|7PhMOuA&w{lYqU&jv&FyLmhRGf1)RIWCrJzgwZ- z`NH4K;`vi|O}@O(+xXmUek z_Ql5M$~S&pIOQkmetKT9-;*ur#z*(K^-l|)>{s+4@7Q|>t<1zEF2?@lQAtb^c`RkC zeZr)~GA%xxd$-%4{k6w=<(RoYUY@fS44WGlxwz6uI_-khld8*sg7NyN9z5IPqLfIsy_)hB2YX(@O_Z%`p?_XZl8MA&5M6emO%vLynXZLeQEJ;D4f`M zCnPoGc~4hm>hA?lf}@;!0+`t<0t{APS|U?w(&5P7mys%YM@xtKZnN8oyV7edw&cBN zc#u3Ngtg&8>58jQjM#J=dy*!IUsEvtT=+V$Nz9e6@auBDM^^tN7gtKge5ks>vhio) z27dKfQ+oO=?7h~lG0$5$^YFj7Max&_-T$|1rpSzMlQR8YicEXq`Jll{(CO`Grj@4| z=gl~(_V%bE#Ld| z@%t@X%RggAir)L+CQZK+Gxsb!%#*g5m1$$zahd8_N)x@>gZKm7<1#kPmh1Vr%Ii*3 zp-=doX!fG!2L7yw?JW|&535bCOx(LFN>K0U0WGFqk7n>5|%Xo2Wv`v}ami}k1 z-|L(Y9+U~vGw)ic85dC8)~0-b*ET zPn&heV}*}F3c*v7lwIHVUs@0(ez)@3+?Hc=R%kbc?wS>}&gR6Og43U_?3q;fy;j3P zg6TQ;o!@~;Tpxv2thgIc9K7;pvp{tI!WCC`MvBOu-rf8**x;Cm@FXLSe{K_mbyl41 zk?9W%?liYM^O$}4wN;1B-~BnSAy9F+RMcvcLxAD@^CFDe8^g5RI4lmn_lTA-<#1}A zratG-oy*r{TAy$+cuY-}*FUq|w(@oOqlwducp922-Qp|Y8T^dpv8|`bRTd%6ljr@trpQdZ(>G7qT zUZ3Ilx=eFpg9qvRs;~I;2`-yjU{oQ>;Iql>l6cdM^Y+y*!_F)@@@busfz!9+dxN_z z!nGT!((kS5V{>MzwZ6b|SZDb&&S!;N3VQ-pG2G&2my!RtVruAZK6|N+g6^%2&U^hB z)tVN0g!Z5DXDFWcRpR$4_fzgZm!}1>z1v~2at7P&IdcCQTGdV|M09DdX?T}*@_68v zm3uZEe$BD+ z9%)RNaBQ~|Q&FYOKa-1M9$^k^*xugl(>gTCS&~gcrn)OLs3Iy{62NezwVnq z)lK@Ho`Ln%ziansyq>2e);p8i;Ph&lYdKsuR4(mmzP{8~>1|4a1D}QbV~-ehF2g;^ zY%K@Y1u)169QbnkyvPc+$mCal%Zo2xnkKQN%Wa-`gjpX${2tCHQZqD5GL*@58GEM3|5=< ztwGRA8yx6O*_;o+$cp0b$F!FJ{T(yqoY%FCboY-FhURA62I^<_-!DFN@~ zPu~}w``fRax&Qh5NhQ^;PuX7QEgy z%lNd|6UO6v!%~zq?lMl<@T4kal{53ayAH23KXp%;u%W|h+doUYDQzwi34DB3S8EJ{ z8s;vWex_S4?9J!z{xW|vO#*8}p1z$qy?Mgom1@gaT7S9~z6^Qz_e!T$|BR~7!HTzb zPhY4q%fbJ-$mCNTvK;5$JHPbUne=h$3-i@{i*GGToYcs6_pwR0_VIll=dN?P+ZsBo zi)ueze($;Tu341<>k@1>eV5f*HK93YM$v(U^~!3?b$&O`N#T(%bU5Zc#n5PF0{{8G z{jKg&ryiVCXV`ea)?ww`N+U&;d4}`swtQi2mp7Do)S&b!ndPx+|Ileg4Y%xhW}uV>(Fu70iK)Vn)tm=hk~k=mdb zdg|wFzlhd@UzeoZoltSqgRxh%d>XUm`4^dQIR(XgcmC78yDExl)|yNsPwm9;#nni{*V1E~s^#Y4tdH$J6@r{g)1m4hNo_>OJ7Rv-3Rj z?Ryg)Rd@=je+7F8F&G@S{1x=Zp(4Qke6ioH;HUmGzCOP+-FmyeLzPs`V(ne#ACv8_ z3b@2DSbY1>AhmrXTo6n+WM+iDPS_;g-Z#hk(m;7h2%H#aqT)uwAf|{eHy^+VKcqVZsRVQy) z-rk?><`((Oyg;iYa8E))xv7ldn&5T+8D_7$ry(pQx``u?JwK}QXYl(|<|7d>vgH*s3-qD0Az{|tMqgC2e=Z0;$( zJ-^D*ZKC1#u`cjlFiqyeUtf+-IOQ%{jU1W7yO-VRd_RmM_Yen!Gm}GRr#tD=m$kFn7n3 zu<|(z=5Q5Gc&`2P!l^44)tlU(`UW_Ly}7?MG%{vR?#cII&AeO1gw=d!%EdY4JhnZt z-27Igvq(_$N?F&i%*ZH(8Pc7S_J{kj4jJfnaz ziu22NE@4DSM^GI7!oEUlOO>l%rFo9%L}I5%!&W zRXpoqUqNm7g{x(;Z=de`Ihoydg8?Bwf9GtWyZdL}I1 z$$tH%chlKv$2_0Q8armp^*7bKxK*Hk&&~7Ot1<%W^6u_k{PcH!rGlB-}k-#r1A-RndZ4!}ku86%XEE zbMycCY-!D6w*&8)6(*iocA|HGO~t3pKQ7fbu>@b-< z!7ipwAoI@b{*#KHmJ$d4XykZa-|DX7zyEZQncTh|CLiSttlmDJrKff{>%%#= zDz5I+T=$aFEgq|P&Cj$r@9$q9H8oh#`IF<5UzY@hjyc>pke9b(#ZBWY56V}s7L@t8 zefwIqtLKhb&%XTnwGWrxLaxo4sri2V*A}JbahHlNNIu+Jc&dl-<*fd{(R}|}F0fTv zPk(ChcGg4(t)x1S<7fYg=6<(&vYvV2uWzgV1+r|Kw|51TamUG&xT?C^EJdzUr^Hp3 z6>%O=C|m8`cw$wLaT|Nyy$oiXw`E+-d7oS5zDnK+a9iE5d{WibXWUBcH$gH z@Lf`F3!{JisQ``h>kESn?-|(nFVzfHf4Y2C-l63I#y_equw>0W`6u(Om}+jbLc;Sa zv+6!PKgDra_T#~2KOUR$$7UnVgn!QbA%a`{mS z9_~4P&t|1;2`JGj=lAN^b}eP~nlFO*$rHs|eeuMN$bJ1d@x zT76-cwEHrPsb%HoypTKA{~3Cnl2nW>PtTk?p5LmV zt&^_ITqtqiSJ^U?$RLKp!eNhlw1p*(FSS2y`)gJ?)A}ifpL(h;{q$C9v(>r~*c$wO z=iRqK5*=KB5Q$xB zd+=?EXN2B=hUp7mpEX!_C}e`iD|fF=!uHkEnAcxhGD$k(QIDQu&b#Al4UA)+|BV*7 zw|J{YYH$zZJcpGbiFY)V^G{_OEM{rAAH{He!;TKkTjj>3-@dJNpCECV@u0=I>}ied zbAN9=_Wos5A@7YRUDLXKu1>u2=}4b-$hLFbn@d?aOrtAvrXEPJ_@kMaykniVUEr(> zHtQUG-jyDd?O0uSQt@Zi1dDHLrq0mrxRElU@a>N)ugxwKBGuZ_WR_6s9cFF*2kcLORbP%#$v8VF;e*|l6LXW5 z^WPia-j{VUxcA(G^c6Bamn5B1&)qS5Gp}yyJ}LNG^^%7n6*=7 z|EC3t{#PzvHCxT|XW`}_zb@YpnO;=fHC4dw?UiCiIlIIS2_<)`q$;)6ttvRUd4AU9 z4SrpF__LDx?@iI(&QNE$=ut+W^OPXFSLL$D_nH^A^8GyYq>0__^Oikda?0c z`h9>wUv{tNSqZK=O#2VrJ*&m|TvWZm*kiU3!|b~Jz4N9#aZ62FQh3|u@~H;%1-yOD z*RRh?WLDg3Z*^u#r=-`^xHsnV`B?!=WDmb|F?>6*+p@IO@_hbMi_KFR+m)Bu@3N{h z;X5K1c0od~$V2@r)2xri8#1;v-nTUjbDw=8PIRZj+)!N@#LgnyzRzw8Pa~&B;lwSUe_YwY`?jl4x@bwUugt_99~}%Mj&Dhr^!J#> zpO=E%%*UB$Ww3adGfzGtYh>#hV;K;!?p|S+gTt9K$K0OFFSFGwe|KtS?h>BKK}HJ? zYbc9cx}9_@I;(lN+_K3IK9XFm4i0jAGk<@oOFJ!i^0?!zl?&4>xf^V&t~5+mHlD*K zySwkIg3oVB5i?Hb$zR@vJxPi_Q)w>F(E2ZQuHqqcnFr67PS~J*T-xz$h{J|Q_ETq< zFB88vcaNUg{6niboqPBnKL4=7e6zxoB8dmJw!Q)4-io;vne;C}i+#bbOF0*XjNj=#-F9G&yI1<3EkbAfuE`f9_t*TslD#$j z*$bmg)uh{Aa~{@5&7N?)ld-?C=hqdT=);Mv@;^q5*PV*+|89(KIvQ1ae`!i?q`Rz-^nNma48z;}J)jZgf zry^rhdAx8|)+D7PbIa2|EKx6K-W$L#bk~5%hxta|SFK}~Y4*>rE$aWCW%fn(WGKAVuxA>(N^!GiPvhjSOjhaTI-vE?X-N+1O+Sx6yf)Fz;Vj?5uFVB* z1-weVM;Z$IGDMGP91KnV{fSLsUbEbmCr_B_g>TK?yUE?bJ&K~0KY zXgql0`G-~SjvSe=YU+XG`yU5wmSg4-vN$f^>mtrkHh*S?s5v8-W&WJ!^E4kbYb!n9 zaMZ(5Yt`~+4D!eK>d)ByeZev7{|v^i2VDC54L=?Ky?mLLq13cg?uI3TZ|7aj3=49U zKYICEk7igB|8m)4*Hcfm3l{u&GVzMs6;Yq2Jx#{*t0pXyvFc+pp7-xqkN(-s3toR+ zV%Qqd#3^YL;%C+<(Xmk0^L_Xv(>tD$v3u)pnTCF!qp7;_{?27HW@{GsSx78*S#^&2 zsiRHu{%dmro;1x!zI<)o#CLATKlBw}TQiCEcEkF~licO5s!!dLCcI_hLG}H6rMnrQ z)n5Hq@=baJ!(*EZLC%{zBo94E?rVM-v?0J|%3&rW@7g#28Cn%Bp6;p&I1}>r)2G6@ z_vZJqGO&7-+5DUNHeklV6US@juV3rOpxRf&AziokrP+fy*Wpv0F2(+)FkvRK0AdS~~(I1UlF6?I=4?Y6w(Tkxdn*9A}c__I+F2=w6vf%Ua z=fTr_-f}t0PyD{(*z+=0r#CTwGdWsg+77rK_nW`gWB22daQQNQI2(d}|=#!B&>G(4RsdAIq1xFkIWP11RWa#4FkXmMJ zcu?ZNyG%CD*FNPPa~JY`yz;pD$Ayser}hS~tdkl|6i=qc?R>a*-&E_|w74>*ITNod zUs`xx;uU{Ys4H`ZynfY^4wX+&!VOQD9aq#@QWke*ae+*-$!@n|Ij4EemIr=a{`uB( z(IWHj`}J>02;R<*U+TfkW_{k-?Rt`=jH2wvd6{ownmq3uDgC-6P*^;1+JWP~TRI#P zKW(cmJZdcwVBFJJyYiWvW?PY{mHyfwr<^vQ<~d*A`>MRD_&8C`xIatg9W&EhX`?@< zuZt8-FfD)l?8)UlH?D4;#P6TwKPT~~*LxY}TZ`&vJeG{gWYqifwCefZ$bj48zZb21 zpdi=YRpqv{r;juBfy~F_Ta7N(d}_{*a`2Q`A@a`RoaU>DnlnfE-(A^acu;bC-ai@n zwI0lyd-(RZN~Gq`c&yyNR9o-Ck|JSsxvi5`jn2fyWU!t6q4MDO?<;%G^jy?Bbg{%f zs?oTw`sz{UJYH|NiTZ1Dgj{+H%owCCRlb|%9;jFCkGP=!pJCk!H}Sf!CrpL|Mb=4#@XN7~3uS1+=4lHI#{wz4bc9l}upLa{AU#yxnLH1H*OUl$+nvrF5%taSY zPAzWBv-rZ+WO=w`x!01$&5WBTR9%+n?C25RKKI5e{*4Q!Sk5T$RGV|^#_c&57PQ@( z!&7Ri#9$YER#Pl^lJUV6CzzMU&oo-xyW9PFNQ9l4@PUAESPv;IqR|o&oiI= zy6hqF_D-hDG_Tx^*Y}#uu8WpZ2ud+sD-RT0EJ+?&w>%^ZUHVY!d`0G5*Xl?whK2 z&cI@&085OJ@pZYao|7zoU_x+_#Ei#6$Uxr2YR~!Hd-`_EDKG z6P29y9O0{%`>HZ&PrI7#8vmI83|?UjPs86$JinJ&nR8Ergu+*4i{(Gnbf4^>`K&sm zTi&TkYU)(4n&USDyxoe$f((yozSch@dR%wjl#^^m(*0FyHm#VFXTg1KmRpg|K7Yqq z>uxZwHM4xGaq3*re})AsA~$(ttroJJ!MLM*g^|D7Y~?r7P47-JOCEphlj+7GBbB-+ zSi>+UkK_E=JI_|Fll9|!JA-B3&gBzAw9T#CMUEz&aq64GtTemeXOZEr%Sq2!ckyj` zmV5Bje}>aWjDNDk825b_T_~>h+3oG#^FAeie3hB6@LU#Ym0ZcG!)F&%m2%l&3>uR?*CRcUj?4ZiQP#J8U&<8J95IS5I^>(~v3j zSUhXG<wxWr{r(Zj-Y}p6taDcB|t1TaP7Pj0Xe% z#7I@AdW2dYuj(#HytdTII@m|zq+?p|?a7iSmafE6Wqf08qWC7z`5espSC(KnG0u|=SPJJryO{~ zA0Oo)IYTse@3zP5_hmM2>*_zBRIqa5g;_d|3RBBBrR!{2<(S|f)$ut0>v9bq4G(Ue z16*s)-Bg>yF;O|^ExT#toaZdhXC?1g^0x3?NT2^+lZ_89+-Yv^2~A6~I3M>#a+~kO z>oS)mwseJ*s;_lhbC_|b-QuO5dl;nUD;|q5sam_=vru0eX3@hKRM?YjH^p2beXaI1 z)5z(H6?ZJ{j|6192U{)nY-ut{H$_` zn-(Gm&Umbp5xy;Qpsek{lfHdZV!FGEG+E|c4&8CP`KTpF*qw}>LP=8Pn<6tKqenpBbEGk_;DEnq_x| zsLM~az0*I{Uxugp`wC~v{CgV8x3^zwT$FL6r|hgo#dagHpTB+wGsL_tocz);^+b2$ zJa_qPQ@fnM7rqa)n!o4H+vj~(n*5X4cN|qVOcJOUjgr`XIN9X#oIl6sJS}|r{=M(R z>SuGWi-svKOv}+MGQQmS-b*gRYZU|c$9WGzgsfIgdN5VC@Z?H&!}SZF)Y`t*%t6S z;rY8PmIxl*{@%>}sZadwM(-UAtEvk_3*@+E(yvc^8`Nj_;^d0!^W06%D!wl>Ikwq| zr|OEr=iQPf&(9b7=!kmD9a^OtBROYYg~$i@ye+MMq8FQudqiz=zngLiEa_75R=?Y) z@%u>OwMAN^2=&xR-SHqK z`}KB-<=Zk}yt=RPPj3I;DhI7Ur?-54?~$yowdI?&;rq+?=4=u??(F3dx2w`@#_vJ2626bE;m?CF%95Sz) zxri;uBd@?dYD<@7k-V_i^l+Ikn=r!j;(qZ-3uw z>|_7BOfCMq*8!O?rrPXJ1DIT0oSr;hzcxs5lfi+F!RIb_ZIrkxnI>`Yuhv4t<}FRT zcQ=MlZIq0g_l4vCq41!Wfw!<&wpEm-lZ^3cyH66)q2-ylklhgQCqs6nVdP}KD(7~#)Fc-S*APq ztyy%0CAIsfm#&D)7w2_ke_~=kk?7b&2yVzO7K& zF?G+GKl>Wnv9!w)O&HW2CXWdJj>}|^R)h=6~E`QUpI|xyTTft^o?oRlRFcpO?bT5phdpo z!7sU~Dqc?S@~8H3{qB#s()&#FNPP3I-Sxk=hfd1{Ma~j-i3QP;3Z+WxmK+c|!OUbhIpD%&RSg5K4?9*0 za+^i@b+^i{S|-78W=GEl{{2h+A}1$*{U^Zi@?ExBjAvO2@9E|XztV3l6W}SbSb6Ae z#)ZVG|31pvZTYk7&!!zW<{JLZ*y+mN8_4Sr@VJr?|ym zEkUIteBWQ+e;w{)9b_rynyT>b`Gl<9I=+&hr6px}N=<8yG{1WoTK8U3_U|hpi9hRZ zf4+bD)*6j8m(t(^hXr2;_As9~kvyqZ^A5)hu~)?&<||K1e6ic|fivw3dsi}3mE2ro zhZ%QPt^0go-o7tuPS0ufcQmlR(-tOccxqO5D_6uP_9zYkJ5PmVW(oOo6Sf5yvfItA zmnz!qwmkD^^!l|t$Fp)IlM37yd|kj8Q7>0`r>nUv`svHC&pKKuol}^PpM4)7@ooO> zNxt4r&dsbp3ySXY=ls49!#`#I?4>LZ>!y4V09`NV6R#?xw6<;U4^H}h{N_{kelR=xE%{P#o3=ekv}!be@5@x&FUXaCK-E6 zDHd)iJsy>LSZUei`EduTFC}7Q4$nbjK zRjJ%tsy3y+t}xi->?}<>eRU_JFJeD;KKE=G} zN8_hEbG9#dY?`GI{e-uNZ`ne(iWxs6PM4flHc8!X(>HTcfVtpzN4cgYRs8Yu_3l^8 zS_dc0=-ItEN4bgp^D-u<6N{heU%oX*@=&YF%6A%qDeu$^gEtgOl*&hCeL8Gw^`vyg z%(*wjk_rsp_B;FeEV+I8z0qU#Wg1M6J=XX|mld9O%6uhRkUWRU@}SJW(pg-`b_7K; zE2K~UvN~sfxx~-5y7^Jl8n#5)y`BD!KffUJ{@$tE8g`d`KBu+Hr0aL#oW3vG#v1?L z6=dbGZnF+qHP1R=j@gfmd&RA1?_44K>5V|)t))(mhMOAaWk{*rdDDJIvRvkGZPu5} z7T+bwGJms{MTUq4?Ns0jlTa|vyCSvBw{h=8c?rqq3x5R*-hcBT`TOktr(VhoHFMI} zUz@P->rqyY^HRGO6dY}T{?`A_Qub4BR{UPct5_v}pFU^1Dun0G@joGJ^b(Grk(QEbk)n;y%d6Hay*)pzrT^O0Mk7_hRog_?@BCNFcgX#W zfol}2>V(QjE%vkXraaooo_Q?O#Hcf7?((MxPMB(FDzV*4mTT@ma^*;FpWoAV`6!8I zsh{o7lpB2+LlWgJo_tvz{Wd)PWI_@D#?`q3td5c=&box&e){Rp!k717Wj017fasn80oOKd;G7aZgD5czPVz&7j1O^MivYjTR4qLuGWocd?mba{;f z>f22w8S-y*Jn^ca!12rSM2{PujJvvK8u(=PpHTFWFqy>rfH}D1^0UL!P8?TSc-v~- zHP?gh=gbM|>2k^0)RN{dv*8v0R#(l|DRb8>teRwae&xy|Jv(FOFU$OWFChF!_4+85 zi=oM%4!S;{^L(w+k>al_j~y_cc-Esa!r+d`{3s4>qYZ)E=T%*H7uIQElTeoXx7F-e zK=}>}3yJqWiru+^C)YA`da!OVdn@zNufry5qsxDWUA7%BXPLd@VQ2K?-)fy0!+d+G zcUnuZmX*Yel;(*qzpmKWamcKQuXxs`1IfDo8D6dEnlgb+!q)L^(18xK3o;FSmEXRv zJU{iKht1!A_k%PNCr&b`pBv^j)m!BvYriCG)nAS!4Kt^17Zv*Y(=)CmG(~qFXY9`S zLu+zl7q}Vlv)`M$oqg8Q9lX8|8n#-kdvv>CX~)Tb%O-{?el|9+UutF8U@o)aeHhao z&-w2eU;66(o*J?4@-dH>KdwBplup)on!ADi?xuw6YKb2;Ga-Lq*o`0uN%pJti(EBVsY9naTVCTGOR9_}mRU+WRUx4OUB z*D#{Pkjrci^Fh(1*iK8IcM`u3PyDhXG_qe-d{#x^q!k8L6W{tIpS0CX$h|B(XWJzX z`IRgBLc1R;Tv9r@!@6+d6}fv~*0JuXSY~ueXLbyy6(zoXT_Ji$L(B2`m#?c8 zD|F|HJpQ~)Y2Q83U8_s%z2-Jdcy}Q9?XCHrM2y(A4ljD#zt&wSuQz3q{_U7oO8JQ+(RVzJ9~6D`qUL&AVrO;N~&-w&He;MMl9H zE4KGxH+XknU^*aRoo>p||0E=pbtPk%>LiU1r+d%t==n7-%X11_0EgnHaM^mPISbYQ zPWCAiMN_i*uga*sYlzz3%Iy@t*=YWyH zoxfQkE$>gBt9N4cnKRGdG(GM9)P0}6F1b-G(C)jqYP#Ir%pPX>>HF(Hu2z0>^0@l` z1uHg{zhz*R{r&jb!i^^3DO{1esxEUVykj=asqA87ND2I2J*!{mRGioi<5S6&@=;D1 zJu5U~CiU&q+Pm@VvUln!llr*Y{EJ@(HMvRjANUpGV=1`ulwR4hUPr^oS$Vr>N@D za^-B9^8XArA>C(OcR!bJTqUfb_vUSm=&z8qQZi<5XIDO&cR)xiQeT)6DOAQajeY9oZLVE*~@uXSVIpBm8Va<5&Ug|WXEP6z8&W>*{nbK zdOClX|C!$Ne6Pp)EgSM5ep&TY#{ zd!_fArpA6}o49?dLeH;Xm(^T%%uhYkW?w!@bH!_}FXz=iops!?d-wB6m47r(_pI}e zl2kpS%zXdXCFOP30_UEp?tdM~#%y6~<#Ag~sLsLj`}2F78E<#o5tt(%@9&kSl)OVT zjD5RTftH(fv-5@np%V7zmQP``OgI?BP`Bs8+O~7XFW(2QS`p4Q-#qaB>!4%YjY>`I z66d292$x-+Q~o0J%!9VupXP138KKB)$QZuy{Y!^TN%LGTju#nB?`P{h);M{GY5S#F zmnQ9qWB9!%;n(Mo3)*UL&&c2S*zfFrcV1D2%T zE4Nr{Odr2j{EQU2 zU83UcPfs3iPyK2d8r|5p_m!iuanq#4D}q0&q!>CcH16f#+q3dm<@be!6Yl<+pX{IH ze!^E?QVVFU+*R6DNxhESKY;CulQ@u zuV+i{6i>6BlEC=#eSquay&Z?1&zdr40_X3&tSqnWGi}yqiB8#Y|5Jb9Yd;>g2>GmT zjoI<<*}uNYRPdSU7n~74Ctc;T$XAsImzvJ(_Rs1KuuflSQ=K%^b!q{-pDn+e+?8V) zPyfj_`We3Wh?QWKR4Ea;++_LW0&{GX^KR+FpS4+{K?~%a?|fa^ZLU45JyBxH|z>%noaX1lIH?ES}K9CK#|N`|C7DfInx zBy)RVk@YOs!Yy(OcctH(2}d`rD&m*?Vrr3Z*pg9I{(a4(2L;P#O^xXIam?}M>v?-Frg^3qSV|XE z|Gw;ZW{ zKkKXQEvpvqlsM+bZ}aPt{=&c{hT7^Y3zohAR=IqIj>WP!iO2mvENIeOz}L3$hVhP% zv$i~7leT*=|F^1h!sY@$Yc9@=#%p4?H_SUS$=)l&X?KV8lu4GW=fz#)^JO$x@`a~3 z{EVl^$}p}l%eol6`^nRf&Hr95HrS~p%~HUoxqDiNpoMx*R}eFE^QEbY z@2ci$B`kAbJb0X$Y0+b?mKx^mk|&s!bn+G4U6m}%C*62yc8}TR>n1Vmn^FormBa!H z5B{5)X!qW}RnKhGw5R-8&aV2pyZHBHhB9!SDsnF3&zj}1w!yFX*3wUhCM=%A#g(xv zSY?~l#f`I>-+e#1`nH9n%oSIrWmd)W56wyuROLSm3P~lFLk;f&-29bAlO>Nb zS&F=M6I}gdv)ue%y95oR5{Ad}YYiVKaO;^pXGx!z^`u)tS;gqrRdbo=`?FRzM!0XN zOt!B5eOZE!tB2p;(T~aDc=5D&=UdaYB9!%9S+;~~F+cg-b)mOGaTjAqkUE#dRK=YV zmdCFx3po7JQR8~Jh5n7g`Bn4o>zPm7^4)aSUgO>D8&+>y6Xn8V!Tv#Q;bNz6dQ1~; z2+Gy|SSe(=XKB688%xFAQfuCwv5PC5b9rG|{KU=!lK&afXE~+(%Q&Z8aC~o^qeA}~ z2`x*T&p$&&>T0%y9*=oEYnN!qB!io>?p{)AXCm~rS?2C8ve&w7Bs(vzfM5Ccy$zC& zGi+8GUCNU@{&n?>ONKuiAJjGPb=KLedt{-_w%P;b$BbjX-aY*$al^C#PrI#43nXM8 zPuRO!W%bjpbs=*mRA1!5pOva$ye-o zb6-tXUCcS9@!+F{KRG{h9(pYQw`$kL3A@?zmS0=#(cI+6SI-l?Q#Fmp;J`=UBy)}U zy?yL!qi?kqu`#^LQrIn#D=Ax4c{C`&%{lM3Qtt7n0FMVujDIto+w7GMnJszj12S}v zn>xrV=5Ct9AD_k5bfolF;VeIHCbrB!PiISK^{!#fi4^PoyRy=D z6x3H(%1ZFf_`3Yq&bv4IGEX&6RzLUlN}19O(ZECdzCDq%7rwWKmHWz*KF+1L8XDN{ zXKf0Mwqcz2)#iYinb!O~cM)iE3sz=?8V#oD93ZGzX{I*p3h8g=g zjwfGCl~>%B=x$@I z;hq9_=4(@O?nE>#U&inJPV>a>xyfZJ9u*8l_ENp6>F&-adi#v8Tz2x9a#FBIQ6;fc z-Yf4};&cZ650BSB_Wc~NfW07pxyZRCc@`?6hJA|Z%4bxPcPy(pwQ}B`XR|KlO5fJ) ztN6BZUvOXH?s*vwTGNU+)fEz|`MoCiOnexpK3#of^m2IZErQXE1T!trKWu)9mPdGh5~*US{dpN(uMp1k6ZsS3?~!IvcQoI&p2msw1)KV>Z!ms@)rb)Ta+;e&C{ zw6!}{Mv-il0IKe8rGS8{dJk+))US1uR}bo9~|L(IIpE#?yK0N!x=vvB$hp2UUSJX zadW;;PZz^1741Kka!al}Wp+8N{66pb`iCB(evy5eOHU*$DXOZz%oy@Sq;Su-Zws4_ zEOaZL_vIOfhz5&?UvXgb$$RD>k5xUtH$kv+)#E2W8_(O#@AX)$IK9khIm@q040Xvj zcr=#$bT~E7;kn(uD{B;Y3LgJlm2kOP^c&O6=Qfp}KJNLVlEUn*?eQXJ)0UQ6ql{{v zY!4y-8J`Yo&pR|xk1J!=MZ`|0t{R;Ezud6aLHgzp>RC;3he%928e1?e! zS3SL?{M6{_uXpDiGA}+>S@pj7hj7rvlzl#{^Ho+YSdsgDUggW9UR)YHuL>-FR!x4D zrDBl~-fCY_Zu0jB?>Qp|izUqWB&I(rJ!xCH>W!QGl->2q_eMntPc_%7$VP=P=U9E!4k}9=^XoFUTYeWTA6#kaV_$1{)oISQYqqv$SCJMVb%T~^dc6$T`R*{k zj9SlhZ1?69ul)ChRFrN1ZMS7YS1@bRVhM(X$3L%zHn{KByOei~yObfU?V6Ab<93!w zwONZ#bS*G@`}{(Iy;MR7*SUxt$1eA;HEHlxaP{4BP&R6v)r23%m9H;<9JqqXSb15@ zHo?yq${*ib%Q;0_c}}oTYJ-O1*VR3H#MD`ezpe-^Uu>Af@xr=JZS{<^Q(Y38n-Big zTJ2&yXVT%VnOaX7&pG~^Dt3s^aK4wcLdP-z!*`b7mgVI1-eJD*>&h8(!R!6be_k>z zTB#B7bVIS9f??am<0dBsB#xwRvt~NbpC7e}F^TEx3O3F(c3bzSAtr9G4^5Sjke|Pn zp}|P}LD@VTbyolJ(deR{1o3Y|lL^uE^$VVR*~y`%9-S7oS;J zrpY{CW_@WxvcQyr<-e*zwgov)SNZtqlfC>}Z_S*^+j*+1LM-?Nk~qSaC``W>v5`T~ zf2+!|8-}H-DaRgES6^mgk$AHHy87qkO%6ZL`4@Xd@J};S5j>kI#8xvy+9L4M3?u%S zkUzrb>%EdSgQC}EHu6u_*|f@8v!>|hi$zN(>Gs|Dy|+Co+pVW;Tj8DNp5H+^x6D>N zntGtvZMM0}?m2S8GW^G8EiP(vJAbCwIWf}hfph8c{IxcQF&!VwdE}QGE>mNgd}G$c zXq%wYpSz?=GUe<`j%&$Ts^s4()xk_?x% z*JUeKcMI}Wp4L#8zqWGm3i~}4ckiuVcI9W4Ovo(7B$jt&k_=1^Z^Iw{WVUvn5Z>hL z)UOfSy*=|kgKgHm7l-CsKYQF7H*?L6laqxs$}G+qS$8cgI^lJEk3vrW+NjhU(M4}_ z5}t3rwt0Es&c!EK7($YNUGj-JDm~xet%g%iF0;(XJJ*u8-D_6g|Mh76)T?!Ae|STR zPkdjiIA$Cy z8kU-STQpogzRKMx+0DKv?ADIgVXT3|zn))OBazZutR?!*RP2z9yYl=y8*llGT!?bD zOSUU=xKq_1wZ+-_=G1^3uJTg#%eNMUp6-!dywCb_lh8t8W?Rme$5$@baWg-%W}Uz9 zURHw*Ev%^ll{F8mKi-?_#`pPWRWP@XPx(&ES4VXQ=T6?Jg;e%ydh&xSHAMo1C}ex zHuBt^zSm$~)J&aVM!PMu7(+Q(_u5A#>t*>KDG^yI zee$dWM`v&=m;F?(7CH9#bIU%Z-k!#s@%0t|rA8IwGQ){yT{s@BliXW)Y2E=tnNQaB z!Ty08BPJObHg-+x6%x~ZGA$=hZ3~mcG^4_;n%v(B8n^STB54PT%9 zw^dN*hS7@noM+3FSMxQmbvj-sax^KgxzR7+Zr08uK9SG{2bNy}Vrp^5$Lh~VC0K8s zm8rvLyV=Xn!IqavhA*qE{;tIImCsFsO|B;`&nvRJw9#{VXy?M&zi%jfGv%qClG^8M z;Z@+q#$Wekrdj+2UBCv&%NmPmd@540exW7gb~tIAg%CG~=9g=}MvG2%gU;Wi`%O z)!BRb8(x1mM?NZB$T9vs-&RkaOp9Ax6>sNVxyDuZ@ubM^(7L!CqMQ?YTHpH}*|_vv zt!Cx1EG0MNAU(tLUS%p9CVre#eOa>d;L3J|&s}Sxd!%9(co=B%+iEHJam}gCiZ^7C zT$!=O?L@Go#2w8fc{8`NO_ldvQV=TvV30na`H6HSr&o#4ahY`s{GT zi185b>X#nUHd2K?UzdwAa_7m&B=1#{l(gHc*%Qq!bGcn@&Y!*+t31w5FxEB;U-90b zWqnkq-!&e#+Lf=42rZsex%`ykyYj~@EAt+&_`c%kD(%V7Jr%#I|IzF@Y_EBIt=gA^ z=R9o<-8FpR=G1DwVA?ME{MwQgeTjQ#SHAvvrO|8syBREB zY_?yUqH%ZLm)RUDjVC3}`WretufO+fLGn3!se;cU4|sZ>uhp(OyW``$!YG%T#b%Qm zyW(fCxysCYzSK4{!XW?hugiuTL<0}L4N+?o-n#kTQuT!|=X7pas~_s-}*!fSccjB3SzkZ zblJu0md|GOa4z5U?(tgV4F4I$lYa(njGD&z?(mAouLBIa-y7-lzy5nGEGt(hpdnX+hdE2f&k3BwX(;^QCTTOqF z3k4QSdnb0@E9;Sw+nIN$X_i#ao0tucEkrewdxQ_X3}l-aowGpSLgKl7RM1Tc*(}K! zOUrAH&GeW((Pr(Dm8zSn{@P9XW}U66uu<&K{28p@L?&)-FH?VdUc^f1K=XmOw`RO^ z`m=h+^9AoCJC%;yFF00__T2WsGUKQFUdS*u28xy08$IZc%JZ;X?U8)CE0bj!!&`;) zd0!zMi*iX`^9I^Q^3C zEV+{Mr{*lQ@3yXfyjJPsr*A7VmYnR1X86Lcv@~M7nXlX4y;@(Gx!a!qXILL}R>?|Y z&c2YxJ;h;Zh_B|7PBv`Pk_ov*yVg1{q~;K1>0>zMASb{=f3`>(s^8(U-5AwAML@FuB+L zx#Fhb`1giF^{i=%lQ-H&{mKh|e)8cwm%uGOM+%Csvn>s^jy$#Q>i2WSp*06Kdn-Ti zyj#uqN|Ph#=#;VpmVdJvcC6ZQLeloH`?V=7$2{&%Jox4Ns%Nt6c1uhU*QwsPeB0ms z6^*xL+m~iAZJc;Bbk3wbS6-drKUZLzxl%jl(}gDXdpef(y%YyCvEk zdm2$-H#e)&QM~`e5x&A8>og^ix5Yhjj~0GbRq!>xt%CGz^r`dZ$=o; zCu2G5m=u$)QkI5mq`Cy+U5yS#yo`BtYFJx(j{EWf<`!nM9T8`&k4MOng5PVZ7| zbG=i`8^jm1qc3(|Oms;9`;wzv3$J=Uo!y!w0ni3e{kfMDE(t^|EM#3U9G9rQj)Ml_;9J|yw=8BccjXv{fkKcBviO< z>7ug|PfDfl@O=5YOh9Iyz1AW@Z+7kJ!3WPfzYaT)KdUReZ8tTXN#a45Ot6x#>hri>aASA4{MwjuHgmTC&KFrz zu5)>I=W#I4TCvHin6*d1TVFOLU6h0CcG;wg*OyI`t2SsYm}Dhjuq@TXX$gbIj+w2hSQeo z^FLo(=eLJ@57dh?81^wpJP6{S@nD{->5R{}djI-a+P+}Ws@JM;xUbDT@5Y;qAje-< zUS1JC@cwlWYYN|_n&Sn>y}F;XusylfJe~dN&%!^e*qGN>g)uf4u(PalGqTkb^m0?y ziI-uj`d6y0wc)$0Vc@g_tZt92dam{wSTeK7tkp@4ELff&=c^_=)4rX3f`9y4TQ<+T zjXfXVdu~Yn*t_TbiDlb7ENy-V$?a5OWq;|hah=Qqk0VbbO686%s5#O&oAtcclue$J zy{8lR^4UkV=Xi1Za0_4HyULRn!f?FjgQk)9#|?)454Ef>pSz~L;pwhN3-~;5&(XB` z7-TY0V1wI&spsFbOUku`+~C|cY56Iec{^YD8fS1#D&qGkTQMzRLGCNf7e^MzhObzj z?35$Bdz18Sn|~&v$L}(;Z*>x~ef7>Le6Rm5bCvaheh*A%1#Um{>aLbJ!$#-tjR(H3 zW_ho8@*%ru)$R_P{=h)7+^#l6*uo?1 ziJh#{`Rn)EtSgk}o9kC;D$~$(TAt_l$``C&oV+_fR6Lita)U+dFxQ;FwOS62e;>_b zXSU5$npy5~Qi0>}6O|x$v1jSr`<2<%zb-$;e8ptd?y@(2b$Jr<$-(YQf>R1)^#)yt1GDLm3X|S-oDDxVOMH+OXK%GEraNl4@%_zGkC38>dp4F@MTz|kG3@f zbP-UHp}VpqhLja2g!Yz>kmzwd|pESOu*792FiDWPYMYYZntT4;1FR^ys=T1*G?nF zQ1t#J%ai{?<`%xawp{YJ<>b8B=r3QFCnz!(o4tSdujHc~(@u+%&p)gTU-vBDaQ=$# zUzaj&%T2v`uK2p$m4>8-h6VPTHuYa$p4%gG{B&1xYwzPAjuR)@d!#n3nQ7g5V9^1` zX~8`OR;UDb6@Jay&&(@fycH--DYrYd~VIk-0?K^+_w{2RbOPTbTuY(-&ePH z4qSdt$Y9U3pPgS;Pb@kUzsx`0i)*Kl+J%BWf?YNpbG^(9+}s1dtaO|hqM1MCtEiTY zm(dRYV24wuC3`~*b=)OQJT~pPKlcgW^Gj=v@7-?v=hU9Zm+!R+8Qghd_WAZ&hV)gN z)gIlJ=rg=FYj)G7W4mWoZM0o=)6HCP{WQiNp|yW`Lkue?PM?w&mdDbOhRj0&EMs@Ca^P@I()ocy&yrt>lVD_fi^Tee6(k=ccjuqdU@p0W#=693W zW!b*0;-77=K z;i$LW!%uCe{+Tjc@GX&_zcw~v_6o_zrrfKTHW^6Ic>H5hc{b8@!iJQD#S7Kf zX)aH5c;{ztHGN7_LrSA-L*qoh7dN?|U*77L!1FIU&q7vw9edQCRnJ*^q}(HABr8wY zIv!lW<=GbIabbm|#Bu-Ppqv6@g(rNxo{BSf2{C=#{U^&{6FZNGvc%(SGlVo^7xX;8 z@UK)_@9VASPhTHrZ+`9ne3od;bNQ%pra-Nf8B=yWUS4zg!1wl=vC?E9JK8u;$-OQOZ3YWG(Mio%}@b`-$Qg)kzD30>sZrCGWhxLHW`WmYxkk zH(#-GHY78wD-ONQti02vRx2!b^^S#(FEX9Q88$rLerbkirv169e$-0!S(}b^*~NL9{Os6pEO5uNB1h$}&_g|ZTOKT#^!j`8$@jB-TLk;h zO=uU(-CwRYWtqXM4K}*Zw|cn znP9!a){8=UPPh`#hKKrOSa~Hh(di=46c)7`e<=b_3 z{&f7h%!^@q2D`+AZ>xXQ9$Xf4Y(bxvXi{>B{h`Y5>|51X3wkVNt3#f8NYridIG|X! zs(Hbe#hLxZ=67xS6SCN53Tj0sJoy#cdRu2+dicxv%hxItoorg@SHNfa>rxN%W%=i8 zStl9Tu51+TdnS3*Mn7hrZRRO%CidrlGfkLQIPpd2S@B0rG3S~)efi^nb$2w5MU*d9 zS@~#|Fw?mRAp^b&Q;mrQ0v|l3Ygh4ZvT41$!EjFXl@1y9I!1|u3z~lYnZx{PyUf>T z%LKRXaWrSQ?zjCI`S1jDdEM7E!)dqY$Ap|@)D}~IW>a=lJ0)Qo=PSFZoT^h2k|vku z)E3`c!ae)R&y;eWRXZ4~`fD!SFFvDt`OAvjXC9|kCqGvyzAc;OuD$Vb=f00WH-CNU zAmnoVy=SL&&Ee~}=1*l*zJ1)%{&B#&u)})N`Tki`%$a|1mw&bU!a1>p^V5O{0Xul7 zF^g&_PM!UGZf2iT|Lj(q^w$m(K2JT|4ijnHkF^ zWSHAl+ML@xL(^_AtBV)EpoO!kV)TK&G5)Ojmtx#TNjf6s>8!^^CHT`h8CygvVB zn6OsEHiJ7?Hl;+!G`R;^ED81WKUc)A{Q9+ToTKtql@x}JD_@@wX*s#{?$Zf&VToNK zd|az*|D?_Tv_ba7vQw*CBRyZ9s}2a-XqkFYudpv`>w$<1?@r3i{kh_MW#h%my*q=d z|7yNFt#|yKM*#no0PB{E2MR8#9hHz!SDE*0g3FJ;_wLusa!Y@)p!nXBgjX$#n>?0W z)Nyf2mhQLR%j>amRU7xQ_m}3f9nM=(_vy=*@5`pWINUr>tJK*;re=ZM5y2n9Z8zB% z?#}9%^oo0q;j4Nne%(DE-|Su0<*{L9zhRZc$N9(RTogQ3_3QHF9X8L`TJFnZw_Mf| zI7yAA@bX^eV;(17*n4d&*f7EK;pRZ0(01Rubz2x2>Sq`{7CFTBcdy5@C0fjr)tyfq ze;J@?ara>1pA}+@8*jgz)m^ey*>Wp0emp(Mqlp)nzNY4TDzQ`DQv_YL`Zw8RPNwrb$Y>+1~vvyw?|y z+H}hJ!geQ*gC~}#K2gwm7ku)l+5@)$G3Jf0>ZN+N1t&b?m~}@u9E(B72j6%w;ZeI+Hu2PtA{Ip665_lS571w@6Y3V zc3hz+X;G?****9Ctcf!gJ`ub%>-U73*IP8s)vjD1#dYky#%JUH9O1B*^d>jk;=p4O z+qu{(*?(O*d?wvi;`vsCogy1o{=8Cq`M62@GWV+4PvnpBRR`H5=Q-Dj%y<{3;hbn4 zD4;Tp-SX>l(bSx_Kbki44ZY2nnE0%Ovh++&MtTGtNtzg}ReXD?b+Wa1@afXC9*h$5 zbAwVg*=sa@4qBNiJzeq*zw*5`xu+TfMGrn+8W7PqXQrj>%Fux3ExAlfQY9F8zMVDB zt{3C8czkKT0S8Cgr(?$3%hl#{TPjl(nkTTE^)%zb)snHDa(%2-*p>3?L6@9c+~`>Y1UTNm#229XtHmxzt+eYv|r&#pO%sQsb0>foagst zIqfbyDHFtUfGgfYlKoHS4VF)L7Hcps8YJ%d5Z| za{kB#ilfF*&0^`{`2yuUk7bUn7qC3LHTkw zkyg973sr5e1C=hT@vQ&UJgZo6!|$qq1Nr>lxq1r!W`-H}>)*Hhx-waS>Fk~!xv6#H zW$~JBXOA~`IZV*--N|#ddA`?#YWVYKneOp-A!4ttfte=yZXehtM1`Ev3^&T8*FP| zE;{9XB|o_5lNM)y@b9J8#V1!Uv6it=+<4*pg7#0}a&OrOhj`yPGBq;gj`UMW$yGw@ z97^pqUv^!e#pD?N)IUFKNv`rIo|H{S33^t^>wJxTZnx@7t(ud-f8kp80);2S^FN=> z-;=nz`2M{WCpjI?N*+{N<15J`dTRdemp;cOL~~Z$aW3p?EYB-&W0Dd6b$O$iQc0>s zVdLw7ndSV3A(|EkWEz7do=m);p|kejmxC+n&Q1K!u*$c~Q?~eQkU*Z!f$z4NGIIof zhMa2I82rcfczvPU<@1t(S1vQ{TD>DIX~Fi>*M9|f7j9uZ&VFxd0%P|kR`q3;E3YKv zbJPA+tP-uOel zs>8WWeWm>LD*-q7A5IaKt(vud>x?b6{p@yaYgtwL4vXq&s5mXGOO-c#Kl#FyWvm8^ zZ1fYXuXG8lXP*4}b#TYc3r~uy81Joqld7U;#AkSK-2-1qON9c%CRXJf-u>?q5*RQ1 zo;A&YU8V5;>#s|-PAxdGr{2(EO@Ljr*sa~>rRvwOOzc`5zumRtC>MP&g>$@Bhdax_>^$qW$Oyskpo_T`R5 zwUCcJ&+jeCvtX7!{!Ei0PlRW3$ONWs?q{#mZH=9)GDT}%h+M7hs=NYD3A?rhMLRiG zH{E>xYu3UW6N`4nn3u zAOB~#8sK)cNoaROgNN+CEl(7l9=A|uzBM^1V@i^n?)({-uNfZcV)K{$wxlzn_5!!u zvn3KYw_Ai-EV(gBL{z51QEo5)r71#BHhtW_FH7m-0$uGK$NQINEn@hW_E_nJVdJs; z^=oC8inTE{_&rOUbnh!8!+xd4`4a>F-s9h~a<0AJmrIOXJ^2;~Uw##h^JHQ@{^7~| zs>!;&M~x-V-S_!!a!qUXfhQAvxIS+dlKy=_I8Zam;RM&tw^yz%>N&3asdd#7xgz(y z3|hQ*dK%a~Y_*(so^$we)HE)rHR9bJ!=NFP0}B zJX)gO*w;U=*7jwrcMt19`4wMH7^Qg^t2|e>3DG#hGjI7?&n+4csxL=yockuDpTCyD zPqgVz7k8=T%iv0Tg$e1IHo~v8cIe8V-rXGh-dWmZ{hlW!ZymVKIG$hsb>+nJ4a{;4 z^Q+c3MDBIt{3e=ZYN1lg_~rYO1I4*Qa~>-zcXb%K{4Ad2#xA#2!L@ioy_8dANUm+w zg{DIuB0n{{7$>|vS08iL{e`32(y7jG!X$6h#UEd}>UU4qk_l#F%=hPgIW|#JF+RiY z@x6IZl9%6m>zgNG$?(Cgx}oawcLl%S4oB5^McXbIu-Ue{PHanMZ$4n_>vep-<+1pM zd2`A{C8k$@s;VwoD#)vNm@P?KZtmvmvt}3>=-jWUpXl*ndg=5^Kf~?YANz-JL>ABC z+q%fv<>WSxBYKQwPd5H#^*R?ZW$K3qg>npmcgX*w48rV$f^Z@-+a6fk|QzkBunx3>!O;I?d`ZWK6$=< ztCF69=5&3fw47u;F$c$WOF?kO{_x#iz$+-lr7Z@*X1lZ~fk z_sw1TYN^|!0>*zO&s-U%%j;KVPMImFEU#{|+kE2hgM60v?y_H-GL_kOqvMf<|M<@e^Co@#sYrPqNYo#$nZzpP5I6lZwyPJQK9yRRvXTdGS}1)8hu z{8?QXRxaY)ILTwBRLZ^wPpU&wCrs!m@Qt|DJB>L*w%zBlp@W%m)>PY%zPA|e2D9+o zNV{b{->c)fw8yDm-P&2-<>`+n|82Pze=o5w_MFAbV3z04 ztqm{Vf9(;{w9dlT@ylwTX{U^O^0>-#-@o=)a9r|E!;)s%O13o}pWdx;dh7e-N}Z$g z-nuYb&oA$tlayk6C8V8lA28mjn$`R5fzjVL|D4uvh%}u(R$ab=M`wAW!jliR8qb(E z`WU#zq@@4JTq&s_SE-V;X4T^Uy_0M;FFaiqaYAFU%KSL3$*PN1y7xbmN#1Kd`L@KD ze_K;;&emZIDac|=zEBu8L&g2+O4i1MU%uLXSz2He{`8;PzZYLk9-P?dX)Kc?Q&oLQ z?Rk%Yfr{kuB+WaEjLei*25`&h|K7KiS@T#($>UjbXUiKsJ-%P≦w^Ijk%R8ec_q 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�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%0Di% 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