🧹 major cleanup. re-thinking this setup

This commit is contained in:
James Walker 2021-09-28 21:37:26 -04:00
parent 2c63f63de7
commit 8cd3ca08d1
Signed by: walkah
GPG Key ID: 3C127179D6086E93
25 changed files with 17 additions and 506 deletions

View File

@ -1,6 +0,0 @@
bundler
cocoapods
jekyll
homesick
rails
rubocop

View File

@ -1,2 +0,0 @@
expo-cli
yarn

View File

@ -1,6 +0,0 @@
flake8
pipenv
pylint
pytest
pytest-cache
wakatime

View File

@ -1 +0,0 @@
gem: --no-ri --no-rdoc

View File

@ -1,18 +0,0 @@
[storage]
engine = file_system
path = Sync
directory = Config
[applications_to_sync]
asdf
aws
emacs-org
exercism
myrepos
ngrok
npm
ssh
[applications_to_ignore]
gnupg

View File

@ -1,6 +0,0 @@
[application]
name = asdf
[configuration_files]
.asdfrc
.tool-versions

View File

@ -1,5 +0,0 @@
[application]
name = emacs-org
[configuration_files]
.org

View File

@ -1,5 +0,0 @@
[application]
name = Exercism
[configuration_files]
.config/exercism/user.json

View File

@ -1,3 +0,0 @@
\x auto
\pset null 'NULL'

View File

@ -1 +0,0 @@
--database=postgresql

View File

@ -1,15 +0,0 @@
# walkah's screenrc
#
# $Id: .screenrc,v 1.8 2007-03-30 02:31:27 walkah Exp $
# no startup message
startup_message off
# i like the caption at the bottom, so i know what screen i'm on
caption always "%w %-= %m/%d/%y %C%a"
# i use ctrl-a waay too much in emacs/readline remap to ctrl-o
escape ^Oo
hardstatus off
hardstatus string "%H:%t [%n]"

View File

@ -1,4 +0,0 @@
environment*
id_dsa
known_hosts
*.pem

View File

@ -1,13 +0,0 @@
---
database_file: <%= File.expand_path("~/.timetrap/timetrap.db") %>
round_in_seconds: 900
append_notes_delimiter: ", "
formatter_search_paths:
- <%= File.expand_path("~/.timetrap/formatters") %>
default_formatter: text
auto_sheet: dotfiles
auto_sheet_search_paths:
- <%= File.expand_path("~/.timetrap/auto_sheets") %>
default_command:
auto_checkout: false
require_note: false

View File

