aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/.config/emacs/tools.el.org14
-rw-r--r--common/.flake/home/programs/zsh.nix.org123
-rw-r--r--macos.local/.flake/flake.nix.org1
-rw-r--r--macos.local/.flake/home/programs/core.nix.org1
-rw-r--r--macos.local/.flake/home/programs/ssh.nix.org37
-rw-r--r--macos.local/.flake/system/core.nix.org1
-rw-r--r--macos.local/.flake/system/homebrew.nix.org121
-rw-r--r--macos.local/.ssh/config.org12
8 files changed, 249 insertions, 61 deletions
diff --git a/common/.config/emacs/tools.el.org b/common/.config/emacs/tools.el.org
index a33624e..8c5b001 100644
--- a/common/.config/emacs/tools.el.org
+++ b/common/.config/emacs/tools.el.org
@@ -18,6 +18,20 @@ Install Magit for Git integration.
(setq tramp-default-method "ssh")
#+end_src
+* Fuzzy Finder
+#+begin_src emacs-lisp
+ (use-package fzf
+ :bind
+ ("C-c C-f" . fzf)
+ :config
+ (setq fzf/args "-x --color 16 --print-query --margin=1,0 --no-hscroll"
+ fzf/executable "fzf"
+ fzf/git-grep-args "-i --line-number %s"
+ fzf/grep-command "grep -nrH"
+ fzf/position-bottom nil
+ fzf/window-height 15))
+#+end_src
+
* Document Viewing
Replace =DocView= with a better document viewer from =pdf-tools=.
#+begin_src emacs-lisp
diff --git a/common/.flake/home/programs/zsh.nix.org b/common/.flake/home/programs/zsh.nix.org
index bb23f88..404586c 100644
--- a/common/.flake/home/programs/zsh.nix.org
+++ b/common/.flake/home/programs/zsh.nix.org
@@ -1,7 +1,7 @@
#+title: ZSH Configuration
Open =zsh= configuration.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
+#+begin_src nix
{ config, pkgs, ... }:
{
@@ -10,78 +10,103 @@ Open =zsh= configuration.
#+end_src
Automatically =cd= if only the path is used.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- autocd = true;
+#+begin_src nix
+ autocd = true;
#+end_src
Enable auto-suggestions.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- autosuggestion = {
- enable = true;
- };
+#+begin_src nix
+ autosuggestion = {
+ enable = true;
+ };
#+end_src
Use =vi= keybindings.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- defaultKeymap = "emacs";
+#+begin_src nix
+ defaultKeymap = "emacs";
#+end_src
Append to the history and ignore duplicates.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- history = {
- append = true;
- ignoreAllDups = true;
- };
+#+begin_src nix
+ history = {
+ append = true;
+ ignoreAllDups = true;
+ };
#+end_src
Specify =ls= aliases.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- shellAliases = {
- "ll" = "ls -alF";
- "la" = "ls -a";
- "l" = "ls -F";
- "sl" = "ls";
- };
+#+begin_src nix
+ shellAliases = {
+ "ll" = "ls -alF";
+ "la" = "ls -a";
+ "l" = "ls -F";
+ "sl" = "ls";
+ };
#+end_src
Enable syntax highlighting.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- syntaxHighlighting.enable = true;
+#+begin_src nix
+ syntaxHighlighting.enable = true;
+#+end_src
+
+Load extra code.
+#+begin_src nix
+ initExtra = ''
#+end_src
Create potential aliases and create the prompt.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- initExtra = ''
- which lesspipe.sh &> /dev/null && export LESSOPEN="|lesspipe.sh %s"
- which eza &> /dev/null && alias ls=eza
- parse_git_dirty() {
- git_status="$(git status 2> /dev/null)"
- [[ "$git_status" =~ "use \"git push\" to publish your local commits" ]] && echo -n " %F{green}%f"
- [[ "$git_status" =~ "Changes to be committed:" ]] && echo -n " %F{magenta}%f"
- [[ "$git_status" =~ "Changes not staged for commit:" ]] && echo -n " %F{yellow}%f"
- [[ "$git_status" =~ "Untracked files:" ]] && echo -n " %F{red}%f"
- }
- setopt prompt_subst
- autoload -Uz vcs_info
- precmd () { vcs_info }
- zstyle ':vcs_info:*' formats ' %F{blue}%b%f' # git(main)
- PS1='%(?..%B%F{red}[%?%\]%f%b )%F{green}%20<...<%~%<<%f$vcs_info_msg_0_$(parse_git_dirty) $ '
- '';
+#+begin_src sh
+ which lesspipe.sh &> /dev/null && export LESSOPEN="|lesspipe.sh %s"
+ which eza &> /dev/null && alias ls=eza
+#+end_src
+
+Set up fuzzy finder.
+#+begin_src sh
+ which zsh &> /dev/null && source <(fzf --zsh)
+#+end_src
+
+Create the prompt.
+#+begin_src sh
+ parse_git_dirty() {
+ git_status="$(git status 2> /dev/null)"
+ [[ "$git_status" =~ "use \"git push\" to publish your local commits" ]] && echo -n " %F{green}%f"
+ [[ "$git_status" =~ "Changes to be committed:" ]] && echo -n " %F{magenta}%f"
+ [[ "$git_status" =~ "Changes not staged for commit:" ]] && echo -n " %F{yellow}%f"
+ [[ "$git_status" =~ "Untracked files:" ]] && echo -n " %F{red}%f"
+ }
+ setopt prompt_subst
+ autoload -Uz vcs_info
+ precmd () { vcs_info }
+ zstyle ':vcs_info:*' formats ' %F{blue}%b%f' # git(main)
+ PS1='%(?..%B%F{red}[%?%\]%f%b )%F{green}%20<...<%~%<<%f$vcs_info_msg_0_$(parse_git_dirty) $ '
+#+end_src
+
+#+begin_src nix
+ '';
+#+end_src
+
+Load =.profile= code.
+#+begin_src nix
+ profileExtra = ''
#+end_src
Launch =ssh-agent= at login.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
- profileExtra = ''
- if [ ! -S ~/.ssh/ssh_auth_sock ]; then
- eval `ssh-agent` > /dev/null
- ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
- fi
- export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
- '';
+#+begin_src sh
+ if [ ! -S ~/.ssh/ssh_auth_sock ]; then
+ eval `ssh-agent` > /dev/null
+ ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
+ fi
+ export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
#+end_src
+Close =.profile= code.
+#+begin_src nix
+ '';
+#+end_src
+
+
Close =zsh= configuration.
-#+begin_src nix :tangle ~/.flake/home/programs/zsh.nix :mkdirp yes
+#+begin_src nix
};
}
#+end_src
diff --git a/macos.local/.flake/flake.nix.org b/macos.local/.flake/flake.nix.org
index b971bf6..0607fd8 100644
--- a/macos.local/.flake/flake.nix.org
+++ b/macos.local/.flake/flake.nix.org
@@ -19,6 +19,7 @@
./system/core.nix
home-manager.darwinModules.home-manager
{
+ home-manager.backupFileExtension = "bak";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jjanzen = import ./home/core.nix;
diff --git a/macos.local/.flake/home/programs/core.nix.org b/macos.local/.flake/home/programs/core.nix.org
index a06cd3f..59dd331 100644
--- a/macos.local/.flake/home/programs/core.nix.org
+++ b/macos.local/.flake/home/programs/core.nix.org
@@ -10,6 +10,7 @@
./fastfetch.nix
./git.nix
./neovim.nix
+ ./ssh.nix
./zsh.nix
];
diff --git a/macos.local/.flake/home/programs/ssh.nix.org b/macos.local/.flake/home/programs/ssh.nix.org
new file mode 100644
index 0000000..09eb34f
--- /dev/null
+++ b/macos.local/.flake/home/programs/ssh.nix.org
@@ -0,0 +1,37 @@
+#+title: SSH Configuration
+
+#+begin_src nix
+ { config, pkgs, ... }:
+ {
+ programs.ssh = {
+ enable = true;
+ addKeysToAgent = "yes";
+ matchBlocks = {
+ "*" = {
+ identityFile = "~/.ssh/id_ed25519";
+ extraOptions = {
+ "UseKeychain" = "yes";
+ };
+ };
+ "aviary" = {
+ hostname = "aviary.cs.umanitoba.ca";
+ user = "janzenj2";
+ };
+ "jjanzen.ca" = {
+ setEnv = {
+ "TERM" = "xterm";
+ };
+ };
+ "oracle" = {
+ setEnv = {
+ "TERM" = "xterm";
+ };
+ hostname = "jjanzen.ca";
+ identityFile = "~/.ssh/oracle";
+ identitiesOnly = true;
+ user = "opc";
+ };
+ };
+ };
+ }
+#+end_src
diff --git a/macos.local/.flake/system/core.nix.org b/macos.local/.flake/system/core.nix.org
index 3f942a3..355a7e2 100644
--- a/macos.local/.flake/system/core.nix.org
+++ b/macos.local/.flake/system/core.nix.org
@@ -13,6 +13,7 @@ This file imports various system configuration components in addition to enablin
nixpkgs.config.allowUnfree = true;
imports = [
+ ./homebrew.nix
./skhd.nix
./yabai.nix
];
diff --git a/macos.local/.flake/system/homebrew.nix.org b/macos.local/.flake/system/homebrew.nix.org
new file mode 100644
index 0000000..1dcd5b4
--- /dev/null
+++ b/macos.local/.flake/system/homebrew.nix.org
@@ -0,0 +1,121 @@
+#+title: Homebrew Configuration
+
+#+begin_src nix
+ { config, pkgs, ... }:
+
+ {
+ homebrew = {
+ enable = true;
+ brews = [
+ "aescrypt"
+ "aspell"
+ "avrdude"
+ "bash-language-server"
+ "bear"
+ "biber"
+ "binutils"
+ "bison"
+ "btop"
+ "clang-format"
+ "cmake"
+ "cmake-language-server"
+ "coreutils"
+ "curl"
+ "dos2unix"
+ "dotnet"
+ "eza"
+ "fd"
+ "gnutls"
+ "ffmpeg"
+ "fzf"
+ "gpgme"
+ "go"
+ "grep"
+ "htop"
+ "hunspell"
+ "hyfetch"
+ "imagemagick"
+ "ispell"
+ "jq"
+ "lesspipe"
+ "latexdiff"
+ "llvm@18"
+ "marksman"
+ "meson"
+ "mono"
+ "mpv"
+ "ninja"
+ "nmap"
+ "open-mpi"
+ "open-ocd"
+ "openjdk"
+ "pandoc"
+ "pinentry-mac"
+ "ripgrep"
+ "rsync"
+ "rust"
+ "sevenzip"
+ "shellcheck"
+ "shfmt"
+ "telnet"
+ "texlab"
+ "tree-sitter"
+ "typescript-language-server"
+ "wget"
+ "yt-dlp"
+ {
+ name = "d12frosted/emacs-plus/emacs-plus@29";
+ args = [ "with-imagemagick" ];
+ }
+ "felixkratz/formulae/sketchybar"
+ "osx-cross/avr/avr-binutils"
+ "osx-cross/avr/avarice"
+ "osx-cross/avr/avr-gcc@14"
+ ];
+ caskArgs.no_quarantine = true;
+ casks = [
+ "alacritty"
+ "audacity"
+ "blender"
+ "cabal"
+ "calibre"
+ "desmume"
+ "gcc-arm-embedded"
+ "gimp"
+ "godot"
+ "inkscape"
+ "krita"
+ "mactex"
+ "multimc"
+ "obs"
+ "openemu"
+ "pokemon-showdown"
+ "protonmail-bridge"
+ "protonvpn"
+ "qbittorrent"
+ "rar"
+ "syncthing"
+ "thunderbird"
+ "vlc"
+ "whisky"
+ "zen-browser"
+ "zotero"
+ ];
+ global.autoUpdate = false;
+ onActivation = {
+ autoUpdate = false;
+ cleanup = "zap";
+ upgrade = true;
+ };
+ taps = [
+ "d12frosted/emacs-plus"
+ "felixkratz/formulae"
+ "homebrew/bundle"
+ "homebrew/cask-fonts"
+ "homebrew/cask-versions"
+ "homebrew/services"
+ "osx-cross/avr"
+ ];
+ };
+ }
+#+end_src
diff --git a/macos.local/.ssh/config.org b/macos.local/.ssh/config.org
deleted file mode 100644
index e78c4fb..0000000
--- a/macos.local/.ssh/config.org
+++ /dev/null
@@ -1,12 +0,0 @@
-#+title: SSH Configuration
-Keys should be added to the SSH agent.
-#+begin_src conf :tangle ~/.ssh/config :mkdirp yes
- Host *
- UseKeychain yes
- AddKeysToAgent yes
- IdentityFile ~/.ssh/id_ed25519
-
- Host aviary
- HostName aviary.cs.umanitoba.ca
- User janzenj2
-#+end_src