@ -1,284 +0,0 @@
#compdef _gh gh
function _gh {
local -a commands
_arguments -C \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:' \
'--version[Show gh version]' \
"1: :->cmnds" \
"*::arg:->args"
case $state in
cmnds)
commands=(
"completion:Generate shell completion scripts"
"help:Help about any command"
"issue:Create and view issues"
"pr:Create, view, and checkout pull requests"
"repo:Create, clone, fork, and view repositories"
)
_describe "command" commands
;;
esac
case "$words[1]" in
completion)
_gh_completion
;;
help)
_gh_help
;;
issue)
_gh_issue
;;
pr)
_gh_pr
;;
repo)
_gh_repo
;;
esac
}
function _gh_completion {
_arguments \
'(-s --shell)'{-s,--shell}'[Shell type: {bash|zsh|fish|powershell}]:' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_help {
_arguments \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_issue {
local -a commands
_arguments -C \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:' \
"1: :->cmnds" \
"*::arg:->args"
case $state in
cmnds)
commands=(
"create:Create a new issue"
"list:List and filter issues in this repository"
"status:Show status of relevant issues"
"view:View an issue"
)
_describe "command" commands
;;
esac
case "$words[1]" in
create)
_gh_issue_create
;;
list)
_gh_issue_list
;;
status)
_gh_issue_status
;;
view)
_gh_issue_view
;;
esac
}
function _gh_issue_create {
_arguments \
'(-b --body)'{-b,--body}'[Supply a body. Will prompt for one otherwise.]:' \
'(-t --title)'{-t,--title}'[Supply a title. Will prompt for one otherwise.]:' \
'(-w --web)'{-w,--web}'[Open the browser to create an issue]' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_issue_list {
_arguments \
'(-a --assignee)'{-a,--assignee}'[Filter by assignee]:' \
'(-A --author)'{-A,--author}'[Filter by author]:' \
'(*-l *--label)'{\*-l,\*--label}'[Filter by label]:' \
'(-L --limit)'{-L,--limit}'[Maximum number of issues to fetch]:' \
'(-s --state)'{-s,--state}'[Filter by state: {open|closed|all}]:' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_issue_status {
_arguments \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_issue_view {
_arguments \
'(-w --web)'{-w,--web}'[Open issue in browser]' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_pr {
local -a commands
_arguments -C \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:' \
"1: :->cmnds" \
"*::arg:->args"
case $state in
cmnds)
commands=(
"checkout:Check out a pull request in Git"
"create:Create a pull request"
"list:List and filter pull requests in this repository"
"status:Show status of relevant pull requests"
"view:View a pull request in the browser"
)
_describe "command" commands
;;
esac
case "$words[1]" in
checkout)
_gh_pr_checkout
;;
create)
_gh_pr_create
;;
list)
_gh_pr_list
;;
status)
_gh_pr_status
;;
view)
_gh_pr_view
;;
esac
}
function _gh_pr_checkout {
_arguments \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_pr_create {
_arguments \
'(-B --base)'{-B,--base}'[The branch into which you want your code merged]:' \
'(-b --body)'{-b,--body}'[Supply a body. Will prompt for one otherwise.]:' \
'(-d --draft)'{-d,--draft}'[Mark pull request as a draft]' \
'(-f --fill)'{-f,--fill}'[Do not prompt for title/body and just use commit info]' \
'(-t --title)'{-t,--title}'[Supply a title. Will prompt for one otherwise.]:' \
'(-w --web)'{-w,--web}'[Open the web browser to create a pull request]' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_pr_list {
_arguments \
'(-a --assignee)'{-a,--assignee}'[Filter by assignee]:' \
'(-B --base)'{-B,--base}'[Filter by base branch]:' \
'(*-l *--label)'{\*-l,\*--label}'[Filter by label]:' \
'(-L --limit)'{-L,--limit}'[Maximum number of items to fetch]:' \
'(-s --state)'{-s,--state}'[Filter by state: {open|closed|merged|all}]:' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_pr_status {
_arguments \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_pr_view {
_arguments \
'(-w --web)'{-w,--web}'[Open pull request in browser]' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_repo {
local -a commands
_arguments -C \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:' \
"1: :->cmnds" \
"*::arg:->args"
case $state in
cmnds)
commands=(
"clone:Clone a repository locally"
"create:Create a new repository"
"fork:Create a fork of a repository"
"view:View a repository in the browser"
)
_describe "command" commands
;;
esac
case "$words[1]" in
clone)
_gh_repo_clone
;;
create)
_gh_repo_create
;;
fork)
_gh_repo_fork
;;
view)
_gh_repo_view
;;
esac
}
function _gh_repo_clone {
_arguments \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_repo_create {
_arguments \
'(-d --description)'{-d,--description}'[Description of repository]:' \
'--enable-issues[Enable issues in the new repository]' \
'--enable-wiki[Enable wiki in the new repository]' \
'(-h --homepage)'{-h,--homepage}'[Repository home page URL]:' \
'--public[Make the new repository public]' \
'(-t --team)'{-t,--team}'[The name of the organization team to be granted access]:' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_repo_fork {
_arguments \
'--clone[Clone fork: {true|false|prompt}]' \
'--remote[Add remote for fork: {true|false|prompt}]' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}
function _gh_repo_view {
_arguments \
'(-w --web)'{-w,--web}'[Open repository in browser]' \
'--help[Show help for command]' \
'(-R --repo)'{-R,--repo}'[Select another repository using the `OWNER/REPO` format]:'
}

View File

@ -1 +0,0 @@
# oh-my-zsh complains without a .zsh file in here

View File

@ -1,18 +0,0 @@
# walkah ZSH Theme
if [ -z $SSH_CONNECTION ]; then HCOLOR="green"; else HCOLOR="blue"; fi
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
function asdf_prompt() {
echo $(asdf current $1|awk '{print $2}')
}
PROMPT='%{$fg[$HCOLOR]%}%m%{$reset_color%}:$(shrink_path -f) $(git_prompt_info)%{$fg[red]%}%(!.#.»)%{$reset_color%} '
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
if (( $+commands[asdf] )); then
RPS1='%{$fg[cyan]%}(%{$fg[red]%}$(asdf_prompt ruby) %{$fg[green]%}$(asdf_prompt nodejs) %{$fg[blue]%}$(asdf_prompt python)%{$fg[cyan]%}) %{$reset_color%}${return_code}'
fi
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}±%{$fg[yellow]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}✗%{$reset_color%}"

View File

@ -44,9 +44,7 @@
"iterm2"
"keybase"
"logitech-options"
"microsoft-auto-update"
"microsoft-edge"
"microsoft-office"
"minecraft"
"obsidian"
"plexamp"
@ -70,6 +68,7 @@
Magnet = 441258766;
Parcel = 639968404;
Reeder = 1529448980;
Tailscale = 1475387142;
Todoist = 585829637;
UlyssesMac = 1225570693;
Xcode = 497799835;

View File

@ -1,14 +1,4 @@
{ config, pkgs, ... }: {
imports = [
./modules/elixir.nix
./modules/golang.nix
./modules/haskell.nix
./modules/nodejs.nix
./modules/python.nix
./modules/ruby.nix
./modules/rust.nix
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
@ -17,27 +7,21 @@
# home.username = builtins.getEnv "USER";
# home.homeDirectory = builtins.getEnv "HOME";
home.sessionPath = [ "$HOME/.local/bin" "$HOME/.emacs.d/bin" ];
home.sessionPath =
[ "$HOME/.local/bin" "$HOME/.emacs.d/bin" "$HOME/.cargo/bin" ];
home.packages = with pkgs; [
aws
cmake
direnv
docker
docker-compose
exercism
fd
git
gitAndTools.gh
google-cloud-sdk
heroku
htop
jq
mr
niv
nixfmt
pinentry
ripgrep
sqlite
wakatime
];
@ -54,6 +38,10 @@
recursive = true;
};
home.file.".ghci".text = ''
:set prompt "λ> "
'';
programs = {
zsh = {
enable = true;
@ -62,17 +50,22 @@
oh-my-zsh = {
enable = true;
plugins = [
"asdf"
"bundler"
"direnv"
"docker"
"docker-compose"
"gcloud"
"git"
"golang"
"mix"
"rails"
"ssh-agent"
"tmux"
];
};
sessionVariables = { EDITOR = "vim"; };
sessionVariables = {
EDITOR = "vim";
GOPATH = "$HOME/.go";
};
};
dircolors = {
enable = true;
@ -145,27 +138,13 @@
emacs = {
enable = true;
package = if (pkgs.stdenv.isLinux) then pkgs.emacs else pkgs.emacsMacport;
package = pkgs.emacs-nox;
extraPackages = epkgs: [ epkgs.vterm ];
};
vim = { enable = true; };
};
services = if (pkgs.stdenv.isLinux) then {
lorri.enable = true;
syncthing.enable = true;
gpg-agent = {
enable = true;
enableSshSupport = true;
extraConfig = ''
allow-emacs-pinentry
allow-loopback-pinentry
'';
};
} else
{ };
# 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

View File

@ -1,7 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ elixir elixir_ls ];
programs.zsh.oh-my-zsh.plugins = [ "mix" ];
}

View File

@ -1,22 +0,0 @@
{ pkgs, ... }:
{
home.sessionPath = [ "$HOME/.go/bin" ];
home.packages = with pkgs; [
go
gocode
golangci-lint
gomodifytags
gopls
gotests
gore
];
programs = {
zsh = {
oh-my-zsh = { plugins = [ "golang" ]; };
sessionVariables = { GOPATH = "$HOME/.go"; };
};
};
}

View File

@ -1,15 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [
ghc
stack
stylish-haskell
haskellPackages.ghcide
haskellPackages.hoogle
];
home.file.".ghci".text = ''
:set prompt "λ> "
'';
}

View File

@ -1,10 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [
nodejs
nodePackages.js-beautify
nodePackages.prettier
yarn
];
}

View File

@ -1,12 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
pipenv
python3
python38Packages.black
python38Packages.isort
python38Packages.pyflakes
python38Packages.pytest
];
}

View File

@ -1,7 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ ruby_2_7 solargraph ];
programs.zsh.oh-my-zsh.plugins = [ "bundler" "rails" ];
}

View File

@ -1,6 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.sessionPath = [ "$HOME/.cargo/bin" ];
home.packages = with pkgs; [ cargo rustc rust-analyzer ];
}